summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--.editorconfig7
-rw-r--r--.github/CODEOWNERS11
-rw-r--r--.github/labeler.yml4
-rw-r--r--.github/workflows/update-terraform-providers.yml2
-rw-r--r--README.md4
-rw-r--r--doc/contributing/reviewing-contributions.chapter.md3
-rw-r--r--doc/contributing/submitting-changes.chapter.md2
-rw-r--r--doc/languages-frameworks/python.section.md25
-rw-r--r--doc/languages-frameworks/rust.section.md2
-rw-r--r--doc/languages-frameworks/vim.section.md8
-rw-r--r--doc/stdenv/stdenv.chapter.md20
-rw-r--r--lib/attrsets.nix2
-rw-r--r--lib/licenses.nix15
-rw-r--r--lib/modules.nix2
-rwxr-xr-xlib/tests/modules.sh15
-rw-r--r--lib/tests/modules/emptyValues.nix36
-rw-r--r--lib/tests/modules/raw.nix30
-rw-r--r--lib/types.nix11
-rw-r--r--maintainers/maintainer-list.nix239
-rw-r--r--maintainers/scripts/pluginupdate.py116
-rwxr-xr-xmaintainers/scripts/remove-old-aliases.py202
-rwxr-xr-xmaintainers/scripts/update.nix2
-rw-r--r--maintainers/scripts/update.py4
-rw-r--r--maintainers/team-list.nix10
-rw-r--r--nixos/doc/manual/development/activation-script.section.md72
-rw-r--r--nixos/doc/manual/development/development.xml1
-rw-r--r--nixos/doc/manual/development/option-types.section.md11
-rw-r--r--nixos/doc/manual/development/running-nixos-tests.section.md4
-rw-r--r--nixos/doc/manual/development/unit-handling.section.md57
-rw-r--r--nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md53
-rw-r--r--nixos/doc/manual/from_md/development/activation-script.section.xml150
-rw-r--r--nixos/doc/manual/from_md/development/option-types.section.xml19
-rw-r--r--nixos/doc/manual/from_md/development/running-nixos-tests.section.xml4
-rw-r--r--nixos/doc/manual/from_md/development/unit-handling.section.xml119
-rw-r--r--nixos/doc/manual/from_md/development/what-happens-during-a-system-switch.chapter.xml122
-rw-r--r--nixos/doc/manual/from_md/installation/installing-pxe.section.xml4
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2111.section.xml33
-rw-r--r--nixos/doc/manual/from_md/release-notes/rl-2205.section.xml273
-rw-r--r--nixos/doc/manual/installation/installing-pxe.section.md4
-rw-r--r--nixos/doc/manual/release-notes/release-notes.xml1
-rw-r--r--nixos/doc/manual/release-notes/rl-2111.section.md13
-rw-r--r--nixos/doc/manual/release-notes/rl-2205.section.md79
-rw-r--r--nixos/lib/qemu-common.nix2
-rw-r--r--nixos/lib/systemd-unit-options.nix16
-rw-r--r--nixos/lib/test-driver/test_driver/machine.py9
-rw-r--r--nixos/modules/hardware/network/b43.nix4
-rw-r--r--nixos/modules/hardware/video/capture/mwprocapture.nix5
-rw-r--r--nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix4
-rw-r--r--nixos/modules/installer/sd-card/sd-image-aarch64.nix6
-rw-r--r--nixos/modules/installer/tools/nixos-build-vms/build-vms.nix3
-rw-r--r--nixos/modules/installer/tools/nixos-generate-config.pl13
-rw-r--r--nixos/modules/installer/tools/tools.nix12
-rw-r--r--nixos/modules/misc/documentation.nix2
-rw-r--r--nixos/modules/misc/ids.nix2
-rw-r--r--nixos/modules/misc/wordlist.nix59
-rw-r--r--nixos/modules/module-list.nix14
-rw-r--r--nixos/modules/programs/calls.nix2
-rw-r--r--nixos/modules/programs/command-not-found/command-not-found.pl40
-rw-r--r--nixos/modules/programs/k40-whisperer.nix40
-rw-r--r--nixos/modules/programs/phosh.nix19
-rw-r--r--nixos/modules/rename.nix3
-rw-r--r--nixos/modules/security/wrappers/default.nix1
-rw-r--r--nixos/modules/services/audio/jmusicbot.nix9
-rw-r--r--nixos/modules/services/audio/snapserver.nix26
-rw-r--r--nixos/modules/services/backup/mysql-backup.nix3
-rw-r--r--nixos/modules/services/cluster/kubernetes/pki.nix2
-rw-r--r--nixos/modules/services/cluster/kubernetes/scheduler.nix4
-rw-r--r--nixos/modules/services/databases/virtuoso.nix99
-rw-r--r--nixos/modules/services/desktops/pipewire/pipewire-media-session.nix5
-rw-r--r--nixos/modules/services/desktops/pipewire/wireplumber.nix11
-rw-r--r--nixos/modules/services/hardware/udev.nix3
-rw-r--r--nixos/modules/services/hardware/undervolt.nix4
-rw-r--r--nixos/modules/services/home-automation/home-assistant.nix (renamed from nixos/modules/services/misc/home-assistant.nix)354
-rw-r--r--nixos/modules/services/logging/logrotate.nix35
-rw-r--r--nixos/modules/services/mail/postfixadmin.nix2
-rw-r--r--nixos/modules/services/mail/roundcube.nix2
-rw-r--r--nixos/modules/services/matrix/mjolnir.xml4
-rw-r--r--nixos/modules/services/misc/airsonic.nix8
-rw-r--r--nixos/modules/services/misc/autorandr.nix1
-rw-r--r--nixos/modules/services/misc/gitlab.nix21
-rw-r--r--nixos/modules/services/misc/input-remapper.nix29
-rw-r--r--nixos/modules/services/misc/mbpfan.nix22
-rw-r--r--nixos/modules/services/misc/mediatomb.nix1
-rw-r--r--nixos/modules/services/misc/nix-daemon.nix4
-rw-r--r--nixos/modules/services/misc/packagekit.nix6
-rw-r--r--nixos/modules/services/misc/paperless-ng.nix22
-rw-r--r--nixos/modules/services/misc/plex.nix31
-rw-r--r--nixos/modules/services/misc/rmfakecloud.nix147
-rw-r--r--nixos/modules/services/misc/sourcehut/git.nix2
-rw-r--r--nixos/modules/services/misc/taskserver/default.nix11
-rw-r--r--nixos/modules/services/misc/taskserver/doc.xml2
-rw-r--r--nixos/modules/services/misc/zoneminder.nix4
-rw-r--r--nixos/modules/services/network-filesystems/ceph.nix4
-rw-r--r--nixos/modules/services/network-filesystems/ipfs.nix2
-rw-r--r--nixos/modules/services/network-filesystems/moosefs.nix249
-rw-r--r--nixos/modules/services/network-filesystems/rsyncd.nix2
-rw-r--r--nixos/modules/services/networking/bird.nix188
-rw-r--r--nixos/modules/services/networking/blocky.nix40
-rw-r--r--nixos/modules/services/networking/eternal-terminal.nix2
-rw-r--r--nixos/modules/services/networking/firewall.nix8
-rw-r--r--nixos/modules/services/networking/gogoclient.nix87
-rw-r--r--nixos/modules/services/networking/hylafax/options.nix16
-rw-r--r--nixos/modules/services/networking/multipath.nix15
-rw-r--r--nixos/modules/services/networking/networkmanager.nix17
-rw-r--r--nixos/modules/services/networking/ntopng.nix63
-rw-r--r--nixos/modules/services/networking/squid.nix10
-rw-r--r--nixos/modules/services/networking/tetrd.nix2
-rw-r--r--nixos/modules/services/networking/wg-netmanager.nix42
-rw-r--r--nixos/modules/services/security/cfssl.nix95
-rw-r--r--nixos/modules/services/security/haveged.nix68
-rw-r--r--nixos/modules/services/security/step-ca.nix15
-rw-r--r--nixos/modules/services/security/vaultwarden/default.nix4
-rw-r--r--nixos/modules/services/system/cloud-init.nix2
-rw-r--r--nixos/modules/services/web-apps/dokuwiki.nix2
-rw-r--r--nixos/modules/services/web-apps/jirafeau.nix2
-rw-r--r--nixos/modules/services/web-apps/mastodon.nix1
-rw-r--r--nixos/modules/services/web-apps/matomo.nix1
-rw-r--r--nixos/modules/services/web-apps/miniflux.nix46
-rw-r--r--nixos/modules/services/web-apps/peertube.nix12
-rw-r--r--nixos/modules/services/web-apps/restya-board.nix2
-rw-r--r--nixos/modules/services/web-apps/rss-bridge.nix2
-rw-r--r--nixos/modules/services/web-servers/agate.nix148
-rw-r--r--nixos/modules/services/web-servers/nginx/default.nix12
-rw-r--r--nixos/modules/services/web-servers/nginx/gitweb.nix2
-rw-r--r--nixos/modules/services/web-servers/shellinabox.nix122
-rw-r--r--nixos/modules/services/x11/desktop-managers/default.nix2
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.nix9
-rw-r--r--nixos/modules/services/x11/desktop-managers/pantheon.xml4
-rw-r--r--nixos/modules/services/x11/desktop-managers/retroarch.nix40
-rw-r--r--nixos/modules/system/activation/switch-to-configuration.pl203
-rw-r--r--nixos/modules/system/activation/top-level.nix2
-rw-r--r--nixos/modules/system/boot/modprobe.nix2
-rw-r--r--nixos/modules/system/boot/stage-1.nix3
-rw-r--r--nixos/modules/system/boot/systemd-nspawn.nix8
-rw-r--r--nixos/modules/system/boot/systemd.nix22
-rw-r--r--nixos/modules/system/boot/tmp.nix7
-rw-r--r--nixos/modules/tasks/network-interfaces.nix11
-rw-r--r--nixos/modules/virtualisation/amazon-image.nix2
-rw-r--r--nixos/modules/virtualisation/containerd.nix1
-rw-r--r--nixos/modules/virtualisation/openstack-metadata-fetcher.nix3
-rw-r--r--nixos/modules/virtualisation/proxmox-lxc.nix64
-rw-r--r--nixos/tests/all-tests.nix8
-rw-r--r--nixos/tests/bird.nix131
-rw-r--r--nixos/tests/blocky.nix34
-rw-r--r--nixos/tests/bpf.nix6
-rw-r--r--nixos/tests/doh-proxy-rust.nix2
-rw-r--r--nixos/tests/gitolite-fcgiwrap.nix2
-rw-r--r--nixos/tests/home-assistant.nix102
-rw-r--r--nixos/tests/kubernetes/base.nix4
-rw-r--r--nixos/tests/kubernetes/rbac.nix4
-rw-r--r--nixos/tests/logrotate.nix35
-rw-r--r--nixos/tests/miniflux.nix24
-rw-r--r--nixos/tests/moosefs.nix89
-rw-r--r--nixos/tests/nano.nix44
-rw-r--r--nixos/tests/networking.nix12
-rw-r--r--nixos/tests/nginx-modsecurity.nix39
-rw-r--r--nixos/tests/php/fpm.nix2
-rw-r--r--nixos/tests/podman/default.nix2
-rw-r--r--nixos/tests/podman/tls-ghostunnel.nix2
-rw-r--r--nixos/tests/prometheus-exporters.nix2
-rw-r--r--nixos/tests/retroarch.nix49
-rw-r--r--nixos/tests/sourcehut.nix19
-rw-r--r--nixos/tests/switch-test.nix283
-rw-r--r--nixos/tests/systemd-machinectl.nix85
-rw-r--r--nixos/tests/web-servers/agate.nix29
-rw-r--r--nixos/tests/wine.nix2
-rw-r--r--pkgs/applications/accessibility/contrast/default.nix28
-rw-r--r--pkgs/applications/audio/audacity/default.nix4
-rw-r--r--pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix4
-rw-r--r--pkgs/applications/audio/callaudiod/default.nix6
-rw-r--r--pkgs/applications/audio/easyeffects/default.nix18
-rw-r--r--pkgs/applications/audio/freac/default.nix4
-rw-r--r--pkgs/applications/audio/geonkick/default.nix4
-rw-r--r--pkgs/applications/audio/goattracker/default.nix5
-rw-r--r--pkgs/applications/audio/helvum/default.nix25
-rw-r--r--pkgs/applications/audio/indicator-sound-switcher/default.nix4
-rw-r--r--pkgs/applications/audio/jamesdsp/default.nix60
-rw-r--r--pkgs/applications/audio/jamulus/default.nix4
-rw-r--r--pkgs/applications/audio/japa/default.nix4
-rw-r--r--pkgs/applications/audio/jmusicbot/default.nix2
-rw-r--r--pkgs/applications/audio/kid3/default.nix4
-rw-r--r--pkgs/applications/audio/lyrebird/default.nix2
-rw-r--r--pkgs/applications/audio/mixxx/default.nix6
-rw-r--r--pkgs/applications/audio/netease-cloud-music-gtk/default.nix1
-rw-r--r--pkgs/applications/audio/new-session-manager/default.nix6
-rw-r--r--pkgs/applications/audio/ocenaudio/default.nix4
-rw-r--r--pkgs/applications/audio/orca-c/default.nix3
-rw-r--r--pkgs/applications/audio/plexamp/default.nix6
-rw-r--r--pkgs/applications/audio/praat/default.nix4
-rw-r--r--pkgs/applications/audio/ptcollab/default.nix4
-rw-r--r--pkgs/applications/audio/pyradio/default.nix4
-rw-r--r--pkgs/applications/audio/r128gain/default.nix10
-rw-r--r--pkgs/applications/audio/reaper/default.nix6
-rw-r--r--pkgs/applications/audio/redux/default.nix49
-rw-r--r--pkgs/applications/audio/roomeqwizard/default.nix2
-rw-r--r--pkgs/applications/audio/snd/default.nix4
-rw-r--r--pkgs/applications/audio/sony-headphones-client/default.nix2
-rw-r--r--pkgs/applications/audio/sptlrx/default.nix24
-rw-r--r--pkgs/applications/audio/strawberry/default.nix4
-rw-r--r--pkgs/applications/audio/sunvox/default.nix4
-rw-r--r--pkgs/applications/audio/tauon/default.nix4
-rw-r--r--pkgs/applications/audio/termusic/default.nix28
-rw-r--r--pkgs/applications/audio/vgmstream/default.nix33
-rwxr-xr-xpkgs/applications/audio/vgmstream/update.sh77
-rw-r--r--pkgs/applications/backup/deja-dup/default.nix20
-rw-r--r--pkgs/applications/backup/deja-dup/fix-paths.patch6
-rw-r--r--pkgs/applications/blockchains/aeon/default.nix4
-rw-r--r--pkgs/applications/blockchains/besu/default.nix29
-rw-r--r--pkgs/applications/blockchains/bisq-desktop/default.nix2
-rw-r--r--pkgs/applications/blockchains/btcpayserver/default.nix4
-rw-r--r--pkgs/applications/blockchains/btcpayserver/deps.nix47
-rw-r--r--pkgs/applications/blockchains/crypto-org-wallet/default.nix2
-rw-r--r--pkgs/applications/blockchains/ergo/default.nix4
-rw-r--r--pkgs/applications/blockchains/erigon.nix6
-rw-r--r--pkgs/applications/blockchains/exodus/default.nix4
-rw-r--r--pkgs/applications/blockchains/go-ethereum/default.nix6
-rw-r--r--pkgs/applications/blockchains/ledger-live-desktop/default.nix4
-rw-r--r--pkgs/applications/blockchains/lightning-loop/default.nix6
-rw-r--r--pkgs/applications/blockchains/lightwalletd/default.nix4
-rw-r--r--pkgs/applications/blockchains/monero-gui/default.nix2
-rw-r--r--pkgs/applications/blockchains/mycrypto/default.nix2
-rw-r--r--pkgs/applications/blockchains/namecoin/default.nix4
-rwxr-xr-xpkgs/applications/blockchains/nbxplorer/util/update-common.sh2
-rw-r--r--pkgs/applications/blockchains/pivx/default.nix2
-rw-r--r--pkgs/applications/blockchains/polkadot/default.nix35
-rw-r--r--pkgs/applications/blockchains/snarkos/default.nix8
-rw-r--r--pkgs/applications/blockchains/wasabiwallet/default.nix2
-rw-r--r--pkgs/applications/blockchains/whirlpool-gui/default.nix104
-rw-r--r--pkgs/applications/editors/android-studio/common.nix6
-rw-r--r--pkgs/applications/editors/android-studio/default.nix4
-rw-r--r--pkgs/applications/editors/bonzomatic/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/default.nix4
-rw-r--r--pkgs/applications/editors/cudatext/deps.json20
-rwxr-xr-xpkgs/applications/editors/cudatext/update.sh2
-rw-r--r--pkgs/applications/editors/eclipse/build-eclipse.nix2
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix144
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix101
-rw-r--r--pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json3973
-rw-r--r--pkgs/applications/editors/emacs/generic.nix4
-rw-r--r--pkgs/applications/editors/heme/default.nix29
-rw-r--r--pkgs/applications/editors/jetbrains/common.nix12
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-php.nix10
-rw-r--r--pkgs/applications/editors/kdevelop5/kdev-python.nix10
-rw-r--r--pkgs/applications/editors/kodestudio/default.nix2
-rw-r--r--pkgs/applications/editors/leo-editor/default.nix8
-rw-r--r--pkgs/applications/editors/lite-xl/default.nix4
-rw-r--r--pkgs/applications/editors/moe/default.nix4
-rw-r--r--pkgs/applications/editors/nano/default.nix10
-rw-r--r--pkgs/applications/editors/nano/test-with-expect.nix35
-rw-r--r--pkgs/applications/editors/netbeans/default.nix2
-rw-r--r--pkgs/applications/editors/nvi/default.nix1
-rw-r--r--pkgs/applications/editors/poke/default.nix4
-rw-r--r--pkgs/applications/editors/quartus-prime/default.nix3
-rw-r--r--pkgs/applications/editors/rednotebook/default.nix7
-rw-r--r--pkgs/applications/editors/retext/default.nix53
-rw-r--r--pkgs/applications/editors/rstudio/default.nix9
-rw-r--r--pkgs/applications/editors/setzer/default.nix4
-rw-r--r--pkgs/applications/editors/sigil/default.nix4
-rw-r--r--pkgs/applications/editors/standardnotes/default.nix6
-rw-r--r--pkgs/applications/editors/sublime/2/default.nix2
-rw-r--r--pkgs/applications/editors/texstudio/default.nix4
-rw-r--r--pkgs/applications/editors/thonny/default.nix2
-rw-r--r--pkgs/applications/editors/tiled/default.nix4
-rw-r--r--pkgs/applications/editors/vim/common.nix4
-rw-r--r--pkgs/applications/editors/vim/plugins/aliases.nix (renamed from pkgs/misc/vim-plugins/aliases.nix)0
-rw-r--r--pkgs/applications/editors/vim/plugins/build-vim-plugin.nix (renamed from pkgs/misc/vim-plugins/build-vim-plugin.nix)0
-rw-r--r--pkgs/applications/editors/vim/plugins/default.nix (renamed from pkgs/misc/vim-plugins/default.nix)0
-rw-r--r--pkgs/applications/editors/vim/plugins/deprecated.json (renamed from pkgs/misc/vim-plugins/deprecated.json)0
-rw-r--r--pkgs/applications/editors/vim/plugins/generated.nix (renamed from pkgs/misc/vim-plugins/generated.nix)1290
-rw-r--r--pkgs/applications/editors/vim/plugins/markdown-preview-nvim/fix-node-paths.patch (renamed from pkgs/misc/vim-plugins/markdown-preview-nvim/fix-node-paths.patch)0
-rw-r--r--pkgs/applications/editors/vim/plugins/markdown-preview-nvim/package.json (renamed from pkgs/misc/vim-plugins/markdown-preview-nvim/package.json)0
-rw-r--r--pkgs/applications/editors/vim/plugins/overrides.nix (renamed from pkgs/misc/vim-plugins/overrides.nix)9
-rw-r--r--pkgs/applications/editors/vim/plugins/patches/fruzzy/get_version.patch (renamed from pkgs/misc/vim-plugins/patches/fruzzy/get_version.patch)0
-rw-r--r--pkgs/applications/editors/vim/plugins/patches/lens-vim/remove_duplicate_g_lens_animate.patch (renamed from pkgs/misc/vim-plugins/patches/lens-vim/remove_duplicate_g_lens_animate.patch)0
-rw-r--r--pkgs/applications/editors/vim/plugins/patches/sniprun/fix-paths.patch (renamed from pkgs/misc/vim-plugins/patches/sniprun/fix-paths.patch)0
-rw-r--r--pkgs/applications/editors/vim/plugins/patches/vim-grammarous/set_default_languagetool.patch (renamed from pkgs/misc/vim-plugins/patches/vim-grammarous/set_default_languagetool.patch)0
-rw-r--r--pkgs/applications/editors/vim/plugins/readme.md (renamed from pkgs/misc/vim-plugins/readme.md)0
-rw-r--r--pkgs/applications/editors/vim/plugins/update-shell.nix (renamed from pkgs/misc/vim-plugins/update-shell.nix)3
-rwxr-xr-xpkgs/applications/editors/vim/plugins/update.py (renamed from pkgs/misc/vim-plugins/update.py)8
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-gen-doc-hook.sh (renamed from pkgs/misc/vim-plugins/vim-gen-doc-hook.sh)0
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-plugin-names (renamed from pkgs/misc/vim-plugins/vim-plugin-names)21
-rw-r--r--pkgs/applications/editors/vim/plugins/vim-utils.nix (renamed from pkgs/misc/vim-plugins/vim-utils.nix)3
-rw-r--r--pkgs/applications/editors/vim/plugins/vim2nix/README.txt (renamed from pkgs/misc/vim-plugins/vim2nix/README.txt)0
-rw-r--r--pkgs/applications/editors/vim/plugins/vim2nix/addon-info.json (renamed from pkgs/misc/vim-plugins/vim2nix/addon-info.json)0
-rw-r--r--pkgs/applications/editors/vim/plugins/vim2nix/autoload/nix.vim (renamed from pkgs/misc/vim-plugins/vim2nix/autoload/nix.vim)0
-rw-r--r--pkgs/applications/editors/vis/default.nix12
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/_maintainers/update-bin-srcs-lib.sh (renamed from pkgs/misc/vscode-extensions/_maintainers/update-bin-srcs-lib.sh)8
-rw-r--r--pkgs/applications/editors/vscode/extensions/cpptools/default.nix (renamed from pkgs/misc/vscode-extensions/cpptools/default.nix)0
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh (renamed from pkgs/misc/vscode-extensions/cpptools/missing_elf_deps.sh)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/cpptools/package-activation-events.json (renamed from pkgs/misc/vscode-extensions/cpptools/package-activation-events.json)0
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/cpptools/update_helper.sh (renamed from pkgs/misc/vscode-extensions/cpptools/update_helper.sh)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/default.nix (renamed from pkgs/misc/vscode-extensions/default.nix)100
-rw-r--r--pkgs/applications/editors/vscode/extensions/language-packs.nix (renamed from pkgs/misc/vscode-extensions/language-packs.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix (renamed from pkgs/misc/vscode-extensions/mktplcExtRefToFetchArgs.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix (renamed from pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix)26
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json94
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/update-bin-srcs (renamed from pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs)2
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix (renamed from pkgs/misc/vscode-extensions/ms-toolsai-jupyter/default.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix (renamed from pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/noop-syslog.c (renamed from pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/noop-syslog.c)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/python/default.nix (renamed from pkgs/misc/vscode-extensions/python/default.nix)10
-rw-r--r--pkgs/applications/editors/vscode/extensions/python/extract-nuget.nix (renamed from pkgs/misc/vscode-extensions/python/extract-nuget.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix (renamed from pkgs/misc/vscode-extensions/remote-ssh/default.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/rescript/default.nix (renamed from pkgs/misc/vscode-extensions/rescript/default.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/rescript/rescript-editor-analysis.nix (renamed from pkgs/misc/vscode-extensions/rescript/rescript-editor-analysis.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json (renamed from pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/rust-analyzer/default.nix (renamed from pkgs/misc/vscode-extensions/rust-analyzer/default.nix)2
-rw-r--r--pkgs/applications/editors/vscode/extensions/terraform/default.nix (renamed from pkgs/misc/vscode-extensions/terraform/default.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/terraform/fix-terraform-ls.patch (renamed from pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/updateSettings.nix (renamed from pkgs/misc/vscode-extensions/updateSettings.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix (renamed from pkgs/misc/vscode-extensions/updateSettingsTest.nix)0
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/update_installed_exts.sh (renamed from pkgs/misc/vscode-extensions/update_installed_exts.sh)4
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/package.json (renamed from pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-lldb/cmake-build-extension-only.patch (renamed from pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-lldb/default.nix (renamed from pkgs/misc/vscode-extensions/vscode-lldb/default.nix)10
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-lldb/lldb.nix (renamed from pkgs/misc/vscode-extensions/vscode-lldb/lldb.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-lldb/reset-cargo-config.patch (renamed from pkgs/misc/vscode-extensions/vscode-lldb/reset-cargo-config.patch)0
-rwxr-xr-xpkgs/applications/editors/vscode/extensions/vscode-lldb/update.sh (renamed from pkgs/misc/vscode-extensions/vscode-lldb/update.sh)8
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscode-utils.nix (renamed from pkgs/misc/vscode-extensions/vscode-utils.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeEnv.nix (renamed from pkgs/misc/vscode-extensions/vscodeEnv.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix (renamed from pkgs/misc/vscode-extensions/vscodeEnvTest.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix (renamed from pkgs/misc/vscode-extensions/vscodeExts2nix.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix (renamed from pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix)0
-rw-r--r--pkgs/applications/editors/vscode/extensions/wakatime/default.nix (renamed from pkgs/misc/vscode-extensions/wakatime/default.nix)0
-rw-r--r--pkgs/applications/editors/vscode/generic.nix35
-rw-r--r--pkgs/applications/editors/vscode/update-shell.nix18
-rwxr-xr-xpkgs/applications/editors/vscode/update-vscode.sh4
-rwxr-xr-xpkgs/applications/editors/vscode/update-vscodium.sh4
-rw-r--r--pkgs/applications/editors/vscode/vscode.nix12
-rw-r--r--pkgs/applications/editors/vscode/vscodium.nix10
-rw-r--r--pkgs/applications/editors/xed-editor/default.nix4
-rw-r--r--pkgs/applications/editors/xxe-pe/default.nix2
-rw-r--r--pkgs/applications/editors/your-editor/default.nix4
-rw-r--r--pkgs/applications/emulators/ares/default.nix (renamed from pkgs/misc/emulators/ares/default.nix)0
-rw-r--r--pkgs/applications/emulators/ares/fix-ruby.patch (renamed from pkgs/misc/emulators/ares/fix-ruby.patch)0
-rw-r--r--pkgs/applications/emulators/atari++/default.nix (renamed from pkgs/misc/emulators/atari++/default.nix)0
-rw-r--r--pkgs/applications/emulators/atari800/default.nix (renamed from pkgs/misc/emulators/atari800/default.nix)0
-rw-r--r--pkgs/applications/emulators/attract-mode/default.nix (renamed from pkgs/misc/emulators/attract-mode/default.nix)4
-rw-r--r--pkgs/applications/emulators/bochs/default.nix (renamed from pkgs/applications/virtualization/bochs/default.nix)0
-rw-r--r--pkgs/applications/emulators/bsnes-hd/default.nix (renamed from pkgs/misc/emulators/bsnes-hd/default.nix)0
-rw-r--r--pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch (renamed from pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch)0
-rw-r--r--pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch (renamed from pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch)0
-rw-r--r--pkgs/applications/emulators/caprice32/default.nix (renamed from pkgs/misc/emulators/caprice32/default.nix)0
-rw-r--r--pkgs/applications/emulators/caprice32/string.patch (renamed from pkgs/misc/emulators/caprice32/string.patch)0
-rw-r--r--pkgs/applications/emulators/ccemux/default.nix (renamed from pkgs/misc/emulators/ccemux/default.nix)2
-rw-r--r--pkgs/applications/emulators/cdemu/analyzer.nix (renamed from pkgs/misc/emulators/cdemu/analyzer.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/base.nix (renamed from pkgs/misc/emulators/cdemu/base.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/client.nix (renamed from pkgs/misc/emulators/cdemu/client.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/daemon.nix (renamed from pkgs/misc/emulators/cdemu/daemon.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/gui.nix (renamed from pkgs/misc/emulators/cdemu/gui.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/libmirage.nix (renamed from pkgs/misc/emulators/cdemu/libmirage.nix)0
-rw-r--r--pkgs/applications/emulators/cdemu/vhba.nix (renamed from pkgs/misc/emulators/cdemu/vhba.nix)0
-rw-r--r--pkgs/applications/emulators/cen64/default.nix (renamed from pkgs/misc/emulators/cen64/default.nix)0
-rw-r--r--pkgs/applications/emulators/citra/default.nix (renamed from pkgs/misc/emulators/citra/default.nix)0
-rw-r--r--pkgs/applications/emulators/commanderx16/emulator.nix (renamed from pkgs/misc/emulators/commanderx16/emulator.nix)0
-rw-r--r--pkgs/applications/emulators/commanderx16/rom.nix (renamed from pkgs/misc/emulators/commanderx16/rom.nix)0
-rw-r--r--pkgs/applications/emulators/commanderx16/run.nix (renamed from pkgs/misc/emulators/commanderx16/run.nix)0
-rw-r--r--pkgs/applications/emulators/craftos-pc/default.nix (renamed from pkgs/misc/emulators/craftos-pc/default.nix)0
-rw-r--r--pkgs/applications/emulators/darcnes/default.nix (renamed from pkgs/misc/emulators/darcnes/default.nix)0
-rw-r--r--pkgs/applications/emulators/darcnes/label.patch (renamed from pkgs/misc/emulators/darcnes/label.patch)0
-rw-r--r--pkgs/applications/emulators/desmume/default.nix (renamed from pkgs/misc/emulators/desmume/default.nix)0
-rw-r--r--pkgs/applications/emulators/dgen-sdl/default.nix (renamed from pkgs/misc/emulators/dgen-sdl/default.nix)0
-rw-r--r--pkgs/applications/emulators/dlx/default.nix (renamed from pkgs/misc/emulators/dlx/default.nix)0
-rw-r--r--pkgs/applications/emulators/dolphin-emu/default.nix (renamed from pkgs/misc/emulators/dolphin-emu/default.nix)0
-rw-r--r--pkgs/applications/emulators/dolphin-emu/master.nix (renamed from pkgs/misc/emulators/dolphin-emu/master.nix)8
-rw-r--r--pkgs/applications/emulators/dolphin-emu/primehack.nix (renamed from pkgs/misc/emulators/dolphin-emu/primehack.nix)0
-rw-r--r--pkgs/applications/emulators/dosbox-staging/default.nix112
-rw-r--r--pkgs/applications/emulators/dosbox/default.nix (renamed from pkgs/misc/emulators/dosbox/default.nix)2
-rw-r--r--pkgs/applications/emulators/duckstation/default.nix (renamed from pkgs/misc/emulators/duckstation/default.nix)0
-rw-r--r--pkgs/applications/emulators/dynamips/default.nix (renamed from pkgs/applications/virtualization/dynamips/default.nix)12
-rw-r--r--pkgs/applications/emulators/emu2/default.nix (renamed from pkgs/misc/emulators/emu2/default.nix)0
-rw-r--r--pkgs/applications/emulators/emulationstation/default.nix (renamed from pkgs/misc/emulators/emulationstation/default.nix)0
-rw-r--r--pkgs/applications/emulators/epsxe/default.nix (renamed from pkgs/misc/emulators/epsxe/default.nix)0
-rw-r--r--pkgs/applications/emulators/fakenes/build.patch (renamed from pkgs/misc/emulators/fakenes/build.patch)0
-rw-r--r--pkgs/applications/emulators/fakenes/default.nix (renamed from pkgs/misc/emulators/fakenes/default.nix)0
-rw-r--r--pkgs/applications/emulators/fceux/default.nix (renamed from pkgs/misc/emulators/fceux/default.nix)4
-rw-r--r--pkgs/applications/emulators/firebird-emu/default.nix (renamed from pkgs/misc/emulators/firebird-emu/default.nix)0
-rw-r--r--pkgs/applications/emulators/fs-uae/default.nix (renamed from pkgs/misc/emulators/fs-uae/default.nix)0
-rw-r--r--pkgs/applications/emulators/fs-uae/launcher.nix (renamed from pkgs/misc/emulators/fs-uae/launcher.nix)0
-rw-r--r--pkgs/applications/emulators/fuse-emulator/default.nix (renamed from pkgs/misc/emulators/fuse-emulator/default.nix)0
-rw-r--r--pkgs/applications/emulators/gens-gs/default.nix (renamed from pkgs/misc/emulators/gens-gs/default.nix)0
-rw-r--r--pkgs/applications/emulators/gxemul/0001-fix-attributes.patch (renamed from pkgs/misc/emulators/gxemul/0001-fix-attributes.patch)0
-rw-r--r--pkgs/applications/emulators/gxemul/default.nix (renamed from pkgs/misc/emulators/gxemul/default.nix)0
-rw-r--r--pkgs/applications/emulators/hatari/default.nix (renamed from pkgs/misc/emulators/hatari/default.nix)0
-rw-r--r--pkgs/applications/emulators/hercules/default.nix (renamed from pkgs/applications/virtualization/hercules/default.nix)13
-rw-r--r--pkgs/applications/emulators/higan/001-include-cmath.patch (renamed from pkgs/misc/emulators/higan/001-include-cmath.patch)0
-rw-r--r--pkgs/applications/emulators/higan/002-sips-to-png2icns.patch (renamed from pkgs/misc/emulators/higan/002-sips-to-png2icns.patch)0
-rw-r--r--pkgs/applications/emulators/higan/default.nix (renamed from pkgs/misc/emulators/higan/default.nix)0
-rw-r--r--pkgs/applications/emulators/kega-fusion/default.nix (renamed from pkgs/misc/emulators/kega-fusion/default.nix)0
-rw-r--r--pkgs/applications/emulators/lambda-delta/default.nix (renamed from pkgs/misc/emulators/lambda-delta/default.nix)0
-rw-r--r--pkgs/applications/emulators/libdsk/default.nix (renamed from pkgs/misc/emulators/libdsk/default.nix)4
-rw-r--r--pkgs/applications/emulators/maiko/default.nix (renamed from pkgs/misc/emulators/maiko/default.nix)0
-rw-r--r--pkgs/applications/emulators/mame/default.nix (renamed from pkgs/misc/emulators/mame/default.nix)2
-rw-r--r--pkgs/applications/emulators/mame/emuopts.patch (renamed from pkgs/misc/emulators/mame/emuopts.patch)0
-rw-r--r--pkgs/applications/emulators/mednafen/default.nix (renamed from pkgs/misc/emulators/mednafen/default.nix)50
-rw-r--r--pkgs/applications/emulators/mednafen/server.nix (renamed from pkgs/misc/emulators/mednafen/server.nix)0
-rw-r--r--pkgs/applications/emulators/mednaffe/default.nix (renamed from pkgs/misc/emulators/mednaffe/default.nix)10
-rw-r--r--pkgs/applications/emulators/melonDS/default.nix (renamed from pkgs/misc/emulators/melonDS/default.nix)0
-rw-r--r--pkgs/applications/emulators/mgba/default.nix (renamed from pkgs/misc/emulators/mgba/default.nix)8
-rw-r--r--pkgs/applications/emulators/mupen64plus/default.nix (renamed from pkgs/misc/emulators/mupen64plus/default.nix)0
-rw-r--r--pkgs/applications/emulators/nestopia/build-fix.patch (renamed from pkgs/misc/emulators/nestopia/build-fix.patch)0
-rw-r--r--pkgs/applications/emulators/nestopia/default.nix (renamed from pkgs/misc/emulators/nestopia/default.nix)0
-rw-r--r--pkgs/applications/emulators/nestopia/gcc6.patch (renamed from pkgs/misc/emulators/nestopia/gcc6.patch)0
-rw-r--r--pkgs/applications/emulators/np2kai/default.nix (renamed from pkgs/misc/emulators/np2kai/default.nix)0
-rw-r--r--pkgs/applications/emulators/oberon-risc-emu/default.nix (renamed from pkgs/misc/emulators/oberon-risc-emu/default.nix)0
-rw-r--r--pkgs/applications/emulators/openmsx/custom-nix.mk (renamed from pkgs/misc/emulators/openmsx/custom-nix.mk)0
-rw-r--r--pkgs/applications/emulators/openmsx/default.nix (renamed from pkgs/misc/emulators/openmsx/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcem/default.nix (renamed from pkgs/misc/emulators/pcem/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcsx2/default.nix (renamed from pkgs/misc/emulators/pcsx2/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch (renamed from pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch)0
-rw-r--r--pkgs/applications/emulators/pcsxr/default.nix (renamed from pkgs/misc/emulators/pcsxr/default.nix)0
-rw-r--r--pkgs/applications/emulators/pcsxr/uncompress2.patch (renamed from pkgs/misc/emulators/pcsxr/uncompress2.patch)0
-rw-r--r--pkgs/applications/emulators/ppsspp/default.nix (renamed from pkgs/misc/emulators/ppsspp/default.nix)0
-rw-r--r--pkgs/applications/emulators/proton-caller/default.nix (renamed from pkgs/misc/emulators/proton-caller/default.nix)0
-rw-r--r--pkgs/applications/emulators/punes/default.nix (renamed from pkgs/misc/emulators/punes/default.nix)0
-rw-r--r--pkgs/applications/emulators/py65/default.nix (renamed from pkgs/misc/emulators/py65/default.nix)0
-rw-r--r--pkgs/applications/emulators/qmc2/default.nix (renamed from pkgs/misc/emulators/qmc2/default.nix)0
-rw-r--r--pkgs/applications/emulators/reicast/default.nix (renamed from pkgs/misc/emulators/reicast/default.nix)0
-rw-r--r--pkgs/applications/emulators/resim/default.nix (renamed from pkgs/misc/emulators/resim/default.nix)0
-rw-r--r--pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch (renamed from pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch (renamed from pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/cores.nix (renamed from pkgs/misc/emulators/retroarch/cores.nix)0
-rw-r--r--pkgs/applications/emulators/retroarch/default.nix (renamed from pkgs/misc/emulators/retroarch/default.nix)4
-rw-r--r--pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch (renamed from pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/fix-config.patch (renamed from pkgs/misc/emulators/retroarch/fix-config.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/fix-libretro-paths.patch (renamed from pkgs/misc/emulators/retroarch/fix-libretro-paths.patch)0
-rw-r--r--pkgs/applications/emulators/retroarch/hashes.json (renamed from pkgs/misc/emulators/retroarch/hashes.json)0
-rw-r--r--pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix (renamed from pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix)0
-rwxr-xr-xpkgs/applications/emulators/retroarch/update.py (renamed from pkgs/misc/emulators/retroarch/update.py)0
-rw-r--r--pkgs/applications/emulators/retroarch/wrapper.nix (renamed from pkgs/misc/emulators/retroarch/wrapper.nix)8
-rw-r--r--pkgs/applications/emulators/retrofe/default.nix (renamed from pkgs/misc/emulators/retrofe/default.nix)0
-rw-r--r--pkgs/applications/emulators/retrofe/include-paths.patch (renamed from pkgs/misc/emulators/retrofe/include-paths.patch)0
-rw-r--r--pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch (renamed from pkgs/misc/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch)0
-rw-r--r--pkgs/applications/emulators/rpcs3/default.nix (renamed from pkgs/misc/emulators/rpcs3/default.nix)0
-rwxr-xr-xpkgs/applications/emulators/rpcs3/update.sh (renamed from pkgs/misc/emulators/rpcs3/update.sh)0
-rw-r--r--pkgs/applications/emulators/ruffle/default.nix (renamed from pkgs/misc/emulators/ruffle/default.nix)0
-rw-r--r--pkgs/applications/emulators/ryujinx/default.nix (renamed from pkgs/misc/emulators/ryujinx/default.nix)2
-rw-r--r--pkgs/applications/emulators/ryujinx/deps.nix (renamed from pkgs/misc/emulators/ryujinx/deps.nix)0
-rw-r--r--pkgs/applications/emulators/ryujinx/log.patch (renamed from pkgs/misc/emulators/ryujinx/log.patch)0
-rwxr-xr-xpkgs/applications/emulators/ryujinx/updater.sh (renamed from pkgs/misc/emulators/ryujinx/updater.sh)0
-rw-r--r--pkgs/applications/emulators/sameboy/default.nix (renamed from pkgs/misc/emulators/sameboy/default.nix)0
-rw-r--r--pkgs/applications/emulators/simh/default.nix (renamed from pkgs/misc/emulators/simh/default.nix)0
-rw-r--r--pkgs/applications/emulators/simplenes/default.nix (renamed from pkgs/misc/emulators/simplenes/default.nix)0
-rw-r--r--pkgs/applications/emulators/snes9x-gtk/default.nix (renamed from pkgs/misc/emulators/snes9x-gtk/default.nix)0
-rw-r--r--pkgs/applications/emulators/stella/default.nix (renamed from pkgs/misc/emulators/stella/default.nix)0
-rw-r--r--pkgs/applications/emulators/termtekst/default.nix (renamed from pkgs/misc/emulators/termtekst/default.nix)0
-rw-r--r--pkgs/applications/emulators/tilem/default.nix (renamed from pkgs/misc/emulators/tilem/default.nix)0
-rw-r--r--pkgs/applications/emulators/tiny8086/default.nix (renamed from pkgs/applications/virtualization/tiny8086/default.nix)24
-rw-r--r--pkgs/applications/emulators/tinyemu/default.nix41
-rw-r--r--pkgs/applications/emulators/uae/default.nix (renamed from pkgs/misc/emulators/uae/default.nix)0
-rw-r--r--pkgs/applications/emulators/uxn/default.nix (renamed from pkgs/misc/emulators/uxn/default.nix)0
-rw-r--r--pkgs/applications/emulators/vbam/default.nix (renamed from pkgs/misc/emulators/vbam/default.nix)0
-rw-r--r--pkgs/applications/emulators/vice/default.nix (renamed from pkgs/misc/emulators/vice/default.nix)2
-rw-r--r--pkgs/applications/emulators/wine/base.nix (renamed from pkgs/misc/emulators/wine/base.nix)44
-rw-r--r--pkgs/applications/emulators/wine/builder-wow.sh (renamed from pkgs/misc/emulators/wine/builder-wow.sh)0
-rw-r--r--pkgs/applications/emulators/wine/cert-path.patch (renamed from pkgs/misc/emulators/wine/cert-path.patch)0
-rw-r--r--pkgs/applications/emulators/wine/darwin-metal-compat.patch31
-rw-r--r--pkgs/applications/emulators/wine/default.nix (renamed from pkgs/misc/emulators/wine/default.nix)12
-rw-r--r--pkgs/applications/emulators/wine/fonts.nix (renamed from pkgs/misc/emulators/wine/fonts.nix)0
-rw-r--r--pkgs/applications/emulators/wine/packages.nix (renamed from pkgs/misc/emulators/wine/packages.nix)12
-rw-r--r--pkgs/applications/emulators/wine/setup-hook-darwin.sh37
-rw-r--r--pkgs/applications/emulators/wine/sources.nix (renamed from pkgs/misc/emulators/wine/sources.nix)14
-rw-r--r--pkgs/applications/emulators/wine/staging.nix (renamed from pkgs/misc/emulators/wine/staging.nix)0
-rw-r--r--pkgs/applications/emulators/wine/util.nix (renamed from pkgs/misc/emulators/wine/util.nix)0
-rw-r--r--pkgs/applications/emulators/wine/vkd3d.nix (renamed from pkgs/misc/emulators/wine/vkd3d.nix)8
-rw-r--r--pkgs/applications/emulators/wine/winetricks.nix (renamed from pkgs/misc/emulators/wine/winetricks.nix)0
-rw-r--r--pkgs/applications/emulators/xcpc/default.nix (renamed from pkgs/misc/emulators/xcpc/default.nix)0
-rw-r--r--pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch (renamed from pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch)0
-rw-r--r--pkgs/applications/emulators/yabause/default.nix (renamed from pkgs/misc/emulators/yabause/default.nix)0
-rw-r--r--pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch (renamed from pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch)0
-rw-r--r--pkgs/applications/emulators/yapesdl/default.nix (renamed from pkgs/misc/emulators/yapesdl/default.nix)0
-rw-r--r--pkgs/applications/emulators/yuzu/base.nix (renamed from pkgs/misc/emulators/yuzu/base.nix)2
-rw-r--r--pkgs/applications/emulators/yuzu/default.nix (renamed from pkgs/misc/emulators/yuzu/default.nix)4
-rw-r--r--pkgs/applications/emulators/zesarux/default.nix (renamed from pkgs/misc/emulators/zesarux/default.nix)0
-rw-r--r--pkgs/applications/emulators/zsnes/default.nix (renamed from pkgs/misc/emulators/zsnes/default.nix)2
-rw-r--r--pkgs/applications/finance/odoo/default.nix9
-rw-r--r--pkgs/applications/gis/gmt/dcw.nix4
-rw-r--r--pkgs/applications/gis/gmt/default.nix4
-rw-r--r--pkgs/applications/graphics/ImageMagick/7.0.nix67
-rw-r--r--pkgs/applications/graphics/antimony/default.nix10
-rw-r--r--pkgs/applications/graphics/avocode/default.nix2
-rw-r--r--pkgs/applications/graphics/azpainter/default.nix31
-rw-r--r--pkgs/applications/graphics/darktable/default.nix13
-rw-r--r--pkgs/applications/graphics/deskew/default.nix20
-rw-r--r--pkgs/applications/graphics/evilpixie/default.nix4
-rw-r--r--pkgs/applications/graphics/feh/default.nix14
-rw-r--r--pkgs/applications/graphics/fig2dev/default.nix4
-rw-r--r--pkgs/applications/graphics/fiji/default.nix13
-rw-r--r--pkgs/applications/graphics/geeqie/default.nix11
-rw-r--r--pkgs/applications/graphics/graphicsmagick/default.nix17
-rw-r--r--pkgs/applications/graphics/gscan2pdf/default.nix6
-rw-r--r--pkgs/applications/graphics/hydrus/default.nix4
-rw-r--r--pkgs/applications/graphics/imagej/default.nix2
-rw-r--r--pkgs/applications/graphics/imlibsetroot/default.nix19
-rw-r--r--pkgs/applications/graphics/inkscape/default.nix36
-rw-r--r--pkgs/applications/graphics/ipe/default.nix10
-rw-r--r--pkgs/applications/graphics/mandelbulber/default.nix6
-rw-r--r--pkgs/applications/graphics/meshlab/default.nix4
-rw-r--r--pkgs/applications/graphics/nsxiv/default.nix61
-rw-r--r--pkgs/applications/graphics/openboard/default.nix4
-rw-r--r--pkgs/applications/graphics/openscad/default.nix3
-rw-r--r--pkgs/applications/graphics/pinta/default.nix4
-rw-r--r--pkgs/applications/graphics/pixinsight/default.nix4
-rw-r--r--pkgs/applications/graphics/renderdoc/default.nix4
-rw-r--r--pkgs/applications/graphics/rnote/default.nix76
-rw-r--r--pkgs/applications/graphics/solvespace/default.nix78
-rw-r--r--pkgs/applications/graphics/swingsane/default.nix2
-rw-r--r--pkgs/applications/graphics/vengi-tools/default.nix26
-rw-r--r--pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix15
-rw-r--r--pkgs/applications/graphics/write_stylus/default.nix2
-rw-r--r--pkgs/applications/graphics/xournal/default.nix4
-rw-r--r--pkgs/applications/graphics/xournalpp/default.nix7
-rw-r--r--pkgs/applications/graphics/xrgears/default.nix17
-rw-r--r--pkgs/applications/kde/fetch.sh2
-rw-r--r--pkgs/applications/kde/srcs.nix1840
-rw-r--r--pkgs/applications/misc/1password-gui/default.nix4
-rw-r--r--pkgs/applications/misc/1password/default.nix2
-rw-r--r--pkgs/applications/misc/OSCAR/default.nix10
-rw-r--r--pkgs/applications/misc/anytype/default.nix4
-rw-r--r--pkgs/applications/misc/archivebox/default.nix38
-rw-r--r--pkgs/applications/misc/ausweisapp2/default.nix4
-rw-r--r--pkgs/applications/misc/azuredatastudio/default.nix36
-rw-r--r--pkgs/applications/misc/batsignal/default.nix4
-rw-r--r--pkgs/applications/misc/bemenu/default.nix4
-rw-r--r--pkgs/applications/misc/bicon/default.nix2
-rw-r--r--pkgs/applications/misc/bottles/default.nix27
-rw-r--r--pkgs/applications/misc/cbatticon/default.nix4
-rw-r--r--pkgs/applications/misc/cherrytree/default.nix4
-rw-r--r--pkgs/applications/misc/clight/clightd.nix4
-rw-r--r--pkgs/applications/misc/cointop/default.nix4
-rw-r--r--pkgs/applications/misc/cpu-x/default.nix4
-rw-r--r--pkgs/applications/misc/cubiomes-viewer/default.nix2
-rw-r--r--pkgs/applications/misc/cubocore-packages/coreaction/default.nix14
-rw-r--r--pkgs/applications/misc/cubocore-packages/corearchiver/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corefm/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/coregarage/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corehunt/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/coreimage/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/coreinfo/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corekeyboard/0001-fix-installPhase.patch8
-rw-r--r--pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix9
-rw-r--r--pkgs/applications/misc/cubocore-packages/corepad/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corepaint/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corepdf/default.nix7
-rw-r--r--pkgs/applications/misc/cubocore-packages/corepins/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corerenamer/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/coreshot/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corestats/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/corestuff/0001-fix-installPhase.patch11
-rw-r--r--pkgs/applications/misc/cubocore-packages/corestuff/default.nix9
-rw-r--r--pkgs/applications/misc/cubocore-packages/coreterminal/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/coretime/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch6
-rw-r--r--pkgs/applications/misc/cubocore-packages/coretoppings/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/libcprime/default.nix4
-rw-r--r--pkgs/applications/misc/cubocore-packages/libcsys/default.nix4
-rw-r--r--pkgs/applications/misc/cura/stable.nix2
-rw-r--r--pkgs/applications/misc/curaengine/default.nix4
-rw-r--r--pkgs/applications/misc/dbeaver/default.nix8
-rw-r--r--pkgs/applications/misc/ddcui/default.nix4
-rw-r--r--pkgs/applications/misc/dmenu/default.nix4
-rw-r--r--pkgs/applications/misc/dunst/default.nix4
-rw-r--r--pkgs/applications/misc/dupeguru/default.nix27
-rw-r--r--pkgs/applications/misc/electrum/default.nix5
-rw-r--r--pkgs/applications/misc/electrum/ltc.nix5
-rw-r--r--pkgs/applications/misc/eureka-editor/default.nix24
-rw-r--r--pkgs/applications/misc/feedbackd/default.nix16
-rw-r--r--pkgs/applications/misc/fetchmail/default.nix4
-rw-r--r--pkgs/applications/misc/fnott/default.nix4
-rw-r--r--pkgs/applications/misc/free42/default.nix6
-rw-r--r--pkgs/applications/misc/gImageReader/default.nix4
-rw-r--r--pkgs/applications/misc/gallery-dl/default.nix4
-rw-r--r--pkgs/applications/misc/ganttproject-bin/default.nix2
-rw-r--r--pkgs/applications/misc/geoipupdate/default.nix8
-rw-r--r--pkgs/applications/misc/girara/default.nix4
-rw-r--r--pkgs/applications/misc/gkrellm/default.nix2
-rw-r--r--pkgs/applications/misc/globe-cli/default.nix20
-rw-r--r--pkgs/applications/misc/golden-cheetah/default.nix2
-rw-r--r--pkgs/applications/misc/gpsprune/default.nix6
-rw-r--r--pkgs/applications/misc/gpxsee/default.nix4
-rw-r--r--pkgs/applications/misc/gremlin-console/default.nix4
-rw-r--r--pkgs/applications/misc/gremlin-server/default.nix33
-rw-r--r--pkgs/applications/misc/hello/default.nix4
-rw-r--r--pkgs/applications/misc/hugo/default.nix6
-rw-r--r--pkgs/applications/misc/ideamaker/default.nix4
-rw-r--r--pkgs/applications/misc/index-fm/default.nix4
-rw-r--r--pkgs/applications/misc/ipmiview/default.nix2
-rw-r--r--pkgs/applications/misc/jotta-cli/default.nix4
-rw-r--r--pkgs/applications/misc/jrnl/default.nix22
-rw-r--r--pkgs/applications/misc/k40-whisperer/default.nix74
-rw-r--r--pkgs/applications/misc/kanboard/default.nix4
-rw-r--r--pkgs/applications/misc/keepass/default.nix7
-rw-r--r--pkgs/applications/misc/leetcode-cli/default.nix41
-rw-r--r--pkgs/applications/misc/lemonade/default.nix35
-rw-r--r--pkgs/applications/misc/logseq/default.nix4
-rw-r--r--pkgs/applications/misc/lscolors/default.nix6
-rw-r--r--pkgs/applications/misc/lsd2dsl/default.nix2
-rw-r--r--pkgs/applications/misc/mapproxy/default.nix4
-rw-r--r--pkgs/applications/misc/markets/default.nix4
-rw-r--r--pkgs/applications/misc/masterpdfeditor/default.nix4
-rw-r--r--pkgs/applications/misc/mdzk/default.nix6
-rw-r--r--pkgs/applications/misc/mediaelch/default.nix22
-rw-r--r--pkgs/applications/misc/megacmd/default.nix15
-rw-r--r--pkgs/applications/misc/megasync/default.nix4
-rw-r--r--pkgs/applications/misc/michabo/default.nix1
-rw-r--r--pkgs/applications/misc/mkgmap/default.nix4
-rw-r--r--pkgs/applications/misc/mob/default.nix4
-rw-r--r--pkgs/applications/misc/moolticute/default.nix4
-rw-r--r--pkgs/applications/misc/mupdf/default.nix32
-rw-r--r--pkgs/applications/misc/navi/default.nix6
-rw-r--r--pkgs/applications/misc/notejot/default.nix20
-rw-r--r--pkgs/applications/misc/obinskit/default.nix2
-rw-r--r--pkgs/applications/misc/obsidian/default.nix2
-rw-r--r--pkgs/applications/misc/octoprint/default.nix125
-rw-r--r--pkgs/applications/misc/oil/default.nix45
-rw-r--r--pkgs/applications/misc/opentrack/default.nix2
-rw-r--r--pkgs/applications/misc/orca/default.nix4
-rw-r--r--pkgs/applications/misc/osmium-tool/default.nix4
-rw-r--r--pkgs/applications/misc/otpclient/default.nix4
-rw-r--r--pkgs/applications/misc/p2pool/default.nix11
-rw-r--r--pkgs/applications/misc/pdfsam-basic/default.nix8
-rw-r--r--pkgs/applications/misc/pdfstudio/common.nix6
-rw-r--r--pkgs/applications/misc/pgadmin/default.nix5
-rw-r--r--pkgs/applications/misc/phoc/default.nix4
-rw-r--r--pkgs/applications/misc/plasma-theme-switcher/default.nix42
-rw-r--r--pkgs/applications/misc/plater/default.nix2
-rw-r--r--pkgs/applications/misc/premid/default.nix2
-rw-r--r--pkgs/applications/misc/prusa-slicer/default.nix4
-rw-r--r--pkgs/applications/misc/prusa-slicer/super-slicer.nix2
-rw-r--r--pkgs/applications/misc/pueue/default.nix6
-rw-r--r--pkgs/applications/misc/qMasterPassword/default.nix10
-rw-r--r--pkgs/applications/misc/qcad/default.nix3
-rw-r--r--pkgs/applications/misc/remarkable/remarkable-mouse/default.nix4
-rw-r--r--pkgs/applications/misc/remarkable/rmview/default.nix8
-rw-r--r--pkgs/applications/misc/robo3t/default.nix2
-rw-r--r--pkgs/applications/misc/rofi-file-browser/default.nix4
-rw-r--r--pkgs/applications/misc/scli/default.nix4
-rw-r--r--pkgs/applications/misc/seatd/default.nix4
-rw-r--r--pkgs/applications/misc/sidequest/default.nix2
-rw-r--r--pkgs/applications/misc/simplenote/default.nix5
-rw-r--r--pkgs/applications/misc/skate/default.nix6
-rw-r--r--pkgs/applications/misc/slic3r/default.nix2
-rw-r--r--pkgs/applications/misc/slides/default.nix6
-rw-r--r--pkgs/applications/misc/snapmaker-luban/default.nix2
-rw-r--r--pkgs/applications/misc/spicetify-cli/default.nix4
-rw-r--r--pkgs/applications/misc/stork/default.nix14
-rw-r--r--pkgs/applications/misc/stretchly/default.nix2
-rw-r--r--pkgs/applications/misc/subsurface/default.nix3
-rw-r--r--pkgs/applications/misc/surface-control/default.nix11
-rw-r--r--pkgs/applications/misc/survex/default.nix79
-rw-r--r--pkgs/applications/misc/sweethome3d/default.nix2
-rw-r--r--pkgs/applications/misc/sweethome3d/editors.nix2
-rw-r--r--pkgs/applications/misc/teleprompter/default.nix1
-rw-r--r--pkgs/applications/misc/ticker/default.nix6
-rw-r--r--pkgs/applications/misc/tiv/default.nix4
-rw-r--r--pkgs/applications/misc/toggldesktop/default.nix2
-rw-r--r--pkgs/applications/misc/trenchbroom/default.nix2
-rw-r--r--pkgs/applications/misc/tty-share/default.nix4
-rw-r--r--pkgs/applications/misc/tvbrowser/bin.nix8
-rw-r--r--pkgs/applications/misc/whalebird/default.nix4
-rw-r--r--pkgs/applications/misc/wike/default.nix22
-rw-r--r--pkgs/applications/misc/xmind/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/default.nix4
-rw-r--r--pkgs/applications/misc/xmrig/moneroocean.nix4
-rw-r--r--pkgs/applications/misc/xpdf/default.nix3
-rw-r--r--pkgs/applications/misc/yambar/default.nix5
-rw-r--r--pkgs/applications/misc/yate/default.nix12
-rw-r--r--pkgs/applications/misc/zettlr/default.nix4
-rw-r--r--pkgs/applications/networking/aether/default.nix4
-rw-r--r--pkgs/applications/networking/apache-directory-studio/default.nix2
-rw-r--r--pkgs/applications/networking/appgate-sdp/default.nix4
-rw-r--r--pkgs/applications/networking/blocky/default.nix9
-rw-r--r--pkgs/applications/networking/browsers/brave/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/chromium/common.nix2
-rw-r--r--pkgs/applications/networking/browsers/chromium/upstream-info.json36
-rw-r--r--pkgs/applications/networking/browsers/falkon/default.nix12
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/default.nix2
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox-bin/release_sources.nix786
-rw-r--r--pkgs/applications/networking/browsers/firefox/common.nix35
-rw-r--r--pkgs/applications/networking/browsers/firefox/fix-build-with-wayland-1.20.patch13
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/default.nix41
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/src.json11
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/src.nix18
-rw-r--r--pkgs/applications/networking/browsers/firefox/librewolf/update.nix65
-rw-r--r--pkgs/applications/networking/browsers/firefox/packages.nix33
-rw-r--r--pkgs/applications/networking/browsers/firefox/wrapper.nix49
-rw-r--r--pkgs/applications/networking/browsers/google-chrome/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/icecat-bin/default.nix130
-rw-r--r--pkgs/applications/networking/browsers/lagrange/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/nyxt/default.nix4
-rw-r--r--pkgs/applications/networking/browsers/opera/default.nix6
-rw-r--r--pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/vieb/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/vivaldi/default.nix8
-rw-r--r--pkgs/applications/networking/browsers/webbrowser/default.nix4
-rw-r--r--pkgs/applications/networking/calls/default.nix2
-rw-r--r--pkgs/applications/networking/charles/default.nix13
-rw-r--r--pkgs/applications/networking/cisco-packet-tracer/7.nix2
-rw-r--r--pkgs/applications/networking/cisco-packet-tracer/8.nix2
-rw-r--r--pkgs/applications/networking/cloudflared/default.nix14
-rw-r--r--pkgs/applications/networking/cluster/argo-rollouts/default.nix27
-rw-r--r--pkgs/applications/networking/cluster/argo/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/argocd/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/arkade/default.nix23
-rw-r--r--pkgs/applications/networking/cluster/bosh-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cilium/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/clusterctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/cmctl/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/cni/plugins.nix4
-rw-r--r--pkgs/applications/networking/cluster/driftctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/flink/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/fluxcd/default.nix8
-rw-r--r--pkgs/applications/networking/cluster/fn-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/glooctl/default.nix36
-rw-r--r--pkgs/applications/networking/cluster/helm/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/helmsman/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/istioctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/k3s/default.nix265
-rw-r--r--pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch41
-rw-r--r--pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch81
-rw-r--r--pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch37
-rw-r--r--pkgs/applications/networking/cluster/k3sup/default.nix48
-rw-r--r--pkgs/applications/networking/cluster/kconf/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/kn/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/krane/default.nix9
-rw-r--r--pkgs/applications/networking/cluster/kube-score/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kube3d/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubebuilder/default.nix12
-rw-r--r--pkgs/applications/networking/cluster/kubeconform/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubectl-doctor/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubedb-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubelogin-oidc/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubelogin/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubeone/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/kubergrunt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/default.nix33
-rw-r--r--pkgs/applications/networking/cluster/kubernetes/kubectl.nix28
-rw-r--r--pkgs/applications/networking/cluster/kuma/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/lens/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/linkerd/generic.nix5
-rw-r--r--pkgs/applications/networking/cluster/minikube/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nerdctl/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/nomad-autoscaler/default.nix26
-rw-r--r--pkgs/applications/networking/cluster/nomad-pack/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/nomad/1.2.nix6
-rw-r--r--pkgs/applications/networking/cluster/odo/default.nix38
-rw-r--r--pkgs/applications/networking/cluster/openshift/default.nix11
-rw-r--r--pkgs/applications/networking/cluster/qbec/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/sonobuoy/default.nix6
-rw-r--r--pkgs/applications/networking/cluster/talosctl/default.nix34
-rw-r--r--pkgs/applications/networking/cluster/tektoncd-cli/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/temporal/default.nix15
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/default.nix69
-rw-r--r--pkgs/applications/networking/cluster/terraform-providers/providers.json484
-rwxr-xr-xpkgs/applications/networking/cluster/terraform-providers/update-all-providers2
-rwxr-xr-xpkgs/applications/networking/cluster/terraform-providers/update-provider21
-rw-r--r--pkgs/applications/networking/cluster/terraform/default.nix35
-rw-r--r--pkgs/applications/networking/cluster/tgswitch/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/tilt/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/vcluster/default.nix4
-rw-r--r--pkgs/applications/networking/cluster/waypoint/default.nix10
-rw-r--r--pkgs/applications/networking/cluster/werf/default.nix6
-rw-r--r--pkgs/applications/networking/dnscontrol/default.nix6
-rw-r--r--pkgs/applications/networking/dropbox/default.nix4
-rw-r--r--pkgs/applications/networking/ftp/filezilla/default.nix4
-rw-r--r--pkgs/applications/networking/gns3/gui.nix16
-rw-r--r--pkgs/applications/networking/gns3/server.nix17
-rw-r--r--pkgs/applications/networking/hyprspace/default.nix6
-rw-r--r--pkgs/applications/networking/instant-messengers/alfaview/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/chatty/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix8
-rw-r--r--pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/dino/default.nix15
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/default.nix52
-rw-r--r--pkgs/applications/networking/instant-messengers/discord/linux.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop-package.json2
-rw-r--r--pkgs/applications/networking/instant-messengers/element/element-desktop.nix38
-rw-r--r--pkgs/applications/networking/instant-messengers/element/keytar/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/element/pin.json8
-rw-r--r--pkgs/applications/networking/instant-messengers/element/seshat/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/fluffychat/default.nix81
-rw-r--r--pkgs/applications/networking/instant-messengers/franz/generic.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/gitter/default.nix5
-rw-r--r--pkgs/applications/networking/instant-messengers/gomuks/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/gurk-rs/default.nix30
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/daemon.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/jami/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/jitsi/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix186
-rw-r--r--pkgs/applications/networking/instant-messengers/mikutter/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/neochat/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/pantalaimon/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/psi-plus/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/rambox/rambox.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/ricochet/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/ripcord/darwin.nix33
-rw-r--r--[-rwxr-xr-x]pkgs/applications/networking/instant-messengers/ripcord/default.nix0
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/pin.json9
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix12
-rw-r--r--pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix4
-rwxr-xr-xpkgs/applications/networking/instant-messengers/schildichat/update.sh20
-rw-r--r--pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/signal-desktop/default.nix7
-rw-r--r--pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix3
-rw-r--r--pkgs/applications/networking/instant-messengers/slack/default.nix8
-rwxr-xr-xpkgs/applications/networking/instant-messengers/slack/update.sh6
-rw-r--r--pkgs/applications/networking/instant-messengers/teamspeak/client.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/tensor/default.nix4
-rw-r--r--pkgs/applications/networking/instant-messengers/wavebox/default.nix2
-rw-r--r--pkgs/applications/networking/instant-messengers/wire-desktop/default.nix6
-rw-r--r--pkgs/applications/networking/ipfs-migrator/all-migrations.nix63
-rw-r--r--pkgs/applications/networking/ipfs-migrator/default.nix36
-rw-r--r--pkgs/applications/networking/ipfs-migrator/unwrapped.nix35
-rw-r--r--pkgs/applications/networking/ipfs/default.nix6
-rw-r--r--pkgs/applications/networking/irc/hexchat/default.nix4
-rw-r--r--pkgs/applications/networking/irc/srain/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/evolution/evolution/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/himalaya/default.nix6
-rw-r--r--pkgs/applications/networking/mailreaders/mutt/default.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/default.nix31
-rw-r--r--pkgs/applications/networking/mailreaders/notmuch/test-fix-support-for-gpgsm-in-gnupg-2.3.patch28
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix522
-rw-r--r--pkgs/applications/networking/mailreaders/thunderbird/packages.nix4
-rw-r--r--pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix4
-rw-r--r--pkgs/applications/networking/mullvad-vpn/default.nix3
-rw-r--r--pkgs/applications/networking/n8n/default.nix2
-rwxr-xr-xpkgs/applications/networking/n8n/generate-dependencies.sh1
-rw-r--r--pkgs/applications/networking/n8n/node-packages.nix615
-rw-r--r--pkgs/applications/networking/nextdns/default.nix6
-rw-r--r--pkgs/applications/networking/ngadmin/default.nix2
-rw-r--r--pkgs/applications/networking/novnc/default.nix30
-rw-r--r--pkgs/applications/networking/opsdroid/default.nix4
-rw-r--r--pkgs/applications/networking/ostinato/default.nix15
-rw-r--r--pkgs/applications/networking/p2p/dht/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/fragments/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/frostwire/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/libutp/default.nix2
-rw-r--r--pkgs/applications/networking/p2p/qbittorrent/default.nix4
-rw-r--r--pkgs/applications/networking/p2p/transgui/default.nix10
-rw-r--r--pkgs/applications/networking/p2p/tribler/aiohttp-apispec.nix37
-rw-r--r--pkgs/applications/networking/p2p/tribler/apispec.nix47
-rw-r--r--pkgs/applications/networking/p2p/tribler/default.nix75
-rw-r--r--pkgs/applications/networking/protonmail-bridge/default.nix6
-rw-r--r--pkgs/applications/networking/remote/anydesk/default.nix4
-rw-r--r--pkgs/applications/networking/remote/freerdp/default.nix4
-rw-r--r--pkgs/applications/networking/remote/remmina/default.nix10
-rw-r--r--pkgs/applications/networking/remote/vmware-horizon-client/default.nix2
-rw-r--r--pkgs/applications/networking/seaweedfs/default.nix6
-rw-r--r--pkgs/applications/networking/shellhub-agent/default.nix12
-rw-r--r--pkgs/applications/networking/sniffers/wireshark/default.nix4
-rw-r--r--pkgs/applications/networking/soulseek/nicotine-plus/default.nix4
-rw-r--r--pkgs/applications/networking/ssb-patchwork/default.nix2
-rw-r--r--pkgs/applications/networking/sync/unison/default.nix9
-rw-r--r--pkgs/applications/networking/termius/default.nix2
-rw-r--r--pkgs/applications/networking/testssl/default.nix4
-rw-r--r--pkgs/applications/networking/wayback_machine_downloader/Gemfile5
-rw-r--r--pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock6
-rw-r--r--pkgs/applications/networking/wayback_machine_downloader/gemset.nix4
-rw-r--r--pkgs/applications/office/appflowy/default.nix11
-rw-r--r--pkgs/applications/office/gnucash/default.nix73
-rw-r--r--pkgs/applications/office/homebank/default.nix4
-rw-r--r--pkgs/applications/office/jabref/default.nix2
-rw-r--r--pkgs/applications/office/jameica/default.nix2
-rw-r--r--pkgs/applications/office/kalendar/default.nix6
-rw-r--r--pkgs/applications/office/libreoffice/default.nix2
-rw-r--r--pkgs/applications/office/portfolio/default.nix6
-rw-r--r--pkgs/applications/office/pyspread/default.nix2
-rw-r--r--pkgs/applications/office/qownnotes/default.nix4
-rw-r--r--pkgs/applications/office/softmaker/desktop_items.nix88
-rw-r--r--pkgs/applications/office/timeline/default.nix3
-rw-r--r--pkgs/applications/office/trilium/default.nix8
-rw-r--r--pkgs/applications/office/tusk/default.nix2
-rw-r--r--pkgs/applications/office/zanshin/default.nix4
-rw-r--r--pkgs/applications/office/zotero/default.nix7
-rw-r--r--pkgs/applications/radio/dump1090/default.nix4
-rw-r--r--pkgs/applications/radio/freedv/default.nix10
-rw-r--r--pkgs/applications/radio/gnss-sdr/default.nix77
-rw-r--r--pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch47
-rw-r--r--pkgs/applications/radio/gnuradio/3.8.nix6
-rw-r--r--pkgs/applications/radio/gnuradio/3.9.nix6
-rw-r--r--pkgs/applications/radio/gnuradio/default.nix12
-rw-r--r--pkgs/applications/radio/gqrx/default.nix7
-rw-r--r--pkgs/applications/radio/qradiolink/default.nix3
-rw-r--r--pkgs/applications/radio/qsstv/default.nix8
-rw-r--r--pkgs/applications/radio/svxlink/default.nix2
-rw-r--r--pkgs/applications/radio/welle-io/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/gprojector/default.nix4
-rw-r--r--pkgs/applications/science/astronomy/kstars/default.nix4
-rw-r--r--pkgs/applications/science/biology/bcftools/default.nix4
-rw-r--r--pkgs/applications/science/biology/febio-studio/default.nix61
-rw-r--r--pkgs/applications/science/biology/febio-studio/febio-studio-cmake.patch38
-rw-r--r--pkgs/applications/science/biology/last/default.nix4
-rw-r--r--pkgs/applications/science/biology/messer-slim/default.nix4
-rw-r--r--pkgs/applications/science/biology/mosdepth/default.nix4
-rw-r--r--pkgs/applications/science/biology/picard-tools/default.nix4
-rw-r--r--pkgs/applications/science/biology/spades/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/chemtool/default.nix1
-rw-r--r--pkgs/applications/science/chemistry/jmol/default.nix16
-rw-r--r--pkgs/applications/science/chemistry/marvin/default.nix4
-rw-r--r--pkgs/applications/science/chemistry/pymol/default.nix12
-rw-r--r--pkgs/applications/science/electronics/diylc/default.nix2
-rw-r--r--pkgs/applications/science/electronics/eagle/eagle.nix2
-rw-r--r--pkgs/applications/science/electronics/eagle/eagle7.nix2
-rw-r--r--pkgs/applications/science/electronics/kicad/versions.nix22
-rw-r--r--pkgs/applications/science/electronics/lepton-eda/default.nix4
-rw-r--r--pkgs/applications/science/electronics/openhantek6022/default.nix4
-rw-r--r--pkgs/applications/science/electronics/xyce/default.nix182
-rw-r--r--pkgs/applications/science/geometry/gama/default.nix4
-rw-r--r--pkgs/applications/science/geometry/tetgen/default.nix17
-rw-r--r--pkgs/applications/science/logic/coq/default.nix5
-rw-r--r--pkgs/applications/science/logic/formula/default.nix32
-rw-r--r--pkgs/applications/science/logic/formula/nuget.nix77
-rw-r--r--pkgs/applications/science/logic/isabelle/default.nix2
-rw-r--r--pkgs/applications/science/logic/key/default.nix5
-rw-r--r--pkgs/applications/science/logic/lean/default.nix6
-rw-r--r--pkgs/applications/science/logic/logisim-evolution/default.nix4
-rw-r--r--pkgs/applications/science/logic/logisim/default.nix4
-rw-r--r--pkgs/applications/science/logic/tlaplus/default.nix4
-rw-r--r--pkgs/applications/science/logic/tlaplus/toolbox.nix6
-rw-r--r--pkgs/applications/science/logic/why3/default.nix10
-rw-r--r--pkgs/applications/science/logic/workcraft/default.nix4
-rw-r--r--pkgs/applications/science/math/R/default.nix5
-rw-r--r--pkgs/applications/science/math/bcal/default.nix4
-rw-r--r--pkgs/applications/science/math/geogebra/default.nix4
-rw-r--r--pkgs/applications/science/math/getdp/default.nix6
-rw-r--r--pkgs/applications/science/math/ginac/default.nix4
-rw-r--r--pkgs/applications/science/math/gmsh/default.nix17
-rw-r--r--pkgs/applications/science/math/gretl/default.nix4
-rw-r--r--pkgs/applications/science/math/gurobi/default.nix4
-rw-r--r--pkgs/applications/science/math/mathematica/l10ns.nix7
-rw-r--r--pkgs/applications/science/math/polymake/default.nix4
-rw-r--r--pkgs/applications/science/math/qalculate-gtk/default.nix4
-rw-r--r--pkgs/applications/science/math/rofi-calc/default.nix4
-rw-r--r--pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch52
-rw-r--r--pkgs/applications/science/math/sage/sage-src.nix39
-rw-r--r--pkgs/applications/science/math/scilab-bin/default.nix4
-rw-r--r--pkgs/applications/science/misc/bada-bib/default.nix12
-rw-r--r--pkgs/applications/science/misc/colmap/default.nix6
-rw-r--r--pkgs/applications/science/misc/cwltool/default.nix4
-rw-r--r--pkgs/applications/science/misc/cytoscape/default.nix4
-rw-r--r--pkgs/applications/science/misc/netlogo/default.nix2
-rw-r--r--pkgs/applications/science/misc/simgrid/default.nix94
-rw-r--r--pkgs/applications/science/misc/snakemake/default.nix31
-rw-r--r--pkgs/applications/science/molecular-dynamics/gromacs/default.nix4
-rw-r--r--pkgs/applications/science/programming/groove/default.nix2
-rw-r--r--pkgs/applications/science/robotics/qgroundcontrol/default.nix8
-rw-r--r--pkgs/applications/terminal-emulators/mlterm/default.nix6
-rw-r--r--pkgs/applications/terminal-emulators/rxvt-unicode/default.nix2
-rw-r--r--pkgs/applications/terminal-emulators/tilix/default.nix4
-rw-r--r--pkgs/applications/terminal-emulators/wayst/default.nix9
-rw-r--r--pkgs/applications/version-management/commitizen/default.nix43
-rw-r--r--pkgs/applications/version-management/git-and-tools/delta/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/gh/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-branchless/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-cliff/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-gone/default.nix35
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-hub/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git-machete/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/git/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/default.nix4
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix11
-rw-r--r--pkgs/applications/version-management/git-and-tools/gitty/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/glitter/default.nix6
-rw-r--r--pkgs/applications/version-management/git-and-tools/subgit/default.nix4
-rw-r--r--pkgs/applications/version-management/git-lfs/default.nix4
-rw-r--r--pkgs/applications/version-management/git-repo/default.nix4
-rw-r--r--pkgs/applications/version-management/git-review/default.nix8
-rw-r--r--pkgs/applications/version-management/gitea/default.nix4
-rw-r--r--pkgs/applications/version-management/gitkraken/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/data.json10
-rw-r--r--pkgs/applications/version-management/gitlab/gitaly/default.nix6
-rw-r--r--pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock2
-rw-r--r--pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix4
-rw-r--r--pkgs/applications/version-management/got/default.nix4
-rw-r--r--pkgs/applications/version-management/mercurial/default.nix6
-rw-r--r--pkgs/applications/version-management/smartgithg/default.nix14
-rw-r--r--pkgs/applications/version-management/sourcehut/builds.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/core.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/git.nix9
-rw-r--r--pkgs/applications/version-management/sourcehut/hg.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/lists.nix9
-rw-r--r--pkgs/applications/version-management/sourcehut/man.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/meta.nix6
-rw-r--r--pkgs/applications/version-management/sourcehut/pages.nix6
-rw-r--r--pkgs/applications/version-management/sourcehut/patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch50
-rw-r--r--pkgs/applications/version-management/sourcehut/patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch48
-rw-r--r--pkgs/applications/version-management/sourcehut/patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch50
-rw-r--r--pkgs/applications/version-management/sourcehut/scm.nix4
-rw-r--r--pkgs/applications/version-management/sourcehut/todo.nix9
-rw-r--r--pkgs/applications/video/clipgrab/default.nix13
-rw-r--r--pkgs/applications/video/clipgrab/yt-dlp-path.patch86
-rw-r--r--pkgs/applications/video/droidcam/default.nix12
-rw-r--r--pkgs/applications/video/dvdstyler/default.nix45
-rw-r--r--pkgs/applications/video/epgstation/update.nix2
-rw-r--r--pkgs/applications/video/f1viewer/default.nix6
-rw-r--r--pkgs/applications/video/ffmpeg-normalize/default.nix4
-rw-r--r--pkgs/applications/video/freetube/default.nix4
-rw-r--r--pkgs/applications/video/gpac/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/pvr-hts/default.nix4
-rw-r--r--pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix4
-rw-r--r--pkgs/applications/video/lbry/default.nix4
-rw-r--r--pkgs/applications/video/minitube/default.nix4
-rw-r--r--pkgs/applications/video/mirakurun/update.nix2
-rw-r--r--pkgs/applications/video/mkvtoolnix/default.nix4
-rw-r--r--pkgs/applications/video/mplayer/default.nix14
-rw-r--r--pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch22
-rw-r--r--pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch26
-rw-r--r--pkgs/applications/video/obs-studio/default.nix17
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix4
-rw-r--r--pkgs/applications/video/obs-studio/plugins/obs-websocket.nix30
-rw-r--r--pkgs/applications/video/peek/default.nix13
-rw-r--r--pkgs/applications/video/rtabmap/0001-remove-printer-support.patch139
-rw-r--r--pkgs/applications/video/rtabmap/default.nix59
-rw-r--r--pkgs/applications/video/shotcut/default.nix6
-rw-r--r--pkgs/applications/video/streamlink-twitch-gui/bin.nix2
-rw-r--r--pkgs/applications/video/tartube/default.nix4
-rw-r--r--pkgs/applications/video/ustreamer/default.nix4
-rw-r--r--pkgs/applications/video/vdr/default.nix4
-rw-r--r--pkgs/applications/video/vlc/default.nix4
-rw-r--r--pkgs/applications/video/xine-ui/default.nix14
-rw-r--r--pkgs/applications/virtualization/charliecloud/default.nix4
-rw-r--r--pkgs/applications/virtualization/colima/default.nix4
-rw-r--r--pkgs/applications/virtualization/containerd/default.nix11
-rw-r--r--pkgs/applications/virtualization/cri-o/default.nix4
-rw-r--r--pkgs/applications/virtualization/firecracker/default.nix4
-rw-r--r--pkgs/applications/virtualization/libgovirt/default.nix53
-rw-r--r--pkgs/applications/virtualization/lima/default.nix6
-rw-r--r--pkgs/applications/virtualization/podman-tui/default.nix41
-rw-r--r--pkgs/applications/virtualization/podman/default.nix42
-rw-r--r--pkgs/applications/virtualization/podman/wrapper.nix17
-rw-r--r--pkgs/applications/virtualization/qemu/default.nix107
-rw-r--r--pkgs/applications/virtualization/qemu/sigrtminmax.patch30
-rw-r--r--pkgs/applications/virtualization/seabios/default.nix4
-rw-r--r--pkgs/applications/virtualization/singularity/default.nix4
-rw-r--r--pkgs/applications/virtualization/tinyemu/default.nix23
-rw-r--r--pkgs/applications/virtualization/virt-viewer/default.nix74
-rw-r--r--pkgs/applications/virtualization/x11docker/default.nix4
-rw-r--r--pkgs/applications/virtualization/xen/generic.nix4
-rw-r--r--pkgs/applications/window-managers/berry/default.nix2
-rw-r--r--pkgs/applications/window-managers/dwm/dwm-status.nix6
-rw-r--r--pkgs/applications/window-managers/i3/balance-workspace.nix4
-rw-r--r--pkgs/applications/window-managers/i3/status-rust.nix8
-rw-r--r--pkgs/applications/window-managers/leftwm/default.nix6
-rw-r--r--pkgs/applications/window-managers/phosh/default.nix4
-rw-r--r--pkgs/applications/window-managers/picom/default.nix4
-rw-r--r--pkgs/applications/window-managers/qtile/default.nix4
-rw-r--r--pkgs/applications/window-managers/qtile/fix-restart.patch22
-rw-r--r--pkgs/applications/window-managers/river/default.nix11
-rw-r--r--pkgs/build-support/coq/meta-fetch/default.nix7
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-module/default.nix (renamed from pkgs/build-support/build-dotnet-module/default.nix)0
-rw-r--r--pkgs/build-support/dotnet/build-dotnet-package/default.nix (renamed from pkgs/build-support/build-dotnet-package/default.nix)0
-rw-r--r--pkgs/build-support/dotnet/dotnetbuildhelpers/create-pkg-config-for-dll.sh (renamed from pkgs/build-support/dotnetbuildhelpers/create-pkg-config-for-dll.sh)0
-rw-r--r--pkgs/build-support/dotnet/dotnetbuildhelpers/default.nix (renamed from pkgs/build-support/dotnetbuildhelpers/default.nix)0
-rwxr-xr-xpkgs/build-support/dotnet/dotnetbuildhelpers/patch-fsharp-targets.sh (renamed from pkgs/build-support/dotnetbuildhelpers/patch-fsharp-targets.sh)0
-rw-r--r--pkgs/build-support/dotnet/dotnetbuildhelpers/placate-nuget.sh (renamed from pkgs/build-support/dotnetbuildhelpers/placate-nuget.sh)0
-rw-r--r--pkgs/build-support/dotnet/dotnetbuildhelpers/placate-paket.sh (renamed from pkgs/build-support/dotnetbuildhelpers/placate-paket.sh)0
-rw-r--r--pkgs/build-support/dotnet/dotnetbuildhelpers/remove-duplicated-dlls.sh (renamed from pkgs/build-support/dotnetbuildhelpers/remove-duplicated-dlls.sh)0
-rw-r--r--pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper.sln (renamed from pkgs/build-support/dotnetenv/Wrapper/Wrapper.sln)0
-rw-r--r--pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs (renamed from pkgs/build-support/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs)0
-rw-r--r--pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in (renamed from pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in)0
-rw-r--r--pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in (renamed from pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in)0
-rw-r--r--pkgs/build-support/dotnet/dotnetenv/build-solution.nix (renamed from pkgs/build-support/dotnetenv/build-solution.nix)0
-rw-r--r--pkgs/build-support/dotnet/dotnetenv/default.nix (renamed from pkgs/build-support/dotnetenv/default.nix)0
-rw-r--r--pkgs/build-support/dotnet/dotnetenv/wrapper.nix (renamed from pkgs/build-support/dotnetenv/wrapper.nix)0
-rw-r--r--pkgs/build-support/dotnet/fetchnuget/default.nix (renamed from pkgs/build-support/fetchnuget/default.nix)0
-rw-r--r--pkgs/build-support/dotnet/nuget-to-nix/default.nix (renamed from pkgs/build-support/nuget-to-nix/default.nix)0
-rwxr-xr-xpkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh (renamed from pkgs/build-support/nuget-to-nix/nuget-to-nix.sh)0
-rwxr-xr-xpkgs/build-support/fetchgit/deterministic-git45
-rw-r--r--pkgs/build-support/fetchgithub/default.nix15
-rw-r--r--pkgs/build-support/flutter/default.nix284
-rw-r--r--pkgs/build-support/libredirect/default.nix6
-rw-r--r--pkgs/build-support/libredirect/libredirect.c121
-rw-r--r--pkgs/build-support/libredirect/test.c66
-rw-r--r--pkgs/build-support/make-darwin-bundle/default.nix26
-rw-r--r--pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix40
-rw-r--r--pkgs/build-support/make-desktopitem/default.nix151
-rw-r--r--pkgs/build-support/rust/hooks/default.nix10
-rw-r--r--pkgs/build-support/rust/hooks/rust-bindgen-hook.sh13
-rw-r--r--pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh48
-rw-r--r--pkgs/build-support/setup-hooks/make-wrapper.sh78
-rw-r--r--pkgs/common-updater/generic-updater.nix2
-rw-r--r--pkgs/common-updater/git-updater.nix17
-rw-r--r--pkgs/common-updater/http-two-levels-updater.nix19
-rwxr-xr-xpkgs/common-updater/scripts/list-archive-two-level-versions35
-rwxr-xr-xpkgs/common-updater/scripts/list-archive-two-levels-versions54
-rwxr-xr-xpkgs/common-updater/scripts/list-git-tags53
-rw-r--r--pkgs/common-updater/unstable-updater.nix83
-rw-r--r--pkgs/data/documentation/gnome-user-docs/default.nix4
-rw-r--r--pkgs/data/fonts/andika/default.nix4
-rw-r--r--pkgs/data/fonts/behdad-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/charis-sil/default.nix4
-rw-r--r--pkgs/data/fonts/doulos-sil/default.nix4
-rw-r--r--pkgs/data/fonts/gandom-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/gentium/default.nix4
-rwxr-xr-xpkgs/data/fonts/iosevka/update-default.sh2
-rw-r--r--pkgs/data/fonts/ipaexfont/default.nix8
-rw-r--r--pkgs/data/fonts/ir-standard-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/julia-mono/default.nix4
-rw-r--r--pkgs/data/fonts/lalezar-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/lxgw-wenkai/default.nix23
-rw-r--r--pkgs/data/fonts/montserrat/default.nix4
-rw-r--r--pkgs/data/fonts/nahid-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/nanum-gothic-coding/default.nix2
-rw-r--r--pkgs/data/fonts/nika-fonts/default.nix2
-rw-r--r--pkgs/data/fonts/parastoo-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/sahel-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/samim-fonts/default.nix6
-rw-r--r--pkgs/data/fonts/sarasa-gothic/default.nix4
-rw-r--r--pkgs/data/fonts/shabnam-fonts/default.nix6
-rwxr-xr-xpkgs/data/fonts/vazir-fonts/default.nix6
-rw-r--r--pkgs/data/icons/comixcursors/default.nix125
-rw-r--r--pkgs/data/icons/comixcursors/makefile-shell-var.patch11
-rw-r--r--pkgs/data/icons/luna-icons/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-circle/default.nix4
-rw-r--r--pkgs/data/icons/numix-icon-theme-square/default.nix4
-rw-r--r--pkgs/data/icons/tela-circle-icon-theme/default.nix8
-rw-r--r--pkgs/data/icons/tela-icon-theme/default.nix4
-rw-r--r--pkgs/data/icons/vimix-icon-theme/default.nix27
-rw-r--r--pkgs/data/misc/ddccontrol-db/default.nix4
-rw-r--r--pkgs/data/misc/geolite-legacy/builder.sh20
-rw-r--r--pkgs/data/misc/geolite-legacy/default.nix53
-rw-r--r--pkgs/data/misc/hackage/pin.json8
-rw-r--r--pkgs/data/misc/mime-types/default.nix21
-rw-r--r--pkgs/data/misc/osinfo-db/default.nix19
-rw-r--r--pkgs/data/misc/v2ray-geoip/default.nix6
-rw-r--r--pkgs/data/soundfonts/ydp-grand/default.nix23
-rw-r--r--pkgs/data/themes/artim-dark/default.nix35
-rw-r--r--pkgs/data/themes/flat-remix-gtk/default.nix4
-rw-r--r--pkgs/data/themes/graphite-gtk-theme/default.nix (renamed from pkgs/data/themes/graphite/default.nix)21
-rw-r--r--pkgs/data/themes/graphite-kde-theme/default.nix6
-rw-r--r--pkgs/data/themes/marwaita/default.nix7
-rw-r--r--pkgs/data/themes/orchis-theme/default.nix4
-rw-r--r--pkgs/data/themes/pitch-black/default.nix30
-rw-r--r--pkgs/data/themes/plano/default.nix4
-rw-r--r--pkgs/data/themes/stilo/default.nix4
-rw-r--r--pkgs/data/themes/zuki/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/nemo/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/xapps/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/xreader/default.nix4
-rw-r--r--pkgs/desktops/cinnamon/xviewer/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/efl/default.nix4
-rw-r--r--pkgs/desktops/enlightenment/enlightenment/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gedit/default.nix13
-rw-r--r--pkgs/desktops/gnome/apps/gnome-maps/default.nix4
-rw-r--r--pkgs/desktops/gnome/apps/gnome-todo/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/evince/default.nix6
-rw-r--r--pkgs/desktops/gnome/core/evolution-data-server/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-bluetooth/default.nix2
-rw-r--r--pkgs/desktops/gnome/core/gnome-control-center/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-initial-setup/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-shell/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/gnome-software/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/mutter/default.nix4
-rw-r--r--pkgs/desktops/gnome/core/yelp/default.nix8
-rw-r--r--pkgs/desktops/gnome/extensions/arcmenu/default.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/dash-to-dock/default.nix48
-rw-r--r--pkgs/desktops/gnome/extensions/dash-to-panel/default.nix31
-rw-r--r--pkgs/desktops/gnome/extensions/extensionOverrides.nix4
-rw-r--r--pkgs/desktops/gnome/extensions/extensions.json143
-rw-r--r--pkgs/desktops/gnome/extensions/manuallyPackaged.nix2
-rw-r--r--pkgs/desktops/gnome/extensions/pop-shell/default.nix10
-rw-r--r--pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch34
-rw-r--r--pkgs/desktops/gnome/games/gnome-mines/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gnome-autoar/default.nix4
-rw-r--r--pkgs/desktops/gnome/misc/gpaste/default.nix4
-rw-r--r--pkgs/desktops/gnome/update.nix38
-rw-r--r--pkgs/desktops/gnustep/gworkspace/default.nix4
-rw-r--r--pkgs/desktops/lxqt/default.nix3
-rw-r--r--pkgs/desktops/mate/default.nix5
-rw-r--r--pkgs/desktops/mate/mate-tweak/default.nix10
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch240
-rw-r--r--pkgs/desktops/pantheon/apps/appcenter/default.nix9
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix3
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.appcenter.dockitem2
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override2
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix13
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch21
-rw-r--r--pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch103
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix4
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix4
-rw-r--r--pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix2
-rw-r--r--pkgs/desktops/xfce/applications/orage/default.nix5
-rw-r--r--pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix4
-rw-r--r--pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix6
-rw-r--r--pkgs/desktops/xfce/art/xfwm4-themes/default.nix6
-rw-r--r--pkgs/desktops/xfce/default.nix13
-rw-r--r--pkgs/desktops/xfce/mkXfceDerivation.nix5
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix4
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix10
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix7
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix10
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix6
-rw-r--r--pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix5
-rw-r--r--pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix4
-rw-r--r--pkgs/development/beam-modules/elvis-erlang/default.nix2
-rw-r--r--pkgs/development/beam-modules/erlang-ls/default.nix6
-rw-r--r--pkgs/development/beam-modules/erlang-ls/rebar-deps.nix17
-rw-r--r--pkgs/development/compilers/closure/default.nix4
-rw-r--r--pkgs/development/compilers/cudatoolkit/default.nix7
-rw-r--r--pkgs/development/compilers/elm/default.nix350
-rw-r--r--pkgs/development/compilers/elm/packages/elm-json.nix22
-rw-r--r--pkgs/development/compilers/elm/packages/elm-test-rs.nix17
-rw-r--r--pkgs/development/compilers/elm/packages/elm.nix1
-rw-r--r--pkgs/development/compilers/flutter/default.nix8
-rw-r--r--pkgs/development/compilers/flutter/flutter.nix10
-rw-r--r--pkgs/development/compilers/gforth/boot-forth.nix24
-rw-r--r--pkgs/development/compilers/gforth/default.nix33
-rw-r--r--pkgs/development/compilers/gforth/swig.nix16
-rw-r--r--pkgs/development/compilers/go/1.16.nix4
-rw-r--r--pkgs/development/compilers/go/1.17.nix4
-rw-r--r--pkgs/development/compilers/go/1.18.nix4
-rw-r--r--pkgs/development/compilers/jetbrains-jdk/default.nix5
-rw-r--r--pkgs/development/compilers/julia/1.7-bin.nix4
-rw-r--r--pkgs/development/compilers/mezzo/default.nix4
-rw-r--r--pkgs/development/compilers/myrddin/default.nix1
-rw-r--r--pkgs/development/compilers/nim/default.nix4
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/11.nix4
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/15.nix4
-rw-r--r--pkgs/development/compilers/openjdk/openjfx/17.nix106
-rw-r--r--pkgs/development/compilers/passerine/default.nix10
-rw-r--r--pkgs/development/compilers/rust/1_58.nix (renamed from pkgs/development/compilers/rust/1_57.nix)30
-rw-r--r--pkgs/development/compilers/rust/make-rust-platform.nix2
-rw-r--r--pkgs/development/compilers/swift/default.nix123
-rw-r--r--pkgs/development/compilers/tvm/default.nix4
-rw-r--r--pkgs/development/compilers/vala/default.nix11
-rw-r--r--pkgs/development/compilers/zig/default.nix5
-rw-r--r--pkgs/development/coq-modules/ITree/default.nix2
-rw-r--r--pkgs/development/coq-modules/LibHyps/default.nix21
-rw-r--r--pkgs/development/coq-modules/VST/default.nix11
-rw-r--r--pkgs/development/coq-modules/addition-chains/default.nix3
-rw-r--r--pkgs/development/coq-modules/compcert/default.nix10
-rw-r--r--pkgs/development/coq-modules/coq-elpi/default.nix5
-rw-r--r--pkgs/development/coq-modules/coqhammer/default.nix3
-rw-r--r--pkgs/development/coq-modules/gaia-hydras/default.nix2
-rw-r--r--pkgs/development/coq-modules/hydra-battles/default.nix14
-rw-r--r--pkgs/development/coq-modules/iris/default.nix4
-rw-r--r--pkgs/development/coq-modules/stdpp/default.nix4
-rw-r--r--pkgs/development/embedded/arduino/arduino-cli/default.nix6
-rw-r--r--pkgs/development/embedded/gputils/default.nix4
-rw-r--r--pkgs/development/embedded/stm32/stm32cubemx/default.nix2
-rw-r--r--pkgs/development/embedded/tytools/default.nix4
-rw-r--r--pkgs/development/guile-modules/guile-json/default.nix4
-rw-r--r--pkgs/development/guile-modules/guile-ssh/default.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-common.nix24
-rw-r--r--pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix4
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml17
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml7
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml122
-rw-r--r--pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml27
-rw-r--r--pkgs/development/haskell-modules/configuration-nix.nix20
-rw-r--r--pkgs/development/haskell-modules/hackage-packages.nix3137
-rw-r--r--pkgs/development/haskell-modules/with-packages-wrapper.nix15
-rw-r--r--pkgs/development/idris-modules/array.nix2
-rw-r--r--pkgs/development/idris-modules/bi.nix2
-rw-r--r--pkgs/development/idris-modules/bifunctors.nix2
-rw-r--r--pkgs/development/idris-modules/build-builtin-package.nix10
-rw-r--r--pkgs/development/idris-modules/build-idris-package.nix9
-rw-r--r--pkgs/development/idris-modules/bytes.nix2
-rw-r--r--pkgs/development/idris-modules/canvas.nix2
-rw-r--r--pkgs/development/idris-modules/categories.nix2
-rw-r--r--pkgs/development/idris-modules/coda.nix2
-rw-r--r--pkgs/development/idris-modules/comonad.nix2
-rw-r--r--pkgs/development/idris-modules/composition.nix2
-rw-r--r--pkgs/development/idris-modules/config.nix2
-rw-r--r--pkgs/development/idris-modules/console.nix2
-rw-r--r--pkgs/development/idris-modules/containers.nix2
-rw-r--r--pkgs/development/idris-modules/cube.nix2
-rw-r--r--pkgs/development/idris-modules/default.nix9
-rw-r--r--pkgs/development/idris-modules/derive.nix2
-rw-r--r--pkgs/development/idris-modules/descncrunch.nix2
-rw-r--r--pkgs/development/idris-modules/dict.nix2
-rw-r--r--pkgs/development/idris-modules/dom.nix2
-rw-r--r--pkgs/development/idris-modules/electron.nix2
-rw-r--r--pkgs/development/idris-modules/eternal.nix2
-rw-r--r--pkgs/development/idris-modules/farrp.nix2
-rw-r--r--pkgs/development/idris-modules/free.nix2
-rw-r--r--pkgs/development/idris-modules/fsm.nix2
-rw-r--r--pkgs/development/idris-modules/glfw.nix2
-rw-r--r--pkgs/development/idris-modules/graphviz.nix2
-rw-r--r--pkgs/development/idris-modules/hamt.nix2
-rw-r--r--pkgs/development/idris-modules/hezarfen.nix2
-rw-r--r--pkgs/development/idris-modules/hrtime.nix2
-rw-r--r--pkgs/development/idris-modules/html.nix2
-rw-r--r--pkgs/development/idris-modules/http.nix2
-rw-r--r--pkgs/development/idris-modules/http4idris.nix2
-rw-r--r--pkgs/development/idris-modules/iaia.nix2
-rw-r--r--pkgs/development/idris-modules/idrishighlighter.nix2
-rw-r--r--pkgs/development/idris-modules/idrisscript.nix2
-rw-r--r--pkgs/development/idris-modules/ipkgparser.nix2
-rw-r--r--pkgs/development/idris-modules/jheiling-extras.nix2
-rw-r--r--pkgs/development/idris-modules/jheiling-js.nix2
-rw-r--r--pkgs/development/idris-modules/js.nix2
-rw-r--r--pkgs/development/idris-modules/lens.nix2
-rw-r--r--pkgs/development/idris-modules/lightyear.nix2
-rw-r--r--pkgs/development/idris-modules/logic.nix2
-rw-r--r--pkgs/development/idris-modules/mapping.nix2
-rw-r--r--pkgs/development/idris-modules/mhd.nix2
-rw-r--r--pkgs/development/idris-modules/pacman.nix2
-rw-r--r--pkgs/development/idris-modules/patricia.nix2
-rw-r--r--pkgs/development/idris-modules/permutations.nix2
-rw-r--r--pkgs/development/idris-modules/pfds.nix2
-rw-r--r--pkgs/development/idris-modules/pipes.nix2
-rw-r--r--pkgs/development/idris-modules/posix.nix2
-rw-r--r--pkgs/development/idris-modules/protobuf.nix25
-rw-r--r--pkgs/development/idris-modules/quantities.nix2
-rw-r--r--pkgs/development/idris-modules/rationals.nix2
-rw-r--r--pkgs/development/idris-modules/recursion_schemes.nix2
-rw-r--r--pkgs/development/idris-modules/refined.nix2
-rw-r--r--pkgs/development/idris-modules/sdl.nix2
-rw-r--r--pkgs/development/idris-modules/sdl2.nix2
-rw-r--r--pkgs/development/idris-modules/semidirect.nix2
-rw-r--r--pkgs/development/idris-modules/setoids.nix2
-rw-r--r--pkgs/development/idris-modules/smproc.nix2
-rw-r--r--pkgs/development/idris-modules/snippets.nix2
-rw-r--r--pkgs/development/idris-modules/software_foundations.nix2
-rw-r--r--pkgs/development/idris-modules/specdris.nix2
-rw-r--r--pkgs/development/idris-modules/tap.nix2
-rw-r--r--pkgs/development/idris-modules/test.nix2
-rw-r--r--pkgs/development/idris-modules/tfrandom.nix2
-rw-r--r--pkgs/development/idris-modules/tlhydra.nix2
-rw-r--r--pkgs/development/idris-modules/tomladris.nix2
-rw-r--r--pkgs/development/idris-modules/tp.nix2
-rw-r--r--pkgs/development/idris-modules/tparsec.nix2
-rw-r--r--pkgs/development/idris-modules/transducers.nix2
-rw-r--r--pkgs/development/idris-modules/trees.nix2
-rw-r--r--pkgs/development/idris-modules/union_type.nix2
-rw-r--r--pkgs/development/idris-modules/vdom.nix2
-rw-r--r--pkgs/development/idris-modules/vecspace.nix2
-rw-r--r--pkgs/development/idris-modules/webgl.nix2
-rw-r--r--pkgs/development/idris-modules/wl-pprint.nix2
-rw-r--r--pkgs/development/idris-modules/wyvern.nix2
-rw-r--r--pkgs/development/idris-modules/xhr.nix2
-rw-r--r--pkgs/development/idris-modules/yaml.nix2
-rw-r--r--pkgs/development/idris-modules/yampa.nix2
-rw-r--r--pkgs/development/interpreters/bats/default.nix44
-rw-r--r--pkgs/development/interpreters/clojure/babashka.nix4
-rw-r--r--pkgs/development/interpreters/clojure/default.nix4
-rw-r--r--pkgs/development/interpreters/duktape/default.nix4
-rw-r--r--pkgs/development/interpreters/elixir/1.13.nix4
-rw-r--r--pkgs/development/interpreters/erlang/generic-builder.nix2
-rw-r--r--pkgs/development/interpreters/janet/darwin-remove-net-test.patch20
-rw-r--r--pkgs/development/interpreters/janet/default.nix19
-rw-r--r--pkgs/development/interpreters/janet/jpm.nix59
-rw-r--r--pkgs/development/interpreters/jruby/default.nix4
-rw-r--r--pkgs/development/interpreters/nextflow/default.nix56
-rw-r--r--pkgs/development/interpreters/php/7.4.nix4
-rw-r--r--pkgs/development/interpreters/php/8.0.nix4
-rw-r--r--pkgs/development/interpreters/php/8.1.nix4
-rw-r--r--pkgs/development/interpreters/python/cpython/default.nix9
-rw-r--r--pkgs/development/interpreters/python/default.nix28
-rw-r--r--pkgs/development/interpreters/quickjs/default.nix1
-rw-r--r--pkgs/development/interpreters/racket/default.nix44
-rw-r--r--pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch11
-rw-r--r--pkgs/development/interpreters/racket/minimal.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/default.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/moarvm.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/nqp.nix4
-rw-r--r--pkgs/development/interpreters/rakudo/zef.nix4
-rw-r--r--pkgs/development/interpreters/ruby/default.nix3
-rw-r--r--pkgs/development/interpreters/spidermonkey/91.nix4
-rw-r--r--pkgs/development/libraries/CGAL/default.nix4
-rw-r--r--pkgs/development/libraries/SDL2_ttf/2.0.15.nix25
-rw-r--r--pkgs/development/libraries/abseil-cpp/202103.nix (renamed from pkgs/development/libraries/abseil-cpp/default.nix)2
-rw-r--r--pkgs/development/libraries/abseil-cpp/202111.nix36
-rw-r--r--pkgs/development/libraries/ace/default.nix4
-rw-r--r--pkgs/development/libraries/aften/default.nix2
-rw-r--r--pkgs/development/libraries/amdvlk/default.nix4
-rw-r--r--pkgs/development/libraries/apache-activemq/default.nix4
-rw-r--r--pkgs/development/libraries/apr-util/default.nix11
-rw-r--r--pkgs/development/libraries/arb/default.nix6
-rw-r--r--pkgs/development/libraries/armadillo/default.nix4
-rw-r--r--pkgs/development/libraries/arrow-cpp/default.nix31
-rw-r--r--pkgs/development/libraries/audio/lilv/default.nix12
-rw-r--r--pkgs/development/libraries/avro-c++/default.nix4
-rw-r--r--pkgs/development/libraries/avro-c/default.nix4
-rw-r--r--pkgs/development/libraries/babl/default.nix17
-rw-r--r--pkgs/development/libraries/bctoolbox/default.nix4
-rw-r--r--pkgs/development/libraries/belcard/default.nix4
-rw-r--r--pkgs/development/libraries/belr/default.nix4
-rw-r--r--pkgs/development/libraries/boca/default.nix4
-rw-r--r--pkgs/development/libraries/boehm-gc/default.nix4
-rw-r--r--pkgs/development/libraries/boost/generic.nix4
-rw-r--r--pkgs/development/libraries/bzrtp/default.nix4
-rw-r--r--pkgs/development/libraries/catch2/default.nix4
-rw-r--r--pkgs/development/libraries/chromaprint/default.nix4
-rw-r--r--pkgs/development/libraries/cpp-utilities/default.nix4
-rw-r--r--pkgs/development/libraries/crypto++/default.nix31
-rw-r--r--pkgs/development/libraries/double-conversion/default.nix4
-rw-r--r--pkgs/development/libraries/dqlite/default.nix2
-rw-r--r--pkgs/development/libraries/drogon/default.nix4
-rw-r--r--pkgs/development/libraries/drumstick/default.nix6
-rw-r--r--pkgs/development/libraries/duckdb/default.nix42
-rw-r--r--pkgs/development/libraries/duckdb/version.patch51
-rw-r--r--pkgs/development/libraries/eccodes/default.nix4
-rw-r--r--pkgs/development/libraries/elfio/default.nix4
-rw-r--r--pkgs/development/libraries/elpa/default.nix9
-rw-r--r--pkgs/development/libraries/embree/default.nix4
-rw-r--r--pkgs/development/libraries/exiv2/default.nix20
-rw-r--r--pkgs/development/libraries/expat/default.nix4
-rw-r--r--pkgs/development/libraries/faad2/default.nix2
-rw-r--r--pkgs/development/libraries/farstream/default.nix11
-rw-r--r--pkgs/development/libraries/ffmpeg-full/default.nix9
-rw-r--r--pkgs/development/libraries/ffmpegthumbnailer/default.nix6
-rw-r--r--pkgs/development/libraries/ffms/default.nix4
-rw-r--r--pkgs/development/libraries/fftw/default.nix14
-rw-r--r--pkgs/development/libraries/flatpak/default.nix6
-rw-r--r--pkgs/development/libraries/flatpak/unset-env-vars.patch10
-rw-r--r--pkgs/development/libraries/folly/default.nix35
-rw-r--r--pkgs/development/libraries/freetds/default.nix4
-rw-r--r--pkgs/development/libraries/gensio/default.nix4
-rw-r--r--pkgs/development/libraries/giblib/default.nix37
-rw-r--r--pkgs/development/libraries/git2/default.nix38
-rw-r--r--pkgs/development/libraries/gjs/default.nix4
-rw-r--r--pkgs/development/libraries/gobject-introspection/default.nix9
-rw-r--r--pkgs/development/libraries/gsettings-qt/default.nix5
-rw-r--r--pkgs/development/libraries/gstreamer/bad/default.nix58
-rw-r--r--pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/base/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/core/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch17
-rw-r--r--pkgs/development/libraries/gstreamer/devtools/default.nix10
-rw-r--r--pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/ges/default.nix8
-rw-r--r--pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/good/default.nix4
-rw-r--r--pkgs/development/libraries/gstreamer/libav/default.nix6
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/default.nix16
-rw-r--r--pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch15
-rw-r--r--pkgs/development/libraries/gstreamer/ugly/default.nix23
-rw-r--r--pkgs/development/libraries/gstreamer/vaapi/default.nix4
-rw-r--r--pkgs/development/libraries/gtk/4.x.nix4
-rw-r--r--pkgs/development/libraries/gtkmm/4.x.nix4
-rw-r--r--pkgs/development/libraries/gvfs/default.nix2
-rw-r--r--pkgs/development/libraries/gvm-libs/default.nix4
-rw-r--r--pkgs/development/libraries/harfbuzz/default.nix4
-rw-r--r--pkgs/development/libraries/hidapi/default.nix4
-rw-r--r--pkgs/development/libraries/imgui/default.nix4
-rw-r--r--pkgs/development/libraries/imlib2/default.nix18
-rw-r--r--pkgs/development/libraries/intel-media-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/java/gwt-dragdrop/default.nix27
-rw-r--r--pkgs/development/libraries/java/gwt-widgets/default.nix25
-rw-r--r--pkgs/development/libraries/jcal/default.nix2
-rw-r--r--pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh27
-rw-r--r--pkgs/development/libraries/kde-frameworks/fetch.sh2
-rw-r--r--pkgs/development/libraries/kde-frameworks/srcs.nix664
-rw-r--r--pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch32
-rw-r--r--pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch28
-rw-r--r--pkgs/development/libraries/kerberos/krb5.nix16
-rw-r--r--pkgs/development/libraries/kquickimageedit/default.nix15
-rw-r--r--pkgs/development/libraries/libadwaita/default.nix4
-rw-r--r--pkgs/development/libraries/libcangjie/default.nix11
-rw-r--r--pkgs/development/libraries/libcef/default.nix18
-rwxr-xr-xpkgs/development/libraries/libcef/update.sh27
-rw-r--r--pkgs/development/libraries/libcommuni/default.nix4
-rw-r--r--pkgs/development/libraries/libcouchbase/default.nix4
-rw-r--r--pkgs/development/libraries/libcyaml/default.nix4
-rw-r--r--pkgs/development/libraries/libdbusmenu/default.nix9
-rw-r--r--pkgs/development/libraries/libdeltachat/default.nix6
-rw-r--r--pkgs/development/libraries/libfilezilla/default.nix4
-rw-r--r--pkgs/development/libraries/libfprint/default.nix4
-rw-r--r--pkgs/development/libraries/libgbinder/default.nix4
-rw-r--r--pkgs/development/libraries/libgcrypt/default.nix17
-rw-r--r--pkgs/development/libraries/libgit2/default.nix58
-rw-r--r--pkgs/development/libraries/libgphoto2/default.nix4
-rw-r--r--pkgs/development/libraries/libguestfs/default.nix16
-rw-r--r--pkgs/development/libraries/libical/default.nix4
-rw-r--r--pkgs/development/libraries/libindicator/default.nix8
-rw-r--r--pkgs/development/libraries/libinput/default.nix110
-rw-r--r--pkgs/development/libraries/libjcat/default.nix12
-rw-r--r--pkgs/development/libraries/libjpeg/default.nix4
-rw-r--r--pkgs/development/libraries/libliftoff/default.nix9
-rw-r--r--pkgs/development/libraries/libmodbus/default.nix4
-rw-r--r--pkgs/development/libraries/libmodulemd/default.nix6
-rw-r--r--pkgs/development/libraries/libmysqlconnectorcpp/default.nix6
-rw-r--r--pkgs/development/libraries/libnats-c/default.nix6
-rw-r--r--pkgs/development/libraries/libosinfo/default.nix5
-rw-r--r--pkgs/development/libraries/libosmium/default.nix8
-rw-r--r--pkgs/development/libraries/libplctag/default.nix4
-rw-r--r--pkgs/development/libraries/libqalculate/default.nix4
-rw-r--r--pkgs/development/libraries/libraspberrypi/default.nix6
-rw-r--r--pkgs/development/libraries/librest/default.nix13
-rw-r--r--pkgs/development/libraries/librsb/default.nix4
-rw-r--r--pkgs/development/libraries/librsvg/default.nix8
-rw-r--r--pkgs/development/libraries/libscrypt/default.nix4
-rw-r--r--pkgs/development/libraries/libserdes/default.nix9
-rw-r--r--pkgs/development/libraries/libsmartcols/default.nix6
-rw-r--r--pkgs/development/libraries/libsnark/default.nix10
-rw-r--r--pkgs/development/libraries/libspf2/default.nix5
-rw-r--r--pkgs/development/libraries/libspng/default.nix4
-rw-r--r--pkgs/development/libraries/libsurvive/default.nix4
-rw-r--r--pkgs/development/libraries/libtins/default.nix4
-rw-r--r--pkgs/development/libraries/libtsm/default.nix4
-rw-r--r--pkgs/development/libraries/libui/default.nix21
-rw-r--r--pkgs/development/libraries/liburcu/default.nix4
-rw-r--r--pkgs/development/libraries/libvirt/default.nix15
-rw-r--r--pkgs/development/libraries/libxmlb/default.nix11
-rw-r--r--pkgs/development/libraries/libxmlb/installed-tests-path.patch10
-rw-r--r--pkgs/development/libraries/libyang/default.nix6
-rw-r--r--pkgs/development/libraries/liquidfun/default.nix33
-rw-r--r--pkgs/development/libraries/mauikit-filebrowsing/default.nix4
-rw-r--r--pkgs/development/libraries/mauikit/default.nix4
-rw-r--r--pkgs/development/libraries/mdds/default.nix4
-rw-r--r--pkgs/development/libraries/minizip/default.nix3
-rw-r--r--pkgs/development/libraries/mlt/default.nix9
-rw-r--r--pkgs/development/libraries/mlt/qt-5.nix6
-rw-r--r--pkgs/development/libraries/mm-common/default.nix4
-rw-r--r--pkgs/development/libraries/mtxclient/default.nix4
-rw-r--r--pkgs/development/libraries/nanodbc/default.nix39
-rw-r--r--pkgs/development/libraries/nanoflann/default.nix4
-rw-r--r--pkgs/development/libraries/ncnn/default.nix4
-rw-r--r--pkgs/development/libraries/nco/default.nix4
-rw-r--r--pkgs/development/libraries/ncurses/default.nix1
-rw-r--r--pkgs/development/libraries/ndpi/default.nix6
-rw-r--r--pkgs/development/libraries/notcurses/default.nix4
-rw-r--r--pkgs/development/libraries/nv-codec-headers/11_x.nix4
-rw-r--r--pkgs/development/libraries/nvidia-vaapi-driver/default.nix50
-rw-r--r--pkgs/development/libraries/okapi/default.nix4
-rw-r--r--pkgs/development/libraries/openal-soft/default.nix5
-rw-r--r--pkgs/development/libraries/opencl-headers/default.nix2
-rw-r--r--pkgs/development/libraries/opendht/default.nix4
-rw-r--r--pkgs/development/libraries/openimagedenoise/default.nix4
-rw-r--r--pkgs/development/libraries/openxr-loader/default.nix4
-rw-r--r--pkgs/development/libraries/p11-kit/default.nix55
-rw-r--r--pkgs/development/libraries/pcre2/default.nix4
-rw-r--r--pkgs/development/libraries/pdf2xml/default.nix1
-rw-r--r--pkgs/development/libraries/phonon/backends/vlc.nix9
-rw-r--r--pkgs/development/libraries/physics/fastjet-contrib/default.nix9
-rw-r--r--pkgs/development/libraries/physics/geant4/datasets.nix34
-rw-r--r--pkgs/development/libraries/pico-sdk/default.nix4
-rw-r--r--pkgs/development/libraries/pipewire/wireplumber.nix15
-rw-r--r--pkgs/development/libraries/pkcs11helper/default.nix6
-rw-r--r--pkgs/development/libraries/portmidi/default.nix63
-rw-r--r--pkgs/development/libraries/portmidi/missing-header.diff12
-rw-r--r--pkgs/development/libraries/portmidi/remove-darwin-variables.diff52
-rw-r--r--pkgs/development/libraries/prison/default.nix7
-rw-r--r--pkgs/development/libraries/proj-datumgrid/default.nix2
-rw-r--r--pkgs/development/libraries/protobuf/3.16.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.18.nix4
-rw-r--r--pkgs/development/libraries/protobuf/3.19.nix4
-rw-r--r--pkgs/development/libraries/protozero/default.nix8
-rw-r--r--pkgs/development/libraries/pugixml/default.nix4
-rw-r--r--pkgs/development/libraries/qimageblitz/default.nix14
-rw-r--r--pkgs/development/libraries/qpdf/default.nix4
-rw-r--r--pkgs/development/libraries/qt-4.x/4.8/default.nix23
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebengine.nix5
-rw-r--r--pkgs/development/libraries/qt-5/modules/qtwebkit.nix4
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix12
-rw-r--r--pkgs/development/libraries/qtstyleplugin-kvantum/default.nix4
-rw-r--r--pkgs/development/libraries/readline/5.x.nix21
-rw-r--r--pkgs/development/libraries/readline/6.2.nix64
-rw-r--r--pkgs/development/libraries/readline/clang.patch13
-rw-r--r--pkgs/development/libraries/readline/no-arch_only.patch14
-rw-r--r--pkgs/development/libraries/readline/readline-6.2-patches.nix9
-rw-r--r--pkgs/development/libraries/readline/shobj-darwin.patch11
-rw-r--r--pkgs/development/libraries/rinutils/default.nix4
-rw-r--r--pkgs/development/libraries/rocksdb/default.nix4
-rw-r--r--pkgs/development/libraries/rocm-device-libs/default.nix2
-rw-r--r--pkgs/development/libraries/s2n-tls/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/clmagma/default.nix10
-rw-r--r--pkgs/development/libraries/science/math/cudnn/default.nix85
-rw-r--r--pkgs/development/libraries/science/math/cudnn/generic.nix5
-rw-r--r--pkgs/development/libraries/science/math/libhomfly/default.nix6
-rw-r--r--pkgs/development/libraries/science/math/metis/default.nix2
-rw-r--r--pkgs/development/libraries/science/math/openlibm/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/petsc/default.nix11
-rw-r--r--pkgs/development/libraries/science/math/primesieve/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/scalapack/default.nix32
-rw-r--r--pkgs/development/libraries/science/math/scs/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix4
-rw-r--r--pkgs/development/libraries/science/math/suitesparse/4.4.nix10
-rw-r--r--pkgs/development/libraries/science/math/trilinos/default.nix100
-rw-r--r--pkgs/development/libraries/sentry-native/default.nix4
-rw-r--r--pkgs/development/libraries/simgear/default.nix4
-rw-r--r--pkgs/development/libraries/smpeg/default.nix2
-rw-r--r--pkgs/development/libraries/soil/default.nix3
-rw-r--r--pkgs/development/libraries/sope/default.nix4
-rw-r--r--pkgs/development/libraries/soprano/default.nix27
-rw-r--r--pkgs/development/libraries/soprano/find-virtuoso.patch86
-rw-r--r--pkgs/development/libraries/speech-tools/default.nix6
-rw-r--r--pkgs/development/libraries/spice-gtk/default.nix22
-rw-r--r--pkgs/development/libraries/spice-protocol/default.nix4
-rw-r--r--pkgs/development/libraries/spice/default.nix6
-rw-r--r--pkgs/development/libraries/srt/default.nix4
-rw-r--r--pkgs/development/libraries/symengine/default.nix4
-rw-r--r--pkgs/development/libraries/tclx/default.nix13
-rw-r--r--pkgs/development/libraries/tdb/default.nix4
-rw-r--r--pkgs/development/libraries/tdlib/default.nix6
-rw-r--r--pkgs/development/libraries/thrift/default.nix4
-rw-r--r--pkgs/development/libraries/tracker/default.nix4
-rw-r--r--pkgs/development/libraries/uri/default.nix2
-rw-r--r--pkgs/development/libraries/volk/default.nix11
-rw-r--r--pkgs/development/libraries/vte/2.90.nix9
-rw-r--r--pkgs/development/libraries/vtk/generic.nix10
-rw-r--r--pkgs/development/libraries/vulkan-headers/default.nix2
-rw-r--r--pkgs/development/libraries/vulkan-loader/default.nix14
-rw-r--r--pkgs/development/libraries/wayland/protocols.nix4
-rw-r--r--pkgs/development/libraries/webkitgtk/default.nix36
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/0.3.nix26
-rw-r--r--pkgs/development/libraries/webrtc-audio-processing/default.nix33
-rw-r--r--pkgs/development/libraries/wlroots/0.14.nix4
-rw-r--r--pkgs/development/libraries/wlroots/0.15.nix4
-rw-r--r--pkgs/development/libraries/wxsqlite3/default.nix10
-rw-r--r--pkgs/development/libraries/wxwidgets/2.8/default.nix121
-rw-r--r--pkgs/development/libraries/wxwidgets/2.9/default.nix152
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/default.nix160
-rw-r--r--pkgs/development/libraries/wxwidgets/3.0/mac.nix98
-rw-r--r--pkgs/development/libraries/wxwidgets/patches/0001-fix-assertion-using-hide-in-destroy.patch43
-rw-r--r--pkgs/development/libraries/x264/default.nix2
-rw-r--r--pkgs/development/libraries/x265/default.nix163
-rw-r--r--pkgs/development/libraries/xapian/default.nix2
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix25
-rw-r--r--pkgs/development/libraries/xdg-desktop-portal/default.nix54
-rw-r--r--pkgs/development/libraries/xine-lib/default.nix20
-rw-r--r--pkgs/development/libraries/zeitgeist/default.nix16
-rw-r--r--pkgs/development/libraries/zlib/default.nix6
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/mmap.nix33
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-output/slynk.nix30
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt2
-rw-r--r--pkgs/development/lisp-modules/quicklisp-to-nix.nix22
-rw-r--r--pkgs/development/misc/google-clasp/README.md6
-rw-r--r--pkgs/development/misc/google-clasp/default.nix19
-rw-r--r--pkgs/development/misc/google-clasp/dotf.patch13
-rwxr-xr-xpkgs/development/misc/google-clasp/generate.sh9
-rw-r--r--pkgs/development/misc/google-clasp/google-clasp.nix17
-rw-r--r--pkgs/development/misc/google-clasp/node-packages.json3
-rw-r--r--pkgs/development/misc/google-clasp/node-packages.nix2115
-rw-r--r--pkgs/development/nim-packages/build-nim-package/default.nix1
-rw-r--r--pkgs/development/nim-packages/jsonschema/default.nix26
-rw-r--r--pkgs/development/nim-packages/karax/default.nix4
-rw-r--r--pkgs/development/nim-packages/redpool/default.nix4
-rw-r--r--pkgs/development/node-packages/default.nix29
-rw-r--r--pkgs/development/node-packages/node-packages.json16
-rw-r--r--pkgs/development/node-packages/node-packages.nix15568
-rw-r--r--pkgs/development/node-packages/package-tests/tailwindcss.nix38
-rw-r--r--pkgs/development/ocaml-modules/apron/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/astring/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/bap/default.nix8
-rw-r--r--pkgs/development/ocaml-modules/batteries/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/benchmark/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/bos/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/camlimages/4.2.4.nix7
-rw-r--r--pkgs/development/ocaml-modules/camlpdf/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/cpdf/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/crowbar/default.nix5
-rw-r--r--pkgs/development/ocaml-modules/crowbar/pprint.patch22
-rw-r--r--pkgs/development/ocaml-modules/dose3/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/dum/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/elina/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/elpi/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/erm_xmpp/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/expat/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/farfadet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/frontc/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/functory/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/gg/default.nix31
-rw-r--r--pkgs/development/ocaml-modules/inotify/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/janestreet/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/jsonm/default.nix7
-rw-r--r--pkgs/development/ocaml-modules/lablgtk-extras/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/labltk/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/luv/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/lwt_react/default.nix24
-rw-r--r--pkgs/development/ocaml-modules/mdx/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/mlgmpidl/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/mtime/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/nocrypto/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/notty/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/num/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocamlnet/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ocp-ocamlres/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/parmap/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/piqi-ocaml/default.nix6
-rw-r--r--pkgs/development/ocaml-modules/piqi/default.nix12
-rw-r--r--pkgs/development/ocaml-modules/pprint/default.nix42
-rw-r--r--pkgs/development/ocaml-modules/printbox/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/process/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/ptime/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/pyml/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/rope/default.nix3
-rw-r--r--pkgs/development/ocaml-modules/rresult/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/sosa/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/stdcompat/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/topkg/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/torch/default.nix4
-rw-r--r--pkgs/development/ocaml-modules/wasm/default.nix2
-rw-r--r--pkgs/development/ocaml-modules/xml-light/default.nix17
-rw-r--r--pkgs/development/octave-modules/symbolic/default.nix33
-rw-r--r--pkgs/development/perl-modules/generic/default.nix72
-rw-r--r--pkgs/development/pharo/launcher/default.nix2
-rw-r--r--pkgs/development/pharo/wrapper/default.nix8
-rw-r--r--pkgs/development/php-packages/composer/default.nix4
-rw-r--r--pkgs/development/php-packages/couchbase/default.nix4
-rw-r--r--pkgs/development/php-packages/igbinary/default.nix4
-rw-r--r--pkgs/development/php-packages/imagick/default.nix4
-rw-r--r--pkgs/development/php-packages/mailparse/default.nix4
-rw-r--r--pkgs/development/php-packages/php-cs-fixer/default.nix4
-rw-r--r--pkgs/development/php-packages/phpstan/default.nix4
-rw-r--r--pkgs/development/php-packages/protobuf/default.nix4
-rw-r--r--pkgs/development/php-packages/psysh/default.nix4
-rw-r--r--pkgs/development/php-packages/rdkafka/default.nix4
-rw-r--r--pkgs/development/php-packages/redis/default.nix4
-rw-r--r--pkgs/development/php-packages/swoole/default.nix4
-rw-r--r--pkgs/development/python-modules/Markups/default.nix29
-rw-r--r--pkgs/development/python-modules/Pygments/default.nix4
-rw-r--r--pkgs/development/python-modules/absl-py/default.nix4
-rw-r--r--pkgs/development/python-modules/adafruit-platformdetect/default.nix4
-rw-r--r--pkgs/development/python-modules/adguardhome/default.nix13
-rw-r--r--pkgs/development/python-modules/advantage-air/default.nix4
-rw-r--r--pkgs/development/python-modules/aesara/default.nix65
-rw-r--r--pkgs/development/python-modules/aio-geojson-client/default.nix12
-rw-r--r--pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix12
-rw-r--r--pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix12
-rw-r--r--pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix12
-rw-r--r--pkgs/development/python-modules/aio-georss-client/default.nix10
-rw-r--r--pkgs/development/python-modules/aio-georss-gdacs/default.nix10
-rw-r--r--pkgs/development/python-modules/aioaseko/default.nix4
-rw-r--r--pkgs/development/python-modules/aioazuredevops/default.nix4
-rw-r--r--pkgs/development/python-modules/aiobotocore/default.nix6
-rw-r--r--pkgs/development/python-modules/aioesphomeapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiogithubapi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiohttp-apispec/default.nix58
-rw-r--r--pkgs/development/python-modules/aiohttp-remotes/default.nix8
-rw-r--r--pkgs/development/python-modules/aiohttp-wsgi/default.nix12
-rw-r--r--pkgs/development/python-modules/aiohue/default.nix8
-rw-r--r--pkgs/development/python-modules/aioitertools/default.nix29
-rw-r--r--pkgs/development/python-modules/aiolyric/default.nix19
-rw-r--r--pkgs/development/python-modules/aiomusiccast/default.nix6
-rw-r--r--pkgs/development/python-modules/aionanoleaf/default.nix4
-rw-r--r--pkgs/development/python-modules/aiooncue/default.nix4
-rw-r--r--pkgs/development/python-modules/aiopyarr/default.nix45
-rw-r--r--pkgs/development/python-modules/aioredis/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosenseme/default.nix39
-rw-r--r--pkgs/development/python-modules/aioshelly/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosignal/default.nix4
-rw-r--r--pkgs/development/python-modules/aiosmtpd/default.nix3
-rw-r--r--pkgs/development/python-modules/aiosteamist/default.nix51
-rw-r--r--pkgs/development/python-modules/aioswitcher/default.nix4
-rw-r--r--pkgs/development/python-modules/aiounifi/default.nix4
-rw-r--r--pkgs/development/python-modules/aiowebostv/default.nix4
-rw-r--r--pkgs/development/python-modules/altair/default.nix16
-rw-r--r--pkgs/development/python-modules/amcrest/default.nix4
-rw-r--r--pkgs/development/python-modules/androidtv/default.nix4
-rw-r--r--pkgs/development/python-modules/anonip/default.nix35
-rw-r--r--pkgs/development/python-modules/ansible-kernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ansible-runner/default.nix4
-rw-r--r--pkgs/development/python-modules/anyjson/default.nix22
-rw-r--r--pkgs/development/python-modules/apache-airflow/default.nix4
-rw-r--r--pkgs/development/python-modules/apache-beam/default.nix5
-rw-r--r--pkgs/development/python-modules/apipkg/default.nix4
-rw-r--r--pkgs/development/python-modules/approvaltests/default.nix23
-rw-r--r--pkgs/development/python-modules/apsw/default.nix4
-rw-r--r--pkgs/development/python-modules/argcomplete/default.nix4
-rw-r--r--pkgs/development/python-modules/argon2-cffi-bindings/default.nix35
-rw-r--r--pkgs/development/python-modules/argon2_cffi/default.nix11
-rw-r--r--pkgs/development/python-modules/asdf/default.nix4
-rw-r--r--pkgs/development/python-modules/asterisk-mbox/default.nix27
-rw-r--r--pkgs/development/python-modules/astroid/default.nix4
-rw-r--r--pkgs/development/python-modules/astropy-extension-helpers/default.nix5
-rw-r--r--pkgs/development/python-modules/astropy/default.nix64
-rw-r--r--pkgs/development/python-modules/astroquery/default.nix4
-rw-r--r--pkgs/development/python-modules/async-lru/default.nix8
-rw-r--r--pkgs/development/python-modules/async-upnp-client/default.nix12
-rw-r--r--pkgs/development/python-modules/async_generator/default.nix10
-rw-r--r--pkgs/development/python-modules/async_timeout/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncio-dgram/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncio_mqtt/default.nix4
-rw-r--r--pkgs/development/python-modules/asyncwhois/default.nix22
-rwxr-xr-xpkgs/development/python-modules/atlassian-python-api/default.nix22
-rw-r--r--pkgs/development/python-modules/atpublic/default.nix14
-rw-r--r--pkgs/development/python-modules/augmax/default.nix36
-rw-r--r--pkgs/development/python-modules/autarco/default.nix59
-rw-r--r--pkgs/development/python-modules/auth0-python/default.nix12
-rw-r--r--pkgs/development/python-modules/autopage/default.nix4
-rw-r--r--pkgs/development/python-modules/awesomeversion/default.nix21
-rw-r--r--pkgs/development/python-modules/aws-lambda-builders/default.nix17
-rw-r--r--pkgs/development/python-modules/aws-sam-translator/default.nix17
-rw-r--r--pkgs/development/python-modules/awscrt/default.nix52
-rw-r--r--pkgs/development/python-modules/azure-applicationinsights/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-compute/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-containerservice/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-datafactory/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-kusto/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix4
-rw-r--r--pkgs/development/python-modules/azure-mgmt-storage/default.nix4
-rw-r--r--pkgs/development/python-modules/b2sdk/default.nix10
-rw-r--r--pkgs/development/python-modules/basemap/default.nix6
-rw-r--r--pkgs/development/python-modules/bc-python-hcl2/default.nix8
-rw-r--r--pkgs/development/python-modules/beancount/default.nix4
-rw-r--r--pkgs/development/python-modules/beartype/default.nix34
-rw-r--r--pkgs/development/python-modules/bids-validator/default.nix4
-rw-r--r--pkgs/development/python-modules/bimmer-connected/default.nix4
-rw-r--r--pkgs/development/python-modules/bip_utils/default.nix4
-rw-r--r--pkgs/development/python-modules/bitarray/default.nix4
-rw-r--r--pkgs/development/python-modules/bleak/default.nix4
-rw-r--r--pkgs/development/python-modules/blis/default.nix4
-rw-r--r--pkgs/development/python-modules/bme280spi/default.nix32
-rw-r--r--pkgs/development/python-modules/boost-histogram/default.nix10
-rw-r--r--pkgs/development/python-modules/boto3/default.nix4
-rw-r--r--pkgs/development/python-modules/botocore/default.nix4
-rw-r--r--pkgs/development/python-modules/braintree/default.nix43
-rw-r--r--pkgs/development/python-modules/breathe/default.nix4
-rw-r--r--pkgs/development/python-modules/brotli/default.nix4
-rw-r--r--pkgs/development/python-modules/bugsnag/default.nix21
-rw-r--r--pkgs/development/python-modules/buildbot/default.nix4
-rw-r--r--pkgs/development/python-modules/buildbot/pkg.nix2
-rw-r--r--pkgs/development/python-modules/buildbot/plugins.nix10
-rw-r--r--pkgs/development/python-modules/buildbot/worker.nix2
-rw-r--r--pkgs/development/python-modules/cachelib/default.nix4
-rw-r--r--pkgs/development/python-modules/cachetools/default.nix6
-rw-r--r--pkgs/development/python-modules/canopen/default.nix12
-rw-r--r--pkgs/development/python-modules/carrot/default.nix22
-rw-r--r--pkgs/development/python-modules/cartopy/default.nix19
-rw-r--r--pkgs/development/python-modules/casa-formats-io/default.nix5
-rw-r--r--pkgs/development/python-modules/casbin/default.nix4
-rw-r--r--pkgs/development/python-modules/cchardet/default.nix20
-rw-r--r--pkgs/development/python-modules/cdcs/default.nix4
-rw-r--r--pkgs/development/python-modules/censys/default.nix4
-rw-r--r--pkgs/development/python-modules/cfn-lint/default.nix15
-rw-r--r--pkgs/development/python-modules/chalice/default.nix4
-rw-r--r--pkgs/development/python-modules/cheroot/default.nix30
-rw-r--r--pkgs/development/python-modules/chirpstack-api/default.nix25
-rw-r--r--pkgs/development/python-modules/chispa/default.nix27
-rw-r--r--pkgs/development/python-modules/cirq-rigetti/default.nix2
-rw-r--r--pkgs/development/python-modules/ciscoconfparse/default.nix60
-rw-r--r--pkgs/development/python-modules/click-completion/default.nix28
-rw-r--r--pkgs/development/python-modules/click-configfile/default.nix15
-rw-r--r--pkgs/development/python-modules/cliff/default.nix18
-rw-r--r--pkgs/development/python-modules/clint/default.nix10
-rw-r--r--pkgs/development/python-modules/cloudflare/default.nix2
-rw-r--r--pkgs/development/python-modules/cloudpickle/default.nix4
-rw-r--r--pkgs/development/python-modules/cloudsmith-api/default.nix4
-rw-r--r--pkgs/development/python-modules/cloudsplaining/default.nix4
-rw-r--r--pkgs/development/python-modules/cocotb/default.nix4
-rw-r--r--pkgs/development/python-modules/commentjson/default.nix6
-rw-r--r--pkgs/development/python-modules/concurrent-log-handler/default.nix6
-rw-r--r--pkgs/development/python-modules/configargparse/default.nix6
-rw-r--r--pkgs/development/python-modules/configshell/default.nix29
-rw-r--r--pkgs/development/python-modules/confuse/default.nix23
-rw-r--r--pkgs/development/python-modules/connexion/default.nix4
-rw-r--r--pkgs/development/python-modules/cons/default.nix43
-rw-r--r--pkgs/development/python-modules/coqpit/default.nix4
-rw-r--r--pkgs/development/python-modules/coverage/default.nix7
-rw-r--r--pkgs/development/python-modules/croniter/default.nix15
-rw-r--r--pkgs/development/python-modules/crownstone-uart/default.nix4
-rw-r--r--pkgs/development/python-modules/cssutils/default.nix26
-rw-r--r--pkgs/development/python-modules/csvw/default.nix23
-rw-r--r--pkgs/development/python-modules/cwcwidth/default.nix4
-rw-r--r--pkgs/development/python-modules/dasbus/default.nix21
-rw-r--r--pkgs/development/python-modules/dash/default.nix4
-rw-r--r--pkgs/development/python-modules/dask/default.nix24
-rw-r--r--pkgs/development/python-modules/databases/default.nix5
-rw-r--r--pkgs/development/python-modules/databricks-connect/default.nix4
-rw-r--r--pkgs/development/python-modules/datamodeldict/default.nix25
-rw-r--r--pkgs/development/python-modules/datasets/default.nix4
-rw-r--r--pkgs/development/python-modules/datasette/default.nix9
-rw-r--r--pkgs/development/python-modules/datashader/default.nix2
-rw-r--r--pkgs/development/python-modules/dbutils/default.nix16
-rw-r--r--pkgs/development/python-modules/deap/default.nix10
-rw-r--r--pkgs/development/python-modules/debtcollector/default.nix4
-rw-r--r--pkgs/development/python-modules/decopatch/default.nix25
-rw-r--r--pkgs/development/python-modules/decorator/default.nix4
-rw-r--r--pkgs/development/python-modules/deep-translator/default.nix4
-rw-r--r--pkgs/development/python-modules/deezer-python/default.nix4
-rw-r--r--pkgs/development/python-modules/demjson/default.nix34
-rw-r--r--pkgs/development/python-modules/dendropy/default.nix12
-rw-r--r--pkgs/development/python-modules/devolo-home-control-api/default.nix14
-rw-r--r--pkgs/development/python-modules/diagrams/default.nix4
-rw-r--r--pkgs/development/python-modules/diceware/default.nix4
-rw-r--r--pkgs/development/python-modules/dict2xml/default.nix19
-rw-r--r--pkgs/development/python-modules/diff-cover/default.nix22
-rw-r--r--pkgs/development/python-modules/discovery30303/default.nix49
-rw-r--r--pkgs/development/python-modules/distlib/default.nix4
-rw-r--r--pkgs/development/python-modules/distributed/default.nix22
-rw-r--r--pkgs/development/python-modules/django-auth-ldap/default.nix42
-rw-r--r--pkgs/development/python-modules/django-configurations/default.nix4
-rw-r--r--pkgs/development/python-modules/django-timezone-field/default.nix4
-rw-r--r--pkgs/development/python-modules/django-widget-tweaks/default.nix4
-rw-r--r--pkgs/development/python-modules/django/2.nix4
-rw-r--r--pkgs/development/python-modules/django/3.nix4
-rw-r--r--pkgs/development/python-modules/django/4.nix107
-rw-r--r--pkgs/development/python-modules/django/django_4_set_geos_gdal_lib.patch26
-rw-r--r--pkgs/development/python-modules/djangoql/default.nix4
-rw-r--r--pkgs/development/python-modules/dnspython/default.nix24
-rw-r--r--pkgs/development/python-modules/doc8/default.nix5
-rw-r--r--pkgs/development/python-modules/doit/default.nix4
-rw-r--r--pkgs/development/python-modules/dragonfly/default.nix6
-rw-r--r--pkgs/development/python-modules/drms/default.nix5
-rw-r--r--pkgs/development/python-modules/dsinternals/default.nix47
-rw-r--r--pkgs/development/python-modules/dsmr-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/dufte/default.nix4
-rw-r--r--pkgs/development/python-modules/dynalite-devices/default.nix38
-rw-r--r--pkgs/development/python-modules/eiswarnung/default.nix58
-rw-r--r--pkgs/development/python-modules/elasticsearch/default.nix4
-rw-r--r--pkgs/development/python-modules/empty-files/default.nix33
-rw-r--r--pkgs/development/python-modules/emv/default.nix1
-rw-r--r--pkgs/development/python-modules/enaml/default.nix4
-rw-r--r--pkgs/development/python-modules/enlighten/default.nix27
-rw-r--r--pkgs/development/python-modules/eth-typing/default.nix4
-rw-r--r--pkgs/development/python-modules/eth-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/etuples/default.nix45
-rw-r--r--pkgs/development/python-modules/ev3dev2/default.nix2
-rw-r--r--pkgs/development/python-modules/faker/default.nix4
-rw-r--r--pkgs/development/python-modules/fakeredis/default.nix44
-rw-r--r--pkgs/development/python-modules/fastapi/default.nix4
-rw-r--r--pkgs/development/python-modules/fastcore/default.nix4
-rw-r--r--pkgs/development/python-modules/fastnumbers/default.nix5
-rw-r--r--pkgs/development/python-modules/fastprogress/default.nix4
-rw-r--r--pkgs/development/python-modules/feedgenerator/default.nix8
-rw-r--r--pkgs/development/python-modules/ffcv/default.nix53
-rw-r--r--pkgs/development/python-modules/fiblary3-fork/default.nix51
-rw-r--r--pkgs/development/python-modules/filelock/default.nix4
-rw-r--r--pkgs/development/python-modules/findimports/default.nix38
-rw-r--r--pkgs/development/python-modules/fiona/default.nix12
-rw-r--r--pkgs/development/python-modules/flake8-bugbear/default.nix44
-rw-r--r--pkgs/development/python-modules/flask-appbuilder/default.nix16
-rw-r--r--pkgs/development/python-modules/flask/default.nix5
-rw-r--r--pkgs/development/python-modules/flexmock/default.nix32
-rw-r--r--pkgs/development/python-modules/flowlogs_reader/default.nix50
-rw-r--r--pkgs/development/python-modules/flufl/i18n.nix11
-rw-r--r--pkgs/development/python-modules/flufl/lock.nix7
-rw-r--r--pkgs/development/python-modules/flux-led/default.nix4
-rw-r--r--pkgs/development/python-modules/folium/default.nix57
-rw-r--r--pkgs/development/python-modules/forecast-solar/default.nix2
-rw-r--r--pkgs/development/python-modules/frozendict/default.nix29
-rw-r--r--pkgs/development/python-modules/fsspec/default.nix4
-rw-r--r--pkgs/development/python-modules/funcsigs/default.nix9
-rw-r--r--pkgs/development/python-modules/furo/default.nix21
-rw-r--r--pkgs/development/python-modules/gaphas/default.nix4
-rw-r--r--pkgs/development/python-modules/garages-amsterdam/default.nix7
-rw-r--r--pkgs/development/python-modules/garminconnect-aio/default.nix10
-rw-r--r--pkgs/development/python-modules/garminconnect/default.nix (renamed from pkgs/development/python-modules/garminconnect-ha/default.nix)22
-rw-r--r--pkgs/development/python-modules/gast/default.nix26
-rw-r--r--pkgs/development/python-modules/gcsfs/default.nix17
-rw-r--r--pkgs/development/python-modules/gdown/default.nix4
-rw-r--r--pkgs/development/python-modules/gdtoolkit/default.nix46
-rw-r--r--pkgs/development/python-modules/gehomesdk/default.nix4
-rw-r--r--pkgs/development/python-modules/geniushub-client/default.nix31
-rw-r--r--pkgs/development/python-modules/georss-client/default.nix10
-rw-r--r--pkgs/development/python-modules/georss-generic-client/default.nix4
-rw-r--r--pkgs/development/python-modules/georss-ign-sismologia-client/default.nix10
-rw-r--r--pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix10
-rw-r--r--pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix10
-rw-r--r--pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix10
-rw-r--r--pkgs/development/python-modules/georss-tfs-incidents-client/default.nix10
-rw-r--r--pkgs/development/python-modules/georss-wa-dfes-client/default.nix10
-rw-r--r--pkgs/development/python-modules/gevent-socketio/default.nix35
-rw-r--r--pkgs/development/python-modules/gevent-websocket/default.nix20
-rw-r--r--pkgs/development/python-modules/gevent/default.nix37
-rw-r--r--pkgs/development/python-modules/geventhttpclient/default.nix23
-rw-r--r--pkgs/development/python-modules/gigalixir/default.nix43
-rw-r--r--pkgs/development/python-modules/gipc/default.nix4
-rw-r--r--pkgs/development/python-modules/glean-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/glean-sdk/default.nix6
-rw-r--r--pkgs/development/python-modules/globus-sdk/default.nix30
-rw-r--r--pkgs/development/python-modules/goodwe/default.nix4
-rw-r--r--pkgs/development/python-modules/google-api-core/default.nix4
-rw-r--r--pkgs/development/python-modules/google-api-python-client/default.nix4
-rw-r--r--pkgs/development/python-modules/google-auth/default.nix9
-rw-r--r--pkgs/development/python-modules/google-cloud-automl/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigquery/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-bigtable/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-container/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-error-reporting/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-iot/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-org-policy/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-os-config/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-redis/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-spanner/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-storage/default.nix1
-rw-r--r--pkgs/development/python-modules/google-cloud-tasks/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-trace/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-videointelligence/default.nix4
-rw-r--r--pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix4
-rw-r--r--pkgs/development/python-modules/google-nest-sdm/default.nix16
-rw-r--r--pkgs/development/python-modules/google-resumable-media/default.nix4
-rw-r--r--pkgs/development/python-modules/gql/default.nix4
-rw-r--r--pkgs/development/python-modules/graphene/default.nix20
-rw-r--r--pkgs/development/python-modules/graphql-core/default.nix4
-rw-r--r--pkgs/development/python-modules/greeclimate/default.nix4
-rw-r--r--pkgs/development/python-modules/growattserver/default.nix4
-rw-r--r--pkgs/development/python-modules/gruut/default.nix9
-rw-r--r--pkgs/development/python-modules/gssapi/default.nix2
-rw-r--r--pkgs/development/python-modules/gst-python/default.nix4
-rw-r--r--pkgs/development/python-modules/gym/default.nix6
-rw-r--r--pkgs/development/python-modules/h2/default.nix18
-rw-r--r--pkgs/development/python-modules/h5py/default.nix3
-rw-r--r--pkgs/development/python-modules/ha-av/default.nix4
-rw-r--r--pkgs/development/python-modules/habanero/default.nix16
-rw-r--r--pkgs/development/python-modules/hahomematic/default.nix7
-rw-r--r--pkgs/development/python-modules/hdlparse/default.nix22
-rw-r--r--pkgs/development/python-modules/heatzypy/default.nix4
-rw-r--r--pkgs/development/python-modules/hijri-converter/default.nix16
-rw-r--r--pkgs/development/python-modules/holoviews/default.nix4
-rw-r--r--pkgs/development/python-modules/html-sanitizer/default.nix4
-rw-r--r--pkgs/development/python-modules/httpbin/default.nix48
-rw-r--r--pkgs/development/python-modules/httpcore/default.nix4
-rw-r--r--pkgs/development/python-modules/httpx-ntlm/default.nix16
-rw-r--r--pkgs/development/python-modules/httpx-socks/default.nix6
-rw-r--r--pkgs/development/python-modules/httpx/default.nix25
-rw-r--r--pkgs/development/python-modules/huey/default.nix4
-rw-r--r--pkgs/development/python-modules/hwi/default.nix3
-rw-r--r--pkgs/development/python-modules/hypercorn/default.nix10
-rw-r--r--pkgs/development/python-modules/hyperion-py/default.nix5
-rw-r--r--pkgs/development/python-modules/hypothesis/default.nix28
-rw-r--r--pkgs/development/python-modules/hypothesmith/default.nix4
-rw-r--r--pkgs/development/python-modules/i2csense/default.nix35
-rw-r--r--pkgs/development/python-modules/ibis-framework/default.nix27
-rw-r--r--pkgs/development/python-modules/icecream/default.nix4
-rw-r--r--pkgs/development/python-modules/icmplib/default.nix4
-rw-r--r--pkgs/development/python-modules/identify/default.nix4
-rw-r--r--pkgs/development/python-modules/ignite/default.nix4
-rw-r--r--pkgs/development/python-modules/ilua/default.nix4
-rw-r--r--pkgs/development/python-modules/imageio-ffmpeg/default.nix6
-rw-r--r--pkgs/development/python-modules/imageio/default.nix13
-rw-r--r--pkgs/development/python-modules/imap-tools/default.nix9
-rw-r--r--pkgs/development/python-modules/importlib-metadata/default.nix4
-rw-r--r--pkgs/development/python-modules/influxdb-client/default.nix12
-rw-r--r--pkgs/development/python-modules/inquirer/default.nix50
-rw-r--r--pkgs/development/python-modules/intellifire4py/default.nix4
-rw-r--r--pkgs/development/python-modules/ipaddr/default.nix22
-rw-r--r--pkgs/development/python-modules/ipykernel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipyparallel/default.nix4
-rw-r--r--pkgs/development/python-modules/ipython/default.nix70
-rw-r--r--pkgs/development/python-modules/ipyvuetify/default.nix4
-rw-r--r--pkgs/development/python-modules/irctokens/default.nix4
-rw-r--r--pkgs/development/python-modules/islpy/default.nix4
-rw-r--r--pkgs/development/python-modules/iso4217/default.nix6
-rw-r--r--pkgs/development/python-modules/isort/default.nix4
-rw-r--r--pkgs/development/python-modules/janus/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_collections/default.nix4
-rw-r--r--pkgs/development/python-modules/jaraco_functools/default.nix4
-rw-r--r--pkgs/development/python-modules/jax/default.nix7
-rw-r--r--pkgs/development/python-modules/jaxlib/bin.nix32
-rw-r--r--pkgs/development/python-modules/jaxlib/default.nix17
-rw-r--r--pkgs/development/python-modules/jc/default.nix4
-rw-r--r--pkgs/development/python-modules/jdatetime/default.nix4
-rw-r--r--pkgs/development/python-modules/jira/default.nix4
-rw-r--r--pkgs/development/python-modules/johnnycanencrypt/default.nix6
-rw-r--r--pkgs/development/python-modules/josepy/default.nix33
-rw-r--r--pkgs/development/python-modules/jpylyzer/default.nix4
-rw-r--r--pkgs/development/python-modules/jq/default.nix4
-rw-r--r--pkgs/development/python-modules/json-schema-for-humans/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonlines/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonrpclib-pelix/default.nix4
-rw-r--r--pkgs/development/python-modules/jsonschema/default.nix53
-rw-r--r--pkgs/development/python-modules/jupyter-repo2docker/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyter-server-mathjax/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterhub/default.nix2
-rw-r--r--pkgs/development/python-modules/jupyterlab-git/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab-widgets/default.nix4
-rw-r--r--pkgs/development/python-modules/jupyterlab/default.nix4
-rw-r--r--pkgs/development/python-modules/jupytext/default.nix10
-rw-r--r--pkgs/development/python-modules/kaldi-active-grammar/default.nix4
-rw-r--r--pkgs/development/python-modules/karton-config-extractor/default.nix13
-rw-r--r--pkgs/development/python-modules/karton-mwdb-reporter/default.nix20
-rw-r--r--pkgs/development/python-modules/labelbox/default.nix4
-rw-r--r--pkgs/development/python-modules/lark/default.nix (renamed from pkgs/development/python-modules/lark-parser/default.nix)13
-rw-r--r--pkgs/development/python-modules/lazy-object-proxy/default.nix4
-rw-r--r--pkgs/development/python-modules/lektor/default.nix4
-rw-r--r--pkgs/development/python-modules/librosa/default.nix4
-rw-r--r--pkgs/development/python-modules/libtmux/default.nix33
-rw-r--r--pkgs/development/python-modules/libusb1/default.nix4
-rw-r--r--pkgs/development/python-modules/lightwave/default.nix32
-rw-r--r--pkgs/development/python-modules/limiter/default.nix13
-rw-r--r--pkgs/development/python-modules/limits/default.nix4
-rw-r--r--pkgs/development/python-modules/llvmlite/default.nix4
-rw-r--r--pkgs/development/python-modules/localimport/default.nix4
-rw-r--r--pkgs/development/python-modules/locationsharinglib/default.nix3
-rw-r--r--pkgs/development/python-modules/logical-unification/default.nix48
-rw-r--r--pkgs/development/python-modules/loo-py/default.nix4
-rw-r--r--pkgs/development/python-modules/luddite/default.nix2
-rw-r--r--pkgs/development/python-modules/mailchecker/default.nix4
-rw-r--r--pkgs/development/python-modules/manimpango/default.nix2
-rw-r--r--pkgs/development/python-modules/mariadb/default.nix4
-rw-r--r--pkgs/development/python-modules/markups/default.nix58
-rw-r--r--pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/mat2/default.nix9
-rw-r--r--pkgs/development/python-modules/mat2/fix_poppler.patch14
-rw-r--r--pkgs/development/python-modules/matrix-common/default.nix4
-rw-r--r--pkgs/development/python-modules/matrix-nio/default.nix11
-rw-r--r--pkgs/development/python-modules/mcstatus/default.nix1
-rw-r--r--pkgs/development/python-modules/mecab-python3/default.nix4
-rw-r--r--pkgs/development/python-modules/meshio/default.nix4
-rw-r--r--pkgs/development/python-modules/meshtastic/default.nix4
-rw-r--r--pkgs/development/python-modules/mezzanine/default.nix4
-rw-r--r--pkgs/development/python-modules/mido/default.nix4
-rw-r--r--pkgs/development/python-modules/minikanren/default.nix51
-rw-r--r--pkgs/development/python-modules/mistletoe/default.nix4
-rw-r--r--pkgs/development/python-modules/mlxtend/default.nix4
-rw-r--r--pkgs/development/python-modules/mocket/default.nix6
-rw-r--r--pkgs/development/python-modules/monty/default.nix4
-rw-r--r--pkgs/development/python-modules/moonraker-api/default.nix6
-rw-r--r--pkgs/development/python-modules/motionblinds/default.nix4
-rw-r--r--pkgs/development/python-modules/moto/default.nix48
-rw-r--r--pkgs/development/python-modules/mpd2/default.nix4
-rw-r--r--pkgs/development/python-modules/mpi4py/default.nix10
-rw-r--r--pkgs/development/python-modules/msal/default.nix4
-rw-r--r--pkgs/development/python-modules/multiset/default.nix4
-rw-r--r--pkgs/development/python-modules/mwdblib/default.nix12
-rw-r--r--pkgs/development/python-modules/mwparserfromhell/default.nix4
-rw-r--r--pkgs/development/python-modules/mypy-boto3-builder/default.nix18
-rw-r--r--pkgs/development/python-modules/mypy-boto3-s3/default.nix5
-rw-r--r--pkgs/development/python-modules/mypy-protobuf/default.nix4
-rw-r--r--pkgs/development/python-modules/nagiosplugin/default.nix40
-rw-r--r--pkgs/development/python-modules/napalm/default.nix44
-rw-r--r--pkgs/development/python-modules/napalm/hp-procurve.nix41
-rw-r--r--pkgs/development/python-modules/nats-py/default.nix (renamed from pkgs/development/python-modules/asyncio-nats-client/default.nix)30
-rw-r--r--pkgs/development/python-modules/natsort/default.nix4
-rw-r--r--pkgs/development/python-modules/nbclassic/default.nix14
-rw-r--r--pkgs/development/python-modules/nbclient/default.nix6
-rw-r--r--pkgs/development/python-modules/nbconvert/default.nix4
-rw-r--r--pkgs/development/python-modules/nbsmoke/default.nix4
-rw-r--r--pkgs/development/python-modules/net2grid/default.nix58
-rw-r--r--pkgs/development/python-modules/netio/default.nix45
-rw-r--r--pkgs/development/python-modules/netmiko/default.nix27
-rw-r--r--pkgs/development/python-modules/newversion/default.nix49
-rw-r--r--pkgs/development/python-modules/nibabel/default.nix4
-rw-r--r--pkgs/development/python-modules/nltk/default.nix22
-rw-r--r--pkgs/development/python-modules/nose/default.nix13
-rw-r--r--pkgs/development/python-modules/nose2/default.nix19
-rw-r--r--pkgs/development/python-modules/notebook/default.nix4
-rw-r--r--pkgs/development/python-modules/numba-scipy/default.nix40
-rw-r--r--pkgs/development/python-modules/numba/default.nix4
-rw-r--r--pkgs/development/python-modules/numexpr/default.nix31
-rw-r--r--pkgs/development/python-modules/numpy/default.nix9
-rw-r--r--pkgs/development/python-modules/nunavut/default.nix4
-rw-r--r--pkgs/development/python-modules/nvchecker/default.nix63
-rw-r--r--pkgs/development/python-modules/oci/default.nix4
-rw-r--r--pkgs/development/python-modules/ocrmypdf/default.nix4
-rw-r--r--pkgs/development/python-modules/od/default.nix4
-rw-r--r--pkgs/development/python-modules/oletools/default.nix5
-rw-r--r--pkgs/development/python-modules/omnikinverter/default.nix6
-rw-r--r--pkgs/development/python-modules/onvif-zeep-async/default.nix39
-rw-r--r--pkgs/development/python-modules/openapi-schema-validator/default.nix18
-rw-r--r--pkgs/development/python-modules/openevsewifi/default.nix65
-rw-r--r--pkgs/development/python-modules/opensimplex/default.nix17
-rw-r--r--pkgs/development/python-modules/openstackdocstheme/default.nix37
-rw-r--r--pkgs/development/python-modules/orjson/default.nix6
-rw-r--r--pkgs/development/python-modules/ormar/default.nix72
-rw-r--r--pkgs/development/python-modules/osc-lib/default.nix4
-rw-r--r--pkgs/development/python-modules/oslo-config/default.nix4
-rw-r--r--pkgs/development/python-modules/oslo-log/default.nix11
-rw-r--r--pkgs/development/python-modules/oslo-serialization/default.nix4
-rw-r--r--pkgs/development/python-modules/oslo-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/osqp/default.nix9
-rw-r--r--pkgs/development/python-modules/ovoenergy/default.nix10
-rw-r--r--pkgs/development/python-modules/p1monitor/default.nix26
-rw-r--r--pkgs/development/python-modules/packageurl-python/default.nix4
-rw-r--r--pkgs/development/python-modules/pandas/default.nix4
-rw-r--r--pkgs/development/python-modules/panel/default.nix35
-rw-r--r--pkgs/development/python-modules/panel/node/default.nix17
-rw-r--r--pkgs/development/python-modules/panel/node/node-env.nix573
-rw-r--r--pkgs/development/python-modules/panel/node/node-packages.nix562
-rw-r--r--pkgs/development/python-modules/panel/node/package.json27
-rw-r--r--pkgs/development/python-modules/paramiko/default.nix4
-rw-r--r--pkgs/development/python-modules/pc-ble-driver-py/default.nix4
-rw-r--r--pkgs/development/python-modules/pelican/default.nix4
-rw-r--r--pkgs/development/python-modules/pep257/default.nix4
-rw-r--r--pkgs/development/python-modules/pep517/default.nix15
-rw-r--r--pkgs/development/python-modules/perfplot/default.nix14
-rw-r--r--pkgs/development/python-modules/pex/default.nix4
-rw-r--r--pkgs/development/python-modules/phonemizer/default.nix4
-rw-r--r--pkgs/development/python-modules/phonenumbers/default.nix4
-rw-r--r--pkgs/development/python-modules/phonopy/default.nix4
-rw-r--r--pkgs/development/python-modules/pi1wire/default.nix36
-rw-r--r--pkgs/development/python-modules/pijuice/default.nix14
-rw-r--r--pkgs/development/python-modules/pikepdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pikepdf/paths.patch34
-rw-r--r--pkgs/development/python-modules/pip-tools/default.nix4
-rw-r--r--pkgs/development/python-modules/pipenv-poetry-migrate/default.nix42
-rw-r--r--pkgs/development/python-modules/pivy/default.nix6
-rw-r--r--pkgs/development/python-modules/plexapi/default.nix4
-rw-r--r--pkgs/development/python-modules/plotly/default.nix4
-rw-r--r--pkgs/development/python-modules/plugwise/default.nix4
-rw-r--r--pkgs/development/python-modules/plumbum/default.nix60
-rw-r--r--pkgs/development/python-modules/pontos/default.nix4
-rw-r--r--pkgs/development/python-modules/portalocker/default.nix4
-rw-r--r--pkgs/development/python-modules/portend/default.nix4
-rw-r--r--pkgs/development/python-modules/portpicker/default.nix4
-rw-r--r--pkgs/development/python-modules/pot/default.nix4
-rw-r--r--pkgs/development/python-modules/prance/default.nix9
-rw-r--r--pkgs/development/python-modules/prettytable/default.nix4
-rw-r--r--pkgs/development/python-modules/progressbar2/default.nix4
-rw-r--r--pkgs/development/python-modules/prompt-toolkit/default.nix4
-rw-r--r--pkgs/development/python-modules/protego/default.nix4
-rw-r--r--pkgs/development/python-modules/psutil/default.nix4
-rw-r--r--pkgs/development/python-modules/psycopg2/default.nix4
-rw-r--r--pkgs/development/python-modules/psygnal/default.nix4
-rw-r--r--pkgs/development/python-modules/pulsectl/default.nix4
-rw-r--r--pkgs/development/python-modules/puremagic/default.nix16
-rw-r--r--pkgs/development/python-modules/pvo/default.nix4
-rw-r--r--pkgs/development/python-modules/py-synologydsm-api/default.nix4
-rw-r--r--pkgs/development/python-modules/pyTelegramBotAPI/default.nix4
-rw-r--r--pkgs/development/python-modules/py_scrypt/default.nix4
-rw-r--r--pkgs/development/python-modules/pyamg/default.nix23
-rw-r--r--pkgs/development/python-modules/pyarrow/default.nix56
-rw-r--r--pkgs/development/python-modules/pyasn/default.nix22
-rw-r--r--pkgs/development/python-modules/pyatag/default.nix4
-rw-r--r--pkgs/development/python-modules/pybind11/default.nix24
-rw-r--r--pkgs/development/python-modules/pycallgraph/default.nix28
-rw-r--r--pkgs/development/python-modules/pycfmodel/default.nix8
-rw-r--r--pkgs/development/python-modules/pychromecast/default.nix4
-rw-r--r--pkgs/development/python-modules/pycoin/default.nix4
-rw-r--r--pkgs/development/python-modules/pycountry/default.nix4
-rw-r--r--pkgs/development/python-modules/pycritty/default.nix4
-rw-r--r--pkgs/development/python-modules/pydal/default.nix4
-rw-r--r--pkgs/development/python-modules/pydantic/default.nix9
-rw-r--r--pkgs/development/python-modules/pydevccu/default.nix4
-rw-r--r--pkgs/development/python-modules/pydexcom/default.nix4
-rw-r--r--pkgs/development/python-modules/pydot/default.nix44
-rw-r--r--pkgs/development/python-modules/pyeapi/default.nix42
-rw-r--r--pkgs/development/python-modules/pyeconet/default.nix13
-rw-r--r--pkgs/development/python-modules/pyenvisalink/default.nix4
-rw-r--r--pkgs/development/python-modules/pyerfa/default.nix4
-rw-r--r--pkgs/development/python-modules/pyexcel/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfakefs/default.nix4
-rw-r--r--pkgs/development/python-modules/pyfakewebcam/default.nix2
-rw-r--r--pkgs/development/python-modules/pyfcm/default.nix4
-rw-r--r--pkgs/development/python-modules/pyflunearyou/default.nix5
-rw-r--r--pkgs/development/python-modules/pygame-gui/default.nix14
-rw-r--r--pkgs/development/python-modules/pygame/default.nix6
-rw-r--r--pkgs/development/python-modules/pygit2/default.nix13
-rw-r--r--pkgs/development/python-modules/pygraphviz/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhamcrest/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhaversion/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhiveapi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhocon/default.nix4
-rw-r--r--pkgs/development/python-modules/pyhumps/default.nix51
-rw-r--r--pkgs/development/python-modules/pyicloud/default.nix4
-rw-r--r--pkgs/development/python-modules/pyinsteon/default.nix24
-rw-r--r--pkgs/development/python-modules/pylint-django/default.nix4
-rw-r--r--pkgs/development/python-modules/pylsp-mypy/default.nix4
-rw-r--r--pkgs/development/python-modules/pylxd/default.nix4
-rw-r--r--pkgs/development/python-modules/pymatgen/default.nix21
-rw-r--r--pkgs/development/python-modules/pymavlink/default.nix4
-rw-r--r--pkgs/development/python-modules/pymunk/default.nix2
-rw-r--r--pkgs/development/python-modules/pymupdf/default.nix4
-rw-r--r--pkgs/development/python-modules/pymysensors/default.nix4
-rw-r--r--pkgs/development/python-modules/pynacl/default.nix15
-rw-r--r--pkgs/development/python-modules/pynamodb/default.nix4
-rw-r--r--pkgs/development/python-modules/pynetbox/default.nix4
-rw-r--r--pkgs/development/python-modules/pynetgear/default.nix40
-rw-r--r--pkgs/development/python-modules/pynndescent/default.nix11
-rw-r--r--pkgs/development/python-modules/pynuki/default.nix12
-rw-r--r--pkgs/development/python-modules/pyoctoprintapi/default.nix4
-rw-r--r--pkgs/development/python-modules/pyopencl/default.nix32
-rw-r--r--pkgs/development/python-modules/pyopenssl/default.nix6
-rw-r--r--pkgs/development/python-modules/pyoverkiz/default.nix58
-rw-r--r--pkgs/development/python-modules/pyowm/default.nix18
-rw-r--r--pkgs/development/python-modules/pyownet/default.nix28
-rw-r--r--pkgs/development/python-modules/pyparsing/default.nix63
-rw-r--r--pkgs/development/python-modules/pypck/default.nix12
-rw-r--r--pkgs/development/python-modules/pyphen/default.nix10
-rw-r--r--pkgs/development/python-modules/pypinyin/default.nix4
-rw-r--r--pkgs/development/python-modules/pypytools/default.nix53
-rw-r--r--pkgs/development/python-modules/pyqt/5.x.nix19
-rw-r--r--pkgs/development/python-modules/pyqt/sip.nix28
-rw-r--r--pkgs/development/python-modules/pyquil/default.nix26
-rw-r--r--pkgs/development/python-modules/pyrfxtrx/default.nix9
-rw-r--r--pkgs/development/python-modules/pyrogram/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-core/default.nix8
-rw-r--r--pkgs/development/python-modules/pyroute2-ethtool/default.nix8
-rw-r--r--pkgs/development/python-modules/pyroute2-ipdb/default.nix8
-rw-r--r--pkgs/development/python-modules/pyroute2-ipset/default.nix8
-rw-r--r--pkgs/development/python-modules/pyroute2-ndb/default.nix12
-rw-r--r--pkgs/development/python-modules/pyroute2-nftables/default.nix4
-rw-r--r--pkgs/development/python-modules/pyroute2-nslink/default.nix8
-rw-r--r--pkgs/development/python-modules/pyroute2-protocols/default.nix8
-rw-r--r--pkgs/development/python-modules/pyroute2/default.nix17
-rw-r--r--pkgs/development/python-modules/pysaml2/default.nix4
-rw-r--r--pkgs/development/python-modules/pysatochip/default.nix4
-rw-r--r--pkgs/development/python-modules/pysiaalarm/default.nix7
-rw-r--r--pkgs/development/python-modules/pysignalclirestapi/default.nix37
-rw-r--r--pkgs/development/python-modules/pysimplegui/default.nix4
-rw-r--r--pkgs/development/python-modules/pyskyqremote/default.nix4
-rw-r--r--pkgs/development/python-modules/pyswitchbot/default.nix7
-rw-r--r--pkgs/development/python-modules/pytest-arraydiff/default.nix31
-rw-r--r--pkgs/development/python-modules/pytest-asyncio/default.nix15
-rw-r--r--pkgs/development/python-modules/pytest-bdd/default.nix44
-rw-r--r--pkgs/development/python-modules/pytest-cases/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-celery/default.nix27
-rw-r--r--pkgs/development/python-modules/pytest-celery/no-celery.patch9
-rw-r--r--pkgs/development/python-modules/pytest-click/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-console-scripts/default.nix33
-rw-r--r--pkgs/development/python-modules/pytest-cov/default.nix7
-rw-r--r--pkgs/development/python-modules/pytest-django/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-httpbin/default.nix49
-rw-r--r--pkgs/development/python-modules/pytest-localserver/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-mock/default.nix6
-rw-r--r--pkgs/development/python-modules/pytest-mypy-plugins/default.nix44
-rw-r--r--pkgs/development/python-modules/pytest-pythonpath/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-raisin/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-randomly/default.nix8
-rw-r--r--pkgs/development/python-modules/pytest-regressions/default.nix42
-rw-r--r--pkgs/development/python-modules/pytest-remotedata/default.nix38
-rw-r--r--pkgs/development/python-modules/pytest-snapshot/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-subprocess/default.nix4
-rw-r--r--pkgs/development/python-modules/pytest-subtests/default.nix22
-rw-r--r--pkgs/development/python-modules/pytest-timeout/default.nix4
-rw-r--r--pkgs/development/python-modules/python-dbusmock/default.nix8
-rw-r--r--pkgs/development/python-modules/python-http-client/default.nix4
-rw-r--r--pkgs/development/python-modules/python-i18n/default.nix24
-rw-r--r--pkgs/development/python-modules/python-ipmi/default.nix4
-rw-r--r--pkgs/development/python-modules/python-keycloak/default.nix4
-rw-r--r--pkgs/development/python-modules/python-magic/default.nix12
-rw-r--r--pkgs/development/python-modules/python-manilaclient/default.nix17
-rw-r--r--pkgs/development/python-modules/python-miio/default.nix33
-rw-r--r--pkgs/development/python-modules/python-nest/default.nix36
-rw-r--r--pkgs/development/python-modules/python-openstackclient/default.nix14
-rw-r--r--pkgs/development/python-modules/python-rapidjson/default.nix4
-rw-r--r--pkgs/development/python-modules/python-rtmidi/default.nix26
-rw-r--r--pkgs/development/python-modules/python-snap7/default.nix4
-rw-r--r--pkgs/development/python-modules/python-socketio/default.nix4
-rw-r--r--pkgs/development/python-modules/python-socks/default.nix6
-rw-r--r--pkgs/development/python-modules/python-songpal/default.nix20
-rw-r--r--pkgs/development/python-modules/python-utils/default.nix7
-rw-r--r--pkgs/development/python-modules/pythonfinder/default.nix4
-rw-r--r--pkgs/development/python-modules/pythonocc-core/default.nix27
-rw-r--r--pkgs/development/python-modules/pytibber/default.nix8
-rw-r--r--pkgs/development/python-modules/pytorch-lightning/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch-metric-learning/default.nix4
-rw-r--r--pkgs/development/python-modules/pytorch-pfn-extras/default.nix55
-rw-r--r--pkgs/development/python-modules/pytorch/default.nix6
-rw-r--r--pkgs/development/python-modules/pytube/default.nix13
-rw-r--r--pkgs/development/python-modules/pytwitchapi/default.nix10
-rw-r--r--pkgs/development/python-modules/pyuptimerobot/default.nix4
-rw-r--r--pkgs/development/python-modules/pyuseragents/default.nix2
-rw-r--r--pkgs/development/python-modules/pyvera/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvesync/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvicare/default.nix4
-rw-r--r--pkgs/development/python-modules/pyvlx/default.nix20
-rw-r--r--pkgs/development/python-modules/pywayland/default.nix4
-rw-r--r--pkgs/development/python-modules/pywemo/default.nix4
-rw-r--r--pkgs/development/python-modules/pywizlight/default.nix4
-rw-r--r--pkgs/development/python-modules/pywlroots/default.nix9
-rw-r--r--pkgs/development/python-modules/pywlroots/xwayland.patch25
-rw-r--r--pkgs/development/python-modules/qdarkstyle/default.nix4
-rw-r--r--pkgs/development/python-modules/qiling/default.nix4
-rw-r--r--pkgs/development/python-modules/qimage2ndarray/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-aer/default.nix8
-rw-r--r--pkgs/development/python-modules/qiskit-aqua/default.nix185
-rw-r--r--pkgs/development/python-modules/qiskit-finance/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-ibmq-provider/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-ignis/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-machine-learning/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-nature/default.nix22
-rw-r--r--pkgs/development/python-modules/qiskit-optimization/default.nix4
-rw-r--r--pkgs/development/python-modules/qiskit-terra/default.nix28
-rw-r--r--pkgs/development/python-modules/qiskit/default.nix7
-rw-r--r--pkgs/development/python-modules/qtpy/default.nix46
-rw-r--r--pkgs/development/python-modules/quantities/default.nix4
-rw-r--r--pkgs/development/python-modules/qutip/default.nix4
-rw-r--r--pkgs/development/python-modules/radish-bdd/default.nix4
-rw-r--r--pkgs/development/python-modules/railroad-diagrams/default.nix26
-rw-r--r--pkgs/development/python-modules/rdflib/default.nix18
-rw-r--r--pkgs/development/python-modules/readchar/default.nix34
-rw-r--r--pkgs/development/python-modules/readme_renderer/default.nix5
-rw-r--r--pkgs/development/python-modules/remarshal/default.nix3
-rw-r--r--pkgs/development/python-modules/renault-api/default.nix8
-rw-r--r--pkgs/development/python-modules/reolink/default.nix4
-rw-r--r--pkgs/development/python-modules/reportlab/default.nix4
-rw-r--r--pkgs/development/python-modules/requests-cache/default.nix8
-rw-r--r--pkgs/development/python-modules/requests-file/default.nix34
-rw-r--r--pkgs/development/python-modules/requests-http-signature/default.nix14
-rw-r--r--pkgs/development/python-modules/requests-kerberos/default.nix31
-rw-r--r--pkgs/development/python-modules/requests-unixsocket/default.nix27
-rw-r--r--pkgs/development/python-modules/requests/default.nix23
-rw-r--r--pkgs/development/python-modules/requirements-parser/default.nix37
-rw-r--r--pkgs/development/python-modules/resolvelib/default.nix4
-rw-r--r--pkgs/development/python-modules/responses/default.nix19
-rw-r--r--pkgs/development/python-modules/respx/default.nix4
-rw-r--r--pkgs/development/python-modules/retworkx/default.nix6
-rw-r--r--pkgs/development/python-modules/rfc3986/default.nix27
-rw-r--r--pkgs/development/python-modules/rki-covid-parser/default.nix4
-rw-r--r--pkgs/development/python-modules/rlp/default.nix4
-rw-r--r--pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix4
-rw-r--r--pkgs/development/python-modules/robotstatuschecker/default.nix4
-rw-r--r--pkgs/development/python-modules/rokuecp/default.nix6
-rw-r--r--pkgs/development/python-modules/roonapi/default.nix9
-rw-r--r--pkgs/development/python-modules/rtmidi-python/default.nix19
-rw-r--r--pkgs/development/python-modules/ruamel-yaml-clib/default.nix5
-rw-r--r--pkgs/development/python-modules/ruamel-yaml/default.nix4
-rw-r--r--pkgs/development/python-modules/rxv/default.nix7
-rw-r--r--pkgs/development/python-modules/s3fs/default.nix4
-rw-r--r--pkgs/development/python-modules/sagemaker/default.nix4
-rw-r--r--pkgs/development/python-modules/sanic-testing/default.nix4
-rw-r--r--pkgs/development/python-modules/sanic/default.nix27
-rw-r--r--pkgs/development/python-modules/sapi-python-client/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-fmm/default.nix4
-rw-r--r--pkgs/development/python-modules/scikit-survival/default.nix2
-rw-r--r--pkgs/development/python-modules/scikit-tda/default.nix6
-rw-r--r--pkgs/development/python-modules/scp/default.nix4
-rw-r--r--pkgs/development/python-modules/seatconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/secp256k1/default.nix3
-rw-r--r--pkgs/development/python-modules/sendgrid/default.nix4
-rw-r--r--pkgs/development/python-modules/sense-energy/default.nix4
-rw-r--r--pkgs/development/python-modules/sentry-sdk/default.nix7
-rw-r--r--pkgs/development/python-modules/setupmeta/default.nix13
-rw-r--r--pkgs/development/python-modules/setuptools-rust/default.nix7
-rw-r--r--pkgs/development/python-modules/setuptools-scm/default.nix4
-rw-r--r--pkgs/development/python-modules/shodan/default.nix4
-rw-r--r--pkgs/development/python-modules/simple-di/default.nix17
-rw-r--r--pkgs/development/python-modules/simplefix/default.nix4
-rw-r--r--pkgs/development/python-modules/simplisafe-python/default.nix6
-rw-r--r--pkgs/development/python-modules/skodaconnect/default.nix4
-rw-r--r--pkgs/development/python-modules/slack-sdk/default.nix4
-rw-r--r--pkgs/development/python-modules/slowapi/default.nix16
-rw-r--r--pkgs/development/python-modules/smmap/default.nix4
-rw-r--r--pkgs/development/python-modules/soco/default.nix12
-rw-r--r--pkgs/development/python-modules/sopel/default.nix4
-rw-r--r--pkgs/development/python-modules/sorl_thumbnail/default.nix4
-rw-r--r--pkgs/development/python-modules/spacy-transformers/default.nix2
-rw-r--r--pkgs/development/python-modules/spacy/default.nix9
-rw-r--r--pkgs/development/python-modules/spectral-cube/default.nix7
-rw-r--r--pkgs/development/python-modules/sphinx-copybutton/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx-jinja/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinx/default.nix15
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix34
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix5
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix5
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix5
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix5
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix32
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix5
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix5
-rw-r--r--pkgs/development/python-modules/sphinxcontrib-tikz/default.nix4
-rw-r--r--pkgs/development/python-modules/sphinxext-opengraph/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder-kernels/default.nix4
-rw-r--r--pkgs/development/python-modules/spyder/default.nix6
-rw-r--r--pkgs/development/python-modules/spyse-python/default.nix13
-rw-r--r--pkgs/development/python-modules/sqlalchemy-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlalchemy/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlite-utils/default.nix4
-rw-r--r--pkgs/development/python-modules/sqlitedict/default.nix20
-rw-r--r--pkgs/development/python-modules/sqlmap/default.nix5
-rw-r--r--pkgs/development/python-modules/srpenergy/default.nix4
-rw-r--r--pkgs/development/python-modules/sshtunnel/default.nix12
-rw-r--r--pkgs/development/python-modules/sslyze/default.nix4
-rw-r--r--pkgs/development/python-modules/starlette/default.nix2
-rw-r--r--pkgs/development/python-modules/staticjinja/default.nix2
-rw-r--r--pkgs/development/python-modules/statsmodels/default.nix4
-rw-r--r--pkgs/development/python-modules/strenum/default.nix43
-rw-r--r--pkgs/development/python-modules/stripe/default.nix22
-rw-r--r--pkgs/development/python-modules/striprtf/default.nix4
-rw-r--r--pkgs/development/python-modules/structlog/default.nix4
-rw-r--r--pkgs/development/python-modules/stups-pierone/default.nix4
-rw-r--r--pkgs/development/python-modules/subarulink/default.nix4
-rw-r--r--pkgs/development/python-modules/sumo/default.nix10
-rw-r--r--pkgs/development/python-modules/swagger-spec-validator/default.nix4
-rw-r--r--pkgs/development/python-modules/swift/default.nix4
-rw-r--r--pkgs/development/python-modules/swspotify/default.nix18
-rw-r--r--pkgs/development/python-modules/sybil/default.nix10
-rw-r--r--pkgs/development/python-modules/symengine/default.nix4
-rw-r--r--pkgs/development/python-modules/tappy/default.nix6
-rw-r--r--pkgs/development/python-modules/teamcity-messages/default.nix40
-rw-r--r--pkgs/development/python-modules/temescal/default.nix37
-rw-r--r--pkgs/development/python-modules/tempora/default.nix4
-rw-r--r--pkgs/development/python-modules/tensorflow/default.nix4
-rw-r--r--pkgs/development/python-modules/terminaltables/default.nix4
-rw-r--r--pkgs/development/python-modules/teslajsonpy/default.nix4
-rw-r--r--pkgs/development/python-modules/test-tube/default.nix4
-rw-r--r--pkgs/development/python-modules/testfixtures/default.nix9
-rw-r--r--pkgs/development/python-modules/textacy/default.nix1
-rw-r--r--pkgs/development/python-modules/textile/default.nix48
-rw-r--r--pkgs/development/python-modules/thinc/default.nix18
-rw-r--r--pkgs/development/python-modules/tifffile/default.nix4
-rw-r--r--pkgs/development/python-modules/tiledb/default.nix4
-rw-r--r--pkgs/development/python-modules/timetagger/default.nix4
-rw-r--r--pkgs/development/python-modules/tinydb/default.nix4
-rw-r--r--pkgs/development/python-modules/titlecase/default.nix7
-rw-r--r--pkgs/development/python-modules/tldextract/default.nix17
-rw-r--r--pkgs/development/python-modules/tmb/default.nix21
-rw-r--r--pkgs/development/python-modules/toggl-cli/default.nix4
-rw-r--r--pkgs/development/python-modules/tomli/default.nix7
-rw-r--r--pkgs/development/python-modules/tomlkit/default.nix4
-rw-r--r--pkgs/development/python-modules/torchvision/default.nix4
-rw-r--r--pkgs/development/python-modules/tornado/4.nix2
-rw-r--r--pkgs/development/python-modules/total-connect-client/default.nix4
-rw-r--r--pkgs/development/python-modules/tox/default.nix4
-rw-r--r--pkgs/development/python-modules/tqdm/default.nix5
-rw-r--r--pkgs/development/python-modules/transformers/default.nix4
-rw-r--r--pkgs/development/python-modules/transitions/default.nix10
-rw-r--r--pkgs/development/python-modules/translatepy/default.nix2
-rw-r--r--pkgs/development/python-modules/transmission-rpc/default.nix8
-rw-r--r--pkgs/development/python-modules/treeo/default.nix9
-rw-r--r--pkgs/development/python-modules/treq/default.nix4
-rw-r--r--pkgs/development/python-modules/trimesh/default.nix4
-rw-r--r--pkgs/development/python-modules/trio-asyncio/default.nix14
-rw-r--r--pkgs/development/python-modules/ttls/default.nix4
-rw-r--r--pkgs/development/python-modules/ttp/default.nix10
-rw-r--r--pkgs/development/python-modules/tumpa/default.nix4
-rw-r--r--pkgs/development/python-modules/tweepy/default.nix4
-rw-r--r--pkgs/development/python-modules/twentemilieu/default.nix3
-rw-r--r--pkgs/development/python-modules/twilio/default.nix4
-rw-r--r--pkgs/development/python-modules/twine/default.nix4
-rw-r--r--pkgs/development/python-modules/twitterapi/default.nix4
-rw-r--r--pkgs/development/python-modules/typeguard/default.nix4
-rw-r--r--pkgs/development/python-modules/types-dateutil/default.nix24
-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/types-setuptools/default.nix4
-rw-r--r--pkgs/development/python-modules/types-toml/default.nix4
-rw-r--r--pkgs/development/python-modules/types-typed-ast/default.nix4
-rw-r--r--pkgs/development/python-modules/ufoLib2/default.nix4
-rw-r--r--pkgs/development/python-modules/ujson/default.nix4
-rw-r--r--pkgs/development/python-modules/uncertainties/default.nix4
-rw-r--r--pkgs/development/python-modules/unittest2/default.nix10
-rw-r--r--pkgs/development/python-modules/uproot/default.nix4
-rw-r--r--pkgs/development/python-modules/urllib3/default.nix9
-rw-r--r--pkgs/development/python-modules/uvicorn/default.nix4
-rw-r--r--pkgs/development/python-modules/uvloop/default.nix2
-rw-r--r--pkgs/development/python-modules/vega/default.nix4
-rw-r--r--pkgs/development/python-modules/velbus-aio/default.nix4
-rw-r--r--pkgs/development/python-modules/versiontag/default.nix5
-rw-r--r--pkgs/development/python-modules/videocr/default.nix46
-rw-r--r--pkgs/development/python-modules/virtual-display/default.nix4
-rw-r--r--pkgs/development/python-modules/virtualenv/default.nix4
-rw-r--r--pkgs/development/python-modules/vispy/default.nix4
-rw-r--r--pkgs/development/python-modules/vivisect/default.nix4
-rw-r--r--pkgs/development/python-modules/volvooncall/default.nix57
-rw-r--r--pkgs/development/python-modules/waitress-django/default.nix11
-rw-r--r--pkgs/development/python-modules/waitress-django/setup.py2
-rw-r--r--pkgs/development/python-modules/warlock/default.nix47
-rw-r--r--pkgs/development/python-modules/warrant-lite/default.nix49
-rw-r--r--pkgs/development/python-modules/wasmer/default.nix15
-rw-r--r--pkgs/development/python-modules/wazeroutecalculator/default.nix12
-rw-r--r--pkgs/development/python-modules/webargs/default.nix4
-rw-r--r--pkgs/development/python-modules/websocket-client/default.nix4
-rw-r--r--pkgs/development/python-modules/websockets/default.nix18
-rw-r--r--pkgs/development/python-modules/webtest/default.nix10
-rw-r--r--pkgs/development/python-modules/weconnect-mqtt/default.nix6
-rw-r--r--pkgs/development/python-modules/weconnect/default.nix8
-rw-r--r--pkgs/development/python-modules/werkzeug/1.nix62
-rw-r--r--pkgs/development/python-modules/wheel/default.nix6
-rw-r--r--pkgs/development/python-modules/whitenoise/default.nix16
-rw-r--r--pkgs/development/python-modules/whodap/default.nix4
-rw-r--r--pkgs/development/python-modules/whois/default.nix19
-rw-r--r--pkgs/development/python-modules/wsdiscovery/default.nix45
-rw-r--r--pkgs/development/python-modules/wxPython/4.1.nix48
-rw-r--r--pkgs/development/python-modules/xdis/default.nix4
-rw-r--r--pkgs/development/python-modules/xlib/default.nix23
-rw-r--r--pkgs/development/python-modules/xml2rfc/default.nix4
-rw-r--r--pkgs/development/python-modules/yalesmartalarmclient/default.nix12
-rw-r--r--pkgs/development/python-modules/yalexs/default.nix6
-rw-r--r--pkgs/development/python-modules/yamale/default.nix4
-rw-r--r--pkgs/development/python-modules/yangson/default.nix4
-rw-r--r--pkgs/development/python-modules/yeelight/default.nix16
-rw-r--r--pkgs/development/python-modules/yfinance/default.nix4
-rw-r--r--pkgs/development/python-modules/yowsup/default.nix37
-rw-r--r--pkgs/development/python-modules/yowsup/dependency-fixes.patch13
-rw-r--r--pkgs/development/python-modules/zetup/default.nix4
-rw-r--r--pkgs/development/python-modules/zigpy-zigate/default.nix4
-rw-r--r--pkgs/development/python-modules/zimports/default.nix6
-rw-r--r--pkgs/development/python-modules/zipp/default.nix22
-rw-r--r--pkgs/development/python-modules/zope-deferredimport/default.nix4
-rw-r--r--pkgs/development/python2-modules/coverage/default.nix25
-rw-r--r--pkgs/development/python2-modules/gtkme/default.nix36
-rw-r--r--pkgs/development/python2-modules/pyparsing/default.nix45
-rw-r--r--pkgs/development/r-modules/bioc-annotation-packages.nix2
-rw-r--r--pkgs/development/r-modules/bioc-experiment-packages.nix6
-rw-r--r--pkgs/development/r-modules/bioc-packages.nix124
-rw-r--r--pkgs/development/r-modules/cran-packages.nix2529
-rw-r--r--pkgs/development/r-modules/default.nix16
-rw-r--r--pkgs/development/tools/air/default.nix6
-rw-r--r--pkgs/development/tools/alloy/default.nix2
-rw-r--r--pkgs/development/tools/amazon-qldb-shell/default.nix41
-rw-r--r--pkgs/development/tools/analysis/checkov/default.nix20
-rw-r--r--pkgs/development/tools/analysis/checkstyle/default.nix4
-rw-r--r--pkgs/development/tools/analysis/codeql/default.nix4
-rw-r--r--pkgs/development/tools/analysis/cppcheck/default.nix4
-rw-r--r--pkgs/development/tools/analysis/dotenv-linter/default.nix6
-rw-r--r--pkgs/development/tools/analysis/flow/default.nix4
-rw-r--r--pkgs/development/tools/analysis/oclgrind/default.nix4
-rw-r--r--pkgs/development/tools/analysis/pmd/default.nix6
-rw-r--r--pkgs/development/tools/analysis/radare2/default.nix10
-rw-r--r--pkgs/development/tools/analysis/randoop/default.nix4
-rw-r--r--pkgs/development/tools/analysis/spin/default.nix52
-rw-r--r--pkgs/development/tools/analysis/svlint/default.nix6
-rw-r--r--pkgs/development/tools/analysis/tfsec/default.nix4
-rw-r--r--pkgs/development/tools/ashpd-demo/default.nix6
-rw-r--r--pkgs/development/tools/aws-sam-cli/default.nix5
-rw-r--r--pkgs/development/tools/bacon/default.nix6
-rw-r--r--pkgs/development/tools/bazel-kazel/default.nix4
-rw-r--r--pkgs/development/tools/bingo/default.nix41
-rw-r--r--pkgs/development/tools/bingo/version_go.patch17
-rw-r--r--pkgs/development/tools/buf/default.nix22
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_3/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/bazel_4/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bazel/buildtools/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/bloop/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/bmake/default.nix50
-rw-r--r--pkgs/development/tools/build-managers/cmake/default.nix4
-rw-r--r--pkgs/development/tools/build-managers/gradle/default.nix16
-rwxr-xr-xpkgs/development/tools/build-managers/gradle/update.sh18
-rw-r--r--pkgs/development/tools/build-managers/rebar3/default.nix2
-rw-r--r--pkgs/development/tools/build-managers/sbt-extras/default.nix6
-rw-r--r--pkgs/development/tools/build-managers/scala-cli/default.nix6
-rw-r--r--pkgs/development/tools/buildah/default.nix4
-rw-r--r--pkgs/development/tools/buildpack/default.nix6
-rw-r--r--pkgs/development/tools/checkmate/default.nix6
-rw-r--r--pkgs/development/tools/chefdk/default.nix5
-rw-r--r--pkgs/development/tools/circup/default.nix52
-rw-r--r--pkgs/development/tools/clj-kondo/default.nix4
-rw-r--r--pkgs/development/tools/cloud-nuke/default.nix4
-rw-r--r--pkgs/development/tools/cmake-language-server/default.nix5
-rw-r--r--pkgs/development/tools/continuous-integration/drone-cli/0001-use-different-upstream-for-gomod.patch23
-rw-r--r--pkgs/development/tools/continuous-integration/drone-cli/default.nix8
-rw-r--r--pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix6
-rw-r--r--pkgs/development/tools/continuous-integration/gitlab-runner/default.nix37
-rw-r--r--pkgs/development/tools/continuous-integration/jenkins/default.nix6
-rw-r--r--pkgs/development/tools/coursier/default.nix4
-rw-r--r--pkgs/development/tools/crd2pulumi/default.nix4
-rw-r--r--pkgs/development/tools/cue/default.nix6
-rw-r--r--pkgs/development/tools/database/clickhouse-backup/default.nix6
-rw-r--r--pkgs/development/tools/database/dbmate/default.nix6
-rw-r--r--pkgs/development/tools/database/liquibase/default.nix4
-rw-r--r--pkgs/development/tools/database/pg_activity/default.nix4
-rw-r--r--pkgs/development/tools/database/sqldeveloper/default.nix2
-rw-r--r--pkgs/development/tools/database/sqlfluff/default.nix4
-rw-r--r--pkgs/development/tools/database/squirrel-sql/default.nix8
-rw-r--r--pkgs/development/tools/datree/default.nix6
-rw-r--r--pkgs/development/tools/ddosify/default.nix4
-rw-r--r--pkgs/development/tools/deis/default.nix36
-rw-r--r--pkgs/development/tools/deisctl/default.nix30
-rw-r--r--pkgs/development/tools/delve/default.nix4
-rw-r--r--pkgs/development/tools/dockle/default.nix6
-rw-r--r--pkgs/development/tools/doctl/default.nix4
-rw-r--r--pkgs/development/tools/dprint/default.nix6
-rw-r--r--pkgs/development/tools/dstp/default.nix4
-rw-r--r--pkgs/development/tools/dt-schema/default.nix4
-rw-r--r--pkgs/development/tools/dyff/default.nix6
-rw-r--r--pkgs/development/tools/earthly/default.nix8
-rw-r--r--pkgs/development/tools/ec2-metadata-mock/default.nix6
-rw-r--r--pkgs/development/tools/eclipse-mat/default.nix2
-rw-r--r--pkgs/development/tools/electron/default.nix79
-rw-r--r--pkgs/development/tools/electron/generic.nix4
-rw-r--r--pkgs/development/tools/esbuild/default.nix4
-rw-r--r--pkgs/development/tools/faas-cli/default.nix8
-rw-r--r--pkgs/development/tools/fnm/default.nix6
-rw-r--r--pkgs/development/tools/fq/default.nix10
-rw-r--r--pkgs/development/tools/frugal/default.nix6
-rw-r--r--pkgs/development/tools/gauge/default.nix21
-rw-r--r--pkgs/development/tools/ginkgo/default.nix27
-rw-r--r--pkgs/development/tools/go-swag/default.nix6
-rw-r--r--pkgs/development/tools/go-task/default.nix6
-rw-r--r--pkgs/development/tools/gofumpt/default.nix6
-rw-r--r--pkgs/development/tools/golangci-lint/default.nix6
-rw-r--r--pkgs/development/tools/google-java-format/default.nix4
-rw-r--r--pkgs/development/tools/gosec/default.nix6
-rw-r--r--pkgs/development/tools/gotests/default.nix26
-rw-r--r--pkgs/development/tools/gotests/deps.nix12
-rw-r--r--pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix27
-rw-r--r--pkgs/development/tools/java/visualvm/default.nix2
-rw-r--r--pkgs/development/tools/jd-diff-patch/default.nix6
-rw-r--r--pkgs/development/tools/jfmt/default.nix22
-rw-r--r--pkgs/development/tools/jless/default.nix22
-rw-r--r--pkgs/development/tools/jpexs/default.nix10
-rw-r--r--pkgs/development/tools/jql/default.nix6
-rw-r--r--pkgs/development/tools/just/default.nix26
-rw-r--r--pkgs/development/tools/k6/default.nix4
-rw-r--r--pkgs/development/tools/ko/default.nix4
-rw-r--r--pkgs/development/tools/konstraint/default.nix6
-rw-r--r--pkgs/development/tools/krew/default.nix6
-rw-r--r--pkgs/development/tools/ktlint/default.nix4
-rw-r--r--pkgs/development/tools/kubepug/default.nix4
-rw-r--r--pkgs/development/tools/kustomize/default.nix6
-rw-r--r--pkgs/development/tools/lazygit/default.nix4
-rw-r--r--pkgs/development/tools/mani/default.nix6
-rw-r--r--pkgs/development/tools/mars-mips/default.nix4
-rw-r--r--pkgs/development/tools/mask/default.nix6
-rw-r--r--pkgs/development/tools/metal-cli/default.nix8
-rw-r--r--pkgs/development/tools/minizinc/default.nix4
-rw-r--r--pkgs/development/tools/misc/blackfire/php-probe.nix4
-rw-r--r--pkgs/development/tools/misc/cflow/default.nix4
-rw-r--r--pkgs/development/tools/misc/cgdb/default.nix4
-rw-r--r--pkgs/development/tools/misc/circleci-cli/default.nix4
-rw-r--r--pkgs/development/tools/misc/clojure-lsp/default.nix6
-rw-r--r--pkgs/development/tools/misc/ddd/default.nix2
-rw-r--r--pkgs/development/tools/misc/direvent/default.nix4
-rw-r--r--pkgs/development/tools/misc/epm/default.nix36
-rw-r--r--pkgs/development/tools/misc/grcov/default.nix38
-rw-r--r--pkgs/development/tools/misc/hydra/common.nix2
-rw-r--r--pkgs/development/tools/misc/lttng-tools/default.nix4
-rw-r--r--pkgs/development/tools/misc/nimlsp/default.nix6
-rw-r--r--pkgs/development/tools/misc/nix-build-uncached/default.nix4
-rw-r--r--pkgs/development/tools/misc/pwndbg/default.nix4
-rw-r--r--pkgs/development/tools/misc/qtspim/default.nix2
-rw-r--r--pkgs/development/tools/misc/reviewdog/default.nix6
-rw-r--r--pkgs/development/tools/misc/rtss/default.nix6
-rw-r--r--pkgs/development/tools/misc/saleae-logic-2/default.nix6
-rw-r--r--pkgs/development/tools/misc/saleae-logic/default.nix2
-rw-r--r--pkgs/development/tools/misc/semver-tool/default.nix6
-rw-r--r--pkgs/development/tools/misc/spruce/default.nix8
-rw-r--r--pkgs/development/tools/misc/svls/default.nix6
-rw-r--r--pkgs/development/tools/misc/texinfo/common.nix2
-rw-r--r--pkgs/development/tools/misc/universal-ctags/default.nix3
-rw-r--r--pkgs/development/tools/misc/xspim/default.nix2
-rw-r--r--pkgs/development/tools/misc/xxgdb/default.nix2
-rw-r--r--pkgs/development/tools/mold/default.nix4
-rw-r--r--pkgs/development/tools/nodenv/default.nix44
-rw-r--r--pkgs/development/tools/nwjs/default.nix4
-rw-r--r--pkgs/development/tools/ocaml/dune/3.nix40
-rw-r--r--pkgs/development/tools/ocaml/findlib/default.nix10
-rw-r--r--pkgs/development/tools/omniorb/default.nix27
-rwxr-xr-xpkgs/development/tools/omnisharp-roslyn/create-deps.sh4
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/default.nix28
-rw-r--r--pkgs/development/tools/omnisharp-roslyn/deps.nix998
-rw-r--r--pkgs/development/tools/open-policy-agent/default.nix4
-rw-r--r--pkgs/development/tools/operator-sdk/default.nix6
-rw-r--r--pkgs/development/tools/oq/default.nix4
-rw-r--r--pkgs/development/tools/oshka/default.nix6
-rw-r--r--pkgs/development/tools/parsing/byacc/default.nix4
-rw-r--r--pkgs/development/tools/parsing/ragel/default.nix4
-rw-r--r--pkgs/development/tools/parsing/re2c/default.nix11
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json8
-rw-r--r--pkgs/development/tools/parsing/tree-sitter/update.nix2
-rw-r--r--pkgs/development/tools/phantomjs/default.nix71
-rw-r--r--pkgs/development/tools/picotool/default.nix4
-rw-r--r--pkgs/development/tools/pscale/default.nix4
-rw-r--r--pkgs/development/tools/purescript/spago/spago.nix6
-rw-r--r--pkgs/development/tools/quick-lint-js/default.nix24
-rw-r--r--pkgs/development/tools/quilt/default.nix4
-rw-r--r--pkgs/development/tools/react-native-debugger/default.nix2
-rw-r--r--pkgs/development/tools/regclient/default.nix6
-rw-r--r--pkgs/development/tools/richgo/default.nix6
-rw-r--r--pkgs/development/tools/rust/bindgen/default.nix4
-rw-r--r--pkgs/development/tools/rust/cargo-cache/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-crev/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-deny/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-expand/default.nix13
-rw-r--r--pkgs/development/tools/rust/cargo-fuzz/default.nix8
-rw-r--r--pkgs/development/tools/rust/cargo-insta/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-make/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-msrv/default.nix6
-rw-r--r--pkgs/development/tools/rust/cargo-valgrind/default.nix6
-rw-r--r--pkgs/development/tools/rust/duckscript/default.nix36
-rw-r--r--pkgs/development/tools/rust/maturin/default.nix6
-rw-r--r--pkgs/development/tools/rust/probe-rs-cli/default.nix24
-rw-r--r--pkgs/development/tools/rust/rust-analyzer/default.nix6
-rw-r--r--pkgs/development/tools/rust/rust-script/default.nix6
-rw-r--r--pkgs/development/tools/rust/sqlx-cli/default.nix6
-rw-r--r--pkgs/development/tools/scenebuilder/default.nix4
-rw-r--r--pkgs/development/tools/scenic-view/default.nix4
-rw-r--r--pkgs/development/tools/sd-local/default.nix6
-rw-r--r--pkgs/development/tools/selenium/chromedriver/default.nix6
-rw-r--r--pkgs/development/tools/sentry-cli/default.nix6
-rw-r--r--pkgs/development/tools/skaffold/default.nix6
-rw-r--r--pkgs/development/tools/skopeo/default.nix4
-rw-r--r--pkgs/development/tools/spirv-tools/default.nix2
-rw-r--r--pkgs/development/tools/stylua/default.nix6
-rw-r--r--pkgs/development/tools/sumneko-lua-language-server/default.nix6
-rw-r--r--pkgs/development/tools/symfony-cli/default.nix6
-rw-r--r--pkgs/development/tools/typos/default.nix6
-rw-r--r--pkgs/development/tools/uniffi-bindgen/Cargo.lock837
-rw-r--r--pkgs/development/tools/uniffi-bindgen/default.nix45
-rw-r--r--pkgs/development/tools/unityhub/default.nix2
-rw-r--r--pkgs/development/tools/vendir/default.nix4
-rw-r--r--pkgs/development/tools/vultr-cli/default.nix4
-rw-r--r--pkgs/development/tools/wabt/default.nix4
-rw-r--r--pkgs/development/tools/winpdb/default.nix2
-rw-r--r--pkgs/development/tools/worker-build/default.nix27
-rw-r--r--pkgs/development/tools/wrangler/default.nix6
-rw-r--r--pkgs/development/tools/yq-go/default.nix4
-rw-r--r--pkgs/development/tools/ytt/default.nix4
-rw-r--r--pkgs/development/tools/zprint/default.nix4
-rw-r--r--pkgs/development/web/bloomrpc/default.nix48
-rw-r--r--pkgs/development/web/cypress/default.nix6
-rw-r--r--pkgs/development/web/deno/default.nix6
-rw-r--r--pkgs/development/web/deno/librusty_v8.nix10
-rw-r--r--pkgs/development/web/flyctl/default.nix6
-rw-r--r--pkgs/development/web/insomnia/default.nix3
-rw-r--r--pkgs/development/web/lucky-cli/default.nix5
-rw-r--r--pkgs/development/web/lucky-cli/shard.lock10
-rw-r--r--pkgs/development/web/lucky-cli/shards.nix18
-rw-r--r--pkgs/development/web/minify/default.nix4
-rw-r--r--pkgs/development/web/nodejs/nodejs.nix6
-rw-r--r--pkgs/development/web/nodejs/v12.nix4
-rw-r--r--pkgs/development/web/nodejs/v14.nix4
-rw-r--r--pkgs/development/web/nodejs/v16.nix4
-rw-r--r--pkgs/development/web/nodejs/v17.nix4
-rw-r--r--pkgs/development/web/postman/default.nix9
-rw-r--r--pkgs/development/web/protege-distribution/default.nix2
-rw-r--r--pkgs/games/7kaa/default.nix79
-rw-r--r--pkgs/games/90secondportraits/default.nix2
-rw-r--r--pkgs/games/abuse/default.nix2
-rw-r--r--pkgs/games/alephone/default.nix10
-rw-r--r--pkgs/games/alephone/infinity/default.nix4
-rw-r--r--pkgs/games/angband/default.nix4
-rw-r--r--pkgs/games/anki/default.nix5
-rw-r--r--pkgs/games/assaultcube/default.nix2
-rw-r--r--pkgs/games/ballerburg/default.nix3
-rw-r--r--pkgs/games/blackshades/default.nix4
-rw-r--r--pkgs/games/brogue/default.nix3
-rw-r--r--pkgs/games/chessx/default.nix4
-rw-r--r--pkgs/games/cl-wordle/default.nix8
-rw-r--r--pkgs/games/cl-wordle/rust-1-57.diff13
-rw-r--r--pkgs/games/clonehero/fhs-wrapper.nix2
-rw-r--r--pkgs/games/crawl/default.nix4
-rw-r--r--pkgs/games/crispy-doom/default.nix4
-rw-r--r--pkgs/games/ddnet/default.nix4
-rw-r--r--pkgs/games/dhewm3/default.nix2
-rw-r--r--pkgs/games/domination/default.nix2
-rw-r--r--pkgs/games/duckmarines/default.nix2
-rw-r--r--pkgs/games/ecwolf/default.nix2
-rw-r--r--pkgs/games/eduke32/default.nix2
-rw-r--r--pkgs/games/factorio/default.nix3
-rw-r--r--pkgs/games/fheroes2/default.nix4
-rw-r--r--pkgs/games/fish-fillets-ng/default.nix2
-rw-r--r--pkgs/games/flare/default.nix2
-rw-r--r--pkgs/games/flare/engine.nix4
-rw-r--r--pkgs/games/flare/game.nix4
-rw-r--r--pkgs/games/flightgear/default.nix2
-rw-r--r--pkgs/games/freedroid/default.nix2
-rw-r--r--pkgs/games/freenukum/default.nix5
-rw-r--r--pkgs/games/frogatto/default.nix4
-rw-r--r--pkgs/games/frozen-bubble/default.nix2
-rw-r--r--pkgs/games/gcompris/default.nix6
-rw-r--r--pkgs/games/gnujump/default.nix2
-rw-r--r--pkgs/games/gzdoom/default.nix2
-rw-r--r--pkgs/games/heroic/default.nix4
-rw-r--r--pkgs/games/hyperrogue/default.nix2
-rw-r--r--pkgs/games/itch-setup/default.nix24
-rw-r--r--pkgs/games/itch/default.nix62
-rw-r--r--pkgs/games/ivan/default.nix2
-rw-r--r--pkgs/games/liberation-circuit/default.nix2
-rw-r--r--pkgs/games/linthesia/default.nix38
-rw-r--r--pkgs/games/lunar-client/default.nix2
-rw-r--r--pkgs/games/maelstrom/default.nix2
-rw-r--r--pkgs/games/mari0/default.nix2
-rw-r--r--pkgs/games/mindustry/default.nix1
-rwxr-xr-xpkgs/games/minecraft-servers/update.py3
-rw-r--r--pkgs/games/minecraft/default.nix2
-rw-r--r--pkgs/games/minetest/default.nix55
-rw-r--r--pkgs/games/minetest/disable_fixup.patch10
-rw-r--r--pkgs/games/minetest/fix_wordsize_confusion.patch10
-rw-r--r--pkgs/games/mrrescue/default.nix2
-rw-r--r--pkgs/games/mudlet/default.nix61
-rw-r--r--pkgs/games/oh-my-git/default.nix2
-rw-r--r--pkgs/games/openjk/default.nix4
-rw-r--r--pkgs/games/opensupaplex/default.nix2
-rw-r--r--pkgs/games/orthorobot/default.nix2
-rw-r--r--pkgs/games/osu-lazer/default.nix6
-rw-r--r--pkgs/games/osu-lazer/deps.nix15
-rw-r--r--pkgs/games/pentobi/default.nix6
-rw-r--r--pkgs/games/pioneer/default.nix55
-rw-r--r--pkgs/games/quakespasm/default.nix2
-rw-r--r--pkgs/games/rocksndiamonds/default.nix2
-rw-r--r--pkgs/games/rott/default.nix2
-rw-r--r--pkgs/games/rpg-cli/default.nix6
-rw-r--r--pkgs/games/runelite/default.nix3
-rw-r--r--pkgs/games/sauerbraten/default.nix2
-rw-r--r--pkgs/games/scid-vs-pc/default.nix2
-rw-r--r--pkgs/games/scummvm/games.nix2
-rw-r--r--pkgs/games/sdlpop/default.nix2
-rw-r--r--pkgs/games/sienna/default.nix2
-rw-r--r--pkgs/games/starsector/default.nix2
-rw-r--r--pkgs/games/steam/fhsenv.nix14
-rw-r--r--pkgs/games/system-syzygy/default.nix2
-rw-r--r--pkgs/games/tetrio-desktop/default.nix4
-rw-r--r--pkgs/games/tome2/default.nix4
-rw-r--r--pkgs/games/tome4/default.nix3
-rw-r--r--pkgs/games/toppler/default.nix57
-rw-r--r--pkgs/games/unciv/default.nix6
-rw-r--r--pkgs/games/unvanquished/default.nix12
-rw-r--r--pkgs/games/ut2004/wrapper.nix2
-rw-r--r--pkgs/games/vassal/default.nix10
-rw-r--r--pkgs/games/vintagestory/default.nix3
-rw-r--r--pkgs/games/worldofgoo/default.nix3
-rw-r--r--pkgs/games/xbill/default.nix2
-rw-r--r--pkgs/games/xonotic/default.nix4
-rw-r--r--pkgs/misc/arm-trusted-firmware/default.nix14
-rw-r--r--pkgs/misc/arm-trusted-firmware/remove-hdcp-blob.patch47
-rw-r--r--pkgs/misc/beep/default.nix6
-rw-r--r--pkgs/misc/cups/filters.nix58
-rw-r--r--pkgs/misc/drivers/epson-escpr2/default.nix6
-rw-r--r--pkgs/misc/drivers/hplip/default.nix40
-rw-r--r--pkgs/misc/drivers/hplip/image-processor.patch115
-rw-r--r--pkgs/misc/drivers/xboxdrv/default.nix12
-rw-r--r--pkgs/misc/drivers/xboxdrv/fix-60-sec-delay.patch27
-rw-r--r--pkgs/misc/drivers/xboxdrv/scons-py3.patch63
-rw-r--r--pkgs/misc/drivers/xboxdrv/scons-v4.2.0.patch20
-rw-r--r--pkgs/misc/drivers/xboxdrv/xboxdrvctl-py3.patch73
-rw-r--r--pkgs/misc/emulators/dosbox-staging/default.nix83
-rw-r--r--pkgs/misc/gnash/0001-fix-build-with-ffmepg-4.patch57
-rw-r--r--pkgs/misc/gnash/default.nix132
-rw-r--r--pkgs/misc/kitty-themes/default.nix27
-rw-r--r--pkgs/misc/mxt-app/default.nix4
-rw-r--r--pkgs/misc/screensavers/pipes-rs/default.nix6
-rw-r--r--pkgs/misc/tmux-plugins/default.nix12
-rw-r--r--pkgs/misc/uboot/default.nix16
-rw-r--r--pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json36
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch146
-rw-r--r--pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch180
-rw-r--r--pkgs/os-specific/darwin/moltenvk/createDylib.patch13
-rw-r--r--pkgs/os-specific/darwin/moltenvk/default.nix200
-rw-r--r--pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch14
-rw-r--r--pkgs/os-specific/darwin/sketchybar/default.nix44
-rw-r--r--pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch232
-rw-r--r--pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix8
-rw-r--r--pkgs/os-specific/linux/anbox/default.nix6
-rw-r--r--pkgs/os-specific/linux/apparmor/default.nix8
-rw-r--r--pkgs/os-specific/linux/bcc/default.nix4
-rw-r--r--pkgs/os-specific/linux/cryptsetup/default.nix1
-rw-r--r--pkgs/os-specific/linux/dddvb/default.nix39
-rw-r--r--pkgs/os-specific/linux/displaylink/default.nix5
-rw-r--r--pkgs/os-specific/linux/extrace/default.nix8
-rw-r--r--pkgs/os-specific/linux/firmware/firmware-updater/default.nix27
-rw-r--r--pkgs/os-specific/linux/firmware/fwupd-efi/default.nix4
-rw-r--r--pkgs/os-specific/linux/firmware/linux-firmware/default.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix11
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix6
-rw-r--r--pkgs/os-specific/linux/firmware/raspberrypi/default.nix18
-rw-r--r--pkgs/os-specific/linux/firmware/system76-firmware/default.nix6
-rw-r--r--pkgs/os-specific/linux/fscrypt/default.nix10
-rw-r--r--pkgs/os-specific/linux/gogoclient/config-paths.patch39
-rw-r--r--pkgs/os-specific/linux/gogoclient/default.nix41
-rw-r--r--pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch22
-rw-r--r--pkgs/os-specific/linux/hdparm/default.nix4
-rw-r--r--pkgs/os-specific/linux/iotop-c/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel-headers/default.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/hardened/patches.json50
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.14.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.19.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-4.9.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.10.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.15.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.16.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-5.4.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-libre.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rpi.nix10
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.10.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-rt-5.4.nix6
-rw-r--r--pkgs/os-specific/linux/kernel/linux-xanmod.nix4
-rw-r--r--pkgs/os-specific/linux/kernel/linux-zen.nix4
-rwxr-xr-xpkgs/os-specific/linux/kernel/update-rt.sh1
-rw-r--r--pkgs/os-specific/linux/keyutils/0001-Remove-unused-function-after_eq.patch28
-rw-r--r--pkgs/os-specific/linux/keyutils/default.nix4
-rw-r--r--pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix6
-rw-r--r--pkgs/os-specific/linux/libbpf/default.nix11
-rw-r--r--pkgs/os-specific/linux/libpsm2/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxc/default.nix4
-rw-r--r--pkgs/os-specific/linux/lxcfs/default.nix4
-rw-r--r--pkgs/os-specific/linux/microcode/intel.nix4
-rw-r--r--pkgs/os-specific/linux/mwprocapture/default.nix1
-rwxr-xr-xpkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh4
-rwxr-xr-xpkgs/os-specific/linux/nvidia-x11/builder.sh5
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/default.nix8
-rw-r--r--pkgs/os-specific/linux/nvidia-x11/generic.nix2
-rw-r--r--pkgs/os-specific/linux/openvswitch/default.nix4
-rw-r--r--pkgs/os-specific/linux/pam/default.nix4
-rw-r--r--pkgs/os-specific/linux/qmk-udev-rules/default.nix4
-rw-r--r--pkgs/os-specific/linux/raspberrypi-eeprom/default.nix13
-rw-r--r--pkgs/os-specific/linux/rdma-core/default.nix4
-rw-r--r--pkgs/os-specific/linux/ryzenadj/default.nix4
-rw-r--r--pkgs/os-specific/linux/sysstat/default.nix4
-rw-r--r--pkgs/os-specific/linux/systemd/default.nix2
-rw-r--r--pkgs/os-specific/linux/trace-cmd/default.nix6
-rw-r--r--pkgs/os-specific/linux/usb-blaster-udev-rules/default.nix26
-rw-r--r--pkgs/os-specific/linux/usb-blaster-udev-rules/usb-blaster.rules8
-rw-r--r--pkgs/os-specific/linux/virtio_vmmci/default.nix37
-rw-r--r--pkgs/os-specific/linux/wlgreet/default.nix12
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/Use-unique-IDs-for-networks-and-credentials.patch32
-rw-r--r--pkgs/os-specific/linux/wpa_supplicant/default.nix51
-rw-r--r--pkgs/os-specific/linux/xf86-input-wacom/default.nix4
-rw-r--r--pkgs/os-specific/linux/zenmonitor/default.nix4
-rw-r--r--pkgs/servers/atlassian/jira.nix4
-rw-r--r--pkgs/servers/bird/default.nix79
-rw-r--r--pkgs/servers/calibre-web/default.nix4
-rw-r--r--pkgs/servers/consul/default.nix6
-rw-r--r--pkgs/servers/dns/coredns/default.nix6
-rw-r--r--pkgs/servers/dns/knot-dns/default.nix4
-rw-r--r--pkgs/servers/dns/nsd/default.nix4
-rw-r--r--pkgs/servers/domoticz/default.nix4
-rw-r--r--pkgs/servers/foundationdb/cmake.nix2
-rw-r--r--pkgs/servers/foundationdb/default.nix3
-rw-r--r--pkgs/servers/freeradius/default.nix10
-rw-r--r--pkgs/servers/ftp/bftpd/default.nix4
-rw-r--r--pkgs/servers/gemini/agate/default.nix4
-rw-r--r--pkgs/servers/gemini/gmid/default.nix16
-rw-r--r--pkgs/servers/gemini/gmnisrv/default.nix6
-rw-r--r--pkgs/servers/grocy/default.nix4
-rw-r--r--pkgs/servers/headphones/default.nix10
-rw-r--r--pkgs/servers/headscale/default.nix6
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix50
-rw-r--r--pkgs/servers/home-assistant/default.nix35
-rw-r--r--pkgs/servers/home-assistant/frontend.nix4
-rwxr-xr-xpkgs/servers/home-assistant/parse-requirements.py45
-rw-r--r--pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch27
-rw-r--r--pkgs/servers/home-assistant/tests.nix1
-rw-r--r--pkgs/servers/http/apache-modules/mod_fastcgi/default.nix10
-rw-r--r--pkgs/servers/http/apt-cacher-ng/default.nix13
-rw-r--r--pkgs/servers/http/gitlab-pages/default.nix6
-rw-r--r--pkgs/servers/http/jetty/default.nix4
-rw-r--r--pkgs/servers/http/nginx/modules.nix4
-rw-r--r--pkgs/servers/hylafaxplus/default.nix5
-rw-r--r--pkgs/servers/imgproxy/default.nix6
-rw-r--r--pkgs/servers/irc/ergochat/default.nix4
-rw-r--r--pkgs/servers/jackett/default.nix4
-rw-r--r--pkgs/servers/jackett/deps.nix2
-rw-r--r--pkgs/servers/janus-gateway/default.nix4
-rw-r--r--pkgs/servers/jibri/default.nix4
-rw-r--r--pkgs/servers/klipper/default.nix6
-rw-r--r--pkgs/servers/maddy/default.nix6
-rw-r--r--pkgs/servers/mail/postfix/default.nix4
-rw-r--r--pkgs/servers/mastodon/default.nix12
-rw-r--r--pkgs/servers/matrix-conduit/default.nix9
-rw-r--r--pkgs/servers/matrix-synapse/default.nix4
-rw-r--r--pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix31
-rw-r--r--pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix14
-rw-r--r--pkgs/servers/matrix-synapse/tools/synadm.nix4
-rw-r--r--pkgs/servers/mattermost/default.nix10
-rw-r--r--pkgs/servers/mautrix-facebook/default.nix6
-rw-r--r--pkgs/servers/mautrix-whatsapp/default.nix10
-rw-r--r--pkgs/servers/mbtileserver/default.nix6
-rw-r--r--pkgs/servers/memcached/default.nix4
-rw-r--r--pkgs/servers/metabase/default.nix8
-rw-r--r--pkgs/servers/minio/default.nix6
-rw-r--r--pkgs/servers/misc/oven-media-engine/default.nix4
-rw-r--r--pkgs/servers/mjolnir/default.nix4
-rw-r--r--pkgs/servers/mjolnir/node-composition.nix4
-rw-r--r--pkgs/servers/mjolnir/node-deps.nix698
-rw-r--r--pkgs/servers/mjolnir/node-env.nix79
-rwxr-xr-xpkgs/servers/mjolnir/update.sh2
-rw-r--r--pkgs/servers/monitoring/grafana-image-renderer/default.nix16
-rw-r--r--pkgs/servers/monitoring/grafana-image-renderer/package.json12
-rw-r--r--pkgs/servers/monitoring/grafana-image-renderer/yarn.lock7726
-rw-r--r--pkgs/servers/monitoring/grafana-image-renderer/yarn.nix1890
-rw-r--r--pkgs/servers/monitoring/grafana/default.nix12
-rw-r--r--pkgs/servers/monitoring/mackerel-agent/default.nix6
-rw-r--r--pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/alertmanager.nix18
-rw-r--r--pkgs/servers/monitoring/prometheus/bird-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/default.nix56
-rw-r--r--pkgs/servers/monitoring/prometheus/json-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/pihole-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/promscale/default.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/redis-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/prometheus/sql-exporter.nix4
-rw-r--r--pkgs/servers/monitoring/prometheus/statsd-exporter.nix6
-rw-r--r--pkgs/servers/monitoring/sensu-go/default.nix6
-rw-r--r--pkgs/servers/monitoring/telegraf/default.nix10
-rw-r--r--pkgs/servers/moonraker/default.nix6
-rw-r--r--pkgs/servers/mpd/default.nix4
-rw-r--r--pkgs/servers/mycorrhiza/default.nix6
-rw-r--r--pkgs/servers/nats-server/default.nix20
-rw-r--r--pkgs/servers/nextcloud/default.nix12
-rw-r--r--pkgs/servers/nitter/default.nix6
-rw-r--r--pkgs/servers/nosql/apache-jena/binary.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/3.0.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/3.11.nix4
-rw-r--r--pkgs/servers/nosql/cassandra/generic.nix1
-rwxr-xr-xpkgs/servers/nosql/eventstore/create-deps.sh2
-rw-r--r--pkgs/servers/ombi/default.nix8
-rwxr-xr-xpkgs/servers/ombi/update.sh4
-rw-r--r--pkgs/servers/peertube/default.nix55
-rw-r--r--pkgs/servers/piping-server-rust/default.nix6
-rw-r--r--pkgs/servers/plex/raw.nix6
-rw-r--r--pkgs/servers/pulseaudio/qpaeq.nix4
-rw-r--r--pkgs/servers/radarr/default.nix8
-rwxr-xr-xpkgs/servers/radarr/update.sh4
-rw-r--r--pkgs/servers/radicale/3.x.nix4
-rw-r--r--pkgs/servers/rmfakecloud/default.nix31
-rw-r--r--pkgs/servers/sabnzbd/default.nix4
-rw-r--r--pkgs/servers/ser2net/default.nix8
-rw-r--r--pkgs/servers/shellinabox/default.nix50
-rw-r--r--pkgs/servers/shellinabox/shellinabox-minus.patch28
-rw-r--r--pkgs/servers/soft-serve/default.nix6
-rw-r--r--pkgs/servers/softether/default.nix (renamed from pkgs/servers/softether/4.29.nix)22
-rw-r--r--pkgs/servers/sql/dolt/default.nix6
-rw-r--r--pkgs/servers/sql/mariadb/connector-c/3_2.nix4
-rw-r--r--pkgs/servers/sql/mariadb/connector-c/default.nix5
-rw-r--r--pkgs/servers/sql/mariadb/default.nix37
-rw-r--r--pkgs/servers/sql/mariadb/galera/default.nix4
-rw-r--r--pkgs/servers/sql/monetdb/default.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/pgvector.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/plpgsql_check.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/postgis.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/repmgr.nix4
-rw-r--r--pkgs/servers/sql/postgresql/ext/timescaledb.nix4
-rw-r--r--pkgs/servers/sql/proxysql/default.nix4
-rw-r--r--pkgs/servers/sql/virtuoso/6.x.nix46
-rw-r--r--pkgs/servers/sql/virtuoso/7.x.nix37
-rw-r--r--pkgs/servers/sshportal/default.nix6
-rw-r--r--pkgs/servers/swego/default.nix6
-rw-r--r--pkgs/servers/tailscale/default.nix6
-rw-r--r--pkgs/servers/tautulli/default.nix4
-rw-r--r--pkgs/servers/tegola/default.nix4
-rw-r--r--pkgs/servers/teleport/default.nix4
-rw-r--r--pkgs/servers/traefik/default.nix4
-rw-r--r--pkgs/servers/tt-rss/theme-feedly/default.nix4
-rw-r--r--pkgs/servers/vouch-proxy/default.nix7
-rw-r--r--pkgs/servers/web-apps/discourse/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock2
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix4
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock12
-rw-r--r--pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix20
-rw-r--r--pkgs/servers/web-apps/galene/default.nix10
-rw-r--r--pkgs/servers/web-apps/jitsi-meet/default.nix4
-rw-r--r--pkgs/servers/web-apps/matomo/change-path-geoip2.patch10
-rw-r--r--pkgs/servers/web-apps/matomo/default.nix22
-rw-r--r--pkgs/servers/web-apps/moodle/default.nix4
-rw-r--r--pkgs/servers/web-apps/rss-bridge/default.nix4
-rw-r--r--pkgs/servers/web-apps/shiori/default.nix6
-rw-r--r--pkgs/servers/web-apps/wallabag/default.nix41
-rw-r--r--pkgs/servers/web-apps/wordpress/default.nix4
-rw-r--r--pkgs/servers/xmpp/prosody/default.nix17
-rw-r--r--pkgs/shells/bash/5.1.nix2
-rw-r--r--pkgs/shells/bash/nix-bash-completions/default.nix4
-rw-r--r--pkgs/shells/fish/default.nix10
-rw-r--r--pkgs/shells/fish/plugins/fzf-fish.nix4
-rw-r--r--pkgs/shells/fish/tests-pcre2-update.patch7
-rw-r--r--pkgs/shells/liquidprompt/default.nix4
-rw-r--r--pkgs/shells/nushell/default.nix6
-rw-r--r--pkgs/shells/oil/default.nix4
-rw-r--r--pkgs/shells/rush/default.nix4
-rw-r--r--pkgs/shells/zsh/pure-prompt/default.nix4
-rw-r--r--pkgs/shells/zsh/spaceship-prompt/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-autocomplete/default.nix4
-rw-r--r--pkgs/shells/zsh/zsh-fzf-tab/default.nix6
-rw-r--r--pkgs/shells/zsh/zsh-powerlevel10k/default.nix8
-rw-r--r--pkgs/stdenv/darwin/make-bootstrap-tools.nix3
-rw-r--r--pkgs/stdenv/generic/setup.sh8
-rw-r--r--pkgs/test/default.nix2
-rw-r--r--pkgs/test/make-wrapper/default.nix136
-rw-r--r--pkgs/tools/X11/ckbcomp/default.nix4
-rw-r--r--pkgs/tools/X11/find-cursor/default.nix4
-rw-r--r--pkgs/tools/X11/opentabletdriver/default.nix3
-rw-r--r--pkgs/tools/X11/xbanish/default.nix4
-rw-r--r--pkgs/tools/X11/xlayoutdisplay/default.nix19
-rw-r--r--pkgs/tools/X11/xpra/default.nix4
-rw-r--r--pkgs/tools/X11/xtruss/default.nix8
-rw-r--r--pkgs/tools/admin/acme-sh/default.nix4
-rw-r--r--pkgs/tools/admin/afterburn/default.nix6
-rw-r--r--pkgs/tools/admin/aliyun-cli/default.nix4
-rw-r--r--pkgs/tools/admin/amazon-ec2-utils/default.nix45
-rw-r--r--pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix6
-rw-r--r--pkgs/tools/admin/aws-nuke/default.nix6
-rw-r--r--pkgs/tools/admin/aws-vault/default.nix6
-rw-r--r--pkgs/tools/admin/awscli/default.nix4
-rw-r--r--pkgs/tools/admin/awsweeper/default.nix6
-rw-r--r--pkgs/tools/admin/azure-cli/default.nix2
-rw-r--r--pkgs/tools/admin/azure-cli/python-packages.nix13
-rw-r--r--pkgs/tools/admin/certigo/default.nix6
-rw-r--r--pkgs/tools/admin/chamber/default.nix4
-rw-r--r--pkgs/tools/admin/eksctl/default.nix6
-rw-r--r--pkgs/tools/admin/exoscale-cli/default.nix4
-rw-r--r--pkgs/tools/admin/fits-cloudctl/default.nix6
-rw-r--r--pkgs/tools/admin/gixy/default.nix21
-rw-r--r--pkgs/tools/admin/lxd/default.nix6
-rw-r--r--pkgs/tools/admin/meshcentral/default.nix4
-rw-r--r--pkgs/tools/admin/meshcentral/package.json4
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.lock713
-rw-r--r--pkgs/tools/admin/meshcentral/yarn.nix672
-rw-r--r--pkgs/tools/admin/nomachine-client/default.nix8
-rw-r--r--pkgs/tools/admin/oci-cli/default.nix4
-rw-r--r--pkgs/tools/admin/realvnc-vnc-viewer/default.nix8
-rw-r--r--pkgs/tools/admin/ssmsh/default.nix6
-rw-r--r--pkgs/tools/admin/stripe-cli/default.nix6
-rw-r--r--pkgs/tools/admin/syft/default.nix9
-rw-r--r--pkgs/tools/admin/synapse-admin/default.nix4
-rw-r--r--pkgs/tools/admin/trinsic-cli/default.nix4
-rw-r--r--pkgs/tools/admin/trivy/default.nix6
-rw-r--r--pkgs/tools/admin/winbox/default.nix13
-rw-r--r--pkgs/tools/archivers/tarlz/default.nix6
-rw-r--r--pkgs/tools/archivers/unshield/default.nix5
-rw-r--r--pkgs/tools/audio/abcmidi/default.nix4
-rw-r--r--pkgs/tools/audio/mpd-discord-rpc/default.nix25
-rw-r--r--pkgs/tools/audio/spotdl/default.nix4
-rw-r--r--pkgs/tools/audio/tts/default.nix21
-rw-r--r--pkgs/tools/backup/autorestic/default.nix6
-rw-r--r--pkgs/tools/backup/borgbackup/default.nix9
-rw-r--r--pkgs/tools/backup/btrbk/default.nix4
-rw-r--r--pkgs/tools/backup/discordchatexporter-cli/default.nix4
-rw-r--r--pkgs/tools/backup/discordchatexporter-cli/deps.nix4
-rw-r--r--pkgs/tools/backup/kopia/default.nix10
-rw-r--r--pkgs/tools/backup/stenc/default.nix8
-rw-r--r--pkgs/tools/backup/tarsnap/default.nix8
-rw-r--r--pkgs/tools/bluetooth/blueberry/default.nix4
-rw-r--r--pkgs/tools/bluetooth/blueman/default.nix4
-rw-r--r--pkgs/tools/cd-dvd/dvdisaster/default.nix21
-rw-r--r--pkgs/tools/compression/dtrx/default.nix4
-rw-r--r--pkgs/tools/compression/lzip/default.nix9
-rw-r--r--pkgs/tools/compression/lziprecover/default.nix31
-rw-r--r--pkgs/tools/compression/nx2elf/default.nix12
-rw-r--r--pkgs/tools/compression/zstd/default.nix4
-rw-r--r--pkgs/tools/filesystems/ceph-csi/default.nix4
-rw-r--r--pkgs/tools/filesystems/e2fsprogs/default.nix5
-rw-r--r--pkgs/tools/filesystems/garage/default.nix26
-rw-r--r--pkgs/tools/filesystems/gcsfuse/default.nix4
-rw-r--r--pkgs/tools/filesystems/glusterfs/default.nix4
-rw-r--r--pkgs/tools/filesystems/ioztat/default.nix55
-rw-r--r--pkgs/tools/filesystems/lfs/default.nix6
-rw-r--r--pkgs/tools/filesystems/mtdutils/default.nix4
-rw-r--r--pkgs/tools/filesystems/mtools/default.nix4
-rw-r--r--pkgs/tools/filesystems/mtpfs/default.nix1
-rw-r--r--pkgs/tools/filesystems/tar2ext4/default.nix4
-rw-r--r--pkgs/tools/games/jpsxdec/default.nix2
-rw-r--r--pkgs/tools/graphics/adriconf/default.nix9
-rw-r--r--pkgs/tools/graphics/agi/default.nix4
-rw-r--r--pkgs/tools/graphics/dpic/default.nix4
-rw-r--r--pkgs/tools/graphics/grim/default.nix9
-rw-r--r--pkgs/tools/graphics/gromit-mpx/default.nix6
-rw-r--r--pkgs/tools/graphics/netpbm/default.nix6
-rw-r--r--pkgs/tools/graphics/pikchr/default.nix6
-rw-r--r--pkgs/tools/graphics/resvg/default.nix6
-rw-r--r--pkgs/tools/graphics/scrot/default.nix2
-rw-r--r--pkgs/tools/graphics/snapdragon-profiler/default.nix4
-rw-r--r--pkgs/tools/graphics/svgbob/default.nix10
-rw-r--r--pkgs/tools/graphics/timg/default.nix4
-rw-r--r--pkgs/tools/graphics/transfig/default.nix63
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch75
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch15
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch21
-rw-r--r--pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch19
-rw-r--r--pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch22
-rw-r--r--pkgs/tools/graphics/unpaper/default.nix4
-rw-r--r--pkgs/tools/graphics/vkBasalt/default.nix4
-rw-r--r--pkgs/tools/graphics/vulkan-extension-layer/default.nix4
-rw-r--r--pkgs/tools/graphics/xcolor/default.nix2
-rw-r--r--pkgs/tools/graphics/zbar/default.nix2
-rw-r--r--pkgs/tools/inputmethods/emote/default.nix2
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix6
-rw-r--r--pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix4
-rw-r--r--pkgs/tools/inputmethods/input-remapper/default.nix157
-rw-r--r--pkgs/tools/misc/aescrypt/default.nix4
-rw-r--r--pkgs/tools/misc/apkeep/default.nix6
-rw-r--r--pkgs/tools/misc/apt-offline/default.nix12
-rw-r--r--pkgs/tools/misc/asdf-vm/default.nix4
-rw-r--r--pkgs/tools/misc/bashplotlib/default.nix6
-rw-r--r--pkgs/tools/misc/btdu/default.nix83
-rwxr-xr-xpkgs/tools/misc/btdu/update.py82
-rw-r--r--pkgs/tools/misc/chezmoi/default.nix6
-rw-r--r--pkgs/tools/misc/clickclack/default.nix4
-rw-r--r--pkgs/tools/misc/cloud-sql-proxy/default.nix6
-rw-r--r--pkgs/tools/misc/colord-gtk/default.nix13
-rw-r--r--pkgs/tools/misc/colord/default.nix9
-rw-r--r--pkgs/tools/misc/ddcutil/default.nix4
-rw-r--r--pkgs/tools/misc/diffoscope/default.nix7
-rw-r--r--pkgs/tools/misc/disfetch/default.nix4
-rw-r--r--pkgs/tools/misc/dotter/default.nix25
-rw-r--r--pkgs/tools/misc/duf/default.nix6
-rw-r--r--pkgs/tools/misc/esphome/dashboard.nix9
-rw-r--r--pkgs/tools/misc/esphome/default.nix13
-rw-r--r--pkgs/tools/misc/esphome/fix-src-permissions.patch46
-rw-r--r--pkgs/tools/misc/etcher/default.nix6
-rw-r--r--pkgs/tools/misc/fend/default.nix6
-rw-r--r--pkgs/tools/misc/fortune/default.nix4
-rw-r--r--pkgs/tools/misc/fpp/default.nix9
-rw-r--r--pkgs/tools/misc/fselect/default.nix6
-rw-r--r--pkgs/tools/misc/gh-ost/default.nix4
-rw-r--r--pkgs/tools/misc/goaccess/default.nix4
-rw-r--r--pkgs/tools/misc/goreleaser/default.nix6
-rw-r--r--pkgs/tools/misc/grub/2.0x.nix7
-rw-r--r--pkgs/tools/misc/hakuneko/default.nix3
-rw-r--r--pkgs/tools/misc/hdf5/default.nix14
-rw-r--r--pkgs/tools/misc/hdfview/default.nix2
-rw-r--r--pkgs/tools/misc/hexd/default.nix4
-rw-r--r--pkgs/tools/misc/hiksink/default.nix6
-rw-r--r--pkgs/tools/misc/infracost/default.nix20
-rw-r--r--pkgs/tools/misc/interactsh/default.nix6
-rw-r--r--pkgs/tools/misc/jdiskreport/default.nix3
-rw-r--r--pkgs/tools/misc/kak-lsp/default.nix6
-rw-r--r--pkgs/tools/misc/kepubify/default.nix3
-rw-r--r--pkgs/tools/misc/krapslog/default.nix6
-rw-r--r--pkgs/tools/misc/latex2html/default.nix4
-rw-r--r--pkgs/tools/misc/lazydocker/default.nix4
-rw-r--r--pkgs/tools/misc/licensor/default.nix15
-rw-r--r--pkgs/tools/misc/lockfile-progs/default.nix13
-rw-r--r--pkgs/tools/misc/macchina/default.nix6
-rw-r--r--pkgs/tools/misc/mailman-rss/default.nix (renamed from pkgs/development/python-modules/mailman-rss/default.nix)0
-rw-r--r--pkgs/tools/misc/mcfly/default.nix6
-rw-r--r--pkgs/tools/misc/miniserve/default.nix6
-rw-r--r--pkgs/tools/misc/mmctl/default.nix4
-rw-r--r--pkgs/tools/misc/mongodb-compass/default.nix2
-rw-r--r--pkgs/tools/misc/mongodb-tools/default.nix4
-rw-r--r--pkgs/tools/misc/mrtg/default.nix4
-rw-r--r--pkgs/tools/misc/nix-direnv/default.nix4
-rw-r--r--pkgs/tools/misc/odyssey/default.nix9
-rw-r--r--pkgs/tools/misc/opencbm/default.nix7
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/contrib.nix11
-rw-r--r--pkgs/tools/misc/opentelemetry-collector/default.nix6
-rw-r--r--pkgs/tools/misc/osinfo-db-tools/default.nix45
-rw-r--r--pkgs/tools/misc/ostree/01-Drop-ostree-trivial-httpd-CLI-move-to-tests-director.patch46
-rw-r--r--pkgs/tools/misc/ostree/default.nix8
-rw-r--r--pkgs/tools/misc/ostree/fix-1592.patch49
-rw-r--r--pkgs/tools/misc/parallel/default.nix4
-rw-r--r--pkgs/tools/misc/phoronix-test-suite/default.nix4
-rw-r--r--pkgs/tools/misc/phrase-cli/default.nix26
-rw-r--r--pkgs/tools/misc/plantuml/default.nix4
-rw-r--r--pkgs/tools/misc/plocate/dbfile.patch29
-rw-r--r--pkgs/tools/misc/plocate/default.nix9
-rw-r--r--pkgs/tools/misc/pmbootstrap/default.nix6
-rw-r--r--pkgs/tools/misc/pspg/default.nix4
-rw-r--r--pkgs/tools/misc/qflipper/default.nix121
-rw-r--r--pkgs/tools/misc/rates/default.nix6
-rw-r--r--pkgs/tools/misc/remind/default.nix4
-rw-r--r--pkgs/tools/misc/rpcsvc-proto/default.nix4
-rw-r--r--pkgs/tools/misc/rpi-imager/default.nix4
-rw-r--r--pkgs/tools/misc/rpm-ostree/default.nix4
-rw-r--r--pkgs/tools/misc/screen/default.nix6
-rw-r--r--pkgs/tools/misc/scrub/default.nix26
-rw-r--r--pkgs/tools/misc/sfeed/default.nix4
-rw-r--r--pkgs/tools/misc/sharedown/default.nix2
-rw-r--r--pkgs/tools/misc/shunit2/default.nix74
-rw-r--r--pkgs/tools/misc/starship/default.nix11
-rw-r--r--pkgs/tools/misc/taoup/default.nix8
-rw-r--r--pkgs/tools/misc/topicctl/default.nix6
-rw-r--r--pkgs/tools/misc/traefik-certs-dumper/default.nix6
-rw-r--r--pkgs/tools/misc/txr/default.nix18
-rw-r--r--pkgs/tools/misc/unparam/default.nix27
-rw-r--r--pkgs/tools/misc/upterm/default.nix7
-rw-r--r--pkgs/tools/misc/vector/default.nix6
-rw-r--r--pkgs/tools/misc/via/default.nix2
-rw-r--r--pkgs/tools/misc/vttest/default.nix6
-rw-r--r--pkgs/tools/misc/wakatime/default.nix6
-rw-r--r--pkgs/tools/misc/wimboot/default.nix4
-rw-r--r--pkgs/tools/misc/writedisk/default.nix29
-rw-r--r--pkgs/tools/misc/yle-dl/default.nix4
-rw-r--r--pkgs/tools/misc/ytfzf/default.nix4
-rw-r--r--pkgs/tools/misc/z-lua/default.nix4
-rw-r--r--pkgs/tools/misc/zellij/default.nix12
-rw-r--r--pkgs/tools/networking/aardvark-dns/default.nix36
-rw-r--r--pkgs/tools/networking/bgpq3/default.nix7
-rw-r--r--pkgs/tools/networking/boundary/default.nix8
-rw-r--r--pkgs/tools/networking/chaos/default.nix6
-rw-r--r--pkgs/tools/networking/croc/default.nix6
-rw-r--r--pkgs/tools/networking/dd-agent/datadog-agent.nix6
-rw-r--r--pkgs/tools/networking/dnsproxy/default.nix4
-rw-r--r--pkgs/tools/networking/eternal-terminal/default.nix6
-rw-r--r--pkgs/tools/networking/findomain/default.nix6
-rw-r--r--pkgs/tools/networking/flannel/default.nix4
-rw-r--r--pkgs/tools/networking/fping/default.nix4
-rw-r--r--pkgs/tools/networking/frp/default.nix6
-rw-r--r--pkgs/tools/networking/gping/default.nix20
-rw-r--r--pkgs/tools/networking/grpcui/default.nix6
-rw-r--r--pkgs/tools/networking/grpcurl/default.nix6
-rw-r--r--pkgs/tools/networking/haproxy/default.nix4
-rw-r--r--pkgs/tools/networking/httplz/default.nix6
-rw-r--r--pkgs/tools/networking/hurl/default.nix6
-rw-r--r--pkgs/tools/networking/imapproxy/default.nix24
-rw-r--r--pkgs/tools/networking/ipv6calc/default.nix4
-rw-r--r--pkgs/tools/networking/kapp/default.nix4
-rw-r--r--pkgs/tools/networking/ligolo-ng/default.nix6
-rw-r--r--pkgs/tools/networking/mailutils/default.nix54
-rw-r--r--pkgs/tools/networking/minio-client/default.nix6
-rw-r--r--pkgs/tools/networking/modemmanager/default.nix4
-rw-r--r--pkgs/tools/networking/mqttui/default.nix6
-rw-r--r--pkgs/tools/networking/mubeng/default.nix4
-rw-r--r--pkgs/tools/networking/nebula/default.nix4
-rw-r--r--pkgs/tools/networking/netavark/default.nix48
-rw-r--r--pkgs/tools/networking/netdiscover/default.nix4
-rw-r--r--pkgs/tools/networking/networkmanager/default.nix4
-rw-r--r--pkgs/tools/networking/notemap/default.nix3
-rw-r--r--pkgs/tools/networking/nss-pam-ldapd/default.nix6
-rw-r--r--pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch12
-rw-r--r--pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch14
-rw-r--r--pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch34
-rw-r--r--pkgs/tools/networking/ntopng/default.nix60
-rw-r--r--pkgs/tools/networking/nttcp/default.nix2
-rw-r--r--pkgs/tools/networking/oapi-codegen/default.nix6
-rw-r--r--pkgs/tools/networking/ocserv/default.nix12
-rw-r--r--pkgs/tools/networking/ofono/default.nix9
-rw-r--r--pkgs/tools/networking/openapi-generator-cli/default.nix4
-rw-r--r--pkgs/tools/networking/openfortivpn/default.nix21
-rw-r--r--pkgs/tools/networking/opensnitch/daemon.nix11
-rw-r--r--pkgs/tools/networking/opensnitch/go-mod.patch24
-rw-r--r--pkgs/tools/networking/opensnitch/ui.nix9
-rw-r--r--pkgs/tools/networking/openssh/common.nix20
-rw-r--r--pkgs/tools/networking/p2p/amule/default.nix16
-rw-r--r--pkgs/tools/networking/persepolis/default.nix2
-rw-r--r--pkgs/tools/networking/proxify/default.nix6
-rw-r--r--pkgs/tools/networking/reaver-wps/default.nix4
-rw-r--r--pkgs/tools/networking/reaver-wps/parallel-build.patch11
-rw-r--r--pkgs/tools/networking/shadowsocks-rust/default.nix6
-rw-r--r--pkgs/tools/networking/sish/default.nix6
-rw-r--r--pkgs/tools/networking/sockperf/default.nix2
-rw-r--r--pkgs/tools/networking/swagger-codegen3/default.nix4
-rw-r--r--pkgs/tools/networking/tcpreplay/default.nix4
-rw-r--r--pkgs/tools/networking/tinyfecvpn/default.nix4
-rw-r--r--pkgs/tools/networking/tinyssh/default.nix4
-rw-r--r--pkgs/tools/networking/tuntox/default.nix80
-rw-r--r--pkgs/tools/networking/unbound/default.nix2
-rw-r--r--pkgs/tools/networking/vpnc/default.nix23
-rw-r--r--pkgs/tools/networking/wg-netmanager/default.nix35
-rw-r--r--pkgs/tools/networking/wifite2/default.nix25
-rw-r--r--pkgs/tools/networking/wuzz/default.nix17
-rw-r--r--pkgs/tools/networking/wuzz/deps.nix92
-rw-r--r--pkgs/tools/networking/xrootd/default.nix80
-rw-r--r--pkgs/tools/networking/xrootd/test-runner.nix27
-rw-r--r--pkgs/tools/networking/xxh/default.nix27
-rw-r--r--pkgs/tools/networking/yggdrasil/default.nix6
-rw-r--r--pkgs/tools/nix/alejandra/default.nix18
-rw-r--r--pkgs/tools/nix/statix/default.nix9
-rw-r--r--pkgs/tools/package-management/apt/default.nix4
-rw-r--r--pkgs/tools/package-management/cargo-about/default.nix6
-rw-r--r--pkgs/tools/package-management/cargo-release/default.nix6
-rw-r--r--pkgs/tools/package-management/nfpm/default.nix6
-rw-r--r--pkgs/tools/package-management/nix/default.nix4
-rw-r--r--pkgs/tools/package-management/packagekit/default.nix127
-rw-r--r--pkgs/tools/package-management/pdm/check-update.patch12
-rw-r--r--pkgs/tools/package-management/pdm/default.nix106
-rw-r--r--pkgs/tools/security/aws-iam-authenticator/default.nix6
-rw-r--r--pkgs/tools/security/b3sum/default.nix6
-rw-r--r--pkgs/tools/security/bitwarden/default.nix6
-rw-r--r--pkgs/tools/security/boofuzz/default.nix4
-rw-r--r--pkgs/tools/security/ccid/default.nix4
-rw-r--r--pkgs/tools/security/certipy/default.nix11
-rw-r--r--pkgs/tools/security/cfripper/default.nix30
-rw-r--r--pkgs/tools/security/chipsec/default.nix22
-rw-r--r--pkgs/tools/security/cloudlist/default.nix6
-rw-r--r--pkgs/tools/security/cosign/default.nix4
-rw-r--r--pkgs/tools/security/dalfox/default.nix6
-rw-r--r--pkgs/tools/security/dnsx/default.nix6
-rw-r--r--pkgs/tools/security/doppler/default.nix4
-rw-r--r--pkgs/tools/security/duo-unix/default.nix4
-rw-r--r--pkgs/tools/security/encryptr/default.nix57
-rw-r--r--pkgs/tools/security/enpass/data.json4
-rw-r--r--pkgs/tools/security/exploitdb/default.nix4
-rw-r--r--pkgs/tools/security/fail2ban/default.nix20
-rw-r--r--pkgs/tools/security/ghidra/build.nix2
-rw-r--r--pkgs/tools/security/ghidra/default.nix2
-rw-r--r--pkgs/tools/security/gitleaks/default.nix6
-rw-r--r--pkgs/tools/security/gpg-tui/default.nix6
-rw-r--r--pkgs/tools/security/gpgstats/default.nix33
-rw-r--r--pkgs/tools/security/grype/default.nix17
-rw-r--r--pkgs/tools/security/haveged/default.nix36
-rw-r--r--pkgs/tools/security/jd-gui/default.nix6
-rw-r--r--pkgs/tools/security/john/default.nix1
-rw-r--r--pkgs/tools/security/kbs2/default.nix6
-rw-r--r--pkgs/tools/security/keybase/default.nix4
-rw-r--r--pkgs/tools/security/kubescape/default.nix6
-rw-r--r--pkgs/tools/security/libmodsecurity/default.nix49
-rw-r--r--pkgs/tools/security/libtpms/default.nix4
-rw-r--r--pkgs/tools/security/log4j-sniffer/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/Gemfile2
-rw-r--r--pkgs/tools/security/metasploit/Gemfile.lock82
-rw-r--r--pkgs/tools/security/metasploit/default.nix4
-rw-r--r--pkgs/tools/security/metasploit/gemset.nix106
-rw-r--r--pkgs/tools/security/modsecurity-crs/default.nix42
-rw-r--r--pkgs/tools/security/nmap-formatter/default.nix6
-rw-r--r--pkgs/tools/security/nuclei/default.nix6
-rw-r--r--pkgs/tools/security/open-ecard/default.nix2
-rw-r--r--pkgs/tools/security/orjail/default.nix55
-rw-r--r--pkgs/tools/security/pass/extensions/audit/0001-Set-base-to-an-empty-value.patch43
-rw-r--r--pkgs/tools/security/pass/extensions/audit/default.nix8
-rw-r--r--pkgs/tools/security/pcsctools/default.nix4
-rw-r--r--pkgs/tools/security/pinentry-bemenu/default.nix25
-rw-r--r--pkgs/tools/security/rbw/default.nix6
-rw-r--r--pkgs/tools/security/rekor/default.nix8
-rw-r--r--pkgs/tools/security/rng-tools/default.nix6
-rw-r--r--pkgs/tools/security/scallion/default.nix36
-rw-r--r--pkgs/tools/security/scilla/default.nix6
-rw-r--r--pkgs/tools/security/secp256k1/default.nix8
-rw-r--r--pkgs/tools/security/signify/default.nix6
-rw-r--r--pkgs/tools/security/solo2-cli/default.nix1
-rw-r--r--pkgs/tools/security/spire/default.nix2
-rw-r--r--pkgs/tools/security/spyre/default.nix6
-rw-r--r--pkgs/tools/security/step-ca/default.nix6
-rw-r--r--pkgs/tools/security/swtpm/default.nix7
-rw-r--r--pkgs/tools/security/terrascan/default.nix6
-rw-r--r--pkgs/tools/security/thc-hydra/darwin-remove-ldflag.patch13
-rw-r--r--pkgs/tools/security/thc-hydra/default.nix14
-rw-r--r--pkgs/tools/security/witness/default.nix25
-rw-r--r--pkgs/tools/security/yara/default.nix26
-rw-r--r--pkgs/tools/system/btop/default.nix4
-rw-r--r--pkgs/tools/system/collectd/plugins.nix6
-rw-r--r--pkgs/tools/system/evemu/default.nix6
-rw-r--r--pkgs/tools/system/freeipmi/default.nix4
-rw-r--r--pkgs/tools/system/gdu/default.nix6
-rw-r--r--pkgs/tools/system/go-audit/default.nix6
-rw-r--r--pkgs/tools/system/gotop/default.nix15
-rw-r--r--pkgs/tools/system/iops/default.nix29
-rw-r--r--pkgs/tools/system/java-service-wrapper/default.nix15
-rw-r--r--pkgs/tools/system/logrotate/default.nix5
-rw-r--r--pkgs/tools/system/monit/default.nix4
-rw-r--r--pkgs/tools/system/natscli/default.nix6
-rw-r--r--pkgs/tools/system/netdata/default.nix8
-rw-r--r--pkgs/tools/system/rsyslog/default.nix4
-rw-r--r--pkgs/tools/system/skeema/default.nix28
-rw-r--r--pkgs/tools/system/syslog-ng/default.nix6
-rw-r--r--pkgs/tools/system/thinkfan/default.nix4
-rw-r--r--pkgs/tools/text/asciigraph/default.nix4
-rw-r--r--pkgs/tools/text/chars/default.nix6
-rw-r--r--pkgs/tools/text/colordiff/default.nix4
-rw-r--r--pkgs/tools/text/crowdin-cli/default.nix4
-rw-r--r--pkgs/tools/text/csview/default.nix6
-rw-r--r--pkgs/tools/text/difftastic/default.nix17
-rw-r--r--pkgs/tools/text/dirdiff/default.nix2
-rw-r--r--pkgs/tools/text/goawk/default.nix25
-rw-r--r--pkgs/tools/text/hottext/default.nix2
-rw-r--r--pkgs/tools/text/mark/default.nix6
-rw-r--r--pkgs/tools/text/mdbook-graphviz/default.nix6
-rw-r--r--pkgs/tools/text/mdbook-linkcheck/default.nix33
-rw-r--r--pkgs/tools/text/mdbook-mermaid/default.nix6
-rw-r--r--pkgs/tools/text/mdcat/default.nix17
-rw-r--r--pkgs/tools/text/pru/Gemfile2
-rw-r--r--pkgs/tools/text/pru/Gemfile.lock13
-rw-r--r--pkgs/tools/text/pru/default.nix24
-rw-r--r--pkgs/tools/text/pru/gemset.nix12
-rw-r--r--pkgs/tools/text/rosie/default.nix5
-rw-r--r--pkgs/tools/text/ruplacer/default.nix6
-rw-r--r--pkgs/tools/text/sad/default.nix6
-rw-r--r--pkgs/tools/text/shfmt/default.nix4
-rw-r--r--pkgs/tools/text/vale/default.nix6
-rw-r--r--pkgs/tools/text/xml/basex/default.nix4
-rw-r--r--pkgs/tools/text/xml/html-xml-utils/default.nix4
-rw-r--r--pkgs/tools/typesetting/asciidoc/default.nix4
-rw-r--r--pkgs/tools/typesetting/htmldoc/default.nix4
-rw-r--r--pkgs/tools/typesetting/pdftk/default.nix2
-rw-r--r--pkgs/tools/typesetting/skribilo/default.nix4
-rw-r--r--pkgs/tools/typesetting/tectonic/default.nix2
-rw-r--r--pkgs/tools/typesetting/tex/dblatex/default.nix13
-rw-r--r--pkgs/tools/video/mjpegtools/default.nix2
-rw-r--r--pkgs/tools/video/rav1e/default.nix6
-rw-r--r--pkgs/tools/virtualization/awsebcli/default.nix133
-rw-r--r--pkgs/tools/virtualization/ec2-utils/default.nix47
-rw-r--r--pkgs/tools/virtualization/google-guest-oslogin/default.nix4
-rw-r--r--pkgs/tools/virtualization/linode-cli/default.nix8
-rw-r--r--pkgs/tools/virtualization/shipyard/default.nix6
-rw-r--r--pkgs/tools/wayland/swayr/default.nix6
-rw-r--r--pkgs/tools/wayland/swaytools/default.nix22
-rwxr-xr-xpkgs/tools/wayland/swaytools/update.py58
-rw-r--r--pkgs/tools/wayland/wluma/default.nix15
-rw-r--r--pkgs/top-level/aliases.nix2213
-rw-r--r--pkgs/top-level/all-packages.nix1381
-rw-r--r--pkgs/top-level/coq-packages.nix5
-rw-r--r--pkgs/top-level/darwin-packages.nix2
-rw-r--r--pkgs/top-level/gnuradio-packages.nix12
-rw-r--r--pkgs/top-level/java-packages.nix5
-rw-r--r--pkgs/top-level/linux-kernels.nix6
-rw-r--r--pkgs/top-level/make-tarball.nix2
-rw-r--r--pkgs/top-level/ocaml-packages.nix2
-rw-r--r--pkgs/top-level/packages-config.nix10
-rw-r--r--pkgs/top-level/perl-packages.nix46
-rw-r--r--pkgs/top-level/php-packages.nix5
-rw-r--r--pkgs/top-level/python-aliases.nix9
-rw-r--r--pkgs/top-level/python-packages.nix182
-rw-r--r--pkgs/top-level/python2-packages.nix6
-rw-r--r--pkgs/top-level/release-python.nix20
-rw-r--r--pkgs/top-level/wine-packages.nix30
3596 files changed, 58776 insertions, 43284 deletions
diff --git a/.editorconfig b/.editorconfig
index 532bb482434..17f92c50d16 100644
--- a/.editorconfig
+++ b/.editorconfig
@@ -80,10 +80,3 @@ trim_trailing_whitespace = unset
 
 [pkgs/tools/misc/timidity/timidity.cfg]
 trim_trailing_whitespace = unset
-
-[pkgs/tools/security/enpass/data.json]
-insert_final_newline = unset
-trim_trailing_whitespace = unset
-
-[pkgs/top-level/emscripten-packages.nix]
-trim_trailing_whitespace = unset
diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS
index f2b58f80ee1..44007ca4828 100644
--- a/.github/CODEOWNERS
+++ b/.github/CODEOWNERS
@@ -119,6 +119,7 @@
 # Rust
 /pkgs/development/compilers/rust @Mic92 @LnL7 @zowoq
 /pkgs/build-support/rust @zowoq
+/doc/languages-frameworks/rust.section.md @zowoq
 
 # Darwin-related
 /pkgs/stdenv/darwin         @NixOS/darwin-maintainers
@@ -217,18 +218,18 @@
 /nixos/modules/services/mail/rspamd.nix     @peti
 
 # Emacs
-/pkgs/applications/editors/emacs-modes @adisbladis
-/pkgs/applications/editors/emacs       @adisbladis
-/pkgs/top-level/emacs-packages.nix     @adisbladis
+/pkgs/applications/editors/emacs/elisp-packages @adisbladis
+/pkgs/applications/editors/emacs                @adisbladis
+/pkgs/top-level/emacs-packages.nix              @adisbladis
 
 # Neovim
 /pkgs/applications/editors/neovim      @jonringer @teto
 
 # VimPlugins
-/pkgs/misc/vim-plugins         @jonringer @softinio
+/pkgs/applications/editors/vim/plugins         @jonringer
 
 # VsCode Extensions
-/pkgs/misc/vscode-extensions   @jonringer
+/pkgs/applications/editors/vscode/extensions   @jonringer
 
 # Prometheus exporter modules and tests
 /nixos/modules/services/monitoring/prometheus/exporters.nix  @WilliButz
diff --git a/.github/labeler.yml b/.github/labeler.yml
index e23cd9598ff..c5c10d3e4bc 100644
--- a/.github/labeler.yml
+++ b/.github/labeler.yml
@@ -16,7 +16,7 @@
   - nixos/modules/services/editors/emacs.nix
   - nixos/modules/services/editors/emacs.xml
   - nixos/tests/emacs-daemon.nix
-  - pkgs/applications/editors/emacs-modes/**/*
+  - pkgs/applications/editors/emacs/elisp-packages/**/*
   - pkgs/applications/editors/emacs/**/*
   - pkgs/build-support/emacs/**/*
   - pkgs/top-level/emacs-packages.nix
@@ -142,7 +142,7 @@
 "6.topic: vim":
   - doc/languages-frameworks/vim.section.md
   - pkgs/applications/editors/vim/**/*
-  - pkgs/misc/vim-plugins/**/*
+  - pkgs/applications/editors/vim/plugins/**/*
   - nixos/modules/programs/neovim.nix
   - pkgs/applications/editors/neovim/**/*
 
diff --git a/.github/workflows/update-terraform-providers.yml b/.github/workflows/update-terraform-providers.yml
index 33ebb6f14ac..9de57d6e3d1 100644
--- a/.github/workflows/update-terraform-providers.yml
+++ b/.github/workflows/update-terraform-providers.yml
@@ -21,7 +21,7 @@ jobs:
           git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
           git config user.name "github-actions[bot]"
           pushd pkgs/applications/networking/cluster/terraform-providers
-          ./update-all-providers
+          ./update-all-providers --no-build
           git commit -m "${{ steps.setup.outputs.title }}" providers.json
           popd
       - name: create PR
diff --git a/README.md b/README.md
index e0970f85ff2..082469876b7 100644
--- a/README.md
+++ b/README.md
@@ -3,8 +3,8 @@
 </p>
 
 <p align="center">
-  <a href="https://www.codetriage.com/nixos/nixpkgs"><img src="https://www.codetriage.com/nixos/nixpkgs/badges/users.svg" alt="Code Triagers badge" /></a>
-  <a href="https://opencollective.com/nixos"><img src="https://opencollective.com/nixos/tiers/supporter/badge.svg?label=Supporter&color=brightgreen" alt="Open Collective supporters" /></a>
+  <a href="https://github.com/NixOS/nixpkgs/blob/master/CONTRIBUTING.md"><img src="https://img.shields.io/github/contributors-anon/NixOS/nixpkgs" alt="Contributors badge" /></a>
+  <a href="https://opencollective.com/nixos"><img src="https://opencollective.com/nixos/tiers/supporter/badge.svg?label=supporters&color=brightgreen" alt="Open Collective supporters" /></a>
 </p>
 
 [Nixpkgs](https://github.com/nixos/nixpkgs) is a collection of over
diff --git a/doc/contributing/reviewing-contributions.chapter.md b/doc/contributing/reviewing-contributions.chapter.md
index 3f3ba60947c..0a90781d0c5 100644
--- a/doc/contributing/reviewing-contributions.chapter.md
+++ b/doc/contributing/reviewing-contributions.chapter.md
@@ -103,7 +103,8 @@ Sample template for a new package review is provided below.
 - [ ] `meta.maintainers` is set
 - [ ] build time only dependencies are declared in `nativeBuildInputs`
 - [ ] source is fetched using the appropriate function
-- [ ] phases are respected
+- [ ] the list of `phases` is not overridden
+- [ ] when a phase (like `installPhase`) is overridden it starts with `runHook preInstall` and ends with `runHook postInstall`.
 - [ ] patches that are remotely available are fetched with `fetchpatch`
 
 ##### Possible improvements
diff --git a/doc/contributing/submitting-changes.chapter.md b/doc/contributing/submitting-changes.chapter.md
index d5b5f5a6017..109d051c016 100644
--- a/doc/contributing/submitting-changes.chapter.md
+++ b/doc/contributing/submitting-changes.chapter.md
@@ -98,7 +98,7 @@ We use jbidwatcher as an example for a discontinued project here.
 1. Create a new branch for your change, e.g. `git checkout -b jbidwatcher`
 1. Remove the actual package including its directory, e.g. `rm -rf pkgs/applications/misc/jbidwatcher`
 1. Remove the package from the list of all packages (`pkgs/top-level/all-packages.nix`).
-1. Add an alias for the package name in `pkgs/top-level/aliases.nix` (There is also `pkgs/misc/vim-plugins/aliases.nix`. Package sets typically do not have aliases, so we can't add them there.)
+1. Add an alias for the package name in `pkgs/top-level/aliases.nix` (There is also `pkgs/applications/editors/vim/plugins/aliases.nix`. Package sets typically do not have aliases, so we can't add them there.)
 
     For example in this case:
 
diff --git a/doc/languages-frameworks/python.section.md b/doc/languages-frameworks/python.section.md
index 9f9ace513c3..693ea016e0a 100644
--- a/doc/languages-frameworks/python.section.md
+++ b/doc/languages-frameworks/python.section.md
@@ -979,6 +979,31 @@ with import <nixpkgs> {};
 in python.withPackages(ps: [ps.blaze])).env
 ```
 
+#### Optional extra dependencies
+
+Some packages define optional dependencies for additional features. With
+`setuptools` this is called `extras_require` and `flit` calls it `extras-require`. A
+method for supporting this is by declaring the extras of a package in its
+`passthru`, e.g. in case of the package `dask`
+
+```nix
+passthru.extras-require = {
+  complete = [ distributed ];
+};
+```
+
+and letting the package requiring the extra add the list to its dependencies
+
+```nix
+propagatedBuildInputs = [
+  ...
+] ++ dask.extras-require.complete;
+```
+
+Note this method is preferred over adding parameters to builders, as that can
+result in packages depending on different variants and thereby causing
+collisions.
+
 #### `buildPythonApplication` function {#buildpythonapplication-function}
 
 The `buildPythonApplication` function is practically the same as
diff --git a/doc/languages-frameworks/rust.section.md b/doc/languages-frameworks/rust.section.md
index 56faf636df1..e19783e29e6 100644
--- a/doc/languages-frameworks/rust.section.md
+++ b/doc/languages-frameworks/rust.section.md
@@ -464,6 +464,8 @@ you of the correct hash.
   be disabled by setting `dontUseCargoParallelTests`.
 * `cargoInstallHook`: install binaries and static/shared libraries
   that were built using `cargoBuildHook`.
+* `bindgenHook`: for crates which use `bindgen` as a build dependency, lets
+  `bindgen` find `libclang` and `libclang` find the libraries in `buildInputs`.
 
 ### Examples {#examples}
 
diff --git a/doc/languages-frameworks/vim.section.md b/doc/languages-frameworks/vim.section.md
index 4ffd6736e23..a615d585b15 100644
--- a/doc/languages-frameworks/vim.section.md
+++ b/doc/languages-frameworks/vim.section.md
@@ -309,9 +309,9 @@ Sample output2:
 
 ## Adding new plugins to nixpkgs {#adding-new-plugins-to-nixpkgs}
 
-Nix expressions for Vim plugins are stored in [pkgs/misc/vim-plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/misc/vim-plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/vim-plugins/update.py). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/vim-plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/vim-plugins/vim-plugin-names). Plugins are listed in alphabetical order in `vim-plugin-names` using the format `[github username]/[repository]@[gitref]`. For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`.
+Nix expressions for Vim plugins are stored in [pkgs/applications/editors/vim/plugins](https://github.com/NixOS/nixpkgs/tree/master/pkgs/applications/editors/vim/plugins). For the vast majority of plugins, Nix expressions are automatically generated by running [`./update.py`](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/update.py). This creates a [generated.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/generated.nix) file based on the plugins listed in [vim-plugin-names](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/vim-plugin-names). Plugins are listed in alphabetical order in `vim-plugin-names` using the format `[github username]/[repository]@[gitref]`. For example https://github.com/scrooloose/nerdtree becomes `scrooloose/nerdtree`.
 
-Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/misc/vim-plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
+Some plugins require overrides in order to function properly. Overrides are placed in [overrides.nix](https://github.com/NixOS/nixpkgs/blob/master/pkgs/applications/editors/vim/plugins/overrides.nix). Overrides are most often required when a plugin requires some dependencies, or extra steps are required during the build process. For example `deoplete-fish` requires both `deoplete-nvim` and `vim-fish`, and so the following override was added:
 
 ```nix
 deoplete-fish = super.deoplete-fish.overrideAttrs(old: {
@@ -330,13 +330,13 @@ Finally, there are some plugins that are also packaged in nodePackages because t
 Run the update script with a GitHub API token that has at least `public_repo` access. Running the script without the token is likely to result in rate-limiting (429 errors). For steps on creating an API token, please refer to [GitHub's token documentation](https://docs.github.com/en/free-pro-team@latest/github/authenticating-to-github/creating-a-personal-access-token).
 
 ```sh
-GITHUB_API_TOKEN=my_token ./pkgs/misc/vim-plugins/update.py
+GITHUB_API_TOKEN=my_token ./pkgs/applications/editors/vim/plugins/update.py
 ```
 
 Alternatively, set the number of processes to a lower count to avoid rate-limiting.
 
 ```sh
-./pkgs/misc/vim-plugins/update.py --proc 1
+./pkgs/applications/editors/vim/plugins/update.py --proc 1
 ```
 
 ## Important repositories {#important-repositories}
diff --git a/doc/stdenv/stdenv.chapter.md b/doc/stdenv/stdenv.chapter.md
index 974f8747936..1d4ca99e3cb 100644
--- a/doc/stdenv/stdenv.chapter.md
+++ b/doc/stdenv/stdenv.chapter.md
@@ -325,6 +325,8 @@ This generic command invokes a number of *phases*. Package builds are split into
 
 Each phase can be overridden in its entirety either by setting the environment variable `namePhase` to a string containing some shell commands to be executed, or by redefining the shell function `namePhase`. The former is convenient to override a phase from the derivation, while the latter is convenient from a build script. However, typically one only wants to *add* some commands to a phase, e.g. by defining `postInstall` or `preFixup`, as skipping some of the default actions may have unexpected consequences. The default script for each phase is defined in the file `pkgs/stdenv/generic/setup.sh`.
 
+When overriding a phase, for example `installPhase`, it is important to start with `runHook preInstall` and end it with `runHook postInstall`, otherwise `preInstall` and `postInstall` will not be run. Even if you don't use them directly, it is good practice to do so anyways for downstream users who would want to add a `postInstall` by overriding your derivation.
+
 While inside an interactive `nix-shell`, if you wanted to run all phases in the order they would be run in an actual build, you can invoke `genericBuild` yourself.
 
 ### Controlling phases {#ssec-controlling-phases}
@@ -337,7 +339,8 @@ There are a number of variables that control what phases are executed and in wha
 
 Specifies the phases. You can change the order in which phases are executed, or add new phases, by setting this variable. If it’s not set, the default value is used, which is `$prePhases unpackPhase patchPhase $preConfigurePhases configurePhase $preBuildPhases buildPhase checkPhase $preInstallPhases installPhase fixupPhase installCheckPhase $preDistPhases distPhase $postPhases`.
 
-Usually, if you just want to add a few phases, it’s more convenient to set one of the variables below (such as `preInstallPhases`), as you then don’t specify all the normal phases.
+It is discouraged to set this variable, as it is easy to miss some important functionality hidden in some of the less obviously needed phases (like `fixupPhase` which patches the shebang of scripts).
+Usually, if you just want to add a few phases, it’s more convenient to set one of the variables below (such as `preInstallPhases`).
 
 ##### `prePhases` {#var-stdenv-prePhases}
 
@@ -794,7 +797,7 @@ Hook executed at the start of the distribution phase.
 
 Hook executed at the end of the distribution phase.
 
-## Shell functions {#ssec-stdenv-functions}
+## Shell functions and utilities {#ssec-stdenv-functions}
 
 The standard environment provides a number of useful functions.
 
@@ -818,6 +821,19 @@ There’s many more kinds of arguments, they are documented in `nixpkgs/pkgs/bui
 
 Using the `makeBinaryWrapper` implementation is usually preferred, as it creates a tiny _compiled_ wrapper executable, that can be used as a shebang interpreter. This is needed mostly on Darwin, where shebangs cannot point to scripts, [due to a limitation with the `execve`-syscall](https://stackoverflow.com/questions/67100831/macos-shebang-with-absolute-path-not-working). Compiled wrappers generated by `makeBinaryWrapper` can be inspected with `less <path-to-wrapper>` - by scrolling past the binary data you should be able to see the shell command that generated the executable and there see the environment variables that were injected into the wrapper.
 
+### `remove-references-to -t` \<storepath\> [ `-t` \<storepath\> ... ] \<file\> ... {#fun-remove-references-to}
+
+Removes the references of the specified files to the specified store files. This is done without changing the size of the file by replacing the hash by `eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee`, and should work on compiled executables. This is meant to be used to remove the dependency of the output on inputs that are known to be unnecessary at runtime. Of course, reckless usage will break the patched programs.
+To use this, add `removeReferencesTo` to `nativeBuildInputs`.
+
+As `remove-references-to` is an actual executable and not a shell function, it can be used with `find`.
+Example removing all references to the compiler in the output:
+```nix
+postInstall = ''
+  find "$out" -type f -exec remove-references-to -t ${stdenv.cc} '{}' +
+'';
+```
+
 ### `substitute` \<infile\> \<outfile\> \<subs\> {#fun-substitute}
 
 Performs string substitution on the contents of \<infile\>, writing the result to \<outfile\>. The substitutions in \<subs\> are of the following form:
diff --git a/lib/attrsets.nix b/lib/attrsets.nix
index dafdd98f498..a88947b4585 100644
--- a/lib/attrsets.nix
+++ b/lib/attrsets.nix
@@ -276,7 +276,7 @@ rec {
 
 
   /* Like `mapAttrsRecursive', but it takes an additional predicate
-     function that tells it whether to recursive into an attribute
+     function that tells it whether to recurse into an attribute
      set.  If it returns false, `mapAttrsRecursiveCond' does not
      recurse, but does apply the map function.  If it returns true, it
      does recurse, and does not apply the map function.
diff --git a/lib/licenses.nix b/lib/licenses.nix
index 160b684330e..b9310ef6c5b 100644
--- a/lib/licenses.nix
+++ b/lib/licenses.nix
@@ -465,6 +465,11 @@ in mkLicense lset) ({
     spdxId = "imagemagick";
   };
 
+  imlib2 = {
+    spdxId = "Imlib2";
+    fullName = "Imlib2 License";
+  };
+
   inria-compcert = {
     fullName  = "INRIA Non-Commercial License Agreement for the CompCert verified compiler";
     url       = "https://compcert.org/doc/LICENSE.txt";
@@ -591,6 +596,16 @@ in mkLicense lset) ({
     spdxId = "MIT";
     fullName = "MIT License";
   };
+  # https://spdx.org/licenses/MIT-feh.html
+  mit-feh = {
+    spdxId = "MIT-feh";
+    fullName = "feh License";
+  };
+
+  mitAdvertising = {
+    spdxId = "MIT-advertising";
+    fullName = "Enlightenment License (e16)";
+  };
 
   mpl10 = {
     spdxId = "MPL-1.0";
diff --git a/lib/modules.nix b/lib/modules.nix
index f1125aca0a3..e9fc1007fc2 100644
--- a/lib/modules.nix
+++ b/lib/modules.nix
@@ -138,7 +138,7 @@ rec {
             # support for that, in turn it's lazy in its values. This means e.g.
             # a `_module.args.pkgs = import (fetchTarball { ... }) {}` won't
             # start a download when `pkgs` wasn't evaluated.
-            type = types.lazyAttrsOf types.unspecified;
+            type = types.lazyAttrsOf types.raw;
             internal = true;
             description = "Arguments passed to each module.";
           };
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh
index 590937da5b8..a1c592cf4ef 100755
--- a/lib/tests/modules.sh
+++ b/lib/tests/modules.sh
@@ -284,6 +284,21 @@ checkConfigOutput '^"a b"$' config.resultFoo ./declare-variants.nix ./define-var
 checkConfigOutput '^"a y z"$' config.resultFooBar ./declare-variants.nix ./define-variant.nix
 checkConfigOutput '^"a b c"$' config.resultFooFoo ./declare-variants.nix ./define-variant.nix
 
+## emptyValue's
+checkConfigOutput "[ ]" config.list.a ./emptyValues.nix
+checkConfigOutput "{ }" config.attrs.a ./emptyValues.nix
+checkConfigOutput "null" config.null.a ./emptyValues.nix
+checkConfigOutput "{ }" config.submodule.a ./emptyValues.nix
+# These types don't have empty values
+checkConfigError 'The option .int.a. is used but not defined' config.int.a ./emptyValues.nix
+checkConfigError 'The option .nonEmptyList.a. is used but not defined' config.nonEmptyList.a ./emptyValues.nix
+
+## types.raw
+checkConfigOutput "{ foo = <CODE>; }" config.unprocessedNesting ./raw.nix
+checkConfigOutput "10" config.processedToplevel ./raw.nix
+checkConfigError "The option .multiple. is defined multiple times" config.multiple ./raw.nix
+checkConfigOutput "bar" config.priorities ./raw.nix
+
 cat <<EOF
 ====== module tests ======
 $pass Pass
diff --git a/lib/tests/modules/emptyValues.nix b/lib/tests/modules/emptyValues.nix
new file mode 100644
index 00000000000..77825de3281
--- /dev/null
+++ b/lib/tests/modules/emptyValues.nix
@@ -0,0 +1,36 @@
+{ lib, ... }:
+let
+  inherit (lib) types;
+in {
+
+  options = {
+    int = lib.mkOption {
+      type = types.lazyAttrsOf types.int;
+    };
+    list = lib.mkOption {
+      type = types.lazyAttrsOf (types.listOf types.int);
+    };
+    nonEmptyList = lib.mkOption {
+      type = types.lazyAttrsOf (types.nonEmptyListOf types.int);
+    };
+    attrs = lib.mkOption {
+      type = types.lazyAttrsOf (types.attrsOf types.int);
+    };
+    null = lib.mkOption {
+      type = types.lazyAttrsOf (types.nullOr types.int);
+    };
+    submodule = lib.mkOption {
+      type = types.lazyAttrsOf (types.submodule {});
+    };
+  };
+
+  config = {
+    int.a = lib.mkIf false null;
+    list.a = lib.mkIf false null;
+    nonEmptyList.a = lib.mkIf false null;
+    attrs.a = lib.mkIf false null;
+    null.a = lib.mkIf false null;
+    submodule.a = lib.mkIf false null;
+  };
+
+}
diff --git a/lib/tests/modules/raw.nix b/lib/tests/modules/raw.nix
new file mode 100644
index 00000000000..418e671ed07
--- /dev/null
+++ b/lib/tests/modules/raw.nix
@@ -0,0 +1,30 @@
+{ lib, ... }: {
+
+  options = {
+    processedToplevel = lib.mkOption {
+      type = lib.types.raw;
+    };
+    unprocessedNesting = lib.mkOption {
+      type = lib.types.raw;
+    };
+    multiple = lib.mkOption {
+      type = lib.types.raw;
+    };
+    priorities = lib.mkOption {
+      type = lib.types.raw;
+    };
+  };
+
+  config = {
+    processedToplevel = lib.mkIf true 10;
+    unprocessedNesting.foo = throw "foo";
+    multiple = lib.mkMerge [
+      "foo"
+      "foo"
+    ];
+    priorities = lib.mkMerge [
+      "foo"
+      (lib.mkForce "bar")
+    ];
+  };
+}
diff --git a/lib/types.nix b/lib/types.nix
index f2f9b2bca98..c47a35cd0d6 100644
--- a/lib/types.nix
+++ b/lib/types.nix
@@ -162,6 +162,13 @@ rec {
   # nixos/doc/manual/development/option-types.xml!
   types = rec {
 
+    raw = mkOptionType rec {
+      name = "raw";
+      description = "raw value";
+      check = value: true;
+      merge = mergeOneOption;
+    };
+
     anything = mkOptionType {
       name = "anything";
       description = "anything";
@@ -390,7 +397,7 @@ rec {
             ).optionalValue
           ) def.value
         ) defs)));
-      emptyValue = { value = {}; };
+      emptyValue = { value = []; };
       getSubOptions = prefix: elemType.getSubOptions (prefix ++ ["*"]);
       getSubModules = elemType.getSubModules;
       substSubModules = m: listOf (elemType.substSubModules m);
@@ -402,7 +409,7 @@ rec {
       let list = addCheck (types.listOf elemType) (l: l != []);
       in list // {
         description = "non-empty " + list.description;
-        # Note: emptyValue is left as is, because another module may define an element.
+        emptyValue = { }; # no .value attr, meaning unset
       };
 
     attrsOf = elemType: mkOptionType rec {
diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix
index f9a20ea8342..6ec7d705ef2 100644
--- a/maintainers/maintainer-list.nix
+++ b/maintainers/maintainer-list.nix
@@ -145,6 +145,12 @@
     githubId = 16829510;
     name = "Aaron Janse";
   };
+  aaronjheng = {
+    email = "wentworth@outlook.com";
+    github = "aaronjheng";
+    githubId = 806876;
+    name = "Aaron Jheng";
+  };
   aaronschif = {
     email = "aaronschif@gmail.com";
     github = "aaronschif";
@@ -595,6 +601,12 @@
     githubId = 15623522;
     name = "Amar Paul";
   };
+  amarshall = {
+    email = "andrew@johnandrewmarshall.com";
+    github = "amarshall";
+    githubId = 153175;
+    name = "Andrew Marshall";
+  };
   ambroisie = {
     email = "bruno.nixpkgs@belanyi.fr";
     github = "ambroisie";
@@ -759,13 +771,6 @@
     githubId = 11699655;
     name = "Stanislas Lange";
   };
-  angustrau = {
-    name = "Angus Trau";
-    email = "nix@angus.ws";
-    matrix = "@angustrau:matrix.org";
-    github = "angustrau";
-    githubId = 13267947;
-  };
   anhdle14 = {
     name = "Le Anh Duc";
     email = "anhdle14@icloud.com";
@@ -1077,6 +1082,12 @@
     githubId = 55833;
     name = "Troels Henriksen";
   };
+  atila = {
+    name = "Átila Saraiva";
+    email = "atilasaraiva@gmail.com";
+    github = "AtilaSaraiva";
+    githubId = 29521461;
+  };
   atkinschang = {
     email = "atkinschang+nixpkgs@gmail.com";
     github = "AtkinsChang";
@@ -1179,14 +1190,14 @@
     name = "Artturi N";
   };
   azahi = {
-    email = "azahi@teknik.io";
-    matrix = "@azahi:matrix.org";
+    name = "Azat Bahawi";
+    email = "azat@bahawi.net";
+    matrix = "@azahi:azahi.cc";
     github = "azahi";
     githubId = 22211000;
-    name = "Azat Bahawi";
     keys = [{
-      longkeyid = "rsa2048/0xB40FCB6608BBE3B6";
-      fingerprint = "E9F3 483F 31C7 29B4 4CA2  7C38 B40F CB66 08BB E3B6";
+      longkeyid = "rsa4096/0xC8C6BDDB3847F72B";
+      fingerprint = "2688 0377 C31D 9E81 9BDF  83A8 C8C6 BDDB 3847 F72B";
     }];
   };
   ayazhafiz = {
@@ -1195,6 +1206,12 @@
     githubId = 262763;
     name = "Ayaz Hafiz";
   };
+  azuwis = {
+    email = "azuwis@gmail.com";
+    github = "azuwis";
+    githubId = 9315;
+    name = "Zhong Jianxin";
+  };
   b4dm4n = {
     email = "fabianm88@gmail.com";
     github = "B4dM4n";
@@ -2382,6 +2399,13 @@
     githubId = 11145016;
     name = "J.C.";
   };
+  congee = {
+    email = "changshengwu@pm.me";
+    matrix = "@congeec:matrix.org";
+    github = "congee";
+    name = "Changsheng Wu";
+    githubId = 2083950;
+  };
   contrun = {
     email = "uuuuuu@protonmail.com";
     github = "contrun";
@@ -2879,6 +2903,12 @@
     githubId = 19733;
     name = "Moritz Heidkamp";
   };
+  DerickEddington = {
+    email = "derick.eddington@pm.me";
+    github = "DerickEddington";
+    githubId = 4731128;
+    name = "Derick Eddington";
+  };
   dermetfan = {
     email = "serverkorken@gmail.com";
     github = "dermetfan";
@@ -2963,6 +2993,12 @@
     githubId = 8404455;
     name = "Diego Lelis";
   };
+  DieracDelta = {
+    email = "justin@restivo.me";
+    github = "DieracDelta";
+    githubId = 13730968;
+    name = "Justin Restivo";
+  };
   diffumist = {
     email = "git@diffumist.me";
     github = "diffumist";
@@ -3381,6 +3417,12 @@
     githubId = 18535642;
     name = "Emily";
   };
+  emilytrau = {
+    name = "Emily Trau";
+    email = "nix@angus.ws";
+    github = "emilytrau";
+    githubId = 13267947;
+  };
   enderger = {
     email = "endergeryt@gmail.com";
     github = "enderger";
@@ -3736,6 +3778,12 @@
     githubId = 222467;
     name = "Dmitry Ivanov";
   };
+  Etjean = {
+    email = "et.jean@outlook.fr";
+    github = "Etjean";
+    githubId = 32169529;
+    name = "Etienne Jean";
+  };
   etu = {
     email = "elis@hirwing.se";
     matrix = "@etu:semi.social";
@@ -3918,6 +3966,12 @@
     githubId = 1276854;
     name = "Florian Peter";
   };
+  fbeffa = {
+    email = "beffa@fbengineering.ch";
+    github = "fedeinthemix";
+    githubId = 7670450;
+    name = "Federico Beffa";
+  };
   fbrs = {
     email = "yuuki@protonmail.com";
     github = "cideM";
@@ -4010,6 +4064,12 @@
     github = "fitzgibbon";
     githubId = 617048;
   };
+  fkautz = {
+    name = "Frederick F. Kautz IV";
+    email = "fkautz@alumni.cmu.edu";
+    github = "fkautz";
+    githubId = 135706;
+  };
   Flakebi = {
     email = "flakebi@t-online.de";
     github = "Flakebi";
@@ -4396,6 +4456,12 @@
     githubId = 27668;
     name = "Tobias Pflug";
   };
+  gin66 = {
+    email = "jochen@kiemes.de";
+    github = "gin66";
+    githubId = 5549373;
+    name = "Jochen Kiemes";
+  };
   giogadi = {
     email = "lgtorres42@gmail.com";
     github = "giogadi";
@@ -5456,6 +5522,12 @@
     githubId = 221929;
     name = "Jean-Baptiste Giraudeau";
   };
+  jc = {
+    name = "Josh Cooper";
+    email = "josh@cooper.is";
+    github = "joshua-cooper";
+    githubId = 35612334;
+  };
   jceb = {
     name = "jceb";
     email = "jceb@e-jc.de";
@@ -5584,6 +5656,16 @@
     githubId = 143075;
     name = "James Felix Black";
   };
+  jfchevrette = {
+    email = "jfchevrette@gmail.com";
+    github = "jfchevrette";
+    githubId = 3001;
+    name = "Jean-Francois Chevrette";
+    keys = [{
+      longkeyid = "rsa4096/0x67A0585801290DC6";
+      fingerprint = "B612 96A9 498E EECD D5E9  C0F0 67A0 5858 0129 0DC6";
+    }];
+  };
   jflanglois = {
     email = "yourstruly@julienlanglois.me";
     github = "jflanglois";
@@ -5966,6 +6048,12 @@
     githubId = 4611077;
     name = "Raymond Gauthier";
   };
+  jrpotter = {
+    email = "jrpotter2112@gmail.com";
+    github = "jrpotter";
+    githubId = 3267697;
+    name = "Joshua Potter";
+  };
   jschievink = {
     email = "jonasschievink@gmail.com";
     matrix = "@jschievink:matrix.org";
@@ -6021,6 +6109,12 @@
     githubId = 810075;
     name = "Juan Rodal";
   };
+  juboba = {
+    email = "juboba@gmail.com";
+    github = "juboba";
+    githubId = 1189739;
+    name = "Julio Borja Barra";
+  };
   juliendehos = {
     email = "dehos@lisic.univ-littoral.fr";
     github = "juliendehos";
@@ -6274,6 +6368,12 @@
     githubId = 209729;
     name = "Kevin Griffin";
   };
+  kevink = {
+    email = "kevin@kevink.dev";
+    github = "Unkn0wnCat";
+    githubId = 8211181;
+    name = "Kevin Kandlbinder";
+  };
   kfollesdal = {
     email = "kfollesdal@gmail.com";
     github = "kfollesdal";
@@ -6430,7 +6530,7 @@
     githubId = 18447310;
   };
   kloenk = {
-    email = "me@kloenk.de";
+    email = "me@kloenk.dev";
     matrix = "@kloenk:petabyte.dev";
     name = "Finn Behrens";
     github = "kloenk";
@@ -6984,12 +7084,6 @@
     githubId = 36448130;
     name = "Michael Brantley";
   };
-  linarcx = {
-    email = "linarcx@gmail.com";
-    github = "linarcx";
-    githubId = 10884422;
-    name = "Kaveh Ahangar";
-  };
   linc01n = {
     email = "git@lincoln.hk";
     github = "linc01n";
@@ -7052,6 +7146,12 @@
     githubId = 30698906;
     name = "Luna D Dragon";
   };
+  LunNova = {
+    email = "nixpkgs-maintainer@lunnova.dev";
+    github = "LunNova";
+    githubId = 782440;
+    name = "Luna Nova";
+  };
   lionello = {
     email = "lio@lunesu.com";
     github = "lionello";
@@ -7523,16 +7623,6 @@
     githubId = 29855073;
     name = "Michael Colicchia";
   };
-  matdsoupe = {
-    github = "matdsoupe";
-    githubId = 44469426;
-    name = "Matheus de Souza Pessanha";
-    email = "matheus_pessanha2001@outlook.com";
-    keys = [{
-      longkeyid = "rsa4096/0x2671964AB1E06A08";
-      fingerprint = "2F32 CFEF E11A D73B A740  FA47 2671 964A B1E0 6A08";
-    }];
-  };
   matejc = {
     email = "cotman.matej@gmail.com";
     github = "matejc";
@@ -7933,6 +8023,12 @@
       fingerprint = "FEF0 AE2D 5449 3482 5F06  40AA 186A 1EDA C5C6 3F83";
     }];
   };
+  mihnea-s = {
+    email = "mihn.stn@gmail.com";
+    github = "mihnea-s";
+    githubId = 43088426;
+    name = "Mihnea Stoian";
+  };
   mikefaille = {
     email = "michael@faille.io";
     github = "mikefaille";
@@ -8047,13 +8143,6 @@
     githubId = 1001112;
     name = "Marcin Janczyk";
   };
-  mjlbach = {
-    email = "m.j.lbach@gmail.com";
-    matrix = "@atrius:matrix.org";
-    github = "mjlbach";
-    githubId = 13316262;
-    name = "Michael Lingelbach";
-  };
   mjp = {
     email = "mike@mythik.co.uk";
     github = "MikePlayle";
@@ -8559,6 +8648,12 @@
     githubId = 3747396;
     name = "Nathan Isom";
   };
+  nelsonjeppesen = {
+    email = "nix@jeppesen.io";
+    github = "NelsonJeppesen";
+    githubId = 50854675;
+    name = "Nelson Jeppesen";
+  };
   neonfuz = {
     email = "neonfuz@gmail.com";
     github = "neonfuz";
@@ -8856,9 +8951,9 @@
     githubId = 2946283;
     name = "Brian Cohen";
   };
-  novoxudonoser = {
+  novoxd = {
     email = "radnovox@gmail.com";
-    github = "novoxudonoser";
+    github = "novoxd";
     githubId = 6052922;
     name = "Kirill Struokov";
   };
@@ -9164,6 +9259,12 @@
     githubId = 15930073;
     name = "Moritz Scheuren";
   };
+  ozkutuk = {
+    email = "ozkutuk@protonmail.com";
+    github = "ozkutuk";
+    githubId = 5948762;
+    name = "Berk Özkütük";
+  };
   pablovsky = {
     email = "dealberapablo07@gmail.com";
     github = "pablo1107";
@@ -9803,6 +9904,12 @@
     githubId = 20524473;
     name = "Psyanticy";
   };
+  psydvl = {
+    email = "psydvl@fea.st";
+    github = "psydvl";
+    githubId = 43755002;
+    name = "Dmitriy P";
+  };
   ptival = {
     email = "valentin.robert.42@gmail.com";
     github = "Ptival";
@@ -10037,6 +10144,20 @@
     githubId = 16624;
     name = "Maxim Ivanov";
   };
+  reckenrode = {
+    name = "Randy Eckenrode";
+    email = "randy@largeandhighquality.com";
+    matrix = "@reckenrode:matrix.org";
+    github = "reckenrode";
+    githubId = 7413633;
+    keys = [
+      # compare with https://keybase.io/reckenrode
+      {
+        longkeyid = "ed25519/0xFBF19A982CCE0048";
+        fingerprint = "01D7 5486 3A6D 64EA AC77 0D26 FBF1 9A98 2CCE 0048";
+      }
+    ];
+  };
   redfish64 = {
     email = "engler@gmail.com";
     github = "redfish64";
@@ -11005,6 +11126,16 @@
     github = "shikanime";
     githubId = 22115108;
   };
+  shiryel = {
+    email = "contact@shiryel.com";
+    name = "Shiryel";
+    github = "shiryel";
+    githubId = 35617139;
+    keys = [{
+      longkeyid = "ed25519/0xC4041EA6B32633DE";
+      fingerprint = "AB63 4CD9 3322 BD42 6231  F764 C404 1EA6 B326 33DE";
+    }];
+  };
   shlevy = {
     email = "shea@shealevy.com";
     github = "shlevy";
@@ -11428,6 +11559,12 @@
     githubId = 1699155;
     name = "Steve Elliott";
   };
+  stehessel = {
+      email = "stephan@stehessel.de";
+      github = "stehessel";
+      githubId = 55607356;
+      name = "Stephan Heßelmann";
+  };
   stelcodes = {
     email = "stel@stel.codes";
     github = "stelcodes";
@@ -13045,7 +13182,7 @@
     name = "Wayne Scott";
   };
   wucke13 = {
-    email = "info@wucke13.de";
+    email = "wucke13@gmail.com";
     github = "wucke13";
     githubId = 20400405;
     name = "Wucke";
@@ -13124,6 +13261,12 @@
     githubId = 1297598;
     name = "Konrad Borowski";
   };
+  xgroleau = {
+    email = "xgroleau@gmail.com";
+    github = "xgroleau";
+    githubId = 31734358;
+    name = "Xavier Groleau";
+  };
   xiorcale = {
     email = "quentin.vaucher@pm.me";
     github = "xiorcale";
@@ -13180,7 +13323,7 @@
   };
   yana = {
     email = "yana@riseup.net";
-    github = "alpakido";
+    github = "sowelisuwi";
     githubId = 1643293;
     name = "Yana Timoshenko";
   };
@@ -13761,6 +13904,16 @@
     github = "zeri42";
     githubId = 68825133;
   };
+  zoedsoupe = {
+    github = "zoedsoupe";
+    githubId = 44469426;
+    name = "Zoey de Souza Pessanha";
+    email = "zoey.spessanha@outlook.com";
+    keys = [{
+      longkeyid = "rsa4096/0x1E1E889CDBD6A315";
+      fingerprint = "EAA1 51DB 472B 0122 109A  CB17 1E1E 889C DBD6 A315";
+    }];
+  };
   zombiezen = {
     name = "Ross Light";
     email = "ross@zombiezen.com";
@@ -13830,4 +13983,10 @@
     github = "AmeerTaweel";
     githubId = 20538273;
   };
+  nigelgbanks = {
+    name = "Nigel Banks";
+    email = "nigel.g.banks@gmail.com";
+    github = "nigelgbanks";
+    githubId = 487373;
+  };
 }
diff --git a/maintainers/scripts/pluginupdate.py b/maintainers/scripts/pluginupdate.py
index de85b88da3f..017e3ac758a 100644
--- a/maintainers/scripts/pluginupdate.py
+++ b/maintainers/scripts/pluginupdate.py
@@ -1,4 +1,4 @@
-# Used by pkgs/misc/vim-plugins/update.py and pkgs/applications/editors/kakoune/plugins/update.py
+# Used by pkgs/applications/editors/vim/plugins/update.py and pkgs/applications/editors/kakoune/plugins/update.py
 
 # format:
 # $ nix run nixpkgs.python3Packages.black -c black update.py
@@ -73,9 +73,13 @@ def retry(ExceptionToCheck: Any, tries: int = 4, delay: float = 3, backoff: floa
 
     return deco_retry
 
+@dataclass
+class FetchConfig:
+    proc: int
+    github_token: str
+
 
-def make_request(url: str) -> urllib.request.Request:
-    token = os.getenv("GITHUB_API_TOKEN")
+def make_request(url: str, token=None) -> urllib.request.Request:
     headers = {}
     if token is not None:
         headers["Authorization"] = f"token {token}"
@@ -90,6 +94,7 @@ class Repo:
         self.branch = branch
         self.alias = alias
         self.redirect: Dict[str, str] = {}
+        self.token = "dummy_token"
 
     @property
     def name(self):
@@ -132,10 +137,11 @@ class Repo:
 
 class RepoGitHub(Repo):
     def __init__(
-            self, owner: str, repo: str, branch: str, alias: Optional[str]
+        self, owner: str, repo: str, branch: str, alias: Optional[str]
     ) -> None:
         self.owner = owner
         self.repo = repo
+        self.token = None
         '''Url to the repo'''
         super().__init__(self.url(""), branch, alias)
         log.debug("Instantiating github repo %s/%s", self.owner, self.repo)
@@ -150,7 +156,7 @@ class RepoGitHub(Repo):
     @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def has_submodules(self) -> bool:
         try:
-            req = make_request(self.url(f"blob/{self.branch}/.gitmodules"))
+            req = make_request(self.url(f"blob/{self.branch}/.gitmodules"), self.token)
             urllib.request.urlopen(req, timeout=10).close()
         except urllib.error.HTTPError as e:
             if e.code == 404:
@@ -162,7 +168,7 @@ class RepoGitHub(Repo):
     @retry(urllib.error.URLError, tries=4, delay=3, backoff=2)
     def latest_commit(self) -> Tuple[str, datetime]:
         commit_url = self.url(f"commits/{self.branch}.atom")
-        commit_req = make_request(commit_url)
+        commit_req = make_request(commit_url, self.token)
         with urllib.request.urlopen(commit_req, timeout=10) as req:
             self._check_for_redirect(commit_url, req)
             xml = req.read()
@@ -291,15 +297,41 @@ class Editor:
         """To fill the cache"""
         return get_current_plugins(self)
 
-    def load_plugin_spec(self, plugin_file) -> List[PluginDesc]:
-        return load_plugin_spec(plugin_file)
+    def load_plugin_spec(self, config: FetchConfig, plugin_file) -> List[PluginDesc]:
+        plugins = []
+        with open(plugin_file) as f:
+            for line in f:
+                if line.startswith("#"):
+                    continue
+                plugin = parse_plugin_line(config, line)
+                plugins.append(plugin)
+        return plugins
 
     def generate_nix(self, plugins, outfile: str):
         '''Returns nothing for now, writes directly to outfile'''
         raise NotImplementedError()
 
-    def get_update(self, input_file: str, outfile: str, proc: int):
-        return get_update(input_file, outfile, proc, editor=self)
+    def get_update(self, input_file: str, outfile: str, config: FetchConfig):
+        cache: Cache = Cache(self.get_current_plugins(), self.cache_file)
+        _prefetch = functools.partial(prefetch, cache=cache)
+
+        def update() -> dict:
+            plugin_names = self.load_plugin_spec(config, input_file)
+
+            try:
+                pool = Pool(processes=config.proc)
+                results = pool.map(_prefetch, plugin_names)
+            finally:
+                cache.store()
+
+            plugins, redirects = check_results(results)
+
+            self.generate_nix(plugins, outfile)
+
+            return redirects
+
+        return update
+
 
     @property
     def attr_path(self):
@@ -345,7 +377,15 @@ class Editor:
             dest="proc",
             type=int,
             default=30,
-            help="Number of concurrent processes to spawn. Export GITHUB_API_TOKEN allows higher values.",
+            help="Number of concurrent processes to spawn. Setting --github-token allows higher values.",
+        )
+        parser.add_argument(
+            "--github-token",
+            "-t",
+            type=str,
+            default=os.getenv("GITHUB_API_TOKEN"),
+            help="""Allows to set --proc to higher values.
+            Uses GITHUB_API_TOKEN environment variables as the default value.""",
         )
         parser.add_argument(
             "--no-commit", "-n", action="store_true", default=False,
@@ -414,8 +454,8 @@ def prefetch_plugin(
     )
 
 
-def fetch_plugin_from_pluginline(plugin_line: str) -> Plugin:
-    plugin, _ = prefetch_plugin(parse_plugin_line(plugin_line))
+def fetch_plugin_from_pluginline(config: FetchConfig, plugin_line: str) -> Plugin:
+    plugin, _ = prefetch_plugin(parse_plugin_line(config, plugin_line))
     return plugin
 
 
@@ -465,7 +505,7 @@ def make_repo(uri, branch, alias) -> Repo:
         repo = Repo(uri.strip(), branch, alias)
     return repo
 
-def parse_plugin_line(line: str) -> PluginDesc:
+def parse_plugin_line(config: FetchConfig, line: str) -> PluginDesc:
     branch = "HEAD"
     alias = None
     uri = line
@@ -476,21 +516,11 @@ def parse_plugin_line(line: str) -> PluginDesc:
         uri, branch = uri.split("@")
 
     repo = make_repo(uri.strip(), branch.strip(), alias)
+    repo.token = config.github_token
 
     return PluginDesc(repo, branch.strip(), alias)
 
 
-def load_plugin_spec(plugin_file: str) -> List[PluginDesc]:
-    plugins = []
-    with open(plugin_file) as f:
-        for line in f:
-            if line.startswith("#"):
-                continue
-            plugin = parse_plugin_line(line)
-            plugins.append(plugin)
-    return plugins
-
-
 def get_cache_path(cache_file_name: str) -> Optional[Path]:
     xdg_cache = os.environ.get("XDG_CACHE_HOME", None)
     if xdg_cache is None:
@@ -556,6 +586,7 @@ def prefetch(
 
 
 def rewrite_input(
+    config: FetchConfig,
     input_file: Path,
     deprecated: Path,
     redirects: Dict[str, str] = None,
@@ -573,8 +604,8 @@ def rewrite_input(
         with open(deprecated, "r") as f:
             deprecations = json.load(f)
         for old, new in redirects.items():
-            old_plugin = fetch_plugin_from_pluginline(old)
-            new_plugin = fetch_plugin_from_pluginline(new)
+            old_plugin = fetch_plugin_from_pluginline(config, old)
+            new_plugin = fetch_plugin_from_pluginline(config, new)
             if old_plugin.normalized_name != new_plugin.normalized_name:
                 deprecations[old_plugin.normalized_name] = {
                     "new": new_plugin.normalized_name,
@@ -600,40 +631,21 @@ def commit(repo: git.Repo, message: str, files: List[Path]) -> None:
         print("no changes in working tree to commit")
 
 
-def get_update(input_file: str, outfile: str, proc: int, editor: Editor):
-    cache: Cache = Cache(editor.get_current_plugins(), editor.cache_file)
-    _prefetch = functools.partial(prefetch, cache=cache)
-
-    def update() -> dict:
-        plugin_names = editor.load_plugin_spec(input_file)
-
-        try:
-            pool = Pool(processes=proc)
-            results = pool.map(_prefetch, plugin_names)
-        finally:
-            cache.store()
-
-        plugins, redirects = check_results(results)
-
-        editor.generate_nix(plugins, outfile)
-
-        return redirects
-
-    return update
-
 
 def update_plugins(editor: Editor, args):
     """The main entry function of this module. All input arguments are grouped in the `Editor`."""
 
     log.setLevel(LOG_LEVELS[args.debug])
     log.info("Start updating plugins")
-    update = editor.get_update(args.input_file, args.outfile, args.proc)
+    fetch_config = FetchConfig(args.proc, args.github_token)
+    update = editor.get_update(args.input_file, args.outfile, fetch_config)
 
     redirects = update()
-    editor.rewrite_input(args.input_file, editor.deprecated, redirects)
+    editor.rewrite_input(fetch_config, args.input_file, editor.deprecated, redirects)
 
     autocommit = not args.no_commit
 
+    nixpkgs_repo = None
     if autocommit:
         nixpkgs_repo = git.Repo(editor.root, search_parent_directories=True)
         commit(nixpkgs_repo, f"{editor.attr_path}: update", [args.outfile])
@@ -648,9 +660,9 @@ def update_plugins(editor: Editor, args):
             )
 
     for plugin_line in args.add_plugins:
-        editor.rewrite_input(args.input_file, editor.deprecated, append=(plugin_line + "\n",))
+        editor.rewrite_input(fetch_config, args.input_file, editor.deprecated, append=(plugin_line + "\n",))
         update()
-        plugin = fetch_plugin_from_pluginline(plugin_line)
+        plugin = fetch_plugin_from_pluginline(fetch_config, plugin_line)
         if autocommit:
             commit(
                 nixpkgs_repo,
diff --git a/maintainers/scripts/remove-old-aliases.py b/maintainers/scripts/remove-old-aliases.py
new file mode 100755
index 00000000000..5d9398feaa2
--- /dev/null
+++ b/maintainers/scripts/remove-old-aliases.py
@@ -0,0 +1,202 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i python3 -p "python3.withPackages(ps: with ps; [ ])" nix
+"""
+A program to remove old aliases or convert old aliases to throws
+Example usage:
+./maintainers/scripts/remove-old-aliases.py --year 2018 --file ./pkgs/top-level/aliases.nix
+
+Check this file with mypy after every change!
+$ mypy --strict maintainers/scripts/remove-old-aliases.py
+"""
+import argparse
+import shutil
+import subprocess
+from datetime import date as datetimedate
+from datetime import datetime
+from pathlib import Path
+
+
+def process_args() -> argparse.Namespace:
+    """process args"""
+    arg_parser = argparse.ArgumentParser()
+    arg_parser.add_argument(
+        "--year", required=True, type=int, help="operate on aliases older than $year"
+    )
+    arg_parser.add_argument(
+        "--month",
+        type=int,
+        default=1,
+        help="operate on aliases older than $year-$month",
+    )
+    arg_parser.add_argument("--file", required=True, type=Path, help="alias file")
+    arg_parser.add_argument(
+        "--dry-run", action="store_true", help="don't modify files, only print results"
+    )
+    return arg_parser.parse_args()
+
+
+def get_date_lists(
+    txt: list[str], cutoffdate: datetimedate
+) -> tuple[list[str], list[str], list[str]]:
+    """get a list of lines in which the date is older than $cutoffdate"""
+    date_older_list: list[str] = []
+    date_older_throw_list: list[str] = []
+    date_sep_line_list: list[str] = []
+
+    for lineno, line in enumerate(txt, start=1):
+        line = line.rstrip()
+        my_date = None
+        for string in line.split():
+            string = string.strip(":")
+            try:
+                # strip ':' incase there is a string like 2019-11-01:
+                my_date = datetime.strptime(string, "%Y-%m-%d").date()
+            except ValueError:
+                try:
+                    my_date = datetime.strptime(string, "%Y-%m").date()
+                except ValueError:
+                    continue
+
+        if my_date is None or my_date > cutoffdate:
+            continue
+
+        if "=" not in line:
+            date_sep_line_list.append(f"{lineno} {line}")
+        # 'if' lines could be complicated
+        elif "if " in line and "if =" not in line:
+            print(f"RESOLVE MANUALLY {line}")
+        elif "throw" in line:
+            date_older_throw_list.append(line)
+        else:
+            date_older_list.append(line)
+
+    return (
+        date_older_list,
+        date_sep_line_list,
+        date_older_throw_list,
+    )
+
+
+def convert_to_throw(date_older_list: list[str]) -> list[tuple[str, str]]:
+    """convert a list of lines to throws"""
+    converted_list = []
+    for line in date_older_list.copy():
+        indent: str = " " * (len(line) - len(line.lstrip()))
+        before_equal = ""
+        after_equal = ""
+        try:
+            before_equal, after_equal = (x.strip() for x in line.split("=", maxsplit=2))
+        except ValueError as err:
+            print(err, line, "\n")
+            date_older_list.remove(line)
+            continue
+
+        alias = before_equal.strip()
+        after_equal_list = [x.strip(";:") for x in after_equal.split()]
+
+        converted = (
+            f"{indent}{alias} = throw \"'{alias}' has been renamed to/replaced by"
+            f" '{after_equal_list.pop(0)}'\";"
+            f' # Converted to throw {datetime.today().strftime("%Y-%m-%d")}'
+        )
+        converted_list.append((line, converted))
+
+    return converted_list
+
+
+def generate_text_to_write(
+    txt: list[str],
+    date_older_list: list[str],
+    converted_to_throw: list[tuple[str, str]],
+    date_older_throw_list: list[str],
+) -> list[str]:
+    """generate a list of text to be written to the aliasfile"""
+    text_to_write: list[str] = []
+    for line in txt:
+        text_to_append: str = ""
+        if converted_to_throw:
+            for tupl in converted_to_throw:
+                if line == tupl[0]:
+                    text_to_append = f"{tupl[1]}\n"
+        if line not in date_older_list and line not in date_older_throw_list:
+            text_to_append = f"{line}\n"
+        if text_to_append:
+            text_to_write.append(text_to_append)
+
+    return text_to_write
+
+
+def write_file(
+    aliasfile: Path,
+    text_to_write: list[str],
+) -> None:
+    """write file"""
+    temp_aliasfile = Path(f"{aliasfile}.raliases")
+    with open(temp_aliasfile, "w", encoding="utf-8") as far:
+        for line in text_to_write:
+            far.write(line)
+    print("\nChecking the syntax of the new aliasfile")
+    try:
+        subprocess.run(
+            ["nix-instantiate", "--eval", temp_aliasfile],
+            check=True,
+            stdout=subprocess.DEVNULL,
+        )
+    except subprocess.CalledProcessError:
+        print(
+            "\nSyntax check failed,",
+            "there may have been a line which only has\n"
+            'aliasname = "reason why";\n'
+            "when it should have been\n"
+            'aliasname = throw "reason why";',
+        )
+        temp_aliasfile.unlink()
+        return
+    shutil.move(f"{aliasfile}.raliases", aliasfile)
+    print(f"{aliasfile} modified! please verify with 'git diff'.")
+
+
+def main() -> None:
+    """main"""
+    args = process_args()
+
+    aliasfile = Path(args.file).absolute()
+    cutoffdate = (datetime.strptime(f"{args.year}-{args.month}-01", "%Y-%m-%d")).date()
+
+    txt: list[str] = (aliasfile.read_text(encoding="utf-8")).splitlines()
+
+    date_older_list: list[str] = []
+    date_sep_line_list: list[str] = []
+    date_older_throw_list: list[str] = []
+
+    date_older_list, date_sep_line_list, date_older_throw_list = get_date_lists(
+        txt, cutoffdate
+    )
+
+    converted_to_throw: list[tuple[str, str]] = []
+    converted_to_throw = convert_to_throw(date_older_list)
+
+    if date_older_list:
+        print(" Will be converted to throws. ".center(100, "-"))
+        for l_n in date_older_list:
+            print(l_n)
+
+    if date_older_throw_list:
+        print(" Will be removed. ".center(100, "-"))
+        for l_n in date_older_throw_list:
+            print(l_n)
+
+    if date_sep_line_list:
+        print(" On separate line, resolve manually. ".center(100, "-"))
+        for l_n in date_sep_line_list:
+            print(l_n)
+
+    if not args.dry_run:
+        text_to_write = generate_text_to_write(
+            txt, date_older_list, converted_to_throw, date_older_throw_list
+        )
+        write_file(aliasfile, text_to_write)
+
+
+if __name__ == "__main__":
+    main()
diff --git a/maintainers/scripts/update.nix b/maintainers/scripts/update.nix
index d881d68301b..1a2f06c73a2 100755
--- a/maintainers/scripts/update.nix
+++ b/maintainers/scripts/update.nix
@@ -147,7 +147,7 @@ let
 
     to run update script for specific package, or
 
-        % nix-shell maintainers/scripts/update.nix --arg predicate '(path: pkg: builtins.isList pkg.updateScript && builtins.length pkg.updateScript >= 1 && (let script = builtins.head pkg.updateScript; in builtins.isAttrs script && script.name == "gnome-update-script"))'
+        % nix-shell maintainers/scripts/update.nix --arg predicate '(path: pkg: pkg.updateScript.name or null == "gnome-update-script")'
 
     to run update script for all packages matching given predicate, or
 
diff --git a/maintainers/scripts/update.py b/maintainers/scripts/update.py
index 06b12a0ee04..07e0b5c6830 100644
--- a/maintainers/scripts/update.py
+++ b/maintainers/scripts/update.py
@@ -88,6 +88,10 @@ async def commit_changes(name: str, merge_lock: asyncio.Lock, worktree: str, bra
         async with merge_lock:
             await check_subprocess('git', 'add', *change['files'], cwd=worktree)
             commit_message = '{attrPath}: {oldVersion} → {newVersion}'.format(**change)
+            if 'commitMessage' in change:
+                commit_message = change['commitMessage']
+            elif 'commitBody' in change:
+                commit_message = commit_message + '\n\n' + change['commitBody']
             await check_subprocess('git', 'commit', '--quiet', '-m', commit_message, cwd=worktree)
             await check_subprocess('git', 'cherry-pick', branch)
 
diff --git a/maintainers/team-list.nix b/maintainers/team-list.nix
index 361be88045f..c586254d709 100644
--- a/maintainers/team-list.nix
+++ b/maintainers/team-list.nix
@@ -214,7 +214,6 @@ with lib.maintainers; {
       mguentner
       ekleog
       ralith
-      mjlbach
       dandellion
       sumnerevans
     ];
@@ -223,7 +222,7 @@ with lib.maintainers; {
 
   openstack = {
     members = [
-      angustrau
+      emilytrau
       SuperSandro2000
     ];
     scope = "Maintain the ecosystem around OpenStack";
@@ -278,6 +277,13 @@ with lib.maintainers; {
     scope = "Maintain SageMath and the dependencies that are likely to break it.";
   };
 
+  sphinx = {
+    members = [
+      SuperSandro2000
+    ];
+    scope = "Maintain Sphinx related packages.";
+  };
+
   serokell = {
     # Verify additions by approval of an already existing member of the team.
     members = [
diff --git a/nixos/doc/manual/development/activation-script.section.md b/nixos/doc/manual/development/activation-script.section.md
new file mode 100644
index 00000000000..df683662404
--- /dev/null
+++ b/nixos/doc/manual/development/activation-script.section.md
@@ -0,0 +1,72 @@
+# Activation script {#sec-activation-script}
+
+The activation script is a bash script called to activate the new
+configuration which resides in a NixOS system in `$out/activate`. Since its
+contents depend on your system configuration, the contents may differ.
+This chapter explains how the script works in general and some common NixOS
+snippets. Please be aware that the script is executed on every boot and system
+switch, so tasks that can be performed in other places should be performed
+there (for example letting a directory of a service be created by systemd using
+mechanisms like `StateDirectory`, `CacheDirectory`, ... or if that's not
+possible using `preStart` of the service).
+
+Activation scripts are defined as snippets using
+[](#opt-system.activationScripts). They can either be a simple multiline string
+or an attribute set that can depend on other snippets. The builder for the
+activation script will take these dependencies into account and order the
+snippets accordingly. As a simple example:
+
+```nix
+system.activationScripts.my-activation-script = {
+  deps = [ "etc" ];
+  # supportsDryActivation = true;
+  text = ''
+    echo "Hallo i bims"
+  '';
+};
+```
+
+This example creates an activation script snippet that is run after the `etc`
+snippet. The special variable `supportsDryActivation` can be set so the snippet
+is also run when `nixos-rebuild dry-activate` is run. To differentiate between
+real and dry activation, the `$NIXOS_ACTION` environment variable can be
+read which is set to `dry-activate` when a dry activation is done.
+
+An activation script can write to special files instructing
+`switch-to-configuration` to restart/reload units. The script will take these
+requests into account and will incorperate the unit configuration as described
+above. This means that the activation script will "fake" a modified unit file
+and `switch-to-configuration` will act accordingly. By doing so, configuration
+like [systemd.services.\<name\>.restartIfChanged](#opt-systemd.services) is
+respected. Since the activation script is run **after** services are already
+stopped, [systemd.services.\<name\>.stopIfChanged](#opt-systemd.services)
+cannot be taken into account anymore and the unit is always restarted instead
+of being stopped and started afterwards.
+
+The files that can be written to are `/run/nixos/activation-restart-list` and
+`/run/nixos/activation-reload-list` with their respective counterparts for
+dry activation being `/run/nixos/dry-activation-restart-list` and
+`/run/nixos/dry-activation-reload-list`. Those files can contain
+newline-separated lists of unit names where duplicates are being ignored. These
+files are not create automatically and activation scripts must take the
+possiblility into account that they have to create them first.
+
+## NixOS snippets {#sec-activation-script-nixos-snippets}
+
+There are some snippets NixOS enables by default because disabling them would
+most likely break you system. This section lists a few of them and what they
+do:
+
+- `binsh` creates `/bin/sh` which points to the runtime shell
+- `etc` sets up the contents of `/etc`, this includes systemd units and
+  excludes `/etc/passwd`, `/etc/group`, and `/etc/shadow` (which are managed by
+  the `users` snippet)
+- `hostname` sets the system's hostname in the kernel (not in `/etc`)
+- `modprobe` sets the path to the `modprobe` binary for module auto-loading
+- `nix` prepares the nix store and adds a default initial channel
+- `specialfs` is responsible for mounting filesystems like `/proc` and `sys`
+- `users` creates and removes users and groups by managing `/etc/passwd`,
+  `/etc/group` and `/etc/shadow`. This also creates home directories
+- `usrbinenv` creates `/usr/bin/env`
+- `var` creates some directories in `/var` that are not service-specific
+- `wrappers` creates setuid wrappers like `ping` and `sudo`
diff --git a/nixos/doc/manual/development/development.xml b/nixos/doc/manual/development/development.xml
index 0b2ad60a878..21286cdbd2b 100644
--- a/nixos/doc/manual/development/development.xml
+++ b/nixos/doc/manual/development/development.xml
@@ -12,6 +12,7 @@
  <xi:include href="../from_md/development/sources.chapter.xml" />
  <xi:include href="../from_md/development/writing-modules.chapter.xml" />
  <xi:include href="../from_md/development/building-parts.chapter.xml" />
+ <xi:include href="../from_md/development/what-happens-during-a-system-switch.chapter.xml" />
  <xi:include href="../from_md/development/writing-documentation.chapter.xml" />
  <xi:include href="../from_md/development/building-nixos.chapter.xml" />
  <xi:include href="../from_md/development/nixos-tests.chapter.xml" />
diff --git a/nixos/doc/manual/development/option-types.section.md b/nixos/doc/manual/development/option-types.section.md
index 56ffa8e9d79..78ace62e8f1 100644
--- a/nixos/doc/manual/development/option-types.section.md
+++ b/nixos/doc/manual/development/option-types.section.md
@@ -63,6 +63,17 @@ merging is handled.
     ```
     :::
 
+`types.raw`
+
+:   A type which doesn't do any checking, merging or nested evaluation. It
+    accepts a single arbitrary value that is not recursed into, making it
+    useful for values coming from outside the module system, such as package
+    sets or arbitrary data. Options of this type are still evaluated according
+    to priorities and conditionals, so `mkForce`, `mkIf` and co. still work on
+    the option value itself, but not for any value nested within it. This type
+    should only be used when checking, merging and nested evaluation are not
+    desirable.
+
 `types.attrs`
 
 :   A free-form attribute set.
diff --git a/nixos/doc/manual/development/running-nixos-tests.section.md b/nixos/doc/manual/development/running-nixos-tests.section.md
index d6a456f0188..1bec023b613 100644
--- a/nixos/doc/manual/development/running-nixos-tests.section.md
+++ b/nixos/doc/manual/development/running-nixos-tests.section.md
@@ -24,8 +24,8 @@ After building/downloading all required dependencies, this will perform
 a build that starts a QEMU/KVM virtual machine containing a NixOS
 system. The virtual machine mounts the Nix store of the host; this makes
 VM creation very fast, as no disk image needs to be created. Afterwards,
-you can view a pretty-printed log of the test:
+you can view a log of the test:
 
 ```ShellSession
-$ firefox result/log.html
+$ nix-store --read-log result
 ```
diff --git a/nixos/doc/manual/development/unit-handling.section.md b/nixos/doc/manual/development/unit-handling.section.md
new file mode 100644
index 00000000000..d477f2c860f
--- /dev/null
+++ b/nixos/doc/manual/development/unit-handling.section.md
@@ -0,0 +1,57 @@
+# Unit handling {#sec-unit-handling}
+
+To figure out what units need to be started/stopped/restarted/reloaded, the
+script first checks the current state of the system, similar to what `systemctl
+list-units` shows. For each of the units, the script goes through the following
+checks:
+
+- Is the unit file still in the new system? If not, **stop** the service unless
+  it sets `X-StopOnRemoval` in the `[Unit]` section to `false`.
+
+- Is it a `.target` unit? If so, **start** it unless it sets
+  `RefuseManualStart` in the `[Unit]` section to `true` or `X-OnlyManualStart`
+  in the `[Unit]` section to `true`. Also **stop** the unit again unless it
+  sets `X-StopOnReconfiguration` to `false`.
+
+- Are the contents of the unit files different? They are compared by parsing
+  them and comparing their contents. If they are different but only
+  `X-Reload-Triggers` in the `[Unit]` section is changed, **reload** the unit.
+  The NixOS module system allows setting these triggers with the option
+  [systemd.services.\<name\>.reloadTriggers](#opt-systemd.services). If the
+  unit files differ in any way, the following actions are performed:
+
+  - `.path` and `.slice` units are ignored. There is no need to restart them
+    since changes in their values are applied by systemd when systemd is
+    reloaded.
+
+  - `.mount` units are **reload**ed. These mostly come from the `/etc/fstab`
+    parser.
+
+  - `.socket` units are currently ignored. This is to be fixed at a later
+    point.
+
+  - The rest of the units (mostly `.service` units) are then **reload**ed if
+    `X-ReloadIfChanged` in the `[Service]` section is set to `true` (exposed
+    via [systemd.services.\<name\>.reloadIfChanged](#opt-systemd.services)).
+
+  - If the reload flag is not set, some more flags decide if the unit is
+    skipped. These flags are `X-RestartIfChanged` in the `[Service]` section
+    (exposed via
+    [systemd.services.\<name\>.restartIfChanged](#opt-systemd.services)),
+    `RefuseManualStop` in the `[Unit]` section, and `X-OnlyManualStart` in the
+    `[Unit]` section.
+
+  - The rest of the behavior is decided whether the unit has `X-StopIfChanged`
+    in the `[Service]` section set (exposed via
+    [systemd.services.\<name\>.stopIfChanged](#opt-systemd.services)). This is
+    set to `true` by default and must be explicitly turned off if not wanted.
+    If the flag is enabled, the unit is **stop**ped and then **start**ed. If
+    not, the unit is **restart**ed. The goal of the flag is to make sure that
+    the new unit never runs in the old environment which is still in place
+    before the activation script is run.
+
+  - The last thing that is taken into account is whether the unit is a service
+    and socket-activated. Due to a bug, this is currently only done when
+    `X-StopIfChanged` is set. If the unit is socket-activated, the socket is
+    stopped and started, and the service is stopped and to be started by socket
+    activation.
diff --git a/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md b/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md
new file mode 100644
index 00000000000..aad82831a3c
--- /dev/null
+++ b/nixos/doc/manual/development/what-happens-during-a-system-switch.chapter.md
@@ -0,0 +1,53 @@
+# What happens during a system switch? {#sec-switching-systems}
+
+Running `nixos-rebuild switch` is one of the more common tasks under NixOS.
+This chapter explains some of the internals of this command to make it simpler
+for new module developers to configure their units correctly and to make it
+easier to understand what is happening and why for curious administrators.
+
+`nixos-rebuild`, like many deployment solutions, calls `switch-to-configuration`
+which resides in a NixOS system at `$out/bin/switch-to-configuration`. The
+script is called with the action that is to be performed like `switch`, `test`,
+`boot`. There is also the `dry-activate` action which does not really perform
+the actions but rather prints what it would do if you called it with `test`.
+This feature can be used to check what service states would be changed if the
+configuration was switched to.
+
+If the action is `switch` or `boot`, the bootloader is updated first so the
+configuration will be the next one to boot. Unless `NIXOS_NO_SYNC` is set to
+`1`, `/nix/store` is synced to disk.
+
+If the action is `switch` or `test`, the currently running system is inspected
+and the actions to switch to the new system are calculated. This process takes
+two data sources into account: `/etc/fstab` and the current systemd status.
+Mounts and swaps are read from `/etc/fstab` and the corresponding actions are
+generated. If a new mount is added, for example, the proper `.mount` unit is
+marked to be started. The current systemd state is inspected, the difference
+between the current system and the desired configuration is calculated and
+actions are generated to get to this state. There are a lot of nuances that can
+be controlled by the units which are explained here.
+
+After calculating what should be done, the actions are carried out. The order
+of actions is always the same:
+- Stop units (`systemctl stop`)
+- Run activation script (`$out/activate`)
+- See if the activation script requested more units to restart
+- Restart systemd if needed (`systemd daemon-reexec`)
+- Forget about the failed state of units (`systemctl reset-failed`)
+- Reload systemd (`systemctl daemon-reload`)
+- Reload systemd user instances (`systemctl --user daemon-reload`)
+- Set up tmpfiles (`systemd-tmpfiles --create`)
+- Reload units (`systemctl reload`)
+- Restart units (`systemctl restart`)
+- Start units (`systemctl start`)
+- Inspect what changed during these actions and print units that failed and
+  that were newly started
+
+Most of these actions are either self-explaining but some of them have to do
+with our units or the activation script. For this reason, these topics are
+explained in the next sections.
+
+```{=docbook}
+<xi:include href="unit-handling.section.xml" />
+<xi:include href="activation-script.section.xml" />
+```
diff --git a/nixos/doc/manual/from_md/development/activation-script.section.xml b/nixos/doc/manual/from_md/development/activation-script.section.xml
new file mode 100644
index 00000000000..0d9e911216e
--- /dev/null
+++ b/nixos/doc/manual/from_md/development/activation-script.section.xml
@@ -0,0 +1,150 @@
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-activation-script">
+  <title>Activation script</title>
+  <para>
+    The activation script is a bash script called to activate the new
+    configuration which resides in a NixOS system in
+    <literal>$out/activate</literal>. Since its contents depend on your
+    system configuration, the contents may differ. This chapter explains
+    how the script works in general and some common NixOS snippets.
+    Please be aware that the script is executed on every boot and system
+    switch, so tasks that can be performed in other places should be
+    performed there (for example letting a directory of a service be
+    created by systemd using mechanisms like
+    <literal>StateDirectory</literal>,
+    <literal>CacheDirectory</literal>, … or if that’s not possible using
+    <literal>preStart</literal> of the service).
+  </para>
+  <para>
+    Activation scripts are defined as snippets using
+    <xref linkend="opt-system.activationScripts" />. They can either be
+    a simple multiline string or an attribute set that can depend on
+    other snippets. The builder for the activation script will take
+    these dependencies into account and order the snippets accordingly.
+    As a simple example:
+  </para>
+  <programlisting language="bash">
+system.activationScripts.my-activation-script = {
+  deps = [ &quot;etc&quot; ];
+  # supportsDryActivation = true;
+  text = ''
+    echo &quot;Hallo i bims&quot;
+  '';
+};
+</programlisting>
+  <para>
+    This example creates an activation script snippet that is run after
+    the <literal>etc</literal> snippet. The special variable
+    <literal>supportsDryActivation</literal> can be set so the snippet
+    is also run when <literal>nixos-rebuild dry-activate</literal> is
+    run. To differentiate between real and dry activation, the
+    <literal>$NIXOS_ACTION</literal> environment variable can be read
+    which is set to <literal>dry-activate</literal> when a dry
+    activation is done.
+  </para>
+  <para>
+    An activation script can write to special files instructing
+    <literal>switch-to-configuration</literal> to restart/reload units.
+    The script will take these requests into account and will
+    incorperate the unit configuration as described above. This means
+    that the activation script will <quote>fake</quote> a modified unit
+    file and <literal>switch-to-configuration</literal> will act
+    accordingly. By doing so, configuration like
+    <link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.restartIfChanged</link>
+    is respected. Since the activation script is run
+    <emphasis role="strong">after</emphasis> services are already
+    stopped,
+    <link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.stopIfChanged</link>
+    cannot be taken into account anymore and the unit is always
+    restarted instead of being stopped and started afterwards.
+  </para>
+  <para>
+    The files that can be written to are
+    <literal>/run/nixos/activation-restart-list</literal> and
+    <literal>/run/nixos/activation-reload-list</literal> with their
+    respective counterparts for dry activation being
+    <literal>/run/nixos/dry-activation-restart-list</literal> and
+    <literal>/run/nixos/dry-activation-reload-list</literal>. Those
+    files can contain newline-separated lists of unit names where
+    duplicates are being ignored. These files are not create
+    automatically and activation scripts must take the possiblility into
+    account that they have to create them first.
+  </para>
+  <section xml:id="sec-activation-script-nixos-snippets">
+    <title>NixOS snippets</title>
+    <para>
+      There are some snippets NixOS enables by default because disabling
+      them would most likely break you system. This section lists a few
+      of them and what they do:
+    </para>
+    <itemizedlist spacing="compact">
+      <listitem>
+        <para>
+          <literal>binsh</literal> creates <literal>/bin/sh</literal>
+          which points to the runtime shell
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>etc</literal> sets up the contents of
+          <literal>/etc</literal>, this includes systemd units and
+          excludes <literal>/etc/passwd</literal>,
+          <literal>/etc/group</literal>, and
+          <literal>/etc/shadow</literal> (which are managed by the
+          <literal>users</literal> snippet)
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>hostname</literal> sets the system’s hostname in the
+          kernel (not in <literal>/etc</literal>)
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>modprobe</literal> sets the path to the
+          <literal>modprobe</literal> binary for module auto-loading
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>nix</literal> prepares the nix store and adds a
+          default initial channel
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>specialfs</literal> is responsible for mounting
+          filesystems like <literal>/proc</literal> and
+          <literal>sys</literal>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>users</literal> creates and removes users and groups
+          by managing <literal>/etc/passwd</literal>,
+          <literal>/etc/group</literal> and
+          <literal>/etc/shadow</literal>. This also creates home
+          directories
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>usrbinenv</literal> creates
+          <literal>/usr/bin/env</literal>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>var</literal> creates some directories in
+          <literal>/var</literal> that are not service-specific
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>wrappers</literal> creates setuid wrappers like
+          <literal>ping</literal> and <literal>sudo</literal>
+        </para>
+      </listitem>
+    </itemizedlist>
+  </section>
+</section>
diff --git a/nixos/doc/manual/from_md/development/option-types.section.xml b/nixos/doc/manual/from_md/development/option-types.section.xml
index 76ffb6f837c..90ef05a24e7 100644
--- a/nixos/doc/manual/from_md/development/option-types.section.xml
+++ b/nixos/doc/manual/from_md/development/option-types.section.xml
@@ -94,6 +94,25 @@
       </varlistentry>
       <varlistentry>
         <term>
+          <literal>types.raw</literal>
+        </term>
+        <listitem>
+          <para>
+            A type which doesn’t do any checking, merging or nested
+            evaluation. It accepts a single arbitrary value that is not
+            recursed into, making it useful for values coming from
+            outside the module system, such as package sets or arbitrary
+            data. Options of this type are still evaluated according to
+            priorities and conditionals, so <literal>mkForce</literal>,
+            <literal>mkIf</literal> and co. still work on the option
+            value itself, but not for any value nested within it. This
+            type should only be used when checking, merging and nested
+            evaluation are not desirable.
+          </para>
+        </listitem>
+      </varlistentry>
+      <varlistentry>
+        <term>
           <literal>types.attrs</literal>
         </term>
         <listitem>
diff --git a/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml b/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
index 7159b95b22b..da2e5076c95 100644
--- a/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
+++ b/nixos/doc/manual/from_md/development/running-nixos-tests.section.xml
@@ -26,9 +26,9 @@ machine: QEMU running (pid 8841)
     perform a build that starts a QEMU/KVM virtual machine containing a
     NixOS system. The virtual machine mounts the Nix store of the host;
     this makes VM creation very fast, as no disk image needs to be
-    created. Afterwards, you can view a pretty-printed log of the test:
+    created. Afterwards, you can view a log of the test:
   </para>
   <programlisting>
-$ firefox result/log.html
+$ nix-store --read-log result
 </programlisting>
 </section>
diff --git a/nixos/doc/manual/from_md/development/unit-handling.section.xml b/nixos/doc/manual/from_md/development/unit-handling.section.xml
new file mode 100644
index 00000000000..a6a654042f6
--- /dev/null
+++ b/nixos/doc/manual/from_md/development/unit-handling.section.xml
@@ -0,0 +1,119 @@
+<section xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="sec-unit-handling">
+  <title>Unit handling</title>
+  <para>
+    To figure out what units need to be
+    started/stopped/restarted/reloaded, the script first checks the
+    current state of the system, similar to what
+    <literal>systemctl list-units</literal> shows. For each of the
+    units, the script goes through the following checks:
+  </para>
+  <itemizedlist>
+    <listitem>
+      <para>
+        Is the unit file still in the new system? If not,
+        <emphasis role="strong">stop</emphasis> the service unless it
+        sets <literal>X-StopOnRemoval</literal> in the
+        <literal>[Unit]</literal> section to <literal>false</literal>.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Is it a <literal>.target</literal> unit? If so,
+        <emphasis role="strong">start</emphasis> it unless it sets
+        <literal>RefuseManualStart</literal> in the
+        <literal>[Unit]</literal> section to <literal>true</literal> or
+        <literal>X-OnlyManualStart</literal> in the
+        <literal>[Unit]</literal> section to <literal>true</literal>.
+        Also <emphasis role="strong">stop</emphasis> the unit again
+        unless it sets <literal>X-StopOnReconfiguration</literal> to
+        <literal>false</literal>.
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Are the contents of the unit files different? They are compared
+        by parsing them and comparing their contents. If they are
+        different but only <literal>X-Reload-Triggers</literal> in the
+        <literal>[Unit]</literal> section is changed,
+        <emphasis role="strong">reload</emphasis> the unit. The NixOS
+        module system allows setting these triggers with the option
+        <link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.reloadTriggers</link>.
+        If the unit files differ in any way, the following actions are
+        performed:
+      </para>
+      <itemizedlist>
+        <listitem>
+          <para>
+            <literal>.path</literal> and <literal>.slice</literal> units
+            are ignored. There is no need to restart them since changes
+            in their values are applied by systemd when systemd is
+            reloaded.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <literal>.mount</literal> units are
+            <emphasis role="strong">reload</emphasis>ed. These mostly
+            come from the <literal>/etc/fstab</literal> parser.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            <literal>.socket</literal> units are currently ignored. This
+            is to be fixed at a later point.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The rest of the units (mostly <literal>.service</literal>
+            units) are then <emphasis role="strong">reload</emphasis>ed
+            if <literal>X-ReloadIfChanged</literal> in the
+            <literal>[Service]</literal> section is set to
+            <literal>true</literal> (exposed via
+            <link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.reloadIfChanged</link>).
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            If the reload flag is not set, some more flags decide if the
+            unit is skipped. These flags are
+            <literal>X-RestartIfChanged</literal> in the
+            <literal>[Service]</literal> section (exposed via
+            <link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.restartIfChanged</link>),
+            <literal>RefuseManualStop</literal> in the
+            <literal>[Unit]</literal> section, and
+            <literal>X-OnlyManualStart</literal> in the
+            <literal>[Unit]</literal> section.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The rest of the behavior is decided whether the unit has
+            <literal>X-StopIfChanged</literal> in the
+            <literal>[Service]</literal> section set (exposed via
+            <link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.stopIfChanged</link>).
+            This is set to <literal>true</literal> by default and must
+            be explicitly turned off if not wanted. If the flag is
+            enabled, the unit is
+            <emphasis role="strong">stop</emphasis>ped and then
+            <emphasis role="strong">start</emphasis>ed. If not, the unit
+            is <emphasis role="strong">restart</emphasis>ed. The goal of
+            the flag is to make sure that the new unit never runs in the
+            old environment which is still in place before the
+            activation script is run.
+          </para>
+        </listitem>
+        <listitem>
+          <para>
+            The last thing that is taken into account is whether the
+            unit is a service and socket-activated. Due to a bug, this
+            is currently only done when
+            <literal>X-StopIfChanged</literal> is set. If the unit is
+            socket-activated, the socket is stopped and started, and the
+            service is stopped and to be started by socket activation.
+          </para>
+        </listitem>
+      </itemizedlist>
+    </listitem>
+  </itemizedlist>
+</section>
diff --git a/nixos/doc/manual/from_md/development/what-happens-during-a-system-switch.chapter.xml b/nixos/doc/manual/from_md/development/what-happens-during-a-system-switch.chapter.xml
new file mode 100644
index 00000000000..66ba792ddac
--- /dev/null
+++ b/nixos/doc/manual/from_md/development/what-happens-during-a-system-switch.chapter.xml
@@ -0,0 +1,122 @@
+<chapter xmlns="http://docbook.org/ns/docbook"  xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="sec-switching-systems">
+  <title>What happens during a system switch?</title>
+  <para>
+    Running <literal>nixos-rebuild switch</literal> is one of the more
+    common tasks under NixOS. This chapter explains some of the
+    internals of this command to make it simpler for new module
+    developers to configure their units correctly and to make it easier
+    to understand what is happening and why for curious administrators.
+  </para>
+  <para>
+    <literal>nixos-rebuild</literal>, like many deployment solutions,
+    calls <literal>switch-to-configuration</literal> which resides in a
+    NixOS system at <literal>$out/bin/switch-to-configuration</literal>.
+    The script is called with the action that is to be performed like
+    <literal>switch</literal>, <literal>test</literal>,
+    <literal>boot</literal>. There is also the
+    <literal>dry-activate</literal> action which does not really perform
+    the actions but rather prints what it would do if you called it with
+    <literal>test</literal>. This feature can be used to check what
+    service states would be changed if the configuration was switched
+    to.
+  </para>
+  <para>
+    If the action is <literal>switch</literal> or
+    <literal>boot</literal>, the bootloader is updated first so the
+    configuration will be the next one to boot. Unless
+    <literal>NIXOS_NO_SYNC</literal> is set to <literal>1</literal>,
+    <literal>/nix/store</literal> is synced to disk.
+  </para>
+  <para>
+    If the action is <literal>switch</literal> or
+    <literal>test</literal>, the currently running system is inspected
+    and the actions to switch to the new system are calculated. This
+    process takes two data sources into account:
+    <literal>/etc/fstab</literal> and the current systemd status. Mounts
+    and swaps are read from <literal>/etc/fstab</literal> and the
+    corresponding actions are generated. If a new mount is added, for
+    example, the proper <literal>.mount</literal> unit is marked to be
+    started. The current systemd state is inspected, the difference
+    between the current system and the desired configuration is
+    calculated and actions are generated to get to this state. There are
+    a lot of nuances that can be controlled by the units which are
+    explained here.
+  </para>
+  <para>
+    After calculating what should be done, the actions are carried out.
+    The order of actions is always the same:
+  </para>
+  <itemizedlist spacing="compact">
+    <listitem>
+      <para>
+        Stop units (<literal>systemctl stop</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Run activation script (<literal>$out/activate</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        See if the activation script requested more units to restart
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Restart systemd if needed
+        (<literal>systemd daemon-reexec</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Forget about the failed state of units
+        (<literal>systemctl reset-failed</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Reload systemd (<literal>systemctl daemon-reload</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Reload systemd user instances
+        (<literal>systemctl --user daemon-reload</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Set up tmpfiles (<literal>systemd-tmpfiles --create</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Reload units (<literal>systemctl reload</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Restart units (<literal>systemctl restart</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Start units (<literal>systemctl start</literal>)
+      </para>
+    </listitem>
+    <listitem>
+      <para>
+        Inspect what changed during these actions and print units that
+        failed and that were newly started
+      </para>
+    </listitem>
+  </itemizedlist>
+  <para>
+    Most of these actions are either self-explaining but some of them
+    have to do with our units or the activation script. For this reason,
+    these topics are explained in the next sections.
+  </para>
+  <xi:include href="unit-handling.section.xml" />
+  <xi:include href="activation-script.section.xml" />
+</chapter>
diff --git a/nixos/doc/manual/from_md/installation/installing-pxe.section.xml b/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
index 1dd15ddacba..94172de65ea 100644
--- a/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
+++ b/nixos/doc/manual/from_md/installation/installing-pxe.section.xml
@@ -7,11 +7,11 @@
   <para>
     These instructions assume that you have an existing PXE or iPXE
     infrastructure and simply want to add the NixOS installer as another
-    option. To build the necessary files from a recent version of
+    option. To build the necessary files from your current version of
     nixpkgs, you can run:
   </para>
   <programlisting>
-nix-build -A netboot.x86_64-linux nixos/release.nix
+nix-build -A netboot.x86_64-linux '&lt;nixpkgs/nixos/release.nix&gt;'
 </programlisting>
   <para>
     This will create a <literal>result</literal> directory containing: *
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 59da373f38e..a11baa91dea 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
@@ -26,8 +26,26 @@
       </listitem>
       <listitem>
         <para>
-          <literal>iptables</literal> now uses
-          <literal>nf_tables</literal> backend.
+          <literal>iptables</literal> is now using
+          <literal>nf_tables</literal> under the hood, by using
+          <literal>iptables-nft</literal>, similar to
+          <link xlink:href="https://wiki.debian.org/nftables#Current_status">Debian</link>
+          and
+          <link xlink:href="https://fedoraproject.org/wiki/Changes/iptables-nft-default">Fedora</link>.
+          This means, <literal>ip[6]tables</literal>,
+          <literal>arptables</literal> and <literal>ebtables</literal>
+          commands will actually show rules from some specific tables in
+          the <literal>nf_tables</literal> kernel subsystem.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          systemd got an <literal>nftables</literal> backend, and
+          configures (networkd) rules in their own
+          <literal>io.systemd.*</literal> tables. Check
+          <literal>nft list ruleset</literal> to see these rules, not
+          <literal>iptables-save</literal> (which only shows
+          <literal>iptables</literal>-created rules.
         </para>
       </listitem>
       <listitem>
@@ -1429,6 +1447,17 @@ Superuser created successfully.
           knob.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <literal>/usr</literal> will always be included in the initial
+          ramdisk. See the
+          <literal>fileSystems.&lt;name&gt;.neededForBoot</literal>
+          option. If any files exist under <literal>/usr</literal>
+          (which is not typical for NixOS), they will be included in the
+          initial ramdisk, increasing its size to a possibly problematic
+          extent.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-21.11-notable-changes">
diff --git a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
index 0afeefa3b86..0760a781ea3 100644
--- a/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
+++ b/nixos/doc/manual/from_md/release-notes/rl-2205.section.xml
@@ -42,6 +42,14 @@
           upgrade notes</link>.
         </para>
       </listitem>
+      <listitem>
+        <para>
+          systemd services can now set
+          <link linkend="opt-systemd.services">systemd.services.&lt;name&gt;.reloadTriggers</link>
+          instead of <literal>reloadIfChanged</literal> for a more
+          granular distinction between reloads and restarts.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-new-services">
@@ -90,7 +98,7 @@
           <link xlink:href="https://frrouting.org/">FRRouting</link>, a
           popular suite of Internet routing protocol daemons (BGP, BFD,
           OSPF, IS-IS, VVRP and others). Available as
-          <link linkend="opt-services.ffr.babel.enable">services.frr</link>
+          <link linkend="opt-services.frr.babel.enable">services.frr</link>
         </para>
       </listitem>
       <listitem>
@@ -116,6 +124,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/sezanzeb/input-remapper">input-remapper</link>,
+          an easy to use tool to change the mapping of your input device
+          buttons. Available at
+          <link xlink:href="options.html#opt-services.input-remapper.enable">services.input-remapper</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://invoiceplane.com">InvoicePlane</link>,
           web application for managing and creating invoices. Available
           at
@@ -131,6 +147,15 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://www.scorchworks.com/K40whisperer/k40whisperer.html">K40-Whisperer</link>,
+          a program to control cheap Chinese laser cutters. Available as
+          <link xlink:href="options.html#opt-programs.k4-whisperer.enable">programs.k40-whisperer.enable</link>.
+          Users must add themselves to the <literal>k40</literal> group
+          to be able to access the device.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/mgumz/mtr-exporter">mtr-exporter</link>,
           a Prometheus exporter for mtr metrics. Available as
           <link xlink:href="options.html#opt-services.mtr-exporter.enable">services.mtr-exporter</link>.
@@ -146,6 +171,14 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://github.com/mbrubeck/agate">agate</link>,
+          a very simple server for the Gemini hypertext protocol.
+          Available as
+          <link xlink:href="options.html#opt-services.agate.enable">services.agate</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/JustArchiNET/ArchiSteamFarm">ArchiSteamFarm</link>,
           a C# application with primary purpose of idling Steam cards
           from multiple accounts simultaneously. Available as
@@ -170,6 +203,13 @@
       </listitem>
       <listitem>
         <para>
+          <link xlink:href="https://moosefs.com">moosefs</link>, fault
+          tolerant petabyte distributed file system. Available as
+          <link linkend="opt-services.moosefs.client.enable">moosefs</link>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <link xlink:href="https://github.com/ThomasLeister/prosody-filer">prosody-filer</link>,
           a server for handling XMPP HTTP Upload requests. Available at
           <link linkend="opt-services.prosody-filer.enable">services.prosody-filer</link>.
@@ -207,6 +247,13 @@
           <link xlink:href="options.html#opt-services.headscale.enable">services.headscale</link>
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <link xlink:href="https://0xerr0r.github.io/blocky/">blocky</link>,
+          fast and lightweight DNS proxy as ad-blocker for local network
+          with many features.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-incompatibilities">
@@ -235,6 +282,36 @@
       </listitem>
       <listitem>
         <para>
+          <literal>pkgs.ghc.withPackages</literal> as well as
+          <literal>haskellPackages.ghcWithPackages</literal> etc. now
+          needs be overridden directly, as opposed to overriding the
+          result of calling it. Additionally, the
+          <literal>withLLVM</literal> parameter has been renamed to
+          <literal>useLLVM</literal>. So instead of
+          <literal>(ghc.withPackages (p: [])).override { withLLVM = true; }</literal>,
+          one needs to use
+          <literal>(ghc.withPackages.override { useLLVM = true; }) (p: [])</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          The <literal>home-assistant</literal> module now requires
+          users that don’t want their configuration to be managed
+          declaratively to set
+          <literal>services.home-assistant.config = null;</literal>.
+          This is required due to the way default settings are handled
+          with the new settings style.
+        </para>
+        <para>
+          Additionally the default list of
+          <literal>extraComponents</literal> now includes the minimal
+          dependencies to successfully complete the
+          <link xlink:href="https://www.home-assistant.io/getting-started/onboarding/">onboarding</link>
+          procedure.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>pkgs.emacsPackages.orgPackages</literal> is removed
           because org elpa is deprecated. The packages in the top level
           of <literal>pkgs.emacsPackages</literal>, such as org and
@@ -252,6 +329,17 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.kubernetes.scheduler.{port,address}</literal>
+          now set <literal>--secure-port</literal> and
+          <literal>--bind-address</literal> instead of
+          <literal>--port</literal> and <literal>--address</literal>,
+          since the former have been deprecated and are no longer
+          functional in kubernetes&gt;=1.23. Ensure that you are not
+          relying on the insecure behaviour before upgrading.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The DHCP server (<literal>services.dhcpd4</literal>,
           <literal>services.dhcpd6</literal>) has been hardened. The
           service is now using the systemd’s
@@ -312,6 +400,15 @@
       </listitem>
       <listitem>
         <para>
+          <literal>buildGoModule</literal> was updated to use
+          <literal>go_1_17</literal>, third party derivations that
+          specify &gt;= go 1.17 in the main <literal>go.mod</literal>
+          will need to regenerate their <literal>vendorSha256</literal>
+          hash.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>gnome-passwordsafe</literal> package updated to
           <link xlink:href="https://gitlab.gnome.org/World/secrets/-/tags/6.0">version
           6.x</link> and renamed to <literal>gnome-secrets</literal>.
@@ -327,6 +424,15 @@
       </listitem>
       <listitem>
         <para>
+          Ntopng (<literal>services.ntopng</literal>) is updated to
+          5.2.1 and uses a separate Redis instance if
+          <literal>system.stateVersion</literal> is at least
+          <literal>22.05</literal>. Existing setups shouldn’t be
+          affected.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The backward compatibility in
           <literal>services.wordpress</literal> to configure sites with
           the old interface has been removed. Please use
@@ -349,6 +455,13 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.miniflux.adminCredentialFiles</literal> is
+          now required, instead of defaulting to
+          <literal>admin</literal> and <literal>password</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>autorestic</literal> package has been upgraded
           from 1.3.0 to 1.5.0 which introduces breaking changes in
           config file, check
@@ -435,6 +548,14 @@
       </listitem>
       <listitem>
         <para>
+          <literal>bird1</literal> and its modules
+          <literal>services.bird</literal> as well as
+          <literal>services.bird6</literal> have been removed. Upgrade
+          to <literal>services.bird2</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The options
           <literal>networking.interfaces.&lt;name&gt;.ipv4.routes</literal>
           and
@@ -463,6 +584,15 @@
       </listitem>
       <listitem>
         <para>
+          <literal>systemd-nspawn@.service</literal> settings have been
+          reverted to the default systemd behaviour. User namespaces are
+          now activated by default. If you want to keep running nspawn
+          containers without user namespaces you need to set
+          <literal>systemd.nspawn.&lt;name&gt;.execConfig.PrivateUsers = false</literal>
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The terraform 0.12 compatibility has been removed and the
           <literal>terraform.withPlugins</literal> and
           <literal>terraform-providers.mkProvider</literal>
@@ -521,6 +651,15 @@
               honors <literal>restartIfChanged</literal> and
               <literal>reloadIfChanged</literal> of the units.
             </para>
+            <itemizedlist spacing="compact">
+              <listitem>
+                <para>
+                  Preferring to reload instead of restarting can still
+                  be achieved using
+                  <literal>/run/nixos/activation-reload-list</literal>.
+                </para>
+              </listitem>
+            </itemizedlist>
           </listitem>
           <listitem>
             <para>
@@ -582,12 +721,95 @@
       </listitem>
       <listitem>
         <para>
+          The <literal>vpnc</literal> package has been changed to use
+          GnuTLS instead of OpenSSL by default for licensing reasons.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>pkgs.vimPlugins.onedark-nvim</literal> now refers to
           <link xlink:href="https://github.com/navarasu/onedark.nvim">navarasu/onedark.nvim</link>
           (formerly refers to
           <link xlink:href="https://github.com/olimorris/onedarkpro.nvim">olimorris/onedarkpro.nvim</link>).
         </para>
       </listitem>
+      <listitem>
+        <para>
+          <literal>services.pipewire.enable</literal> will default to
+          enabling the WirePlumber session manager instead of
+          pipewire-media-session. pipewire-media-session is deprecated
+          by upstream and not recommended, but can still be manually
+          enabled by setting
+          <literal>services.pipewire.media-session.enable</literal> to
+          <literal>true</literal> and
+          <literal>services.pipewire.wireplumber.enable</literal> to
+          <literal>false</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
+          <literal>pkgs.makeDesktopItem</literal> has been refactored to
+          provide a more idiomatic API. Specifically:
+        </para>
+        <itemizedlist spacing="compact">
+          <listitem>
+            <para>
+              All valid options as of FDO Desktop Entry specification
+              version 1.4 can now be passed in as explicit arguments
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>exec</literal> can now be null, for entries that
+              are not of type Application
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>mimeType</literal> argument is renamed to
+              <literal>mimeTypes</literal> for consistency
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>mimeTypes</literal>,
+              <literal>categories</literal>,
+              <literal>implements</literal>,
+              <literal>keywords</literal>, <literal>onlyShowIn</literal>
+              and <literal>notShowIn</literal> take lists of strings
+              instead of one string with semicolon separators
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>extraDesktopEntries</literal> renamed to
+              <literal>extraConfig</literal> for consistency
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              Actions should now be provided as an attrset
+              <literal>actions</literal>, the <literal>Actions</literal>
+              line will be autogenerated.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              <literal>extraEntries</literal> is removed.
+            </para>
+          </listitem>
+          <listitem>
+            <para>
+              Additional validation is added both at eval time and at
+              build time.
+            </para>
+          </listitem>
+        </itemizedlist>
+        <para>
+          See the <literal>vscode</literal> package for a more detailed
+          example.
+        </para>
+      </listitem>
     </itemizedlist>
   </section>
   <section xml:id="sec-release-22.05-notable-changes">
@@ -775,6 +997,13 @@
       </listitem>
       <listitem>
         <para>
+          <literal>nixos-generate-config</literal> now puts the dhcp
+          configuration in <literal>hardware-configuration.nix</literal>
+          instead of <literal>configuration.nix</literal>.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>fetchFromSourcehut</literal> now allows fetching
           repositories recursively using <literal>fetchgit</literal> or
           <literal>fetchhg</literal> if the argument
@@ -784,6 +1013,16 @@
       </listitem>
       <listitem>
         <para>
+          The <literal>element-desktop</literal> package now has an
+          <literal>useKeytar</literal> option (defaults to
+          <literal>true</literal>), which allows disabling
+          <literal>keytar</literal> and in turn
+          <literal>libsecret</literal> usage (which binds to native
+          credential managers / keychain libraries).
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The option <literal>services.thelounge.plugins</literal> has
           been added to allow installing plugins for The Lounge. Plugins
           can be found in
@@ -799,6 +1038,14 @@
       </listitem>
       <listitem>
         <para>
+          It is now possible to specify wordlists to include as handy to
+          access environment variables using the
+          <literal>config.environment.wordlist</literal> configuration
+          options.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>services.mbpfan</literal> module was converted to
           a
           <link xlink:href="https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md">RFC
@@ -824,6 +1071,12 @@
       </listitem>
       <listitem>
         <para>
+          The <link xlink:href="https://dino.im">Dino</link> XMPP client
+          was updated to 0.3, adding support for audio and video calls.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>services.mattermost.plugins</literal> has been added
           to allow the declarative installation of Mattermost plugins.
           Plugins are automatically repackaged using autoPatchelf.
@@ -831,6 +1084,13 @@
       </listitem>
       <listitem>
         <para>
+          <literal>services.logrotate.enable</literal> now defaults to
+          true if any rotate path has been defined, and some paths have
+          been added by default.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           The <literal>zrepl</literal> package has been updated from
           0.4.0 to 0.5:
         </para>
@@ -867,6 +1127,17 @@
       </listitem>
       <listitem>
         <para>
+          The option
+          <link linkend="opt-networking.networkmanager.enableFccUnlock">services.networking.networkmanager.enableFccUnlock</link>
+          was added to support FCC unlock procedures. Since release
+          1.18.4, the ModemManager daemon no longer automatically
+          performs the FCC unlock procedure by default. See
+          <link xlink:href="https://modemmanager.org/docs/modemmanager/fcc-unlock/">the
+          docs</link> for more details.
+        </para>
+      </listitem>
+      <listitem>
+        <para>
           <literal>programs.tmux</literal> has a new option
           <literal>plugins</literal> that accepts a list of packages
           from the <literal>tmuxPlugins</literal> group. The specified
diff --git a/nixos/doc/manual/installation/installing-pxe.section.md b/nixos/doc/manual/installation/installing-pxe.section.md
index 2016a258251..4fbd6525f8c 100644
--- a/nixos/doc/manual/installation/installing-pxe.section.md
+++ b/nixos/doc/manual/installation/installing-pxe.section.md
@@ -5,11 +5,11 @@ setup.
 
 These instructions assume that you have an existing PXE or iPXE
 infrastructure and simply want to add the NixOS installer as another
-option. To build the necessary files from a recent version of nixpkgs,
+option. To build the necessary files from your current version of nixpkgs,
 you can run:
 
 ```ShellSession
-nix-build -A netboot.x86_64-linux nixos/release.nix
+nix-build -A netboot.x86_64-linux '<nixpkgs/nixos/release.nix>'
 ```
 
 This will create a `result` directory containing: \* `bzImage` -- the
diff --git a/nixos/doc/manual/release-notes/release-notes.xml b/nixos/doc/manual/release-notes/release-notes.xml
index 74ca57850ea..216fea67775 100644
--- a/nixos/doc/manual/release-notes/release-notes.xml
+++ b/nixos/doc/manual/release-notes/release-notes.xml
@@ -8,6 +8,7 @@
   This section lists the release notes for each stable version of NixOS and
   current unstable revision.
  </para>
+ <xi:include href="../from_md/release-notes/rl-2205.section.xml" />
  <xi:include href="../from_md/release-notes/rl-2111.section.xml" />
  <xi:include href="../from_md/release-notes/rl-2105.section.xml" />
  <xi:include href="../from_md/release-notes/rl-2009.section.xml" />
diff --git a/nixos/doc/manual/release-notes/rl-2111.section.md b/nixos/doc/manual/release-notes/rl-2111.section.md
index 1b59842e020..f3644c32832 100644
--- a/nixos/doc/manual/release-notes/rl-2111.section.md
+++ b/nixos/doc/manual/release-notes/rl-2111.section.md
@@ -8,7 +8,15 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - Nix has been updated to version 2.4, reference its [release notes](https://discourse.nixos.org/t/nix-2-4-released/15822) for more information on what has changed. The previous version of Nix, 2.3.16, remains available for the time being in the `nix_2_3` package.
 
-- `iptables` now uses `nf_tables` backend.
+- `iptables` is now using `nf_tables` under the hood, by using `iptables-nft`,
+  similar to [Debian](https://wiki.debian.org/nftables#Current_status) and
+  [Fedora](https://fedoraproject.org/wiki/Changes/iptables-nft-default).
+  This means, `ip[6]tables`, `arptables` and `ebtables` commands  will actually
+  show rules from some specific tables in the `nf_tables` kernel subsystem.
+
+- systemd got an `nftables` backend, and configures (networkd) rules in their
+  own `io.systemd.*` tables. Check `nft list ruleset` to see these rules, not
+  `iptables-save` (which only shows `iptables`-created rules.
 
 - PHP now defaults to PHP 8.0, updated from 7.4.
 
@@ -419,6 +427,9 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - The Linux kernel for security reasons now restricts access to BPF syscalls via `BPF_UNPRIV_DEFAULT_OFF=y`. Unprivileged access can be reenabled via the `kernel.unprivileged_bpf_disabled` sysctl knob.
 
+- `/usr` will always be included in the initial ramdisk. See the `fileSystems.<name>.neededForBoot` option.
+  If any files exist under `/usr` (which is not typical for NixOS), they will be included in the initial ramdisk, increasing its size to a possibly problematic extent.
+
 ## Other Notable Changes {#sec-release-21.11-notable-changes}
 
 
diff --git a/nixos/doc/manual/release-notes/rl-2205.section.md b/nixos/doc/manual/release-notes/rl-2205.section.md
index 7813d4abd3e..2a931cd7fd6 100644
--- a/nixos/doc/manual/release-notes/rl-2205.section.md
+++ b/nixos/doc/manual/release-notes/rl-2205.section.md
@@ -17,6 +17,8 @@ In addition to numerous new and upgraded packages, this release has the followin
   Migrations may take a while, see the [changelog](https://docs.mattermost.com/install/self-managed-changelog.html#release-v6-3-extended-support-release)
   and [important upgrade notes](https://docs.mattermost.com/upgrade/important-upgrade-notes.html).
 
+- systemd services can now set [systemd.services.\<name\>.reloadTriggers](#opt-systemd.services) instead of `reloadIfChanged` for a more granular distinction between reloads and restarts.
+
 ## New Services {#sec-release-22.05-new-services}
 
 - [aesmd](https://github.com/intel/linux-sgx#install-the-intelr-sgx-psw), the Intel SGX Architectural Enclave Service Manager. Available as [services.aesmd](#opt-services.aesmd.enable).
@@ -29,7 +31,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [apfs](https://github.com/linux-apfs/linux-apfs-rw), a kernel module for mounting the Apple File System (APFS).
 
-- [FRRouting](https://frrouting.org/), a popular suite of Internet routing protocol daemons (BGP, BFD, OSPF, IS-IS, VVRP and others). Available as [services.frr](#opt-services.ffr.babel.enable)
+- [FRRouting](https://frrouting.org/), a popular suite of Internet routing protocol daemons (BGP, BFD, OSPF, IS-IS, VVRP and others). Available as [services.frr](#opt-services.frr.babel.enable)
 
 - [heisenbridge](https://github.com/hifi/heisenbridge), a bouncer-style Matrix IRC bridge. Available as [services.heisenbridge](options.html#opt-services.heisenbridge.enable).
 
@@ -37,20 +39,29 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [PowerDNS-Admin](https://github.com/ngoduykhanh/PowerDNS-Admin), a web interface for the PowerDNS server. Available at [services.powerdns-admin](options.html#opt-services.powerdns-admin.enable).
 
+- [input-remapper](https://github.com/sezanzeb/input-remapper), an easy to use tool to change the mapping of your input device buttons. Available at [services.input-remapper](options.html#opt-services.input-remapper.enable).
+
 - [InvoicePlane](https://invoiceplane.com), web application for managing and creating invoices. Available at [services.invoiceplane](options.html#opt-services.invoiceplane.enable).
 
 - [maddy](https://maddy.email), a composable all-in-one mail server. Available as [services.maddy](options.html#opt-services.maddy.enable).
 
+- [K40-Whisperer](https://www.scorchworks.com/K40whisperer/k40whisperer.html), a program to control cheap Chinese laser cutters. Available as [programs.k40-whisperer.enable](options.html#opt-programs.k4-whisperer.enable). Users must add themselves to the `k40` group to be able to access the device.
+
 - [mtr-exporter](https://github.com/mgumz/mtr-exporter), a Prometheus exporter for mtr metrics. Available as [services.mtr-exporter](options.html#opt-services.mtr-exporter.enable).
 
 - [tetrd](https://tetrd.app), share your internet connection from your device to your PC and vice versa through a USB cable. Available at [services.tetrd](#opt-services.tetrd.enable).
 
+- [agate](https://github.com/mbrubeck/agate), a very simple server for the Gemini hypertext protocol. Available as [services.agate](options.html#opt-services.agate.enable).
+
 - [ArchiSteamFarm](https://github.com/JustArchiNET/ArchiSteamFarm), a C# application with primary purpose of idling Steam cards from multiple accounts simultaneously. Available as [services.archisteamfarm](options.html#opt-services.archisteamfarm.enable).
 
 - [teleport](https://goteleport.com), allows engineers and security professionals to unify access for SSH servers, Kubernetes clusters, web applications, and databases across all environments. Available at [services.teleport](#opt-services.teleport.enable).
 
 - [BaGet](https://loic-sharma.github.io/BaGet/), a lightweight NuGet and symbol server. Available at [services.baget](#opt-services.baget.enable).
 
+- [moosefs](https://moosefs.com), fault tolerant petabyte distributed file system.
+  Available as [moosefs](#opt-services.moosefs.client.enable).
+
 - [prosody-filer](https://github.com/ThomasLeister/prosody-filer), a server for handling XMPP HTTP Upload requests. Available at [services.prosody-filer](#opt-services.prosody-filer.enable).
 
 - [ethercalc](https://github.com/audreyt/ethercalc), an online collaborative
@@ -62,6 +73,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - [headscale](https://github.com/juanfont/headscale), an Open Source implementation of the [Tailscale](https://tailscale.io) Control Server. Available as [services.headscale](options.html#opt-services.headscale.enable)
 
+- [blocky](https://0xerr0r.github.io/blocky/), fast and lightweight DNS proxy as ad-blocker for local network with many features.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
 ## Backward Incompatibilities {#sec-release-22.05-incompatibilities}
@@ -78,6 +91,21 @@ In addition to numerous new and upgraded packages, this release has the followin
   instead to ensure cross compilation keeps working (or switch to
   `haskellPackages.callPackage`).
 
+- `pkgs.ghc.withPackages` as well as `haskellPackages.ghcWithPackages` etc.
+  now needs be overridden directly, as opposed to overriding the result of
+  calling it. Additionally, the `withLLVM` parameter has been renamed to
+  `useLLVM`. So instead of `(ghc.withPackages (p: [])).override { withLLVM = true; }`,
+  one needs to use `(ghc.withPackages.override { useLLVM = true; }) (p: [])`.
+
+- The `home-assistant` module now requires users that don't want their
+  configuration to be managed declaratively to set
+  `services.home-assistant.config = null;`. This is required
+  due to the way default settings are handled with the new settings style.
+
+  Additionally the default list of `extraComponents` now includes the minimal
+  dependencies to successfully complete the [onboarding](https://www.home-assistant.io/getting-started/onboarding/)
+  procedure.
+
 - `pkgs.emacsPackages.orgPackages` is removed because org elpa is deprecated.
   The packages in the top level of `pkgs.emacsPackages`, such as org and
   org-contrib, refer to the ones in `pkgs.emacsPackages.elpaPackages` and
@@ -85,6 +113,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `services.kubernetes.addons.dashboard` was removed due to it being an outdated version.
 
+- `services.kubernetes.scheduler.{port,address}` now set `--secure-port` and `--bind-address` instead of `--port` and `--address`, since the former have been deprecated and are no longer functional in kubernetes>=1.23. Ensure that you are not relying on the insecure behaviour before upgrading.
+
 - The DHCP server (`services.dhcpd4`, `services.dhcpd6`) has been hardened.
   The service is now using the systemd's `DynamicUser` mechanism to run as an unprivileged dynamically-allocated user with limited capabilities.
   The dhcpd state files are now always stored in `/var/lib/dhcpd{4,6}` and the `services.dhcpd4.stateDir` and `service.dhcpd6.stateDir` options have been removed.
@@ -102,10 +132,14 @@ In addition to numerous new and upgraded packages, this release has the followin
 - The `writers.writePython2` and corresponding `writers.writePython2Bin` convenience functions to create executable Python 2 scripts in the store were removed in preparation of removal of the Python 2 interpreter.
   Scripts have to be converted to Python 3 for use with `writers.writePython3` or `writers.writePyPy2` needs to be used.
 
+- `buildGoModule` was updated to use `go_1_17`, third party derivations that specify >= go 1.17 in the main `go.mod` will need to regenerate their `vendorSha256` hash.
+
 - The `gnome-passwordsafe` package updated to [version 6.x](https://gitlab.gnome.org/World/secrets/-/tags/6.0) and renamed to `gnome-secrets`.
 
 - If you previously used `/etc/docker/daemon.json`, you need to incorporate the changes into the new option `virtualisation.docker.daemon.settings`.
 
+- Ntopng (`services.ntopng`) is updated to 5.2.1 and uses a separate Redis instance if `system.stateVersion` is at least `22.05`. Existing setups shouldn't be affected.
+
 - The backward compatibility in `services.wordpress` to configure sites with
   the old interface has been removed. Please use `services.wordpress.sites`
   instead.
@@ -115,6 +149,8 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - opensmtpd-extras is no longer build with python2 scripting support due to python2 deprecation in nixpkgs
 
+- `services.miniflux.adminCredentialFiles` is now required, instead of defaulting to `admin` and `password`.
+
 - The `autorestic` package has been upgraded from 1.3.0 to 1.5.0 which introduces breaking changes in config file, check [their migration guide](https://autorestic.vercel.app/migration/1.4_1.5) for more details.
 
 - For `pkgs.python3.pkgs.ipython`, its direct dependency `pkgs.python3.pkgs.matplotlib-inline`
@@ -142,10 +178,13 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `tilp2` was removed together with its module
 
+- `bird1` and its modules `services.bird` as well as `services.bird6` have been removed. Upgrade to `services.bird2`.
+
 - The options `networking.interfaces.<name>.ipv4.routes` and `networking.interfaces.<name>.ipv6.routes` are no longer ignored when using networkd instead of the default scripted network backend by setting `networking.useNetworkd` to `true`.
 
 - MultiMC has been replaced with the fork PolyMC due to upstream developers being hostile to 3rd party package maintainers. PolyMC removes all MultiMC branding and is aimed at providing proper 3rd party packages like the one contained in Nixpkgs. This change affects the data folder where game instances and other save and configuration files are stored. Users with existing installations should rename `~/.local/share/multimc` to `~/.local/share/polymc`. The main config file's path has also moved from `~/.local/share/multimc/multimc.cfg` to `~/.local/share/polymc/polymc.cfg`.
 
+- `systemd-nspawn@.service` settings have been reverted to the default systemd behaviour. User namespaces are now activated by default. If you want to keep running nspawn containers without user namespaces you need to set `systemd.nspawn.<name>.execConfig.PrivateUsers = false`
 
 - The terraform 0.12 compatibility has been removed and the `terraform.withPlugins` and `terraform-providers.mkProvider` implementations simplified. Providers now need to be stored under
 `$out/libexec/terraform-providers/<registry>/<owner>/<name>/<version>/<os>_<arch>/terraform-provider-<name>_v<version>` (which mkProvider does).
@@ -168,6 +207,7 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `switch-to-configuration` (the script that is run when running `nixos-rebuild switch` for example) has been reworked
     * The interface that allows activation scripts to restart units has been streamlined. Restarting and reloading is now done by a single file `/run/nixos/activation-restart-list` that honors `restartIfChanged` and `reloadIfChanged` of the units.
+        * Preferring to reload instead of restarting can still be achieved using `/run/nixos/activation-reload-list`.
     * The script now uses a proper ini-file parser to parse systemd units. Some values are now only searched in one section instead of in the entire unit. This is only relevant for units that don't use the NixOS systemd moule.
         * `RefuseManualStop`, `X-OnlyManualStart`, `X-StopOnRemoval`, `X-StopOnReconfiguration` are only searched in the `[Unit]` section
         * `X-ReloadIfChanged`, `X-RestartIfChanged`, `X-StopIfChanged` are only searched in the `[Service]` section
@@ -182,9 +222,27 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - `lib.assertMsg` and `lib.assertOneOf` no longer return `false` if the passed condition is `false`, `throw`ing the given error message instead (which makes the resulting error message less cluttered). This will not impact the behaviour of code using these functions as intended, namely as top-level wrapper for `assert` conditions.
 
+- The `vpnc` package has been changed to use GnuTLS instead of OpenSSL by default for licensing reasons.
+
 - `pkgs.vimPlugins.onedark-nvim` now refers to [navarasu/onedark.nvim](https://github.com/navarasu/onedark.nvim)
   (formerly refers to [olimorris/onedarkpro.nvim](https://github.com/olimorris/onedarkpro.nvim)).
 
+- `services.pipewire.enable` will default to enabling the WirePlumber session manager instead of pipewire-media-session.
+  pipewire-media-session is deprecated by upstream and not recommended, but can still be manually enabled by setting
+  `services.pipewire.media-session.enable` to `true` and `services.pipewire.wireplumber.enable` to `false`.
+
+- `pkgs.makeDesktopItem` has been refactored to provide a more idiomatic API. Specifically:
+  - All valid options as of FDO Desktop Entry specification version 1.4 can now be passed in as explicit arguments
+  - `exec` can now be null, for entries that are not of type Application
+  - `mimeType` argument is renamed to `mimeTypes` for consistency
+  - `mimeTypes`, `categories`, `implements`, `keywords`, `onlyShowIn` and `notShowIn` take lists of strings instead of one string with semicolon separators
+  - `extraDesktopEntries` renamed to `extraConfig` for consistency
+  - Actions should now be provided as an attrset `actions`, the `Actions` line will be autogenerated.
+  - `extraEntries` is removed.
+  - Additional validation is added both at eval time and at build time.
+
+  See the `vscode` package for a more detailed example.
+
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
 
 ## Other Notable Changes {#sec-release-22.05-notable-changes}
@@ -263,14 +321,22 @@ In addition to numerous new and upgraded packages, this release has the followin
 
 - A new option `boot.initrd.extraModprobeConfig` has been added which can be used to configure kernel modules that are loaded in the initrd.
 
+- `nixos-generate-config` now puts the dhcp configuration in `hardware-configuration.nix` instead of `configuration.nix`.
+
 - `fetchFromSourcehut` now allows fetching repositories recursively
   using `fetchgit` or `fetchhg` if the argument `fetchSubmodules`
   is set to `true`.
 
+- The `element-desktop` package now has an `useKeytar` option (defaults to `true`),
+  which allows disabling `keytar` and in turn `libsecret` usage
+  (which binds to native credential managers / keychain libraries).
+
 - The option `services.thelounge.plugins` has been added to allow installing plugins for The Lounge. Plugins can be found in `pkgs.theLoungePlugins.plugins` and `pkgs.theLoungePlugins.themes`.
 
 - The `firmwareLinuxNonfree` package has been renamed to `linux-firmware`.
 
+- It is now possible to specify wordlists to include as handy to access environment variables using the `config.environment.wordlist` configuration options.
+
 - The `services.mbpfan` module was converted to a [RFC 0042](https://github.com/NixOS/rfcs/blob/master/rfcs/0042-config-option.md) configuration.
 
 - The default value for `programs.spacefm.settings.graphical_su` got unset. It previously pointed to `gksu` which has been removed.
@@ -278,9 +344,14 @@ In addition to numerous new and upgraded packages, this release has the followin
 - A new module was added for the [Starship](https://starship.rs/) shell prompt,
   providing the options `programs.starship.enable` and `programs.starship.settings`.
 
+- The [Dino](https://dino.im) XMPP client was updated to 0.3, adding support for audio and video calls.
+
 - `services.mattermost.plugins` has been added to allow the declarative installation of Mattermost plugins.
   Plugins are automatically repackaged using autoPatchelf.
 
+- `services.logrotate.enable` now defaults to true if any rotate path has
+  been defined, and some paths have been added by default.
+
 - The `zrepl` package has been updated from 0.4.0 to 0.5:
 
   - The RPC protocol version was bumped; all zrepl daemons in a setup must be updated and restarted before replication can resume.
@@ -290,6 +361,12 @@ In addition to numerous new and upgraded packages, this release has the followin
   Reason is that the old name has been deprecated upstream.
   Using the old option name will still work, but produce a warning.
 
+- The option
+  [services.networking.networkmanager.enableFccUnlock](#opt-networking.networkmanager.enableFccUnlock)
+  was added to support FCC unlock procedures. Since release 1.18.4, the ModemManager
+  daemon no longer automatically performs the FCC unlock procedure by default. See
+  [the docs](https://modemmanager.org/docs/modemmanager/fcc-unlock/) for more details.
+
 - `programs.tmux` has a new option `plugins` that accepts a list of packages from the `tmuxPlugins` group. The specified packages are added to the system and loaded by `tmux`.
 
 <!-- To avoid merge conflicts, consider adding your item at an arbitrary place in the list instead. -->
diff --git a/nixos/lib/qemu-common.nix b/nixos/lib/qemu-common.nix
index 964814e8c60..20bbe9ff5d9 100644
--- a/nixos/lib/qemu-common.nix
+++ b/nixos/lib/qemu-common.nix
@@ -22,7 +22,7 @@ rec {
         else throw "Unknown QEMU serial device for system '${pkgs.stdenv.hostPlatform.system}'";
 
   qemuBinary = qemuPkg: {
-    x86_64-linux = "${qemuPkg}/bin/qemu-kvm -cpu qemu64";
+    x86_64-linux = "${qemuPkg}/bin/qemu-kvm -cpu max";
     armv7l-linux = "${qemuPkg}/bin/qemu-system-arm -enable-kvm -machine virt -cpu host";
     aarch64-linux = "${qemuPkg}/bin/qemu-system-aarch64 -enable-kvm -machine virt,gic-version=host -cpu host";
     powerpc64le-linux = "${qemuPkg}/bin/qemu-system-ppc64 -machine powernv";
diff --git a/nixos/lib/systemd-unit-options.nix b/nixos/lib/systemd-unit-options.nix
index 520f2e982a2..8029ba0e3f6 100644
--- a/nixos/lib/systemd-unit-options.nix
+++ b/nixos/lib/systemd-unit-options.nix
@@ -201,6 +201,17 @@ in rec {
       '';
     };
 
+    reloadTriggers = mkOption {
+      default = [];
+      type = types.listOf unitOption;
+      description = ''
+        An arbitrary list of items such as derivations.  If any item
+        in the list changes between reconfigurations, the service will
+        be reloaded.  If anything but a reload trigger changes in the
+        unit file, the unit will be restarted instead.
+      '';
+    };
+
     onFailure = mkOption {
       default = [];
       type = types.listOf unitNameType;
@@ -338,6 +349,11 @@ in rec {
         configuration switch if its definition has changed.  If
         enabled, the value of <option>restartIfChanged</option> is
         ignored.
+
+        This option should not be used anymore in favor of
+        <option>reloadTriggers</option> which allows more granular
+        control of when a service is reloaded and when a service
+        is restarted.
       '';
     };
 
diff --git a/nixos/lib/test-driver/test_driver/machine.py b/nixos/lib/test-driver/test_driver/machine.py
index b730c4b44d7..569a0f3c61e 100644
--- a/nixos/lib/test-driver/test_driver/machine.py
+++ b/nixos/lib/test-driver/test_driver/machine.py
@@ -241,9 +241,15 @@ class LegacyStartCommand(StartCommand):
         cdrom: Optional[str] = None,
         usb: Optional[str] = None,
         bios: Optional[str] = None,
+        qemuBinary: Optional[str] = None,
         qemuFlags: Optional[str] = None,
     ):
-        self._cmd = "qemu-kvm -m 384"
+        if qemuBinary is not None:
+            self._cmd = qemuBinary
+        else:
+            self._cmd = "qemu-kvm"
+
+        self._cmd += " -m 384"
 
         # networking
         net_backend = "-netdev user,id=net0"
@@ -381,6 +387,7 @@ class Machine:
             cdrom=args.get("cdrom"),
             usb=args.get("usb"),
             bios=args.get("bios"),
+            qemuBinary=args.get("qemuBinary"),
             qemuFlags=args.get("qemuFlags"),
         )
 
diff --git a/nixos/modules/hardware/network/b43.nix b/nixos/modules/hardware/network/b43.nix
index e63f2d04d1a..eb03bf223cc 100644
--- a/nixos/modules/hardware/network/b43.nix
+++ b/nixos/modules/hardware/network/b43.nix
@@ -24,10 +24,6 @@ let kernelVersion = config.boot.kernelPackages.kernel.version; in
   ###### implementation
 
   config = mkIf config.networking.enableB43Firmware {
-    assertions = singleton
-      { assertion = lessThan 0 (builtins.compareVersions kernelVersion "3.2");
-        message = "b43 firmware for kernels older than 3.2 not packaged yet!";
-      };
     hardware.firmware = [ pkgs.b43Firmware_5_1_138 ];
   };
 
diff --git a/nixos/modules/hardware/video/capture/mwprocapture.nix b/nixos/modules/hardware/video/capture/mwprocapture.nix
index 61bab533eda..76cb4c6ee9b 100644
--- a/nixos/modules/hardware/video/capture/mwprocapture.nix
+++ b/nixos/modules/hardware/video/capture/mwprocapture.nix
@@ -16,11 +16,6 @@ in
 
   config = mkIf cfg.enable {
 
-    assertions = singleton {
-      assertion = versionAtLeast kernelPackages.kernel.version "3.2";
-      message = "Magewell Pro Capture family module is not supported for kernels older than 3.2";
-    };
-
     boot.kernelModules = [ "ProCapture" ];
 
     environment.systemPackages = [ kernelPackages.mwprocapture ];
diff --git a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
index 12ad8a4ae00..303493741f3 100644
--- a/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
+++ b/nixos/modules/installer/cd-dvd/installation-cd-graphical-gnome.nix
@@ -10,10 +10,10 @@ with lib;
   isoImage.edition = "gnome";
 
   services.xserver.desktopManager.gnome = {
-    # Add firefox to favorite-apps
+    # Add Firefox and other tools useful for installation to the launcher
     favoriteAppsOverride = ''
       [org.gnome.shell]
-      favorite-apps=[ 'firefox.desktop', 'org.gnome.Geary.desktop', 'org.gnome.Calendar.desktop', 'org.gnome.Music.desktop', 'org.gnome.Photos.desktop', 'org.gnome.Nautilus.desktop' ]
+      favorite-apps=[ 'firefox.desktop', 'nixos-manual.desktop', 'org.gnome.Terminal.desktop', 'org.gnome.Nautilus.desktop', 'gparted.desktop' ]
     '';
     enable = true;
   };
diff --git a/nixos/modules/installer/sd-card/sd-image-aarch64.nix b/nixos/modules/installer/sd-card/sd-image-aarch64.nix
index 165e2aac27b..321793882f4 100644
--- a/nixos/modules/installer/sd-card/sd-image-aarch64.nix
+++ b/nixos/modules/installer/sd-card/sd-image-aarch64.nix
@@ -24,6 +24,9 @@
         [pi3]
         kernel=u-boot-rpi3.bin
 
+        [pi02]
+        kernel=u-boot-rpi3.bin
+
         [pi4]
         kernel=u-boot-rpi4.bin
         enable_gic=1
@@ -33,6 +36,9 @@
         # what the pi3 firmware does by default.
         disable_overscan=1
 
+        # Supported in newer board revisions
+        arm_boost=1
+
         [all]
         # Boot in 64-bit mode.
         arm_64bit=1
diff --git a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix
index 8aedce2fb49..b4a94f62ad9 100644
--- a/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix
+++ b/nixos/modules/installer/tools/nixos-build-vms/build-vms.nix
@@ -25,4 +25,7 @@ pkgs.runCommand "nixos-build-vms" { nativeBuildInputs = [ pkgs.makeWrapper ]; }
   ln -s ${interactiveDriver}/bin/nixos-test-driver $out/bin/nixos-run-vms
   wrapProgram $out/bin/nixos-test-driver \
     --add-flags "--interactive"
+  wrapProgram $out/bin/nixos-run-vms \
+     --set testScript "${pkgs.writeText "start-all" "start_all(); join_all();"}" \
+     --add-flags "--no-interactive"
 ''
diff --git a/nixos/modules/installer/tools/nixos-generate-config.pl b/nixos/modules/installer/tools/nixos-generate-config.pl
index fe8c4fb1a6b..57aef50a0f6 100644
--- a/nixos/modules/installer/tools/nixos-generate-config.pl
+++ b/nixos/modules/installer/tools/nixos-generate-config.pl
@@ -279,7 +279,7 @@ if (`lsblk -o TYPE` =~ "lvm") {
     push @initrdKernelModules, "dm-snapshot";
 }
 
-my $virt = `systemd-detect-virt`;
+my $virt = `@detectvirt@`;
 chomp $virt;
 
 
@@ -398,7 +398,7 @@ foreach my $fs (read_file("/proc/self/mountinfo")) {
     # Maybe this is a bind-mount of a filesystem we saw earlier?
     if (defined $fsByDev{$fields[2]}) {
         # Make sure this isn't a btrfs subvolume.
-        my $msg = `btrfs subvol show $rootDir$mountPoint`;
+        my $msg = `@btrfs@ subvol show $rootDir$mountPoint`;
         if ($? != 0 || $msg =~ /ERROR:/s) {
             my $path = $fields[3]; $path = "" if $path eq "/";
             my $base = $fsByDev{$fields[2]};
@@ -436,7 +436,7 @@ EOF
 
     # Is this a btrfs filesystem?
     if ($fsType eq "btrfs") {
-        my ($status, @info) = runCommand("btrfs subvol show $rootDir$mountPoint");
+        my ($status, @info) = runCommand("@btrfs@ subvol show $rootDir$mountPoint");
         if ($status != 0 || join("", @info) =~ /ERROR:/) {
             die "Failed to retrieve subvolume info for $mountPoint\n";
         }
@@ -558,6 +558,8 @@ if (!$noFilesystems) {
     $fsAndSwap .= "swapDevices =" . multiLineList("    ", @swapDevices) . ";\n";
 }
 
+my $networkingDhcpConfig = generateNetworkingDhcpConfig();
+
 my $hwConfig = <<EOF;
 # Do not modify this file!  It was generated by ‘nixos-generate-config’
 # and may be overwritten by future invocations.  Please make changes
@@ -572,6 +574,7 @@ my $hwConfig = <<EOF;
   boot.kernelModules = [$kernelModules ];
   boot.extraModulePackages = [$modulePackages ];
 $fsAndSwap
+$networkingDhcpConfig
 ${\join "", (map { "  $_\n" } (uniq @attrs))}}
 EOF
 
@@ -580,13 +583,13 @@ sub generateNetworkingDhcpConfig {
   # The global useDHCP flag is deprecated, therefore explicitly set to false here.
   # Per-interface useDHCP will be mandatory in the future, so this generated config
   # replicates the default behaviour.
-  networking.useDHCP = false;
+  networking.useDHCP = lib.mkDefault false;
 EOF
 
     foreach my $path (glob "/sys/class/net/*") {
         my $dev = basename($path);
         if ($dev ne "lo") {
-            $config .= "  networking.interfaces.$dev.useDHCP = true;\n";
+            $config .= "  networking.interfaces.$dev.useDHCP = lib.mkDefault true;\n";
         }
     }
 
diff --git a/nixos/modules/installer/tools/tools.nix b/nixos/modules/installer/tools/tools.nix
index 2f3b0cdd48f..71aaf7f253d 100644
--- a/nixos/modules/installer/tools/tools.nix
+++ b/nixos/modules/installer/tools/tools.nix
@@ -33,8 +33,9 @@ let
   nixos-generate-config = makeProg {
     name = "nixos-generate-config";
     src = ./nixos-generate-config.pl;
-    path = lib.optionals (lib.elem "btrfs" config.boot.supportedFilesystems) [ pkgs.btrfs-progs ];
     perl = "${pkgs.perl.withPackages (p: [ p.FileSlurp ])}/bin/perl";
+    detectvirt = "${pkgs.systemd}/bin/systemd-detect-virt";
+    btrfs = "${pkgs.btrfs-progs}/bin/btrfs";
     inherit (config.system.nixos-generate-config) configuration desktopConfiguration;
     xserverEnabled = config.services.xserver.enable;
   };
@@ -133,12 +134,13 @@ in
 
       $bootLoaderConfig
         # networking.hostName = "nixos"; # Define your hostname.
+        # Pick only one of the below networking options.
         # networking.wireless.enable = true;  # Enables wireless support via wpa_supplicant.
+        # networking.networkmanager.enable = true;  # Easiest to use and most distros use this by default.
 
         # Set your time zone.
         # time.timeZone = "Europe/Amsterdam";
 
-      $networkingDhcpConfig
         # Configure network proxy if necessary
         # networking.proxy.default = "http://user:password\@proxy:port/";
         # networking.proxy.noProxy = "127.0.0.1,localhost,internal.domain";
@@ -148,6 +150,7 @@ in
         # console = {
         #   font = "Lat2-Terminus16";
         #   keyMap = "us";
+        #   useXkbConfig = true; # use xkbOptions in tty.
         # };
 
       $xserverConfig
@@ -155,7 +158,10 @@ in
       $desktopConfiguration
         # Configure keymap in X11
         # services.xserver.layout = "us";
-        # services.xserver.xkbOptions = "eurosign:e";
+        # services.xserver.xkbOptions = {
+        #   "eurosign:e";
+        #   "caps:escape" # map caps to escape.
+        # };
 
         # Enable CUPS to print documents.
         # services.printing.enable = true;
diff --git a/nixos/modules/misc/documentation.nix b/nixos/modules/misc/documentation.nix
index b7746ddc211..9304c307af2 100644
--- a/nixos/modules/misc/documentation.nix
+++ b/nixos/modules/misc/documentation.nix
@@ -129,7 +129,7 @@ let
       genericName = "View NixOS documentation in a web browser";
       icon = "nix-snowflake";
       exec = "nixos-help";
-      categories = "System";
+      categories = ["System"];
     };
 
     in pkgs.symlinkJoin {
diff --git a/nixos/modules/misc/ids.nix b/nixos/modules/misc/ids.nix
index 9d620084308..1b4105c676d 100644
--- a/nixos/modules/misc/ids.nix
+++ b/nixos/modules/misc/ids.nix
@@ -82,7 +82,7 @@ in
       git = 41;
       #fourstore = 42; # dropped in 20.03
       #fourstorehttp = 43; # dropped in 20.03
-      virtuoso = 44;
+      #virtuoso = 44;  dropped module
       #rtkit = 45; # dynamically allocated 2021-09-03
       dovecot2 = 46;
       dovenull2 = 47;
diff --git a/nixos/modules/misc/wordlist.nix b/nixos/modules/misc/wordlist.nix
new file mode 100644
index 00000000000..988b522d743
--- /dev/null
+++ b/nixos/modules/misc/wordlist.nix
@@ -0,0 +1,59 @@
+{ config, lib, pkgs, ... }:
+with lib;
+let
+  concatAndSort = name: files: pkgs.runCommand name {} ''
+    awk 1 ${lib.escapeShellArgs files} | sed '{ /^\s*$/d; s/^\s\+//; s/\s\+$// }' | sort | uniq > $out
+  '';
+in
+{
+  options = {
+    environment.wordlist = {
+      enable = mkEnableOption "environment variables for lists of words";
+
+      lists = mkOption {
+        type = types.attrsOf (types.nonEmptyListOf types.path);
+
+        default = {
+          WORDLIST = [ "${pkgs.scowl}/share/dict/words.txt" ];
+        };
+
+        defaultText = literalExpression ''
+          {
+            WORDLIST = [ "''${pkgs.scowl}/share/dict/words.txt" ];
+          }
+        '';
+
+        description = ''
+          A set with the key names being the environment variable you'd like to
+          set and the values being a list of paths to text documents containing
+          lists of words. The various files will be merged, sorted, duplicates
+          removed, and extraneous spacing removed.
+
+          If you have a handful of words that you want to add to an already
+          existing wordlist, you may find `builtins.toFile` useful for this
+          task.
+        '';
+
+        example = literalExpression ''
+          {
+            WORDLIST = [ "''${pkgs.scowl}/share/dict/words.txt" ];
+            AUGMENTED_WORDLIST = [
+              "''${pkgs.scowl}/share/dict/words.txt"
+              "''${pkgs.scowl}/share/dict/words.variants.txt"
+              (builtins.toFile "extra-words" '''
+                desynchonization
+                oobleck''')
+            ];
+          }
+        '';
+      };
+    };
+  };
+
+  config = mkIf config.environment.wordlist.enable {
+    environment.variables =
+      lib.mapAttrs
+        (name: value: "${concatAndSort "wordlist-${name}" value}")
+        config.environment.wordlist.lists;
+  };
+}
diff --git a/nixos/modules/module-list.nix b/nixos/modules/module-list.nix
index 9b95a97e1c7..2d9942a85b3 100644
--- a/nixos/modules/module-list.nix
+++ b/nixos/modules/module-list.nix
@@ -115,6 +115,7 @@
   ./misc/nixpkgs.nix
   ./misc/passthru.nix
   ./misc/version.nix
+  ./misc/wordlist.nix
   ./misc/nixops-autoluks.nix
   ./programs/adb.nix
   ./programs/appgate-sdp.nix
@@ -166,6 +167,7 @@
   ./programs/iftop.nix
   ./programs/iotop.nix
   ./programs/java.nix
+  ./programs/k40-whisperer.nix
   ./programs/kdeconnect.nix
   ./programs/kbdlight.nix
   ./programs/less.nix
@@ -349,7 +351,6 @@
   ./services/databases/redis.nix
   ./services/databases/riak.nix
   ./services/databases/victoriametrics.nix
-  ./services/databases/virtuoso.nix
   ./services/desktops/accountsservice.nix
   ./services/desktops/bamf.nix
   ./services/desktops/blueman.nix
@@ -450,6 +451,7 @@
   ./services/hardware/undervolt.nix
   ./services/hardware/vdr.nix
   ./services/hardware/xow.nix
+  ./services/home-automation/home-assistant.nix
   ./services/logging/SystemdJournal2Gelf.nix
   ./services/logging/awstats.nix
   ./services/logging/filebeat.nix
@@ -545,8 +547,8 @@
   ./services/misc/headphones.nix
   ./services/misc/heisenbridge.nix
   ./services/misc/greenclip.nix
-  ./services/misc/home-assistant.nix
   ./services/misc/ihaskell.nix
+  ./services/misc/input-remapper.nix
   ./services/misc/irkerd.nix
   ./services/misc/jackett.nix
   ./services/misc/jellyfin.nix
@@ -595,6 +597,7 @@
   ./services/misc/redmine.nix
   ./services/misc/rippled.nix
   ./services/misc/ripple-data-api.nix
+  ./services/misc/rmfakecloud.nix
   ./services/misc/serviio.nix
   ./services/misc/safeeyes.nix
   ./services/misc/sdrplay.nix
@@ -682,6 +685,7 @@
   ./services/network-filesystems/litestream/default.nix
   ./services/network-filesystems/netatalk.nix
   ./services/network-filesystems/nfsd.nix
+  ./services/network-filesystems/moosefs.nix
   ./services/network-filesystems/openafs/client.nix
   ./services/network-filesystems/openafs/server.nix
   ./services/network-filesystems/orangefs/server.nix
@@ -715,6 +719,7 @@
   ./services/networking/bird.nix
   ./services/networking/bitlbee.nix
   ./services/networking/blockbook-frontend.nix
+  ./services/networking/blocky.nix
   ./services/networking/charybdis.nix
   ./services/networking/cjdns.nix
   ./services/networking/cntlm.nix
@@ -758,7 +763,6 @@
   ./services/networking/go-neb.nix
   ./services/networking/go-shadowsocks2.nix
   ./services/networking/gobgpd.nix
-  ./services/networking/gogoclient.nix
   ./services/networking/gvpe.nix
   ./services/networking/hans.nix
   ./services/networking/haproxy.nix
@@ -894,6 +898,7 @@
   ./services/networking/tcpcrypt.nix
   ./services/networking/teamspeak3.nix
   ./services/networking/tedicross.nix
+  ./services/networking/tetrd.nix
   ./services/networking/teleport.nix
   ./services/networking/thelounge.nix
   ./services/networking/tinc.nix
@@ -913,6 +918,7 @@
   ./services/networking/vsftpd.nix
   ./services/networking/wasabibackend.nix
   ./services/networking/websockify.nix
+  ./services/networking/wg-netmanager.nix
   ./services/networking/wg-quick.nix
   ./services/networking/wireguard.nix
   ./services/networking/wpa_supplicant.nix
@@ -1054,6 +1060,7 @@
   ./services/web-apps/wordpress.nix
   ./services/web-apps/youtrack.nix
   ./services/web-apps/zabbix.nix
+  ./services/web-servers/agate.nix
   ./services/web-servers/apache-httpd/default.nix
   ./services/web-servers/caddy/default.nix
   ./services/web-servers/darkhttpd.nix
@@ -1073,7 +1080,6 @@
   ./services/web-servers/phpfpm/default.nix
   ./services/web-servers/pomerium.nix
   ./services/web-servers/unit/default.nix
-  ./services/web-servers/shellinabox.nix
   ./services/web-servers/tomcat.nix
   ./services/web-servers/traefik.nix
   ./services/web-servers/trafficserver/default.nix
diff --git a/nixos/modules/programs/calls.nix b/nixos/modules/programs/calls.nix
index 59961625e5d..08a223b408d 100644
--- a/nixos/modules/programs/calls.nix
+++ b/nixos/modules/programs/calls.nix
@@ -14,6 +14,8 @@ in {
   };
 
   config = mkIf cfg.enable {
+    programs.dconf.enable = true;
+
     environment.systemPackages = [
       pkgs.calls
     ];
diff --git a/nixos/modules/programs/command-not-found/command-not-found.pl b/nixos/modules/programs/command-not-found/command-not-found.pl
index 220d057b7f4..72e246c81ae 100644
--- a/nixos/modules/programs/command-not-found/command-not-found.pl
+++ b/nixos/modules/programs/command-not-found/command-not-found.pl
@@ -21,11 +21,24 @@ my $res = $dbh->selectall_arrayref(
     "select package from Programs where system = ? and name = ?",
     { Slice => {} }, $system, $program);
 
-if (!defined $res || scalar @$res == 0) {
+my $len = !defined $res ? 0 : scalar @$res;
+
+if ($len == 0) {
     print STDERR "$program: command not found\n";
-} elsif (scalar @$res == 1) {
+} elsif ($len == 1) {
     my $package = @$res[0]->{package};
     if ($ENV{"NIX_AUTO_RUN"} // "") {
+        if ($ENV{"NIX_AUTO_RUN_INTERACTIVE"} // "") {
+            while (1) {
+                print STDERR "'$program' from package '$package' will be run, confirm? [yn]: ";
+                chomp(my $comfirm = <STDIN>);
+                if (lc $comfirm eq "n") {
+                    exit 0;
+                } elsif (lc $comfirm eq "y") {
+                    last;
+                }
+            }
+        }
         exec("nix-shell", "-p", $package, "--run", shell_quote("exec", @ARGV));
     } else {
         print STDERR <<EOF;
@@ -35,11 +48,30 @@ ephemeral shell by typing:
 EOF
     }
 } else {
-    print STDERR <<EOF;
+    if ($ENV{"NIX_AUTO_RUN"} // "") {
+        print STDERR "Select a package that provides '$program':\n";
+        for my $i (0 .. $len - 1) {
+            print STDERR "  [", $i + 1, "]: @$res[$i]->{package}\n";
+        }
+        my $choice = 0;
+        while (1) { # exec will break this loop
+            no warnings "numeric";
+            print STDERR "Your choice [1-${len}]: ";
+            # 0 can be invalid user input like non-number string
+            # so we start from 1
+            $choice = <STDIN> + 0;
+            if (1 <= $choice && $choice <= $len) {
+                exec("nix-shell", "-p", @$res[$choice - 1]->{package},
+                    "--run", shell_quote("exec", @ARGV));
+            }
+        }
+    } else {
+        print STDERR <<EOF;
 The program '$program' is not in your PATH. It is provided by several packages.
 You can make it available in an ephemeral shell by typing one of the following:
 EOF
-    print STDERR "  nix-shell -p $_->{package}\n" foreach @$res;
+        print STDERR "  nix-shell -p $_->{package}\n" foreach @$res;
+    }
 }
 
 exit 127;
diff --git a/nixos/modules/programs/k40-whisperer.nix b/nixos/modules/programs/k40-whisperer.nix
new file mode 100644
index 00000000000..3163e45f57e
--- /dev/null
+++ b/nixos/modules/programs/k40-whisperer.nix
@@ -0,0 +1,40 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.programs.k40-whisperer;
+  pkg = cfg.package.override {
+    udevGroup = cfg.group;
+  };
+in
+{
+  options.programs.k40-whisperer = {
+    enable = mkEnableOption "K40-Whisperer";
+
+    group = mkOption {
+      type = types.str;
+      description = ''
+        Group assigned to the device when connected.
+      '';
+      default = "k40";
+    };
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.k40-whisperer;
+      defaultText = literalExpression "pkgs.k40-whisperer";
+      example = literalExpression "pkgs.k40-whisperer";
+      description = ''
+        K40 Whisperer package to use.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    users.groups.${cfg.group} = {};
+
+    environment.systemPackages = [ pkg ];
+    services.udev.packages = [ pkg ];
+  };
+}
diff --git a/nixos/modules/programs/phosh.nix b/nixos/modules/programs/phosh.nix
index cba3f73768e..ad875616ac9 100644
--- a/nixos/modules/programs/phosh.nix
+++ b/nixos/modules/programs/phosh.nix
@@ -8,18 +8,17 @@ let
   # Based on https://source.puri.sm/Librem5/librem5-base/-/blob/4596c1056dd75ac7f043aede07887990fd46f572/default/sm.puri.OSK0.desktop
   oskItem = pkgs.makeDesktopItem {
     name = "sm.puri.OSK0";
-    type = "Application";
     desktopName = "On-screen keyboard";
     exec = "${pkgs.squeekboard}/bin/squeekboard";
-    categories = "GNOME;Core;";
-    extraEntries = ''
-      OnlyShowIn=GNOME;
-      NoDisplay=true
-      X-GNOME-Autostart-Phase=Panel
-      X-GNOME-Provides=inputmethod
-      X-GNOME-Autostart-Notify=true
-      X-GNOME-AutoRestart=true
-    '';
+    categories = [ "GNOME" "Core" ];
+    onlyShowIn = [ "GNOME" ];
+    noDisplay = true;
+    extraConfig = {
+      X-GNOME-Autostart-Phase = "Panel";
+      X-GNOME-Provides = "inputmethod";
+      X-GNOME-Autostart-Notify = "true";
+      X-GNOME-AutoRestart = "true";
+    };
   };
 
   phocConfigType = types.submodule {
diff --git a/nixos/modules/rename.nix b/nixos/modules/rename.nix
index 17ec13b770a..d72ff1c6f17 100644
--- a/nixos/modules/rename.nix
+++ b/nixos/modules/rename.nix
@@ -87,6 +87,9 @@ with lib;
     (mkRemovedOptionModule [ "services" "racoon" ] ''
       The racoon module has been removed, because the software project was abandoned upstream.
     '')
+    (mkRemovedOptionModule [ "services" "shellinabox" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "gogoclient" ] "The corresponding package was removed from nixpkgs.")
+    (mkRemovedOptionModule [ "services" "virtuoso" ] "The corresponding package was removed from nixpkgs.")
 
     # Do NOT add any option renames here, see top of the file
   ];
diff --git a/nixos/modules/security/wrappers/default.nix b/nixos/modules/security/wrappers/default.nix
index 66a47bcaab6..e63f19010de 100644
--- a/nixos/modules/security/wrappers/default.nix
+++ b/nixos/modules/security/wrappers/default.nix
@@ -92,7 +92,6 @@ let
     , permissions
     , ...
     }:
-    assert (lib.versionAtLeast (lib.getVersion config.boot.kernelPackages.kernel) "4.3");
     ''
       cp ${securityWrapper}/bin/security-wrapper "$wrapperDir/${program}"
       echo -n "${source}" > "$wrapperDir/${program}.real"
diff --git a/nixos/modules/services/audio/jmusicbot.nix b/nixos/modules/services/audio/jmusicbot.nix
index f573bd2ab8d..e0f8d461af0 100644
--- a/nixos/modules/services/audio/jmusicbot.nix
+++ b/nixos/modules/services/audio/jmusicbot.nix
@@ -9,6 +9,13 @@ in
     services.jmusicbot = {
       enable = mkEnableOption "jmusicbot, a Discord music bot that's easy to set up and run yourself";
 
+      package = mkOption {
+        type = types.package;
+        default = pkgs.jmusicbot;
+        defaultText = literalExpression "pkgs.jmusicbot";
+        description = "JMusicBot package to use";
+      };
+
       stateDir = mkOption {
         type = types.path;
         description = ''
@@ -27,7 +34,7 @@ in
       after = [ "network-online.target" ];
       description = "Discord music bot that's easy to set up and run yourself!";
       serviceConfig = mkMerge [{
-        ExecStart = "${pkgs.jmusicbot}/bin/JMusicBot";
+        ExecStart = "${cfg.package}/bin/JMusicBot";
         WorkingDirectory = cfg.stateDir;
         Restart = "always";
         RestartSec = 20;
diff --git a/nixos/modules/services/audio/snapserver.nix b/nixos/modules/services/audio/snapserver.nix
index b82aca3976f..6d5ce98df89 100644
--- a/nixos/modules/services/audio/snapserver.nix
+++ b/nixos/modules/services/audio/snapserver.nix
@@ -44,24 +44,24 @@ let
 
   optionString = concatStringsSep " " (mapAttrsToList streamToOption cfg.streams
     # global options
-    ++ [ "--stream.bind_to_address ${cfg.listenAddress}" ]
-    ++ [ "--stream.port ${toString cfg.port}" ]
-    ++ optionalNull cfg.sampleFormat "--stream.sampleformat ${cfg.sampleFormat}"
-    ++ optionalNull cfg.codec "--stream.codec ${cfg.codec}"
-    ++ optionalNull cfg.streamBuffer "--stream.stream_buffer ${toString cfg.streamBuffer}"
-    ++ optionalNull cfg.buffer "--stream.buffer ${toString cfg.buffer}"
+    ++ [ "--stream.bind_to_address=${cfg.listenAddress}" ]
+    ++ [ "--stream.port=${toString cfg.port}" ]
+    ++ optionalNull cfg.sampleFormat "--stream.sampleformat=${cfg.sampleFormat}"
+    ++ optionalNull cfg.codec "--stream.codec=${cfg.codec}"
+    ++ optionalNull cfg.streamBuffer "--stream.stream_buffer=${toString cfg.streamBuffer}"
+    ++ optionalNull cfg.buffer "--stream.buffer=${toString cfg.buffer}"
     ++ optional cfg.sendToMuted "--stream.send_to_muted"
     # tcp json rpc
-    ++ [ "--tcp.enabled ${toString cfg.tcp.enable}" ]
+    ++ [ "--tcp.enabled=${toString cfg.tcp.enable}" ]
     ++ optionals cfg.tcp.enable [
-      "--tcp.bind_to_address ${cfg.tcp.listenAddress}"
-      "--tcp.port ${toString cfg.tcp.port}" ]
+      "--tcp.bind_to_address=${cfg.tcp.listenAddress}"
+      "--tcp.port=${toString cfg.tcp.port}" ]
      # http json rpc
-    ++ [ "--http.enabled ${toString cfg.http.enable}" ]
+    ++ [ "--http.enabled=${toString cfg.http.enable}" ]
     ++ optionals cfg.http.enable [
-      "--http.bind_to_address ${cfg.http.listenAddress}"
-      "--http.port ${toString cfg.http.port}"
-    ] ++ optional (cfg.http.docRoot != null) "--http.doc_root \"${toString cfg.http.docRoot}\"");
+      "--http.bind_to_address=${cfg.http.listenAddress}"
+      "--http.port=${toString cfg.http.port}"
+    ] ++ optional (cfg.http.docRoot != null) "--http.doc_root=\"${toString cfg.http.docRoot}\"");
 
 in {
   imports = [
diff --git a/nixos/modules/services/backup/mysql-backup.nix b/nixos/modules/services/backup/mysql-backup.nix
index 9fca2100273..c40a0b5abc4 100644
--- a/nixos/modules/services/backup/mysql-backup.nix
+++ b/nixos/modules/services/backup/mysql-backup.nix
@@ -113,9 +113,10 @@ in
         };
       };
       services.mysql-backup = {
-        description = "Mysql backup service";
+        description = "MySQL backup service";
         enable = true;
         serviceConfig = {
+          Type = "oneshot";
           User = cfg.user;
         };
         script = backupScript;
diff --git a/nixos/modules/services/cluster/kubernetes/pki.nix b/nixos/modules/services/cluster/kubernetes/pki.nix
index 88bde4e9155..7d9198d20e8 100644
--- a/nixos/modules/services/cluster/kubernetes/pki.nix
+++ b/nixos/modules/services/cluster/kubernetes/pki.nix
@@ -266,7 +266,7 @@ in
           in
           ''
             export KUBECONFIG=${clusterAdminKubeconfig}
-            ${kubectl}/bin/kubectl apply -f ${concatStringsSep " \\\n -f " files}
+            ${kubernetes}/bin/kubectl apply -f ${concatStringsSep " \\\n -f " files}
           '';
         })]);
 
diff --git a/nixos/modules/services/cluster/kubernetes/scheduler.nix b/nixos/modules/services/cluster/kubernetes/scheduler.nix
index 2a522f1db89..2d95528a6ea 100644
--- a/nixos/modules/services/cluster/kubernetes/scheduler.nix
+++ b/nixos/modules/services/cluster/kubernetes/scheduler.nix
@@ -66,12 +66,12 @@ in
       serviceConfig = {
         Slice = "kubernetes.slice";
         ExecStart = ''${top.package}/bin/kube-scheduler \
-          --address=${cfg.address} \
+          --bind-address=${cfg.address} \
           ${optionalString (cfg.featureGates != [])
             "--feature-gates=${concatMapStringsSep "," (feature: "${feature}=true") cfg.featureGates}"} \
           --kubeconfig=${top.lib.mkKubeConfig "kube-scheduler" cfg.kubeconfig} \
           --leader-elect=${boolToString cfg.leaderElect} \
-          --port=${toString cfg.port} \
+          --secure-port=${toString cfg.port} \
           ${optionalString (cfg.verbosity != null) "--v=${toString cfg.verbosity}"} \
           ${cfg.extraOpts}
         '';
diff --git a/nixos/modules/services/databases/virtuoso.nix b/nixos/modules/services/databases/virtuoso.nix
deleted file mode 100644
index 8b01622ecb0..00000000000
--- a/nixos/modules/services/databases/virtuoso.nix
+++ /dev/null
@@ -1,99 +0,0 @@
-{ config, lib, pkgs, ... }:
-let
-  cfg = config.services.virtuoso;
-  virtuosoUser = "virtuoso";
-  stateDir = "/var/lib/virtuoso";
-in
-with lib;
-{
-
-  ###### interface
-
-  options = {
-
-    services.virtuoso = {
-
-      enable = mkEnableOption "Virtuoso Opensource database server";
-
-      config = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Extra options to put into Virtuoso configuration file.";
-      };
-
-      parameters = mkOption {
-        type = types.lines;
-        default = "";
-        description = "Extra options to put into [Parameters] section of Virtuoso configuration file.";
-      };
-
-      listenAddress = mkOption {
-        type = types.str;
-        default = "1111";
-        example = "myserver:1323";
-        description = "ip:port or port to listen on.";
-      };
-
-      httpListenAddress = mkOption {
-        type = types.nullOr types.str;
-        default = null;
-        example = "myserver:8080";
-        description = "ip:port or port for Virtuoso HTTP server to listen on.";
-      };
-
-      dirsAllowed = mkOption {
-        type = types.nullOr types.str; # XXX Maybe use a list in the future?
-        default = null;
-        example = "/www, /home/";
-        description = "A list of directories Virtuoso is allowed to access";
-      };
-    };
-
-  };
-
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    users.users.${virtuosoUser} =
-      { uid = config.ids.uids.virtuoso;
-        description = "virtuoso user";
-        home = stateDir;
-      };
-
-    systemd.services.virtuoso = {
-      after = [ "network.target" ];
-      wantedBy = [ "multi-user.target" ];
-
-      preStart = ''
-        mkdir -p ${stateDir}
-        chown ${virtuosoUser} ${stateDir}
-      '';
-
-      script = ''
-        cd ${stateDir}
-        ${pkgs.virtuoso}/bin/virtuoso-t +foreground +configfile ${pkgs.writeText "virtuoso.ini" cfg.config}
-      '';
-    };
-
-    services.virtuoso.config = ''
-      [Database]
-      DatabaseFile=${stateDir}/x-virtuoso.db
-      TransactionFile=${stateDir}/x-virtuoso.trx
-      ErrorLogFile=${stateDir}/x-virtuoso.log
-      xa_persistent_file=${stateDir}/x-virtuoso.pxa
-
-      [Parameters]
-      ServerPort=${cfg.listenAddress}
-      RunAs=${virtuosoUser}
-      ${optionalString (cfg.dirsAllowed != null) "DirsAllowed=${cfg.dirsAllowed}"}
-      ${cfg.parameters}
-
-      [HTTPServer]
-      ${optionalString (cfg.httpListenAddress != null) "ServerPort=${cfg.httpListenAddress}"}
-    '';
-
-  };
-
-}
diff --git a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
index f7a03a4a3ea..109c91134b9 100644
--- a/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
+++ b/nixos/modules/services/desktops/pipewire/pipewire-media-session.nix
@@ -38,9 +38,8 @@ in {
     services.pipewire.media-session = {
       enable = mkOption {
         type = types.bool;
-        default = config.services.pipewire.enable;
-        defaultText = literalExpression "config.services.pipewire.enable";
-        description = "Example pipewire session manager";
+        default = false;
+        description = "Whether to enable the deprecated example Pipewire session manager";
       };
 
       package = mkOption {
diff --git a/nixos/modules/services/desktops/pipewire/wireplumber.nix b/nixos/modules/services/desktops/pipewire/wireplumber.nix
index ad96dc1f974..52ec17b95db 100644
--- a/nixos/modules/services/desktops/pipewire/wireplumber.nix
+++ b/nixos/modules/services/desktops/pipewire/wireplumber.nix
@@ -8,15 +8,18 @@ in
 
   options = {
     services.pipewire.wireplumber = {
-      enable = lib.mkEnableOption "A modular session / policy manager for PipeWire";
+      enable = lib.mkOption {
+        type = lib.types.bool;
+        default = config.services.pipewire.enable;
+        defaultText = lib.literalExpression "config.services.pipewire.enable";
+        description = "Whether to enable Wireplumber, a modular session / policy manager for PipeWire";
+      };
 
       package = lib.mkOption {
         type = lib.types.package;
         default = pkgs.wireplumber;
         defaultText = lib.literalExpression "pkgs.wireplumber";
-        description = ''
-          The wireplumber derivation to use.
-        '';
+        description = "The wireplumber derivation to use.";
       };
     };
   };
diff --git a/nixos/modules/services/hardware/udev.nix b/nixos/modules/services/hardware/udev.nix
index d48b5444677..61448af2d33 100644
--- a/nixos/modules/services/hardware/udev.nix
+++ b/nixos/modules/services/hardware/udev.nix
@@ -317,7 +317,8 @@ in
       (isYes "NET")
     ];
 
-    boot.extraModprobeConfig = "options firmware_class path=${config.hardware.firmware}/lib/firmware";
+    # We don't place this into `extraModprobeConfig` so that stage-1 ramdisk doesn't bloat.
+    environment.etc."modprobe.d/firmware.conf".text = "options firmware_class path=${config.hardware.firmware}/lib/firmware";
 
     system.activationScripts.udevd =
       ''
diff --git a/nixos/modules/services/hardware/undervolt.nix b/nixos/modules/services/hardware/undervolt.nix
index 212c0227c0d..a743bbf21c8 100644
--- a/nixos/modules/services/hardware/undervolt.nix
+++ b/nixos/modules/services/hardware/undervolt.nix
@@ -164,8 +164,6 @@ in
     environment.systemPackages = [ cfg.package ];
 
     systemd.services.undervolt = {
-      path = [ pkgs.undervolt ];
-
       description = "Intel Undervolting Service";
 
       # Apply undervolt on boot, nixos generation switch and resume
@@ -175,7 +173,7 @@ in
       serviceConfig = {
         Type = "oneshot";
         Restart = "no";
-        ExecStart = "${pkgs.undervolt}/bin/undervolt ${toString cliArgs}";
+        ExecStart = "${cfg.package}/bin/undervolt ${toString cliArgs}";
       };
     };
 
diff --git a/nixos/modules/services/misc/home-assistant.nix b/nixos/modules/services/home-automation/home-assistant.nix
index fc8ce08b2e1..6022227f6ea 100644
--- a/nixos/modules/services/misc/home-assistant.nix
+++ b/nixos/modules/services/home-automation/home-assistant.nix
@@ -4,35 +4,27 @@ with lib;
 
 let
   cfg = config.services.home-assistant;
+  format = pkgs.formats.yaml {};
 
-  # cfg.config != null can be assumed here
-  configJSON = pkgs.writeText "configuration.json"
-    (builtins.toJSON (if cfg.applyDefaultConfig then
-    (recursiveUpdate defaultConfig cfg.config) else cfg.config));
+  # Render config attribute sets to YAML
+  # Values that are null will be filtered from the output, so this is one way to have optional
+  # options shown in settings.
+  # We post-process the result to add support for YAML functions, like secrets or includes, see e.g.
+  # https://www.home-assistant.io/docs/configuration/secrets/
+  filteredConfig = lib.converge (lib.filterAttrsRecursive (_: v: ! elem v [ null ])) cfg.config or {};
   configFile = pkgs.runCommand "configuration.yaml" { preferLocalBuild = true; } ''
-    ${pkgs.remarshal}/bin/json2yaml -i ${configJSON} -o $out
-    # Hack to support custom yaml objects,
-    # i.e. secrets: https://www.home-assistant.io/docs/configuration/secrets/
+    cp ${format.generate "configuration.yaml" filteredConfig} $out
     sed -i -e "s/'\!\([a-z_]\+\) \(.*\)'/\!\1 \2/;s/^\!\!/\!/;" $out
   '';
+  lovelaceConfig = cfg.lovelaceConfig or {};
+  lovelaceConfigFile = format.generate "ui-lovelace.yaml" lovelaceConfig;
 
-  lovelaceConfigJSON = pkgs.writeText "ui-lovelace.json"
-    (builtins.toJSON cfg.lovelaceConfig);
-  lovelaceConfigFile = pkgs.runCommand "ui-lovelace.yaml" { preferLocalBuild = true; } ''
-    ${pkgs.remarshal}/bin/json2yaml -i ${lovelaceConfigJSON} -o $out
-  '';
-
+  # Components advertised by the home-assistant package
   availableComponents = cfg.package.availableComponents;
 
+  # Components that were added by overriding the package
   explicitComponents = cfg.package.extraComponents;
-
-  usedPlatforms = config:
-    if isAttrs config then
-      optional (config ? platform) config.platform
-      ++ concatMap usedPlatforms (attrValues config)
-    else if isList config then
-      concatMap usedPlatforms config
-    else [ ];
+  useExplicitComponent = component: elem component explicitComponents;
 
   # Given a component "platform", looks up whether it is used in the config
   # as `platform = "platform";`.
@@ -42,34 +34,46 @@ let
   #   platform = "mqtt";
   #   ...
   # } ];
-  useComponentPlatform = component: elem component (usedPlatforms cfg.config);
+  usedPlatforms = config:
+    if isAttrs config then
+      optional (config ? platform) config.platform
+      ++ concatMap usedPlatforms (attrValues config)
+    else if isList config then
+      concatMap usedPlatforms config
+    else [ ];
 
-  useExplicitComponent = component: elem component explicitComponents;
+  useComponentPlatform = component: elem component (usedPlatforms cfg.config);
 
-  # Returns whether component is used in config or explicitly passed into package
+  # Returns whether component is used in config, explicitly passed into package or
+  # configured in the module.
   useComponent = component:
     hasAttrByPath (splitString "." component) cfg.config
     || useComponentPlatform component
-    || useExplicitComponent component;
+    || useExplicitComponent component
+    || builtins.elem component cfg.extraComponents;
 
-  # List of components used in config
+  # Final list of components passed into the package to include required dependencies
   extraComponents = filter useComponent availableComponents;
 
-  package = if (cfg.autoExtraComponents && cfg.config != null)
-    then (cfg.package.override { inherit extraComponents; })
-    else cfg.package;
+  package = (cfg.package.override (oldArgs: {
+    # Respect overrides that already exist in the passed package and
+    # concat it with values passed via the module.
+    extraComponents = oldArgs.extraComponents or [] ++ extraComponents;
+    extraPackages = ps: (oldArgs.extraPackages or (_: []) ps) ++ (cfg.extraPackages ps);
+  }));
+in {
+  imports = [
+    # Migrations in NixOS 22.05
+    (mkRemovedOptionModule [ "services" "home-assistant" "applyDefaultConfig" ] "The default config was migrated into services.home-assistant.config")
+    (mkRemovedOptionModule [ "services" "home-assistant" "autoExtraComponents" ] "Components are now parsed from services.home-assistant.config unconditionally")
+    (mkRenamedOptionModule [ "services" "home-assistant" "port" ] [ "services" "home-assistant" "config" "http" "server_port" ])
+  ];
 
-  # If you are changing this, please update the description in applyDefaultConfig
-  defaultConfig = {
-    homeassistant.time_zone = config.time.timeZone;
-    http.server_port = cfg.port;
-  } // optionalAttrs (cfg.lovelaceConfig != null) {
-    lovelace.mode = "yaml";
+  meta = {
+    buildDocsInSandbox = false;
+    maintainers = teams.home-assistant.members;
   };
 
-in {
-  meta.maintainers = teams.home-assistant.members;
-
   options.services.home-assistant = {
     # Running home-assistant on NixOS is considered an installation method that is unsupported by the upstream project.
     # https://github.com/home-assistant/architecture/blob/master/adr/0012-define-supported-installation-method.md#decision
@@ -81,42 +85,166 @@ in {
       description = "The config directory, where your <filename>configuration.yaml</filename> is located.";
     };
 
-    port = mkOption {
-      default = 8123;
-      type = types.port;
-      description = "The port on which to listen.";
+    extraComponents = mkOption {
+      type = types.listOf (types.enum availableComponents);
+      default = [
+        # List of components required to complete the onboarding
+        "default_config"
+        "met"
+        "esphome"
+      ] ++ optionals (pkgs.stdenv.hostPlatform.isAarch32 || pkgs.stdenv.hostPlatform.isAarch64) [
+        # Use the platform as an indicator that we might be running on a RaspberryPi and include
+        # relevant components
+        "rpi_power"
+      ];
+      example = literalExpression ''
+        [
+          "analytics"
+          "default_config"
+          "esphome"
+          "my"
+          "shopping_list"
+          "wled"
+        ]
+      '';
+      description = ''
+        List of <link xlink:href="https://www.home-assistant.io/integrations/">components</link> that have their dependencies included in the package.
+
+        The component name can be found in the URL, for example <literal>https://www.home-assistant.io/integrations/ffmpeg/</literal> would map to <literal>ffmpeg</literal>.
+      '';
     };
 
-    applyDefaultConfig = mkOption {
-      default = true;
-      type = types.bool;
+    extraPackages = mkOption {
+      type = types.functionTo (types.listOf types.package);
+      default = _: [];
+      defaultText = literalExpression ''
+        python3Packages: with python3Packages; [];
+      '';
+      example = literalExpression ''
+        python3Packages: with python3Packages; [
+          # postgresql support
+          psycopg2
+        ];
+      '';
       description = ''
-        Setting this option enables a few configuration options for HA based on NixOS configuration (such as time zone) to avoid having to manually specify configuration we already have.
-        </para>
-        <para>
-        Currently one side effect of enabling this is that the <literal>http</literal> component will be enabled.
-        </para>
-        <para>
-        This only takes effect if <literal>config != null</literal> in order to ensure that a manually managed <filename>configuration.yaml</filename> is not overwritten.
+        List of packages to add to propagatedBuildInputs.
+
+        A popular example is <package>python3Packages.psycopg2</package>
+        for PostgreSQL support in the recorder component.
       '';
     };
 
     config = mkOption {
-      default = null;
-      # Migrate to new option types later: https://github.com/NixOS/nixpkgs/pull/75584
-      type =  with lib.types; let
-          valueType = nullOr (oneOf [
-            bool
-            int
-            float
-            str
-            (lazyAttrsOf valueType)
-            (listOf valueType)
-          ]) // {
-            description = "Yaml value";
-            emptyValue.value = {};
+      type = types.nullOr (types.submodule {
+        freeformType = format.type;
+        options = {
+          # This is a partial selection of the most common options, so new users can quickly
+          # pick up how to match home-assistants config structure to ours. It also lets us preset
+          # config values intelligently.
+
+          homeassistant = {
+            # https://www.home-assistant.io/docs/configuration/basic/
+            name = mkOption {
+              type = types.nullOr types.str;
+              default = null;
+              example = "Home";
+              description = ''
+                Name of the location where Home Assistant is running.
+              '';
+            };
+
+            latitude = mkOption {
+              type = types.nullOr (types.either types.float types.str);
+              default = null;
+              example = 52.3;
+              description = ''
+                Latitude of your location required to calculate the time the sun rises and sets.
+              '';
+            };
+
+            longitude = mkOption {
+              type = types.nullOr (types.either types.float types.str);
+              default = null;
+              example = 4.9;
+              description = ''
+                Longitude of your location required to calculate the time the sun rises and sets.
+              '';
+            };
+
+            unit_system = mkOption {
+              type = types.nullOr (types.enum [ "metric" "imperial" ]);
+              default = null;
+              example = "metric";
+              description = ''
+                The unit system to use. This also sets temperature_unit, Celsius for Metric and Fahrenheit for Imperial.
+              '';
+            };
+
+            temperature_unit = mkOption {
+              type = types.nullOr (types.enum [ "C" "F" ]);
+              default = null;
+              example = "C";
+              description = ''
+                Override temperature unit set by unit_system. <literal>C</literal> for Celsius, <literal>F</literal> for Fahrenheit.
+              '';
+            };
+
+            time_zone = mkOption {
+              type = types.nullOr types.str;
+              default = config.time.timeZone or null;
+              defaultText = literalExpression ''
+                config.time.timeZone or null
+              '';
+              example = "Europe/Amsterdam";
+              description = ''
+                Pick your time zone from the column TZ of Wikipedia’s <link xlink:href="https://en.wikipedia.org/wiki/List_of_tz_database_time_zones">list of tz database time zones</link>.
+              '';
+            };
+          };
+
+          http = {
+            # https://www.home-assistant.io/integrations/http/
+            server_host = mkOption {
+              type = types.either types.str (types.listOf types.str);
+              default = [
+                "0.0.0.0"
+                "::"
+              ];
+              example = "::1";
+              description = ''
+                Only listen to incoming requests on specific IP/host. The default listed assumes support for IPv4 and IPv6.
+              '';
+            };
+
+            server_port = mkOption {
+              default = 8123;
+              type = types.port;
+              description = ''
+                The port on which to listen.
+              '';
+            };
           };
-        in valueType;
+
+          lovelace = {
+            # https://www.home-assistant.io/lovelace/dashboards/
+            mode = mkOption {
+              type = types.enum [ "yaml" "storage" ];
+              default = if cfg.lovelaceConfig != null
+                then "yaml"
+                else "storage";
+              defaultText = literalExpression ''
+                if cfg.lovelaceConfig != null
+                  then "yaml"
+                else "storage";
+              '';
+              example = "yaml";
+              description = ''
+                In what mode should the main Lovelace panel be, <literal>yaml</literal> or <literal>storage</literal> (UI managed).
+              '';
+            };
+          };
+        };
+      });
       example = literalExpression ''
         {
           homeassistant = {
@@ -130,15 +258,19 @@ in {
           frontend = {
             themes = "!include_dir_merge_named themes";
           };
-          http = { };
+          http = {};
           feedreader.urls = [ "https://nixos.org/blogs.xml" ];
         }
       '';
       description = ''
         Your <filename>configuration.yaml</filename> as a Nix attribute set.
-        Beware that setting this option will delete your previous <filename>configuration.yaml</filename>.
-        <link xlink:href="https://www.home-assistant.io/docs/configuration/secrets/">Secrets</link>
-        are encoded as strings as shown in the example.
+
+        YAML functions like <link xlink:href="https://www.home-assistant.io/docs/configuration/secrets/">secrets</link>
+        can be passed as a string and will be unquoted automatically.
+
+        Unless this option is explicitly set to <literal>null</literal>
+        we assume your <filename>configuration.yaml</filename> is
+        managed through this module and thereby overwritten on startup.
       '';
     };
 
@@ -147,16 +279,18 @@ in {
       type = types.bool;
       description = ''
         Whether to make <filename>configuration.yaml</filename> writable.
-        This only has an effect if <option>config</option> is set.
+
         This will allow you to edit it from Home Assistant's web interface.
+
+        This only has an effect if <option>config</option> is set.
         However, bear in mind that it will be overwritten at every start of the service.
       '';
     };
 
     lovelaceConfig = mkOption {
       default = null;
-      type = with types; nullOr attrs;
-      # from https://www.home-assistant.io/lovelace/yaml-mode/
+      type = types.nullOr format.type;
+      # from https://www.home-assistant.io/lovelace/dashboards/
       example = literalExpression ''
         {
           title = "My Awesome Home";
@@ -172,8 +306,8 @@ in {
       '';
       description = ''
         Your <filename>ui-lovelace.yaml</filename> as a Nix attribute set.
-        Setting this option will automatically add
-        <literal>lovelace.mode = "yaml";</literal> to your <option>config</option>.
+        Setting this option will automatically set <literal>lovelace.mode</literal> to <literal>yaml</literal>.
+
         Beware that setting this option will delete your previous <filename>ui-lovelace.yaml</filename>
       '';
     };
@@ -183,8 +317,10 @@ in {
       type = types.bool;
       description = ''
         Whether to make <filename>ui-lovelace.yaml</filename> writable.
-        This only has an effect if <option>lovelaceConfig</option> is set.
+
         This will allow you to edit it from Home Assistant's web interface.
+
+        This only has an effect if <option>lovelaceConfig</option> is set.
         However, bear in mind that it will be overwritten at every start of the service.
       '';
     };
@@ -201,30 +337,18 @@ in {
       type = types.package;
       example = literalExpression ''
         pkgs.home-assistant.override {
-          extraPackages = ps: with ps; [ colorlog ];
+          extraPackages = python3Packages: with python3Packages; [
+            psycopg2
+          ];
+          extraComponents = [
+            "default_config"
+            "esphome"
+            "met"
+          ];
         }
       '';
       description = ''
-        Home Assistant package to use. By default the tests are disabled, as they take a considerable amout of time to complete.
-        Override <literal>extraPackages</literal> or <literal>extraComponents</literal> in order to add additional dependencies.
-        If you specify <option>config</option> and do not set <option>autoExtraComponents</option>
-        to <literal>false</literal>, overriding <literal>extraComponents</literal> will have no effect.
-        Avoid <literal>home-assistant.overridePythonAttrs</literal> if you use <literal>autoExtraComponents</literal>.
-      '';
-    };
-
-    autoExtraComponents = mkOption {
-      default = true;
-      type = types.bool;
-      description = ''
-        If set to <literal>true</literal>, the components used in <literal>config</literal>
-        are set as the specified package's <literal>extraComponents</literal>.
-        This in turn adds all packaged dependencies to the derivation.
-        You might still see import errors in your log.
-        In this case, you will need to package the necessary dependencies yourself
-        or ask for someone else to package them.
-        If a dependency is packaged but not automatically added to this list,
-        you might need to specify it in <literal>extraPackages</literal>.
+        The Home Assistant package to use.
       '';
     };
 
@@ -240,18 +364,30 @@ in {
 
     systemd.services.home-assistant = {
       description = "Home Assistant";
-      after = [ "network.target" ];
-      preStart = optionalString (cfg.config != null) (if cfg.configWritable then ''
-        cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
-      '' else ''
-        rm -f "${cfg.configDir}/configuration.yaml"
-        ln -s ${configFile} "${cfg.configDir}/configuration.yaml"
-      '') + optionalString (cfg.lovelaceConfig != null) (if cfg.lovelaceConfigWritable then ''
-        cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
-      '' else ''
-        rm -f "${cfg.configDir}/ui-lovelace.yaml"
-        ln -s ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
-      '');
+      after = [
+        "network-online.target"
+
+        # prevent races with database creation
+        "mysql.service"
+        "postgresql.service"
+      ];
+      preStart = let
+        copyConfig = if cfg.configWritable then ''
+          cp --no-preserve=mode ${configFile} "${cfg.configDir}/configuration.yaml"
+        '' else ''
+          rm -f "${cfg.configDir}/configuration.yaml"
+          ln -s ${configFile} "${cfg.configDir}/configuration.yaml"
+        '';
+        copyLovelaceConfig = if cfg.lovelaceConfigWritable then ''
+          cp --no-preserve=mode ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
+        '' else ''
+          rm -f "${cfg.configDir}/ui-lovelace.yaml"
+          ln -s ${lovelaceConfigFile} "${cfg.configDir}/ui-lovelace.yaml"
+        '';
+      in
+        (optionalString (cfg.config != null) copyConfig) +
+        (optionalString (cfg.lovelaceConfig != null) copyLovelaceConfig)
+      ;
       serviceConfig = let
         # List of capabilities to equip home-assistant with, depending on configured components
         capabilities = [
diff --git a/nixos/modules/services/logging/logrotate.nix b/nixos/modules/services/logging/logrotate.nix
index 8cef4e8c083..77e4fc39598 100644
--- a/nixos/modules/services/logging/logrotate.nix
+++ b/nixos/modules/services/logging/logrotate.nix
@@ -4,7 +4,6 @@ with lib;
 
 let
   cfg = config.services.logrotate;
-  inherit (config.users) groups;
 
   pathOpts = { name, ... }:  {
     options = {
@@ -85,10 +84,6 @@ let
     };
 
     config.name = name;
-    config.extraConfig = ''
-      missingok
-      notifempty
-    '';
   };
 
   mkConf = pathOpts: ''
@@ -102,7 +97,11 @@ let
   '';
 
   paths = sortProperties (attrValues (filterAttrs (_: pathOpts: pathOpts.enable) cfg.paths));
-  configFile = pkgs.writeText "logrotate.conf" (concatStringsSep "\n" ((map mkConf paths) ++ [ cfg.extraConfig ]));
+  configFile = pkgs.writeText "logrotate.conf" (
+    concatStringsSep "\n" (
+      [ "missingok" "notifempty" cfg.extraConfig ] ++ (map mkConf paths)
+    )
+  );
 
 in
 {
@@ -112,7 +111,10 @@ in
 
   options = {
     services.logrotate = {
-      enable = mkEnableOption "the logrotate systemd service";
+      enable = mkEnableOption "the logrotate systemd service" // {
+        default = foldr (n: a: a || n.enable) false (attrValues cfg.paths);
+        defaultText = literalExpression "cfg.paths != {}";
+      };
 
       paths = mkOption {
         type = with types; attrsOf (submodule pathOpts);
@@ -163,25 +165,6 @@ in
       }
     ) cfg.paths;
 
-    services.logrotate = {
-      paths = {
-        "/var/log/btmp" = {
-          frequency = mkDefault "monthly";
-          keep = mkDefault 1;
-          extraConfig = ''
-            create 0660 root ${groups.utmp.name}
-          '';
-        };
-        "/var/log/wtmp" = {
-          frequency = mkDefault "monthly";
-          keep = mkDefault 1;
-          extraConfig = ''
-            create 0664 root ${groups.utmp.name}
-          '';
-        };
-      };
-    };
-
     systemd.services.logrotate = {
       description = "Logrotate Service";
       wantedBy = [ "multi-user.target" ];
diff --git a/nixos/modules/services/mail/postfixadmin.nix b/nixos/modules/services/mail/postfixadmin.nix
index f5c8efb3076..a0846ad5290 100644
--- a/nixos/modules/services/mail/postfixadmin.nix
+++ b/nixos/modules/services/mail/postfixadmin.nix
@@ -114,7 +114,7 @@ in
               location ~* \.php$ {
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                 fastcgi_pass unix:${fpm.socket};
-                include ${pkgs.nginx}/conf/fastcgi_params;
+                include ${config.services.nginx.package}/conf/fastcgi_params;
                 include ${pkgs.nginx}/conf/fastcgi.conf;
               }
             '';
diff --git a/nixos/modules/services/mail/roundcube.nix b/nixos/modules/services/mail/roundcube.nix
index ac192c56aa6..1dd393da882 100644
--- a/nixos/modules/services/mail/roundcube.nix
+++ b/nixos/modules/services/mail/roundcube.nix
@@ -153,7 +153,7 @@ in
               location ~* \.php$ {
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                 fastcgi_pass unix:${fpm.socket};
-                include ${pkgs.nginx}/conf/fastcgi_params;
+                include ${config.services.nginx.package}/conf/fastcgi_params;
                 include ${pkgs.nginx}/conf/fastcgi.conf;
               }
             '';
diff --git a/nixos/modules/services/matrix/mjolnir.xml b/nixos/modules/services/matrix/mjolnir.xml
index d462ddf7b01..b07abe33979 100644
--- a/nixos/modules/services/matrix/mjolnir.xml
+++ b/nixos/modules/services/matrix/mjolnir.xml
@@ -98,7 +98,7 @@
   </para>
   <para>
    To use the Antispam Module, add <package>matrix-synapse-plugins.matrix-synapse-mjolnir-antispam</package>
-   to the Synapse plugin list and enable the <literal>mjolnir.AntiSpam</literal> module.
+   to the Synapse plugin list and enable the <literal>mjolnir.Module</literal> module.
   </para>
 <programlisting>
 {
@@ -108,7 +108,7 @@
     ];
     extraConfig = ''
       modules:
-        - module: mjolnir.AntiSpam
+        - module: mjolnir.Module
           config:
             # Prevent servers/users in the ban lists from inviting users on this
             # server to rooms. Default true.
diff --git a/nixos/modules/services/misc/airsonic.nix b/nixos/modules/services/misc/airsonic.nix
index 5a5c30a4123..2b9c6d80abb 100644
--- a/nixos/modules/services/misc/airsonic.nix
+++ b/nixos/modules/services/misc/airsonic.nix
@@ -39,9 +39,11 @@ in {
         default = "127.0.0.1";
         description = ''
           The host name or IP address on which to bind Airsonic.
-          Only relevant if you have multiple network interfaces and want
-          to make Airsonic available on only one of them. The default value
-          will bind Airsonic to all available network interfaces.
+          The default value is appropriate for first launch, when the
+          default credentials are easy to guess. It is also appropriate
+          if you intend to use the virtualhost option in the service
+          module. In other cases, you may want to change this to a
+          specific IP or 0.0.0.0 to listen on all interfaces.
         '';
       };
 
diff --git a/nixos/modules/services/misc/autorandr.nix b/nixos/modules/services/misc/autorandr.nix
index 95cee5046e8..a65c5c9d11c 100644
--- a/nixos/modules/services/misc/autorandr.nix
+++ b/nixos/modules/services/misc/autorandr.nix
@@ -43,6 +43,7 @@ in {
         ExecStart = "${pkgs.autorandr}/bin/autorandr --batch --change --default ${cfg.defaultTarget}";
         Type = "oneshot";
         RemainAfterExit = false;
+        KillMode = "process";
       };
     };
 
diff --git a/nixos/modules/services/misc/gitlab.nix b/nixos/modules/services/misc/gitlab.nix
index 19f270d373f..e48444f7161 100644
--- a/nixos/modules/services/misc/gitlab.nix
+++ b/nixos/modules/services/misc/gitlab.nix
@@ -72,7 +72,7 @@ let
     redis = {
       bin = "${pkgs.redis}/bin/redis-cli";
       host = "127.0.0.1";
-      port = 6379;
+      port = config.services.redis.servers.gitlab.port;
       database = 0;
       namespace = "resque:gitlab";
     };
@@ -450,7 +450,8 @@ in {
 
       redisUrl = mkOption {
         type = types.str;
-        default = "redis://localhost:6379/";
+        default = "redis://localhost:${toString config.services.redis.servers.gitlab.port}/";
+        defaultText = literalExpression ''redis://localhost:''${toString config.services.redis.servers.gitlab.port}/'';
         description = "Redis URL for all GitLab services except gitlab-shell";
       };
 
@@ -961,7 +962,11 @@ in {
     };
 
     # Redis is required for the sidekiq queue runner.
-    services.redis.enable = mkDefault true;
+    services.redis.servers.gitlab = {
+      enable = mkDefault true;
+      port = mkDefault 31636;
+      bind = mkDefault "127.0.0.1";
+    };
 
     # We use postgres as the main data store.
     services.postgresql = optionalAttrs databaseActuallyCreateLocally {
@@ -1249,13 +1254,13 @@ in {
     systemd.services.gitlab-sidekiq = {
       after = [
         "network.target"
-        "redis.service"
+        "redis-gitlab.service"
         "postgresql.service"
         "gitlab-config.service"
         "gitlab-db-config.service"
       ];
       bindsTo = [
-        "redis.service"
+        "redis-gitlab.service"
         "gitlab-config.service"
         "gitlab-db-config.service"
       ] ++ optional (cfg.databaseHost == "") "postgresql.service";
@@ -1370,7 +1375,7 @@ in {
 
     systemd.services.gitlab-mailroom = mkIf (gitlabConfig.production.incoming_email.enabled or false) {
       description = "GitLab incoming mail daemon";
-      after = [ "network.target" "redis.service" "gitlab-config.service" ];
+      after = [ "network.target" "redis-gitlab.service" "gitlab-config.service" ];
       bindsTo = [ "gitlab-config.service" ];
       wantedBy = [ "gitlab.target" ];
       partOf = [ "gitlab.target" ];
@@ -1391,12 +1396,12 @@ in {
       after = [
         "gitlab-workhorse.service"
         "network.target"
-        "redis.service"
+        "redis-gitlab.service"
         "gitlab-config.service"
         "gitlab-db-config.service"
       ];
       bindsTo = [
-        "redis.service"
+        "redis-gitlab.service"
         "gitlab-config.service"
         "gitlab-db-config.service"
       ] ++ optional (cfg.databaseHost == "") "postgresql.service";
diff --git a/nixos/modules/services/misc/input-remapper.nix b/nixos/modules/services/misc/input-remapper.nix
new file mode 100644
index 00000000000..c2da0d616a3
--- /dev/null
+++ b/nixos/modules/services/misc/input-remapper.nix
@@ -0,0 +1,29 @@
+{ pkgs, lib, config, ... }:
+
+with lib;
+
+let cfg = config.services.input-remapper; in
+{
+  options = {
+    services.input-remapper = {
+      enable = mkEnableOption "input-remapper, an easy to use tool to change the mapping of your input device buttons.";
+      package = mkOption {
+        type = types.package;
+        default = pkgs.input-remapper;
+        defaultText = literalExpression "pkgs.input-remapper";
+        description = ''
+          The input-remapper package to use.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    # FIXME: udev rule hangs sometimes when lots of devices connected, so let's not use it
+    # config.services.udev.packages = mapper-pkg;
+    services.dbus.packages = cfg.package;
+    systemd.packages = cfg.package;
+    environment.systemPackages = cfg.package;
+    systemd.services.input-remapper.wantedBy = [ "graphical.target" ];
+  };
+}
diff --git a/nixos/modules/services/misc/mbpfan.nix b/nixos/modules/services/misc/mbpfan.nix
index d2b0f0da2ad..e0a4d8a13e7 100644
--- a/nixos/modules/services/misc/mbpfan.nix
+++ b/nixos/modules/services/misc/mbpfan.nix
@@ -6,7 +6,7 @@ let
   cfg = config.services.mbpfan;
   verbose = if cfg.verbose then "v" else "";
   settingsFormat = pkgs.formats.ini {};
-  settingsFile = settingsFormat.generate "config.conf" cfg.settings;
+  settingsFile = settingsFormat.generate "mbpfan.ini" cfg.settings;
 
 in {
   options.services.mbpfan = {
@@ -36,29 +36,35 @@ in {
         freeformType = settingsFormat.type;
 
         options.general.min_fan1_speed = mkOption {
-          type = types.int;
+          type = types.nullOr types.int;
           default = 2000;
-          description = "The minimum fan speed.";
+          description = ''
+            The minimum fan speed. Setting to null enables automatic detection.
+            Check minimum fan limits with "cat /sys/devices/platform/applesmc.768/fan*_min".
+          '';
         };
         options.general.max_fan1_speed = mkOption {
-          type = types.int;
+          type = types.nullOr types.int;
           default = 6199;
-          description = "The maximum fan speed.";
+          description = ''
+            The maximum fan speed. Setting to null enables automatic detection.
+            Check maximum fan limits with "cat /sys/devices/platform/applesmc.768/fan*_max".
+          '';
         };
         options.general.low_temp = mkOption {
           type = types.int;
           default = 55;
-          description = "The low temperature.";
+          description = "Temperature below which fan speed will be at minimum. Try ranges 55-63.";
         };
         options.general.high_temp = mkOption {
           type = types.int;
           default = 58;
-          description = "The high temperature.";
+          description = "Fan will increase speed when higher than this temperature. Try ranges 58-66.";
         };
         options.general.max_temp = mkOption {
           type = types.int;
           default = 86;
-          description = "The maximum temperature.";
+          description = "Fan will run at full speed above this temperature. Do not set it > 90.";
         };
         options.general.polling_interval = mkOption {
           type = types.int;
diff --git a/nixos/modules/services/misc/mediatomb.nix b/nixos/modules/services/misc/mediatomb.nix
index 360cdbac2a1..ee5c0ef8d27 100644
--- a/nixos/modules/services/misc/mediatomb.nix
+++ b/nixos/modules/services/misc/mediatomb.nix
@@ -366,6 +366,7 @@ in {
       wantedBy = [ "multi-user.target" ];
       serviceConfig.ExecStart = "${binaryCommand} --port ${toString cfg.port} ${interfaceFlag} ${configFlag} --home ${cfg.dataDir}";
       serviceConfig.User = cfg.user;
+      serviceConfig.Group = cfg.group;
     };
 
     users.groups = optionalAttrs (cfg.group == "mediatomb") {
diff --git a/nixos/modules/services/misc/nix-daemon.nix b/nixos/modules/services/misc/nix-daemon.nix
index ea57292fc4b..ca59ea29378 100644
--- a/nixos/modules/services/misc/nix-daemon.nix
+++ b/nixos/modules/services/misc/nix-daemon.nix
@@ -680,7 +680,7 @@ in
               (if machine.sshKey != null then machine.sshKey else "-")
               (toString machine.maxJobs)
               (toString machine.speedFactor)
-              (concatStringsSep "," machine.supportedFeatures)
+              (concatStringsSep "," (machine.supportedFeatures ++ machine.mandatoryFeatures))
               (concatStringsSep "," machine.mandatoryFeatures)
             ]
             ++ optional (isNixAtLeast "2.4pre") (if machine.publicHostKey != null then machine.publicHostKey else "-")))
@@ -762,7 +762,7 @@ in
     nix.settings = mkMerge [
       {
         trusted-public-keys = [ "cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=" ];
-        substituters = [ "https://cache.nixos.org/" ];
+        substituters = mkAfter [ "https://cache.nixos.org/" ];
 
         system-features = mkDefault (
           [ "nixos-test" "benchmark" "big-parallel" "kvm" ] ++
diff --git a/nixos/modules/services/misc/packagekit.nix b/nixos/modules/services/misc/packagekit.nix
index 93bd206bd98..9191078ef9c 100644
--- a/nixos/modules/services/misc/packagekit.nix
+++ b/nixos/modules/services/misc/packagekit.nix
@@ -13,7 +13,7 @@ let
     (iniFmt.generate "PackageKit.conf" (recursiveUpdate
       {
         Daemon = {
-          DefaultBackend = "test_nop";
+          DefaultBackend = "nix";
           KeepCache = false;
         };
       }
@@ -35,7 +35,7 @@ let
 in
 {
   imports = [
-    (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "The only backend that doesn't blow up is `test_nop`.")
+    (mkRemovedOptionModule [ "services" "packagekit" "backend" ] "Always set to Nix.")
   ];
 
   options.services.packagekit = {
@@ -62,6 +62,8 @@ in
 
     services.dbus.packages = with pkgs; [ packagekit ];
 
+    environment.systemPackages = with pkgs; [ packagekit ];
+
     systemd.packages = with pkgs; [ packagekit ];
 
     environment.etc = listToAttrs (map
diff --git a/nixos/modules/services/misc/paperless-ng.nix b/nixos/modules/services/misc/paperless-ng.nix
index db8082f072c..44efc234a2b 100644
--- a/nixos/modules/services/misc/paperless-ng.nix
+++ b/nixos/modules/services/misc/paperless-ng.nix
@@ -6,12 +6,18 @@ let
 
   defaultUser = "paperless";
 
+  hasCustomRedis = hasAttr "PAPERLESS_REDIS" cfg.extraConfig;
+
   env = {
     PAPERLESS_DATA_DIR = cfg.dataDir;
     PAPERLESS_MEDIA_ROOT = cfg.mediaDir;
     PAPERLESS_CONSUMPTION_DIR = cfg.consumptionDir;
     GUNICORN_CMD_ARGS = "--bind=${cfg.address}:${toString cfg.port}";
-  } // lib.mapAttrs (_: toString) cfg.extraConfig;
+  } // (
+    lib.mapAttrs (_: toString) cfg.extraConfig
+  ) // (optionalAttrs (!hasCustomRedis) {
+    PAPERLESS_REDIS = "unix://${config.services.redis.servers.paperless-ng.unixSocket}";
+  });
 
   manage = let
     setupEnv = lib.concatStringsSep "\n" (mapAttrsToList (name: val: "export ${name}=\"${val}\"") env);
@@ -30,7 +36,7 @@ let
       "-/etc/hosts"
       "-/etc/localtime"
       "-/run/postgresql"
-    ];
+    ] ++ (optional (!hasCustomRedis) config.services.redis.servers.paperless-ng.unixSocket);
     BindPaths = [
       cfg.consumptionDir
       cfg.dataDir
@@ -44,8 +50,7 @@ let
     NoNewPrivileges = true;
     PrivateDevices = true;
     PrivateMounts = true;
-    # Needs to connect to redis
-    # PrivateNetwork = true;
+    PrivateNetwork = true;
     PrivateTmp = true;
     PrivateUsers = true;
     ProcSubset = "pid";
@@ -65,6 +70,7 @@ let
     RestrictNamespaces = true;
     RestrictRealtime = true;
     RestrictSUIDSGID = true;
+    SupplementaryGroups = optional (!hasCustomRedis) config.services.redis.servers.paperless-ng.user;
     SystemCallArchitectures = "native";
     SystemCallFilter = [ "@system-service" "~@privileged @resources @setuid @keyring" ];
     # Does not work well with the temporary root
@@ -190,7 +196,7 @@ in
 
   config = mkIf cfg.enable {
     # Enable redis if no special url is set
-    services.redis.enable = mkIf (!hasAttr "PAPERLESS_REDIS" env) true;
+    services.redis.servers.paperless-ng.enable = mkIf (!hasCustomRedis) true;
 
     systemd.tmpfiles.rules = [
       "d '${cfg.dataDir}' - ${cfg.user} ${config.users.users.${cfg.user}.group} - -"
@@ -234,6 +240,8 @@ in
           echo "$superuserState" > "$superuserStateFile"
         fi
       '';
+    } // optionalAttrs (!hasCustomRedis) {
+      after = [ "redis-paperless-ng.service" ];
     };
 
     # Password copying can't be implemented as a privileged preStart script
@@ -248,6 +256,8 @@ in
             '${cfg.passwordFile}' '${cfg.dataDir}/superuser-password'
         '';
         Type = "oneshot";
+        # Needs to talk to mail server for automated import rules
+        PrivateNetwork = false;
       };
     };
 
@@ -279,6 +289,8 @@ in
         CapabilityBoundingSet = "CAP_NET_BIND_SERVICE";
         # gunicorn needs setuid
         SystemCallFilter = defaultServiceConfig.SystemCallFilter ++ [ "@setuid" ];
+        # Needs to serve web page
+        PrivateNetwork = false;
       };
       environment = env // {
         PATH = mkForce cfg.package.path;
diff --git a/nixos/modules/services/misc/plex.nix b/nixos/modules/services/misc/plex.nix
index 2ae4e80d5c3..1cd8da768f4 100644
--- a/nixos/modules/services/misc/plex.nix
+++ b/nixos/modules/services/misc/plex.nix
@@ -6,6 +6,10 @@ let
   cfg = config.services.plex;
 in
 {
+  imports = [
+    (mkRemovedOptionModule [ "services" "plex" "managePlugins" ] "Please omit or define the option: `services.plex.extraPlugins' instead.")
+  ];
+
   options = {
     services.plex = {
       enable = mkEnableOption "Plex Media Server";
@@ -42,16 +46,6 @@ in
         '';
       };
 
-      managePlugins = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          If set to true, this option will cause all of the symlinks in Plex's
-          plugin directory to be removed and symlinks for paths specified in
-          <option>extraPlugins</option> to be added.
-        '';
-      };
-
       extraPlugins = mkOption {
         type = types.listOf types.path;
         default = [];
@@ -59,9 +53,20 @@ in
           A list of paths to extra plugin bundles to install in Plex's plugin
           directory. Every time the systemd unit for Plex starts up, all of the
           symlinks in Plex's plugin directory will be cleared and this module
-          will symlink all of the paths specified here to that directory. If
-          this behavior is undesired, set <option>managePlugins</option> to
-          false.
+          will symlink all of the paths specified here to that directory.
+        '';
+        example = literalExpression ''
+          [
+            (builtins.path {
+              name = "Audnexus.bundle";
+              path = pkgs.fetchFromGitHub {
+                owner = "djdembeck";
+                repo = "Audnexus.bundle";
+                rev = "v0.2.8";
+                sha256 = "sha256-IWOSz3vYL7zhdHan468xNc6C/eQ2C2BukQlaJNLXh7E=";
+              };
+            })
+          ]
         '';
       };
 
diff --git a/nixos/modules/services/misc/rmfakecloud.nix b/nixos/modules/services/misc/rmfakecloud.nix
new file mode 100644
index 00000000000..fe522653c21
--- /dev/null
+++ b/nixos/modules/services/misc/rmfakecloud.nix
@@ -0,0 +1,147 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.rmfakecloud;
+  serviceDataDir = "/var/lib/rmfakecloud";
+
+in {
+  options = {
+    services.rmfakecloud = {
+      enable = mkEnableOption "rmfakecloud remarkable self-hosted cloud";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.rmfakecloud;
+        defaultText = literalExpression "pkgs.rmfakecloud";
+        description = ''
+          rmfakecloud package to use.
+
+          The default does not include the web user interface.
+        '';
+      };
+
+      storageUrl = mkOption {
+        type = types.str;
+        example = "https://local.appspot.com";
+        description = ''
+          URL used by the tablet to access the rmfakecloud service.
+        '';
+      };
+
+      port = mkOption {
+        type = types.port;
+        default = 3000;
+        description = ''
+          Listening port number.
+        '';
+      };
+
+      logLevel = mkOption {
+        type = types.enum [ "info" "debug" "warn" "error" ];
+        default = "info";
+        description = ''
+          Logging level.
+        '';
+      };
+
+      extraSettings = mkOption {
+        type = with types; attrsOf str;
+        default = { };
+        example = { DATADIR = "/custom/path/for/rmfakecloud/data"; };
+        description = ''
+          Extra settings in the form of a set of key-value pairs.
+          For tokens and secrets, use `environmentFile` instead.
+
+          Available settings are listed on
+          https://ddvk.github.io/rmfakecloud/install/configuration/.
+        '';
+      };
+
+      environmentFile = mkOption {
+        type = with types; nullOr path;
+        default = null;
+        example = "/etc/secrets/rmfakecloud.env";
+        description = ''
+          Path to an environment file loaded for the rmfakecloud service.
+
+          This can be used to securely store tokens and secrets outside of the
+          world-readable Nix store. Since this file is read by systemd, it may
+          have permission 0400 and be owned by root.
+        '';
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.rmfakecloud = {
+      description = "rmfakecloud remarkable self-hosted cloud";
+
+      environment = {
+        STORAGE_URL = cfg.storageUrl;
+        PORT = toString cfg.port;
+        LOGLEVEL = cfg.logLevel;
+      } // cfg.extraSettings;
+
+      preStart = ''
+        # Generate the secret key used to sign client session tokens.
+        # Replacing it invalidates the previously established sessions.
+        if [ -z "$JWT_SECRET_KEY" ] && [ ! -f jwt_secret_key ]; then
+          (umask 077; touch jwt_secret_key)
+          cat /dev/urandom | tr -cd '[:alnum:]' | head -c 48 >> jwt_secret_key
+        fi
+      '';
+
+      script = ''
+        if [ -z "$JWT_SECRET_KEY" ]; then
+          export JWT_SECRET_KEY="$(cat jwt_secret_key)"
+        fi
+
+        ${cfg.package}/bin/rmfakecloud
+      '';
+
+      wantedBy = [ "multi-user.target" ];
+      wants = [ "network-online.target" ];
+      after = [ "network-online.target" ];
+
+      serviceConfig = {
+        Type = "simple";
+        Restart = "always";
+
+        EnvironmentFile =
+          mkIf (cfg.environmentFile != null) cfg.environmentFile;
+
+        AmbientCapabilities =
+          mkIf (cfg.port < 1024) [ "CAP_NET_BIND_SERVICE" ];
+
+        DynamicUser = true;
+        PrivateDevices = true;
+        ProtectHome = true;
+        ProtectKernelTunables = true;
+        ProtectKernelModules = true;
+        ProtectControlGroups = true;
+        CapabilityBoundingSet = [ "" ];
+        DevicePolicy = "closed";
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        ProtectClock = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectProc = "invisible";
+        ProcSubset = "pid";
+        RemoveIPC = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        RestrictSUIDSGID = true;
+        SystemCallArchitectures = "native";
+        WorkingDirectory = serviceDataDir;
+        StateDirectory = baseNameOf serviceDataDir;
+        UMask = 0027;
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ pacien ];
+}
diff --git a/nixos/modules/services/misc/sourcehut/git.nix b/nixos/modules/services/misc/sourcehut/git.nix
index 5ce16df8cd8..ff110905d18 100644
--- a/nixos/modules/services/misc/sourcehut/git.nix
+++ b/nixos/modules/services/misc/sourcehut/git.nix
@@ -207,7 +207,7 @@ in
                 fastcgi_param PATH_INFO $uri;
                 fastcgi_param GIT_PROJECT_ROOT $document_root;
                 fastcgi_read_timeout 500s;
-                include ${pkgs.nginx}/conf/fastcgi_params;
+                include ${config.services.nginx.package}/conf/fastcgi_params;
                 gzip off;
             }
       '';
diff --git a/nixos/modules/services/misc/taskserver/default.nix b/nixos/modules/services/misc/taskserver/default.nix
index a894caed1a3..ff63c41e193 100644
--- a/nixos/modules/services/misc/taskserver/default.nix
+++ b/nixos/modules/services/misc/taskserver/default.nix
@@ -106,7 +106,7 @@ let
 
   certtool = "${pkgs.gnutls.bin}/bin/certtool";
 
-  nixos-taskserver = pkgs.pythonPackages.buildPythonApplication {
+  nixos-taskserver = with pkgs.python2.pkgs; buildPythonApplication {
     name = "nixos-taskserver";
 
     src = pkgs.runCommand "nixos-taskserver-src" { preferLocalBuild = true; } ''
@@ -129,7 +129,7 @@ let
       EOF
     '';
 
-    propagatedBuildInputs = [ pkgs.pythonPackages.click ];
+    propagatedBuildInputs = [ click ];
   };
 
 in {
@@ -138,12 +138,13 @@ in {
       enable = mkOption {
         type = types.bool;
         default = false;
-        description = ''
+        description = let
+          url = "https://nixos.org/manual/nixos/stable/index.html#module-services-taskserver";
+        in ''
           Whether to enable the Taskwarrior server.
 
           More instructions about NixOS in conjuction with Taskserver can be
-          found in the NixOS manual at
-          <olink targetdoc="manual" targetptr="module-taskserver"/>.
+          found <link xlink:href="${url}">in the NixOS manual</link>.
         '';
       };
 
diff --git a/nixos/modules/services/misc/taskserver/doc.xml b/nixos/modules/services/misc/taskserver/doc.xml
index 5656bb85b37..f6ead7c3785 100644
--- a/nixos/modules/services/misc/taskserver/doc.xml
+++ b/nixos/modules/services/misc/taskserver/doc.xml
@@ -1,7 +1,7 @@
 <chapter xmlns="http://docbook.org/ns/docbook"
     xmlns:xlink="http://www.w3.org/1999/xlink"
     version="5.0"
-    xml:id="module-taskserver">
+    xml:id="module-services-taskserver">
  <title>Taskserver</title>
  <para>
   Taskserver is the server component of
diff --git a/nixos/modules/services/misc/zoneminder.nix b/nixos/modules/services/misc/zoneminder.nix
index 407742f72ad..a557e742b7c 100644
--- a/nixos/modules/services/misc/zoneminder.nix
+++ b/nixos/modules/services/misc/zoneminder.nix
@@ -254,7 +254,7 @@ in {
                 location /cgi-bin {
                   gzip off;
 
-                  include ${pkgs.nginx}/conf/fastcgi_params;
+                  include ${config.services.nginx.package}/conf/fastcgi_params;
                   fastcgi_param SCRIPT_FILENAME ${pkg}/libexec/zoneminder/${zms};
                   fastcgi_param HTTP_PROXY "";
                   fastcgi_intercept_errors on;
@@ -270,7 +270,7 @@ in {
                   try_files $uri =404;
                   fastcgi_index index.php;
 
-                  include ${pkgs.nginx}/conf/fastcgi_params;
+                  include ${config.services.nginx.package}/conf/fastcgi_params;
                   fastcgi_param SCRIPT_FILENAME $request_filename;
                   fastcgi_param HTTP_PROXY "";
 
diff --git a/nixos/modules/services/network-filesystems/ceph.nix b/nixos/modules/services/network-filesystems/ceph.nix
index e313589134f..7a1444decaf 100644
--- a/nixos/modules/services/network-filesystems/ceph.nix
+++ b/nixos/modules/services/network-filesystems/ceph.nix
@@ -181,8 +181,8 @@ in
 
       rgwMimeTypesFile = mkOption {
         type = with types; nullOr path;
-        default = "${pkgs.mime-types}/etc/mime.types";
-        defaultText = literalExpression ''"''${pkgs.mime-types}/etc/mime.types"'';
+        default = "${pkgs.mailcap}/etc/mime.types";
+        defaultText = literalExpression ''"''${pkgs.mailcap}/etc/mime.types"'';
         description = ''
           Path to mime types used by radosgw.
         '';
diff --git a/nixos/modules/services/network-filesystems/ipfs.nix b/nixos/modules/services/network-filesystems/ipfs.nix
index b311b91b4a0..17da020bf3e 100644
--- a/nixos/modules/services/network-filesystems/ipfs.nix
+++ b/nixos/modules/services/network-filesystems/ipfs.nix
@@ -259,7 +259,7 @@ in
         ipfs --offline config Mounts.IPFS ${cfg.ipfsMountDir}
         ipfs --offline config Mounts.IPNS ${cfg.ipnsMountDir}
       '' + optionalString cfg.autoMigrate ''
-        ${pkgs.ipfs-migrator}/bin/fs-repo-migrations -y
+        ${pkgs.ipfs-migrator}/bin/fs-repo-migrations -to '${cfg.package.repoVersion}' -y
       '' + ''
         ipfs --offline config show \
           | ${pkgs.jq}/bin/jq '. * $extraConfig' --argjson extraConfig ${
diff --git a/nixos/modules/services/network-filesystems/moosefs.nix b/nixos/modules/services/network-filesystems/moosefs.nix
new file mode 100644
index 00000000000..88b2ada37e7
--- /dev/null
+++ b/nixos/modules/services/network-filesystems/moosefs.nix
@@ -0,0 +1,249 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.moosefs;
+
+  mfsUser = if cfg.runAsUser then "moosefs" else "root";
+
+  settingsFormat = let
+    listSep = " ";
+    allowedTypes = with types; [ bool int float str ];
+    valueToString = val:
+        if isList val then concatStringsSep listSep (map (x: valueToString x) val)
+        else if isBool val then (if val then "1" else "0")
+        else toString val;
+
+    in {
+      type = with types; let
+        valueType = oneOf ([
+          (listOf valueType)
+        ] ++ allowedTypes) // {
+          description = "Flat key-value file";
+        };
+      in attrsOf valueType;
+
+      generate = name: value:
+        pkgs.writeText name ( lib.concatStringsSep "\n" (
+          lib.mapAttrsToList (key: val: "${key} = ${valueToString val}") value ));
+    };
+
+
+  initTool = pkgs.writeShellScriptBin "mfsmaster-init" ''
+    if [ ! -e ${cfg.master.settings.DATA_PATH}/metadata.mfs ]; then
+      cp ${pkgs.moosefs}/var/mfs/metadata.mfs.empty ${cfg.master.settings.DATA_PATH}
+      chmod +w ${cfg.master.settings.DATA_PATH}/metadata.mfs.empty
+      ${pkgs.moosefs}/bin/mfsmaster -a -c ${masterCfg} start
+      ${pkgs.moosefs}/bin/mfsmaster -c ${masterCfg} stop
+      rm ${cfg.master.settings.DATA_PATH}/metadata.mfs.empty
+    fi
+  '';
+
+  # master config file
+  masterCfg = settingsFormat.generate
+    "mfsmaster.cfg" cfg.master.settings;
+
+  # metalogger config file
+  metaloggerCfg = settingsFormat.generate
+    "mfsmetalogger.cfg" cfg.metalogger.settings;
+
+  # chunkserver config file
+  chunkserverCfg = settingsFormat.generate
+    "mfschunkserver.cfg" cfg.chunkserver.settings;
+
+  # generic template for all deamons
+  systemdService = name: extraConfig: configFile: {
+    wantedBy = [ "multi-user.target" ];
+    wants = [ "network-online.target" ];
+    after = [ "network.target" "network-online.target" ];
+
+    serviceConfig = {
+      Type = "forking";
+      ExecStart  = "${pkgs.moosefs}/bin/mfs${name} -c ${configFile} start";
+      ExecStop   = "${pkgs.moosefs}/bin/mfs${name} -c ${configFile} stop";
+      ExecReload = "${pkgs.moosefs}/bin/mfs${name} -c ${configFile} reload";
+      PIDFile = "${cfg."${name}".settings.DATA_PATH}/.mfs${name}.lock";
+    } // extraConfig;
+  };
+
+in {
+  ###### interface
+
+  options = {
+    services.moosefs = {
+      masterHost = mkOption {
+        type = types.str;
+        default = null;
+        description = "IP or DNS name of master host.";
+      };
+
+      runAsUser = mkOption {
+        type = types.bool;
+        default = true;
+        example = true;
+        description = "Run daemons as user moosefs instead of root.";
+      };
+
+      client.enable = mkEnableOption "Moosefs client.";
+
+      master = {
+        enable = mkOption {
+          type = types.bool;
+          description = ''
+            Enable Moosefs master daemon.
+
+            You need to run <literal>mfsmaster-init</literal> on a freshly installed master server to
+            initialize the <literal>DATA_PATH</literal> direcory.
+          '';
+          default = false;
+        };
+
+        exports = mkOption {
+          type = with types; listOf str;
+          default = null;
+          description = "Paths to export (see mfsexports.cfg).";
+          example = [
+            "* / rw,alldirs,admin,maproot=0:0"
+            "* . rw"
+          ];
+        };
+
+        openFirewall = mkOption {
+          type = types.bool;
+          description = "Whether to automatically open the necessary ports in the firewall.";
+          default = false;
+        };
+
+        settings = mkOption {
+          type = types.submodule {
+            freeformType = settingsFormat.type;
+
+            options.DATA_PATH = mkOption {
+              type = types.str;
+              default = "/var/lib/mfs";
+              description = "Data storage directory.";
+            };
+          };
+
+          description = "Contents of config file (mfsmaster.cfg).";
+        };
+      };
+
+      metalogger = {
+        enable = mkEnableOption "Moosefs metalogger daemon.";
+
+        settings = mkOption {
+          type = types.submodule {
+            freeformType = settingsFormat.type;
+
+            options.DATA_PATH = mkOption {
+              type = types.str;
+              default = "/var/lib/mfs";
+              description = "Data storage directory";
+            };
+          };
+
+          description = "Contents of metalogger config file (mfsmetalogger.cfg).";
+        };
+      };
+
+      chunkserver = {
+        enable = mkEnableOption "Moosefs chunkserver daemon.";
+
+        openFirewall = mkOption {
+          type = types.bool;
+          description = "Whether to automatically open the necessary ports in the firewall.";
+          default = false;
+        };
+
+        hdds = mkOption {
+          type = with types; listOf str;
+          default =  null;
+          description = "Mount points to be used by chunkserver for storage (see mfshdd.cfg).";
+          example = [ "/mnt/hdd1" ];
+        };
+
+        settings = mkOption {
+          type = types.submodule {
+            freeformType = settingsFormat.type;
+
+            options.DATA_PATH = mkOption {
+              type = types.str;
+              default = "/var/lib/mfs";
+              description = "Directory for lock file.";
+            };
+          };
+
+          description = "Contents of chunkserver config file (mfschunkserver.cfg).";
+        };
+      };
+    };
+  };
+
+  ###### implementation
+
+  config =  mkIf ( cfg.client.enable || cfg.master.enable || cfg.metalogger.enable || cfg.chunkserver.enable ) {
+
+    warnings = [ ( mkIf (!cfg.runAsUser) "Running moosefs services as root is not recommended.") ];
+
+    # Service settings
+    services.moosefs = {
+      master.settings = mkIf cfg.master.enable {
+        WORKING_USER = mfsUser;
+        EXPORTS_FILENAME = toString ( pkgs.writeText "mfsexports.cfg"
+          (concatStringsSep "\n" cfg.master.exports));
+      };
+
+      metalogger.settings = mkIf cfg.metalogger.enable {
+        WORKING_USER = mfsUser;
+        MASTER_HOST = cfg.masterHost;
+      };
+
+      chunkserver.settings = mkIf cfg.chunkserver.enable {
+        WORKING_USER = mfsUser;
+        MASTER_HOST = cfg.masterHost;
+        HDD_CONF_FILENAME = toString ( pkgs.writeText "mfshdd.cfg"
+          (concatStringsSep "\n" cfg.chunkserver.hdds));
+      };
+    };
+
+    # Create system user account for daemons
+    users = mkIf ( cfg.runAsUser && ( cfg.master.enable || cfg.metalogger.enable || cfg.chunkserver.enable ) ) {
+      users.moosefs = {
+        isSystemUser = true;
+        description = "moosefs daemon user";
+        group = "moosefs";
+      };
+      groups.moosefs = {};
+    };
+
+    environment.systemPackages =
+      (lib.optional cfg.client.enable pkgs.moosefs) ++
+      (lib.optional cfg.master.enable initTool);
+
+    networking.firewall.allowedTCPPorts =
+      (lib.optionals cfg.master.openFirewall [ 9419 9420 9421 ]) ++
+      (lib.optional cfg.chunkserver.openFirewall 9422);
+
+    # Ensure storage directories exist
+    systemd.tmpfiles.rules =
+         optional cfg.master.enable "d ${cfg.master.settings.DATA_PATH} 0700 ${mfsUser} ${mfsUser}"
+      ++ optional cfg.metalogger.enable "d ${cfg.metalogger.settings.DATA_PATH} 0700 ${mfsUser} ${mfsUser}"
+      ++ optional cfg.chunkserver.enable "d ${cfg.chunkserver.settings.DATA_PATH} 0700 ${mfsUser} ${mfsUser}";
+
+    # Service definitions
+    systemd.services.mfs-master = mkIf cfg.master.enable
+    ( systemdService "master" {
+      TimeoutStartSec = 1800;
+      TimeoutStopSec = 1800;
+      Restart = "no";
+    } masterCfg );
+
+    systemd.services.mfs-metalogger = mkIf cfg.metalogger.enable
+      ( systemdService "metalogger" { Restart = "on-abnormal"; } metaloggerCfg );
+
+    systemd.services.mfs-chunkserver = mkIf cfg.chunkserver.enable
+      ( systemdService "chunkserver" { Restart = "on-abnormal"; } chunkserverCfg );
+    };
+}
diff --git a/nixos/modules/services/network-filesystems/rsyncd.nix b/nixos/modules/services/network-filesystems/rsyncd.nix
index edac86eb0e3..e72f9b54cd6 100644
--- a/nixos/modules/services/network-filesystems/rsyncd.nix
+++ b/nixos/modules/services/network-filesystems/rsyncd.nix
@@ -79,7 +79,7 @@ in {
     in {
       services.rsync = {
         enable = !cfg.socketActivated;
-        aliases = [ "rsyncd" ];
+        aliases = [ "rsyncd.service" ];
 
         description = "fast remote file copy program daemon";
         after = [ "network.target" ];
diff --git a/nixos/modules/services/networking/bird.nix b/nixos/modules/services/networking/bird.nix
index fc06cdaa6e5..4a519242481 100644
--- a/nixos/modules/services/networking/bird.nix
+++ b/nixos/modules/services/networking/bird.nix
@@ -3,103 +3,107 @@
 let
   inherit (lib) mkEnableOption mkIf mkOption optionalString types;
 
-  generic = variant:
-    let
-      cfg = config.services.${variant};
-      pkg = pkgs.${variant};
-      birdBin = if variant == "bird6" then "bird6" else "bird";
-      birdc = if variant == "bird6" then "birdc6" else "birdc";
-      descr =
-        { bird = "1.6.x with IPv4 support";
-          bird6 = "1.6.x with IPv6 support";
-          bird2 = "2.x";
-        }.${variant};
-    in {
-      ###### interface
-      options = {
-        services.${variant} = {
-          enable = mkEnableOption "BIRD Internet Routing Daemon (${descr})";
-          config = mkOption {
-            type = types.lines;
-            description = ''
-              BIRD Internet Routing Daemon configuration file.
-              <link xlink:href='http://bird.network.cz/'/>
-            '';
-          };
-          checkConfig = mkOption {
-            type = types.bool;
-            default = true;
-            description = ''
-              Whether the config should be checked at build time.
-              When the config can't be checked during build time, for example when it includes
-              other files, either disable this option or use <code>preCheckConfig</code> to create
-              the included files before checking.
-            '';
-          };
-          preCheckConfig = mkOption {
-            type = types.lines;
-            default = "";
-            example = ''
-              echo "cost 100;" > include.conf
-            '';
-            description = ''
-              Commands to execute before the config file check. The file to be checked will be
-              available as <code>${variant}.conf</code> in the current directory.
+  cfg = config.services.bird2;
+in
+{
+  ###### interface
+  options = {
+    services.bird2 = {
+      enable = mkEnableOption "BIRD Internet Routing Daemon";
+      config = mkOption {
+        type = types.lines;
+        description = ''
+          BIRD Internet Routing Daemon configuration file.
+          <link xlink:href='http://bird.network.cz/'/>
+        '';
+      };
+      checkConfig = mkOption {
+        type = types.bool;
+        default = true;
+        description = ''
+          Whether the config should be checked at build time.
+          When the config can't be checked during build time, for example when it includes
+          other files, either disable this option or use <code>preCheckConfig</code> to create
+          the included files before checking.
+        '';
+      };
+      preCheckConfig = mkOption {
+        type = types.lines;
+        default = "";
+        example = ''
+          echo "cost 100;" > include.conf
+        '';
+        description = ''
+          Commands to execute before the config file check. The file to be checked will be
+          available as <code>bird2.conf</code> in the current directory.
 
-              Files created with this option will not be available at service runtime, only during
-              build time checking.
-            '';
-          };
-        };
+          Files created with this option will not be available at service runtime, only during
+          build time checking.
+        '';
       };
+    };
+  };
 
-      ###### implementation
-      config = mkIf cfg.enable {
-        environment.systemPackages = [ pkg ];
 
-        environment.etc."bird/${variant}.conf".source = pkgs.writeTextFile {
-          name = "${variant}.conf";
-          text = cfg.config;
-          checkPhase = optionalString cfg.checkConfig ''
-            ln -s $out ${variant}.conf
-            ${cfg.preCheckConfig}
-            ${pkg}/bin/${birdBin} -d -p -c ${variant}.conf
-          '';
-        };
+  imports = [
+    (lib.mkRemovedOptionModule [ "services" "bird" ] "Use services.bird2 instead")
+    (lib.mkRemovedOptionModule [ "services" "bird6" ] "Use services.bird2 instead")
+  ];
 
-        systemd.services.${variant} = {
-          description = "BIRD Internet Routing Daemon (${descr})";
-          wantedBy = [ "multi-user.target" ];
-          reloadIfChanged = true;
-          restartTriggers = [ config.environment.etc."bird/${variant}.conf".source ];
-          serviceConfig = {
-            Type = "forking";
-            Restart = "on-failure";
-            ExecStart = "${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -u ${variant} -g ${variant}";
-            ExecReload = "/bin/sh -c '${pkg}/bin/${birdBin} -c /etc/bird/${variant}.conf -p && ${pkg}/bin/${birdc} configure'";
-            ExecStop = "${pkg}/bin/${birdc} down";
-            CapabilityBoundingSet = [ "CAP_CHOWN" "CAP_FOWNER" "CAP_DAC_OVERRIDE" "CAP_SETUID" "CAP_SETGID"
-                                      # see bird/sysdep/linux/syspriv.h
-                                      "CAP_NET_BIND_SERVICE" "CAP_NET_BROADCAST" "CAP_NET_ADMIN" "CAP_NET_RAW" ];
-            ProtectSystem = "full";
-            ProtectHome = "yes";
-            SystemCallFilter="~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io";
-            MemoryDenyWriteExecute = "yes";
-          };
-        };
-        users = {
-          users.${variant} = {
-            description = "BIRD Internet Routing Daemon user";
-            group = variant;
-            isSystemUser = true;
-          };
-          groups.${variant} = {};
-        };
-      };
-    };
+  ###### implementation
+  config = mkIf cfg.enable {
+    environment.systemPackages = [ pkgs.bird ];
 
-in
+    environment.etc."bird/bird2.conf".source = pkgs.writeTextFile {
+      name = "bird2";
+      text = cfg.config;
+      checkPhase = optionalString cfg.checkConfig ''
+        ln -s $out bird2.conf
+        ${cfg.preCheckConfig}
+        ${pkgs.bird}/bin/bird -d -p -c bird2.conf
+      '';
+    };
 
-{
-  imports = map generic [ "bird" "bird6" "bird2" ];
+    systemd.services.bird2 = {
+      description = "BIRD Internet Routing Daemon";
+      wantedBy = [ "multi-user.target" ];
+      reloadIfChanged = true;
+      restartTriggers = [ config.environment.etc."bird/bird2.conf".source ];
+      serviceConfig = {
+        Type = "forking";
+        Restart = "on-failure";
+        # We need to start as root so bird can open netlink sockets i.e. for ospf
+        ExecStart = "${pkgs.bird}/bin/bird -c /etc/bird/bird2.conf -u bird2 -g bird2";
+        ExecReload = "/bin/sh -c '${pkgs.bird}/bin/bird -c /etc/bird/bird2.conf -p && ${pkgs.bird}/bin/birdc configure'";
+        ExecStop = "${pkgs.bird}/bin/birdc down";
+        RuntimeDirectory = "bird";
+        CapabilityBoundingSet = [
+          "CAP_CHOWN"
+          "CAP_FOWNER"
+          "CAP_SETUID"
+          "CAP_SETGID"
+          "CAP_NET_ADMIN"
+          "CAP_NET_BROADCAST"
+          "CAP_NET_BIND_SERVICE"
+          "CAP_NET_RAW"
+        ];
+        ProtectSystem = "full";
+        ProtectHome = "yes";
+        ProtectKernelTunables = true;
+        ProtectControlGroups = true;
+        PrivateTmp = true;
+        PrivateDevices = true;
+        SystemCallFilter = "~@cpu-emulation @debug @keyring @module @mount @obsolete @raw-io";
+        MemoryDenyWriteExecute = "yes";
+      };
+    };
+    users = {
+      users.bird2 = {
+        description = "BIRD Internet Routing Daemon user";
+        group = "bird2";
+        isSystemUser = true;
+      };
+      groups.bird2 = { };
+    };
+  };
 }
diff --git a/nixos/modules/services/networking/blocky.nix b/nixos/modules/services/networking/blocky.nix
new file mode 100644
index 00000000000..7488e05fc03
--- /dev/null
+++ b/nixos/modules/services/networking/blocky.nix
@@ -0,0 +1,40 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.blocky;
+
+  format = pkgs.formats.yaml { };
+  configFile = format.generate "config.yaml" cfg.settings;
+in
+{
+  options.services.blocky = {
+    enable = mkEnableOption "Fast and lightweight DNS proxy as ad-blocker for local network with many features";
+
+    settings = mkOption {
+      type = format.type;
+      default = { };
+      description = ''
+        Blocky configuration. Refer to
+        <link xlink:href="https://0xerr0r.github.io/blocky/configuration/"/>
+        for details on supported values.
+      '';
+    };
+  };
+
+  config = mkIf cfg.enable {
+    systemd.services.blocky = {
+      description = "A DNS proxy and ad-blocker for the local network";
+      wantedBy = [ "multi-user.target" ];
+
+      serviceConfig = {
+        DynamicUser = true;
+        ExecStart = "${pkgs.blocky}/bin/blocky --config ${configFile}";
+
+        AmbientCapabilities = [ "CAP_NET_BIND_SERVICE" ];
+        CapabilityBoundingSet = [ "CAP_NET_BIND_SERVICE" ];
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/networking/eternal-terminal.nix b/nixos/modules/services/networking/eternal-terminal.nix
index 88b4cd90540..0dcf3d28f4e 100644
--- a/nixos/modules/services/networking/eternal-terminal.nix
+++ b/nixos/modules/services/networking/eternal-terminal.nix
@@ -90,6 +90,6 @@ in
   };
 
   meta = {
-    maintainers = with lib.maintainers; [ pingiun ];
+    maintainers = with lib.maintainers; [ ];
   };
 }
diff --git a/nixos/modules/services/networking/firewall.nix b/nixos/modules/services/networking/firewall.nix
index ff023a888f2..c213a5516a4 100644
--- a/nixos/modules/services/networking/firewall.nix
+++ b/nixos/modules/services/networking/firewall.nix
@@ -179,10 +179,6 @@ let
       ) cfg.allowedUDPPortRanges
     ) allInterfaces)}
 
-    # Accept IPv4 multicast.  Not a big security risk since
-    # probably nobody is listening anyway.
-    #iptables -A nixos-fw -d 224.0.0.0/4 -j nixos-fw-accept
-
     # Optionally respond to ICMPv4 pings.
     ${optionalString cfg.allowPing ''
       iptables -w -A nixos-fw -p icmp --icmp-type echo-request ${optionalString (cfg.pingLimit != null)
@@ -326,7 +322,7 @@ in
         type = types.package;
         default = pkgs.iptables;
         defaultText = literalExpression "pkgs.iptables";
-        example = literalExpression "pkgs.iptables-nftables-compat";
+        example = literalExpression "pkgs.iptables-legacy";
         description =
           ''
             The iptables package to use for running the firewall service."
@@ -437,8 +433,6 @@ in
             drop the packet if the source address is not reachable via any
             interface) or false.  Defaults to the value of
             kernelHasRPFilter.
-
-            (needs kernel 3.3+)
           '';
       };
 
diff --git a/nixos/modules/services/networking/gogoclient.nix b/nixos/modules/services/networking/gogoclient.nix
deleted file mode 100644
index 1205321818b..00000000000
--- a/nixos/modules/services/networking/gogoclient.nix
+++ /dev/null
@@ -1,87 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let cfg = config.services.gogoclient;
-in
-
-{
-
-  ###### interface
-
-  options = {
-    services.gogoclient = {
-      enable = mkOption {
-        default = false;
-        type =  types.bool;
-        description = ''
-          Enable the gogoCLIENT IPv6 tunnel.
-        '';
-      };
-      autorun = mkOption {
-        type = types.bool;
-        default = true;
-        description = ''
-          Whether to automatically start the tunnel.
-        '';
-      };
-
-      username = mkOption {
-        default = "";
-        type = types.str;
-        description = ''
-          Your Gateway6 login name, if any.
-        '';
-      };
-
-      password = mkOption {
-        default = "";
-        type = types.str;
-        description = ''
-          Path to a file (as a string), containing your gogoNET password, if any.
-        '';
-      };
-
-      server = mkOption {
-        type = types.str;
-        default = "anonymous.freenet6.net";
-        example = "broker.freenet6.net";
-        description = "The Gateway6 server to be used.";
-      };
-    };
-  };
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-    boot.kernelModules = [ "tun" ];
-
-    networking.enableIPv6 = true;
-
-    systemd.services.gogoclient = {
-      description = "ipv6 tunnel";
-
-      after = [ "network.target" ];
-      requires = [ "network.target" ];
-
-      unitConfig.RequiresMountsFor = "/var/lib/gogoc";
-
-      script = let authMethod = if cfg.password == "" then "anonymous" else "any"; in ''
-        mkdir -p -m 700 /var/lib/gogoc
-        cat ${pkgs.gogoclient}/share/${pkgs.gogoclient.name}/gogoc.conf.sample | \
-          ${pkgs.gnused}/bin/sed \
-            -e "s|^userid=|&${cfg.username}|" \
-            -e "s|^passwd=|&${optionalString (cfg.password != "") "$(cat ${cfg.password})"}|" \
-            -e "s|^server=.*|server=${cfg.server}|" \
-            -e "s|^auth_method=.*|auth_method=${authMethod}|" \
-            -e "s|^#log_file=|log_file=1|" > /var/lib/gogoc/gogoc.conf
-        cd /var/lib/gogoc
-        exec ${pkgs.gogoclient}/bin/gogoc -y -f /var/lib/gogoc/gogoc.conf
-      '';
-    } // optionalAttrs cfg.autorun {
-      wantedBy = [ "multi-user.target" ];
-    };
-
-  };
-
-}
diff --git a/nixos/modules/services/networking/hylafax/options.nix b/nixos/modules/services/networking/hylafax/options.nix
index 8e59c68054d..8f621b61002 100644
--- a/nixos/modules/services/networking/hylafax/options.nix
+++ b/nixos/modules/services/networking/hylafax/options.nix
@@ -3,7 +3,7 @@
 let
 
   inherit (lib.options) literalExpression mkEnableOption mkOption;
-  inherit (lib.types) bool enum ints lines attrsOf nullOr path str submodule;
+  inherit (lib.types) bool enum ints lines attrsOf nonEmptyStr nullOr path str submodule;
   inherit (lib.modules) mkDefault mkIf mkMerge;
 
   commonDescr = ''
@@ -17,8 +17,6 @@ let
     configuration to yield an operational system.
   '';
 
-  str1 = lib.types.addCheck str (s: s!="");  # non-empty string
-
   configAttrType =
     # Options in HylaFAX configuration files can be
     # booleans, strings, integers, or list thereof
@@ -37,7 +35,7 @@ let
   modemConfigOptions = { name, config, ... }: {
     options = {
       name = mkOption {
-        type = str1;
+        type = nonEmptyStr;
         example = "ttyS1";
         description = ''
           Name of modem device,
@@ -45,7 +43,7 @@ let
         '';
       };
       type = mkOption {
-        type = str1;
+        type = nonEmptyStr;
         example = "cirrus";
         description = ''
           Name of modem configuration file,
@@ -135,14 +133,14 @@ in
     };
 
     countryCode = mkOption {
-      type = nullOr str1;
+      type = nullOr nonEmptyStr;
       default = null;
       example = "49";
       description = "Country code for server and all modems.";
     };
 
     areaCode = mkOption {
-      type = nullOr str1;
+      type = nullOr nonEmptyStr;
       default = null;
       example = "30";
       description = "Area code for server and all modems.";
@@ -279,7 +277,7 @@ in
       each time the spooling area is initialized.
     '';
     faxcron.enable.frequency = mkOption {
-      type = nullOr str1;
+      type = nullOr nonEmptyStr;
       default = null;
       example = "daily";
       description = ''
@@ -319,7 +317,7 @@ in
       each time the spooling area is initialized.
     '';
     faxqclean.enable.frequency = mkOption {
-      type = nullOr str1;
+      type = nullOr nonEmptyStr;
       default = null;
       example = "daily";
       description = ''
diff --git a/nixos/modules/services/networking/multipath.nix b/nixos/modules/services/networking/multipath.nix
index 1cc2ad1fc84..1a44184ff6d 100644
--- a/nixos/modules/services/networking/multipath.nix
+++ b/nixos/modules/services/networking/multipath.nix
@@ -242,21 +242,6 @@ in {
             '';
           };
 
-          retain_attached_hw_handler = mkOption {
-            type = nullOr (enum [ "yes" "no" ]);
-            default = null; # real default: "yes"
-            description = ''
-              (Obsolete for kernels >= 4.3) If set to "yes" and the SCSI layer has
-              already attached a hardware_handler to the device, multipath will not
-              force the device to use the hardware_handler specified by mutipath.conf.
-              If the SCSI layer has not attached a hardware handler, multipath will
-              continue to use its configured hardware handler.
-
-              Important Note: Linux kernel 4.3 or newer always behaves as if
-              "retain_attached_hw_handler yes" was set.
-            '';
-          };
-
           detect_prio = mkOption {
             type = nullOr (enum [ "yes" "no" ]);
             default = null; # real default: "yes"
diff --git a/nixos/modules/services/networking/networkmanager.nix b/nixos/modules/services/networking/networkmanager.nix
index 73e63e2ee99..a9801036b00 100644
--- a/nixos/modules/services/networking/networkmanager.nix
+++ b/nixos/modules/services/networking/networkmanager.nix
@@ -384,6 +384,17 @@ in {
           so you don't need to to that yourself.
         '';
       };
+
+      enableFccUnlock = mkOption {
+        type = types.bool;
+        default = false;
+        description = ''
+          Enable FCC unlock procedures. Since release 1.18.4, the ModemManager daemon no longer
+          automatically performs the FCC unlock procedure by default. See
+          <link xlink:href="https://modemmanager.org/docs/modemmanager/fcc-unlock/">the docs</link>
+          for more details.
+        '';
+      };
     };
   };
 
@@ -438,7 +449,13 @@ in {
 
       "NetworkManager/VPN/nm-sstp-service.name".source =
         "${networkmanager-sstp}/lib/NetworkManager/VPN/nm-sstp-service.name";
+
       }
+      // optionalAttrs cfg.enableFccUnlock
+         {
+           "ModemManager/fcc-unlock.d".source =
+             "${pkgs.modemmanager}/share/ModemManager/fcc-unlock.available.d/*";
+         }
       // optionalAttrs (cfg.appendNameservers != [] || cfg.insertNameservers != [])
          {
            "NetworkManager/dispatcher.d/02overridedns".source = overrideNameserversScript;
diff --git a/nixos/modules/services/networking/ntopng.nix b/nixos/modules/services/networking/ntopng.nix
index 77a004e8ab3..022fc923eda 100644
--- a/nixos/modules/services/networking/ntopng.nix
+++ b/nixos/modules/services/networking/ntopng.nix
@@ -6,7 +6,13 @@ let
 
   cfg = config.services.ntopng;
   opt = options.services.ntopng;
-  redisCfg = config.services.redis;
+
+  createRedis = cfg.redis.createInstance != null;
+  redisService =
+    if cfg.redis.createInstance == "" then
+      "redis.service"
+    else
+      "redis-${cfg.redis.createInstance}.service";
 
   configFile = if cfg.configText != "" then
     pkgs.writeText "ntopng.conf" ''
@@ -15,8 +21,10 @@ let
     else
     pkgs.writeText "ntopng.conf" ''
       ${concatStringsSep " " (map (e: "--interface=" + e) cfg.interfaces)}
-      --http-port=${toString cfg.http-port}
-      --redis=localhost:${toString redisCfg.port}
+      --http-port=${toString cfg.httpPort}
+      --redis=${cfg.redis.address}
+      --data-dir=/var/lib/ntopng
+      --user=ntopng
       ${cfg.extraConfig}
     '';
 
@@ -24,6 +32,10 @@ in
 
 {
 
+  imports = [
+    (mkRenamedOptionModule [ "services" "ntopng" "http-port" ] [ "services" "ntopng" "httpPort" ])
+  ];
+
   options = {
 
     services.ntopng = {
@@ -56,7 +68,7 @@ in
         '';
       };
 
-      http-port = mkOption {
+      httpPort = mkOption {
         default = 3000;
         type = types.int;
         description = ''
@@ -64,6 +76,24 @@ in
         '';
       };
 
+      redis.address = mkOption {
+        type = types.str;
+        example = literalExpression "config.services.redis.ntopng.unixSocket";
+        description = ''
+          Redis address - may be a Unix socket or a network host and port.
+        '';
+      };
+
+      redis.createInstance = mkOption {
+        type = types.nullOr types.str;
+        default = if versionAtLeast config.system.stateVersion "22.05" then "ntopng" else "";
+        description = ''
+          Local Redis instance name. Set to <literal>null</literal> to disable
+          local Redis instance. Defaults to <literal>""</literal> for
+          <literal>system.stateVersion</literal> older than 22.05.
+        '';
+      };
+
       configText = mkOption {
         default = "";
         example = ''
@@ -95,23 +125,36 @@ in
   config = mkIf cfg.enable {
 
     # ntopng uses redis for data storage
-    services.redis.enable = true;
+    services.ntopng.redis.address =
+      mkIf createRedis config.services.redis.servers.${cfg.redis.createInstance}.unixSocket;
+
+    services.redis.servers = mkIf createRedis {
+      ${cfg.redis.createInstance} = {
+        enable = true;
+        user = mkIf (cfg.redis.createInstance == "ntopng") "ntopng";
+      };
+    };
 
     # nice to have manual page and ntopng command in PATH
     environment.systemPackages = [ pkgs.ntopng ];
 
+    systemd.tmpfiles.rules = [ "d /var/lib/ntopng 0700 ntopng ntopng -" ];
+
     systemd.services.ntopng = {
       description = "Ntopng Network Monitor";
-      requires = [ "redis.service" ];
-      after = [ "network.target" "redis.service" ];
+      requires = optional createRedis redisService;
+      after = [ "network.target" ] ++ optional createRedis redisService;
       wantedBy = [ "multi-user.target" ];
-      preStart = "mkdir -p /var/lib/ntopng/";
       serviceConfig.ExecStart = "${pkgs.ntopng}/bin/ntopng ${configFile}";
       unitConfig.Documentation = "man:ntopng(8)";
     };
 
-    # ntopng drops priveleges to user "nobody" and that user is already defined
-    # in users-groups.nix.
+    users.extraUsers.ntopng = {
+      group = "ntopng";
+      isSystemUser = true;
+    };
+
+    users.extraGroups.ntopng = { };
   };
 
 }
diff --git a/nixos/modules/services/networking/squid.nix b/nixos/modules/services/networking/squid.nix
index 9d063b92aa1..4f3881af8bb 100644
--- a/nixos/modules/services/networking/squid.nix
+++ b/nixos/modules/services/networking/squid.nix
@@ -81,7 +81,9 @@ let
     http_access deny all
 
     # Squid normally listens to port 3128
-    http_port ${toString cfg.proxyPort}
+    http_port ${
+      optionalString (cfg.proxyAddress != null) "${cfg.proxyAddress}:"
+    }${toString cfg.proxyPort}
 
     # Leave coredumps in the first cache dir
     coredump_dir /var/cache/squid
@@ -109,6 +111,12 @@ in
         description = "Whether to run squid web proxy.";
       };
 
+      proxyAddress = mkOption {
+        type = types.nullOr types.str;
+        default = null;
+        description = "IP address on which squid will listen.";
+      };
+
       proxyPort = mkOption {
         type = types.int;
         default = 3128;
diff --git a/nixos/modules/services/networking/tetrd.nix b/nixos/modules/services/networking/tetrd.nix
index ead73c49776..0801ce12924 100644
--- a/nixos/modules/services/networking/tetrd.nix
+++ b/nixos/modules/services/networking/tetrd.nix
@@ -1,7 +1,7 @@
 { config, lib, pkgs, ... }:
 
 {
-  options.services.tetrd.enable = lib.mkEnableOption pkgs.tetrd.meta.description;
+  options.services.tetrd.enable = lib.mkEnableOption "tetrd";
 
   config = lib.mkIf config.services.tetrd.enable {
     environment = {
diff --git a/nixos/modules/services/networking/wg-netmanager.nix b/nixos/modules/services/networking/wg-netmanager.nix
new file mode 100644
index 00000000000..493ff7ceba9
--- /dev/null
+++ b/nixos/modules/services/networking/wg-netmanager.nix
@@ -0,0 +1,42 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.wg-netmanager;
+in
+{
+
+  options = {
+    services.wg-netmanager = {
+      enable = mkEnableOption "Wireguard network manager";
+    };
+  };
+
+  ###### implementation
+  config = mkIf cfg.enable {
+    # NOTE: wg-netmanager runs as root
+    systemd.services.wg-netmanager = {
+      description = "Wireguard network manager";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" ];
+      path = with pkgs; [ wireguard-tools iproute2 wireguard-go ];
+      serviceConfig = {
+        Type = "simple";
+        Restart = "on-failure";
+        ExecStart = "${pkgs.wg-netmanager}/bin/wg_netmanager";
+        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+        ExecStop = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
+
+        ReadWritePaths = [
+          "/tmp"  # wg-netmanager creates files in /tmp before deleting them after use
+        ];
+      };
+      unitConfig =  {
+        ConditionPathExists = ["/etc/wg_netmanager/network.yaml" "/etc/wg_netmanager/peer.yaml"];
+      };
+    };
+  };
+
+  meta.maintainers = with maintainers; [ gin66 ];
+}
diff --git a/nixos/modules/services/security/cfssl.nix b/nixos/modules/services/security/cfssl.nix
index e5bed0a9987..6df2343b84d 100644
--- a/nixos/modules/services/security/cfssl.nix
+++ b/nixos/modules/services/security/cfssl.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, ... }:
+{ config, options, lib, pkgs, ... }:
 
 with lib;
 
@@ -11,7 +11,16 @@ in {
     dataDir = mkOption {
       default = "/var/lib/cfssl";
       type = types.path;
-      description = "Cfssl work directory.";
+      description = ''
+        The work directory for CFSSL.
+
+        <note><para>
+          If left as the default value this directory will automatically be
+          created before the CFSSL server starts, otherwise you are
+          responsible for ensuring the directory exists with appropriate
+          ownership and permissions.
+        </para></note>
+      '';
     };
 
     address = mkOption {
@@ -22,7 +31,7 @@ in {
 
     port = mkOption {
       default = 8888;
-      type = types.ints.u16;
+      type = types.port;
       description = "Port to bind.";
     };
 
@@ -147,13 +156,12 @@ in {
   };
 
   config = mkIf cfg.enable {
-    users.extraGroups.cfssl = {
+    users.groups.cfssl = {
       gid = config.ids.gids.cfssl;
     };
 
-    users.extraUsers.cfssl = {
+    users.users.cfssl = {
       description = "cfssl user";
-      createHome = true;
       home = cfg.dataDir;
       group = "cfssl";
       uid = config.ids.uids.cfssl;
@@ -164,41 +172,46 @@ in {
       wantedBy = [ "multi-user.target" ];
       after = [ "network.target" ];
 
-      serviceConfig = {
-        WorkingDirectory = cfg.dataDir;
-        StateDirectory = cfg.dataDir;
-        StateDirectoryMode = 700;
-        Restart = "always";
-        User = "cfssl";
-
-        ExecStart = with cfg; let
-          opt = n: v: optionalString (v != null) ''-${n}="${v}"'';
-        in
-          lib.concatStringsSep " \\\n" [
-            "${pkgs.cfssl}/bin/cfssl serve"
-            (opt "address" address)
-            (opt "port" (toString port))
-            (opt "ca" ca)
-            (opt "ca-key" caKey)
-            (opt "ca-bundle" caBundle)
-            (opt "int-bundle" intBundle)
-            (opt "int-dir" intDir)
-            (opt "metadata" metadata)
-            (opt "remote" remote)
-            (opt "config" configFile)
-            (opt "responder" responder)
-            (opt "responder-key" responderKey)
-            (opt "tls-key" tlsKey)
-            (opt "tls-cert" tlsCert)
-            (opt "mutual-tls-ca" mutualTlsCa)
-            (opt "mutual-tls-cn" mutualTlsCn)
-            (opt "mutual-tls-client-key" mutualTlsClientKey)
-            (opt "mutual-tls-client-cert" mutualTlsClientCert)
-            (opt "tls-remote-ca" tlsRemoteCa)
-            (opt "db-config" dbConfig)
-            (opt "loglevel" (toString logLevel))
-          ];
-      };
+      serviceConfig = lib.mkMerge [
+        {
+          WorkingDirectory = cfg.dataDir;
+          Restart = "always";
+          User = "cfssl";
+          Group = "cfssl";
+
+          ExecStart = with cfg; let
+            opt = n: v: optionalString (v != null) ''-${n}="${v}"'';
+          in
+            lib.concatStringsSep " \\\n" [
+              "${pkgs.cfssl}/bin/cfssl serve"
+              (opt "address" address)
+              (opt "port" (toString port))
+              (opt "ca" ca)
+              (opt "ca-key" caKey)
+              (opt "ca-bundle" caBundle)
+              (opt "int-bundle" intBundle)
+              (opt "int-dir" intDir)
+              (opt "metadata" metadata)
+              (opt "remote" remote)
+              (opt "config" configFile)
+              (opt "responder" responder)
+              (opt "responder-key" responderKey)
+              (opt "tls-key" tlsKey)
+              (opt "tls-cert" tlsCert)
+              (opt "mutual-tls-ca" mutualTlsCa)
+              (opt "mutual-tls-cn" mutualTlsCn)
+              (opt "mutual-tls-client-key" mutualTlsClientKey)
+              (opt "mutual-tls-client-cert" mutualTlsClientCert)
+              (opt "tls-remote-ca" tlsRemoteCa)
+              (opt "db-config" dbConfig)
+              (opt "loglevel" (toString logLevel))
+            ];
+        }
+        (mkIf (cfg.dataDir == options.services.cfssl.dataDir.default) {
+          StateDirectory = baseNameOf cfg.dataDir;
+          StateDirectoryMode = 700;
+        })
+      ];
     };
 
     services.cfssl = {
diff --git a/nixos/modules/services/security/haveged.nix b/nixos/modules/services/security/haveged.nix
index 22ece188344..57cef7e44d5 100644
--- a/nixos/modules/services/security/haveged.nix
+++ b/nixos/modules/services/security/haveged.nix
@@ -3,12 +3,10 @@
 with lib;
 
 let
-
   cfg = config.services.haveged;
 
 in
 
-
 {
 
   ###### interface
@@ -17,14 +15,11 @@ in
 
     services.haveged = {
 
-      enable = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether to enable to haveged entropy daemon, which refills
-          /dev/random when low.
-        '';
-      };
+      enable = mkEnableOption ''
+        haveged entropy daemon, which refills /dev/random when low.
+        NOTE: does nothing on kernels newer than 5.6.
+      '';
+      # source for the note https://github.com/jirka-h/haveged/issues/57
 
       refill_threshold = mkOption {
         type = types.int;
@@ -39,29 +34,44 @@ in
 
   };
 
-
-  ###### implementation
-
   config = mkIf cfg.enable {
 
-    systemd.services.haveged =
-      { description = "Entropy Harvesting Daemon";
-        unitConfig.Documentation = "man:haveged(8)";
-        wantedBy = [ "multi-user.target" ];
-
-        path = [ pkgs.haveged ];
-
-        serviceConfig = {
-          ExecStart = "${pkgs.haveged}/bin/haveged -F -w ${toString cfg.refill_threshold} -v 1";
-          SuccessExitStatus = 143;
-          PrivateTmp = true;
-          PrivateDevices = true;
-          PrivateNetwork = true;
-          ProtectSystem = "full";
-          ProtectHome = true;
-        };
+    # https://github.com/jirka-h/haveged/blob/a4b69d65a8dfc5a9f52ff8505c7f58dcf8b9234f/contrib/Fedora/haveged.service
+    systemd.services.haveged = {
+      description = "Entropy Daemon based on the HAVEGE algorithm";
+      unitConfig = {
+        Documentation = "man:haveged(8)";
+        DefaultDependencies = false;
+        ConditionKernelVersion = "<5.6";
+      };
+      wantedBy = [ "sysinit.target" ];
+      after = [ "systemd-tmpfiles-setup-dev.service" ];
+      before = [ "sysinit.target" "shutdown.target" "systemd-journald.service" ];
+
+      serviceConfig = {
+        ExecStart = "${pkgs.haveged}/bin/haveged -w ${toString cfg.refill_threshold} --Foreground -v 1";
+        Restart = "always";
+        SuccessExitStatus = "137 143";
+        SecureBits = "noroot-locked";
+        CapabilityBoundingSet = [ "CAP_SYS_ADMIN" "CAP_SYS_CHROOT" ];
+        # We can *not* set PrivateTmp=true as it can cause an ordering cycle.
+        PrivateTmp = false;
+        PrivateDevices = true;
+        ProtectSystem = "full";
+        ProtectHome = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        RestrictNamespaces = true;
+        RestrictRealtime = true;
+        LockPersonality = true;
+        MemoryDenyWriteExecute = true;
+        SystemCallArchitectures = "native";
+        SystemCallFilter = [ "@system-service" "newuname" "~@mount" ];
+        SystemCallErrorNumber = "EPERM";
       };
 
+    };
   };
 
 }
diff --git a/nixos/modules/services/security/step-ca.nix b/nixos/modules/services/security/step-ca.nix
index 27b2ceed1a4..95183078d7b 100644
--- a/nixos/modules/services/security/step-ca.nix
+++ b/nixos/modules/services/security/step-ca.nix
@@ -1,4 +1,4 @@
-{ config, lib, pkgs, nixosTests, ... }:
+{ config, lib, pkgs, ... }:
 let
   cfg = config.services.step-ca;
   settingsFormat = (pkgs.formats.json { });
@@ -82,8 +82,6 @@ in
       });
     in
     {
-      passthru.tests.step-ca = nixosTests.step-ca;
-
       assertions =
         [
           {
@@ -108,6 +106,9 @@ in
           ConditionFileNotEmpty = ""; # override upstream
         };
         serviceConfig = {
+          User = "step-ca";
+          Group = "step-ca";
+          UMask = "0077";
           Environment = "HOME=%S/step-ca";
           WorkingDirectory = ""; # override upstream
           ReadWriteDirectories = ""; # override upstream
@@ -129,6 +130,14 @@ in
         };
       };
 
+      users.users.step-ca = {
+        home = "/var/lib/step-ca";
+        group = "step-ca";
+        isSystemUser = true;
+      };
+
+      users.groups.step-ca = {};
+
       networking.firewall = lib.mkIf cfg.openFirewall {
         allowedTCPPorts = [ cfg.port ];
       };
diff --git a/nixos/modules/services/security/vaultwarden/default.nix b/nixos/modules/services/security/vaultwarden/default.nix
index fd459f70ccd..8277f493639 100644
--- a/nixos/modules/services/security/vaultwarden/default.nix
+++ b/nixos/modules/services/security/vaultwarden/default.nix
@@ -151,7 +151,7 @@ in {
     };
 
     systemd.services.backup-vaultwarden = mkIf (cfg.backupDir != null) {
-      aliases = [ "backup-bitwarden_rs" ];
+      aliases = [ "backup-bitwarden_rs.service" ];
       description = "Backup vaultwarden";
       environment = {
         DATA_FOLDER = "/var/lib/bitwarden_rs";
@@ -169,7 +169,7 @@ in {
     };
 
     systemd.timers.backup-vaultwarden = mkIf (cfg.backupDir != null) {
-      aliases = [ "backup-bitwarden_rs" ];
+      aliases = [ "backup-bitwarden_rs.service" ];
       description = "Backup vaultwarden on time";
       timerConfig = {
         OnCalendar = mkDefault "23:00";
diff --git a/nixos/modules/services/system/cloud-init.nix b/nixos/modules/services/system/cloud-init.nix
index d05dfcfc42d..8c6a6e294eb 100644
--- a/nixos/modules/services/system/cloud-init.nix
+++ b/nixos/modules/services/system/cloud-init.nix
@@ -143,7 +143,7 @@ in
                   "sshd.service" "sshd-keygen.service" ];
         after = [ "network-online.target" "cloud-init-local.service" ];
         before = [ "sshd.service" "sshd-keygen.service" ];
-        requires = [ "network.target "];
+        requires = [ "network.target"];
         path = path;
         serviceConfig =
           { Type = "oneshot";
diff --git a/nixos/modules/services/web-apps/dokuwiki.nix b/nixos/modules/services/web-apps/dokuwiki.nix
index 30913ced884..1f8ca742db9 100644
--- a/nixos/modules/services/web-apps/dokuwiki.nix
+++ b/nixos/modules/services/web-apps/dokuwiki.nix
@@ -376,7 +376,7 @@ in
           "~ \\.php$" = {
             extraConfig = ''
               try_files $uri $uri/ /doku.php;
-              include ${pkgs.nginx}/conf/fastcgi_params;
+              include ${config.services.nginx.package}/conf/fastcgi_params;
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
               fastcgi_param REDIRECT_STATUS 200;
               fastcgi_pass unix:${config.services.phpfpm.pools."dokuwiki-${hostName}".socket};
diff --git a/nixos/modules/services/web-apps/jirafeau.nix b/nixos/modules/services/web-apps/jirafeau.nix
index a95e2b4f82a..328c61c8e64 100644
--- a/nixos/modules/services/web-apps/jirafeau.nix
+++ b/nixos/modules/services/web-apps/jirafeau.nix
@@ -136,7 +136,7 @@ in
               '';
             locations = {
               "~ \\.php$".extraConfig = ''
-                include ${pkgs.nginx}/conf/fastcgi_params;
+                include ${config.services.nginx.package}/conf/fastcgi_params;
                 fastcgi_split_path_info ^(.+\.php)(/.+)$;
                 fastcgi_index index.php;
                 fastcgi_pass unix:${config.services.phpfpm.pools.jirafeau.socket};
diff --git a/nixos/modules/services/web-apps/mastodon.nix b/nixos/modules/services/web-apps/mastodon.nix
index 1e3c7e53c17..8208c85bfd7 100644
--- a/nixos/modules/services/web-apps/mastodon.nix
+++ b/nixos/modules/services/web-apps/mastodon.nix
@@ -92,6 +92,7 @@ let
 
   mastodonEnv = pkgs.writeShellScriptBin "mastodon-env" ''
     set -a
+    export RAILS_ROOT="${cfg.package}"
     source "${envFile}"
     source /var/lib/mastodon/.secrets_env
     eval -- "\$@"
diff --git a/nixos/modules/services/web-apps/matomo.nix b/nixos/modules/services/web-apps/matomo.nix
index 8a0ca33b51f..c6d4ed6d39d 100644
--- a/nixos/modules/services/web-apps/matomo.nix
+++ b/nixos/modules/services/web-apps/matomo.nix
@@ -192,6 +192,7 @@ in {
             # Copy config folder
             chmod g+s "${dataDir}"
             cp -r "${cfg.package}/share/config" "${dataDir}/"
+            mkdir -p "${dataDir}/misc"
             chmod -R u+rwX,g+rwX,o-rwx "${dataDir}"
 
             # check whether user setup has already been done
diff --git a/nixos/modules/services/web-apps/miniflux.nix b/nixos/modules/services/web-apps/miniflux.nix
index 14cbfb39540..641c9be85d8 100644
--- a/nixos/modules/services/web-apps/miniflux.nix
+++ b/nixos/modules/services/web-apps/miniflux.nix
@@ -7,26 +7,12 @@ let
   defaultAddress = "localhost:8080";
 
   dbUser = "miniflux";
-  dbPassword = "miniflux";
-  dbHost = "localhost";
   dbName = "miniflux";
 
-  defaultCredentials = pkgs.writeText "miniflux-admin-credentials" ''
-    ADMIN_USERNAME=admin
-    ADMIN_PASSWORD=password
-  '';
-
   pgbin = "${config.services.postgresql.package}/bin";
   preStart = pkgs.writeScript "miniflux-pre-start" ''
     #!${pkgs.runtimeShell}
-    db_exists() {
-      [ "$(${pgbin}/psql -Atc "select 1 from pg_database where datname='$1'")" == "1" ]
-    }
-    if ! db_exists "${dbName}"; then
-      ${pgbin}/psql postgres -c "CREATE ROLE ${dbUser} WITH LOGIN NOCREATEDB NOCREATEROLE ENCRYPTED PASSWORD '${dbPassword}'"
-      ${pgbin}/createdb --owner "${dbUser}" "${dbName}"
-      ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore"
-    fi
+    ${pgbin}/psql "${dbName}" -c "CREATE EXTENSION IF NOT EXISTS hstore"
   '';
 in
 
@@ -54,11 +40,10 @@ in
       };
 
       adminCredentialsFile = mkOption  {
-        type = types.nullOr types.path;
-        default = null;
+        type = types.path;
         description = ''
-          File containing the ADMIN_USERNAME, default is "admin", and
-          ADMIN_PASSWORD (length >= 6), default is "password"; in the format of
+          File containing the ADMIN_USERNAME and
+          ADMIN_PASSWORD (length >= 6) in the format of
           an EnvironmentFile=, as described by systemd.exec(5).
         '';
         example = "/etc/nixos/miniflux-admin-credentials";
@@ -70,16 +55,24 @@ in
 
     services.miniflux.config =  {
       LISTEN_ADDR = mkDefault defaultAddress;
-      DATABASE_URL = "postgresql://${dbUser}:${dbPassword}@${dbHost}/${dbName}?sslmode=disable";
+      DATABASE_URL = "user=${dbUser} host=/run/postgresql dbname=${dbName}";
       RUN_MIGRATIONS = "1";
       CREATE_ADMIN = "1";
     };
 
-    services.postgresql.enable = true;
+    services.postgresql = {
+      enable = true;
+      ensureUsers = [ {
+        name = dbUser;
+        ensurePermissions = {
+          "DATABASE ${dbName}" = "ALL PRIVILEGES";
+        };
+      } ];
+      ensureDatabases = [ dbName ];
+    };
 
     systemd.services.miniflux-dbsetup = {
       description = "Miniflux database setup";
-      wantedBy = [ "multi-user.target" ];
       requires = [ "postgresql.service" ];
       after = [ "network.target" "postgresql.service" ];
       serviceConfig = {
@@ -92,17 +85,16 @@ in
     systemd.services.miniflux = {
       description = "Miniflux service";
       wantedBy = [ "multi-user.target" ];
-      requires = [ "postgresql.service" ];
+      requires = [ "miniflux-dbsetup.service" ];
       after = [ "network.target" "postgresql.service" "miniflux-dbsetup.service" ];
 
       serviceConfig = {
         ExecStart = "${pkgs.miniflux}/bin/miniflux";
+        User = dbUser;
         DynamicUser = true;
         RuntimeDirectory = "miniflux";
         RuntimeDirectoryMode = "0700";
-        EnvironmentFile = if cfg.adminCredentialsFile == null
-        then defaultCredentials
-        else cfg.adminCredentialsFile;
+        EnvironmentFile = cfg.adminCredentialsFile;
         # Hardening
         CapabilityBoundingSet = [ "" ];
         DeviceAllow = [ "" ];
@@ -119,7 +111,7 @@ in
         ProtectKernelModules = true;
         ProtectKernelTunables = true;
         ProtectProc = "invisible";
-        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" "AF_UNIX" ];
         RestrictNamespaces = true;
         RestrictRealtime = true;
         RestrictSUIDSGID = true;
diff --git a/nixos/modules/services/web-apps/peertube.nix b/nixos/modules/services/web-apps/peertube.nix
index a6542801826..e195e6e6e82 100644
--- a/nixos/modules/services/web-apps/peertube.nix
+++ b/nixos/modules/services/web-apps/peertube.nix
@@ -320,6 +320,7 @@ in {
         };
         storage = {
           tmp = lib.mkDefault "/var/lib/peertube/storage/tmp/";
+          bin = lib.mkDefault "/var/lib/peertube/storage/bin/";
           avatars = lib.mkDefault "/var/lib/peertube/storage/avatars/";
           videos = lib.mkDefault "/var/lib/peertube/storage/videos/";
           streaming_playlists = lib.mkDefault "/var/lib/peertube/storage/streaming-playlists/";
@@ -333,6 +334,15 @@ in {
           plugins = lib.mkDefault "/var/lib/peertube/storage/plugins/";
           client_overrides = lib.mkDefault "/var/lib/peertube/storage/client-overrides/";
         };
+        import = {
+          videos = {
+            http = {
+              youtube_dl_release = {
+                python_path = "${pkgs.python3}/bin/python";
+              };
+            };
+          };
+        };
       }
       (lib.mkIf cfg.redis.enableUnixSocket { redis = { socket = "/run/redis/redis.sock"; }; })
     ];
@@ -380,7 +390,7 @@ in {
 
       environment = env;
 
-      path = with pkgs; [ bashInteractive ffmpeg nodejs-16_x openssl yarn youtube-dl ];
+      path = with pkgs; [ bashInteractive ffmpeg nodejs-16_x openssl yarn python3 ];
 
       script = ''
         #!/bin/sh
diff --git a/nixos/modules/services/web-apps/restya-board.nix b/nixos/modules/services/web-apps/restya-board.nix
index fd97ab76a5f..4b36cc8754c 100644
--- a/nixos/modules/services/web-apps/restya-board.nix
+++ b/nixos/modules/services/web-apps/restya-board.nix
@@ -235,7 +235,7 @@ in
       locations."~ \\.php$" = {
         tryFiles = "$uri =404";
         extraConfig = ''
-          include ${pkgs.nginx}/conf/fastcgi_params;
+          include ${config.services.nginx.package}/conf/fastcgi_params;
           fastcgi_pass    unix:${fpm.socket};
           fastcgi_index   index.php;
           fastcgi_param   SCRIPT_FILENAME $document_root$fastcgi_script_name;
diff --git a/nixos/modules/services/web-apps/rss-bridge.nix b/nixos/modules/services/web-apps/rss-bridge.nix
index 456ca00416f..f2b6d955982 100644
--- a/nixos/modules/services/web-apps/rss-bridge.nix
+++ b/nixos/modules/services/web-apps/rss-bridge.nix
@@ -111,7 +111,7 @@ in
 
           locations."~ ^/index.php(/|$)" = {
             extraConfig = ''
-              include ${pkgs.nginx}/conf/fastcgi_params;
+              include ${config.services.nginx.package}/conf/fastcgi_params;
               fastcgi_split_path_info ^(.+\.php)(/.+)$;
               fastcgi_pass unix:${config.services.phpfpm.pools.${cfg.pool}.socket};
               fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
diff --git a/nixos/modules/services/web-servers/agate.nix b/nixos/modules/services/web-servers/agate.nix
new file mode 100644
index 00000000000..3afdb561c0b
--- /dev/null
+++ b/nixos/modules/services/web-servers/agate.nix
@@ -0,0 +1,148 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let
+  cfg = config.services.agate;
+in
+{
+  options = {
+    services.agate = {
+      enable = mkEnableOption "Agate Server";
+
+      package = mkOption {
+        type = types.package;
+        default = pkgs.agate;
+        defaultText = literalExpression "pkgs.agate";
+        description = "The package to use";
+      };
+
+      addresses = mkOption {
+        type = types.listOf types.str;
+        default = [ "0.0.0.0:1965" ];
+        description = ''
+          Addresses to listen on, IP:PORT, if you haven't disabled forwarding
+          only set IPv4.
+        '';
+      };
+
+      contentDir = mkOption {
+        default = "/var/lib/agate/content";
+        type = types.path;
+        description = "Root of the content directory.";
+      };
+
+      certificatesDir = mkOption {
+        default = "/var/lib/agate/certificates";
+        type = types.path;
+        description = "Root of the certificate directory.";
+      };
+
+      hostnames = mkOption {
+        default = [ ];
+        type = types.listOf types.str;
+        description = ''
+          Domain name of this Gemini server, enables checking hostname and port
+          in requests. (multiple occurences means basic vhosts)
+        '';
+      };
+
+      language = mkOption {
+        default = null;
+        type = types.nullOr types.str;
+        description = "RFC 4646 Language code for text/gemini documents.";
+      };
+
+      onlyTls_1_3 = mkOption {
+        default = false;
+        type = types.bool;
+        description = "Only use TLSv1.3 (default also allows TLSv1.2).";
+      };
+
+      extraArgs = mkOption {
+        type = types.listOf types.str;
+        default = [ "" ];
+        example = [ "--log-ip" ];
+        description = "Extra arguments to use running agate.";
+      };
+    };
+  };
+
+  config = mkIf cfg.enable {
+    # available for generating certs by hand
+    # it can be a bit arduous with openssl
+    environment.systemPackages = [ cfg.package ];
+
+    systemd.services.agate = {
+      description = "Agate";
+      wantedBy = [ "multi-user.target" ];
+      after = [ "network.target" "network-online.target" ];
+
+      script =
+        let
+          prefixKeyList = key: list: concatMap (v: [ key v ]) list;
+          addresses = prefixKeyList "--addr" cfg.addresses;
+          hostnames = prefixKeyList "--hostname" cfg.hostnames;
+        in
+        ''
+          exec ${cfg.package}/bin/agate ${
+            escapeShellArgs (
+              [
+                "--content" "${cfg.contentDir}"
+                "--certs" "${cfg.certificatesDir}"
+              ] ++
+              addresses ++
+              (optionals (cfg.hostnames != []) hostnames) ++
+              (optionals (cfg.language != null) [ "--lang" cfg.language ]) ++
+              (optionals cfg.onlyTls_1_3 [ "--only-tls13" ]) ++
+              (optionals (cfg.extraArgs != []) cfg.extraArgs)
+            )
+          }
+        '';
+
+      serviceConfig = {
+        Restart = "always";
+        RestartSec = "5s";
+        DynamicUser = true;
+        StateDirectory = "agate";
+
+        # Security options:
+        AmbientCapabilities = "";
+        CapabilityBoundingSet = "";
+
+        # ProtectClock= adds DeviceAllow=char-rtc r
+        DeviceAllow = "";
+
+        LockPersonality = true;
+
+        PrivateTmp = true;
+        PrivateDevices = true;
+        PrivateUsers = true;
+
+        ProtectClock = true;
+        ProtectControlGroups = true;
+        ProtectHostname = true;
+        ProtectKernelLogs = true;
+        ProtectKernelModules = true;
+        ProtectKernelTunables = true;
+
+        RestrictNamespaces = true;
+        RestrictAddressFamilies = [ "AF_INET" "AF_INET6" ];
+        RestrictRealtime = true;
+
+        SystemCallArchitectures = "native";
+        SystemCallErrorNumber = "EPERM";
+        SystemCallFilter = [
+          "@system-service"
+          "~@cpu-emulation"
+          "~@debug"
+          "~@keyring"
+          "~@memlock"
+          "~@obsolete"
+          "~@privileged"
+          "~@setuid"
+        ];
+      };
+    };
+  };
+}
diff --git a/nixos/modules/services/web-servers/nginx/default.nix b/nixos/modules/services/web-servers/nginx/default.nix
index 6876dbf39d8..7daf0f158b3 100644
--- a/nixos/modules/services/web-servers/nginx/default.nix
+++ b/nixos/modules/services/web-servers/nginx/default.nix
@@ -988,5 +988,17 @@ in
       nginx.gid = config.ids.gids.nginx;
     };
 
+    services.logrotate.paths.nginx = mapAttrs (_: mkDefault) {
+      path = "/var/log/nginx/*.log";
+      frequency = "weekly";
+      keep = 26;
+      extraConfig = ''
+        compress
+        delaycompress
+        postrotate
+          [ ! -f /var/run/nginx/nginx.pid ] || kill -USR1 `cat /var/run/nginx/nginx.pid`
+        endscript
+      '';
+    };
   };
 }
diff --git a/nixos/modules/services/web-servers/nginx/gitweb.nix b/nixos/modules/services/web-servers/nginx/gitweb.nix
index 11bf2a309ea..db45577a46d 100644
--- a/nixos/modules/services/web-servers/nginx/gitweb.nix
+++ b/nixos/modules/services/web-servers/nginx/gitweb.nix
@@ -79,7 +79,7 @@ in
         };
         locations."${cfg.location}/" = {
           extraConfig = ''
-            include ${pkgs.nginx}/conf/fastcgi_params;
+            include ${config.services.nginx.package}/conf/fastcgi_params;
             fastcgi_param GITWEB_CONFIG ${gitwebConfig.gitwebConfigFile};
             fastcgi_pass unix:/run/gitweb/gitweb.sock;
           '';
diff --git a/nixos/modules/services/web-servers/shellinabox.nix b/nixos/modules/services/web-servers/shellinabox.nix
deleted file mode 100644
index c7c51f873eb..00000000000
--- a/nixos/modules/services/web-servers/shellinabox.nix
+++ /dev/null
@@ -1,122 +0,0 @@
-{ config, lib, pkgs, ... }:
-
-with lib;
-
-let
-
-  cfg = config.services.shellinabox;
-
-  # If a certificate file is specified, shellinaboxd requires
-  # a file descriptor to retrieve it
-  fd = "3";
-  createFd = optionalString (cfg.certFile != null) "${fd}<${cfg.certFile}";
-
-  # Command line arguments for the shellinabox daemon
-  args = [ "--background" ]
-   ++ optional (! cfg.enableSSL) "--disable-ssl"
-   ++ optional (cfg.certFile != null) "--cert-fd=${fd}"
-   ++ optional (cfg.certDirectory != null) "--cert=${cfg.certDirectory}"
-   ++ cfg.extraOptions;
-
-  # Command to start shellinaboxd
-  cmd = "${pkgs.shellinabox}/bin/shellinaboxd ${concatStringsSep " " args}";
-
-  # Command to start shellinaboxd if certFile is specified
-  wrappedCmd = "${pkgs.bash}/bin/bash -c 'exec ${createFd} && ${cmd}'";
-
-in
-
-{
-
-  ###### interface
-
-  options = {
-    services.shellinabox = {
-      enable = mkEnableOption "shellinabox daemon";
-
-      user = mkOption {
-        type = types.str;
-        default = "root";
-        description = ''
-          User to run shellinaboxd as. If started as root, the server drops
-          privileges by changing to nobody, unless overridden by the
-          <literal>--user</literal> option.
-        '';
-      };
-
-      enableSSL = mkOption {
-        type = types.bool;
-        default = false;
-        description = ''
-          Whether or not to enable SSL (https) support.
-        '';
-      };
-
-      certDirectory = mkOption {
-        type = types.nullOr types.path;
-        default = null;
-        example = "/var/certs";
-        description = ''
-          The daemon will look in this directory far any certificates.
-          If the browser negotiated a Server Name Identification the daemon
-          will look for a matching certificate-SERVERNAME.pem file. If no SNI
-          handshake takes place, it will fall back on using the certificate in the
-          certificate.pem file.
-
-          If no suitable certificate is installed, shellinaboxd will attempt to
-          create a new self-signed certificate. This will only succeed if, after
-          dropping privileges, shellinaboxd has write permissions for this
-          directory.
-        '';
-      };
-
-      certFile = mkOption {
-        type = types.nullOr types.path;
-        default = null;
-        example = "/var/certificate.pem";
-        description = "Path to server SSL certificate.";
-      };
-
-      extraOptions = mkOption {
-        type = types.listOf types.str;
-        default = [ ];
-        example = [ "--port=443" "--service /:LOGIN" ];
-        description = ''
-          A list of strings to be appended to the command line arguments
-          for shellinaboxd. Please see the manual page
-          <link xlink:href="https://code.google.com/p/shellinabox/wiki/shellinaboxd_man"/>
-          for a full list of available arguments.
-        '';
-      };
-
-    };
-  };
-
-  ###### implementation
-
-  config = mkIf cfg.enable {
-
-    assertions =
-      [ { assertion = cfg.enableSSL == true
-            -> cfg.certDirectory != null || cfg.certFile != null;
-          message = "SSL is enabled for shellinabox, but no certDirectory or certFile has been specefied."; }
-        { assertion = ! (cfg.certDirectory != null && cfg.certFile != null);
-          message = "Cannot set both certDirectory and certFile for shellinabox."; }
-      ];
-
-    systemd.services.shellinaboxd = {
-      description = "Shellinabox Web Server Daemon";
-
-      wantedBy = [ "multi-user.target" ];
-      requires = [ "sshd.service" ];
-      after = [ "sshd.service" ];
-
-      serviceConfig = {
-        Type = "forking";
-        User = "${cfg.user}";
-        ExecStart = "${if cfg.certFile == null then "${cmd}" else "${wrappedCmd}"}";
-        ExecReload = "${pkgs.coreutils}/bin/kill -HUP $MAINPID";
-      };
-    };
-  };
-}
diff --git a/nixos/modules/services/x11/desktop-managers/default.nix b/nixos/modules/services/x11/desktop-managers/default.nix
index 6ee5b0fc54f..8247a7e381c 100644
--- a/nixos/modules/services/x11/desktop-managers/default.nix
+++ b/nixos/modules/services/x11/desktop-managers/default.nix
@@ -19,7 +19,7 @@ in
   # E.g., if Plasma 5 is enabled, it supersedes xterm.
   imports = [
     ./none.nix ./xterm.nix ./xfce.nix ./plasma5.nix ./lumina.nix
-    ./lxqt.nix ./enlightenment.nix ./gnome.nix ./kodi.nix
+    ./lxqt.nix ./enlightenment.nix ./gnome.nix ./retroarch.nix ./kodi.nix
     ./mate.nix ./pantheon.nix ./surf-display.nix ./cde.nix
     ./cinnamon.nix
   ];
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.nix b/nixos/modules/services/x11/desktop-managers/pantheon.nix
index 70911e02f7e..6a7d2a8aa6c 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.nix
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.nix
@@ -135,6 +135,7 @@ in
       services.bamf.enable = true;
       services.colord.enable = mkDefault true;
       services.fwupd.enable = mkDefault true;
+      services.packagekit.enable = mkDefault true;
       services.touchegg.enable = mkDefault true;
       services.touchegg.package = pkgs.pantheon.touchegg;
       services.tumbler.enable = mkDefault true;
@@ -272,7 +273,7 @@ in
     })
 
     (mkIf serviceCfg.apps.enable {
-      environment.systemPackages = (with pkgs.pantheon; pkgs.gnome.removePackagesByName [
+      environment.systemPackages = with pkgs.pantheon; pkgs.gnome.removePackagesByName ([
         elementary-calculator
         elementary-calendar
         elementary-camera
@@ -286,7 +287,11 @@ in
         elementary-terminal
         elementary-videos
         epiphany
-      ] config.environment.pantheon.excludePackages);
+      ] ++ lib.optionals config.services.flatpak.enable [
+        # Only install appcenter if flatpak is enabled before
+        # https://github.com/NixOS/nixpkgs/issues/15932 is resolved.
+        appcenter
+      ]) config.environment.pantheon.excludePackages;
 
       # needed by screenshot
       fonts.fonts = [
diff --git a/nixos/modules/services/x11/desktop-managers/pantheon.xml b/nixos/modules/services/x11/desktop-managers/pantheon.xml
index fe0a1c49622..202909d398f 100644
--- a/nixos/modules/services/x11/desktop-managers/pantheon.xml
+++ b/nixos/modules/services/x11/desktop-managers/pantheon.xml
@@ -105,10 +105,10 @@ switchboard-with-plugs.override {
     </term>
     <listitem>
      <para>
-      AppCenter has been available since 20.03, but it is of little use. This is because there is no functioning PackageKit backend for Nix 2.0. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. See this <link xlink:href="https://github.com/NixOS/nixpkgs/issues/70214">issue</link>.
+      AppCenter has been available since 20.03. Starting from 21.11, the Flatpak backend should work so you can install some Flatpak applications using it. However, due to missing appstream metadata, the Packagekit backend does not function currently. See this <link xlink:href="https://github.com/NixOS/nixpkgs/issues/15932">issue</link>.
      </para>
      <para>
-      To use AppCenter on NixOS, add <literal>pantheon.appcenter</literal> to <xref linkend="opt-environment.systemPackages" />, <link linkend="module-services-flatpak">enable Flatpak support</link> and optionally add the <literal>appcenter</literal> Flatpak remote:
+      If you are using Pantheon, AppCenter should be installed by default if you have <link linkend="module-services-flatpak">Flatpak support</link> enabled. If you also wish to add the <literal>appcenter</literal> Flatpak remote:
      </para>
 <screen>
 <prompt>$ </prompt>flatpak remote-add --if-not-exists appcenter https://flatpak.elementary.io/repo.flatpakrepo
diff --git a/nixos/modules/services/x11/desktop-managers/retroarch.nix b/nixos/modules/services/x11/desktop-managers/retroarch.nix
new file mode 100644
index 00000000000..d471673d452
--- /dev/null
+++ b/nixos/modules/services/x11/desktop-managers/retroarch.nix
@@ -0,0 +1,40 @@
+{ config, lib, pkgs, ... }:
+
+with lib;
+
+let cfg = config.services.xserver.desktopManager.retroarch;
+
+in {
+  options.services.xserver.desktopManager.retroarch = {
+    enable = mkEnableOption "RetroArch";
+
+    package = mkOption {
+      type = types.package;
+      default = pkgs.retroarch;
+      defaultText = literalExpression "pkgs.retroarch";
+      example = literalExpression "pkgs.retroarch-full";
+      description = "RetroArch package to use.";
+    };
+
+    extraArgs = mkOption {
+      type = types.listOf types.str;
+      default = [ ];
+      example = [ "--verbose" "--host" ];
+      description = "Extra arguments to pass to RetroArch.";
+    };
+  };
+
+  config = mkIf cfg.enable {
+    services.xserver.desktopManager.session = [{
+      name = "RetroArch";
+      start = ''
+        ${cfg.package}/bin/retroarch -f ${escapeShellArgs cfg.extraArgs} &
+        waitPID=$!
+      '';
+    }];
+
+    environment.systemPackages = [ cfg.package ];
+  };
+
+  meta.maintainers = with maintainers; [ j0hax ];
+}
diff --git a/nixos/modules/system/activation/switch-to-configuration.pl b/nixos/modules/system/activation/switch-to-configuration.pl
index 1fe346114e4..a8fe14c58f0 100644
--- a/nixos/modules/system/activation/switch-to-configuration.pl
+++ b/nixos/modules/system/activation/switch-to-configuration.pl
@@ -5,7 +5,7 @@ use warnings;
 use Config::IniFiles;
 use File::Path qw(make_path);
 use File::Basename;
-use File::Slurp;
+use File::Slurp qw(read_file write_file edit_file);
 use Net::DBus;
 use Sys::Syslog qw(:standard :macros);
 use Cwd 'abs_path';
@@ -20,12 +20,19 @@ my $restartListFile = "/run/nixos/restart-list";
 my $reloadListFile = "/run/nixos/reload-list";
 
 # Parse restart/reload requests by the activation script.
-# Activation scripts may write newline-separated units to this
+# Activation scripts may write newline-separated units to the restart
 # file and switch-to-configuration will handle them. While
 # `stopIfChanged = true` is ignored, switch-to-configuration will
 # handle `restartIfChanged = false` and `reloadIfChanged = true`.
+# This is the same as specifying a restart trigger in the NixOS module.
+#
+# The reload file asks the script to reload a unit. This is the same as
+# specifying a reload trigger in the NixOS module and can be ignored if
+# the unit is restarted in this activation.
 my $restartByActivationFile = "/run/nixos/activation-restart-list";
+my $reloadByActivationFile = "/run/nixos/activation-reload-list";
 my $dryRestartByActivationFile = "/run/nixos/dry-activation-restart-list";
+my $dryReloadByActivationFile = "/run/nixos/dry-activation-reload-list";
 
 make_path("/run/nixos", { mode => oct(755) });
 
@@ -131,6 +138,10 @@ sub parseSystemdIni {
 
     # Copy over all sections
     foreach my $sectionName (keys %fileContents) {
+        if ($sectionName eq "Install") {
+            # Skip the [Install] section because it has no relevant keys for us
+            next;
+        }
         # Copy over all keys
         foreach my $iniKey (keys %{$fileContents{$sectionName}}) {
             # Ensure the value is an array so it's easier to work with
@@ -162,13 +173,18 @@ sub parseSystemdIni {
 #
 # If a directory with the same basename ending in .d exists next to the unit file, it will be
 # assumed to contain override files which will be parsed as well and handled properly.
-sub parseUnit {
-    my ($unitPath) = @_;
+sub parse_unit {
+    my ($unit_path) = @_;
 
     # Parse the main unit and all overrides
-    my %unitData;
-    parseSystemdIni(\%unitData, $_) for glob("${unitPath}{,.d/*.conf}");
-    return %unitData;
+    my %unit_data;
+    # Replace \ with \\ so glob() still works with units that have a \ in them
+    # Valid characters in unit names are ASCII letters, digits, ":", "-", "_", ".", and "\"
+    $unit_path =~ s/\\/\\\\/gmsx;
+    foreach (glob "${unit_path}{,.d/*.conf}") {
+        parseSystemdIni(\%unit_data, "$_")
+    }
+    return %unit_data;
 }
 
 # Checks whether a specified boolean in a systemd unit is true
@@ -192,16 +208,96 @@ sub recordUnit {
     write_file($fn, { append => 1 }, "$unit\n") if $action ne "dry-activate";
 }
 
-# As a fingerprint for determining whether a unit has changed, we use
-# its absolute path. If it has an override file, we append *its*
-# absolute path as well.
-sub fingerprintUnit {
-    my ($s) = @_;
-    return abs_path($s) . (-f "${s}.d/overrides.conf" ? " " . abs_path "${s}.d/overrides.conf" : "");
+# The opposite of recordUnit, removes a unit name from a file
+sub unrecord_unit {
+    my ($fn, $unit) = @_;
+    edit_file { s/^$unit\n//msx } $fn if $action ne "dry-activate";
+}
+
+# Compare the contents of two unit files and return whether the unit
+# needs to be restarted or reloaded. If the units differ, the service
+# is restarted unless the only difference is `X-Reload-Triggers` in the
+# `Unit` section. If this is the only modification, the unit is reloaded
+# instead of restarted.
+# Returns:
+# - 0 if the units are equal
+# - 1 if the units are different and a restart action is required
+# - 2 if the units are different and a reload action is required
+sub compare_units {
+    my ($old_unit, $new_unit) = @_;
+    my $ret = 0;
+
+    my $comp_array = sub {
+      my ($a, $b) = @_;
+      return join("\0", @{$a}) eq join("\0", @{$b});
+    };
+
+    # Comparison hash for the sections
+    my %section_cmp = map { $_ => 1 } keys %{$new_unit};
+    # Iterate over the sections
+    foreach my $section_name (keys %{$old_unit}) {
+        # Missing section in the new unit?
+        if (not exists $section_cmp{$section_name}) {
+            if ($section_name eq 'Unit' and %{$old_unit->{'Unit'}} == 1 and defined(%{$old_unit->{'Unit'}}{'X-Reload-Triggers'})) {
+                # If a new [Unit] section was removed that only contained X-Reload-Triggers,
+                # do nothing.
+                next;
+            } else {
+                return 1;
+            }
+        }
+        delete $section_cmp{$section_name};
+        # Comparison hash for the section contents
+        my %ini_cmp = map { $_ => 1 } keys %{$new_unit->{$section_name}};
+        # Iterate over the keys of the section
+        foreach my $ini_key (keys %{$old_unit->{$section_name}}) {
+            delete $ini_cmp{$ini_key};
+            my @old_value = @{$old_unit->{$section_name}{$ini_key}};
+            # If the key is missing in the new unit, they are different...
+            if (not $new_unit->{$section_name}{$ini_key}) {
+                # ... unless the key that is now missing was the reload trigger
+                if ($section_name eq 'Unit' and $ini_key eq 'X-Reload-Triggers') {
+                    next;
+                }
+                return 1;
+            }
+            my @new_value = @{$new_unit->{$section_name}{$ini_key}};
+            # If the contents are different, the units are different
+            if (not $comp_array->(\@old_value, \@new_value)) {
+                # Check if only the reload triggers changed
+                if ($section_name eq 'Unit' and $ini_key eq 'X-Reload-Triggers') {
+                    $ret = 2;
+                } else {
+                    return 1;
+                }
+            }
+        }
+        # A key was introduced that was missing in the old unit
+        if (%ini_cmp) {
+            if ($section_name eq 'Unit' and %ini_cmp == 1 and defined($ini_cmp{'X-Reload-Triggers'})) {
+                # If the newly introduced key was the reload triggers, reload the unit
+                $ret = 2;
+            } else {
+                return 1;
+            }
+        };
+    }
+    # A section was introduced that was missing in the old unit
+    if (%section_cmp) {
+        if (%section_cmp == 1 and defined($section_cmp{'Unit'}) and %{$new_unit->{'Unit'}} == 1 and defined(%{$new_unit->{'Unit'}}{'X-Reload-Triggers'})) {
+            # If a new [Unit] section was introduced that only contains X-Reload-Triggers,
+            # reload instead of restarting
+            $ret = 2;
+        } else {
+            return 1;
+        }
+    }
+
+    return $ret;
 }
 
 sub handleModifiedUnit {
-    my ($unit, $baseName, $newUnitFile, $activePrev, $unitsToStop, $unitsToStart, $unitsToReload, $unitsToRestart, $unitsToSkip) = @_;
+    my ($unit, $baseName, $newUnitFile, $newUnitInfo, $activePrev, $unitsToStop, $unitsToStart, $unitsToReload, $unitsToRestart, $unitsToSkip) = @_;
 
     if ($unit eq "sysinit.target" || $unit eq "basic.target" || $unit eq "multi-user.target" || $unit eq "graphical.target" || $unit =~ /\.path$/ || $unit =~ /\.slice$/) {
         # Do nothing.  These cannot be restarted directly.
@@ -219,8 +315,8 @@ sub handleModifiedUnit {
         # Revert of the attempt: https://github.com/NixOS/nixpkgs/pull/147609
         # More details: https://github.com/NixOS/nixpkgs/issues/74899#issuecomment-981142430
     } else {
-        my %unitInfo = parseUnit($newUnitFile);
-        if (parseSystemdBool(\%unitInfo, "Service", "X-ReloadIfChanged", 0)) {
+        my %unitInfo = $newUnitInfo ? %{$newUnitInfo} : parse_unit($newUnitFile);
+        if (parseSystemdBool(\%unitInfo, "Service", "X-ReloadIfChanged", 0) and not $unitsToRestart->{$unit} and not $unitsToStop->{$unit}) {
             $unitsToReload->{$unit} = 1;
             recordUnit($reloadListFile, $unit);
         }
@@ -234,6 +330,11 @@ sub handleModifiedUnit {
                 # stopped and started.
                 $unitsToRestart->{$unit} = 1;
                 recordUnit($restartListFile, $unit);
+                # Remove from units to reload so we don't restart and reload
+                if ($unitsToReload->{$unit}) {
+                    delete $unitsToReload->{$unit};
+                    unrecord_unit($reloadListFile, $unit);
+                }
             } else {
                 # If this unit is socket-activated, then stop the
                 # socket unit(s) as well, and restart the
@@ -254,6 +355,11 @@ sub handleModifiedUnit {
                                 recordUnit($startListFile, $socket);
                                 $socketActivated = 1;
                             }
+                            # Remove from units to reload so we don't restart and reload
+                            if ($unitsToReload->{$unit}) {
+                                delete $unitsToReload->{$unit};
+                                unrecord_unit($reloadListFile, $unit);
+                            }
                         }
                     }
                 }
@@ -268,6 +374,11 @@ sub handleModifiedUnit {
                 }
 
                 $unitsToStop->{$unit} = 1;
+                # Remove from units to reload so we don't restart and reload
+                if ($unitsToReload->{$unit}) {
+                    delete $unitsToReload->{$unit};
+                    unrecord_unit($reloadListFile, $unit);
+                }
             }
         }
     }
@@ -306,12 +417,12 @@ while (my ($unit, $state) = each %{$activePrev}) {
 
     if (-e $prevUnitFile && ($state->{state} eq "active" || $state->{state} eq "activating")) {
         if (! -e $newUnitFile || abs_path($newUnitFile) eq "/dev/null") {
-            my %unitInfo = parseUnit($prevUnitFile);
+            my %unitInfo = parse_unit($prevUnitFile);
             $unitsToStop{$unit} = 1 if parseSystemdBool(\%unitInfo, "Unit", "X-StopOnRemoval", 1);
         }
 
         elsif ($unit =~ /\.target$/) {
-            my %unitInfo = parseUnit($newUnitFile);
+            my %unitInfo = parse_unit($newUnitFile);
 
             # Cause all active target units to be restarted below.
             # This should start most changed units we stop here as
@@ -344,8 +455,16 @@ while (my ($unit, $state) = each %{$activePrev}) {
             }
         }
 
-        elsif (fingerprintUnit($prevUnitFile) ne fingerprintUnit($newUnitFile)) {
-            handleModifiedUnit($unit, $baseName, $newUnitFile, $activePrev, \%unitsToStop, \%unitsToStart, \%unitsToReload, \%unitsToRestart, \%unitsToSkip);
+        else {
+            my %old_unit_info = parse_unit($prevUnitFile);
+            my %new_unit_info = parse_unit($newUnitFile);
+            my $diff = compare_units(\%old_unit_info, \%new_unit_info);
+            if ($diff eq 1) {
+                handleModifiedUnit($unit, $baseName, $newUnitFile, \%new_unit_info, $activePrev, \%unitsToStop, \%unitsToStart, \%unitsToReload, \%unitsToRestart, \%unitsToSkip);
+            } elsif ($diff eq 2 and not $unitsToRestart{$unit}) {
+                $unitsToReload{$unit} = 1;
+                recordUnit($reloadListFile, $unit);
+            }
         }
     }
 }
@@ -361,17 +480,6 @@ sub pathToUnitName {
     return $escaped;
 }
 
-sub unique {
-    my %seen;
-    my @res;
-    foreach my $name (@_) {
-        next if $seen{$name};
-        $seen{$name} = 1;
-        push @res, $name;
-    }
-    return @res;
-}
-
 # Compare the previous and new fstab to figure out which filesystems
 # need a remount or need to be unmounted.  New filesystems are mounted
 # automatically by starting local-fs.target.  FIXME: might be nicer if
@@ -407,8 +515,12 @@ foreach my $device (keys %$prevSwaps) {
         # "systemctl stop" here because systemd has lots of alias
         # units that prevent a stop from actually calling
         # "swapoff".
-        print STDERR "stopping swap device: $device\n";
-        system("@utillinux@/sbin/swapoff", $device);
+        if ($action ne "dry-activate") {
+            print STDERR "would stop swap device: $device\n";
+        } else {
+            print STDERR "stopping swap device: $device\n";
+            system("@utillinux@/sbin/swapoff", $device);
+        }
     }
     # FIXME: update swap options (i.e. its priority).
 }
@@ -469,10 +581,20 @@ if ($action eq "dry-activate") {
             next;
         }
 
-        handleModifiedUnit($unit, $baseName, $newUnitFile, $activePrev, \%unitsToRestart, \%unitsToRestart, \%unitsToReload, \%unitsToRestart, \%unitsToSkip);
+        handleModifiedUnit($unit, $baseName, $newUnitFile, undef, $activePrev, \%unitsToRestart, \%unitsToRestart, \%unitsToReload, \%unitsToRestart, \%unitsToSkip);
     }
     unlink($dryRestartByActivationFile);
 
+    foreach (split('\n', read_file($dryReloadByActivationFile, err_mode => 'quiet') // "")) {
+        my $unit = $_;
+
+        if (defined($activePrev->{$unit}) and not $unitsToRestart{$unit} and not $unitsToStop{$unit}) {
+            $unitsToReload{$unit} = 1;
+            recordUnit($reloadListFile, $unit);
+        }
+    }
+    unlink($dryReloadByActivationFile);
+
     print STDERR "would restart systemd\n" if $restartSystemd;
     print STDERR "would reload the following units: ", join(", ", sort(keys %unitsToReload)), "\n"
         if scalar(keys %unitsToReload) > 0;
@@ -525,11 +647,22 @@ foreach (split('\n', read_file($restartByActivationFile, err_mode => 'quiet') //
         next;
     }
 
-    handleModifiedUnit($unit, $baseName, $newUnitFile, $activePrev, \%unitsToRestart, \%unitsToRestart, \%unitsToReload, \%unitsToRestart, \%unitsToSkip);
+    handleModifiedUnit($unit, $baseName, $newUnitFile, undef, $activePrev, \%unitsToRestart, \%unitsToRestart, \%unitsToReload, \%unitsToRestart, \%unitsToSkip);
 }
 # We can remove the file now because it has been propagated to the other restart/reload files
 unlink($restartByActivationFile);
 
+foreach (split('\n', read_file($reloadByActivationFile, err_mode => 'quiet') // "")) {
+    my $unit = $_;
+
+    if (defined($activePrev->{$unit}) and not $unitsToRestart{$unit} and not $unitsToStop{$unit}) {
+        $unitsToReload{$unit} = 1;
+        recordUnit($reloadListFile, $unit);
+    }
+}
+# We can remove the file now because it has been propagated to the other reload file
+unlink($reloadByActivationFile);
+
 # Restart systemd if necessary. Note that this is done using the
 # current version of systemd, just in case the new one has trouble
 # communicating with the running pid 1.
diff --git a/nixos/modules/system/activation/top-level.nix b/nixos/modules/system/activation/top-level.nix
index 9e6ca75b9da..b8aeee8c11b 100644
--- a/nixos/modules/system/activation/top-level.nix
+++ b/nixos/modules/system/activation/top-level.nix
@@ -117,7 +117,7 @@ let
     configurationName = config.boot.loader.grub.configurationName;
 
     # Needed by switch-to-configuration.
-    perl = pkgs.perl.withPackages (p: with p; [ FileSlurp NetDBus XMLParser XMLTwig ConfigIniFiles ]);
+    perl = pkgs.perl.withPackages (p: with p; [ ConfigIniFiles FileSlurp NetDBus ]);
   };
 
   # Handle assertions and warnings
diff --git a/nixos/modules/system/boot/modprobe.nix b/nixos/modules/system/boot/modprobe.nix
index 7426d148891..27f78835adb 100644
--- a/nixos/modules/system/boot/modprobe.nix
+++ b/nixos/modules/system/boot/modprobe.nix
@@ -72,6 +72,8 @@ with lib;
       '';
     environment.etc."modprobe.d/debian.conf".source = pkgs.kmod-debian-aliases;
 
+    environment.etc."modprobe.d/systemd.conf".source = "${pkgs.systemd}/lib/modprobe.d/systemd.conf";
+
     environment.systemPackages = [ pkgs.kmod ];
 
     system.activationScripts.modprobe = stringAfter ["specialfs"]
diff --git a/nixos/modules/system/boot/stage-1.nix b/nixos/modules/system/boot/stage-1.nix
index 9c684fbada2..1575c0257d1 100644
--- a/nixos/modules/system/boot/stage-1.nix
+++ b/nixos/modules/system/boot/stage-1.nix
@@ -350,6 +350,9 @@ let
             '';
           symlink = "/etc/modprobe.d/ubuntu.conf";
         }
+        { object = config.environment.etc."modprobe.d/nixos.conf".source;
+          symlink = "/etc/modprobe.d/nixos.conf";
+        }
         { object = pkgs.kmod-debian-aliases;
           symlink = "/etc/modprobe.d/debian.conf";
         }
diff --git a/nixos/modules/system/boot/systemd-nspawn.nix b/nixos/modules/system/boot/systemd-nspawn.nix
index 02d2660add8..0c6822319a5 100644
--- a/nixos/modules/system/boot/systemd-nspawn.nix
+++ b/nixos/modules/system/boot/systemd-nspawn.nix
@@ -120,14 +120,6 @@ in {
         })
         {
           systemd.targets.multi-user.wants = [ "machines.target" ];
-
-          # Workaround for https://github.com/NixOS/nixpkgs/pull/67232#issuecomment-531315437 and https://github.com/systemd/systemd/issues/13622
-          # Once systemd fixes this upstream, we can re-enable -U
-          systemd.services."systemd-nspawn@".serviceConfig.ExecStart = [
-            ""  # deliberately empty. signals systemd to override the ExecStart
-            # Only difference between upstream is that we do not pass the -U flag
-            "${config.systemd.package}/bin/systemd-nspawn --quiet --keep-unit --boot --link-journal=try-guest --network-veth --settings=override --machine=%i"
-          ];
         }
       ];
 }
diff --git a/nixos/modules/system/boot/systemd.nix b/nixos/modules/system/boot/systemd.nix
index 9dcf9eb769f..441faa03af0 100644
--- a/nixos/modules/system/boot/systemd.nix
+++ b/nixos/modules/system/boot/systemd.nix
@@ -243,6 +243,8 @@ let
           { Requisite = toString config.requisite; }
         // optionalAttrs (config.restartTriggers != [])
           { X-Restart-Triggers = toString config.restartTriggers; }
+        // optionalAttrs (config.reloadTriggers != [])
+          { X-Reload-Triggers = toString config.reloadTriggers; }
         // optionalAttrs (config.description != "") {
           Description = config.description; }
         // optionalAttrs (config.documentation != []) {
@@ -917,6 +919,9 @@ in
               (optional hasDeprecated
                 "Service '${name}.service' uses the attribute 'StartLimitInterval' in the Service section, which is deprecated. See https://github.com/NixOS/nixpkgs/issues/45786."
               )
+              (optional (service.reloadIfChanged && service.reloadTriggers != [])
+                "Service '${name}.service' has both 'reloadIfChanged' and 'reloadTriggers' set. This is probably not what you want, because 'reloadTriggers' behave the same whay as 'restartTriggers' if 'reloadIfChanged' is set."
+              )
             ]
         )
         cfg.services
@@ -1212,6 +1217,23 @@ in
     boot.kernel.sysctl."kernel.pid_max" = mkIf pkgs.stdenv.is64bit (lib.mkDefault 4194304);
 
     boot.kernelParams = optional (!cfg.enableUnifiedCgroupHierarchy) "systemd.unified_cgroup_hierarchy=0";
+
+    services.logrotate.paths = {
+      "/var/log/btmp" = mapAttrs (_: mkDefault) {
+        frequency = "monthly";
+        keep = 1;
+        extraConfig = ''
+          create 0660 root ${config.users.groups.utmp.name}
+        '';
+      };
+      "/var/log/wtmp" = mapAttrs (_: mkDefault) {
+        frequency = "monthly";
+        keep = 1;
+        extraConfig = ''
+          create 0664 root ${config.users.groups.utmp.name}
+        '';
+      };
+    };
   };
 
   # FIXME: Remove these eventually.
diff --git a/nixos/modules/system/boot/tmp.nix b/nixos/modules/system/boot/tmp.nix
index 6edafd6695b..cf6d19eb5f0 100644
--- a/nixos/modules/system/boot/tmp.nix
+++ b/nixos/modules/system/boot/tmp.nix
@@ -48,7 +48,12 @@ in
         what = "tmpfs";
         where = "/tmp";
         type = "tmpfs";
-        mountConfig.Options = [ "mode=1777" "strictatime" "rw" "nosuid" "nodev" "size=${toString cfg.tmpOnTmpfsSize}" ];
+        mountConfig.Options = concatStringsSep "," [ "mode=1777"
+                                                     "strictatime"
+                                                     "rw"
+                                                     "nosuid"
+                                                     "nodev"
+                                                     "size=${toString cfg.tmpOnTmpfsSize}" ];
       }
     ];
 
diff --git a/nixos/modules/tasks/network-interfaces.nix b/nixos/modules/tasks/network-interfaces.nix
index 5c91993771e..06117ab451d 100644
--- a/nixos/modules/tasks/network-interfaces.nix
+++ b/nixos/modules/tasks/network-interfaces.nix
@@ -1325,22 +1325,13 @@ in
           val = tempaddrValues.${opt}.sysctl;
          in nameValuePair "net.ipv6.conf.${replaceChars ["."] ["/"] i.name}.use_tempaddr" val));
 
-    # Capabilities won't work unless we have at-least a 4.3 Linux
-    # kernel because we need the ambient capability
-    security.wrappers = if (versionAtLeast (getVersion config.boot.kernelPackages.kernel) "4.3") then {
+    security.wrappers = {
       ping = {
         owner = "root";
         group = "root";
         capabilities = "cap_net_raw+p";
         source = "${pkgs.iputils.out}/bin/ping";
       };
-    } else {
-      ping = {
-        setuid = true;
-        owner = "root";
-        group = "root";
-        source = "${pkgs.iputils.out}/bin/ping";
-      };
     };
     security.apparmor.policies."bin.ping".profile = lib.mkIf config.security.apparmor.policies."bin.ping".enable (lib.mkAfter ''
       /run/wrappers/bin/ping {
diff --git a/nixos/modules/virtualisation/amazon-image.nix b/nixos/modules/virtualisation/amazon-image.nix
index fe248a94488..bd7077ff7ea 100644
--- a/nixos/modules/virtualisation/amazon-image.nix
+++ b/nixos/modules/virtualisation/amazon-image.nix
@@ -155,7 +155,7 @@ in
     systemd.services."serial-getty@ttyS0".enable = true;
 
     # Creates symlinks for block device names.
-    services.udev.packages = [ pkgs.ec2-utils ];
+    services.udev.packages = [ pkgs.amazon-ec2-utils ];
 
     # Force getting the hostname from EC2.
     networking.hostName = mkDefault "";
diff --git a/nixos/modules/virtualisation/containerd.nix b/nixos/modules/virtualisation/containerd.nix
index 898a66e7b04..ea89a994b17 100644
--- a/nixos/modules/virtualisation/containerd.nix
+++ b/nixos/modules/virtualisation/containerd.nix
@@ -53,6 +53,7 @@ in
     virtualisation.containerd = {
       args.config = toString containerdConfigChecked;
       settings = {
+        version = 2;
         plugins."io.containerd.grpc.v1.cri" = {
          containerd.snapshotter =
            lib.mkIf config.boot.zfs.enabled (lib.mkOptionDefault "zfs");
diff --git a/nixos/modules/virtualisation/openstack-metadata-fetcher.nix b/nixos/modules/virtualisation/openstack-metadata-fetcher.nix
index 133cd4c0e9f..25104bb4766 100644
--- a/nixos/modules/virtualisation/openstack-metadata-fetcher.nix
+++ b/nixos/modules/virtualisation/openstack-metadata-fetcher.nix
@@ -15,7 +15,8 @@
   }
 
   wget_imds -O "$metaDir/ami-manifest-path" http://169.254.169.254/1.0/meta-data/ami-manifest-path
-  (umask 077 && wget_imds -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data)
+  # When no user-data is provided, the OpenStack metadata server doesn't expose the user-data route.
+  (umask 077 && wget_imds -O "$metaDir/user-data" http://169.254.169.254/1.0/user-data || rm -f "$metaDir/user-data")
   wget_imds -O "$metaDir/hostname" http://169.254.169.254/1.0/meta-data/hostname
   wget_imds -O "$metaDir/public-keys-0-openssh-key" http://169.254.169.254/1.0/meta-data/public-keys/0/openssh-key
 ''
diff --git a/nixos/modules/virtualisation/proxmox-lxc.nix b/nixos/modules/virtualisation/proxmox-lxc.nix
new file mode 100644
index 00000000000..3913b474afb
--- /dev/null
+++ b/nixos/modules/virtualisation/proxmox-lxc.nix
@@ -0,0 +1,64 @@
+{ config, pkgs, lib, ... }:
+
+with lib;
+
+{
+  options.proxmoxLXC = {
+    privileged = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to enable privileged mounts
+      '';
+    };
+    manageNetwork = mkOption {
+      type = types.bool;
+      default = false;
+      description = ''
+        Whether to manage network interfaces through nix options
+        When false, systemd-networkd is enabled to accept network
+        configuration from proxmox.
+      '';
+    };
+  };
+
+  config =
+    let
+      cfg = config.proxmoxLXC;
+    in
+    {
+      system.build.tarball = pkgs.callPackage ../../lib/make-system-tarball.nix {
+        storeContents = [{
+          object = config.system.build.toplevel;
+          symlink = "none";
+        }];
+
+        contents = [{
+          source = config.system.build.toplevel + "/init";
+          target = "/sbin/init";
+        }];
+
+        extraCommands = "mkdir -p root etc/systemd/network";
+      };
+
+      boot = {
+        isContainer = true;
+        loader.initScript.enable = true;
+      };
+
+      networking = mkIf (!cfg.manageNetwork) {
+        useDHCP = false;
+        useHostResolvConf = false;
+        useNetworkd = true;
+      };
+
+      services.openssh = {
+        enable = mkDefault true;
+        startWhenNeeded = mkDefault true;
+      };
+
+      systemd.mounts = mkIf (!cfg.privileged)
+        [{ where = "/sys/kernel/debug"; enable = false; }];
+
+    };
+}
diff --git a/nixos/tests/all-tests.nix b/nixos/tests/all-tests.nix
index 1077dfab27c..53637861feb 100644
--- a/nixos/tests/all-tests.nix
+++ b/nixos/tests/all-tests.nix
@@ -32,6 +32,7 @@ in
   acme = handleTest ./acme.nix {};
   adguardhome = handleTest ./adguardhome.nix {};
   aesmd = handleTest ./aesmd.nix {};
+  agate = handleTest ./web-servers/agate.nix {};
   agda = handleTest ./agda.nix {};
   airsonic = handleTest ./airsonic.nix {};
   amazon-init-shell = handleTest ./amazon-init-shell.nix {};
@@ -51,6 +52,7 @@ in
   bitcoind = handleTest ./bitcoind.nix {};
   bittorrent = handleTest ./bittorrent.nix {};
   blockbook-frontend = handleTest ./blockbook-frontend.nix {};
+  blocky = handleTest ./blocky.nix {};
   boot = handleTestOn ["x86_64-linux" "aarch64-linux"] ./boot.nix {};
   boot-stage1 = handleTest ./boot-stage1.nix {};
   borgbackup = handleTest ./borgbackup.nix {};
@@ -268,6 +270,7 @@ in
   litestream = handleTest ./litestream.nix {};
   locate = handleTest ./locate.nix {};
   login = handleTest ./login.nix {};
+  logrotate = handleTest ./logrotate.nix {};
   loki = handleTest ./loki.nix {};
   lxd = handleTest ./lxd.nix {};
   lxd-image = handleTest ./lxd-image.nix {};
@@ -305,6 +308,7 @@ in
   moodle = handleTest ./moodle.nix {};
   morty = handleTest ./morty.nix {};
   mosquitto = handleTest ./mosquitto.nix {};
+  moosefs = handleTest ./moosefs.nix {};
   mpd = handleTest ./mpd.nix {};
   mpv = handleTest ./mpv.nix {};
   mumble = handleTest ./mumble.nix {};
@@ -318,7 +322,6 @@ in
   mysql-replication = handleTest ./mysql/mysql-replication.nix {};
   n8n = handleTest ./n8n.nix {};
   nagios = handleTest ./nagios.nix {};
-  nano = handleTest ./nano.nix {};
   nar-serve = handleTest ./nar-serve.nix {};
   nat.firewall = handleTest ./nat.nix { withFirewall = true; };
   nat.firewall-conntrack = handleTest ./nat.nix { withFirewall = true; withConntrackHelpers = true; };
@@ -344,6 +347,7 @@ in
   nginx = handleTest ./nginx.nix {};
   nginx-auth = handleTest ./nginx-auth.nix {};
   nginx-etag = handleTest ./nginx-etag.nix {};
+  nginx-modsecurity = handleTest ./nginx-modsecurity.nix {};
   nginx-pubhtml = handleTest ./nginx-pubhtml.nix {};
   nginx-sandbox = handleTestOn ["x86_64-linux"] ./nginx-sandbox.nix {};
   nginx-sso = handleTest ./nginx-sso.nix {};
@@ -440,6 +444,7 @@ in
   resolv = handleTest ./resolv.nix {};
   restartByActivationScript = handleTest ./restart-by-activation-script.nix {};
   restic = handleTest ./restic.nix {};
+  retroarch = handleTest ./retroarch.nix {};
   riak = handleTest ./riak.nix {};
   robustirc-bridge = handleTest ./robustirc-bridge.nix {};
   roundcube = handleTest ./roundcube.nix {};
@@ -495,6 +500,7 @@ in
   systemd-confinement = handleTest ./systemd-confinement.nix {};
   systemd-cryptenroll = handleTest ./systemd-cryptenroll.nix {};
   systemd-journal = handleTest ./systemd-journal.nix {};
+  systemd-machinectl = handleTest ./systemd-machinectl.nix {};
   systemd-networkd = handleTest ./systemd-networkd.nix {};
   systemd-networkd-dhcpserver = handleTest ./systemd-networkd-dhcpserver.nix {};
   systemd-networkd-dhcpserver-static-leases = handleTest ./systemd-networkd-dhcpserver-static-leases.nix {};
diff --git a/nixos/tests/bird.nix b/nixos/tests/bird.nix
index 50d397be14e..befcf4fb8ac 100644
--- a/nixos/tests/bird.nix
+++ b/nixos/tests/bird.nix
@@ -9,7 +9,7 @@ let
   inherit (import ../lib/testing-python.nix { inherit system pkgs; }) makeTest;
   inherit (pkgs.lib) optionalString;
 
-  hostShared = hostId: { pkgs, ... }: {
+  makeBird2Host = hostId: { pkgs, ... }: {
     virtualisation.vlans = [ 1 ];
 
     environment.systemPackages = with pkgs; [ jq ];
@@ -24,105 +24,6 @@ let
       name = "eth1";
       networkConfig.Address = "10.0.0.${hostId}/24";
     };
-  };
-
-  birdTest = v4:
-    let variant = "bird${optionalString (!v4) "6"}"; in
-    makeTest {
-      name = variant;
-
-      nodes.host1 = makeBirdHost variant "1";
-      nodes.host2 = makeBirdHost variant "2";
-
-      testScript = makeTestScript variant v4 (!v4);
-    };
-
-  bird2Test = makeTest {
-    name = "bird2";
-
-    nodes.host1 = makeBird2Host "1";
-    nodes.host2 = makeBird2Host "2";
-
-    testScript = makeTestScript "bird2" true true;
-  };
-
-  makeTestScript = variant: v4: v6: ''
-    start_all()
-
-    host1.wait_for_unit("${variant}.service")
-    host2.wait_for_unit("${variant}.service")
-
-    ${optionalString v4 ''
-    with subtest("Waiting for advertised IPv4 routes"):
-      host1.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.2\")) | any'")
-      host2.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.1\")) | any'")
-    ''}
-    ${optionalString v6 ''
-    with subtest("Waiting for advertised IPv6 routes"):
-      host1.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::2\")) | any'")
-      host2.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::1\")) | any'")
-    ''}
-
-    with subtest("Check fake routes in preCheckConfig do not exists"):
-      ${optionalString v4 ''host1.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'")''}
-      ${optionalString v4 ''host2.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'")''}
-
-      ${optionalString v6 ''host1.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'")''}
-      ${optionalString v6 ''host2.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'")''}
-  '';
-
-  makeBirdHost = variant: hostId: { pkgs, ... }: {
-    imports = [ (hostShared hostId) ];
-
-    services.${variant} = {
-      enable = true;
-
-      config = ''
-        log syslog all;
-
-        debug protocols all;
-
-        router id 10.0.0.${hostId};
-
-        protocol device {
-        }
-
-        protocol kernel {
-          import none;
-          export all;
-        }
-
-        protocol static {
-          include "static.conf";
-        }
-
-        protocol ospf {
-          export all;
-          area 0 {
-            interface "eth1" {
-              hello 5;
-              wait 5;
-            };
-          };
-        }
-      '';
-
-      preCheckConfig =
-        let
-          route = { bird = "1.2.3.4/32"; bird6 = "fd00::/128"; }.${variant};
-        in
-        ''echo "route ${route} blackhole;" > static.conf'';
-    };
-
-    systemd.tmpfiles.rules =
-      let
-        route = { bird = "10.10.0.${hostId}/32"; bird6 = "fdff::${hostId}/128"; }.${variant};
-      in
-      [ "f /etc/bird/static.conf - - - - route ${route} blackhole;" ];
-  };
-
-  makeBird2Host = hostId: { pkgs, ... }: {
-    imports = [ (hostShared hostId) ];
 
     services.bird2 = {
       enable = true;
@@ -198,8 +99,30 @@ let
     ];
   };
 in
-{
-  bird = birdTest true;
-  bird6 = birdTest false;
-  bird2 = bird2Test;
+makeTest {
+  name = "bird2";
+
+  nodes.host1 = makeBird2Host "1";
+  nodes.host2 = makeBird2Host "2";
+
+  testScript = ''
+    start_all()
+
+    host1.wait_for_unit("bird2.service")
+    host2.wait_for_unit("bird2.service")
+
+    with subtest("Waiting for advertised IPv4 routes"):
+      host1.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.2\")) | any'")
+      host2.wait_until_succeeds("ip --json r | jq -e 'map(select(.dst == \"10.10.0.1\")) | any'")
+    with subtest("Waiting for advertised IPv6 routes"):
+      host1.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::2\")) | any'")
+      host2.wait_until_succeeds("ip --json -6 r | jq -e 'map(select(.dst == \"fdff::1\")) | any'")
+
+    with subtest("Check fake routes in preCheckConfig do not exists"):
+      host1.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'")
+      host2.fail("ip --json r | jq -e 'map(select(.dst == \"1.2.3.4\")) | any'")
+
+      host1.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'")
+      host2.fail("ip --json -6 r | jq -e 'map(select(.dst == \"fd00::\")) | any'")
+  '';
 }
diff --git a/nixos/tests/blocky.nix b/nixos/tests/blocky.nix
new file mode 100644
index 00000000000..18e7f45e1c7
--- /dev/null
+++ b/nixos/tests/blocky.nix
@@ -0,0 +1,34 @@
+import ./make-test-python.nix {
+  name = "blocky";
+
+  nodes = {
+    server = { pkgs, ... }: {
+      environment.systemPackages = [ pkgs.dnsutils ];
+      services.blocky = {
+        enable = true;
+
+        settings = {
+          customDNS = {
+            mapping = {
+              "printer.lan" = "192.168.178.3,2001:0db8:85a3:08d3:1319:8a2e:0370:7344";
+            };
+          };
+          upstream = {
+            default = [ "8.8.8.8" "1.1.1.1" ];
+          };
+          port = 53;
+          httpPort = 5000;
+          logLevel = "info";
+        };
+      };
+    };
+  };
+
+  testScript = ''
+    with subtest("Service test"):
+        server.wait_for_unit("blocky.service")
+        server.wait_for_open_port(53)
+        server.wait_for_open_port(5000)
+        server.succeed("dig @127.0.0.1 +short -x 192.168.178.3 | grep -qF printer.lan")
+  '';
+}
diff --git a/nixos/tests/bpf.nix b/nixos/tests/bpf.nix
index 233c7dab1ee..e479cd05792 100644
--- a/nixos/tests/bpf.nix
+++ b/nixos/tests/bpf.nix
@@ -18,8 +18,12 @@ import ./make-test-python.nix ({ pkgs, ... }: {
     # simple BEGIN probe (user probe on bpftrace itself)
     print(machine.succeed("bpftrace -e 'BEGIN { print(\"ok\"); exit(); }'"))
     # tracepoint
-    print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit(); }'"))
+    print(machine.succeed("bpftrace -e 'tracepoint:syscalls:sys_enter_* { print(probe); exit() }'"))
     # kprobe
     print(machine.succeed("bpftrace -e 'kprobe:schedule { print(probe); exit() }'"))
+    # BTF
+    print(machine.succeed("bpftrace -e 'kprobe:schedule { "
+        "    printf(\"tgid: %d\", ((struct task_struct*) curtask)->tgid); exit() "
+        "}'"))
   '';
 })
diff --git a/nixos/tests/doh-proxy-rust.nix b/nixos/tests/doh-proxy-rust.nix
index 23f8616849c..11ed87d23bb 100644
--- a/nixos/tests/doh-proxy-rust.nix
+++ b/nixos/tests/doh-proxy-rust.nix
@@ -38,6 +38,6 @@ import ./make-test-python.nix ({ lib, pkgs, ... }: {
     machine.wait_for_unit("doh-proxy-rust.service")
     machine.wait_for_open_port(53)
     machine.wait_for_open_port(3000)
-    machine.succeed(f"curl --fail '{url}?dns={query}' | grep -F {bin_ip}")
+    machine.succeed(f"curl --fail -H 'Accept: application/dns-message' '{url}?dns={query}' | grep -F {bin_ip}")
   '';
 })
diff --git a/nixos/tests/gitolite-fcgiwrap.nix b/nixos/tests/gitolite-fcgiwrap.nix
index fc9b214b762..38f8d5c883f 100644
--- a/nixos/tests/gitolite-fcgiwrap.nix
+++ b/nixos/tests/gitolite-fcgiwrap.nix
@@ -42,7 +42,7 @@ import ./make-test-python.nix (
                     auth_basic_user_file /etc/gitolite/htpasswd;
 
                     # common FastCGI parameters are required
-                    include ${pkgs.nginx}/conf/fastcgi_params;
+                    include ${config.services.nginx.package}/conf/fastcgi_params;
 
                     # strip the CGI program prefix
                     fastcgi_split_path_info ^(/git)(.*)$;
diff --git a/nixos/tests/home-assistant.nix b/nixos/tests/home-assistant.nix
index 5b1c07c92da..31f8a4bcc19 100644
--- a/nixos/tests/home-assistant.nix
+++ b/nixos/tests/home-assistant.nix
@@ -10,6 +10,7 @@ in {
 
   nodes.hass = { pkgs, ... }: {
     environment.systemPackages = with pkgs; [ mosquitto ];
+
     services.mosquitto = {
       enable = true;
       listeners = [ {
@@ -21,14 +22,42 @@ in {
         };
       } ];
     };
+
+    services.postgresql = {
+      enable = true;
+      ensureDatabases = [ "hass" ];
+      ensureUsers = [{
+        name = "hass";
+        ensurePermissions = {
+          "DATABASE hass" = "ALL PRIVILEGES";
+        };
+      }];
+    };
+
     services.home-assistant = {
-      inherit configDir;
       enable = true;
+      inherit configDir;
+
+      # tests loading components by overriding the package
       package = (pkgs.home-assistant.override {
+        extraPackages = ps: with ps; [
+          colorama
+        ];
         extraComponents = [ "zha" ];
       }).overrideAttrs (oldAttrs: {
         doInstallCheck = false;
       });
+
+      # tests loading components from the module
+      extraComponents = [
+        "wake_on_lan"
+      ];
+
+      # test extra package passing from the module
+      extraPackages = python3Packages: with python3Packages; [
+        psycopg2
+      ];
+
       config = {
         homeassistant = {
           name = "Home";
@@ -37,34 +66,58 @@ in {
           longitude = "0.0";
           elevation = 0;
         };
+
+        # configure the recorder component to use the postgresql db
+        recorder.db_url = "postgresql://@/hass";
+
+        # we can't load default_config, because the updater requires
+        # network access and would cause an error, so load frontend
+        # here explicitly.
+        # https://www.home-assistant.io/integrations/frontend/
         frontend = {};
+
+        # configure an mqtt broker connection
+        # https://www.home-assistant.io/integrations/mqtt
         mqtt = {
           broker = "127.0.0.1";
           username = mqttUsername;
           password = mqttPassword;
         };
-        binary_sensor = [{
+
+        # create a mqtt sensor that syncs state with its mqtt topic
+        # https://www.home-assistant.io/integrations/sensor.mqtt/
+        binary_sensor = [ {
           platform = "mqtt";
           state_topic = "home-assistant/test";
           payload_on = "let_there_be_light";
           payload_off = "off";
-        }];
-        wake_on_lan = {};
-        switch = [{
+        } ];
+
+        # set up a wake-on-lan switch to test capset capability required
+        # for the ping suid wrapper
+        # https://www.home-assistant.io/integrations/wake_on_lan/
+        switch = [ {
           platform = "wake_on_lan";
           mac = "00:11:22:33:44:55";
           host = "127.0.0.1";
-        }];
-        # tests component-based capability assignment (CAP_NET_BIND_SERVICE)
+        } ];
+
+        # test component-based capability assignment (CAP_NET_BIND_SERVICE)
+        # https://www.home-assistant.io/integrations/emulated_hue/
         emulated_hue = {
           host_ip = "127.0.0.1";
           listen_port = 80;
         };
+
+        # show mqtt interaction in the log
+        # https://www.home-assistant.io/integrations/logger/
         logger = {
           default = "info";
           logs."homeassistant.components.mqtt" = "debug";
         };
       };
+
+      # configure the sample lovelace dashboard
       lovelaceConfig = {
         title = "My Awesome Home";
         views = [{
@@ -81,34 +134,57 @@ in {
   };
 
   testScript = ''
+    import re
+
     start_all()
+
+    # Parse the package path out of the systemd unit, as we cannot
+    # access the final package, that is overriden inside the module,
+    # by any other means.
+    pattern = re.compile(r"path=(?P<path>[\/a-z0-9-.]+)\/bin\/hass")
+    response = hass.execute("systemctl show -p ExecStart home-assistant.service")[1]
+    match = pattern.search(response)
+    package = match.group('path')
+
     hass.wait_for_unit("home-assistant.service")
+
     with subtest("Check that YAML configuration file is in place"):
         hass.succeed("test -L ${configDir}/configuration.yaml")
-    with subtest("lovelace config is copied because lovelaceConfigWritable = true"):
+
+    with subtest("Check the lovelace config is copied because lovelaceConfigWritable = true"):
         hass.succeed("test -f ${configDir}/ui-lovelace.yaml")
+
+    with subtest("Check extraComponents and extraPackages are considered from the package"):
+        hass.succeed(f"grep -q 'colorama' {package}/extra_packages")
+        hass.succeed(f"grep -q 'zha' {package}/extra_components")
+
+    with subtest("Check extraComponents and extraPackages are considered from the module"):
+        hass.succeed(f"grep -q 'psycopg2' {package}/extra_packages")
+        hass.succeed(f"grep -q 'wake_on_lan' {package}/extra_components")
+
     with subtest("Check that Home Assistant's web interface and API can be reached"):
+        hass.wait_until_succeeds("journalctl -u home-assistant.service | grep -q 'Home Assistant initialized in'")
         hass.wait_for_open_port(8123)
         hass.succeed("curl --fail http://localhost:8123/lovelace")
+
     with subtest("Toggle a binary sensor using MQTT"):
         hass.wait_for_open_port(1883)
         hass.succeed(
             "mosquitto_pub -V mqttv5 -t home-assistant/test -u ${mqttUsername} -P '${mqttPassword}' -m let_there_be_light"
         )
+
     with subtest("Check that capabilities are passed for emulated_hue to bind to port 80"):
         hass.wait_for_open_port(80)
         hass.succeed("curl --fail http://localhost:80/description.xml")
+
     with subtest("Check extra components are considered in systemd unit hardening"):
         hass.succeed("systemctl show -p DeviceAllow home-assistant.service | grep -q char-ttyUSB")
+
     with subtest("Print log to ease debugging"):
         output_log = hass.succeed("cat ${configDir}/home-assistant.log")
         print("\n### home-assistant.log ###\n")
         print(output_log + "\n")
 
-    # wait for home-assistant to fully boot
-    hass.sleep(30)
-    hass.wait_for_unit("home-assistant.service")
-
     with subtest("Check that no errors were logged"):
         assert "ERROR" not in output_log
 
@@ -117,7 +193,7 @@ in {
         assert "let_there_be_light" in output_log
 
     with subtest("Check systemd unit hardening"):
-        hass.log(hass.succeed("systemctl show home-assistant.service"))
+        hass.log(hass.succeed("systemctl cat home-assistant.service"))
         hass.log(hass.succeed("systemd-analyze security home-assistant.service"))
   '';
 })
diff --git a/nixos/tests/kubernetes/base.nix b/nixos/tests/kubernetes/base.nix
index f0c72084be5..d4410beb937 100644
--- a/nixos/tests/kubernetes/base.nix
+++ b/nixos/tests/kubernetes/base.nix
@@ -18,7 +18,7 @@ let
         ${master.ip}  api.${domain}
         ${concatMapStringsSep "\n" (machineName: "${machines.${machineName}.ip}  ${machineName}.${domain}") (attrNames machines)}
       '';
-      kubectl = with pkgs; runCommand "wrap-kubectl" { buildInputs = [ makeWrapper ]; } ''
+      wrapKubectl = with pkgs; runCommand "wrap-kubectl" { buildInputs = [ makeWrapper ]; } ''
         mkdir -p $out/bin
         makeWrapper ${pkgs.kubernetes}/bin/kubectl $out/bin/kubectl --set KUBECONFIG "/etc/kubernetes/cluster-admin.kubeconfig"
       '';
@@ -48,7 +48,7 @@ let
                 };
               };
               programs.bash.enableCompletion = true;
-              environment.systemPackages = [ kubectl ];
+              environment.systemPackages = [ wrapKubectl ];
               services.flannel.iface = "eth1";
               services.kubernetes = {
                 proxy.hostname = "${masterName}.${domain}";
diff --git a/nixos/tests/kubernetes/rbac.nix b/nixos/tests/kubernetes/rbac.nix
index ca73562256e..9e73fbbd32a 100644
--- a/nixos/tests/kubernetes/rbac.nix
+++ b/nixos/tests/kubernetes/rbac.nix
@@ -76,7 +76,7 @@ let
     }];
   });
 
-  kubectl = pkgs.runCommand "copy-kubectl" { buildInputs = [ pkgs.kubernetes ]; } ''
+  copyKubectl = pkgs.runCommand "copy-kubectl" { } ''
     mkdir -p $out/bin
     cp ${pkgs.kubernetes}/bin/kubectl $out/bin/kubectl
   '';
@@ -84,7 +84,7 @@ let
   kubectlImage = pkgs.dockerTools.buildImage {
     name = "kubectl";
     tag = "latest";
-    contents = [ kubectl pkgs.busybox kubectlPod2 ];
+    contents = [ copyKubectl pkgs.busybox kubectlPod2 ];
     config.Entrypoint = ["/bin/sh"];
   };
 
diff --git a/nixos/tests/logrotate.nix b/nixos/tests/logrotate.nix
new file mode 100644
index 00000000000..0f6b59f071d
--- /dev/null
+++ b/nixos/tests/logrotate.nix
@@ -0,0 +1,35 @@
+# Test logrotate service works and is enabled by default
+
+import ./make-test-python.nix ({ pkgs, ...} : rec {
+  name = "logrotate";
+  meta = with pkgs.lib.maintainers; {
+    maintainers = [ martinetd ];
+  };
+
+  # default machine
+  machine = { ... }: {
+  };
+
+  testScript =
+    ''
+      with subtest("whether logrotate works"):
+          machine.succeed(
+              # we must rotate once first to create logrotate stamp
+              "systemctl start --wait logrotate.service",
+
+              # wtmp is present in default config.
+              "rm -f /var/log/wtmp*",
+              "echo test > /var/log/wtmp",
+
+              # move into the future and rotate
+              "date -s 'now + 1 month + 1 day'",
+              # systemd will run logrotate from logrotate.timer automatically
+              # on date change, but if we want to wait for it to terminate
+              # it's easier to run again...
+              "systemctl start --wait logrotate.service",
+
+              # check rotate worked
+              "[ -e /var/log/wtmp.1 ]",
+          )
+    '';
+})
diff --git a/nixos/tests/miniflux.nix b/nixos/tests/miniflux.nix
index 1015550fa8c..d905aea048a 100644
--- a/nixos/tests/miniflux.nix
+++ b/nixos/tests/miniflux.nix
@@ -7,6 +7,15 @@ let
   defaultPort = 8080;
   defaultUsername = "admin";
   defaultPassword = "password";
+  adminCredentialsFile = pkgs.writeText "admin-credentials" ''
+            ADMIN_USERNAME=${defaultUsername}
+            ADMIN_PASSWORD=${defaultPassword}
+          '';
+  customAdminCredentialsFile = pkgs.writeText "admin-credentials" ''
+            ADMIN_USERNAME=${username}
+            ADMIN_PASSWORD=${password}
+          '';
+
 in
 with lib;
 {
@@ -17,13 +26,19 @@ with lib;
     default =
       { ... }:
       {
-        services.miniflux.enable = true;
+        services.miniflux = {
+          enable = true;
+          inherit adminCredentialsFile;
+        };
       };
 
     withoutSudo =
       { ... }:
       {
-        services.miniflux.enable = true;
+        services.miniflux = {
+          enable = true;
+          inherit adminCredentialsFile;
+        };
         security.sudo.enable = false;
       };
 
@@ -36,10 +51,7 @@ with lib;
             CLEANUP_FREQUENCY = "48";
             LISTEN_ADDR = "localhost:${toString port}";
           };
-          adminCredentialsFile = pkgs.writeText "admin-credentials" ''
-            ADMIN_USERNAME=${username}
-            ADMIN_PASSWORD=${password}
-          '';
+          adminCredentialsFile = customAdminCredentialsFile;
         };
       };
   };
diff --git a/nixos/tests/moosefs.nix b/nixos/tests/moosefs.nix
new file mode 100644
index 00000000000..0dc08748b82
--- /dev/null
+++ b/nixos/tests/moosefs.nix
@@ -0,0 +1,89 @@
+import ./make-test-python.nix ({ pkgs, ... } :
+
+let
+  master = { pkgs, ... } : {
+    # data base is stored in memory
+    # server crashes with default memory size
+    virtualisation.memorySize = 1024;
+
+    services.moosefs.master = {
+      enable = true;
+      openFirewall = true;
+      exports = [
+        "* / rw,alldirs,admin,maproot=0:0"
+        "* . rw"
+      ];
+    };
+  };
+
+  chunkserver = { pkgs, ... } : {
+    virtualisation.emptyDiskImages = [ 4096 ];
+    boot.initrd.postDeviceCommands = ''
+      ${pkgs.e2fsprogs}/bin/mkfs.ext4 -L data /dev/vdb
+    '';
+
+    fileSystems = pkgs.lib.mkVMOverride {
+      "/data" = {
+        device = "/dev/disk/by-label/data";
+        fsType = "ext4";
+      };
+    };
+
+    services.moosefs = {
+      masterHost = "master";
+      chunkserver = {
+        openFirewall = true;
+        enable = true;
+        hdds = [ "~/data" ];
+      };
+    };
+  };
+
+  metalogger = { pkgs, ... } : {
+    services.moosefs = {
+      masterHost = "master";
+      metalogger.enable = true;
+    };
+  };
+
+  client = { pkgs, ... } : {
+    services.moosefs.client.enable = true;
+  };
+
+in {
+  name = "moosefs";
+
+  nodes= {
+    inherit master;
+    inherit metalogger;
+    chunkserver1 = chunkserver;
+    chunkserver2 = chunkserver;
+    client1 = client;
+    client2 = client;
+  };
+
+  testScript = ''
+    # prepare master server
+    master.start()
+    master.wait_for_unit("multi-user.target")
+    master.succeed("mfsmaster-init")
+    master.succeed("systemctl restart mfs-master")
+    master.wait_for_unit("mfs-master.service")
+
+    metalogger.wait_for_unit("mfs-metalogger.service")
+
+    for chunkserver in [chunkserver1, chunkserver2]:
+        chunkserver.wait_for_unit("multi-user.target")
+        chunkserver.succeed("chown moosefs:moosefs /data")
+        chunkserver.succeed("systemctl restart mfs-chunkserver")
+        chunkserver.wait_for_unit("mfs-chunkserver.service")
+
+    for client in [client1, client2]:
+        client.wait_for_unit("multi-user.target")
+        client.succeed("mkdir /moosefs")
+        client.succeed("mount -t moosefs master:/ /moosefs")
+
+    client1.succeed("echo test > /moosefs/file")
+    client2.succeed("grep test /moosefs/file")
+  '';
+})
diff --git a/nixos/tests/nano.nix b/nixos/tests/nano.nix
deleted file mode 100644
index 6585a6842e8..00000000000
--- a/nixos/tests/nano.nix
+++ /dev/null
@@ -1,44 +0,0 @@
-import ./make-test-python.nix ({ pkgs, ...} : {
-  name = "nano";
-  meta = with pkgs.lib.maintainers; {
-    maintainers = [ nequissimus ];
-  };
-
-  machine = { lib, ... }: {
-    environment.systemPackages = [ pkgs.nano ];
-  };
-
-  testScript = { ... }: ''
-    start_all()
-
-    with subtest("Create user and log in"):
-        machine.wait_for_unit("multi-user.target")
-        machine.wait_until_succeeds("pgrep -f 'agetty.*tty1'")
-        machine.succeed("useradd -m alice")
-        machine.succeed("(echo foobar; echo foobar) | passwd alice")
-        machine.wait_until_tty_matches(1, "login: ")
-        machine.send_chars("alice\n")
-        machine.wait_until_tty_matches(1, "login: alice")
-        machine.wait_until_succeeds("pgrep login")
-        machine.wait_until_tty_matches(1, "Password: ")
-        machine.send_chars("foobar\n")
-        machine.wait_until_succeeds("pgrep -u alice bash")
-        machine.screenshot("prompt")
-
-    with subtest("Use nano"):
-        machine.send_chars("nano /tmp/foo")
-        machine.send_key("ret")
-        machine.sleep(2)
-        machine.send_chars("42")
-        machine.sleep(1)
-        machine.send_key("ctrl-x")
-        machine.sleep(1)
-        machine.send_key("y")
-        machine.sleep(1)
-        machine.screenshot("nano")
-        machine.sleep(1)
-        machine.send_key("ret")
-        machine.wait_for_file("/tmp/foo")
-        assert "42" in machine.succeed("cat /tmp/foo")
-  '';
-})
diff --git a/nixos/tests/networking.nix b/nixos/tests/networking.nix
index 2510937b5dc..8c9df19f2d5 100644
--- a/nixos/tests/networking.nix
+++ b/nixos/tests/networking.nix
@@ -246,13 +246,13 @@ let
         networking = {
           useNetworkd = networkd;
           useDHCP = false;
-          bonds.bond = {
+          bonds.bond0 = {
             interfaces = [ "eth1" "eth2" ];
-            driverOptions.mode = "balance-rr";
+            driverOptions.mode = "802.3ad";
           };
           interfaces.eth1.ipv4.addresses = mkOverride 0 [ ];
           interfaces.eth2.ipv4.addresses = mkOverride 0 [ ];
-          interfaces.bond.ipv4.addresses = mkOverride 0
+          interfaces.bond0.ipv4.addresses = mkOverride 0
             [ { inherit address; prefixLength = 30; } ];
         };
       };
@@ -274,6 +274,10 @@ let
 
               client2.wait_until_succeeds("ping -c 2 192.168.1.1")
               client2.wait_until_succeeds("ping -c 2 192.168.1.2")
+
+          with subtest("Verify bonding mode"):
+              for client in client1, client2:
+                  client.succeed('grep -q "Bonding Mode: IEEE 802.3ad Dynamic link aggregation" /proc/net/bonding/bond0')
         '';
     };
     bridge = let
@@ -864,7 +868,7 @@ let
         print(client.succeed("ip l add name foo type dummy"))
         print(client.succeed("stat /etc/systemd/network/50-foo.link"))
         client.succeed("udevadm settle")
-        assert "mtu 1442" in client.succeed("ip l show dummy0")
+        assert "mtu 1442" in client.succeed("ip l show dev foo")
       '';
     };
     wlanInterface = let
diff --git a/nixos/tests/nginx-modsecurity.nix b/nixos/tests/nginx-modsecurity.nix
new file mode 100644
index 00000000000..8c53c0196d4
--- /dev/null
+++ b/nixos/tests/nginx-modsecurity.nix
@@ -0,0 +1,39 @@
+import ./make-test-python.nix ({ pkgs, lib, ... }: {
+  name = "nginx-modsecurity";
+
+  machine = { config, lib, pkgs, ... }: {
+    services.nginx = {
+      enable = true;
+      additionalModules = [ pkgs.nginxModules.modsecurity-nginx ];
+      virtualHosts.localhost =
+        let modsecurity_conf = pkgs.writeText "modsecurity.conf" ''
+          SecRuleEngine On
+          SecDefaultAction "phase:1,log,auditlog,deny,status:403"
+          SecDefaultAction "phase:2,log,auditlog,deny,status:403"
+          SecRule REQUEST_METHOD   "HEAD"        "id:100, phase:1, block"
+          SecRule REQUEST_FILENAME "secret.html" "id:101, phase:2, block"
+        '';
+        testroot = pkgs.runCommand "testroot" {} ''
+          mkdir -p $out
+          echo "<html><body>Hello World!</body></html>" > $out/index.html
+          echo "s3cret" > $out/secret.html
+        '';
+      in {
+        root = testroot;
+        extraConfig = ''
+          modsecurity on;
+          modsecurity_rules_file ${modsecurity_conf};
+        '';
+      };
+    };
+  };
+  testScript = ''
+    machine.wait_for_unit("nginx")
+
+    response = machine.wait_until_succeeds("curl -fvvv -s http://127.0.0.1/")
+    assert "Hello World!" in response
+
+    machine.fail("curl -fvvv -X HEAD -s http://127.0.0.1/")
+    machine.fail("curl -fvvv -s http://127.0.0.1/secret.html")
+  '';
+})
diff --git a/nixos/tests/php/fpm.nix b/nixos/tests/php/fpm.nix
index 31a79bb4dbe..718a635a6c7 100644
--- a/nixos/tests/php/fpm.nix
+++ b/nixos/tests/php/fpm.nix
@@ -17,7 +17,7 @@ import ../make-test-python.nix ({ pkgs, lib, php, ... }: {
           locations."~ \\.php$".extraConfig = ''
             fastcgi_pass unix:${config.services.phpfpm.pools.foobar.socket};
             fastcgi_index index.php;
-            include ${pkgs.nginx}/conf/fastcgi_params;
+            include ${config.services.nginx.package}/conf/fastcgi_params;
             include ${pkgs.nginx}/conf/fastcgi.conf;
           '';
           locations."/" = {
diff --git a/nixos/tests/podman/default.nix b/nixos/tests/podman/default.nix
index b52a7f060ad..67c7823c5a3 100644
--- a/nixos/tests/podman/default.nix
+++ b/nixos/tests/podman/default.nix
@@ -126,7 +126,7 @@ import ../make-test-python.nix (
           podman.succeed("docker network create default")
           podman.succeed("tar cv --files-from /dev/null | podman import - scratchimg")
           podman.succeed(
-            "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+            "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin localhost/scratchimg /bin/sleep 10"
           )
           podman.succeed("docker ps | grep sleeping")
           podman.succeed("podman ps | grep sleeping")
diff --git a/nixos/tests/podman/tls-ghostunnel.nix b/nixos/tests/podman/tls-ghostunnel.nix
index c0bc47cc40b..268a55701cc 100644
--- a/nixos/tests/podman/tls-ghostunnel.nix
+++ b/nixos/tests/podman/tls-ghostunnel.nix
@@ -129,7 +129,7 @@ import ../make-test-python.nix (
           podman.succeed("tar cv --files-from /dev/null | podman import - scratchimg")
 
           client.succeed(
-            "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin scratchimg /bin/sleep 10"
+            "docker run -d --name=sleeping -v /nix/store:/nix/store -v /run/current-system/sw/bin:/bin localhost/scratchimg /bin/sleep 10"
           )
           client.succeed("docker ps | grep sleeping")
           podman.succeed("docker ps | grep sleeping")
diff --git a/nixos/tests/prometheus-exporters.nix b/nixos/tests/prometheus-exporters.nix
index 036c037e426..323d79c5b86 100644
--- a/nixos/tests/prometheus-exporters.nix
+++ b/nixos/tests/prometheus-exporters.nix
@@ -672,7 +672,7 @@ let
             basicAuth.nextcloud-exporter = "snakeoilpw";
             locations."/" = {
               root = "${pkgs.prometheus-nextcloud-exporter.src}/serverinfo/testdata";
-              tryFiles = "/negative-space.xml =404";
+              tryFiles = "/negative-space.json =404";
             };
           };
         };
diff --git a/nixos/tests/retroarch.nix b/nixos/tests/retroarch.nix
new file mode 100644
index 00000000000..4c96f9eabc8
--- /dev/null
+++ b/nixos/tests/retroarch.nix
@@ -0,0 +1,49 @@
+import ./make-test-python.nix ({ pkgs, ... }:
+
+  {
+    name = "retroarch";
+    meta = with pkgs.lib.maintainers; { maintainers = [ j0hax ]; };
+
+    machine = { ... }:
+
+      {
+        imports = [ ./common/user-account.nix ];
+        services.xserver.enable = true;
+        services.xserver.desktopManager.retroarch = {
+          enable = true;
+          package = pkgs.retroarchFull;
+        };
+        services.xserver.displayManager = {
+          sddm.enable = true;
+          defaultSession = "RetroArch";
+          autoLogin = {
+            enable = true;
+            user = "alice";
+          };
+        };
+      };
+
+    testScript = { nodes, ... }:
+      let
+        user = nodes.machine.config.users.users.alice;
+        xdo = "${pkgs.xdotool}/bin/xdotool";
+      in ''
+        with subtest("Wait for login"):
+            start_all()
+            machine.wait_for_file("${user.home}/.Xauthority")
+            machine.succeed("xauth merge ${user.home}/.Xauthority")
+
+        with subtest("Check RetroArch started"):
+            machine.wait_until_succeeds("pgrep retroarch")
+            machine.wait_for_window("^RetroArch ")
+
+        with subtest("Check configuration created"):
+            machine.wait_for_file("${user.home}/.config/retroarch/retroarch.cfg")
+
+        with subtest("Wait to get a screenshot"):
+            machine.execute(
+                "${xdo} key Alt+F1 sleep 10"
+            )
+            machine.screenshot("screen")
+      '';
+  })
diff --git a/nixos/tests/sourcehut.nix b/nixos/tests/sourcehut.nix
index d1536c59322..55757e35f9b 100644
--- a/nixos/tests/sourcehut.nix
+++ b/nixos/tests/sourcehut.nix
@@ -125,13 +125,18 @@ in
     virtualisation.memorySize = 2 * 1024;
     networking.domain = domain;
     networking.extraHosts = ''
-      ${config.networking.primaryIPAddress} meta.${domain}
       ${config.networking.primaryIPAddress} builds.${domain}
+      ${config.networking.primaryIPAddress} git.${domain}
+      ${config.networking.primaryIPAddress} meta.${domain}
     '';
 
     services.sourcehut = {
       enable = true;
-      services = [ "meta" "builds" ];
+      services = [
+        "builds"
+        "git"
+        "meta"
+      ];
       nginx.enable = true;
       nginx.virtualHost = {
         forceSSL = true;
@@ -148,6 +153,8 @@ in
         #enableWorker = true;
         inherit images;
       };
+      git.enable = true;
+
       settings."sr.ht" = {
         global-domain = config.networking.domain;
         service-key = pkgs.writeText "service-key" "8b327279b77e32a3620e2fc9aabce491cc46e7d821fd6713b2a2e650ce114d01";
@@ -157,6 +164,10 @@ in
         oauth-client-secret = pkgs.writeText "buildsrht-oauth-client-secret" "2260e9c4d9b8dcedcef642860e0504bc";
         oauth-client-id = "299db9f9c2013170";
       };
+      settings."git.sr.ht" = {
+        oauth-client-secret = pkgs.writeText "gitsrht-oauth-client-secret" "3597288dc2c716e567db5384f493b09d";
+        oauth-client-id = "d07cb713d920702e";
+      };
       settings.webhooks.private-key = pkgs.writeText "webhook-key" "Ra3IjxgFiwG9jxgp4WALQIZw/BMYt30xWiOsqD0J7EA=";
     };
 
@@ -193,5 +204,9 @@ in
     machine.wait_for_open_port(5002)
     machine.succeed("curl -sL http://localhost:5002 | grep builds.${domain}")
     #machine.wait_for_unit("buildsrht-worker.service")
+
+    # Testing gitsrht
+    machine.wait_for_unit("gitsrht.service")
+    machine.succeed("curl -sL http://git.${domain} | grep git.${domain}")
   '';
 })
diff --git a/nixos/tests/switch-test.nix b/nixos/tests/switch-test.nix
index 8e425f0f877..4f297b6521d 100644
--- a/nixos/tests/switch-test.nix
+++ b/nixos/tests/switch-test.nix
@@ -18,6 +18,7 @@ import ./make-test-python.nix ({ pkgs, ...} : {
               Type = "oneshot";
               RemainAfterExit = true;
               ExecStart = "${pkgs.coreutils}/bin/true";
+              ExecReload = "${pkgs.coreutils}/bin/true";
             };
           };
         };
@@ -70,6 +71,97 @@ import ./make-test-python.nix ({ pkgs, ...} : {
           };
         };
 
+        simpleServiceWithExtraSection.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.packages = [ (pkgs.writeTextFile {
+            name = "systemd-extra-section";
+            destination = "/etc/systemd/system/test.service";
+            text = ''
+              [X-Test]
+              X-Test-Value=a
+            '';
+          }) ];
+        };
+
+        simpleServiceWithExtraSectionOtherName.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.packages = [ (pkgs.writeTextFile {
+            name = "systemd-extra-section";
+            destination = "/etc/systemd/system/test.service";
+            text = ''
+              [X-Test2]
+              X-Test-Value=a
+            '';
+          }) ];
+        };
+
+        simpleServiceWithInstallSection.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.packages = [ (pkgs.writeTextFile {
+            name = "systemd-extra-section";
+            destination = "/etc/systemd/system/test.service";
+            text = ''
+              [Install]
+              WantedBy=multi-user.target
+            '';
+          }) ];
+        };
+
+        simpleServiceWithExtraKey.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.services.test.serviceConfig."X-Test" = "test";
+        };
+
+        simpleServiceWithExtraKeyOtherValue.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.services.test.serviceConfig."X-Test" = "test2";
+        };
+
+        simpleServiceWithExtraKeyOtherName.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.services.test.serviceConfig."X-Test2" = "test";
+        };
+
+        simpleServiceReloadTrigger.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.services.test.reloadTriggers = [ "/dev/null" ];
+        };
+
+        simpleServiceReloadTriggerModified.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.services.test.reloadTriggers = [ "/dev/zero" ];
+        };
+
+        simpleServiceReloadTriggerModifiedAndSomethingElse.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.services.test = {
+            reloadTriggers = [ "/dev/zero" ];
+            serviceConfig."X-Test" = "test";
+          };
+        };
+
+        simpleServiceReloadTriggerModifiedSomethingElse.configuration = {
+          imports = [ simpleServiceNostop.configuration ];
+          systemd.services.test.serviceConfig."X-Test" = "test";
+        };
+
+        unitWithBackslash.configuration = {
+          systemd.services."escaped\\x2ddash" = {
+            wantedBy = [ "multi-user.target" ];
+            serviceConfig = {
+              Type = "oneshot";
+              RemainAfterExit = true;
+              ExecStart = "${pkgs.coreutils}/bin/true";
+              ExecReload = "${pkgs.coreutils}/bin/true";
+            };
+          };
+        };
+
+        unitWithBackslashModified.configuration = {
+          imports = [ unitWithBackslash.configuration ];
+          systemd.services."escaped\\x2ddash".serviceConfig.X-Test = "test";
+        };
+
         restart-and-reload-by-activation-script.configuration = {
           systemd.services = rec {
             simple-service = {
@@ -93,6 +185,17 @@ import ./make-test-python.nix ({ pkgs, ...} : {
             no-restart-service = simple-service // {
               restartIfChanged = false;
             };
+
+            reload-triggers = simple-service // {
+              wantedBy = [ "multi-user.target" ];
+            };
+
+            reload-triggers-and-restart-by-as = simple-service;
+
+            reload-triggers-and-restart = simple-service // {
+              stopIfChanged = false; # easier to check for this
+              wantedBy = [ "multi-user.target" ];
+            };
           };
 
           system.activationScripts.restart-and-reload-test = {
@@ -101,19 +204,33 @@ import ./make-test-python.nix ({ pkgs, ...} : {
             text = ''
               if [ "$NIXOS_ACTION" = dry-activate ]; then
                 f=/run/nixos/dry-activation-restart-list
+                g=/run/nixos/dry-activation-reload-list
               else
                 f=/run/nixos/activation-restart-list
+                g=/run/nixos/activation-reload-list
               fi
               cat <<EOF >> "$f"
               simple-service.service
               simple-restart-service.service
               simple-reload-service.service
               no-restart-service.service
+              reload-triggers-and-restart-by-as.service
+              EOF
+
+              cat <<EOF >> "$g"
+              reload-triggers.service
+              reload-triggers-and-restart-by-as.service
+              reload-triggers-and-restart.service
               EOF
             '';
           };
         };
 
+        restart-and-reload-by-activation-script-modified.configuration = {
+          imports = [ restart-and-reload-by-activation-script.configuration ];
+          systemd.services.reload-triggers-and-restart.serviceConfig.X-Modified = "test";
+        };
+
         mount.configuration = {
           systemd.mounts = [
             {
@@ -241,6 +358,8 @@ import ./make-test-python.nix ({ pkgs, ...} : {
             raise Exception(f"Unexpected string '{needle}' was found")
 
 
+    machine.wait_for_unit("multi-user.target")
+
     machine.succeed(
         "${stderrRunner} ${originalSystem}/bin/switch-to-configuration test"
     )
@@ -331,6 +450,25 @@ import ./make-test-python.nix ({ pkgs, ...} : {
         assert_lacks(out, "as well:")
         assert_contains(out, "would start the following units: test.service\n")
 
+        # Ensure \ works in unit names
+        out = switch_to_specialisation("${machine}", "unitWithBackslash")
+        assert_contains(out, "stopping the following units: test.service\n")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_lacks(out, "\nrestarting the following units:")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_contains(out, "the following new units were started: escaped\\x2ddash.service\n")
+        assert_lacks(out, "as well:")
+
+        out = switch_to_specialisation("${machine}", "unitWithBackslashModified")
+        assert_contains(out, "stopping the following units: escaped\\x2ddash.service\n")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_lacks(out, "\nrestarting the following units:")
+        assert_contains(out, "\nstarting the following units: escaped\\x2ddash.service\n")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
     with subtest("failing units"):
         # Let the simple service fail
         switch_to_specialisation("${machine}", "simpleServiceModified")
@@ -379,6 +517,130 @@ import ./make-test-python.nix ({ pkgs, ...} : {
         assert_contains(out, "Main PID:")  # output of systemctl
         assert_lacks(out, "as well:")
 
+    with subtest("unit file parser"):
+        # Switch to a well-known state
+        switch_to_specialisation("${machine}", "simpleServiceNostop")
+
+        # Add a section
+        out = switch_to_specialisation("${machine}", "simpleServiceWithExtraSection")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Rename it
+        out = switch_to_specialisation("${machine}", "simpleServiceWithExtraSectionOtherName")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Remove it
+        out = switch_to_specialisation("${machine}", "simpleServiceNostop")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # [Install] section is ignored
+        out = switch_to_specialisation("${machine}", "simpleServiceWithInstallSection")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_lacks(out, "\nrestarting the following units:")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Add a key
+        out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKey")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Change its value
+        out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKeyOtherValue")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Rename it
+        out = switch_to_specialisation("${machine}", "simpleServiceWithExtraKeyOtherName")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Remove it
+        out = switch_to_specialisation("${machine}", "simpleServiceNostop")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Add a reload trigger
+        out = switch_to_specialisation("${machine}", "simpleServiceReloadTrigger")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_contains(out, "reloading the following units: test.service\n")
+        assert_lacks(out, "\nrestarting the following units:")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Modify the reload trigger
+        out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModified")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_contains(out, "reloading the following units: test.service\n")
+        assert_lacks(out, "\nrestarting the following units:")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Modify the reload trigger and something else
+        out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModifiedAndSomethingElse")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_contains(out, "\nrestarting the following units: test.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
+        # Remove the reload trigger
+        out = switch_to_specialisation("${machine}", "simpleServiceReloadTriggerModifiedSomethingElse")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_lacks(out, "reloading the following units:")
+        assert_lacks(out, "\nrestarting the following units:")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "the following new units were started:")
+        assert_lacks(out, "as well:")
+
     with subtest("restart and reload by activation script"):
         switch_to_specialisation("${machine}", "simpleServiceNorestart")
         out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script")
@@ -386,23 +648,32 @@ import ./make-test-python.nix ({ pkgs, ...} : {
         assert_lacks(out, "NOT restarting the following changed units:")
         assert_lacks(out, "reloading the following units:")
         assert_lacks(out, "restarting the following units:")
-        assert_contains(out, "\nstarting the following units: no-restart-service.service, simple-reload-service.service, simple-restart-service.service, simple-service.service\n")
+        assert_contains(out, "\nstarting the following units: no-restart-service.service, reload-triggers-and-restart-by-as.service, simple-reload-service.service, simple-restart-service.service, simple-service.service\n")
         assert_lacks(out, "as well:")
         # Switch to the same system where the example services get restarted
-        # by the activation script
+        # and reloaded by the activation script
         out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script")
         assert_lacks(out, "stopping the following units:")
         assert_lacks(out, "NOT restarting the following changed units:")
-        assert_contains(out, "reloading the following units: simple-reload-service.service\n")
-        assert_contains(out, "restarting the following units: simple-restart-service.service, simple-service.service\n")
+        assert_contains(out, "reloading the following units: reload-triggers-and-restart.service, reload-triggers.service, simple-reload-service.service\n")
+        assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, simple-restart-service.service, simple-service.service\n")
+        assert_lacks(out, "\nstarting the following units:")
+        assert_lacks(out, "as well:")
+        # Switch to the same system and see if the service gets restarted when it's modified
+        # while the fact that it's supposed to be reloaded by the activation script is ignored.
+        out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script-modified")
+        assert_lacks(out, "stopping the following units:")
+        assert_lacks(out, "NOT restarting the following changed units:")
+        assert_contains(out, "reloading the following units: reload-triggers.service, simple-reload-service.service\n")
+        assert_contains(out, "restarting the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
         assert_lacks(out, "\nstarting the following units:")
         assert_lacks(out, "as well:")
         # The same, but in dry mode
         out = switch_to_specialisation("${machine}", "restart-and-reload-by-activation-script", action="dry-activate")
         assert_lacks(out, "would stop the following units:")
         assert_lacks(out, "would NOT stop the following changed units:")
-        assert_contains(out, "would reload the following units: simple-reload-service.service\n")
-        assert_contains(out, "would restart the following units: simple-restart-service.service, simple-service.service\n")
+        assert_contains(out, "would reload the following units: reload-triggers.service, simple-reload-service.service\n")
+        assert_contains(out, "would restart the following units: reload-triggers-and-restart-by-as.service, reload-triggers-and-restart.service, simple-restart-service.service, simple-service.service\n")
         assert_lacks(out, "\nwould start the following units:")
         assert_lacks(out, "as well:")
 
diff --git a/nixos/tests/systemd-machinectl.nix b/nixos/tests/systemd-machinectl.nix
new file mode 100644
index 00000000000..4fc5864357c
--- /dev/null
+++ b/nixos/tests/systemd-machinectl.nix
@@ -0,0 +1,85 @@
+import ./make-test-python.nix (
+  let
+
+    container = {
+      # We re-use the NixOS container option ...
+      boot.isContainer = true;
+      # ... and revert unwanted defaults
+      networking.useHostResolvConf = false;
+
+      # use networkd to obtain systemd network setup
+      networking.useNetworkd = true;
+      networking.useDHCP = false;
+
+      # systemd-nspawn expects /sbin/init
+      boot.loader.initScript.enable = true;
+
+      imports = [ ../modules/profiles/minimal.nix ];
+    };
+
+    containerSystem = (import ../lib/eval-config.nix {
+      modules = [ container ];
+    }).config.system.build.toplevel;
+
+    containerName = "container";
+    containerRoot = "/var/lib/machines/${containerName}";
+
+  in
+  {
+    name = "systemd-machinectl";
+
+    machine = { lib, ... }: {
+      # use networkd to obtain systemd network setup
+      networking.useNetworkd = true;
+      networking.useDHCP = false;
+      services.resolved.enable = false;
+
+      # open DHCP server on interface to container
+      networking.firewall.trustedInterfaces = [ "ve-+" ];
+
+      # do not try to access cache.nixos.org
+      nix.settings.substituters = lib.mkForce [ ];
+
+      virtualisation.additionalPaths = [ containerSystem ];
+    };
+
+    testScript = ''
+      start_all()
+      machine.wait_for_unit("default.target");
+
+      # Install container
+      machine.succeed("mkdir -p ${containerRoot}");
+      # Workaround for nixos-install
+      machine.succeed("chmod o+rx /var/lib/machines");
+      machine.succeed("nixos-install --root ${containerRoot} --system ${containerSystem} --no-channel-copy --no-root-passwd");
+
+      # Allow systemd-nspawn to apply user namespace on immutable files
+      machine.succeed("chattr -i ${containerRoot}/var/empty");
+
+      # Test machinectl start
+      machine.succeed("machinectl start ${containerName}");
+      machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
+
+      # Test systemd-nspawn network configuration
+      machine.succeed("ping -n -c 1 ${containerName}");
+
+      # Test systemd-nspawn uses a user namespace
+      machine.succeed("test `stat ${containerRoot}/var/empty -c %u%g` != 00");
+
+      # Test systemd-nspawn reboot
+      machine.succeed("machinectl shell ${containerName} /run/current-system/sw/bin/reboot");
+      machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
+
+      # Test machinectl reboot
+      machine.succeed("machinectl reboot ${containerName}");
+      machine.wait_until_succeeds("systemctl -M ${containerName} is-active default.target");
+
+      # Test machinectl stop
+      machine.succeed("machinectl stop ${containerName}");
+
+      # Show to to delete the container
+      machine.succeed("chattr -i ${containerRoot}/var/empty");
+      machine.succeed("rm -rf ${containerRoot}");
+    '';
+  }
+)
diff --git a/nixos/tests/web-servers/agate.nix b/nixos/tests/web-servers/agate.nix
new file mode 100644
index 00000000000..e364e134cfd
--- /dev/null
+++ b/nixos/tests/web-servers/agate.nix
@@ -0,0 +1,29 @@
+import ../make-test-python.nix (
+  { pkgs, lib, ... }:
+  {
+    name = "agate";
+    meta = with lib.maintainers; { maintainers = [ jk ]; };
+
+    nodes = {
+      geminiserver = { pkgs, ... }: {
+        services.agate = {
+          enable = true;
+          hostnames = [ "localhost" ];
+          contentDir = pkgs.writeTextDir "index.gmi" ''
+            # Hello NixOS!
+          '';
+        };
+      };
+    };
+
+    testScript = { nodes, ... }: ''
+      geminiserver.wait_for_unit("agate")
+      geminiserver.wait_for_open_port(1965)
+
+      with subtest("check is serving over gemini"):
+        response = geminiserver.succeed("${pkgs.gmni}/bin/gmni -j once -i -N gemini://localhost:1965")
+        print(response)
+        assert "Hello NixOS!" in response
+    '';
+  }
+)
diff --git a/nixos/tests/wine.nix b/nixos/tests/wine.nix
index 18ad759b551..cc449864c76 100644
--- a/nixos/tests/wine.nix
+++ b/nixos/tests/wine.nix
@@ -17,7 +17,7 @@ let
 
       machine = { pkgs, ... }: {
         environment.systemPackages = [ pkgs."${packageSet}"."${variant}" ];
-        virtualisation.diskSize = "800";
+        virtualisation.diskSize = 800;
       };
 
       testScript = ''
diff --git a/pkgs/applications/accessibility/contrast/default.nix b/pkgs/applications/accessibility/contrast/default.nix
index 44bee86880a..2f9e40616d5 100644
--- a/pkgs/applications/accessibility/contrast/default.nix
+++ b/pkgs/applications/accessibility/contrast/default.nix
@@ -2,25 +2,23 @@
 , lib
 , fetchFromGitLab
 , cairo
-, dbus
 , desktop-file-utils
 , gettext
 , glib
-, gtk3
-, libhandy_0
-, libsass
+, gtk4
+, libadwaita
 , meson
 , ninja
 , pango
 , pkg-config
 , python3
 , rustPlatform
-, wrapGAppsHook
+, wrapGAppsHook4
 }:
 
 stdenv.mkDerivation rec {
   pname = "contrast";
-  version = "0.0.3";
+  version = "0.0.5";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -28,13 +26,13 @@ stdenv.mkDerivation rec {
     owner = "design";
     repo = "contrast";
     rev = version;
-    sha256 = "0kk3mv7a6y258109xvgicmsi0lw0rcs00gfyivl5hdz7qh47iccy";
+    sha256 = "cypSbqLwSmauOoWOuppWpF3hvrxiqmkLspxAWzvlUC0=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-ePkPiWGn79PHrMsSEql5OXZW5uRMdTP+w0/DCcm2KG4=";
+    hash = "sha256-W4FyqwJpimf0isQRCq9TegpTQPQfsumx40AFQCFG5VQ=";
   };
 
   nativeBuildInputs = [
@@ -47,29 +45,31 @@ stdenv.mkDerivation rec {
     rustPlatform.rust.cargo
     rustPlatform.cargoSetupHook
     rustPlatform.rust.rustc
-    wrapGAppsHook
+    wrapGAppsHook4
     glib # for glib-compile-resources
   ];
 
   buildInputs = [
     cairo
-    dbus
     glib
-    gtk3
-    libhandy_0
-    libsass
+    gtk4
+    libadwaita
     pango
   ];
 
   postPatch = ''
     patchShebangs build-aux/meson_post_install.py
+    # https://gitlab.gnome.org/World/design/contrast/-/merge_requests/23
+    substituteInPlace build-aux/meson_post_install.py \
+      --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
   '';
 
   meta = with lib; {
     description = "Checks whether the contrast between two colors meet the WCAG requirements";
     homepage = "https://gitlab.gnome.org/World/design/contrast";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ jtojnar ];
+    platforms = platforms.unix;
   };
 }
 
diff --git a/pkgs/applications/audio/audacity/default.nix b/pkgs/applications/audio/audacity/default.nix
index 0e4afa4af7c..9d4c522edc1 100644
--- a/pkgs/applications/audio/audacity/default.nix
+++ b/pkgs/applications/audio/audacity/default.nix
@@ -24,7 +24,7 @@
 , expat
 , libid3tag
 , libopus
-, ffmpeg
+, ffmpeg_4
 , soundtouch
 , pcre
 /*, portaudio - given up fighting their portaudio.patch */
@@ -123,7 +123,7 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     expat
-    ffmpeg
+    ffmpeg_4
     file
     flac
     libid3tag
diff --git a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
index 003608ea602..24cc45a3aaf 100644
--- a/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
+++ b/pkgs/applications/audio/bitwig-studio/bitwig-studio4.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwig-studio";
-  version = "4.1.2";
+  version = "4.1.6";
 
   src = fetchurl {
     url = "https://downloads.bitwig.com/stable/${version}/${pname}-${version}.deb";
-    sha256 = "sha256-fXrpTOA6Uh4DgGU+3A7SV23Sb+Z2Ud4rCPmMk5I1MnA=";
+    sha256 = "sha256-Q4YYdMUd/T8tGGcakhoLdHvWsHwOq7LgIb77sr2OWuQ=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper wrapGAppsHook ];
diff --git a/pkgs/applications/audio/callaudiod/default.nix b/pkgs/applications/audio/callaudiod/default.nix
index bba86afcfc2..74f4b2de49e 100644
--- a/pkgs/applications/audio/callaudiod/default.nix
+++ b/pkgs/applications/audio/callaudiod/default.nix
@@ -11,14 +11,14 @@
 
 stdenv.mkDerivation rec {
   pname = "callaudiod";
-  version = "0.1.1";
+  version = "0.1.3";
 
   src = fetchFromGitLab {
     domain = "gitlab.com";
     owner = "mobian1";
     repo = pname;
     rev = version;
-    sha256 = "sha256-VASBYx/SZo2GJ8znthFIdjtZKbYVssWO1xhYcZMz9hI=";
+    sha256 = "sha256-WZ23jacCsZiNeMJfnYMaGdHXY9OCIBbeU9dWGDroaHE=";
   };
 
   strictDeps = true;
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     description = "Daemon for dealing with audio routing during phone calls";
     homepage = "https://gitlab.com/mobian1/callaudiod";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ pacman99 ];
+    maintainers = with maintainers; [ pacman99 tomfitzhenry ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/audio/easyeffects/default.nix b/pkgs/applications/audio/easyeffects/default.nix
index e1366d38baf..23ca109c6b4 100644
--- a/pkgs/applications/audio/easyeffects/default.nix
+++ b/pkgs/applications/audio/easyeffects/default.nix
@@ -4,14 +4,15 @@
 , fetchFromGitHub
 , calf
 , fftwFloat
+, fmt
 , glib
-, glibmm
 , gtk4
-, gtkmm4
 , itstool
+, libadwaita
 , libbs2b
 , libebur128
 , libsamplerate
+, libsigcxx30
 , libsndfile
 , lilv
 , lsp-plugins
@@ -26,6 +27,7 @@
 , rnnoise
 , rubberband
 , speexdsp
+, tbb
 , wrapGAppsHook4
 , zam-plugins
 , zita-convolver
@@ -33,13 +35,13 @@
 
 stdenv.mkDerivation rec {
   pname = "easyeffects";
-  version = "6.1.3";
+  version = "6.2.3";
 
   src = fetchFromGitHub {
     owner = "wwmm";
     repo = "easyeffects";
     rev = "v${version}";
-    sha256 = "sha256-1UfeqPJxY4YT98UdqTZtG+QUBOZlKfK+7WbszhO22A0=";
+    sha256 = "sha256-A1UanrAbmZFGCmDNIr1h+v5RVMsIl4qgM/veBirudQM=";
   };
 
   nativeBuildInputs = [
@@ -54,13 +56,14 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     fftwFloat
+    fmt
     glib
-    glibmm
     gtk4
-    gtkmm4
+    libadwaita
     libbs2b
     libebur128
     libsamplerate
+    libsigcxx30
     libsndfile
     lilv
     lv2
@@ -69,14 +72,13 @@ stdenv.mkDerivation rec {
     rnnoise
     rubberband
     speexdsp
+    tbb
     zita-convolver
   ];
 
   postPatch = ''
     chmod +x meson_post_install.py
     patchShebangs meson_post_install.py
-    # https://github.com/wwmm/easyeffects/pull/1205
-    substituteInPlace meson_post_install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
   '';
 
   preFixup =
diff --git a/pkgs/applications/audio/freac/default.nix b/pkgs/applications/audio/freac/default.nix
index 89c4847eded..ef4a6bc21af 100644
--- a/pkgs/applications/audio/freac/default.nix
+++ b/pkgs/applications/audio/freac/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freac";
-  version = "1.1.5";
+  version = "1.1.6";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "freac";
     rev = "v${version}";
-    sha256 = "sha256-cRmN9D/+FLiXqZW/PYhw61EoZuL3y61YtQ/ZNjnhfmY=";
+    sha256 = "sha256-PDFc/RhxIe6M3lfVHE1QmJnu5Sy+q/yrXrXPV/8X51o=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/geonkick/default.nix b/pkgs/applications/audio/geonkick/default.nix
index 5eece77373f..9739a88586a 100644
--- a/pkgs/applications/audio/geonkick/default.nix
+++ b/pkgs/applications/audio/geonkick/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "geonkick";
-  version = "2.8.0";
+  version = "2.9.0";
 
   src = fetchFromGitLab {
     owner = "iurie-sw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dpwdjyy6phhr1jm1cabj2gc3rfsdan513mijbgnpzkq9w9jfb60";
+    sha256 = "sha256-/BDK1PyRw4xOt+rzC9yX29aRQb1aDnDBIenSz+859OY=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/audio/goattracker/default.nix b/pkgs/applications/audio/goattracker/default.nix
index 743417570c1..1fb848ae1ed 100644
--- a/pkgs/applications/audio/goattracker/default.nix
+++ b/pkgs/applications/audio/goattracker/default.nix
@@ -12,7 +12,6 @@ with lib;
 let
   pname = "goattracker" + optionalString isStereo "-stereo";
   desktopItem = makeDesktopItem {
-    type = "Application";
     name = pname;
     desktopName = "GoatTracker 2" + optionalString isStereo " Stereo";
     genericName = "Music Tracker";
@@ -20,8 +19,8 @@ let
       then "gt2stereo"
       else "goattrk2";
     icon = "goattracker";
-    categories = "AudioVideo;AudioVideoEditing;";
-    extraEntries = "Keywords=tracker;music;";
+    categories = [ "AudioVideo" "AudioVideoEditing" ];
+    keywords = [ "tracker" "music" ];
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/applications/audio/helvum/default.nix b/pkgs/applications/audio/helvum/default.nix
index 30dc359731f..798af97ab32 100644
--- a/pkgs/applications/audio/helvum/default.nix
+++ b/pkgs/applications/audio/helvum/default.nix
@@ -16,20 +16,20 @@
 
 stdenv.mkDerivation rec {
   pname = "helvum";
-  version = "0.3.2";
+  version = "0.3.4";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
-    owner = "ryuukyu";
+    owner = "pipewire";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Kt6gnMRTOVXqjAjEZKlylcGhzl52ZzPNVbJhwzLhzkM=";
+    sha256 = "0nhv6zw2zzxz2bg2zj32w1brywnm5lv6j3cvmmvwshc389z2k5x1";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-kxJRY9GSPwnb431iYCfJdGcl5HjpFr2KkWrFDpGajp8=";
+    hash = "sha256-EIHO9qVPIXgezfFOaarlTU0an762nFmX1ELbQuAZ7rY";
   };
 
   nativeBuildInputs = [
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
     rustPlatform.cargoSetupHook
     rustPlatform.rust.cargo
     rustPlatform.rust.rustc
+    rustPlatform.bindgenHook
   ];
 
   buildInputs = [
@@ -49,23 +50,9 @@ stdenv.mkDerivation rec {
     pipewire
   ];
 
-  LIBCLANG_PATH = "${libclang.lib}/lib";
-
-  patches = [
-    # enables us to use gtk4-update-icon-cache instead of gtk3 one
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/ryuukyu/helvum/-/merge_requests/24.patch";
-      sha256 = "sha256-WmI6taBL/6t587j06n0mwByQ8x0eUA5ECvGNjg2/vtk=";
-    })
-  ];
-
-  postPatch = ''
-    patchShebangs build-aux/cargo.sh
-  '';
-
   meta = with lib; {
     description = "A GTK patchbay for pipewire";
-    homepage = "https://gitlab.freedesktop.org/ryuukyu/helvum";
+    homepage = "https://gitlab.freedesktop.org/pipewire/helvum";
     license = licenses.gpl3Only;
     maintainers = with maintainers; [ fufexan ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/audio/indicator-sound-switcher/default.nix b/pkgs/applications/audio/indicator-sound-switcher/default.nix
index e3e28b70a31..6326d7cc563 100644
--- a/pkgs/applications/audio/indicator-sound-switcher/default.nix
+++ b/pkgs/applications/audio/indicator-sound-switcher/default.nix
@@ -15,13 +15,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "indicator-sound-switcher";
-  version = "2.3.6";
+  version = "2.3.7";
 
   src = fetchFromGitHub {
     owner = "yktoo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "APU8Y0xUhRd9RbMSG9TD0TBvFLu/VlLGauf56z8gZDw=";
+    sha256 = "sha256-agzU3Z3E6NvCnlsz9L719LqMTm8EmYg3TY/2lWTYgKs=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/jamesdsp/default.nix b/pkgs/applications/audio/jamesdsp/default.nix
new file mode 100644
index 00000000000..16683564b2c
--- /dev/null
+++ b/pkgs/applications/audio/jamesdsp/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, mkDerivation
+, fetchFromGitHub
+, pipewire
+, glibmm
+, qmake
+, makeDesktopItem
+, pkg-config
+, libarchive
+, fetchpatch
+}:
+
+mkDerivation rec{
+  pname = "jamesdsp";
+  version = "2.3";
+  src = fetchFromGitHub rec{
+    owner = "Audio4Linux";
+    repo = "JDSP4Linux";
+    fetchSubmodules = true;
+    rev = version;
+    hash = "sha256-Hkzurr+s+vvSyOMCYH9kHI+nIm6mL9yORGNzY2FXslc=";
+  };
+
+  patches = [
+    # fixing /usr install assumption, remove on version bump
+    (fetchpatch {
+      url = "https://github.com/Audio4Linux/JDSP4Linux/commit/003c9e9fc426f83e269aed6e05be3ed55273931a.patch";
+      hash = "sha256-crll/a7C9pUq9eL5diq8/YgC5bNC6SrdijZEBxZpJ8E=";
+    })
+  ];
+
+  nativeBuildInputs = [ qmake pkg-config ];
+  buildInputs = [
+    glibmm
+    libarchive
+    pipewire
+  ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "jamesdsp";
+      desktopName = "JamesDSP";
+      genericName = "Audio effects processor";
+      exec = "jamesdsp";
+      icon = "jamesdsp";
+      comment = "JamesDSP for Linux";
+      categories = [ "AudioVideo" "Audio" ];
+      startupNotify = false;
+      keywords = [ "equalizer" "audio" "effect" ];
+    })
+  ];
+
+  meta = with lib;{
+    description = "An audio effect processor for PipeWire clients";
+    homepage = "https://github.com/Audio4Linux/JDSP4Linux";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers;[ pasqui23 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/audio/jamulus/default.nix b/pkgs/applications/audio/jamulus/default.nix
index f30b188c391..8c67c0fd7c1 100644
--- a/pkgs/applications/audio/jamulus/default.nix
+++ b/pkgs/applications/audio/jamulus/default.nix
@@ -3,12 +3,12 @@
 
 mkDerivation rec {
   pname = "jamulus";
-  version = "3.8.1";
+  version = "3.8.2";
   src = fetchFromGitHub {
     owner = "jamulussoftware";
     repo = "jamulus";
     rev = "r${lib.replaceStrings [ "." ] [ "_" ] version}";
-    sha256 = "sha256-QtlvcKVqKgRAO/leHy4CgvjNW49HAyZLI2JtKERP7HQ=";
+    sha256 = "sha256-K2HznkntDhp+I8DHJk5Cuh5cR8yjwfzX+pGGzS8yVLQ=";
   };
 
   nativeBuildInputs = [ pkg-config qmake ];
diff --git a/pkgs/applications/audio/japa/default.nix b/pkgs/applications/audio/japa/default.nix
index 016f515ce13..c13b38f7acd 100644
--- a/pkgs/applications/audio/japa/default.nix
+++ b/pkgs/applications/audio/japa/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl,   alsa-lib, libjack2, fftwFloat, libclthreads, libclxclient, libX11,  libXft, zita-alsa-pcmi, }:
 
 stdenv.mkDerivation rec {
-  version = "0.9.2";
+  version = "0.9.4";
   pname = "japa";
 
   src = fetchurl {
     url = "https://kokkinizita.linuxaudio.org/linuxaudio/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "1zmi4wg23hwsypg3h6y3qb72cbrihqcs19qrbzgs5a67d13q4897";
+    sha256 = "sha256-t9wlZr+pE5u6yTpATWDQseC/rf4TFbtG0X9tnTdkB8I=";
   };
 
   buildInputs = [ alsa-lib libjack2 fftwFloat libclthreads libclxclient libX11 libXft zita-alsa-pcmi ];
diff --git a/pkgs/applications/audio/jmusicbot/default.nix b/pkgs/applications/audio/jmusicbot/default.nix
index 3bc06abcbff..60df749a142 100644
--- a/pkgs/applications/audio/jmusicbot/default.nix
+++ b/pkgs/applications/audio/jmusicbot/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     cp $src $out/lib/JMusicBot
 
     makeWrapper ${jre}/bin/java $out/bin/JMusicBot \
-      --add-flags "-Xmx1G -Dnogui=true -jar $out/lib/JMusicBot"
+      --add-flags "-Xmx1G -Dnogui=true -Djava.util.concurrent.ForkJoinPool.common.parallelism=1 -jar $out/lib/JMusicBot"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/kid3/default.nix b/pkgs/applications/audio/kid3/default.nix
index ba3d921751b..a29ddbb8150 100644
--- a/pkgs/applications/audio/kid3/default.nix
+++ b/pkgs/applications/audio/kid3/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "kid3";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchurl {
     url = "https://download.kde.org/stable/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-d0Y+swzzGk1FzQ3EK8sN8i1Nf6CRIPMAYgTUYN71FXU=";
+    sha256 = "sha256-N/HDwfJn7Py4y/GZcIDbeoMEqG+SuRGO23ITZMot8cc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/lyrebird/default.nix b/pkgs/applications/audio/lyrebird/default.nix
index b40dbfe65bf..81c792d95e2 100644
--- a/pkgs/applications/audio/lyrebird/default.nix
+++ b/pkgs/applications/audio/lyrebird/default.nix
@@ -15,7 +15,7 @@ let
     icon = "${placeholder "out"}/share/lyrebird/icon.png";
     desktopName = "Lyrebird";
     genericName = "Voice Changer";
-    categories = "AudioVideo;Audio;";
+    categories = [ "AudioVideo" "Audio" ];
   };
 in
 python3Packages.buildPythonApplication rec {
diff --git a/pkgs/applications/audio/mixxx/default.nix b/pkgs/applications/audio/mixxx/default.nix
index bbd0e07a64a..8b1acc9d0bc 100644
--- a/pkgs/applications/audio/mixxx/default.nix
+++ b/pkgs/applications/audio/mixxx/default.nix
@@ -53,13 +53,13 @@
 
 mkDerivation rec {
   pname = "mixxx";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "mixxxdj";
     repo = "mixxx";
     rev = version;
-    sha256 = "sha256-6M1qaRyRYWTIKqclewuD+RUVDdxVbBHcfpw2qYgO6BA=";
+    sha256 = "sha256-EnOO5OGcaIITqfF9gpGktarzYOx128C1M2VmYNzdRsA=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
@@ -117,7 +117,7 @@ mkDerivation rec {
 
   # mixxx installs udev rules to DATADIR instead of SYSCONFDIR
   # let's disable this and install udev rules manually via postInstall
-  # see https://github.com/mixxxdj/mixxx/blob/2.3.1/CMakeLists.txt#L1381-L1392
+  # see https://github.com/mixxxdj/mixxx/blob/2.3.2/CMakeLists.txt#L1381-L1392
   cmakeFlags = [
     "-DINSTALL_USER_UDEV_RULES=OFF"
   ];
diff --git a/pkgs/applications/audio/netease-cloud-music-gtk/default.nix b/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
index 76e1bc3923a..72027fe922b 100644
--- a/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
+++ b/pkgs/applications/audio/netease-cloud-music-gtk/default.nix
@@ -11,7 +11,6 @@
 , wrapGAppsHook
 , fetchurl
 , fetchFromGitHub
-, makeDesktopItem
 }:
 rustPlatform.buildRustPackage rec {
   pname = "netease-cloud-music-gtk";
diff --git a/pkgs/applications/audio/new-session-manager/default.nix b/pkgs/applications/audio/new-session-manager/default.nix
index eedd193b2c5..78f71ed950f 100644
--- a/pkgs/applications/audio/new-session-manager/default.nix
+++ b/pkgs/applications/audio/new-session-manager/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "new-session-manager";
-  version = "1.5.1";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "linuxaudio";
     repo = "new-session-manager";
     rev = "v${version}";
-    sha256 = "sha256-hcw+Fn5s1S786eqmR95RmkFcIaRzWaH38YE9DXVQJU0=";
+    sha256 = "sha256-dQE7kUoxqDtTrk5euHqpMVeApxniecWZWOARcCl573o=";
   };
 
   nativeBuildInputs = [ meson pkg-config ninja ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   meta = with lib; {
-    homepage = "https://linuxaudio.github.io/new-session-manager/";
+    homepage = "https://new-session-manager.jackaudio.org/";
     description = "A session manager designed for audio applications.";
     maintainers = [ maintainers._6AA4FD ];
     license = licenses.gpl3Plus;
diff --git a/pkgs/applications/audio/ocenaudio/default.nix b/pkgs/applications/audio/ocenaudio/default.nix
index 30011b2be3e..8a25955e249 100644
--- a/pkgs/applications/audio/ocenaudio/default.nix
+++ b/pkgs/applications/audio/ocenaudio/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ocenaudio";
-  version = "3.11.2";
+  version = "3.11.5";
 
   src = fetchurl {
     url = "https://www.ocenaudio.com/downloads/index.php/ocenaudio_debian9_64.deb?version=${version}";
-    sha256 = "sha256-kvmBOw8fQZSC1jC8FRVq4v+i7mM6ol2IrDTqfJtuZYc=";
+    sha256 = "sha256-YkSsvhBbju/NEkT7RspZQYnLkcx/5POA8VtxCAL3Wcc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/audio/orca-c/default.nix b/pkgs/applications/audio/orca-c/default.nix
index 420055884b4..be40def2644 100644
--- a/pkgs/applications/audio/orca-c/default.nix
+++ b/pkgs/applications/audio/orca-c/default.nix
@@ -13,6 +13,9 @@ stdenv.mkDerivation {
 
   postPatch = ''
     patchShebangs tool
+    sed -i tool \
+      -e 's@ncurses_dir=.*@ncurses_dir="${ncurses}"@' \
+      -e 's@portmidi_dir=.*@portmidi_dir="${portmidi}"@' tool
   '';
 
   installPhase = ''
diff --git a/pkgs/applications/audio/plexamp/default.nix b/pkgs/applications/audio/plexamp/default.nix
index c4c53de90f1..e53c537b970 100644
--- a/pkgs/applications/audio/plexamp/default.nix
+++ b/pkgs/applications/audio/plexamp/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "plexamp";
-  version = "3.9.1";
+  version = "4.0.2";
 
   src = fetchurl {
     url = "https://plexamp.plex.tv/plexamp.plex.tv/desktop/Plexamp-${version}.AppImage";
     name="${pname}-${version}.AppImage";
-    sha512 = "uassNLdCXx3WLarUMJNhU8fbXugG7yTLMQacPAszLoRdmbMwcN6wT7ED26VhlNVhY3xr02GjZSDw4/LADZWqKw==";
+    sha512 = "DqgzEt+frDJOcwOnQ5sx7JqEH5l/FJYCL5/97YBsEC2iTMIYi+NBUvuzyZcfRzOTfq7b/QBALDpRgvepWYjkxg==";
   };
 
   appimageContents = appimageTools.extractType2 {
@@ -33,7 +33,7 @@ in appimageTools.wrapType2 {
   meta = with lib; {
     description = "A beautiful Plex music player for audiophiles, curators, and hipsters";
     homepage = "https://plexamp.com/";
-    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/37";
+    changelog = "https://forums.plex.tv/t/plexamp-release-notes/221280/40";
     license = licenses.unfree;
     maintainers = with maintainers; [ killercup synthetica ];
     platforms = [ "x86_64-linux" ];
diff --git a/pkgs/applications/audio/praat/default.nix b/pkgs/applications/audio/praat/default.nix
index 89d5370fd00..3ecfde7819f 100644
--- a/pkgs/applications/audio/praat/default.nix
+++ b/pkgs/applications/audio/praat/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "praat";
-  version = "6.2.04";
+  version = "6.2.07";
 
   src = fetchFromGitHub {
     owner = "praat";
     repo = "praat";
     rev = "v${version}";
-    sha256 = "sha256-xzEgj4pjW+y46CXtVq4myHKX6DImCibsUz8m0G6F+YQ=";
+    sha256 = "sha256-MM8uC1+d1P7aZI460fCcHWtE7+xfJV1ZFj2cdp/b1rY=";
   };
 
   configurePhase = ''
diff --git a/pkgs/applications/audio/ptcollab/default.nix b/pkgs/applications/audio/ptcollab/default.nix
index 279105605d3..e7e8c73c9c1 100644
--- a/pkgs/applications/audio/ptcollab/default.nix
+++ b/pkgs/applications/audio/ptcollab/default.nix
@@ -13,13 +13,13 @@
 
 mkDerivation rec {
   pname = "ptcollab";
-  version = "0.6.0.2";
+  version = "0.6.1.0";
 
   src = fetchFromGitHub {
     owner = "yuxshao";
     repo = "ptcollab";
     rev = "v${version}";
-    sha256 = "sha256-9goELqV7GP2/8w3Tw4Gph0UBgR/2T+wo2g+lhrQG4tA=";
+    sha256 = "sha256-zkDMZT1kKCLqNvvxZFKVuXFqZptX/LG/R9kRUcNJphw=";
   };
 
   nativeBuildInputs = [ qmake pkg-config ];
diff --git a/pkgs/applications/audio/pyradio/default.nix b/pkgs/applications/audio/pyradio/default.nix
index ebda772b9bd..e95e5d9c6d1 100644
--- a/pkgs/applications/audio/pyradio/default.nix
+++ b/pkgs/applications/audio/pyradio/default.nix
@@ -2,7 +2,7 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pyradio";
-  version = "0.8.9.10";
+  version = "0.8.9.14";
 
   propagatedBuildInputs = with python3Packages; [
     requests
@@ -14,7 +14,7 @@ python3Packages.buildPythonApplication rec {
     owner = "coderholic";
     repo = pname;
     rev = version;
-    sha256 = "1cvrvy5ll97yyrzakxr8lb25qxmzk9fvcabsgc98jf89ikxgax4w";
+    sha256 = "sha256-9q+YsQPFB7Ql5WnXvPj100cD7pGkmr1hHztqbpZStt8=";
   };
 
   checkPhase = ''
diff --git a/pkgs/applications/audio/r128gain/default.nix b/pkgs/applications/audio/r128gain/default.nix
index 96053d08d00..af22a9dce67 100644
--- a/pkgs/applications/audio/r128gain/default.nix
+++ b/pkgs/applications/audio/r128gain/default.nix
@@ -1,8 +1,7 @@
 { lib
 , fetchFromGitHub
-, genericUpdater
+, gitUpdater
 , substituteAll
-, common-updater-scripts
 , ffmpeg
 , python3Packages
 , sox
@@ -33,12 +32,7 @@ python3Packages.buildPythonApplication rec {
   # sandbox to be disabled.
   doCheck = false;
 
-  passthru = {
-    updateScript = genericUpdater {
-      inherit pname version;
-      versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
-    };
-  };
+  passthru.updateScript = gitUpdater { inherit pname version; };
 
   meta = with lib; {
     description = "Fast audio loudness scanner & tagger (ReplayGain v2 / R128)";
diff --git a/pkgs/applications/audio/reaper/default.nix b/pkgs/applications/audio/reaper/default.nix
index 65ccf48e90b..820475be0c6 100644
--- a/pkgs/applications/audio/reaper/default.nix
+++ b/pkgs/applications/audio/reaper/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "reaper";
-  version = "6.46";
+  version = "6.47";
 
   src = fetchurl {
     url = "https://www.reaper.fm/files/${lib.versions.major version}.x/reaper${builtins.replaceStrings ["."] [""] version}_linux_${stdenv.hostPlatform.qemuArch}.tar.xz";
     hash = {
-      x86_64-linux = "sha256-cHjiO2hRK8gUaq2VfuE9GOtRJ0JyfH2rhdIbK+RxoEM=";
-      aarch64-linux = "sha256-j+05SdyDWzI1fekwwQ2RAGontEvppkUWPYfZEtOVXYg=";
+      x86_64-linux = "sha256-31HmIx/ohbrzu5uj8KOOZiHNCmXwng9h+fIGaJfYyqA=";
+      aarch64-linux = "sha256-CMmcBpaZ6BEZJ1144aQhOJ/o2NrGD7/8aq+ObLVMXYE=";
     }.${stdenv.hostPlatform.system};
   };
 
diff --git a/pkgs/applications/audio/redux/default.nix b/pkgs/applications/audio/redux/default.nix
new file mode 100644
index 00000000000..45ee78917ac
--- /dev/null
+++ b/pkgs/applications/audio/redux/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, stdenv
+, fetchurl
+, libX11
+, alsa-lib
+, autoPatchelfHook
+, releasePath ? null
+}:
+
+# To use the full release version (same as renoise):
+# 1) Sign into https://backstage.renoise.com and download the release version to some stable location.
+# 2) Override the releasePath attribute to point to the location of the newly downloaded bundle.
+# Note: Renoise creates an individual build for each license which screws somewhat with the
+# use of functions like requireFile as the hash will be different for every user.
+
+stdenv.mkDerivation rec {
+  pname = "redux";
+  version = "1.2.2";
+
+  src = if releasePath != null then releasePath
+    else fetchurl {
+      url = "https://files.renoise.com/demo/Renoise_Redux_${lib.replaceStrings ["."] ["_"] version}_Demo_Linux.tar.gz";
+      sha256 = "0zbwsg7nh9x3q29jv2kpqb3vwi0ksdwybhb4m2qr95rxrpx1kxhm";
+    };
+
+  nativeBuildInputs = [
+    autoPatchelfHook
+  ];
+
+  buildInputs = [ libX11 alsa-lib stdenv.cc.cc.lib ];
+
+  installPhase = ''
+    runHook preInstall
+
+    OUTDIR=$out/lib/vst2/RenoiseRedux.vst2
+    mkdir -p $OUTDIR
+    cp -r ./renoise_redux_x86_64/* $OUTDIR
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Sample-based instrument, with a powerful phrase sequencer";
+    homepage = "https://www.renoise.com/products/redux";
+    license = licenses.unfree;
+    maintainers = with maintainers; [ mihnea-s ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/applications/audio/roomeqwizard/default.nix b/pkgs/applications/audio/roomeqwizard/default.nix
index 9d4118a4391..fae8700d811 100644
--- a/pkgs/applications/audio/roomeqwizard/default.nix
+++ b/pkgs/applications/audio/roomeqwizard/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     icon = pname;
     desktopName = "REW";
     genericName = "Software for audio measurements";
-    categories = "AudioVideo;";
+    categories = [ "AudioVideo" ];
   };
 
   responseFile = writeTextFile {
diff --git a/pkgs/applications/audio/snd/default.nix b/pkgs/applications/audio/snd/default.nix
index fa511837207..52789d64d10 100644
--- a/pkgs/applications/audio/snd/default.nix
+++ b/pkgs/applications/audio/snd/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "snd";
-  version = "22.0";
+  version = "22.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/snd/snd-${version}.tar.gz";
-    sha256 = "sha256-QK5lq2ek1yn3G0Ecs+TFIG5ST3lAETiyxuXIic3v1ik=";
+    sha256 = "sha256-jrH0XRvPj9ySd8FSrOKf6qP5T1YSKrYBNHl6fz5dhkI=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/audio/sony-headphones-client/default.nix b/pkgs/applications/audio/sony-headphones-client/default.nix
index 976c4ab5702..e3e6573c432 100644
--- a/pkgs/applications/audio/sony-headphones-client/default.nix
+++ b/pkgs/applications/audio/sony-headphones-client/default.nix
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     icon = "SonyHeadphonesClient";
     desktopName = "Sony Headphones Client";
     comment     = "A client recreating the functionality of the Sony Headphones app";
-    categories  = "Audio;Mixer;";
+    categories  = [ "Audio" "Mixer" ];
   }) ];
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/sptlrx/default.nix b/pkgs/applications/audio/sptlrx/default.nix
new file mode 100644
index 00000000000..1d53c2f4cea
--- /dev/null
+++ b/pkgs/applications/audio/sptlrx/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "sptlrx";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "raitonoberu";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Wk4vXm6sB+Rw0VFAhfD0GKxsP+1LwpS6VFHa3UENuJk=";
+  };
+
+  vendorSha256 = "sha256-l5gIbjB2rJyNmZBqrHo4kwClmAgjgDWHTs5KWzrfC08=";
+
+  ldflags = [ "-s" "-w" ];
+
+  meta = with lib; {
+    description = "Spotify lyrics in your terminal";
+    homepage = "https://github.com/raitonoberu/sptlrx";
+    license = licenses.mit;
+    maintainers = with maintainers; [ MoritzBoehme ];
+  };
+}
diff --git a/pkgs/applications/audio/strawberry/default.nix b/pkgs/applications/audio/strawberry/default.nix
index 6527b90b89e..b607e2c9a0f 100644
--- a/pkgs/applications/audio/strawberry/default.nix
+++ b/pkgs/applications/audio/strawberry/default.nix
@@ -36,13 +36,13 @@
 
 mkDerivation rec {
   pname = "strawberry";
-  version = "1.0.1";
+  version = "1.0.2";
 
   src = fetchFromGitHub {
     owner = "jonaski";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MlS1ShRXfsTMs97MeExW6sfpv40OcQLDIzIzOYGk7Rw=";
+    sha256 = "sha256-/pwHWmQTV1QBK+5SS0/NC6wMm2QQm+iCZArxiHjn4M4=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/audio/sunvox/default.nix b/pkgs/applications/audio/sunvox/default.nix
index 7c5c378d2fa..b6a60c0de64 100644
--- a/pkgs/applications/audio/sunvox/default.nix
+++ b/pkgs/applications/audio/sunvox/default.nix
@@ -13,11 +13,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "SunVox";
-  version = "1.9.6c";
+  version = "2.0c";
 
   src = fetchurl {
     url = "http://www.warmplace.ru/soft/sunvox/sunvox-${version}.zip";
-    sha256 = "10lqbm1grw0sqasx7i6528cishv5ksdf9zbb3ygxd8c1iwaxzhb9";
+    sha256 = "949e5348da9faa92ce17aac943b58027bdb797b65c7f5f365ef0610bb6dd8a3d";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/audio/tauon/default.nix b/pkgs/applications/audio/tauon/default.nix
index 5e7f5c7cce2..7223812e57d 100644
--- a/pkgs/applications/audio/tauon/default.nix
+++ b/pkgs/applications/audio/tauon/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tauon";
-  version = "7.0.1";
+  version = "7.1.2";
 
   src = fetchFromGitHub {
     owner = "Taiko2k";
     repo = "TauonMusicBox";
     rev = "v${version}";
-    sha256 = "sha256-Sw9w6vFXk2Cx7LdfMsou9IDheVckdusc0iGWkVsVtCQ=";
+    sha256 = "sha256-0/xWSae5TD5qI+HgoJ2DAHxqv/Z0E4DGiQhfTA03xkM=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/audio/termusic/default.nix b/pkgs/applications/audio/termusic/default.nix
new file mode 100644
index 00000000000..4a0035aadf5
--- /dev/null
+++ b/pkgs/applications/audio/termusic/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, stdenv
+, fetchCrate
+, rustPlatform
+, pkg-config
+, alsa-lib }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "termusic";
+  version = "0.6.10";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-i+XxEPkLZK+JKDl88P8Nd7XBhsGhEzvUGovJtSWvRtg=";
+  };
+
+  cargoHash = "sha256-7nQzU1VvRDrtltVAXTX268vl9AbQhMOilPG4nNAJ+Xk=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ alsa-lib ];
+
+  meta = with lib; {
+    description = "Terminal Music Player TUI written in Rust";
+    homepage = "https://github.com/tramhao/termusic";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ devhell ];
+  };
+}
diff --git a/pkgs/applications/audio/vgmstream/default.nix b/pkgs/applications/audio/vgmstream/default.nix
index a3518f23984..f696c506186 100644
--- a/pkgs/applications/audio/vgmstream/default.nix
+++ b/pkgs/applications/audio/vgmstream/default.nix
@@ -1,26 +1,35 @@
 { stdenv, lib, fetchFromGitHub, cmake, pkg-config
-, mpg123, ffmpeg, libvorbis, libao, jansson
+, mpg123, ffmpeg, libvorbis, libao, jansson, speex
 }:
+let
+  vgmstreamVersion = "r1702-5596-00bdb165b";
+in
 stdenv.mkDerivation rec {
-  pname   = "vgmstream";
-  version = "r1050-3448-g77cc431b";
+  pname = "vgmstream";
+  version = "unstable-2022-02-21";
 
   src = fetchFromGitHub {
-    owner  = "vgmstream";
-    repo   = "vgmstream";
-    rev    = version;
-    sha256 = "030q02c9li14by7vm00gn6v3m4dxxmfwiy9iyz3xsgzq1i7pqc1d";
+    owner = "vgmstream";
+    repo = "vgmstream";
+    rev = "00bdb165ba6b55420bbd5b21f54c4f7a825d15a0";
+    sha256 = "18g1yqlnf48hi2xn2z2wajnjljpdbfdqmcmi7y8hi1r964ypmfcr";
   };
 
+  passthru.updateScript = ./update.sh;
+
   nativeBuildInputs = [ cmake pkg-config ];
 
-  buildInputs = [ mpg123 ffmpeg libvorbis libao jansson ];
+  buildInputs = [ mpg123 ffmpeg libvorbis libao jansson speex ];
 
-  # There's no nice way to build the audacious plugin without a circular dependency
-  cmakeFlags = [ "-DBUILD_AUDACIOUS=OFF" ];
+  cmakeFlags = [
+    # There's no nice way to build the audacious plugin without a circular dependency
+    "-DBUILD_AUDACIOUS=OFF"
+    # It always tries to download it, no option to use the system one
+    "-DUSE_CELT=OFF"
+  ];
 
-  preConfigure = ''
-    echo "#define VERSION \"${version}\"" > cli/version.h
+  postConfigure = ''
+    echo "#define VGMSTREAM_VERSION \"${vgmstreamVersion}\"" > ../version.h
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/audio/vgmstream/update.sh b/pkgs/applications/audio/vgmstream/update.sh
new file mode 100755
index 00000000000..5353480dd33
--- /dev/null
+++ b/pkgs/applications/audio/vgmstream/update.sh
@@ -0,0 +1,77 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash --pure --keep GITHUB_TOKEN -p gnused jq nix-prefetch-git curl cacert
+
+set -euo pipefail
+
+ROOT="$(dirname "$(readlink -f "$0")")"
+if [[ ! "$(basename $ROOT)" == "vgmstream" || ! -f "$ROOT/default.nix" ]]; then
+    echo "ERROR: Not in the vgmstream folder"
+    exit 1
+fi
+
+if [[ ! -v GITHUB_TOKEN ]]; then
+    echo "ERROR: \$GITHUB_TOKEN not set"
+    exit 1
+fi
+
+
+payload=$(jq -cn --rawfile query /dev/stdin '{"query": $query}' <<EOF | curl -s -H "Authorization: bearer $GITHUB_TOKEN" -d '@-' https://api.github.com/graphql
+{
+  repository(owner: "vgmstream", name: "vgmstream") {
+    branch: ref(qualifiedName: "refs/heads/master") {
+      target {
+        oid
+        ... on Commit {
+          committedDate
+          history {
+            totalCount
+          }
+        }
+      }
+    }
+
+    tag: refs(refPrefix: "refs/tags/", first: 1, orderBy: {field: TAG_COMMIT_DATE, direction: DESC}) {
+      nodes {
+        name
+      }
+    }
+  }
+}
+EOF
+)
+
+committed_full_date=$(jq -r .data.repository.branch.target.committedDate <<< "$payload")
+committed_date=$(sed -nE 's/^([0-9]{4}-[0-9]{2}-[0-9]{2}).+$/\1/p' <<< $committed_full_date)
+commit_unix=$(date --utc --date="$committed_date" +%s)
+last_updated_unix=$(date --utc --date=$(sed -nE 's/^\s*version\s*=\s*\"unstable-([0-9]{4}-[0-9]{2}-[0-9]{2})\";$/\1/p' default.nix) +%s)
+
+commit_sha=$(jq -r .data.repository.branch.target.oid <<< "$payload")
+major_ver=$(jq -r .data.repository.tag.nodes[0].name <<< "$payload" | sed 's/^v//g')
+commit_count=$(jq -r .data.repository.branch.target.history.totalCount <<< "$payload")
+final_ver="$major_ver-$commit_count-${commit_sha::9}"
+
+
+echo "INFO: Latest commit is $commit_sha"
+echo "INFO: Latest commit date is $committed_full_date"
+echo "INFO: Latest version is $final_ver"
+
+##
+# VGMStream has no stable releases, so only update if there's been at
+# least a week between commits to reduce maintainer pressure.
+##
+time_diff=$(( $commit_unix - $last_updated_unix ))
+if [[ $time_diff -lt 604800 ]]; then
+  echo "INFO: Not updating, less than a week between commits."
+  echo "INFO: $time_diff < 604800"
+  exit 0
+fi
+
+nix_sha256=$(nix-prefetch-git --quiet https://github.com/vgmstream/vgmstream.git "$commit_sha" | jq -r .sha256)
+echo "INFO: SHA256 is $nix_sha256"
+
+sed -i -E \
+    -e "s/vgmstreamVersion\s*=\s*\"[a-z0-9-]+\";$/vgmstreamVersion = \"${final_ver}\";/g" \
+    -e "s/version\s*=\s*\"[a-z0-9-]+\";$/version = \"unstable-${committed_date}\";/g" \
+    -e "s/rev\s*=\s*\"[a-z0-9]+\";$/rev = \"${commit_sha}\";/g" \
+    -e "s/sha256\s*=\s*\"[a-z0-9]+\";$/sha256 = \"${nix_sha256}\";/g" \
+    "$ROOT/default.nix"
diff --git a/pkgs/applications/backup/deja-dup/default.nix b/pkgs/applications/backup/deja-dup/default.nix
index 5e0e6580bf9..e2b208f891a 100644
--- a/pkgs/applications/backup/deja-dup/default.nix
+++ b/pkgs/applications/backup/deja-dup/default.nix
@@ -8,12 +8,12 @@
 , gettext
 , itstool
 , glib
-, gtk3
+, gtk4
 , coreutils
-, libsoup
+, libsoup_3
 , libsecret
-, libhandy
-, wrapGAppsHook
+, libadwaita
+, wrapGAppsHook4
 , libgpg-error
 , json-glib
 , duplicity
@@ -21,14 +21,14 @@
 
 stdenv.mkDerivation rec {
   pname = "deja-dup";
-  version = "42.8";
+  version = "43.2";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "World";
     repo = pname;
     rev = version;
-    sha256 = "sha256-DkRqZAj47wzt4lDvhAbO0PYcRA7oHEo2k69IMLOD3Ps=";
+    sha256 = "sha256-iFrPx/m/nTdm7xVVd1SZh5QNpSqI+TCbMfx0/jLgc1c=";
   };
 
   patches = [
@@ -45,15 +45,15 @@ stdenv.mkDerivation rec {
     vala
     gettext
     itstool
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
-    libsoup
+    libsoup_3
     glib
-    gtk3
+    gtk4
     libsecret
-    libhandy
+    libadwaita
     libgpg-error
     json-glib
   ];
diff --git a/pkgs/applications/backup/deja-dup/fix-paths.patch b/pkgs/applications/backup/deja-dup/fix-paths.patch
index 26126fdc9d5..b7b26ee9a66 100644
--- a/pkgs/applications/backup/deja-dup/fix-paths.patch
+++ b/pkgs/applications/backup/deja-dup/fix-paths.patch
@@ -1,6 +1,6 @@
---- a/libdeja/tools/duplicity/DuplicityInstance.vala
-+++ b/libdeja/tools/duplicity/DuplicityInstance.vala
-@@ -159,7 +159,7 @@
+--- a/libdeja/duplicity/DuplicityInstance.vala
++++ b/libdeja/duplicity/DuplicityInstance.vala
+@@ -114,7 +114,7 @@ internal class DuplicityInstance : Object
      // We already are pretty sure we don't have other duplicities in our
      // archive directories, because we use our own and we ensure we only have
      // one deja-dup running at a time via DBus.
diff --git a/pkgs/applications/blockchains/aeon/default.nix b/pkgs/applications/blockchains/aeon/default.nix
index 79742d48a99..51557b3fecb 100644
--- a/pkgs/applications/blockchains/aeon/default.nix
+++ b/pkgs/applications/blockchains/aeon/default.nix
@@ -4,7 +4,7 @@
 }:
 
 let
-  version = "0.13.0.0";
+  version = "0.14.1.0";
 in
 stdenv.mkDerivation {
   pname = "aeon";
@@ -15,7 +15,7 @@ stdenv.mkDerivation {
     repo = "aeon";
     rev = "v${version}-aeon";
     fetchSubmodules = true;
-    sha256 = "07d87n1j4dc9gfwj6xy5jdpryn45095xdh961g6xjnjzc5fivjch";
+    sha256 = "sha256-yej4w/2m9YXsMobqHwzA5GBbduhaeTVvmnHUJNWX87E=";
   };
 
   nativeBuildInputs = [ cmake pkg-config git doxygen graphviz ];
diff --git a/pkgs/applications/blockchains/besu/default.nix b/pkgs/applications/blockchains/besu/default.nix
new file mode 100644
index 00000000000..550d65051e3
--- /dev/null
+++ b/pkgs/applications/blockchains/besu/default.nix
@@ -0,0 +1,29 @@
+{ lib, stdenv, fetchurl, makeWrapper, jre }:
+
+stdenv.mkDerivation rec {
+  pname = "besu";
+  version = "21.10.8";
+
+  src = fetchurl {
+    url = "https://hyperledger.jfrog.io/artifactory/${pname}-binaries/${pname}/${version}/${pname}-${version}.tar.gz";
+    sha256 = "sha256-0yXi42vDinB6nuv5IGj1AhYGqMa2Rku0tNWQCO+AFPw=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -r bin $out/
+    mkdir -p $out/lib
+    cp -r lib $out/
+    wrapProgram $out/bin/${pname} --set JAVA_HOME "${jre}"
+  '';
+
+  meta = with lib; {
+    description = "An enterprise-grade Java-based, Apache 2.0 licensed Ethereum client";
+    homepage = "https://www.hyperledger.org/projects/besu";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ mmahut ];
+  };
+}
diff --git a/pkgs/applications/blockchains/bisq-desktop/default.nix b/pkgs/applications/blockchains/bisq-desktop/default.nix
index 2bc3813c226..0e1e9f29112 100644
--- a/pkgs/applications/blockchains/bisq-desktop/default.nix
+++ b/pkgs/applications/blockchains/bisq-desktop/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
       icon = "bisq";
       desktopName = "Bisq ${version}";
       genericName = "Decentralized bitcoin exchange";
-      categories = "Network;P2P;";
+      categories = [ "Network" "P2P" ];
     })
   ];
 
diff --git a/pkgs/applications/blockchains/btcpayserver/default.nix b/pkgs/applications/blockchains/btcpayserver/default.nix
index 87347f8b1f1..8500bbc993f 100644
--- a/pkgs/applications/blockchains/btcpayserver/default.nix
+++ b/pkgs/applications/blockchains/btcpayserver/default.nix
@@ -3,13 +3,13 @@
 
 buildDotnetModule rec {
   pname = "btcpayserver";
-  version = "1.4.3";
+  version = "1.4.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CMa0+Djx07q77W/ezMhU+JP5EPXz4nfZ35TN8O6R/nc=";
+    sha256 = "sha256-G6/juGBdiOc8Gh9pKFQlBfUDJzDFMd9gMtILeoF8SMk=";
   };
 
   projectFile = "BTCPayServer/BTCPayServer.csproj";
diff --git a/pkgs/applications/blockchains/btcpayserver/deps.nix b/pkgs/applications/blockchains/btcpayserver/deps.nix
index 659207b5c54..57602e2231c 100644
--- a/pkgs/applications/blockchains/btcpayserver/deps.nix
+++ b/pkgs/applications/blockchains/btcpayserver/deps.nix
@@ -31,18 +31,18 @@
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.All";
-    version = "1.2.19";
-    sha256 = "0g8wm7idxb3pksqn3kkv62k27r7rzxdjdg3drhfsfrlvi0fm2w9j";
+    version = "1.3.2";
+    sha256 = "0xcfba8n9zf5m1nb48ilggp03kpki4nv4kx7k7a5w1gxgm6k6j9z";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Charge";
-    version = "1.2.9";
-    sha256 = "0vplw03l0rldqrw98ybm1d8fcglj9zwhxw6j8blhh27x1wdp0x0c";
+    version = "1.3.1";
+    sha256 = "1xakwnb839dl0qnhqprsnfq8png31iyb0fsngljis5jc8yvb4353";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.CLightning";
-    version = "1.2.10";
-    sha256 = "12i5glirw23mw15hvnn6jr7wxv2jlg8x88s6izz5f1y81bxcmkk7";
+    version = "1.3.1";
+    sha256 = "0a79p6i3xiq6svv08c4hhihkvqa2ac7fphi3g9i0cwh47ak0k5h2";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Common";
@@ -51,28 +51,23 @@
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Common";
-    version = "1.2.8";
-    sha256 = "1zqbhz80q004py8qwd4ma0fm9yd0rkza5r2dap6sfwpvng2c82fj";
+    version = "1.3.1";
+    sha256 = "165p1246fn628hlwdrx7sanlxa6qqpn480rq1asn5r1602w21844";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.Eclair";
-    version = "1.2.10";
-    sha256 = "1gqnsxbclvbkjhpwxdqpxcvjkzrardxzfkm6fadwa4jr2y5nhdkq";
+    version = "1.3.1";
+    sha256 = "1vlwm5mw8wffp00xhkx19yavk59b5x540sg81vis3q7hjvvgca5c";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.LNBank";
-    version = "1.0.1";
-    sha256 = "0b3psykci3jjwx0gbw6zwzsviph40bn46xb21dnd64djbq2iaa6p";
+    version = "1.3.1";
+    sha256 = "0qga34vi4fzfr0g4qk0ad8xkqdig2ishmdj9i32s5yrrjrkx7c8d";
   })
   (fetchNuGet {
     pname = "BTCPayServer.Lightning.LND";
-    version = "1.2.14";
-    sha256 = "1lmlakpr67zgwx4qm86ylnivkxfyvq2ypjry17pfiwr11z8p5jih";
-  })
-  (fetchNuGet {
-    pname = "BTCPayServer.Lightning.Ptarmigan";
-    version = "1.2.8";
-    sha256 = "1l68n5mk918mfmpr1dkq1m7ql4zc2c4y7vglghna5pfy6jq7ryni";
+    version = "1.3.1";
+    sha256 = "1b70jlyzy9xjvfywzi6i3l3sd4mkknxpni9akdi0phsfqysmy0wl";
   })
   (fetchNuGet {
     pname = "BuildBundlerMinifier";
@@ -841,11 +836,6 @@
   })
   (fetchNuGet {
     pname = "NBitcoin";
-    version = "6.0.19";
-    sha256 = "1vd9hcavqkh0yhzmwnyyk8yd4i205217k90m7w0lln5vqvmq14kk";
-  })
-  (fetchNuGet {
-    pname = "NBitcoin";
     version = "6.0.3";
     sha256 = "1kfq1q86844ssp8myy5vmvg33h3x0p9gqrlc99fl9gm1vzjc723f";
   })
@@ -855,6 +845,11 @@
     sha256 = "1f90zyrd35fzx0vgvd83jhd6hczd4037h2k198xiyxj04l4m3wm5";
   })
   (fetchNuGet {
+    pname = "NBitcoin";
+    version = "7.0.1";
+    sha256 = "05kqpjyp3ckb2183g9vfsdv362y5xg5j21p36zls0x3b0jgrwxw7";
+  })
+  (fetchNuGet {
     pname = "NBitpayClient";
     version = "1.0.0.39";
     sha256 = "1sgwradg7jnb4n3chwqfkximj1qhgl3r23p0sifmaa0kql2hlira";
@@ -1091,8 +1086,8 @@
   })
   (fetchNuGet {
     pname = "Selenium.WebDriver.ChromeDriver";
-    version = "96.0.4664.4500";
-    sha256 = "1kfnrimy49mab6v4afkk290djjyldnn683wdj15dax2mv8yxbyxs";
+    version = "98.0.4758.10200";
+    sha256 = "10mc50gm78zbxrwvxlygzmj2a29liiacv8haax0534c26vj9dwkl";
   })
   (fetchNuGet {
     pname = "Selenium.WebDriver";
diff --git a/pkgs/applications/blockchains/crypto-org-wallet/default.nix b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
index 7b0a895f4a1..e45e4349756 100644
--- a/pkgs/applications/blockchains/crypto-org-wallet/default.nix
+++ b/pkgs/applications/blockchains/crypto-org-wallet/default.nix
@@ -1,4 +1,4 @@
-{ lib, fetchurl, makeDesktopItem, appimageTools, imagemagick }:
+{ lib, fetchurl, appimageTools, imagemagick }:
 
 let
   pname = "chain-desktop-wallet";
diff --git a/pkgs/applications/blockchains/ergo/default.nix b/pkgs/applications/blockchains/ergo/default.nix
index f4b26c5f2ea..cb39e26789b 100644
--- a/pkgs/applications/blockchains/ergo/default.nix
+++ b/pkgs/applications/blockchains/ergo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ergo";
-  version = "4.0.20.1";
+  version = "4.0.23";
 
   src = fetchurl {
     url = "https://github.com/ergoplatform/ergo/releases/download/v${version}/ergo-${version}.jar";
-    sha256 = "sha256-uKt0TNKcqiXiT5MnsguU5fTdUyFgV7Km5KjrFS/7tws=";
+    sha256 = "sha256-ZpBTfL8ghLOo8C9yDUfKelblpIlwdVAOgYVvqmxJQXo=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/blockchains/erigon.nix b/pkgs/applications/blockchains/erigon.nix
index 56114ed72a8..9c560b0fabc 100644
--- a/pkgs/applications/blockchains/erigon.nix
+++ b/pkgs/applications/blockchains/erigon.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "erigon";
-  version = "2021.09.04";
+  version = "2022.02.03";
 
   src = fetchFromGitHub {
     owner = "ledgerwatch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0l0w1badhvlh1rgqzvlmy5k7xhb1nf4f5dmhkl935a5ila08aak3";
+    sha256 = "sha256-M8rCLkKoCx+5Eg53HfK6Ui4UrYsujGd7G8ckONclhTM=";
   };
 
-  vendorSha256 = "sha256-i8BaT9C39tmHU3GGgd0hUB1PHXnoAdNYRIqZA1ggbjQ=";
+  vendorSha256 = "sha256-loYo1nAR1lARsfoY5Q+k/tgVBxNxcr++zwUjLN3TRLA=";
   proxyVendor = true;
 
   # Build errors in mdbx when format hardening is enabled:
diff --git a/pkgs/applications/blockchains/exodus/default.nix b/pkgs/applications/blockchains/exodus/default.nix
index 39d13189e8e..3660aebef70 100644
--- a/pkgs/applications/blockchains/exodus/default.nix
+++ b/pkgs/applications/blockchains/exodus/default.nix
@@ -4,11 +4,11 @@ cups, vivaldi-ffmpeg-codecs, libpulseaudio, at-spi2-core, libxkbcommon, mesa }:
 
 stdenv.mkDerivation rec {
   pname = "exodus";
-  version = "21.10.25";
+  version = "22.2.11";
 
   src = fetchurl {
     url = "https://downloads.exodus.io/releases/${pname}-linux-x64-${version}.zip";
-    sha256 = "a85ddda4e73dfadddbb77cf9bc84c30fc6b893ead46367d702976bbf4da5afa4";
+    sha256 = "sha256-/K5dB5Qfaiv68YWTQ4j5QnqSo+TXPkWcQ+PlJpzDoe8=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/applications/blockchains/go-ethereum/default.nix b/pkgs/applications/blockchains/go-ethereum/default.nix
index 3aa3f622024..842ebcc69ec 100644
--- a/pkgs/applications/blockchains/go-ethereum/default.nix
+++ b/pkgs/applications/blockchains/go-ethereum/default.nix
@@ -9,16 +9,16 @@ let
 
 in buildGoModule rec {
   pname = "go-ethereum";
-  version = "1.10.15";
+  version = "1.10.16";
 
   src = fetchFromGitHub {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0f6n9rg42ph47mvykc9f0lf99yzwqy4jm7mlzyks4l6i6fl1g3q1";
+    sha256 = "sha256-l+hxAUw55d9MYLIUdF6qSEIelJQYRCvHyw1yuossmyA=";
   };
 
-  vendorSha256 = "1s5yfpk2yn7f3zwjl2fdrh6c63ki2b8rlmnlss27yxibsidaj0yd";
+  vendorSha256 = "sha256-keeox2d2WEzY9ynEcovPaU95YzVQlbTu1i7PLpjkjZU=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/blockchains/ledger-live-desktop/default.nix b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
index b8ca5c33595..297eca24542 100644
--- a/pkgs/applications/blockchains/ledger-live-desktop/default.nix
+++ b/pkgs/applications/blockchains/ledger-live-desktop/default.nix
@@ -2,12 +2,12 @@
 
 let
   pname = "ledger-live-desktop";
-  version = "2.37.2";
+  version = "2.38.3";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://github.com/LedgerHQ/${pname}/releases/download/v${version}/${pname}-${version}-linux-x86_64.AppImage";
-    hash = "sha256-etbMd0qUAsd5B3QH+DBVI9QLROjZXkGr4sAUlO8cRek=";
+    hash = "sha256-svNsVdenolrfMGKJvB/8HQMq08Ov5Oe5QooI1jFAcbI=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/blockchains/lightning-loop/default.nix b/pkgs/applications/blockchains/lightning-loop/default.nix
index 85ec49f3be5..2f4caad3255 100644
--- a/pkgs/applications/blockchains/lightning-loop/default.nix
+++ b/pkgs/applications/blockchains/lightning-loop/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "lightning-loop";
-  version = "0.16.0-beta";
+  version = "0.17.0-beta";
 
   src = fetchFromGitHub {
     owner = "lightninglabs";
     repo = "loop";
     rev = "v${version}";
-    sha256 = "0q4lk338mr30frilgnjr43gd55z7ryj2s260437b4pnp03hmbf10";
+    sha256 = "0hjawagn1dfgj67i52bvf3phvm9f9708z3jqs6cvyz0w7vp107py";
   };
 
-  vendorSha256 = "14862603rrss14p537j9i7iwflaaprwrnslmqm9hpb7hj52bxqfv";
+  vendorSha256 = "1fpc73hwdn3baz5ykrykvqdr5861gj9p6liy8qll5525kdv560f6";
 
   subPackages = [ "cmd/loop" "cmd/loopd" ];
 
diff --git a/pkgs/applications/blockchains/lightwalletd/default.nix b/pkgs/applications/blockchains/lightwalletd/default.nix
index be66fee50e7..43af8491210 100644
--- a/pkgs/applications/blockchains/lightwalletd/default.nix
+++ b/pkgs/applications/blockchains/lightwalletd/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lightwalletd";
-  version = "0.4.8";
+  version = "0.4.9";
 
   src = fetchFromGitHub {
     owner = "zcash";
     repo  = "lightwalletd";
     rev = "v${version}";
-    sha256 = "sha256-3cjXQXJqdmAMc+APybAKbpBhTy8Pk/QyBygSa8pGGAs=";
+    sha256 = "sha256-IksA06V+mP7ZAXXFYLKLacxrDXeMXHAk5w4t7pmobq4=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/blockchains/monero-gui/default.nix b/pkgs/applications/blockchains/monero-gui/default.nix
index 885e8170d3f..dfc5f8b326c 100644
--- a/pkgs/applications/blockchains/monero-gui/default.nix
+++ b/pkgs/applications/blockchains/monero-gui/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     icon = "monero";
     desktopName = "Monero";
     genericName = "Wallet";
-    categories  = "Network;Utility;";
+    categories  = [ "Network" "Utility" ];
   };
 
   postInstall = ''
diff --git a/pkgs/applications/blockchains/mycrypto/default.nix b/pkgs/applications/blockchains/mycrypto/default.nix
index f5dbfeb5ff9..ee7960a843b 100644
--- a/pkgs/applications/blockchains/mycrypto/default.nix
+++ b/pkgs/applications/blockchains/mycrypto/default.nix
@@ -23,7 +23,7 @@ let
     comment = "MyCrypto is a free, open-source interface for interacting with the blockchain";
     exec = pname;
     icon = "mycrypto";
-    categories = "Finance;";
+    categories = [ "Finance" ];
   };
 
 in appimageTools.wrapType2 rec {
diff --git a/pkgs/applications/blockchains/namecoin/default.nix b/pkgs/applications/blockchains/namecoin/default.nix
index 37a57fac5b1..1851c581c9a 100644
--- a/pkgs/applications/blockchains/namecoin/default.nix
+++ b/pkgs/applications/blockchains/namecoin/default.nix
@@ -3,14 +3,14 @@
 
 with lib;
 stdenv.mkDerivation rec {
-  version = "nc0.21.1";
+  version = "nc22.0";
   name = "namecoin" + toString (optional (!withGui) "d") + "-" + version;
 
   src = fetchFromGitHub {
     owner = "namecoin";
     repo = "namecoin-core";
     rev = version;
-    sha256 = "sha256-dA4BGhxHm0EdvqMq27zzWp2vOPyKbCgV1i1jt17TVxU=";
+    sha256 = "sha256-Z3CLDe0c4IpFPPTie8yoh0kcuvGmiegSgl4ITNSDkgY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/blockchains/nbxplorer/util/update-common.sh b/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
index 8899bdd181d..1ca9ef3444b 100755
--- a/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
+++ b/pkgs/applications/blockchains/nbxplorer/util/update-common.sh
@@ -26,7 +26,7 @@ getRepo() {
 }
 
 getLatestVersionTag() {
-  "$nixpkgs"/pkgs/common-updater/scripts/list-git-tags https://github.com/$(getRepo) 2>/dev/null \
+  "$nixpkgs"/pkgs/common-updater/scripts/list-git-tags --url=https://github.com/$(getRepo) 2>/dev/null \
     | sort -V | tail -1 | sed 's|^v||'
 }
 
diff --git a/pkgs/applications/blockchains/pivx/default.nix b/pkgs/applications/blockchains/pivx/default.nix
index fd562edf93f..75d0aa7ebfc 100644
--- a/pkgs/applications/blockchains/pivx/default.nix
+++ b/pkgs/applications/blockchains/pivx/default.nix
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.mit;
     homepage = "https://pivx.org";
-    maintainers = with maintainers; [ wucke13 ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/blockchains/polkadot/default.nix b/pkgs/applications/blockchains/polkadot/default.nix
index eddc2cd8a21..1210caaa251 100644
--- a/pkgs/applications/blockchains/polkadot/default.nix
+++ b/pkgs/applications/blockchains/polkadot/default.nix
@@ -4,21 +4,48 @@
 , llvmPackages
 , protobuf
 , rustPlatform
+, writeShellScriptBin
 }:
 rustPlatform.buildRustPackage rec {
   pname = "polkadot";
-  version = "0.9.14";
+  version = "0.9.16";
 
   src = fetchFromGitHub {
     owner = "paritytech";
     repo = "polkadot";
     rev = "v${version}";
-    sha256 = "sha256-SCi+hpdMUTX1NLF1RUce0d/2G19sVfJ5IsmM1xcAUKo=";
+    sha256 = "sha256-NXuYUmo80rrBZCcuISKon48SKyyJrkzCEhggxaJNfBM=";
+
+    # see the comment below on fakeGit for how this is used
+    leaveDotGit = true;
+    postFetch = ''
+      ( cd $out; git rev-parse --short HEAD > .git_commit )
+      rm -rf $out/.git
+    '';
   };
 
-  cargoSha256 = "sha256-ZcIsbMI96qX0LLJXmkCRS9g40ccZOH/upPbAA7XEZIw=";
+  cargoSha256 = "sha256-PIORMTzQbMdlrKwuF4MiGrLlg2nQpgLRsaHHeiCbqrg=";
 
-  nativeBuildInputs = [ clang ];
+  nativeBuildInputs =
+    let
+      # the build process of polkadot requires a .git folder in order to determine
+      # the git commit hash that is being built and add it to the version string.
+      # since having a .git folder introduces reproducibility issues to the nix
+      # build, we check the git commit hash after fetching the source and save it
+      # into a .git_commit file, and then delete the .git folder. then we create a
+      # fake git command that will just return the contents of this file, which will
+      # be used when the polkadot build calls `git rev-parse` to fetch the commit
+      # hash.
+      fakeGit = writeShellScriptBin "git" ''
+        if [[ $@ = "rev-parse --short HEAD" ]]; then
+          cat /build/source/.git_commit
+        else
+          >&2 echo "Unknown command: $@"
+          exit 1
+        fi
+      '';
+    in
+    [ clang fakeGit ];
 
   LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
   PROTOC = "${protobuf}/bin/protoc";
diff --git a/pkgs/applications/blockchains/snarkos/default.nix b/pkgs/applications/blockchains/snarkos/default.nix
index e265d9de8de..c52780c9564 100644
--- a/pkgs/applications/blockchains/snarkos/default.nix
+++ b/pkgs/applications/blockchains/snarkos/default.nix
@@ -10,16 +10,16 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "snarkos";
-  version = "unstable-2021-01-21";
+  version = "2.0.2";
 
   src = fetchFromGitHub {
     owner = "AleoHQ";
     repo = "snarkOS";
-    rev = "7068dc0394139c887f5187288ca2af54bc729614";
-    sha256 = "sha256-fgdIJX/Ep3amPAjo00BtNGSXhaItw41S1XliDXk6b7k=";
+    rev = "v${version}";
+    sha256 = "sha256-sS8emB+uhWuoq5ISuT8FgSSzX7/WDoOY8hHzPE/EX3o=";
   };
 
-  cargoSha256 = "sha256-bax7cnqVY49rdcWs73+KqW+dzPebKLlsbPvOM1d25zA=";
+  cargoSha256 = "sha256-XS6dw6BIoJdigEso/J1dUaAp7AIAda3HrKnCoBynRv8=";
 
   # buildAndTestSubdir = "cli";
 
diff --git a/pkgs/applications/blockchains/wasabiwallet/default.nix b/pkgs/applications/blockchains/wasabiwallet/default.nix
index 0b90fc10bbc..f8e20f1a05d 100644
--- a/pkgs/applications/blockchains/wasabiwallet/default.nix
+++ b/pkgs/applications/blockchains/wasabiwallet/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     desktopName = "Wasabi";
     genericName = "Bitcoin wallet";
     comment = meta.description;
-    categories = "Network;Utility;";
+    categories = [ "Network" "Utility" ];
   };
 
   installPhase = ''
diff --git a/pkgs/applications/blockchains/whirlpool-gui/default.nix b/pkgs/applications/blockchains/whirlpool-gui/default.nix
deleted file mode 100644
index d36715bd306..00000000000
--- a/pkgs/applications/blockchains/whirlpool-gui/default.nix
+++ /dev/null
@@ -1,104 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, callPackage, makeWrapper, makeDesktopItem
-, nodejs, yarn, electron_7, jre8, tor }:
-
-let
-  system = stdenv.hostPlatform.system;
-  electron = electron_7;
-
-in stdenv.mkDerivation rec {
-  pname = "whirlpool-gui";
-  version = "0.10.1";
-
-  src = fetchFromGitHub {
-    owner = "Samourai-Wallet";
-    repo = pname;
-    rev = version;
-    sha256 = "ru6WJQRulhnQCPY2E0x9M6xXtFdj/pg2fu4HpQxhImU=";
-  };
-
-  yarnCache = stdenv.mkDerivation {
-    name = "${pname}-${version}-${system}-yarn-cache";
-    inherit src;
-    dontInstall = true;
-    nativeBuildInputs = [ yarn ];
-    buildPhase = ''
-      export HOME=$NIX_BUILD_ROOT
-
-      yarn config set yarn-offline-mirror $out
-      yarn --frozen-lockfile --ignore-scripts --ignore-platform \
-        --ignore-engines --no-progress --non-interactive
-    '';
-
-    outputHashMode = "recursive";
-    outputHashAlgo = "sha256";
-    outputHash = {
-      x86_64-linux = "6fl4cSwHXWgQcYlqxCae0p1Ppcb9fI5fFrxm7y6wxTo=";
-    }.${system} or (throw "Unsupported platform ${system}");
-  };
-
-  nativeBuildInputs = [ makeWrapper nodejs yarn ];
-
-  configurePhase = ''
-    # Yarn and bundler wants a real home directory to write cache, config, etc to
-    export HOME=$NIX_BUILD_ROOT
-
-    # Make yarn install packages from our offline cache, not the registry
-    yarn config --offline set yarn-offline-mirror ${yarnCache}
-  '';
-
-  buildPhase = ''
-    yarn install --offline --ignore-scripts --frozen-lockfile --no-progress --non-interactive
-
-    patchShebangs node_modules/
-
-    yarn build
-  '';
-
-  installPhase = ''
-    mkdir -p $out/{bin,share,libexec/whirlpool-gui/app}
-
-    # install production dependencies
-    yarn install \
-      --offline --frozen-lockfile --ignore-scripts \
-      --no-progress --non-interactive \
-      --production --no-bin-links \
-      --modules-folder $out/libexec/whirlpool-gui/node_modules
-
-    # copy application
-    cp -r app/{dist,app.html,main.prod.js,main.prod.js.map,img} $out/libexec/whirlpool-gui/app
-    cp -r package.json resources $out/libexec/whirlpool-gui
-
-    # make desktop item
-    ln -s "${desktopItem}/share/applications" "$out/share/applications"
-
-    # wrap electron
-    makeWrapper '${electron}/bin/electron' "$out/bin/whirlpool-gui" \
-      --add-flags "$out/libexec/whirlpool-gui" \
-      --prefix PATH : "${jre8}/bin:${tor}/bin"
-  '';
-
-  desktopItem = makeDesktopItem {
-    name = "whirlpool-gui";
-    exec = "whirlpool-gui";
-    icon = "whirlpool-gui";
-    desktopName = "Whirlpool";
-    genericName = "Whirlpool";
-    comment = meta.description;
-    categories = "Network;";
-    extraEntries = ''
-      StartupWMClass=whrilpool-gui
-    '';
-  };
-
-  passthru.prefetchYarnCache = lib.overrideDerivation yarnCache (d: {
-    outputHash = lib.fakeSha256;
-  });
-
-  meta = with lib; {
-    description = "Desktop GUI for Whirlpool by Samourai-Wallet";
-    homepage = "https://www.samouraiwallet.com/whirlpool";
-    license = licenses.unlicense;
-    maintainers = [ maintainers.offline ];
-    platforms = [ "x86_64-linux" ];
-  };
-}
diff --git a/pkgs/applications/editors/android-studio/common.nix b/pkgs/applications/editors/android-studio/common.nix
index 540c59586a6..97eb5cad8d0 100644
--- a/pkgs/applications/editors/android-studio/common.nix
+++ b/pkgs/applications/editors/android-studio/common.nix
@@ -164,9 +164,9 @@ let
     icon = drvName;
     desktopName = "Android Studio (${channel} channel)";
     comment = "The official Android IDE";
-    categories = "Development;IDE;";
-    startupNotify = "true";
-    extraEntries="StartupWMClass=jetbrains-studio";
+    categories = [ "Development" "IDE" ];
+    startupNotify = true;
+    startupWMClass = "jetbrains-studio";
   };
 
   # Android Studio downloads prebuilt binaries as part of the SDK. These tools
diff --git a/pkgs/applications/editors/android-studio/default.nix b/pkgs/applications/editors/android-studio/default.nix
index 4191fa7cd43..e7824cd93f1 100644
--- a/pkgs/applications/editors/android-studio/default.nix
+++ b/pkgs/applications/editors/android-studio/default.nix
@@ -9,8 +9,8 @@ let
     inherit buildFHSUserEnv;
   };
   stableVersion = {
-    version = "2021.1.1.20"; # "Android Studio Bumblebee (2021.1.1)"
-    sha256Hash = "LwG5IDJBFpdlspDoTNpbi1togri2fvEOEDbkkiYvrJE=";
+    version = "2021.1.1.21"; # "Android Studio Bumblebee (2021.1.1 Patch 1)"
+    sha256Hash = "PeMJIILfaunTlpR4EV76qQlTlZDcWoKes61qe9W9oqQ=";
   };
   betaVersion = {
     version = "2021.2.1.8"; # "Android Studio Chipmunk (2021.2.1) Beta 1"
diff --git a/pkgs/applications/editors/bonzomatic/default.nix b/pkgs/applications/editors/bonzomatic/default.nix
index 5b1fc966dd9..caa1d2ab79b 100644
--- a/pkgs/applications/editors/bonzomatic/default.nix
+++ b/pkgs/applications/editors/bonzomatic/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bonzomatic";
-  version = "2021-03-07";
+  version = "2022-02-05";
 
   src = fetchFromGitHub {
     owner = "Gargaj";
     repo = pname;
     rev = version;
-    sha256 = "0gbh7kj7irq2hyvlzjgbs9fcns9kamz7g5p6msv12iw75z9yi330";
+    sha256 = "sha256-y0zNluIDxms+Lpg7yBiEJNNyxx5TLaSiWBKXjqXiVJg=";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/applications/editors/cudatext/default.nix b/pkgs/applications/editors/cudatext/default.nix
index 3654a75fd8f..2b58ba50bca 100644
--- a/pkgs/applications/editors/cudatext/default.nix
+++ b/pkgs/applications/editors/cudatext/default.nix
@@ -38,13 +38,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "cudatext";
-  version = "1.155.0";
+  version = "1.156.2";
 
   src = fetchFromGitHub {
     owner = "Alexey-T";
     repo = "CudaText";
     rev = version;
-    sha256 = "sha256-k6ALTbA2PhMZscinXKceM7MSzgr759Y6GxMrQAXMgwM=";
+    sha256 = "sha256-waVTNyK3OHpOvBJrXio+Xjn9q3WmUczbx3E26ChsuKo=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/editors/cudatext/deps.json b/pkgs/applications/editors/cudatext/deps.json
index 84f21e5ea20..9ae3c1c33ca 100644
--- a/pkgs/applications/editors/cudatext/deps.json
+++ b/pkgs/applications/editors/cudatext/deps.json
@@ -16,23 +16,23 @@
   },
   "ATSynEdit": {
     "owner": "Alexey-T",
-    "rev": "2022.01.20",
-    "sha256": "sha256-4UJ6t8j8uHB27jprqnlsGB8ytOMQLe4ZzSaYKiw4y70="
+    "rev": "2022.02.19",
+    "sha256": "sha256-cq2dirFNPaWRmZJu0F+CFA//+SuFOOpTH3Q5zL4oPQo="
   },
   "ATSynEdit_Cmp": {
     "owner": "Alexey-T",
-    "rev": "2021.12.28",
-    "sha256": "sha256-bXTjPdn0DIVTdoi30Ws5+M+UsC7F99IphMSTpI5ia/Q="
+    "rev": "2022.01.21",
+    "sha256": "sha256-el5YtzewnHV0fRPgVhApZUVP7huSQseqrO2ibvm6Ctg="
   },
   "EControl": {
     "owner": "Alexey-T",
-    "rev": "2022.01.07",
-    "sha256": "sha256-dgkyXrFs2hzuFjt9GW+WNyrLIp/i/AbRsM/MyMbatdA="
+    "rev": "2022.02.02",
+    "sha256": "sha256-T/6SQJHKzbv/PlObDyc9bcpC14krHgcLDQn0v2fNkLM="
   },
   "ATSynEdit_Ex": {
     "owner": "Alexey-T",
-    "rev": "2022.01.20",
-    "sha256": "sha256-CaGo38NV+mbwekzkgw0DxM4TZf2xwHtYFnC6RbWH+ts="
+    "rev": "2022.02.01",
+    "sha256": "sha256-FAcq6ixmFPQFBAGG2gqB4T+YGYT+Rh/OlKdGcH/iL3g="
   },
   "Python-for-Lazarus": {
     "owner": "Alexey-T",
@@ -41,8 +41,8 @@
   },
   "Emmet-Pascal": {
     "owner": "Alexey-T",
-    "rev": "2020.09.05",
-    "sha256": "0qfiirxnk5g3whx8y8hp54ch3h6gkkd01yf79m95bwar5qvdfybg"
+    "rev": "2022.01.17",
+    "sha256": "sha256-5yqxRW7xFJ4MwHjKnxYL8/HrCDLn30a1gyQRjGMx/qw="
   },
   "CudaText-lexers": {
     "owner": "Alexey-T",
diff --git a/pkgs/applications/editors/cudatext/update.sh b/pkgs/applications/editors/cudatext/update.sh
index 8389b3e8a7d..f7aae6ff8b4 100755
--- a/pkgs/applications/editors/cudatext/update.sh
+++ b/pkgs/applications/editors/cudatext/update.sh
@@ -18,6 +18,6 @@ while IFS=$'\t' read repo owner rev; do
     url="https://github.com/${owner}/${repo}/archive/refs/tags/${latest}.tar.gz"
     hash=$(nix-prefetch-url --quiet --unpack --type sha256 $url)
     sriHash=$(nix hash to-sri --type sha256 $hash)
-    jq ".${repo}.rev = \"${latest}\" | .${repo}.sha256 = \"${sriHash}\"" deps.json | sponge deps.json
+    jq ".\"${repo}\".rev = \"${latest}\" | .\"${repo}\".sha256 = \"${sriHash}\"" deps.json | sponge deps.json
   fi
 done <<< $(jq -r 'to_entries[]|[.key,.value.owner,.value.rev]|@tsv' deps.json)
diff --git a/pkgs/applications/editors/eclipse/build-eclipse.nix b/pkgs/applications/editors/eclipse/build-eclipse.nix
index 29c063633fc..faa89b9c877 100644
--- a/pkgs/applications/editors/eclipse/build-eclipse.nix
+++ b/pkgs/applications/editors/eclipse/build-eclipse.nix
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     comment = "Integrated Development Environment";
     desktopName = "Eclipse IDE";
     genericName = "Integrated Development Environment";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
   buildInputs = [
diff --git a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
index 2004f607fe0..2cc03add30b 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/elpa-generated.nix
@@ -234,10 +234,10 @@
       elpaBuild {
         pname = "auctex";
         ename = "auctex";
-        version = "13.0.16";
+        version = "13.1.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/auctex-13.0.16.tar";
-          sha256 = "1r9piq4js45knw8sf73kk8jjinmx4m2mdinc98xrklnwcffw7hjf";
+          url = "https://elpa.gnu.org/packages/auctex-13.1.1.tar";
+          sha256 = "193sqq2wiq3lg99m8hifl9rjxdazpy638r99sqvmxmkfm98cr34r";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -309,10 +309,10 @@
       elpaBuild {
         pname = "bbdb";
         ename = "bbdb";
-        version = "3.2";
+        version = "3.2.1";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/bbdb-3.2.tar";
-          sha256 = "1p56dg0mja2b2figy7yhdx714zd5j6njzn0k07zjka3jc06izvjx";
+          url = "https://elpa.gnu.org/packages/bbdb-3.2.1.tar";
+          sha256 = "01vsnifs47krq1srgdkk9agbv3p2fykl9nydr4nrfjxbqpnyh3ij";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -741,10 +741,10 @@
       elpaBuild {
         pname = "corfu";
         ename = "corfu";
-        version = "0.18";
+        version = "0.19";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/corfu-0.18.tar";
-          sha256 = "1g1b05wc9qql5qw3diprx0ay2rmq7963gdgyh7bi5i0xlfaspbgi";
+          url = "https://elpa.gnu.org/packages/corfu-0.19.tar";
+          sha256 = "0jilhsddzjm0is7kqdklpr2ih50k2c3sik2i9vlgcizxqaqss97c";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1236,10 +1236,10 @@
       elpaBuild {
         pname = "eev";
         ename = "eev";
-        version = "20220120";
+        version = "20220224";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/eev-20220120.tar";
-          sha256 = "0wbm7bd48vl66vhraqfwycz989hd36whris1xa5rbhfbxgz2d1sx";
+          url = "https://elpa.gnu.org/packages/eev-20220224.tar";
+          sha256 = "008750fm7w5k9yrkwyxgank02smxki2857cd2d8qvhsa2qnz6c5n";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1339,10 +1339,10 @@
       elpaBuild {
         pname = "elisp-benchmarks";
         ename = "elisp-benchmarks";
-        version = "1.13";
+        version = "1.14";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.13.tar";
-          sha256 = "13gvljqj7k8qpyn9fcwa6gl3kqakiy5rqx5s3afdc2y356a06wr6";
+          url = "https://elpa.gnu.org/packages/elisp-benchmarks-1.14.tar";
+          sha256 = "1n9p4kl4d5rcbjgl8yifv0nqnrzxsx937fm0d2j589gg28rzlqpb";
         };
         packageRequires = [];
         meta = {
@@ -1394,10 +1394,10 @@
       elpaBuild {
         pname = "emms";
         ename = "emms";
-        version = "9";
+        version = "10";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/emms-9.tar";
-          sha256 = "12p9nigzyrlpkfvg7v76jmcfs08z84gggnx7h4frdaim3kx5y6xf";
+          url = "https://elpa.gnu.org/packages/emms-10.tar";
+          sha256 = "1lgjw9p799sl7nqnl2sk4g67ra10z2ldygx9kb8pmxjrx64mi3qm";
         };
         packageRequires = [ cl-lib nadvice seq ];
         meta = {
@@ -1594,10 +1594,10 @@
       elpaBuild {
         pname = "flymake";
         ename = "flymake";
-        version = "1.2.1";
+        version = "1.2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/flymake-1.2.1.tar";
-          sha256 = "1j4j1mxqvkpdccrm5khykmdpm8z9p0pxvnsw4cz9b76xzfdzy5pz";
+          url = "https://elpa.gnu.org/packages/flymake-1.2.2.tar";
+          sha256 = "04pa6mayyqrhrijk0rmmrd7k7al9caqyrb5qzkzwbna9ykb1j4zp";
         };
         packageRequires = [ eldoc emacs project ];
         meta = {
@@ -2043,10 +2043,10 @@
       elpaBuild {
         pname = "isearch-mb";
         ename = "isearch-mb";
-        version = "0.3";
+        version = "0.4";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/isearch-mb-0.3.tar";
-          sha256 = "01yq1skc6rm9yp80vz2fhh9lbkdb9nhf57h424mrkycdky2w50mx";
+          url = "https://elpa.gnu.org/packages/isearch-mb-0.4.tar";
+          sha256 = "11q9sdi6l795hspi7hr621bbra66pxsgrkry95k7wxjkmibcbsxr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2216,7 +2216,7 @@
         version = "1.0.15";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/jsonrpc-1.0.15.tar";
-          sha256 = "1hx378rg12jz2zm105cvrqk0nqyzsn04l59d903l98d6lbd96rsw";
+          sha256 = "0biwvkvd48xqvigzs00yz4mk847xzyzm7p0lkns58fxph9nkg4h5";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2426,7 +2426,7 @@
         version = "3.2.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/map-3.2.1.tar";
-          sha256 = "1vy231m2fm5cgz5nib14ib7ifprajhnbmzf6x4id48h2491m1n24";
+          sha256 = "1zj0y3nvkrd2v43za214xr3h9z6wyp7r5s6nf5g1pj272yb871d1";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2483,10 +2483,10 @@
       elpaBuild {
         pname = "mct";
         ename = "mct";
-        version = "0.4.2";
+        version = "0.5.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/mct-0.4.2.tar";
-          sha256 = "0as8298mb136az555zag5q3xvc7d0z508d3siii60wmzs9dyb8dx";
+          url = "https://elpa.gnu.org/packages/mct-0.5.0.tar";
+          sha256 = "0yv0hqkyh5vpmf5i50fdc2rw3ssvrd9pn3n65v3gmb195gzmn6r9";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2622,10 +2622,10 @@
       elpaBuild {
         pname = "modus-themes";
         ename = "modus-themes";
-        version = "2.0.0";
+        version = "2.2.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/modus-themes-2.0.0.tar";
-          sha256 = "16kvkm7hsdk6jfdjkzafwdkwwri7cqki29qxqqhzkpwwghqlissl";
+          url = "https://elpa.gnu.org/packages/modus-themes-2.2.0.tar";
+          sha256 = "1vgwr9q16d3hjwmqljmmzlpn177gvwbk3wg4l1fmgc5bpb7k78ky";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3021,6 +3021,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    org-remark = callPackage ({ elpaBuild, emacs, fetchurl, lib, org }:
+      elpaBuild {
+        pname = "org-remark";
+        ename = "org-remark";
+        version = "1.0.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/org-remark-1.0.2.tar";
+          sha256 = "12g9kmr0gfs1pi1410akvcaiax0dswbw09sgqbib58mikb3074nv";
+        };
+        packageRequires = [ emacs org ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/org-remark.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     org-transclusion = callPackage ({ elpaBuild, emacs, fetchurl, lib, org }:
       elpaBuild {
         pname = "org-transclusion";
@@ -3145,10 +3160,10 @@
       elpaBuild {
         pname = "parser-generator";
         ename = "parser-generator";
-        version = "0.1.3";
+        version = "0.1.5";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/parser-generator-0.1.3.tar";
-          sha256 = "13ssmdlni9ma6iafr4zwa2jlmq6rdlaafkdpli1a4jrk6ri6w996";
+          url = "https://elpa.gnu.org/packages/parser-generator-0.1.5.tar";
+          sha256 = "06cl9whk321l1q5xcjmgq5c59l10ybwcdsmmbrkrllnbpqxy23bj";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3268,7 +3283,7 @@
         version = "0.8.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/project-0.8.1.tar";
-          sha256 = "1x3zkbjsi04v5ny3yxqrb75vcacrj9kxmpm9mvkp0n07j5g34f68";
+          sha256 = "0q2js8qihlhchpx2mx0f992ygslsqri2q4iv8kcl4fx31lpp7c1k";
         };
         packageRequires = [ emacs xref ];
         meta = {
@@ -3343,7 +3358,7 @@
         version = "0.28";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/python-0.28.tar";
-          sha256 = "1pvhsdjla1rvw223h7irmbzzsrixnpy1rsskiq9xmkpkc688b6pm";
+          sha256 = "1kc596b8bbcp8y87kqyxsv3bblz8l0vyc0d645ayb1cmwwvk35d5";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -3635,10 +3650,10 @@
       elpaBuild {
         pname = "repology";
         ename = "repology";
-        version = "1.1.0";
+        version = "1.2.2";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/repology-1.1.0.tar";
-          sha256 = "031245rrhazj53bk1csa6x3ygzvg74w2hwjf08ficwvmdn97li90";
+          url = "https://elpa.gnu.org/packages/repology-1.2.2.tar";
+          sha256 = "0ggb0zgz24hs5andhyrlpqm0gda0gf1wynzkarj4z7gpk5p9wrpr";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3712,6 +3727,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    satchel = callPackage ({ elpaBuild, emacs, fetchurl, lib, project }:
+      elpaBuild {
+        pname = "satchel";
+        ename = "satchel";
+        version = "0.2";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/satchel-0.2.tar";
+          sha256 = "1ajsfrr988nglw2l4kqjbbdq9x8gidv0ymsrg3jm2b9nisfhnixv";
+        };
+        packageRequires = [ emacs project ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/satchel.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     scanner = callPackage ({ dash, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "scanner";
@@ -3802,7 +3832,6 @@
           license = lib.licenses.free;
         };
       }) {};
-    # removed duplicated shell-command-plus
     shell-command-plus = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "shell-command-plus";
@@ -3945,7 +3974,7 @@
         version = "1.1.2";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/so-long-1.1.2.tar";
-          sha256 = "053msvy2pyispwg4zzpaczfkl6rvnwfklm4jdsbjhqm0kx4vlcs9";
+          sha256 = "0gb5ypl9phhv8sx7akw9xn7njfq86yqngixhxf8qj1fxp57gfpdb";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -3964,7 +3993,7 @@
         version = "3.2.1";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/soap-client-3.2.1.tar";
-          sha256 = "0ajv6l1p8dinnlybwzvv4c2i6291is6isjxb2h4apg27g66qbcki";
+          sha256 = "0v3aj059cvfv5yc9fx8naq8ygphlpbasc1nksgfim8iyk9wg7l3n";
         };
         packageRequires = [ cl-lib emacs ];
         meta = {
@@ -4291,6 +4320,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    tramp-nspawn = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "tramp-nspawn";
+        ename = "tramp-nspawn";
+        version = "1.0";
+        src = fetchurl {
+          url = "https://elpa.gnu.org/packages/tramp-nspawn-1.0.tar";
+          sha256 = "1si649vcj4md50p5nzvw431580rcl113rraj6fw636a394485hvx";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/tramp-nspawn.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     tramp-theme = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "tramp-theme";
@@ -4549,7 +4593,7 @@
         version = "2021.10.14.127365406";
         src = fetchurl {
           url = "https://elpa.gnu.org/packages/verilog-mode-2021.10.14.127365406.tar";
-          sha256 = "0d842dwg98srv73nkg69c7x24rw20mxgqmb4k1qcbl02bwxkfmsm";
+          sha256 = "1v0ld310rs86vzmlw7phv1b5p59faqs9wg4p8jpbnb9ap9lwidnl";
         };
         packageRequires = [];
         meta = {
@@ -4734,10 +4778,10 @@
       elpaBuild {
         pname = "which-key";
         ename = "which-key";
-        version = "3.5.1";
+        version = "3.6.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/which-key-3.5.1.tar";
-          sha256 = "187cssvqpd0wj01rgd19pp1k6aj9m2n5fdqznkga6w1h6cb5cm2b";
+          url = "https://elpa.gnu.org/packages/which-key-3.6.0.tar";
+          sha256 = "05wy147734mlpzwwxdhidnsplrz2vzs1whczzs4jw1i7kp7jvy3v";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -4889,10 +4933,10 @@
       elpaBuild {
         pname = "xref";
         ename = "xref";
-        version = "1.3.2";
+        version = "1.4.0";
         src = fetchurl {
-          url = "https://elpa.gnu.org/packages/xref-1.3.2.tar";
-          sha256 = "13bsaxdxwn14plaam0hsrswngh3rm2k29v5ybjgjyjy4d5vwz78j";
+          url = "https://elpa.gnu.org/packages/xref-1.4.0.tar";
+          sha256 = "1ng03fyhpisa1v99sc96mpr7hna1pmg4gdc61p86r8lka9m5gqfx";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
index 89f2eb07d7d..f418fa061be 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
+++ b/pkgs/applications/editors/emacs/elisp-packages/nongnu-generated.nix
@@ -454,10 +454,10 @@
       elpaBuild {
         pname = "elpher";
         ename = "elpher";
-        version = "3.3.1";
+        version = "3.3.2";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/elpher-3.3.1.tar";
-          sha256 = "056z3ryj2288wgl8h4b33v9hybm8n2kfrqyb22bmlq1npcixyjl7";
+          url = "https://elpa.nongnu.org/nongnu/elpher-3.3.2.tar";
+          sha256 = "1w34agw5qfgbpk6s2bllvgkj4wm1rlcyn33yfgj2xr4a5gfcs30a";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -752,10 +752,10 @@
       elpaBuild {
         pname = "geiser-gambit";
         ename = "geiser-gambit";
-        version = "0.17";
+        version = "0.18.1";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/geiser-gambit-0.17.tar";
-          sha256 = "12r9h1dl0y9j421v0idvr9ljj93962xfrs0nff5lmx5z1cayq456";
+          url = "https://elpa.nongnu.org/nongnu/geiser-gambit-0.18.1.tar";
+          sha256 = "03cv51war65yrg5qswwlx755byn2nlm1qvbzqqminnidz64kfd3v";
         };
         packageRequires = [ emacs geiser ];
         meta = {
@@ -1039,31 +1039,31 @@
           license = lib.licenses.free;
         };
       }) {};
-    helm = callPackage ({ elpaBuild, fetchurl, lib }:
+    helm = callPackage ({ elpaBuild, fetchurl, helm-core, lib, popup }:
       elpaBuild {
         pname = "helm";
         ename = "helm";
-        version = "3.8.3";
+        version = "3.8.4";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-3.8.3.tar";
-          sha256 = "00qjcv4qxjw50zp5dzvn79c0xpyla4h41fxkr2jjszq6qzgd92cv";
+          url = "https://elpa.nongnu.org/nongnu/helm-3.8.4.tar";
+          sha256 = "0yc7ijap3g68w7npgwymzlp5bcawk3lhnp0004m03zfdbxhmkq0z";
         };
-        packageRequires = [];
+        packageRequires = [ helm-core popup ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/helm.html";
           license = lib.licenses.free;
         };
       }) {};
-    helm-core = callPackage ({ elpaBuild, fetchurl, lib }:
+    helm-core = callPackage ({ async, elpaBuild, emacs, fetchurl, lib }:
       elpaBuild {
         pname = "helm-core";
         ename = "helm-core";
-        version = "3.8.3";
+        version = "3.8.4";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.3.tar";
-          sha256 = "11ggn1fmi8wbg2igs5lqppyccgpz8kyfzl17wqkr5xy69lr1jn5g";
+          url = "https://elpa.nongnu.org/nongnu/helm-core-3.8.4.tar";
+          sha256 = "0a1liapy345nlqjgxbzad0mkdbs4g6619cqplwiyh89x0lm0jprx";
         };
-        packageRequires = [];
+        packageRequires = [ async emacs ];
         meta = {
           homepage = "https://elpa.gnu.org/packages/helm-core.html";
           license = lib.licenses.free;
@@ -1126,10 +1126,10 @@
       elpaBuild {
         pname = "iedit";
         ename = "iedit";
-        version = "0.9.9.9";
+        version = "0.9.9.9.9";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/iedit-0.9.9.9.tar";
-          sha256 = "1kwm7pa1x5dbn9irdrz9vg5zivrqx1w2ywrbpglk2lgd9kff0nsj";
+          url = "https://elpa.nongnu.org/nongnu/iedit-0.9.9.9.9.tar";
+          sha256 = "1ic780gd7n2qrpbqr0vy62p7wsrskyvyr571m8m3j25fii8v8cxg";
         };
         packageRequires = [];
         meta = {
@@ -1220,10 +1220,10 @@
       elpaBuild {
         pname = "keycast";
         ename = "keycast";
-        version = "1.1.3";
+        version = "1.2.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/keycast-1.1.3.tar";
-          sha256 = "0b4vyaxqdw11ai81vnvif8i02jcaf5hk64kbb7bs90527zwz2fw0";
+          url = "https://elpa.nongnu.org/nongnu/keycast-1.2.0.tar";
+          sha256 = "0iiksz8lcz9y5yplw455v2zgvq2jz6jc2ic3ybax10v3wgxnhiad";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1325,10 +1325,10 @@
       elpaBuild {
         pname = "markdown-mode";
         ename = "markdown-mode";
-        version = "2.4";
+        version = "2.5";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/markdown-mode-2.4.tar";
-          sha256 = "002nvc2p7jzznr743znbml3vj8a3kvdd89rlbi28f5ha14g2567z";
+          url = "https://elpa.nongnu.org/nongnu/markdown-mode-2.5.tar";
+          sha256 = "195p4bz2k5rs6222pfxv6rk2r22snx33gvc1x3rs020lacppbhik";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1604,10 +1604,10 @@
       elpaBuild {
         pname = "orgit";
         ename = "orgit";
-        version = "1.7.2";
+        version = "1.8.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/orgit-1.7.2.tar";
-          sha256 = "1kf72l8h3wqgnrchy6wvhm3nmc9drh82yw5211f4xgg2ckr60rn1";
+          url = "https://elpa.nongnu.org/nongnu/orgit-1.8.0.tar";
+          sha256 = "03qjhiv3smnpjciz5sfri7v5gzgcnk5g0lhgm06flqnarfrrkn1h";
         };
         packageRequires = [ emacs magit org ];
         meta = {
@@ -1640,10 +1640,10 @@
       elpaBuild {
         pname = "parseclj";
         ename = "parseclj";
-        version = "1.0.6";
+        version = "1.1.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/parseclj-1.0.6.tar";
-          sha256 = "0cs6a394pll9sl8ybpsygg9mkznpz119f8hjgw3n7mgkwfc5a30k";
+          url = "https://elpa.nongnu.org/nongnu/parseclj-1.1.0.tar";
+          sha256 = "0h6fia59crqb1y83a04sjlhlpm6349s6c14zsiqsfi73m97dli6p";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -1655,10 +1655,10 @@
       elpaBuild {
         pname = "parseedn";
         ename = "parseedn";
-        version = "1.0.6";
+        version = "1.1.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/parseedn-1.0.6.tar";
-          sha256 = "1274pr91hcrvy4srdy2dw14hbcg2qy24z4klx6mashgzb1r42n3d";
+          url = "https://elpa.nongnu.org/nongnu/parseedn-1.1.0.tar";
+          sha256 = "1by9cy7pn12124vbg59c9qmn2k8v5dbqq4c8if81fclrccjqhrz4";
         };
         packageRequires = [ emacs map parseclj ];
         meta = {
@@ -1825,10 +1825,10 @@
       elpaBuild {
         pname = "rust-mode";
         ename = "rust-mode";
-        version = "1.0.3";
+        version = "1.0.4";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/rust-mode-1.0.3.tar";
-          sha256 = "1hg5hr5jma5v4rilchwyyw1fzm8lkfd3fxay0sb9dgzrgypvh5am";
+          url = "https://elpa.nongnu.org/nongnu/rust-mode-1.0.4.tar";
+          sha256 = "137z04h29cgy1dmkf2cnchlfzqs4f5v3cc9gv9qxisw9dswlvdvk";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2009,10 +2009,10 @@
       elpaBuild {
         pname = "subed";
         ename = "subed";
-        version = "1.0.2";
+        version = "1.0.3";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/subed-1.0.2.tar";
-          sha256 = "187ksczrqqzjnbvh8px3xvqyf38i7ac24z1qxzybd4vx2n071v64";
+          url = "https://elpa.nongnu.org/nongnu/subed-1.0.3.tar";
+          sha256 = "0wibakmp1lhfyr6sifb7f3jcqp2s5sy0z37ad9n1n9rhj5q8yhzg";
         };
         packageRequires = [ emacs ];
         meta = {
@@ -2146,6 +2146,21 @@
           license = lib.licenses.free;
         };
       }) {};
+    typescript-mode = callPackage ({ elpaBuild, emacs, fetchurl, lib }:
+      elpaBuild {
+        pname = "typescript-mode";
+        ename = "typescript-mode";
+        version = "0.4";
+        src = fetchurl {
+          url = "https://elpa.nongnu.org/nongnu/typescript-mode-0.4.tar";
+          sha256 = "1102c35w2b66q5acvhsk6yigzhp6n3rl0s28xnvb74ansk4rz35k";
+        };
+        packageRequires = [ emacs ];
+        meta = {
+          homepage = "https://elpa.gnu.org/packages/typescript-mode.html";
+          license = lib.licenses.free;
+        };
+      }) {};
     ujelly-theme = callPackage ({ elpaBuild, fetchurl, lib }:
       elpaBuild {
         pname = "ujelly-theme";
@@ -2245,10 +2260,10 @@
       elpaBuild {
         pname = "with-editor";
         ename = "with-editor";
-        version = "3.1.1";
+        version = "3.2.0";
         src = fetchurl {
-          url = "https://elpa.nongnu.org/nongnu/with-editor-3.1.1.tar";
-          sha256 = "175k68mr0n3v5l3gbv2fsdfznm9yjy32l3ay6hj0d4c53kw76hvn";
+          url = "https://elpa.nongnu.org/nongnu/with-editor-3.2.0.tar";
+          sha256 = "1rsggbhkngzbcmg3076jbi1sfkzz8p4s5i00sk0ywc6vkmsp6s1k";
         };
         packageRequires = [ emacs ];
         meta = {
diff --git a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
index fc60a6916c4..0d5f267f5a1 100644
--- a/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
+++ b/pkgs/applications/editors/emacs/elisp-packages/recipes-archive-melpa.json
@@ -204,11 +204,11 @@
   "repo": "ymarco/auto-activating-snippets",
   "unstable": {
    "version": [
-    20211208,
-    2116
+    20220217,
+    2054
    ],
-   "commit": "b1a436922ba06ab9e1a5cc222f1a4f25a7697231",
-   "sha256": "0alscwf2937ak2pzgl9jih7s9dya7kibl59qik4fy6xbq5h52v77"
+   "commit": "1cb08537e255c60a9439e3fea7c5d406e32f5e97",
+   "sha256": "1mm8c69r9jjs4qr0nha7pj1i8pq03q4nban4pik280swn4c8f3zl"
   },
   "stable": {
    "version": [
@@ -2545,8 +2545,8 @@
    "deps": [
     "all-the-icons"
    ],
-   "commit": "8a914b100348493a665f0d53de4e22bf5b30a2a5",
-   "sha256": "02rymhafqd2amazi2ds39vf5p01lfa75k5vyary3zrk2q01x1ba3"
+   "commit": "67a331c94af7670a89cea2cd58a1e7b11b83e8a9",
+   "sha256": "1aq1g81hj9c8z6h3aw9jdiq9x531kdysdifcr6q7p2bd0vcjd79m"
   },
   "stable": {
    "version": [
@@ -2601,15 +2601,15 @@
   "repo": "seagle0128/all-the-icons-ivy-rich",
   "unstable": {
    "version": [
-    20220125,
-    1547
+    20220219,
+    1054
    ],
    "deps": [
     "all-the-icons",
     "ivy-rich"
    ],
-   "commit": "1365b83824614656278b0b818fadf293e8ec0973",
-   "sha256": "0xx0ls0i6rhnacyscxzpnpdm9vy79lj634jvi9cp572y742l7cpx"
+   "commit": "2aca118abec76886a0689bcb4b6ba1049ff4e297",
+   "sha256": "0h6sq20pg3g68p4a0ziy8n41h236q9vfc21wx7qs5g9v6k3pbdng"
   },
   "stable": {
    "version": [
@@ -2672,11 +2672,11 @@
   "repo": "jcs-elpa/alt-codes",
   "unstable": {
    "version": [
-    20220205,
-    722
+    20220212,
+    1526
    ],
-   "commit": "a1671339bde3dec273b367bf7dc849d1c306dac6",
-   "sha256": "17n11prkp1d1ln16jcfyy1m6wp6i8qi57zwy8g9cr13xwgq9f324"
+   "commit": "583ed2d65310eddcb1d5d82af236c9ed86560447",
+   "sha256": "1a3xk7cyxp63957mk3msrj166yq61zwyckdc7qd2l9s3spbsdq0j"
   },
   "stable": {
    "version": [
@@ -2754,25 +2754,6 @@
   }
  },
  {
-  "ename": "ammonite-term-repl",
-  "commit": "cf0ece0efb1fcf0ea7364df0d35fca69862f5e9a",
-  "sha256": "004cvhyh4afgpb31m1q31g98x8c9m6lmsb5fzc4a1r5pb4p3iimp",
-  "fetcher": "github",
-  "repo": "zwild/ammonite-term-repl",
-  "unstable": {
-   "version": [
-    20200416,
-    559
-   ],
-   "deps": [
-    "s",
-    "scala-mode"
-   ],
-   "commit": "b552fe21977e005c1c460bf6607557e67241a6b6",
-   "sha256": "0g6ldvzcm6arm6hxiz1y168mj73kipgbjzxciif2b4sd3z7wpnp6"
-  }
- },
- {
   "ename": "ample-regexps",
   "commit": "6a5c72dfb52d55b2b22c91f115b32fff14f2f61e",
   "sha256": "00y07pd438v7ldkn5f1w84cpxa1mvcnzjkj6sf5l5pm97xqiz7j2",
@@ -2819,20 +2800,20 @@
  },
  {
   "ename": "amread-mode",
-  "commit": "2155dbd9bdf7b1f6f500c11ad1796c2ba2ddadec",
-  "sha256": "19wafb0aszphdmx9ayiazvq2avj9kqhanszh714n397810ak7k0v",
-  "fetcher": "github",
-  "repo": "stardiviner/amread-mode",
+  "commit": "b94f03b35acf501b2c4c638b5b0a745dbda804f2",
+  "sha256": "0xwqk4nd9hkq133l9b1n9lrv6nrfirpfzin53gb2a8v442s2anfc",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/amread-mode.git",
   "unstable": {
    "version": [
-    20200623,
-    1544
+    20220210,
+    1354
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7b1ed6c8aea409e2dce4a3b59f304d716a8efab7",
-   "sha256": "12hcgkznf1l4db8y0q33v735b5iin8iycc5s0di46ichxcjr0b7x"
+   "commit": "a3358645582148e81bff54e18877451b747173bb",
+   "sha256": "0nl1w5ysq90bxl16jrdh87wyp6ffawbjc3c6zrbhsfmfd24jiq28"
   }
  },
  {
@@ -3250,8 +3231,8 @@
     20200914,
     644
    ],
-   "commit": "9911f73061e21a87fad76c662463257afe02c861",
-   "sha256": "1sma8i82g9kv6b5mmvfxgr70pbjgy9m2f8ynh1gr2mq0b1jkgxjk"
+   "commit": "90c30a8e8d37b606decfabf7b52d37022ea5b3a6",
+   "sha256": "1vxx4h33dx14hrpgch7xk7y83cdxj6vamma2hanzjgwjq7wvdck3"
   },
   "stable": {
    "version": [
@@ -3903,20 +3884,20 @@
  },
  {
   "ename": "arduino-mode",
-  "commit": "2db785f52c2facc55459e945ccb4d4b088506747",
-  "sha256": "1amqah0sx95866ikdlc7h7n9hmrwaqizc0rj0gliv15kjjggv55v",
-  "fetcher": "github",
-  "repo": "stardiviner/arduino-mode",
+  "commit": "eba5c2d5ea1316bf49cd9928c82b63efbe502708",
+  "sha256": "12lpcqmgklflbayp45wh7sdw4whywz4pxdb6fvlmnxzjc9lamdhc",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/arduino-mode.git",
   "unstable": {
    "version": [
-    20211112,
-    1223
+    20220210,
+    1355
    ],
    "deps": [
     "spinner"
    ],
-   "commit": "3bc47bd7f75a7ccae409236dab43208ce8d41d51",
-   "sha256": "1jsifn9gfpb2rwhz9fr6r4qsmyydfd6rmz87iy7884nrnxkmdsci"
+   "commit": "652c6a328fa8f2db06534d5f231c6b6933be3edc",
+   "sha256": "16izwrk1dfsa14kylfhsxdwkx76g0jdk0znl1z7cypxh5q9ijy1x"
   }
  },
  {
@@ -4106,8 +4087,8 @@
    "deps": [
     "yaml"
    ],
-   "commit": "ad00c5eb90f189223ef8a0b49c1dc5fef1ef26b0",
-   "sha256": "0wrwqr79swsj4jmvnn0ljzymjmp1rr4al37qibagl6pj8vfdqim0"
+   "commit": "47aa63d320c39f8566a8d95c61f27383f561b001",
+   "sha256": "0rc0m0w8z5mz0mkyh05kjcnz9wzjvs92ygyh934zwl8a3lk566sk"
   },
   "stable": {
    "version": [
@@ -4315,8 +4296,8 @@
     20201026,
     339
    ],
-   "commit": "411e9c943cf8ee966d7850c69b5e3c405e268246",
-   "sha256": "00977n8sp0bbpnbqwj2jfdvm9d9cqwfl4mn1wv1dj6bzfzxp68mc"
+   "commit": "15ab7db5d188083f09d65163edd5d0ef995c4c30",
+   "sha256": "05fgd7h75jrzblgs8ydkd30pgjhr16ng4l4k32wr4wwqn213ag97"
   },
   "stable": {
    "version": [
@@ -4339,8 +4320,8 @@
     20210731,
     609
    ],
-   "commit": "7d6332093d2ad6963b2305ad3038f44b941a43c1",
-   "sha256": "01xdll1gyachgh9p9pc3c0pdki2h2xmiri9cslsaq48y9gklgaw2"
+   "commit": "da34a3950b80bb43cc1e8b4aa404b761372dd149",
+   "sha256": "04jjgcs7h2bxxjqhsi65iwgf5jg912lgingfq3yd9dkcbw9nmcfc"
   },
   "stable": {
    "version": [
@@ -4633,15 +4614,15 @@
   "repo": "emacs-grammarly/auth-source-keytar",
   "unstable": {
    "version": [
-    20210516,
-    556
+    20220222,
+    640
    ],
    "deps": [
     "keytar",
     "s"
    ],
-   "commit": "c9ce75de3784ba68b44a643e4d00e59e351d976a",
-   "sha256": "03pa44qhyyyv476gbpzshywr2yg6m48rq6kgzli3bajd4ysm9ism"
+   "commit": "c7b5893e0d93ac6a653e58161b42dc2b21793711",
+   "sha256": "1w9i58dg0l23dry0aj3cvb842fd33z9hngq0a7rikacmympz95r9"
   },
   "stable": {
    "version": [
@@ -4783,8 +4764,8 @@
     "cl-lib",
     "popup"
    ],
-   "commit": "57cb8f2ee32dff17ea1b4431fe5920272aa38d72",
-   "sha256": "185q90ibw17dh2nwdljapdw2747hzv32n4hkjfcfsgw5asy58r8z"
+   "commit": "71dd984aa45dccea1cb797d336507eafa81b5bf4",
+   "sha256": "0cayj63jn1dc01bn4z87l783fiis4ixvmbww2pqii1i06mxsqxaw"
   },
   "stable": {
    "version": [
@@ -5090,11 +5071,11 @@
   "repo": "mina86/auto-dim-other-buffers.el",
   "unstable": {
    "version": [
-    20211101,
-    1155
+    20220209,
+    2101
    ],
-   "commit": "a1c67bf557277934f6dae9f2de6624d949ef2c8a",
-   "sha256": "0z5afn48w3p3i98zn81422khbl0k460spgqj60b9s7sqccbssg57"
+   "commit": "33b5f88b799a17947c266b04ad59462c5aeb4ed7",
+   "sha256": "17h9hh8n6ib1crap8jdgjhaszvlqb4gri1z821apyn66lqvix7x8"
   }
  },
  {
@@ -5105,14 +5086,14 @@
   "repo": "elp-revive/auto-highlight-symbol",
   "unstable": {
    "version": [
-    20220103,
-    1602
+    20220223,
+    1622
    ],
    "deps": [
     "ht"
    ],
-   "commit": "5949aa269d3781985c3c9fc5e557bd82c3c1f7e4",
-   "sha256": "01qqdkd16zy5sqla821k2q3bh4gmlq5xp5wdar58rm7cww6r4w5x"
+   "commit": "db22c24d13532e80ce02c2f51f41f6c979cf0604",
+   "sha256": "0z1frm9kicrlb63iyk7wa5dpvy92ygh5vxaw2kv1rvnfbsfmxl7b"
   },
   "stable": {
    "version": [
@@ -5261,8 +5242,8 @@
     20210805,
     1344
    ],
-   "commit": "77f66b75209628a267a5ced84cd85774e0e26b9a",
-   "sha256": "1n0b74zhj4v9gniy33im4cahxx33mhbkhjpb4ra4qahqdyl5a7c9"
+   "commit": "beb7a4d2b15790502ac52f65588da3d23567f9db",
+   "sha256": "1pv88hrld0zifd7w52kqlx04fx3vfzrp56kzd2jk0fn3pvqdi5n7"
   },
   "stable": {
    "version": [
@@ -5329,14 +5310,14 @@
   "repo": "ncaq/auto-sudoedit",
   "unstable": {
    "version": [
-    20210522,
-    612
+    20220209,
+    554
    ],
    "deps": [
     "f"
    ],
-   "commit": "0dec9e632f1f3208f0da2f94b57efa1aae9ce2ab",
-   "sha256": "1isk9106lpdh45l41n2v8q8m9vcfb4biy9dv87rkks58nysrxy3z"
+   "commit": "df455f9723fbaab8ab550c7e7df79dc6b2d159c6",
+   "sha256": "14n77h7w69w0i845dbbq39nxnh1xw28kacp0cgf666r62vgdcvvj"
   },
   "stable": {
    "version": [
@@ -5466,11 +5447,11 @@
   "url": "https://git.sr.ht/~pkal/autocrypt",
   "unstable": {
    "version": [
-    20220201,
-    2102
+    20220215,
+    1204
    ],
-   "commit": "8965ce57c7d206e5d28167a37c11b9713576b009",
-   "sha256": "13ccb1r646c0k9vgr1h9r4xfn27yqw1489dj76nwq13awg81pjyr"
+   "commit": "00b87a82c4561b017052974eecd93c79b6790841",
+   "sha256": "1cnnw2cwhsrlp2nanvcgdpd90vpmzwxnr9sprwfgzldgk9651r58"
   }
  },
  {
@@ -5667,15 +5648,15 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20211020,
-    111
+    20220221,
+    1638
    ],
    "deps": [
     "avy",
     "embark"
    ],
-   "commit": "e8ef9424b3d8852935f7c547093bc2ebc23aeab5",
-   "sha256": "0k2mdjp473pzifk3p83xybqd05gyw1kak4bkapjziqk8061ab27f"
+   "commit": "f741dab05b09beb18e0a7e87f5b80ea462ca44a2",
+   "sha256": "1mw3qf1bn0033yajll05f8k3wvvqld1j6qzhbzppnk95kp9vgknm"
   },
   "stable": {
    "version": [
@@ -6457,11 +6438,11 @@
   "repo": "bazelbuild/emacs-bazel-mode",
   "unstable": {
    "version": [
-    20220114,
-    1320
+    20220222,
+    1616
    ],
-   "commit": "57a28859258bc83f2cca62b8530221d228119655",
-   "sha256": "1vlg4b1k3jw2pssa7fpf9sx9bjb4gmswkcyv30ha4c8pm39byp79"
+   "commit": "e07a16666154c8ddc65ddaae599d58b25727350d",
+   "sha256": "0kdlhp3h2kkijxsmd7jhrbb1dgs6x5q3gpw4qv5ij89xrlxanz7d"
   }
  },
  {
@@ -6502,11 +6483,11 @@
   "url": "https://git.savannah.nongnu.org/git/bbdb.git",
   "unstable": {
    "version": [
-    20210108,
-    38
+    20220224,
+    403
    ],
-   "commit": "03c9ab00642fd54d7fb601f95a094b8b7f0eefb0",
-   "sha256": "1nk4d3qb5ibdjp3jmlbf5751y8zd6gms9r19l3hk1ajkw94p43kn"
+   "commit": "00a003c9a3788c3a0fe8bd89b827b4e9bbdf2261",
+   "sha256": "0iskn78ynz24wdbq1ja24m0pqcbhb4dfipnxx0nijdsbf6xpj37r"
   },
   "stable": {
    "version": [
@@ -6898,8 +6879,8 @@
     20210715,
     1004
    ],
-   "commit": "0be8e2ef7b40d9006b2812f103746799bc529828",
-   "sha256": "1grzlfa4dxf30yf7y40fw9fqm4fl74k5kcyxpffy3d876c7qdfnp"
+   "commit": "e6e73647e4c176ff4f89e09d54dae753f95c7a03",
+   "sha256": "06r3b4wggam2a0n87cnlkxsn16aam9c0wdi6niw6sainjmk0dw8g"
   },
   "stable": {
    "version": [
@@ -7093,8 +7074,8 @@
     "a",
     "pdf-tools"
    ],
-   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
-   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
+   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
+   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
   }
  },
  {
@@ -7576,8 +7557,8 @@
     20200404,
     1550
    ],
-   "commit": "9a208d395db66aebadf663344f18effffaac59fe",
-   "sha256": "1c8i82wxhldzbczhcdfnk9cggsfqpqbg9zar426drvn7vcz6xs3m"
+   "commit": "c221fa2c8a204b4aff2e09c606f59be58b960b97",
+   "sha256": "1zzrmlxifplpskm3a7hbm4x6mpikr1nhgds10qaxqv0gfq312p1c"
   },
   "stable": {
    "version": [
@@ -7596,26 +7577,26 @@
   "repo": "Artawower/blamer.el",
   "unstable": {
    "version": [
-    20220122,
-    2332
+    20220224,
+    1940
    ],
    "deps": [
     "a"
    ],
-   "commit": "f5c0fc350db07ca89839c6bec7196945dba495eb",
-   "sha256": "0phmisdckdq706wjhici8pnvvslq77dvv8pph5yawy7lvh07va6k"
+   "commit": "45d04ac3935ade2b1e856115c69a32f11e3e7585",
+   "sha256": "0f2b3i22xl0j8j6b3i5vbfqfn1irylslwk4xvm3w0sk2pghi93y2"
   },
   "stable": {
    "version": [
     0,
-    3,
-    8
+    4,
+    2
    ],
    "deps": [
     "a"
    ],
-   "commit": "f5c0fc350db07ca89839c6bec7196945dba495eb",
-   "sha256": "0phmisdckdq706wjhici8pnvvslq77dvv8pph5yawy7lvh07va6k"
+   "commit": "45d04ac3935ade2b1e856115c69a32f11e3e7585",
+   "sha256": "0f2b3i22xl0j8j6b3i5vbfqfn1irylslwk4xvm3w0sk2pghi93y2"
   }
  },
  {
@@ -8021,11 +8002,11 @@
   "repo": "ideasman42/emacs-bookmark-in-project",
   "unstable": {
    "version": [
-    20220201,
-    544
+    20220212,
+    156
    ],
-   "commit": "ff0d1c3531352a6c54bb48ced797f41bda95939e",
-   "sha256": "06cprpbff06q98d06vljcrmvixvdnvjmwqgxvpz9yx7s14ml289l"
+   "commit": "70ae40b4c4cdf44999ee4c738f5a4ae34a2d8421",
+   "sha256": "1hidzm6yv5fqx93shfxx70xsjbyzkia00ylxd06jniqpydl3fydh"
   }
  },
  {
@@ -8036,11 +8017,11 @@
   "repo": "minad/bookmark-view",
   "unstable": {
    "version": [
-    20211223,
-    1106
+    20220216,
+    2024
    ],
-   "commit": "841750afb272a596f1536e6a5731d9de22c7c5cb",
-   "sha256": "0bgbmjbjq70q4zmdhaz9jnhi5gkzxwz9fbh60sgnm90hjmfrrr2d"
+   "commit": "314e74e11386af72ca282e228996321a8a6d4c9a",
+   "sha256": "1bqajd2slg5gh33q84ps9cpv0g04y5gz6m8gy55m01f2zrwxvyqc"
   },
   "stable": {
    "version": [
@@ -8116,28 +8097,28 @@
   "repo": "emacscollective/borg",
   "unstable": {
    "version": [
-    20220131,
-    1421
+    20220216,
+    1925
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "0bad132b4eb25ae9a1e26360e7b87771ab3208d3",
-   "sha256": "134cirgaxypsr39dlhshw3db4d9cz56dhl4d7d41lbzysih472km"
+   "commit": "ee4491481955eb49de07693b58e00a5ff5908d0b",
+   "sha256": "1p13q43l9da48vpwgjwirwvwqwlmksgvq4w6n77sy6akx2xywgzv"
   },
   "stable": {
    "version": [
     3,
     3,
-    0
+    1
    ],
    "deps": [
     "epkg",
     "magit"
    ],
-   "commit": "e4d54aac5c2307cafb5c509094701b9ca78cace8",
-   "sha256": "102qdb4581gfhrxv61pd6yw5xbyd3vs8ifq2wp9wq6bf19il2rm9"
+   "commit": "66f00318777a3530741535f64a420addc1ccf44a",
+   "sha256": "0w180am9p952j2iyidf5krivlx19mv1ji1f34cwm969mhb3652fy"
   }
  },
  {
@@ -8817,8 +8798,8 @@
     20200924,
     345
    ],
-   "commit": "b48834a688e35b9966fa5a189781c7638092fd54",
-   "sha256": "1msg17qw6clld78jb40hd1fnsgswql57yw4kh37mn0v2ksa8a9s5"
+   "commit": "327c378c333156321974ffcf93f19aa9fad59a9e",
+   "sha256": "02wihnxifb17g9hn0l6ia63whfxvx7351s64ffpvvjjryz8l95fg"
   },
   "stable": {
    "version": [
@@ -9565,11 +9546,11 @@
   "repo": "unhammer/calendar-norway.el",
   "unstable": {
    "version": [
-    20210608,
-    1136
+    20220211,
+    1129
    ],
-   "commit": "4dd8c38ef30ad45931c8ae7bcdfd720c3fcffffc",
-   "sha256": "02xf57dincpn7km1f3c9dnq2qv6lk07m9z5hilm3nnns0wwzqdyw"
+   "commit": "0db0ea63365f4ff5f7d18fb8335fa88af194a2cc",
+   "sha256": "0bhqr67w301fb74drnw6291bri9ga95946n7jg382jcp6sxn9cpg"
   },
   "stable": {
    "version": [
@@ -9753,18 +9734,19 @@
   "repo": "beacoder/call-graph",
   "unstable": {
    "version": [
-    20210728,
-    802
+    20220214,
+    1251
    ],
    "deps": [
     "anaconda-mode",
+    "beacon",
     "cl-lib",
     "hierarchy",
     "ivy",
     "tree-mode"
    ],
-   "commit": "7a40f9ddb16a6ce9345e0bd632109b7e2048baa1",
-   "sha256": "18as7vq8cmhxkxgh0p8qlifyvza66n6xf9a2fi07wc4acp2gpn55"
+   "commit": "aa5ffb15cec39920012aa526e932d48e5c74bbb0",
+   "sha256": "12rsylxr9ls6br38vwq9h6fzqsqjxgqwyv76wf6qaazd4rp76m0y"
   },
   "stable": {
    "version": [
@@ -9893,11 +9875,11 @@
   "repo": "minad/cape",
   "unstable": {
    "version": [
-    20220201,
-    2018
+    20220225,
+    1627
    ],
-   "commit": "dba8492f70a46fde51d6269ae971693fd1777575",
-   "sha256": "1jaygxplh2y8lqq7p0yynql5zrb6yf0vyrcbwi1dvllq0clncnwn"
+   "commit": "2ad8edf9d992034b6e1e46315d72801b9e3aa1e5",
+   "sha256": "01kshih48hvwdn5gyif5z2vqyhx8h12zs6ygkmqyif5lzm4sqmdc"
   },
   "stable": {
    "version": [
@@ -9919,8 +9901,8 @@
     20210707,
     2310
    ],
-   "commit": "55a368beb987abf9eeb9b3843e9c5423ad37ab29",
-   "sha256": "1cnc69ny4icjz9rzqj5sli5vbqkrv3sbahbsl1c0ma28rbqasw0w"
+   "commit": "fe82ae30fcd53dbe3c9ae7e14e495a79ac7a9c74",
+   "sha256": "02z2ss5kqmda32x4pwrjwqly2ia2wyw47pny6hh93mzpc453lmj0"
   },
   "stable": {
    "version": [
@@ -9970,14 +9952,14 @@
   "repo": "kwrooijen/cargo.el",
   "unstable": {
    "version": [
-    20220102,
-    1217
+    20220208,
+    1933
    ],
    "deps": [
     "markdown-mode"
    ],
-   "commit": "5589f9f46f3e1cdeb6261515ce314aab40f3d786",
-   "sha256": "133cj1qbb53hm3ffkvf80cyd6hj69l8kxklnig8ap1ymhha075g3"
+   "commit": "841ea7d85edd10c94138339469c4d8bbd03c8a29",
+   "sha256": "0gnah3bdcii2xrjnwpr9kzl5x8p85dv61yl48j3fizanjmwhan13"
   },
   "stable": {
    "version": [
@@ -10289,8 +10271,8 @@
     20210501,
     820
    ],
-   "commit": "251df5b02c91311140d2375b019c1de836655fd0",
-   "sha256": "14cxh58rfc2dprb9grshfhwg0fggw469yk8l9dwhc4sy8bf9cd4v"
+   "commit": "eede626d70953715d2405b325dcb151b7cb597e7",
+   "sha256": "16hqnq6nssf7igv7v0izlcx5hyax5gkjscsxnc6ninp78qardfh3"
   }
  },
  {
@@ -10338,8 +10320,8 @@
     20200904,
     1431
    ],
-   "commit": "251df5b02c91311140d2375b019c1de836655fd0",
-   "sha256": "14cxh58rfc2dprb9grshfhwg0fggw469yk8l9dwhc4sy8bf9cd4v"
+   "commit": "eede626d70953715d2405b325dcb151b7cb597e7",
+   "sha256": "16hqnq6nssf7igv7v0izlcx5hyax5gkjscsxnc6ninp78qardfh3"
   }
  },
  {
@@ -10473,15 +10455,15 @@
   "repo": "ema2159/centaur-tabs",
   "unstable": {
    "version": [
-    20220112,
-    1239
+    20220224,
+    808
    ],
    "deps": [
     "cl-lib",
     "powerline"
    ],
-   "commit": "cde3469d77f83b0877f2a7c727ca101cfeb86401",
-   "sha256": "12msyfz54am5n9qwm2igjp0cfczm9h6z5phay5ya75cdm0bmxby4"
+   "commit": "f4cef95acbd2eb99c8db3b6cdde74a6e0a966a0a",
+   "sha256": "10vpy22g2ccrj00kycrjcywywc69hqf3dm7vcbmmw7ralh9vclbc"
   },
   "stable": {
    "version": [
@@ -10608,8 +10590,8 @@
     20171115,
     2108
    ],
-   "commit": "049018b8f756a41643fdbaa45372b310d56e4211",
-   "sha256": "1gb7dz2jd0fvxzc4spp3c3hmpwcy8cqkw2qspnhkbxc7q7hirski"
+   "commit": "64122d4a77d76689558412b55962cab60524c67c",
+   "sha256": "1a80pfhys8ja1nh32d3xqab0f7f1k3k5mzsvscnivk90cmsrakhb"
   },
   "stable": {
    "version": [
@@ -10662,30 +10644,30 @@
   "repo": "worr/cfn-mode",
   "unstable": {
    "version": [
-    20210129,
-    2037
+    20220221,
+    1029
    ],
    "deps": [
     "f",
     "s",
     "yaml-mode"
    ],
-   "commit": "a4ca40978e680f9edc86c141e696e0ae57c63533",
-   "sha256": "0ggq4q2c1xi26m4rlvjm8f51wlj7h351pp6m20k6l25856858vhi"
+   "commit": "4cf56affe3035fda364109836e26499431095185",
+   "sha256": "1i9nqzk6nx4jdcn6q2yj2awb8rskblhnhqmxljd8bfv5s02fqr8z"
   },
   "stable": {
    "version": [
     1,
     0,
-    2
+    3
    ],
    "deps": [
     "f",
     "s",
     "yaml-mode"
    ],
-   "commit": "f3462930067de8f79c3d2e8da14d1924f609d3ab",
-   "sha256": "0ggq4q2c1xi26m4rlvjm8f51wlj7h351pp6m20k6l25856858vhi"
+   "commit": "4cf56affe3035fda364109836e26499431095185",
+   "sha256": "1i9nqzk6nx4jdcn6q2yj2awb8rskblhnhqmxljd8bfv5s02fqr8z"
   }
  },
  {
@@ -11080,14 +11062,20 @@
   "repo": "tuh8888/chezmoi.el",
   "unstable": {
    "version": [
-    20220131,
-    1935
+    20220221,
+    1556
    ],
-   "deps": [
-    "magit"
+   "commit": "0b25d312a84868d6cf76f2016cd0dbc70c9312a0",
+   "sha256": "0mqrxzk0skkc3wj3b44k10nnrg542jnh8s226v1mx4dbcxws8rdy"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
    ],
-   "commit": "3d7f6bf3abaf0f236e159bde4751b55bc803a7d6",
-   "sha256": "0xyn59r3m453vy2x1gm7cmw6pd8ws1jiq5979cb8cr068g8pkp18"
+   "commit": "d493925f93d5e0badb04a5331bbc8741b0cb04ca",
+   "sha256": "13y3fvkw4vfiaibxgdvrxkca9lacfwfjddk8wrrind92q2p2ph2n"
   }
  },
  {
@@ -11257,21 +11245,21 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220123,
-    739
+    20220224,
+    1017
    ],
    "deps": [
     "dash",
     "seq",
     "ts"
    ],
-   "commit": "406c23275ca3aef4a19958b882484ed7e5a4f12e",
-   "sha256": "1fdpzgw0cks5lqddk5y0r2yx7a2pwggy2401l57bkw5ag90g3qwh"
+   "commit": "7cf2c86afd8f6fb6235320ac9f7ebd76153d8bc6",
+   "sha256": "1gw69ps98bc28kwfqi6m9v4im71jla410ici5cyhfyk67m3dvgbb"
   },
   "stable": {
    "version": [
     0,
-    9,
+    10,
     0
    ],
    "deps": [
@@ -11279,8 +11267,8 @@
     "seq",
     "ts"
    ],
-   "commit": "73e6d98612187aa64f4adacd26e058349cf131c6",
-   "sha256": "156hj3sxjcfpwimnrykh4n3krkbzas9jg8m6xzy42rnzhx28ja6k"
+   "commit": "2c1274147475b552716de7cecd7a9fd46e578e46",
+   "sha256": "0qpkpkipmac24m3ng4ahsml3vi15qcvmid3g02pbpgbpc113zfpl"
   }
  },
  {
@@ -11310,26 +11298,26 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220123,
-    2006
+    20220225,
+    950
    ],
    "deps": [
     "chronometrist"
    ],
-   "commit": "406c23275ca3aef4a19958b882484ed7e5a4f12e",
-   "sha256": "1fdpzgw0cks5lqddk5y0r2yx7a2pwggy2401l57bkw5ag90g3qwh"
+   "commit": "7cf2c86afd8f6fb6235320ac9f7ebd76153d8bc6",
+   "sha256": "1gw69ps98bc28kwfqi6m9v4im71jla410ici5cyhfyk67m3dvgbb"
   },
   "stable": {
    "version": [
     0,
-    9,
+    10,
     0
    ],
    "deps": [
     "chronometrist"
    ],
-   "commit": "73e6d98612187aa64f4adacd26e058349cf131c6",
-   "sha256": "156hj3sxjcfpwimnrykh4n3krkbzas9jg8m6xzy42rnzhx28ja6k"
+   "commit": "2c1274147475b552716de7cecd7a9fd46e578e46",
+   "sha256": "0qpkpkipmac24m3ng4ahsml3vi15qcvmid3g02pbpgbpc113zfpl"
   }
  },
  {
@@ -11340,28 +11328,28 @@
   "url": "https://tildegit.org/contrapunctus/chronometrist.git",
   "unstable": {
    "version": [
-    20220123,
-    739
+    20220215,
+    1904
    ],
    "deps": [
     "chronometrist",
     "spark"
    ],
-   "commit": "406c23275ca3aef4a19958b882484ed7e5a4f12e",
-   "sha256": "1fdpzgw0cks5lqddk5y0r2yx7a2pwggy2401l57bkw5ag90g3qwh"
+   "commit": "7cf2c86afd8f6fb6235320ac9f7ebd76153d8bc6",
+   "sha256": "1gw69ps98bc28kwfqi6m9v4im71jla410ici5cyhfyk67m3dvgbb"
   },
   "stable": {
    "version": [
     0,
-    9,
+    10,
     0
    ],
    "deps": [
     "chronometrist",
     "spark"
    ],
-   "commit": "73e6d98612187aa64f4adacd26e058349cf131c6",
-   "sha256": "156hj3sxjcfpwimnrykh4n3krkbzas9jg8m6xzy42rnzhx28ja6k"
+   "commit": "2c1274147475b552716de7cecd7a9fd46e578e46",
+   "sha256": "0qpkpkipmac24m3ng4ahsml3vi15qcvmid3g02pbpgbpc113zfpl"
   }
  },
  {
@@ -11420,8 +11408,8 @@
   "repo": "clojure-emacs/cider",
   "unstable": {
    "version": [
-    20220204,
-    917
+    20220222,
+    1710
    ],
    "deps": [
     "clojure-mode",
@@ -11431,8 +11419,8 @@
     "sesman",
     "spinner"
    ],
-   "commit": "e8b582e1f28b27cdb0574e0f9361cbb9eb62afd0",
-   "sha256": "1dazvxk5fbqgipkwvk35b5hdbfakq0f7mn8nmqzaj03nd66dn55m"
+   "commit": "7a072d8374eb92c8164b436ee271abb5e9e351e3",
+   "sha256": "098h86i41dqxydmhx9akiyixnz846i7jhl1hcsz7dnwl7ibbz14k"
   },
   "stable": {
    "version": [
@@ -11731,8 +11719,8 @@
   "repo": "bdarcus/citar",
   "unstable": {
    "version": [
-    20220204,
-    1902
+    20220217,
+    1606
    ],
    "deps": [
     "citeproc",
@@ -11740,8 +11728,8 @@
     "parsebib",
     "s"
    ],
-   "commit": "903dcd3d21be58ec2f7ac61432ff26f037373180",
-   "sha256": "1danf825jj5ahsicwnb8szis0ixqysy0k4vflvhbjwhl9n38rwg6"
+   "commit": "b84cb375933053cf3e5408f0386034e8dabca5cb",
+   "sha256": "0hgyl2akvm5z13x403hmk3xyybbdp40sxbkf97m81k9y8m5fz7lz"
   },
   "stable": {
    "version": [
@@ -12197,14 +12185,14 @@
   "repo": "jpe90/emacs-deps-new",
   "unstable": {
    "version": [
-    20220109,
-    1459
+    20220221,
+    2235
    ],
    "deps": [
     "transient"
    ],
-   "commit": "a39214123ed46b62403b1b557dbdac0efc04546a",
-   "sha256": "0bs38sg6md06vzbj2w0j0ikd4cqqnn0cfdpy13mg6fd8xxmf5irw"
+   "commit": "183089e6d4ded90efff491916e1c87411ead0461",
+   "sha256": "0a4fz838mxcv42z3r5h1i7nlqpl1ipqc6ljlgbhvz5hw6bd0p96w"
   }
  },
  {
@@ -12215,8 +12203,8 @@
   "repo": "clojure-emacs/clj-refactor.el",
   "unstable": {
    "version": [
-    20220206,
-    1011
+    20220213,
+    1906
    ],
    "deps": [
     "cider",
@@ -12229,13 +12217,13 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "d1b68c7807476de95a684fa52de294c96b3e8523",
-   "sha256": "0rckg0pwq6dvh4zn62r599pc32p436ybiy1wmj14ink0ywk3bqay"
+   "commit": "542225248e8d27111d6164292b37058ad5194984",
+   "sha256": "1xzr0yhsp45g4z634h7an5avndz8azz53ggxyyina06xrl1d2845"
   },
   "stable": {
    "version": [
     3,
-    2,
+    3,
     3
    ],
    "deps": [
@@ -12249,8 +12237,8 @@
     "seq",
     "yasnippet"
    ],
-   "commit": "d1b68c7807476de95a684fa52de294c96b3e8523",
-   "sha256": "0rckg0pwq6dvh4zn62r599pc32p436ybiy1wmj14ink0ywk3bqay"
+   "commit": "542225248e8d27111d6164292b37058ad5194984",
+   "sha256": "1xzr0yhsp45g4z634h7an5avndz8azz53ggxyyina06xrl1d2845"
   }
  },
  {
@@ -12477,11 +12465,11 @@
   "repo": "clojure-emacs/clojure-mode",
   "unstable": {
    "version": [
-    20220202,
-    1341
+    20220222,
+    827
    ],
-   "commit": "913e2450a77a6ddda051f55ac651c99337147db1",
-   "sha256": "0b8iga2wz5xyqfwwxznsjh71bwgjvvj9yjsamvwfrlsj0wh6zk1w"
+   "commit": "4a0b598c340143c5d9d39e36d32cee9693ec0e32",
+   "sha256": "0rias19vnxpf190mijncbajym07p3pslhxssq3kf1pwbx256aa1w"
   },
   "stable": {
    "version": [
@@ -12507,8 +12495,8 @@
    "deps": [
     "clojure-mode"
    ],
-   "commit": "913e2450a77a6ddda051f55ac651c99337147db1",
-   "sha256": "0b8iga2wz5xyqfwwxznsjh71bwgjvvj9yjsamvwfrlsj0wh6zk1w"
+   "commit": "4a0b598c340143c5d9d39e36d32cee9693ec0e32",
+   "sha256": "0rias19vnxpf190mijncbajym07p3pslhxssq3kf1pwbx256aa1w"
   },
   "stable": {
    "version": [
@@ -12627,26 +12615,26 @@
   "repo": "emacscollective/closql",
   "unstable": {
    "version": [
-    20210927,
-    2245
+    20220216,
+    1906
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "15f906c393db1a0fb6577afc3cf59466531eafef",
-   "sha256": "1xa9rzyfm6bfskm2mfckd7jwmjwcraky7vsp7yyrnrqfksrl5na8"
+   "commit": "1ba85ce9f7094aeddce25044689278eda6739531",
+   "sha256": "1s9riibws28xjn2bjn9qz3m2gvcmrn18b7g5y6am4sy7rgkx3nwx"
   },
   "stable": {
    "version": [
     1,
     2,
-    0
+    1
    ],
    "deps": [
     "emacsql-sqlite"
    ],
-   "commit": "15f906c393db1a0fb6577afc3cf59466531eafef",
-   "sha256": "1xa9rzyfm6bfskm2mfckd7jwmjwcraky7vsp7yyrnrqfksrl5na8"
+   "commit": "1ba85ce9f7094aeddce25044689278eda6739531",
+   "sha256": "1s9riibws28xjn2bjn9qz3m2gvcmrn18b7g5y6am4sy7rgkx3nwx"
   }
  },
  {
@@ -12810,17 +12798,19 @@
     20210104,
     1831
    ],
-   "commit": "3d91571f795e7cf2a0e74af1f72398fcd529703b",
-   "sha256": "0vd0my900iyg7xzccnlml3qg2lgrvyqgagp7zrn33k1sbxsnzcxi"
+   "commit": "0883ab385a8d15075cab99a265a20131a37b506d",
+   "sha256": "08rhvnhs8ijcsnlvbh40s64zxksjmwjlskv0rxpv1n70jky46fxi"
   },
   "stable": {
    "version": [
     3,
-    22,
+    23,
+    0,
+    -1,
     2
    ],
-   "commit": "8428e39ed9cddb3b7f1a6f7a58cb8617503183d2",
-   "sha256": "1c2rczn67bpyhpacyn4qpg71p8dnqvvqndfgqjfd94h4zafcygjv"
+   "commit": "352ea99bbacf6e57bca47f43725d98b2a4a0b87d",
+   "sha256": "1dg1lk5f8qpx0scp33yqvbmwxaci484bawm70l9wkx8q2zjsljsh"
   }
  },
  {
@@ -13019,8 +13009,8 @@
     "markdown-mode",
     "uuidgen"
    ],
-   "commit": "ccc3795a72554439f230969322c0e3239252c193",
-   "sha256": "17vn75v7hh5mj27g28m62xinv50f2h00kjyk84gk72j7ivymlcc9"
+   "commit": "ced8a31f331c034b00165d1eb6ac76f5a21db9b6",
+   "sha256": "1yrgkj634p9hf1jrlcy6f4yydyc4z5ig7pq14yxhfcnw0cf8ksr6"
   },
   "stable": {
    "version": [
@@ -13472,8 +13462,8 @@
    "deps": [
     "s"
    ],
-   "commit": "d4715c27815e41db8b489c860a470215b6098d02",
-   "sha256": "151cbiizw57l1n4c1bcdzx5rxg86wiqm7qmd8gn8l42prmh7iwm0"
+   "commit": "fd84b0e32a0faa450df6035fb94ce96aa777b237",
+   "sha256": "0gb30gyadxvc47zrvkjkjil3qj6mxavxagzyp21jlxx7fn3n0fic"
   },
   "stable": {
    "version": [
@@ -13801,8 +13791,8 @@
  },
  {
   "ename": "company",
-  "commit": "f42849df31122aa293edcbcbed834260d21037b2",
-  "sha256": "0fci8v7grd2c6vfky0fdsrxi0874jfkw52zba4ap43bbx1mb2166",
+  "commit": "7eadfd36ae9b7bd241c38d09a7203873538983fb",
+  "sha256": "1wxadzsf7vrnxj7zhnwrz0vva9zgr99s0lb677dllrj1zdryixwx",
   "fetcher": "github",
   "repo": "company-mode/company-mode",
   "unstable": {
@@ -14265,8 +14255,8 @@
     "emojify",
     "ht"
    ],
-   "commit": "32cd04a1c2f692e6ece07cc3d3a7627240edaa8e",
-   "sha256": "0fb5zyp3cgv7iyjbxxm7bjqq0pmhlv212wnylldqwij647w22iia"
+   "commit": "01cbc9bf1b073abc5cf567479a3cf4b6f929d474",
+   "sha256": "115smqwz19c4pxh3asg046kq0pmdnwj2qz1s36h833kzz1ig3rn2"
   },
   "stable": {
    "version": [
@@ -14361,16 +14351,16 @@
   "repo": "jcs-elpa/company-fuzzy",
   "unstable": {
    "version": [
-    20220127,
-    817
+    20220222,
+    613
    ],
    "deps": [
     "company",
     "ht",
     "s"
    ],
-   "commit": "50b4fbc0d812e12aab21267f78a1acfb1d863943",
-   "sha256": "1175vfy3ilac73xyj3y644q3rfq0v5vjpjakdahkz337di7cxd73"
+   "commit": "122cdecee0a269b014471875f3eb29cd8af96d6e",
+   "sha256": "1wnh11m9pqlin58izx5w72a807pi59dj7mfhl5jfvsk7ds29yb04"
   },
   "stable": {
    "version": [
@@ -14781,21 +14771,21 @@
  },
  {
   "ename": "company-nginx",
-  "commit": "fb8843cddfa9133ea9e2790e8a1d8051cd4dabea",
-  "sha256": "15pxz0v3zpshwri0v15yh995k7ih9h46y81n4xywlyyh34wys3sj",
-  "fetcher": "github",
-  "repo": "stardiviner/company-nginx",
+  "commit": "8c91310797748b45a5f08c26f70f0715ba6dec50",
+  "sha256": "08ngwig4fb2qkmlrh36hx990jwafndaprv3wgqmd1lyizzi94ig1",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/company-nginx.git",
   "unstable": {
    "version": [
-    20201020,
-    2038
+    20220210,
+    1411
    ],
    "deps": [
     "cl-lib",
     "company"
    ],
-   "commit": "82bdb730ad5971c594d9c99c069f3c7bb067897d",
-   "sha256": "0qrlqir7fa2zf97yfsg8phj5dqgjz2rzn5zspfk9qlys3j8i483d"
+   "commit": "8a9f1a5653fe2d9a5042bfb9377d54f37fcc64c8",
+   "sha256": "0ylblgf34zpmdmwmd1vp8z59p024f176a1m75kwj96in65y6b6b9"
   }
  },
  {
@@ -15154,8 +15144,8 @@
     "company-quickhelp",
     "popup"
    ],
-   "commit": "d56b17f234232e739838891b958877511cfe73f1",
-   "sha256": "05sp0z6gsvfp0phkdhzpnh8q3r4rkrqlhlqxvlsdnyaw78872hlh"
+   "commit": "5bafab30e0edb99a3064edf1e9265a416c632a71",
+   "sha256": "0nbncspzxrqqn7gsaapwy3dqd00gxzzjcf7xl0i8g1glsw4nwabv"
   },
   "stable": {
    "version": [
@@ -16014,11 +16004,11 @@
   "repo": "minad/consult",
   "unstable": {
    "version": [
-    20220201,
-    1112
+    20220224,
+    1532
    ],
-   "commit": "1a6ed29e92f00266daff4ff5f62602f53ef7d158",
-   "sha256": "137s984r5nf9j5padha45n9jhyh82ik4yybcr9nljg86l065s3nz"
+   "commit": "95d1851567637325425c0956adbf711c801dd45c",
+   "sha256": "13mf0qrpyq8p1py4csqp49za18r6v61ibpcgiyprr6wiv3vmkg7p"
   },
   "stable": {
    "version": [
@@ -16246,15 +16236,15 @@
   "repo": "OlMon/consult-projectile",
   "unstable": {
    "version": [
-    20211018,
-    1718
+    20220225,
+    1544
    ],
    "deps": [
     "consult",
     "projectile"
    ],
-   "commit": "655b328ce3fe51a8ff89d7b0a839bc8dfe9e51c0",
-   "sha256": "1gy6vg5vrd9i0y2sck20fbqrdz0bgcr6647rvnl2nvpv3shzlsbj"
+   "commit": "758cfc259ae83421d008731642ff1ada41b7b514",
+   "sha256": "0fsqz88xplbkr6hl8zwmg65s3d8jjfnvf2bdfv795i0n8lsprl3c"
   }
  },
  {
@@ -16718,14 +16708,14 @@
   "repo": "ideasman42/emacs-counsel-at-point",
   "unstable": {
    "version": [
-    20220113,
-    455
+    20220211,
+    548
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "257f9457f60384eeaf29c1f458852b648eaf366c",
-   "sha256": "0llghbv6zqy9nl3iivk6pd2mmxw3xhlz6dkgn9j9srrabddzkfxk"
+   "commit": "28b26ecac676d6a3942f1b96d2916f4c23d9b3ab",
+   "sha256": "0dmr5aa74kziwmf8w1jr38lb23yir0mff2wjiidgpxm452pwwrqy"
   }
  },
  {
@@ -16905,14 +16895,14 @@
   "repo": "redguardtoo/counsel-etags",
   "unstable": {
    "version": [
-    20211210,
-    1127
+    20220213,
+    1104
    ],
    "deps": [
     "counsel"
    ],
-   "commit": "bafd22a20c3328b0cf81aa9c35bfa37a095cf9c3",
-   "sha256": "1p651ykxbakzhwlrxcz4v62kj4f78l83f67qcghi58sq9cvwg1gi"
+   "commit": "80b5816c1fab8c0621601f7fbe7ba65b2c67e9cd",
+   "sha256": "10bprk9ixbsyfzrl7b23gc6wgwwyg4ksyw9w28071r2hpz2dssv7"
   },
   "stable": {
    "version": [
@@ -18494,6 +18484,24 @@
   }
  },
  {
+  "ename": "cycle-at-point",
+  "commit": "033260c71bef524da774f7b51e744b919f1a7145",
+  "sha256": "1h8ar6dhfk2irbk90hnbxp1l5lmb48rr6r7yj24c9yc8manxyxjn",
+  "fetcher": "gitlab",
+  "repo": "ideasman42/emacs-cycle-at-point",
+  "unstable": {
+   "version": [
+    20220220,
+    431
+   ],
+   "deps": [
+    "recomplete"
+   ],
+   "commit": "ea22b90f35f4cef73387047b3ef3fad83787d4e2",
+   "sha256": "100aziv6wwrkalx07sy8za6kvnj30pknj1shbymspw13bpp7wqxj"
+  }
+ },
+ {
   "ename": "cycle-resize",
   "commit": "8806af6662c8250c7533f643fe1c277ff0466651",
   "sha256": "0vp57plwqx4nf3pbv5g4frjriq8niiia9xc3bv6c3gzd4a0zm7xi",
@@ -18576,17 +18584,17 @@
     20211111,
     1407
    ],
-   "commit": "2a304b0f9e6c9a98f2a8a38d80404a34e6623cd8",
-   "sha256": "1mqd1594y7spnbwq5y3xgj3wsllzc2gqgg4dns2afp10xiv0l23y"
+   "commit": "b7ff8224f56af256245d691af589ab10126126d3",
+   "sha256": "1irhh1320zr19z8i6vphhmga3zymqi6xmnzl4a8ciqwyw2p3hc57"
   },
   "stable": {
    "version": [
     0,
     29,
-    27
+    28
    ],
-   "commit": "229a4531780863c8a5c311d6b3c70a545988f85f",
-   "sha256": "1pvfamxnvh9by6658wmqyvm30af3ykhks9mwkqfz9ww161avxzd8"
+   "commit": "27b6709241461f620fb25756ef9f1192cc4f589a",
+   "sha256": "0k5wnrvnwq699mvvngraq5d93pyyiz77sn9dcqjrazc74b63sm8w"
   }
  },
  {
@@ -18728,11 +18736,11 @@
   "repo": "rails-to-cosmos/danneskjold-theme",
   "unstable": {
    "version": [
-    20211019,
-    1630
+    20220214,
+    552
    ],
-   "commit": "e74c5960eae3db90bf1b3ea7e71a2406c27554a8",
-   "sha256": "1vpfhiqwhdfa0w4akh6wfam88qkjy73i8yryfaz8a5qbm60nd43h"
+   "commit": "eaf1c6a99cd1697a805a3f04325906412eef8171",
+   "sha256": "1nb34gmzlypq3yccm4dwii86pn6k75hb9y50ldsyx3x93zwcm3dk"
   }
  },
  {
@@ -18784,8 +18792,8 @@
   "repo": "emacs-lsp/dap-mode",
   "unstable": {
    "version": [
-    20211117,
-    1555
+    20220219,
+    1917
    ],
    "deps": [
     "bui",
@@ -18797,8 +18805,8 @@
     "posframe",
     "s"
    ],
-   "commit": "76cad34de8984f57c2b1e374e9c985cc7ec8dad0",
-   "sha256": "0q37nnxvb362pni0nralb6cpw7vvaj0kw63y8zpip8szwj9yqrki"
+   "commit": "1880ac680cd7389d2169886dff09f79017e1d28e",
+   "sha256": "069l0dkngj1sbcx3g31r8kgm7i75xbbbd8d5m4qf3mqqx4fx5sdj"
   },
   "stable": {
    "version": [
@@ -19148,11 +19156,11 @@
   "repo": "emacs-dashboard/emacs-dashboard",
   "unstable": {
    "version": [
-    20220129,
-    533
+    20220208,
+    915
    ],
-   "commit": "d6e9f4df42815de467765e78b7c27125f35d30bb",
-   "sha256": "02lhkk4z8va95fnv5x4sd3xdas28gf3ykbl7gry015sms9jxj7w3"
+   "commit": "7ae46300df5d22d3941ff9f10bc52d232985b628",
+   "sha256": "1qv5vffbf0wjymdhabc3jl4h9ib9x38swabsjs23rm3a5jf9b091"
   },
   "stable": {
    "version": [
@@ -19481,15 +19489,15 @@
   "repo": "skk-dev/ddskk",
   "unstable": {
    "version": [
-    20210522,
-    348
+    20220210,
+    2155
    ],
    "deps": [
     "ccc",
     "cdb"
    ],
-   "commit": "251df5b02c91311140d2375b019c1de836655fd0",
-   "sha256": "14cxh58rfc2dprb9grshfhwg0fggw469yk8l9dwhc4sy8bf9cd4v"
+   "commit": "eede626d70953715d2405b325dcb151b7cb597e7",
+   "sha256": "16hqnq6nssf7igv7v0izlcx5hyax5gkjscsxnc6ninp78qardfh3"
   }
  },
  {
@@ -19531,16 +19539,16 @@
   "repo": "Wilfred/deadgrep",
   "unstable": {
    "version": [
-    20211228,
-    1756
+    20220209,
+    719
    ],
    "deps": [
     "dash",
     "s",
     "spinner"
    ],
-   "commit": "aebaf72e35546fd235b4861399791814e4e4c7d8",
-   "sha256": "1qd60winrrpxmrjsx77i24921p6dad9halz5l5s6biwa421zcgr3"
+   "commit": "0a3ba239c458ffc4f63a180b43d0e70b81742a3e",
+   "sha256": "0xavp98da1hr0jsq5dr2h4rfs5y1qgnv3b3pnpc08rfj1h4x211b"
   },
   "stable": {
    "version": [
@@ -19737,11 +19745,11 @@
   "repo": "ideasman42/emacs-default-font-presets",
   "unstable": {
    "version": [
-    20220104,
-    215
+    20220214,
+    2326
    ],
-   "commit": "6b6fe704ea233c65e50263dc0ff584409065e42f",
-   "sha256": "0ly7k6rkvhw1pwgmmn4cpgbizw2f2ry1swlaq0zf2k6ln7pyl96z"
+   "commit": "1727055b59e21e91a5b72356968232e31a92f743",
+   "sha256": "098s8s9j8gvzkkyx6ivd84bi0dmf2p6a3nlz215ljl43l97134pw"
   }
  },
  {
@@ -19810,8 +19818,8 @@
     "s",
     "wiki-summary"
    ],
-   "commit": "e19fcc96c94a161289f97a64275c016920587a53",
-   "sha256": "10c140n5g18v3rq14dzq9n2c3xa5ibzz2zkyiawkjfl664802170"
+   "commit": "70dd874c7cd8fef9de17984f1e360fe1d9f0d3e1",
+   "sha256": "0q1z1p4wmqaa0jdkw98brnvz7nz7nwgwpfcwa7ildjldl8k8xb06"
   },
   "stable": {
    "version": [
@@ -20173,11 +20181,11 @@
   "repo": "astoff/devdocs.el",
   "unstable": {
    "version": [
-    20220128,
-    1441
+    20220224,
+    1712
    ],
-   "commit": "a632b3cddc88bc1ed5f323afba03d91c34453194",
-   "sha256": "08z1i260r3i7shybcwyiq5michwwfpmzvvnqpppcasazrgpz6vyz"
+   "commit": "4f64975c609e5b052a7dee8f96bc3a025a4a581b",
+   "sha256": "0zd2nxg3rhgni4drb3sd3llnm4wzd0ijxagvpp4irph30qvhm78d"
   }
  },
  {
@@ -20254,10 +20262,10 @@
  },
  {
   "ename": "diary-manager",
-  "commit": "a014f4d862a2480f7edb1266f79ce0801cca13c2",
-  "sha256": "1sk0pvadx4jmv93dj796ysn3jh2wvywayd7dd20v22kdvnlii73d",
+  "commit": "0a4be0096baf0b451541376318d6fd7a50798c9d",
+  "sha256": "0i4mbp06g2zpiwq3x00np9yr81klbbvr28p7l4fsmg7dmmbd6kap",
   "fetcher": "github",
-  "repo": "raxod502/diary-manager",
+  "repo": "radian-software/diary-manager",
   "unstable": {
    "version": [
     20210404,
@@ -20303,15 +20311,15 @@
   "repo": "martenlienen/dictcc.el",
   "unstable": {
    "version": [
-    20211007,
-    1016
+    20220219,
+    1302
    ],
    "deps": [
     "cl-lib",
     "ivy"
    ],
-   "commit": "235841b19567b9c2e17727901ca041a22c096512",
-   "sha256": "0lsqf199gxsgdldmizf7frn8ngbn3fjj81lc8lx30l3ib7d40493"
+   "commit": "8ecb954fcf193cba138191f8947c8b0b60a1c6c5",
+   "sha256": "1alpycrazpk2lgsgmqspxjcpirsppn8zcwa4znsh7rxb2v3y1ih6"
   },
   "stable": {
    "version": [
@@ -20390,11 +20398,11 @@
   "repo": "ideasman42/emacs-diff-ansi",
   "unstable": {
    "version": [
-    20220130,
-    2254
+    20220211,
+    548
    ],
-   "commit": "f2207a67e3cc79433b43deeb463d0768357c350f",
-   "sha256": "1avfss2syaqsrdb4nlgsd49xyiy6bjqsf17r2is5il8g4yj1jabs"
+   "commit": "6ced92510df2c121e577189fa838dbf84303a0a9",
+   "sha256": "0mdyb2mlckcwphm6yaapdw6m2w2br0yfsvi6maw422mnm6nvjlwh"
   }
  },
  {
@@ -20405,11 +20413,11 @@
   "repo": "ideasman42/emacs-diff-at-point",
   "unstable": {
    "version": [
-    20210921,
-    603
+    20220211,
+    548
    ],
-   "commit": "63951d8236163d86d5261b35d6c9a3f3f280e876",
-   "sha256": "1l1smrb2xmnz4cyimyvhq9hl406w364gkvqsk32b1q4jcvqhmdz4"
+   "commit": "819da8d75762e1fb1a975d78c2b4666506048485",
+   "sha256": "1l3q7ks4ylr85ywyrg49hk0wvzlj97rznwmqsf74awgfcl1cy7nk"
   }
  },
  {
@@ -20761,20 +20769,20 @@
   "repo": "jcs-elpa/diminish-buffer",
   "unstable": {
    "version": [
-    20210715,
-    1026
+    20220218,
+    1541
    ],
-   "commit": "5ea0f4da3b9ad863ce21503715fd62722e4cd6ec",
-   "sha256": "139dwggd97mbq1p5g1dqxaml6j0wbk2w0gcgy4wv8fb4xppzklkb"
+   "commit": "8db04f40c269127919e1081c658f93bf7fe395f5",
+   "sha256": "1j6ym1bbld1bys5q5pm0rrx1m9922rr7fw82r2alvzrb78my660i"
   },
   "stable": {
    "version": [
     0,
-    1,
-    1
+    2,
+    0
    ],
-   "commit": "387858aaa23d5d1145c98dfa70bbd39bb8c3fa5f",
-   "sha256": "13a3jkc5yf1m2gqabvfxfzxgblyhyni9f2clqx9i0pvr9dvvb9r8"
+   "commit": "f5305840a5a09043f1d012cf50a55dc41317c080",
+   "sha256": "1129jgpfyh4b88rqjmsi2siyamqfrgmks5vqy0vvj9avsh2wkszc"
   }
  },
  {
@@ -21807,11 +21815,11 @@
   "repo": "alexluigit/dirvish",
   "unstable": {
    "version": [
-    20220203,
-    1118
+    20220223,
+    1713
    ],
-   "commit": "bc278f42110fe34e14ebfce0cda036b3ce17730a",
-   "sha256": "16rqyfj7lsrkp7a406z23dkcz7c6vb0gh6243ywjiwiqj7qdzcqc"
+   "commit": "9bb39bef29a41162e00a563da4966b6a368e6b5f",
+   "sha256": "0wgyd66lrvl8i6sn7ar9mvm06lq6h57asm3sfhkiq0qf65w7bwhn"
   }
  },
  {
@@ -22438,11 +22446,11 @@
   "repo": "ideasman42/emacs-doc-show-inline",
   "unstable": {
    "version": [
-    20220104,
-    216
+    20220211,
+    548
    ],
-   "commit": "6bfea44e0b54c80255d34d15130940a09814e2a3",
-   "sha256": "0rkshqiy9msnsif9fxi484by76fl8zjyzijgxphqlv2h2bb3pbgd"
+   "commit": "5705f8d6f5583d50fc0497a88f06fb7c84a9ddb0",
+   "sha256": "189bahsiyv7j0h1i1nfilr5rp2bihfgi19lipdxmixfmfv8fjy6j"
   }
  },
  {
@@ -22490,10 +22498,11 @@
   "repo": "Silex/docker.el",
   "unstable": {
    "version": [
-    20211105,
-    138
+    20220225,
+    1528
    ],
    "deps": [
+    "aio",
     "dash",
     "docker-tramp",
     "json-mode",
@@ -22501,16 +22510,17 @@
     "tablist",
     "transient"
    ],
-   "commit": "8d64cf4f84d7da5f839a8248fdddfb635a63f803",
-   "sha256": "1ivyvgh24nadhiv9ffqxckwln8vc9c2l0bvrvrd53yf0w8i345yz"
+   "commit": "498ffb2ba51fce12cb543caca0ecbc62782620d3",
+   "sha256": "1ixzi9lsjra01srvkd30jvryhbgxl9s49mspy2f6975zna390m60"
   },
   "stable": {
    "version": [
+    2,
     1,
-    4,
-    0
+    2
    ],
    "deps": [
+    "aio",
     "dash",
     "docker-tramp",
     "json-mode",
@@ -22518,8 +22528,8 @@
     "tablist",
     "transient"
    ],
-   "commit": "4fc69969b11687896b6c71b099de5d4c12c1c685",
-   "sha256": "0s57dq04d97dvrbxzicyk5z9f1mn8gf9w4nbgrxd9dnjqz335173"
+   "commit": "78881bea51c74ef171788fa989908cd51f5b3f8d",
+   "sha256": "0wgdabjkcwi9a3615imny8xysbrydnlcz9rmkavp22kypk6ydcjw"
   }
  },
  {
@@ -22606,25 +22616,26 @@
   "repo": "emacs-pe/docker-tramp.el",
   "unstable": {
    "version": [
-    20210729,
-    508
+    20220219,
+    420
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7bfbb55417e7d2aac53adf92cb0e3fd329c495c1",
-   "sha256": "078hqc8rqw27v5li8dgmh9sspfrypha6h7hx4iagjwndb2llg2ix"
+   "commit": "930d7b46c180d8a13240a028c1b40af84f2a3219",
+   "sha256": "05966l3af9lg4nlsz6wrq282ipwxh19ggirfyabjrr1syw3v2crn"
   },
   "stable": {
    "version": [
     0,
+    1,
     1
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "d8b510365d8e65551f4f792f251e7212411708c3",
-   "sha256": "0lxvzmfg52fhxrhbvp92zwp7cv4i1rlxnkyyzgngj3sjm7y60yvg"
+   "commit": "930d7b46c180d8a13240a028c1b40af84f2a3219",
+   "sha256": "05966l3af9lg4nlsz6wrq282ipwxh19ggirfyabjrr1syw3v2crn"
   }
  },
  {
@@ -22635,19 +22646,19 @@
   "repo": "spotify/dockerfile-mode",
   "unstable": {
    "version": [
-    20211016,
-    1545
+    20220220,
+    1439
    ],
-   "commit": "5db94549ce8b000ae35adf511c820ad228178052",
-   "sha256": "1qldv6zcayj8sqjdl16g9rwxa0dzyja2r5d6v7kch9559vif1nyb"
+   "commit": "11c43de04b128b7638cd98a1e80be2b661c18fbb",
+   "sha256": "0nmybfc9qch0jng06qgs2xb41dl9v52ckc9nc20d7hv3x36w555x"
   },
   "stable": {
    "version": [
     1,
-    5
+    6
    ],
-   "commit": "628315e2e4ab2f269548126444234caa057b2c75",
-   "sha256": "09pd8mfa45fy95mdg52fsafj3d1d5l52rskmw6q5np59dyzwch1b"
+   "commit": "11c43de04b128b7638cd98a1e80be2b661c18fbb",
+   "sha256": "0nmybfc9qch0jng06qgs2xb41dl9v52ckc9nc20d7hv3x36w555x"
   }
  },
  {
@@ -22696,14 +22707,14 @@
   "repo": "jcs-elpa/docstr",
   "unstable": {
    "version": [
-    20211004,
-    722
+    20220214,
+    1539
    ],
    "deps": [
     "s"
    ],
-   "commit": "b3f9e6c209c2c98de01211aa7a0a4cf6ee3cdf4f",
-   "sha256": "0ffnq0inxal39725amfv72yprynwx2hqrxhdb7pyx7x8z4zh8f4y"
+   "commit": "49d0e77aa9a1c6a649c0d45030111b26222f960c",
+   "sha256": "0w1jjm9p2332ql8k32x2i1f51df8wqz68y07dqipz5d3h4ysgwfl"
   },
   "stable": {
    "version": [
@@ -22726,11 +22737,11 @@
   "repo": "progfolio/doct",
   "unstable": {
    "version": [
-    20220121,
-    2018
+    20220220,
+    456
    ],
-   "commit": "9ed9b8c7f7e2ea2d2fb739d65ae4626a1cf16b9f",
-   "sha256": "11rzq8qbvivmi2sj5gw4g4n7qf8zjjypqz8xvn6s3w4ahz8n5nmd"
+   "commit": "1e3c1962558d6545e453583793e1d48417d4ef14",
+   "sha256": "0zkixr30wxgym9440hkr8996b0d1i8jj04alwd7cmnh8vkwijxfx"
   }
  },
  {
@@ -22863,16 +22874,16 @@
   "repo": "seagle0128/doom-modeline",
   "unstable": {
    "version": [
-    20220129,
-    1017
+    20220218,
+    1547
    ],
    "deps": [
     "all-the-icons",
     "dash",
     "shrink-path"
    ],
-   "commit": "b1726bf6b3328763851dfa1d343e4b2f1ccad125",
-   "sha256": "1qalk74l8vkv69ph642m6m2rvqq5pfvx8jfr40kpf83lx5amrch2"
+   "commit": "d9b64bc56283c7816f8124dcb3a5c7ea22732643",
+   "sha256": "0kk0yxcb26igkgqasrp9h78k0sll9by9m07dydd7lhkpwdg4dd7r"
   },
   "stable": {
    "version": [
@@ -22916,14 +22927,14 @@
   "repo": "doomemacs/themes",
   "unstable": {
    "version": [
-    20220127,
-    2136
+    20220222,
+    2326
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "f55e32cebb2c756c1c0019cad5aff59abb5882bb",
-   "sha256": "10bcg2yi0axccp2nks4di2by5y4d7j4vhjg1h692qkc908gb9irs"
+   "commit": "83fd9545c2823b4b2610947802fa3a52995517b4",
+   "sha256": "0jrmmdz7s6jlq7h6dpxfgx1wvvzwam3rq5dgsqqcn383d9i7zbmb"
   },
   "stable": {
    "version": [
@@ -23167,11 +23178,11 @@
   "repo": "dracula/emacs",
   "unstable": {
    "version": [
-    20220118,
-    748
+    20220209,
+    724
    ],
-   "commit": "a7a3becaf11488eee36d50c06a692f3fa4201297",
-   "sha256": "0v3yan01yhqz6k34x580j7q8xirgbv86ghsc153k175jc7ig0hi0"
+   "commit": "2c9efdae8b7b9a8e57dfd3aa1c62426a262e9eba",
+   "sha256": "1wblaspw1yb2xgymlajjqap5rkj6danrsh8hnkhpcd1x9q49llis"
   },
   "stable": {
    "version": [
@@ -23394,11 +23405,11 @@
   "repo": "niklaseklund/dtache",
   "unstable": {
    "version": [
-    20220206,
-    1134
+    20220209,
+    1903
    ],
-   "commit": "948c110bbdd802a530f393580d74f3dc8bbdda1e",
-   "sha256": "1ii8zggw3db5nrkfnfhqsa7w7676bq3vl0z8larwhb34q6shi655"
+   "commit": "9b39e9ebbfd19bae1b0b30e98b574f0e8a952bec",
+   "sha256": "0jx228qzqmw3ncrjqdd6jhphl6j58iyg7knmk6favbsnr3nl2y54"
   },
   "stable": {
    "version": [
@@ -23602,17 +23613,17 @@
     20210909,
     1010
    ],
-   "commit": "8e155da034f1f1c10fed88bdba4887ac26be9bcf",
-   "sha256": "1j3i8sikcpywzr0syrq70qf00cyk0kgcdqcp579v3sgm9p0mgnfg"
+   "commit": "c967d8a4880732f2f7cba39d4f283154c5ef914e",
+   "sha256": "079xxy2569zrfy2r621bb25gw99dlmwmys60qyrxvn01mb9ah9ql"
   },
   "stable": {
    "version": [
     3,
     0,
-    -3
+    2
    ],
-   "commit": "3cb82b394cb8e13b2e1be32c57aff321e563c6ff",
-   "sha256": "1c04qk2k3v1m0wp6scsqh0bq3wwkmazfr9apzqsdhw0pm83z4kx0"
+   "commit": "f8c75a43bc0a8e190727161c2f67ae643b884542",
+   "sha256": "1spgn3sjygnwq95ybxaj5dg9s5hyp6v5dwl240w3m4664blilz4z"
   }
  },
  {
@@ -24661,17 +24672,17 @@
  },
  {
   "ename": "edebug-inline-result",
-  "commit": "235b422e95ecce5671a16d44bc648379b6859bed",
-  "sha256": "036fpy7f748c8z7di94ya1dwz2ckri3qm6bsl809myr5wsghp2w1",
-  "fetcher": "github",
-  "repo": "stardiviner/edebug-inline-result",
+  "commit": "ba1a7a8fb085122021ce21e42e7834c35a949551",
+  "sha256": "0wfgwq5nkadlq3jbrlw9nabr1lqcl5y6bnb8xzj8l6glcryxazvb",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/edebug-inline-result.git",
   "unstable": {
    "version": [
-    20210213,
-    25
+    20220210,
+    1357
    ],
-   "commit": "86a9ed9e4f58c2e9870b8918dc898ccd78d2d3f8",
-   "sha256": "1zf09s03xkhpbhkj99ilzp679lhkyiaaa5kmyj4lb380di1nrw2w"
+   "commit": "9fb3c48434da24f800833a5ee3419452d5fb83cb",
+   "sha256": "09rqvs1vj6h8k93xi5h2r1vba2hj5dl7bk7x9ry6mcr3m0c2z6di"
   }
  },
  {
@@ -24690,6 +24701,24 @@
   }
  },
  {
+  "ename": "edit-as-format",
+  "commit": "1ae1d2ce5a4a6949af6b728bc112fde1be63d1b6",
+  "sha256": "1fppb6cpa2kbbk9warijkcij1ld5yirh7g2i338b71qppyaps4yr",
+  "fetcher": "github",
+  "repo": "etern/edit-as-format",
+  "unstable": {
+   "version": [
+    20220221,
+    1312
+   ],
+   "deps": [
+    "edit-indirect"
+   ],
+   "commit": "59c6f439683846d994a7a2110b9b00cc16c08c40",
+   "sha256": "0r2whzb3pizagbhr7i03kjiplnfwr1x14bl9y1gdvp166vfif5x7"
+  }
+ },
+ {
   "ename": "edit-at-point",
   "commit": "2c01af1911a0c8856e3dee09b6d233f821d67814",
   "sha256": "0ris81wld73h70arvc7zpzvk2wqqmzbpa090vak71w9xgw1jfr36",
@@ -24749,20 +24778,20 @@
   "repo": "Fanael/edit-indirect",
   "unstable": {
    "version": [
-    20211201,
-    1541
+    20220216,
+    1812
    ],
-   "commit": "7fffd87ac3b027d10a26e8492629da01a4cd7633",
-   "sha256": "18pbxl68bw33kr9vb1f7d9gra4wlndykv6vn7mj2h7d92p9pjcig"
+   "commit": "e3d86416bcf8ddca951d7d112e57ad30c5f9a081",
+   "sha256": "0f5vhppsjw63dkwka6xanmlliq44vf3kj1wp3dg8a6a837xx7z9x"
   },
   "stable": {
    "version": [
     0,
     1,
-    6
+    8
    ],
-   "commit": "bdc8f542fe8430ba55f9a24a7910639d4c434422",
-   "sha256": "189nvmlkki1jfszm9i0crbb1p4nzgmbly0wpvpg0i8vmw7vrpl40"
+   "commit": "e3d86416bcf8ddca951d7d112e57ad30c5f9a081",
+   "sha256": "0f5vhppsjw63dkwka6xanmlliq44vf3kj1wp3dg8a6a837xx7z9x"
   }
  },
  {
@@ -24818,8 +24847,8 @@
     20181016,
     1125
    ],
-   "commit": "1632acab5624637031326bd902e2ad7ccb6b4c90",
-   "sha256": "0m7gj224sqxjjw5sxky92fnrxg9jy4nf33kwf0aqxnfhqlgh545k"
+   "commit": "65a8e434547dcbe1df89dc3fd7aee075f8b06366",
+   "sha256": "0krf7n01wq2230qla3dn8jb1l9vmwhd5vvwjnn6xr889c9d4wyjc"
   },
   "stable": {
    "version": [
@@ -25019,8 +25048,8 @@
   "repo": "sebastiw/edts",
   "unstable": {
    "version": [
-    20210630,
-    1626
+    20220220,
+    1753
    ],
    "deps": [
     "auto-complete",
@@ -25031,8 +25060,8 @@
     "popup",
     "s"
    ],
-   "commit": "5564f5292eba339afa7760af9467c896ccd708da",
-   "sha256": "0dkpijsfprlckaggnzmarrbny2qn02927s0fh94dql2gqkvfxhd0"
+   "commit": "603e182f8f0a4140e6cbf71c2d73673cd08028ee",
+   "sha256": "0zvbahgm910sdasq1404lyxxan0mrcpzcjwm64jpzinx2i0bai5j"
   }
  },
  {
@@ -25238,8 +25267,8 @@
     "seq",
     "xref"
    ],
-   "commit": "0f352213fcfa9f9e8406771fbc8629f2885e80ee",
-   "sha256": "0ly76fddl2r8hrhqm5jlpsmj5nvggdxl5mxqvb9f6jv82p0bvxbn"
+   "commit": "bd6a1cccfe9c0f724772f846d1f4a9300f40f88f",
+   "sha256": "094kk4xprnfx3x94ij3fxc6sh877m03dwx35qmg1sh8capx28zi3"
   },
   "stable": {
    "version": [
@@ -25944,11 +25973,11 @@
   "repo": "Mstrodl/elcord",
   "unstable": {
    "version": [
-    20211218,
-    1738
+    20220209,
+    2301
    ],
-   "commit": "eb4ae2e7e03a5fc26b054ba2fa9a1d308e239c76",
-   "sha256": "0wznxssmh2f0jx4c8mci5idzsixpzcxyaa7yxi9ip5h4qig73sqm"
+   "commit": "ed8de0e9d218723f45200542b21a68dc8440f278",
+   "sha256": "0q1vr5ks04qjzml13wzmzkvm1za3faq9m2y5f3g0z254fh82cbbb"
   }
  },
  {
@@ -25993,20 +26022,19 @@
   "repo": "doublep/eldev",
   "unstable": {
    "version": [
-    20211219,
-    1520
+    20220221,
+    2055
    ],
-   "commit": "bcfbef5062b54451171db56159e22765a25ec22a",
-   "sha256": "119qm2g3zwgmlrh82ydi343phmwvic5flppzm3ya4k8nklr2dlgk"
+   "commit": "7be0cb16ce5d9d3139b4ed1724ac6d8292935267",
+   "sha256": "0yb8rpv6yi47kdk6gaav063zqq3l4jlyb4wk95abwzkgjcmjc4ky"
   },
   "stable": {
    "version": [
     0,
-    10,
-    3
+    11
    ],
-   "commit": "f111d19cda305e5e8fcb70a5675b87173041cb68",
-   "sha256": "1y8vz5grmlhln37lf93a3gxwh46ar0v3jj2dcvzkb36lqf1snq73"
+   "commit": "f7cfdb8648624917afec0a687c6fa92ce8d7958f",
+   "sha256": "10l9gdxk6l2zp14zaf6k5aq36c0nbjq8jya727xs4yra0rdg05hl"
   }
  },
  {
@@ -26017,11 +26045,11 @@
   "repo": "casouri/eldoc-box",
   "unstable": {
    "version": [
-    20210608,
-    2202
+    20220220,
+    2003
    ],
-   "commit": "13d207d40863a041b84c34f075668c7931db5a78",
-   "sha256": "1cvwp01w0adgxwlsispmir4wgs73cl62n5rh7ri6rw6g4fribq1m"
+   "commit": "646ae5cdd8ccbf5d78eb0488298b7c5e9c9a18a6",
+   "sha256": "0y2502b0d0fy2pm7kklv5262maxky2y2y8nw223f4f3bicbymxwy"
   },
   "stable": {
    "version": [
@@ -26073,21 +26101,21 @@
  },
  {
   "ename": "eldoc-overlay",
-  "commit": "f865b248002d6d3ba9653c2221072a4aa54cd740",
-  "sha256": "0nn6i89xbw8vkd5ybsnc1zpnf3ra4s8pf01jdj2i59ayjs64s28x",
-  "fetcher": "github",
-  "repo": "stardiviner/eldoc-overlay",
+  "commit": "0eeadba56dc484e771f400d32a875e392610f071",
+  "sha256": "18544jdv2n1ip4x2x04dm1xhna7k60hr5zs46ls6rgmnbgh5g8zl",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/eldoc-overlay.git",
   "unstable": {
    "version": [
-    20210630,
-    1345
+    20220210,
+    1358
    ],
    "deps": [
     "inline-docs",
     "quick-peek"
    ],
-   "commit": "3edbfb23836bdef253f4a5fd125952e55877d2b2",
-   "sha256": "1r2fjdra4bav16c108jzzjd2qhng7493i7l7znbasialf40j3cbs"
+   "commit": "b96f5864a47407ec608c807e0d890f62b891ee03",
+   "sha256": "1rdpg18gffh7ss5di6f4l1wks904867r38w0ilpgb52p8j0pswa0"
   }
  },
  {
@@ -26181,14 +26209,14 @@
   "repo": "davidshepherd7/electric-operator",
   "unstable": {
    "version": [
-    20211114,
-    1153
+    20220218,
+    826
    ],
    "deps": [
     "dash"
    ],
-   "commit": "1c51e88d5719e7b0dd022a4704c46b24e0c91348",
-   "sha256": "1zzy3y5vkdlb7wb3b4fgvm61zn3dj9n0ldi3153qvrgwn6w8m648"
+   "commit": "6dbd8f80aee44e2f6ff9995f1bebb8f05575505a",
+   "sha256": "0a65cin6r2bx9fz3a56iywmsdm5k6i6av0j6ba3s8hm2hdl7ckdq"
   },
   "stable": {
    "version": [
@@ -26212,11 +26240,11 @@
   "repo": "xwl/electric-spacing",
   "unstable": {
    "version": [
-    20211025,
-    1016
+    20220220,
+    1540
    ],
-   "commit": "859f4ab05eff9b00b3fd460b69010a03e010130e",
-   "sha256": "1s10sn14386dgjxkb7y6mlf5amcb5pq5p3akr0xjdh0dkdwy3db0"
+   "commit": "c37b2502512dd49a8311d7c34e9bfd1af3d4dbcd",
+   "sha256": "04p7bxlm82c7f28sskr044p1vyyffa3wir75b430d82by53b6yrj"
   }
  },
  {
@@ -26308,14 +26336,14 @@
  },
  {
   "ename": "elfeed",
-  "commit": "407ae027fcec444622c2a822074b95996df9e6af",
-  "sha256": "1psga7fcjk2b8xjg10fndp9l0ib72l5ggf43gxp62i4lxixzv8f9",
+  "commit": "25cd87f2f80a7228ae65ec26dc6c87f50fd2f9d0",
+  "sha256": "16f6y81n1kh9fhyl9950pfm0z3knv1ygam2cs41ydz6drnrvh119",
   "fetcher": "github",
   "repo": "skeeto/elfeed",
   "unstable": {
    "version": [
-    20210606,
-    1130
+    20210822,
+    2129
    ],
    "commit": "162d7d545ed41c27967d108c04aa31f5a61c8e16",
    "sha256": "0v49l289wiral01pvgm30wyv79h5d3ly3i05dmcw1q93g4z4l56d"
@@ -26664,14 +26692,14 @@
   "repo": "mtekman/elisp-depmap.el",
   "unstable": {
    "version": [
-    20200714,
-    1630
+    20220223,
+    1131
    ],
    "deps": [
     "dash"
    ],
-   "commit": "98676e6ffcc4efb70cc991e659c79cb599b01bc7",
-   "sha256": "0ybqbyv1jnjk25z6ys90d5lddd4qxqspn2xppkzvby21x634s2ry"
+   "commit": "15909462e3f7daf445d3cecf402ee16c7e3263ed",
+   "sha256": "0l08xy83b3avjjaydys7f25rr0l4ifh6awl8dyy6ww6wvrz7sd4c"
   }
  },
  {
@@ -26744,15 +26772,15 @@
   "repo": "Wilfred/elisp-refs",
   "unstable": {
    "version": [
-    20220128,
-    1736
+    20220220,
+    2305
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "fa1de199e07fb020b776fb585613682901962ed6",
-   "sha256": "0nw1h9iif0amak4wx985vqfv2a45yla2bhi3bb8bjlsxaixzh46a"
+   "commit": "8f84280997d8b233d66fb9958a34b46078c58b03",
+   "sha256": "026nvkbyacdxdgn5c4c09r7hpwypcimqjvx9vx07klaw6m6s25ba"
   },
   "stable": {
    "version": [
@@ -26895,17 +26923,17 @@
   "repo": "jcollard/elm-mode",
   "unstable": {
    "version": [
-    20210525,
-    152
+    20220220,
+    1657
    ],
    "deps": [
-    "dash",
     "f",
     "reformatter",
-    "s"
+    "s",
+    "seq"
    ],
-   "commit": "f2e2d0053f3272d9fc0c2e16c8d17d97724cf524",
-   "sha256": "1gaddxw63d5fna43d7kc3px9sbd2knbjga0lx2zz0lsbcjr54pzr"
+   "commit": "70734a1eed6f008135c197e115ca5f197e47ee0b",
+   "sha256": "1dgk8r1mbc6lmji4by0111sx61zmwlnbi1jd2k1bydhdmbpdi04w"
   },
   "stable": {
    "version": [
@@ -27212,20 +27240,20 @@
   "url": "https://thelambdalab.xyz/git/elpher.git",
   "unstable": {
    "version": [
-    20220202,
-    2138
+    20220208,
+    1726
    ],
-   "commit": "68388182b99d7e12ec649826cf0a8d167be57a88",
-   "sha256": "1ylxkdhln63g0pli51r7jxp07g7r09agi72dw5mgxld1kgxln9m6"
+   "commit": "6e3a8ef5af192eddcd834efac49866f84e2c73dd",
+   "sha256": "1p43x7mf14q84armxhp294xaclq5c6mpggq619ravia0kdrqij1w"
   },
   "stable": {
    "version": [
     3,
     3,
-    1
+    2
    ],
-   "commit": "22649fd442d505af3367a6386fa7f0da9a82c9e8",
-   "sha256": "121hkssy6c15gdr76k3fmdpk82354hk597gvkap6dc9y5j5968mk"
+   "commit": "6e3a8ef5af192eddcd834efac49866f84e2c73dd",
+   "sha256": "1p43x7mf14q84armxhp294xaclq5c6mpggq619ravia0kdrqij1w"
   }
  },
  {
@@ -27251,8 +27279,8 @@
   "repo": "jorgenschaefer/elpy",
   "unstable": {
    "version": [
-    20220203,
-    108
+    20220220,
+    2059
    ],
    "deps": [
     "company",
@@ -27261,8 +27289,8 @@
     "s",
     "yasnippet"
    ],
-   "commit": "9b458c80dc1bcecb6345e157d8e921c1e4e8a7ea",
-   "sha256": "1dniwj4lbmmwk715gi8kykp3c953migh0bs1br3vk1w2n8d6lax4"
+   "commit": "758c1ab3516b1e38fdc5b978da6252284f4ecade",
+   "sha256": "0mldrhqppm3cqrdl836g3rzd6l29ynjvz4b747n0z86sj1chgn54"
   },
   "stable": {
    "version": [
@@ -27326,8 +27354,8 @@
   "repo": "emacs-elsa/Elsa",
   "unstable": {
    "version": [
-    20220205,
-    2040
+    20220223,
+    2021
    ],
    "deps": [
     "cl-lib",
@@ -27336,8 +27364,8 @@
     "seq",
     "trinary"
    ],
-   "commit": "ea2d2afee38af1511728f61083b22a3e688c7570",
-   "sha256": "0xp7dgn5llh58v9mkj9wd6wx81q26bgxxf8vdrllyz35rkwb1sq4"
+   "commit": "21ed4f46e2d02ffb48b3ae377b0c93732ccf3f4f",
+   "sha256": "0pfwi4xddxphanh83xzvbj3a04wv7x55xjs796i1h820hm7zhidq"
   }
  },
  {
@@ -27589,14 +27617,11 @@
   "repo": "tecosaur/emacs-everywhere",
   "unstable": {
    "version": [
-    20220130,
-    457
-   ],
-   "deps": [
-    "cl-lib"
+    20220220,
+    1404
    ],
-   "commit": "ace53396a66ed4b753f42c04a5a0db2bcd770423",
-   "sha256": "0p55shxvqm1713af33mfglny7rpi31d42wvgwylcsfy4jvnsq8bb"
+   "commit": "f23230e67c45536501d651ef6b93546b4ac9fe4f",
+   "sha256": "0x9kfrcf59l0ql9b71a4hbgxjl9lb5w0fwydxcyz5ib0yk5nca55"
   }
  },
  {
@@ -27649,8 +27674,8 @@
     20220101,
     1820
    ],
-   "commit": "c82a0e6b4d256a3743b718cfb640fa9efc045f6e",
-   "sha256": "016lnzdsrwrghnnm8ljmzbqrcdj77pmg23nh3k3ayrh5n20ssdli"
+   "commit": "374726060d74df0e2bcb9d0355ff41e2c400ed30",
+   "sha256": "0z382qksrwhkv0ayjp8nays65c3xwd4kylj41k1pc3nnqg6b2k45"
   },
   "stable": {
    "version": [
@@ -27710,8 +27735,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "c82a0e6b4d256a3743b718cfb640fa9efc045f6e",
-   "sha256": "016lnzdsrwrghnnm8ljmzbqrcdj77pmg23nh3k3ayrh5n20ssdli"
+   "commit": "374726060d74df0e2bcb9d0355ff41e2c400ed30",
+   "sha256": "0z382qksrwhkv0ayjp8nays65c3xwd4kylj41k1pc3nnqg6b2k45"
   },
   "stable": {
    "version": [
@@ -27740,8 +27765,8 @@
    "deps": [
     "emacsql"
    ],
-   "commit": "c82a0e6b4d256a3743b718cfb640fa9efc045f6e",
-   "sha256": "016lnzdsrwrghnnm8ljmzbqrcdj77pmg23nh3k3ayrh5n20ssdli"
+   "commit": "374726060d74df0e2bcb9d0355ff41e2c400ed30",
+   "sha256": "0z382qksrwhkv0ayjp8nays65c3xwd4kylj41k1pc3nnqg6b2k45"
   },
   "stable": {
    "version": [
@@ -27764,14 +27789,14 @@
   "repo": "skeeto/emacsql",
   "unstable": {
    "version": [
-    20220101,
-    1820
+    20220218,
+    1543
    ],
    "deps": [
     "emacsql"
    ],
-   "commit": "c82a0e6b4d256a3743b718cfb640fa9efc045f6e",
-   "sha256": "016lnzdsrwrghnnm8ljmzbqrcdj77pmg23nh3k3ayrh5n20ssdli"
+   "commit": "374726060d74df0e2bcb9d0355ff41e2c400ed30",
+   "sha256": "0z382qksrwhkv0ayjp8nays65c3xwd4kylj41k1pc3nnqg6b2k45"
   },
   "stable": {
    "version": [
@@ -27920,11 +27945,11 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220205,
-    1643
+    20220223,
+    2258
    ],
-   "commit": "e8ef9424b3d8852935f7c547093bc2ebc23aeab5",
-   "sha256": "0k2mdjp473pzifk3p83xybqd05gyw1kak4bkapjziqk8061ab27f"
+   "commit": "f741dab05b09beb18e0a7e87f5b80ea462ca44a2",
+   "sha256": "1mw3qf1bn0033yajll05f8k3wvvqld1j6qzhbzppnk95kp9vgknm"
   },
   "stable": {
    "version": [
@@ -27943,15 +27968,15 @@
   "repo": "oantolin/embark",
   "unstable": {
    "version": [
-    20220115,
-    1540
+    20220219,
+    1728
    ],
    "deps": [
     "consult",
     "embark"
    ],
-   "commit": "e8ef9424b3d8852935f7c547093bc2ebc23aeab5",
-   "sha256": "0k2mdjp473pzifk3p83xybqd05gyw1kak4bkapjziqk8061ab27f"
+   "commit": "f741dab05b09beb18e0a7e87f5b80ea462ca44a2",
+   "sha256": "1mw3qf1bn0033yajll05f8k3wvvqld1j6qzhbzppnk95kp9vgknm"
   },
   "stable": {
    "version": [
@@ -28099,28 +28124,28 @@
   "url": "https://git.savannah.gnu.org/git/emms.git",
   "unstable": {
    "version": [
-    20220131,
-    501
+    20220221,
+    1445
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "d32a9bbc8ffcd736c4aa33a6dcea819a01b8e808",
-   "sha256": "1bsdwp4h5b3xbigaaa8mx3sx9650xn34b1w4l47r8a4c5imkxspi"
+   "commit": "6afe1b26d679357586380ecd69c9795985231013",
+   "sha256": "03cb4v50cxbprl695r9812zl35y5a8sdk7q8byflrlk6arihgrxy"
   },
   "stable": {
    "version": [
-    9
+    10
    ],
    "deps": [
     "cl-lib",
     "nadvice",
     "seq"
    ],
-   "commit": "c3596ae7166db2de004c57da303b5eb8d3e1f2e8",
-   "sha256": "09fs05cgvxxsqcbswrdr5fi8g0m0y2iq2w19ks7a102zqpfp2bml"
+   "commit": "6afe1b26d679357586380ecd69c9795985231013",
+   "sha256": "03cb4v50cxbprl695r9812zl35y5a8sdk7q8byflrlk6arihgrxy"
   }
  },
  {
@@ -28391,8 +28416,8 @@
     "emojify",
     "request"
    ],
-   "commit": "91111bbec3f43f85b680de68d408919b33800200",
-   "sha256": "15j4cci54rgd3ic2g4k1jf4v2yiph8y92gpg76jvrikyjby9zfj5"
+   "commit": "c641508772a7a7d455f0917d45c3c508de56e871",
+   "sha256": "0iam1caa6pyr3x7qf5nl9d2c0js9m5k6q59dbmvq2bwm7l243nxl"
   },
   "stable": {
    "version": [
@@ -28704,15 +28729,15 @@
   "repo": "purcell/envrc",
   "unstable": {
    "version": [
-    20220130,
-    1525
+    20220218,
+    1627
    ],
    "deps": [
     "inheritenv",
     "seq"
    ],
-   "commit": "12485e71d5154b02858628fce84396ac03f95630",
-   "sha256": "0vpwzs6yz6cmqcawil42wxdljkncnx85snk1p9pdfk3aghrrws4x"
+   "commit": "57d78f0138d9c676dff182e713249ad055ccf85d",
+   "sha256": "12bs9ywyf30qrmhibbdvcf5i24mvq8l2j3y0fv32fb2ydk4lpcmw"
   },
   "stable": {
    "version": [
@@ -28849,26 +28874,26 @@
   "repo": "emacscollective/epkg",
   "unstable": {
    "version": [
-    20220130,
-    1922
+    20220216,
+    1916
    ],
    "deps": [
     "closql"
    ],
-   "commit": "c18a2fc8b4a83ceea6a1128d7a77107983301e56",
-   "sha256": "0ykjv4xaz95syiw3dbf91c2c8716psc53f2l36xzkaxzj8nsz3vw"
+   "commit": "4bb8a13a43e30798e27c80174169ff955bf2b631",
+   "sha256": "10arkzdqdc1kzizhxa4n28fjmaamz8gdnn1lf79327p7qi3cz7np"
   },
   "stable": {
    "version": [
     3,
     3,
-    2
+    3
    ],
    "deps": [
     "closql"
    ],
-   "commit": "44bcdb03bb11891f5966b39be942d76a4a57f5cf",
-   "sha256": "18kjp0f5ch4mpd6yrd83p73pw7ykp2lv5686is8vcvyyys53jrf1"
+   "commit": "3075b621a56f13a93337e2f04aea3565b625b8de",
+   "sha256": "0d09ddlhvgp8rpybqmzvzpzdp1hjaq97wp2br4g90lpx2vclkgn7"
   }
  },
  {
@@ -28888,6 +28913,19 @@
    ],
    "commit": "d41cfe1a00d01a45938d2af2fb311fdb17d3c381",
    "sha256": "0i295rr9fslhxrqh8967whq1h903i3a45c4x6ycff1fhrxb87frf"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    1
+   ],
+   "deps": [
+    "epkg",
+    "marginalia"
+   ],
+   "commit": "d41cfe1a00d01a45938d2af2fb311fdb17d3c381",
+   "sha256": "0i295rr9fslhxrqh8967whq1h903i3a45c4x6ycff1fhrxb87frf"
   }
  },
  {
@@ -29450,28 +29488,27 @@
   "repo": "ergoemacs/ergoemacs-mode",
   "unstable": {
    "version": [
-    20220104,
-    2107
+    20220223,
+    1148
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "b0ede648b660cc7fe2b15abf6d85cf59ab01bc96",
-   "sha256": "0hhrd3fllmvjpl3kj96sv9k9qn2cb4wy74gz2czy712xj5bh0y4w"
+   "commit": "757475874a840f99b20c56182c7199257b6ae477",
+   "sha256": "1ipwzl0l26g5qvc1sgmz2ra5vn1j3hl0mnkgzpa3j4p8gsmxdiqr"
   },
   "stable": {
    "version": [
     5,
-    16,
-    10,
-    12
+    22,
+    2,
+    23
    ],
    "deps": [
-    "cl-lib",
-    "undo-tree"
+    "cl-lib"
    ],
-   "commit": "ac70b2563fb6e3d69ea382fddc87b5721c20c292",
-   "sha256": "0ydxyylijdd6da4n9by441352shphrpfyk2631ld5aq3gz27z9gi"
+   "commit": "757475874a840f99b20c56182c7199257b6ae477",
+   "sha256": "1ipwzl0l26g5qvc1sgmz2ra5vn1j3hl0mnkgzpa3j4p8gsmxdiqr"
   }
  },
  {
@@ -29504,8 +29541,8 @@
     20200914,
     644
    ],
-   "commit": "9911f73061e21a87fad76c662463257afe02c861",
-   "sha256": "1sma8i82g9kv6b5mmvfxgr70pbjgy9m2f8ynh1gr2mq0b1jkgxjk"
+   "commit": "90c30a8e8d37b606decfabf7b52d37022ea5b3a6",
+   "sha256": "1vxx4h33dx14hrpgch7xk7y83cdxj6vamma2hanzjgwjq7wvdck3"
   },
   "stable": {
    "version": [
@@ -29526,20 +29563,21 @@
   "repo": "erlang/otp",
   "unstable": {
    "version": [
-    20220110,
-    807
+    20220215,
+    1844
    ],
-   "commit": "1652f3ff90e22841a42381886709b0db369b1c3c",
-   "sha256": "1hlf7b3y3jyc99dxis2sf7n8na1rkfmxwmls2ryrqiwdcgsk7cgb"
+   "commit": "b5f0062fc16549b5836f58105e88c7a458e78470",
+   "sha256": "1r7sb4m2whfs7fnfihf7i10484vzd26ljvfx2j6wll0zmd842avs"
   },
   "stable": {
    "version": [
-    24,
-    2,
+    25,
+    0,
+    -1,
     1
    ],
-   "commit": "7bf7f01683acf9b8f09bd8c7331854a9abc17f7d",
-   "sha256": "1wcl60gclg5syi3zr9n23wk9x6l6w8w2ng7v6ibmsr1g1svhlkk5"
+   "commit": "3c68ceea1f93119bed871866c690fbf5a95048c1",
+   "sha256": "0i45r682i93b71jjhixq450lpkl6kbm8gi4f73g22k88w1lj1rmq"
   }
  },
  {
@@ -30253,8 +30291,8 @@
     20211005,
     221
    ],
-   "commit": "636bf8d8797bdd58f1b543c9d3f4910e3ce879ab",
-   "sha256": "02hjm685fl4f33s5fi8nc088wwfzhyy6abx5g4i93b2dx3hr2lyi"
+   "commit": "0435d8e2864bb4f1be59ae548d0068c69fa31c7a",
+   "sha256": "1ggp122b0a93ji2khxg8kvklwvjxx4a45hayln725d5nsmf82wy6"
   },
   "stable": {
    "version": [
@@ -30439,11 +30477,11 @@
   "repo": "emacs-ess/ESS",
   "unstable": {
    "version": [
-    20220201,
-    816
+    20220225,
+    1523
    ],
-   "commit": "5ff4fa8da09c5e408bc8a2a8e42e7c1fb93a3819",
-   "sha256": "0wr6j58fm4zbihmlrnlgc6n5wlpkx2a0xpdw0hjdxylag29d52z7"
+   "commit": "39eba283000a7b0220303d7c5a4f3ee05efc1e9c",
+   "sha256": "1avzxbdj2ghzv94mjmikqdb6za4dxkby2pnyrz0519fs4sc17a06"
   },
   "stable": {
    "version": [
@@ -31034,15 +31072,15 @@
   "repo": "emacs-evil/evil",
   "unstable": {
    "version": [
-    20220202,
-    1351
+    20220217,
+    748
    ],
    "deps": [
     "cl-lib",
     "goto-chg"
    ],
-   "commit": "787455068f56f29493cc1e33d4e5c2986ea25577",
-   "sha256": "01wfhaz16d1w0jzcj5l57r6nl17lmmli7gg6mzlnsqc8ccgfhcfp"
+   "commit": "00fca685479e772361765b13de4689099a328c28",
+   "sha256": "0gpw5hajzlaam3gdqrr8vxdjdghqr29il8zsmn9q77askf64wsbw"
   },
   "stable": {
    "version": [
@@ -31186,15 +31224,15 @@
   "repo": "wbolster/emacs-evil-colemak-basics",
   "unstable": {
    "version": [
-    20211125,
-    2021
+    20220222,
+    1856
    ],
    "deps": [
     "evil",
     "evil-snipe"
    ],
-   "commit": "ddea4486de929c399745713a6e616df50b22dedd",
-   "sha256": "1ld9iv6ysk28ps6gx6jgrqyazyqk1xd17a4fhf94m2hy7jzakwaj"
+   "commit": "66648de206a7368013f28c0d053b1b32c3efe6c6",
+   "sha256": "1h9d9jicvc8kdw8yfpsasl038h7s6zpfh1gjfcxn3lwgfmfnjkh1"
   },
   "stable": {
    "version": [
@@ -31236,15 +31274,15 @@
   "repo": "emacs-evil/evil-collection",
   "unstable": {
    "version": [
-    20220124,
-    225
+    20220222,
+    1104
    ],
    "deps": [
     "annalist",
     "evil"
    ],
-   "commit": "e69abfcb1cc0dd59dfe7c055b0779a6622f8282d",
-   "sha256": "1gsrh5scp8yksilx14cn3h2hy68xh8jhmm15wwzwlg457kc3jcm4"
+   "commit": "2dc6b5e56a7c320dba9da1da2c8c491be586eecf",
+   "sha256": "12rnxyzqna28f9mxw4fhw4wy0lilp5vjfmdvbaz3sldc162vi36q"
   },
   "stable": {
    "version": [
@@ -31353,15 +31391,15 @@
   "repo": "cute-jumper/evil-embrace.el",
   "unstable": {
    "version": [
-    20210418,
-    2038
+    20220211,
+    606
    ],
    "deps": [
     "embrace",
     "evil-surround"
    ],
-   "commit": "464e8ec52ff78edf3c9060143fc375f6ce5f275f",
-   "sha256": "1bga1idxj8mg5xpl7k4ymwaniyba2x13lf8yihyh713s5238fdmd"
+   "commit": "7b5a539cfe7db238d860122c793a0cb2d329cc6e",
+   "sha256": "03b53626ywq9qdqzsb92321lc0fzjqb674kwkssjrxlz6hhn5hlq"
   },
   "stable": {
    "version": [
@@ -31584,27 +31622,27 @@
   "repo": "syl20bnr/evil-iedit-state",
   "unstable": {
    "version": [
-    20200830,
-    617
+    20220219,
+    1432
    ],
    "deps": [
     "evil",
     "iedit"
    ],
-   "commit": "30fcfa96ceebed0191337c493f5c2efc8ae090ad",
-   "sha256": "0aqwjd7pmzxf7l768vyqqgjzmqdwlpznh30w5bdr7yh79r6xm6n1"
+   "commit": "6f7b502447ba35676375169d7707372ebad2791f",
+   "sha256": "0vjzjmp3ba0nzf0v04bhxvzgdwwm11vivxqjzgnvp3kq95kajr5h"
   },
   "stable": {
    "version": [
     1,
-    2
+    3
    ],
    "deps": [
     "evil",
     "iedit"
    ],
-   "commit": "f5573ddefc03309037bd98c4c649d517f4f8d659",
-   "sha256": "1i4kq34kghabkx0mp0asw2d0ybrrlv2ps50h8mgkm20sm5ha9lbh"
+   "commit": "44c64c71692e5b2f608ad3e3c537ec0a0e0ea0f8",
+   "sha256": "0kka4g4rkvxldif39n617llr95q9aaijchhbci85cj3qqp9sd9wb"
   }
  },
  {
@@ -32562,8 +32600,8 @@
    "deps": [
     "evil"
    ],
-   "commit": "787455068f56f29493cc1e33d4e5c2986ea25577",
-   "sha256": "01wfhaz16d1w0jzcj5l57r6nl17lmmli7gg6mzlnsqc8ccgfhcfp"
+   "commit": "00fca685479e772361765b13de4689099a328c28",
+   "sha256": "0gpw5hajzlaam3gdqrr8vxdjdghqr29il8zsmn9q77askf64wsbw"
   },
   "stable": {
    "version": [
@@ -32812,8 +32850,8 @@
     "tree-edit",
     "tree-sitter"
    ],
-   "commit": "a94e4a645988a2c0e2369e27a2635f6555d321d8",
-   "sha256": "1pszg8vlhdbpl3q6wr60jv1pn52dpxl8lzmvrvsy5jwvlmiwy91y"
+   "commit": "f7d393b5caf601fe20c7543a53fca3d7e74ea09d",
+   "sha256": "0i8vc5mpwgkf21awnzc4m60paf13lwl0ff4ihks6k6xq65va3rhn"
   }
  },
  {
@@ -33343,15 +33381,28 @@
   "repo": "md-arif-shaikh/expenses",
   "unstable": {
    "version": [
-    20220109,
-    1306
+    20220215,
+    1518
    ],
    "deps": [
     "dash",
     "ht"
    ],
-   "commit": "d8bbc3201a23f596418cbb0a316b446f0ab94585",
-   "sha256": "1shwdlzaf84mlf9gdxly43xwy6s7w48mbh5hqy8jbndq552zkzgh"
+   "commit": "fb4349fb7dbddcebc189cce52dda25ab42d27b06",
+   "sha256": "18ihdfm8hbfl0nhk5k02m0f5dni5pmljnv0my87pmhqa4bzi1b38"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "dash",
+    "ht"
+   ],
+   "commit": "fb4349fb7dbddcebc189cce52dda25ab42d27b06",
+   "sha256": "18ihdfm8hbfl0nhk5k02m0f5dni5pmljnv0my87pmhqa4bzi1b38"
   }
  },
  {
@@ -33944,11 +33995,11 @@
   "repo": "WJCFerguson/emacs-faff-theme",
   "unstable": {
    "version": [
-    20211124,
-    1842
+    20220219,
+    1818
    ],
-   "commit": "c090f3d3a8a2ddedeffc1f5b5147cb7633dae79e",
-   "sha256": "1kiaqascf4lh1kpvp79yynjyncakq31xgx0h2bfinji8i7y32pg1"
+   "commit": "f32c32711e936ae0397686b38b88a7dd3cc7ad21",
+   "sha256": "0vkd83bjprwbm02chvm1q8m818f9ngpbdzr078bxbyig5p0332z4"
   },
   "stable": {
    "version": [
@@ -34010,14 +34061,14 @@
   "repo": "jrosdahl/fancy-dabbrev",
   "unstable": {
    "version": [
-    20210909,
-    752
+    20220211,
+    633
    ],
    "deps": [
     "popup"
    ],
-   "commit": "9435ad63c1c4756f574ae98d2d63ecf1189ec832",
-   "sha256": "1qnh6ykmwvwk06rpi8pcvql5zq9gpiz2xiyl3j2imhmx1jiw4xdz"
+   "commit": "cf4a2f7e3e43e07ab9aa9db16532a21010e9fc8c",
+   "sha256": "04z9pwvl68hsisnyf9wlxmkwk8xag36jvcchwcwp4n9vp04z8745"
   }
  },
  {
@@ -34075,14 +34126,14 @@
   "repo": "condy0919/fanyi.el",
   "unstable": {
    "version": [
-    20211211,
-    201
+    20220222,
+    1101
    ],
    "deps": [
     "s"
    ],
-   "commit": "c328cdd1c5a0e734937125771279838e401fc5a8",
-   "sha256": "0kz6mv7awammgsi68vg6addkqry86sd3l8qrk3djwb77kw6rpvn6"
+   "commit": "bf214d3256143c4d18f3ec6060ee141d252424e2",
+   "sha256": "0wfp54h3wfvvr6sms1fzxpiqdsyhyygnmjkb9jv03gkir3asnpf9"
   }
  },
  {
@@ -34490,8 +34541,8 @@
     "f",
     "s"
    ],
-   "commit": "7b961721f36bd23ac8fae6e6eaa490ac6e8527d0",
-   "sha256": "1kgjb8qjscs1a08w4qwynd6yb94hi6lai9lgf0mnwvvmv6rpzfwv"
+   "commit": "bc8828273e7a01549d6e892bb0f4ca36d59dd964",
+   "sha256": "0rcxlmic4hh6qc2l041i7p3qxlmncbw8bhh4lzgg59hdhc18ln04"
   },
   "stable": {
    "version": [
@@ -34664,8 +34715,8 @@
     20210707,
     354
    ],
-   "commit": "9e076f56f58a195df9dd88f6541b63201bd5c38b",
-   "sha256": "0pffcv4nhwap85sx2rxxr4li3rg2bb5ykanaq6kg5wcliqck29hg"
+   "commit": "f23ecfc9c6b7a1369f8431ba1bd919a733b3d38e",
+   "sha256": "0hp3id5fc8z305y5jpbg57nqzdscw5r9yhvmzndiw6ly9pk8868a"
   },
   "stable": {
    "version": [
@@ -35674,11 +35725,11 @@
   "repo": "amake/flutter.el",
   "unstable": {
    "version": [
-    20210914,
-    17
+    20220220,
+    1423
    ],
-   "commit": "81c524a43c46f4949ccde3b57e2a6ea359f712f4",
-   "sha256": "16j455iymwcnqh6zwwlk47x9jsdim4va9k4il3qqj8bwgjv30xmb"
+   "commit": "08138f8c95488aaf315a1f5d52c33deb8d28672b",
+   "sha256": "0h4r6m9yi5pvqlc4a3m2kc8jl1ywp4vv8bgmnkzy1aa7i8lb94c3"
   }
  },
  {
@@ -35689,15 +35740,15 @@
   "repo": "amake/flutter.el",
   "unstable": {
    "version": [
-    20200221,
-    1415
+    20220213,
+    1335
    ],
    "deps": [
     "flutter",
     "flycheck"
    ],
-   "commit": "81c524a43c46f4949ccde3b57e2a6ea359f712f4",
-   "sha256": "16j455iymwcnqh6zwwlk47x9jsdim4va9k4il3qqj8bwgjv30xmb"
+   "commit": "08138f8c95488aaf315a1f5d52c33deb8d28672b",
+   "sha256": "0h4r6m9yi5pvqlc4a3m2kc8jl1ywp4vv8bgmnkzy1aa7i8lb94c3"
   }
  },
  {
@@ -35986,26 +36037,26 @@
   "repo": "worr/cfn-mode",
   "unstable": {
    "version": [
-    20201120,
-    2307
+    20220221,
+    1029
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "a4ca40978e680f9edc86c141e696e0ae57c63533",
-   "sha256": "0ggq4q2c1xi26m4rlvjm8f51wlj7h351pp6m20k6l25856858vhi"
+   "commit": "4cf56affe3035fda364109836e26499431095185",
+   "sha256": "1i9nqzk6nx4jdcn6q2yj2awb8rskblhnhqmxljd8bfv5s02fqr8z"
   },
   "stable": {
    "version": [
     1,
     0,
-    0
+    2
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "b4ffad5cabea7e858c66dc824d545653b1cdcb70",
-   "sha256": "0ggq4q2c1xi26m4rlvjm8f51wlj7h351pp6m20k6l25856858vhi"
+   "commit": "4cf56affe3035fda364109836e26499431095185",
+   "sha256": "1i9nqzk6nx4jdcn6q2yj2awb8rskblhnhqmxljd8bfv5s02fqr8z"
   }
  },
  {
@@ -36733,8 +36784,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "8b68168db13df4e393d65ca8c0464019dcc45745",
-   "sha256": "1fiycjznzpv0gm41xx8xgqkzsjg04zgg6v4prlaqx4vfzh069a2k"
+   "commit": "65e7d90594b5f624702b3cf6e8867407419980b7",
+   "sha256": "1s7xgcn10dx4i0l3q1pl33v8r59xjjmgia4a45jmv52schpx53gp"
   },
   "stable": {
    "version": [
@@ -36804,16 +36855,16 @@
   "repo": "emacs-grammarly/flycheck-grammarly",
   "unstable": {
    "version": [
-    20211231,
-    914
+    20220222,
+    638
    ],
    "deps": [
     "flycheck",
     "grammarly",
     "s"
    ],
-   "commit": "1352c1d970e42afbbb93d029636e17aa7b921cd0",
-   "sha256": "0m6zhqm0n3fhni5h7ky18zrcmmw3rwizq6wrpl1cnbyp38vljl7h"
+   "commit": "7ded0a4f36b88867ec6b14a791dc4d14baf09bd5",
+   "sha256": "0q3bhfjb0cr4f0g9dyyz70lgzzzwa3k77ahyhkc1jscmjafsjs5i"
   },
   "stable": {
    "version": [
@@ -37238,8 +37289,8 @@
    "deps": [
     "flycheck"
    ],
-   "commit": "4c22da6aa2878cbf490214b034f2ac25209f0fdc",
-   "sha256": "07qlaay65gs2v4zbawnfwf5ry2ag9dl0zzjrr8slqk7z6wy2c5wb"
+   "commit": "c22c4f33cfc1229177fc67b18885363fb8a23af9",
+   "sha256": "01nshsqjl9vlx06vg2fws0jxd6x2dy5pf2hix0am14v0rk9kh6zk"
   },
   "stable": {
    "version": [
@@ -38320,8 +38371,8 @@
     "flycheck",
     "vdm-mode"
    ],
-   "commit": "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d",
-   "sha256": "1vfqkfw39yg7379s6b28n8nyswv1jq7caljfbnyrndsag6z4j50k"
+   "commit": "56336930555df91787f196acac15680498d17d5e",
+   "sha256": "1xp6ngqd67jqrqvr5j9vmffrap6cbyiqbw1hbw8ciz27ivyqz6vx"
   },
   "stable": {
    "version": [
@@ -38747,15 +38798,15 @@
   "repo": "emacs-grammarly/flymake-grammarly",
   "unstable": {
    "version": [
-    20211231,
-    914
+    20220222,
+    638
    ],
    "deps": [
     "grammarly",
     "s"
    ],
-   "commit": "57d6d69b1b55eca484d643d180682a7e683b4b0e",
-   "sha256": "0a2azplyv9mp6xjjxdff35sz2r65h4svnrrsraib9jvz5hbqmny5"
+   "commit": "ae2190f47b8e0792ae936f972081de5a5b796d95",
+   "sha256": "1k66jv6nqmaazibr212swhkn4y3dkzwrg7f9mvpig19abfima6yn"
   },
   "stable": {
    "version": [
@@ -39001,8 +39052,8 @@
    "deps": [
     "s"
    ],
-   "commit": "a43fd0d92dbec5f1d4129b30ab0ed917e0864129",
-   "sha256": "03nfbdjfx5bnv5phs3fcysvfza9lcw32mai1a8gjdmm8p4cgc851"
+   "commit": "55df906e4a19d64aa6bc44fd45eb02819c6e77be",
+   "sha256": "0lxfzib1ipr3nkyjixy49n7g5z1v6hhimp1ff6n87wwz1d55lkjb"
   },
   "stable": {
    "version": [
@@ -40129,8 +40180,8 @@
     20191004,
     1850
    ],
-   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
-   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
+   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
+   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
   }
  },
  {
@@ -40207,8 +40258,8 @@
   "repo": "magit/forge",
   "unstable": {
    "version": [
-    20220130,
-    1941
+    20220225,
+    1417
    ],
    "deps": [
     "closql",
@@ -40221,14 +40272,14 @@
     "transient",
     "yaml"
    ],
-   "commit": "43055ac34f9de045e7f878e4be7a7f04b172f498",
-   "sha256": "1ds4ikqddnf4k25p6ng8g2vdxi2gl4qa6s0w0kxklgh3di8zmppn"
+   "commit": "0f436173d1660321edac761e3e82c40e97709f63",
+   "sha256": "03iwng2l5gj3mhk8jw72wzz5iji4c0m5p59f2igbiqm79xrxghys"
   },
   "stable": {
    "version": [
     0,
     3,
-    0
+    1
    ],
    "deps": [
     "closql",
@@ -40241,8 +40292,8 @@
     "transient",
     "yaml"
    ],
-   "commit": "cdf34e7586a2d4edde7a6da38752741080b68233",
-   "sha256": "15zm5azgl8gyd91i40a00ih4s2iwg1r8007n2gcfnmi6m4b7s0ak"
+   "commit": "2cecef36f41dfe1edc6078690b0c0d05af6b35f5",
+   "sha256": "112mghydfzrbiwnzrb2f9d74y6ja702157p66ss94kqps0lj7rkp"
   }
  },
  {
@@ -40422,14 +40473,14 @@
   "repo": "rnkn/fountain-mode",
   "unstable": {
    "version": [
-    20211223,
-    405
+    20220223,
+    1041
    ],
    "deps": [
     "seq"
    ],
-   "commit": "0aab300c0a6225d93087ae112f123eb89048ce1d",
-   "sha256": "102g7n43ji47ssj7rdyx34frbgl84lgmppww4f3x6wbkvfwa2p6f"
+   "commit": "96dd298a2ee2f62739e4a11281daadd90352df70",
+   "sha256": "0amxqi4jvc0sr5i6pk72ricjwdc0v0lr0q34vccsab2l8iiwid89"
   },
   "stable": {
    "version": [
@@ -41046,8 +41097,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "9e08ee114e5d99dba0360a52795ba191ae0f8ec1",
-   "sha256": "0kizzwqkrdy8d73xf5w19gxiicj5xi4bpy5j4zr338bsd44rh89y"
+   "commit": "3032408bd3b521d761eea9f0e4e89640d5485129",
+   "sha256": "0y6mralgvay2493vzm6m7m53sxivg9rzhs947flpdyz8xsl0ac4d"
   },
   "stable": {
    "version": [
@@ -41200,14 +41251,14 @@
   "repo": "diku-dk/futhark-mode",
   "unstable": {
    "version": [
-    20220104,
-    1200
+    20220211,
+    1009
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ea4b26bc5fbc074a011918172ea0c624a81c8092",
-   "sha256": "1i4gdascsjpvvks61wwwv0qmw0nbj6jy0slc95jymd2vnyz1p715"
+   "commit": "03c6ab09c8a580aaaab89709edcd999e66fca0e7",
+   "sha256": "12rf82ijlisvksq6jvkzgd73y3vgiwmprxfjssjzz8p5myp0m42i"
   }
  },
  {
@@ -41245,8 +41296,8 @@
     20211231,
     1837
    ],
-   "commit": "f63d6279a781cf9f33dd2f22826788d98d475961",
-   "sha256": "11dj0qg2411r2nby2nzi1i4s2v5wnz4594cl5c8gq9hws7cmp6q2"
+   "commit": "20a76509831b8296bf3c8b389e1f5602c2a88899",
+   "sha256": "1m4qsb2hfs1v5ffxzc81km5ld0gi8j3hzgnjckw5rlgl0ikrbjg5"
   },
   "stable": {
    "version": [
@@ -41631,11 +41682,11 @@
   "repo": "avendael/emacs-geeknote",
   "unstable": {
    "version": [
-    20160717,
-    1249
+    20220213,
+    612
    ],
-   "commit": "8ed607c76864afcc9c338972ab093caf4501cbf8",
-   "sha256": "1dadsyvkzf0rg6immjdjkb0k7iaqh3hm1w9qhap94j54j7v75w2q"
+   "commit": "ce2738aebeeda35f9d31027e9b7bad0813b975c3",
+   "sha256": "18z0m2qlsr9bs1m5wp88p7snd25wxz8i829z8ybkny6ax1vfi0y1"
   }
  },
  {
@@ -41646,14 +41697,14 @@
   "repo": "emacs-geiser/geiser",
   "unstable": {
    "version": [
-    20220203,
-    2107
+    20220223,
+    1659
    ],
    "deps": [
     "transient"
    ],
-   "commit": "c1cc4da1edc46b763e0342ab4aa971e54f48658d",
-   "sha256": "11vc57nkgbsyl1wrjikxs0ixzkp7dksj51p4aa9girsm2hs3bs6v"
+   "commit": "ed6d6a1b362fe389acb7f7e1bf6d89ff88e060af",
+   "sha256": "1zs3ywy81754daygch6nc03wg5z953gm03kclnv5fngxjzjf5xgk"
   },
   "stable": {
    "version": [
@@ -41763,25 +41814,26 @@
   "repo": "emacs-geiser/gambit",
   "unstable": {
    "version": [
-    20211204,
-    1940
+    20220208,
+    1356
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "faff8bac11621228640a3107622fe23df4bb6e2c",
-   "sha256": "1v736wh19yma3vjpgb2s1n77rrl5i3n8x451kq3cadsch0wid31d"
+   "commit": "381d74ca5059b44fe3d8b5daf42214019c6d1a88",
+   "sha256": "1dcrhm1am2dam94a0m7pjkiygah1lw53y2hq0870x1ji4gzgnkl8"
   },
   "stable": {
    "version": [
     0,
-    17
+    18,
+    1
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "faff8bac11621228640a3107622fe23df4bb6e2c",
-   "sha256": "1v736wh19yma3vjpgb2s1n77rrl5i3n8x451kq3cadsch0wid31d"
+   "commit": "381d74ca5059b44fe3d8b5daf42214019c6d1a88",
+   "sha256": "1dcrhm1am2dam94a0m7pjkiygah1lw53y2hq0870x1ji4gzgnkl8"
   }
  },
  {
@@ -41818,14 +41870,14 @@
   "repo": "emacs-geiser/guile",
   "unstable": {
    "version": [
-    20220131,
-    1758
+    20220215,
+    2320
    ],
    "deps": [
     "geiser"
    ],
-   "commit": "ecd118171a111e04120d11c0d72345ce1d0f8066",
-   "sha256": "1ri1l203vp5nnl7chmmvvj3b03315fpzjjkisv55m6xs77ig2cl7"
+   "commit": "cfd9116dcb246126950d7f2f662f09149684128b",
+   "sha256": "1k8qgkamzd6ljvk7xiqs1r0fvr4gzffhylpll7c4zjywrbixw3g1"
   },
   "stable": {
    "version": [
@@ -42138,16 +42190,16 @@
   "repo": "thisch/gerrit.el",
   "unstable": {
    "version": [
-    20220205,
-    845
+    20220208,
+    2103
    ],
    "deps": [
     "dash",
     "magit",
     "s"
    ],
-   "commit": "c2d9f3c0beef75ce2ca8e1e4b582980f2ffaef34",
-   "sha256": "1ayk60r3g6v8v8mdaxrv8psk5dhw8ss9rzglw8qzgxhj2dih73d6"
+   "commit": "a802be95aea25f500583f72df968c86c6771a3d0",
+   "sha256": "1ac6d4fxcac4p6dp4nhbqf3bzd0yvgwajrllrh3j0vcdpzmbg95s"
   }
  },
  {
@@ -42437,28 +42489,28 @@
   "repo": "magit/ghub",
   "unstable": {
    "version": [
-    20220130,
-    1941
+    20220216,
+    2156
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "38be4a4bd92f4cddcd93b6784007774ce892a6c7",
-   "sha256": "1as7cmpb7lrkcy25cp541hzc57260czkin2wpl48ng4qg8502ypj"
+   "commit": "2f50383cb35f0cc54599c54cc9794bf25387c050",
+   "sha256": "1ph96pqhizaq2vkvmkbzilacsbyx69g2bbsb3z8kqafrhg0khajj"
   },
   "stable": {
    "version": [
     3,
     5,
-    4
+    5
    ],
    "deps": [
     "let-alist",
     "treepy"
    ],
-   "commit": "192eff9da2c0f61813f3bc9c00913985c1804180",
-   "sha256": "1bc5z63ylb0ir5v9qngyl50svmlfd6hx9lv1ladwywncdpsslls8"
+   "commit": "6662865449a4c68c03e3a8257aee0ae5318b0fbd",
+   "sha256": "1px27nh4cr3r16qmvig72jdirjzllvm2m4dzm59kfznhg3rf7vj0"
   }
  },
  {
@@ -42803,15 +42855,15 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220130,
-    2254
+    20220222,
+    1036
    ],
    "deps": [
     "transient",
     "with-editor"
    ],
-   "commit": "16b313ba47872613c735863e9ece4193d4fc0ec4",
-   "sha256": "0y8jmjbx8k1kgwxkqw7wih19xyydjw6cwi9045l83qh534s9y9kg"
+   "commit": "44c58868c997f0b86d66faeed2f0b29064f8d0b9",
+   "sha256": "0yd5h61ykl1kmcla1z71kwi0yikax817da77fxz29l6mv85dlsfm"
   },
   "stable": {
    "version": [
@@ -43095,20 +43147,20 @@
   "repo": "sshaw/git-link",
   "unstable": {
    "version": [
-    20220129,
-    2006
+    20220217,
+    2315
    ],
-   "commit": "28e937fe4229e93ab3fe3dc31c22e390a42329ba",
-   "sha256": "1qp5f483szngx67386ladd9nxyydx3k9a540y34sgrwbyssx4qc3"
+   "commit": "f5691f8c66eb0f6050d9ab3834ab32661244b378",
+   "sha256": "1ifq9z4p0rbz2bpm6qz89xg5ycn5fflsyradzzxzsgyys0zc6szx"
   },
   "stable": {
    "version": [
     0,
     8,
-    3
+    6
    ],
-   "commit": "f76bffd42fb4ed8ffe09d48c084f6577b0b99fa6",
-   "sha256": "0l7xmvmj5s93hc39wjjv75f22zbhahnmcxpmvx3dfvsbig9pmk75"
+   "commit": "f5691f8c66eb0f6050d9ab3834ab32661244b378",
+   "sha256": "1ifq9z4p0rbz2bpm6qz89xg5ycn5fflsyradzzxzsgyys0zc6szx"
   }
  },
  {
@@ -44213,10 +44265,10 @@
  },
  {
   "ename": "gnuplot",
-  "commit": "be594de074dc3513c773d78c38e823be53061612",
-  "sha256": "1cz3db40r72cfqazg0w85fx5249d98wkxvjjjcn8dhwnmqymqigi",
+  "commit": "f623c44a97048249e88401d9d75378ca0cce4ef2",
+  "sha256": "1n349cx2qv8j549ljiivq62agylb3rd1cxif7qprdz1js9c4c40j",
   "fetcher": "github",
-  "repo": "emacsorphanage/gnuplot",
+  "repo": "emacs-gnuplot/gnuplot",
   "unstable": {
    "version": [
     20220102,
@@ -45150,11 +45202,11 @@
   "repo": "minad/goggles",
   "unstable": {
    "version": [
-    20211031,
-    1513
+    20220222,
+    1514
    ],
-   "commit": "3e48a56356991b3ff5228eced19b07862835cdcd",
-   "sha256": "0mkbra0a14rxh0716m6zxlkx05rhq1fn6n3yry29wwiabxa3w8ab"
+   "commit": "5d10b00b5f4ee686683c48804235f62d644ae2ef",
+   "sha256": "0q7vnvqr9283wg0gj7cwn8b540syhzyibjkhv3h81qi3cwk5a5fy"
   },
   "stable": {
    "version": [
@@ -45223,20 +45275,20 @@
  },
  {
   "ename": "goldendict",
-  "commit": "af87026905478d9134a4a036e792f6afd9c10768",
-  "sha256": "0zvrlz169pg9bj1bmks4lh5zn8cygqzwiyzg49na2a7wf2sk9m1f",
-  "fetcher": "github",
-  "repo": "stardiviner/goldendict.el",
+  "commit": "e86bb7d511a5228c1e87d900993a2747b418bf03",
+  "sha256": "1hmycq4sv2pkjgqpryv7wd9zy5v4igbfz7d8ap4ah6g2v1r7jdxr",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/goldendict.el.git",
   "unstable": {
    "version": [
-    20201108,
-    201
+    20220210,
+    1401
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "700f60be192f4d46787e7f009637c15567064f2a",
-   "sha256": "0nn7ilprx465r5yx0q11vghq3cv0a269jzz3q1p1vwllwfj0f31x"
+   "commit": "f3fbe658a8d31dc1bd0ca69e4d2ebaab59e92791",
+   "sha256": "0x38j3wpyaxggihkw3g1qcf0phfrcic555xyqy3vskhvvf5xgc5v"
   }
  },
  {
@@ -45334,11 +45386,11 @@
   "repo": "google/styleguide",
   "unstable": {
    "version": [
-    20180130,
-    1736
+    20220210,
+    1659
    ],
-   "commit": "31c830a22def856285b6a761c524f8d2d0657bcf",
-   "sha256": "1vv40cnvs985b84sqrpwhgr2ml2xgnlfi9727qaxg5g9wnxckvlq"
+   "commit": "af78b49ac4fef8083094d5105f72528ee7d09073",
+   "sha256": "00vryh0h5sc72f49172nxnxwkphw811k58ivkmal97zd2v3m6w7g"
   }
  },
  {
@@ -45501,16 +45553,16 @@
   "repo": "nlamirault/gotest.el",
   "unstable": {
    "version": [
-    20210221,
-    1905
+    20220209,
+    1739
    ],
    "deps": [
     "f",
     "go-mode",
     "s"
    ],
-   "commit": "c9ccffd7dbb47274003d0bb1d0b017552b875109",
-   "sha256": "1y3n78q1ww1mqyrnnlrd2cmwh1lg2qlb1g4gpn7jm7bdn9h9dq2b"
+   "commit": "298335fab797d0465516ed396f6e2acbe8f2ed93",
+   "sha256": "12sn06c4gw5jddmdaw73djlraj01f57z9plnyf1gxss4gnch6kmd"
   },
   "stable": {
    "version": [
@@ -45562,8 +45614,8 @@
     20210323,
     332
    ],
-   "commit": "08ac17dee21739edd16606273c35bc83de75fc7c",
-   "sha256": "0iwidx21lsrncz4kcd6zvpkx4ksmwrn7hp4p3lma62qw0327yh71"
+   "commit": "5da95c2b6d555155189c54b6857ceaafa2b72e8a",
+   "sha256": "07hapzb7h2rbvxzn1ml4dmzcj1ihdcsw365nirvhjfbipr1y7xkn"
   },
   "stable": {
    "version": [
@@ -45649,8 +45701,8 @@
     20210323,
     422
    ],
-   "commit": "67e3d3d649240c048f4088bd9e18f614218c9fe7",
-   "sha256": "0zchmlngw4pjdfdfb7zj42vh3ngphc8d8436n8is9dd09f26l7y9"
+   "commit": "921f7b729fff82924c539d96feb47e299c07e7a1",
+   "sha256": "1v73qzgf1bfkw7j295nmlpqaims8ry5b0vszfxajz2p09011hw12"
   },
   "stable": {
    "version": [
@@ -45679,14 +45731,14 @@
     "magit-popup",
     "s"
    ],
-   "commit": "5cd154fb15348403bdd5ad55cbd33871c9a8a8d8",
-   "sha256": "0l9c8k765cksjlmmdvyrci3d0aqiq1rvv4vgfm1jfwjq60dfvnhx"
+   "commit": "a41644562f5977dc76f2a385ab77432bfc21c993",
+   "sha256": "16q09nrsxnwyylfk0zdk0smxqwr31n13hww1i4f5gpw232b5lbck"
   },
   "stable": {
    "version": [
     0,
     27,
-    3
+    4
    ],
    "deps": [
     "dash",
@@ -45694,8 +45746,8 @@
     "magit-popup",
     "s"
    ],
-   "commit": "6b4e239111e6284b3f9ac583de505c4fbf18b2da",
-   "sha256": "0980dq688xz07msh0rqc7l7qq3qkkkwxg7ymz3jfcdics6cvw90z"
+   "commit": "285e80cd79d6daee7d5f0ac9555d885f368346f0",
+   "sha256": "004r3n3y019zvds45h6gk49gailvdy77ql49cmryajd2cifmw2sz"
   }
  },
  {
@@ -45854,8 +45906,8 @@
     20160504,
     911
    ],
-   "commit": "02670e1401c070e6ae3f50a8d79b210ca4f3a0ee",
-   "sha256": "13xlpmp2d96a9hzcwmyl6r9acmqdnvxfa239h00xn8ak0xpr17c0"
+   "commit": "bf732d367b16887f81d404481c11ed1a58671d4e",
+   "sha256": "1w7ly961mqb1396653ali52h0311f0dz3pbmlaxml67dshidjjci"
   },
   "stable": {
    "version": [
@@ -45906,16 +45958,16 @@
   "repo": "emacs-grammarly/grammarly",
   "unstable": {
    "version": [
-    20211231,
-    919
+    20220222,
+    638
    ],
    "deps": [
     "request",
     "s",
     "websocket"
    ],
-   "commit": "ed552610a59fdd2f8fe5bcbf50e3ebc3b5d383f7",
-   "sha256": "0jr1dxpsp33zi744rsk2djnix5lyqy8qfiqi9nyb37vzffpzdpgi"
+   "commit": "b340f523caa88534a89f5fa9fd0fae502e56a12c",
+   "sha256": "0f8nr981n7ndc7zvj21hsfqiy4h1ry5r1vz004lggphb2lzpzgyn"
   },
   "stable": {
    "version": [
@@ -46327,8 +46379,8 @@
     20220104,
     1419
    ],
-   "commit": "9220a560b4ac8431067be9c25a4c7f19075dc525",
-   "sha256": "0vq5nj4a6v7736lif992c3pdrpflp6p3y4x9l96qhi5fvbga7pfz"
+   "commit": "1fd737f7f1e34e27b6d317ba16507bbbe0d2588c",
+   "sha256": "1b1cams272ppzs00gbcmaxihgsjym96qp399hardiw7j8byav7fz"
   },
   "stable": {
    "version": [
@@ -46407,15 +46459,15 @@
   "repo": "Groovy-Emacs-Modes/groovy-emacs-modes",
   "unstable": {
    "version": [
-    20220108,
-    555
+    20220212,
+    646
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "02670e1401c070e6ae3f50a8d79b210ca4f3a0ee",
-   "sha256": "13xlpmp2d96a9hzcwmyl6r9acmqdnvxfa239h00xn8ak0xpr17c0"
+   "commit": "bf732d367b16887f81d404481c11ed1a58671d4e",
+   "sha256": "1w7ly961mqb1396653ali52h0311f0dz3pbmlaxml67dshidjjci"
   },
   "stable": {
    "version": [
@@ -46620,15 +46672,15 @@
   "repo": "kaiwk/gsnip",
   "unstable": {
    "version": [
-    20200928,
-    357
+    20220206,
+    1526
    ],
    "deps": [
     "aio",
     "log4e"
    ],
-   "commit": "c8bff61b10cd33de9d6f5fd84e4b27f48c772304",
-   "sha256": "0lw1psy1258vbvnl4j918hkzwqa65g94azbq84fvf2lgv4lbvgln"
+   "commit": "4d473b726b3f3b6bb7d1b5f66a9d368588ce0f86",
+   "sha256": "1slnvkpzhzffvnwyqr5bjgw84j0rapwr7mnaky9925l0rrv3fz6h"
   },
   "stable": {
    "version": [
@@ -46947,14 +46999,14 @@
   "repo": "abrochard/emacs-habitica",
   "unstable": {
    "version": [
-    20220123,
-    1424
+    20220215,
+    1758
    ],
    "deps": [
     "org"
    ],
-   "commit": "cbb5a0f11a8a91111d753c25c59582741ae49f2e",
-   "sha256": "1chykvq41ivmyg85ixh09q1wl4ayqdpbzacj4npy3jiafh6sksz4"
+   "commit": "9e1fde7f359f7f6a6976b857fbbdbc8dd4fd3327",
+   "sha256": "0xi0yvm4v2mjyml44jbprdl9lza7lhxmf2j177nbgvn8zgfjc7ac"
   }
  },
  {
@@ -47295,14 +47347,14 @@
   "repo": "otavioschwanck/harpoon.el",
   "unstable": {
    "version": [
-    20220131,
-    1558
+    20220220,
+    839
    ],
    "deps": [
     "f"
    ],
-   "commit": "9bbca44630cd23dda8595e13f8d3cc9af28c85db",
-   "sha256": "1a6mlga3k2816gi7s0lmjdbbflinpbcg3pzpx1zr1aknxi8ciw91"
+   "commit": "2e252559667ebe27485aa990a5ec062f94b67835",
+   "sha256": "0s2ags1ashr1mk5g5x467xh0ffxzkmyhr9w86qgmjnq37r0iw5zi"
   }
  },
  {
@@ -47431,11 +47483,11 @@
   "repo": "haskell/haskell-mode",
   "unstable": {
    "version": [
-    20210908,
-    1543
+    20220208,
+    1821
    ],
-   "commit": "8402caa341d90b4236f5c0a802751f9023ccfbe7",
-   "sha256": "05pp38r8gb94w8gxnm3rkrawa7d73538lpz7lwccmlr83pvpl0cb"
+   "commit": "f13b6db78bc880e680c320e015ae232f525e0a27",
+   "sha256": "06amab8n56nv8a1fnd9x3ic0s36g6q4c4m5mh6sxcngaqjvvz4pa"
   },
   "stable": {
    "version": [
@@ -47601,8 +47653,8 @@
     20210108,
     1835
    ],
-   "commit": "6057c05154464bfb88d2ba119cdc8d4c7e767541",
-   "sha256": "0z1lpsvmkcxs3gcxkmi1vjgfa7wdfa42cp2i9rl2i17jq34j37yb"
+   "commit": "f6ed4b77cdd775d53a7b824c21fd14e0eec5e3c7",
+   "sha256": "0314x9y3v8nmknmdw0gbl4njanxiqbh5h5m0kvnph6r6v0cz7m4s"
   },
   "stable": {
    "version": [
@@ -47735,22 +47787,21 @@
  },
  {
   "ename": "helm",
-  "commit": "7e8bccffdf69479892d76b9336a4bec3f35e919d",
-  "sha256": "03la01d0syikjgsjq0krlp3p894djwfxqfmd2srddwks7ish6xjf",
+  "commit": "38cea79ddef23a10098b5f3f8509e5be1e59536c",
+  "sha256": "032ypri8p6q1xz65imd89xizm4gzxkg62zaqyyv5pb2kbbv1y2b0",
   "fetcher": "github",
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220205,
-    1456
+    20220225,
+    727
    ],
    "deps": [
-    "async",
     "helm-core",
     "popup"
    ],
-   "commit": "08c4ad8e80394c8bc2c0d50429bce765f03826db",
-   "sha256": "0kfw83jz44b30v5rzvrx4ish62rkvacxd4s64xmf18h2342nrzi0"
+   "commit": "fbe5eb03255c18466162253c60db7b6ca50f32b4",
+   "sha256": "11n5rwcw4ky96na3gbfxcdwcp0x4dnrqadpgzkcz2pv8s5ih8g1y"
   },
   "stable": {
    "version": [
@@ -48643,20 +48694,20 @@
  },
  {
   "ename": "helm-core",
-  "commit": "ef7a700c5665e6d72cb4cecf7fb5a2dd43ef9bf7",
-  "sha256": "1dyv8rv1728vwsp6vfdq954sp878jbp3srbfxl9gsgjnv1l6vjda",
+  "commit": "38cea79ddef23a10098b5f3f8509e5be1e59536c",
+  "sha256": "11h7fl7kisjzwpmwiaqjg2773jpif874w2wwk0n5jqvinpxyijmd",
   "fetcher": "github",
   "repo": "emacs-helm/helm",
   "unstable": {
    "version": [
-    20220205,
-    1456
+    20220217,
+    812
    ],
    "deps": [
     "async"
    ],
-   "commit": "08c4ad8e80394c8bc2c0d50429bce765f03826db",
-   "sha256": "0kfw83jz44b30v5rzvrx4ish62rkvacxd4s64xmf18h2342nrzi0"
+   "commit": "fbe5eb03255c18466162253c60db7b6ca50f32b4",
+   "sha256": "11n5rwcw4ky96na3gbfxcdwcp0x4dnrqadpgzkcz2pv8s5ih8g1y"
   },
   "stable": {
    "version": [
@@ -49213,8 +49264,8 @@
    "deps": [
     "helm"
    ],
-   "commit": "85c1413dc28a5f5257eeebb6678dad503072b9ec",
-   "sha256": "1k96284xfsdashlaw1cv61md4fqhynhs674bzphs59h9k8g1vrf5"
+   "commit": "2eb2ad4f3f456fadfb6a0ec044acfef2f2e7af5c",
+   "sha256": "0z0ssmi8l6x2fca7xfnpkyvfmyc4zgbf925ms3bvgjzwm5q23zmk"
   },
   "stable": {
    "version": [
@@ -49478,8 +49529,8 @@
     "flx",
     "helm"
    ],
-   "commit": "bc2068dd0da7e77ac7b394544d703720913fa660",
-   "sha256": "0gd2z8b2blc3flnz196yqcxi2r66lrkm2z0pd5j0n7p5a9ajdfb4"
+   "commit": "6cbdb15094354262a2f5f793b66694e3f2c86e0b",
+   "sha256": "1gdjczi601586f7qzdxs65vhi9im6zymmqqp02ayz0nbmkijvqxj"
   },
   "stable": {
    "version": [
@@ -51650,8 +51701,8 @@
     "s",
     "searcher"
    ],
-   "commit": "0f89d04d322763a6db9ef58bbad747d41d9479ae",
-   "sha256": "03q6bs4zhyg7q5rpp1339h3dihl7fp0a16q8253nfr4k3b5qs79x"
+   "commit": "40f0db0a94ad45fe1bdb8928a884784a5adb2bd8",
+   "sha256": "0kprf6c06bghs4iw4y5w8ar8l2zg2511qdc46h6dpsglrp6d79pa"
   },
   "stable": {
    "version": [
@@ -52196,6 +52247,27 @@
   }
  },
  {
+  "ename": "helm-twitch",
+  "commit": "a0079a6c9a2207906efcf1d63d5006c50295a9c8",
+  "sha256": "0rishxgk04y1axkcskxn1dj0m5z6rmm4khsx6x9v1vj9b8yvghd1",
+  "fetcher": "github",
+  "repo": "BenediktBroich/helm-twitch",
+  "unstable": {
+   "version": [
+    20220207,
+    1314
+   ],
+   "deps": [
+    "dash",
+    "helm",
+    "streamlink",
+    "twitch-api"
+   ],
+   "commit": "533216a1add8acc2d6f2b4039c67528b97d06549",
+   "sha256": "14686l3idn34scz9a3bai2x42zsrbfazpv1am6j64y7mrp284p8g"
+  }
+ },
+ {
   "ename": "helm-unicode",
   "commit": "f720b9f9b667bf9ff3080938beab36aa0036dc92",
   "sha256": "1j95qy2zwdb46dl30ankfx7013l0akc61m14s473j93w320j5224",
@@ -52493,8 +52565,8 @@
   "repo": "Wilfred/helpful",
   "unstable": {
    "version": [
-    20211226,
-    1843
+    20220220,
+    2308
    ],
    "deps": [
     "dash",
@@ -52502,8 +52574,8 @@
     "f",
     "s"
    ],
-   "commit": "f865f17ad04cd270685187b0a5331ec8eb06e541",
-   "sha256": "1vxjf2mgnnh0dkk727nm7gw4fajizl6c52y27bi6rs0ahhy4ybib"
+   "commit": "67cdd1030b3022d3dc4da2297f55349da57cde01",
+   "sha256": "064rnxcf1w7zrjr39a72hngyndj24wkmmyqrgr1bpgsl87zgvbrg"
   },
   "stable": {
    "version": [
@@ -53218,8 +53290,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "e146d672ea4c00fe17018e7e76e49d59570eeb2b",
-   "sha256": "0bcrlw76nihbffm7p5jh9vf3r1756p6vwa7hbwp933r4caaiyqid"
+   "commit": "f7e7b12fd119e91c795cbe21bebf7b5af5d273b8",
+   "sha256": "1jdzd6r3x4dc03256y06dp747h2wp7hcm5jkb4n9ima8z2h3v3ck"
   },
   "stable": {
    "version": [
@@ -53424,11 +53496,11 @@
   "repo": "ideasman42/emacs-hl-block-mode",
   "unstable": {
    "version": [
-    20211029,
-    602
+    20220211,
+    548
    ],
-   "commit": "0593a1a77db28503025d5c1850e6a99551c3bcbd",
-   "sha256": "1rkxm6ak1zaqzp6q6mqpng0k4qjnsshkwydfxfm63xfsgr4vwhwv"
+   "commit": "3dd29cfbf24fec16eaf3d47936338adb6b34f5c8",
+   "sha256": "0c0533id01lx0xf5dkkddd3gwb3k2jh55fa6z0d2xzrmc7p1971x"
   }
  },
  {
@@ -53475,11 +53547,11 @@
   "repo": "ideasman42/emacs-hl-prog-extra",
   "unstable": {
    "version": [
-    20220131,
-    358
+    20220211,
+    548
    ],
-   "commit": "8275de778fa273f63a6254a17f80c83c6780cac2",
-   "sha256": "1i94x08fdkbcixfj5mq0mvdlnwgbc6a0gjdska58icksalc6814v"
+   "commit": "aaa9cd5085c13cbbfa41648ca4134a1699e64d5e",
+   "sha256": "1pbhyskam5jklglrqmzqdfzs5vgh8qykp3ihr9q4rsmh2wypxy4g"
   }
  },
  {
@@ -53876,8 +53948,8 @@
    "deps": [
     "dash"
    ],
-   "commit": "2b826735bb8d3bcfced489a1e0fa21b10fbc967e",
-   "sha256": "1ihpwl8rlpxmalpccnkd3xk6ngd4gxz29gjyyhka7p825as5nywm"
+   "commit": "4ca0638a14a8b304ac2b46e7b342b8d8732ad199",
+   "sha256": "1d0wi5dm3qri9b502nrbcra3b3gmikbqdbyzk87fccb4gf9k500v"
   },
   "stable": {
    "version": [
@@ -54117,8 +54189,8 @@
     20200929,
     559
    ],
-   "commit": "40075bdd61cb0f839c26d2f86b67d22d04f21093",
-   "sha256": "05565ybwz4mkcfdqihphm47am842x8mibh7p95qg6y3myr3g4dl7"
+   "commit": "4dc29dcae47afa740f001f04ad7f7b77169ea8a6",
+   "sha256": "1sfbd0a6lgipcd1i8a843433pwf8rfspim13qx0lwghwzva0f7bl"
   },
   "stable": {
    "version": [
@@ -55010,11 +55082,11 @@
   "repo": "ideasman42/emacs-idle-highlight-mode",
   "unstable": {
    "version": [
-    20220121,
-    2251
+    20220211,
+    548
    ],
-   "commit": "5881f796ad167a5fd46e8e964733725aa825516f",
-   "sha256": "1a1pkq0q8g40s033ldlyvbn1s83lw9irc9hskv78pjgch1k3qz8y"
+   "commit": "0a24f8e402383b0da1f956d946781317fba14bbc",
+   "sha256": "11mbm87rx4i093csdqrgin550wgkps69ysgy2ig56m3l1hs5pp78"
   }
  },
  {
@@ -55474,11 +55546,11 @@
   "repo": "victorhge/iedit",
   "unstable": {
    "version": [
-    20220119,
-    658
+    20220216,
+    717
    ],
-   "commit": "44968bea9bff8fdd5bf9d227f53814c44bb9f619",
-   "sha256": "15l0dprhgfv948vlc05n91npb4331n4i3v1idd3zww6vrw85n9l6"
+   "commit": "27c61866b1b9b8d77629ac702e5f48e67dfe0d3b",
+   "sha256": "07z659w9m94h79wnvs2fg80f5impidqhsmg6awc3fxwd3ib0yzih"
   },
   "stable": {
    "version": [
@@ -55872,20 +55944,20 @@
   "repo": "petergardfjall/emacs-immaterial-theme",
   "unstable": {
    "version": [
-    20220203,
-    1519
+    20220214,
+    1859
    ],
-   "commit": "90a0f4e6992a99d000d016b5a82fe1a10fcc5e1a",
-   "sha256": "0s7vvn300x7cazsp13jzp28r1jrf9bg3asvxm92xi64d45pkki4q"
+   "commit": "ca82a1700cf7834b55ada36e53811f6effde6283",
+   "sha256": "1c9d895g4dw0jp1ipm1mlhs2ln5f61ng83rv294jh32nrl3wrs81"
   },
   "stable": {
    "version": [
     0,
-    7,
-    1
+    9,
+    0
    ],
-   "commit": "b2b625f690e207bab7b60a23585eba9c2831607a",
-   "sha256": "173mw87hbr1hk0k859liba7sybsxpmdv0d7d97iyy2khhmn7xkn6"
+   "commit": "ca82a1700cf7834b55ada36e53811f6effde6283",
+   "sha256": "1c9d895g4dw0jp1ipm1mlhs2ln5f61ng83rv294jh32nrl3wrs81"
   }
  },
  {
@@ -55942,8 +56014,8 @@
     "htmlize",
     "simple-httpd"
    ],
-   "commit": "cbddfd54242210df3e1c3b590fada5bb5423f5ed",
-   "sha256": "14jnni828ndl1sj92cy49r0aa6y8qwqbm2rrxc87j0yfn5sdckc7"
+   "commit": "479a2412596ff1dbdddeb7bdbba45482ce5b230c",
+   "sha256": "09ns4csq36x4jnja8ayla6j29c5pyw9psf534rd56d7l33sbgyvl"
   },
   "stable": {
    "version": [
@@ -55973,8 +56045,8 @@
    "deps": [
     "impatient-mode"
    ],
-   "commit": "a57c628abb765a834c85f9299bf816e50ee35d23",
-   "sha256": "1j9lfxxvgg97l2cmdwyc9c82n09xvc9ybpqn31hm7i71y9l943w7"
+   "commit": "38ece99b3d566c48d9ba011a234869bc1b6f9a1e",
+   "sha256": "1za9rsf77f1qv2pqhw5myih8lgpdsa8n61pzj5z4lk5isj10cykw"
   },
   "stable": {
    "version": [
@@ -55997,26 +56069,26 @@
   "repo": "Galooshi/emacs-import-js",
   "unstable": {
    "version": [
-    20180709,
-    1833
+    20220215,
+    1948
    ],
    "deps": [
     "grizzl"
    ],
-   "commit": "fb1f167e33c388b09a2afd32fbda90a67bfb2e40",
-   "sha256": "0if117lia2ykd6ai0cf5z4ddhsm9icijigwbrn079v7m9s8yl43p"
+   "commit": "d2bbb53f96395415f9f01de4fa88d82c1f59ba63",
+   "sha256": "1r2in6zjhp0cywlyncnqblhb0k1bymhbhs7r974khrpf8byw69p9"
   },
   "stable": {
    "version": [
-    2,
+    3,
     0,
     0
    ],
    "deps": [
     "grizzl"
    ],
-   "commit": "0a1032894445062b87dbe4e2c8cdba35ac25c250",
-   "sha256": "0vx2k4k8ig1k74ifxaxvhbkmfmba683qza7f9pp08daa43mgr1r3"
+   "commit": "d2bbb53f96395415f9f01de4fa88d82c1f59ba63",
+   "sha256": "1r2in6zjhp0cywlyncnqblhb0k1bymhbhs7r974khrpf8byw69p9"
   }
  },
  {
@@ -56114,8 +56186,8 @@
     20210508,
     309
    ],
-   "commit": "208f21c7ece23acec6b2eb2b0c64928464f6863e",
-   "sha256": "0i5jhvsjjgfmpi4j9scv618sl0p26hpq7x3yp81s1f390brmf4dz"
+   "commit": "2bc911df2055ec42a0cda12a0a14bfffaf997f86",
+   "sha256": "0vbr0s6bsba7f5pbrdaz693pmyzd89vsky5bsblq0qbd4na6wy8m"
   },
   "stable": {
    "version": [
@@ -56320,14 +56392,14 @@
   "repo": "clojure-emacs/inf-clojure",
   "unstable": {
    "version": [
-    20211027,
-    1611
+    20220208,
+    1627
    ],
    "deps": [
     "clojure-mode"
    ],
-   "commit": "765653dc23dc2a2c1520a1e24332ab9d4b49dd47",
-   "sha256": "1hbylg5nsix65a85bibwgzcyjkf19rjvdkg04p9hnvsgh59x2d5l"
+   "commit": "e47684de78da1ee470d42ae2a411909b2cf61d50",
+   "sha256": "0ngkhp4i3qgl6lgld5qbnrk8grd8r18mabrsana8z2pmy58hxz73"
   },
   "stable": {
    "version": [
@@ -56700,11 +56772,11 @@
   "repo": "zonuexe/init-open-recentf.el",
   "unstable": {
    "version": [
-    20210528,
-    1902
+    20220220,
+    2004
    ],
-   "commit": "c019ea85a9c589815b0af60153858d09bcef130e",
-   "sha256": "12jwz0ssfxz1z55fb7v978xz8pwnclnqnzq5pqggzb06zkfxx7iv"
+   "commit": "51463effe54ca9390ec339b9678968f35a40dbfd",
+   "sha256": "1f1y3wafix0xvffkckbx3yh1sf548xvk6v3lshy859nbcbm4nbha"
   },
   "stable": {
    "version": [
@@ -56771,11 +56843,11 @@
   "repo": "ideasman42/emacs-inkpot-theme",
   "unstable": {
    "version": [
-    20211130,
-    214
+    20220211,
+    548
    ],
-   "commit": "9afc537af6e56dda5a3ef60792f15ed391ba3b8b",
-   "sha256": "0mffhf0zzvlrc0kcvfj91p4q7wx9v4ih1v1spjad40h5790gn9an"
+   "commit": "eb3f6deac945e536cdc8ddc09f6021fdbaa645eb",
+   "sha256": "1s0srxvcwv1myba22z0phkrs7da7cn22mgp6m6d01v5zgj03924m"
   }
  },
  {
@@ -56804,17 +56876,17 @@
  },
  {
   "ename": "inline-docs",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "1imjcx4qgrs5llindgmnvkb73fagnlxfg04s72kckgcy47c4352p",
-  "fetcher": "github",
-  "repo": "stardiviner/inline-docs.el",
+  "commit": "9a2649839bd44bf3b2f0db55255f511685dce089",
+  "sha256": "0dih87jzwr4fwi79gf2hhamhw33vs3a04x2cajg5g31jclpwcz11",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/inline-docs.git",
   "unstable": {
    "version": [
-    20170523,
-    450
+    20220210,
+    1402
    ],
-   "commit": "b57f1681be6147f999cdc12abff414a0442e8897",
-   "sha256": "0ji8qgscs4fxp2i29l3v8z9y6i2glga6bysbcsn855pqsn00xkcv"
+   "commit": "cda596d9ff4c2aa5035692a97c430f6589eafbb1",
+   "sha256": "0kc73qv3986n7fv8qrxr81zyg5lk14266v4rpwrib4nv5qwhzjza"
   }
  },
  {
@@ -56882,11 +56954,11 @@
   "url": "https://git.sr.ht/~pkal/insert-kaomoji",
   "unstable": {
    "version": [
-    20210707,
-    1126
+    20220215,
+    1204
    ],
-   "commit": "e818845a99d418e04c1685f06fe25116916f6168",
-   "sha256": "0acyzysz04sd3rahymw6x3a8zy57sy84d36zp6prd62y4w0sw361"
+   "commit": "974bb7dc02059253e032c501b2c3c0ece448d472",
+   "sha256": "061809gl7dfz4mis5igz9aiis1gq4np3fk75ydmzm0j9isz4dc2q"
   }
  },
  {
@@ -57350,8 +57422,8 @@
    "deps": [
     "f"
    ],
-   "commit": "c1e3cc7971c278a95eda16ade7b68ad157481a5a",
-   "sha256": "0lppyr74bsq9dx2qm6cc34vg4i2i8dnrrlbm3xc3nzcsay85cbjx"
+   "commit": "68271c7784d9ef7eee61d1f55dc050225d3448e9",
+   "sha256": "1dzjldfljbmxfwvh3krfkjww6rxff55bwgah9ixmcrlw73gsz1h1"
   },
   "stable": {
    "version": [
@@ -57861,8 +57933,8 @@
     "ivy",
     "s"
    ],
-   "commit": "cb7e0f03e1df90855b7cb1433706a8b46f5592aa",
-   "sha256": "0l2r32k6lzxsww245afddzfpwhy0k80kw0q3jkm5hfw3qgkwd864"
+   "commit": "044aef3c5f9302cdf326f88b785a355fdeea6336",
+   "sha256": "1x9gw5xh390naa258xany93w1p37zbwmg87ikjvhxp4zidypwrr2"
   },
   "stable": {
    "version": [
@@ -58315,8 +58387,8 @@
     "s",
     "searcher"
    ],
-   "commit": "b38ddcbce45f604948c4880cde224beab099b8da",
-   "sha256": "0719r16pwnvpq9qpa0d2pd2s5yzvawm5gycvxqzvlkgjw49h5rhv"
+   "commit": "55f5cf2ecc268686e7e124251f3c46c5065368d8",
+   "sha256": "1fahbnkg12dknkyrcszqm6c848rbalg0sgrxfanq7p9n7wpvskd8"
   },
   "stable": {
    "version": [
@@ -59188,8 +59260,8 @@
     20210602,
     1430
    ],
-   "commit": "f57c359044ff1fa90db62a60b6691ff8d65c82f3",
-   "sha256": "17wd6yzhjdw5j3bpn6bnga5nkwdnqgk8nprqiavsir4ghkzw2h46"
+   "commit": "296e3ca6e0341d9882f4771131a386fe2991e913",
+   "sha256": "0algc4smi734r5p72k5csjz4kl5iwhrs4mk5h039wab915vjbbkl"
   },
   "stable": {
    "version": [
@@ -60208,14 +60280,14 @@
   "repo": "tpapp/julia-repl",
   "unstable": {
    "version": [
-    20211230,
-    814
+    20220225,
+    810
    ],
    "deps": [
     "s"
    ],
-   "commit": "e90b1ed2cc806262b0ee772dcc88f8da693d9210",
-   "sha256": "0jhfb2shz71kwfzmvlpzhldm2rms3wgwikrym2a2fr9hw91i2zy7"
+   "commit": "6c1d63511fb2b3b3f2e342eff6a375d78be6c12c",
+   "sha256": "07fl2bcl1drscp94gpy0v3n31rml8fffc7iv5v80qh8zwvn57d6h"
   },
   "stable": {
    "version": [
@@ -60256,8 +60328,8 @@
   "repo": "gcv/julia-snail",
   "unstable": {
    "version": [
-    20220117,
-    2310
+    20220218,
+    512
    ],
    "deps": [
     "dash",
@@ -60266,14 +60338,14 @@
     "spinner",
     "vterm"
    ],
-   "commit": "92b47f1d4afa1d4ddffd432e23ad35e55c64a7a4",
-   "sha256": "0grr50ym834p73w1k7abbiswf1qviydm12f803v4i15l6miwvwpn"
+   "commit": "fc67e4d603907160766cf22e8ef16029238e78d3",
+   "sha256": "04nh37izz04lxkvkxhsig8khbrrgdl4p6pkjsv5bxymnp84zwlw7"
   },
   "stable": {
    "version": [
     1,
     1,
-    4
+    5
    ],
    "deps": [
     "dash",
@@ -60282,8 +60354,8 @@
     "spinner",
     "vterm"
    ],
-   "commit": "5b95b278772de8339ac198fe6eaadb0427d680fb",
-   "sha256": "11spibld7dyggr38hzkrd05lmdf847d57cc9qyk01mb3bli21vxd"
+   "commit": "fc67e4d603907160766cf22e8ef16029238e78d3",
+   "sha256": "04nh37izz04lxkvkxhsig8khbrrgdl4p6pkjsv5bxymnp84zwlw7"
   }
  },
  {
@@ -60447,8 +60519,8 @@
   "repo": "nnicandro/emacs-jupyter",
   "unstable": {
    "version": [
-    20220105,
-    1943
+    20220212,
+    210
    ],
    "deps": [
     "cl-lib",
@@ -60456,8 +60528,8 @@
     "websocket",
     "zmq"
    ],
-   "commit": "42a9765897ad36518b5371f558b36cdac3a0ec74",
-   "sha256": "09nrw32bmkcafbr69csz94lykpmbib7f22xa4y165szrd3va8qk9"
+   "commit": "0a7055d7b12cf98723110415b08ee91869fa7d94",
+   "sha256": "183313jlmfnbndczllkqm47y4495prw4ks2jav3pdwn5qqfmpznx"
   },
   "stable": {
    "version": [
@@ -60507,8 +60579,8 @@
   "repo": "psibi/justl.el",
   "unstable": {
    "version": [
-    20210924,
-    1138
+    20220220,
+    1315
    ],
    "deps": [
     "f",
@@ -60516,13 +60588,13 @@
     "transient",
     "xterm-color"
    ],
-   "commit": "18604956b8f6ba58cba99470464c67f7b16ce329",
-   "sha256": "1d6y84gm5n9gkn7v9rhxhxsihabrdgx6mddam0pw75ka53q5s8wi"
+   "commit": "df699c9f110e17a104b20391963e84f261283c9a",
+   "sha256": "13c2wa7izvksj9m2c2ar4x8bamayrrc7kvxyqj5i50ddf66z79yy"
   },
   "stable": {
    "version": [
     0,
-    3
+    5
    ],
    "deps": [
     "f",
@@ -60530,8 +60602,8 @@
     "transient",
     "xterm-color"
    ],
-   "commit": "db77f4ada0840dfb6080121f80249b11721ee779",
-   "sha256": "0250yayv136ypsy5gy814lv1schm1pza51lvsad7ayr3z1l812b3"
+   "commit": "b0c1fa0ea5317220e573ed29a2607e5f583111ee",
+   "sha256": "1ki0vbyylgg041vc70l3j7w28sri612mrgn425d5jyz1gdrg4d3s"
   }
  },
  {
@@ -61202,20 +61274,20 @@
   "repo": "tarsius/keycast",
   "unstable": {
    "version": [
-    20220126,
-    2100
+    20220211,
+    2035
    ],
-   "commit": "ebe6ea5e4ce73fb7b30f9d6647d7635396410837",
-   "sha256": "02izx6cgdzi5882zny38gwsc6frdry854f6ihfspfv53qiwslxzd"
+   "commit": "a94f9839addabc2d491ee5c8927453ae2c5ce0fb",
+   "sha256": "0yxi1s4czkxhzl6dp3b9iaqds35gjccqgrghvfmqyyvmzi0lzss4"
   },
   "stable": {
    "version": [
     1,
-    1,
-    3
+    2,
+    0
    ],
-   "commit": "b4965ff5db0e913e58c906c228042921b22335a0",
-   "sha256": "0s31b3kal4j08waa2fwz5d6269wsdywb60a7h4r5vzsrr238lks3"
+   "commit": "98c2dda1a2ca0fc95f7425847a36abad5b31a4c7",
+   "sha256": "01z20lsnjk8pwdsl4vx5dqdc4603bmb7fxan7n8j1fgvkvi63yzl"
   }
  },
  {
@@ -61434,11 +61506,11 @@
   "repo": "emacs-grammarly/keytar",
   "unstable": {
    "version": [
-    20210523,
-    403
+    20220222,
+    639
    ],
-   "commit": "f725c1113879bae4c04f2ccf59c6b1ced3bf7583",
-   "sha256": "0ipqqc4jsg43yv4626265478nd6gwy9am9ligx4jjn2vpwsrkjz9"
+   "commit": "f0f8b04f9f8e7863bdd3459d6ee6fd88ecd55dcf",
+   "sha256": "0vkaz5ifqasn2q51hnx024pdbr48xvx07g1rclfpw26990ah6yqa"
   },
   "stable": {
    "version": [
@@ -61515,26 +61587,26 @@
   "repo": "DamienCassou/khardel",
   "unstable": {
    "version": [
-    20201019,
-    553
+    20220223,
+    934
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "ca021fad32430e3f3a995d4158e73b5ee485258d",
-   "sha256": "0p210q71cn7a4sg82638mxc4v8b2lyi6yv888fjzwnxc804ahwxc"
+   "commit": "1436ec5ef1b5b26104a4735ee64c0afe148700de",
+   "sha256": "1pa7kl3d0hmgybbvsffhinn10qmqrkkzccprqcmwhc246yb4abqa"
   },
   "stable": {
    "version": [
+    1,
     0,
-    2,
     0
    ],
    "deps": [
     "yaml-mode"
    ],
-   "commit": "5ee835a4429c58dec3900e4fa3d7cc1e778c969b",
-   "sha256": "0k2q0m7g9bj4k5xc4cldhi7cfbb114g016abyzq3q3jaymja195z"
+   "commit": "1436ec5ef1b5b26104a4735ee64c0afe148700de",
+   "sha256": "1pa7kl3d0hmgybbvsffhinn10qmqrkkzccprqcmwhc246yb4abqa"
   }
  },
  {
@@ -61693,8 +61765,8 @@
     20210318,
     2106
    ],
-   "commit": "6bb8fe8e3e581bb30ebb584d9079a2ca83a30b6d",
-   "sha256": "1nf9lz0lj82z945h0rknl6wk0kblmrlc68gnjlr74lh62hg6gih3"
+   "commit": "2effe2ed03cebfd11746b1131eef3dd59205cfaf",
+   "sha256": "1m2bmblvwmlsprhwi92r9ihaddrbwas7fkhxi1cy87w9x4dvwjmq"
   },
   "stable": {
    "version": [
@@ -61704,42 +61776,38 @@
     -1,
     1
    ],
-   "commit": "8451d298c1260ba488545194d9111d48c224a5b1",
-   "sha256": "0hd38xb13b9k76lirmflr1xlqya6q6kl56qy0apk01cv8dkqh4ga"
+   "commit": "87b60702e0bf8eee929ba9ac4db725d12274d7ba",
+   "sha256": "0ppy54rvknghjcxrbja72n45yn5ljcqbvddb3rvn8pfpzih6j1pg"
   }
  },
  {
   "ename": "kiwix",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "0x5ld557kxzx5s8ziy5axgvm1fxlq81l9gvinfgs8f257vjlki07",
-  "fetcher": "github",
-  "repo": "stardiviner/kiwix.el",
+  "commit": "6d33d35c4228eca53de36d14296bc3e8219a3169",
+  "sha256": "18sxrdccqvkd8w6pj4lwbps1d04dm55lx0f5hr7hyc454q4vbg80",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/kiwix.el.git",
   "unstable": {
    "version": [
-    20220110,
-    1542
+    20220210,
+    1403
    ],
    "deps": [
     "request"
    ],
-   "commit": "1645c5b659a74c7fe3cae364b967edd45f64d61c",
-   "error": [
-    "exited abnormally with code 1\n",
-    "",
-    "error: unable to download 'https://github.com/stardiviner/kiwix.el/archive/1645c5b659a74c7fe3cae364b967edd45f64d61c.tar.gz': HTTP error 404 ('')\n\n       response body:\n\n       Not Found\n"
-   ]
+   "commit": "d21cbe30d697fa6720d016c52a807c8502719d4d",
+   "sha256": "0yapgm2fp9igc39did3h1kf3m236683h08n6615kldq8wxd5w774"
   },
   "stable": {
    "version": [
     1,
-    1,
-    4
+    0,
+    2
    ],
    "deps": [
     "request"
    ],
-   "commit": "6191d43e184e29de868a82331495ced9c9cc9be0",
-   "sha256": "1a8rcrln36brdik5rki7dkrm1syl8my7sjsv960fw45pfr1pkb5s"
+   "commit": "86c163cbc0515e9e516f05e809796087b1d3ba8d",
+   "sha256": "0fh5bx6c2jm492z70vq46b6fmsk4mqagxc75xcizl47s80wq6yvn"
   }
  },
  {
@@ -62080,8 +62148,8 @@
   "repo": "kubernetes-el/kubernetes-el",
   "unstable": {
    "version": [
-    20220111,
-    1305
+    20220213,
+    1809
    ],
    "deps": [
     "dash",
@@ -62092,8 +62160,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "16b60452e40b79dd35f40deeb61cc203a581a1c0",
-   "sha256": "1ghx9jk106f4m3wlk87g68ksm4cnwk84777kyf96riwhrs2bp88a"
+   "commit": "d52ad7dacf17b659060e52d5e3318cafd7946616",
+   "sha256": "05ibxsbfdaqdiabwl92j3mgcyf0gk5bzlwdlfms2f76wbrmpqw0l"
   },
   "stable": {
    "version": [
@@ -62127,8 +62195,8 @@
     "evil",
     "kubernetes"
    ],
-   "commit": "16b60452e40b79dd35f40deeb61cc203a581a1c0",
-   "sha256": "1ghx9jk106f4m3wlk87g68ksm4cnwk84777kyf96riwhrs2bp88a"
+   "commit": "d52ad7dacf17b659060e52d5e3318cafd7946616",
+   "sha256": "05ibxsbfdaqdiabwl92j3mgcyf0gk5bzlwdlfms2f76wbrmpqw0l"
   },
   "stable": {
    "version": [
@@ -62411,8 +62479,8 @@
     "highlight",
     "math-symbol-lists"
    ],
-   "commit": "3629d0081b3b1ded717c2dd8611132d45c0e8cc4",
-   "sha256": "11kw2ns1y636h50d44frbycv8q619ysvaz55dccbsxwbcpha0lnn"
+   "commit": "df2081b207ddef0fe1b83d8a2405858d8e361bcf",
+   "sha256": "0v2xj6x6g11g77lxzj4j777ajkwf448h0a71xzy6zggq16hvw9ma"
   },
   "stable": {
    "version": [
@@ -63232,8 +63300,8 @@
   "repo": "kaiwk/leetcode.el",
   "unstable": {
    "version": [
-    20211005,
-    1331
+    20220206,
+    1515
    ],
    "deps": [
     "aio",
@@ -63242,14 +63310,14 @@
     "log4e",
     "spinner"
    ],
-   "commit": "e278b099173dced55e6e39f9924e90899542ebf1",
-   "sha256": "1cm6z3ad3c704y3n0f1h38fhqrd69mrf7f4x79l8v76f6fj8vdhh"
+   "commit": "b3103bd08c8943091f702c66d674f0f27ef7fe0b",
+   "sha256": "184dxfgsy1l6r1pn9c9jb22b8gw5hah1cnhl3sncd79mzv6gjhl0"
   },
   "stable": {
    "version": [
     0,
     1,
-    23
+    24
    ],
    "deps": [
     "aio",
@@ -63258,8 +63326,8 @@
     "log4e",
     "spinner"
    ],
-   "commit": "e278b099173dced55e6e39f9924e90899542ebf1",
-   "sha256": "1cm6z3ad3c704y3n0f1h38fhqrd69mrf7f4x79l8v76f6fj8vdhh"
+   "commit": "b3103bd08c8943091f702c66d674f0f27ef7fe0b",
+   "sha256": "184dxfgsy1l6r1pn9c9jb22b8gw5hah1cnhl3sncd79mzv6gjhl0"
   }
  },
  {
@@ -63475,11 +63543,11 @@
   "repo": "tecosaur/lexic",
   "unstable": {
    "version": [
-    20210729,
-    1808
+    20220211,
+    1347
    ],
-   "commit": "a49235c918d626f5053344604cb1c464960762af",
-   "sha256": "1b4k80bm2p7sqh33dx72qag7056nlxqv9s8czql2qfvi8vlnwzz0"
+   "commit": "6301a5ad00cf8eb74e7a522c84c7ccabbec16241",
+   "sha256": "1bh5x3zhcx0pdfbqr90dvh6b4q361z6nsmzzcry4pld093wji0dn"
   }
  },
  {
@@ -63512,8 +63580,8 @@
     20220102,
     1653
    ],
-   "commit": "4c9f2ede47f710dfb0548d4e32793ad5766ca8fa",
-   "sha256": "1qcmcmi8s174v8549r86438smsxvnbfjhhq2iyhwwwxr3hxvr7l1"
+   "commit": "fc5ae30f6738dfd0664864698bfebb5423241ff8",
+   "sha256": "1ici0jqx136vcqh3rzcg4xgqsh3kjg65d5hnpivvhmflbjhkbxzr"
   },
   "stable": {
    "version": [
@@ -63689,11 +63757,11 @@
   "repo": "buzztaiki/lice-el",
   "unstable": {
    "version": [
-    20200607,
-    103
+    20220215,
+    303
    ],
-   "commit": "482e58ab83fff86ed754b00be27b62a219597e7c",
-   "sha256": "0yxkjyhfk8kpr8yqz54gdx6xwkj4s8bnbz60162jh12crj0bs5n7"
+   "commit": "b15230dbfc66cc92bbde8f9fd369522d7666c0c7",
+   "sha256": "0xpjcp4b76lc0d5jpry055d572rdp93vkbm8ck5yh97wy1y2837w"
   },
   "stable": {
    "version": [
@@ -63736,8 +63804,8 @@
    "deps": [
     "request"
    ],
-   "commit": "a4273a6dcc45dabf237c4bfd780ec22420711c70",
-   "sha256": "0lj997453mywdnl6zf5fvdgw4j4k3i2q9ayi2rnhdaikn5a36nmd"
+   "commit": "19a77b73e655d4ed5de50674ad0f8c44c8f6f7b1",
+   "sha256": "0a7fzbapygdq6jrwbiy0cmqyf19hdzrzv7xd1f1pwa8vknhzjn7m"
   },
   "stable": {
    "version": [
@@ -63775,20 +63843,20 @@
   "repo": "ligolang/ligo",
   "unstable": {
    "version": [
-    20211119,
-    1813
+    20220209,
+    755
    ],
-   "commit": "222e084b09a8b95ff194d3e9e3d8b89941c2052c",
-   "sha256": "1d1smrn17ywarryj6hcdwrmsnzcd3r0x6hhpg16w5qi73riz61v6"
+   "commit": "bc2ec448077a1aadf11ad5ca3b29aa86e1b29527",
+   "sha256": "0si95v1rswilp0myarvkfd8d47864jplqfrzmy64zbicichkl81j"
   },
   "stable": {
    "version": [
     0,
-    35,
+    36,
     0
    ],
-   "commit": "b7cfd2109934bc15967723dead5b98822af58473",
-   "sha256": "1d1smrn17ywarryj6hcdwrmsnzcd3r0x6hhpg16w5qi73riz61v6"
+   "commit": "a66064050e228d7d3e322817f841187a8f38b089",
+   "sha256": "1lgzps5qjgb99hybc2mmkjn5axnpz6p58f87dvasj99i008izcl9"
   }
  },
  {
@@ -63799,16 +63867,16 @@
   "repo": "emacs-vs/line-reminder",
   "unstable": {
    "version": [
-    20220204,
-    952
+    20220206,
+    1919
    ],
    "deps": [
     "fringe-helper",
     "ht",
     "indicators"
    ],
-   "commit": "8bf9e6d70347a99528bab56f90e0210f9a88dad8",
-   "sha256": "0f78dnz0qmmq2g4xsm3a9kqg4864lghv1nbz0hj2c8mz2c58laqs"
+   "commit": "c2e3b1411665f882337adbaf53af831ee10e3034",
+   "sha256": "1x81saxhzlaf32hhjaah1z6s7vn7jcdxxpckj4na3zx3ncg1r5jp"
   },
   "stable": {
    "version": [
@@ -63836,8 +63904,8 @@
     20180219,
     1024
    ],
-   "commit": "9aba9e57432873c2634ef504240e0a4431d3cadc",
-   "sha256": "001ljhsg7h3qxw3xd4c457dc2wrm1sybla04h78kq82cikmmnqgi"
+   "commit": "254ee815eb3fe77edea7c9da6f6f3839163735f3",
+   "sha256": "1q66yylmd9af3sjmlxs4l6lk6kvshg2fmalappj89c4gs9idcip8"
   },
   "stable": {
    "version": [
@@ -64053,8 +64121,8 @@
     20211004,
     1429
    ],
-   "commit": "5450cf3fae023cb652ef7391d96d9969eadf3866",
-   "sha256": "005s4p73zman1pnk46ajwj1m0b648i067frfg6i37wikryrcnz95"
+   "commit": "87241398f185a134940680c1f0d0f24951dabed3",
+   "sha256": "0i26bzba5ysvscghgc8lih8y3vvyl6jbmlny9m7790fgy9zkps1g"
   },
   "stable": {
    "version": [
@@ -64169,8 +64237,8 @@
   "repo": "abo-abo/lispy",
   "unstable": {
    "version": [
-    20220203,
-    1437
+    20220209,
+    1138
    ],
    "deps": [
     "ace-window",
@@ -64179,8 +64247,8 @@
     "swiper",
     "zoutline"
    ],
-   "commit": "80a4f6e9a7fb39e514a5ddfa919fa14f73716b71",
-   "sha256": "0vkvsg0x24yabkhcal25xlz0r5zbvdhd4x0zni9w5wg3rcf2rvmj"
+   "commit": "df1b7e614fb0f73646755343e8892ddda310f427",
+   "sha256": "02pmnn9cqslahnvllqzawp2j5icmb3wgkrk4qrfxjds68jg7pjj4"
   },
   "stable": {
    "version": [
@@ -64470,14 +64538,14 @@
   "repo": "sulami/literate-calc-mode.el",
   "unstable": {
    "version": [
-    20211101,
-    948
+    20220215,
+    1814
    ],
    "deps": [
     "s"
    ],
-   "commit": "ba7d22140a165b0fdd900a8d04916115ca6ab8ff",
-   "sha256": "1bdybw44pmhfpikdv1kg2sx88546xyncks5a4b2s0ak4p66r82k3"
+   "commit": "f5133e65d8ffdab918cdfc269ac0c067a0de5e9b",
+   "sha256": "0gvha2fl5macpwsp4fpa9nv14sg0yqr90s3v92f6imx89ll0rcya"
   }
  },
  {
@@ -64551,6 +64619,36 @@
   }
  },
  {
+  "ename": "litex-mode",
+  "commit": "7a4aec729e374988455cf454f3f067b2127449da",
+  "sha256": "1997v07hphs3icl2a8a2azm8iym64ylhnmyp85qf4xagxp7kwx8m",
+  "fetcher": "github",
+  "repo": "Atreyagaurav/litex-mode",
+  "unstable": {
+   "version": [
+    20220221,
+    2240
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "bad847232a9453db76a9a1de024bdcf4ed1e97e2",
+   "sha256": "07sic5ihf4680kcyw34gm1hyli7p63778awn697555bnmbd7y5as"
+  },
+  "stable": {
+   "version": [
+    0,
+    2,
+    1
+   ],
+   "deps": [
+    "cl-lib"
+   ],
+   "commit": "68ef7fc42aec9122fb6723f5592200dc2136efb2",
+   "sha256": "0bsr9i6rrcr4y549b9vmd4zz38amxn2f5fxvwhijw2mnnl34w65i"
+  }
+ },
+ {
   "ename": "live-code-talks",
   "commit": "855ea20024b606314f8590129259747cac0bcc97",
   "sha256": "1ji4lww71dqxnn5c9inix8xqcmgc76wbps0ylxhhgs44ki4hlyrm",
@@ -64614,20 +64712,20 @@
   "repo": "donkirkby/live-py-plugin",
   "unstable": {
    "version": [
-    20220130,
-    237
+    20220208,
+    308
    ],
-   "commit": "d6efd5dbecd873b65da5c55270cfa8fe09ff6f07",
-   "sha256": "0lcdvf540dwsk5v3v17add2s6vv1yg24z479f6vngwssn281scqc"
+   "commit": "df88bbde1d63abd59275301fc072d2bc9a360ad8",
+   "sha256": "177cmqn5xhzm1w6bahy9kqzaiasbzbr53fjr12zh3aby19892fr0"
   },
   "stable": {
    "version": [
     4,
-    7,
+    8,
     0
    ],
-   "commit": "a5f1953904ae6ad7d347f15975d905b7f74ef16a",
-   "sha256": "0kaf7gki5m351gipa92kqbp3jf74c2vjj7nm57vkq4gkxr4wmfi1"
+   "commit": "cc2adbd4455dcc70cc1366af5e0754a619e75242",
+   "sha256": "14n8cf020hpz9hrhf7pxcxszvbkp19s5j5cz3a42n4jh7jpacdzp"
   }
  },
  {
@@ -65013,8 +65111,8 @@
     "ht",
     "s"
    ],
-   "commit": "40e3b873e91393a19bd3251615817166aa2f5d4b",
-   "sha256": "1c4fx533xbffj5hj2nnlr76v6l9a1ah3pwbhncw7w31dq5v6vzx7"
+   "commit": "ab124ae3b38e77f5fb14c8902928d7b010b00b41",
+   "sha256": "1fsx0lyfj05wqnl0i8dw1slxndcg0b2p1fmcdhxvmsa5k4l11v2y"
   },
   "stable": {
    "version": [
@@ -65186,11 +65284,11 @@
   "repo": "petermao/look-mode",
   "unstable": {
    "version": [
-    20220206,
-    207
+    20220213,
+    126
    ],
-   "commit": "f1f4217b442fd52fb91cdbea34ff2c6af99ec8de",
-   "sha256": "145swf80935wq7pgz46f0g3ix4j0szi6r8cxwq5aw9fc8y1438n3"
+   "commit": "c6e7baedd652a9a2b7e6b9418039e8f4922e0baf",
+   "sha256": "0r6yp86nbbxv6m4mzh7xya2mqxrq77s3qpzf5w5aj9hlnx1p5psl"
   }
  },
  {
@@ -65224,20 +65322,20 @@
   "repo": "0x60df/loophole",
   "unstable": {
    "version": [
-    20220204,
-    1512
+    20220219,
+    1614
    ],
-   "commit": "d2a48068c4ce29966229f128d50163762b685091",
-   "sha256": "0hx5x7mv98sr935v97j2zxzjcmvzkh6h2zxra5vjxvwgwykqk9am"
+   "commit": "6971dd1d2e88aa8ecd61cc79a639a28b93ff8895",
+   "sha256": "1qyzgmn9jn2wmgl0byz15vk81w8pf861rr7kzxl8i9i4s3l7094p"
   },
   "stable": {
    "version": [
     0,
     8,
-    1
+    2
    ],
-   "commit": "0b3bfd1dbb61f29d21b8aa17c60848456aad76c9",
-   "sha256": "043j28jrpifzqqdia4y2kdy0l0xw5cnh96mv3wr3sfbi3x33m44p"
+   "commit": "4d887f7695b48be92c4226faf683c9c328257481",
+   "sha256": "19iv3jvl5zb4i1q5fvn57xka93z9w6sfb1m0ry8mqb8g2bp5alnl"
   }
  },
  {
@@ -65248,15 +65346,15 @@
   "repo": "okamsn/loopy",
   "unstable": {
    "version": [
-    20220110,
-    144
+    20220209,
+    320
    ],
    "deps": [
     "map",
     "seq"
    ],
-   "commit": "e7a6bd15cebe94d7dfe2732187afb50bcd58088c",
-   "sha256": "0yz9xxah6jg1wrvk2g4slrl1vaxc99icfb62ic62gs54s1cz27qs"
+   "commit": "e3933cccbce289eef2591cd0bbd42de55a56cba7",
+   "sha256": "14wd16dkqcn8ip6ijhzchdm9i6i205lgin66g7amrqs26vx6wqw6"
   },
   "stable": {
    "version": [
@@ -65287,8 +65385,8 @@
     "dash",
     "loopy"
    ],
-   "commit": "e7a6bd15cebe94d7dfe2732187afb50bcd58088c",
-   "sha256": "0yz9xxah6jg1wrvk2g4slrl1vaxc99icfb62ic62gs54s1cz27qs"
+   "commit": "e3933cccbce289eef2591cd0bbd42de55a56cba7",
+   "sha256": "14wd16dkqcn8ip6ijhzchdm9i6i205lgin66g7amrqs26vx6wqw6"
   },
   "stable": {
    "version": [
@@ -65368,8 +65466,8 @@
   "repo": "emacs-lsp/lsp-dart",
   "unstable": {
    "version": [
-    20220129,
-    1427
+    20220212,
+    27
    ],
    "deps": [
     "dap-mode",
@@ -65379,8 +65477,8 @@
     "lsp-mode",
     "lsp-treemacs"
    ],
-   "commit": "5cef1b6a34327bf236c8b7b23c44bdd968b4585b",
-   "sha256": "0kvjkpv0yvahmlkqyzl9ayl3mmmr4gcmi3p5pp8092ah0xgys86p"
+   "commit": "40aa90d8ad0ec6d5f9682e135eefb794b675dc9a",
+   "sha256": "0dbbfsspwfx654y8gkn12whf5942lchcma8ki6jy06h7pbx4wgm8"
   },
   "stable": {
    "version": [
@@ -65462,8 +65560,8 @@
   "repo": "emacs-grammarly/lsp-grammarly",
   "unstable": {
    "version": [
-    20211120,
-    1840
+    20220222,
+    638
    ],
    "deps": [
     "grammarly",
@@ -65472,8 +65570,8 @@
     "request",
     "s"
    ],
-   "commit": "8b2368675ab820b48abed3a3d7b5208fdc88d94b",
-   "sha256": "0wx51wra4gg7i2bf0q0y42gmnm8nn5vrzhlya678g36pk2h48h2z"
+   "commit": "f54d1a7ec9ee1b7bd4fd71490038064d49caa1b5",
+   "sha256": "0vjwwfl54lm0szsrr40mjzk3r10j0cmiks2gbwhf1aa948lwda82"
   },
   "stable": {
    "version": [
@@ -65725,16 +65823,14 @@
   "repo": "emacs-languagetool/lsp-ltex",
   "unstable": {
    "version": [
-    20211024,
-    809
+    20220222,
+    656
    ],
    "deps": [
-    "f",
-    "lsp-mode",
-    "s"
+    "lsp-mode"
    ],
-   "commit": "8e30ee2f9190921f9549620145e46961db273d39",
-   "sha256": "052jw0an51wj3y995cxf7mxdbjsx8140196siq87fkccvwry18sy"
+   "commit": "daad61dbdbdac83267c6de04a13f8e2ecde3226d",
+   "sha256": "1aky40r4850d4203wj1wxgx3xq0pb8rdvcv3b957nclvn8fmzvzw"
   },
   "stable": {
    "version": [
@@ -65759,8 +65855,8 @@
   "repo": "emacs-lsp/lsp-metals",
   "unstable": {
    "version": [
-    20220107,
-    1434
+    20220218,
+    1105
    ],
    "deps": [
     "dap-mode",
@@ -65772,8 +65868,8 @@
     "scala-mode",
     "treemacs"
    ],
-   "commit": "743db8df15375ff9270424951d2dcc3a7e8e7a0b",
-   "sha256": "1251hkpjh0s51znpqhfg193c67fcyr9b7i9hfs8xfalivjpnj254"
+   "commit": "5891149014308e73faf025bf40cd099cc185277b",
+   "sha256": "165040pm6g8sm1afcdp6x6jciqpix12cskn7jhy21vr5ff0awsiz"
   },
   "stable": {
    "version": [
@@ -65803,8 +65899,8 @@
   "repo": "emacs-lsp/lsp-mode",
   "unstable": {
    "version": [
-    20220201,
-    852
+    20220223,
+    639
    ],
    "deps": [
     "dash",
@@ -65814,8 +65910,8 @@
     "markdown-mode",
     "spinner"
    ],
-   "commit": "fbfaa80095a82f7473cb7e45fe73b32ecc1900ae",
-   "sha256": "0lg9sl5gfglx070230i4gszcp58b1s5pdgfq50hy6wanifvxsvah"
+   "commit": "cf87368054f32f9ecd3960f79f0815fbf97d798b",
+   "sha256": "06cw9syavm0hm68w7l41zy9hvy5x6rbc1wla2siy54qwwhsk4jfa"
   },
   "stable": {
    "version": [
@@ -66382,30 +66478,30 @@
   "repo": "SqrtMinusOne/lyrics-fetcher.el",
   "unstable": {
    "version": [
-    20220204,
-    916
+    20220207,
+    1326
    ],
    "deps": [
     "emms",
     "f",
     "request"
    ],
-   "commit": "f6948259b388102208d8a29dabf383f10f801cab",
-   "sha256": "1p7dpnjspjcxs3wi7fmfnwxgl5ha3d420imhni4wlgdx2nyjqp8f"
+   "commit": "06bd0293dfa759df48faefd73be60d43d1febd17",
+   "sha256": "10lifif5nbbn172l6dyifm00q3ak91bp143ng3p2j5518vah2cb2"
   },
   "stable": {
    "version": [
     0,
-    1,
-    4
+    2,
+    0
    ],
    "deps": [
     "emms",
     "f",
     "request"
    ],
-   "commit": "4545f5c5609166198b5f6f2e12de7309d294b629",
-   "sha256": "135qiprw4r03s1cjkq2hr8i4a6p2aapiz07cw697mhkr3rvvvbam"
+   "commit": "06bd0293dfa759df48faefd73be60d43d1febd17",
+   "sha256": "10lifif5nbbn172l6dyifm00q3ak91bp143ng3p2j5518vah2cb2"
   }
  },
  {
@@ -66669,8 +66765,8 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220203,
-    2302
+    20220225,
+    943
    ],
    "deps": [
     "dash",
@@ -66679,8 +66775,8 @@
     "transient",
     "with-editor"
    ],
-   "commit": "16b313ba47872613c735863e9ece4193d4fc0ec4",
-   "sha256": "0y8jmjbx8k1kgwxkqw7wih19xyydjw6cwi9045l83qh534s9y9kg"
+   "commit": "44c58868c997f0b86d66faeed2f0b29064f8d0b9",
+   "sha256": "0yd5h61ykl1kmcla1z71kwi0yikax817da77fxz29l6mv85dlsfm"
   },
   "stable": {
    "version": [
@@ -66759,14 +66855,14 @@
   "repo": "ideasman42/emacs-magit-commit-mark",
   "unstable": {
    "version": [
-    20220124,
-    557
+    20220211,
+    548
    ],
    "deps": [
     "magit"
    ],
-   "commit": "d02a69c0c1b411157e8ba34d6e986767c5ea758c",
-   "sha256": "1adqc4c9xqydmmk1zh4ar590hznfq4ls8g9x5xc0id7mc0pc9rjs"
+   "commit": "4845e535a38da2dae1b2dd857cef9eb15abefb41",
+   "sha256": "0vnp1xn7s447waa1319bix8xnvwbbz0vshplzl37zdjyh1myf33k"
   }
  },
  {
@@ -67045,8 +67141,8 @@
     "libgit",
     "magit"
    ],
-   "commit": "16b313ba47872613c735863e9ece4193d4fc0ec4",
-   "sha256": "0y8jmjbx8k1kgwxkqw7wih19xyydjw6cwi9045l83qh534s9y9kg"
+   "commit": "44c58868c997f0b86d66faeed2f0b29064f8d0b9",
+   "sha256": "0yd5h61ykl1kmcla1z71kwi0yikax817da77fxz29l6mv85dlsfm"
   },
   "stable": {
    "version": [
@@ -67108,14 +67204,14 @@
   "repo": "dickmao/magit-patch-changelog",
   "unstable": {
    "version": [
-    20210910,
-    1333
+    20220209,
+    1857
    ],
    "deps": [
     "magit"
    ],
-   "commit": "875f8ace4c38d1f6f2126ab0f038687c42f1ab2b",
-   "sha256": "1mbh5qshaiv5x6rlklzx9l3icccb9kn3rvbdaq1xbqbgfdpfhfwd"
+   "commit": "e792755514cb5a98b94fcd1c5eacd487f7e04d7b",
+   "sha256": "1x6663ycyvxmacww7cdq82cxbjkpgjpwcvxgaqgh6pfc2wwqiwml"
   }
  },
  {
@@ -67194,14 +67290,14 @@
   "repo": "magit/magit",
   "unstable": {
    "version": [
-    20220130,
-    2007
+    20220223,
+    2013
    ],
    "deps": [
     "dash"
    ],
-   "commit": "16b313ba47872613c735863e9ece4193d4fc0ec4",
-   "sha256": "0y8jmjbx8k1kgwxkqw7wih19xyydjw6cwi9045l83qh534s9y9kg"
+   "commit": "44c58868c997f0b86d66faeed2f0b29064f8d0b9",
+   "sha256": "0yd5h61ykl1kmcla1z71kwi0yikax817da77fxz29l6mv85dlsfm"
   },
   "stable": {
    "version": [
@@ -67409,8 +67505,8 @@
     "markdown-mode",
     "s"
    ],
-   "commit": "9fb9c653d0dad3da7ccff3ae321fa6e54c08f41b",
-   "sha256": "047dyiysdhf81qfcmmaxzixgxy35fjm9wyhwwv9630s5b83fh094"
+   "commit": "b75bb92eb5defeb358aac09bc50f6067e3c1d250",
+   "sha256": "1yxkzxxlbx1bhdxry114r5h6ncipycg6szn8gs8xnzj6yi5niyig"
   },
   "stable": {
    "version": [
@@ -67539,22 +67635,21 @@
  },
  {
   "ename": "major-mode-icons",
-  "commit": "c8f551bec8bdc5dee4b31edea0c2f92b3c77ec56",
-  "sha256": "02p5h9q2j7z3wcmvkbqbbzzk3lyfdq43psppy9x9ypic9fij8j95",
-  "fetcher": "github",
-  "repo": "stardiviner/major-mode-icons",
+  "commit": "15057fc5b590c36f62b78243f301a288c85a6d3f",
+  "sha256": "1rl0b7k45y3gyip4n3wf1hpl94h5q0ndhm84f83k36w8q5pqhy29",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/major-mode-icons.git",
   "unstable": {
    "version": [
-    20200127,
-    512
+    20220210,
+    1404
    ],
    "deps": [
     "all-the-icons",
-    "powerline",
-    "xpm"
+    "powerline"
    ],
-   "commit": "b36eae2e976bad3c431b082c64b1a724a2ba1fe6",
-   "sha256": "1jjmma9lx5g4qprmy71izgdp564lbdb0wsiysl1f6d8wipml78ys"
+   "commit": "b0214e0af13cd3691c4d28f03e3108bd98ec7a85",
+   "sha256": "04zhns2ziwkz67zlnh4qc7faqq751f9mc5b38zmkh6nidlhfhjj5"
   }
  },
  {
@@ -67803,8 +67898,8 @@
    "deps": [
     "manage-minor-mode"
    ],
-   "commit": "67cac2f9e3804fa815490b305e98e37fa55023ea",
-   "sha256": "1a36fpl6qhby64cnpm359sgsdbn0qakfc7qc8nkb6dl0lmbkfxdg"
+   "commit": "e4d748adcf52c6d9483cd9d8bd91a1288c2d7052",
+   "sha256": "15321wq812plbn81g5hjagxz6pyg7z896zhicgac0v6dv0jz7cyf"
   },
   "stable": {
    "version": [
@@ -67980,11 +68075,11 @@
   "repo": "minad/marginalia",
   "unstable": {
    "version": [
-    20220131,
-    738
+    20220217,
+    21
    ],
-   "commit": "e9540a7b80f9c4d044748b88720e5cba3e30c20a",
-   "sha256": "1a4k00g2pp7mk0x5zhqbxvv2igfjdz6bfy2g3hps2ygf4h12wbhg"
+   "commit": "097bd81743026c9b4889b860efd0283b26e64ccf",
+   "sha256": "1zkm3axkg676jcr0rv3na4v212cq4m2lpk0zac5a2s1y0fgvvx2q"
   },
   "stable": {
    "version": [
@@ -68100,19 +68195,19 @@
   "repo": "jrblevin/markdown-mode",
   "unstable": {
    "version": [
-    20220118,
-    1509
+    20220212,
+    728
    ],
-   "commit": "541bd7b48a4b7586f3c419f9ee1bb24810e1f56d",
-   "sha256": "0m634gigg6ypns2j9ipf97jv659d6zdcdfff825kazb31hz9lms4"
+   "commit": "521658eb32e456681592443e04ae507c3a59ed07",
+   "sha256": "162xfchw2nxsx5a53kx15qlhr0vqqsn1vpqjnfp3ys7yngs3vvdm"
   },
   "stable": {
    "version": [
     2,
-    4
+    5
    ],
-   "commit": "7b854c8e70b6d6edee12aec4194f4eb239586804",
-   "sha256": "0g0ja4h651yfabm3k6gbw4y8w7wibc9283fyfzb33kjj38ivl5d7"
+   "commit": "eecf2f20b097f9e6a0eaf938af967122fbec35dd",
+   "sha256": "02vw1zsbwa2hc3sxvbpvbldi5cf1xgd5b9l6fwg24d24j6b2af0j"
   }
  },
  {
@@ -68315,8 +68410,8 @@
     20200720,
     1034
    ],
-   "commit": "9c2fca7a7709d5ba4d83020669ab9d8b6d992624",
-   "sha256": "1frlnh73aygiz099r3dh7jlfr55ijplww3zyj4ig70mzd8qm08b9"
+   "commit": "74d9f566a41805cf7f2d49bb69400cca91fe7b8d",
+   "sha256": "0rmavxh8dvldzbc0glcg9ya2dv5gnv2nfrzc5r9yrj2slkip51qn"
   },
   "stable": {
    "version": [
@@ -68396,15 +68491,15 @@
   "url": "https://codeberg.org/martianh/mastodon.el",
   "unstable": {
    "version": [
-    20220130,
-    952
+    20220216,
+    1103
    ],
    "deps": [
     "request",
     "seq"
    ],
-   "commit": "5a0cc2fcc5fa0dad2d884dcc9989222d6df9e88e",
-   "sha256": "0ndawsh4gg2lcgs7php8660wvc2qbwrqnb6cbw7dkzhhcnyyi266"
+   "commit": "f7de456e918fdde1c7728e6fe435d9d40d98dd4b",
+   "sha256": "0hk3w0z9qh5wn76rab6glb269s2fardcy82llg4azjp2vna4zb4l"
   },
   "stable": {
    "version": [
@@ -69011,20 +69106,20 @@
   "repo": "meow-edit/meow",
   "unstable": {
    "version": [
-    20220202,
-    1100
+    20220218,
+    2024
    ],
-   "commit": "845c4693ade5aa24715d3c0e4da678ca3fa98b51",
-   "sha256": "124afg43kxlizn69hfhd7w157i3c59ifap1ilfcpga3dgvhn3ws7"
+   "commit": "7d3139c9f55ba85c00e5f5b1a396be98fea1762a",
+   "sha256": "1brw32ghmk0l98wk0n34v8as0g816n87f8drq794y8hkx8iiw6lz"
   },
   "stable": {
    "version": [
     1,
     4,
-    0
+    1
    ],
-   "commit": "6bb3fee0b91a74622e891537307918e828a4ed89",
-   "sha256": "04vin23bmds8dp2i1xihph9r7v43lcfz6fm23f4nvcyka9rqxc0z"
+   "commit": "b494651e1e02a232c5b9a359d6d4474ade736baa",
+   "sha256": "1w6586q237c5li8c0rrivissvhn2hic6l199yr9qx92mm9cvic0q"
   }
  },
  {
@@ -69038,8 +69133,8 @@
     20210720,
     950
    ],
-   "commit": "2072c09232fbf7d44dcd7509c666801cb889e14e",
-   "sha256": "04228h39gs252s6mchirfw74h42rn02gl0bvhark7x0cp64a4c06"
+   "commit": "8091fad9953c6b9840a53aa53336fdebe51658b6",
+   "sha256": "1q8hvj2l7bwswvx6qjbqac7cmi5x6k0kb8gbyih5v2dsbbqlijxs"
   },
   "stable": {
    "version": [
@@ -69067,8 +69162,8 @@
     "auto-complete",
     "merlin"
    ],
-   "commit": "2072c09232fbf7d44dcd7509c666801cb889e14e",
-   "sha256": "04228h39gs252s6mchirfw74h42rn02gl0bvhark7x0cp64a4c06"
+   "commit": "8091fad9953c6b9840a53aa53336fdebe51658b6",
+   "sha256": "1q8hvj2l7bwswvx6qjbqac7cmi5x6k0kb8gbyih5v2dsbbqlijxs"
   },
   "stable": {
    "version": [
@@ -69100,8 +69195,8 @@
     "company",
     "merlin"
    ],
-   "commit": "2072c09232fbf7d44dcd7509c666801cb889e14e",
-   "sha256": "04228h39gs252s6mchirfw74h42rn02gl0bvhark7x0cp64a4c06"
+   "commit": "8091fad9953c6b9840a53aa53336fdebe51658b6",
+   "sha256": "1q8hvj2l7bwswvx6qjbqac7cmi5x6k0kb8gbyih5v2dsbbqlijxs"
   },
   "stable": {
    "version": [
@@ -69162,8 +69257,8 @@
     "iedit",
     "merlin"
    ],
-   "commit": "2072c09232fbf7d44dcd7509c666801cb889e14e",
-   "sha256": "04228h39gs252s6mchirfw74h42rn02gl0bvhark7x0cp64a4c06"
+   "commit": "8091fad9953c6b9840a53aa53336fdebe51658b6",
+   "sha256": "1q8hvj2l7bwswvx6qjbqac7cmi5x6k0kb8gbyih5v2dsbbqlijxs"
   },
   "stable": {
    "version": [
@@ -69432,11 +69527,11 @@
   "repo": "jagrg/metronome",
   "unstable": {
    "version": [
-    20200502,
-    1748
+    20220210,
+    147
    ],
-   "commit": "18257ecdd7b3d816104e83a5f0f96e676cc9fbfc",
-   "sha256": "14qzb1i9l149nw4zhx8jlrrz7nvflc974zr5lbv7vv2zky0pya6w"
+   "commit": "1e1bd5234f3ecfb608041d423be7412c461ad3c2",
+   "sha256": "1igx3ajzgrrhc1bxzj24bf1r9ipm3pd4haq82wqdqskf60gidkac"
   }
  },
  {
@@ -69519,8 +69614,8 @@
     20210131,
     2152
    ],
-   "commit": "bf7e45439b044d18d0fdf3151fbdd7994875edce",
-   "sha256": "1i8frxbqmq5qakl2gnrmz7v3kvbfz6jp45ayn9kk4mq1j2ync3lh"
+   "commit": "0ab2406db9b4d5dac2348dd033d5fd37abd92a94",
+   "sha256": "0jdv58k2h90jr2a7sxkif4diwj3c0978ajyhaapk58icihfn66sa"
   },
   "stable": {
    "version": [
@@ -70392,8 +70487,8 @@
    "deps": [
     "cl-lib"
    ],
-   "commit": "82cfba411c544c862a0854f682494a437642c957",
-   "sha256": "02rg73rnz9kp73f6c9vm7wihg3hp4x3x7bw6khx206qjwpy8pcfk"
+   "commit": "a5f978e84e07a1d79c6c8e35043ac93d8e5d50ed",
+   "sha256": "19xbr4vbr3d1wx0a19jplrb27bhnxb4w65avg3n0avi4dg734yy1"
   },
   "stable": {
    "version": [
@@ -70463,11 +70558,11 @@
   "repo": "ideasman42/emacs-mode-line-idle",
   "unstable": {
    "version": [
-    20210215,
-    2345
+    20220211,
+    548
    ],
-   "commit": "8454a5ef404c6f4fe954a10da6ce4fd4311decfa",
-   "sha256": "01aq4bgris8v7q0yfyz1928q4rh9mba3b799zw2df8slqiigbf8i"
+   "commit": "ab45689351aa089c9fa82805b2cf34847d26b407",
+   "sha256": "08flayni445wfzkmzzvppw6ak03c0asipxdl3b8rwmwjjxglx9pd"
   }
  },
  {
@@ -70583,20 +70678,20 @@
   "repo": "protesilaos/modus-themes",
   "unstable": {
    "version": [
-    20220206,
-    751
+    20220225,
+    1429
    ],
-   "commit": "6789e5790c8faec1cdac5036a5910d4644707eba",
-   "sha256": "18jw3dyf1mpfkq8rnqlzwp805kqqf3my0av72kbzynw5biggaqzk"
+   "commit": "b8b26b1e3c63e9cccd3b5fa68e5895ed2662f042",
+   "sha256": "0dppwx7rn4c7b30j34763qsx8wwgfcig6j1l6vq5m3ms239qlv9q"
   },
   "stable": {
    "version": [
     2,
-    0,
+    2,
     0
    ],
-   "commit": "e02480f0b0a56b8575351db6504bf0d0417719ad",
-   "sha256": "0fh9nw7gz3bqpk6r1v6rggajhqaymk6hyww7i3hfb34g74qhyq3i"
+   "commit": "7b203db9e4295903792d999c40eb912b107ad30c",
+   "sha256": "14sik5hf3k2p4p6h2qrr5cknfzmksxyhng4xb2fg2cxdvxw7s1aa"
   }
  },
  {
@@ -70940,10 +71035,10 @@
    "version": [
     0,
     7,
-    0
+    1
    ],
-   "commit": "ee5df762d10e60cc19e771b1a64da9459c584cf3",
-   "sha256": "1xzi93hp4jrxqi3x31cpx4ff1yh2gq9y7qvv65gj19cfk9a0da88"
+   "commit": "aa6666eb344947bf1eb9d14619f4249403048321",
+   "sha256": "09yyihx6cpa724z6cj2rqspajwj325ipgpmckklpgq6l4h5xnwy4"
   }
  },
  {
@@ -71036,20 +71131,20 @@
   "repo": "tarsius/morlock",
   "unstable": {
    "version": [
-    20180318,
-    2023
+    20220223,
+    1454
    ],
-   "commit": "b883d48024ddfffebe2d0dd69f5ed54c617f8834",
-   "sha256": "0xns4f39x012n7piiv6kgb45n932wxs5fp4yyq44p1mnr0m8v4y8"
+   "commit": "ca6d72900392f1940914ee38ac3ebbce89f11373",
+   "sha256": "1bb1z1ycbafzyd3rq7mdr9akjcyfyvx3p0l68akkach1yj4gk137"
   },
   "stable": {
    "version": [
     1,
     0,
-    2
+    3
    ],
-   "commit": "b883d48024ddfffebe2d0dd69f5ed54c617f8834",
-   "sha256": "0xns4f39x012n7piiv6kgb45n932wxs5fp4yyq44p1mnr0m8v4y8"
+   "commit": "ca6d72900392f1940914ee38ac3ebbce89f11373",
+   "sha256": "1bb1z1ycbafzyd3rq7mdr9akjcyfyvx3p0l68akkach1yj4gk137"
   }
  },
  {
@@ -71218,8 +71313,8 @@
     20210306,
     1053
    ],
-   "commit": "7329757e1ad30e327c1ae823a8302c79482d6b9c",
-   "sha256": "0pkar3dyc47vqalrsrzrsny81615v4yi5y5hr4gdkhnbb54hsw4r"
+   "commit": "063c41f1d7c1a877f44c1f8caad6be1897350336",
+   "sha256": "0wqkprcg7p5c92lm614sb4l3viy9m526fxr28mshvws2wyn6072l"
   },
   "stable": {
    "version": [
@@ -71729,20 +71824,20 @@
  },
  {
   "ename": "mu4e-marker-icons",
-  "commit": "52f7c75f26eb02a58ed023a9d709fdcc09e11587",
-  "sha256": "1lyxcw7a842z4ss47sa8gzyh84p886d3qsszz9vl6978gy77i4al",
-  "fetcher": "github",
-  "repo": "stardiviner/mu4e-marker-icons",
+  "commit": "d1fb8cc83e74cf9993c3123213d195935c61aa13",
+  "sha256": "160ycz6bbnczhxz3zixjbqa0d4rb8240lwjvk7aijgypzbgn95il",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/mu4e-marker-icons.git",
   "unstable": {
    "version": [
-    20210124,
-    514
+    20220225,
+    1137
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "e5c4f9b14eab69a0a28f108c6fee3390e19bd080",
-   "sha256": "1a3cinvi0j92j65qfgzmnx6z0xvq4l2jkvw9wydhm3bkmi3v6ni4"
+   "commit": "66674ee00dbf953e7d8c1696fb12e9b5b4b272bd",
+   "sha256": "0pswfq8apihjglysphq3g4la39hyhrms0g010rp691m2mgg1lp39"
   }
  },
  {
@@ -71792,16 +71887,16 @@
   "repo": "lordpretzel/mu4e-views",
   "unstable": {
    "version": [
-    20211222,
-    1457
+    20220214,
+    358
    ],
    "deps": [
     "esxml",
     "ht",
     "xwidgets-reuse"
    ],
-   "commit": "a1d7268eb2b737ee69b5bdf45aacbc30e50204fe",
-   "sha256": "00yj0ldyxhzqdsbxr4jr4rd4j1njy1r0blh7py2nlxqia22c015g"
+   "commit": "fa47f35e56edcc84f00d622e415ae970cc5df0dd",
+   "sha256": "05pam9w057yfqaqy4y66zkdih3py2534pyawg5r4ph7154dr8d3m"
   },
   "stable": {
    "version": [
@@ -73185,14 +73280,14 @@
   "repo": "SpringHan/netease-cloud-music.el",
   "unstable": {
    "version": [
-    20220206,
-    1052
+    20220211,
+    1326
    ],
    "deps": [
     "request"
    ],
-   "commit": "c94ab2fc0beb80f4cb378dceba566b9314095152",
-   "sha256": "0s7inq1j053lnfgyn7nsh3s12bx1wc9f1fp001n5gj4qna8lbfw9"
+   "commit": "0738c875045072c277c85882330778fadd3d29f7",
+   "sha256": "1rxqgb3fj9zvl5pmfd2pb4hd7jrgl8620pnq455qg6b8ck24gl2i"
   },
   "stable": {
    "version": [
@@ -73611,8 +73706,8 @@
     20181024,
     1439
    ],
-   "commit": "f404f0059d71c8c86da7b56c48794266b5befd10",
-   "sha256": "10wk52s3ni9admzgm55vx6ci7f2dkwsh6z2rga63pyg52s88hj5b"
+   "commit": "c5e509481f1e53ceedc21d0315e125895b24d68d",
+   "sha256": "1w0hp5fzj6g6l0x77h3c3phq3hvm7klk7bgnk6c3didnvs47z9w7"
   },
   "stable": {
    "version": [
@@ -73893,8 +73988,8 @@
   "repo": "dickmao/nndiscourse",
   "unstable": {
    "version": [
-    20210926,
-    1845
+    20220210,
+    1529
    ],
    "deps": [
     "anaphora",
@@ -73902,8 +73997,8 @@
     "json-rpc",
     "rbenv"
    ],
-   "commit": "168b5ff1d8d8c39ac2db31e56fbab0927d557d7f",
-   "sha256": "1vka4i3hsgvwiwqh06xsdrlf50q7mjzyvc4gdk28705gaxnzqmiy"
+   "commit": "1b7d7bfc99b104b7c4948af9f3394b416105e9d9",
+   "sha256": "0c38j3drf89f98b6h3xcky6alggszrr86325g72mlbkknszkhh95"
   }
  },
  {
@@ -73972,16 +74067,16 @@
   "repo": "dickmao/nntwitter",
   "unstable": {
    "version": [
-    20220125,
-    2030
+    20220213,
+    1654
    ],
    "deps": [
     "anaphora",
     "dash",
     "request"
    ],
-   "commit": "221902b1acb3ed4f9527eaee6584c2d9ff0d309f",
-   "sha256": "0l6izdzsaxx0zfhm502blvrlvw012mld2niln404c7ca9b49ma19"
+   "commit": "354781f9d2da04649823a6923ad372d801f10ca7",
+   "sha256": "0y6cniqjgyap95jq2crfwxa72f2ln4frn299p4b9p26n2q6a3rrh"
   }
  },
  {
@@ -74007,26 +74102,26 @@
   "repo": "emacscollective/no-littering",
   "unstable": {
    "version": [
-    20220129,
-    1234
+    20220210,
+    1734
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "ba3facc3f6204ca82fa5b139dc01d8ce9e202443",
-   "sha256": "0w2r49c94xaag4nyfzz8ga05b15nc5zgm8y6sw63vaxbzg291nmz"
+   "commit": "f01872a2972450f8d12d84f58f3c5b812c716299",
+   "sha256": "0rf05lfmr77yq7xqz1nd4bji6d2cipb3hd5ap9lrk6jiv7f72dr2"
   },
   "stable": {
    "version": [
     1,
     2,
-    4
+    5
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "665e324abb690fb50e9d255bc656eb12bb83b0c6",
-   "sha256": "1gk1l5zk5r8alnzfbfsck5gxcwr55k04rd08sxmb4j9jds6w6zyv"
+   "commit": "f01872a2972450f8d12d84f58f3c5b812c716299",
+   "sha256": "0rf05lfmr77yq7xqz1nd4bji6d2cipb3hd5ap9lrk6jiv7f72dr2"
   }
  },
  {
@@ -74321,27 +74416,25 @@
  },
  {
   "ename": "notmuch",
-  "commit": "d05fbde3aabfec4efdd19a33fd2b1297905acb5a",
-  "sha256": "0pznpl0aqybdg4b2qypq6k4jac64sssqhgz6rvk9g2nkqhkds1x7",
+  "commit": "e3077f441b343d54d88490811eb2477e6ead87c4",
+  "sha256": "0n9qfr0qnb93ws3ys2qxlqyf1ardfa6phq1rsj57i1r8wkly5ddf",
   "fetcher": "git",
   "url": "https://git.notmuchmail.org/git/notmuch",
   "unstable": {
    "version": [
-    20220126,
-    1122
+    20220225,
+    1239
    ],
-   "commit": "0c357ce78516ca176156a12eb362fb1d854074b6",
-   "sha256": "1aj749afw6nvq20wfmicwly9glv4mb4ga5dyiy92h6srkkf39y1a"
+   "commit": "d298af9e9d75f076d767044738b4811a82f9b2ca",
+   "sha256": "1yximnzcv4j4fxjiw4mk7qpqmn8ix49kfyh2jfx858c1nbvbhkrl"
   },
   "stable": {
    "version": [
     0,
-    35,
-    -1,
-    0
+    35
    ],
-   "commit": "6a9f66ef324aa286d4fb8721a10837784e87ee98",
-   "sha256": "1s84gxiiicwrjijjdvz5vkgww3zay8m6xr0gxig749kd1dx9x6w6"
+   "commit": "7b5921877e748338359a25dae578771f768183af",
+   "sha256": "1jkninm2ynavacmz835s0v5iy10fw7b3v6hrnhvk1yr7zyiwhy88"
   }
  },
  {
@@ -74501,15 +74594,15 @@
   "url": "https://depp.brause.cc/nov.el.git",
   "unstable": {
    "version": [
-    20211230,
-    954
+    20220218,
+    1230
    ],
    "deps": [
     "dash",
     "esxml"
    ],
-   "commit": "2b4a7231aff6211a5a2f28719d830887aec6cc57",
-   "sha256": "11lwhwiyvhcj0gk9ifdjjj9iw41j3b5rdhk0x3hl8mfibrpqg3fs"
+   "commit": "0a166007f6430564360c31b5c68fca45a0c610d2",
+   "sha256": "0zgycw1bf0f1hf5apl1pmzviw4kizgpfd2gb36fpwky83a4r38xl"
   },
   "stable": {
    "version": [
@@ -74572,15 +74665,15 @@
   "repo": "shaneikennedy/npm.el",
   "unstable": {
    "version": [
-    20210930,
-    703
+    20220222,
+    1650
    ],
    "deps": [
     "jest",
     "transient"
    ],
-   "commit": "2bd544162cdfce69d70806446569d12ec27ad46c",
-   "sha256": "024p9wn365qdl7gmzljk6hp9snixqffg3vqqivndxbgykcjg4sar"
+   "commit": "45d8084aeafae415dc45ddc9c3a18b546315fcc6",
+   "sha256": "1iai69sdjfl9ynif7cbg654r8wdcjlkk8w8qzd2x4wxg72bfa2d2"
   },
   "stable": {
    "version": [
@@ -74875,15 +74968,15 @@
   "repo": "douglasdavis/numpydoc.el",
   "unstable": {
    "version": [
-    20220119,
-    1655
+    20220214,
+    1526
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "d57dc535cb19c42c969fef7184451918c91864bc",
-   "sha256": "0s2dx8xbyyscbx1swsl3j9drvlyf1mgk5vq3kfia7d2q8hg5z6sc"
+   "commit": "cfec608e1b95bc834e801bf285b0ff5451ccdf33",
+   "sha256": "1k05i8xa7c6nzgv0k4kngjnsgcpllvnwj76nl15an4k2jphcd17g"
   },
   "stable": {
    "version": [
@@ -75052,26 +75145,6 @@
   }
  },
  {
-  "ename": "ob-ammonite",
-  "commit": "508358506a6994baf120be2acba86762f5727c6c",
-  "sha256": "0wr7p3sfn9m8vz87lzas943zcm8vkzgfki9pbs3rh3fxvdc197lb",
-  "fetcher": "github",
-  "repo": "zwild/ob-ammonite",
-  "unstable": {
-   "version": [
-    20190813,
-    59
-   ],
-   "deps": [
-    "ammonite-term-repl",
-    "s",
-    "xterm-color"
-   ],
-   "commit": "39937dff395e70aff76a4224fa49cf2ec6c57cca",
-   "sha256": "0aibvrhwj2swv9ixl6hx4b2yicbpi095mvs0fib7i1nhlg0zciqd"
-  }
- },
- {
   "ename": "ob-applescript",
   "commit": "23b075774be913539c3f057dcb7f24fbc05c37a4",
   "sha256": "1gk8cgscj9wbl5k8ahh1a61p271xpk5vk2w64a8y3njnwrwxm9jc",
@@ -75687,8 +75760,8 @@
     20200320,
     1504
    ],
-   "commit": "cca09b64eff689d8bb15a77de9d4c7fe9845a1f9",
-   "sha256": "1wwmf14df2rnxlfs8bwb9p4q1a1plschbq2g9vqflphj6kv213m4"
+   "commit": "b4ce25699e3ebff054f523375d1cf5a17bd0dbaf",
+   "sha256": "0fhj3241gpj6qj2sawr8pgyn5b7320vjfb7idsy23kh4jvmj2wb8"
   }
  },
  {
@@ -75777,20 +75850,20 @@
  },
  {
   "ename": "ob-php",
-  "commit": "a3ac7a1d9390785abbd006956846d4f67f89dd9f",
-  "sha256": "0n6m6rpd0rsk6idhxs9qf5pb6p9ch2immczj5br7h5xf1bc7x2fp",
-  "fetcher": "github",
-  "repo": "stardiviner/ob-php",
+  "commit": "efb4e6d8540e6ca38c3aa0997116f5995ba1ea83",
+  "sha256": "09j53drzi2pkfzpjasmpfijsdlirh919vkg9yv9nhls2x3vgmrjb",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/ob-php.git",
   "unstable": {
    "version": [
-    20211229,
-    744
+    20220221,
+    1254
    ],
    "deps": [
     "org"
    ],
-   "commit": "cff022a2aaaf1785e1937e232c31670d748b8c6e",
-   "sha256": "1g53j5wy7m3mkfbyk5m5rz49sacmx64j1xl5535fdc06cl2kcxjm"
+   "commit": "6ebf7799e9ded1d5114094f46785960a50000614",
+   "sha256": "1r99h49931xgqkw8hjyfw3agv8q9d87dkqnap973j4yjq36ddcw8"
   }
  },
  {
@@ -75819,20 +75892,20 @@
  },
  {
   "ename": "ob-redis",
-  "commit": "a3ac7a1d9390785abbd006956846d4f67f89dd9f",
-  "sha256": "1xsz4cc8cqx03ckpcwi7dc3l6v4c5mdbby37a9i0n5q6wd4r92mm",
-  "fetcher": "github",
-  "repo": "stardiviner/ob-redis",
+  "commit": "baba2cef36a0e392b4df720d257642bcac67e724",
+  "sha256": "138q9405v5ihp9d24x4jkrmzrfhza2hjr31xhz7nfc2b63vh6mkg",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/ob-redis.git",
   "unstable": {
    "version": [
-    20210527,
-    1336
+    20220221,
+    1249
    ],
    "deps": [
     "org"
    ],
-   "commit": "ad31bf482a081b9c595a02ee6053c1426e3d8faf",
-   "sha256": "1w8wbiwzi8b3gm376yyynvc833skkvgylmrn803pnqsa1ij77jni"
+   "commit": "44c83636ccbea0b3e9838b0180471905c30224c5",
+   "sha256": "0rm78qhjdfx1klv2gk04sm8h3vw3hdimaxfagrdc2j5nhbzxffib"
   }
  },
  {
@@ -75919,21 +75992,21 @@
  },
  {
   "ename": "ob-smiles",
-  "commit": "a3ac7a1d9390785abbd006956846d4f67f89dd9f",
-  "sha256": "0d07ph6mlbcwmw0rd18yfd35bx9w3f5mb3nifczjg7xwlm8gd7jb",
-  "fetcher": "github",
-  "repo": "stardiviner/ob-smiles",
+  "commit": "b3335e721482d50f474dd7cb1650788036162145",
+  "sha256": "0zbs2camiqcc9mkpcw41mxdrsl2b551si1yiqpnhv3smvc2ppki6",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/ob-smiles.git",
   "unstable": {
    "version": [
-    20210527,
-    1401
+    20220221,
+    1255
    ],
    "deps": [
     "org",
     "smiles-mode"
    ],
-   "commit": "9f1fed213eb194924ab7d12b9d6e1074578a791c",
-   "sha256": "1x0rq9l9j3khp47q2j9bnyhhj2xrs4zggw9p8rmmai165drh1i9r"
+   "commit": "d178f3d4a7e3c1ca9910f0a063d2a3cfd97d8609",
+   "sha256": "0p31nv4haqhnh7zbmj875sw547ach8wdybmfaqqsb4vk749wq7a4"
   }
  },
  {
@@ -75966,22 +76039,49 @@
   }
  },
  {
-  "ename": "ob-spice",
-  "commit": "a3ac7a1d9390785abbd006956846d4f67f89dd9f",
-  "sha256": "0nhdcvq7yvprz4323836k507w0g1lh3rdfr6dqrbj29yvsqfw0x2",
+  "ename": "ob-solidity",
+  "commit": "af4ad88a12fa74927ae7549d855917715132be96",
+  "sha256": "1bdl8wv8njq9lmwlj7sqzq6yrjc6b70v6p1a41dgjwvj55pjy6qb",
   "fetcher": "github",
-  "repo": "stardiviner/ob-spice",
+  "repo": "hrkrshnn/ob-solidity",
   "unstable": {
    "version": [
-    20210527,
-    1355
+    20220213,
+    1910
+   ],
+   "deps": [
+    "solidity-mode"
+   ],
+   "commit": "7e3e6cb2d7ec9269514e80248c7ec85c04dbbf89",
+   "sha256": "0zghs08558z8n7wx5r38szjhczvzyk3r7q8p107vh2v0adp0qz3d"
+  },
+  "stable": {
+   "version": [
+    0,
+    0,
+    1
+   ],
+   "commit": "d0ffe51b4fa02f5bff59e2e3c3f70f01255c28a9",
+   "sha256": "0fwhk7shjxxkdj1phmw60pagn3axfqjn7p0wibvaylplrnx2h7hp"
+  }
+ },
+ {
+  "ename": "ob-spice",
+  "commit": "79b2eab8f2fc328df6c24661f35b246e46e6e5ec",
+  "sha256": "0sw5ffwbjlf2s0dbk883ljddh266p6crgvaf5ym8p5y0asijvp3d",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/ob-spice.git",
+  "unstable": {
+   "version": [
+    20220210,
+    1415
    ],
    "deps": [
     "org",
     "spice-mode"
    ],
-   "commit": "3c77144ecb059411441730bb47f6d5892b62d13d",
-   "sha256": "00cnym62hp0masikr3ndk2a0mpafjw0cjx0xavcq486w2xi7r8rm"
+   "commit": "6dc2c6b9391ea8dd8123224f6c282b673b89dc94",
+   "sha256": "15lnmqzpgaz8n6zh0x9dm6hynl7rf1pcyf5m3fk7bbinqbxclljn"
   },
   "stable": {
    "version": [
@@ -76294,8 +76394,8 @@
     20210923,
     1348
    ],
-   "commit": "fb005d5abc34bad8b7c39b9da04a16d997932a0d",
-   "sha256": "18ay9jrmc6ldywzrjac2gcjqczbsny7a4r2vf8kxaz8camgh7081"
+   "commit": "1ce35b98ff6d76947c648b96ff41ff3b8a9f1234",
+   "sha256": "19xjj762l6yirqxvjn4gcvxrarbrjrdp88r6x576qzsqppsm5dsk"
   },
   "stable": {
    "version": [
@@ -77235,11 +77335,11 @@
   "repo": "oantolin/orderless",
   "unstable": {
    "version": [
-    20220113,
-    137
+    20220212,
+    356
    ],
-   "commit": "ce462a63e32dd32bceea041f656bb79da953d62f",
-   "sha256": "1phqqhddsialm5ls0ab6jr4hwwj0isyks2l9pi1w1k9blkyqx994"
+   "commit": "7ddf5dfe9e982ee1510ceec36eeb4d8bb802ea73",
+   "sha256": "0jl9zcpxlz89fzvagvwz73y2qxq0vbmzk7rmqcz37f8r75fz63aw"
   },
   "stable": {
    "version": [
@@ -77431,14 +77531,14 @@
   "repo": "awth13/org-appear",
   "unstable": {
    "version": [
-    20220122,
-    1913
+    20220211,
+    727
    ],
    "deps": [
     "org"
    ],
-   "commit": "303fcc8d5d85a4ebff2798dab50b2ccc0255ea5f",
-   "sha256": "1pdf16agcjfzpjvz8kv39abir35rip93nkawxcpjjh4ywsdsbnm6"
+   "commit": "ffbd742267ff81ba8433177fac5d7fe22b6d68a9",
+   "sha256": "0h1689mzkcgnrnpjwlh3a9ks9vb0a8sj60nlyn9x2nkcalg6vsw4"
   },
   "stable": {
    "version": [
@@ -78270,14 +78370,14 @@
   "repo": "eschulte/org-ehtml",
   "unstable": {
    "version": [
-    20220110,
-    1917
+    20220216,
+    2054
    ],
    "deps": [
     "web-server"
    ],
-   "commit": "4db3756249b069310dabc0db43c7d9bbe55fb233",
-   "sha256": "05r4p1mxwy0a4xiyza3h2a7dy1w2px866pmvcg245xcsq77ikyz4"
+   "commit": "419932d6dbce193b0d90b1ccf9bf643169d21f52",
+   "sha256": "09cq6i2yzlpzmj5xcym6s8fji86kqcv7jy7r8d9p64fx74khh6jp"
   }
  },
  {
@@ -78446,8 +78546,8 @@
   "repo": "kidd/org-gcal.el",
   "unstable": {
    "version": [
-    20220119,
-    2142
+    20220222,
+    1915
    ],
    "deps": [
     "alert",
@@ -78456,8 +78556,8 @@
     "request",
     "request-deferred"
    ],
-   "commit": "6e26ae75aea521ea5dae67e34265da534bdad2d1",
-   "sha256": "1814w5bgf9zwvsga4926i002q2xg2qgyrmb2jlkc7gzv0j86ccv9"
+   "commit": "f7a3145fac5d7e637a7cc557e5196086061159e0",
+   "sha256": "0s4nai9c2s237cwy6649zsgqp6z75129ly43v0kibfvf4pgrbkxw"
   },
   "stable": {
    "version": [
@@ -78565,8 +78665,8 @@
   "repo": "Trevoke/org-gtd.el",
   "unstable": {
    "version": [
-    20220112,
-    437
+    20220213,
+    41
    ],
    "deps": [
     "f",
@@ -78575,8 +78675,8 @@
     "org-edna",
     "transient"
    ],
-   "commit": "835b316c7273e234383d1876d43ebc90a45ace59",
-   "sha256": "1wwx35smvnxdh3fq7077s98cmphfmwzcr1bcxawnnnh7dd9yxnrn"
+   "commit": "4e0fcf9a440e463d395f8f37efe8f1e691ed07dc",
+   "sha256": "0672pcklp743k8fz39hwf1zxb7f1sywdjsm8d8ha8r6h2rjbyl6k"
   },
   "stable": {
    "version": [
@@ -78770,16 +78870,16 @@
   "repo": "ahungry/org-jira",
   "unstable": {
    "version": [
-    20220129,
-    2049
+    20220225,
+    158
    ],
    "deps": [
     "cl-lib",
     "dash",
     "request"
    ],
-   "commit": "f424364605b21e5f1686f8ce2645afe543538684",
-   "sha256": "1646hr3mmg0ppa4xx9gjc1zkdryfs2m0j39cjhrfxcn05gsykklh"
+   "commit": "96e92585ed6f510f87363be3cb10d804f67e1b52",
+   "sha256": "1n1h3xby4998hdv6j4gllznzbhh4gl2wr9bm4235n859zypq9b4l"
   },
   "stable": {
    "version": [
@@ -78842,6 +78942,40 @@
   }
  },
  {
+  "ename": "org-journal-tags",
+  "commit": "11deda6e0bb96bf2e4542f18a40c16b874a512b9",
+  "sha256": "1j5zsm4lgqh3as0h74d759nldcb737lpwhw5dl77996y0ani5byf",
+  "fetcher": "github",
+  "repo": "SqrtMinusOne/org-journal-tags",
+  "unstable": {
+   "version": [
+    20220216,
+    801
+   ],
+   "deps": [
+    "magit-section",
+    "org-journal",
+    "transient"
+   ],
+   "commit": "f8ad372c5839eeb882d2bd256ddd740e900aad95",
+   "sha256": "0ky4am88azrnhync6zr3ilq9lf5hknymm6m0cg4iphklx0694v6m"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    0
+   ],
+   "deps": [
+    "magit-section",
+    "org-journal",
+    "transient"
+   ],
+   "commit": "16e7ad11ca3ff3085f3098f492c5cfb3f6ded253",
+   "sha256": "12l0r1ayi7qwczaaa9590rqfmib8rj0f287c0s7gphmvyds078j7"
+  }
+ },
+ {
   "ename": "org-kanban",
   "commit": "a9f3a10c126fa43a6fa60ee7f8e50c7a9661dbc1",
   "sha256": "1flgqa2pwzw6b2zm3j09i9bvz1i8k03mbwj6l75yrk29lh4njq41",
@@ -78849,16 +78983,16 @@
   "repo": "gizmomogwai/org-kanban",
   "unstable": {
    "version": [
-    20210315,
-    28
+    20220218,
+    1845
    ],
    "deps": [
     "dash",
     "org",
     "s"
    ],
-   "commit": "198ffa2066aadcdd9530dcc9b82cb5626c49e257",
-   "sha256": "1lh7hgzbkmhv7hqc0fvgvivkihg96c41ms1v7rcknnp3f1kj195h"
+   "commit": "5310e208d151f460f9b7e3961b4796842e91a3ae",
+   "sha256": "1d7v9vn9bli4lj59lbcldhplg46g79038j9avzicwgrysm74ybic"
   },
   "stable": {
    "version": [
@@ -78877,21 +79011,21 @@
  },
  {
   "ename": "org-kindle",
-  "commit": "29d08205620d51d4d76e3a4a6124884b5a6b9db7",
-  "sha256": "17sxvyh3z5pn2353iz2v6xjxp98yxwd4n7wkqsa9nwihsw5mmrrw",
-  "fetcher": "github",
-  "repo": "stardiviner/org-kindle",
+  "commit": "f5a3cc21b619d420c84161c82fac70f1b37cdda3",
+  "sha256": "18bp1p8hyzfp7vp5yz374sg5487i0a752b7cnr40avnq44j48d5y",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/org-kindle.git",
   "unstable": {
    "version": [
-    20210930,
-    1008
+    20220210,
+    1408
    ],
    "deps": [
     "cl-lib",
     "seq"
    ],
-   "commit": "fdba34a47b670226f46ad7b3a4db4edc7f7907e7",
-   "sha256": "17klypc5fk6v9ccnyixak9ixyvsfzv3ivm7j8aiv9dk3acjf4yrd"
+   "commit": "fadcfd62e254d0c45e87d63128a82a08ae21869a",
+   "sha256": "0f61xy0hv3pjbhx9wmhpbi43nis90rsx1ljw9kirp99h64gg0jgd"
   }
  },
  {
@@ -78917,20 +79051,20 @@
  },
  {
   "ename": "org-link-beautify",
-  "commit": "ee5e68e4aeea824af0abef8b6552852a8436b178",
-  "sha256": "0s0hrq3pr3c7mdmnl69spn7k8905y3j75wkzncnq8dsia9s5q7xi",
-  "fetcher": "github",
-  "repo": "stardiviner/org-link-beautify",
+  "commit": "acd9bcc86c90e507fcd76f16e7ab57d64114f8b4",
+  "sha256": "1k1rczs3w3cxh9fryd1qr1dnr5v2hhxad1vcyjrqvyqpbm1dqnlh",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/org-link-beautify.git",
   "unstable": {
    "version": [
-    20211229,
-    241
+    20220210,
+    1409
    ],
    "deps": [
     "all-the-icons"
    ],
-   "commit": "c755af07a9ca0c75e99ba06412d29829a7dfccc6",
-   "sha256": "1m0l864rw27myrdyby3706f8ir4znibkjyprpi83i5b04hkbyfbx"
+   "commit": "e8be9d886b5a9467244ed906ebb48089d9406aa2",
+   "sha256": "0rivgwi1570ybzz136q02kijv6cjbqx8ncwm71kas0gvcp6i73py"
   }
  },
  {
@@ -80049,8 +80183,8 @@
   "repo": "jkitchin/org-ref",
   "unstable": {
    "version": [
-    20220202,
-    1733
+    20220212,
+    1552
    ],
    "deps": [
     "avy",
@@ -80060,11 +80194,12 @@
     "f",
     "htmlize",
     "hydra",
+    "org",
     "parsebib",
     "s"
    ],
-   "commit": "9db9afb50407cdb1a8ec7c28bea69d0b6208fbdb",
-   "sha256": "1qs8c1sdz53pr2p53lqd1kx1747r4i2h9ynwi6dq6xab148zmdjg"
+   "commit": "b7d43f4c66baeea7cf9a1d3af8a3cc874a6abcea",
+   "sha256": "1hkqaq8ksda60bsp7qlpvpz66syms0qxs5ig693q3py372p6g9pp"
   },
   "stable": {
    "version": [
@@ -80140,28 +80275,28 @@
   "repo": "akirak/org-reverse-datetree",
   "unstable": {
    "version": [
-    20220119,
-    1444
+    20220222,
+    1041
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "341e829a730dd9eb1c14e2588fecb3ad7361f989",
-   "sha256": "0cj5ijf4bndx8n0ziwjp4q8wj779xhm12k0m0ld9hy21vn22z8l1"
+   "commit": "777bdff6df36a7b0f4e82a3caa0edd7cf92e888f",
+   "sha256": "1124ns6d1rvh6p96fkmszpx1b9aiy2rcbffiswa2rmaa188c4d6b"
   },
   "stable": {
    "version": [
     0,
     3,
-    6
+    8
    ],
    "deps": [
     "dash",
     "org"
    ],
-   "commit": "4162756a7f0fb6f4734527ad5d6b879c3523ff70",
-   "sha256": "1jrbz367m3ss62kl9bq86piim9czvi8nky5g8iwb0hs3m9h9j3m7"
+   "commit": "777bdff6df36a7b0f4e82a3caa0edd7cf92e888f",
+   "sha256": "1124ns6d1rvh6p96fkmszpx1b9aiy2rcbffiswa2rmaa188c4d6b"
   }
  },
  {
@@ -80211,8 +80346,8 @@
   "repo": "org-roam/org-roam",
   "unstable": {
    "version": [
-    20220131,
-    654
+    20220224,
+    1711
    ],
    "deps": [
     "dash",
@@ -80221,8 +80356,8 @@
     "magit-section",
     "org"
    ],
-   "commit": "eed1df90f571b19cae1581e7f5d938892b00c24d",
-   "sha256": "1pd887c4g9rykfz4sf7n6845b9md1sh64bychjbbwbj63375xvsm"
+   "commit": "c8a360afdd96a99c14de1bd22f5f9cd16f2580a6",
+   "sha256": "1cj3xwny146f3likhcpxwkvyxflyq6z750m6ig5jjrgyq89gqrfy"
   },
   "stable": {
    "version": [
@@ -80250,15 +80385,15 @@
   "repo": "org-roam/org-roam-bibtex",
   "unstable": {
    "version": [
-    20220117,
-    801
+    20220213,
+    1609
    ],
    "deps": [
     "bibtex-completion",
     "org-roam"
    ],
-   "commit": "3ac2445f431bc39aa0ca5abfc80e28c0c06f0738",
-   "sha256": "07qiis3c7ypfvy6v6b6wsj993yp41cw8yi66gc0ssmg053vymz5p"
+   "commit": "efdac6fe4134c33f50b06a0a6d192003d0e5094c",
+   "sha256": "13hin77krfwaxfc7bh9bkp2h1kzn1ksng46j129yz3996gv55k1r"
   },
   "stable": {
    "version": [
@@ -80384,10 +80519,10 @@
  },
  {
   "ename": "org-seek",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "04ay4abm03kn15cn45ldrzh2rw6gr6ia3qrj7hn5crd75ppwvln7",
-  "fetcher": "github",
-  "repo": "stardiviner/org-seek.el",
+  "commit": "7b9ce2952ee260d769d247ab20f7c7909042a812",
+  "sha256": "1nck8j65zchaqxq4vkq1flaw04jwv554cfnha2gmx3c9j47af3bi",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/org-seek.el.git",
   "unstable": {
    "version": [
     20161217,
@@ -80556,27 +80691,27 @@
   "repo": "akirak/org-starter",
   "unstable": {
    "version": [
-    20211230,
-    1606
+    20220218,
+    743
    ],
    "deps": [
     "dash"
    ],
-   "commit": "6b1b3b045390bf1cff8214ece54da07c7a0aa8ad",
-   "sha256": "0zih4bfncjkkrx9v4f88a26kz41vgd7wvvfm2is5wk93nbcrazz4"
+   "commit": "2b06b02b8008dde8cfad69b679f89742d80aa4e6",
+   "sha256": "1x6kcwyyixgi92yq7cmx2bhcbh342acwr1c5nw31mi03v6hczjzk"
   },
   "stable": {
    "version": [
     0,
     2,
-    9
+    9,
+    1
    ],
    "deps": [
-    "dash",
-    "dash-functional"
+    "dash"
    ],
-   "commit": "49237ef8d174a15a594d984438cebe23ffcf54df",
-   "sha256": "0rqxb2ndym6pr7pzszbvsd04h0gnyw299vh15kr6rd5bbikfqxwm"
+   "commit": "338650e8fd4cb02aad68939f4baa3269b73b233c",
+   "sha256": "1fh2ryli8xyvnndjhk3miynkmd5xrdinlqybkcglwd6v48yd7c5c"
   }
  },
  {
@@ -80594,21 +80729,22 @@
     "org-starter",
     "swiper"
    ],
-   "commit": "6b1b3b045390bf1cff8214ece54da07c7a0aa8ad",
-   "sha256": "0zih4bfncjkkrx9v4f88a26kz41vgd7wvvfm2is5wk93nbcrazz4"
+   "commit": "2b06b02b8008dde8cfad69b679f89742d80aa4e6",
+   "sha256": "1x6kcwyyixgi92yq7cmx2bhcbh342acwr1c5nw31mi03v6hczjzk"
   },
   "stable": {
    "version": [
     0,
     2,
-    9
+    9,
+    1
    ],
    "deps": [
     "org-starter",
     "swiper"
    ],
-   "commit": "49237ef8d174a15a594d984438cebe23ffcf54df",
-   "sha256": "0rqxb2ndym6pr7pzszbvsd04h0gnyw299vh15kr6rd5bbikfqxwm"
+   "commit": "338650e8fd4cb02aad68939f4baa3269b73b233c",
+   "sha256": "1fh2ryli8xyvnndjhk3miynkmd5xrdinlqybkcglwd6v48yd7c5c"
   }
  },
  {
@@ -80838,25 +80974,21 @@
  },
  {
   "ename": "org-tag-beautify",
-  "commit": "faa48723cbc4486c2d8262d00aa9967bfad81738",
-  "sha256": "1dn164z53c38bfzx8m22dynfx2wlw8cgcm63q6kvz5xsxqqwwsmp",
-  "fetcher": "github",
-  "repo": "stardiviner/org-tag-beautify",
+  "commit": "e06ae4c7cd46c2aa88782726e3637842f23932ca",
+  "sha256": "1rhmg2ff7sk1drzgfzibadin2kd1hlwmxy2d71rcy9ibmzhk8x0f",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/org-tag-beautify.git",
   "unstable": {
    "version": [
-    20220111,
-    826
+    20220224,
+    358
    ],
    "deps": [
     "all-the-icons",
     "org-pretty-tags"
    ],
-   "commit": "98f419d81fb71d39c097c1a58f14923e9c705ba0",
-   "error": [
-    "exited abnormally with code 1\n",
-    "",
-    "error: unable to download 'https://github.com/stardiviner/org-tag-beautify/archive/98f419d81fb71d39c097c1a58f14923e9c705ba0.tar.gz': HTTP error 404 ('')\n\n       response body:\n\n       Not Found\n"
-   ]
+   "commit": "c9bfe0d84f1ea6aa18febf098ed47dbf7373782b",
+   "sha256": "1ldc8calzxszqr8zp3fq5ix72pszg7wjh48a7wmj2kzd6p56akh6"
   }
  },
  {
@@ -81226,11 +81358,11 @@
   "repo": "cadadr/elisp",
   "unstable": {
    "version": [
-    20210414,
-    1844
+    20220220,
+    1757
    ],
-   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
-   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
+   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
+   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
   }
  },
  {
@@ -81258,6 +81390,21 @@
   }
  },
  {
+  "ename": "org-view-mode",
+  "commit": "330276d0ed7b053a96f428824c8746abe6999518",
+  "sha256": "1zijkjp1iszsjfbiclncqh6wsp9nfql109c4171pqsr55xwx0n3x",
+  "fetcher": "github",
+  "repo": "amno1/org-view-mode",
+  "unstable": {
+   "version": [
+    20220218,
+    2106
+   ],
+   "commit": "88321917b095a8cbabfa8327c915bd46eb741750",
+   "sha256": "05yll158r3zxs45z3radpvnwqz0vak07l26g6595crpigjay3q03"
+  }
+ },
+ {
   "ename": "org-visibility",
   "commit": "74651e72ddac645b792786d7c590180298201da7",
   "sha256": "0cwddhkk5wkff1ss52amifaybjk7lwrb04d4c48mgx0lyihdks76",
@@ -81342,16 +81489,16 @@
   "repo": "akhramov/org-wild-notifier.el",
   "unstable": {
    "version": [
-    20210330,
-    304
+    20220221,
+    928
    ],
    "deps": [
     "alert",
     "async",
     "dash"
    ],
-   "commit": "772806f9d46fb93cabe9409c7a559eb7b9cda3d3",
-   "sha256": "0cp7gr0b83s830q1fzd4gwwz4x1n5cyh4r4v73w2cfml3kqf8nz1"
+   "commit": "860392e309e75474ae03128ce52b6592bd28027a",
+   "sha256": "1npl118j457zcsmn2b4vsx6kmz8v6k8czrqgmi2fl7aql5xhvp6j"
   },
   "stable": {
    "version": [
@@ -81560,8 +81707,8 @@
     "dash",
     "s"
    ],
-   "commit": "a228ebcf408de7096e5cd3a62b14087432e0afb1",
-   "sha256": "146xp2jsk7a973g0dn8in1sad6lp1ks7s5ma6jld4h26anprvj1g"
+   "commit": "32f6cfc7265cf24ebb5361264e8c1b61a07e74df",
+   "sha256": "0dja2mwzzrn64c2qxvf325x88bwch7s29qhpv6jb4rn1143d4qyf"
   },
   "stable": {
    "version": [
@@ -81653,8 +81800,8 @@
     "ht",
     "s"
    ],
-   "commit": "8d90885d5a0cb5ad57b5202e2046bd3a0f3ce1f4",
-   "sha256": "1rp4dqm1qr6ndhrs7b06jhsy2ch8n9a82yma7abaz9hjdx6a6gz3"
+   "commit": "9570a0d438cd41332e273a057cd697de859a39ec",
+   "sha256": "1b7wn7b50nrps72v25c644bm19j7z0d2scpdh1bjmk1zz0mdzazx"
   },
   "stable": {
    "version": [
@@ -81712,28 +81859,28 @@
   "repo": "magit/orgit",
   "unstable": {
    "version": [
-    20220107,
-    1206
+    20220211,
+    25
    ],
    "deps": [
     "magit",
     "org"
    ],
-   "commit": "66367d6bfc5e00726fb74f7cd20c32175ab8521b",
-   "sha256": "0lc2lk9c7b92c1cna2pyb88x9fa4bydcqkp4zcn0khpdv54fmszq"
+   "commit": "42b7f682b3e4e487ff209a44221a729921241133",
+   "sha256": "0vns8fbavfgyazlhbvwgc17w3v5iaf7ng92na2sl4lvc33rk941j"
   },
   "stable": {
    "version": [
     1,
-    7,
-    2
+    8,
+    0
    ],
    "deps": [
     "magit",
     "org"
    ],
-   "commit": "66367d6bfc5e00726fb74f7cd20c32175ab8521b",
-   "sha256": "0lc2lk9c7b92c1cna2pyb88x9fa4bydcqkp4zcn0khpdv54fmszq"
+   "commit": "0b49d7a869b8fef3537a75df4db693ca3e3935a3",
+   "sha256": "1hjfsj12qx06m8ji4l2sg502a55sabar4h6c2b2i9nmp1xf5889l"
   }
  },
  {
@@ -81744,8 +81891,8 @@
   "repo": "magit/orgit-forge",
   "unstable": {
    "version": [
-    20210615,
-    1516
+    20220211,
+    26
    ],
    "deps": [
     "forge",
@@ -81753,14 +81900,14 @@
     "org",
     "orgit"
    ],
-   "commit": "365b75609a9454dccf5681eb6075ca53bd32af85",
-   "sha256": "1y7rywlqhsvkism9dmzlb3sijd8isp6qqhgba79aqgk9wz593rkv"
+   "commit": "36e57a0359992e02312f453b8086512e77beb150",
+   "sha256": "0mrq7mrgvj5r0bmxa4365xycfwp6m42mdqi5l5pljr5xz6k3rnc4"
   },
   "stable": {
    "version": [
     0,
     1,
-    2
+    3
    ],
    "deps": [
     "forge",
@@ -81768,8 +81915,8 @@
     "org",
     "orgit"
    ],
-   "commit": "365b75609a9454dccf5681eb6075ca53bd32af85",
-   "sha256": "1y7rywlqhsvkism9dmzlb3sijd8isp6qqhgba79aqgk9wz593rkv"
+   "commit": "e11df20bfe500220bf48423fcc1529cd3ccb6bf2",
+   "sha256": "1s87svins72m9cj89xxpmkws85670djkx57pd90zqcs20qb788f2"
   }
  },
  {
@@ -82411,11 +82558,11 @@
   "repo": "articuluxe/outrespace",
   "unstable": {
    "version": [
-    20190724,
-    1553
+    20220218,
+    1936
    ],
-   "commit": "d8c1619ec81fd3f4e728212a3526cd13bc2b0147",
-   "sha256": "0rcr85slklpaqhx5j8agd8yz6lg66qisniqlbz6zm4vvszqh0r4a"
+   "commit": "4b6f8a103b2ce76bb0638eac9356c462402b0665",
+   "sha256": "0dsiid2g93cc9k1385igbn26rqmdn1nr11l3gfaikcqbrh93pdgw"
   }
  },
  {
@@ -82820,14 +82967,14 @@
   "repo": "kaushalmodi/ox-hugo",
   "unstable": {
    "version": [
-    20220204,
-    1606
+    20220225,
+    358
    ],
    "deps": [
     "org"
    ],
-   "commit": "e52b7e50db825027b5e770c433793b3284ce4367",
-   "sha256": "0gfzkzlfl5119nxlrc8dm1y6gqppvqc21ljy68nz2npp6fcswkb7"
+   "commit": "8503350603c10d1e264f5599ae288fd71725919f",
+   "sha256": "1a5idw9p83m3jnf8s3f0lg28pw5059n05q1m4j5d92wajxlxf2wv"
   },
   "stable": {
    "version": [
@@ -83179,14 +83326,14 @@
   "repo": "yjwen/org-reveal",
   "unstable": {
    "version": [
-    20220205,
-    1046
+    20220216,
+    1506
    ],
    "deps": [
     "org"
    ],
-   "commit": "2f1509cc145c3604a0b17a306603f231d067ea16",
-   "sha256": "06p6r86way5cxvp6z65j5hdmv09frk69qly2c02zg64xxymc8n55"
+   "commit": "fed9be1f4c317c08ca2372bd45cb9d1bcf8a3f7e",
+   "sha256": "1vmkj60lmah79r62k2gigkblilkw21ciyj324iwvk6hqmaahw6km"
   }
  },
  {
@@ -83203,8 +83350,8 @@
    "deps": [
     "org"
    ],
-   "commit": "c9c1be3ff0ac2464f0d514939887f34f9b4198b2",
-   "sha256": "005qrg580328l4h67i0mm2r540dknmn0bnqyy2vdpk75qc2rirca"
+   "commit": "0849028a2e4a274bfb0fc85d9538203ddf72a9e8",
+   "sha256": "1syzqc1lhnpkrzzd2hwxmaqr31dn44gcqwy5db44y8fr6nkrj6n0"
   }
  },
  {
@@ -83616,14 +83763,14 @@
   "repo": "melpa/package-build",
   "unstable": {
    "version": [
-    20220115,
-    2346
+    20220210,
+    1334
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "415552b9548fb4fd929a62ec09563e94dfbec5c9",
-   "sha256": "0y5b6y0a39x82qrg7bjk1gs5xn0qj68gywz2wkxkh5g4m90kylsg"
+   "commit": "032e9bd086029b2fdff09c3c2e606e29682e1fb1",
+   "sha256": "0jjb1gl6qqkrvf4v03fp9sv69xc6qh3lc65blms46zkx64995c6r"
   },
   "stable": {
    "version": [
@@ -83660,27 +83807,27 @@
   "repo": "purcell/package-lint",
   "unstable": {
    "version": [
-    20211122,
-    1152
+    20220213,
+    1457
    ],
    "deps": [
     "cl-lib",
     "let-alist"
    ],
-   "commit": "b5f5554ec38ec2a4d5ef49a0ad9f57f6825d9af9",
-   "sha256": "1ic1a0j8gj930ssc623vi55jflyfw52gb9zkf3yg51w43cw4isfn"
+   "commit": "873025ffc85b5e40ec361e953218fa09c6ebd621",
+   "sha256": "10sinzpnk41xvdb1va9vv6nnwyyryvmyrvxxwq6xska9ab580g6y"
   },
   "stable": {
    "version": [
     0,
-    15
+    16
    ],
    "deps": [
     "cl-lib",
     "let-alist"
    ],
-   "commit": "cfe5aa2c8eeb2f6df38cf97a2315ac8f8ae41696",
-   "sha256": "1cn713g90zyjfq225yvg14c1qshslpi4466m3w102l5g57p8xv44"
+   "commit": "7a83a138e6546f4c4a9988ba6dddc5339fbe7272",
+   "sha256": "0srqcrhbdmd39jdsvh8k3nbrkqrl4nlic59dp5bal5vj495j7126"
   }
  },
  {
@@ -83697,19 +83844,19 @@
    "deps": [
     "package-lint"
    ],
-   "commit": "b5f5554ec38ec2a4d5ef49a0ad9f57f6825d9af9",
-   "sha256": "1ic1a0j8gj930ssc623vi55jflyfw52gb9zkf3yg51w43cw4isfn"
+   "commit": "873025ffc85b5e40ec361e953218fa09c6ebd621",
+   "sha256": "10sinzpnk41xvdb1va9vv6nnwyyryvmyrvxxwq6xska9ab580g6y"
   },
   "stable": {
    "version": [
     0,
-    15
+    16
    ],
    "deps": [
     "package-lint"
    ],
-   "commit": "cfe5aa2c8eeb2f6df38cf97a2315ac8f8ae41696",
-   "sha256": "1cn713g90zyjfq225yvg14c1qshslpi4466m3w102l5g57p8xv44"
+   "commit": "7a83a138e6546f4c4a9988ba6dddc5339fbe7272",
+   "sha256": "0srqcrhbdmd39jdsvh8k3nbrkqrl4nlic59dp5bal5vj495j7126"
   }
  },
  {
@@ -83927,6 +84074,50 @@
   }
  },
  {
+  "ename": "paimon",
+  "commit": "bb634388ab592171fbe2b9066d52e1f0f31ebbf7",
+  "sha256": "1rqhi45m4pz1vjm6q9h91p5z00751q9dkrd845rl6cpdr2nsr270",
+  "fetcher": "github",
+  "repo": "r0man/paimon.el",
+  "unstable": {
+   "version": [
+    20220218,
+    1904
+   ],
+   "deps": [
+    "aio",
+    "closql",
+    "emacsql",
+    "emacsql-sqlite",
+    "f",
+    "ht",
+    "request",
+    "transient"
+   ],
+   "commit": "a05e38a6303239d899afb116763f4fa06f2088dc",
+   "sha256": "08ab0x44fz44gxr9gwyh8zck8sf571snfl7pmj995dwbq27pqbjd"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    1
+   ],
+   "deps": [
+    "aio",
+    "closql",
+    "emacsql",
+    "emacsql-sqlite",
+    "f",
+    "ht",
+    "request",
+    "transient"
+   ],
+   "commit": "a05e38a6303239d899afb116763f4fa06f2088dc",
+   "sha256": "08ab0x44fz44gxr9gwyh8zck8sf571snfl7pmj995dwbq27pqbjd"
+  }
+ },
+ {
   "ename": "pair-tree",
   "commit": "ca9422233229d8703641d87d9250ad3f38c11fd7",
   "sha256": "0rv6yp2vzcvnjkrlihm2a2a62879rcqwnzw7ph535drvwfl0inws",
@@ -84142,8 +84333,8 @@
     20200510,
     5
    ],
-   "commit": "8a3b529d5ece261a8847298ea03ed35615cc9bfa",
-   "sha256": "16zalqjd2llwkp7v0218crgf3k34py8zx6lj6z7i3kbmxm9nb27q"
+   "commit": "350af0e5d53307c900e4f8b2617f3852f51a74d2",
+   "sha256": "097pd9ihnzjiaxbzrabcw0016wdwrljs9b5s6cbkrrbgicngb8vj"
   }
  },
  {
@@ -84334,10 +84525,10 @@
    "version": [
     1,
     0,
-    7
+    8
    ],
-   "commit": "6790c7fdec490a69e7d460c0bea36ad343776f9b",
-   "sha256": "1zyrrrr8rmksr3rfsv96psk1z15wbbx1bvcfp3hf5ciyc2n79000"
+   "commit": "4f6ad761a7d508bb6b3e6539559929d2706caa10",
+   "sha256": "13d8psgd2j3vqmgwwf62gwyq7h6qlj8rrs31fxwjqmzzdblwqy1y"
   }
  },
  {
@@ -84434,14 +84625,14 @@
   "repo": "jcs-elpa/parse-it",
   "unstable": {
    "version": [
-    20210306,
-    821
+    20220214,
+    1531
    ],
    "deps": [
     "s"
    ],
-   "commit": "b9b77285fdef7936baea5447b37651f67c51f041",
-   "sha256": "1xg829a0wjrjh64lzccr65j5sr1zh9wzvbid65f0c733nyizcy0f"
+   "commit": "fbb88260179dd92264325dee37d7898619407558",
+   "sha256": "0ysgwj56wj8cbm8lrn24r89rbsxgc3s8idvx9x5apxddcjin80ik"
   },
   "stable": {
    "version": [
@@ -84517,20 +84708,20 @@
   "repo": "clojure-emacs/parseclj",
   "unstable": {
    "version": [
-    20211013,
-    453
+    20220207,
+    1351
    ],
-   "commit": "a8c4cf30fb68b66ae51541462a8b21753229a6e5",
-   "sha256": "0n0m3xc2dawgdhb68zznpsbzbbvf9fwgf9v8pzzwa2jncgi1yhh0"
+   "commit": "90595049634549e6d8872f719b13e9555897d17b",
+   "sha256": "0ifc9gyp7hr97ssnsqxiwrzmldqysz874crlg6jm4iy5l9fyls22"
   },
   "stable": {
    "version": [
     1,
-    0,
-    6
+    1,
+    0
    ],
-   "commit": "a8c4cf30fb68b66ae51541462a8b21753229a6e5",
-   "sha256": "0n0m3xc2dawgdhb68zznpsbzbbvf9fwgf9v8pzzwa2jncgi1yhh0"
+   "commit": "90595049634549e6d8872f719b13e9555897d17b",
+   "sha256": "0ifc9gyp7hr97ssnsqxiwrzmldqysz874crlg6jm4iy5l9fyls22"
   }
  },
  {
@@ -84541,28 +84732,28 @@
   "repo": "clojure-emacs/parseedn",
   "unstable": {
    "version": [
-    20211013,
-    452
+    20220207,
+    1352
    ],
    "deps": [
     "map",
     "parseclj"
    ],
-   "commit": "e5ba280d1fb7b408d54062d4eac545326e850172",
-   "sha256": "1xp2d42yvqkimb7a15bv89bj0124lljw9cb36g49m13d7ny4fafn"
+   "commit": "ea7b5281ec80aca0bd1cc93a348aebb302497339",
+   "sha256": "01j8nrkcm2s0ps277b5zb4pys29lk4cq49rlcqpj19gbfpkwcvdv"
   },
   "stable": {
    "version": [
     1,
-    0,
-    6
+    1,
+    0
    ],
    "deps": [
     "map",
     "parseclj"
    ],
-   "commit": "e5ba280d1fb7b408d54062d4eac545326e850172",
-   "sha256": "1xp2d42yvqkimb7a15bv89bj0124lljw9cb36g49m13d7ny4fafn"
+   "commit": "ea7b5281ec80aca0bd1cc93a348aebb302497339",
+   "sha256": "01j8nrkcm2s0ps277b5zb4pys29lk4cq49rlcqpj19gbfpkwcvdv"
   }
  },
  {
@@ -84666,11 +84857,11 @@
   "repo": "juergenhoetzel/password-mode",
   "unstable": {
    "version": [
-    20210323,
-    1816
+    20220222,
+    1757
    ],
-   "commit": "114b721ebbf384b6af6fd46797e83896a9e14aca",
-   "sha256": "1zwc3wk770plfwlywqwiviqv9hiskf3fsl2nv9zp4gmvphzrqvql"
+   "commit": "456a01e959140cb070e77bce5032a6885c7b7ae0",
+   "sha256": "08achm8xxpadkqk0jk6nk0x8zk25xwn59xmvybj1rsmm4apnqsqx"
   }
  },
  {
@@ -85223,16 +85414,16 @@
   "repo": "vedang/pdf-tools",
   "unstable": {
    "version": [
-    20220125,
-    1708
+    20220214,
+    344
    ],
    "deps": [
     "let-alist",
     "nadvice",
     "tablist"
    ],
-   "commit": "72ef774320d9eacd4d79b5016e9e989ab176afba",
-   "sha256": "15da6k648r0ir515bpyqf88wg7f8rxqz60zk88c4277ywa61z1zq"
+   "commit": "326552eef71ae6d53e215c46be5bf532575b7abb",
+   "sha256": "1gvaw0684svv9v294f8zgmqa2ym2wa3gymn9y9v2slhamf51r4vk"
   },
   "stable": {
    "version": [
@@ -85451,20 +85642,20 @@
   "repo": "Fanael/persistent-scratch",
   "unstable": {
    "version": [
-    20200921,
-    2309
+    20220218,
+    810
    ],
-   "commit": "57221e5fdff22985c0ea2f3e7c282ce823ea5932",
-   "sha256": "0fp9kqpbphzafd28xd30n7j4mibki56fg4xmfv13pbs459awrzdh"
+   "commit": "4e159967801b75d07303221c4e5a2b89039c6a11",
+   "sha256": "1f4s2rjgylqxjnx2885hc58215k3j162v0qlk2agq6m0hk9nn6fb"
   },
   "stable": {
    "version": [
     0,
     3,
-    5
+    6
    ],
-   "commit": "57221e5fdff22985c0ea2f3e7c282ce823ea5932",
-   "sha256": "0fp9kqpbphzafd28xd30n7j4mibki56fg4xmfv13pbs459awrzdh"
+   "commit": "4e159967801b75d07303221c4e5a2b89039c6a11",
+   "sha256": "1f4s2rjgylqxjnx2885hc58215k3j162v0qlk2agq6m0hk9nn6fb"
   }
  },
  {
@@ -85539,11 +85730,11 @@
   "repo": "Bad-ptr/persp-mode.el",
   "unstable": {
    "version": [
-    20201128,
-    2015
+    20220206,
+    1742
    ],
-   "commit": "298df111f081b5925f0aa0126a1b8d334117e0a2",
-   "sha256": "0r2j8zs6hwpfvwd6av35izlyd3kplnvc4c941vjjq7sm6j95q6k8"
+   "commit": "7a594a3d8f1c4ba9234dcd831a589e87f3f4ae86",
+   "sha256": "0ckcnqg2fn4m5zp06jlw5cj81clizrm8cxjiwz5rd4d9m9lwdrgd"
   },
   "stable": {
    "version": [
@@ -85672,8 +85863,8 @@
     "exwm",
     "perspective"
    ],
-   "commit": "541946caa0359c14c90da58196bec7baed122a46",
-   "sha256": "0mcrvv9mhg0cfkcp64hkdd9wh9j04hw0d9dz1ghafa4h6hf3azfl"
+   "commit": "8afdbf894a888854ce9dfbe0ad2a5dc41f75ecb8",
+   "sha256": "191xm4l5id480bcf2nlliacrn2a9qrxs18pfkd4sk4bn9xxz74dx"
   },
   "stable": {
    "version": [
@@ -86593,8 +86784,8 @@
     20210629,
     1257
    ],
-   "commit": "1959d2d5e09fde5244f9f945fec043cdffd5d37e",
-   "sha256": "00iyyvqs28l0qgzwm57r6qibdk98w4sdr4ilxsb1f2lrir75q6ir"
+   "commit": "d8ce5dc595a053e80debf6c1e330995c739a8b05",
+   "sha256": "03m9mnl19rwkpk7yi86g39wfnngz377kj8ihd49xxscgi4k1nd55"
   },
   "stable": {
    "version": [
@@ -86746,15 +86937,15 @@
   "repo": "arifer612/pippel",
   "unstable": {
    "version": [
-    20211205,
-    1711
+    20220225,
+    1128
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "1e96053ffdcbf64e4c8a0a622feddc3cb0a82ded",
-   "sha256": "00rnzy7r397k6dwsflnv5lc7x5hcnkr4g784zj3bs8rq64h7dcz0"
+   "commit": "682a40af266f395cf39862ad0bfb30152ddee204",
+   "sha256": "1gb7nf047gm57jdggj49ri46hgz8gphqy58abniqlqxjcx9zp4z7"
   }
  },
  {
@@ -87954,11 +88145,11 @@
   "repo": "polymode/polymode",
   "unstable": {
    "version": [
-    20220125,
-    1433
+    20220225,
+    1521
    ],
-   "commit": "f2a2b9772722aaadf13bd4d35652637b495952d4",
-   "sha256": "1n6jj3lz72kh2kqp53fx7h2ggbh6c4s96v6cyhwjs4sls40xrbjl"
+   "commit": "8ba56f841cbbee102e4fd00dff0f88646907bd09",
+   "sha256": "0vz52wagbpjg3c2br3cl9zhciq74c1is81crkrxbcdwsms1bwhiw"
   },
   "stable": {
    "version": [
@@ -87997,16 +88188,16 @@
   "repo": "SqrtMinusOne/pomm.el",
   "unstable": {
    "version": [
-    20211219,
-    728
+    20220208,
+    1648
    ],
    "deps": [
     "alert",
     "seq",
     "transient"
    ],
-   "commit": "596eed778fa30e7b33910f015543eda13abd1888",
-   "sha256": "0arhl9x9d4d1s4x5qcf1kn9hkwgsrs6sjn0rky10pgja7gqh6214"
+   "commit": "6dc3b5f913908bca8db85e4b2161a1de76c60a58",
+   "sha256": "1rxlz0l58g2vvlhf0y3s7abfph3nplvm7q4vrymgj1s251kjxmmi"
   },
   "stable": {
    "version": [
@@ -88182,10 +88373,10 @@
   "repo": "karthink/popper",
   "unstable": {
    "version": [
-    20220126,
-    844
+    20220216,
+    1906
    ],
-   "commit": "a50edecacf2939fc50ad2bc48f1015486a09f885",
+   "commit": "7b02960025fb89384f78ba12ad03cae0ddf1e411",
    "sha256": "0p12zz2lhm10yikhnq52z66xwy64gcvig42bzajv5q7x09qvvna7"
   },
   "stable": {
@@ -88208,8 +88399,8 @@
     20211231,
     1823
    ],
-   "commit": "ec3d3169a4d60b0374198580e31b6c59f51ab08a",
-   "sha256": "12ymj71fsps0q4rk2hcj80nf93i5iq93sg0fw6dkn8swdvmhp1lz"
+   "commit": "37a04117ac83b3ed24a2cba894443a32795c2f1a",
+   "sha256": "0vyg6va1wzl0h9sd85a2zy922w6q8za0fq6v07hcq956lhh6wi6y"
   },
   "stable": {
    "version": [
@@ -88608,15 +88799,15 @@
   "repo": "SavchenkoValeriy/emacs-powerthesaurus",
   "unstable": {
    "version": [
-    20211127,
-    1502
+    20220221,
+    1004
    ],
    "deps": [
     "request",
     "s"
    ],
-   "commit": "02c9d11a3f407023aa7c7b080bb9f8a5f5e7cd7a",
-   "sha256": "134m24v9xxnnsr180sx9li938jn5lx7kny2095fpl90qgpn3jd5q"
+   "commit": "810a25056c623f304de6a72123652d9c35936718",
+   "sha256": "13pzfqjh734lma8yfmp6a7r0j4a8jk3r0dc38hlx1vxwp0pw5ags"
   }
  },
  {
@@ -88659,14 +88850,11 @@
   "repo": "conao3/ppp.el",
   "unstable": {
    "version": [
-    20200812,
-    844
-   ],
-   "deps": [
-    "leaf"
+    20220211,
+    1529
    ],
-   "commit": "86dad69c3a7dae770f6b99285647dff2aad81930",
-   "sha256": "01c82h5j7yggsbhbrlbcwl562mpd79c0i878129r4ivvhka3nha3"
+   "commit": "d5d854c3006dfd268e62c7f91c2aad6f86a505b5",
+   "sha256": "1brx3fz2amsrir6qzxwj4w8v0hhib5zcnyc5l00y5k7mrnaklh86"
   },
   "stable": {
    "version": [
@@ -88686,8 +88874,8 @@
   "repo": "blahgeek/emacs-pr-review",
   "unstable": {
    "version": [
-    20211219,
-    224
+    20220213,
+    1524
    ],
    "deps": [
     "ghub",
@@ -88695,8 +88883,8 @@
     "magit-section",
     "markdown-mode"
    ],
-   "commit": "bae2d8aff61cbe05da6f3f41e6cf854ece4a41f0",
-   "sha256": "1p9vbhsal667cjh36wmww95c6c3srp3hqi2yfq9srmplma7ffc5n"
+   "commit": "5c44b06e314a43a30de8323cae75b1e87594f991",
+   "sha256": "1f2lrwbb85i31vcjin9b0gi89m2zn9w2npwi1sqp0bjd0ndimwp5"
   }
  },
  {
@@ -88972,8 +89160,8 @@
     20220124,
     16
    ],
-   "commit": "ea3daaf6a526a1ad4ae385066c99fd9643da7f94",
-   "sha256": "0irnp6v1i930s8fh1iqmbs4amyia9qdnggq7n5hxfi4ni0p66yqq"
+   "commit": "4153fed2c83faad90803f57a3c9364609eb7b3eb",
+   "sha256": "0s3mms1lvid47g77pp6681zrnvx1v0s08xyk3272nja5w16fizyh"
   }
  },
  {
@@ -89281,8 +89469,8 @@
     20210715,
     1213
    ],
-   "commit": "8c76f26c667a9748835a86ded0c7fc8f1c558b4c",
-   "sha256": "05fxlia6bqf9jcx963fa0kn06va256dj7hmdli04vlp8h748sljj"
+   "commit": "15b58b2220b6a09922164cedc0892f57ad148785",
+   "sha256": "1dpx6i0fhkkiqcx4la21grsyhkzcwp02qzpa7j9hc984yv1s1973"
   },
   "stable": {
    "version": [
@@ -89438,11 +89626,11 @@
   "repo": "bbatsov/projectile",
   "unstable": {
    "version": [
-    20220203,
-    1326
+    20220211,
+    932
    ],
-   "commit": "df3d73e1f0ff625a09196ff3ba6f4be82a53fb3b",
-   "sha256": "1iy5i8mdvzgfirsv5k59v8i45fcm6cimlfl546hgzb9ygl6l15vr"
+   "commit": "0243ad7dc96072126fc6c23e48184a0419bab028",
+   "sha256": "0ryvhffvf8dv0x6g1ianisw7ff8zxvcdz5x043fld33mykfp716h"
   },
   "stable": {
    "version": [
@@ -89844,11 +90032,11 @@
   "repo": "ProofGeneral/PG",
   "unstable": {
    "version": [
-    20211217,
-    1753
+    20220209,
+    1726
    ],
-   "commit": "a61a1d8e5ffa610b794535995d58adf18e9ec47b",
-   "sha256": "1c6216yz2wb9c5yn5rq6jr9pwxb44vhvgnsi0wsh0rcccm24mdp8"
+   "commit": "df19c7ba0eadf9f47e9dd757a7d0350fc967da99",
+   "sha256": "0xh9x6b4fmbnvs8awdkg74msabchqf7lx9w3z14qwfzn4jjzqwlb"
   }
  },
  {
@@ -89943,8 +90131,8 @@
     20211013,
     1726
    ],
-   "commit": "3ea30d80847cd9561db570ae7f673afc15523545",
-   "sha256": "1yh2ayksfc3x6kavix8nk4y51gpajjrrf5cd9b18rkw2rn5xnb55"
+   "commit": "6a77c9bab4bd3c8e10096694469b203bc211246f",
+   "sha256": "1zi75h0a22yzjb8d408lgika9s9h10z899nxc45dr77xqpfcfww1"
   },
   "stable": {
    "version": [
@@ -89987,17 +90175,17 @@
  },
  {
   "ename": "proxy-mode",
-  "commit": "25224d3bcdb625314e931d5acc22f60c7192a84b",
-  "sha256": "0ldjfmxn8k8bzvdrlsfpijsmgn754aza54by5d59k7a1xn6d37mp",
-  "fetcher": "github",
-  "repo": "stardiviner/proxy-mode",
+  "commit": "6f61331b1d9ca910f01bded48023bea5f8baeb25",
+  "sha256": "14g6r3vvv56h9b84cc1lcri2xavifc6n0gq1qyi9k9qjls1mnijl",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/proxy-mode.git",
   "unstable": {
    "version": [
-    20201214,
-    727
+    20220210,
+    1410
    ],
-   "commit": "dbf163413e9e404c652cc0ea7185c623016a38e1",
-   "sha256": "1c5m0gb4qms28vahvi5kam1qf1hnpd9v1f6cwxiqdj8aka9ll8sd"
+   "commit": "620e48c6afaf760d0ee9f5bdf583fd91cd9d0ec6",
+   "sha256": "0xlla1ymqgpb15bycxl4xijlgcwir01krcvsyhxl4anmrpj2c0hm"
   }
  },
  {
@@ -91034,8 +91222,8 @@
     20210411,
     1931
    ],
-   "commit": "d7013f6799d28a69dbbf3329da7867a8afacce82",
-   "sha256": "19w4i7yymj204v147z4ggqwb0ghiz6zsh1ykda3x3rc32d5aap3h"
+   "commit": "b4264112ec10186d5465f7d6af9b2ab91a236216",
+   "sha256": "0pgzcx8bp6yilsh16zzz51fdykxh1197vcjb9d0sz2bd6267r7qy"
   },
   "stable": {
    "version": [
@@ -91382,11 +91570,11 @@
   "repo": "python-mode-devs/python-mode",
   "unstable": {
    "version": [
-    20211229,
-    1002
+    20220223,
+    1329
    ],
-   "commit": "dcb376044d020dfe30f8e4273e61863b7d9615ce",
-   "sha256": "1638zl7aa2rf74d7rc396b5hda9fvlndapnivv3axc06mnf86rkk"
+   "commit": "b26546ff9d5d112baf822563beffe6f7fdd3c327",
+   "sha256": "0yx5bq6fq6y1v69cmwxchmxx4lnq5zgc5q0izz392bbpbyha9xzc"
   },
   "stable": {
    "version": [
@@ -92025,11 +92213,11 @@
   "repo": "greghendershott/racket-mode",
   "unstable": {
    "version": [
-    20220204,
-    2212
+    20220222,
+    1947
    ],
-   "commit": "cef5a55d2b766973db92f9d9ab2210c03fa8ba02",
-   "sha256": "0zzk0s4akx6ffsbhylgfflcypkkg36a3accxhmmdd11yn5rckv7f"
+   "commit": "30b5dfdd3a11a513b1c21e448fc8cb1ecc8a71bd",
+   "sha256": "0fgg2qn5b5d0zm2id80jx9jrdyb4z1fjd8sbn11ajiawsjb9wb3d"
   }
  },
  {
@@ -92173,20 +92361,20 @@
  },
  {
   "ename": "rainbow-fart",
-  "commit": "cdcc8091357c42f5edbc1a13886253130f104242",
-  "sha256": "0zi1r8bgzd3g1dvginlp5nywyjk3lh495j6j3girgjqhsblnhfrx",
-  "fetcher": "github",
-  "repo": "stardiviner/emacs-rainbow-fart",
+  "commit": "c8de127d69c03addc9d93b712e2059f065a757f5",
+  "sha256": "0r9v9laaga02mzh1ch45a6y89bsmdr8433kz71fzrx6mam208i32",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/emacs-rainbow-fart.git",
   "unstable": {
    "version": [
-    20211114,
-    905
+    20220210,
+    1359
    ],
    "deps": [
     "flycheck"
    ],
-   "commit": "aaaec8e20b3bde3a567baa501623c451f796a46a",
-   "sha256": "1mrq585wq4c23jv6fvphh03y4s8wjrh02dhd0l2369axl6bdslz7"
+   "commit": "4e5d3cca6cdc667e5da3300c04e1b3d1b00664a8",
+   "sha256": "06874ymiqpmx2isys0bf1fxw83xfzx64sxjq01xjzb3zv5ydy13w"
   }
  },
  {
@@ -92221,30 +92409,30 @@
   "repo": "asok/rake",
   "unstable": {
    "version": [
-    20220131,
-    808
+    20220211,
+    827
    ],
    "deps": [
     "cl-lib",
     "dash",
     "f"
    ],
-   "commit": "759fb373b90dc4cf762a58217e81d8a3fecb5563",
-   "sha256": "0w677abkmrghphi2gwbxypyb59znyv331shmg4j8y5fcqf1whm14"
+   "commit": "452ea0caca33376487103c64177c295ed2960cca",
+   "sha256": "13wi9mkj1qhypii8zagxg0cly2pp8kvj3h76iij6yfizdhxq026r"
   },
   "stable": {
    "version": [
     0,
     4,
-    1
+    3
    ],
    "deps": [
     "cl-lib",
     "dash",
     "f"
    ],
-   "commit": "e680f1a8f2591af7c80cad188340601b101b5ddc",
-   "sha256": "1dk2clsnmjy3bfv6laxf8sslvdajjbwpk83ss8v9xm55dcxjvd7n"
+   "commit": "452ea0caca33376487103c64177c295ed2960cca",
+   "sha256": "13wi9mkj1qhypii8zagxg0cly2pp8kvj3h76iij6yfizdhxq026r"
   }
  },
  {
@@ -93029,11 +93217,11 @@
   "repo": "xendk/reaper",
   "unstable": {
    "version": [
-    20220109,
-    1305
+    20220211,
+    1223
    ],
-   "commit": "18a2bdb3f6a5934cf39dbeea5899f10f55e753a9",
-   "sha256": "0qlcl0dp1ggydz0jcyxzph2vjj8f457jyb81c1a6ds5bvybv8m28"
+   "commit": "d073fa8d00411af58fced861b7236aaa23b0692d",
+   "sha256": "0qg81yasilwk15jpxm0177slh9byihni9kc217m44pn0fxgpnsmi"
   },
   "stable": {
    "version": [
@@ -93219,11 +93407,11 @@
   "repo": "ideasman42/emacs-recomplete",
   "unstable": {
    "version": [
-    20220206,
-    1140
+    20220211,
+    548
    ],
-   "commit": "2b38ca25e3392636fe936d3edad447970279a463",
-   "sha256": "0fqrhfk3jg4dyf4z8nx6sgpi9l5mxzld2w0icz81kr8vm9p92nmx"
+   "commit": "d0d380929460ff35534900e34ababad43d23c966",
+   "sha256": "178415wsvjvji4caz72mksrv4krr7aykh02cggnp41w66chm503y"
   }
  },
  {
@@ -93334,11 +93522,11 @@
   "repo": "minad/recursion-indicator",
   "unstable": {
    "version": [
-    20220102,
-    1257
+    20220224,
+    1333
    ],
-   "commit": "c5ad65274f8e20fbf7a4485a5b51b50a5cc6b4c9",
-   "sha256": "0vnnkz5fgbdkr44yfyhv8w8vyzj4pfvi7858rgxw4sgj3zbj3x3p"
+   "commit": "e9bca04318fef45badd487cda002ff9617429f6b",
+   "sha256": "0cjn61dn67vxz3495h7klszqwkjv17bmlfv01adj8d2cibc5wqi3"
   },
   "stable": {
    "version": [
@@ -94334,8 +94522,8 @@
     "f",
     "s"
    ],
-   "commit": "8d4dd03f8c12ea4b40fea90d0ae1de122caa5451",
-   "sha256": "1clgdhjspa613fhqn03didq78yz4nn2i7baf4nlq86b55g6ql206"
+   "commit": "7f37c27f52049dae3c2630e5383dcf29fd2260d4",
+   "sha256": "0a8cf6wp918mxmx90z26mafi6gzyh8sj5qdc3jzjm5yzv4a2n3n2"
   },
   "stable": {
    "version": [
@@ -94433,11 +94621,11 @@
   "repo": "ideasman42/emacs-revert-buffer-all",
   "unstable": {
    "version": [
-    20211004,
-    1321
+    20220211,
+    548
    ],
-   "commit": "947f2471acaf1b9d5162f8a886aed6a211dd8fca",
-   "sha256": "19nmz7nw8v2i395wzyva96y5sm5z6h01jh1fl6n9dpavq12s934a"
+   "commit": "0343c04a4408ff6cb3c8a9dff7d1ffee8256aa70",
+   "sha256": "16ws4j2fpnv96338z7vcibhscjrjmym910hsxc137lqrkavqhm19"
   }
  },
  {
@@ -94448,11 +94636,11 @@
   "repo": "kmuto/review-el",
   "unstable": {
    "version": [
-    20210516,
-    503
+    20220215,
+    842
    ],
-   "commit": "4f64f0ce1fe3a59389a1462dc26d6ba89d44d51c",
-   "sha256": "05w3n8hv5wclgwy58wbnximkf7xi6anp8vpxh523dplzxd77b5q6"
+   "commit": "f08ef20d9ff4f03a00a8c24dae9ce416da0d9d1c",
+   "sha256": "0wyjh9ymj62rlvvhahcqy48xjw768x6pkvhrwp8sp8pyb64ghkj3"
   }
  },
  {
@@ -94709,8 +94897,8 @@
   "repo": "DogLooksGood/emacs-rime",
   "unstable": {
    "version": [
-    20211210,
-    1806
+    20220222,
+    228
    ],
    "deps": [
     "cl-lib",
@@ -94718,8 +94906,8 @@
     "popup",
     "posframe"
    ],
-   "commit": "bb1b5282f08187a00fd59ece7aefa6f476c77c1e",
-   "sha256": "164q3j88r2hnqaaf6qahy2db7a7s4j31fwz9bzz00p1gn4chrm5w"
+   "commit": "e5727c5218a4345adb9b960cf6f4202246aea70c",
+   "sha256": "14vifq3ksmr0dg4lp293pgr70j76ajasvrm9j9hf3jspq7hbxb0x"
   },
   "stable": {
    "version": [
@@ -95655,16 +95843,17 @@
   "repo": "semenInRussia/emacs-run-command-recipes",
   "unstable": {
    "version": [
-    20220205,
-    1840
+    20220208,
+    1018
    ],
    "deps": [
     "dash",
     "f",
-    "run-command"
+    "run-command",
+    "s"
    ],
-   "commit": "93de193267da8be1d1f6a23faf3988797f597846",
-   "sha256": "1pz5d7dh6k7qbv5qq21g279il43zy5aipncbfh1kgnkq5ackk779"
+   "commit": "e2751673e19e55fa364bc917e150c72b8ccc3294",
+   "sha256": "178qs6k5z4s74xx4n6r4qadw4svarvm8sfdxm5z964166r8d3x1y"
   }
  },
  {
@@ -95675,11 +95864,11 @@
   "repo": "ideasman42/emacs-run-stuff",
   "unstable": {
    "version": [
-    20211007,
-    304
+    20220211,
+    548
    ],
-   "commit": "db66c1ca0f6a090f8c9ae17f80f99c878047778e",
-   "sha256": "1kfnk3pa3p50nfylhxhcngxa4n8ilqwna1k179w4abmnsm0r4xz8"
+   "commit": "3723346dc6d867bdc3fd86ca11c32efc43704d7c",
+   "sha256": "0082mv45a8ybfrrvw8jnc52rk2zw80i52gid1387q2hxsdil0csm"
   }
  },
  {
@@ -95766,20 +95955,20 @@
   "repo": "rust-lang/rust-mode",
   "unstable": {
    "version": [
-    20220203,
-    1832
+    20220217,
+    2009
    ],
-   "commit": "832980d96a3b7e985bc8bfb1dc2bd7e9599c6312",
-   "sha256": "1dlg6526zfpflmvsq12fql0ri6l8mchs0bi8malx9v8rxn84k3bp"
+   "commit": "4902f06b1bb2ab5076b4ceaba085c702b9f8c138",
+   "sha256": "1ps4h8zvbaxmm3ifjizxbvd3y84925l5c7mrcmcfaf98l9v03hca"
   },
   "stable": {
    "version": [
     1,
     0,
-    3
+    4
    ],
-   "commit": "b017f746503df27ccdca8ee6d2627529d64d76e1",
-   "sha256": "11fdxbv51anrjfdqqpgrqz2md9qkcn5y3524lzjippqi9i31lnjn"
+   "commit": "e35a1800fc0f9ed178539d6fb82ed885c1014fb5",
+   "sha256": "10972zw2h1dijx08j5h7aa4d717vhrmahzkslisy3dk2gd8y2v0q"
   }
  },
  {
@@ -95813,8 +96002,8 @@
   "repo": "brotzeit/rustic",
   "unstable": {
    "version": [
-    20220204,
-    1613
+    20220220,
+    1431
    ],
    "deps": [
     "dash",
@@ -95828,13 +96017,13 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "7261c78004317628d2fdaf425a4c1a1bdb687605",
-   "sha256": "0fzkpli0l8ir4wa4hibkhgia2gxc5pb56zr7mpfyd736j3016acl"
+   "commit": "eb5ca14809f28a8774c7212081984c8fbb41a95d",
+   "sha256": "0mrw7myijfvx3b8yjvq0p5a1nxxm8yqz614449ycwv9h7mh0ysxj"
   },
   "stable": {
    "version": [
-    2,
-    6
+    3,
+    0
    ],
    "deps": [
     "dash",
@@ -95848,8 +96037,8 @@
     "spinner",
     "xterm-color"
    ],
-   "commit": "4aca1c28676fa53d5784b7aee3565f26d43751e9",
-   "sha256": "0lnymi6nxn5dafm8q0av07dcjwrqxd3gm4hj1pi26kw62aw0ws24"
+   "commit": "b3f4442f7198eee758958196f89a150f8de8963a",
+   "sha256": "18br5yfakfwcbw3vkawhw5sm41xg78cz4bimz36x5xcgbwi88k3p"
   }
  },
  {
@@ -96338,8 +96527,8 @@
     20200830,
     301
    ],
-   "commit": "a83597a7e67a2aa05a0a8c0c9af0c70c61a263e2",
-   "sha256": "18nxc94gii1hq5m9p9am00mfc2yprhwdrd9d3hs84868lwv7rack"
+   "commit": "fb10c5dbf43e51e03c7dfb582522640e0e3bff5a",
+   "sha256": "1absjrxh6zlsr9dzf6k18byal9vlf088df6kl1h5839p6w8640by"
   }
  },
  {
@@ -96385,25 +96574,6 @@
   }
  },
  {
-  "ename": "scalariform",
-  "commit": "1912f795e5842be534160e3879bfb96f3440e163",
-  "sha256": "096y63j91910hqsy6qvz16c9lzyi7ni3r7h039z5zw2v97aggh9i",
-  "fetcher": "github",
-  "repo": "zwild/scalariform",
-  "unstable": {
-   "version": [
-    20190114,
-    215
-   ],
-   "deps": [
-    "f",
-    "s"
-   ],
-   "commit": "478a15ccb4f825aba73262bccd3e61ce7017f64b",
-   "sha256": "1c76jnj35bkcq2rhdq6d57b7vf6rvn8rpzpx49ywkxz4cx36svv6"
-  }
- },
- {
   "ename": "scf-mode",
   "commit": "376be7f8903dbea69643600ae14e934ee5e2a11b",
   "sha256": "0acbrw94q6cr9b29mz1wcbwi1g90pbm7ly2xbaqb2g8081r5rgg0",
@@ -96710,11 +96880,11 @@
   "repo": "ideasman42/emacs-scroll-on-drag",
   "unstable": {
    "version": [
-    20211127,
-    1220
+    20220211,
+    548
    ],
-   "commit": "97741be699f08952c79a630869f5772918b378aa",
-   "sha256": "01y34ghp02znckafq51cvzahlbqbnpxdwpdrcgg1insq3qv658wb"
+   "commit": "d93b69eed6947cabdfde53dfbcf4bd919cb1f154",
+   "sha256": "0r1c3b7w1mh7hpi7pi1szdac297w1ig0i1a9c1r7qs41id2bvw51"
   }
  },
  {
@@ -96725,11 +96895,11 @@
   "repo": "ideasman42/emacs-scroll-on-jump",
   "unstable": {
    "version": [
-    20220126,
-    2331
+    20220211,
+    548
    ],
-   "commit": "1e9e09f0ccadf805e9bb4dbd1050944f82c5ed0f",
-   "sha256": "0n472jp8j1al7c4cf1k8l5my1hzln68ix5gl8vz8kpaxhlh0s8p0"
+   "commit": "99386fc01b3c7bc2e75458efca408a23220a5f87",
+   "sha256": "0b3d5bw635jjirkmym4w0y5x450zd88ic3k74jmmgf4fw0fl1q0z"
   }
  },
  {
@@ -96844,14 +97014,14 @@
  },
  {
   "ename": "sdcv",
-  "commit": "173e233b2dacaaf54d92f3bcc06e54d068520dd4",
-  "sha256": "1bj3b17sjd9fha686g6w191l4p8a1p8sb9br65xf54n6nd9bmv7a",
-  "fetcher": "github",
-  "repo": "stardiviner/sdcv.el",
+  "commit": "97663b3f4e6615f629571791f66d9bc3afeea7b7",
+  "sha256": "1y56jb5jy68ic1wwrwhqk2jwk49p90icbwrg80pxv1s6xigk2f02",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/sdcv.el.git",
   "unstable": {
    "version": [
-    20190610,
-    732
+    20220210,
+    1412
    ],
    "deps": [
     "cl-lib",
@@ -96859,8 +97029,8 @@
     "pos-tip",
     "showtip"
    ],
-   "commit": "943ae3e90cc9a0a88a37cc710acd7424fd4defc4",
-   "sha256": "0i1ylvw7p46pkf3yyyzcdmdhsspzymnnnvx8s0i7vynngr5x0vzh"
+   "commit": "98e239c7380c63282845d5bc55ea6d605f5a33b8",
+   "sha256": "17jxnc8z2a5rdfrjxw6gfkijp06jkjpsvj0pyxrhmg94gimfprxa"
   }
  },
  {
@@ -96916,8 +97086,8 @@
     "dash",
     "f"
    ],
-   "commit": "bdef718d17a09ba56b1bda7f6718588b4a33e06b",
-   "sha256": "0cd2lzb2z6cp3hlmwbmp98640q26875k3w5j0hqqg64rncxqx8yk"
+   "commit": "65498b584dd074f69e0c3fa61309542f77acd328",
+   "sha256": "0q27192qvf4p8cy0ks8bifag2zk2ncyz1ig1sjdwdbwx0drinw7p"
   },
   "stable": {
    "version": [
@@ -97439,15 +97609,15 @@
   "repo": "MaximeWack/seriestracker",
   "unstable": {
    "version": [
-    20210629,
-    2303
+    20220212,
+    304
    ],
    "deps": [
     "dash",
     "transient"
    ],
-   "commit": "a5ce1bfd06ed90bba9947a9045659d13f3362a96",
-   "sha256": "0gjwp0h9ip58da1p8q9s9pjfh0g6pav4gam9s51xnx8mv0vbgb68"
+   "commit": "4706db081bd214b272e0bcaabb66887e4b5b0968",
+   "sha256": "0ghnxli8xjlr5yb0c1jlax42dc4bjhz49x6mjm7m2jz94sa397ls"
   }
  },
  {
@@ -98332,8 +98502,8 @@
     20210715,
     1227
    ],
-   "commit": "c952c072e210c605b08aa5d2a917bfa3f92dfe8b",
-   "sha256": "13abir9kr4h63krnn206gnjfln895zzjidcaidrjc8zwnysaa8k3"
+   "commit": "b5f6338f381c796a528d399a3fbaa4bb069d185a",
+   "sha256": "0wagh0jw2pkkq4rqkvcdj6rdnmnsz983r6mc9fsxnl0nwm8d9m7m"
   },
   "stable": {
    "version": [
@@ -98706,11 +98876,11 @@
   "repo": "ideasman42/emacs-sidecar-locals",
   "unstable": {
    "version": [
-    20220104,
-    217
+    20220211,
+    548
    ],
-   "commit": "c90ccd6a02538c7263f6499ca7bd4456ec06791e",
-   "sha256": "02nnvf4c78grdzcd62611qvlq93vspd09ffk4jvc047l2jb8nw6l"
+   "commit": "b69943575bfa7f13ee99c8b8871d3216ad24c85f",
+   "sha256": "0bfl4py2s3mxpzc60l9qmmdy079li0llzd6gsczwbmvfnrs1189q"
   }
  },
  {
@@ -98871,6 +99041,25 @@
   }
  },
  {
+  "ename": "simple-indentation",
+  "commit": "9e9dc1f3efcf5e816474958d6c42a36b4fc9aa40",
+  "sha256": "1s51a055abfbv0x0k008qlrar054jwcyy4bf0h6ashk7gnkrvvg6",
+  "fetcher": "github",
+  "repo": "semenInRussia/simple-indentation.el",
+  "unstable": {
+   "version": [
+    20220215,
+    1745
+   ],
+   "deps": [
+    "dash",
+    "s"
+   ],
+   "commit": "e7c8238af9e1a6b1fc4dab8014d779ac178fc249",
+   "sha256": "03abad2hgkq5k5q7v4mb7ykd55wa6zg5a8ss62gsdwi373a9mkhh"
+  }
+ },
+ {
   "ename": "simple-modeline",
   "commit": "054a7c164fae0c76ad2b3c6891d37a03f3e08823",
   "sha256": "0c2wvwxwaa62r4vrw9g1lcgr8cv57mlfpsszynkn00cb7fhlhdmk",
@@ -98901,14 +99090,14 @@
   "repo": "jorenvo/simple-mpc",
   "unstable": {
    "version": [
-    20220204,
-    2207
+    20220216,
+    102
    ],
    "deps": [
     "s"
    ],
-   "commit": "265ee01f6c7c6c44f103b740c37df14f4c1fdb16",
-   "sha256": "14z8sqs094xq1n3hynglh1bj38kmzwfd9h66nxp95wdxanzlzghz"
+   "commit": "57ee14ada8aec477ddde5e4f632c8d3d99a66535",
+   "sha256": "1gij7kjidi21p8sbywlj9734s5cq1h31h6mv71drcj3cna9n06pb"
   }
  },
  {
@@ -98919,14 +99108,14 @@
   "repo": "andreas-roehler/simple-paren",
   "unstable": {
    "version": [
-    20210806,
-    1022
+    20220207,
+    2007
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "7eec13672c2b6d0226d56de8b8b1e12a1f78aa57",
-   "sha256": "03mxy2f4i8pjmb1d9s6llaa4pmzrsigxaf1srfdwzc8ccaj1qi5n"
+   "commit": "a454901635dfe4142d8c4f0153e737ddc778d708",
+   "sha256": "0b0ix9h5in324bbyv9q9l9xrifpfhjs6zhr6r5cadd36iip40r6g"
   }
  },
  {
@@ -99063,6 +99252,21 @@
   }
  },
  {
+  "ename": "simplicity-theme",
+  "commit": "d90f310efac200b31d90b29261f74932ba06756c",
+  "sha256": "0f2ixpnil14509skicaf7rm5062d1w1429jsflack14niba41d1a",
+  "fetcher": "github",
+  "repo": "smallwat3r/emacs-simplicity-theme",
+  "unstable": {
+   "version": [
+    20220217,
+    1928
+   ],
+   "commit": "2a0aaf19cf1e99c50df0d2e6225a2d2931a203d2",
+   "sha256": "0xv1gf0a9i3ajxd6cprr7b62xvar6r6ia5qd4sjvr8pnaw3cav45"
+  }
+ },
+ {
   "ename": "siri-shortcuts",
   "commit": "f3a67195c63059fbc2d2714b540505bb9cde49d1",
   "sha256": "04fnzv6sq5mbj5difddbchvp7sgz48qrhs5izhl5w1si5q2ds5ri",
@@ -99360,15 +99564,15 @@
   "repo": "slime/slime",
   "unstable": {
    "version": [
-    20220204,
-    1357
+    20220224,
+    2352
    ],
    "deps": [
     "cl-lib",
     "macrostep"
    ],
-   "commit": "2080537746ba808b9c1683a280e803e65f196a9c",
-   "sha256": "0shi2zazr44bnc1j985wvx2248gl2gp20v1kyb2mzsydw3w462vw"
+   "commit": "180dea856b1026fff1546eedf992a0ec0f103613",
+   "sha256": "1ngmnx2hms9d5mjcv9rha9y48h0dayj7j9x38wqv4njcj4vmc7b4"
   },
   "stable": {
    "version": [
@@ -100271,17 +100475,17 @@
  },
  {
   "ename": "smiles-mode",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "0wf02aj9bhl2m861342f5jfkx3xws1ggcyszfp9jphlykw6r0v9k",
-  "fetcher": "github",
-  "repo": "stardiviner/smiles-mode",
+  "commit": "67901d48323deba9311b32100574972c7476ad7b",
+  "sha256": "1j3dpq5yw1g3cdalgrbnsw5429r64jiz4krh19zr1w86lh148pdr",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/smiles-mode.git",
   "unstable": {
    "version": [
-    20160717,
-    1120
+    20220210,
+    1413
    ],
-   "commit": "fbb381758adcb000a0c304be1b797f985f00e2de",
-   "sha256": "07lzr1p58v95a4n6zad8y0dpj7chbxlcmb6s144pvcxx8kjwd4dr"
+   "commit": "950a8b3224f8f069c82faeb0282d041f872d5550",
+   "sha256": "1pvbxmxhkmzhimvvzw2gmwhzkssgg8hs765vl0ly9jcdgqc46lgq"
   }
  },
  {
@@ -100503,28 +100707,26 @@
   "repo": "kyleam/snakemake-mode",
   "unstable": {
    "version": [
-    20201224,
-    1744
+    20220223,
+    218
    ],
    "deps": [
-    "cl-lib",
-    "magit-popup"
+    "transient"
    ],
-   "commit": "592901893f297099ffb759b4d1359bcd3411d1a9",
-   "sha256": "0rmvzrkx56zrlziln9cbq9p7lpm7jlv6i1mfrzrqhri239xlybn4"
+   "commit": "0dfeaff6079558c39081c2c078c41369da01903b",
+   "sha256": "0mir9ic4ywhyhhsn7y2qwy2s5h4qlrxz11mrs6680d2ki1bnyc81"
   },
   "stable": {
    "version": [
-    1,
-    8,
+    2,
+    0,
     0
    ],
    "deps": [
-    "cl-lib",
-    "magit-popup"
+    "transient"
    ],
-   "commit": "0e4ef118ca3af4a6851fe670cf8fe7472ba18393",
-   "sha256": "0cl956wav9vnsxz0ky0ykcjxa3m43zld8ybn24r5yy54kr00nicm"
+   "commit": "78abd82f34a71b3fff7aa869de1b07a082f1f351",
+   "sha256": "1621pvbwq5b0kgk735w4dnpar30x3ckbhx18bdwv03rc7ngdnj8r"
   }
  },
  {
@@ -100610,15 +100812,15 @@
   "repo": "SpringHan/sniem",
   "unstable": {
    "version": [
-    20220206,
-    815
+    20220210,
+    1654
    ],
    "deps": [
     "dash",
     "s"
    ],
-   "commit": "f629aa45bbfbbde99390e7d4791f14b649d79f35",
-   "sha256": "070nbk9a68ww1mrb4xpda59s3wlcxvz0x2krc0f1g546vj3drakx"
+   "commit": "5824a3c33ee51acc1d3cba36ef6892ebb3a8df1c",
+   "sha256": "0svjaid3x3l7c59g7ckpgsnmgh7j118rakmfs0qhjh5xla60bglm"
   }
  },
  {
@@ -101513,11 +101715,11 @@
   "repo": "ideasman42/emacs-spatial-navigate",
   "unstable": {
    "version": [
-    20211007,
-    307
+    20220211,
+    548
    ],
-   "commit": "03bc1255dfaa87fb6cb62a850877445bd7a14455",
-   "sha256": "0xyyc89205qc3i9q96jp1in3y3ravcfia9pc5s2smam01kqvipld"
+   "commit": "0365544483f957db79b8e617fb0bd8160134a655",
+   "sha256": "0c52dfy1jqmbkl8ml06xif166kxbyy9q8z33cpvkljh36ia23y1z"
   }
  },
  {
@@ -101528,11 +101730,11 @@
   "repo": "condy0919/spdx.el",
   "unstable": {
    "version": [
-    20220204,
-    53
+    20220225,
+    102
    ],
-   "commit": "38cfd66c3044f26cd1c7d6e599bc73f9b9fc0760",
-   "sha256": "1s5hi5kgq6m2ms9k2f0an3h0mf1lm9s5yriprkp7kmr4d4rk3c6s"
+   "commit": "fba53cc8d05d768dc7835b06d0fb857d7f13d5ea",
+   "sha256": "1lmf3zmwain0y6psmdazbbh240p64a4p6cwlj55sngbnzqidf7h1"
   }
  },
  {
@@ -101659,11 +101861,11 @@
   "repo": "ideasman42/emacs-spell-fu",
   "unstable": {
    "version": [
-    20220119,
-    2344
+    20220213,
+    1215
    ],
-   "commit": "50be652a6ec8590c3098f46094a92213623349c1",
-   "sha256": "0n7qwnirvkh2aprb7l1wj9rywdsn33a7s32716m3afcvy7z9pyh4"
+   "commit": "8185467b24f05bceb428a0e9909651ec083cc54e",
+   "sha256": "0ka7i2jl9vbr5071pbb3n8ckc9nqgpxrbfgij7wn33g01dpn2zjn"
   }
  },
  {
@@ -101748,17 +101950,17 @@
  },
  {
   "ename": "spice-mode",
-  "commit": "855ea20024b606314f8590129259747cac0bcc97",
-  "sha256": "1my6dbdnf4scshjf299d4n7vsdq3cxhq9kmqvirs45y3qjm7pgpg",
-  "fetcher": "github",
-  "repo": "stardiviner/spice-mode",
+  "commit": "ae5f7b427e85726e4b4f2030a713c88d2e559f4a",
+  "sha256": "0qv691x5fcmb9xcx3pd0jqhl918qim0h9fg4r2mscccqnricshj4",
+  "fetcher": "git",
+  "url": "https://repo.or.cz/spice-mode.git",
   "unstable": {
    "version": [
-    20190608,
-    1033
+    20220210,
+    1414
    ],
-   "commit": "e5e0644f03f9696f56dd69e2b6979da7f30ed600",
-   "sha256": "01905cdplj9icbxzr7sqb62x5qchzgvs8qjf5s4qga4x3vjh1dc4"
+   "commit": "f55c2b6dd35caace0ec7250b5c7b5d119235a23d",
+   "sha256": "1jkqwclk65rcyv5qj2vq7qpiimlrqij7c7fbjvxv4pf4zd2wx0k8"
   }
  },
  {
@@ -102619,14 +102821,14 @@
   "repo": "Kungsgeten/steam.el",
   "unstable": {
    "version": [
-    20210404,
-    1658
+    20220218,
+    1707
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "2b24198844e7296c68f870490fabe896ed101baa",
-   "sha256": "0vcqpsz843djc2blkbjwqhr8km8chckfl8fgr78ii5zg9wdlvbrp"
+   "commit": "20aa58c5ccd85f6c4f288a14e79adc66e691cd23",
+   "sha256": "0hghcfvj5pr8hvrrqfka91yghaf1gzhc3jhv68dwaq01lbqnszqz"
   }
  },
  {
@@ -102720,11 +102922,11 @@
   "repo": "motform/stimmung-themes",
   "unstable": {
    "version": [
-    20210920,
-    1345
+    20220210,
+    1829
    ],
-   "commit": "caf1c099ee5da59c6686af99c36eb846ebb7a610",
-   "sha256": "112l5g5s71r8krbcx03xgm18v5lm3r4dz10a3qss27s2m6a1y8i5"
+   "commit": "ce7c9805c9030fe28c4f29720bfe413ee4674c2d",
+   "sha256": "0pspxxpydzb5yhw1lmw5y6lcgrxq9zdrp40ckgjwdq0x49j7166z"
   }
  },
  {
@@ -103295,8 +103497,8 @@
   "repo": "Wilfred/suggest.el",
   "unstable": {
    "version": [
-    20180916,
-    1859
+    20190807,
+    851
    ],
    "deps": [
     "dash",
@@ -103305,8 +103507,8 @@
     "s",
     "spinner"
    ],
-   "commit": "83a2679baf661ee834e9e75921fd546243a6d919",
-   "sha256": "11jqglwqi5q14rk44z02dffk6cqmhjgdda0y63095g8n1ll71jsb"
+   "commit": "7b1c7fd38cd9389e58f672bfe58d9e88aeb898c7",
+   "sha256": "04cabm1wn1cy78a47rhn1kh8vd6dclsr2js8plvldbgq2qfq7l4q"
   },
   "stable": {
    "version": [
@@ -104165,8 +104367,8 @@
   "repo": "countvajhula/symex.el",
   "unstable": {
    "version": [
-    20220127,
-    144
+    20220221,
+    252
    ],
    "deps": [
     "evil",
@@ -104178,8 +104380,8 @@
     "seq",
     "undo-tree"
    ],
-   "commit": "f04d372646d13c3c4ee1aae1230815e8e4d18280",
-   "sha256": "0avpjfpnmx3az3ahxgzd4ki4hm2n5xsdsjcki51b41vlrkwmijlk"
+   "commit": "520682d49e4e0684d6ee45cfa8d3157e830778b8",
+   "sha256": "01kfqwh7dkrq4dmdaxf5z6f3hj144d34nhfnjsq204mbnq37mdph"
   },
   "stable": {
    "version": [
@@ -105060,28 +105262,28 @@
   "repo": "zevlg/telega.el",
   "unstable": {
    "version": [
-    20220206,
-    849
+    20220221,
+    1453
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "13077c5e5eaa5621fbb68838ca3c15238faf73e0",
-   "sha256": "0z5h4g2c5ldfdsxzsiyj1dfwrk684vwhb7vx25mjvv01591mgq5c"
+   "commit": "8402e7e2f016e372585273df35ea8484a7c4854c",
+   "sha256": "0k9q83xllhl1bmyrraylb38q285s96p43cbiagkq4lghib83d03l"
   },
   "stable": {
    "version": [
     0,
     8,
-    2
+    3
    ],
    "deps": [
     "rainbow-identifiers",
     "visual-fill-column"
    ],
-   "commit": "4c981d6d65d612948227bde6ae8b7d601e0a190f",
-   "sha256": "0f600wd1wz2mfk6cbaxpd6f1sdpbkq5n4d1km5nzgynbjpr2is91"
+   "commit": "ac3634e2e7efe9c29c4311196e0ed67085d58f11",
+   "sha256": "1ffy17i5fi1bw5r5m6x372c52hc1k83wxdxvi4z0hixyklj48nsv"
   }
  },
  {
@@ -105115,16 +105317,16 @@
   "repo": "dbordak/telephone-line",
   "unstable": {
    "version": [
-    20220108,
-    2147
+    20220218,
+    449
    ],
    "deps": [
     "cl-generic",
     "cl-lib",
     "seq"
    ],
-   "commit": "4fd47989c499ccc973f0e904cf1649c037ff1626",
-   "sha256": "1wm10pb9k9s7mzswsqynm80cnh9wbndw4f9cw9h4z1rw28p1hvc5"
+   "commit": "aa7b1ec159252f8a25f3c75fcc346fa4b0b3c73d",
+   "sha256": "0dy3w69rndgvhlfp5mx4axdgn517ip63js219vb8m9514mswhxav"
   },
   "stable": {
    "version": [
@@ -105181,11 +105383,11 @@
   "repo": "minad/tempel",
   "unstable": {
    "version": [
-    20220203,
-    2002
+    20220223,
+    2047
    ],
-   "commit": "6ca08f66585dee09d1e48ee600cbaab579720488",
-   "sha256": "09l7scif2sc0m9ral5nzv4rf02pwsk7z5822y77klj36zsrxigdc"
+   "commit": "40de509ff635b75d877d83d42d8e36672fdcc47d",
+   "sha256": "1h9sj8w6yrrlf1gjwv7lxzkbgam78804f8zm8d3knic8qv3h03lk"
   },
   "stable": {
    "version": [
@@ -106204,18 +106406,18 @@
     20200212,
     1903
    ],
-   "commit": "2f2a408f31d3f3e87415865676479091fea1749c",
-   "sha256": "0mw3lhw0g7b5abaq57q97376bpn4n6q7pb9yazmr8csv6apjk0xd"
+   "commit": "d0234924365d8edafc7a4f4d3c1ef2c88e1da375",
+   "sha256": "01xbpxlqws56mhcd1gaxq5w36kavjpwxradjd6vj4ay1cfi6c500"
   },
   "stable": {
    "version": [
     2022,
-    1,
-    31,
+    2,
+    21,
     0
    ],
-   "commit": "a0a3b22d57d9ec2ee61e37c882467f5580749b1f",
-   "sha256": "18gp39nfw9lzg7d399sr2llaf87yg8rwwf4palncz7spvl0ikyfr"
+   "commit": "4d159d0224c848847f37e247b2935dd11ff0cac9",
+   "sha256": "0yqbl77gvd550k7pcn1vscb4kdkayp410bsya93pzrlxfxnygp90"
   }
  },
  {
@@ -106271,8 +106473,8 @@
    "deps": [
     "haskell-mode"
    ],
-   "commit": "9f86bc9aa03251065de988e57ffd209665a3acff",
-   "sha256": "11q86l6c82isb07al8lif96a8xsfih4zjxnamx9f76xxq0hxskqb"
+   "commit": "9dbd4c9b4dd4adb550323376a25a50917c971b00",
+   "sha256": "1pb93a7c29xz9ni4q71hclhpsh36bap3rb502lw4a8acsfim7jxq"
   },
   "stable": {
    "version": [
@@ -106882,11 +107084,11 @@
   "repo": "topikettunen/tok-theme",
   "unstable": {
    "version": [
-    20220202,
-    1805
+    20220222,
+    1140
    ],
-   "commit": "5df42d3f5569d9005f9180337aa88befaf77c491",
-   "sha256": "120lh5c01wbv92zljw8jhx16cdjp154bjas8k0bi461x1xa5mzl5"
+   "commit": "3e856aa9388af2d5acbc77f4f7be7eb920f26760",
+   "sha256": "1wgf1xw3fmbzawl8hykxf6sa7gmrp6vx9bpcv31199mh1nzx7iin"
   }
  },
  {
@@ -106980,6 +107182,30 @@
   }
  },
  {
+  "ename": "topspace",
+  "commit": "c980427ea621340ed8a50c4fff310aa6bca23bfd",
+  "sha256": "1fypf1zcf3f1fq9fg763k887j1vnj6kmr1qf43g9dnk3b9d9zwhg",
+  "fetcher": "github",
+  "repo": "trevorpogue/topspace",
+  "unstable": {
+   "version": [
+    20220223,
+    557
+   ],
+   "commit": "effbc9191a4cf562dbc71fe4460d093753be5c5d",
+   "sha256": "0idjhsagvsx5v590m78929jbi3bn9z2qiwcj0gjz3sg2rsxypwk7"
+  },
+  "stable": {
+   "version": [
+    0,
+    1,
+    1
+   ],
+   "commit": "4eb27abaa182e856ba3f3c8e1e84fdd2e1f009af",
+   "sha256": "0zfc5ix16kk5mwjs5wiqkfaljdhahb5hsb76hmay8nwhg5xsadkj"
+  }
+ },
+ {
   "ename": "topsy",
   "commit": "89d455ee48c4567e098bb733396fa2729bec58c6",
   "sha256": "0nxgfixly4rnvn83kz8lgc7pjdvzhm0px2w711zkx9rp55d5g86z",
@@ -107343,11 +107569,11 @@
   "repo": "magit/transient",
   "unstable": {
    "version": [
-    20220130,
-    1941
+    20220216,
+    2303
    ],
-   "commit": "440a341831398b825dc2288a10821cf7be1999ca",
-   "sha256": "0vaaxjkk6rllypfspvi2gb0kcfkgh3sipg6nmfwaz62y1kviwc1s"
+   "commit": "72b8c013936b8e8d891105144107781a43516735",
+   "sha256": "098j2yflc84xy0bfbxzdf5f413j6gy77ncvpn3j8xy9qi5frnn0i"
   },
   "stable": {
    "version": [
@@ -107476,8 +107702,8 @@
     20200910,
     1636
    ],
-   "commit": "090677c53a2127d0960204b7b6d3e39f6bf2c7fd",
-   "sha256": "1b6g83gcjars06vcq7pbrwaw0cn7yqpny162iaf0rqaazr5wggx6"
+   "commit": "ec3d59c9be9a6ba3b8d4dbfc6f8834c9c3d14f7b",
+   "sha256": "18mqlcbic82naypgzgr8fw7zjcxp3096c5yhjspz349igqw32y01"
   },
   "stable": {
    "version": [
@@ -107587,8 +107813,8 @@
   "repo": "ethan-leba/tree-edit",
   "unstable": {
    "version": [
-    20220129,
-    448
+    20220211,
+    1633
    ],
    "deps": [
     "dash",
@@ -107598,8 +107824,8 @@
     "tree-sitter-langs",
     "tsc"
    ],
-   "commit": "a94e4a645988a2c0e2369e27a2635f6555d321d8",
-   "sha256": "1pszg8vlhdbpl3q6wr60jv1pn52dpxl8lzmvrvsy5jwvlmiwy91y"
+   "commit": "f7d393b5caf601fe20c7543a53fca3d7e74ea09d",
+   "sha256": "0i8vc5mpwgkf21awnzc4m60paf13lwl0ff4ihks6k6xq65va3rhn"
   }
  },
  {
@@ -107625,26 +107851,26 @@
   "repo": "emacs-tree-sitter/elisp-tree-sitter",
   "unstable": {
    "version": [
-    20220129,
-    1630
+    20220212,
+    1632
    ],
    "deps": [
     "tsc"
    ],
-   "commit": "771239bacecf6c3ba9ee8b9eecec2b9fdd8e2256",
-   "sha256": "0bl7709r4mhb5nmfcsiqj09ja8wn53x9nf5jrr5lq3n1lwz7qq66"
+   "commit": "5e1091658d625984c6c5756e3550c4d2eebd73a1",
+   "sha256": "08favjzk53cgz96k3xfcvi7g7y8gbssw03pbjk0fxfmcqqpps1j1"
   },
   "stable": {
    "version": [
     0,
-    17,
+    18,
     0
    ],
    "deps": [
     "tsc"
    ],
-   "commit": "771239bacecf6c3ba9ee8b9eecec2b9fdd8e2256",
-   "sha256": "0bl7709r4mhb5nmfcsiqj09ja8wn53x9nf5jrr5lq3n1lwz7qq66"
+   "commit": "909717c685ff5a2327fa2ca8fb8a25216129361c",
+   "sha256": "1sdvz827v436qijs6xafakkfw2d16bvp8frymd818rppjc7a9dif"
   }
  },
  {
@@ -107686,26 +107912,26 @@
   "repo": "emacs-tree-sitter/tree-sitter-langs",
   "unstable": {
    "version": [
-    20220129,
-    1702
+    20220212,
+    641
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "a9b0390a751be0a631cf8a356d61933795d9fcbc",
-   "sha256": "10dscwcn6g0hm39jag2cd7avvwqav9xs43ygcgcx1lxcxfk6ib18"
+   "commit": "599570cd2a6d1b43a109634896b5c52121e155e3",
+   "sha256": "1sgpsjd3037pbvwk7lgw70gb4j0fyqikv4lwxwa6l5dwnqvqxgq6"
   },
   "stable": {
    "version": [
     0,
     11,
-    0
+    3
    ],
    "deps": [
     "tree-sitter"
    ],
-   "commit": "a9b0390a751be0a631cf8a356d61933795d9fcbc",
-   "sha256": "10dscwcn6g0hm39jag2cd7avvwqav9xs43ygcgcx1lxcxfk6ib18"
+   "commit": "599570cd2a6d1b43a109634896b5c52121e155e3",
+   "sha256": "1sgpsjd3037pbvwk7lgw70gb4j0fyqikv4lwxwa6l5dwnqvqxgq6"
   }
  },
  {
@@ -107752,8 +107978,8 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20220129,
-    1122
+    20220216,
+    1950
    ],
    "deps": [
     "ace-window",
@@ -107765,8 +107991,8 @@
     "pfuture",
     "s"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -107803,8 +108029,8 @@
     "all-the-icons",
     "treemacs"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -107835,8 +108061,8 @@
     "evil",
     "treemacs"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -107866,8 +108092,8 @@
    "deps": [
     "treemacs"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -107898,8 +108124,8 @@
     "pfuture",
     "treemacs"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -107924,16 +108150,16 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20211229,
-    1448
+    20220209,
+    2117
    ],
    "deps": [
     "dash",
     "persp-mode",
     "treemacs"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -107958,16 +108184,16 @@
   "repo": "Alexander-Miller/treemacs",
   "unstable": {
    "version": [
-    20211229,
-    1448
+    20220209,
+    2117
    ],
    "deps": [
     "dash",
     "perspective",
     "treemacs"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -107999,8 +108225,8 @@
     "projectile",
     "treemacs"
    ],
-   "commit": "ca4b4dd373ed4ff879dcc07b18832f3e27559314",
-   "sha256": "18yaswgyaxji27b0shccdp99g4amay6x6vsl80dlzjf070y483ar"
+   "commit": "b18a05b1f62074a40e6011d83cd4c92cbee040dd",
+   "sha256": "0975n5d1rl9dqi9qwsg724cjxl753rw30xxngg7qs6338mp77c1y"
   },
   "stable": {
    "version": [
@@ -108256,20 +108482,20 @@
   "repo": "emacs-tree-sitter/elisp-tree-sitter",
   "unstable": {
    "version": [
-    20220129,
-    1630
+    20220212,
+    1632
    ],
-   "commit": "771239bacecf6c3ba9ee8b9eecec2b9fdd8e2256",
-   "sha256": "0bl7709r4mhb5nmfcsiqj09ja8wn53x9nf5jrr5lq3n1lwz7qq66"
+   "commit": "5e1091658d625984c6c5756e3550c4d2eebd73a1",
+   "sha256": "08favjzk53cgz96k3xfcvi7g7y8gbssw03pbjk0fxfmcqqpps1j1"
   },
   "stable": {
    "version": [
     0,
-    17,
+    18,
     0
    ],
-   "commit": "771239bacecf6c3ba9ee8b9eecec2b9fdd8e2256",
-   "sha256": "0bl7709r4mhb5nmfcsiqj09ja8wn53x9nf5jrr5lq3n1lwz7qq66"
+   "commit": "909717c685ff5a2327fa2ca8fb8a25216129361c",
+   "sha256": "1sdvz827v436qijs6xafakkfw2d16bvp8frymd818rppjc7a9dif"
   }
  },
  {
@@ -108554,6 +108780,24 @@
   }
  },
  {
+  "ename": "twitch-api",
+  "commit": "d68bb5cb21fdc7d91ba5548354a8214a6b603b3d",
+  "sha256": "1zsqm8nwjfsdbwkylxf2dc26zh4dy4ni6yv48yvk20nvcsi8sz80",
+  "fetcher": "github",
+  "repo": "BenediktBroich/twitch-api",
+  "unstable": {
+   "version": [
+    20220207,
+    813
+   ],
+   "deps": [
+    "dash"
+   ],
+   "commit": "e48b0b350516e20eaf85514e8855c2fbfbf09c11",
+   "sha256": "1pfrqa7lc85b9ww54w15liwi0swj3h9vx41fcmv7w0b31fijmzjd"
+  }
+ },
+ {
   "ename": "twittering-mode",
   "commit": "091dcc3775ec2137cb61d66df4e72aca4900897a",
   "sha256": "0v9ijxw5jazh2hc0qab48y71za2l9ryff0mpkxhr3f79irlqy0a1",
@@ -108603,11 +108847,11 @@
   "repo": "emacs-typescript/typescript.el",
   "unstable": {
    "version": [
-    20211130,
-    1332
+    20220223,
+    1506
    ],
-   "commit": "e82416205158d4b21d42d6b60c4385f68f0ae1b1",
-   "sha256": "1gidnpwk4n9zsrv9jxb7fmn3i46sggncv62w1aaw6g6v8h3yj5ad"
+   "commit": "84ff4228b5d1af287f35c9869e8eb079184a9831",
+   "sha256": "1kjw7phch5vyxc7gwkcwdl1p0cy3zzg7vyx4k1p5dbvh261k7c6h"
   },
   "stable": {
    "version": [
@@ -109025,8 +109269,8 @@
     20200719,
     618
    ],
-   "commit": "70b287aad04d97ec902ea2aa71cf9ff4b7d701ec",
-   "sha256": "0api91jqkafqglq6f1fqb0lac81dq7xr2czdwrb4m0lgkxv325sj"
+   "commit": "33cb9f541b1f7d4fa675e244822c8a074ebb4c4e",
+   "sha256": "104170qlxrvg5gr1m3ajfnankvnd3700k46lhrh7i356jl23kh1h"
   },
   "stable": {
    "version": [
@@ -109069,11 +109313,11 @@
   "repo": "ideasman42/emacs-undo-fu",
   "unstable": {
    "version": [
-    20211030,
-    612
+    20220211,
+    548
    ],
-   "commit": "ab8bc10e424bccc847800c31ab41888db789d55d",
-   "sha256": "1vdaysc328gwqi57fp4cfbl96g76m8wc2qr53wgb3l89m9kx5sgg"
+   "commit": "e81c8da4416b15cac9d5ac7574e11471417a65ca",
+   "sha256": "1f25h3rx09ci56gkpypsscp8bkqmj7fr2yfniki0y92czix9x70s"
   }
  },
  {
@@ -109084,11 +109328,11 @@
   "repo": "ideasman42/emacs-undo-fu-session",
   "unstable": {
    "version": [
-    20220117,
-    2256
+    20220211,
+    548
    ],
-   "commit": "edf050d6133478d04fc06cc65914517b18d6bcc6",
-   "sha256": "1sbd5fmpc3kcw9w566aqx7css2bjbca503j9y8aj6h08hpais561"
+   "commit": "d4f078abcbeea614ac2b32808c9cadf460a61e2e",
+   "sha256": "02b95pasbgr82g2ii225ixfd39w2y7jncxwmvm7ix2pw77g9mc7v"
   }
  },
  {
@@ -109114,14 +109358,14 @@
   "repo": "emacsorphanage/undohist",
   "unstable": {
    "version": [
-    20210517,
-    411
+    20220219,
+    634
    ],
    "deps": [
     "cl-lib"
    ],
-   "commit": "56c6f58873f8ebb743e4dc5aff143744720375bd",
-   "sha256": "1ayf2rgw0y0qa65s585408nxdqpq6vgyz8l015crk72l6hv35l8n"
+   "commit": "94959e708d5a74913788324893d0b6dabc88ff18",
+   "sha256": "09gf5bm2kwgfx4b1rbnljarzj9mfbx3f0xiqias3cbj0x0lmwmd1"
   },
   "stable": {
    "version": [
@@ -109966,11 +110210,11 @@
   "repo": "jcs-elpa/use-ttf",
   "unstable": {
    "version": [
-    20220111,
-    743
+    20220220,
+    150
    ],
-   "commit": "bf64ea24fd1fdf5ed7e4ed14bc5f84303fa17a58",
-   "sha256": "0mhz64hsml6fp4lfwrx3w5i85finn0s417r6ccfyk911zm70fm9x"
+   "commit": "b590f6d3643ff70dfde0181abb287d7b24073067",
+   "sha256": "0zp6zyxk033n8p3ccaz50mrnhrcnb7w40b0xjm1lk4snap3hlihq"
   },
   "stable": {
    "version": [
@@ -109990,11 +110234,11 @@
   "repo": "ideasman42/emacs-utimeclock",
   "unstable": {
    "version": [
-    20211008,
-    454
+    20220211,
+    548
    ],
-   "commit": "e6e3dd50fb7e3b20e38db555950b2f417a12c993",
-   "sha256": "0iri2836zxadqdvivkmm0rz2ai4wxb1khnfxjmk8k8q274w1lslf"
+   "commit": "0e36664ffe9f278bb008107d1b743edfcfba60f1",
+   "sha256": "1ninhp8z9lr705k8a5pd8cvm3nwrml9wp2hvrv3lilmdr9879h0y"
   }
  },
  {
@@ -110011,8 +110255,8 @@
    "deps": [
     "tuareg"
    ],
-   "commit": "676e2cd6545fd327e02330d1ccb20c02d6b26eab",
-   "sha256": "1mdpqc1b67p5rm2jsbwy0gjjgdlfqcakjyh1cwdj959ykz4zy9ld"
+   "commit": "d5dbad6b807f09731d87344ea778b29c432b76e2",
+   "sha256": "0lndsas27h9mmrjv1g2r5jhwjip1si6xrinp58w04kvzcvgypp2w"
   },
   "stable": {
    "version": [
@@ -110582,8 +110826,8 @@
    "deps": [
     "vdm-mode"
    ],
-   "commit": "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d",
-   "sha256": "1vfqkfw39yg7379s6b28n8nyswv1jq7caljfbnyrndsag6z4j50k"
+   "commit": "56336930555df91787f196acac15680498d17d5e",
+   "sha256": "1xp6ngqd67jqrqvr5j9vmffrap6cbyiqbw1hbw8ciz27ivyqz6vx"
   },
   "stable": {
    "version": [
@@ -110609,8 +110853,8 @@
     20190328,
     1408
    ],
-   "commit": "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d",
-   "sha256": "1vfqkfw39yg7379s6b28n8nyswv1jq7caljfbnyrndsag6z4j50k"
+   "commit": "56336930555df91787f196acac15680498d17d5e",
+   "sha256": "1xp6ngqd67jqrqvr5j9vmffrap6cbyiqbw1hbw8ciz27ivyqz6vx"
   },
   "stable": {
    "version": [
@@ -110636,8 +110880,8 @@
    "deps": [
     "yasnippet"
    ],
-   "commit": "89e7db6ee1a89b8c1f7ce36ce6800c32b5c4ba2d",
-   "sha256": "1vfqkfw39yg7379s6b28n8nyswv1jq7caljfbnyrndsag6z4j50k"
+   "commit": "56336930555df91787f196acac15680498d17d5e",
+   "sha256": "1xp6ngqd67jqrqvr5j9vmffrap6cbyiqbw1hbw8ciz27ivyqz6vx"
   },
   "stable": {
    "version": [
@@ -110703,11 +110947,11 @@
   "repo": "federicotdn/verb",
   "unstable": {
    "version": [
-    20211103,
-    1927
+    20220214,
+    943
    ],
-   "commit": "6250360b3b06f590dd37885f3c33a451a3eab5d3",
-   "sha256": "07xdl2ng435iy9zqrq1wgrmwygarc91kqmz6ck1ngvn4mh86ndxk"
+   "commit": "f6fd85d913c39603695e52d258d02e6030e3d42d",
+   "sha256": "032s7i4gg7cc35cqa816sji8bhww2wzlihizvvbbzplsz435mdbs"
   },
   "stable": {
    "version": [
@@ -111419,11 +111663,11 @@
   "repo": "emacs-vs/vs-dark-theme",
   "unstable": {
    "version": [
-    20220201,
-    1229
+    20220214,
+    1401
    ],
-   "commit": "e292c57d53823038733105d22f576a83b5dfdaae",
-   "sha256": "0687q8m5a3rqwdjgr898gz4nckyi5awksz5z6m6qhga3zmhcmqkw"
+   "commit": "6fde70a06788e2b8851e765c75ae76cd1655287d",
+   "sha256": "10wjd76qrr503rbvpklpcxz74pcx08zvqgn3g6a0qrzpsiigkscd"
   },
   "stable": {
    "version": [
@@ -111442,11 +111686,11 @@
   "repo": "emacs-vs/vs-light-theme",
   "unstable": {
    "version": [
-    20220201,
-    1228
+    20220214,
+    1401
    ],
-   "commit": "b99fdcfdb5259b2d831302f38288bdbb3a21ed19",
-   "sha256": "09nbdyw4kjbfpyswjwn0rdffpcmcnl5y32vrncaxwx44rsg3y1cr"
+   "commit": "6bfe9144b626b98bbb67cbf512f3419c25ae973f",
+   "sha256": "05rkm1zlxmz65z1k9i3nh1dgd6arn97h0cyv3mbyw0pksfnf0gx7"
   },
   "stable": {
    "version": [
@@ -111480,11 +111724,11 @@
   "repo": "ianyepan/vscode-dark-plus-emacs-theme",
   "unstable": {
    "version": [
-    20210925,
-    1940
+    20220217,
+    350
    ],
-   "commit": "2b86fe42b85b602ba97ea7f757676d623cfbb8d0",
-   "sha256": "0dgg8qmpfwb2z7yzvl5hj298lx1dk056wdbyr74vvwgn450x77sd"
+   "commit": "612646c3e707f9665bdbd034a6c2e17cb2645c3a",
+   "sha256": "0m6vwvrsl4dnw42pd3fi2s513jjlq8km7gzks8c6jch7lydwxabk"
   },
   "stable": {
    "version": [
@@ -111625,8 +111869,8 @@
   "repo": "mihaiolteanu/vuiet",
   "unstable": {
    "version": [
-    20211116,
-    1109
+    20220218,
+    1024
    ],
    "deps": [
     "bind-key",
@@ -111635,8 +111879,8 @@
     "s",
     "versuri"
    ],
-   "commit": "ddfd4be99b46ddc042139028980ad8dd616b7d45",
-   "sha256": "10wjzx8vq8k16dwcjppnr28pkiilxl2ak78h60h68flakmdzibmg"
+   "commit": "aed3272b95fc73fd78712ff7dcfc05916f382fed",
+   "sha256": "0faxcgvi8r6nchvgh2dzmnawbv5qzsf1aiyfg3f39pskcrnip62v"
   },
   "stable": {
    "version": [
@@ -111670,8 +111914,8 @@
     "org-roam",
     "s"
    ],
-   "commit": "38efd2e08345d02f64b768629e26fa4e4e7beb85",
-   "sha256": "1n1fhy9456d10isddfp29dqnjccs6hs4ymdxcs05c55sw2vgjc1l"
+   "commit": "266c491ee2d583648f391803a278e8c5befbd8bd",
+   "sha256": "1dw05c0kfrjv09lqdkwg8i6hkxd3g2zaclixfhfzgs2976a9r23k"
   },
   "stable": {
    "version": [
@@ -111867,11 +112111,11 @@
   "repo": "darkstego/wakib-keys",
   "unstable": {
    "version": [
-    20211217,
-    1406
+    20220211,
+    1304
    ],
-   "commit": "cb65d5e32fae0da77118db492cd40b58585d5cf2",
-   "sha256": "0ai5kw8v3778h5ry9191xb7bcmqp3j92h800223aiclh3hrfdc3b"
+   "commit": "ed86134f91c532a38d2739dd15ea6cec879cbd8a",
+   "sha256": "1p23jr4h6hhalvsi3mk3kcf6dbph6di2h3h92ym86fxry4jjxlzh"
   }
  },
  {
@@ -111942,6 +112186,21 @@
   }
  },
  {
+  "ename": "wallpreview",
+  "commit": "8822842e06fb8bce3b62847ed1ea7c9d64f4d7d3",
+  "sha256": "00i4j7ki84yw2sihd9xjwh6gvp0xi5yql7nmsgdqkhp91qcmkn8k",
+  "fetcher": "github",
+  "repo": "nryotaro/wallpreview",
+  "unstable": {
+   "version": [
+    20220220,
+    427
+   ],
+   "commit": "b1b8f19ae82b344a9577cea7b883ad513ec52222",
+   "sha256": "11s37l15g9sgvk0blvvw22griy1h51q14c42290yms8whnbp001z"
+  }
+ },
+ {
   "ename": "wand",
   "commit": "38be840bbb32094b753ec169b717a70817006655",
   "sha256": "052zq5dp800hynd9fb6c645kjb9rp3bpkz41ifazjnx4h4864r0l",
@@ -112783,20 +113042,20 @@
   "repo": "justbur/emacs-which-key",
   "unstable": {
    "version": [
-    20220102,
-    1433
+    20220214,
+    1818
    ],
-   "commit": "9f64733e4ac563c0cda3685acf4e1c2cf600319b",
-   "sha256": "086jcw31jl3cb6ahgrgf40s7ydp7gv58pah2ai12j7j3g6vvdjnj"
+   "commit": "1217db8c6356659e67b35dedd9f5f260c06f6e99",
+   "sha256": "0ph5mrzz3r7x4dmy93v6affl4jznvic97a30mrs3kvhwyr2v4mby"
   },
   "stable": {
    "version": [
     3,
-    5,
-    4
+    6,
+    0
    ],
-   "commit": "1bb1f723dab2fc8b88b7f7273d0a7fa11134b936",
-   "sha256": "0wz3bb7vzxqi3wqpn46z6ps00m9wjcpv9cfvqi7lyvm920sxzlv7"
+   "commit": "1217db8c6356659e67b35dedd9f5f260c06f6e99",
+   "sha256": "0ph5mrzz3r7x4dmy93v6affl4jznvic97a30mrs3kvhwyr2v4mby"
   }
  },
  {
@@ -113470,11 +113729,11 @@
   "url": "https://hg.sr.ht/~arnebab/wisp",
   "unstable": {
    "version": [
-    20220204,
-    436
+    20220208,
+    636
    ],
-   "commit": "08b3d086d1f1ac77a7d14f763063e75c29e600c8",
-   "sha256": "08zh4fdmdpi3wd2ysfv3awbq9lfvscanz3478k4fliw6igidk3qa"
+   "commit": "d266109b95e73281ae3aa1ed9a023346b6d39d28",
+   "sha256": "0fr3p6cfqxxj01bix9aiglfb2ls2grr62l735wdkn2r7lfvf5hjx"
   }
  },
  {
@@ -113515,20 +113774,20 @@
   "repo": "magit/with-editor",
   "unstable": {
    "version": [
-    20220130,
-    1942
+    20220211,
+    2034
    ],
-   "commit": "edf4445edb613c8355c45209264f691268116f0f",
-   "sha256": "1rrzn34cqi2vf5vp4ip15qcprbm9y7jw9kh2yxkw82mxm8gh7m3h"
+   "commit": "f514f23258af67a10fc8e1c431bfe94702b6e65b",
+   "sha256": "095gmw87ch8mnwcldyab89a04wr5ahb2hgh0nd0gbhg7mkca17ph"
   },
   "stable": {
    "version": [
     3,
-    1,
-    1
+    2,
+    0
    ],
-   "commit": "a4e720b12a0946a271a274bbe0b45ae07f83520b",
-   "sha256": "06a66119rp5vfqdzqk10df3qyh9jvjl6j3pqm03jy0b110v2bfa8"
+   "commit": "a762199d9bb8ee60311eaabf791b3dd64140effd",
+   "sha256": "1d98hagpm6h5vgx80qlh3zrfcb6z000rfc707w9zzmh634dkg3xx"
   }
  },
  {
@@ -113766,11 +114025,11 @@
   "repo": "progfolio/wordel",
   "unstable": {
    "version": [
-    20220124,
-    251
+    20220213,
+    243
    ],
-   "commit": "c2f0d61646d2744167661e5ce60fae679d50c850",
-   "sha256": "12b42qcmc8k15n2zdvl264sz9w697f6dm9vynyw7gk3g16rydbhj"
+   "commit": "cb0321c79abbcf31a61d9be02690b434ece55d4d",
+   "sha256": "09wamwxplj02xi603jkp246n0qynjaj83gvg7d3jn5z0fhgr6blp"
   }
  },
  {
@@ -114684,11 +114943,11 @@
   "repo": "ideasman42/emacs-xref-rst",
   "unstable": {
    "version": [
-    20211006,
-    2319
+    20220211,
+    548
    ],
-   "commit": "4ca1c15e9fe98fadfb13098dd0ee104d5ca6abf2",
-   "sha256": "0rawl98fsx1rrhq051d77wmz1xp82m9yr9rgb8k3p5g0yacyfkfv"
+   "commit": "f07722ac9c2952e86d9e84546c3c5eb1a768247e",
+   "sha256": "1wq815c2bs1fqjkl7kjpzmhdlw95dsayvcgclnkk1bb70xgzsivg"
   }
  },
  {
@@ -114968,11 +115227,11 @@
   "repo": "drdv/yahtzee",
   "unstable": {
    "version": [
-    20200511,
-    2005
+    20220221,
+    803
    ],
-   "commit": "c3218914269ec1ac97336fee3a88816b73437b39",
-   "sha256": "163y4a6hp3b150zwjgfxi9vs04sw2lcr3izmfa69yjj84nwcx9z3"
+   "commit": "9b42ba4612d3043464414c08a3d60f6ad594566c",
+   "sha256": "1552a71nn60h351i6kal25py2l41vhnk4nlvcc53fg6hx7pkrwg6"
   }
  },
  {
@@ -115241,11 +115500,11 @@
   "repo": "emacsorphanage/yascroll",
   "unstable": {
    "version": [
-    20220116,
-    2241
+    20220212,
+    1742
    ],
-   "commit": "a5920d660f660ed05f4ca63bfd5e70f912baf9d2",
-   "sha256": "1dbqjxyxl5p7hg2z249nlw06cx2hn4sciv7fvxlnyhcdnhhv2bhd"
+   "commit": "d8674bbbc9d4d7bdba374f0c0473ebb1912bcac2",
+   "sha256": "1nryhfiddak70y1hhhzkpb2afy00kd7vc3vg4ja0frpdvdrl93pz"
   },
   "stable": {
    "version": [
@@ -115313,14 +115572,14 @@
   "repo": "AndreaCrotti/yasnippet-snippets",
   "unstable": {
    "version": [
-    20210910,
-    1959
+    20220221,
+    1234
    ],
    "deps": [
     "yasnippet"
    ],
-   "commit": "f50b4c16ca2a73fd04ebd301f0bf2f5ab6107d88",
-   "sha256": "0iglhbwnx2pk2p05ym43fh3p4vwd77kch6f8aw63jz77ia05cba4"
+   "commit": "b7c09f1ad7e1a62da6f6042bfaa2b26d111c7e81",
+   "sha256": "0r4rjsgd13n8k0ijypwh3ky0dzzmz0p08lfaalpbqk3w555mkzyf"
   },
   "stable": {
    "version": [
@@ -115828,11 +116087,11 @@
   "repo": "bbatsov/zenburn-emacs",
   "unstable": {
    "version": [
-    20220130,
-    1555
+    20220221,
+    2005
    ],
-   "commit": "50e9bb9bcd62edf29d29a29b2b9b6b845db68174",
-   "sha256": "0yp0szhncygbb5cl7ai0296fiiz401r1wf7xm9kix3h2211zm5id"
+   "commit": "cef1e26146c1b8b32fc5ce346f2cfa9861eb67d4",
+   "sha256": "198n2pikpvk65bqivw7f8bvy9j9mpc2149zxzqc16m2868l9ngsx"
   },
   "stable": {
    "version": [
@@ -116159,11 +116418,29 @@
   "repo": "localauthor/zk",
   "unstable": {
    "version": [
-    20220205,
-    2000
+    20220222,
+    2250
+   ],
+   "commit": "08f996693213ec1ff960aab0895151683e846ef1",
+   "sha256": "0p8l39rawlpd27j6mza4ag5gkmj73xvnwqv8zhxvhhvipb82w43j"
+  }
+ },
+ {
+  "ename": "zk-index",
+  "commit": "01d387bc059e5d81d59ab5705082c56971a80b34",
+  "sha256": "1rd4wpisrjc7ahyv3hinmv7nmma7xnacq1q35bnyyhsc0vv6rxs8",
+  "fetcher": "github",
+  "repo": "localauthor/zk",
+  "unstable": {
+   "version": [
+    20220220,
+    1952
+   ],
+   "deps": [
+    "zk"
    ],
-   "commit": "44b59d15e4ec491129104b6d1a1a0ed8bdff645f",
-   "sha256": "1fgcdip4jn8j5668ws0pxma8hibsnsamk1gq0fb4mcb24mczxvc3"
+   "commit": "08f996693213ec1ff960aab0895151683e846ef1",
+   "sha256": "0p8l39rawlpd27j6mza4ag5gkmj73xvnwqv8zhxvhhvipb82w43j"
   }
  },
  {
diff --git a/pkgs/applications/editors/emacs/generic.nix b/pkgs/applications/editors/emacs/generic.nix
index b6d556b445a..946dba0af8f 100644
--- a/pkgs/applications/editors/emacs/generic.nix
+++ b/pkgs/applications/editors/emacs/generic.nix
@@ -25,6 +25,8 @@
 , srcRepo ? false, autoreconfHook ? null, texinfo ? null
 , siteStart ? ./site-start.el
 , nativeComp ? false
+, withAthena ? false
+, withToolkitScrollBars ? true
 , withPgtk ? false
 , withXinput2 ? false
 , withImageMagick ? lib.versionOlder version "27" && (withX || withNS)
@@ -32,6 +34,7 @@
   if withGTK2 then "gtk2"
   else if withGTK3 then "gtk3"
   else if withMotif then "motif"
+  else if withAthena then "athena"
   else "lucid")
 }:
 
@@ -154,6 +157,7 @@ let emacs = stdenv.mkDerivation (lib.optionalAttrs nativeComp {
     ++ lib.optional withImageMagick "--with-imagemagick"
     ++ lib.optional withPgtk "--with-pgtk"
     ++ lib.optional withXinput2 "--with-xinput2"
+    ++ lib.optional (!withToolkitScrollBars) "--without-toolkit-scroll-bars"
   ;
 
   installTargets = [ "tags" "install" ];
diff --git a/pkgs/applications/editors/heme/default.nix b/pkgs/applications/editors/heme/default.nix
deleted file mode 100644
index 7d1830c842b..00000000000
--- a/pkgs/applications/editors/heme/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ stdenv, lib, fetchurl, ncurses }:
-
-stdenv.mkDerivation rec {
-  pname = "heme";
-  version = "0.4.2";
-  src = fetchurl {
-    url = "mirror://sourceforge/project/heme/heme/heme-${version}/heme-${version}.tar.gz";
-    sha256 = "0wsrnj5mrlazgqs4252k30aw8m86qw0z9dmrsli9zdxl7j4cg99v";
-  };
-  postPatch = ''
-    substituteInPlace Makefile \
-      --replace "/usr/local" "$out" \
-      --replace "CFLAGS = " "CFLAGS = -I${ncurses.dev}/include " \
-      --replace "LDFLAGS = " "LDFLAGS = -L${ncurses.out}/lib " \
-      --replace "-lcurses" "-lncurses"
-  '';
-  buildInputs = [ ncurses ];
-  preBuild = ''
-    mkdir -p $out/bin
-    mkdir -p $out/man/man1
-  '';
-  meta = with lib; {
-    description = "Portable and fast console hex editor for unix operating systems";
-    homepage = "http://heme.sourceforge.net/";
-    license = licenses.gpl2;
-    platforms = platforms.linux;
-    maintainers = with maintainers; [ cstrahan ];
-  };
-}
diff --git a/pkgs/applications/editors/jetbrains/common.nix b/pkgs/applications/editors/jetbrains/common.nix
index b3145f342c9..a5e0a2611f0 100644
--- a/pkgs/applications/editors/jetbrains/common.nix
+++ b/pkgs/applications/editors/jetbrains/common.nix
@@ -27,11 +27,9 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
     comment = lib.replaceChars ["\n"] [" "] meta.longDescription;
     desktopName = product;
     genericName = meta.description;
-    categories = "Development;";
+    categories = [ "Development" ];
     icon = mainProgram;
-    extraEntries = ''
-      StartupWMClass=${wmClass}
-    '';
+    startupWMClass = wmClass;
   };
 
   vmoptsFile = optionalString (vmopts != null) (writeText vmoptsName vmopts);
@@ -82,10 +80,10 @@ with stdenv; lib.makeOverridable mkDerivation (rec {
         libnotify
       ] ++ extraLdPath)}" \
       ${lib.concatStringsSep " " extraWrapperArgs} \
-      --set JDK_HOME "$jdk" \
+      --set-default JDK_HOME "$jdk" \
+      --set-default ANDROID_JAVA_HOME "$jdk" \
+      --set-default JAVA_HOME "$jdk" \
       --set ${hiName}_JDK "$jdk" \
-      --set ANDROID_JAVA_HOME "$jdk" \
-      --set JAVA_HOME "$jdk" \
       --set ${hiName}_VM_OPTIONS ${vmoptsFile}
 
     ln -s "$item/share/applications" $out/share
diff --git a/pkgs/applications/editors/kdevelop5/kdev-php.nix b/pkgs/applications/editors/kdevelop5/kdev-php.nix
index 7a9b030e821..8308830efcc 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-php.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-php.nix
@@ -1,14 +1,12 @@
-{ stdenv, lib, fetchFromGitHub, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, kdevelop-pg-qt }:
+{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, kdevelop-pg-qt }:
 
 stdenv.mkDerivation rec {
   pname = "kdev-php";
   version = "5.6.2";
 
-  src = fetchFromGitHub {
-    owner = "KDE";
-    repo = "kdev-php";
-    rev = "v${version}";
-    sha256 = "sha256-hEumH7M6yAuH+jPShOmbKjHmuPRg2djaVy9Xt28eK38=";
+  src = fetchurl {
+    url = "mirror://kde/stable/kdevelop/${version}/src/${pname}-${version}.tar.xz";
+    hash = "sha256-8Qg9rsK4x1LeGgRB0Pn3InSx4tKccjAF7Xjc+Lpxfgw=";
   };
 
   nativeBuildInputs = [ cmake extra-cmake-modules ];
diff --git a/pkgs/applications/editors/kdevelop5/kdev-python.nix b/pkgs/applications/editors/kdevelop5/kdev-python.nix
index 03d3fce67e7..374b4224ca6 100644
--- a/pkgs/applications/editors/kdevelop5/kdev-python.nix
+++ b/pkgs/applications/editors/kdevelop5/kdev-python.nix
@@ -1,14 +1,12 @@
-{ stdenv, lib, fetchFromGitHub, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, python }:
+{ stdenv, lib, fetchurl, cmake, extra-cmake-modules, threadweaver, ktexteditor, kdevelop-unwrapped, python }:
 
 stdenv.mkDerivation rec {
   pname = "kdev-python";
   version = "5.6.2";
 
-  src = fetchFromGitHub {
-    owner = "KDE";
-    repo = "kdev-python";
-    rev = "v${version}";
-    sha256 = "sha256-xYElqpJjRtBRIyZGf6JaCvurQ+QrGrdLHxtuANYfCds=";
+  src = fetchurl {
+    url = "mirror://kde/stable/kdevelop/${version}/src/${pname}-${version}.tar.xz";
+    hash = "sha256-IPm3cblhJi3tmGpPMrjSWa2fe8SLsp6sCl1YU74dkX8=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/editors/kodestudio/default.nix b/pkgs/applications/editors/kodestudio/default.nix
index 38fb55ecf7b..e975678591c 100644
--- a/pkgs/applications/editors/kodestudio/default.nix
+++ b/pkgs/applications/editors/kodestudio/default.nix
@@ -39,7 +39,7 @@ in
       comment = "Kode Studio is an IDE for Kha based on Visual Studio Code";
       desktopName = "Kode Studio";
       genericName = "Text Editor";
-      categories = "GNOME;GTK;Utility;TextEditor;Development;";
+      categories = [ "GNOME" "GTK" "Utility" "TextEditor" "Development" ];
     };
 
     sourceRoot = ".";
diff --git a/pkgs/applications/editors/leo-editor/default.nix b/pkgs/applications/editors/leo-editor/default.nix
index ee22c591ad7..4a5f464f4bc 100644
--- a/pkgs/applications/editors/leo-editor/default.nix
+++ b/pkgs/applications/editors/leo-editor/default.nix
@@ -24,11 +24,9 @@ mkDerivation rec {
     comment = meta.description;
     desktopName = "Leo";
     genericName = "Text Editor";
-    categories = lib.concatStringsSep ";" [
-      "Application" "Development" "IDE"
-    ];
-    startupNotify = "false";
-    mimeType = lib.concatStringsSep ";" [
+    categories = [ "Application" "Development" "IDE" ];
+    startupNotify = false;
+    mimeTypes = [
       "text/plain" "text/asp" "text/x-c" "text/x-script.elisp" "text/x-fortran"
       "text/html" "application/inf" "text/x-java-source" "application/x-javascript"
       "application/javascript" "text/ecmascript" "application/x-ksh" "text/x-script.ksh"
diff --git a/pkgs/applications/editors/lite-xl/default.nix b/pkgs/applications/editors/lite-xl/default.nix
index a468e34393c..b19c3f531b7 100644
--- a/pkgs/applications/editors/lite-xl/default.nix
+++ b/pkgs/applications/editors/lite-xl/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lite-xl";
-  version = "2.0.4";
+  version = "2.0.5";
 
   src = fetchFromGitHub {
     owner = "lite-xl";
     repo = "lite-xl";
     rev = "v${version}";
-    sha256 = "sha256-yMdfJ8qE2Tv+CtvbPN6todzY/pDrYo+vaBeppuUt5F4=";
+    sha256 = "sha256-7ppO5ITijhJ37OL6xlQgu1SaQ/snXDH5xJOwuXZNUVA=";
   };
 
   patches = [
diff --git a/pkgs/applications/editors/moe/default.nix b/pkgs/applications/editors/moe/default.nix
index 4365c172f48..79595a00c26 100644
--- a/pkgs/applications/editors/moe/default.nix
+++ b/pkgs/applications/editors/moe/default.nix
@@ -6,11 +6,11 @@
 
 stdenv.mkDerivation rec {
   pname = "moe";
-  version = "1.11";
+  version = "1.12";
 
   src = fetchurl {
     url = "mirror://gnu/moe/${pname}-${version}.tar.lz";
-    sha256 = "sha256-DvvLz1pKjZZlQcbLCZugq2QWeANm286C2f+ZWoWl4vk=";
+    sha256 = "sha256-iohfK+Qm+OBK05yWASvYYJVAhaI3RPJFFmMWiCbXoeg=";
   };
 
   prePatch = ''
diff --git a/pkgs/applications/editors/nano/default.nix b/pkgs/applications/editors/nano/default.nix
index ffef9c5988b..658c18e5cb5 100644
--- a/pkgs/applications/editors/nano/default.nix
+++ b/pkgs/applications/editors/nano/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, fetchFromGitHub, ncurses, texinfo, writeScript
-, common-updater-scripts, git, nix, nixfmt, coreutils, gnused, nixosTests
+, common-updater-scripts, git, nix, nixfmt, coreutils, gnused, callPackage
 , gettext ? null, enableNls ? true, enableTiny ? false }:
 
 assert enableNls -> (gettext != null);
@@ -16,11 +16,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "nano";
-  version = "6.0";
+  version = "6.2";
 
   src = fetchurl {
     url = "mirror://gnu/nano/${pname}-${version}.tar.xz";
-    sha256 = "k6yMtotK0Q4KrrgKLdFcW7ietmWkhE960Bxn78sWnqI=";
+    sha256 = "K8oYBL6taq9K15H3VuR0m7Ve2GDuwQWpf7qGS8anfLM=";
   };
 
   nativeBuildInputs = [ texinfo ] ++ optional enableNls gettext;
@@ -41,7 +41,9 @@ in stdenv.mkDerivation rec {
   enableParallelBuilding = true;
 
   passthru = {
-    tests = { inherit (nixosTests) nano; };
+    tests = {
+      expect = callPackage ./test-with-expect.nix {};
+    };
 
     updateScript = writeScript "update.sh" ''
       #!${stdenv.shell}
diff --git a/pkgs/applications/editors/nano/test-with-expect.nix b/pkgs/applications/editors/nano/test-with-expect.nix
new file mode 100644
index 00000000000..bd48eba4324
--- /dev/null
+++ b/pkgs/applications/editors/nano/test-with-expect.nix
@@ -0,0 +1,35 @@
+{ nano, expect, runCommand, writeScriptBin, runtimeShell }:
+
+let expect-script = writeScriptBin "expect-script" ''
+  #!${expect}/bin/expect -f
+
+  # Load nano
+  spawn nano file.txt
+  expect "GNU nano ${nano.version}"
+
+  # Add some text to the buffer
+  send "Hello world!"
+  expect "Hello world!"
+
+  # Send ctrl-x (exit)
+  send "\030"
+  expect "Save modified buffer?"
+
+  # Answer "yes"
+  send "y"
+  expect "File Name to Write"
+
+  # Send "return" to accept the file path.
+  send "\r"
+  sleep 1
+  exit
+''; in
+runCommand "nano-test-expect"
+{
+  nativeBuildInputs = [ nano expect ];
+  passthru = { inherit expect-script; };
+} ''
+  expect -f ${expect-script}/bin/expect-script
+  grep "Hello world!" file.txt
+  touch $out
+''
diff --git a/pkgs/applications/editors/netbeans/default.nix b/pkgs/applications/editors/netbeans/default.nix
index f7614e76ef5..a00646437f7 100644
--- a/pkgs/applications/editors/netbeans/default.nix
+++ b/pkgs/applications/editors/netbeans/default.nix
@@ -10,7 +10,7 @@ let
     comment = "Integrated Development Environment";
     desktopName = "Apache NetBeans IDE";
     genericName = "Integrated Development Environment";
-    categories = "Development;";
+    categories = [ "Development" ];
     icon = "netbeans";
   };
 in
diff --git a/pkgs/applications/editors/nvi/default.nix b/pkgs/applications/editors/nvi/default.nix
index 38aea982633..c749000533e 100644
--- a/pkgs/applications/editors/nvi/default.nix
+++ b/pkgs/applications/editors/nvi/default.nix
@@ -35,5 +35,6 @@ stdenv.mkDerivation rec {
     description = "The Berkeley Vi Editor";
     license = licenses.free;
     platforms = platforms.unix;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/nvi.x86_64-darwin
   };
 }
diff --git a/pkgs/applications/editors/poke/default.nix b/pkgs/applications/editors/poke/default.nix
index 31c43fb19a3..e0500861391 100644
--- a/pkgs/applications/editors/poke/default.nix
+++ b/pkgs/applications/editors/poke/default.nix
@@ -22,11 +22,11 @@ let
   isCross = stdenv.hostPlatform != stdenv.buildPlatform;
 in stdenv.mkDerivation rec {
   pname = "poke";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-W4Ir8+ESyftcDJqyKjCkWl1eTRbj90NgUrtyCqJrmlg=";
+    sha256 = "sha256-zVKObBu8VAw7YpwrTza3hLMKAmsAWji5koNCJZlEJnA=";
   };
 
   outputs = [ "out" "dev" "info" "lib" "man" ];
diff --git a/pkgs/applications/editors/quartus-prime/default.nix b/pkgs/applications/editors/quartus-prime/default.nix
index 773b1f278e0..5a790e78090 100644
--- a/pkgs/applications/editors/quartus-prime/default.nix
+++ b/pkgs/applications/editors/quartus-prime/default.nix
@@ -10,7 +10,7 @@ let
     icon = "quartus";
     desktopName = "Quartus";
     genericName = "Quartus Prime";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 # I think modelsim_ase/linux/vlm checksums itself, so use FHSUserEnv instead of `patchelf`
 in buildFHSUserEnv rec {
@@ -25,6 +25,7 @@ in buildFHSUserEnv rec {
     # qsys requirements
     xorg.libXtst
     xorg.libXi
+    libudev0-shim
   ];
   multiPkgs = pkgs: with pkgs; let
     # This seems ugly - can we override `libpng = libpng12` for all `pkgs`?
diff --git a/pkgs/applications/editors/rednotebook/default.nix b/pkgs/applications/editors/rednotebook/default.nix
index 4e4835783e4..e5bdc28b80e 100644
--- a/pkgs/applications/editors/rednotebook/default.nix
+++ b/pkgs/applications/editors/rednotebook/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonApplication rec {
   pname = "rednotebook";
-  version = "2.22";
+  version = "2.23";
 
   src = fetchFromGitHub {
     owner = "jendrikseipp";
     repo = "rednotebook";
     rev = "v${version}";
-    sha256 = "11n970ad0j57vlll5j30ngkrfyil23v1b29ickbnblcldvjbgwa5";
+    sha256 = "sha256-CLQWbwwJnr6Al223GvV1hVNK13p2iAyjNF7PhdaU9N0=";
   };
 
   # We have not packaged tests.
@@ -36,8 +36,9 @@ buildPythonApplication rec {
 
   meta = with lib; {
     homepage = "https://rednotebook.sourceforge.io/";
+    changelog = "https://github.com/jendrikseipp/rednotebook/blob/v${version}/CHANGELOG.md";
     description = "A modern journal that includes a calendar navigation, customizable templates, export functionality and word clouds";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ orivej tstrobel ];
   };
 }
diff --git a/pkgs/applications/editors/retext/default.nix b/pkgs/applications/editors/retext/default.nix
index 533e353a43e..afb48ad65f4 100644
--- a/pkgs/applications/editors/retext/default.nix
+++ b/pkgs/applications/editors/retext/default.nix
@@ -1,29 +1,44 @@
-{ lib, python3, fetchFromGitHub, wrapQtAppsHook, buildEnv, aspellDicts
-# Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries
-# available.
+{ lib
+, python3
+, fetchFromGitHub
+, wrapQtAppsHook
+, buildEnv
+, aspellDicts
+  # Use `lib.collect lib.isDerivation aspellDicts;` to make all dictionaries
+  # available.
 , enchantAspellDicts ? with aspellDicts; [ en en-computers en-science ]
 }:
 
-let
-  version = "7.0.4";
-  pythonEnv = python3.withPackages (ps: with ps; [
-    pyqt5 docutils pyenchant Markups markdown pygments chardet
-  ]);
-in python3.pkgs.buildPythonApplication {
-  inherit version;
+python3.pkgs.buildPythonApplication rec {
   pname = "retext";
+  version = "7.2.3";
+  format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "retext-project";
     repo = "retext";
     rev = version;
-    sha256 = "1zcapywspc9v5zf5cxqkcy019np9n41gmryqixj66zsvd544c6si";
+    hash = "sha256-EwaJFODnkZGbqVw1oQrTrx2ME4vRttVW4CMPkWvMtHA=";
   };
 
-  doCheck = false;
+  nativeBuildInputs = [
+    wrapQtAppsHook
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    chardet
+    docutils
+    markdown
+    markups
+    pyenchant
+    pygments
+    pyqt5
+  ];
 
-  nativeBuildInputs = [ wrapQtAppsHook ];
-  propagatedBuildInputs = [ pythonEnv ];
+  postPatch = ''
+    # Remove wheel check
+    sed -i -e '31,36d' setup.py
+  '';
 
   postInstall = ''
     makeWrapperArgs+=("''${qtWrapperArgs[@]}")
@@ -39,10 +54,16 @@ in python3.pkgs.buildPythonApplication {
       --replace "Icon=ReText-${version}.data/data/share/retext/icons/retext.svg" "Icon=$out/share/retext/icons/retext.svg"
   '';
 
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "ReText"
+  ];
+
   meta = with lib; {
+    description = "Editor for Markdown and reStructuredText";
     homepage = "https://github.com/retext-project/retext/";
-    description = "Simple but powerful editor for Markdown and reStructuredText";
-    license = licenses.gpl3;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ klntsky ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/editors/rstudio/default.nix b/pkgs/applications/editors/rstudio/default.nix
index 04b688622be..eada77eea84 100644
--- a/pkgs/applications/editors/rstudio/default.nix
+++ b/pkgs/applications/editors/rstudio/default.nix
@@ -227,8 +227,13 @@ in
         desktopName = "RStudio";
         genericName = "IDE";
         comment = description;
-        categories = "Development;";
-        mimeType = "text/x-r-source;text/x-r;text/x-R;text/x-r-doc;text/x-r-sweave;text/x-r-markdown;text/x-r-html;text/x-r-presentation;application/x-r-data;application/x-r-project;text/x-r-history;text/x-r-profile;text/x-tex;text/x-markdown;text/html;text/css;text/javascript;text/x-chdr;text/x-csrc;text/x-c++hdr;text/x-c++src;";
+        categories = [ "Development" ];
+        mimeTypes = [
+          "text/x-r-source" "text/x-r" "text/x-R" "text/x-r-doc" "text/x-r-sweave" "text/x-r-markdown"
+          "text/x-r-html" "text/x-r-presentation" "application/x-r-data" "application/x-r-project"
+          "text/x-r-history" "text/x-r-profile" "text/x-tex" "text/x-markdown" "text/html"
+          "text/css" "text/javascript" "text/x-chdr" "text/x-csrc" "text/x-c++hdr" "text/x-c++src"
+        ];
       })
     ];
   })
diff --git a/pkgs/applications/editors/setzer/default.nix b/pkgs/applications/editors/setzer/default.nix
index 6b380e32bc6..894b7a43c01 100644
--- a/pkgs/applications/editors/setzer/default.nix
+++ b/pkgs/applications/editors/setzer/default.nix
@@ -18,13 +18,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "setzer";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "cvfosammmm";
     repo = "Setzer";
     rev = "v${version}";
-    sha256 = "sha256-uh6mXXJP/EpfvHTXL7PH+Yd1F5Q+6B01ns4vRr/2Xqo=";
+    hash = "sha256-rfk/csJJATXI1JvAHn2K/+fVLsqmkKxIbNWlcu1EhYY=";
   };
 
   format = "other";
diff --git a/pkgs/applications/editors/sigil/default.nix b/pkgs/applications/editors/sigil/default.nix
index 6b314dff93a..cd776fb6bfc 100644
--- a/pkgs/applications/editors/sigil/default.nix
+++ b/pkgs/applications/editors/sigil/default.nix
@@ -6,13 +6,13 @@
 
 mkDerivation rec {
   pname = "sigil";
-  version = "1.8.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     repo = "Sigil";
     owner = "Sigil-Ebook";
     rev = version;
-    sha256 = "sha256-luX4/KERB4GwpID7zVnd6F/mN8SHTy9zmqSUzJ1CYPk=";
+    sha256 = "sha256-3rECGnb0kkQwzsMxLxgAp0QEoHFHv+qCjiCgzCZeUJw=";
   };
 
   pythonPath = with python3Packages; [ lxml ];
diff --git a/pkgs/applications/editors/standardnotes/default.nix b/pkgs/applications/editors/standardnotes/default.nix
index 4191f6fbd20..6e478693d40 100644
--- a/pkgs/applications/editors/standardnotes/default.nix
+++ b/pkgs/applications/editors/standardnotes/default.nix
@@ -2,7 +2,7 @@
 , fetchurl, libsecret, gtk3, gsettings-desktop-schemas }:
 
 let
-  version = "3.9.5";
+  version = "3.11.1";
   pname = "standardnotes";
   name = "${pname}-${version}";
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
@@ -13,8 +13,8 @@ let
   }.${stdenv.hostPlatform.system} or throwSystem;
 
   sha256 = {
-    i686-linux = "sha256-7Mo8ELFV6roZ3IYWBtB2rRDAzJrq4ht9f1v6uohsauw=";
-    x86_64-linux = "sha256-9VPYII9E8E3yL7UuU0+GmaK3qxWX4bwfACDl7F7sngo=";
+    i686-linux = "3e83a7eef5c29877eeffefb832543b21627cf027ae6e7b4f662865b6b842649a";
+    x86_64-linux = "fd461e98248a2181afd2ef94a41a291d20f7ffb20abeaf0cfcf81a9f94e27868";
   }.${stdenv.hostPlatform.system} or throwSystem;
 
   src = fetchurl {
diff --git a/pkgs/applications/editors/sublime/2/default.nix b/pkgs/applications/editors/sublime/2/default.nix
index 7f14bf8ae14..074584e3360 100644
--- a/pkgs/applications/editors/sublime/2/default.nix
+++ b/pkgs/applications/editors/sublime/2/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "Sublime Text";
     genericName = "Text Editor";
-    categories = "TextEditor;Development;";
+    categories = [ "TextEditor" "Development" ];
     icon = "sublime_text";
   };
 
diff --git a/pkgs/applications/editors/texstudio/default.nix b/pkgs/applications/editors/texstudio/default.nix
index 67f1f7e6048..4e7bfc2cff7 100644
--- a/pkgs/applications/editors/texstudio/default.nix
+++ b/pkgs/applications/editors/texstudio/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "texstudio";
-  version = "4.2.1";
+  version = "4.2.2";
 
   src = fetchFromGitHub {
     owner = "${pname}-org";
     repo = pname;
     rev = version;
-    sha256 = "sha256-EUcYQKc/vxOg6E5ZIpWJezLEppOru79s+slO7e/+kAU=";
+    sha256 = "sha256-MZz8DQT1f6RU+euEED1bbg2MsaqC6+W3RoMk2qfIjr4=";
   };
 
   nativeBuildInputs = [ qmake wrapQtAppsHook pkg-config ];
diff --git a/pkgs/applications/editors/thonny/default.nix b/pkgs/applications/editors/thonny/default.nix
index 20d25bb616f..eb6ba73b2e0 100644
--- a/pkgs/applications/editors/thonny/default.nix
+++ b/pkgs/applications/editors/thonny/default.nix
@@ -21,7 +21,7 @@ buildPythonApplication rec {
     icon = "thonny";
     desktopName = "Thonny";
     comment     = "Python IDE for beginners";
-    categories  = "Development;IDE";
+    categories  = [ "Development" "IDE" ];
   }) ];
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/editors/tiled/default.nix b/pkgs/applications/editors/tiled/default.nix
index b0e26a8c7f1..d381e89e75a 100644
--- a/pkgs/applications/editors/tiled/default.nix
+++ b/pkgs/applications/editors/tiled/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "tiled";
-  version = "1.7.2";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "bjorn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yQWe27zLWOnRQk+MEpuWs8CFP/le3PQ+yziB0ikNang=";
+    sha256 = "sha256-5yh0+Z6SbHEFKvCJjQY9BS8vUihBspGhFjfhrUOfiIo=";
   };
 
   nativeBuildInputs = [ pkg-config qmake ];
diff --git a/pkgs/applications/editors/vim/common.nix b/pkgs/applications/editors/vim/common.nix
index 51a9b9af5bf..0cb09814c0f 100644
--- a/pkgs/applications/editors/vim/common.nix
+++ b/pkgs/applications/editors/vim/common.nix
@@ -1,12 +1,12 @@
 { lib, fetchFromGitHub }:
 rec {
-  version = "8.2.4186";
+  version = "8.2.4227";
 
   src = fetchFromGitHub {
     owner = "vim";
     repo = "vim";
     rev = "v${version}";
-    sha256 = "0g276mbmq69z7c4kgj59r0azxmx9ih2sd8v83dx2gfph6wgw65ph";
+    sha256 = "sha256-Xj4ymkrWY5GWpQhEDYtPtaRovBa6j19dW9GWg9WSdig=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/misc/vim-plugins/aliases.nix b/pkgs/applications/editors/vim/plugins/aliases.nix
index 955590cafe3..955590cafe3 100644
--- a/pkgs/misc/vim-plugins/aliases.nix
+++ b/pkgs/applications/editors/vim/plugins/aliases.nix
diff --git a/pkgs/misc/vim-plugins/build-vim-plugin.nix b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
index 3d36edb3232..3d36edb3232 100644
--- a/pkgs/misc/vim-plugins/build-vim-plugin.nix
+++ b/pkgs/applications/editors/vim/plugins/build-vim-plugin.nix
diff --git a/pkgs/misc/vim-plugins/default.nix b/pkgs/applications/editors/vim/plugins/default.nix
index 9bfcf443186..9bfcf443186 100644
--- a/pkgs/misc/vim-plugins/default.nix
+++ b/pkgs/applications/editors/vim/plugins/default.nix
diff --git a/pkgs/misc/vim-plugins/deprecated.json b/pkgs/applications/editors/vim/plugins/deprecated.json
index b185aa7483d..b185aa7483d 100644
--- a/pkgs/misc/vim-plugins/deprecated.json
+++ b/pkgs/applications/editors/vim/plugins/deprecated.json
diff --git a/pkgs/misc/vim-plugins/generated.nix b/pkgs/applications/editors/vim/plugins/generated.nix
index d55ab087cbd..71bbf865f15 100644
--- a/pkgs/misc/vim-plugins/generated.nix
+++ b/pkgs/applications/editors/vim/plugins/generated.nix
@@ -1,4 +1,4 @@
-# This file has been generated by ./pkgs/misc/vim-plugins/update.py. Do not edit!
+# This file has been generated by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!
 { lib, buildVimPluginFrom2Nix, fetchFromGitHub, fetchgit }:
 
 final: prev:
@@ -41,12 +41,12 @@ final: prev:
 
   aerial-nvim = buildVimPluginFrom2Nix {
     pname = "aerial.nvim";
-    version = "2022-02-04";
+    version = "2022-02-25";
     src = fetchFromGitHub {
       owner = "stevearc";
       repo = "aerial.nvim";
-      rev = "91350456c176fe5ef72e342dd3a75f726805454d";
-      sha256 = "18kj8rb6zdqaw255zi767si84jk5lbr3k1vhqjfi265399iwgii7";
+      rev = "0a229de4633a51548cb7257a116ea48dd4dd38c2";
+      sha256 = "19w0lkdak24m94hn4sp37h4q30i4893b7dwdvr7kz29na6x254rr";
     };
     meta.homepage = "https://github.com/stevearc/aerial.nvim/";
   };
@@ -77,12 +77,12 @@ final: prev:
 
   ale = buildVimPluginFrom2Nix {
     pname = "ale";
-    version = "2022-02-04";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "dense-analysis";
       repo = "ale";
-      rev = "a58b7b5efb058ca8ba597289af2ab49ee56bfc46";
-      sha256 = "018kl822mpy52fb9dza65w99i8s8xak9jdw8pv0z0dqa4m9ya2xp";
+      rev = "5b1044e2ade71fee4a59f94faa108d99b4e61fb2";
+      sha256 = "02np6iarx5yp8m5lvp4rmgl6zlxy7m64sp3fix7hh9dy51h58xs5";
     };
     meta.homepage = "https://github.com/dense-analysis/ale/";
   };
@@ -101,24 +101,24 @@ final: prev:
 
   aniseed = buildVimPluginFrom2Nix {
     pname = "aniseed";
-    version = "2021-12-23";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "aniseed";
-      rev = "7968693e841ea9d2b4809e23e8ec5c561854b6d6";
-      sha256 = "0jayi96r6khkqm3khbmb83ygb41azxc3gq05ykkiy44405ri7k04";
+      rev = "a955096c566843302a0a509680b92ab276488add";
+      sha256 = "1ka9p2d2fvr1p8gr39fq44msjqkshg3r6pjzzsnx8r821ql0055i";
     };
     meta.homepage = "https://github.com/Olical/aniseed/";
   };
 
   ansible-vim = buildVimPluginFrom2Nix {
     pname = "ansible-vim";
-    version = "2022-01-08";
+    version = "2022-02-11";
     src = fetchFromGitHub {
       owner = "pearofducks";
       repo = "ansible-vim";
-      rev = "f8c503ceb2d710b7a94814f56010dd3f5efe8ab1";
-      sha256 = "1v9d1y7wk1zkd7wmj9lfqa448mlfw26yrbx6di5p7azhp60d21bi";
+      rev = "93798e8c89c441d29d4678da0c0d5e1429eb43b0";
+      sha256 = "0r2q7iyw0y7zaf33k6ka5ca9v6g7zlmya5x0ph5xgsylmglq6jca";
     };
     meta.homepage = "https://github.com/pearofducks/ansible-vim/";
   };
@@ -171,6 +171,18 @@ final: prev:
     meta.homepage = "https://github.com/prabirshrestha/async.vim/";
   };
 
+  asyncomplete-lsp-vim = buildVimPluginFrom2Nix {
+    pname = "asyncomplete-lsp.vim";
+    version = "2021-12-17";
+    src = fetchFromGitHub {
+      owner = "prabirshrestha";
+      repo = "asyncomplete-lsp.vim";
+      rev = "f6d6a6354ff279ba707c20292aef0dfaadc436a3";
+      sha256 = "1y0wpq982nw0ibqhvcvb7md58jvadygkxc1ibg99zxw1kznfpla6";
+    };
+    meta.homepage = "https://github.com/prabirshrestha/asyncomplete-lsp.vim/";
+  };
+
   asyncomplete-vim = buildVimPluginFrom2Nix {
     pname = "asyncomplete.vim";
     version = "2021-12-06";
@@ -183,6 +195,30 @@ final: prev:
     meta.homepage = "https://github.com/prabirshrestha/asyncomplete.vim/";
   };
 
+  asyncrun-vim = buildVimPluginFrom2Nix {
+    pname = "asyncrun.vim";
+    version = "2022-02-19";
+    src = fetchFromGitHub {
+      owner = "skywind3000";
+      repo = "asyncrun.vim";
+      rev = "6942fc4fcb2058fe1401761e97641f42aadb7758";
+      sha256 = "12q9im1rd7zmdfw6bax7x7pjnlf6204ar70z77fv3cpi09r2s3sz";
+    };
+    meta.homepage = "https://github.com/skywind3000/asyncrun.vim/";
+  };
+
+  asynctasks-vim = buildVimPluginFrom2Nix {
+    pname = "asynctasks.vim";
+    version = "2022-01-12";
+    src = fetchFromGitHub {
+      owner = "skywind3000";
+      repo = "asynctasks.vim";
+      rev = "dfecf57c79ded5ead2911e32caff46d8cede8c5c";
+      sha256 = "1w58y2ccgry47nhidqv4vg1wag7saphs2xad9wfpq65sj8vva3kk";
+    };
+    meta.homepage = "https://github.com/skywind3000/asynctasks.vim/";
+  };
+
   ats-vim = buildVimPluginFrom2Nix {
     pname = "ats-vim";
     version = "2020-09-04";
@@ -233,12 +269,12 @@ final: prev:
 
   auto-session = buildVimPluginFrom2Nix {
     pname = "auto-session";
-    version = "2022-01-30";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "rmagatti";
       repo = "auto-session";
-      rev = "5860ae9369c86332ec45b38ab8308b9a4afb272c";
-      sha256 = "0klwbjgxqddw5apqzrx9fsqk25xy6nbaplx4fw68x6z0c63dbvsa";
+      rev = "da8a37dc635ef25c39442351fb3c838d151eda71";
+      sha256 = "0pn32l9pzvxl5fd8l3pxjsrzx0gv794xjh2flv0gf2f9lk4hvcbx";
     };
     meta.homepage = "https://github.com/rmagatti/auto-session/";
   };
@@ -281,12 +317,12 @@ final: prev:
 
   barbar-nvim = buildVimPluginFrom2Nix {
     pname = "barbar.nvim";
-    version = "2021-10-05";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "romgrk";
       repo = "barbar.nvim";
-      rev = "6e638309efcad2f308eb9c5eaccf6f62b794bbab";
-      sha256 = "0kvhwn3gr5x5vf2cgjda22naf8cvgkc43zalvxvr99s9jcjyynki";
+      rev = "be65945626fb6bf6058cae61d5176d156f923c11";
+      sha256 = "165ffjrwhhjdyssj96z4qn3fjys0dxwckpvjyzrpca2b2fag0cx2";
     };
     meta.homepage = "https://github.com/romgrk/barbar.nvim/";
   };
@@ -329,12 +365,12 @@ final: prev:
 
   better-escape-nvim = buildVimPluginFrom2Nix {
     pname = "better-escape.nvim";
-    version = "2022-01-14";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "max397574";
       repo = "better-escape.nvim";
-      rev = "2bee35e435310c7cc1333fff983268ae3f17b06f";
-      sha256 = "1y6q2r462l7p4y9x5fn04902s41n4rr0xrwnry6vwp4rdlzldw8c";
+      rev = "b227dd1380bbe226b117f9b758e146aa7c2e7d82";
+      sha256 = "1jzfjnry03cv8nxf30h4x5pad5s55k4grzy1jp26sb3xjlpriz3p";
     };
     meta.homepage = "https://github.com/max397574/better-escape.nvim/";
   };
@@ -413,24 +449,24 @@ final: prev:
 
   bufexplorer = buildVimPluginFrom2Nix {
     pname = "bufexplorer";
-    version = "2022-01-28";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "jlanzarotta";
       repo = "bufexplorer";
-      rev = "b3a24722bea9029b4c37eb0547b87152d514c66f";
-      sha256 = "14114786fkqjzpl3aqsk2lmfnlhxzdkkanv6ls6q0cwvpqdng6wc";
+      rev = "4b1d3adca7e968ebc619cf2f6f3e197ef78c8342";
+      sha256 = "0imyzav898hzx4d669rxx7qyac6b8csp04am2j85rr31rywylpn0";
     };
     meta.homepage = "https://github.com/jlanzarotta/bufexplorer/";
   };
 
   bufferline-nvim = buildVimPluginFrom2Nix {
     pname = "bufferline.nvim";
-    version = "2022-01-16";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "bufferline.nvim";
-      rev = "7451dfc97d28e6783dbeb1cdcff12619a9323c98";
-      sha256 = "0w0ww4x6il3g7623rdnzdm82dg6484liglxzzd8rff5av6sx3ja8";
+      rev = "871495d9e2dbe3314a421fd2d5e46f47de7ee537";
+      sha256 = "1xw13g6l16i6k32f3mdzmihz0m0n9y586ykiynjwkil69wxpjd1l";
     };
     meta.homepage = "https://github.com/akinsho/bufferline.nvim/";
   };
@@ -473,12 +509,12 @@ final: prev:
 
   catppuccin-nvim = buildVimPluginFrom2Nix {
     pname = "catppuccin-nvim";
-    version = "2022-02-04";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "catppuccin";
       repo = "nvim";
-      rev = "d48d3926b10ac1f9ef77cbcac35a4c7160cff6bf";
-      sha256 = "1vvn4qh849rdswvz4cnqci3ahp0z6jppqzg6rlavh8aayppw89lk";
+      rev = "5169cd99bd4bc5f0c2d505e91190383c3c323680";
+      sha256 = "1q5bz37yfzbnm6h9n0c3y8nn69zphsxjsjykly28xg6q87il9di5";
     };
     meta.homepage = "https://github.com/catppuccin/nvim/";
   };
@@ -497,12 +533,12 @@ final: prev:
 
   chadtree = buildVimPluginFrom2Nix {
     pname = "chadtree";
-    version = "2022-02-05";
+    version = "2022-02-25";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "chadtree";
-      rev = "02d04d54e0e98086b13f3a6dd49db9b1161d0e6c";
-      sha256 = "06hsz3y4bgn41kzpk17lwxhm7075kckzxi13j5qw2dvfnazahdg3";
+      rev = "f932760f16368c5feeb079a878ed0ff8588aed29";
+      sha256 = "18bpfbb8aj2pmh84mq6w3435nyha0xiqpralx8daxb89vl0drvn4";
     };
     meta.homepage = "https://github.com/ms-jpq/chadtree/";
   };
@@ -605,24 +641,24 @@ final: prev:
 
   cmd-parser-nvim = buildVimPluginFrom2Nix {
     pname = "cmd-parser.nvim";
-    version = "2021-05-30";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "winston0410";
       repo = "cmd-parser.nvim";
-      rev = "70813af493398217cb1df10950ae8b99c58422db";
-      sha256 = "0rfa8cpykarcal8qcfp1dax1kgcbq7bv1ld6r1ia08n9vnqi5vm6";
+      rev = "6363b8bddef968c3ec51a38172af44f675f01ef3";
+      sha256 = "11vi9fwgbcvrb8jnicsnwmggayn0586glfdknlkg43smz2cay3f1";
     };
     meta.homepage = "https://github.com/winston0410/cmd-parser.nvim/";
   };
 
   cmp-buffer = buildVimPluginFrom2Nix {
     pname = "cmp-buffer";
-    version = "2022-01-04";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-buffer";
-      rev = "f83773e2f433a923997c5faad7ea689ec24d1785";
-      sha256 = "0z1c0x60hz3khgpp7nfj0i579sgi4vsnhhcqb02i7a8jx685qwrd";
+      rev = "d66c4c2d376e5be99db68d2362cd94d250987525";
+      sha256 = "0n9mqrf4rzj784zhshxr2wqyhm99d9mzalxqnik7srkghjvc9l4a";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-buffer/";
   };
@@ -641,12 +677,12 @@ final: prev:
 
   cmp-cmdline = buildVimPluginFrom2Nix {
     pname = "cmp-cmdline";
-    version = "2021-12-01";
+    version = "2022-02-13";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "cmp-cmdline";
-      rev = "29ca81a6f0f288e6311b3377d9d9684d22eac2ec";
-      sha256 = "0yzh0jdys1bn1c2mqm410c0ndyyyxpmigzdrkhnkv78b16vjyhq6";
+      rev = "f4beb74e8e036f9532bedbcac0b93c7a55a0f8b0";
+      sha256 = "0spc5vhrcz2ld1cxf9n27mhhfdwm0v89xbbyzbi9hshzfssndagh";
     };
     meta.homepage = "https://github.com/hrsh7th/cmp-cmdline/";
   };
@@ -723,6 +759,18 @@ final: prev:
     meta.homepage = "https://github.com/hrsh7th/cmp-nvim-lua/";
   };
 
+  cmp-nvim-ultisnips = buildVimPluginFrom2Nix {
+    pname = "cmp-nvim-ultisnips";
+    version = "2022-02-21";
+    src = fetchFromGitHub {
+      owner = "quangnguyen30192";
+      repo = "cmp-nvim-ultisnips";
+      rev = "3cac37c0dfea9d42cf69d9638bb63f267c5a1033";
+      sha256 = "1h4jjhczgx9kp4a0d9jf5qa0jkhb15zzdfhkpfgxfz2szh8frj0k";
+    };
+    meta.homepage = "https://github.com/quangnguyen30192/cmp-nvim-ultisnips/";
+  };
+
   cmp-omni = buildVimPluginFrom2Nix {
     pname = "cmp-omni";
     version = "2022-01-08";
@@ -737,12 +785,12 @@ final: prev:
 
   cmp-pandoc-references = buildVimPluginFrom2Nix {
     pname = "cmp-pandoc-references";
-    version = "2021-10-11";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "jc-doyle";
       repo = "cmp-pandoc-references";
-      rev = "9f27411d118194fc9ee6e1f86574ad8077de54be";
-      sha256 = "02g6rf2pzx1syhhbhrkxzygz27q2i1hsrymjcyj9q5h31wz0qzhq";
+      rev = "13e6c080fb16836f52c7fc498eecaae51adb4d54";
+      sha256 = "10pyzv4pdis05ap9jrz6wszxjha0m3bdjv6pd7xqm1hqahsyf4qs";
     };
     meta.homepage = "https://github.com/jc-doyle/cmp-pandoc-references/";
   };
@@ -881,12 +929,12 @@ final: prev:
 
   coc-lua = buildVimPluginFrom2Nix {
     pname = "coc-lua";
-    version = "2022-01-26";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "josa42";
       repo = "coc-lua";
-      rev = "80a1100866354d2e057fb5a7ef979978b5990ecc";
-      sha256 = "1jqx2195c01im5gnp5knqwgrb9fkxsasb9m54s8c2vhqg7i7j7pg";
+      rev = "4f73c9dd68fdd9493e34020e3e626e788b95fd9a";
+      sha256 = "0igsr25shrjl9fj8is6lpyff9l2by7jkjmck5n56wdn97cxav719";
     };
     meta.homepage = "https://github.com/josa42/coc-lua/";
   };
@@ -917,12 +965,12 @@ final: prev:
 
   coc-nvim = buildVimPluginFrom2Nix {
     pname = "coc.nvim";
-    version = "2022-02-04";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "neoclide";
       repo = "coc.nvim";
-      rev = "154653f540334ad2888b5d90b66fa9346ff5095a";
-      sha256 = "1fm8nagw06nhrr7bqz30vcxgb9s0kd8x8b28f9jdvm7sl7jd61hv";
+      rev = "1bdaaefc15baea37f4de1f8bedb5b3dd7c0efd32";
+      sha256 = "1vjwgbw9r4jd41nkxmkn3yxdmds1alf9gf96kv0jdxjdxryy23dc";
     };
     meta.homepage = "https://github.com/neoclide/coc.nvim/";
   };
@@ -941,12 +989,12 @@ final: prev:
 
   colorbuddy-nvim = buildVimPluginFrom2Nix {
     pname = "colorbuddy.nvim";
-    version = "2021-12-01";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "tjdevries";
       repo = "colorbuddy.nvim";
-      rev = "c678edd8113274574f9d9ef440773d1123e1431d";
-      sha256 = "095347cz5idcb09l4sl236agzi89lyr9r40nix2c8vk5pbskvp8f";
+      rev = "e0f5fafb4ee06cb29a915f8128282fc1f99b128f";
+      sha256 = "1lfb6ynhjyxzsm6id720f07cc1f52g38mzfc1i0hi4mysjnrkfh3";
     };
     meta.homepage = "https://github.com/tjdevries/colorbuddy.nvim/";
   };
@@ -990,12 +1038,12 @@ final: prev:
 
   comment-nvim = buildVimPluginFrom2Nix {
     pname = "comment.nvim";
-    version = "2022-02-01";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "numtostr";
       repo = "comment.nvim";
-      rev = "af51a8af6b213336345f36fc7aba65f9c3316696";
-      sha256 = "1zzv4f1rxqfl9saf90gf6h5cbcnw1jc4qqm63x3zkl6a8s9qpj51";
+      rev = "18a8dc0bbdfc089d5f5a850e4640d8e75381c598";
+      sha256 = "00yvac1iks83jy7cbkalx0hy3sg0d14hn4zd3jk5wc25c7f1jzmq";
     };
     meta.homepage = "https://github.com/numtostr/comment.nvim/";
   };
@@ -1134,12 +1182,12 @@ final: prev:
 
   conjure = buildVimPluginFrom2Nix {
     pname = "conjure";
-    version = "2022-01-22";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "Olical";
       repo = "conjure";
-      rev = "93a668527b203a3353ef2bd5337f6c55119bb7e6";
-      sha256 = "1a5w1wmc5vx3y32rci5km73wj6vq6cjgc4ss4w0w95s7sk8kaggn";
+      rev = "6c53d863c0843be0f68a138def146d6b8f725b22";
+      sha256 = "1f5z99ac72433f2nj714fk6xd76mq7yr5i5z1afwgrhx61zbwn5h";
     };
     meta.homepage = "https://github.com/Olical/conjure/";
   };
@@ -1158,12 +1206,12 @@ final: prev:
 
   copilot-vim = buildVimPluginFrom2Nix {
     pname = "copilot.vim";
-    version = "2021-12-07";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "github";
       repo = "copilot.vim";
-      rev = "c01314840b94da0b9767b52f8a4bbc579214e509";
-      sha256 = "10vw2hjrg20i8id5wld8c5b1m96fnxvkb5qhbdf9w5sagawn4wc2";
+      rev = "47eb231463d3654de1a205c4e30567fbd006965d";
+      sha256 = "06znz1869h7cdh9xc0b54mysslgpf3qdwsj5zvnzrzk6fnfin03q";
     };
     meta.homepage = "https://github.com/github/copilot.vim/";
   };
@@ -1182,24 +1230,24 @@ final: prev:
 
   coq_nvim = buildVimPluginFrom2Nix {
     pname = "coq_nvim";
-    version = "2022-02-05";
+    version = "2022-02-25";
     src = fetchFromGitHub {
       owner = "ms-jpq";
       repo = "coq_nvim";
-      rev = "e87f233f0bd12aca30b8fad079c69548481044e3";
-      sha256 = "0rsd8y41l3dgls731q8hq851i470c2rz0ji9pzrnxkypypziaigg";
+      rev = "1792fee68dfba89632022e9524c2dcef10d399cd";
+      sha256 = "1y0ycmv1394mnxqzmrxx7ac846sy24cw7hgdxvp2w08cicysb38a";
     };
     meta.homepage = "https://github.com/ms-jpq/coq_nvim/";
   };
 
   Coqtail = buildVimPluginFrom2Nix {
     pname = "Coqtail";
-    version = "2022-02-02";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "whonore";
       repo = "Coqtail";
-      rev = "ccfe42887401d99e4a1dfc89306f9376fbbc062d";
-      sha256 = "0lvkzd3hwm4yzlpf5l77cy08dxx7r02zz5yg5w271bwf3lfcj61d";
+      rev = "3526cb195cb381cef5d4fc25c532f00942562874";
+      sha256 = "0jxbdcjkmfwi05g1xdibr0i24hq23ihslmhpbj4yy0hj1x7afdk2";
     };
     meta.homepage = "https://github.com/whonore/Coqtail/";
   };
@@ -1302,12 +1350,12 @@ final: prev:
 
   ctrlp-vim = buildVimPluginFrom2Nix {
     pname = "ctrlp.vim";
-    version = "2022-01-14";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "ctrlpvim";
       repo = "ctrlp.vim";
-      rev = "ed04d2ec91c78748f0d8ddf69df2f6e5cffa7bb8";
-      sha256 = "1336bk2w4ll1vq6vwd0pq77021i13hcrm3mqzynznvhxwwxrk4dy";
+      rev = "d5b092036bc651912474f64277913be8502f8f09";
+      sha256 = "12nmcam301h69181hznsh19p9sl42srp98dfa56ghy4iyrcg2d34";
     };
     meta.homepage = "https://github.com/ctrlpvim/ctrlp.vim/";
   };
@@ -1410,24 +1458,24 @@ final: prev:
 
   denite-nvim = buildVimPluginFrom2Nix {
     pname = "denite.nvim";
-    version = "2022-01-15";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "denite.nvim";
-      rev = "f88be9be638fd93c8159d3d0434c6e0576bec6d1";
-      sha256 = "1xkgbb1av95bi5svl15909mkbb0jhwb15x9fnvbypjzz1i4mvb82";
+      rev = "fbee9c1d2ff6d58b6b24c079fbb221414857cb9e";
+      sha256 = "1i0adlg0qldygy60ca1z5m7bh0mv4jj5alcd43m8n6inkr0yzsnm";
     };
     meta.homepage = "https://github.com/Shougo/denite.nvim/";
   };
 
   deol-nvim = buildVimPluginFrom2Nix {
     pname = "deol.nvim";
-    version = "2022-02-02";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "deol.nvim";
-      rev = "a8b12c00ffb9c0233881680ff4f20d6228d2239f";
-      sha256 = "1q4vmzwlii9gk6a3wld79rv1gjc4ar4aslg7jc8pc3ixaggw7prj";
+      rev = "bf9b2bafc76e290f11eabd654ac830034a4b553b";
+      sha256 = "1hya333j0j7mhk1cnyjpy3rzmzbq7pddnyrjrl3bi4xhq8044g3h";
     };
     meta.homepage = "https://github.com/Shougo/deol.nvim/";
   };
@@ -1700,12 +1748,12 @@ final: prev:
 
   diffview-nvim = buildVimPluginFrom2Nix {
     pname = "diffview.nvim";
-    version = "2021-12-17";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "sindrets";
       repo = "diffview.nvim";
-      rev = "eef47458679a922ef101c1e4c07fb7b36d701385";
-      sha256 = "1k1zsxiq034x72w98117h5cakxxhxak7zq0gwlq812j4gqz8011h";
+      rev = "cf32c3fcdbc2f6855f6bb883302c9f290e9c3d88";
+      sha256 = "0vikawxr40pkprsn8yzpacs33hfakpb98j5lmpf7sjmvyzkb1x8b";
     };
     meta.homepage = "https://github.com/sindrets/diffview.nvim/";
   };
@@ -1724,12 +1772,12 @@ final: prev:
 
   doki-theme-vim = buildVimPluginFrom2Nix {
     pname = "doki-theme-vim";
-    version = "2022-01-04";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "doki-theme";
       repo = "doki-theme-vim";
-      rev = "5183d43fd2b3ccbb7747f85275a94aadc84c1b11";
-      sha256 = "13mmc7wb4ngxwyjb7i990mf3lgvn2n90m0cy4y0zpmyghrxa2k9z";
+      rev = "fe7112ce7db0c8c65420e82aabfe7a98be2b538b";
+      sha256 = "07vy5kf7pqsdqsz5jmqj6lm2aizcncfi4j1vmkpnjw9rpp3c733r";
     };
     meta.homepage = "https://github.com/doki-theme/doki-theme-vim/";
   };
@@ -1784,12 +1832,12 @@ final: prev:
 
   edge = buildVimPluginFrom2Nix {
     pname = "edge";
-    version = "2022-02-04";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "edge";
-      rev = "4078d2bb859fbb907880dca5f2bcb4815b30351d";
-      sha256 = "036lnw87dw2rrx2r2nb4yplwrhy5dhdi44crbmfrpq34iqw97yzr";
+      rev = "032c406c7f63874c459234beedf8452d2fa38ee4";
+      sha256 = "1qjv2zs07svnw5whs2lsznxpbffr03i95n8q6xipqndzya7g23ym";
     };
     meta.homepage = "https://github.com/sainnhe/edge/";
   };
@@ -1809,12 +1857,12 @@ final: prev:
 
   editorconfig-nvim = buildVimPluginFrom2Nix {
     pname = "editorconfig.nvim";
-    version = "2021-12-12";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "gpanders";
       repo = "editorconfig.nvim";
-      rev = "fd56950ca2427114f7d2e34aba312df3c2788cdb";
-      sha256 = "1hns2sahc6yy8k3fkbpyd94sm3ywfcz3hndmijz5b1qnr5xhcvf2";
+      rev = "495d3e2f56ee392de0d55902c82849f94b6fc86b";
+      sha256 = "1m80hjm1m04dsivwqhxk5753gd8yzww62130wvgdsac3z394zzrn";
     };
     meta.homepage = "https://github.com/gpanders/editorconfig.nvim/";
   };
@@ -1930,12 +1978,12 @@ final: prev:
 
   feline-nvim = buildVimPluginFrom2Nix {
     pname = "feline.nvim";
-    version = "2021-12-28";
+    version = "2022-02-13";
     src = fetchFromGitHub {
       owner = "feline-nvim";
       repo = "feline.nvim";
-      rev = "e54e0cc5338b44d97dcaab83dd67d5a522656774";
-      sha256 = "10xqjh8dj470iikhpksbk0w767s3i73s4p4qnvpznr4lqkg7ckr7";
+      rev = "7ddd3f02757b04f1035d0ae8bbe9d8461d536a2d";
+      sha256 = "0dfv4a131x5c6njwiz34kfr0sgky8mmd3ifd7gpk5z5q5cwgbhg0";
     };
     meta.homepage = "https://github.com/feline-nvim/feline.nvim/";
   };
@@ -1954,12 +2002,12 @@ final: prev:
 
   fern-vim = buildVimPluginFrom2Nix {
     pname = "fern.vim";
-    version = "2022-01-11";
+    version = "2022-02-13";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "fern.vim";
-      rev = "b6204ec4e04732d7b4ba73a3e4af48cba3576d67";
-      sha256 = "0ndddww8ciwil7bpn77yahb7fcn5i59sq91syqy3qr0wwmfc7mwc";
+      rev = "d2ceaeb0c16ff0ea38def9442d6062371cec1548";
+      sha256 = "0p3r2xff2lkmvqc390nwn6qrgif5niclbqvs4hx0fypq5b86i33y";
     };
     meta.homepage = "https://github.com/lambdalisue/fern.vim/";
   };
@@ -1978,12 +2026,12 @@ final: prev:
 
   fidget-nvim = buildVimPluginFrom2Nix {
     pname = "fidget.nvim";
-    version = "2022-02-01";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "j-hui";
       repo = "fidget.nvim";
-      rev = "3a93eb5f729f52452d2e8f7b7ee23ca9b02efd71";
-      sha256 = "0ba1a4ajlnwc1vkp89xwjdnbrnnd569yfryv8xs2398q8spbp5qd";
+      rev = "cbe0db4f2adfddfd830310e5846f8735d4e068fa";
+      sha256 = "0fg3rmp3nnb3hh8cs4mha96xjfzkgbs308a5lbmsbkqz9gi2l6yq";
     };
     meta.homepage = "https://github.com/j-hui/fidget.nvim/";
   };
@@ -2002,12 +2050,12 @@ final: prev:
 
   FixCursorHold-nvim = buildVimPluginFrom2Nix {
     pname = "FixCursorHold.nvim";
-    version = "2021-11-02";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "antoinemadec";
       repo = "FixCursorHold.nvim";
-      rev = "0e4e22d21975da60b0fd2d302285b3b603f9f71e";
-      sha256 = "1qrf6ig1gbrbq6wrxqkabnqx6zqwjw7wqacl7q2ckw4sy6sam7mz";
+      rev = "1bfb32e7ba1344925ad815cb0d7f901dbc0ff7c1";
+      sha256 = "0b1iffk6pa2zwd9fvlgqli72r8qj74b7hqkhlw6awhc7r1qj8m1q";
     };
     meta.homepage = "https://github.com/antoinemadec/FixCursorHold.nvim/";
   };
@@ -2063,12 +2111,12 @@ final: prev:
 
   formatter-nvim = buildVimPluginFrom2Nix {
     pname = "formatter.nvim";
-    version = "2021-11-03";
+    version = "2022-02-11";
     src = fetchFromGitHub {
       owner = "mhartington";
       repo = "formatter.nvim";
-      rev = "0cdce2da8762ee01ee7d8df047b6e569d58c1ba3";
-      sha256 = "1169xj5k04l7gfhxqa4afq9khf6yv5bcihir21sgzpym4z69axh7";
+      rev = "c879f29c592afc9b9a15e4daa5fd7e78c56af89c";
+      sha256 = "1669jww7cv9sv8v4z1sscilixmx2945h2rvz9afc384i1pfidips";
     };
     meta.homepage = "https://github.com/mhartington/formatter.nvim/";
   };
@@ -2171,12 +2219,12 @@ final: prev:
 
   fzf-lsp-nvim = buildVimPluginFrom2Nix {
     pname = "fzf-lsp.nvim";
-    version = "2022-01-23";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "gfanto";
       repo = "fzf-lsp.nvim";
-      rev = "74a8b7d3f39dbcbcb920a99b63adc4867363e8c3";
-      sha256 = "0c80shgzxz90213qhx7bvd1fkzkdq9g79m157dnwvzh121jmpdap";
+      rev = "b02056f3c4b9d64d876bbf0a58d20791345a9364";
+      sha256 = "16n78ylicrd7lh41g5hvd9vnnhkwbvj28c190k5zvrblyyhipn93";
     };
     meta.homepage = "https://github.com/gfanto/fzf-lsp.nvim/";
   };
@@ -2219,24 +2267,24 @@ final: prev:
 
   gentoo-syntax = buildVimPluginFrom2Nix {
     pname = "gentoo-syntax";
-    version = "2022-02-03";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "gentoo";
       repo = "gentoo-syntax";
-      rev = "a3e19f88a6734e75d245147eee9647f621fed420";
-      sha256 = "1qxqdr1hmszji0ai3qd6z6raz4iq8si3sl12lhgny4sq4071304r";
+      rev = "cf5f268f8b19262515105739bdcc112cd2a6cdbc";
+      sha256 = "1pbvr1yirn17fxw8zlzp8j5brj0n2sdm3ampjryirdxknli93685";
     };
     meta.homepage = "https://github.com/gentoo/gentoo-syntax/";
   };
 
   ghcid = buildVimPluginFrom2Nix {
     pname = "ghcid";
-    version = "2022-01-05";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "ndmitchell";
       repo = "ghcid";
-      rev = "0901c07f33164378cb9f21156d52661abc2158f5";
-      sha256 = "11rzkw19m3nazsc202a8qrl11kb77nrhl8fbb076nf7s9l97lwkh";
+      rev = "5957897f76b1f5fe3abbdd612d19be2c69452b0e";
+      sha256 = "1d05nh2plyha3h8kr9pzys2730kbfxhb0lb2k2fg08bcxcnz144k";
     };
     meta.homepage = "https://github.com/ndmitchell/ghcid/";
   };
@@ -2267,12 +2315,12 @@ final: prev:
 
   git-blame-nvim = buildVimPluginFrom2Nix {
     pname = "git-blame.nvim";
-    version = "2022-02-03";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "f-person";
       repo = "git-blame.nvim";
-      rev = "c32ac3b9d27564f83378a3883a921eee477652e2";
-      sha256 = "07qm60xaddcdgq197mivd61z12z9rjzr0i4kp9wwfa1bn7np3531";
+      rev = "fdd38cf969af53acfaebde75ce74bb9bdc44daca";
+      sha256 = "0pl60wgsc8pfhbzi6rgxa8kd4pbw7qdk2xc161i1qxykjjkczgwa";
     };
     meta.homepage = "https://github.com/f-person/git-blame.nvim/";
   };
@@ -2327,12 +2375,12 @@ final: prev:
 
   gitsigns-nvim = buildVimPluginFrom2Nix {
     pname = "gitsigns.nvim";
-    version = "2022-02-02";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "gitsigns.nvim";
-      rev = "672482df3e80e4e30587c54d4c5e3a7f729ce039";
-      sha256 = "1zb8z5qpq21rg36sb0wpz0lfzw03zr5hk2ar9m2y7gj1h5zfnlpr";
+      rev = "1d1f043acf025f919b8dd12bb672569109c7f099";
+      sha256 = "1wcinz5r81mcx246vxwqqs3dfc7j61x81bp9zf02p3hflhf66s7h";
     };
     meta.homepage = "https://github.com/lewis6991/gitsigns.nvim/";
   };
@@ -2471,24 +2519,24 @@ final: prev:
 
   gruvbox-material = buildVimPluginFrom2Nix {
     pname = "gruvbox-material";
-    version = "2022-02-04";
+    version = "2022-02-20";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "gruvbox-material";
-      rev = "2a4f998b65fe39f6a762a7d261249a93c848dac9";
-      sha256 = "09q7dh46dbajdd5hfc88jdfwxsv7c8zm1hmm3wjfjfwb5bln06dq";
+      rev = "fde5af0921d4ac5e0b108417f3b57595ca5c7e7f";
+      sha256 = "0sd106rkcsmypha79jwkangsh0i4dx4viiqgdqbk3hi05fsnwngm";
     };
     meta.homepage = "https://github.com/sainnhe/gruvbox-material/";
   };
 
   gruvbox-nvim = buildVimPluginFrom2Nix {
     pname = "gruvbox.nvim";
-    version = "2022-01-27";
+    version = "2022-02-12";
     src = fetchFromGitHub {
       owner = "ellisonleao";
       repo = "gruvbox.nvim";
-      rev = "d4d0c6e66c1f4d5bdc0cb216c882d88d223a4187";
-      sha256 = "0s12sxhpk59r8a12df0zbhbmj6djffqmh1pw2fhw392zrb1549m8";
+      rev = "dc6bae93ded04ac542d429ff5cc87189dde44294";
+      sha256 = "06mvdxi1pf9mw0zrk0cib3bi9p82ymdc3acm4r2rr4rqww8mrq4x";
     };
     meta.homepage = "https://github.com/ellisonleao/gruvbox.nvim/";
   };
@@ -2519,12 +2567,12 @@ final: prev:
 
   harpoon = buildVimPluginFrom2Nix {
     pname = "harpoon";
-    version = "2022-02-04";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "ThePrimeagen";
       repo = "harpoon";
-      rev = "d035ef263a75029b0351f2be3708ec2829e2a3df";
-      sha256 = "0zj44bcpsxdmxy36sfdbcc9587pasqffwhl72sjz943rvpxngng7";
+      rev = "b2bb0d6f2b8a55895afda53f0ad04527998d3411";
+      sha256 = "0izsscglfk6lpisxvarr0qw4m9br8854wi6jhyp2msd8r9gcrzi7";
     };
     meta.homepage = "https://github.com/ThePrimeagen/harpoon/";
   };
@@ -2579,12 +2627,12 @@ final: prev:
 
   hologram-nvim = buildVimPluginFrom2Nix {
     pname = "hologram.nvim";
-    version = "2021-11-14";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "edluffy";
       repo = "hologram.nvim";
-      rev = "1d1acf102de7a5eed7de62691250b064d6db9d8a";
-      sha256 = "0ihr85iisjc3xr9jhm4fdgzhrjr1krnvinzb2x8cgmk7zsl5l194";
+      rev = "de698e1f8db5d1d3a65ba9dd1880096ae2d5ff7f";
+      sha256 = "099dj5zvijhpvvd6r0zvsyl0v841cqh4vz678k1f7jcrpk6g9537";
     };
     meta.homepage = "https://github.com/edluffy/hologram.nvim/";
   };
@@ -2603,12 +2651,12 @@ final: prev:
 
   hop-nvim = buildVimPluginFrom2Nix {
     pname = "hop.nvim";
-    version = "2022-01-09";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "phaazon";
       repo = "hop.nvim";
-      rev = "f418a3750ed3a7f321287a39d2c9a56d8ad630aa";
-      sha256 = "0imscbnaw02cgxn1qh42zz8divnv43mgccaq4hrancnhixr44lw9";
+      rev = "75f73d3959a0df7ef3642fd5138acdb1ce50fdc8";
+      sha256 = "08yvjh70saffnjjxdhis9sfcbkpmbgm8jl3ax0qal41crwrv7ibb";
     };
     meta.homepage = "https://github.com/phaazon/hop.nvim/";
   };
@@ -2663,12 +2711,12 @@ final: prev:
 
   impatient-nvim = buildVimPluginFrom2Nix {
     pname = "impatient.nvim";
-    version = "2022-01-18";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "lewis6991";
       repo = "impatient.nvim";
-      rev = "4df4e9360975a8be6e7a7270466fedfd1adcc5b6";
-      sha256 = "082ir4kslphx06x1fgyw31nc2yifx3x3p2233sjqibjjjzj0qafh";
+      rev = "7abfc924714d3b7f19f3674cca0231cf6ef2050f";
+      sha256 = "04q08syijlia2m8dbaf0854y4zp73j0ms1vg8wa7kr80rwvkrvbz";
     };
     meta.homepage = "https://github.com/lewis6991/impatient.nvim/";
   };
@@ -2735,12 +2783,12 @@ final: prev:
 
   indentLine = buildVimPluginFrom2Nix {
     pname = "indentLine";
-    version = "2021-01-28";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "Yggdroot";
       repo = "indentLine";
-      rev = "5617a1cf7d315e6e6f84d825c85e3b669d220bfa";
-      sha256 = "1ns3v4r5m6ckchmkaqkpk8dymh7hwj22d7x23hagmk4zv4hc2mhq";
+      rev = "7753505f3c500ec88d11e9373d05250f49c1d900";
+      sha256 = "1lh6d3ljz1rmj3xa4f0n687fyxxc30dnmsq8mgd77v27f7lj62p5";
     };
     meta.homepage = "https://github.com/Yggdroot/indentLine/";
   };
@@ -2904,36 +2952,36 @@ final: prev:
 
   julia-vim = buildVimPluginFrom2Nix {
     pname = "julia-vim";
-    version = "2021-12-08";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "JuliaEditorSupport";
       repo = "julia-vim";
-      rev = "e4972997fb5aee1c180e9840586a09553865cc20";
-      sha256 = "11v9fhd7i9si5psnsrvdgrih64rgjjy7ypjlfz9ys74rcryfyy5x";
+      rev = "d752c2eebda44f4ba96768ffc2d61ebe41a914b3";
+      sha256 = "0qqav23q85yad6i0vlq5fx74cvb97gmvb7ncnhkrh0qy3z63b0hk";
     };
     meta.homepage = "https://github.com/JuliaEditorSupport/julia-vim/";
   };
 
   kanagawa-nvim = buildVimPluginFrom2Nix {
     pname = "kanagawa.nvim";
-    version = "2022-02-03";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "rebelot";
       repo = "kanagawa.nvim";
-      rev = "f58a065ca348ccaa4f0ff8c6c7d7aee108166e0c";
-      sha256 = "1bhnj7b2d4hfcnj24n9cxzqb0bd0mlrpcqcnqlz64pgyzzlygmjh";
+      rev = "95462e91b82542a3d602bec5a2a54a35abe29728";
+      sha256 = "1vl4p6nlp7y3vd98qgxl43c0yrcpllbyjlzqa3ajjsgkgxdjn73f";
     };
     meta.homepage = "https://github.com/rebelot/kanagawa.nvim/";
   };
 
   kommentary = buildVimPluginFrom2Nix {
     pname = "kommentary";
-    version = "2022-01-21";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "b3nj5m1n";
       repo = "kommentary";
-      rev = "a190d052fca4ce74ffddb1c87c87ccf15f9111d5";
-      sha256 = "0p2hyqv73gn1lrzf8yi84cfj199jx8ix0llm4jykkxlyx3qprwq2";
+      rev = "12ecde4ed3ecb39964000a5fd034ae4c1d307388";
+      sha256 = "0zf9p181rlkn0d0d53ckg4992wgdgnxpkgmn9hv2sajsrih4m0z9";
     };
     meta.homepage = "https://github.com/b3nj5m1n/kommentary/";
   };
@@ -3012,12 +3060,12 @@ final: prev:
 
   lazygit-nvim = buildVimPluginFrom2Nix {
     pname = "lazygit.nvim";
-    version = "2022-01-15";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "kdheepak";
       repo = "lazygit.nvim";
-      rev = "2ee9f4d0fcba6c3645a2cb52eb5fb2f23c7607eb";
-      sha256 = "199fh056ks1p8l2jahwzr5azq3rihbzqrbk6pay32qh0ixk462qv";
+      rev = "9bceeab97668935cc6b91ab5190167d9771b5210";
+      sha256 = "1s2jyfssj1xvp2ym8a77pynjxw28722jj75i3lqln5i7v57dsjd9";
     };
     meta.homepage = "https://github.com/kdheepak/lazygit.nvim/";
   };
@@ -3036,12 +3084,12 @@ final: prev:
 
   lean-nvim = buildVimPluginFrom2Nix {
     pname = "lean.nvim";
-    version = "2022-02-04";
+    version = "2022-02-20";
     src = fetchFromGitHub {
       owner = "Julian";
       repo = "lean.nvim";
-      rev = "4997c8d12a05c3e854208affa1c83914643e9834";
-      sha256 = "0m3lr88cbzw3c9yw3860d34nmjb0bwq80cxa8sy6yya2hzs8c4qm";
+      rev = "585503ef238726bc51bc3ce724afc0e8b64bf43b";
+      sha256 = "0f6r16rhbc1k12d85a278cicqpbl3mj30pfra66s7kfv531lvw00";
     };
     meta.homepage = "https://github.com/Julian/lean.nvim/";
   };
@@ -3084,12 +3132,12 @@ final: prev:
 
   lexima-vim = buildVimPluginFrom2Nix {
     pname = "lexima.vim";
-    version = "2022-01-12";
+    version = "2022-02-10";
     src = fetchFromGitHub {
       owner = "cohama";
       repo = "lexima.vim";
-      rev = "22d6495d6c3c1e6cdb26ea2e541e285a5651a98a";
-      sha256 = "1aqzsckhh7abl41zh816w327f28ly8i2fh24qdgdjjmx4cpxbaxc";
+      rev = "abfae597b52c621da63882c6d58f252a37815ac0";
+      sha256 = "1xn4xv7br7k92q6nsrrys0qrj1bm10asycyrqcqzzs7wvd1qirlv";
     };
     meta.homepage = "https://github.com/cohama/lexima.vim/";
   };
@@ -3166,6 +3214,18 @@ final: prev:
     meta.homepage = "https://github.com/shinchu/lightline-gruvbox.vim/";
   };
 
+  lightline-lsp = buildVimPluginFrom2Nix {
+    pname = "lightline-lsp";
+    version = "2022-01-09";
+    src = fetchFromGitHub {
+      owner = "spywhere";
+      repo = "lightline-lsp";
+      rev = "78a8f6880c1d979b7c682e1b37299d970506f480";
+      sha256 = "00zkpri1pi6r0m0v91361zixqsfrf05hyml61k4s0i3yabfv84w8";
+    };
+    meta.homepage = "https://github.com/spywhere/lightline-lsp/";
+  };
+
   lightline-vim = buildVimPluginFrom2Nix {
     pname = "lightline.vim";
     version = "2021-11-21";
@@ -3180,12 +3240,12 @@ final: prev:
 
   lightspeed-nvim = buildVimPluginFrom2Nix {
     pname = "lightspeed.nvim";
-    version = "2022-02-03";
+    version = "2022-02-25";
     src = fetchFromGitHub {
       owner = "ggandor";
       repo = "lightspeed.nvim";
-      rev = "d648301eebffb49853e97ffd98a0b98cbacaf97d";
-      sha256 = "0q5y23i005v0qqjsdh65xz3m3d7ca3ahqk14w7pqsd8xd2nng73b";
+      rev = "e53a14b2b279e92fbca9646ec14188ab76dd009a";
+      sha256 = "13lr7kz2jny0slwshk85hv4ccnh3ywwmxy1wwq3a552cbk1p69j2";
     };
     meta.homepage = "https://github.com/ggandor/lightspeed.nvim/";
   };
@@ -3216,12 +3276,12 @@ final: prev:
 
   lir-nvim = buildVimPluginFrom2Nix {
     pname = "lir.nvim";
-    version = "2022-01-10";
+    version = "2022-02-18";
     src = fetchFromGitHub {
       owner = "tamago324";
       repo = "lir.nvim";
-      rev = "ca02a1031a2393ec6bf8967657daf06e4d402523";
-      sha256 = "1r5dp40iwh227whbdizdgzkjbj5zzs1s0ryp64id3gn5vl1pfmbd";
+      rev = "eaa706a38bdf889103806d10ccbe0be1983ca746";
+      sha256 = "0j8rlkyq8snsyhjw6swr35ldznz9w64hhpcbyl7qzsgcjsn62kly";
     };
     meta.homepage = "https://github.com/tamago324/lir.nvim/";
   };
@@ -3240,48 +3300,48 @@ final: prev:
 
   litee-calltree-nvim = buildVimPluginFrom2Nix {
     pname = "litee-calltree.nvim";
-    version = "2022-01-20";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee-calltree.nvim";
-      rev = "be1c8d67ef80dc4cdfc164d3a95a45d8d551b3eb";
-      sha256 = "0qqyws79a4d4kn1vgb7p8iw7vlx2flb3ra2y2xvjilyvzz4ppqrq";
+      rev = "65bf5c03cd0b2a3c5c67a7600833092f89541344";
+      sha256 = "1fayv5ldhvspjvlwpvpwzcggc0ih1va20hyd1krfhyj91842prz0";
     };
     meta.homepage = "https://github.com/ldelossa/litee-calltree.nvim/";
   };
 
   litee-filetree-nvim = buildVimPluginFrom2Nix {
     pname = "litee-filetree.nvim";
-    version = "2022-02-02";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee-filetree.nvim";
-      rev = "b45b0c869f2a77fc6d7e09503fbeb4663cc25ff1";
-      sha256 = "0126maly11irv7r51fca9zgf3yazv9knwa46hlf7pf977nc30yc4";
+      rev = "f044fa4b465a102375d8d977e10e6427ec81ff63";
+      sha256 = "0blsnmdcyfm5phcwb6lh0ngynlj3i35nvlyvspr63v1vfxjms4x9";
     };
     meta.homepage = "https://github.com/ldelossa/litee-filetree.nvim/";
   };
 
   litee-symboltree-nvim = buildVimPluginFrom2Nix {
     pname = "litee-symboltree.nvim";
-    version = "2022-01-13";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee-symboltree.nvim";
-      rev = "9baa027c79abdadc0a63bdd14d248241a1333b99";
-      sha256 = "0lr203px4ydakqnqavymd2f08gj5mid1nhb63rww72i7i959hz7v";
+      rev = "58ee5063ca1cd333a2d0a4a9509de80c7582ee01";
+      sha256 = "07qbfkjyf0j0mngn6bn4x4vypnl3sf0jaiwhw8iw7zqy4a1338rg";
     };
     meta.homepage = "https://github.com/ldelossa/litee-symboltree.nvim/";
   };
 
   litee-nvim = buildVimPluginFrom2Nix {
     pname = "litee.nvim";
-    version = "2022-01-27";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "ldelossa";
       repo = "litee.nvim";
-      rev = "d29557a4024358cf028b706d91e3a95bd8180784";
-      sha256 = "0d16jms75nm2phx4hyvqlr3fbjadllgznd5dsy53cjf0gnybd6h2";
+      rev = "7745d713e067b5faa44cffba85278ac820c3fe2c";
+      sha256 = "1y8lxrzvcs55chggrbg3h0vpg2ll5fschcp78ivb3cdq9cbs8jfh";
     };
     meta.homepage = "https://github.com/ldelossa/litee.nvim/";
   };
@@ -3347,36 +3407,36 @@ final: prev:
 
   lsp_signature-nvim = buildVimPluginFrom2Nix {
     pname = "lsp_signature.nvim";
-    version = "2022-01-30";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "ray-x";
       repo = "lsp_signature.nvim";
-      rev = "30c7cf023782f50cfa8f65d0508163d6ebfd2442";
-      sha256 = "1qnzy258giqxkhmbvfv8fph5k3f2r313mj0rqsans2v8bq6ay6g0";
+      rev = "f7c308e99697317ea572c6d6bafe6d4be91ee164";
+      sha256 = "0s48bamqwhixlzlyn431z7k3bhp0y2mx16d36g66c9ccgrs5ifmm";
     };
     meta.homepage = "https://github.com/ray-x/lsp_signature.nvim/";
   };
 
   lspkind-nvim = buildVimPluginFrom2Nix {
     pname = "lspkind-nvim";
-    version = "2022-02-04";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "onsails";
       repo = "lspkind-nvim";
-      rev = "5cd692b43a401c9635cc9c5bdb7fe7c62733b41d";
-      sha256 = "1j2hjy3wk6n2mykqicd0xh91sqq7y68qbalj0qpb35y9ljv9yycq";
+      rev = "93e98a0c900327ce7e9be1cbf24aebbe7170e375";
+      sha256 = "1c13ll09v16prhzgmv8pappck4x3ahhc5sizp6r61kb7k4mkfpfk";
     };
     meta.homepage = "https://github.com/onsails/lspkind-nvim/";
   };
 
   lspsaga-nvim = buildVimPluginFrom2Nix {
     pname = "lspsaga.nvim";
-    version = "2022-02-02";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "tami5";
       repo = "lspsaga.nvim";
-      rev = "ca8bc243e6ae36fa3eeab53191f302ca84660a3c";
-      sha256 = "1967vi3an7f5gp6hdwbkrd5nm71nb1i82jh3ygy1k7i2y4fa6apr";
+      rev = "65e9ca7fb147668ce3f7321f8d734ae9b754241c";
+      sha256 = "1rjmgq4jm7a785qy7xzsxy9hb5x2c3rjiqmhdqmqn3kw1d01wrxl";
     };
     meta.homepage = "https://github.com/tami5/lspsaga.nvim/";
   };
@@ -3407,24 +3467,24 @@ final: prev:
 
   lualine-nvim = buildVimPluginFrom2Nix {
     pname = "lualine.nvim";
-    version = "2022-02-02";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "nvim-lualine";
       repo = "lualine.nvim";
-      rev = "aed7f2546177b5ffc8300f1ecd1c9e0e06779695";
-      sha256 = "19qp67k2irs3nramxap284rq3c38qi2rxq4qvbivdazbwiq7df0z";
+      rev = "016a20711ee595a11426f9c1f4ab3e04967df553";
+      sha256 = "0y3rfamhl04hx3cjh6p9spr11flxr3l195a5h9h06k9hhj5rqppc";
     };
     meta.homepage = "https://github.com/nvim-lualine/lualine.nvim/";
   };
 
   luasnip = buildVimPluginFrom2Nix {
     pname = "luasnip";
-    version = "2022-01-28";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "l3mon4d3";
       repo = "luasnip";
-      rev = "35322c97b041542f95c85e87a8215892ea4137d5";
-      sha256 = "0b6yxjsahy4ap6p9jvz2jvqg6akd8hkhd42pfz3krnwg85m7waiw";
+      rev = "5addafcc2460c7b805f14f8a257b804527bb85d7";
+      sha256 = "0whp6gcg059wygpww8mw1gapjd8qgx20xzy5r3g173x0c05kx3a1";
     };
     meta.homepage = "https://github.com/l3mon4d3/luasnip/";
   };
@@ -3515,24 +3575,24 @@ final: prev:
 
   material-nvim = buildVimPluginFrom2Nix {
     pname = "material.nvim";
-    version = "2022-02-04";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "marko-cerovac";
       repo = "material.nvim";
-      rev = "e57df0a28e3cec66f4c4287aca4324ad4c8bf278";
-      sha256 = "066mk7vqc77d3zv4nx98mrfjr6gc4fwslwj2111gr0576s6xpqjx";
+      rev = "a7c9069a55d136e6dc62fc107cb996df2eaebb55";
+      sha256 = "1qblxq744ldzihb57b62ykjci19fa2v918610g8jb36gjrlmxdkd";
     };
     meta.homepage = "https://github.com/marko-cerovac/material.nvim/";
   };
 
   mattn-calendar-vim = buildVimPluginFrom2Nix {
     pname = "mattn-calendar-vim";
-    version = "2021-09-13";
+    version = "2022-02-10";
     src = fetchFromGitHub {
       owner = "mattn";
       repo = "calendar-vim";
-      rev = "6595a540a3fdf3d2a65ff18b3bf157540dc2602b";
-      sha256 = "1186fbfhpb9n8cp79xbgq7q6a5sgndaldadrhshlq0nm3ajwv6v9";
+      rev = "2083a41e2d310f9bbbbf644517f30e901f1fb04d";
+      sha256 = "13wakcprkh93i7afykkpavxqvxssjh573pjjljsgip3y3778ms5q";
     };
     meta.homepage = "https://github.com/mattn/calendar-vim/";
   };
@@ -3551,12 +3611,12 @@ final: prev:
 
   mini-nvim = buildVimPluginFrom2Nix {
     pname = "mini.nvim";
-    version = "2022-02-05";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "echasnovski";
       repo = "mini.nvim";
-      rev = "6cb7cdb1cd7f111784d5d971fa41a655e11df4b3";
-      sha256 = "1jsn2vf8gn61qzzibxngsf29cm4xhr2nidzsjg02l6ayhd7rlhgl";
+      rev = "e36464080b7a62fe318f659cca3adb57e6712511";
+      sha256 = "09l5dz6ihnzgw7hg87jckmx8ycppsbpls5lcqvamnfiy2j21rhjq";
     };
     meta.homepage = "https://github.com/echasnovski/mini.nvim/";
   };
@@ -3599,12 +3659,12 @@ final: prev:
 
   mkdx = buildVimPluginFrom2Nix {
     pname = "mkdx";
-    version = "2021-12-06";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "SidOfc";
       repo = "mkdx";
-      rev = "a6fc41f7630e675ca5f0aeb829ad1b88c73a7c63";
-      sha256 = "08lls5zzlzglxx7hw19vid4kiqdsdnwahgw306vhqlhhx8wc00w3";
+      rev = "ca5b89e28cecc7993f769fc35b0ae794fd73af06";
+      sha256 = "0b9j55gjk641rnkbl8b4vmfb8pkz7jml15yf3y65lzb09fchx2dv";
     };
     meta.homepage = "https://github.com/SidOfc/mkdx/";
   };
@@ -3633,6 +3693,18 @@ final: prev:
     meta.homepage = "https://github.com/shaunsingh/moonlight.nvim/";
   };
 
+  mru = buildVimPluginFrom2Nix {
+    pname = "mru";
+    version = "2022-01-22";
+    src = fetchFromGitHub {
+      owner = "yegappan";
+      repo = "mru";
+      rev = "30315ad4c07f0045c203a443291ad0c8d2fe7279";
+      sha256 = "1k3x8v9c9c3mn2nakcsr5f9wqckxlx3b86smml4d985q90372fqn";
+    };
+    meta.homepage = "https://github.com/yegappan/mru/";
+  };
+
   Navigator-nvim = buildVimPluginFrom2Nix {
     pname = "Navigator.nvim";
     version = "2021-11-18";
@@ -3923,12 +3995,12 @@ final: prev:
 
   neogit = buildVimPluginFrom2Nix {
     pname = "neogit";
-    version = "2022-01-25";
+    version = "2022-02-25";
     src = fetchFromGitHub {
       owner = "TimUntersberger";
       repo = "neogit";
-      rev = "c8a320359cea86834f62225849a75632258a7503";
-      sha256 = "070ji1x52hj0xnmxhdncwq78fybpsvak6b8bdy19rf7grg3ddrzk";
+      rev = "3bba2b63417cb679313e0ed0b7d9b7539c7f02b0";
+      sha256 = "1pr9hxy36xm8gbl4kkq0sa7qn6ki8k5mkdlz07vizk44yzq1pk95";
     };
     meta.homepage = "https://github.com/TimUntersberger/neogit/";
   };
@@ -3983,12 +4055,12 @@ final: prev:
 
   neorg = buildVimPluginFrom2Nix {
     pname = "neorg";
-    version = "2022-02-05";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "nvim-neorg";
       repo = "neorg";
-      rev = "97b2fae2e412ece34a25198336fb39f8d12e7e93";
-      sha256 = "00w4nna66w6ikzdqjd66cfwp6jbbimmbky5wj8mpjgmm3a0h1s18";
+      rev = "25dcc8d87cea1fc18280f4f1149c7dfc5b4a10bf";
+      sha256 = "0x5lhr18fw1zqf68r1hmnk0zh2wivdcqk7rpr5x41vq02hqy0ia2";
     };
     meta.homepage = "https://github.com/nvim-neorg/neorg/";
   };
@@ -4019,12 +4091,12 @@ final: prev:
 
   neosnippet-vim = buildVimPluginFrom2Nix {
     pname = "neosnippet.vim";
-    version = "2021-09-20";
+    version = "2022-02-18";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "neosnippet.vim";
-      rev = "0ab419e93f4256baed77229548195402e170afa8";
-      sha256 = "1gsf5d610slh9cdy6i52fh0k98m5b7xvzp35l6cq008acgsvh575";
+      rev = "5973e801e7ad38a01e888cb794d74e076a35ea9b";
+      sha256 = "1mbx2iw4s0ny89siic156y7lwypw55abkvskmzzjjf7y4h8g9rsv";
     };
     meta.homepage = "https://github.com/Shougo/neosnippet.vim/";
   };
@@ -4055,12 +4127,12 @@ final: prev:
 
   neovim-ayu = buildVimPluginFrom2Nix {
     pname = "neovim-ayu";
-    version = "2022-01-30";
+    version = "2022-02-05";
     src = fetchFromGitHub {
       owner = "Shatur";
       repo = "neovim-ayu";
-      rev = "1fff44e04d137c143af8f555963c90533ef9ae89";
-      sha256 = "1zffm9zmai82v3fnclp2nds3yiab0893kssyg0a2xyqp70xrh2hr";
+      rev = "88bee216a0b1429d6301faa733712da84cf0e650";
+      sha256 = "069y6ji6xnanzy3ad70lcgn5g3p2nxr62qn08fdhdrq6a75iz3ys";
     };
     meta.homepage = "https://github.com/Shatur/neovim-ayu/";
   };
@@ -4103,12 +4175,12 @@ final: prev:
 
   nerdcommenter = buildVimPluginFrom2Nix {
     pname = "nerdcommenter";
-    version = "2022-01-15";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "nerdcommenter";
-      rev = "f9c5f0fbda3be77dce5bb4b06b49d9f11b3b6c20";
-      sha256 = "040a2nq4piqzc7jdgzxcd495yc7d5a52lwjg9c4m6j91ykz3f0jb";
+      rev = "f8671f783baeb0739f556d9b6c440ae1767340d6";
+      sha256 = "1j0fxxprxw12b70isnfqixnvz2xd657rr1jphjz8277yfqpdnh2i";
     };
     meta.homepage = "https://github.com/preservim/nerdcommenter/";
   };
@@ -4175,12 +4247,12 @@ final: prev:
 
   nightfox-nvim = buildVimPluginFrom2Nix {
     pname = "nightfox.nvim";
-    version = "2022-01-26";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "EdenEast";
       repo = "nightfox.nvim";
-      rev = "90e616ac6ee2363577cc54f87c50dd958c2e32f9";
-      sha256 = "1x87d69fypz0k424xzd8vy1x4lwhgb8hkmc7mybl4bqfdwi00fhr";
+      rev = "6b6cf94c588c9aba2f0bf65c175f54ddceb3aa85";
+      sha256 = "09maybpfclp3kj9diq98y8izwvgwn7h7phmj439c1ppjn8phgy04";
     };
     meta.homepage = "https://github.com/EdenEast/nightfox.nvim/";
   };
@@ -4235,36 +4307,36 @@ final: prev:
 
   nord-nvim = buildVimPluginFrom2Nix {
     pname = "nord.nvim";
-    version = "2022-01-31";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "shaunsingh";
       repo = "nord.nvim";
-      rev = "498b99c87a5826bfe4409883831deab91ebe296f";
-      sha256 = "1bhbk87wrjyk8mvg9aqspag58sz9chhrxvkhblpy2qypgla0s9pk";
+      rev = "1fdad275596f85bdc36c525b14697ff3a4f08bdf";
+      sha256 = "1pq32gnpmkyqaxq0j5bqf6ik9vkrf2zkayvcvb6fv4vxaiv7w7hr";
     };
     meta.homepage = "https://github.com/shaunsingh/nord.nvim/";
   };
 
   nordic-nvim = buildVimPluginFrom2Nix {
     pname = "nordic.nvim";
-    version = "2022-02-02";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "andersevenrud";
       repo = "nordic.nvim";
-      rev = "300e13d542359213952bcaf7ffa22a976fe0a739";
-      sha256 = "15l56b9hbwymvbg1mk12i5a34fbrgpdl53nxrnh7ra96is2g2gyx";
+      rev = "35b910263c614257dadc76813c9a02659912ad62";
+      sha256 = "1mbxdxk637x506xdhmbybvzl2ilmy25wdd1911119s257zjq41w0";
     };
     meta.homepage = "https://github.com/andersevenrud/nordic.nvim/";
   };
 
   NrrwRgn = buildVimPluginFrom2Nix {
     pname = "NrrwRgn";
-    version = "2021-12-01";
+    version = "2022-02-13";
     src = fetchFromGitHub {
       owner = "chrisbra";
       repo = "NrrwRgn";
-      rev = "be7f06308bddd493d436372ee71d6b366af97fbb";
-      sha256 = "15f5alvp8lybyijpjp0h4ma7wyy5pgki4i3v88dwlkvd7gznjkqx";
+      rev = "e027db9d94f94947153cd7b5ac9abd04371ab2b0";
+      sha256 = "0mcwyqbfc2m865w44s96ra2k0v1mn5kkkxf8i71iqhvc7fvnrfah";
     };
     meta.homepage = "https://github.com/chrisbra/NrrwRgn/";
   };
@@ -4295,12 +4367,12 @@ final: prev:
 
   null-ls-nvim = buildVimPluginFrom2Nix {
     pname = "null-ls.nvim";
-    version = "2022-02-04";
+    version = "2022-02-25";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "null-ls.nvim";
-      rev = "ee96111ad262ab8f8713576106c236d032d8be3d";
-      sha256 = "1nzf8s3br99hmj7g948rvv4i5cdb1sajhyky9cwxzpdnb8m1ndp0";
+      rev = "4dd4df18d415d59310ce8e7a42f707edf6e6d270";
+      sha256 = "08m6mxanf31269ray76fzfb4il9cixnf78qq9p19i330k2hydqap";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/null-ls.nvim/";
   };
@@ -4343,36 +4415,36 @@ final: prev:
 
   nvim-autopairs = buildVimPluginFrom2Nix {
     pname = "nvim-autopairs";
-    version = "2022-01-14";
+    version = "2022-02-14";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-autopairs";
-      rev = "97e454ce9b1371373105716d196c1017394bc947";
-      sha256 = "1qdnrrchs463bjsrx5rg61527b0az2f1b929ak9lm0p1r11wgzsw";
+      rev = "784398a8f184431fd4329f20b0e4f52e87707bbd";
+      sha256 = "14cd1aq5kyi82akkmk3pf2as0pg9kmyavggpcpkp8cl1api01xl8";
     };
     meta.homepage = "https://github.com/windwp/nvim-autopairs/";
   };
 
   nvim-base16 = buildVimPluginFrom2Nix {
     pname = "nvim-base16";
-    version = "2022-02-01";
+    version = "2022-02-20";
     src = fetchFromGitHub {
       owner = "RRethy";
       repo = "nvim-base16";
-      rev = "5f34bccc232b687309b32b53bdf1aab73beeec2b";
-      sha256 = "0jds7m7l5d75yi8y1rwrg3zbrjy98bayr8ryv83haqzh36y3wwff";
+      rev = "6c6962d51dda76cf9bc1467aa8b09036396985d0";
+      sha256 = "07ynvj0m88l8vbzvk8izqbwxs4wr99f99wh7x95jpi4wd6rfdvc3";
     };
     meta.homepage = "https://github.com/RRethy/nvim-base16/";
   };
 
   nvim-bqf = buildVimPluginFrom2Nix {
     pname = "nvim-bqf";
-    version = "2022-02-03";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-bqf";
-      rev = "a6527e65d805996436c7abe49565e3ac850777cd";
-      sha256 = "0w6q8b0958713z0niyklk77l9213798bgfnlgw6sb28fqp1ims3j";
+      rev = "2558ee1d3a0c518301bd9bee97ddd61eb21b629c";
+      sha256 = "1kjn0fvmbk5ii47vjmw8p3w7h6gdhmxr10x84x48spaz428vw5wd";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-bqf/";
   };
@@ -4403,24 +4475,24 @@ final: prev:
 
   nvim-cmp = buildVimPluginFrom2Nix {
     pname = "nvim-cmp";
-    version = "2022-02-05";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "hrsh7th";
       repo = "nvim-cmp";
-      rev = "a7fea2ca9f29869c75c3e2ccb683e7740868ba8b";
-      sha256 = "182w3ms4j9fvw0h0k2q019a5yxjg3hn88yybwk4r27l1mc54jycb";
+      rev = "13d64460cba64950aff41e230cc801225bd9a3e2";
+      sha256 = "091argbivsnjp3ibsnci2qj5jrr2b39gicrlz2ky41kmb4pmw36b";
     };
     meta.homepage = "https://github.com/hrsh7th/nvim-cmp/";
   };
 
   nvim-code-action-menu = buildVimPluginFrom2Nix {
     pname = "nvim-code-action-menu";
-    version = "2021-12-19";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "weilbith";
       repo = "nvim-code-action-menu";
-      rev = "796d45f0ac89b9e5b6d41fb2c1fada25c1aba870";
-      sha256 = "1aadind1zxca5grs9jsawqsvkn9ijvxiqdw9v9jsq861xihsw9wl";
+      rev = "b3671ef7a74912575d84b4dbc848fd3b6195b27e";
+      sha256 = "0p6959z8im5r1mvr0fmx1ig24kav9wndnr50r1pvq117ch9kr59z";
     };
     meta.homepage = "https://github.com/weilbith/nvim-code-action-menu/";
   };
@@ -4487,36 +4559,36 @@ final: prev:
 
   nvim-dap = buildVimPluginFrom2Nix {
     pname = "nvim-dap";
-    version = "2022-02-04";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-dap";
-      rev = "ee39d5d570d07161e16eb73054c295c6561eb2b4";
-      sha256 = "0ybh21rzmrvs0njwdg0kw6rlbwhaiwkq41gj8iban7nrfn36vydh";
+      rev = "9fcff6e02e1a549d47a2c559a4b833798537c0bc";
+      sha256 = "1ai71s38dcny22wmhw5b5b82hj2mf16g60rbzi7llg54fdlfp92k";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-dap/";
   };
 
   nvim-dap-ui = buildVimPluginFrom2Nix {
     pname = "nvim-dap-ui";
-    version = "2022-01-11";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-dap-ui";
-      rev = "ae3b003af6c6646832dfe704a1137fd9110ab064";
-      sha256 = "0fyqhmm0l6hil2hdfwrhsabf5k8c3r5ivghgdv4g5hd8hpcncnj8";
+      rev = "22e94f2303c8d8d72b541799d7733c5ded0733c5";
+      sha256 = "1761vih6pi2gs3z7bh5515nmr4hkbif82q33gghsvgzjri6a0c3q";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-dap-ui/";
   };
 
   nvim-dap-virtual-text = buildVimPluginFrom2Nix {
     pname = "nvim-dap-virtual-text";
-    version = "2021-12-02";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "theHamsta";
       repo = "nvim-dap-virtual-text";
-      rev = "fb176ca8cf666331fcfa75b7dcc238116d66f801";
-      sha256 = "1ksn4k2bhrc588wximrgc6z9pghvwmbkvls1999nvykzrkcpggmd";
+      rev = "7f82fec9a1c7fce292c9a9a7310e7d121607db93";
+      sha256 = "1x9y74nvcvbwakvlzz4k7h1azkldphmdygwgs5cz7qf9pxbx67lq";
     };
     meta.homepage = "https://github.com/theHamsta/nvim-dap-virtual-text/";
   };
@@ -4571,36 +4643,36 @@ final: prev:
 
   nvim-gps = buildVimPluginFrom2Nix {
     pname = "nvim-gps";
-    version = "2022-01-19";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "smiteshp";
       repo = "nvim-gps";
-      rev = "3c0a1b7fddd63620ffe6d25fb85cb71ef68e0bd3";
-      sha256 = "1h7h8r6sfi6kzlr0n5wwrlda3whraw4128jr0djh9jjfywhnlls0";
+      rev = "6afd8f7a69e7008dabe048d4fb1ee8e467a72fdf";
+      sha256 = "13pgq09sxhfxxmrrqzc1f8b119f6d7yyx30lzbgr2vx59bh69ph2";
     };
     meta.homepage = "https://github.com/smiteshp/nvim-gps/";
   };
 
   nvim-highlite = buildVimPluginFrom2Nix {
     pname = "nvim-highlite";
-    version = "2022-01-06";
+    version = "2022-02-18";
     src = fetchFromGitHub {
       owner = "Iron-E";
       repo = "nvim-highlite";
-      rev = "1c52ff7e3dcc2b89897a16bea7b9903888656154";
-      sha256 = "03x39hdnnf81qmlhwg9czd9dda6j2df6w685n2x15x01ghg86h1h";
+      rev = "0f20213a9d55ac7ff19b4f9a9f8812303ec4200b";
+      sha256 = "0fvmnwraxzfwm9rc4b279bg40ycmpkxjgx6yqkwg7aznzmmqlc22";
     };
     meta.homepage = "https://github.com/Iron-E/nvim-highlite/";
   };
 
   nvim-hlslens = buildVimPluginFrom2Nix {
     pname = "nvim-hlslens";
-    version = "2022-01-14";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "kevinhwang91";
       repo = "nvim-hlslens";
-      rev = "da8afe575527af4c0b43c2ada8070814f79b143a";
-      sha256 = "1162n135997ph18d7j1zk6a2nd82g17a5vf4izzrcm7dfqg9xx9i";
+      rev = "2a883d68b93570a66baca5984e416d4c4d079c3f";
+      sha256 = "19i442k58jl0rrnxbbmxg0w0nghi1x3vpxy0id7bb10bg5aafwjm";
     };
     meta.homepage = "https://github.com/kevinhwang91/nvim-hlslens/";
   };
@@ -4631,60 +4703,72 @@ final: prev:
 
   nvim-jqx = buildVimPluginFrom2Nix {
     pname = "nvim-jqx";
-    version = "2021-12-03";
+    version = "2022-02-10";
     src = fetchFromGitHub {
       owner = "gennaro-tedesco";
       repo = "nvim-jqx";
-      rev = "03b678e5cb293d0e952a649fce3cdba02424bf57";
-      sha256 = "1bfw8s3z9nj1zxixrmnqgcqbgjil00y8isiq2ipw3rrcprxgkmix";
+      rev = "26bf7cc5e1942dac9f825dff90e180620c264fe7";
+      sha256 = "0r45lda81khhkkqk6nrdqw6y3hdzc0w5jirz1yn1n51b7vxjm1dy";
     };
     meta.homepage = "https://github.com/gennaro-tedesco/nvim-jqx/";
   };
 
   nvim-lightbulb = buildVimPluginFrom2Nix {
     pname = "nvim-lightbulb";
-    version = "2021-11-13";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "kosayoda";
       repo = "nvim-lightbulb";
-      rev = "cd5267d2d708e908dbd668c7de74e1325eb1e1da";
-      sha256 = "1ans2kzg750d4a83hk5p9x5h51m9ywxgk6bxrcj1pwnpkhl5h75z";
+      rev = "29ca81408119ba809d1f922edc941868af97ee86";
+      sha256 = "04c5wqh42648wzrnwcgwdmwwwqvwk5qn3ncrfjl0827xnpc8049g";
     };
     meta.homepage = "https://github.com/kosayoda/nvim-lightbulb/";
   };
 
+  nvim-lightline-lsp = buildVimPluginFrom2Nix {
+    pname = "nvim-lightline-lsp";
+    version = "2022-01-06";
+    src = fetchFromGitHub {
+      owner = "josa42";
+      repo = "nvim-lightline-lsp";
+      rev = "d9e61801f54c8824b59e93068865e3bc4f1ca0b8";
+      sha256 = "0sd38c4cp7i6prgr86b5nq9fhpi2h1yrn3ggs3d7my65ayz759m6";
+    };
+    meta.homepage = "https://github.com/josa42/nvim-lightline-lsp/";
+  };
+
   nvim-lint = buildVimPluginFrom2Nix {
     pname = "nvim-lint";
-    version = "2022-02-03";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "mfussenegger";
       repo = "nvim-lint";
-      rev = "8da4d0e14a40e616a73a358f516794cea0fa31f1";
-      sha256 = "06h5mq4jq0i15lvwbjbg4cv55kdva8scvad8shc29bpcampq162d";
+      rev = "f3215fa06782829a9705031fab2ec1f6ad514fd8";
+      sha256 = "05vsi9vgd2y6y8yv5mjc2lv4z1bdh7h4lq1cx4l2hy9p9z59kdzj";
     };
     meta.homepage = "https://github.com/mfussenegger/nvim-lint/";
   };
 
   nvim-lsp-ts-utils = buildVimPluginFrom2Nix {
     pname = "nvim-lsp-ts-utils";
-    version = "2022-01-26";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "jose-elias-alvarez";
       repo = "nvim-lsp-ts-utils";
-      rev = "64d233a8859e27139c55472248147114e0be1652";
-      sha256 = "1isnz4pys9wdf7w4qfiyjl4a2h66b0iwnxlbs88pn0r7hc8kgr74";
+      rev = "f769dc92a364f428f9a48726e4c7a0ebfdbf6f66";
+      sha256 = "0nl81px6lj0sz0vrpvc4hhd6ccn4am9hd8kxcqzhdz0m37zzp8cr";
     };
     meta.homepage = "https://github.com/jose-elias-alvarez/nvim-lsp-ts-utils/";
   };
 
   nvim-lspconfig = buildVimPluginFrom2Nix {
     pname = "nvim-lspconfig";
-    version = "2022-02-02";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvim-lspconfig";
-      rev = "531751ef03d77bf094f1fc07844b6c03ec4862bb";
-      sha256 = "1izfl8r30pabn81ncfr8zpn2inqlrpf0nng18hhhic6p00y7bhak";
+      rev = "470569379d708e6c8f33f082497e0374067c6fee";
+      sha256 = "1rp9ymbss8jjm1k20q9vp3ayd7lv2cbdiz5ylhx9p1v1glqimigw";
     };
     meta.homepage = "https://github.com/neovim/nvim-lspconfig/";
   };
@@ -4703,24 +4787,24 @@ final: prev:
 
   nvim-metals = buildVimPluginFrom2Nix {
     pname = "nvim-metals";
-    version = "2022-02-02";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "scalameta";
       repo = "nvim-metals";
-      rev = "6b333c8466cdc5cfe93b975a7f72cfdc0cca3795";
-      sha256 = "11wq7rigmc9s0mmgw1w4qlg81izpnyxbmlsq9pjpgja28ya1dmdj";
+      rev = "e9553362f1bff508fa947fce09bba297cfac0f79";
+      sha256 = "1k3bprxzn3qqm4a7rz2l7pld2am9aggcmvrrr6ak7aafd14v5fs9";
     };
     meta.homepage = "https://github.com/scalameta/nvim-metals/";
   };
 
   nvim-neoclip-lua = buildVimPluginFrom2Nix {
     pname = "nvim-neoclip.lua";
-    version = "2022-01-09";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "AckslD";
       repo = "nvim-neoclip.lua";
-      rev = "bfd6503ce5e2949e17e4053ca00b9e6836fe94e7";
-      sha256 = "07qw00rk087p2ipp4p6k2wanqca0zhwd050n103lld42kd1lqci0";
+      rev = "d859891e4bff9729ad6e63bd4aebc51946de8786";
+      sha256 = "17dbvr1y7hzrv04c89b4nmgmgg0qccrkz6qsh7vsava0lvjs4zm5";
     };
     meta.homepage = "https://github.com/AckslD/nvim-neoclip.lua/";
   };
@@ -4739,12 +4823,12 @@ final: prev:
 
   nvim-notify = buildVimPluginFrom2Nix {
     pname = "nvim-notify";
-    version = "2022-02-02";
+    version = "2022-02-20";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "nvim-notify";
-      rev = "d6f880728da487d0ac4f957835c46b3f2af91fca";
-      sha256 = "0dvplgpkps9x2bcimhz9ybb55lxi62vxjfmq8vdabyjqdbvx33xw";
+      rev = "57093e9f3749c57f20f49d7e10be9c7d15018c86";
+      sha256 = "03slk1lbgn2r66hw2gh34ja1l8kjx6qwc6p0g18bd7w1aazb3g9i";
     };
     meta.homepage = "https://github.com/rcarriga/nvim-notify/";
   };
@@ -4763,12 +4847,12 @@ final: prev:
 
   nvim-scrollview = buildVimPluginFrom2Nix {
     pname = "nvim-scrollview";
-    version = "2022-01-20";
+    version = "2022-02-11";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "nvim-scrollview";
-      rev = "f9b4b79a20b802b46049dc9cbf19ef6493b551d4";
-      sha256 = "0mx5l7vaj99ibzsvk2nmr17g43jyql6jqfwkmfn77h15xyjdp1sy";
+      rev = "b6d26e21573c25e9c5faca69a1f905abe66fa294";
+      sha256 = "1qsqkgs22r128jb4lvadzv15dzn586x300fwgimkl1q464cdawmx";
     };
     meta.homepage = "https://github.com/dstein64/nvim-scrollview/";
   };
@@ -4787,12 +4871,12 @@ final: prev:
 
   nvim-spectre = buildVimPluginFrom2Nix {
     pname = "nvim-spectre";
-    version = "2022-01-30";
+    version = "2022-02-10";
     src = fetchFromGitHub {
       owner = "nvim-pack";
       repo = "nvim-spectre";
-      rev = "9842b5fe987fb2c5a4ec4d42f8dbcdd04a047d4d";
-      sha256 = "12ww1yqxsk6qm6cimgr0ljgc98n831dpm711q4xqg9c6wm0pyzg7";
+      rev = "208d983e9bab4d0eb98b4642636e1b4f41c5280a";
+      sha256 = "0yq7whrlzrwiyk6xzakvrf9drrr21gy2s5318rnn9r01mp27z6in";
     };
     meta.homepage = "https://github.com/nvim-pack/nvim-spectre/";
   };
@@ -4811,24 +4895,24 @@ final: prev:
 
   nvim-tree-lua = buildVimPluginFrom2Nix {
     pname = "nvim-tree.lua";
-    version = "2022-02-01";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-tree.lua";
-      rev = "99d65afd6ef05cc57f835451126e5c44db03cef1";
-      sha256 = "0w9wnlf3zd7ais1nraivwsyqjgb3qj7d5c1nkgdr1j7hfz4lbhgi";
+      rev = "48e76bc0317de95ac154ae3a26193bf8881340a1";
+      sha256 = "06z7c5kcyxdcx7wi5yaw1d1mv3wah5y0kkjn7z5py9x82snk4rwm";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-tree.lua/";
   };
 
   nvim-treesitter = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter";
-    version = "2022-02-04";
+    version = "2022-02-25";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter";
-      rev = "c999f9aa135c0ea36981a886fe2a87733cb6d611";
-      sha256 = "1nx6zyjg4h710yii4s8vcq1040zb90cw6b0zqbir7wx878bna1cj";
+      rev = "18c558fd92b5ec800f976c447452ede4e96e9de9";
+      sha256 = "1f61237najb65r48j1hsrs6l5yvz9101s0fzi0jpzy40xs0gqb7n";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter/";
   };
@@ -4871,24 +4955,24 @@ final: prev:
 
   nvim-treesitter-textobjects = buildVimPluginFrom2Nix {
     pname = "nvim-treesitter-textobjects";
-    version = "2022-02-04";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "nvim-treesitter-textobjects";
-      rev = "438d2cfa3922a58ef828803d6ca9c944b4b4c996";
-      sha256 = "0lycnr6q304z1n146phcyjsv4z2rr02yxpq9aj2gvybqljb16m18";
+      rev = "e23fc8ac796b722dd30f40467d59581d4854c692";
+      sha256 = "15fa27dbyrmbsiysmy3rm3ih9jnxrlvvzlf966jcm29ph225zxmn";
     };
     meta.homepage = "https://github.com/nvim-treesitter/nvim-treesitter-textobjects/";
   };
 
   nvim-ts-autotag = buildVimPluginFrom2Nix {
     pname = "nvim-ts-autotag";
-    version = "2022-01-04";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "windwp";
       repo = "nvim-ts-autotag";
-      rev = "32bc46ee8b21f88f87d97b976ae6674595b311b5";
-      sha256 = "1daqlkr7a53g3rcmjdw2z2fnaqb0iz6dh5g1laddv4ni27ifm5rg";
+      rev = "178e40a213eeea4810cad440b6be56ceeb6af434";
+      sha256 = "00zlgc7bnryw3ys1ihsf2pyf7f9wzlgmqrkp8bs99nv5qji6bym4";
     };
     meta.homepage = "https://github.com/windwp/nvim-ts-autotag/";
   };
@@ -4907,24 +4991,24 @@ final: prev:
 
   nvim-ts-rainbow = buildVimPluginFrom2Nix {
     pname = "nvim-ts-rainbow";
-    version = "2022-02-03";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "p00f";
       repo = "nvim-ts-rainbow";
-      rev = "ece7deac8f4dfa643f17f3ed5bd85359e2e05f78";
-      sha256 = "1625rcsyvailnrflvbrcizj8llqd47frynj4a1s3pdxg4m6d113q";
+      rev = "35bef9212441ef3f4b69c8ead0fbde123357bb4d";
+      sha256 = "0dnr3dilcsyfrgwv497aypvn6jk5rzwdqjs09gn5fwfg354nhsbk";
     };
     meta.homepage = "https://github.com/p00f/nvim-ts-rainbow/";
   };
 
   nvim-web-devicons = buildVimPluginFrom2Nix {
     pname = "nvim-web-devicons";
-    version = "2022-02-01";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "kyazdani42";
       repo = "nvim-web-devicons";
-      rev = "2f8439282575ce75784fb22d528dec7fd2e31a2e";
-      sha256 = "1xa44kbigdai26j54vflipjw7whi4racqjgq5yb3mn9ch8j0p5l4";
+      rev = "4415d1aaa56f73b9c05795af84d625c610b05d3b";
+      sha256 = "1n2301a0jxf2z79bc5hp97r48vsh25hy9bfrx12my6ag839ayyyj";
     };
     meta.homepage = "https://github.com/kyazdani42/nvim-web-devicons/";
   };
@@ -4955,24 +5039,24 @@ final: prev:
 
   nvim_context_vt = buildVimPluginFrom2Nix {
     pname = "nvim_context_vt";
-    version = "2022-02-04";
+    version = "2022-02-18";
     src = fetchFromGitHub {
       owner = "haringsrob";
       repo = "nvim_context_vt";
-      rev = "54a91761d340292b3436f22634ab3743156e24a9";
-      sha256 = "1mf9wa5m8ba9bgqc1mqsf57qzcg0d6gi2lwpzkfcnb6cwmqd454m";
+      rev = "bcc89cabb4841134c9aec66480499ccfac0331d6";
+      sha256 = "1h350dwl73qdkyyc9nzc92grg858nardspisc49zv1dc3b9f34bj";
     };
     meta.homepage = "https://github.com/haringsrob/nvim_context_vt/";
   };
 
   nvimdev-nvim = buildVimPluginFrom2Nix {
     pname = "nvimdev.nvim";
-    version = "2019-10-09";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "neovim";
       repo = "nvimdev.nvim";
-      rev = "994ff5daf571ad02cc96436002411b4fb235c91f";
-      sha256 = "07dx6qkxqpakl1hrqwhfjgdzcnl4j3j9qih0l20qn8p6askj3b2j";
+      rev = "9b819574b63bbf8883e32602915da22ead08bf9a";
+      sha256 = "084wnwmf67bs9ky1sj23fd6sqp27svfxg8gcf1fng8xjf5yk6pdw";
     };
     meta.homepage = "https://github.com/neovim/nvimdev.nvim/";
   };
@@ -5003,12 +5087,12 @@ final: prev:
 
   octo-nvim = buildVimPluginFrom2Nix {
     pname = "octo.nvim";
-    version = "2022-02-02";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "pwntester";
       repo = "octo.nvim";
-      rev = "d21c5cc8e2a28c58a28eee353dbab81c74e76382";
-      sha256 = "13lzq4py15szsr3ii3nq8xdy7vcqa0fkzsz18c84yvyy0k38q7d1";
+      rev = "3a393b404e7066a86afd1652f5be7c8074ed4030";
+      sha256 = "02ldc51k5agn9pjqzjbycdjyilz3v04c534wf0x2nsdi97ikf5vl";
     };
     meta.homepage = "https://github.com/pwntester/octo.nvim/";
   };
@@ -5051,12 +5135,12 @@ final: prev:
 
   onedarkpro-nvim = buildVimPluginFrom2Nix {
     pname = "onedarkpro.nvim";
-    version = "2022-01-16";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "olimorris";
       repo = "onedarkpro.nvim";
-      rev = "55846471df3c6257cc2b4c7ad6001a55d52e2c34";
-      sha256 = "179wwb7b65yyh345a5hnhdc10kxchddzicdlpiqkvy77rbrxc65a";
+      rev = "fda3b36be8613f6ba303082fed7a7e20fdf52205";
+      sha256 = "14i3lqz1l9k8ai9lskrgz511srvf2wwfjd8zlbkmx55ws085ifca";
     };
     meta.homepage = "https://github.com/olimorris/onedarkpro.nvim/";
   };
@@ -5099,36 +5183,36 @@ final: prev:
 
   orgmode = buildVimPluginFrom2Nix {
     pname = "orgmode";
-    version = "2022-01-27";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "nvim-orgmode";
       repo = "orgmode";
-      rev = "f339a7f87e4736c0a3e0db563b8c3cb45fc00a61";
-      sha256 = "1raicj3h524csqivw9x3l6znx5y7dwfn3cmh2hzddfy0n7n1mph0";
+      rev = "6c8ec4e95755c0375c912c1f9cd1171e5fe23dec";
+      sha256 = "0s4j6j6v6fy7zn1b5zm3di7yxcpj1hm352379hsmah02a3h9jv1d";
     };
     meta.homepage = "https://github.com/nvim-orgmode/orgmode/";
   };
 
   package-info-nvim = buildVimPluginFrom2Nix {
     pname = "package-info.nvim";
-    version = "2022-01-25";
+    version = "2022-02-18";
     src = fetchFromGitHub {
       owner = "vuki656";
       repo = "package-info.nvim";
-      rev = "139bcf19837213d4e5d541b46f79390a75e84701";
-      sha256 = "0siir143hkw87dzkmm64fdyq3raqd9k50wppjafnvdz6i1pgb7nz";
+      rev = "10de4d0d50ec1d4d26118c4aa067a9d09e370c9c";
+      sha256 = "1mhhff6knqqq6pgmd3w6vfljcig37yyxvmrvhb205y67igy3vcr2";
     };
     meta.homepage = "https://github.com/vuki656/package-info.nvim/";
   };
 
   packer-nvim = buildVimPluginFrom2Nix {
     pname = "packer.nvim";
-    version = "2022-01-19";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "wbthomason";
       repo = "packer.nvim";
-      rev = "7182f0ddbca2dd6f6723633a84d47f4d26518191";
-      sha256 = "1v9d6r94hgki1i8dq605w03d8kqfdqk589xsaxxfj4l4g6jmrsxn";
+      rev = "963cb58c3dd15699c801baf3e64393c6795b62e9";
+      sha256 = "0pq9c2xdhw7pshv8xsmrdachsfc4kr3n705jxhiqm95ml6c7fm5b";
     };
     meta.homepage = "https://github.com/wbthomason/packer.nvim/";
   };
@@ -5219,36 +5303,36 @@ final: prev:
 
   plantuml-syntax = buildVimPluginFrom2Nix {
     pname = "plantuml-syntax";
-    version = "2022-01-29";
+    version = "2022-02-20";
     src = fetchFromGitHub {
       owner = "aklt";
       repo = "plantuml-syntax";
-      rev = "32428a7b7bc1f1f4efe54490c212a7bda5dd073c";
-      sha256 = "06jxfr484wa563hs5qj2g4i37a6mfdvdjdn7a72dmbqzismvzd48";
+      rev = "660bbb1ece1e654b2176f76ce0689304c5a4a025";
+      sha256 = "05xf36np8y0gdcd05nzmkawh131lp4mm5cjgjr1byr8cjyl1idr3";
     };
     meta.homepage = "https://github.com/aklt/plantuml-syntax/";
   };
 
   playground = buildVimPluginFrom2Nix {
     pname = "playground";
-    version = "2021-09-15";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "nvim-treesitter";
       repo = "playground";
-      rev = "787a7a8d4444e58467d6b3d4b88a497e7d494643";
-      sha256 = "1y4dwbs40qn942x0hd93yrk04yiphy73b45vcjrknmxq9szhvhk0";
+      rev = "9df82a27a49e1c14e9d7416b537517a79d675086";
+      sha256 = "1hhrcsrgcy3vqxn9gsm68r77n6z5bw4cr0r47darffan5rxykz21";
     };
     meta.homepage = "https://github.com/nvim-treesitter/playground/";
   };
 
   plenary-nvim = buildVimPluginFrom2Nix {
     pname = "plenary.nvim";
-    version = "2022-01-31";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "nvim-lua";
       repo = "plenary.nvim";
-      rev = "e86dc9b11241ff69ece50c15a5cdd49d20d4c27c";
-      sha256 = "1yfiqkvk71i68hha2xdikfmch9qkn0di9gl14x4b9snvcf6l9plh";
+      rev = "2a278c8a12a399e25b78a43ebcd4f3996cd4e4b6";
+      sha256 = "1z4mzm1bykyp82598cdxps3i8g68bzkfnc8ffr3ajmlcf0ylj6aq";
     };
     meta.homepage = "https://github.com/nvim-lua/plenary.nvim/";
   };
@@ -5292,12 +5376,12 @@ final: prev:
 
   presence-nvim = buildVimPluginFrom2Nix {
     pname = "presence.nvim";
-    version = "2022-01-18";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "andweeb";
       repo = "presence.nvim";
-      rev = "a579a3906ed2cfc980aed6046047ed2ebe4fbd74";
-      sha256 = "1q2gkdng7r386i8f04py3nhh5hy9vl8mj59c01v2i3iwix78rvf8";
+      rev = "ebdf23b9b180c7f162e3afb4a250c313ca2b7271";
+      sha256 = "0wygl17k2adbsy3pjyyb6amsrx14r11ldbqj21kmkjq289n58f6n";
     };
     meta.homepage = "https://github.com/andweeb/presence.nvim/";
   };
@@ -5545,24 +5629,24 @@ final: prev:
 
   refactoring-nvim = buildVimPluginFrom2Nix {
     pname = "refactoring.nvim";
-    version = "2022-02-04";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "theprimeagen";
       repo = "refactoring.nvim";
-      rev = "23340bf6b19ab50504165462676f87a3e1bd4870";
-      sha256 = "04kgaf2fay2gi82fwpl6nhjk7r2zw4nkv2dkm71gd7l6b3idx8k3";
+      rev = "85e3474449967d2ee4377fbb9633f21093a80187";
+      sha256 = "05scspf4jxhgbrfnnm363mb8g633rn83zmlxmwsqs1zzvpzgjxvp";
     };
     meta.homepage = "https://github.com/theprimeagen/refactoring.nvim/";
   };
 
   registers-nvim = buildVimPluginFrom2Nix {
     pname = "registers.nvim";
-    version = "2022-01-31";
+    version = "2022-02-12";
     src = fetchFromGitHub {
       owner = "tversteeg";
       repo = "registers.nvim";
-      rev = "941a36e99bccc48fa9569a03b02ec95fb9c5222c";
-      sha256 = "0w0n3210c3j2jpvx0jf718in5hkj7vczv9n1qnls2f46ljwl1f5a";
+      rev = "dd2bfa41b2c43d65f1f715e07acf1f1d34b37de8";
+      sha256 = "19w9v3blnr6x8sp2v362s7yq9yrcgdhkh5r18zkf75fhinaaivra";
     };
     meta.homepage = "https://github.com/tversteeg/registers.nvim/";
   };
@@ -5603,6 +5687,18 @@ final: prev:
     meta.homepage = "https://github.com/vim-scripts/ReplaceWithRegister/";
   };
 
+  rest-nvim = buildVimPluginFrom2Nix {
+    pname = "rest.nvim";
+    version = "2022-01-26";
+    src = fetchFromGitHub {
+      owner = "NTBBloodbath";
+      repo = "rest.nvim";
+      rev = "2826f6960fbd9adb1da9ff0d008aa2819d2d06b3";
+      sha256 = "0lb3rcc41rb9yhylmkpsj141yfk1kki1xkd4q2i9y0ld0mlwjjv8";
+    };
+    meta.homepage = "https://github.com/NTBBloodbath/rest.nvim/";
+  };
+
   riv-vim = buildVimPluginFrom2Nix {
     pname = "riv.vim";
     version = "2021-08-09";
@@ -5677,12 +5773,12 @@ final: prev:
 
   rust-tools-nvim = buildVimPluginFrom2Nix {
     pname = "rust-tools.nvim";
-    version = "2022-02-05";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "rust-tools.nvim";
-      rev = "3962fd333e729ecd06639d220a6a4e99fb71151b";
-      sha256 = "0h0di5ibnlxiwvvqwqfz3zykc8mqg1w8vhd1h04r4626ira7s5rw";
+      rev = "9e28459c1f92de3341d70d6e9bc3ad76990e90ad";
+      sha256 = "0p5w2sy2393k3d9phr8g1nafjccg1183gxkwqsibk6pr0qqsy2wd";
     };
     meta.homepage = "https://github.com/simrat39/rust-tools.nvim/";
   };
@@ -5725,12 +5821,12 @@ final: prev:
 
   SchemaStore-nvim = buildVimPluginFrom2Nix {
     pname = "SchemaStore.nvim";
-    version = "2022-02-01";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "b0o";
       repo = "SchemaStore.nvim";
-      rev = "058575f0bd94b115604bef9c4c48c5d02e21ffef";
-      sha256 = "1mh2lf6lr6js9p8mqxs7pr97nczk8skxric3sw2z0vd9sf3pj2kk";
+      rev = "7cb75a0e0262244728079a5482f2208b742245f9";
+      sha256 = "1ik61x58raln6wailp07w4c34bdzjchsrs4vwdi3pa6xlflw4sih";
     };
     meta.homepage = "https://github.com/b0o/SchemaStore.nvim/";
   };
@@ -5845,12 +5941,12 @@ final: prev:
 
   sideways-vim = buildVimPluginFrom2Nix {
     pname = "sideways.vim";
-    version = "2021-09-18";
+    version = "2022-02-12";
     src = fetchFromGitHub {
       owner = "AndrewRadev";
       repo = "sideways.vim";
-      rev = "56296bd82973139e6fc394689854b959e35c7cdd";
-      sha256 = "1x93bnrywypqlywj5f70y5aaici5yqlpky456w15psfs84piyil7";
+      rev = "ab20cc8a6a7cb95679f99bc4ec724544f9b94c62";
+      sha256 = "01slcxzw485ik7mszj97x67576yw1l7i6imv3rfdn3cv7d216rj8";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/AndrewRadev/sideways.vim/";
@@ -5894,12 +5990,12 @@ final: prev:
 
   slimv = buildVimPluginFrom2Nix {
     pname = "slimv";
-    version = "2021-08-24";
+    version = "2022-02-11";
     src = fetchFromGitHub {
       owner = "kovisoft";
       repo = "slimv";
-      rev = "1c1ef6dad577e8c5fb7d94ec3b6d698b68e7730d";
-      sha256 = "03wy3apmzbrjxypq2xv1z71xnx7bkvhyarw5w1y3l8gl430vjmgi";
+      rev = "1b88c3a67948b446720883ed8eadb8c2b83a21ef";
+      sha256 = "0m0kkc75ifg7lvk8p3vgq5iy8hr254ywj7hhjgxwzm2zbrwkr04s";
     };
     meta.homepage = "https://github.com/kovisoft/slimv/";
   };
@@ -5942,12 +6038,12 @@ final: prev:
 
   sonokai = buildVimPluginFrom2Nix {
     pname = "sonokai";
-    version = "2022-02-04";
+    version = "2022-02-20";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "sonokai";
-      rev = "8cd458541338cb7c71707cf9189ed9a27cfcdc15";
-      sha256 = "16xldhfgpx0jjcsqpszjdq8mp4jqb3vwxcyh9wp3mpadbylyb8vv";
+      rev = "5f9654ddbd828312af7f55202e5ecdc0ff4d6a8e";
+      sha256 = "1lgn7jb0dq5ri9izwwzsgwkldq71a43j3c6imyz562q51xcb4mgq";
     };
     meta.homepage = "https://github.com/sainnhe/sonokai/";
   };
@@ -5964,6 +6060,18 @@ final: prev:
     meta.homepage = "https://github.com/chikatoike/sourcemap.vim/";
   };
 
+  space-vim = buildVimPluginFrom2Nix {
+    pname = "space-vim";
+    version = "2022-02-15";
+    src = fetchFromGitHub {
+      owner = "liuchengxu";
+      repo = "space-vim";
+      rev = "637390b17a8cd7d154a0d90a5c07612f1538a28e";
+      sha256 = "0f43mspfnch1ifqa9rgvc64dmk0hz3cirz8iicpszmdr0fphq3xs";
+    };
+    meta.homepage = "https://github.com/liuchengxu/space-vim/";
+  };
+
   SpaceCamp = buildVimPluginFrom2Nix {
     pname = "SpaceCamp";
     version = "2021-04-07";
@@ -6000,6 +6108,18 @@ final: prev:
     meta.homepage = "https://github.com/ctjhoa/spacevim/";
   };
 
+  SpaceVim = buildVimPluginFrom2Nix {
+    pname = "SpaceVim";
+    version = "2022-02-20";
+    src = fetchFromGitHub {
+      owner = "SpaceVim";
+      repo = "SpaceVim";
+      rev = "6975374b3be303b820c61c2fa33a43fe157265ec";
+      sha256 = "1lqsk7cpf9nb7h3wnmv4df6047iyck0p662m3gqy57xrhl33j33n";
+    };
+    meta.homepage = "https://github.com/SpaceVim/SpaceVim/";
+  };
+
   sparkup = buildVimPluginFrom2Nix {
     pname = "sparkup";
     version = "2012-06-11";
@@ -6135,12 +6255,12 @@ final: prev:
 
   suda-vim = buildVimPluginFrom2Nix {
     pname = "suda.vim";
-    version = "2021-09-01";
+    version = "2022-02-10";
     src = fetchFromGitHub {
       owner = "lambdalisue";
       repo = "suda.vim";
-      rev = "0290c93c148a14eab2b661a1933003d86436f6ec";
-      sha256 = "0n4axfzb6wngklygwbfi1l1qv1d1zgkxhn1wp9fcb8mxg869iwv1";
+      rev = "6bffe36862faa601d2de7e54f6e85c1435e832d0";
+      sha256 = "147ql1wpg543lyglhx47d79qii6d0dxw0vjwpwzvbxzrnwi50d56";
     };
     meta.homepage = "https://github.com/lambdalisue/suda.vim/";
   };
@@ -6171,14 +6291,14 @@ final: prev:
 
   surround-nvim = buildVimPluginFrom2Nix {
     pname = "surround.nvim";
-    version = "2022-02-01";
+    version = "2022-02-22";
     src = fetchFromGitHub {
-      owner = "blackCauldron7";
+      owner = "ur4ltz";
       repo = "surround.nvim";
-      rev = "549045828bbd9de0746b411a762fa8c382fb10ff";
-      sha256 = "0dw10lk7vd2axdd8kf532x9q5hrj6b8qcazni456qy2vrbipyx2x";
+      rev = "633068182cf894480341b992445f0f0d2883721d";
+      sha256 = "0mqg4vki23rs0rj6zyfkd1ki9wndjifp0lmnnw99x3i1qc0ba47i";
     };
-    meta.homepage = "https://github.com/blackCauldron7/surround.nvim/";
+    meta.homepage = "https://github.com/ur4ltz/surround.nvim/";
   };
 
   sved = buildVimPluginFrom2Nix {
@@ -6220,12 +6340,12 @@ final: prev:
 
   symbols-outline-nvim = buildVimPluginFrom2Nix {
     pname = "symbols-outline.nvim";
-    version = "2021-12-09";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "simrat39";
       repo = "symbols-outline.nvim";
-      rev = "034792838579c4b1515c8a5037aba58ecd1d9b35";
-      sha256 = "0h5n03sk89pv4cnlyfvf1sfdp2d7ja43nbdcd52s6lrazkqz204g";
+      rev = "758944ebc6919c50557b6eb3a52bc41187041fe2";
+      sha256 = "1qsa1i72h1vq7mxk8dd75786a1gjncc3jafc8gv5lajk7xyqc64j";
     };
     meta.homepage = "https://github.com/simrat39/symbols-outline.nvim/";
   };
@@ -6268,12 +6388,12 @@ final: prev:
 
   tabnine-vim = buildVimPluginFrom2Nix {
     pname = "tabnine-vim";
-    version = "2022-01-20";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "codota";
       repo = "tabnine-vim";
-      rev = "251ab5f24cc376daf488b68e2d46a219854dcf5f";
-      sha256 = "0v7jdrsyx754y13zwc6cjwqmwc4ic63ala55sxpa0bvsyx63cvdh";
+      rev = "bcb474cafade81a7fc1ecab4bd2ceda6fe359e66";
+      sha256 = "0mpawhqhnva3xqpxq27amd6hr0nls3zsxxwzb7bsrkzk4lc2p1kj";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/codota/tabnine-vim/";
@@ -6329,12 +6449,12 @@ final: prev:
 
   tagbar = buildVimPluginFrom2Nix {
     pname = "tagbar";
-    version = "2022-01-20";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "tagbar";
-      rev = "88242397b4d2fc03d20db189da84869ffbc31b64";
-      sha256 = "0x40nvkm64zwpifbm85ir4n96pyqwv6rrkdrl4a4k2rg4k0b24d1";
+      rev = "a0343f009025c0457edc92ab83b5a8ee5626d114";
+      sha256 = "14lqfkp6ldrdr67r2s5zjg9kml3llirsjbcvsczs0wmwmdl8r7bp";
     };
     meta.homepage = "https://github.com/preservim/tagbar/";
   };
@@ -6387,6 +6507,18 @@ final: prev:
     meta.homepage = "https://github.com/tomtom/tcomment_vim/";
   };
 
+  telescope-asynctasks-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-asynctasks.nvim";
+    version = "2021-10-22";
+    src = fetchFromGitHub {
+      owner = "GustavoKatel";
+      repo = "telescope-asynctasks.nvim";
+      rev = "80bd6570e5423d14ad1e6fd56a199955ac1b895f";
+      sha256 = "1vhjdj0jqxlyj6lmysjalnsbh5365fm2irs733hwycicd95f43iv";
+    };
+    meta.homepage = "https://github.com/GustavoKatel/telescope-asynctasks.nvim/";
+  };
+
   telescope-cheat-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-cheat.nvim";
     version = "2021-12-05";
@@ -6401,12 +6533,12 @@ final: prev:
 
   telescope-coc-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-coc.nvim";
-    version = "2022-01-14";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "fannheyward";
       repo = "telescope-coc.nvim";
-      rev = "9d1740d335a4ca1da0892369c02537a8523fd8f4";
-      sha256 = "0vkakb7xf6y6yk3bhfaj61ayldsxrn3mqnch4qind2vvbnjsr9si";
+      rev = "33a8785dc0d0a5fdd243875eba48bfec95e2cebc";
+      sha256 = "1zf4x7jwy0p52nq2yhzap9bi8kc4npbdvxs6gbwy9kd1ddidfrkb";
     };
     meta.homepage = "https://github.com/fannheyward/telescope-coc.nvim/";
   };
@@ -6425,12 +6557,12 @@ final: prev:
 
   telescope-file-browser-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-file-browser.nvim";
-    version = "2022-02-03";
+    version = "2022-02-18";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-file-browser.nvim";
-      rev = "924f5ac716bed3bb9cd933a3c96aaba751ee81fd";
-      sha256 = "17l0idp0z9h9r3svjpcy0rvmhgddr6pbsc4d2v4hqp3qkazn32ha";
+      rev = "d06fe1d4ade68ba17739025e55e941f9e977d37c";
+      sha256 = "1rvcbbr3bw1i3xykk519m67kw4qkr5x6j7nml5b7camlcdva6lih";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-file-browser.nvim/";
   };
@@ -6449,12 +6581,12 @@ final: prev:
 
   telescope-fzf-native-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-fzf-native.nvim";
-    version = "2021-11-24";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope-fzf-native.nvim";
-      rev = "b8662b076175e75e6497c59f3e2799b879d7b954";
-      sha256 = "0wj7ip9c17m4ij9sw5rq1bqy5hb367b32iz9b14pgg110cvfgpw1";
+      rev = "8ec164b541327202e5e74f99bcc5fe5845720e18";
+      sha256 = "0n2f5zdpxasswdkmci56n0avwcrwsdyp8csq3mzhzf7696vppli1";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope-fzf-native.nvim/";
   };
@@ -6532,6 +6664,18 @@ final: prev:
     meta.homepage = "https://github.com/nvim-telescope/telescope-symbols.nvim/";
   };
 
+  telescope-ultisnips-nvim = buildVimPluginFrom2Nix {
+    pname = "telescope-ultisnips.nvim";
+    version = "2021-09-26";
+    src = fetchFromGitHub {
+      owner = "fhill2";
+      repo = "telescope-ultisnips.nvim";
+      rev = "f48b6d4f53b31507d3fd514905c6940409e8ada8";
+      sha256 = "0333k3m0fygc4r7w56csf0h282gf2wqrykl52n6310i9vardyqw7";
+    };
+    meta.homepage = "https://github.com/fhill2/telescope-ultisnips.nvim/";
+  };
+
   telescope-vim-bookmarks-nvim = buildVimPluginFrom2Nix {
     pname = "telescope-vim-bookmarks.nvim";
     version = "2021-08-12";
@@ -6558,12 +6702,12 @@ final: prev:
 
   telescope-nvim = buildVimPluginFrom2Nix {
     pname = "telescope.nvim";
-    version = "2022-01-31";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "nvim-telescope";
       repo = "telescope.nvim";
-      rev = "f262e7d56d37625613c5de0df5a933cccacf13c5";
-      sha256 = "0gi31w0rpd14zmnnc883hji7vf8hi1njdprhm9lk3n6pslipgfmv";
+      rev = "567ec85b157f1606b500a0f755181f284810a28e";
+      sha256 = "1pzdn12zg9g3y03grw2xha2h5qia6bbi8058n3z5g2ail58hnw2n";
     };
     meta.homepage = "https://github.com/nvim-telescope/telescope.nvim/";
   };
@@ -6616,6 +6760,18 @@ final: prev:
     meta.homepage = "https://github.com/ternjs/tern_for_vim/";
   };
 
+  tex-conceal-vim = buildVimPluginFrom2Nix {
+    pname = "tex-conceal.vim";
+    version = "2022-01-15";
+    src = fetchFromGitHub {
+      owner = "KeitaNakamura";
+      repo = "tex-conceal.vim";
+      rev = "93ae39d9222b0892684d02324b85ee9d3647bf8e";
+      sha256 = "05nqqfxkxd8f9xky9mnfxw9g16z1005ka8zxaw52i0n35dg4gg8y";
+    };
+    meta.homepage = "https://github.com/KeitaNakamura/tex-conceal.vim/";
+  };
+
   thesaurus_query-vim = buildVimPluginFrom2Nix {
     pname = "thesaurus_query.vim";
     version = "2022-01-30";
@@ -6700,6 +6856,18 @@ final: prev:
     meta.homepage = "https://github.com/folke/todo-comments.nvim/";
   };
 
+  todo-nvim = buildVimPluginFrom2Nix {
+    pname = "todo.nvim";
+    version = "2022-02-23";
+    src = fetchFromGitHub {
+      owner = "AmeerTaweel";
+      repo = "todo.nvim";
+      rev = "6bd31dfd64b2730b33aad89423a1055c22fe276a";
+      sha256 = "1887d1bjzixrdinr857cqq4x84760scik04r9mz9zmwdf8nfgh6b";
+    };
+    meta.homepage = "https://github.com/AmeerTaweel/todo.nvim/";
+  };
+
   todo-txt-vim = buildVimPluginFrom2Nix {
     pname = "todo.txt-vim";
     version = "2021-03-20";
@@ -6715,12 +6883,12 @@ final: prev:
 
   toggleterm-nvim = buildVimPluginFrom2Nix {
     pname = "toggleterm.nvim";
-    version = "2022-01-26";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "akinsho";
       repo = "toggleterm.nvim";
-      rev = "d2ceb2ca3268d09db3033b133c0ee4642e07f059";
-      sha256 = "0ijmx8rsf8v4m32044bfzprlmbsnlphjcrzvh3jryf6sc58spx6k";
+      rev = "981e207e17ecd8bf065b5b9201c1d6d2395e9338";
+      sha256 = "1dki7g3q7qp9fmp48h1zi5pyhvn9i6ypqnqhn7n721wsf01mzcrv";
     };
     meta.homepage = "https://github.com/akinsho/toggleterm.nvim/";
   };
@@ -6847,24 +7015,24 @@ final: prev:
 
   ultisnips = buildVimPluginFrom2Nix {
     pname = "ultisnips";
-    version = "2022-02-01";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "SirVer";
       repo = "ultisnips";
-      rev = "c428cdf605658004ae067e862ca7ec3f3e22799d";
-      sha256 = "04hh8gyzf29lsj727lpxy3np15m1gnz6llxqrsf7xdxxjcszzyam";
+      rev = "ca21d30c7a72e0e18ad95f25ded5a5f820052685";
+      sha256 = "1zn97bjlhz3izs7dh97w528zlfi91k0pl95lrmr5cz2px65icsry";
     };
     meta.homepage = "https://github.com/SirVer/ultisnips/";
   };
 
   undotree = buildVimPluginFrom2Nix {
     pname = "undotree";
-    version = "2022-02-03";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "mbbill";
       repo = "undotree";
-      rev = "8a01863a8204b2382ec341d0203c4e9665212221";
-      sha256 = "0shc1wmkrhivfvgn4ahwmn0ifa57rgjq26qlaljxznjhzsiiqxp3";
+      rev = "08e259be24d4476c1ee745dc735eefd44f90efdc";
+      sha256 = "154k5wrs0lhx8dj2pqkhfgqk11csa1iw1dshn7n07iq0ab2wkimy";
     };
     meta.homepage = "https://github.com/mbbill/undotree/";
   };
@@ -6955,12 +7123,12 @@ final: prev:
 
   vifm-vim = buildVimPluginFrom2Nix {
     pname = "vifm.vim";
-    version = "2022-02-01";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "vifm";
       repo = "vifm.vim";
-      rev = "91759dd6aa976a48a398250f7e4a89e95ba883a7";
-      sha256 = "12n9f5wlhg1bly92445px4x0f172dkvjcw9yffvyqxlzq8n41n66";
+      rev = "cc6a3d9ac374078c16a49ace984d9130b307b5e6";
+      sha256 = "15yl6pk9c9dal23jlfc356z4v26a84jhflw5v04y33wv57b1kdfa";
     };
     meta.homepage = "https://github.com/vifm/vifm.vim/";
   };
@@ -7219,12 +7387,12 @@ final: prev:
 
   vim-airline = buildVimPluginFrom2Nix {
     pname = "vim-airline";
-    version = "2022-01-12";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "vim-airline";
       repo = "vim-airline";
-      rev = "95935e66b9a3cd802900ac2d23ccaaf70145d857";
-      sha256 = "1frp3al8jzcmjhcz13drw1gh0nsany5vpqnhcihl8mqd04g638ax";
+      rev = "d0c67776f27eb49cccbd58008724bd6caa00ed8f";
+      sha256 = "1nnwq2csz1nvj4si3y4b85sv8rihnbzxhwcm35dawki57qnvxkpw";
     };
     meta.homepage = "https://github.com/vim-airline/vim-airline/";
   };
@@ -7267,12 +7435,12 @@ final: prev:
 
   vim-android = buildVimPluginFrom2Nix {
     pname = "vim-android";
-    version = "2021-09-01";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "hsanson";
       repo = "vim-android";
-      rev = "ab784d414148e16c8f6c737c14d115783da72c30";
-      sha256 = "0ihw5v9rm32351ydfvsrmkq15hls7rri9d54xqfrzhrdmygyicjf";
+      rev = "e9d03b12378b173b39d416df6469ca417b9cac9d";
+      sha256 = "1r7jcd8q41v1v0syy097qd34ydx0bczgad9ihsmsz83bdbx51dbl";
     };
     meta.homepage = "https://github.com/hsanson/vim-android/";
   };
@@ -7315,12 +7483,12 @@ final: prev:
 
   vim-argwrap = buildVimPluginFrom2Nix {
     pname = "vim-argwrap";
-    version = "2021-12-16";
+    version = "2022-02-08";
     src = fetchFromGitHub {
       owner = "FooSoft";
       repo = "vim-argwrap";
-      rev = "c5de0769d8c00817d42ed6f1b2e7ea4cca2cbc8d";
-      sha256 = "1qp21k9dlgh5gvd4x393xkalzfj36rchn17rg9jy3gij88p2xmbn";
+      rev = "0faba07179f96cae2ab49cf2cc22ebeb922c1532";
+      sha256 = "1lb1rjp1q25gqpzbjix9anjxvx7cqw1qlacvc693f59gl8s8nbf4";
     };
     meta.homepage = "https://github.com/FooSoft/vim-argwrap/";
   };
@@ -7457,6 +7625,18 @@ final: prev:
     meta.homepage = "https://github.com/MattesGroeger/vim-bookmarks/";
   };
 
+  vim-boxdraw = buildVimPluginFrom2Nix {
+    pname = "vim-boxdraw";
+    version = "2021-01-28";
+    src = fetchFromGitHub {
+      owner = "gyim";
+      repo = "vim-boxdraw";
+      rev = "b7f789f305b1c5b0b4623585e0f10adb417f2966";
+      sha256 = "0zr3r4dgpdadaz3g9hzn7vyv0rids0k1wdywk9yywfp6q9m0ygj8";
+    };
+    meta.homepage = "https://github.com/gyim/vim-boxdraw/";
+  };
+
   vim-bracketed-paste = buildVimPluginFrom2Nix {
     pname = "vim-bracketed-paste";
     version = "2018-05-22";
@@ -7541,6 +7721,18 @@ final: prev:
     meta.homepage = "https://github.com/kristijanhusak/vim-carbon-now-sh/";
   };
 
+  vim-ccls = buildVimPluginFrom2Nix {
+    pname = "vim-ccls";
+    version = "2022-01-29";
+    src = fetchFromGitHub {
+      owner = "m-pilia";
+      repo = "vim-ccls";
+      rev = "93ac5dbdeaaaed8fdfd6d850f1e57fb28d204886";
+      sha256 = "15dr487baghlhl559a4zqpm8vnpm77aci4gw9x95v4kds9g4g51k";
+    };
+    meta.homepage = "https://github.com/m-pilia/vim-ccls/";
+  };
+
   vim-choosewin = buildVimPluginFrom2Nix {
     pname = "vim-choosewin";
     version = "2021-04-22";
@@ -7567,12 +7759,12 @@ final: prev:
 
   vim-clap = buildVimPluginFrom2Nix {
     pname = "vim-clap";
-    version = "2022-02-02";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "liuchengxu";
       repo = "vim-clap";
-      rev = "bc7fe91691a1471b9c244e84c69a5fcc698f75ff";
-      sha256 = "0xmd7r2j4kg5pcckx203pjgnsw2j14769cirb8w7l3jjcb87wh1v";
+      rev = "73fe68b6bfbd9201fb0facf2a13cb819f79b3d82";
+      sha256 = "0zs9rg21p0aws6shzvqi5khc3kipqh4yvcx5jpf8f3xcdlv13mrk";
     };
     meta.homepage = "https://github.com/liuchengxu/vim-clap/";
   };
@@ -7603,12 +7795,12 @@ final: prev:
 
   vim-closer = buildVimPluginFrom2Nix {
     pname = "vim-closer";
-    version = "2021-03-28";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "rstacruz";
       repo = "vim-closer";
-      rev = "26bba80f4d987f12141da522d69aa1fa4aff4436";
-      sha256 = "1pyi5akzvvkdngm577m1c1210r0yypdwsvp1y7ag6gdfnls75xws";
+      rev = "43acc7c59fca861cb92cc47f01f184d9d342a73b";
+      sha256 = "1q03kz5ffyz8ifxdn7bgf3r7jlqa8vya13pnjyqda15wly1fl0k8";
     };
     meta.homepage = "https://github.com/rstacruz/vim-closer/";
   };
@@ -7639,12 +7831,12 @@ final: prev:
 
   vim-codefmt = buildVimPluginFrom2Nix {
     pname = "vim-codefmt";
-    version = "2021-12-24";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "google";
       repo = "vim-codefmt";
-      rev = "605dc002cabfec67eded553298aba21ab392ea78";
-      sha256 = "1zlmibs23nyxkaj95h7z2m2p8xizvdr0i3477zs4y3lm6g0rqs23";
+      rev = "27e5ac299a0714025cc46fc1da11694a8662b058";
+      sha256 = "06zp45w1mxq075lrw1x2p87l4gdc5fijgag4mj7j61jd2x92xsx7";
     };
     meta.homepage = "https://github.com/google/vim-codefmt/";
   };
@@ -7843,12 +8035,12 @@ final: prev:
 
   vim-dadbod-completion = buildVimPluginFrom2Nix {
     pname = "vim-dadbod-completion";
-    version = "2021-12-21";
+    version = "2022-02-13";
     src = fetchFromGitHub {
       owner = "kristijanhusak";
       repo = "vim-dadbod-completion";
-      rev = "10064d526001d98b6454235644e3e586b566f26d";
-      sha256 = "07vlg4w9x0xs4xag02pyxram94mvizipwya7p6vg7s3rznj0bipd";
+      rev = "db100d536885fb920925eb0bcaf00bac3d0112dc";
+      sha256 = "0g0zp9j0gaww1w8w7pdfz71dvs2fww9qwsyafbqljn9img0qdmpk";
     };
     meta.homepage = "https://github.com/kristijanhusak/vim-dadbod-completion/";
   };
@@ -8275,12 +8467,12 @@ final: prev:
 
   vim-flake8 = buildVimPluginFrom2Nix {
     pname = "vim-flake8";
-    version = "2022-01-26";
+    version = "2022-02-17";
     src = fetchFromGitHub {
       owner = "nvie";
       repo = "vim-flake8";
-      rev = "5bd58732be452a32e923179673b94e5f1ed5dc9e";
-      sha256 = "0x79nnscv11xdldb26j42w268bfhw9haph03l587j2pm5bnkd9qb";
+      rev = "a99054ef98e8fdaefa1315af4649138bcadbfdf7";
+      sha256 = "1ila8z90rxsdxgp44n5wms5s3vlx0j0b7svhx0nff66ylfqy3s4x";
     };
     meta.homepage = "https://github.com/nvie/vim-flake8/";
   };
@@ -8299,12 +8491,12 @@ final: prev:
 
   vim-floaterm = buildVimPluginFrom2Nix {
     pname = "vim-floaterm";
-    version = "2022-02-04";
+    version = "2022-02-15";
     src = fetchFromGitHub {
       owner = "voldikss";
       repo = "vim-floaterm";
-      rev = "79d8a5258f485b7c7541bdc6dbf44fb8aa56e371";
-      sha256 = "0ixwhwnh60ssxr5pxm3pqhkabpj812l6wc0pqm5xjpayvb5lnpcq";
+      rev = "6244d1739aad6682c6c1d5db18c846c342af6e3e";
+      sha256 = "1w0d93wm0xwg8wyvyzdibjmnd1py343mvvzj911byvnm1b52zp7h";
     };
     meta.homepage = "https://github.com/voldikss/vim-floaterm/";
   };
@@ -8371,12 +8563,12 @@ final: prev:
 
   vim-fugitive = buildVimPluginFrom2Nix {
     pname = "vim-fugitive";
-    version = "2022-02-02";
+    version = "2022-02-11";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-fugitive";
-      rev = "6c19f1ddfb74b3b21f3d1e830bee1d1ed6a72ece";
-      sha256 = "0fki0z29zlzckf8a3zg82lzi0rijn85rixrpfhb732880nrn5vbx";
+      rev = "c29ef11cd6478da675678265e76f9e527843876f";
+      sha256 = "1mfskzmpkb7nk1y7szld46npp0r686whrw08iqih7saxbrhhkdra";
     };
     meta.homepage = "https://github.com/tpope/vim-fugitive/";
   };
@@ -8467,12 +8659,12 @@ final: prev:
 
   vim-gitgutter = buildVimPluginFrom2Nix {
     pname = "vim-gitgutter";
-    version = "2022-02-02";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "airblade";
       repo = "vim-gitgutter";
-      rev = "d845704e9e60e974f7708b9b1e54ab5cca6d9454";
-      sha256 = "0gf447qhmdy3azkh0in66awpsk7jwa1bp0ivg4afigylq1s30x76";
+      rev = "18d12985ea6cb7ede59755ff4fd0a9fa1e6bf835";
+      sha256 = "1gs7vaf9pyd8ji0vc9iafd46g4iqy8rpa2jif0k56wxzcrjw4r22";
     };
     meta.homepage = "https://github.com/airblade/vim-gitgutter/";
   };
@@ -8491,12 +8683,12 @@ final: prev:
 
   vim-glsl = buildVimPluginFrom2Nix {
     pname = "vim-glsl";
-    version = "2021-11-13";
+    version = "2022-02-06";
     src = fetchFromGitHub {
       owner = "tikhomirov";
       repo = "vim-glsl";
-      rev = "25f9a7dfca64787313fb4339866ff941b8974d61";
-      sha256 = "0dm0nmglf7sr9rkxq4ya14pg1wrqfbv6pigj2f1hb0gf1n9bd6rz";
+      rev = "28a6dfbcd96095226bee90985b7f12c5679dbbb6";
+      sha256 = "051f0q5bkgp77pz0izh5mvqsmxy0rzlvriwq4j7qzslqk7i850p2";
     };
     meta.homepage = "https://github.com/tikhomirov/vim-glsl/";
   };
@@ -8515,12 +8707,12 @@ final: prev:
 
   vim-go = buildVimPluginFrom2Nix {
     pname = "vim-go";
-    version = "2022-01-28";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "fatih";
       repo = "vim-go";
-      rev = "430bc227654abc3eb5e27a9052a857344ca08cdc";
-      sha256 = "0wh3g0lilzi4rjlszjf5gys11zpqvyv53hy5gyjd72k0kkbfbc2k";
+      rev = "05f97b7fb130cf137b129dd4f9ab09fa5a8839c8";
+      sha256 = "1g0v9miazm9z9nbi3s8k5imh75kp4d1mz5q95y2aqm12bi5a7890";
     };
     meta.homepage = "https://github.com/fatih/vim-go/";
   };
@@ -8539,12 +8731,12 @@ final: prev:
 
   vim-graphql = buildVimPluginFrom2Nix {
     pname = "vim-graphql";
-    version = "2022-01-31";
+    version = "2022-02-07";
     src = fetchFromGitHub {
       owner = "jparise";
       repo = "vim-graphql";
-      rev = "5ce866172da4b90f77b8371423dc031fe2f4ece7";
-      sha256 = "07rl7il0aqirmrg720c3k96v0rfwj4njmx2pnql3wd8nbl2w5czb";
+      rev = "15c5937688490af8dde09e90c9a5585c840ba81c";
+      sha256 = "07j704ysc2klqfjk3918b1kjq16pw1yb1fykdsi2a0lamndn9l04";
     };
     meta.homepage = "https://github.com/jparise/vim-graphql/";
   };
@@ -9069,12 +9261,12 @@ final: prev:
 
   vim-lastplace = buildVimPluginFrom2Nix {
     pname = "vim-lastplace";
-    version = "2021-08-14";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "farmergreg";
       repo = "vim-lastplace";
-      rev = "d522829d810f3254ca09da368a896c962d4a3d61";
-      sha256 = "04x6y9yp5xlds37bswmrc3xlhhjfln9nzrkippvvhl48b0kfnpj8";
+      rev = "cef9d62165cd26c3c2b881528a5290a84347059e";
+      sha256 = "0wkjyqx427vvjhj0v3vfrg4hfb5ax5qq5ilfqas9h94w1cngiz5c";
     };
     meta.homepage = "https://github.com/farmergreg/vim-lastplace/";
   };
@@ -9129,12 +9321,12 @@ final: prev:
 
   vim-ledger = buildVimPluginFrom2Nix {
     pname = "vim-ledger";
-    version = "2021-09-22";
+    version = "2022-02-10";
     src = fetchFromGitHub {
       owner = "ledger";
       repo = "vim-ledger";
-      rev = "5461c6911ee4d61d1f729c66cd3514905203be34";
-      sha256 = "0k2l8z8qkjqj4swwzlc0mf1r77n1rxi5skxwlvvwcldx0gh0mv4r";
+      rev = "9a2120d9f98b13b3aa37b577a7e769bfdd046130";
+      sha256 = "01myc1pbc1q2fkxcy40pibbqszjxvkc9diwjmixfn4a6qmf8n1gp";
     };
     meta.homepage = "https://github.com/ledger/vim-ledger/";
   };
@@ -9237,12 +9429,12 @@ final: prev:
 
   vim-lsp = buildVimPluginFrom2Nix {
     pname = "vim-lsp";
-    version = "2022-01-15";
+    version = "2022-02-12";
     src = fetchFromGitHub {
       owner = "prabirshrestha";
       repo = "vim-lsp";
-      rev = "66b56c026fa24f76f38d3bc99bd478eff9aa4be3";
-      sha256 = "0bq0h3wla97jfvvkgw5ylmfyj4jbxml6y8gl2abnanwb3ympy3mb";
+      rev = "3d0fc4072bef08b578d4a4aa4a6f91de571e99e4";
+      sha256 = "16cpi5x2z1gqfzxgvdnqh47g6p0b6dmhrrfqprmc45c6cfwj6plh";
     };
     meta.homepage = "https://github.com/prabirshrestha/vim-lsp/";
   };
@@ -9309,12 +9501,12 @@ final: prev:
 
   vim-markdown = buildVimPluginFrom2Nix {
     pname = "vim-markdown";
-    version = "2022-01-29";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vim-markdown";
-      rev = "50d42082819cfa91745b6eff6e28ad5cbc8b27fa";
-      sha256 = "1582y2cyqywbgf4pg8m5m2s0nd6wwgnm1nxy5kmrfcn1119hn639";
+      rev = "95e90840c45911b62261bae02e3ba2777877eaf5";
+      sha256 = "1jrj3419ar7lnj6mriq3pvffsg6g3kxg36jrixi96a0cl2aqrs8b";
     };
     meta.homepage = "https://github.com/preservim/vim-markdown/";
   };
@@ -9334,24 +9526,24 @@ final: prev:
 
   vim-markdown-toc = buildVimPluginFrom2Nix {
     pname = "vim-markdown-toc";
-    version = "2022-02-02";
+    version = "2022-02-11";
     src = fetchFromGitHub {
       owner = "mzlogin";
       repo = "vim-markdown-toc";
-      rev = "70dd06e9358859f712cc7cf40e267fdac93cc7ff";
-      sha256 = "1xin3j5ccg6j6ny9la4shknqnk3i6pf7awkg1rgxqlrd4pwcq5pr";
+      rev = "31aa38e58334f1321ae8ec6f38d05303f3226698";
+      sha256 = "0kv7miavs4xfiaj7yj0hi7cr65m7mn6rvd6dykmbr8j7w0pra7fr";
     };
     meta.homepage = "https://github.com/mzlogin/vim-markdown-toc/";
   };
 
   vim-matchup = buildVimPluginFrom2Nix {
     pname = "vim-matchup";
-    version = "2022-02-04";
+    version = "2022-02-18";
     src = fetchFromGitHub {
       owner = "andymass";
       repo = "vim-matchup";
-      rev = "0fd7055cc23109f3dbb65aadee664c663a4d5f94";
-      sha256 = "0w19jb52xwifiigivard7xxhfp4qjfqjf7fygk7b2bbhbrh1qnb8";
+      rev = "7fd8806138f404498db7a3e848d8fa55ad61e7cf";
+      sha256 = "061jvw0rdwz7s4yaiq7s32cx0y1vkknsc80gh2gj53jsbcpk30zp";
     };
     meta.homepage = "https://github.com/andymass/vim-matchup/";
   };
@@ -9560,6 +9752,18 @@ final: prev:
     meta.homepage = "https://github.com/LnL7/vim-nix/";
   };
 
+  vim-nixhash = buildVimPluginFrom2Nix {
+    pname = "vim-nixhash";
+    version = "2022-02-06";
+    src = fetchFromGitHub {
+      owner = "symphorien";
+      repo = "vim-nixhash";
+      rev = "d6e3c5161ef2e3fbc4a4b68a785d958d97e25b7e";
+      sha256 = "1mrprl6mqapjzcya643nzvwaf01r38knjg9xnfbpvlidfq38d3cw";
+    };
+    meta.homepage = "https://github.com/symphorien/vim-nixhash/";
+  };
+
   vim-noctu = buildVimPluginFrom2Nix {
     pname = "vim-noctu";
     version = "2015-06-27";
@@ -9610,12 +9814,12 @@ final: prev:
 
   vim-ocaml = buildVimPluginFrom2Nix {
     pname = "vim-ocaml";
-    version = "2022-01-24";
+    version = "2022-02-09";
     src = fetchFromGitHub {
       owner = "ocaml";
       repo = "vim-ocaml";
-      rev = "9485f5aa3aa8e3d8505fce9a70efecc38dfee329";
-      sha256 = "13lwc63iavqpwr25knrzs5f5mn7yrq8lhmm8p1d99vd5j7ngyy5x";
+      rev = "335ebc6e433afb972aa797be0587895a11dddab5";
+      sha256 = "079pfc897zz36mb36as7vq38b9njy42phjvmgarqlyqrwgjc0win";
     };
     meta.homepage = "https://github.com/ocaml/vim-ocaml/";
   };
@@ -9718,12 +9922,12 @@ final: prev:
 
   vim-oscyank = buildVimPluginFrom2Nix {
     pname = "vim-oscyank";
-    version = "2021-09-04";
+    version = "2022-02-21";
     src = fetchFromGitHub {
       owner = "ojroques";
       repo = "vim-oscyank";
-      rev = "5d152a9e03ca1c975c1f439456376e01561a02b5";
-      sha256 = "0zdjj4mhw27jbdw8xrjc2gj3mx65p02c6nnyp7gci78fzxcv7slr";
+      rev = "18db93968ae0f2aa89ee68e18f5785381ab169cc";
+      sha256 = "0a4261fkvgfaw1vsm5fgqm27rlcx8gpj2hkrk8kg9bjaijniqgd8";
     };
     meta.homepage = "https://github.com/ojroques/vim-oscyank/";
   };
@@ -9790,12 +9994,12 @@ final: prev:
 
   vim-pandoc-syntax = buildVimPluginFrom2Nix {
     pname = "vim-pandoc-syntax";
-    version = "2021-07-06";
+    version = "2022-02-16";
     src = fetchFromGitHub {
       owner = "vim-pandoc";
       repo = "vim-pandoc-syntax";
-      rev = "5056e635ecf406e65d7d28651bab55600dd18741";
-      sha256 = "0mzvknzk42x5h2p3l9gmmxhbardfkrirr8wzfx460cm5daps6j2q";
+      rev = "7bea0ba8929749b2a471520af87635163fb28bdf";
+      sha256 = "1dqd11qmb5jlkmalp10niysz1c2rv2pzwq332i3incq1v1l5146j";
     };
     meta.homepage = "https://github.com/vim-pandoc/vim-pandoc-syntax/";
   };
@@ -9850,12 +10054,12 @@ final: prev:
 
   vim-pencil = buildVimPluginFrom2Nix {
     pname = "vim-pencil";
-    version = "2021-06-19";
+    version = "2022-02-13";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vim-pencil";
-      rev = "942e02e53cc2d914f215a2c69707fbdbdd137f86";
-      sha256 = "098agz8kiycn6nhv42r43dmbc5hng3d7nwk0zgiws7cz8si4kf0s";
+      rev = "5b4110dadebb756aae3d852caafbc963bb3c9a5e";
+      sha256 = "0f21dabn586643vzkdxcp86ap803vsm60lx2lifbaicrxkf3s7ri";
     };
     meta.homepage = "https://github.com/preservim/vim-pencil/";
   };
@@ -9910,12 +10114,12 @@ final: prev:
 
   vim-polyglot = buildVimPluginFrom2Nix {
     pname = "vim-polyglot";
-    version = "2022-01-23";
+    version = "2022-02-20";
     src = fetchFromGitHub {
       owner = "sheerun";
       repo = "vim-polyglot";
-      rev = "2c5af8f89d3e61e04e761c07a1f043b0f35203c6";
-      sha256 = "1aajyfcxw7d9dfhakz6jzkhc6dvb6dckwv3q77f5cfnc5s6rfnz3";
+      rev = "83422e0a1fcfc88f3475104b0e0674e8dbe3130e";
+      sha256 = "1fj2avq18qx6rkghqiyp14qg166889kfpj7hzy5a1n71n5c8lh2j";
     };
     meta.homepage = "https://github.com/sheerun/vim-polyglot/";
   };
@@ -9994,12 +10198,12 @@ final: prev:
 
   vim-prosession = buildVimPluginFrom2Nix {
     pname = "vim-prosession";
-    version = "2022-01-20";
+    version = "2022-02-10";
     src = fetchFromGitHub {
       owner = "dhruvasagar";
       repo = "vim-prosession";
-      rev = "8f3519a8c274767ae04134377abf144c75ebf534";
-      sha256 = "1cxcnv2y5hmj1a5prddq3909xln26gfh8lhv62yqi5ckmrpzn64v";
+      rev = "9ce73e992d4481de6235222b75e42f64d2b307ef";
+      sha256 = "09w41jkidlyab67ishjpibbyrpa9qqmcrpb9y91ssyv3mzir5d3w";
     };
     meta.homepage = "https://github.com/dhruvasagar/vim-prosession/";
   };
@@ -10426,12 +10630,12 @@ final: prev:
 
   vim-sleuth = buildVimPluginFrom2Nix {
     pname = "vim-sleuth";
-    version = "2022-01-25";
+    version = "2022-01-30";
     src = fetchFromGitHub {
       owner = "tpope";
       repo = "vim-sleuth";
-      rev = "65ade2453342062010386e226eaa754889e2b557";
-      sha256 = "005z7l99lp89lwz7y8a2gfrnby3j2macncbpprjfmnwc0f1y9wvg";
+      rev = "27156fb69450ddef8e1bbec6afa71896681ad38a";
+      sha256 = "073bc4pbsx7s5is6658q5pk0l69ip1bx4dhlz2bcvzhkslzp2ik0";
     };
     meta.homepage = "https://github.com/tpope/vim-sleuth/";
   };
@@ -10606,12 +10810,12 @@ final: prev:
 
   vim-startuptime = buildVimPluginFrom2Nix {
     pname = "vim-startuptime";
-    version = "2022-01-02";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "dstein64";
       repo = "vim-startuptime";
-      rev = "5518103a7a5e4d761d7ca9dd8fdc6f1aed669402";
-      sha256 = "19286aa4vsif684wfywagfibzbxvq7sf62z6rmci5shvd5zsrpfi";
+      rev = "d6098f5603066c438a7bde3cc4acc32fbe6972e8";
+      sha256 = "0ycr5h9zng612ia6sx67mrw266wmy6xdbkrc9rrd53lzd1akh0f3";
     };
     meta.homepage = "https://github.com/dstein64/vim-startuptime/";
   };
@@ -10763,12 +10967,12 @@ final: prev:
 
   vim-test = buildVimPluginFrom2Nix {
     pname = "vim-test";
-    version = "2022-01-22";
+    version = "2022-02-12";
     src = fetchFromGitHub {
       owner = "vim-test";
       repo = "vim-test";
-      rev = "2ace9a12253140f1bdf4318a46ca9076658dd147";
-      sha256 = "04bnymydy84z4gqnyjkkddvacmsqccbxiwm8p5hinlnyp6ahjjjd";
+      rev = "0422b7fa087eb7dd1270dfcb1f3d634b57829b6e";
+      sha256 = "060nvhxj219phx4rxi3igg2lvk39ll8g3jp762nigc242hha6wzf";
     };
     meta.homepage = "https://github.com/vim-test/vim-test/";
   };
@@ -10931,12 +11135,12 @@ final: prev:
 
   vim-toml = buildVimPluginFrom2Nix {
     pname = "vim-toml";
-    version = "2021-12-06";
+    version = "2022-02-23";
     src = fetchFromGitHub {
       owner = "cespare";
       repo = "vim-toml";
-      rev = "2c8983cc391287e5e26e015c3ab9c38de9f9b759";
-      sha256 = "1mxn2z3p3lnk3ibwxhqb3dih25qalpqfwy0rx7i393vpjbkn79py";
+      rev = "89bcca8a3aeab360f6dfe5ce70999fc928669411";
+      sha256 = "0lw45cchgmank2w0y864qwhzw5cjbggk1p46vgjgs7cn1jsdhvr0";
     };
     meta.homepage = "https://github.com/cespare/vim-toml/";
   };
@@ -11003,12 +11207,12 @@ final: prev:
 
   vim-ultest = buildVimPluginFrom2Nix {
     pname = "vim-ultest";
-    version = "2022-01-31";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "rcarriga";
       repo = "vim-ultest";
-      rev = "0aa467db97a075c576e97424865a57a457fd4851";
-      sha256 = "0ds8a0qn4dx332rpfwjmk09iaqjjd7wiqp91j1c84ysjnc2c1pfk";
+      rev = "3792283722949045c5218abc3cab151441828afb";
+      sha256 = "1fb71npvzdgrwfdgi8m7fzn5an027fcn6s85g0vywjr89l2dqyyx";
     };
     meta.homepage = "https://github.com/rcarriga/vim-ultest/";
   };
@@ -11135,12 +11339,12 @@ final: prev:
 
   vim-wakatime = buildVimPluginFrom2Nix {
     pname = "vim-wakatime";
-    version = "2022-01-31";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "wakatime";
       repo = "vim-wakatime";
-      rev = "b6754ace510ffa931bceb47df417a9ef3a87cb6b";
-      sha256 = "13dfaf6y0yfnbnxl43fc0jwqv45gigki4iyhb4698fhmcy105jv6";
+      rev = "f922f82954cb68fccfd20ad3eacc78fb2559a937";
+      sha256 = "1inb0vh1mfg6ihasd317ykw0dsnx8z16jvm6f6i8ldy3fw79y9wg";
     };
     meta.homepage = "https://github.com/wakatime/vim-wakatime/";
   };
@@ -11159,12 +11363,12 @@ final: prev:
 
   vim-wayland-clipboard = buildVimPluginFrom2Nix {
     pname = "vim-wayland-clipboard";
-    version = "2021-05-01";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "jasonccox";
       repo = "vim-wayland-clipboard";
-      rev = "722aaf34486ffee924ccbc34eb22553642c1c153";
-      sha256 = "1vg242139r1arz4kia4bbpmvzr4v5rp7gzy063f61xbvkdjwjx4q";
+      rev = "7dcfcc17094eab71fd5fb467eb73c34abdde586c";
+      sha256 = "1rs2zhr500ib1drvnk63yciw4g3z1jsfksm6s2a0ywsxv1b240n2";
     };
     meta.homepage = "https://github.com/jasonccox/vim-wayland-clipboard/";
   };
@@ -11207,12 +11411,12 @@ final: prev:
 
   vim-wordy = buildVimPluginFrom2Nix {
     pname = "vim-wordy";
-    version = "2020-10-24";
+    version = "2022-02-13";
     src = fetchFromGitHub {
       owner = "preservim";
       repo = "vim-wordy";
-      rev = "667426a0171787b2620dffa5b2d7c01c9040237f";
-      sha256 = "1lcrisv2wcd8iw76prql03wd11jgmknm3rvbcw7vv4v5r2s9rv5z";
+      rev = "590927f57277666e032702b26e4e0c82717cc3cb";
+      sha256 = "13ky8zlqalbvamhjvici7nvybansfzhrk8h203ayi2s5id9dai6m";
     };
     meta.homepage = "https://github.com/preservim/vim-wordy/";
   };
@@ -11337,6 +11541,18 @@ final: prev:
     meta.homepage = "https://github.com/jreybert/vimagit/";
   };
 
+  VimCompletesMe = buildVimPluginFrom2Nix {
+    pname = "VimCompletesMe";
+    version = "2022-02-18";
+    src = fetchFromGitHub {
+      owner = "ackyshake";
+      repo = "VimCompletesMe";
+      rev = "9adf692d7ae6424038458a89d4a411f0a27d1388";
+      sha256 = "1sndgb3291dyifaa8adri2mb8cgbinbar3nw1fnf67k9ahwycaz0";
+    };
+    meta.homepage = "https://github.com/ackyshake/VimCompletesMe/";
+  };
+
   vimelette = buildVimPluginFrom2Nix {
     pname = "vimelette";
     version = "2019-05-02";
@@ -11399,12 +11615,12 @@ final: prev:
 
   vimproc-vim = buildVimPluginFrom2Nix {
     pname = "vimproc.vim";
-    version = "2020-06-23";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "Shougo";
       repo = "vimproc.vim";
-      rev = "8f40d86ab938d5df8c1c9824320621ae9f0d5609";
-      sha256 = "11k59lc31056lk9ndkmi9a4459lnv6hdhvw3y4gpin40xchl6d61";
+      rev = "3ba46c01109bc590c6740c1133f53584751924b2";
+      sha256 = "05m34kbpi6y4rkcrxz785jikj37y5q44k0wfjdhklr49fgw08vra";
     };
     meta.homepage = "https://github.com/Shougo/vimproc.vim/";
   };
@@ -11435,12 +11651,12 @@ final: prev:
 
   vimspector = buildVimPluginFrom2Nix {
     pname = "vimspector";
-    version = "2022-02-02";
+    version = "2022-02-24";
     src = fetchFromGitHub {
       owner = "puremourning";
       repo = "vimspector";
-      rev = "670fb84fcf623c3978fa3d91a7cce8ac8a21674d";
-      sha256 = "1f7ibgnzsmakxspzn4xhhscbw9hq61cs3s4v2zr3xawdc5cf89gq";
+      rev = "d044dea0c2669c740052a47900e6e16f64444b63";
+      sha256 = "1sv1r4pcz1fx99qi566nncs116vw3wsny344lcnsh0r6b2sc0bz0";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/puremourning/vimspector/";
@@ -11448,12 +11664,12 @@ final: prev:
 
   vimtex = buildVimPluginFrom2Nix {
     pname = "vimtex";
-    version = "2022-02-04";
+    version = "2022-02-19";
     src = fetchFromGitHub {
       owner = "lervag";
       repo = "vimtex";
-      rev = "cb75f97b2fad28bd5208eb2278f4f06ed2fc1ff9";
-      sha256 = "18rj9c5rzqqj74337hcl34gasyn37xbm61w8p8vb2wb5kp2rqn95";
+      rev = "c8c9ac5377045f3e2881d13cbb60ff1750497b15";
+      sha256 = "14bl67020mswbbz63jzq25nl6sqg9qzryw12x1s802xnc2f65g9r";
     };
     meta.homepage = "https://github.com/lervag/vimtex/";
   };
@@ -11568,12 +11784,12 @@ final: prev:
 
   wilder-nvim = buildVimPluginFrom2Nix {
     pname = "wilder.nvim";
-    version = "2022-01-09";
+    version = "2022-02-12";
     src = fetchFromGitHub {
       owner = "gelguy";
       repo = "wilder.nvim";
-      rev = "f50d79a3f9ef07be3c0c8a0f49faaeea803a8c0c";
-      sha256 = "0188kmh2ck1a5254i3gdk1p6p2z7wdq3prj66lslbhyard8gzxjq";
+      rev = "f49592d297eff4c485ac28927fc7945c165197d6";
+      sha256 = "14sxz4vfzrqwa9qxw9pprj34v7z4gmdz0k1xdkyjcx6fzmny7ycn";
     };
     meta.homepage = "https://github.com/gelguy/wilder.nvim/";
   };
@@ -11590,6 +11806,18 @@ final: prev:
     meta.homepage = "https://github.com/gcmt/wildfire.vim/";
   };
 
+  winshift-nvim = buildVimPluginFrom2Nix {
+    pname = "winshift.nvim";
+    version = "2021-11-15";
+    src = fetchFromGitHub {
+      owner = "sindrets";
+      repo = "winshift.nvim";
+      rev = "aaa04b97640165eb0877bfc04943f4282887470b";
+      sha256 = "0rg7ci0m1hm9jbhjwckvjnfl0w3bl2wfr7wq67k0wdj5vnlzz6w3";
+    };
+    meta.homepage = "https://github.com/sindrets/winshift.nvim/";
+  };
+
   wmgraphviz-vim = buildVimPluginFrom2Nix {
     pname = "wmgraphviz.vim";
     version = "2018-04-26";
@@ -11689,12 +11917,12 @@ final: prev:
 
   YouCompleteMe = buildVimPluginFrom2Nix {
     pname = "YouCompleteMe";
-    version = "2022-01-11";
+    version = "2022-02-22";
     src = fetchFromGitHub {
       owner = "ycm-core";
       repo = "YouCompleteMe";
-      rev = "7684b6c6b49f8d3bdbd17ecdc9ee7d228039808e";
-      sha256 = "1g84g4lgpxgyb7cicdz6dxgmp4gliq0633lblcwsya7m35r8c7ls";
+      rev = "aec79589040497cd0cb0701e089d8d80dc6de996";
+      sha256 = "16nnq95hvprr5wkbrx4slrfjspcshhx4halij3spldrxy40mbm2m";
       fetchSubmodules = true;
     };
     meta.homepage = "https://github.com/ycm-core/YouCompleteMe/";
@@ -11762,12 +11990,12 @@ final: prev:
 
   zig-vim = buildVimPluginFrom2Nix {
     pname = "zig.vim";
-    version = "2022-01-28";
+    version = "2022-02-11";
     src = fetchFromGitHub {
       owner = "ziglang";
       repo = "zig.vim";
-      rev = "0762d89c24f5a1da6bf26ca83f3719c379008ff9";
-      sha256 = "00vfyi79m85d8pv0cnhyj82nqlnwiqs5pkzbr9yn8mvy6r0hscf3";
+      rev = "10ff26328cf8e5ed2938b96da6f8c20737eb444a";
+      sha256 = "1r50jrap0pb2mah4b7mx9scg2gz03l02bkqsfqw1a0r7rwv6alxs";
     };
     meta.homepage = "https://github.com/ziglang/zig.vim/";
   };
diff --git a/pkgs/misc/vim-plugins/markdown-preview-nvim/fix-node-paths.patch b/pkgs/applications/editors/vim/plugins/markdown-preview-nvim/fix-node-paths.patch
index 7b09f5b8046..7b09f5b8046 100644
--- a/pkgs/misc/vim-plugins/markdown-preview-nvim/fix-node-paths.patch
+++ b/pkgs/applications/editors/vim/plugins/markdown-preview-nvim/fix-node-paths.patch
diff --git a/pkgs/misc/vim-plugins/markdown-preview-nvim/package.json b/pkgs/applications/editors/vim/plugins/markdown-preview-nvim/package.json
index a3900a91dff..a3900a91dff 100644
--- a/pkgs/misc/vim-plugins/markdown-preview-nvim/package.json
+++ b/pkgs/applications/editors/vim/plugins/markdown-preview-nvim/package.json
diff --git a/pkgs/misc/vim-plugins/overrides.nix b/pkgs/applications/editors/vim/plugins/overrides.nix
index 5c4c92a1c59..05962249573 100644
--- a/pkgs/misc/vim-plugins/overrides.nix
+++ b/pkgs/applications/editors/vim/plugins/overrides.nix
@@ -414,7 +414,7 @@ self: super: {
 
   markdown-preview-nvim = super.markdown-preview-nvim.overrideAttrs (old: let
     # We only need its dependencies `node-modules`.
-    nodeDep = nodePackages."markdown-preview-nvim-../../misc/vim-plugins/markdown-preview-nvim".overrideAttrs (old: {
+    nodeDep = nodePackages."markdown-preview-nvim-../../applications/editors/vim/plugins/markdown-preview-nvim".overrideAttrs (old: {
       dontNpmInstall = true;
     });
   in {
@@ -534,6 +534,11 @@ self: super: {
     dependencies = with self; [ nvim-treesitter plenary-nvim ];
   });
 
+  # needs  "http" and "json" treesitter grammars too
+  rest-nvim = super.rest-nvim.overrideAttrs (old: {
+    dependencies = with self; [ plenary-nvim ];
+  });
+
   skim = buildVimPluginFrom2Nix {
     pname = "skim";
     version = skim.version;
@@ -815,7 +820,7 @@ self: super: {
             libiconv
           ];
 
-          cargoSha256 = "sha256-y4yQ8Zv9bpfOyQrBX/TAuVYHhDsXdj0rh8nHJonxgcU=";
+          cargoSha256 = "sha256-JKi51kzCHMctUX6tT8K2Rq1slV3Ek67dCgbPjBkwPTE=";
         };
       in
       ''
diff --git a/pkgs/misc/vim-plugins/patches/fruzzy/get_version.patch b/pkgs/applications/editors/vim/plugins/patches/fruzzy/get_version.patch
index 62aaba118f2..62aaba118f2 100644
--- a/pkgs/misc/vim-plugins/patches/fruzzy/get_version.patch
+++ b/pkgs/applications/editors/vim/plugins/patches/fruzzy/get_version.patch
diff --git a/pkgs/misc/vim-plugins/patches/lens-vim/remove_duplicate_g_lens_animate.patch b/pkgs/applications/editors/vim/plugins/patches/lens-vim/remove_duplicate_g_lens_animate.patch
index 1cd232654c8..1cd232654c8 100644
--- a/pkgs/misc/vim-plugins/patches/lens-vim/remove_duplicate_g_lens_animate.patch
+++ b/pkgs/applications/editors/vim/plugins/patches/lens-vim/remove_duplicate_g_lens_animate.patch
diff --git a/pkgs/misc/vim-plugins/patches/sniprun/fix-paths.patch b/pkgs/applications/editors/vim/plugins/patches/sniprun/fix-paths.patch
index f3203e00757..f3203e00757 100644
--- a/pkgs/misc/vim-plugins/patches/sniprun/fix-paths.patch
+++ b/pkgs/applications/editors/vim/plugins/patches/sniprun/fix-paths.patch
diff --git a/pkgs/misc/vim-plugins/patches/vim-grammarous/set_default_languagetool.patch b/pkgs/applications/editors/vim/plugins/patches/vim-grammarous/set_default_languagetool.patch
index 72c928d1a97..72c928d1a97 100644
--- a/pkgs/misc/vim-plugins/patches/vim-grammarous/set_default_languagetool.patch
+++ b/pkgs/applications/editors/vim/plugins/patches/vim-grammarous/set_default_languagetool.patch
diff --git a/pkgs/misc/vim-plugins/readme.md b/pkgs/applications/editors/vim/plugins/readme.md
index 0758a3e9598..0758a3e9598 100644
--- a/pkgs/misc/vim-plugins/readme.md
+++ b/pkgs/applications/editors/vim/plugins/readme.md
diff --git a/pkgs/misc/vim-plugins/update-shell.nix b/pkgs/applications/editors/vim/plugins/update-shell.nix
index e1b727c49e0..52a9e741af2 100644
--- a/pkgs/misc/vim-plugins/update-shell.nix
+++ b/pkgs/applications/editors/vim/plugins/update-shell.nix
@@ -1,5 +1,6 @@
-{ pkgs ? import ../../.. { } }:
+{ pkgs ? import ../../../../.. { } }:
 
+# Ideally, pkgs points to default.nix file of Nixpkgs official tree
 with pkgs;
 let
   pyEnv = python3.withPackages (ps: [ ps.GitPython ]);
diff --git a/pkgs/misc/vim-plugins/update.py b/pkgs/applications/editors/vim/plugins/update.py
index d9adc666748..ad1c38cb375 100755
--- a/pkgs/misc/vim-plugins/update.py
+++ b/pkgs/applications/editors/vim/plugins/update.py
@@ -13,6 +13,9 @@
 # refer to:
 #
 # https://github.com/NixOS/nixpkgs/blob/master/doc/languages-frameworks/vim.section.md#updating-plugins-in-nixpkgs-updating-plugins-in-nixpkgs
+#
+# (or the equivalent file /doc/languages-frameworks/vim.section.md from Nixpkgs master tree).
+#
 
 import inspect
 import os
@@ -27,7 +30,8 @@ log.addHandler(logging.StreamHandler())
 
 # Import plugin update library from maintainers/scripts/pluginupdate.py
 ROOT = Path(os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe()))))
-sys.path.insert(0, os.path.join(ROOT.parent.parent.parent, "maintainers", "scripts"))
+# Ideally, ROOT.(parent^5) points to root of Nixpkgs official tree
+sys.path.insert(0, os.path.join(ROOT.parent.parent.parent.parent.parent, "maintainers", "scripts"))
 import pluginupdate
 
 GET_PLUGINS = f"""(with import <localpkgs> {{}};
@@ -47,7 +51,7 @@ let
 in lib.filterAttrs (n: v: v != null) checksums)"""
 
 HEADER = (
-    "# This file has been generated by ./pkgs/misc/vim-plugins/update.py. Do not edit!"
+    "# This file has been generated by ./pkgs/applications/editors/vim/plugins/update.py. Do not edit!"
 )
 
 
diff --git a/pkgs/misc/vim-plugins/vim-gen-doc-hook.sh b/pkgs/applications/editors/vim/plugins/vim-gen-doc-hook.sh
index d5f0a00ebcc..d5f0a00ebcc 100644
--- a/pkgs/misc/vim-plugins/vim-gen-doc-hook.sh
+++ b/pkgs/applications/editors/vim/plugins/vim-gen-doc-hook.sh
diff --git a/pkgs/misc/vim-plugins/vim-plugin-names b/pkgs/applications/editors/vim/plugins/vim-plugin-names
index f4985c892f0..969bb19682c 100644
--- a/pkgs/misc/vim-plugins/vim-plugin-names
+++ b/pkgs/applications/editors/vim/plugins/vim-plugin-names
@@ -3,6 +3,7 @@ aca/completion-tabnine
 AckslD/nvim-neoclip.lua
 AckslD/nvim-whichkey-setup.lua
 ackyshake/Spacegray.vim
+ackyshake/VimCompletesMe
 ahmedkhalf/lsp-rooter.nvim
 ahmedkhalf/project.nvim
 airblade/vim-gitgutter
@@ -17,6 +18,7 @@ alvan/vim-closetag
 alvarosevilla95/luatab.nvim
 alx741/vim-hindent
 alx741/vim-stylishask
+AmeerTaweel/todo.nvim
 amiorin/ctrlp-z
 andersevenrud/cmp-tmux
 andersevenrud/nordic.nvim
@@ -51,7 +53,6 @@ benizi/vim-automkdir
 bhurlow/vim-parinfer
 bitc/vim-hdevtools
 bkad/camelcasemotion
-blackCauldron7/surround.nvim
 bling/vim-bufferline
 blueballs-theme/blueballs-neovim
 blueyed/vim-diminactive
@@ -168,6 +169,7 @@ FelikZ/ctrlp-py-matcher
 feline-nvim/feline.nvim
 fenetikm/falcon
 fhill2/floating.nvim
+fhill2/telescope-ultisnips.nvim
 fiatjaf/neuron.vim
 filipdutescu/renamer.nvim
 fisadev/vim-isort
@@ -222,6 +224,8 @@ guns/vim-clojure-highlight
 guns/vim-clojure-static
 guns/vim-sexp
 guns/xterm-color-table.vim
+GustavoKatel/telescope-asynctasks.nvim
+gyim/vim-boxdraw
 haringsrob/nvim_context_vt
 hashivim/vim-packer
 hashivim/vim-terraform
@@ -310,6 +314,7 @@ joonty/vim-xdebug
 joosepalviste/nvim-ts-context-commentstring
 jordwalke/vim-reasonml
 josa42/coc-lua
+josa42/nvim-lightline-lsp
 josa42/vim-lightline-coc
 jose-elias-alvarez/minsnip.nvim
 jose-elias-alvarez/null-ls.nvim
@@ -362,6 +367,7 @@ kdheepak/cmp-latex-symbols
 kdheepak/lazygit.nvim
 kdheepak/tabline.nvim
 KeitaNakamura/neodark.vim
+KeitaNakamura/tex-conceal.vim
 keith/investigate.vim
 keith/rspec.vim
 keith/swift.vim
@@ -415,6 +421,7 @@ lighttiger2505/deoplete-vim-lsp
 lilydjwg/colorizer
 lilydjwg/fcitx.vim@fcitx5
 liuchengxu/graphviz.vim
+liuchengxu/space-vim
 liuchengxu/vim-clap
 liuchengxu/vim-which-key
 liuchengxu/vista.vim
@@ -432,6 +439,7 @@ lumiliet/vim-twig
 luochen1990/rainbow
 luukvbaal/stabilize.nvim
 lyokha/vim-xkbswitch
+m-pilia/vim-ccls
 machakann/vim-highlightedyank
 machakann/vim-sandwich
 machakann/vim-swap
@@ -559,6 +567,7 @@ norcalli/nvim-colorizer.lua
 norcalli/nvim-terminal.lua
 norcalli/snippets.nvim
 NTBBloodbath/galaxyline.nvim
+NTBBloodbath/rest.nvim
 ntpeters/vim-better-whitespace
 numirias/semshi
 numtostr/comment.nvim
@@ -629,6 +638,7 @@ posva/vim-vue
 powerman/vim-plugin-AnsiEsc
 PProvost/vim-ps1
 prabirshrestha/async.vim
+prabirshrestha/asyncomplete-lsp.vim
 prabirshrestha/asyncomplete.vim
 prabirshrestha/vim-lsp
 preservim/nerdcommenter
@@ -648,6 +658,7 @@ pwntester/octo.nvim
 python-mode/python-mode
 qnighy/lalrpop.vim
 qpkorr/vim-bufkill
+quangnguyen30192/cmp-nvim-ultisnips
 Quramy/tsuquyomi
 racer-rust/vim-racer
 radenling/vim-dispatch-neovim
@@ -750,16 +761,21 @@ simnalamburt/vim-mundo
 simrat39/rust-tools.nvim
 simrat39/symbols-outline.nvim
 sindrets/diffview.nvim
+sindrets/winshift.nvim
 SirVer/ultisnips
 sjl/gundo.vim
 sjl/splice.vim
 sk1418/last256
+skywind3000/asyncrun.vim
+skywind3000/asynctasks.vim
 slashmili/alchemist.vim
 smiteshp/nvim-gps
 sodapopcan/vim-twiggy
 solarnz/arcanist.vim
 sonph/onehalf
 sotte/presenting.vim
+SpaceVim/SpaceVim
+spywhere/lightline-lsp
 srcery-colors/srcery-vim
 steelsojka/completion-buffers
 steelsojka/pears.nvim
@@ -772,6 +788,7 @@ sudormrfbin/cheatsheet.nvim
 sunaku/vim-dasht
 sunjon/Shade.nvim
 svermeulen/vim-subversive
+symphorien/vim-nixhash
 t9md/vim-choosewin
 t9md/vim-smalls
 TaDaa/vimade
@@ -874,6 +891,7 @@ uarun/vim-protobuf
 udalov/kotlin-vim
 ujihisa/neco-look
 unblevable/quick-scope
+ur4ltz/surround.nvim
 urbit/hoon.vim
 Valloric/MatchTagAlways
 Valodim/deoplete-notmuch
@@ -968,6 +986,7 @@ Xuyuanp/scrollbar.nvim
 yamatsum/nvim-cursorline
 yamatsum/nvim-nonicons
 ycm-core/YouCompleteMe
+yegappan/mru
 Yggdroot/hiPairs
 Yggdroot/indentLine
 Yggdroot/LeaderF
diff --git a/pkgs/misc/vim-plugins/vim-utils.nix b/pkgs/applications/editors/vim/plugins/vim-utils.nix
index 128b969c357..4183b621435 100644
--- a/pkgs/misc/vim-plugins/vim-utils.nix
+++ b/pkgs/applications/editors/vim/plugins/vim-utils.nix
@@ -82,7 +82,8 @@ See vimHelpTags sample code below.
 
 CONTRIBUTING AND CUSTOMIZING
 ============================
-The example file pkgs/misc/vim-plugins/default.nix provides both:
+The example file pkgs/applications/editors/vim/plugins/default.nix provides
+both:
 * manually mantained plugins
 * plugins created by VAM's nix#ExportPluginsForNix implementation
 
diff --git a/pkgs/misc/vim-plugins/vim2nix/README.txt b/pkgs/applications/editors/vim/plugins/vim2nix/README.txt
index 4263481461f..4263481461f 100644
--- a/pkgs/misc/vim-plugins/vim2nix/README.txt
+++ b/pkgs/applications/editors/vim/plugins/vim2nix/README.txt
diff --git a/pkgs/misc/vim-plugins/vim2nix/addon-info.json b/pkgs/applications/editors/vim/plugins/vim2nix/addon-info.json
index 93ca9bc129b..93ca9bc129b 100644
--- a/pkgs/misc/vim-plugins/vim2nix/addon-info.json
+++ b/pkgs/applications/editors/vim/plugins/vim2nix/addon-info.json
diff --git a/pkgs/misc/vim-plugins/vim2nix/autoload/nix.vim b/pkgs/applications/editors/vim/plugins/vim2nix/autoload/nix.vim
index 0ddbeaae6be..0ddbeaae6be 100644
--- a/pkgs/misc/vim-plugins/vim2nix/autoload/nix.vim
+++ b/pkgs/applications/editors/vim/plugins/vim2nix/autoload/nix.vim
diff --git a/pkgs/applications/editors/vis/default.nix b/pkgs/applications/editors/vis/default.nix
index a658f95ac01..b9fcfe10221 100644
--- a/pkgs/applications/editors/vis/default.nix
+++ b/pkgs/applications/editors/vis/default.nix
@@ -50,14 +50,10 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "vis";
     genericName = "Text editor";
-    categories = lib.concatStringsSep ";" [
-      "Application" "Development" "IDE"
-    ];
-    mimeType = lib.concatStringsSep ";" [
-      "text/plain" "application/octet-stream"
-    ];
-    startupNotify = "false";
-    terminal = "true";
+    categories = [ "Application" "Development" "IDE" ];
+    mimeTypes = [ "text/plain" "application/octet-stream" ];
+    startupNotify = false;
+    terminal = true;
   };
 
   meta = with lib; {
diff --git a/pkgs/misc/vscode-extensions/_maintainers/update-bin-srcs-lib.sh b/pkgs/applications/editors/vscode/extensions/_maintainers/update-bin-srcs-lib.sh
index f3058755d6a..e3d1e5fb139 100755
--- a/pkgs/misc/vscode-extensions/_maintainers/update-bin-srcs-lib.sh
+++ b/pkgs/applications/editors/vscode/extensions/_maintainers/update-bin-srcs-lib.sh
@@ -105,11 +105,15 @@ formatExtRuntimeDeps() {
   jsonStorePath="$(echo "$jsonShaWStorePath" | tail -n1)"
   1>&2 echo "jsonStorePath='$jsonStorePath'"
 
+  # Assume packages without an architectures are for x86_64 and remap arm64 to aarch64.
   declare jqQuery
   jqQuery=$(cat <<'EOF'
 .runtimeDependencies
-| map(select(.platforms[] | in({"linux": null})))
-| map(select(.architectures[] | in({"x86_64": null})))
+| map(select(.platforms[] | in({"linux": null, "darwin": null})))
+| map(select(.architectures == null).architectures |= ["x86_64"])
+| map(del(.architectures[] | select(. | in({"x86_64": null, "arm64": null}) | not)))
+| map((.architectures[] | select(. == "arm64")) |= "aarch64")
+| map(select(.architectures != []))
 | .[] | {
   (.id + "__" + (.architectures[0]) + "-" + (.platforms[0])):
     {installPath, binaries, urls: [.url, .fallbackUrl] | map(select(. != null))}
diff --git a/pkgs/misc/vscode-extensions/cpptools/default.nix b/pkgs/applications/editors/vscode/extensions/cpptools/default.nix
index 077c3807eca..077c3807eca 100644
--- a/pkgs/misc/vscode-extensions/cpptools/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/cpptools/default.nix
diff --git a/pkgs/misc/vscode-extensions/cpptools/missing_elf_deps.sh b/pkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh
index f5eb08d78a5..f5eb08d78a5 100755
--- a/pkgs/misc/vscode-extensions/cpptools/missing_elf_deps.sh
+++ b/pkgs/applications/editors/vscode/extensions/cpptools/missing_elf_deps.sh
diff --git a/pkgs/misc/vscode-extensions/cpptools/package-activation-events.json b/pkgs/applications/editors/vscode/extensions/cpptools/package-activation-events.json
index c2d8a10f340..c2d8a10f340 100644
--- a/pkgs/misc/vscode-extensions/cpptools/package-activation-events.json
+++ b/pkgs/applications/editors/vscode/extensions/cpptools/package-activation-events.json
diff --git a/pkgs/misc/vscode-extensions/cpptools/update_helper.sh b/pkgs/applications/editors/vscode/extensions/cpptools/update_helper.sh
index 00ef7755324..00ef7755324 100755
--- a/pkgs/misc/vscode-extensions/cpptools/update_helper.sh
+++ b/pkgs/applications/editors/vscode/extensions/cpptools/update_helper.sh
diff --git a/pkgs/misc/vscode-extensions/default.nix b/pkgs/applications/editors/vscode/extensions/default.nix
index c785e43e376..3e5bf42dd95 100644
--- a/pkgs/misc/vscode-extensions/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/default.nix
@@ -14,6 +14,7 @@
 , moreutils
 , racket-minimal
 , clojure-lsp
+, alejandra
 }:
 
 let
@@ -503,8 +504,8 @@ let
         mktplcRef = {
           name = "vscode-markdownlint";
           publisher = "DavidAnson";
-          version = "0.45.0";
-          sha256 = "sha256-L7y+Lsx1DMS12JtxSl7WkT8jGQLipebNKxknF/Y1ke0=";
+          version = "0.46.0";
+          sha256 = "sha256-2FvE+6fnZPtR0At4NjLKSMCbPu8T7o8xtpvYiEjh7ck=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/DavidAnson.vscode-markdownlint/changelog";
@@ -694,6 +695,18 @@ let
         };
       };
 
+      eg2.vscode-npm-script = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "vscode-npm-script";
+          publisher = "eg2";
+          version = "0.3.24";
+          sha256 = "sha256-XgdMLecyZQXsgQAUh8V4eFLKaUF4WVlgy9iIGNDnR/I=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       elmtooling.elm-ls-vscode = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "elm-ls-vscode";
@@ -783,7 +796,7 @@ let
           downloadPage = "https://marketplace.visualstudio.com/items?itemName=faustinoaq.lex-flex-yacc-bison";
           homepage = "https://github.com/faustinoaq/vscode-lex-flex-yacc-bison";
           license = licenses.mit;
-          maintainers = with maintainers; [ angustrau ];
+          maintainers = with maintainers; [ emilytrau ];
         };
       };
 
@@ -1219,6 +1232,34 @@ let
         };
       };
 
+      kamadorueda.alejandra = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "alejandra";
+          publisher = "kamadorueda";
+          version = "1.0.0";
+          sha256 = "sha256-COlEjKhm8tK5XfOjrpVUDQ7x3JaOLiYoZ4MdwTL8ktk=";
+        };
+        nativeBuildInputs = [ jq moreutils ];
+        postInstall = ''
+          cd "$out/$installPrefix"
+
+          jq -e '
+            .contributes.configuration.properties."alejandra.program".default =
+              "${alejandra}/bin/alejandra" |
+            .contributes.configurationDefaults."alejandra.program" =
+              "${alejandra}/bin/alejandra"
+          ' \
+          < package.json \
+          | sponge package.json
+        '';
+        meta = with lib; {
+          description = "The Uncompromising Nix Code Formatter";
+          homepage = "https://github.com/kamadorueda/alejandra";
+          license = licenses.unlicense;
+          maintainers = with maintainers; [ kamadorueda ];
+        };
+      };
+
       kubukoz.nickel-syntax = buildVscodeMarketplaceExtension {
         mktplcRef = {
           name = "nickel-syntax";
@@ -1360,6 +1401,39 @@ let
 
       ms-vscode-remote.remote-ssh = callPackage ./remote-ssh { };
 
+      ms-vscode.theme-tomorrowkit = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "Theme-TomorrowKit";
+          publisher = "ms-vscode";
+          version = "0.1.4";
+          sha256 = "sha256-qakwJWak+IrIeeVcMDWV/fLPx5M8LQGCyhVt4TS/Lmc=";
+        };
+        meta = with lib; {
+          description = "Additional Tomorrow and Tomorrow Night themes for VS Code. Based on the TextMate themes.";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-vscode.Theme-TomorrowKit";
+          homepage = "https://github.com/microsoft/vscode-themes";
+          license = licenses.mit;
+          maintainers = with maintainers; [ ratsclub ];
+        };
+      };
+
+      ms-pyright.pyright = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "pyright";
+          publisher = "ms-pyright";
+          version = "1.1.222";
+          sha256 = "sha256-QMX/SawDEnG1xVrug8mvN7EvRrRDkJffcXBUFpQi1XE=";
+        };
+        meta = with lib; {
+          description = "VS Code static type checking for Python";
+          downloadPage = "https://marketplace.visualstudio.com/items?itemName=ms-pyright.pyright";
+          homepage = "https://github.com/Microsoft/pyright#readme";
+          changelog = "https://marketplace.visualstudio.com/items/ms-pyright.pyright/changelog";
+          license = licenses.mit;
+          maintainers = with maintainers; [ ratsclub ];
+        };
+      };
+
       ms-python.python = callPackage ./python {
         extractNuGet = callPackage ./python/extract-nuget.nix { };
       };
@@ -1390,6 +1464,18 @@ let
         };
       };
 
+      ms-vscode.anycode = buildVscodeMarketplaceExtension {
+        mktplcRef = {
+          name = "anycode";
+          publisher = "ms-vscode";
+          version = "0.0.57";
+          sha256 = "sha256-XwL7I+vwZJ6zx5IDZdfOUbq6M9IH/gi7MBe92cG1kDs=";
+        };
+        meta = {
+          license = lib.licenses.mit;
+        };
+      };
+
       mvllow.rose-pine = buildVscodeMarketplaceExtension {
         mktplcRef = {
           publisher = "mvllow";
@@ -1718,8 +1804,8 @@ let
         mktplcRef = {
           publisher = "stkb";
           name = "rewrap";
-          version = "1.16.0";
-          sha256 = "sha256-351zYmMupAv/8fQ+lOc0pYzy/wsE3JqTuxfKD+AdBAc=";
+          version = "1.16.1";
+          sha256 = "sha256-OTPNbwoQmKd73g8IwLKMIbe6c7E2jKNkzwuBU/f8dmY=";
         };
         meta = with lib; {
           changelog = "https://github.com/stkb/Rewrap/blob/master/CHANGELOG.md";
@@ -1735,8 +1821,8 @@ let
         mktplcRef = {
           name = "code-spell-checker";
           publisher = "streetsidesoftware";
-          version = "2.1.4";
-          sha256 = "sha256-V8ug/EtDczjiofuL7HhpN1B+qbedpnvIlXnwiXJzD/g=";
+          version = "2.1.5";
+          sha256 = "sha256-nIR3PtbtnSbAU0rS+qVtPsj++Dbfp/k86dWkx4xYcno=";
         };
         meta = with lib; {
           changelog = "https://marketplace.visualstudio.com/items/streetsidesoftware.code-spell-checker/changelog";
diff --git a/pkgs/misc/vscode-extensions/language-packs.nix b/pkgs/applications/editors/vscode/extensions/language-packs.nix
index f97727d6c2c..f97727d6c2c 100644
--- a/pkgs/misc/vscode-extensions/language-packs.nix
+++ b/pkgs/applications/editors/vscode/extensions/language-packs.nix
diff --git a/pkgs/misc/vscode-extensions/mktplcExtRefToFetchArgs.nix b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix
index a781250fc18..a781250fc18 100644
--- a/pkgs/misc/vscode-extensions/mktplcExtRefToFetchArgs.nix
+++ b/pkgs/applications/editors/vscode/extensions/mktplcExtRefToFetchArgs.nix
diff --git a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix
index 393ea0f4450..d91cbccb808 100644
--- a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/default.nix
@@ -38,7 +38,13 @@ let
     rtDepsBinSrcs."${bSrcName}__${stdenv.targetPlatform.system}";
 
   omnisharp = rtDepBinSrcByName "OmniSharp";
-  vsdbg = rtDepBinSrcByName "Debugger";
+  vsdbgs = [
+    (rtDepBinSrcByName "Debugger")
+  ] ++ lib.optionals (stdenv.isDarwin) [
+  # Include the aarch64-darwin debugger binaries on x86_64-darwin.  Even though OmniSharp will be
+  # running under Rosetta 2, debugging will fail to start if both sets of binaries are not present.
+    (rtDepsBinSrcs."Debugger__aarch64-darwin")
+  ];
   razor = rtDepBinSrcByName "Razor";
 in
 
@@ -46,8 +52,8 @@ vscode-utils.buildVscodeMarketplaceExtension {
   mktplcRef = {
     name = "csharp";
     publisher = "ms-dotnettools";
-    version = "1.23.15";
-    sha256 = "0b74jr45zl7lzirjgj8s2lbf3viy9pbwlgjh055rcwmy77wcml1x";
+    version = "1.23.16";
+    sha256 = "sha256-fM4vcSMi2tEjIox9Twh2sRiFhXgAeRwAM9to3vtcSqI=";
   };
 
   nativeBuildInputs = [
@@ -112,20 +118,28 @@ vscode-utils.buildVscodeMarketplaceExtension {
     chmod a+x "$omnisharp_dir/run"
     touch "$omnisharp_dir/install.Lock"
 
+  '' + builtins.concatStringsSep "\n" (map (vsdbg: ''
     declare vsdbg_dir="$PWD/${vsdbg.installPath}"
     unzip_to "${vsdbg.bin-src}" "$vsdbg_dir"
     chmod a+x "$vsdbg_dir/vsdbg-ui"
     chmod a+x "$vsdbg_dir/vsdbg"
     touch "$vsdbg_dir/install.complete"
     touch "$vsdbg_dir/install.Lock"
-    patchelf_common "$vsdbg_dir/vsdbg"
-    patchelf_common "$vsdbg_dir/vsdbg-ui"
 
+  '') vsdbgs) + ''
     declare razor_dir="$PWD/${razor.installPath}"
     unzip_to "${razor.bin-src}" "$razor_dir"
     chmod a+x "$razor_dir/rzls"
     touch "$razor_dir/install.Lock"
+
+  '' + lib.optionalString stdenv.isLinux ''
+    patchelf_common "$vsdbg_dir/vsdbg"
+    patchelf_common "$vsdbg_dir/vsdbg-ui"
     patchelf_common "$razor_dir/rzls"
+
+  '' + lib.optionalString stdenv.isDarwin ''
+    substituteInPlace $omnisharp_dir/etc/config \
+      --replace "libmono-native-compat.dylib" "libmono-native.dylib"
   '';
 
   meta = with lib; {
@@ -133,6 +147,6 @@ vscode-utils.buildVscodeMarketplaceExtension {
     homepage = "https://github.com/OmniSharp/omnisharp-vscode";
     license = licenses.mit;
     maintainers = [ maintainers.jraygauthier ];
-    platforms = [ "x86_64-linux" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" ];
   };
 }
diff --git a/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
new file mode 100644
index 00000000000..13678d1097e
--- /dev/null
+++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
@@ -0,0 +1,94 @@
+{
+  "OmniSharp__x86_64-darwin": {
+    "installPath": ".omnisharp/1.37.16",
+    "binaries": [
+      "./mono.osx",
+      "./run"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/0ea1ea1eae48552a1992ed6df782353a/omnisharp-osx-1.37.16.zip",
+      "https://roslynomnisharp.blob.core.windows.net/releases/1.37.16/omnisharp-osx-1.37.16.zip"
+    ],
+    "sha256": "0hhgfx7zs1rljhn3n9c7lci7j15yp2448z3f1d3c47a95l1hmlip"
+  },
+  "OmniSharp__x86_64-linux": {
+    "installPath": ".omnisharp/1.37.16",
+    "binaries": [
+      "./mono.linux-x86_64",
+      "./run"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/03c32aa6-7c7a-4936-82a0-fd8f816d112f/9ae3ed99fc0c41c7139751dde6f2bc78/omnisharp-linux-x64-1.37.16.zip",
+      "https://roslynomnisharp.blob.core.windows.net/releases/1.37.16/omnisharp-linux-x64-1.37.16.zip"
+    ],
+    "sha256": "0a2basc6dw42fnjv9zz93ff0bsw2i3446gvcjx5mn5d8dasi483i"
+  },
+  "Debugger__x86_64-darwin": {
+    "installPath": ".debugger/x86_64",
+    "binaries": [
+      "./vsdbg-ui",
+      "./vsdbg"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/c1122f7141735472d9583c1124024c55/coreclr-debug-osx-x64.zip",
+      "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-osx-x64.zip"
+    ],
+    "sha256": "08z3k0h25gdsbmlxwayd94672hp2z7zmwdmd0nyr9j82izj3ci2m"
+  },
+  "Debugger__aarch64-darwin": {
+    "installPath": ".debugger/arm64",
+    "binaries": [
+      "./vsdbg-ui",
+      "./vsdbg"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/96a88189c7904a517f3bb59b2dba8bd1/coreclr-debug-osx-arm64.zip",
+      "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-osx-arm64.zip"
+    ],
+    "sha256": "113kz02ihvb4y5fj01wamqz2jsql2q7n7f55s9kzs9dsrmq5ffa0"
+  },
+  "Debugger__aarch64-linux": {
+    "installPath": ".debugger",
+    "binaries": [
+      "./vsdbg-ui",
+      "./vsdbg"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/7a723bfbda6d196c52084226b6835b36/coreclr-debug-linux-arm64.zip",
+      "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-linux-arm64.zip"
+    ],
+    "sha256": "1d4a5q3f7qfk3jq2i4f6g50i9i4z8z7g8ss083y9n5c1yj3629kw"
+  },
+  "Debugger__x86_64-linux": {
+    "installPath": ".debugger",
+    "binaries": [
+      "./vsdbg-ui",
+      "./vsdbg"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/dd019b4c839f458596e26bfcfe6a3e7f/coreclr-debug-linux-x64.zip",
+      "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-linux-x64.zip"
+    ],
+    "sha256": "0c5y0035sa07bl3m3iiqccqd92xjwpcfjrqhmi5xligk40q2i2gk"
+  },
+  "Razor__x86_64-linux": {
+    "installPath": ".razor",
+    "binaries": [
+      "./rzls"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/b8678010-2cd7-4201-a5e7-ba57920607d5/b846e9c7d7afdba54a72fae1dcb6c42c/razorlanguageserver-linux-x64-6.0.0-preview.5.21358.6.zip"
+    ],
+    "sha256": "0gb36nlb7fgcv03a0awna1qyrsky6ys5gkpsmvxc5j35f1yq337b"
+  },
+  "Razor__x86_64-darwin": {
+    "installPath": ".razor",
+    "binaries": [
+      "./rzls"
+    ],
+    "urls": [
+      "https://download.visualstudio.microsoft.com/download/pr/b8678010-2cd7-4201-a5e7-ba57920607d5/ad846449769eb2ae810d0236823a6aaa/razorlanguageserver-osx-x64-6.0.0-preview.5.21358.6.zip"
+    ],
+    "sha256": "0iqinpwwlqwajdq4i1qbb9hfpfmgy17av95bpw02ad2f9fnyh572"
+  }
+}
diff --git a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/update-bin-srcs
index 83230915d0b..8c43231b1a7 100755
--- a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/update-bin-srcs
+++ b/pkgs/applications/editors/vscode/extensions/ms-dotnettools-csharp/update-bin-srcs
@@ -10,7 +10,7 @@ scriptDir=$(cd "$(dirname "$0")"; pwd)
 
 declare extPublisher="ms-dotnettools"
 declare extName="csharp"
-declare defaultExtVersion="1.23.15"
+declare defaultExtVersion="1.23.16"
 declare extVersion="${1:-$defaultExtVersion}"
 
 formatExtRuntimeDeps \
diff --git a/pkgs/misc/vscode-extensions/ms-toolsai-jupyter/default.nix b/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix
index 6be5e225fa3..6be5e225fa3 100644
--- a/pkgs/misc/vscode-extensions/ms-toolsai-jupyter/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-toolsai-jupyter/default.nix
diff --git a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix
index d4200c33552..d4200c33552 100644
--- a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/default.nix
diff --git a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/noop-syslog.c b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/noop-syslog.c
index c76ec57a382..c76ec57a382 100644
--- a/pkgs/misc/vscode-extensions/ms-vsliveshare-vsliveshare/noop-syslog.c
+++ b/pkgs/applications/editors/vscode/extensions/ms-vsliveshare-vsliveshare/noop-syslog.c
diff --git a/pkgs/misc/vscode-extensions/python/default.nix b/pkgs/applications/editors/vscode/extensions/python/default.nix
index beaa8d557a7..09c5c02aee9 100644
--- a/pkgs/misc/vscode-extensions/python/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/python/default.nix
@@ -72,13 +72,15 @@ in vscode-utils.buildVscodeMarketplaceExtension rec {
     icu
     curl
     openssl
+  ] ++ lib.optionals stdenv.isLinux [
     lttng-ust-2-10
     musl
   ];
 
   nativeBuildInputs = [
-    autoPatchelfHook
     python3.pkgs.wrapPython
+  ] ++ lib.optionals stdenv.isLinux [
+    autoPatchelfHook
   ];
 
   pythonPath = with python3.pkgs; [
@@ -101,6 +103,8 @@ in vscode-utils.buildVscodeMarketplaceExtension rec {
       cd pythonFiles/lib/python/debugpy/_vendored/pydevd/pydevd_attach_to_process
       declare kept_aside="${{
         "x86_64-linux" = "attach_linux_amd64.so";
+        "aarch64-darwin" = "attach_x86_64.dylib";
+        "x86_64-darwin" = "attach_x86_64.dylib";
       }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}")}"
       mv "$kept_aside" "$kept_aside.hidden"
       rm *.so *.dylib *.dll *.exe *.pdb
@@ -118,7 +122,7 @@ in vscode-utils.buildVscodeMarketplaceExtension rec {
 
   meta = with lib; {
     license = licenses.mit;
-    platforms = [ "x86_64-linux" ];
-    maintainers = [ maintainers.jraygauthier ];
+    platforms = [ "x86_64-linux" "aarch64-darwin" "x86_64-darwin" ];
+    maintainers = with maintainers; [ jraygauthier jfchevrette ];
   };
 }
diff --git a/pkgs/misc/vscode-extensions/python/extract-nuget.nix b/pkgs/applications/editors/vscode/extensions/python/extract-nuget.nix
index 1e70cabe035..1e70cabe035 100644
--- a/pkgs/misc/vscode-extensions/python/extract-nuget.nix
+++ b/pkgs/applications/editors/vscode/extensions/python/extract-nuget.nix
diff --git a/pkgs/misc/vscode-extensions/remote-ssh/default.nix b/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix
index 3bfc94bb6ea..3bfc94bb6ea 100644
--- a/pkgs/misc/vscode-extensions/remote-ssh/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/remote-ssh/default.nix
diff --git a/pkgs/misc/vscode-extensions/rescript/default.nix b/pkgs/applications/editors/vscode/extensions/rescript/default.nix
index 5bad9b2e628..5bad9b2e628 100644
--- a/pkgs/misc/vscode-extensions/rescript/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/rescript/default.nix
diff --git a/pkgs/misc/vscode-extensions/rescript/rescript-editor-analysis.nix b/pkgs/applications/editors/vscode/extensions/rescript/rescript-editor-analysis.nix
index 518280b4b06..518280b4b06 100644
--- a/pkgs/misc/vscode-extensions/rescript/rescript-editor-analysis.nix
+++ b/pkgs/applications/editors/vscode/extensions/rescript/rescript-editor-analysis.nix
diff --git a/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json b/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json
index 54a931eee86..54a931eee86 100644
--- a/pkgs/misc/vscode-extensions/rust-analyzer/build-deps/package.json
+++ b/pkgs/applications/editors/vscode/extensions/rust-analyzer/build-deps/package.json
diff --git a/pkgs/misc/vscode-extensions/rust-analyzer/default.nix b/pkgs/applications/editors/vscode/extensions/rust-analyzer/default.nix
index fa08acb84c6..271607af6bd 100644
--- a/pkgs/misc/vscode-extensions/rust-analyzer/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/rust-analyzer/default.nix
@@ -29,7 +29,7 @@ let
     sha256 = "sha256-vh7z8jupVxXPOko3sWUsOB7eji/7lKfwJ/CE3iw97Sw=";
   };
 
-  build-deps = nodePackages."rust-analyzer-build-deps-../../misc/vscode-extensions/rust-analyzer/build-deps";
+  build-deps = nodePackages."rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-analyzer/build-deps";
   # FIXME: Making a new derivation to link `node_modules` and run `npm run package`
   # will cause a build failure.
   vsix = build-deps.override {
diff --git a/pkgs/misc/vscode-extensions/terraform/default.nix b/pkgs/applications/editors/vscode/extensions/terraform/default.nix
index e6e094bb1cb..e6e094bb1cb 100644
--- a/pkgs/misc/vscode-extensions/terraform/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/terraform/default.nix
diff --git a/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch b/pkgs/applications/editors/vscode/extensions/terraform/fix-terraform-ls.patch
index e2dcd0b70aa..e2dcd0b70aa 100644
--- a/pkgs/misc/vscode-extensions/terraform/fix-terraform-ls.patch
+++ b/pkgs/applications/editors/vscode/extensions/terraform/fix-terraform-ls.patch
diff --git a/pkgs/misc/vscode-extensions/updateSettings.nix b/pkgs/applications/editors/vscode/extensions/updateSettings.nix
index 443b4093027..443b4093027 100644
--- a/pkgs/misc/vscode-extensions/updateSettings.nix
+++ b/pkgs/applications/editors/vscode/extensions/updateSettings.nix
diff --git a/pkgs/misc/vscode-extensions/updateSettingsTest.nix b/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix
index 097b9cad166..097b9cad166 100644
--- a/pkgs/misc/vscode-extensions/updateSettingsTest.nix
+++ b/pkgs/applications/editors/vscode/extensions/updateSettingsTest.nix
diff --git a/pkgs/misc/vscode-extensions/update_installed_exts.sh b/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh
index 5af747605f5..6fff7454493 100755
--- a/pkgs/misc/vscode-extensions/update_installed_exts.sh
+++ b/pkgs/applications/editors/vscode/extensions/update_installed_exts.sh
@@ -4,7 +4,7 @@
 set -eu -o pipefail
 
 # can be added to your configuration with the following command and snippet:
-# $ ./pkgs/misc/vscode-extensions/update_installed_exts.sh > extensions.nix
+# $ ./pkgs/applications/editors/vscode/extensions/update_installed_exts.sh > extensions.nix
 #
 # packages = with pkgs;
 #   (vscode-with-extensions.override {
@@ -40,7 +40,7 @@ function get_vsixpkg() {
     URL="https://$1.gallery.vsassets.io/_apis/public/gallery/publisher/$1/extension/$2/latest/assetbyname/Microsoft.VisualStudio.Services.VSIXPackage"
 
     # Quietly but delicately curl down the file, blowing up at the first sign of trouble.
-    curl --silent --show-error --fail -X GET -o "$EXTTMP/$N.zip" "$URL"
+    curl --silent --show-error --retry 3 --fail -X GET -o "$EXTTMP/$N.zip" "$URL"
     # Unpack the file we need to stdout then pull out the version
     VER=$(jq -r '.version' <(unzip -qc "$EXTTMP/$N.zip" "extension/package.json"))
     # Calculate the SHA
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json b/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/package.json
index 2e5670d3039..2e5670d3039 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/build-deps/package.json
+++ b/pkgs/applications/editors/vscode/extensions/vscode-lldb/build-deps/package.json
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch b/pkgs/applications/editors/vscode/extensions/vscode-lldb/cmake-build-extension-only.patch
index fb55816b942..fb55816b942 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/cmake-build-extension-only.patch
+++ b/pkgs/applications/editors/vscode/extensions/vscode-lldb/cmake-build-extension-only.patch
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/default.nix b/pkgs/applications/editors/vscode/extensions/vscode-lldb/default.nix
index 2bc9321353d..c9d4deebdfd 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscode-lldb/default.nix
@@ -5,7 +5,7 @@ assert lib.versionAtLeast python3.version "3.5";
 let
   publisher = "vadimcn";
   pname = "vscode-lldb";
-  version = "1.6.8";
+  version = "1.6.10";
 
   vscodeExtUniqueId = "${publisher}.${pname}";
 
@@ -13,7 +13,7 @@ let
     owner = "vadimcn";
     repo = "vscode-lldb";
     rev = "v${version}";
-    sha256 = "sha256-/2iyWJfNjvk5n7KwWIu2gc24/21KWibU6IAPN/tJ8Q4=";
+    sha256 = "sha256-4PM/818UFHRZekfbdhS/Rz0Pu6HOjJEldi4YuBWECnI=";
   };
 
   lldb = callPackage ./lldb.nix {};
@@ -25,7 +25,7 @@ let
     # It will pollute the build environment of `buildRustPackage`.
     cargoPatches = [ ./reset-cargo-config.patch ];
 
-    cargoSha256 = "sha256-rG+Qw8ac9cCgCjfLFXLlohLk+zV5s1OaqzU0/nXiqgU=";
+    cargoSha256 = "sha256-Ch1X2vN+p7oCqSs/GIu5IzG+pcSKmQ+VwP2T8ycRhos=";
 
     nativeBuildInputs = [ makeWrapper ];
 
@@ -42,7 +42,7 @@ let
     doCheck = false;
   };
 
-  nodeDeps = nodePackages."vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps";
+  nodeDeps = nodePackages."vscode-lldb-build-deps-../../applications/editors/vscode/extensions/vscode-lldb/build-deps";
 
 in stdenv.mkDerivation {
   pname = "vscode-extension-${publisher}-${pname}";
@@ -98,7 +98,7 @@ in stdenv.mkDerivation {
     description = "A native debugger extension for VSCode based on LLDB";
     homepage = "https://github.com/vadimcn/vscode-lldb";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ oxalica ];
+    maintainers = with maintainers; [ nigelgbanks ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/lldb.nix b/pkgs/applications/editors/vscode/extensions/vscode-lldb/lldb.nix
index e04e9ad0b5b..e04e9ad0b5b 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/lldb.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscode-lldb/lldb.nix
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/reset-cargo-config.patch b/pkgs/applications/editors/vscode/extensions/vscode-lldb/reset-cargo-config.patch
index e95df0a9cef..e95df0a9cef 100644
--- a/pkgs/misc/vscode-extensions/vscode-lldb/reset-cargo-config.patch
+++ b/pkgs/applications/editors/vscode/extensions/vscode-lldb/reset-cargo-config.patch
diff --git a/pkgs/misc/vscode-extensions/vscode-lldb/update.sh b/pkgs/applications/editors/vscode/extensions/vscode-lldb/update.sh
index 2fe0cc5cf29..0dc38c6fdb7 100755
--- a/pkgs/misc/vscode-extensions/vscode-lldb/update.sh
+++ b/pkgs/applications/editors/vscode/extensions/vscode-lldb/update.sh
@@ -1,5 +1,6 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p jq nix-prefetch
+#! /usr/bin/env nix-shell
+#! nix-shell ../../update-shell.nix -i bash
+
 set -eo pipefail
 cd "$(dirname "${BASH_SOURCE[0]}")"
 if [[ $# -ne 1 ]]; then
@@ -12,7 +13,8 @@ FIXME: This script doesn't update patched lldb. Please manually check branches
 of https://github.com/vadimcn/llvm-project and update lldb with correct version of LLVM.
 "
 
-nixpkgs=../../../..
+# Ideally, nixpkgs points to default.nix file of Nixpkgs official tree
+nixpkgs=../../../../../..
 nixFile=./default.nix
 owner=vadimcn
 repo=vscode-lldb
diff --git a/pkgs/misc/vscode-extensions/vscode-utils.nix b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
index 49b730361af..49b730361af 100644
--- a/pkgs/misc/vscode-extensions/vscode-utils.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscode-utils.nix
diff --git a/pkgs/misc/vscode-extensions/vscodeEnv.nix b/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix
index 7c58a4bdfb3..7c58a4bdfb3 100644
--- a/pkgs/misc/vscode-extensions/vscodeEnv.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeEnv.nix
diff --git a/pkgs/misc/vscode-extensions/vscodeEnvTest.nix b/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix
index 19a9edbf1af..19a9edbf1af 100644
--- a/pkgs/misc/vscode-extensions/vscodeEnvTest.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeEnvTest.nix
diff --git a/pkgs/misc/vscode-extensions/vscodeExts2nix.nix b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix
index 58cbe663c90..58cbe663c90 100644
--- a/pkgs/misc/vscode-extensions/vscodeExts2nix.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeExts2nix.nix
diff --git a/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix
index 39479d7c2f2..39479d7c2f2 100644
--- a/pkgs/misc/vscode-extensions/vscodeWithConfiguration.nix
+++ b/pkgs/applications/editors/vscode/extensions/vscodeWithConfiguration.nix
diff --git a/pkgs/misc/vscode-extensions/wakatime/default.nix b/pkgs/applications/editors/vscode/extensions/wakatime/default.nix
index 9832b16f747..9832b16f747 100644
--- a/pkgs/misc/vscode-extensions/wakatime/default.nix
+++ b/pkgs/applications/editors/vscode/extensions/wakatime/default.nix
diff --git a/pkgs/applications/editors/vscode/generic.nix b/pkgs/applications/editors/vscode/generic.nix
index 133c5fe9cbe..672eb4b27ba 100644
--- a/pkgs/applications/editors/vscode/generic.nix
+++ b/pkgs/applications/editors/vscode/generic.nix
@@ -37,19 +37,16 @@ let
       genericName = "Text Editor";
       exec = "${executableName} %F";
       icon = "code";
-      startupNotify = "true";
-      categories = "Utility;TextEditor;Development;IDE;";
-      mimeType = "text/plain;inode/directory;";
-      extraEntries = ''
-        StartupWMClass=${shortName}
-        Actions=new-empty-window;
-        Keywords=vscode;
-
-        [Desktop Action new-empty-window]
-        Name=New Empty Window
-        Exec=${executableName} --new-window %F
-        Icon=code
-      '';
+      startupNotify = true;
+      startupWMClass = shortName;
+      categories = [ "Utility" "TextEditor" "Development" "IDE" ];
+      mimeTypes = [ "text/plain" "inode/directory" ];
+      keywords = [ "vscode" ];
+      actions.new-empty-window = {
+        name = "New Empty Window";
+        exec = "${executableName} --new-window %F";
+        icon = "code";
+      };
     };
 
     urlHandlerDesktopItem = makeDesktopItem {
@@ -59,13 +56,11 @@ let
       genericName = "Text Editor";
       exec = executableName + " --open-url %U";
       icon = "code";
-      startupNotify = "true";
-      categories = "Utility;TextEditor;Development;IDE;";
-      mimeType = "x-scheme-handler/vscode;";
-      extraEntries = ''
-        NoDisplay=true
-        Keywords=vscode;
-      '';
+      startupNotify = true;
+      categories = [ "Utility" "TextEditor" "Development" "IDE" ];
+      mimeTypes = [ "x-scheme-handler/vscode" ];
+      keywords = [ "vscode" ];
+      noDisplay = true;
     };
 
     buildInputs = [ libsecret libXScrnSaver libxshmfence ]
diff --git a/pkgs/applications/editors/vscode/update-shell.nix b/pkgs/applications/editors/vscode/update-shell.nix
new file mode 100644
index 00000000000..aa9488c217f
--- /dev/null
+++ b/pkgs/applications/editors/vscode/update-shell.nix
@@ -0,0 +1,18 @@
+{ pkgs ? import ../../../.. { } }:
+
+# Ideally, pkgs points to default.nix file of Nixpkgs official tree
+with pkgs;
+
+mkShell {
+  packages = [
+    bash
+    curl
+    gawk
+    gnugrep
+    gnused
+    jq
+    nix
+    nix-prefetch
+    nix-prefetch-scripts
+  ];
+}
diff --git a/pkgs/applications/editors/vscode/update-vscode.sh b/pkgs/applications/editors/vscode/update-vscode.sh
index 709fbe1c751..67ec7a21b34 100755
--- a/pkgs/applications/editors/vscode/update-vscode.sh
+++ b/pkgs/applications/editors/vscode/update-vscode.sh
@@ -1,5 +1,5 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl jq gnused
+#! /usr/bin/env nix-shell
+#! nix-shell update-shell.nix -i bash
 
 # Update script for the vscode versions and hashes.
 # Usually doesn't need to be called by hand,
diff --git a/pkgs/applications/editors/vscode/update-vscodium.sh b/pkgs/applications/editors/vscode/update-vscodium.sh
index 79c6b497ecc..377068c0821 100755
--- a/pkgs/applications/editors/vscode/update-vscodium.sh
+++ b/pkgs/applications/editors/vscode/update-vscodium.sh
@@ -1,5 +1,5 @@
-#!/usr/bin/env nix-shell
-#!nix-shell -i bash -p curl gnugrep gnused gawk
+#! /usr/bin/env nix-shell
+#! nix-shell update-shell.nix -i bash
 
 # Update script for the vscode versions and hashes.
 # Usually doesn't need to be called by hand,
diff --git a/pkgs/applications/editors/vscode/vscode.nix b/pkgs/applications/editors/vscode/vscode.nix
index d307db0b1b5..496dbe2496d 100644
--- a/pkgs/applications/editors/vscode/vscode.nix
+++ b/pkgs/applications/editors/vscode/vscode.nix
@@ -14,17 +14,17 @@ let
   archive_fmt = if stdenv.isDarwin then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0nszdd3bmixspv9wc837l9ibs996kr92awpnhx0c00mh823id9g8";
-    x86_64-darwin = "0fvxlkgsr19rwbjlqqsql7rb1ah15svr4bd9zwxg0xv23q51xadc";
-    aarch64-linux = "0037k2iv8cg45rx8sprm3zdj0ai76xn2l4ynij0hp7s2sh947d4s";
-    aarch64-darwin = "0z3zrd90cxh892g5n5ga8xxwczfqd03lcnhz8b8k0lh2l9321inc";
-    armv7l-linux = "193b560pvznkwk58bhqbr3jgbwx26vg26s5sqaibcw3z41v58a3c";
+    x86_64-linux = "0gv71l9cidkbbv7b1dsfyn7lnlwcmjds9qx6nrh7alymdm1xa2xr";
+    x86_64-darwin = "1is795040xb3l23crblwf056wsvsi4dip3lkwhlblhkpsl0048f1";
+    aarch64-linux = "186dy6h3krc6fqvmh1nay1dk5109kl9p25kx37jkbzf2qhnpibm8";
+    aarch64-darwin = "04xc5fy4wcplfrigbm624dpzxd2m4rkq979xr1i57p3d20i96s6g";
+    armv7l-linux = "1k7bfmrfw16zpn33p7ycxpp6g9xh8aypmf61nrkx2jn99nxy5d3s";
   }.${system};
 in
   callPackage ./generic.nix rec {
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.64.0";
+    version = "1.64.2";
     pname = "vscode";
 
     executableName = "code" + lib.optionalString isInsiders "-insiders";
diff --git a/pkgs/applications/editors/vscode/vscodium.nix b/pkgs/applications/editors/vscode/vscodium.nix
index d5d52010e05..b1ab8c57ee8 100644
--- a/pkgs/applications/editors/vscode/vscodium.nix
+++ b/pkgs/applications/editors/vscode/vscodium.nix
@@ -13,10 +13,10 @@ let
   archive_fmt = if system == "x86_64-darwin" then "zip" else "tar.gz";
 
   sha256 = {
-    x86_64-linux = "0s45ydca4lmcyki58n4zmvdpn32x7z1q249i3qxcn2a5ay2mhhxc";
-    x86_64-darwin = "1wab60dx5hfgmsw313qk8cbwvyq291d1q82hwll129dgcfhkrzrj";
-    aarch64-linux = "1mkvca3hjcqf3k0v04lynmlm5j3lj86l5j15a505a3f8xp97yvdy";
-    armv7l-linux = "1lcaq5k17km9p6xx26dpxgq5zrnjvh3yf8svz5nb5fa01v8fz4ds";
+    x86_64-linux = "0ldfp4r7nb9npvjadgj63sd369nqmbgf5y4kpp93slsy1lbs0bk8";
+    x86_64-darwin = "05z0jx2cc1askzzdxa8vxj8gp0v9rm1jw6005bpmijvyb8s2d30w";
+    aarch64-linux = "1a5fyxzz51rb0af0wv3xh2h87yq00y5k501p7idqhj0zvd5mpqh6";
+    armv7l-linux = "05byi0aba516whzry5qkxfkm82sy2dgv1m0hyycmnkb2dwmb552m";
   }.${system};
 
   sourceRoot = {
@@ -31,7 +31,7 @@ in
 
     # Please backport all compatible updates to the stable release.
     # This is important for the extension ecosystem.
-    version = "1.64.0";
+    version = "1.64.2";
     pname = "vscodium";
 
     executableName = "codium";
diff --git a/pkgs/applications/editors/xed-editor/default.nix b/pkgs/applications/editors/xed-editor/default.nix
index b2539e7dac5..7e36aeccdec 100644
--- a/pkgs/applications/editors/xed-editor/default.nix
+++ b/pkgs/applications/editors/xed-editor/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xed-editor";
-  version = "3.0.2";
+  version = "3.2.2";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = "xed";
     rev = version;
-    sha256 = "sha256-VIudVgENibOz8RK0oK80U74wy592q3vKEnl3zuS7oSI=";
+    sha256 = "sha256-PW7y3+Sa9FH5r5xvziysvxM08RJCPvnLs3wsm5IqToQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/editors/xxe-pe/default.nix b/pkgs/applications/editors/xxe-pe/default.nix
index e7cfe6284e3..8734f4d31c8 100644
--- a/pkgs/applications/editors/xxe-pe/default.nix
+++ b/pkgs/applications/editors/xxe-pe/default.nix
@@ -19,7 +19,7 @@ let
     icon = "xxe";
     desktopName = "xxe";
     genericName = "XML Editor";
-    categories = "Development;IDE;TextEditor;Java";
+    categories = [ "Development" "IDE" "TextEditor" "Java" ];
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/editors/your-editor/default.nix b/pkgs/applications/editors/your-editor/default.nix
index 4fd6ca0ad86..d00be198c8f 100644
--- a/pkgs/applications/editors/your-editor/default.nix
+++ b/pkgs/applications/editors/your-editor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "your-editor";
-  version = "1303";
+  version = "1400";
 
   src = fetchFromGitHub {
     owner = "your-editor";
     repo = "yed";
     rev = version;
-    sha256 = "BWy/icQs8hVtNeM/mCi6LOah1UG0elU/DgCmfaIPD64=";
+    sha256 = "sha256-qF+fMFHfY1fdWPAFEoCxcKHB++sFNwOaHeaMv+6gakg=";
   };
 
   installPhase = ''
diff --git a/pkgs/misc/emulators/ares/default.nix b/pkgs/applications/emulators/ares/default.nix
index 33a7858455d..33a7858455d 100644
--- a/pkgs/misc/emulators/ares/default.nix
+++ b/pkgs/applications/emulators/ares/default.nix
diff --git a/pkgs/misc/emulators/ares/fix-ruby.patch b/pkgs/applications/emulators/ares/fix-ruby.patch
index 01bd57ebaad..01bd57ebaad 100644
--- a/pkgs/misc/emulators/ares/fix-ruby.patch
+++ b/pkgs/applications/emulators/ares/fix-ruby.patch
diff --git a/pkgs/misc/emulators/atari++/default.nix b/pkgs/applications/emulators/atari++/default.nix
index 5e35dcaebd0..5e35dcaebd0 100644
--- a/pkgs/misc/emulators/atari++/default.nix
+++ b/pkgs/applications/emulators/atari++/default.nix
diff --git a/pkgs/misc/emulators/atari800/default.nix b/pkgs/applications/emulators/atari800/default.nix
index 37e0d83f140..37e0d83f140 100644
--- a/pkgs/misc/emulators/atari800/default.nix
+++ b/pkgs/applications/emulators/atari800/default.nix
diff --git a/pkgs/misc/emulators/attract-mode/default.nix b/pkgs/applications/emulators/attract-mode/default.nix
index 7a3f61fd8dc..4f560e64a1a 100644
--- a/pkgs/misc/emulators/attract-mode/default.nix
+++ b/pkgs/applications/emulators/attract-mode/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "attract-mode";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "mickelson";
     repo = "attract";
     rev = "v${version}";
-    sha256 = "16p369j0hanm0l2fiy6h9d9pn0f3qblcy9l39all6h7rfxnhp9ii";
+    sha256 = "sha256-gKxUU2y6Gtm5a/tXYw/fsaTBrriNh5vouPGICs3Ph3c=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/virtualization/bochs/default.nix b/pkgs/applications/emulators/bochs/default.nix
index 1f02219c831..1f02219c831 100644
--- a/pkgs/applications/virtualization/bochs/default.nix
+++ b/pkgs/applications/emulators/bochs/default.nix
diff --git a/pkgs/misc/emulators/bsnes-hd/default.nix b/pkgs/applications/emulators/bsnes-hd/default.nix
index 6494185958c..6494185958c 100644
--- a/pkgs/misc/emulators/bsnes-hd/default.nix
+++ b/pkgs/applications/emulators/bsnes-hd/default.nix
diff --git a/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch b/pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
index d38efbc99bc..d38efbc99bc 100644
--- a/pkgs/misc/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
+++ b/pkgs/applications/emulators/bsnes-hd/macos-copy-app-to-prefix.patch
diff --git a/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch b/pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
index 85adb33e3ab..85adb33e3ab 100644
--- a/pkgs/misc/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
+++ b/pkgs/applications/emulators/bsnes-hd/macos-replace-sips-with-png2icns.patch
diff --git a/pkgs/misc/emulators/caprice32/default.nix b/pkgs/applications/emulators/caprice32/default.nix
index 6c2932f7e10..6c2932f7e10 100644
--- a/pkgs/misc/emulators/caprice32/default.nix
+++ b/pkgs/applications/emulators/caprice32/default.nix
diff --git a/pkgs/misc/emulators/caprice32/string.patch b/pkgs/applications/emulators/caprice32/string.patch
index fabbbd80d5d..fabbbd80d5d 100644
--- a/pkgs/misc/emulators/caprice32/string.patch
+++ b/pkgs/applications/emulators/caprice32/string.patch
diff --git a/pkgs/misc/emulators/ccemux/default.nix b/pkgs/applications/emulators/ccemux/default.nix
index 11f24d59e5c..8b7b1c32628 100644
--- a/pkgs/misc/emulators/ccemux/default.nix
+++ b/pkgs/applications/emulators/ccemux/default.nix
@@ -29,7 +29,7 @@ let
     comment = "A modular ComputerCraft emulator";
     desktopName = "CCEmuX";
     genericName = "ComputerCraft Emulator";
-    categories = "Emulator;";
+    categories = [ "Emulator" ];
   };
 in
 
diff --git a/pkgs/misc/emulators/cdemu/analyzer.nix b/pkgs/applications/emulators/cdemu/analyzer.nix
index 338c64a24b8..338c64a24b8 100644
--- a/pkgs/misc/emulators/cdemu/analyzer.nix
+++ b/pkgs/applications/emulators/cdemu/analyzer.nix
diff --git a/pkgs/misc/emulators/cdemu/base.nix b/pkgs/applications/emulators/cdemu/base.nix
index 9464bde70bf..9464bde70bf 100644
--- a/pkgs/misc/emulators/cdemu/base.nix
+++ b/pkgs/applications/emulators/cdemu/base.nix
diff --git a/pkgs/misc/emulators/cdemu/client.nix b/pkgs/applications/emulators/cdemu/client.nix
index 06604e3eae9..06604e3eae9 100644
--- a/pkgs/misc/emulators/cdemu/client.nix
+++ b/pkgs/applications/emulators/cdemu/client.nix
diff --git a/pkgs/misc/emulators/cdemu/daemon.nix b/pkgs/applications/emulators/cdemu/daemon.nix
index 3df9e4ad543..3df9e4ad543 100644
--- a/pkgs/misc/emulators/cdemu/daemon.nix
+++ b/pkgs/applications/emulators/cdemu/daemon.nix
diff --git a/pkgs/misc/emulators/cdemu/gui.nix b/pkgs/applications/emulators/cdemu/gui.nix
index 15e595a6172..15e595a6172 100644
--- a/pkgs/misc/emulators/cdemu/gui.nix
+++ b/pkgs/applications/emulators/cdemu/gui.nix
diff --git a/pkgs/misc/emulators/cdemu/libmirage.nix b/pkgs/applications/emulators/cdemu/libmirage.nix
index 7016a42d247..7016a42d247 100644
--- a/pkgs/misc/emulators/cdemu/libmirage.nix
+++ b/pkgs/applications/emulators/cdemu/libmirage.nix
diff --git a/pkgs/misc/emulators/cdemu/vhba.nix b/pkgs/applications/emulators/cdemu/vhba.nix
index aeadcf5c1c1..aeadcf5c1c1 100644
--- a/pkgs/misc/emulators/cdemu/vhba.nix
+++ b/pkgs/applications/emulators/cdemu/vhba.nix
diff --git a/pkgs/misc/emulators/cen64/default.nix b/pkgs/applications/emulators/cen64/default.nix
index ddf45547337..ddf45547337 100644
--- a/pkgs/misc/emulators/cen64/default.nix
+++ b/pkgs/applications/emulators/cen64/default.nix
diff --git a/pkgs/misc/emulators/citra/default.nix b/pkgs/applications/emulators/citra/default.nix
index 92d0f5b1d36..92d0f5b1d36 100644
--- a/pkgs/misc/emulators/citra/default.nix
+++ b/pkgs/applications/emulators/citra/default.nix
diff --git a/pkgs/misc/emulators/commanderx16/emulator.nix b/pkgs/applications/emulators/commanderx16/emulator.nix
index 73442215ff1..73442215ff1 100644
--- a/pkgs/misc/emulators/commanderx16/emulator.nix
+++ b/pkgs/applications/emulators/commanderx16/emulator.nix
diff --git a/pkgs/misc/emulators/commanderx16/rom.nix b/pkgs/applications/emulators/commanderx16/rom.nix
index 5da77ebceef..5da77ebceef 100644
--- a/pkgs/misc/emulators/commanderx16/rom.nix
+++ b/pkgs/applications/emulators/commanderx16/rom.nix
diff --git a/pkgs/misc/emulators/commanderx16/run.nix b/pkgs/applications/emulators/commanderx16/run.nix
index 1f14fdb223c..1f14fdb223c 100644
--- a/pkgs/misc/emulators/commanderx16/run.nix
+++ b/pkgs/applications/emulators/commanderx16/run.nix
diff --git a/pkgs/misc/emulators/craftos-pc/default.nix b/pkgs/applications/emulators/craftos-pc/default.nix
index 3bc9e0b81cc..3bc9e0b81cc 100644
--- a/pkgs/misc/emulators/craftos-pc/default.nix
+++ b/pkgs/applications/emulators/craftos-pc/default.nix
diff --git a/pkgs/misc/emulators/darcnes/default.nix b/pkgs/applications/emulators/darcnes/default.nix
index 7919e0a9009..7919e0a9009 100644
--- a/pkgs/misc/emulators/darcnes/default.nix
+++ b/pkgs/applications/emulators/darcnes/default.nix
diff --git a/pkgs/misc/emulators/darcnes/label.patch b/pkgs/applications/emulators/darcnes/label.patch
index 612aa1e3911..612aa1e3911 100644
--- a/pkgs/misc/emulators/darcnes/label.patch
+++ b/pkgs/applications/emulators/darcnes/label.patch
diff --git a/pkgs/misc/emulators/desmume/default.nix b/pkgs/applications/emulators/desmume/default.nix
index 49cb2498e64..49cb2498e64 100644
--- a/pkgs/misc/emulators/desmume/default.nix
+++ b/pkgs/applications/emulators/desmume/default.nix
diff --git a/pkgs/misc/emulators/dgen-sdl/default.nix b/pkgs/applications/emulators/dgen-sdl/default.nix
index e56ca12a4e9..e56ca12a4e9 100644
--- a/pkgs/misc/emulators/dgen-sdl/default.nix
+++ b/pkgs/applications/emulators/dgen-sdl/default.nix
diff --git a/pkgs/misc/emulators/dlx/default.nix b/pkgs/applications/emulators/dlx/default.nix
index 9573dd6d48d..9573dd6d48d 100644
--- a/pkgs/misc/emulators/dlx/default.nix
+++ b/pkgs/applications/emulators/dlx/default.nix
diff --git a/pkgs/misc/emulators/dolphin-emu/default.nix b/pkgs/applications/emulators/dolphin-emu/default.nix
index c2d73d3e7ff..c2d73d3e7ff 100644
--- a/pkgs/misc/emulators/dolphin-emu/default.nix
+++ b/pkgs/applications/emulators/dolphin-emu/default.nix
diff --git a/pkgs/misc/emulators/dolphin-emu/master.nix b/pkgs/applications/emulators/dolphin-emu/master.nix
index 1afa9761171..56e107300b5 100644
--- a/pkgs/misc/emulators/dolphin-emu/master.nix
+++ b/pkgs/applications/emulators/dolphin-emu/master.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dolphin-emu";
-  version = "5.0-15445";
+  version = "5.0-15993";
 
   src = fetchFromGitHub {
     owner = "dolphin-emu";
     repo = "dolphin";
-    rev = "db02b50d2ecdfbbc21e19aadc57253c353069f77";
-    sha256 = "l2vbTZOcjfyZjKOI3n5ig2f7cDYR22GcqKS479LMtP8=";
+    rev = "5e595616379a694789fe749e40a27ef069f0090e";
+    sha256 = "1kid8qjn8r7dxh2yc1y6yal6qkfxij0ymi3zryxsnym3rjh1jds9";
     fetchSubmodules = true;
   };
 
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
     homepage = "https://dolphin-emu.org";
     description = "Gamecube/Wii/Triforce emulator for x86_64 and ARMv8";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ MP2E ashkitten ];
+    maintainers = with maintainers; [ MP2E ashkitten xfix ];
     branch = "master";
     # x86_32 is an unsupported platform.
     # Enable generic build if you really want a JIT-less binary.
diff --git a/pkgs/misc/emulators/dolphin-emu/primehack.nix b/pkgs/applications/emulators/dolphin-emu/primehack.nix
index 90510d64522..90510d64522 100644
--- a/pkgs/misc/emulators/dolphin-emu/primehack.nix
+++ b/pkgs/applications/emulators/dolphin-emu/primehack.nix
diff --git a/pkgs/applications/emulators/dosbox-staging/default.nix b/pkgs/applications/emulators/dosbox-staging/default.nix
new file mode 100644
index 00000000000..c1820646dc6
--- /dev/null
+++ b/pkgs/applications/emulators/dosbox-staging/default.nix
@@ -0,0 +1,112 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, SDL2
+, SDL2_net
+, alsa-lib
+, copyDesktopItems
+, fluidsynth
+, gtest
+, libGL
+, libGLU
+, libogg
+, libpng
+, libslirp
+, makeDesktopItem
+, makeWrapper
+, meson
+, libmt32emu
+, ninja
+, opusfile
+, pkg-config
+, libpulseaudio
+, glib
+, libjack2
+, libsndfile
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dosbox-staging";
+  version = "0.78.1";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-gozFZcJorZtbEK0joksig6qWmAMy03hmBHiyJMONfpk=";
+  };
+
+  nativeBuildInputs = [
+    copyDesktopItems
+    gtest
+    makeWrapper
+    meson
+    ninja
+    pkg-config
+  ];
+
+  buildInputs = [
+    SDL2
+    SDL2_net
+    alsa-lib
+    fluidsynth
+    glib
+    libGL
+    libGLU
+    libjack2
+    libmt32emu
+    libogg
+    libpng
+    libpulseaudio
+    libslirp
+    libsndfile
+    opusfile
+  ];
+
+   NIX_CFLAGS_COMPILE = [
+     "-I${SDL2_net}/include/SDL2"
+   ];
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = "dosbox-staging";
+      exec = "dosbox-staging";
+      icon = "dosbox-staging";
+      comment = "x86 dos emulator enhanced";
+      desktopName = "DosBox-Staging";
+      genericName = "DOS emulator";
+      categories = [ "Emulator" "Game" ];
+    })
+  ];
+
+  postFixup = ''
+    # Rename binary, add a wrapper, and copy manual to avoid conflict with
+    # original dosbox. Doing it this way allows us to work with frontends and
+    # launchers that expect the binary to be named dosbox, but get out of the
+    # way of vanilla dosbox if the user desires to install that as well.
+    mv $out/bin/dosbox $out/bin/${pname}
+    makeWrapper $out/bin/dosbox-staging $out/bin/dosbox
+
+    # Create a symlink to dosbox manual instead of merely copying it
+    pushd $out/share/man/man1/
+    mv dosbox.1.gz ${pname}.1.gz
+    ln -s ${pname}.1.gz dosbox.1.gz
+    popd
+  '';
+
+  meta = with lib; {
+    homepage = "https://dosbox-staging.github.io/";
+    description = "A modernized DOS emulator";
+    longDescription = ''
+      DOSBox Staging is an attempt to revitalize DOSBox's development
+      process. It's not a rewrite, but a continuation and improvement on the
+      existing DOSBox codebase while leveraging modern development tools and
+      practices.
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ joshuafern AndersonTorres ];
+    platforms = platforms.unix;
+    priority = 101;
+  };
+}
+# TODO: report upstream about not finding SDL2_net
diff --git a/pkgs/misc/emulators/dosbox/default.nix b/pkgs/applications/emulators/dosbox/default.nix
index 383e943ff24..87ac444ae49 100644
--- a/pkgs/misc/emulators/dosbox/default.nix
+++ b/pkgs/applications/emulators/dosbox/default.nix
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
       comment = "x86 dos emulator";
       desktopName = "DOSBox";
       genericName = "DOS emulator";
-      categories = "Emulator;Game;";
+      categories = [ "Emulator" "Game" ];
     })
   ];
 
diff --git a/pkgs/misc/emulators/duckstation/default.nix b/pkgs/applications/emulators/duckstation/default.nix
index 8e4d909a724..8e4d909a724 100644
--- a/pkgs/misc/emulators/duckstation/default.nix
+++ b/pkgs/applications/emulators/duckstation/default.nix
diff --git a/pkgs/applications/virtualization/dynamips/default.nix b/pkgs/applications/emulators/dynamips/default.nix
index 7f332010153..26ff779ba05 100644
--- a/pkgs/applications/virtualization/dynamips/default.nix
+++ b/pkgs/applications/emulators/dynamips/default.nix
@@ -1,4 +1,10 @@
-{ lib, stdenv, fetchFromGitHub, cmake, libelf, libpcap }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, libelf
+, libpcap
+}:
 
 stdenv.mkDerivation rec {
   pname = "dynamips";
@@ -8,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "GNS3";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0pvdqs6kjz0x0wqb5f1k3r25dg82wssm7wz4psm0m6bxsvf5l0i5";
+    hash = "sha256-JQJa3NZ9mQqqvuTzU7XmAr1WRB4zuLIwBx18OY3GbV8=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -17,12 +23,12 @@ stdenv.mkDerivation rec {
   cmakeFlags = [ "-DDYNAMIPS_CODE=stable" ];
 
   meta = with lib; {
+    inherit (src.meta) homepage;
     description = "A Cisco router emulator";
     longDescription = ''
       Dynamips is an emulator computer program that was written to emulate Cisco
       routers.
     '';
-    inherit (src.meta) homepage;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ primeos ];
diff --git a/pkgs/misc/emulators/emu2/default.nix b/pkgs/applications/emulators/emu2/default.nix
index 7949a3f2b05..7949a3f2b05 100644
--- a/pkgs/misc/emulators/emu2/default.nix
+++ b/pkgs/applications/emulators/emu2/default.nix
diff --git a/pkgs/misc/emulators/emulationstation/default.nix b/pkgs/applications/emulators/emulationstation/default.nix
index 4cb5ca9ec2e..4cb5ca9ec2e 100644
--- a/pkgs/misc/emulators/emulationstation/default.nix
+++ b/pkgs/applications/emulators/emulationstation/default.nix
diff --git a/pkgs/misc/emulators/epsxe/default.nix b/pkgs/applications/emulators/epsxe/default.nix
index f39c2ae74ac..f39c2ae74ac 100644
--- a/pkgs/misc/emulators/epsxe/default.nix
+++ b/pkgs/applications/emulators/epsxe/default.nix
diff --git a/pkgs/misc/emulators/fakenes/build.patch b/pkgs/applications/emulators/fakenes/build.patch
index 90799d977a1..90799d977a1 100644
--- a/pkgs/misc/emulators/fakenes/build.patch
+++ b/pkgs/applications/emulators/fakenes/build.patch
diff --git a/pkgs/misc/emulators/fakenes/default.nix b/pkgs/applications/emulators/fakenes/default.nix
index 6bc4b1480ff..6bc4b1480ff 100644
--- a/pkgs/misc/emulators/fakenes/default.nix
+++ b/pkgs/applications/emulators/fakenes/default.nix
diff --git a/pkgs/misc/emulators/fceux/default.nix b/pkgs/applications/emulators/fceux/default.nix
index 3552a4a8d04..9289fb081f0 100644
--- a/pkgs/misc/emulators/fceux/default.nix
+++ b/pkgs/applications/emulators/fceux/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fceux";
-  version = "2.6.1";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "TASEmulators";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-LlGM6sOjcpyHApUvSr5etKIqwDoheuiW53DSHs19W6Q=";
+    sha256 = "sha256-yQX58m/sMW/8Jr5cm2SrVXTiF7qyZOgOZg1v0qEyiLw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/misc/emulators/firebird-emu/default.nix b/pkgs/applications/emulators/firebird-emu/default.nix
index 8a759d00582..8a759d00582 100644
--- a/pkgs/misc/emulators/firebird-emu/default.nix
+++ b/pkgs/applications/emulators/firebird-emu/default.nix
diff --git a/pkgs/misc/emulators/fs-uae/default.nix b/pkgs/applications/emulators/fs-uae/default.nix
index 4bd67908a78..4bd67908a78 100644
--- a/pkgs/misc/emulators/fs-uae/default.nix
+++ b/pkgs/applications/emulators/fs-uae/default.nix
diff --git a/pkgs/misc/emulators/fs-uae/launcher.nix b/pkgs/applications/emulators/fs-uae/launcher.nix
index afe12aab0c8..afe12aab0c8 100644
--- a/pkgs/misc/emulators/fs-uae/launcher.nix
+++ b/pkgs/applications/emulators/fs-uae/launcher.nix
diff --git a/pkgs/misc/emulators/fuse-emulator/default.nix b/pkgs/applications/emulators/fuse-emulator/default.nix
index 35e28ba55f6..35e28ba55f6 100644
--- a/pkgs/misc/emulators/fuse-emulator/default.nix
+++ b/pkgs/applications/emulators/fuse-emulator/default.nix
diff --git a/pkgs/misc/emulators/gens-gs/default.nix b/pkgs/applications/emulators/gens-gs/default.nix
index 0fbd12fc365..0fbd12fc365 100644
--- a/pkgs/misc/emulators/gens-gs/default.nix
+++ b/pkgs/applications/emulators/gens-gs/default.nix
diff --git a/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch b/pkgs/applications/emulators/gxemul/0001-fix-attributes.patch
index 3ed9cabc7ad..3ed9cabc7ad 100644
--- a/pkgs/misc/emulators/gxemul/0001-fix-attributes.patch
+++ b/pkgs/applications/emulators/gxemul/0001-fix-attributes.patch
diff --git a/pkgs/misc/emulators/gxemul/default.nix b/pkgs/applications/emulators/gxemul/default.nix
index cacb521c2fb..cacb521c2fb 100644
--- a/pkgs/misc/emulators/gxemul/default.nix
+++ b/pkgs/applications/emulators/gxemul/default.nix
diff --git a/pkgs/misc/emulators/hatari/default.nix b/pkgs/applications/emulators/hatari/default.nix
index de98278b832..de98278b832 100644
--- a/pkgs/misc/emulators/hatari/default.nix
+++ b/pkgs/applications/emulators/hatari/default.nix
diff --git a/pkgs/applications/virtualization/hercules/default.nix b/pkgs/applications/emulators/hercules/default.nix
index f33055baacb..67506d36b63 100644
--- a/pkgs/applications/virtualization/hercules/default.nix
+++ b/pkgs/applications/emulators/hercules/default.nix
@@ -1,4 +1,7 @@
-{ lib, stdenv, fetchurl }:
+{ lib
+, stdenv
+, fetchurl
+}:
 
 stdenv.mkDerivation rec {
   pname = "hercules";
@@ -10,8 +13,14 @@ stdenv.mkDerivation rec {
   };
 
   meta = with lib; {
-    description = "IBM mainframe emulator";
     homepage = "http://www.hercules-390.eu";
+    description = "IBM mainframe emulator";
+    longDescription = ''
+      Hercules is an open source software implementation of the mainframe
+      System/370 and ESA/390 architectures, in addition to the latest 64-bit
+      z/Architecture. Hercules runs under Linux, Windows, Solaris, FreeBSD, and
+      Mac OS X.
+    '';
     license = licenses.qpl;
     maintainers = [ maintainers.anna328p ];
   };
diff --git a/pkgs/misc/emulators/higan/001-include-cmath.patch b/pkgs/applications/emulators/higan/001-include-cmath.patch
index 67644e656aa..67644e656aa 100644
--- a/pkgs/misc/emulators/higan/001-include-cmath.patch
+++ b/pkgs/applications/emulators/higan/001-include-cmath.patch
diff --git a/pkgs/misc/emulators/higan/002-sips-to-png2icns.patch b/pkgs/applications/emulators/higan/002-sips-to-png2icns.patch
index 0585c8a38c7..0585c8a38c7 100644
--- a/pkgs/misc/emulators/higan/002-sips-to-png2icns.patch
+++ b/pkgs/applications/emulators/higan/002-sips-to-png2icns.patch
diff --git a/pkgs/misc/emulators/higan/default.nix b/pkgs/applications/emulators/higan/default.nix
index c5f38a040c1..c5f38a040c1 100644
--- a/pkgs/misc/emulators/higan/default.nix
+++ b/pkgs/applications/emulators/higan/default.nix
diff --git a/pkgs/misc/emulators/kega-fusion/default.nix b/pkgs/applications/emulators/kega-fusion/default.nix
index e8feb1ea7ed..e8feb1ea7ed 100644
--- a/pkgs/misc/emulators/kega-fusion/default.nix
+++ b/pkgs/applications/emulators/kega-fusion/default.nix
diff --git a/pkgs/misc/emulators/lambda-delta/default.nix b/pkgs/applications/emulators/lambda-delta/default.nix
index a17a0eadfd5..a17a0eadfd5 100644
--- a/pkgs/misc/emulators/lambda-delta/default.nix
+++ b/pkgs/applications/emulators/lambda-delta/default.nix
diff --git a/pkgs/misc/emulators/libdsk/default.nix b/pkgs/applications/emulators/libdsk/default.nix
index 9ad20275489..247aef118e8 100644
--- a/pkgs/misc/emulators/libdsk/default.nix
+++ b/pkgs/applications/emulators/libdsk/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libdsk";
-  version = "1.5.15";
+  version = "1.5.18";
 
   src = fetchurl {
     url = "https://www.seasip.info/Unix/LibDsk/${pname}-${version}.tar.gz";
-    sha256 = "sha256-7VjVgGRy3+SE+9mdPpBKiNzv1tg2akXpkHfv2dVoODs=";
+    sha256 = "sha256-43HUMQ35nwOwaQP8F1vO7zFccxHrQqJhZ6D5zzYhB5A=";
   };
 
   meta = with lib; {
diff --git a/pkgs/misc/emulators/maiko/default.nix b/pkgs/applications/emulators/maiko/default.nix
index e78b680d617..e78b680d617 100644
--- a/pkgs/misc/emulators/maiko/default.nix
+++ b/pkgs/applications/emulators/maiko/default.nix
diff --git a/pkgs/misc/emulators/mame/default.nix b/pkgs/applications/emulators/mame/default.nix
index e0915703003..ce3fb3d06ae 100644
--- a/pkgs/misc/emulators/mame/default.nix
+++ b/pkgs/applications/emulators/mame/default.nix
@@ -26,7 +26,7 @@ let
     exec = "mame${lib.optionalString stdenv.is64bit "64"}";
     desktopName = "MAME";
     genericName = "MAME is a multi-purpose emulation framework";
-    categories = "System;Emulator;";
+    categories = [ "System" "Emulator" ];
   };
 
   dest = "$out/opt/mame";
diff --git a/pkgs/misc/emulators/mame/emuopts.patch b/pkgs/applications/emulators/mame/emuopts.patch
index b85291f52f7..b85291f52f7 100644
--- a/pkgs/misc/emulators/mame/emuopts.patch
+++ b/pkgs/applications/emulators/mame/emuopts.patch
diff --git a/pkgs/misc/emulators/mednafen/default.nix b/pkgs/applications/emulators/mednafen/default.nix
index f76ddb78bd5..bcc58ccb76a 100644
--- a/pkgs/misc/emulators/mednafen/default.nix
+++ b/pkgs/applications/emulators/mednafen/default.nix
@@ -1,32 +1,56 @@
-{ lib, stdenv, fetchurl, pkg-config, freeglut, libGLU, libGL, libcdio, libjack2
-, libsamplerate, libsndfile, libX11, SDL2, SDL2_net, zlib, alsa-lib }:
+{ lib
+, stdenv
+, fetchurl
+, SDL2
+, SDL2_net
+, alsa-lib
+, flac
+, freeglut
+, libGL
+, libGLU
+, libX11
+, libcdio
+, libjack2
+, libsamplerate
+, libsndfile
+, pkg-config
+, zlib
+, libiconv
+}:
 
 stdenv.mkDerivation rec {
   pname = "mednafen";
-  version = "1.26.1";
+  version = "1.29.0";
 
   src = fetchurl {
     url = "https://mednafen.github.io/releases/files/${pname}-${version}.tar.xz";
-    sha256 = "1x7xhxjhwsdbak8l0iyb497f043xkhibk73w96xck4j2bk10fac4";
+    hash = "sha256-2j+88Ch3+b4PAov6XRy1npU6QEm5D+fjk4ijOG2fNi4=";
   };
 
   nativeBuildInputs = [ pkg-config ];
 
   buildInputs = [
+    SDL2
+    SDL2_net
+    flac
     freeglut
-    libGLU libGL
     libcdio
     libjack2
-    alsa-lib
     libsamplerate
     libsndfile
-    libX11
-    SDL2
-    SDL2_net
     zlib
+  ] ++ lib.optionals stdenv.hostPlatform.isLinux [
+    alsa-lib
+    libGL
+    libGLU
+    libX11
+  ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
+    libiconv
   ];
 
-  hardeningDisable = [ "pic" ];
+  hardeningDisable = [ "pic" "format" ];
+
+  enableParallelBuilding = true;
 
   postInstall = ''
     mkdir -p $out/share/doc
@@ -34,6 +58,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
+    homepage = "https://mednafen.github.io/";
     description = "A portable, CLI-driven, SDL+OpenGL-based, multi-system emulator";
     longDescription = ''
       Mednafen is a portable, utilizing OpenGL and SDL,
@@ -66,9 +91,8 @@ stdenv.mkDerivation rec {
       - Sega Saturn (experimental, x86_64 only)
       - Sony PlayStation
     '';
-    homepage = "https://mednafen.github.io/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/misc/emulators/mednafen/server.nix b/pkgs/applications/emulators/mednafen/server.nix
index 24c13bf0228..24c13bf0228 100644
--- a/pkgs/misc/emulators/mednafen/server.nix
+++ b/pkgs/applications/emulators/mednafen/server.nix
diff --git a/pkgs/misc/emulators/mednaffe/default.nix b/pkgs/applications/emulators/mednaffe/default.nix
index 4874d5efee7..32bb06b2704 100644
--- a/pkgs/misc/emulators/mednaffe/default.nix
+++ b/pkgs/applications/emulators/mednaffe/default.nix
@@ -20,11 +20,15 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config wrapGAppsHook ];
+
   buildInputs = [ gtk3 mednafen ];
 
-  postInstall = ''
-    wrapProgram $out/bin/mednaffe \
+  enableParallelBuilding = true;
+
+  preFixup = ''
+    gappsWrapperArgs+=(
       --prefix PATH ':' "${mednafen}/bin"
+    )
    '';
 
   meta = with lib; {
@@ -32,6 +36,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/AmatCoder/mednaffe";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ sheenobu yana AndersonTorres ];
-    platforms = platforms.linux;
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/misc/emulators/melonDS/default.nix b/pkgs/applications/emulators/melonDS/default.nix
index 3e30be8c2a3..3e30be8c2a3 100644
--- a/pkgs/misc/emulators/melonDS/default.nix
+++ b/pkgs/applications/emulators/melonDS/default.nix
diff --git a/pkgs/misc/emulators/mgba/default.nix b/pkgs/applications/emulators/mgba/default.nix
index f6b9c11ffe3..4424bedc6f2 100644
--- a/pkgs/misc/emulators/mgba/default.nix
+++ b/pkgs/applications/emulators/mgba/default.nix
@@ -4,7 +4,7 @@
 , SDL2
 , cmake
 , libepoxy
-, ffmpeg
+, ffmpeg_4
 , imagemagick
 , libedit
 , libelf
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     SDL2
     libepoxy
-    ffmpeg
+    ffmpeg_4
     imagemagick
     libedit
     libelf
@@ -57,8 +57,8 @@ stdenv.mkDerivation rec {
       comment = "A Game Boy Advance Emulator";
       desktopName = "mgba";
       genericName = "Game Boy Advance Emulator";
-      categories = "Game;Emulator;";
-      startupNotify = "false";
+      categories = [ "Game" "Emulator" ];
+      startupNotify = false;
     })
   ];
 
diff --git a/pkgs/misc/emulators/mupen64plus/default.nix b/pkgs/applications/emulators/mupen64plus/default.nix
index f5d17d9d395..f5d17d9d395 100644
--- a/pkgs/misc/emulators/mupen64plus/default.nix
+++ b/pkgs/applications/emulators/mupen64plus/default.nix
diff --git a/pkgs/misc/emulators/nestopia/build-fix.patch b/pkgs/applications/emulators/nestopia/build-fix.patch
index a7d82ead15c..a7d82ead15c 100644
--- a/pkgs/misc/emulators/nestopia/build-fix.patch
+++ b/pkgs/applications/emulators/nestopia/build-fix.patch
diff --git a/pkgs/misc/emulators/nestopia/default.nix b/pkgs/applications/emulators/nestopia/default.nix
index fa55c2e9635..fa55c2e9635 100644
--- a/pkgs/misc/emulators/nestopia/default.nix
+++ b/pkgs/applications/emulators/nestopia/default.nix
diff --git a/pkgs/misc/emulators/nestopia/gcc6.patch b/pkgs/applications/emulators/nestopia/gcc6.patch
index 65dcc72c0c2..65dcc72c0c2 100644
--- a/pkgs/misc/emulators/nestopia/gcc6.patch
+++ b/pkgs/applications/emulators/nestopia/gcc6.patch
diff --git a/pkgs/misc/emulators/np2kai/default.nix b/pkgs/applications/emulators/np2kai/default.nix
index 0ed47af8f5b..0ed47af8f5b 100644
--- a/pkgs/misc/emulators/np2kai/default.nix
+++ b/pkgs/applications/emulators/np2kai/default.nix
diff --git a/pkgs/misc/emulators/oberon-risc-emu/default.nix b/pkgs/applications/emulators/oberon-risc-emu/default.nix
index 749e3549bf8..749e3549bf8 100644
--- a/pkgs/misc/emulators/oberon-risc-emu/default.nix
+++ b/pkgs/applications/emulators/oberon-risc-emu/default.nix
diff --git a/pkgs/misc/emulators/openmsx/custom-nix.mk b/pkgs/applications/emulators/openmsx/custom-nix.mk
index 9098762e40d..9098762e40d 100644
--- a/pkgs/misc/emulators/openmsx/custom-nix.mk
+++ b/pkgs/applications/emulators/openmsx/custom-nix.mk
diff --git a/pkgs/misc/emulators/openmsx/default.nix b/pkgs/applications/emulators/openmsx/default.nix
index f054b954b59..f054b954b59 100644
--- a/pkgs/misc/emulators/openmsx/default.nix
+++ b/pkgs/applications/emulators/openmsx/default.nix
diff --git a/pkgs/misc/emulators/pcem/default.nix b/pkgs/applications/emulators/pcem/default.nix
index 2e6aa683e4d..2e6aa683e4d 100644
--- a/pkgs/misc/emulators/pcem/default.nix
+++ b/pkgs/applications/emulators/pcem/default.nix
diff --git a/pkgs/misc/emulators/pcsx2/default.nix b/pkgs/applications/emulators/pcsx2/default.nix
index 2e22e7d9053..2e22e7d9053 100644
--- a/pkgs/misc/emulators/pcsx2/default.nix
+++ b/pkgs/applications/emulators/pcsx2/default.nix
diff --git a/pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch b/pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
index 0edc6281a7e..0edc6281a7e 100644
--- a/pkgs/misc/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
+++ b/pkgs/applications/emulators/pcsxr/0001-libpcsxcore-fix-build-with-ffmpeg-4.patch
diff --git a/pkgs/misc/emulators/pcsxr/default.nix b/pkgs/applications/emulators/pcsxr/default.nix
index e3126efe82d..e3126efe82d 100644
--- a/pkgs/misc/emulators/pcsxr/default.nix
+++ b/pkgs/applications/emulators/pcsxr/default.nix
diff --git a/pkgs/misc/emulators/pcsxr/uncompress2.patch b/pkgs/applications/emulators/pcsxr/uncompress2.patch
index 356868ce7a8..356868ce7a8 100644
--- a/pkgs/misc/emulators/pcsxr/uncompress2.patch
+++ b/pkgs/applications/emulators/pcsxr/uncompress2.patch
diff --git a/pkgs/misc/emulators/ppsspp/default.nix b/pkgs/applications/emulators/ppsspp/default.nix
index b84d18a4e7a..b84d18a4e7a 100644
--- a/pkgs/misc/emulators/ppsspp/default.nix
+++ b/pkgs/applications/emulators/ppsspp/default.nix
diff --git a/pkgs/misc/emulators/proton-caller/default.nix b/pkgs/applications/emulators/proton-caller/default.nix
index d10c4364232..d10c4364232 100644
--- a/pkgs/misc/emulators/proton-caller/default.nix
+++ b/pkgs/applications/emulators/proton-caller/default.nix
diff --git a/pkgs/misc/emulators/punes/default.nix b/pkgs/applications/emulators/punes/default.nix
index 9b147de4fa9..9b147de4fa9 100644
--- a/pkgs/misc/emulators/punes/default.nix
+++ b/pkgs/applications/emulators/punes/default.nix
diff --git a/pkgs/misc/emulators/py65/default.nix b/pkgs/applications/emulators/py65/default.nix
index 66ba3cdf4b4..66ba3cdf4b4 100644
--- a/pkgs/misc/emulators/py65/default.nix
+++ b/pkgs/applications/emulators/py65/default.nix
diff --git a/pkgs/misc/emulators/qmc2/default.nix b/pkgs/applications/emulators/qmc2/default.nix
index 6c6a52fc65c..6c6a52fc65c 100644
--- a/pkgs/misc/emulators/qmc2/default.nix
+++ b/pkgs/applications/emulators/qmc2/default.nix
diff --git a/pkgs/misc/emulators/reicast/default.nix b/pkgs/applications/emulators/reicast/default.nix
index f9e8e4d6937..f9e8e4d6937 100644
--- a/pkgs/misc/emulators/reicast/default.nix
+++ b/pkgs/applications/emulators/reicast/default.nix
diff --git a/pkgs/misc/emulators/resim/default.nix b/pkgs/applications/emulators/resim/default.nix
index 49d7721174f..49d7721174f 100644
--- a/pkgs/misc/emulators/resim/default.nix
+++ b/pkgs/applications/emulators/resim/default.nix
diff --git a/pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch b/pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
index 75018dc8c4d..75018dc8c4d 100644
--- a/pkgs/misc/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
+++ b/pkgs/applications/emulators/retroarch/0001-Disable-menu_show_core_updater.patch
diff --git a/pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch b/pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
index 9aa8db6ab04..9aa8db6ab04 100644
--- a/pkgs/misc/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
+++ b/pkgs/applications/emulators/retroarch/0002-Use-fixed-paths-on-libretro_info_path.patch
diff --git a/pkgs/misc/emulators/retroarch/cores.nix b/pkgs/applications/emulators/retroarch/cores.nix
index e0045a3827d..e0045a3827d 100644
--- a/pkgs/misc/emulators/retroarch/cores.nix
+++ b/pkgs/applications/emulators/retroarch/cores.nix
diff --git a/pkgs/misc/emulators/retroarch/default.nix b/pkgs/applications/emulators/retroarch/default.nix
index f0dba9058d1..2c49874e544 100644
--- a/pkgs/misc/emulators/retroarch/default.nix
+++ b/pkgs/applications/emulators/retroarch/default.nix
@@ -6,7 +6,7 @@
 , alsa-lib
 , AppKit
 , fetchFromGitHub
-, ffmpeg
+, ffmpeg_4
 , Foundation
 , freetype
 , gamemode
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     lib.optional stdenv.isLinux wayland ++
     lib.optional (runtimeLibs != [ ]) makeWrapper;
 
-  buildInputs = [ ffmpeg freetype libxml2 libGLU libGL python3 SDL2 which ] ++
+  buildInputs = [ ffmpeg_4 freetype libxml2 libGLU libGL python3 SDL2 which ] ++
     lib.optional enableNvidiaCgToolkit nvidia_cg_toolkit ++
     lib.optional withVulkan vulkan-loader ++
     lib.optionals stdenv.isDarwin [ libobjc AppKit Foundation ] ++
diff --git a/pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch b/pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch
index 34fea554ef7..34fea554ef7 100644
--- a/pkgs/misc/emulators/retroarch/disable-menu-show-core-updater.patch
+++ b/pkgs/applications/emulators/retroarch/disable-menu-show-core-updater.patch
diff --git a/pkgs/misc/emulators/retroarch/fix-config.patch b/pkgs/applications/emulators/retroarch/fix-config.patch
index 1a71bf43cb1..1a71bf43cb1 100644
--- a/pkgs/misc/emulators/retroarch/fix-config.patch
+++ b/pkgs/applications/emulators/retroarch/fix-config.patch
diff --git a/pkgs/misc/emulators/retroarch/fix-libretro-paths.patch b/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
index 203ce836533..203ce836533 100644
--- a/pkgs/misc/emulators/retroarch/fix-libretro-paths.patch
+++ b/pkgs/applications/emulators/retroarch/fix-libretro-paths.patch
diff --git a/pkgs/misc/emulators/retroarch/hashes.json b/pkgs/applications/emulators/retroarch/hashes.json
index 1280f25047d..1280f25047d 100644
--- a/pkgs/misc/emulators/retroarch/hashes.json
+++ b/pkgs/applications/emulators/retroarch/hashes.json
diff --git a/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix b/pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix
index 9d83c46396c..9d83c46396c 100644
--- a/pkgs/misc/emulators/retroarch/kodi-advanced-launchers.nix
+++ b/pkgs/applications/emulators/retroarch/kodi-advanced-launchers.nix
diff --git a/pkgs/misc/emulators/retroarch/update.py b/pkgs/applications/emulators/retroarch/update.py
index 68f72103168..68f72103168 100755
--- a/pkgs/misc/emulators/retroarch/update.py
+++ b/pkgs/applications/emulators/retroarch/update.py
diff --git a/pkgs/misc/emulators/retroarch/wrapper.nix b/pkgs/applications/emulators/retroarch/wrapper.nix
index e667afdf079..b3797c9e9e3 100644
--- a/pkgs/misc/emulators/retroarch/wrapper.nix
+++ b/pkgs/applications/emulators/retroarch/wrapper.nix
@@ -28,10 +28,10 @@ stdenv.mkDerivation {
   preferLocalBuild = true;
 
   meta = with retroarch.meta; {
-    inherit changelog license homepage platforms maintainers;
-    description = description
-      + " (with cores: "
+    inherit changelog description homepage license maintainers platforms;
+    longDescription =
+      "RetroArch is the reference frontend for the libretro API. The following cores are included: "
       + lib.concatStringsSep ", " (map (x: "${x.name}") cores)
-      + ")";
+      + ".";
   };
 }
diff --git a/pkgs/misc/emulators/retrofe/default.nix b/pkgs/applications/emulators/retrofe/default.nix
index dc1a23f33b3..dc1a23f33b3 100644
--- a/pkgs/misc/emulators/retrofe/default.nix
+++ b/pkgs/applications/emulators/retrofe/default.nix
diff --git a/pkgs/misc/emulators/retrofe/include-paths.patch b/pkgs/applications/emulators/retrofe/include-paths.patch
index 02eef2594ea..02eef2594ea 100644
--- a/pkgs/misc/emulators/retrofe/include-paths.patch
+++ b/pkgs/applications/emulators/retrofe/include-paths.patch
diff --git a/pkgs/misc/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch b/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
index dccf06fc078..dccf06fc078 100644
--- a/pkgs/misc/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
+++ b/pkgs/applications/emulators/rpcs3/0001-llvm-ExecutionEngine-IntelJITEvents-only-use-ITTAPI_.patch
diff --git a/pkgs/misc/emulators/rpcs3/default.nix b/pkgs/applications/emulators/rpcs3/default.nix
index 0ea56d3a72d..0ea56d3a72d 100644
--- a/pkgs/misc/emulators/rpcs3/default.nix
+++ b/pkgs/applications/emulators/rpcs3/default.nix
diff --git a/pkgs/misc/emulators/rpcs3/update.sh b/pkgs/applications/emulators/rpcs3/update.sh
index 0c8477c5282..0c8477c5282 100755
--- a/pkgs/misc/emulators/rpcs3/update.sh
+++ b/pkgs/applications/emulators/rpcs3/update.sh
diff --git a/pkgs/misc/emulators/ruffle/default.nix b/pkgs/applications/emulators/ruffle/default.nix
index 784ea69d397..784ea69d397 100644
--- a/pkgs/misc/emulators/ruffle/default.nix
+++ b/pkgs/applications/emulators/ruffle/default.nix
diff --git a/pkgs/misc/emulators/ryujinx/default.nix b/pkgs/applications/emulators/ryujinx/default.nix
index 2f684257114..6dbd356f24c 100644
--- a/pkgs/misc/emulators/ryujinx/default.nix
+++ b/pkgs/applications/emulators/ryujinx/default.nix
@@ -74,7 +74,7 @@ buildDotnetModule rec {
     icon = "ryujinx";
     comment = meta.description;
     type = "Application";
-    categories = "Game;";
+    categories = [ "Game" ];
   })];
 
   meta = with lib; {
diff --git a/pkgs/misc/emulators/ryujinx/deps.nix b/pkgs/applications/emulators/ryujinx/deps.nix
index 991d00a5a4b..991d00a5a4b 100644
--- a/pkgs/misc/emulators/ryujinx/deps.nix
+++ b/pkgs/applications/emulators/ryujinx/deps.nix
diff --git a/pkgs/misc/emulators/ryujinx/log.patch b/pkgs/applications/emulators/ryujinx/log.patch
index 57e96e5c25c..57e96e5c25c 100644
--- a/pkgs/misc/emulators/ryujinx/log.patch
+++ b/pkgs/applications/emulators/ryujinx/log.patch
diff --git a/pkgs/misc/emulators/ryujinx/updater.sh b/pkgs/applications/emulators/ryujinx/updater.sh
index 0861414f0bf..0861414f0bf 100755
--- a/pkgs/misc/emulators/ryujinx/updater.sh
+++ b/pkgs/applications/emulators/ryujinx/updater.sh
diff --git a/pkgs/misc/emulators/sameboy/default.nix b/pkgs/applications/emulators/sameboy/default.nix
index 6838a7baaf2..6838a7baaf2 100644
--- a/pkgs/misc/emulators/sameboy/default.nix
+++ b/pkgs/applications/emulators/sameboy/default.nix
diff --git a/pkgs/misc/emulators/simh/default.nix b/pkgs/applications/emulators/simh/default.nix
index 1e939538cda..1e939538cda 100644
--- a/pkgs/misc/emulators/simh/default.nix
+++ b/pkgs/applications/emulators/simh/default.nix
diff --git a/pkgs/misc/emulators/simplenes/default.nix b/pkgs/applications/emulators/simplenes/default.nix
index d073098507e..d073098507e 100644
--- a/pkgs/misc/emulators/simplenes/default.nix
+++ b/pkgs/applications/emulators/simplenes/default.nix
diff --git a/pkgs/misc/emulators/snes9x-gtk/default.nix b/pkgs/applications/emulators/snes9x-gtk/default.nix
index 27f3400cc0b..27f3400cc0b 100644
--- a/pkgs/misc/emulators/snes9x-gtk/default.nix
+++ b/pkgs/applications/emulators/snes9x-gtk/default.nix
diff --git a/pkgs/misc/emulators/stella/default.nix b/pkgs/applications/emulators/stella/default.nix
index 212c0669046..212c0669046 100644
--- a/pkgs/misc/emulators/stella/default.nix
+++ b/pkgs/applications/emulators/stella/default.nix
diff --git a/pkgs/misc/emulators/termtekst/default.nix b/pkgs/applications/emulators/termtekst/default.nix
index 56f56cffad9..56f56cffad9 100644
--- a/pkgs/misc/emulators/termtekst/default.nix
+++ b/pkgs/applications/emulators/termtekst/default.nix
diff --git a/pkgs/misc/emulators/tilem/default.nix b/pkgs/applications/emulators/tilem/default.nix
index bde706e2304..bde706e2304 100644
--- a/pkgs/misc/emulators/tilem/default.nix
+++ b/pkgs/applications/emulators/tilem/default.nix
diff --git a/pkgs/applications/virtualization/tiny8086/default.nix b/pkgs/applications/emulators/tiny8086/default.nix
index 60d69432cde..a0cc6bd7929 100644
--- a/pkgs/applications/virtualization/tiny8086/default.nix
+++ b/pkgs/applications/emulators/tiny8086/default.nix
@@ -24,32 +24,33 @@ stdenv.mkDerivation rec {
   makeFlags = [ "8086tiny" ];
 
   postBuild = lib.optionalString localBios ''
-    (
-      cd bios_source
-      nasm -f bin bios.asm -o bios
-    )
+    pushd bios_source
+    nasm -f bin bios.asm -o bios
+    popd
   '';
 
   installPhase = ''
-    mkdir -p $out/bin $out/share/8086tiny $out/share/doc/8086tiny/images
+    runHook preInstall
 
+    mkdir -p $out/bin $out/share/8086tiny $out/share/doc/8086tiny/images
     install -m 755 8086tiny $out/bin
     install -m 644 fd.img $out/share/8086tiny/8086tiny-floppy.img
     install -m 644 bios_source/bios.asm $out/share/8086tiny/8086tiny-bios-src.asm
     install -m 644 docs/8086tiny.css $out/share/doc/8086tiny
     install -m 644 docs/doc.html $out/share/doc/$name
 
-    for i in docs/images/\*.gif; do
-      install -m 644 $i $out/share/doc/8086tiny/images
+    for image in docs/images/\*.gif; do
+      install -m 644 $image $out/share/doc/8086tiny/images
     done
 
-    ${if localBios then
-      "install -m 644 bios_source/bios $out/share/8086tiny/8086tiny-bios"
-    else
-      "install -m 644 bios $out/share/8086tiny/8086tiny-bios"}
+    install -m 644 ${lib.optionalString localBios "bios_source/"}bios \
+      $out/share/8086tiny/8086tiny-bios
+
+    runHook postInstall
   '';
 
   meta = with lib; {
+    homepage = "https://github.com/adriancable/8086tiny";
     description = "An open-source small 8086 emulator";
     longDescription = ''
       8086tiny is a tiny, open-source (MIT), portable (little-endian hosts)
@@ -60,7 +61,6 @@ stdenv.mkDerivation rec {
       8086tiny is based on an IOCCC 2013 winning entry. In fact that is the
       "unobfuscated" version :)
     '';
-    homepage = "https://github.com/adriancable/8086tiny";
     license = licenses.mit;
     maintainers = [ maintainers.AndersonTorres ];
     platforms = platforms.linux;
diff --git a/pkgs/applications/emulators/tinyemu/default.nix b/pkgs/applications/emulators/tinyemu/default.nix
new file mode 100644
index 00000000000..c32fd24fe47
--- /dev/null
+++ b/pkgs/applications/emulators/tinyemu/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, stdenv
+, fetchurl
+, SDL
+, curl
+, openssl
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tinyemu";
+  version = "2019-12-21";
+
+  src = fetchurl {
+    url = "https://bellard.org/tinyemu/${pname}-${version}.tar.gz";
+    hash = "sha256-voNR8hIYGbMXL87c5csYJvoSyH2ht+2Y8mnT6AKgVVU=";
+  };
+
+  buildInputs = [
+    SDL
+    curl
+    openssl
+  ];
+
+  makeFlags = [ "DESTDIR=$(out)" "bindir=/bin" ];
+
+  preInstall = ''
+    mkdir -p "$out/bin"
+  '';
+
+  meta = with lib; {
+    homepage = "https://bellard.org/tinyemu/";
+    description = "A system emulator for the RISC-V and x86 architectures";
+    longDescription = ''
+      TinyEMU is a system emulator for the RISC-V and x86 architectures. Its
+      purpose is to be small and simple while being complete.
+    '';
+    license = with licenses; [ mit bsd2 ];
+    maintainers = with maintainers; [ jhhuh AndersonTorres ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/misc/emulators/uae/default.nix b/pkgs/applications/emulators/uae/default.nix
index 64f311c4a8a..64f311c4a8a 100644
--- a/pkgs/misc/emulators/uae/default.nix
+++ b/pkgs/applications/emulators/uae/default.nix
diff --git a/pkgs/misc/emulators/uxn/default.nix b/pkgs/applications/emulators/uxn/default.nix
index 0b797e2e160..0b797e2e160 100644
--- a/pkgs/misc/emulators/uxn/default.nix
+++ b/pkgs/applications/emulators/uxn/default.nix
diff --git a/pkgs/misc/emulators/vbam/default.nix b/pkgs/applications/emulators/vbam/default.nix
index bb5e7cea4e0..bb5e7cea4e0 100644
--- a/pkgs/misc/emulators/vbam/default.nix
+++ b/pkgs/applications/emulators/vbam/default.nix
diff --git a/pkgs/misc/emulators/vice/default.nix b/pkgs/applications/emulators/vice/default.nix
index ca0de2f8276..13457823a23 100644
--- a/pkgs/misc/emulators/vice/default.nix
+++ b/pkgs/applications/emulators/vice/default.nix
@@ -65,7 +65,7 @@ stdenv.mkDerivation rec {
     comment = "Commodore 64 emulator";
     desktopName = "VICE";
     genericName = "Commodore 64 emulator";
-    categories = "Emulator;";
+    categories = [ "Emulator" ];
   };
 
   preBuild = ''
diff --git a/pkgs/misc/emulators/wine/base.nix b/pkgs/applications/emulators/wine/base.nix
index 480fc009504..f13e224627a 100644
--- a/pkgs/misc/emulators/wine/base.nix
+++ b/pkgs/applications/emulators/wine/base.nix
@@ -1,10 +1,11 @@
-{ stdenv, lib, pkgArches, callPackage,
+{ stdenv, lib, pkgArches, callPackage, makeSetupHook,
   name, version, src, mingwGccs, monos, geckos, platforms,
   bison, flex, fontforge, makeWrapper, pkg-config,
   autoconf, hexdump, perl, nixosTests,
   supportFlags,
   patches,
   vkd3dArches,
+  moltenvk,
   buildScript ? null, configureFlags ? []
 }:
 
@@ -15,9 +16,31 @@ let
   prevName = name;
   prevPlatforms = platforms;
   prevConfigFlags = configureFlags;
+  setupHookDarwin = makeSetupHook {
+    name = "darwin-mingw-hook";
+    substitutions = {
+      darwinSuffixSalt = stdenv.cc.suffixSalt;
+      mingwGccsSuffixSalts = map (gcc: gcc.suffixSalt) mingwGccs;
+    };
+  } ./setup-hook-darwin.sh;
 in
 stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   builder = buildScript;
+}) // (lib.optionalAttrs stdenv.isDarwin {
+  postConfigure = ''
+    # dynamic fallback, so this shouldn’t cause problems for older versions of macOS and will
+    # provide additional functionality on newer ones. This can be removed once the x86_64-darwin
+    # SDK is updated.
+    sed 's|/\* #undef HAVE_MTLDEVICE_REGISTRYID \*/|#define HAVE_MTLDEVICE_REGISTRYID 1|' \
+      -i include/config.h
+  '';
+  postBuild = ''
+    # The Wine preloader must _not_ be linked to any system libraries, but `NIX_LDFLAGS` will link
+    # to libintl, libiconv, and CoreFoundation no matter what. Delete the one that was built and
+    # rebuild it with empty NIX_LDFLAGS.
+    rm loader/wine64-preloader
+    make loader/wine64-preloader NIX_LDFLAGS="" NIX_LDFLAGS_${stdenv.cc.suffixSalt}=""
+  '';
 }) // rec {
   inherit src;
 
@@ -38,11 +61,13 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
     hexdump
     perl
   ]
-  ++ lib.optionals supportFlags.mingwSupport mingwGccs;
+  ++ lib.optionals supportFlags.mingwSupport (mingwGccs
+    ++ lib.optional stdenv.isDarwin setupHookDarwin);
 
   buildInputs = toBuildInputs pkgArches (with supportFlags; (pkgs:
-  [ pkgs.freetype pkgs.perl ]
+  [ pkgs.freetype pkgs.perl pkgs.libunwind ]
   ++ lib.optional stdenv.isLinux         pkgs.libcap
+  ++ lib.optional stdenv.isDarwin        pkgs.libinotify-kqueue
   ++ lib.optional cupsSupport            pkgs.cups
   ++ lib.optional gettextSupport         pkgs.gettext
   ++ lib.optional dbusSupport            pkgs.dbus
@@ -56,14 +81,16 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
   ++ lib.optional v4lSupport             pkgs.libv4l
   ++ lib.optional saneSupport            pkgs.sane-backends
   ++ lib.optional gphoto2Support         pkgs.libgphoto2
+  ++ lib.optional krb5Support            pkgs.libkrb5
   ++ lib.optional ldapSupport            pkgs.openldap
   ++ lib.optional fontconfigSupport      pkgs.fontconfig
   ++ lib.optional alsaSupport            pkgs.alsa-lib
   ++ lib.optional pulseaudioSupport      pkgs.libpulseaudio
   ++ lib.optional (xineramaSupport && !waylandSupport) pkgs.xorg.libXinerama
   ++ lib.optional udevSupport            pkgs.udev
-  ++ lib.optional vulkanSupport          pkgs.vulkan-loader
+  ++ lib.optional vulkanSupport          (if stdenv.isDarwin then moltenvk else pkgs.vulkan-loader)
   ++ lib.optional sdlSupport             pkgs.SDL2
+  ++ lib.optional usbSupport             pkgs.libusb1
   ++ vkd3dArches
   ++ lib.optionals gstreamerSupport      (with pkgs.gst_all_1;
     [ gstreamer gst-plugins-base gst-plugins-good gst-plugins-ugly gst-libav
@@ -83,12 +110,17 @@ stdenv.mkDerivation ((lib.optionalAttrs (buildScript != null) {
      wayland libxkbcommon wayland-protocols wayland.dev libxkbcommon.dev
   ])));
 
-  patches = [ ] ++ patches';
+  patches = [ ]
+    # Wine requires `MTLDevice.registryID` for `winemac.drv`, but that property is not available
+    # in the 10.12 SDK (current SDK on x86_64-darwin). Work around that by using selector syntax.
+    ++ lib.optional stdenv.isDarwin ./darwin-metal-compat.patch
+    ++ patches';
 
   configureFlags = prevConfigFlags
     ++ lib.optionals supportFlags.waylandSupport [ "--with-wayland" ]
     ++ lib.optionals supportFlags.vulkanSupport [ "--with-vulkan" ]
-    ++ lib.optionals supportFlags.vkd3dSupport [ "--with-vkd3d" ];
+    ++ lib.optionals supportFlags.vkd3dSupport [ "--with-vkd3d" ]
+    ++ lib.optionals (stdenv.isDarwin && !supportFlags.xineramaSupport) [ "--without-x" ];
 
   # Wine locates a lot of libraries dynamically through dlopen().  Add
   # them to the RPATH so that the user doesn't have to set them in
diff --git a/pkgs/misc/emulators/wine/builder-wow.sh b/pkgs/applications/emulators/wine/builder-wow.sh
index 0dd3194dc53..0dd3194dc53 100644
--- a/pkgs/misc/emulators/wine/builder-wow.sh
+++ b/pkgs/applications/emulators/wine/builder-wow.sh
diff --git a/pkgs/misc/emulators/wine/cert-path.patch b/pkgs/applications/emulators/wine/cert-path.patch
index f0727f422f8..f0727f422f8 100644
--- a/pkgs/misc/emulators/wine/cert-path.patch
+++ b/pkgs/applications/emulators/wine/cert-path.patch
diff --git a/pkgs/applications/emulators/wine/darwin-metal-compat.patch b/pkgs/applications/emulators/wine/darwin-metal-compat.patch
new file mode 100644
index 00000000000..aeee7533bbd
--- /dev/null
+++ b/pkgs/applications/emulators/wine/darwin-metal-compat.patch
@@ -0,0 +1,31 @@
+diff --git a/dlls/winemac.drv/cocoa_display.m b/dlls/winemac.drv/cocoa_display.m
+index f64a6c0f6ad..6da0391e3fa 100644
+--- a/dlls/winemac.drv/cocoa_display.m
++++ b/dlls/winemac.drv/cocoa_display.m
+@@ -289,7 +289,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
+      * the primary GPU because we need to hide the integrated GPU for an automatic graphic switching pair to avoid apps
+      * using the integrated GPU. This is the behavior of Windows on a Mac. */
+     primary_device = [MTLCreateSystemDefaultDevice() autorelease];
+-    if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, primary_device.registryID))
++    if (macdrv_get_gpu_info_from_registry_id(&primary_gpu, (uint64_t)[primary_device registryID]))
+         goto done;
+ 
+     /* Hide the integrated GPU if the system default device is a dedicated GPU */
+@@ -301,7 +301,7 @@ static int macdrv_get_gpus_from_metal(struct macdrv_gpu** new_gpus, int* count)
+ 
+     for (i = 0; i < devices.count; i++)
+     {
+-        if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], devices[i].registryID))
++        if (macdrv_get_gpu_info_from_registry_id(&gpus[gpu_count], (uint64_t)[devices[i] registryID]))
+             goto done;
+ 
+         if (hide_integrated && devices[i].isLowPower)
+@@ -354,7 +354,7 @@ static int macdrv_get_gpu_info_from_display_id_using_metal(struct macdrv_gpu* gp
+ 
+     device = [CGDirectDisplayCopyCurrentMetalDevice(display_id) autorelease];
+     if (device && [device respondsToSelector:@selector(registryID)])
+-        ret = macdrv_get_gpu_info_from_registry_id(gpu, device.registryID);
++        ret = macdrv_get_gpu_info_from_registry_id(gpu, (uint64_t)[device registryID]);
+ 
+ done:
+     [pool release];
diff --git a/pkgs/misc/emulators/wine/default.nix b/pkgs/applications/emulators/wine/default.nix
index 191fd4b2980..37953f73c5d 100644
--- a/pkgs/misc/emulators/wine/default.nix
+++ b/pkgs/applications/emulators/wine/default.nix
@@ -6,7 +6,7 @@
 # };
 # Make additional configurations on demand:
 # wine.override { wineBuild = "wine32"; wineRelease = "staging"; };
-{ lib, stdenv, callPackage,
+{ lib, stdenv, callPackage, darwin,
   wineRelease ? "stable",
   wineBuild ? if stdenv.hostPlatform.system == "x86_64-linux" then "wineWow" else "wine32",
   gettextSupport ? false,
@@ -29,6 +29,7 @@
   v4lSupport ? false,
   saneSupport ? false,
   gphoto2Support ? false,
+  krb5Support ? false,
   ldapSupport ? false,
   pulseaudioSupport ? false,
   udevSupport ? false,
@@ -36,9 +37,11 @@
   vulkanSupport ? false,
   sdlSupport ? false,
   vkd3dSupport ? false,
+  usbSupport ? false,
   mingwSupport ? wineRelease != "stable",
   waylandSupport ? wineRelease == "wayland",
-  embedInstallers ? false # The Mono and Gecko MSI installers
+  embedInstallers ? false, # The Mono and Gecko MSI installers
+  moltenvk ? darwin.moltenvk # Allow users to override MoltenVK easily
 }:
 
 let wine-build = build: release:
@@ -48,11 +51,12 @@ let wine-build = build: release:
           inherit
             cupsSupport gettextSupport dbusSupport openalSupport cairoSupport
             odbcSupport netapiSupport cursesSupport vaSupport pcapSupport
-            v4lSupport saneSupport gphoto2Support ldapSupport fontconfigSupport
+            v4lSupport saneSupport gphoto2Support krb5Support ldapSupport fontconfigSupport
             alsaSupport pulseaudioSupport xineramaSupport gtkSupport openclSupport
             tlsSupport openglSupport gstreamerSupport udevSupport vulkanSupport
-            sdlSupport vkd3dSupport mingwSupport waylandSupport embedInstallers;
+            sdlSupport usbSupport vkd3dSupport mingwSupport waylandSupport embedInstallers;
         };
+        inherit moltenvk;
       });
 
 in if wineRelease == "staging" then
diff --git a/pkgs/misc/emulators/wine/fonts.nix b/pkgs/applications/emulators/wine/fonts.nix
index 0ee1b3973d8..0ee1b3973d8 100644
--- a/pkgs/misc/emulators/wine/fonts.nix
+++ b/pkgs/applications/emulators/wine/fonts.nix
diff --git a/pkgs/misc/emulators/wine/packages.nix b/pkgs/applications/emulators/wine/packages.nix
index cb857daef0a..bf3f57aff0f 100644
--- a/pkgs/misc/emulators/wine/packages.nix
+++ b/pkgs/applications/emulators/wine/packages.nix
@@ -1,16 +1,16 @@
-{ stdenv_32bit, lib, pkgs, pkgsi686Linux, pkgsCross, callPackage,
+{ stdenv_32bit, lib, pkgs, pkgsi686Linux, pkgsCross, callPackage, moltenvk,
   wineRelease ? "stable",
   supportFlags
 }:
 
 let
   src = lib.getAttr wineRelease (callPackage ./sources.nix {});
-  vkd3d = pkgs.callPackage ./vkd3d.nix {};
-  vkd3d_i686 = pkgsi686Linux.callPackage ./vkd3d.nix {};
+  vkd3d = pkgs.callPackage ./vkd3d.nix { inherit moltenvk; };
+  vkd3d_i686 = pkgsi686Linux.callPackage ./vkd3d.nix { inherit moltenvk; };
 in with src; {
   wine32 = pkgsi686Linux.callPackage ./base.nix {
     name = "wine-${version}";
-    inherit src version supportFlags patches;
+    inherit src version supportFlags patches moltenvk;
     pkgArches = [ pkgsi686Linux ];
     vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d_i686 ];
     geckos = [ gecko32 ];
@@ -20,7 +20,7 @@ in with src; {
   };
   wine64 = callPackage ./base.nix {
     name = "wine64-${version}";
-    inherit src version supportFlags patches;
+    inherit src version supportFlags patches moltenvk;
     pkgArches = [ pkgs ];
     vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d ];
     mingwGccs = with pkgsCross; [ mingwW64.buildPackages.gcc ];
@@ -31,7 +31,7 @@ in with src; {
   };
   wineWow = callPackage ./base.nix {
     name = "wine-wow-${version}";
-    inherit src version supportFlags patches;
+    inherit src version supportFlags patches moltenvk;
     stdenv = stdenv_32bit;
     pkgArches = [ pkgs pkgsi686Linux ];
     vkd3dArches = lib.optionals supportFlags.vkd3dSupport [ vkd3d vkd3d_i686 ];
diff --git a/pkgs/applications/emulators/wine/setup-hook-darwin.sh b/pkgs/applications/emulators/wine/setup-hook-darwin.sh
new file mode 100644
index 00000000000..39eee193ded
--- /dev/null
+++ b/pkgs/applications/emulators/wine/setup-hook-darwin.sh
@@ -0,0 +1,37 @@
+
+fixupCFlagsForDarwin() {
+    # Because it’s getting called from a Darwin stdenv, MinGW will pick up on Darwin-specific
+    # flags, and the ./configure tests will fail to consider it a working cross-compiler.
+    # Strip them out, so Wine can use MinGW to build its DLLs instead of trying to use Clang.
+    # Ideally, it would be possible to build the DLLs on Windows (i.e., as part of `pkgsCross``),
+    # but that is not the case currently with Wine’s build system.
+    cflagsFilter='s|-F[^ ]*||g;s|-iframework [^ ]*||g;s|-isystem [^ ]*||g;s|  *| |g'
+
+    # libiconv and libintl aren’t needed by Wine, and having them causes linking to fail.
+    # The `CoreFoundation` reference is added by `linkSystemCoreFoundationFramework` in the
+    # Apple SDK’s setup hook. Remove that because MingW will fail due to file not found.
+    ldFlagsFilter='s|-lintl||g;s|-liconv||g;s|/nix/store/[^-]*-apple-framework-CoreFoundation[^ ]*||g'
+
+    # `cc-wrapper.sh`` supports getting flags from a system-specific salt. While it is currently a
+    # tuple, that’s not considered a stable interface, so the Wine derivation will provide them:
+    # - for Darwin: The source is `stdenv.cc.suffixSalt`; and
+    # - for MinGW: The source is the `suffixSalt`` attribute of each of the `mingwGccs`.
+    export NIX_CFLAGS_COMPILE_@darwinSuffixSalt@=${NIX_CFLAGS_COMPILE-}
+    export NIX_LDFLAGS_@darwinSuffixSalt@=${NIX_LDFLAGS-}
+    for mingwSalt in @mingwGccsSuffixSalts@; do
+        echo removing @darwinSuffixSalt@-specific flags from NIX_CFLAGS_COMPILE for $mingwSalt
+        export NIX_CFLAGS_COMPILE_$mingwSalt+="$(sed "$cflagsFilter" <<< "$NIX_CFLAGS_COMPILE")"
+        echo removing @darwinSuffixSalt@-specific flags from NIX_LDFLAGS for $mingwSalt
+        export NIX_LDFLAGS_$mingwSalt+="$(sed "$ldFlagsFilter;$cflagsFilter" <<< "$NIX_LDFLAGS")"
+    done
+
+    # Make sure the global flags aren’t accidentally influencing the platform-specific flags.
+    export NIX_CFLAGS_COMPILE=""
+    export NIX_LDFLAGS=""
+}
+
+# This is pretty hacky, but this hook _must_ run after `linkSystemCoreFoundationFramework`.
+function runFixupCFlagsForDarwinLast() {
+    preConfigureHooks+=(fixupCFlagsForDarwin)
+}
+postUnpackHooks+=(runFixupCFlagsForDarwinLast)
diff --git a/pkgs/misc/emulators/wine/sources.nix b/pkgs/applications/emulators/wine/sources.nix
index 5dcb0295ffe..b98aceddbd4 100644
--- a/pkgs/misc/emulators/wine/sources.nix
+++ b/pkgs/applications/emulators/wine/sources.nix
@@ -46,16 +46,22 @@ in rec {
 
   unstable = fetchurl rec {
     # NOTE: Don't forget to change the SHA256 for staging as well.
-    version = "7.1";
+    version = "7.2";
     url = "https://dl.winehq.org/wine/source/7.x/wine-${version}.tar.xz";
-    sha256 = "sha256-ETwTDu0vMlbJMv+7f0gqBTPtOsXGLJeWIqKm33+fY2o=";
-    inherit (stable) gecko32 gecko64 mono patches;
+    sha256 = "sha256-38ZBUjyNvGZBaLYXREFjPZcSdUVr9n3i3KqZyNql7hU=";
+    inherit (stable) gecko32 gecko64 patches;
+
+    mono = fetchurl rec {
+      version = "7.1.1";
+      url = "https://dl.winehq.org/wine/wine-mono/${version}/wine-mono-${version}-x86.msi";
+      sha256 = "sha256-ncjlYDt7xkNU65SuTqD2ghQkdno/9E/w0Z40akkMEeo=";
+    };
   };
 
   staging = fetchFromGitHub rec {
     # https://github.com/wine-staging/wine-staging/releases
     inherit (unstable) version;
-    sha256 = "sha256-exMQG/T6ZJggd6S1yN4wyWuNqr6GjjdG4VutGUcqZhE=";
+    sha256 = "sha256-Ec9rienlsDg+2QkJqPrGorDb5NycG1/iGWhnqLZOrwg=";
     owner = "wine-staging";
     repo = "wine-staging";
     rev = "v${version}";
diff --git a/pkgs/misc/emulators/wine/staging.nix b/pkgs/applications/emulators/wine/staging.nix
index c6bdb401245..c6bdb401245 100644
--- a/pkgs/misc/emulators/wine/staging.nix
+++ b/pkgs/applications/emulators/wine/staging.nix
diff --git a/pkgs/misc/emulators/wine/util.nix b/pkgs/applications/emulators/wine/util.nix
index cd5bd03130b..cd5bd03130b 100644
--- a/pkgs/misc/emulators/wine/util.nix
+++ b/pkgs/applications/emulators/wine/util.nix
diff --git a/pkgs/misc/emulators/wine/vkd3d.nix b/pkgs/applications/emulators/wine/vkd3d.nix
index 303d33df217..ac7c399cd97 100644
--- a/pkgs/misc/emulators/wine/vkd3d.nix
+++ b/pkgs/applications/emulators/wine/vkd3d.nix
@@ -1,6 +1,5 @@
-{ lib, stdenv, fetchurl, vulkan-headers, spirv-headers, vulkan-loader }:
+{ lib, stdenv, fetchurl, moltenvk, vulkan-headers, spirv-headers, vulkan-loader }:
 
-#TODO: MoltenVK
 #TODO: unstable
 
 stdenv.mkDerivation rec {
@@ -12,7 +11,8 @@ stdenv.mkDerivation rec {
     sha256 = "0szr1lw3xbgi9qjm13d1q4gyzzwv8i5wfxiwjg6dmwphrc7h6jxh";
   };
 
-  buildInputs = [ vulkan-headers spirv-headers vulkan-loader ];
+  buildInputs = [ vulkan-headers spirv-headers ]
+    ++ [ (if stdenv.isDarwin then moltenvk else vulkan-loader) ];
 
   enableParallelBuilding = true;
 
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     description = "A 3d library build on top on Vulkan with a similar api to DirectX 12";
     homepage = "https://source.winehq.org/git/vkd3d.git";
     license = licenses.lgpl21;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.marius851000 ];
   };
 }
diff --git a/pkgs/misc/emulators/wine/winetricks.nix b/pkgs/applications/emulators/wine/winetricks.nix
index 61ca6515c44..61ca6515c44 100644
--- a/pkgs/misc/emulators/wine/winetricks.nix
+++ b/pkgs/applications/emulators/wine/winetricks.nix
diff --git a/pkgs/misc/emulators/xcpc/default.nix b/pkgs/applications/emulators/xcpc/default.nix
index 633d44bb5ae..633d44bb5ae 100644
--- a/pkgs/misc/emulators/xcpc/default.nix
+++ b/pkgs/applications/emulators/xcpc/default.nix
diff --git a/pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch b/pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
index 43539ef4ca5..43539ef4ca5 100644
--- a/pkgs/misc/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
+++ b/pkgs/applications/emulators/yabause/0001-Fixes-for-Qt-5.11-upgrade.patch
diff --git a/pkgs/misc/emulators/yabause/default.nix b/pkgs/applications/emulators/yabause/default.nix
index 17b7b563c15..17b7b563c15 100644
--- a/pkgs/misc/emulators/yabause/default.nix
+++ b/pkgs/applications/emulators/yabause/default.nix
diff --git a/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch b/pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch
index bb0491b373f..bb0491b373f 100644
--- a/pkgs/misc/emulators/yabause/linkage-rwx-linux-elf.patch
+++ b/pkgs/applications/emulators/yabause/linkage-rwx-linux-elf.patch
diff --git a/pkgs/misc/emulators/yapesdl/default.nix b/pkgs/applications/emulators/yapesdl/default.nix
index 5f4b7771fb5..5f4b7771fb5 100644
--- a/pkgs/misc/emulators/yapesdl/default.nix
+++ b/pkgs/applications/emulators/yapesdl/default.nix
diff --git a/pkgs/misc/emulators/yuzu/base.nix b/pkgs/applications/emulators/yuzu/base.nix
index 4bee17c6954..aff09134fae 100644
--- a/pkgs/misc/emulators/yuzu/base.nix
+++ b/pkgs/applications/emulators/yuzu/base.nix
@@ -79,7 +79,7 @@ stdenv.mkDerivation rec {
       # Icons
       cc-by-nd-30 cc0
     ];
-    maintainers = with maintainers; [ ivar joshuafern ];
+    maintainers = with maintainers; [ ivar joshuafern sbruder ];
     platforms = platforms.linux;
     broken = stdenv.isAarch64; # Currently aarch64 is not supported.
   };
diff --git a/pkgs/misc/emulators/yuzu/default.nix b/pkgs/applications/emulators/yuzu/default.nix
index 108da20f4a2..9e45ba0cd2c 100644
--- a/pkgs/misc/emulators/yuzu/default.nix
+++ b/pkgs/applications/emulators/yuzu/default.nix
@@ -16,13 +16,13 @@ in {
   };
   early-access = libsForQt5.callPackage ./base.nix rec {
     pname = "yuzu-ea";
-    version = "2156";
+    version = "2432";
     branchName = branch;
     src = fetchFromGitHub {
       owner = "pineappleEA";
       repo = "pineapple-src";
       rev = "EA-${version}";
-      sha256 = "1x8x808x3i8jr9zghx01vakb6q6hkwnarawr9arxvqnd9x79j8ga";
+      sha256 = "0zqab61rphgjzyxk52idhr7dqwwxih0f8b9hig3zvrwkdry9wfh4";
     };
   };
 }.${branch}
diff --git a/pkgs/misc/emulators/zesarux/default.nix b/pkgs/applications/emulators/zesarux/default.nix
index 4df6cfafbc0..4df6cfafbc0 100644
--- a/pkgs/misc/emulators/zesarux/default.nix
+++ b/pkgs/applications/emulators/zesarux/default.nix
diff --git a/pkgs/misc/emulators/zsnes/default.nix b/pkgs/applications/emulators/zsnes/default.nix
index ba2f5d6bdc1..a14109bc857 100644
--- a/pkgs/misc/emulators/zsnes/default.nix
+++ b/pkgs/applications/emulators/zsnes/default.nix
@@ -9,7 +9,7 @@ let
     comment = "A SNES emulator";
     desktopName = "zsnes";
     genericName = "zsnes";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
 in stdenv.mkDerivation {
diff --git a/pkgs/applications/finance/odoo/default.nix b/pkgs/applications/finance/odoo/default.nix
index c2f201774fe..66b1bb0f97f 100644
--- a/pkgs/applications/finance/odoo/default.nix
+++ b/pkgs/applications/finance/odoo/default.nix
@@ -5,16 +5,21 @@
 , python3Packages
 , nodePackages
 , wkhtmltopdf
+, callPackage
 }:
 
 with python3Packages;
 
+let
+  werkzeug = python3Packages.callPackage ../../../development/python-modules/werkzeug/1.nix {};
+in
+
 buildPythonApplication rec {
   pname = "odoo";
 
   major = "15";
   minor = "0";
-  patch = "20211029";
+  patch = "20220126";
 
   version = "${major}.${minor}.${patch}";
 
@@ -22,7 +27,7 @@ buildPythonApplication rec {
   src = fetchurl {
     url = "https://nightly.odoo.com/${major}.${minor}/nightly/src/odoo_${version}.tar.gz";
     name = "${pname}-${version}";
-    sha256 = "sha256-/E+bLBbiz7fRyTwP+0AMpqbuRkOpE4B4P6kREIB4m1Q=";
+    hash = "sha256-mofV0mNCdyzJecp0XegZBR/5NzHjis9kbpsUA/KJbZg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/gis/gmt/dcw.nix b/pkgs/applications/gis/gmt/dcw.nix
index 627ca808895..a31932dd276 100644
--- a/pkgs/applications/gis/gmt/dcw.nix
+++ b/pkgs/applications/gis/gmt/dcw.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "dcw-gmt";
-  version = "2.0.2";
+  version = "2.1.0";
   src = fetchurl {
     url = "ftp://ftp.soest.hawaii.edu/gmt/dcw-gmt-${version}.tar.gz";
-    sha256 = "sha256-KzAPAco1DbF6rdAmCuM7823GthvkFQ5mgpAzzsPWXDw=";
+    sha256 = "sha256-6BBWfNR01a+dhHUZOKy0R6hhI5HtZhkNYNeJl0ofnik=";
   };
 
   installPhase = ''
diff --git a/pkgs/applications/gis/gmt/default.nix b/pkgs/applications/gis/gmt/default.nix
index a894d121bd3..0420619e877 100644
--- a/pkgs/applications/gis/gmt/default.nix
+++ b/pkgs/applications/gis/gmt/default.nix
@@ -9,10 +9,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gmt";
-  version = "6.2.0";
+  version = "6.3.0";
   src = fetchurl {
     url = "https://github.com/GenericMappingTools/gmt/releases/download/${version}/gmt-${version}-src.tar.gz";
-    sha256 = "sha256-q3BikSrurRAhdw+tR1bgqZhg/ejqm0KPsAwi+hWju/w=";
+    sha256 = "sha256-LNBz2LHxG4elmziqeq+OOceUDStVpGoyZ+I4AuyKCNE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/graphics/ImageMagick/7.0.nix b/pkgs/applications/graphics/ImageMagick/7.0.nix
index 0ceeb899f08..7a8cae9bf81 100644
--- a/pkgs/applications/graphics/ImageMagick/7.0.nix
+++ b/pkgs/applications/graphics/ImageMagick/7.0.nix
@@ -1,9 +1,36 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, libtool
-, bzip2, zlib, libX11, libXext, libXt, fontconfig, freetype, ghostscript, libjpeg, djvulibre
-, lcms2, openexr, libjxl, libpng, liblqr1, libraw, librsvg, libtiff, libxml2, openjpeg, libwebp, libheif
-, potrace, ApplicationServices
+{ lib
+, stdenv
+, fetchFromGitHub
+, pkg-config
+, libtool
+, bzip2
+, zlib
+, libX11
+, libXext
+, libXt
+, fontconfig
+, freetype
+, ghostscript
+, libjpeg
+, djvulibre
+, lcms2
+, openexr
+, libjxl
+, libpng
+, liblqr1
+, libraw
+, librsvg
+, libtiff
+, libxml2
+, openjpeg
+, libwebp
+, libheif
+, potrace
+, curl
+, ApplicationServices
 , Foundation
-, testVersion, imagemagick
+, testVersion
+, imagemagick
 }:
 
 let
@@ -11,20 +38,20 @@ let
     if stdenv.hostPlatform.system == "i686-linux" then "i686"
     else if stdenv.hostPlatform.system == "x86_64-linux" || stdenv.hostPlatform.system == "x86_64-darwin" then "x86-64"
     else if stdenv.hostPlatform.system == "armv7l-linux" then "armv7l"
-    else if stdenv.hostPlatform.system == "aarch64-linux"  || stdenv.hostPlatform.system == "aarch64-darwin" then "aarch64"
+    else if stdenv.hostPlatform.system == "aarch64-linux" || stdenv.hostPlatform.system == "aarch64-darwin" then "aarch64"
     else if stdenv.hostPlatform.system == "powerpc64le-linux" then "ppc64le"
     else null;
 in
 
 stdenv.mkDerivation rec {
   pname = "imagemagick";
-  version = "7.1.0-22";
+  version = "7.1.0-26";
 
   src = fetchFromGitHub {
     owner = "ImageMagick";
     repo = "ImageMagick";
     rev = version;
-    sha256 = "sha256-Pd/b3lmFpOis8z+ITFScBUNALIKJY4ZOx2VOBwM0Bh4=";
+    hash = "sha256-q1CL64cfyb5fN9aVYJfls+v0XRFd4jH+B8n+UJqPE1I=";
   };
 
   outputs = [ "out" "dev" "doc" ]; # bin/ isn't really big
@@ -41,18 +68,30 @@ stdenv.mkDerivation rec {
     # let's disable it for now to unbreak the imagemagick build.
     ++ lib.optional (libjxl != null && !stdenv.isAarch64) "--with-jxl"
     ++ lib.optionals (ghostscript != null)
-      [ "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
+      [
+        "--with-gs-font-dir=${ghostscript}/share/ghostscript/fonts"
         "--with-gslib"
       ]
     ++ lib.optionals stdenv.hostPlatform.isMinGW
       [ "--enable-static" "--disable-shared" ] # due to libxml2 being without DLLs ATM
-    ;
+  ;
 
   nativeBuildInputs = [ pkg-config libtool ];
 
   buildInputs =
-    [ zlib fontconfig freetype ghostscript potrace
-      liblqr1 libpng libraw libtiff libxml2 libheif djvulibre
+    [
+      zlib
+      fontconfig
+      freetype
+      ghostscript
+      potrace
+      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.
@@ -66,10 +105,10 @@ stdenv.mkDerivation rec {
     ];
 
   propagatedBuildInputs =
-    [ bzip2 freetype libjpeg lcms2 ]
+    [ bzip2 freetype libjpeg lcms2 curl ]
     ++ lib.optionals (!stdenv.hostPlatform.isMinGW)
       [ libX11 libXext libXt libwebp ]
-    ;
+  ;
 
   postInstall = ''
     (cd "$dev/include" && ln -s ImageMagick* ImageMagick)
diff --git a/pkgs/applications/graphics/antimony/default.nix b/pkgs/applications/graphics/antimony/default.nix
index 8b482626c91..0b70d67b271 100644
--- a/pkgs/applications/graphics/antimony/default.nix
+++ b/pkgs/applications/graphics/antimony/default.nix
@@ -48,13 +48,9 @@ in
         genericName = "CAD Application";
         exec = "antimony %f";
         icon = "antimony";
-        terminal = "false";
-        categories = "Graphics;Science;Engineering";
-        mimeType = "application/x-extension-sb;application/x-antimony;";
-        extraEntries = ''
-          StartupWMClass=antimony
-          Version=1.0
-        '';
+        categories = [ "Graphics" "Science" "Engineering" ];
+        mimeTypes = [ "application/x-extension-sb" "application/x-antimony" ];
+        startupWMClass = "antimony";
       })
     ];
 
diff --git a/pkgs/applications/graphics/avocode/default.nix b/pkgs/applications/graphics/avocode/default.nix
index fede2c9bb51..55080f333c2 100644
--- a/pkgs/applications/graphics/avocode/default.nix
+++ b/pkgs/applications/graphics/avocode/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
     icon = "avocode";
     desktopName = "Avocode";
     genericName = "Design Inspector";
-    categories = "Development;";
+    categories = [ "Development" ];
     comment = "The bridge between designers and developers";
   };
 
diff --git a/pkgs/applications/graphics/azpainter/default.nix b/pkgs/applications/graphics/azpainter/default.nix
index 74dc55fc5e1..0e61da0041b 100644
--- a/pkgs/applications/graphics/azpainter/default.nix
+++ b/pkgs/applications/graphics/azpainter/default.nix
@@ -1,31 +1,40 @@
-{ lib, stdenv, fetchFromGitHub
-, libX11, libXext, libXi
+{ lib, stdenv, fetchFromGitLab
+, desktop-file-utils, shared-mime-info
+, libiconv
+, libX11, libXcursor, libXext, libXi
 , freetype, fontconfig
-, libpng, libjpeg
+, libjpeg, libpng, libtiff, libwebp
 , zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "azpainter";
-  version = "2.1.6";
+  version = "3.0.4";
 
-  src = fetchFromGitHub {
-    owner = "Symbian9";
+  src = fetchFromGitLab {
+    owner = "azelpg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0i5g67s4ysnvbaxmi7dhan0hfcfk8an14xykkafl47pqfx33npva";
+    hash = "sha256-2gTTF1ti9bO24d75mhwyvJISSgMKdmp+oJVmgzEQHdY=";
   };
 
+  nativeBuildInputs = [
+    desktop-file-utils # for update-desktop-database
+    shared-mime-info   # for update-mime-info
+  ];
+
   buildInputs = [
-    libX11 libXext libXi
+    libX11 libXcursor libXext libXi
     freetype fontconfig
-    libpng libjpeg
+    libjpeg libpng libtiff libwebp
     zlib
-  ];
+  ] ++ lib.optionals stdenv.isDarwin [ libiconv ];
+
+  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "Full color painting software for illustration drawing";
-    homepage = "https://osdn.net/projects/azpainter";
+    homepage = "http://azsky2.html.xdomain.jp/soft/azpainter.html";
     license = licenses.gpl3Plus;
     maintainers = with maintainers; [ dtzWill ];
     platforms = with platforms; linux ++ darwin;
diff --git a/pkgs/applications/graphics/darktable/default.nix b/pkgs/applications/graphics/darktable/default.nix
index 7feeb08105d..e950d5e36f5 100644
--- a/pkgs/applications/graphics/darktable/default.nix
+++ b/pkgs/applications/graphics/darktable/default.nix
@@ -56,12 +56,12 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.8.0";
+  version = "3.8.1";
   pname = "darktable";
 
   src = fetchurl {
     url = "https://github.com/darktable-org/darktable/releases/download/release-${version}/darktable-${version}.tar.xz";
-    sha256 = "01gp9dg5wr2rg1k8cqs0l3s7ism8a4q8qypgwccd4jh7ip3wfr9f";
+    sha256 = "1xmyn9haagizh8qqg91bm1lx3dq1v8failxj943mipnvaj80dvl1";
   };
 
   nativeBuildInputs = [ cmake ninja llvm_13 pkg-config intltool perl desktop-file-utils wrapGAppsHook ];
@@ -119,15 +119,6 @@ stdenv.mkDerivation rec {
     "-DUSE_KWALLET=OFF"
   ];
 
-  patches = [
-    (fetchpatch {
-      # This is merged in darktable master and will hopefully be in 3.8.1
-      name = "cmake-fix.patch";
-      url = "https://github.com/darktable-org/darktable/commit/58d247f7ebea76c55fa2525beb9f5ce092c6670d.patch";
-      sha256 = "11fn6d2mwlapbf1zbyv6bhgv29kxcwrs7cnbway0rnl9nj8wimf2";
-    })
-  ];
-
   # darktable changed its rpath handling in commit
   # 83c70b876af6484506901e6b381304ae0d073d3c and as a result the
   # binaries can't find libdarktable.so, so change LD_LIBRARY_PATH in
diff --git a/pkgs/applications/graphics/deskew/default.nix b/pkgs/applications/graphics/deskew/default.nix
index 66309ebf7ac..c19b5de2b69 100644
--- a/pkgs/applications/graphics/deskew/default.nix
+++ b/pkgs/applications/graphics/deskew/default.nix
@@ -3,33 +3,35 @@
 stdenv.mkDerivation rec {
 
   pname = "deskew";
-  version = "1.25";
+  version = "1.30";
 
   src = fetchFromGitHub {
     owner = "galfar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zjjj66qhgqkmfxl3q7p78dv4xl4ci918pgl4d5259pqdj1bfgc8";
+    hash = "sha256-xghVOEMkQ/mXpOzJqMaT3SII7xneMNoFqRlqjtzmDnA=";
   };
 
   nativeBuildInputs = [ fpc ];
   buildInputs = [ libtiff ];
 
   buildPhase = ''
-    rm -r Bin # Remove pre-compiled binary
-    mkdir Bin
-    chmod +x compile.sh
-    ./compile.sh
+    runHook preBuild
+    patchShebangs ./Scripts
+    pushd Scripts && ./compile.sh && popd
+    runHook postBuild
   '';
 
   installPhase = ''
-    install -Dt $out/bin Bin/*
+    runHook preInstall
+    install -Dt $out/bin Bin/deskew
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "A command line tool for deskewing scanned text documents";
-    homepage = "https://bitbucket.org/galfar/app-deskew/overview";
-    license = licenses.mit;
+    homepage = "https://galfar.vevb.net/deskew";
+    license = with licenses; [ mit mpl11 ];
     maintainers = with maintainers; [ryantm];
     platforms = platforms.all;
   };
diff --git a/pkgs/applications/graphics/evilpixie/default.nix b/pkgs/applications/graphics/evilpixie/default.nix
index 2518eb0942a..be8e00b5154 100644
--- a/pkgs/applications/graphics/evilpixie/default.nix
+++ b/pkgs/applications/graphics/evilpixie/default.nix
@@ -16,8 +16,8 @@ let
     exec = "evilpixie %F";
     icon = "evilpixie";
     genericName = "Image Editor";
-    categories = "Graphics;2DGraphics;RasterGraphics;";
-    mimeType = "image/bmp;image/gif;image/jpeg;image/jpg;image/png;image/x-pcx;image/x-targa;image/x-tga;";
+    categories = [ "Graphics" "2DGraphics" "RasterGraphics" ];
+    mimeTypes = [ "image/bmp" "image/gif" "image/jpeg" "image/jpg" "image/png" "image/x-pcx" "image/x-targa" "image/x-tga" ];
   };
 
 in mkDerivation rec {
diff --git a/pkgs/applications/graphics/feh/default.nix b/pkgs/applications/graphics/feh/default.nix
index 899495db931..9c75742d52b 100644
--- a/pkgs/applications/graphics/feh/default.nix
+++ b/pkgs/applications/graphics/feh/default.nix
@@ -3,8 +3,6 @@
 , curl, libexif, jpegexiforient, perl
 , enableAutoreload ? !stdenv.hostPlatform.isDarwin }:
 
-with lib;
-
 stdenv.mkDerivation rec {
   pname = "feh";
   version = "3.8";
@@ -22,22 +20,24 @@ stdenv.mkDerivation rec {
 
   makeFlags = [
     "PREFIX=${placeholder "out"}" "exif=1"
-  ] ++ optional stdenv.isDarwin "verscmp=0"
-    ++ optional enableAutoreload "inotify=1";
+  ] ++ lib.optional stdenv.isDarwin "verscmp=0"
+    ++ lib.optional enableAutoreload "inotify=1";
 
   installTargets = [ "install" ];
   postInstall = ''
-    wrapProgram "$out/bin/feh" --prefix PATH : "${makeBinPath [ libjpeg jpegexiforient ]}" \
+    wrapProgram "$out/bin/feh" --prefix PATH : "${lib.makeBinPath [ libjpeg jpegexiforient ]}" \
                                --add-flags '--theme=feh'
   '';
 
   checkInputs = lib.singleton (perl.withPackages (p: [ p.TestCommand ]));
   doCheck = true;
 
-  meta = {
+  meta = with lib; {
     description = "A light-weight image viewer";
     homepage = "https://feh.finalrewind.org/";
-    license = licenses.mit;
+    # released under a variant of the MIT license
+    # https://spdx.org/licenses/MIT-feh.html
+    license = licenses.mit-feh;
     maintainers = with maintainers; [ viric willibutz globin ma27 ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/graphics/fig2dev/default.nix b/pkgs/applications/graphics/fig2dev/default.nix
index 8fa85803bfd..984d67f6ba7 100644
--- a/pkgs/applications/graphics/fig2dev/default.nix
+++ b/pkgs/applications/graphics/fig2dev/default.nix
@@ -25,6 +25,8 @@ stdenv.mkDerivation rec {
 
   GSEXE="${ghostscript}/bin/gs";
 
+  configureFlags = [ "--enable-transfig" ];
+
   postInstall = ''
     wrapProgram $out/bin/fig2ps2tex \
         --set PATH ${lib.makeBinPath [ coreutils bc gnugrep gawk ]}
@@ -36,7 +38,7 @@ stdenv.mkDerivation rec {
     description = "Tool to convert Xfig files to other formats";
     homepage = "http://mcj.sourceforge.net/";
     license = licenses.xfig;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = with maintainers; [ lesuisse ];
   };
 }
diff --git a/pkgs/applications/graphics/fiji/default.nix b/pkgs/applications/graphics/fiji/default.nix
index 18fdc2c55ac..77ffc4b44c8 100644
--- a/pkgs/applications/graphics/fiji/default.nix
+++ b/pkgs/applications/graphics/fiji/default.nix
@@ -26,20 +26,15 @@ stdenv.mkDerivation rec {
     (makeDesktopItem {
       name = "fiji";
       exec = "fiji %F";
+      tryExec = "fiji";
       icon = "fiji";
-      mimeType = "image/*;";
+      mimeTypes = [ "image/*" ];
       comment = "Scientific Image Analysis";
       desktopName = "Fiji Is Just ImageJ";
       genericName = "Fiji Is Just ImageJ";
-      categories = "Education;Science;ImageProcessing;";
-      terminal = false;
+      categories = [ "Education" "Science" "ImageProcessing" ];
       startupNotify = true;
-      extraEntries = ''
-        Version=1.0
-        TryExec=fiji
-        X-GNOME-FullName=Fiji Is Just ImageJ
-        StartupWMClass=fiji-Main
-      '';
+      startupWMClass = "fiji-Main";
     })
   ];
 
diff --git a/pkgs/applications/graphics/geeqie/default.nix b/pkgs/applications/graphics/geeqie/default.nix
index 4ed4d257ba5..037cf7c8ed6 100644
--- a/pkgs/applications/graphics/geeqie/default.nix
+++ b/pkgs/applications/graphics/geeqie/default.nix
@@ -1,17 +1,18 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, autoconf, automake, gettext, intltool
 , gtk3, lcms2, exiv2, libchamplain, clutter-gtk, ffmpegthumbnailer, fbida
 , wrapGAppsHook, fetchpatch, bash, doxygen
+, nix-update-script
 }:
 
 stdenv.mkDerivation rec {
   pname = "geeqie";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchFromGitHub {
     owner = "BestImageViewer";
     repo = "geeqie";
     rev = "v${version}";
-    sha256 = "sha256-0E1TeAhkiK+hFJ4oMoeZLvfRehTzdGF3AtEVwf/MaF8=";
+    sha256 = "sha256-Abr7trlms6bxOAqE6xNKRv51TBGNilNdBhUZUg7OTKY=";
   };
 
   patches = [
@@ -47,6 +48,12 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "Lightweight GTK based image viewer";
 
diff --git a/pkgs/applications/graphics/graphicsmagick/default.nix b/pkgs/applications/graphics/graphicsmagick/default.nix
index fe387ddc273..f92f3686611 100644
--- a/pkgs/applications/graphics/graphicsmagick/default.nix
+++ b/pkgs/applications/graphics/graphicsmagick/default.nix
@@ -1,6 +1,9 @@
 { lib, stdenv, fetchurl, bzip2, freetype, graphviz, ghostscript
 , libjpeg, libpng, libtiff, libxml2, zlib, libtool, xz, libX11
-, libwebp, quantumdepth ? 8, fixDarwinDylibNames, nukeReferences }:
+, libwebp, quantumdepth ? 8, fixDarwinDylibNames, nukeReferences
+, runCommand
+, graphicsmagick  # for passthru.tests
+}:
 
 stdenv.mkDerivation rec {
   pname = "graphicsmagick";
@@ -33,13 +36,23 @@ stdenv.mkDerivation rec {
   # Remove CFLAGS from the binaries to avoid closure bloat.
   # In the past we have had -dev packages in the closure of the binaries soley due to the string references.
   postConfigure = ''
-    nuke-refs ./magick/magick_config.h
+    nuke-refs -e $out ./magick/magick_config.h
   '';
 
   postInstall = ''
     sed -i 's/-ltiff.*'\'/\'/ $out/bin/*
   '';
 
+  passthru = {
+    tests = {
+      issue-157920 = runCommand "issue-157920-regression-test" {
+        buildInputs = [ graphicsmagick ];
+      } ''
+        gm convert ${graphviz}/share/graphviz/doc/pdf/neatoguide.pdf jpg:$out
+      '';
+    };
+  };
+
   meta = {
     homepage = "http://www.graphicsmagick.org";
     description = "Swiss army knife of image processing";
diff --git a/pkgs/applications/graphics/gscan2pdf/default.nix b/pkgs/applications/graphics/gscan2pdf/default.nix
index e9c624d3c96..9d8ae0c8d35 100644
--- a/pkgs/applications/graphics/gscan2pdf/default.nix
+++ b/pkgs/applications/graphics/gscan2pdf/default.nix
@@ -10,11 +10,11 @@ with lib;
 
 perlPackages.buildPerlPackage rec {
   pname = "gscan2pdf";
-  version = "2.12.4";
+  version = "2.12.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/gscan2pdf/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-UrBt0QkSk7IP4mZYFoxFNJQ1Qmcb53CemvlYfsxjZ/s=";
+    url = "mirror://sourceforge/gscan2pdf/gscan2pdf-${version}.tar.xz";
+    sha256 = "sha256-MFWW9DTJ/svtgN3fbw+zeGpgg3pgIoC9jZ1HkG5p6sc=";
   };
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/applications/graphics/hydrus/default.nix b/pkgs/applications/graphics/hydrus/default.nix
index 6e3908db2c0..12e605f80c4 100644
--- a/pkgs/applications/graphics/hydrus/default.nix
+++ b/pkgs/applications/graphics/hydrus/default.nix
@@ -10,14 +10,14 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "hydrus";
-  version = "472";
+  version = "474";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "hydrusnetwork";
     repo = "hydrus";
     rev = "v${version}";
-    sha256 = "sha256-6BhicOKQez9gk73WHaPeN/FXcUetdklhh8jePSgvN6E=";
+    sha256 = "sha256-NeTHq8zlgBajw/eogwpabqeU0b7cp83Frqy6kisrths=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/graphics/imagej/default.nix b/pkgs/applications/graphics/imagej/default.nix
index 4af139b0844..f21f658ace3 100644
--- a/pkgs/applications/graphics/imagej/default.nix
+++ b/pkgs/applications/graphics/imagej/default.nix
@@ -32,7 +32,7 @@ in stdenv.mkDerivation rec {
       name = "ImageJ";
       desktopName = "ImageJ";
       icon = "imagej";
-      categories = "Science;Utility;Graphics;";
+      categories = [ "Science" "Utility" "Graphics" ];
       exec = "imagej";
     })
   ];
diff --git a/pkgs/applications/graphics/imlibsetroot/default.nix b/pkgs/applications/graphics/imlibsetroot/default.nix
index d3640a656f1..110a7e513e3 100644
--- a/pkgs/applications/graphics/imlibsetroot/default.nix
+++ b/pkgs/applications/graphics/imlibsetroot/default.nix
@@ -9,20 +9,27 @@ stdenv.mkDerivation {
   };
 
   buildInputs = [ libX11 imlib2 libXinerama ];
+
   buildPhase = ''
-    gcc -g imlibsetroot.c -o imlibsetroot             \
-      `imlib2-config --cflags` `imlib2-config --libs` \
-      -I/include/X11/extensions -lXinerama -lX11
+    runHook preBuild
+
+    gcc -g imlibsetroot.c -o imlibsetroot              \
+      -I${imlib2.dev}/include -L${imlib2}/lib -lImlib2 \
+      -I${libX11.dev}/include -lXinerama -lX11
+
+    runHook postBuild
   '';
+
   installPhase = ''
-    mkdir -p $out/bin
-    install -m 755 imlibsetroot $out/bin
+    runHook preInstall
+    install -D -m 0755 imlibsetroot -t $out/bin
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "A Xinerama Aware Background Changer";
     homepage = "http://robotmonkeys.net/2010/03/30/imlibsetroot/";
-    license = licenses.gpl2;
+    license = licenses.mitAdvertising;
     platforms = platforms.linux;
     maintainers = with maintainers; [ dwarfmaster ];
   };
diff --git a/pkgs/applications/graphics/inkscape/default.nix b/pkgs/applications/graphics/inkscape/default.nix
index 271173a8b02..12d6332af5d 100644
--- a/pkgs/applications/graphics/inkscape/default.nix
+++ b/pkgs/applications/graphics/inkscape/default.nix
@@ -5,7 +5,6 @@
 , cairo
 , cmake
 , fetchurl
-, fetchpatch
 , gettext
 , ghostscript
 , glib
@@ -52,11 +51,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "inkscape";
-  version = "1.1.1";
+  version = "1.1.2";
 
   src = fetchurl {
     url = "https://media.inkscape.org/dl/resources/file/${pname}-${version}.tar.xz";
-    sha256 = "sha256-rsoLnTO1sc+pqnBDO97mqMPQIP+vwubwyaYO7Xp5eK8=";
+    sha256 = "sha256-P/5UoG0LJaTNi260JFNu8e0gW+E0Q6Oc1DfIx7ibltE=";
   };
 
   # Inkscape hits the ARGMAX when linking on macOS. It appears to be
@@ -72,37 +71,6 @@ stdenv.mkDerivation rec {
       # e.g., those from the "Effects" menu.
       python3 = "${python3Env}/bin/python";
     })
-
-    # Fix parsing paths by Python extensions.
-    # https://gitlab.com/inkscape/extensions/-/merge_requests/342
-    (fetchpatch {
-      url = "https://gitlab.com/inkscape/extensions/-/commit/a82c382c610d37837c8f3f5b13224bab8fd3667e.patch";
-      sha256 = "YWrgjCnQ9q6BUsxSLQojIXnDzPxM/SgrIfj1gxQ/JKM=";
-      stripLen = 1;
-      extraPrefix = "share/extensions/";
-    })
-
-    # Fix build with Poppler 21.11.0.
-    # https://gitlab.com/inkscape/inkscape/-/merge_requests/3622
-    (fetchpatch {
-      url = "https://gitlab.com/inkscape/inkscape/-/commit/5724c21b9cb7b6176a7b36ca24068b148c817e82.patch";
-      sha256 = "/1p/Vkes1HuZN0v09Ey4kiT+4zrEaoSXyPAmc4O3sDg=";
-    })
-
-    # Remove mandatory break from end of paragraphs, added in Pango 1.49
-    # https://gitlab.com/inkscape/inkscape/-/merge_requests/3630
-    # TODO: Remove in Inkscape 1.1.2
-    (fetchpatch {
-      url = "https://gitlab.com/inkscape/inkscape/-/commit/b3dabef2245d4e4e977ee9d6776be9a134493515.patch";
-      sha256 = "YhqUlRBKL1vJ/iCM/DvdwbmPIsAHQpcgf4TPpjlnBng=";
-    })
-    # Fix build against gcc-12
-    # https://gitlab.com/inkscape/inkscape/-/merge_requests/3683
-    (fetchpatch {
-      name = "gcc-12.patch";
-      url = "https://gitlab.com/inkscape/inkscape/-/commit/3825abc637ac2d3bc6ff997503b0631ac14e16b5.patch";
-      sha256 = "sha256-VzKrWCkcVA1Co/xBTyh28Zhm2zFE/2jfZ3LveK0raO4=";
-    })
   ];
 
   postPatch = ''
diff --git a/pkgs/applications/graphics/ipe/default.nix b/pkgs/applications/graphics/ipe/default.nix
index c454ed0422d..d4d00ad9c6f 100644
--- a/pkgs/applications/graphics/ipe/default.nix
+++ b/pkgs/applications/graphics/ipe/default.nix
@@ -60,12 +60,10 @@ mkDerivation rec {
       comment = "A drawing editor for creating figures in PDF format";
       exec = "ipe";
       icon = "ipe";
-      mimeType = "text/xml;application/pdf";
-      categories = "Graphics;Qt;";
-      extraDesktopEntries = {
-        StartupWMClass = "ipe";
-        StartupNotify = "true";
-      };
+      mimeTypes = [ "text/xml" "application/pdf" ];
+      categories = [ "Graphics" "Qt" ];
+      startupNotify = true;
+      startupWMClass = "ipe";
     })
   ];
 
diff --git a/pkgs/applications/graphics/mandelbulber/default.nix b/pkgs/applications/graphics/mandelbulber/default.nix
index a113136c248..8dc057a17c5 100644
--- a/pkgs/applications/graphics/mandelbulber/default.nix
+++ b/pkgs/applications/graphics/mandelbulber/default.nix
@@ -19,13 +19,13 @@ assert withOpenCL -> ocl-icd != null;
 
 mkDerivation rec {
   pname = "mandelbulber";
-  version = "2.26";
+  version = "2.27";
 
   src = fetchFromGitHub {
     owner = "buddhi1980";
     repo = "mandelbulber2";
     rev = version;
-    sha256 = "sha256-RKpg7LBsrBFOlFozoDcALwGeZ9whPiCpFMZF5ljsp7Q=";
+    sha256 = "sha256-CNIt+DC3ZYyT8EY1t641y7jW7vn7Rr1PLOsy9bjKaDk=";
   };
 
   nativeBuildInputs = [
@@ -57,7 +57,7 @@ mkDerivation rec {
     description = "A 3D fractal rendering engine";
     longDescription = "Mandelbulber creatively generates three-dimensional fractals. Explore trigonometric, hyper-complex, Mandelbox, IFS, and many other 3D fractals.";
     homepage = "https://mandelbulber.com";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ kovirobi ];
   };
diff --git a/pkgs/applications/graphics/meshlab/default.nix b/pkgs/applications/graphics/meshlab/default.nix
index dcdfd364b5a..dccfad94963 100644
--- a/pkgs/applications/graphics/meshlab/default.nix
+++ b/pkgs/applications/graphics/meshlab/default.nix
@@ -22,13 +22,13 @@
 
 mkDerivation rec {
   pname = "meshlab";
-  version = "2021.10";
+  version = "2022.02";
 
   src = fetchFromGitHub {
     owner = "cnr-isti-vclab";
     repo = "meshlab";
     rev = "Meshlab-${version}";
-    sha256 = "14rrd8qrf91k89y6w2mn1r9zcfnwd0mir6g4dlgvr04i77hj4lk4";
+    sha256 = "sha256-MP+jkiV6yS1T1eWClxM56kZWLXwu0g4w/zBHy6CSL6Y=";
     fetchSubmodules = true; # for vcglib
   };
 
diff --git a/pkgs/applications/graphics/nsxiv/default.nix b/pkgs/applications/graphics/nsxiv/default.nix
new file mode 100644
index 00000000000..8c414c37247
--- /dev/null
+++ b/pkgs/applications/graphics/nsxiv/default.nix
@@ -0,0 +1,61 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, giflib
+, imlib2
+, libXft
+, libexif
+, libwebp
+, conf ? null
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nsxiv";
+  version = "28";
+
+  src = fetchFromGitHub {
+    owner = "nsxiv";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-12RmEAzZdeanrRtnan96loXT7qSjIMjcWf296XmNE+A=";
+  };
+
+  buildInputs = [
+    giflib
+    imlib2
+    libXft
+    libexif
+    libwebp
+  ];
+
+  preBuild = lib.optionalString (conf!=null) ''
+    cp ${(builtins.toFile "config.def.h" conf)} config.def.h
+  '';
+
+  makeFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
+
+  meta = with lib; {
+    homepage = "https://nsxiv.github.io/nsxiv/";
+    description = "New Suckless X Image Viewer";
+    longDescription = ''
+      nsxiv is a fork of now unmaintained sxiv with the purpose of being a
+      drop-in replacement of sxiv, maintaining it and adding simple, sensible
+      features, like:
+
+      - Basic image operations, e.g. zooming, panning, rotating
+      - Customizable key and mouse button mappings (in config.h)
+      - Script-ability via key-handler
+      - Thumbnail mode: grid of selectable previews of all images
+      - Ability to cache thumbnails for fast re-loading
+      - Basic support for animated/multi-frame images (GIF/WebP)
+      - Display image information in status bar
+      - Display image name/path in X title
+    '';
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.unix;
+    broken = stdenv.isDarwin;
+  };
+}
diff --git a/pkgs/applications/graphics/openboard/default.nix b/pkgs/applications/graphics/openboard/default.nix
index b30dbab1570..cf16ecc03cb 100644
--- a/pkgs/applications/graphics/openboard/default.nix
+++ b/pkgs/applications/graphics/openboard/default.nix
@@ -79,8 +79,8 @@ in mkDerivation rec {
       icon = "OpenBoard";
       comment = "OpenBoard, an interactive white board application";
       desktopName = "OpenBoard";
-      mimeType = "application/ubz";
-      categories = "Education;";
+      mimeTypes = [ "application/ubz" ];
+      categories = [ "Education" ];
       startupNotify = true;
     })
   ];
diff --git a/pkgs/applications/graphics/openscad/default.nix b/pkgs/applications/graphics/openscad/default.nix
index be079b6bdb2..413e1671821 100644
--- a/pkgs/applications/graphics/openscad/default.nix
+++ b/pkgs/applications/graphics/openscad/default.nix
@@ -57,8 +57,7 @@ mkDerivation rec {
       "SPNAV_LIBPATH=${libspnav}/lib"
     ];
 
-  # src/lexer.l:36:10: fatal error: parser.hxx: No such file or directory
-  enableParallelBuilding = false; # true by default due to qmake
+  enableParallelBuilding = true;
 
   postInstall = lib.optionalString stdenv.isDarwin ''
     mkdir $out/Applications
diff --git a/pkgs/applications/graphics/pinta/default.nix b/pkgs/applications/graphics/pinta/default.nix
index ed2aae72d47..b598c53b894 100644
--- a/pkgs/applications/graphics/pinta/default.nix
+++ b/pkgs/applications/graphics/pinta/default.nix
@@ -63,6 +63,10 @@ buildDotnetModule rec {
     # Rename the binary
     mv "$out/bin/Pinta" "$out/bin/pinta"
 
+    # Copy runtime icons
+    mkdir -p $out/share/icons/hicolor/16x16/
+    cp -r Pinta.Resources/icons/hicolor/16x16/* $out/share/icons/hicolor/16x16/
+
     # Install
     dotnet build installer/linux/install.proj \
       -target:Install \
diff --git a/pkgs/applications/graphics/pixinsight/default.nix b/pkgs/applications/graphics/pixinsight/default.nix
index 7133c914b66..8396ba55638 100644
--- a/pkgs/applications/graphics/pixinsight/default.nix
+++ b/pkgs/applications/graphics/pixinsight/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, requireFile, wrapQtAppsHook, autoPatchelfHook, makeWrapper, unixtools, fakeroot
-, mime-types, libGL, libpulseaudio, alsa-lib, nss, gd, gst_all_1, nspr, expat, fontconfig
+, mailcap, libGL, libpulseaudio, alsa-lib, nss, gd, gst_all_1, nspr, expat, fontconfig
 , dbus, glib, zlib, openssl, libdrm, cups, avahi-compat, xorg, wayland, libudev0-shim
 # Qt 5 subpackages
 , qtbase, qtgamepad, qtserialport, qtserialbus, qtvirtualkeyboard, qtmultimedia, qtwebkit, qt3d, mlt
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     fakeroot
     wrapQtAppsHook
     autoPatchelfHook
-    mime-types
+    mailcap
     libudev0-shim
   ];
 
diff --git a/pkgs/applications/graphics/renderdoc/default.nix b/pkgs/applications/graphics/renderdoc/default.nix
index 30731afebfe..e44c49ac6bb 100644
--- a/pkgs/applications/graphics/renderdoc/default.nix
+++ b/pkgs/applications/graphics/renderdoc/default.nix
@@ -32,13 +32,13 @@ let
 in
 mkDerivation rec {
   pname = "renderdoc";
-  version = "1.17";
+  version = "1.18";
 
   src = fetchFromGitHub {
     owner = "baldurk";
     repo = "renderdoc";
     rev = "v${version}";
-    sha256 = "sha256-Zr7Av49mK48B4N+Ca2vPIgKuVNP4YLVEs4EQepukSs8=";
+    sha256 = "sha256-nwERwdNQYY1Fd7llwZHrJBzWDJNdsySRQ3ZvXZjB7YY=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/graphics/rnote/default.nix b/pkgs/applications/graphics/rnote/default.nix
new file mode 100644
index 00000000000..624959ffa9e
--- /dev/null
+++ b/pkgs/applications/graphics/rnote/default.nix
@@ -0,0 +1,76 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, desktop-file-utils
+, gio-sharp
+, glib
+, gstreamer
+, gtk4
+, libadwaita
+, libxml2
+, meson
+, ninja
+, pkg-config
+, poppler
+, python3
+, rustPlatform
+, shared-mime-info
+, wrapGAppsHook4
+}:
+
+stdenv.mkDerivation rec {
+  pname = "rnote";
+  version = "0.3.5";
+
+  src = fetchFromGitHub {
+    owner = "flxzt";
+    repo = "rnote";
+    rev = "v${version}";
+    sha256 = "5g5SQJc5aopYxtHNP5T85TtcazovrveUCnMhJ90p2t4=";
+  };
+
+  cargoDeps = rustPlatform.fetchCargoTarball {
+    inherit src;
+    name = "${pname}-${version}";
+    hash = "sha256-vnLesWXdqNzlWNQsUVy03kfmcDNazQ1BbizQDoG1kgM=";
+  };
+
+  nativeBuildInputs = [
+    desktop-file-utils # For update-desktop-database
+    meson
+    ninja
+    pkg-config
+    python3 # For the postinstall script
+    rustPlatform.cargoSetupHook
+    rustPlatform.rust.cargo
+    rustPlatform.rust.rustc
+    shared-mime-info # For update-mime-database
+    wrapGAppsHook4
+  ];
+
+  buildInputs = [
+    gio-sharp
+    glib
+    gstreamer
+    gtk4
+    libadwaita
+    libxml2
+    poppler
+  ];
+
+  postPatch = ''
+    pushd build-aux
+    chmod +x meson_post_install.py
+    patchShebangs meson_post_install.py
+    substituteInPlace meson_post_install.py --replace "gtk-update-icon-cache" "gtk4-update-icon-cache"
+    popd
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/flxzt/rnote";
+    description = "Simple drawing application to create handwritten notes";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dotlambda yrd ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/graphics/solvespace/default.nix b/pkgs/applications/graphics/solvespace/default.nix
index 73c5a038aab..68744831538 100644
--- a/pkgs/applications/graphics/solvespace/default.nix
+++ b/pkgs/applications/graphics/solvespace/default.nix
@@ -1,27 +1,77 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, zlib, libpng, cairo, freetype
-, json_c, fontconfig, gtkmm3, pangomm, glew, libGLU, xorg, pcre, wrapGAppsHook
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, wrapGAppsHook
+, at-spi2-core
+, cairo
+, dbus
+, freetype
+, fontconfig
+, glew
+, gtkmm3
+, json_c
+, libdatrie
+, libepoxy
+, libGLU
+, libpng
+, libselinux
+, libsepol
+, libthai
+, libxkbcommon
+, pangomm
+, pcre
+, util-linuxMinimal # provides libmount
+, xorg
+, zlib
 }:
+
 stdenv.mkDerivation rec {
   pname = "solvespace";
-  version = "v3.0";
+  version = "3.0";
+
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = version;
-    sha256 = "04aympdsjp37vp0p13mb8nwkc080hp9cdrjpyy5m1mhwkm8jm9k9";
+    rev = "v${version}";
+    hash = "sha256-aaYqUZ0c1lCL91fmxtKFAAE2uUWrjnDB3WdcqdutXhE=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [
-    pkg-config cmake wrapGAppsHook
+    cmake
+    pkg-config
+    wrapGAppsHook
   ];
+
   buildInputs = [
-    zlib libpng cairo freetype
-    json_c fontconfig gtkmm3 pangomm glew libGLU
-    xorg.libpthreadstubs xorg.libXdmcp pcre
+    at-spi2-core
+    cairo
+    dbus
+    freetype
+    fontconfig
+    glew
+    gtkmm3
+    json_c
+    libdatrie
+    libepoxy
+    libGLU
+    libpng
+    libselinux
+    libsepol
+    libthai
+    libxkbcommon
+    pangomm
+    pcre
+    util-linuxMinimal
+    xorg.libpthreadstubs
+    xorg.libXdmcp
+    xorg.libXtst
+    zlib
   ];
 
-  preConfigure = ''
+  postPatch = ''
     patch CMakeLists.txt <<EOF
     @@ -20,9 +20,9 @@
      # NOTE TO PACKAGERS: The embedded git commit hash is critical for rapid bug triage when the builds
@@ -35,16 +85,14 @@ stdenv.mkDerivation rec {
     EOF
   '';
 
-  postInstall = ''
-    substituteInPlace $out/share/applications/solvespace.desktop \
-      --replace /usr/bin/ $out/bin/
-  '';
+  cmakeFlags = [ "-DENABLE_OPENMP=ON" ];
 
   meta = with lib; {
     description = "A parametric 3d CAD program";
     license = licenses.gpl3Plus;
     maintainers = [ maintainers.edef ];
     platforms = platforms.linux;
-    homepage = "http://solvespace.com";
+    homepage = "https://solvespace.com";
+    changelog = "https://github.com/solvespace/solvespace/raw/v${version}/CHANGELOG.md";
   };
 }
diff --git a/pkgs/applications/graphics/swingsane/default.nix b/pkgs/applications/graphics/swingsane/default.nix
index c9d119a7d60..93a600fff84 100644
--- a/pkgs/applications/graphics/swingsane/default.nix
+++ b/pkgs/applications/graphics/swingsane/default.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
       desktopName = "SwingSane";
       genericName = "Scan from local or remote SANE servers";
       comment = meta.description;
-      categories = "Office;";
+      categories = [ "Office" ];
     };
 
   in ''
diff --git a/pkgs/applications/graphics/vengi-tools/default.nix b/pkgs/applications/graphics/vengi-tools/default.nix
index 70cbabb4e79..eb5033a4a97 100644
--- a/pkgs/applications/graphics/vengi-tools/default.nix
+++ b/pkgs/applications/graphics/vengi-tools/default.nix
@@ -29,33 +29,15 @@
 
 stdenv.mkDerivation rec {
   pname = "vengi-tools";
-  version = "0.0.17";
+  version = "0.0.18";
 
   src = fetchFromGitHub {
     owner = "mgerhardy";
     repo = "vengi";
     rev = "v${version}";
-    sha256 = "sha256-h+R9L0BBD3NSFWUh43g4V2LBcNyqVInBeJiOLY03nRk=";
+    sha256 = "sha256-Ur1X5FhOa87jbjWBXievBfCHW+qP/8bqLiyKAC8+KU4=";
   };
 
-  # Patch from the project's author for fixing an issue with AnimationShaders.h
-  # not being included when turning off some components
-  patches = [(writeText "vengi-tools-fix-build.patch" ''
-    diff --git a/src/modules/voxelworldrender/CMakeLists.txt b/src/modules/voxelworldrender/CMakeLists.txt
-    index aebe5f97b..903e62b37 100644
-    --- a/src/modules/voxelworldrender/CMakeLists.txt
-    +++ b/src/modules/voxelworldrender/CMakeLists.txt
-    @@ -27,7 +27,7 @@ set(FILES
-            voxel/models/plants/3.qb
-            voxel/models/plants/4.qb
-     )
-    -engine_add_module(TARGET ''${LIB} SRCS ''${SRCS} ''${SRCS_SHADERS} FILES ''${FILES} DEPENDENCIES frontend voxelrender)
-    +engine_add_module(TARGET ''${LIB} SRCS ''${SRCS} ''${SRCS_SHADERS} FILES ''${FILES} DEPENDENCIES animation frontend voxelrender)
-     generate_shaders(''${LIB} world water postprocess)
-
-     set(TEST_SRCS
-  '')];
-
   nativeBuildInputs = [
     cmake
     pkg-config
@@ -105,9 +87,7 @@ stdenv.mkDerivation rec {
   '';
 
   passthru.tests = {
-    # There used to be a roundtrip test here, but it started failing on 0.0.17
-    # Relevant upstream ticket:
-    # https://github.com/mgerhardy/vengi/issues/113
+    voxconvert-roundtrip = callPackage ./test-voxconvert-roundtrip.nix {};
     voxconvert-all-formats = callPackage ./test-voxconvert-all-formats.nix {};
     run-voxedit = nixosTests.vengi-tools;
   };
diff --git a/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix b/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix
new file mode 100644
index 00000000000..3d324d2c38d
--- /dev/null
+++ b/pkgs/applications/graphics/vengi-tools/test-voxconvert-roundtrip.nix
@@ -0,0 +1,15 @@
+{ stdenv
+, vengi-tools
+}:
+
+stdenv.mkDerivation {
+  name = "vengi-tools-test-voxconvert-roundtrip";
+  meta.timeout = 10;
+  buildCommand = ''
+    ${vengi-tools}/bin/vengi-voxconvert --input ${vengi-tools}/share/vengi-voxedit/chr_knight.qb --output chr_knight.vox
+    ${vengi-tools}/bin/vengi-voxconvert --input chr_knight.vox --output chr_knight.qb
+    ${vengi-tools}/bin/vengi-voxconvert --input chr_knight.qb --output chr_knight1.vox
+    diff chr_knight.vox chr_knight1.vox
+    touch $out
+  '';
+}
diff --git a/pkgs/applications/graphics/write_stylus/default.nix b/pkgs/applications/graphics/write_stylus/default.nix
index 65f6c46f7da..ca8cebb2ec0 100644
--- a/pkgs/applications/graphics/write_stylus/default.nix
+++ b/pkgs/applications/graphics/write_stylus/default.nix
@@ -7,7 +7,7 @@ let
     icon = "write_stylus";
     desktopName = "Write";
     genericName = "Write";
-    categories = "Office;Graphics";
+    categories = [ "Office" "Graphics" ];
   };
 in
 mkDerivation rec {
diff --git a/pkgs/applications/graphics/xournal/default.nix b/pkgs/applications/graphics/xournal/default.nix
index 7d9ab53bef8..f8312723875 100644
--- a/pkgs/applications/graphics/xournal/default.nix
+++ b/pkgs/applications/graphics/xournal/default.nix
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
     icon = "xournal";
     desktopName = "Xournal";
     comment = meta.description;
-    categories = "Office;Graphics;";
-    mimeType = "application/pdf;application/x-xoj";
+    categories = [ "Office" "Graphics" ];
+    mimeTypes = [ "application/pdf" "application/x-xoj" ];
     genericName = "PDF Editor";
   };
 
diff --git a/pkgs/applications/graphics/xournalpp/default.nix b/pkgs/applications/graphics/xournalpp/default.nix
index 16544c85650..5fd139b8de4 100644
--- a/pkgs/applications/graphics/xournalpp/default.nix
+++ b/pkgs/applications/graphics/xournalpp/default.nix
@@ -23,13 +23,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xournalpp";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "xournalpp";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-FIIpWgWvq1uo/lIQXpOkUTZ6YJPtOtxKF8VjXSgqrlE=";
+    rev = "v${version}";
+    sha256 = "sha256-AzLkXGcTjtfBaPOZ/Tc+TwL63vm08G2tZw3pGzoo7po=";
   };
 
   nativeBuildInputs = [ cmake gettext pkg-config wrapGAppsHook ];
@@ -55,6 +55,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Xournal++ is a handwriting Notetaking software with PDF annotation support";
     homepage    = "https://xournalpp.github.io/";
+    changelog   = "https://github.com/xournalpp/xournalpp/blob/v${version}/CHANGELOG.md";
     license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ andrew-d sikmir ];
     platforms   = platforms.linux;
diff --git a/pkgs/applications/graphics/xrgears/default.nix b/pkgs/applications/graphics/xrgears/default.nix
index 20e01a1701d..ac73412117c 100644
--- a/pkgs/applications/graphics/xrgears/default.nix
+++ b/pkgs/applications/graphics/xrgears/default.nix
@@ -9,18 +9,22 @@
 , vulkan-headers
 , vulkan-loader
 , xxd
+, SDL2
+, makeWrapper
+, libGL
+, glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "xrgears";
-  version = "unstable-2020-04-15";
+  version = "unstable-2021-06-19";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "monado";
     repo = "demos/xrgears";
-    rev = "d0bee35fbf8f181e8313f1ead13d88c4fb85c154";
-    sha256 = "1k0k8dkclyiav99kf0933kyd2ymz3hs1p0ap2wbciq9s62jgz29i";
+    rev = "6331b98e065494995c9cc4b48ccdd9d5ccaef461";
+    sha256 = "sha256-buw2beTPIWScq+3VQjUyF+uOwS6VF+mnAPHZ2eFGZjc=";
   };
 
   nativeBuildInputs = [
@@ -29,6 +33,7 @@ stdenv.mkDerivation rec {
     ninja
     pkg-config
     xxd
+    makeWrapper
   ];
 
   buildInputs = [
@@ -36,8 +41,14 @@ stdenv.mkDerivation rec {
     openxr-loader
     vulkan-headers
     vulkan-loader
+    glib
   ];
 
+  fixupPhase = ''
+    wrapProgram $out/bin/xrgears \
+      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ SDL2 libGL ]}
+  '';
+
   meta = with lib; {
     homepage = "https://gitlab.freedesktop.org/monado/demos/xrgears";
     description = "An OpenXR example using Vulkan for rendering";
diff --git a/pkgs/applications/kde/fetch.sh b/pkgs/applications/kde/fetch.sh
index 3305fd7dd98..72b76131f64 100644
--- a/pkgs/applications/kde/fetch.sh
+++ b/pkgs/applications/kde/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.1/src -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/release-service/21.12.2/src -A '*.tar.xz' )
diff --git a/pkgs/applications/kde/srcs.nix b/pkgs/applications/kde/srcs.nix
index 95896626f25..af8e47dd749 100644
--- a/pkgs/applications/kde/srcs.nix
+++ b/pkgs/applications/kde/srcs.nix
@@ -4,1843 +4,1843 @@
 
 {
   akonadi = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-21.12.1.tar.xz";
-      sha256 = "1ih83d8rs1frzhx1i2fgd5ndq259xqqp8aylirswpal7wpqk6f6l";
-      name = "akonadi-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-21.12.2.tar.xz";
+      sha256 = "1i1q8zda3hl564w02478wyqv35wj8npkqayy7b13shkq9b9j3nj8";
+      name = "akonadi-21.12.2.tar.xz";
     };
   };
   akonadi-calendar = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-calendar-21.12.1.tar.xz";
-      sha256 = "0371mda45nh49l9mmwz64s6qh1yv36khnvll2g2krj8955y7jhz7";
-      name = "akonadi-calendar-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-calendar-21.12.2.tar.xz";
+      sha256 = "001ndvgqn6x70s7gdya1f1vr080mfkypam3k6z0i2ivlpymc3wly";
+      name = "akonadi-calendar-21.12.2.tar.xz";
     };
   };
   akonadi-calendar-tools = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-calendar-tools-21.12.1.tar.xz";
-      sha256 = "1ksagjidqs5ja145wkrn3xq9hk9wc4v7n1747bin0c3ks2s685ri";
-      name = "akonadi-calendar-tools-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-calendar-tools-21.12.2.tar.xz";
+      sha256 = "0f0l6wj3h2afbmvnq60cg0x03a412849dg4l9dwgdn8yxvnxkhw6";
+      name = "akonadi-calendar-tools-21.12.2.tar.xz";
     };
   };
   akonadi-contacts = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-contacts-21.12.1.tar.xz";
-      sha256 = "1yh3b5q7dkgg57048lm1lyy9yxs9fwia7m6d1359fck1flh8lna3";
-      name = "akonadi-contacts-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-contacts-21.12.2.tar.xz";
+      sha256 = "1aq81569kz529n66dl5jjzamy6kxw0xk5bcmjfvb3wpxznhiigqm";
+      name = "akonadi-contacts-21.12.2.tar.xz";
     };
   };
   akonadi-import-wizard = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-import-wizard-21.12.1.tar.xz";
-      sha256 = "09dzs9sk2baa5xgb81qxswvfmm23v3w02w9b9yyxgs38xrwqjf2p";
-      name = "akonadi-import-wizard-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-import-wizard-21.12.2.tar.xz";
+      sha256 = "0b4mphxbqzf3akhafxc4fvil83l3z4qcf8xnblw23ficqqs8s0di";
+      name = "akonadi-import-wizard-21.12.2.tar.xz";
     };
   };
   akonadi-mime = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-mime-21.12.1.tar.xz";
-      sha256 = "1jigq9rdxz5s6sl72ms06y7516hpmsm637zpqdrrg2gsb2f6y0d6";
-      name = "akonadi-mime-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-mime-21.12.2.tar.xz";
+      sha256 = "1nd6bf26lb5wfhzh4kn37iwmb6savcq9wsaph5c7jg6m0bdix1fn";
+      name = "akonadi-mime-21.12.2.tar.xz";
     };
   };
   akonadi-notes = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-notes-21.12.1.tar.xz";
-      sha256 = "1l9cmb7jhqx5r6zyz21dzqfydisjjs23qcb0bp83byb3mqsq8jnv";
-      name = "akonadi-notes-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-notes-21.12.2.tar.xz";
+      sha256 = "1s3bxnqsjnlgsnia0nvqyc3m1ppzanzna9598lgwbmz053rgn7ck";
+      name = "akonadi-notes-21.12.2.tar.xz";
     };
   };
   akonadi-search = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadi-search-21.12.1.tar.xz";
-      sha256 = "0b8lz4l2iq5ihfwyccaxjiw9yykxi0z240lmd9aiq4rv1wxzy22n";
-      name = "akonadi-search-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadi-search-21.12.2.tar.xz";
+      sha256 = "1hp2x8y59azl59znrqhrjn4n1bs2iqnkdsldv1f2k1ima6z5f4qy";
+      name = "akonadi-search-21.12.2.tar.xz";
     };
   };
   akonadiconsole = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akonadiconsole-21.12.1.tar.xz";
-      sha256 = "1d2wclbjpbx0jr2r7nz0m4wxls9763vbpnbbidprwbap5p5njl9z";
-      name = "akonadiconsole-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akonadiconsole-21.12.2.tar.xz";
+      sha256 = "1rqfmhi1mzh6yzjg7jf6adf1xqvpbhcxgld2pp4rd9g5mi9rlxlk";
+      name = "akonadiconsole-21.12.2.tar.xz";
     };
   };
   akregator = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/akregator-21.12.1.tar.xz";
-      sha256 = "1yf7631v1qc2a3j4b8bm0997cpg04vr0cgkdfqd3gazm2b367vf4";
-      name = "akregator-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/akregator-21.12.2.tar.xz";
+      sha256 = "1srsm25qvbww0hl7r878n32b71g0p222zxyys7chzrg8izrh12b8";
+      name = "akregator-21.12.2.tar.xz";
     };
   };
   analitza = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/analitza-21.12.1.tar.xz";
-      sha256 = "0dldw4zg14ih4fj90xbl3x57wzmqjf0wayi78p95lzm323rxkyvm";
-      name = "analitza-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/analitza-21.12.2.tar.xz";
+      sha256 = "1ak2wyfx67cwx85d5053f6flxwas973mhnm25mf4jw0qll72vid4";
+      name = "analitza-21.12.2.tar.xz";
     };
   };
   ark = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ark-21.12.1.tar.xz";
-      sha256 = "1mkqp6pn259aadwcnw7nmsrn4kx957m6axq2hnj18xrxbapm8xm0";
-      name = "ark-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ark-21.12.2.tar.xz";
+      sha256 = "1g05lyv8ll85myw0i62bxr4kmfd3dhldvmbgpgym9r1rgan12q90";
+      name = "ark-21.12.2.tar.xz";
     };
   };
   artikulate = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/artikulate-21.12.1.tar.xz";
-      sha256 = "044xm6aqy7mnnm4hy2cczjrgfkwghsm4pdif66hyk2mlybs78g5x";
-      name = "artikulate-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/artikulate-21.12.2.tar.xz";
+      sha256 = "1g0h0dqqsf3x8q292hfhrizl9dlqzm8gjynzcyrzx0gvbfadj2l1";
+      name = "artikulate-21.12.2.tar.xz";
     };
   };
   audiocd-kio = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/audiocd-kio-21.12.1.tar.xz";
-      sha256 = "0j22dk41mc26g4qwy2f7xq32d17v03nk8f49a9v8afzpka6dmyfv";
-      name = "audiocd-kio-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/audiocd-kio-21.12.2.tar.xz";
+      sha256 = "07nk060vkyn94ihs9v054zhsckfwpn8z911gy3hnyf1wdmnpfh2n";
+      name = "audiocd-kio-21.12.2.tar.xz";
     };
   };
   baloo-widgets = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/baloo-widgets-21.12.1.tar.xz";
-      sha256 = "01kbg9biyrjc9704g6wnvgcq08ry7idsfxh5sv2y4ncsidgb3l4i";
-      name = "baloo-widgets-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/baloo-widgets-21.12.2.tar.xz";
+      sha256 = "1ax7pak9qb60yzdca8frkb8qs4khs6f2wbkwyb48s7zmdxqyw1bj";
+      name = "baloo-widgets-21.12.2.tar.xz";
     };
   };
   blinken = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/blinken-21.12.1.tar.xz";
-      sha256 = "06v2d9l2c4p7n1vmaz86hmdb4lancfm4244sczykygjkcd7qiy6f";
-      name = "blinken-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/blinken-21.12.2.tar.xz";
+      sha256 = "0h0nw79zr891f54y2r3d3n837bzn24pfvkxsab1f0a228kjakw09";
+      name = "blinken-21.12.2.tar.xz";
     };
   };
   bomber = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/bomber-21.12.1.tar.xz";
-      sha256 = "18ymdm1qb0k9vq7r27dlv146xjgp6gxb86nxhpcrgm18xicbidah";
-      name = "bomber-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/bomber-21.12.2.tar.xz";
+      sha256 = "1348mdiykfg1c3gr5fkcf71mxf7lyapwg5ym3jqp9vyc56vhwfjs";
+      name = "bomber-21.12.2.tar.xz";
     };
   };
   bovo = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/bovo-21.12.1.tar.xz";
-      sha256 = "035pyyvdmbagpqnlf7ngvjzssiy0y9f87vj9wdxdnyglcvhycrf4";
-      name = "bovo-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/bovo-21.12.2.tar.xz";
+      sha256 = "0i2i5ici9v402lrh83mhfsrxmqi0fs75rkfvhsbza3wab7b165kc";
+      name = "bovo-21.12.2.tar.xz";
     };
   };
   calendarsupport = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/calendarsupport-21.12.1.tar.xz";
-      sha256 = "0glb8s5byaywvk66428pkq0lq0myhf8dlpg52i9ysq5ph3qjijyh";
-      name = "calendarsupport-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/calendarsupport-21.12.2.tar.xz";
+      sha256 = "021rr06ln7l0v2xjzsij4r71jwpy1w1r761bjad0ywprwkdc93bm";
+      name = "calendarsupport-21.12.2.tar.xz";
     };
   };
   cantor = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/cantor-21.12.1.tar.xz";
-      sha256 = "0l4vlx2w8bv53j1pd0fbwkgzv1p4m24apinxv4z4ia4f93h93vg1";
-      name = "cantor-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/cantor-21.12.2.tar.xz";
+      sha256 = "0vq8yvdglf43y5r2f9bvamm9bp82q92hw9sr8xmgb5hqz5mkap78";
+      name = "cantor-21.12.2.tar.xz";
     };
   };
   cervisia = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/cervisia-21.12.1.tar.xz";
-      sha256 = "1q9pwqz9ps7dq29ywxyzbnbvy6676bd4q52d4jpq3aff4g2l9p98";
-      name = "cervisia-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/cervisia-21.12.2.tar.xz";
+      sha256 = "1vpm3cjknpa4s9mjdfngpvidqihfh5sb427yhnydr1q2dmllr9nn";
+      name = "cervisia-21.12.2.tar.xz";
     };
   };
   dolphin = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/dolphin-21.12.1.tar.xz";
-      sha256 = "0k15mxrxplfghya8mv42w53v06ag9msnrd2yqdxlnmri5db1cjva";
-      name = "dolphin-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/dolphin-21.12.2.tar.xz";
+      sha256 = "0c0gk1djgl1d1qzibw5f1w29cnlxl6kan8pkg0izaqvnbmmx53wn";
+      name = "dolphin-21.12.2.tar.xz";
     };
   };
   dolphin-plugins = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/dolphin-plugins-21.12.1.tar.xz";
-      sha256 = "0y920vvybdsvnrngjsf9ikblmmzmlshrg1zrn44ikyz15b4ar8bw";
-      name = "dolphin-plugins-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/dolphin-plugins-21.12.2.tar.xz";
+      sha256 = "1mrsampq1zq5rri1kx77dz0afz4a6s8pvb1255q0pl7imgxhiaqc";
+      name = "dolphin-plugins-21.12.2.tar.xz";
     };
   };
   dragon = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/dragon-21.12.1.tar.xz";
-      sha256 = "04rz1pm6azrqy4nzs20g8wj4knd4yvd10alcypyxbcb08npwx51z";
-      name = "dragon-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/dragon-21.12.2.tar.xz";
+      sha256 = "07zn4ishffh9g8hvkpfgm7j9cimw3plcabzk9p157nhgxr62z4sb";
+      name = "dragon-21.12.2.tar.xz";
     };
   };
   elisa = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/elisa-21.12.1.tar.xz";
-      sha256 = "1n4hga9g4kqnn016mm4dnq5wslxy9yaxdgazf9n3119i4mi4mjhs";
-      name = "elisa-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/elisa-21.12.2.tar.xz";
+      sha256 = "0zwy0bi4s25y6adgjhrhw992i2c1kjwpgvp9yg902h8zpsdynwh5";
+      name = "elisa-21.12.2.tar.xz";
     };
   };
   eventviews = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/eventviews-21.12.1.tar.xz";
-      sha256 = "1g6bhp869ic12jz3dzjx2hsc435i9zfxbrys34sxsa0448kk3wd3";
-      name = "eventviews-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/eventviews-21.12.2.tar.xz";
+      sha256 = "1v3bpd0b3ph7v0kg8pyp4rr4j8cxy7y4csym5dlqn6l81db7d3gr";
+      name = "eventviews-21.12.2.tar.xz";
     };
   };
   ffmpegthumbs = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ffmpegthumbs-21.12.1.tar.xz";
-      sha256 = "1mg10gxyirjglxd0hcayyddi2z0kbig1k24ms77aqwaiy66z77g3";
-      name = "ffmpegthumbs-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ffmpegthumbs-21.12.2.tar.xz";
+      sha256 = "17cyrimlnf1npffmxinnj3q5ynqg3agx35b55iqnw3xixrz4snzr";
+      name = "ffmpegthumbs-21.12.2.tar.xz";
     };
   };
   filelight = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/filelight-21.12.1.tar.xz";
-      sha256 = "0rky4nmnlqzpf820kx2w3g9qi2x77x1advqzc21la2yc6f27m83z";
-      name = "filelight-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/filelight-21.12.2.tar.xz";
+      sha256 = "0khhwnms2ysy9ijpmmagm68w1zixmxs7svaaldd30xb3w52f78v2";
+      name = "filelight-21.12.2.tar.xz";
     };
   };
   granatier = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/granatier-21.12.1.tar.xz";
-      sha256 = "0dbhf6p0c2yihzkzn5ns4bq2n209c2234i6a9p8rffdd7x5n9pmm";
-      name = "granatier-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/granatier-21.12.2.tar.xz";
+      sha256 = "0j7yizbljqx1a4wd4prmb3463r67f3lk5gv5x8j1yx2zmiaq0qki";
+      name = "granatier-21.12.2.tar.xz";
     };
   };
   grantlee-editor = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/grantlee-editor-21.12.1.tar.xz";
-      sha256 = "1r3qh8z1f2ywm7qgqv9jca4l39p53nsc4i08rvdxhc85j1jj8cwb";
-      name = "grantlee-editor-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/grantlee-editor-21.12.2.tar.xz";
+      sha256 = "0wxkg56s83i61i17cb2y6ziminaq2gammynrwm5jvkpi5vqwvi2s";
+      name = "grantlee-editor-21.12.2.tar.xz";
     };
   };
   grantleetheme = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/grantleetheme-21.12.1.tar.xz";
-      sha256 = "0ij225hva80983b4sbl5apfh5jfq9ppy8db5rfi2514crkmva8p2";
-      name = "grantleetheme-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/grantleetheme-21.12.2.tar.xz";
+      sha256 = "0z1p0s7fakfbscppmrgp1irf3dm2ayadyd3yb5zdsr9xahs0b9md";
+      name = "grantleetheme-21.12.2.tar.xz";
     };
   };
   gwenview = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/gwenview-21.12.1.tar.xz";
-      sha256 = "1gm86h5srjym8ig1vbfyshnrpf7vwb9bvl6hb8nhfqhcmldawlnb";
-      name = "gwenview-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/gwenview-21.12.2.tar.xz";
+      sha256 = "1jkv34llga981dq08npk8alrg9h27prdpffcxkm368i77mvp9hv6";
+      name = "gwenview-21.12.2.tar.xz";
     };
   };
   incidenceeditor = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/incidenceeditor-21.12.1.tar.xz";
-      sha256 = "1iam11jmp6q2k7r558dawcqrq5f9sixixdnvhywxj8fnvkjs005k";
-      name = "incidenceeditor-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/incidenceeditor-21.12.2.tar.xz";
+      sha256 = "151jhn84d5amv3abvp6cd2q10mf4mmv3q5hn0inqrmapy3v6bn8i";
+      name = "incidenceeditor-21.12.2.tar.xz";
     };
   };
   itinerary = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/itinerary-21.12.1.tar.xz";
-      sha256 = "17xy62bcjrbf75hbjj417k7hbs9m1874bwi3h6iii848c3j98ppn";
-      name = "itinerary-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/itinerary-21.12.2.tar.xz";
+      sha256 = "02w6696kdzgz2r9677nr1jyhd9mfhc2zhmasy70nblz0jn22bcq7";
+      name = "itinerary-21.12.2.tar.xz";
     };
   };
   juk = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/juk-21.12.1.tar.xz";
-      sha256 = "00kvx7yj45cm4fzdni6sd1csb09f1xm92hpx3ii1dmdm7cy1rg17";
-      name = "juk-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/juk-21.12.2.tar.xz";
+      sha256 = "1qgxpy1ksrgvdik69vppzdl1crscn69284q4wvwc5qh9v6rhv1xn";
+      name = "juk-21.12.2.tar.xz";
     };
   };
   k3b = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/k3b-21.12.1.tar.xz";
-      sha256 = "03swyl3hxzwa73hsc223a7wcf3hq5p0wws7rjrzbazvy7pcac436";
-      name = "k3b-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/k3b-21.12.2.tar.xz";
+      sha256 = "0rjg3zs85gw62r3z3msp438jnf0ghc6y577br59ig19m10x33rz9";
+      name = "k3b-21.12.2.tar.xz";
     };
   };
   kaccounts-integration = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kaccounts-integration-21.12.1.tar.xz";
-      sha256 = "15j9778r07zvqhv0hkh18h6fqq97is04sii0pxss6w2nqfghxzr8";
-      name = "kaccounts-integration-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kaccounts-integration-21.12.2.tar.xz";
+      sha256 = "0c4yxrhbas0wsmrxr0pwkpgw9gzdvvf5r5nxd15f656bwwhmqlwy";
+      name = "kaccounts-integration-21.12.2.tar.xz";
     };
   };
   kaccounts-providers = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kaccounts-providers-21.12.1.tar.xz";
-      sha256 = "12ll5nilk3adw6ia23n7rcy4wz0sg59is5kkxiarl8mjzd9vw4v4";
-      name = "kaccounts-providers-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kaccounts-providers-21.12.2.tar.xz";
+      sha256 = "1srz43xf6kz7xfz8np94pdnhmvashk7y2f2a275rwpnlrl0yw1yd";
+      name = "kaccounts-providers-21.12.2.tar.xz";
     };
   };
   kaddressbook = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kaddressbook-21.12.1.tar.xz";
-      sha256 = "1nv23wvka273a6d63gz0s0rxsp4ck3nx6fvvgg5ba1wzdcgjfd16";
-      name = "kaddressbook-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kaddressbook-21.12.2.tar.xz";
+      sha256 = "04ac5z9603lxylc6x55chnc0w59mx3z92nyvfnvjvp1ga77si36b";
+      name = "kaddressbook-21.12.2.tar.xz";
     };
   };
   kajongg = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kajongg-21.12.1.tar.xz";
-      sha256 = "0z5npbvl0hn1gld60nfy1n8qk60gfxjh1a74s5y6vc4zvqmscl5q";
-      name = "kajongg-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kajongg-21.12.2.tar.xz";
+      sha256 = "04s3f8nj0rh1zy7sfa5kq0smbfsyylz9w3lxm2z69g7x5sb08k53";
+      name = "kajongg-21.12.2.tar.xz";
     };
   };
   kalarm = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kalarm-21.12.1.tar.xz";
-      sha256 = "167xv38rj8pidbqqbfygkxcsr4wyd6j1437i93fb6v2b87h6ixx1";
-      name = "kalarm-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kalarm-21.12.2.tar.xz";
+      sha256 = "0f3hcsql20lim9nqb0ha5lpsrbh131rwcla9i6aax5sgw4m6nyfh";
+      name = "kalarm-21.12.2.tar.xz";
     };
   };
   kalarmcal = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kalarmcal-21.12.1.tar.xz";
-      sha256 = "1r7pxy4fc5w3j0bwi79370rvmsl919swny48176fg7kwvmjdv3z5";
-      name = "kalarmcal-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kalarmcal-21.12.2.tar.xz";
+      sha256 = "15l893iv4smlppk7k682m9hwrph84p5chx5mgxixjxl28c1blcc8";
+      name = "kalarmcal-21.12.2.tar.xz";
     };
   };
   kalgebra = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kalgebra-21.12.1.tar.xz";
-      sha256 = "1scqqrlznjl8j59fy24wfk84ysk3gvxw87cpl4wa4qhgb0q64m4b";
-      name = "kalgebra-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kalgebra-21.12.2.tar.xz";
+      sha256 = "0w1h3as6dip4hrp2ay61sz9gixf4s887jp42v7zjajwwhjs6xs1m";
+      name = "kalgebra-21.12.2.tar.xz";
     };
   };
   kalzium = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kalzium-21.12.1.tar.xz";
-      sha256 = "0sx10g2qmmvfm1ilmxr2xyf04mhcyr0ysjn6nw5c3rfnv8l42zh0";
-      name = "kalzium-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kalzium-21.12.2.tar.xz";
+      sha256 = "0kvrmvd2vgl6fklxq9sr46p6nnh0fk0l6licj9b5q9rz82xwbr50";
+      name = "kalzium-21.12.2.tar.xz";
     };
   };
   kamera = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kamera-21.12.1.tar.xz";
-      sha256 = "0hzsip822dsddf42x5lk88nlz4kr4khlh240wbvxrxz0hasgjxbc";
-      name = "kamera-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kamera-21.12.2.tar.xz";
+      sha256 = "07n1xlmg7m6p5ca0i4hjjyv564cqrn4p6h5yqx4pw3pcq8nizqfz";
+      name = "kamera-21.12.2.tar.xz";
     };
   };
   kamoso = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kamoso-21.12.1.tar.xz";
-      sha256 = "0a3lvqmm4kjj9v56mvzf2rfdmijahd32n7lc9agjca9hll59y31q";
-      name = "kamoso-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kamoso-21.12.2.tar.xz";
+      sha256 = "09qn1px0mmcjhw9ikaz8xcjbdabh657ij3sa4ps37jbfzyyv45fb";
+      name = "kamoso-21.12.2.tar.xz";
     };
   };
   kanagram = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kanagram-21.12.1.tar.xz";
-      sha256 = "00nyb23fyjxqxqin962j8av88xb2kcnhga9nd3l36i5mndh3axrm";
-      name = "kanagram-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kanagram-21.12.2.tar.xz";
+      sha256 = "1l4j2fy8mwdywp0prswng1f06rpwkfi54dc8z5z02b13p47hz5cy";
+      name = "kanagram-21.12.2.tar.xz";
     };
   };
   kapman = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kapman-21.12.1.tar.xz";
-      sha256 = "064qiza0zjjm9skclfzksnfhmk21d6zn221jbx3zc9s11c0ba81l";
-      name = "kapman-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kapman-21.12.2.tar.xz";
+      sha256 = "0n1iz9jfgzpcpavb4ijfqp3hym7z53wzp5a5hiad8i6nws408grn";
+      name = "kapman-21.12.2.tar.xz";
     };
   };
   kapptemplate = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kapptemplate-21.12.1.tar.xz";
-      sha256 = "16d0iwymxssxhj90dyrxp4yl3w15xzs4hrs9ryxqxf1n733b5zjq";
-      name = "kapptemplate-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kapptemplate-21.12.2.tar.xz";
+      sha256 = "1sjyji533x9ph9l63zf0llsb0m5fzb1lka03h5blm7fdyw570bad";
+      name = "kapptemplate-21.12.2.tar.xz";
     };
   };
   kate = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kate-21.12.1.tar.xz";
-      sha256 = "04d00nihzg05yfp1aahfys5cimhnvdiz5mmmcqjjahcanpywqj3y";
-      name = "kate-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kate-21.12.2.tar.xz";
+      sha256 = "0r59rfyrbs50w9brl4rrq1wdfmrr3sz7plw2pqlc5xpzngrdlhs1";
+      name = "kate-21.12.2.tar.xz";
     };
   };
   katomic = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/katomic-21.12.1.tar.xz";
-      sha256 = "0yblg7j3y67wkzjbsyr4q3h88h9jbv4ndkkwcg45g2f1vvkc9ny1";
-      name = "katomic-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/katomic-21.12.2.tar.xz";
+      sha256 = "123ls2p6az9bpy741xg85azs0p1qbssgcg4fh8cqazkz0kgzr0hf";
+      name = "katomic-21.12.2.tar.xz";
     };
   };
   kbackup = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kbackup-21.12.1.tar.xz";
-      sha256 = "1nxq1l8smrhgvay08xsr68nw2x6fkv2ms5pvqp6wws0zb7gy7df9";
-      name = "kbackup-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kbackup-21.12.2.tar.xz";
+      sha256 = "1yadxlqfz2a4lirxf2xmivggvdpbjiaw5zn7aw72jb3yjs7x6j03";
+      name = "kbackup-21.12.2.tar.xz";
     };
   };
   kblackbox = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kblackbox-21.12.1.tar.xz";
-      sha256 = "159y83ljw5m231n9xnjq41c0q1jk6h27xpb0h9rngdz98rkrh1xi";
-      name = "kblackbox-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kblackbox-21.12.2.tar.xz";
+      sha256 = "1y5l5l5p3s2gf69rih3mjdv42h9ydfk66v10ad5na3b4sqbi2qi7";
+      name = "kblackbox-21.12.2.tar.xz";
     };
   };
   kblocks = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kblocks-21.12.1.tar.xz";
-      sha256 = "0ac9yykql8rhq07has2dz7b93z9vj69qdk42r28nnpc117ncki5d";
-      name = "kblocks-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kblocks-21.12.2.tar.xz";
+      sha256 = "13anvyy3br7ybl74jcrnjmw5qjfyk4z6s7ncziw8l37ggg4k7n91";
+      name = "kblocks-21.12.2.tar.xz";
     };
   };
   kbounce = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kbounce-21.12.1.tar.xz";
-      sha256 = "1x2d8l8gxb2fj6sdwb9whl9360qmn895yzg3bc6q9zjbpn8rwq8m";
-      name = "kbounce-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kbounce-21.12.2.tar.xz";
+      sha256 = "07k5vmfkh9l4b4sb4an5qlnq0b9hmhh6dax0bjgia0ng9vxd011q";
+      name = "kbounce-21.12.2.tar.xz";
     };
   };
   kbreakout = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kbreakout-21.12.1.tar.xz";
-      sha256 = "0kcr39ylq3axzjh9r5zy7dhv0q3a8m7pimg1l5vjlpgffnhhlvk5";
-      name = "kbreakout-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kbreakout-21.12.2.tar.xz";
+      sha256 = "08rykfi82hgzg5l2bhs8nvh8si06nisy60653n6r7m8g327yyn1m";
+      name = "kbreakout-21.12.2.tar.xz";
     };
   };
   kbruch = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kbruch-21.12.1.tar.xz";
-      sha256 = "0b84a4k4ahi3xwc9h3qivbfi2is7vd0ng7rd1nk25135yfqwz5j0";
-      name = "kbruch-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kbruch-21.12.2.tar.xz";
+      sha256 = "0vvl2rk636zpg27hj2jly1awg4z3fm6mk75qrda3hl6gm8rddw1v";
+      name = "kbruch-21.12.2.tar.xz";
     };
   };
   kcachegrind = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kcachegrind-21.12.1.tar.xz";
-      sha256 = "0ix589lsrv71akmnln71brl2878kgiybgsbjgch1kn1k1pz6jmij";
-      name = "kcachegrind-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kcachegrind-21.12.2.tar.xz";
+      sha256 = "1fg7fn8a3bjbjr6bi298gqr4mr838v96bz9773pd7rnhffvvip8z";
+      name = "kcachegrind-21.12.2.tar.xz";
     };
   };
   kcalc = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kcalc-21.12.1.tar.xz";
-      sha256 = "0p7lxja6hhsnjihc94s9j7f210ag7i50gslifjh9cfk2ry1nqpnn";
-      name = "kcalc-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kcalc-21.12.2.tar.xz";
+      sha256 = "037xk57gjfbjpw1q4gm9k1xkc3x5xxjr4d8xmnrnc6ni090648q4";
+      name = "kcalc-21.12.2.tar.xz";
     };
   };
   kcalutils = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kcalutils-21.12.1.tar.xz";
-      sha256 = "1ikwkgr2nki8vxvmv0vggm9x3900piq1wx6zps2zi6wqrs4d1hrm";
-      name = "kcalutils-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kcalutils-21.12.2.tar.xz";
+      sha256 = "0i474by8pyv64b7i807kym2q4wkhnyyn21vn56dbgp1awpi198i8";
+      name = "kcalutils-21.12.2.tar.xz";
     };
   };
   kcharselect = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kcharselect-21.12.1.tar.xz";
-      sha256 = "10vrkaisim24mdqa9vz0i7gkm0qgshjcnbdqkgprnkx5xnsp30dm";
-      name = "kcharselect-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kcharselect-21.12.2.tar.xz";
+      sha256 = "1czkni7wrl2l5v0zpvxfwdaqd5i0x6knzbjhzh8shdg3h19sgqrm";
+      name = "kcharselect-21.12.2.tar.xz";
     };
   };
   kcolorchooser = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kcolorchooser-21.12.1.tar.xz";
-      sha256 = "1cmyr94kxl6kmzx10w6ixi3q3czpc1wsspwsz5j5chwrwqzlrcx3";
-      name = "kcolorchooser-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kcolorchooser-21.12.2.tar.xz";
+      sha256 = "12s2vfa3i7b5dh8c10xbqsy1xi9pq13vdj2xcpm5chkgw22595hv";
+      name = "kcolorchooser-21.12.2.tar.xz";
     };
   };
   kcron = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kcron-21.12.1.tar.xz";
-      sha256 = "095wwvm4b24d7nbx4mqlysiwpdjqs3f3qvv54adaj507z5b3wac7";
-      name = "kcron-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kcron-21.12.2.tar.xz";
+      sha256 = "0ddgl61vw4mj8sa6zg1m4s6qagwygdkvw9pjmfs8fsa1anhlillk";
+      name = "kcron-21.12.2.tar.xz";
     };
   };
   kde-dev-scripts = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kde-dev-scripts-21.12.1.tar.xz";
-      sha256 = "00gsvra8gvfv6mwrvvna9rskh264svclr8h7zjspwvch0qgq0pqa";
-      name = "kde-dev-scripts-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kde-dev-scripts-21.12.2.tar.xz";
+      sha256 = "1vdssqwyi25j3saz5cw8n40y2i6bhq5l0rxbarh8m3iwcvx4ki3c";
+      name = "kde-dev-scripts-21.12.2.tar.xz";
     };
   };
   kde-dev-utils = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kde-dev-utils-21.12.1.tar.xz";
-      sha256 = "1pcxbyaz700jicahccpsy7kjrp30nmjf5cqqk7nyqaf07spbrd9i";
-      name = "kde-dev-utils-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kde-dev-utils-21.12.2.tar.xz";
+      sha256 = "0flzc0kl252imng2mpg9mp71k8jrxc3yy7dzqlfdnpjz36dwpaqf";
+      name = "kde-dev-utils-21.12.2.tar.xz";
     };
   };
   kdebugsettings = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdebugsettings-21.12.1.tar.xz";
-      sha256 = "12axjffxg5ap7yh9s573vyz4q7xi9nr4ggibvk8mxawwczmg9xyj";
-      name = "kdebugsettings-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdebugsettings-21.12.2.tar.xz";
+      sha256 = "0cimipq45c36nwk3alg738jl93zxja3xi77zjqk0k28ffn6qn7c2";
+      name = "kdebugsettings-21.12.2.tar.xz";
     };
   };
   kdeconnect-kde = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdeconnect-kde-21.12.1.tar.xz";
-      sha256 = "1mw1nihy9b47msw23cr1chyrgwcm3cbf5sv90nmd9cc1ypnblw2c";
-      name = "kdeconnect-kde-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdeconnect-kde-21.12.2.tar.xz";
+      sha256 = "0crw0navhdsix0rpsya4vhffj35vlascpcflrs04vyws3v8xr026";
+      name = "kdeconnect-kde-21.12.2.tar.xz";
     };
   };
   kdeedu-data = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdeedu-data-21.12.1.tar.xz";
-      sha256 = "1kbxhrlc64aqr0shik9p22fm6ldvy5jpk50x2nh5zkw4jylc8zh3";
-      name = "kdeedu-data-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdeedu-data-21.12.2.tar.xz";
+      sha256 = "1cpbi5gkbq7xrv276vm0jlcjc5y9x1kw8l8x0z7syy06s4s3pvg9";
+      name = "kdeedu-data-21.12.2.tar.xz";
     };
   };
   kdegraphics-mobipocket = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdegraphics-mobipocket-21.12.1.tar.xz";
-      sha256 = "0m8clh313186nc3pmlii0020gv7612236nwww8sgqc3fsd4va91x";
-      name = "kdegraphics-mobipocket-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdegraphics-mobipocket-21.12.2.tar.xz";
+      sha256 = "0zbiz47mqa176gcina8v03fw2qqrc5v1l8mg2fcpnl5dxc9d56c4";
+      name = "kdegraphics-mobipocket-21.12.2.tar.xz";
     };
   };
   kdegraphics-thumbnailers = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdegraphics-thumbnailers-21.12.1.tar.xz";
-      sha256 = "0y2619lcins553pmvigmgajfkrrvy2kqc2sbvacpl4r74qsdhax6";
-      name = "kdegraphics-thumbnailers-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdegraphics-thumbnailers-21.12.2.tar.xz";
+      sha256 = "09adinkdfbn5hfic92zbdhq9ldxpnbgf9pybsp4ibpw2097l2k5f";
+      name = "kdegraphics-thumbnailers-21.12.2.tar.xz";
     };
   };
   kdenetwork-filesharing = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdenetwork-filesharing-21.12.1.tar.xz";
-      sha256 = "04z720q8nmylrh2rx1q8scaklcf7xaxiqvghkn0pfr0dd3vci3cy";
-      name = "kdenetwork-filesharing-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdenetwork-filesharing-21.12.2.tar.xz";
+      sha256 = "0q7gndwvki3r9vhkxmwr8xzc54cjpk9nzhk2665wsk1msfp3xqw6";
+      name = "kdenetwork-filesharing-21.12.2.tar.xz";
     };
   };
   kdenlive = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdenlive-21.12.1.tar.xz";
-      sha256 = "1r3gxyx45531v79644q17lbl2ribiij4m5v39jfpys6vn8c6gmfw";
-      name = "kdenlive-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdenlive-21.12.2.tar.xz";
+      sha256 = "1h668q91pcq3km7pq75krgq06x8gglmp8al52b0imyc9g9wy28z6";
+      name = "kdenlive-21.12.2.tar.xz";
     };
   };
   kdepim-addons = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdepim-addons-21.12.1.tar.xz";
-      sha256 = "1ksf05wagka9hr6p35j9r6r9hdmfx83mkv1v5blxbk9zq9mx3lhq";
-      name = "kdepim-addons-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdepim-addons-21.12.2.tar.xz";
+      sha256 = "00j67rvkvm1sri6ij5ziqjh340cmpsyfwwmw8hr1dsi3vlva4gk1";
+      name = "kdepim-addons-21.12.2.tar.xz";
     };
   };
   kdepim-runtime = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdepim-runtime-21.12.1.tar.xz";
-      sha256 = "1pv9z0l3aafpcxgs98lc2dr4il8sp9v3p8xpqdi0ags478gi3x1x";
-      name = "kdepim-runtime-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdepim-runtime-21.12.2.tar.xz";
+      sha256 = "0y1hgab16h9ypqh9isabbb4km2907vzdydfkd1m5b63vfbambz0j";
+      name = "kdepim-runtime-21.12.2.tar.xz";
     };
   };
   kdesdk-kioslaves = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdesdk-kioslaves-21.12.1.tar.xz";
-      sha256 = "0xxz9f9m5pxfmxnwqz1ygjz4m7gsrmh6jj54ha0k70jj4r43vq8i";
-      name = "kdesdk-kioslaves-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdesdk-kioslaves-21.12.2.tar.xz";
+      sha256 = "0vz6dk5an0bhnyglyqdgf3lqxdlc61k4vsbh8a4fky1zpvpwya84";
+      name = "kdesdk-kioslaves-21.12.2.tar.xz";
     };
   };
   kdesdk-thumbnailers = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdesdk-thumbnailers-21.12.1.tar.xz";
-      sha256 = "0snncw0fgh5z1y6dkaaj45sf1r404123vxp4p16i06c8imbg50w5";
-      name = "kdesdk-thumbnailers-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdesdk-thumbnailers-21.12.2.tar.xz";
+      sha256 = "1w90zjnwnqh1a47kgmijr8xp6z096f6ij250qfcl3bwvhxqmsrb0";
+      name = "kdesdk-thumbnailers-21.12.2.tar.xz";
     };
   };
   kdev-php = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdev-php-21.12.1.tar.xz";
-      sha256 = "1p1aq10613jifspnzmc92sq7bsyxc3z21dffrmz2a18iqharmgzv";
-      name = "kdev-php-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdev-php-21.12.2.tar.xz";
+      sha256 = "0ghxfllh8pkyrvsaz4iwc9bm98mkq6z3wr558w4wjykgjp69r08j";
+      name = "kdev-php-21.12.2.tar.xz";
     };
   };
   kdev-python = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdev-python-21.12.1.tar.xz";
-      sha256 = "1d97bz06vncs15dclhclwqwc6da63c38qkla2z7yhf0iv3byb8kq";
-      name = "kdev-python-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdev-python-21.12.2.tar.xz";
+      sha256 = "05jj7q7agkgpbrxzwh0n2ipc854cgm8skjyjkqmxp2kdf3fdm8lj";
+      name = "kdev-python-21.12.2.tar.xz";
     };
   };
   kdevelop = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdevelop-21.12.1.tar.xz";
-      sha256 = "1a2j79hw16ia1j6s6gs23d7jzkpx14hjgygsggxnjb0pxamyvxw7";
-      name = "kdevelop-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdevelop-21.12.2.tar.xz";
+      sha256 = "13kgkxvbjcb60ckapqrcr4m0y5kyag948xx6gwrvzhrhn46ynfgz";
+      name = "kdevelop-21.12.2.tar.xz";
     };
   };
   kdf = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdf-21.12.1.tar.xz";
-      sha256 = "191gpfpd4x86vcx8g6yhz90xshfgsiw1374f06fn02mbd6fpswni";
-      name = "kdf-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdf-21.12.2.tar.xz";
+      sha256 = "1fs8bab6q7imfpqqgasvr98k57nm68ignfch2i76rdcywhx3q268";
+      name = "kdf-21.12.2.tar.xz";
     };
   };
   kdialog = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdialog-21.12.1.tar.xz";
-      sha256 = "171aghc4fqkc5ac851wcpb6c49k53n9ba0g0ka6pr3k00jh4vsws";
-      name = "kdialog-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdialog-21.12.2.tar.xz";
+      sha256 = "1k6zlh1gbpj0y40h1i8pan28d8chqjsnhd6pvsvr95b91d0pj2xn";
+      name = "kdialog-21.12.2.tar.xz";
     };
   };
   kdiamond = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kdiamond-21.12.1.tar.xz";
-      sha256 = "1hx9c7a5kqaqpk89dfb2m8bqzvpar1ra7pfavxsqbxqyy9rvhiv1";
-      name = "kdiamond-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kdiamond-21.12.2.tar.xz";
+      sha256 = "08b2a13bmxw3h6rhip619jvzgjrjgpz2v83i2azbqccfynisjnyh";
+      name = "kdiamond-21.12.2.tar.xz";
     };
   };
   keditbookmarks = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/keditbookmarks-21.12.1.tar.xz";
-      sha256 = "1xbl9bp1blvhjhdsdc2w4smxz6pysh09ad9rjprm7mfx9sfwzlm1";
-      name = "keditbookmarks-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/keditbookmarks-21.12.2.tar.xz";
+      sha256 = "1fxm0mm3sqp2frk2fcs2jw86wjxb2j5z9vyb34x7g80k5j17j57m";
+      name = "keditbookmarks-21.12.2.tar.xz";
     };
   };
   kfind = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kfind-21.12.1.tar.xz";
-      sha256 = "1366l63q476ch1f3mvfk20m3j90ili4l3r7dzxmsnivl0im1s1qh";
-      name = "kfind-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kfind-21.12.2.tar.xz";
+      sha256 = "0kx6p4hyyalx5i8g4aq81aj30c9ac0380xvia9130g95pgkzd96c";
+      name = "kfind-21.12.2.tar.xz";
     };
   };
   kfloppy = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kfloppy-21.12.1.tar.xz";
-      sha256 = "0vxzhzk9jmrlxqn6pnnb5mvml6jr9q5dyh5dr8568i1bc08dcfwp";
-      name = "kfloppy-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kfloppy-21.12.2.tar.xz";
+      sha256 = "10245c87379576n11xcjkll3rkvzv815qsavr4alsj1jr8w6zyg8";
+      name = "kfloppy-21.12.2.tar.xz";
     };
   };
   kfourinline = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kfourinline-21.12.1.tar.xz";
-      sha256 = "17lq16z97kzq4fnwarfz5d5m5n1jb2vzn7aizmw3p4ddqmg214sb";
-      name = "kfourinline-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kfourinline-21.12.2.tar.xz";
+      sha256 = "1kz7ff31h8lvz7snqmjs6cma9i3py7dyd91i6ik2pwiar80sin1x";
+      name = "kfourinline-21.12.2.tar.xz";
     };
   };
   kgeography = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kgeography-21.12.1.tar.xz";
-      sha256 = "1frx4d3zga8pk56hpb7r13kd466iy7ihdda4gk98j59n4blvrqmx";
-      name = "kgeography-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kgeography-21.12.2.tar.xz";
+      sha256 = "09h5zp8pxzr47s7j50l6xfssvk9zk56cqgnsjx75yh1n077z1d0j";
+      name = "kgeography-21.12.2.tar.xz";
     };
   };
   kget = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kget-21.12.1.tar.xz";
-      sha256 = "1jbnyx0bnvvgbglwnhv0y3lh12id7d80aixrxp6w13pcm3k21s3v";
-      name = "kget-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kget-21.12.2.tar.xz";
+      sha256 = "0jmy2yxzrgq592dq075k7gp7ynk42i899jsbw0gbn79x69cxlkmv";
+      name = "kget-21.12.2.tar.xz";
     };
   };
   kgoldrunner = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kgoldrunner-21.12.1.tar.xz";
-      sha256 = "01may4xghilyk6vkv8g2n9bfvb2binyfv7qpm0fv0b4aqbv90ql8";
-      name = "kgoldrunner-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kgoldrunner-21.12.2.tar.xz";
+      sha256 = "0by6cq31jsls3qaqn4agrdhvd9jqg84plm6nbgh3rc85pnj5h22p";
+      name = "kgoldrunner-21.12.2.tar.xz";
     };
   };
   kgpg = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kgpg-21.12.1.tar.xz";
-      sha256 = "0qxd1pfm4fx37xc6v06j0k5ykqxs2p2x4r4ip4l95yhvgxixhy0i";
-      name = "kgpg-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kgpg-21.12.2.tar.xz";
+      sha256 = "1f193fyn1azwhm7b8gd5ffyb11acg1269mh1d2ly60ax83qjs48c";
+      name = "kgpg-21.12.2.tar.xz";
     };
   };
   khangman = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/khangman-21.12.1.tar.xz";
-      sha256 = "11acf9i65jqi1cmqbc13wfpdnnwws7srzzdq35np9hpghiw2rj1l";
-      name = "khangman-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/khangman-21.12.2.tar.xz";
+      sha256 = "0xih54w33vigvm3x2xp5lf29k4aga4yil0qv263965nxn9djnlaw";
+      name = "khangman-21.12.2.tar.xz";
     };
   };
   khelpcenter = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/khelpcenter-21.12.1.tar.xz";
-      sha256 = "0nc555ap4nk7xijxz46cx7v0li3g8k5hxymlyqlw7lcapsk7l98l";
-      name = "khelpcenter-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/khelpcenter-21.12.2.tar.xz";
+      sha256 = "09ddkc7kiayx852mpgdmv04l19vrrc0yrf30hnyzkci58kbavvcq";
+      name = "khelpcenter-21.12.2.tar.xz";
     };
   };
   kidentitymanagement = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kidentitymanagement-21.12.1.tar.xz";
-      sha256 = "1r3aac6k1dd85gc1qbzr1k1l7bj9kgmf0mmns2ba1g6zshnicdww";
-      name = "kidentitymanagement-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kidentitymanagement-21.12.2.tar.xz";
+      sha256 = "00fwjax3kfvr8jsy04hp1jyihvskvprbg83z2avhcy6lvr7g25kk";
+      name = "kidentitymanagement-21.12.2.tar.xz";
     };
   };
   kig = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kig-21.12.1.tar.xz";
-      sha256 = "0245xlplgfc0nbxn5ppjg16gbcbdlkzyc600bngwjjhcw0psqqls";
-      name = "kig-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kig-21.12.2.tar.xz";
+      sha256 = "100ds4728lfnb6r6c52rdzk2n4rcpc5jiv35q5qd7d6cszmxvhvx";
+      name = "kig-21.12.2.tar.xz";
     };
   };
   kigo = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kigo-21.12.1.tar.xz";
-      sha256 = "0a9fwbnr1z56lcmv2cgkv1l1spfr5kc4flf9xi1223xjzi31mkmx";
-      name = "kigo-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kigo-21.12.2.tar.xz";
+      sha256 = "0g1sl7bw9aln7fm2786sgh0m44da6vfxc9g0rizw31ff8papnyb8";
+      name = "kigo-21.12.2.tar.xz";
     };
   };
   killbots = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/killbots-21.12.1.tar.xz";
-      sha256 = "0szy101shr2zir1alc21ylv746w2pgczh2cl9hg9g9gg9fkj4f06";
-      name = "killbots-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/killbots-21.12.2.tar.xz";
+      sha256 = "1qryy2g2i6iqc6rsw8jz4c14x67glpm3zvcx2dghyll6q9hns43z";
+      name = "killbots-21.12.2.tar.xz";
     };
   };
   kimagemapeditor = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kimagemapeditor-21.12.1.tar.xz";
-      sha256 = "1rgd3qsfsf1kdlidhp43kvkqjlfnjr7vdzl8wdgsl4z01xb3yy59";
-      name = "kimagemapeditor-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kimagemapeditor-21.12.2.tar.xz";
+      sha256 = "11j55jvfxdpam3gkfv7355av9d6mz8z6djhplhmfd56llkmvw4n2";
+      name = "kimagemapeditor-21.12.2.tar.xz";
     };
   };
   kimap = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kimap-21.12.1.tar.xz";
-      sha256 = "1wkygpxdz6407pdllcdw36p83p6jk0j8jf3jzqak9ksql5qdg04p";
-      name = "kimap-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kimap-21.12.2.tar.xz";
+      sha256 = "0sdas8knk6wa8hhgc3w62famdpq6pcxfhl4vmpw0r3aqskaci4q3";
+      name = "kimap-21.12.2.tar.xz";
     };
   };
   kio-extras = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kio-extras-21.12.1.tar.xz";
-      sha256 = "0pshm9pjssj5drzg2q5351442h9izbmp41d3fxjx431cc1jm8zfc";
-      name = "kio-extras-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kio-extras-21.12.2.tar.xz";
+      sha256 = "0133cww4k2svn7cvw0fbdcwwv0zg09d27gz59gkpfswjmpsxdqj4";
+      name = "kio-extras-21.12.2.tar.xz";
     };
   };
   kio-gdrive = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kio-gdrive-21.12.1.tar.xz";
-      sha256 = "018lr2mp1km5ki650bmmkjm94a6i0h5a898vhwxgl9a7yfpr52j6";
-      name = "kio-gdrive-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kio-gdrive-21.12.2.tar.xz";
+      sha256 = "1n3khrx5fczffwzg4bzxjhzy2kxf72dmb7fqs9hqfn1qkaahfv49";
+      name = "kio-gdrive-21.12.2.tar.xz";
     };
   };
   kipi-plugins = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kipi-plugins-21.12.1.tar.xz";
-      sha256 = "1dadrg8dd1plawsq3h3vn4g7a640qh6pb1wp3l8vcsmiqkabrfkh";
-      name = "kipi-plugins-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kipi-plugins-21.12.2.tar.xz";
+      sha256 = "11f3qmgqxdlzvv2zldjawn7a3kdigj5pb535rc9v9a8fp8mjvk88";
+      name = "kipi-plugins-21.12.2.tar.xz";
     };
   };
   kirigami-gallery = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kirigami-gallery-21.12.1.tar.xz";
-      sha256 = "0s5pj18sc2hm2nggwbqp4x6f56ca1dqx1nbcspwfq287i0csl82k";
-      name = "kirigami-gallery-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kirigami-gallery-21.12.2.tar.xz";
+      sha256 = "0rg9lg4iqxycfbhs62qs4ms4qadz1ii1dcv3ykkgn3w2brx77wad";
+      name = "kirigami-gallery-21.12.2.tar.xz";
     };
   };
   kiriki = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kiriki-21.12.1.tar.xz";
-      sha256 = "09r40sq0sa6w4pwc6fl13dfxlc0nns7j5d4fdnv8i2wiqx6jc1cg";
-      name = "kiriki-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kiriki-21.12.2.tar.xz";
+      sha256 = "1blj3vl87jdrr8qv2cyng20nr4d54gbk7w72z9rl02l62c9gkw5j";
+      name = "kiriki-21.12.2.tar.xz";
     };
   };
   kiten = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kiten-21.12.1.tar.xz";
-      sha256 = "091l4r97ps9xmca499y9c95qihdcf2jcrfgahgzp4mkcps09w5ac";
-      name = "kiten-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kiten-21.12.2.tar.xz";
+      sha256 = "18kxqrhfgch32583ra4422h7csd5ajijf9989bxz9hwi9mn3r2vl";
+      name = "kiten-21.12.2.tar.xz";
     };
   };
   kitinerary = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kitinerary-21.12.1.tar.xz";
-      sha256 = "0dirkp2qd2ihyjj0nwqpakwvh3par0m3z5q2z7qjz1527k0k00ww";
-      name = "kitinerary-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kitinerary-21.12.2.tar.xz";
+      sha256 = "0g7z6408nhrv54h6xxd2rd9wj2hmwzc3lg5risyqbg2zii9j0sp2";
+      name = "kitinerary-21.12.2.tar.xz";
     };
   };
   kjumpingcube = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kjumpingcube-21.12.1.tar.xz";
-      sha256 = "0bnvvhnqcx767j6kmi19mgvab8srrzbw8y6w1qbqj85lq91wq1dr";
-      name = "kjumpingcube-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kjumpingcube-21.12.2.tar.xz";
+      sha256 = "1abv3yi716n88b19rmimhw0vnnwyw28ab6fbcy9g1lgpbi69g5ax";
+      name = "kjumpingcube-21.12.2.tar.xz";
     };
   };
   kldap = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kldap-21.12.1.tar.xz";
-      sha256 = "12hcls5g80s0y0nlnp0jcd7q0bxx9wq39v44x5a011rivkab8qbx";
-      name = "kldap-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kldap-21.12.2.tar.xz";
+      sha256 = "1xda42f1q5ih3hdhmcbdz0fx2nchirlwips3gq0jb6lfzi5dbqpl";
+      name = "kldap-21.12.2.tar.xz";
     };
   };
   kleopatra = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kleopatra-21.12.1.tar.xz";
-      sha256 = "0hk7af4gsy63vjbn16lp7b6qr15cnygxjic6p98bd5zajnx77899";
-      name = "kleopatra-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kleopatra-21.12.2.tar.xz";
+      sha256 = "1b2nq823gq1v20dnh3hm298fva7cmbn9hh0kmbq22kh98kv8chhh";
+      name = "kleopatra-21.12.2.tar.xz";
     };
   };
   klettres = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/klettres-21.12.1.tar.xz";
-      sha256 = "04mwl6n0361vgyb6p9xp5m3223h7f09w6sr90998smws98bmgpd4";
-      name = "klettres-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/klettres-21.12.2.tar.xz";
+      sha256 = "1wi1byr36x7z9scsy1gffna36m8x9vyfcqzndvx6042i2y0smhwz";
+      name = "klettres-21.12.2.tar.xz";
     };
   };
   klickety = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/klickety-21.12.1.tar.xz";
-      sha256 = "1mzvgjdxm2y34w37s548cg7ri2yjqn49rmqyaafw7bnv9qfyky3v";
-      name = "klickety-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/klickety-21.12.2.tar.xz";
+      sha256 = "19rn9p7cbxhn471b65nhwhpnfnhykjwj6n5lrsd431391dyhvshc";
+      name = "klickety-21.12.2.tar.xz";
     };
   };
   klines = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/klines-21.12.1.tar.xz";
-      sha256 = "18lbnfsx05vnmzjw9iqdi5kck9zrkrdknk6bysa5pc16cgmai9z8";
-      name = "klines-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/klines-21.12.2.tar.xz";
+      sha256 = "1r004rsy98lxh5vd3r4bc0l4d7ymija13barg9xglj53xzbyij3k";
+      name = "klines-21.12.2.tar.xz";
     };
   };
   kmag = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmag-21.12.1.tar.xz";
-      sha256 = "1v5zmy3q3ipi9nd8yrrv84x1mk4mpb770r833pwwn6bwdfr8xq8h";
-      name = "kmag-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmag-21.12.2.tar.xz";
+      sha256 = "03kzahsr80wnbx6ky112ka3zm01pnc5h85l28a4186617swx344l";
+      name = "kmag-21.12.2.tar.xz";
     };
   };
   kmahjongg = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmahjongg-21.12.1.tar.xz";
-      sha256 = "02nfgqlhzph1svf54ph3avhx7wvplqgzqhazvrrsz7ikj5qcq9pl";
-      name = "kmahjongg-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmahjongg-21.12.2.tar.xz";
+      sha256 = "1w8v6fchrkvsbyvnx8vvs801cvg52pr78ihvdjv6c0vpd0q7z9rz";
+      name = "kmahjongg-21.12.2.tar.xz";
     };
   };
   kmail = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmail-21.12.1.tar.xz";
-      sha256 = "17wyrdl6lxcds4whh2nlacq0m6mmw13z6a79j8047svmnpz97nrx";
-      name = "kmail-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmail-21.12.2.tar.xz";
+      sha256 = "003bnp00figa09qcp2hl45sivdk3d0j3amxdidyrn47q9vy40554";
+      name = "kmail-21.12.2.tar.xz";
     };
   };
   kmail-account-wizard = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmail-account-wizard-21.12.1.tar.xz";
-      sha256 = "1i2jd50c5scd6vxfxc975lvyqxifmjz4a1cz0hk67smcdh8nbqkn";
-      name = "kmail-account-wizard-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmail-account-wizard-21.12.2.tar.xz";
+      sha256 = "1nmg8qns3iglcc4l4g5nffnji1vgg43a9fa9rz1hacvlkarm98m4";
+      name = "kmail-account-wizard-21.12.2.tar.xz";
     };
   };
   kmailtransport = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmailtransport-21.12.1.tar.xz";
-      sha256 = "0mng5q0xvlbj9cx5myf65i0056s2l5mhsqycp13x6b2kyvna5bd2";
-      name = "kmailtransport-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmailtransport-21.12.2.tar.xz";
+      sha256 = "0rs6qihzy8q2n204zkhakgnjxwqy9pz9i0kv1j3amw2xv3f51rvw";
+      name = "kmailtransport-21.12.2.tar.xz";
     };
   };
   kmbox = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmbox-21.12.1.tar.xz";
-      sha256 = "1d5wwb1m0zic8lhnn6aiyhwihzh527xpjswdriq4ngkil95y994a";
-      name = "kmbox-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmbox-21.12.2.tar.xz";
+      sha256 = "1mfwaw4d480kbb60wb0kvl5z35ly2hn6h73kx9wdb5y7mz05rvn1";
+      name = "kmbox-21.12.2.tar.xz";
     };
   };
   kmime = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmime-21.12.1.tar.xz";
-      sha256 = "0821zvgsfmv5ijjz1ih9irik46j1yaqwzccmfggdvd7nc5nc1x61";
-      name = "kmime-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmime-21.12.2.tar.xz";
+      sha256 = "0qxb0gf4pqfa0540fsbnf24nh9qwiamwl65q7vaanb80b211qp2g";
+      name = "kmime-21.12.2.tar.xz";
     };
   };
   kmines = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmines-21.12.1.tar.xz";
-      sha256 = "1pp1ynj7i4859r4rab5xph4glrlihn9ig465jlqh5jz0cg8w58zc";
-      name = "kmines-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmines-21.12.2.tar.xz";
+      sha256 = "0dsqlqmbaggab38zzjyhnx318sn2mw6y51k52c7blm2l53a8zp3j";
+      name = "kmines-21.12.2.tar.xz";
     };
   };
   kmix = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmix-21.12.1.tar.xz";
-      sha256 = "1c9ing19g27d7qqm5m171lff0a35vcn3yn4spwx1bm7y9md44964";
-      name = "kmix-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmix-21.12.2.tar.xz";
+      sha256 = "0fyjzzv6x9xf0g222jjsvrywnm3blhbzm2zwhxagrfkjvjpb2cvk";
+      name = "kmix-21.12.2.tar.xz";
     };
   };
   kmousetool = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmousetool-21.12.1.tar.xz";
-      sha256 = "0ivk9rdwy7hgi4j4bxm5padlw6w0ldij29yjcpc0501ld9jjkyzx";
-      name = "kmousetool-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmousetool-21.12.2.tar.xz";
+      sha256 = "1hh7sql04hpwvb8hbi7snvh2d6922a2yraah9hd1jiwniv3cv175";
+      name = "kmousetool-21.12.2.tar.xz";
     };
   };
   kmouth = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmouth-21.12.1.tar.xz";
-      sha256 = "1mkdgidyvfci9hilfnilvc3ymzyzknib5bbqf4bn87xjnhkv68sy";
-      name = "kmouth-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmouth-21.12.2.tar.xz";
+      sha256 = "0vxssxchh23bl237qw9pznbrkwyqx1bhbnp2fq9baw1bn88d18i5";
+      name = "kmouth-21.12.2.tar.xz";
     };
   };
   kmplot = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kmplot-21.12.1.tar.xz";
-      sha256 = "1dn3sxqi8k3p28q4076bjsxb0qlmrvw8jk045axi2q7yc1f343r5";
-      name = "kmplot-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kmplot-21.12.2.tar.xz";
+      sha256 = "025n51s7i5nr63knsd78pg48wfs4cldhplr68jmwv2k8pb5w9kxs";
+      name = "kmplot-21.12.2.tar.xz";
     };
   };
   knavalbattle = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/knavalbattle-21.12.1.tar.xz";
-      sha256 = "1a5gpy601842kd9ybwbsxajmj09pmmna6k6wq6crbhzca0i4hgby";
-      name = "knavalbattle-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/knavalbattle-21.12.2.tar.xz";
+      sha256 = "1z1qqr5jjinm49p7rhr0pzf8ir2nvdq157zqxnnr6i11xqk2mnkj";
+      name = "knavalbattle-21.12.2.tar.xz";
     };
   };
   knetwalk = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/knetwalk-21.12.1.tar.xz";
-      sha256 = "1ifgc89sfjd98g34vg2aqwhmpb63w75kh9yi7dkb9vlv8c90v46h";
-      name = "knetwalk-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/knetwalk-21.12.2.tar.xz";
+      sha256 = "1gnir7h1iam51frdajp4h6xw4biz545nljdfcck17jiw6ad9py4j";
+      name = "knetwalk-21.12.2.tar.xz";
     };
   };
   knights = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/knights-21.12.1.tar.xz";
-      sha256 = "1nfb096859r47c1n7bifsc23qfqx7xvl9wdhp8lgyc7hv85mz10j";
-      name = "knights-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/knights-21.12.2.tar.xz";
+      sha256 = "0k9hqgz3zw7vhrgbwnmy0v3j9kflz6wx8wavckg1i2l4qadprc1y";
+      name = "knights-21.12.2.tar.xz";
     };
   };
   knotes = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/knotes-21.12.1.tar.xz";
-      sha256 = "15yvddywsfybdyqhv90hs2c51vn9vcvdp79wfcz197hn98pswidw";
-      name = "knotes-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/knotes-21.12.2.tar.xz";
+      sha256 = "0f8ra6nkgndgkfnw194y5976kkrm7qdj1w7l27znwalzaydnxvjg";
+      name = "knotes-21.12.2.tar.xz";
     };
   };
   kolf = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kolf-21.12.1.tar.xz";
-      sha256 = "073kzsr561fs2kf98chbkhzp84c9fpgr9wja5bq3d9xm937bad69";
-      name = "kolf-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kolf-21.12.2.tar.xz";
+      sha256 = "0as18rc45daak3xsmwn6k789yni46nsdkv83bfmbj3jcjhzv9x5k";
+      name = "kolf-21.12.2.tar.xz";
     };
   };
   kollision = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kollision-21.12.1.tar.xz";
-      sha256 = "11z65wcxqz7mczy4h6yyfafd1d8cl4cvh2hv3i3vwnvks21853cy";
-      name = "kollision-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kollision-21.12.2.tar.xz";
+      sha256 = "1ycim9gjn9p6w6yyzsipqn7zpvi946s287mp4br35zavsf25gzn0";
+      name = "kollision-21.12.2.tar.xz";
     };
   };
   kolourpaint = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kolourpaint-21.12.1.tar.xz";
-      sha256 = "0k3whydhkgwjk3rs9jjcxphdb6p1yc1crjb5sn3izhr2xmnvinsr";
-      name = "kolourpaint-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kolourpaint-21.12.2.tar.xz";
+      sha256 = "0z53hp31sq4ksarvpzqmx9f3gac8ygrcj0ncppgbwwjkq63wr6v1";
+      name = "kolourpaint-21.12.2.tar.xz";
     };
   };
   kompare = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kompare-21.12.1.tar.xz";
-      sha256 = "0zd7hnsvx4mnnva6lvffmlgawnvjqzyz06hy466wlwckn08hrap1";
-      name = "kompare-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kompare-21.12.2.tar.xz";
+      sha256 = "0ps6ng77kzcqf6b2sh8xmqh5d4jwkmj3qnbyxh4v4xxjbwy0mrwm";
+      name = "kompare-21.12.2.tar.xz";
     };
   };
   konqueror = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/konqueror-21.12.1.tar.xz";
-      sha256 = "1v0f1snxc3i7pabn53dyzw7zpc2hjqj64xdqyfz0fy79myfrpx39";
-      name = "konqueror-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/konqueror-21.12.2.tar.xz";
+      sha256 = "0ia8qqas9x261ixa6jzih273ypqhdv5hijk042bcdmqd1z1s4n55";
+      name = "konqueror-21.12.2.tar.xz";
     };
   };
   konquest = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/konquest-21.12.1.tar.xz";
-      sha256 = "0515wkdpw4cxxsddw4a7n5hl7n2qw487qalpzjrsmm5vfn0sjzay";
-      name = "konquest-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/konquest-21.12.2.tar.xz";
+      sha256 = "1arxp4x8pcmv8yqg1xy5b23avh5a7x660vvh6kaviimysad5wmc5";
+      name = "konquest-21.12.2.tar.xz";
     };
   };
   konsole = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/konsole-21.12.1.tar.xz";
-      sha256 = "0pasxvvjhgg2cl3nfsd6wrpd40jw3rjfcgzgzsr5npflkpqnhszl";
-      name = "konsole-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/konsole-21.12.2.tar.xz";
+      sha256 = "00gyzhcacd3467sv5ijihqva7pnvcy1chywfpy8qh2hcdkkvyfxa";
+      name = "konsole-21.12.2.tar.xz";
     };
   };
   kontact = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kontact-21.12.1.tar.xz";
-      sha256 = "0dhnrw87z80xf801mq1cm2slbqrhsfnkd0xfbfaan3vc1h5gsw0x";
-      name = "kontact-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kontact-21.12.2.tar.xz";
+      sha256 = "16ld08sx5lvrm9r0ync7r8bpd540gxsssvhxj5p43chq6b9hr5lm";
+      name = "kontact-21.12.2.tar.xz";
     };
   };
   kontactinterface = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kontactinterface-21.12.1.tar.xz";
-      sha256 = "04zp5kz8l3dbxzdxaw3s11hqn3lg01n6saijp1l2sivkgf80wpna";
-      name = "kontactinterface-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kontactinterface-21.12.2.tar.xz";
+      sha256 = "1qvjm27v797hcdqbr6jwdkwn3vpsy3f1i92slrwks03zj498ydlj";
+      name = "kontactinterface-21.12.2.tar.xz";
     };
   };
   kontrast = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kontrast-21.12.1.tar.xz";
-      sha256 = "16gry5mq7qkwdhwqrhd1hwf6q8v4j76di37kyphxzhsf6csx5zsz";
-      name = "kontrast-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kontrast-21.12.2.tar.xz";
+      sha256 = "0mk2i2x1yz0ykbnqvdbdpi9kplyzjxlwhhsvl4rbq0726g3q6pas";
+      name = "kontrast-21.12.2.tar.xz";
     };
   };
   konversation = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/konversation-21.12.1.tar.xz";
-      sha256 = "0scc7xy4clicd6y037fv5cvifankam415cdbn3z56l10bg4h1f1f";
-      name = "konversation-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/konversation-21.12.2.tar.xz";
+      sha256 = "0lpkah6z12c4f77z6r5z31q5np3xwyb3y6xnsv1iq1rdzj0daxch";
+      name = "konversation-21.12.2.tar.xz";
     };
   };
   kopeninghours = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kopeninghours-21.12.1.tar.xz";
-      sha256 = "1i1s6xafnna87qn9asnkvaqq22b33jwcdh3s8d8ymvzcd9nch9ck";
-      name = "kopeninghours-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kopeninghours-21.12.2.tar.xz";
+      sha256 = "1s4wcnk7p0vjqdhyf8131l3s6bn86gfkwl45zwpi7lpyacwgdf6k";
+      name = "kopeninghours-21.12.2.tar.xz";
     };
   };
   kopete = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kopete-21.12.1.tar.xz";
-      sha256 = "13bc63xaq65bpa3dxjxhg96dvd6kvzj3dis8270saj8cw9kjxhv7";
-      name = "kopete-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kopete-21.12.2.tar.xz";
+      sha256 = "1py45nk6bv5x2hnfzh5srq17lprkqrmpqr2h0fpmkmffx66njz5q";
+      name = "kopete-21.12.2.tar.xz";
     };
   };
   korganizer = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/korganizer-21.12.1.tar.xz";
-      sha256 = "0r61v3vis7accnd6irap9ifcld0cd49qfk5h7ajc7vywq1vwjg6d";
-      name = "korganizer-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/korganizer-21.12.2.tar.xz";
+      sha256 = "1kablp0x65jmdz5n3y19rgplcvvmq8vxz0ljw7lkrwr3pvvhyv3q";
+      name = "korganizer-21.12.2.tar.xz";
     };
   };
   kosmindoormap = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kosmindoormap-21.12.1.tar.xz";
-      sha256 = "0zrj0cigyy4hgq8lz1kbs7xyjz9b63c37h3r4avq0fpvfqgqzx8k";
-      name = "kosmindoormap-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kosmindoormap-21.12.2.tar.xz";
+      sha256 = "0max3mfwd5x8m3kqybnkrb4v93rdk1r007xw31l52j2rq2gh8pj2";
+      name = "kosmindoormap-21.12.2.tar.xz";
     };
   };
   kpat = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kpat-21.12.1.tar.xz";
-      sha256 = "14jx595y3r19g4szks5jkxgl307qicdvwqc594k3xwghn1xcajy2";
-      name = "kpat-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kpat-21.12.2.tar.xz";
+      sha256 = "0vra8n9xsba67as0ybmbjy235v3s7dmrwlf18avnb3ygxy0h8swf";
+      name = "kpat-21.12.2.tar.xz";
     };
   };
   kpimtextedit = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kpimtextedit-21.12.1.tar.xz";
-      sha256 = "1ljs4cs8ld9bv7xkw6jlbrhrl3f908pcj4z8g1i0rd1q9ygcwanr";
-      name = "kpimtextedit-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kpimtextedit-21.12.2.tar.xz";
+      sha256 = "06d42k433dvkfrnzfdx0b1qarrnmhnb4gyq7vgy6251ah8smild8";
+      name = "kpimtextedit-21.12.2.tar.xz";
     };
   };
   kpkpass = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kpkpass-21.12.1.tar.xz";
-      sha256 = "0ah5gc8d9j3x7y7l93ga63yqp9v77xwmnrx9xs45jlq07vzwcnbw";
-      name = "kpkpass-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kpkpass-21.12.2.tar.xz";
+      sha256 = "0p2l1z4blfq1iz3x9cnwwx2p9cs6bb4vw1csj29s09i6237ippzx";
+      name = "kpkpass-21.12.2.tar.xz";
     };
   };
   kpmcore = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kpmcore-21.12.1.tar.xz";
-      sha256 = "16kk135bdlbi897ly5spjmqvkx9ikps002lcij98n89k95c8qzkp";
-      name = "kpmcore-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kpmcore-21.12.2.tar.xz";
+      sha256 = "1iyirvf04br0r8vclcpx0qrlm8wgqm9ww6xds3h9qjyqj1w8ng41";
+      name = "kpmcore-21.12.2.tar.xz";
     };
   };
   kpublictransport = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kpublictransport-21.12.1.tar.xz";
-      sha256 = "1vjgzrli8h5h9kykj2lz4la3k4cm45bvvar3qky8p1x21d4snmzf";
-      name = "kpublictransport-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kpublictransport-21.12.2.tar.xz";
+      sha256 = "02ffpgki4mdyczxa5bqb9wmg2c6anwxnsmlfdn1k47ry7ny2k9sl";
+      name = "kpublictransport-21.12.2.tar.xz";
     };
   };
   kqtquickcharts = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kqtquickcharts-21.12.1.tar.xz";
-      sha256 = "0dh14ajprxxk7w2bi8hiqs5a7mdf6fvhdzipz608ic9bjg845avs";
-      name = "kqtquickcharts-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kqtquickcharts-21.12.2.tar.xz";
+      sha256 = "1sjm1vaksvp73866w09xadd1d0lakh00fwiic498siws4dvhhpif";
+      name = "kqtquickcharts-21.12.2.tar.xz";
     };
   };
   krdc = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/krdc-21.12.1.tar.xz";
-      sha256 = "0azm1jwqlf2dz8kd8zi0iasy84kdy87p6r7896nsxlhqc4igcz2l";
-      name = "krdc-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/krdc-21.12.2.tar.xz";
+      sha256 = "005i3a7l9aq63nxsivj28kzjy2zdl759snwm56cgwq9rgc6sc003";
+      name = "krdc-21.12.2.tar.xz";
     };
   };
   kreversi = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kreversi-21.12.1.tar.xz";
-      sha256 = "1wdzf8zdhxy7azbainvq69wjc847ixd2lmqvnhfdrvgz66flrzsg";
-      name = "kreversi-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kreversi-21.12.2.tar.xz";
+      sha256 = "03b4c28297dzdzplmg818r27r9gpqj48rha9884h22fz9davgmhw";
+      name = "kreversi-21.12.2.tar.xz";
     };
   };
   krfb = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/krfb-21.12.1.tar.xz";
-      sha256 = "0l7g43scycr95b9rfm5rqidqz8f15mhadp1avgr6nr0r86h2pgvy";
-      name = "krfb-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/krfb-21.12.2.tar.xz";
+      sha256 = "1989q0mig516hz0lbq2m8p85x8ikpyrhj36cvq4c32sd2nasxkvc";
+      name = "krfb-21.12.2.tar.xz";
     };
   };
   kross-interpreters = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kross-interpreters-21.12.1.tar.xz";
-      sha256 = "08gdfrf2g9z74zlp3mnqsl0x47a173ibzfxy80kar1hzf0r87gkm";
-      name = "kross-interpreters-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kross-interpreters-21.12.2.tar.xz";
+      sha256 = "14j7z6lwl0j7zdz29c1kjyhw0my6qfgnyxibwn9z87paxl8nv6z0";
+      name = "kross-interpreters-21.12.2.tar.xz";
     };
   };
   kruler = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kruler-21.12.1.tar.xz";
-      sha256 = "09cypq0yrrm5075p1y9js26qcy582w9gx2xzif2sr8fi77fsxfd2";
-      name = "kruler-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kruler-21.12.2.tar.xz";
+      sha256 = "1w5dw3qda69d4ycbiaj18gfn6w28dj2lc37x2d86kx5skv8adxbw";
+      name = "kruler-21.12.2.tar.xz";
     };
   };
   kshisen = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kshisen-21.12.1.tar.xz";
-      sha256 = "0nh25l9prhq1lzh2dafj84pry726441m6iqhbcyswr5g0cbl16qf";
-      name = "kshisen-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kshisen-21.12.2.tar.xz";
+      sha256 = "0wjr9fnkmbylfq13zy3hifr4byj4y46f8cwh0w61ypgc0wjxnhhg";
+      name = "kshisen-21.12.2.tar.xz";
     };
   };
   ksirk = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ksirk-21.12.1.tar.xz";
-      sha256 = "1qx0s2svvb3db9724pvm9cpqby5mqhyfl138q67qr9sr4bg10znm";
-      name = "ksirk-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ksirk-21.12.2.tar.xz";
+      sha256 = "1lif8n8n2pj4vaf7zifqj7mjv5dbhki75wbwjd4q061wpr434vfj";
+      name = "ksirk-21.12.2.tar.xz";
     };
   };
   ksmtp = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ksmtp-21.12.1.tar.xz";
-      sha256 = "128c6bfqpmaqaz95vlrhszavyp0dyk0bvakj2v5aliwgzzpp64lq";
-      name = "ksmtp-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ksmtp-21.12.2.tar.xz";
+      sha256 = "0hg5g401map67kjcgrd1a07iwyss5jnryhpsajffwz19sra855jp";
+      name = "ksmtp-21.12.2.tar.xz";
     };
   };
   ksnakeduel = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ksnakeduel-21.12.1.tar.xz";
-      sha256 = "08wb50ryrygggc0hhk8nsb8bqh8i4r0p90g8mq4698pnjzkwxmdl";
-      name = "ksnakeduel-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ksnakeduel-21.12.2.tar.xz";
+      sha256 = "0rdbsyfd3bink5cb0k5l713jw4syhz82kchn95cbg5zgc2iclfw4";
+      name = "ksnakeduel-21.12.2.tar.xz";
     };
   };
   kspaceduel = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kspaceduel-21.12.1.tar.xz";
-      sha256 = "1qnqs0vn469syhxjw811s1r9nk803ilprfmhz64d9hzr2vjj75jc";
-      name = "kspaceduel-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kspaceduel-21.12.2.tar.xz";
+      sha256 = "1kmwn55a4555g5m21jcr88k3f9aj87yifgrab6sx6gcw5q51d7vz";
+      name = "kspaceduel-21.12.2.tar.xz";
     };
   };
   ksquares = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ksquares-21.12.1.tar.xz";
-      sha256 = "011xgs4fjf05sa268jx1026xxfkhn5gv3nzzcdp5b7gjz3ml8imv";
-      name = "ksquares-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ksquares-21.12.2.tar.xz";
+      sha256 = "12k09lasxyaxq4bp4fhczj8bpi8l6h1gn4nj6ka3zbc4mxxz34yc";
+      name = "ksquares-21.12.2.tar.xz";
     };
   };
   ksudoku = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ksudoku-21.12.1.tar.xz";
-      sha256 = "05annym6898p2db209zdvs8y1an5mdj4750166wbki2kwblbmy2s";
-      name = "ksudoku-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ksudoku-21.12.2.tar.xz";
+      sha256 = "1din2i3d9lhca5kw06ivixgk2prh1kfy8ikm0byl8qaqj4v89lji";
+      name = "ksudoku-21.12.2.tar.xz";
     };
   };
   ksystemlog = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ksystemlog-21.12.1.tar.xz";
-      sha256 = "1rq99fy5c3asvrldwvbg2qblicij3jswbj3vddbqs1zfdcxfy55l";
-      name = "ksystemlog-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ksystemlog-21.12.2.tar.xz";
+      sha256 = "0cvx13859bm4kfz75iia3chzi5pbbv70lkmspvjpa6cpsn05zy53";
+      name = "ksystemlog-21.12.2.tar.xz";
     };
   };
   kteatime = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kteatime-21.12.1.tar.xz";
-      sha256 = "13apl34vz40gh8h3p7l8a3hmlc19gil5kkfayg5lnzbikmzvc82y";
-      name = "kteatime-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kteatime-21.12.2.tar.xz";
+      sha256 = "1m7ni3w82lqykgs5qfi0a43p9973244k8lr6rk30x7w551rc7yyw";
+      name = "kteatime-21.12.2.tar.xz";
     };
   };
   ktimer = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktimer-21.12.1.tar.xz";
-      sha256 = "0rmji8z5skj73rnibicy4awa12iylhy1j63c9rf31l3sqvc6dbdm";
-      name = "ktimer-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktimer-21.12.2.tar.xz";
+      sha256 = "0jprayxn54pw7brrcb1b70y5sal9j6pfpwrphd2nyw5rkb2a484l";
+      name = "ktimer-21.12.2.tar.xz";
     };
   };
   ktnef = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktnef-21.12.1.tar.xz";
-      sha256 = "0iql7nxh1hlpv8f5qa0w566jibvbfhzmc7qzcady06i6wzvbvivs";
-      name = "ktnef-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktnef-21.12.2.tar.xz";
+      sha256 = "0cl589z0v6h1z3aszk4160y99gpihpk203rn73dmb7c6qsk11cbl";
+      name = "ktnef-21.12.2.tar.xz";
     };
   };
   ktorrent = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktorrent-21.12.1.tar.xz";
-      sha256 = "0bldsl3ikdypis2vjzzk137spy9hsqj74vkq376klzyn3pjnnxj7";
-      name = "ktorrent-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktorrent-21.12.2.tar.xz";
+      sha256 = "1zwakqp5j2795j4pln4sq595bc2zlw8cy8qdzwj365clfbpcbyc3";
+      name = "ktorrent-21.12.2.tar.xz";
     };
   };
   ktouch = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktouch-21.12.1.tar.xz";
-      sha256 = "0875iiaa7c3ij1cgdd5lyj69rzpgwhvwm19iycjbq7pn4254qz3l";
-      name = "ktouch-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktouch-21.12.2.tar.xz";
+      sha256 = "1rq2n8395sb17rqd295axv2pbwzhqs8ikjqx5ryn4lv1713alabl";
+      name = "ktouch-21.12.2.tar.xz";
     };
   };
   ktp-accounts-kcm = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-accounts-kcm-21.12.1.tar.xz";
-      sha256 = "06zakwv6vxs5my79n4gxq0m2ha5358kpp8s57zyh59cfsz42gi0b";
-      name = "ktp-accounts-kcm-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-accounts-kcm-21.12.2.tar.xz";
+      sha256 = "14niidb9kza6sms9rhhnvrba6rdwhc890b5inmlhdllnqbdrrcbl";
+      name = "ktp-accounts-kcm-21.12.2.tar.xz";
     };
   };
   ktp-approver = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-approver-21.12.1.tar.xz";
-      sha256 = "0dkqd3apzmip5kilws9zx922skz31g1rz158ayxnf64mw1wqbb9g";
-      name = "ktp-approver-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-approver-21.12.2.tar.xz";
+      sha256 = "11scv978silxrprkyd66b4xkdww05xpgk8kvrknlwp33rmhm05sn";
+      name = "ktp-approver-21.12.2.tar.xz";
     };
   };
   ktp-auth-handler = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-auth-handler-21.12.1.tar.xz";
-      sha256 = "1i83rzv7f581ly4baqqfgn6hnvyq7a8pp5wpwz6fqk8nhqsk1fi0";
-      name = "ktp-auth-handler-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-auth-handler-21.12.2.tar.xz";
+      sha256 = "006an8bva8zawnirv3ai3kjb59ffgany124ip546r5wg06zkk069";
+      name = "ktp-auth-handler-21.12.2.tar.xz";
     };
   };
   ktp-call-ui = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-call-ui-21.12.1.tar.xz";
-      sha256 = "0wlyrdn55zwpfxm9mdf8w01z2v2j35va9k35bg8ih4rq4dq4dgrz";
-      name = "ktp-call-ui-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-call-ui-21.12.2.tar.xz";
+      sha256 = "0n8yirlsig37839rl73azg8vf8ppdxlf1dqgkf5bz8g3jcs92gcm";
+      name = "ktp-call-ui-21.12.2.tar.xz";
     };
   };
   ktp-common-internals = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-common-internals-21.12.1.tar.xz";
-      sha256 = "0lsa2fsd84pq14xlij5951j9szwq7afffx2zkmx4ssfaiqhm048b";
-      name = "ktp-common-internals-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-common-internals-21.12.2.tar.xz";
+      sha256 = "0c7kfrgf8bqm7q9hp9fd8q49vakiihzl0dgdklpvgly48zfa2yan";
+      name = "ktp-common-internals-21.12.2.tar.xz";
     };
   };
   ktp-contact-list = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-contact-list-21.12.1.tar.xz";
-      sha256 = "1w42pm6k5sil1ylmzsl615q7kkw7kjl3bjj5xcz8ysf2m9w6c3xc";
-      name = "ktp-contact-list-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-contact-list-21.12.2.tar.xz";
+      sha256 = "0pw5kl0lh0ph3y9hyws7h7phh475lw07gydxxjsfxsd4nb70hkz8";
+      name = "ktp-contact-list-21.12.2.tar.xz";
     };
   };
   ktp-contact-runner = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-contact-runner-21.12.1.tar.xz";
-      sha256 = "0rlvavvdpa8bqv494b7dsrdib1f2xvic4l67v4z07bj9c53dj4x2";
-      name = "ktp-contact-runner-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-contact-runner-21.12.2.tar.xz";
+      sha256 = "0as41gba7ra65i6ml8j8fqh70x165cnmp9ry13ijrdf9vx21a45k";
+      name = "ktp-contact-runner-21.12.2.tar.xz";
     };
   };
   ktp-desktop-applets = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-desktop-applets-21.12.1.tar.xz";
-      sha256 = "1aig58wv6lrz9x2rmjd2qk9hff91bkjqw6ixn9f12yh7vgckp1ba";
-      name = "ktp-desktop-applets-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-desktop-applets-21.12.2.tar.xz";
+      sha256 = "0675hlcjq6xyzl1sz3a45inc3g69z5ilxyhhicxns8by3ydmb82x";
+      name = "ktp-desktop-applets-21.12.2.tar.xz";
     };
   };
   ktp-filetransfer-handler = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-filetransfer-handler-21.12.1.tar.xz";
-      sha256 = "16h0ysg7y71sxdg0n535dhh9gsb32bbgjdizmpqn3cwcr75z9h9c";
-      name = "ktp-filetransfer-handler-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-filetransfer-handler-21.12.2.tar.xz";
+      sha256 = "1cw2y06zcdfm9vixw99gbipgkl63vpkf73giq5ibal2g2yq9c2r5";
+      name = "ktp-filetransfer-handler-21.12.2.tar.xz";
     };
   };
   ktp-kded-module = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-kded-module-21.12.1.tar.xz";
-      sha256 = "0a0khk48whf2cmxsjfc5lajnbrz3m9gpcvdgqlyyi21v2z4rshj5";
-      name = "ktp-kded-module-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-kded-module-21.12.2.tar.xz";
+      sha256 = "1mwmdnr2c6ilhhjlq8bwd7gwvjmiq1k3lph5vlb5hy8nrp9x2p1r";
+      name = "ktp-kded-module-21.12.2.tar.xz";
     };
   };
   ktp-send-file = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-send-file-21.12.1.tar.xz";
-      sha256 = "03k9mylyhanxbkzzcsv8z2mjx98qzghvbcwy8193259xrxshmlix";
-      name = "ktp-send-file-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-send-file-21.12.2.tar.xz";
+      sha256 = "0083z5al3jgl1szmzddzkjln9ci37906mmnrcy9f0yxfq5v2gr44";
+      name = "ktp-send-file-21.12.2.tar.xz";
     };
   };
   ktp-text-ui = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktp-text-ui-21.12.1.tar.xz";
-      sha256 = "1n075fhqwk2522a7xc8z30j12d2sqkyybflidbs4kmbr915xh1zi";
-      name = "ktp-text-ui-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktp-text-ui-21.12.2.tar.xz";
+      sha256 = "0lhbsmhp23sil3rckk51156qhz15hjyp943mgh4s3w49lwxgjpc8";
+      name = "ktp-text-ui-21.12.2.tar.xz";
     };
   };
   ktuberling = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/ktuberling-21.12.1.tar.xz";
-      sha256 = "0q6jm8m97zfj10q90s44a19x1aijbnysmnm0am26hzh84r3d1mq6";
-      name = "ktuberling-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/ktuberling-21.12.2.tar.xz";
+      sha256 = "0w9gx0i895vd0gi8wgd6hqikqjz5ir4li14i15k4akc7i7niy46r";
+      name = "ktuberling-21.12.2.tar.xz";
     };
   };
   kturtle = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kturtle-21.12.1.tar.xz";
-      sha256 = "053bf9w5isqmi95spyy1a88iaw2f3zfr6xh5axwdycni4fnax9hx";
-      name = "kturtle-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kturtle-21.12.2.tar.xz";
+      sha256 = "0xkl12albs66vnsbilkwpnw5qaqx2ss8wldsnigmf0x5d5hd554k";
+      name = "kturtle-21.12.2.tar.xz";
     };
   };
   kubrick = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kubrick-21.12.1.tar.xz";
-      sha256 = "1gwa8r7jy132zxzdr24shkpq7c7rawirrs7np7khhavm0g0nmk21";
-      name = "kubrick-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kubrick-21.12.2.tar.xz";
+      sha256 = "1sd8biyndnc7y4d3zsy4bmi409js9viyd4q5ql6fd2wcz656y1im";
+      name = "kubrick-21.12.2.tar.xz";
     };
   };
   kwalletmanager = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kwalletmanager-21.12.1.tar.xz";
-      sha256 = "1qf8sizzdszvfskg8i0qmzb81292qm5jpcryl43b1bzh3yc6wx8c";
-      name = "kwalletmanager-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kwalletmanager-21.12.2.tar.xz";
+      sha256 = "0d2ma7dzn0nc25fj7lwaysfjfgqfl5nsisc01lp42n9k1bg0s0i5";
+      name = "kwalletmanager-21.12.2.tar.xz";
     };
   };
   kwave = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kwave-21.12.1.tar.xz";
-      sha256 = "0qc8l72nly01pyn7sk3c3hm1a1iia733gam4jzf04dcs0x3l3iw5";
-      name = "kwave-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kwave-21.12.2.tar.xz";
+      sha256 = "01bjsm3aj7m1mq3nr6iwmcxswq8sxdxhhdyc5zlgffifpym53dc5";
+      name = "kwave-21.12.2.tar.xz";
     };
   };
   kwordquiz = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/kwordquiz-21.12.1.tar.xz";
-      sha256 = "083r0n1x75bh82aysi5n7lk3x7r3in93fcavjpklxr4dvzl28qs5";
-      name = "kwordquiz-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/kwordquiz-21.12.2.tar.xz";
+      sha256 = "1na113adrd9djxk016riz3ajwrn9rbpc0ib34adfvp6nw48d9snp";
+      name = "kwordquiz-21.12.2.tar.xz";
     };
   };
   libgravatar = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libgravatar-21.12.1.tar.xz";
-      sha256 = "0lhlxxg2il435sz3j0sa8x4ydr0fz7idvzp27qqjgrjsxfqn1gbf";
-      name = "libgravatar-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libgravatar-21.12.2.tar.xz";
+      sha256 = "0xj3v0cknkvr8ac5iipxpz1azr0hk42zgaaip5ivn7qjfhp0zvv0";
+      name = "libgravatar-21.12.2.tar.xz";
     };
   };
   libkcddb = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkcddb-21.12.1.tar.xz";
-      sha256 = "02j6j44dgsyxdj83qhf2lr4l297184v63s8qwn0pxqjxjidcsajb";
-      name = "libkcddb-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkcddb-21.12.2.tar.xz";
+      sha256 = "07bcbmf3z5l0v5b6ra1h36yvbjpim1kzz1npd2h30iq09ibx6dr8";
+      name = "libkcddb-21.12.2.tar.xz";
     };
   };
   libkcompactdisc = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkcompactdisc-21.12.1.tar.xz";
-      sha256 = "1am11g39jafy77av7ddc5yimfd07yvh7czaipamydw7lshcscjrq";
-      name = "libkcompactdisc-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkcompactdisc-21.12.2.tar.xz";
+      sha256 = "08abnybd0fa0vvpaixi18ljfz0s8a5pmbblzpcc8rvwzdjc7az6q";
+      name = "libkcompactdisc-21.12.2.tar.xz";
     };
   };
   libkdcraw = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkdcraw-21.12.1.tar.xz";
-      sha256 = "1g2fgw1dx4wvb7x1d5z5qqys348jnrjyvs2iad4ls54l1ci20sws";
-      name = "libkdcraw-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkdcraw-21.12.2.tar.xz";
+      sha256 = "0mzq0nha7mq5v3lb03xbspc0y2a7mg1mzlwbp3706ph6jp4m7mwa";
+      name = "libkdcraw-21.12.2.tar.xz";
     };
   };
   libkdegames = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkdegames-21.12.1.tar.xz";
-      sha256 = "0h5d7yf56x52ibm4yq14rbq8ha65x0isgpnw0jxgw5mrfz9m4wcy";
-      name = "libkdegames-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkdegames-21.12.2.tar.xz";
+      sha256 = "1m1qz59fb82bsj9ri3b8a1ph2ihgs97wlqq91pbgqw0kgvyvka1j";
+      name = "libkdegames-21.12.2.tar.xz";
     };
   };
   libkdepim = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkdepim-21.12.1.tar.xz";
-      sha256 = "0g5vb2iwqclbrbl19vlzx1ppra6mj454574nakw900qkzrp6rbfn";
-      name = "libkdepim-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkdepim-21.12.2.tar.xz";
+      sha256 = "0qqz9b17fz3kgh3gcyq30ds8fq7zkm14k85g4mywsn3lnn8bj6z9";
+      name = "libkdepim-21.12.2.tar.xz";
     };
   };
   libkeduvocdocument = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkeduvocdocument-21.12.1.tar.xz";
-      sha256 = "1wa81hh607hk0h930rr95zff8pzpsvjz1vaygfcfpf8h3gcwc418";
-      name = "libkeduvocdocument-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkeduvocdocument-21.12.2.tar.xz";
+      sha256 = "16vh1bycq92bh47phv7nk62r5vjaiv1p8fvq5p5idsz9ipzb1wzp";
+      name = "libkeduvocdocument-21.12.2.tar.xz";
     };
   };
   libkexiv2 = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkexiv2-21.12.1.tar.xz";
-      sha256 = "1yxa28hawyqm9s94p5qrcb2g9ly68i4cfj99xbzg3yl9simbhc5b";
-      name = "libkexiv2-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkexiv2-21.12.2.tar.xz";
+      sha256 = "1j1p1pw2l32q7lk8kp6r0nz9mzjdw6mxr2gi0p770k3k0arrsg87";
+      name = "libkexiv2-21.12.2.tar.xz";
     };
   };
   libkgapi = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkgapi-21.12.1.tar.xz";
-      sha256 = "0rwr37fy21d3jx35yv06kl29wd64sp21yg3rdhhv1bnbpsipk51k";
-      name = "libkgapi-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkgapi-21.12.2.tar.xz";
+      sha256 = "0n6x0vdirv5qbi9qmd8956i307dz0lp80bw5cqxgk4gr4f8hzi8w";
+      name = "libkgapi-21.12.2.tar.xz";
     };
   };
   libkipi = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkipi-21.12.1.tar.xz";
-      sha256 = "06p53h72d7mbqdv5zsrbwc7k4xjxmbirqvfyxgc5h7y46lcr5dby";
-      name = "libkipi-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkipi-21.12.2.tar.xz";
+      sha256 = "0zlga9gy45cs3icx56gvq2nab7i3z5ydrmisa46vpca63w8swmys";
+      name = "libkipi-21.12.2.tar.xz";
     };
   };
   libkleo = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkleo-21.12.1.tar.xz";
-      sha256 = "0f5nwc7w3m204j8a2cf0nclxak12l2vrssd1wnnv1r4a7pp33w4p";
-      name = "libkleo-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkleo-21.12.2.tar.xz";
+      sha256 = "0vqgycmj2v91car7ckksnjxbq3b5nzk31p4x3577dgck9jmi30zd";
+      name = "libkleo-21.12.2.tar.xz";
     };
   };
   libkmahjongg = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkmahjongg-21.12.1.tar.xz";
-      sha256 = "0255mfa15v2mawvhrhv2yr1lmv5vfnil3nqxwv85l67m8d227y84";
-      name = "libkmahjongg-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkmahjongg-21.12.2.tar.xz";
+      sha256 = "10fgk8nhcr3rbdnh8az46jvl6w6xankdxzw4djj3qs4dpkl52vk4";
+      name = "libkmahjongg-21.12.2.tar.xz";
     };
   };
   libkomparediff2 = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libkomparediff2-21.12.1.tar.xz";
-      sha256 = "03wcfhnb4q72140rgkf1rpsa6chhz55jpjj1dfhjxzjfh2pd0r5w";
-      name = "libkomparediff2-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libkomparediff2-21.12.2.tar.xz";
+      sha256 = "07yzzc6ns1yx92gpcvhnxw0xna6ly1j4l4lx1rbw3d94z796694z";
+      name = "libkomparediff2-21.12.2.tar.xz";
     };
   };
   libksane = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libksane-21.12.1.tar.xz";
-      sha256 = "1jlc04jx66rkip723szwl38r61n2rwg07d20yx6ahx6bmsdgznwx";
-      name = "libksane-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libksane-21.12.2.tar.xz";
+      sha256 = "1iksfjwkibn1i8n541nngalrp8krc94qy9in801q10d291clwz9i";
+      name = "libksane-21.12.2.tar.xz";
     };
   };
   libksieve = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libksieve-21.12.1.tar.xz";
-      sha256 = "1d1aibkcn1xagmr03sadffvwz3q8idpva6dbgngwyyanj9hjs74i";
-      name = "libksieve-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libksieve-21.12.2.tar.xz";
+      sha256 = "03aaqqb5g9iv49crrf7zbmsri8jjszn5wfvmcw559swalmmyzb4i";
+      name = "libksieve-21.12.2.tar.xz";
     };
   };
   libktorrent = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/libktorrent-21.12.1.tar.xz";
-      sha256 = "02bkwypfrfx114yh9hjxy6kwb2crbl9xvk61287yg4ww0zdprdgv";
-      name = "libktorrent-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/libktorrent-21.12.2.tar.xz";
+      sha256 = "06ak3bsy5x6a0r3l9hbfih9m41y3l357rpd42x8qp08djbs11xbf";
+      name = "libktorrent-21.12.2.tar.xz";
     };
   };
   lokalize = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/lokalize-21.12.1.tar.xz";
-      sha256 = "08ipsp09d14vqk25jrv690757h9iy6d0mysgcv9jss5jacng6c3z";
-      name = "lokalize-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/lokalize-21.12.2.tar.xz";
+      sha256 = "1x6sb1fw0fqvk3vg299xvih1v2xm9hviv5h1b624maasw071nfyy";
+      name = "lokalize-21.12.2.tar.xz";
     };
   };
   lskat = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/lskat-21.12.1.tar.xz";
-      sha256 = "1hxpb4p39mnfs6z7s9a2yq7qjs9lr1kxxdw3a8as7xqahhw1b1jz";
-      name = "lskat-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/lskat-21.12.2.tar.xz";
+      sha256 = "0v16rg6d2l41xgkrkj8ibh5a0zjyb4jn7am6rbgl6k9g9mfqwdx7";
+      name = "lskat-21.12.2.tar.xz";
     };
   };
   mailcommon = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/mailcommon-21.12.1.tar.xz";
-      sha256 = "04kyli2f684wbq7n1zjrajqlvdzz058klpa9wxad73l7xni9sa33";
-      name = "mailcommon-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/mailcommon-21.12.2.tar.xz";
+      sha256 = "01kirl4lk1xq7y474438jv0av3ccg18krlchllcigd9c0vcp67qj";
+      name = "mailcommon-21.12.2.tar.xz";
     };
   };
   mailimporter = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/mailimporter-21.12.1.tar.xz";
-      sha256 = "14kb4wdgs2snmni87zdah4l8ga67bg06wiqx0y2gv2yhibgap7p3";
-      name = "mailimporter-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/mailimporter-21.12.2.tar.xz";
+      sha256 = "1ng8w4byq4iiwfzh4acl2glndlr7r9hr62qpj10kpn4fi0qblakb";
+      name = "mailimporter-21.12.2.tar.xz";
     };
   };
   marble = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/marble-21.12.1.tar.xz";
-      sha256 = "0j8whcbiwaal7wrqg99wn5zdnrnayjm8v9sfraigd0wnnfd6v2sn";
-      name = "marble-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/marble-21.12.2.tar.xz";
+      sha256 = "093drig77dyxwfavx30h2nzdqkn52h6pjn54j7fnwygz4742qv7n";
+      name = "marble-21.12.2.tar.xz";
     };
   };
   markdownpart = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/markdownpart-21.12.1.tar.xz";
-      sha256 = "02w137hqjsryb4dv5h1vmbd1c55imkwcy5r7ax5zvisclr4ylxfz";
-      name = "markdownpart-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/markdownpart-21.12.2.tar.xz";
+      sha256 = "0g7j15s15blqr0lfagmhvxxggdplvmnkf8g2b9ysjkrr49lgk7b6";
+      name = "markdownpart-21.12.2.tar.xz";
     };
   };
   mbox-importer = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/mbox-importer-21.12.1.tar.xz";
-      sha256 = "0y10pd8sjn0j4cdl7z773y5cral8lbmw42czzp4ig8yrlpbfs71j";
-      name = "mbox-importer-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/mbox-importer-21.12.2.tar.xz";
+      sha256 = "0qakmg86978zjm2m98602zbaiyiryrmlx2vk93yyv5xg352gphjb";
+      name = "mbox-importer-21.12.2.tar.xz";
     };
   };
   messagelib = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/messagelib-21.12.1.tar.xz";
-      sha256 = "1aywrhxw1ibx5dk68rv66h55fqipdcs0mdxw0jvfyrpfsvq4nbdc";
-      name = "messagelib-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/messagelib-21.12.2.tar.xz";
+      sha256 = "0ln473gdwsscjpsh50h2cbazxbc8qy1mmll9lsfngfw1qq49dwsp";
+      name = "messagelib-21.12.2.tar.xz";
     };
   };
   minuet = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/minuet-21.12.1.tar.xz";
-      sha256 = "1pqik8mp3p628xz0q1pd82f8l1g3wrlz5lzsh1fnyj2mc8fwi4nw";
-      name = "minuet-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/minuet-21.12.2.tar.xz";
+      sha256 = "050pmw3srfb800h91x6pqn1vz7s6458w94r2innwc1j04pr8jaxv";
+      name = "minuet-21.12.2.tar.xz";
     };
   };
   okular = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/okular-21.12.1.tar.xz";
-      sha256 = "189b47ysmvykpyjdh5jpzk7ahy3pvg2gf71qyvhcr55pqb763g84";
-      name = "okular-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/okular-21.12.2.tar.xz";
+      sha256 = "1k0bwyhk73gshc7f0j6mply2m9ykfd07mhkxwnzj874sby5rxhv9";
+      name = "okular-21.12.2.tar.xz";
     };
   };
   palapeli = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/palapeli-21.12.1.tar.xz";
-      sha256 = "032702k31psyr7fy5i6f2r4a56f4m9zawjamyr0jwwq4faydj6y6";
-      name = "palapeli-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/palapeli-21.12.2.tar.xz";
+      sha256 = "0v5456hm56c7f9d49l5zjql6f4ap72wmkf8in8s95lqmpn42dl17";
+      name = "palapeli-21.12.2.tar.xz";
     };
   };
   parley = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/parley-21.12.1.tar.xz";
-      sha256 = "1h9jasmi96i1rmxqg7gps8fy03al4042x89h9yca57sfj3966iy0";
-      name = "parley-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/parley-21.12.2.tar.xz";
+      sha256 = "1cwnlv57yqjm52i0jwl33pz4h9h448h0ljrg598ghby8p3b2i5w7";
+      name = "parley-21.12.2.tar.xz";
     };
   };
   partitionmanager = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/partitionmanager-21.12.1.tar.xz";
-      sha256 = "1szidy2vwcqzygkw232k5bvk6zr0h0z8349is69q4zvrbamcwawf";
-      name = "partitionmanager-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/partitionmanager-21.12.2.tar.xz";
+      sha256 = "0rr7ic2ivm7lp3lj20b8rfbx1sr91s24fzxfzfwnw9znl9vj410q";
+      name = "partitionmanager-21.12.2.tar.xz";
     };
   };
   picmi = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/picmi-21.12.1.tar.xz";
-      sha256 = "0jdadh33f9byljwlxxs268j8crhagg2xx6wsyb2ssyms95qmfd50";
-      name = "picmi-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/picmi-21.12.2.tar.xz";
+      sha256 = "0qp8b1di3qnv4xrnpcmyi6myrrwzdlijhvxmacx4ijv7b7wlg4r7";
+      name = "picmi-21.12.2.tar.xz";
     };
   };
   pim-data-exporter = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/pim-data-exporter-21.12.1.tar.xz";
-      sha256 = "1l748ndf4jgn39ij4g2dm54599ygnz3492fpd8i02d2bgm5d3339";
-      name = "pim-data-exporter-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/pim-data-exporter-21.12.2.tar.xz";
+      sha256 = "0m4dq3x5kbncnvixjigb85j6siws6q600piw53qabiwd6w6rp1xy";
+      name = "pim-data-exporter-21.12.2.tar.xz";
     };
   };
   pim-sieve-editor = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/pim-sieve-editor-21.12.1.tar.xz";
-      sha256 = "0cnlbalmabycpiy3cmq7j6jz9h3fdfq0md25rr6ri2gvvx1gp0if";
-      name = "pim-sieve-editor-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/pim-sieve-editor-21.12.2.tar.xz";
+      sha256 = "1cpazs6q6hv15ib6isif5syvpywxfdi7d3w8vc4pnfj94wkcq3gm";
+      name = "pim-sieve-editor-21.12.2.tar.xz";
     };
   };
   pimcommon = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/pimcommon-21.12.1.tar.xz";
-      sha256 = "1rg4c8bvfrr7rzpxwvjw07phalmxvj592cjcxywnbb4i3hlr9c8g";
-      name = "pimcommon-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/pimcommon-21.12.2.tar.xz";
+      sha256 = "1pnhjhnjx98wdc3dg71qgjjj3dsncl56d86cagkk2spicv901p69";
+      name = "pimcommon-21.12.2.tar.xz";
     };
   };
   poxml = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/poxml-21.12.1.tar.xz";
-      sha256 = "1pnqhv059q79g8gwkln9lrvwby96262vamyblrjq1qx2bb4y1038";
-      name = "poxml-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/poxml-21.12.2.tar.xz";
+      sha256 = "1zzw9jwwd5nx12ma2ihffj6nhr3zlpahnj8k0r8mxcyn99j51kyn";
+      name = "poxml-21.12.2.tar.xz";
     };
   };
   print-manager = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/print-manager-21.12.1.tar.xz";
-      sha256 = "0yxivldalzharaq2ghrz2j8vlkylp91la36aaqwly396jxaij3w3";
-      name = "print-manager-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/print-manager-21.12.2.tar.xz";
+      sha256 = "0xqv7f9p27maa0p20nc92g6240qkcin9s3dldr5b5q944hkkxizq";
+      name = "print-manager-21.12.2.tar.xz";
     };
   };
   rocs = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/rocs-21.12.1.tar.xz";
-      sha256 = "0m4l2sm3mgkici2jvsvzi8pv3cx3i7a7yvh5c0w1ajs34vx0y6ki";
-      name = "rocs-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/rocs-21.12.2.tar.xz";
+      sha256 = "1mjrgh0vfc1kvici5m1dx23s1c7qpvfx1br91yglgll1biajzqlq";
+      name = "rocs-21.12.2.tar.xz";
     };
   };
   signon-kwallet-extension = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/signon-kwallet-extension-21.12.1.tar.xz";
-      sha256 = "09j2i1kwinskylww78nhnrkh31p5yizv6jp5lf2igvhd4dpfgxxk";
-      name = "signon-kwallet-extension-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/signon-kwallet-extension-21.12.2.tar.xz";
+      sha256 = "0qfim8ahklwkixpxcm9sj1w49cmb0wz5r8np6ga3r2rh4vlqdxbf";
+      name = "signon-kwallet-extension-21.12.2.tar.xz";
     };
   };
   skanlite = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/skanlite-21.12.1.tar.xz";
-      sha256 = "0s53wcm80xp9p5cli9bkharwv4qvhlc10pdb0aysgg76jlqrj78x";
-      name = "skanlite-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/skanlite-21.12.2.tar.xz";
+      sha256 = "1fvdrzyvps0iqb9irnpdn81gmlmfhgfsfb5mg4i259sms6rq3h8m";
+      name = "skanlite-21.12.2.tar.xz";
     };
   };
   spectacle = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/spectacle-21.12.1.tar.xz";
-      sha256 = "13qpsxy2v51xvdxml0c9zp62d9lasg76m0ff86kqavwklywc9h72";
-      name = "spectacle-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/spectacle-21.12.2.tar.xz";
+      sha256 = "1966ynfdkaya1iydi2hfmcr13adk7agjr9ndz2hjrwgjagd29pyr";
+      name = "spectacle-21.12.2.tar.xz";
     };
   };
   step = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/step-21.12.1.tar.xz";
-      sha256 = "1vh2yw5zyy42jfn9i326x01v34xgnq5d5wyxy6k75v5p5hwsbr64";
-      name = "step-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/step-21.12.2.tar.xz";
+      sha256 = "1paq5wpya82s92zwacwbjf96nj52gy1sydk0gndyqi8jdplhlnps";
+      name = "step-21.12.2.tar.xz";
     };
   };
   svgpart = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/svgpart-21.12.1.tar.xz";
-      sha256 = "03ivjg1n1g4bqwrdq38hw2pvh1gk1s00azmnlz3x40fd1xcg3mww";
-      name = "svgpart-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/svgpart-21.12.2.tar.xz";
+      sha256 = "15624gfcn85xkh6lypkw73iidnclprhqhpxrjggbng1x22jg2iwc";
+      name = "svgpart-21.12.2.tar.xz";
     };
   };
   sweeper = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/sweeper-21.12.1.tar.xz";
-      sha256 = "0m8k17x90avbw4zay1zkbkpdw809axhvl3c0kjiymyan4a3mi86y";
-      name = "sweeper-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/sweeper-21.12.2.tar.xz";
+      sha256 = "07rqshzjjzqgmm5z0fn1hjd09prcwlnyilp3s61nl5fciby6m8fh";
+      name = "sweeper-21.12.2.tar.xz";
     };
   };
   umbrello = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/umbrello-21.12.1.tar.xz";
-      sha256 = "0z4hnrd055f1i7hasrgrqv7chzyy7cscmi0lvjak12mngykckrs9";
-      name = "umbrello-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/umbrello-21.12.2.tar.xz";
+      sha256 = "07bp3rf31x5c1vag6pw0lal9b6zmvsqa8wg8a30kj7k9wabvjprb";
+      name = "umbrello-21.12.2.tar.xz";
     };
   };
   yakuake = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/yakuake-21.12.1.tar.xz";
-      sha256 = "1nr28w01bcnhw33s17daps8g040hwnvwxjz4p1gv3xngapqrf6zl";
-      name = "yakuake-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/yakuake-21.12.2.tar.xz";
+      sha256 = "1xkdyn944ga1xvwbbblnffvlnwgypspr909yvdy6xf5j0qaldsdk";
+      name = "yakuake-21.12.2.tar.xz";
     };
   };
   zanshin = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/zanshin-21.12.1.tar.xz";
-      sha256 = "0z54w5c5mdmfw4cv6099jlf4kz40b3gxl4wi5z92zxn3d71ck1l5";
-      name = "zanshin-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/zanshin-21.12.2.tar.xz";
+      sha256 = "1ilgswm4jbjk1mbvcrdi451f1w4vwx3ah6y32a3y5a9blbh9bh6c";
+      name = "zanshin-21.12.2.tar.xz";
     };
   };
   zeroconf-ioslave = {
-    version = "21.12.1";
+    version = "21.12.2";
     src = fetchurl {
-      url = "${mirror}/stable/release-service/21.12.1/src/zeroconf-ioslave-21.12.1.tar.xz";
-      sha256 = "16by90pdmbn7kw7aq2jf9sl67r2ydhp8i9drpznvfxmq99qsk7b6";
-      name = "zeroconf-ioslave-21.12.1.tar.xz";
+      url = "${mirror}/stable/release-service/21.12.2/src/zeroconf-ioslave-21.12.2.tar.xz";
+      sha256 = "0b59npqhmf3yvp9x0jm29bwzlyl0vm9l56jlsgwgiq7pwis5njwd";
+      name = "zeroconf-ioslave-21.12.2.tar.xz";
     };
   };
 }
diff --git a/pkgs/applications/misc/1password-gui/default.nix b/pkgs/applications/misc/1password-gui/default.nix
index ac3922e17d4..6de089ba58c 100644
--- a/pkgs/applications/misc/1password-gui/default.nix
+++ b/pkgs/applications/misc/1password-gui/default.nix
@@ -33,11 +33,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "1password";
-  version = "8.3.0";
+  version = "8.5.0";
 
   src = fetchurl {
     url = "https://downloads.1password.com/linux/tar/stable/x86_64/1password-${version}.x64.tar.gz";
-    sha256 = "1cakv316ipwyw6s3x4a6qhl0nmg17bxhh08c969gma3svamh1grw";
+    sha256 = "tnZr+qjUcJ9Fhk6RP8iwu+/JsvYSE03NHhBfhedyCTQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/1password/default.nix b/pkgs/applications/misc/1password/default.nix
index 360bfbf1b94..512f5546aec 100644
--- a/pkgs/applications/misc/1password/default.nix
+++ b/pkgs/applications/misc/1password/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchzip, autoPatchelfHook, fetchurl, xar, cpio }:
 
 stdenv.mkDerivation rec {
-  pname = "1password";
+  pname = "1password-cli";
   version = "1.12.2";
   src =
     if stdenv.isLinux then
diff --git a/pkgs/applications/misc/OSCAR/default.nix b/pkgs/applications/misc/OSCAR/default.nix
index 92eeeb142cc..9b5d2e68ad9 100644
--- a/pkgs/applications/misc/OSCAR/default.nix
+++ b/pkgs/applications/misc/OSCAR/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, mkDerivation, fetchFromGitLab, qmake, qtbase, qttools, qtserialport, libGLU }:
 mkDerivation rec {
   pname = "OSCAR";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitLab {
     owner = "pholy";
     repo = "OSCAR-code";
     rev = "v${version}";
-    sha256 = "sha256-oKKwX5HiT8RACiqzZegOxH6IHQn/u0N4ih/ubH6YYjg=";
+    sha256 = "sha256-/70NoyiQ33RFdSTBAyi5c/JPZ2AV1/iRvkAZ6VjpUXw=";
   };
 
   buildInputs = [ qtbase qttools qtserialport libGLU ];
@@ -19,6 +19,7 @@ mkDerivation rec {
   qmakeFlags = [ "OSCAR_QT.pro" ];
 
   installPhase = ''
+    runHook preInstall
     install -d $out/bin
     install -d $out/share/OSCAR/Help
     install -d $out/share/OSCAR/Html
@@ -32,15 +33,16 @@ mkDerivation rec {
     install oscar/Translations/* $out/share/OSCAR/Translations
     install -T Building/Linux/OSCAR.png $out/share/icons/OSCAR/OSCAR.png
     install -T Building/Linux/OSCAR.desktop $out/share/applications/OSCAR.desktop
+    runHook postInstall
   '';
 
   meta = with lib; {
     homepage = "https://www.sleepfiles.com/OSCAR/";
     description = "Software for reviewing and exploring data produced by CPAP and related machines used in the treatment of sleep apnea";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = [ maintainers.roconnor ];
     # Someone needs to create a suitable installPhase for Darwin and Windows.
     # See https://gitlab.com/pholy/OSCAR-code/-/tree/master/Building.
-    broken = !stdenv.hostPlatform.isLinux;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/anytype/default.nix b/pkgs/applications/misc/anytype/default.nix
index 9998b2b5595..e80bb82ccec 100644
--- a/pkgs/applications/misc/anytype/default.nix
+++ b/pkgs/applications/misc/anytype/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "anytype";
-  version = "0.23.0";
+  version = "0.23.5";
   name = "Anytype-${version}";
   nameExecutable = pname;
   src = fetchurl {
     url = "https://at9412003.fra1.digitaloceanspaces.com/Anytype-${version}.AppImage";
     name = "Anytype-${version}.AppImage";
-    sha256 = "sha256-53DyT8tunk0s1VGrlj6qQLOKNPN4Haqdyd8ozPi5z8w=";
+    sha256 = "sha256-kVM/F0LsIgMtur8jHZzUWkFIcfHe0i8y9Zxe3z5SkVM=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 in
diff --git a/pkgs/applications/misc/archivebox/default.nix b/pkgs/applications/misc/archivebox/default.nix
index c5c7187f013..b70cf440750 100644
--- a/pkgs/applications/misc/archivebox/default.nix
+++ b/pkgs/applications/misc/archivebox/default.nix
@@ -1,42 +1,34 @@
 { lib
-, buildPythonApplication
-, fetchPypi
-, requests
-, mypy-extensions
-, django_3
-, django-extensions
-, dateparser
-, youtube-dl
-, python-crontab
-, croniter
-, w3lib
-, ipython
+, python3
 }:
 
 let
-  django_3' = django_3.overridePythonAttrs (old: rec {
-    pname = "Django";
-    version = "3.1.7";
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "sha256-Ms55Lum2oMu+w0ASPiKayfdl3/jCpK6SR6FLK6OjZac=";
+  python = python3.override {
+    packageOverrides = self: super: {
+      django = super.django_3.overridePythonAttrs (old: rec {
+        version = "3.1.7";
+        src = old.src.override {
+          inherit version;
+          sha256 = "sha256-Ms55Lum2oMu+w0ASPiKayfdl3/jCpK6SR6FLK6OjZac=";
+        };
+      });
     };
-  });
+  };
 in
 
-buildPythonApplication rec {
+python.pkgs.buildPythonApplication rec {
   pname = "archivebox";
   version = "0.6.2";
 
-  src = fetchPypi {
+  src = python.pkgs.fetchPypi {
     inherit pname version;
     sha256 = "sha256-zHty7lTra6yab9d0q3EqsPG3F+lrnZL6PjQAbL1A2NY=";
   };
 
-  propagatedBuildInputs = [
+  propagatedBuildInputs = with python.pkgs; [
     requests
     mypy-extensions
-    django_3'
+    django
     django-extensions
     dateparser
     youtube-dl
diff --git a/pkgs/applications/misc/ausweisapp2/default.nix b/pkgs/applications/misc/ausweisapp2/default.nix
index 60e4504cc50..9f3c1c82b5e 100644
--- a/pkgs/applications/misc/ausweisapp2/default.nix
+++ b/pkgs/applications/misc/ausweisapp2/default.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "AusweisApp2";
-  version = "1.22.3";
+  version = "1.22.4";
 
   src = fetchFromGitHub {
     owner = "Governikus";
     repo = "AusweisApp2";
     rev = version;
-    sha256 = "sha256-Zh1rWMdRXPj/+80Sqvp9cbV5sDrNVBebPRGTTWM1DLk=";
+    sha256 = "sha256-Mms7Vibq1Rlb2XbxiV4o1UsjDRJcwG5ZZdPOWHjnW2A=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/misc/azuredatastudio/default.nix b/pkgs/applications/misc/azuredatastudio/default.nix
index 378a04bada9..458b0484af0 100644
--- a/pkgs/applications/misc/azuredatastudio/default.nix
+++ b/pkgs/applications/misc/azuredatastudio/default.nix
@@ -32,19 +32,16 @@ let
     genericName = "Text Editor";
     exec = "azuredatastudio --no-sandbox --unity-launch %F";
     icon = "azuredatastudio";
-    startupNotify = "true";
-    categories = "Utility;TextEditor;Development;IDE;";
-    mimeType = "text/plain;inode/directory;application/x-azuredatastudio-workspace;";
-    extraEntries = ''
-      StartupWMClass=azuredatastudio
-      Actions=new-empty-window;
-      Keywords=azuredatastudio;
-
-      [Desktop Action new-empty-window]
-      Name=New Empty Window
-      Exec=azuredatastudio --no-sandbox --new-window %F
-      Icon=azuredatastudio
-    '';
+    startupNotify = true;
+    startupWMClass = "azuredatastudio";
+    categories = [ "Utility" "TextEditor" "Development" "IDE" ];
+    mimeTypes = [ "text/plain" "inode/directory" "application/x-azuredatastudio-workspace" ];
+    keywords = [ "azuredatastudio" ];
+    actions.new-empty-window = {
+      name = "New Empty Window";
+      exec = "azuredatastudio --no-sandbox --new-window %F";
+      icon = "azuredatastudio";
+    };
   };
 
   urlHandlerDesktopItem = makeDesktopItem {
@@ -54,13 +51,12 @@ let
     genericName = "Text Editor";
     exec = "azuredatastudio --no-sandbox --open-url %U";
     icon = "azuredatastudio";
-    startupNotify = "true";
-    categories = "Utility;TextEditor;Development;IDE;";
-    mimeType = "x-scheme-handler/azuredatastudio;";
-    extraEntries = ''
-      NoDisplay=true
-      Keywords=azuredatastudio;
-    '';
+    startupNotify = true;
+    startupWMClass = "azuredatastudio";
+    categories = [ "Utility" "TextEditor" "Development" "IDE" ];
+    mimeTypes = [ "x-scheme-handler/azuredatastudio" ];
+    keywords = [ "azuredatastudio" ];
+    noDisplay = true;
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/misc/batsignal/default.nix b/pkgs/applications/misc/batsignal/default.nix
index d09eab0f85b..bec3164a008 100644
--- a/pkgs/applications/misc/batsignal/default.nix
+++ b/pkgs/applications/misc/batsignal/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "batsignal";
-  version = "1.3.2";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "electrickite";
     repo = "batsignal";
     rev = version;
-    sha256 = "sha256-+5yAwBUyhqmoV8l8VwIQMxnSgjNZNbGfGajPhA+IFwA=";
+    sha256 = "sha256-B2HAEJj8TX44YagJ993d7js/wi1D39/Hi85rxJoKa3U=";
   };
 
   buildInputs = [ libnotify glib ];
diff --git a/pkgs/applications/misc/bemenu/default.nix b/pkgs/applications/misc/bemenu/default.nix
index c4c01323594..e92bd4b82ad 100644
--- a/pkgs/applications/misc/bemenu/default.nix
+++ b/pkgs/applications/misc/bemenu/default.nix
@@ -11,13 +11,13 @@ assert x11Support -> xorg != null;
 
 stdenv.mkDerivation rec {
   pname = "bemenu";
-  version = "0.6.4";
+  version = "0.6.7";
 
   src = fetchFromGitHub {
     owner = "Cloudef";
     repo = pname;
     rev = version;
-    sha256 = "5xRM3NQfomG0vJheNEBLy3OaS6UEwabNKYa96u2md6M=";
+    sha256 = "sha256-cUkSXEB92I0UYTobQzUb2so1MUXJkryAqrmASx9RMF0=";
   };
 
   nativeBuildInputs = [ pkg-config pcre ];
diff --git a/pkgs/applications/misc/bicon/default.nix b/pkgs/applications/misc/bicon/default.nix
index 72f5a639f11..0b3ca09c6d0 100644
--- a/pkgs/applications/misc/bicon/default.nix
+++ b/pkgs/applications/misc/bicon/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     description = "A bidirectional console";
     homepage =  "https://github.com/behdad/bicon";
     license = [ licenses.lgpl21 licenses.psfl licenses.bsd0 ];
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/bottles/default.nix b/pkgs/applications/misc/bottles/default.nix
index 85d801e2ec3..22d7560c689 100644
--- a/pkgs/applications/misc/bottles/default.nix
+++ b/pkgs/applications/misc/bottles/default.nix
@@ -2,20 +2,32 @@
 , meson, ninja, pkg-config, wrapGAppsHook
 , desktop-file-utils, gsettings-desktop-schemas, libnotify, libhandy, webkitgtk
 , python3Packages, gettext
-, appstream-glib, gdk-pixbuf, glib, gobject-introspection, gspell, gtk3, gnome
-, steam-run, xdg-utils, pciutils, cabextract, wineWowPackages
+, appstream-glib, gdk-pixbuf, glib, gobject-introspection, gspell, gtk3, gtksourceview4, gnome
+, steam, xdg-utils, pciutils, cabextract, wineWowPackages
 , freetype, p7zip, gamemode
+, bottlesExtraLibraries ? pkgs: [ ] # extra packages to add to steam.run multiPkgs
+, bottlesExtraPkgs ? pkgs: [ ] # extra packages to add to steam.run targetPkgs
 }:
 
+let
+  steam-run = (steam.override {
+    # required by wine runner `caffe`
+    extraLibraries = pkgs: with pkgs; [ libunwind libusb1 ]
+      ++ bottlesExtraLibraries pkgs;
+    extraPkgs = pkgs: [ ]
+      ++ bottlesExtraPkgs pkgs;
+  }).run;
+in
 python3Packages.buildPythonApplication rec {
   pname = "bottles";
-  version = "2021.12.28-treviso";
+  version = "2022.2.14-trento";
+  sha256 = "GtVC3JfVoooJ+MuF9r1W3J8RfXNKalaIgecv1ner7GA=";
 
   src = fetchFromGitHub {
     owner = "bottlesdevs";
     repo = pname;
     rev = version;
-    sha256 = "lZbSLLBg7XM6PuOmu5rJ15dg+QHHRcjijRYE6u3WT9Y=";
+    inherit sha256;
   };
 
   postPatch = ''
@@ -40,6 +52,7 @@ python3Packages.buildPythonApplication rec {
     gsettings-desktop-schemas
     gspell
     gtk3
+    gtksourceview4
     libhandy
     libnotify
     webkitgtk
@@ -75,8 +88,8 @@ python3Packages.buildPythonApplication rec {
 
   preConfigure = ''
     patchShebangs build-aux/meson/postinstall.py
-    substituteInPlace src/backend/runner.py \
-      --replace "{Paths.runners}" "${steam-run}/bin/steam-run {Paths.runners}"
+    substituteInPlace src/backend/wine/winecommand.py \
+      --replace '= f"{Paths.runners}' '= f"${steam-run}/bin/steam-run {Paths.runners}'
   '';
 
   preFixup = ''
@@ -87,7 +100,7 @@ python3Packages.buildPythonApplication rec {
     description = "An easy-to-use wineprefix manager";
     homepage = "https://usebottles.com/";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ bloomvdomino shamilton ];
+    maintainers = with maintainers; [ bloomvdomino psydvl shamilton ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/cbatticon/default.nix b/pkgs/applications/misc/cbatticon/default.nix
index 482bec9d054..0440e806c0c 100644
--- a/pkgs/applications/misc/cbatticon/default.nix
+++ b/pkgs/applications/misc/cbatticon/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cbatticon";
-  version = "1.6.10";
+  version = "1.6.12";
 
   src = fetchFromGitHub {
     owner = "valr";
     repo = pname;
     rev = version;
-    sha256 = "0ivm2dzhsa9ir25ry418r2qg2llby9j7a6m3arbvq5c3kaj8m9jr";
+    sha256 = "sha256-FGCT3gP+KL71Am4cd+f71iY8EwDPRZJ4+FDgQqjZK1M=";
   };
 
   nativeBuildInputs = [ pkg-config gettext wrapGAppsHook ];
diff --git a/pkgs/applications/misc/cherrytree/default.nix b/pkgs/applications/misc/cherrytree/default.nix
index 237c9126783..067ad872f64 100644
--- a/pkgs/applications/misc/cherrytree/default.nix
+++ b/pkgs/applications/misc/cherrytree/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cherrytree";
-  version = "0.99.45";
+  version = "0.99.46";
 
   src = fetchFromGitHub {
     owner = "giuspen";
     repo = "cherrytree";
     rev = version;
-    sha256 = "sha256-DGhzqv7huFVgCdXy3DuIBT+7s2q6FB7+gFPd4zEXi2M=";
+    sha256 = "sha256-yX9USGiiCwtBcg055D8xBHoiCafQWtQFqf5i5bsi13U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/clight/clightd.nix b/pkgs/applications/misc/clight/clightd.nix
index 582295a2bc8..b9df45b482d 100644
--- a/pkgs/applications/misc/clight/clightd.nix
+++ b/pkgs/applications/misc/clight/clightd.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clightd";
-  version = "5.5";
+  version = "5.6";
 
   src = fetchFromGitHub {
     owner = "FedeDP";
     repo = "Clightd";
     rev = version;
-    sha256 = "sha256-uygMc4SPYBk+G+ENp+KsgDhkm+oq9ZMvWX4wF6iohPM=";
+    sha256 = "sha256-PxYOI/2ZOz3JSGCPIXfm3WfGZ19D8JhhdNS3FVuXus8=";
   };
 
   # dbus-1.pc has datadir=/etc
diff --git a/pkgs/applications/misc/cointop/default.nix b/pkgs/applications/misc/cointop/default.nix
index 209e9f9e3be..a0ceabf9d10 100644
--- a/pkgs/applications/misc/cointop/default.nix
+++ b/pkgs/applications/misc/cointop/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "cointop";
   version = "1.6.10";
 
diff --git a/pkgs/applications/misc/cpu-x/default.nix b/pkgs/applications/misc/cpu-x/default.nix
index 8f68a512c21..9d64a31dded 100644
--- a/pkgs/applications/misc/cpu-x/default.nix
+++ b/pkgs/applications/misc/cpu-x/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpu-x";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitHub {
     owner = "X0rg";
     repo = "CPU-X";
     rev = "v${version}";
-    sha256 = "sha256-LWIcE86o+uU8G9DtumiH6iTqHhvq4y/QyQX7J3FhKEc=";
+    sha256 = "sha256-pYinePs7WFVfRMNYTY+Is8B+cv5w6IF7Ce+9v/mLRYg=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook nasm makeWrapper ];
diff --git a/pkgs/applications/misc/cubiomes-viewer/default.nix b/pkgs/applications/misc/cubiomes-viewer/default.nix
index f8f7fb8491c..777c4b97d2b 100644
--- a/pkgs/applications/misc/cubiomes-viewer/default.nix
+++ b/pkgs/applications/misc/cubiomes-viewer/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
     desktopName = "Cubiomes Viewer";
     exec = pname;
     icon = pname;
-    categories = "Game";
+    categories = [ "Game" ];
     comment = meta.description;
   }) ];
 
diff --git a/pkgs/applications/misc/cubocore-packages/coreaction/default.nix b/pkgs/applications/misc/cubocore-packages/coreaction/default.nix
index f17730cc7e9..a3a8c1dcf6c 100644
--- a/pkgs/applications/misc/cubocore-packages/coreaction/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coreaction/default.nix
@@ -1,24 +1,16 @@
-{ mkDerivation, lib, fetchFromGitLab, fetchpatch, qtsvg, qtbase, cmake, ninja, libcprime, libcsys }:
+{ mkDerivation, lib, fetchFromGitLab, qtsvg, qtbase, cmake, ninja, libcprime, libcsys }:
 
 mkDerivation rec {
   pname = "coreaction";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5qEZNLvbgLoAOXij0wXoVw2iyvytsYZikSJDm6F6ddc=";
+    sha256 = "sha256-XQ/GcSjGSe+3d0dJxjmmcBFoDzrmM6zsHMfbDdzmpPs=";
   };
 
-  patches = [
-    ## Fix Plugin Error: "The shared library was not found." "libbatery.so"
-    (fetchpatch {
-      url = "https://gitlab.com/cubocore/coreapps/coreaction/-/commit/1d1307363614a117978723eaad2332e6e8c05b28.patch";
-      sha256 = "039x19rsm23l9vxd5mnbl6gvc3is0igahf47kv54v6apz2q72l3f";
-    })
-  ];
-
   nativeBuildInputs = [
     cmake
     ninja
diff --git a/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix b/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix
index 56a05bc434e..7549ef20b11 100644
--- a/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corearchiver/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corearchiver";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FJGsQp1lbsrvlzKPiTv/FC9RH2+JRwwIvkLDTFW8t5s=";
+    sha256 = "sha256-EUcUivUuuUApIC9daS6BFA1YoE4yO3Kc8jG0VIks/Y0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corefm/default.nix b/pkgs/applications/misc/cubocore-packages/corefm/default.nix
index 3ec918db7af..a3314dface4 100644
--- a/pkgs/applications/misc/cubocore-packages/corefm/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corefm/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corefm";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PczKIKY9uCD+cAzAC6Gkb+g+cn9KKCQYd3epoZK8bvA=";
+    sha256 = "sha256-uScM6cVRwYopZ6NY3PSAAyxNNyX3hVnFs6hkAyF29PA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/coregarage/default.nix b/pkgs/applications/misc/cubocore-packages/coregarage/default.nix
index 719047c8de7..f416f21c419 100644
--- a/pkgs/applications/misc/cubocore-packages/coregarage/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coregarage/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "coregarage";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2pOQwSj+QKwpHVJp7VCyq6QpVW5wLUf/BE7ReXrJ78s=";
+    sha256 = "sha256-Jq0lIXfw/1Ixd+QIY7D1ErBCOSKmwkWBupcDxUUEliM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corehunt/default.nix b/pkgs/applications/misc/cubocore-packages/corehunt/default.nix
index fb9bcd5e8ef..7da5ebe081f 100644
--- a/pkgs/applications/misc/cubocore-packages/corehunt/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corehunt/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corehunt";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KnIqLI8MtLirFycW2YNHAjS7EDfU3dpqb6vVq9Tl6Ow=";
+    sha256 = "sha256-zhJadrdOXpl0bXxEPWjQ59Pzjg4MfIZXtYzCnJbh+pI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/coreimage/default.nix b/pkgs/applications/misc/cubocore-packages/coreimage/default.nix
index 224c946d117..6078d04be7a 100644
--- a/pkgs/applications/misc/cubocore-packages/coreimage/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coreimage/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "coreimage";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dxRHzSG5ea1MhpTjgZbFztV9mElEaeOK4NsmieSgf5Q";
+    sha256 = "sha256-uG9/8sQK0G3f7O59OHEHqNHP8cUC73hmjsfpOnj0kFM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix b/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix
index d8df86abd87..c5f7e49d452 100644
--- a/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coreinfo/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "coreinfo";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kLBOvvulHE1+4TyZVEVZwEA+Id7+w8fI3ll+QL2ukr0=";
+    sha256 = "sha256-KoX2U07giVF2xZR1diM6teiNfKYRiqjowTJgnsMlaN0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corekeyboard/0001-fix-installPhase.patch b/pkgs/applications/misc/cubocore-packages/corekeyboard/0001-fix-installPhase.patch
new file mode 100644
index 00000000000..084a650c610
--- /dev/null
+++ b/pkgs/applications/misc/cubocore-packages/corekeyboard/0001-fix-installPhase.patch
@@ -0,0 +1,8 @@
+--- a/corekeyboard/CMakeLists.txt	2022-01-29 14:03:28.149607341 +0700
++++ b/CMakeLists.txt	2022-01-29 14:04:00.178733700 +0700
+@@ -55,5 +55,4 @@
+ 
+ install( TARGETS corekeyboard DESTINATION bin )
+ install( FILES org.cubocore.CoreKeyboard.desktop DESTINATION share/applications )
+-install( FILES org.cubocore.CoreKeyboard-Tray.desktop DESTINATION /etc/xdg/autostart )
+ install( FILES org.cubocore.CoreKeyboard.svg DESTINATION share/icons/hicolor/scalable/apps/ )
diff --git a/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix b/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix
index 3d4e6ddc301..5116f80f4cb 100644
--- a/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corekeyboard/default.nix
@@ -2,15 +2,20 @@
 
 mkDerivation rec {
   pname = "corekeyboard";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0CbQ43BN4ORvtxs6FwNkgk/0jcVdFJq/tqvjUGYanM4=";
+    sha256 = "sha256-yJOcuE6HknDhXCr1qW/NJkerjvBABYntXos0owDDwcw=";
   };
 
+  patches = [
+    # Remove autostart
+    ./0001-fix-installPhase.patch
+  ];
+
   nativeBuildInputs = [
     cmake
     ninja
diff --git a/pkgs/applications/misc/cubocore-packages/corepad/default.nix b/pkgs/applications/misc/cubocore-packages/corepad/default.nix
index fcd1bfa4a4f..bdded6e8f1f 100644
--- a/pkgs/applications/misc/cubocore-packages/corepad/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corepad/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corepad";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2bGHVv0+0NlkIqnvWm014Kr20uARWnOS5xSuNmCt/bQ=";
+    sha256 = "sha256-19qR08QhWeeXnJAQHe1SJjT0xnQLlbkXlzmd9uiMp14=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corepaint/default.nix b/pkgs/applications/misc/cubocore-packages/corepaint/default.nix
index 6410da3ba60..228b0175a7d 100644
--- a/pkgs/applications/misc/cubocore-packages/corepaint/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corepaint/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corepaint";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-nATraYm7FZEXoNWgXt1G86KdrAvRgM358F+YdfWcnkg=";
+    sha256 = "sha256-uAFV3NKtgNri8GQLD+MRacl9WYMfkMVZcoVML+oSX78=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corepdf/default.nix b/pkgs/applications/misc/cubocore-packages/corepdf/default.nix
index bb93391c2af..42f8fd0dd0f 100644
--- a/pkgs/applications/misc/cubocore-packages/corepdf/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corepdf/default.nix
@@ -1,14 +1,14 @@
-{ mkDerivation, lib, fetchFromGitLab, qtbase, poppler, cmake, ninja, libcprime, libcsys }:
+{ mkDerivation, lib, fetchFromGitLab, qtbase, poppler, qtwebengine, cmake, ninja, libcprime, libcsys }:
 
 mkDerivation rec {
   pname = "corepdf";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HeOklgCwJ5h3DeelJOZqasG+eC9DGG3R0Cqg2yPKYhM=";
+    sha256 = "sha256-VwJ3H/jNP3u5C+LATPUSftiWm89upx77fN3NqzTnU7Y=";
   };
 
   nativeBuildInputs = [
@@ -19,6 +19,7 @@ mkDerivation rec {
   buildInputs = [
     qtbase
     poppler
+    qtwebengine
     libcprime
     libcsys
   ];
diff --git a/pkgs/applications/misc/cubocore-packages/corepins/default.nix b/pkgs/applications/misc/cubocore-packages/corepins/default.nix
index 80d3a096ffe..7b5ba0ad7a6 100644
--- a/pkgs/applications/misc/cubocore-packages/corepins/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corepins/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corepins";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-H/l/MHHrTmkfznVKUHFAhim8b/arT5SNK5fxTvjsTE4=";
+    sha256 = "sha256-CVToPF8/Tw+n31/A0bzyBbwF7xPBVirsqVOUsM8QtH0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix b/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix
index f92d532ba4a..e13485619d9 100644
--- a/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corerenamer/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corerenamer";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OI7M7vV0CA42J5cWCqgGKEzUUHSgIJCWRTXmKRD6Jb0=";
+    sha256 = "sha256-WrMyz8Noq0EeBIxL4mSl6e+8wrivmwfoa1yKBrSgrRI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/coreshot/default.nix b/pkgs/applications/misc/cubocore-packages/coreshot/default.nix
index bf9f5e49aea..18d773e904b 100644
--- a/pkgs/applications/misc/cubocore-packages/coreshot/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coreshot/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "coreshot";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HKgGeuM3CKGXwnFwSw6a0AB0klZKY5YS9C4q2UT6TN8=";
+    sha256 = "sha256-wEpo/YINtKAYHqlGYytUPh9ndkvQBw3tRIlyjnKJaf8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corestats/default.nix b/pkgs/applications/misc/cubocore-packages/corestats/default.nix
index a6d71eaa6cb..ac3f7280aa7 100644
--- a/pkgs/applications/misc/cubocore-packages/corestats/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corestats/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "corestats";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/WBetvbd8e4v+j6e2xbGtSLwNMdLlaahSIks6r889B4=";
+    sha256 = "sha256-154BZIKb6QDrTC4DXh4dbFtN/Lq0ok/qOrqTkXa+rAo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/corestuff/0001-fix-installPhase.patch b/pkgs/applications/misc/cubocore-packages/corestuff/0001-fix-installPhase.patch
new file mode 100644
index 00000000000..d1db6a0a0a2
--- /dev/null
+++ b/pkgs/applications/misc/cubocore-packages/corestuff/0001-fix-installPhase.patch
@@ -0,0 +1,11 @@
+--- a/corestuff/CMakeLists.txt	2022-01-29 14:09:02.699700817 +0700
++++ b/CMakeLists.txt	2022-01-29 14:09:23.211754633 +0700
+@@ -120,8 +120,3 @@
+ install( FILES org.cubocore.CoreStuff.desktop DESTINATION share/applications )
+ install( FILES org.cubocore.CoreStuff.svg DESTINATION share/icons/hicolor/scalable/apps/ )
+ install( FILES background/default.svg DESTINATION share/coreapps/background )
+-
+-if ( DEFINED ADD_AUTOSTART )
+-	message("INSTALLING TO AUTOSTART LOCATION")
+-	install( FILES org.cubocore.CoreStuff.desktop DESTINATION /etc/xdg/autostart )
+-endif()
diff --git a/pkgs/applications/misc/cubocore-packages/corestuff/default.nix b/pkgs/applications/misc/cubocore-packages/corestuff/default.nix
index 57216f4710d..04c6d82d4b2 100644
--- a/pkgs/applications/misc/cubocore-packages/corestuff/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/corestuff/default.nix
@@ -2,15 +2,20 @@
 
 mkDerivation rec {
   pname = "corestuff";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/mmCIHZXn/Jpjr37neI6owWuU1VO6o7wmRj6ZH8tUbo=";
+    sha256 = "sha256-snzW6cqxIyiXJLOD5MoEqmzen1aZN4IALESaIWIOMro=";
   };
 
+  patches = [
+    # Remove autostart
+    ./0001-fix-installPhase.patch
+  ];
+
   nativeBuildInputs = [
     cmake
     ninja
diff --git a/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix b/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix
index c2085686aab..1203706a62e 100644
--- a/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coreterminal/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "coreterminal";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YXs6VTem3AaK4n1DYwKP/jqNuf09Srn2THHyJJnArlc=";
+    sha256 = "sha256-0gxcbfDD43BnkxYWSdViK3hjzfgPGFruwzF4hCxFZ7c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/coretime/default.nix b/pkgs/applications/misc/cubocore-packages/coretime/default.nix
index af33d474e35..41fe2698e4e 100644
--- a/pkgs/applications/misc/cubocore-packages/coretime/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coretime/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "coretime";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-b7oqHhsuHsy96IAXPUtw+WqneEHgn/nUDgHiJt2aXXM=";
+    sha256 = "sha256-MIcmgBfgyjEyJxXCq6IbQ/i6IdtL5cWVGpV2YZbzK58=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch b/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch
index 8a8b0ae4010..3c0c942ee43 100644
--- a/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch
+++ b/pkgs/applications/misc/cubocore-packages/coretoppings/0001-fix-install-phase.patch
@@ -1,8 +1,8 @@
---- a/corepkit/CMakeLists.txt
-+++ b/corepkit/Cmakelists.txt
+--- a/corepkit/CMakeLists.txt	2021-12-25 17:52:20.000000000 +0700
++++ b/corepkit/CMakeLists.txt	2021-12-29 17:58:09.298024297 +0700
 @@ -32,4 +32,4 @@
  target_link_libraries( corepkit  Qt5::Core )
  
  install( TARGETS corepkit DESTINATION libexec/coreapps/ )
--install( FILES org.cubocore.coreapps.policy DESTINATION /usr/share/polkit-1/actions/ )
+-install( FILES org.cubocore.coreapps.policy DESTINATION share/polkit-1/actions/ )
 +install( FILES org.cubocore.coreapps.policy DESTINATION ${CMAKE_INSTALL_PREFIX}/usr/share/polkit-1/actions/ )
diff --git a/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix b/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix
index 154f4a38994..b72008cd43a 100644
--- a/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coretoppings/default.nix
@@ -30,13 +30,13 @@
 
 mkDerivation rec {
   pname = "coretoppings";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-DpmzGqjW1swLirRLzd5nblAb40LHAmf8nL+VykQNL3E=";
+    sha256 = "sha256-Yq57dY1zIuQN2Gj9haxJMomafL32B+/9v3lWlY9fvcc=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix b/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix
index 0a6ccaf7214..5e72458dad4 100644
--- a/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/coreuniverse/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "coreuniverse";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore/coreapps";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YZCMyYMAvd/xQYNUnURIvmQwaM+X+Ql93OS4ZIyAZLY=";
+    sha256 = "sha256-KNjXrsm4OfBxida8mcAlKgomcpg0xJg51ZxEdhaiL84=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cubocore-packages/libcprime/default.nix b/pkgs/applications/misc/cubocore-packages/libcprime/default.nix
index 00e297bf276..f100a3a1040 100644
--- a/pkgs/applications/misc/cubocore-packages/libcprime/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/libcprime/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "libcprime";
-  version = "4.2.2";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-RywvFATA/+fDP/TR5QRWaJlDgy3EID//iVmrJcj3GXI=";
+    sha256 = "sha256-+z5dXKaV2anN6OLMycEz87kDqQScgHHEKwGhDAdHSd4=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/cubocore-packages/libcsys/default.nix b/pkgs/applications/misc/cubocore-packages/libcsys/default.nix
index d1dde9942e9..395a40ddfc6 100644
--- a/pkgs/applications/misc/cubocore-packages/libcsys/default.nix
+++ b/pkgs/applications/misc/cubocore-packages/libcsys/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "libcsys";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchFromGitLab {
     owner = "cubocore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9LH95uJJIn4FHfnikGi5UCI6nUNW+1cSZnJ/KpZDI5Y=";
+    sha256 = "sha256-/iRFppe08+rMQNFjWSyxo3Noy0iNaelg0JAczg/BYBs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/cura/stable.nix b/pkgs/applications/misc/cura/stable.nix
index a2ec91193ea..d330a8a5ae2 100644
--- a/pkgs/applications/misc/cura/stable.nix
+++ b/pkgs/applications/misc/cura/stable.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     comment = "Cura";
     desktopName = "Cura";
     genericName = "3D printing host software";
-    categories = "GNOME;GTK;Utility;";
+    categories = [ "GNOME" "GTK" "Utility" ];
   };
 
   python_deps = with python27Packages; [ pyopengl pyserial numpy wxPython30 power setuptools ];
diff --git a/pkgs/applications/misc/curaengine/default.nix b/pkgs/applications/misc/curaengine/default.nix
index c6af30b7855..085fcab1475 100644
--- a/pkgs/applications/misc/curaengine/default.nix
+++ b/pkgs/applications/misc/curaengine/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "curaengine";
-  version = "4.12.1";
+  version = "4.13.1";
 
   src = fetchFromGitHub {
     owner = "Ultimaker";
     repo = "CuraEngine";
     rev = version;
-    sha256 = "sha256-+sjysxOaNLq6p3yCoB1qKosBO5Cg2/1o7xmUtZ15wkE=";
+    sha256 = "sha256-dx0Q6cuA66lG4nwR7quW5Tvs9sdxjdV4gtpxXirI4nY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/dbeaver/default.nix b/pkgs/applications/misc/dbeaver/default.nix
index 8e7716c98bb..ba1682f02dd 100644
--- a/pkgs/applications/misc/dbeaver/default.nix
+++ b/pkgs/applications/misc/dbeaver/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dbeaver";
-  version = "21.3.3"; # When updating also update fetchedMavenDeps.sha256
+  version = "21.3.5"; # When updating also update fetchedMavenDeps.sha256
 
   src = fetchFromGitHub {
     owner = "dbeaver";
     repo = "dbeaver";
     rev = version;
-    sha256 = "sha256-WycjNxPa4hkxBtT8Pq7ayUu8pNV0DvaJ+29GDKNJNWE=";
+    sha256 = "sha256-xJYC+p8HeY4XOzArZMKRvOafW82npMMfwlqlxsH6Ycg=";
   };
 
   fetchedMavenDeps = stdenv.mkDerivation {
@@ -52,7 +52,7 @@ stdenv.mkDerivation rec {
     dontFixup = true;
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "sha256-pfYNHue7tZKYgU16kypZEfr2bXuDoPc4KorIAVjSylo=";
+    outputHash = "sha256-WAB15d4UvUOkBXT7K/hvAZWOE3V1Lpl/tr+AFNBM4FI=";
   };
 
   nativeBuildInputs = [
@@ -84,7 +84,7 @@ stdenv.mkDerivation rec {
       desktopName = "dbeaver";
       comment = "SQL Integrated Development Environment";
       genericName = "SQL Integrated Development Environment";
-      categories = "Development;";
+      categories = [ "Development" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/ddcui/default.nix b/pkgs/applications/misc/ddcui/default.nix
index ebc220e4029..1e83a16659a 100644
--- a/pkgs/applications/misc/ddcui/default.nix
+++ b/pkgs/applications/misc/ddcui/default.nix
@@ -10,13 +10,13 @@
 
 mkDerivation rec {
   pname = "ddcui";
-  version = "0.2.0";
+  version = "0.2.1";
 
   src = fetchFromGitHub {
     owner = "rockowitz";
     repo = "ddcui";
     rev = "v${version}";
-    sha256 = "sha256-dp6D5GHpo0PJILnzZDKLnEPgQQ7980dI/6RV5ws3RTU=";
+    sha256 = "sha256-a8UGdVLi+i8hvWE3M5d92vnm3VryxRR56jXeBtB2PSk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/dmenu/default.nix b/pkgs/applications/misc/dmenu/default.nix
index 42bc0599866..7c76b22dc99 100644
--- a/pkgs/applications/misc/dmenu/default.nix
+++ b/pkgs/applications/misc/dmenu/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dmenu";
-  version = "5.0";
+  version = "5.1";
 
   src = fetchurl {
     url = "https://dl.suckless.org/tools/dmenu-${version}.tar.gz";
-    sha256 = "1lvfxzg3chsgcqbc2vr0zic7vimijgmbvnspayx73kyvqi1f267y";
+    sha256 = "sha256-H01wnrujfrcybroOZl4PE75Pok7jXJWw15ww8Uo0j9U=";
   };
 
   buildInputs = [ libX11 libXinerama zlib libXft ];
diff --git a/pkgs/applications/misc/dunst/default.nix b/pkgs/applications/misc/dunst/default.nix
index 4f1d68774de..17ce1d562b5 100644
--- a/pkgs/applications/misc/dunst/default.nix
+++ b/pkgs/applications/misc/dunst/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dunst";
-  version = "1.7.3";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "dunst-project";
     repo = "dunst";
     rev = "v${version}";
-    sha256 = "sha256-8s8g1J8vEogCp29tSwX5eqYTDf1dLoyBznnwAlCMQOU=";
+    sha256 = "sha256-bSlSOAxIcFS5B5o3pWmXFsKthAXzbCltnbLAV/bIHLw=";
   };
 
   nativeBuildInputs = [ perl pkg-config which systemd makeWrapper ];
diff --git a/pkgs/applications/misc/dupeguru/default.nix b/pkgs/applications/misc/dupeguru/default.nix
index 7612153fe56..6bc29080983 100644
--- a/pkgs/applications/misc/dupeguru/default.nix
+++ b/pkgs/applications/misc/dupeguru/default.nix
@@ -1,8 +1,8 @@
-{lib, python3Packages, fetchpatch, gettext, qt5, fetchFromGitHub}:
+{lib, python3Packages, gettext, qt5, fetchFromGitHub}:
 
 python3Packages.buildPythonApplication rec {
   pname = "dupeguru";
-  version = "4.0.4";
+  version = "4.1.1";
 
   format = "other";
 
@@ -10,19 +10,10 @@ python3Packages.buildPythonApplication rec {
     owner = "arsenetar";
     repo = "dupeguru";
     rev = version;
-    sha256 = "0ma4f1c6vmpz8gi4sdy43x1ik7wh42wayvk1iq520d3i714kfcpy";
+    sha256 = "sha256-0lJocrNQHTrpslbPE6xjZDWhzza8cAt2js35LvicZKg=";
     fetchSubmodules = true;
   };
 
-  patches = [
-    # already merged to master, remove next version bump
-    (fetchpatch {
-      name = "remove-m-from-so-var.patch";
-      url = "https://github.com/arsenetar/dupeguru/commit/bd0f53bcbe463c48fe141b73af13542da36d82ba.patch";
-      sha256 = "07iisz8kcr7v8lb21inzj1avlpfhh9k8wcivbd33w49cr3mmnr26";
-    })
-  ];
-
   nativeBuildInputs = [
     gettext
     python3Packages.pyqt5
@@ -31,6 +22,7 @@ python3Packages.buildPythonApplication rec {
 
   pythonPath = with python3Packages; [
     pyqt5
+    pyqt5_sip
     send2trash
     sphinx
     polib
@@ -42,9 +34,12 @@ python3Packages.buildPythonApplication rec {
     "NO_VENV=1"
   ];
 
-  # TODO: package pytest-monkeyplus for running tests
-  # https://github.com/NixOS/nixpkgs/pull/75054/files#r357690123
-  doCheck = false;
+  checkInputs = with python3Packages; [
+    pytestCheckHook
+  ];
+  preCheck = ''
+    export HOME="$(mktemp -d)"
+  '';
 
   # Avoid double wrapping Python programs.
   dontWrapQtApps = true;
@@ -66,6 +61,6 @@ python3Packages.buildPythonApplication rec {
     homepage = "https://github.com/arsenetar/dupeguru";
     license = licenses.bsd3;
     platforms = platforms.unix;
-    maintainers = [ maintainers.novoxudonoser ];
+    maintainers = [ maintainers.novoxd ];
   };
 }
diff --git a/pkgs/applications/misc/electrum/default.nix b/pkgs/applications/misc/electrum/default.nix
index b2199975193..29a12919296 100644
--- a/pkgs/applications/misc/electrum/default.nix
+++ b/pkgs/applications/misc/electrum/default.nix
@@ -77,6 +77,11 @@ python3.pkgs.buildPythonApplication {
   postPatch = ''
     substituteInPlace contrib/requirements/requirements.txt \
       --replace "dnspython>=2.0,<2.1" "dnspython>=2.0"
+
+    # according to upstream, this is fine
+    # https://github.com/spesmilo/electrum/issues/7361
+    substituteInPlace contrib/requirements/requirements.txt \
+      --replace "qdarkstyle<2.9" "qdarkstyle>=2.7"
   '';
 
   patches = [
diff --git a/pkgs/applications/misc/electrum/ltc.nix b/pkgs/applications/misc/electrum/ltc.nix
index a070bc321b7..416adbe60c8 100644
--- a/pkgs/applications/misc/electrum/ltc.nix
+++ b/pkgs/applications/misc/electrum/ltc.nix
@@ -76,6 +76,11 @@ python3.pkgs.buildPythonApplication {
   prePatch = ''
     substituteInPlace contrib/requirements/requirements.txt \
       --replace "dnspython>=2.0,<2.1" "dnspython>=2.0"
+
+    # according to upstream, this is fine
+    # https://github.com/spesmilo/electrum/issues/7361
+    substituteInPlace contrib/requirements/requirements.txt \
+      --replace "qdarkstyle<2.9" "qdarkstyle>=2.7"
   '';
 
   nativeBuildInputs = lib.optionals enableQt [ wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/eureka-editor/default.nix b/pkgs/applications/misc/eureka-editor/default.nix
index 2e70beb6173..8828b6e38e1 100644
--- a/pkgs/applications/misc/eureka-editor/default.nix
+++ b/pkgs/applications/misc/eureka-editor/default.nix
@@ -1,25 +1,21 @@
-{ lib, stdenv, fetchzip, fltk, zlib, xdg-utils, xorg, libjpeg, libGL }:
+{ lib, stdenv, fetchzip, fltk, zlib, xdg-utils, xorg, libjpeg, libGLU }:
 
 stdenv.mkDerivation rec {
   pname = "eureka-editor";
-  version = "1.21";
-  shortver = "121";
+  version = "1.27b";
 
   src = fetchzip {
-    url = "mirror://sourceforge/eureka-editor/Eureka/${version}/eureka-${shortver}-source.tar.gz";
-    sha256 = "0fpj13aq4wh3f7473cdc5jkf1c71jiiqmjc0ihqa0nm3hic1d4yv";
+    url = "mirror://sourceforge/eureka-editor/Eureka/${lib.versions.majorMinor version}/eureka-${version}-source.tar.gz";
+    sha256 = "075w7xxsgbgh6dhndc1pfxb2h1s5fhsw28yl1c025gmx9bb4v3bf";
   };
 
-  buildInputs = [ fltk zlib xdg-utils libjpeg xorg.libXinerama libGL ];
+  buildInputs = [ fltk zlib xdg-utils libjpeg xorg.libXinerama libGLU ];
 
   enableParallelBuilding = true;
 
-  preBuild = ''
-    substituteInPlace src/main.cc \
-      --replace /usr/local $out
-    substituteInPlace Makefile \
-      --replace /usr/local $out \
-      --replace "-o root " ""
+  postPatch = ''
+    substituteInPlace src/main.cc --replace /usr/local $out
+    substituteInPlace Makefile    --replace /usr/local $out
   '';
 
   preInstall = ''
@@ -32,9 +28,9 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://eureka-editor.sourceforge.net";
     description = "A map editor for the classic DOOM games, and a few related games such as Heretic and Hexen";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.all;
-    broken = stdenv.isDarwin;
+    badPlatforms = platforms.darwin;
     maintainers = with maintainers; [ neonfuz ];
   };
 }
diff --git a/pkgs/applications/misc/feedbackd/default.nix b/pkgs/applications/misc/feedbackd/default.nix
index 4cdf3399135..21b92f3823e 100644
--- a/pkgs/applications/misc/feedbackd/default.nix
+++ b/pkgs/applications/misc/feedbackd/default.nix
@@ -17,11 +17,20 @@
 , dbus
 }:
 
+let
+  themes = fetchFromGitLab {
+    domain = "source.puri.sm";
+    owner = "Librem5";
+    repo = "feedbackd-device-themes";
+    rev = "v0.0.20210909";
+    sha256 = "1d041wnq39sa0sl08xya4yp3n7j6aw560i38chl10vgpmwk9mmhr";
+  };
+in
 stdenv.mkDerivation rec {
   pname = "feedbackd";
   # Not an actual upstream project release,
   # only a Debian package release that is tagged in the upstream repo
-  version = "0.0.0+git20210426";
+  version = "0.0.0+git20211018";
 
   outputs = [ "out" "dev" "devdoc" ];
 
@@ -30,7 +39,7 @@ stdenv.mkDerivation rec {
     owner = "Librem5";
     repo = "feedbackd";
     rev = "v${version}";
-    sha256 = "12kdchv11c5ynpv6fbagcx755x5p2kd7acpwjxi9khwdwjsqxlmn";
+    hash = "sha256-jqKRHcxISK54xq/tQm6zV+J+U71eKh04OVTNHDDy65E=";
   };
 
   nativeBuildInputs = [
@@ -63,13 +72,14 @@ stdenv.mkDerivation rec {
   postInstall = ''
     mkdir -p $out/lib/udev/rules.d
     sed "s|/usr/libexec/|$out/libexec/|" < $src/debian/feedbackd.udev > $out/lib/udev/rules.d/90-feedbackd.rules
+    cp ${themes}/data/* $out/share/feedbackd/themes/
   '';
 
   meta = with lib; {
     description = "A daemon to provide haptic (and later more) feedback on events";
     homepage = "https://source.puri.sm/Librem5/feedbackd";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ pacman99 ];
+    maintainers = with maintainers; [ pacman99 tomfitzhenry ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/misc/fetchmail/default.nix b/pkgs/applications/misc/fetchmail/default.nix
index 3a5ec81e983..1f67c40561f 100644
--- a/pkgs/applications/misc/fetchmail/default.nix
+++ b/pkgs/applications/misc/fetchmail/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fetchmail";
-  version = "6.4.25";
+  version = "6.4.27";
 
   src = fetchurl {
     url = "mirror://sourceforge/fetchmail/fetchmail-${version}.tar.xz";
-    sha256 = "sha256-fr776JFy/Vnw/YMX2HQ6hDbzdczcqzkA5MPsBqj78n8=";
+    sha256 = "sha256-nmT55x95jPH+Ini4Ti9YgLgGUnwMAgaSXAhszReRE9w=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/applications/misc/fnott/default.nix b/pkgs/applications/misc/fnott/default.nix
index 9c6d95b319c..14de4af2c85 100644
--- a/pkgs/applications/misc/fnott/default.nix
+++ b/pkgs/applications/misc/fnott/default.nix
@@ -19,14 +19,14 @@
 
 stdenv.mkDerivation rec {
   pname = "fnott";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitea {
     domain = "codeberg.org";
     owner = "dnkl";
     repo = "fnott";
     rev = version;
-    sha256 = "1qmxzpv2xy79aznzzr9fay61mzf1pdzv85ah3w3q2kl2i7pskfxb";
+    sha256 = "sha256-Ni1LwsBkh+XekHEAPxoAkE3tjgUByvpLUGpx7WC54Jw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/free42/default.nix b/pkgs/applications/misc/free42/default.nix
index 14351990e72..e793618f9d2 100644
--- a/pkgs/applications/misc/free42/default.nix
+++ b/pkgs/applications/misc/free42/default.nix
@@ -74,8 +74,7 @@ stdenv.mkDerivation rec {
       exec = "free42bin";
       type = "Application";
       comment = meta.description;
-      categories = "Utility;Calculator;";
-      terminal = "false";
+      categories = [ "Utility" "Calculator" ];
     })
     (makeDesktopItem {
       name = "com.thomasokken.free42dec";
@@ -84,8 +83,7 @@ stdenv.mkDerivation rec {
       exec = "free42dec";
       type = "Application";
       comment = meta.description;
-      categories = "Utility;Calculator;";
-      terminal = "false";
+      categories = [ "Utility" "Calculator" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/gImageReader/default.nix b/pkgs/applications/misc/gImageReader/default.nix
index 2e1afa8053b..f570a044309 100644
--- a/pkgs/applications/misc/gImageReader/default.nix
+++ b/pkgs/applications/misc/gImageReader/default.nix
@@ -16,13 +16,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gImageReader";
-  version = "3.3.1";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner= "manisandro";
     repo = "gImageReader";
     rev = "v${version}";
-    sha256 = "17hz2dgxx2j7hsk0lx3riidqvlsg0ylnicjd2gphsi3yp7w20zdj";
+    sha256 = "sha256-lJ4wPLxVN3NERnru8vLreiWMEUip6xeCXAfoT8DcfiQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/gallery-dl/default.nix b/pkgs/applications/misc/gallery-dl/default.nix
index 8f5eaf47b55..ed0e3e72be2 100644
--- a/pkgs/applications/misc/gallery-dl/default.nix
+++ b/pkgs/applications/misc/gallery-dl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "gallery_dl";
-  version = "1.20.3";
+  version = "1.20.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6d1d97bd08a2a0dcfb0578e759fb83c4902b395405b3e3238673f684973b0556";
+    sha256 = "sha256-UJAoxRybEYxQY+7l/szSj9fy1J552yaxF3MdaEmDiQQ=";
   };
 
   propagatedBuildInputs = [ requests yt-dlp ];
diff --git a/pkgs/applications/misc/ganttproject-bin/default.nix b/pkgs/applications/misc/ganttproject-bin/default.nix
index 76a19f5188c..69466572741 100644
--- a/pkgs/applications/misc/ganttproject-bin/default.nix
+++ b/pkgs/applications/misc/ganttproject-bin/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
       desktopName = "GanttProject";
       genericName = "Shedule and manage projects";
       comment = meta.description;
-      categories = "Office;";
+      categories = [ "Office" ];
     };
 
     javaOptions = [
diff --git a/pkgs/applications/misc/geoipupdate/default.nix b/pkgs/applications/misc/geoipupdate/default.nix
index d92c4d04913..26d729fe8a7 100644
--- a/pkgs/applications/misc/geoipupdate/default.nix
+++ b/pkgs/applications/misc/geoipupdate/default.nix
@@ -2,16 +2,18 @@
 
 buildGoModule rec {
   pname = "geoipupdate";
-  version = "4.8.0";
+  version = "4.9.0";
 
   src = fetchFromGitHub {
     owner = "maxmind";
     repo = "geoipupdate";
     rev = "v${version}";
-    sha256 = "sha256-fcz1g17JR6jOpq5zOpCmnI00hyXSYYGHfoFRE8/c8dk=";
+    sha256 = "sha256-AqA0hzZGn5XU2Pyoj1vaP+ht7r3dpDhuang4KCXaSgs=";
   };
 
-  vendorSha256 = "sha256-YawWlPZV4bBOsOFDo2nIXKWwcxb5hWy5OiB99MG0HcY=";
+  vendorSha256 = "sha256-S+CnIPoyGM7dEQICOIlAWBIC24Fyt7q+OY382evDgQc=";
+
+  ldflags = [ "-X main.version=${version}" ];
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/girara/default.nix b/pkgs/applications/misc/girara/default.nix
index 802c1532979..02f0a09e0df 100644
--- a/pkgs/applications/misc/girara/default.nix
+++ b/pkgs/applications/misc/girara/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "girara";
-  version = "0.3.6";
+  version = "0.3.7";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://git.pwmt.org/pwmt/${pname}/-/archive/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-GPECj0CVxKh+gTfAkkvs13tdiy93il97iqbSTxLQSiM=";
+    sha256 = "sha256-QTQiE/jnRSWPHbKMu2zMJ6YwCaXgAb95G74BzkNtTbc=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config gettext check dbus ];
diff --git a/pkgs/applications/misc/gkrellm/default.nix b/pkgs/applications/misc/gkrellm/default.nix
index 0a62ce4ea51..523ba837f3a 100644
--- a/pkgs/applications/misc/gkrellm/default.nix
+++ b/pkgs/applications/misc/gkrellm/default.nix
@@ -56,7 +56,7 @@ stdenv.mkDerivation rec {
       desktopName = "GKrellM";
       genericName = "System monitor";
       comment = "The GNU Krell Monitors";
-      categories = "System;Monitor;";
+      categories = [ "System" "Monitor" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/globe-cli/default.nix b/pkgs/applications/misc/globe-cli/default.nix
new file mode 100644
index 00000000000..e7ec63f9784
--- /dev/null
+++ b/pkgs/applications/misc/globe-cli/default.nix
@@ -0,0 +1,20 @@
+{ lib, stdenv, rustPlatform, fetchCrate }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "globe-cli";
+  version = "0.2.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-Np1f/mSMIMZU3hE0Fur8bOHhOH3rZyroGiVAqfiIs7g=";
+  };
+
+  cargoHash = "sha256-qoCOYk7hyjMx07l48IkxE6zsG58NkF72E3OvoZHz5d0=";
+
+  meta = with lib; {
+    description = "Display an interactive ASCII globe in your terminal";
+    homepage = "https://github.com/adamsky/globe";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ devhell ];
+  };
+}
diff --git a/pkgs/applications/misc/golden-cheetah/default.nix b/pkgs/applications/misc/golden-cheetah/default.nix
index b2a858d8d3e..7f796a2bb0c 100644
--- a/pkgs/applications/misc/golden-cheetah/default.nix
+++ b/pkgs/applications/misc/golden-cheetah/default.nix
@@ -12,7 +12,7 @@ let
     desktopName = "GoldenCheetah";
     genericName = "GoldenCheetah";
     comment = "Performance software for cyclists, runners and triathletes";
-    categories = "Utility;";
+    categories = [ "Utility" ];
   };
 in mkDerivation rec {
   pname = "golden-cheetah";
diff --git a/pkgs/applications/misc/gpsprune/default.nix b/pkgs/applications/misc/gpsprune/default.nix
index 839bcc281ba..1c898fa343c 100644
--- a/pkgs/applications/misc/gpsprune/default.nix
+++ b/pkgs/applications/misc/gpsprune/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gpsprune";
-  version = "21";
+  version = "21.1";
 
   src = fetchurl {
     url = "https://activityworkshop.net/software/gpsprune/gpsprune_${version}.jar";
-    sha256 = "sha256-FS6nf8K+qfEWDCQwmoxH1laJIONMtwmb/H89SVJtV1E=";
+    sha256 = "sha256-WyI9IKzUmKGiqiYs6SSuGhVUdO2UCsPSSL/IjPLykiM=";
   };
 
   dontUnpack = true;
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
       desktopName = "GpsPrune";
       genericName = "GPS Data Editor";
       comment = meta.description;
-      categories = "Education;Geoscience;";
+      categories = [ "Education" "Geoscience" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/gpxsee/default.nix b/pkgs/applications/misc/gpxsee/default.nix
index 75079967dbe..ac9b56f48c1 100644
--- a/pkgs/applications/misc/gpxsee/default.nix
+++ b/pkgs/applications/misc/gpxsee/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gpxsee";
-  version = "10.1";
+  version = "10.4";
 
   src = fetchFromGitHub {
     owner = "tumic0";
     repo = "GPXSee";
     rev = version;
-    sha256 = "sha256-tU37dKBxzz+sxe4R7xbscpD28if8QOm6xpZEOdhK8lE=";
+    sha256 = "sha256-3AwUfx8IIWJO4uVAhXJE5Oola+60VUpXUwmALqJo2vw=";
   };
 
   patches = (substituteAll {
diff --git a/pkgs/applications/misc/gremlin-console/default.nix b/pkgs/applications/misc/gremlin-console/default.nix
index 69024e581e0..8c596b06fd0 100644
--- a/pkgs/applications/misc/gremlin-console/default.nix
+++ b/pkgs/applications/misc/gremlin-console/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "gremlin-console";
-  version = "3.5.1";
+  version = "3.5.2";
   src = fetchzip {
     url = "https://downloads.apache.org/tinkerpop/${version}/apache-tinkerpop-gremlin-console-${version}-bin.zip";
-    sha256 = "sha256-66krBK5mSMT0scCgMmiaigT/9nmYfItxe1OTzSbX+kE=";
+    sha256 = "sha256-PCr8lDQzypgozKCzD8FV4X4ls5lYZRMey1vfcFzo+Uc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/gremlin-server/default.nix b/pkgs/applications/misc/gremlin-server/default.nix
new file mode 100644
index 00000000000..70068ec21f8
--- /dev/null
+++ b/pkgs/applications/misc/gremlin-server/default.nix
@@ -0,0 +1,33 @@
+{ fetchzip, lib, stdenv, makeWrapper, openjdk }:
+stdenv.mkDerivation rec {
+  pname = "gremlin-server";
+  version = "3.5.2";
+  src = fetchzip {
+    url = "https://downloads.apache.org/tinkerpop/${version}/apache-tinkerpop-gremlin-server-${version}-bin.zip";
+    sha256 = "sha256-XFI2PQnvIPYjkJhm73TPSpMqH4+/Qv5RxS5iWkfuBg0=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  # Note you'll want to prefix any commands with LOG_DIR, PID_DIR, and RUN_DIR
+  # environment variables set to a writable director(y/ies).
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/opt
+    cp -r conf ext lib scripts $out/opt/
+    install -D bin/gremlin-server.sh $out/opt/bin/gremlin-server
+    makeWrapper $out/opt/bin/gremlin-server $out/bin/gremlin-server \
+      --prefix PATH ":" "${openjdk}/bin/" \
+      --set CLASSPATH "$out/opt/lib/"
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://tinkerpop.apache.org/";
+    description = "Server of the Apache TinkerPop graph computing framework";
+    license = licenses.asl20;
+    maintainers = [ maintainers.jrpotter ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/misc/hello/default.nix b/pkgs/applications/misc/hello/default.nix
index 9f1e89c0df6..ce49cfd69ca 100644
--- a/pkgs/applications/misc/hello/default.nix
+++ b/pkgs/applications/misc/hello/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hello";
-  version = "2.10";
+  version = "2.12";
 
   src = fetchurl {
     url = "mirror://gnu/hello/${pname}-${version}.tar.gz";
-    sha256 = "0ssi1wpaf7plaswqqjwigppsg5fyh99vdlb9kzl7c9lng89ndq1i";
+    sha256 = "1ayhp9v4m4rdhjmnl2bq3cibrbqqkgjbl3s7yk2nhlh8vj3ay16g";
   };
 
   doCheck = true;
diff --git a/pkgs/applications/misc/hugo/default.nix b/pkgs/applications/misc/hugo/default.nix
index 3097de91171..81ee786aec6 100644
--- a/pkgs/applications/misc/hugo/default.nix
+++ b/pkgs/applications/misc/hugo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "hugo";
-  version = "0.92.1";
+  version = "0.92.2";
 
   src = fetchFromGitHub {
     owner = "gohugoio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fOurAHMDOEDdPSo1qCa6es7D0EZ+Zgucm43xwzAPYPI=";
+    sha256 = "sha256-kwqN/9H/ZI2eL09K/9bOMBWW9bow8LtKpbfxyfxIucA=";
   };
 
-  vendorSha256 = "sha256-ZIbpzddgC1EHKia1KGWhQCSD663/0tK36GytsRpUB9c=";
+  vendorSha256 = "sha256-7dJUl0IxsLj0ds2jqtChNCQEBiK9PahG159IhyFxwdM=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/ideamaker/default.nix b/pkgs/applications/misc/ideamaker/default.nix
index 1996ba5c1ea..1e20a0d6faf 100644
--- a/pkgs/applications/misc/ideamaker/default.nix
+++ b/pkgs/applications/misc/ideamaker/default.nix
@@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
     icon = pname;
     desktopName = "Ideamaker";
     genericName = meta.description;
-    categories = "Utility;Viewer;Engineering;";
-    mimeType = "application/sla";
+    categories = [ "Utility" "Viewer" "Engineering" ];
+    mimeTypes = [ "application/sla" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/index-fm/default.nix b/pkgs/applications/misc/index-fm/default.nix
index 14139f7ed66..4ab933aefe0 100644
--- a/pkgs/applications/misc/index-fm/default.nix
+++ b/pkgs/applications/misc/index-fm/default.nix
@@ -17,14 +17,14 @@
 
 mkDerivation rec {
   pname = "index-fm";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "maui";
     repo = "index-fm";
     rev = "v${version}";
-    sha256 = "sha256-Os/5igKGYBeY/FxO6I+7mpFohuk3yHGLd7vE2GewFpU=";
+    hash = "sha256-F4qgewkPxkbAbeR+MaeRDiw9KIsd/Xx4C0cYEYDkPOE=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/misc/ipmiview/default.nix b/pkgs/applications/misc/ipmiview/default.nix
index 92491f4508e..4c01e52aa5d 100644
--- a/pkgs/applications/misc/ipmiview/default.nix
+++ b/pkgs/applications/misc/ipmiview/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     exec = "IPMIView";
     desktopName = name;
     genericName = "Supermicro BMC manager";
-    categories = "Network";
+    categories = [ "Network" ];
   };
 
   installPhase = ''
diff --git a/pkgs/applications/misc/jotta-cli/default.nix b/pkgs/applications/misc/jotta-cli/default.nix
index 832c6e93c50..e6cadec469b 100644
--- a/pkgs/applications/misc/jotta-cli/default.nix
+++ b/pkgs/applications/misc/jotta-cli/default.nix
@@ -5,10 +5,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jotta-cli";
-  version = "0.12.51202";
+  version = "0.13.55213";
   src = fetchzip {
       url = "https://repo.jotta.us/archives/linux/${arch}/jotta-cli-${version}_linux_${arch}.tar.gz";
-      sha256 = "sha256-B7Rn/0hFVUsEK2Wo8KbqAnzOwQmMKkAssfmaN3dPAUY=";
+      sha256 = "sha256-u5DmpKvmgTqwtXLFMdz0dhtPc/2rzEX492OKxyFBqzY=";
       stripRoot = false;
     };
 
diff --git a/pkgs/applications/misc/jrnl/default.nix b/pkgs/applications/misc/jrnl/default.nix
index 494329ecabe..4aecdec4de9 100644
--- a/pkgs/applications/misc/jrnl/default.nix
+++ b/pkgs/applications/misc/jrnl/default.nix
@@ -1,26 +1,20 @@
 { lib
 , fetchFromGitHub
-, fetchpatch
 , python3
 }:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "jrnl";
-  version = "2.8.3";
+  version = "2.8.4";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "jrnl-org";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+kPr7ndY6u1HMw6m0UZJ5jxVIPNjlTfQt7OYEdZkHBE=";
+    sha256 = "sha256-Edu+GW/D+R5r0R750Z1f8YUVPMYbm9PK4D73sTDzDEc=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'tzlocal = ">2.0, <3.0"' 'tzlocal = ">2.0, !=3.0"'
-  '';
-
   nativeBuildInputs = with python3.pkgs; [
     poetry-core
   ];
@@ -45,14 +39,10 @@ python3.pkgs.buildPythonApplication rec {
     toml
   ];
 
-  patches = [
-    # Switch to poetry-core, https://github.com/jrnl-org/jrnl/pull/1359
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/jrnl-org/jrnl/commit/a55a240eff7a167af5974a03e9de6f7b818eafd9.patch";
-      sha256 = "1w3gb4vasvh51nggf89fsqsm4862m0g7hr36qz22n4vg9dds175m";
-    })
-  ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'tzlocal = ">2.0, <3.0"' 'tzlocal = ">2.0, !=3.0"'
+  '';
 
   preCheck = ''
     export HOME=$(mktemp -d);
diff --git a/pkgs/applications/misc/k40-whisperer/default.nix b/pkgs/applications/misc/k40-whisperer/default.nix
new file mode 100644
index 00000000000..b50a1751510
--- /dev/null
+++ b/pkgs/applications/misc/k40-whisperer/default.nix
@@ -0,0 +1,74 @@
+{ stdenv
+, makeWrapper
+, writeText
+, python3
+, fetchzip
+, inkscape
+, lib
+, udevGroup ? "k40"
+}:
+
+let
+  pythonEnv = python3.withPackages (ps: with ps; [
+    lxml
+    pyusb
+    pillow
+    pyclipper
+    tkinter
+  ]);
+
+  udevRule = writeText "k40-whisperer.rules" ''
+    SUBSYSTEM=="usb", ATTRS{idVendor}=="1a86", ATTRS{idProduct}=="5512", ENV{DEVTYPE}=="usb_device", MODE="0664", GROUP="${udevGroup}"
+  '';
+
+in stdenv.mkDerivation rec {
+  pname = "k40-whisperer";
+  version = "0.59";
+
+  src = fetchzip {
+    url = "https://www.scorchworks.com/K40whisperer/K40_Whisperer-${version}_src.zip";
+    stripRoot = true;
+    sha256 = "0r8rhaksk87l44pwwpvrfnck2lyic3lgcbh3pi7ib6mrwbsyhlni";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  patchPhase = ''
+    substituteInPlace svg_reader.py \
+      --replace '"/usr/bin/inkscape"' '"${inkscape}/bin/inkscape"'
+  '';
+
+  buildPhase = "";
+
+  installPhase = ''
+    mkdir -p $out
+    cp -p * $out
+
+    mkdir -p $out/bin
+    mkdir -p $out/lib/udev/rules.d
+
+    ln -s ${udevRule} $out/lib/udev/rules.d/97-k40-whisperer.rules
+
+    makeWrapper '${pythonEnv.interpreter}' $out/bin/k40-whisperer \
+      --add-flags $out/k40_whisperer.py \
+      --prefix PYTHONPATH : $out
+  '';
+
+  meta = with lib; {
+    description = ''
+      Control software for the stock K40 Laser controller
+    '';
+    mainProgram = "k40-whisperer";
+    longDescription = ''
+      K40 Whisperer is an alternative to the the Laser Draw (LaserDRW) program that comes with the cheap Chinese laser cutters available on E-Bay and Amazon.
+      K40 Whisperer reads SVG and DXF files, interprets the data and sends commands to the K40 controller to move the laser head and control the laser accordingly.
+      K40 Whisperer does not require a USB key (dongle) to function.
+    '';
+    homepage = "https://www.scorchworks.com/K40whisperer/k40whisperer.html";
+    downloadPage = "https://www.scorchworks.com/K40whisperer/k40whisperer.html#download";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fooker ];
+    platforms = platforms.all;
+  };
+}
+
diff --git a/pkgs/applications/misc/kanboard/default.nix b/pkgs/applications/misc/kanboard/default.nix
index 9c2424602de..c67a64df50e 100644
--- a/pkgs/applications/misc/kanboard/default.nix
+++ b/pkgs/applications/misc/kanboard/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "kanboard";
-  version = "1.2.21";
+  version = "1.2.22";
 
   src = fetchFromGitHub {
     owner = "kanboard";
     repo = "kanboard";
     rev = "v${version}";
-    sha256 = "sha256-0CIemSdgNnYfpwZqfTerd/RZ+mYeFUWTE+v2hwu+9gI=";
+    sha256 = "sha256-pLxCm+T9jdn0FFqbTFe1tsIPTaVTT+QDeLHDxrbpGBg=";
   };
 
   dontBuild = true;
diff --git a/pkgs/applications/misc/keepass/default.nix b/pkgs/applications/misc/keepass/default.nix
index 4276ce8a841..bc281bea16a 100644
--- a/pkgs/applications/misc/keepass/default.nix
+++ b/pkgs/applications/misc/keepass/default.nix
@@ -69,11 +69,8 @@ with builtins; buildDotnetPackage rec {
     icon = "keepass";
     desktopName = "Keepass";
     genericName = "Password manager";
-    categories = "Utility;";
-    mimeType = lib.concatStringsSep ";" [
-      "application/x-keepass2"
-      ""
-    ];
+    categories = [ "Utility" ];
+    mimeTypes = [ "application/x-keepass2" ];
   };
 
   outputFiles = [
diff --git a/pkgs/applications/misc/leetcode-cli/default.nix b/pkgs/applications/misc/leetcode-cli/default.nix
new file mode 100644
index 00000000000..03f25588682
--- /dev/null
+++ b/pkgs/applications/misc/leetcode-cli/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, fetchCrate
+, rustPlatform
+, pkg-config
+, openssl
+, dbus
+, sqlite
+, stdenv
+, darwin
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "leetcode-cli";
+  version = "0.3.10";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "SkJLA49AXNTpiWZByII2saYLyN3bAAJTlCvhamlOEXA=";
+  };
+
+  cargoSha256 = "xhKF4qYOTdt8iCSPY5yT8tH3l54HdkOAIS2SBGzqsdo=";
+
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    openssl
+    dbus
+    sqlite
+  ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
+
+  meta = with lib; {
+    description = "May the code be with you 👻";
+    longDescription = "Use leetcode.com in command line";
+    homepage = "https://github.com/clearloop/leetcode-cli";
+    license = licenses.mit;
+    maintainers = with maintainers; [ congee ];
+    mainProgram = "leetcode";
+  };
+}
diff --git a/pkgs/applications/misc/lemonade/default.nix b/pkgs/applications/misc/lemonade/default.nix
new file mode 100644
index 00000000000..797b9e7b2ae
--- /dev/null
+++ b/pkgs/applications/misc/lemonade/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, fetchpatch
+}:
+
+buildGoModule rec {
+  pname = "lemonade";
+  version = "unstable-2021-06-18";
+
+  src = fetchFromGitHub {
+    owner = "lemonade-command";
+    repo = pname;
+    rev = "97ad2f7d63cbe6c696af36a754d399b4be4553bc";
+    sha256 = "sha256-77ymkpO/0DE4+m8fnpXGdnLLFxWMnKu2zsqCpQ3wEPM=";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/lemonade-command/lemonade/commit/2b292b0c9d8dc57f73c30a58b3f0f790a953b212.patch";
+      sha256 = "sha256-jUcOfsKu1IYa7arZuAvhuD0vw7JTmhzA/VLxOtAnbmI=";
+    })
+  ];
+
+  vendorSha256 = "sha256-wjQfTKVNmehu4aU5425gS0YWKj53dosVSTLgdu9KjKc=";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "Remote utility tool that to copy, paste and open browsers over TCP";
+    homepage = "https://github.com/lemonade-command/lemonade/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/applications/misc/logseq/default.nix b/pkgs/applications/misc/logseq/default.nix
index 741a17be9ee..09e31cd3409 100644
--- a/pkgs/applications/misc/logseq/default.nix
+++ b/pkgs/applications/misc/logseq/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "logseq";
-  version = "0.5.4";
+  version = "0.6.0";
 
   src = fetchurl {
     url = "https://github.com/logseq/logseq/releases/download/${version}/logseq-linux-x64-${version}.AppImage";
-    sha256 = "PGrx2JBYmp5vQ8jLpOfiT1T1+SNeRt0W5oHUjHNKuBE=";
+    sha256 = "9u2KdrNVAx+sy/8s2VP0DIzSMTvBK56pUGQaj7wulz0=";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/misc/lscolors/default.nix b/pkgs/applications/misc/lscolors/default.nix
index 70804ef1fdd..cdbc1c23d23 100644
--- a/pkgs/applications/misc/lscolors/default.nix
+++ b/pkgs/applications/misc/lscolors/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lscolors";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "sha256-74KNnERhyiZamVyS9yzDNVf33KMqDiSfPb5BCTKFuHA=";
+    sha256 = "sha256-8r1MTc6sSgHXuioagj7K4f6Kf4WYnnpie17tvzhz7+M=";
   };
 
-  cargoSha256 = "sha256-mjGZ/q9BByndwfnFGk6k5KD9ctY0X0/oaEugiOJY8Ms=";
+  cargoSha256 = "sha256-GsrQKv34EWepq0ihRmINMkShl8nyGQ1Q2De+1Y53TUo=";
 
   # setid is not allowed in the sandbox
   checkFlags = [ "--skip=tests::style_for_setid" ];
diff --git a/pkgs/applications/misc/lsd2dsl/default.nix b/pkgs/applications/misc/lsd2dsl/default.nix
index 2dfbaeb9941..eceb9308fc0 100644
--- a/pkgs/applications/misc/lsd2dsl/default.nix
+++ b/pkgs/applications/misc/lsd2dsl/default.nix
@@ -25,7 +25,7 @@ mkDerivation rec {
     desktopName = "lsd2dsl";
     genericName = "lsd2dsl";
     comment = meta.description;
-    categories = "Dictionary;FileTools;Qt;";
+    categories = [ "Dictionary" "FileTools" "Qt" ];
   });
 
   installPhase = ''
diff --git a/pkgs/applications/misc/mapproxy/default.nix b/pkgs/applications/misc/mapproxy/default.nix
index b5ec8424e20..08c2c7afc45 100644
--- a/pkgs/applications/misc/mapproxy/default.nix
+++ b/pkgs/applications/misc/mapproxy/default.nix
@@ -6,10 +6,10 @@
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "MapProxy";
-  version = "1.13.2";
+  version = "1.14.0";
   src = fetchPypi {
   inherit pname version;
-  sha256 = "1c2ba9424f600f35b7b883366296089cf61ac7c803da5d411a334c7a39ccf84b";
+  sha256 = "dd36278d60cdcaaf31f7f9bbc50e90e770f3feb65cf4b3eff287215ee85f018d";
   };
   prePatch = ''
     substituteInPlace mapproxy/util/ext/serving.py --replace "args = [sys.executable] + sys.argv" "args = sys.argv"
diff --git a/pkgs/applications/misc/markets/default.nix b/pkgs/applications/misc/markets/default.nix
index d1d16a7c8cb..ccf56da05a2 100644
--- a/pkgs/applications/misc/markets/default.nix
+++ b/pkgs/applications/misc/markets/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "markets";
-  version = "0.5.3";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "bitstower";
     repo = "markets";
     rev = version;
-    sha256 = "0sfdmz7cp8i2bymippp8jyxsidxjn69v9cqm40q77j81kfm84bfv";
+    sha256 = "sha256-/g/r/1i69PmPND40zIID3Nun0I4ZFT1EFoNf1qprBjI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/masterpdfeditor/default.nix b/pkgs/applications/misc/masterpdfeditor/default.nix
index a1788587d70..cab136d55dc 100644
--- a/pkgs/applications/misc/masterpdfeditor/default.nix
+++ b/pkgs/applications/misc/masterpdfeditor/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "masterpdfeditor";
-  version = "5.8.20";
+  version = "5.8.33";
 
   src = fetchurl {
     url = "https://code-industry.net/public/master-pdf-editor-${version}-qt5.x86_64.tar.gz";
-    sha256 = "sha256-2YfjTRTC/ZvgnV4tEY4wwoqUeUG8+0SCYuRPBzQ8ba4=";
+    sha256 = "sha256-sgLF/NpaNlkL5iA1l7QzMiYKwRcMDu2DHdTIaeHOtfI=";
   };
 
   nativeBuildInputs = [ autoPatchelfHook wrapQtAppsHook ];
diff --git a/pkgs/applications/misc/mdzk/default.nix b/pkgs/applications/misc/mdzk/default.nix
index f4d242346e9..3144f59476b 100644
--- a/pkgs/applications/misc/mdzk/default.nix
+++ b/pkgs/applications/misc/mdzk/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdzk";
-  version = "0.5.0";
+  version = "0.5.2";
 
   src = fetchFromGitHub {
     owner = "mdzk-rs";
     repo = "mdzk";
     rev = version;
-    sha256 = "sha256-NkoKQKcww5ktEbxbOY6WP8OemCB+rvXbuN9oSPjLE3Y=";
+    sha256 = "sha256-V//tVcIzhCh03VjwMC+R2ynaOFm+dp6qxa0oqBfvGUs=";
   };
 
-  cargoSha256 = "sha256-uJ00tGiKtcYghFUh0fcYg4nZc/o8yhvlVs+6/aRNY5s=";
+  cargoSha256 = "sha256-2lPckUhnyfHaVWXzZXKliolDZiPtNl9UBZIKs6tUaNQ=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/applications/misc/mediaelch/default.nix b/pkgs/applications/misc/mediaelch/default.nix
index f39b88f27d7..7cfe873a44e 100644
--- a/pkgs/applications/misc/mediaelch/default.nix
+++ b/pkgs/applications/misc/mediaelch/default.nix
@@ -1,7 +1,10 @@
 { lib
 , mkDerivation
 , fetchFromGitHub
+
 , qmake
+, qttools
+
 , curl
 , ffmpeg
 , libmediainfo
@@ -10,29 +13,38 @@
 , qtdeclarative
 , qtmultimedia
 , qtsvg
-, qttools
+, quazip
 }:
 
 mkDerivation rec {
   pname = "mediaelch";
-  version = "2.8.12";
+  version = "2.8.14";
 
   src = fetchFromGitHub {
     owner = "Komet";
     repo = "MediaElch";
     rev = "v${version}";
-    sha256 = "1gx4m9cf81d0b2nk2rlqm4misz67f5bpkjqx7d1l76rw2pwc6azf";
+    sha256 = "sha256-yHThX5Xs+8SijNKgmg+4Mawbwi3zHA/DJQoIBy0Wchs=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ qmake qttools ];
 
-  buildInputs = [ curl libmediainfo libzen ffmpeg qtbase qtdeclarative qtmultimedia qtsvg ];
+  buildInputs = [ curl ffmpeg libmediainfo libzen qtbase qtdeclarative qtmultimedia qtsvg ];
+
+  qmakeFlags = [
+    "USE_EXTERN_QUAZIP=${quazip}/include/quazip5"
+  ];
 
-  prePatch = ''
+  postPatch = ''
     substituteInPlace MediaElch.pro --replace "/usr" "$out"
   '';
 
+  qtWrapperArgs = [
+    # libmediainfo.so.0 is loaded dynamically
+    "--prefix LD_LIBRARY_PATH : ${libmediainfo}/lib"
+  ];
+
   meta = with lib; {
     homepage = "https://mediaelch.de/mediaelch/";
     description = "Media Manager for Kodi";
diff --git a/pkgs/applications/misc/megacmd/default.nix b/pkgs/applications/misc/megacmd/default.nix
index 3e206730c4e..8ca4ec41895 100644
--- a/pkgs/applications/misc/megacmd/default.nix
+++ b/pkgs/applications/misc/megacmd/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , autoconf
-, automake115x
+, automake
 , c-ares
 , cryptopp
 , curl
@@ -25,22 +25,17 @@
 
 stdenv.mkDerivation rec {
   pname = "megacmd";
-  version = "1.4.0";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAcmd";
     rev = "${version}_Linux";
-    sha256 = "sha256-Q1SZSDTPGgBA/W/ZVYfTQsiP41RE1LJ+esQ3PK9EjIc=";
+    sha256 = "Y/FkbN9mTuBpcKCSQg0M+3/IPzJ58X4iZhX2kMVDv7A=";
     fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [
-    autoconf
-    automake115x
-    libtool
-    pkg-config
-  ];
+  nativeBuildInputs = [ autoconf automake libtool pkg-config ];
 
   buildInputs = [
     c-ares
@@ -82,7 +77,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "MEGA Command Line Interactive and Scriptable Application";
-    homepage = "https://mega.nz/cmd";
+    homepage = "https://mega.io/cmd";
     license = with licenses; [ bsd2 gpl3Only ];
     platforms = [ "i686-linux" "x86_64-linux" ];
     maintainers = with maintainers; [ lunik1 ];
diff --git a/pkgs/applications/misc/megasync/default.nix b/pkgs/applications/misc/megasync/default.nix
index 4b273981fa9..15b7060ff26 100644
--- a/pkgs/applications/misc/megasync/default.nix
+++ b/pkgs/applications/misc/megasync/default.nix
@@ -28,13 +28,13 @@
 }:
 mkDerivation rec {
   pname = "megasync";
-  version = "4.6.1.0";
+  version = "4.6.3.0";
 
   src = fetchFromGitHub {
     owner = "meganz";
     repo = "MEGAsync";
     rev = "v${version}_Linux";
-    sha256 = "0v2fvji9hs7valya0wx5qjx01c7yjld6nnp6m9gpxfkr30h5s5wb";
+    sha256 = "1j86vr8n2a17my61vkmx83cay1ibllzjprl5bfwaby5ibh4zclz4";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/michabo/default.nix b/pkgs/applications/misc/michabo/default.nix
index 015a326fdc9..c356dc19786 100644
--- a/pkgs/applications/misc/michabo/default.nix
+++ b/pkgs/applications/misc/michabo/default.nix
@@ -10,7 +10,6 @@
 
 let
   desktopItem = makeDesktopItem {
-    type = "Application";
     name = "Michabo";
     desktopName = "Michabo";
     exec = "Michabo";
diff --git a/pkgs/applications/misc/mkgmap/default.nix b/pkgs/applications/misc/mkgmap/default.nix
index 5c24ff633af..144e6298207 100644
--- a/pkgs/applications/misc/mkgmap/default.nix
+++ b/pkgs/applications/misc/mkgmap/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkgmap";
-  version = "4855";
+  version = "4895";
 
   src = fetchurl {
     url = "https://www.mkgmap.org.uk/download/mkgmap-r${version}-src.tar.gz";
-    sha256 = "isWweNCL/oslPtO3chtbLmf4aK5Z8ArGpcesqeZCEuE=";
+    sha256 = "jGSDH90ze0hHa9nAaeEkj1sfADEk7EatGrePM3+/SDk=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/mob/default.nix b/pkgs/applications/misc/mob/default.nix
index 15a7275bd80..ef3f5c58853 100644
--- a/pkgs/applications/misc/mob/default.nix
+++ b/pkgs/applications/misc/mob/default.nix
@@ -9,13 +9,13 @@
 
 buildGoPackage rec {
   pname = "mob";
-  version = "2.2.1";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "remotemobprogramming";
     repo = pname;
-    sha256 = "sha256-1yE3KFGY51m6OL4LYrz+BSCHQSnbQRSpB3EUqAzSr+M=";
+    sha256 = "sha256-vrs8PHKZMQO9AAvvbs8Hfg9Mq3j9LgAwocnaPEPddw8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/moolticute/default.nix b/pkgs/applications/misc/moolticute/default.nix
index 11f6e7bbc04..7097f584f54 100644
--- a/pkgs/applications/misc/moolticute/default.nix
+++ b/pkgs/applications/misc/moolticute/default.nix
@@ -28,14 +28,14 @@ mkDerivation rec {
 
   preInstall = ''
     mkdir -p $udev/lib/udev/rules.d
-    sed -n '/^ \+cat > "$tmpfile" <<- EOF$/,/^EOF$/p' ../data/moolticute.sh |
+    sed -n '/^UDEV_RULE=="\$(cat <<-EOF$/,/^EOF$/p' ../data/moolticute.sh |
         sed '1d;$d' > $udev/lib/udev/rules.d/50-mooltipass.rules
  '';
 
   meta = with lib; {
     description = "GUI app and daemon to work with Mooltipass device via USB";
     longDescription = ''
-      To install udev rules, add `services.udev.packages == [ moolticute.udev ]`
+      To install udev rules, add `services.udev.packages = [ pkgs.moolticute.udev ]`
       into `nixos/configuration.nix`.
     '';
     homepage = "https://github.com/mooltipass/moolticute";
diff --git a/pkgs/applications/misc/mupdf/default.nix b/pkgs/applications/misc/mupdf/default.nix
index f23ca82074f..7bb9a89b8b3 100644
--- a/pkgs/applications/misc/mupdf/default.nix
+++ b/pkgs/applications/misc/mupdf/default.nix
@@ -31,42 +31,14 @@ let
 
 in
 stdenv.mkDerivation rec {
-  version = "1.18.0";
+  version = "1.19.0";
   pname = "mupdf";
 
   src = fetchurl {
     url = "https://mupdf.com/downloads/archive/${pname}-${version}-source.tar.gz";
-    sha256 = "0rljl44y8p8hgaqializlyrgpij1wbnrzyp0ll5kcg7w05nylq48";
+    sha256 = "1vfyhlqq1a0k0drcggly4bgsjasmf6lmpfbdi5xcrwdbzkagrbr1";
   };
 
-  patches = lib.optional stdenv.isDarwin ./darwin.patch ++ [
-    (fetchpatch {
-      name = "pdfocr.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=a507b139adf37d2c742e039815601cdc2aa00a84";
-      sha256 = "1fx6pdgwrbk3bqsx53764d61llfj9s5q8lxqkna7mjnp7mg4krj3";
-    })
-    (fetchpatch {
-      name = "pdf-layer.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=b82e9b6d6b46877e5c3763cc3bc641c66fa7eb54";
-      sha256 = "0ma8jq8d9a0mf26qjklgi4gdaflpjik1br1nhafzvjz7ccl56ksm";
-    })
-    (fetchpatch {
-      name = "pixmap.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=32e4e8b4bcbacbf92af7c88337efae21986d9603";
-      sha256 = "1zqkxgwrhcwsdya98pcmpq2815jjmv3fwsp0sba9f5nq5xi6whbj";
-    })
-    (fetchpatch {
-      name = "CVE-2021-3407.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=cee7cefc610d42fd383b3c80c12cbc675443176a";
-      sha256 = "18g9jsj90jnqibaff8pqi70a7x8ygc3sh4jl4xnvlv8vr7fxxbh6";
-    })
-    (fetchpatch {
-      name = "CVE-2021-37220.patch";
-      url = "http://git.ghostscript.com/?p=mupdf.git;a=patch;h=f5712c9949d026e4b891b25837edd2edc166151f";
-      sha256 = "1zyw6w6zr7k2akpzkyycj2zzw3y5qc7afsn1ysklfj2rvb6cnsx3";
-    })
-  ];
-
   postPatch = ''
     sed -i "s/__OPENJPEG__VERSION__/${openJpegVersion}/" source/fitz/load-jpx.c
   '';
diff --git a/pkgs/applications/misc/navi/default.nix b/pkgs/applications/misc/navi/default.nix
index 840db0400f5..30adf58a49f 100644
--- a/pkgs/applications/misc/navi/default.nix
+++ b/pkgs/applications/misc/navi/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "navi";
-  version = "2.18.0";
+  version = "2.19.0";
 
   src = fetchFromGitHub {
     owner = "denisidoro";
     repo = "navi";
     rev = "v${version}";
-    sha256 = "sha256-JG0MZrvpx+cAFcZJK05GUI10PG53UmxjJjveAZA7k/M=";
+    sha256 = "sha256-tbnhbjtrVlxx21L15UocUSwvUesl5D/QoM/2r55rwOo=";
   };
 
-  cargoSha256 = "sha256-S2DBzeir6+JS1jfVxCQ68v4Rl7UBpghbtE+wdu341xw=";
+  cargoSha256 = "sha256-X5t5mJoda8xTIVw3+u6yOvp78lS4rW3Ud6d/4ttsNbc=";
 
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/misc/notejot/default.nix b/pkgs/applications/misc/notejot/default.nix
index 24525443935..deda8b07f47 100644
--- a/pkgs/applications/misc/notejot/default.nix
+++ b/pkgs/applications/misc/notejot/default.nix
@@ -17,24 +17,12 @@
 
 stdenv.mkDerivation rec {
   pname = "notejot";
-  version = "3.3.3"; # make sure to recheck src.rev
+  version = "3.4.9";
 
   src = fetchFromGitHub {
     owner = "lainsce";
     repo = pname;
-    # Note from Fedora spec file:
-    # https://src.fedoraproject.org/rpms/notejot/blob/bbe621cef4d5a2c27eed029063b8e8cfd7c8d400/f/notejot.spec
-    # Upstream confusingly made several bugfix post-releases of version 3.3.3,
-    # tagged as 3.4.x, but with prominent notices like "This is still 3.3.3". We
-    # respect upstream’s wishes (and the version numbers inside the source tarball)
-    # by packaging these releases as 3.3.3 with appropriate snapshot info.
-    # https://github.com/lainsce/notejot/releases/tag/3.4.9
-    #
-    # Note that sometimes upstream don't update their version in meson.build
-    # (https://github.com/lainsce/notejot/issues/236), always follow the version
-    # from Fedora Rawhide.
-    # https://github.com/lainsce/notejot/blob/3.4.9/meson.build#L1
-    rev = "3.4.9";
+    rev = version;
     hash = "sha256-42k9CAnXAb7Ic580SIa95MDCkCWtso1F+0eD69HX8WI=";
   };
 
@@ -66,9 +54,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/lainsce/notejot";
-    description = "Stupidly-simple sticky notes applet";
+    description = "Stupidly-simple notes app";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ AndersonTorres ] ++ teams.pantheon.members;
+    maintainers = with maintainers; [ AndersonTorres ];
     platforms = platforms.linux;
     mainProgram = "io.github.lainsce.Notejot";
   };
diff --git a/pkgs/applications/misc/obinskit/default.nix b/pkgs/applications/misc/obinskit/default.nix
index 664b2bf03ac..973a05ad1d7 100644
--- a/pkgs/applications/misc/obinskit/default.nix
+++ b/pkgs/applications/misc/obinskit/default.nix
@@ -15,7 +15,7 @@ let
     icon = "obinskit";
     desktopName = "Obinskit";
     genericName = "Obinskit keyboard configurator";
-    categories = "Utility";
+    categories = [ "Utility" ];
   };
   electron = electron_13;
 in
diff --git a/pkgs/applications/misc/obsidian/default.nix b/pkgs/applications/misc/obsidian/default.nix
index 6626c332157..5e71f7d0d10 100644
--- a/pkgs/applications/misc/obsidian/default.nix
+++ b/pkgs/applications/misc/obsidian/default.nix
@@ -15,7 +15,7 @@ let
     comment = "Knowledge base";
     icon = "obsidian";
     exec = "obsidian";
-    categories = "Office";
+    categories = [ "Office" ];
   };
 
   updateScript = writeScript "obsidian-updater" ''
diff --git a/pkgs/applications/misc/octoprint/default.nix b/pkgs/applications/misc/octoprint/default.nix
index 84565a5dff2..eda78c54a10 100644
--- a/pkgs/applications/misc/octoprint/default.nix
+++ b/pkgs/applications/misc/octoprint/default.nix
@@ -6,24 +6,24 @@
 , substituteAll
 , nix-update-script
   # To include additional plugins, pass them here as an overlay.
-, packageOverrides ? self: super: {}
+, packageOverrides ? self: super: { }
 }:
 let
   mkOverride = attrname: version: sha256:
-  self: super: {
-    ${attrname} = super.${attrname}.overridePythonAttrs (
-      oldAttrs: {
-        inherit version;
-        src = oldAttrs.src.override {
-          inherit version sha256;
-        };
-      }
-    );
-  };
+    self: super: {
+      ${attrname} = super.${attrname}.overridePythonAttrs (
+        oldAttrs: {
+          inherit version;
+          src = oldAttrs.src.override {
+            inherit version sha256;
+          };
+        }
+      );
+    };
 
   py = python3.override {
     self = py;
-    packageOverrides = lib.foldr lib.composeExtensions (self: super: {}) (
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) (
       [
         # the following dependencies are non trivial to update since later versions introduce backwards incompatible
         # changes that might affect plugins, or due to other observed problems
@@ -57,7 +57,7 @@ let
                 inherit version;
                 sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
               };
-              doCheck= false;
+              doCheck = false;
             });
           }
         )
@@ -92,7 +92,7 @@ let
                   pysocks
                 ];
                 disabledTests = [
-                  "testConnect"  # requires network access
+                  "testConnect" # requires network access
                 ];
               }
             );
@@ -154,10 +154,60 @@ let
               disabledTests = [
                 "test_apply_simulates_delivery_info"
                 "test_auto_enabling_integrations_catches_import_error"
+                "test_leaks"
               ];
               disabledTestPaths = [
                 # Don't test integrations
                 "tests/integrations"
+                # test crashes on aarch64
+                "tests/test_transport.py"
+              ];
+            });
+          }
+        )
+
+        # Octoprint fails due to a newly added test in pytest-httpbin
+        # see https://github.com/NixOS/nixpkgs/issues/159864
+        (
+          self: super: {
+            pytest-httpbin = super.pytest-httpbin.overridePythonAttrs (oldAttrs: rec {
+              disabledTests = [
+                "test_redirect_location_is_https_for_secure_server"
+              ];
+            });
+          }
+        )
+
+        # All test fail on aarch64
+        (
+          self: super: {
+            azure-core = super.azure-core.overridePythonAttrs (oldAttrs: rec {
+              doCheck = stdenv.buildPlatform == "x86_64-linux";
+            });
+          }
+        )
+
+        # needs network
+        (
+          self: super: {
+            falcon = super.falcon.overridePythonAttrs (oldAttrs: rec {
+              #pytestFlagsArray = [ "-W ignore::DeprecationWarning" ];
+              disabledTestPaths = oldAttrs.disabledTestPaths ++ [
+                "tests/asgi/test_asgi_servers.py"
+              ];
+            });
+          }
+        )
+
+        # update broke some tests
+        (
+          self: super: {
+            sanic = super.sanic.overridePythonAttrs (oldAttrs: rec {
+              disabledTestPaths = oldAttrs.disabledTestPaths ++ [
+                "test_cli.py"
+                "test_cookies.py"
+                # requires network
+                "test_worker.py"
               ];
             });
           }
@@ -302,29 +352,30 @@ let
                 })
               ];
 
-              postPatch = let
-                ignoreVersionConstraints = [
-                  "cachelib"
-                  "colorlog"
-                  "emoji"
-                  "immutabledict"
-                  "PyYAML"
-                  "sarge"
-                  "sentry-sdk"
-                  "watchdog"
-                  "wrapt"
-                  "zeroconf"
-                ];
-              in
+              postPatch =
+                let
+                  ignoreVersionConstraints = [
+                    "cachelib"
+                    "colorlog"
+                    "emoji"
+                    "immutabledict"
+                    "PyYAML"
+                    "sarge"
+                    "sentry-sdk"
+                    "watchdog"
+                    "wrapt"
+                    "zeroconf"
+                  ];
+                in
                 ''
-                  sed -r -i \
-                    ${lib.concatStringsSep "\n" (
-                  map (
-                    e:
-                      ''-e 's@${e}[<>=]+.*@${e}",@g' \''
-                  ) ignoreVersionConstraints
-                )}
-                    setup.py
+                    sed -r -i \
+                      ${lib.concatStringsSep "\n" (
+                    map (
+                      e:
+                        ''-e 's@${e}[<>=]+.*@${e}",@g' \''
+                    ) ignoreVersionConstraints
+                  )}
+                      setup.py
                 '';
 
               dontUseSetuptoolsCheck = true;
@@ -360,4 +411,4 @@ let
     );
   };
 in
-  with py.pkgs; toPythonApplication octoprint
+with py.pkgs; toPythonApplication octoprint
diff --git a/pkgs/applications/misc/oil/default.nix b/pkgs/applications/misc/oil/default.nix
new file mode 100644
index 00000000000..173cea2ee1c
--- /dev/null
+++ b/pkgs/applications/misc/oil/default.nix
@@ -0,0 +1,45 @@
+{ stdenvNoCC, lib, fetchFromGitHub, jq, gawk, peco, makeWrapper }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "oil-buku";
+  version = "0.3.2";
+
+  src = fetchFromGitHub {
+    owner = "AndreiUlmeyda";
+    repo = "oil";
+    rev = version;
+    sha256 = "12g0fd7h11hh94b2pyg3pqwbf8bc7gcnrnm1qqbf18s6z02b6ixr";
+  };
+
+  postPatch = ''
+    substituteInPlace src/oil --replace \
+      "LIBDIR=/usr/local/lib/oil" "LIBDIR=${placeholder "out"}/lib"
+
+    substituteInPlace Makefile --replace \
+      "LIBDIR ?= /usr/local/lib/oil" "LIBDIR ?= ${placeholder "out"}/lib" \
+
+    substituteInPlace Makefile --replace \
+      "BINDIR ?= /usr/local/bin" "BINDIR ?= ${placeholder "out"}/bin"
+
+    substituteInPlace src/json-to-line.jq --replace \
+      "/usr/bin/env -S jq" "${jq}/bin/jq"
+
+    substituteInPlace src/format-columns.awk --replace \
+      "/usr/bin/env -S awk" "${gawk}/bin/awk"
+  '';
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postFixup = ''
+    wrapProgram $out/bin/oil \
+        --prefix PATH : ${lib.makeBinPath [ peco ]}
+  '';
+
+  meta = with lib; {
+    description = "Search-as-you-type cli frontend for the buku bookmarks manager using peco";
+    homepage = "https://github.com/AndreiUlmeyda/oil";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/applications/misc/opentrack/default.nix b/pkgs/applications/misc/opentrack/default.nix
index 9bef85c2b24..009633f3273 100644
--- a/pkgs/applications/misc/opentrack/default.nix
+++ b/pkgs/applications/misc/opentrack/default.nix
@@ -45,7 +45,7 @@ in mkDerivation {
       };
       desktopName = name;
       genericName = "Head tracking software";
-      categories = "Utility;";
+      categories = [ "Utility" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/orca/default.nix b/pkgs/applications/misc/orca/default.nix
index a558ac67f7d..d0b2c85f107 100644
--- a/pkgs/applications/misc/orca/default.nix
+++ b/pkgs/applications/misc/orca/default.nix
@@ -34,13 +34,13 @@
 
 buildPythonApplication rec {
   pname = "orca";
-  version = "41.1";
+  version = "41.2";
 
   format = "other";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "H9ArmQlPCfbnLfd54actzkFCfsguJFpOqDIzqX7tonE=";
+    sha256 = "1/Jy6ps3+9ZFTkAh5GU4okcibhwKxXDW4rhOlxmqKv4=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/osmium-tool/default.nix b/pkgs/applications/misc/osmium-tool/default.nix
index 7e63bf04eef..a2f2a676aba 100644
--- a/pkgs/applications/misc/osmium-tool/default.nix
+++ b/pkgs/applications/misc/osmium-tool/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "osmium-tool";
-  version = "1.13.2";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "osmium-tool";
     rev = "v${version}";
-    sha256 = "sha256-dLYmY2bS+DycYBLZdLw8CsRIIE8EfDJEx6RZ/r9yMS8=";
+    sha256 = "sha256-xedunFzar44o+b/45isXWacDcC81wWkxgGwnpLPH/n0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/otpclient/default.nix b/pkgs/applications/misc/otpclient/default.nix
index 364bb6c80de..afc0ac71d5d 100644
--- a/pkgs/applications/misc/otpclient/default.nix
+++ b/pkgs/applications/misc/otpclient/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "otpclient";
-  version = "2.4.7";
+  version = "2.4.8";
 
   src = fetchFromGitHub {
     owner = "paolostivanin";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UR7h+btmOSnpjkrQMiABcM1tOFjOhNVWuKYDF9qXfFo=";
+    sha256 = "sha256-2exqMYcxg0UxlH+ZANQv2MFii9dZ6nizB4vxGR9cAwk=";
   };
 
   buildInputs = [ gtk3 jansson libgcrypt libzip libpng libcotp zbar ];
diff --git a/pkgs/applications/misc/p2pool/default.nix b/pkgs/applications/misc/p2pool/default.nix
index 0776cc6572c..230ec3182b7 100644
--- a/pkgs/applications/misc/p2pool/default.nix
+++ b/pkgs/applications/misc/p2pool/default.nix
@@ -6,6 +6,7 @@
 , lib
 , libsodium
 , libuv
+, nix-update-script
 , openssl
 , pkg-config
 , zeromq
@@ -13,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "p2pool";
-  version = "1.4";
+  version = "1.7";
 
   src = fetchFromGitHub {
     owner = "SChernykh";
     repo = "p2pool";
     rev = "v${version}";
-    sha256 = "sha256-syeVRweQJTNzKVl9FuIQl36WwzoI/oV2ULZbSGiDkv0=";
+    sha256 = "sha256-ohfC10U7srs5IrFWPF5AKPwXPHaRxlYRK4ZZ0pE8tEs=";
     fetchSubmodules = true;
   };
 
@@ -34,6 +35,12 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "Decentralized pool for Monero mining";
     homepage = "https://github.com/SChernykh/p2pool";
diff --git a/pkgs/applications/misc/pdfsam-basic/default.nix b/pkgs/applications/misc/pdfsam-basic/default.nix
index 782fc30f4d6..745796098e8 100644
--- a/pkgs/applications/misc/pdfsam-basic/default.nix
+++ b/pkgs/applications/misc/pdfsam-basic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pdfsam-basic";
-  version = "4.2.10";
+  version = "4.2.12";
 
   src = fetchurl {
     url = "https://github.com/torakiki/pdfsam/releases/download/v${version}/pdfsam_${version}-1_amd64.deb";
-    sha256 = "sha256-YxUozMrsR65A7+xeerMaYxkGALobG1wLguWGZnoQYcU=";
+    sha256 = "sha256-B9V3dw5A52yPoNfROI3+wAql+Y0hY4T3sTm9uN70TQQ=";
   };
 
   unpackPhase = ''
@@ -35,8 +35,8 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "PDFsam Basic";
     genericName = "PDF Split and Merge";
-    mimeType = "application/pdf;";
-    categories = "Office;";
+    mimeTypes = [ "application/pdf" ];
+    categories = [ "Office" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/pdfstudio/common.nix b/pkgs/applications/misc/pdfstudio/common.nix
index 7240e8a026e..8c034d6636b 100644
--- a/pkgs/applications/misc/pdfstudio/common.nix
+++ b/pkgs/applications/misc/pdfstudio/common.nix
@@ -40,10 +40,8 @@ let
         exec = "${pname} %f";
         icon = "${pname}${year}";
         comment = "Views and edits PDF files";
-        mimeType = "application/pdf";
-        categories = "Office";
-        type = "Application";
-        terminal = false;
+        mimeTypes = [ "application/pdf" ];
+        categories = [ "Office" ];
       })
     ];
 
diff --git a/pkgs/applications/misc/pgadmin/default.nix b/pkgs/applications/misc/pgadmin/default.nix
index 1bcc36557af..4e9d674d0cf 100644
--- a/pkgs/applications/misc/pgadmin/default.nix
+++ b/pkgs/applications/misc/pgadmin/default.nix
@@ -52,9 +52,8 @@ stdenv.mkDerivation rec {
       genericName = "SQL Administration";
       exec = "pgadmin3";
       icon = "pgAdmin3";
-      type = "Application";
-      categories = "Development;";
-      mimeType = "text/html";
+      categories = [ "Development" ];
+      mimeTypes = [ "text/html" ];
     };
   in ''
     mkdir -p $out/share/pixmaps;
diff --git a/pkgs/applications/misc/phoc/default.nix b/pkgs/applications/misc/phoc/default.nix
index 67e7407225b..7acdcdf02c4 100644
--- a/pkgs/applications/misc/phoc/default.nix
+++ b/pkgs/applications/misc/phoc/default.nix
@@ -43,7 +43,7 @@ let
   });
 in stdenv.mkDerivation rec {
   pname = "phoc";
-  version = "0.11.0";
+  version = "0.12.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -51,7 +51,7 @@ in stdenv.mkDerivation rec {
     owner = "Phosh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oUZtJzclVRSbLG3flF3ryLuvp1kPUtYNsmCG0csSC2A=";
+    sha256 = "sha256-kfMM/YjgAktpOKHNcxxl1FPVbgATPDNRhEJ/sVT1LYs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/plasma-theme-switcher/default.nix b/pkgs/applications/misc/plasma-theme-switcher/default.nix
new file mode 100644
index 00000000000..fb8d407ef12
--- /dev/null
+++ b/pkgs/applications/misc/plasma-theme-switcher/default.nix
@@ -0,0 +1,42 @@
+{
+  stdenv, lib, cmake, extra-cmake-modules, fetchFromGitHub, qtbase, kdeFrameworks
+}:
+
+stdenv.mkDerivation rec {
+  pname = "plasma-theme-switcher";
+  version = "0.1";
+  dontWrapQtApps = true;
+
+  src = fetchFromGitHub {
+    owner = "maldoinc";
+    repo = "plasma-theme-switcher";
+    rev = "v${version}";
+    sha256 = "sdcJ6K5QmglJEDIEl4sd8x7DuCPCqMHRxdYbcToM46Q=";
+  };
+
+  buildInputs = [
+    qtbase
+    kdeFrameworks.plasma-framework
+  ];
+
+  nativeBuildInputs = [
+    cmake
+    extra-cmake-modules
+  ];
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    cp plasma-theme $out/bin
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/maldoinc/plasma-theme-switcher/";
+    description = "A KDE Plasma theme switcher";
+    license = with licenses; [ gpl2Only ];
+    maintainers = with maintainers; [ kevink ];
+  };
+}
diff --git a/pkgs/applications/misc/plater/default.nix b/pkgs/applications/misc/plater/default.nix
index 9b034f9f904..e2e1906926a 100644
--- a/pkgs/applications/misc/plater/default.nix
+++ b/pkgs/applications/misc/plater/default.nix
@@ -28,7 +28,7 @@ mkDerivation rec {
     icon = pname;
     desktopName = "Ideamaker";
     genericName = meta.description;
-    categories = "Utility;Engineering;";
+    categories = ["Utility" "Engineering"];
   };
 
   postInstall = ''
diff --git a/pkgs/applications/misc/premid/default.nix b/pkgs/applications/misc/premid/default.nix
index 98ac0de3268..d2b8663d245 100644
--- a/pkgs/applications/misc/premid/default.nix
+++ b/pkgs/applications/misc/premid/default.nix
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
       icon = pname;
       desktopName = "PreMiD";
       genericName = meta.description;
-      mimeType = "x-scheme-handler/premid";
+      mimeTypes = [ "x-scheme-handler/premid" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/prusa-slicer/default.nix b/pkgs/applications/misc/prusa-slicer/default.nix
index f66bb4a3b77..d72d605f021 100644
--- a/pkgs/applications/misc/prusa-slicer/default.nix
+++ b/pkgs/applications/misc/prusa-slicer/default.nix
@@ -99,7 +99,7 @@ stdenv.mkDerivation rec {
       comment = "G-code generator for 3D printers";
       desktopName = "PrusaSlicer";
       genericName = "3D printer tool";
-      categories = "Development;";
+      categories = [ "Development" ];
     })
     (makeDesktopItem {
       name = "PrusaSlicer G-code Viewer";
@@ -108,7 +108,7 @@ stdenv.mkDerivation rec {
       comment = "G-code viewer for 3D printers";
       desktopName = "PrusaSlicer G-code Viewer";
       genericName = "G-code Viewer";
-      categories = "Development;";
+      categories = [ "Development" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/prusa-slicer/super-slicer.nix b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
index 930051d5b1e..de00c1174b9 100644
--- a/pkgs/applications/misc/prusa-slicer/super-slicer.nix
+++ b/pkgs/applications/misc/prusa-slicer/super-slicer.nix
@@ -39,7 +39,7 @@ let
         comment = description;
         desktopName = appname;
         genericName = "3D printer tool";
-        categories = "Development;";
+        categories = [ "Development" ];
       })
     ];
 
diff --git a/pkgs/applications/misc/pueue/default.nix b/pkgs/applications/misc/pueue/default.nix
index 8ee84f2ca0d..0a7b4bc7933 100644
--- a/pkgs/applications/misc/pueue/default.nix
+++ b/pkgs/applications/misc/pueue/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pueue";
-  version = "1.0.6";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "Nukesor";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xEbmCVZ28CHVvI6tGCQWzMFrmVyCQ2Xmzh2Lz3tGU14=";
+    sha256 = "sha256-eFO9v+CZ3sFJJ0Ksa2sV5snjBz9lUkElGSj4DfEUebs=";
   };
 
-  cargoSha256 = "sha256-8g/dNCm5I5/qCAPOGQ9a453DND8LoeSpX9Nb8LwUme4=";
+  cargoSha256 = "sha256-cyuDXMmVrVx3kluumR6WleMzuoV+261f47rpkVYHzZA=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/misc/qMasterPassword/default.nix b/pkgs/applications/misc/qMasterPassword/default.nix
index f557a8bf994..af0c1d6ca6f 100644
--- a/pkgs/applications/misc/qMasterPassword/default.nix
+++ b/pkgs/applications/misc/qMasterPassword/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, mkDerivation, fetchFromGitHub, qtbase, qmake, qttools, libX11, libXtst, openssl, libscrypt }:
 
 mkDerivation rec {
-  pname = "qMasterPassword-unstable";
-  version = "2022-01-28";
+  pname = "qMasterPassword";
+  version = "1.2.3";
 
   src = fetchFromGitHub {
     owner = "bkueng";
-    repo = "qMasterPassword";
-    rev = "7ade33952531731c266c2597f4212c93aca68c59";
-    sha256 = "sha256-MdV6AkRh072++sKoeuwvhgqLEfUkTF34xt6OH9n59Q0=";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-eUJD9FoGaDzADKm3wZHs5Bhdt7RoM1WTTVNP6xUV7gs=";
   };
 
   buildInputs = [ qtbase libX11 libXtst openssl libscrypt ];
diff --git a/pkgs/applications/misc/qcad/default.nix b/pkgs/applications/misc/qcad/default.nix
index 2e75977d68a..86ed90cbd4a 100644
--- a/pkgs/applications/misc/qcad/default.nix
+++ b/pkgs/applications/misc/qcad/default.nix
@@ -21,10 +21,11 @@ mkDerivation rec {
   version = "3.27.1.6";
 
   src = fetchFromGitHub {
+    name = "qcad-${version}-src";
     owner = "qcad";
     repo = "qcad";
     rev = "v${version}";
-    sha256 = "sha256-ouvWE1fa4DfPLqFYuMsUPWDx/NUaoCc7TfR6Ed0uuF4=";
+    sha256 = "sha256-NnaCwbk8w0ZPnBz7xxs5LMFMUSnEERCSRBXpJL0u+s0=";
   };
 
   patches = [
diff --git a/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix b/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix
index 7805c06bd6f..5734adc1b7d 100644
--- a/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix
+++ b/pkgs/applications/misc/remarkable/remarkable-mouse/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonApplication rec {
   pname = "remarkable-mouse";
-  version = "7.0.0";
+  version = "7.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c67cd1ef4c46290cb74731c163c3fefc35590cd24749ec354af23012984d99e";
+    sha256 = "sha256-kpKA3vrQo45Y6Qy6mcjJxJY3dpXV0ckNIfKdDVS5qhM=";
   };
 
   propagatedBuildInputs = with python3Packages; [ screeninfo paramiko pynput libevdev ];
diff --git a/pkgs/applications/misc/remarkable/rmview/default.nix b/pkgs/applications/misc/remarkable/rmview/default.nix
index bc98a960bfb..4147909892f 100644
--- a/pkgs/applications/misc/remarkable/rmview/default.nix
+++ b/pkgs/applications/misc/remarkable/rmview/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "rmview";
-  version = "3.1";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "bordaigorl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11p62dglxnvml3x95mi2sfai1k0gmvzwixzijr3gls2ss73maffw";
+    sha256 = "sha256-lUzmOayMHftvCukXSxXr6tBzrr2vaua1ey9gsuCKOBc=";
   };
 
   nativeBuildInputs = with python3Packages; [ pyqt5 wrapQtAppsHook ];
@@ -18,10 +18,6 @@ python3Packages.buildPythonApplication rec {
     pyrcc5 -o src/rmview/resources.py resources.qrc
   '';
 
-  preFixup = ''
-    wrapQtApp "$out/bin/rmview"
-  '';
-
   meta = with lib; {
     description = "Fast live viewer for reMarkable 1 and 2";
     homepage = "https://github.com/bordaigorl/rmview";
diff --git a/pkgs/applications/misc/robo3t/default.nix b/pkgs/applications/misc/robo3t/default.nix
index 1499cfc40dc..8c644e5f3cc 100644
--- a/pkgs/applications/misc/robo3t/default.nix
+++ b/pkgs/applications/misc/robo3t/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
     comment = "Query GUI for mongodb";
     desktopName = "Robo3T";
     genericName = "MongoDB management tool";
-    categories = "Development;IDE;";
+    categories = [ "Development" "IDE" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/misc/rofi-file-browser/default.nix b/pkgs/applications/misc/rofi-file-browser/default.nix
index 7a86ef0f232..0dff62cca22 100644
--- a/pkgs/applications/misc/rofi-file-browser/default.nix
+++ b/pkgs/applications/misc/rofi-file-browser/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-file-browser-extended";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "marvinkreis";
     repo = pname;
     rev = version;
-    sha256 = "sha256-TNAAImQaIJRgvD8kFf2oHNj4bQiq1NhD8KkCgW5dSK8=";
+    sha256 = "sha256-UEFv0skFzWhgFkmz1h8uV1ygW977zNq1Dw8VAawqUgw=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/misc/scli/default.nix b/pkgs/applications/misc/scli/default.nix
index 7b513a67e66..05223aeb5c1 100644
--- a/pkgs/applications/misc/scli/default.nix
+++ b/pkgs/applications/misc/scli/default.nix
@@ -8,13 +8,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "scli";
-  version = "0.6.6";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "isamert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "16hfp8dn270amrilvv3sjqhq2x295kw0cxszf63jh405z3ql834g";
+    sha256 = "sha256-DUDf5FlcNZzZASa8vTc72Z1/Dk+iAhtcgVJtjDUwyEo=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/applications/misc/seatd/default.nix b/pkgs/applications/misc/seatd/default.nix
index e142ec47af9..3149c171bde 100644
--- a/pkgs/applications/misc/seatd/default.nix
+++ b/pkgs/applications/misc/seatd/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "seatd";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchFromSourcehut {
     owner = "~kennylevinsen";
     repo = "seatd";
     rev = version;
-    sha256 = "sha256-LLRGi3IACqaIHExLhALnUeiPyUnlhAJzsMFE2p+QSp4=";
+    sha256 = "1k0wz68aqr9xgpyrfrsmrjn5b634qmm7fwv2d73w112hjmgvjxk5";
   };
 
   outputs = [ "bin" "out" "dev" "man" ];
diff --git a/pkgs/applications/misc/sidequest/default.nix b/pkgs/applications/misc/sidequest/default.nix
index a1be4a6b52e..e26a40667da 100644
--- a/pkgs/applications/misc/sidequest/default.nix
+++ b/pkgs/applications/misc/sidequest/default.nix
@@ -8,7 +8,7 @@
       exec = "SideQuest";
       desktopName = name;
       genericName = "VR App Store";
-      categories = "Settings;PackageManager;";
+      categories = [ "Settings" "PackageManager" ];
     };
 
     sidequest = stdenv.mkDerivation {
diff --git a/pkgs/applications/misc/simplenote/default.nix b/pkgs/applications/misc/simplenote/default.nix
index 675fe9cf1a5..f723ba27beb 100644
--- a/pkgs/applications/misc/simplenote/default.nix
+++ b/pkgs/applications/misc/simplenote/default.nix
@@ -46,14 +46,13 @@ let
     };
 
     desktopItem = makeDesktopItem {
-      categories = "Development";
+      categories = [ "Development" ];
       comment = "Simplenote for Linux";
       desktopName = "Simplenote";
       exec = "simplenote %U";
       icon = "simplenote";
       name = "simplenote";
-      startupNotify = "true";
-      type = "Application";
+      startupNotify = true;
     };
 
     dontBuild = true;
diff --git a/pkgs/applications/misc/skate/default.nix b/pkgs/applications/misc/skate/default.nix
index 1c5dcc7be54..bb2315e7cff 100644
--- a/pkgs/applications/misc/skate/default.nix
+++ b/pkgs/applications/misc/skate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "skate";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "skate";
     rev = "v${version}";
-    sha256 = "sha256-rUOFx0ebZs3xmsSz9oFvjINaHp9gIe7E/5UoJJ47aZc=";
+    sha256 = "sha256-vZps/VXNK+17quPyE1b56YXE2GsW3oB4vPi7sA8EPGE=";
   };
 
-  vendorSha256 = "sha256-2jyhDSPO/Xg3xBCA93SMSlm7D+ze0MGbNtRpL82IAsk=";
+  vendorSha256 = "sha256-7cf/ldBli/q7aNiCO7qIw8o09hVpwDxF2h/UelP86V4=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/misc/slic3r/default.nix b/pkgs/applications/misc/slic3r/default.nix
index 49ff51c2f48..f4dd6c7185f 100644
--- a/pkgs/applications/misc/slic3r/default.nix
+++ b/pkgs/applications/misc/slic3r/default.nix
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     comment = "G-code generator for 3D printers";
     desktopName = "Slic3r";
     genericName = "3D printer tool";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
   prePatch = ''
diff --git a/pkgs/applications/misc/slides/default.nix b/pkgs/applications/misc/slides/default.nix
index 336271b6cb1..7287958d99e 100644
--- a/pkgs/applications/misc/slides/default.nix
+++ b/pkgs/applications/misc/slides/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "slides";
-  version = "0.7.2";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "maaslalani";
     repo = "slides";
     rev = "v${version}";
-    sha256 = "02zdgn0pnjqharvmn9rww45yrja8dzww64s3fryxx4pm8g5km9nf";
+    sha256 = "sha256-05geDWZSpFjLywuWkI+FPaTaO9dyNuPuMBk7dc1Yl6I=";
   };
 
   checkInputs = [
@@ -21,7 +21,7 @@ buildGoModule rec {
     go
   ];
 
-  vendorSha256 = "11gxr22a24icryvglx9pjmqn5bjy8adfhh1nmjnd21nvy0nh4im7";
+  vendorSha256 = "sha256-i+bbSwiH7TD+huxpTREThxnPkQZTMQJO7AP4kTlCseo=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/applications/misc/snapmaker-luban/default.nix b/pkgs/applications/misc/snapmaker-luban/default.nix
index 6f2b43785c7..b5bcbabf867 100644
--- a/pkgs/applications/misc/snapmaker-luban/default.nix
+++ b/pkgs/applications/misc/snapmaker-luban/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
       icon = "snapmaker-luban";
       desktopName = "Snapmaker Luban";
       genericName = meta.description;
-      categories = "Office;Printing;";
+      categories = [ "Office" "Printing" ];
     })
   ];
 
diff --git a/pkgs/applications/misc/spicetify-cli/default.nix b/pkgs/applications/misc/spicetify-cli/default.nix
index 539cebedcb6..7617984ac91 100644
--- a/pkgs/applications/misc/spicetify-cli/default.nix
+++ b/pkgs/applications/misc/spicetify-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "spicetify-cli";
-  version = "2.8.5";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "khanhas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cCIlKTHo+LyhIZkN6ncggBvZMwDBgXqDJVAfGWbUtj8=";
+    sha256 = "sha256-Rs70LmJ/+pbISQpPuEYV2URFv7uf+jdTVQopUSKExSY=";
   };
 
   vendorSha256 = "sha256-g0RYIVIq4oMXdRZDBDnVYg7ombN5WEo/6O9hChQvOYs=";
diff --git a/pkgs/applications/misc/stork/default.nix b/pkgs/applications/misc/stork/default.nix
index 7ff59d9baa3..11face45145 100644
--- a/pkgs/applications/misc/stork/default.nix
+++ b/pkgs/applications/misc/stork/default.nix
@@ -3,29 +3,35 @@
 , fetchFromGitHub
 , openssl
 , pkg-config
+, stdenv
+, darwin
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "stork";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "jameslittle230";
     repo = "stork";
     rev = "v${version}";
-    sha256 = "sha256-or8PDEj97ChZq6r3WlwETYbU6EvoEuh8HfTyBIbbO8M=";
+    sha256 = "sha256-9fylJcUuModemkBRnXeFfB1b+CD9IvTxW+CnlqaUb60=";
   };
 
-  cargoSha256 = "sha256-UpIPbY2beO1H0YR9kV1SkG6C3qcO4x2acfgqI3x5jiM=";
+  cargoSha256 = "sha256-j7OXl66xuTuP6hWJs+xHrwtaBGAYt02OESCN6FH3KX0=";
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   meta = with lib; {
     description = "Impossibly fast web search, made for static sites";
     homepage = "https://github.com/jameslittle230/stork";
     license = with licenses; [ asl20 ];
     maintainers = with maintainers; [ chuahou ];
+    # TODO: Remove once nixpkgs uses macOS SDK 10.14+ for x86_64-darwin
+    # Undefined symbols for architecture x86_64: "_SecTrustEvaluateWithError"
+    broken = stdenv.isDarwin && stdenv.isx86_64;
   };
 }
diff --git a/pkgs/applications/misc/stretchly/default.nix b/pkgs/applications/misc/stretchly/default.nix
index d333640fc50..4316905e655 100644
--- a/pkgs/applications/misc/stretchly/default.nix
+++ b/pkgs/applications/misc/stretchly/default.nix
@@ -59,7 +59,7 @@ stdenv.mkDerivation rec {
     icon = icon;
     desktopName = "Stretchly";
     genericName = "Stretchly";
-    categories = "Utility;";
+    categories = [ "Utility" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/subsurface/default.nix b/pkgs/applications/misc/subsurface/default.nix
index ba3880aa201..02bf65761f0 100644
--- a/pkgs/applications/misc/subsurface/default.nix
+++ b/pkgs/applications/misc/subsurface/default.nix
@@ -20,7 +20,8 @@ let
     inherit version;
 
     src = subsurfaceSrc;
-    sourceRoot = "source/libdivecomputer";
+
+    prePatch = "cd libdivecomputer";
 
     nativeBuildInputs = [ autoreconfHook ];
 
diff --git a/pkgs/applications/misc/surface-control/default.nix b/pkgs/applications/misc/surface-control/default.nix
index e4b354845dd..d8708c5a3df 100644
--- a/pkgs/applications/misc/surface-control/default.nix
+++ b/pkgs/applications/misc/surface-control/default.nix
@@ -1,19 +1,20 @@
-{ lib, rustPlatform, fetchFromGitHub, installShellFiles, coreutils }:
+{ lib, rustPlatform, fetchFromGitHub, pkg-config, installShellFiles, udev, coreutils }:
 
 rustPlatform.buildRustPackage rec {
   pname = "surface-control";
-  version = "0.3.1-2";
+  version = "0.4.1-2";
 
   src = fetchFromGitHub {
     owner = "linux-surface";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SLJ4mwBafLGL5pneMTHLc4S4Tgds2xLqByWFH95TK1k=";
+    sha256 = "sha256-ZgtEmjk1HwoKkyuOiMWalK5RPb3ML8HM/wwz8OM9HoI=";
   };
 
-  cargoSha256 = "sha256-NH33AMuwf4bOF9zZJlONVMYgrrYSBq5VQClYW/rbzsM=";
+  cargoSha256 = "sha256-CsPyY/NA2+Lecemuor2nHd6yzf2PvMK7NZyvY3vewpI=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  nativeBuildInputs = [ pkg-config installShellFiles ];
+  buildInputs = [ udev ];
 
   postInstall = ''
     installShellCompletion \
diff --git a/pkgs/applications/misc/survex/default.nix b/pkgs/applications/misc/survex/default.nix
index f8f8b5b553c..17888cc8041 100644
--- a/pkgs/applications/misc/survex/default.nix
+++ b/pkgs/applications/misc/survex/default.nix
@@ -1,68 +1,61 @@
 { lib
 , stdenv
-, fetchgit
-, autoreconfHook
+, fetchurl
+, Carbon
+, Cocoa
+, ffmpeg
+, glib
+, libGLU
+, mesa
+, perl
 , pkg-config
+, proj
+, python3
+, wrapGAppsHook
 , wxGTK30-gtk3
 , wxmac
-, ffmpeg
-, proj_7
-, perl532
-, unscii
-, python2
-, libGL
-, libGLU
 , xlibsWrapper
-, docbook2x
-, docbook5
-, Carbon
-, Cocoa
 }:
 
-let
-  perlenv = perl532.withPackages (perlPackages: with perlPackages; [ LocalePO ] );
-in
 stdenv.mkDerivation rec {
   pname = "survex";
-  version = "1.2.44";
+  version = "1.4.1";
 
-  nativeBuildInputs = [ docbook5 docbook2x autoreconfHook pkg-config perlenv python2 ];
+  nativeBuildInputs = [
+    perl
+    pkg-config
+    python3
+    wrapGAppsHook
+  ];
 
   buildInputs = [
-    libGL libGLU ffmpeg proj_7
+    ffmpeg
+    glib
+    libGLU
+    mesa
+    proj
   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
-    wxmac Carbon Cocoa
+    Carbon
+    Cocoa
+    wxmac
   ] ++ lib.optionals stdenv.hostPlatform.isLinux [
-    wxGTK30-gtk3 xlibsWrapper
+    wxGTK30-gtk3
+    xlibsWrapper
   ];
 
-  src = fetchgit {
-    url = "git://git.survex.com/survex";
-    rev = version;
-    sha256 = "11gaqmabrf3av665jy3mr0m8hg76fmvnd0g3rghzmyh8d8v6xk34";
+  src = fetchurl {
+    url = "https://survex.com/software/${version}/${pname}-${version}.tar.gz";
+    hash = "sha256-69X1jGjBTQIQzkD1mTZTzE8L/GXnnf5SI52l7eIiLz4=";
   };
 
-  enableParallelBuilding = true;
-
-  # Docs rely on sgmltools-lite, a package that would be quite complex to
-  # provide as it is quite old. So this preConfigure hook effectively disables
-  # the doc generation. An example of packaging sgmltools-lite from Gentoo can
-  # be found here:
-  # https://gitweb.gentoo.org/repo/gentoo.git/tree/app-text/sgmltools-lite/sgmltools-lite-3.0.3-r15.ebuild?id=0b8b716331049599ea3299981e3a9ea6e258c5e0
-
   postPatch = ''
     patchShebangs .
-    echo "" > doc/Makefile.am
-    # substituteInPlace doc/Makefile --replace "docbook2man" "docbook2man --sgml" # Will be needed once sgmltools-lite is packaged.
-    for perltool in './extract-msgs.pl' './gettexttomsg.pl' '$(srcdir)/gdtconvert' '$(srcdir)/gen_img2aven'; do
-      substituteInPlace src/Makefile.am \
-        --replace "$perltool" "${perlenv}/bin/perl $perltool"
-    done
-    substituteInPlace lib/Makefile.am \
-      --replace '$(srcdir)/make-pixel-font' '${perlenv}/bin/perl $(srcdir)/make-pixel-font'
-    substituteInPlace lib/make-pixel-font --replace /usr/share/unifont/unifont.hex ${unscii.extra}/share/fonts/misc/unifont.hex
   '';
 
+  enableParallelBuilding = true;
+  doCheck = (!stdenv.isDarwin); # times out
+  enableParallelChecking = false;
+
   meta = with lib; {
     description = "Free Software/Open Source software package for mapping caves";
     longDescription = ''
@@ -71,7 +64,7 @@ stdenv.mkDerivation rec {
       variety of platforms, including Linux/Unix, macOS, and Microsoft Windows.
     '';
     homepage = "https://survex.com/";
-    changelog = "https://github.com/ojwb/survex/blob/${version}/NEWS";
+    changelog = "https://github.com/ojwb/survex/raw/v${version}/NEWS";
     license = licenses.gpl2Plus;
     maintainers = [ maintainers.matthewcroughan ];
     platforms = platforms.all;
diff --git a/pkgs/applications/misc/sweethome3d/default.nix b/pkgs/applications/misc/sweethome3d/default.nix
index bfe9af76841..f2c8e6075d9 100644
--- a/pkgs/applications/misc/sweethome3d/default.nix
+++ b/pkgs/applications/misc/sweethome3d/default.nix
@@ -37,7 +37,7 @@ let
       icon = pname;
       comment =  description;
       genericName = "Computer Aided (Interior) Design";
-      categories = "Graphics;2DGraphics;3DGraphics;";
+      categories = [ "Graphics" "2DGraphics" "3DGraphics" ];
     };
 
     postPatch = ''
diff --git a/pkgs/applications/misc/sweethome3d/editors.nix b/pkgs/applications/misc/sweethome3d/editors.nix
index d6ea3fccfa6..9ef9fd0f7f4 100644
--- a/pkgs/applications/misc/sweethome3d/editors.nix
+++ b/pkgs/applications/misc/sweethome3d/editors.nix
@@ -40,7 +40,7 @@ let
       name = pname;
       comment =  description;
       genericName = "Computer Aided (Interior) Design";
-      categories = "Graphics;2DGraphics;3DGraphics;";
+      categories = [ "Graphics" "2DGraphics" "3DGraphics" ];
     };
 
     nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/applications/misc/teleprompter/default.nix b/pkgs/applications/misc/teleprompter/default.nix
index 96265356ead..7e4ac3a5701 100644
--- a/pkgs/applications/misc/teleprompter/default.nix
+++ b/pkgs/applications/misc/teleprompter/default.nix
@@ -30,7 +30,6 @@ stdenv.mkDerivation rec {
   desktopItem = makeDesktopItem {
      name = "teleprompter";
      exec = "teleprompter";
-     type = "Application";
      desktopName = "Teleprompter";
   };
 
diff --git a/pkgs/applications/misc/ticker/default.nix b/pkgs/applications/misc/ticker/default.nix
index e345c344f90..ebc9b499668 100644
--- a/pkgs/applications/misc/ticker/default.nix
+++ b/pkgs/applications/misc/ticker/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "ticker";
-  version = "4.4.4";
+  version = "4.5.0";
 
   src = fetchFromGitHub {
     owner = "achannarasappa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KICxcfZLBwCo12p5R9wt7Tk440wkUIE7G6lGfWIdxR8=";
+    sha256 = "sha256-THVzurv1LB2lxGsCw0ZPUF5QLgtUfN4ZNp8ak05I2Es=";
   };
 
-  vendorSha256 = "sha256-1FnewgsKlOnBAdm7vyBngrFsDHNCzpZA3IDccxALeJ8=";
+  vendorSha256 = "sha256-6bosJ2AlbLZ551tCNPmvNyyReFJG+iS3SYUFti2/CAw=";
 
   ldflags = [
     "-s" "-w" "-X github.com/achannarasappa/ticker/cmd.Version=v${version}"
diff --git a/pkgs/applications/misc/tiv/default.nix b/pkgs/applications/misc/tiv/default.nix
index 1ee176166ea..3a46d2db9be 100644
--- a/pkgs/applications/misc/tiv/default.nix
+++ b/pkgs/applications/misc/tiv/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tiv";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "stefanhaustein";
     repo = "TerminalImageViewer";
     rev = "v${version}";
-    sha256 = "17zqbwj2imk6ygyc142mw6v4fh7h4rd5vzn5wxr9gs0g8qdc6ixn";
+    sha256 = "sha256-mCgybL4af19zqECN1pBV+WnxMq2ZtlK5GDTQO3u9CK0=";
   };
 
   buildInputs = [ imagemagick ];
diff --git a/pkgs/applications/misc/toggldesktop/default.nix b/pkgs/applications/misc/toggldesktop/default.nix
index 6623a8775a9..910f92a849e 100644
--- a/pkgs/applications/misc/toggldesktop/default.nix
+++ b/pkgs/applications/misc/toggldesktop/default.nix
@@ -133,7 +133,7 @@ let
   '';
 
   desktopItem = makeDesktopItem rec {
-    categories = "Utility;";
+    categories = [ "Utility" ];
     desktopName = "Toggl";
     genericName = desktopName;
     name = "toggldesktop";
diff --git a/pkgs/applications/misc/trenchbroom/default.nix b/pkgs/applications/misc/trenchbroom/default.nix
index b6ff0211691..8a702506060 100644
--- a/pkgs/applications/misc/trenchbroom/default.nix
+++ b/pkgs/applications/misc/trenchbroom/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
       desktopName = "TrenchBroom level editor";
       icon = "trenchbroom";
       comment = meta.description;
-      categories = "Development";
+      categories = [ "Development" ];
       exec = "trenchbroom";
     })
   ];
diff --git a/pkgs/applications/misc/tty-share/default.nix b/pkgs/applications/misc/tty-share/default.nix
index 08c88e376bb..7e76d4a4e0b 100644
--- a/pkgs/applications/misc/tty-share/default.nix
+++ b/pkgs/applications/misc/tty-share/default.nix
@@ -3,13 +3,13 @@
 # Upstream has a `./vendor` directory with all deps which we rely upon.
 buildGoPackage rec {
   pname = "tty-share";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchFromGitHub {
     owner = "elisescu";
     repo = "tty-share";
     rev = "v${version}";
-    sha256 = "sha256-+bdQ7KyGEdJJAopzGnDOcLvFNyiKqpagPR1EoU1VR5E=";
+    sha256 = "sha256-aAqKfi0ZX0UB07yGY6x0HcMspvq4rcJXKHSONxAwMlc=";
   };
 
   goPackagePath = "github.com/elisescu/tty-share";
diff --git a/pkgs/applications/misc/tvbrowser/bin.nix b/pkgs/applications/misc/tvbrowser/bin.nix
index fa08b5f555a..bd8fdf5e48c 100644
--- a/pkgs/applications/misc/tvbrowser/bin.nix
+++ b/pkgs/applications/misc/tvbrowser/bin.nix
@@ -8,11 +8,9 @@ let
     comment = "Themeable and easy to use TV Guide";
     desktopName = "TV-Browser";
     genericName = "Electronic TV Program Guide";
-    categories = "AudioVideo;TV;Java;";
-    startupNotify = "true";
-    extraEntries = ''
-      StartupWMClass=tvbrowser-TVBrowser
-    '';
+    categories = [ "AudioVideo" "TV" "Java" ];
+    startupNotify = true;
+    startupWMClass = "tvbrowser-TVBrowser";
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/applications/misc/whalebird/default.nix b/pkgs/applications/misc/whalebird/default.nix
index bb1b9213fde..d478655eed1 100644
--- a/pkgs/applications/misc/whalebird/default.nix
+++ b/pkgs/applications/misc/whalebird/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "whalebird";
-  version = "4.5.0";
+  version = "4.5.1";
 
   src = fetchurl {
     url = "https://github.com/h3poteto/whalebird-desktop/releases/download/${version}/Whalebird-${version}-linux-x64.deb";
-    sha256 = "sha256-yl4R/1flm2Lfvyh9PXlJcZ1VtnP8nBQC0i7zs4U+g7g=";
+    sha256 = "sha256-70fCyxiM4CiNuG4Lqr4Tq0FHak3wDcp8G93EKYj+0kc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/wike/default.nix b/pkgs/applications/misc/wike/default.nix
index ef4a0ab7e59..c3e5a505722 100644
--- a/pkgs/applications/misc/wike/default.nix
+++ b/pkgs/applications/misc/wike/default.nix
@@ -7,20 +7,18 @@
 , libhandy, webkitgtk, glib-networking
 , gnome, dconf
 }:
-let
-  pythonEnv = python3.withPackages (p: with p; [
-    pygobject3
-    requests
-  ]);
-in stdenv.mkDerivation rec {
+
+python3.pkgs.buildPythonApplication rec {
   pname = "wike";
-  version = "1.7.0";
+  version = "1.7.1";
+  format = "other";
+  strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
   src = fetchFromGitHub {
     owner = "hugolabe";
     repo = "Wike";
     rev = version;
-    sha256 = "sha256-Cv4gmAUqViHJEAgueLOUX+cI775QopfRA6vmHgQvCUY=";
+    sha256 = "sha256-QLhfzGRrc2En0Hu+UdtPM572PdtXqOFL0W3LoAki4jI=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +33,6 @@ in stdenv.mkDerivation rec {
 
   buildInputs = [
     glib
-    pythonEnv
     gtk3
     libhandy
     webkitgtk
@@ -44,10 +41,13 @@ in stdenv.mkDerivation rec {
     dconf
   ];
 
+  propagatedBuildInputs = with python3.pkgs; [
+    requests
+    pygobject3
+  ];
+
   postPatch = ''
     patchShebangs build-aux/meson/postinstall.py
-    substituteInPlace src/wike.in    --replace "@PYTHON@" "${pythonEnv}/bin/python"
-    substituteInPlace src/wike-sp.in --replace "@PYTHON@" "${pythonEnv}/bin/python"
   '';
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/xmind/default.nix b/pkgs/applications/misc/xmind/default.nix
index 5f71f909926..bcc4fca33b1 100644
--- a/pkgs/applications/misc/xmind/default.nix
+++ b/pkgs/applications/misc/xmind/default.nix
@@ -33,8 +33,8 @@ stdenv.mkDerivation rec {
     icon = "xmind";
     desktopName = "XMind";
     comment = meta.description;
-    categories = "Office;";
-    mimeType = "application/xmind;x-scheme-handler/xmind";
+    categories = [ "Office" ];
+    mimeTypes = [ "application/xmind" "x-scheme-handler/xmind" ];
   };
 
   installPhase = let
diff --git a/pkgs/applications/misc/xmrig/default.nix b/pkgs/applications/misc/xmrig/default.nix
index 3f3c7932a5b..e40a0d7e5ad 100644
--- a/pkgs/applications/misc/xmrig/default.nix
+++ b/pkgs/applications/misc/xmrig/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xmrig";
-  version = "6.16.3";
+  version = "6.16.4";
 
   src = fetchFromGitHub {
     owner = "xmrig";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "sha256-YR/8ApkuZtO2vJA/VlZ06JdQnGDbTzQ5fNqHgBpFZjQ=";
+    sha256 = "sha256-hfdKhTUGoVN4DIURO+e3MOSpsL6GWxOV3LItd0nA51Y=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/misc/xmrig/moneroocean.nix b/pkgs/applications/misc/xmrig/moneroocean.nix
index 94af6d130b9..25f27bd5063 100644
--- a/pkgs/applications/misc/xmrig/moneroocean.nix
+++ b/pkgs/applications/misc/xmrig/moneroocean.nix
@@ -2,13 +2,13 @@
 
 xmrig.overrideAttrs (oldAttrs: rec {
   pname = "xmrig-mo";
-  version = "6.16.2-mo2";
+  version = "6.16.4-mo1";
 
   src = fetchFromGitHub {
     owner = "MoneroOcean";
     repo = "xmrig";
     rev = "v${version}";
-    sha256 = "sha256-o2TtkoKa4DQ6tM1GdKVEmkWoJvnvxQc514wwgsfTDnE=";
+    sha256 = "sha256-OnKz/Sl/b0wpZ1tqeEXhNxNNmQJXBhv5YNnKu9aOVZA=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/misc/xpdf/default.nix b/pkgs/applications/misc/xpdf/default.nix
index eb5ebf3a717..927b04d5e21 100644
--- a/pkgs/applications/misc/xpdf/default.nix
+++ b/pkgs/applications/misc/xpdf/default.nix
@@ -42,8 +42,7 @@ stdenv.mkDerivation rec {
     comment = "Views Adobe PDF files";
     icon = "xpdf";
     exec = "xpdf %f";
-    categories = "Office;";
-    terminal = "false";
+    categories = [ "Office" ];
   };
 
   postInstall = lib.optionalString (!stdenv.isDarwin) ''
diff --git a/pkgs/applications/misc/yambar/default.nix b/pkgs/applications/misc/yambar/default.nix
index 3b915cae5ff..88b5046d179 100644
--- a/pkgs/applications/misc/yambar/default.nix
+++ b/pkgs/applications/misc/yambar/default.nix
@@ -27,7 +27,8 @@
 
 let
   # Courtesy of sternenseemann and FRidh
-  mesonFeatureFlag = opt: b: "-D${opt}=${if b then "enabled" else "disabled"}";
+  mesonFeatureFlag = feature: flag:
+    "-D${feature}=${if flag then "enabled" else "disabled"}";
 in
 stdenv.mkDerivation rec {
   pname = "yambar";
@@ -38,7 +39,7 @@ stdenv.mkDerivation rec {
     owner = "dnkl";
     repo = "yambar";
     rev = version;
-    sha256 = "0d8n9hvmxj7759pfqssqcl9wvb986qsph8bnjsjm9bf97mflhy6d";
+    hash = "sha256-zXhIXT3JrVSllnYheDU2KK3NE2VYa+xuKufIXjdMFjU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/misc/yate/default.nix b/pkgs/applications/misc/yate/default.nix
index 3046638ec4a..bffe67491c3 100644
--- a/pkgs/applications/misc/yate/default.nix
+++ b/pkgs/applications/misc/yate/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "yate";
-  version = "6.1.0-1";
+  version = "6.4.0-1";
 
   src = fetchurl {
     url = "http://voip.null.ro/tarballs/yate${lib.versions.major version}/${pname}-${version}.tar.gz";
-    sha256 = "0xx3i997nsf2wzbv6m5n6adsym0qhgc6xg4rsv0fwqrgisf5327d";
+    hash = "sha256-jCPca/+/jUeNs6hZZLUBl3HI9sms9SIPNGVRanSKA7A=";
   };
 
   # TODO zaptel ? postgres ?
@@ -14,12 +14,14 @@ stdenv.mkDerivation rec {
   buildInputs = [ qt4 openssl ];
 
   # /dev/null is used when linking which is a impure path for the wrapper
-  preConfigure =
+  postPatch =
     ''
-      sed -i 's@,/dev/null@@' configure
       patchShebangs configure
+      substituteInPlace configure --replace ",/dev/null" ""
     '';
 
+  enableParallelBuilding = false; # fails to build if true
+
   # --unresolved-symbols=ignore-in-shared-libs makes ld no longer find --library=yate? Why?
   preBuild =
     ''
@@ -34,7 +36,7 @@ stdenv.mkDerivation rec {
     homepage = "http://yate.null.ro/";
     # Yate's license is GPL with an exception for linking with
     # OpenH323 and PWlib (licensed under MPL).
-    license = ["GPL" "MPL"];
+    license = lib.licenses.gpl2Only;
     maintainers = [ lib.maintainers.marcweber ];
     platforms = [ "i686-linux" "x86_64-linux" ];
   };
diff --git a/pkgs/applications/misc/zettlr/default.nix b/pkgs/applications/misc/zettlr/default.nix
index bb7425f2e67..0d4c21dbfea 100644
--- a/pkgs/applications/misc/zettlr/default.nix
+++ b/pkgs/applications/misc/zettlr/default.nix
@@ -10,11 +10,11 @@
 # Based on https://gist.github.com/msteen/96cb7df66a359b827497c5269ccbbf94 and joplin-desktop nixpkgs.
 let
   pname = "zettlr";
-  version = "2.1.3";
+  version = "2.2.3";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Zettlr/Zettlr/releases/download/v${version}/Zettlr-${version}-x86_64.appimage";
-    sha256 = "sha256-prUKMtM9qf34OXaMjuWa1jTZ+2tn99rVJBdqk1El3zs=";
+    sha256 = "sha256-BXStGhCEXpQRyLjcS00CM/NI/NVRKpLTlW8Xh51fV8w=";
   };
   appimageContents = appimageTools.extractType2 {
     inherit name src;
diff --git a/pkgs/applications/networking/aether/default.nix b/pkgs/applications/networking/aether/default.nix
index 5682091237b..5f78b244ca4 100644
--- a/pkgs/applications/networking/aether/default.nix
+++ b/pkgs/applications/networking/aether/default.nix
@@ -63,8 +63,8 @@ stdenv.mkDerivation rec {
       icon = pname;
       desktopName = "Aether";
       genericName = meta.description;
-      categories = "Network;";
-      mimeType = "x-scheme-handler/aether";
+      categories = [ "Network" ];
+      mimeTypes = [ "x-scheme-handler/aether" ];
     })
   ];
 
diff --git a/pkgs/applications/networking/apache-directory-studio/default.nix b/pkgs/applications/networking/apache-directory-studio/default.nix
index d9fe26fdbdc..8b20c1aac6b 100644
--- a/pkgs/applications/networking/apache-directory-studio/default.nix
+++ b/pkgs/applications/networking/apache-directory-studio/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     comment = "Eclipse-based LDAP browser and directory client";
     desktopName = "Apache Directory Studio";
     genericName = "Apache Directory Studio";
-    categories = "Java;Network";
+    categories = [ "Java" "Network" ];
   };
 
   buildInputs = [ glib libsecret ];
diff --git a/pkgs/applications/networking/appgate-sdp/default.nix b/pkgs/applications/networking/appgate-sdp/default.nix
index bfe71ce7215..987f6e0c1ca 100644
--- a/pkgs/applications/networking/appgate-sdp/default.nix
+++ b/pkgs/applications/networking/appgate-sdp/default.nix
@@ -87,11 +87,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "appgate-sdp";
-  version = "5.5.2";
+  version = "5.5.3";
 
   src = fetchurl {
     url = "https://bin.appgate-sdp.com/${versions.majorMinor version}/client/appgate-sdp_${version}_amd64.deb";
-    sha256 = "sha256-8K7RqkxpyRsQ3QHGIfTchLaZ7/+k0hbiJdl7uc++vYs=";
+    sha256 = "sha256-qSo4JX/Jj+JkeetZIMw88MK7SzOgT8aNbQby2kJ91oo=";
   };
 
   # just patch interpreter
diff --git a/pkgs/applications/networking/blocky/default.nix b/pkgs/applications/networking/blocky/default.nix
index 8bc0963338f..2f2a708455e 100644
--- a/pkgs/applications/networking/blocky/default.nix
+++ b/pkgs/applications/networking/blocky/default.nix
@@ -1,24 +1,25 @@
 { buildGoModule
 , fetchFromGitHub
 , lib
+, nixosTests
 }:
 
 buildGoModule rec {
   pname = "blocky";
-  version = "0.17";
+  version = "0.18";
 
   src = fetchFromGitHub {
     owner = "0xERR0R";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vG6QAI8gBI2nLRQ0nOFWQHihyzgmJu69rgkWlg3iW3E=";
+    sha256 = "sha256-rFHDoNrEmMSNEc3RLdSeRk9mF05drUYfJFQKHAk5alE=";
   };
 
   # needs network connection and fails at
   # https://github.com/0xERR0R/blocky/blob/development/resolver/upstream_resolver_test.go
   doCheck = false;
 
-  vendorSha256 = "sha256-+mpNPDejK9Trhw41SUXJPL/OX5wQR0QfA2+BXSlE0Jk=";
+  vendorSha256 = "sha256-rrqDjh5e3KX5+saYjnMPG0bhr5YEOPfz0QCRf6omNZI=";
 
   meta = with lib; {
     description = "Fast and lightweight DNS proxy as ad-blocker for local network with many features.";
@@ -27,4 +28,6 @@ buildGoModule rec {
     license = licenses.asl20;
     maintainers = with maintainers; [ ratsclub ];
   };
+
+  passthru.tests = { inherit (nixosTests) blocky; };
 }
diff --git a/pkgs/applications/networking/browsers/brave/default.nix b/pkgs/applications/networking/browsers/brave/default.nix
index 16be1b2f7c0..6fb29619ab9 100644
--- a/pkgs/applications/networking/browsers/brave/default.nix
+++ b/pkgs/applications/networking/browsers/brave/default.nix
@@ -12,7 +12,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gnome
 , gsettings-desktop-schemas
 , gtk3
@@ -60,7 +59,6 @@ rpath = lib.makeLibraryPath [
   freetype
   gdk-pixbuf
   glib
-  gnome2.GConf
   gtk3
   libdrm
   libpulseaudio
@@ -93,11 +91,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "brave";
-  version = "1.35.100";
+  version = "1.35.103";
 
   src = fetchurl {
     url = "https://github.com/brave/brave-browser/releases/download/v${version}/brave-browser_${version}_amd64.deb";
-    sha256 = "ToPh2uhWHMR6CS7wtos26iVuyKLXi3ctOP/dFyeosoM=";
+    sha256 = "UgperKruN2quKdFTf/iTa+dd2GB57nt+mu6KBe4VvYk=";
   };
 
   dontConfigure = true;
diff --git a/pkgs/applications/networking/browsers/chromium/common.nix b/pkgs/applications/networking/browsers/chromium/common.nix
index 0f021b20750..c377c0ab207 100644
--- a/pkgs/applications/networking/browsers/chromium/common.nix
+++ b/pkgs/applications/networking/browsers/chromium/common.nix
@@ -220,7 +220,7 @@ let
       # Link to our own Node.js and Java (required during the build):
       mkdir -p third_party/node/linux/node-linux-x64/bin
       ln -s "${pkgsBuildHost.nodejs}/bin/node" third_party/node/linux/node-linux-x64/bin/node
-      ln -s "${pkgsBuildHost.jre8}/bin/java" third_party/jdk/current/bin/
+      ln -s "${pkgsBuildHost.jre8_headless}/bin/java" third_party/jdk/current/bin/
 
       # Allow building against system libraries in official builds
       sed -i 's/OFFICIAL_BUILD/GOOGLE_CHROME_BUILD/' tools/generate_shim_headers/generate_shim_headers.py
diff --git a/pkgs/applications/networking/browsers/chromium/upstream-info.json b/pkgs/applications/networking/browsers/chromium/upstream-info.json
index 0780b136111..d5af1853486 100644
--- a/pkgs/applications/networking/browsers/chromium/upstream-info.json
+++ b/pkgs/applications/networking/browsers/chromium/upstream-info.json
@@ -1,8 +1,8 @@
 {
   "stable": {
-    "version": "98.0.4758.80",
-    "sha256": "0wa1jhsw7qrym4x8wxmdvdvbilb8jdv0mizzib2342l61zi6cwn8",
-    "sha256bin64": "0p2bh45ffgfhyh18bxw8fz4691g25s44lxxj4igk8b0bn71v1pgi",
+    "version": "98.0.4758.102",
+    "sha256": "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1",
+    "sha256bin64": "0pfrakkfqw6ni96s2d0z50mpd63maic9rsc64zd85vh2jkmzskw6",
     "deps": {
       "gn": {
         "version": "2021-12-07",
@@ -12,16 +12,16 @@
       }
     },
     "chromedriver": {
-      "version": "98.0.4758.48",
-      "sha256_linux": "1nk3vki803b30mc7ww911l68jfxmpp6mddyq02a3f68893qa2mcf",
-      "sha256_darwin": "09m5vsqfn6qyn3faf2p0dldll6fracjg6z81xzpyp2bh9zp8vk82",
-      "sha256_darwin_aarch64": "04lnbm9wiaz8dlc4qigxakcwghhjc3wvahvl5j80k8agkbv7fdvi"
+      "version": "98.0.4758.102",
+      "sha256_linux": "054qm8agzj6axvasa7b10cz4jz8zfmmblvvifdnyhn4p3zqx74im",
+      "sha256_darwin": "1m6slaw7lqhlhmjjyaam7c21yyahpi34fv9vldqhra07b5r88dny",
+      "sha256_darwin_aarch64": "0n0lsk75dxv94b2zv25yqysyfbvbqhfql3bbp9abl1jcp00m8s3l"
     }
   },
   "beta": {
-    "version": "99.0.4844.17",
-    "sha256": "18bhfy64rz4bilbzml33856azwzq4bhiisc2jlbncdnmk3x6n71s",
-    "sha256bin64": "1vaxcfgiww4skanny5ks431jyrnf0rgx7g850m29v8v49c3qflm8",
+    "version": "99.0.4844.35",
+    "sha256": "085vsfp08y4vmv73z37ncynvax645qm302h883skx9xk4yyjkynj",
+    "sha256bin64": "18kys3f0zjkrp1x2vkcc9vx6vhj5yfrpb88lli7ql6q9b0ijjjn4",
     "deps": {
       "gn": {
         "version": "2022-01-10",
@@ -32,9 +32,9 @@
     }
   },
   "dev": {
-    "version": "100.0.4867.0",
-    "sha256": "1ay6p2aky90lf3gk3n87m4mrxyyhg4anr389kl648ijigsg6wlrd",
-    "sha256bin64": "11g8rlw5aahpn4cd2fl4b942g1giv05zcs10y0qrvirnwmp2i3ha",
+    "version": "100.0.4892.0",
+    "sha256": "03f003prk0vqxac7l0sp3nfhh3adlrdx60dklm74v504ykdw84yn",
+    "sha256bin64": "00033b2iq3aw5pvgm5nbh99sz8mj98rj32h1m6iw2xxwqaij06qw",
     "deps": {
       "gn": {
         "version": "2022-01-21",
@@ -45,9 +45,9 @@
     }
   },
   "ungoogled-chromium": {
-    "version": "98.0.4758.80",
-    "sha256": "0wa1jhsw7qrym4x8wxmdvdvbilb8jdv0mizzib2342l61zi6cwn8",
-    "sha256bin64": "0p2bh45ffgfhyh18bxw8fz4691g25s44lxxj4igk8b0bn71v1pgi",
+    "version": "98.0.4758.102",
+    "sha256": "0gpk13k8pfk65vinlmkg3p7mm0qb8z35psajkxzx0v3n2bllfns1",
+    "sha256bin64": "0pfrakkfqw6ni96s2d0z50mpd63maic9rsc64zd85vh2jkmzskw6",
     "deps": {
       "gn": {
         "version": "2021-12-07",
@@ -56,8 +56,8 @@
         "sha256": "02bx3bp85kkis704gndb6jvjph7gv3ij746bq4anl30kfrkpcifh"
       },
       "ungoogled-patches": {
-        "rev": "98.0.4758.80-1",
-        "sha256": "0a8y9yz6xyh025gk3dr0ndrdwmrslhd1ph2f8nivmqk61j7c2g8h"
+        "rev": "98.0.4758.102-1",
+        "sha256": "0baz90fnzpldw0wwibhmh4pmki7vlpci9b9vvifa0rj5cwckl8a0"
       }
     }
   }
diff --git a/pkgs/applications/networking/browsers/falkon/default.nix b/pkgs/applications/networking/browsers/falkon/default.nix
index f39ae2f1669..6b525fbca9f 100644
--- a/pkgs/applications/networking/browsers/falkon/default.nix
+++ b/pkgs/applications/networking/browsers/falkon/default.nix
@@ -8,23 +8,15 @@
 
 mkDerivation rec {
   pname = "falkon";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner  = "KDE";
     repo   = "falkon";
     rev    = "v${version}";
-    sha256 = "1w64slh9wpcfi4v7ds9wci1zvwh0dh787ndpi6hd4kmdgnswvsw7";
+    sha256 = "sha256-esi9YWd1PtQpDBhI1NtWEjZIoMoNUpAF+kQad67mLzE=";
   };
 
-  patches = [
-    # fixes build with qt5 5.14
-    (fetchpatch {
-      url = "https://github.com/KDE/falkon/commit/bbde5c6955c43bc744ed2c4024598495de908f2a.diff";
-      sha256 = "0f7qcddvvdnij3di0acg7jwvwfwyd0xizlav4wccclbj8x7qp5ld";
-    })
-  ];
-
   preConfigure = ''
     export NONBLOCK_JS_DIALOGS=true
     export KDE_INTEGRATION=true
diff --git a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
index 5a38d9d8d7a..7fa0ae18549 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/beta_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "96.0b3";
+  version = "98.0b5";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ach/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ach/firefox-98.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "780a8e746a4a638ab9cfb69b1dca27135cdf64809883551c0e79e0409487660a";
+      sha256 = "d572a56bbdaf004ff33ca5ea1079680a2af9b5b8ba9ca3989b34ba6d5d34abbb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/af/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/af/firefox-98.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "44b86759ab9a5bb675d9d05029cef6e0be17eecbe140ad1ce5d0fc554a8dcf36";
+      sha256 = "ac544b28cf44236f1d1e46ee5e1b3484c97cf732bc857eeae3682b501ccd9867";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/an/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/an/firefox-98.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "e4d73a06f2a918395c0428c4190cc080dd03a29a74f1677f297b6bd65ad488b3";
+      sha256 = "18eff485b959812f916f6925d4adf32a30e1fd3b82040db1ffb1c03aa9e76a5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ar/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ar/firefox-98.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "256f2b6d21cccddcaed24b511f71ca4bafdfc08ce989ad1eef45ab9bc009611f";
+      sha256 = "cb33eedbc186386dbe5bd96d294a202a3f4d43e72affcf62b2f5608580262902";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ast/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ast/firefox-98.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "bba26f8b77d27c03a969e08d8974ec9f7a85e0237ca3acacc884f945a9b18832";
+      sha256 = "34461a0d3e89768cf951f7a1d12a61732a66b38cc7f4493b028b1c49f810e265";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/az/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/az/firefox-98.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "da1c22e87189c991ce27929abe2172ccce6f4a25c44e836ee865550e259e6218";
+      sha256 = "6a7084f81c269b572f4d8b19ac686a97187be217e1a8e1a6d993470f60374d1b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/be/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/be/firefox-98.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "183bce430aa7ed98b72eb4492c5a9cf76a2e9961069140f272e438a5d20debc3";
+      sha256 = "85b951a4c3a9f73f74cf4374b142fe86306e26480461e665fee92d4d920fa716";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/bg/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/bg/firefox-98.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "145c856566f9063ba861ade8220071623df793b279bf2a3821742f9e0023af74";
+      sha256 = "03de393f231f1b54babb254a139e71a051861656f050f31605a8351f2a33507b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/bn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/bn/firefox-98.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "dce9827d70a5a7d182316d7286bc6cb4b5442d65bb5c3573d04b235b4a18616a";
+      sha256 = "ba3b9743502aeb38f510873854dd054ba21250394097f12b2f3ff8883c6c1e97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/br/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/br/firefox-98.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "0df80c30b78cde55015fab74763c7606f75eff72804166b5095eb321b51fa4da";
+      sha256 = "56478d56ef1a6e4340262eff9f5f64925aa62bea4774e41cfe97069760dc3505";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/bs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/bs/firefox-98.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "1df386c5001327bea3f5675acd52946dab3d0d8ff0bbcf65f8b291ac26a565d0";
+      sha256 = "b76eb84e8c2282a7ca11cd3208aa4445b52ff24fd06e0f4a2445b326c71b42c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ca-valencia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ca-valencia/firefox-98.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "c271c6d047c4dee3ea806caec31e2719acaa55aaa608ad86283de45e22cd05f5";
+      sha256 = "4f9325f1d1fbaa28a5be6599e2db4f55e69e5e10b0f11496e1c36e83c50ceced";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ca/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ca/firefox-98.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "30a2deb4dd1bb82406731f71001950d01ffbb9aa7a24f333e8f322fb23032f6a";
+      sha256 = "1f110c78565cace8c1def9c0343c0d4b2a0632d25a03fc0cda9462daa8292d41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/cak/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/cak/firefox-98.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "cbf31b80937ae4a425f4d5507a7f654958e7e93a6c12683c08982a3d14d2ba9a";
+      sha256 = "843ef97f99c5d0396485e9821a0600a2f2a724ff76b147c7883c3b05c89c34ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/cs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/cs/firefox-98.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "72c098b2512a40ce3437f7d329b46e648e4fd6e2d2b7ecdd1e3478b090cd50fc";
+      sha256 = "52394ebc3694fefedf33a65626020bf78610bd8d8fd732605f254d0532f3e804";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/cy/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/cy/firefox-98.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "0c05717640e8ff2e0fb52a510dcf3a35db34b911cbc85d2721e7e7e6307f0083";
+      sha256 = "5952065bc634b3a008798ac329172e68eafb9c18c84e99520465ffeadd36ebae";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/da/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/da/firefox-98.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "c29f815b19cc03e7d628fef8c86e4f06862e268b760e230cc7bdd04c2618a852";
+      sha256 = "7346203ba006416b010c05ba217792caa53fe5472b1239450100d0d75b2be301";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/de/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/de/firefox-98.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "6968c6d591a3b43e169dca16628eb4675b8803b90aaa8f605ae35f2115a75d3e";
+      sha256 = "272d56431cae04275648d25cb9b85c0d555cb839eed6bcd9bb8c088ba4983d58";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/dsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/dsb/firefox-98.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "47a8cac44c7d813f23ce263e698dad6dad44181c570055973879e57beeb82ee1";
+      sha256 = "5ce9c6d56b286aacf049580ca971cc5737498f62b6a9c177aa7634bec8ad13e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/el/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/el/firefox-98.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "476fcbf047743ea61d6e68d37a1bf1203d239667faf98abf5192f15e1b13b927";
+      sha256 = "2624a40add509da75dc22e8438147b7556fab463dd44793b918bd91826a5a3f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/en-CA/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/en-CA/firefox-98.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "26abc7c1e8aeef3e4898e1dcd120651dd30400a6da9a1c2af5ff02b1b406573d";
+      sha256 = "bb91268d5bdd7ca82642363c33af05223375596c4b2d4cf51195d1478985ec5b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/en-GB/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/en-GB/firefox-98.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "66b299656f71875f59287c8da5a3c2b0bca53fb69ca9b0f7a0402ad1eeb1aa87";
+      sha256 = "5c9e84e4116e2d65f87a8959bf384b51e9e1edbaab165d506c9e8051813bc767";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/en-US/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/en-US/firefox-98.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "37c37849f3d7125da14e3a71c8a9fa522b8756fea7e3e3f8a5792ef7c3285466";
+      sha256 = "389b11d44e6b50684e309b89bbc7baca1e86a2be26c3809b490b77fc3ccdb48a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/eo/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/eo/firefox-98.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "cd3ea6fbcbc947acbe1767be78a14fdce4c03b0b44d53e3670a0ffc5ba14dc68";
+      sha256 = "fd1a3ec9000492ddd64eaa2fb60bcbbd2a7af8b4fccbe78690378eb9ac365c07";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/es-AR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-AR/firefox-98.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "f661d48a11f66fc326e86126aa5c0de37311042a454719cc609a1c7ff102e423";
+      sha256 = "788018660eaf7b02a5e0279447e508863ebb75fed18299d4ae0279cb36f842a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/es-CL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-CL/firefox-98.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "056f25729222d95316034f0365679ff449a58e4d77624687cf9417e10b52085f";
+      sha256 = "3556d494d08f129aec339642a28dcae9f051cb0baef4344cf5bcec7326186f26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/es-ES/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-ES/firefox-98.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "64da785531a3e2f4b8179f3e9b551723bcce4c1210e184a03c98ec3e2ff1e220";
+      sha256 = "15a3d9d872d3e2e3ef2a795767b64a495f4b992aa72a80558d67b8f294d5b959";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/es-MX/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/es-MX/firefox-98.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "34af4d1a91b7e09e80d2f89730851c508521d6518b0aa2d3ff1924a34f7efba6";
+      sha256 = "9bcc96e62902977cb2f5f10fad4ada00c19a453d4c598787e92ce4e54e6adfdf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/et/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/et/firefox-98.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "a1b50e3ba15ae806ffd89ef22e12ee85ceda1eb17f458fb7e8abd6c4355a75d3";
+      sha256 = "b0cbbc22406961bd076d0a8792e7a166280a52e29804129db8c39f5f24248fe3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/eu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/eu/firefox-98.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "90ec59ce7774bade28052f4f8b5861476e3fb52878e48c8909d250fb6b6e17ad";
+      sha256 = "d82729e8551f3d4e9782d70c30e0aac3d1033acd57c0bb61c3073dfc7d1e8642";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/fa/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fa/firefox-98.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "3f09ea9568982a451798dece61a8f19131c4c88e98e2c03b1808503051873e73";
+      sha256 = "66de45bf96a23242566ef04ae6e402e08b35964e42c704e4f4350171f28e3b74";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ff/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ff/firefox-98.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "a483b0aaf523fe404a6b3ec07611812a5160cf8a5c05b0fee1afa6838e1949a6";
+      sha256 = "851ab51c00f3e59439dd7f482fa3361634600e5c2b63be5784472df912288b86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/fi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fi/firefox-98.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "12e17583c8932cfa6622ff68490e29d9e09d6862e8443ee1cd1d72f21f6516a7";
+      sha256 = "b1857154f9a49ac0acf8e99bf2491af4dd84cab2b1f1965acdd321311305c7a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/fr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fr/firefox-98.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "ac3809a3344ac239183a68551eebe5689c53c11c0a399ff4a94452a35ad86c81";
+      sha256 = "59e4d31c6532096215b223f41a3a5e59c29db0e9007d8b26260997878223efe7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/fy-NL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/fy-NL/firefox-98.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "9385c2bed2d3aa9b65651f396d9a2c6f8762dc4295319757f949fc9f04a6c717";
+      sha256 = "56707c16711c7c90cadd66eaf3084498769827fdacf6fb73b4eca60185c1b2d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ga-IE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ga-IE/firefox-98.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "f65df6f4d93a39b5bbb1c4c7827eb094a632dff7255b78affc7cc9794a28d3fa";
+      sha256 = "afd4b994549beb079ec0d04669824904d7f16e9ddd9cf323095ce32277d7865a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/gd/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gd/firefox-98.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "3cbbd914559e96205e665ad46cd9ba193428cd8d83df90c4fd4849cc11db13be";
+      sha256 = "1e96751aeee49e229afc0715d2d1b93f216b159a716075b6481d59add59c8e35";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/gl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gl/firefox-98.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "7b27f83190cdb84d2d9fca9bcb37bd1128086adfe772e676141fd9960c0de872";
+      sha256 = "2950aed5bf345de03873a8a0ab35885aa766a88776213d5f58798235e8130094";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/gn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gn/firefox-98.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "0194000216bb517390d301166c37228e2128f3b15280cf21629fe13de5f536da";
+      sha256 = "6f4afd656511c8cfbb933b8680ddee2bbf3ff584021193058e7eacabd152cf03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/gu-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/gu-IN/firefox-98.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "24c92df984f7eff4f294e27324420b0350c4069acade0a304a3e433ea11fadd7";
+      sha256 = "0b9cd7febe314aed67e85fba904b000dccd97d983e944a093699d80eb53134b0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/he/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/he/firefox-98.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "5a006adead9f8e647eaebbef8ca56a47116ad2fd1c308c4986aa81bf7618f815";
+      sha256 = "6a122b779d99bc42ddbdd85e97649953185f472c97d352d4e0f0cf96198bcca8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/hi-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hi-IN/firefox-98.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "e8d87a8ad9033793e0c25c8954ddc4f405274468a572f46af494847481bedf11";
+      sha256 = "551b20cc433c045a4e28628498548f6cc114998158386062be926238b674239d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/hr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hr/firefox-98.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "47964a5caec7f8ef0546ecba49e0d995dc9f67947fbcaafaa02789bdaa75e6c2";
+      sha256 = "15f1814fb99544f7b093ba6cf6de98be069696175d9ccd93db049b8e0a723a78";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/hsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hsb/firefox-98.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "67f89985f60d21b04a9a20449d38d673c45e74e82a1d5762d82713c02d3e63b2";
+      sha256 = "bc89304cd1f68d18de7d8711f334a14d972c35eb4a779e212ff470157b15525c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/hu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hu/firefox-98.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "2716ce5bcfaac25456a144eeff6e6b173600d08016574812abbb315a4d001ca1";
+      sha256 = "f7a85d9d1d529f245d456eab76ad26cecb6a1d58a5da15b5b6d20544af989772";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/hy-AM/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/hy-AM/firefox-98.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "c028cfa29f0ea60f284d749dc9818772c074efe3d295590a34a3d6a4548a8f7f";
+      sha256 = "f5b6c4ea7c8817f9b8740aa0954c74c7cedf30e659bdeec4b9b468ac7430ae25";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ia/firefox-98.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "5bd24eff8a4d95f27ff8df44d014d007c943a54fd1b5689435a1ce14b7f61375";
+      sha256 = "24d68a73da9e817f02233a4c39e1a6d56aa26d15b17a964de0d10cd65ff8f6aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/id/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/id/firefox-98.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "0483ce90f8702febedb73674d3cc23348a4e7ef62445084430636f0c4c1fb287";
+      sha256 = "86f7e09688943b242a83bda19b770f4720aa495c9f8503a79d22abb8a24793a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/is/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/is/firefox-98.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "d7b41cb2cd6ae22547d2c4d04dcadd5c4c05a4abf2b51d495baa749d4a2158b6";
+      sha256 = "52cbbd83f54f4e93b08d874f7f68cdaa168bb663c10c4a3534918bfef4812793";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/it/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/it/firefox-98.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "f5a5a825787fef1f8c4f2a0f0c013e8d39bf1a08c4523d79069c5fb335c0e5a0";
+      sha256 = "aeb7529d9a7dc88a23094589fd30c04f2d1366e5dae9a92bb16a7c9bbaf476ba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ja/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ja/firefox-98.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "64d8c649de837049c2f0f73736a74f141de5bf426e11d19f4e0a5553cba6412e";
+      sha256 = "9cf3e5bf609bd86f7cea748df34279fb9f421e76a3e3935e33e5af1b3ba32f06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ka/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ka/firefox-98.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "01ba137970e9b538bc09195dc3da66927b56fab6204bcab60a85e03055c80a0d";
+      sha256 = "c6d6d9524aeafef73aed12d2757520903a53deff32ddf55873e038f1a1b3e37b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/kab/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/kab/firefox-98.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "3a6b4e12f88226b0f19dc066a0f11cadf5a47d87f38540cbcc9f34e82c54290e";
+      sha256 = "c238bd3d49236ccc80d85b8ea9a5bfe95f7a93bdd9fc82f09dde2de314412027";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/kk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/kk/firefox-98.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "ecb9e0e63eb778892ce15d5df03e50bca8948a6e8dc3369b030cb716b172789a";
+      sha256 = "b34c10751ef34dbc41157711fc4f02c5c9d26104be971b1c9001704c2e695e3e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/km/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/km/firefox-98.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "31968f898a8916705c67e71bc5010cea11bb43e544f27febad644a624b32c773";
+      sha256 = "859629828f358f3b7933f98292f3df0047fa012cfdbc4db652eea0fcebd944a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/kn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/kn/firefox-98.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "105f4f83a1e0ed15e568a218d49fe5108462db67cda228e088cde3679dd48e04";
+      sha256 = "ae70facbaecd4b11d8e39eb6b40615c63e37eb9020933b443326c3ec6849277a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ko/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ko/firefox-98.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "37932385223cebf7a3f59c362c2abfca321bfab0fd6e5e3da6daa0ec76257784";
+      sha256 = "63b939612cb311aa31b9f2293e82cd0aafb1a857318db2f8cb022cd0d868324c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/lij/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/lij/firefox-98.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "ae5c8fbc88f15edf60fa1830ca19d32ca3277194c0669717360659da5ad07b68";
+      sha256 = "85c8edd159ad5b2843673a9beda883a349bebf1133ad64fef2685a61bbbb8d4e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/lt/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/lt/firefox-98.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "104cdce0099e51d71d3ae3b8fd4ec40a256d893450c8fc905035480be5d675d9";
+      sha256 = "fa5d9116fbb25a8c1b816357de21aa8e376ee0983c12ae6c842c0a015071829e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/lv/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/lv/firefox-98.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "d2e0055207f62681e4cc9c11ae1cd986179af1581af0252604762eed6637e726";
+      sha256 = "e744ece030a07f84c9cbf8a952c5dc2ab8fc3cb3889405978f79665917ab62a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/mk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/mk/firefox-98.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "8b03198b1d6424a1cd024fe17ce62a99c8b1b8c41798b0e229f802752a3b4551";
+      sha256 = "466d376a9f0caf60242aa0abb945b8899ac9d80080da3c4546c74d9e2e6c131c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/mr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/mr/firefox-98.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "5f5b132f3292cc0938e28f2c483a03b8ec76a95a306d3a928f2a2bde03f3af76";
+      sha256 = "c3077f608d9a5f655b50a0a14c024f5f8bca2dd6ab75901915fc379ec5e31311";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ms/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ms/firefox-98.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "9ba3cbfd2061d15356ebee861bad6d78be0cb5f4ea0ad9a13170ecdad67981a7";
+      sha256 = "de64870f7300f66ec653af11f4d38320c1b63f6ac2bcda3b7d21610ab83598e0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/my/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/my/firefox-98.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "700d224adc519fad23798afe919538ae54d53cfad4a74974ecabdf254afcffba";
+      sha256 = "91ecbb951fe4d987b226b40a9bb7efec4119cb43371fb57c98deecb538704ae6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/nb-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/nb-NO/firefox-98.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "a75fa004af0cef3548238264f7997ad60bcb46d415e3e91ff6e9b16bb86a4a9a";
+      sha256 = "bcccecd3ae6b89c6972a24d41967d20b487d55da6d0d489de0e69da6d9e95c0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ne-NP/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ne-NP/firefox-98.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "614d82dbc762f0ef2f565d95e5bff8d4212f8fa8174f294877e0ce155d75fb09";
+      sha256 = "808f5583b067f74ed584804ea4a32ca86bab336f808944ee5877c7a964bc84d6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/nl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/nl/firefox-98.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "a6b8f0c827443f32c25c478aa11981d714a57fbf752891c2f018fa9542820e6a";
+      sha256 = "2bdd1003f0a77b0c2d3703fcf952aa82dc8e0e56801945810fbe2343ff45c4f4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/nn-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/nn-NO/firefox-98.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "6227882b432684768b739058e7f1aa15e92157348e19b36053e70255172f0b04";
+      sha256 = "c31423b965a44848021ab8b148ebef815451c706c0ed21e2272cc4d9a6404fa0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/oc/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/oc/firefox-98.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "3b2590ff70bf7cf8998dda933506c86515ebdb81b031fb15f925b02d5cf88f04";
+      sha256 = "ce8dac45e0643307e3664f529fd8f22a80e3089bb17593febd730bdd554920a9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/pa-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pa-IN/firefox-98.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "09bbea80b952af6eb5358b2afbc785afbf04ee44a27b38f2f72dc6fa49417086";
+      sha256 = "1dbcb8f8a7097cfc9d52ae1702bb29995f1585a0e817a0bfc587dfb0779cf975";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/pl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pl/firefox-98.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "f0ef3e5e72fcf72ff49a5b631bb9216363fb01440da41d939e4b653e84527694";
+      sha256 = "3549823c524d86ef0b60174425c49c6fd91bfbd8e7f8dce371eea882d0e09fea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/pt-BR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pt-BR/firefox-98.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "dfe183f6a40d50e3871f632ec79f397e302fd130c43af2c26c6b24acc114c4fb";
+      sha256 = "67b85d1b5229e7dcc0207ece3fcee3e5b3b086086103ceecfe34c80333d4c2c9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/pt-PT/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/pt-PT/firefox-98.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "c12fb2fb918a38a39655f3350676f290151e2fd6e44acff88379f3c4752743cd";
+      sha256 = "b7ebf1834baed814479bc2471ebd1090fe9f662b80cf177542cb0cf118f82774";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/rm/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/rm/firefox-98.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "14d1ad150edaa100c535c9b007fccd3bbfc0afe09d3035ada361c202ab31cbf8";
+      sha256 = "bb19bcd207a6823c6ca304f13acbd7640aba4bb9fac14a4ce4fe5a3280823091";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ro/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ro/firefox-98.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "cd99ae37b4e8552cae7911c86f430900d8d21c96264dc2940c335cc050b8a62f";
+      sha256 = "f22e4c6b8024e724dc2bf09bc1f7d66109551a07acf9c2c638165ecc6e9280fb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ru/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ru/firefox-98.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "0cf0c23c90f24ef417b460f57b566b87e06ad11df178ed3e7006a7a7a8acf7f7";
+      sha256 = "7896e4fb06f0566f07069f724a0e1e96f9532eabf76108efa92738a92a6ae8d8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/sco/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sco/firefox-98.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "58bc7ea18c851d5a88c047bd41b836e9beab1f04289d0fc33e0b1d9fd7e55b3f";
+      sha256 = "3ab3b8ccdbba37af17943df1d5f5b070a1c3826a55fbbba0c71a1a3f2342a3ec";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/si/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/si/firefox-98.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "13914c46edc3e5da87c394468cfe83f0811359b2d30d6572b1c3c9726af45c3b";
+      sha256 = "4dd9bbca09dab4c57edc9a3def8fe768888f698e01186a5154a9b5fdcf68cda9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/sk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sk/firefox-98.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "818fd12a70a50061c507c8e06d7118ea7d1062ac905f8b70d31010710df642f3";
+      sha256 = "8db73e84467ef07a82f75224e36d4038fb29bb3d6246624cebab9c645a65d1a1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/sl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sl/firefox-98.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "1d70241ed0cc861c79165a770a73b580496fbbbb6a2530701c02073c9995fc4f";
+      sha256 = "eab61eb7a5d353ae33573be8eb37c141820e545945229ab9db248263b7033c17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/son/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/son/firefox-98.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "3b906867dc5a0ecf4dfb0e034c8e97a3fc39e5d0531ea483c8a408b32df860bc";
+      sha256 = "41d282f7d6ebd9e0a084c4a4e8e7f6b59a9433feb4c006c5ada699a4e4d2e19d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/sq/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sq/firefox-98.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "b23189c437535a4fad78bab37b81d95e3fe5774a8c3c4c6bd6d77d7f785d2e30";
+      sha256 = "8213721fa3601bc529f5fc2a97f7f64adf544b994c607947e94e104d5ff5c96b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/sr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sr/firefox-98.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "08dde33689c92e2c23971b0aeec581ba420b502a118c45799e35d52087113055";
+      sha256 = "f8ed04bae5dd80366ed92be6437b01887310d914b306b172e303da78a878df0f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/sv-SE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/sv-SE/firefox-98.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "3a099e8247e4f15879233624489f4df971493bde2019f47a18da3523e0ba142c";
+      sha256 = "a9dfbc40e42b55ae876cb44499ed2b245c184acc4299b358fe6844c6f80092e7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/szl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/szl/firefox-98.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "94497a259e974c3c13bf2a74a4a91180710b57402fa47bdead77cece66696b32";
+      sha256 = "8f2f3fcfef222377dce579308736948dbfdf29e7a0aff42a8b553990238bbb4b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ta/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ta/firefox-98.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "006458ee81bd21b2cd3acd5b7893e90cc97233a3507b2247355b183164771502";
+      sha256 = "900de26055afc2ddf81d4480deab7711f0232ce034fde90f01e7314526866eb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/te/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/te/firefox-98.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "a1173235bd09193a5fb6081db6af934ac5cea619bcf612c244423cdfaef75861";
+      sha256 = "f1b34ccfe1a28f7c3f9ccb1700ec91c2c8c0eab45b074dc38386818969c1d945";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/th/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/th/firefox-98.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "ce6a04ad52b0ab49fd4db6724fe43c1f054fec37fe2434536985642fba1999db";
+      sha256 = "7458224a8dfcfa1480ea95a4dcf6dfdb62d1e9576838820855cb23baba23bb94";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/tl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/tl/firefox-98.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "10f31d9636f9124aefd213ecb06da9be7ddfe70e2413ce66a1c1f84407f33319";
+      sha256 = "6441f1bd46807575c11b209a35b9f5003d418c7ea439ffa8c7abd18355635bc9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/tr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/tr/firefox-98.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "c83e8170ef55f271fb9c933505cf66d4e42eb8973d6e1751c903ecda3bc92cd6";
+      sha256 = "c65364bcb6078efc0e856bac29ee758bceb016e838cf74723768de3872e57e71";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/trs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/trs/firefox-98.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "484905693e9e952a56627561f10ab429e7ddd2df5b534252f60aebe52ed41b95";
+      sha256 = "3ae90a452b99a039e4d9590d92d4c58ce5684c6237c1d3bf7679ff3b422c99ac";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/uk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/uk/firefox-98.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "e17d15802c8d94770c6368aac7d46585483353053968c66f40f326dac00587d0";
+      sha256 = "4dfffaf009936d7dfd6614c496fca8884076293122cae401255ef34304176bde";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/ur/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/ur/firefox-98.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "e03b1c472787bf1ccf33568435b7873a4d6e8f43a0b82a01751995e8ccebda9d";
+      sha256 = "7fb0f40583398617a3469c1a0ba5a83443857b872b9b6b0deeda957b3796ae02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/uz/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/uz/firefox-98.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "1952bac0df8fb98273d0a4310f3141e928e6718eb1a91baed6d692088f041171";
+      sha256 = "4b943e4439c8f07d3de7f9ac9e17b2af3a1d2a29bd4b917fd11664e1ea249e76";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/vi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/vi/firefox-98.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "4d3a70f4cff2d11dccfeabe15c30ed99b74bf5058ad8f8c795d9bfd2db1dc11c";
+      sha256 = "08dd3aea42b2589fa141aab23d5f9c925d57cbf45619fc9b7b2d64ec13e29dc4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/xh/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/xh/firefox-98.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "dd1c33d8a1769f2d4efa39eeb248a7cb6e2993f4b3bee38884fd997d7f20e026";
+      sha256 = "b1130919b88f96d866dd54938dfb63250df118a6861e8a0eb8b32943c027ca33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/zh-CN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/zh-CN/firefox-98.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "623926088fa86ff736832cb35044d7d134ad1f4ff31666ba7dcbc31619c3a07d";
+      sha256 = "9f1186860c19e4f6301ab0bdf39c2824038bb14b225dd8b8e43cca5b838ca92c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-x86_64/zh-TW/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-x86_64/zh-TW/firefox-98.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "6276f0e417d45cad209e0f57ac0276f52854f5172f7829684e4c8a49c0e78fde";
+      sha256 = "70e66f4edb9e6c39b404205094eed21e8df186571c581f67f8176c78d5a41098";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ach/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ach/firefox-98.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "0412368189b73bf54d5679c22271ca82f47c10ca1288431fdd16a42d51cbfb21";
+      sha256 = "7a133f4f6ed1b67715ace63839dc2d4a1dd79537ff168177ad5a329d4c482292";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/af/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/af/firefox-98.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "67060ebdf9d7ce14c45db9edd588f99fe0485971674f791691766127a656575e";
+      sha256 = "b8b214903b2aca2b0e5d4de1f152e67c5a71ac6917903d92f2000629b51aae97";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/an/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/an/firefox-98.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "2c79a9307bfee1727a19cd212fed10ba02d31ef49bd68a51cf0ca0a7faccf2ea";
+      sha256 = "884696456c121f511b0661bf9972492e01a23d3e106b00c219c598855df7557f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ar/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ar/firefox-98.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "a6ce4fdcb3716e2f70fb83502fa9e9e90489ac58d26a25627eae7b8402a0562f";
+      sha256 = "676ac6c717cc21496baa6135d18bc7cb625e58c3e12c261bdac2a99401c38ec8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ast/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ast/firefox-98.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "21e4519d0403bf3e158eefe6c79d8283f2cc1e0875d91acdb995c0e83c56a9a9";
+      sha256 = "c86f2615962a16d7766ae21598f82caf77f0cea341e0b931dc1b9ed90a9c2f02";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/az/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/az/firefox-98.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "0c1eaca5b928c2a1cc5a60a2dbbd624280ed2b55f10446bc886158e95af39199";
+      sha256 = "14875cec0478392c2dc4c79de855f1c338e7737132f6a4522e65e02478072d4a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/be/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/be/firefox-98.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "e7716acc8417dbee838710d3efe670e081712ed3facb26bfa43864a574463ff0";
+      sha256 = "9aa8bf0ada8766019bf9c6aaec64c005239c3d9d82c494e81ddede4f822b0bc8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/bg/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/bg/firefox-98.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "a90e61e0b5a31ffb7cebe747e8a6512e68baba210f234913af1ab8e90c79206c";
+      sha256 = "a822d9daaa748c6f64628dd7f4fa2cd0b8bdbf57a77710bab2cce990aa052874";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/bn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/bn/firefox-98.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "e75ccfcac893ac7d54d8cf849044385ed0749de77dd53be7a1b1686949a4699d";
+      sha256 = "209a83d4d7372b7f2ab578622c3e77110929bc4a1d572c2b3d084e5c2b183d90";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/br/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/br/firefox-98.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "9c2286f7cf0d5052e44ac9aacf139e2c8abe9d212407960663819a8aa8436bd4";
+      sha256 = "20258167e5f470435d01fea08faaa1854872d5bde35c3a48e4028e8a61e5e894";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/bs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/bs/firefox-98.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "ceb98c5fb103e80488f8821027144b0d7124d0f76d360b6139308763a1ca33c4";
+      sha256 = "948ed50f652aa1f0d16de7923b29d6c4ae1e9f87a16cf4d6e195a94e7c0bb196";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ca-valencia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ca-valencia/firefox-98.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "f648e363da8ec8caa13ccfcc4d586efe0ac4e0b0d3574d295c95ac81dda937e0";
+      sha256 = "65eb92ee9f63176db9efb700ce8b26c2f9d1d4a4ce2d66ce2b12bf0a083f0db4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ca/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ca/firefox-98.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "06b61c45238b90f8bb838193fb5035dc63c48fba416f16b7ab9463597bb92ab2";
+      sha256 = "ff3d52f5060ce6b69a52ab54baf53ff767a6a948fc5385b38452ff1ddd32d10a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/cak/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/cak/firefox-98.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "ae0ce800b1455aa4c607123ead63edf228a55f4bdac14c267746cbb640f60418";
+      sha256 = "d8dedf187004a64a6484657230796066be8819be188b6c73edf23a2e516015aa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/cs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/cs/firefox-98.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "1d7f47bdc98efaeda62dc2f3d1d16949a8cf3de96dcf87fdc30015ac7fdbbee5";
+      sha256 = "5f6e10610a2f3431ea75f36b5abe3a79ae2a877fc912733be7b7ded63c2d0434";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/cy/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/cy/firefox-98.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "4a24c3368e2f88f75f81af2e17050e41160d99b27720517cc34a7772533ddcc6";
+      sha256 = "c6bfdb386e2dbef46666582b97057dc4d87da0a3da708f0834cbfb46f01553d4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/da/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/da/firefox-98.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "5282d6c566361c74d5fb8c8d0f992ba5e929f2183b3abb9d479d7f1d53470dbc";
+      sha256 = "d657648c3bd243d005b7b8ae9b720c3dd14ebd7fab10a5aeda332abec34adae7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/de/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/de/firefox-98.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "f88988016fc2a8fa5543822d6fb1ad84c57f8f0d8ed2bafcc63552efb2361085";
+      sha256 = "653c7ac40b697418ef9335b5d84b4791126a4d88499c7643b8691ec7f7f2674d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/dsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/dsb/firefox-98.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "252a9f2b5b99100abcf4ccaaad9982d48ebf903a7761d36e2aef766985fc0ec6";
+      sha256 = "caf1f6164adc422f9b6d15998acace1644b3b7422cc049302151e3edf060c8c4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/el/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/el/firefox-98.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "8e67fef2d4e2cf87a2961c7deebd244a1dfc7863e8474510aa196d54e199b4bb";
+      sha256 = "a500f80b351209b849689cea6eb558f039c2ccfa2f88544473c9e6b6592d5d73";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/en-CA/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/en-CA/firefox-98.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "a687d4abfeece55bdc35bb000a802ac6a67bad8af6cdcf88802b7d42c486789a";
+      sha256 = "4c3c78cdaa65537de0577889eaf2029981e57b70a079111f26a53cc28ed234c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/en-GB/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/en-GB/firefox-98.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "27819a8e87dbce94ca4bb2b3465153c6ab974c52bb81b2517fc685b2089548f2";
+      sha256 = "5ad92e4c565807f377900c3c588b2e7090335259bb529b71af45b37b9a081067";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/en-US/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/en-US/firefox-98.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "21cb440725cf0378021b4a6a858fa3d344b39292a61e4a774d065e9e41668e24";
+      sha256 = "c5dd205aa822a311fcda06018ba79fec68ee8c2b05d5ecad1d2dcb103da87509";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/eo/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/eo/firefox-98.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "ed0bb4aef9a5ff6790bc36f3ec45bf140ff23343a36716bc59fbdf4cb31c0976";
+      sha256 = "613140f6f288290d93a0a41811372a46debcf9de05dd1858dcc5a97e242bd657";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/es-AR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-AR/firefox-98.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "436ae41521b50068bb5fc9768936c4a4b77bb0a37f48ddb84cf8946a4a7ea76b";
+      sha256 = "ab6cd6c4e09cf5dce87a5f072068b7c49c203296a5ce0c32fe41fad4d4fec495";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/es-CL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-CL/firefox-98.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "dc354dba3016dbe13ce744fcf654b292254c8fc0f53e55218952c6fbb961fcaa";
+      sha256 = "93349da0b0a1529e8b5855519175f61e064445572b9acbdaac68695f7157ef14";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/es-ES/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-ES/firefox-98.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "87bdfeab9856f13736ead5c3157d05a5d0b73c27a2ad0d7537bb63d994cf9703";
+      sha256 = "e5d6800770146e6c1e4cc4d91202ca4749b6d922ee5965bd82a6acf7448f2677";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/es-MX/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/es-MX/firefox-98.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "6dd1f7fcf13e9c651d3359eadb1b8b2c13aca121e294ee5856f663a712438ebb";
+      sha256 = "22aa961e8d40f0d4bface131a19ff0cc0f88b9f66bc9b63c3038ae2b878cadcb";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/et/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/et/firefox-98.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "fa5e600d2cddd4c93596baa0bce310cdfee9eef12df808968972382bee32f57e";
+      sha256 = "722ba0c78b51491d8943823e0aa972147c0504d7c65dd7c5eea29377abcfc571";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/eu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/eu/firefox-98.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "1b277fc9646ea8d060c1bb554ca04e42b0099c70a44e697990ac4289712eb12d";
+      sha256 = "96b12801ae70101cbf4620e1fbc8e4cc074e4f07017179586cbc5ab208fe9f0d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/fa/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fa/firefox-98.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "370329076e609bcccdda5f472b334cb8dfe3df0e8eb696d22aadaa44f8b0b539";
+      sha256 = "cc97cd08c428bc52616f6db25e9dd50f9162c29758d6c44160ebdfe745211d0e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ff/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ff/firefox-98.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "9b9e685fc94652195b00b5a959e48d81142b7589e0ac9d163c39f07cecadf27d";
+      sha256 = "982fab751bf71de830c9f5866943962f3095e70c4918f65201f8f51c99070898";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/fi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fi/firefox-98.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "f4b851f9a39fcdfea9034edf0f4930632da04d9a3b949c65b682e30dac63cb45";
+      sha256 = "c5e9739a2b8f60d578a8a1f22f947d25e8eb14049ffdf57a3948a50e34400156";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/fr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fr/firefox-98.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "e72943c2f034282b73aa136b272dc7e7e9d2bdda5b2c2db045029f05a0e8b14a";
+      sha256 = "7441aeda63c2e90a26a342c80846a4ea0a48d4d4807aa2fe39337401d9002a54";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/fy-NL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/fy-NL/firefox-98.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "e2451341887d6dc51f3aee8c8b9a7dc65277e3cc9df9e2fafacdf67da838e48a";
+      sha256 = "83d26111f5d82644ba1601df382aa57da851f69284cc4fcb88d943a79fa5709d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ga-IE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ga-IE/firefox-98.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "01a03a21f479475d224fa7559a5b4e98bf978f61f4e472a58b1d1d272cf5fb24";
+      sha256 = "1c845264e89286cf8a5171f372930189455b3e2e0b959f8e271799c4bb00b074";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/gd/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gd/firefox-98.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "b64c925beb57420c5c76c4c4ac78282beabe4a6ad7fee19bd6bd4a9af2153422";
+      sha256 = "a8e7e5e6cc3da1aae7c016dcfd28bebf35b4f5ef9a4687fdc48175126dfd1043";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/gl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gl/firefox-98.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "250ac76432b7312bc1173ee34a32d0e658c0ea658664eb296b7c5dc2c1fb6ca2";
+      sha256 = "20b081e9f5443f247520f6b78283666c695c574fe3113384b81c8bc1b6e100c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/gn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gn/firefox-98.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "bc3a716efd7cdb0538714ba3469a5303a9496b0b1f81d43a41b55434c047c991";
+      sha256 = "6dab96866f64e882c8b7a42c6b66146b9c6f34e0934304dd192aed28692acd05";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/gu-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/gu-IN/firefox-98.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "c6d2e017c5269064a5716d54f5df9f2e2dfe621f9f24e7d2a9dd3bfd6b47983e";
+      sha256 = "a81691a57dc6d64c425254688baedbe16589887e99a88328efa391d7c22a7cd2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/he/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/he/firefox-98.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "0f3e2947b7e03ab0197af6817774a7e0bb11fd5dcf13df23ad3cb2899da49cba";
+      sha256 = "e22bfd17a291bf7e890f80b054a9a608a8b7537a401c2fba0ea97bfda531a06a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/hi-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hi-IN/firefox-98.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "161d898a2d74fbb709fb3d19c7444c9892e035c2876f66384c920ae3f76e21f0";
+      sha256 = "ff107e3b42e93ccea47c0f4b6fac05fec1904333e1173cfd193028b1c7a02ed4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/hr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hr/firefox-98.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "8bf24778507063352156caa82fdbaadfde5c840f2637196d87cd314ee89a3833";
+      sha256 = "50f460b541ae13cd78699642e0853bd198d9c2604c74e1894b716a7226a82b17";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/hsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hsb/firefox-98.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "77f1a913c4e2973593edf6982eaa767185ba4b8ae91c16b967e8f3c7e82d72df";
+      sha256 = "13acea425da7fe917fec2f7daeea24f7705c6af770f02918097cf795dca4f4f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/hu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hu/firefox-98.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "f4ae877d906e7427703df3f219c0c95abffdb995328a80de3b069cbc5eba4a42";
+      sha256 = "f0ca828539b50b41c478b1c48ad96c3db25bf2dcc3eef5924e55b477b01a7339";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/hy-AM/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/hy-AM/firefox-98.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "0d3371fe5359ec1d23dc58e00151ee81838c18a8e9fb665d48c3276ffa34809d";
+      sha256 = "93b756eefb43ec5ccb8c2da88804ceff1388db4cee07cdc1e4d9e745b5b8c971";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ia/firefox-98.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "7194d571e3cd92afbb8e19c5ecfe15e0c0ed4af28961008efeaf5e475ed8c1a9";
+      sha256 = "5b4a364a9e288e9b83b0c99ffba35ebfeb37984e0d1b4fbdb9003f5eeb490bb2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/id/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/id/firefox-98.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "79a5a4d97a106dafb9ff6ede0e853dbbf24aafbc3f654f5b8244ba2a09ac6ff9";
+      sha256 = "5b6438b6e2d27ed1e5b3139b707610f21b977b3080b83e5cec1375482124895a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/is/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/is/firefox-98.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "fbc2bd2dc236706d1e6599d32a6aef5b4dea0b2dbac4a0d59854205dc66c6958";
+      sha256 = "882246ace511dc8b8daf9370d134002cca9c470c2420c7110325813c86ef17a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/it/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/it/firefox-98.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "5d1b79b6be89b593f79982460bc10d160f8914c4544a802045562547b59ba364";
+      sha256 = "d49c6a19ab9538bb731ea4b0bf272dd35aca39bac41cba5e440d9aa3b61497fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ja/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ja/firefox-98.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "c55511e3e8546d31230e8735a85e9c2745d3358567e424324bbc850c8f9399b2";
+      sha256 = "da3e2b86437ccebe811b1b0f7c79d8a875a9f682596cafc3a30d216b584d3412";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ka/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ka/firefox-98.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "009a89d79b2020f8e86a9d61b21b5751afd3aae053ce0c037b3cf303f528cec0";
+      sha256 = "7a6889b3e6859ae3af55a5df7c7d13d7b52be3a8b0643ff9b14b7ebd436cf2a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/kab/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/kab/firefox-98.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "06b51518cb8a3ef97c084f1cafaab34a8175b7efab66e16d3f4f1f7d72aa9df4";
+      sha256 = "1a7942f57ed945628815b3ee536b892acec11a7d4a5c7ecb31bfb6c61fd05996";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/kk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/kk/firefox-98.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "560b8a7cc248639361ba08996a477d2ef7eab0482f41bba67f0371c841ca490e";
+      sha256 = "7eb32c26f0e4551abe340567558644a41c101edea66042eeffef299b35f53959";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/km/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/km/firefox-98.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "cc0a12c6e2feab652d08d28a27b79a9481209f4c3869372b37f1cc5e27ff8e70";
+      sha256 = "608e5e80d8e5bd48e327f1b827835ae0ddb2dcfb2921d33c1e9bb895da695641";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/kn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/kn/firefox-98.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "25541e2722cdf1621dc42ad529447c31c0e9e8ccf7300f87d89f2e1f91240fd9";
+      sha256 = "9b9eb2dea61ac0dd76252321caa2afaa98a3c0b64faf3d1f354e9b9cf02b1761";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ko/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ko/firefox-98.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "cde1314a8135543aa98a9c28c083e3f57700be9990ba2ef780f6dce4a8de6dd3";
+      sha256 = "58217c4383dcd7720c7362839c9326c93e8cdf0982fefc4844b2c6ba66ea0360";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/lij/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/lij/firefox-98.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "f85d1f85763fac8e748662d1b493cd06dbdac37960785cee0e8946daab10fae6";
+      sha256 = "89f99e044b69d89219974772d385f5d86b64c9f12ba1ac9a2790dd61ccfd44b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/lt/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/lt/firefox-98.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "34ff1895eac6fda351b210ae65b2edbf837ca8a5a5592caa33750ccdf529c6bb";
+      sha256 = "303ebd0555d448182167b9bff79f72dd7fa247c1fd259c3af0d1ee3f0f4e339f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/lv/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/lv/firefox-98.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "9769e7039a980ae239d242fd6ed4438e7b90e1fd91f7d9ceafd52e8183bde1a5";
+      sha256 = "f89d9021207399c9ba56db03add2ed8e10fca3b8273f2cc4ef79814730af9cde";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/mk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/mk/firefox-98.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "1217469bc4707454ece2ccb422e99e85724845760a4a78205753c07354a2d6aa";
+      sha256 = "12d5492f712b993df46a2083fd2d3958da8d5bcde7e11ef83482b3d6c0c0e5ea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/mr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/mr/firefox-98.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "e70d4bb799117c0343a17f57adc733dac1cdbacf30dcfe0ebc195da3de091408";
+      sha256 = "26937f627cd4c14bc354c9e39378e56ef06ea18519f5b6344ca6ebcbe1ffbe1e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ms/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ms/firefox-98.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "91bff99d4326c16466ae3c4d1646f14cc8d341cf93c71db6dec117ae24dda154";
+      sha256 = "2de70b33a112c662a158493a14e05ca45904a0ba9ca71d2416ba59ce81bf4192";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/my/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/my/firefox-98.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "4efb3b03955ab8cae4925704fef1a1d1ebc20c3bbdbb9332d1be31c2aa0f16a9";
+      sha256 = "dd3b9ec61dca822106c3b88df842f0380a75c1262bef82be1aef6040df308e1c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/nb-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/nb-NO/firefox-98.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "9c01453ebeaa772eb1ad092400ff6da05d6a36d901fe4f9ca9d98bf4c41d2d40";
+      sha256 = "997a5202f5da86b665595b7f0a4c793527428c1d78c60831ac6b52961ee466bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ne-NP/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ne-NP/firefox-98.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "697bf0266fd4cb19e42619054795bacf4e9a065dfd976086b074be47038f86ac";
+      sha256 = "80577c41032e229cba1c2130ef66a428daa0ce238a12f15e1815460c02f0fa93";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/nl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/nl/firefox-98.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "7314cfcd476f18054775d03d96787afd4572437c507b0387fe3104e272e66f32";
+      sha256 = "15d92dd24481329ca8f742bd71ffa6a5dd20a4c6362dde813f4dcba663da65c2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/nn-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/nn-NO/firefox-98.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "3fc8dc069fb41aca43581f3551a485f4659a760a275beac5087f479eba0b4605";
+      sha256 = "59d49f04138c120b6f9e4ea8d9b902f90dad86fcc16ff82af47bc198635f5747";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/oc/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/oc/firefox-98.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "22ea3193fbdddec8deb897ad5551fd94ceb659cd8493a04db51525c29ffae0c5";
+      sha256 = "3b82478ace0de50b1e9e60715da1e90f97e6e938577c75d2be44d313354291cf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/pa-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pa-IN/firefox-98.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "2f3dad5c917a28b41fc1ca3365316a281c6e6560283d2002364c2bddad5d7a52";
+      sha256 = "62eeb120929b980e1b0c30a38054a84e821b3895f73be938274f52cb19791038";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/pl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pl/firefox-98.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "6334e79bb84d78fad334d9298c8104472ce7297c17d80f28144cf0751c42ac80";
+      sha256 = "a5a304bc7671a16ce9e41158ad34ac7e49406740d22decddab2c5a004a76a8f6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/pt-BR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pt-BR/firefox-98.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "8fa05c175f271723e107ecce6d2a7d6b8e5afef5578ead1d6c8ece920d4b0a91";
+      sha256 = "ed8e69b18fa20ff70effd6417d3e457ce4e820907bf550d9f8aca5ab135e12a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/pt-PT/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/pt-PT/firefox-98.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "7b6751f8883c439f1fefa3b1c220093299f1dbd27b8a49c467113e8200849a72";
+      sha256 = "c5d3904f8f09309b0c75f80676f156261dd63bc37817283bc21f577c99c900f1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/rm/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/rm/firefox-98.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "81dced560a8048a4113c3a99ef72137174de6bff64a0ef4f0bd669f3d7f6d89f";
+      sha256 = "e7b96b422b949121511e4cb289958c9efa96f0d0e3808e20a97aa03b4c441529";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ro/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ro/firefox-98.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "692746c7919b64f23bc92c00a7e7ba60f54152430887b608b84bcc105a436a33";
+      sha256 = "6333056941db9f5ae7679c3aa4213570f1add3f60fbf67729a97b7210788744b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ru/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ru/firefox-98.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "52f4b321e3e149fa0317d610f85b4637b464c79b1b2046ceb9dfe2f4e56b6c6f";
+      sha256 = "05c050f50704b62324aa699856c3a6cb57e2d5bce783f9e39861a3cb92c7eeff";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/sco/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sco/firefox-98.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "3297b5b0d67381d1b7f9c4f76b767c6a5f76388d473afe5e9bf0df94a7bce0d9";
+      sha256 = "6519d91cf5798d4b14ea3743ab4b1ce547031b346926b8504c16aaad61a9f023";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/si/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/si/firefox-98.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "bc1eae9950eb6bc6a79fd185835aaf7b3c9394c7d19bfb78348a1f4987315636";
+      sha256 = "7abbf189b2229f911a0aec5fc294ac0efd9e7ac9d657aae08e7f867cd0128179";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/sk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sk/firefox-98.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "fdef69d9e24c00616b177dba71e2c5db29f8c945cdba4c3dfbb39753b1f01a72";
+      sha256 = "b02a4906ca96a545af361f5aa29437d3d4c873c3ca29db4ebb36fa2128b3a540";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/sl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sl/firefox-98.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "7225b70db5b568634792f18f0f6ddca4ab94e00b225942c6a4f5c4741ac9858c";
+      sha256 = "b1cf1ce7d68359b1d18059434c0aa13ef9871a82cd3c3e81fe5bb9c3ed7249df";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/son/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/son/firefox-98.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "2c7f228dadbb2b3ecd424ab2e80a532e17e861f92095e5de5ded2006e79e9dc6";
+      sha256 = "6eb2146f30a6e4b73f5d5ccff0b6a9483753ec135cafb9d16ee7d693de26f9dc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/sq/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sq/firefox-98.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "63fec6dfd214dbce4b344ed347eeda9adb489707e06e6a4e1ad6fa828e0da7ff";
+      sha256 = "ac7c65f8569531fecb469e37ae8728fe42ef0ab7d542be4051cef398c2db0fe3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/sr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sr/firefox-98.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "8d584d48c4e35bd7ff1438c7a80e0b353bb4871ba946119c36f1fb3bd135518c";
+      sha256 = "acce4ec2bbf346fa76c5d40a8bf3ee3696484b8de4e57135678a3a60ca5c3857";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/sv-SE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/sv-SE/firefox-98.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "d5e7514a67a288e755d7ae30f2dd680e2138e50666fa15c1b710d0a454a51730";
+      sha256 = "7260ac1017a5b4452b5aec0de30894c6619c5f480aa6f1df67a9e876ac83fcde";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/szl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/szl/firefox-98.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "1557cd8173d79820d852d99c0cbb07249c2bf17bb778670e437c4d408329fbc3";
+      sha256 = "b9327040072808ef614944b659304ce14c6aeceac82afcfd45454d610ec9d019";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ta/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ta/firefox-98.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "2001ea5bb925d5a1e845844d03c441c2cea9a61b042df518d16e484a3a7901ba";
+      sha256 = "a4c5d9b87878d269be2b6314c1347093e04c8d21300344e3435288da0e325cea";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/te/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/te/firefox-98.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "c9994fe1e9212281fc007ba8f6b703856693deccbc083e17dc94b6da8ed29a72";
+      sha256 = "4d0f8b73c3cc034604330787a4d8fcc914eaf4cf7a3187041bf924b6a450d62b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/th/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/th/firefox-98.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "8c6b207b23fe66c7506da96df7de25270218ce9ca61bbedd693fc6f69c970d53";
+      sha256 = "c152c0e843a69e6c099995707d838b1540b58b9c74f42241926ff2415321c63d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/tl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/tl/firefox-98.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "c9c7cd8c6195588bfbe1c812425f94e7b2727fa0ab73e247b543cf85ea09b171";
+      sha256 = "da96cd06713a231bfeb10a1c077586579aef855ffeab88de13e9508cceef0661";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/tr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/tr/firefox-98.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "9b7688be959e16f4ed652ddef4cde0bd5b3df391b8c43c33b6234ae5ba404987";
+      sha256 = "b7789d13580a7149f7c3c03a234d40e56f95782654e0c7b24078d95106a316e5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/trs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/trs/firefox-98.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "470596584e9bbf2795624b5baf878955229472450fa7178c9e4612408452b170";
+      sha256 = "1c6fc47bf87316ccb5cb767d0a42aa685cc2d75a923138803897d0aee0035c24";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/uk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/uk/firefox-98.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "814e5c7e9609b6ae72d2c4c0e012d503394ee6c669e777a0e3b4e4dcb4c7612d";
+      sha256 = "647f29a9cffaf16abdf8be253503fee7df5b54cfe90e311a7d1f978bfe53243f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/ur/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/ur/firefox-98.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "2113a0313ed3d675bf1adecd574bd0112fa5c03d23f670e522928adea6c97265";
+      sha256 = "2451a832ef04df012d6114c6a9bb6f99a2dfd673f4d5a1ae5fd2b048fda3ea2c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/uz/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/uz/firefox-98.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "4e759986facde4229324402963e0442d1592147c8f4bdfdcec5ec067e2d0b123";
+      sha256 = "c8b0f6dce66303ff77c33d33516f41070ad470d04ea7a159d8a2407e072b4617";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/vi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/vi/firefox-98.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "c77990635980e56d3856b3793f186a61aaa6da43ee0e0970e7ab06953596f85e";
+      sha256 = "fd08bf4e07e05535c39469307bf423f64d16df910e3dbe29f608818eaf63b5b8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/xh/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/xh/firefox-98.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "b4a725703b13e230f84c3a5aa1b9532a7755888a2bf7516b5a0c3a79f70f1ff0";
+      sha256 = "b1b07960637d5bcc3c540ecd3ea91c9aae6d602506416093afeb68ffc9a84e37";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/zh-CN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/zh-CN/firefox-98.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "fed127eedb2d7bf82977c9aa3311e40eca083b7fdd6a7e58f44b315e209c3267";
+      sha256 = "b21137ca94f8426338635c2173be59474f07fe7d6eae7bdbd062311a5593dc3c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0b3/linux-i686/zh-TW/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/98.0b5/linux-i686/zh-TW/firefox-98.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "d29db983e9791aea1dba8f483cf9399ca032fe081e6e8cbb08d9fac3d644c582";
+      sha256 = "652c5ce25e695ccf5cb8145f1c71660bf39e6bd9b2a951f468cd1d1967811f2b";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/default.nix b/pkgs/applications/networking/browsers/firefox-bin/default.nix
index 29a506dd1b0..8df80ab526a 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/default.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/default.nix
@@ -190,6 +190,8 @@ stdenv.mkDerivation {
       ln -s ${policiesJson} "$out/lib/firefox-bin-${version}/distribution/policies.json";
     '';
 
+  passthru.applicationName = "firefox";
+  passthru.libName = "firefox-bin-${version}";
   passthru.execdir = "/bin";
   passthru.ffmpegSupport = true;
   passthru.gssSupport = true;
diff --git a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
index eab96830a8d..c3d034cd5a1 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/devedition_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "96.0b3";
+  version = "98.0b5";
   sources = [
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ach/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ach/firefox-98.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "dd41bff1f1401eb376a3ab26154a42cdc35e409cdde24435737d753b15435fa6";
+      sha256 = "75ed4180a84010f7bb509f9f8107e303c6243008071f0ab925313aab0e4dea60";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/af/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/af/firefox-98.0b5.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "963103d54c26d76abeebbc86480836408f8eb7eeee96178ce53d6fc269029603";
+      sha256 = "b4c380c4d73ecb913a1ffcf0dc0d3dd771240f1188204f728464df8a65671013";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/an/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/an/firefox-98.0b5.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "51862a663ea34d9bb1ae78bcf7846f6148dd8004cbdc6ed49c1252590262afe8";
+      sha256 = "247918ac04cdef6ad1452f1d7cb0754f48c70cdffc2e20a3187901c72a023f30";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ar/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ar/firefox-98.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "24857b772fc0a7b018c0ceb51913b1a76df59ef3a95fd41f464e1c51b5201e6a";
+      sha256 = "68514334b54f4a626d7eb37f563bb39f418d6be4b980c7d3d31f417153d51482";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ast/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ast/firefox-98.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "44c45ef6d101d0bf6f57d663ae6943a7d3bce248eb8feb35dacde292b2c3fcf1";
+      sha256 = "cf6a2ade0caaed45038a1237d4881c2e07867d1ba283432e7464ffee5c84258d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/az/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/az/firefox-98.0b5.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "c196437bfc3aa231859ebdd2f335eea4991c4eae6bd3cf9c64f4eb195704b1e3";
+      sha256 = "5c481ca36bb79dbfa5f4e6b83c76a0746b6f4f3fb69200642315a9226ec04809";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/be/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/be/firefox-98.0b5.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "a1d1eb29a51a84c2c779bd2090a7a064d1b7d290e0389672351821d414fdd35d";
+      sha256 = "676169af51ba1089aeeedc1c57fc19bf383fbeff03df5b13ef401b63ec9aa249";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/bg/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/bg/firefox-98.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "1f78b12ceb1951ca0e354ee04ff6a7893fc7596480b9df1c9eb443800778e033";
+      sha256 = "5e030aeb833b356b145c8ee624ec18facd95c16dbed374d1f2e90c4c14427404";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/bn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/bn/firefox-98.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "b010759c37cafaa3e296b2b71ab19d2850ed62043c3a04e80b21c4d9e9acd235";
+      sha256 = "7211a76921bb81307bb14bb57c5e062fde21de58fa61ef4f676652cc2c5d365f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/br/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/br/firefox-98.0b5.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "5d58e3ad0cf8de459d68b60653af865bc1e11a1b69a6decca9e630675405885c";
+      sha256 = "a2a6dcaba8188b205207bbf815b899a8413a494af1e87060b1da73cda1a8ca0f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/bs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/bs/firefox-98.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "d3f1ce059e17f6a14cad30ef2609cffe61bc3495bef3ada1a2941bfd8bbc440f";
+      sha256 = "fd0bfad035287c35a809c1fbeff9b00e78f6c5a067e8b301c30b76ef37922dc2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ca-valencia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ca-valencia/firefox-98.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "e06cf1c020f3f65e99c4816b054c9f79da55f892dde27d8acde17ebc24fbc840";
+      sha256 = "ab4d58c4640a4b0e65d824e62a898aa19674d37929c1748a27e4aed8e5be0e97";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ca/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ca/firefox-98.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "0f9644f78246459e2d7b0c8c1dabc5c33d5d20d2c6d517cee20fb540db501cd6";
+      sha256 = "0429ac4f1050234a28ac1cb3fea8eeef0a763e4c316154e6f02452fde434d968";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/cak/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/cak/firefox-98.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "9b78dc607de8f66352a778c05186806b0fed9afa8474fc4f2f9346c4298d0be6";
+      sha256 = "c69d5c22998d097213fc0016a344c967064193e81fdf45b2bfd5f1687883690d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/cs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/cs/firefox-98.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "cdc96bf52e2d9d463e1caca4eb567ec723311678233db59d1cb57a2e7e16c593";
+      sha256 = "7d06915a6b86c9bc8bf408fabbb2db73f56c3f0dc3a81d7c11324b564bde3d51";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/cy/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/cy/firefox-98.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "91c833ce44c24d3fa7b90bab56d0994c930649ae39403c6888a85c2e22fda7c8";
+      sha256 = "3e7ea4aebf641697f182c1ed5cd8848a4aac239f1fd7082f5deaf7911ca99f5f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/da/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/da/firefox-98.0b5.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "e8602e1cf72f9b98dceb23694eaeef70a82bf2704cefb4dfa9db380a31eda03d";
+      sha256 = "b151987307e07fdc86ee14a9c0487c3be73b954d28c5beffd9b00ee05740da15";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/de/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/de/firefox-98.0b5.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "4d7ab6dfbc168e1edcf7b06b9da65e88b805cde7adc14519e2139fc811188b24";
+      sha256 = "433edd8dc45eee166d14d1340453637985f8e606d635ebffed09f20c93cf851e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/dsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/dsb/firefox-98.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "e0288172d3e7fd5f9d8631cb36a7f69118aed0b3daea8ca6d4bda0eee53a2353";
+      sha256 = "46b731e6ebac3d2e729e69a2d671b5980f6a2d8ccf83c1e6828feab93bff73ce";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/el/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/el/firefox-98.0b5.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "eccb1283cee2fa9d6b35ed0cf30f789f422094cf2fb17966b9a406026bfea2d5";
+      sha256 = "a6f5e1ce2b6333468a250c1a28bdcb7e44539315ecaf3da09091f7cf3c08f3db";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/en-CA/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/en-CA/firefox-98.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "7769bc1d977fec4e0b5362fdfeb0b0f52bab1d0b12b012c90ff2b096209bc7c4";
+      sha256 = "bc56c9b18f7d8ecbbdb6f3d4b56607bcf9355156174d537e0e85d41f32876be4";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/en-GB/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/en-GB/firefox-98.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "71e3b186ceb1333f4b95429e63abb1c0807a7f1df2c0e8da26b5af866ad077b7";
+      sha256 = "35b574db65cd0f4511d745892690dd2e64fa4c0ca1eeb2be56ad2259b45f48c5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/en-US/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/en-US/firefox-98.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "cb4602feead2f7e7b407e83594ad2edd9de856d334a7f9cfd392a7764adfbbc2";
+      sha256 = "2968f69125d5a203c2edb96bdb9a922d26064c7f903d5d1b9d7f5d0f7a4aef8e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/eo/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/eo/firefox-98.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "36ad536374a186e2d9ff4c2894749ae43c512555ce2fcd5f67b0ee76949a764f";
+      sha256 = "7f5abde625cf25801bede74f74cdc1413c3dee3a4288eaf75d5e967ce133a88a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/es-AR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-AR/firefox-98.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "8f4c854834fe8bffc682f8c29ee674771f70f78d28173cff3beaab13ae637c54";
+      sha256 = "1626c5996088df57740cd8907d61210c8081bb0a2a1b19d8bc9129c14fbd6dfe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/es-CL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-CL/firefox-98.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "3381fa208df76553b85a53cfbd4ced059cfccaea1a8e246a5d0d1c54efed8e8f";
+      sha256 = "5bed3b64b239ded8424a27b01a8456248e317b8e2b8ee92ef50c9462574189b5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/es-ES/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-ES/firefox-98.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "e98d88c0e6350e477404ef14fc7348ee79f25fc9e31ed2031c93b79298fc37fa";
+      sha256 = "cf79cade9876dede8e6a4886875181d153169ca4f8ae5bfa9958c48f2abdcdf2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/es-MX/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/es-MX/firefox-98.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "26b84f335c5ba6238d69a7537686141188226859d17b0a64c71a1ca0ac9e9d70";
+      sha256 = "544ec72d7f304ba702c134d1325f6589e30354d3d4b03d641451bc2f560446cc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/et/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/et/firefox-98.0b5.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "9371d5111ee591ea4179c4932e03d1686b4f8555c5b6b1dc110382b43dc046f8";
+      sha256 = "5a5775bc02aa61edf7d218ffc9506e70ca2dfb781f0abf5e4aabc288328deb1d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/eu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/eu/firefox-98.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "56336434a3be39e71459a3ae990f3dbf826fc53ddd33410b0208e4104fb9948a";
+      sha256 = "27bdd41a21e159e19bc9ef1464f1f76ac48126decd2942b4a18d4ea0777db743";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/fa/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fa/firefox-98.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "75105b2ec1f269e044332dfd1736edf0919141d3ce7ab979da06ac6a47c361f8";
+      sha256 = "7e3d58ae913c919aab4f716308a9fdc6cfb590538b0dd0b90aad3dc099caead9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ff/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ff/firefox-98.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "86439e96051f460ac42154274401cf4f50102f89590e67e78024a7e0928a2dcd";
+      sha256 = "553b4b1025749f374f82acac4e529799d9e555754e63ae4a8bdf016ac8ed620e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/fi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fi/firefox-98.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "e94714ca233a274a0229bfd6c9e5daceaecd2cab30b8314464b766ac79c1fc2f";
+      sha256 = "7514590c9dc0d9181ae439a637640ee1dee40e00e9283008a54ac3a07ec8256a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/fr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fr/firefox-98.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "4b88a49838eb6f479feccbdf3109e3ae7ffb1215a433233d0200fe8713475344";
+      sha256 = "ffd7579cdb4e6c8f5e1e66b26e3b064362292d93776313b9ded9da4a3b764cb0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/fy-NL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/fy-NL/firefox-98.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "216868ae9bf52b914063b154015efb07ca384f5a722064ce9ce2ef2191722c80";
+      sha256 = "1f8457a73eb013abd48669f4cf1e109d307f307881e1d9b46ba9aafb09ecaebb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ga-IE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ga-IE/firefox-98.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "38fb2079928d7fbe4e8181a14f7c7d955d41fd14f0c73f0122d91c9eb1ef7929";
+      sha256 = "6e9798462e2c2c0c50927276595c42539880cee4f58d00808cdfc5113aba9399";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/gd/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gd/firefox-98.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "bd70c4241e3e8233458b7ff6bc2893de43e5917284222146a585fce47f785a5c";
+      sha256 = "95f41bc7fb4c6fa19851827e0712bc8d7c9344eddc3c341172478fea583265ad";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/gl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gl/firefox-98.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "edac88def8dbbcff4cb4b5c33ab77f48d6b96a8ee1765649913028cd92d4b4a1";
+      sha256 = "b785913074c6d311380b382b63d57c2eae45dffee759d1aa0cd2d0c12f736e1b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/gn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gn/firefox-98.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "1dcb25e73b9dd759cba339bd24b769c279c9eac1a4d2b47338ceac82d9e45bb2";
+      sha256 = "1b7b37e1569244fdb6a11fa1d8d371d01756150bf376662b2b0246a4f08bfb37";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/gu-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/gu-IN/firefox-98.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "122331ecadf4b63319988f781c819f11f905d685f4a549cb08454a9d8478029e";
+      sha256 = "8623a915fcc694e5c8295bc1b95b4c6a37aacd0aed505f91239a2ab48fba8d72";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/he/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/he/firefox-98.0b5.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "45f8c33eff249c9373dcf558648475b171be65db5fefa873f7553ba1ce77f2d3";
+      sha256 = "52cf134be5f9981534a93d454cd7a893fd605026ad814a7257ba0e59f4cbbe1c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/hi-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hi-IN/firefox-98.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "9480b304d5c9ec6a10dfd480484dbd01dc41ea1cacee4b05b962d4a5bced4427";
+      sha256 = "e06f6fc47a98f4564a65d236f8c322e5eaaedb98d049171dfa1fafaaec8bb690";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/hr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hr/firefox-98.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "a287cf31defa7923a7004451fb2cf72018ee507cfc167a67899624f7b8375d97";
+      sha256 = "a93e7425c0cbcd7579fb4de0a7ece495d77c01eb2ce2a11a9413bc6a8baae3a3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/hsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hsb/firefox-98.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "792b12bc891d6d6b4e0c14f745641f54e9c50ecc10222ee679a206a4348d0c9c";
+      sha256 = "66b42537cbd4d2338fd6a07b86c52c44f1210124f4c3572518c5bf7f0be217a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/hu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hu/firefox-98.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "958a2569663fed2f45205ddb744e4c1a62210b678bae94e2717e8d4a66161788";
+      sha256 = "637e898fc7bec9727fa489498abf1e6989a32e5f8b92340d0f645aa1150885c5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/hy-AM/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/hy-AM/firefox-98.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "0bd1b2ab4b063faab90a1c2158d9d0d0fc96f7fc81389f06190af39c9247dc21";
+      sha256 = "b1b6b24039321e322f0b7d1fd2c59de13029aa56017e48e5211c18838744e9e5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ia/firefox-98.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "09523f090a020e658e14eaeaafe65a6db0793d389c8dbf0671f9f6d3b291482a";
+      sha256 = "5ad069400e47bae81e7e8581e81763905b3334ca5146672317e2986fde7fbfbe";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/id/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/id/firefox-98.0b5.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "39460a0d21b63c39c5aed3467a2177441e23f15222abbc44535b96ca2ac869db";
+      sha256 = "0c80a2786e149afb12de10a49584d6017980e3b52fa1c411d9db289ee537290f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/is/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/is/firefox-98.0b5.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "7dc87ec09c0fc046a42c583c6ec84d5116ae71ccce466abdfdf8d88578d4fbf2";
+      sha256 = "39ebabcb230336731e5be1d4024add0d639b3ef0c9d9d94a9b59b5bcf00c6263";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/it/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/it/firefox-98.0b5.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "bbc73998584297e0eed998927c574eec7d81aa37530be11e0b68d1b89fdf31fb";
+      sha256 = "8646c156daf2b9e76f1cc93bda605186c8041114bcafa8b67aa27c767297a830";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ja/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ja/firefox-98.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "6d4c0748a49fe3b14ea9906088ca99e1865002af3bd3fbf1121a67409018a51e";
+      sha256 = "ac9284b3b994f9e3505808cc94391e04e62fc70a75a7ec4919dec56b79a63f84";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ka/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ka/firefox-98.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "595cb5d60786e691078ae1aa8e76ede002f2895fbfac3d9519467f382ddbbbf4";
+      sha256 = "3627584688564c9fbaab025f1fc97eb988dc8b5c4eed58bd55f3fa1cb08bcd12";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/kab/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/kab/firefox-98.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "59b28149d3724582a5b4c0b4898bda5818d762020eccc4f40d4054cc6752fc62";
+      sha256 = "b0a8e54764b3f0d947894d0daf2a5031d43a65e19fd3bfcda7f0499ff065441b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/kk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/kk/firefox-98.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "13278da244a1cf7342235d75eaca237402432e73835d944dc9d5bdb9c5e967d7";
+      sha256 = "b6cc1c4cbe1cae43a45f5fe1b2ea1ca6c3d0de7cf2d085b7e5536232c9213bf8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/km/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/km/firefox-98.0b5.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "de8d8b310cb4b90e40d15e3a991810eee5f7d5418ce1d2b8ae1490c040c9b2f5";
+      sha256 = "069f7428b290da1db567a21ae0a5dc54a0cea3ab0012248658d3a273c9b45abb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/kn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/kn/firefox-98.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "8f400d8effab470e0823ccfa2fe1ba9f49422faebc576d9775a8194957b4d97a";
+      sha256 = "a7ba3abc8eaa5348b47b287b98961506e87c40740c25b88e0da611153e95f992";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ko/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ko/firefox-98.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "de78ebc094faedbb79b8b3c050dddd8d89cded9d7f5b8cacf96a8ae0741ed5f0";
+      sha256 = "ec46b6e6f2c852272dc5247053a55797468ba911dad70d4b1d927465ddd6ba5b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/lij/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/lij/firefox-98.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "7b46ed0c449eabbed031a6c944c725e20eff8560adaf579afc386728a6aa078b";
+      sha256 = "c401224b42efadc03055787bc20df523cfbde82b65d1b885a0ef6ff23bed9a21";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/lt/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/lt/firefox-98.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "2d51003f43ec3ee6a4891f65d9b1c248bae86da174c997d5cd47b779c403ac3a";
+      sha256 = "323f765f5db4ceb5dcd167ccb4c997bfe820498aa2249a1fa2557285a1f2ad5f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/lv/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/lv/firefox-98.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "18a3afd1e3799ae4af17ca288b3ca2811437d752851e3043b6b2d506db2e1c95";
+      sha256 = "053e095300c9c1ccb3d8fff574aff799c40215482cb977087255d69dabf9362e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/mk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/mk/firefox-98.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "62acd5a8e0eefed468022331f217cebb7e59e629ca8b26010cdd345fcfd3d50a";
+      sha256 = "946d5de91994de14941bbd9a4a1ded228b97eb76d503c8aeb164d1a718758257";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/mr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/mr/firefox-98.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "4e0ee6d697fafe9b855f3112ce745bab71b53c383a181b94dece0a66589604e7";
+      sha256 = "ed084fcb7285e047548c0969914bc43fa3572cbbb5faae91dc85688e2de77a7b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ms/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ms/firefox-98.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "1a6ae8edf5732a766c584bc89b7d51b97ad491abccf59cc649db8f250908ea0e";
+      sha256 = "58fcdd5fc46f80aef8a736dab07ffce340175ef07845a3c09da0f7056b30df3a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/my/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/my/firefox-98.0b5.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "f9a53290d295b9be23338bb7b2e6427f75e048f04d0614451a8a23352c286264";
+      sha256 = "3049e29781a51f1e9c1f5da7ffccdcc52b71ffd5e7e068a17b364d7b71b91982";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/nb-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/nb-NO/firefox-98.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "99261f267895a39fd7ddd376c87fe1a0dafd1c18467e5fefe17419c9a1ae058f";
+      sha256 = "10c4764716f879429754d9665f439c2b23dab89c9a1d159ed229569b987ccb26";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ne-NP/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ne-NP/firefox-98.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "4c3d5200221d7d7bea5e9263329dc216bf74d9f2c822e1b626f8c051262aafaf";
+      sha256 = "a46fbe8f8058d9280d28412bac9e3172d9554f0da6c5f5bfc97258e15bb1a5b6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/nl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/nl/firefox-98.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "16a4857eda94f8f561fe482f9e21ea53c8a84404d1cf7d3c01ed62a6215aa95f";
+      sha256 = "a99eadaf1d78c5afab26f951f3ee69d49326bac0db27132ac931651a2fa7eb39";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/nn-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/nn-NO/firefox-98.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "12171700aab404bf48914952564a0bf862c816eff294885dd441ca5f68a48bb7";
+      sha256 = "b7da10f47cc22661606c3e2d7ce1885a4b6a5aea42ef7e17ec80766d9c5d92fb";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/oc/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/oc/firefox-98.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "636950ca09f5a406581c1605370c85c610a6f53bd2e8adb4987e4ed7dabfed7c";
+      sha256 = "653bc3cbcc3145ed8b93f3835486f2756c51318c74c8ce3006fec19420b771e3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/pa-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pa-IN/firefox-98.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "c7ba5162bbd16ad181d19ea42d34d6182c9972b208c98a009b301bb27c865357";
+      sha256 = "efc1573dd48edebe52a4ef241132715db0a41b75db7e857f3abd0631fc2e5d02";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/pl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pl/firefox-98.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "e0cf100f60f73cb96c4ef942240375034c792036608e646a0412fb18179b4316";
+      sha256 = "a856f24cfdc51898dcad5e2ccd9f9bb406622d33daaf03362fbabfa11893b413";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/pt-BR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pt-BR/firefox-98.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "4e2c43ff8dd482691190cdbee40cce73540f066b777e3c345acbb4b1622eb166";
+      sha256 = "1cdfb66a7616eefe00025f70f1e5fd317890a141e5495066971fc53e3102106d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/pt-PT/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/pt-PT/firefox-98.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "de92cff3604a82952e49e04777a098cbe7e0fb991a5253e90c66df68f02a598e";
+      sha256 = "c8a127fd0bc4edb0eaad1b06e32e050ffe1df11ef657e05d89de3ec97f8fe607";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/rm/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/rm/firefox-98.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "a88e3919ea3c8c29b1050e7dec608e62d986411fd4ae3fa8dd38ba55f9dab1f3";
+      sha256 = "6c4f66d3b22cf226ff9fbfd05e0ce463d80044bccf8228721b5b8cc5476e8d1b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ro/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ro/firefox-98.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "e8a37f0ed391cd8b7a5bda1b4a492a5fa0201e06521c3c4863df8536c4c2da0a";
+      sha256 = "08d7eab6ce8f18abde13feab2ceaabcc3e23652730a3ee7dc98d8c9234043b0b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ru/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ru/firefox-98.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "284a8064fb0a41aff769af21194fa2359a951dbe2134d6415d40a41d4a5636f0";
+      sha256 = "e6fa1e2b5b3d0ce7586fba3c0d2f9c34514c767bae4a5066052df2bfb511907d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/sco/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sco/firefox-98.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "01ac969a91b8d778ed08bb2f58faac842c1c28dda40ce8c0b90b40575658ace9";
+      sha256 = "2c6e9d6804839a525925ad29adfafdda06ecdac1ccf034a2afbcffd5d13dfa66";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/si/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/si/firefox-98.0b5.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "4348f3da5b2b6ac1fb2fe370d2a4c820933c5100baf3c529fcde1814e32f1fc0";
+      sha256 = "f3172fa7c4655496565322f717f176d908ad60d97c99692a92bfb948186d17a9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/sk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sk/firefox-98.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "e55e104417153e939c20be42e6307dc36fec843e9170441a3bd6f7d205111f5e";
+      sha256 = "78f88185772cf164bf548d134b00d602cc9cbfe88a5b29e9c4a0c93f3de74efc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/sl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sl/firefox-98.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "73be90dd466c418f0f1e7cd231234823c9aec4b37c73d419c272d5f0c6549408";
+      sha256 = "15f31bf52e10de228b50be002deddc1cc89ee6a882def6420d1055f021f75b6a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/son/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/son/firefox-98.0b5.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "e310eb44e199a44f5c6dc938c5278e0cf5a57b0eca9afe93947caf124499a512";
+      sha256 = "b4412fe101e6de2ca6f66d818823e48e337f06490645bd58455c6e4f9aa6723d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/sq/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sq/firefox-98.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "a878f821fe66613200a69619d26bebeb5abd6e7a512f687dfd939ea7b055117d";
+      sha256 = "420aaf8816745afabe98906716a8b23d0e0f84de677538a102ebc290c0f57154";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/sr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sr/firefox-98.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "a485ef9d3785f4dc8c9ce88287f597c550a489901b8c48ca9f760d8984c6c385";
+      sha256 = "573aedef6185562efcb03d11e0fe2c19f28f16d593f598b529eab5c80648d91f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/sv-SE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/sv-SE/firefox-98.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "0ecc83a16278aefd627e50e317ad426d8bfe7b68f4633941e6bdbb20e0f1e043";
+      sha256 = "13a4fb70bf63f3f99321998e6e01a1eebe745eeefb33848b345c2020c0e8befd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/szl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/szl/firefox-98.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "0de3848f27c6be45f54429cd9679b19a661b79e857eac8c4852b511857a25395";
+      sha256 = "8daa190aa592e6e11fefed3558c3f91cbcee630e20c3a452ff88d333b483885b";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ta/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ta/firefox-98.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "ebff08a86bfdb646c02add5e9226cc3f09e096d684247c1c67b9ca6faa48f33c";
+      sha256 = "21cff7fb1234defe7732e4e933e24cacfe27b782c37c447f079662ddb6a58d85";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/te/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/te/firefox-98.0b5.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "8221220edc9041f76a493feb7ac3199d93590c2a4145fc1d7e62e961188b3f3e";
+      sha256 = "4f9fb449f2524d47994fa17e8a561b8706f48b36566cf36c39b590a26b04ec55";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/th/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/th/firefox-98.0b5.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "6f0b612c589ea43323dc8534111808cc1588dcc8dbda09cd4c8326ee513af2c4";
+      sha256 = "f9fedd16f2ddf56c8be38579b29ae2c09b4e62228674decb88475be72eed93a1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/tl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/tl/firefox-98.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "d21cb5dcbb5a6a290d83f96ab8fd171254f54cc8586b0513689d30fa059a7555";
+      sha256 = "b62e425beec561b02a273e2a432eec4e857683ad83295376e902852245ee7b27";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/tr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/tr/firefox-98.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "3cf9572b76b5bc627130e27105ce39bc51e55ba0446b4ea867593d7c36b546dc";
+      sha256 = "ce56109695065dbbc78251d436d490bccc895a1a668c3507d6231f71a1046ada";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/trs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/trs/firefox-98.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "269d9c9b50acc393ca9daf4f19404cf63e2e792028c26c03afb992f67628bd3e";
+      sha256 = "38451517de283d29f3147b41b1438c99a74eecc3fe56c042637344585bb4d8e7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/uk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/uk/firefox-98.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "c1d304b0b4a7b5c463c07ccb982b16a0265cb1fc114ade7bc4b39f8e9158f5a3";
+      sha256 = "ab9d0993bf83de703245b62fac86453c091ca46f2b0bb3e96c8cd1be30fba295";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/ur/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/ur/firefox-98.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "17ccb256c21e7f7a0851a980952cd5cb006a9d29176b40f420b0002017748da4";
+      sha256 = "8d5d39a0c363817c4d728c6d6d9cf215d136e60ea989a0578cf76930f5caac5e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/uz/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/uz/firefox-98.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "1ecd6d4a20e74d1b3116602a4661b6ea1d1e70f786c88e1452a61230125d4ca0";
+      sha256 = "e1b4738410bec169f0947c2d6df5048c3c1ca51f632a2a94233be51963bb0947";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/vi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/vi/firefox-98.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "681857e16b6767b0d66e8d51423b360cfeb8d107839ad52cbeecf1e7003d66ec";
+      sha256 = "b950e0e6fbb707f4c0dd70b491b100f890255077ab756af92d419e0d0518cf27";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/xh/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/xh/firefox-98.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "3122fcb6638c00f489c6540c3cca4312dbdc5de5cc16351746e83c68d02a45ac";
+      sha256 = "e01cb86ff2b60435d5717dca42e522c5a4824c09486067574cedf8de09d98064";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/zh-CN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/zh-CN/firefox-98.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "5e4be58a4891d7b1363d57fcb9ad67e5d1379401cc3df49a5f9ea4fdf71495fa";
+      sha256 = "e388cf188ed66903c46c0694aac5725ae1f2015ba3faba4645277d6456719721";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-x86_64/zh-TW/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-x86_64/zh-TW/firefox-98.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "e904a8e65e8637d01376a08908bba94f437f952eba13a68b81b0a40936044e14";
+      sha256 = "b6cdace1499535a36e4573914b49a2c3e4ce9cffbad250438bbaab78f3dbe4fc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ach/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ach/firefox-98.0b5.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "f5e383bd0268098f82791079324eb1457298d95431d497adbd6023f12c762932";
+      sha256 = "d269fe06dfb496fdb6b9ce50d7ea4c9064e8070bbc2a47e6e6641aa79a13e772";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/af/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/af/firefox-98.0b5.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "ae99c4ccebc0b938ebf2c20758a815fdeebae0b81715db79d8385d6a649bb6c9";
+      sha256 = "0c6a0ddb0937c59ff5b88d09ef291e685cb29f8435b4fb6227eb0c12b82d20b5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/an/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/an/firefox-98.0b5.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "ef7ab3d8b6b51d22f0f30b836024212332aec6989684b9a22a4f045662da6080";
+      sha256 = "efd0afc4e2ce06b094a2c1fb005c246bf8dad02fa9b8e2a0037e6f88f0fccb19";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ar/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ar/firefox-98.0b5.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "b3728cabcbb46393796b5b948daeb5821b70ae29a8571fb5295faa40d9a8e592";
+      sha256 = "29ef8698f0026dedf638fa32a2ed32d0014e131f41500969d271ca62c38f5cc2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ast/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ast/firefox-98.0b5.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "ecfcfa573fe215d94e48933bfb276f6dbd573c92a062f4f3ec1ed83ef0da83a7";
+      sha256 = "244697199ae0e2895f242c64bd6f23d641deb124950ded7a0c0e8d1e18017636";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/az/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/az/firefox-98.0b5.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "37558cf0fdf41c728b2a22fc2b8142af011ef7beeb924e08de2400f29b2dede7";
+      sha256 = "77bf85d57fb887f5f1e0073daf09807286e2e5d835ecd9400f698dcf0108a949";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/be/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/be/firefox-98.0b5.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "29a156bac1d7ffe10d05690fa3a82820cf246450ef1a77697e4f7f346c9eda13";
+      sha256 = "6e18fb3773dea1a99c9ea383868a9db07e2bf2a0ba30b9acd283107a3b557b17";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/bg/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/bg/firefox-98.0b5.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "631e34ca2499d6767a1fdc7b944f08841bdcd9e3c248f1e4f0572465797e819c";
+      sha256 = "1be4cc0e4a2b9c4cd00813cade9b09db97f3cec3087d103c0204cfb64bceee12";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/bn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/bn/firefox-98.0b5.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "3500810a58a0cd5192982fc5536902e377458589faf0e8c978425ac2fffb19ee";
+      sha256 = "c18cf7a7dd09718fd59457e8eb7153229061e4962e29abde5e83add456e2f086";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/br/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/br/firefox-98.0b5.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "979342ef754af3751a5466a5d54b40291f87dc8f084173330b2e337aec84c516";
+      sha256 = "d6ac7e4e279ce4858f77cf3613c05b4d6dc0ac0be4cfd66aa880b5761f9dbd02";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/bs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/bs/firefox-98.0b5.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "55fe1b0bdac8f8dc37acf3159ccbef78e4054c499ac8df550b215826eeeeec6d";
+      sha256 = "b785f4a680031be8ab963a66df4d61dbc54510fcd400d7e061c54e4bff554dd9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ca-valencia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ca-valencia/firefox-98.0b5.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "ff090da1c4a6d6dfb12d1750dfbf1f37fe57e2f5f93250d30851da215f6daefc";
+      sha256 = "69ccaf431b505db72245a8a6bce287dff88993055cfa3bdafbb31ef9783598bc";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ca/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ca/firefox-98.0b5.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "67027d0efa86c8fea2d27821a99a30e3878a9c478d9f26af3ecfcbdce336f896";
+      sha256 = "d779e8ca6fcf77cd4c5e0edb4883d0d28dcba2eba456de9cd4216d96e7aedb03";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/cak/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/cak/firefox-98.0b5.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "e7c2dd2447f157a2541540ea24d0732dfa0dd84b116824d87d7bae53a572883e";
+      sha256 = "dcedaaaaf1d9acac61fdedaf893d288052df18a925f8853722934ef54e92a71f";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/cs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/cs/firefox-98.0b5.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "bd7dc68d840a6a53a525a8a1229e0abca8aa2af14bee6c5f7198d877f3ecab1c";
+      sha256 = "b761e7d712a9ad951a00ee73f36eb5a764faa1285ce22af168e4dbe1516edfbf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/cy/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/cy/firefox-98.0b5.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "4a21599535668ffe96f3adb56801aa3c8b5aef40ce2998fde430e34cbb4898e0";
+      sha256 = "f640b0ffc029f473c3638ec8e08884997533d087cc8590a35458571403b5396d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/da/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/da/firefox-98.0b5.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "5f47de337347f65ba478c48c373d12befcde1b86b99102feb0c921d149541d2a";
+      sha256 = "0e56091cf2787215884df9c1dc0e2c208021fa99088d0dce18324b18b0b57aa5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/de/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/de/firefox-98.0b5.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "4f11bf8857f65091d43835c4c1d16097189e184e72abd2dde6807e8b22370f8e";
+      sha256 = "39d1c2ee79f1434f263ff804122d9dc20744c8c050513c95c75d7c424a5325c1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/dsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/dsb/firefox-98.0b5.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "6b426096f9a652e1eca190320fb485c5573c94d7f7558dc70f58b6c49508e5bb";
+      sha256 = "09544d8f51134e5f74c5d90b98844e49ee5b0be7ed5c63e2fa9753a08cfd2600";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/el/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/el/firefox-98.0b5.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "f374d64f64529238f867b76e7e894065a32b75b2d669787f1f7285f23ffb653a";
+      sha256 = "c76d10c0f9036b33e5e0048fafa7b4d8571af5e27f25d7dc92c336ffac2726da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/en-CA/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/en-CA/firefox-98.0b5.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "0806aa2abdc643eed084e7764acae24ee7da7e01c8482b35de5af0cbd809b9e0";
+      sha256 = "c85152d5ba80dc5a843312da61aed21834257bede5019b1042353a7955ef0e35";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/en-GB/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/en-GB/firefox-98.0b5.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "b41a39b046956ba4971c4ef163d9da6f7ea6b70f2dd419fdc278995bdc300723";
+      sha256 = "52696aed9eaf8be1994c88ed50925cc32f8139aa92ed9f9e1ed91d8c01468e44";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/en-US/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/en-US/firefox-98.0b5.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "8869e2fadeeca2c22c7732f22cd9709d8da9b435b6e4f9c9d384f67405f0fc76";
+      sha256 = "e60a2d3079cb76ce879cda5d9c67ca33938d501c3ceb517fd69b58e6f932bf2c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/eo/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/eo/firefox-98.0b5.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "3d339e3dcfe1ff4273d0a35f1177f580c8158b6457add582cc23f67c00676e56";
+      sha256 = "0f27a6f422d03c65879233a22cf469cf287d24d7c250dcea2bf8d845af303bd7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/es-AR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-AR/firefox-98.0b5.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "ed129dc3258a62a6e1f02b881d78b2d6348b95b99c2011005644ba484968e3f9";
+      sha256 = "639027a3d48570d8bc98965802f9b7661d545ece751ad1d734e7e303f8649962";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/es-CL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-CL/firefox-98.0b5.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "0691ef7be86c09cc92fbebc431668d1eee722ed85179a068ab3c548cb6f50058";
+      sha256 = "44f2a552486e6f22b111e793d0e69a67e635929f02f6f3da814dd2daf22210c2";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/es-ES/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-ES/firefox-98.0b5.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "86629f77d8092ccc4ddfbbfd2613535e1fb3a76e70c10fab46081a87cecaffd8";
+      sha256 = "02e56e76df00d39b0a8fd68038a9e8c956ceb512867d453f47209cdb9ce65597";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/es-MX/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/es-MX/firefox-98.0b5.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "5225e99833460c3098057602b82be9e0e52f2b00c060c29c1ca7310e2dec8384";
+      sha256 = "2386378b0917c770b419ea6561823ab0cfebe36c28a36e7747c47fe68201f95d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/et/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/et/firefox-98.0b5.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "0d97b86b2b6834ae518820e83a0f4af5318f3eb8848ca69ad4e3cf2dbbc56e6c";
+      sha256 = "382c77faf5501c3f03c626b1a8c99bbbd0d60cff39ab1b0ed33c7a3903866d03";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/eu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/eu/firefox-98.0b5.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "d44a9db9a6638a6c69c7b4ffba024d5b5028407533eeab387c2c442f73078d47";
+      sha256 = "9db254a521cb2185c82522121ba5f7d75a819298abb3c301b6a8b06007d242da";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/fa/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fa/firefox-98.0b5.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "df47ebeaf3e3eccfa2b483e46ffc4f7106299d62337923964249c2a7ee070a4d";
+      sha256 = "16576d6924c772e5d05285a8a9367e3cfbe407f26f96c499fd829529bfd3db4e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ff/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ff/firefox-98.0b5.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "4be5b5876f032e09d87c90efb9da8f168f722b46f71adc0ec036c4a1840a2795";
+      sha256 = "e26dd072353546dab184c4fd527525bb23201a8ed05c3c2bb672cf5a3da2e776";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/fi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fi/firefox-98.0b5.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "8ecb3ec4e9387647d3361345a420574887c74ca8bd38f723bea6d8ba4b2f4c81";
+      sha256 = "e785cc2e7c9abefcf9b4114f778def4789635e1bd0f354082ba1040435d9c4f1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/fr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fr/firefox-98.0b5.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "15483453905eb6aff243af3c536e6d73a88dcaeee4363e829c30fa3e2e9bcf1b";
+      sha256 = "7debe05c2c0128f6a125c627b26e441547d4da485ab263c5b5190cf5cc04b3a5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/fy-NL/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/fy-NL/firefox-98.0b5.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "991445513ebb294c2bc8e5833e7631b791cbcc72ccd501ee883665b3b0b62ba1";
+      sha256 = "6da5b56b5df3fda1f8ac8f35ed80a0150e66809ab4ae18af8e114a7e45bd10a6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ga-IE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ga-IE/firefox-98.0b5.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "036e8d167fc43d940d19ac8b90f4e136f264f16fe7d012fb1827b10dd47d8442";
+      sha256 = "e145c6ec469038e9cc2e195770fd5eb467bc3859c465d9c570df06e1af0d9532";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/gd/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gd/firefox-98.0b5.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "056ee174fe2a43aa714abe4e59521d2f040fc326cd9d4d36b8ab2676fefba24f";
+      sha256 = "d95b7f7aad0d343bdfd8814f38ea59ebc277ea85426fb447173b0a1b4efd9a74";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/gl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gl/firefox-98.0b5.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "6f30edc15658ae9395037751fab17c115391f22d4e2560945cbee436344aae92";
+      sha256 = "def309ff0f7916df41f34ffe9ec2260a0738da4a2657020641d6d03ee2faed93";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/gn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gn/firefox-98.0b5.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "d3cab8f98f1011b94c8b887db82ee3b64051f03879f83594113a0534fb7a730a";
+      sha256 = "1dfb7e8a36039e5bb434f1273cf9356a3826444f0f6b058897d16d4b9b0d8676";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/gu-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/gu-IN/firefox-98.0b5.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "969d9e3ddd308b96fe6475b04e0eaab162aa89f98daa9f921b52a2602e95c93e";
+      sha256 = "1c3e77637bba527e9a229665fc4a4921f0b26e05c14e5257a0b28507db34f08d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/he/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/he/firefox-98.0b5.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "874a5cacf1f6025889a4fc0961b8c26f78a56b403e76af8e84cd6bc54de3455b";
+      sha256 = "d54c2e3377e75dea8400d9b5486259f9be1158e44f520439912052bc2097624a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/hi-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hi-IN/firefox-98.0b5.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "4d369daaffdaf1a28d940f98f3f3d4c3936c5ccb3f913c3c1f0233b4ee448da5";
+      sha256 = "a91f89a416dc77cda507aa9a1bea653f48249f55ba4655489a4376ea92cf066c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/hr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hr/firefox-98.0b5.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "f5138a6569f4c8779c90462b3165fb7bb2351d48e9a81daa88d909e475eef2df";
+      sha256 = "ce38b5bc0b04a1bd86e2f5cf345c25718103d347803eb72d46f1cb90553695be";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/hsb/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hsb/firefox-98.0b5.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "f410a1786eda2f9b7bc27e30c438f4e0a090b436b871c0614f6fd871f4eaa2fd";
+      sha256 = "201ec9e0bb4058d7183024545af8eefe0cd3505fe557b2d541d8a7330c2797fa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/hu/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hu/firefox-98.0b5.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "60aa12adff74ff46ef37141293acc39b4592d61512c9db0a3745a8a41858ce67";
+      sha256 = "997a9884e4669e6e883703934e4d747f784f38fb374ee43c7d30f82b9462bb2c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/hy-AM/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/hy-AM/firefox-98.0b5.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "2187efe8640a541ab3b9c11583d09c977cf3af44c280887b03c5f4ed05239439";
+      sha256 = "fb97cbf935b6ae92c8c17be640820e4be73fed59d385bdeb2435ac2253c66651";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ia/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ia/firefox-98.0b5.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "1d3a3f28c0a99d56dccd1fc354a56cc1374f4f87a76760b410b616d0128f83fd";
+      sha256 = "d999259f970084c684cf543460efc6faa3677eb839c67e9743af24232d81ecc9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/id/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/id/firefox-98.0b5.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "b2e0853123208160486936e98ba978a7d509d8d4e0500c89bbe522ea69a4ff67";
+      sha256 = "d9bcf799f9d744ba94197900e2032cbc42e4eb3f5ee2d429ede4e2ca47c45d63";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/is/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/is/firefox-98.0b5.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "43e9ca38b6ef601d7834b2b951b4a14394a6442d0da1d5045b83a5ccbf7bad40";
+      sha256 = "69e55dfe9e542f9c4e0cdcd75e24c346ac565012b2214ad99534ff643d5b1a9e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/it/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/it/firefox-98.0b5.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "ef20972394355ce52307056b94af6dea64a3f6b1cf1887b3796505baf4645fde";
+      sha256 = "b10c9af0a38a7cc456d7392dbb4a01a964e68fcaf963868011ba104a01c10f59";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ja/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ja/firefox-98.0b5.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "ec106d9e5ebf26c698106c0b751a54b1af77959a39ef47ef124433a3b610f146";
+      sha256 = "114df4baff98d81d046a069b6a3271f3cd385cafff9681bb1bdd988a4b806eb3";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ka/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ka/firefox-98.0b5.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "19b20479c0df3f63a0d516bfa4521f0c7cb81e7fb9873ad801a6f662bc7558ab";
+      sha256 = "79cbe62f30dc117fb656db52ba61895dc830f2f53b8f02edb69809a8fdfe4722";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/kab/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/kab/firefox-98.0b5.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "200b9ec8da001ef900fa77ba7954ad67f68504e29ddc78a389847f076d9812db";
+      sha256 = "babe5ff8170ac703bc95db0c9b54e6c05c12e198dcdd42f0fce9eb2b2a366606";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/kk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/kk/firefox-98.0b5.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "8400fb463705221d80015a7b69388478f851231618bd3be0d9fffcc6b35783ec";
+      sha256 = "a4e3648681178444d8527539523fcd177741ca74a11cf608ae7cfe9608ff46d0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/km/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/km/firefox-98.0b5.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "4fee1c00876e71f6d8fe8194ac48dc56bb8ca6da2e5ad41488e1a99e3c65a32c";
+      sha256 = "42dd57a33216a86ccfaf915dbc2513b6ff9441ff5820cf51b0a97bdaecf1c00c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/kn/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/kn/firefox-98.0b5.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "c7aaaffd7539351180240837e1930b8303b1eb9d199a1937940f80041aca1632";
+      sha256 = "8b296ec5f02e7135209f83c53bb4d18c652336a4068b17db99b10dc9d3500744";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ko/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ko/firefox-98.0b5.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "f54d11032e4b929e0d283223744aec809c46d66a875dfa9e07fc2a9237c5edbc";
+      sha256 = "85829c8e7d52e7e5879d52897ffee0763f3aa03b754647a4d4c0e2d59cfad230";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/lij/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/lij/firefox-98.0b5.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "c7e1da38ea4886454f252c656bc1fd9809cbbdbf06b159cc40674e9e03ce0275";
+      sha256 = "89f0205a14d7b97c635382d3e2ea045103eda9df9f0b7184e7655626b34e39f6";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/lt/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/lt/firefox-98.0b5.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "5177db2a4e0ca4bbdbd9d7e3fe5aa5785f995df15df4ac4213bc22c2f9380a59";
+      sha256 = "f9f88f5d24d5edcd157a030b482c50175bda9a9d4d95499b668227438045b6a0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/lv/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/lv/firefox-98.0b5.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "0e5d27dbb6e1ed3bf87a60bf62bc90beeb1c503fcc545b4a22767fda0e8e695c";
+      sha256 = "7da0fd946c235948ce659947e53f389955e12a10251d2ad564ba6808e13aee76";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/mk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/mk/firefox-98.0b5.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "54250e1742ebd3cd0db36ac68f5790fcb803a4b63d77293905727922379c84f5";
+      sha256 = "9ffa05fc839c67e5c709b6203627b75b7bf7765e5e52e7151561ae0ff36d43f8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/mr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/mr/firefox-98.0b5.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "887c2cf008099abfd6cae59203f660e71618ad63d8492f0f1de072debab84450";
+      sha256 = "ff45d74bd695b8677ba76ab1cf6a7726ac08d7ea0c6ed6f705dfedc536df8112";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ms/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ms/firefox-98.0b5.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "c34caded0c323906ff15538694b37e3c91a00c731d7f4017434027882f160086";
+      sha256 = "9494973f7facf05b5636bce50a39151596b827a3444ce80a601c66e55b488af0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/my/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/my/firefox-98.0b5.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "f66ebec1bc3783cef6c57436a3f9764b52942f2466195fea8e5435275a276411";
+      sha256 = "ef0b115274304dd0925d643903f15ac7d6c26281ad5ec57c6b73a0a0beb97486";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/nb-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/nb-NO/firefox-98.0b5.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "6ac73b95d650bd7f8454345a041d7f9a294aed2cf249d09ab726eff5c6df0036";
+      sha256 = "79c7211ec24d7855f890cd83a65411302f0ad4296ed19fecb86969e62ab6c01a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ne-NP/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ne-NP/firefox-98.0b5.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "9f436cf3504f2629cbec87051539e00782c9942aeef4a03fc4fd44000dfd1b93";
+      sha256 = "b4fd3ba21a5c906cdeab13d4db78c4d8c43dae758211d8edb6570d49561b9f26";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/nl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/nl/firefox-98.0b5.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "8759bcafc09fd00beda7f9795b49675d2dcc153d96020198c9c4117c30fe9c0c";
+      sha256 = "cfbfaffe54246e4ced8a35edd67b5e28567d9d61ed4fe867f11fc479864e8a6d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/nn-NO/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/nn-NO/firefox-98.0b5.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "2c5fc7af589d06e2bda4de52b6a079b4c8ac9287b71b8d86a6462dd63f64f62c";
+      sha256 = "74487e82d428166a870b0593ea7be3de9b912132542ff98bd3276e1b9091fc21";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/oc/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/oc/firefox-98.0b5.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "0f96f8938af715461ab1267713d57beeafbca389aa291931c1712cfee375dcac";
+      sha256 = "004d5e020a627f95572f2c52bcdbd0ef52b66134c5ad64328c810ba2a910cfba";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/pa-IN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pa-IN/firefox-98.0b5.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "1a8f36abd3b638cb4aa82e66e4dcbb13a56c0fe967ae3187686217ffac0c37f0";
+      sha256 = "4102b176aa98362b3ea6bca76bc5ad3fee3849b833f192d55c02ec72bbd7fcd5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/pl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pl/firefox-98.0b5.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "01b349d1656b2cc480e22d1a1a4eb376ae3b0be65a4b64d1cfb95e29b8e3a7c0";
+      sha256 = "acc2990be46dde74e93acc0e20d5c59acd2ec9b0ca2d3db1bc641eba9e17dd6d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/pt-BR/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pt-BR/firefox-98.0b5.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "4db2f4df874ebd5914ac143c9963e108d45c9822474b43d32b7a417d9a0c14ec";
+      sha256 = "c1a286c4369f13a6df8dbbeb9ef60dea11d36d38e1403d8e9bb8387fac2226d8";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/pt-PT/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/pt-PT/firefox-98.0b5.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "fb4f87a2f1c735fc19da371872990a4dcc76ceee2a0f6776e55b06780795589f";
+      sha256 = "35805803b8487ed6f28bf8cf6ffba764c479cf0eb11bd418ae2613831ede598a";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/rm/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/rm/firefox-98.0b5.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "a9292aa129c8dc538014481865f046b8dbd069138a4ef73743137ad609656174";
+      sha256 = "deb2e23159d458e4e2b030678075d793a0d68e87fad38473267e7e7d57939715";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ro/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ro/firefox-98.0b5.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "4da6f323d2cddfd0a6f85f61c75cae777668cfe4a88a9fae3ed6297702604e35";
+      sha256 = "bb0c6227d2903080645a7c7ed0665db6922beda6438d7b82060d890b9ace2a64";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ru/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ru/firefox-98.0b5.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "44eddd02a18b8e419d44bae127a4f37eda740f63fb7524891f3a435a6430f64b";
+      sha256 = "b06680a771d8a347c25b65a56cf76bbfa1294fc8c7a2a303bf92175aec1e952e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/sco/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sco/firefox-98.0b5.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "aabcfc84e1a06d901e29b571628905871248a3148fdfa9ebe1b26995db92fb81";
+      sha256 = "0519564a5e34f3c9c9ae9605f520da542bd69f20f9410c47739e30ed290ac5f5";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/si/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/si/firefox-98.0b5.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "8a8b0fe064719cfb088ac61e412c7b1f2d6d66ea523d7f6742efbb54cf53f0d2";
+      sha256 = "8a5d4685384eaec411a278f92aa2c09f667df430cb65920dbf4f2a22ab749b22";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/sk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sk/firefox-98.0b5.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "0bba256df30a3deeeaf5edb946fa535b762cdb42232f8e15f3d1ce49743c121f";
+      sha256 = "6083bdf468dae23a0cd69506e04615f7312dfce6ee0fad744432f316001b23b0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/sl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sl/firefox-98.0b5.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "5ed15767967d579d6809fdc0fae86f0f42b9f8ec2e024bd40aa151147528ccec";
+      sha256 = "42ae9e4a00b8a939a934505e5b4898dfc5edf2ef7c63451784770ae8e942dc3e";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/son/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/son/firefox-98.0b5.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "5e6f78700f74229fb3dfea3b408a5ac78f18892c6ec407bd85017467a5687ba6";
+      sha256 = "2d808b21afc4b1af9ea72880acac4c017566e74d7a6635d0a3e9302159961f2d";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/sq/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sq/firefox-98.0b5.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "5eb1de045ee119d67e0251be6223f7efb3fd26d8cebc5f372f4513d0928c8a51";
+      sha256 = "799099d98be61d2ef50988e4a0dcc910a3d089c8b1b156c340bc6f306f0c05bf";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/sr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sr/firefox-98.0b5.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "78b467f1ceda9ef4d181d5549855241ed37381dc08d4e282bdfdf0db3b0625a3";
+      sha256 = "0627104342fa014aa267b4874d88592aad131b8b71ae9da4864233217dac9fcd";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/sv-SE/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/sv-SE/firefox-98.0b5.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "a708c94b51ee31a40532970d59b2d570c87aedeed24454aace5f6870eaccfa5f";
+      sha256 = "cf22010a41298f31839c61c749b7f643f92b792050d62060305284d77fc21b35";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/szl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/szl/firefox-98.0b5.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "0095fd3dc0eb4eb46c55ae3b2ccc65bea69127aed00d6fac446fb9c9274f4302";
+      sha256 = "588fed1f0dc77c8d5a18ddb33d04c5570efe80adf3e96895b1b0243e82e92535";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ta/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ta/firefox-98.0b5.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "c8f052d0275c803da20f62172976b44357861ccd8599d9d70eba9a2c96594824";
+      sha256 = "6d10537d9268c509fed6bfd86eb53351b772ea2ba96c0f386d589765b0f1153c";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/te/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/te/firefox-98.0b5.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "efad15e6aeb3ad1287cc3d0e3d0daa389faa7f348a002cb5c7f52f812eda8c33";
+      sha256 = "4ececc1167184b3a531f8176f4282b34b2f5e2c98f329af7dc67ac5be5efefe7";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/th/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/th/firefox-98.0b5.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "dfff091b8e2f6b19842335da51f4cc7107401268b91c1bee55bb473ab5f245bc";
+      sha256 = "2860a9bf015972a38b1a15bfb532b87c65e2edb7b9ea8ed2db8ee6ab03d4e281";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/tl/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/tl/firefox-98.0b5.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "35f3b8459096105e29d87645ebfba3a93fb23412ac7fcc30357f2ebbce658f2a";
+      sha256 = "97134e6fc0b07c910f8a2ca263943724e3f5790d62b4f0d2fc697c3d5a15a6ec";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/tr/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/tr/firefox-98.0b5.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "3727440d1c3fac9b5761e3f79e46658dfeb5bee2f3ed17ec78697d869be7a7c0";
+      sha256 = "5b38cc44c7d8aa425e70903f192f2ccf8cf4dbcd40952d0014a6f16c81ec66fa";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/trs/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/trs/firefox-98.0b5.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "91808cdc62ff8f8670d3c22acb6c203832471ade8e24fd606a2c00312fc39d7d";
+      sha256 = "e5e7db1ca4c8bff1623bd2b78b1d66617510419a893f324af8092de1a9476a51";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/uk/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/uk/firefox-98.0b5.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "947f2cb2572e17d04263e5ebebd897a6900d22dbc85196826e316706a8622aa6";
+      sha256 = "357410778b50cd6da76d178dbc88efe9bdf01e71895699e1616ef4dff253aae1";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/ur/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/ur/firefox-98.0b5.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "d5baa22518ee5f189f780d159aef432591c7d4855cce7f1dc4c67d48c69d5780";
+      sha256 = "f38359d87aa018b4bd8fee63829a04e7d552c928b945f74c3f2e0ec21524ea03";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/uz/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/uz/firefox-98.0b5.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "25b19eac0ad6491c7285633ad61dab8f8d2833ba011b7aaa8dd1a2d0eca2b6da";
+      sha256 = "b23c4436a5fe3edb954c2ddc16ff16756d672a89afed91e0753b6f9c7018e9d9";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/vi/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/vi/firefox-98.0b5.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "ad284426be9590e9a118c5f151c478d15e6d964beb46312fe7172347783e9162";
+      sha256 = "7156717a71e9fcc8d98eb0fd544b5a3bcd8ade7e805e7a2806b3b3ac363e2402";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/xh/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/xh/firefox-98.0b5.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "ee90ff4921848363791e0486fc8810d892bf07c448c576bc4c0ea09a6bea8e55";
+      sha256 = "5e5b2764b860bf45e5cc738c1d6ce989a6f85b226ebd4ab59d236295ef596a51";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/zh-CN/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/zh-CN/firefox-98.0b5.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "9cc4ec8d6ac780a0fa8ad01b5b16438a0bcb290da79691e7dbf993033bd919f0";
+      sha256 = "74fbfe561438450fc28539c6d88e16e89abcfabcb025dc57aef87bb2aa64bee0";
     }
-    { url = "http://archive.mozilla.org/pub/devedition/releases/96.0b3/linux-i686/zh-TW/firefox-96.0b3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/devedition/releases/98.0b5/linux-i686/zh-TW/firefox-98.0b5.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "6018bca3d3963b3b6dbed521ae068d15f659b6779240e8ed1f9c3c66ec75b932";
+      sha256 = "12467aa41392d7429a91d01e35894fe5bf3d18cfc4091e349490f063e4b69247";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
index 935739b5225..25ae29459f0 100644
--- a/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
+++ b/pkgs/applications/networking/browsers/firefox-bin/release_sources.nix
@@ -1,985 +1,985 @@
 {
-  version = "96.0.3";
+  version = "97.0.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ach/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ach/firefox-97.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-x86_64";
-      sha256 = "aee9a5f570fec2c8c0566f70673a6db1f60a92bb2c165ceb30f434b0dcf1a65b";
+      sha256 = "a10737964c66f46a15ca60c29575a837340e9b967c849809717c7009c3a01c20";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/af/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/af/firefox-97.0.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "f929516c277cfb2d45100e677ed9dd200f8b3a09166455f39c2474bad7cc4d74";
+      sha256 = "a6ef82107f918234c84da51b49bc2018910e855ac4e7e5cc3a0e71f3583140b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/an/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/an/firefox-97.0.1.tar.bz2";
       locale = "an";
       arch = "linux-x86_64";
-      sha256 = "daee2330478c036da51128c1f32d372b73b5400c8c0f261d50bfd821456042c5";
+      sha256 = "34f5a0461707feffce732749958f508efd729ecedd8567dbe1387bde5e335a66";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ar/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ar/firefox-97.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "51549041ec1cbf2e0caea181f4468f46d15dd1a7b6a620e359f6de533118f8af";
+      sha256 = "5e126bcfa03c79e9ad777d76389a23e109dd852fc98698efc714d37125656f84";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ast/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ast/firefox-97.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "6cbce2293f1982e3e1cc993104a46f3093bec3f420af9ea561eb2601776b9cf6";
+      sha256 = "931ae804e75fa4b039eb373a38b2f6fa8dffb852e418789d559d9a9c0612c54e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/az/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/az/firefox-97.0.1.tar.bz2";
       locale = "az";
       arch = "linux-x86_64";
-      sha256 = "45ba4e47ef4a32d4a8daa7b873a3658de2ebe88532f33af2fead1619939c8294";
+      sha256 = "549dda8a1049d074887f187689e73c38b814c1f1896752320f2a03f566bad2c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/be/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/be/firefox-97.0.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "58666c9b75862076b00144de96bbcdd8b0b3a5bf5bd0895065fb38d3c12a30ac";
+      sha256 = "06b0f7aabf8ed42ee6f021bc37abb44029586f5ddd2673f885f73f94c64032c7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/bg/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/bg/firefox-97.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "4ff97af116eb450edbb2a4c2d9864da3c0b07c5f6913f198b905779f2be48f98";
+      sha256 = "72f5e07d24a2810659fc7d5c9a43214f427286f9a0096d602be0edbdb31d529c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/bn/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/bn/firefox-97.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-x86_64";
-      sha256 = "bda665d796fe62524f1d1c96afc4c8da569e9b264895a26aaeb20bab7c2f3030";
+      sha256 = "9f3d0376edd2c74b527190a5d53f0d2a36c371484fe4fff1f91c1d03b0a2dabd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/br/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/br/firefox-97.0.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "2305e226c5e492505dfc82fe34f17c8725eeab2ea10b61b089c92ad7b85a5186";
+      sha256 = "befbc0e991718afb4dc5362fa9aaae52a0e60fcac158a666a2b7a7b41eeaf834";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/bs/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/bs/firefox-97.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-x86_64";
-      sha256 = "6aeb690c82790a72906ff80d55ae5de2dc7aa5a430c45a0ef2861336a6e73b15";
+      sha256 = "a4d41ac7495d4d5311d5e03224a1c75a03fa059b6638666fc0622674ebfc6248";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ca-valencia/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ca-valencia/firefox-97.0.1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-x86_64";
-      sha256 = "86e2a4720b991d6ffd7c9ce996162db9ef9ccd80da96fd5ad184ef006ae8fb1a";
+      sha256 = "2ff1b0f0035374f323fe2bfbacd321394fb040599ed064627f60d24c78571394";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ca/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ca/firefox-97.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "0e9675d739eec02c98812e4d707c37d352de7605e9567d9d4adccd0e6ab40e8e";
+      sha256 = "6f979602867721179454d2f6286cbecbf0a14aa0d42ba68ff7d7ca751f15a341";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/cak/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/cak/firefox-97.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "35d5d2c5eef32819499b4078c7f31f23c848b44c40788ff42ba66d10b3771fda";
+      sha256 = "dd8bc5188874f0b5b300a03a7ded9fe059ddf9c9f69112429233f2905a5b329f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/cs/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/cs/firefox-97.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "67f42b8ce23ef78aab9fd5e61abada98d7fba5dd76d8c57ceefb43a1783d29a5";
+      sha256 = "8daef8ab21ad86b68999e052114b17b52d44e64e85b8879b690717c4017aa983";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/cy/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/cy/firefox-97.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "c6bb154bb341b88994d060f18430670184bd3646c662da6351df11e2ce9a6abb";
+      sha256 = "758d098d80d37b2bf15dcc3b16ad7289439166a3c7321bf815c555d96531589e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/da/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/da/firefox-97.0.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "3c268391a116f9b8ada73a98020c44f67bb9f275fbb7462a188e6d2d8acede7a";
+      sha256 = "6fab3975b94d94809c734ee95cb26d9bcf24af71234a1bc3b8c4db0b97355405";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/de/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/de/firefox-97.0.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "dc5ce8991db83708bfbe686db8a3244e28e61077a754b6dc41f29946b8afb489";
+      sha256 = "1b776d58ce3b1d21580f725b065b164a6fc23e5b17d70025830286922f5c1455";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/dsb/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/dsb/firefox-97.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "9afd277a20cc47de854ec48c9aa484118e274ce24532e53076eafeb78d4f8e0a";
+      sha256 = "9b9c082e7fe273635b1095e6caebf8645abf3aadcfbc26e098616095d64b2f6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/el/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/el/firefox-97.0.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "58130d71888ee7f3c40a1656ee0e7ab9f3538573f1dde104a93e850863ea1be9";
+      sha256 = "475676b56b462193d6dd50932893b039e6826d247abf2d46a421415bd19a6c68";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/en-CA/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/en-CA/firefox-97.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "2548098aa8527abd10b0f23203a1a4fafb231c6bf853d67c938006d6c230856a";
+      sha256 = "8c50ad38302dbae2d6737f6a03bc6127c850101c5f17c8a15b85d157b6b39ee5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/en-GB/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/en-GB/firefox-97.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "c8f8e171e28b629fc9cfc4557409987e7a72aa9507a51fe2bf0f8347530cc962";
+      sha256 = "e48d9aa35fe906f6e6d99eeffbef212730c15a3b9d5a7090dcf99e3e47eda9ab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/en-US/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/en-US/firefox-97.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "2b642cfd2db0c2cb0f67453307a5a7d8c90e372a03274644212b51f60d503965";
+      sha256 = "a63d28ae61926c0d7447f57d4e6fb514401d560abb50ce787bb6bd0e9b7b820f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/eo/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/eo/firefox-97.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-x86_64";
-      sha256 = "803ea1560568fb1c2af0bc0ff47a01ec7d854866b209bce7ceff8f7351a1cffc";
+      sha256 = "94394906bbe63f6dd414aa6b0739dc30082128e0e342fd408d33ab99cb01b9f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/es-AR/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/es-AR/firefox-97.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "4ab03c3623f26785b09308ca3d334536b169aec7690050db2141e40a83bd7b0d";
+      sha256 = "9738031b89b434127af39f20609b31ba767a004dc0ccf5d56b965165ab91fb82";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/es-CL/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/es-CL/firefox-97.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-x86_64";
-      sha256 = "578e4ae8697ddf6754c88e94c7676b1f1fb4d0cd65dadd833966f1b69a277f14";
+      sha256 = "ceb4fd38b2b81b16f2faa95995b11e760dad4e710cf4435e6d311245bd6cb483";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/es-ES/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/es-ES/firefox-97.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "91ed54c34aac2fa5f3345403f4123f154679759bdbc4d6453de093216db630d4";
+      sha256 = "37f94ded6c285c01300ee014f1a55d955a70b980647b8ffd5a0709dc9df34378";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/es-MX/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/es-MX/firefox-97.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-x86_64";
-      sha256 = "8cad63aedba46ae735a6d69e510c912f746ed5f1d0af8a8bc7f396a53ca9bd7d";
+      sha256 = "b989f57bc1439e3204c912321df33626a9947691e76cb8bd22fb5bdcd77a86a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/et/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/et/firefox-97.0.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "c12317af0fc4a4ae13a0ddb376192ba62ef3a2bc3205a0a87531ea4147707c5d";
+      sha256 = "757190b1a6de3cb7d44c005f9b23f745fb67f0c247956007f3ac269d494019cc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/eu/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/eu/firefox-97.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "a244b1fbd2ef6197c739834177e6bf9c8f1241f9257baa77eeebac149da0919e";
+      sha256 = "092f0378fdfa3fe44f19fc71543609a8b96a9add6f41324d24edf7aa7b446d36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/fa/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/fa/firefox-97.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-x86_64";
-      sha256 = "7eac238a916f009c83f8a95cb5f6d13e08461630094d85a78cfae041df7b9179";
+      sha256 = "c1d003bdd9f21d6751de57b1e4d8b1057082f48260a94a732e3a3ae180ca186f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ff/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ff/firefox-97.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-x86_64";
-      sha256 = "afd6d4635f3840287ac5497ec33555fa6399d0555e8a9a8cd8c58384d6aba6c3";
+      sha256 = "af04da4c9528145e7b14bdc5283a41422704c0302675703a84a4bc2b42f8139e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/fi/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/fi/firefox-97.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "3e68e136d8a9a1522fe6477fec66df20fb454ab017d9337fbaab39cd4e607192";
+      sha256 = "e3f7285b7d3666155863bd7d89bb7cf87008b755d34a7b5b04ec63425f7ed6c3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/fr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/fr/firefox-97.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "5b1b622c122acba08315918969dfc14f952de946e121c7c037d53ca422fbc3d6";
+      sha256 = "9fa04d611d74ba0688ad7ad7441759015724e61d7303eb211b7f7404603eb1b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/fy-NL/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/fy-NL/firefox-97.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "c6588dc0436e8c96fe2660c356bd26dbd3065f04ab439aa034a154c28e5feb49";
+      sha256 = "0d017580e4847f644d8b4b8d8e90aba0a92f3b3aa436b9de68f176f7f3b00cb6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ga-IE/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ga-IE/firefox-97.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "d289f690338b6191f6da0201745d361915c83839f829375913a004bf63482fd3";
+      sha256 = "73c602f8b41a5aefaa04646065197fbcad2e196c94b1d1537a019ebe33590a6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/gd/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/gd/firefox-97.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "f007344cb0ff1a2999d87ab4563cde87c2afa416cf3e20f7c369c9e6d4f17193";
+      sha256 = "c1c9a41012983133bdd743e0afda81d7c752b04ac2cf73a7c4daa662d9db91c8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/gl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/gl/firefox-97.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "d42233e3a6cce9d0464428bf8e2dbaecac1eebf2c03f58e0045f971d38a2d844";
+      sha256 = "8ca8b2e7a3549e1df2aebd86bc5192d6ba0b14c2581802f1ca06342ffb771ac4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/gn/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/gn/firefox-97.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-x86_64";
-      sha256 = "333e9de73b08a2c86d3491ff15a39312c63fcd2ab46f45d271fc37244242f39f";
+      sha256 = "10acfa3beecacbfaae592dbce92e72dc220cd27503334e28d3108846ec012e00";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/gu-IN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/gu-IN/firefox-97.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-x86_64";
-      sha256 = "2ef9974b7281e17ba3469947365b299b821afca28d5369c374e18d9498a5d15f";
+      sha256 = "d2ea8b9386be163260d4ee0940dd80c4fa88d235cef7470fe9859fb18b5360f3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/he/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/he/firefox-97.0.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "6df30dc08a3f85cb1c78269d05fc56af9651efed5d5bd2d09cbd1eba264e5eeb";
+      sha256 = "6dd00a7a9518868ce35e92e22951fba8e45690ad19afc297c82ec5d43690cbb8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/hi-IN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/hi-IN/firefox-97.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-x86_64";
-      sha256 = "1ddb67ff888a37dac8e92637a051d3cc4f632bf3b22d05b91bd58bbad223e04f";
+      sha256 = "fb583c15e2f5dba0c8c19c197f4e4f83c8e59ebcf568d3f52936bbbd4733830c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/hr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/hr/firefox-97.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "85425e1a026d9ae2a5d55b0ad2b355a715e35904ac88a706f027dbf18ba11a0b";
+      sha256 = "07d6ded87285b2192f3668cbdc74b6571e708bab6d77964aa8665f1940722ff4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/hsb/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/hsb/firefox-97.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "abeee49422541d11d2eed2d159b7f20f3f0f36b7ce82505a2991368275f6bccb";
+      sha256 = "fcbd4351ef9a4c3ea3bc290bf17679f900e73339b63d10ccfa2c554c09497bf4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/hu/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/hu/firefox-97.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "2c42e7ed59de20b5377c37a41bfe083279f0e481c61cba6249790ff83ce2977a";
+      sha256 = "1fade975a0ab75308b281b556c6980e81fc6a4c540746142534401e73323d9d7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/hy-AM/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/hy-AM/firefox-97.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "74a0b038ca4cbccbfcd276b299ed0d127f4d4cdea159789cf01313095ee8874f";
+      sha256 = "ac7d7124aad964783b65d9d7de037005fde865a7922cf22b9e07f44f36830032";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ia/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ia/firefox-97.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-x86_64";
-      sha256 = "c711c1cf38ab231ae74404852999d74e4d802f36c12e44835e9bc6916133eab9";
+      sha256 = "cda3d476e07f15cbdce88225d0b7fe785841d56327c63a53920dccff9ec8bb4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/id/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/id/firefox-97.0.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "e03819b47694a6ded168212877294b187f3e3218ab78dcf888a947d90479fc30";
+      sha256 = "3bcd1f707740b56e345c34dcb24453d33d9761eafeb9b3590d5e74e4558b5f33";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/is/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/is/firefox-97.0.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "94eabb7522d56e732ee816a7ee1236307d8dd7ebe22fafa6bf4a3ae14d3a0d8b";
+      sha256 = "027f46db78d1796fa3ddbb3ec0f823e0a9e3677ca1f7e49eb1b9299be91c74a4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/it/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/it/firefox-97.0.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "5b73da04bfd5601fd199e1ad32cc02b41ccd056551e3e14ae975ae401baebb53";
+      sha256 = "7332a7566fb4f8748df9afdeaf5aa4634dab42cf63f52cc41cec13215820afa5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ja/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ja/firefox-97.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "2e8992b199d36c9857627942b43d3472f56e7657f929dc655cd4bc74b0441fe5";
+      sha256 = "c485ee96c2e6e0f0a508c99b2189595289f3858464ca2c48301ae78bbc59b299";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ka/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ka/firefox-97.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "6c4059f00b2598bc28755f8051ef20159cf8cffc9732f1644822769799e886ca";
+      sha256 = "cd5b723c422e01d70856dd851337d719170585146029119f1490feec1d8ee188";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/kab/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/kab/firefox-97.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "730e62f6d18da4519ae2ed46266d2014fd44260549d8d2dd4d0fd8b6174a2831";
+      sha256 = "df540b3e9207f174cc6a280813d09c23abea18c1af540b9bc7e1330a4920be9c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/kk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/kk/firefox-97.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "a7f4afdd9d43f0bfec34edf17dd5ff0d68d529731b51deb86e2a09d85e7b86b1";
+      sha256 = "1d6ae6bdfe89de470aebfff046d0ddd12dc85f4c7b9ad8931b8bdb9da7917906";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/km/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/km/firefox-97.0.1.tar.bz2";
       locale = "km";
       arch = "linux-x86_64";
-      sha256 = "c69f54f1a9775c76f7126a18c5c8c66f683737076e3e59479b3e36a34a6c30f6";
+      sha256 = "1a5fb9460b33db9f32000c96ccdcbbe1d2fc3fa177b2cfaece1dabc514e3467c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/kn/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/kn/firefox-97.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-x86_64";
-      sha256 = "c9fb9ff1e2c79dc0ad804846bbcccf608a09ad380932bd7d68267e10cc9eeb65";
+      sha256 = "3c5766b4c29c699309cc8191fb1aab01852db29467c38ef529704c54d9087689";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ko/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ko/firefox-97.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "43adfc767b7869adcbb2d39410813eeab6ca7d50df6398bc00106f1b73daa564";
+      sha256 = "08d9a5999a9b10fdaf9a386c9da99ec040200f2f19286cd7ff8e26de95955f5f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/lij/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/lij/firefox-97.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-x86_64";
-      sha256 = "812ebc60c69de188a12247cf82881824ee0efff571b91527fc343f50f216c27b";
+      sha256 = "925ea94387cf5f07b053ca5b25dc2a50b0ad9f6372509e91116fb6d20675204e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/lt/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/lt/firefox-97.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "375ce82258424250c48051f33551958adad2b72bff9c06f2109a54618fb0a038";
+      sha256 = "f062e05e6fb52a42f813428be5be582dbb24b46f3379aa0975451bd029134c12";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/lv/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/lv/firefox-97.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "5b27b13ae0406e6ac0bdd612ab8523fab2665b8e4e146aaf2f47a83712453958";
+      sha256 = "ca08ec6516a07aef0404716b0111df6941b9b167173079397a013f93db23e8a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/mk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/mk/firefox-97.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-x86_64";
-      sha256 = "5215eb91572c7f863d79d44d23fff9181b1c910817d40383a83459d6ce0fffd5";
+      sha256 = "3ddc7afca0f7030fd667f345ace3105eef1126332d18f20c7221596704eb1196";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/mr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/mr/firefox-97.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-x86_64";
-      sha256 = "056491449edc305d2994f8eb985dad136d9687b3f0aaf9b95d134a352f72ea34";
+      sha256 = "684d22d5841abcf6c107106966568e6f7476d15e1dac80447721836c4a20a71b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ms/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ms/firefox-97.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "eb7244a97611860167f98dd038e4d1f60c3b52a2cf81fdf93c2402d780c1ecfd";
+      sha256 = "9630d0e0b4466593a59efaa383d6fd0e9c08887959e0b851f03aeadb5c64d43a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/my/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/my/firefox-97.0.1.tar.bz2";
       locale = "my";
       arch = "linux-x86_64";
-      sha256 = "93b93324e305b5ba0f9a005b73230de8acc6607ff0e284c5d3814892f95181a6";
+      sha256 = "2bcab7bd7e35474466c3b587991cd8a62a18a30c14ea489d9c28932e1813db5e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/nb-NO/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/nb-NO/firefox-97.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "255056583e093d4b733326f732a529ddbe18010b64e5a093e6a17e09953f6c5b";
+      sha256 = "d6c4f2ce45109e37ca35c0fab316fc31b849f256f4745858dddf519b27fd8e75";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ne-NP/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ne-NP/firefox-97.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-x86_64";
-      sha256 = "65fcb5475f2ad6e4e9471e4129ed26c615786e6b90c13e1f38c1c679b913b023";
+      sha256 = "ef96102307ab270615166a9feaddf0ae047d2c8a18d85015be7f388d00ad3cd1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/nl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/nl/firefox-97.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "1197ff7d9bb843d56d081da51105283923768884cecee4ce9cb50a93952e909d";
+      sha256 = "4ea9eccaa1c7d354cdc199b33fedb6a7ed07400f331d33357c69ca7c2c654dfe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/nn-NO/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/nn-NO/firefox-97.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "47fe60e6c0115914630edf99a56447f5a1536da0e55e6253e58e4e9ac54c9eec";
+      sha256 = "59045e5cccac7dbc125e3fa3f8c9bff7b5d8b8b0e8f1e696f5bcd633bf9353e6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/oc/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/oc/firefox-97.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-x86_64";
-      sha256 = "17d363269d5b0911d47ea3ba52e9a7b28f911e4f0a1eaa83849d749b4bfe906c";
+      sha256 = "cdc9c76871be181f86871c55bd6819de9539bdcb11450cf3bac419f4bd44185c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/pa-IN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/pa-IN/firefox-97.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "6c1f582c50b36055fb9f3b8c20db1bc823cbd2d56cf36c8495e7c18599a906a9";
+      sha256 = "aad979dbe94c225b4255ff6b7b78097f8a60ecb14570517eddcd7cbbc553a9bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/pl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/pl/firefox-97.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "e4a1fdc104a58966e760a1ea78bd353f61272462920085c347693adbac769d43";
+      sha256 = "1f1be85fe26c4a55171f7114052ba679c405e731b3db7934ee2ac35323f095c6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/pt-BR/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/pt-BR/firefox-97.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "90a1bff86400f555d284fd8094df9d7c13556ebad0ce982710508d901c6cb1ff";
+      sha256 = "588698a09d7320027027ace6196f6430aefe315cc9aae745f75568a062d6de6b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/pt-PT/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/pt-PT/firefox-97.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "7e59d9ab9369f8f7ef00b85c6c6be62b4bb9da488071268ddab808367541892c";
+      sha256 = "4cf0b84bbb4a5945ea787ca0f3d4da56a12073797dd603be29e408772a70860e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/rm/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/rm/firefox-97.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "ca20e98f9703ccf00cde6793b2e1d28c0c429c0fff01a2eb592e4270181e8c1b";
+      sha256 = "b267cb45b84b114c266551c4863bfb22db9ff4725c0b6b9d39616e0b01f71e86";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ro/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ro/firefox-97.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "55ac07f7ffa919ba37d29899f8fcbb13793db9f198e2a9cc0b5dda717b1d4116";
+      sha256 = "26a6ba053a270db85fe008f72c23b905072a84c27815131d1a3af90fba0f3518";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ru/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ru/firefox-97.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "f05ba84219501f904d51f320fecd84df6c51cb1f4ad541afbdbf8a781e46699a";
+      sha256 = "caea6755305f8f077fc82895343c01a7e1eac0e1cc70faaa1915bb88cba01344";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/sco/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/sco/firefox-97.0.1.tar.bz2";
       locale = "sco";
       arch = "linux-x86_64";
-      sha256 = "5186773e72363dd05e46ba418e58a9e4d80381fc530c509135c76c5e63353d48";
+      sha256 = "eb249baafdf9d54b61e923bf3f23d2f462d5026f4b81bacfadd713bd569d3255";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/si/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/si/firefox-97.0.1.tar.bz2";
       locale = "si";
       arch = "linux-x86_64";
-      sha256 = "8bdc526c6d7b4c672d12c860376458d03efd5305f4823405c0827a4b75912a8c";
+      sha256 = "44a98bc22309035b432c3f01c5f87d469df3f2bee44c26f54f507f10b7098908";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/sk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/sk/firefox-97.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "bb17d52c6c549dc7861c32ec9a4f57a0df323845a6076a9499c1faa9ae3c8d28";
+      sha256 = "a81e8f814a2816ad95414c6e43acf55d88e4ce0757de14ab163f6b622fc49d41";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/sl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/sl/firefox-97.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "fecd2cf24bed949a02360ae74f6701ac9b65186a7a51f851249a2cee67ccb63a";
+      sha256 = "a2b9f1dd69a9a3fd4b5198280462d06b49d5c63fd101865707cac6aa6fc9581c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/son/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/son/firefox-97.0.1.tar.bz2";
       locale = "son";
       arch = "linux-x86_64";
-      sha256 = "c3130c49ad77912107c61d0b24e5290f20ec7dcf95d329682a0703f43c768c28";
+      sha256 = "0033fcff083aa29a738799cb9bb3d32eeeafaaa3a1d41c422048c89000a9968a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/sq/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/sq/firefox-97.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "4cf2ac0f3957a205a26548655f00c3af0c35751ff6f69d25e5a38dde86dbc335";
+      sha256 = "3614b46f72a142655f58c0577345a772350ead46af9060cd20e8918f517c7cf4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/sr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/sr/firefox-97.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "7f3e01919220b39029bf48c651864dfe9970c858f4c379a0a458bbadc1cea666";
+      sha256 = "034dceafc44b83ca9d493f98645bd0ae45fd513f55f20f0de85752679e39c570";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/sv-SE/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/sv-SE/firefox-97.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "bdeba12b07803a1bf86c7e38185fc1add59a10e09ed59aff7d135107d004f0bb";
+      sha256 = "aff9dc0399629aef20dff6eed5ecc7664cc8c83b53614b2cd011db6089262a9f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/szl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/szl/firefox-97.0.1.tar.bz2";
       locale = "szl";
       arch = "linux-x86_64";
-      sha256 = "f6b69c4e88e23da50b4f7f3b4961a92ddb3321dab8a988d29150fc1ad60258f5";
+      sha256 = "9b6242e30b948507978f96180ec6d7d5921e32657f41fbe211a7c254cb11777b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ta/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ta/firefox-97.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-x86_64";
-      sha256 = "d7bb8645992788ac5161f3becf98248526b02b767cff958d5094ad24086cad06";
+      sha256 = "368a48fe15bc7ed6359cbbba817b47a99a583cc3ce91d2d98f0387d3a9880a95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/te/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/te/firefox-97.0.1.tar.bz2";
       locale = "te";
       arch = "linux-x86_64";
-      sha256 = "692b65313b3b792e35b1160ee830fd9c9ff082d6f6177af7be135dd6096efe09";
+      sha256 = "dfeadd822000e10c0214d05c75203a6e9c98c4bf20d65377c35ee8d485a2707e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/th/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/th/firefox-97.0.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "c792a126f487b51f4832a56fec8a6fb502fe3a0a38dea7a8f3c5a7060b9d7576";
+      sha256 = "f1932432028ef648897e64bf033bb3e8984100052ea52a9840d000272f9d5eb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/tl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/tl/firefox-97.0.1.tar.bz2";
       locale = "tl";
       arch = "linux-x86_64";
-      sha256 = "ef633b565abf5349aaa86afcd9934145b70abc036bcddc733075e5157a736406";
+      sha256 = "9436d48c6b56c7b765a4ab6ce20bc12f3e5241691edb3b1517fe27a3a1fab6a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/tr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/tr/firefox-97.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "ef04eff4e101405dbf8291b0384f8ecc95febf6730aabdc28d8c8cfaf305810e";
+      sha256 = "bf0d0808d6d5f880bf382e9d440013855a6fda82275cc628833fb8cb694e4f6f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/trs/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/trs/firefox-97.0.1.tar.bz2";
       locale = "trs";
       arch = "linux-x86_64";
-      sha256 = "0a5c709f86dd33c771aec4760a5df1dbfd7baade90c8d9519c46a1dee8f18aad";
+      sha256 = "546416fc106774a28b2234e31d5d9850ed4708a2e5be4a4231deb28f4544512a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/uk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/uk/firefox-97.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "488baa16c6d60043d5da0aa667e3973eb0df141d50bef117effecc2a39a30019";
+      sha256 = "5395cb322632fc68ef84241a75786db589863709344d5dfa9cbb650bc94c8f6d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/ur/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/ur/firefox-97.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-x86_64";
-      sha256 = "039278fc25b62c6ccc024965ea296de4381f86c485b10cfa93cd5025d39f7e47";
+      sha256 = "d8dcdc4d95646392582904a29946f652e670bf276dd1b156e5b28477f4369e50";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/uz/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/uz/firefox-97.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "59c1a1f8a85f1f569112df4dbfeaaf15f4337210f50111193b36bdedf4d3b2b4";
+      sha256 = "7b1b8b9e9efd430ea5191d3e30c2b28ef28f9fad9779a4d65d1bd653c575986a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/vi/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/vi/firefox-97.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "e9a1a2330b1d09ae8f9ecb95613799db87a06f7a4fcd70265ebca2a6aa179bf9";
+      sha256 = "6ccc1efad3f2a57b365195afbda665548d82d141f5143beb04691d995e0ad1ad";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/xh/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/xh/firefox-97.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-x86_64";
-      sha256 = "8dd8816267c62f309206a45cab60bd6dd4d067b0de3002111d86b737f4f9d11e";
+      sha256 = "4099f3357f74bc5443ad59ef72bb1d1881b1d96965628544f72eb3bf72a02a36";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/zh-CN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/zh-CN/firefox-97.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "b080362a5fa2a660770698915abbbc9230d85ce1eb3510e96ff9374ee19fbf94";
+      sha256 = "9588d9eee65b7389c91ac43782f455169889742b2996bce8306fa07075f1c4b5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-x86_64/zh-TW/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-x86_64/zh-TW/firefox-97.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "34f43a3dc69a116d5b9a136d89fe0180deee13907a94eb6d02ef2ffacb94ef49";
+      sha256 = "d4f9228777a8af5e68616865fcdbf522cd73d69164ca0936098bbf0534911413";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ach/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ach/firefox-97.0.1.tar.bz2";
       locale = "ach";
       arch = "linux-i686";
-      sha256 = "b2f21e188e6ab08be9b57a1a50dc735c50cc6586a70c3243af1dc242def66f79";
+      sha256 = "bb0e66383954377252fe15d1e3b251ff0e7ff518fa8d817f4f26b18449e8525b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/af/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/af/firefox-97.0.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "c153b40cccdb36903e3ced9d8685443a9dd4550419b45f09c201fc5b9ef2d12c";
+      sha256 = "5d73dbd6f2cd49f79e99538ba0b4247c8c29c92ce3417e6ddc23b89df59d4ba2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/an/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/an/firefox-97.0.1.tar.bz2";
       locale = "an";
       arch = "linux-i686";
-      sha256 = "0514725b38a83e6385362dfdac57b7d374a458e6621296c4285d769933aa7bdc";
+      sha256 = "43b1ccf184fee070ec1a279914eda6b25ab15f294468b524e4c2a5e975e7c818";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ar/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ar/firefox-97.0.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "ba1003e913322f06aa113f61d6de5ce52e08bdb5644fd6c5c8d9f059765a7737";
+      sha256 = "6ef2f6bf6fac15b194a08aaec137adfe59ac7a8e1e06eacf88328dc1c917c994";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ast/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ast/firefox-97.0.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "c2983efe1ba2b201006581d10fa629e2704f70590290a2720817b49ea3cb6ec0";
+      sha256 = "01aa7a8ea0263ba32f0c398918b184cb0d9f588df4330b16e37a8f3fb1efb165";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/az/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/az/firefox-97.0.1.tar.bz2";
       locale = "az";
       arch = "linux-i686";
-      sha256 = "b4cf2197f83835fb580ed79e01851e7be2d9d7e319e1dcea3028e075f244d6f6";
+      sha256 = "3605a671f1752f0ba3499720095b66a7d058b5a0aeec3f864d87d7027121c970";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/be/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/be/firefox-97.0.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "519c34bffab78065fcd3b9027eac4e0eda7ab864784f98474dcc04d887540bc4";
+      sha256 = "9ecdd7986a2b2b0c28ec11eab24130e4d35c8dc96e9fd95bebd0fd2e724e38ef";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/bg/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/bg/firefox-97.0.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "fc897672d9eed6bcc835fa3e9e6e7fe07214192fd6899b2e7f85d64a0fbb1179";
+      sha256 = "c66c13d707aa0f52154061dd6d59407acd1bf5b1a29284da8821c2abbb2b02fe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/bn/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/bn/firefox-97.0.1.tar.bz2";
       locale = "bn";
       arch = "linux-i686";
-      sha256 = "67550724f06e82f430e398171715a96eb2b4aa6e902066faf7e7a1efc5bfcbb1";
+      sha256 = "bab8e1f9004caab4f2a4ba0dbfa22ce10957b5c2a4adf52049d64953200cc052";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/br/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/br/firefox-97.0.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "22d15a81ee580824465ff2bae1f134efc4525cb2b7e3707c365f8b720f8511b9";
+      sha256 = "07f177e9396567d4f0852c68b2080a04ac2f00c38c3cb0c1bc0fc4fcb3b629f5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/bs/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/bs/firefox-97.0.1.tar.bz2";
       locale = "bs";
       arch = "linux-i686";
-      sha256 = "0d2bca33d770c88b808c74f3178e5f4782424f804e59acfdb884879e195e3ba4";
+      sha256 = "e9fd1dfce60b27dd8037c144810379a2526c4d270d9c2bb2536a74df8be7a586";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ca-valencia/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ca-valencia/firefox-97.0.1.tar.bz2";
       locale = "ca-valencia";
       arch = "linux-i686";
-      sha256 = "3214ba1b640b1802d1a22c0a76ed5a26f0f2c23785cced7ed1cc8eaecb0c0030";
+      sha256 = "f6ae71d70746a7c56ad416543cff9ceb4298dfe30d1bce4d72ea695131ebad95";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ca/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ca/firefox-97.0.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "07fa269368d120c547c6faad6c896c73cd95cfb1a99da9bb7bcdec1453e4c898";
+      sha256 = "7b12613954b0e6b81ed7fb1fcca7099dc4500a72cec7333dd8de6a7deca28820";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/cak/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/cak/firefox-97.0.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "3350662d19a2f4bf68688917c4b37565c9049f22c272ed860e1d47f6f11e3be0";
+      sha256 = "b18f916d3eec4121c7a854ca2ba2ccf5baecf53d7a173578e19c3c3c50aed076";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/cs/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/cs/firefox-97.0.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "2a70bc5fe26c427ac4d0c6ff75670dc485d9f4701926572ff46f6e6044a94d97";
+      sha256 = "56afa0af38d7ec85b938a961363b781d4980ccfeec9945f0971be201a21b1cd1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/cy/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/cy/firefox-97.0.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "d5e4177638e84295f2733357548791a179cd32e97c1080666a6b48270236f8e8";
+      sha256 = "f82d0db8338a0eb4cf5f180f4982c5c7db7db4b9fb953ec496aa2e9961966091";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/da/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/da/firefox-97.0.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "3d31f922d743c9ec84841bacfcc563c6c71716f75cef8b78b5331bfe6916dcb3";
+      sha256 = "fe7def9df91782a3adbdf02a4deac85ab07caa4f378f695e2253e0eccde3ab34";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/de/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/de/firefox-97.0.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "2e1ff6056e589d420ae813a448317de248910694fa89ecfdce9b5545a647e2b5";
+      sha256 = "1fba10e324128c2d30b9a9a0489f1f065bda575afc7dbe0c6625ece2b96b4bc7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/dsb/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/dsb/firefox-97.0.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "73d2c7e568d7e6bf8831dc4405f407357e3066896446d3ea2bbaf7de45c1314f";
+      sha256 = "3e43d5c0d27290b023c7e53a48aad5894474d9a33a544a20cca4893fe4dd3267";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/el/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/el/firefox-97.0.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "1669c35b9ab66367d998f1b15556ababbb3b80aa191bed6a7b7f34c6f29fef1c";
+      sha256 = "71864f8294844e051674f20d49b78f3b129ae10f7ae93c4bdc4e194ca6a586d3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/en-CA/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/en-CA/firefox-97.0.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "c5aba93081eaf416dab845e0e8d2e5db10992c3aaeab209182c4af2e725dc5c6";
+      sha256 = "845713d2c18c1bc029509590e6156edb2166dd7bfc8e5a8cb9e6092143bb8193";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/en-GB/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/en-GB/firefox-97.0.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "72acf998d686d34727ca307855d3c0139c620868b13614ef5c7a61953a3c2ac8";
+      sha256 = "b5b2f7d607be95cccfc6dbc12298333e5f261a9cb27650dff946ea4246e87df8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/en-US/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/en-US/firefox-97.0.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "096169898ad97b2575b0b5e07c012f55f8749b7bc85f373c276d97948c3b7e08";
+      sha256 = "c736080050a9715077a004add55dcb3dcb3be891d5870939709096bc81195eed";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/eo/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/eo/firefox-97.0.1.tar.bz2";
       locale = "eo";
       arch = "linux-i686";
-      sha256 = "365611e7265d56b3c9bab3a6aca71b838d48b945119b710624696080170443cd";
+      sha256 = "38f135a137826862f9319b88edd9ba0e41a7c57f7de3603ca23d5c6101b2cdc0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/es-AR/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/es-AR/firefox-97.0.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "49a54d184ea10380fac710f49f6c3e36c2e338e5324acf94b39535f6e06c91ce";
+      sha256 = "63856d08aab14fec8b28aa6ad6f765aa43d5bf52cd1da5e48aa3c111e13be60c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/es-CL/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/es-CL/firefox-97.0.1.tar.bz2";
       locale = "es-CL";
       arch = "linux-i686";
-      sha256 = "3a5fbabf862c35f29db2c325e6b2e89af8a2fafea9c6613dbe4f367ce07e1abe";
+      sha256 = "0bffa72431868aa53835a67b18a257e7b3083da778182b13f723f68a38478910";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/es-ES/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/es-ES/firefox-97.0.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "241fb3c9a2d07276085d586cf51fc55eaa6293d188ec286f25c6f58eb1919f31";
+      sha256 = "11adfe391791b2e17114c72d984db96586c70102d43563f907c371cd85c89b03";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/es-MX/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/es-MX/firefox-97.0.1.tar.bz2";
       locale = "es-MX";
       arch = "linux-i686";
-      sha256 = "066bfc95073b28afbf61accf2455e3294281749eb048bfab0670b21f920e51bf";
+      sha256 = "6b9360899c575c665e156dbb8a3f20b396bebb742f14eab9957f30f1dc2f644e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/et/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/et/firefox-97.0.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "437b61d073054cfb81063991c03afeeb5be52a31bd4f3bd1a2e65bef0c92a1d5";
+      sha256 = "3fff6be4dd8d62163cbffee59d2d4811944f89b452a57192b3444515dd510bd2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/eu/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/eu/firefox-97.0.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "bf998de6b1b2dee067ee05d0a28d0128f63c9e6e7b788181d785b8afce8b0789";
+      sha256 = "1fb5ce8792f92d810f170746c61133d1835513dc644c6db88f1a4a6d81906815";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/fa/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/fa/firefox-97.0.1.tar.bz2";
       locale = "fa";
       arch = "linux-i686";
-      sha256 = "efe1cd9c8acbb8cdd8d72eee6c81f100c17c90fe0e13784992c5cfbe712a1eaa";
+      sha256 = "a69afe063a18b4f95fef028c584a46de1246fec45137e394e4b4a6f711be84c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ff/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ff/firefox-97.0.1.tar.bz2";
       locale = "ff";
       arch = "linux-i686";
-      sha256 = "dcd0dbe923403f1b078695257bb2705a4be9c91ad51fe065500ebfdfd0e8bf45";
+      sha256 = "f1c3797c11b975d7a2feeb03d20cadd89396659c3661f7604853d9912a5b6faa";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/fi/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/fi/firefox-97.0.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "8c2288c2c7e96e2176b005227c504d7be001e03c43757f9e945f8a5a360dfc74";
+      sha256 = "d8c628c73ff53c5883a8396bde4bb9b931e1dc7ac44637e9774b3d5d3ecf6b06";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/fr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/fr/firefox-97.0.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "dbb3ebec1fb7da951c30d9a9fb50d59fe4b10cc56354c6d988708b4912092ae7";
+      sha256 = "85dbf4270eced53b4020d7a269a9d9ed4e55fa7251672b9c32feb96d6336b110";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/fy-NL/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/fy-NL/firefox-97.0.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "510522af3fa4c2f264223ac1970222c6d77abee42cf41ae1725f615bc519ba0f";
+      sha256 = "30da6a888702ba5060e461539ed51390014c79b55c1358e6a8b76c80c335199c";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ga-IE/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ga-IE/firefox-97.0.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "82225bd4f8a00ffd38af9c4ce19cc3d224bcced34f6523cbe02a9c7f3d228697";
+      sha256 = "3c1a33c4d7b3e3161f2b07ff95adbc466a2e9d718227d786ee6007318730c1a0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/gd/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/gd/firefox-97.0.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "5c11e2efaab296b436c6d21c7693612b910297681c49af90d376d9e1525b1aa8";
+      sha256 = "0ffce6d8f9e2d0d1b84c2c9b2ecc49a1861f88356c5b37d75522d537364f5208";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/gl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/gl/firefox-97.0.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "8895ec691bdcebfc5eb13ef4a59fc1e08bd7aebd8ba336fc2a99db47608e03ca";
+      sha256 = "31fb23e14aa007cb6ea74b5ccd124d51a1d2c19cb6003d693afff07e83640666";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/gn/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/gn/firefox-97.0.1.tar.bz2";
       locale = "gn";
       arch = "linux-i686";
-      sha256 = "fb6f99ee38f85d45b4d529934acdb94e804c5d8e85ae54124667c302156523b0";
+      sha256 = "042b2c8e5652f2f9e1e3cb01a4308cec100680d45acaa37babcf33b8bef5512f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/gu-IN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/gu-IN/firefox-97.0.1.tar.bz2";
       locale = "gu-IN";
       arch = "linux-i686";
-      sha256 = "69aaf403dc5fb15f92b95175a1be399452cd06ab751d3c6ff2a78c2ec9ebcab0";
+      sha256 = "5052d0c6a28b1c83e1c38b771f62f3c973089ccbfd048d0e089c8a637a80d218";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/he/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/he/firefox-97.0.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "eedd4f7d709b56e002f8f9955debe3bd4b2c4caef61b5160af78a44677f44530";
+      sha256 = "06a78cb3435dc6f8dabff279ad1c69f6f4d44c5a8e56d04d38dbfb046ad42fa8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/hi-IN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/hi-IN/firefox-97.0.1.tar.bz2";
       locale = "hi-IN";
       arch = "linux-i686";
-      sha256 = "3df9f781a68686c430da2f5aeafec68b983e1a9c64989701a78cec7a25830202";
+      sha256 = "340d637d0de3df62ab79e69b3465a154a80e47a4dfe2b48cd949874457955cbe";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/hr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/hr/firefox-97.0.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "e809039217112743f459f37ae9b8cda21bb63aa00a23641a5f869a65ac55a527";
+      sha256 = "526fa7a1bf5e3e3b32f2fa61b8d28617873aba9bf1bacc5e13533b0621df993a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/hsb/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/hsb/firefox-97.0.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "4ee840b8014aa7b0e8ef5262ac2d69e48049a7b2beab803ee7dc09c35dee8f03";
+      sha256 = "4443703e0b590e66dc4d295b1262d61f91cebb0a59ef6c246348a4e411663398";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/hu/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/hu/firefox-97.0.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "8e62842f1be4afd2d61c0ef9a9be05f6e3c133d1994a55d8b165d39560d96018";
+      sha256 = "b2b1be8b090734f1069f7bd78294072bab28920312aa34125d02213a030bc9b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/hy-AM/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/hy-AM/firefox-97.0.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "e0fa7cbc6bc4679585ce832f8cc1380e7de0cb0ca46b93293c9ba08fb04f91d7";
+      sha256 = "a81e4add5314774f19fb514b539bdd7e12b907a4faf8b606c13f7dac8461e3b6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ia/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ia/firefox-97.0.1.tar.bz2";
       locale = "ia";
       arch = "linux-i686";
-      sha256 = "d20630531aba75aa0641422fadcfd2d3bc663fc817c22641a63e9bfc4cd29a76";
+      sha256 = "a1ead289cc491600b89d63f96081b21e5f8172936023e42b5d949c0d5aea2bbd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/id/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/id/firefox-97.0.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "b11550957bf6caf0f088e5791db67f7685d4626f7535691c4201764244649fd5";
+      sha256 = "f56eaa86629a013f60c7af973a844abca72cb7ad236e02479bda9d1aeeb02b32";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/is/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/is/firefox-97.0.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "d9112f5dc6c3fbc415d9bb9da52f36dbce325d36d8ec1843cf96b093d19d4b69";
+      sha256 = "0d762f8c70bafdc9d8155572ff71ebbb0dfd9d83388298196a87ad130f8527a8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/it/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/it/firefox-97.0.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "35f4350d1cec94cb4402b7b22f11e929e8a08b44a150f7910f278c9a5cb77324";
+      sha256 = "54a79040a115b67cea2b912fd905d8acee05e737702c778628fd10282b27364e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ja/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ja/firefox-97.0.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "5fe015cc6d0250500912187edc04e697cbf62028b447e47e8d1532dfd0628d2c";
+      sha256 = "e92f3cf4d7f2f0e26280d814d6bf26f14fc2f5d8923451cbb6075607ba4d95c1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ka/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ka/firefox-97.0.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "a696df24f1b95e5b228f53328514c77639020a8719cdb23f88017be7e6d2a037";
+      sha256 = "ff89c8ecc80897ec8acea68de166ae6f626f181fc7f0c1d30ac5208c4a221eb7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/kab/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/kab/firefox-97.0.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "4d9c7c0cf22aacd5c18f75eb511db2ebffc393019af1f01fb5d1dbb837da96a6";
+      sha256 = "bdcc2807c9ac16d6df6e1f35e2648f7e1776dd117edc1731d24192eaee5f9661";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/kk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/kk/firefox-97.0.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "db9c1eee0cd6a696e24b7edb142aa3f04a89bb3b30ec46e76be3738e3787bbe4";
+      sha256 = "535bb672a95a37550779c84ecb5eaf98f151a30123b2b7a099b7940e8bede683";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/km/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/km/firefox-97.0.1.tar.bz2";
       locale = "km";
       arch = "linux-i686";
-      sha256 = "e05b5a315de970a2bb58276204a341870d0028214b2a402eef5db36ce8ca8190";
+      sha256 = "3e60008c56da46e0897c326a843871d63fe0e534487f4a94f2e398ea6c5377f9";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/kn/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/kn/firefox-97.0.1.tar.bz2";
       locale = "kn";
       arch = "linux-i686";
-      sha256 = "1c60915882ba74ddb257517036932c154a5081e9418b98e0fb533f1c71479eaf";
+      sha256 = "90d8c47a1cd42b7bd4f9e2c04ec6bfa701fc978a6ea680fc5e48bfd4fa6a727f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ko/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ko/firefox-97.0.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "1c69656cf1e302973ee92d9064388cd537b70ca8e36882b2aba5ba477522192b";
+      sha256 = "d62427eafe143f3d2aaa1eba6969358316b8c76c7fe926d8fc5985dddc588e7f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/lij/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/lij/firefox-97.0.1.tar.bz2";
       locale = "lij";
       arch = "linux-i686";
-      sha256 = "bef0d7289833480363ab76d610e2cfecb286f5ed614d910ee84c9016da358c1c";
+      sha256 = "0db93d63e67c7f1bae536d425dd1789b0c0d1737fd23e8d0aa0c7b66f4c958a3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/lt/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/lt/firefox-97.0.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "738746e5e17271ebc97963a890e6951c9338c7f9bdb6021c3db0de1f346eb66c";
+      sha256 = "ae3cfea73e03c61afdea361c4b23408f7c894197c4ef370286a653d35e0eb406";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/lv/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/lv/firefox-97.0.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "d16713a766aecb20428d6642805fdb94a70523c0eb557b4a143c60afbc7ab623";
+      sha256 = "6bb0a946109cb8316a1d3b412602b590caf4f6a22fc7659fc43d79c0f921acab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/mk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/mk/firefox-97.0.1.tar.bz2";
       locale = "mk";
       arch = "linux-i686";
-      sha256 = "f04eb09a5ccf6fb017a652ed8016d2e6f83202acb1f596a9f1b972caea8bc6ad";
+      sha256 = "6e36851e9c7b14e8c180ac9b715b245ec627fd2c73dbb4adc31219247696f658";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/mr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/mr/firefox-97.0.1.tar.bz2";
       locale = "mr";
       arch = "linux-i686";
-      sha256 = "8cb8bdfe8b57fde90425e242de2a6c6a2fd76341efe32017febce6eb8189595b";
+      sha256 = "68678735aa1fa850cc30445e71fc2589f32d3845238a781c96d62164b00a1da6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ms/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ms/firefox-97.0.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "785a87e3cbd7521913c47b9ba0f3838ee44e729df17680d780c78735c2ede188";
+      sha256 = "0dc9802f1ea0bfa4e2916dd4a7b02b7aaa5cac0238aa4bae62bad4eebd49939b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/my/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/my/firefox-97.0.1.tar.bz2";
       locale = "my";
       arch = "linux-i686";
-      sha256 = "6a555d259acd118123630f2da9c82c72fb95208b6aa02cec36ee8f803a94db82";
+      sha256 = "c3fdec85d214fa4f85b502647f9f0f50e0d473820e69a4f4f8d5d24fe58e6cd0";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/nb-NO/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/nb-NO/firefox-97.0.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "a095c6f9991033a60015416f049e39f403368aafd85b3eb63dc3b7ab1183b9a0";
+      sha256 = "48947dd10062ebef8e9095a1938dbb0b5e24689ffd5f835080512612e93f2efd";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ne-NP/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ne-NP/firefox-97.0.1.tar.bz2";
       locale = "ne-NP";
       arch = "linux-i686";
-      sha256 = "3e3d546d2c2671f026414c809ac29431e4497a609c429c549f3183b101282766";
+      sha256 = "8952004bde5d731fe48ddde9bced409e5d2c46d25157542f3c72568b87a9be8b";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/nl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/nl/firefox-97.0.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "5a0f987ddf354053e128a9c4d27b0eb73df227569643bfdca211aa2d4aef9208";
+      sha256 = "f2c7c1348dabee858c89b8aaf37e5cfcf0cd867f4e9b0587285aef13aa302a26";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/nn-NO/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/nn-NO/firefox-97.0.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "736ed19fe6aabe0db06c3b5ba8971b9f73ec7014d876ce5fc0b5caff491cdff9";
+      sha256 = "bd05d1b619c77fbb502080f4862cbb715e628c814d8c35720998ec43d6c4920a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/oc/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/oc/firefox-97.0.1.tar.bz2";
       locale = "oc";
       arch = "linux-i686";
-      sha256 = "abde35c0c8ec426bdf5b35d0d19d2076fb72091939dded1318af90234efdc795";
+      sha256 = "6092e57f1d6bcaed08e5d1acdd15d9fda0430f1c0073a48fc38f8a73578f1fba";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/pa-IN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/pa-IN/firefox-97.0.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "f40fca6a7f15b21ed61ff1293f9ce26cd4331736c4f59dc3515fa895176a15af";
+      sha256 = "51bc6d1b738c12eedd1b35f829b51ceb157c65a25241e911e10c13289b92a5b1";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/pl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/pl/firefox-97.0.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "37dbcf64865442c1e42d22cb926888dee9aed8f3d99e08c8a8da3fc3bbcc18a0";
+      sha256 = "f286860bd5912b91fa62494837da2c335c4a4a484a164b4b999022c2813d5c28";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/pt-BR/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/pt-BR/firefox-97.0.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "60059b1fd78fd5dbf4df958274dc3c272142b4daaaf7fcd527491674bafbc234";
+      sha256 = "a1f48ba9c56f2c54899d14b1292cbb4e517482ba0552bf17ace7dd6b517eef4d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/pt-PT/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/pt-PT/firefox-97.0.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "958dd069404ef0b5aa3426c0436f7cc2fb0665d7aeb17b894f555baa875b1808";
+      sha256 = "6d91ff36f186ef11ba70d604443b7e818f608dd6d667f49a7892c1a69e64bdbc";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/rm/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/rm/firefox-97.0.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "5d1379af25c004d0e16b3763fe2a78ddbd766a1ed8d3aa966a71bf44b65a8140";
+      sha256 = "cc190575af60d5a09266b2296796978f7a37dd07b2709523b84b88499729e546";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ro/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ro/firefox-97.0.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "11ac629ea7b38db0043e9563fc5d75ea26ad75b0a3565d12798d56d2c7256992";
+      sha256 = "4193936ca7e10f01b91ab990ba0b7aa354c344a7749356bb9b30d251d46b84bf";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ru/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ru/firefox-97.0.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "2cc4cc849625dfc20a3dcdfa3a964218b521d4271c0cc166312b016948944b33";
+      sha256 = "f85ad1700117a99b8657d9fd9061935b77acfc4a0d7c8b3caa8d7c0ddf142a8d";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/sco/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/sco/firefox-97.0.1.tar.bz2";
       locale = "sco";
       arch = "linux-i686";
-      sha256 = "956160210c34a207a129a08667c3c3a3f978ad444a3f524e5cf4ce3406205c3b";
+      sha256 = "23d16650132fe30c6fb90797f744d09f21f16a0673821cc0c59392a9d2adbfab";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/si/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/si/firefox-97.0.1.tar.bz2";
       locale = "si";
       arch = "linux-i686";
-      sha256 = "68b2d054ed0af6e2608b42f958e5790d22552882ae2c143fd5a35b755232577b";
+      sha256 = "44ec177853f6d3d72ce141ebfc25508df4c63c8b37265df4dfcac8b48799b007";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/sk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/sk/firefox-97.0.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "5e5f318c5783feedcdd155afd7b2755fe0db513766378d823bec141a34245d73";
+      sha256 = "4a31daac61e0ac3a729c5299dc5d14046bb2cadec61aad443fa4391a0cc99b3f";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/sl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/sl/firefox-97.0.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "75be9829bc9b3e9167eac5c24a9c1d091a7f932c99c496b7a07c0d438523ba13";
+      sha256 = "8ca7306d8e68d9943ae3dbeffe3da88682c4c22fa9974142b9f609c4c62b06f7";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/son/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/son/firefox-97.0.1.tar.bz2";
       locale = "son";
       arch = "linux-i686";
-      sha256 = "eb18e65b5ff61953e8a8a2eff766dd13b9ecc5ce66179108eeb919b64219efcc";
+      sha256 = "9c5c17a9f85814779f88f320030bc6d935cac0b5b51ec9524283553c36c751c5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/sq/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/sq/firefox-97.0.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "e21779796d19e344b518cc06106d9da298430dea03842c37e7856676999e57f4";
+      sha256 = "2c40123f37130de16e47175472086e5774598b5e6090de4d88e67512bf982c43";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/sr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/sr/firefox-97.0.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "12ff3eb22ea684b81909f9c03a4ce2ea802d6160bf1b7b939a808b28ad042d7e";
+      sha256 = "2ab762afa95e0d0baa3650e35612f4f56f9d4ddd2baa34f615e9fb7bf95353e3";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/sv-SE/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/sv-SE/firefox-97.0.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "ed48713a2c50e806fa4ecb082bf87765e00f4b496f7087ac642d4b7d5287a373";
+      sha256 = "ea00b75128a67638d67ca83ce9f5e15f4afe9eda1903e90cd6f27820117fcac6";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/szl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/szl/firefox-97.0.1.tar.bz2";
       locale = "szl";
       arch = "linux-i686";
-      sha256 = "0a8335399ff54640d374c0c1035a4ba74a0a88b3940c02e7351c0372be4efd3e";
+      sha256 = "88ac139760b68702f33ad02889dacbd31d3c31140f3dff763dcbf6f9e7f6adf8";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ta/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ta/firefox-97.0.1.tar.bz2";
       locale = "ta";
       arch = "linux-i686";
-      sha256 = "6d39220c2d88014acbfcb0d6ac93f1539a668b787a26acd31b80312f59f6be12";
+      sha256 = "3828cc9dea353d7fb259fd57396ddd59b316fb323caa6b8b47f485a6aad8e1a5";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/te/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/te/firefox-97.0.1.tar.bz2";
       locale = "te";
       arch = "linux-i686";
-      sha256 = "f037e673f47ce4569eec2525be5c1b903ffe0df71e322eeda033c91cc92cdd0b";
+      sha256 = "1dba53e1907eac8f76759b2fe0a5499c31c733dcd627193916e6d4ebab27c625";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/th/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/th/firefox-97.0.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "dc7aae98e8b4928f7b3b703aeca5d07aa1a820efb5bf34b1d07d9360b2eefbec";
+      sha256 = "461a11d1a033cf9ef113f0d362484696b29ba6d52e7e14ec4a3015ce55767f01";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/tl/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/tl/firefox-97.0.1.tar.bz2";
       locale = "tl";
       arch = "linux-i686";
-      sha256 = "1fac0d3b63677d85d1921a7b9a9e81bb45be52a63ddeaa679022a9178acb2081";
+      sha256 = "572f60b9222c9a008ea23eb0f9c184fff17af4393e887cf2db871a7f86f74b77";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/tr/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/tr/firefox-97.0.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "d380b853b024daa0c11a34ce80c90b1840a2439b89b9f471ed1d483577c9e297";
+      sha256 = "bcc59684f7e6c6efa6df66fb2eacec8b1a59f0aa42f8bea86a7e0fd6a29916a2";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/trs/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/trs/firefox-97.0.1.tar.bz2";
       locale = "trs";
       arch = "linux-i686";
-      sha256 = "4b143569552d987f05fa482c481b846398cc45fa98edb59b257764762198a5f2";
+      sha256 = "d97ea9fcc6ec94e168ddfe219f08fc202013e1cbfdf35e34749569e54f6ae65a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/uk/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/uk/firefox-97.0.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "a6df28358b227cbc03887ecc6e3ef516a71b09050fed3ba19f13a7bba8fe7f3f";
+      sha256 = "49078902f54f5e0ffbaa93a7a797a7795a1baeb5cb57942afd3c6df38b68683a";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/ur/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/ur/firefox-97.0.1.tar.bz2";
       locale = "ur";
       arch = "linux-i686";
-      sha256 = "0eb5d0680e985acc6bd5dc9602080c953a0664260e0ad62ba697b9a13b0282ca";
+      sha256 = "7df5518a9e0f8a82b61bba992bbdb4c3ceb935768d057ffa3602036a921b1754";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/uz/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/uz/firefox-97.0.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "a1916a60680587dad773be1a63eb6a8959d84d08ffd3aaf9c062d12a7bb9f1fa";
+      sha256 = "6a36b93b799cbaca9a7f5765723c63a1e42c1645bad6ca2e3ee8dad8d64f3c40";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/vi/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/vi/firefox-97.0.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "b4072149b45d7514af7260f1f13605823dc3420c5f45198266503f3a9e42119f";
+      sha256 = "da081f083f64ebe61465848358ac018ca4417104ec94911d39f4ea87a858d49e";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/xh/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/xh/firefox-97.0.1.tar.bz2";
       locale = "xh";
       arch = "linux-i686";
-      sha256 = "ed0c483448b2eeff1adac520be15dee6ecff162f0420669902e565eaf30e0dd2";
+      sha256 = "3dd0234d0ae5739290f7236264500c3ead31b6afa9b00cfbf8405e1ca13d1a57";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/zh-CN/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/zh-CN/firefox-97.0.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "c1416988cbff23e6a68a04ff54b65fe11909dba59e9a0b2709a5ce4599a9d8aa";
+      sha256 = "9e21e6ea94ad72b890c1eca95da2e1ed3f5c3b61ac56216092a7393c072048e4";
     }
-    { url = "http://archive.mozilla.org/pub/firefox/releases/96.0.3/linux-i686/zh-TW/firefox-96.0.3.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/firefox/releases/97.0.1/linux-i686/zh-TW/firefox-97.0.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "ee7b2c30ae3e685f631a132ef1992b6b59c189781385ef0823330ee24fd4d43e";
+      sha256 = "e8eefb56597f20a92c839a7e4ccfabfa009de100505982a72c8088a64ecca879";
     }
     ];
 }
diff --git a/pkgs/applications/networking/browsers/firefox/common.nix b/pkgs/applications/networking/browsers/firefox/common.nix
index 677c41e7230..d57839b0e4b 100644
--- a/pkgs/applications/networking/browsers/firefox/common.nix
+++ b/pkgs/applications/networking/browsers/firefox/common.nix
@@ -1,7 +1,8 @@
 { pname, version, meta, updateScript ? null
 , binaryName ? "firefox", application ? "browser"
 , src, unpackPhase ? null, patches ? []
-, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [], tests ? [] }:
+, extraNativeBuildInputs ? [], extraConfigureFlags ? [], extraMakeFlags ? [], tests ? []
+, extraPostPatch ? "", extraPassthru ? {} }:
 
 { lib, stdenv, pkg-config, pango, perl, python3, zip
 , libjpeg, zlib, dbus, dbus-glib, bzip2, xorg
@@ -10,7 +11,7 @@
 , hunspell, libevent, libstartup_notification
 , libvpx
 , icu70, libpng, glib, pciutils
-, autoconf213, which, gnused, rustPackages
+, autoconf213, which, gnused, rustPackages, rustPlatform
 , rust-cbindgen, nodejs, nasm, fetchpatch
 , gnum4
 , gtk3, wrapGAppsHook
@@ -134,9 +135,6 @@ buildStdenv.mkDerivation ({
   lib.optional (lib.versionAtLeast version "90" && lib.versionOlder version "95") ./no-buildconfig-ffx90.patch ++
   lib.optional (lib.versionAtLeast version "96") ./no-buildconfig-ffx96.patch ++
 
-  # Fix wayland 1.20 compatibility (https://bugzilla.mozilla.org/show_bug.cgi?id=1745560:)
-  lib.optional (lib.versionOlder version "96") ./fix-build-with-wayland-1.20.patch ++
-
   patches;
 
   # Ignore trivial whitespace changes in patches, this fixes compatibility of
@@ -178,7 +176,9 @@ buildStdenv.mkDerivation ({
     rm -rf obj-x86_64-pc-linux-gnu
     substituteInPlace toolkit/xre/glxtest.cpp \
       --replace 'dlopen("libpci.so' 'dlopen("${pciutils}/lib/libpci.so'
- '';
+
+    patchShebangs mach
+  '' + extraPostPatch;
 
   nativeBuildInputs =
     [
@@ -196,6 +196,7 @@ buildStdenv.mkDerivation ({
       which
       unzip
       wrapGAppsHook
+      rustPlatform.bindgenHook
     ]
     ++ lib.optionals buildStdenv.isDarwin [ xcbuild rsync ]
     ++ extraNativeBuildInputs;
@@ -210,28 +211,8 @@ buildStdenv.mkDerivation ({
     rm -f .mozconfig*
     # this will run autoconf213
     configureScript="$(realpath ./mach) configure"
-    export MOZCONFIG=$(pwd)/mozconfig
     export MOZBUILD_STATE_PATH=$(pwd)/mozbuild
 
-    # Set C flags for Rust's bindgen program. Unlike ordinary C
-    # compilation, bindgen does not invoke $CC directly. Instead it
-    # uses LLVM's libclang. To make sure all necessary flags are
-    # included we need to look in a few places.
-    # TODO: generalize this process for other use-cases.
-
-    BINDGEN_CFLAGS="$(< ${buildStdenv.cc}/nix-support/libc-crt1-cflags) \
-      $(< ${buildStdenv.cc}/nix-support/libc-cflags) \
-      $(< ${buildStdenv.cc}/nix-support/cc-cflags) \
-      $(< ${buildStdenv.cc}/nix-support/libcxx-cxxflags) \
-      ${lib.optionalString buildStdenv.cc.isClang "-idirafter ${buildStdenv.cc.cc.lib}/lib/clang/${lib.getVersion buildStdenv.cc.cc}/include"} \
-      ${lib.optionalString buildStdenv.cc.isGNU "-isystem ${lib.getDev buildStdenv.cc.cc}/include/c++/${lib.getVersion buildStdenv.cc.cc} -isystem ${buildStdenv.cc.cc}/include/c++/${lib.getVersion buildStdenv.cc.cc}/${buildStdenv.hostPlatform.config}"} \
-      $NIX_CFLAGS_COMPILE"
-    ${
-    # Bindgen doesn't like the flag added by `separateDebugInfo`.
-    lib.optionalString enableDebugSymbols ''
-      BINDGEN_CFLAGS="''${BINDGEN_CFLAGS/ -Wa,--compress-debug-sections/}"
-    ''}
-    echo "ac_add_options BINDGEN_CFLAGS='$BINDGEN_CFLAGS'" >> $MOZCONFIG
   '' + (lib.optionalString googleAPISupport ''
     # Google API key used by Chromium and Firefox.
     # Note: These are for NixOS/nixpkgs use ONLY. For your own distribution,
@@ -375,7 +356,7 @@ buildStdenv.mkDerivation ({
     inherit applicationName;
     inherit tests;
     inherit gtk3;
-  };
+  } // extraPassthru;
 
   hardeningDisable = [ "format" ]; # -Werror=format-security
 
diff --git a/pkgs/applications/networking/browsers/firefox/fix-build-with-wayland-1.20.patch b/pkgs/applications/networking/browsers/firefox/fix-build-with-wayland-1.20.patch
deleted file mode 100644
index 49ce627faf5..00000000000
--- a/pkgs/applications/networking/browsers/firefox/fix-build-with-wayland-1.20.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/widget/gtk/mozwayland/mozwayland.c b/widget/gtk/mozwayland/mozwayland.c
-index 7a448e6..7792581 100644
---- a/widget/gtk/mozwayland/mozwayland.c
-+++ b/widget/gtk/mozwayland/mozwayland.c
-@@ -200,3 +200,8 @@ MOZ_EXPORT int wl_list_empty(const struct wl_list* list) { return -1; }
-
- MOZ_EXPORT void wl_list_insert_list(struct wl_list* list,
-                                     struct wl_list* other) {}
-+
-+MOZ_EXPORT struct wl_proxy *
-+wl_proxy_marshal_flags(struct wl_proxy *proxy, uint32_t opcode,
-+                      const struct wl_interface *interface, uint32_t version,
-+                      uint32_t flags, ...) { return NULL; }
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/default.nix b/pkgs/applications/networking/browsers/firefox/librewolf/default.nix
new file mode 100644
index 00000000000..4d8fe708e75
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/librewolf/default.nix
@@ -0,0 +1,41 @@
+{ callPackage, git }:
+let
+  src = callPackage ./src.nix { };
+in
+rec {
+
+  inherit (src) packageVersion firefox source;
+
+  patches = [ ./verify-telemetry-macros.patch ];
+
+  extraConfigureFlags = [
+    "--with-app-name=librewolf"
+    "--with-app-basename=LibreWolf"
+    "--with-branding=browser/branding/librewolf"
+    "--with-distribution-id=io.gitlab.librewolf-community"
+    "--with-unsigned-addon-scopes=app,system"
+    "--allow-addon-sideload"
+  ];
+
+  extraPostPatch = ''
+    while read patch_name; do
+      echo "applying LibreWolf patch: $patch_name"
+      patch -p1 < ${source}/$patch_name
+    done <${source}/assets/patches.txt
+
+    cp -r ${source}/themes/browser .
+    cp ${source}/assets/search-config.json services/settings/dumps/main/search-config.json
+    sed -i '/MOZ_SERVICES_HEALTHREPORT/ s/True/False/' browser/moz.configure
+    sed -i '/MOZ_NORMANDY/ s/True/False/' browser/moz.configure
+  '';
+
+  extraPrefsFiles = [ "${source}/submodules/settings/librewolf.cfg" ];
+
+  extraPoliciesFiles = [ "${source}/submodules/settings/distribution/policies.json" ];
+
+  extraPassthru = {
+    librewolf = { inherit src patches; };
+    inherit extraPrefsFiles extraPoliciesFiles;
+  };
+}
+
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/src.json b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
new file mode 100644
index 00000000000..bcedf9d22d8
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/librewolf/src.json
@@ -0,0 +1,11 @@
+{
+  "packageVersion": "97.0.1-1",
+  "source": {
+    "rev": "97.0.1-1",
+    "sha256": "10gbnkmyivawwqn3gf5c98l49b03j70gbniaar8bfl80j8av0v5j"
+  },
+  "firefox": {
+    "version": "97.0.1",
+    "sha512": "8620aace77167593aab5acd230860eb3e67eeddc49c0aad0491b5dc20bd0ddb6089dbb8975aed241426f57b2ad772238b04d03b95390175f580cbd80bb6d5f6c"
+  }
+}
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/src.nix b/pkgs/applications/networking/browsers/firefox/librewolf/src.nix
new file mode 100644
index 00000000000..38c5dc6b593
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/librewolf/src.nix
@@ -0,0 +1,18 @@
+{ fetchurl, fetchFromGitLab }:
+let src = builtins.fromJSON (builtins.readFile ./src.json);
+in
+{
+  inherit (src) packageVersion;
+  source = fetchFromGitLab {
+    owner = "librewolf-community";
+    repo = "browser/source";
+    fetchSubmodules = true;
+    inherit (src.source) rev sha256;
+  };
+  firefox = fetchurl {
+    url =
+      "mirror://mozilla/firefox/releases/${src.firefox.version}/source/firefox-${src.firefox.version}.source.tar.xz";
+    inherit (src.firefox) sha512;
+  };
+}
+
diff --git a/pkgs/applications/networking/browsers/firefox/librewolf/update.nix b/pkgs/applications/networking/browsers/firefox/librewolf/update.nix
new file mode 100644
index 00000000000..5cb5c6168f7
--- /dev/null
+++ b/pkgs/applications/networking/browsers/firefox/librewolf/update.nix
@@ -0,0 +1,65 @@
+{ writeScript
+, lib
+, coreutils
+, gnused
+, gnugrep
+, curl
+, gnupg
+, jq
+, nix-prefetch-git
+, moreutils
+, runtimeShell
+, ...
+}:
+
+writeScript "update-librewolf" ''
+  #!${runtimeShell}
+  PATH=${lib.makeBinPath [ coreutils curl gnugrep gnupg gnused jq moreutils nix-prefetch-git ]}
+  set -euo pipefail
+
+  latestTag=$(curl https://gitlab.com/api/v4/projects/librewolf-community%2Fbrowser%2Fsource/repository/tags?per_page=1 | jq -r .[0].name)
+  echo "latestTag=$latestTag"
+
+  srcJson=pkgs/applications/networking/browsers/firefox/librewolf/src.json
+  localRev=$(jq -r .source.rev < $srcJson)
+  echo "localRev=$localRev"
+
+  if [ "$localRev" == "$latestTag" ]; then
+    exit 0
+  fi
+
+  prefetchOut=$(mktemp)
+  repoUrl=https://gitlab.com/librewolf-community/browser/source.git/
+  nix-prefetch-git $repoUrl --quiet --rev $latestTag --fetch-submodules > $prefetchOut
+  srcDir=$(jq -r .path < $prefetchOut)
+  srcHash=$(jq -r .sha256 < $prefetchOut)
+
+  ffVersion=$(<$srcDir/version)
+  lwRelease=$(<$srcDir/release)
+  lwVersion="$ffVersion-$lwRelease"
+  echo "lwVersion=$lwVersion"
+  echo "ffVersion=$ffVersion"
+  if [ "$lwVersion" != "$latestTag" ]; then
+    echo "error: Tag name does not match the computed LibreWolf version"
+    exit 1
+  fi
+
+  HOME=$(mktemp -d)
+  export GNUPGHOME=$(mktemp -d)
+  gpg --receive-keys 14F26682D0916CDD81E37B6D61B7B526D98F0353
+
+  mozillaUrl=https://archive.mozilla.org/pub/firefox/releases/
+
+  curl --silent --show-error -o "$HOME"/shasums "$mozillaUrl$ffVersion/SHA512SUMS"
+  curl --silent --show-error -o "$HOME"/shasums.asc "$mozillaUrl$ffVersion/SHA512SUMS.asc"
+  gpgv --keyring="$GNUPGHOME"/pubring.kbx "$HOME"/shasums.asc "$HOME"/shasums
+
+  ffHash=$(grep '\.source\.tar\.xz$' "$HOME"/shasums | grep '^[^ ]*' -o)
+  echo "ffHash=$ffHash"
+
+  jq ".source.rev = \"$latestTag\"" $srcJson | sponge $srcJson
+  jq ".source.sha256 = \"$srcHash\"" $srcJson | sponge $srcJson
+  jq ".firefox.version = \"$ffVersion\"" $srcJson | sponge $srcJson
+  jq ".firefox.sha512 = \"$ffHash\"" $srcJson | sponge $srcJson
+  jq ".packageVersion = \"$lwVersion\"" $srcJson | sponge $srcJson
+''
diff --git a/pkgs/applications/networking/browsers/firefox/packages.nix b/pkgs/applications/networking/browsers/firefox/packages.nix
index 6fc369c60dc..7a5c91130f4 100644
--- a/pkgs/applications/networking/browsers/firefox/packages.nix
+++ b/pkgs/applications/networking/browsers/firefox/packages.nix
@@ -7,10 +7,10 @@ in
 rec {
   firefox = common rec {
     pname = "firefox";
-    version = "96.0.3";
+    version = "97.0.1";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "3dd5fbc96e369d5f4fb3eca778c2bd3e2313d089f867de9fac3556810a797e9b5629ef1b8840fb2f22a18df7de95ea1993eee052f691d861a555cea544b05966";
+      sha512 = "8620aace77167593aab5acd230860eb3e67eeddc49c0aad0491b5dc20bd0ddb6089dbb8975aed241426f57b2ad772238b04d03b95390175f580cbd80bb6d5f6c";
     };
 
     meta = {
@@ -32,10 +32,10 @@ rec {
 
   firefox-esr-91 = common rec {
     pname = "firefox-esr";
-    version = "91.5.1esr";
+    version = "91.6.0esr";
     src = fetchurl {
       url = "mirror://mozilla/firefox/releases/${version}/source/firefox-${version}.source.tar.xz";
-      sha512 = "26239e7a94b79f1e24a6667d7cf1c398d75992e8850144affbc5d3f34f04b91f0c9b020cab662b2cd4927924839ff2ddd2f3605c537bb5494fd9ac0d951b14fa";
+      sha512 = "3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e";
     };
 
     meta = {
@@ -54,4 +54,29 @@ rec {
       versionSuffix = "esr";
     };
   };
+
+  librewolf =
+  let
+    librewolf-src = callPackage ./librewolf { };
+  in
+  (common rec {
+    pname = "librewolf";
+    binaryName = "librewolf";
+    version = librewolf-src.packageVersion;
+    src = librewolf-src.firefox;
+    inherit (librewolf-src) extraConfigureFlags extraPostPatch extraPassthru;
+
+    meta = {
+      description = "A fork of Firefox, focused on privacy, security and freedom";
+      homepage = "https://librewolf.net/";
+      maintainers = with lib.maintainers; [ squalus ];
+      inherit (firefox.meta) platforms badPlatforms broken maxSilent license;
+    };
+    updateScript = callPackage ./librewolf/update.nix {
+      attrPath = "librewolf-unwrapped";
+    };
+  }).override {
+    crashreporterSupport = false;
+    enableOfficialBranding = false;
+  };
 }
diff --git a/pkgs/applications/networking/browsers/firefox/wrapper.nix b/pkgs/applications/networking/browsers/firefox/wrapper.nix
index 0b64bc7de96..52fe1ffe2d0 100644
--- a/pkgs/applications/networking/browsers/firefox/wrapper.nix
+++ b/pkgs/applications/networking/browsers/firefox/wrapper.nix
@@ -27,6 +27,7 @@ let
       (lib.toUpper (lib.substring 0 1 applicationName) + lib.substring 1 (-1) applicationName)
     , nameSuffix ? ""
     , icon ? applicationName
+    , wmClass ? null
     , extraNativeMessagingHosts ? []
     , pkcs11Modules ? []
     , forceWayland ? false
@@ -37,10 +38,12 @@ let
     # For more information about anti tracking (german website)
     # visit https://wiki.kairaven.de/open/app/firefox
     , extraPrefs ? ""
+    , extraPrefsFiles ? []
     # For more information about policies visit
     # https://github.com/mozilla/policy-templates#enterprisepoliciesenabled
     , extraPolicies ? {}
-    , libName ? "firefox" # Important for tor package or the like
+    , extraPoliciesFiles ? []
+    , libName ? browser.libName or "firefox" # Important for tor package or the like
     , nixExtensions ? null
     }:
 
@@ -150,35 +153,17 @@ let
       #                           #
       #############################
 
-      # TODO: remove this after the next release (21.03)
-      configPlugins = lib.filter (a: builtins.hasAttr a cfg) [
-        "enableAdobeFlash"
-        "enableAdobeReader"
-        "enableBluejeans"
-        "enableDjvu"
-        "enableFriBIDPlugin"
-        "enableGoogleTalkPlugin"
-        "enableMPlayer"
-        "enableVLC"
-        "icedtea"
-        "jre"
-      ];
-      pluginsError =
-        "Your configuration mentions ${lib.concatMapStringsSep ", " (p: applicationName + "." + p) configPlugins}. All plugin related options have been removed, since Firefox from version 52 onwards no longer supports npapi plugins (see https://support.mozilla.org/en-US/kb/npapi-plugins).";
-
-    in if configPlugins != [] then throw pluginsError else
-      (stdenv.mkDerivation {
+    in stdenv.mkDerivation {
       inherit pname version;
 
       desktopItem = makeDesktopItem {
         name = applicationName;
         exec = "${applicationName}${nameSuffix} %U";
         inherit icon;
-        comment = "";
         desktopName = "${desktopName}${nameSuffix}${lib.optionalString forceWayland " (Wayland)"}";
         genericName = "Web Browser";
-        categories = "Network;WebBrowser;";
-        mimeType = lib.concatStringsSep ";" [
+        categories = [ "Network" "WebBrowser" ];
+        mimeTypes = [
           "text/html"
           "text/xml"
           "application/xhtml+xml"
@@ -187,9 +172,10 @@ let
           "x-scheme-handler/https"
           "x-scheme-handler/ftp"
         ];
+        startupWMClass = wmClass;
       };
 
-      nativeBuildInputs = [ makeWrapper lndir replace ];
+      nativeBuildInputs = [ makeWrapper lndir replace jq ];
       buildInputs = [ browser.gtk3 ];
 
 
@@ -217,8 +203,8 @@ let
 
         find . -type f \( -not -name "${applicationName}" \) -exec ln -sT "${browser}"/{} "$out"/{} \;
 
-        find . -type f -name "${applicationName}" -print0 | while read -d $'\0' f; do
-          cp -P --no-preserve=mode,ownership "${browser}/$f" "$out/$f"
+        find . -type f \( -name "${applicationName}" -o -name "${applicationName}-bin" \) -print0 | while read -d $'\0' f; do
+          cp -P --no-preserve=mode,ownership --remove-destination "${browser}/$f" "$out/$f"
           chmod a+rwx "$out/$f"
         done
 
@@ -325,6 +311,12 @@ let
         rm -f "$POL_PATH"
         cat ${policiesJson} >> "$POL_PATH"
 
+        extraPoliciesFiles=(${builtins.toString extraPoliciesFiles})
+        for extraPoliciesFile in "''${extraPoliciesFiles[@]}"; do
+          jq -s '.[0] + .[1]' "$POL_PATH" $extraPoliciesFile > .tmp.json
+          mv .tmp.json "$POL_PATH"
+        done
+
         # preparing for autoconfig
         mkdir -p "$out/lib/${libName}/defaults/pref"
 
@@ -333,6 +325,11 @@ let
 
         cat > "$out/lib/${libName}/mozilla.cfg" < ${mozillaCfg}
 
+        extraPrefsFiles=(${builtins.toString extraPrefsFiles})
+        for extraPrefsFile in "''${extraPrefsFiles[@]}"; do
+          cat "$extraPrefsFile" >> "$out/lib/${libName}/mozilla.cfg"
+        done
+
         mkdir -p $out/lib/${libName}/distribution/extensions
 
         #############################
@@ -356,5 +353,5 @@ let
         hydraPlatforms = [];
         priority = (browser.meta.priority or 0) - 1; # prefer wrapper over the package
       };
-    });
+    };
 in lib.makeOverridable wrapper
diff --git a/pkgs/applications/networking/browsers/google-chrome/default.nix b/pkgs/applications/networking/browsers/google-chrome/default.nix
index d1fd9f05ccb..5ba831b2102 100644
--- a/pkgs/applications/networking/browsers/google-chrome/default.nix
+++ b/pkgs/applications/networking/browsers/google-chrome/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, patchelf, makeWrapper
 
 # Linked dynamic libraries.
-, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, gconf, nss, nspr
+, glib, fontconfig, freetype, pango, cairo, libX11, libXi, atk, nss, nspr
 , libXcursor, libXext, libXfixes, libXrender, libXScrnSaver, libXcomposite, libxcb
 , alsa-lib, libXdamage, libXtst, libXrandr, libxshmfence, expat, cups
 , dbus, gtk3, gdk-pixbuf, gcc-unwrapped, at-spi2-atk, at-spi2-core
@@ -57,7 +57,7 @@ let
   version = chromium.upstream-info.version;
 
   deps = [
-    glib fontconfig freetype pango cairo libX11 libXi atk gconf nss nspr
+    glib fontconfig freetype pango cairo libX11 libXi atk nss nspr
     libXcursor libXext libXfixes libXrender libXScrnSaver libXcomposite libxcb
     alsa-lib libXdamage libXtst libXrandr libxshmfence expat cups
     dbus gdk-pixbuf gcc-unwrapped.lib
diff --git a/pkgs/applications/networking/browsers/icecat-bin/default.nix b/pkgs/applications/networking/browsers/icecat-bin/default.nix
deleted file mode 100644
index 2427570a59d..00000000000
--- a/pkgs/applications/networking/browsers/icecat-bin/default.nix
+++ /dev/null
@@ -1,130 +0,0 @@
-{ stdenv
-, lib
-, fetchzip
-, autoPatchelfHook
-, wrapGAppsHook
-, gnome2
-, gtk2
-, nss
-, xdg-utils
-, xorg
-, alsa-lib
-, atk
-, cairo
-, cups
-, curl
-, dbus
-, expat
-, fontconfig
-, freetype
-, gdk-pixbuf
-, glib
-, gtk3
-, libX11
-, libxcb
-, libXScrnSaver
-, libXcomposite
-, libXcursor
-, libXdamage
-, libXext
-, libXfixes
-, libXi
-, libXrandr
-, libXrender
-, libXtst
-, libdrm
-, libnotify
-, libopus
-, libpulseaudio
-, libuuid
-, libxshmfence
-, mesa
-, nspr
-, pango
-, systemd
-, at-spi2-atk
-, at-spi2-core
-}:
-
-stdenv.mkDerivation rec {
-  pname = "icecat-bin";
-  version = "60.7.0";
-
-  src = fetchzip {
-    url = "https://mirror.tochlab.net/pub/gnu/gnuzilla/${version}/icecat-${version}.en-US.gnulinux-x86_64.tar.bz2";
-    sha256 = "sha256-bEapbQIcZXQ0Tip/X1Q0guowpr3wNDYsFbHGmTbc5mE=";
-  };
-
-  nativeBuildInputs = [
-    autoPatchelfHook
-    wrapGAppsHook
-  ];
-
-  buildInputs = [
-    nss
-    xdg-utils
-    xorg.libxkbfile
-    alsa-lib
-    at-spi2-atk
-    at-spi2-core
-    atk
-    cairo
-    cups
-    curl
-    dbus
-    expat
-    fontconfig.lib
-    freetype
-    gdk-pixbuf
-    glib
-    gnome2.GConf
-    gtk2
-    gtk3
-    libX11
-    libXScrnSaver
-    libXcomposite
-    libXcursor
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXrandr
-    libXrender
-    libXtst
-    libdrm
-    libnotify
-    libopus
-    libuuid
-    libxcb
-    libxshmfence
-    mesa
-    nspr
-    nss
-    pango
-    xorg.libXt
-    stdenv.cc.cc.lib
-  ];
-
-  unpackPhase = ''
-    mkdir -p $TMP/ $out/{opt,bin}
-    cp $src/* $TMP/ -r
-  '';
-
-  installPhase = ''
-    cp -r $TMP/* $out/opt/
-    ln -sf $out/opt/icecat-bin $out/bin/icecat
-  '';
-
-  runtimeDependencies = [
-    libpulseaudio.out
-    (lib.getLib systemd)
-  ];
-
-  meta = with lib; {
-    description = "Binary build of the GNU version of the Mozilla Firefox browser";
-    homepage = "https://www.gnu.org/software/gnuzilla/";
-    license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ dan4ik605743 ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/applications/networking/browsers/lagrange/default.nix b/pkgs/applications/networking/browsers/lagrange/default.nix
index 482914ace0a..bf370dd6ec0 100644
--- a/pkgs/applications/networking/browsers/lagrange/default.nix
+++ b/pkgs/applications/networking/browsers/lagrange/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "lagrange";
-  version = "1.10.3";
+  version = "1.10.6";
 
   src = fetchFromGitHub {
     owner = "skyjake";
     repo = "lagrange";
     rev = "v${version}";
-    sha256 = "sha256-4Xjm4P4uK0aZxUT0WzcSDdY6rEeh5YFwsMfVtFB14No=";
+    sha256 = "sha256-N4NB4lfWIN+jreAuaaGKRdpgwHy2CKrPrGxu1iSCZyU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/networking/browsers/nyxt/default.nix b/pkgs/applications/networking/browsers/nyxt/default.nix
index ccbc7a8dc8f..7c1cb7f04a7 100644
--- a/pkgs/applications/networking/browsers/nyxt/default.nix
+++ b/pkgs/applications/networking/browsers/nyxt/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, lispPackages
 , makeWrapper, wrapGAppsHook, gst_all_1
 , glib, gdk-pixbuf, cairo
-, mime-types, pango, gtk3
+, mailcap, pango, gtk3
 , glib-networking, gsettings-desktop-schemas
 , xclip, notify-osd, enchant
 }:
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
   ];
   buildInputs = [
     glib gdk-pixbuf cairo
-    mime-types pango gtk3
+    mailcap pango gtk3
     glib-networking gsettings-desktop-schemas
     xclip notify-osd enchant
   ] ++ gstBuildInputs;
diff --git a/pkgs/applications/networking/browsers/opera/default.nix b/pkgs/applications/networking/browsers/opera/default.nix
index 642781d570a..a37278bcc3d 100644
--- a/pkgs/applications/networking/browsers/opera/default.nix
+++ b/pkgs/applications/networking/browsers/opera/default.nix
@@ -11,7 +11,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gtk3
 , gtk4
 , lib
@@ -51,11 +50,11 @@ let
 in stdenv.mkDerivation rec {
 
   pname = "opera";
-  version = "82.0.4227.43";
+  version = "83.0.4254.54";
 
   src = fetchurl {
     url = "${mirror}/${version}/linux/${pname}-stable_${version}_amd64.deb";
-    sha256 = "sha256-DFhf62dqk7qA2k+JgVqGLxF30UPwQwhXD105Qua25X0=";
+    sha256 = "sha256-kv90FmenGpAbNyw/puwEbR/vVNHV2d5UdX3amMTcI7k=";
   };
 
   unpackCmd = "${dpkg}/bin/dpkg-deb -x $curSrc .";
@@ -79,7 +78,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libX11
     libXScrnSaver
diff --git a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
index f35ae98f71c..cb2322551ad 100644
--- a/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
+++ b/pkgs/applications/networking/browsers/tor-browser-bundle-bin/default.nix
@@ -87,7 +87,7 @@ let
   fteLibPath = makeLibraryPath [ stdenv.cc.cc gmp ];
 
   # Upstream source
-  version = "11.0.4";
+  version = "11.0.6";
 
   lang = "en-US";
 
@@ -97,7 +97,7 @@ let
         "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux64-${version}_${lang}.tar.xz"
       ];
-      sha256 = "0pz1v5ig031wgnq3191ja08a4brdrbzziqnkpcrlra1wcdnzv985";
+      sha256 = "03c3l720x4c6mfq56fyqspc5sxw0mz1ph48l5wph06dzw8wd5cfz";
     };
 
     i686-linux = fetchurl {
@@ -105,7 +105,7 @@ let
         "https://dist.torproject.org/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
         "https://tor.eff.org/dist/torbrowser/${version}/tor-browser-linux32-${version}_${lang}.tar.xz"
       ];
-      sha256 = "0ykdgbm8f5lcv7p54f3ffxsaw2cdzbhk6sv7d2hm7d81fcnhmjq4";
+      sha256 = "0llg1nl7x7y4kp0hr3bbhdfggaf8praizkvcpp88x2i2zc9sp5mx";
     };
   };
 in
@@ -125,7 +125,7 @@ stdenv.mkDerivation rec {
     desktopName = "Tor Browser";
     genericName = "Web Browser";
     comment = meta.description;
-    categories = "Network;WebBrowser;Security;";
+    categories = [ "Network" "WebBrowser" "Security" ];
   };
 
   buildCommand = ''
diff --git a/pkgs/applications/networking/browsers/vieb/default.nix b/pkgs/applications/networking/browsers/vieb/default.nix
index 78116305094..d7ba8808cc7 100644
--- a/pkgs/applications/networking/browsers/vieb/default.nix
+++ b/pkgs/applications/networking/browsers/vieb/default.nix
@@ -2,13 +2,13 @@
 
 mkYarnPackage rec {
   pname = "vieb";
-  version = "6.1.0";
+  version = "6.2.0";
 
   src = fetchFromGitHub {
     owner = "Jelmerro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MJJeHnwfXouBygRT/wFWFMRHxQVf/3k2c7vp/tkD5co=";
+    sha256 = "sha256-FuaN9iUxR5Y6SnNmuegmNJXn1BYKgcobquTL3thuByM=";
   };
 
   packageJSON = ./package.json;
@@ -24,8 +24,8 @@ mkYarnPackage rec {
     icon = "vieb";
     desktopName = "Web Browser";
     genericName = "Web Browser";
-    categories = "Network;WebBrowser;";
-    mimeType = lib.concatStringsSep ";" [
+    categories = [ "Network" "WebBrowser" ];
+    mimeTypes = [
       "text/html"
       "application/xhtml+xml"
       "x-scheme-handler/http"
diff --git a/pkgs/applications/networking/browsers/vivaldi/default.nix b/pkgs/applications/networking/browsers/vivaldi/default.nix
index bf220c02b4e..139bfdc965f 100644
--- a/pkgs/applications/networking/browsers/vivaldi/default.nix
+++ b/pkgs/applications/networking/browsers/vivaldi/default.nix
@@ -4,7 +4,7 @@
 , freetype, fontconfig, libXft, libXrender, libxcb, expat
 , libuuid
 , libxml2
-, glib, gtk3, pango, gdk-pixbuf, cairo, atk, at-spi2-atk, at-spi2-core, gnome2
+, glib, gtk3, pango, gdk-pixbuf, cairo, atk, at-spi2-atk, at-spi2-core
 , libdrm, mesa
 , nss, nspr
 , patchelf, makeWrapper
@@ -19,11 +19,11 @@ let
   vivaldiName = if isSnapshot then "vivaldi-snapshot" else "vivaldi";
 in stdenv.mkDerivation rec {
   pname = "vivaldi";
-  version = "5.0.2497.32-1";
+  version = "5.1.2567.39-1";
 
   src = fetchurl {
     url = "https://downloads.vivaldi.com/${branch}/vivaldi-${branch}_${version}_amd64.deb";
-    sha256 = "1l333q002z9rr08np0r0j89j26shmsl8y2clyqwh54h22h7hmypz";
+    sha256 = "140idghryk132nyb8np011xiwzgh518n0fxrkjnnvi3c67shq7qc";
   };
 
   unpackPhase = ''
@@ -38,7 +38,7 @@ in stdenv.mkDerivation rec {
     libXi libXft libXcursor libXfixes libXScrnSaver libXcomposite libXdamage libXtst libXrandr
     atk at-spi2-atk at-spi2-core alsa-lib dbus cups gtk3 gdk-pixbuf libexif ffmpeg systemd libva
     freetype fontconfig libXrender libuuid expat glib nss nspr
-    libxml2 pango cairo gnome2.GConf
+    libxml2 pango cairo
     libdrm mesa
   ] ++ lib.optional proprietaryCodecs vivaldi-ffmpeg-codecs;
 
diff --git a/pkgs/applications/networking/browsers/webbrowser/default.nix b/pkgs/applications/networking/browsers/webbrowser/default.nix
index f9be7e9ec9a..9f43f981722 100644
--- a/pkgs/applications/networking/browsers/webbrowser/default.nix
+++ b/pkgs/applications/networking/browsers/webbrowser/default.nix
@@ -29,8 +29,8 @@ in stdenv.mkDerivation rec {
     icon = "webbrowser";
     desktopName = "Web Browser";
     genericName = "Web Browser";
-    categories = "Network;WebBrowser;";
-    mimeType = lib.concatStringsSep ";" [
+    categories = [ "Network" "WebBrowser" ];
+    mimeTypes = [
       "text/html"
       "text/xml"
       "application/xhtml+xml"
diff --git a/pkgs/applications/networking/calls/default.nix b/pkgs/applications/networking/calls/default.nix
index 8282713aa00..2215de9291d 100644
--- a/pkgs/applications/networking/calls/default.nix
+++ b/pkgs/applications/networking/calls/default.nix
@@ -105,7 +105,7 @@ stdenv.mkDerivation rec {
     longDescription = "GNOME Calls is a phone dialer and call handler. Setting NixOS option `programs.calls.enable = true` is recommended.";
     homepage = "https://source.puri.sm/Librem5/calls";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ craigem lheckemann ];
+    maintainers = with maintainers; [ craigem lheckemann tomfitzhenry ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/charles/default.nix b/pkgs/applications/networking/charles/default.nix
index 757f39c5b35..064213b01ae 100644
--- a/pkgs/applications/networking/charles/default.nix
+++ b/pkgs/applications/networking/charles/default.nix
@@ -11,14 +11,21 @@ let
   generic = { version, sha256, platform ? "", jdk, ... }@attrs:
   let
     desktopItem = makeDesktopItem {
-      categories = "Network;Development;WebDevelopment;Java;";
+      categories = [ "Network" "Development" "WebDevelopment" "Java" ];
       desktopName = "Charles";
       exec = "charles %F";
       genericName  = "Web Debugging Proxy";
       icon = "charles-proxy";
-      mimeType = "application/x-charles-savedsession;application/x-charles-savedsession+xml;application/x-charles-savedsession+json;application/har+json;application/vnd.tcpdump.pcap;application/x-charles-trace";
+      mimeTypes = [
+        "application/x-charles-savedsession"
+        "application/x-charles-savedsession+xml"
+        "application/x-charles-savedsession+json"
+        "application/har+json"
+        "application/vnd.tcpdump.pcap"
+        "application/x-charles-trace"
+      ];
       name = "Charles";
-      startupNotify = "true";
+      startupNotify = true;
     };
 
   in stdenv.mkDerivation {
diff --git a/pkgs/applications/networking/cisco-packet-tracer/7.nix b/pkgs/applications/networking/cisco-packet-tracer/7.nix
index 33f35ba12af..f7e73171312 100644
--- a/pkgs/applications/networking/cisco-packet-tracer/7.nix
+++ b/pkgs/applications/networking/cisco-packet-tracer/7.nix
@@ -38,7 +38,7 @@ let
     desktopName = "Cisco Packet Tracer 7";
     icon = "${ptFiles}/opt/pt/art/app.png";
     exec = "packettracer7 %f";
-    mimeType = "application/x-pkt;application/x-pka;application/x-pkz;";
+    mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
   };
 
   fhs = buildFHSUserEnvBubblewrap {
diff --git a/pkgs/applications/networking/cisco-packet-tracer/8.nix b/pkgs/applications/networking/cisco-packet-tracer/8.nix
index c823dcbb1d3..1267a061429 100644
--- a/pkgs/applications/networking/cisco-packet-tracer/8.nix
+++ b/pkgs/applications/networking/cisco-packet-tracer/8.nix
@@ -94,7 +94,7 @@ let
     desktopName = "Cisco Packet Tracer 8";
     icon = "${ptFiles}/opt/pt/art/app.png";
     exec = "packettracer8 %f";
-    mimeType = "application/x-pkt;application/x-pka;application/x-pkz;";
+    mimeTypes = [ "application/x-pkt" "application/x-pka" "application/x-pkz" ];
   };
 
   fhs = buildFHSUserEnvBubblewrap {
diff --git a/pkgs/applications/networking/cloudflared/default.nix b/pkgs/applications/networking/cloudflared/default.nix
index 4c99319fbbc..954ce2292ec 100644
--- a/pkgs/applications/networking/cloudflared/default.nix
+++ b/pkgs/applications/networking/cloudflared/default.nix
@@ -1,14 +1,14 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "cloudflared";
-  version = "2022.1.2";
+  version = "2022.2.1";
 
   src = fetchFromGitHub {
     owner  = "cloudflare";
     repo   = "cloudflared";
     rev    = version;
-    hash   = "sha256-PdmYOFy6CWMqHlcK0PeHPGCVSLhIJOIDnXOAh/qYt+8=";
+    hash   = "sha256-y9TduC6Fa1p3UFvSeW9n42AUD63dp/LEagiv3xlT/4U=";
   };
 
   vendorSha256 = null;
@@ -18,9 +18,9 @@ buildGo117Module rec {
   ldflags = [ "-X main.Version=${version}" ];
 
   meta = with lib; {
-    description = "CloudFlare Argo Tunnel daemon (and DNS-over-HTTPS client)";
-    homepage    = "https://www.cloudflare.com/products/argo-tunnel";
-    license     = licenses.unfree;
+    description = "CloudFlare Tunnel daemon (and DNS-over-HTTPS client)";
+    homepage    = "https://www.cloudflare.com/products/tunnel";
+    license     = licenses.asl20;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ bbigras enorris thoughtpolice ];
   };
diff --git a/pkgs/applications/networking/cluster/argo-rollouts/default.nix b/pkgs/applications/networking/cluster/argo-rollouts/default.nix
new file mode 100644
index 00000000000..8127904023c
--- /dev/null
+++ b/pkgs/applications/networking/cluster/argo-rollouts/default.nix
@@ -0,0 +1,27 @@
+{ buildGoModule, lib, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "argo-rollouts";
+  version = "1.1.1";
+
+  src = fetchFromGitHub {
+    owner = "argoproj";
+    repo = "argo-rollouts";
+    rev = "v${version}";
+    sha256 = "0qb1wbv3razwhqsv972ywfazaq73y83iw6f6qdjcbwwfwsybig21";
+  };
+
+  vendorSha256 = "00ic1nn3wgg495x2170ik1d1cha20b4w89j9jclq8p0b3nndv0c0";
+
+  # Disable tests since some test fail because of missing test data
+  doCheck = false;
+
+  subPackages = [ "cmd/rollouts-controller" "cmd/kubectl-argo-rollouts" ];
+
+  meta = with lib; {
+    description = "Kubernetes Progressive Delivery Controller";
+    homepage = "https://github.com/argoproj/argo-rollouts/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ psibi ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/argo/default.nix b/pkgs/applications/networking/cluster/argo/default.nix
index 766f9b9292c..52bd37ec613 100644
--- a/pkgs/applications/networking/cluster/argo/default.nix
+++ b/pkgs/applications/networking/cluster/argo/default.nix
@@ -19,13 +19,13 @@ let
 in
 buildGoModule rec {
   pname = "argo";
-  version = "3.2.6";
+  version = "3.2.8";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo";
     rev = "v${version}";
-    sha256 = "sha256-QyjG+/zXbZ7AS/+yXNV0PocXJaSKeJNN+1F7EMv1LOI=";
+    sha256 = "sha256-A6YI5OGveJj9RRk1fMF3ejYYnMsbjxE34ximtkZUNys=";
   };
 
   vendorSha256 = "sha256-hxSr0sNlz93JxOxnE2SnR6/OgCGK8DrJZxqQtSxfbj8=";
diff --git a/pkgs/applications/networking/cluster/argocd/default.nix b/pkgs/applications/networking/cluster/argocd/default.nix
index a42c3380e69..360d566009d 100644
--- a/pkgs/applications/networking/cluster/argocd/default.nix
+++ b/pkgs/applications/networking/cluster/argocd/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "argocd";
-  version = "2.2.3";
-  commit = "afbd59ba636cfd999fe6ead8a84323413882e230";
+  version = "2.2.5";
+  commit = "8f981ccfcf942a9eb00bc466649f8499ba0455f5";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "argoproj";
     repo = "argo-cd";
     rev = tag;
-    sha256 = "sha256-Lw4/VmwD/IF2GEFzQP1kerXrST1kvWvG2nr/br/tO0w=";
+    sha256 = "sha256-wSvDoRHV4BObRL8lEpHt9oGXNB06LXdIYasRYqmM5QA=";
   };
 
   vendorSha256 = "sha256-BVhts+gOM6nhcR1lkFzy7OJnainLXw5YdeseBBRF2xE=";
diff --git a/pkgs/applications/networking/cluster/arkade/default.nix b/pkgs/applications/networking/cluster/arkade/default.nix
index e7550ae837b..2cf5d35f653 100644
--- a/pkgs/applications/networking/cluster/arkade/default.nix
+++ b/pkgs/applications/networking/cluster/arkade/default.nix
@@ -2,24 +2,22 @@
 , stdenv
 , buildGoModule
 , fetchFromGitHub
-, makeWrapper
-, kubectl
 }:
 
 buildGoModule rec {
   pname = "arkade";
-  version = "0.8.12";
+  version = "0.8.14";
 
   src = fetchFromGitHub {
     owner = "alexellis";
     repo = "arkade";
     rev = version;
-    sha256 = "sha256-OBcvJ1+VAE7jDeQ/I/9uc0wiU0iibeflRMmb+ulgDtQ=";
+    sha256 = "sha256-XH7JtLv0J6bznZZ/L8wg5KB53OPe3KLiYujBlxP71pg=";
   };
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "05zdd5c2x4k4myxmgj32md8wq08i543l8q81rabqgyd3r9nwv4lx";
+  vendorSha256 = "sha256-ipLVzBkliQSPBZTL5FU8xosTVjxFsUVlAvO0a0q+j2o=";
 
   # Exclude pkg/get: tests downloading of binaries which fail when sandbox=true
   subPackages = [
@@ -40,25 +38,10 @@ buildGoModule rec {
     "-X github.com/alexellis/arkade/cmd.Version=${version}"
   ];
 
-  buildInputs = [ makeWrapper ];
-
-  postInstall = ''
-    wrapProgram "$out/bin/arkade" \
-      --prefix PATH : ${lib.makeBinPath [ kubectl ]}
-  '';
-
   meta = with lib; {
     homepage = "https://github.com/alexellis/arkade";
     description = "Open Source Kubernetes Marketplace";
     license = licenses.mit;
     maintainers = with maintainers; [ welteki ];
-    platforms = [
-      "x86_64-linux"
-      "x86_64-darwin"
-      "aarch64-linux"
-      "aarch64-darwin"
-      "armv7l-linux"
-      "armv6l-linux"
-    ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/bosh-cli/default.nix b/pkgs/applications/networking/cluster/bosh-cli/default.nix
index e03451f4f2f..a629de63729 100644
--- a/pkgs/applications/networking/cluster/bosh-cli/default.nix
+++ b/pkgs/applications/networking/cluster/bosh-cli/default.nix
@@ -8,13 +8,13 @@
 buildGoModule rec {
   pname = "bosh-cli";
 
-  version = "6.4.7";
+  version = "6.4.16";
 
   src = fetchFromGitHub {
     owner = "cloudfoundry";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-uLzYRfH2wJB/ucYtZGjKi0K5FaiP3CyA85gJ8Ji3WHE=";
+    sha256 = "sha256-yjW0XlMXa1MyNIud3uGm7RNj47B4Bp3DK9tvBrfqkoA=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/cilium/default.nix b/pkgs/applications/networking/cluster/cilium/default.nix
index da9f0938d14..91d8655fe6d 100644
--- a/pkgs/applications/networking/cluster/cilium/default.nix
+++ b/pkgs/applications/networking/cluster/cilium/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cilium-cli";
-  version = "0.9.3";
+  version = "0.10.3";
 
   src = fetchFromGitHub {
     owner = "cilium";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-t4Im3/2qcKnDDcKWmUUa/lsZszDDlos+uTERKxd7x1c=";
+    sha256 = "sha256-nE2mrFALJCGxUce8anJ3ErUO8575GgR6pupG06rRCCM=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/clusterctl/default.nix b/pkgs/applications/networking/cluster/clusterctl/default.nix
index 41d125f6cca..b14c98b4453 100644
--- a/pkgs/applications/networking/cluster/clusterctl/default.nix
+++ b/pkgs/applications/networking/cluster/clusterctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clusterctl";
-  version = "1.1.0";
+  version = "1.1.2";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "cluster-api";
     rev = "v${version}";
-    sha256 = "sha256-mebxbS0PVP2EdYt31G0HQ0Z+wxpXOe9/xaKdH0wwB60=";
+    sha256 = "sha256-IjkksHa94gkNiaeksGHlLdeHlLS/uwI0GnKK0d3s5wk=";
   };
 
-  vendorSha256 = "sha256-T2a5FBjISXprgMA6ye2xwAFLE62Qb3AUQVjpGtnduU0=";
+  vendorSha256 = "sha256-3PzaMB7U19HnqS+zRbIupErE1S8+MzG92vQFq3oxHpE=";
 
   subPackages = [ "cmd/clusterctl" ];
 
diff --git a/pkgs/applications/networking/cluster/cmctl/default.nix b/pkgs/applications/networking/cluster/cmctl/default.nix
index 002ef8a3bc8..64a8ebd4a99 100644
--- a/pkgs/applications/networking/cluster/cmctl/default.nix
+++ b/pkgs/applications/networking/cluster/cmctl/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGo117Module, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "cmctl";
   version = "1.7.1";
 
diff --git a/pkgs/applications/networking/cluster/cni/plugins.nix b/pkgs/applications/networking/cluster/cni/plugins.nix
index 14e7095c4b9..73888f41f92 100644
--- a/pkgs/applications/networking/cluster/cni/plugins.nix
+++ b/pkgs/applications/networking/cluster/cni/plugins.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cni-plugins";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "containernetworking";
     repo = "plugins";
     rev = "v${version}";
-    sha256 = "sha256-zIL9KG1WL+DlgC5c+b9gV1i7mB0Ge8bapcuSV4GNIck=";
+    sha256 = "sha256-M0bYMaOqHkG1J6xGEqVvmYda/B6qDIrFOQhhW2LXiYE=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/driftctl/default.nix b/pkgs/applications/networking/cluster/driftctl/default.nix
index 36b3141b31f..725cd419d08 100644
--- a/pkgs/applications/networking/cluster/driftctl/default.nix
+++ b/pkgs/applications/networking/cluster/driftctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "driftctl";
-  version = "0.18.5";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "cloudskiff";
     repo = "driftctl";
     rev = "v${version}";
-    sha256 = "sha256-Qz/yObF1Df62Hqwl6fPHGkWcsifvgO5EfeiyU3aql3Q=";
+    sha256 = "sha256-8egkz1wXvdNoTkbhOdvoP4hrBPmuiUvd2QaD6tPH2xU=";
   };
 
-  vendorSha256 = "sha256-wOk4IXD9qHG8R4iddlc4TLH39jVSof9bwTDU1kyAmuA=";
+  vendorSha256 = "sha256-lftOTcob8l9dUZkH2MMxzD6FZzLOR/PXEXFVdOaguK4=";
 
   postUnpack = ''
     # Without this, tests fail to locate aws/3.19.0.json
diff --git a/pkgs/applications/networking/cluster/flink/default.nix b/pkgs/applications/networking/cluster/flink/default.nix
index 8b93b88be55..36940d7441d 100644
--- a/pkgs/applications/networking/cluster/flink/default.nix
+++ b/pkgs/applications/networking/cluster/flink/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "flink";
-  version = "1.14.2";
+  version = "1.14.3";
 
   src = fetchurl {
     url = "mirror://apache/flink/${pname}-${version}/${pname}-${version}-bin-scala_2.11.tgz";
-    sha256 = "1rm2x66179ybfyc8v3va3svjxrnkslqn3dc84qkglqjaiqciadnr";
+    sha256 = "sha256-dst0Q1AlDdggtOwYROoV6QcBLRNfmGTo7DL2BV/5PB4=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/cluster/fluxcd/default.nix b/pkgs/applications/networking/cluster/fluxcd/default.nix
index dde508cb12f..be22e1f534d 100644
--- a/pkgs/applications/networking/cluster/fluxcd/default.nix
+++ b/pkgs/applications/networking/cluster/fluxcd/default.nix
@@ -1,9 +1,9 @@
 { lib, buildGoModule, fetchFromGitHub, fetchzip, installShellFiles }:
 
 let
-  version = "0.26.1";
-  sha256 = "10l02cw0ypci9vaman1nm9z36fshqwwf0gk16rvsc82d02lv4iq5";
-  manifestsSha256 = "0gffjmcxsf9c4f6g60nwq88snm6lar0qd53xp0csr4n5sy7zg6dm";
+  version = "0.27.2";
+  sha256 = "0rdsc9i8mjiwyb6l9sbhxirl4i3b50m6505wwvhxz4y5arzdi1k6";
+  manifestsSha256 = "0h966xqjkvrblxd62iph9vwr2h7w1ig943hi5vg0swy4674v3ybf";
 
   manifests = fetchzip {
     url =
@@ -23,7 +23,7 @@ in buildGoModule rec {
     inherit sha256;
   };
 
-  vendorSha256 = "sha256-IJGp4QWZbTzPHeawyjJI0aN4LP5ZV2mb5pUusfQ4rfE=";
+  vendorSha256 = "sha256-xkhbGID+oI7+kLml8CveEet7gtPSty8LGv1gkqpqg6w=";
 
   postUnpack = ''
     cp -r ${manifests} source/cmd/flux/manifests
diff --git a/pkgs/applications/networking/cluster/fn-cli/default.nix b/pkgs/applications/networking/cluster/fn-cli/default.nix
index cb15d47e02d..9c929ba260e 100644
--- a/pkgs/applications/networking/cluster/fn-cli/default.nix
+++ b/pkgs/applications/networking/cluster/fn-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "fn";
-  version = "0.6.11";
+  version = "0.6.14";
 
   src = fetchFromGitHub {
     owner = "fnproject";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-mBPRsLBIwahKm2RR22pNXxJhdLaWHCKx0TKc4H4YIVY=";
+    sha256 = "sha256-4gHwf8zOkCKbOPU4Zq1u4h5vn0r1Vi/B++ERxvr/iuk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/glooctl/default.nix b/pkgs/applications/networking/cluster/glooctl/default.nix
new file mode 100644
index 00000000000..a9b4441e00f
--- /dev/null
+++ b/pkgs/applications/networking/cluster/glooctl/default.nix
@@ -0,0 +1,36 @@
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+
+buildGoModule rec {
+  pname = "glooctl";
+  version = "1.10.10";
+
+  src = fetchFromGitHub {
+    owner = "solo-io";
+    repo = "gloo";
+    rev = "v${version}";
+    hash = "sha256-Be0ejIQ3euKXX6wc1abXz8BphhrDnBMP0GzmnrF7C/4=";
+  };
+
+  subPackages = [ "projects/gloo/cli/cmd" ];
+  vendorSha256 = "1s3s4n2wgi4azwkmg9zw2a3gz378nb1i41p3s8aixfbf6fsqc6ga";
+
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    mv $out/bin/cmd $out/bin/glooctl
+
+    export HOME=$TMP
+    installShellCompletion --cmd glooctl \
+      --bash <($out/bin/glooctl completion bash) \
+      --zsh <($out/bin/glooctl completion zsh)
+  '';
+
+  ldflags = [ "-s" "-w" "-X github.com/solo-io/gloo/pkg/version.Version=${version}" ];
+
+  meta = with lib; {
+    description = "glooctl is the unified CLI for Gloo";
+    homepage = "https://docs.solo.io/gloo-edge/latest/reference/cli/glooctl/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nelsonjeppesen ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/helm/default.nix b/pkgs/applications/networking/cluster/helm/default.nix
index 2d9545bc13a..42d2e63eaac 100644
--- a/pkgs/applications/networking/cluster/helm/default.nix
+++ b/pkgs/applications/networking/cluster/helm/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGo117Module, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "helm";
   version = "3.8.0";
   gitCommit = "d14138609b01886f544b2025f5000351c9eb092e";
diff --git a/pkgs/applications/networking/cluster/helmsman/default.nix b/pkgs/applications/networking/cluster/helmsman/default.nix
index b209a5c5bca..e01f9c14a18 100644
--- a/pkgs/applications/networking/cluster/helmsman/default.nix
+++ b/pkgs/applications/networking/cluster/helmsman/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "helmsman";
-  version = "3.8.0";
+  version = "3.8.1";
 
   src = fetchFromGitHub {
     owner = "Praqma";
     repo = "helmsman";
     rev = "v${version}";
-    sha256 = "sha256-KZrv447Yz4WxtkmQkGLsnZC0ok0rWCM2Fs+m8LVTGfM=";
+    sha256 = "sha256-njo5LlowlgWFK5G2lpgi7hdxtnSs8f5cT0oHI7bJxNc=";
   };
 
   vendorSha256 = "sha256-F+b4EXAxa4+O6yepx+9eRrdq294ZcQ+sODFUCKYpSuo=";
diff --git a/pkgs/applications/networking/cluster/istioctl/default.nix b/pkgs/applications/networking/cluster/istioctl/default.nix
index 02ed9b96f54..db9028d0af2 100644
--- a/pkgs/applications/networking/cluster/istioctl/default.nix
+++ b/pkgs/applications/networking/cluster/istioctl/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "istioctl";
-  version = "1.12.2";
+  version = "1.13.1";
 
   src = fetchFromGitHub {
     owner = "istio";
     repo = "istio";
     rev = version;
-    sha256 = "sha256-6eVFyGVvOUr5RA5jeavKcLJedv4jOGXAg3aa4N3cNx8=";
+    sha256 = "sha256-lFuDFuzart7uvs6NGNvNYh7JRF5ROx0V8uYoThF2mIU=";
   };
-  vendorSha256 = "sha256-ie7XRu+2+NmhMNtJEL2OgZH6wuTPJX9O2+cZBnI04JA=";
+  vendorSha256 = "sha256-cVbQUWgreVy5m6OdS+Ik/xvUuedlI75gM9zq4qto+gY=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/k3s/default.nix b/pkgs/applications/networking/cluster/k3s/default.nix
index 34fe2bfb9d0..5b5dfece1f1 100644
--- a/pkgs/applications/networking/cluster/k3s/default.nix
+++ b/pkgs/applications/networking/cluster/k3s/default.nix
@@ -5,9 +5,11 @@
 , iptables
 , iproute2
 , bridge-utils
+, btrfs-progs
 , conntrack-tools
-, buildGoPackage
+, buildGoModule
 , runc
+, rsync
 , kmod
 , libseccomp
 , pkg-config
@@ -18,6 +20,7 @@
 , fetchzip
 , fetchgit
 , zstd
+, yq-go
 , nixosTests
 }:
 
@@ -43,27 +46,58 @@ with lib;
 # Those pieces of software we entirely ignore upstream's handling of, and just
 # make sure they're in the path if desired.
 let
-  k3sVersion = "1.22.3+k3s1";     # k3s git tag
-  k3sCommit = "61a2aab25eeb97c26fa3f2b177e4355a7654c991"; # k3s git commit at the above version
-  k3sRepoSha256 = "0lz5hr3c86gxm9w5jy3g26n6a26m8k0y559hv6220rsi709j7ma9";
+  k3sVersion = "1.23.3+k3s1";     # k3s git tag
+  k3sCommit = "6f4217a3405d16a1a51bbb40872d7dcb87207bb9"; # k3s git commit at the above version
+  k3sRepoSha256 = "sha256-0dRusG1vL+1KbmViIUNCZK1b+FEgV6otcVUyFonHmm4=";
 
-  traefikChartVersion = "10.3.0"; # taken from ./manifests/traefik.yaml at spec.version
-  traefikChartSha256 = "0y6wr64xp7bgx24kqil0x6myr3pnfrg8rw0d1h5zd2n5a8nfd73f";
+  # taken from ./manifests/traefik.yaml, extracted from '.spec.chart' https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/download#L9
+  # The 'patch' and 'minor' versions are currently hardcoded as single digits only, so ignore the trailing two digits. Weird, I know.
+  traefikChartVersion = "10.9.1";
+  traefikChartSha256 = "sha256-XM1DLofU1zEEFeB5bNQ7cgv102gXsToPP7SFh87QuGQ=";
 
-  k3sRootVersion = "0.9.1";       # taken from ./scripts/download at ROOT_VERSION
+  # taken from ./scripts/version.sh VERSION_ROOT https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L47
+  k3sRootVersion = "0.9.1";
   k3sRootSha256 = "0r2cj4l50cxkrvszpzxfk36lvbjf9vcmp6d5lvxg8qsah8lki3x8";
 
-  k3sCNIVersion = "0.9.1-k3s1";   # taken from ./scripts/version.sh at VERSION_CNIPLUGINS
+  # taken from ./scripts/version.sh VERSION_CNIPLUGINS https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/version.sh#L45
+  k3sCNIVersion = "0.9.1-k3s1";
   k3sCNISha256 = "1327vmfph7b8i14q05c2xdfzk60caflg1zhycx0mrf3d59f4zsz5";
 
+  # taken from go.mod, the 'github.com/containerd/containerd' line
+  # run `grep github.com/containerd/containerd go.mod | head -n1 | awk '{print $4}'`
+  containerdVersion = "v1.5.9-k3s1";
+  containerdSha256 = "sha256-7xlhBA6KuwFlw+jyThygv4Ow9F3xjjIUtS6x8YHwjic=";
+
+  # run `grep github.com/kubernetes-sigs/cri-tools go.mod | head -n1 | awk '{print $4}'` in the k3s repo at the tag
+  criCtlVersion = "v1.22.0-k3s1";
+
   baseMeta = {
     description = "A lightweight Kubernetes distribution";
     license = licenses.asl20;
     homepage = "https://k3s.io";
-    maintainers = with maintainers; [ euank ];
+    maintainers = with maintainers; [ euank mic92 ];
     platforms = platforms.linux;
   };
 
+  # https://github.com/k3s-io/k3s/blob/5fb370e53e0014dc96183b8ecb2c25a61e891e76/scripts/build#L19-L40
+  versionldflags = [
+    "-X github.com/rancher/k3s/pkg/version.Version=v${k3sVersion}"
+    "-X github.com/rancher/k3s/pkg/version.GitCommit=${lib.substring 0 8 k3sCommit}"
+    "-X k8s.io/client-go/pkg/version.gitVersion=v${k3sVersion}"
+    "-X k8s.io/client-go/pkg/version.gitCommit=${k3sCommit}"
+    "-X k8s.io/client-go/pkg/version.gitTreeState=clean"
+    "-X k8s.io/client-go/pkg/version.buildDate=1970-01-01T01:01:01Z"
+    "-X k8s.io/component-base/version.gitVersion=v${k3sVersion}"
+    "-X k8s.io/component-base/version.gitCommit=${k3sCommit}"
+    "-X k8s.io/component-base/version.gitTreeState=clean"
+    "-X k8s.io/component-base/version.buildDate=1970-01-01T01:01:01Z"
+    "-X github.com/kubernetes-sigs/cri-tools/pkg/version.Version=${criCtlVersion}"
+    "-X github.com/containerd/containerd/version.Version=${containerdVersion}"
+    "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
+    "-X github.com/containerd/containerd/version.Version=${containerdVersion}"
+    "-X github.com/containerd/containerd/version.Package=github.com/k3s-io/containerd"
+  ];
+
   # bundled into the k3s binary
   traefikChart = fetchurl {
     url = "https://helm.traefik.io/traefik/traefik-${traefikChartVersion}.tgz";
@@ -84,11 +118,11 @@ let
     sha256 = k3sRootSha256;
     stripRoot = false;
   };
-  k3sPlugins = buildGoPackage rec {
-    name = "k3s-cni-plugins";
+  k3sCNIPlugins = buildGoModule rec {
+    pname = "k3s-cni-plugins";
     version = k3sCNIVersion;
+    vendorSha256 = null;
 
-    goPackagePath = "github.com/containernetworking/plugins";
     subPackages = [ "." ];
 
     src = fetchFromGitHub {
@@ -98,6 +132,10 @@ let
       sha256 = k3sCNISha256;
     };
 
+    postInstall = ''
+      mv $out/bin/plugins $out/bin/cni
+    '';
+
     meta = baseMeta // {
       description = "CNI plugins, as patched by rancher for k3s";
     };
@@ -124,50 +162,38 @@ let
   # Then, we bundle those binaries into our thick k3s binary and use that as
   # the final single output.
   # This approach was chosen because it ensures the bundled binaries all are
-  # correctly built to run with nix (we can lean on the existing buildGoPackage
+  # correctly built to run with nix (we can lean on the existing buildGoModule
   # stuff), and we can again lean on that tooling for the final k3s binary too.
   # Other alternatives would be to manually run the
   # strip/patchelf/remove-references step ourselves in the installPhase of the
   # derivation when we've built all the binaries, but haven't bundled them in
   # with generated bindata yet.
-  k3sBuildStage1 = buildGoPackage rec {
-    name = "k3s-build-1";
+  k3sServer = buildGoModule rec {
+    pname = "k3s-server";
     version = k3sVersion;
 
-    goPackagePath = "github.com/rancher/k3s";
-
     src = k3sRepo;
-
-    # Patch build scripts so that we can use them.
-    # This makes things more dynamically linked (because nix can deal with
-    # dynamically linked dependencies just fine), removes the upload at the
-    # end, and skips building runc + cni, since we have our own derivations for
-    # those.
-    patches = [ ./patches/0002-Add-nixpkgs-patches.patch ];
+    vendorSha256 = "sha256-9+2k/ipAOhc8JJU+L2dwaM01Dkw+0xyrF5kt6mL19G0=";
 
     nativeBuildInputs = [ pkg-config ];
     buildInputs = [ libseccomp ];
 
-    # Versioning info for build script
-    DRONE_TAG = "v${version}";
-    DRONE_COMMIT = k3sCommit;
-
-    buildPhase = ''
-      pushd go/src/${goPackagePath}
-
-      patchShebangs ./scripts/build ./scripts/version.sh
-      mkdir -p bin
-      ./scripts/build
-
-      popd
-    '';
-
-    installPhase = ''
-      pushd go/src/${goPackagePath}
-
-      mkdir -p "$out/bin"
-      install -m 0755 -t "$out/bin" ./bin/*
-
+    subPackages = [ "cmd/server" ];
+    ldflags = versionldflags;
+
+    # create the multicall symlinks for k3s
+    postInstall = ''
+      mv $out/bin/server $out/bin/k3s
+      pushd $out
+      # taken verbatim from https://github.com/k3s-io/k3s/blob/v1.23.3%2Bk3s1/scripts/build#L105-L113
+      ln -s k3s ./bin/k3s-agent
+      ln -s k3s ./bin/k3s-server
+      ln -s k3s ./bin/k3s-etcd-snapshot
+      ln -s k3s ./bin/k3s-secrets-encrypt
+      ln -s k3s ./bin/k3s-certificate
+      ln -s k3s ./bin/kubectl
+      ln -s k3s ./bin/crictl
+      ln -s k3s ./bin/ctr
       popd
     '';
 
@@ -175,76 +201,33 @@ let
       description = "The various binaries that get packaged into the final k3s binary";
     };
   };
-  k3sBin = buildGoPackage rec {
-    name = "k3s-bin";
+  k3sContainerd = buildGoModule {
+    pname = "k3s-containerd";
     version = k3sVersion;
-
-    goPackagePath = "github.com/rancher/k3s";
-
-    src = k3sRepo;
-
-    # See the above comment in k3sBuildStage1
-    patches = [ ./patches/0002-Add-nixpkgs-patches.patch ];
-
-    nativeBuildInputs = [ pkg-config zstd ];
-    # These dependencies are embedded as compressed files in k3s at runtime.
-    # Propagate them to avoid broken runtime references to libraries.
-    propagatedBuildInputs = [ k3sPlugins k3sBuildStage1 runc ];
-
-    # k3s appends a suffix to the final distribution binary for some arches
-    archSuffix =
-      if stdenv.hostPlatform.system == "x86_64-linux" then ""
-      else if stdenv.hostPlatform.system == "aarch64-linux" then "-arm64"
-      else throw "k3s isn't being built for ${stdenv.hostPlatform.system} yet.";
-
-    DRONE_TAG = "v${version}";
-    DRONE_COMMIT = k3sCommit;
-
-    # In order to build the thick k3s binary (which is what
-    # ./scripts/package-cli does), we need to get all the binaries that script
-    # expects in place.
-    buildPhase = ''
-      pushd go/src/${goPackagePath}
-
-      patchShebangs ./scripts/build ./scripts/version.sh ./scripts/package-cli
-
-      mkdir -p bin
-
-      install -m 0755 -t ./bin ${k3sBuildStage1}/bin/*
-      install -m 0755 -T "${k3sPlugins}/bin/plugins" ./bin/cni
-      # Note: use the already-nixpkgs-bundled k3s rather than the one bundled
-      # in k3s because the k3s one is completely unmodified from upstream
-      # (unlike containerd, cni, etc)
-      install -m 0755 -T "${runc}/bin/runc" ./bin/runc
-      cp -R "${k3sRoot}/etc" ./etc
-      mkdir -p "build/static/charts"
-      cp "${traefikChart}" "build/static/charts/traefik-${traefikChartVersion}.tgz"
-
-      ./scripts/package-cli
-
-      popd
-    '';
-
-    installPhase = ''
-      pushd go/src/${goPackagePath}
-
-      mkdir -p "$out/bin"
-      install -m 0755 -T ./dist/artifacts/k3s${archSuffix} "$out/bin/k3s"
-
-      popd
-    '';
-
-    meta = baseMeta // {
-      description = "The k3s go binary which is used by the final wrapped output below";
+    src = fetchFromGitHub {
+      owner = "k3s-io";
+      repo = "containerd";
+      rev = containerdVersion;
+      sha256 = containerdSha256;
     };
+    vendorSha256 = null;
+    buildInputs = [ btrfs-progs ];
+    subPackages = [ "cmd/containerd" "cmd/containerd-shim-runc-v2" ];
+    ldflags = versionldflags;
   };
 in
-stdenv.mkDerivation rec {
+buildGoModule rec {
   pname = "k3s";
   version = k3sVersion;
 
-  # `src` here is a workaround for the updateScript bot. It couldn't be empty.
-  src = builtins.filterSource (path: type: false) ./.;
+  src = k3sRepo;
+  proxyVendor = true;
+  vendorSha256 = "sha256-8Yp9csyRNSYi9wo8E8mF8cu92wG1t3l18wJ8Y4L7HEA=";
+
+  patches = [
+    ./patches/0001-scrips-download-strip-downloading-just-package-CRD.patch
+    ./patches/0002-Don-t-build-a-static-binary-in-package-cli.patch
+  ];
 
   # Important utilities used by the kubelet, see
   # https://github.com/kubernetes/kubernetes/issues/26093#issuecomment-237202494
@@ -260,32 +243,68 @@ stdenv.mkDerivation rec {
     conntrack-tools
   ];
 
-  buildInputs = [
-    k3sBin
-  ] ++ k3sRuntimeDeps;
+  buildInputs = k3sRuntimeDeps;
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [
+    makeWrapper
+    rsync
+    yq-go
+    zstd
+  ];
+
+  # embedded in the final k3s cli
+  propagatedBuildInputs = [
+    k3sCNIPlugins
+    k3sContainerd
+    k3sServer
+    runc
+  ];
+
+  # We override most of buildPhase due to peculiarities in k3s's build.
+  # Specifically, it has a 'go generate' which runs part of the package. See
+  # this comment:
+  # https://github.com/NixOS/nixpkgs/pull/158089#discussion_r799965694
+  # So, why do we use buildGoModule at all? For the `vendorSha256` / `go mod download` stuff primarily.
+  buildPhase = ''
+    patchShebangs ./scripts/package-cli ./scripts/download ./scripts/build-upload
+
+    # copy needed 'go generate' inputs into place
+    mkdir -p ./bin/aux
+    rsync -a --no-perms ${k3sServer}/bin/ ./bin/
+    ln -vsf ${runc}/bin/runc ./bin/runc
+    ln -vsf ${k3sCNIPlugins}/bin/cni ./bin/cni
+    ln -vsf ${k3sContainerd}/bin/* ./bin/
+    rsync -a --no-perms --chmod u=rwX ${k3sRoot}/etc/ ./etc/
+    mkdir -p ./build/static/charts
+    # Note, upstream's chart has a 00 suffix. This seems to not matter though, so we're ignoring that naming detail.
+    export TRAEFIK_CHART_FILE=${traefikChart}
+    # place the traefik chart using their code since it's complicated
+    # We trim the actual download, see patches
+    ./scripts/download
+
+    export ARCH=$GOARCH
+    export DRONE_TAG="v${k3sVersion}"
+    export DRONE_COMMIT="${k3sCommit}"
+    # use ./scripts/package-cli to run 'go generate' + 'go build'
+
+    ./scripts/package-cli
+    mkdir -p $out/bin
+  '';
 
-  unpackPhase = "true";
+  # Otherwise it depends on 'getGoDirs', which is normally set in buildPhase
+  doCheck = false;
 
-  # And, one final derivation (you thought the last one was it, right?)
-  # We got the binary we wanted above, but it doesn't have all the runtime
-  # dependencies k8s wants, including mount utilities for kubelet, networking
-  # tools for cni/kubelet stuff, etc
-  # Use a wrapper script to reference all the binaries that k3s tries to
-  # execute, but that we didn't bundle with it.
   installPhase = ''
-    runHook preInstall
-    mkdir -p "$out/bin"
-    makeWrapper ${k3sBin}/bin/k3s "$out/bin/k3s" \
+    # wildcard to match the arm64 build too
+    install -m 0755 dist/artifacts/k3s* -D $out/bin/k3s
+    wrapProgram $out/bin/k3s \
       --prefix PATH : ${lib.makeBinPath k3sRuntimeDeps} \
       --prefix PATH : "$out/bin"
-    runHook postInstall
   '';
 
   doInstallCheck = true;
   installCheckPhase = ''
-    $out/bin/k3s --version | grep v${k3sVersion} > /dev/null
+    $out/bin/k3s --version | grep -F "v${k3sVersion}" >/dev/null
   '';
 
   passthru.updateScript = ./update.sh;
diff --git a/pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch b/pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch
new file mode 100644
index 00000000000..115fd682477
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/patches/0001-scrips-download-strip-downloading-just-package-CRD.patch
@@ -0,0 +1,41 @@
+From 6f53bd36a40da4c71486e3b79f6e32d53d6eea5d Mon Sep 17 00:00:00 2001
+From: Euan Kemp <euank@euank.com>
+Date: Thu, 3 Feb 2022 23:50:40 -0800
+Subject: [PATCH 2/2] scrips/download: strip downloading, just package CRD
+
+The CRD packaging is a complicated set of commands, so let's reuse it.
+---
+ scripts/download | 10 ++--------
+ 1 file changed, 2 insertions(+), 8 deletions(-)
+
+diff --git a/scripts/download b/scripts/download
+index 5effc0562a..82361803ee 100755
+--- a/scripts/download
++++ b/scripts/download
+@@ -24,12 +24,6 @@ rm -rf ${CONTAINERD_DIR}
+ mkdir -p ${CHARTS_DIR}
+ mkdir -p ${DATA_DIR}
+ 
+-curl --compressed -sfL https://github.com/k3s-io/k3s-root/releases/download/${VERSION_ROOT}/k3s-root-${ARCH}.tar | tar xf - --exclude=bin/socat
+-
+-git clone --single-branch --branch=${VERSION_RUNC} --depth=1 https://github.com/opencontainers/runc ${RUNC_DIR}
+-
+-git clone --single-branch --branch=${VERSION_CONTAINERD} --depth=1 https://github.com/k3s-io/containerd ${CONTAINERD_DIR}
+-
+ setup_tmp() {
+     TMP_DIR=$(mktemp -d --tmpdir=${CHARTS_DIR})
+     cleanup() {
+@@ -44,8 +38,8 @@ setup_tmp() {
+ 
+ download_and_package_traefik () {
+   echo "Downloading Traefik Helm chart from ${TRAEFIK_URL}"
+-  curl -sfL ${TRAEFIK_URL} -o ${TMP_DIR}/${TRAEFIK_FILE}
+-  code=$?
++  # nixpkgs: copy in our known traefik chart instead
++  cp $TRAEFIK_CHART_FILE ${TMP_DIR}/${TRAEFIK_FILE}
+ 
+   if [ $code -ne 0 ]; then
+     echo "Error: Failed to download Traefik Helm chart!"
+-- 
+2.34.1
+
diff --git a/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch b/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch
deleted file mode 100644
index dd26810a456..00000000000
--- a/pkgs/applications/networking/cluster/k3s/patches/0002-Add-nixpkgs-patches.patch
+++ /dev/null
@@ -1,81 +0,0 @@
--Subject: [PATCH 2/2] Add nixpkgs patches
--Original patch by: Euan Kemp <euank@euank.com>
--Adapted by: superherointj
--
--This patch allows us to re-use upstream build scripts when building for nix.
-----
-- 2 files changed:
--   scripts/build
--   scripts/package-cli
--
-diff --git a/scripts/build b/scripts/build
-index 2f3d1dc496..4f4e5aa897 100755
---- a/scripts/build
-+++ b/scripts/build
-@@ -12,7 +12,8 @@ PKG_CONTAINERD="github.com/containerd/containerd"
- PKG_K3S_CONTAINERD="github.com/k3s-io/containerd"
- PKG_CRICTL="github.com/kubernetes-sigs/cri-tools"
- 
--buildDate=$(date -u '+%Y-%m-%dT%H:%M:%SZ')
-+# nixpkgs: deterministic build date
-+buildDate="$(date -d "$(git log -1 --format=%ai)" -u "+%Y-%m-%dT%H:%M:%SZ")"
- 
- VENDOR_PREFIX="${PKG}/vendor/"
- VERSIONFLAGS="
-@@ -89,17 +90,7 @@ cleanup() {
- }
- 
- INSTALLBIN=$(pwd)/bin
--if [ ! -x ${INSTALLBIN}/cni ]; then
--(
--    echo Building cni
--    TMPDIR=$(mktemp -d)
--    trap cleanup EXIT
--    WORKDIR=$TMPDIR/src/github.com/containernetworking/plugins
--    git clone -b $VERSION_CNIPLUGINS https://github.com/rancher/plugins.git $WORKDIR
--    cd $WORKDIR
--    GOPATH=$TMPDIR CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -ldflags "$LDFLAGS $STATIC" -o $INSTALLBIN/cni
--)
--fi
-+# nixpkgs: skip building cni, we build it separately
- # echo Building agent
- # CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/k3s-agent ./cmd/agent/main.go
- echo Building server
-@@ -116,10 +107,7 @@ ln -s containerd ./bin/ctr
- #CGO_ENABLED=1 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC_SQLITE" -o bin/ctr ./cmd/ctr/main.go
- # echo Building containerd
- # CGO_ENABLED=0 "${GO}" build -tags "$TAGS" -ldflags "$VERSIONFLAGS $LDFLAGS $STATIC" -o bin/containerd ./cmd/containerd/
--echo Building runc
--rm -f ./build/src/github.com/opencontainers/runc/runc
--make GOPATH=$(pwd)/build EXTRA_LDFLAGS="-w -s" BUILDTAGS="$RUNC_TAGS" -C ./build/src/github.com/opencontainers/runc $RUNC_STATIC
--cp -f ./build/src/github.com/opencontainers/runc/runc ./bin/runc
-+# nixpkgs: we build runc separately
- 
- echo Building containerd-shim
- rm -f ./vendor/github.com/containerd/containerd/bin/containerd-shim
-diff --git a/scripts/package-cli b/scripts/package-cli
-index ab4a6dac63..044b5587d0 100755
---- a/scripts/package-cli
-+++ b/scripts/package-cli
-@@ -50,15 +50,17 @@ fi
- 
- CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX}
- 
--"${GO}" generate
-+CGO_ENABLED=0 env -u GOARCH "${GO}" generate
- LDFLAGS="
-     -X github.com/rancher/k3s/pkg/version.Version=$VERSION
-     -X github.com/rancher/k3s/pkg/version.GitCommit=${COMMIT:0:8}
-     -w -s
- "
--STATIC="-extldflags '-static'"
--CGO_ENABLED=0 "${GO}" build -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go
-+# STATIC="-extldflags '-static'"
-+# nixpkgs: we can depend on dynamic linking because we have a good package manager
-+"${GO}" build -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go
- 
- stat ${CMD_NAME}
- 
--./scripts/build-upload ${CMD_NAME} ${COMMIT}
-+# nixpkgs: skip uploading
-+# ./scripts/build-upload ${CMD_NAME} ${COMMIT}
diff --git a/pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch b/pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch
new file mode 100644
index 00000000000..886b6ec7409
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3s/patches/0002-Don-t-build-a-static-binary-in-package-cli.patch
@@ -0,0 +1,37 @@
+From 49c000c7c5dd7a502a2be4c638d2c32b65673c00 Mon Sep 17 00:00:00 2001
+From: Euan Kemp <euank@euank.com>
+Date: Sun, 6 Feb 2022 23:13:00 -0800
+Subject: [PATCH] Don't build a static binary in package-cli
+
+since nixpkgs prefers dynamically linked binaries.
+
+Also remove "trimpath" for the 'go generate' step because the codegen
+they use doesn't work with trimpath set.
+---
+ scripts/package-cli | 5 ++---
+ 1 file changed, 2 insertions(+), 3 deletions(-)
+
+diff --git a/scripts/package-cli b/scripts/package-cli
+index 28927327b7..95dbb469f1 100755
+--- a/scripts/package-cli
++++ b/scripts/package-cli
+@@ -48,14 +48,13 @@ fi
+ 
+ CMD_NAME=dist/artifacts/k3s${BIN_SUFFIX}
+ 
+-"${GO}" generate
++GOFLAGS="" "${GO}" generate
+ LDFLAGS="
+     -X github.com/rancher/k3s/pkg/version.Version=$VERSION
+     -X github.com/rancher/k3s/pkg/version.GitCommit=${COMMIT:0:8}
+     -w -s
+ "
+-STATIC="-extldflags '-static'"
+-CGO_ENABLED=0 "${GO}" build -ldflags "$LDFLAGS $STATIC" -o ${CMD_NAME} ./cmd/k3s/main.go
++CGO_ENABLED=0 "${GO}" build -ldflags "$LDFLAGS" -o ${CMD_NAME} ./cmd/k3s/main.go
+ 
+ stat ${CMD_NAME}
+ 
+-- 
+2.34.1
+
diff --git a/pkgs/applications/networking/cluster/k3sup/default.nix b/pkgs/applications/networking/cluster/k3sup/default.nix
new file mode 100644
index 00000000000..befec62fbc5
--- /dev/null
+++ b/pkgs/applications/networking/cluster/k3sup/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, makeWrapper
+, bash
+, openssh
+}:
+
+buildGoModule rec {
+  pname = "k3sup";
+  version = "0.11.3";
+
+  src = fetchFromGitHub {
+    owner = "alexellis";
+    repo = "k3sup";
+    rev = version;
+    sha256 = "sha256-6WYUmC2uVHFGLsfkA2EUOWmmo1dSKJzI4MEdRnlLgYY=";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  vendorSha256 = "sha256-Pd+BgPWoxf1AhP0o5SgFSvy4LyUQB7peKWJk0BMy7ds=";
+
+  postConfigure = ''
+    substituteInPlace vendor/github.com/alexellis/go-execute/pkg/v1/exec.go \
+      --replace "/bin/bash" "${bash}/bin/bash"
+  '';
+
+  CGO_ENABLED = 0;
+
+  ldflags = [
+    "-s" "-w"
+    "-X github.com/alexellis/k3sup/cmd.GitCommit=ref/tags/${version}"
+    "-X github.com/alexellis/k3sup/cmd.Version=${version}"
+  ];
+
+  postInstall = ''
+    wrapProgram "$out/bin/k3sup" \
+      --prefix PATH : ${lib.makeBinPath [ openssh ]}
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/alexellis/k3sup";
+    description = "Bootstrap Kubernetes with k3s over SSH";
+    license = licenses.mit;
+    maintainers = with maintainers; [ welteki ];
+  };
+}
diff --git a/pkgs/applications/networking/cluster/kconf/default.nix b/pkgs/applications/networking/cluster/kconf/default.nix
index 683a91ffee8..e549c8f09fb 100644
--- a/pkgs/applications/networking/cluster/kconf/default.nix
+++ b/pkgs/applications/networking/cluster/kconf/default.nix
@@ -2,16 +2,20 @@
 
 buildGoModule rec {
   pname = "kconf";
-  version = "1.10.1";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "particledecay";
     repo = "kconf";
     rev = "v${version}";
-    sha256 = "NlTpHQFOJJcIt/xMT3fvdrlxANyg//wtYMmXzEtaFXo=";
+    sha256 = "sha256-V+B1vqI/MLASqEy6DZiB71h7EkUfrxVKIMxriRK6pyY=";
   };
 
-  vendorSha256 = "2d4o87wE9QZltk2YOHc20XVYF8n0EOrDf5mJ6i6EB0c=";
+  vendorSha256 = "sha256-Fq3V3vYaofB0TWt3t7uW1Dd7MlwMvh8RaRVpdq9XZh4=";
+
+  ldflags = [
+      "-s" "-w" "-X github.com/particledecay/kconf/build.Version=${version}"
+  ];
 
   meta = with lib; {
     description = "An opinionated command line tool for managing multiple kubeconfigs";
diff --git a/pkgs/applications/networking/cluster/kn/default.nix b/pkgs/applications/networking/cluster/kn/default.nix
index 796429f2a99..f492bfd6884 100644
--- a/pkgs/applications/networking/cluster/kn/default.nix
+++ b/pkgs/applications/networking/cluster/kn/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kn";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "knative";
     repo = "client";
     rev = "knative-v${version}";
-    sha256 = "sha256-lRQ4IXV+q1idoTyhppJGlzjuUuRykP8DtQ3t/CsxhNw=";
+    sha256 = "sha256-yWzrMkkusRueHyWT4LwrflH4N7BNri2ycHIuAyvXceo=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/krane/default.nix b/pkgs/applications/networking/cluster/krane/default.nix
index 6d325d6f592..cc9d19fd815 100644
--- a/pkgs/applications/networking/cluster/krane/default.nix
+++ b/pkgs/applications/networking/cluster/krane/default.nix
@@ -1,7 +1,5 @@
 { lib
 , bundlerApp
-, makeWrapper
-, kubectl
 , bundlerUpdateScript
 }:
 
@@ -10,13 +8,6 @@ bundlerApp {
   gemdir = ./.;
   exes = [ "krane" ];
 
-  buildInputs = [ makeWrapper ];
-
-  postBuild = ''
-    wrapProgram "$out/bin/krane" \
-      --prefix PATH : ${lib.makeBinPath [ kubectl ]}
-  '';
-
   passthru.updateScript = bundlerUpdateScript "krane";
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/kube-score/default.nix b/pkgs/applications/networking/cluster/kube-score/default.nix
index 6ef24ded1a6..c1383e8688d 100644
--- a/pkgs/applications/networking/cluster/kube-score/default.nix
+++ b/pkgs/applications/networking/cluster/kube-score/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kube-score";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "zegl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QAtsXNmR+Sg9xmvP7x6b2jAJkUcL/sMYk8i5CSzjVos=";
+    sha256 = "sha256-6/+S1aj2qoUPz+6+8Z4Z5dpfyOi/DnrLLUpPgBn/OxU=";
   };
 
-  vendorSha256 = "sha256-kPYvkovzQDmoB67TZHCKZ5jtW6pN3gHxBPKAU8prbgo=";
+  vendorSha256 = "sha256-0Zi62FmX4rFl3os2ehtussSSUPJtxLq7622CEdeKZCs=";
 
   meta = with lib; {
     description = "Kubernetes object analysis with recommendations for improved reliability and security";
diff --git a/pkgs/applications/networking/cluster/kube3d/default.nix b/pkgs/applications/networking/cluster/kube3d/default.nix
index 0e4dc8f560f..0da63fae421 100644
--- a/pkgs/applications/networking/cluster/kube3d/default.nix
+++ b/pkgs/applications/networking/cluster/kube3d/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kube3d";
-  version = "5.2.2";
+  version = "5.3.0";
 
   src = fetchFromGitHub {
     owner = "rancher";
     repo = "k3d";
     rev = "v${version}";
-    sha256 = "sha256-yOrxEY2UpupVmbDSAhgruTUOhNVAGCpSJsvzDEFFccw=";
+    sha256 = "sha256-ZuUjk1wb7iRZX+OpjLJHp1T0WYNjCHU6DpYF4V/heVc=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubebuilder/default.nix b/pkgs/applications/networking/cluster/kubebuilder/default.nix
index 7ee92fcbbda..1b1089f655c 100644
--- a/pkgs/applications/networking/cluster/kubebuilder/default.nix
+++ b/pkgs/applications/networking/cluster/kubebuilder/default.nix
@@ -1,13 +1,13 @@
 { lib
-, buildGo117Module
+, buildGoModule
 , fetchFromGitHub
 , makeWrapper
 , git
-, go_1_17
+, go
 , gnumake
 }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "kubebuilder";
   version = "3.3.0";
 
@@ -23,8 +23,8 @@ buildGo117Module rec {
 
   ldflags = [
     "-X main.kubeBuilderVersion=v${version}"
-    "-X main.goos=${go_1_17.GOOS}"
-    "-X main.goarch=${go_1_17.GOARCH}"
+    "-X main.goos=${go.GOOS}"
+    "-X main.goarch=${go.GOARCH}"
     "-X main.gitCommit=v${version}"
     "-X main.buildDate=v${version}"
   ];
@@ -34,7 +34,7 @@ buildGo117Module rec {
   postInstall = ''
     mv $out/bin/cmd $out/bin/kubebuilder
     wrapProgram $out/bin/kubebuilder \
-      --prefix PATH : ${lib.makeBinPath [ go_1_17 gnumake ]}
+      --prefix PATH : ${lib.makeBinPath [ go gnumake ]}
   '';
 
   allowGoReference = true;
diff --git a/pkgs/applications/networking/cluster/kubeconform/default.nix b/pkgs/applications/networking/cluster/kubeconform/default.nix
index 29a8388bd5c..07d15feddda 100644
--- a/pkgs/applications/networking/cluster/kubeconform/default.nix
+++ b/pkgs/applications/networking/cluster/kubeconform/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubeconform";
-  version = "0.4.12";
+  version = "0.4.13";
 
   src = fetchFromGitHub {
     owner = "yannh";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-03eGWuDV/GS2YgDQ7LaqonU7K/ohI8sQD4dXbJGXeXw=";
+    sha256 = "sha256-hKsGti04pUZj02uzah7ccImmg/qn31ceVfk11aTa9rk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubectl-doctor/default.nix b/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
index 5d056907264..5e78cc9b72b 100644
--- a/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
+++ b/pkgs/applications/networking/cluster/kubectl-doctor/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "kubectl-doctor";
-  version = "0.3.0";
+  version = "0.3.1";
 
   src = fetchFromGitHub {
     owner = "emirozer";
     repo = pname;
     rev = version;
-    sha256 = "0x784jbcwd34vzdnhg2yldh5ivkxvs2qlbsvaammbxkn04ch1ijz";
+    sha256 = "sha256-yp5OfSDxIASiCgISUVNxfe3dsLukgIoHARVPALIaQfY=";
   };
 
-  vendorSha256 = "04xq5kp1m7c98gb4fd0dni258vpfnhv535gl2qllfcp2mvk3mn55";
+  vendorSha256 = "sha256-pdg65q7iMkcpFvSVUTa07m5URLQNNEfWQ4mdGu4suBM=";
 
   postInstall = ''
     mv $out/bin/{cmd,kubectl-doctor}
diff --git a/pkgs/applications/networking/cluster/kubedb-cli/default.nix b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
index ee6a241a230..8bfa519dee3 100644
--- a/pkgs/applications/networking/cluster/kubedb-cli/default.nix
+++ b/pkgs/applications/networking/cluster/kubedb-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubedb-cli";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "kubedb";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-b5LbA2qEsEA7J0djEMhDeBY9iV1cvGVtxTlmneQGKYY=";
+    sha256 = "sha256-hRLju3nVLy0eDgqGeReHaF8p7oOlpo1T0IbLq4h/uwg=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix b/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
index ce1974fe214..953a202170a 100644
--- a/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin-oidc/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "1.25.0";
+  version = "1.25.1";
 
   src = fetchFromGitHub {
     owner = "int128";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-orclZtmkdplTRvYkN7VotbynSQ9L2kvAPqP20j8QJ2s=";
+    sha256 = "sha256-BKJ6dZMGW+Md+YUEEgWtPdfiFiOP5Nfb+awx8FXB+bM=";
   };
 
   subPackages = ["."];
 
-  vendorSha256 = "sha256-i46G0lsRvh/PmM+pMYuAjoLMHWF1Uzbd8+EkjIId8KE=";
+  vendorSha256 = "sha256-mu4NHeYZBM4C5qpj2wRTLsRNLDvZGNkppKGDw621mp4=";
 
   # Rename the binary instead of symlinking to avoid conflict with the
   # Azure version of kubelogin
diff --git a/pkgs/applications/networking/cluster/kubelogin/default.nix b/pkgs/applications/networking/cluster/kubelogin/default.nix
index d5f04c14d57..d2ad103eee9 100644
--- a/pkgs/applications/networking/cluster/kubelogin/default.nix
+++ b/pkgs/applications/networking/cluster/kubelogin/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubelogin";
-  version = "0.0.10";
+  version = "0.0.11";
 
   src = fetchFromGitHub {
     owner = "Azure";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YLYyU3k3I74ZuczFZBwcJoJSfCR4B9Z1EbFupA+xkiE=";
+    sha256 = "sha256-+u+75Z2Efaq16g7kGNq1GHavXwtKvNO6dytniUr8mlE=";
   };
 
   vendorSha256 = "sha256-vJfTf9gD/qrsPAfJeMYLjGa90mYLOshgDehv2Fcl6xM=";
diff --git a/pkgs/applications/networking/cluster/kubeone/default.nix b/pkgs/applications/networking/cluster/kubeone/default.nix
index 2b9ca9df049..e08a3b46d15 100644
--- a/pkgs/applications/networking/cluster/kubeone/default.nix
+++ b/pkgs/applications/networking/cluster/kubeone/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "kubeone";
-  version = "1.3.3";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "kubermatic";
     repo = "kubeone";
     rev = "v${version}";
-    sha256 = "sha256-IgV1ULxwL17ECsm7MdRfQERcEVy9cEft2L7fHP3XCKo=";
+    sha256 = "sha256-uij5daVHKIfxx+8UTmU/HKSbf/RTRFuO8mCQdsC80qI=";
   };
 
-  vendorSha256 = "sha256-/rhV7JHuqejCTizcjKIkaJlbRcx7AfMcGqQYo6dlg48=";
+  vendorSha256 = "sha256-kI5i1us3Ooh603HOz9Y+HlfPUy/1J8z89/jvKEenpLw=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/applications/networking/cluster/kubergrunt/default.nix b/pkgs/applications/networking/cluster/kubergrunt/default.nix
index 4e945e45640..32130ee96d2 100644
--- a/pkgs/applications/networking/cluster/kubergrunt/default.nix
+++ b/pkgs/applications/networking/cluster/kubergrunt/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "kubergrunt";
-  version = "0.7.11";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = "kubergrunt";
     rev = "v${version}";
-    sha256 = "1224ssqdz9ak0vylyfbr9c2w0yfdp4hw9jh99qmfi2j5nhw9kzcc";
+    sha256 = "sha256-K94cGU+cFHOrAGXjHQFFFJYhZi9zNfdlGy5eb2DkcV8=";
   };
 
   vendorSha256 = "sha256-95rteSEMOBQnAw0QKuj5Yyi8n3xXGl0Tm97WiyTGxVw=";
diff --git a/pkgs/applications/networking/cluster/kubernetes/default.nix b/pkgs/applications/networking/cluster/kubernetes/default.nix
index 069b57a6b5e..8d11bc28017 100644
--- a/pkgs/applications/networking/cluster/kubernetes/default.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/default.nix
@@ -1,12 +1,12 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, removeReferencesTo
 , which
 , go
 , makeWrapper
 , rsync
 , installShellFiles
+, kubectl
 , nixosTests
 
 , components ? [
@@ -21,16 +21,16 @@
 
 stdenv.mkDerivation rec {
   pname = "kubernetes";
-  version = "1.22.6";
+  version = "1.23.4";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "kubernetes";
     rev = "v${version}";
-    sha256 = "sha256-NL00GOdkVLVHTlj1RK1+stssioy+0xbtiKn4FZnCuzs=";
+    sha256 = "sha256-srJHW/wvrFKKgxVwJB4h0FGeaT7iSJYOTtSeTkcR3FE=";
   };
 
-  nativeBuildInputs = [ removeReferencesTo makeWrapper which go rsync installShellFiles ];
+  nativeBuildInputs = [ makeWrapper which go rsync installShellFiles ];
 
   outputs = [ "out" "man" "pause" ];
 
@@ -51,12 +51,10 @@ stdenv.mkDerivation rec {
 
   WHAT = lib.concatStringsSep " " ([
     "cmd/kubeadm"
-    "cmd/kubectl"
   ] ++ components);
 
   postBuild = ''
     ./hack/update-generated-docs.sh
-    (cd build/pause/linux && cc pause.c -o pause)
   '';
 
   installPhase = ''
@@ -65,9 +63,14 @@ stdenv.mkDerivation rec {
       install -D _output/local/go/bin/''${p##*/} -t $out/bin
     done
 
-    install -D build/pause/linux/pause -t $pause/bin
+    cc build/pause/linux/pause.c -o pause
+    install -D pause -t $pause/bin
+
+    rm docs/man/man1/kubectl*
     installManPage docs/man/man1/*.[1-9]
 
+    ln -s ${kubectl}/bin/kubectl $out/bin/kubectl
+
     # Unfortunately, kube-addons-main.sh only looks for the lib file in either the
     # current working dir or in /opt. We have to patch this for now.
     substitute cluster/addons/addon-manager/kube-addons-main.sh $out/bin/kube-addons \
@@ -79,24 +82,22 @@ stdenv.mkDerivation rec {
 
     cp cluster/addons/addon-manager/kube-addons.sh $out/bin/kube-addons-lib.sh
 
-    for tool in kubeadm kubectl; do
-      installShellCompletion --cmd $tool \
-        --bash <($out/bin/$tool completion bash) \
-        --zsh <($out/bin/$tool completion zsh)
-    done
+    installShellCompletion --cmd kubeadm \
+      --bash <($out/bin/kubeadm completion bash) \
+      --zsh <($out/bin/kubeadm completion zsh)
     runHook postInstall
   '';
 
-  preFixup = ''
-    find $out/bin $pause/bin -type f -exec remove-references-to -t ${go} '{}' +
-  '';
+  disallowedReferences = [ go ];
+
+  GOFLAGS = [ "-trimpath" ];
 
   meta = with lib; {
     description = "Production-Grade Container Scheduling and Management";
     license = licenses.asl20;
     homepage = "https://kubernetes.io";
     maintainers = with maintainers; [ ] ++ teams.kubernetes.members;
-    platforms = platforms.unix;
+    platforms = platforms.linux;
   };
 
   passthru.tests = nixosTests.kubernetes;
diff --git a/pkgs/applications/networking/cluster/kubernetes/kubectl.nix b/pkgs/applications/networking/cluster/kubernetes/kubectl.nix
index fec93d8878e..b1c15458543 100644
--- a/pkgs/applications/networking/cluster/kubernetes/kubectl.nix
+++ b/pkgs/applications/networking/cluster/kubernetes/kubectl.nix
@@ -1,29 +1,37 @@
-{ stdenv, kubernetes, installShellFiles }:
+{ lib, stdenv, kubernetes }:
 
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "kubectl";
-  version = kubernetes.version;
 
-  # kubectl is currently part of the main distribution but will eventially be
-  # split out (see homepage)
-  dontUnpack = true;
-
-  nativeBuildInputs = [ installShellFiles ];
+  inherit (kubernetes)
+    disallowedReferences
+    GOFLAGS
+    nativeBuildInputs
+    postBuild
+    postPatch
+    src
+    version
+    ;
 
   outputs = [ "out" "man" ];
 
+  WHAT = "cmd/kubectl";
+
   installPhase = ''
-    install -D ${kubernetes}/bin/kubectl -t $out/bin
+    runHook preInstall
+    install -D _output/local/go/bin/kubectl -t $out/bin
 
-    installManPage "${kubernetes.man}/share/man/man1"/kubectl*
+    installManPage docs/man/man1/kubectl*
 
     installShellCompletion --cmd kubectl \
       --bash <($out/bin/kubectl completion bash) \
       --zsh <($out/bin/kubectl completion zsh)
+    runHook postInstall
   '';
 
   meta = kubernetes.meta // {
     description = "Kubernetes CLI";
     homepage = "https://github.com/kubernetes/kubectl";
+    platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/cluster/kuma/default.nix b/pkgs/applications/networking/cluster/kuma/default.nix
index b8fada3966c..b6d1ac47759 100644
--- a/pkgs/applications/networking/cluster/kuma/default.nix
+++ b/pkgs/applications/networking/cluster/kuma/default.nix
@@ -1,6 +1,6 @@
 { lib
 , fetchFromGitHub
-, buildGo117Module
+, buildGoModule
 , coredns
 , installShellFiles
 , isFull ? false
@@ -14,17 +14,17 @@
   ]
 }:
 
-buildGo117Module rec {
+buildGoModule rec {
   inherit pname ;
-  version = "1.4.0";
+  version = "1.4.1";
   tags = lib.optionals enableGateway ["gateway"];
-  vendorSha256 = "19rd450gmc51gmwa13991lbkva7r80d2camikkxmmgywyhrd06sf";
+  vendorSha256 = "sha256-9v+ti/JTAF4TLZ0uvzFvrB0YBnRD2E0Q6K2yicEX3Zw=";
 
   src = fetchFromGitHub {
     owner = "kumahq";
     repo = "kuma";
     rev = version;
-    sha256 = "0agib3w5s270n5rhg54m3p4f21s5fhdrhaks374j7l21njs7xhqb";
+    sha256 = "sha256-zx4rohkv6jm2abtd0I/uQMITkCuhY3StHMKoaTxce0Q=";
   };
 
   doCheck = false;
diff --git a/pkgs/applications/networking/cluster/lens/default.nix b/pkgs/applications/networking/cluster/lens/default.nix
index a2f13fdf9cd..66c507312c2 100644
--- a/pkgs/applications/networking/cluster/lens/default.nix
+++ b/pkgs/applications/networking/cluster/lens/default.nix
@@ -2,21 +2,22 @@
 
 let
   pname = "lens";
-  version = "5.2.6";
-  build = "${version}-latest.20211104.1";
+  version = "5.3.4";
+  build = "${version}-latest.20220120.1";
   name = "${pname}-${version}";
 
   src = fetchurl {
     url = "https://api.k8slens.dev/binaries/Lens-${build}.x86_64.AppImage";
-    sha256 = "1lkxzgwrgafraimpnciv89fs6r399275vb73drxlg5z83acacf5z";
-    name="${pname}.AppImage";
+    sha256 = "sha256-9vRLQFSocVkHAfgwdKSPhSAO4G/v/ANd0WQmilcZiVw=";
+    name = "${pname}.AppImage";
   };
 
   appimageContents = appimageTools.extractType2 {
     inherit name src;
   };
 
-in appimageTools.wrapType2 {
+in
+appimageTools.wrapType2 {
   inherit name src;
 
   profile = ''
diff --git a/pkgs/applications/networking/cluster/linkerd/generic.nix b/pkgs/applications/networking/cluster/linkerd/generic.nix
index 5601bad7104..7722a7109c2 100644
--- a/pkgs/applications/networking/cluster/linkerd/generic.nix
+++ b/pkgs/applications/networking/cluster/linkerd/generic.nix
@@ -1,9 +1,8 @@
-{ lib, fetchFromGitHub, buildGo117Module, installShellFiles }:
+{ lib, fetchFromGitHub, buildGoModule, installShellFiles }:
 
 { channel, version, sha256, vendorSha256 }:
 
-# Fix-Me: Unlock buildGoModule version when #154059 is merged.
-buildGo117Module rec {
+buildGoModule rec {
   pname = "linkerd-${channel}";
   inherit version vendorSha256;
 
diff --git a/pkgs/applications/networking/cluster/minikube/default.nix b/pkgs/applications/networking/cluster/minikube/default.nix
index 9b40f636bcb..d4a9ba4af7d 100644
--- a/pkgs/applications/networking/cluster/minikube/default.nix
+++ b/pkgs/applications/networking/cluster/minikube/default.nix
@@ -11,9 +11,9 @@
 
 buildGoModule rec {
   pname = "minikube";
-  version = "1.25.1";
+  version = "1.25.2";
 
-  vendorSha256 = "sha256-MnyXePsnhb1Tl76uAtVW/DLacE0etXREGsapgNiZbMo=";
+  vendorSha256 = "sha256-8QqRIWry15/xwBxEOexMEq57ol8riy+kW8WrQqr53Q8=";
 
   doCheck = false;
 
@@ -21,7 +21,7 @@ buildGoModule rec {
     owner = "kubernetes";
     repo = "minikube";
     rev = "v${version}";
-    sha256 = "sha256-pRNOVN9u27im9fkUawJYjuGHTW0N7L5oJa3fQ6DUO+4=";
+    sha256 = "sha256-WIk4ibq7jcqao0Qiz3mz9yfHdxTUlvtPuEh4gApSDBg=";
   };
 
   nativeBuildInputs = [ installShellFiles pkg-config which ];
diff --git a/pkgs/applications/networking/cluster/nerdctl/default.nix b/pkgs/applications/networking/cluster/nerdctl/default.nix
index bcbc8439c2f..9a3a5f3a3d5 100644
--- a/pkgs/applications/networking/cluster/nerdctl/default.nix
+++ b/pkgs/applications/networking/cluster/nerdctl/default.nix
@@ -10,16 +10,16 @@
 
 buildGoModule rec {
   pname = "nerdctl";
-  version = "0.16.1";
+  version = "0.17.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-s116SwgOj5xzfoz/iw17xubEKzPUx912QHk1+C6YhE8=";
+    sha256 = "sha256-6v4oZmP/FBtHAdnxnbd/HFZln2LGOVGtMc1GyRV2aqs=";
   };
 
-  vendorSha256 = "sha256-VvK4pHmV1WkIzQDHiFVzjurigP3F4xYl0DJCnImSx3s=";
+  vendorSha256 = "sha256-joCJ4acSmClBJLZkW8DFeb0oha1Zowcpoaw6Elu+HrY=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix b/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix
index 8eab4d793e6..6329ff9ed11 100644
--- a/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix
+++ b/pkgs/applications/networking/cluster/nomad-autoscaler/default.nix
@@ -1,9 +1,9 @@
-{ lib, fetchFromGitHub, buildGoModule, go, removeReferencesTo, buildEnv }:
+{ lib, fetchFromGitHub, buildGoModule, buildEnv }:
 
 let
   package = buildGoModule rec {
     pname = "nomad-autoscaler";
-    version = "0.3.4";
+    version = "0.3.6";
 
     outputs = [
       "out"
@@ -25,26 +25,24 @@ let
       owner = "hashicorp";
       repo = "nomad-autoscaler";
       rev = "v${version}";
-      sha256 = "sha256-SmlcQH+K/axl6Gj+bX0Quk6K/usP0c1hWnIdFjS1dn8=";
+      sha256 = "sha256-fK5GsszNhz/WP0zVk2lOfU/gwYijdQa5qhNYO33RhXc=";
     };
 
-    vendorSha256 = "sha256-g3INNvAQ124kBJSe5cnsIq1y8sWpPYKLwJONgbIUaoM=";
+    vendorSha256 = "sha256-Duzjpl011mj/SNoX/jQGMXwqUHPDz7iIMygRmK1vC3Q=";
 
-    subPackages = [ "." ];
-
-    nativeBuildInputs = [ removeReferencesTo ];
-
-    # buildGoModule overrides normal buildPhase, can't use makeTargets
-    postBuild = ''
+    buildPhase = ''
+      runHook preBuild
       make build plugins
+      runHook postBuild
     '';
 
     # tries to pull tests from network, and fails silently anyway
     doCheck = false;
 
-    postInstall = ''
-      mkdir -p $bin/bin
-      mv $out/bin/nomad-autoscaler $bin/bin/nomad-autoscaler
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $bin/bin $out/bin
+      mv bin/nomad-autoscaler $bin/bin
       ln -s $bin/bin/nomad-autoscaler $out/bin/nomad-autoscaler
 
       for d in $outputs; do
@@ -54,7 +52,6 @@ let
 
       # have out contain all of the plugins
       for plugin in bin/plugins/*; do
-        remove-references-to -t ${go} "$plugin"
         cp "$plugin" $out/share/
       done
 
@@ -73,6 +70,7 @@ let
       mv bin/plugins/prometheus $prometheus/share/
       mv bin/plugins/target-value $target_value/share/
       mv bin/plugins/threshold $threshold/share/
+      runHook postInstall
     '';
 
     # make toggle-able, so that overrided versions can disable this check if
diff --git a/pkgs/applications/networking/cluster/nomad-pack/default.nix b/pkgs/applications/networking/cluster/nomad-pack/default.nix
new file mode 100644
index 00000000000..93d1d3badad
--- /dev/null
+++ b/pkgs/applications/networking/cluster/nomad-pack/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, fetchFromGitHub
+, buildGoModule
+}:
+
+buildGoModule rec {
+  pname = "nomad-pack";
+  version = "2022-02-11";
+  rev   = "568ac5e42bc41172a1fa3c8b18af2f42b9e341ff";
+
+  src = fetchFromGitHub {
+    owner = "hashicorp";
+    repo = pname;
+    inherit rev;
+    sha256 = "sha256-0hvnGdUT72sWvMER67ZBxcC+VTbuFMIos2NudOjeTB8=";
+  };
+
+  vendorSha256 = "sha256-wmoXZIogKj4i9+AsEjY7QaT2Tn4LQyGQcEFHrRO0W9s=";
+
+  # skip running go tests as they require network access
+  doCheck = false;
+
+  doInstallCheck = true;
+  installCheckPhase = ''
+    runHook preInstallCheck
+    $out/bin/nomad-pack --version
+    runHook postInstallCheck
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/hashicorp/nomad-pack";
+    changelog = "https://github.com/hashicorp/nomad-pack/blob/main/CHANGELOG.md";
+    description = "Nomad Pack is a templating and packaging tool used with HashiCorp Nomad.";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ techknowlogick ];
+  };
+
+}
diff --git a/pkgs/applications/networking/cluster/nomad/1.2.nix b/pkgs/applications/networking/cluster/nomad/1.2.nix
index 3eb99e73703..81a31de7e50 100644
--- a/pkgs/applications/networking/cluster/nomad/1.2.nix
+++ b/pkgs/applications/networking/cluster/nomad/1.2.nix
@@ -6,7 +6,7 @@
 
 callPackage ./generic.nix {
   inherit buildGoModule nvidia_x11 nvidiaGpuSupport;
-  version = "1.2.3";
-  sha256 = "0qjj1pnq2yv4r8dv03m08ii4118drjnswf4n1r95dqh8j3bymv5i";
-  vendorSha256 = "0djh2184yg4b656wbhzxg1q1hsdnbrwsk79vc0426d0mqbzyy7dx";
+  version = "1.2.6";
+  sha256 = "1ik8v1jznky9y4m85bzxgyba256zqmm5fs6d5xsvp5rzcylcdwgd";
+  vendorSha256 = "1mbvpssf7haaxzx6ka9qzixm49jck8i89w8ymkaddgmxhlbxjv05";
 }
diff --git a/pkgs/applications/networking/cluster/odo/default.nix b/pkgs/applications/networking/cluster/odo/default.nix
new file mode 100644
index 00000000000..be85981f7bf
--- /dev/null
+++ b/pkgs/applications/networking/cluster/odo/default.nix
@@ -0,0 +1,38 @@
+{ lib, buildGoModule, fetchFromGitHub, testVersion, odo }:
+
+buildGoModule rec {
+  pname = "odo";
+  version = "2.5.0";
+
+  src = fetchFromGitHub {
+    owner = "redhat-developer";
+    repo = "odo";
+    rev = "v${version}";
+    sha256 = "KYJkCoF80UPsebWwxpc5gIfmT3Aj4OU8r6dDkaWXqbY=";
+  };
+
+  vendorSha256 = null;
+
+  buildPhase = ''
+    make bin
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp -a odo $out/bin
+  '';
+
+  passthru.tests.version = testVersion {
+    package = odo;
+    command = "odo version";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    description = "Developer-focused CLI for OpenShift and Kubernetes";
+    license = licenses.asl20;
+    homepage = "odo.dev";
+    maintainers = with maintainers; [ stehessel ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/networking/cluster/openshift/default.nix b/pkgs/applications/networking/cluster/openshift/default.nix
index a1d4b146837..dd542f9ffac 100644
--- a/pkgs/applications/networking/cluster/openshift/default.nix
+++ b/pkgs/applications/networking/cluster/openshift/default.nix
@@ -33,9 +33,16 @@ in buildGoPackage rec {
 
   goPackagePath = "github.com/openshift/origin";
 
-  buildInputs = [ libkrb5 ncurses ];
+  buildInputs = [ libkrb5 ];
 
-  nativeBuildInputs = [ which rsync go-bindata clang installShellFiles ];
+  nativeBuildInputs = [
+    clang
+    go-bindata
+    installShellFiles
+    ncurses
+    rsync
+    which
+  ];
 
   patchPhase = ''
     patchShebangs ./hack
diff --git a/pkgs/applications/networking/cluster/qbec/default.nix b/pkgs/applications/networking/cluster/qbec/default.nix
index a83bf805d87..3d34a65e292 100644
--- a/pkgs/applications/networking/cluster/qbec/default.nix
+++ b/pkgs/applications/networking/cluster/qbec/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "qbec";
-  version = "0.14.8";
+  version = "0.15.1";
 
   src = fetchFromGitHub {
     owner = "splunk";
     repo = "qbec";
     rev = "v${version}";
-    sha256 = "sha256-awuYmazBx7zv/WuDsePzdWNRcpAzLK7lf4L2W2Jbt3A=";
+    sha256 = "sha256-cXU+LnOCsGg+iwH5c7cKVi2Htw45AGxyjJFKXKbTkUo=";
   };
 
-  vendorSha256 = "sha256-VOBRQJzATaY9DNRhZvYTRpoISikbzUAwS/1hUfce/44=";
+  vendorSha256 = "sha256-CiVAzFN/ygIiyhZKYtJ197TZO3ppL/emWSj4hAlIanc=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/cluster/sonobuoy/default.nix b/pkgs/applications/networking/cluster/sonobuoy/default.nix
index 1d2fdea35d0..cb0e9adaf26 100644
--- a/pkgs/applications/networking/cluster/sonobuoy/default.nix
+++ b/pkgs/applications/networking/cluster/sonobuoy/default.nix
@@ -1,11 +1,11 @@
 { lib, buildGoModule, fetchFromGitHub }:
 
 # SHA of ${version} for the tool's help output. Unfortunately this is needed in build flags.
-let rev = "0665cd322b11bb40c2774776de765c38d8104bed";
+let rev = "6cf7519717a14c9a3e495fcd4588fa4eb16d2be2";
 in
 buildGoModule rec {
   pname = "sonobuoy";
-  version = "0.56.0"; # Do not forget to update `rev` above
+  version = "0.56.2"; # Do not forget to update `rev` above
 
   ldflags =
     let t = "github.com/vmware-tanzu/sonobuoy";
@@ -20,7 +20,7 @@ buildGoModule rec {
     owner = "vmware-tanzu";
     repo = "sonobuoy";
     rev = "v${version}";
-    sha256 = "sha256-78skqo3sq567s3/XN54xtC0mefDY3Io3BD0d+JP7k5Q=";
+    sha256 = "sha256-KYpBubNHAstKUtf9Ys4VCWyZ+y4HjzVMs9EtWzVFviQ=";
   };
 
   vendorSha256 = "sha256-qKXm39CwrTcXENIMh2BBS3MUlhJvmTTA3UzZNpF0PCc=";
diff --git a/pkgs/applications/networking/cluster/talosctl/default.nix b/pkgs/applications/networking/cluster/talosctl/default.nix
index 819bf4741aa..8613abd9947 100644
--- a/pkgs/applications/networking/cluster/talosctl/default.nix
+++ b/pkgs/applications/networking/cluster/talosctl/default.nix
@@ -1,19 +1,24 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
-
-buildGo117Module rec {
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+let
+  # look for GO_LDFLAGS getting set in the Makefile
+  version = "0.14.2";
+  sha256 = "sha256-sQtry94T5cDO+836D/p/8ptQi3WYKDBLr1QZyEXdLQI=";
+  vendorSha256 = "sha256-cd2iNMxWmkSWqqkPLYocUG+fCUXoeUXEuGQxjUWQnXk=";
+  pkgsVersion = "0.9.0-4-gc875fbe";
+  extrasVersion = "0.7.0-2-gb4c9d21";
+in
+buildGoModule rec {
   pname = "talosctl";
-  version = "0.14.1";
+  inherit version vendorSha256;
+  # nixpkgs-update: no auto update
 
   src = fetchFromGitHub {
     owner = "talos-systems";
     repo = "talos";
     rev = "v${version}";
-    sha256 = "sha256-JeZ+Q6LTDJtoxfu4mJNc3wv3Y6OPcIUvgnozj9mWwLw=";
+    inherit sha256;
   };
 
-  vendorSha256 = "sha256-ujbEWvcNJJOUegVgAGEPwYF02TiqD1lZELvqc/Gmb4A=";
-
-  # look for GO_LDFLAGS getting set in the Makefile
   ldflags =
     let
       versionPkg = "github.com/talos-systems/talos/pkg/version"; # VERSION_PKG
@@ -24,8 +29,8 @@ buildGo117Module rec {
       "-X ${versionPkg}.Name=Talos"
       "-X ${versionPkg}.SHA=${src.rev}" # should be the hash, but as we build from tags, this needs to do
       "-X ${versionPkg}.Tag=${src.rev}"
-      "-X ${versionPkg}.PkgsVersion=v0.9.0-2-g447ce75" # PKGS
-      "-X ${versionPkg}.ExtrasVersion=v0.7.0-1-gd6b73a7" # EXTRAS
+      "-X ${versionPkg}.PkgsVersion=v${pkgsVersion}" # PKGS
+      "-X ${versionPkg}.ExtrasVersion=v${extrasVersion}" # EXTRAS
       "-X ${imagesPkgs}.Username=talos-systems" # USERNAME
       "-X ${imagesPkgs}.Registry=ghcr.io" # REGISTRY
       "-X ${mgmtHelpersPkg}.ArtifactsPath=_out" # ARTIFACTS
@@ -33,6 +38,15 @@ buildGo117Module rec {
 
   subPackages = [ "cmd/talosctl" ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
+  postInstall = ''
+    installShellCompletion --cmd talosctl \
+      --bash <($out/bin/talosctl completion bash) \
+      --fish <($out/bin/talosctl completion fish) \
+      --zsh <($out/bin/talosctl completion zsh)
+  '';
+
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
index d29888aee06..9f3c046a266 100644
--- a/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
+++ b/pkgs/applications/networking/cluster/tektoncd-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tektoncd-cli";
-  version = "0.21.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "tektoncd";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-VGdYnynEm0ShG96W0uKiWBbUy/EitX3od5Nnho6T0pg=";
+    sha256 = "sha256-AmJN7hnYuhxYNG/qs7yv3phhffYKVaM8f7irhi9wRfA=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/applications/networking/cluster/temporal/default.nix b/pkgs/applications/networking/cluster/temporal/default.nix
index a03f69a9fc0..2475dd0f1d9 100644
--- a/pkgs/applications/networking/cluster/temporal/default.nix
+++ b/pkgs/applications/networking/cluster/temporal/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "temporal";
-  version = "1.12.0";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "temporalio";
     repo = "temporal";
     rev = "v${version}";
-    sha256 = "1gdks7pzaqrsdihh2m3v597x0dw2qww95jlznj0h112jgicanimj";
+    sha256 = "sha256-5Tu838086qgIa2fqda2xi7vn4JbkENVJH4XU3NwW7Ic=";
   };
 
-  vendorSha256 = "sha256-dGmd6tCUKoK4uwhB5kXGOpXemtLn0VssabDE4iQWEAw=";
+  vendorSha256 = "sha256-caRBgkuHQ38r6OsKQCJ2pxAe8s6mc4g/QCIsCEXvY3M=";
 
   # Errors:
   #  > === RUN   TestNamespaceHandlerGlobalNamespaceDisabledSuite
@@ -22,9 +22,10 @@ buildGoModule rec {
     runHook preInstall
     mkdir -p $out/bin
     install -Dm755 "$GOPATH/bin/cli" -T $out/bin/tctl
-    install -Dm755 "$GOPATH/bin/cassandra" -T $out/bin/temporal-cassandra
+    install -Dm755 "$GOPATH/bin/authorization" -T $out/bin/tctl-authorization-plugin
     install -Dm755 "$GOPATH/bin/server" -T $out/bin/temporal-server
-    install -Dm755 "$GOPATH/bin/sql" -T $out/bin/temporal-sql
+    install -Dm755 "$GOPATH/bin/cassandra" -T $out/bin/temporal-cassandra-tool
+    install -Dm755 "$GOPATH/bin/sql" -T $out/bin/temporal-sql-tool
     runHook postInstall
   '';
 
@@ -35,9 +36,9 @@ buildGoModule rec {
 
   meta = with lib; {
     description = "A microservice orchestration platform which enables developers to build scalable applications without sacrificing productivity or reliability";
-    downloadPage = "https://github.com/temporalio/temporal";
     homepage = "https://temporal.io";
+    changelog = "https://github.com/temporalio/temporal/releases/tag/v${version}";
     license = licenses.mit;
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ titanous ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/terraform-providers/default.nix b/pkgs/applications/networking/cluster/terraform-providers/default.nix
index 8690e65be88..93be46bc792 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/default.nix
+++ b/pkgs/applications/networking/cluster/terraform-providers/default.nix
@@ -10,42 +10,42 @@ let
   # Our generic constructor to build new providers.
   #
   # Is designed to combine with the terraform.withPlugins implementation.
-  mkProvider =
-    { owner
-    , repo
-    , rev
-    , version
-    , sha256
-    , vendorSha256 ? throw "vendorSha256 missing: please use `buildGoModule`" /* added 2022/01 */
-    , deleteVendor ? false
-    , proxyVendor ? false
-    , # Looks like "registry.terraform.io/vancluever/acme"
-      provider-source-address
-    }@attrs:
-    buildGoModule {
-      pname = repo;
-      inherit vendorSha256 version deleteVendor proxyVendor;
-      subPackages = [ "." ];
-      doCheck = false;
-      # https://github.com/hashicorp/terraform-provider-scaffolding/blob/a8ac8375a7082befe55b71c8cbb048493dd220c2/.goreleaser.yml
-      # goreleaser (used for builds distributed via terraform registry) requires that CGO is disabled
-      CGO_ENABLED = 0;
-      ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${rev}" ];
-      src = fetchFromGitHub {
-        inherit owner repo rev sha256;
-      };
+  mkProvider = lib.makeOverridable
+    ({ owner
+     , repo
+     , rev
+     , version
+     , sha256
+     , vendorSha256 ? throw "vendorSha256 missing: please use `buildGoModule`" /* added 2022/01 */
+     , deleteVendor ? false
+     , proxyVendor ? false
+     , # Looks like "registry.terraform.io/vancluever/acme"
+       provider-source-address
+     }@attrs:
+      buildGoModule {
+        pname = repo;
+        inherit vendorSha256 version deleteVendor proxyVendor;
+        subPackages = [ "." ];
+        doCheck = false;
+        # https://github.com/hashicorp/terraform-provider-scaffolding/blob/a8ac8375a7082befe55b71c8cbb048493dd220c2/.goreleaser.yml
+        # goreleaser (used for builds distributed via terraform registry) requires that CGO is disabled
+        CGO_ENABLED = 0;
+        ldflags = [ "-s" "-w" "-X main.version=${version}" "-X main.commit=${rev}" ];
+        src = fetchFromGitHub {
+          inherit owner repo rev sha256;
+        };
 
-      # Move the provider to libexec
-      postInstall = ''
-        dir=$out/libexec/terraform-providers/${provider-source-address}/${version}/''${GOOS}_''${GOARCH}
-        mkdir -p "$dir"
-        mv $out/bin/* "$dir/terraform-provider-$(basename ${provider-source-address})_${version}"
-        rmdir $out/bin
-      '';
+        # Move the provider to libexec
+        postInstall = ''
+          dir=$out/libexec/terraform-providers/${provider-source-address}/${version}/''${GOOS}_''${GOARCH}
+          mkdir -p "$dir"
+          mv $out/bin/* "$dir/terraform-provider-$(basename ${provider-source-address})_${version}"
+          rmdir $out/bin
+        '';
 
-      # Keep the attributes around for later consumption
-      passthru = attrs;
-    };
+        # Keep the attributes around for later consumption
+        passthru = attrs;
+      });
 
   list = lib.importJSON ./providers.json;
 
@@ -70,7 +70,6 @@ let
     in
     lib.optionalAttrs (config.allowAliases or false) {
       arukas = archived "2022/01";
-      bitbucket = archived "2022/01";
       chef = archived "2022/01";
       cherryservers = archived "2022/01";
       clc = archived "2022/01";
diff --git a/pkgs/applications/networking/cluster/terraform-providers/providers.json b/pkgs/applications/networking/cluster/terraform-providers/providers.json
index 3a80e788c49..d74ddedb31f 100644
--- a/pkgs/applications/networking/cluster/terraform-providers/providers.json
+++ b/pkgs/applications/networking/cluster/terraform-providers/providers.json
@@ -3,47 +3,47 @@
     "owner": "CiscoDevNet",
     "provider-source-address": "registry.terraform.io/CiscoDevNet/aci",
     "repo": "terraform-provider-aci",
-    "rev": "v1.2.0",
-    "sha256": "1jxnamd701fjz0y62k229njrxa3ijmr1m1dszn0x3mpak5qgw7li",
+    "rev": "v2.0.0",
+    "sha256": "1v62lfm9w8d8iq70nwjrry52zxh5ixmxfp0dlmxvck7qjzcng8rg",
     "vendorSha256": null,
-    "version": "1.2.0"
+    "version": "2.0.0"
   },
   "acme": {
     "owner": "vancluever",
     "provider-source-address": "registry.terraform.io/vancluever/acme",
     "repo": "terraform-provider-acme",
-    "rev": "v2.7.1",
-    "sha256": "0gnq8jm31v0q2a4v310cjrrdc7y17c9vi326c6x9cs3lgjvn27m2",
-    "vendorSha256": "1wssw8x8zlrgx51ij0ghhwsbyzfl2r1qy4aqv03v705xipil8yn3",
-    "version": "2.7.1"
+    "rev": "v2.8.0",
+    "sha256": "06wjvjsh8qgncrbdhziqjd4pgp550q21p0xm4igdx80gd7541hr1",
+    "vendorSha256": "1gpbc72q7mjyjxk75dyfi3j2fk6glgz0a15m2pq7clyc35kapnkc",
+    "version": "2.8.0"
   },
   "aiven": {
     "owner": "aiven",
     "provider-source-address": "registry.terraform.io/aiven/aiven",
     "repo": "terraform-provider-aiven",
-    "rev": "v2.5.0",
-    "sha256": "1x37bnykn28hmb80qi530zgk6jfqpk97nswrm0hdw8x5vac4v63a",
-    "vendorSha256": "0ldk06dj72551b6djsq7vil0hzfsp3ixwh3ikqb40shsdq10iplx",
-    "version": "2.5.0"
+    "rev": "v2.7.0",
+    "sha256": "12n97z3r5bz7hwgcz193x90n7ibk4fdph7pqxwwinrvlc6zb7hz6",
+    "vendorSha256": "12lj7p74mhiy30fhc12ihbf827axlbxhbfzr10iwwhb0nydsfiyl",
+    "version": "2.7.0"
   },
   "akamai": {
     "owner": "akamai",
     "provider-source-address": "registry.terraform.io/akamai/akamai",
     "repo": "terraform-provider-akamai",
-    "rev": "v1.9.1",
-    "sha256": "17a3ml4h1b1480z9dzppig20jx9mgldnmpz8cn2x8qgzbpiqz3hs",
-    "vendorSha256": "0l50hy4cy360g6adbhhbl4x8hagma9zfb3yyzk6vbslal9m4kd6j",
-    "version": "1.9.1"
+    "rev": "v1.10.1",
+    "sha256": "0gbvq5hlibqxch4igicsyfqfbvm9pdz4901ywaabnd80jmsfhv4c",
+    "vendorSha256": "0rzxfybxdsl99mzr5r5amammpsjv66fiakialfws696mz915zz4k",
+    "version": "1.10.1"
   },
   "alicloud": {
     "deleteVendor": true,
     "owner": "aliyun",
     "provider-source-address": "registry.terraform.io/aliyun/alicloud",
     "repo": "terraform-provider-alicloud",
-    "rev": "v1.153.0",
-    "sha256": "1h37sxzkngmikvmyj9isx45vcpd31ml47f4r6ii1h2l69182hsqs",
+    "rev": "v1.157.0",
+    "sha256": "02zsp7kxvg6i7wzrx6qigjsvxmmz4rhpjb36qz1jwn3dzpx6dyv1",
     "vendorSha256": "18chs2723i2cxhhm649mz52pp6wrfqzxgk12zxq9idrhicchqnzg",
-    "version": "1.153.0"
+    "version": "1.157.0"
   },
   "ansible": {
     "owner": "nbering",
@@ -67,10 +67,10 @@
     "owner": "alexkappa",
     "provider-source-address": "registry.terraform.io/alexkappa/auth0",
     "repo": "terraform-provider-auth0",
-    "rev": "v0.26.1",
-    "sha256": "03nzwsda6n1nycpk2w87b8fj6aqzid8i2fa29qd9skwplm7hyjfk",
-    "vendorSha256": "0k6lylkcdvm0piaic8hdbhg1jf1vzc897w1sq7v57brx7586h3sc",
-    "version": "0.26.1"
+    "rev": "v0.26.2",
+    "sha256": "1n9gn7zsdygdr2ybki7xz2snp3fygls6myb1w5zndby497kgxrkw",
+    "vendorSha256": "1x61f7vz73m2q6pdb6ddy27j4npiwrrlgzvd90zrcc0yj22h6mms",
+    "version": "0.26.2"
   },
   "avi": {
     "owner": "vmware",
@@ -85,37 +85,37 @@
     "owner": "AviatrixSystems",
     "provider-source-address": "registry.terraform.io/AviatrixSystems/aviatrix",
     "repo": "terraform-provider-aviatrix",
-    "rev": "v2.20.3",
-    "sha256": "1k3sdfn0np9nzvc0bfc2wi7ixbrv0ikmzwyh103jfppidkasy5yq",
+    "rev": "v2.21.0-6.6.ga",
+    "sha256": "0svims34vw8xplza77flp675r90rsh9gj8cb5c02knnh4lgf7ffv",
     "vendorSha256": null,
-    "version": "2.20.3"
+    "version": "2.21.0-6.6.ga"
   },
   "aws": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/aws",
     "repo": "terraform-provider-aws",
-    "rev": "v3.73.0",
-    "sha256": "0la188dljw15l09j2farlhgri0vhrlbmsay7q1ar2y4ralqlsgl8",
-    "vendorSha256": "1h2x1318ax4qdy261wm8pqxq21ra50hymcykhw6mhj5lqxcb5r5z",
-    "version": "3.73.0"
+    "rev": "v4.2.0",
+    "sha256": "1ijspv7bf6qi4s3k58vbaz4gbk6y60h7jrml2wjn6mas6pchiy0f",
+    "vendorSha256": "09p029a5qqhf28afhcs5pk2px18x2q6kc16xzjzmzpisvnfl4hfb",
+    "version": "4.2.0"
   },
   "azuread": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azuread",
     "repo": "terraform-provider-azuread",
-    "rev": "v2.15.0",
-    "sha256": "1gjx91svfg25x0hlx6mfam40615x278b9vxsy5p88s3dl6xs3hdv",
+    "rev": "v2.18.0",
+    "sha256": "06l4w9g4p48gnb9c9mmnydvpyr89f8rijpf103ndsg6ack6k4mg2",
     "vendorSha256": null,
-    "version": "2.15.0"
+    "version": "2.18.0"
   },
   "azurerm": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/azurerm",
     "repo": "terraform-provider-azurerm",
-    "rev": "v2.93.0",
-    "sha256": "0akacaih0smdjxh9ssdir1j248m5bpcc4wpwhykb7922yvj581ds",
+    "rev": "v2.97.0",
+    "sha256": "0a95xq2bk6a1yas2kxfq30s41s2jgv2rjvz4y7m34wlldd9qxfhg",
     "vendorSha256": null,
-    "version": "2.93.0"
+    "version": "2.97.0"
   },
   "azurestack": {
     "owner": "hashicorp",
@@ -144,23 +144,32 @@
     "vendorSha256": null,
     "version": "1.12.2"
   },
+  "bitbucket": {
+    "owner": "DrFaust92",
+    "provider-source-address": "registry.terraform.io/DrFaust92/bitbucket",
+    "repo": "terraform-provider-bitbucket",
+    "rev": "v2.4.1",
+    "sha256": "07y0biab2g6plkyp8scqf7b12alijnxq2zqqr05lbm6wgrc22kvk",
+    "vendorSha256": null,
+    "version": "2.4.1"
+  },
   "brightbox": {
     "owner": "brightbox",
     "provider-source-address": "registry.terraform.io/brightbox/brightbox",
     "repo": "terraform-provider-brightbox",
-    "rev": "v2.0.6",
-    "sha256": "0k3k6d0rnvs1r2fb22q37g10zi0wq9kvakvj6zw97hkfld9wrqfj",
-    "vendorSha256": "07mznpp2mr1n9izgk2s8aibfvqsamj533666s46x1k49p0sh7lqx",
-    "version": "2.0.6"
+    "rev": "v2.1.1",
+    "sha256": "0gscxy921h8wkr40pi86dfx62z2jl0kkvnkfw7ab7xswz63h1ilm",
+    "vendorSha256": "1ij21y7lx6599b87vlz31mwykj0qam62w7776d6ar99pc0zl8r8k",
+    "version": "2.1.1"
   },
   "checkly": {
     "owner": "checkly",
     "provider-source-address": "registry.terraform.io/checkly/checkly",
     "repo": "terraform-provider-checkly",
-    "rev": "v1.4.0-rc1",
-    "sha256": "125ng4yzsmnbzgvwn3d2070cxnp3jvzpp8m9sc95q9x7dprbxzvl",
-    "vendorSha256": "1dkij2anw0cy8h2pv8h9a0cr0r9skpcc0j26bggspigk8qa4nzsx",
-    "version": "1.4.0-rc1"
+    "rev": "v1.4.1",
+    "sha256": "15biy4gm8lwmqm1s5rjr0d77vy4mgyjwaa3wydrna1655w3rgkr6",
+    "vendorSha256": "0pjxrdpsn99g6hjp0flrk7czjb05ibnsjcggrvvpwzrbj55rqzgd",
+    "version": "1.4.1"
   },
   "checkpoint": {
     "deleteVendor": true,
@@ -185,10 +194,10 @@
     "owner": "cloudflare",
     "provider-source-address": "registry.terraform.io/cloudflare/cloudflare",
     "repo": "terraform-provider-cloudflare",
-    "rev": "v3.7.0",
-    "sha256": "1d1wljk033b9j5sx01xjv5jmclw79f2f21s8zsix036mmzvaiswb",
-    "vendorSha256": "1g3fyxrdqa4ds6n9pcw2mvi8nfiz4dna57ssvggfwic4jl89q7zm",
-    "version": "3.7.0"
+    "rev": "v3.9.1",
+    "sha256": "02kyjf2mizvxv1a2fkw2wsk0gmilj83sj3qv1d7g0wxxkxx00nd2",
+    "vendorSha256": "167jafxr4g43y9gvqjq5z7vd9cyf15d69wbrdvqsfzj8sszqfq5l",
+    "version": "3.9.1"
   },
   "cloudfoundry": {
     "owner": "cloudfoundry-community",
@@ -239,10 +248,10 @@
     "owner": "poseidon",
     "provider-source-address": "registry.terraform.io/poseidon/ct",
     "repo": "terraform-provider-ct",
-    "rev": "v0.9.1",
-    "sha256": "1d8q6ffh64v46r80vmbpsgmjw1vg6y26hpq3nz2h5mvqm0fqya9r",
-    "vendorSha256": "0zi64rki932x343iavwb7w5h5ripca3c2534mb91liym37vgkykv",
-    "version": "0.9.1"
+    "rev": "v0.9.2",
+    "sha256": "104j34b1m110fdya21k4rz03j1yba4a9cpm7hq13i8hc2diqjqnc",
+    "vendorSha256": "0qk83ppnwkwvj85dh9p0cv6a0nv8l8zlf4k74cy3m0bqym4ad0qk",
+    "version": "0.9.2"
   },
   "datadog": {
     "owner": "DataDog",
@@ -266,10 +275,10 @@
     "owner": "digitalocean",
     "provider-source-address": "registry.terraform.io/digitalocean/digitalocean",
     "repo": "terraform-provider-digitalocean",
-    "rev": "v2.17.0",
-    "sha256": "0in6xg4kgqy1izi8zapdi0f6dsni3i27fxh1l4sqp5kwh3vgpn0d",
+    "rev": "v2.17.1",
+    "sha256": "0dfw4sjmsfzrs28gf5k4vqjs6phwa6w3pwi7fpbngnw6l2r4m6h9",
     "vendorSha256": null,
-    "version": "2.17.0"
+    "version": "2.17.1"
   },
   "dme": {
     "owner": "DNSMadeEasy",
@@ -293,19 +302,19 @@
     "owner": "dnsimple",
     "provider-source-address": "registry.terraform.io/dnsimple/dnsimple",
     "repo": "terraform-provider-dnsimple",
-    "rev": "v0.11.0",
-    "sha256": "0w5lz9lz5jfvpn87d7xzpjimvh6wnwqfwk6masrhiw88h10pgd7n",
+    "rev": "v0.11.1",
+    "sha256": "0jzw1kjykbka59kx30xm3qicjb6fdmm5l4f2dr8g7nxdaqnxri0s",
     "vendorSha256": "06wggchs5khzyg6fd9s0qj76awnw28s7l278awanqimqgqajijkj",
-    "version": "0.11.0"
+    "version": "0.11.1"
   },
   "docker": {
     "owner": "kreuzwerker",
     "provider-source-address": "registry.terraform.io/kreuzwerker/docker",
     "repo": "terraform-provider-docker",
-    "rev": "v2.15.0",
-    "sha256": "0fk4i8hi0x40rgcnq40j4jv12wsn9kn974h8qwhzxnd66n0xbnv0",
-    "vendorSha256": "0ax2368nhi6hfs4zwf84dqnf5ijyy93gz0brlfk89m7d2a90gfkp",
-    "version": "2.15.0"
+    "rev": "v2.16.0",
+    "sha256": "0bh27al9s6zczdz208lr70qab517lsazpi708z6711pgns7qhwjm",
+    "vendorSha256": "0ykfmksffcc62xwni9dqwgj3vlcmzf6paz6kviljib6sv9vqf0pm",
+    "version": "2.16.0"
   },
   "dome9": {
     "owner": "dome9",
@@ -320,10 +329,10 @@
     "owner": "phillbaker",
     "provider-source-address": "registry.terraform.io/phillbaker/elasticsearch",
     "repo": "terraform-provider-elasticsearch",
-    "rev": "v2.0.0-beta.3",
-    "sha256": "1a3jrj93yr22srs4rwk4j1kydhpmkic0aqxrklg7v9ri7rdwx36s",
+    "rev": "v2.0.0-beta.4",
+    "sha256": "0ypw916sziy8dhvbv96f7d4as08ps18xxx8h6ip69mk74vf029sm",
     "vendorSha256": "1w92k895ikrqm9n1hf36wlh9nq278vifl3r14v0rxa8g9awizfdr",
-    "version": "2.0.0-beta.3"
+    "version": "2.0.0-beta.4"
   },
   "exoscale": {
     "owner": "exoscale",
@@ -347,28 +356,28 @@
     "owner": "fastly",
     "provider-source-address": "registry.terraform.io/fastly/fastly",
     "repo": "terraform-provider-fastly",
-    "rev": "v0.41.0",
-    "sha256": "096dwysa1awyb4a1fay9sw1i784cki8q4x141f9gan5w1qwns89y",
+    "rev": "v1.0.0",
+    "sha256": "0rpggjsnxwz3rd93nxqr0w2addscxw498mf1mjp3mvkj1f3r9afi",
     "vendorSha256": null,
-    "version": "0.41.0"
+    "version": "1.0.0"
   },
   "flexibleengine": {
     "owner": "FlexibleEngineCloud",
     "provider-source-address": "registry.terraform.io/FlexibleEngineCloud/flexibleengine",
     "repo": "terraform-provider-flexibleengine",
-    "rev": "v1.26.0",
-    "sha256": "1n22jll76gw3cxnyi2xfzh3mh0g9912rmkqpps7fid0imaz5jlck",
+    "rev": "v1.27.0",
+    "sha256": "0xc0a1gzdld039b4vlivf9b8g3pjja6pfzyqhjx0iy01akm1a9cc",
     "vendorSha256": null,
-    "version": "1.26.0"
+    "version": "1.27.0"
   },
   "fortios": {
     "owner": "fortinetdev",
     "provider-source-address": "registry.terraform.io/fortinetdev/fortios",
     "repo": "terraform-provider-fortios",
-    "rev": "v1.13.2",
-    "sha256": "042fn5jii9fx7vb6x4kcvmrmiccj7s13xqm91l3b2i9mzh4cgb3k",
+    "rev": "v1.14.0",
+    "sha256": "078wvbihrs6j5yrbqsx5g6l7z05y98kwlyanq5w99fsazz78rr4h",
     "vendorSha256": null,
-    "version": "1.13.2"
+    "version": "1.14.0"
   },
   "gandi": {
     "owner": "go-gandi",
@@ -383,57 +392,57 @@
     "owner": "integrations",
     "provider-source-address": "registry.terraform.io/integrations/github",
     "repo": "terraform-provider-github",
-    "rev": "v4.19.2",
-    "sha256": "0k6w1wxx9a67wkgh4j4aswbpcnlnjcvqnfi0gy2rw9kqbyxb9j0m",
+    "rev": "v4.20.0",
+    "sha256": "0cibbzj3nj5dgi2mcr93bdxwvb7r2qscwshjbssbc7avwvhh3171",
     "vendorSha256": null,
-    "version": "4.19.2"
+    "version": "4.20.0"
   },
   "gitlab": {
     "owner": "gitlabhq",
     "provider-source-address": "registry.terraform.io/gitlabhq/gitlab",
     "repo": "terraform-provider-gitlab",
-    "rev": "v3.8.0",
-    "sha256": "0ha6lp0z3lqdk05fhggdgdz50dm7z6ksn648khp44n7in0c0c5pj",
-    "vendorSha256": "143marl3zrqd37cgr6s6fdbx8dfmcchzc1f63140i4m07ygxwhxn",
-    "version": "3.8.0"
+    "rev": "v3.9.1",
+    "sha256": "1pqwgshjrzdw8prgadwq0hf0q72jjjfaas6kgh2as3yn8q24ynca",
+    "vendorSha256": "04v5hgq23rpz6h242v0m2zhpsfmx4h97pf396w4v6j0kj1wabf87",
+    "version": "3.9.1"
   },
   "google": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google",
     "proxyVendor": true,
     "repo": "terraform-provider-google",
-    "rev": "v4.7.0",
-    "sha256": "15w69dyr0s818as7v8pwzdbfs82l23qn846a7xlihw2g49xk0cah",
-    "vendorSha256": "144kv885w2gfsljj8vx7q9pgrpyshpn392162ljzpjb6qx3qzzxj",
-    "version": "4.7.0"
+    "rev": "v4.11.0",
+    "sha256": "1n3d4qxy2x69ryphqwyih7iz6slx5z1plyyzdcd7pxlaw8x8hpgm",
+    "vendorSha256": "0g23ngr1rfh53255svg1qg5lyljb3gnai6ia8yik5b8pvyqcw4l7",
+    "version": "4.11.0"
   },
   "google-beta": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/google-beta",
     "proxyVendor": true,
     "repo": "terraform-provider-google-beta",
-    "rev": "v4.7.0",
-    "sha256": "0jnz05yvhlawgc188xazv1fvqsqvpm867xf3i93xpl248pr1vqlf",
-    "vendorSha256": "144kv885w2gfsljj8vx7q9pgrpyshpn392162ljzpjb6qx3qzzxj",
-    "version": "4.7.0"
+    "rev": "v4.11.0",
+    "sha256": "0ylfx8ks5azicnckkx3lrawf1gpsq95qsng550p51gr1wna1aqmy",
+    "vendorSha256": "0g23ngr1rfh53255svg1qg5lyljb3gnai6ia8yik5b8pvyqcw4l7",
+    "version": "4.11.0"
   },
   "grafana": {
     "owner": "grafana",
     "provider-source-address": "registry.terraform.io/grafana/grafana",
     "repo": "terraform-provider-grafana",
-    "rev": "v1.18.0",
-    "sha256": "1qvhdshaiy1v7557nkh869k1wmz604pv2gchv98vrm3cp7zj83zn",
-    "vendorSha256": "1rgvil2kw38kbgbgcjy8mbkahj6zm91s187x41vd4x7ypc5kgbkn",
-    "version": "1.18.0"
+    "rev": "v1.19.0",
+    "sha256": "1ch4nxva1ixmgm6kjyvbd4ydrl8w39ll0ljpk1m2lrg5pn349mjn",
+    "vendorSha256": "0z8sd1hq0hhm51fi91ri6dmsq6brba9vd22gxkgzxfdsncq24h2a",
+    "version": "1.19.0"
   },
   "gridscale": {
     "owner": "gridscale",
     "provider-source-address": "registry.terraform.io/gridscale/gridscale",
     "repo": "terraform-provider-gridscale",
-    "rev": "v1.14.0",
-    "sha256": "1syi3hvmff8dkbh538r4acbr5r72nmd073fvr52zcn0a9bc3q9np",
+    "rev": "v1.14.1",
+    "sha256": "1vf1xvj3djm1mgrgfj428yh26qxksclxxnvkxl663nqsvy14gd6s",
     "vendorSha256": null,
-    "version": "1.14.0"
+    "version": "1.14.1"
   },
   "hcloud": {
     "owner": "hetznercloud",
@@ -457,10 +466,10 @@
     "owner": "heroku",
     "provider-source-address": "registry.terraform.io/heroku/heroku",
     "repo": "terraform-provider-heroku",
-    "rev": "v4.8.0",
-    "sha256": "12v0agcib8bziywaqzn6p04pwxnzyn74kqc5al8n572k0ndw3bps",
-    "vendorSha256": "183j20my61mqhch87cn455l938jqx4ssbnv8yl416i6bxgcpy6f9",
-    "version": "4.8.0"
+    "rev": "v5.0.0",
+    "sha256": "1dskbwa10dmj5fdw0wplby6hhcvxri68jlg34966mqx8pas3zsxy",
+    "vendorSha256": "13f7841i14b5n5iabqky7694mbqg95f0cvaygapczki5lf2j7fqy",
+    "version": "5.0.0"
   },
   "http": {
     "owner": "hashicorp",
@@ -475,10 +484,10 @@
     "owner": "huaweicloud",
     "provider-source-address": "registry.terraform.io/huaweicloud/huaweicloud",
     "repo": "terraform-provider-huaweicloud",
-    "rev": "v1.32.1",
-    "sha256": "05rm1cmpbmavza1pyqjzrd316v6r68427cjhqy6bngb749nc1als",
+    "rev": "v1.33.0",
+    "sha256": "07m2kzx4m9gn9j5czlfdsq0a1ki8vfwlywrfgz2jxvz2cqnn4gsx",
     "vendorSha256": null,
-    "version": "1.32.1"
+    "version": "1.33.0"
   },
   "huaweicloudstack": {
     "owner": "huaweicloud",
@@ -502,10 +511,10 @@
     "owner": "IBM-Cloud",
     "provider-source-address": "registry.terraform.io/IBM-Cloud/ibm",
     "repo": "terraform-provider-ibm",
-    "rev": "v1.38.0",
-    "sha256": "0cbyq74fy3y7ia8lywr8amwcjq53bn3psymyl5cnwqx8y97avx5w",
-    "vendorSha256": "0cgl87pij4amn77ksbrzl0qlf6a5ga29b64cnasq8lq03lbmqzw4",
-    "version": "1.38.0"
+    "rev": "v1.39.0-beta0",
+    "sha256": "1ms6jr2f112qxslv2lapvngkmg2mlf0jfjnpx6rxqzclq0xcjqn1",
+    "vendorSha256": "0g6bm2pvdvj24yw26d2w8d7nr9izzqwrwzdz4y9dbr426xycrgy5",
+    "version": "1.39.0-beta0"
   },
   "icinga2": {
     "owner": "Icinga",
@@ -520,10 +529,10 @@
     "owner": "infobloxopen",
     "provider-source-address": "registry.terraform.io/infobloxopen/infoblox",
     "repo": "terraform-provider-infoblox",
-    "rev": "v2.0.1",
-    "sha256": "0xmlhm4lgb43f75300hajlq7zk3r1xqxi4dc2x0vlnkhgdj3hrfi",
+    "rev": "v2.1.0",
+    "sha256": "1agxlvm5gxgsfyg1kij09jaly4pj3wfbdc4hk7456m2v1k4r7asn",
     "vendorSha256": null,
-    "version": "2.0.1"
+    "version": "2.1.0"
   },
   "kafka": {
     "owner": "Mongey",
@@ -547,10 +556,10 @@
     "owner": "mrparkers",
     "provider-source-address": "registry.terraform.io/mrparkers/keycloak",
     "repo": "terraform-provider-keycloak",
-    "rev": "v3.6.0",
-    "sha256": "1lrnzfjrw0yn4hsklhikf75n6drra7nljlzxf2asfkfaiwgcik99",
-    "vendorSha256": "17v5h5s2vijfx5yxhindr30g8ilmz7hamkxhmlk0zg5qb80mzqc1",
-    "version": "3.6.0"
+    "rev": "v3.7.0",
+    "sha256": "1qzdm0jgk6f0zyjbv5qaq24h9a37bgb4ghym61vg763lqra69als",
+    "vendorSha256": "1q5z54rz5lqgdv9gfl20gfnzi4in0d65jkfxnmmsx6fjcb9ih4p6",
+    "version": "3.7.0"
   },
   "ksyun": {
     "owner": "kingsoftcloud",
@@ -574,37 +583,37 @@
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/kubernetes",
     "repo": "terraform-provider-kubernetes",
-    "rev": "v2.7.1",
-    "sha256": "061zxphysj6spr1giwfnqgy3hh8s4j0lw10gs3cjkqxbpc4bbs7a",
+    "rev": "v2.8.0",
+    "sha256": "15mjx531jzrsfd4kxnklcr8q7gbq64z772y9m5lhq73anr9yqfa3",
     "vendorSha256": null,
-    "version": "2.7.1"
+    "version": "2.8.0"
   },
   "launchdarkly": {
     "owner": "launchdarkly",
     "provider-source-address": "registry.terraform.io/launchdarkly/launchdarkly",
     "repo": "terraform-provider-launchdarkly",
-    "rev": "v2.4.1",
-    "sha256": "1smrdhg6fn9lzrlh0mz822zibnvd1487w5qn38l71ark9dadahqv",
+    "rev": "v2.5.0",
+    "sha256": "1083w217y8l6clj3q31f1lanzngfinw682kdqpm0xfssqas7qzx6",
     "vendorSha256": "13vcxvw56bn7mdz917lvdryd2d7mcvi83ykbzjfbpxr4lzrrm9qw",
-    "version": "2.4.1"
+    "version": "2.5.0"
   },
   "libvirt": {
     "owner": "dmacvicar",
     "provider-source-address": "registry.terraform.io/dmacvicar/libvirt",
     "repo": "terraform-provider-libvirt",
-    "rev": "v0.6.13",
-    "sha256": "1fvxvijl5vjx7gb4w19pf4gcq97pisiznr2n72ybpma46c2clx2h",
-    "vendorSha256": "0rck411b4dh2zh4m4m6h2d03zlv5wm94li9dq5ggr0lspfx6nv1i",
-    "version": "0.6.13"
+    "rev": "v0.6.14",
+    "sha256": "1x1xl3blcs4dpjavf4im82l9vrv0plyyiayy475qjf0sl028criy",
+    "vendorSha256": "1kq0sbz7sv4gw35wl52z7gjv588r82izhrz7ydf5n0c4d2izmg6a",
+    "version": "0.6.14"
   },
   "linode": {
     "owner": "linode",
     "provider-source-address": "registry.terraform.io/linode/linode",
     "repo": "terraform-provider-linode",
-    "rev": "v1.25.1",
-    "sha256": "1sy3hg9scfidrn3z9ip6ryxghv1s9zlhwccl8k2s2b05xkx43j23",
+    "rev": "v1.25.2",
+    "sha256": "18w9x80zary64873d1r824g28l5dhkda1qq0lr895afwh8g11dfp",
     "vendorSha256": "0c882yafydhdhnp5awb8llzbmiljfdbamqlx740347ywpliy0ga2",
-    "version": "1.25.1"
+    "version": "1.25.2"
   },
   "linuxbox": {
     "owner": "numtide",
@@ -638,10 +647,10 @@
     "owner": "terraform-lxd",
     "provider-source-address": "registry.terraform.io/terraform-lxd/lxd",
     "repo": "terraform-provider-lxd",
-    "rev": "v1.7.0",
-    "sha256": "1fg9ad6zmkkg8j4sqfan3ibjjb73digg10k5h8xaii778r9bh311",
+    "rev": "v1.7.1",
+    "sha256": "0r1d0d6fp3rihxhfsxlay0dqp5rmnja9s369msra8jylqyharnrh",
     "vendorSha256": "11x12jxh4q99hinpljqfchysgkhch93sgv0mz065ws20y0dxzfvs",
-    "version": "1.7.0"
+    "version": "1.7.1"
   },
   "mailgun": {
     "owner": "wgebis",
@@ -665,19 +674,19 @@
     "owner": "equinix",
     "provider-source-address": "registry.terraform.io/equinix/metal",
     "repo": "terraform-provider-metal",
-    "rev": "v3.2.1",
-    "sha256": "0j07rras4m6i668lkvvn3rq5l67qfzk9bmpijsfk3my0zsgv8nvw",
+    "rev": "v3.2.2",
+    "sha256": "193897farpyb3zxz6p79mfaf04ccin7xdirbkclqb3x3c56jy0xi",
     "vendorSha256": null,
-    "version": "3.2.1"
+    "version": "3.2.2"
   },
   "minio": {
     "owner": "aminueza",
     "provider-source-address": "registry.terraform.io/aminueza/minio",
     "repo": "terraform-provider-minio",
-    "rev": "v1.2.0",
-    "sha256": "07f7kflmy0n8vbcxs2f62iqwm8fw8r97vgwwp38hmz3f1bix42qn",
-    "vendorSha256": "0pg1m7zp6363c98cww9cv4jsyavq201spc4lxcs5920xz00z86bw",
-    "version": "1.2.0"
+    "rev": "v1.3.0",
+    "sha256": "0cgjcq5fk4cyxrpvqkg7nk9hjzr28nmhmlnhclx9bw2rm3g7i000",
+    "vendorSha256": "0p3mg2j89jjkhgv57l5pkpyjdhbh41ilb5az5y2m5zz3kbl4y13b",
+    "version": "1.3.0"
   },
   "mongodbatlas": {
     "owner": "mongodb",
@@ -692,10 +701,10 @@
     "owner": "NaverCloudPlatform",
     "provider-source-address": "registry.terraform.io/NaverCloudPlatform/ncloud",
     "repo": "terraform-provider-ncloud",
-    "rev": "v2.2.1",
-    "sha256": "0igzwc1hycnlcvgi0il1z94xlb6rlklr1h7j909im1am3p6s3q1s",
-    "vendorSha256": "1799i4d32y22v6ywwklm3ncmzir5hg8cw23jzb8d28xiw8vswhs4",
-    "version": "2.2.1"
+    "rev": "v2.2.5",
+    "sha256": "0hspr6iv69izg1y8s1sj24kgy562jggn9nwqgprn4zca7vsrl29r",
+    "vendorSha256": "1hiz0pphl4jxfglxj28rm58ih7c5dabhd2gaig23hcqvczhf1wd2",
+    "version": "2.2.5"
   },
   "netlify": {
     "owner": "AegirHealth",
@@ -710,10 +719,10 @@
     "owner": "newrelic",
     "provider-source-address": "registry.terraform.io/newrelic/newrelic",
     "repo": "terraform-provider-newrelic",
-    "rev": "v2.35.0",
-    "sha256": "0pwy3vsj332v82n3is6xaw4mgvv968ffr8n41s1r7j39r8bpl77f",
-    "vendorSha256": "13xqrdv0xnza0yxdgk155x4vq8lai9jrjvnfp153jb5p5hfnzwmp",
-    "version": "2.35.0"
+    "rev": "v2.37.0",
+    "sha256": "1gx2sxm39ap84anaiffdacqqrgagymgxywxc0rnc7zkwvziazhw9",
+    "vendorSha256": "130ddc9qs6i8l2ka76n9rxwsz71h0wywbnjd3p2xbkkpqsg66lbz",
+    "version": "2.37.0"
   },
   "nomad": {
     "owner": "hashicorp",
@@ -725,14 +734,13 @@
     "version": "1.4.16"
   },
   "ns1": {
-    "deleteVendor": true,
     "owner": "ns1-terraform",
     "provider-source-address": "registry.terraform.io/ns1-terraform/ns1",
     "repo": "terraform-provider-ns1",
-    "rev": "v1.12.2",
-    "sha256": "01cmfmg429vp7j8xb9fvfvwg9l3pwjrpv9a4jbdbhh8gaarpw8db",
-    "vendorSha256": "0nk8xs24hwsarr22h5m1qcpixg7ijdkah5686wkp51y8cp69v25r",
-    "version": "1.12.2"
+    "rev": "v1.12.5",
+    "sha256": "0g69jr96ns2h578cmh5zz27m5dkgygrfr6shvx79wal26fpr8413",
+    "vendorSha256": "0s70626ng7pvqxnx0a4rp22b8spy45y011bvvm77fndm8fc1w9zn",
+    "version": "1.12.5"
   },
   "nsxt": {
     "owner": "vmware",
@@ -757,28 +765,28 @@
     "owner": "nutanix",
     "provider-source-address": "registry.terraform.io/nutanix/nutanix",
     "repo": "terraform-provider-nutanix",
-    "rev": "v1.2.2",
-    "sha256": "08y5hxp28z5mhrbfs0mdwdj694k26gwl0qb80dggmmdil704ajwk",
-    "vendorSha256": "0s7yi00zskc4j7vnqjfd64pxk2bpk1cqmqgiyxfh7aqqzg22yqkz",
-    "version": "1.2.2"
+    "rev": "v1.3.0",
+    "sha256": "1q38f6a8d607sdhrr6xcqmdsvm625v7y36xma137bqv09g3xga0s",
+    "vendorSha256": "0qkd9pnidf4rhbk7p4jkpcdq36g8lp8pwpsf3hydy6xh072iy4id",
+    "version": "1.3.0"
   },
   "oci": {
     "owner": "terraform-providers",
     "provider-source-address": "registry.terraform.io/hashicorp/oci",
     "repo": "terraform-provider-oci",
-    "rev": "v4.60.0",
-    "sha256": "02wxisy2c9g6kkg6wrgv99qfrds26xwqfj2m3v97y0ldpi2fhbpa",
+    "rev": "v4.64.0",
+    "sha256": "1x8lhyr356j2gihgfy8563n75aqb2prwvdlnkxmvlbqcp10rnggd",
     "vendorSha256": null,
-    "version": "4.60.0"
+    "version": "4.64.0"
   },
   "okta": {
     "owner": "okta",
     "provider-source-address": "registry.terraform.io/okta/okta",
     "repo": "terraform-provider-okta",
-    "rev": "v3.20.3",
-    "sha256": "0m9y0dagav1pw8cz6pv9zkhag59f9bbn8b6zi1h3lcgvmzf303wv",
-    "vendorSha256": "156nyjga5q5mgwiq6aynp199i0hn5mvckj2h7j3pfzc1yz8ri5cc",
-    "version": "3.20.3"
+    "rev": "v3.21.0",
+    "sha256": "1j1nvg0qj8xaqnbwlrnhpy73032zc1ik78c0q1iq7xa2gs833qya",
+    "vendorSha256": "0l0di6cmm41z7i4d498xxc8wcrbg6r9w4vcdksqhz92s1gqs3f4z",
+    "version": "3.21.0"
   },
   "oktaasa": {
     "owner": "oktadeveloper",
@@ -803,37 +811,37 @@
     "owner": "OpenNebula",
     "provider-source-address": "registry.terraform.io/OpenNebula/opennebula",
     "repo": "terraform-provider-opennebula",
-    "rev": "v0.4.0",
-    "sha256": "1r6v1ksis0h9mairvn9mwk49dkn6s6ixi8j0jaz9w173lx5si917",
+    "rev": "v0.4.1",
+    "sha256": "13z14p8zkrmffai5pdiwi33xsznan015nl9b9cfyxi1is4m5i41m",
     "vendorSha256": "0qyzavig8wnnjzm63pny5azywqyrnjm978yg5y0sr6zw8wghjd15",
-    "version": "0.4.0"
+    "version": "0.4.1"
   },
   "openstack": {
     "owner": "terraform-provider-openstack",
     "provider-source-address": "registry.terraform.io/terraform-provider-openstack/openstack",
     "repo": "terraform-provider-openstack",
-    "rev": "v1.46.0",
-    "sha256": "1kkqfr0i33kw0qj3dp5knxm14p1ndy72n4chd36dhkydp4rm688f",
-    "vendorSha256": "10vcxqh77wqxwzsrq1y0rlyl7wazl5glmsqbz5wfvrq5b9q1r75x",
-    "version": "1.46.0"
+    "rev": "v1.47.0",
+    "sha256": "0hbp5hk3b9fdsyqkxb3fzpjiw5dd7h7f3gs3xv5imzkfv1dmqghz",
+    "vendorSha256": "007qmkgp5svhy7gvlkbyxllh0ijsk4xq5kmy7zmjgf7mawp16ny6",
+    "version": "1.47.0"
   },
   "opentelekomcloud": {
     "owner": "opentelekomcloud",
     "provider-source-address": "registry.terraform.io/opentelekomcloud/opentelekomcloud",
     "repo": "terraform-provider-opentelekomcloud",
-    "rev": "v1.27.3",
-    "sha256": "17n1vy9h2blw9k3p82sbcz9zbj4hilg33qga5n09nq2ngafagazg",
-    "vendorSha256": "12ahdbb83gxb9dcax635ngr54cqvnydr7l65h5dvv7b2gfldb1ki",
-    "version": "1.27.3"
+    "rev": "v1.27.5",
+    "sha256": "04kr3319xpzabajzav3hl2ibws2lj7x2naqfc9gpdy7j06rhhkaa",
+    "vendorSha256": "1lyz6lb4ciddr3d2zh5hfdfvhdacs13xynkpsjcjyqqfhayxqavg",
+    "version": "1.27.5"
   },
   "opsgenie": {
     "owner": "opsgenie",
     "provider-source-address": "registry.terraform.io/opsgenie/opsgenie",
     "repo": "terraform-provider-opsgenie",
-    "rev": "v0.6.8",
-    "sha256": "10lq9gfmpwc56m6rihxjc5hkglmfh6sqsa0fwsypw6709488a7yq",
+    "rev": "v0.6.10",
+    "sha256": "1kxq66skal10nx5mgk8qj15chk01fi1pjamgakr1j56m1dgw03cw",
     "vendorSha256": null,
-    "version": "0.6.8"
+    "version": "0.6.10"
   },
   "oraclepaas": {
     "owner": "terraform-providers",
@@ -857,19 +865,19 @@
     "owner": "PagerDuty",
     "provider-source-address": "registry.terraform.io/PagerDuty/pagerduty",
     "repo": "terraform-provider-pagerduty",
-    "rev": "v2.2.1",
-    "sha256": "0nhn47bd9lqs14wvxjkvhsnzgm6iys5icy5ydmsma3p2fb90qgas",
+    "rev": "v2.3.0",
+    "sha256": "02k416zgjg2f4bl4ilxbg0ig2lh86qc4pv96p2slpzyg8ypf87zg",
     "vendorSha256": null,
-    "version": "2.2.1"
+    "version": "2.3.0"
   },
   "panos": {
     "owner": "PaloAltoNetworks",
     "provider-source-address": "registry.terraform.io/PaloAltoNetworks/panos",
     "repo": "terraform-provider-panos",
-    "rev": "v1.9.2",
-    "sha256": "03585rm434lcp6xk58185i78iv5fjd18z7nrdnbhxxy94yhhf335",
+    "rev": "v1.10.0",
+    "sha256": "1nh1kc8pz10014p6dw8l2qdiqxdgcj5yy3da2qhbarwn0qm9fs36",
     "vendorSha256": null,
-    "version": "1.9.2"
+    "version": "1.10.0"
   },
   "pass": {
     "owner": "camptocamp",
@@ -884,10 +892,10 @@
     "owner": "cyrilgdn",
     "provider-source-address": "registry.terraform.io/cyrilgdn/postgresql",
     "repo": "terraform-provider-postgresql",
-    "rev": "v1.14.0",
-    "sha256": "08z8i2y4qmq7zd50hjaiz6vazwb9yszm1c0mxc87sxayj0mcyl6r",
-    "vendorSha256": null,
-    "version": "1.14.0"
+    "rev": "v1.15.0",
+    "sha256": "04gm7y5qyvipg0a0glgyx257vjrkk4k5pjrvzik6adyrjyidixw1",
+    "vendorSha256": "0pp9c76zdpfyq57jcwv258gipvmy6hjqi933xdi155hkx45cnixr",
+    "version": "1.15.0"
   },
   "powerdns": {
     "owner": "pan-net",
@@ -929,19 +937,19 @@
     "owner": "rundeck",
     "provider-source-address": "registry.terraform.io/rundeck/rundeck",
     "repo": "terraform-provider-rundeck",
-    "rev": "v0.4.2",
-    "sha256": "0447hsmdf8k4464m56c7ipn9a05rv6hlrjb7q8b1jdwh2j5yq8pr",
+    "rev": "v0.4.3",
+    "sha256": "1bvk5mfjpl57dfglksnz1cnvd5qgk2cnidwiwjwa3ssmm2kzji8s",
     "vendorSha256": null,
-    "version": "0.4.2"
+    "version": "0.4.3"
   },
   "scaleway": {
     "owner": "scaleway",
     "provider-source-address": "registry.terraform.io/scaleway/scaleway",
     "repo": "terraform-provider-scaleway",
-    "rev": "v2.2.0",
-    "sha256": "1l9cmdz46rhvbnlyxi3hyk8rszf44xphpz22w56mrbi91z1yr8c1",
-    "vendorSha256": "0zbz0y3fg94c9794jgfcqngh1xcyqcdhcgmy74pdscrvydjhd5z8",
-    "version": "2.2.0"
+    "rev": "v2.2.1-rc.1",
+    "sha256": "0f4sizgcy3000k67nb3axa8xhpczvzdla3bnpda27jdrx22ckyz8",
+    "vendorSha256": "11g5v5kvs4qxdg34ai7fpinwbshrjwi9hxzav2vpnzhy8lfqpkzb",
+    "version": "2.2.1-rc.1"
   },
   "secret": {
     "owner": "numtide",
@@ -983,10 +991,10 @@
     "owner": "splunk-terraform",
     "provider-source-address": "registry.terraform.io/splunk-terraform/signalfx",
     "repo": "terraform-provider-signalfx",
-    "rev": "v6.7.10",
-    "sha256": "113q9wwvz0lxn1l948g5mnwbpd76q8j2pm9q90nbkg1yvwsidsqi",
-    "vendorSha256": "1dd42a9kqsrvvllign6g9kzb0jvav71x7kg9n2w9rs9wvmmang4w",
-    "version": "6.7.10"
+    "rev": "v6.8.1",
+    "sha256": "094a3avlvaacw8g45ll17x1wrch47m5bvj548rvmz77pdbhpzvr5",
+    "vendorSha256": "12c1lhyrl3bwnkvp4qw9wxawy54x3k86vh1dnnvf5n8916pvwcw0",
+    "version": "6.8.1"
   },
   "skytap": {
     "owner": "skytap",
@@ -1010,10 +1018,10 @@
     "owner": "spotinst",
     "provider-source-address": "registry.terraform.io/spotinst/spotinst",
     "repo": "terraform-provider-spotinst",
-    "rev": "v1.65.0",
-    "sha256": "1gk4v6lxa4k8za6c1zxrrrc6qw3ymsk46w97qhfri6y7vrc3vxh0",
-    "vendorSha256": "0xhzj8lmrh0mcpbxa7xkzhhgl3jfk6mz5adia0jgflgrx4wjaf38",
-    "version": "1.65.0"
+    "rev": "v1.68.0",
+    "sha256": "0llyy4rskspw4cy8jdbk175rli9s53mabj4b9yarm7apg17ai399",
+    "vendorSha256": "0j0airkc1p0y9w1w40fbwxmymf8rbal2ycrkp31x1c06f8s4lhzm",
+    "version": "1.68.0"
   },
   "stackpath": {
     "owner": "stackpath",
@@ -1037,10 +1045,10 @@
     "owner": "SumoLogic",
     "provider-source-address": "registry.terraform.io/SumoLogic/sumologic",
     "repo": "terraform-provider-sumologic",
-    "rev": "v2.11.5",
-    "sha256": "1k3z0rbnqfjrz4awrmid03g7lmalkya7m60l22qdhpsc6c6pg0mp",
-    "vendorSha256": "0jfzyzlfvpkbxi60439hmsrn2qqm86ghb859jl4mphd6g7p75zdj",
-    "version": "2.11.5"
+    "rev": "v2.12.0",
+    "sha256": "04rrs6x9grkqqqrz3l3nqzp3vy03jw24l1grx2nbw8srpgw1pcwl",
+    "vendorSha256": "19zhpa47wxkxk2nixd960xz9xh38nq5ml7dwnimr4v1mpvw9hcgc",
+    "version": "2.12.0"
   },
   "template": {
     "owner": "hashicorp",
@@ -1055,19 +1063,19 @@
     "owner": "tencentcloudstack",
     "provider-source-address": "registry.terraform.io/tencentcloudstack/tencentcloud",
     "repo": "terraform-provider-tencentcloud",
-    "rev": "v1.61.2",
-    "sha256": "1i9jyz4r344swdvnnpgz2s1ds5b5s2hif3bjr82mmfd7gshyagnq",
+    "rev": "v1.61.8",
+    "sha256": "1a8p141m3kcr1irl9z3vpjs6zkgqp003z7m52yskapv4df8d6skz",
     "vendorSha256": null,
-    "version": "1.61.2"
+    "version": "1.61.8"
   },
   "tfe": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/tfe",
     "repo": "terraform-provider-tfe",
-    "rev": "v0.27.0",
-    "sha256": "00lra2d8dzczlmx74cblk7hglj2dvlkkgv30ndb85fbmaq2jqw0n",
-    "vendorSha256": "0p2kdf7l6k75c9ngfysj70fqf3my8fsm41gi8d1j1djfsxgzfpxs",
-    "version": "0.27.0"
+    "rev": "v0.28.1",
+    "sha256": "0xvah6qaf6kxgxhgzgh4rqswjda3366i6gqqwaiw4gc3w0ks2i3g",
+    "vendorSha256": "1qxbsnay75v6ss3fvi00rif10ra1l23b107d0v5cc1il4smqc36g",
+    "version": "0.28.1"
   },
   "thunder": {
     "owner": "a10networks",
@@ -1110,28 +1118,28 @@
     "owner": "turbot",
     "provider-source-address": "registry.terraform.io/turbot/turbot",
     "repo": "terraform-provider-turbot",
-    "rev": "v1.8.2",
-    "sha256": "16nxngn7mx7049mar7azj03pyslmf9wri50kwhimkfjva0k9zbl7",
+    "rev": "v1.8.3",
+    "sha256": "0jx37w4sbm7gj8vqnb58rg24s6fafc73ds954vqh9rjn8a6x0qz9",
     "vendorSha256": null,
-    "version": "1.8.2"
+    "version": "1.8.3"
   },
   "ucloud": {
     "owner": "ucloud",
     "provider-source-address": "registry.terraform.io/ucloud/ucloud",
     "repo": "terraform-provider-ucloud",
-    "rev": "v1.30.0",
-    "sha256": "1difp4nkyr8hp9l3ik5vdxl3kxiq9i342mmpc0j3drmr341djf1s",
+    "rev": "v1.31.0",
+    "sha256": "0maiqxrr1xl2q4lgpv0d78znsrrl95qi2bgpr5jd14w1kvw2bj73",
     "vendorSha256": null,
-    "version": "1.30.0"
+    "version": "1.31.0"
   },
   "vault": {
     "owner": "hashicorp",
     "provider-source-address": "registry.terraform.io/hashicorp/vault",
     "repo": "terraform-provider-vault",
-    "rev": "v3.2.1",
-    "sha256": "0y8vvc5mckzjs24x36rihl1vdvh9k2kazn5lsqvq6apv36kg5vw4",
-    "vendorSha256": "0j5kz5jvyds701gq89v8dcsvm67kbfxxgzjvmn74ms3nrkx8hr84",
-    "version": "3.2.1"
+    "rev": "v3.3.0",
+    "sha256": "1b36c2f06fglf6bs6s4ly73vk1cm7zd1ci13df5wp0f2xxib3szk",
+    "vendorSha256": "0x9cyxnaqkfpzx9ml7qqhl98jslpy1v965kd11kgcvqpr9lmc77x",
+    "version": "3.3.0"
   },
   "vcd": {
     "owner": "vmware",
@@ -1147,10 +1155,10 @@
     "owner": "Venafi",
     "provider-source-address": "registry.terraform.io/Venafi/venafi",
     "repo": "terraform-provider-venafi",
-    "rev": "v0.13.0",
-    "sha256": "1gvr0g622ddc8sw7f1g6vqw6wvzmm26qqzw7dljmgbvch0xyal86",
-    "vendorSha256": "1hk8nwm29yfbvwy6h8lv136vvh8nynjnqifzjdriqv2ldxl6pykj",
-    "version": "0.13.0"
+    "rev": "v0.14.0",
+    "sha256": "16a7mr4dzfkvf9gg77dax92dp6g99plfg5qpzfhxdfanb25lq7za",
+    "vendorSha256": "0vmmki2pmg6ns75ldygyvj5pzl3blzz62zfqh4jsm1zbswfs75df",
+    "version": "0.14.0"
   },
   "vercel": {
     "owner": "ondrejsika",
@@ -1165,19 +1173,19 @@
     "owner": "vpsfreecz",
     "provider-source-address": "registry.terraform.io/vpsfreecz/vpsadmin",
     "repo": "terraform-provider-vpsadmin",
-    "rev": "v0.2.0",
-    "sha256": "1jb5s8lv8az1az9an8kj8bi0hh71zcaw5mpa4zyba5xk1vqig0kv",
-    "vendorSha256": "1xnscd7yir736y913r7nvn3a78h8cwc7m206h0vcc0hrl1jvf45i",
-    "version": "0.2.0"
+    "rev": "v1.0.0",
+    "sha256": "1ci86ikdz8i6gwdiif4ayx15hjm9phr756rvywz8pblaa6niwl9h",
+    "vendorSha256": "1wc0kzinz39kv4gib438js2qv07ndm6yj2qpj041d75hnlq06drv",
+    "version": "1.0.0"
   },
   "vra7": {
     "owner": "vmware",
     "provider-source-address": "registry.terraform.io/vmware/vra7",
     "repo": "terraform-provider-vra7",
-    "rev": "v3.0.3",
-    "sha256": "0f4mc7gbjbzw4x6rw6cbhc9xrmkhwhvjdzcinvc96pfm2fy3cdxh",
+    "rev": "v3.0.4",
+    "sha256": "1w16cl27fqpzy1v6cdp61shgrmj787fdfjwhr719n57hqax4pck5",
     "vendorSha256": null,
-    "version": "3.0.3"
+    "version": "3.0.4"
   },
   "vsphere": {
     "owner": "hashicorp",
@@ -1192,10 +1200,10 @@
     "owner": "vultr",
     "provider-source-address": "registry.terraform.io/vultr/vultr",
     "repo": "terraform-provider-vultr",
-    "rev": "v2.9.0",
-    "sha256": "0hx1n1wcjx40s94bysr14j0w4bc1xzkrrmkpjcwwbqywn75p6ggw",
+    "rev": "v2.9.1",
+    "sha256": "1w6699ngk6vcjii9skhrzv93p79mn6rmyqbb7fdchrwcvamk3y9a",
     "vendorSha256": null,
-    "version": "2.9.0"
+    "version": "2.9.1"
   },
   "wavefront": {
     "owner": "vmware",
@@ -1210,9 +1218,9 @@
     "owner": "yandex-cloud",
     "provider-source-address": "registry.terraform.io/yandex-cloud/yandex",
     "repo": "terraform-provider-yandex",
-    "rev": "v0.70.0",
-    "sha256": "0dmhzjwcd0j7rfczxahami23yjcc0pr10m12iig3z4hj9kgikzvy",
-    "vendorSha256": "0zx2lq9va0llrjlf3lk8pnx6f5knmi4jjxrnll89kp01imydjqv8",
-    "version": "0.70.0"
+    "rev": "v0.71.0",
+    "sha256": "1ccfmn6j96jy6hhqijjas31ylsmhs1gj8367v3b94mgam7p1pxcd",
+    "vendorSha256": "16cdg3j00dkmddxgb94as49470a67nv8linfm6s9vrx3xvjk04xw",
+    "version": "0.71.0"
   }
 }
diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-all-providers b/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
index 46f0ce1be56..57e1ab32f08 100755
--- a/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
+++ b/pkgs/applications/networking/cluster/terraform-providers/update-all-providers
@@ -18,5 +18,5 @@ echo "${providers}"
 
 for provider in ${providers}; do
   echo "Updating ${provider}"
-  ./update-provider "${provider}"
+  ./update-provider "$@" "${provider}"
 done
diff --git a/pkgs/applications/networking/cluster/terraform-providers/update-provider b/pkgs/applications/networking/cluster/terraform-providers/update-provider
index 0cbb855da20..255e82aee1d 100755
--- a/pkgs/applications/networking/cluster/terraform-providers/update-provider
+++ b/pkgs/applications/networking/cluster/terraform-providers/update-provider
@@ -11,7 +11,7 @@ shopt -s inherit_errexit
 
 show_usage() {
   cat <<DOC
-Usage: ./update-provider [--force] [--vendor] [<owner>/]<provider>
+Usage: ./update-provider [--force] [--no-build] [<owner>/]<provider>
 
 Update a single provider in the providers.json inventory file.
 
@@ -27,14 +27,14 @@ to add the provider to the list:
 Options:
 
   * --force: Force the update even if the version matches.
-  * --vendor: Switch from go package to go modules with vendor.
+  * --no-build: Don't build provider
   * --vendor-sha256 <sha256>: Override the SHA256 or "null".
 DOC
 }
 
 force=
 provider=
-vendor=
+build=1
 vendorSha256=
 
 while [[ $# -gt 0 ]]; do
@@ -47,9 +47,8 @@ while [[ $# -gt 0 ]]; do
     force=1
     shift
     ;;
-  --vendor)
-    force=1
-    vendor=1
+  --no-build)
+    build=0
     shift
     ;;
   --vendor-sha256)
@@ -142,12 +141,10 @@ update_attr rev "${rev}"
 sha256=$(prefetch_github "${org}" "${repo}" "${rev}")
 update_attr sha256 "${sha256}"
 
-repo_root=$(git rev-parse --show-toplevel)
-
 if [[ -z ${vendorSha256} ]]; then
   if [[ ${old_vendor_sha256} == null ]]; then
     vendorSha256=null
-  elif [[ -n ${old_vendor_sha256} || ${vendor} == 1 ]]; then
+  elif [[ -n ${old_vendor_sha256} ]]; then
     echo "=== Calculating vendorSha256 ==="
     vendorSha256=$(nix-prefetch -I nixpkgs=../../../../.. "{ sha256 }: (import ../../../../.. {}).terraform-providers.${provider_name}.go-modules.overrideAttrs (_: { vendorSha256 = sha256; })")
     # Deal with nix unstable
@@ -162,5 +159,7 @@ if [[ -n ${vendorSha256} ]]; then
 fi
 
 # Check that the provider builds
-echo "=== Building terraform-providers.${provider_name} ==="
-nix-build --no-out-link "${repo_root}" -A "terraform-providers.${provider_name}"
+if [[ ${build} == 1 ]]; then
+  echo "=== Building terraform-providers.${provider_name} ==="
+  nix-build --no-out-link ../../../../.. -A "terraform-providers.${provider_name}"
+fi
diff --git a/pkgs/applications/networking/cluster/terraform/default.nix b/pkgs/applications/networking/cluster/terraform/default.nix
index 5c0a1d66916..3954a143e5b 100644
--- a/pkgs/applications/networking/cluster/terraform/default.nix
+++ b/pkgs/applications/networking/cluster/terraform/default.nix
@@ -86,7 +86,26 @@ let
               withPlugins (x: newplugins x ++ actualPlugins);
             full = withPlugins (p: lib.filter lib.isDerivation (lib.attrValues p));
 
-            # Ouch
+            # Expose wrappers around the override* functions of the terraform
+            # derivation.
+            #
+            # Note that this does not behave as anyone would expect if plugins
+            # are specified. The overrides are not on the user-visible wrapper
+            # derivation but instead on the function application that eventually
+            # generates the wrapper. This means:
+            #
+            # 1. When using overrideAttrs, only `passthru` attributes will
+            #    become visible on the wrapper derivation. Other overrides that
+            #    modify the derivation *may* still have an effect, but it can be
+            #    difficult to follow.
+            #
+            # 2. Other overrides may work if they modify the terraform
+            #    derivation, or they may have no effect, depending on what
+            #    exactly is being changed.
+            #
+            # 3. Specifying overrides on the wrapper is unsupported.
+            #
+            # See nixpkgs#158620 for details.
             overrideDerivation = f:
               (pluggable (terraform.overrideDerivation f)).withPlugins plugins;
             overrideAttrs = f:
@@ -105,6 +124,12 @@ let
             inherit (terraform) name meta;
             nativeBuildInputs = [ makeWrapper ];
 
+            # Expose the passthru set with the override functions
+            # defined above, as well as any passthru values already
+            # set on `terraform` at this point (relevant in case a
+            # user overrides attributes).
+            passthru = terraform.passthru // passthru;
+
             buildCommand = ''
               # Create wrappers for terraform plugins because Terraform only
               # walks inside of a tree of files.
@@ -128,8 +153,6 @@ let
                 --set NIX_TERRAFORM_PLUGIN_DIR $out/libexec/terraform-providers \
                 --prefix PATH : "${lib.makeBinPath wrapperInputs}"
             '';
-
-            inherit passthru;
           });
     in
     withPlugins (_: [ ]);
@@ -168,9 +191,9 @@ rec {
   };
 
   terraform_1 = mkTerraform {
-    version = "1.1.5";
-    sha256 = "sha256-zIerP8v6ovIx+xwLsSmMFH41l140W9IwQMvomb/pk8E=";
-    vendorSha256 = "sha256-4ctuErxZIaESfIkS7BXI+eQcdatXE/1p20P9f890twM=";
+    version = "1.1.6";
+    sha256 = "sha256-Y1ARRCzqYBUQqpqwVrH0PPOZ9IWnw51yfyGFD/6P/ro=";
+    vendorSha256 = "sha256-RhGiY/APd12v0Hoqw381Wlk4oDx7aZt5zZvqkR99rd0=";
     patches = [ ./provider-path-0_15.patch ];
     passthru = { inherit plugins; };
   };
diff --git a/pkgs/applications/networking/cluster/tgswitch/default.nix b/pkgs/applications/networking/cluster/tgswitch/default.nix
index 9a1652f25d3..560e593ba19 100644
--- a/pkgs/applications/networking/cluster/tgswitch/default.nix
+++ b/pkgs/applications/networking/cluster/tgswitch/default.nix
@@ -1,13 +1,13 @@
 { buildGoPackage, lib, fetchFromGitHub }:
 buildGoPackage rec {
   pname = "tgswitch";
-  version = "0.5.378";
+  version = "0.5.382";
 
   src = fetchFromGitHub {
     owner = "warrensbox";
     repo = "tgswitch";
     rev = version;
-    sha256 = "0q2aqh75acbpkmvkws0rl3d5dzq3sisy637c0x6cnc88h34g3n3i";
+    sha256 = "sha256-DbPf1o1XlXLpuYSrNMRwHRqi/urQhSfzPW5BPIvZC/Y=";
   };
 
   goPackagePath = "github.com/warrensbox/tgswitch";
diff --git a/pkgs/applications/networking/cluster/tilt/default.nix b/pkgs/applications/networking/cluster/tilt/default.nix
index 8d22cabaab2..47392ea83a5 100644
--- a/pkgs/applications/networking/cluster/tilt/default.nix
+++ b/pkgs/applications/networking/cluster/tilt/default.nix
@@ -5,13 +5,13 @@ buildGoModule rec {
   /* Do not use "dev" as a version. If you do, Tilt will consider itself
     running in development environment and try to serve assets from the
     source tree, which is not there once build completes.  */
-  version = "0.23.9";
+  version = "0.25.1";
 
   src = fetchFromGitHub {
     owner  = "tilt-dev";
     repo   = pname;
     rev    = "v${version}";
-    sha256 = "sha256-sxOUO5dLWBgNvbi42/aoN4YQStuNuXxWuM3WJxh1ucg=";
+    sha256 = "sha256-dvY5kiLJ3psoQxG12E4qOjgF9GdXpjRKU3HlbPvwWBU=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/networking/cluster/vcluster/default.nix b/pkgs/applications/networking/cluster/vcluster/default.nix
index f8d4e5f52c8..b41e443ba32 100644
--- a/pkgs/applications/networking/cluster/vcluster/default.nix
+++ b/pkgs/applications/networking/cluster/vcluster/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGo117Module, fetchFromGitHub, installShellFiles }:
+{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "vcluster";
   version = "0.5.3";
 
diff --git a/pkgs/applications/networking/cluster/waypoint/default.nix b/pkgs/applications/networking/cluster/waypoint/default.nix
index b0d0d6193e2..4a78f01a1ca 100644
--- a/pkgs/applications/networking/cluster/waypoint/default.nix
+++ b/pkgs/applications/networking/cluster/waypoint/default.nix
@@ -2,17 +2,16 @@
 
 buildGoModule rec {
   pname = "waypoint";
-  version = "0.4.1";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "hashicorp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JB/0nU/05Agh4fWFeSfrUHFtR8cQjxdXW0QHAoH0dDc=";
+    sha256 = "1vcwzksixc9n016gf8zavkdk7ba33zkmymclvjwb32pwsanvzdz7";
   };
 
-  deleteVendor = true;
-  vendorSha256 = "sha256-2YrCRdpRk+gPHN8flahgWb2sbK5dYL5ivVqeJSsiy8Y=";
+  vendorSha256 = "0v4xk1ia6zhh4h2rgpinfl0hs300lk84vabm35mjahch7kmvfhvb";
 
   nativeBuildInputs = [ go-bindata installShellFiles ];
 
@@ -77,7 +76,6 @@ buildGoModule rec {
       through a consistent and repeatable workflow.
     '';
     license = licenses.mpl20;
-    maintainers = with maintainers; [ winpat jk ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ winpat jk techknowlogick ];
   };
 }
diff --git a/pkgs/applications/networking/cluster/werf/default.nix b/pkgs/applications/networking/cluster/werf/default.nix
index 3127a94421c..e238e181ded 100644
--- a/pkgs/applications/networking/cluster/werf/default.nix
+++ b/pkgs/applications/networking/cluster/werf/default.nix
@@ -11,15 +11,15 @@
 
 buildGoModule rec {
   pname = "werf";
-  version = "1.2.60";
+  version = "1.2.71";
 
   src = fetchFromGitHub {
     owner = "werf";
     repo = "werf";
     rev = "v${version}";
-    sha256 = "sha256-EEceAIlbwfKD2K0pJxmCRn6+yc5RVBassENuMS48794=";
+    sha256 = "sha256-bDaxxeHeswuoEU7YACa3tU80DFnmuFvEPfAq+pANSWY=";
   };
-  vendorSha256 = "sha256-3hNqCIx6S1pEzLMRVmr04pmQrrc3T/Q/FsB/DCAVRCY=";
+  vendorSha256 = "sha256-75uCGxW6Gqfhk5oImz26fUR8BeGHkikXHGJcCH32MxQ=";
   proxyVendor = true;
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/networking/dnscontrol/default.nix b/pkgs/applications/networking/dnscontrol/default.nix
index 92421b33a21..8b6a5e2cc25 100644
--- a/pkgs/applications/networking/dnscontrol/default.nix
+++ b/pkgs/applications/networking/dnscontrol/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dnscontrol";
-  version = "3.13.1";
+  version = "3.14.0";
 
   src = fetchFromGitHub {
     owner = "StackExchange";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-S3/uxtrCFU9HbNhYKqOYy1ytSVi2DU/lXIlhBgNnaPg=";
+    sha256 = "sha256-4az63Ff4aUAFMZoQeHshS9TxA/BIyHFZ/svFgAsU6WU=";
   };
 
-  vendorSha256 = "sha256-OwiZL+MBmAFtV8Vg2Wl9yAeTG3AzMSmCjefxObU7lfQ=";
+  vendorSha256 = "sha256-KbM2bKYnllxTw4B9W5E8iLZKvN/DJqBmWkXXLhEtsSQ=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/applications/networking/dropbox/default.nix b/pkgs/applications/networking/dropbox/default.nix
index 9c4340fffed..a65110b8023 100644
--- a/pkgs/applications/networking/dropbox/default.nix
+++ b/pkgs/applications/networking/dropbox/default.nix
@@ -24,8 +24,8 @@ let
     comment = "Sync your files across computers and to the web";
     desktopName = "Dropbox";
     genericName = "File Synchronizer";
-    categories = "Network;FileTransfer;";
-    startupNotify = "false";
+    categories = [ "Network" "FileTransfer" ];
+    startupNotify = false;
     icon = "dropbox";
   };
 in
diff --git a/pkgs/applications/networking/ftp/filezilla/default.nix b/pkgs/applications/networking/ftp/filezilla/default.nix
index 0ffa9e1023b..d5e73f833c3 100644
--- a/pkgs/applications/networking/ftp/filezilla/default.nix
+++ b/pkgs/applications/networking/ftp/filezilla/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "filezilla";
-  version = "3.57.0";
+  version = "3.58.0";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/client/FileZilla_${version}_src.tar.bz2";
-    sha256 = "sha256-gr9scHfKEwElSTVrRjlS8STuBIdvIeS6cgrMmBHImcc=";
+    sha256 = "sha256-0P5/cuAfd0K6oGRmgYsYbo6R//Ytbuey8OiEtrM4XYg=";
   };
 
   # https://www.linuxquestions.org/questions/slackware-14/trouble-building-filezilla-3-47-2-1-current-4175671182/#post6099769
diff --git a/pkgs/applications/networking/gns3/gui.nix b/pkgs/applications/networking/gns3/gui.nix
index 7aebfba1b49..95ec995cbfd 100644
--- a/pkgs/applications/networking/gns3/gui.nix
+++ b/pkgs/applications/networking/gns3/gui.nix
@@ -7,7 +7,21 @@ let
   ];
 
   python = python3.override {
-    packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) defaultOverrides;
+    packageOverrides = lib.foldr lib.composeExtensions (self: super: {
+      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
+        version = "3.2.0";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "sha256-yKhbKNN3zHc35G4tnytPRO48Dh3qxr9G3e/HGH0weXo=";
+        };
+
+        SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+        doCheck = false;
+      });
+    }) defaultOverrides;
   };
 in python.pkgs.buildPythonPackage rec {
   pname = "gns3-gui";
diff --git a/pkgs/applications/networking/gns3/server.nix b/pkgs/applications/networking/gns3/server.nix
index ab3a6db587c..818c01a89ab 100644
--- a/pkgs/applications/networking/gns3/server.nix
+++ b/pkgs/applications/networking/gns3/server.nix
@@ -17,13 +17,28 @@ let
         };
         doCheck = false;
       });
+
+      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
+        version = "3.2.0";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "sha256-yKhbKNN3zHc35G4tnytPRO48Dh3qxr9G3e/HGH0weXo=";
+        };
+
+        SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+        doCheck = false;
+      });
+
     })
   ];
 
   python = python3.override {
     packageOverrides = lib.foldr lib.composeExtensions (self: super: { }) ([ packageOverrides ] ++ defaultOverrides);
   };
-in python.pkgs.buildPythonPackage {
+in python.pkgs.buildPythonApplication {
   pname = "gns3-server";
   inherit version;
 
diff --git a/pkgs/applications/networking/hyprspace/default.nix b/pkgs/applications/networking/hyprspace/default.nix
index 037feccca4e..5482ce12e25 100644
--- a/pkgs/applications/networking/hyprspace/default.nix
+++ b/pkgs/applications/networking/hyprspace/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "hyprspace";
-  version = "0.1.7";
+  version = "0.2.2";
 
   propagatedBuildInputs = lib.optional stdenv.isDarwin iproute2mac;
 
@@ -10,10 +10,10 @@ buildGoModule rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ecdxs6see4uexY6DatZ/VSGgWR81zRjo3AeAsXSjJ4A=";
+    sha256 = "sha256-UlIQCy4moW58tQ1dqxrPsU5LN1Bs/Jy5X+2CEmXdYIk=";
   };
 
-  vendorSha256 = "sha256-nFiBHhtvTu9Ya6n1KUF+pOXrksHMOph7ABVtGSWVWlo=";
+  vendorSha256 = "sha256-EV59sXmjunWs+MC++CwyuBlbWzWZI1YXDLEsOaESgRU=";
 
   meta = with lib; {
     description = "A Lightweight VPN Built on top of Libp2p for Truly Distributed Networks.";
diff --git a/pkgs/applications/networking/instant-messengers/alfaview/default.nix b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
index bf674ef4442..764ba6a0d79 100644
--- a/pkgs/applications/networking/instant-messengers/alfaview/default.nix
+++ b/pkgs/applications/networking/instant-messengers/alfaview/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "alfaview";
-  version = "8.34.0";
+  version = "8.37.0";
 
   src = fetchurl {
     url = "https://production-alfaview-assets.alfaview.com/stable/linux/${pname}_${version}.deb";
-    sha256 = "sha256-85bsu6l/B+lHkjFBXNQ9BEzOn1oYTsFgungG06p9nD0=";
+    sha256 = "sha256-hU4tqDu95ej8ChiWJq3ZPhEwxBcmTQkA/n///pPVa5U=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/chatty/default.nix b/pkgs/applications/networking/instant-messengers/chatty/default.nix
index a82a3617dc1..f9cec37a506 100644
--- a/pkgs/applications/networking/instant-messengers/chatty/default.nix
+++ b/pkgs/applications/networking/instant-messengers/chatty/default.nix
@@ -28,7 +28,7 @@
 
 stdenv.mkDerivation rec {
   pname = "chatty";
-  version = "0.6.0";
+  version = "0.6.1";
 
   src = fetchFromGitLab {
     domain = "source.puri.sm";
@@ -36,7 +36,7 @@ stdenv.mkDerivation rec {
     repo = "chatty";
     rev = "v${version}";
     fetchSubmodules = true;
-    hash = "sha256-8haVzRfAZwdTlYu7oKeu8E3uEH87yrHS4j+BWFQ/Nj0=";
+    hash = "sha256-AufxwuOibTx5OvLBVbJqay/mYLmcDpE2BgwVv6Y5IlY=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
index fa795a11c2a..9e245b46d06 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/default.nix
@@ -103,11 +103,9 @@ in nodePackages.deltachat-desktop.override rec {
     desktopName = "Delta Chat";
     genericName = "Delta Chat";
     comment = meta.description;
-    categories = "Network;InstantMessaging;Chat;";
-    extraEntries = ''
-      StartupWMClass=DeltaChat
-      MimeType=x-scheme-handler/openpgp4fpr;x-scheme-handler/mailto;
-    '';
+    categories = [ "Network" "InstantMessaging" "Chat" ];
+    startupWMClass = "DeltaChat";
+    mimeTypes = [ "x-scheme-handler/openpgp4fpr" "x-scheme-handler/mailto" ];
   });
 
   passthru.updateScript = ./update.sh;
diff --git a/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json b/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
index fe9f024052c..23f0f15e3c4 100644
--- a/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
+++ b/pkgs/applications/networking/instant-messengers/deltachat-desktop/package.json
@@ -12,7 +12,7 @@
     "emoji-js-clean": "^4.0.0",
     "emoji-mart": "^3.0.0",
     "emoji-regex": "^9.2.2",
-    "error-stack-parser": "^2.0.6",
+    "error-stack-parser": "2.0.6",
     "filesize": "^8.0.6",
     "mapbox-gl": "^1.12.0",
     "mime-types": "^2.1.31",
diff --git a/pkgs/applications/networking/instant-messengers/dino/default.nix b/pkgs/applications/networking/instant-messengers/dino/default.nix
index 5e362784c81..3e992899e43 100644
--- a/pkgs/applications/networking/instant-messengers/dino/default.nix
+++ b/pkgs/applications/networking/instant-messengers/dino/default.nix
@@ -13,17 +13,19 @@
 , pcre
 , qrencode
 , icu
+, gspell
+, srtp, libnice, gnutls, gstreamer, gst-plugins-base, gst-plugins-good
  }:
 
 stdenv.mkDerivation rec {
   pname = "dino";
-  version = "0.2.2";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "dino";
     repo = "dino";
     rev = "v${version}";
-    sha256 = "sha256-uYP3D2uyvfRP91fq/1jKOaKgp/+How0SUwmxSrLLH4c=";
+    sha256 = "sha256-L5a5QlF9qlr4X/hGTabbbvOE5J1x/UVneWl/BRAa29Q=";
   };
 
   nativeBuildInputs = [
@@ -56,6 +58,13 @@ stdenv.mkDerivation rec {
     icu
     libsignal-protocol-c
     librsvg
+    gspell
+    srtp
+    libnice
+    gnutls
+    gstreamer
+    gst-plugins-base
+    gst-plugins-good
   ] ++ lib.optionals (!stdenv.isDarwin) [
     xorg.libxcb
     xorg.libpthreadstubs
@@ -83,6 +92,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/dino/dino";
     license = licenses.gpl3Plus;
     platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ qyliss ];
+    maintainers = with maintainers; [ qyliss tomfitzhenry ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/discord/default.nix b/pkgs/applications/networking/instant-messengers/discord/default.nix
index 0672cb72425..4f19fd924e7 100644
--- a/pkgs/applications/networking/instant-messengers/discord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/default.nix
@@ -2,13 +2,13 @@
 let
   inherit (pkgs) callPackage fetchurl;
   versions = if stdenv.isLinux then {
-    stable = "0.0.16";
+    stable = "0.0.17";
     ptb = "0.0.27";
-    canary = "0.0.132";
+    canary = "0.0.133";
   } else {
     stable = "0.0.264";
     ptb = "0.0.59";
-    canary = "0.0.280";
+    canary = "0.0.283";
   };
   version = versions.${branch};
   srcs = let
@@ -21,7 +21,7 @@ let
       stable = fetchurl {
         url =
           "https://dl.discordapp.net/apps/linux/${version}/discord-${version}.tar.gz";
-        sha256 = "UTVKjs/i7C/m8141bXBsakQRFd/c//EmqqhKhkr1OOk=";
+        sha256 = "058k0cmbm4y572jqw83bayb2zzl2fw2aaz0zj1gvg6sxblp76qil";
       };
       ptb = fetchurl {
         url =
@@ -31,7 +31,7 @@ let
       canary = fetchurl {
         url =
           "https://dl-canary.discordapp.net/apps/linux/${version}/discord-canary-${version}.tar.gz";
-        sha256 = "1jjbd9qllgcdpnfxg5alxpwl050vzg13rh17n638wha0vv4mjhyv";
+        sha256 = "0wx8wkgkzvw9094baa3dni834l0n4p6ih024bj1851sgwwnidb0a";
       };
     };
     x86_64-darwin = {
@@ -43,7 +43,7 @@ let
       canary = fetchurl {
         url =
           "https://dl-canary.discordapp.net/apps/osx/${version}/DiscordCanary.dmg";
-        sha256 = "0ccchsywry68vv81pqzzxmh1r19lnvxr429iwvgfr9y82lyjvz06";
+        sha256 = "0mqpk1szp46mih95x42ld32rrspc6jx1j7qdaxf01whzb3d4pi9l";
       };
     };
     # Only PTB bundles a MachO Universal binary with ARM support.
@@ -61,24 +61,24 @@ let
       ++ lib.optionals (branch == "ptb") [ "aarch64-darwin" ];
   };
   package = if stdenv.isLinux then ./linux.nix else ./darwin.nix;
-  packages = {
-    stable = callPackage package rec {
-      inherit src version meta;
-      pname = "discord";
-      binaryName = "Discord";
-      desktopName = "Discord";
-    };
-    ptb = callPackage package rec {
-      inherit src version meta;
-      pname = "discord-ptb";
-      binaryName = "DiscordPTB";
-      desktopName = "Discord PTB";
-    };
-    canary = callPackage package rec {
-      inherit src version meta;
-      pname = "discord-canary";
-      binaryName = "DiscordCanary";
-      desktopName = "Discord Canary";
-    };
-  };
+  packages = (builtins.mapAttrs
+    (_: value: callPackage package (value // { inherit src version; meta = meta // { mainProgram = value.binaryName; }; }))
+    {
+      stable = rec {
+        pname = "discord";
+        binaryName = "Discord";
+        desktopName = "Discord";
+      };
+      ptb = rec {
+        pname = "discord-ptb";
+        binaryName = "DiscordPTB";
+        desktopName = "Discord PTB";
+      };
+      canary = rec {
+        pname = "discord-canary";
+        binaryName = "DiscordCanary";
+        desktopName = "Discord Canary";
+      };
+    }
+  );
 in packages.${branch}
diff --git a/pkgs/applications/networking/instant-messengers/discord/linux.nix b/pkgs/applications/networking/instant-messengers/discord/linux.nix
index c9e642aceb9..05833c1eeaf 100644
--- a/pkgs/applications/networking/instant-messengers/discord/linux.nix
+++ b/pkgs/applications/networking/instant-messengers/discord/linux.nix
@@ -100,8 +100,8 @@ stdenv.mkDerivation rec {
     icon = pname;
     inherit desktopName;
     genericName = meta.description;
-    categories = "Network;InstantMessaging;";
-    mimeType = "x-scheme-handler/discord";
+    categories = [ "Network" "InstantMessaging" ];
+    mimeTypes = [ "x-scheme-handler/discord" ];
   };
 
   passthru.updateScript = writeScript "discord-update-script" ''
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 90a08236676..ac0869e5cdc 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.10.1",
+  "version": "1.10.4",
   "description": "A feature-rich client for Matrix.org",
   "author": "Element",
   "repository": {
diff --git a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
index 5ba7a1f7b20..2ad5d8c4654 100644
--- a/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/element/element-desktop.nix
@@ -12,12 +12,16 @@
 , Security
 , AppKit
 , CoreServices
+, desktopToDarwinBundle
+, useKeytar ? true
 }:
 
 let
   pinData = lib.importJSON ./pin.json;
   executableName = "element-desktop";
   electron_exec = if stdenv.isDarwin then "${electron}/Applications/Electron.app/Contents/MacOS/Electron" else "${electron}/bin/electron";
+  keytar = callPackage ./keytar { inherit Security AppKit; };
+  seshat = callPackage ./seshat { inherit CoreServices; };
 in
 mkYarnPackage rec {
   pname = "element-desktop";
@@ -36,10 +40,9 @@ mkYarnPackage rec {
     sha256 = pinData.desktopYarnHash;
   };
 
-  nativeBuildInputs = [ makeWrapper ];
+  nativeBuildInputs = [ makeWrapper ] ++ lib.optionals stdenv.isDarwin [ desktopToDarwinBundle ];
 
-  seshat = callPackage ./seshat { inherit CoreServices; };
-  keytar = callPackage ./keytar { inherit Security AppKit; };
+  inherit seshat;
 
   buildPhase = ''
     runHook preBuild
@@ -50,12 +53,14 @@ mkYarnPackage rec {
     node ./scripts/copy-res.js
     popd
     rm -rf node_modules/matrix-seshat node_modules/keytar
-    ln -s $keytar node_modules/keytar
+    ${lib.optionalString useKeytar "ln -s ${keytar} node_modules/keytar"}
     ln -s $seshat node_modules/matrix-seshat
     runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     # resources
     mkdir -p "$out/share/element"
     ln -s '${element-web}' "$out/share/element/webapp"
@@ -82,6 +87,8 @@ mkYarnPackage rec {
       --set LD_PRELOAD ${sqlcipher}/lib/libsqlcipher.so \
       --add-flags "$out/share/element/electron" \
       --add-flags "\''${NIXOS_OZONE_WL:+\''${WAYLAND_DISPLAY:+--enable-features=UseOzonePlatform --ozone-platform=wayland}}"
+
+    runHook postInstall
   '';
 
   # Do not attempt generating a tarball for element-web again.
@@ -99,14 +106,25 @@ mkYarnPackage rec {
     desktopName = "Element";
     genericName = "Matrix Client";
     comment = meta.description;
-    categories = "Network;InstantMessaging;Chat;";
-    extraEntries = ''
-      StartupWMClass=element
-      MimeType=x-scheme-handler/element;
-    '';
+    categories = [ "Network" "InstantMessaging" "Chat" ];
+    startupWMClass = "element";
+    mimeTypes = [ "x-scheme-handler/element" ];
   };
 
-  passthru.updateScript = ./update.sh;
+  passthru = {
+    updateScript = ./update.sh;
+
+    # TL;DR: keytar is optional while seshat isn't.
+    #
+    # This prevents building keytar when `useKeytar` is set to `false`, because
+    # if libsecret is unavailable (e.g. set to `null` or fails to build), then
+    # this package wouldn't even considered for building because
+    # "one of the dependencies failed to build",
+    # although the dependency wouldn't even be used.
+    #
+    # It needs to be `passthru` anyways because other packages do depend on it.
+    inherit keytar;
+  };
 
   meta = with lib; {
     description = "A feature-rich client for Matrix.org";
diff --git a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
index ae9627afe30..292b0dfa075 100644
--- a/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
+++ b/pkgs/applications/networking/instant-messengers/element/keytar/default.nix
@@ -28,6 +28,7 @@ in stdenv.mkDerivation rec {
   };
 
   buildPhase = ''
+    runHook preBuild
     cp ${./yarn.lock} ./yarn.lock
     chmod u+w . ./yarn.lock
     export HOME=$PWD/tmp
@@ -37,16 +38,19 @@ in stdenv.mkDerivation rec {
     yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
     patchShebangs node_modules/
     node_modules/.bin/node-gyp rebuild
+    runHook postBuild
   '';
 
   doCheck = false;
 
   installPhase = ''
+    runHook preInstall
     shopt -s extglob
     rm -rf node_modules
     rm -rf $HOME
     mkdir -p $out
     cp -r ./!(build) $out
     install -D -t $out/build/Release build/Release/keytar.node
+    runHook postInstall
   '';
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/pin.json b/pkgs/applications/networking/instant-messengers/element/pin.json
index 05e20b01d74..27dbb16f088 100644
--- a/pkgs/applications/networking/instant-messengers/element/pin.json
+++ b/pkgs/applications/networking/instant-messengers/element/pin.json
@@ -1,6 +1,6 @@
 {
-  "version": "1.10.1",
-  "desktopSrcHash": "cA+yXVkfizVRbbykFRhNIbdaGLuEk2IuKFO8YJt78Q4=",
-  "desktopYarnHash": "0kz6vkfxxk4sbr9zpaig1lhsbwj4f57v4f4pr373xxsnk1wagkfn",
-  "webHash": "1g5hw39fr7adazmafpxivfxv28nzcv99r8sihga1j91avf6lxkim"
+  "version": "1.10.4",
+  "desktopSrcHash": "cuMo0wRMC6+un3BQK0+Ecnjvs6HugNk71yElNJarlyc=",
+  "desktopYarnHash": "0llnqwgiqggfcgjyaar2h2r1pyw8m14icfb1pcdphqxrah9gpsar",
+  "webHash": "0vf8npddbx4dmq9c1ghak97jn28b18ssblbrq5smdhlzsnxlpm3l"
 }
diff --git a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
index de38c7a90ba..5017f853117 100644
--- a/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/element/seshat/default.nix
@@ -27,6 +27,7 @@ in rustPlatform.buildRustPackage rec {
   };
 
   buildPhase = ''
+    runHook preBuild
     cd ..
     chmod u+w . ./yarn.lock
     export HOME=$PWD/tmp
@@ -36,16 +37,18 @@ in rustPlatform.buildRustPackage rec {
     yarn install --offline --frozen-lockfile --ignore-platform --ignore-scripts --no-progress --non-interactive
     patchShebangs node_modules/
     node_modules/.bin/neon build --release
+    runHook postBuild
   '';
 
   doCheck = false;
 
   installPhase = ''
+    runHook preInstall
     shopt -s extglob
     rm -rf native/!(index.node)
-    rm -rf node_modules
-    rm -rf $HOME
+    rm -rf node_modules $HOME
     cp -r . $out
+    runHook postInstall
   '';
 
   cargoSha256 = pinData.cargoHash;
diff --git a/pkgs/applications/networking/instant-messengers/fluffychat/default.nix b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
new file mode 100644
index 00000000000..99aef1526d5
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/fluffychat/default.nix
@@ -0,0 +1,81 @@
+{ lib
+, fetchFromGitLab
+, flutter
+, olm
+, imagemagick
+, makeDesktopItem
+}:
+
+flutter.mkFlutterApp rec {
+  pname = "fluffychat";
+  version = "1.2.0";
+
+  vendorHash = "sha256-j5opwEFifa+DMG7Uziv4SWEPVokD6OSq8mSIr0AdDL0=";
+
+  src = fetchFromGitLab {
+    owner = "famedly";
+    repo = "fluffychat";
+    rev = "v${version}";
+    hash = "sha256-PJH3jMQc6u9R6Snn+9rNN8t+8kt6l3Xt7zKPbpqj13E=";
+  };
+
+  desktopItem = makeDesktopItem {
+    name = "Fluffychat";
+    exec = "@out@/bin/fluffychat";
+    icon = "fluffychat";
+    desktopName = "Fluffychat";
+    genericName = "Chat with your friends (matrix client)";
+    categories = "Chat;Network;InstantMessaging;";
+  };
+
+  buildInputs = [
+    olm
+  ];
+
+  nativeBuildInputs = [
+    imagemagick
+  ];
+
+  flutterExtraFetchCommands = ''
+    M=$(echo $TMP/.pub-cache/hosted/pub.dartlang.org/matrix-*)
+    sed -i $M/scripts/prepare.sh \
+      -e "s|/usr/lib/x86_64-linux-gnu/libolm.so.3|/bin/sh|g"  \
+      -e "s|if which flutter >/dev/null; then|exit; if which flutter >/dev/null; then|g"
+
+    pushd $M
+    bash scripts/prepare.sh
+    popd
+  '';
+
+  # replace olm dummy path
+  postConfigure = ''
+    M=$(echo $TMP/.pub-cache/hosted/pub.dartlang.org/matrix-*)
+    ln -sf ${olm}/lib/libolm.so.3 $M/ffi/olm/libolm.so
+  '';
+
+  postInstall = ''
+    FAV=$out/app/data/flutter_assets/assets/favicon.png
+    ICO=$out/share/icons
+
+    install -D $FAV $ICO/fluffychat.png
+    mkdir $out/share/applications
+    cp $desktopItem/share/applications/*.desktop $out/share/applications
+
+    for s in 24 32 42 64 128 256 512; do
+      D=$ICO/hicolor/''${s}x''${s}/apps
+      mkdir -p $D
+      convert $FAV -resize ''${s}x''${s} $D/fluffychat.png
+    done
+
+    substituteInPlace $out/share/applications/*.desktop \
+      --subst-var out
+  '';
+
+  meta = with lib; {
+    description = "Chat with your friends (matrix client)";
+    homepage = "https://fluffychat.im/";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ mkg20001 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/franz/generic.nix b/pkgs/applications/networking/instant-messengers/franz/generic.nix
index 4496af4a1df..7438e5496ac 100644
--- a/pkgs/applications/networking/instant-messengers/franz/generic.nix
+++ b/pkgs/applications/networking/instant-messengers/franz/generic.nix
@@ -13,7 +13,6 @@
 , freetype
 , fontconfig
 , gtk3
-, gnome2
 , dbus
 , nss
 , nspr
@@ -61,7 +60,6 @@ stdenv.mkDerivation rec {
     freetype
     fontconfig
     dbus
-    gnome2.GConf
     nss
     nspr
     alsa-lib
diff --git a/pkgs/applications/networking/instant-messengers/gitter/default.nix b/pkgs/applications/networking/instant-messengers/gitter/default.nix
index 854cc18a47f..8ed85cba854 100644
--- a/pkgs/applications/networking/instant-messengers/gitter/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gitter/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, alsa-lib, atk, at-spi2-core, cairo, cups, dbus, dpkg, expat, fetchurl
-, fontconfig, freetype, gdk-pixbuf, glib, gnome2, gtk3,  libdrm, libX11
+, fontconfig, freetype, gdk-pixbuf, glib, gtk3,  libdrm, libX11
 , libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext, libXfixes
 , libXi, libXrandr, libXrender, libXtst, libappindicator-gtk3, libcxx
 , libnotify, libpulseaudio, libxcb, makeDesktopItem, makeWrapper, mesa, nspr, nss
@@ -18,7 +18,6 @@ let gitterDirectorySuffix = "opt/gitter";
      freetype
      gdk-pixbuf
      glib
-     gnome2.GConf
      gtk3
      libX11
      libXScrnSaver
@@ -89,7 +88,7 @@ in stdenv.mkDerivation rec {
     icon = pname;
     desktopName = "Gitter";
     genericName = meta.description;
-    categories = "Network;InstantMessaging;";
+    categories = [ "Network" "InstantMessaging" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/gomuks/default.nix b/pkgs/applications/networking/instant-messengers/gomuks/default.nix
index 5f2a094ca36..695089c23e6 100644
--- a/pkgs/applications/networking/instant-messengers/gomuks/default.nix
+++ b/pkgs/applications/networking/instant-messengers/gomuks/default.nix
@@ -40,10 +40,10 @@ buildGoModule rec {
       makeDesktopItem {
         name = "net.maunium.gomuks.desktop";
         exec = "@out@/bin/gomuks";
-        terminal = "true";
+        terminal = true;
         desktopName = "Gomuks";
         genericName = "Matrix client";
-        categories = "Network;Chat";
+        categories = [ "Network" "Chat" ];
         comment = meta.description;
       }
     }/* $out/
diff --git a/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix b/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix
new file mode 100644
index 00000000000..6430ebdd22f
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/gurk-rs/default.nix
@@ -0,0 +1,30 @@
+{ stdenv
+, lib
+, protobuf
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "gurk-rs";
+  version = "0.2.3";
+
+  src = fetchFromGitHub {
+    owner = "boxdot";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Mko5udM8BY50uUwn7xESxB+s0MEO1kAJX4Dt/DnEEa4=";
+  };
+
+  cargoHash = "sha256-pYMMgBvLsqkj2peouDQK1vn97ByUjtdCrkbzuZZLXrY=";
+  buildInputs = [ protobuf ];
+
+  PROTOC = "${protobuf}/bin/protoc";
+
+  meta = with lib; {
+    description = "Signal Messenger client for terminal";
+    homepage = "https://github.com/boxdot/gurk-rs";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ devhell ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/jami/daemon.nix b/pkgs/applications/networking/instant-messengers/jami/daemon.nix
index a324d061aa7..f39b731132e 100644
--- a/pkgs/applications/networking/instant-messengers/jami/daemon.nix
+++ b/pkgs/applications/networking/instant-messengers/jami/daemon.nix
@@ -7,7 +7,7 @@
 , autoreconfHook
 , pkg-config
 , perl # for pod2man
-, ffmpeg
+, ffmpeg_4
 , pjsip
 , alsa-lib
 , asio
@@ -39,7 +39,7 @@
 let
   readLinesToList = with builtins; file: filter (s: isString s && stringLength s > 0) (split "\n" (readFile file));
 
-  ffmpeg-jami = ffmpeg.overrideAttrs (old:
+  ffmpeg-jami = ffmpeg_4.overrideAttrs (old:
     let
       patch-src = src + "/daemon/contrib/src/ffmpeg/";
     in
diff --git a/pkgs/applications/networking/instant-messengers/jami/default.nix b/pkgs/applications/networking/instant-messengers/jami/default.nix
index 5be6e021178..3e0ba8bb5e8 100644
--- a/pkgs/applications/networking/instant-messengers/jami/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jami/default.nix
@@ -8,11 +8,11 @@
 }:
 
 rec {
-  version = "20211213.2.37be4c3";
+  version = "20211223.2.37be4c3";
 
   src = fetchzip {
     url = "https://dl.jami.net/release/tarballs/jami_${version}.tar.gz";
-    sha256 = "08abswvxwsxh6b0smb4l4cmymsbfiy7473b2sgvghj55w603prsc";
+    sha256 = "1zw9azwmxr4991nq5kl527lbwlj7psrissgvrkl1kxxbfbdncbhh";
 
     stripRoot = false;
     extraPostFetch = ''
diff --git a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
index 7bd27285fd4..2395a196f60 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi-meet-electron/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet-electron";
-  version = "2.8.11";
+  version = "2022.1.1";
 
   src = fetchurl {
     url = "https://github.com/jitsi/jitsi-meet-electron/releases/download/v${version}/jitsi-meet-x86_64.AppImage";
-    sha256 = "sha256-DznbSwA1UISw3EkIfM5hGgmIToeXsH1b1HB7UOgDTKU=";
+    sha256 = "0x3fdqgjnsd570b7nszfx3h8l5c8x2kg32ig85n2a2g481c7xi6l";
     name = "${pname}-${version}.AppImage";
   };
 
diff --git a/pkgs/applications/networking/instant-messengers/jitsi/default.nix b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
index e2ace1a5d35..21c28c7391a 100644
--- a/pkgs/applications/networking/instant-messengers/jitsi/default.nix
+++ b/pkgs/applications/networking/instant-messengers/jitsi/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
     comment = "VoIP and Instant Messaging client";
     desktopName = "Jitsi";
     genericName = "Instant Messaging";
-    categories = "Chat";
+    categories = [ "Chat" ];
   };
 
   libPath = lib.makeLibraryPath ([
diff --git a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
index 874fbd6375d..6f53fe2b3a3 100644
--- a/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mattermost-desktop/default.nix
@@ -1,105 +1,91 @@
-{ lib, stdenv, fetchurl, gnome2, gtk3, pango, atk, cairo, gdk-pixbuf, glib,
-freetype, fontconfig, dbus, libX11, xorg, libXi, libXcursor, libXdamage,
-libXrandr, libXcomposite, libXext, libXfixes, libXrender, libXtst,
-libXScrnSaver, nss, nspr, alsa-lib, cups, expat, udev, wrapGAppsHook,
-hicolor-icon-theme, libuuid, at-spi2-core, at-spi2-atk, libappindicator-gtk3 }:
+{ lib
+, stdenv
+, fetchurl
+, atomEnv
+, systemd
+, pulseaudio
+, libxshmfence
+, libnotify
+, libappindicator-gtk3
+, wrapGAppsHook
+, autoPatchelfHook
+}:
 
 let
-  rpath = lib.makeLibraryPath [
-    alsa-lib
-    at-spi2-atk
-    at-spi2-core
-    atk
-    cairo
-    cups
-    dbus
-    expat
-    fontconfig
-    freetype
-    gdk-pixbuf
-    glib
-    gnome2.GConf
-    gtk3
-    pango
+
+  pname = "mattermost-desktop";
+  version = "5.0.3";
+
+  srcs = {
+    "x86_64-linux" = {
+      url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz";
+      hash = "sha256-KLSWJpNSMGmfugbkFIJLDnxcZtrtBZOGjLlR+kAoMTA=";
+    };
+
+    "i686-linux" = {
+      url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-ia32.tar.gz";
+      hash = "sha256-4ofjOsfGbgO1PSqQpigNp90JsvlGP1kGexVAR/h3/88=";
+    };
+  };
+
+  inherit (stdenv.hostPlatform) system;
+
+in
+
+stdenv.mkDerivation {
+  inherit pname version;
+
+  src = fetchurl (srcs."${system}" or (throw "Unsupported system ${system}"));
+
+  dontBuild = true;
+  dontConfigure = true;
+  dontStrip = true;
+
+  nativeBuildInputs = [ wrapGAppsHook autoPatchelfHook ];
+
+  buildInputs = atomEnv.packages ++ [
+    libxshmfence
+  ];
+
+  runtimeDependencies = [
+    (lib.getLib systemd)
+    pulseaudio
+    libnotify
     libappindicator-gtk3
-    libuuid
-    libX11
-    libXScrnSaver
-    libXcomposite
-    libXcursor
-    libXdamage
-    libXext
-    libXfixes
-    libXi
-    libXrandr
-    libXrender
-    libXtst
-    nspr
-    nss
-    stdenv.cc.cc
-    udev
-    xorg.libxcb
   ];
 
-in
-  stdenv.mkDerivation rec {
-    pname = "mattermost-desktop";
-    version = "4.6.2";
-
-    src =
-      if stdenv.hostPlatform.system == "x86_64-linux" then
-        fetchurl {
-          url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-x64.tar.gz";
-          sha256 = "0i836bc0gx375a9fm2cdxg84k03zhpx1z6jqxndf2m8pkfsblc3x";
-        }
-      else if stdenv.hostPlatform.system == "i686-linux" then
-        fetchurl {
-          url = "https://releases.mattermost.com/desktop/${version}/${pname}-${version}-linux-ia32.tar.gz";
-          sha256 = "04jv9hkmkh0jipv0fjdprnp5kmkjvf3c0fah6ysi21wmnmp5ab3m";
-        }
-      else
-        throw "Mattermost-Desktop is not currently supported on ${stdenv.hostPlatform.system}";
-
-    dontBuild = true;
-    dontConfigure = true;
-    dontPatchELF = true;
-
-    nativeBuildInputs = [ wrapGAppsHook ];
-
-    buildInputs = [ gtk3 hicolor-icon-theme ];
-
-    installPhase = ''
-      runHook preInstall
-
-      mkdir -p $out/share/mattermost-desktop
-      cp -R . $out/share/mattermost-desktop
-
-      mkdir -p "$out/bin"
-      ln -s $out/share/mattermost-desktop/mattermost-desktop \
-        $out/bin/mattermost-desktop
-
-      patchShebangs $out/share/mattermost-desktop/create_desktop_file.sh
-      $out/share/mattermost-desktop/create_desktop_file.sh
-      rm $out/share/mattermost-desktop/create_desktop_file.sh
-      mkdir -p $out/share/applications
-      mv Mattermost.desktop $out/share/applications/Mattermost.desktop
-      substituteInPlace \
-        $out/share/applications/Mattermost.desktop \
-        --replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop
-
-      patchelf \
-        --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-        --set-rpath "${rpath}:$out/share/mattermost-desktop" \
-        $out/share/mattermost-desktop/mattermost-desktop
-
-      runHook postInstall
-    '';
-
-    meta = with lib; {
-      description = "Mattermost Desktop client";
-      homepage    = "https://about.mattermost.com/";
-      license     = licenses.asl20;
-      platforms   = [ "x86_64-linux" "i686-linux" ];
-      maintainers = [ maintainers.joko ];
-    };
-  }
+  installPhase = ''
+    runHook preInstall
+
+    # Mattermost tarball comes with executable bit set for everything.
+    # We’ll apply it only to files that need it.
+    find . -type f -print0 | xargs -0 chmod -x
+    find . -type f \( -name '*.so.*' -o -name '*.s[oh]' \) -print0 | xargs -0 chmod +x
+    chmod +x mattermost-desktop chrome-sandbox
+
+    mkdir -p $out/share/mattermost-desktop
+    cp -R . $out/share/mattermost-desktop
+
+    mkdir -p "$out/bin"
+    ln -s $out/share/mattermost-desktop/mattermost-desktop $out/bin/mattermost-desktop
+
+    patchShebangs $out/share/mattermost-desktop/create_desktop_file.sh
+    $out/share/mattermost-desktop/create_desktop_file.sh
+    rm $out/share/mattermost-desktop/create_desktop_file.sh
+    mkdir -p $out/share/applications
+    chmod -x Mattermost.desktop
+    mv Mattermost.desktop $out/share/applications/Mattermost.desktop
+    substituteInPlace $out/share/applications/Mattermost.desktop \
+      --replace /share/mattermost-desktop/mattermost-desktop /bin/mattermost-desktop
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Mattermost Desktop client";
+    homepage = "https://about.mattermost.com/";
+    license = licenses.asl20;
+    platforms = [ "x86_64-linux" "i686-linux" ];
+    maintainers = [ maintainers.joko ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/mikutter/default.nix b/pkgs/applications/networking/instant-messengers/mikutter/default.nix
index c20ec46f266..ffc2eea5b86 100644
--- a/pkgs/applications/networking/instant-messengers/mikutter/default.nix
+++ b/pkgs/applications/networking/instant-messengers/mikutter/default.nix
@@ -49,9 +49,9 @@ let
       desktopName = "mikutter";
       exec = "mikutter";
       icon = "mikutter";
-      categories = "Network;";
+      categories = [ "Network" ];
       comment = description;
-      extraDesktopEntries.Keywords = "Mastodon;";
+      keywords = [ "Mastodon" ];
     };
 
   mkInfoPlist = { version }:
diff --git a/pkgs/applications/networking/instant-messengers/neochat/default.nix b/pkgs/applications/networking/instant-messengers/neochat/default.nix
index b6706d64786..6de6922913f 100644
--- a/pkgs/applications/networking/instant-messengers/neochat/default.nix
+++ b/pkgs/applications/networking/instant-messengers/neochat/default.nix
@@ -61,7 +61,7 @@ mkDerivation rec {
     description = "A client for matrix, the decentralized communication protocol.";
     homepage = "https://apps.kde.org/en/neochat";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ mjlbach peterhoeg ];
+    maintainers = with maintainers; [ peterhoeg ];
     platforms = with platforms; linux;
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
index 9722d3b89e3..894294ae24c 100644
--- a/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
+++ b/pkgs/applications/networking/instant-messengers/pantalaimon/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonApplication rec {
   pname = "pantalaimon";
-  version = "0.10.2";
+  version = "0.10.4";
 
   disabled = pythonOlder "3.6";
 
@@ -19,7 +19,7 @@ buildPythonApplication rec {
     owner = "matrix-org";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sjaJomKMKSZqLlKWTG7Oa87dXa5SnGQlVnrdS707A1w=";
+    sha256 = "sha256-X6DJHH+ZBPw7iWVMa43HvVFh+LDn6shzOU1A2uiAYL4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
index d1cf00969b1..9288f272134 100644
--- a/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
+++ b/pkgs/applications/networking/instant-messengers/psi-plus/default.nix
@@ -43,13 +43,13 @@ assert enablePsiMedia -> enablePlugins;
 
 mkDerivation rec {
   pname = "psi-plus";
-  version = "1.5.1596";
+  version = "1.5.1600";
 
   src = fetchFromGitHub {
     owner = "psi-plus";
     repo = "psi-plus-snapshots";
     rev = version;
-    sha256 = "sha256-8GnENdoFgFa+pDN8C+W5qoFxsCE7tl3dUHf5TBipo5g=";
+    sha256 = "sha256-AZSxElEpYUYa92KdYxVyM+ppKHpXXwwlBFVOOKH/O7g=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/instant-messengers/rambox/rambox.nix b/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
index df038611c3b..d4329ed09d3 100644
--- a/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
+++ b/pkgs/applications/networking/instant-messengers/rambox/rambox.nix
@@ -10,8 +10,7 @@ let
     name = pname;
     exec = pname;
     icon = pname;
-    type = "Application";
-    categories = "Network;";
+    categories = [ "Network" ];
   });
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/networking/instant-messengers/ricochet/default.nix b/pkgs/applications/networking/instant-messengers/ricochet/default.nix
index 0aa2d4cc677..f612ec524a7 100644
--- a/pkgs/applications/networking/instant-messengers/ricochet/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ricochet/default.nix
@@ -31,7 +31,7 @@ mkDerivation rec {
     desktopName = "Ricochet";
     genericName = "Ricochet";
     comment = meta.description;
-    categories = "Office;Email;";
+    categories = [ "Office" "Email" ];
   };
 
   buildInputs = [
diff --git a/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix b/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix
new file mode 100644
index 00000000000..ef9dad66b5d
--- /dev/null
+++ b/pkgs/applications/networking/instant-messengers/ripcord/darwin.nix
@@ -0,0 +1,33 @@
+{ stdenvNoCC, lib, fetchzip }:
+
+stdenvNoCC.mkDerivation rec {
+  pname = "ripcord";
+  version = "0.4.29";
+
+  src = fetchzip {
+    url = "https://cancel.fm/dl/Ripcord_Mac_${version}.zip";
+    sha256 = "sha256-v8iydjLBjFN5LuctpcBpEkhSICxPhLKzLjSASWtsQok=";
+    stripRoot = false;
+  };
+
+  dontBuild = true;
+  dontFixup = true; # modification is not allowed by the license https://cancel.fm/ripcord/shareware-redistribution/
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/Applications
+    cp -r $src/Ripcord.app $out/Applications/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Desktop chat client for Slack and Discord";
+    homepage = "https://cancel.fm/ripcord/";
+    # See: https://cancel.fm/ripcord/shareware-redistribution/
+    license = licenses.unfreeRedistributable;
+    maintainers = with maintainers; [ mikroskeem ];
+    platforms = [ "x86_64-darwin" ];
+  };
+}
diff --git a/pkgs/applications/networking/instant-messengers/ripcord/default.nix b/pkgs/applications/networking/instant-messengers/ripcord/default.nix
index 76f93d9d217..76f93d9d217 100755..100644
--- a/pkgs/applications/networking/instant-messengers/ripcord/default.nix
+++ b/pkgs/applications/networking/instant-messengers/ripcord/default.nix
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/pin.json b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
index 30ca1e9f475..c8f5f30daaf 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/pin.json
+++ b/pkgs/applications/networking/instant-messengers/schildichat/pin.json
@@ -1,6 +1,7 @@
 {
-  "version": "1.9.7-sc.1",
-  "srcHash": "0qrjjwcxa141phsgdz325rrkfmjqdmxc3h917cs9c9kf6cblkxaq",
-  "webYarnHash": "19c594pql2yz1z15phfdlkwcvrcbm8k058fcq7p0k6840dhif5fd",
-  "desktopYarnHash": "058ihkljb1swjzvgf8gqci5ghvwapmpcf2bsab3yr66lhps7fhci"
+  "version": "1.10.3-sc.0.test.1",
+  "rev": "3a8eecb023c832acc4390d3a51c0940eafb2b3bd",
+  "srcHash": "07amc69ghfz39jbps14ysfql4m42dmzbdjq9hqvzirhqz52mshf3",
+  "webYarnHash": "0knkl8sanqcx0lxjclz6s8vm5wpn8aywx9vydz7lda3l6c2g5zqf",
+  "desktopYarnHash": "0akmgib212gkygvs2snn9c43k3ika3ipg85d480j3hqyb6yxwqmn"
 }
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
index f16c7b599e4..a87d57ecc91 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
+++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-desktop.nix
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "https://github.com/SchildiChat/schildichat-desktop/";
-    rev = "v${version}";
+    inherit (pinData) rev;
     sha256 = pinData.srcHash;
     fetchSubmodules = true;
   };
@@ -108,11 +108,9 @@ stdenv.mkDerivation rec {
       desktopName = "SchildiChat";
       genericName = "Matrix Client";
       comment = meta.description;
-      categories = "Network;InstantMessaging;Chat;";
-      extraEntries = ''
-        StartupWMClass=schildichat
-        MimeType=x-scheme-handler/element;
-      '';
+      categories = [ "Network" "InstantMessaging" "Chat" ];
+      startupWMClass = "schildichat";
+      mimeTypes = [ "x-scheme-handler/element" ];
     })
   ];
 
@@ -122,7 +120,7 @@ stdenv.mkDerivation rec {
     description = "Matrix client / Element Desktop fork";
     homepage = "https://schildi.chat/";
     changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
-    maintainers = lib.teams.matrix.members;
+    maintainers = lib.teams.matrix.members ++ [ lib.maintainers.kloenk ];
     license = lib.licenses.asl20;
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
index c1bfc98047b..c3860c9f05c 100644
--- a/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
+++ b/pkgs/applications/networking/instant-messengers/schildichat/schildichat-web.nix
@@ -20,7 +20,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchgit {
     url = "https://github.com/SchildiChat/schildichat-desktop/";
-    rev = "v${version}";
+    inherit (pinData) rev;
     sha256 = pinData.srcHash;
     fetchSubmodules = true;
   };
@@ -79,7 +79,7 @@ in stdenv.mkDerivation rec {
     description = "Matrix client / Element Web fork";
     homepage = "https://schildi.chat/";
     changelog = "https://github.com/SchildiChat/schildichat-desktop/releases";
-    maintainers = lib.teams.matrix.members;
+    maintainers = lib.teams.matrix.members ++ [ lib.maintainers.kloenk ];
     license = lib.licenses.asl20;
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/applications/networking/instant-messengers/schildichat/update.sh b/pkgs/applications/networking/instant-messengers/schildichat/update.sh
index 3f5289de8c4..7abc0f3322b 100755
--- a/pkgs/applications/networking/instant-messengers/schildichat/update.sh
+++ b/pkgs/applications/networking/instant-messengers/schildichat/update.sh
@@ -1,24 +1,27 @@
 #!/usr/bin/env nix-shell
 #!nix-shell -I nixpkgs=../../../../../ -i bash -p nix wget prefetch-yarn-deps nix-prefetch-git jq
 
-if [[ "$#" -gt 1 || "$1" == -* ]]; then
+if [[ "$#" -gt 2 || "$1" == -* ]]; then
   echo "Regenerates packaging data for the SchildiChat packages."
-  echo "Usage: $0 [git release tag]"
+  echo "Usage: $0 [git revision or tag] [version string override]"
   exit 1
 fi
 
-version="$1"
+rev="$1"
+version="$2"
 
 set -euo pipefail
 
-if [ -z "$version" ]; then
-  version="$(wget -O- "https://api.github.com/repos/SchildiChat/schildichat-desktop/releases?per_page=1" | jq -r '.[0].tag_name')"
+if [ -z "$rev" ]; then
+  rev="$(wget -O- "https://api.github.com/repos/SchildiChat/schildichat-desktop/releases?per_page=1" | jq -r '.[0].tag_name')"
 fi
 
-# strip leading "v"
-version="${version#v}"
+if [ -z "$version" ]; then
+  # strip leading "v"
+  version="${rev#v}"
+fi
 
-src_data=$(nix-prefetch-git https://github.com/SchildiChat/schildichat-desktop --fetch-submodules --rev v${version})
+src_data=$(nix-prefetch-git https://github.com/SchildiChat/schildichat-desktop --fetch-submodules --rev $rev)
 src=$(echo $src_data | jq -r .path)
 src_hash=$(echo $src_data | jq -r .sha256)
 
@@ -28,6 +31,7 @@ desktop_yarn_hash=$(prefetch-yarn-deps $src/element-desktop/yarn.lock)
 cat > pin.json << EOF
 {
   "version": "$version",
+  "rev": "$rev",
   "srcHash": "$src_hash",
   "webYarnHash": "$web_yarn_hash",
   "desktopYarnHash": "$desktop_yarn_hash"
diff --git a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
index c998f869d1e..9126a587dc7 100644
--- a/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
+++ b/pkgs/applications/networking/instant-messengers/session-desktop-appimage/default.nix
@@ -5,10 +5,10 @@
 
 appimageTools.wrapType2 rec {
   pname = "session-desktop-appimage";
-  version = "1.7.6";
+  version = "1.7.7";
   src = fetchurl {
     url = "https://github.com/oxen-io/session-desktop/releases/download/v${version}/session-desktop-linux-x86_64-${version}.AppImage";
-    sha256 = "PNjUslqLcSxkRSXFpesBr2sfre4wetZWfUQTjywdClU=";
+    sha256 = "iMJk7/Q3Kh2KwLs0m+DAPVv471iPZcsIs4+YCSbmeIo=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
index 8ed3166871a..8af5185386c 100644
--- a/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signal-desktop/default.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, autoPatchelfHook, dpkg, wrapGAppsHook, nixosTests
-, gnome2, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
+, gtk3, atk, at-spi2-atk, cairo, pango, gdk-pixbuf, glib, freetype, fontconfig
 , dbus, libX11, xorg, libXi, libXcursor, libXdamage, libXrandr, libXcomposite
 , libXext, libXfixes, libXrender, libXtst, libXScrnSaver, nss, nspr, alsa-lib
 , cups, expat, libuuid, at-spi2-core, libappindicator-gtk3, mesa
@@ -24,7 +24,7 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "signal-desktop";
-  version = "5.30.0"; # Please backport all updates to the stable channel.
+  version = "5.31.1"; # Please backport all updates to the stable channel.
   # All releases have a limited lifetime and "expire" 90 days after the release.
   # When releases "expire" the application becomes unusable until an update is
   # applied. The expiration date for the current release can be extracted with:
@@ -34,7 +34,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://updates.signal.org/desktop/apt/pool/main/s/signal-desktop/signal-desktop_${version}_amd64.deb";
-    sha256 = "sha256-+e3QzV4WIBOSGkpy6uk6vzIcNB5NpqQ05ZZfaoi58IU=";
+    sha256 = "sha256-6w6znIIN5TFXTLLhazWyBXiqS5882zMNRZxYxnZjRHA=";
   };
 
   nativeBuildInputs = [
@@ -56,7 +56,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libX11
     libXScrnSaver
diff --git a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
index 5da0536b379..931e9f93d08 100644
--- a/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
+++ b/pkgs/applications/networking/instant-messengers/signalbackup-tools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "signalbackup-tools";
-  version = "20220107";
+  version = "20220218";
 
   src = fetchFromGitHub {
     owner = "bepaald";
     repo = pname;
     rev = version;
-    sha256 = "sha256-sB8/xQgSORtwupcwSejKUhHoz04exdYS0ymefw9wXDQ=";
+    sha256 = "sha256-6fwkhqXM6T0WCC1Y+GCmyLwStqhBTUAzDDsBTd5XlSE=";
   };
 
   # Remove when Apple SDK is >= 10.13
diff --git a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
index 79fae0a299a..4fc3d56bacc 100644
--- a/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
+++ b/pkgs/applications/networking/instant-messengers/skypeforlinux/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, dpkg
-, alsa-lib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome2, gnome
+, alsa-lib, atk, cairo, cups, curl, dbus, expat, fontconfig, freetype, gdk-pixbuf, glib, glibc, gnome
 , gtk3, libappindicator-gtk3, libnotify, libpulseaudio, libsecret, libv4l, nspr, nss, pango, systemd, wrapGAppsHook, xorg
 , at-spi2-atk, libuuid, at-spi2-core, libdrm, mesa, libxkbcommon, libxshmfence }:
 
@@ -26,7 +26,6 @@ let
     libsecret
     libuuid
 
-    gnome2.GConf
     gdk-pixbuf
     gtk3
     libappindicator-gtk3
diff --git a/pkgs/applications/networking/instant-messengers/slack/default.nix b/pkgs/applications/networking/instant-messengers/slack/default.nix
index d3321a9ea72..5eb7518ea37 100644
--- a/pkgs/applications/networking/instant-messengers/slack/default.nix
+++ b/pkgs/applications/networking/instant-messengers/slack/default.nix
@@ -18,7 +18,6 @@
 , freetype
 , gdk-pixbuf
 , glib
-, gnome2
 , gtk3
 , libGL
 , libappindicator-gtk3
@@ -51,8 +50,8 @@ let
   x86_64-linux-version = "4.23.0";
   x86_64-linux-sha256 = "1wsrxacnj9f3cb6as7ncbdvi02jqcbyc7ijsavps5bls9phkp0is";
 
-  aarch64-darwin-version = "4.22.0";
-  aarch64-darwin-sha256 = "1z2pcgva9ixjx702c1535b4k0xr9fdnfzi5m08xgvabk9x66hqx4";
+  aarch64-darwin-version = "4.23.0";
+  aarch64-darwin-sha256 = "053psiqysyi7l8pviq0vwvk2azlxcpdrwfa0b99f1h6lbfcf48f3";
 
   version = {
     x86_64-darwin = x86_64-darwin-version;
@@ -69,7 +68,7 @@ let
       sha256 = x86_64-darwin-sha256;
     };
     x86_64-linux = fetchurl {
-      url = "${base}/linux_releases/slack-desktop-${version}-amd64.deb";
+      url = "${base}/releases/linux/${version}/prod/x64/slack-desktop-${version}-amd64.deb";
       sha256 = x86_64-linux-sha256;
     };
     aarch64-darwin = fetchurl {
@@ -105,7 +104,6 @@ let
       freetype
       gdk-pixbuf
       glib
-      gnome2.GConf
       gtk3
       libGL
       libappindicator-gtk3
diff --git a/pkgs/applications/networking/instant-messengers/slack/update.sh b/pkgs/applications/networking/instant-messengers/slack/update.sh
index 28591d132d3..688fe579f87 100755
--- a/pkgs/applications/networking/instant-messengers/slack/update.sh
+++ b/pkgs/applications/networking/instant-messengers/slack/update.sh
@@ -18,7 +18,9 @@ nixpkgs_linux_version=$(cat "$slack_nix" | sed -n 's/.*x86_64-linux-version = \"
 nixpkgs_mac_version=$(cat "$slack_nix" | sed -n 's/.*x86_64-darwin-version = \"\([0-9\.]\+\)\";.*/\1/p')
 nixpkgs_mac_arm_version=$(cat "$slack_nix" | sed -n 's/.*aarch64-darwin-version = \"\([0-9\.]\+\)\";.*/\1/p')
 
-if [[ "$nixpkgs_linux_version" == "$latest_linux_version" && "$nixpkgs_mac_version" == "$latest_mac_version" ]]; then
+if [[ "$nixpkgs_linux_version" == "$latest_linux_version" && \
+      "$nixpkgs_mac_version" == "$latest_mac_version" && \
+      "$nixpkgs_mac_arm_version" == "$latest_mac_version" ]]; then
   echo "nixpkgs versions are all up to date!"
   exit 0
 fi
@@ -34,7 +36,7 @@ sed -i "s/x86_64-linux-version = \".*\"/x86_64-linux-version = \"${latest_linux_
 sed -i "s/x86_64-darwin-version = \".*\"/x86_64-darwin-version = \"${latest_mac_version}\"/" "$slack_nix"
 sed -i "s/aarch64-darwin-version = \".*\"/aarch64-darwin-version = \"${latest_mac_version}\"/" "$slack_nix"
 sed -i "s/x86_64-linux-sha256 = \".*\"/x86_64-linux-sha256 = \"${linux_sha256}\"/" "$slack_nix"
-sed -i "s/x86_64-darwin-sha256 = \".*\"/x86_64-darwin-sha256 = \"${mac_arm_sha256}\"/" "$slack_nix"
+sed -i "s/x86_64-darwin-sha256 = \".*\"/x86_64-darwin-sha256 = \"${mac_sha256}\"/" "$slack_nix"
 sed -i "s/aarch64-darwin-sha256 = \".*\"/aarch64-darwin-sha256 = \"${mac_arm_sha256}\"/" "$slack_nix"
 
 if ! nix-build -A slack "$nixpkgs"; then
diff --git a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
index 513f427ee13..ca6cc55d65a 100644
--- a/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
+++ b/pkgs/applications/networking/instant-messengers/teamspeak/client.nix
@@ -23,7 +23,7 @@ let
     comment = "The TeamSpeak voice communication tool";
     desktopName = "TeamSpeak";
     genericName = "TeamSpeak";
-    categories = "Network";
+    categories = [ "Network" ];
   };
 
   fakeLess = writeShellScriptBin "less" "cat";
diff --git a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
index 614183b72d0..aff74a174b9 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/kotatogram-desktop/tg_owt.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, cmake, ninja, yasm
-, libjpeg, openssl, libopus, ffmpeg, alsa-lib, libpulseaudio, protobuf
+, libjpeg, openssl, libopus, ffmpeg_4, alsa-lib, libpulseaudio, protobuf
 , xorg, libXtst
 }:
 
@@ -23,7 +23,7 @@ in stdenv.mkDerivation {
   nativeBuildInputs = [ pkg-config cmake ninja yasm ];
 
   buildInputs = [
-    libjpeg openssl libopus ffmpeg alsa-lib libpulseaudio protobuf
+    libjpeg openssl libopus ffmpeg_4 alsa-lib libpulseaudio protobuf
     xorg.libX11 libXtst
   ];
 
diff --git a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
index c58ade82d30..9a34513acab 100644
--- a/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/telegram/tdesktop/default.nix
@@ -189,6 +189,6 @@ env.mkDerivation rec {
     platforms = platforms.linux;
     homepage = "https://desktop.telegram.org/";
     changelog = "https://github.com/telegramdesktop/tdesktop/releases/tag/v${version}";
-    maintainers = with maintainers; [ oxalica vanilla ];
+    maintainers = with maintainers; [ oxalica ];
   };
 }
diff --git a/pkgs/applications/networking/instant-messengers/tensor/default.nix b/pkgs/applications/networking/instant-messengers/tensor/default.nix
index 943ec299cdb..2d5f6e2dfb7 100644
--- a/pkgs/applications/networking/instant-messengers/tensor/default.nix
+++ b/pkgs/applications/networking/instant-messengers/tensor/default.nix
@@ -32,8 +32,8 @@ mkDerivation rec {
     comment = meta.description;
     desktopName = "Tensor Matrix Client";
     genericName = meta.description;
-    categories = "Chat;Utility";
-    mimeType = "application/x-chat";
+    categories = [ "Chat" "Utility" ];
+    mimeTypes = [ "application/x-chat" ];
   };
 
   installPhase = if stdenv.isDarwin then ''
diff --git a/pkgs/applications/networking/instant-messengers/wavebox/default.nix b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
index 371ac91120b..26a6b43d448 100644
--- a/pkgs/applications/networking/instant-messengers/wavebox/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wavebox/default.nix
@@ -16,7 +16,7 @@ let
     icon = "wavebox";
     desktopName = name;
     genericName = name;
-    categories = "Network;";
+    categories = [ "Network" ];
   };
 
   tarball = "Wavebox_${replaceStrings ["."] ["_"] (toString version)}_linux_${bits}.tar.gz";
diff --git a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
index fc8fbdcede3..974d9a6a05d 100644
--- a/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
+++ b/pkgs/applications/networking/instant-messengers/wire-desktop/default.nix
@@ -68,16 +68,14 @@ let
     };
 
     desktopItem = makeDesktopItem {
-      categories = "Network;InstantMessaging;Chat;VideoConference";
+      categories = [ "Network" "InstantMessaging" "Chat" "VideoConference" ];
       comment = "Secure messenger for everyone";
       desktopName = "Wire";
       exec = "wire-desktop %U";
       genericName = "Secure messenger";
       icon = "wire-desktop";
       name = "wire-desktop";
-      extraEntries = ''
-        StartupWMClass=Wire
-      '';
+      startupWMClass = "Wire";
     };
 
     dontBuild = true;
diff --git a/pkgs/applications/networking/ipfs-migrator/all-migrations.nix b/pkgs/applications/networking/ipfs-migrator/all-migrations.nix
new file mode 100644
index 00000000000..a376e9f895b
--- /dev/null
+++ b/pkgs/applications/networking/ipfs-migrator/all-migrations.nix
@@ -0,0 +1,63 @@
+{ lib
+, stdenv
+, symlinkJoin
+, buildGoModule
+, ipfs-migrator-unwrapped
+}:
+
+# This package contains all the individual migrations in the bin directory.
+# This is used by fs-repo-migrations and could also be used by IPFS itself
+# when starting it like this: ipfs daemon --migrate
+
+let
+  fs-repo-common = pname: version: buildGoModule {
+    inherit pname version;
+    inherit (ipfs-migrator-unwrapped) src;
+    sourceRoot = "source/${pname}";
+    vendorSha256 = null;
+    doCheck = false;
+    meta = ipfs-migrator-unwrapped.meta // {
+      mainProgram = pname;
+      description = "Individual migration for the filesystem repository of ipfs clients";
+    };
+  };
+
+  # Concatenation of the latest repo version and the version of that migration
+  version = "12.1.0.2";
+
+  fs-repo-11-to-12 = fs-repo-common "fs-repo-11-to-12" "1.0.2";
+  fs-repo-10-to-11 = fs-repo-common "fs-repo-10-to-11" "1.0.1";
+  fs-repo-9-to-10  = fs-repo-common "fs-repo-9-to-10"  "1.0.1";
+  fs-repo-8-to-9   = fs-repo-common "fs-repo-8-to-9"   "1.0.1";
+  fs-repo-7-to-8   = fs-repo-common "fs-repo-7-to-8"   "1.0.1";
+  fs-repo-6-to-7   = fs-repo-common "fs-repo-6-to-7"   "1.0.1";
+  fs-repo-5-to-6   = fs-repo-common "fs-repo-5-to-6"   "1.0.1";
+  fs-repo-4-to-5   = fs-repo-common "fs-repo-4-to-5"   "1.0.1";
+  fs-repo-3-to-4   = fs-repo-common "fs-repo-3-to-4"   "1.0.1";
+  fs-repo-2-to-3   = fs-repo-common "fs-repo-2-to-3"   "1.0.1";
+  fs-repo-1-to-2   = fs-repo-common "fs-repo-1-to-2"   "1.0.1";
+  fs-repo-0-to-1   = fs-repo-common "fs-repo-0-to-1"   "1.0.1";
+
+  all-migrations = [
+    fs-repo-11-to-12
+    fs-repo-10-to-11
+    fs-repo-9-to-10
+    fs-repo-8-to-9
+    fs-repo-7-to-8
+  ] ++ lib.optional (!stdenv.isDarwin) # I didn't manage to fix this on macOS:
+    fs-repo-6-to-7                     # gx/ipfs/QmSGRM5Udmy1jsFBr1Cawez7Lt7LZ3ZKA23GGVEsiEW6F3/eventfd/eventfd.go:27:32: undefined: syscall.SYS_EVENTFD2
+  ++ [
+    fs-repo-5-to-6
+    fs-repo-4-to-5
+    fs-repo-3-to-4
+    fs-repo-2-to-3
+    fs-repo-1-to-2
+    fs-repo-0-to-1
+  ];
+
+in
+
+symlinkJoin {
+  name = "ipfs-migrator-all-fs-repo-migrations-${version}";
+  paths = all-migrations;
+}
diff --git a/pkgs/applications/networking/ipfs-migrator/default.nix b/pkgs/applications/networking/ipfs-migrator/default.nix
index abc81e213d7..d8c5de150bb 100644
--- a/pkgs/applications/networking/ipfs-migrator/default.nix
+++ b/pkgs/applications/networking/ipfs-migrator/default.nix
@@ -1,27 +1,23 @@
-{ lib, buildGoModule, fetchFromGitHub }:
+{ lib
+, buildEnv
+, makeWrapper
+, ipfs-migrator-unwrapped
+, ipfs-migrator-all-fs-repo-migrations
+}:
 
-buildGoModule rec {
-  pname = "ipfs-migrator";
-  version = "1.7.1";
+buildEnv {
+  name = "ipfs-migrator-${ipfs-migrator-unwrapped.version}";
 
-  src = fetchFromGitHub {
-    owner = "ipfs";
-    repo = "fs-repo-migrations";
-    rev = "v${version}";
-    sha256 = "sha256-MxEKmoveIpuxBkGGGJHp9T11i3Py8a1fLpF0fWk0ftg=";
-  };
+  nativeBuildInputs = [ makeWrapper ];
 
-  vendorSha256 = null;
+  paths = [ ipfs-migrator-unwrapped ];
 
-  doCheck = false;
+  pathsToLink = [ "/bin" ];
 
-  subPackages = [ "." ];
+  postBuild = ''
+    wrapProgram "$out/bin/fs-repo-migrations" \
+      --prefix PATH ':' '${lib.makeBinPath [ ipfs-migrator-all-fs-repo-migrations ]}'
+  '';
 
-  meta = with lib; {
-    description = "Migrations for the filesystem repository of ipfs clients";
-    homepage = "https://ipfs.io/";
-    license = licenses.mit;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [ elitak ];
-  };
+  inherit (ipfs-migrator-unwrapped) meta;
 }
diff --git a/pkgs/applications/networking/ipfs-migrator/unwrapped.nix b/pkgs/applications/networking/ipfs-migrator/unwrapped.nix
new file mode 100644
index 00000000000..c8ade793218
--- /dev/null
+++ b/pkgs/applications/networking/ipfs-migrator/unwrapped.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "ipfs-migrator";
+  version = "2.0.2";
+
+  src = fetchFromGitHub {
+    owner = "ipfs";
+    repo = "fs-repo-migrations";
+    # Use the latest git tag here, since v2.0.2 does not
+    # contain the latest migration fs-repo-11-to-12/v1.0.2
+    # The fs-repo-migrations code itself is the same between
+    # the two versions but the migration code, which is built
+    # into separate binaries, is not.
+    rev = "fs-repo-11-to-12/v1.0.2";
+    sha256 = "sha256-CG4utwH+/+Igw+SP3imhl39wijlB53UGtkJG5Mwh+Ik=";
+  };
+
+  sourceRoot = "source/fs-repo-migrations";
+
+  vendorSha256 = "sha256-/DqkBBtR/nU8gk3TFqNKY5zQU6BFMc3N8Ti+38mi/jk=";
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Migrations for the filesystem repository of ipfs clients";
+    homepage = "https://github.com/ipfs/fs-repo-migrations";
+    license = licenses.mit;
+    maintainers = with maintainers; [ Luflosi elitak ];
+    mainProgram = "fs-repo-migrations";
+  };
+}
diff --git a/pkgs/applications/networking/ipfs/default.nix b/pkgs/applications/networking/ipfs/default.nix
index c0526fc0d97..2cceddf0bd7 100644
--- a/pkgs/applications/networking/ipfs/default.nix
+++ b/pkgs/applications/networking/ipfs/default.nix
@@ -2,13 +2,15 @@
 
 buildGoModule rec {
   pname = "ipfs";
-  version = "0.11.0";
+  version = "0.12.0"; # When updating, also check if the repo version changed and adjust repoVersion below
   rev = "v${version}";
 
+  repoVersion = "12"; # Also update ipfs-migrator when changing the repo version
+
   # go-ipfs makes changes to it's source tarball that don't match the git source.
   src = fetchurl {
     url = "https://github.com/ipfs/go-ipfs/releases/download/${rev}/go-ipfs-source.tar.gz";
-    sha256 = "lTPGnFqDgyMWmSCPmLHguGNnJQMWi9LPrOZfDgeS9Y4=";
+    sha256 = "jWoMm/xIp3Zn/FiHWQ5/q39i6Lh4Fdoi9OdnRVc51Xk=";
   };
 
   # tarball contains multiple files/directories
diff --git a/pkgs/applications/networking/irc/hexchat/default.nix b/pkgs/applications/networking/irc/hexchat/default.nix
index fbe9971f1d7..0bc25c0f859 100644
--- a/pkgs/applications/networking/irc/hexchat/default.nix
+++ b/pkgs/applications/networking/irc/hexchat/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hexchat";
-  version = "2.16.0";
+  version = "2.16.1";
 
   src = fetchFromGitHub {
     owner = "hexchat";
     repo = "hexchat";
     rev = "v${version}";
-    sha256 = "08zhlf9d3xdis62byxzgizhfg8kbppxl7cgxkzhwdc1srpj7vpx6";
+    sha256 = "sha256-2IUlNUTL3TOJnDNMds2EWwkfn5NUOQ1ids96Ddo196E=";
   };
 
   nativeBuildInputs = [ meson ninja pkg-config makeWrapper ];
diff --git a/pkgs/applications/networking/irc/srain/default.nix b/pkgs/applications/networking/irc/srain/default.nix
index 8cac8e144b8..2fb6fed15ca 100644
--- a/pkgs/applications/networking/irc/srain/default.nix
+++ b/pkgs/applications/networking/irc/srain/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "srain";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "SrainApp";
     repo = "srain";
     rev = version;
-    sha256 = "sha256-jGt0DlxlR2J9bE5S9pqT45OZTqzsr+DiZ7pON5QbU/Y=";
+    sha256 = "sha256-JsXReGmdBtzMXhrT1cFlkBbw8j/SxzgXSeHcHlns2po=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
index c76393d69f5..9aac3db3594 100644
--- a/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
+++ b/pkgs/applications/networking/mailreaders/evolution/evolution/default.nix
@@ -42,11 +42,11 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution";
-  version = "3.42.3";
+  version = "3.42.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "RGKeagIojsEApm/VlBOgaLa5zWJL7TJVqimhZuom0LY=";
+    sha256 = "+oprem1GsinbXfIv3nZCVFIjV/4b7NexjlNt/piJCmU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mailreaders/himalaya/default.nix b/pkgs/applications/networking/mailreaders/himalaya/default.nix
index d074a4c6269..4e70facb5f1 100644
--- a/pkgs/applications/networking/mailreaders/himalaya/default.nix
+++ b/pkgs/applications/networking/mailreaders/himalaya/default.nix
@@ -12,16 +12,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "himalaya";
-  version = "0.5.4";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "soywod";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-giEcVyhreD36SgW5rQsKRjgHHAE022Lffmo0QGy/EkI=";
+    sha256 = "sha256-BZTecYNY8gbGe+r80QWi7FkC56dww9rrtwLfi9ya1mQ=";
   };
 
-  cargoSha256 = "sha256-Sf4Ze9T8A6n/iuFtQAfW+ORIw2atMt8MgEmpDllnZp8=";
+  cargoSha256 = "sha256-2xkKJqp7uf0gh8g2zzDjSl8foTvPj6MVHfDuSr914HU=";
 
   nativeBuildInputs = lib.optionals enableCompletions [ installShellFiles ]
     ++ lib.optionals (!stdenv.hostPlatform.isDarwin) [ pkg-config ];
diff --git a/pkgs/applications/networking/mailreaders/mutt/default.nix b/pkgs/applications/networking/mailreaders/mutt/default.nix
index 98298d854d5..af05bfe884c 100644
--- a/pkgs/applications/networking/mailreaders/mutt/default.nix
+++ b/pkgs/applications/networking/mailreaders/mutt/default.nix
@@ -27,11 +27,11 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "mutt";
-  version = "2.1.5";
+  version = "2.2.1";
 
   src = fetchurl {
     url = "http://ftp.mutt.org/pub/mutt/${pname}-${version}.tar.gz";
-    sha256 = "1q1bq5qfv67s6ynbqga19ifaprgavhdbgg154kb9ffingvj0k8wj";
+    sha256 = "1ddbhwsycfpf430k52l5gggywd09h10hwcwzpydam43c5ga30vdp";
   };
 
   patches = optional smimeSupport (fetchpatch {
diff --git a/pkgs/applications/networking/mailreaders/notmuch/default.nix b/pkgs/applications/networking/mailreaders/notmuch/default.nix
index 2a95453f7ae..184804a8788 100644
--- a/pkgs/applications/networking/mailreaders/notmuch/default.nix
+++ b/pkgs/applications/networking/mailreaders/notmuch/default.nix
@@ -2,42 +2,40 @@
 , pkg-config, gnupg
 , xapian, gmime, talloc, zlib
 , doxygen, perl, texinfo
+, notmuch
 , pythonPackages
 , emacs
 , ruby
+, testVersion
 , which, dtach, openssl, bash, gdb, man
 , withEmacs ? true
+, withRuby ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "notmuch";
-  version = "0.34.3";
+  version = "0.35";
 
   src = fetchurl {
     url = "https://notmuchmail.org/releases/notmuch-${version}.tar.xz";
-    sha256 = "sha256-P+kQSDv9gVpcO5UOImp7yoFWBT/TLXrR6xoKijrK6Ig=";
+    sha256 = "0fdc81m24xrbhfrhw00g12ak4b8hap4961sq7ap6q2pjqhac8cd8";
   };
 
-  patches = [
-    # https://nmbug.notmuchmail.org/nmweb/show/87o84iza9r.fsf%40starbuck.i-did-not-set--mail-host-address--so-tickle-me
-    ./test-fix-support-for-gpgsm-in-gnupg-2.3.patch
-  ];
-
   nativeBuildInputs = [
     pkg-config
     doxygen                   # (optional) api docs
     pythonPackages.sphinx     # (optional) documentation -> doc/INSTALL
     texinfo                   # (optional) documentation -> doc/INSTALL
     pythonPackages.cffi
-  ] ++ lib.optional withEmacs emacs;
+  ] ++ lib.optional withEmacs emacs
+    ++ lib.optional withRuby ruby;
 
   buildInputs = [
     gnupg                     # undefined dependencies
     xapian gmime talloc zlib  # dependencies described in INSTALL
     perl
     pythonPackages.python
-    ruby
-  ];
+  ] ++ lib.optional withRuby ruby;
 
   postPatch = ''
     patchShebangs configure test/
@@ -56,7 +54,7 @@ stdenv.mkDerivation rec {
     "--infodir=${placeholder "info"}/share/info"
   ] ++ lib.optional (!withEmacs) "--without-emacs"
     ++ lib.optional withEmacs "--emacslispdir=${placeholder "emacs"}/share/emacs/site-lisp"
-    ++ lib.optional (isNull ruby) "--without-ruby";
+    ++ lib.optional (!withRuby) "--without-ruby";
 
   # Notmuch doesn't use autoconf and consequently doesn't tag --bindir and
   # friends
@@ -64,7 +62,9 @@ stdenv.mkDerivation rec {
   enableParallelBuilding = true;
   makeFlags = [ "V=1" ];
 
-  outputs = [ "out" "man" "info" ] ++ lib.optional withEmacs "emacs";
+  outputs = [ "out" "man" "info" ]
+    ++ lib.optional withEmacs "emacs"
+    ++ lib.optional withRuby "ruby";
 
   preCheck = let
     test-database = fetchurl {
@@ -87,10 +87,17 @@ stdenv.mkDerivation rec {
 
   postInstall = lib.optionalString withEmacs ''
     moveToOutput bin/notmuch-emacs-mua $emacs
+  '' + lib.optionalString withRuby ''
+    make -C bindings/ruby install \
+      vendordir=$ruby/lib/ruby \
+      SHELL=$SHELL \
+      $makeFlags "''${makeFlagsArray[@]}" \
+      $installFlags "''${installFlagsArray[@]}"
   '';
 
   passthru = {
     pythonSourceRoot = "notmuch-${version}/bindings/python";
+    tests.version = testVersion { package = notmuch; };
     inherit version;
   };
 
diff --git a/pkgs/applications/networking/mailreaders/notmuch/test-fix-support-for-gpgsm-in-gnupg-2.3.patch b/pkgs/applications/networking/mailreaders/notmuch/test-fix-support-for-gpgsm-in-gnupg-2.3.patch
deleted file mode 100644
index 91c77df7010..00000000000
--- a/pkgs/applications/networking/mailreaders/notmuch/test-fix-support-for-gpgsm-in-gnupg-2.3.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From a642ad542e3d3f34e949c5c66923ca8a6e6cbbd8 Mon Sep 17 00:00:00 2001
-From: Stig Palmquist <stig@stig.io>
-Date: Tue, 11 Jan 2022 13:23:13 +0100
-Subject: [PATCH] test: fix support for gpgsm in gnupg 2.3
-
-gpgsm --list-keys output changed the label for fingerprints from
-"fingerprint: " to "sha[12] fpr: " breaking tests with gnupg 2.3. this
-adds support for both.
----
- test/test-lib.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/test-lib.sh b/test/test-lib.sh
-index 6bc0b723..3de608f9 100644
---- a/test/test-lib.sh
-+++ b/test/test-lib.sh
-@@ -145,7 +145,7 @@ add_gpgsm_home () {
-     mkdir -p -m 0700 "$GNUPGHOME"
-     gpgsm --batch --no-tty --no-common-certs-import --pinentry-mode=loopback --passphrase-fd 3 \
- 	  --disable-dirmngr --import  >"$GNUPGHOME"/import.log 2>&1 3<<<'' <$NOTMUCH_SRCDIR/test/smime/0xE0972A47.p12
--    fpr=$(gpgsm --batch --list-key test_suite@notmuchmail.org | sed -n 's/.*fingerprint: //p')
-+    fpr=$(gpgsm --batch --list-key test_suite@notmuchmail.org | sed -n 's/.*\(fingerprint\|sha1 fpr\): //p')
-     echo "$fpr S relax" >> "$GNUPGHOME/trustlist.txt"
-     gpgsm --quiet --batch --no-tty --no-common-certs-import --disable-dirmngr --import < $NOTMUCH_SRCDIR/test/smime/ca.crt
-     echo "4D:E0:FF:63:C0:E9:EC:01:29:11:C8:7A:EE:DA:3A:9A:7F:6E:C1:0D S" >> "$GNUPGHOME/trustlist.txt"
--- 
-2.34.1
-
diff --git a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
index 494f371016c..eb708962e01 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird-bin/release_sources.nix
@@ -1,655 +1,655 @@
 {
-  version = "91.5.1";
+  version = "91.6.1";
   sources = [
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/af/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/af/thunderbird-91.6.1.tar.bz2";
       locale = "af";
       arch = "linux-x86_64";
-      sha256 = "90a7b62161c8e4bd0dfcb0c69995e80b1733b86513d5786559eefd0ee19ca6ec";
+      sha256 = "b0d36d12bb29897b4502fe28fd5d05117b8cf3c6f2a8f9a0a88542b915587cda";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ar/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ar/thunderbird-91.6.1.tar.bz2";
       locale = "ar";
       arch = "linux-x86_64";
-      sha256 = "f7167cdff08c42f0a067e8631f8ae85ea12f301a7d49ba8919fa90cdf5ac1aaf";
+      sha256 = "26c86b4a73085d1b2b08e73a9adb1a2e8148fce1c8b27f3b1f9566fb72269361";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ast/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ast/thunderbird-91.6.1.tar.bz2";
       locale = "ast";
       arch = "linux-x86_64";
-      sha256 = "74ffcdac8a170ba700d2c58066c66143129a7f21f8123c174dfd598240f2271d";
+      sha256 = "f0ffeb6273b2c748cdeb2b6e73e17848c6c1b583ee0dfae1ec7eda8b295bef09";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/be/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/be/thunderbird-91.6.1.tar.bz2";
       locale = "be";
       arch = "linux-x86_64";
-      sha256 = "aabe3dce7ddcfcaad6212549f7ce709c6832c01aa7cfaa15fad82d75259fa8ee";
+      sha256 = "b55b54e87b28329d717023397d42d162299bf89dc47b6db5910b57263b377645";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/bg/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/bg/thunderbird-91.6.1.tar.bz2";
       locale = "bg";
       arch = "linux-x86_64";
-      sha256 = "f0fa8e63643e1a44ab6997caf148812e749004a450825b0b77f1ac0cc52c6ec3";
+      sha256 = "93d99a4eebf65152ffede2b86f94f0bb4a626c0a0b0925514e529785b717ec21";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/br/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/br/thunderbird-91.6.1.tar.bz2";
       locale = "br";
       arch = "linux-x86_64";
-      sha256 = "8391eb495214140878bba1f658cb1dbab4a93187f32bb99e65613b09db70269c";
+      sha256 = "944395c06dbc26d14add54d6e9e990496179ee0e956d585d84246e90d3a5a058";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ca/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ca/thunderbird-91.6.1.tar.bz2";
       locale = "ca";
       arch = "linux-x86_64";
-      sha256 = "82b1498ee1745b087b58f44ca57f1d355b61aa42ec2787302e6a59dfb5391a3e";
+      sha256 = "426f1f2b8c3849e60e1e88e74f33c1bc51f8de3007fbbf9d58c0c477e7c4d0f2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/cak/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/cak/thunderbird-91.6.1.tar.bz2";
       locale = "cak";
       arch = "linux-x86_64";
-      sha256 = "52761eec2ef3327ea5f435bfcb73dd4a5c378e78d57f9849283460ed39318af8";
+      sha256 = "04baa09f4f28e62057cb4a62981f916c820a82be5c7418367be67a5f1f180dff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/cs/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/cs/thunderbird-91.6.1.tar.bz2";
       locale = "cs";
       arch = "linux-x86_64";
-      sha256 = "406bff52470379be7d6b8315909067e1a1f7623a7d4415a23b6f53ea4f896064";
+      sha256 = "d724b84ac07ec0dd8f81b790f4baf58c2d81f9d1e8aa121fe379aa968fd7c78a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/cy/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/cy/thunderbird-91.6.1.tar.bz2";
       locale = "cy";
       arch = "linux-x86_64";
-      sha256 = "4fa869d8592709da2ddba8657424475377aea9617ad411abb25c8ae8e55612fe";
+      sha256 = "bde7231dda570182a0c4e73645025aad818be321bea0c0425dddb275b28d438c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/da/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/da/thunderbird-91.6.1.tar.bz2";
       locale = "da";
       arch = "linux-x86_64";
-      sha256 = "1ed471dab670fe7ba58ccb4fe39bec2f3ee6625a6713c3b1f3fe9703e0a703cf";
+      sha256 = "b671d892a013f551ce32c3ee98d956227561a9ad9f168095521f8be1899bd1fe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/de/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/de/thunderbird-91.6.1.tar.bz2";
       locale = "de";
       arch = "linux-x86_64";
-      sha256 = "16b6e291489f37699587b62cafb3caa3e09ae21b160c9739afb35ae450dcffbc";
+      sha256 = "cca775ff187ab71db985c031ff08d906fcfba2aa2aa25ad204f1223c94ee1fd8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/dsb/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/dsb/thunderbird-91.6.1.tar.bz2";
       locale = "dsb";
       arch = "linux-x86_64";
-      sha256 = "3872f1263a7ba9f6a31f1fcd26440ab3ec231efca678cd75459bd71a4b0637f9";
+      sha256 = "19bd301bb47874abaece776961e85b277ae02cfe772c11f62b731d19c3d87b39";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/el/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/el/thunderbird-91.6.1.tar.bz2";
       locale = "el";
       arch = "linux-x86_64";
-      sha256 = "aaab178dc1f6d9f1818f63b98091113546bdf36e823efc0c252979b570406ef0";
+      sha256 = "40f279167634c0903f60297a76ce483a34233110c34d50d01fdd976f65337e41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/en-CA/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/en-CA/thunderbird-91.6.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-x86_64";
-      sha256 = "d2e98a42a5de6793f34725f989b645a0531dfca95e014e58bcb951fd5a4f9681";
+      sha256 = "41ac7d58a099e68cf87f604d77e8fa844e48264b52409b9f8637fc777d15bdad";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/en-GB/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/en-GB/thunderbird-91.6.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-x86_64";
-      sha256 = "4459fb379c2299be6915a5a54ad6963dbd80dd5a9838baf1d2edcf63ef0354bd";
+      sha256 = "e20e547b074816931fce3cffe04eb7b9690439f047b2154d2f0d36b7eda9071e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/en-US/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/en-US/thunderbird-91.6.1.tar.bz2";
       locale = "en-US";
       arch = "linux-x86_64";
-      sha256 = "a88c57cb36623d18a53c1940ccfa5874c222b6a2e44aab7760ccd6c70518f748";
+      sha256 = "08e963292b4e63be2dad7a24eb125bca484107b05856dcebf98ceddaf47f1e87";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/es-AR/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/es-AR/thunderbird-91.6.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-x86_64";
-      sha256 = "979514cb958a4626d07379099c3fc77ed4208cecd3b0af9c059a04064e60df43";
+      sha256 = "23775b4446630146d6e6c34760cbb9c155a21bfa759d6b18135fe28e80459c7f";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/es-ES/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/es-ES/thunderbird-91.6.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-x86_64";
-      sha256 = "745d0865606c238512e01e414305f83664b1395ff9d02b36f9df37b1bcca0e2f";
+      sha256 = "0ba964ad2cc0d86b12e8498ccfd374931d0e26fb163994704aae622a420bffe8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/et/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/et/thunderbird-91.6.1.tar.bz2";
       locale = "et";
       arch = "linux-x86_64";
-      sha256 = "1a009c0ec4ad94819de0eb006c6f0919080271e8d5c6c5b324c6624657ef8440";
+      sha256 = "94a73f46e5e2e9672a0c54a4a445c5a24a60924e45d57218a0c5a3eda7437091";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/eu/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/eu/thunderbird-91.6.1.tar.bz2";
       locale = "eu";
       arch = "linux-x86_64";
-      sha256 = "3beab0dd08c2089dabf99d246d9a06bb0339b88945e012fadc53a9420b105eb7";
+      sha256 = "3fed5e7cc72572e7a71f2916ac1750b40c0896d7786bfb76a49679d15ac07031";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/fi/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/fi/thunderbird-91.6.1.tar.bz2";
       locale = "fi";
       arch = "linux-x86_64";
-      sha256 = "d0006d6b5a2fdeb69171452c9eee4f7e54d18cf0a42bbccc056144af127109c8";
+      sha256 = "b7e233e744afd3569748013d091f57fbb8339e1cefd328d1808cccd0abd9f7c7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/fr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/fr/thunderbird-91.6.1.tar.bz2";
       locale = "fr";
       arch = "linux-x86_64";
-      sha256 = "4345711b2199bd5f0cc89e34cd7a65bb22290268c872c990fb32ee49c174d58e";
+      sha256 = "1066814d16f3de8e0a6b0aad4ecbc078bc4e76a5daad8173d7a0af1986fc49ba";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/fy-NL/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/fy-NL/thunderbird-91.6.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-x86_64";
-      sha256 = "7f90afe3e04e1a7db5236d12d2133c3552e0d6744262f5107522dc1b88b9d26d";
+      sha256 = "eeb7f557ac32ab426c5843061c1fa394671328794f9b0d5313351768ea020fa1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ga-IE/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ga-IE/thunderbird-91.6.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-x86_64";
-      sha256 = "ecf987ec7a479fcd1aeec4a680fe7b785f3273914be7bc5ea34a1160024bca30";
+      sha256 = "8c1adead3a4c715cd2e6ebd7d23a086a6bb5308cb8620e35aeef151c3a25ad40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/gd/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/gd/thunderbird-91.6.1.tar.bz2";
       locale = "gd";
       arch = "linux-x86_64";
-      sha256 = "e688777e2ca5a0964bdb295c17de71f0b3e7ce8ed3a81a027cb58d65f0b13843";
+      sha256 = "23db6bd6aded7d7424c2c0b5a5c9da938b504b517297b535d0eee907c20ff921";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/gl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/gl/thunderbird-91.6.1.tar.bz2";
       locale = "gl";
       arch = "linux-x86_64";
-      sha256 = "b7e37320a6f29312851d814713522c0edaf3ad10bb6096e08e60ad9d6eae3c34";
+      sha256 = "10483ac92240dd7f1a4cc25dfae74291ef3546ff36b51205bcb3fa2af2e97489";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/he/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/he/thunderbird-91.6.1.tar.bz2";
       locale = "he";
       arch = "linux-x86_64";
-      sha256 = "9e317e22ca0e8e6d809437efee263fb3e0b6418696282f8670b7f8f92ec6c56a";
+      sha256 = "211c4f58cd5553da8933386c4b1a7847f61df83212228f3ec4ef807a2115f220";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/hr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/hr/thunderbird-91.6.1.tar.bz2";
       locale = "hr";
       arch = "linux-x86_64";
-      sha256 = "51f6eec36a08b766bc9567ae7dbac5b015890c0792dd4a37f9654345bd34f9be";
+      sha256 = "3b71a6ab9df2a45c15342f241cb63f323170f692d204e9a98f9772f6e50809f4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/hsb/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/hsb/thunderbird-91.6.1.tar.bz2";
       locale = "hsb";
       arch = "linux-x86_64";
-      sha256 = "1f91258f84978b313d2ced008ef0e760e5e425dde3116d1e6adfd7d87895a043";
+      sha256 = "0603f34c825bee5e813fb63c5f1060e5de31ab89d12abe4259f5f2c56f880e65";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/hu/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/hu/thunderbird-91.6.1.tar.bz2";
       locale = "hu";
       arch = "linux-x86_64";
-      sha256 = "d5665c6b1415493f18085c1606b12e4ff52f02ac9d932f5e14c6794685b7c68e";
+      sha256 = "64db18fb3477198f696cbf8d100b45abb2cf74abc960c90143abad224fe56e48";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/hy-AM/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/hy-AM/thunderbird-91.6.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-x86_64";
-      sha256 = "2100b04070066d8ce65d7bb3bf25d4f3dcdec4c14dce3f9c5455923de84e6c84";
+      sha256 = "ec3064d387558c56e80965fc87a73c19ae530802ffff3f0cd35e7026f76655e3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/id/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/id/thunderbird-91.6.1.tar.bz2";
       locale = "id";
       arch = "linux-x86_64";
-      sha256 = "7e9e2f1d5ee6db5f72a46a5345c6d4bd4e6cfa76c2637609dab0e415b93e1975";
+      sha256 = "a7635897857f1c4bc86b9208ecbfa983a80a889a24274ce2c41d1fd401163230";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/is/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/is/thunderbird-91.6.1.tar.bz2";
       locale = "is";
       arch = "linux-x86_64";
-      sha256 = "089acd20ab3894dc04ecec3cb85317d40ff9f86a2fef381429f06a70b92f4785";
+      sha256 = "310cae89c6a62b5a9cf19a81622395b1d9d2de1670dfb9542d8465fd2bebe3a6";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/it/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/it/thunderbird-91.6.1.tar.bz2";
       locale = "it";
       arch = "linux-x86_64";
-      sha256 = "22efeb3bdf740d1b0dfe1850589403758fea11b443ad6099c630e7cab866fbe8";
+      sha256 = "826223383cfd0ed931f0df19100ec24e22c5ed6eabb71ebee2663a4199368fd5";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ja/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ja/thunderbird-91.6.1.tar.bz2";
       locale = "ja";
       arch = "linux-x86_64";
-      sha256 = "5e950fb7dae9573d877b783eb12f36cb801f0299fe360e2538aab9a86ffb5911";
+      sha256 = "a62b2d76c228d54a00dcb81931a010369ab5cb5f7e5d5601fa74076431ec39c9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ka/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ka/thunderbird-91.6.1.tar.bz2";
       locale = "ka";
       arch = "linux-x86_64";
-      sha256 = "24cb7fb080728903c118a31e56a7d1e02e554b2a03ca272ee0e8f14d58e1b1cd";
+      sha256 = "2e7b571096baa8d4d68eec97f25197b7504ef0e196bb711344180f4324b260e9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/kab/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/kab/thunderbird-91.6.1.tar.bz2";
       locale = "kab";
       arch = "linux-x86_64";
-      sha256 = "0bfd4b98c2659b7541cdaf2fe4be33f71463d6eaeb14b5722f2916abe82411d0";
+      sha256 = "378de38b2393987fcbd22057c64c581365ddff6239d8055ac631df9903df4ed4";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/kk/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/kk/thunderbird-91.6.1.tar.bz2";
       locale = "kk";
       arch = "linux-x86_64";
-      sha256 = "62d530819b0bc304416db7e470a8856afb8d41813165a8b3ebc417957d5447fd";
+      sha256 = "51e8c5d832f8deb27d962ef175cd2bf6ea66fd8c0a24b7c647d4d98d524c3bef";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ko/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ko/thunderbird-91.6.1.tar.bz2";
       locale = "ko";
       arch = "linux-x86_64";
-      sha256 = "f081bbe2756b4ea78dbbe1a18377eb64ac729329a5bf2c97489dfb03ab1c2949";
+      sha256 = "a63cf39f84cab3c6a6164a6c62ace5aab948ab71d8934f5869cd2290851c17ac";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/lt/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/lt/thunderbird-91.6.1.tar.bz2";
       locale = "lt";
       arch = "linux-x86_64";
-      sha256 = "26f2cca527fee03e4b7747dceaa0ce1ee0c3f6efb2adc670ec6c1f19d2118d3b";
+      sha256 = "1d44efdae4a299d57c1ab4769fccc5326e85b95cb2078332aadde3a3d0d72c7a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/lv/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/lv/thunderbird-91.6.1.tar.bz2";
       locale = "lv";
       arch = "linux-x86_64";
-      sha256 = "f39fb8ddd6e246643750c5f23fa1d5993437c78f4062acc4c3db22d8b1dc3b56";
+      sha256 = "cc8e4b043ae003d43240df52eed2b3b3a16cc09e963c6bc768d672e6dcb59022";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ms/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ms/thunderbird-91.6.1.tar.bz2";
       locale = "ms";
       arch = "linux-x86_64";
-      sha256 = "07835a7669f3595f20d7d41db4e799c968d30166f0db764d47b2fb1a8d8e6f0a";
+      sha256 = "8b64d50a219467347cbe02e237fc1f5473a9d86d8b29fa0cfaa5c423c7265db3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/nb-NO/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/nb-NO/thunderbird-91.6.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-x86_64";
-      sha256 = "2dda693d9dcd5602cdde27d54871cf5b2b06afceaa0133a77632637a81a4bd69";
+      sha256 = "71256fe14843fc5c3026dc17d39d9f10b0dcb5ebe0d1769740397db45164e8fe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/nl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/nl/thunderbird-91.6.1.tar.bz2";
       locale = "nl";
       arch = "linux-x86_64";
-      sha256 = "05a884da304dd5c8692ced6b5d974f14e1b0007ae683f3511285b7432828b71c";
+      sha256 = "6cc1efd14f8fdfde047ac8245fcbd42cc6829d4973fadad43e5113d95c2334af";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/nn-NO/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/nn-NO/thunderbird-91.6.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-x86_64";
-      sha256 = "8250f8d18feb596ed758b07933d590d7f3de016c5ce08eedb6024a4d116acb63";
+      sha256 = "efcf3519eed57080c022d8ea3e45bb50cb302d6eead93b2e50d3e6d69635b1db";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/pa-IN/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/pa-IN/thunderbird-91.6.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-x86_64";
-      sha256 = "5a510109f30fed267a61d8586714e2554b74866de8b1948c80a39ad7db42e460";
+      sha256 = "69e27e7a1e7534b6903f3e6a1248b8d62617dbeda0051453f78ebe68bd0e978c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/pl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/pl/thunderbird-91.6.1.tar.bz2";
       locale = "pl";
       arch = "linux-x86_64";
-      sha256 = "d3fad496d1aac376fe9557ba039a916a7527a1a120e102724fd35c469adeb8eb";
+      sha256 = "8903c2302e4ec1a77076cf51a770861738793d4f5ec87faa87da922f1be2d620";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/pt-BR/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/pt-BR/thunderbird-91.6.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-x86_64";
-      sha256 = "bfd0685dae994a75a284220358b1ebf4d0a71d151b2b674215b5d1c4566784de";
+      sha256 = "558adf768654a03738f755b765a2c6c3aad514ffbe532b4e47c0d94cd9dfd262";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/pt-PT/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/pt-PT/thunderbird-91.6.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-x86_64";
-      sha256 = "d4cded9e8e065c312573931b4e60a5a62a154763fdf859a5fc53d120209520f9";
+      sha256 = "2fb3c682ee289e2bdf1263b5c32f38e31090d742b108b373befb3f093d655e30";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/rm/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/rm/thunderbird-91.6.1.tar.bz2";
       locale = "rm";
       arch = "linux-x86_64";
-      sha256 = "5761e7778adc41e69351c49db232792096a3d69994f79ce556cd4dbb1a356530";
+      sha256 = "9e489ce3861ee17a2ee145ed5edb1c0b2c0c3f1446f6fb64081ac623f381ef1d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ro/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ro/thunderbird-91.6.1.tar.bz2";
       locale = "ro";
       arch = "linux-x86_64";
-      sha256 = "63bd9a8c5035d8964e609159d301ca52e68fef0f136ad378a8016fd1dc7a1ea4";
+      sha256 = "4bf6b617ea7d4a2ebe81a73c09e24cd1e1bb360ca501a4f139c99a84d1492005";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/ru/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/ru/thunderbird-91.6.1.tar.bz2";
       locale = "ru";
       arch = "linux-x86_64";
-      sha256 = "a0d3731c3a6f207e8549d3d5e2e143c0b4620eda6902e9636d8c37558a78d09e";
+      sha256 = "fd88dd41fd4c93d829c6e44d2d88092652827ed08121c6ba25cd410082cf4991";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/sk/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/sk/thunderbird-91.6.1.tar.bz2";
       locale = "sk";
       arch = "linux-x86_64";
-      sha256 = "22635dd9abad4690c52932afd8b9b8cdad03270ef87c18ae3061308c62932064";
+      sha256 = "53b6fa462a3057e9eec72f75d698631486514839bdf30f6388f9749848846462";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/sl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/sl/thunderbird-91.6.1.tar.bz2";
       locale = "sl";
       arch = "linux-x86_64";
-      sha256 = "e2c395a8483115801b34c8de7a34bea1ce219e1cd0012c7d27af4b11e11577f8";
+      sha256 = "cebe056640e0589c8f4ff029aa74f1666b1a0faeb742f356b74e07b2b0998e39";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/sq/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/sq/thunderbird-91.6.1.tar.bz2";
       locale = "sq";
       arch = "linux-x86_64";
-      sha256 = "aeb72ddfb97fa6fad9f4295f00bd01eccc78f919c34b899925383d7877d10454";
+      sha256 = "9f1bf49edf710455bcf23cd6c14618518ae4b07a75d259e2cc821d5c85c0e0aa";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/sr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/sr/thunderbird-91.6.1.tar.bz2";
       locale = "sr";
       arch = "linux-x86_64";
-      sha256 = "ce9b6671b7d138bbad4ccb4a2dd660d8f2ba452f5f331dc8b630005e4a64ff91";
+      sha256 = "f287d6abde4537dffa599c54910bda7e0f90596f931d88921d0d3248c941166a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/sv-SE/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/sv-SE/thunderbird-91.6.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-x86_64";
-      sha256 = "59bdd6acf2aecdddb2f31a0e6305ac5eb59d8d8c3ffd6fbaded92d97a8deff4f";
+      sha256 = "02952a1f2d47394b4a8ce06af67a1058822c47660f69d606e719f215205709d8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/th/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/th/thunderbird-91.6.1.tar.bz2";
       locale = "th";
       arch = "linux-x86_64";
-      sha256 = "62c76e4291580ec271f36737cb6dd621c6e30ddf02a070b008d312afed0cc727";
+      sha256 = "8cec77f0fd16e9ab2b316ba884c26f35dbe15694e22e02ecd27d3caec68970bc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/tr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/tr/thunderbird-91.6.1.tar.bz2";
       locale = "tr";
       arch = "linux-x86_64";
-      sha256 = "4c59cb186ea76ee79b123d29e3cc8a9c75e58a5f8c46e3b71a7a0b1937d99e42";
+      sha256 = "aa66efd16a8e5328e20052676d0e06f3ede903a88262c4b01ff0a78ec013f9cb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/uk/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/uk/thunderbird-91.6.1.tar.bz2";
       locale = "uk";
       arch = "linux-x86_64";
-      sha256 = "19df95c2001aee2a6ed00df011caaa5be03062a559619971897640511848856f";
+      sha256 = "23d654a7755a846b2354c392a6d86f0794f126425e64a19af7c1f047bd758cae";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/uz/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/uz/thunderbird-91.6.1.tar.bz2";
       locale = "uz";
       arch = "linux-x86_64";
-      sha256 = "d773684ed49309e642436b40012b52980286fd07c508d8a9ee92c6210063fa13";
+      sha256 = "c97b2d05e7043ba438f313569bb6165fd106b9f2351478549a6de5467f980280";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/vi/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/vi/thunderbird-91.6.1.tar.bz2";
       locale = "vi";
       arch = "linux-x86_64";
-      sha256 = "8bda4d3c6a9ceda51fcccfeadb9942c595acffb8a14823a59523468871332651";
+      sha256 = "0c4341944eeb0d6724dbabda5dc68796cf40034dffed1d0af2d942af5eb242f2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/zh-CN/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/zh-CN/thunderbird-91.6.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-x86_64";
-      sha256 = "4ffa3da9d6c9f45fa90527621af47e67e1c76f09c325a1176be2f14f52ea9362";
+      sha256 = "86bb80438e4e729faaf57a3b5651b936647ec6ff58c78e263011e242d7e41fbe";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-x86_64/zh-TW/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-x86_64/zh-TW/thunderbird-91.6.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-x86_64";
-      sha256 = "e3c053b3835566481e1207cc1da3922ce4949c0215553bc2dce5a62715a7a919";
+      sha256 = "733ec3383204fff674456bdda36f7088e32914fceaa62fa6a98768e9ecbef321";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/af/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/af/thunderbird-91.6.1.tar.bz2";
       locale = "af";
       arch = "linux-i686";
-      sha256 = "f131f7266ae90708a4f5a544d5b6b656488e676e79e91e998ac4dacd969effe4";
+      sha256 = "3c8f1f172919ef3c5327bf337a49ed428f6581e3dc6f3ed69c7f6268cf8f4fea";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ar/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ar/thunderbird-91.6.1.tar.bz2";
       locale = "ar";
       arch = "linux-i686";
-      sha256 = "8dbb28b438d1f72d314b32ad8b884829a9bda3bb3a8d4a677e3abcb0f7edc005";
+      sha256 = "e938549a5be6c8f1dff66e330cc9e059a352ed9b539145a812838aeec2668bdf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ast/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ast/thunderbird-91.6.1.tar.bz2";
       locale = "ast";
       arch = "linux-i686";
-      sha256 = "0c1dfbb7b8d001e28ba6fb5648af5d993b3a89e19381cb9bdee898ea7134ec64";
+      sha256 = "a0d93d9f8c9ed659409f971ebecdd6134db8a4b954db9638b7a440c898adb0b3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/be/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/be/thunderbird-91.6.1.tar.bz2";
       locale = "be";
       arch = "linux-i686";
-      sha256 = "dc4888c238652ff13e66ada3d21e129f3bc01f663dec38bed1f200426c5ec8af";
+      sha256 = "741da67fb46ef6e73196dec3f0c71ce1024e282421c6a8e111ffb9ba2a2a5014";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/bg/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/bg/thunderbird-91.6.1.tar.bz2";
       locale = "bg";
       arch = "linux-i686";
-      sha256 = "77c370a1f1e9e0683baf5a6a6abe937f198be08cf6ed3a6f29c59c3be64080ff";
+      sha256 = "afb8fac75b94957f60686c170bec9af438d04c4f42d259e80c07bb446c875aff";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/br/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/br/thunderbird-91.6.1.tar.bz2";
       locale = "br";
       arch = "linux-i686";
-      sha256 = "bce47698480a1c38d5b0d397c3e69c3c5ac99a0937885abbd633284614daea6a";
+      sha256 = "474656d25e48718b303b2d4463465bb7a272cadcabf6360adfaa7dd23c808c2b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ca/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ca/thunderbird-91.6.1.tar.bz2";
       locale = "ca";
       arch = "linux-i686";
-      sha256 = "bf288be4f977ebaffcd2e16c691a3223924fec7f39ec3e7368fb9b88f9c1156b";
+      sha256 = "c2b4e38ea9810f10455c78de2d68a76655eb855ea8e3d55c895e6f8d5df84066";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/cak/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/cak/thunderbird-91.6.1.tar.bz2";
       locale = "cak";
       arch = "linux-i686";
-      sha256 = "fcfb6268df5aba758dcefae6e6c0469648d56663789d32175a8e52068d48aaf8";
+      sha256 = "1da916a640b36c8e2f84e733dfa6b1cd4a7e90dc2367e56522ad3525d646712d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/cs/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/cs/thunderbird-91.6.1.tar.bz2";
       locale = "cs";
       arch = "linux-i686";
-      sha256 = "529b31c7cd03b0c199a8acab13dfb684db5c2bd9fa10f96e8da748bcaa5e0a04";
+      sha256 = "f0ff0220167566300fb0913f58056ff81c5b70f2835830d325c1235caa468a99";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/cy/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/cy/thunderbird-91.6.1.tar.bz2";
       locale = "cy";
       arch = "linux-i686";
-      sha256 = "c4b22b81608421ff5c6ce74ea7b145a6ad09ae506ae25af9ad93ac0434ad1734";
+      sha256 = "1b8e7ae9b27dab0872443a2b26733888d569765e6e72cfaea775d157273c8344";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/da/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/da/thunderbird-91.6.1.tar.bz2";
       locale = "da";
       arch = "linux-i686";
-      sha256 = "cf28d1a77ac2acf26fc314628fe21e5c9ddfcbe85a76d28070d15d78a6b73360";
+      sha256 = "79ae2ac91c0540e76578556c82bec7340baee79758ef0e157155aed8f1d68b3b";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/de/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/de/thunderbird-91.6.1.tar.bz2";
       locale = "de";
       arch = "linux-i686";
-      sha256 = "a752cd04414a80ed92e42bf95b6460714b500e1d466d5663a64c9dcc7a678e66";
+      sha256 = "cf5096d178152abfcc5fbe7cd109722875d8d11575b526577e713a4efd28d226";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/dsb/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/dsb/thunderbird-91.6.1.tar.bz2";
       locale = "dsb";
       arch = "linux-i686";
-      sha256 = "31ef88cc4cc2892fd501df71a751aa3c3ee8acc61fdb437897172de8e75de9c2";
+      sha256 = "a650eda884498dd7d0e3dbd73cb1e9b020f10e690ce26d77ed654c0202f1d915";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/el/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/el/thunderbird-91.6.1.tar.bz2";
       locale = "el";
       arch = "linux-i686";
-      sha256 = "5edf4e1008b3d8d19d623a8f3cf2d8fb1f7a1030de9db686bfb8c09c61e740d2";
+      sha256 = "be65c035956efd25246265fa102f934fc14794457fc110d815b140165c81fed9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/en-CA/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/en-CA/thunderbird-91.6.1.tar.bz2";
       locale = "en-CA";
       arch = "linux-i686";
-      sha256 = "60e91f33b0b5e75e4a18f1fac688e4c249be77874103d1a44ad2cbd1188afc6d";
+      sha256 = "dc906637f397a2ad86b72d8c4636b511263255327b3a92da5adc9d3444117311";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/en-GB/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/en-GB/thunderbird-91.6.1.tar.bz2";
       locale = "en-GB";
       arch = "linux-i686";
-      sha256 = "b08d2650702304409b19967d5ff6883881d37577c8e3ed0d545e36e81306cc96";
+      sha256 = "0f028e97594448ab058b839e3a4ab2f3aaefe79732512a4f193c53dc75c59e3c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/en-US/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/en-US/thunderbird-91.6.1.tar.bz2";
       locale = "en-US";
       arch = "linux-i686";
-      sha256 = "347dfd3d8bf993e2fdc7c844c8b1a94925ab637acad9e07a1616f8657e8574b3";
+      sha256 = "5f24ac86a2e91f4568d179529caf5254c3aff65593b3a79d25ef96d03211d0c0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/es-AR/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/es-AR/thunderbird-91.6.1.tar.bz2";
       locale = "es-AR";
       arch = "linux-i686";
-      sha256 = "e2c23ea75312f53201e02079063c946ae76fd11acb75cafed8d643ad49e5d484";
+      sha256 = "5c5a93460f61d7e8a7168c14a46ff24fdecbf67c06da0aab2b30602bd1a1ef51";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/es-ES/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/es-ES/thunderbird-91.6.1.tar.bz2";
       locale = "es-ES";
       arch = "linux-i686";
-      sha256 = "205d541dc22a3961b1aaaafd617743d1a25b52ee5bdf8b9add6ca56fbcd6861e";
+      sha256 = "8ecf33158eda96155604583c57dccc55c7168abd8dc161e8801da0e7c7d24b40";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/et/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/et/thunderbird-91.6.1.tar.bz2";
       locale = "et";
       arch = "linux-i686";
-      sha256 = "4967717f2b6c21d9868e4fdb812e999f3002bb197b3a111a479d97fabc70d2c2";
+      sha256 = "a0e3b7c8c095dd8c116630fec01f50fca6b07d83902a7a004d2f4b52b02536e2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/eu/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/eu/thunderbird-91.6.1.tar.bz2";
       locale = "eu";
       arch = "linux-i686";
-      sha256 = "ea5ad491a38b4fd3b78f0741b7545ea7a9d11c3cd82f992fe7b6f38acd4f1a36";
+      sha256 = "e18f1f105a7e7a88410e749ed9e6e51685cbd6d9fd44f37c8146d333ba405274";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/fi/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/fi/thunderbird-91.6.1.tar.bz2";
       locale = "fi";
       arch = "linux-i686";
-      sha256 = "45884d2b6d7af2a2f9f4195d5ddc9eadbd34a0d6cae039193b4eba4da49e3909";
+      sha256 = "984c5d69ef752ae62b08e6615ca19384ff9b2a46167d17ad01e71bec48dd7996";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/fr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/fr/thunderbird-91.6.1.tar.bz2";
       locale = "fr";
       arch = "linux-i686";
-      sha256 = "1d2153eb9e903a37e03596e11d2bc0a869260421ac07b3787d05a163c9c5b32d";
+      sha256 = "ae2fabdf55e587f3b57849ddd518bfac0035f5c0e1eaed585713f022fb50fcab";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/fy-NL/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/fy-NL/thunderbird-91.6.1.tar.bz2";
       locale = "fy-NL";
       arch = "linux-i686";
-      sha256 = "6ad87450cbb8a98fbd55d7399ef73f5668c1f8e288cb6d36b426fc8c373837bd";
+      sha256 = "a4abcd89e36fbdad7f2102142b0790f1223116b5a016bce6cffd59f5547b26e7";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ga-IE/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ga-IE/thunderbird-91.6.1.tar.bz2";
       locale = "ga-IE";
       arch = "linux-i686";
-      sha256 = "4b268107debcde5a45fc69c5ce4881b0bc8b9809a2cfcf877fe655339ec5890d";
+      sha256 = "eff63f42237deb6ecaa60b940ec877e88827769346e14d55624ce3044fac1860";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/gd/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/gd/thunderbird-91.6.1.tar.bz2";
       locale = "gd";
       arch = "linux-i686";
-      sha256 = "3a6f0b431d5301a9cdf1499b186580bfbf468aad4e7123175a9defa04e68e6ac";
+      sha256 = "4399f90f6e28be1bfd68ef3273a4b11cb3a912394033a4ba4f0f722eceeb916e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/gl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/gl/thunderbird-91.6.1.tar.bz2";
       locale = "gl";
       arch = "linux-i686";
-      sha256 = "e79001ca8b96cc9c5cb1a9ada3362e5365b68c05b4324ff2d36e1421faee691a";
+      sha256 = "be6a01476604cf120131724e0e5afc1951421baf489c231fd10115b947a56f41";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/he/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/he/thunderbird-91.6.1.tar.bz2";
       locale = "he";
       arch = "linux-i686";
-      sha256 = "d246a1b5a9d03e656392df6fdd4a6dda9e035551d0498519fbf53d44ec033a34";
+      sha256 = "fd3548a80dc4983b264f5a2062d87bd9956c681fc191d35246bac2248c61c429";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/hr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/hr/thunderbird-91.6.1.tar.bz2";
       locale = "hr";
       arch = "linux-i686";
-      sha256 = "f3d4604bea32362a4ee9ca41d3ef98e910ff448b32e37d0c59dc33d92366ab1f";
+      sha256 = "e149a9a469ef013264ffbcf10051e1476f946f52ad4eae8f734643394f6f74c8";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/hsb/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/hsb/thunderbird-91.6.1.tar.bz2";
       locale = "hsb";
       arch = "linux-i686";
-      sha256 = "8ca969121ab8fc69dc598415a7d5ece9fd86e51c3b90f48f9c51d01157a3a14e";
+      sha256 = "77baab4a6d3ba3339cc32475fdd654034eb57e61d2c51258e38eba6c14aa2f89";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/hu/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/hu/thunderbird-91.6.1.tar.bz2";
       locale = "hu";
       arch = "linux-i686";
-      sha256 = "8b76452c8aa27409237d592fa386f8fa257bf44151e77f5cbf990b1c7580689f";
+      sha256 = "c796ac09b0e4033f1ab9d1e6da4b78e540f1b731bfbcda040743e409164ea2f1";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/hy-AM/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/hy-AM/thunderbird-91.6.1.tar.bz2";
       locale = "hy-AM";
       arch = "linux-i686";
-      sha256 = "7855e8b013d16365fcbf883646ac83f8c094b3efc4ab9c6ada1eccf211c53d2e";
+      sha256 = "c6023895e3e26e7b52c277640702a821bf4a562287ba7d8e632a59774a6757ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/id/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/id/thunderbird-91.6.1.tar.bz2";
       locale = "id";
       arch = "linux-i686";
-      sha256 = "b41b74af5f85a56e0ffe6345f78f39190b22a867110ef043f24300f68e845324";
+      sha256 = "a76f567644ef6092168e2c526839bc0901a18533f08ac525381e74f77e9fcb7d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/is/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/is/thunderbird-91.6.1.tar.bz2";
       locale = "is";
       arch = "linux-i686";
-      sha256 = "963c23e640536d88fc486b654e69584587cdc39d2acff9f64372faf7fd73f8db";
+      sha256 = "a023e32837355ab83583bcf504e9ff3210f3a68d30c73477ec158ef1162df4eb";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/it/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/it/thunderbird-91.6.1.tar.bz2";
       locale = "it";
       arch = "linux-i686";
-      sha256 = "4835f22538eaf2da8913d79ae575c7401fcc7fb3b7c0d21d386906c055ed7912";
+      sha256 = "459aec2da31a3159f0d81cb0876686e63d9b1e72ad36e967472d1ce98c380983";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ja/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ja/thunderbird-91.6.1.tar.bz2";
       locale = "ja";
       arch = "linux-i686";
-      sha256 = "edd3a047d63172f5f42fa31b4b89a8d07c6d9eccb3d53d19f4f7ad8cc1cea539";
+      sha256 = "307faf7556594072ab83121c1774005392bc556396c5234a2467ef6843a490f9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ka/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ka/thunderbird-91.6.1.tar.bz2";
       locale = "ka";
       arch = "linux-i686";
-      sha256 = "06b55cb6215cece0d95827eeb196bd5f1255d348a7d906a0515667a71050ef85";
+      sha256 = "42cd7f10453541b23099631f402ff70103131025ef868de06fe2e82430bb7eb3";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/kab/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/kab/thunderbird-91.6.1.tar.bz2";
       locale = "kab";
       arch = "linux-i686";
-      sha256 = "36de72132e0311c4428182c5795249e37042f1eb05d1c05aeff9f1e46b602656";
+      sha256 = "cc62b8ce7bea99dd9e9cf660f5dcaac4b9a44746b7b4cccf84612ef844df9e7e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/kk/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/kk/thunderbird-91.6.1.tar.bz2";
       locale = "kk";
       arch = "linux-i686";
-      sha256 = "e3462a463f867b4645bc77739e275deae77bf64068a6ddd1522ac281cfbfbd3d";
+      sha256 = "ee9e74534c1d7716ea80e2874007b4f9778942bcae559effc830477e614341ee";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ko/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ko/thunderbird-91.6.1.tar.bz2";
       locale = "ko";
       arch = "linux-i686";
-      sha256 = "e90f011e920958ea853dd426f57a1e5cb0593ce117d5a9e19a90c6df69d729c9";
+      sha256 = "12106fad7493ce63c189b0a7e92c9828c7b2d46d7f5cd9ecadbc90be041e6bbd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/lt/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/lt/thunderbird-91.6.1.tar.bz2";
       locale = "lt";
       arch = "linux-i686";
-      sha256 = "4e3eaffa505b5f8a37b0534a754ab89c2f7b4dc65ead78ca266d4fa8cb5aa841";
+      sha256 = "ead9b5e035f2fcd1213aba5e63c8898b96bf0bfaefde7709228014aadf608420";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/lv/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/lv/thunderbird-91.6.1.tar.bz2";
       locale = "lv";
       arch = "linux-i686";
-      sha256 = "0dd8c818bd60cd6e67df751933c0aeb89bf10fa64235edc639955c86a0e51168";
+      sha256 = "72980d6c676a269b9d3220a171cffd67ebc1dc0759bef5ac15db76725aac86cc";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ms/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ms/thunderbird-91.6.1.tar.bz2";
       locale = "ms";
       arch = "linux-i686";
-      sha256 = "b0b9f303014a1b90a52ec39f36f2e2029562ef70fcc9b77c0f7048558f1ad7bf";
+      sha256 = "dfd0cfceee31c31a300ebe37fe99690008f5a21992e7188680b319fe5b5d0207";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/nb-NO/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/nb-NO/thunderbird-91.6.1.tar.bz2";
       locale = "nb-NO";
       arch = "linux-i686";
-      sha256 = "89f787643d5d2451a0f7095f69805d4c0d0e05c62fbe0468c78b6bcc9dfc0dcd";
+      sha256 = "7610a56f57d4753f6fd7a55147d7a22157453b47548fe807b5fdbc1ef166eda0";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/nl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/nl/thunderbird-91.6.1.tar.bz2";
       locale = "nl";
       arch = "linux-i686";
-      sha256 = "9ebf8a5cd8df953078dc634ac17325c8e0fdd01cce3dbb8561fb29e8b8a4e6cd";
+      sha256 = "6a470f707e9838937c67e2ce7c2da216e23964bab94c4590d20cedb4b337d18d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/nn-NO/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/nn-NO/thunderbird-91.6.1.tar.bz2";
       locale = "nn-NO";
       arch = "linux-i686";
-      sha256 = "ec702407e9dfd14de776a5409413b8ddf3c32cf6aa17e8a37ba349e8fa7ba1db";
+      sha256 = "e393dfbd10ae6ce910ed594ca6d314d048d57e98a1a01d53be82788d6a3988d2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/pa-IN/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/pa-IN/thunderbird-91.6.1.tar.bz2";
       locale = "pa-IN";
       arch = "linux-i686";
-      sha256 = "f26de0a71646669f07ba23c8e181700b1569ce41049f62215c19ca746a4ca38d";
+      sha256 = "ddc8558e84531478a4295fe1a3b09f95df458e1f1ecec89b0e1ee19e0dea6e5c";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/pl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/pl/thunderbird-91.6.1.tar.bz2";
       locale = "pl";
       arch = "linux-i686";
-      sha256 = "d497057a71cfe867f53a5dadf3b1b8fdf30db8470cbfedd416b39acef3d61163";
+      sha256 = "015e25da0565942bbad23a9e0a345cbec4b24676c21286bbce3cf85938031ca2";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/pt-BR/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/pt-BR/thunderbird-91.6.1.tar.bz2";
       locale = "pt-BR";
       arch = "linux-i686";
-      sha256 = "90367905fe8dd83f9c6acb093e9ba6583124171037755ef2f3a6771c94e1cb44";
+      sha256 = "2966875426c08658dcc5aec7e91305e40342bb7318b8ba19482b036d6f1efc9e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/pt-PT/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/pt-PT/thunderbird-91.6.1.tar.bz2";
       locale = "pt-PT";
       arch = "linux-i686";
-      sha256 = "b611af59f7f88efa10aef43f8ac464b5c514412b534cff39eb2844ae1ca18077";
+      sha256 = "c3ee66dff637e75aaa4a8e3d40c85176e152c19464e7afcbd40cc1e3108a1d91";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/rm/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/rm/thunderbird-91.6.1.tar.bz2";
       locale = "rm";
       arch = "linux-i686";
-      sha256 = "5d75ac9e6c0c27b0faf436d69305f206e09867c306264a4de30cd3b1f879c1d0";
+      sha256 = "c320c05190b160ad807528e9be6604ac5f79958fad9a4de32c55842a94db20fd";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ro/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ro/thunderbird-91.6.1.tar.bz2";
       locale = "ro";
       arch = "linux-i686";
-      sha256 = "aa64e96ad2d1a361c8cd96b5b0e88cdd51eba2c3c036ac453ff9225320d08f6a";
+      sha256 = "90547a8965aec3db8d4150c0e232bdf6e623df1850cb206a9cbca43432a3cd35";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/ru/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/ru/thunderbird-91.6.1.tar.bz2";
       locale = "ru";
       arch = "linux-i686";
-      sha256 = "6d293d0ee9eebd01c6e36e085333c4da15f0ce2ece73dc99015545255a435538";
+      sha256 = "1dbaf198232b519711c90646c05d77b16bdad20054aaa7f313255ac15e773dec";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/sk/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/sk/thunderbird-91.6.1.tar.bz2";
       locale = "sk";
       arch = "linux-i686";
-      sha256 = "37436cda08659abd49108f7e9a8ee5645d2ee1ed0086a7b4158279342d0cbdfb";
+      sha256 = "8d92baafe787bdd054cf7c76a7135a6075da0bd573237f28dcb379fb6e1f7c49";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/sl/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/sl/thunderbird-91.6.1.tar.bz2";
       locale = "sl";
       arch = "linux-i686";
-      sha256 = "fc8e6fed968e6312f69545479b5b3230390d41490a2a5b6385f046a2a3709018";
+      sha256 = "f6ba6c8a7c7aacd28959c85adf708ad1661b4921c82035a1c954c6f6264d101a";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/sq/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/sq/thunderbird-91.6.1.tar.bz2";
       locale = "sq";
       arch = "linux-i686";
-      sha256 = "ce68e8f855d6d366b1490cc3b7e044a84fba63bcfa11453afc4b98ec665450c6";
+      sha256 = "e4fe39206253ab53000e5d5265e2cf3183f8c15900f1f0e5ba23cbe141145e20";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/sr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/sr/thunderbird-91.6.1.tar.bz2";
       locale = "sr";
       arch = "linux-i686";
-      sha256 = "128843650ddfa57493c8691e7c591685cca4b1ab6c118949ef1580318954f110";
+      sha256 = "469cda2fad3873e8de320ee7a68c45c4da6cad5e6d9904242d2c489a1e5b829e";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/sv-SE/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/sv-SE/thunderbird-91.6.1.tar.bz2";
       locale = "sv-SE";
       arch = "linux-i686";
-      sha256 = "7180055d5184c38f3fb893538b0c270d3d125da4434debe6fffdcd3288d8ea53";
+      sha256 = "0303bb0290c84ede66d657ac88795e879611c42815e5eaec98beb235d7764922";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/th/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/th/thunderbird-91.6.1.tar.bz2";
       locale = "th";
       arch = "linux-i686";
-      sha256 = "4b964b7517b941622f18328f73813aca740a4da1799805a0a267b510704308e7";
+      sha256 = "5915739123b4c14d72f919fdb193a65e3a15ef472e563d21d7e1e872858f3364";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/tr/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/tr/thunderbird-91.6.1.tar.bz2";
       locale = "tr";
       arch = "linux-i686";
-      sha256 = "71d551988a6ff2bd96900bf4ce72e05ac47bcb36af9a25af4e3b76d16da37d50";
+      sha256 = "8cf4a385c861d5905b742a0366df783666a05e154b4e0f23e65f883c81b2bfd9";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/uk/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/uk/thunderbird-91.6.1.tar.bz2";
       locale = "uk";
       arch = "linux-i686";
-      sha256 = "e62b6fce0bb1175c9c6acb37ff9454509766d4953fb0d4494023143fd70650a9";
+      sha256 = "7e1a14c20e1ef7aa923bdb8d09a3a513dedd653388721d8537f42354c0cf386d";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/uz/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/uz/thunderbird-91.6.1.tar.bz2";
       locale = "uz";
       arch = "linux-i686";
-      sha256 = "c5c9e10e82ab793d9a82d95bcb20eb288395e32c27dcf5ca2a91fc937e479aba";
+      sha256 = "8f129954fcccf19fe4e46cb66f35fa298ef396d5327f647d1e7b813345dc7ecf";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/vi/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/vi/thunderbird-91.6.1.tar.bz2";
       locale = "vi";
       arch = "linux-i686";
-      sha256 = "081895dc1684360c0859d5084ece871c7539e91b858392dbaa3ddf8ee0f38ea9";
+      sha256 = "ab232199fe149938019dd3e8a242630875be9529e32050f94add2419d2690726";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/zh-CN/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/zh-CN/thunderbird-91.6.1.tar.bz2";
       locale = "zh-CN";
       arch = "linux-i686";
-      sha256 = "b5fadde23bd94f3ab2fbe6b8070040d9e89a506a399d9c1348b80a8639b8220b";
+      sha256 = "cb58b53ffb9eb1d05ff3ae856a80f8f504f86e8cdaa2075ff5b5bfcc27712b97";
     }
-    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.5.1/linux-i686/zh-TW/thunderbird-91.5.1.tar.bz2";
+    { url = "http://archive.mozilla.org/pub/thunderbird/releases/91.6.1/linux-i686/zh-TW/thunderbird-91.6.1.tar.bz2";
       locale = "zh-TW";
       arch = "linux-i686";
-      sha256 = "4d31d6a8d4f94486e4ebec3c98d2d535fd5485b3b73dfa0a52760300608c7eac";
+      sha256 = "441a2fc15f7d4efeb7f76cef1166c694cd7713b12f75aab0ceae161f3e77f934";
     }
     ];
 }
diff --git a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
index e373c443ea5..5b0b66ca345 100644
--- a/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
+++ b/pkgs/applications/networking/mailreaders/thunderbird/packages.nix
@@ -10,12 +10,12 @@ in
 rec {
   thunderbird = common rec {
     pname = "thunderbird";
-    version = "91.5.1";
+    version = "91.6.1";
     application = "comm/mail";
     binaryName = pname;
     src = fetchurl {
       url = "mirror://mozilla/thunderbird/releases/${version}/source/thunderbird-${version}.source.tar.xz";
-      sha512 = "5939e09b143e440efa906d95cda06826bd3a73b2edde5eed86229b8a0e4d1434519059f37d319d26978d7eea9b3906c5e1c1543a2bc2465625d5ab5438855717";
+      sha512 = "a74d9489bbd2d62916eac8214c6c3a54dfa0c03b56ad471750724315f8bdd96b6ee1079687ac973264ba0f70bdfbf2f183f359c33f7fcda9a9e48914636b1ab2";
     };
     patches = [
       # The file to be patched is different from firefox's `no-buildconfig-ffx90.patch`.
diff --git a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
index 9b70d143e10..e5edfaa4670 100644
--- a/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
+++ b/pkgs/applications/networking/mailreaders/tutanota-desktop/default.nix
@@ -3,12 +3,12 @@ electron, libsecret }:
 
 stdenv.mkDerivation rec {
   pname = "tutanota-desktop";
-  version = "3.91.6";
+  version = "3.91.10";
 
   src = fetchurl {
     url = "https://github.com/tutao/tutanota/releases/download/tutanota-release-${version}/${pname}-${version}-unpacked-linux.tar.gz";
     name = "tutanota-desktop-${version}.tar.gz";
-    sha256 = "sha256-REoYLxU9p0lECKNwcDHidO+jTCKS1yQSzed9GSHSNGI=";
+    sha256 = "sha256-RlEgpXco0lkkjlJ8FZz4MxYznKLPl1Lxkb5MSmhOTzI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/networking/mullvad-vpn/default.nix b/pkgs/applications/networking/mullvad-vpn/default.nix
index c196f6bdbda..0df8fc010e2 100644
--- a/pkgs/applications/networking/mullvad-vpn/default.nix
+++ b/pkgs/applications/networking/mullvad-vpn/default.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchurl, dpkg
 , alsa-lib, atk, cairo, cups, dbus, expat, fontconfig, freetype
-, gdk-pixbuf, glib, gnome2, pango, nspr, nss, gtk3, mesa
+, gdk-pixbuf, glib, pango, nspr, nss, gtk3, mesa
 , xorg, autoPatchelfHook, systemd, libnotify, libappindicator
 , makeWrapper
 }:
@@ -16,7 +16,6 @@ let deps = [
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     pango
     gtk3
     libappindicator
diff --git a/pkgs/applications/networking/n8n/default.nix b/pkgs/applications/networking/n8n/default.nix
index d882134473b..e7e1be095a2 100644
--- a/pkgs/applications/networking/n8n/default.nix
+++ b/pkgs/applications/networking/n8n/default.nix
@@ -12,6 +12,8 @@ nodePackages.n8n.override {
     node-pre-gyp
   ];
 
+  passthru.updateScript = ./generate-dependencies.sh;
+
   meta = with lib; {
     description = "Free and open fair-code licensed node based Workflow Automation Tool";
     maintainers = with maintainers; [ freezeboy k900 ];
diff --git a/pkgs/applications/networking/n8n/generate-dependencies.sh b/pkgs/applications/networking/n8n/generate-dependencies.sh
index 26926deefb6..f7412bc5e5e 100755
--- a/pkgs/applications/networking/n8n/generate-dependencies.sh
+++ b/pkgs/applications/networking/n8n/generate-dependencies.sh
@@ -10,6 +10,7 @@
 #          -> cpu-features
 #             -> node-gyp@3.8.0 -> python2
 #             -> cmake
+cd "$(dirname $(readlink -f $0))"
 
 node2nix \
   --14 \
diff --git a/pkgs/applications/networking/n8n/node-packages.nix b/pkgs/applications/networking/n8n/node-packages.nix
index e78448933b1..29e3fa179df 100644
--- a/pkgs/applications/networking/n8n/node-packages.nix
+++ b/pkgs/applications/networking/n8n/node-packages.nix
@@ -13,13 +13,13 @@ let
         sha512 = "G5sjKExiVsbFQo+4YY5MBPOSsh3EUv6XmqjgJaF/VCjckWLGGKPUPGfbCSn6Xal6gzGoPQMOQ+wCCGNCX9NAPg==";
       };
     };
-    "@azure/core-asynciterator-polyfill-1.0.1" = {
+    "@azure/core-asynciterator-polyfill-1.0.2" = {
       name = "_at_azure_slash_core-asynciterator-polyfill";
       packageName = "@azure/core-asynciterator-polyfill";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.1.tgz";
-        sha512 = "TcpFIR+2jS4zPGXMbvA2rRNex+Wapj0wAOC7YJX7Wsk7/dj8TmPntTDjKbQiQa90Dh07brsi3qoqF4R1dfKhIA==";
+        url = "https://registry.npmjs.org/@azure/core-asynciterator-polyfill/-/core-asynciterator-polyfill-1.0.2.tgz";
+        sha512 = "3rkP4LnnlWawl0LZptJOdXNrT/fHp2eQMadoasa6afspXdpGrtPZuAQc2PD0cpgyuoXtUWyC3tv7xfntjGS5Dw==";
       };
     };
     "@azure/core-auth-1.3.2" = {
@@ -31,13 +31,13 @@ let
         sha512 = "7CU6DmCHIZp5ZPiZ9r3J17lTKMmYsm/zGvNkjArQwPkrLlZ1TZ+EUYfGgh2X31OLMVAQCTJZW4cXHJi02EbJnA==";
       };
     };
-    "@azure/core-http-2.2.3" = {
+    "@azure/core-http-2.2.4" = {
       name = "_at_azure_slash_core-http";
       packageName = "@azure/core-http";
-      version = "2.2.3";
+      version = "2.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.3.tgz";
-        sha512 = "xr8AeszxP418rI//W38NfJDDr0kbVAPZkURZnZ+Fle+lLWeURjDE5zNIuocA1wUPoKSP8iXc0ApW6nPtbLGswA==";
+        url = "https://registry.npmjs.org/@azure/core-http/-/core-http-2.2.4.tgz";
+        sha512 = "QmmJmexXKtPyc3/rsZR/YTLDvMatzbzAypJmLzvlfxgz/SkgnqV/D4f6F2LsK6tBj1qhyp8BoXiOebiej0zz3A==";
       };
     };
     "@azure/core-lro-2.2.3" = {
@@ -112,31 +112,40 @@ let
         sha512 = "c8+Wz19xauW0bGkTCoqZH4dYfbtBniPiGiRQOn1ca6G5jsjr4azwaTk9gwjVY8r3vY2Taf95eivLzipfIfiS4A==";
       };
     };
-    "@babel/runtime-7.16.7" = {
+    "@babel/runtime-7.17.2" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.16.7";
+      version = "7.17.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz";
+        sha512 = "hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==";
+      };
+    };
+    "@colors/colors-1.5.0" = {
+      name = "_at_colors_slash_colors";
+      packageName = "@colors/colors";
+      version = "1.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz";
-        sha512 = "9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==";
+        url = "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz";
+        sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
       };
     };
-    "@dabh/diagnostics-2.0.2" = {
+    "@dabh/diagnostics-2.0.3" = {
       name = "_at_dabh_slash_diagnostics";
       packageName = "@dabh/diagnostics";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz";
-        sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
+        url = "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz";
+        sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
-    "@fontsource/open-sans-4.5.2" = {
+    "@fontsource/open-sans-4.5.5" = {
       name = "_at_fontsource_slash_open-sans";
       packageName = "@fontsource/open-sans";
-      version = "4.5.2";
+      version = "4.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.2.tgz";
-        sha512 = "aDQrW8s0KslG2aKb9nM5R6fiQR9iPomqWXf6iZCC30qv/UFlSY14SppodA3rE//+w37EqsJjyUq3BSEYzLdisg==";
+        url = "https://registry.npmjs.org/@fontsource/open-sans/-/open-sans-4.5.5.tgz";
+        sha512 = "h1oUPSQpoMnDrnzIZTVS9PPBFhWXS87v6/cd9FY2Xc+GKbOVcjPZxcvUDU1TnCie2QSoYY9aifERRV/d8JHtWQ==";
       };
     };
     "@icetee/ftp-0.3.15" = {
@@ -220,6 +229,15 @@ let
         sha512 = "cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==";
       };
     };
+    "@oclif/config-1.18.3" = {
+      name = "_at_oclif_slash_config";
+      packageName = "@oclif/config";
+      version = "1.18.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.3.tgz";
+        sha512 = "sBpko86IrTscc39EvHUhL+c++81BVTsIZ3ETu/vG+cCdi0N6vb2DoahR67A9FI2CGnxRRHjnTfa3m6LulwNATA==";
+      };
+    };
     "@oclif/errors-1.3.5" = {
       name = "_at_oclif_slash_errors";
       packageName = "@oclif/errors";
@@ -256,13 +274,13 @@ let
         sha512 = "tXb0NKgSgNxmf6baN6naK+CCwOueaFk93FG9u202U7mTBHUKsioOUlw1SG/iPi9aJM3WE4pHLXmty59pci0OEw==";
       };
     };
-    "@opentelemetry/api-1.0.4" = {
+    "@opentelemetry/api-1.1.0" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
-      version = "1.0.4";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz";
-        sha512 = "BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog==";
+        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.1.0.tgz";
+        sha512 = "hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==";
       };
     };
     "@rudderstack/rudder-sdk-node-1.0.6" = {
@@ -391,13 +409,13 @@ let
         sha512 = "P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==";
       };
     };
-    "@types/express-unless-0.5.2" = {
+    "@types/express-unless-0.5.3" = {
       name = "_at_types_slash_express-unless";
       packageName = "@types/express-unless";
-      version = "0.5.2";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.2.tgz";
-        sha512 = "Q74UyYRX/zIgl1HSp9tUX2PlG8glkVm+59r7aK4KGKzC5jqKIOX6rrVLRQrzpZUQ84VukHtRoeAuon2nIssHPQ==";
+        url = "https://registry.npmjs.org/@types/express-unless/-/express-unless-0.5.3.tgz";
+        sha512 = "TyPLQaF6w8UlWdv4gj8i46B+INBVzURBNRahCozCSXfsK2VTlL1wNyTlMKw817VHygBtlcl5jfnPadlydr06Yw==";
       };
     };
     "@types/ftp-0.3.33" = {
@@ -454,31 +472,31 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@types/node-12.20.42" = {
+    "@types/node-12.20.46" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.42";
+      version = "12.20.46";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.42.tgz";
-        sha512 = "aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz";
+        sha512 = "cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A==";
       };
     };
-    "@types/node-17.0.10" = {
+    "@types/node-17.0.18" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "17.0.10";
+      version = "17.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-17.0.10.tgz";
-        sha512 = "S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==";
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz";
+        sha512 = "eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==";
       };
     };
-    "@types/node-fetch-2.5.12" = {
+    "@types/node-fetch-2.6.1" = {
       name = "_at_types_slash_node-fetch";
       packageName = "@types/node-fetch";
-      version = "2.5.12";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz";
-        sha512 = "MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==";
+        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz";
+        sha512 = "oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==";
       };
     };
     "@types/promise-ftp-1.3.4" = {
@@ -589,13 +607,13 @@ let
         sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
       };
     };
-    "accepts-1.3.7" = {
+    "accepts-1.3.8" = {
       name = "accepts";
       packageName = "accepts";
-      version = "1.3.7";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
-        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz";
+        sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
       };
     };
     "access-control-1.0.1" = {
@@ -607,6 +625,24 @@ let
         sha512 = "H5aqjkogmFxfaOrfn/e42vyspHVXuJ8er63KuljJXpOyJ1ZO/U5CrHfO8BLKIy2w7mBM02L5quL0vbfQqrGQbA==";
       };
     };
+    "acorn-8.7.0" = {
+      name = "acorn";
+      packageName = "acorn";
+      version = "8.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz";
+        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
+      };
+    };
+    "acorn-walk-8.2.0" = {
+      name = "acorn-walk";
+      packageName = "acorn-walk";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz";
+        sha512 = "k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==";
+      };
+    };
     "adal-node-0.2.3" = {
       name = "adal-node";
       packageName = "adal-node";
@@ -940,13 +976,13 @@ let
         sha512 = "uUbetCWczQHbsKyX1C99XpQHBM8SWfovvaZhPIj23/1uV7SQf0WeRZbiLpw0JZm+LHTChfNgrLfDJOVoU2kU+A==";
       };
     };
-    "aws-sdk-2.1062.0" = {
+    "aws-sdk-2.1077.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1062.0";
+      version = "2.1077.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1062.0.tgz";
-        sha512 = "QIU8jwi7Uqyvw2HjsXXXUZv3V/6TinUzLewrdl2EdvonqZCXhwMgnZx2F9I2x62IKH1RqnINwFWdoK+OTgcAjA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1077.0.tgz";
+        sha512 = "orJvJROs8hJaQRfHsX7Zl5PxEgrD/uTXyqXz9Yu9Io5VVxzvnOty9oHmvEMSlgTIf1qd01gnev/vpvP1HgzKtw==";
       };
     };
     "aws-sign2-0.7.0" = {
@@ -1138,13 +1174,13 @@ let
         sha512 = "c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==";
       };
     };
-    "body-parser-1.19.1" = {
+    "body-parser-1.19.2" = {
       name = "body-parser";
       packageName = "body-parser";
-      version = "1.19.1";
+      version = "1.19.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz";
-        sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz";
+        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
       };
     };
     "body-parser-xml-2.0.3" = {
@@ -1282,13 +1318,13 @@ let
         sha1 = "d32815404d689699f85a4ea4fa8755dd13a96048";
       };
     };
-    "bytes-3.1.1" = {
+    "bytes-3.1.2" = {
       name = "bytes";
       packageName = "bytes";
-      version = "3.1.1";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz";
-        sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz";
+        sha512 = "/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==";
       };
     };
     "call-bind-1.0.2" = {
@@ -1597,15 +1633,6 @@ let
         sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96";
       };
     };
-    "colors-1.4.0" = {
-      name = "colors";
-      packageName = "colors";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz";
-        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
-      };
-    };
     "colorspace-1.1.4" = {
       name = "colorspace";
       packageName = "colorspace";
@@ -1750,13 +1777,13 @@ let
         sha512 = "Mn4AJiYkR3TAZH1Xm/RU7gFS/0kM5TBSAQDry8y40Aez0ASY+3boUhv+3QE5XbOXiXM2JjdhkKve3IsBvWCibQ==";
       };
     };
-    "cookie-0.4.1" = {
+    "cookie-0.4.2" = {
       name = "cookie";
       packageName = "cookie";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz";
-        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
+        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
       };
     };
     "cookie-signature-1.0.6" = {
@@ -1768,13 +1795,13 @@ let
         sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
       };
     };
-    "core-js-3.20.3" = {
+    "core-js-3.21.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.20.3";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz";
-        sha512 = "vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz";
+        sha512 = "FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -1786,13 +1813,13 @@ let
         sha1 = "b5fd54220aa2bc5ab57aab7140c940754503c1a7";
       };
     };
-    "crc-32-1.2.0" = {
+    "crc-32-1.2.1" = {
       name = "crc-32";
       packageName = "crc-32";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz";
-        sha512 = "1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==";
+        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.1.tgz";
+        sha512 = "Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==";
       };
     };
     "cron-1.7.2" = {
@@ -2407,13 +2434,13 @@ let
         sha1 = "97e801aa052df02454de46b02bf621642cdc8502";
       };
     };
-    "express-4.17.2" = {
+    "express-4.17.3" = {
       name = "express";
       packageName = "express";
-      version = "4.17.2";
+      version = "4.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.2.tgz";
-        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
+        url = "https://registry.npmjs.org/express/-/express-4.17.3.tgz";
+        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
       };
     };
     "extend-3.0.2" = {
@@ -2542,22 +2569,13 @@ let
         sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     };
-    "flatted-2.0.2" = {
+    "flatted-3.2.5" = {
       name = "flatted";
       packageName = "flatted";
-      version = "2.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz";
-        sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
-      };
-    };
-    "flatted-3.2.4" = {
-      name = "flatted";
-      packageName = "flatted";
-      version = "3.2.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz";
-        sha512 = "8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     };
     "fn.name-1.1.0" = {
@@ -2569,13 +2587,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.14.7" = {
+    "follow-redirects-1.14.9" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.7";
+      version = "1.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz";
-        sha512 = "+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
+        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
       };
     };
     "for-each-0.3.3" = {
@@ -3235,13 +3253,13 @@ let
         sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
       };
     };
-    "ioredis-4.28.3" = {
+    "ioredis-4.28.5" = {
       name = "ioredis";
       packageName = "ioredis";
-      version = "4.28.3";
+      version = "4.28.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ioredis/-/ioredis-4.28.3.tgz";
-        sha512 = "9JOWVgBnuSxpIgfpjc1OeY1OLmA4t2KOWWURTDRXky+eWO0LZhI33pQNT9gYxANUXfh5p/zYephYni6GPRsksQ==";
+        url = "https://registry.npmjs.org/ioredis/-/ioredis-4.28.5.tgz";
+        sha512 = "3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A==";
       };
     };
     "ip-regex-2.1.0" = {
@@ -3577,13 +3595,13 @@ let
         sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
       };
     };
-    "isbot-3.4.0" = {
+    "isbot-3.4.3" = {
       name = "isbot";
       packageName = "isbot";
-      version = "3.4.0";
+      version = "3.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isbot/-/isbot-3.4.0.tgz";
-        sha512 = "0WOb6bbJ6gtpWVHQ30r5MzqvSrCNbZ70wFXAJWdXt/0LulF59uvBQnPgA7IelbOXEpV+CtLWkDxLB4TU7f0+VA==";
+        url = "https://registry.npmjs.org/isbot/-/isbot-3.4.3.tgz";
+        sha512 = "5hAgiY9ysMIJcVQlGHcXptwgZr1yYbIGNBE36a3sPo7cLZ9eLTLx0qOssekFKaTHiXTwd/ZZMTuOS7w4faOmpw==";
       };
     };
     "isexe-2.0.0" = {
@@ -3595,13 +3613,13 @@ let
         sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
       };
     };
-    "iso-639-1-2.1.12" = {
+    "iso-639-1-2.1.13" = {
       name = "iso-639-1";
       packageName = "iso-639-1";
-      version = "2.1.12";
+      version = "2.1.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.12.tgz";
-        sha512 = "XuThg6XyPBj4RpXtsLbgbJPww6cQeSoiVQWJprM72f1ZTEV/1oeTMzU+dUY+SMPkHfIM5CfaliR4veTVtdXRKg==";
+        url = "https://registry.npmjs.org/iso-639-1/-/iso-639-1-2.1.13.tgz";
+        sha512 = "stYt3u6OnVDNcK4IWARGXmTOOY5Wa5g4bUmBsttZp/55ZiEjDUibR3C59ZnorKoSS0tfJmFuGMST3ksnY1zu7Q==";
       };
     };
     "isstream-0.1.2" = {
@@ -3766,13 +3784,13 @@ let
         sha512 = "YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==";
       };
     };
-    "kafkajs-1.15.0" = {
+    "kafkajs-1.16.0" = {
       name = "kafkajs";
       packageName = "kafkajs";
-      version = "1.15.0";
+      version = "1.16.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/kafkajs/-/kafkajs-1.15.0.tgz";
-        sha512 = "yjPyEnQCkPxAuQLIJnY5dI+xnmmgXmhuOQ1GVxClG5KTOV/rJcW1qA3UfvyEJKTp/RTSqQnUR3HJsKFvHyTpNg==";
+        url = "https://registry.npmjs.org/kafkajs/-/kafkajs-1.16.0.tgz";
+        sha512 = "+Rcfu2hyQ/jv5skqRY8xA7Ra+mmRkDAzCaLDYbkGtgsNKpzxPWiLbk8ub0dgr4EbWrN1Zb4BCXHUkD6+zYfdWg==";
       };
     };
     "kuler-1.0.1" = {
@@ -3820,13 +3838,13 @@ let
         sha512 = "2Bm96d5ktnE217Ib1FldvUaPAaOst6GtZrsxJCwnJgi9lnsoAKIHyU0sae8rNx6DNYbjdqqh8lv5/b9poD8qOg==";
       };
     };
-    "libphonenumber-js-1.9.44" = {
+    "libphonenumber-js-1.9.49" = {
       name = "libphonenumber-js";
       packageName = "libphonenumber-js";
-      version = "1.9.44";
+      version = "1.9.49";
       src = fetchurl {
-        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.44.tgz";
-        sha512 = "zhw8nUMJuQf7jG1dZfEOKKOS6M3QYIv3HnvB/vGohNd0QfxIQcObH3a6Y6s350H+9xgBeOXClOJkS0hJ0yvS3g==";
+        url = "https://registry.npmjs.org/libphonenumber-js/-/libphonenumber-js-1.9.49.tgz";
+        sha512 = "/wEOIONcVboFky+lWlCaF7glm1FhBz11M5PHeCApA+xDdVfmhKjHktHS8KjyGxouV5CSXIr4f3GvLSpJa4qMSg==";
       };
     };
     "libqp-1.1.0" = {
@@ -3991,6 +4009,15 @@ let
         sha1 = "d527dfb5456eca7cc9bb95d5daeaf88ba54a5451";
       };
     };
+    "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.once-4.1.1" = {
       name = "lodash.once";
       packageName = "lodash.once";
@@ -4027,13 +4054,13 @@ let
         sha1 = "370d1d3e85b72a7e1b0cdf2d272121306f23e4ed";
       };
     };
-    "logform-2.3.2" = {
+    "logform-2.4.0" = {
       name = "logform";
       packageName = "logform";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.3.2.tgz";
-        sha512 = "V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz";
+        sha512 = "CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==";
       };
     };
     "long-4.0.0" = {
@@ -4144,13 +4171,13 @@ let
         sha512 = "etgt+n4LlOkGSJbBTV9VROHA5R7ekIPS4vfh+bCAoJgRrJWdqJCBbpS3osRJ/HrT7R68MzMiY3L3sDJ/Fd8aBg==";
       };
     };
-    "mappersmith-2.36.3" = {
+    "mappersmith-2.37.1" = {
       name = "mappersmith";
       packageName = "mappersmith";
-      version = "2.36.3";
+      version = "2.37.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mappersmith/-/mappersmith-2.36.3.tgz";
-        sha512 = "izy4Gc7+VafMR/fDQukiEEBAfFoPGRYLBzFxXqXMR1IwAHqlQgSPRX+g/uIkaVqGRh+eb5c7sy8HNaBq9opwkA==";
+        url = "https://registry.npmjs.org/mappersmith/-/mappersmith-2.37.1.tgz";
+        sha512 = "3QiXhRADHTK/it1riJMJm/sHmLlGdw3pfLgZJQu9MfT1CNeiO93keNY0BVLlRmpPBsMER/P7kj3mtcAK2V331Q==";
       };
     };
     "md5-2.3.0" = {
@@ -4261,13 +4288,13 @@ let
         sha512 = "UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==";
       };
     };
-    "minimatch-3.0.4" = {
+    "minimatch-3.1.2" = {
       name = "minimatch";
       packageName = "minimatch";
-      version = "3.0.4";
+      version = "3.1.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";
+        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
       };
     };
     "minimist-1.2.5" = {
@@ -4450,49 +4477,49 @@ let
         sha512 = "z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==";
       };
     };
-    "n8n-core-0.102.0" = {
+    "n8n-core-0.105.0" = {
       name = "n8n-core";
       packageName = "n8n-core";
-      version = "0.102.0";
+      version = "0.105.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.102.0.tgz";
-        sha512 = "9/suLELO/HBoEZ06bEv3cN7HZoR43qZlubM0BDXDhXJHBasfKcfegXYYacSfBxtTVX71cLffVgshJoJt8OtDcw==";
+        url = "https://registry.npmjs.org/n8n-core/-/n8n-core-0.105.0.tgz";
+        sha512 = "rYAtchFf7V94M9UP1ZCu9ie9O6OWncNconuzO9I1D/QLjBNVGzu0+SsG8be5bGTrAWO0WiNYdj84qMqqJS4NWg==";
       };
     };
-    "n8n-design-system-0.9.0" = {
+    "n8n-design-system-0.11.0" = {
       name = "n8n-design-system";
       packageName = "n8n-design-system";
-      version = "0.9.0";
+      version = "0.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.9.0.tgz";
-        sha512 = "E1DoUDIvPTLAQ72mkg+MVS72QxDxa5UPxVqX4QeF/xAhUrXKfTWHveG5OxugW+mrEF5nO8IG08MEDOQCOzJZpQ==";
+        url = "https://registry.npmjs.org/n8n-design-system/-/n8n-design-system-0.11.0.tgz";
+        sha512 = "KL64XTr9sqqiBEEV7on2cdLooleHPyXClFL+THUy2oXDbGqdlyCGykukU7S4aX+nSjrJEQEDMaMcbw3NCHrumg==";
       };
     };
-    "n8n-editor-ui-0.127.0" = {
+    "n8n-editor-ui-0.131.0" = {
       name = "n8n-editor-ui";
       packageName = "n8n-editor-ui";
-      version = "0.127.0";
+      version = "0.131.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.127.0.tgz";
-        sha512 = "XCiLwXing2nSidUfrEqcYxG7Zc7TBbJDxmUjSwv2fdH4SK4vMPcUINJbEQOHPIhc6GNEjSt1J/tbCEJJC/acbg==";
+        url = "https://registry.npmjs.org/n8n-editor-ui/-/n8n-editor-ui-0.131.0.tgz";
+        sha512 = "Sexo31sn8PdiNjDckNfDCXBs9MBR/hF5NzuFtUCUNaXPR6Z5gql6EhPT+fJfG9Wdsj09L3vV+j3gTAbXqRgPIw==";
       };
     };
-    "n8n-nodes-base-0.158.0" = {
+    "n8n-nodes-base-0.162.0" = {
       name = "n8n-nodes-base";
       packageName = "n8n-nodes-base";
-      version = "0.158.0";
+      version = "0.162.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.158.0.tgz";
-        sha512 = "qs/T0S2BHrovOFh6mnCRpuY9qhKZxub160+qtvXMVsiUWCpKEW1eIA4owYHLH3DLYqW0izQJap0sGlZEzV3xTg==";
+        url = "https://registry.npmjs.org/n8n-nodes-base/-/n8n-nodes-base-0.162.0.tgz";
+        sha512 = "bi7vs//5OHrW6RowouusBwUzKutFKnysLWdDrlxlCENGtRDtI+7ELrLMWnKs6PYTRWz0OSBHpEMN64MDEIoEZg==";
       };
     };
-    "n8n-workflow-0.84.0" = {
+    "n8n-workflow-0.87.0" = {
       name = "n8n-workflow";
       packageName = "n8n-workflow";
-      version = "0.84.0";
+      version = "0.87.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.84.0.tgz";
-        sha512 = "ibZ/oCWd81DMhjUQcAMC5GNs2C/dm+4boKTIjRuFHmbGzF2elwpb5s2nlkRn5REj9aZseZ0N9bfJ6slcLbw/Sw==";
+        url = "https://registry.npmjs.org/n8n-workflow/-/n8n-workflow-0.87.0.tgz";
+        sha512 = "ei5fvQK4jM3NotOA36d267o243m2MdlSPlG6cIutqx4lgUd1oXX7mYyCJzF3/kNcWbiI8QjdhUoURgdCOEzn8g==";
       };
     };
     "named-placeholders-1.1.2" = {
@@ -4513,13 +4540,13 @@ let
         sha512 = "wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA==";
       };
     };
-    "nanoid-3.2.0" = {
+    "nanoid-3.3.1" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.2.0";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz";
-        sha512 = "fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz";
+        sha512 = "n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==";
       };
     };
     "native-duplexpair-1.0.0" = {
@@ -4549,13 +4576,13 @@ let
         sha512 = "6R9fqJ5Zcmf+uYaFgdIHmLwNldn5HbK8L5ybn7Uz+ylX/rnOsSp1AHcvQSrCaFN+qNM1wpymHqD7mVasEOlHGQ==";
       };
     };
-    "negotiator-0.6.2" = {
+    "negotiator-0.6.3" = {
       name = "negotiator";
       packageName = "negotiator";
-      version = "0.6.2";
+      version = "0.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
-        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz";
+        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
       };
     };
     "neo-async-2.6.2" = {
@@ -5107,13 +5134,13 @@ let
         sha512 = "v6ZJ/efsBpGrGGknjtq9J/oC8tZWq0KWL5vQrk2GlzLEQPUDB1ex+13Rmidl1neNN358Jn9EHZw5y07FFtaC7A==";
       };
     };
-    "peek-readable-4.0.2" = {
+    "peek-readable-4.1.0" = {
       name = "peek-readable";
       packageName = "peek-readable";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.2.tgz";
-        sha512 = "9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ==";
+        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz";
+        sha512 = "ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==";
       };
     };
     "performance-now-2.1.0" = {
@@ -5134,6 +5161,15 @@ let
         sha512 = "7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==";
       };
     };
+    "pg-8.7.3" = {
+      name = "pg";
+      packageName = "pg";
+      version = "8.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pg/-/pg-8.7.3.tgz";
+        sha512 = "HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw==";
+      };
+    };
     "pg-connection-string-2.5.0" = {
       name = "pg-connection-string";
       packageName = "pg-connection-string";
@@ -5161,13 +5197,13 @@ let
         sha512 = "1KdmFGGTP6jplJoI8MfvRlfvMiyBivMRP7/ffh4a11RUFJ7kC2J0ZHlipoKiH/1hz+DVgceon9U2qbaHpPeyPg==";
       };
     };
-    "pg-pool-3.4.1" = {
+    "pg-pool-3.5.1" = {
       name = "pg-pool";
       packageName = "pg-pool";
-      version = "3.4.1";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz";
-        sha512 = "TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==";
+        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz";
+        sha512 = "6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==";
       };
     };
     "pg-promise-10.11.1" = {
@@ -5332,13 +5368,13 @@ let
         sha512 = "sanczS6xOJOg7IKDvi4sGOUOe7c1tsEzjwlLFH/zgwx/uyImVM9/rgBkc8AfiQa/Vg54nRd8mkm9yI7WV/O+WA==";
       };
     };
-    "printj-1.3.0" = {
+    "printj-1.3.1" = {
       name = "printj";
       packageName = "printj";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/printj/-/printj-1.3.0.tgz";
-        sha512 = "017o8YIaz8gLhaNxRB9eBv2mWXI2CtzhPJALnQTP+OPpuUfP0RMWqr/mHCzqVeu1AQxfzSfAtAq66vKB8y7Lzg==";
+        url = "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz";
+        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
       };
     };
     "process-0.11.10" = {
@@ -5530,13 +5566,13 @@ let
         sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
       };
     };
-    "qs-6.9.6" = {
+    "qs-6.9.7" = {
       name = "qs";
       packageName = "qs";
-      version = "6.9.6";
+      version = "6.9.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz";
-        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz";
+        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
       };
     };
     "querystring-0.2.0" = {
@@ -5620,13 +5656,13 @@ let
         sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
       };
     };
-    "raw-body-2.4.2" = {
+    "raw-body-2.4.3" = {
       name = "raw-body";
       packageName = "raw-body";
-      version = "2.4.2";
+      version = "2.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz";
-        sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz";
+        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
       };
     };
     "rc-1.2.8" = {
@@ -5962,13 +5998,13 @@ let
         sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     };
-    "safe-stable-stringify-1.1.1" = {
+    "safe-stable-stringify-2.3.1" = {
       name = "safe-stable-stringify";
       packageName = "safe-stable-stringify";
-      version = "1.1.1";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz";
-        sha512 = "ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==";
+        url = "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz";
+        sha512 = "kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==";
       };
     };
     "safer-buffer-2.1.2" = {
@@ -6169,13 +6205,13 @@ let
         sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
       };
     };
-    "signal-exit-3.0.6" = {
+    "signal-exit-3.0.7" = {
       name = "signal-exit";
       packageName = "signal-exit";
-      version = "3.0.6";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz";
-        sha512 = "sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==";
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";
+        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
     "simple-git-2.48.0" = {
@@ -6223,13 +6259,13 @@ let
         sha512 = "LAOh4z89bGQvl9pFfNF8V146i7o7/CqFPbqzYgP+yYzDIDeS9HaNFtXABamRW+AQzEVODcvE79ljJ+8a9YSdMg==";
       };
     };
-    "snowflake-sdk-1.6.6" = {
+    "snowflake-sdk-1.6.7" = {
       name = "snowflake-sdk";
       packageName = "snowflake-sdk";
-      version = "1.6.6";
+      version = "1.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.6.tgz";
-        sha512 = "b8mbYI6TFGe8H0m0eviNd4FC/3jsw02OHNt21k9sLWkBp4re2VUhaJf7555ln7thMSnMcbkdAB8zQBZcbqdoPg==";
+        url = "https://registry.npmjs.org/snowflake-sdk/-/snowflake-sdk-1.6.7.tgz";
+        sha512 = "pisHqO5ALTggbNhE7LGEG5bnD6NKebcqyirOl4IsoKsD7g6d+vC3gHgRR/cm8kAH1GhLHY/WwhDq2fr7lundpA==";
       };
     };
     "source-map-0.6.1" = {
@@ -6322,22 +6358,22 @@ let
         sha512 = "+idbmIXoYET47hH+d7dfm2epdOMUDjqcB4648sTZ+t2JwoyBFL/insLfB/racrDmsKB3diwsDA696pZMieAC5g==";
       };
     };
-    "ssh2-1.5.0" = {
+    "ssh2-1.6.0" = {
       name = "ssh2";
       packageName = "ssh2";
-      version = "1.5.0";
+      version = "1.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2/-/ssh2-1.5.0.tgz";
-        sha512 = "iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==";
+        url = "https://registry.npmjs.org/ssh2/-/ssh2-1.6.0.tgz";
+        sha512 = "lxc+uvXqOxyQ99N2M7k5o4pkYDO5GptOTYduWw7hIM41icxvoBcCNHcj+LTKrjkL0vFcAl+qfZekthoSFRJn2Q==";
       };
     };
-    "ssh2-sftp-client-7.2.1" = {
+    "ssh2-sftp-client-7.2.2" = {
       name = "ssh2-sftp-client";
       packageName = "ssh2-sftp-client";
-      version = "7.2.1";
+      version = "7.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssh2-sftp-client/-/ssh2-sftp-client-7.2.1.tgz";
-        sha512 = "kr5QFL+d8Ta28wGhlRqkHo812PjMhKrBK7oTaYGNHqTvXAUjxZR6SeWRXbwKASE3dh2xeDz5aXHcg01bzfAeCA==";
+        url = "https://registry.npmjs.org/ssh2-sftp-client/-/ssh2-sftp-client-7.2.2.tgz";
+        sha512 = "qZYivU1zezyRomCf+TtsCYVAsc0TDQWzxJMMUN8NknEPonm2TYGxJAzrW8acUh2ILYgA0ZPOJElLV/qp9nRVYQ==";
       };
     };
     "sshpk-1.17.0" = {
@@ -6493,13 +6529,13 @@ let
         sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
       };
     };
-    "strtok3-6.2.4" = {
+    "strtok3-6.3.0" = {
       name = "strtok3";
       packageName = "strtok3";
-      version = "6.2.4";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.2.4.tgz";
-        sha512 = "GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw==";
+        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz";
+        sha512 = "fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==";
       };
     };
     "supports-color-2.0.0" = {
@@ -6979,13 +7015,13 @@ let
         sha1 = "021e4d9c7705f21bbf37d03ceb58767402774c64";
       };
     };
-    "url-parse-1.5.4" = {
+    "url-parse-1.5.9" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.5.4";
+      version = "1.5.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.4.tgz";
-        sha512 = "ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==";
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.9.tgz";
+        sha512 = "HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ==";
       };
     };
     "utf7-1.0.2" = {
@@ -7105,13 +7141,13 @@ let
         sha1 = "3a105ca17053af55d6e270c1f8288682e18da400";
       };
     };
-    "vm2-3.9.5" = {
+    "vm2-3.9.8" = {
       name = "vm2";
       packageName = "vm2";
-      version = "3.9.5";
+      version = "3.9.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.5.tgz";
-        sha512 = "LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng==";
+        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.8.tgz";
+        sha512 = "/1PYg/BwdKzMPo8maOZ0heT7DLI0DAFTm7YQaz/Lim9oIaFZsJs3EdtalvXuBfZwczNwsYhju75NW4d6E+4q+w==";
       };
     };
     "vue-fragment-1.5.2" = {
@@ -7186,22 +7222,22 @@ let
         sha512 = "NsmoXalsWVDMGupxZ5R08ka9flZjjiLvHVAWYOKtiKM8ujtZWr9cRffak+uSE48+Ob8ObalXpwyeUiyDD6QFgg==";
       };
     };
-    "winston-3.4.0" = {
+    "winston-3.6.0" = {
       name = "winston";
       packageName = "winston";
-      version = "3.4.0";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.4.0.tgz";
-        sha512 = "FqilVj+5HKwCfIHQzMxrrd5tBIH10JTS3koFGbLVWBODjiIYq7zir08rFyBT4rrTYG/eaTqDcfSIbcjSM78YSw==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
+        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
       };
     };
-    "winston-transport-4.4.2" = {
+    "winston-transport-4.5.0" = {
       name = "winston-transport";
       packageName = "winston-transport";
-      version = "4.4.2";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.2.tgz";
-        sha512 = "9jmhltAr5ygt5usgUTQbEiw/7RYXpyUbEAFRCSicIacpUzPkrnQsQZSPGEI12aLK9Jth4zNcYJx3Cvznwrl8pw==";
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz";
+        sha512 = "YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==";
       };
     };
     "wmf-1.0.2" = {
@@ -7258,13 +7294,13 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "ws-7.5.6" = {
+    "ws-7.5.7" = {
       name = "ws";
       packageName = "ws";
-      version = "7.5.6";
+      version = "7.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz";
-        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz";
+        sha512 = "KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==";
       };
     };
     "xlsx-0.17.5" = {
@@ -7426,10 +7462,10 @@ in
   n8n = nodeEnv.buildNodePackage {
     name = "n8n";
     packageName = "n8n";
-    version = "0.160.0";
+    version = "0.164.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/n8n/-/n8n-0.160.0.tgz";
-      sha512 = "mdjD4tKohZP8kMbFa+gGWx5rYXLz9HprXr2tPHUpAvZ6x7JGb06uY2ieNifSAH9Ap3CR+qfg6HkPgSKe183CIA==";
+      url = "https://registry.npmjs.org/n8n/-/n8n-0.164.1.tgz";
+      sha512 = "8eUhHHikLspebbc1AjatdSQeaQAVgeYMIMFZmiUPMUw8FVtQ67otse6t/RvBE2RXTzxKer54Nr8eA+cF5dHi8g==";
     };
     dependencies = [
       (sources."@azure/abort-controller-1.0.5" // {
@@ -7437,13 +7473,13 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      sources."@azure/core-asynciterator-polyfill-1.0.1"
+      sources."@azure/core-asynciterator-polyfill-1.0.2"
       (sources."@azure/core-auth-1.3.2" // {
         dependencies = [
           sources."tslib-2.3.1"
         ];
       })
-      (sources."@azure/core-http-2.2.3" // {
+      (sources."@azure/core-http-2.2.4" // {
         dependencies = [
           sources."tough-cookie-4.0.0"
           sources."tslib-2.3.1"
@@ -7481,14 +7517,15 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      sources."@babel/runtime-7.16.7"
-      (sources."@dabh/diagnostics-2.0.2" // {
+      sources."@babel/runtime-7.17.2"
+      sources."@colors/colors-1.5.0"
+      (sources."@dabh/diagnostics-2.0.3" // {
         dependencies = [
           sources."enabled-2.0.0"
           sources."kuler-2.0.0"
         ];
       })
-      sources."@fontsource/open-sans-4.5.2"
+      sources."@fontsource/open-sans-4.5.5"
       sources."@icetee/ftp-0.3.15"
       sources."@kafkajs/confluent-schema-registry-1.0.6"
       sources."@kwsites/file-exists-1.1.1"
@@ -7497,7 +7534,7 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@oclif/command-1.8.16"
-      (sources."@oclif/config-1.18.2" // {
+      (sources."@oclif/config-1.18.3" // {
         dependencies = [
           sources."tslib-2.3.1"
         ];
@@ -7507,14 +7544,19 @@ in
           sources."wrap-ansi-7.0.0"
         ];
       })
-      sources."@oclif/help-1.0.1"
+      (sources."@oclif/help-1.0.1" // {
+        dependencies = [
+          sources."@oclif/config-1.18.2"
+          sources."tslib-2.3.1"
+        ];
+      })
       sources."@oclif/linewrap-1.0.0"
       (sources."@oclif/parser-3.8.6" // {
         dependencies = [
           sources."tslib-2.3.1"
         ];
       })
-      sources."@opentelemetry/api-1.0.4"
+      sources."@opentelemetry/api-1.1.0"
       sources."@rudderstack/rudder-sdk-node-1.0.6"
       sources."@segment/loosely-validate-event-2.0.0"
       sources."@selderee/plugin-htmlparser2-0.6.0"
@@ -7528,15 +7570,15 @@ in
       sources."@types/express-4.17.13"
       sources."@types/express-jwt-0.0.42"
       sources."@types/express-serve-static-core-4.17.28"
-      sources."@types/express-unless-0.5.2"
+      sources."@types/express-unless-0.5.3"
       sources."@types/ftp-0.3.33"
       sources."@types/json-diff-0.5.2"
       sources."@types/jsonwebtoken-8.5.8"
       sources."@types/lodash-4.14.178"
       sources."@types/lossless-json-1.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.10"
-      (sources."@types/node-fetch-2.5.12" // {
+      sources."@types/node-17.0.18"
+      (sources."@types/node-fetch-2.6.1" // {
         dependencies = [
           sources."form-data-3.0.1"
         ];
@@ -7553,8 +7595,10 @@ in
       sources."@xmldom/xmldom-0.7.5"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."access-control-1.0.1"
+      sources."acorn-8.7.0"
+      sources."acorn-walk-8.2.0"
       (sources."adal-node-0.2.3" // {
         dependencies = [
           sources."uuid-3.4.0"
@@ -7602,7 +7646,7 @@ in
         ];
       })
       sources."avsc-5.7.3"
-      (sources."aws-sdk-2.1062.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."events-1.1.1"
@@ -7656,7 +7700,7 @@ in
       })
       sources."bluebird-3.7.2"
       sources."bn.js-4.12.0"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -7675,7 +7719,7 @@ in
       sources."buffer-writer-2.0.0"
       sources."bull-3.29.3"
       sources."byte-length-1.0.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
       sources."callback-stream-1.1.0"
       sources."callsites-3.1.0"
@@ -7697,7 +7741,7 @@ in
               sources."printj-1.2.3"
             ];
           })
-          sources."printj-1.3.0"
+          sources."printj-1.3.1"
         ];
       })
       sources."chalk-4.1.2"
@@ -7742,7 +7786,6 @@ in
       sources."color-name-1.1.4"
       sources."color-string-1.9.0"
       sources."colornames-1.1.1"
-      sources."colors-1.4.0"
       sources."colorspace-1.1.4"
       sources."combined-stream-1.0.8"
       sources."commander-5.1.0"
@@ -7774,11 +7817,15 @@ in
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       sources."convict-6.2.1"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
-      sources."crc-32-1.2.0"
+      (sources."crc-32-1.2.1" // {
+        dependencies = [
+          sources."printj-1.3.1"
+        ];
+      })
       sources."cron-1.7.2"
       sources."cron-parser-2.18.0"
       (sources."cross-spawn-4.0.2" // {
@@ -7855,7 +7902,7 @@ in
       sources."eventsource-1.1.0"
       sources."exit-on-epipe-1.0.1"
       sources."expand-tilde-2.0.2"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -7884,9 +7931,9 @@ in
           sources."ms-2.0.0"
         ];
       })
-      sources."flatted-2.0.2"
+      sources."flatted-3.2.5"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."for-each-0.3.3"
       sources."forever-agent-0.6.1"
       sources."form-data-4.0.0"
@@ -7977,7 +8024,7 @@ in
       sources."ini-1.3.8"
       sources."inquirer-7.3.3"
       sources."internal-slot-1.0.3"
-      sources."ioredis-4.28.3"
+      sources."ioredis-4.28.5"
       sources."ip-regex-2.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-absolute-1.0.0"
@@ -8012,9 +8059,9 @@ in
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-0.0.1"
-      sources."isbot-3.4.0"
+      sources."isbot-3.4.3"
       sources."isexe-2.0.0"
-      sources."iso-639-1-2.1.12"
+      sources."iso-639-1-2.1.13"
       sources."isstream-0.1.2"
       sources."jmespath-0.16.0"
       sources."join-component-1.1.0"
@@ -8036,7 +8083,7 @@ in
       sources."jwa-1.4.1"
       sources."jwks-rsa-1.12.3"
       sources."jws-3.2.2"
-      sources."kafkajs-1.15.0"
+      sources."kafkajs-1.16.0"
       sources."kuler-1.0.1"
       sources."leven-2.1.0"
       sources."libbase64-1.2.1"
@@ -8045,7 +8092,7 @@ in
           sources."iconv-lite-0.6.2"
         ];
       })
-      sources."libphonenumber-js-1.9.44"
+      sources."libphonenumber-js-1.9.49"
       sources."libqp-1.1.0"
       sources."limiter-1.1.5"
       sources."linkify-it-3.0.3"
@@ -8068,11 +8115,12 @@ in
       sources."lodash.isnumber-3.0.3"
       sources."lodash.isplainobject-4.0.6"
       sources."lodash.isstring-4.0.1"
+      sources."lodash.merge-4.6.2"
       sources."lodash.once-4.1.1"
       sources."lodash.set-4.3.2"
       sources."lodash.uniqby-4.7.0"
       sources."lodash.unset-4.5.2"
-      sources."logform-2.3.2"
+      sources."logform-2.4.0"
       sources."long-4.0.0"
       sources."lossless-json-1.0.5"
       (sources."lower-case-2.0.2" // {
@@ -8101,7 +8149,7 @@ in
       })
       sources."make-error-1.3.6"
       sources."make-error-cause-2.3.0"
-      sources."mappersmith-2.36.3"
+      sources."mappersmith-2.37.1"
       sources."md5-2.3.0"
       sources."media-typer-0.3.0"
       sources."merge-descriptors-1.0.1"
@@ -8114,7 +8162,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
         dependencies = [
@@ -8157,20 +8205,19 @@ in
         ];
       })
       sources."mz-2.7.0"
-      (sources."n8n-core-0.102.0" // {
+      (sources."n8n-core-0.105.0" // {
         dependencies = [
-          sources."flatted-3.2.4"
           sources."qs-6.10.3"
         ];
       })
-      sources."n8n-design-system-0.9.0"
-      sources."n8n-editor-ui-0.127.0"
-      (sources."n8n-nodes-base-0.158.0" // {
+      sources."n8n-design-system-0.11.0"
+      sources."n8n-editor-ui-0.131.0"
+      (sources."n8n-nodes-base-0.162.0" // {
         dependencies = [
           sources."iconv-lite-0.6.3"
         ];
       })
-      sources."n8n-workflow-0.84.0"
+      sources."n8n-workflow-0.87.0"
       (sources."named-placeholders-1.1.2" // {
         dependencies = [
           sources."lru-cache-4.1.5"
@@ -8178,7 +8225,7 @@ in
         ];
       })
       sources."nanoclone-0.2.1"
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."native-duplexpair-1.0.0"
       (sources."nearley-2.20.1" // {
         dependencies = [
@@ -8190,7 +8237,7 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       (sources."no-case-3.0.4" // {
         dependencies = [
@@ -8289,14 +8336,18 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
-      sources."pg-8.7.1"
+      sources."pg-8.7.3"
       sources."pg-connection-string-2.5.0"
       sources."pg-int8-1.0.1"
       sources."pg-minify-1.6.2"
-      sources."pg-pool-3.4.1"
-      sources."pg-promise-10.11.1"
+      sources."pg-pool-3.5.1"
+      (sources."pg-promise-10.11.1" // {
+        dependencies = [
+          sources."pg-8.7.1"
+        ];
+      })
       sources."pg-protocol-1.5.0"
       sources."pg-types-2.2.0"
       (sources."pgpass-1.0.5" // {
@@ -8342,7 +8393,7 @@ in
       })
       sources."punycode-2.1.1"
       sources."python-struct-1.1.3"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."querystring-0.2.0"
       sources."querystringify-2.2.0"
       sources."queue-microtask-1.2.3"
@@ -8352,7 +8403,7 @@ in
       sources."random-bytes-1.0.0"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."readable-stream-1.1.14"
       sources."readable-web-to-node-stream-2.0.0"
@@ -8401,7 +8452,7 @@ in
       sources."run-parallel-1.2.0"
       sources."rxjs-6.6.7"
       sources."safe-buffer-5.2.1"
-      sources."safe-stable-stringify-1.1.1"
+      sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."sb-promise-queue-2.1.0"
@@ -8433,7 +8484,7 @@ in
       sources."sha.js-2.4.11"
       sources."shell-escape-0.2.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-git-2.48.0"
       sources."simple-lru-cache-0.0.2"
       sources."simple-swizzle-0.2.2"
@@ -8443,7 +8494,7 @@ in
           sources."tslib-2.3.1"
         ];
       })
-      (sources."snowflake-sdk-1.6.6" // {
+      (sources."snowflake-sdk-1.6.7" // {
         dependencies = [
           sources."agent-base-4.3.0"
           sources."debug-3.2.7"
@@ -8467,8 +8518,8 @@ in
       sources."sqlstring-2.3.2"
       sources."sse-channel-3.1.1"
       sources."ssf-0.11.2"
-      sources."ssh2-1.5.0"
-      sources."ssh2-sftp-client-7.2.1"
+      sources."ssh2-1.6.0"
+      sources."ssh2-sftp-client-7.2.2"
       sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
       sources."standard-as-callback-2.1.0"
@@ -8482,7 +8533,7 @@ in
       sources."string_decoder-0.10.31"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
-      sources."strtok3-6.2.4"
+      sources."strtok3-6.3.0"
       sources."supports-color-7.2.0"
       (sources."tar-4.4.19" // {
         dependencies = [
@@ -8494,7 +8545,7 @@ in
       sources."tdigest-0.1.1"
       (sources."tedious-6.7.1" // {
         dependencies = [
-          sources."@types/node-12.20.42"
+          sources."@types/node-12.20.46"
           sources."bl-3.0.1"
           sources."depd-2.0.0"
           sources."iconv-lite-0.5.2"
@@ -8576,7 +8627,7 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-parse-1.5.4"
+      sources."url-parse-1.5.9"
       (sources."utf7-1.0.2" // {
         dependencies = [
           sources."semver-5.3.0"
@@ -8592,7 +8643,7 @@ in
       sources."validator-13.7.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
-      sources."vm2-3.9.5"
+      sources."vm2-3.9.8"
       sources."vue-fragment-1.5.2"
       sources."vue-i18n-8.27.0"
       sources."webidl-conversions-3.0.1"
@@ -8601,14 +8652,14 @@ in
       sources."which-boxed-primitive-1.0.2"
       sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
-      (sources."winston-3.4.0" // {
+      (sources."winston-3.6.0" // {
         dependencies = [
           sources."async-3.2.3"
           sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
         ];
       })
-      (sources."winston-transport-4.4.2" // {
+      (sources."winston-transport-4.5.0" // {
         dependencies = [
           sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
@@ -8619,7 +8670,7 @@ in
       sources."wordwrap-1.0.0"
       sources."wrap-ansi-6.2.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xlsx-0.17.5"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
diff --git a/pkgs/applications/networking/nextdns/default.nix b/pkgs/applications/networking/nextdns/default.nix
index ae7eb49a1c6..a18257dfeb6 100644
--- a/pkgs/applications/networking/nextdns/default.nix
+++ b/pkgs/applications/networking/nextdns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nextdns";
-  version = "1.37.3";
+  version = "1.37.7";
 
   src = fetchFromGitHub {
     owner = "nextdns";
     repo = "nextdns";
     rev = "v${version}";
-    sha256 = "sha256-BCDVn4JaRYIexI7NrRDchUl9u4AEJa+An9ItYYJDs3A=";
+    sha256 = "sha256-L5PeT4Y2oWM1WUJaBK9xgrpfkpvKM1+sA29A3AiDE38=";
   };
 
-  vendorSha256 = "sha256-YZm+DUrH+1xdJrGjmlajbcsnqVODVbZKivVjmqZ2e48=";
+  vendorSha256 = "sha256-6hWD05lXteqL7egj9tiRVHlevKM33i+a+zBUZs7PF7I=";
 
   doCheck = false;
 
diff --git a/pkgs/applications/networking/ngadmin/default.nix b/pkgs/applications/networking/ngadmin/default.nix
index 8392e058345..f63fbfcf950 100644
--- a/pkgs/applications/networking/ngadmin/default.nix
+++ b/pkgs/applications/networking/ngadmin/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation {
   nativeBuildInputs =
     [ autoreconfHook ]
     ++ lib.optional withReadline readline;
-  enableParallelBuild = true;
+  enableParallelBuilding = true;
   configureFlags = with lib;
     optional (!withReadline) "--without-readline"
     ++ optional enableEmu "--enable-emu"
diff --git a/pkgs/applications/networking/novnc/default.nix b/pkgs/applications/networking/novnc/default.nix
new file mode 100644
index 00000000000..269944324c6
--- /dev/null
+++ b/pkgs/applications/networking/novnc/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  pname = "novnc";
+  version = "1.3.0";
+
+  src = fetchFromGitHub {
+    owner = "novnc";
+    repo = "noVNC";
+    rev = "v${version}";
+    sha256 = "sha256-Z+bks7kcwj+Z3uf/t0u25DnGOM60QhSH6uuoIi59jqU=";
+  };
+
+  installPhase = ''
+    runHook preInstall
+
+    install -Dm755 utils/novnc_proxy "$out/bin/novnc"
+    install -dm755 "$out/share/webapps/novnc/"
+    cp -a app core po vendor vnc.html karma.conf.js package.json vnc_lite.html "$out/share/webapps/novnc/"
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "VNC client web application";
+    homepage = "https://novnc.com";
+    license = with licenses; [ mpl20 ofl bsd3 bsd2 mit ];
+    maintainers = with maintainers; [ neverbehave ];
+  };
+}
diff --git a/pkgs/applications/networking/opsdroid/default.nix b/pkgs/applications/networking/opsdroid/default.nix
index 3560e8066d8..ff6760d3daa 100644
--- a/pkgs/applications/networking/opsdroid/default.nix
+++ b/pkgs/applications/networking/opsdroid/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "opsdroid";
-  version = "0.24.1";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "opsdroid";
     repo = "opsdroid";
     rev = "v${version}";
-    sha256 = "15l2jvcpb9l8sgdd9zsvxqglf1r3vap0pp9cklpfa9jj0aik6nx9";
+    sha256 = "0f32jf2rds9543akysxinf3hsgzr0w880xwcrcm1r2r0nhp8b8s5";
   };
 
   disabled = !python3Packages.isPy3k;
diff --git a/pkgs/applications/networking/ostinato/default.nix b/pkgs/applications/networking/ostinato/default.nix
index 0719c137aba..45307504d73 100644
--- a/pkgs/applications/networking/ostinato/default.nix
+++ b/pkgs/applications/networking/ostinato/default.nix
@@ -29,21 +29,18 @@ mkDerivation rec {
   '';
 
   desktopItem = makeDesktopItem {
-    type          = "Application";
     name          = "ostinato";
     desktopName   = "Ostinato";
     genericName   = "Packet/Traffic Generator and Analyzer";
     comment       = "Network packet and traffic generator and analyzer with a friendly GUI";
-    categories    = "Network";
-    terminal      = "false";
-    startupNotify = "true";
+    categories    = [ "Network" ];
+    startupNotify = true;
     exec          = "$out/bin/ostinato";
     icon          =  ostinatoIcon;
-    extraEntries  = ''
-      GenericName[it]=Generatore ed Analizzatore di pacchetti di rete
-      Comment[it]=Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole
-    '';
-    fileValidation = false;
+    extraConfig   = {
+      "GenericName[it]" = "Generatore ed Analizzatore di pacchetti di rete";
+      "Comment[it]"     = "Generatore ed Analizzatore di pacchetti di rete con interfaccia amichevole";
+    };
   };
 
   postInstall = ''
diff --git a/pkgs/applications/networking/p2p/dht/default.nix b/pkgs/applications/networking/p2p/dht/default.nix
index 0088e517914..b1d01f82876 100644
--- a/pkgs/applications/networking/p2p/dht/default.nix
+++ b/pkgs/applications/networking/p2p/dht/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "BitTorrent DHT library";
     homepage = "https://github.com/transmission/dht";
     license = licenses.mit;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/p2p/fragments/default.nix b/pkgs/applications/networking/p2p/fragments/default.nix
index 721f0ca259f..a07869209c7 100644
--- a/pkgs/applications/networking/p2p/fragments/default.nix
+++ b/pkgs/applications/networking/p2p/fragments/default.nix
@@ -71,7 +71,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://gitlab.gnome.org/World/Fragments";
     description = "A GTK3 BitTorrent Client";
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/networking/p2p/frostwire/default.nix b/pkgs/applications/networking/p2p/frostwire/default.nix
index b3b277bf130..e4c1c8f5b7b 100644
--- a/pkgs/applications/networking/p2p/frostwire/default.nix
+++ b/pkgs/applications/networking/p2p/frostwire/default.nix
@@ -18,7 +18,7 @@ let
     exec = "frostwire";
     icon = "frostwire";
     comment = "Search and explore all kinds of files on the Bittorrent network";
-    categories = "Network;FileTransfer;P2P;";
+    categories = [ "Network" "FileTransfer" "P2P" ];
   };
 
   # fake build to pre-download deps into fixed-output derivation
diff --git a/pkgs/applications/networking/p2p/libutp/default.nix b/pkgs/applications/networking/p2p/libutp/default.nix
index 6fba4faf50c..a07ffdea6b6 100644
--- a/pkgs/applications/networking/p2p/libutp/default.nix
+++ b/pkgs/applications/networking/p2p/libutp/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     description = "uTorrent Transport Protocol library";
     homepage = "https://github.com/transmission/libutp";
     license = licenses.mit;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/networking/p2p/qbittorrent/default.nix b/pkgs/applications/networking/p2p/qbittorrent/default.nix
index ee5e98ed42c..3c05398df0e 100644
--- a/pkgs/applications/networking/p2p/qbittorrent/default.nix
+++ b/pkgs/applications/networking/p2p/qbittorrent/default.nix
@@ -12,13 +12,13 @@ assert trackerSearch -> (python3 != null);
 with lib;
 mkDerivation rec {
   pname = "qbittorrent";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchFromGitHub {
     owner = "qbittorrent";
     repo = "qBittorrent";
     rev = "release-${version}";
-    sha256 = "sha256-xxQ6NGRSwRP+7kTxUsDB00VItHRHuaFopEroETtnGSs=";
+    sha256 = "sha256-HNgegPL7M0zwkn7+lcNcsgWgrCbY9/d0nuIlIC5hkAM=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/networking/p2p/transgui/default.nix b/pkgs/applications/networking/p2p/transgui/default.nix
index 0a2f90ecb71..da7633221a5 100644
--- a/pkgs/applications/networking/p2p/transgui/default.nix
+++ b/pkgs/applications/networking/p2p/transgui/default.nix
@@ -49,13 +49,9 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "Transmission Remote GUI";
     genericName = "BitTorrent Client";
-    categories = lib.concatStringsSep ";" [
-      "Application" "Network" "FileTransfer" "P2P" "GTK"
-    ];
-    startupNotify = "true";
-    mimeType = lib.concatStringsSep ";" [
-      "application/x-bittorrent" "x-scheme-handler/magnet"
-    ];
+    categories = [ "Application" "Network" "FileTransfer" "P2P" "GTK" ];
+    startupNotify = true;
+    mimeTypes = [ "application/x-bittorrent" "x-scheme-handler/magnet" ];
   };
 
   postInstall = ''
diff --git a/pkgs/applications/networking/p2p/tribler/aiohttp-apispec.nix b/pkgs/applications/networking/p2p/tribler/aiohttp-apispec.nix
deleted file mode 100644
index 4e1f5ee6ca7..00000000000
--- a/pkgs/applications/networking/p2p/tribler/aiohttp-apispec.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, pythonOlder
-, aiohttp, webargs, fetchFromGitHub, callPackage
-}:
-
-let
-  apispec3 = callPackage ./apispec.nix {};
-  jinja2 = callPackage ../../../../development/python2-modules/jinja2 {};
-in
-buildPythonPackage rec {
-  pname = "aiohttp-apispec";
-  version = "unstable-2021-21-08";
-
-  # unstable so we can use latest webargs
-  src = fetchFromGitHub {
-    owner = "maximdanilchenko";
-    repo = "aiohttp-apispec";
-    rev = "cfa19646394480dda289f6b7af19b7d50f245d81";
-    sha256 = "uEgDRAlMjTa4rvdE3fkORCHIlCLzxPJJ2/m4ZRU3eIQ=";
-    fetchSubmodules = false;
-  };
-
-  propagatedBuildInputs = [ aiohttp webargs apispec3 jinja2 ];
-
-  pythonImportsCheck = [
-    "aiohttp_apispec"
-  ];
-
-  # Requires pytest-sanic, currently broken in nixpkgs
-  doCheck = false;
-
-  meta = with lib; {
-    description = "Build and document REST APIs with aiohttp and apispec";
-    homepage = "https://github.com/maximdanilchenko/aiohttp-apispec/";
-    license = licenses.mit;
-    maintainers = [ maintainers.viric ];
-  };
-}
diff --git a/pkgs/applications/networking/p2p/tribler/apispec.nix b/pkgs/applications/networking/p2p/tribler/apispec.nix
deleted file mode 100644
index e60a440df3f..00000000000
--- a/pkgs/applications/networking/p2p/tribler/apispec.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pyyaml
-, prance
-, marshmallow
-, pytestCheckHook
-, mock
-, openapi-spec-validator
-}:
-
-buildPythonPackage rec {
-  pname = "apispec";
-  version = "3.3.2";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d23ebd5b71e541e031b02a19db10b5e6d5ef8452c552833e3e1afc836b40b1ad";
-  };
-
-  propagatedBuildInputs = [
-    pyyaml
-    prance
-  ];
-
-  postPatch = ''
-    rm tests/test_ext_marshmallow.py
-  '';
-
-  checkInputs = [
-    openapi-spec-validator
-    marshmallow
-    mock
-    pytestCheckHook
-  ];
-
-  pythonImportsCheck = [
-    "apispec"
-  ];
-
-  meta = with lib; {
-    description = "A pluggable API specification generator. Currently supports the OpenAPI Specification (f.k.a. the Swagger specification";
-    homepage = "https://github.com/marshmallow-code/apispec";
-    license = licenses.mit;
-    maintainers = [ maintainers.viric ];
-  };
-}
diff --git a/pkgs/applications/networking/p2p/tribler/default.nix b/pkgs/applications/networking/p2p/tribler/default.nix
index 6a8f93a2938..d1df2fea444 100644
--- a/pkgs/applications/networking/p2p/tribler/default.nix
+++ b/pkgs/applications/networking/p2p/tribler/default.nix
@@ -1,20 +1,23 @@
-{ stdenv, lib, fetchurl, python3, makeWrapper
-, libtorrent-rasterbar-1_2_x, qt5
+{ lib
+, stdenv
+, fetchurl
+, python3
+, makeWrapper
+, libtorrent-rasterbar-1_2_x
+, qt5
 }:
 
 let
   libtorrent = (python3.pkgs.toPythonModule (
     libtorrent-rasterbar-1_2_x.override { python = python3; })).python;
-
-  aiohttp-apispec = python3.pkgs.callPackage ./aiohttp-apispec.nix { };
 in
 stdenv.mkDerivation rec {
   pname = "tribler";
-  version = "7.10.0";
+  version = "7.11.0";
 
   src = fetchurl {
     url = "https://github.com/Tribler/tribler/releases/download/v${version}/Tribler-v${version}.tar.xz";
-    sha256 = "1x45z23d1cqf0lai7wg5ki7gi2vba5hqk0swhggzplcjwma4wmh9";
+    sha256 = "0ffh8chb47iaar8872gvalgm84fjzyxph16nixsxknnprqdxyrkx";
   };
 
   nativeBuildInputs = [
@@ -29,40 +32,38 @@ stdenv.mkDerivation rec {
   pythonPath = [
     libtorrent
   ] ++ (with python3.pkgs; [
-    twisted
-    netifaces
-    pycrypto
-    pyasn1
-    requests
-    m2crypto
-    pyqt5
+    aiohttp
+    aiohttp-apispec
+    asynctest
     chardet
     cherrypy
-    cryptography
-    libnacl
     configobj
+    cryptography
     decorator
+    faker
     feedparser
-    service-identity
-    psutil
-    pillow
+    libnacl
+    lz4
+    m2crypto
+    netifaces
     networkx
+    pillow
     pony
-    lz4
+    psutil
+    pyasn1
+    pycrypto
+    pyqt5
     pyqtgraph
-    pyyaml
-    aiohttp
-    aiohttp-apispec
-    faker
-    sentry-sdk
     pytest-asyncio
     pytest-timeout
-    asynctest
+    pyyaml
+    requests
+    sentry-sdk
+    service-identity
+    twisted
     yappi
-
-    # there is a BTC feature, but it requires some unclear version of
-    # bitcoinlib, so this doesn't work right now.
-    # bitcoinlib
+    pydantic
+    anyio
   ]);
 
   installPhase = ''
@@ -72,6 +73,7 @@ stdenv.mkDerivation rec {
     cp -prvd ./* $out/
     makeWrapper ${python3.pkgs.python}/bin/python $out/bin/tribler \
         --set QT_QPA_PLATFORM_PLUGIN_PATH ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms \
+        --set QT_PLUGIN_PATH "${qt5.qtsvg.bin}/${qt5.qtbase.qtPluginPrefix}" \
         --set _TRIBLERPATH $out/src \
         --set PYTHONPATH $out/src/tribler-core:$out/src/tribler-common:$out/src/tribler-gui:$program_PYTHONPATH \
         --set NO_AT_BRIDGE 1 \
@@ -79,15 +81,22 @@ stdenv.mkDerivation rec {
         --add-flags "-O $out/src/run_tribler.py"
 
     mkdir -p $out/share/applications $out/share/icons
-    cp $out/build/debian/tribler/usr/share/applications/tribler.desktop $out/share/applications/tribler.desktop
+    cp $out/build/debian/tribler/usr/share/applications/org.tribler.Tribler.desktop $out/share/applications/
     cp $out/build/debian/tribler/usr/share/pixmaps/tribler_big.xpm $out/share/icons/tribler.xpm
   '';
 
+  shellHook = ''
+    wrapPythonPrograms || true
+    export QT_QPA_PLATFORM_PLUGIN_PATH=$(echo ${qt5.qtbase.bin}/lib/qt-*/plugins/platforms)
+    export PYTHONPATH=./tribler-core:./tribler-common:./tribler-gui:$program_PYTHONPATH
+    export QT_PLUGIN_PATH="${qt5.qtsvg.bin}/${qt5.qtbase.qtPluginPrefix}"
+  '';
+
   meta = with lib; {
-    maintainers = with maintainers; [ xvapx viric ];
+    description = "Decentralised P2P filesharing client based on the Bittorrent protocol";
     homepage = "https://www.tribler.org/";
-    description = "A completely decentralised P2P filesharing client based on the Bittorrent protocol";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Plus;
+    maintainers = with maintainers; [ xvapx viric ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/networking/protonmail-bridge/default.nix b/pkgs/applications/networking/protonmail-bridge/default.nix
index 1283f0d7fa8..d56197c3134 100644
--- a/pkgs/applications/networking/protonmail-bridge/default.nix
+++ b/pkgs/applications/networking/protonmail-bridge/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "protonmail-bridge";
-  version = "1.8.12";
+  version = "2.1.1";
 
   src = fetchFromGitHub {
     owner = "ProtonMail";
     repo = "proton-bridge";
     rev = "br-${version}";
-    sha256 = "sha256-CkvD7PKx2Gm2KgsIIqQ9l1Z3tWlhqIbW0sxCV2UBYTE=";
+    sha256 = "sha256-8oDA1QU5ZjtQZoCPVDa1U3P2KLzXtegtOxm6rNh+Ahk=";
   };
 
-  vendorSha256 = "sha256-Pz3xRTwlnJGh1XvxIbyjvYcMywk/wdp4hYovPLBD494=";
+  vendorSha256 = "sha256-n+WwkNHT+/CrC4vWIVHqYs2a8Qe/LNc0L3uoPZWDTts=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/networking/remote/anydesk/default.nix b/pkgs/applications/networking/remote/anydesk/default.nix
index 890553b338e..54d7c5c6813 100644
--- a/pkgs/applications/networking/remote/anydesk/default.nix
+++ b/pkgs/applications/networking/remote/anydesk/default.nix
@@ -12,8 +12,8 @@ let
     icon = "anydesk";
     desktopName = "AnyDesk";
     genericName = description;
-    categories = "Network;";
-    startupNotify = "false";
+    categories = [ "Network" ];
+    startupNotify = false;
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/applications/networking/remote/freerdp/default.nix b/pkgs/applications/networking/remote/freerdp/default.nix
index f9450c58826..19e8d1eeba7 100644
--- a/pkgs/applications/networking/remote/freerdp/default.nix
+++ b/pkgs/applications/networking/remote/freerdp/default.nix
@@ -52,13 +52,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "freerdp";
-  version = "2.5.0";
+  version = "2.6.0";
 
   src = fetchFromGitHub {
     owner = "FreeRDP";
     repo = "FreeRDP";
     rev = version;
-    sha256 = "sha256-OLz/f4E+Haumw5Jaw+F1hiHz0jfcywhfK3fEUgLorao=";
+    sha256 = "sha256-gYHnorj2Up0aAVeltCCPOg/j3DY0ukWWNUU7uikvys0=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/networking/remote/remmina/default.nix b/pkgs/applications/networking/remote/remmina/default.nix
index da07d7d72ab..efce24a06f9 100644
--- a/pkgs/applications/networking/remote/remmina/default.nix
+++ b/pkgs/applications/networking/remote/remmina/default.nix
@@ -7,19 +7,20 @@
 , openssl, gsettings-desktop-schemas, json-glib, libsodium, webkitgtk, harfbuzz
 # The themes here are soft dependencies; only icons are missing without them.
 , gnome
+, withLibsecret ? true
 }:
 
 with lib;
 
 stdenv.mkDerivation rec {
   pname = "remmina";
-  version = "1.4.23";
+  version = "1.4.24";
 
   src = fetchFromGitLab {
     owner  = "Remmina";
     repo   = "Remmina";
     rev    = "v${version}";
-    sha256 = "sha256-MyemiSAMZEa9Ng6WHEyHgrze8YtIbzMCR8CTb86PDsg=";
+    sha256 = "sha256-rcxgr3HVOWA3mTfX8tka9bPGDRDtKhBRsfQ3hv9XHf0=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config wrapGAppsHook ];
@@ -29,15 +30,16 @@ stdenv.mkDerivation rec {
     freerdp libssh libgcrypt gnutls
     pcre2 libdbusmenu-gtk3 libappindicator-gtk3
     libvncserver libpthreadstubs libXdmcp libxkbcommon
-    libsecret libsoup spice-protocol spice-gtk libepoxy at-spi2-core
+    libsoup spice-protocol spice-gtk libepoxy at-spi2-core
     openssl gnome.adwaita-icon-theme json-glib libsodium webkitgtk
     harfbuzz
-  ];
+  ] ++ optionals withLibsecret [ libsecret ];
 
   cmakeFlags = [
     "-DWITH_VTE=OFF"
     "-DWITH_TELEPATHY=OFF"
     "-DWITH_AVAHI=OFF"
+    "-DWITH_LIBSECRET=${if withLibsecret then "ON" else "OFF"}"
     "-DFREERDP_LIBRARY=${freerdp}/lib/libfreerdp2.so"
     "-DFREERDP_CLIENT_LIBRARY=${freerdp}/lib/libfreerdp-client2.so"
     "-DFREERDP_WINPR_LIBRARY=${freerdp}/lib/libwinpr2.so"
diff --git a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
index ee9467467cf..be0832a075f 100644
--- a/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
+++ b/pkgs/applications/networking/remote/vmware-horizon-client/default.nix
@@ -105,7 +105,7 @@ let
     desktopName = "VMware Horizon Client";
     icon = "${vmwareHorizonClientFiles}/share/icons/vmware-view.png";
     exec = "${vmwareFHSUserEnv "vmware-view"}/bin/vmware-view %u";
-    mimeType = "x-scheme-handler/vmware-view";
+    mimeTypes = [ "x-scheme-handler/vmware-view" ];
   };
 
   binLinkCommands = lib.concatMapStringsSep
diff --git a/pkgs/applications/networking/seaweedfs/default.nix b/pkgs/applications/networking/seaweedfs/default.nix
index f98b1c28ebf..4b6ae464e7d 100644
--- a/pkgs/applications/networking/seaweedfs/default.nix
+++ b/pkgs/applications/networking/seaweedfs/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "seaweedfs";
-  version = "2.88";
+  version = "2.90";
 
   src = fetchFromGitHub {
     owner = "chrislusf";
     repo = "seaweedfs";
     rev = version;
-    sha256 = "sha256-B/gcuga82lZSLPKjYWAiLyvqf1FRQmHJsH2jqLkusjA=";
+    sha256 = "sha256-PZe/yUJGcj3/nIYaf7eAbiJIA2YASJ8nlMLIWWKJrbo=";
   };
 
-  vendorSha256 = "sha256-N7zOrSMrCR/eOH+08TImI1q2AFGUuWN7xIt3CUVB9rM=";
+  vendorSha256 = "sha256-E6bMpWzXb5dMPXkrVSJJWXJYvkmI3cNRseMgrQNpCl4=";
 
   subPackages = [ "weed" ];
 
diff --git a/pkgs/applications/networking/shellhub-agent/default.nix b/pkgs/applications/networking/shellhub-agent/default.nix
index 3128529f0e6..d698601cb19 100644
--- a/pkgs/applications/networking/shellhub-agent/default.nix
+++ b/pkgs/applications/networking/shellhub-agent/default.nix
@@ -1,33 +1,31 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, genericUpdater
-, common-updater-scripts
+, gitUpdater
 , makeWrapper
 , openssh
 }:
 
 buildGoModule rec {
   pname = "shellhub-agent";
-  version = "0.8.2";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "shellhub-io";
     repo = "shellhub";
     rev = "v${version}";
-    sha256 = "saaohHHjX9ws74SXlpP+V9cks0ddLkz04ceY14uoVhA=";
+    sha256 = "A1634b3uxlILMpx/9jpCIApqAqofvD4ZPasVKL29Gtc=";
   };
 
   modRoot = "./agent";
 
-  vendorSha256 = "sha256-Xfzk6Ts6+LzGaMTcbopGG6WT541nkAnZxq/3AlX81ks=";
+  vendorSha256 = "sha256-LxJtLQr8djoRGznT5hL2agTgtZY6pFS8Zo0BwHDmugc=";
 
   ldflags = [ "-s" "-w" "-X main.AgentVersion=v${version}" ];
 
   passthru = {
-    updateScript = genericUpdater {
+    updateScript = gitUpdater {
       inherit pname version;
-      versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
       rev-prefix = "v";
       ignoredVersions = ".(rc|beta).*";
     };
diff --git a/pkgs/applications/networking/sniffers/wireshark/default.nix b/pkgs/applications/networking/sniffers/wireshark/default.nix
index 4e4db0e74e9..b667c7671bd 100644
--- a/pkgs/applications/networking/sniffers/wireshark/default.nix
+++ b/pkgs/applications/networking/sniffers/wireshark/default.nix
@@ -11,7 +11,7 @@ assert withQt  -> qt5  != null;
 with lib;
 
 let
-  version = "3.6.1";
+  version = "3.6.2";
   variant = if withQt then "qt" else "cli";
 
 in stdenv.mkDerivation {
@@ -21,7 +21,7 @@ in stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.wireshark.org/download/src/all-versions/wireshark-${version}.tar.xz";
-    sha256 = "sha256-BDTtqPtr+I4rQqZ+tdHeJUpn1QW+w7tR/unXyteSWjg=";
+    sha256 = "sha256-XZAaVXKu+VPwStwlPtKgaZ1MYnedMkkCHh6FQaAkww4=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/applications/networking/soulseek/nicotine-plus/default.nix b/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
index 34579ec8ba7..c38a01a49d5 100644
--- a/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
+++ b/pkgs/applications/networking/soulseek/nicotine-plus/default.nix
@@ -5,13 +5,13 @@ with lib;
 
 python3Packages.buildPythonApplication rec {
   pname = "nicotine-plus";
-  version = "3.2.0";
+  version = "3.2.1";
 
   src = fetchFromGitHub {
     owner = "Nicotine-Plus";
     repo = "nicotine-plus";
     rev = version;
-    hash = "sha256-E8b2VRlnMWmBHu919QDPBYuMbrjov9t//bHi1Y/F0Ak=";
+    hash = "sha256-3NXlNd3Zy++efnvcnfIOUP83mdJ5h8BmE4a2uWn5CPQ=";
   };
 
   nativeBuildInputs = [ gettext wrapGAppsHook ];
diff --git a/pkgs/applications/networking/ssb-patchwork/default.nix b/pkgs/applications/networking/ssb-patchwork/default.nix
index 0223c153f5c..4d0fd119285 100644
--- a/pkgs/applications/networking/ssb-patchwork/default.nix
+++ b/pkgs/applications/networking/ssb-patchwork/default.nix
@@ -26,7 +26,7 @@ let
     comment = "Client for the decentralized social network Secure Scuttlebutt";
     desktopName = "Patchwork";
     genericName = "Patchwork";
-    categories = "Network;";
+    categories = [ "Network" ];
   };
 
 in
diff --git a/pkgs/applications/networking/sync/unison/default.nix b/pkgs/applications/networking/sync/unison/default.nix
index 9759516eddc..3e0ed7a5020 100644
--- a/pkgs/applications/networking/sync/unison/default.nix
+++ b/pkgs/applications/networking/sync/unison/default.nix
@@ -60,12 +60,9 @@ stdenv.mkDerivation rec {
     genericName = "File synchronization tool";
     exec = "unison";
     icon = "unison";
-    categories = "Utility;FileTools;GTK;";
-    extraDesktopEntries = {
-      StartupWMClass = "Unison";
-      StartupNotify = "true";
-      X-MultipleArgs = "false";
-    };
+    categories = [ "Utility" "FileTools" "GTK" ];
+    startupNotify = true;
+    startupWMClass = "Unison";
   });
 
   meta = with lib; {
diff --git a/pkgs/applications/networking/termius/default.nix b/pkgs/applications/networking/termius/default.nix
index c699781376a..e419a350489 100644
--- a/pkgs/applications/networking/termius/default.nix
+++ b/pkgs/applications/networking/termius/default.nix
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
   };
 
   desktopItem = makeDesktopItem {
-    categories = "Network;";
+    categories = [ "Network" ];
     comment = "The SSH client that works on Desktop and Mobile";
     desktopName = "Termius";
     exec = "termius-app";
diff --git a/pkgs/applications/networking/testssl/default.nix b/pkgs/applications/networking/testssl/default.nix
index cd0b47a3957..5f889f6c5e7 100644
--- a/pkgs/applications/networking/testssl/default.nix
+++ b/pkgs/applications/networking/testssl/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "testssl.sh";
-  version = "3.0.6";
+  version = "3.0.7";
 
   src = fetchFromGitHub {
     owner = "drwetter";
     repo = pname;
     rev = "v${version}";
-    sha256 = "016qpsb4dv9qb3ab3hmvk4vzf4ipr3xgmzv2cx46pxxsj0gnigd8";
+    sha256 = "sha256-SZfGiKSbLq81YdDMgG0C6LC/nE5NApqeWK/PqDzQNBU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/networking/wayback_machine_downloader/Gemfile b/pkgs/applications/networking/wayback_machine_downloader/Gemfile
index e519efbf570..3625511551d 100644
--- a/pkgs/applications/networking/wayback_machine_downloader/Gemfile
+++ b/pkgs/applications/networking/wayback_machine_downloader/Gemfile
@@ -1,5 +1,4 @@
 # frozen_string_literal: true
 
-source 'https://rubygems.org' do
-  gem 'wayback_machine_downloader'
-end
+source 'https://rubygems.org'
+gem 'wayback_machine_downloader'
diff --git a/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock b/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock
index 4534beb20c3..936e10996fb 100644
--- a/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock
+++ b/pkgs/applications/networking/wayback_machine_downloader/Gemfile.lock
@@ -1,13 +1,13 @@
 GEM
   remote: https://rubygems.org/
   specs:
-    wayback_machine_downloader (2.2.1)
+    wayback_machine_downloader (2.3.1)
 
 PLATFORMS
   ruby
 
 DEPENDENCIES
-  wayback_machine_downloader!
+  wayback_machine_downloader
 
 BUNDLED WITH
-   2.1.4
+   2.3.6
diff --git a/pkgs/applications/networking/wayback_machine_downloader/gemset.nix b/pkgs/applications/networking/wayback_machine_downloader/gemset.nix
index 1ef3cd36536..87cb3019d0a 100644
--- a/pkgs/applications/networking/wayback_machine_downloader/gemset.nix
+++ b/pkgs/applications/networking/wayback_machine_downloader/gemset.nix
@@ -4,9 +4,9 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12kb1qmvmmsaihqab1prn6cmynkn6cgb4vf41mgv22wkcgv5wgk2";
+      sha256 = "170426sashqc2k2angg8d0bhs7spi1x1isv6cyk2hif0l6xxm3cm";
       type = "gem";
     };
-    version = "2.2.1";
+    version = "2.3.1";
   };
 }
diff --git a/pkgs/applications/office/appflowy/default.nix b/pkgs/applications/office/appflowy/default.nix
index 05bb88bdfe7..abc8e33fd37 100644
--- a/pkgs/applications/office/appflowy/default.nix
+++ b/pkgs/applications/office/appflowy/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "appflowy";
-  version = "0.0.2";
+  version = "0.0.3";
 
   src = fetchzip {
     url = "https://github.com/AppFlowy-IO/appflowy/releases/download/${version}/AppFlowy-linux-x86.tar.gz";
-    sha256 = "1fvv4mlgf0vqcq5zh0zl2xr44saz0sm47r8whcywwrmcm0l66iv6";
+    sha256 = "sha256-m9vfgytSKnWLf6hwKjIGcU/7OCmIBiF4hJ/yIRBdSpQ=";
   };
 
   nativeBuildInputs = [
@@ -46,13 +46,14 @@ stdenv.mkDerivation rec {
   '';
 
   preFixup = let
-    libPath = lib.makeLibraryPath [
+    binPath = lib.makeBinPath [
       xdg-user-dirs
     ];
   in ''
     # Add missing libraries to appflowy using the ones it comes with
     makeWrapper $out/opt/app_flowy $out/bin/appflowy \
-          --set LD_LIBRARY_PATH "$out/opt/lib/:${libPath}"
+          --set LD_LIBRARY_PATH "$out/opt/lib/" \
+          --prefix PATH : "${binPath}"
   '';
 
   desktopItems = [
@@ -61,7 +62,7 @@ stdenv.mkDerivation rec {
       desktopName = "AppFlowy";
       comment = meta.description;
       exec = "appflowy";
-      categories = "Office;";
+      categories = [ "Office" ];
     })
   ];
 
diff --git a/pkgs/applications/office/gnucash/default.nix b/pkgs/applications/office/gnucash/default.nix
index d6e5c4143a4..a9d532a27c2 100644
--- a/pkgs/applications/office/gnucash/default.nix
+++ b/pkgs/applications/office/gnucash/default.nix
@@ -1,9 +1,10 @@
-{ fetchurl
-, lib
+{ lib
 , stdenv
+, fetchurl
 , aqbanking
 , boost
 , cmake
+, gettext
 , glib
 , glibcLocales
 , gtest
@@ -16,7 +17,6 @@
 , libxml2
 , libxslt
 , makeWrapper
-, perl
 , perlPackages
 , pkg-config
 , swig
@@ -28,13 +28,15 @@ stdenv.mkDerivation rec {
   pname = "gnucash";
   version = "4.9";
 
+  # raw source code doesn't work out of box; fetchFromGitHub not usable
   src = fetchurl {
-    url = "https://github.com/Gnucash/gnucash/releases/download/${version}/gnucash-${version}.tar.bz2";
-    sha256 = "0bdpzb0wc9bjph5iff7133ppnkcqzfd10yi2qagij4mpq4q1qmcs";
+    url = "https://github.com/Gnucash/gnucash/releases/download/${version}/${pname}-${version}.tar.bz2";
+    hash = "sha256-mlUcMMG3EhmfwiJ6EJr7mE177xjhOBcLvHIlxsH6ty0=";
   };
 
   nativeBuildInputs = [
     cmake
+    gettext
     makeWrapper
     wrapGAppsHook
   ];
@@ -53,11 +55,15 @@ stdenv.mkDerivation rec {
     libofx
     libxml2
     libxslt
-    perl
     pkg-config
     swig
     webkitgtk
-  ] ++ (with perlPackages; [ FinanceQuote DateManip ]);
+  ]
+  ++ (with perlPackages; [
+    DateManip
+    FinanceQuote
+    perl
+  ]);
 
   patches = [
     # this patch disables test-gnc-timezone and test-gnc-datetime which fail due to nix datetime challenges
@@ -68,16 +74,14 @@ stdenv.mkDerivation rec {
     ./0003-remove-valgrind.patch
   ];
 
-  preConfigure = ''
-    export GUILE_AUTO_COMPILE=0 # this needs to be an env variable and not a cmake flag to suppress guile warning
-  '';
+  # this needs to be an environment variable and not a cmake flag to suppress
+  # guile warning
+  GUILE_AUTO_COMPILE="0";
 
+  # `make check` target does not define its prerequisites but expects them to
+  # have already been built.  The list of targets below was built through trial
+  # and error based on failing tests.
   doCheck = true;
-
-  /*
-    GNUcash's `make check` target does not define its prerequisites but expects them to have already been built.
-    The list of targets below was built through trial and error based on failing tests.
-  */
   preCheck = ''
     make \
       test-account-object \
@@ -156,12 +160,15 @@ stdenv.mkDerivation rec {
 
   preFixup = ''
     gappsWrapperArgs+=(
-      --set GNC_DBD_DIR ${libdbiDrivers}/lib/dbd                                      # specify where db drivers are
-      --set GSETTINGS_SCHEMA_DIR ${glib.makeSchemaPath "$out" "${pname}-${version}"}  # specify where nix puts the gnome settings schemas
+      # db drivers location
+      --set GNC_DBD_DIR ${libdbiDrivers}/lib/dbd
+      # gnome settings schemas location on Nix
+      --set GSETTINGS_SCHEMA_DIR ${glib.makeSchemaPath "$out" "${pname}-${version}"}
     )
   '';
 
-  # wrapGAppsHook would wrap all binaries including the cli utils which need Perl wrapping
+  # wrapGAppsHook would wrap all binaries including the cli utils which need
+  # Perl wrapping
   dontWrapGApps = true;
 
   # gnucash is wrapped using the args constructed for wrapGAppsHook.
@@ -176,15 +183,31 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    description = "Personal and small business double entry accounting application.";
+    homepage = "https://www.gnucash.org/";
+    description = "Free software for double entry accounting";
     longDescription = ''
-      Designed to be easy to use, yet powerful and flexible, GnuCash allows you to track bank accounts, stocks, income and expenses.
-      As quick and intuitive to use as a checkbook register, it is based on professional accounting principles to ensure balanced books and accurate reports.
-    '';
+      GnuCash is personal and small-business financial-accounting software,
+      freely licensed under the GNU GPL and available for GNU/Linux, BSD,
+      Solaris, Mac OS X and Microsoft Windows.
 
-    homepage = "https://www.gnucash.org/";
+      Designed to be easy to use, yet powerful and flexible, GnuCash allows you
+      to track bank accounts, stocks, income and expenses. As quick and
+      intuitive to use as a checkbook register, it is based on professional
+      accounting principles to ensure balanced books and accurate reports.
+
+      Some interesting features:
+
+      - Double-Entry Accounting
+      - Stock/Bond/Mutual Fund Accounts
+      - Small-Business Accounting
+      - Reports, Graphs
+      - QIF/OFX/HBCI Import, Transaction Matching
+      - Scheduled Transactions
+      - Financial Calculations
+    '';
     license = licenses.gpl2Plus;
-    maintainers = [ maintainers.domenkozar ];
-    platforms = platforms.linux;
+    maintainers = with maintainers; [ domenkozar AndersonTorres ];
+    platforms = platforms.unix;
   };
 }
+# TODO: investigate Darwin support
diff --git a/pkgs/applications/office/homebank/default.nix b/pkgs/applications/office/homebank/default.nix
index 54e09783dbe..7e6910a3ab4 100644
--- a/pkgs/applications/office/homebank/default.nix
+++ b/pkgs/applications/office/homebank/default.nix
@@ -3,10 +3,10 @@
 
 stdenv.mkDerivation rec {
   pname = "homebank";
-  version = "5.5.3";
+  version = "5.5.4";
   src = fetchurl {
     url = "http://homebank.free.fr/public/homebank-${version}.tar.gz";
-    sha256 = "sha256-BzYHkYqWEAh3kfNvWecNEmH+6OThFGpc/VhxodLZEJM=";
+    sha256 = "sha256-DQZpvKCZNArlwhPqE8srkyg7/IoOTPelkCwYKTZuV2U=";
   };
 
   nativeBuildInputs = [ pkg-config wrapGAppsHook ];
diff --git a/pkgs/applications/office/jabref/default.nix b/pkgs/applications/office/jabref/default.nix
index 964d17587a4..255dba62294 100644
--- a/pkgs/applications/office/jabref/default.nix
+++ b/pkgs/applications/office/jabref/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     name = "jabref";
     desktopName = "JabRef";
     genericName = "Bibliography manager";
-    categories = "Office;";
+    categories = [ "Office" ];
     icon = "jabref";
     exec = "jabref";
   };
diff --git a/pkgs/applications/office/jameica/default.nix b/pkgs/applications/office/jameica/default.nix
index 678c3bb357c..9ef7afcf958 100644
--- a/pkgs/applications/office/jameica/default.nix
+++ b/pkgs/applications/office/jameica/default.nix
@@ -17,7 +17,7 @@ let
     comment = "Free Runtime Environment for Java Applications.";
     desktopName = "Jameica";
     genericName = "Jameica";
-    categories = "Office;";
+    categories = [ "Office" ];
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/office/kalendar/default.nix b/pkgs/applications/office/kalendar/default.nix
index 00aa23f6d1f..32cc2f5de57 100644
--- a/pkgs/applications/office/kalendar/default.nix
+++ b/pkgs/applications/office/kalendar/default.nix
@@ -10,6 +10,7 @@
 , qtsvg
 , qtlocation
 , qtdeclarative
+, qqc2-desktop-style
 
 , kirigami2
 , kdbusaddons
@@ -38,14 +39,14 @@
 
 mkDerivation rec {
   pname = "kalendar";
-  version = "0.4.0";
+  version = "1.0.0";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "pim";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j383I40lChsI/VOgceaHYGhE61p3SpvInUrkUV5HnHY=";
+    sha256 = "sha256-kjtLVU+8wbIa7R6J1XOjuvS3AnJNngxNBCx24Dy1QzM=";
   };
 
   nativeBuildInputs = [
@@ -60,6 +61,7 @@ mkDerivation rec {
     qtsvg
     qtlocation
     qtdeclarative
+    qqc2-desktop-style
 
     kirigami2
     kdbusaddons
diff --git a/pkgs/applications/office/libreoffice/default.nix b/pkgs/applications/office/libreoffice/default.nix
index 8572ff15c1d..c5b5fc56f78 100644
--- a/pkgs/applications/office/libreoffice/default.nix
+++ b/pkgs/applications/office/libreoffice/default.nix
@@ -25,7 +25,7 @@ assert builtins.elem variant [ "fresh" "still" ];
 
 let
   jre' = jre_minimal.override {
-    modules = [ "java.base" "java.desktop" ];
+    modules = [ "java.base" "java.desktop" "java.logging" ];
   };
 
   importVariant = f: import (./. + "/src-${variant}/${f}");
diff --git a/pkgs/applications/office/portfolio/default.nix b/pkgs/applications/office/portfolio/default.nix
index fc1b329c432..ecabdb85a93 100644
--- a/pkgs/applications/office/portfolio/default.nix
+++ b/pkgs/applications/office/portfolio/default.nix
@@ -18,18 +18,18 @@ let
     icon = "portfolio";
     comment = "Calculate Investment Portfolio Performance";
     desktopName = "Portfolio Performance";
-    categories = "Office;";
+    categories = [ "Office" ];
   };
 
   runtimeLibs = lib.makeLibraryPath [ gtk3 webkitgtk ];
 in
 stdenv.mkDerivation rec {
   pname = "PortfolioPerformance";
-  version = "0.56.2";
+  version = "0.56.5";
 
   src = fetchurl {
     url = "https://github.com/buchen/portfolio/releases/download/${version}/PortfolioPerformance-${version}-linux.gtk.x86_64.tar.gz";
-    sha256 = "sha256-4iMLn0KTrH7MOlNduSl7BMOZKPakHhhQdR3NQXV2ZZU=";
+    sha256 = "sha256-g/MjOrivqbZ93iSs5mLQT36gn72KCJEOgEssBZER+TA=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/pyspread/default.nix b/pkgs/applications/office/pyspread/default.nix
index b7261dca5a4..6a63aba4a17 100644
--- a/pkgs/applications/office/pyspread/default.nix
+++ b/pkgs/applications/office/pyspread/default.nix
@@ -46,7 +46,7 @@ python3.pkgs.buildPythonApplication rec {
       desktopName = "Pyspread";
       genericName = "Spreadsheet";
       comment = meta.description;
-      categories = "Office;Development;Spreadsheet;";
+      categories = [ "Office" "Development" "Spreadsheet" ];
     })
   ];
 
diff --git a/pkgs/applications/office/qownnotes/default.nix b/pkgs/applications/office/qownnotes/default.nix
index 50f74330ecc..20449b1911f 100644
--- a/pkgs/applications/office/qownnotes/default.nix
+++ b/pkgs/applications/office/qownnotes/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "qownnotes";
-  version = "22.1.11";
+  version = "22.2.7";
 
   src = fetchurl {
     url = "https://download.tuxfamily.org/${pname}/src/${pname}-${version}.tar.xz";
     # Fetch the checksum of current version with curl:
     # curl https://download.tuxfamily.org/qownnotes/src/qownnotes-<version>.tar.xz.sha256
-    sha256 = "7fa21ca9b8b0df6f1bda7a7dc21d53642eccf8de6a31a9a29a251e0a17c00c83";
+    sha256 = "f7c97f3dc3435ecdc740131548aacd390332c8b97c4e6fee98a3e80985786533";
   };
 
   nativeBuildInputs = [ qmake qttools ];
diff --git a/pkgs/applications/office/softmaker/desktop_items.nix b/pkgs/applications/office/softmaker/desktop_items.nix
index 614c6574faa..dfdf45da9e5 100644
--- a/pkgs/applications/office/softmaker/desktop_items.nix
+++ b/pkgs/applications/office/softmaker/desktop_items.nix
@@ -5,38 +5,90 @@
     name = "${pname}-planmaker";
     desktopName = "${suiteName} PlanMaker";
     icon = "${pname}-pml";
-    categories = "Office;";
+    categories = [ "Office" ];
     exec = "${pname}-planmaker %F";
-    mimeType = "application/x-pmd;application/x-pmdx;application/x-pmv;application/excel;application/x-excel;application/x-ms-excel;application/x-msexcel;application/x-sylk;application/x-xls;application/xls;application/vnd.ms-excel;application/vnd.stardivision.calc;application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;application/vnd.openxmlformats-officedocument.spreadsheetml.template;application/vnd.ms-excel.sheet.macroenabled.12;application/vnd.ms-excel.template.macroEnabled.12;application/x-dif;text/spreadsheet;text/csv;application/x-prn;application/vnd.ms-excel.sheet.binary.macroenabled.12;";
-    extraEntries = ''
-      TryExec=${pname}-planmaker
-      StartupWMClass=pm
-    '';
+    tryExec = "${pname}-planmaker";
+    mimeTypes = [
+      "application/x-pmd"
+      "application/x-pmdx"
+      "application/x-pmv"
+      "application/excel"
+      "application/x-excel"
+      "application/x-ms-excel"
+      "application/x-msexcel"
+      "application/x-sylk"
+      "application/x-xls"
+      "application/xls"
+      "application/vnd.ms-excel"
+      "application/vnd.stardivision.calc"
+      "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
+      "application/vnd.openxmlformats-officedocument.spreadsheetml.template"
+      "application/vnd.ms-excel.sheet.macroenabled.12"
+      "application/vnd.ms-excel.template.macroEnabled.12"
+      "application/x-dif;text/spreadsheet;text/csv"
+      "application/x-prn"
+      "application/vnd.ms-excel.sheet.binary.macroenabled.12"
+    ];
+    startupWMClass = "pm";
   };
 
   presentations = makeDesktopItem {
     name = "${pname}-presentations";
     desktopName = "${suiteName} Presentations";
     icon = "${pname}-prl";
-    categories = "Office;";
+    categories = [ "Office" ];
     exec = "${pname}-presentations %F";
-    mimeType = "application/x-prdx;application/x-prvx;application/x-prsx;application/x-prd;application/x-prv;application/x-prs;application/ppt;application/mspowerpoint;application/vnd.ms-powerpoint;application/vnd.openxmlformats-officedocument.presentationml.presentation;application/vnd.ms-powerpoint.presentation.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.template;application/vnd.ms-powerpoint.template.macroEnabled.12;application/vnd.ms-powerpoint.slideshow.macroenabled.12;application/vnd.openxmlformats-officedocument.presentationml.slideshow;";
-    extraEntries = ''
-      TryExec=${pname}-presentations
-      StartupWMClass=pr
-    '';
+    tryExec = "${pname}-presentations";
+    mimeTypes = [
+      "application/x-prdx"
+      "application/x-prvx"
+      "application/x-prsx"
+      "application/x-prd"
+      "application/x-prv"
+      "application/x-prs"
+      "application/ppt"
+      "application/mspowerpoint"
+      "application/vnd.ms-powerpoint"
+      "application/vnd.openxmlformats-officedocument.presentationml.presentation"
+      "application/vnd.ms-powerpoint.presentation.macroenabled.12"
+      "application/vnd.openxmlformats-officedocument.presentationml.template"
+      "application/vnd.ms-powerpoint.template.macroEnabled.12"
+      "application/vnd.ms-powerpoint.slideshow.macroenabled.12"
+      "application/vnd.openxmlformats-officedocument.presentationml.slideshow"
+    ];
+    startupWMClass = "pr";
   };
 
   textmaker = makeDesktopItem {
     name = "${pname}-textmaker";
     desktopName = "${suiteName} TextMaker";
     icon = "${pname}-tml";
-    categories = "Office;";
+    categories = [ "Office" ];
     exec = "${pname}-textmaker %F";
-    mimeType = "application/x-tmdx;application/x-tmvx;application/x-tmd;application/x-tmv;application/msword;application/vnd.ms-word;application/x-doc;text/rtf;application/rtf;application/vnd.oasis.opendocument.text;application/vnd.oasis.opendocument.text-template;application/vnd.stardivision.writer;application/vnd.sun.xml.writer;application/vnd.sun.xml.writer.template;application/vnd.openxmlformats-officedocument.wordprocessingml.document;application/vnd.ms-word.document.macroenabled.12;application/vnd.openxmlformats-officedocument.wordprocessingml.template;application/vnd.ms-word.template.macroenabled.12;application/x-pocket-word;application/x-dbf;application/msword-template;";
-    extraEntries = ''
-      TryExec=${pname}-textmaker
-      StartupWMClass=tm
-    '';
+    tryExec = "${pname}-textmaker";
+    mimeTypes = [
+      "application/x-tmdx"
+      "application/x-tmvx"
+      "application/x-tmd"
+      "application/x-tmv"
+      "application/msword"
+      "application/vnd.ms-word"
+      "application/x-doc"
+      "text/rtf"
+      "application/rtf"
+      "application/vnd.oasis.opendocument.text"
+      "application/vnd.oasis.opendocument.text-template"
+      "application/vnd.stardivision.writer"
+      "application/vnd.sun.xml.writer"
+      "application/vnd.sun.xml.writer.template"
+      "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+      "application/vnd.ms-word.document.macroenabled.12"
+      "application/vnd.openxmlformats-officedocument.wordprocessingml.template"
+      "application/vnd.ms-word.template.macroenabled.12"
+      "application/x-pocket-word"
+      "application/x-dbf"
+      "application/msword-template"
+    ];
+    startupWMClass = "tm";
   };
 }
diff --git a/pkgs/applications/office/timeline/default.nix b/pkgs/applications/office/timeline/default.nix
index 52677716247..b8b98c19bbf 100644
--- a/pkgs/applications/office/timeline/default.nix
+++ b/pkgs/applications/office/timeline/default.nix
@@ -37,9 +37,8 @@ python3.pkgs.buildPythonApplication rec {
       name = "timeline";
       comment = "Display and navigate information on a timeline";
       icon = "timeline";
-      terminal = false;
       exec = "timeline";
-      categories = "Office;Calendar;";
+      categories = [ "Office" "Calendar" ];
     })
   ];
 
diff --git a/pkgs/applications/office/trilium/default.nix b/pkgs/applications/office/trilium/default.nix
index fd317b84810..c73c0b87c0c 100644
--- a/pkgs/applications/office/trilium/default.nix
+++ b/pkgs/applications/office/trilium/default.nix
@@ -8,7 +8,7 @@ let
     icon = "trilium";
     comment = description;
     desktopName = "Trilium Notes";
-    categories = "Office";
+    categories = [ "Office" ];
   };
 
   meta = with lib; {
@@ -19,16 +19,16 @@ let
     maintainers = with maintainers; [ fliegendewurst ];
   };
 
-  version = "0.50.1";
+  version = "0.50.2";
 
   desktopSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-${version}.tar.xz";
-    sha256 = "1fb491ld3z6b2cndy8nl7zhpdsbb2v6kkrrc0hv92zm9qnfp7a99";
+    sha256 = "0fljza5afpjxgrzgskjhs7w86aa51d88xzv2h43666638j3c5mvk";
   };
 
   serverSource = {
     url = "https://github.com/zadam/trilium/releases/download/v${version}/trilium-linux-x64-server-${version}.tar.xz";
-    sha256 = "1yfj1i5hsphp1y52rgsapqmmv7cvl4imf6dkv8fp3qx5i7j4y5j9";
+    sha256 = "0jqpi1gc48jxvc68yzx80jp553haihybj3g3c5ymvqmgivwn7n4c";
   };
 
 in {
diff --git a/pkgs/applications/office/tusk/default.nix b/pkgs/applications/office/tusk/default.nix
index d54f27f9bbf..5bfc8ebc970 100644
--- a/pkgs/applications/office/tusk/default.nix
+++ b/pkgs/applications/office/tusk/default.nix
@@ -17,7 +17,7 @@ let
     icon = icon;
     desktopName = pname;
     genericName = "Evernote desktop app";
-    categories = "Application";
+    categories = [ "Application" ];
   };
 
 in appimageTools.wrapType2 rec {
diff --git a/pkgs/applications/office/zanshin/default.nix b/pkgs/applications/office/zanshin/default.nix
index 047d64c411e..d0d8374e64c 100644
--- a/pkgs/applications/office/zanshin/default.nix
+++ b/pkgs/applications/office/zanshin/default.nix
@@ -10,11 +10,11 @@
 
 mkDerivation rec {
   pname = "zanshin";
-  version = "21.12.1";
+  version = "21.12.2";
 
   src = fetchurl {
     url = "mirror://kde/stable/release-service/${version}/src/zanshin-${version}.tar.xz";
-    sha256 = "sha256-hYbJwmnD9i/SL5ET2t9YgPxJHJUpAbMZ4a62WljhpHw=";
+    sha256 = "sha256-zMCV4KIrqeKHEsMbqEbnm/DgQiGxZbZXDVMuSSrXj8Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/office/zotero/default.nix b/pkgs/applications/office/zotero/default.nix
index 74f05a0b402..6fb8aecbbca 100644
--- a/pkgs/applications/office/zotero/default.nix
+++ b/pkgs/applications/office/zotero/default.nix
@@ -94,13 +94,12 @@ stdenv.mkDerivation rec {
     name = "zotero-${version}";
     exec = "zotero -url %U";
     icon = "zotero";
-    type = "Application";
     comment = meta.description;
     desktopName = "Zotero";
     genericName = "Reference Management";
-    categories = "Office;Database;";
-    startupNotify = "true";
-    mimeType = "text/plain";
+    categories = [ "Office" "Database" ];
+    startupNotify = true;
+    mimeTypes = [ "text/plain" ];
   };
 
   installPhase = ''
diff --git a/pkgs/applications/radio/dump1090/default.nix b/pkgs/applications/radio/dump1090/default.nix
index 00e5e0089cf..63eab66db8f 100644
--- a/pkgs/applications/radio/dump1090/default.nix
+++ b/pkgs/applications/radio/dump1090/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "dump1090";
-  version = "6.1";
+  version = "7.1";
 
   src = fetchFromGitHub {
     owner = "flightaware";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OLXnT5TD6ZBNJUk4qXOMbr+NWdw3j1rv1xkFPZi4Wo8=";
+    sha256 = "sha256-1fD8ZMkTS/r+p1rrOfJhH2sz3sJCapQcvk8f8crGApw=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/radio/freedv/default.nix b/pkgs/applications/radio/freedv/default.nix
index b369a5475e5..43cf58db258 100644
--- a/pkgs/applications/radio/freedv/default.nix
+++ b/pkgs/applications/radio/freedv/default.nix
@@ -7,6 +7,7 @@
 , libsndfile
 , lpcnetfreedv
 , portaudio
+, pulseaudio
 , speexdsp
 , hamlib
 , wxGTK31-gtk3
@@ -14,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "freedv";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "drowe67";
     repo = "freedv-gui";
     rev = "v${version}";
-    sha256 = "1dzhf944vgla9a5ilcgwivhzgdbfaknqnwbpb071a0rz8rajnv0q";
+    hash = "sha256-0E7r/7+AQRPIFAcE6O1WE0NYiKzAlBR0jKbssqWvRMU=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -29,16 +30,15 @@ stdenv.mkDerivation rec {
     libsamplerate
     libsndfile
     lpcnetfreedv
-    portaudio
     speexdsp
     hamlib
     wxGTK31-gtk3
-  ];
+  ] ++ (if stdenv.isLinux then [ pulseaudio ] else [ portaudio ]);
 
   cmakeFlags = [
     "-DUSE_INTERNAL_CODEC2:BOOL=FALSE"
     "-DUSE_STATIC_DEPS:BOOL=FALSE"
-  ];
+  ] ++ lib.optionals stdenv.isLinux [ "-DUSE_PULSEAUDIO:BOOL=TRUE" ];
 
   meta = with lib; {
     homepage = "https://freedv.org/";
diff --git a/pkgs/applications/radio/gnss-sdr/default.nix b/pkgs/applications/radio/gnss-sdr/default.nix
index 479b3b641cd..383c5710808 100644
--- a/pkgs/applications/radio/gnss-sdr/default.nix
+++ b/pkgs/applications/radio/gnss-sdr/default.nix
@@ -7,78 +7,97 @@
 , gtest
 , openssl
 , gflags
-, gnuradio3_8
+, gnuradio
 , thrift
-, libpcap
+, enableRawUdp ? true, libpcap
 , orc
 , pkg-config
-, uhd
-, log4cpp
 , blas, lapack
 , matio
 , pugixml
 , protobuf
 }:
 
-gnuradio3_8.pkgs.mkDerivation rec {
+gnuradio.pkgs.mkDerivation rec {
   pname = "gnss-sdr";
-  # There's an issue with cpufeatures on 0.0.15, see:
-  # https://github.com/NixOS/nixpkgs/pull/142557#issuecomment-950217925
-  version = "0.0.13";
+  version = "0.0.16";
 
   src = fetchFromGitHub {
     owner = "gnss-sdr";
     repo = "gnss-sdr";
     rev = "v${version}";
-    sha256 = "0a3k47fl5dizzhbqbrbmckl636lznyjby2d2nz6fz21637hvrnby";
+    sha256 = "sha256-ODe4k6PDGtDX11FrbggEbN3tc4UtATaItUIpCKl4JjM=";
   };
 
+  patches = [
+    # Use the relative install location for volk_gnsssdr_module and
+    # cpu_features which is bundled in the source. NOTE: Perhaps this patch
+    # should be sent upstream.
+    ./fix_libcpu_features_install_path.patch
+  ];
+
   nativeBuildInputs = [
     cmake
-    gnuradio3_8.unwrapped.python
-    gnuradio3_8.unwrapped.python.pkgs.Mako
-    gnuradio3_8.unwrapped.python.pkgs.six
+    pkg-config
+    gnuradio.unwrapped.python
+    gnuradio.unwrapped.python.pkgs.Mako
+    gnuradio.unwrapped.python.pkgs.six
+  ];
+  checkInputs = [
+    gtest
   ];
 
   buildInputs = [
     gmp
     armadillo
-    gnuradio3_8.unwrapped.boost
     glog
-    gtest
-    openssl
     gflags
+    openssl
     orc
-    # UHD support is optional, but gnuradio is built with it, so there's
-    # nothing to be gained by leaving it out.
-    gnuradio3_8.unwrapped.uhd
-    log4cpp
     blas lapack
     matio
     pugixml
     protobuf
-    gnuradio3_8.pkgs.osmosdr
+    gnuradio.unwrapped.boost
+  ] ++ lib.optionals (gnuradio.hasFeature "gr-uhd") [
+    gnuradio.unwrapped.uhd
+  ] ++ (if (lib.versionAtLeast gnuradio.unwrapped.versionAttr.major "3.10") then [
+    gnuradio.unwrapped.spdlog
+  ] else [
+    gnuradio.unwrapped.log4cpp
+  ]) ++ lib.optionals (enableRawUdp) [
     libpcap
-  ] ++ lib.optionals (gnuradio3_8.hasFeature "gr-ctrlport") [
+  ] ++ lib.optionals (gnuradio.hasFeature "gr-ctrlport") [
     thrift
-    gnuradio3_8.unwrapped.python.pkgs.thrift
+    gnuradio.unwrapped.python.pkgs.thrift
+  ] ++ lib.optionals (gnuradio.hasFeature "gr-pdu" || gnuradio.hasFeature "gr-iio") [
+    gnuradio.unwrapped.libiio
+  ] ++ lib.optionals (gnuradio.hasFeature "gr-pdu") [
+    gnuradio.unwrapped.libad9361
   ];
 
   cmakeFlags = [
-    "-DGFlags_ROOT_DIR=${gflags}/lib"
+    "-DGFlags_INCLUDE_DIRS=${gflags}/include"
     "-DGLOG_INCLUDE_DIR=${glog}/include"
+    # Should use .dylib if darwin support is requested
+    "-DGFlags_LIBS=${gflags}/lib/libgflags.so"
+    "-DGLOG_LIBRARIES=${glog}/lib/libglog.so"
+    # Use our dependencies glog, gflags and armadillo dependencies
+    "-DENABLE_OWN_GLOG=OFF"
+    "-DENABLE_OWN_ARMADILLO=OFF"
+    "-DENABLE_ORC=ON"
+    "-DENABLE_LOG=ON"
+    "-DENABLE_RAW_UDP=${if enableRawUdp then "ON" else "OFF"}"
+    "-DENABLE_UHD=${if (gnuradio.hasFeature "gr-uhd") then "ON" else "OFF"}"
+    "-DENABLE_FMCOMMS2=${if (gnuradio.hasFeature "gr-iio" && gnuradio.hasFeature "gr-pdu") then "ON" else "OFF"}"
+    "-DENABLE_PLUTOSDR=${if (gnuradio.hasFeature "gr-iio") then "ON" else "OFF"}"
+    "-DENABLE_AD9361=${if (gnuradio.hasFeature "gr-pdu") then "ON" else "OFF"}"
     "-DENABLE_UNIT_TESTING=OFF"
 
     # gnss-sdr doesn't truly depend on BLAS or LAPACK, as long as
     # armadillo is built using both, so skip checking for them.
-    "-DBLAS=YES"
-    "-DLAPACK=YES"
     "-DBLAS_LIBRARIES=-lblas"
     "-DLAPACK_LIBRARIES=-llapack"
-
-    # Similarly, it doesn't actually use gfortran despite checking for
-    # its presence.
-    "-DGFORTRAN=YES"
   ];
 
   meta = with lib; {
diff --git a/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch b/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch
new file mode 100644
index 00000000000..cfeb0bd416b
--- /dev/null
+++ b/pkgs/applications/radio/gnss-sdr/fix_libcpu_features_install_path.patch
@@ -0,0 +1,47 @@
+--- a/CMakeLists.txt	1970-01-01 08:00:01.000000000 +0800
++++ b/CMakeLists.txt	2022-02-16 20:41:53.725290020 +0800
+@@ -1214,7 +1214,7 @@
+             BINARY_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build
+             CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS}
+                 -DCMAKE_BUILD_TYPE=$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:ASAN>
+-                -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
++                -DCMAKE_INSTALL_LIBDIR=lib
+             DOWNLOAD_COMMAND ""
+             UPDATE_COMMAND ""
+             PATCH_COMMAND ""
+@@ -1247,7 +1247,7 @@
+                 )
+                 set(VOLK_GNSSSDR_BUILD_BYPRODUCTS
+                     ${VOLK_GNSSSDR_BUILD_BYPRODUCTS}
+-                    ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
++                    ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
+                 )
+             endif()
+             ExternalProject_Add(volk_gnsssdr_module
+@@ -1256,7 +1256,7 @@
+                 BINARY_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build
+                 CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS}
+                     -DCMAKE_BUILD_TYPE=$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:ASAN>
+-                    -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
++                    -DCMAKE_INSTALL_LIBDIR=lib
+                 DOWNLOAD_COMMAND ""
+                 UPDATE_COMMAND ""
+                 PATCH_COMMAND ""
+@@ -1271,7 +1271,7 @@
+                 BINARY_DIR ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/build
+                 CMAKE_ARGS ${VOLK_GNSSSDR_CMAKE_ARGS}
+                     -DCMAKE_BUILD_TYPE=$<$<CONFIG:None>:None>$<$<CONFIG:Debug>:Debug>$<$<CONFIG:Release>:Release>$<$<CONFIG:RelWithDebInfo>:RelWithDebInfo>$<$<CONFIG:MinSizeRel>:MinSizeRel>$<$<CONFIG:NoOptWithASM>:NoOptWithASM>$<$<CONFIG:Coverage>:Coverage>$<$<CONFIG:O2WithASM>:O2WithASM>$<$<CONFIG:O3WithASM>:O3WithASM>$<$<CONFIG:ASAN>:ASAN>
+-                    -DCMAKE_INSTALL_LIBDIR=${CMAKE_INSTALL_LIBDIR}
++                    -DCMAKE_INSTALL_LIBDIR=lib
+                 DOWNLOAD_COMMAND ""
+                 UPDATE_COMMAND ""
+                 PATCH_COMMAND ""
+@@ -1310,7 +1310,7 @@
+         if(CMAKE_VERSION VERSION_GREATER 3.0 AND SUPPORTED_CPU_FEATURES_ARCH)
+             if(NOT CpuFeatures_FOUND)
+                 set_target_properties(Volkgnsssdr::volkgnsssdr PROPERTIES
+-                    INTERFACE_LINK_LIBRARIES ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/${CMAKE_INSTALL_LIBDIR}/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
++                    INTERFACE_LINK_LIBRARIES ${CMAKE_BINARY_DIR}/volk_gnsssdr_module/install/lib/${CMAKE_FIND_LIBRARY_PREFIXES}cpu_features${CMAKE_STATIC_LIBRARY_SUFFIX}
+                 )
+             endif()
+         endif()
diff --git a/pkgs/applications/radio/gnuradio/3.8.nix b/pkgs/applications/radio/gnuradio/3.8.nix
index 63adbf04b0e..f3a56cfdb05 100644
--- a/pkgs/applications/radio/gnuradio/3.8.nix
+++ b/pkgs/applications/radio/gnuradio/3.8.nix
@@ -251,7 +251,11 @@ stdenv.mkDerivation rec {
   ];
   passthru = shared.passthru // {
     # Deps that are potentially overriden and are used inside GR plugins - the same version must
-    inherit boost volk;
+    inherit
+      boost
+      volk
+      log4cpp
+    ;
   } // lib.optionalAttrs (hasFeature "gr-uhd") {
     inherit uhd;
   } // lib.optionalAttrs (hasFeature "gr-qtgui") {
diff --git a/pkgs/applications/radio/gnuradio/3.9.nix b/pkgs/applications/radio/gnuradio/3.9.nix
index 784ab7bd0fc..638064bbd07 100644
--- a/pkgs/applications/radio/gnuradio/3.9.nix
+++ b/pkgs/applications/radio/gnuradio/3.9.nix
@@ -275,7 +275,11 @@ stdenv.mkDerivation rec {
   ];
   passthru = shared.passthru // {
     # Deps that are potentially overriden and are used inside GR plugins - the same version must
-    inherit boost volk;
+    inherit
+      boost
+      volk
+      log4cpp
+    ;
   } // lib.optionalAttrs (hasFeature "gr-uhd") {
     inherit uhd;
   } // lib.optionalAttrs (hasFeature "gr-qtgui") {
diff --git a/pkgs/applications/radio/gnuradio/default.nix b/pkgs/applications/radio/gnuradio/default.nix
index 2865e8b70a1..eef1960ae1f 100644
--- a/pkgs/applications/radio/gnuradio/default.nix
+++ b/pkgs/applications/radio/gnuradio/default.nix
@@ -49,12 +49,12 @@
 , versionAttr ? {
   major = "3.10";
   minor = "1";
-  patch = "0";
+  patch = "1";
 }
 }:
 
 let
-  sourceSha256 = "sha256-bU6z7H08G8QIToogAMI2P5tHBtVZezlBDqSbnEsqAjE=";
+  sourceSha256 = "sha256-vsAK+GQzcpA9Vsa6q4RFEzVpbF7/+yZkMsemKn6VhIg=";
   featuresInfo = {
     # Needed always
     basic = {
@@ -293,9 +293,15 @@ stdenv.mkDerivation rec {
   ];
   passthru = shared.passthru // {
     # Deps that are potentially overriden and are used inside GR plugins - the same version must
-    inherit boost volk;
+    inherit
+      boost
+      volk
+      spdlog
+    ;
   } // lib.optionalAttrs (hasFeature "gr-uhd") {
     inherit uhd;
+  } // lib.optionalAttrs (hasFeature "gr-pdu") {
+    inherit libiio libad9361;
   } // lib.optionalAttrs (hasFeature "gr-qtgui") {
     inherit (libsForQt5) qwt;
   };
diff --git a/pkgs/applications/radio/gqrx/default.nix b/pkgs/applications/radio/gqrx/default.nix
index f9aca3286bb..28be25920a4 100644
--- a/pkgs/applications/radio/gqrx/default.nix
+++ b/pkgs/applications/radio/gqrx/default.nix
@@ -5,7 +5,6 @@
 , qt5
 , gnuradio3_8Minimal
 , thrift
-, log4cpp
 , mpir
 , fftwFloat
 , alsa-lib
@@ -24,13 +23,13 @@ assert !(pulseaudioSupport && portaudioSupport);
 
 gnuradio3_8Minimal.pkgs.mkDerivation rec {
   pname = "gqrx";
-  version = "2.15.7";
+  version = "2.15.8";
 
   src = fetchFromGitHub {
     owner = "gqrx-sdr";
     repo = "gqrx";
     rev = "v${version}";
-    sha256 = "sha256-4tXWwBkVmNZ4s3d6/n6XBdbh9Fv7821L3vkYmjgv1ds=";
+    sha256 = "sha256-RxwkiJdPHWyhU3azSpWV2M0tG5GInQBpc/ls16V1B94=";
   };
 
   nativeBuildInputs = [
@@ -39,7 +38,7 @@ gnuradio3_8Minimal.pkgs.mkDerivation rec {
     qt5.wrapQtAppsHook
   ];
   buildInputs = [
-    log4cpp
+    gnuradio3_8Minimal.unwrapped.log4cpp
     mpir
     fftwFloat
     alsa-lib
diff --git a/pkgs/applications/radio/qradiolink/default.nix b/pkgs/applications/radio/qradiolink/default.nix
index 6960eba6a57..567a587e6d5 100644
--- a/pkgs/applications/radio/qradiolink/default.nix
+++ b/pkgs/applications/radio/qradiolink/default.nix
@@ -7,7 +7,6 @@
 , thrift
 # Not gnuradioPackages'
 , codec2
-, log4cpp
 , gmp
 , gsm
 , libopus
@@ -48,7 +47,7 @@ gnuradio3_8.pkgs.mkDerivation rec {
   buildInputs = [
     gnuradio3_8.unwrapped.boost
     codec2
-    log4cpp
+    gnuradio3_8.unwrapped.log4cpp
     gmp
     libpulseaudio
     libconfig
diff --git a/pkgs/applications/radio/qsstv/default.nix b/pkgs/applications/radio/qsstv/default.nix
index 7b27bb2eac0..6e7a28eb7c7 100644
--- a/pkgs/applications/radio/qsstv/default.nix
+++ b/pkgs/applications/radio/qsstv/default.nix
@@ -2,12 +2,12 @@
   libpulseaudio, alsa-lib, hamlib, libv4l, fftwFloat }:
 
 mkDerivation rec {
-  version = "9.4.4";
+  version = "9.5.8";
   pname = "qsstv";
 
   src = fetchurl {
     url = "http://users.telenet.be/on4qz/qsstv/downloads/qsstv_${version}.tar.gz";
-    sha256 = "0f9hx6sy418cb23fadll298pqbc5l2lxsdivi4vgqbkvx7sw58zi";
+    sha256 = "0s3sivc0xan6amibdiwfnknrl3248wzgy98w6gyxikl0qsjpygy0";
   };
 
   nativeBuildInputs = [
@@ -20,7 +20,8 @@ mkDerivation rec {
 
   postInstall = ''
     # Install desktop icon
-    install -D qsstv/icons/qsstv.png $out/share/pixmaps/qsstv.png
+    install -D icons/qsstv.png $out/share/pixmaps/qsstv.png
+    install -D qsstv.desktop $out/share/applications/qsstv.desktop
   '';
 
   meta = with lib; {
@@ -31,4 +32,3 @@ mkDerivation rec {
     maintainers = with lib.maintainers; [ hax404 ];
   };
 }
-
diff --git a/pkgs/applications/radio/svxlink/default.nix b/pkgs/applications/radio/svxlink/default.nix
index 255f7761be9..8c1d5f2129e 100644
--- a/pkgs/applications/radio/svxlink/default.nix
+++ b/pkgs/applications/radio/svxlink/default.nix
@@ -9,7 +9,7 @@ let
     icon = "qtel";
     desktopName = name;
     genericName = "EchoLink Client";
-    categories = "HamRadio;Qt;Network;";
+    categories = [ "HamRadio" "Qt" "Network" ];
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/applications/radio/welle-io/default.nix b/pkgs/applications/radio/welle-io/default.nix
index cfd339c2d1e..fbc7eae9109 100644
--- a/pkgs/applications/radio/welle-io/default.nix
+++ b/pkgs/applications/radio/welle-io/default.nix
@@ -5,13 +5,13 @@
 
 mkDerivation rec {
   pname = "welle-io";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "AlbrechtL";
     repo = "welle.io";
     rev = "v${version}";
-    sha256 = "1xl1lanw0xgmgks67dbfb2h52jxnrd1i2zik56v0q8dwsr7f0daw";
+    sha256 = "sha256-xXiCL/A2SwCSr5SA4AQQEdieRzBksXx9Z78bHtlFiW4=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/applications/science/astronomy/gprojector/default.nix b/pkgs/applications/science/astronomy/gprojector/default.nix
index 3864058828f..26e8fe11a32 100644
--- a/pkgs/applications/science/astronomy/gprojector/default.nix
+++ b/pkgs/applications/science/astronomy/gprojector/default.nix
@@ -22,8 +22,8 @@ stdenvNoCC.mkDerivation rec {
     exec = "gprojector";
     desktopName = "G.Projector";
     comment = meta.description;
-    categories = "Science;";
-    extraEntries = "StartupWMClass = gov-nasa-giss-projector-GProjector";
+    categories = [ "Science" ];
+    startupWMClass = "gov-nasa-giss-projector-GProjector";
   }) ];
 
   buildInputs = [ jre ];
diff --git a/pkgs/applications/science/astronomy/kstars/default.nix b/pkgs/applications/science/astronomy/kstars/default.nix
index b7b9fbeb14d..3cd98f1acad 100644
--- a/pkgs/applications/science/astronomy/kstars/default.nix
+++ b/pkgs/applications/science/astronomy/kstars/default.nix
@@ -14,11 +14,11 @@
 
 mkDerivation rec {
   pname = "kstars";
-  version = "3.5.6";
+  version = "3.5.7";
 
   src = fetchurl {
     url = "mirror://kde/stable/kstars/kstars-${version}.tar.xz";
-    sha256 = "sha256-n+fGYLzQAGS8828hr7XE9qiTMyg99L+W7VRjd9aEkrQ=";
+    sha256 = "sha256-qo8SLum46BM0QzGR6rJ2w2ERK53Lm8+N+ghR6HoQDQY=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules kdoctools ];
diff --git a/pkgs/applications/science/biology/bcftools/default.nix b/pkgs/applications/science/biology/bcftools/default.nix
index f6aa5e8892a..c04d6af080e 100644
--- a/pkgs/applications/science/biology/bcftools/default.nix
+++ b/pkgs/applications/science/biology/bcftools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bcftools";
-  version = "1.14";
+  version = "1.15";
 
   src = fetchurl {
     url = "https://github.com/samtools/bcftools/releases/download/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-t++Iron8tVZYxb6i6MuOdWsFXhOGADbWvhN1Z4KqGcs=";
+    sha256 = "sha256-GIXMtFCobpegCqkF1zgcqeB72JZ8BXBaYdAAfS4iKW4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/biology/febio-studio/default.nix b/pkgs/applications/science/biology/febio-studio/default.nix
new file mode 100644
index 00000000000..e334637f243
--- /dev/null
+++ b/pkgs/applications/science/biology/febio-studio/default.nix
@@ -0,0 +1,61 @@
+{ lib, stdenv, fetchFromGitHub, cmake, zlib, libglvnd, libGLU, wrapQtAppsHook
+, sshSupport ? true, openssl, libssh
+, tetgenSupport ? true, tetgen
+, ffmpegSupport ? true, ffmpeg
+, dicomSupport  ? false, dcmtk
+, withModelRepo ? true
+, withCadFeatures ? false
+}:
+
+stdenv.mkDerivation rec {
+  pname = "febio-studio";
+  version = "1.6.1";
+
+  src = fetchFromGitHub {
+    owner = "febiosoftware";
+    repo = "FEBioStudio";
+    rev = "v${version}";
+    sha256 = "0r6pg49i0q9idp7pjymj7mlxd63qjvmfvg0l7fmx87y1yd2hfw4h";
+  };
+
+  patches = [
+    ./febio-studio-cmake.patch # Fix Errors that appear with certain Cmake flags
+  ];
+
+  cmakeFlags = [
+    "-DQt_Ver=5"
+    "-DNOT_FIRST=On"
+    "-DOpenGL_GL_PREFERENCE=GLVND"
+  ]
+    ++ lib.optional sshSupport "-DUSE_SSH=On"
+    ++ lib.optional tetgenSupport "-DUSE_TETGEN=On"
+    ++ lib.optional ffmpegSupport "-DUSE_FFMPEG=On"
+    ++ lib.optional dicomSupport "-DUSE_DICOM=On"
+    ++ lib.optional withModelRepo "-DMODEL_REPO=On"
+    ++ lib.optional withCadFeatures "-DCAD_FEATURES=On"
+  ;
+
+
+  installPhase = ''
+    runHook preInstall
+    mkdir -p $out/
+    cp -R bin $out/
+    runHook postInstall
+  '';
+
+  nativeBuildInputs = [ cmake wrapQtAppsHook ];
+  buildInputs = [ zlib libglvnd libGLU openssl libssh ]
+    ++ lib.optional sshSupport openssl
+    ++ lib.optional tetgenSupport tetgen
+    ++ lib.optional ffmpegSupport ffmpeg
+    ++ lib.optional dicomSupport dcmtk
+  ;
+
+  meta = with lib; {
+    description = "FEBio Suite Solver";
+    license = with licenses; [ mit ];
+    homepage = "https://febio.org/";
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ Scriptkiddi ];
+  };
+}
diff --git a/pkgs/applications/science/biology/febio-studio/febio-studio-cmake.patch b/pkgs/applications/science/biology/febio-studio/febio-studio-cmake.patch
new file mode 100644
index 00000000000..e694f6c3b89
--- /dev/null
+++ b/pkgs/applications/science/biology/febio-studio/febio-studio-cmake.patch
@@ -0,0 +1,38 @@
+diff --git a/FEBioStudio/RepositoryPanel.cpp b/FEBioStudio/RepositoryPanel.cpp
+index 382db303..314cdc68 100644
+--- a/FEBioStudio/RepositoryPanel.cpp
++++ b/FEBioStudio/RepositoryPanel.cpp
+@@ -1364,10 +1364,10 @@ void CRepositoryPanel::loadingPageProgress(qint64 bytesSent, qint64 bytesTotal)
+ 

+ #else

+ 

+-CRepositoryPanel::CRepositoryPanel(CMainWindow* pwnd, QWidget* parent){}

++CRepositoryPanel::CRepositoryPanel(CMainWindow* pwnd, QDockWidget* parent){}

+ CRepositoryPanel::~CRepositoryPanel(){}

+ void CRepositoryPanel::OpenLink(const QString& link) {}

+-// void CRepositoryPanel::Raise() {}

++void CRepositoryPanel::Raise() {}

+ void CRepositoryPanel::SetModelList(){}

+ void CRepositoryPanel::ShowMessage(QString message) {}

+ void CRepositoryPanel::ShowWelcomeMessage(QByteArray messages) {}

+@@ -1396,6 +1396,7 @@ void CRepositoryPanel::on_actionSearch_triggered() {}
+ void CRepositoryPanel::on_actionClearSearch_triggered() {}

+ void CRepositoryPanel::on_actionDeleteRemote_triggered() {}

+ void CRepositoryPanel::on_actionModify_triggered() {}

++void CRepositoryPanel::on_actionCopyPermalink_triggered() {}

+ void CRepositoryPanel::on_treeWidget_itemSelectionChanged() {}

+ void CRepositoryPanel::on_treeWidget_customContextMenuRequested(const QPoint &pos) {}

+ void CRepositoryPanel::DownloadItem(CustomTreeWidgetItem *item) {}

+diff --git a/FEBioStudio/WzdUpload.cpp b/FEBioStudio/WzdUpload.cpp
+index 5ce74346..20062e06 100644
+--- a/FEBioStudio/WzdUpload.cpp
++++ b/FEBioStudio/WzdUpload.cpp
+@@ -1183,7 +1183,7 @@ void CWzdUpload::on_saveJson_triggered()
+ 		getProjectJson(&projectInfo);
+ 
+ 		QFile file(filedlg.selectedFiles()[0]);
+-		file.open(QIODeviceBase::WriteOnly);
++		file.open(QIODevice::WriteOnly);
+ 		file.write(projectInfo);
+ 		file.close();
+ 	}
diff --git a/pkgs/applications/science/biology/last/default.nix b/pkgs/applications/science/biology/last/default.nix
index 8de0580a819..68cdd9f120b 100644
--- a/pkgs/applications/science/biology/last/default.nix
+++ b/pkgs/applications/science/biology/last/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "last";
-  version = "1256";
+  version = "1260";
 
   src = fetchFromGitLab {
     owner = "mcfrith";
     repo = "last";
     rev = version;
-    sha256 = "sha256-lOsU0X4K6jYcbkTzwQV+KAerQh9odE4zCLtSgZrYH6s=";
+    sha256 = "sha256-bJNvoHr2sQYtiC3tr1GA0T0kRhDyx6hU3OOSTvKUSCs=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/applications/science/biology/messer-slim/default.nix b/pkgs/applications/science/biology/messer-slim/default.nix
index d395804a42e..79cce7b9f74 100644
--- a/pkgs/applications/science/biology/messer-slim/default.nix
+++ b/pkgs/applications/science/biology/messer-slim/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, cmake, gcc, gcc-unwrapped }:
 
 stdenv.mkDerivation rec {
-  version = "3.7";
+  version = "3.7.1";
   pname = "messer-slim";
 
   src = fetchFromGitHub {
     owner = "MesserLab";
     repo = "SLiM";
     rev = "v${version}";
-    sha256 = "sha256-YEIpdW7W/Dezezh9r6q0fLkF4zb+oH36bAZ/YYqkr8k=";
+    sha256 = "sha256-3ox+9hzqI8s4gmEkQ3Xm1Ih639LBtcSJNNmJgbpWaoM=";
   };
 
   nativeBuildInputs = [ cmake gcc gcc-unwrapped ];
diff --git a/pkgs/applications/science/biology/mosdepth/default.nix b/pkgs/applications/science/biology/mosdepth/default.nix
index b6cc5e40615..fa93ab3fcdb 100644
--- a/pkgs/applications/science/biology/mosdepth/default.nix
+++ b/pkgs/applications/science/biology/mosdepth/default.nix
@@ -2,14 +2,14 @@
 
 nimPackages.buildNimPackage rec {
   pname = "mosdepth";
-  version = "0.3.2";
+  version = "0.3.3";
   nimBinOnly = true;
 
   src = fetchFromGitHub {
     owner = "brentp";
     repo = "mosdepth";
     rev = "v${version}";
-    sha256 = "sha256-uui4yC7ok+pvbXVKfBVsAarH40fnH4fnP8P4uzOqztQ=";
+    sha256 = "sha256-de3h3SXnXlqjuLT1L66jj/1AoiTuFc3PVJYjm7s8Fj8=";
   };
 
   buildInputs = with nimPackages; [ docopt hts-nim pcre ];
diff --git a/pkgs/applications/science/biology/picard-tools/default.nix b/pkgs/applications/science/biology/picard-tools/default.nix
index f6dcca3a239..526a5b3ed33 100644
--- a/pkgs/applications/science/biology/picard-tools/default.nix
+++ b/pkgs/applications/science/biology/picard-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "picard-tools";
-  version = "2.26.9";
+  version = "2.26.11";
 
   src = fetchurl {
     url = "https://github.com/broadinstitute/picard/releases/download/${version}/picard.jar";
-    sha256 = "sha256-5e60StDQil9SMR9G6Gs+OPWMjADn96fOpfHDlNoZSGc=";
+    sha256 = "sha256-0swggo1a5gExpj3VgaWKT/TYd7rfSFBcqRrAURnTPjM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/biology/spades/default.nix b/pkgs/applications/science/biology/spades/default.nix
index b41d266dbab..5302b43bb02 100644
--- a/pkgs/applications/science/biology/spades/default.nix
+++ b/pkgs/applications/science/biology/spades/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "SPAdes";
-  version = "3.15.3";
+  version = "3.15.4";
 
   src = fetchurl {
     url = "http://cab.spbu.ru/files/release${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-suWp/XplruWriGIi1q9Pe3vH91XaegOUFXH6vWueFJk=";
+    sha256 = "sha256-OyQcUopCqL398j5b+PAISDR5BZDQhJHezqnw8AnYWJ8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/chemistry/chemtool/default.nix b/pkgs/applications/science/chemistry/chemtool/default.nix
index 3b5d144ba22..bf78aeb825d 100644
--- a/pkgs/applications/science/chemistry/chemtool/default.nix
+++ b/pkgs/applications/science/chemistry/chemtool/default.nix
@@ -46,5 +46,6 @@ stdenv.mkDerivation rec {
     '';
     license = licenses.mit;
     maintainers = with maintainers; [ AndersonTorres ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/chemistry/jmol/default.nix b/pkgs/applications/science/chemistry/jmol/default.nix
index 20b665792ac..cc983e24618 100644
--- a/pkgs/applications/science/chemistry/jmol/default.nix
+++ b/pkgs/applications/science/chemistry/jmol/default.nix
@@ -12,19 +12,27 @@ let
     exec = "jmol";
     desktopName = "JMol";
     genericName = "Molecular Modeler";
-    mimeType = "chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;chemical/seq-aa-fasta;chemical/seq-na-fasta;chemical/x-xyz;chemical/x-mdl-sdf;";
-    categories = "Graphics;Education;Science;Chemistry;";
+    mimeTypes = [
+      "chemical/x-pdb"
+      "chemical/x-mdl-molfile"
+      "chemical/x-mol2"
+      "chemical/seq-aa-fasta"
+      "chemical/seq-na-fasta"
+      "chemical/x-xyz"
+      "chemical/x-mdl-sdf"
+    ];
+    categories = [ "Graphics" "Education" "Science" "Chemistry" ];
   };
 in
 stdenv.mkDerivation rec {
-  version = "14.32.6";
+  version = "14.32.24";
   pname = "jmol";
 
   src = let
     baseVersion = "${lib.versions.major version}.${lib.versions.minor version}";
   in fetchurl {
     url = "mirror://sourceforge/jmol/Jmol/Version%20${baseVersion}/Jmol%20${version}/Jmol-${version}-binary.tar.gz";
-    sha256 = "sha256-b9E/IJfqeA8rBSQogb/ZVBMW3y9bc2dBj/BIl0HWFR8=";
+    sha256 = "sha256-YxYNb2fS7KiUkZDSRx4FN+ZeMMNpfTaElitRE4RtD0g=";
   };
 
   patchPhase = ''
diff --git a/pkgs/applications/science/chemistry/marvin/default.nix b/pkgs/applications/science/chemistry/marvin/default.nix
index 72958898428..3c2b11c0e29 100644
--- a/pkgs/applications/science/chemistry/marvin/default.nix
+++ b/pkgs/applications/science/chemistry/marvin/default.nix
@@ -4,12 +4,12 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "marvin";
-  version = "21.20.0";
+  version = "22.3.0";
 
   src = fetchurl {
     name = "marvin-${version}.deb";
     url = "http://dl.chemaxon.com/marvin/${version}/marvin_linux_${versions.majorMinor version}.deb";
-    sha256 = "sha256-xOtlJSUY7QLyggFXW0Ay3+6KNHIqljyDpyk0CP8jxWs=";
+    sha256 = "sha256-ASnweoVBYSnO/FjE9tpLgaOAgiPQeUnw7CzwkKRXnAg=";
   };
 
   nativeBuildInputs = [ dpkg makeWrapper ];
diff --git a/pkgs/applications/science/chemistry/pymol/default.nix b/pkgs/applications/science/chemistry/pymol/default.nix
index 39bbae77a66..5f7c0c1f6be 100644
--- a/pkgs/applications/science/chemistry/pymol/default.nix
+++ b/pkgs/applications/science/chemistry/pymol/default.nix
@@ -24,8 +24,16 @@ let
     genericName = "Molecular Modeler";
     comment = description;
     icon = pname;
-    mimeType = "chemical/x-pdb;chemical/x-mdl-molfile;chemical/x-mol2;chemical/seq-aa-fasta;chemical/seq-na-fasta;chemical/x-xyz;chemical/x-mdl-sdf;";
-    categories = "Graphics;Education;Science;Chemistry;";
+    mimeTypes = [
+      "chemical/x-pdb"
+      "chemical/x-mdl-molfile"
+      "chemical/x-mol2"
+      "chemical/seq-aa-fasta"
+      "chemical/seq-na-fasta"
+      "chemical/x-xyz"
+      "chemical/x-mdl-sdf"
+    ];
+    categories = [ "Graphics" "Education" "Science" "Chemistry" ];
   };
 in
 python3Packages.buildPythonApplication rec {
diff --git a/pkgs/applications/science/electronics/diylc/default.nix b/pkgs/applications/science/electronics/diylc/default.nix
index 987f6156b4b..ff4e3809fc2 100644
--- a/pkgs/applications/science/electronics/diylc/default.nix
+++ b/pkgs/applications/science/electronics/diylc/default.nix
@@ -27,7 +27,7 @@ let
     comment = "Multi platform circuit layout and schematic drawing tool";
     exec = "diylc";
     icon = "diylc_icon";
-    categories = "Development;Electronics;";
+    categories = [ "Development" "Electronics" ];
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/science/electronics/eagle/eagle.nix b/pkgs/applications/science/electronics/eagle/eagle.nix
index 2fb3b8c8b18..5b4c8eb790f 100644
--- a/pkgs/applications/science/electronics/eagle/eagle.nix
+++ b/pkgs/applications/science/electronics/eagle/eagle.nix
@@ -27,7 +27,7 @@ let
       comment = "Schematic capture and PCB layout";
       desktopName = "Eagle";
       genericName = "Schematic editor";
-      categories = "Development;";
+      categories = [ "Development" ];
     };
 
     buildInputs =
diff --git a/pkgs/applications/science/electronics/eagle/eagle7.nix b/pkgs/applications/science/electronics/eagle/eagle7.nix
index 94457c81ce9..f48d08d4079 100644
--- a/pkgs/applications/science/electronics/eagle/eagle7.nix
+++ b/pkgs/applications/science/electronics/eagle/eagle7.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
     comment = "Schematic capture and PCB layout";
     desktopName = "Eagle";
     genericName = "Schematic editor";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
   buildInputs =
diff --git a/pkgs/applications/science/electronics/kicad/versions.nix b/pkgs/applications/science/electronics/kicad/versions.nix
index f1ae123c715..364321afbf7 100644
--- a/pkgs/applications/science/electronics/kicad/versions.nix
+++ b/pkgs/applications/science/electronics/kicad/versions.nix
@@ -3,23 +3,23 @@
 {
   "kicad" = {
     kicadVersion = {
-      version =			"6.0.1";
+      version =			"6.0.2";
       src = {
-        rev =			"79c1e3a40b913f818bddb69ae98d4d38ab81f926";
-        sha256 =		"1vpcbhhw8844hm6vpk3kk405wak531pvcvcpc66z0b48iprk3imr";
+        rev =			"378541a8ebe8a691b61c8ed1b4012c71343acfbb";
+        sha256 =		"1lcl25zkqkyj5rvw9rad3n7bklpg10kmhmhkyyrgg8ql7di6wa0f";
       };
     };
     libVersion = {
-      version =			"6.0.1";
+      version =			"6.0.2";
       libSources = {
-        symbols.rev =		"9f21fdcd5728ce6339dd4e1b26ebe60a1bba05e0";
-        symbols.sha256 =	"1azjx1bmxaz8bniyw75lq60mc8hvay00jn9qdc2zp7isy3c9ibp0";
-        templates.rev =		"5a9266bc796ba5c285401dd1fd900dbc4b6a8cd3";
+        symbols.rev =		"80a176076a8f3785a4cd64e55ec87f27f6fcc163";
+        symbols.sha256 =	"1f57wv5b95iqd64k8ab82fvxnh5q890v7bzclmn019gl6ikisxj5";
+        templates.rev =		"c9a51b852eacc3e64639548032b50edd80ddb27c";
         templates.sha256 =	"13h9ly6amiwm7zkwa2fd9730kh295ls8j95fszlfjp9rczv2yyzm";
-        footprints.rev =	"c7f4881b9ec1cbe7f7e5a0828946d0dd909afbee";
-        footprints.sha256 =	"0mv9xs0mmmfn0yhzx1v55r5app13ckagb16249rabyiz3v5crdpb";
-        packages3d.rev =	"5d0c3590b26835f9d206a355d7579706c06d8bfe";
-        packages3d.sha256 =	"0vwcbzq42hzjl4f0zjaswmiff1x59hv64g5n00mx1gl0gwngnyla";
+        footprints.rev =	"c81b399054b0d3842094d7e8dfe08eb04310573a";
+        footprints.sha256 =	"1xmnq2731v2afan1d08xb1qqgl5xd01v5jphi6cdmw28ri555cna";
+        packages3d.rev =	"75175a21b720c59a26efce9a8c6dba3d032392a9";
+        packages3d.sha256 =	"10zf8hp85ksi84cbiczsksn0ygvri4ffsa126v73nnkx6irw6nkk";
       };
     };
   };
diff --git a/pkgs/applications/science/electronics/lepton-eda/default.nix b/pkgs/applications/science/electronics/lepton-eda/default.nix
index 3e701dc93c4..8d4217d0aba 100644
--- a/pkgs/applications/science/electronics/lepton-eda/default.nix
+++ b/pkgs/applications/science/electronics/lepton-eda/default.nix
@@ -19,11 +19,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lepton-eda";
-  version = "1.9.16-20210731";
+  version = "1.9.17-20211219";
 
   src = fetchurl {
     url = "https://github.com/lepton-eda/lepton-eda/releases/download/${version}/lepton-eda-${builtins.head (lib.splitString "-" version)}.tar.gz";
-    sha256 = "sha256-xdJ11M4RXNF6ePZD6Y+/DUdO21AFLbydZcq9nWg0+Yk=";
+    sha256 = "sha256-lOneKeJUcw6jOX/3iv9BDWOJ3xip/vGhzxHHNAbtsS8=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper texinfo autoreconfHook ];
diff --git a/pkgs/applications/science/electronics/openhantek6022/default.nix b/pkgs/applications/science/electronics/openhantek6022/default.nix
index 1b9d7773669..09d36094e7c 100644
--- a/pkgs/applications/science/electronics/openhantek6022/default.nix
+++ b/pkgs/applications/science/electronics/openhantek6022/default.nix
@@ -2,13 +2,13 @@
 
 mkDerivation rec {
   pname = "openhantek6022";
-  version = "3.2.4";
+  version = "3.2.5";
 
   src = fetchFromGitHub {
     owner = "OpenHantek";
     repo = "OpenHantek6022";
     rev = version;
-    sha256 = "sha256-Rb0bd2fnnNWEm1n2EVRB2Leb0Or9vxi5oj+FKNY4GSc=";
+    sha256 = "sha256-QwJmbABAax4yCbcRONArtj5EUKO1gh3pVoLi2hF/WJI=";
   };
 
   nativeBuildInputs = [ cmake makeWrapper ];
diff --git a/pkgs/applications/science/electronics/xyce/default.nix b/pkgs/applications/science/electronics/xyce/default.nix
new file mode 100644
index 00000000000..8d9b02d909e
--- /dev/null
+++ b/pkgs/applications/science/electronics/xyce/default.nix
@@ -0,0 +1,182 @@
+{ stdenv
+, fetchFromGitHub
+, fetchgit
+, lib
+, autoconf
+, automake
+, bison
+, blas
+, flex
+, fftw
+, gfortran
+, lapack
+, libtool_2
+, mpi
+, suitesparse
+, trilinos
+, withMPI ? false
+  # for doc
+, texlive
+, pandoc
+, enableDocs ? true
+  # for tests
+, bash
+, bc
+, openssh # required by MPI
+, perl
+, perlPackages
+, python3
+, enableTests ? true
+}:
+
+assert withMPI -> trilinos.withMPI;
+
+stdenv.mkDerivation rec {
+  pname = "xyce";
+  version = "7.4.0";
+
+  srcs = [
+    # useing fetchurl or fetchFromGitHub doesn't include the manuals
+    # due to .gitattributes files
+    (fetchgit {
+      url = "https://github.com/Xyce/Xyce.git";
+      rev = "Release-${version}";
+      sha256 = "sha256-sOHjQEo4FqlDseTtxFVdLa0SI/VAf2OkwQV7QSL7SNM=";
+    })
+    (fetchFromGitHub {
+      owner = "Xyce";
+      repo = "Xyce_Regression";
+      rev = "Release-${version}";
+      sha256 = "sha256-kSGUaFarOHDNJ8kA/TAGkmzicm9O7cfJ7mGFZcbqCZM=";
+    })
+  ];
+
+  sourceRoot = "./Xyce";
+
+  preConfigure = "./bootstrap";
+
+  configureFlags = [
+    "CXXFLAGS=-O3"
+    "--enable-xyce-shareable"
+    "--enable-shared"
+    "--enable-stokhos"
+    "--enable-amesos2"
+  ] ++ lib.optionals withMPI [
+    "--enable-mpi"
+    "CXX=mpicxx"
+    "CC=mpicc"
+    "F77=mpif77"
+  ];
+
+  enableParallelBuilding = true;
+
+  nativeBuildInputs = [
+    autoconf
+    automake
+    gfortran
+    libtool_2
+  ] ++ lib.optionals enableDocs [
+    (texlive.combine {
+      inherit (texlive)
+        scheme-medium
+        koma-script
+        optional
+        framed
+        enumitem
+        multirow
+        preprint;
+    })
+  ];
+
+  buildInputs = [
+    bison
+    blas
+    flex
+    fftw
+    lapack
+    suitesparse
+    trilinos
+  ] ++ lib.optionals withMPI [ mpi ];
+
+  doCheck = enableTests;
+
+  postPatch = ''
+    pushd ../source
+    find Netlists -type f -regex ".*\.sh\|.*\.pl" -exec chmod ugo+x {} \;
+    # some tests generate new files, some overwrite netlists
+    find . -type d -exec chmod u+w {} \;
+    find . -type f -name "*.cir" -exec chmod u+w {} \;
+    patchShebangs Netlists/ TestScripts/
+    # patch script generating functions
+    sed -i -E 's|/usr/bin/env perl|${lib.escapeRegex perl.outPath}/bin/perl|'  \
+      TestScripts/XyceRegression/Testing/Netlists/RunOptions/runOptions.cir.sh
+    sed -i -E 's|/bin/sh|${lib.escapeRegex bash.outPath}/bin/sh|' \
+      TestScripts/XyceRegression/Testing/Netlists/RunOptions/runOptions.cir.sh
+    popd
+  '';
+
+  checkInputs = [
+    bc
+    perl
+    perlPackages.DigestMD5
+    (python3.withPackages (ps: with ps; [ numpy scipy ]))
+  ] ++ lib.optionals withMPI [ mpi openssh ];
+
+  checkPhase = ''
+    XYCE_BINARY="$(pwd)/src/Xyce"
+    EXECSTRING="${lib.optionalString withMPI "mpirun -np 2 "}$XYCE_BINARY"
+    TEST_ROOT="$(pwd)/../source"
+
+    # Honor the TMP variable
+    sed -i -E 's|/tmp|\$TMP|' $TEST_ROOT/TestScripts/suggestXyceTagList.sh
+
+    EXLUDE_TESTS_FILE=$TMP/exclude_tests.$$
+    # Gold standard has additional ":R" suffix in result column label
+    echo "Output/HB/hb-step-tecplot.cir" >> $EXLUDE_TESTS_FILE
+    # This test makes Xyce access /sys/class/net when run with MPI
+    ${lib.optionalString withMPI "echo \"CommandLine/command_line.cir\" >> $EXLUDE_TESTS_FILE"}
+
+    $TEST_ROOT/TestScripts/run_xyce_regression \
+      --output="$(pwd)/Xyce_Test" \
+      --xyce_test="''${TEST_ROOT}" \
+      --taglist="$($TEST_ROOT/TestScripts/suggestXyceTagList.sh "$XYCE_BINARY" | sed -E -e 's/TAGLIST=([^ ]+).*/\1/' -e '2,$d')" \
+      --resultfile="$(pwd)/test_results" \
+      --excludelist="$EXLUDE_TESTS_FILE" \
+      "''${EXECSTRING}"
+  '';
+
+  outputs = [ "out" "doc" ];
+
+  postInstall = lib.optionalString enableDocs ''
+    local docFiles=("doc/Users_Guide/Xyce_UG"
+      "doc/Reference_Guide/Xyce_RG"
+      "doc/Release_Notes/Release_Notes_${lib.versions.majorMinor version}/Release_Notes_${lib.versions.majorMinor version}")
+
+    # Release notes refer to an image not in the repo.
+    sed -i -E 's/\\includegraphics\[height=(0.5in)\]\{snllineblubrd\}/\\mbox\{\\rule\{0mm\}\{\1\}\}/' ''${docFiles[2]}.tex
+
+    install -d $doc/share/doc/${pname}-${version}/
+    for d in ''${docFiles[@]}; do
+      # Use a public document class
+      sed -i -E 's/\\documentclass\[11pt,report\]\{SANDreport\}/\\documentclass\[11pt,letterpaper\]\{scrreprt\}/' $d.tex
+      sed -i -E 's/\\usepackage\[sand\]\{optional\}/\\usepackage\[report\]\{optional\}/' $d.tex
+      pushd $(dirname $d)
+      make
+      install -t $doc/share/doc/${pname}-${version}/ $(basename $d.pdf)
+      popd
+    done
+  '';
+
+  meta = with lib; {
+    description = "High-performance analog circuit simulator";
+    longDescription = ''
+      Xyce is a SPICE-compatible, high-performance analog circuit simulator,
+      capable of solving extremely large circuit problems by supporting
+      large-scale parallel computing platforms.
+    '';
+    homepage = "https://xyce.sandia.gov";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [ fbeffa ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/applications/science/geometry/gama/default.nix b/pkgs/applications/science/geometry/gama/default.nix
index 750cba9d8b2..b2226db4608 100644
--- a/pkgs/applications/science/geometry/gama/default.nix
+++ b/pkgs/applications/science/geometry/gama/default.nix
@@ -1,11 +1,11 @@
 { stdenv, fetchurl, lib, expat, octave, libxml2, texinfo, zip }:
 stdenv.mkDerivation rec {
   pname = "gama";
-  version = "2.16";
+  version = "2.17";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-fO2AHZnqRvCF1+AlKDeD3ygivW3zXCuF10O2nKL2CWs=";
+    sha256 = "sha256-AyUjcYDUjAYI4p0vVDO7SGqhbO83Kesd+JUUgQf5GPU=";
   };
 
   buildInputs = [ expat ];
diff --git a/pkgs/applications/science/geometry/tetgen/default.nix b/pkgs/applications/science/geometry/tetgen/default.nix
index 1e3c96ae8c6..ff2b211b34d 100644
--- a/pkgs/applications/science/geometry/tetgen/default.nix
+++ b/pkgs/applications/science/geometry/tetgen/default.nix
@@ -1,18 +1,25 @@
-{lib, stdenv, fetchurl}:
+{ lib, stdenv, fetchurl, cmake }:
 
-let version = "1.6.0"; in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
   pname = "tetgen";
-  inherit version;
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://wias-berlin.de/software/tetgen/1.5/src/tetgen${version}.tar.gz";
     sha256 = "sha256-h7XmHr06Rx/E8s3XEkwrEd1mOfT+sflBpdL1EQ0Fzjk=";
   };
 
+  nativeBuildInputs = [ cmake ];
+
   installPhase = ''
-    mkdir -p $out/bin
+    runHook preInstall
+
+    mkdir -p $out/{bin,lib,include}
     cp tetgen $out/bin
+    cp libtet.a $out/lib
+    cp ../tetgen.{cxx,h} $out/include
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/applications/science/logic/coq/default.nix b/pkgs/applications/science/logic/coq/default.nix
index fe99b045512..1be25f54e1e 100644
--- a/pkgs/applications/science/logic/coq/default.nix
+++ b/pkgs/applications/science/logic/coq/default.nix
@@ -130,11 +130,12 @@ self = stdenv.mkDerivation {
 
   nativeBuildInputs = [ pkg-config ]
     ++ optional buildIde copyDesktopItems
+    ++ optional (buildIde && versionAtLeast "8.10") wrapGAppsHook
     ++ optional (!versionAtLeast "8.6") gnumake42;
   buildInputs = [ ncurses ] ++ ocamlBuildInputs
     ++ optionals buildIde
       (if versionAtLeast "8.10"
-       then [ ocamlPackages.lablgtk3-sourceview3 glib gnome.adwaita-icon-theme wrapGAppsHook ]
+       then [ ocamlPackages.lablgtk3-sourceview3 glib gnome.adwaita-icon-theme ]
        else [ ocamlPackages.lablgtk ])
     ++ optional (versionAtLeast "8.14") ocamlPackages.dune_2
   ;
@@ -178,7 +179,7 @@ self = stdenv.mkDerivation {
     icon = "coq";
     desktopName = "CoqIDE";
     comment = "Graphical interface for the Coq proof assistant";
-    categories = "Development;Science;Math;IDE;GTK";
+    categories = [ "Development" "Science" "Math" "IDE" "GTK" ];
   });
 
   postInstall = let suffix = if versionAtLeast "8.14" then "-core" else ""; in ''
diff --git a/pkgs/applications/science/logic/formula/default.nix b/pkgs/applications/science/logic/formula/default.nix
new file mode 100644
index 00000000000..13c13713a72
--- /dev/null
+++ b/pkgs/applications/science/logic/formula/default.nix
@@ -0,0 +1,32 @@
+{ lib, stdenv, fetchFromGitHub, buildDotnetModule, dotnetCorePackages }:
+
+buildDotnetModule rec {
+  pname = "formula-dotnet";
+  version = "2.0";
+
+  src = fetchFromGitHub {
+    owner = "VUISIS";
+    repo = "formula-dotnet";
+    rev = "e962438022350dca64335c0603c00d44cb10b528";
+    sha256 = "sha256-hVtwV1MdsXaN6ZrGW4RG2HcNcv/hys/5VxGjH9vFdRE=";
+  };
+
+  nugetDeps = ./nuget.nix;
+  projectFile = "Src/CommandLine/CommandLine.csproj";
+
+  postFixup = if stdenv.isLinux then ''
+    mv $out/bin/CommandLine $out/bin/formula
+  '' else lib.optionalString stdenv.isDarwin ''
+    makeWrapper ${dotnetCorePackages.runtime_5_0}/bin/dotnet $out/bin/formula \
+      --add-flags "$out/lib/formula-dotnet/CommandLine.dll" \
+      --prefix DYLD_LIBRARY_PATH : $out/lib/formula-dotnet/runtimes/macos/native
+  '';
+
+  meta = with lib; {
+    description = "Formal Specifications for Verification and Synthesis";
+    homepage = "https://github.com/VUISIS/formula-dotnet";
+    license = licenses.mspl;
+    maintainers = with maintainers; [ siraben ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/applications/science/logic/formula/nuget.nix b/pkgs/applications/science/logic/formula/nuget.nix
new file mode 100644
index 00000000000..e7ee3005e97
--- /dev/null
+++ b/pkgs/applications/science/logic/formula/nuget.nix
@@ -0,0 +1,77 @@
+{ fetchNuGet }: [
+  (fetchNuGet { pname = "Antlr4.Runtime.Standard"; version = "4.7.2"; sha256 = "1pmrpsgqjfj0nzr1zqzk1m2fm0ynd4nklwq3dhvww08yjg5s0586"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Platforms"; version = "1.1.0"; sha256 = "08vh1r12g6ykjygq5d3vq09zylgb84l63k49jc4v8faw9g93iqqm"; })
+  (fetchNuGet { pname = "Microsoft.NETCore.Targets"; version = "1.1.0"; sha256 = "193xwf33fbm0ni3idxzbr5fdq3i2dlfgihsac9jj7whj0gd902nh"; })
+  (fetchNuGet { pname = "Microsoft.Win32.Primitives"; version = "4.3.0"; sha256 = "0j0c1wj4ndj21zsgivsc24whiya605603kxrbiw6wkfdync464wq"; })
+  (fetchNuGet { pname = "Microsoft.Z3.x64"; version = "4.8.7"; sha256 = "1wxlw29xm5x8vwji2s7gwk39wb88dkbpg76l9s9gq0hqpghwlmdz"; })
+  (fetchNuGet { pname = "NETStandard.Library"; version = "1.6.1"; sha256 = "1z70wvsx2d847a2cjfii7b83pjfs34q05gb037fdjikv5kbagml8"; })
+  (fetchNuGet { pname = "runtime.debian.8-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "16rnxzpk5dpbbl1x354yrlsbvwylrq456xzpsha1n9y3glnhyx9d"; })
+  (fetchNuGet { pname = "runtime.fedora.23-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0hkg03sgm2wyq8nqk6dbm9jh5vcq57ry42lkqdmfklrw89lsmr59"; })
+  (fetchNuGet { pname = "runtime.fedora.24-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0c2p354hjx58xhhz7wv6div8xpi90sc6ibdm40qin21bvi7ymcaa"; })
+  (fetchNuGet { pname = "runtime.native.System.IO.Compression"; version = "4.3.0"; sha256 = "1vvivbqsk6y4hzcid27pqpm5bsi6sc50hvqwbcx8aap5ifrxfs8d"; })
+  (fetchNuGet { pname = "runtime.native.System.Net.Http"; version = "4.3.0"; sha256 = "1n6rgz5132lcibbch1qlf0g9jk60r0kqv087hxc0lisy50zpm7kk"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "1b61p6gw1m02cc1ry996fl49liiwky6181dzr873g9ds92zl326q"; })
+  (fetchNuGet { pname = "runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "18pzfdlwsg2nb1jjjjzyb5qlgy6xjxzmhnfaijq5s2jw3cm3ab97"; })
+  (fetchNuGet { pname = "runtime.native.System"; version = "4.3.0"; sha256 = "15hgf6zaq9b8br2wi1i3x0zvmk410nlmsmva9p0bbg73v6hml5k4"; })
+  (fetchNuGet { pname = "runtime.opensuse.13.2-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0qyynf9nz5i7pc26cwhgi8j62ps27sqmf78ijcfgzab50z9g8ay3"; })
+  (fetchNuGet { pname = "runtime.opensuse.42.1-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1klrs545awhayryma6l7g2pvnp9xy4z0r1i40r80zb45q3i9nbyf"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.Apple"; version = "4.3.0"; sha256 = "10yc8jdrwgcl44b4g93f1ds76b176bajd3zqi2faf5rvh1vy9smi"; })
+  (fetchNuGet { pname = "runtime.osx.10.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0zcxjv5pckplvkg0r6mw3asggm7aqzbdjimhvsasb0cgm59x09l3"; })
+  (fetchNuGet { pname = "runtime.rhel.7-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0vhynn79ih7hw7cwjazn87rm9z9fj0rvxgzlab36jybgcpcgphsn"; })
+  (fetchNuGet { pname = "runtime.ubuntu.14.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "160p68l2c7cqmyqjwxydcvgw7lvl1cr0znkw8fp24d1by9mqc8p3"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.04-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "15zrc8fgd8zx28hdghcj5f5i34wf3l6bq5177075m2bc2j34jrqy"; })
+  (fetchNuGet { pname = "runtime.ubuntu.16.10-x64.runtime.native.System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "1p4dgxax6p7rlgj4q73k73rslcnz4wdcv8q2flg1s8ygwcm58ld5"; })
+  (fetchNuGet { pname = "System.AppContext"; version = "4.3.0"; sha256 = "1649qvy3dar900z3g817h17nl8jp4ka5vcfmsr05kh0fshn7j3ya"; })
+  (fetchNuGet { pname = "System.Buffers"; version = "4.3.0"; sha256 = "0fgns20ispwrfqll4q1zc1waqcmylb3zc50ys9x8zlwxh9pmd9jy"; })
+  (fetchNuGet { pname = "System.Collections.Concurrent"; version = "4.3.0"; sha256 = "0wi10md9aq33jrkh2c24wr2n9hrpyamsdhsxdcnf43b7y86kkii8"; })
+  (fetchNuGet { pname = "System.Collections"; version = "4.3.0"; sha256 = "19r4y64dqyrq6k4706dnyhhw7fs24kpp3awak7whzss39dakpxk9"; })
+  (fetchNuGet { pname = "System.Console"; version = "4.3.0"; sha256 = "1flr7a9x920mr5cjsqmsy9wgnv3lvd0h1g521pdr1lkb2qycy7ay"; })
+  (fetchNuGet { pname = "System.Diagnostics.Debug"; version = "4.3.0"; sha256 = "00yjlf19wjydyr6cfviaph3vsjzg3d5nvnya26i2fvfg53sknh3y"; })
+  (fetchNuGet { pname = "System.Diagnostics.DiagnosticSource"; version = "4.3.0"; sha256 = "0z6m3pbiy0qw6rn3n209rrzf9x1k4002zh90vwcrsym09ipm2liq"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tools"; version = "4.3.0"; sha256 = "0in3pic3s2ddyibi8cvgl102zmvp9r9mchh82ns9f0ms4basylw1"; })
+  (fetchNuGet { pname = "System.Diagnostics.Tracing"; version = "4.3.0"; sha256 = "1m3bx6c2s958qligl67q7grkwfz3w53hpy7nc97mh6f7j5k168c4"; })
+  (fetchNuGet { pname = "System.Globalization.Calendars"; version = "4.3.0"; sha256 = "1xwl230bkakzzkrggy1l1lxmm3xlhk4bq2pkv790j5lm8g887lxq"; })
+  (fetchNuGet { pname = "System.Globalization.Extensions"; version = "4.3.0"; sha256 = "02a5zfxavhv3jd437bsncbhd2fp1zv4gxzakp1an9l6kdq1mcqls"; })
+  (fetchNuGet { pname = "System.Globalization"; version = "4.3.0"; sha256 = "1cp68vv683n6ic2zqh2s1fn4c2sd87g5hpp6l4d4nj4536jz98ki"; })
+  (fetchNuGet { pname = "System.IO.Compression.ZipFile"; version = "4.3.0"; sha256 = "1yxy5pq4dnsm9hlkg9ysh5f6bf3fahqqb6p8668ndy5c0lk7w2ar"; })
+  (fetchNuGet { pname = "System.IO.Compression"; version = "4.3.0"; sha256 = "084zc82yi6yllgda0zkgl2ys48sypiswbiwrv7irb3r0ai1fp4vz"; })
+  (fetchNuGet { pname = "System.IO.FileSystem.Primitives"; version = "4.3.0"; sha256 = "0j6ndgglcf4brg2lz4wzsh1av1gh8xrzdsn9f0yznskhqn1xzj9c"; })
+  (fetchNuGet { pname = "System.IO.FileSystem"; version = "4.3.0"; sha256 = "0z2dfrbra9i6y16mm9v1v6k47f0fm617vlb7s5iybjjsz6g1ilmw"; })
+  (fetchNuGet { pname = "System.IO"; version = "4.3.0"; sha256 = "05l9qdrzhm4s5dixmx68kxwif4l99ll5gqmh7rqgw554fx0agv5f"; })
+  (fetchNuGet { pname = "System.Linq.Expressions"; version = "4.3.0"; sha256 = "0ky2nrcvh70rqq88m9a5yqabsl4fyd17bpr63iy2mbivjs2nyypv"; })
+  (fetchNuGet { pname = "System.Linq"; version = "4.3.0"; sha256 = "1w0gmba695rbr80l1k2h4mrwzbzsyfl2z4klmpbsvsg5pm4a56s7"; })
+  (fetchNuGet { pname = "System.Net.Http"; version = "4.3.0"; sha256 = "1i4gc757xqrzflbk7kc5ksn20kwwfjhw9w7pgdkn19y3cgnl302j"; })
+  (fetchNuGet { pname = "System.Net.Primitives"; version = "4.3.0"; sha256 = "0c87k50rmdgmxx7df2khd9qj7q35j9rzdmm2572cc55dygmdk3ii"; })
+  (fetchNuGet { pname = "System.Net.Sockets"; version = "4.3.0"; sha256 = "1ssa65k6chcgi6mfmzrznvqaxk8jp0gvl77xhf1hbzakjnpxspla"; })
+  (fetchNuGet { pname = "System.ObjectModel"; version = "4.3.0"; sha256 = "191p63zy5rpqx7dnrb3h7prvgixmk168fhvvkkvhlazncf8r3nc2"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.ILGeneration"; version = "4.3.0"; sha256 = "0w1n67glpv8241vnpz1kl14sy7zlnw414aqwj4hcx5nd86f6994q"; })
+  (fetchNuGet { pname = "System.Reflection.Emit.Lightweight"; version = "4.3.0"; sha256 = "0ql7lcakycrvzgi9kxz1b3lljd990az1x6c4jsiwcacrvimpib5c"; })
+  (fetchNuGet { pname = "System.Reflection.Emit"; version = "4.3.0"; sha256 = "11f8y3qfysfcrscjpjym9msk7lsfxkk4fmz9qq95kn3jd0769f74"; })
+  (fetchNuGet { pname = "System.Reflection.Extensions"; version = "4.3.0"; sha256 = "02bly8bdc98gs22lqsfx9xicblszr2yan7v2mmw3g7hy6miq5hwq"; })
+  (fetchNuGet { pname = "System.Reflection.Primitives"; version = "4.3.0"; sha256 = "04xqa33bld78yv5r93a8n76shvc8wwcdgr1qvvjh959g3rc31276"; })
+  (fetchNuGet { pname = "System.Reflection.TypeExtensions"; version = "4.3.0"; sha256 = "0y2ssg08d817p0vdag98vn238gyrrynjdj4181hdg780sif3ykp1"; })
+  (fetchNuGet { pname = "System.Reflection"; version = "4.3.0"; sha256 = "0xl55k0mw8cd8ra6dxzh974nxif58s3k1rjv1vbd7gjbjr39j11m"; })
+  (fetchNuGet { pname = "System.Resources.ResourceManager"; version = "4.3.0"; sha256 = "0sjqlzsryb0mg4y4xzf35xi523s4is4hz9q4qgdvlvgivl7qxn49"; })
+  (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
+  (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.3.0"; sha256 = "0sw2gfj2xr7sw9qjn0j3l9yw07x73lcs97p8xfc9w1x9h5g5m7i8"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices.RuntimeInformation"; version = "4.3.0"; sha256 = "0q18r1sh4vn7bvqgd6dmqlw5v28flbpj349mkdish2vjyvmnb2ii"; })
+  (fetchNuGet { pname = "System.Runtime.InteropServices"; version = "4.3.0"; sha256 = "00hywrn4g7hva1b2qri2s6rabzwgxnbpw9zfxmz28z09cpwwgh7j"; })
+  (fetchNuGet { pname = "System.Runtime.Numerics"; version = "4.3.0"; sha256 = "19rav39sr5dky7afygh309qamqqmi9kcwvz3i0c5700v0c5cg61z"; })
+  (fetchNuGet { pname = "System.Runtime"; version = "4.3.0"; sha256 = "066ixvgbf2c929kgknshcxqj6539ax7b9m570cp8n179cpfkapz7"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Algorithms"; version = "4.3.0"; sha256 = "03sq183pfl5kp7gkvq77myv7kbpdnq3y0xj7vi4q1kaw54sny0ml"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Cng"; version = "4.3.0"; sha256 = "1k468aswafdgf56ab6yrn7649kfqx2wm9aslywjam1hdmk5yypmv"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Csp"; version = "4.3.0"; sha256 = "1x5wcrddf2s3hb8j78cry7yalca4lb5vfnkrysagbn6r9x6xvrx1"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Encoding"; version = "4.3.0"; sha256 = "1jr6w70igqn07k5zs1ph6xja97hxnb3mqbspdrff6cvssgrixs32"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.OpenSsl"; version = "4.3.0"; sha256 = "0givpvvj8yc7gv4lhb6s1prq6p2c4147204a0wib89inqzd87gqc"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.Primitives"; version = "4.3.0"; sha256 = "0pyzncsv48zwly3lw4f2dayqswcfvdwq2nz0dgwmi7fj3pn64wby"; })
+  (fetchNuGet { pname = "System.Security.Cryptography.X509Certificates"; version = "4.3.0"; sha256 = "0valjcz5wksbvijylxijjxb1mp38mdhv03r533vnx1q3ikzdav9h"; })
+  (fetchNuGet { pname = "System.Text.Encoding.Extensions"; version = "4.3.0"; sha256 = "11q1y8hh5hrp5a3kw25cb6l00v5l5dvirkz8jr3sq00h1xgcgrxy"; })
+  (fetchNuGet { pname = "System.Text.Encoding"; version = "4.3.0"; sha256 = "1f04lkir4iladpp51sdgmis9dj4y8v08cka0mbmsy0frc9a4gjqr"; })
+  (fetchNuGet { pname = "System.Text.RegularExpressions"; version = "4.3.0"; sha256 = "1bgq51k7fwld0njylfn7qc5fmwrk2137gdq7djqdsw347paa9c2l"; })
+  (fetchNuGet { pname = "System.Threading.Tasks.Extensions"; version = "4.3.0"; sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z"; })
+  (fetchNuGet { pname = "System.Threading.Tasks"; version = "4.3.0"; sha256 = "134z3v9abw3a6jsw17xl3f6hqjpak5l682k2vz39spj4kmydg6k7"; })
+  (fetchNuGet { pname = "System.Threading.Timer"; version = "4.3.0"; sha256 = "1nx773nsx6z5whv8kaa1wjh037id2f1cxhb69pvgv12hd2b6qs56"; })
+  (fetchNuGet { pname = "System.Threading"; version = "4.3.0"; sha256 = "0rw9wfamvhayp5zh3j7p1yfmx9b5khbf4q50d8k5rk993rskfd34"; })
+  (fetchNuGet { pname = "System.Xml.ReaderWriter"; version = "4.3.0"; sha256 = "0c47yllxifzmh8gq6rq6l36zzvw4kjvlszkqa9wq3fr59n0hl3s1"; })
+  (fetchNuGet { pname = "System.Xml.XDocument"; version = "4.3.0"; sha256 = "08h8fm4l77n0nd4i4fk2386y809bfbwqb7ih9d7564ifcxr5ssxd"; })
+]
diff --git a/pkgs/applications/science/logic/isabelle/default.nix b/pkgs/applications/science/logic/isabelle/default.nix
index 0f041002425..96e8da059a4 100644
--- a/pkgs/applications/science/logic/isabelle/default.nix
+++ b/pkgs/applications/science/logic/isabelle/default.nix
@@ -114,7 +114,7 @@ stdenv.mkDerivation rec {
     icon = "isabelle";
     desktopName = "Isabelle";
     comment = meta.description;
-    categories = "Education;Science;Math;";
+    categories = [ "Education" "Science" "Math" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/science/logic/key/default.nix b/pkgs/applications/science/logic/key/default.nix
index 769fe6aff23..85a7ecb08c3 100644
--- a/pkgs/applications/science/logic/key/default.nix
+++ b/pkgs/applications/science/logic/key/default.nix
@@ -38,7 +38,8 @@ let
         | sh
     '';
     outputHashMode = "recursive";
-    outputHash = "sha256-1TWySkS8w7L6Q+V946kcLOnM4hL3fieFvLrF5BZAlh4=";
+    outputHashAlgo = "sha256";
+    outputHash = "sha256-GjBUwJxeyJA6vGrPQVtNpcHb4CJlNlY4kHt1PT21xjo=";
   };
 in stdenv.mkDerivation rec {
   inherit pname version src sourceRoot;
@@ -60,7 +61,7 @@ in stdenv.mkDerivation rec {
       comment = meta.description;
       desktopName = "KeY";
       genericName = "KeY";
-      categories = "Science;";
+      categories = [ "Science" ];
     })
   ];
 
diff --git a/pkgs/applications/science/logic/lean/default.nix b/pkgs/applications/science/logic/lean/default.nix
index 6da8b1cdc42..22e755bd852 100644
--- a/pkgs/applications/science/logic/lean/default.nix
+++ b/pkgs/applications/science/logic/lean/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "lean";
-  version = "3.39.0";
+  version = "3.39.2";
 
   src = fetchFromGitHub {
     owner  = "leanprover-community";
@@ -11,8 +11,8 @@ stdenv.mkDerivation rec {
     # from. this is then used to check whether an olean file should be
     # rebuilt. don't use a tag as rev because this will get replaced into
     # src/githash.h.in in preConfigure.
-    rev    = "85c581588857624e9cd562aaa0301a951c497833";
-    sha256 = "1v9rqvpgm2hw0mvsg1arp7xp4r9h9p286364hn3if55pg3h8bjzn";
+    rev    = "402f41cdedbd46a368fb7807bebe83550d887631";
+    sha256 = "0jddakr07ixspw19xblpj1882vxxaljg3fflhn4myvigwzkav334";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/logic/logisim-evolution/default.nix b/pkgs/applications/science/logic/logisim-evolution/default.nix
index 6ab0921f66f..67e699bc63f 100644
--- a/pkgs/applications/science/logic/logisim-evolution/default.nix
+++ b/pkgs/applications/science/logic/logisim-evolution/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       exec = "logisim-evolution";
       icon = "logisim-evolution";
       comment = meta.description;
-      categories = "Education;";
+      categories = [ "Education" ];
     })
   ];
 
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/logisim-evolution/logisim-evolution";
     description = "Digital logic designer and simulator";
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/science/logic/logisim/default.nix b/pkgs/applications/science/logic/logisim/default.nix
index f94f08e43ab..06dc024e6d2 100644
--- a/pkgs/applications/science/logic/logisim/default.nix
+++ b/pkgs/applications/science/logic/logisim/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
       exec = "logisim";
       icon = "logisim";
       comment = meta.description;
-      categories = "Education;";
+      categories = [ "Education" ];
     })
   ];
 
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "http://www.cburch.com/logisim/";
     description = "Educational tool for designing and simulating digital logic circuits";
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
diff --git a/pkgs/applications/science/logic/tlaplus/default.nix b/pkgs/applications/science/logic/tlaplus/default.nix
index 7d447745a23..8b9f64a8f5b 100644
--- a/pkgs/applications/science/logic/tlaplus/default.nix
+++ b/pkgs/applications/science/logic/tlaplus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tlaplus";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = fetchurl {
     url = "https://github.com/tlaplus/tlaplus/releases/download/v${version}/tla2tools.jar";
-    sha256 = "d532ba31aafe17afba1130f92410d9257454ff7393d1eb2fe032f0c07f352da5";
+    sha256 = "sha256-+hhUPkTtWXSoW9LGDA3BZiCuEXaA6o5pPSaRmZ7ZCyI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/logic/tlaplus/toolbox.nix b/pkgs/applications/science/logic/tlaplus/toolbox.nix
index 21c60d03ac1..7b1ee4384c9 100644
--- a/pkgs/applications/science/logic/tlaplus/toolbox.nix
+++ b/pkgs/applications/science/logic/tlaplus/toolbox.nix
@@ -18,10 +18,8 @@ let
     comment = "IDE for TLA+";
     desktopName = name;
     genericName = comment;
-    categories = "Development";
-    extraEntries = ''
-      StartupWMClass=TLA+ Toolbox
-    '';
+    categories = [ "Development" ];
+    startupWMClass = "TLA+ Toolbox";
   };
 
 
diff --git a/pkgs/applications/science/logic/why3/default.nix b/pkgs/applications/science/logic/why3/default.nix
index 78631486554..0f3dab8038e 100644
--- a/pkgs/applications/science/logic/why3/default.nix
+++ b/pkgs/applications/science/logic/why3/default.nix
@@ -3,15 +3,15 @@
 
 stdenv.mkDerivation rec {
   pname = "why3";
-  version = "1.4.0";
+  version = "1.4.1";
 
   src = fetchurl {
-    url = "https://gforge.inria.fr/frs/download.php/file/38425/why3-${version}.tar.gz";
-    sha256 = "0lw0cpx347zz9vvwqibmbxgs80fsd16scgk3isscvwxnajpc3rv8";
+    url = "https://why3.gitlabpages.inria.fr/releases/${pname}-${version}.tar.gz";
+    sha256 = "sha256:1rqyypzlvagrn43ykl0c5wxyvnry5fl1ykn3xcvlzgghk96yq3jq";
   };
 
   buildInputs = with ocamlPackages; [
-    ocaml findlib ocamlgraph zarith menhir menhirLib
+    ocaml findlib ocamlgraph zarith menhir
     # Emacs compilation of why3.el
     emacs
     # Documentation
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     coqPackages.coq coqPackages.flocq
   ];
 
-  propagatedBuildInputs = with ocamlPackages; [ camlzip num re sexplib ];
+  propagatedBuildInputs = with ocamlPackages; [ camlzip menhirLib num re sexplib ];
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/applications/science/logic/workcraft/default.nix b/pkgs/applications/science/logic/workcraft/default.nix
index 2829cb59340..0c20faceb54 100644
--- a/pkgs/applications/science/logic/workcraft/default.nix
+++ b/pkgs/applications/science/logic/workcraft/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "workcraft";
-  version = "3.3.5";
+  version = "3.3.6";
 
   src = fetchurl {
     url = "https://github.com/workcraft/workcraft/releases/download/v${version}/workcraft-v${version}-linux.tar.gz";
-    sha256 = "sha256-KErKYK3mmjp5uNdGQnjzUUIEwXT5fqbAPUunH72Mtig=";
+    sha256 = "sha256-5J4HOTz92ALUcZZr15jJ6vplc3KDwbFCXqjEhlOV4kE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/applications/science/math/R/default.nix b/pkgs/applications/science/math/R/default.nix
index d08078c356e..4bd237f8783 100644
--- a/pkgs/applications/science/math/R/default.nix
+++ b/pkgs/applications/science/math/R/default.nix
@@ -94,6 +94,11 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
+  # disable stackprotector on aarch64-darwin for now
+  # https://github.com/NixOS/nixpkgs/issues/158730
+  # see https://github.com/NixOS/nixpkgs/issues/127608 for a similar issue
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
   setupHook = ./setup-hook.sh;
 
   meta = with lib; {
diff --git a/pkgs/applications/science/math/bcal/default.nix b/pkgs/applications/science/math/bcal/default.nix
index 85bcd1b2d2f..b23b433becd 100644
--- a/pkgs/applications/science/math/bcal/default.nix
+++ b/pkgs/applications/science/math/bcal/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "bcal";
-  version = "2.3";
+  version = "2.4";
 
   src = fetchFromGitHub {
     owner = "jarun";
     repo = "bcal";
     rev = "v${version}";
-    sha256 = "sha256-1k8Q+I1Mc196QL+x4yXzRi7WLBf30U4sJyl0rXisW7k=";
+    sha256 = "sha256-PleWU2yyJzkUAZEvEYoCGdpEXqOgRvZK9zXTYrxRtQU=";
   };
 
   buildInputs = [ readline ];
diff --git a/pkgs/applications/science/math/geogebra/default.nix b/pkgs/applications/science/math/geogebra/default.nix
index 7ebfe2030d4..8ab498c61d9 100644
--- a/pkgs/applications/science/math/geogebra/default.nix
+++ b/pkgs/applications/science/math/geogebra/default.nix
@@ -15,8 +15,8 @@ let
     desktopName = "Geogebra";
     genericName = "Geogebra";
     comment = meta.description;
-    categories = "Education;Science;Math;";
-    mimeType = "application/vnd.geogebra.file;application/vnd.geogebra.tool;";
+    categories = [ "Education" "Science" "Math" ];
+    mimeTypes = [ "application/vnd.geogebra.file" "application/vnd.geogebra.tool" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/science/math/getdp/default.nix b/pkgs/applications/science/math/getdp/default.nix
index 5ea3550d08a..5713f84a866 100644
--- a/pkgs/applications/science/math/getdp/default.nix
+++ b/pkgs/applications/science/math/getdp/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "getdp";
-  version = "3.3.0";
+  version = "3.4.0";
   src = fetchurl {
     url = "http://getdp.info/src/getdp-${version}-source.tgz";
-    sha256 = "1pfviy2bw8z5y6c15czvlvyjjg9pvpgrj9fr54xfi2gmvs7zkgpf";
+    sha256 = "sha256-d5YxJgtMf94PD6EHvIXpPBFPKC+skI/2v1K5Sad51hA=";
   };
 
   inherit (petsc) mpiSupport;
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "http://getdp.info/";
     license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ wucke13 ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/science/math/ginac/default.nix b/pkgs/applications/science/math/ginac/default.nix
index 78b64d7f587..1fff1156c1a 100644
--- a/pkgs/applications/science/math/ginac/default.nix
+++ b/pkgs/applications/science/math/ginac/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ginac";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchurl {
     url = "https://www.ginac.de/ginac-${version}.tar.bz2";
-    sha256 = "sha256-8WldvWsYcGHvP7pQdkjJ1tukOPczsFjBb5J4y9z14as=";
+    sha256 = "sha256-v811Gryviv3bg5WMKtInY6deokAyVT5QPumzjj6jtsM=";
   };
 
   propagatedBuildInputs = [ cln ];
diff --git a/pkgs/applications/science/math/gmsh/default.nix b/pkgs/applications/science/math/gmsh/default.nix
index fe34a82679a..4306ae09151 100644
--- a/pkgs/applications/science/math/gmsh/default.nix
+++ b/pkgs/applications/science/math/gmsh/default.nix
@@ -5,25 +5,28 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "gmsh";
-  version = "4.9.2";
+  version = "4.9.5";
 
   src = fetchurl {
     url = "https://gmsh.info/src/gmsh-${version}-source.tgz";
-    sha256 = "sha256-26KB4DNYT12gfi2Y1656PcSBcjyybCxye2X8ILMBYYw=";
+    sha256 = "sha256-/9ZJAIRCCHGciNkaZsKBiJAjEyt6nigsUVSMufbzrUQ=";
   };
 
-  buildInputs = [ blas lapack gmm fltk libjpeg zlib libGLU libGL
-    libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes xorg.libXext
-    xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM xorg.libICE
-    opencascade-occt
+  buildInputs = [
+    blas lapack gmm fltk libjpeg zlib opencascade-occt
+  ] ++ lib.optionals (!stdenv.isDarwin) [
+    libGL libGLU xorg.libXrender xorg.libXcursor xorg.libXfixes
+    xorg.libXext xorg.libXft xorg.libXinerama xorg.libX11 xorg.libSM
+    xorg.libICE
   ];
 
   nativeBuildInputs = [ cmake gfortran ];
 
+  doCheck = true;
+
   meta = {
     description = "A three-dimensional finite element mesh generator";
     homepage = "https://gmsh.info/";
-    platforms = [ "x86_64-linux" ];
     license = lib.licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/applications/science/math/gretl/default.nix b/pkgs/applications/science/math/gretl/default.nix
index 175add544b5..b8b600c1874 100644
--- a/pkgs/applications/science/math/gretl/default.nix
+++ b/pkgs/applications/science/math/gretl/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gretl";
-  version = "2021d";
+  version = "2022a";
 
   src = fetchurl {
     url = "mirror://sourceforge/gretl/${pname}-${version}.tar.xz";
-    sha256 = "sha256-zij337P/MemCwvMah2bUE3odv0Kf/KW6fUl2OgMzjuI=";
+    sha256 = "sha256-J+JcuCda2xYJ5aVz6UXR+nWiid6QxpDtt4DXlb6L4UA=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/math/gurobi/default.nix b/pkgs/applications/science/math/gurobi/default.nix
index 91ee7c1c65e..dc947a94001 100644
--- a/pkgs/applications/science/math/gurobi/default.nix
+++ b/pkgs/applications/science/math/gurobi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gurobi";
-  version = "9.1.2";
+  version = "9.5.0";
 
   src = fetchurl {
     url = "https://packages.gurobi.com/${lib.versions.majorMinor version}/gurobi${version}_linux64.tar.gz";
-    sha256 = "7f60bd675f79476bb2b32cd632aa1d470f8246f2b033b7652d8de86f6e7e429b";
+    sha256 = "sha256-u1QuWl0WhfbjZOrwXqbFVySF/8N6IkUWnPPLQCiLwp4=";
   };
 
   sourceRoot = "gurobi${builtins.replaceStrings ["."] [""] version}/linux64";
diff --git a/pkgs/applications/science/math/mathematica/l10ns.nix b/pkgs/applications/science/math/mathematica/l10ns.nix
index 474c8d1ea06..60841eaa3ee 100644
--- a/pkgs/applications/science/math/mathematica/l10ns.nix
+++ b/pkgs/applications/science/math/mathematica/l10ns.nix
@@ -8,6 +8,13 @@ let allVersions = with lib; flip map
   # N.B. Versions in this list should be ordered from newest to oldest.
   [
     {
+      version = "13.0.1";
+      lang = "en";
+      language = "English";
+      sha256 = "3672a920c1b4af1afd480733f6d67665baf8258757dfe59a6ed6d7440cf26dba";
+      installer = "Mathematica_13.0.1_BNDL_LINUX.sh";
+    }
+    {
       version = "13.0.0";
       lang = "en";
       language = "English";
diff --git a/pkgs/applications/science/math/polymake/default.nix b/pkgs/applications/science/math/polymake/default.nix
index f4f6366465b..d132a98dcb9 100644
--- a/pkgs/applications/science/math/polymake/default.nix
+++ b/pkgs/applications/science/math/polymake/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "polymake";
-  version = "4.5";
+  version = "4.6";
 
   src = fetchurl {
     # "The minimal version is a packager friendly version which omits
     # the bundled sources of cdd, lrs, libnormaliz, nauty and jReality."
     url = "https://polymake.org/lib/exe/fetch.php/download/polymake-${version}-minimal.tar.bz2";
-    sha256 = "sha256-6UPUuzHBEvrYUjQONZW8WRwgcGkqFtUBg6OxBFZteZY=";
+    sha256 = "sha256-QjpE3e8R6uqEV6sV3V2G3beovMbJuxF3b54pWNfc+dA=";
   };
 
   buildInputs = [
diff --git a/pkgs/applications/science/math/qalculate-gtk/default.nix b/pkgs/applications/science/math/qalculate-gtk/default.nix
index 03f4b223803..7ba5838faba 100644
--- a/pkgs/applications/science/math/qalculate-gtk/default.nix
+++ b/pkgs/applications/science/math/qalculate-gtk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qalculate-gtk";
-  version = "3.22.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "qalculate-gtk";
     rev = "v${version}";
-    sha256 = "sha256-BarbO25c103YImOOnjVgwgqpa3mUVvndgJeUHRf2I60=";
+    sha256 = "sha256-l9lR5MVHWiRz5RG/I/nXRY4GQSSaXXP7PlRNoAu9+yo=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/applications/science/math/rofi-calc/default.nix b/pkgs/applications/science/math/rofi-calc/default.nix
index 22d1c92e1ec..78943457d3b 100644
--- a/pkgs/applications/science/math/rofi-calc/default.nix
+++ b/pkgs/applications/science/math/rofi-calc/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rofi-calc";
-  version = "2.0.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = pname;
     rev = "v${version}";
-    sha256 = "NbWXMash0pK7Y9gOEBbL7zXjFytoeZBN9/wIbRTvQ8g=";
+    sha256 = "sha256-sfUcBSUYf/+neBAhEd5LAtMOfIbdXM/ieUOztjk8Pwg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch b/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch
new file mode 100644
index 00000000000..871e494c362
--- /dev/null
+++ b/pkgs/applications/science/math/sage/patches/no-cython-sources-in-tracebacks-on-ipython8.patch
@@ -0,0 +1,52 @@
+diff --git a/src/sage/repl/interface_magic.py b/src/sage/repl/interface_magic.py
+index 8a455b69b0..a93e1c9e04 100644
+--- a/src/sage/repl/interface_magic.py
++++ b/src/sage/repl/interface_magic.py
+@@ -260,7 +260,7 @@ class InterfaceMagic(object):
+             2
+             120
+             sage: shell.run_cell('%%gap foo\n1+1;\n')
+-            ...File "<string>", line unknown
++            ...File...<string>...
+             SyntaxError: Interface magics have no options, got "foo"
+             <BLANKLINE>
+             sage: shell.run_cell('%%gap?')
+diff --git a/src/sage/repl/interpreter.py b/src/sage/repl/interpreter.py
+index 71dbe429fd..36b1d986d6 100644
+--- a/src/sage/repl/interpreter.py
++++ b/src/sage/repl/interpreter.py
+@@ -70,25 +70,6 @@ that shell.  The bulk of this functionality is provided through
+ 
+ TESTS:
+ 
+-Check that Cython source code appears in tracebacks::
+-
+-    sage: from sage.repl.interpreter import get_test_shell
+-    sage: shell = get_test_shell()
+-    sage: print("dummy line"); shell.run_cell('1/0') # see #25320 for the reason of the `...` and the dummy line in this test
+-    dummy line
+-    ...
+-    ZeroDivisionError...Traceback (most recent call last)
+-    <ipython-input-...> in <module>...
+-    ----> 1 Integer(1)/Integer(0)
+-    .../sage/rings/integer.pyx in sage.rings.integer.Integer...div...
+-    ...
+-    -> ...                  raise ZeroDivisionError("rational division by zero")
+-       ....:            x = <Rational> Rational.__new__(Rational)
+-       ....:            mpq_div_zz(x.value, ....value, (<Integer>right).value)
+-    <BLANKLINE>
+-    ZeroDivisionError: rational division by zero
+-    sage: shell.quit()
+-
+ Test prompt transformer::
+ 
+     sage: from sage.repl.interpreter import SagePromptTransformer
+@@ -423,7 +404,7 @@ def SagePreparseTransformer(lines):
+         sage: from sage.repl.interpreter import get_test_shell
+         sage: shell = get_test_shell()
+         sage: shell.run_cell(bad_syntax)
+-          File "<string>", line unknown
++          File...<string>...
+         SyntaxError: Mismatched ']'
+         <BLANKLINE>
+         sage: shell.quit()
diff --git a/pkgs/applications/science/math/sage/sage-src.nix b/pkgs/applications/science/math/sage/sage-src.nix
index 95b01d9f3f5..73a5881d214 100644
--- a/pkgs/applications/science/math/sage/sage-src.nix
+++ b/pkgs/applications/science/math/sage/sage-src.nix
@@ -114,18 +114,47 @@ stdenv.mkDerivation rec {
     # strictly necessary, but keeps us from littering in the user's HOME.
     ./patches/sympow-cache.patch
 
+    # Upstream will wait until Sage 9.7 to upgrade to linbox 1.7 because it
+    # does not support gcc 6. We can upgrade earlier.
+    # https://trac.sagemath.org/ticket/32959
+    ./patches/linbox-1.7-upgrade.patch
+
+    # To emit better tracebacks, IPython 8 parses Python files using the ast
+    # module (via the stack_data package). Since Cython is a superset of Python,
+    # this results in no Cython code being printed in tracebacks. Fixing this
+    # properly is tracked in https://github.com/alexmojaki/stack_data/issues/21,
+    # but for now we just disable the corresponding test. An alternative would
+    # be to revert IPython's IPython/core/ultratb.py, but this would need to be
+    # Sage-specific (since it would worsen tracebacks for pure Python code).
+    # Sage tracks this at https://trac.sagemath.org/ticket/33170
+    ./patches/no-cython-sources-in-tracebacks-on-ipython8.patch
+
     # https://trac.sagemath.org/ticket/32968
     (fetchSageDiff {
-      base = "9.5.beta8";
+      base = "9.5";
       name = "sphinx-4.3-update.patch";
       rev = "fc84f82f52b6f05f512cb359ec7c100f93cf8841";
       sha256 = "sha256-bBbfdcnw/9LUOlY8rHJRbFJEdMXK4shosqTNaobTS1Q=";
     })
 
-    # Upstream has not upgraded to linbox 1.7 yet because it conflicts with
-    # pre-4.2.1p3 versions of Singular, but we don't have this problem.
-    # https://trac.sagemath.org/ticket/32959
-    ./patches/linbox-1.7-upgrade.patch
+    # https://trac.sagemath.org/ticket/33189
+    (fetchSageDiff {
+      base = "9.5";
+      name = "arb-2.22-update.patch";
+      rev = "53532ddd4e2dc92469c1590ebf0c40f8f69bf579";
+      sha256 = "sha256-6SoSBvIlqvNwZV3jTB6uPdUtaWIOeNmddi2poK/WvGs=";
+    })
+
+    # TODO: This will not be necessary when Sphinx 4.4.1 is released,
+    # since some warnings introduced in 4.4.0 will be disabled by then
+    # (https://github.com/sphinx-doc/sphinx/pull/10126).
+    # https://trac.sagemath.org/ticket/33272
+    (fetchSageDiff {
+      base = "9.5";
+      name = "sphinx-4.4-warnings.patch";
+      rev = "97d7958bed441cf2ccc714d88f83d3a8426bc085";
+      sha256 = "sha256-y1STE0oxswnijGCsBw8eHWWqpmT1XMznIfA0vvX9pFA=";
+    })
   ];
 
   patches = nixPatches ++ bugfixPatches ++ packageUpgradePatches;
diff --git a/pkgs/applications/science/math/scilab-bin/default.nix b/pkgs/applications/science/math/scilab-bin/default.nix
index 5dea2c7653a..18dba2952ca 100644
--- a/pkgs/applications/science/math/scilab-bin/default.nix
+++ b/pkgs/applications/science/math/scilab-bin/default.nix
@@ -3,7 +3,7 @@
 let
   name = "scilab-bin-${ver}";
 
-  ver = "6.0.2";
+  ver = "6.1.1";
 
   badArch = throw "${name} requires i686-linux or x86_64-linux";
 
@@ -24,7 +24,7 @@ stdenv.mkDerivation {
       if stdenv.hostPlatform.system == "i686-linux" then
         "0fgjc2ak3b2qi6yin3fy50qwk2bcj0zbz1h4lyyic9n1n1qcliib"
       else if stdenv.hostPlatform.system == "x86_64-linux" then
-        "05clcdgry90drirl3swbxn5q36fmgknnhs6h5pr7mmrzfr6r818w"
+        "sha256-PuGnz2YdAhriavwnuf5Qyy0cnCeRHlWC6dQzfr7bLHk="
       else
         badArch;
   };
diff --git a/pkgs/applications/science/misc/bada-bib/default.nix b/pkgs/applications/science/misc/bada-bib/default.nix
index e57a01fb17e..bd2f94ac4a7 100644
--- a/pkgs/applications/science/misc/bada-bib/default.nix
+++ b/pkgs/applications/science/misc/bada-bib/default.nix
@@ -9,15 +9,15 @@
 , glib
 , gnome
 , gobject-introspection
-, gtk3
+, gtk4
 , libxml2
 , pkg-config
 , python3Packages
-, wrapGAppsHook }:
+, wrapGAppsHook4 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "bada-bib";
-  version = "0.3.0";
+  version = "0.5.1";
   format = "other";
   strictDeps = false; # https://github.com/NixOS/nixpkgs/issues/56943
 
@@ -25,7 +25,7 @@ python3Packages.buildPythonApplication rec {
     owner = "RogerCrocker";
     repo = "BadaBib";
     rev = "v${version}";
-    sha256 = "0rclkkf5kd9ab049lizliiqawx5c5y2qmq40lkxnx09sa0283vg8";
+    sha256 = "sha256-tb/720WPqcO4w1EMmidjtEidsjZ0dEhe+/vnJPM6kxo=";
   };
 
   nativeBuildInputs = [
@@ -35,13 +35,13 @@ python3Packages.buildPythonApplication rec {
     meson
     ninja
     pkg-config
-    wrapGAppsHook
+    wrapGAppsHook4
   ];
 
   buildInputs = [
     gdk-pixbuf
     glib
-    gtk3
+    gtk4
   ];
 
   checkInputs = [
diff --git a/pkgs/applications/science/misc/colmap/default.nix b/pkgs/applications/science/misc/colmap/default.nix
index 60f9810dfb6..c41c8593a5c 100644
--- a/pkgs/applications/science/misc/colmap/default.nix
+++ b/pkgs/applications/science/misc/colmap/default.nix
@@ -7,13 +7,13 @@ assert !cudaSupport || cudatoolkit != null;
 let boost_static = boost17x.override { enableStatic = true; };
 in
 mkDerivation rec {
-  version = "3.6";
+  version = "3.7";
   pname = "colmap";
   src = fetchFromGitHub {
      owner = "colmap";
      repo = "colmap";
      rev = version;
-     sha256 = "1kfivdmhpmdxjjf30rr57y2iy7xmdpg4h8aw3qgacv8ckfpgda3n";
+     sha256 = "sha256-uVAw6qwhpgIpHkXgxttKupU9zU+vD0Za0maw2Iv4x+I=";
   };
 
   buildInputs = [
@@ -30,7 +30,7 @@ mkDerivation rec {
        with a graphical and command-line interface.
     '';
     homepage = "https://colmap.github.io/index.html";
-    license = licenses.bsd2;
+    license = licenses.bsd3;
     platforms = platforms.linux;
     maintainers = with maintainers; [ lebastr ];
   };
diff --git a/pkgs/applications/science/misc/cwltool/default.nix b/pkgs/applications/science/misc/cwltool/default.nix
index c00172dfc57..b3647e0f1b6 100644
--- a/pkgs/applications/science/misc/cwltool/default.nix
+++ b/pkgs/applications/science/misc/cwltool/default.nix
@@ -7,14 +7,14 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "cwltool";
-  version = "3.1.20220204090313";
+  version = "3.1.20220221074232";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "common-workflow-language";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2+2xTUBzQFaS99Xd3jwWuMrg2pNKCb6ZsMKKdOBRo74=";
+    sha256 = "sha256-hUdwtqYHcfyJ68LzwwCXAxr7YIkJm64brb+kA/WJqU8=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/science/misc/cytoscape/default.nix b/pkgs/applications/science/misc/cytoscape/default.nix
index 783381f9db0..a907a5f8c16 100644
--- a/pkgs/applications/science/misc/cytoscape/default.nix
+++ b/pkgs/applications/science/misc/cytoscape/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cytoscape";
-  version = "3.9.0";
+  version = "3.9.1";
 
   src = fetchurl {
     url = "https://github.com/cytoscape/cytoscape/releases/download/${version}/${pname}-unix-${version}.tar.gz";
-    sha256 = "sha256-7YDmojzQujHrsDuB7WC0C3Z2srTd9QUveh1baod3KvU=";
+    sha256 = "sha256-I4C2yGiIygnFUkRBC4LBSQFgjZlVKCoQGRphynVpscw=";
   };
 
   patches = [
diff --git a/pkgs/applications/science/misc/netlogo/default.nix b/pkgs/applications/science/misc/netlogo/default.nix
index b22c6294fba..ed92dfb90da 100644
--- a/pkgs/applications/science/misc/netlogo/default.nix
+++ b/pkgs/applications/science/misc/netlogo/default.nix
@@ -8,7 +8,7 @@ let
     icon = name;
     comment = "A multi-agent programmable modeling environment";
     desktopName = "NetLogo";
-    categories = "Science;";
+    categories = [ "Science" ];
   };
 
 in
diff --git a/pkgs/applications/science/misc/simgrid/default.nix b/pkgs/applications/science/misc/simgrid/default.nix
index 23815442da7..888419fbc86 100644
--- a/pkgs/applications/science/misc/simgrid/default.nix
+++ b/pkgs/applications/science/misc/simgrid/default.nix
@@ -1,13 +1,14 @@
-{ lib, stdenv, fetchFromGitLab, fetchpatch, cmake, perl, python3, boost, valgrind
-# Optional requirements
-# Lua 5.3 needed and not available now
-#, luaSupport ? false, lua5
+{ stdenv, lib, fetchFromGitLab, cmake, perl, python3, boost
 , fortranSupport ? false, gfortran
-, buildDocumentation ? false, transfig, ghostscript, doxygen
+, buildDocumentation ? false, fig2dev, ghostscript, doxygen
 , buildJavaBindings ? false, openjdk
+, buildPythonBindings ? true, python3Packages
 , modelCheckingSupport ? false, libunwind, libevent, elfutils # Inside elfutils: libelf and libdw
+, minimalBindings ? false
 , debug ? false
+, optimize ? (!debug)
 , moreTests ? false
+, withoutBin ? false
 }:
 
 with lib;
@@ -18,54 +19,35 @@ in
 
 stdenv.mkDerivation rec {
   pname = "simgrid";
-  version = "3.28";
+  version = "3.30";
 
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0vylwgd4i89bvhbgfay0wq953324dwfmmr8jp9b4vvlc9m0017r9";
+    sha256 = "1dg8ywqif20g0fs8dnd6364n080nvwx7f444zcfwqwz6iax61qv1";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "fix-smpi-dirs-absolute.patch";
-      url = "https://framagit.org/simgrid/simgrid/-/commit/71f01e667577be1076646eb841e0a57bd5388545.patch";
-      sha256 = "0x3y324b6269687zfy43ilc48bwrs4nb7svh2mpg88lrz53rky15";
-    })
-  ];
-
   propagatedBuildInputs = [ boost ];
-  nativeBuildInputs = [ cmake perl python3 valgrind ]
-      ++ optionals fortranSupport [ gfortran ]
-      ++ optionals buildJavaBindings [ openjdk ]
-      ++ optionals buildDocumentation [ transfig ghostscript doxygen ]
-      ++ optionals modelCheckingSupport [ libunwind libevent elfutils ];
+  nativeBuildInputs = [ cmake perl python3 ]
+    ++ optionals fortranSupport [ gfortran ]
+    ++ optionals buildJavaBindings [ openjdk ]
+    ++ optionals buildPythonBindings [ python3Packages.pybind11 ]
+    ++ optionals buildDocumentation [ fig2dev ghostscript doxygen ]
+    ++ optionals modelCheckingSupport [ libunwind libevent elfutils ];
 
-  #buildInputs = optional luaSupport lua5;
-
-  # Make it so that libsimgrid.so will be found when running programs from
-  # the build dir.
-  preConfigure = ''
-    export LD_LIBRARY_PATH="$PWD/build/lib"
-  '';
+  outputs = [ "out" ]
+    ++ optionals buildPythonBindings [ "python" ];
 
-  # Release mode is not supported in SimGrid
+  # "Release" does not work. non-debug mode is Debug compiled with optimization
   cmakeBuildType = "Debug";
-
-  # Disable/Enable functionality
-  # Note: those packages are not packaged in Nixpkgs yet so some options
-  # are disabled:
-  # - papi:   for enable_smpi_papi
-  # - ns3:    for enable_ns3
-  # - lua53:  for enable_lua
-  #
-  # For more information see:
-  # https://simgrid.org/doc/3.22/Installing_SimGrid.html#simgrid-compilation-options)
   cmakeFlags = [
     "-Denable_documentation=${optionOnOff buildDocumentation}"
     "-Denable_java=${optionOnOff buildJavaBindings}"
+    "-Denable_python=${optionOnOff buildPythonBindings}"
+    "-DSIMGRID_PYTHON_LIBDIR=./" # prevents CMake to install in ${python3} dir
+    "-Denable_msg=${optionOnOff buildJavaBindings}"
     "-Denable_fortran=${optionOnOff fortranSupport}"
     "-Denable_model-checking=${optionOnOff modelCheckingSupport}"
     "-Denable_ns3=off"
@@ -75,27 +57,28 @@ stdenv.mkDerivation rec {
     "-Denable_mallocators=on"
     "-Denable_debug=on"
     "-Denable_smpi=on"
+    "-Dminimal-bindings=${optionOnOff minimalBindings}"
     "-Denable_smpi_ISP_testsuite=${optionOnOff moreTests}"
     "-Denable_smpi_MPICH3_testsuite=${optionOnOff moreTests}"
-    "-Denable_compile_warnings=${optionOnOff debug}"
-    "-Denable_compile_optimizations=${optionOnOff (!debug)}"
-    "-Denable_lto=${optionOnOff (!debug)}"
-    # "-Denable_lua=${optionOnOff luaSupport}"
-    # "-Denable_smpi_papi=${optionOnOff moreTests}"
+    "-Denable_compile_warnings=off"
+    "-Denable_compile_optimizations=${optionOnOff optimize}"
+    "-Denable_lto=${optionOnOff optimize}"
   ];
-
   makeFlags = optional debug "VERBOSE=1";
 
-  # Some Perl scripts are called to generate test during build which
-  # is before the fixupPhase, so do this manualy here:
+  # needed to run tests and to ensure correct shabangs in output scripts
   preBuild = ''
     patchShebangs ..
   '';
 
-  doCheck = true;
+  # needed by tests (so libsimgrid.so is found)
+  preConfigure = ''
+    export LD_LIBRARY_PATH="$PWD/build/lib"
+  '';
 
-  # Prevent the execution of tests known to fail.
+  doCheck = true;
   preCheck = ''
+    # prevent the execution of tests known to fail
     cat <<EOW >CTestCustom.cmake
     SET(CTEST_CUSTOM_TESTS_IGNORE smpi-replay-multiple)
     EOW
@@ -104,6 +87,20 @@ stdenv.mkDerivation rec {
     make tests -j $NIX_BUILD_CORES
   '';
 
+  postInstall = lib.optionalString withoutBin ''
+    # remove bin from output if requested.
+    # having a specific bin output would be cleaner but it does not work currently (circular references)
+    rm -rf $out/bin
+  '' + lib.optionalString buildPythonBindings ''
+    # manually install the python binding if requested.
+    mkdir -p $python/lib/python${lib.versions.majorMinor python3.version}/site-packages/
+    cp ./lib/simgrid.cpython*.so $python/lib/python${lib.versions.majorMinor python3.version}/site-packages/
+   '';
+
+  # improve debuggability if requested
+  hardeningDisable = lib.optionals debug [ "fortify" ];
+  dontStrip = debug;
+
   meta = {
     description = "Framework for the simulation of distributed applications";
     longDescription = ''
@@ -118,5 +115,6 @@ stdenv.mkDerivation rec {
     license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ mickours mpoquet ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/applications/science/misc/snakemake/default.nix b/pkgs/applications/science/misc/snakemake/default.nix
index 40c102fc682..f4a3da9711d 100644
--- a/pkgs/applications/science/misc/snakemake/default.nix
+++ b/pkgs/applications/science/misc/snakemake/default.nix
@@ -1,8 +1,8 @@
-{ lib, python3Packages }:
+{ lib, python3Packages, fetchFromGitHub }:
 
 python3Packages.buildPythonApplication rec {
   pname = "snakemake";
-  version = "6.10.0";
+  version = "6.15.5";
 
   propagatedBuildInputs = with python3Packages; [
     appdirs
@@ -29,12 +29,31 @@ python3Packages.buildPythonApplication rec {
     wrapt
   ];
 
-  src = python3Packages.fetchPypi {
-    inherit pname version;
-    sha256 = "199a86c8d1fcfdb88c4271a1507b0ab371a15bc407f2dad9b0ab8c43438adff8";
+  src = fetchFromGitHub {
+    owner = "snakemake";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-i8C7gPLzUzSxNH9xwpr+fUKI1SvpYFsFBlspS74LoWU=";
   };
 
-  doCheck = false; # Tests depend on Google Cloud credentials at ${HOME}/gcloud-service-key.json
+  # See
+  # https://github.com/snakemake/snakemake/blob/main/.github/workflows/main.yml#L99
+  # for the current basic test suite. Tibanna and Tes require extra
+  # setup.
+
+  checkInputs = with python3Packages; [
+    pandas
+    pytestCheckHook
+    requests-mock
+  ];
+
+  disabledTestPaths = [
+    "tests/test_tes.py"
+    "tests/test_tibanna.py"
+    "tests/test_linting.py"
+  ];
+
+  pythonImportsCheck = [ "snakemake" ];
 
   meta = with lib; {
     homepage = "https://snakemake.github.io";
diff --git a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
index dd4bb6ef142..69810f95b84 100644
--- a/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
+++ b/pkgs/applications/science/molecular-dynamics/gromacs/default.nix
@@ -19,11 +19,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "gromacs";
-  version = "2021.5";
+  version = "2022";
 
   src = fetchurl {
     url = "ftp://ftp.gromacs.org/pub/gromacs/gromacs-${version}.tar.gz";
-    sha256 = "1dh9l2gcv61h1r6qsg8vr3k1xp8jgd27czzg24kzf4k823k3z9pb";
+    sha256 = "0s1bv8nvmdpiyk2yhcmzq8q936hm5jgnqb393101drh2dih0vmps";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/science/programming/groove/default.nix b/pkgs/applications/science/programming/groove/default.nix
index 86d77072ee8..f4c323defd6 100644
--- a/pkgs/applications/science/programming/groove/default.nix
+++ b/pkgs/applications/science/programming/groove/default.nix
@@ -7,7 +7,7 @@ let
     icon = "groove";
     desktopName = "GROOVE Simulator";
     comment = "GRaphs for Object-Oriented VErification";
-    categories = "Science;ComputerScience;";
+    categories = [ "Science" "ComputerScience" ];
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/applications/science/robotics/qgroundcontrol/default.nix b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
index 76d2318cead..afd05c3e8f7 100644
--- a/pkgs/applications/science/robotics/qgroundcontrol/default.nix
+++ b/pkgs/applications/science/robotics/qgroundcontrol/default.nix
@@ -6,7 +6,7 @@
 
 mkDerivation rec {
   pname = "qgroundcontrol";
-  version = "4.1.4";
+  version = "4.2.0";
 
   qtInputs = [
     qtbase qtcharts qtlocation qtserialport qtsvg qtquickcontrols2
@@ -29,6 +29,8 @@ mkDerivation rec {
     "CONFIG+=StableBuild"
     # Default install tries to copy Qt files into package
     "CONFIG+=QGC_DISABLE_BUILD_SETUP"
+    # Tries to download x86_64-only prebuilt binaries
+    "DEFINES+=DISABLE_AIRMAP"
     "../qgroundcontrol.pro"
   ];
 
@@ -62,13 +64,13 @@ mkDerivation rec {
     owner = "mavlink";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0lhc36jpy7a5bnysqi574nk5izglj557mf8n9lcsgvzwxlkb2rbf";
+    sha256 = "sha256-TBnJQKO9cwxP9q+bIB1CaGnm9npymJ3iEAD9kPJi9JA=";
     fetchSubmodules = true;
   };
 
   meta = with lib; {
     description = "Provides full ground station support and configuration for the PX4 and APM Flight Stacks";
-    homepage = "http://qgroundcontrol.org/";
+    homepage = "http://qgroundcontrol.com/";
     license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ lopsided98 ];
diff --git a/pkgs/applications/terminal-emulators/mlterm/default.nix b/pkgs/applications/terminal-emulators/mlterm/default.nix
index 4920372411f..d84aa984a33 100644
--- a/pkgs/applications/terminal-emulators/mlterm/default.nix
+++ b/pkgs/applications/terminal-emulators/mlterm/default.nix
@@ -106,10 +106,8 @@ stdenv.mkDerivation rec {
     comment = "Terminal emulator";
     desktopName = "mlterm";
     genericName = "Terminal emulator";
-    categories = lib.concatStringsSep ";" [
-      "Application" "System" "TerminalEmulator"
-    ];
-    startupNotify = "false";
+    categories = [ "Application" "System" "TerminalEmulator" ];
+    startupNotify = false;
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
index 0e9402cf495..1ca84149fdd 100644
--- a/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
+++ b/pkgs/applications/terminal-emulators/rxvt-unicode/default.nix
@@ -21,7 +21,7 @@ let
     comment = description;
     desktopName = "URxvt";
     genericName = pname;
-    categories = "System;TerminalEmulator;";
+    categories = [ "System" "TerminalEmulator" ];
   };
 
   fetchPatchFromAUR = { package, name, rev, sha256 }:
diff --git a/pkgs/applications/terminal-emulators/tilix/default.nix b/pkgs/applications/terminal-emulators/tilix/default.nix
index c217ae7f991..0538a2060ae 100644
--- a/pkgs/applications/terminal-emulators/tilix/default.nix
+++ b/pkgs/applications/terminal-emulators/tilix/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tilix";
-  version = "1.9.4";
+  version = "1.9.5";
 
   src = fetchFromGitHub {
     owner = "gnunn1";
     repo = "tilix";
     rev = version;
-    sha256 = "sha256:020gr4q7kmqq8vnsh8rw97gf1p2n1yq4d7ncyjjh9l13zkaxqqv9";
+    sha256 = "sha256-sPVL5oYDOmloRVm/nONKkC20vZc907c7ixBF6E2PQ8Y=";
   };
 
   # Default upstream else LDC fails to link
diff --git a/pkgs/applications/terminal-emulators/wayst/default.nix b/pkgs/applications/terminal-emulators/wayst/default.nix
index c6f39effed6..f3751e39881 100644
--- a/pkgs/applications/terminal-emulators/wayst/default.nix
+++ b/pkgs/applications/terminal-emulators/wayst/default.nix
@@ -21,15 +21,12 @@ let
   desktopItem = makeDesktopItem {
     desktopName = "Wayst";
     name = "wayst";
+    genericName = "Terminal";
     exec = "wayst";
     icon = "wayst";
-    terminal = "false";
-    categories = "System;TerminalEmulator";
+    categories = [ "System" "TerminalEmulator" ];
+    keywords = [ "wayst" "terminal" ];
     comment = "A simple terminal emulator";
-    extraEntries = ''
-      GenericName=Terminal
-      Keywords=wayst;terminal;
-    '';
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/applications/version-management/commitizen/default.nix b/pkgs/applications/version-management/commitizen/default.nix
index b8befad558d..0aa3f0d02ab 100644
--- a/pkgs/applications/version-management/commitizen/default.nix
+++ b/pkgs/applications/version-management/commitizen/default.nix
@@ -1,33 +1,46 @@
 { buildPythonApplication
-, lib
-, fetchFromGitHub
-, poetry
-, termcolor
-, questionary
 , colorama
 , decli
-, tomlkit
+, fetchFromGitHub
+, git
 , jinja2
-, pyyaml
-, argcomplete
-, typing-extensions
+, lib
 , packaging
-, pytestCheckHook
+, poetry
 , pytest-freezegun
 , pytest-mock
 , pytest-regressions
-, git
+, pytestCheckHook
+, pyyaml
+, questionary
+, termcolor
+, tomlkit
+, typing-extensions
+
+, argcomplete, fetchPypi
 }:
 
+let
+  # NOTE: Upstream requires argcomplete <2, so we make it here.
+  argcomplete_1 = argcomplete.overrideAttrs (old: rec {
+    version = "1.12.3";
+    src = fetchPypi {
+      inherit (old) pname;
+      inherit version;
+      sha256 = "sha256-LH2//YwEXqU0kh5jsL5v5l6IWZmQ2NxAisjFQrcqVEU=";
+    };
+  });
+in
+
 buildPythonApplication rec {
   pname = "commitizen";
-  version = "2.20.4";
+  version = "2.21.2";
 
   src = fetchFromGitHub {
     owner = "commitizen-tools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2DhWiUAkAkyNxYB1CGzUB2nGZeCWvFqSztrxasUPSXw=";
+    sha256 = "sha256-ZFKUG8dE1hpWPGitdQlYeBSzWn3LPR7VGWsuq1Le5OQ=";
     deepClone = true;
   };
 
@@ -43,7 +56,7 @@ buildPythonApplication rec {
     tomlkit
     jinja2
     pyyaml
-    argcomplete
+    argcomplete_1
     typing-extensions
     packaging
   ];
@@ -54,7 +67,7 @@ buildPythonApplication rec {
     pytest-freezegun
     pytest-mock
     pytest-regressions
-    argcomplete
+    argcomplete_1
     git
   ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/delta/default.nix b/pkgs/applications/version-management/git-and-tools/delta/default.nix
index ed01e9259f7..a0dc4a205d6 100644
--- a/pkgs/applications/version-management/git-and-tools/delta/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/delta/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "delta";
-  version = "0.11.3";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "dandavison";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qpoXUzXRcsUi1WHZAYGgnEaNxBYEQAdkXAz7YPiPae8=";
+    sha256 = "sha256-RlEPC9yyPYj974UVto7w+r24Lc5+Et1Ks49o+QTdrZQ=";
   };
 
-  cargoSha256 = "sha256-eds2W47+lOwO/HHKR+IjXOJOD8p1OYkk5qilDYTOUyk=";
+  cargoSha256 = "sha256-4tOeYiRBF4qDUiI6yU093y0Ttq7+CdmGaA5eqdMjgow=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/gh/default.nix b/pkgs/applications/version-management/git-and-tools/gh/default.nix
index 21781c423b2..3774b43d37d 100644
--- a/pkgs/applications/version-management/git-and-tools/gh/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gh";
-  version = "2.5.0";
+  version = "2.5.1";
 
   src = fetchFromGitHub {
     owner = "cli";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-zQHFLXcsIFMqMCJp7+3Abc0WbSWKJyfAAE+TTJGRRmY=";
+    sha256 = "sha256-T0xThL4VHzpNMQV8fTVnG7R+D9ol/Z7a4MYMXbkQ680=";
   };
 
-  vendorSha256 = "sha256-yMc3Czo7gTb2ZSWjj0yyId+qyro4mU1C+FOgEjZEhBY=";
+  vendorSha256 = "sha256-tJg/vekGUYP4q1ZP5UV3+lXv6bht4doVV3IaGH+4uf8=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
index 9a4d3878e8a..8cedd24be05 100644
--- a/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-branchless/default.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-branchless";
-  version = "0.3.8";
+  version = "0.3.9";
 
   src = fetchFromGitHub {
     owner = "arxanas";
     repo = "git-branchless";
     rev = "v${version}";
-    sha256 = "sha256-eDVC1tvAkCioV0Mi5f/Qkc0MMTNaoFXuvWXpllZ7PgE=";
+    sha256 = "sha256-SEmIZy8ql1MxcFR6zeif03DVha/SRZHajVwt3QOBBYU=";
   };
 
-  cargoSha256 = "sha256-wtG/WTmZ13jxIawI9j9QKQm7jPx5TUs7MjqX+lq/Vf0=";
+  cargoSha256 = "sha256-mKfPxU1JoN/xLdPdwy3vo1M0qF9ag0T4Ls4dfvHn6Pc=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
index f88130b926a..b93491e267c 100644
--- a/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-cliff/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "git-cliff";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "git-cliff";
     rev = "v${version}";
-    sha256 = "sha256-1ScZ8pxRN/Eot/Q+HWbWOgDWBmVLjqtPeftRsNQIJEI=";
+    sha256 = "sha256-cctgZz65BliOePal4zrPpTbxMkz4GJj6gIh2YzEg+Do=";
   };
 
-  cargoSha256 = "sha256-FMlJn/mVcrHhu3gGISb1e7D2mVAocccqXRYZnMVNPqA=";
+  cargoSha256 = "sha256-M/BNqLZnLthaBONwn5XMmulmqyZTWv5LQFvxASDrBCI=";
 
   # attempts to run the program on .git in src which is not deterministic
   doCheck = false;
diff --git a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
index 47d6cc023b8..449634ae699 100644
--- a/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-gone/default.nix
@@ -1,36 +1,39 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, makeWrapper, openssl, git, libiconv, Security, installShellFiles }:
+{ lib
+, stdenv
+, fetchFromGitea
+, rustPlatform
+, libiconv
+, Security
+, installShellFiles
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "git-gone";
-  version = "0.3.7";
+  version = "0.3.8";
 
-  src = fetchFromGitHub {
-    owner = "lunaryorn";
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "flausch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0hhy1yazda9r4n753a5m9jf31fbzmm4v8wvl3pksspj2syglmll8";
+    sha256 = "sha256-hKbq2rJwEZI3391RsZXsQSjjp7rSqglUckRDYAu42KE=";
   };
 
-  cargoSha256 = "0mbc1742szpxnqqah6q0yhkn4fyyxqzg830bd1vzr07v273wr06r";
+  cargoSha256 = "sha256-gBQ4V8Bwx6Di8aVnOYwx0UZZIIOFxZAXT7Tl1Yli0Fk=";
 
-  nativeBuildInputs = [ pkg-config makeWrapper installShellFiles ];
+  nativeBuildInputs = [ installShellFiles ];
 
-  buildInputs = [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
   postInstall = ''
     installManPage git-gone.1
   '';
 
-  postFixup = ''
-    wrapProgram $out/bin/git-gone --prefix PATH : "${lib.makeBinPath [ git ]}"
-  '';
-
   meta = with lib; {
-    description = "Cleanup stale Git branches of pull requests";
-    homepage = "https://github.com/lunaryorn/git-gone";
+    description = "Cleanup stale Git branches of merge requests";
+    homepage = "https://codeberg.org/flausch/git-gone";
+    changelog = "https://codeberg.org/flausch/git-gone/raw/tag/v${version}/CHANGELOG.md";
     license = licenses.asl20;
     maintainers = [ maintainers.marsam ];
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
index be1fd992a9d..279ae81b101 100644
--- a/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-hub/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "git-hub";
-  version = "2.1.2";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "sociomantic-tsunami";
     repo = "git-hub";
     rev = "v${version}";
-    sha256 = "sha256-Iq6IrW2gAGqq56b2gXpEkg+I/5FcmsESWBJQiG1XWWA=";
+    sha256 = "sha256-fb/WDmBx1Vayu4fLeG+D1nmHJJawgIAAXcQsABsenBo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
index f08a74bd340..3fd3a37419f 100644
--- a/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git-machete/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonApplication rec {
   pname = "git-machete";
-  version = "3.5.0";
+  version = "3.7.2";
 
   src = fetchFromGitHub {
     owner = "virtuslab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kR37TClFMkoe4e46g/omfwZCrQFr7gukW7I70WI9+dw=";
+    sha256 = "sha256-7WaLUCJr29i7JW5YAJG1AuYnSLKRMpAEnCY2i4Zle+c=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/applications/version-management/git-and-tools/git/default.nix b/pkgs/applications/version-management/git-and-tools/git/default.nix
index 073b50c4bd5..13da857b790 100644
--- a/pkgs/applications/version-management/git-and-tools/git/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/git/default.nix
@@ -25,7 +25,7 @@ assert sendEmailSupport -> perlSupport;
 assert svnSupport -> perlSupport;
 
 let
-  version = "2.34.1";
+  version = "2.35.1";
   svn = subversionClient.override { perlBindings = perlSupport; };
 
   gitwebPerlLibs = with perlPackages; [ CGI HTMLParser CGIFast FCGI FCGIProcManager HTMLTagCloud ];
@@ -37,7 +37,7 @@ stdenv.mkDerivation {
 
   src = fetchurl {
     url = "https://www.kernel.org/pub/software/scm/git/git-${version}.tar.xz";
-    sha256 = "0b40vf315s1kz65x1wq47g8srl4wqac39pwnvlj1mdzs3kfma1rs";
+    sha256 = "100h37cpw49pmlpf6lcpm1xi578gllf6y9in60h5mxj3cj754s6p";
   };
 
   outputs = [ "out" ] ++ lib.optional withManual "doc";
diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
index d6f54497a33..7e56f28a81e 100644
--- a/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitstatus/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gitstatus";
-  version = "1.5.3";
+  version = "1.5.4";
 
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "gitstatus";
     rev = "v${version}";
-    sha256 = "sha256-ZTpnT4kuntHdMWK7c/pHS6mJrAHF9T51DydXnWXj8Z0=";
+    sha256 = "sha256-mVfB3HWjvk4X8bmLEC/U8SKBRytTh/gjjuReqzN5qTk=";
   };
 
   buildInputs = [ (callPackage ./romkatv_libgit2.nix { }) ];
diff --git a/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
index f94f772f50f..73d35b1bd9b 100644
--- a/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitstatus/romkatv_libgit2.nix
@@ -1,4 +1,4 @@
-{ fetchFromGitHub, libgit2, ...}:
+{ fetchFromGitHub, libgit2, ... }:
 
 libgit2.overrideAttrs (oldAttrs: {
   cmakeFlags = oldAttrs.cmakeFlags ++ [
@@ -8,15 +8,18 @@ libgit2.overrideAttrs (oldAttrs: {
     "-DUSE_BUNDLED_ZLIB=ON"
     "-DUSE_GSSAPI=OFF"
     "-DUSE_HTTPS=OFF"
-    "-DUSE_HTTP_PARSER=builtin"  # overwritten from libgit2
+    "-DUSE_HTTP_PARSER=builtin" # overwritten from libgit2
     "-DUSE_NTLMCLIENT=OFF"
     "-DUSE_SSH=OFF"
     "-DZERO_NSEC=ON"
   ];
+
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "libgit2";
-    rev = "tag-5860a42d19bcd226cb6eff2dcbfcbf155d570c73";
-    sha256 = "sha256-OdGLNGOzXbWQGqw5zYM1RhU4Z2yRXi9cpAt7Vn9+j5I=";
+    rev = "tag-0ad3d776aa86dd607dc86dcd7f77ad3ed7ebec61";
+    sha256 = "sha256-mXCmspM3fqI14DF9sAIMH5vGdMMjWkdDjdME4EiQuqY=";
   };
+
+  patches = [ ];
 })
diff --git a/pkgs/applications/version-management/git-and-tools/gitty/default.nix b/pkgs/applications/version-management/git-and-tools/gitty/default.nix
index 759694b0eb3..12a82143c35 100644
--- a/pkgs/applications/version-management/git-and-tools/gitty/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/gitty/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gitty";
-  version = "0.6.0";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "muesli";
     repo = "gitty";
     rev = "v${version}";
-    sha256 = "sha256-gjiFaBM6PP937l5EQIeB27kGuZCT7cmVHm0UwuytqfE=";
+    sha256 = "sha256-g0D6nJiHY7cz72DSmdQZsj9Vgv/VOp0exTcLsaypGiU=";
   };
 
-  vendorSha256 = "sha256-CytlkfOzrmCRjj4tGoDUbqdim5DWElMYo1Tosw7Dhmg=";
+  vendorSha256 = "sha256-qrLECQkjXH0aTHmysq64jnXj9jgbunpVtBAIXJOEYIY=";
 
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
diff --git a/pkgs/applications/version-management/git-and-tools/glitter/default.nix b/pkgs/applications/version-management/git-and-tools/glitter/default.nix
index 30516aca4fe..3c110402912 100644
--- a/pkgs/applications/version-management/git-and-tools/glitter/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/glitter/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "glitter";
-  version = "1.5.13";
+  version = "1.5.14";
 
   src = fetchFromGitHub {
     owner = "milo123459";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-arHwIQXZYxwnFbyLoKQiv3gYHEN80DxbdaO4dM9ZBs8=";
+    sha256 = "sha256-Q1zPPT0gNI96n8PIk1qATRzxm5vmGmRMwZ9j7bb8knk=";
   };
 
-  cargoSha256 = "sha256-d+DERHE8Nzre1MXNj4Cp9fcRkLPEC8hzh0SeTpS2C5A=";
+  cargoSha256 = "sha256-JKM98cpZz2MTa+f2A7NRcKwGjbm4YRabMlV6DHXT64U=";
 
   # tests require it to be in a git repository
   preCheck = ''
diff --git a/pkgs/applications/version-management/git-and-tools/subgit/default.nix b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
index 4124ca67e65..54dbc195f07 100644
--- a/pkgs/applications/version-management/git-and-tools/subgit/default.nix
+++ b/pkgs/applications/version-management/git-and-tools/subgit/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "subgit";
-  version = "3.3.12";
+  version = "3.3.13";
 
   meta = {
     description = "A tool for a smooth, stress-free SVN to Git migration";
@@ -22,6 +22,6 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://subgit.com/download/subgit-${version}.zip";
-    sha256 = "sha256-Mdjm7rkF/iw3HBftCgXrbFCG00g/RowFcF/oeKLyzL0=";
+    sha256 = "sha256-+sG7yD2aVLV9i7iPZTMMsY1CQ1VuJ8w+jPguuTulR8c=";
   };
 }
diff --git a/pkgs/applications/version-management/git-lfs/default.nix b/pkgs/applications/version-management/git-lfs/default.nix
index 78a393eb5e4..9f0126d9ac4 100644
--- a/pkgs/applications/version-management/git-lfs/default.nix
+++ b/pkgs/applications/version-management/git-lfs/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "git-lfs";
-  version = "3.0.2";
+  version = "3.1.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "git-lfs";
     repo = "git-lfs";
-    sha256 = "0k2pzbhd95xixh5aqdwf5pafilg85wl46d04xbb4lx6k3gkfv0f3";
+    sha256 = "sha256-IEo8poEYPjAbBGk+SQdJqyhwgMYjNLdibI+AktVIg1g=";
   };
 
   goPackagePath = "github.com/git-lfs/git-lfs";
diff --git a/pkgs/applications/version-management/git-repo/default.nix b/pkgs/applications/version-management/git-repo/default.nix
index 03ca6111e34..f4eeb4aac12 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.20";
+  version = "2.21";
 
   src = fetchFromGitHub {
     owner = "android";
     repo = "tools_repo";
     rev = "v${version}";
-    sha256 = "sha256-5yyiQMIoAtaNh9H1pjU1gXAbmU3/VdXGt7AL4wmJC28=";
+    sha256 = "sha256-nl/NFbyL0MWgvpwaqkCOkKuSquFTQRKZ7Ski5qYRL9w=";
   };
 
   # Fix 'NameError: name 'ssl' is not defined'
diff --git a/pkgs/applications/version-management/git-review/default.nix b/pkgs/applications/version-management/git-review/default.nix
index 40061baca53..98c9c5312e6 100644
--- a/pkgs/applications/version-management/git-review/default.nix
+++ b/pkgs/applications/version-management/git-review/default.nix
@@ -4,8 +4,7 @@
 , pbr
 , requests
 , setuptools
-, genericUpdater
-, common-updater-scripts
+, gitUpdater
 }:
 
 buildPythonApplication rec {
@@ -42,10 +41,7 @@ buildPythonApplication rec {
 
   pythonImportsCheck = [ "git_review" ];
 
-  passthru.updateScript = genericUpdater {
-    inherit pname version;
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
-  };
+  passthru.updateScript = gitUpdater { inherit pname version; };
 
   meta = with lib; {
     description = "Tool to submit code to Gerrit";
diff --git a/pkgs/applications/version-management/gitea/default.nix b/pkgs/applications/version-management/gitea/default.nix
index e8ec855ff1a..7da383e325d 100644
--- a/pkgs/applications/version-management/gitea/default.nix
+++ b/pkgs/applications/version-management/gitea/default.nix
@@ -16,12 +16,12 @@ with lib;
 
 buildGoPackage rec {
   pname = "gitea";
-  version = "1.16.0";
+  version = "1.16.2";
 
   # not fetching directly from the git repo, because that lacks several vendor files for the web UI
   src = fetchurl {
     url = "https://github.com/go-gitea/gitea/releases/download/v${version}/gitea-src-${version}.tar.gz";
-    sha256 = "sha256-gvhfdA5JBFY81f0UmVodJMWBYeFSDaDdoV723MSYeB4=";
+    sha256 = "sha256-fN7F76TzxBwvUbe2Ha5sfAk6x+FaUDIdx8YaQKfndSU=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/applications/version-management/gitkraken/default.nix b/pkgs/applications/version-management/gitkraken/default.nix
index b5372233c24..55a2f1627b9 100644
--- a/pkgs/applications/version-management/gitkraken/default.nix
+++ b/pkgs/applications/version-management/gitkraken/default.nix
@@ -93,7 +93,7 @@ let
       icon = pname;
       desktopName = "GitKraken";
       genericName = "Git Client";
-      categories = "Development;";
+      categories = [ "Development" ];
       comment = "Graphical Git client from Axosoft";
     }) ];
 
diff --git a/pkgs/applications/version-management/gitlab/data.json b/pkgs/applications/version-management/gitlab/data.json
index c948a4450f3..bba8192f4c2 100644
--- a/pkgs/applications/version-management/gitlab/data.json
+++ b/pkgs/applications/version-management/gitlab/data.json
@@ -1,14 +1,14 @@
 {
-  "version": "14.7.1",
-  "repo_hash": "1zph7a2mqwbmgc6isd0vl6w8j9lrlcnxyhabzpcms4v3q3agr4f3",
+  "version": "14.7.3",
+  "repo_hash": "1by4r7an5s5n9jka77mvp9ysc9c5kyvld9fvwr0r5qw2h39akl9g",
   "yarn_hash": "12k2r1y7kw95kfsmy0s8rbsf0vldr8c2liah0rkc7pihr19gq3w7",
   "owner": "gitlab-org",
   "repo": "gitlab",
-  "rev": "v14.7.1-ee",
+  "rev": "v14.7.3-ee",
   "passthru": {
-    "GITALY_SERVER_VERSION": "14.7.1",
+    "GITALY_SERVER_VERSION": "14.7.3",
     "GITLAB_PAGES_VERSION": "1.51.0",
     "GITLAB_SHELL_VERSION": "13.22.2",
-    "GITLAB_WORKHORSE_VERSION": "14.7.1"
+    "GITLAB_WORKHORSE_VERSION": "14.7.3"
   }
 }
diff --git a/pkgs/applications/version-management/gitlab/gitaly/default.nix b/pkgs/applications/version-management/gitlab/gitaly/default.nix
index 52c61d594c3..47efc96716d 100644
--- a/pkgs/applications/version-management/gitlab/gitaly/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitaly/default.nix
@@ -14,6 +14,8 @@ let
       rev = "109b4c887ffb63962c7017a66fc4a1f48becb48e";
       sha256 = "sha256-w029FHpOv5K49wE1OJMOlkTe+2cv+ORYqEHxs59GDBI=";
     };
+
+    patches = [];
   });
 
   rubyEnv = bundlerEnv rec {
@@ -23,7 +25,7 @@ let
     gemdir = ./.;
   };
 
-  version = "14.7.1";
+  version = "14.7.3";
   gitaly_package = "gitlab.com/gitlab-org/gitaly/v${lib.versions.major version}";
 in
 
@@ -35,7 +37,7 @@ buildGoModule {
     owner = "gitlab-org";
     repo = "gitaly";
     rev = "v${version}";
-    sha256 = "sha256-MGcqYbHHeYwjfnvrJG/ZtOnyxsj+w1kPHOkVHf2AeMQ=";
+    sha256 = "sha256-5m+bhHtI1VZr8Di3LNG0Z7yk8oVTv6re7rckFDjaVvk=";
   };
 
   vendorSha256 = "sha256-eapqtSstc7d3R7A/5krKV0uVr9GhGkHHMrmsBOpWAbo=";
diff --git a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
index 0b2e24e9d86..5310f1cca7a 100644
--- a/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
+++ b/pkgs/applications/version-management/gitlab/gitlab-workhorse/default.nix
@@ -5,7 +5,7 @@ in
 buildGoModule rec {
   pname = "gitlab-workhorse";
 
-  version = "14.7.1";
+  version = "14.7.3";
 
   src = fetchFromGitLab {
     owner = data.owner;
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
index 2312918df56..e036b98f330 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/Gemfile.lock
@@ -1114,7 +1114,7 @@ GEM
       rubocop-ast (>= 0.7.1)
     ruby-fogbugz (0.2.1)
       crack (~> 0.4)
-    ruby-magic (0.5.3)
+    ruby-magic (0.5.4)
       mini_portile2 (~> 2.6)
     ruby-prof (1.3.1)
     ruby-progressbar (1.11.0)
diff --git a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
index a74ca37e00e..025378dd5db 100644
--- a/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
+++ b/pkgs/applications/version-management/gitlab/rubyEnv/gemset.nix
@@ -4680,10 +4680,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "192bc7a4jgqcjgsp8jzkb2f355k5shy133zbvfcrjb7rjla7n9l9";
+      sha256 = "1m91qhhh2sakmd6kznipmwwb3i2qlfx40fpnj4vsh40d2f2v25rc";
       type = "gem";
     };
-    version = "0.5.3";
+    version = "0.5.4";
   };
   ruby-prof = {
     groups = ["default"];
diff --git a/pkgs/applications/version-management/got/default.nix b/pkgs/applications/version-management/got/default.nix
index 7464dcfb73a..c62b680b3f5 100644
--- a/pkgs/applications/version-management/got/default.nix
+++ b/pkgs/applications/version-management/got/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "got";
-  version = "0.66";
+  version = "0.67";
 
   src = fetchurl {
     url =
       "https://gameoftrees.org/releases/portable/got-portable-${version}.tar.gz";
-    sha256 = "13xrwndj80jix210fxkadivxyd1f5qavdrhxyl32n68xyv5xmkgg";
+    sha256 = "sha256-37Ncljw2tibVRrynDlbxk7d5IS+5QypNFvKIkZ5JvME=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/applications/version-management/mercurial/default.nix b/pkgs/applications/version-management/mercurial/default.nix
index 5f28580c7d4..80c2679d05c 100644
--- a/pkgs/applications/version-management/mercurial/default.nix
+++ b/pkgs/applications/version-management/mercurial/default.nix
@@ -21,11 +21,11 @@ let
 
   self = python3Packages.buildPythonApplication rec {
     pname = "mercurial";
-    version = "6.0.2";
+    version = "6.0.3";
 
     src = fetchurl {
       url = "https://mercurial-scm.org/release/mercurial-${version}.tar.gz";
-      sha256 = "sha256-X7TDbThWKS6/WEBR1ZMG2WrYqjK1U3RSsdnEdvlasRo=";
+      sha256 = "sha256-Z/E2R6RlF6K1Z83Lc8mHIdddNqBDLeuxUCK3f5wTgzM=";
     };
 
     format = "other";
@@ -35,7 +35,7 @@ let
     cargoDeps = if rustSupport then rustPlatform.fetchCargoTarball {
       inherit src;
       name = "${pname}-${version}";
-      sha256 = "sha256-rIG57oPCTUz4HNJyuMBPlKTSh02ecF5052Q1P9wGq1s=";
+      sha256 = "sha256-i4WROxezeqLX4hTdcPrqsf6dBqsNZz6fFAPzItYuklE=";
       sourceRoot = "${pname}-${version}/rust";
     } else null;
     cargoRoot = if rustSupport then "rust" else null;
diff --git a/pkgs/applications/version-management/smartgithg/default.nix b/pkgs/applications/version-management/smartgithg/default.nix
index 3c0e540d228..4c147049569 100644
--- a/pkgs/applications/version-management/smartgithg/default.nix
+++ b/pkgs/applications/version-management/smartgithg/default.nix
@@ -65,23 +65,19 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     icon = "smartgit";
     desktopName = "SmartGit";
-    categories = concatStringsSep ";" [
+    categories = [
       "Application"
       "Development"
       "RevisionControl"
     ];
-    mimeType = concatStringsSep ";" [
+    mimeTypes = [
       "x-scheme-handler/git"
       "x-scheme-handler/smartgit"
       "x-scheme-handler/sourcetree"
     ];
-    startupNotify = "true";
-    extraEntries = ''
-      Keywords=git
-      StartupWMClass=${name}
-      Version=1.0
-      Encoding=UTF-8
-    '';
+    startupNotify = true;
+    startupWMClass = name;
+    keywords = [ "git" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/version-management/sourcehut/builds.nix b/pkgs/applications/version-management/sourcehut/builds.nix
index 2e771de73a5..350afd07fe1 100644
--- a/pkgs/applications/version-management/sourcehut/builds.nix
+++ b/pkgs/applications/version-management/sourcehut/builds.nix
@@ -11,13 +11,13 @@
 , python
 }:
 let
-  version = "0.74.17";
+  version = "0.75.2";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "builds.sr.ht";
     rev = version;
-    sha256 = "sha256-6Yc33lkhozpnx8e6yukUfo+/Qw5mwpJQQKuYbC7uqcU=";
+    sha256 = "sha256-SwyxMzmp9baRQ0vceuEn/OpfIv7z7jwq/l67hdOHXjM=";
   };
 
   buildWorker = src: buildGoModule {
diff --git a/pkgs/applications/version-management/sourcehut/core.nix b/pkgs/applications/version-management/sourcehut/core.nix
index 3242b85e378..805da8c3282 100644
--- a/pkgs/applications/version-management/sourcehut/core.nix
+++ b/pkgs/applications/version-management/sourcehut/core.nix
@@ -29,12 +29,12 @@
 
 buildPythonPackage rec {
   pname = "srht";
-  version = "0.68.13";
+  version = "0.68.14";
 
   src = fetchgit {
     url = "https://git.sr.ht/~sircmpwn/core.sr.ht";
     rev = version;
-    sha256 = "sha256-LPyEfpNlmod18Fj16xpihKOrsU/hQUfAeOmWMmUeVPQ=";
+    sha256 = "sha256-BY3W2rwrg0mhH3CltgUqg6Xv8Ve5VZNY/lI1cfbAjYM=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/version-management/sourcehut/git.nix b/pkgs/applications/version-management/sourcehut/git.nix
index e33bb659501..318bee4cf51 100644
--- a/pkgs/applications/version-management/sourcehut/git.nix
+++ b/pkgs/applications/version-management/sourcehut/git.nix
@@ -8,13 +8,13 @@
 , scmsrht
 }:
 let
-  version = "0.76.4";
+  version = "0.77.3";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "git.sr.ht";
     rev = version;
-    sha256 = "sha256-diUkQpB/ivg8JTaoTcSyKr9Q9LZiMo6qVInBDPceklc=";
+    sha256 = "sha256-eJvXCcmdiUzTK0EqNJkLEZsAfr6toD/378HObnMbOWM=";
   };
 
   buildShell = src: buildGoModule {
@@ -48,6 +48,11 @@ buildPythonPackage rec {
   inherit src version;
   pname = "gitsrht";
 
+  patches = [
+    # Revert change breaking Unix socket support for Redis
+    patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch
+  ];
+
   nativeBuildInputs = srht.nativeBuildInputs;
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/version-management/sourcehut/hg.nix b/pkgs/applications/version-management/sourcehut/hg.nix
index 6716f643a7e..f3e778b2f31 100644
--- a/pkgs/applications/version-management/sourcehut/hg.nix
+++ b/pkgs/applications/version-management/sourcehut/hg.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "hgsrht";
-  version = "0.29.3";
+  version = "0.29.4";
 
   src = fetchhg {
     url = "https://hg.sr.ht/~sircmpwn/hg.sr.ht";
     rev = version;
-    sha256 = "y8gKaamwD5lsYqO1SkxMcn3E2TWidHAo2slvEU+8ovg=";
+    sha256 = "Jn9M/R5tJK/GeJDWGo3LWCK2nwsfI9zh+/yo2M+X6Sk=";
   };
 
   nativeBuildInputs = srht.nativeBuildInputs;
diff --git a/pkgs/applications/version-management/sourcehut/lists.nix b/pkgs/applications/version-management/sourcehut/lists.nix
index 3490796dda0..3ba6375a913 100644
--- a/pkgs/applications/version-management/sourcehut/lists.nix
+++ b/pkgs/applications/version-management/sourcehut/lists.nix
@@ -12,15 +12,20 @@
 
 buildPythonPackage rec {
   pname = "listssrht";
-  version = "0.51.0";
+  version = "0.51.7";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "lists.sr.ht";
     rev = version;
-    sha256 = "sha256-iywZ6G5E4AJevg/Q1LoB7JMJxBcsAnbhiND++mFy/bw=";
+    sha256 = "sha256-oNY5A98oVoL2JKO0fU/8YVl8u7ywmHb/RHD8A6z9yIM=";
   };
 
+  patches = [
+    # Revert change breaking Unix socket support for Redis
+    patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch
+  ];
+
   nativeBuildInputs = srht.nativeBuildInputs;
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/version-management/sourcehut/man.nix b/pkgs/applications/version-management/sourcehut/man.nix
index 2d4d152e3aa..8d43f297a4f 100644
--- a/pkgs/applications/version-management/sourcehut/man.nix
+++ b/pkgs/applications/version-management/sourcehut/man.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "mansrht";
-  version = "0.15.22";
+  version = "0.15.23";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "man.sr.ht";
     rev = version;
-    sha256 = "sha256-curouf+eNCKprDI23blGs4AzJMry6zlCLDt/+0j5c8A=";
+    sha256 = "sha256-xrBptXdwMee+YkPup/BYL/iXBhCzSUQ5htSHIw/1Ncc=";
   };
 
   nativeBuildInputs = srht.nativeBuildInputs;
diff --git a/pkgs/applications/version-management/sourcehut/meta.nix b/pkgs/applications/version-management/sourcehut/meta.nix
index 74a00692b6c..ab19cc88d25 100644
--- a/pkgs/applications/version-management/sourcehut/meta.nix
+++ b/pkgs/applications/version-management/sourcehut/meta.nix
@@ -18,19 +18,19 @@
 , python
 }:
 let
-  version = "0.57.2";
+  version = "0.57.5";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "meta.sr.ht";
     rev = version;
-    sha256 = "sha256-+ksfAOuch/fLkFLYU52Ug0Hf0EoERy+oCwa9g+GKuAA=";
+    sha256 = "sha256-qsCwZaCiqvY445U053OCWD98jlIUi9NB2jWVP2oW3Vk=";
   };
 
   buildApi = src: buildGoModule {
     inherit src version;
     pname = "metasrht-api";
-    vendorSha256 = "sha256-vo+YbMyo/Eal7hbFxP9hwIW2cePJcGFszoDRCCzFYdM=";
+    vendorSha256 = "sha256-8Ubrr9qRlgW2wsLHrPHwulSWLz+gp4VPcTvOZpg8TYM=";
   };
 
 in
diff --git a/pkgs/applications/version-management/sourcehut/pages.nix b/pkgs/applications/version-management/sourcehut/pages.nix
index 9b6011d9990..b6a18b5bda7 100644
--- a/pkgs/applications/version-management/sourcehut/pages.nix
+++ b/pkgs/applications/version-management/sourcehut/pages.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "pagessrht";
-  version = "0.5.2";
+  version = "0.6.2";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "pages.sr.ht";
     rev = version;
-    sha256 = "sha256-yEM122uhF0MNkMlNXyvBSfkLogRQETeuBl2K66kivac=";
+    sha256 = "sha256-ob0+t9V2o8lhVC6fXbi1rNm0Mnbs+GoyAmhBqVZ13PA=";
   };
 
-  vendorSha256 = "sha256-udr+1y5ApQCSPhs3yQTTi9QfzRbz0A9COYuFMjQGa74=";
+  vendorSha256 = "sha256-b0sHSH0jkKoIVq045N96wszuLJDegkkj0v50nuDFleU=";
 
   postInstall = ''
     mkdir -p $out/share/sql/
diff --git a/pkgs/applications/version-management/sourcehut/patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch b/pkgs/applications/version-management/sourcehut/patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch
new file mode 100644
index 00000000000..4c526dd23e1
--- /dev/null
+++ b/pkgs/applications/version-management/sourcehut/patches/redis-socket/git/0001-Revert-Add-webhook-queue-monitoring.patch
@@ -0,0 +1,50 @@
+From 5ccb5386304c26f25b0a9eb10ce9edb6da32f91a Mon Sep 17 00:00:00 2001
+From: Julien Moutinho <julm+srht@sourcephile.fr>
+Date: Sat, 12 Feb 2022 00:11:59 +0100
+Subject: [PATCH git.sr.ht] Revert "Add webhook queue monitoring"
+
+This reverts commit 7ea630b776947ab82438d0ffa263b0f9d33ebff3.
+
+Which has broken Unix socket support for Redis.
+See https://lists.sr.ht/~sircmpwn/sr.ht-dev/%3C20211208082636.65665-1-me%40ignaskiela.eu%3E#%3C20211216033723.wefibfulfjhqnhem@sourcephile.fr%3E
+---
+ gitsrht/app.py      | 3 ---
+ gitsrht/webhooks.py | 5 +----
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/gitsrht/app.py b/gitsrht/app.py
+index e9ccb56..4928851 100644
+--- a/gitsrht/app.py
++++ b/gitsrht/app.py
+@@ -48,9 +48,6 @@ class GitApp(ScmSrhtFlask):
+         self.add_template_filter(url_quote)
+         self.add_template_filter(commit_links)
+ 
+-        from gitsrht.webhooks import webhook_metrics_collector
+-        self.metrics_registry.register(webhook_metrics_collector)
+-
+         @self.context_processor
+         def inject():
+             notice = session.get("notice")
+diff --git a/gitsrht/webhooks.py b/gitsrht/webhooks.py
+index 8a203fe..6240d50 100644
+--- a/gitsrht/webhooks.py
++++ b/gitsrht/webhooks.py
+@@ -7,13 +7,10 @@ if not hasattr(db, "session"):
+     db.init()
+ from srht.webhook import Event
+ from srht.webhook.celery import CeleryWebhook, make_worker
+-from srht.metrics import RedisQueueCollector
+ from scmsrht.webhooks import UserWebhook
+ import sqlalchemy as sa
+ 
+-webhook_broker = cfg("git.sr.ht", "webhooks")
+-worker = make_worker(broker=webhook_broker)
+-webhook_metrics_collector = RedisQueueCollector(webhook_broker, "srht_webhooks", "Webhook queue length")
++worker = make_worker(broker=cfg("git.sr.ht", "webhooks"))
+ 
+ class RepoWebhook(CeleryWebhook):
+     events = [
+-- 
+2.34.1
+
diff --git a/pkgs/applications/version-management/sourcehut/patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch b/pkgs/applications/version-management/sourcehut/patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch
new file mode 100644
index 00000000000..872d285b9bb
--- /dev/null
+++ b/pkgs/applications/version-management/sourcehut/patches/redis-socket/lists/0001-Revert-Add-webhook-queue-monitoring.patch
@@ -0,0 +1,48 @@
+From 730e090f31b150d42be4b4722751f8e4610835b0 Mon Sep 17 00:00:00 2001
+From: Julien Moutinho <julm+srht@sourcephile.fr>
+Date: Sat, 12 Feb 2022 00:38:12 +0100
+Subject: [PATCH lists.sr.ht] Revert "Add webhook queue monitoring"
+
+This reverts commit e74e344808e8d523a9786cefcbf64c9a247d7a0e.
+
+Which has broken Unix socket support for Redis.
+See https://lists.sr.ht/~sircmpwn/sr.ht-dev/%3C20211208082636.65665-1-me%40ignaskiela.eu%3E#%3C20211216033723.wefibfulfjhqnhem@sourcephile.fr%3E
+---
+ listssrht/app.py      | 3 ---
+ listssrht/webhooks.py | 5 +----
+ 2 files changed, 1 insertion(+), 7 deletions(-)
+
+diff --git a/listssrht/app.py b/listssrht/app.py
+index aec59f3..83a355d 100644
+--- a/listssrht/app.py
++++ b/listssrht/app.py
+@@ -29,9 +29,6 @@ class ListsApp(SrhtFlask):
+         self.register_blueprint(user)
+         self.register_blueprint(gql_blueprint)
+ 
+-        from listssrht.webhooks import webhook_metrics_collector
+-        self.metrics_registry.register(webhook_metrics_collector)
+-
+         @self.context_processor
+         def inject():
+             from listssrht.types import ListAccess
+diff --git a/listssrht/webhooks.py b/listssrht/webhooks.py
+index ae5b1cb..86421ba 100644
+--- a/listssrht/webhooks.py
++++ b/listssrht/webhooks.py
+@@ -8,11 +8,8 @@ if not hasattr(db, "session"):
+     db.init()
+ from srht.webhook import Event
+ from srht.webhook.celery import CeleryWebhook, make_worker
+-from srht.metrics import RedisQueueCollector
+ 
+-webhook_broker = cfg("lists.sr.ht", "webhooks")
+-worker = make_worker(broker=webhook_broker)
+-webhook_metrics_collector = RedisQueueCollector(webhook_broker, "srht_webhooks", "Webhook queue length")
++worker = make_worker(broker=cfg("lists.sr.ht", "webhooks"))
+ 
+ class ListWebhook(CeleryWebhook):
+     events = [
+-- 
+2.34.1
+
diff --git a/pkgs/applications/version-management/sourcehut/patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch b/pkgs/applications/version-management/sourcehut/patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch
new file mode 100644
index 00000000000..861608c1184
--- /dev/null
+++ b/pkgs/applications/version-management/sourcehut/patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch
@@ -0,0 +1,50 @@
+From 42a27ea60d8454552d54e1f51f1b976d1067fc32 Mon Sep 17 00:00:00 2001
+From: Julien Moutinho <julm+srht@sourcephile.fr>
+Date: Sat, 12 Feb 2022 00:30:29 +0100
+Subject: [PATCH todo.sr.ht] Revert "Add webhook queue monitoring"
+
+This reverts commit 320a5e8f7cd16ca43928c36f0320593f84d986fa.
+
+Which has broken Unix socket support for Redis.
+See https://lists.sr.ht/~sircmpwn/sr.ht-dev/%3C20211208082636.65665-1-me%40ignaskiela.eu%3E#%3C20211216033723.wefibfulfjhqnhem@sourcephile.fr%3E
+---
+ todosrht/flask.py    | 3 ---
+ todosrht/webhooks.py | 6 +-----
+ 2 files changed, 1 insertion(+), 8 deletions(-)
+
+diff --git a/todosrht/flask.py b/todosrht/flask.py
+index 5e8ac66..9d0fd27 100644
+--- a/todosrht/flask.py
++++ b/todosrht/flask.py
+@@ -43,9 +43,6 @@ class TodoApp(SrhtFlask):
+         self.add_template_filter(urls.tracker_url)
+         self.add_template_filter(urls.user_url)
+ 
+-        from todosrht.webhooks import webhook_metrics_collector
+-        self.metrics_registry.register(webhook_metrics_collector)
+-
+         @self.context_processor
+         def inject():
+             return {
+diff --git a/todosrht/webhooks.py b/todosrht/webhooks.py
+index eb8e08a..950047f 100644
+--- a/todosrht/webhooks.py
++++ b/todosrht/webhooks.py
+@@ -7,13 +7,9 @@ if not hasattr(db, "session"):
+     db.init()
+ from srht.webhook import Event
+ from srht.webhook.celery import CeleryWebhook, make_worker
+-from srht.metrics import RedisQueueCollector
+ import sqlalchemy as sa
+ 
+-
+-webhooks_broker = cfg("todo.sr.ht", "webhooks")
+-worker = make_worker(broker=webhooks_broker)
+-webhook_metrics_collector = RedisQueueCollector(webhooks_broker, "srht_webhooks", "Webhook queue length")
++worker = make_worker(broker=cfg("todo.sr.ht", "webhooks"))
+ 
+ import todosrht.tracker_import
+ 
+-- 
+2.34.1
+
diff --git a/pkgs/applications/version-management/sourcehut/scm.nix b/pkgs/applications/version-management/sourcehut/scm.nix
index 9fbaa8c9245..10da3018843 100644
--- a/pkgs/applications/version-management/sourcehut/scm.nix
+++ b/pkgs/applications/version-management/sourcehut/scm.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "scmsrht";
-  version = "0.22.16"; # Untagged version
+  version = "0.22.19"; # Untagged version
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "scm.sr.ht";
     rev = version;
-    sha256 = "sha256-A4Q7wUc4ag7KRWOkdYXCsbzuFHyJJsM15OjrCoVt9UQ=";
+    sha256 = "sha256-/QryPjWJ2S0Ov9DTdrwbM81HYucHiYcLh0oKacflywI=";
   };
 
   nativeBuildInputs = srht.nativeBuildInputs;
diff --git a/pkgs/applications/version-management/sourcehut/todo.nix b/pkgs/applications/version-management/sourcehut/todo.nix
index da31ba24073..1446e68fa69 100644
--- a/pkgs/applications/version-management/sourcehut/todo.nix
+++ b/pkgs/applications/version-management/sourcehut/todo.nix
@@ -12,15 +12,20 @@
 
 buildPythonPackage rec {
   pname = "todosrht";
-  version = "0.66.1";
+  version = "0.67.2";
 
   src = fetchFromSourcehut {
     owner = "~sircmpwn";
     repo = "todo.sr.ht";
     rev = version;
-    sha256 = "sha256-P0xaQpK7O9zipGSIa5jL1O0L/fKt51EMNGt7XndYQ+g=";
+    sha256 = "sha256-/QHsMlhzyah85ubZyx8j4GDUoITuWcLDJKosbZGeOZU=";
   };
 
+  patches = [
+    # Revert change breaking Unix socket support for Redis
+    patches/redis-socket/todo/0001-Revert-Add-webhook-queue-monitoring.patch
+  ];
+
   nativeBuildInputs = srht.nativeBuildInputs;
 
   propagatedBuildInputs = [
diff --git a/pkgs/applications/video/clipgrab/default.nix b/pkgs/applications/video/clipgrab/default.nix
index 287557d6f53..9a1940cffc7 100644
--- a/pkgs/applications/video/clipgrab/default.nix
+++ b/pkgs/applications/video/clipgrab/default.nix
@@ -1,6 +1,7 @@
 { lib, fetchurl, makeDesktopItem, ffmpeg
 , qmake, qttools, mkDerivation
 , qtbase, qtdeclarative, qtlocation, qtquickcontrols2, qtwebchannel, qtwebengine
+, yt-dlp
 }:
 
 mkDerivation rec {
@@ -16,7 +17,15 @@ mkDerivation rec {
   buildInputs = [ ffmpeg qtbase qtdeclarative qtlocation qtquickcontrols2 qtwebchannel qtwebengine ];
   nativeBuildInputs = [ qmake qttools ];
 
-  postPatch = lib.optionalString (ffmpeg != null) ''
+  patches = [
+    ./yt-dlp-path.patch
+  ];
+
+  postPatch = ''
+  substituteInPlace youtube_dl.cpp \
+    --replace 'QString YoutubeDl::path = QString();' \
+              'QString YoutubeDl::path = QString("${yt-dlp}/bin/yt-dlp");'
+  '' + lib.optionalString (ffmpeg != null) ''
   substituteInPlace converter_ffmpeg.cpp \
     --replace '"ffmpeg"' '"${ffmpeg.bin}/bin/ffmpeg"' \
     --replace '"ffmpeg ' '"${ffmpeg.bin}/bin/ffmpeg '
@@ -31,7 +40,7 @@ mkDerivation rec {
     desktopName = "ClipGrab";
     comment = meta.description;
     genericName = "Web video downloader";
-    categories = "Qt;AudioVideo;Audio;Video";
+    categories = [ "Qt" "AudioVideo" "Audio" "Video" ];
   };
 
   installPhase = ''
diff --git a/pkgs/applications/video/clipgrab/yt-dlp-path.patch b/pkgs/applications/video/clipgrab/yt-dlp-path.patch
new file mode 100644
index 00000000000..5a9a4b6dcc4
--- /dev/null
+++ b/pkgs/applications/video/clipgrab/yt-dlp-path.patch
@@ -0,0 +1,86 @@
+--- a/main.cpp
++++ b/main.cpp
+@@ -91,14 +91,5 @@ int main(int argc, char *argv[])
+         w.show();
+     }
+ 
+-    QTimer::singleShot(0, [=] {
+-       cg->getUpdateInfo();
+-       QObject::connect(cg, &ClipGrab::updateInfoProcessed, [cg] {
+-           bool force = QSettings().value("forceYoutubeDlDownload", false).toBool();
+-           if (force) QSettings().setValue("forceYoutubeDlDownload", false);
+-           cg->downloadYoutubeDl(force);
+-       });
+-    });
+-
+     return app.exec();
+ }
+--- a/youtube_dl.cpp
++++ b/youtube_dl.cpp
+@@ -8,52 +8,16 @@ YoutubeDl::YoutubeDl()
+ QString YoutubeDl::path = QString();
+ 
+ QString YoutubeDl::find(bool force) {
+-    if (!force && !path.isEmpty()) return path;
+-
+-    // Prefer downloaded youtube-dl
+-    QString localPath = QStandardPaths::locate(QStandardPaths::AppDataLocation, "yt-dlp");
+-    QProcess* process = instance(localPath, QStringList() << "--version");
+-    process->start();
+-    process->waitForFinished();
+-    process->deleteLater();
+-    if (process->state() != QProcess::NotRunning) process->kill();
+-    if (process->exitCode() == QProcess::ExitStatus::NormalExit) {
+-        path = localPath;
+-        return path;
+-    }
+-
+-    // Try system-wide youtube-dlp installation
+-    QString globalPath = QStandardPaths::findExecutable("yt-dlp");
+-    process = instance(globalPath, QStringList() << "--version");
+-    process->start();
+-    process->waitForFinished();
+-    process->deleteLater();
+-    if (process->state() != QProcess::NotRunning) process->kill();
+-    if (process->exitCode() == QProcess::ExitStatus::NormalExit) {
+-        path = globalPath;
+-        return path;
+-    }
+-
+-    return "";
++    // We supply yt-dlp from nixpkgs, so the downloading
++    // machinery is not needed anymore.
++    (void)force;
++    return path;
+ }
+ 
+ QProcess* YoutubeDl::instance(QStringList arguments) {
+-    return instance(find(), arguments);
+-}
+-
+-QProcess* YoutubeDl::instance(QString path, QStringList arguments) {
+     QProcess *process = new QProcess();
+ 
+-    QString execPath = QCoreApplication::applicationDirPath();
+-    QProcessEnvironment env = QProcessEnvironment::systemEnvironment();
+-    env.insert("PATH", execPath + ":" + env.value("PATH"));
+-    process->setEnvironment(env.toStringList());
+-
+-    #if defined Q_OS_WIN
+-        process->setProgram(execPath + "/python/python.exe");
+-    #else
+-        process->setProgram(QStandardPaths::findExecutable("python3"));
+-    #endif
++    process->setProgram(path);
+ 
+     QSettings settings;
+     QStringList proxyArguments;
+@@ -81,7 +45,7 @@ QProcess* YoutubeDl::instance(QString path, QStringList arguments) {
+         networkArguments << "--force-ipv4";
+     }
+ 
+-    process->setArguments(QStringList() << path << arguments << proxyArguments << networkArguments);
++    process->setArguments(QStringList() << arguments << proxyArguments << networkArguments);
+     return process;
+ }
+ 
diff --git a/pkgs/applications/video/droidcam/default.nix b/pkgs/applications/video/droidcam/default.nix
index 066c17f1069..67f098c97fb 100644
--- a/pkgs/applications/video/droidcam/default.nix
+++ b/pkgs/applications/video/droidcam/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "droidcam";
-  version = "1.8.1";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "aramg";
     repo = "droidcam";
     rev = "v${version}";
-    sha256 = "sha256-3iA7GDTiCx5vHawj8ZBFAK0BIfmxEFuQrVfL7Gi6FhM=";
+    sha256 = "sha256-AxJBpoiBnb+5Pq/h4giOYAeLlvOtAJT5sCwzPEKo7w4=";
   };
 
   nativeBuildInputs = [
@@ -30,7 +30,10 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace src/droidcam.c \
-      --replace "/opt/droidcam-icon.png" "$out/share/icons/hicolor/droidcam.png"
+      --replace "/opt/droidcam-icon.png" "$out/share/icons/hicolor/96x96/apps/droidcam.png"
+    substituteInPlace droidcam.desktop \
+      --replace "/opt/droidcam-icon.png" "droidcam" \
+      --replace "/usr/local/bin/droidcam" "droidcam"
   '';
 
   preBuild = ''
@@ -42,7 +45,8 @@ stdenv.mkDerivation rec {
     runHook preInstall
 
     install -Dt $out/bin droidcam droidcam-cli
-    install -D icon2.png $out/share/icons/hicolor/droidcam.png
+    install -D icon2.png $out/share/icons/hicolor/96x96/apps/droidcam.png
+    install -D droidcam.desktop $out/share/applications/droidcam.desktop
 
     runHook postInstall
   '';
diff --git a/pkgs/applications/video/dvdstyler/default.nix b/pkgs/applications/video/dvdstyler/default.nix
index 81f3cac73e1..8d42c2b2bfd 100644
--- a/pkgs/applications/video/dvdstyler/default.nix
+++ b/pkgs/applications/video/dvdstyler/default.nix
@@ -3,17 +3,21 @@
 , fetchurl
 , bison
 , cdrtools
-, docbook5
+, docbook_xml_dtd_412
+, docbook-xsl-nons
 , dvdauthor
 , dvdplusrwtools
 , ffmpeg
 , flex
 , fontconfig
 , gettext
+, glib
+, gobject-introspection
 , libexif
-, makeWrapper
+, libjpeg
 , pkg-config
-, wxGTK30
+, wrapGAppsHook
+, wxGTK30-gtk3 # crash with wxGTK30 with GTK2 compat
 , wxSVG
 , xine-ui
 , xmlto
@@ -37,43 +41,50 @@ in stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [
+    bison
+    docbook_xml_dtd_412
+    docbook-xsl-nons
+    flex
+    gettext
+    gobject-introspection
     pkg-config
+    wrapGAppsHook
+    xmlto
+    zip
   ];
   buildInputs = [
-    bison
     cdrtools
-    docbook5
     dvdauthor
     dvdplusrwtools
     ffmpeg
-    flex
     fontconfig
-    gettext
+    glib
     libexif
-    makeWrapper
+    libjpeg
     wxSVG
-    wxGTK30
+    wxGTK30-gtk3
     xine-ui
-    xmlto
-    zip
  ]
   ++ optionals dvdisasterSupport [ dvdisaster ]
   ++ optionals udevSupport [ udev ]
   ++ optionals dbusSupport [ dbus ]
   ++ optionals thumbnailSupport [ libgnomeui ];
 
+  enableParallelBuilding = true;
 
-  postInstall = let
-    binPath = makeBinPath [
+  preFixup = let
+    binPath = makeBinPath ([
       cdrtools
       dvdauthor
       dvdplusrwtools
-    ]; in
+    ] ++ optionals dvdisasterSupport [ dvdisaster ]);
+    in
     ''
-       wrapProgram $out/bin/dvdstyler --prefix PATH ":" "${binPath}"
-    '';
+      gappsWrapperArgs+=(
+        --prefix PATH : "${binPath}"
+      )
+   '';
 
-  enableParallelBuilding = true;
 
   meta = with lib; {
     homepage = "https://www.dvdstyler.org/";
diff --git a/pkgs/applications/video/epgstation/update.nix b/pkgs/applications/video/epgstation/update.nix
index 9faa83c64f9..5c2fbe66f04 100644
--- a/pkgs/applications/video/epgstation/update.nix
+++ b/pkgs/applications/video/epgstation/update.nix
@@ -13,7 +13,7 @@ let
     inherit pname version;
     attrPath = lib.toLower pname;
     rev-prefix = "v";
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${homepage}";
+    versionLister = "${common-updater-scripts}/bin/list-git-tags --url=${homepage}";
   };
   updateScript = builtins.elemAt updater 0;
   updateArgs = map (lib.escapeShellArg) (builtins.tail updater);
diff --git a/pkgs/applications/video/f1viewer/default.nix b/pkgs/applications/video/f1viewer/default.nix
index b00d2d8275b..33e1863428e 100644
--- a/pkgs/applications/video/f1viewer/default.nix
+++ b/pkgs/applications/video/f1viewer/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "f1viewer";
-  version = "2.4.0";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "SoMuchForSubtlety";
     repo = pname;
     rev = "v${version}";
-    sha256 = "7eXRUG74l9+9nU7EmDvNcHc+2pg5+/amjqtrzT60f94=";
+    sha256 = "sha256-cTXueIOD+OXx4WikhdNv3v/F2/f5aDicyPP7FgTU6AM=";
   };
 
-  vendorSha256 = "4pQ8NT0mh3w7naHEHh2w6Csop0uitlWClZ95VlYaPW0=";
+  vendorSha256 = "sha256-47uLx4t0N1T3zqZ9o/su/onJEUdGXpq+iVSUaRnwW3I=";
 
   meta = with lib; {
     description =
diff --git a/pkgs/applications/video/ffmpeg-normalize/default.nix b/pkgs/applications/video/ffmpeg-normalize/default.nix
index 5e725ec01e1..28a974a7cc6 100644
--- a/pkgs/applications/video/ffmpeg-normalize/default.nix
+++ b/pkgs/applications/video/ffmpeg-normalize/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonApplication rec {
   pname = "ffmpeg-normalize";
-  version = "1.22.5";
+  version = "1.22.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "20250fc28ce04636580577b2864e54e6bea9daf68e2d8afaeb78e131b182cd28";
+    sha256 = "sha256-aPPRzNotm3ATL0lEq+49lrlrHoNp+Dm1Im5jYF4E1vY=";
   };
 
   propagatedBuildInputs = [ ffmpeg ffmpeg-progress-yield ];
diff --git a/pkgs/applications/video/freetube/default.nix b/pkgs/applications/video/freetube/default.nix
index c5a2a313860..8b90704a535 100644
--- a/pkgs/applications/video/freetube/default.nix
+++ b/pkgs/applications/video/freetube/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "freetube";
-  version = "0.15.1";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "https://github.com/FreeTubeApp/FreeTube/releases/download/v${version}-beta/freetube_${version}_amd64.AppImage";
-    sha256 = "sha256-7jmKD6HjsTqW/SRmD4xI3uQJnwmyDgjJZRJX9XygZyU=";
+    sha256 = "sha256-G4lZ1lbNN8X9ocWhcuuNZGTZm9AUzuWKVm23YgsJwig=";
   };
 
   appimageContents = appimageTools.extractType2 {
diff --git a/pkgs/applications/video/gpac/default.nix b/pkgs/applications/video/gpac/default.nix
index 6597b5fbffe..6fd7a2036c5 100644
--- a/pkgs/applications/video/gpac/default.nix
+++ b/pkgs/applications/video/gpac/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, pkg-config, zlib }:
 
 stdenv.mkDerivation rec {
-  version = "1.0.1";
+  version = "2.0.0";
   pname = "gpac";
 
   src = fetchFromGitHub {
     owner = "gpac";
     repo = "gpac";
     rev = "v${version}";
-    sha256 = "0gj46jpprfqv3wyagblv3a52chbplyzhvpra66v63czjibqsslm5";
+    sha256 = "sha256-MIX32lSqf/lrz9240h4wMIQp/heUmwvDJz8WN08yf6c=";
   };
 
   postPatch = ''
diff --git a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
index 9fc59b2d329..b16bab1b217 100644
--- a/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstream-adaptive/default.nix
@@ -2,13 +2,13 @@
 buildKodiBinaryAddon rec {
   pname = "inputstream-adaptive";
   namespace = "inputstream.adaptive";
-  version = "19.0.1";
+  version = "19.0.3";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = "inputstream.adaptive";
     rev = "${version}-${rel}";
-    sha256 = "sha256-KMEo7kXyFMEeUR/HRvXpUhwDFlWsuwYZFA6bA3W1AmY=";
+    sha256 = "sha256-YYIPPxM8zVIugqLz0YntVZt1N+dReH+7V1Lkeif2wIY=";
   };
 
   extraNativeBuildInputs = [ gtest ];
diff --git a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
index 313456bbfa7..78b6ea5ac1d 100644
--- a/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
+++ b/pkgs/applications/video/kodi/addons/inputstream-ffmpegdirect/default.nix
@@ -3,13 +3,13 @@
 buildKodiBinaryAddon rec {
   pname = "inputstream-ffmpegdirect";
   namespace = "inputstream.ffmpegdirect";
-  version = "19.0.0";
+  version = "19.0.1";
 
   src = fetchFromGitHub {
     owner = "xbmc";
     repo = "inputstream.ffmpegdirect";
     rev = "${version}-${rel}";
-    sha256 = "sha256-qdN2tmwS6uD9wrHnKC3iNvHnA2WlJAoNhdwvw16/L0U=";
+    sha256 = "sha256-yVMo3cRsIww1y0jGrqRag2Bc1x98+e86AHlnY1O9klE=";
   };
 
   extraBuildInputs = [ bzip2 zlib kodi.ffmpeg ];
diff --git a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
index e64f8c60e5c..4b13e4a617e 100644
--- a/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
+++ b/pkgs/applications/video/kodi/addons/pvr-hts/default.nix
@@ -2,13 +2,13 @@
 buildKodiBinaryAddon rec {
   pname = "pvr-hts";
   namespace = "pvr.hts";
-  version = "19.0.4";
+  version = "19.0.6";
 
   src = fetchFromGitHub {
     owner = "kodi-pvr";
     repo = "pvr.hts";
     rev = "${version}-${rel}";
-    sha256 = "sha256-WP/eaE3qO0NqN23dHkFOiOjoeKIglbbHofqnUsfxSfI=";
+    sha256 = "sha256-Lc3B1TdQ4oQIEIyKuQju+5cpInF5i2u4WFe3okFhe+I=";
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
index 5aefffabc32..89aa3c7d358 100644
--- a/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
+++ b/pkgs/applications/video/kodi/addons/pvr-iptvsimple/default.nix
@@ -6,13 +6,13 @@
 buildKodiBinaryAddon rec {
   pname = "pvr-iptvsimple";
   namespace = "pvr.iptvsimple";
-  version = "19.0.3";
+  version = "19.1.0";
 
   src = fetchFromGitHub {
     owner = "kodi-pvr";
     repo = "pvr.iptvsimple";
     rev = "${version}-${rel}";
-    sha256 = "sha256-LQP+yPHPOjgvW7LQmqrp15NWFBVdnrGOSGm37N8AsHg=";
+    sha256 = "sha256-APRj/Z/GtRXNSVX5kB0o09FTa9me2ESzrZ/Q+QNrw0w=";
   };
 
   extraBuildInputs = [
diff --git a/pkgs/applications/video/lbry/default.nix b/pkgs/applications/video/lbry/default.nix
index 0f7438e392c..460b0a17668 100644
--- a/pkgs/applications/video/lbry/default.nix
+++ b/pkgs/applications/video/lbry/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "lbry-desktop";
-  version = "0.52.0";
+  version = "0.52.4";
 in appimageTools.wrapAppImage rec {
   name = "${pname}-${version}";
 
@@ -12,7 +12,7 @@ in appimageTools.wrapAppImage rec {
     src = fetchurl {
       url = "https://github.com/lbryio/lbry-desktop/releases/download/v${version}/LBRY_${version}.AppImage";
       # Gotten from latest-linux.yml
-      sha512 = "FMsO1tUhym11hxot/0S4pXwjvt1YhOUahwiQU+HhOxrZhcrOwwyXUzMy3sAzKdZjidKpA5DbLjkgwPlg2kGWwg==";
+      sha512 = "TWRFCVktSKs5PORtm8FvM6qNWuiL/1HN98ilr1busVUGvain0QXGZwB/Dzvsox1c+X9VofUdapzozSOT6r58qw==";
     };
   };
 
diff --git a/pkgs/applications/video/minitube/default.nix b/pkgs/applications/video/minitube/default.nix
index 4e8373383a8..eda58349bd8 100644
--- a/pkgs/applications/video/minitube/default.nix
+++ b/pkgs/applications/video/minitube/default.nix
@@ -6,10 +6,10 @@
 
 mkDerivation rec {
   pname = "minitube";
-  version = "3.9.2";
+  version = "3.9.3";
 
   src = fetchFromGitHub {
-    sha256 = "sha256-MIzfo17eAvpWO2HNq9z+D9XiOKTRiUHvaOdxI1EK1f0=";
+    sha256 = "sha256-ROqROQsV8ddrxYT5mMdkf6rCgCoGr1jpxQ1ohcoEaQs=";
     rev = version;
     repo = "minitube";
     owner = "flaviotordini";
diff --git a/pkgs/applications/video/mirakurun/update.nix b/pkgs/applications/video/mirakurun/update.nix
index ccea2279783..18a4d0ab256 100644
--- a/pkgs/applications/video/mirakurun/update.nix
+++ b/pkgs/applications/video/mirakurun/update.nix
@@ -17,7 +17,7 @@ let
 
     # exclude prerelease versions
     versionLister = writers.writeBash "list-mirakurun-versions" ''
-      ${common-updater-scripts}/bin/list-git-tags ${homepage} \
+      ${common-updater-scripts}/bin/list-git-tags --url=${homepage} \
         | grep '^[0-9]\+\.[0-9]\+\.[0-9]\+$'
     '';
   };
diff --git a/pkgs/applications/video/mkvtoolnix/default.nix b/pkgs/applications/video/mkvtoolnix/default.nix
index 04911562a34..0928c7617f9 100644
--- a/pkgs/applications/video/mkvtoolnix/default.nix
+++ b/pkgs/applications/video/mkvtoolnix/default.nix
@@ -47,13 +47,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mkvtoolnix";
-  version = "64.0.0";
+  version = "65.0.0";
 
   src = fetchFromGitLab {
     owner = "mbunkus";
     repo = "mkvtoolnix";
     rev = "release-${version}";
-    sha256 = "sha256-tg9rjTbprcVkzUUVWCKqF1dzIjFKjzIqrVADtuUU9Fk=";
+    sha256 = "1zphcpfrzic9ialx3xxi2ywzxnllys667vy140bgdshzr798sg2p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/mplayer/default.nix b/pkgs/applications/video/mplayer/default.nix
index 1715ce4a6a1..0c435bfbe15 100644
--- a/pkgs/applications/video/mplayer/default.nix
+++ b/pkgs/applications/video/mplayer/default.nix
@@ -1,4 +1,4 @@
-{ config, lib, stdenv, fetchurl, pkg-config, freetype, yasm, ffmpeg
+{ config, lib, stdenv, fetchurl, fetchsvn, pkg-config, freetype, yasm, ffmpeg
 , aalibSupport ? true, aalib ? null
 , fontconfigSupport ? true, fontconfig ? null, freefont_ttf ? null
 , fribidiSupport ? true, fribidi ? null
@@ -93,11 +93,12 @@ in
 
 stdenv.mkDerivation rec {
   pname = "mplayer";
-  version = "1.4";
+  version = "unstable-2022-02-03";
 
-  src = fetchurl {
-    url = "http://www.mplayerhq.hu/MPlayer/releases/MPlayer-${version}.tar.xz";
-    sha256 = "0j5mflr0wnklxsvnpmxvk704hscyn2785hvvihj2i3a7b3anwnc2";
+  src = fetchsvn {
+    url = "svn://svn.mplayerhq.hu/mplayer/trunk";
+    rev = "38331";
+    sha256 = "1vpic8i6zvg0zsy50vhm45ysqag561bpn9jycfbvvwl9ji7l55zi";
   };
 
   prePatch = ''
@@ -106,8 +107,6 @@ stdenv.mkDerivation rec {
     rm -rf ffmpeg
   '';
 
-  patches = [ ./svn-r38199-ffmpeg44fix.patch ];
-
   depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ pkg-config yasm ];
   buildInputs = with lib;
@@ -163,7 +162,6 @@ stdenv.mkDerivation rec {
     (if pulseSupport then "--enable-pulse" else "--disable-pulse")
     (if v4lSupport then "--enable-v4l2 --enable-tv-v4l2" else "--disable-v4l2 --disable-tv-v4l2")
     "--disable-xanim"
-    "--disable-ivtv"
     "--disable-xvid --disable-xvid-lavc"
     "--disable-ossaudio"
     "--disable-ffmpeg_a"
diff --git a/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch b/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch
deleted file mode 100644
index 4137989fcb5..00000000000
--- a/pkgs/applications/video/mplayer/svn-r38199-ffmpeg44fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-Index: libmpcodecs/ad_spdif.c
-===================================================================
-diff --git a/libmpcodecs/ad_spdif.c b/libmpcodecs/ad_spdif.c
---- a/libmpcodecs/ad_spdif.c	(revision 38198)
-+++ b/libmpcodecs/ad_spdif.c	(revision 38199)
-@@ -298,14 +298,8 @@
-         if (spdif_ctx->header_written)
-             av_write_trailer(lavf_ctx);
-         av_freep(&lavf_ctx->pb);
--        if (lavf_ctx->streams) {
--            av_freep(&lavf_ctx->streams[0]->codec);
--            av_freep(&lavf_ctx->streams[0]->info);
--            av_freep(&lavf_ctx->streams[0]);
--        }
--        av_freep(&lavf_ctx->streams);
--        av_freep(&lavf_ctx->priv_data);
-+        avformat_free_context(lavf_ctx);
-+        lavf_ctx = NULL;
-     }
--    av_freep(&lavf_ctx);
-     av_freep(&spdif_ctx);
- }
diff --git a/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch b/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch
deleted file mode 100644
index 0bc79624860..00000000000
--- a/pkgs/applications/video/obs-studio/Change-product_version-to-user_agent_product.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From 635772c4c5ecf11a0f84e6c9fc273dce6b9a5688 Mon Sep 17 00:00:00 2001
-From: V <v@anomalous.eu>
-Date: Thu, 10 Jun 2021 18:36:22 +0200
-Subject: [PATCH] Change product_version to user_agent_product
-
-This is its name as of CEF 91.1.0.
----
- obs-browser-plugin.cpp | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/obs-browser-plugin.cpp b/obs-browser-plugin.cpp
-index 1a6a009..5eb379e 100644
---- a/plugins/obs-browser/obs-browser-plugin.cpp
-+++ b/plugins/obs-browser/obs-browser-plugin.cpp
-@@ -298,7 +298,7 @@ static void BrowserInit(void)
- 	prod_ver << std::to_string(obs_maj) << "." << std::to_string(obs_min)
- 		 << "." << std::to_string(obs_pat);
- 
--	CefString(&settings.product_version) = prod_ver.str();
-+	CefString(&settings.user_agent_product) = prod_ver.str();
- 
- #ifdef USE_QT_LOOP
- 	settings.external_message_pump = true;
--- 
-2.31.1
-
diff --git a/pkgs/applications/video/obs-studio/default.nix b/pkgs/applications/video/obs-studio/default.nix
index 31f478c47c0..22c206dfe03 100644
--- a/pkgs/applications/video/obs-studio/default.nix
+++ b/pkgs/applications/video/obs-studio/default.nix
@@ -6,7 +6,7 @@
 , addOpenGLRunpath
 , cmake
 , fdk_aac
-, ffmpeg
+, ffmpeg_4
 , jansson
 , libjack2
 , libxkbcommon
@@ -34,8 +34,10 @@
 , pulseaudioSupport ? config.pulseaudio or stdenv.isLinux
 , libpulseaudio
 , libcef
+, pciutils
 , pipewireSupport ? stdenv.isLinux
 , pipewire
+, libdrm
 }:
 
 let
@@ -44,22 +46,19 @@ let
 in
 mkDerivation rec {
   pname = "obs-studio";
-  version = "27.0.1";
+  version = "27.2.1";
 
   src = fetchFromGitHub {
     owner = "obsproject";
     repo = "obs-studio";
     rev = version;
-    sha256 = "04fzsr9yizmxy0r7z2706crvnsnybpnv5kgfn77znknxxjacfhkn";
+    sha256 = "sha256-RHPzSw7wjnAHk90N7g53LyIH3ozO/hyZV5hVZpZe+Ow=";
     fetchSubmodules = true;
   };
 
   patches = [
     # Lets obs-browser build against CEF 90.1.0+
     ./Enable-file-access-and-universal-access-for-file-URL.patch
-
-    # Lets obs-browser build against CEF 91.1.0+
-    ./Change-product_version-to-user_agent_product.patch
   ];
 
   nativeBuildInputs = [
@@ -73,7 +72,7 @@ mkDerivation rec {
   buildInputs = [
     curl
     fdk_aac
-    ffmpeg
+    ffmpeg_4
     jansson
     libcef
     libjack2
@@ -89,11 +88,12 @@ mkDerivation rec {
     x264
     libvlc
     mbedtls
+    pciutils
   ]
   ++ optionals scriptingSupport [ luajit python3 ]
   ++ optional alsaSupport alsa-lib
   ++ optional pulseaudioSupport libpulseaudio
-  ++ optional pipewireSupport pipewire;
+  ++ optionals pipewireSupport [ pipewire libdrm ];
 
   # Copied from the obs-linuxbrowser
   postUnpack = ''
@@ -143,5 +143,6 @@ mkDerivation rec {
     maintainers = with maintainers; [ jb55 MP2E V ];
     license = licenses.gpl2Plus;
     platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
+    mainProgram = "obs";
   };
 }
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
index c78a8236bf2..a6c84cbbbef 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-multi-rtmp.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "obs-multi-rtmp";
-  version = "0.2.7.1";
+  version = "0.2.8.1";
 
   src = fetchFromGitHub {
     owner = "sorayuki";
     repo = "obs-multi-rtmp";
     rev = version;
-    sha256 = "sha256-pnSIbAWGufcWIARXpX/zwA/Ff35lrinFaMIdFY00c4Y=";
+    sha256 = "sha256-OhatuSlDJ2VDNorM4QfoKPYKyv5YpN8EnIelLdBTlZ0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
index 5c13d33ae46..d747268cc55 100644
--- a/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
+++ b/pkgs/applications/video/obs-studio/plugins/obs-websocket.nix
@@ -4,24 +4,48 @@
 , fetchpatch
 , cmake
 , qtbase
+, qtsvg
 , obs-studio
 , asio_1_10
 , websocketpp
+, nlohmann_json
 }:
 
 stdenv.mkDerivation rec {
   pname = "obs-websocket";
-  version = "4.9.1";
+
+  # We have updated to the alpha version when OBS Studio 27.2 was
+  # released, because this is the only version of obs-websocket that
+  # builds against the new OBS Studio.
+  version = "5.0.0-alpha3";
 
   src = fetchFromGitHub {
     owner = "Palakis";
     repo = "obs-websocket";
     rev = version;
-    sha256 = "sha256-XCiSNWTiA/u+3IbYlhIc5bCjKjLHDRVjYIG5MEoYnr0=";
+    sha256 = "Lr6SBj5rRTAWmn9Tnlu4Sl7SAkOCRCTP6sFWSp4xB+I=";
+    fetchSubmodules = true;
   };
 
+  patches = [
+    # This patch can be dropped when obs-websocket is updated to the
+    # next version.
+    (fetchpatch {
+      url = "https://github.com/obsproject/obs-websocket/commit/13c7b83c34eb67b2ee80af05071d81f10d0d2997.patch";
+      sha256 = "TNap/T8+058vhfWzRRr4vmlblFk9tHMUNyG6Ob5PwiM=";
+      name = "obs-addref-werror-fix.patch";
+    })
+  ];
+
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ qtbase obs-studio asio_1_10 websocketpp ];
+  buildInputs = [
+    qtbase
+    qtsvg
+    obs-studio
+    asio_1_10
+    websocketpp
+    nlohmann_json
+  ];
 
   dontWrapQtApps = true;
 
diff --git a/pkgs/applications/video/peek/default.nix b/pkgs/applications/video/peek/default.nix
index edeb848867f..27064077a9f 100644
--- a/pkgs/applications/video/peek/default.nix
+++ b/pkgs/applications/video/peek/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
+, fetchpatch
 , nix-update-script
 , meson
 , ninja
@@ -35,6 +37,15 @@ stdenv.mkDerivation rec {
     sha256 = "1xwlfizga6hvjqq127py8vabaphsny928ar7mwqj9cyqfl6fx41x";
   };
 
+  patches = [
+    # Fix compatibility with GNOME Shell ≥ 40.
+    # https://github.com/phw/peek/pull/910
+    (fetchpatch {
+      url = "https://github.com/phw/peek/commit/008d15316ab5428363c512b263ca8138cb8f52ba.patch";
+      sha256 = "xxJ+r5uRk93MEzWTFla88ewZsnUl3+YKTenzDygtKP0=";
+    })
+  ];
+
   nativeBuildInputs = [
     appstream-glib
     desktop-file-utils
diff --git a/pkgs/applications/video/rtabmap/0001-remove-printer-support.patch b/pkgs/applications/video/rtabmap/0001-remove-printer-support.patch
new file mode 100644
index 00000000000..f3b31ed9586
--- /dev/null
+++ b/pkgs/applications/video/rtabmap/0001-remove-printer-support.patch
@@ -0,0 +1,139 @@
+From c04ce502d29f7769efbff730d1f9060b8c24629a Mon Sep 17 00:00:00 2001
+From: ckie <git-525ff67@ckie.dev>
+Date: Tue, 8 Feb 2022 19:18:49 +0200
+Subject: [PATCH] remove printer support
+
+---
+ app/src/CMakeLists.txt       |  4 ++--
+ guilib/src/CMakeLists.txt    |  4 ++--
+ guilib/src/GraphViewer.cpp   | 12 +-----------
+ guilib/src/ImageView.cpp     | 16 ----------------
+ guilib/src/utilite/UPlot.cpp |  9 ---------
+ 5 files changed, 5 insertions(+), 40 deletions(-)
+
+diff --git a/app/src/CMakeLists.txt b/app/src/CMakeLists.txt
+index b20a07d4..2cad8c1e 100644
+--- a/app/src/CMakeLists.txt
++++ b/app/src/CMakeLists.txt
+@@ -63,9 +63,9 @@ ENDIF()
+ TARGET_LINK_LIBRARIES(rtabmap rtabmap_core rtabmap_gui rtabmap_utilite ${LIBRARIES})

+ IF(Qt5_FOUND)

+     IF(Qt5Svg_FOUND)

+-        QT5_USE_MODULES(rtabmap Widgets Core Gui Svg PrintSupport)

++        QT5_USE_MODULES(rtabmap Widgets Core Gui Svg)

+     ELSE()

+-        QT5_USE_MODULES(rtabmap Widgets Core Gui PrintSupport)

++        QT5_USE_MODULES(rtabmap Widgets Core Gui)

+     ENDIF()

+ ENDIF(Qt5_FOUND)

+ 

+diff --git a/guilib/src/CMakeLists.txt b/guilib/src/CMakeLists.txt
+index 3711205b..a393aa25 100644
+--- a/guilib/src/CMakeLists.txt
++++ b/guilib/src/CMakeLists.txt
+@@ -208,9 +208,9 @@ ADD_LIBRARY(rtabmap_gui ${SRC_FILES})
+ TARGET_LINK_LIBRARIES(rtabmap_gui rtabmap_core rtabmap_utilite ${LIBRARIES})
+ IF(Qt5_FOUND)
+     IF(Qt5Svg_FOUND)
+-        QT5_USE_MODULES(rtabmap_gui Widgets Core Gui Svg PrintSupport)
++        QT5_USE_MODULES(rtabmap_gui Widgets Core Gui Svg)
+     ELSE()
+-        QT5_USE_MODULES(rtabmap_gui Widgets Core Gui PrintSupport)
++        QT5_USE_MODULES(rtabmap_gui Widgets Core Gui)
+     ENDIF()
+ ENDIF(Qt5_FOUND)
+ 
+diff --git a/guilib/src/GraphViewer.cpp b/guilib/src/GraphViewer.cpp
+index 58907c34..7b41061f 100644
+--- a/guilib/src/GraphViewer.cpp
++++ b/guilib/src/GraphViewer.cpp
+@@ -38,7 +38,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #include <QtGui/QDesktopServices>
+ #include <QtGui/QContextMenuEvent>
+ #include <QColorDialog>
+-#include <QPrinter>
+ #include <QFileDialog>
+ #ifdef QT_SVG_LIB
+ #include <QtSvg/QSvgGenerator>
+@@ -2011,16 +2010,7 @@ void GraphViewer::contextMenuEvent(QContextMenuEvent * event)
+ 				this->scene()->setSceneRect(this->scene()->itemsBoundingRect());  // Re-shrink the scene to it's bounding contents
+ 				QSize sceneSize = this->scene()->sceneRect().size().toSize();
+ 
+-				if(QFileInfo(filePath).suffix().compare("pdf") == 0)
+-				{
+-					QPrinter printer(QPrinter::HighResolution);
+-					printer.setOrientation(QPrinter::Portrait);
+-					printer.setOutputFileName( filePath );
+-					QPainter p(&printer);
+-					scene()->render(&p);
+-					p.end();
+-				}
+-				else if(QFileInfo(filePath).suffix().compare("svg") == 0)
++				if(QFileInfo(filePath).suffix().compare("svg") == 0)
+ 				{
+ #ifdef QT_SVG_LIB
+ 					QSvgGenerator svgGen;
+diff --git a/guilib/src/ImageView.cpp b/guilib/src/ImageView.cpp
+index 714f2d36..887e7bdc 100644
+--- a/guilib/src/ImageView.cpp
++++ b/guilib/src/ImageView.cpp
+@@ -37,7 +37,6 @@ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ #include <QInputDialog>
+ #include <QVBoxLayout>
+ #include <QColorDialog>
+-#include <QPrinter>
+ #include <QGraphicsRectItem>
+ #include "rtabmap/utilite/ULogger.h"
+ #include "rtabmap/gui/KeypointItem.h"
+@@ -843,21 +842,6 @@ void ImageView::contextMenuEvent(QContextMenuEvent * e)
+ 				}
+ 
+ 				_savedFileName = text;
+-				if(QFileInfo(text).suffix().compare("pdf") == 0)
+-				{
+-					QPrinter printer(QPrinter::HighResolution);
+-					printer.setOrientation(QPrinter::Portrait);
+-					printer.setOutputFileName( text );
+-					QPainter p(&printer);
+-					p.begin(&printer);
+-					double xscale = printer.pageRect().width()/double(_graphicsView->sceneRect().width());
+-					double yscale = printer.pageRect().height()/double(_graphicsView->sceneRect().height());
+-					double scale = qMin(xscale, yscale);
+-					p.scale(scale, scale);
+-					_graphicsView->scene()->render(&p, _graphicsView->sceneRect(), _graphicsView->sceneRect());
+-					p.end();
+-				}
+-				else
+ 				{
+ 					QImage img(_graphicsView->sceneRect().width(), _graphicsView->sceneRect().height(), QImage::Format_ARGB32_Premultiplied);
+ 					QPainter p(&img);
+diff --git a/guilib/src/utilite/UPlot.cpp b/guilib/src/utilite/UPlot.cpp
+index 1b11c65e..8bf94841 100644
+--- a/guilib/src/utilite/UPlot.cpp
++++ b/guilib/src/utilite/UPlot.cpp
+@@ -42,7 +42,6 @@
+ #include <QFileDialog>

+ #include <QtGui/QClipboard>

+ #include <QApplication>

+-#include <QPrinter>

+ #include <QColorDialog>

+ #include <QToolTip>

+ #ifdef QT_SVG_LIB

+@@ -2849,14 +2848,6 @@ void UPlot::contextMenuEvent(QContextMenuEvent * event)
+ 			else

+ 			{

+ #endif

+-				if(QFileInfo(text).suffix().compare("pdf") == 0)

+-				{

+-					QPrinter printer;

+-					printer.setOutputFormat(QPrinter::PdfFormat);

+-					printer.setOutputFileName(text);

+-					this->render(&printer);

+-				}

+-				else

+ 				{

+ 					QPixmap figure = QPixmap::grabWidget(this);

+ 					figure.save(text);

+-- 
+2.34.1
+
diff --git a/pkgs/applications/video/rtabmap/default.nix b/pkgs/applications/video/rtabmap/default.nix
new file mode 100644
index 00000000000..c6429b09348
--- /dev/null
+++ b/pkgs/applications/video/rtabmap/default.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchFromGitHub, pkg-config, cmake, opencv, pcl, libusb1, eigen
+, wrapQtAppsHook, qtbase, g2o, ceres-solver, libpointmatcher, octomap, freenect
+, libdc1394, librealsense, libGL, libGLU, vtkWithQt5, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  pname = "rtabmap";
+  version = "unstable-2022-02-07";
+
+  src = fetchFromGitHub {
+    owner = "introlab";
+    repo = "rtabmap";
+    rev = "f584f42ea423c44138aa0668b5c8eb18f2978fe2";
+    sha256 = "sha256-xotOcaz5XrmzwEKuVEQZoeq6fEVbACK7PSUW9kULH40=";
+  };
+
+  patches = [
+    # Our Qt5 seems to be missing PrintSupport.. I think?
+    ./0001-remove-printer-support.patch
+  ];
+
+  nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook wrapGAppsHook ];
+  buildInputs = [
+    ## Required
+    opencv
+    pcl
+    ## Optional
+    libusb1
+    eigen
+    g2o
+    ceres-solver
+    # libpointmatcher - ABI mismatch
+    octomap
+    freenect
+    libdc1394
+    # librealsense - missing includedir
+    qtbase
+    libGL
+    libGLU
+    vtkWithQt5
+  ];
+
+  # Disable warnings that are irrelevant to us as packagers
+  cmakeFlags = "-Wno-dev";
+
+  # We run one of the executables we build while the build is
+  # still running (and patchelf hasn't been invoked) which means
+  # the RPATH is not set correctly. This hacks around that error:
+  #
+  # build/bin/rtabmap-res_tool: error while loading shared libraries: librtabmap_utilite.so.0.20: cannot open shared object file: No such file or directory
+  LD_LIBRARY_PATH = "/build/source/build/bin";
+
+  meta = with lib; {
+    description = "Real-Time Appearance-Based 3D Mapping";
+    homepage = "https://introlab.github.io/rtabmap/";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ ckie ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/applications/video/shotcut/default.nix b/pkgs/applications/video/shotcut/default.nix
index 3b6116d5a06..e996ae92d21 100644
--- a/pkgs/applications/video/shotcut/default.nix
+++ b/pkgs/applications/video/shotcut/default.nix
@@ -17,8 +17,7 @@
 , qtgraphicaleffects
 , qmake
 , qttools
-, genericUpdater
-, common-updater-scripts
+, gitUpdater
 }:
 
 assert lib.versionAtLeast mlt.version "6.24.0";
@@ -76,9 +75,8 @@ mkDerivation rec {
     cp -r src/qml $out/share/shotcut/
   '';
 
-  passthru.updateScript = genericUpdater {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
     rev-prefix = "v";
   };
 
diff --git a/pkgs/applications/video/streamlink-twitch-gui/bin.nix b/pkgs/applications/video/streamlink-twitch-gui/bin.nix
index 53e87fbb2b9..911373c58e3 100644
--- a/pkgs/applications/video/streamlink-twitch-gui/bin.nix
+++ b/pkgs/applications/video/streamlink-twitch-gui/bin.nix
@@ -116,7 +116,7 @@ stdenv.mkDerivation rec {
     icon = basename;
     desktopName = "Streamlink Twitch GUI";
     genericName = meta.description;
-    categories = "AudioVideo;Network;";
+    categories = [ "AudioVideo" "Network" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/applications/video/tartube/default.nix b/pkgs/applications/video/tartube/default.nix
index 74ce4446a19..3b333be7afe 100644
--- a/pkgs/applications/video/tartube/default.nix
+++ b/pkgs/applications/video/tartube/default.nix
@@ -15,13 +15,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "tartube";
-  version = "2.3.332";
+  version = "2.3.367";
 
   src = fetchFromGitHub {
     owner = "axcore";
     repo = "tartube";
     rev = "v${version}";
-    sha256 = "1m7p4chpvbh4mswsymh89dksdgwhmnkpfbx9zi2jzqgkinfd6a2k";
+    sha256 = "sha256-ZoNe3Ibv0adM6Is5cWMqfUrr0U3R951IJFsdEm1bztc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/video/ustreamer/default.nix b/pkgs/applications/video/ustreamer/default.nix
index 6dc8aa56b5c..f2753affa56 100644
--- a/pkgs/applications/video/ustreamer/default.nix
+++ b/pkgs/applications/video/ustreamer/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ustreamer";
-  version = "4.9";
+  version = "4.11";
 
   src = fetchFromGitHub {
     owner = "pikvm";
     repo = "ustreamer";
     rev = "v${version}";
-    sha256 = "sha256-dYwR+D2g4PxYyhsH9mGwgzTQ2Vw5UpMSomTl828gFvM=";
+    sha256 = "sha256-MTzlhnnDVZzS3lnYe3P/Hi6pi6f4B0+ejmDwV0f9juI=";
   };
 
   buildInputs = [ libbsd libevent libjpeg ];
diff --git a/pkgs/applications/video/vdr/default.nix b/pkgs/applications/video/vdr/default.nix
index 51984cf5f11..5584e63ab44 100644
--- a/pkgs/applications/video/vdr/default.nix
+++ b/pkgs/applications/video/vdr/default.nix
@@ -5,12 +5,12 @@
 }: stdenv.mkDerivation rec {
 
   pname = "vdr";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchgit {
     url = "git://git.tvdr.de/vdr.git";
     rev = version;
-    sha256 = "sha256-TZm9pN9xtqkKhETsUhIIalK+4xQpFV3TXyWychSoyRk=";
+    sha256 = "sha256-jKuvh1OruPXTBlgLwlwcJdqC8u0WBDr/Un5JUL3U0hw=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/applications/video/vlc/default.nix b/pkgs/applications/video/vlc/default.nix
index 7aa780f8a7f..a5e65480b2b 100644
--- a/pkgs/applications/video/vlc/default.nix
+++ b/pkgs/applications/video/vlc/default.nix
@@ -10,7 +10,7 @@
 , avahi
 , dbus
 , faad2
-, ffmpeg
+, ffmpeg_4
 , flac
 , fluidsynth
 , freefont_ttf
@@ -100,7 +100,7 @@ stdenv.mkDerivation rec {
     avahi
     dbus
     faad2
-    ffmpeg
+    ffmpeg_4
     flac
     fluidsynth
     fribidi
diff --git a/pkgs/applications/video/xine-ui/default.nix b/pkgs/applications/video/xine-ui/default.nix
index 3d44796f78c..b4f610c7a91 100644
--- a/pkgs/applications/video/xine-ui/default.nix
+++ b/pkgs/applications/video/xine-ui/default.nix
@@ -1,6 +1,8 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
+, autoreconfHook
 , curl
 , libjpeg
 , libpng
@@ -22,7 +24,17 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-sjgtB1xysbEAOeDpAxDMhsjZEDWMU1We2C09WEIB9cU=";
   };
 
+  patches = [
+    (fetchpatch {
+      # Fix build on aarch64
+      name = "xine-ui_FTBS_aarch64.patch";
+      url = "https://salsa.debian.org/debian/xine-ui/-/raw/b2f04f64947a8975a805950e7e67b15cb44007ef/debian/patches/backport/0003-Fix-build.patch";
+      sha256 = "03f8nkm7q11v5vssl1bj500ja4ljz4y752mfk22k2g4djkwimx62";
+    })
+  ];
+
   nativeBuildInputs = [
+    autoreconfHook
     pkg-config
     shared-mime-info
   ];
@@ -57,7 +69,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://xinehq.de/";
+    homepage = "http://xine.sourceforge.net/";
     description = "Xlib-based frontend for Xine video player";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/applications/virtualization/charliecloud/default.nix b/pkgs/applications/virtualization/charliecloud/default.nix
index cbd7d8e5512..2889d09183d 100644
--- a/pkgs/applications/virtualization/charliecloud/default.nix
+++ b/pkgs/applications/virtualization/charliecloud/default.nix
@@ -15,11 +15,11 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook makeWrapper ];
   buildInputs = [
     docker
-    (python3.withPackages (ps: [ ps.lark-parser ps.requests ]))
+    (python3.withPackages (ps: [ ps.lark ps.requests ]))
   ];
 
   configureFlags = let
-    pythonEnv = python3.withPackages (ps: [ ps.lark-parser ps.requests ]);
+    pythonEnv = python3.withPackages (ps: [ ps.lark ps.requests ]);
   in [
     "--with-python=${pythonEnv}/bin/python3"
   ];
diff --git a/pkgs/applications/virtualization/colima/default.nix b/pkgs/applications/virtualization/colima/default.nix
index 4845b1b6466..e83fc4ef501 100644
--- a/pkgs/applications/virtualization/colima/default.nix
+++ b/pkgs/applications/virtualization/colima/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "colima";
-  version = "0.3.2";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "abiosoft";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hZ5BqNHQAMzL69ptpbTT+fN4NdV4AFhboCL2t1sF5AQ=";
+    sha256 = "sha256-nov+DIaeYaRJy7Cz1hcKJUA88IKlZ4z/tn4WASZjxLI=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
diff --git a/pkgs/applications/virtualization/containerd/default.nix b/pkgs/applications/virtualization/containerd/default.nix
index a41dde4c951..aa4a9000d23 100644
--- a/pkgs/applications/virtualization/containerd/default.nix
+++ b/pkgs/applications/virtualization/containerd/default.nix
@@ -10,15 +10,13 @@
 
 buildGoModule rec {
   pname = "containerd";
-  version = "1.5.9";
-
-  outputs = [ "out" "man" ];
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "containerd";
     repo = "containerd";
     rev = "v${version}";
-    sha256 = "sha256-v5seKJMfZUVMbydxKiTSy0OSwen6I/3DrGJnL2DyqHg=";
+    sha256 = "sha256-0Fbmtb7Ec6WcA7ARtgdBK5i7yAq2t3iXtfLb/MZcKJA=";
   };
 
   vendorSha256 = null;
@@ -32,14 +30,13 @@ buildGoModule rec {
   buildPhase = ''
     runHook preBuild
     patchShebangs .
-    make binaries man "VERSION=v${version}" "REVISION=${src.rev}"
+    make binaries "VERSION=v${version}" "REVISION=${src.rev}"
     runHook postBuild
   '';
 
   installPhase = ''
     runHook preInstall
     install -Dm555 bin/* -t $out/bin
-    installManPage man/*.[1-9]
     installShellCompletion --bash contrib/autocomplete/ctr
     installShellCompletion --zsh --name _ctr contrib/autocomplete/zsh_autocomplete
     runHook postInstall
@@ -51,7 +48,7 @@ buildGoModule rec {
     homepage = "https://containerd.io/";
     description = "A daemon to control runC";
     license = licenses.asl20;
-    maintainers = with maintainers; [ offline vdemeester endocrimes ];
+    maintainers = with maintainers; [ offline vdemeester endocrimes zowoq ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/applications/virtualization/cri-o/default.nix b/pkgs/applications/virtualization/cri-o/default.nix
index 75a3dbf3746..87b91196f88 100644
--- a/pkgs/applications/virtualization/cri-o/default.nix
+++ b/pkgs/applications/virtualization/cri-o/default.nix
@@ -15,13 +15,13 @@
 
 buildGoModule rec {
   pname = "cri-o";
-  version = "1.22.1";
+  version = "1.23.1";
 
   src = fetchFromGitHub {
     owner = "cri-o";
     repo = "cri-o";
     rev = "v${version}";
-    sha256 = "sha256-x1bnDksmEjKuzjwPBENP9xpQbzo8HAW+0i2l2Ra/48Y=";
+    sha256 = "sha256-A59Bgt0u8jzpTijT5vcO8JREL7Elx1mWnwddAuRHn5c=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/applications/virtualization/firecracker/default.nix b/pkgs/applications/virtualization/firecracker/default.nix
index a3ef59e8e92..c2769a0ccf3 100644
--- a/pkgs/applications/virtualization/firecracker/default.nix
+++ b/pkgs/applications/virtualization/firecracker/default.nix
@@ -1,7 +1,7 @@
 { fetchurl, lib, stdenv }:
 
 let
-  version = "0.25.2";
+  version = "1.0.0";
 
   suffix = {
     x86_64-linux = "x86_64";
@@ -22,7 +22,7 @@ stdenv.mkDerivation {
 
   sourceRoot = ".";
   src = dlbin {
-    x86_64-linux = "sha256-ZzlPq+Q9XfWQJr+7nKS0e6bfKwYNfpMHSiBIKeOr/s4=";
+    x86_64-linux = "sha256-yeWVsrvH3yYlS2uH/TkSleHjXvIDnHWcZSvLgV+CGF0=";
     aarch64-linux = "sha256-75UC+HeVUfUk1HRvTJsOHbHHkgr6me1OtxDF7lahf68=";
   };
 
diff --git a/pkgs/applications/virtualization/libgovirt/default.nix b/pkgs/applications/virtualization/libgovirt/default.nix
new file mode 100644
index 00000000000..9c9da54c363
--- /dev/null
+++ b/pkgs/applications/virtualization/libgovirt/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, stdenv
+, fetchurl
+, glib
+, gnome
+, librest
+, libsoup
+, pkg-config
+, gobject-introspection
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libgovirt";
+  version = "0.3.8";
+
+  outputs = [ "out" "dev" ];
+
+  src = fetchurl {
+    url = "mirror://gnome/sources/libgovirt/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
+    sha256 = "HckYYikXa9+p8l/Y+oLAoFi2pgwcyAfHUH7IqTwPHfg=";
+  };
+
+  nativeBuildInputs = [
+    pkg-config
+    gobject-introspection
+  ];
+
+  buildInputs = [
+    libsoup
+  ];
+
+  propagatedBuildInputs = [
+    glib
+    librest
+  ];
+
+  enableParallelBuilding = true;
+
+  passthru = {
+    updateScript = gnome.updateScript {
+      packageName = pname;
+      versionPolicy = "none";
+    };
+  };
+
+  meta = with lib; {
+    homepage = "https://gitlab.gnome.org/GNOME/libgovirt";
+    description = "GObject wrapper for the oVirt REST API";
+    maintainers = [ maintainers.amarshall ];
+    platforms = platforms.linux;
+    license = licenses.lgpl21Plus;
+  };
+}
diff --git a/pkgs/applications/virtualization/lima/default.nix b/pkgs/applications/virtualization/lima/default.nix
index 0f56526f68e..4f58f012716 100644
--- a/pkgs/applications/virtualization/lima/default.nix
+++ b/pkgs/applications/virtualization/lima/default.nix
@@ -8,16 +8,16 @@
 
 buildGoModule rec {
   pname = "lima";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "lima-vm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kz+gyl7BuC0G97Lj3T1a859TYhwfAGB1hTiYXq66wwY=";
+    sha256 = "sha256-hzoc5zbdnHHTY04aGn+77lHvPh+KNOPoZmW19YIZHv8=";
   };
 
-  vendorSha256 = "sha256-x0VmidGV9TsGOyL+OTUHXOxJ2cgvIqph56MrwfR2SP4=";
+  vendorSha256 = "sha256-eJnwXXYWMaIfM8SW4MtmG4wsPA/9sx4j2AkOd6GpnsY=";
 
   nativeBuildInputs = [ makeWrapper installShellFiles ];
 
diff --git a/pkgs/applications/virtualization/podman-tui/default.nix b/pkgs/applications/virtualization/podman-tui/default.nix
new file mode 100644
index 00000000000..cfeee8a8718
--- /dev/null
+++ b/pkgs/applications/virtualization/podman-tui/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, pkg-config
+, fetchFromGitHub
+, buildGoModule
+, btrfs-progs
+, gpgme
+, lvm2
+}:
+buildGoModule rec {
+  pname = "podman-tui";
+  version = "0.1.0";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = "podman-tui";
+    rev = "v${version}";
+    sha256 = "sha256-qPQSu6l1WkX6sddVr5h1DqKQCyw6vy8S6lXC/ZO4DL8=";
+  };
+
+  vendorSha256 = null;
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [
+    btrfs-progs
+    gpgme
+    lvm2
+  ];
+
+  ldflags = [ "-s" "-w" ];
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    homepage = "https://github.com/containers/podman-tui";
+    description = "Podman Terminal UI";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/applications/virtualization/podman/default.nix b/pkgs/applications/virtualization/podman/default.nix
index 0dad4d9123d..46b8e1c7ed5 100644
--- a/pkgs/applications/virtualization/podman/default.nix
+++ b/pkgs/applications/virtualization/podman/default.nix
@@ -17,20 +17,20 @@
 
 buildGoModule rec {
   pname = "podman";
-  version = "3.4.4";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "podman";
     rev = "v${version}";
-    sha256 = "sha256-5Y0+xfoMCe3a6kX+OhmxURZXZLAnrS1t8TFyHqjGCeA=";
+    sha256 = "sha256-DpSDMjUFA8coRInJO1jhMALOYG444WRFw1w7vJKc7cw=";
   };
 
   vendorSha256 = null;
 
   doCheck = false;
 
-  outputs = [ "out" "man" ];
+  outputs = [ "out" "man" ] ++ lib.optionals stdenv.isLinux [ "rootlessport" ];
 
   nativeBuildInputs = [ pkg-config go-md2man installShellFiles ];
 
@@ -47,26 +47,31 @@ buildGoModule rec {
   buildPhase = ''
     runHook preBuild
     patchShebangs .
-    ${if stdenv.isDarwin
-      then "make podman-remote"
-      else "make podman"}
+    ${if stdenv.isDarwin then ''
+      make podman-remote # podman-mac-helper uses FHS paths
+    '' else ''
+      make bin/podman bin/rootlessport
+    ''}
     make docs
     runHook postBuild
   '';
 
   installPhase = ''
     runHook preInstall
-  '' + lib.optionalString stdenv.isDarwin ''
-    mv bin/{darwin/podman,podman}
-  '' + ''
-    install -Dm555 bin/podman $out/bin/podman
-    installShellCompletion --bash completions/bash/*
-    installShellCompletion --fish completions/fish/*
-    installShellCompletion --zsh completions/zsh/*
-    MANDIR=$man/share/man make install.man-nobuild
-    install -Dm644 cni/87-podman-bridge.conflist -t $out/etc/cni/net.d
-    install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
-    install -Dm644 contrib/systemd/system/podman.{socket,service} -t $out/lib/systemd/system
+    ${if stdenv.isDarwin then ''
+      mv bin/{darwin/podman,podman}
+    '' else ''
+      install -Dm644 cni/87-podman-bridge.conflist -t $out/etc/cni/net.d
+      install -Dm644 contrib/tmpfile/podman.conf -t $out/lib/tmpfiles.d
+      for s in contrib/systemd/**/*.in; do
+        substituteInPlace "$s" --replace "@@PODMAN@@" "podman" # don't use unwrapped binary
+      done
+      PREFIX=$out make install.systemd
+      install -Dm555 bin/rootlessport -t $rootlessport/bin
+    ''}
+    install -Dm555 bin/podman -t $out/bin
+    PREFIX=$out make install.completions
+    MANDIR=$man/share/man make install.man
     runHook postInstall
   '';
 
@@ -87,9 +92,8 @@ buildGoModule rec {
   meta = with lib; {
     homepage = "https://podman.io/";
     description = "A program for managing pods, containers and container images";
-    changelog = "https://github.com/containers/podman/blob/v${version}/changelog.txt";
+    changelog = "https://github.com/containers/podman/blob/v${version}/RELEASE_NOTES.md";
     license = licenses.asl20;
     maintainers = with maintainers; [ marsam ] ++ teams.podman.members;
-    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/applications/virtualization/podman/wrapper.nix b/pkgs/applications/virtualization/podman/wrapper.nix
index c9ec18593df..d4815336124 100644
--- a/pkgs/applications/virtualization/podman/wrapper.nix
+++ b/pkgs/applications/virtualization/podman/wrapper.nix
@@ -1,6 +1,7 @@
 { podman-unwrapped
 , runCommand
 , makeWrapper
+, symlinkJoin
 , lib
 , extraPackages ? []
 , podman # Docker compat
@@ -13,8 +14,13 @@
 , cni-plugins # not added to path
 , iptables
 , iproute2
+, catatonit
 }:
 
+# do not add qemu to this wrapper, store paths get written to the podman vm config and break when GCed
+
+# adding aardvark-dns/netavark to `helpersBin` requires changes to the modules and tests
+
 let
   podman = podman-unwrapped;
 
@@ -29,6 +35,16 @@ let
     iproute2
   ] ++ extraPackages);
 
+  helpersBin = symlinkJoin {
+    name = "${podman.pname}-helper-binary-wrapper-${podman.version}";
+
+    # this only works for some binaries, others may need to be be added to `binPath` or in the modules
+    paths = [
+      catatonit # added here for the pause image and also set in `containersConf` for `init_path`
+      podman.rootlessport
+    ];
+  };
+
 in runCommand podman.name {
   name = "${podman.pname}-wrapper-${podman.version}";
   inherit (podman) pname version passthru;
@@ -54,5 +70,6 @@ in runCommand podman.name {
   ln -s ${podman-unwrapped}/lib $out/lib
   ln -s ${podman-unwrapped}/share $out/share
   makeWrapper ${podman-unwrapped}/bin/podman $out/bin/podman \
+    --set CONTAINERS_HELPER_BINARY_DIR ${helpersBin}/bin \
     --prefix PATH : ${binPath}
 ''
diff --git a/pkgs/applications/virtualization/qemu/default.nix b/pkgs/applications/virtualization/qemu/default.nix
index c45c519f370..ee923f4e0cd 100644
--- a/pkgs/applications/virtualization/qemu/default.nix
+++ b/pkgs/applications/virtualization/qemu/default.nix
@@ -2,7 +2,7 @@
 , perl, pixman, vde2, alsa-lib, texinfo, flex
 , bison, lzo, snappy, libaio, libtasn1, gnutls, nettle, curl, ninja, meson, sigtool
 , makeWrapper, runtimeShell
-, attr, libcap, libcap_ng
+, attr, libcap, libcap_ng, socat
 , CoreServices, Cocoa, Hypervisor, rez, setfile
 , numaSupport ? stdenv.isLinux && !stdenv.isAarch32, numactl
 , seccompSupport ? stdenv.isLinux, libseccomp
@@ -31,26 +31,20 @@
                           ++ ["${stdenv.hostPlatform.qemuArch}-softmmu"])
                     else null)
 , nixosTestRunner ? false
+, doCheck ? false
+, qemu  # for passthru.tests
 }:
 
-let
-  audio = lib.optionalString alsaSupport "alsa,"
-    + lib.optionalString pulseSupport "pa,"
-    + lib.optionalString sdlSupport "sdl,"
-    + lib.optionalString jackSupport "jack,";
-
-in
-
 stdenv.mkDerivation rec {
   pname = "qemu"
     + lib.optionalString xenSupport "-xen"
     + lib.optionalString hostCpuOnly "-host-cpu-only"
     + lib.optionalString nixosTestRunner "-for-vm-tests";
-  version = "6.1.0";
+  version = "6.2.0";
 
   src = fetchurl {
     url= "https://download.qemu.org/qemu-${version}.tar.xz";
-    sha256 = "15iw7982g6vc4jy1l9kk1z9sl5bm1bdbwr74y7nvwjs1nffhig7f";
+    sha256 = "0iavlsy9hin8k38230j8lfmyipx3965zljls1dp34mmc8n75vqb8";
   };
 
   depsBuildBuild = [ buildPackages.stdenv.cc ];
@@ -101,55 +95,7 @@ stdenv.mkDerivation rec {
       sha256 = "09xz06g57wxbacic617pq9c0qb7nly42gif0raplldn5lw964xl2";
       revert = true;
     })
-    (fetchpatch {
-      name = "CVE-2021-3713.patch"; # remove with next release
-      url = "https://gitlab.com/qemu-project/qemu/-/commit/13b250b12ad3c59114a6a17d59caf073ce45b33a.patch";
-      sha256 = "0lkzfc7gdlvj4rz9wk07fskidaqysmx8911g914ds1jnczgk71mf";
-    })
-    # Fixes a crash that frequently happens in some setups that share /nix/store over 9p like nixos tests
-    # on some systems. Remove with next release.
-    (fetchpatch {
-      name = "fix-crash-in-v9fs_walk.patch";
-      url = "https://gitlab.com/qemu-project/qemu/-/commit/f83df00900816476cca41bb536e4d532b297d76e.patch";
-      sha256 = "sha256-LYGbBLS5YVgq8Bf7NVk7HBFxXq34NmZRPCEG79JPwk8=";
-    })
-    # Fixes an io error on discard/unmap operation for aio/file backend. Remove with next release.
-    (fetchpatch {
-      name = "fix-aio-discard-return-value.patch";
-      url = "https://gitlab.com/qemu-project/qemu/-/commit/13a028336f2c05e7ff47dfdaf30dfac7f4883e80.patch";
-      sha256 = "sha256-23xVixVl+JDBNdhe5j5WY8CB4MsnUo+sjrkAkG+JS6M=";
-    })
-    # Fixes managedsave (snapshot creation) with QXL video device. Remove with next release.
-    (fetchpatch {
-      name = "qxl-fix-pre-save-logic.patch";
-      url = "https://gitlab.com/qemu-project/qemu/-/commit/eb94846280df3f1e2a91b6179fc05f9890b7e384.patch";
-      sha256 = "sha256-p31fd47RTSw928DOMrubQQybnzDAGm23z4Yhe+hGJQ8=";
-    })
-    # Fixes socket_sockaddr_to_address_unix assertion errors in some setups. Remove with next release.
-    (fetchpatch {
-      name = "fix-unix-socket-path-copy-again.patch";
-      url = "https://gitlab.com/qemu-project/qemu/-/commit/118d527f2e4baec5fe8060b22a6212468b8e4d3f.patch";
-      sha256 = "sha256-ox+JSpc0pqd3bMi5Ot7ljQyk70SX8g+BLufR06mZPps=";
-    })
-  ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch
-    ++ lib.optionals stdenv.hostPlatform.isMusl [
-    ./sigrtminmax.patch
-    (fetchpatch {
-      url = "https://raw.githubusercontent.com/alpinelinux/aports/2bb133986e8fa90e2e76d53369f03861a87a74ef/main/qemu/fix-sigevent-and-sigval_t.patch";
-      sha256 = "0wk0rrcqywhrw9hygy6ap0lfg314m9z1wr2hn8338r5gfcw75mav";
-    })
-  ] ++ lib.optionals stdenv.isDarwin [
-    # The Hypervisor.framework support patch converted something that can be applied:
-    # * https://patchwork.kernel.org/project/qemu-devel/list/?series=548227
-    # The base revision is whatever commit there is before the series starts:
-    # * https://github.com/patchew-project/qemu/commits/patchew/20210916155404.86958-1-agraf%40csgraf.de
-    # The target revision is what patchew has as the series tag from patchwork:
-    # * https://github.com/patchew-project/qemu/releases/tag/patchew%2F20210916155404.86958-1-agraf%40csgraf.de
-    (fetchpatch {
-      url = "https://github.com/patchew-project/qemu/compare/7adb961995a3744f51396502b33ad04a56a317c3..d2603c06d9c4a28e714b9b70fe5a9d0c7b0f934d.diff";
-      sha256 = "sha256-nSi5pFf9+EefUmyJzSEKeuxOt39ztgkXQyUB8fTHlcY=";
-    })
-  ];
+  ] ++ lib.optional nixosTestRunner ./force-uid0-on-9p.patch;
 
   postPatch = ''
     # Otherwise tries to ensure /var/run exists.
@@ -180,12 +126,9 @@ stdenv.mkDerivation rec {
       --replace '$source_path/VERSION' '$source_path/QEMU_VERSION'
     substituteInPlace meson.build \
       --replace "'VERSION'" "'QEMU_VERSION'"
-  '' + lib.optionalString stdenv.hostPlatform.isMusl ''
-    NIX_CFLAGS_COMPILE+=" -D_LINUX_SYSINFO_H"
   '';
 
   configureFlags = [
-    "--audio-drv-list=${audio}"
     "--disable-strip" # We'll strip ourselves after separating debug info.
     "--enable-docs"
     "--enable-tools"
@@ -217,7 +160,6 @@ stdenv.mkDerivation rec {
     ++ lib.optional smbdSupport "--smbd=${samba}/bin/smbd"
     ++ lib.optional uringSupport "--enable-linux-io-uring";
 
-  doCheck = false; # tries to access /dev
   dontWrapGApps = true;
 
   # QEMU attaches entitlements with codesign and strip removes those,
@@ -241,6 +183,40 @@ stdenv.mkDerivation rec {
   '';
   preBuild = "cd build";
 
+  # tests can still timeout on slower systems
+  inherit doCheck;
+  checkInputs = [ socat ];
+  preCheck = ''
+    # time limits are a little meagre for a build machine that's
+    # potentially under load.
+    substituteInPlace ../tests/unit/meson.build \
+      --replace 'timeout: slow_tests' 'timeout: 50 * slow_tests'
+    substituteInPlace ../tests/qtest/meson.build \
+      --replace 'timeout: slow_qtests' 'timeout: 50 * slow_qtests'
+    substituteInPlace ../tests/fp/meson.build \
+      --replace 'timeout: 90)' 'timeout: 300)'
+
+    # point tests towards correct binaries
+    substituteInPlace ../tests/unit/test-qga.c \
+      --replace '/bin/echo' "$(type -P echo)"
+    substituteInPlace ../tests/unit/test-io-channel-command.c \
+      --replace '/bin/socat' "$(type -P socat)"
+
+    # combined with a long package name, some temp socket paths
+    # can end up exceeding max socket name len
+    substituteInPlace ../tests/qtest/bios-tables-test.c \
+      --replace 'qemu-test_acpi_%s_tcg_%s' '%s_%s'
+
+    # get-fsinfo attempts to access block devices, disallowed by sandbox
+    sed -i -e '/\/qga\/get-fsinfo/d' -e '/\/qga\/blacklist/d' \
+      ../tests/unit/test-qga.c
+  '' + lib.optionalString stdenv.isDarwin ''
+    # skip test that stalls on darwin, perhaps due to subtle differences
+    # in fifo behaviour
+    substituteInPlace ../tests/unit/meson.build \
+      --replace "'test-io-channel-command'" "#'test-io-channel-command'"
+  '';
+
   # Add a ‘qemu-kvm’ wrapper for compatibility/convenience.
   postInstall = ''
     ln -s $out/bin/qemu-system-${stdenv.hostPlatform.qemuArch} $out/bin/qemu-kvm
@@ -248,6 +224,9 @@ stdenv.mkDerivation rec {
 
   passthru = {
     qemu-system-i386 = "bin/qemu-system-i386";
+    tests = {
+      qemu-tests = qemu.override { doCheck = true; };
+    };
   };
 
   # Builds in ~3h with 2 cores, and ~20m with a big-parallel builder.
diff --git a/pkgs/applications/virtualization/qemu/sigrtminmax.patch b/pkgs/applications/virtualization/qemu/sigrtminmax.patch
deleted file mode 100644
index 41050447ac6..00000000000
--- a/pkgs/applications/virtualization/qemu/sigrtminmax.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 2697fcc42546e814a2d2617671cb8398b15256fb Mon Sep 17 00:00:00 2001
-From: Will Dietz <w@wdtz.org>
-Date: Fri, 17 Aug 2018 00:22:35 -0500
-Subject: [PATCH] quick port __SIGRTMIN/__SIGRTMAX patch for qemu 3.0
-
----
- linux-user/signal.c | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/linux-user/signal.c b/linux-user/signal.c
-index 602b631b92..87f9240134 100644
---- a/linux-user/signal.c
-+++ b/linux-user/signal.c
-@@ -26,6 +26,13 @@
- #include "trace.h"
- #include "signal-common.h"
- 
-+#ifndef __SIGRTMIN
-+#define __SIGRTMIN 32
-+#endif
-+#ifndef __SIGRTMAX
-+#define __SIGRTMAX (NSIG-1)
-+#endif
-+
- struct target_sigaltstack target_sigaltstack_used = {
-     .ss_sp = 0,
-     .ss_size = 0,
--- 
-2.18.0
-
diff --git a/pkgs/applications/virtualization/seabios/default.nix b/pkgs/applications/virtualization/seabios/default.nix
index a97c4349570..af2c4939ad0 100644
--- a/pkgs/applications/virtualization/seabios/default.nix
+++ b/pkgs/applications/virtualization/seabios/default.nix
@@ -3,11 +3,11 @@
 stdenv.mkDerivation rec {
 
   pname = "seabios";
-  version = "1.14.0";
+  version = "1.15.0";
 
   src = fetchurl {
     url = "https://www.seabios.org/downloads/${pname}-${version}.tar.gz";
-    sha256 = "1zc1brgafbbf5hmdr1qc1p859cabpz73l8sklq83xa4sn9icqw7b";
+    sha256 = "sha256-YownF8mUMmtFMlFXPRBZ4qOhEtSqSIds4nyz8d4ZiPg=";
   };
 
   nativeBuildInputs = [ python3 ];
diff --git a/pkgs/applications/virtualization/singularity/default.nix b/pkgs/applications/virtualization/singularity/default.nix
index 4d6fb0ef4af..6589cccfe2f 100644
--- a/pkgs/applications/virtualization/singularity/default.nix
+++ b/pkgs/applications/virtualization/singularity/default.nix
@@ -15,11 +15,11 @@ with lib;
 
 buildGoPackage rec {
   pname = "singularity";
-  version = "3.8.5";
+  version = "3.8.6";
 
   src = fetchurl {
     url = "https://github.com/hpcng/singularity/releases/download/v${version}/singularity-${version}.tar.gz";
-    sha256 = "sha256-f/94tcB7XU0IJpvSZ6xemUOQ+TMyHlTv1rfIZoMVPOQ=";
+    sha256 = "sha256-u1o7dnCsnHpLPOWyyfPWtb5g4hsI0zjJ39q7eyqZ9Sg=";
   };
 
   goPackagePath = "github.com/sylabs/singularity";
diff --git a/pkgs/applications/virtualization/tinyemu/default.nix b/pkgs/applications/virtualization/tinyemu/default.nix
deleted file mode 100644
index 17cee52a64e..00000000000
--- a/pkgs/applications/virtualization/tinyemu/default.nix
+++ /dev/null
@@ -1,23 +0,0 @@
-{ lib, stdenv, fetchurl, openssl, curl, SDL }:
-
-stdenv.mkDerivation rec {
-  pname = "tinyemu";
-  version = "2018-09-23";
-  src = fetchurl {
-    url = "https://bellard.org/tinyemu/${pname}-${version}.tar.gz";
-    sha256 = "0d6payyqf4lpvmmzvlpq1i8wpbg4sf3h6llsw0xnqdgq3m9dan4v";
-  };
-  buildInputs = [ openssl curl SDL ];
-  makeFlags = [ "DESTDIR=$(out)" "bindir=/bin" ];
-  preInstall = ''
-    mkdir -p "$out/bin"
-  '';
-  meta = {
-    homepage = "https://bellard.org/tinyemu/";
-    description = "A system emulator for the RISC-V and x86 architectures";
-    longDescription = "TinyEMU is a system emulator for the RISC-V and x86 architectures. Its purpose is to be small and simple while being complete.";
-    license = with lib.licenses; [ mit bsd2 ];
-    platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ jhhuh ];
-  };
-}
diff --git a/pkgs/applications/virtualization/virt-viewer/default.nix b/pkgs/applications/virtualization/virt-viewer/default.nix
index 4fd56e0cae3..29e05a069ce 100644
--- a/pkgs/applications/virtualization/virt-viewer/default.nix
+++ b/pkgs/applications/virtualization/virt-viewer/default.nix
@@ -1,36 +1,86 @@
-{ lib, stdenv, fetchurl, pkg-config, intltool, shared-mime-info, wrapGAppsHook
-, glib, gsettings-desktop-schemas, gtk-vnc, gtk3, libvirt, libvirt-glib, libxml2, vte
+{ lib
+, stdenv
+, bash-completion
+, fetchurl
+, gdbm ? null
+, glib
+, gsettings-desktop-schemas
+, gtk-vnc
+, gtk3
+, intltool
+, libcap ? null
+, libgovirt
+, libvirt
+, libvirt-glib
+, libxml2
+, meson
+, ninja
+, pkg-config
+, python3
+, shared-mime-info
+, spice-gtk ? null
+, spice-protocol ? null
 , spiceSupport ? true
-, spice-gtk ? null, spice-protocol ? null, libcap ? null, gdbm ? null
+, vte
+, wrapGAppsHook
 }:
 
-assert spiceSupport ->
-  spice-gtk != null && spice-protocol != null && libcap != null && gdbm != null;
+assert spiceSupport -> (
+  gdbm != null
+  && libcap != null
+  && spice-gtk != null
+  && spice-protocol != null
+);
 
 with lib;
 
 stdenv.mkDerivation rec {
   baseName = "virt-viewer";
-  version = "9.0";
+  version = "11.0";
   name = "${baseName}-${version}";
 
   src = fetchurl {
-    url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.gz";
-    sha256 = "09a83mzyn3b4nd7wpa659g1zf1fjbzb79rk968bz6k5xl21k7d4i";
+    url = "http://virt-manager.org/download/sources/${baseName}/${name}.tar.xz";
+    sha256 = "sha256-pD+iMlxMHHelyMmAZaww7wURohrJjlkPIjQIabrZq9A=";
   };
 
-  nativeBuildInputs = [ pkg-config intltool shared-mime-info wrapGAppsHook glib ];
+  nativeBuildInputs = [
+    glib
+    intltool
+    meson
+    ninja
+    pkg-config
+    python3
+    shared-mime-info
+    wrapGAppsHook
+  ];
+
   buildInputs = [
-    glib gsettings-desktop-schemas gtk-vnc gtk3 libvirt libvirt-glib libxml2 vte
+    bash-completion
+    glib
+    gsettings-desktop-schemas
+    gtk-vnc
+    gtk3
+    libgovirt
+    libvirt
+    libvirt-glib
+    libxml2
+    vte
   ] ++ optionals spiceSupport [
-    spice-gtk spice-protocol libcap gdbm
+    gdbm
+    libcap
+    spice-gtk
+    spice-protocol
   ];
 
   # Required for USB redirection PolicyKit rules file
   propagatedUserEnvPkgs = optional spiceSupport spice-gtk;
 
   strictDeps = true;
-  enableParallelBuilding = true;
+
+  postPatch = ''
+    patchShebangs build-aux/post_install.py
+  '';
 
   meta = {
     description = "A viewer for remote virtual machines";
diff --git a/pkgs/applications/virtualization/x11docker/default.nix b/pkgs/applications/virtualization/x11docker/default.nix
index 07b7a557836..6ac7377122d 100644
--- a/pkgs/applications/virtualization/x11docker/default.nix
+++ b/pkgs/applications/virtualization/x11docker/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper, nx-libs, xorg, getopt, gnugrep, gawk, ps, mount, iproute2 }:
 stdenv.mkDerivation rec {
   pname = "x11docker";
-  version = "7.0.1";
+  version = "7.1.0";
   src = fetchFromGitHub {
     owner = "mviereck";
     repo = "x11docker";
     rev = "v${version}";
-    sha256 = "sha256-ojKloMFbpBsr8fykMbLIBAzrlVaJDv+4BL0lozXsgC4=";
+    sha256 = "sha256-SBX50wQbNUvgmnO0B0iXiEXEmJrkVmtNqUUv0O6yRic=";
   };
   nativeBuildInputs = [ makeWrapper ];
 
diff --git a/pkgs/applications/virtualization/xen/generic.nix b/pkgs/applications/virtualization/xen/generic.nix
index 0a2febd0589..c85e7011668 100644
--- a/pkgs/applications/virtualization/xen/generic.nix
+++ b/pkgs/applications/virtualization/xen/generic.nix
@@ -18,7 +18,7 @@ config:
 
 # Documentation
 # python2Packages.markdown
-, transfig, ghostscript, texinfo, pandoc
+, fig2dev, ghostscript, texinfo, pandoc
 
 , binutils-unwrapped
 
@@ -81,7 +81,7 @@ stdenv.mkDerivation (rec {
     python2Packages.wrapPython
 
     # Documentation
-    python2Packages.markdown transfig ghostscript texinfo pandoc
+    python2Packages.markdown fig2dev ghostscript texinfo pandoc
 
     # Others
   ] ++ (concatMap (x: x.buildInputs or []) (attrValues config.xenfiles))
diff --git a/pkgs/applications/window-managers/berry/default.nix b/pkgs/applications/window-managers/berry/default.nix
index 23aa8ff8201..e7cc1a477c5 100644
--- a/pkgs/applications/window-managers/berry/default.nix
+++ b/pkgs/applications/window-managers/berry/default.nix
@@ -50,7 +50,7 @@ stdenv.mkDerivation rec {
       comment = meta.description;
       desktopName = "Berry Window Manager";
       genericName = "Berry Window Manager";
-      categories = "Utility;";
+      categories = [ "Utility" ];
     })
   ];
 
diff --git a/pkgs/applications/window-managers/dwm/dwm-status.nix b/pkgs/applications/window-managers/dwm/dwm-status.nix
index 7b22eb39925..1b83e28309e 100644
--- a/pkgs/applications/window-managers/dwm/dwm-status.nix
+++ b/pkgs/applications/window-managers/dwm/dwm-status.nix
@@ -9,19 +9,19 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "dwm-status";
-  version = "1.7.2";
+  version = "1.7.3";
 
   src = fetchFromGitHub {
     owner = "Gerschtli";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Y1J0nCVEmGKgQP+GEtPqK8l3SRuls5yesvJuowLDzUo=";
+    sha256 = "sha256-dkVo9NpGt3G6by9Of1kOlXaZn7xsVSvfNXq7KPO6HE4=";
   };
 
   nativeBuildInputs = [ makeWrapper pkg-config ];
   buildInputs = [ dbus gdk-pixbuf libnotify xorg.libX11 ];
 
-  cargoSha256 = "sha256-8/vzJXZjSQmefHMo5BXKTRiLy2F3wfIn8VgPMJxtIvY=";
+  cargoSha256 = "sha256-QPnr7dUsq/RzuNLpbTRQbGB3zU6lNuPPPM9FmH4ydzY=";
 
   postInstall = lib.optionalString (bins != [])  ''
     wrapProgram $out/bin/dwm-status --prefix "PATH" : "${lib.makeBinPath bins}"
diff --git a/pkgs/applications/window-managers/i3/balance-workspace.nix b/pkgs/applications/window-managers/i3/balance-workspace.nix
index 4647f0a0721..f3c2e13fbdc 100644
--- a/pkgs/applications/window-managers/i3/balance-workspace.nix
+++ b/pkgs/applications/window-managers/i3/balance-workspace.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "i3-balance-workspace";
-  version = "1.8.5";
+  version = "1.8.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b5d72b756f79878a058484825bb343b100433e00a01f80c9c6d1ccc9f4af57a";
+    sha256 = "sha256-zJdn/Q6r60FQgfehtQfeDkmN0Rz3ZaqgNhiWvjyQFy0=";
   };
 
   propagatedBuildInputs = [ i3ipc ];
diff --git a/pkgs/applications/window-managers/i3/status-rust.nix b/pkgs/applications/window-managers/i3/status-rust.nix
index a194a132669..cdcfcca15ea 100644
--- a/pkgs/applications/window-managers/i3/status-rust.nix
+++ b/pkgs/applications/window-managers/i3/status-rust.nix
@@ -15,16 +15,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "i3status-rust";
-  version = "0.21.4";
+  version = "0.21.6";
 
   src = fetchFromGitHub {
     owner = "greshake";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-D/+SDKkrYfdzFw+cNBJrCshpDuFSLbr70jvFMbX3B0w=";
+    sha256 = "sha256-2PBGw5LHIOOPXBZ+12wL2ZGH+gfbkXNIItpE6SLT8so=";
   };
 
-  cargoSha256 = "sha256-tNwf2ShnzoSrb1R/g0hOGwQMulWYXyVCILU3Jb+Sfpg=";
+  cargoSha256 = "sha256-wtxfdQw5zKCxYu7N2BpcLVTlitQmwY7s8oO4dpK8MjE=";
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
@@ -56,7 +56,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "Very resource-friendly and feature-rich replacement for i3status";
     homepage = "https://github.com/greshake/i3status-rust";
-    license = licenses.gpl3;
+    license = licenses.gpl3Only;
     maintainers = with maintainers; [ backuitist globin ma27 ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/applications/window-managers/leftwm/default.nix b/pkgs/applications/window-managers/leftwm/default.nix
index 5b77320e220..20f4c33ae60 100644
--- a/pkgs/applications/window-managers/leftwm/default.nix
+++ b/pkgs/applications/window-managers/leftwm/default.nix
@@ -6,16 +6,16 @@ in
 
 rustPlatform.buildRustPackage rec {
   pname = "leftwm";
-  version = "0.2.10";
+  version = "0.2.11";
 
   src = fetchFromGitHub {
     owner = "leftwm";
     repo = "leftwm";
     rev = version;
-    sha256 = "sha256-WGss/XmryULq8Ly5MFmEqsL+9r4fnrvBEtetngJ05NY=";
+    sha256 = "sha256-GLHmX628UUdIM+xYJhPtqFg4whQqaF8hFxg0Z5grPac=";
   };
 
-  cargoSha256 = "sha256-9qvXzsAu4H2TAcArajrGqXwKF3BBDvmZbny7hiVO9Yo=";
+  cargoSha256 = "sha256-4Pu3TDLmi0c2nyUj1lTRincgRqL40A/g0PkyJOen0is=";
 
   buildInputs = rpathLibs;
 
diff --git a/pkgs/applications/window-managers/phosh/default.nix b/pkgs/applications/window-managers/phosh/default.nix
index e1f805662c6..2c01a37aa43 100644
--- a/pkgs/applications/window-managers/phosh/default.nix
+++ b/pkgs/applications/window-managers/phosh/default.nix
@@ -30,7 +30,7 @@
 
 stdenv.mkDerivation rec {
   pname = "phosh";
-  version = "0.14.1";
+  version = "0.15.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
@@ -39,7 +39,7 @@ stdenv.mkDerivation rec {
     repo = pname;
     rev = "v${version}";
     fetchSubmodules = true; # including gvc and libcall-ui which are designated as subprojects
-    sha256 = "sha256-FILSNVBYpWSPXeDb1Vc4jZ7zJMg0Gj6EY5yoc81gUr0=";
+    sha256 = "sha256-ZEfYjgSaj4vVdfgdIcg0PWwlFX90PIm5wvdn9P/8tvo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/applications/window-managers/picom/default.nix b/pkgs/applications/window-managers/picom/default.nix
index 20e29938d0c..b5a524a38b4 100644
--- a/pkgs/applications/window-managers/picom/default.nix
+++ b/pkgs/applications/window-managers/picom/default.nix
@@ -32,13 +32,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picom";
-  version = "9";
+  version = "9.1";
 
   src = fetchFromGitHub {
     owner = "yshui";
     repo = "picom";
     rev = "v${version}";
-    sha256 = "sha256-ym4fWOcZFlHkLUQEanC+thQLbPial7ZNzxfCWSlweWg=";
+    sha256 = "sha256-Fqk6bPAOg4muxmSP+ezpGUNw6xrMWchZACKemeA08mA=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/applications/window-managers/qtile/default.nix b/pkgs/applications/window-managers/qtile/default.nix
index a505c852a95..c4a33628e13 100644
--- a/pkgs/applications/window-managers/qtile/default.nix
+++ b/pkgs/applications/window-managers/qtile/default.nix
@@ -12,6 +12,10 @@ let
       sha256 = "TRmul3t//izJRdViTvxFz29JZeGYsWc7WsJjagQ35nw=";
     };
 
+    patches = [
+      ./fix-restart.patch # https://github.com/NixOS/nixpkgs/issues/139568
+    ];
+
     postPatch = ''
       substituteInPlace libqtile/pangocffi.py \
         --replace libgobject-2.0.so.0 ${glib.out}/lib/libgobject-2.0.so.0 \
diff --git a/pkgs/applications/window-managers/qtile/fix-restart.patch b/pkgs/applications/window-managers/qtile/fix-restart.patch
new file mode 100644
index 00000000000..eca4f086634
--- /dev/null
+++ b/pkgs/applications/window-managers/qtile/fix-restart.patch
@@ -0,0 +1,22 @@
+diff --git a/libqtile/core/lifecycle.py b/libqtile/core/lifecycle.py
+index 0d4d119d..c37d1799 100644
+--- a/libqtile/core/lifecycle.py
++++ b/libqtile/core/lifecycle.py
+@@ -25,7 +25,7 @@ class LifeCycle:
+ 
+     def _atexit(self) -> None:
+         if self.behavior is Behavior.RESTART:
+-            argv = [sys.executable] + sys.argv
++            argv = sys.argv
+             if "--no-spawn" not in argv:
+                 argv.append("--no-spawn")
+             argv = [s for s in argv if not s.startswith("--with-state")]
+@@ -33,7 +33,7 @@ class LifeCycle:
+                 argv.append("--with-state=" + self.state_file)
+             logger.warning("Restarting Qtile with os.execv(...)")
+             # No other code will execute after the following line does
+-            os.execv(sys.executable, argv)
++            os.execv(sys.argv[0], argv)
+         elif self.behavior is Behavior.TERMINATE:
+             logger.warning("Qtile will now terminate")
+         elif self.behavior is Behavior.NONE:
diff --git a/pkgs/applications/window-managers/river/default.nix b/pkgs/applications/window-managers/river/default.nix
index 1e3effeba55..b1f80d102d2 100644
--- a/pkgs/applications/window-managers/river/default.nix
+++ b/pkgs/applications/window-managers/river/default.nix
@@ -14,18 +14,19 @@
 , libevdev
 , libinput
 , libGL
-, xwaylandSupport ? true, libX11
+, libX11
+, xwaylandSupport ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "river";
-  version = "0.1.2";
+  version = "0.1.3";
 
   src = fetchFromGitHub {
     owner = "riverwm";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0mysj6fmgiwzrfzm1rk09k4xa9qiqsdwvwr59b4rs010c1gsllwk";
+    sha256 = "sha256-bHfHhyDx/Wzhvhr7mAeVzJf0TBJgMTGb/ClGjWMLlQ8=";
     fetchSubmodules = true;
   };
 
@@ -55,8 +56,8 @@ stdenv.mkDerivation rec {
   '';
 
   /* Builder patch install dir into river to get default config
-     When installFlags is removed, river becomes half broken.
-     See https://github.com/riverwm/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56
+    When installFlags is removed, river becomes half broken.
+    See https://github.com/riverwm/river/blob/7ffa2f4b9e7abf7d152134f555373c2b63ccfc1d/river/main.zig#L56
   */
   installFlags = [ "DESTDIR=$(out)" ];
 
diff --git a/pkgs/build-support/coq/meta-fetch/default.nix b/pkgs/build-support/coq/meta-fetch/default.nix
index e7b15af4f06..d5fe31c6ccf 100644
--- a/pkgs/build-support/coq/meta-fetch/default.nix
+++ b/pkgs/build-support/coq/meta-fetch/default.nix
@@ -59,10 +59,9 @@ switch arg [
         (optionalAttrs has-owner { owner = head splitted; }));
     }; }
   { case = isAttrs;
-    out = let
-    { version = arg.version or "dev";
-      src = (arg.fetcher or fetcher) (location // (arg.location or {}));
-    }; }
+    out = {
+      version = arg.version or "dev";
+      src = (arg.fetcher or fetcher) (location // (arg.location or {})); }; }
   { case = isPath;
     out = {
       version = "dev" ;
diff --git a/pkgs/build-support/build-dotnet-module/default.nix b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
index 49a61f4e5d6..49a61f4e5d6 100644
--- a/pkgs/build-support/build-dotnet-module/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-module/default.nix
diff --git a/pkgs/build-support/build-dotnet-package/default.nix b/pkgs/build-support/dotnet/build-dotnet-package/default.nix
index 14446ef05e7..14446ef05e7 100644
--- a/pkgs/build-support/build-dotnet-package/default.nix
+++ b/pkgs/build-support/dotnet/build-dotnet-package/default.nix
diff --git a/pkgs/build-support/dotnetbuildhelpers/create-pkg-config-for-dll.sh b/pkgs/build-support/dotnet/dotnetbuildhelpers/create-pkg-config-for-dll.sh
index 37914170452..37914170452 100644
--- a/pkgs/build-support/dotnetbuildhelpers/create-pkg-config-for-dll.sh
+++ b/pkgs/build-support/dotnet/dotnetbuildhelpers/create-pkg-config-for-dll.sh
diff --git a/pkgs/build-support/dotnetbuildhelpers/default.nix b/pkgs/build-support/dotnet/dotnetbuildhelpers/default.nix
index 4348832ac04..4348832ac04 100644
--- a/pkgs/build-support/dotnetbuildhelpers/default.nix
+++ b/pkgs/build-support/dotnet/dotnetbuildhelpers/default.nix
diff --git a/pkgs/build-support/dotnetbuildhelpers/patch-fsharp-targets.sh b/pkgs/build-support/dotnet/dotnetbuildhelpers/patch-fsharp-targets.sh
index 3f81cc73e80..3f81cc73e80 100755
--- a/pkgs/build-support/dotnetbuildhelpers/patch-fsharp-targets.sh
+++ b/pkgs/build-support/dotnet/dotnetbuildhelpers/patch-fsharp-targets.sh
diff --git a/pkgs/build-support/dotnetbuildhelpers/placate-nuget.sh b/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-nuget.sh
index 8a7f36522a3..8a7f36522a3 100644
--- a/pkgs/build-support/dotnetbuildhelpers/placate-nuget.sh
+++ b/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-nuget.sh
diff --git a/pkgs/build-support/dotnetbuildhelpers/placate-paket.sh b/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-paket.sh
index 0dbf1eecbad..0dbf1eecbad 100644
--- a/pkgs/build-support/dotnetbuildhelpers/placate-paket.sh
+++ b/pkgs/build-support/dotnet/dotnetbuildhelpers/placate-paket.sh
diff --git a/pkgs/build-support/dotnetbuildhelpers/remove-duplicated-dlls.sh b/pkgs/build-support/dotnet/dotnetbuildhelpers/remove-duplicated-dlls.sh
index d8d29912c8f..d8d29912c8f 100644
--- a/pkgs/build-support/dotnetbuildhelpers/remove-duplicated-dlls.sh
+++ b/pkgs/build-support/dotnet/dotnetbuildhelpers/remove-duplicated-dlls.sh
diff --git a/pkgs/build-support/dotnetenv/Wrapper/Wrapper.sln b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper.sln
index f2e7d4cf8b2..f2e7d4cf8b2 100644
--- a/pkgs/build-support/dotnetenv/Wrapper/Wrapper.sln
+++ b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper.sln
diff --git a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs
index 633d23c05ff..633d23c05ff 100644
--- a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs
+++ b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Properties/AssemblyInfo.cs
diff --git a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
index abad090ebcb..abad090ebcb 100644
--- a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
+++ b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.cs.in
diff --git a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in
index a991bcb6933..a991bcb6933 100644
--- a/pkgs/build-support/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in
+++ b/pkgs/build-support/dotnet/dotnetenv/Wrapper/Wrapper/Wrapper.csproj.in
diff --git a/pkgs/build-support/dotnetenv/build-solution.nix b/pkgs/build-support/dotnet/dotnetenv/build-solution.nix
index b3372b94217..b3372b94217 100644
--- a/pkgs/build-support/dotnetenv/build-solution.nix
+++ b/pkgs/build-support/dotnet/dotnetenv/build-solution.nix
diff --git a/pkgs/build-support/dotnetenv/default.nix b/pkgs/build-support/dotnet/dotnetenv/default.nix
index 3015db42b07..3015db42b07 100644
--- a/pkgs/build-support/dotnetenv/default.nix
+++ b/pkgs/build-support/dotnet/dotnetenv/default.nix
diff --git a/pkgs/build-support/dotnetenv/wrapper.nix b/pkgs/build-support/dotnet/dotnetenv/wrapper.nix
index 423303c3084..423303c3084 100644
--- a/pkgs/build-support/dotnetenv/wrapper.nix
+++ b/pkgs/build-support/dotnet/dotnetenv/wrapper.nix
diff --git a/pkgs/build-support/fetchnuget/default.nix b/pkgs/build-support/dotnet/fetchnuget/default.nix
index 061da746cea..061da746cea 100644
--- a/pkgs/build-support/fetchnuget/default.nix
+++ b/pkgs/build-support/dotnet/fetchnuget/default.nix
diff --git a/pkgs/build-support/nuget-to-nix/default.nix b/pkgs/build-support/dotnet/nuget-to-nix/default.nix
index a5fc4e209cd..a5fc4e209cd 100644
--- a/pkgs/build-support/nuget-to-nix/default.nix
+++ b/pkgs/build-support/dotnet/nuget-to-nix/default.nix
diff --git a/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
index 55a49937018..55a49937018 100755
--- a/pkgs/build-support/nuget-to-nix/nuget-to-nix.sh
+++ b/pkgs/build-support/dotnet/nuget-to-nix/nuget-to-nix.sh
diff --git a/pkgs/build-support/fetchgit/deterministic-git b/pkgs/build-support/fetchgit/deterministic-git
new file mode 100755
index 00000000000..67f58555911
--- /dev/null
+++ b/pkgs/build-support/fetchgit/deterministic-git
@@ -0,0 +1,45 @@
+#!/bin/sh
+
+# some git commands print to stdout, which would contaminate our JSON output
+clean_git(){
+    git "$@" >&2
+}
+
+# Remove all remote branches, remove tags not reachable from HEAD, do a full
+# repack and then garbage collect unreferenced objects.
+make_deterministic_repo(){
+    local repo="$1"
+
+    # run in sub-shell to not touch current working directory
+    (
+    cd "$repo"
+    # Remove files that contain timestamps or otherwise have non-deterministic
+    # properties.
+    rm -rf .git/logs/ .git/hooks/ .git/index .git/FETCH_HEAD .git/ORIG_HEAD \
+        .git/refs/remotes/origin/HEAD .git/config
+
+    # Remove all remote branches.
+    git branch -r | while read -r branch; do
+        clean_git branch -rD "$branch"
+    done
+
+    # Remove tags not reachable from HEAD. If we're exactly on a tag, don't
+    # delete it.
+    maybe_tag=$(git tag --points-at HEAD)
+    git tag --contains HEAD | while read -r tag; do
+        if [ "$tag" != "$maybe_tag" ]; then
+            clean_git tag -d "$tag"
+        fi
+    done
+
+    # Do a full repack. Must run single-threaded, or else we lose determinism.
+    clean_git config pack.threads 1
+    clean_git repack -A -d -f
+    rm -f .git/config
+
+    # Garbage collect unreferenced objects.
+    # Note: --keep-largest-pack prevents non-deterministic ordering of packs
+    #   listed in .git/objects/info/packs by only using a single pack
+    clean_git gc --prune=all --keep-largest-pack
+    )
+}
diff --git a/pkgs/build-support/fetchgithub/default.nix b/pkgs/build-support/fetchgithub/default.nix
index 4e4162368b9..27cb8312ea0 100644
--- a/pkgs/build-support/fetchgithub/default.nix
+++ b/pkgs/build-support/fetchgithub/default.nix
@@ -5,10 +5,23 @@
 , deepClone ? false, private ? false, forceFetchGit ? false
 , sparseCheckout ? ""
 , githubBase ? "github.com", varPrefix ? null
+, meta ? { }
 , ... # For hash agility
 }@args:
+
 let
+
+  position = (if args.meta.description or null != null
+    then builtins.unsafeGetAttrPos "description" args.meta
+    else builtins.unsafeGetAttrPos "rev" args
+  );
   baseUrl = "https://${githubBase}/${owner}/${repo}";
+  newMeta = meta // {
+    homepage = meta.homepage or baseUrl;
+
+    # to indicate where derivation originates, similar to make-derivation.nix's mkDerivation
+    position = "${position.file}:${toString position.line}";
+  };
   passthruAttrs = removeAttrs args [ "owner" "repo" "rev" "fetchSubmodules" "forceFetchGit" "private" "githubBase" "varPrefix" ];
   varBase = "NIX${if varPrefix == null then "" else "_${varPrefix}"}_GITHUB_PRIVATE_";
   useFetchGit = fetchSubmodules || (leaveDotGit == true) || deepClone || forceFetchGit || (sparseCheckout != "");
@@ -37,4 +50,4 @@ let
   ) // privateAttrs // passthruAttrs // { inherit name; };
 in
 
-fetcher fetcherArgs // { meta.homepage = baseUrl; inherit rev; }
+fetcher fetcherArgs // { meta = newMeta; inherit rev; }
diff --git a/pkgs/build-support/flutter/default.nix b/pkgs/build-support/flutter/default.nix
new file mode 100644
index 00000000000..691b2c5c6e6
--- /dev/null
+++ b/pkgs/build-support/flutter/default.nix
@@ -0,0 +1,284 @@
+{ flutter
+, lib
+, llvmPackages_13
+, cmake
+, ninja
+, pkg-config
+, wrapGAppsHook
+, autoPatchelfHook
+, util-linux
+, libselinux
+, libsepol
+, libthai
+, libdatrie
+, libxkbcommon
+, at-spi2-core
+, libsecret
+, jsoncpp
+, xorg
+, dbus
+, gtk3
+, glib
+, pcre
+, libepoxy
+, stdenvNoCC
+, cacert
+, git
+, dart
+, nukeReferences
+, targetPlatform
+, bash
+, curl
+, unzip
+, which
+, xz
+}:
+
+# absolutely no mac support for now
+
+args:
+let
+  pl = n: "##FLUTTER_${n}_PLACEHOLDER_MARKER##";
+  placeholder_deps = pl "DEPS";
+  placeholder_flutter = pl "FLUTTER";
+  fetchAttrs = [ "src" "sourceRoot" "setSourceRoot" "unpackPhase" "patches" ];
+  getAttrsOrNull = names: attrs: lib.genAttrs names (name: if attrs ? ${name} then attrs.${name} else null);
+  flutterDeps = [
+    # flutter deps
+    flutter.unwrapped
+    bash
+    curl
+    flutter.dart
+    git
+    unzip
+    which
+    xz
+  ];
+  self =
+(self: llvmPackages_13.stdenv.mkDerivation (args // {
+  deps = stdenvNoCC.mkDerivation (lib.recursiveUpdate (getAttrsOrNull fetchAttrs args) {
+    name = "${self.name}-deps-flutter-v${flutter.unwrapped.version}-${targetPlatform.system}.tar.gz";
+
+    nativeBuildInputs = flutterDeps ++ [
+      nukeReferences
+    ];
+
+    # avoid pub phase
+    dontBuild = true;
+
+    installPhase = ''
+      . ${../fetchgit/deterministic-git}
+
+      TMP=$(mktemp -d)
+
+      export HOME="$TMP"
+      export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
+      export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
+
+      flutter config --no-analytics &>/dev/null # mute first-run
+      flutter config --enable-linux-desktop
+      flutter packages get
+      flutter build linux || true # so it downloads tools
+      ${lib.optionalString (args ? flutterExtraFetchCommands) args.flutterExtraFetchCommands}
+
+      RES="$TMP"
+
+      mkdir -p "$RES/f"
+
+      # so we can use lock, diff yaml
+      cp "pubspec.yaml" "$RES"
+      cp "pubspec.lock" "$RES"
+      mv .dart_tool .flutter-plugins .flutter-plugins-dependencies .packages "$RES/f"
+
+      # replace paths with placeholders
+      find "$RES" -type f -exec sed -i \
+        -e s,$TMP,${placeholder_deps},g \
+        -e s,${flutter.unwrapped},${placeholder_flutter},g \
+        {} +
+
+      remove_line_matching() {
+        replace_line_matching "$1" "$2" ""
+      }
+
+      replace_line_matching() {
+        sed "s|.*$2.*|$3|g" -r -i "$1"
+      }
+
+      # nuke nondeterminism
+
+      # clientId is random
+      remove_line_matching "$RES/.flutter" clientId
+
+      # deterministic git repos
+      find "$RES" -iname .git -type d | while read -r repoGit; do
+        make_deterministic_repo "$(dirname "$repoGit")"
+      done
+
+      # dart _fetchedAt, etc
+      DART_DATE=$(date --date="@$SOURCE_DATE_EPOCH" -In | sed "s|,|.|g" | sed "s|+.*||g")
+      find "$RES/.pub-cache" -iname "*.json" -exec sed -r 's|.*_fetchedAt.*|    "_fetchedAt": "'"$DART_DATE"'",|g' -i {} +
+      replace_line_matching "$RES/f/.dart_tool/package_config.json" '"generated"' '"generated": "'"$DART_DATE"'",'
+      replace_line_matching "$RES/f/.flutter-plugins-dependencies" '"date_created"' '"date_created": "'"$DART_DATE"'",'
+      remove_line_matching "$RES/f/.packages" "Generated by pub"
+
+      # nuke refs
+      find "$RES" -type f -exec nuke-refs {} +
+
+      # Build a reproducible tar, per instructions at https://reproducible-builds.org/docs/archives/
+      tar --owner=0 --group=0 --numeric-owner --format=gnu \
+          --sort=name --mtime="@$SOURCE_DATE_EPOCH" \
+          -czf "$out" -C "$RES" .
+    '';
+
+    GIT_SSL_CAINFO = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+    SSL_CERT_FILE = "${cacert}/etc/ssl/certs/ca-bundle.crt";
+
+    impureEnvVars = lib.fetchers.proxyImpureEnvVars ++ [
+      "GIT_PROXY_COMMAND" "NIX_GIT_SSL_CAINFO" "SOCKS_SERVER"
+    ];
+
+    # unnecesarry
+    dontFixup = true;
+
+    outputHashAlgo = if self ? vendorHash then null else "sha256";
+    # outputHashMode = "recursive";
+    outputHash = if self ? vendorHash then
+      self.vendorHash
+    else if self ? vendorSha256 then
+      self.vendorSha256
+    else
+      lib.fakeSha256;
+
+  });
+
+  nativeBuildInputs = flutterDeps ++ [
+    # flutter dev tools
+    cmake
+    ninja
+    pkg-config
+    wrapGAppsHook
+    # flutter likes dynamic linking
+    autoPatchelfHook
+  ] ++ lib.optionals (args ? nativeBuildInputs) args.nativeBuildInputs;
+
+  buildInputs = [
+    # cmake deps
+    gtk3
+    glib
+    pcre
+    util-linux
+    # also required by cmake, not sure if really needed or dep of all packages
+    libselinux
+    libsepol
+    libthai
+    libdatrie
+    xorg.libXdmcp
+    xorg.libXtst
+    libxkbcommon
+    dbus
+    at-spi2-core
+    libsecret
+    jsoncpp
+    # build deps
+    xorg.libX11
+    # directly required by build
+    libepoxy
+  ] ++ lib.optionals (args ? buildInputs) args.buildInputs;
+
+  # TODO: do we need this?
+  NIX_LDFLAGS = "-rpath ${lib.makeLibraryPath self.buildInputs}";
+  NIX_CFLAGS_COMPILE = "-I${xorg.libX11}/include";
+  LD_LIBRARY_PATH = lib.makeLibraryPath self.buildInputs;
+
+  configurePhase = ''
+    runHook preConfigure
+
+    # for some reason fluffychat build breaks without this - seems file gets overriden by some tool
+    cp pubspec.yaml pubspec-backup
+
+    # we get this from $depsFolder so disabled for now, but we might need it again once deps are fetched properly
+    # flutter config --no-analytics >/dev/null 2>/dev/null # mute first-run
+    # flutter config --enable-linux-desktop
+
+    # extract deps
+    depsFolder=$(mktemp -d)
+    tar xzf "$deps" -C "$depsFolder"
+
+    # after extracting update paths to point to real paths
+    find "$depsFolder" -type f -exec sed -i \
+      -e s,${placeholder_deps},$depsFolder,g \
+      -e s,${placeholder_flutter},${flutter.unwrapped},g \
+      {} +
+
+    # ensure we're using a lockfile for the right package version
+    if [ -e pubspec.lock ]; then
+      # FIXME: currently this is broken. in theory this should not break, but flutter has it's own way of doing things.
+      # diff -u pubspec.lock $depsFolder/pubspec.lock
+      true
+    else
+      cp -v "$depsFolder/pubspec.lock" .
+    fi
+    diff -u pubspec.yaml $depsFolder/pubspec.yaml
+
+    mv -v $(find $depsFolder/f -type f) .
+
+    # prepare
+    export HOME=$depsFolder
+    export PUB_CACHE=''${PUB_CACHE:-"$HOME/.pub-cache"}
+    export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
+
+    # binaries need to be patched
+    autoPatchelf -- "$depsFolder"
+
+    runHook postConfigure
+  '';
+
+  buildPhase = ''
+    runHook preBuild
+
+    # for some reason fluffychat build breaks without this - seems file gets overriden by some tool
+    mv pubspec-backup pubspec.yaml
+    mkdir -p build/flutter_assets/fonts
+
+    flutter packages get --offline -v
+    flutter build linux --release -v
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    built=build/linux/*/release/bundle
+
+    mkdir -p $out/bin
+    mv $built $out/app
+
+    for f in $(find $out/app -iname "*.desktop" -type f); do
+      install -D $f $out/share/applications/$(basename $f)
+    done
+
+    for f in $(find $out/app -maxdepth 1 -type f); do
+      ln -s $f $out/bin/$(basename $f)
+    done
+
+    # this confuses autopatchelf hook otherwise
+    rm -rf "$depsFolder"
+
+    # make *.so executable
+    find $out/app -iname "*.so" -type f -exec chmod +x {} +
+
+    # remove stuff like /build/source/packages/ubuntu_desktop_installer/linux/flutter/ephemeral
+    for f in $(find $out/app -executable -type f); do
+      if patchelf --print-rpath "$f" | grep /build; then # this ignores static libs (e,g. libapp.so) also
+        echo "strip RPath of $f"
+        newrp=$(patchelf --print-rpath $f | sed -r "s|/build.*ephemeral:||g" | sed -r "s|/build.*profile:||g")
+        patchelf --set-rpath "$newrp" "$f"
+      fi
+    done
+
+    runHook postInstall
+  '';
+})) self;
+in
+  self
diff --git a/pkgs/build-support/libredirect/default.nix b/pkgs/build-support/libredirect/default.nix
index 9ed00c8a8f6..8f7df3386d1 100644
--- a/pkgs/build-support/libredirect/default.nix
+++ b/pkgs/build-support/libredirect/default.nix
@@ -57,7 +57,9 @@ else stdenv.mkDerivation rec {
     ''}
 
     if [ -n "$doInstallCheck" ]; then
-      $CC -Wall -std=c99 -O3 test.c -o test
+      $CC -Wall -std=c99 \
+        ${lib.optionalString (!stdenv.isDarwin) "-D_GNU_SOURCE"} \
+        -O3 test.c -o test
     fi
 
     runHook postBuild
@@ -97,7 +99,7 @@ else stdenv.mkDerivation rec {
   installCheckPhase = ''
     (
       source "$hook/nix-support/setup-hook"
-      NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true" ./test
+      NIX_REDIRECTS="/foo/bar/test=${coreutils}/bin/true:/bar/baz=$(mktemp -d)" ./test
     )
   '';
 
diff --git a/pkgs/build-support/libredirect/libredirect.c b/pkgs/build-support/libredirect/libredirect.c
index 0dc7feb382c..1222d2ee75c 100644
--- a/pkgs/build-support/libredirect/libredirect.c
+++ b/pkgs/build-support/libredirect/libredirect.c
@@ -84,6 +84,13 @@ static const char * rewrite(const char * path, char * buf)
     return path;
 }
 
+static char * rewrite_non_const(char * path, char * buf)
+{
+    // as long as the argument `path` is non-const, we can consider discarding
+    // the const qualifier of the return value to be safe.
+    return (char *)rewrite(path, buf);
+}
+
 static int open_needs_mode(int flags)
 {
 #ifdef O_TMPFILE
@@ -354,3 +361,117 @@ WRAPPER(int, mkdirat)(int dirfd, const char *path, mode_t mode)
     return mkdirat_real(dirfd, rewrite(path, buf), mode);
 }
 WRAPPER_DEF(mkdirat)
+
+WRAPPER(int, unlink)(const char *path)
+{
+    int (*unlink_real) (const char *path) = LOOKUP_REAL(unlink);
+    char buf[PATH_MAX];
+    return unlink_real(rewrite(path, buf));
+}
+WRAPPER_DEF(unlink)
+
+WRAPPER(int, unlinkat)(int dirfd, const char *path, int flags)
+{
+    int (*unlinkat_real) (int dirfd, const char *path, int flags) = LOOKUP_REAL(unlinkat);
+    char buf[PATH_MAX];
+    return unlinkat_real(dirfd, rewrite(path, buf), flags);
+}
+WRAPPER_DEF(unlinkat)
+
+WRAPPER(int, rmdir)(const char *path)
+{
+    int (*rmdir_real) (const char *path) = LOOKUP_REAL(rmdir);
+    char buf[PATH_MAX];
+    return rmdir_real(rewrite(path, buf));
+}
+WRAPPER_DEF(rmdir)
+
+static void copy_temp_wildcard(char * dest, char * src, int suffixlen) {
+    int dest_len = strnlen(dest, PATH_MAX);
+    int src_len = strnlen(src, PATH_MAX);
+    memcpy(dest + dest_len - (6 + suffixlen), src + src_len - (6 + suffixlen), 6);
+}
+
+WRAPPER(int, mkstemp)(char *template)
+{
+    int (*mkstemp_real) (char *template) = LOOKUP_REAL(mkstemp);
+    char buf[PATH_MAX];
+    char * rewritten = rewrite_non_const(template, buf);
+    int retval = mkstemp_real(rewritten);
+    if (retval >= 0 && rewritten != template) {
+        copy_temp_wildcard(template, rewritten, 0);
+    }
+    return retval;
+}
+WRAPPER_DEF(mkstemp)
+
+WRAPPER(int, mkostemp)(char *template, int flags)
+{
+    int (*mkostemp_real) (char *template, int flags) = LOOKUP_REAL(mkostemp);
+    char buf[PATH_MAX];
+    char * rewritten = rewrite_non_const(template, buf);
+    int retval = mkostemp_real(rewritten, flags);
+    if (retval >= 0 && rewritten != template) {
+        copy_temp_wildcard(template, rewritten, 0);
+    }
+    return retval;
+}
+WRAPPER_DEF(mkostemp)
+
+WRAPPER(int, mkstemps)(char *template, int suffixlen)
+{
+    int (*mkstemps_real) (char *template, int suffixlen) = LOOKUP_REAL(mkstemps);
+    char buf[PATH_MAX];
+    char * rewritten = rewrite_non_const(template, buf);
+    int retval = mkstemps_real(rewritten, suffixlen);
+    if (retval >= 0 && rewritten != template) {
+        copy_temp_wildcard(template, rewritten, suffixlen);
+    }
+    return retval;
+}
+WRAPPER_DEF(mkstemps)
+
+WRAPPER(int, mkostemps)(char *template, int suffixlen, int flags)
+{
+    int (*mkostemps_real) (char *template, int suffixlen, int flags) = LOOKUP_REAL(mkostemps);
+    char buf[PATH_MAX];
+    char * rewritten = rewrite_non_const(template, buf);
+    int retval = mkostemps_real(rewritten, suffixlen, flags);
+    if (retval >= 0 && rewritten != template) {
+        copy_temp_wildcard(template, rewritten, suffixlen);
+    }
+    return retval;
+}
+WRAPPER_DEF(mkostemps)
+
+WRAPPER(char *, mkdtemp)(char *template)
+{
+    char * (*mkdtemp_real) (char *template) = LOOKUP_REAL(mkdtemp);
+    char buf[PATH_MAX];
+    char * rewritten = rewrite_non_const(template, buf);
+    char * retval = mkdtemp_real(rewritten);
+    if (retval == NULL) {
+        return retval;
+    };
+    if (rewritten != template) {
+        copy_temp_wildcard(template, rewritten, 0);
+    }
+    return template;
+}
+WRAPPER_DEF(mkdtemp)
+
+WRAPPER(char *, mktemp)(char *template)
+{
+    char * (*mktemp_real) (char *template) = LOOKUP_REAL(mktemp);
+    char buf[PATH_MAX];
+    char * rewritten = rewrite_non_const(template, buf);
+    char * retval = mktemp_real(rewritten);
+    if (retval == NULL) {
+        return retval;
+    };
+    if (rewritten != template) {
+        copy_temp_wildcard(template, rewritten, 0);
+    }
+    return template;
+}
+WRAPPER_DEF(mktemp)
diff --git a/pkgs/build-support/libredirect/test.c b/pkgs/build-support/libredirect/test.c
index 853f26bb520..144e6d3d66d 100644
--- a/pkgs/build-support/libredirect/test.c
+++ b/pkgs/build-support/libredirect/test.c
@@ -1,14 +1,18 @@
 #include <assert.h>
+#include <errno.h>
 #include <fcntl.h>
+#include <limits.h>
 #include <spawn.h>
 #include <stdio.h>
 #include <stdlib.h>
+#include <string.h>
 #include <unistd.h>
 
 #include <sys/stat.h>
 #include <sys/types.h>
 #include <sys/wait.h>
 
+#define TESTDIR "/bar/baz"
 #define TESTPATH "/foo/bar/test"
 #define SUBTEST "./test sub"
 
@@ -41,11 +45,25 @@ void test_subprocess(void) {
     assert(system(SUBTEST) == 0);
 }
 
+void assert_mktemp_path(
+    const char * orig_prefix,
+    const char * orig_suffix,
+    const char * updated
+) {
+    // prefix unchanged
+    assert(strncmp(updated, orig_prefix, strlen(orig_prefix)) == 0);
+    // wildcards replaced
+    assert(strcmp(updated + strlen(orig_prefix), "XXXXXX") != 0);
+    // suffix unchanged
+    assert(strcmp(updated + strlen(orig_prefix) + 6, orig_suffix) == 0);
+}
+
 int main(int argc, char *argv[])
 {
     FILE *testfp;
     int testfd;
     struct stat testsb;
+    char buf[PATH_MAX];
 
     testfp = fopen(TESTPATH, "r");
     assert(testfp != NULL);
@@ -59,6 +77,54 @@ int main(int argc, char *argv[])
 
     assert(stat(TESTPATH, &testsb) != -1);
 
+    assert(mkdir(TESTDIR "/dir-mkdir", 0777) == 0);
+    assert(unlink(TESTDIR "/dir-mkdir") == -1); // it's a directory!
+#ifndef __APPLE__
+    assert(errno == EISDIR);
+#endif
+    assert(rmdir(TESTDIR "/dir-mkdir") == 0);
+    assert(unlink(TESTDIR "/dir-mkdir") == -1);
+    assert(errno == ENOENT);
+
+    assert(mkdirat(123, TESTDIR "/dir-mkdirat", 0777) == 0);
+    assert(unlinkat(123, TESTDIR "/dir-mkdirat", 0) == -1); // it's a directory!
+#ifndef __APPLE__
+    assert(errno == EISDIR);
+#endif
+    assert(unlinkat(123, TESTDIR "/dir-mkdirat", AT_REMOVEDIR) == 0);
+
+    strncpy(buf, TESTDIR "/tempXXXXXX", PATH_MAX);
+    testfd = mkstemp(buf);
+    assert(testfd > 0);
+    assert_mktemp_path(TESTDIR "/temp", "", buf);
+    close(testfd);
+
+    strncpy(buf, TESTDIR "/tempXXXXXX", PATH_MAX);
+    testfd = mkostemp(buf, 0);
+    assert(testfd > 0);
+    assert_mktemp_path(TESTDIR "/temp", "", buf);
+    close(testfd);
+
+    strncpy(buf, TESTDIR "/tempXXXXXX.test", PATH_MAX);
+    testfd = mkstemps(buf, strlen(".test"));
+    assert(testfd > 0);
+    assert_mktemp_path(TESTDIR "/temp", ".test", buf);
+    close(testfd);
+
+    strncpy(buf, TESTDIR "/tempXXXXXX.test", PATH_MAX);
+    testfd = mkostemps(buf, strlen(".test"), 0);
+    assert(testfd > 0);
+    assert_mktemp_path(TESTDIR "/temp", ".test", buf);
+    close(testfd);
+
+    strncpy(buf, TESTDIR "/tempXXXXXX", PATH_MAX);
+    assert(mkdtemp(buf) == buf);
+    assert_mktemp_path(TESTDIR "/temp", "", buf);
+
+    strncpy(buf, TESTDIR "/tempXXXXXX", PATH_MAX);
+    assert(mktemp(buf) == buf);
+    assert_mktemp_path(TESTDIR "/temp", "", buf);
+
     test_spawn();
     test_system();
 
diff --git a/pkgs/build-support/make-darwin-bundle/default.nix b/pkgs/build-support/make-darwin-bundle/default.nix
new file mode 100644
index 00000000000..b8f58882fff
--- /dev/null
+++ b/pkgs/build-support/make-darwin-bundle/default.nix
@@ -0,0 +1,26 @@
+# given a package with an executable and an icon, make a darwin bundle for
+# it. This package should be used when generating launchers for native Darwin
+# applications. If the package conatins a .desktop file use
+# `desktopToDarwinLauncher` instead.
+
+{ lib, writeShellScript, writeDarwinBundle }:
+
+{ name # The name of the Application file.
+, exec # Executable file.
+, icon ? "" # Optional icon file.
+}:
+
+writeShellScript "make-darwin-bundle-${name}" (''
+  function makeDarwinBundlePhase() {
+    mkdir -p "$out/Applications/${name}.app/Contents/MacOS"
+    mkdir -p "$out/Applications/${name}.app/Contents/Resources"
+
+    if [ -n "${icon}" ]; then
+      ln -s "${icon}" "$out/Applications/${name}.app/Contents/Resources"
+    fi
+
+    ${writeDarwinBundle}/bin/write-darwin-bundle "$out" "${name}" "${exec}"
+  }
+
+  preDistPhases+=" makeDarwinBundlePhase"
+'')
diff --git a/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix
new file mode 100644
index 00000000000..63ef7e65507
--- /dev/null
+++ b/pkgs/build-support/make-darwin-bundle/write-darwin-bundle.nix
@@ -0,0 +1,40 @@
+{ writeScriptBin, lib, ... }:
+
+let
+  pListText = lib.generators.toPlist { } {
+    CFBundleDevelopmentRegion = "English";
+    CFBundleExecutable = "$name";
+    CFBundleIconFiles = [ "$iconPlistArray" ];
+    CFBundleIdentifier = "org.nixos.$name";
+    CFBundleInfoDictionaryVersion = "6.0";
+    CFBundleName = "$name";
+    CFBundlePackageType = "APPL";
+    CFBundleSignature = "???";
+  };
+
+# The generation of the CFBundleIconFiles array is a bit of a hack, since we
+# will always end up with an empty first element (<string></string>) but macOS
+# appears to ignore this which allows us to use the nix PList generator.
+in writeScriptBin "write-darwin-bundle" ''
+    shopt -s nullglob
+
+    readonly prefix="$1"
+    readonly name="$2"
+    readonly exec="$3"
+    iconPlistArray=""
+
+    for icon in "$prefix/Applications/$name.app/Contents/Resources"/*; do
+        iconPlistArray="$iconPlistArray</string><string>"$(basename "$icon")""
+    done
+
+    cat > "$prefix/Applications/$name.app/Contents/Info.plist" <<EOF
+${pListText}
+EOF
+
+    cat > "$prefix/Applications/$name.app/Contents/MacOS/$name" <<EOF
+#!/bin/bash
+exec $prefix/bin/$exec
+EOF
+
+    chmod +x "$prefix/Applications/$name.app/Contents/MacOS/$name"
+''
diff --git a/pkgs/build-support/make-desktopitem/default.nix b/pkgs/build-support/make-desktopitem/default.nix
index 1491a3ad911..787f0f67847 100644
--- a/pkgs/build-support/make-desktopitem/default.nix
+++ b/pkgs/build-support/make-desktopitem/default.nix
@@ -1,67 +1,118 @@
-{ lib, runCommandLocal, desktop-file-utils }:
+{ lib, writeTextFile, desktop-file-utils }:
 
+# All possible values as defined by the spec, version 1.4.
+# Please keep in spec order for easier maintenance.
+# When adding a new value, don't forget to update the Version field below!
 # See https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
 { name # The name of the desktop file
 , type ? "Application"
-, exec
-, icon ? null
-, comment ? null
-, terminal ? false
+# version is hardcoded
 , desktopName # The name of the application
 , genericName ? null
-, mimeType ? null
-, categories ? null
-, startupNotify ? null
 , noDisplay ? null
+, comment ? null
+, icon ? null
+# we don't support the Hidden key - if you don't need something, just don't install it
+, onlyShowIn ? []
+, notShowIn ? []
+, dbusActivatable ? null
+, tryExec ? null
+, exec ? null
+, path ? null
+, terminal ? null
+, actions ? {} # An attrset of [internal name] -> { name, exec?, icon? }
+, mimeTypes ? [] # The spec uses "MimeType" as singular, use plural here to signify list-ness
+, categories ? []
+, implements ? []
+, keywords ? []
+, startupNotify ? null
+, startupWMClass ? null
+, url ? null
 , prefersNonDefaultGPU ? null
-, extraDesktopEntries ? { } # Extra key-value pairs to add to the [Desktop Entry] section. This may override other values
-, extraEntries ? "" # Extra configuration. Will be appended to the end of the file and may thus contain extra sections
-, fileValidation ? true # whether to validate resulting desktop file.
+# not supported until version 1.5, which is not supported by our desktop-file-utils as of 2022-02-23
+# , singleMainWindow ? null
+, extraConfig ? {} # Additional values to be added literally to the final item, e.g. vendor extensions
 }:
 let
-  # like builtins.toString, but null -> null instead of null -> ""
-  nullableToString = value:
+  # There are multiple places in the FDO spec that make "boolean" values actually tristate,
+  # e.g. StartupNotify, where "unset" is literally defined as "do something reasonable".
+  # So, handle null values separately.
+  boolOrNullToString = value:
     if value == null then null
     else if builtins.isBool value then lib.boolToString value
-    else builtins.toString value;
+    else throw "Value must be a boolean or null!";
 
-  # The [Desktop entry] section of the desktop file, as attribute set.
+  # Multiple values are represented as one string, joined by semicolons.
+  # Technically, it's possible to escape semicolons in values with \;, but this is currently not implemented.
+  renderList = value:
+    if !builtins.isList value then throw "Value must be a list!"
+    else if builtins.any (item: lib.hasInfix ";" item) value then throw "Values in list must not contain semicolons!"
+    else if value == [] then null
+    else builtins.concatStringsSep ";" value;
+
+  # The [Desktop Entry] section of the desktop file, as an attribute set.
+  # Please keep in spec order.
   mainSection = {
-    "Type" = toString type;
-    "Exec" = nullableToString exec;
-    "Icon" = nullableToString icon;
-    "Comment" = nullableToString comment;
-    "Terminal" = nullableToString terminal;
-    "Name" = toString desktopName;
-    "GenericName" = nullableToString genericName;
-    "MimeType" = nullableToString mimeType;
-    "Categories" = nullableToString categories;
-    "StartupNotify" = nullableToString startupNotify;
-    "NoDisplay" = nullableToString noDisplay;
-    "PrefersNonDefaultGPU" = nullableToString prefersNonDefaultGPU;
-  } // extraDesktopEntries;
+    "Type" = type;
+    "Version" = "1.4";
+    "Name" = desktopName;
+    "GenericName" = genericName;
+    "NoDisplay" = boolOrNullToString noDisplay;
+    "Comment" = comment;
+    "Icon" = icon;
+    "OnlyShowIn" = renderList onlyShowIn;
+    "NotShowIn" = renderList notShowIn;
+    "DBusActivatable" = boolOrNullToString dbusActivatable;
+    "TryExec" = tryExec;
+    "Exec" = exec;
+    "Path" = path;
+    "Terminal" = boolOrNullToString terminal;
+    "Actions" = renderList (builtins.attrNames actions);
+    "MimeType" = renderList mimeTypes;
+    "Categories" = renderList categories;
+    "Implements" = renderList implements;
+    "Keywords" = renderList keywords;
+    "StartupNotify" = boolOrNullToString startupNotify;
+    "StartupWMClass" = startupWMClass;
+    "URL" = url;
+    "PrefersNonDefaultGPU" = boolOrNullToString prefersNonDefaultGPU;
+    # "SingleMainWindow" = boolOrNullToString singleMainWindow;
+  } // extraConfig;
+
+  # Render a single attribute pair to a Key=Value line.
+  # FIXME: this isn't entirely correct for arbitrary strings, as some characters
+  # need to be escaped. There are currently none in nixpkgs though, so this is OK.
+  renderLine = name: value: if value != null then "${name}=${value}" else null;
+
+  # Render a full section of the file from an attrset.
+  # Null values are intentionally left out.
+  renderSection = sectionName: attrs:
+    lib.pipe attrs [
+      (lib.mapAttrsToList renderLine)
+      (builtins.filter (v: !isNull v))
+      (builtins.concatStringsSep "\n")
+      (section: ''
+        [${sectionName}]
+        ${section}
+      '')
+    ];
+
+  mainSectionRendered = renderSection "Desktop Entry" mainSection;
+
+  # Convert from javaCase names as used in Nix to PascalCase as used in the spec.
+  preprocessAction = { name, icon ? null, exec ? null }: {
+    "Name" = name;
+    "Icon" = icon;
+    "Exec" = exec;
+  };
+  renderAction = name: attrs: renderSection "Desktop Action ${name}" (preprocessAction attrs);
+  actionsRendered = lib.mapAttrsToList renderAction actions;
 
-  # Map all entries to a list of lines
-  desktopFileStrings =
-    [ "[Desktop Entry]" ]
-    ++ builtins.filter
-      (v: v != null)
-      (lib.mapAttrsToList
-        (name: value: if value != null then "${name}=${value}" else null)
-        mainSection
-      )
-    ++ (if extraEntries == "" then [ ] else [ "${extraEntries}" ]);
+  content = [ mainSectionRendered ] ++ actionsRendered;
 in
-runCommandLocal "${name}.desktop"
-{
-  nativeBuildInputs = [ desktop-file-utils ];
+writeTextFile {
+  name = "${name}.desktop";
+  destination = "/share/applications/${name}.desktop";
+  text = builtins.concatStringsSep "\n" content;
+  checkPhase = "${desktop-file-utils}/bin/desktop-file-validate $target";
 }
-  (''
-    mkdir -p "$out/share/applications"
-    cat > "$out/share/applications/${name}.desktop" <<EOF
-    ${builtins.concatStringsSep "\n" desktopFileStrings}
-    EOF
-  '' + lib.optionalString fileValidation ''
-    echo "Running desktop-file validation"
-    desktop-file-validate "$out/share/applications/${name}.desktop"
-  '')
diff --git a/pkgs/build-support/rust/hooks/default.nix b/pkgs/build-support/rust/hooks/default.nix
index d86c9ebaed8..d3369245707 100644
--- a/pkgs/build-support/rust/hooks/default.nix
+++ b/pkgs/build-support/rust/hooks/default.nix
@@ -1,6 +1,7 @@
 { buildPackages
 , callPackage
 , cargo
+, clang
 , diffutils
 , lib
 , makeSetupHook
@@ -92,4 +93,13 @@ in {
           rustBuildPlatform rustTargetPlatform rustTargetPlatformSpec;
       };
     } ./maturin-build-hook.sh) {};
+
+    bindgenHook = callPackage ({}: makeSetupHook {
+      name = "rust-bindgen-hook";
+      substitutions = {
+        libclang = clang.cc.lib;
+        inherit clang;
+      };
+    }
+    ./rust-bindgen-hook.sh) {};
 }
diff --git a/pkgs/build-support/rust/hooks/rust-bindgen-hook.sh b/pkgs/build-support/rust/hooks/rust-bindgen-hook.sh
new file mode 100644
index 00000000000..53624b124f2
--- /dev/null
+++ b/pkgs/build-support/rust/hooks/rust-bindgen-hook.sh
@@ -0,0 +1,13 @@
+# populates LIBCLANG_PATH and BINDGEN_EXTRA_CLANG_ARGS for rust projects that
+# depend on the bindgen crate
+
+# if you modify this, you probably also need to modify the wrapper for the cli
+# of bindgen in pkgs/development/tools/rust/bindgen/wrapper.sh
+
+populateBindgenEnv () {
+    export LIBCLANG_PATH=@libclang@/lib
+    BINDGEN_EXTRA_CLANG_ARGS="$(< @clang@/nix-support/cc-cflags) $(< @clang@/nix-support/libc-cflags) $(< @clang@/nix-support/libcxx-cxxflags) $NIX_CFLAGS_COMPILE"
+    export BINDGEN_EXTRA_CLANG_ARGS
+}
+
+postHook="${postHook:-}"$'\n'"populateBindgenEnv"$'\n'
diff --git a/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
new file mode 100644
index 00000000000..d1175d3a5f9
--- /dev/null
+++ b/pkgs/build-support/setup-hooks/desktop-to-darwin-bundle.sh
@@ -0,0 +1,48 @@
+#!/usr/bin/env bash
+fixupOutputHooks+=('convertDesktopFiles $prefix')
+
+# Get a param out of a desktop file. First parameter is the file and the second
+# is a pattern of the key who's value we should fetch.
+getDesktopParam() {
+    local file="$1";
+    local pattern="$2";
+
+    awk -F "=" "/${pattern}/ {print \$2}" "${file}"
+}
+
+# For a given .desktop file, generate a darwin '.app' bundle for it.
+convertDesktopFile() {
+    local -r file="$1"
+    local -r name=$(getDesktopParam "${file}" "^Name")
+    local -r exec=$(getDesktopParam "${file}" "Exec")
+    local -r iconName=$(getDesktopParam "${file}" "Icon")
+    local -r iconFiles=$(find "$out/share/icons/" -name "${iconName}.*" 2>/dev/null);
+    local -r pixMaps=$(find "$out/share/pixmaps/" -name "${iconName}.xpm" 2>/dev/null);
+
+    mkdir -p "$out/Applications/${name}.app/Contents/MacOS"
+    mkdir -p "$out/Applications/${name}.app/Contents/Resources"
+
+    local i=0;
+    for icon in $iconFiles; do
+      ln -s "$icon" "$out/Applications/${name}.app/Contents/Resources/$i-$(basename "$icon")"
+      (( i +=1 ));
+    done
+
+    for pixmap in $pixMaps; do
+      local newIconName="$i-$(basename "$pixmap")";
+      convert "$pixmap" "$out/Applications/${name}.app/Contents/Resources/${newIconName%.xpm}.png"
+      (( i +=1 ));
+    done
+
+    write-darwin-bundle "$out" "$name" "$exec"
+}
+
+convertDesktopFiles() {
+    local dir="$1/share/applications/"
+
+    if [ -d "${dir}" ]; then
+        for desktopFile in $(find "$dir" -iname "*.desktop"); do
+            convertDesktopFile "$desktopFile";
+        done
+    fi
+}
diff --git a/pkgs/build-support/setup-hooks/make-wrapper.sh b/pkgs/build-support/setup-hooks/make-wrapper.sh
index 903e17c3b2e..604096135c2 100644
--- a/pkgs/build-support/setup-hooks/make-wrapper.sh
+++ b/pkgs/build-support/setup-hooks/make-wrapper.sh
@@ -36,6 +36,58 @@ makeWrapper() {
 
     assertExecutable "$original"
 
+    # Write wrapper code which adds `value` to the beginning or end of
+    # the list variable named by `varName`, depending on the `mode`
+    # specified.
+    #
+    # A value which is already part of the list will not be added
+    # again. If this is the case and the `suffix` mode is used, the
+    # list won't be touched at all. The `prefix` mode will however
+    # move the last matching instance of the value to the beginning
+    # of the list. Any remaining duplicates of the value will be left
+    # as-is.
+    addValue() {
+        local mode="$1"       # `prefix` or `suffix` to add to the beginning or end respectively
+        local varName="$2"    # name of list variable to add to
+        local separator="$3"  # character used to separate elements of list
+        local value="$4"      # one value, or multiple values separated by `separator`, to add to list
+        if test -n "$value"; then
+            local old_ifs=$IFS
+            IFS=$separator
+
+            if [[ "$mode" == '--prefix'* ]]; then
+                # Keep the order of the components as written when
+                # prefixing; normally, they would be added in the
+                # reverse order.
+                local tmp=
+                for v in $value; do
+                    tmp=$v${tmp:+$separator}$tmp
+                done
+                value="$tmp"
+            fi
+            for v in $value; do
+                {
+                    echo "$varName=\${$varName:+${separator@Q}\$$varName${separator@Q}}"               # add separators on both ends unless empty
+                    if [[ "$mode" == '--prefix'* ]]; then                                              # -- in prefix mode --
+                        echo "$varName=\${$varName/${separator@Q}${v@Q}${separator@Q}/${separator@Q}}" # remove the first instance of the value (if any)
+                        echo "$varName=${v@Q}\$$varName"                                               # prepend the value
+                    elif [[ "$mode" == '--suffix'* ]]; then                                            # -- in suffix mode --
+                        echo "if [[ \$$varName != *${separator@Q}${v@Q}${separator@Q}* ]]; then"       # if the value isn't already in the list
+                        echo "    $varName=\$$varName${v@Q}"                                           # append the value
+                        echo "fi"
+                    else
+                        echo "unknown mode $mode!" 1>&2
+                        exit 1
+                    fi
+                    echo "$varName=\${$varName#${separator@Q}}"                                        # remove leading separator
+                    echo "$varName=\${$varName%${separator@Q}}"                                        # remove trailing separator
+                    echo "export $varName"
+                } >> "$wrapper"
+            done
+            IFS=$old_ifs
+        fi
+    }
+
     mkdir -p "$(dirname "$wrapper")"
 
     echo "#! @shell@ -e" > "$wrapper"
@@ -67,28 +119,14 @@ makeWrapper() {
             separator="${params[$((n + 2))]}"
             value="${params[$((n + 3))]}"
             n=$((n + 3))
-            if test -n "$value"; then
-                if test "$p" = "--suffix"; then
-                    echo "export $varName=\$$varName\${$varName:+${separator@Q}}${value@Q}" >> "$wrapper"
-                else
-                    echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
-                fi
-            fi
-        elif [[ "$p" == "--prefix-each" ]]; then
-            varName="${params[$((n + 1))]}"
-            separator="${params[$((n + 2))]}"
-            values="${params[$((n + 3))]}"
-            n=$((n + 3))
-            for value in $values; do
-                echo "export $varName=${value@Q}\${$varName:+${separator@Q}}\$$varName" >> "$wrapper"
-            done
-        elif [[ "$p" == "--suffix-each" ]]; then
+            addValue "$p" "$varName" "$separator" "$value"
+        elif [[ ("$p" == "--suffix-each") || ("$p" == "--prefix-each") ]]; then
             varName="${params[$((n + 1))]}"
             separator="${params[$((n + 2))]}"
             values="${params[$((n + 3))]}"
             n=$((n + 3))
             for value in $values; do
-                echo "export $varName=\$$varName\${$varName:+$separator}${value@Q}" >> "$wrapper"
+                addValue "$p" "$varName" "$separator" "$value"
             done
         elif [[ ("$p" == "--suffix-contents") || ("$p" == "--prefix-contents") ]]; then
             varName="${params[$((n + 1))]}"
@@ -97,11 +135,7 @@ makeWrapper() {
             n=$((n + 3))
             for fileName in $fileNames; do
                 contents="$(cat "$fileName")"
-                if test "$p" = "--suffix-contents"; then
-                    echo "export $varName=\$$varName\${$varName:+$separator}${contents@Q}" >> "$wrapper"
-                else
-                    echo "export $varName=${contents@Q}\${$varName:+$separator}\$$varName" >> "$wrapper"
-                fi
+                addValue "$p" "$varName" "$separator" "$contents"
             done
         elif [[ "$p" == "--add-flags" ]]; then
             flags="${params[$((n + 1))]}"
diff --git a/pkgs/common-updater/generic-updater.nix b/pkgs/common-updater/generic-updater.nix
index 8483f9bbd1d..df47df14b85 100644
--- a/pkgs/common-updater/generic-updater.nix
+++ b/pkgs/common-updater/generic-updater.nix
@@ -55,7 +55,7 @@ let
       return 1
     }
 
-    tags=$($version_lister $pname ${fileForGitCommands}) || exit 1
+    tags=$($version_lister --pname=${pname} --file="${fileForGitCommands}") || exit 1
 
     # print available tags
     for tag in $tags; do
diff --git a/pkgs/common-updater/git-updater.nix b/pkgs/common-updater/git-updater.nix
new file mode 100644
index 00000000000..304bad9af60
--- /dev/null
+++ b/pkgs/common-updater/git-updater.nix
@@ -0,0 +1,17 @@
+{ genericUpdater
+, common-updater-scripts
+}:
+
+{ pname
+, version
+, attrPath ? pname
+, ignoredVersions ? ""
+, rev-prefix ? ""
+, odd-unstable ? false
+, patchlevel-unstable ? false
+}:
+
+genericUpdater {
+  inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
+  versionLister = "${common-updater-scripts}/bin/list-git-tags";
+}
diff --git a/pkgs/common-updater/http-two-levels-updater.nix b/pkgs/common-updater/http-two-levels-updater.nix
new file mode 100644
index 00000000000..f9e1e1b7204
--- /dev/null
+++ b/pkgs/common-updater/http-two-levels-updater.nix
@@ -0,0 +1,19 @@
+{ lib
+, genericUpdater
+, common-updater-scripts
+}:
+
+{ pname
+, version
+, attrPath ? pname
+, ignoredVersions ? ""
+, rev-prefix ? ""
+, odd-unstable ? false
+, patchlevel-unstable ? false
+, url ? null
+}:
+
+genericUpdater {
+  inherit pname version attrPath ignoredVersions rev-prefix odd-unstable patchlevel-unstable;
+  versionLister = "${common-updater-scripts}/bin/list-archive-two-levels-versions ${lib.optionalString (url != null) "--url=${url}"}";
+}
diff --git a/pkgs/common-updater/scripts/list-archive-two-level-versions b/pkgs/common-updater/scripts/list-archive-two-level-versions
deleted file mode 100755
index 36a051e97c9..00000000000
--- a/pkgs/common-updater/scripts/list-archive-two-level-versions
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/usr/bin/env bash
-
-# lists all available versions listed for a package in a site (http)
-
-scriptName=list-archive-two-level-versions # do not use the .wrapped name
-
-usage() {
-    echo "Usage: $scriptName <archive url> [<package name> [<debug file path>]]"
-}
-
-archive="$1"  # archive url
-pname="$2"  # package name
-file="$3"  # file for writing debugging information
-
-if [ -z "$archive" ]; then
-    echo "$scriptName: Missing archive url"
-    usage
-    exit 1
-fi
-
-# print a debugging message
-if [ -n "$file" ]; then
-    echo "# Listing versions for $pname at $archive" >> $file
-fi
-
-# list all major-minor versions from archive
-tags1=$(curl -sS "$archive/")
-tags1=$(echo "$tags1" | sed -rne 's,^<a href="([0-9]+\.[0-9]+)/">.*,\1,p')
-
-# print available versions
-for tag in $tags1; do
-    tags2=$(curl -sS "$archive/$tag/")
-    tags2=$(echo "$tags2" | sed -rne "s,^<a href=\"$pname-([0-9.]+)\\.[^0-9].*\">.*,\\1,p")
-    echo "$tags2"
-done
diff --git a/pkgs/common-updater/scripts/list-archive-two-levels-versions b/pkgs/common-updater/scripts/list-archive-two-levels-versions
new file mode 100755
index 00000000000..4263a9de3ca
--- /dev/null
+++ b/pkgs/common-updater/scripts/list-archive-two-levels-versions
@@ -0,0 +1,54 @@
+#!/usr/bin/env bash
+
+# lists all available versions listed for a package in a site (http)
+
+archive=""  # archive url
+pname=""  # package name
+file=""  # file for writing debugging information
+
+while (( $# > 0 )); do
+    flag="$1"
+    shift 1
+    case "$flag" in
+        --url=*)
+            archive="${flag#*=}"
+            ;;
+        --pname=*)
+            pname="${flag#*=}"
+            ;;
+        --file=*)
+            file="${flag#*=}"
+            ;;
+        *)
+            echo "$0: unknown option ‘${flag}’"
+            exit 1
+            ;;
+    esac
+done
+
+# by default set url to the base dir of the first url in src.urls
+if [[ -z "$archive" ]]; then
+    archive="$(nix-instantiate $systemArg --eval -E \
+                   "with import ./. {}; dirOf (dirOf (lib.head $UPDATE_NIX_ATTR_PATH.src.urls))" \
+            | tr -d '"')"
+fi
+
+if [[ -z "$pname" ]]; then
+    pname="$UPDATE_NIX_ATTR_PATH"
+fi
+
+# print a debugging message
+if [[ -n "$file" ]]; then
+    echo "# Listing versions for '$pname' at $archive" >> $file
+fi
+
+# list all major-minor versions from archive
+tags1=$(curl -sS "$archive/")
+tags1=$(echo "$tags1" | sed -rne 's,^<a href="([0-9]+\.[0-9]+)/">.*,\1,p')
+
+# print available versions
+for tag in $tags1; do
+    tags2=$(curl -sS "$archive/$tag/")
+    tags2=$(echo "$tags2" | sed -rne "s,^<a href=\"$pname-([0-9.]+)\\.[^0-9].*\">.*,\\1,p")
+    echo "$tags2"
+done
diff --git a/pkgs/common-updater/scripts/list-git-tags b/pkgs/common-updater/scripts/list-git-tags
index d137552cdd6..176e647eb2e 100755
--- a/pkgs/common-updater/scripts/list-git-tags
+++ b/pkgs/common-updater/scripts/list-git-tags
@@ -2,29 +2,50 @@
 
 # lists all available tags from a git repository
 
-scriptName=list-git-tags # do not use the .wrapped name
-
-usage() {
-    echo "Usage: $scriptName <repository url> [<package name> [<debug file path>]]"
-}
-
-repo="$1" # git repository url
-pname="$2" # package name
-file="$3" # file for writing debugging information
+echo "# pname=$UPDATE_NIX_ATTR_PATH" > /tmp/test.txt
+
+url="" # git repository url
+pname="" # package name
+file="" # file for writing debugging information
+
+while (( $# > 0 )); do
+    flag="$1"
+    shift 1
+    case "$flag" in
+        --url=*)
+            url="${flag#*=}"
+            ;;
+        --pname=*)
+            pname="${flag#*=}"
+            ;;
+        --file=*)
+            file="${flag#*=}"
+            ;;
+        *)
+            echo "$0: unknown option ‘${flag}’"
+            exit 1
+            ;;
+    esac
+done
+
+# By default we set url to src.url or src.meta.homepage
+if [[ -z "$url" ]]; then
+    url="$(nix-instantiate $systemArg --eval -E \
+               "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.url or $UPDATE_NIX_ATTR_PATH.src.meta.homepage" \
+        | tr -d '"')"
+fi
 
-if [ -z "$repo" ]; then
-    echo "$scriptName: Missing git repository url"
-    usage
-    exit 1
+if [[ -z "$pname" ]]; then
+    pname="$UPDATE_NIX_ATTR_PATH"
 fi
 
 # print a debugging message
-if [ -n "$file" ]; then
-    echo "# Listing tags for $pname at $repo" >> $file
+if [[ -n "$file" ]]; then
+    echo "# Listing tags for '$pname' at $url" >> $file
 fi
 
 # list all tags from the remote repository
-tags=$(git ls-remote --tags --refs "$repo")
+tags=$(git ls-remote --tags --refs "$url")
 
 # keep only the version part of the tag
 tags=$(echo "$tags" | cut --delimiter=/ --field=3)
diff --git a/pkgs/common-updater/unstable-updater.nix b/pkgs/common-updater/unstable-updater.nix
index 01f8ae2533e..14f25a91601 100644
--- a/pkgs/common-updater/unstable-updater.nix
+++ b/pkgs/common-updater/unstable-updater.nix
@@ -10,38 +10,103 @@
 # commit.
 { url ? null # The git url, if empty it will be set to src.url
 , branch ? null
+, stableVersion ? false # Use version format according to RFC 107 (i.e. LAST_TAG+date=YYYY-MM-DD)
+, tagPrefix ? "" # strip this prefix from a tag name when using stable version
 }:
 
 let
   updateScript = writeShellScript "unstable-update-script.sh" ''
     set -ex
 
-    url="$1"
+    url=""
+    branch=""
+    use_stable_version=""
+    tag_prefix=""
+
+    while (( $# > 0 )); do
+        flag="$1"
+        shift 1
+        case "$flag" in
+          --url=*)
+            url="''${flag#*=}"
+            ;;
+          --branch=*)
+            branch="''${flag#*=}"
+            ;;
+          --use-stable-version)
+            use_stable_version=1
+            ;;
+          --tag-prefix=*)
+            tag_prefix="''${flag#*=}"
+            ;;
+          *)
+            echo "$0: unknown option ‘''${flag}’"
+            exit 1
+            ;;
+        esac
+    done
 
     # By default we set url to src.url
     if [[ -z "$url" ]]; then
         url="$(${nix}/bin/nix-instantiate $systemArg --eval -E \
-                   "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.url" \
+                   "with import ./. {}; $UPDATE_NIX_ATTR_PATH.src.url or $UPDATE_NIX_ATTR_PATH.src.meta.homepage" \
             | tr -d '"')"
     fi
 
     # Get info about HEAD from a shallow git clone
     tmpdir="$(${coreutils}/bin/mktemp -d)"
-    ${git}/bin/git clone --bare --depth=1 \
-      ${lib.optionalString (branch != null) "--branch ${branch}"} \
-      "$url" "$tmpdir"
+
+    cloneArgs=(
+      --bare
+      --depth=1
+    )
+
+    if [[ -n "$branch" ]]; then
+        cloneArgs+=(--branch="$branch")
+    fi
+
+    ${git}/bin/git clone "''${cloneArgs[@]}" "$url" "$tmpdir"
+
     pushd "$tmpdir"
     commit_date="$(${git}/bin/git show -s --pretty='format:%cs')"
     commit_sha="$(${git}/bin/git show -s --pretty='format:%H')"
+    if [[ -z "$use_stable_version" ]]; then
+        new_version="unstable-$commit_date"
+    else
+        depth=100
+        while (( $depth < 10000 )); do
+            last_tag="$(${git}/bin/git describe --tags --abbrev=0 2> /dev/null || true)"
+            if [[ -n "$last_tag" ]]; then
+                break
+            fi
+            ${git}/bin/git fetch --depth="$depth" --tags
+            depth=$(( $depth * 2 ))
+        done
+        if [[ -z "$last_tag" ]]; then
+            echo "Cound not found a tag within last 10000 commits" > /dev/stderr
+            exit 1
+        fi
+        if [[ -n "$tag_prefix" ]]; then
+          last_tag="''${last_tag#$tag_prefix}"
+        fi
+        new_version="$last_tag+date=$commit_date"
+    fi
     popd
-    ${coreutils}/bin/rm -rf "$tmpdir"
+    # ${coreutils}/bin/rm -rf "$tmpdir"
 
     # update the nix expression
     ${common-updater-scripts}/bin/update-source-version \
         "$UPDATE_NIX_ATTR_PATH" \
-        "unstable-$commit_date" \
+        "$new_version" \
         --rev="$commit_sha"
   '';
 
-in [ updateScript url ]
-
+in [
+  updateScript
+  "--url=${builtins.toString url}"
+] ++ lib.optionals (branch != null) [
+  "--branch=${branch}"
+] ++ lib.optionals stableVersion [
+  "--use-stable-version"
+  "--tag-prefix=${tagPrefix}"
+]
diff --git a/pkgs/data/documentation/gnome-user-docs/default.nix b/pkgs/data/documentation/gnome-user-docs/default.nix
index e8f671566d8..23dfd975bf7 100644
--- a/pkgs/data/documentation/gnome-user-docs/default.nix
+++ b/pkgs/data/documentation/gnome-user-docs/default.nix
@@ -9,11 +9,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-user-docs";
-  version = "41.1";
+  version = "41.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-user-docs/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Ve499XfRcX/BUvwq64nQr3qeyoZsiXTGdfYL1jCIjEg=";
+    sha256 = "0xcIld06i7EXyfFIoLs/tJDRr3ExxEFod7G7/sWROVo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/fonts/andika/default.nix b/pkgs/data/fonts/andika/default.nix
index aaa380098a2..02ee29a382e 100644
--- a/pkgs/data/fonts/andika/default.nix
+++ b/pkgs/data/fonts/andika/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "6.001";
+  version = "6.101";
 in
   fetchzip rec {
     name = "andika-${version}";
@@ -14,7 +14,7 @@ in
       unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
     '';
 
-    sha256 = "sha256-ukPFBLjHQbOosQ1h0ImVlz8HhNNMp0e41SjzUhQaZtc=";
+    sha256 = "sha256-J/Ad+fmCMOxLoo+691LE6Bgi/l3ovIfWScwwVWtqACI=";
 
     meta = with lib; {
       homepage = "https://software.sil.org/andika";
diff --git a/pkgs/data/fonts/behdad-fonts/default.nix b/pkgs/data/fonts/behdad-fonts/default.nix
index d5d0b2a3c1d..be6ed005b16 100644
--- a/pkgs/data/fonts/behdad-fonts/default.nix
+++ b/pkgs/data/fonts/behdad-fonts/default.nix
@@ -20,6 +20,6 @@ in fetchFromGitHub {
     description = "A Persian/Arabic Open Source Font";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/charis-sil/default.nix b/pkgs/data/fonts/charis-sil/default.nix
index 75f1d89be77..3294cb71105 100644
--- a/pkgs/data/fonts/charis-sil/default.nix
+++ b/pkgs/data/fonts/charis-sil/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "6.001";
+  version = "6.101";
 in
   fetchzip rec {
     name = "charis-sil-${version}";
@@ -14,7 +14,7 @@ in
       unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
     '';
 
-    sha256 = "sha256-eKSOvYuTMpAnTk4sRiWFUDJrTsF+K5716ALCepaUU08=";
+    sha256 = "sha256-b1ms9hJ6IPe7W6O9KgzHZvwT4/nAoLOhdydcUrwNfnU=";
 
     meta = with lib; {
       homepage = "https://software.sil.org/charis";
diff --git a/pkgs/data/fonts/doulos-sil/default.nix b/pkgs/data/fonts/doulos-sil/default.nix
index a1e686a320e..f720c2cac7d 100644
--- a/pkgs/data/fonts/doulos-sil/default.nix
+++ b/pkgs/data/fonts/doulos-sil/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "6.001";
+  version = "6.101";
 in
   fetchzip rec {
     name = "doulos-sil-${version}";
@@ -14,7 +14,7 @@ in
       unzip -j $downloadedFile \*OFL.txt \*OFL-FAQ.txt \*README.txt \*FONTLOG.txt -d "$out/share/doc/${name}"
     '';
 
-    sha256 = "sha256-MkeLLT7EAeSuCMxVVxVfajHufxr+xMLIz2hf3wF3U4o=";
+    sha256 = "sha256-vYdnudMkkWz6r8pwq98fyO0zcfFBRPmrqlmWxHCOIcc=";
 
     meta = with lib; {
       homepage = "https://software.sil.org/doulos";
diff --git a/pkgs/data/fonts/gandom-fonts/default.nix b/pkgs/data/fonts/gandom-fonts/default.nix
index 54e0020ae68..1b8b3307eb3 100644
--- a/pkgs/data/fonts/gandom-fonts/default.nix
+++ b/pkgs/data/fonts/gandom-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "gandom-fonts";
-  version = "0.6";
+  version = "0.8";
 in fetchFromGitHub {
   name = "${pname}-${version}";
   owner = "rastikerdar";
@@ -13,13 +13,13 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/gandom-fonts {} \;
   '';
-  sha256 = "0zsq6s9ziyb5jz0v8aj00dlxd1aly0ibxgszd05dfvykmgz051lc";
+  sha256 = "sha256-EDS3wwKwe2BIcOCxu7DxkVLCoEoTPP31k5ID51lqn3M=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/gandom-font";
     description = "A Persian (Farsi) Font - فونت (قلم) فارسی گندم";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/gentium/default.nix b/pkgs/data/fonts/gentium/default.nix
index ac8839f075b..f64f7b34144 100644
--- a/pkgs/data/fonts/gentium/default.nix
+++ b/pkgs/data/fonts/gentium/default.nix
@@ -1,7 +1,7 @@
 { lib, fetchzip }:
 
 let
-  version = "6.001";
+  version = "6.101";
 in fetchzip rec {
   name = "gentium-${version}";
 
@@ -23,7 +23,7 @@ in fetchzip rec {
       -d $out/share/doc/${name}/documentation
   '';
 
-  sha256 = "sha256-DeoMTJ2nhTBtNQYG55lIMvnulqpk/KTeIqgpb5eiTIA=";
+  sha256 = "sha256-+T5aUlqQYDWRp4/4AZzsREHgjAnOeUB6qn1GAI0A5hE=";
 
   meta = with lib; {
     homepage = "https://software.sil.org/gentium/";
diff --git a/pkgs/data/fonts/iosevka/update-default.sh b/pkgs/data/fonts/iosevka/update-default.sh
index 208ea6101ac..8d918058988 100755
--- a/pkgs/data/fonts/iosevka/update-default.sh
+++ b/pkgs/data/fonts/iosevka/update-default.sh
@@ -8,7 +8,7 @@ repo=https://github.com/be5invis/Iosevka
 
 # Discover the latest version.
 current_version=$(nix-instantiate "$nixpkgs" --eval --strict -A iosevka.version | tr -d '"')
-new_version=$(list-git-tags "$repo" | sort --reverse --version-sort | awk 'match($0, /^v([0-9.]+)$/, m) { print m[1]; exit; }')
+new_version=$(list-git-tags --url="$repo" | sort --reverse --version-sort | awk 'match($0, /^v([0-9.]+)$/, m) { print m[1]; exit; }')
 if [[ "$new_version" == "$current_version" ]]; then
     echo "iosevka: no update found"
     exit
diff --git a/pkgs/data/fonts/ipaexfont/default.nix b/pkgs/data/fonts/ipaexfont/default.nix
index cafd3c16fd4..5223bc499d5 100644
--- a/pkgs/data/fonts/ipaexfont/default.nix
+++ b/pkgs/data/fonts/ipaexfont/default.nix
@@ -1,16 +1,16 @@
 { lib, fetchzip }:
 
 fetchzip {
-  name = "ipaexfont-003.01";
+  name = "ipaexfont-004.01";
 
-  url = "https://web.archive.org/web/20160616003021/http://dl.ipafont.ipa.go.jp/IPAexfont/IPAexfont00301.zip";
+  url = "https://moji.or.jp/wp-content/ipafont/IPAexfont/IPAexfont00401.zip";
 
   postFetch = ''
     mkdir -p $out/share/fonts
     unzip -j $downloadedFile \*.ttf -d $out/share/fonts/opentype
   '';
 
-  sha256 = "02a6sj990cnig5lq0m54nmbmfkr3s57jpxl9fiyzrjmigvd1qmhj";
+  sha256 = "0wp369kri33kb1mmiq4lpl9i4xnacw9fj63ycmkmlkq64s8qnjnx";
 
   meta = with lib; {
     description = "Japanese font package with Mincho and Gothic fonts";
@@ -21,7 +21,7 @@ fetchzip {
 
       This is the successor to the IPA fonts.
     '';
-    homepage = "http://ipafont.ipa.go.jp/";
+    homepage = "https://moji.or.jp/ipafont/";
     license = licenses.ipa;
     maintainers = with maintainers; [ gebner ];
   };
diff --git a/pkgs/data/fonts/ir-standard-fonts/default.nix b/pkgs/data/fonts/ir-standard-fonts/default.nix
index 25ec1e5d11d..2e535255cc6 100644
--- a/pkgs/data/fonts/ir-standard-fonts/default.nix
+++ b/pkgs/data/fonts/ir-standard-fonts/default.nix
@@ -21,6 +21,6 @@ in fetchFromGitHub {
     # License information is unavailable.
     license = licenses.unfree;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/julia-mono/default.nix b/pkgs/data/fonts/julia-mono/default.nix
index a1f8f316773..136a3218761 100644
--- a/pkgs/data/fonts/julia-mono/default.nix
+++ b/pkgs/data/fonts/julia-mono/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchzip }:
 
 let
-  version = "0.043";
+  version = "0.044";
 
 in
 fetchzip {
   name = "JuliaMono-ttf-${version}";
   url = "https://github.com/cormullion/juliamono/releases/download/v${version}/JuliaMono-ttf.tar.gz";
-  sha256 = "sha256-oxQRrFhTf37OrJSbDlmzh/7xOuKrtxO7v2+j7QcsAmE=";
+  sha256 = "sha256-KCU1eOSEWjYh6kPda/iCtZUIWIq5lK79uUCLl2w7SEg=";
 
   postFetch = ''
     mkdir -p $out/share/fonts/truetype
diff --git a/pkgs/data/fonts/lalezar-fonts/default.nix b/pkgs/data/fonts/lalezar-fonts/default.nix
index 01e9d209a31..31a857bfda0 100644
--- a/pkgs/data/fonts/lalezar-fonts/default.nix
+++ b/pkgs/data/fonts/lalezar-fonts/default.nix
@@ -21,6 +21,6 @@ in fetchFromGitHub {
     description = "A multi-script display typeface for popular culture";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/lxgw-wenkai/default.nix b/pkgs/data/fonts/lxgw-wenkai/default.nix
new file mode 100644
index 00000000000..0d328e0a8de
--- /dev/null
+++ b/pkgs/data/fonts/lxgw-wenkai/default.nix
@@ -0,0 +1,23 @@
+{ lib, fetchzip }:
+
+let version = "1.210"; in
+fetchzip {
+  name = "lxgw-wenkai-${version}";
+  url = "https://github.com/lxgw/LxgwWenKai/releases/download/v${version}/lxgw-wenkai-v${version}.tar.gz";
+
+  postFetch = ''
+    tar -xzvf $downloadedFile --strip-components=1
+    mkdir -p $out/share/fonts/truetype
+    cp *.ttf $out/share/fonts/truetype
+  '';
+
+  sha256 = "n8vnkoOJuUO4Gh+GUInZ/HJK5t4pD7MrPPaxDyH+0Qw=";
+
+  meta = with lib; {
+    homepage = "https://lxgw.github.io/";
+    description = "An open-source Chinese font derived from Fontworks' Klee One";
+    license = licenses.ofl;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ elliot ];
+  };
+}
diff --git a/pkgs/data/fonts/montserrat/default.nix b/pkgs/data/fonts/montserrat/default.nix
index 41135122f05..7d91f49eb3e 100644
--- a/pkgs/data/fonts/montserrat/default.nix
+++ b/pkgs/data/fonts/montserrat/default.nix
@@ -2,13 +2,13 @@
 
 let
   pname = "montserrat";
-  version = "7.210";
+  version = "7.222";
 in fetchFromGitHub {
   name = "${pname}-${version}";
   owner = "JulietaUla";
   repo = pname;
   rev = "v${version}";
-  sha256 = "sha256-C6T0Iz1rFC+EsKFJRil2jGTMQ4X7wR80E3eORL5qi0U=";
+  sha256 = "sha256-MeNnc1e5X5f0JyaLY6fX22rytHkvL++eM2ygsdlGMv0=";
 
   postFetch = ''
     tar xf $downloadedFile --strip 1
diff --git a/pkgs/data/fonts/nahid-fonts/default.nix b/pkgs/data/fonts/nahid-fonts/default.nix
index 0e08bebea09..fbceb3c927d 100644
--- a/pkgs/data/fonts/nahid-fonts/default.nix
+++ b/pkgs/data/fonts/nahid-fonts/default.nix
@@ -20,6 +20,6 @@ in fetchFromGitHub {
     description = "A Persian (Farsi) Font - قلم (فونت) فارسی ناهید";
     license = licenses.free;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/nanum-gothic-coding/default.nix b/pkgs/data/fonts/nanum-gothic-coding/default.nix
index 4785c1386a6..5066a2aef4d 100644
--- a/pkgs/data/fonts/nanum-gothic-coding/default.nix
+++ b/pkgs/data/fonts/nanum-gothic-coding/default.nix
@@ -20,6 +20,6 @@ in fetchzip {
     homepage = "https://github.com/naver/nanumfont";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = with maintainers; [ linarcx ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/data/fonts/nika-fonts/default.nix b/pkgs/data/fonts/nika-fonts/default.nix
index 5db9bb2a951..f497a184be0 100644
--- a/pkgs/data/fonts/nika-fonts/default.nix
+++ b/pkgs/data/fonts/nika-fonts/default.nix
@@ -20,6 +20,6 @@ in fetchFromGitHub {
     description = "Persian/Arabic Open Source Font";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/parastoo-fonts/default.nix b/pkgs/data/fonts/parastoo-fonts/default.nix
index 7c713576a21..a3d273bb8ae 100644
--- a/pkgs/data/fonts/parastoo-fonts/default.nix
+++ b/pkgs/data/fonts/parastoo-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "parastoo-fonts";
-  version = "1.0.0-alpha5";
+  version = "2.0.1";
 in fetchFromGitHub {
   name = "${pname}-${version}";
 
@@ -14,13 +14,13 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/parastoo-fonts {} \;
   '';
-  sha256 = "10jbii6rskcy4akjl5yfcqv4mfwk3nqnx36l6sbxks43va9l04f4";
+  sha256 = "sha256-4smobLS43DB7ISmbWDWX0IrtaeiyXpi1QpAiL8NyXoQ=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/parastoo-font";
     description = "A Persian (Farsi) Font - فونت ( قلم ) فارسی پرستو";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/sahel-fonts/default.nix b/pkgs/data/fonts/sahel-fonts/default.nix
index ff86338c26d..9079ba7fada 100644
--- a/pkgs/data/fonts/sahel-fonts/default.nix
+++ b/pkgs/data/fonts/sahel-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "sahel-fonts";
-  version = "1.0.0-alpha22";
+  version = "3.4.0";
 in fetchFromGitHub {
   name = "${pname}-${version}";
 
@@ -14,13 +14,13 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/sahel-fonts {} \;
   '';
-  sha256 = "0vj8ydv50rjanb0favd7rh4r9rv5fl39vqwvzkpgfdcdawn0xjm7";
+  sha256 = "sha256-MrKSgz9WpVgLS37uH/7S0LPBD/n3GLXeUCMBD7x5CG8=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/sahel-font";
     description = "A Persian (farsi) Font - فونت (قلم) فارسی ساحل";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/samim-fonts/default.nix b/pkgs/data/fonts/samim-fonts/default.nix
index e10249a1afd..b29114e6b1c 100644
--- a/pkgs/data/fonts/samim-fonts/default.nix
+++ b/pkgs/data/fonts/samim-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "samim-fonts";
-  version = "3.1.0";
+  version = "4.0.4";
 in fetchFromGitHub {
   name = "${pname}-${version}";
 
@@ -14,13 +14,13 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/samim-fonts {} \;
   '';
-  sha256 = "0mmhncqg48dp0d7l725dv909zswbkk22dlqzcdfh6k6cgk2gn08q";
+  sha256 = "sha256-WYSJ2mAzAe5H0EaMYU3qNVcQ0lRuHsjZ11YmLnZ2FCo=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/samim-font";
     description = "A Persian (Farsi) Font - فونت (قلم) فارسی صمیم";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/sarasa-gothic/default.nix b/pkgs/data/fonts/sarasa-gothic/default.nix
index c28b3745f94..17b87ada227 100644
--- a/pkgs/data/fonts/sarasa-gothic/default.nix
+++ b/pkgs/data/fonts/sarasa-gothic/default.nix
@@ -1,14 +1,14 @@
 { lib, fetchurl, libarchive }:
 
 let
-  version = "0.35.5";
+  version = "0.35.9";
 in fetchurl {
   name = "sarasa-gothic-${version}";
 
   # Use the 'ttc' files here for a smaller closure size.
   # (Using 'ttf' files gives a closure size about 15x larger, as of November 2021.)
   url = "https://github.com/be5invis/Sarasa-Gothic/releases/download/v${version}/sarasa-gothic-ttc-${version}.7z";
-  sha256 = "sha256-t9BYV9a/rmEr8nLqcdxg4Z5pWsCefvwI47eSwub41u0=";
+  sha256 = "sha256-zG1VVI7QRQMC4MBA3otD26LUvnkUxaxt6UkiweY0l1w=";
 
   recursiveHash = true;
   downloadToTemp = true;
diff --git a/pkgs/data/fonts/shabnam-fonts/default.nix b/pkgs/data/fonts/shabnam-fonts/default.nix
index 5cf54697fdf..d5e7e2b243c 100644
--- a/pkgs/data/fonts/shabnam-fonts/default.nix
+++ b/pkgs/data/fonts/shabnam-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "shabnam-fonts";
-  version = "4.0.0";
+  version = "5.0.1";
 in fetchFromGitHub {
   name = "${pname}-${version}";
 
@@ -14,13 +14,13 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/shabnam-fonts {} \;
   '';
-  sha256 = "0wfyaaj2pq2knz12l7rsc4wc703cbz0r8gkcya5x69p0aixch8ba";
+  sha256 = "sha256-m4G4UtW/0S9CsvaSF7QfthfIxGQ02E7SucdDm5s3G7A=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/shabnam-font";
     description = "A Persian (Farsi) Font - فونت (قلم) فارسی شبنم";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/fonts/vazir-fonts/default.nix b/pkgs/data/fonts/vazir-fonts/default.nix
index a41013fd490..b2c4f1faa3c 100755
--- a/pkgs/data/fonts/vazir-fonts/default.nix
+++ b/pkgs/data/fonts/vazir-fonts/default.nix
@@ -2,7 +2,7 @@
 
 let
   pname = "vazir-fonts";
-  version = "22.1.0";
+  version = "30.1.0";
 in fetchFromGitHub {
   name = "${pname}-${version}";
 
@@ -14,13 +14,13 @@ in fetchFromGitHub {
     tar xf $downloadedFile --strip=1
     find . -name '*.ttf' -exec install -m444 -Dt $out/share/fonts/truetype {} \;
   '';
-  sha256 = "1nh3pyyw3082aizdwgyihh4z122z7kzp45ry7lzdhq9lshkpzglc";
+  sha256 = "sha256-J1l6rBFgaXFtGnK0pH7GbaYTt5TI/OevjZrXmaEgkB4=";
 
   meta = with lib; {
     homepage = "https://github.com/rastikerdar/vazir-font";
     description = "A Persian (Farsi) Font - قلم (فونت) فارسی وزیر";
     license = licenses.ofl;
     platforms = platforms.all;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/data/icons/comixcursors/default.nix b/pkgs/data/icons/comixcursors/default.nix
new file mode 100644
index 00000000000..aa744878bcb
--- /dev/null
+++ b/pkgs/data/icons/comixcursors/default.nix
@@ -0,0 +1,125 @@
+{ lib, stdenv, fetchFromGitLab, bc, librsvg, xcursorgen }:
+
+let
+  dimensions = {
+    color = [ "Black" "Blue" "Green" "Orange" "Red" "White" ];
+    opacity = [ "" "Opaque_" ];  # Translucent or opaque.
+    thickness = [ "" "Slim_" ];  # Thick or slim edges.
+    handedness = [ "" "LH_" ];   # Right- or left-handed.
+  };
+  product = lib.cartesianProductOfSets dimensions;
+  variantName =
+    { color, opacity, thickness, handedness }:
+    "${handedness}${opacity}${thickness}${color}";
+  variants =
+    # (The order of this list is already good looking enough to show in the
+    # meta.longDescription.)
+    map variantName product;
+in
+stdenv.mkDerivation rec {
+  pname = "comixcursors";
+  version = "0.9.2";
+
+  src = fetchFromGitLab {
+    owner = "limitland";
+    repo = "comixcursors";
+    # https://gitlab.com/limitland/comixcursors/-/issues/3
+    rev = "8c327c8514ab3a352583605c1ddcb7eb3d1d302b";
+    sha256 = "0bpxqw4izj7m0zb9lnxnmsjicfw60ppkdyv5nwrrz4x865wb296a";
+  };
+
+  nativeBuildInputs = [ bc librsvg xcursorgen ];
+
+  patches = [ ./makefile-shell-var.patch ];
+
+  postPatch = ''
+    patchShebangs ./install-all ./bin/
+  '';
+
+  # install-all is used instead of the directions in upstream's INSTALL file,
+  # because using its Makefile directly is broken.  Upstream itself seems to use
+  # its build-distribution script instead, which also uses install-all, but we
+  # do not use it because it does extra things for other distros.
+  #
+  # When not all of the variants, i.e. only a smaller subset of them, are
+  # desired (i.e. when a subset of outputs are chosen), install-all will still
+  # build all of them.  While upstream appears to provide old functionality for
+  # building only a subset, it is broken and we do not use it.  With prebuilt
+  # substitutions, installers of this package will get only the outputs they
+  # chose.
+  buildPhase = ''
+    ICONSDIR=$TMP/staged ./install-all
+  '';
+
+  installPhase = ''
+    for outputName in $outputs ; do
+      if [ $outputName != out ]; then
+        local outputDir=''${!outputName};
+        local iconsDir=$outputDir/share/icons
+        local cursorName=$(tr _ - <<<"$outputName")
+
+        mkdir -p $iconsDir
+        cp -r -d $TMP/staged/ComixCursors-$cursorName $iconsDir
+
+        unset outputDir iconsDir cursorName
+      fi
+    done
+
+    # Need this directory (empty) to prevent the builder scripts from breaking.
+    mkdir -p $out
+  '';
+
+  outputs = let
+    default = "Opaque_Black";
+  in
+    # Have the most-traditional variant be the default output (as the first).
+    # Even with outputsToInstall=[], the default/first still has an effect on
+    # some Nix tools (e.g. nix-build).
+    [ default ] ++ (lib.remove default variants)
+    # Need a dummy "out" output to prevent the builder scripts from breaking.
+    ++ [ "out" ];
+
+  # No default output (to the extent possible).  Instead, the outputs'
+  # attributes are used to choose which variant(s) to have.
+  outputsToInstall = [];
+
+  meta = with lib; {
+    description = "The Comix Cursors mouse themes";
+    longDescription = ''
+      There are many (${toString ((length outputs) - 1)}) variants of color,
+      opacity, edge thickness, and right- or left-handedness, for this cursor
+      theme.  This package's derivation has an output for each of these
+      variants, named following the upstream convention, and the attribute for
+      an output must be used to install a variant.  E.g.:
+      <programlisting language="nix">
+      environment.systemPackages = [
+        comixcursors.Blue
+        comixcursors.Opaque_Orange
+        comixcursors.Slim_Red
+        comixcursors.Opaque_Slim_White
+        comixcursors.LH_Green
+        comixcursors.LH_Opaque_Black
+        comixcursors.LH_Slim_Orange
+        comixcursors.LH_Opaque_Slim_Blue
+      ];
+      </programlisting>
+
+      Attempting to use just <literal>comixcursors</literal>, i.e. without an
+      output attribute, will not install any variants.  To install all the
+      variants, use <literal>comixcursors.all</literal> (which is a list), e.g.:
+      <programlisting language="nix">
+      environment.systemPackages = comixcursors.all ++ [...];
+      </programlisting>
+
+      The complete list of output attributes is:
+      <programlisting>
+      ${concatStringsSep "\n" variants}
+      </programlisting>
+    '';
+    homepage = "https://gitlab.com/limitland/comixcursors";
+    changelog = "https://gitlab.com/limitland/comixcursors/-/blob/HEAD/NEWS";
+    license = licenses.gpl3Plus;
+    maintainers = [ maintainers.DerickEddington ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/data/icons/comixcursors/makefile-shell-var.patch b/pkgs/data/icons/comixcursors/makefile-shell-var.patch
new file mode 100644
index 00000000000..4032244c9ef
--- /dev/null
+++ b/pkgs/data/icons/comixcursors/makefile-shell-var.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -22,8 +22,6 @@
+ 
+ # Makefile for ComixCursors project.
+ 
+-SHELL = /bin/bash
+-
+ CURSORSNAME = ComixCursors
+ PACKAGENAME ?= ${CURSORSNAME}
+ SUMMARY ?= The original Comix Cursors
diff --git a/pkgs/data/icons/luna-icons/default.nix b/pkgs/data/icons/luna-icons/default.nix
index f6ac136d4af..99c31edd2fd 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.9";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "1l6jxbgq2qnw4qx0khkdxcq75v17cv2ccfnm28sslpzcc1r8amqd";
+    sha256 = "sha256-ZUSG9lui07ICG/4M6LBEAhJo9KuKd+wMb2VoKu5Ifmg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/icons/numix-icon-theme-circle/default.nix b/pkgs/data/icons/numix-icon-theme-circle/default.nix
index ca5596be832..79ca07dd5b5 100644
--- a/pkgs/data/icons/numix-icon-theme-circle/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-circle/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme-circle";
-  version = "22.01.15";
+  version = "22.02.06";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-mOjNztzvSdKN4fgbcwYWA+iaYiRIa8v6EeK7eyX0lTs=";
+    sha256 = "sha256-a+h5DMxVM1TPVx8yuKwRzjjnBLnIWMCCKG+BPg1Hq5Y=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/numix-icon-theme-square/default.nix b/pkgs/data/icons/numix-icon-theme-square/default.nix
index 4bfb30760c3..550b11c7ac8 100644
--- a/pkgs/data/icons/numix-icon-theme-square/default.nix
+++ b/pkgs/data/icons/numix-icon-theme-square/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "numix-icon-theme-square";
-  version = "22.01.15";
+  version = "22.02.06";
 
   src = fetchFromGitHub {
     owner = "numixproject";
     repo = pname;
     rev = version;
-    sha256 = "sha256-z1eLDJWvpUh4qSGz9xu/NcZjpC0Asj8v4HuUxiQO0cQ=";
+    sha256 = "sha256-dKBNB1udRysDe3HbUh2qudQDeLgS/wmSnY3nAWnmjQo=";
   };
 
   nativeBuildInputs = [ gtk3 ];
diff --git a/pkgs/data/icons/tela-circle-icon-theme/default.nix b/pkgs/data/icons/tela-circle-icon-theme/default.nix
index 3ed389569bd..d19dcba69fd 100644
--- a/pkgs/data/icons/tela-circle-icon-theme/default.nix
+++ b/pkgs/data/icons/tela-circle-icon-theme/default.nix
@@ -16,13 +16,13 @@ lib.checkListOfEnum "${pname}: color variants" [ "standard" "black" "blue" "brow
 
 stdenvNoCC.mkDerivation rec {
   inherit pname;
-  version = "unstable-2021-12-24";
+  version = "2022-02-08";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
-    rev = "aa1f1446b6dbc6acfe3ee247e6841369c68e1495";
-    sha256 = "03f79h6kv5vbf92fhpi1wivzvcrfvvdvkhbmy805x4b4wl7qynki";
+    rev = version;
+    sha256 = "08a1jhirvn2x9hhjr0lqqqayhsf446cddapprxpsnsn9q6x2j2gp";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ stdenvNoCC.mkDerivation rec {
   dontDropIconThemeCache = true;
 
   # These fixup steps are slow and unnecessary for this package.
-  # Package may installs almost 400 000 small files.
+  # Package may install almost 400 000 small files.
   dontPatchELF = true;
   dontRewriteSymlinks = true;
 
diff --git a/pkgs/data/icons/tela-icon-theme/default.nix b/pkgs/data/icons/tela-icon-theme/default.nix
index 4e2b824be4b..56491fe4443 100644
--- a/pkgs/data/icons/tela-icon-theme/default.nix
+++ b/pkgs/data/icons/tela-icon-theme/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "tela-icon-theme";
-  version = "2021-12-25";
+  version = "2022-02-21";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
     rev = version;
-    sha256 = "sha256-qlt9jv3lCPVFBeN4aQd4r9NE0YAxWQavMoo13cvhv6E=";
+    sha256 = "sha256-tnhu//q0Vl7MiMeHopB1Gwokkw/P+nDOo4HKizjxC0Y=";
   };
 
   nativeBuildInputs = [ gtk3 jdupes ];
diff --git a/pkgs/data/icons/vimix-icon-theme/default.nix b/pkgs/data/icons/vimix-icon-theme/default.nix
index 502a8023c9b..853b1d209ab 100644
--- a/pkgs/data/icons/vimix-icon-theme/default.nix
+++ b/pkgs/data/icons/vimix-icon-theme/default.nix
@@ -1,7 +1,20 @@
-{ lib, stdenv, fetchFromGitHub, gtk3, hicolor-icon-theme, jdupes }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, gtk3
+, hicolor-icon-theme
+, jdupes
+, colorVariants ? [] # default: all
+}:
+
+let
+  pname = "vimix-icon-theme";
+
+in
+lib.checkListOfEnum "${pname}: color variants" [ "standard" "Amethyst" "Beryl" "Doder" "Ruby" "Black" "White" ] colorVariants
 
 stdenv.mkDerivation rec {
-  pname = "vimix-icon-theme";
+  inherit pname;
   version = "2021-11-09";
 
   src = fetchFromGitHub {
@@ -23,10 +36,16 @@ stdenv.mkDerivation rec {
 
   installPhase = ''
     runHook preInstall
+
     patchShebangs install.sh
-    ./install.sh -a -d $out/share/icons
+
+    ./install.sh \
+      ${if colorVariants != [] then builtins.toString colorVariants else "-a"} \
+      -d $out/share/icons
+
     # replace duplicate files with symlinks
-    jdupes -l -r $out/share/icons
+    jdupes -L -r $out/share/icons
+
     runHook postInstall
   '';
 
diff --git a/pkgs/data/misc/ddccontrol-db/default.nix b/pkgs/data/misc/ddccontrol-db/default.nix
index 2ffb05e2eb9..9ac49167f66 100644
--- a/pkgs/data/misc/ddccontrol-db/default.nix
+++ b/pkgs/data/misc/ddccontrol-db/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddccontrol-db";
-  version = "20220119";
+  version = "20220216";
 
   src = fetchFromGitHub {
     owner = "ddccontrol";
     repo = "ddccontrol-db";
     rev = version;
-    sha256 = "sha256-8JJ6RG7yA1ssoYsvgDYp3/r+h1+rKnOwwoDhRx2brY8=";
+    sha256 = "sha256-Nr8OvxbJRf9t2BUtEX3qBAH2BSs6KWLMzSpykiwYsHQ=";
   };
 
   preConfigure = ''
diff --git a/pkgs/data/misc/geolite-legacy/builder.sh b/pkgs/data/misc/geolite-legacy/builder.sh
deleted file mode 100644
index 0bb61d863ec..00000000000
--- a/pkgs/data/misc/geolite-legacy/builder.sh
+++ /dev/null
@@ -1,20 +0,0 @@
-source "$stdenv/setup"
-
-mkdir -p $out/share/GeoIP
-cd $out/share/GeoIP
-
-# Iterate over all environment variable names beginning with "src":
-for var in "${!src@}"; do
-    # Store the value of the variable with name $var in $src:
-    eval src="\$$var"
-
-    # Copy $src to current directory, removing Nix hash from the filename:
-    dest="${src##*/}"
-    dest="${dest#*-}"
-    cp "$src" "$dest"
-done
-
-gzip -dv *.gz
-
-ln -s GeoLiteCity.dat GeoIPCity.dat
-ln -s GeoLiteCityv6.dat GeoIPCityv6.dat
diff --git a/pkgs/data/misc/geolite-legacy/default.nix b/pkgs/data/misc/geolite-legacy/default.nix
index 735a6608949..ad9560da9a4 100644
--- a/pkgs/data/misc/geolite-legacy/default.nix
+++ b/pkgs/data/misc/geolite-legacy/default.nix
@@ -1,41 +1,34 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, zstd }:
 
-let
-  fetchDB = src: sha256: fetchurl {
-    inherit sha256;
-    url = "https://geolite.maxmind.com/download/geoip/database/${src}";
-  };
-in
 stdenv.mkDerivation {
   pname = "geolite-legacy";
-  version = "2017-12-02";
+  version = "2022-01-25";
+
+  # We use Arch Linux package as a snapshot, because upstream database is updated in-place.
+  geoip = fetchurl {
+    url = "https://archive.archlinux.org/packages/g/geoip-database/geoip-database-20220125-1-any.pkg.tar.zst";
+    sha256 = "sha256-ieuLpllJTHYu28UXBGfDWbnr9Ei8pGnos+RPWDsAGcM=";
+  };
 
-  srcGeoIP = fetchDB
-    "GeoLiteCountry/GeoIP.dat.gz"
-    "1nggml11wzlanmzk6wbw2kla91fj8ggd9kh9yz42lnyckdlf5ac4";
-  srcGeoIPv6 = fetchDB
-    "GeoIPv6.dat.gz"
-    "0w809xgmr5zi4fgm9q3lhrnh1vl62s49n737bhq4jplm5918ki50";
-  srcGeoLiteCity = fetchDB
-    "GeoLiteCity.dat.gz"
-    "0cibajsv5xdjpw1qfx22izm5azqcj0d7nvk39irgwflkim9jfjbs";
-  srcGeoLiteCityv6 = fetchDB
-    "GeoLiteCityv6-beta/GeoLiteCityv6.dat.gz"
-    "1ldwbzgs64irfgb3kq3jp8fmhwmwqk713dr4kkdqlglrblr9hfkc";
-  srcGeoIPASNum = fetchDB
-    "asnum/GeoIPASNum.dat.gz"
-    "06qqs8qr8vxqwd80npz7n66k3bpc1vs7w43i2bb4k0di5yxnjwr9";
-  srcGeoIPASNumv6 = fetchDB
-    "asnum/GeoIPASNumv6.dat.gz"
-    "1qyq4h8cja62giv6q1qqc502vsq53wzz1kx80mgvwngmycrxa21k";
+  extra = fetchurl {
+    url = "https://archive.archlinux.org/packages/g/geoip-database-extra/geoip-database-extra-20220125-1-any.pkg.tar.zst";
+    sha256 = "sha256-xrTnuJvuvtvn+uIARtbuJUlHco3Q+9BXLljt35V3ip0=";
+  };
+
+  nativeBuildInputs = [ zstd ];
+
+  buildCommand = ''
+    tar -xaf "$geoip"
+    tar -xaf "$extra"
+    mkdir -p $out/share
+    mv usr/share/GeoIP $out/share
+  '';
 
   meta = with lib; {
     description = "GeoLite Legacy IP geolocation databases";
-    homepage = "https://geolite.maxmind.com/download/geoip";
-    license = licenses.cc-by-sa-30;
+    homepage = "https://mailfud.org/geoip-legacy/";
+    license = licenses.cc-by-sa-40;
     platforms = platforms.all;
     maintainers = with maintainers; [ fpletz ];
   };
-
-  builder = ./builder.sh;
 }
diff --git a/pkgs/data/misc/hackage/pin.json b/pkgs/data/misc/hackage/pin.json
index 48a9bc9a0dc..d22dccf38cf 100644
--- a/pkgs/data/misc/hackage/pin.json
+++ b/pkgs/data/misc/hackage/pin.json
@@ -1,6 +1,6 @@
 {
-  "commit": "72a59574747346b3f9aa2cd91cb7469d4e168b53",
-  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/72a59574747346b3f9aa2cd91cb7469d4e168b53.tar.gz",
-  "sha256": "0nspncjgh8lgr15zx8ss3fp289jl7gg21wchj0k821y3cz057ry3",
-  "msg": "Update from Hackage at 2022-01-31T19:23:21Z"
+  "commit": "aa8f2230d08c540df249147ea681a5c22314d083",
+  "url": "https://github.com/commercialhaskell/all-cabal-hashes/archive/aa8f2230d08c540df249147ea681a5c22314d083.tar.gz",
+  "sha256": "1h92r4si1vmf3v2m843xaqwr99hpnn1s0x08qcvd2gwjkc2qq10a",
+  "msg": "Update from Hackage at 2022-02-14T17:17:31Z"
 }
diff --git a/pkgs/data/misc/mime-types/default.nix b/pkgs/data/misc/mime-types/default.nix
deleted file mode 100644
index 77b67e48f92..00000000000
--- a/pkgs/data/misc/mime-types/default.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, fetchzip }:
-
-let
-  version = "9";
-in fetchzip rec {
-  name = "mime-types-${version}";
-  url = "https://mirrors.kernel.org/gentoo/distfiles/${name}.tar.bz2";
-  postFetch = ''
-    mkdir -p $out/etc
-    tar xjvf $downloadedFile --directory=$out/etc --strip-components=1
-  '';
-  sha256 = "0gyla4wfiaccs0qh0hw7n08kdpnkkssglcg0z2jblb2lsdr4qna0";
-
-  meta = with lib; {
-    description = "A database of common mappings of file extensions to MIME types";
-    homepage = "https://packages.gentoo.org/packages/app-misc/mime-types";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ peterhoeg ];
-    platforms = platforms.all;
-  };
-}
diff --git a/pkgs/data/misc/osinfo-db/default.nix b/pkgs/data/misc/osinfo-db/default.nix
index 17a63debdc6..4af6f3b4db4 100644
--- a/pkgs/data/misc/osinfo-db/default.nix
+++ b/pkgs/data/misc/osinfo-db/default.nix
@@ -1,15 +1,25 @@
-{ lib, stdenv, fetchurl, osinfo-db-tools, gettext, libxml2 }:
+{ lib
+, stdenv
+, fetchurl
+, osinfo-db-tools
+, gettext
+, libxml2
+}:
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db";
-  version = "20210312";
+  version = "20220214";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "sha256-dUjsCeRFynN4xc65njntyohX+Ck4MeCzy1WPQjCHDhA=";
+    sha256 = "sha256-E+bJAOuCAPFmD4oe13Xs7NWgH9skv7bu4c5l3XvP06k=";
   };
 
-  nativeBuildInputs = [ osinfo-db-tools gettext libxml2 ];
+  nativeBuildInputs = [
+    osinfo-db-tools
+    gettext
+    libxml2
+  ];
 
   installPhase = ''
     osinfo-db-import --dir "$out/share/osinfo" "${src}"
@@ -18,6 +28,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Osinfo database of information about operating systems for virtualization provisioning tools";
     homepage = "https://gitlab.com/libosinfo/osinfo-db/";
+    changelog = "https://gitlab.com/libosinfo/osinfo-db/-/commits/v${version}";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/data/misc/v2ray-geoip/default.nix b/pkgs/data/misc/v2ray-geoip/default.nix
index c1b6500a1ab..df190fd9ef8 100644
--- a/pkgs/data/misc/v2ray-geoip/default.nix
+++ b/pkgs/data/misc/v2ray-geoip/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "v2ray-geoip";
-  version = "202202030030";
+  version = "202202170030";
 
   src = fetchFromGitHub {
     owner = "v2fly";
     repo = "geoip";
-    rev = "ca550e313a264e05c1fb22f293bc64c7432049ef";
-    sha256 = "sha256-gajlNfyaq8HwghBU6Gcq7lyqjVAmNcOgJKKsw5P+8Nc=";
+    rev = "ebc49c1ccbe7f267778ab42dbfa01d7ff8a5241c";
+    sha256 = "sha256-CxV7jKNeaSW7lVBKKr7Ih2XAehnFcapkyDogd5V32Zk=";
   };
 
   installPhase = ''
diff --git a/pkgs/data/soundfonts/ydp-grand/default.nix b/pkgs/data/soundfonts/ydp-grand/default.nix
new file mode 100644
index 00000000000..3b44b712139
--- /dev/null
+++ b/pkgs/data/soundfonts/ydp-grand/default.nix
@@ -0,0 +1,23 @@
+{ lib, stdenv, fetchurl }:
+
+stdenv.mkDerivation {
+  name = "ydp-grand";
+  version = "unstable-2016-08-04";
+
+  src = fetchurl {
+    url = "https://freepats.zenvoid.org/Piano/YDP-GrandPiano/YDP-GrandPiano-SF2-20160804.tar.bz2";
+    sha256 = "sha256-0kPcPhgqYN8qFukoKMGCHPPrV0i0Xi4r3Pqc968FYCY=";
+  };
+
+  installPhase = ''
+    install -Dm644 YDP-GrandPiano-*.sf2 $out/share/soundfonts/YDP-GrandPiano.sf2
+  '';
+
+  meta = with lib; {
+    description = "Acoustic grand piano soundfont";
+    homepage = "https://freepats.zenvoid.org/Piano/acoustic-grand-piano.html";
+    license = licenses.cc-by-30;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ckie ];
+  };
+}
diff --git a/pkgs/data/themes/artim-dark/default.nix b/pkgs/data/themes/artim-dark/default.nix
new file mode 100644
index 00000000000..9485f46b19a
--- /dev/null
+++ b/pkgs/data/themes/artim-dark/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenvNoCC, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec{
+  pname = "artim-dark";
+  version = "unstable-2021-12-29";
+
+  src = fetchFromGitHub {
+    owner="Mrcuve0";
+    repo="Aritim-Dark";
+    rev = "99cd330a1ab4814260e28f15431e3338a1103668";
+    hash = "sha256-xGnw5KpXbVyDdTuAkav1Hec6bitpZdPzZk0xv7WHTdY=";
+  };
+
+  dontBuild = true;
+  installPhase = ''
+    mkdir -p $out/share/plasma/desktoptheme
+    cp -R KDE/plasmaTheme/Aritim-Dark* $out/share/plasma/desktoptheme
+    mkdir -p $out/share/aurorae/themes
+    cp -R KDE/auroraeTheme $out/share/aurorae/themes/Aritim-Dark
+    mkdir -p $out/share/color-schemes
+    cp -R KDE/colorScheme/*.colors $out/share/color-schemes
+    mkdir -p $out/share/plasma/look-and-feel
+    cp -R KDE/globalTheme $out/share/plasma/look-and-feel/Aritim-Dark
+    mkdir -p $out/share/themes
+    cp -R GTK $out/share/themes/Aritim-Dark
+  '';
+
+  meta = {
+    description = "Dark theme deeply inspired by the Ayu Dark color palette";
+    homepage = "https://github.com/Mrcuve0/Aritim-Dark";
+    license = with lib.licenses; [ gpl3Only ];
+    platforms = lib.platforms.unix;
+    maintainers = [ lib.maintainers.pasqui23 ];
+  };
+}
diff --git a/pkgs/data/themes/flat-remix-gtk/default.nix b/pkgs/data/themes/flat-remix-gtk/default.nix
index 68a98337abc..59b2714285e 100644
--- a/pkgs/data/themes/flat-remix-gtk/default.nix
+++ b/pkgs/data/themes/flat-remix-gtk/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flat-remix-gtk";
-  version = "20211223";
+  version = "20220215";
 
   src = fetchFromGitHub {
     owner = "daniruiz";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jGE5ud7wEEa4JI1QTaCrOnbDwjQtDOFJX2uMo7t7+Js=";
+    sha256 = "sha256-J9PAHQ/MbdDuX16ioQQnzZpIZs/NJVkJjLL4nfaeNkU=";
   };
 
   dontBuild = true;
diff --git a/pkgs/data/themes/graphite/default.nix b/pkgs/data/themes/graphite-gtk-theme/default.nix
index 7f3ee33c039..0c9bae8ac31 100644
--- a/pkgs/data/themes/graphite/default.nix
+++ b/pkgs/data/themes/graphite-gtk-theme/default.nix
@@ -10,6 +10,8 @@
 , sizeVariants ? [] # default: standard
 , tweaks ? []
 , wallpapers ? false
+, withGrub ? false
+, grubScreens ? [] # default: 1080p
 }:
 
 let
@@ -20,16 +22,17 @@ lib.checkListOfEnum "${pname}: theme variants" [ "default" "purple" "pink" "red"
 lib.checkListOfEnum "${pname}: color variants" [ "standard" "light" "dark" ] colorVariants
 lib.checkListOfEnum "${pname}: size variants" [ "standard" "compact" ] sizeVariants
 lib.checkListOfEnum "${pname}: tweaks" [ "nord" "black" "midblack" "rimless" "normal" ] tweaks
+lib.checkListOfEnum "${pname}: grub screens" [ "1080p" "2k" "4k" ] grubScreens
 
 stdenvNoCC.mkDerivation {
   inherit pname;
-  version = "unstable-2022-01-07";
+  version = "unstable-2022-02-04";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
-    rev = "78e5421fee63b4c2a2a3d2e321538367b01a24ec";
-    sha256 = "1vfvv1gfbr9yr9mz0kb7c7ij6pxcryni1fjs87gn4hpyzns431wk";
+    rev = "7ab6a1b7eda81e914405a9931408b1d5c73e6891";
+    sha256 = "09xixd6cz2iyyyg6vskyk0wj2mahfsg21dlfcvi862h8w01hg9lr";
   };
 
   nativeBuildInputs = [
@@ -65,6 +68,18 @@ stdenvNoCC.mkDerivation {
       ''}
     ''}
 
+    ${lib.optionalString withGrub ''
+      (
+      cd other/grub2
+
+      patchShebangs install.sh
+
+      ./install.sh --justcopy --dest $out/share/grub/themes \
+        ${lib.optionalString (builtins.elem "nord" tweaks) "--theme nord"} \
+        ${lib.optionalString (grubScreens != []) "--screen " + builtins.toString grubScreens}
+      )
+    ''}
+
     jdupes -L -r $out/share
 
     runHook postInstall
diff --git a/pkgs/data/themes/graphite-kde-theme/default.nix b/pkgs/data/themes/graphite-kde-theme/default.nix
index b402c29922b..dd3a215a038 100644
--- a/pkgs/data/themes/graphite-kde-theme/default.nix
+++ b/pkgs/data/themes/graphite-kde-theme/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "graphite-kde-theme";
-  version = "unstable-2022-01-22";
+  version = "2022-02-08";
 
   src = fetchFromGitHub {
     owner = "vinceliuice";
     repo = pname;
-    rev = "d60a26533b104d6d2251c5187a402f3f35ecbdf7";
-    sha256 = "0cry5s3wr0frpchc0hx97r9v6r3v6rvln7l1hb3znn8npkr4mssi";
+    rev = version;
+    sha256 = "0pnn5s1vfdgkpsy5sc838731ly1imi8pbyd4asibw4zi238l0nvf";
   };
 
   installPhase = ''
diff --git a/pkgs/data/themes/marwaita/default.nix b/pkgs/data/themes/marwaita/default.nix
index 966cb1c4f6f..1e9f9041ca1 100644
--- a/pkgs/data/themes/marwaita/default.nix
+++ b/pkgs/data/themes/marwaita/default.nix
@@ -5,17 +5,18 @@
 , gtk-engine-murrine
 , gtk_engines
 , librsvg
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
   pname = "marwaita";
-  version = "12.1";
+  version = "13.0";
 
   src = fetchFromGitHub {
     owner = "darkomarko42";
     repo = pname;
     rev = version;
-    sha256 = "04im7va5xpi17yjkrc46m5bm9j55qq66br1xg8a2arm0j4i0bqsk";
+    sha256 = "sha256-aP/zPM7M8Oru/2AA8w6rKU/AVJJ0bAEC01C60yi2SbM=";
   };
 
   buildInputs = [
@@ -37,6 +38,8 @@ stdenv.mkDerivation rec {
     runHook postInstall
   '';
 
+  passthru.updateScript = gitUpdater {inherit pname version; };
+
   meta = with lib; {
     description = "GTK theme supporting Budgie, Pantheon, Mate, Xfce4 and GNOME desktops";
     homepage = "https://www.pling.com/p/1239855/";
diff --git a/pkgs/data/themes/orchis-theme/default.nix b/pkgs/data/themes/orchis-theme/default.nix
index 666166e0a9d..ccaee7f6552 100644
--- a/pkgs/data/themes/orchis-theme/default.nix
+++ b/pkgs/data/themes/orchis-theme/default.nix
@@ -21,13 +21,13 @@ assert lib.assertMsg (unknownTweaks == [ ]) ''
 stdenvNoCC.mkDerivation
 rec {
   pname = "orchis-theme";
-  version = "2021-12-13";
+  version = "2022-02-18";
 
   src = fetchFromGitHub {
     repo = "Orchis-theme";
     owner = "vinceliuice";
     rev = version;
-    sha256 = "sha256-PN2ucGMDzRv4v86X1zVIs9+GkbMWuja2WaSQLFvJYd0=";
+    sha256 = "sha256-SqptW8DEDCB6LMHalRlf71TWK93gW+blbu6Q1Oommes=";
   };
 
   nativeBuildInputs = [ gtk3 sassc ];
diff --git a/pkgs/data/themes/pitch-black/default.nix b/pkgs/data/themes/pitch-black/default.nix
new file mode 100644
index 00000000000..95037f90239
--- /dev/null
+++ b/pkgs/data/themes/pitch-black/default.nix
@@ -0,0 +1,30 @@
+{ lib, stdenvNoCC, fetchFromGitHub }:
+
+stdenvNoCC.mkDerivation rec{
+  pname = "pitch-black";
+  version = "unstable-2019-07-23";
+
+  src = fetchFromGitHub {
+    repo = pname;
+    owner = "freefreeno";
+    rev = "d8039341419aef1157c030bf3d9237bd926e0b95";
+    hash = "sha256-Rn3ZMBD6srIkYFNN3HT5JFP46Akodmeqz5tbV2/2ZDA=";
+  };
+
+  dontBuild = true;
+
+  installPhase = ''
+    rm LICENSE README.md
+    mkdir -p $out/share
+    mv GTK $out/share/themes
+    mv * $out/share
+  '';
+
+  meta = with lib; {
+    description = "A dark plasma theme built with usability in mind";
+    homepage = "https://github.com/freefreeno/Pitch-Black";
+    license = licenses.gpl3Only;
+    platforms = platforms.unix;
+    maintainers = [ maintainers.pasqui23 ];
+  };
+}
diff --git a/pkgs/data/themes/plano/default.nix b/pkgs/data/themes/plano/default.nix
index 9f05a199193..c321dc235c4 100644
--- a/pkgs/data/themes/plano/default.nix
+++ b/pkgs/data/themes/plano/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plano-theme";
-  version = "3.38-1";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0g2mwvzc04z3dsdfhwqgw9s7987406pv22s9rbazfvprk4ddc5b6";
+    sha256 = "sha256-slGr2nsdKng6zaVDeXWFAWKIxZbcnOLU6RH6wM0293E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/data/themes/stilo/default.nix b/pkgs/data/themes/stilo/default.nix
index bfcda049329..6401c0e2869 100644
--- a/pkgs/data/themes/stilo/default.nix
+++ b/pkgs/data/themes/stilo/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "stilo-themes";
-  version = "3.38-1";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09xarzp0j0a8cqzcg0447jl5cgvl6ccj5f00dik1hy2nlrz7d8ad";
+    sha256 = "sha256-YKEDXrOAn7pGWb0VcOx7cKHnuX120yPzqtUVnzyLrDQ=";
   };
 
   nativeBuildInputs = [ meson ninja sassc ];
diff --git a/pkgs/data/themes/zuki/default.nix b/pkgs/data/themes/zuki/default.nix
index 098edf6cc2e..d557e151d26 100644
--- a/pkgs/data/themes/zuki/default.nix
+++ b/pkgs/data/themes/zuki/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zuki-themes";
-  version = "3.38-1";
+  version = "4.0";
 
   src = fetchFromGitHub {
     owner = "lassekongo83";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0890i8kavgnrhm8ic4zpl16wc4ngpnf1zi8js9gvki2cl7dlj1xm";
+    sha256 = "1q026wa8xgyb6f5k7pqpm5zav30dbnm3b8w59as3sh8rhfgpbf80";
   };
 
   nativeBuildInputs = [ meson ninja sassc ];
diff --git a/pkgs/desktops/cinnamon/nemo/default.nix b/pkgs/desktops/cinnamon/nemo/default.nix
index 47e43758447..e8bf145e502 100644
--- a/pkgs/desktops/cinnamon/nemo/default.nix
+++ b/pkgs/desktops/cinnamon/nemo/default.nix
@@ -24,7 +24,7 @@
 
 stdenv.mkDerivation rec {
   pname = "nemo";
-  version = "5.2.3";
+  version = "5.2.4";
 
   # TODO: add plugins support (see https://github.com/NixOS/nixpkgs/issues/78327)
 
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-kPxwWciNf4KQx3JG1qPQcZJeOa4B+udMyQmH8A7JcfQ=";
+    sha256 = "sha256-v63dFiBKtLCmRnwJ6u814lSv+tfPG+IIJtcWCnOEZjk=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/desktops/cinnamon/xapps/default.nix b/pkgs/desktops/cinnamon/xapps/default.nix
index dfde8773ec0..7927026166a 100644
--- a/pkgs/desktops/cinnamon/xapps/default.nix
+++ b/pkgs/desktops/cinnamon/xapps/default.nix
@@ -22,7 +22,7 @@
 
 stdenv.mkDerivation rec {
   pname = "xapps";
-  version = "2.2.5";
+  version = "2.2.8";
 
   outputs = [ "out" "dev" ];
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    hash = "sha256-Ev+gTl9jY1HLbXKnCsVVSsY8ZrHyzsIkp+JTaXOTm6I=";
+    hash = "sha256-70troRGklu5xGjBIrGvshcOX/UT96hIEFXyo4yj2GT4=";
   };
 
   # TODO: https://github.com/NixOS/nixpkgs/issues/36468
diff --git a/pkgs/desktops/cinnamon/xreader/default.nix b/pkgs/desktops/cinnamon/xreader/default.nix
index 147c36cbda4..9864e1c0e18 100644
--- a/pkgs/desktops/cinnamon/xreader/default.nix
+++ b/pkgs/desktops/cinnamon/xreader/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xreader";
-  version = "3.2.2";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-rAPc4RF2uXp1hI8/8PXDYy3DnL5vNR8rF/EEixO0FXI=";
+    sha256 = "sha256-wBrP5SHGPvH/Gz9QY253zQuf8WSjV19oNB5aIqXGLZ8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/cinnamon/xviewer/default.nix b/pkgs/desktops/cinnamon/xviewer/default.nix
index e8fb0f1f5c9..5f5720c253b 100644
--- a/pkgs/desktops/cinnamon/xviewer/default.nix
+++ b/pkgs/desktops/cinnamon/xviewer/default.nix
@@ -26,13 +26,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xviewer";
-  version = "3.2.2";
+  version = "3.2.4";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-FFRms4yh7TQ/O3ee7igeIslimSWLhue3BE1xCrJ3NQ4=";
+    sha256 = "sha256-OyHSBXtJ/TExl06NLUAaIZq4u0+fI3YGQ37HRZeNP+0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/enlightenment/efl/default.nix b/pkgs/desktops/enlightenment/efl/default.nix
index fb67cafd63a..7ab1bd79c30 100644
--- a/pkgs/desktops/enlightenment/efl/default.nix
+++ b/pkgs/desktops/enlightenment/efl/default.nix
@@ -56,11 +56,11 @@
 
 stdenv.mkDerivation rec {
   pname = "efl";
-  version = "1.26.1";
+  version = "1.26.2";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/libs/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0hm6i1f2g4mwj726rc6na38xhys1plbv9swrlc9hrpa87mz6gac6";
+    sha256 = "071h0pscbd8g341yy5rz9mk1xn8yhryldhl6mmr1y6lafaycyy99";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/enlightenment/enlightenment/default.nix b/pkgs/desktops/enlightenment/enlightenment/default.nix
index 3c2dc7f3316..3fe63ade488 100644
--- a/pkgs/desktops/enlightenment/enlightenment/default.nix
+++ b/pkgs/desktops/enlightenment/enlightenment/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "enlightenment";
-  version = "0.25.1";
+  version = "0.25.3";
 
   src = fetchurl {
     url = "http://download.enlightenment.org/rel/apps/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0i1424vsc929h36hx04646pbrjiya6nc1nqr6s15xwvfv7imzw1c";
+    sha256 = "1xngwixp0cckfq3jhrdmmk6zj67125amr7g6xwc6l89pnpmlkz9p";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/apps/gedit/default.nix b/pkgs/desktops/gnome/apps/gedit/default.nix
index a6748dfc417..b8783e4db46 100644
--- a/pkgs/desktops/gnome/apps/gedit/default.nix
+++ b/pkgs/desktops/gnome/apps/gedit/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , meson
 , fetchurl
 , python3
@@ -7,12 +8,12 @@
 , glib
 , adwaita-icon-theme
 , libpeas
+, libxml2
 , gtksourceview4
 , gsettings-desktop-schemas
 , wrapGAppsHook
 , ninja
 , libsoup
-, tepl
 , gnome
 , gspell
 , perl
@@ -23,11 +24,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gedit";
-  version = "40.1";
+  version = "41.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gedit/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "149ngl9qw6h59546lir1pa7hvw23ppsnqlj9mfqphmmn5jl99qsm";
+    sha256 = "epsYsViAjRiSmJFl83BsTxooKXkHmrdFinnTwkrU3rU=";
   };
 
   patches = [
@@ -39,6 +40,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     desktop-file-utils
     itstool
+    libxml2
     meson
     ninja
     perl
@@ -57,7 +59,6 @@ stdenv.mkDerivation rec {
     gtksourceview4
     libpeas
     libsoup
-    tepl
   ];
 
   postPatch = ''
@@ -81,7 +82,7 @@ stdenv.mkDerivation rec {
     homepage = "https://wiki.gnome.org/Apps/Gedit";
     description = "Official text editor of the GNOME desktop environment";
     maintainers = teams.gnome.members;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/desktops/gnome/apps/gnome-maps/default.nix b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
index 8fd99308069..5d90cefdff3 100644
--- a/pkgs/desktops/gnome/apps/gnome-maps/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-maps/default.nix
@@ -29,11 +29,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-maps";
-  version = "41.2";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gYIbTK/GQc1QDXOzMMY85aBahPBDBxbWPoizyuqs/Qw=";
+    sha256 = "sha256-40CxP0b+C31bD48BQTKR3c2HDHSlw4+iTKwfWF5wOT4=";
   };
 
   doCheck = true;
diff --git a/pkgs/desktops/gnome/apps/gnome-todo/default.nix b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
index 32eb07fbd62..32a7a2fb343 100644
--- a/pkgs/desktops/gnome/apps/gnome-todo/default.nix
+++ b/pkgs/desktops/gnome/apps/gnome-todo/default.nix
@@ -27,14 +27,14 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-todo";
-  version = "unstable-2022-01-01";
+  version = "unstable-2022-02-01";
 
   src = fetchFromGitLab {
     domain = "gitlab.gnome.org";
     owner = "GNOME";
     repo = "gnome-todo";
-    rev = "4a6be8c38510d909a9f94ec34c4da1f31ac9f1ab";
-    sha256 = "5UGo9vMb8scPWK91gftYOjqkJs9tGMiH1lqyEqedF2A=";
+    rev = "2cd071ad35efdef72038730d658f013dd0fc7daa";
+    sha256 = "FMG9ju+LsglAvbBhdgDF+2ZxB633EwnatwCFgW+VOTk=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/evince/default.nix b/pkgs/desktops/gnome/core/evince/default.nix
index 74987c07a5b..28406e41284 100644
--- a/pkgs/desktops/gnome/core/evince/default.nix
+++ b/pkgs/desktops/gnome/core/evince/default.nix
@@ -44,6 +44,7 @@
 , libgxps
 , supportXPS ? true # Open XML Paper Specification via libgxps
 , withPantheon ? false
+, withLibsecret ? true
 }:
 
 stdenv.mkDerivation rec {
@@ -103,13 +104,14 @@ stdenv.mkDerivation rec {
     libarchive
     libhandy
     librsvg
-    libsecret
     libspectre
     libxml2
     pango
     poppler
     t1lib
     texlive.bin.core # kpathsea for DVI support
+  ] ++ lib.optionals withLibsecret [
+    libsecret
   ] ++ lib.optionals supportXPS [
     libgxps
   ] ++ lib.optionals supportMultimedia (with gst_all_1; [
@@ -126,6 +128,8 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dnautilus=false"
     "-Dps=enabled"
+  ] ++ lib.optionals (!withLibsecret) [
+    "-Dkeyring=disabled"
   ];
 
   NIX_CFLAGS_COMPILE = "-I${glib.dev}/include/gio-unix-2.0";
diff --git a/pkgs/desktops/gnome/core/evolution-data-server/default.nix b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
index 11308bfcf5e..b7ba12be135 100644
--- a/pkgs/desktops/gnome/core/evolution-data-server/default.nix
+++ b/pkgs/desktops/gnome/core/evolution-data-server/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "evolution-data-server";
-  version = "3.42.3";
+  version = "3.42.4";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/evolution-data-server/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "b1hHoSNHmQc+lYXbhhwhOBoJ7VUNwKISXwC6X5C9Nh0=";
+    sha256 = "fftBs+bAWBHUSajeTfx3q5sZ+O3yCzL92FeRhmIm0lI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix b/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
index 07b77c04994..901dbc21e9e 100644
--- a/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-bluetooth/default.nix
@@ -78,7 +78,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://help.gnome.org/users/gnome-bluetooth/stable/index.html.en";
-    description = "Application that let you manage Bluetooth in the GNOME destkop";
+    description = "Application that lets you manage Bluetooth in the GNOME desktop";
     maintainers = teams.gnome.members;
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
diff --git a/pkgs/desktops/gnome/core/gnome-control-center/default.nix b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
index 85cfa8bf314..f68977e52dd 100644
--- a/pkgs/desktops/gnome/core/gnome-control-center/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-control-center/default.nix
@@ -68,11 +68,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-control-center";
-  version = "41.2";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gnH8azPsJBileDBN0+V9Zl8NfMcGqZqXvkGYSGGP4kg=";
+    sha256 = "sha256-1tsMTLcIV77PSKxQB/ErX2O51dfoDqfuV9O+USZp98k=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
index 7ce00ac8f82..2d5be438c3e 100644
--- a/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-initial-setup/default.nix
@@ -35,11 +35,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-initial-setup";
-  version = "41.2";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "GTr79qMILaCjKncU8ejVKo20Vycpde0vNlQ2SjM5Gz8=";
+    sha256 = "luzS2252xROxjGBtwmK7UjIoxKrtvtageBHlaP1dtkI=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
index 437da36a7a3..aa61bd91c29 100644
--- a/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell-extensions/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extensions";
-  version = "41.1";
+  version = "41.2";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell-extensions/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0ObyJz8I1S2SX8K7ZrR7KOXvUNG4oUAgh3xmJCPVB9M=";
+    sha256 = "rZuoL0y9BHJpc7XoevrRiv2qMjhgoK8+ckDzp00iLxk=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-shell/default.nix b/pkgs/desktops/gnome/core/gnome-shell/default.nix
index dc3aaea930e..3b89ceb7817 100644
--- a/pkgs/desktops/gnome/core/gnome-shell/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-shell/default.nix
@@ -66,13 +66,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "gnome-shell";
-  version = "41.3";
+  version = "41.4";
 
   outputs = [ "out" "devdoc" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-shell/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "Hj36KgvklFQYK0rOd/EdENP1uYjvD8tzK3MTVzlJ3tE=";
+    sha256 = "x+73SvMEZJwDuG25m9C6x1oBH7/2d0yO41WD282tivQ=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/gnome-software/default.nix b/pkgs/desktops/gnome/core/gnome-software/default.nix
index 4103965ce27..aa9058ad410 100644
--- a/pkgs/desktops/gnome/core/gnome-software/default.nix
+++ b/pkgs/desktops/gnome/core/gnome-software/default.nix
@@ -42,11 +42,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gnome-software";
-  version = "41.3";
+  version = "41.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-software/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "ZQVjN3q2mxAQXfdxuz8hY3lVO7evQISNjDBljgEAmLw=";
+    sha256 = "evhzzkcs8racUbyevGG4Nt+8z9b0Jwbj7TqpCaruxGU=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/mutter/default.nix b/pkgs/desktops/gnome/core/mutter/default.nix
index d9dd6efa148..d0b8a7537e2 100644
--- a/pkgs/desktops/gnome/core/mutter/default.nix
+++ b/pkgs/desktops/gnome/core/mutter/default.nix
@@ -46,13 +46,13 @@
 
 let self = stdenv.mkDerivation rec {
   pname = "mutter";
-  version = "41.3";
+  version = "41.4";
 
   outputs = [ "out" "dev" "man" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/mutter/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "cZxdEGDrYFwbpkO0hvtXsaPHGX59+DvWwzZvxLaEd+U=";
+    sha256 = "VYgmlQZKpvA4XNH39/qywqLtLJrsePV4+qB/UgnKUpw=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/core/yelp/default.nix b/pkgs/desktops/gnome/core/yelp/default.nix
index 4b3ee62dcee..be858a19487 100644
--- a/pkgs/desktops/gnome/core/yelp/default.nix
+++ b/pkgs/desktops/gnome/core/yelp/default.nix
@@ -2,7 +2,7 @@
 , stdenv
 , gettext
 , fetchurl
-, webkitgtk_4_1
+, webkitgtk
 , pkg-config
 , gtk3
 , glib
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gtk3
     glib
-    webkitgtk_4_1
+    webkitgtk
     sqlite
     libxml2
     libxslt
@@ -44,6 +44,10 @@ stdenv.mkDerivation rec {
     gst_all_1.gst-plugins-good
   ];
 
+  # To reduce the GNOME ISO closure size.  Remove when other packages
+  # are using webkit2gtk_4_1.
+  configureFlags = ["--with-webkit2gtk-4-0"];
+
   passthru = {
     updateScript = gnome.updateScript {
       packageName = "yelp";
diff --git a/pkgs/desktops/gnome/extensions/arcmenu/default.nix b/pkgs/desktops/gnome/extensions/arcmenu/default.nix
index 01656dbee17..d0df6634240 100644
--- a/pkgs/desktops/gnome/extensions/arcmenu/default.nix
+++ b/pkgs/desktops/gnome/extensions/arcmenu/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-shell-extension-arcmenu";
-  version = "20";
+  version = "23";
 
   src = fetchFromGitLab {
     owner = "arcmenu";
     repo = "ArcMenu";
     rev = "v${version}";
-    sha256 = "sha256-HjhOZfXld0gnKOAazT8qbI0Jdq6NY/FsrhzAY9uxxMg=";
+    sha256 = "sha256-i/sXAZhNbbVbKdCJ3k9kRAEY9iC5iSNq4YtjiiOqHTM=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
new file mode 100644
index 00000000000..9447de1fd4e
--- /dev/null
+++ b/pkgs/desktops/gnome/extensions/dash-to-dock/default.nix
@@ -0,0 +1,48 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, glib
+, gettext
+, sassc
+, unstableGitUpdater
+}:
+
+stdenv.mkDerivation rec {
+  pname = "gnome-shell-extension-dash-to-dock";
+  version = "71+date=2022-02-23";
+
+  # Temporarily switched to commit hash because stable version is buggy.
+  src = fetchFromGitHub {
+    owner = "micheleg";
+    repo = "dash-to-dock";
+    rev = "6f717302747931de6bf35bc9839fb3bd946e2c2f";
+    sha256 = "1J8t0R43jBbqpXyH2uVyEK+OvhrCw18WWheflqwe100=";
+  };
+
+  nativeBuildInputs = [
+    glib
+    gettext
+    sassc
+  ];
+
+  makeFlags = [
+    "INSTALLBASE=${placeholder "out"}/share/gnome-shell/extensions"
+  ];
+
+  passthru = {
+    extensionUuid = "dash-to-dock@micxgx.gmail.com";
+    extensionPortalSlug = "dash-to-dock";
+
+    updateScript = unstableGitUpdater {
+      stableVersion = true;
+      tagPrefix = "extensions.gnome.org-v";
+    };
+  };
+
+  meta = with lib; {
+    description = "A dock for the Gnome Shell";
+    homepage = "https://micheleg.github.io/dash-to-dock/";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ eperuffo jtojnar rhoriguchi ];
+  };
+}
diff --git a/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix b/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix
deleted file mode 100644
index 0d1f8df4f27..00000000000
--- a/pkgs/desktops/gnome/extensions/dash-to-panel/default.nix
+++ /dev/null
@@ -1,31 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, glib, gettext }:
-
-stdenv.mkDerivation rec {
-  pname = "gnome-shell-extension-dash-to-panel";
-  version = "45";
-
-  src = fetchFromGitHub {
-    owner = "home-sweet-gnome";
-    repo = "dash-to-panel";
-    rev = "v${version}";
-    sha256 = "05bfd3b1g9zd86pl1rpgfqsmip271lasyfj8phpqf1gdds5yz6f6";
-  };
-
-  buildInputs = [
-    glib gettext
-  ];
-
-  makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
-
-  passthru = {
-    extensionUuid = "dash-to-panel@jderose9.github.com";
-    extensionPortalSlug = "dash-to-panel";
-  };
-
-  meta = with lib; {
-    description = "An icon taskbar for Gnome Shell";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ mounium ];
-    homepage = "https://github.com/jderose9/dash-to-panel";
-  };
-}
diff --git a/pkgs/desktops/gnome/extensions/extensionOverrides.nix b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
index da95f324409..bc659b9a443 100644
--- a/pkgs/desktops/gnome/extensions/extensionOverrides.nix
+++ b/pkgs/desktops/gnome/extensions/extensionOverrides.nix
@@ -28,10 +28,6 @@ super: lib.trivial.pipe super [
     meta.maintainers = with lib.maintainers; [ eperuffo ];
   }))
 
-  (patchExtension "dash-to-dock@micxgx.gmail.com" (old: {
-    meta.maintainers = with lib.maintainers; [ eperuffo jtojnar rhoriguchi ];
-  }))
-
   (patchExtension "ddterm@amezin.github.com" (old: {
     # Requires gjs, zenity & vte via the typelib
     nativeBuildInputs = [ gobject-introspection wrapGAppsHook ];
diff --git a/pkgs/desktops/gnome/extensions/extensions.json b/pkgs/desktops/gnome/extensions/extensions.json
index d34a95ea36f..2c43c1402a1 100644
--- a/pkgs/desktops/gnome/extensions/extensions.json
+++ b/pkgs/desktops/gnome/extensions/extensions.json
@@ -36,7 +36,7 @@
 , {"uuid": "caffeine@patapon.info", "name": "Caffeine", "pname": "caffeine", "description": "Disable the screensaver and auto suspend", "link": "https://extensions.gnome.org/extension/517/caffeine/", "shell_version_map": {"38": {"version": "37", "sha256": "05g1910jcwkjl9gmvnk57ip20sbzy09mk4v6q2fm0pg8398v0vhf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW9ucGF0YXBvbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJ1dWlkIjogImNhZmZlaW5lQHBhdGFwb24uaW5mbyIsCiAgInZlcnNpb24iOiAzNwp9"}, "40": {"version": "40", "sha256": "1rza4ppzcimh6qmg14srawv16vas4lbcw4njxjigl29d9qf43sdr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lb25wYXRhcG9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jYWZmZWluZSIsCiAgInV1aWQiOiAiY2FmZmVpbmVAcGF0YXBvbi5pbmZvIiwKICAidmVyc2lvbiI6IDQwCn0="}, "41": {"version": "40", "sha256": "1rza4ppzcimh6qmg14srawv16vas4lbcw4njxjigl29d9qf43sdr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tY2FmZmVpbmUiLAogICJuYW1lIjogIkNhZmZlaW5lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNhZmZlaW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lb25wYXRhcG9uL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jYWZmZWluZSIsCiAgInV1aWQiOiAiY2FmZmVpbmVAcGF0YXBvbi5pbmZvIiwKICAidmVyc2lvbiI6IDQwCn0="}}}
 , {"uuid": "backslide@codeisland.org", "name": "BackSlide", "pname": "backslide", "description": "Automatic background-image (wallpaper) slideshow for Gnome Shell", "link": "https://extensions.gnome.org/extension/543/backslide/", "shell_version_map": {"38": {"version": "18", "sha256": "1vm4w61cksj9ya5z4xcy7h96bk0wwi5njp0lyhnqa8j2fgsq5iin", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL0x1a2FzS251dGgvYmFja3NsaWRlIiwKICAidXVpZCI6ICJiYWNrc2xpZGVAY29kZWlzbGFuZC5vcmciLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "40": {"version": "24", "sha256": "0an1w35sbv5w7826xa3k8nl8hc3krxkzc8nhvgcp48z75n2wdksl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvTHVrYXNLbnV0aC9iYWNrc2xpZGUiLAogICJ1dWlkIjogImJhY2tzbGlkZUBjb2RlaXNsYW5kLm9yZyIsCiAgInZlcnNpb24iOiAyNAp9"}, "41": {"version": "24", "sha256": "0an1w35sbv5w7826xa3k8nl8hc3krxkzc8nhvgcp48z75n2wdksl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpYyBiYWNrZ3JvdW5kLWltYWdlICh3YWxscGFwZXIpIHNsaWRlc2hvdyBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYWNrc2xpZGUiLAogICJuYW1lIjogIkJhY2tTbGlkZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJMdWthcyBLbnV0aCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvTHVrYXNLbnV0aC9iYWNrc2xpZGUiLAogICJ1dWlkIjogImJhY2tzbGlkZUBjb2RlaXNsYW5kLm9yZyIsCiAgInZlcnNpb24iOiAyNAp9"}}}
 , {"uuid": "historymanager-prefix-search@sustmidown.centrum.cz", "name": "HistoryManager Prefix Search", "pname": "historymanager-prefix-search", "description": "Use PageUp and PageDown to move in HistoryManager (eg. RunCommand, Looking Glass) according to prefix", "link": "https://extensions.gnome.org/extension/544/historymanager-prefix-search/", "shell_version_map": {"40": {"version": "14", "sha256": "1n6gac80xrk6lhlj29zb03h62ia0a66va0i9pmjgqbg3bs74yds0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBQYWdlVXAgYW5kIFBhZ2VEb3duIHRvIG1vdmUgaW4gSGlzdG9yeU1hbmFnZXIgKGVnLiBSdW5Db21tYW5kLCBMb29raW5nIEdsYXNzKSBhY2NvcmRpbmcgdG8gcHJlZml4IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGlzdG9yeW1hbmFnZXItcHJlZml4LXNlYXJjaCIsCiAgIm5hbWUiOiAiSGlzdG9yeU1hbmFnZXIgUHJlZml4IFNlYXJjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5oaXN0b3J5bWFuYWdlci1wcmVmaXgtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy43LjMiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3VzdG1pL2dub21lLXNoZWxsLWV4dGVuc2lvbi1oaXN0b3J5bWFuYWdlci1wcmVmaXgtc2VhcmNoIiwKICAidXVpZCI6ICJoaXN0b3J5bWFuYWdlci1wcmVmaXgtc2VhcmNoQHN1c3RtaWRvd24uY2VudHJ1bS5jeiIsCiAgInZlcnNpb24iOiAxNAp9"}}}
-, {"uuid": "hidetopbar@mathieu.bidon.ca", "name": "Hide Top Bar", "pname": "hide-top-bar", "description": "Hides the top bar, except in overview. However, there is an option to show the panel whenever the mouse pointer approaches the edge of the screen. And if \"intellihide\" is enabled, the panel only hides when a window takes the space.\n\n- Press backspace to remove keyboard shortcut.\n- Log off and on again when there is an error after upgrading.", "link": "https://extensions.gnome.org/extension/545/hide-top-bar/", "shell_version_map": {"38": {"version": "102", "sha256": "1d31dnlhis06fmkpyxdymj2qk7pvk0gqngmgdqw72xcnl3s341zc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWx1dGZ5L2hpZGV0b3BiYXIiLAogICJ1dWlkIjogImhpZGV0b3BiYXJAbWF0aGlldS5iaWRvbi5jYSIsCiAgInZlcnNpb24iOiAxMDIKfQ=="}, "40": {"version": "102", "sha256": "1d31dnlhis06fmkpyxdymj2qk7pvk0gqngmgdqw72xcnl3s341zc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWx1dGZ5L2hpZGV0b3BiYXIiLAogICJ1dWlkIjogImhpZGV0b3BiYXJAbWF0aGlldS5iaWRvbi5jYSIsCiAgInZlcnNpb24iOiAxMDIKfQ=="}, "41": {"version": "102", "sha256": "1d31dnlhis06fmkpyxdymj2qk7pvk0gqngmgdqw72xcnl3s341zc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWx1dGZ5L2hpZGV0b3BiYXIiLAogICJ1dWlkIjogImhpZGV0b3BiYXJAbWF0aGlldS5iaWRvbi5jYSIsCiAgInZlcnNpb24iOiAxMDIKfQ=="}}}
+, {"uuid": "hidetopbar@mathieu.bidon.ca", "name": "Hide Top Bar", "pname": "hide-top-bar", "description": "Hides the top bar, except in overview. However, there is an option to show the panel whenever the mouse pointer approaches the edge of the screen. And if \"intellihide\" is enabled, the panel only hides when a window takes the space.\n\n- Press backspace to remove keyboard shortcut.\n- Log off and on again when there is an error after upgrading.", "link": "https://extensions.gnome.org/extension/545/hide-top-bar/", "shell_version_map": {"38": {"version": "103", "sha256": "04218z37d7zpl9hp9rs25g5vdzhjpdb04pj8m01hmcjmbqaf3b0m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTAzCn0="}, "40": {"version": "103", "sha256": "04218z37d7zpl9hp9rs25g5vdzhjpdb04pj8m01hmcjmbqaf3b0m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTAzCn0="}, "41": {"version": "103", "sha256": "04218z37d7zpl9hp9rs25g5vdzhjpdb04pj8m01hmcjmbqaf3b0m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSB0b3AgYmFyLCBleGNlcHQgaW4gb3ZlcnZpZXcuIEhvd2V2ZXIsIHRoZXJlIGlzIGFuIG9wdGlvbiB0byBzaG93IHRoZSBwYW5lbCB3aGVuZXZlciB0aGUgbW91c2UgcG9pbnRlciBhcHByb2FjaGVzIHRoZSBlZGdlIG9mIHRoZSBzY3JlZW4uIEFuZCBpZiBcImludGVsbGloaWRlXCIgaXMgZW5hYmxlZCwgdGhlIHBhbmVsIG9ubHkgaGlkZXMgd2hlbiBhIHdpbmRvdyB0YWtlcyB0aGUgc3BhY2UuXG5cbi0gUHJlc3MgYmFja3NwYWNlIHRvIHJlbW92ZSBrZXlib2FyZCBzaG9ydGN1dC5cbi0gTG9nIG9mZiBhbmQgb24gYWdhaW4gd2hlbiB0aGVyZSBpcyBhbiBlcnJvciBhZnRlciB1cGdyYWRpbmcuIiwKICAibmFtZSI6ICJIaWRlIFRvcCBCYXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaGlkZXRvcGJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21sdXRmeS9oaWRldG9wYmFyIiwKICAidXVpZCI6ICJoaWRldG9wYmFyQG1hdGhpZXUuYmlkb24uY2EiLAogICJ2ZXJzaW9uIjogMTAzCn0="}}}
 , {"uuid": "hdate@hatul.info", "name": "Gnome HDate", "pname": "gnome-hdate", "description": "Show Hebrew Date in the Panel.\nRequires libhdate-glib", "link": "https://extensions.gnome.org/extension/554/gnome-hdate/", "shell_version_map": {"40": {"version": "20", "sha256": "1aj5ry3g93wx1crn8rr2jm9vbz07kz0r7qc6sr2vj352bgjzrlbf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pYWQvZ25vbWUtaGRhdGUiLAogICJ1dWlkIjogImhkYXRlQGhhdHVsLmluZm8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "20", "sha256": "1aj5ry3g93wx1crn8rr2jm9vbz07kz0r7qc6sr2vj352bgjzrlbf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgSGVicmV3IERhdGUgaW4gdGhlIFBhbmVsLlxuUmVxdWlyZXMgbGliaGRhdGUtZ2xpYiIsCiAgIm5hbWUiOiAiR25vbWUgSERhdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMiIsCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuOCIsCiAgICAiMy4xMCIsCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW1pYWQvZ25vbWUtaGRhdGUiLAogICJ1dWlkIjogImhkYXRlQGhhdHVsLmluZm8iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
 , {"uuid": "todo.txt@bart.libert.gmail.com", "name": "Todo.txt", "pname": "todotxt", "description": "A Gnome shell interface for todo.txt. \n\nTodo.txt is a future-proof syntax for tasks (not made by me), for more info: http://todotxt.com/\n\nSome examples:\nTask: Basic task\n(A) Task: High priority task\nTask @project +context: Task is part of project and has a certain context\nx 2013-08-22 Task: Task was completed on the 22nd of August\n\nFor more info about the syntax: https://github.com/ginatrapani/todo.txt-cli/wiki/The-Todo.txt-Format\n\nQuick start:\nWhen you first enable the extension, chances are high you'll see a [X] in your top panel. If you click the [X], you will be able to choose between creating the necessary files automatically or selecting your own existing files to be used with the extension.\n\nPlease use the issue tracker on the homepage to report bugs and/or file feature requests, this makes tracking easier for me. Thanks!\n\nSee the included CHANGELOG.md for info about changes between different versions, or see it online: https://gitlab.com/bartl/todo-txt-gnome-shell-extension/raw/master/CHANGELOG.md", "link": "https://extensions.gnome.org/extension/570/todotxt/", "shell_version_map": {"38": {"version": "33", "sha256": "1spq0i8w9xw8zgq3niqzs2dslg01l0gsbcys26p8lpydz0dsy7xa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2JhcnRsL3RvZG8tdHh0LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidG9kby50eHRAYmFydC5saWJlcnQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMzCn0="}, "40": {"version": "35", "sha256": "18vc11nls6giskq94kw48kbcx399706rglaqsmla4yvix0jkd8lz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iYXJ0bC90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNQp9"}, "41": {"version": "36", "sha256": "1pnw1fm38zxacjyz31vw9wfdmk1h6i4grxzi3n1nlz23gpkn3df3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR25vbWUgc2hlbGwgaW50ZXJmYWNlIGZvciB0b2RvLnR4dC4gXG5cblRvZG8udHh0IGlzIGEgZnV0dXJlLXByb29mIHN5bnRheCBmb3IgdGFza3MgKG5vdCBtYWRlIGJ5IG1lKSwgZm9yIG1vcmUgaW5mbzogaHR0cDovL3RvZG90eHQuY29tL1xuXG5Tb21lIGV4YW1wbGVzOlxuVGFzazogQmFzaWMgdGFza1xuKEEpIFRhc2s6IEhpZ2ggcHJpb3JpdHkgdGFza1xuVGFzayBAcHJvamVjdCArY29udGV4dDogVGFzayBpcyBwYXJ0IG9mIHByb2plY3QgYW5kIGhhcyBhIGNlcnRhaW4gY29udGV4dFxueCAyMDEzLTA4LTIyIFRhc2s6IFRhc2sgd2FzIGNvbXBsZXRlZCBvbiB0aGUgMjJuZCBvZiBBdWd1c3RcblxuRm9yIG1vcmUgaW5mbyBhYm91dCB0aGUgc3ludGF4OiBodHRwczovL2dpdGh1Yi5jb20vZ2luYXRyYXBhbmkvdG9kby50eHQtY2xpL3dpa2kvVGhlLVRvZG8udHh0LUZvcm1hdFxuXG5RdWljayBzdGFydDpcbldoZW4geW91IGZpcnN0IGVuYWJsZSB0aGUgZXh0ZW5zaW9uLCBjaGFuY2VzIGFyZSBoaWdoIHlvdSdsbCBzZWUgYSBbWF0gaW4geW91ciB0b3AgcGFuZWwuIElmIHlvdSBjbGljayB0aGUgW1hdLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGNob29zZSBiZXR3ZWVuIGNyZWF0aW5nIHRoZSBuZWNlc3NhcnkgZmlsZXMgYXV0b21hdGljYWxseSBvciBzZWxlY3RpbmcgeW91ciBvd24gZXhpc3RpbmcgZmlsZXMgdG8gYmUgdXNlZCB3aXRoIHRoZSBleHRlbnNpb24uXG5cblBsZWFzZSB1c2UgdGhlIGlzc3VlIHRyYWNrZXIgb24gdGhlIGhvbWVwYWdlIHRvIHJlcG9ydCBidWdzIGFuZC9vciBmaWxlIGZlYXR1cmUgcmVxdWVzdHMsIHRoaXMgbWFrZXMgdHJhY2tpbmcgZWFzaWVyIGZvciBtZS4gVGhhbmtzIVxuXG5TZWUgdGhlIGluY2x1ZGVkIENIQU5HRUxPRy5tZCBmb3IgaW5mbyBhYm91dCBjaGFuZ2VzIGJldHdlZW4gZGlmZmVyZW50IHZlcnNpb25zLCBvciBzZWUgaXQgb25saW5lOiBodHRwczovL2dpdGxhYi5jb20vYmFydGwvdG9kby10eHQtZ25vbWUtc2hlbGwtZXh0ZW5zaW9uL3Jhdy9tYXN0ZXIvQ0hBTkdFTE9HLm1kIiwKICAibmFtZSI6ICJUb2RvLnR4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9iYXJ0bC90b2RvLXR4dC1nbm9tZS1zaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogInRvZG8udHh0QGJhcnQubGliZXJ0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzNgp9"}}}
 , {"uuid": "text_translator@awamper.gmail.com", "name": "Text Translator", "pname": "text-translator", "description": "** Needs the package translate-shell **\nTranslation of the text by different translators (currently Google.Translate, Yandex.Translate).\nShortcuts:\nSuper+T - open translator dialog.\nSuper+Shift+T - open translator dialog and translate text from clipboard.\nSuper+Alt+T - open translator dialog and translate from primary selection.\nCtrl+Enter+ - Translate text.\nCtrl+Shift+C - copy translated text to clipboard.\nCtrl+S - swap languages.\nCtrl+D - reset languages to default\nTab+ - toggle transliteration of result text.", "link": "https://extensions.gnome.org/extension/593/text-translator/", "shell_version_map": {"38": {"version": "36", "sha256": "1idzgg4vb791k5dryjvznr6mfwfx59vlgabw2n3spysbwvjv2a48", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIioqIE5lZWRzIHRoZSBwYWNrYWdlIHRyYW5zbGF0ZS1zaGVsbCAqKlxuVHJhbnNsYXRpb24gb2YgdGhlIHRleHQgYnkgZGlmZmVyZW50IHRyYW5zbGF0b3JzIChjdXJyZW50bHkgR29vZ2xlLlRyYW5zbGF0ZSwgWWFuZGV4LlRyYW5zbGF0ZSkuXG5TaG9ydGN1dHM6XG5TdXBlcitUIC0gb3BlbiB0cmFuc2xhdG9yIGRpYWxvZy5cblN1cGVyK1NoaWZ0K1QgLSBvcGVuIHRyYW5zbGF0b3IgZGlhbG9nIGFuZCB0cmFuc2xhdGUgdGV4dCBmcm9tIGNsaXBib2FyZC5cblN1cGVyK0FsdCtUIC0gb3BlbiB0cmFuc2xhdG9yIGRpYWxvZyBhbmQgdHJhbnNsYXRlIGZyb20gcHJpbWFyeSBzZWxlY3Rpb24uXG5DdHJsK0VudGVyKyAtIFRyYW5zbGF0ZSB0ZXh0LlxuQ3RybCtTaGlmdCtDIC0gY29weSB0cmFuc2xhdGVkIHRleHQgdG8gY2xpcGJvYXJkLlxuQ3RybCtTIC0gc3dhcCBsYW5ndWFnZXMuXG5DdHJsK0QgLSByZXNldCBsYW5ndWFnZXMgdG8gZGVmYXVsdFxuVGFiKyAtIHRvZ2dsZSB0cmFuc2xpdGVyYXRpb24gb2YgcmVzdWx0IHRleHQuIiwKICAibmFtZSI6ICJUZXh0IFRyYW5zbGF0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGV4dC10cmFuc2xhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ3Vmb2UvdGV4dC10cmFuc2xhdG9yIiwKICAidXVpZCI6ICJ0ZXh0X3RyYW5zbGF0b3JAYXdhbXBlci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="}}}
@@ -91,8 +91,9 @@
 , {"uuid": "dim-on-battery@nailfarmer.nailfarmer.com", "name": "Dim On Battery Power", "pname": "dim-on-battery-power", "description": "Automatically dims the screen when the machine is running on battery power.", "link": "https://extensions.gnome.org/extension/947/dim-on-battery-power/", "shell_version_map": {"38": {"version": "26", "sha256": "0nh8z4by722b9f11lk8akgwz1d8dm1v4r4129lbbvfm2qgg2f1mi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL25haWxmYXJtZXIvZ25vbWUtc2hlbGwtZGltLW9uLWJhdHRlcnktZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaW0tb24tYmF0dGVyeUBuYWlsZmFybWVyLm5haWxmYXJtZXIuY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "40": {"version": "26", "sha256": "0nh8z4by722b9f11lk8akgwz1d8dm1v4r4129lbbvfm2qgg2f1mi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL25haWxmYXJtZXIvZ25vbWUtc2hlbGwtZGltLW9uLWJhdHRlcnktZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaW0tb24tYmF0dGVyeUBuYWlsZmFybWVyLm5haWxmYXJtZXIuY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "41": {"version": "26", "sha256": "0nh8z4by722b9f11lk8akgwz1d8dm1v4r4129lbbvfm2qgg2f1mi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgZGltcyB0aGUgc2NyZWVuIHdoZW4gdGhlIG1hY2hpbmUgaXMgcnVubmluZyBvbiBiYXR0ZXJ5IHBvd2VyLiIsCiAgIm5hbWUiOiAiRGltIE9uIEJhdHRlcnkgUG93ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL25haWxmYXJtZXIvZ25vbWUtc2hlbGwtZGltLW9uLWJhdHRlcnktZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJkaW0tb24tYmF0dGVyeUBuYWlsZmFybWVyLm5haWxmYXJtZXIuY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
 , {"uuid": "bottompanel@tmoer93", "name": "BottomPanel", "pname": "bottompanel", "description": "Moves the GNOME panel to the bottom of the screen\n\nSource here: https://github.com/Thoma5/gnome-shell-extension-bottompanel", "link": "https://extensions.gnome.org/extension/949/bottompanel/", "shell_version_map": {"38": {"version": "11", "sha256": "0r4z1pww6w8q0f7gzsmc363hd2178r40ifsppyigj67mwwik3mkq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSBHTk9NRSBwYW5lbCB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW5cblxuU291cmNlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9UaG9tYTUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWJvdHRvbXBhbmVsIiwKICAibmFtZSI6ICJCb3R0b21QYW5lbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJib3R0b21wYW5lbEB0bW9lcjkzIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "dejadup-backup@fthx", "name": "Déjà Dup Backup Button", "pname": "deja-dup-backup-button", "description": "Button that directly starts Déjà Dup backup, following Déjà Dup backup settings.\n\n It simply runs 'deja-dup --backup' and shows Déjà Dup window during backup.", "link": "https://extensions.gnome.org/extension/955/deja-dup-backup-button/", "shell_version_map": {"38": {"version": "7", "sha256": "1d5xl18297zlw6g6jqwvwf32yiiqbz7jqyb4pz691d8ngqvvlwpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBEXHUwMGU5alx1MDBlMCBEdXAgYmFja3VwLCBmb2xsb3dpbmcgRFx1MDBlOWpcdTAwZTAgRHVwIGJhY2t1cCBzZXR0aW5ncy5cblxuIEl0IHNpbXBseSBydW5zICdkZWphLWR1cCAtLWJhY2t1cCcgYW5kIHNob3dzIERcdTAwZTlqXHUwMGUwIER1cCB3aW5kb3cgZHVyaW5nIGJhY2t1cC4iLAogICJuYW1lIjogIkRcdTAwZTlqXHUwMGUwIER1cCBCYWNrdXAgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZGVqYWR1cC1iYWNrdXAiLAogICJ1dWlkIjogImRlamFkdXAtYmFja3VwQGZ0aHgiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1d5xl18297zlw6g6jqwvwf32yiiqbz7jqyb4pz691d8ngqvvlwpp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJ1dHRvbiB0aGF0IGRpcmVjdGx5IHN0YXJ0cyBEXHUwMGU5alx1MDBlMCBEdXAgYmFja3VwLCBmb2xsb3dpbmcgRFx1MDBlOWpcdTAwZTAgRHVwIGJhY2t1cCBzZXR0aW5ncy5cblxuIEl0IHNpbXBseSBydW5zICdkZWphLWR1cCAtLWJhY2t1cCcgYW5kIHNob3dzIERcdTAwZTlqXHUwMGUwIER1cCB3aW5kb3cgZHVyaW5nIGJhY2t1cC4iLAogICJuYW1lIjogIkRcdTAwZTlqXHUwMGUwIER1cCBCYWNrdXAgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvZGVqYWR1cC1iYWNrdXAiLAogICJ1dWlkIjogImRlamFkdXAtYmFja3VwQGZ0aHgiLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"uuid": "ISS_Above@mcepl.cepl.eu", "name": "ISS Above", "pname": "iss-above", "description": "Shows an icon when ISS is above you (+- 1000km)", "link": "https://extensions.gnome.org/extension/956/iss-above/", "shell_version_map": {"40": {"version": "4", "sha256": "00r5clklx8wbwdqyniz1lxf864jk71q7j36icq6jkp65v8av5cjn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGFuIGljb24gd2hlbiBJU1MgaXMgYWJvdmUgeW91ICgrLSAxMDAwa20pIiwKICAibmFtZSI6ICJJU1MgQWJvdmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vbWNlcGwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLUlTU19BYm92ZS8iLAogICJ1dWlkIjogIklTU19BYm92ZUBtY2VwbC5jZXBsLmV1IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "switcher@landau.fi", "name": "Switcher", "pname": "switcher", "description": "Switch windows or launch applications quickly by typing\n\nUse the configured global hotkey (Super+w by default) to open a list of current windows. Type a part of the name or title of the application window you want to activate and hit enter or click on the item you wish to activate. You can use the arrow keys to navigate among the filtered selection and type several space separated search terms to filter further. If your search matches launchable apps, those are shown in the list too. Use Esc or click anywhere outside the switcher to cancel.\n\nYou can customize the look and feel and functionality in the preferences.", "link": "https://extensions.gnome.org/extension/973/switcher/", "shell_version_map": {"38": {"version": "32", "sha256": "188bfj4b0kslja757fc70xhjqj5blk2jcdjfd2pvm6g2cxslfjg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWVsbGFuZGF1L3N3aXRjaGVyIiwKICAidXVpZCI6ICJzd2l0Y2hlckBsYW5kYXUuZmkiLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "33", "sha256": "1dk91bvmjqr4hrsldb6ikvrd6ihk5flbg8wfhfnmq4c18kynsv9i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "34", "sha256": "1bgj8w7qlz4kv70k6rjmm5f5rygn2n5fp0rd29jj1wfm50hfvzg1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaCB3aW5kb3dzIG9yIGxhdW5jaCBhcHBsaWNhdGlvbnMgcXVpY2tseSBieSB0eXBpbmdcblxuVXNlIHRoZSBjb25maWd1cmVkIGdsb2JhbCBob3RrZXkgKFN1cGVyK3cgYnkgZGVmYXVsdCkgdG8gb3BlbiBhIGxpc3Qgb2YgY3VycmVudCB3aW5kb3dzLiBUeXBlIGEgcGFydCBvZiB0aGUgbmFtZSBvciB0aXRsZSBvZiB0aGUgYXBwbGljYXRpb24gd2luZG93IHlvdSB3YW50IHRvIGFjdGl2YXRlIGFuZCBoaXQgZW50ZXIgb3IgY2xpY2sgb24gdGhlIGl0ZW0geW91IHdpc2ggdG8gYWN0aXZhdGUuIFlvdSBjYW4gdXNlIHRoZSBhcnJvdyBrZXlzIHRvIG5hdmlnYXRlIGFtb25nIHRoZSBmaWx0ZXJlZCBzZWxlY3Rpb24gYW5kIHR5cGUgc2V2ZXJhbCBzcGFjZSBzZXBhcmF0ZWQgc2VhcmNoIHRlcm1zIHRvIGZpbHRlciBmdXJ0aGVyLiBJZiB5b3VyIHNlYXJjaCBtYXRjaGVzIGxhdW5jaGFibGUgYXBwcywgdGhvc2UgYXJlIHNob3duIGluIHRoZSBsaXN0IHRvby4gVXNlIEVzYyBvciBjbGljayBhbnl3aGVyZSBvdXRzaWRlIHRoZSBzd2l0Y2hlciB0byBjYW5jZWwuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBsb29rIGFuZCBmZWVsIGFuZCBmdW5jdGlvbmFsaXR5IGluIHRoZSBwcmVmZXJlbmNlcy4iLAogICJuYW1lIjogIlN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhbmllbGxhbmRhdS9zd2l0Y2hlciIsCiAgInV1aWQiOiAic3dpdGNoZXJAbGFuZGF1LmZpIiwKICAidmVyc2lvbiI6IDM0Cn0="}}}
-, {"uuid": "keyboard_modifiers_status@sneetsher", "name": "Keyboard Modifiers Status", "pname": "keyboard-modifiers-status", "description": "Shows keyboard modifiers status. It's useful when sticky keys are active.", "link": "https://extensions.gnome.org/extension/975/keyboard-modifiers-status/", "shell_version_map": {"38": {"version": "12", "sha256": "0j4pcn7qkxnwhxshb9m1mh5zhr9hhh3xcjzsgn2csmw064nzb1g9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "12", "sha256": "0j4pcn7qkxnwhxshb9m1mh5zhr9hhh3xcjzsgn2csmw064nzb1g9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEyCn0="}, "41": {"version": "12", "sha256": "0j4pcn7qkxnwhxshb9m1mh5zhr9hhh3xcjzsgn2csmw064nzb1g9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEyCn0="}}}
+, {"uuid": "keyboard_modifiers_status@sneetsher", "name": "Keyboard Modifiers Status", "pname": "keyboard-modifiers-status", "description": "Shows keyboard modifiers status. It's useful when sticky keys are active.", "link": "https://extensions.gnome.org/extension/975/keyboard-modifiers-status/", "shell_version_map": {"38": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "0wfwy67r53ilp96yig70nf75a4bxd7cmn8gbnqlpin8virv66kfh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGtleWJvYXJkIG1vZGlmaWVycyBzdGF0dXMuIEl0J3MgdXNlZnVsIHdoZW4gc3RpY2t5IGtleXMgYXJlIGFjdGl2ZS4iLAogICJuYW1lIjogIktleWJvYXJkIE1vZGlmaWVycyBTdGF0dXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic25lZXRzaGVyQGxvY2FsaG9zdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc25lZXRzaGVyL0tleWJvYXJkLU1vZGlmaWVycy1TdGF0dXMiLAogICJ1dWlkIjogImtleWJvYXJkX21vZGlmaWVyc19zdGF0dXNAc25lZXRzaGVyIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "harddiskled@bijidroid.gmail.com", "name": "Harddisk LED", "pname": "harddisk-led", "description": "Show harddisk activity (IO speed read/write and LED). Click to change led size", "link": "https://extensions.gnome.org/extension/988/harddisk-led/", "shell_version_map": {"38": {"version": "25", "sha256": "012y9z4hj9iqm5k89g7z6q99agz94p6jdwr4bhw2nkv5balx0x4j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIsCiAgICAiNDciLAogICAgIjQ4IiwKICAgICI0OSIsCiAgICAiNTAiLAogICAgIjUxIiwKICAgICI1MiIsCiAgICAiNTMiLAogICAgIjU0IiwKICAgICI1NSIsCiAgICAiNTYiLAogICAgIjU3IiwKICAgICI1OCIsCiAgICAiNTkiLAogICAgIjYwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "40": {"version": "25", "sha256": "012y9z4hj9iqm5k89g7z6q99agz94p6jdwr4bhw2nkv5balx0x4j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIsCiAgICAiNDciLAogICAgIjQ4IiwKICAgICI0OSIsCiAgICAiNTAiLAogICAgIjUxIiwKICAgICI1MiIsCiAgICAiNTMiLAogICAgIjU0IiwKICAgICI1NSIsCiAgICAiNTYiLAogICAgIjU3IiwKICAgICI1OCIsCiAgICAiNTkiLAogICAgIjYwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}, "41": {"version": "25", "sha256": "012y9z4hj9iqm5k89g7z6q99agz94p6jdwr4bhw2nkv5balx0x4j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgaGFyZGRpc2sgYWN0aXZpdHkgKElPIHNwZWVkIHJlYWQvd3JpdGUgYW5kIExFRCkuIENsaWNrIHRvIGNoYW5nZSBsZWQgc2l6ZSIsCiAgIm5hbWUiOiAiSGFyZGRpc2sgTEVEIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE0IiwKICAgICIzLjE2IiwKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIiwKICAgICI0MyIsCiAgICAiNDQiLAogICAgIjQ1IiwKICAgICI0NiIsCiAgICAiNDciLAogICAgIjQ4IiwKICAgICI0OSIsCiAgICAiNTAiLAogICAgIjUxIiwKICAgICI1MiIsCiAgICAiNTMiLAogICAgIjU0IiwKICAgICI1NSIsCiAgICAiNTYiLAogICAgIjU3IiwKICAgICI1OCIsCiAgICAiNTkiLAogICAgIjYwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmlqaS9oYXJkZGlza2xlZCIsCiAgInV1aWQiOiAiaGFyZGRpc2tsZWRAYmlqaWRyb2lkLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNQp9"}}}
 , {"uuid": "syncthingicon@jay.strict@posteo.de", "name": "Syncthing Icon", "pname": "syncthing-icon", "description": "Display Syncthing Icon in Top Bar", "link": "https://extensions.gnome.org/extension/989/syncthing-icon/", "shell_version_map": {"40": {"version": "33", "sha256": "0lg2k9p033w9dff5g16xai9rvjmw85qvhrx17dw8f228nfm93fik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgU3luY3RoaW5nIEljb24gaW4gVG9wIEJhciIsCiAgIm5hbWUiOiAiU3luY3RoaW5nIEljb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3luY3RoaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYXlzdHJpY3Rvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nIiwKICAidXVpZCI6ICJzeW5jdGhpbmdpY29uQGpheS5zdHJpY3RAcG9zdGVvLmRlIiwKICAidmVyc2lvbiI6IDMzCn0="}, "41": {"version": "33", "sha256": "0lg2k9p033w9dff5g16xai9rvjmw85qvhrx17dw8f228nfm93fik", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgU3luY3RoaW5nIEljb24gaW4gVG9wIEJhciIsCiAgIm5hbWUiOiAiU3luY3RoaW5nIEljb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3luY3RoaW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qYXlzdHJpY3Rvci9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3luY3RoaW5nIiwKICAidXVpZCI6ICJzeW5jdGhpbmdpY29uQGpheS5zdHJpY3RAcG9zdGVvLmRlIiwKICAidmVyc2lvbiI6IDMzCn0="}}}
 , {"uuid": "window-search-provider@quelltexter.org", "name": "Window Search Provider", "pname": "window-search-provider", "description": "Provide active windows as search results in overview", "link": "https://extensions.gnome.org/extension/1001/window-search-provider/", "shell_version_map": {"38": {"version": "2", "sha256": "030s38akm3fw7nq9v4wfgzhw716b51l2z3szns0gcwc0gx5zpfjv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByb3ZpZGUgYWN0aXZlIHdpbmRvd3MgYXMgc2VhcmNoIHJlc3VsdHMgaW4gb3ZlcnZpZXciLAogICJuYW1lIjogIldpbmRvdyBTZWFyY2ggUHJvdmlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjMuNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rbG9yZW56L2dub21lLXNoZWxsLXdpbmRvdy1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogIndpbmRvdy1zZWFyY2gtcHJvdmlkZXJAcXVlbGx0ZXh0ZXIub3JnIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
@@ -116,11 +117,11 @@
 , {"uuid": "todolist@tomMoral.org", "name": "Section Todo List", "pname": "section-todo-list", "description": "Manage todo list with an applet\n\n* Add and remove task on your list in different sections.\n* Click an item to rename it.\n* Access the extension using Hot-Key (default: Ctrl+Space)\n", "link": "https://extensions.gnome.org/extension/1104/section-todo-list/", "shell_version_map": {"38": {"version": "11", "sha256": "02b5gccsx6ifgv2jyrniwagdf09jg7lvwzwlgm11qbrv7w7bn0qp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21Nb3JhbC9Ub0RvTGlzdCIsCiAgInV1aWQiOiAidG9kb2xpc3RAdG9tTW9yYWwub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "02b5gccsx6ifgv2jyrniwagdf09jg7lvwzwlgm11qbrv7w7bn0qp", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSB0b2RvIGxpc3Qgd2l0aCBhbiBhcHBsZXRcblxuKiBBZGQgYW5kIHJlbW92ZSB0YXNrIG9uIHlvdXIgbGlzdCBpbiBkaWZmZXJlbnQgc2VjdGlvbnMuXG4qIENsaWNrIGFuIGl0ZW0gdG8gcmVuYW1lIGl0LlxuKiBBY2Nlc3MgdGhlIGV4dGVuc2lvbiB1c2luZyBIb3QtS2V5IChkZWZhdWx0OiBDdHJsK1NwYWNlKVxuIiwKICAibmFtZSI6ICJTZWN0aW9uIFRvZG8gTGlzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90b21Nb3JhbC9Ub0RvTGlzdCIsCiAgInV1aWQiOiAidG9kb2xpc3RAdG9tTW9yYWwub3JnIiwKICAidmVyc2lvbiI6IDExCn0="}}}
 , {"uuid": "add-username-toppanel@brendaw.com", "name": "Add Username to Top Panel", "pname": "add-username-to-top-panel", "description": "Simply add your username to topbar panel aggregate menu", "link": "https://extensions.gnome.org/extension/1108/add-username-to-top-panel/", "shell_version_map": {"38": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1b2p8924id4shzpvj58958r7j422ppkw7bsfmng9sq25k3w4xvb3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBseSBhZGQgeW91ciB1c2VybmFtZSB0byB0b3BiYXIgcGFuZWwgYWdncmVnYXRlIG1lbnUiLAogICJuYW1lIjogIkFkZCBVc2VybmFtZSB0byBUb3AgUGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgIndpbGxpYW1icmVuZGF3QHByb3Rvbm1haWwuY29tIgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xMiIsCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4yMC40IiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIiwKICAgICI0MC4xIiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9icmVuZGF3L2FkZC11c2VybmFtZS10b3BwYW5lbCIsCiAgInV1aWQiOiAiYWRkLXVzZXJuYW1lLXRvcHBhbmVsQGJyZW5kYXcuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "Hide_Clock@grantmcwilliams.com", "name": "Hide Clock", "pname": "hide-clock", "description": "Hides the Gnome title bar clock. \nThis is useful for anyone recording their desktop as it allows you to edit the video without the titlebar clock jumping time.\nNow supports Gnome 40.", "link": "https://extensions.gnome.org/extension/1110/hide-clock/", "shell_version_map": {"38": {"version": "3", "sha256": "1niax4lw42nvp99wbxiydassgrzsx0pkkxrnbvim0n2b8bizg8rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBHbm9tZSB0aXRsZSBiYXIgY2xvY2suIFxuVGhpcyBpcyB1c2VmdWwgZm9yIGFueW9uZSByZWNvcmRpbmcgdGhlaXIgZGVza3RvcCBhcyBpdCBhbGxvd3MgeW91IHRvIGVkaXQgdGhlIHZpZGVvIHdpdGhvdXQgdGhlIHRpdGxlYmFyIGNsb2NrIGp1bXBpbmcgdGltZS5cbk5vdyBzdXBwb3J0cyBHbm9tZSA0MC4iLAogICJuYW1lIjogIkhpZGUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQ2xvY2tAZ3JhbnRtY3dpbGxpYW1zLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "1niax4lw42nvp99wbxiydassgrzsx0pkkxrnbvim0n2b8bizg8rx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBHbm9tZSB0aXRsZSBiYXIgY2xvY2suIFxuVGhpcyBpcyB1c2VmdWwgZm9yIGFueW9uZSByZWNvcmRpbmcgdGhlaXIgZGVza3RvcCBhcyBpdCBhbGxvd3MgeW91IHRvIGVkaXQgdGhlIHZpZGVvIHdpdGhvdXQgdGhlIHRpdGxlYmFyIGNsb2NrIGp1bXBpbmcgdGltZS5cbk5vdyBzdXBwb3J0cyBHbm9tZSA0MC4iLAogICJuYW1lIjogIkhpZGUgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkhpZGVfQ2xvY2tAZ3JhbnRtY3dpbGxpYW1zLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "gnome-shell-screenshot@ttll.de", "name": "Screenshot Tool", "pname": "screenshot-tool", "description": "Conveniently create, copy, store and upload screenshots. Please log out and log in again after updating.", "link": "https://extensions.gnome.org/extension/1112/screenshot-tool/", "shell_version_map": {"38": {"version": "56", "sha256": "1ga2ray64aq1d1vn0rsscfxjiidbiln3vx42rn9i4q2a59b00znq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY1NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNTYKfQ=="}, "40": {"version": "65", "sha256": "0h8affn08zwzgr6zchr13ni6qbc2yj3sndxbpj4ib1c7yljdymx9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2NSIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA2NQp9"}, "41": {"version": "65", "sha256": "0h8affn08zwzgr6zchr13ni6qbc2yj3sndxbpj4ib1c7yljdymx9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2NSIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA2NQp9"}}}
-, {"uuid": "nothing-to-say@extensions.gnome.wouter.bolsterl.ee", "name": "Nothing to say", "pname": "nothing-to-say", "description": "Unmute the microphone only when you have something to say.", "link": "https://extensions.gnome.org/extension/1113/nothing-to-say/", "shell_version_map": {"38": {"version": "8", "sha256": "12ngc4dv1ijbvihqn2rjn77bal0gdhdq4cxf1zv5lr2ckz0ishm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "10", "sha256": "0jn8qd2x25bw2kmz82z4szgx1vm838zkq0wv18jw82bpf7b597k0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0jn8qd2x25bw2kmz82z4szgx1vm838zkq0wv18jw82bpf7b597k0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93Ym9sc3Rlci9ub3RoaW5nLXRvLXNheSIsCiAgInV1aWQiOiAibm90aGluZy10by1zYXlAZXh0ZW5zaW9ucy5nbm9tZS53b3V0ZXIuYm9sc3RlcmwuZWUiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"uuid": "gnome-shell-screenshot@ttll.de", "name": "Screenshot Tool", "pname": "screenshot-tool", "description": "Conveniently create, copy, store and upload screenshots. Please log out and log in again after updating.", "link": "https://extensions.gnome.org/extension/1112/screenshot-tool/", "shell_version_map": {"38": {"version": "56", "sha256": "1ga2ray64aq1d1vn0rsscfxjiidbiln3vx42rn9i4q2a59b00znq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY1NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PdHRvQWxsbWVuZGluZ2VyL2dub21lLXNoZWxsLXNjcmVlbnNob3QvIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1zY3JlZW5zaG90QHR0bGwuZGUiLAogICJ2ZXJzaW9uIjogNTYKfQ=="}, "40": {"version": "66", "sha256": "1vy5649vznq9g2aarl61570f8fql1akv7pwwkzsa90z2f787b32k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA2Ngp9"}, "41": {"version": "66", "sha256": "1vy5649vznq9g2aarl61570f8fql1akv7pwwkzsa90z2f787b32k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnZlbmllbnRseSBjcmVhdGUsIGNvcHksIHN0b3JlIGFuZCB1cGxvYWQgc2NyZWVuc2hvdHMuIFBsZWFzZSBsb2cgb3V0IGFuZCBsb2cgaW4gYWdhaW4gYWZ0ZXIgdXBkYXRpbmcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtc2NyZWVuc2hvdCIsCiAgImdpdC12ZXJzaW9uIjogInY2NiIsCiAgIm5hbWUiOiAiU2NyZWVuc2hvdCBUb29sIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL090dG9BbGxtZW5kaW5nZXIvZ25vbWUtc2hlbGwtc2NyZWVuc2hvdC8iLAogICJ1dWlkIjogImdub21lLXNoZWxsLXNjcmVlbnNob3RAdHRsbC5kZSIsCiAgInZlcnNpb24iOiA2Ngp9"}}}
+, {"uuid": "nothing-to-say@extensions.gnome.wouter.bolsterl.ee", "name": "Nothing to say", "pname": "nothing-to-say", "description": "Unmute the microphone only when you have something to say.", "link": "https://extensions.gnome.org/extension/1113/nothing-to-say/", "shell_version_map": {"38": {"version": "8", "sha256": "12ngc4dv1ijbvihqn2rjn77bal0gdhdq4cxf1zv5lr2ckz0ishm4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vd2JvbHN0ZXIvbm90aGluZy10by1zYXkiLAogICJ1dWlkIjogIm5vdGhpbmctdG8tc2F5QGV4dGVuc2lvbnMuZ25vbWUud291dGVyLmJvbHN0ZXJsLmVlIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "14", "sha256": "1rh7gbjhxpv63xg1v3jm0108zygycz8vb2jjjab46a4rkcd0xd0g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjMuMzYuOSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dib2xzdGVyL25vdGhpbmctdG8tc2F5IiwKICAidXVpZCI6ICJub3RoaW5nLXRvLXNheUBleHRlbnNpb25zLmdub21lLndvdXRlci5ib2xzdGVybC5lZSIsCiAgInZlcnNpb24iOiAxNAp9"}, "41": {"version": "14", "sha256": "1rh7gbjhxpv63xg1v3jm0108zygycz8vb2jjjab46a4rkcd0xd0g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubXV0ZSB0aGUgbWljcm9waG9uZSBvbmx5IHdoZW4geW91IGhhdmUgc29tZXRoaW5nIHRvIHNheS4iLAogICJuYW1lIjogIk5vdGhpbmcgdG8gc2F5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGhpbmctdG8tc2F5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjMuMzYuOSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dib2xzdGVyL25vdGhpbmctdG8tc2F5IiwKICAidXVpZCI6ICJub3RoaW5nLXRvLXNheUBleHRlbnNpb25zLmdub21lLndvdXRlci5ib2xzdGVybC5lZSIsCiAgInZlcnNpb24iOiAxNAp9"}}}
 , {"uuid": "workspace-switch-wraparound@theychx.org", "name": "Workspace Switch Wraparound", "pname": "workspace-switch-wraparound", "description": "When switching workspaces, going down from the bottom workspace switches to the top workspace. Likewise, up from the top workspace goes to the bottom workspace.", "link": "https://extensions.gnome.org/extension/1116/workspace-switch-wraparound/", "shell_version_map": {"38": {"version": "7", "sha256": "1zc92s0pffsd6mwsmpy8s8gici0q1wzd5s1vwjld4y1cy34kp2ad", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1zc92s0pffsd6mwsmpy8s8gici0q1wzd5s1vwjld4y1cy34kp2ad", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldoZW4gc3dpdGNoaW5nIHdvcmtzcGFjZXMsIGdvaW5nIGRvd24gZnJvbSB0aGUgYm90dG9tIHdvcmtzcGFjZSBzd2l0Y2hlcyB0byB0aGUgdG9wIHdvcmtzcGFjZS4gTGlrZXdpc2UsIHVwIGZyb20gdGhlIHRvcCB3b3Jrc3BhY2UgZ29lcyB0byB0aGUgYm90dG9tIHdvcmtzcGFjZS4iLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2ggV3JhcGFyb3VuZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aGV5Y2h4L1dvcmtzcGFjZVN3aXRjaGVyV3JhcEFyb3VuZCIsCiAgInV1aWQiOiAid29ya3NwYWNlLXN3aXRjaC13cmFwYXJvdW5kQHRoZXljaHgub3JnIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "ibus-font-setting@ibus.github.com", "name": "ibus font setting", "pname": "ibus-font-setting", "description": "use ibus font setting of ibus setup dialog to enhance the user experience", "link": "https://extensions.gnome.org/extension/1121/ibus-font-setting/", "shell_version_map": {"38": {"version": "9", "sha256": "163byvsc3dj2w9xq498py1xjziyi98icyki1cd6wv7vxaxfmk7y6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL3B3dS5mZWRvcmFwZW9wbGUub3JnL2lidXMvaWJ1cy1mb250LXNldHRpbmciLAogICJ1dWlkIjogImlidXMtZm9udC1zZXR0aW5nQGlidXMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "11", "sha256": "0rgnv7bwqg30ly6zsmzs5sayi45k2ji5r87z4x32nni3wm7vhnhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vcHd1LmZlZG9yYXBlb3BsZS5vcmcvaWJ1cy9pYnVzLWZvbnQtc2V0dGluZyIsCiAgInV1aWQiOiAiaWJ1cy1mb250LXNldHRpbmdAaWJ1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "0rgnv7bwqg30ly6zsmzs5sayi45k2ji5r87z4x32nni3wm7vhnhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInVzZSBpYnVzIGZvbnQgc2V0dGluZyBvZiBpYnVzIHNldHVwIGRpYWxvZyB0byBlbmhhbmNlIHRoZSB1c2VyIGV4cGVyaWVuY2UiLAogICJuYW1lIjogImlidXMgZm9udCBzZXR0aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vcHd1LmZlZG9yYXBlb3BsZS5vcmcvaWJ1cy9pYnVzLWZvbnQtc2V0dGluZyIsCiAgInV1aWQiOiAiaWJ1cy1mb250LXNldHRpbmdAaWJ1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
-, {"uuid": "github.notifications@alexandre.dufournet.gmail.com", "name": "Github Notifications", "pname": "github-notifications", "description": "Integrate github's notifications within the gnome desktop environment\nSource code is available here: https://github.com/alexduf/gnome-github-notifications", "link": "https://extensions.gnome.org/extension/1125/github-notifications/", "shell_version_map": {"38": {"version": "17", "sha256": "0lj41ngk4kmkz94hn9bi51w8dbhzhxbb3kaza1h68lcvv2cis4sq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBnaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}}}
+, {"uuid": "github.notifications@alexandre.dufournet.gmail.com", "name": "Github Notifications", "pname": "github-notifications", "description": "Integrate Github's notifications within the gnome desktop environment\nSource code is available here: https://github.com/alexduf/gnome-github-notifications", "link": "https://extensions.gnome.org/extension/1125/github-notifications/", "shell_version_map": {"38": {"version": "17", "sha256": "0ccgbllyak1lyp14ynsg17zngfpxkc5v5asv3zwwmpk44bl984ny", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnaXRodWIubm90aWZpY2F0aW9uc0BhbGV4YW5kcmUuZHVmb3VybmV0LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "40": {"version": "21", "sha256": "1j5ndicq5jgvf78lxrb2afbpfs10yc3ncc4v1dz1iqnv9kmhk132", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImdpdGh1Yi5ub3RpZmljYXRpb25zQGFsZXhhbmRyZS5kdWZvdXJuZXQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}, "41": {"version": "21", "sha256": "1j5ndicq5jgvf78lxrb2afbpfs10yc3ncc4v1dz1iqnv9kmhk132", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVncmF0ZSBHaXRodWIncyBub3RpZmljYXRpb25zIHdpdGhpbiB0aGUgZ25vbWUgZGVza3RvcCBlbnZpcm9ubWVudFxuU291cmNlIGNvZGUgaXMgYXZhaWxhYmxlIGhlcmU6IGh0dHBzOi8vZ2l0aHViLmNvbS9hbGV4ZHVmL2dub21lLWdpdGh1Yi1ub3RpZmljYXRpb25zIiwKICAibmFtZSI6ICJHaXRodWIgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImdpdGh1Yi5ub3RpZmljYXRpb25zQGFsZXhhbmRyZS5kdWZvdXJuZXQuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIxCn0="}}}
 , {"uuid": "desk-changer@eric.gach.gmail.com", "name": "Desk Changer", "pname": "desk-changer", "description": "Simple wallpaper changer with multiple profile support. Integrates into the shell by providing it's own panel icon. The daemon is written using gjs and runs independently of the extension as a background process.", "link": "https://extensions.gnome.org/extension/1131/desk-changer/", "shell_version_map": {"38": {"version": "23", "sha256": "1jwkavj1m6mf690mcyzidyrcv92yr3jk7bpy3ar1y3hm9zbvmpps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaWdFL2Rlc2stY2hhbmdlci8iLAogICJ1dWlkIjogImRlc2stY2hhbmdlckBlcmljLmdhY2guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "40": {"version": "23", "sha256": "1jwkavj1m6mf690mcyzidyrcv92yr3jk7bpy3ar1y3hm9zbvmpps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaWdFL2Rlc2stY2hhbmdlci8iLAogICJ1dWlkIjogImRlc2stY2hhbmdlckBlcmljLmdhY2guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}, "41": {"version": "23", "sha256": "1jwkavj1m6mf690mcyzidyrcv92yr3jk7bpy3ar1y3hm9zbvmpps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSB3YWxscGFwZXIgY2hhbmdlciB3aXRoIG11bHRpcGxlIHByb2ZpbGUgc3VwcG9ydC4gSW50ZWdyYXRlcyBpbnRvIHRoZSBzaGVsbCBieSBwcm92aWRpbmcgaXQncyBvd24gcGFuZWwgaWNvbi4gVGhlIGRhZW1vbiBpcyB3cml0dGVuIHVzaW5nIGdqcyBhbmQgcnVucyBpbmRlcGVuZGVudGx5IG9mIHRoZSBleHRlbnNpb24gYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVzay1jaGFuZ2VyIiwKICAibmFtZSI6ICJEZXNrIENoYW5nZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVzay1jaGFuZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9CaWdFL2Rlc2stY2hhbmdlci8iLAogICJ1dWlkIjogImRlc2stY2hhbmdlckBlcmljLmdhY2guZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIzCn0="}}}
 , {"uuid": "Shortcuts@kyle.aims.ac.za", "name": "Shortcuts", "pname": "shortcuts", "description": "This shows a pop-up of useful keyboard shortcuts when Super + S is pressed", "link": "https://extensions.gnome.org/extension/1144/shortcuts/", "shell_version_map": {"38": {"version": "10", "sha256": "04kpzrn692cgyv8w2x1c6lrrkpvn9kkafcs8bsji594agwyb4sc5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wYWRkYXRyYXBwZXIvc2hvcnRjdXRzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2hvcnRjdXRzQGt5bGUuYWltcy5hYy56YSIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "04kpzrn692cgyv8w2x1c6lrrkpvn9kkafcs8bsji594agwyb4sc5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wYWRkYXRyYXBwZXIvc2hvcnRjdXRzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2hvcnRjdXRzQGt5bGUuYWltcy5hYy56YSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "04kpzrn692cgyv8w2x1c6lrrkpvn9kkafcs8bsji594agwyb4sc5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgc2hvd3MgYSBwb3AtdXAgb2YgdXNlZnVsIGtleWJvYXJkIHNob3J0Y3V0cyB3aGVuIFN1cGVyICsgUyBpcyBwcmVzc2VkIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiU2hvcnRjdXRzIiwKICAibmFtZSI6ICJTaG9ydGN1dHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2hvcnRjdXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9wYWRkYXRyYXBwZXIvc2hvcnRjdXRzLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2hvcnRjdXRzQGt5bGUuYWltcy5hYy56YSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "sensory-perception@HarlemSquirrel.github.io", "name": "Sensory Perception", "pname": "sensory-perception", "description": "Requires lm-sensors (or lm_sensors). Shows CPU temperature, disk temperature, video card temperature, voltage and fan RPM.", "link": "https://extensions.gnome.org/extension/1145/sensory-perception/", "shell_version_map": {"38": {"version": "13", "sha256": "16wc49khyk5arsis8kzpjgl6nl8gccc2y5sspq8rwnab22jnzwjh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGFybGVtU3F1aXJyZWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNlbnNvcnktcGVyY2VwdGlvbiIsCiAgInV1aWQiOiAic2Vuc29yeS1wZXJjZXB0aW9uQEhhcmxlbVNxdWlycmVsLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "17", "sha256": "1565vy6wy0fjjbhxn90d8w4ifjb2adacijf71k18j7n390k00djw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJsZW1TcXVpcnJlbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAidXVpZCI6ICJzZW5zb3J5LXBlcmNlcHRpb25ASGFybGVtU3F1aXJyZWwuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "41": {"version": "17", "sha256": "1565vy6wy0fjjbhxn90d8w4ifjb2adacijf71k18j7n390k00djw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcXVpcmVzIGxtLXNlbnNvcnMgKG9yIGxtX3NlbnNvcnMpLiBTaG93cyBDUFUgdGVtcGVyYXR1cmUsIGRpc2sgdGVtcGVyYXR1cmUsIHZpZGVvIGNhcmQgdGVtcGVyYXR1cmUsIHZvbHRhZ2UgYW5kIGZhbiBSUE0uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2Vuc29yeS1wZXJjZXB0aW9uIiwKICAibmFtZSI6ICJTZW5zb3J5IFBlcmNlcHRpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9IYXJsZW1TcXVpcnJlbC9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Vuc29yeS1wZXJjZXB0aW9uIiwKICAidXVpZCI6ICJzZW5zb3J5LXBlcmNlcHRpb25ASGFybGVtU3F1aXJyZWwuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDE3Cn0="}}}
@@ -138,7 +139,7 @@
 , {"uuid": "SystemMenu@jonnius.github.com", "name": "System Menu", "pname": "system-menu", "description": "System menu with usefull shortcuts", "link": "https://extensions.gnome.org/extension/1204/system-menu/", "shell_version_map": {"38": {"version": "5", "sha256": "10zfr3fhqvq0fxqjzqmnxmhmdw5xcw9m5k3jm1apcjqnm38r896w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5c3RlbSBtZW51IHdpdGggdXNlZnVsbCBzaG9ydGN1dHMiLAogICJuYW1lIjogIlN5c3RlbSBNZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLlN5c3RlbU1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL2pvbm5pdXMvZ25vbWUtc3lzdGVtLW1lbnUiLAogICJ1dWlkIjogIlN5c3RlbU1lbnVAam9ubml1cy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "undecorate@sun.wxg@gmail.com", "name": "Undecorate Window", "pname": "undecorate", "description": "Add undecorate item in window menu. Use ALT+Space to show window menu.", "link": "https://extensions.gnome.org/extension/1208/undecorate/", "shell_version_map": {"40": {"version": "5", "sha256": "1vmpzk2vwyi5lywfzcpd350h3p09p9l5bkg7bza6b1w904lfd51n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5kZWNvcmF0ZSIsCiAgInV1aWQiOiAidW5kZWNvcmF0ZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1vmpzk2vwyi5lywfzcpd350h3p09p9l5bkg7bza6b1w904lfd51n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB1bmRlY29yYXRlIGl0ZW0gaW4gd2luZG93IG1lbnUuIFVzZSBBTFQrU3BhY2UgdG8gc2hvdyB3aW5kb3cgbWVudS4iLAogICJuYW1lIjogIlVuZGVjb3JhdGUgV2luZG93IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJzdW4ud3hnQGdtYWlsLmNvbSIKICBdLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tdW5kZWNvcmF0ZSIsCiAgInV1aWQiOiAidW5kZWNvcmF0ZUBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "rcd@criztovyl.space", "name": "Right Click Down", "pname": "right-click-down", "description": "Moves windows one workspace down by right-clicking them in the overview.", "link": "https://extensions.gnome.org/extension/1210/right-click-down/", "shell_version_map": {"38": {"version": "3", "sha256": "1vh9capapzbbwg2zlw9iphdk48q6fqk0qsmaylvsvw59xc7f9bia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHdpbmRvd3Mgb25lIHdvcmtzcGFjZSBkb3duIGJ5IHJpZ2h0LWNsaWNraW5nIHRoZW0gaW4gdGhlIG92ZXJ2aWV3LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJyY2QiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbmlvbnMtcmlnaHQtY2xpY2stZG93biIsCiAgIm5hbWUiOiAiUmlnaHQgQ2xpY2sgRG93biIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yaWdodC1jbGljay1kb3duIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjAiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYWxwaGEiLAogICAgIjMuMzguMyIsCiAgICAiMy4zNy45MiIsCiAgICAiMy4zNy45MSIsCiAgICAiMy4zNy45MCIsCiAgICAiMy4zNy4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vY3JpenRvdnlsL2dub21lLXJpZ2h0LWNsaWNrLWRvd24iLAogICJ1dWlkIjogInJjZEBjcml6dG92eWwuc3BhY2UiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1vh9capapzbbwg2zlw9iphdk48q6fqk0qsmaylvsvw59xc7f9bia", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHdpbmRvd3Mgb25lIHdvcmtzcGFjZSBkb3duIGJ5IHJpZ2h0LWNsaWNraW5nIHRoZW0gaW4gdGhlIG92ZXJ2aWV3LiIsCiAgImV4dGVuc2lvbi1pZCI6ICJyY2QiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbmlvbnMtcmlnaHQtY2xpY2stZG93biIsCiAgIm5hbWUiOiAiUmlnaHQgQ2xpY2sgRG93biIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yaWdodC1jbGljay1kb3duIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4LjAiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYWxwaGEiLAogICAgIjMuMzguMyIsCiAgICAiMy4zNy45MiIsCiAgICAiMy4zNy45MSIsCiAgICAiMy4zNy45MCIsCiAgICAiMy4zNy4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vY3JpenRvdnlsL2dub21lLXJpZ2h0LWNsaWNrLWRvd24iLAogICJ1dWlkIjogInJjZEBjcml6dG92eWwuc3BhY2UiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "printers@linux-man.org", "name": "Printers", "pname": "printers", "description": "Manage Jobs and Printers\nRequired Package: cups-bsd", "link": "https://extensions.gnome.org/extension/1218/printers/", "shell_version_map": {"38": {"version": "12", "sha256": "19d7pac6mcgq6ddmb63mz0k5g7vjzlryqcsiqx4d15jxm26mjpp2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVyc1xuUmVxdWlyZWQgUGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "14", "sha256": "1cki2kwccc145khj5b6mj651k68zxgyi8gqcxv3yxlparcw5bd7k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVyc1xuUmVxdWlyZWQgUGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "1cki2kwccc145khj5b6mj651k68zxgyi8gqcxv3yxlparcw5bd7k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVyc1xuUmVxdWlyZWQgUGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9saW51eC1tYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50ZXJzIiwKICAidXVpZCI6ICJwcmludGVyc0BsaW51eC1tYW4ub3JnIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
+, {"uuid": "printers@linux-man.org", "name": "Printers", "pname": "printers", "description": "Manage Jobs and Printers. Required package: cups-bsd", "link": "https://extensions.gnome.org/extension/1218/printers/", "shell_version_map": {"38": {"version": "12", "sha256": "1q2k5b4z159nfr5mn4ah8fz9x8dq35x5sz99s8yhalbkb0ba0d1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}, "41": {"version": "18", "sha256": "0ymwfkcb7d20lv5wvsqsbh1n5c6cn90iy8g49fnmaja8gm5wazd6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBKb2JzIGFuZCBQcmludGVycy4gUmVxdWlyZWQgcGFja2FnZTogY3Vwcy1ic2QiLAogICJleHRlbnNpb24taWQiOiAicHJpbnRlcnMiLAogICJuYW1lIjogIlByaW50ZXJzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqb2FvLmNhbGRhcy5sb3Blc0BnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnByaW50ZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGludXgtbWFuL2dub21lLXNoZWxsLWV4dGVuc2lvbi1wcmludGVycyIsCiAgInV1aWQiOiAicHJpbnRlcnNAbGludXgtbWFuLm9yZyIsCiAgInZlcnNpb24iOiAxOAp9"}}}
 , {"uuid": "move-osd-windows@maestroschan.fr", "name": "Move OSD Windows", "pname": "move-osd-windows", "description": "Change the position of OSD windows (sound & luminosity popups).", "link": "https://extensions.gnome.org/extension/1220/move-osd-windows/", "shell_version_map": {"38": {"version": "3", "sha256": "1nmvbx7qbr9a9al5wirnsfwn4qb1qbql2w9f7fpajipasill9hkd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgcG9zaXRpb24gb2YgT1NEIHdpbmRvd3MgKHNvdW5kICYgbHVtaW5vc2l0eSBwb3B1cHMpLiIsCiAgImdldHRleHQtZG9tYWluIjogIm1vdmUtb3NkLXdpbmRvd3MiLAogICJuYW1lIjogIk1vdmUgT1NEIFdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYWVzdHJvc2NoYW4vTW92ZS1PU0QtV2luZG93cy1HTk9NRS1FeHRlbnNpb24iLAogICJ1dWlkIjogIm1vdmUtb3NkLXdpbmRvd3NAbWFlc3Ryb3NjaGFuLmZyIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "arc-menu@linxgem33.com", "name": "Arc Menu", "pname": "arc-menu", "description": "## UNMAINTAINED ##\n\nThe original version of Arc Menu and all attached repositories apart from the disaster recovery branch will no longer receive updates or further development.\n\nKind Regards - LinxGem33 (Andy C)", "link": "https://extensions.gnome.org/extension/1228/arc-menu/", "shell_version_map": {"38": {"version": "49", "sha256": "0x1kr339qarkviinf13s6ih01ssdh321nw8ncnnrq7ihqpzysf8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMjIFVOTUFJTlRBSU5FRCAjI1xuXG5UaGUgb3JpZ2luYWwgdmVyc2lvbiBvZiBBcmMgTWVudSBhbmQgYWxsIGF0dGFjaGVkIHJlcG9zaXRvcmllcyBhcGFydCBmcm9tIHRoZSBkaXNhc3RlciByZWNvdmVyeSBicmFuY2ggd2lsbCBubyBsb25nZXIgcmVjZWl2ZSB1cGRhdGVzIG9yIGZ1cnRoZXIgZGV2ZWxvcG1lbnQuXG5cbktpbmQgUmVnYXJkcyAtIExpbnhHZW0zMyAoQW5keSBDKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmMtbWVudSIsCiAgImdldHRleHQtZG9tYWluIjogImFyYy1tZW51IiwKICAibmFtZSI6ICJBcmMgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmMtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0xpbnhHZW0zMy9BcmMtTWVudSIsCiAgInV1aWQiOiAiYXJjLW1lbnVAbGlueGdlbTMzLmNvbSIsCiAgInZlcnNpb24iOiA0OQp9"}}}
 , {"uuid": "GmailMessageTray@shuming0207.gmail.com", "name": "Gnome Email Notifications", "pname": "gmail-message-tray", "description": "Shows Gmail and Outlook notifications in Gnome Message Tray using Gnome Online Accounts\n", "link": "https://extensions.gnome.org/extension/1230/gmail-message-tray/", "shell_version_map": {"40": {"version": "22", "sha256": "1hsjqhm0gb7iisg3drwyav166w8zvbfbsdwr47v997xf4mfaycbn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEdtYWlsIGFuZCBPdXRsb29rIG5vdGlmaWNhdGlvbnMgaW4gR25vbWUgTWVzc2FnZSBUcmF5IHVzaW5nIEdub21lIE9ubGluZSBBY2NvdW50c1xuIiwKICAibmFtZSI6ICJHbm9tZSBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NodW1pbmdjaC9nbm9tZS1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJHbWFpbE1lc3NhZ2VUcmF5QHNodW1pbmcwMjA3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMgp9"}, "41": {"version": "24", "sha256": "0vldilmp2vzfl99fw0ainnlj9sz0a95zjlqnzybsz7dasin39i9z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEdtYWlsIGFuZCBPdXRsb29rIG5vdGlmaWNhdGlvbnMgaW4gR25vbWUgTWVzc2FnZSBUcmF5IHVzaW5nIEdub21lIE9ubGluZSBBY2NvdW50c1xuIiwKICAibmFtZSI6ICJHbm9tZSBFbWFpbCBOb3RpZmljYXRpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NodW1pbmdjaC9nbm9tZS1lbWFpbC1ub3RpZmljYXRpb25zIiwKICAidXVpZCI6ICJHbWFpbE1lc3NhZ2VUcmF5QHNodW1pbmcwMjA3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyNAp9"}}}
@@ -146,7 +147,7 @@
 , {"uuid": "noannoyance@sindex.com", "name": "NoAnnoyance", "pname": "noannoyance", "description": "Disable the “Window is ready” notification.", "link": "https://extensions.gnome.org/extension/1236/noannoyance/", "shell_version_map": {"38": {"version": "5", "sha256": "0x7p3i9qws8pgj3y2raw2vfgjwqm6rprrn3s7lck5bjx9ydri5b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIFx1MjAxY1dpbmRvdyBpcyByZWFkeVx1MjAxZCBub3RpZmljYXRpb24uIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kZXgvbm8tYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBzaW5kZXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0x7p3i9qws8pgj3y2raw2vfgjwqm6rprrn3s7lck5bjx9ydri5b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgdGhlIFx1MjAxY1dpbmRvdyBpcyByZWFkeVx1MjAxZCBub3RpZmljYXRpb24uIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zaW5kZXgvbm8tYW5ub3lhbmNlIiwKICAidXVpZCI6ICJub2Fubm95YW5jZUBzaW5kZXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "SomaFm-Radio@alireza6677.gmail.com", "name": "SomaFM internet radio", "pname": "somafm-internet-radio", "description": "Listen to SomaFm free internet radio in your GNOME desktop\n\n* Featues:\n- 32+ Channels\n- Volume slider\n- Favorites menu\n- Good sound quality\n- Supports most gnome-shell versions\n- Channel logos\n\n* Requirements:\n- Gstreamer and plugins:\nYou need to install 'gstreamer' and multimedia codecs/plugins for your distro.", "link": "https://extensions.gnome.org/extension/1237/somafm-internet-radio/", "shell_version_map": {"38": {"version": "29", "sha256": "07l6sa58azf3sav6858q48cbqazavq9bflfxdn0p9ys29h6mf50c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vVGhlV2VpcmREZXYvc29tYWZtLXJhZGlvLWdub21lLWV4dCIsCiAgInV1aWQiOiAiU29tYUZtLVJhZGlvQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}, "40": {"version": "29", "sha256": "07l6sa58azf3sav6858q48cbqazavq9bflfxdn0p9ys29h6mf50c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3RlbiB0byBTb21hRm0gZnJlZSBpbnRlcm5ldCByYWRpbyBpbiB5b3VyIEdOT01FIGRlc2t0b3BcblxuKiBGZWF0dWVzOlxuLSAzMisgQ2hhbm5lbHNcbi0gVm9sdW1lIHNsaWRlclxuLSBGYXZvcml0ZXMgbWVudVxuLSBHb29kIHNvdW5kIHF1YWxpdHlcbi0gU3VwcG9ydHMgbW9zdCBnbm9tZS1zaGVsbCB2ZXJzaW9uc1xuLSBDaGFubmVsIGxvZ29zXG5cbiogUmVxdWlyZW1lbnRzOlxuLSBHc3RyZWFtZXIgYW5kIHBsdWdpbnM6XG5Zb3UgbmVlZCB0byBpbnN0YWxsICdnc3RyZWFtZXInIGFuZCBtdWx0aW1lZGlhIGNvZGVjcy9wbHVnaW5zIGZvciB5b3VyIGRpc3Ryby4iLAogICJuYW1lIjogIlNvbWFGTSBpbnRlcm5ldCByYWRpbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cDovL2dpdGh1Yi5jb20vVGhlV2VpcmREZXYvc29tYWZtLXJhZGlvLWdub21lLWV4dCIsCiAgInV1aWQiOiAiU29tYUZtLVJhZGlvQGFsaXJlemE2Njc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyOQp9"}}}
 , {"uuid": "timepp@zagortenay333", "name": "Time ++", "pname": "time", "description": "A todo.txt manager, time tracker, timer, stopwatch, pomodoro, and alarm clock", "link": "https://extensions.gnome.org/extension/1238/time/", "shell_version_map": {"38": {"version": "155", "sha256": "1v71hlwrw9kbxfvka5w8cfqmvcjw3k9xjdwhwlk4i4q5k6kgjih3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInRyYW5zbGF0aW9uc191cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZS90cmVlL21hc3Rlci9kYXRhL3BvX2ZpbGVzIiwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUiLAogICJ1dWlkIjogInRpbWVwcEB6YWdvcnRlbmF5MzMzIiwKICAidmVyc2lvbiI6IDE1NQp9"}, "40": {"version": "163", "sha256": "0qb28jgpqz4nrigx2vjpsv2wfbnvkfk9rrc6aqgmh1mhhw3f7wfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYzCn0="}, "41": {"version": "163", "sha256": "0qb28jgpqz4nrigx2vjpsv2wfbnvkfk9rrc6aqgmh1mhhw3f7wfa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNhY2hlLWZpbGUtZm9ybWF0LXZlcnNpb24iOiB7CiAgICAiYWxhcm1zIjogMywKICAgICJwb21vZG9ybyI6IDMsCiAgICAic3RvcHdhdGNoIjogNCwKICAgICJ0aW1lciI6IDMsCiAgICAidG9kbyI6IDEwCiAgfSwKICAiZGVzY3JpcHRpb24iOiAiQSB0b2RvLnR4dCBtYW5hZ2VyLCB0aW1lIHRyYWNrZXIsIHRpbWVyLCBzdG9wd2F0Y2gsIHBvbW9kb3JvLCBhbmQgYWxhcm0gY2xvY2siLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aW1lcHAiLAogICJpc3N1ZXNfdXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzL3RpbWVwcF9fZ25vbWUvaXNzdWVzIiwKICAibmFtZSI6ICJUaW1lICsrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImh0dHBzOi8vZ2l0aHViLmNvbS96YWdvcnRlbmF5MzMzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidHJhbnNsYXRpb25zX3VybCI6ICJodHRwczovL2dpdGh1Yi5jb20vemFnb3J0ZW5heTMzMy90aW1lcHBfX2dub21lL3RyZWUvbWFzdGVyL2RhdGEvcG9fZmlsZXMiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3phZ29ydGVuYXkzMzMvdGltZXBwX19nbm9tZSIsCiAgInV1aWQiOiAidGltZXBwQHphZ29ydGVuYXkzMzMiLAogICJ2ZXJzaW9uIjogMTYzCn0="}}}
-, {"uuid": "obmin@konkor", "name": "Obmin", "pname": "obmin", "description": "One-Click File Sharing for your network.\nObmin is lightweight HTTP(S) File Server for GNU/Linux systems.\n\nFeatures:\n⚫ Easy installation.\n⚫ Easy setup just choose file(s) locations and tune Obmin on.\n⚫ Doesn't require ROOT privileges.\n⚫ Doesn't require any special client side installation.\n⚫ HTTP transfer protocol available everywhere Linux, OSX, Windows, Android, iOS so.\n⚫ More ...\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1254/obmin/", "shell_version_map": {"38": {"version": "22", "sha256": "1r7q5p600lqlkagz9gdxj5wi77i5066sgiwxfsj4w1ixd1g44cz5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vb2JtaW4uZ2l0aHViLmlvIiwKICAidXVpZCI6ICJvYm1pbkBrb25rb3IiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}, "40": {"version": "22", "sha256": "1r7q5p600lqlkagz9gdxj5wi77i5066sgiwxfsj4w1ixd1g44cz5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vb2JtaW4uZ2l0aHViLmlvIiwKICAidXVpZCI6ICJvYm1pbkBrb25rb3IiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
+, {"uuid": "obmin@konkor", "name": "Obmin", "pname": "obmin", "description": "One-Click File Sharing for your network.\nObmin is lightweight HTTP(S) File Server for GNU/Linux systems.\n\nFeatures:\n⚫ Easy installation.\n⚫ Easy setup just choose file(s) locations and tune Obmin on.\n⚫ Doesn't require ROOT privileges.\n⚫ Doesn't require any special client side installation.\n⚫ HTTP transfer protocol available everywhere Linux, OSX, Windows, Android, iOS so.\n⚫ More ...\n\nFor more information and how-to see README.md", "link": "https://extensions.gnome.org/extension/1254/obmin/", "shell_version_map": {"38": {"version": "25", "sha256": "14liv381k2gdgcsgaqsarfg0ycrg0whhq0jzzzdzvnk9vs8jdni8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "25", "sha256": "14liv381k2gdgcsgaqsarfg0ycrg0whhq0jzzzdzvnk9vs8jdni8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "41": {"version": "25", "sha256": "14liv381k2gdgcsgaqsarfg0ycrg0whhq0jzzzdzvnk9vs8jdni8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9uZS1DbGljayBGaWxlIFNoYXJpbmcgZm9yIHlvdXIgbmV0d29yay5cbk9ibWluIGlzIGxpZ2h0d2VpZ2h0IEhUVFAoUykgRmlsZSBTZXJ2ZXIgZm9yIEdOVS9MaW51eCBzeXN0ZW1zLlxuXG5GZWF0dXJlczpcblx1MjZhYiBFYXN5IGluc3RhbGxhdGlvbi5cblx1MjZhYiBFYXN5IHNldHVwIGp1c3QgY2hvb3NlIGZpbGUocykgbG9jYXRpb25zIGFuZCB0dW5lIE9ibWluIG9uLlxuXHUyNmFiIERvZXNuJ3QgcmVxdWlyZSBST09UIHByaXZpbGVnZXMuXG5cdTI2YWIgRG9lc24ndCByZXF1aXJlIGFueSBzcGVjaWFsIGNsaWVudCBzaWRlIGluc3RhbGxhdGlvbi5cblx1MjZhYiBIVFRQIHRyYW5zZmVyIHByb3RvY29sIGF2YWlsYWJsZSBldmVyeXdoZXJlIExpbnV4LCBPU1gsIFdpbmRvd3MsIEFuZHJvaWQsIGlPUyBzby5cblx1MjZhYiBNb3JlIC4uLlxuXG5Gb3IgbW9yZSBpbmZvcm1hdGlvbiBhbmQgaG93LXRvIHNlZSBSRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zLW9ibWluIiwKICAibmFtZSI6ICJPYm1pbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5vYm1pbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4xNCIsCiAgICAiMy4xNiIsCiAgICAiMy4xOCIsCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zMiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL29ibWluLmdpdGh1Yi5pbyIsCiAgInV1aWQiOiAib2JtaW5Aa29ua29yIiwKICAidmVyc2lvbiI6IDI1Cn0="}}}
 , {"uuid": "BingWallpaper@ineffable-gmail.com", "name": "Bing Wallpaper", "pname": "bing-wallpaper-changer", "description": "Lightweight GNOME shell extension to set your wallpaper to today's Microsoft Bing image of the day (the image you see when you visit Bing.com).\n\n *Disclaimer*: this extension is unofficial and not affiliated with Bing or Microsoft in any way. Images are protected by copyright and are licensed only for use as wallpapers.\n\nThis extension is based extensively on the NASA APOD extension by Elinvention (https://github.com/Elinvention) and inspired by Bing Desktop Wallpaper Changer by Utkarsh Gupta (https://github.com/UtkarshGpta).\n\nFeatures:\n* Fetches Bing wallpaper of the day and sets as both lock screen and desktop wallpaper (user selectable on GNOME versions that support it)\n* Optionally force a specific region (i.e. locale)\n* UHD supported resolutions\n* Only attempts to download wallpapers when they have been updated\n* Doesn't poll continuously - only once per day and on startup (schedules a refresh when Bing is due to update)\n *NEW: random mode\n *NEW: select wallpaper from previously downloaded images\n* English (en), German (de), Dutch (nl), Italian (it), Polish (pl), Chinese (zh_CN), French (fr_FR), Portuguese (pt, pt_BR), Russian (ru_RU), Spanish (es), Korean (ko, ko_KR, ko_KP), Indonesian (id), Catalan (ca), Norwegian Bokmål (nb) & Nynorsk (ni), Swedish (sv), Arabic (ar), Hungarian (hu) and Finnish (fi_FI) - a HUGE thanks to the translators\n\nAlways restart GNOME after manually updating extensions. Please report bugs to the GitHub page below:", "link": "https://extensions.gnome.org/extension/1262/bing-wallpaper-changer/", "shell_version_map": {"38": {"version": "37", "sha256": "1v01vkvphqjr7c2gh61p84jwvr8yj91rnhjgdgi8jv06fwcvnja0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJuYW1lIjogIkJpbmcgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJpbmd3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2Jpbmctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiQmluZ1dhbGxwYXBlckBpbmVmZmFibGUtZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM3Cn0="}, "40": {"version": "37", "sha256": "1v01vkvphqjr7c2gh61p84jwvr8yj91rnhjgdgi8jv06fwcvnja0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJuYW1lIjogIkJpbmcgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJpbmd3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2Jpbmctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiQmluZ1dhbGxwYXBlckBpbmVmZmFibGUtZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM3Cn0="}, "41": {"version": "37", "sha256": "1v01vkvphqjr7c2gh61p84jwvr8yj91rnhjgdgi8jv06fwcvnja0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IEdOT01FIHNoZWxsIGV4dGVuc2lvbiB0byBzZXQgeW91ciB3YWxscGFwZXIgdG8gdG9kYXkncyBNaWNyb3NvZnQgQmluZyBpbWFnZSBvZiB0aGUgZGF5ICh0aGUgaW1hZ2UgeW91IHNlZSB3aGVuIHlvdSB2aXNpdCBCaW5nLmNvbSkuXG5cbiAqRGlzY2xhaW1lcio6IHRoaXMgZXh0ZW5zaW9uIGlzIHVub2ZmaWNpYWwgYW5kIG5vdCBhZmZpbGlhdGVkIHdpdGggQmluZyBvciBNaWNyb3NvZnQgaW4gYW55IHdheS4gSW1hZ2VzIGFyZSBwcm90ZWN0ZWQgYnkgY29weXJpZ2h0IGFuZCBhcmUgbGljZW5zZWQgb25seSBmb3IgdXNlIGFzIHdhbGxwYXBlcnMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGJhc2VkIGV4dGVuc2l2ZWx5IG9uIHRoZSBOQVNBIEFQT0QgZXh0ZW5zaW9uIGJ5IEVsaW52ZW50aW9uIChodHRwczovL2dpdGh1Yi5jb20vRWxpbnZlbnRpb24pIGFuZCBpbnNwaXJlZCBieSBCaW5nIERlc2t0b3AgV2FsbHBhcGVyIENoYW5nZXIgYnkgVXRrYXJzaCBHdXB0YSAoaHR0cHM6Ly9naXRodWIuY29tL1V0a2Fyc2hHcHRhKS5cblxuRmVhdHVyZXM6XG4qIEZldGNoZXMgQmluZyB3YWxscGFwZXIgb2YgdGhlIGRheSBhbmQgc2V0cyBhcyBib3RoIGxvY2sgc2NyZWVuIGFuZCBkZXNrdG9wIHdhbGxwYXBlciAodXNlciBzZWxlY3RhYmxlIG9uIEdOT01FIHZlcnNpb25zIHRoYXQgc3VwcG9ydCBpdClcbiogT3B0aW9uYWxseSBmb3JjZSBhIHNwZWNpZmljIHJlZ2lvbiAoaS5lLiBsb2NhbGUpXG4qIFVIRCBzdXBwb3J0ZWQgcmVzb2x1dGlvbnNcbiogT25seSBhdHRlbXB0cyB0byBkb3dubG9hZCB3YWxscGFwZXJzIHdoZW4gdGhleSBoYXZlIGJlZW4gdXBkYXRlZFxuKiBEb2Vzbid0IHBvbGwgY29udGludW91c2x5IC0gb25seSBvbmNlIHBlciBkYXkgYW5kIG9uIHN0YXJ0dXAgKHNjaGVkdWxlcyBhIHJlZnJlc2ggd2hlbiBCaW5nIGlzIGR1ZSB0byB1cGRhdGUpXG4gKk5FVzogcmFuZG9tIG1vZGVcbiAqTkVXOiBzZWxlY3Qgd2FsbHBhcGVyIGZyb20gcHJldmlvdXNseSBkb3dubG9hZGVkIGltYWdlc1xuKiBFbmdsaXNoIChlbiksIEdlcm1hbiAoZGUpLCBEdXRjaCAobmwpLCBJdGFsaWFuIChpdCksIFBvbGlzaCAocGwpLCBDaGluZXNlICh6aF9DTiksIEZyZW5jaCAoZnJfRlIpLCBQb3J0dWd1ZXNlIChwdCwgcHRfQlIpLCBSdXNzaWFuIChydV9SVSksIFNwYW5pc2ggKGVzKSwgS29yZWFuIChrbywga29fS1IsIGtvX0tQKSwgSW5kb25lc2lhbiAoaWQpLCBDYXRhbGFuIChjYSksIE5vcndlZ2lhbiBCb2ttXHUwMGU1bCAobmIpICYgTnlub3JzayAobmkpLCBTd2VkaXNoIChzdiksIEFyYWJpYyAoYXIpLCBIdW5nYXJpYW4gKGh1KSBhbmQgRmlubmlzaCAoZmlfRkkpIC0gYSBIVUdFIHRoYW5rcyB0byB0aGUgdHJhbnNsYXRvcnNcblxuQWx3YXlzIHJlc3RhcnQgR05PTUUgYWZ0ZXIgbWFudWFsbHkgdXBkYXRpbmcgZXh0ZW5zaW9ucy4gUGxlYXNlIHJlcG9ydCBidWdzIHRvIHRoZSBHaXRIdWIgcGFnZSBiZWxvdzoiLAogICJuYW1lIjogIkJpbmcgV2FsbHBhcGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJpbmd3YWxscGFwZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL25lZmZvL2Jpbmctd2FsbHBhcGVyLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiQmluZ1dhbGxwYXBlckBpbmVmZmFibGUtZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM3Cn0="}}}
 , {"uuid": "gnomesome@chwick.github.com", "name": "Gnomesome", "pname": "gnomesome", "description": "Tiling window manager with awesome keybindings", "link": "https://extensions.gnome.org/extension/1268/gnomesome/", "shell_version_map": {"38": {"version": "15", "sha256": "1dn67is3qk80xxfkc2pd43jrsyylmsprd7v3axvl677wdjgaq83z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyB3aW5kb3cgbWFuYWdlciB3aXRoIGF3ZXNvbWUga2V5YmluZGluZ3MiLAogICJuYW1lIjogIkdub21lc29tZSIsCiAgInNldHRpbmdzLWtleWJpbmRpbmdzIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lc29tZS5rZXliaW5kaW5ncyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Nod2ljay9nbm9tZXNvbWUiLAogICJ1dWlkIjogImdub21lc29tZUBjaHdpY2suZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxNQp9"}}}
 , {"uuid": "gnome-vagrant-indicator@gnome-shell-exstensions.fffilo.github.com", "name": "GNOME Vagrant Indicator", "pname": "gnome-vagrant-indicator", "description": "Easily manage your vagrant machines from status area", "link": "https://extensions.gnome.org/extension/1269/gnome-vagrant-indicator/", "shell_version_map": {"40": {"version": "14", "sha256": "194kfjbv8wc4krxcdazm03c0rnzz11n5xa0m11zq3nczw9pasvwf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVhc2lseSBtYW5hZ2UgeW91ciB2YWdyYW50IG1hY2hpbmVzIGZyb20gc3RhdHVzIGFyZWEiLAogICJkZXNjcmlwdGlvbi1odG1sIjogIkluc3BpcmVkIGJ5IDxhIGhyZWY9XCJodHRwczovL2dpdGh1Yi5jb20vY2FuZGlkdGltL3ZhZ3JhbnQtYXBwaW5kaWNhdG9yXCI+dmdhcHBsZXQ8L2E+LFxuPGI+R05PTUUgVmFncmFudCBJbmRpY2F0b3I8L2I+IGxldHMgeW91IGVhc2lseSBtYW5hZ2UgeW91ciB2YWdyYW50IG1hY2hpbmVzIGZyb20gc3RhdHVzIGFyZWEuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtdmFncmFudC1pbmRpY2F0b3IiLAogICJsaWNlbnNlIjogIkdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYzLjAiLAogICJsaWNlbnNlLWh0bWwiOiAiVGhpcyBwcm9ncmFtIGNvbWVzIHdpdGggQUJTT0xVVEVMWSBOTyBXQVJSQU5UWS5cblNlZSB0aGUgPGEgaHJlZj1cImh0dHBzOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTMuMC5odG1sXCI+R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMDwvYT4gZm9yIGRldGFpbHMuIiwKICAibmFtZSI6ICJHTk9NRSBWYWdyYW50IEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJGcmFuam8gRmlsbyA8ZmZmaWxvNjY2QGdtYWlsLmNvbT4iLAogICJvcmlnaW5hbC1hdXRob3ItaHRtbCI6ICJGcmFuam8gRmlsbyA8YSBocmVmPVwibWFpbHRvOmZmZmlsbzY2NkBnbWFpbC5jb21cIj4mbHQ7ZmZmaWxvNjY2QGdtYWlsLmNvbSZndDs8L2E+IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLXZhZ3JhbnQtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2ZmZmlsby9nbm9tZS12YWdyYW50LWluZGljYXRvciIsCiAgInV1aWQiOiAiZ25vbWUtdmFncmFudC1pbmRpY2F0b3JAZ25vbWUtc2hlbGwtZXhzdGVuc2lvbnMuZmZmaWxvLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
@@ -163,13 +164,13 @@
 , {"uuid": "disableworkspaceanim@owilliams.mixxx.org", "name": "Disable Workspace Switch Animation", "pname": "disable-workspace-switch-animation", "description": "Makes switching between workspaces instant without disabling other animations", "link": "https://extensions.gnome.org/extension/1328/disable-workspace-switch-animation/", "shell_version_map": {"38": {"version": "4", "sha256": "0yy5yddzaswfl5yv19layls3g2nwfj47x5zg131f43y7abgp7z4l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHN3aXRjaGluZyBiZXR3ZWVuIHdvcmtzcGFjZXMgaW5zdGFudCB3aXRob3V0IGRpc2FibGluZyBvdGhlciBhbmltYXRpb25zIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImRpc2FibGV3b3Jrc3BhY2VhbmltQG93aWxsaWFtcy5taXh4eC5vcmciLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "5", "sha256": "1w7gxcgz5729vwfw3ih2ha4y3r07cgqh1kykqfnrhraqrjd4zvfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHN3aXRjaGluZyBiZXR3ZWVuIHdvcmtzcGFjZXMgaW5zdGFudCB3aXRob3V0IGRpc2FibGluZyBvdGhlciBhbmltYXRpb25zIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZXdvcmtzcGFjZWFuaW1Ab3dpbGxpYW1zLm1peHh4Lm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1w7gxcgz5729vwfw3ih2ha4y3r07cgqh1kykqfnrhraqrjd4zvfc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHN3aXRjaGluZyBiZXR3ZWVuIHdvcmtzcGFjZXMgaW5zdGFudCB3aXRob3V0IGRpc2FibGluZyBvdGhlciBhbmltYXRpb25zIiwKICAibmFtZSI6ICJEaXNhYmxlIFdvcmtzcGFjZSBTd2l0Y2ggQW5pbWF0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZXdvcmtzcGFjZWFuaW1Ab3dpbGxpYW1zLm1peHh4Lm9yZyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "app-switcher_current_workspace_first@fawtytoo", "name": "App-Switcher Current Workspace First", "pname": "app-switcher-current-workspace-first", "description": "App-Switcher modification that sorts applications by current workspace first. It separates apps into 2 separate icons if the app also has windows on other workspaces.\n\nNOTE: The App Switcher is invoked by a keyboard shortcut which you can set in Gnome Settings > Navigation > Switch applications", "link": "https://extensions.gnome.org/extension/1329/app-switcher-current-workspace-first/", "shell_version_map": {"38": {"version": "12", "sha256": "0d1kjgi3f08msm900kf27y5vv1z8mbiy5ansh23gi60bj8bnalij", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9BcHAtU3dpdGNoZXItQ3VycmVudC1Xb3Jrc3BhY2UtRmlyc3QiLAogICJ1dWlkIjogImFwcC1zd2l0Y2hlcl9jdXJyZW50X3dvcmtzcGFjZV9maXJzdEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "0d1kjgi3f08msm900kf27y5vv1z8mbiy5ansh23gi60bj8bnalij", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9BcHAtU3dpdGNoZXItQ3VycmVudC1Xb3Jrc3BhY2UtRmlyc3QiLAogICJ1dWlkIjogImFwcC1zd2l0Y2hlcl9jdXJyZW50X3dvcmtzcGFjZV9maXJzdEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0d1kjgi3f08msm900kf27y5vv1z8mbiy5ansh23gi60bj8bnalij", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcC1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyBhcHBsaWNhdGlvbnMgYnkgY3VycmVudCB3b3Jrc3BhY2UgZmlyc3QuIEl0IHNlcGFyYXRlcyBhcHBzIGludG8gMiBzZXBhcmF0ZSBpY29ucyBpZiB0aGUgYXBwIGFsc28gaGFzIHdpbmRvd3Mgb24gb3RoZXIgd29ya3NwYWNlcy5cblxuTk9URTogVGhlIEFwcCBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIGFwcGxpY2F0aW9ucyIsCiAgIm5hbWUiOiAiQXBwLVN3aXRjaGVyIEN1cnJlbnQgV29ya3NwYWNlIEZpcnN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9BcHAtU3dpdGNoZXItQ3VycmVudC1Xb3Jrc3BhY2UtRmlyc3QiLAogICJ1dWlkIjogImFwcC1zd2l0Y2hlcl9jdXJyZW50X3dvcmtzcGFjZV9maXJzdEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "window-switcher_current_workspace_first@fawtytoo", "name": "Window-Switcher Current Workspace First", "pname": "window-switcher-current-workspace-first", "description": "Window-Switcher modification that sorts windows by current workspace first. The other windows are added according to their workspace.\n\nNOTE: The Window Switcher is invoked by a keyboard shortcut which you can set in Gnome Settings > Navigation > Switch windows", "link": "https://extensions.gnome.org/extension/1330/window-switcher-current-workspace-first/", "shell_version_map": {"38": {"version": "14", "sha256": "1rfdrcqxrp85cn65xnrg5ajcknhxsy2hpsygz0y15rld7hwqnsiy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vV2luZG93LVN3aXRjaGVyLUN1cnJlbnQtV29ya3NwYWNlLUZpcnN0IiwKICAidXVpZCI6ICJ3aW5kb3ctc3dpdGNoZXJfY3VycmVudF93b3Jrc3BhY2VfZmlyc3RAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "14", "sha256": "1rfdrcqxrp85cn65xnrg5ajcknhxsy2hpsygz0y15rld7hwqnsiy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vV2luZG93LVN3aXRjaGVyLUN1cnJlbnQtV29ya3NwYWNlLUZpcnN0IiwKICAidXVpZCI6ICJ3aW5kb3ctc3dpdGNoZXJfY3VycmVudF93b3Jrc3BhY2VfZmlyc3RAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "1rfdrcqxrp85cn65xnrg5ajcknhxsy2hpsygz0y15rld7hwqnsiy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldpbmRvdy1Td2l0Y2hlciBtb2RpZmljYXRpb24gdGhhdCBzb3J0cyB3aW5kb3dzIGJ5IGN1cnJlbnQgd29ya3NwYWNlIGZpcnN0LiBUaGUgb3RoZXIgd2luZG93cyBhcmUgYWRkZWQgYWNjb3JkaW5nIHRvIHRoZWlyIHdvcmtzcGFjZS5cblxuTk9URTogVGhlIFdpbmRvdyBTd2l0Y2hlciBpcyBpbnZva2VkIGJ5IGEga2V5Ym9hcmQgc2hvcnRjdXQgd2hpY2ggeW91IGNhbiBzZXQgaW4gR25vbWUgU2V0dGluZ3MgPiBOYXZpZ2F0aW9uID4gU3dpdGNoIHdpbmRvd3MiLAogICJuYW1lIjogIldpbmRvdy1Td2l0Y2hlciBDdXJyZW50IFdvcmtzcGFjZSBGaXJzdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vV2luZG93LVN3aXRjaGVyLUN1cnJlbnQtV29ya3NwYWNlLUZpcnN0IiwKICAidXVpZCI6ICJ3aW5kb3ctc3dpdGNoZXJfY3VycmVudF93b3Jrc3BhY2VfZmlyc3RAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
-, {"uuid": "run-or-raise@edvard.cz", "name": "Run or raise", "pname": "run-or-raise", "description": "Launch or focus the window or define custom shortcuts in a text file", "link": "https://extensions.gnome.org/extension/1336/run-or-raise/", "shell_version_map": {"38": {"version": "15", "sha256": "04dnc1991a7g7f1lgvymiy9nzz74dfi9bnzgyn9mvzn3m02cqvxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAxNQp9"}, "40": {"version": "15", "sha256": "04dnc1991a7g7f1lgvymiy9nzz74dfi9bnzgyn9mvzn3m02cqvxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "04dnc1991a7g7f1lgvymiy9nzz74dfi9bnzgyn9mvzn3m02cqvxy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAuMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAxNQp9"}}}
+, {"uuid": "run-or-raise@edvard.cz", "name": "Run or raise", "pname": "run-or-raise", "description": "Launch or focus the window or define custom shortcuts in a text file", "link": "https://extensions.gnome.org/extension/1336/run-or-raise/", "shell_version_map": {"38": {"version": "16", "sha256": "0v7w4i849s9iz61wrnbz19q96xdbx4642r2ga02mx0zpq96grjvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAxNgp9"}, "40": {"version": "16", "sha256": "0v7w4i849s9iz61wrnbz19q96xdbx4642r2ga02mx0zpq96grjvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "0v7w4i849s9iz61wrnbz19q96xdbx4642r2ga02mx0zpq96grjvs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxhdW5jaCBvciBmb2N1cyB0aGUgd2luZG93IG9yIGRlZmluZSBjdXN0b20gc2hvcnRjdXRzIGluIGEgdGV4dCBmaWxlIiwKICAiZGlzYWJsZS1leHRlbnNpb24tdmVyc2lvbi12YWxpZGF0aW9uIjogdHJ1ZSwKICAibmFtZSI6ICJSdW4gb3IgcmFpc2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMucnVuLW9yLXJhaXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMyIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzYiLAogICAgIjMuMzguMSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ1otTklDL3J1bi1vci1yYWlzZSIsCiAgInV1aWQiOiAicnVuLW9yLXJhaXNlQGVkdmFyZC5jeiIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"uuid": "show_applications_instead_of_overview@fawtytoo", "name": "Show Applications Instead Of Workspaces", "pname": "show-applications-instead-of-overview", "description": "The Overview will show Applications instead of Workspaces when invoked.", "link": "https://extensions.gnome.org/extension/1337/show-applications-instead-of-overview/", "shell_version_map": {"38": {"version": "7", "sha256": "1vx5hakip909pp4drh5rq3abcmhzal9g918dsh7gcgxsp2mdv08z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzaG93X2FwcGxpY2F0aW9uc19pbnN0ZWFkX29mX292ZXJ2aWV3QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "1vx5hakip909pp4drh5rq3abcmhzal9g918dsh7gcgxsp2mdv08z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzaG93X2FwcGxpY2F0aW9uc19pbnN0ZWFkX29mX292ZXJ2aWV3QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "1vx5hakip909pp4drh5rq3abcmhzal9g918dsh7gcgxsp2mdv08z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBPdmVydmlldyB3aWxsIHNob3cgQXBwbGljYXRpb25zIGluc3RlYWQgb2YgV29ya3NwYWNlcyB3aGVuIGludm9rZWQuIiwKICAibmFtZSI6ICJTaG93IEFwcGxpY2F0aW9ucyBJbnN0ZWFkIE9mIFdvcmtzcGFjZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzaG93X2FwcGxpY2F0aW9uc19pbnN0ZWFkX29mX292ZXJ2aWV3QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "hplip-menu@grizzlysmit.smit.id.au", "name": "Alternate Menu for Hplip", "pname": "hplip-menu", "description": "control your hp printers by calling the device manager hp-toolbox, also some useful links\nMotivation: the hp-systray doesn't work reliably under gnome shell\nyou need to have installed hplip in order to use this\nChoice of using a printer icon or a hp_logo.png if it's installed in the same place as mine on Ubuntu\nyou could use symbolic links to fake the path.", "link": "https://extensions.gnome.org/extension/1339/hplip-menu/", "shell_version_map": {"38": {"version": "11", "sha256": "1754xb6mn0jbkizm79kyjwbhyf1yld0jw8blddia9fn4s223j2rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLiIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImhwbGlwLW1lbnVAZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "1754xb6mn0jbkizm79kyjwbhyf1yld0jw8blddia9fn4s223j2rs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLiIsCiAgIm5hbWUiOiAiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhwbGlwLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzguMSIsCiAgICAiMy4zOC4yIiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImhwbGlwLW1lbnVAZ3JpenpseXNtaXQuc21pdC5pZC5hdSIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "notes@maestroschan.fr", "name": "Notes", "pname": "notes", "description": "Sticky notes for the GNOME Shell desktop.", "link": "https://extensions.gnome.org/extension/1357/notes/", "shell_version_map": {"38": {"version": "22", "sha256": "0svx60711cphswiigd1sswczk17cjxr7gr3davk4krkhya04llp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0aWNreSBub3RlcyBmb3IgdGhlIEdOT01FIFNoZWxsIGRlc2t0b3AuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibm90ZXMtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJOb3RlcyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ub3Rlcy1leHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tYW9zY2hhbnovbm90ZXMtZXh0ZW5zaW9uLWdub21lIiwKICAidXVpZCI6ICJub3Rlc0BtYWVzdHJvc2NoYW4uZnIiLAogICJ2ZXJzaW9uIjogMjIKfQ=="}}}
 , {"uuid": "slinger@gfxmonk.net", "name": "slinger", "pname": "slinger", "description": "Sling windows around efficiently", "link": "https://extensions.gnome.org/extension/1372/slinger/", "shell_version_map": {"40": {"version": "7", "sha256": "1hpzcslqln0yz4kv216z8qqq9639sh1awp6q8c33d7jp11ydwhlj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaW5nIHdpbmRvd3MgYXJvdW5kIGVmZmljaWVudGx5IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2xpbmdlciIsCiAgIm5hbWUiOiAic2xpbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aW1iZXJ0c29uL3NsaW5nZXIiLAogICJ1dWlkIjogInNsaW5nZXJAZ2Z4bW9uay5uZXQiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "unix-timestamp-clock@se1exin.github.com", "name": "Unix Timestamp Clock", "pname": "unix-timestamp-clock", "description": "Show the current unix timestamp as a clock in the top bar.\n\nCopy-paste currently shown timestamp (left mouse button) or current timestamp (any other mouse button) to clipboard", "link": "https://extensions.gnome.org/extension/1375/unix-timestamp-clock/", "shell_version_map": {"38": {"version": "5", "sha256": "11awssml3n1kza1inny4j89bkmgpldzcglwa26pyr432i4la0jh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGN1cnJlbnQgdW5peCB0aW1lc3RhbXAgYXMgYSBjbG9jayBpbiB0aGUgdG9wIGJhci5cblxuQ29weS1wYXN0ZSBjdXJyZW50bHkgc2hvd24gdGltZXN0YW1wIChsZWZ0IG1vdXNlIGJ1dHRvbikgb3IgY3VycmVudCB0aW1lc3RhbXAgKGFueSBvdGhlciBtb3VzZSBidXR0b24pIHRvIGNsaXBib2FyZCIsCiAgIm5hbWUiOiAiVW5peCBUaW1lc3RhbXAgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZTFleGluL3VuaXgtdGltZXN0YW1wLWNsb2NrIiwKICAidXVpZCI6ICJ1bml4LXRpbWVzdGFtcC1jbG9ja0BzZTFleGluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "11awssml3n1kza1inny4j89bkmgpldzcglwa26pyr432i4la0jh6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIGN1cnJlbnQgdW5peCB0aW1lc3RhbXAgYXMgYSBjbG9jayBpbiB0aGUgdG9wIGJhci5cblxuQ29weS1wYXN0ZSBjdXJyZW50bHkgc2hvd24gdGltZXN0YW1wIChsZWZ0IG1vdXNlIGJ1dHRvbikgb3IgY3VycmVudCB0aW1lc3RhbXAgKGFueSBvdGhlciBtb3VzZSBidXR0b24pIHRvIGNsaXBib2FyZCIsCiAgIm5hbWUiOiAiVW5peCBUaW1lc3RhbXAgQ2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZTFleGluL3VuaXgtdGltZXN0YW1wLWNsb2NrIiwKICAidXVpZCI6ICJ1bml4LXRpbWVzdGFtcC1jbG9ja0BzZTFleGluLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
-, {"uuid": "mprisindicatorbutton@JasonLG1979.github.io", "name": "Mpris Indicator Button", "pname": "mpris-indicator-button", "description": "A full featured MPRIS indicator.", "link": "https://extensions.gnome.org/extension/1379/mpris-indicator-button/", "shell_version_map": {"38": {"version": "19", "sha256": "03fs6j4xznzn6p81fw476faxyf0bag0jalsri3imwmpw1mfg18di", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSmFzb25MRzE5NzkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1wcmlzLWluZGljYXRvci1idXR0b24vIiwKICAidXVpZCI6ICJtcHJpc2luZGljYXRvcmJ1dHRvbkBKYXNvbkxHMTk3OS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "03fs6j4xznzn6p81fw476faxyf0bag0jalsri3imwmpw1mfg18di", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSmFzb25MRzE5NzkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1wcmlzLWluZGljYXRvci1idXR0b24vIiwKICAidXVpZCI6ICJtcHJpc2luZGljYXRvcmJ1dHRvbkBKYXNvbkxHMTk3OS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "03fs6j4xznzn6p81fw476faxyf0bag0jalsri3imwmpw1mfg18di", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSmFzb25MRzE5NzkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLW1wcmlzLWluZGljYXRvci1idXR0b24vIiwKICAidXVpZCI6ICJtcHJpc2luZGljYXRvcmJ1dHRvbkBKYXNvbkxHMTk3OS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
+, {"uuid": "mprisindicatorbutton@JasonLG1979.github.io", "name": "Mpris Indicator Button", "pname": "mpris-indicator-button", "description": "A full featured MPRIS indicator.", "link": "https://extensions.gnome.org/extension/1379/mpris-indicator-button/", "shell_version_map": {"38": {"version": "20", "sha256": "0srkykxh1g9i3cih0rqkbwhbnylpx6qh0f6h2bzzmkpw4algf2ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1tcHJpcy1pbmRpY2F0b3ItYnV0dG9uLyIsCiAgInV1aWQiOiAibXByaXNpbmRpY2F0b3JidXR0b25ASmFzb25MRzE5NzkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "0srkykxh1g9i3cih0rqkbwhbnylpx6qh0f6h2bzzmkpw4algf2ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1tcHJpcy1pbmRpY2F0b3ItYnV0dG9uLyIsCiAgInV1aWQiOiAibXByaXNpbmRpY2F0b3JidXR0b25ASmFzb25MRzE5NzkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0srkykxh1g9i3cih0rqkbwhbnylpx6qh0f6h2bzzmkpw4algf2ch", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZnVsbCBmZWF0dXJlZCBNUFJJUyBpbmRpY2F0b3IuIiwKICAibmFtZSI6ICJNcHJpcyBJbmRpY2F0b3IgQnV0dG9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIkphc29uTEcxOTc5QGdpdGh1Yi5pbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi1tcHJpcy1pbmRpY2F0b3ItYnV0dG9uLyIsCiAgInV1aWQiOiAibXByaXNpbmRpY2F0b3JidXR0b25ASmFzb25MRzE5NzkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "weatherintheclock@JasonLG1979.github.io", "name": "Weather In The Clock", "pname": "weather-in-the-clock", "description": "Display the current Weather in the Clock. GNOME Weather is required for this extension to function.", "link": "https://extensions.gnome.org/extension/1380/weather-in-the-clock/", "shell_version_map": {"38": {"version": "7", "sha256": "02aszdk2iswlqwkwi83gi69qzw0jwhill66qacrc7gg59mpfpq3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgV2VhdGhlciBpbiB0aGUgQ2xvY2suIEdOT01FIFdlYXRoZXIgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZXh0ZW5zaW9uIHRvIGZ1bmN0aW9uLiIsCiAgIm5hbWUiOiAiV2VhdGhlciBJbiBUaGUgQ2xvY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiSmFzb25MRzE5NzlAZ2l0aHViLmlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi13ZWF0aGVyLWluLXRoZS1jbG9jay8iLAogICJ1dWlkIjogIndlYXRoZXJpbnRoZWNsb2NrQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "02aszdk2iswlqwkwi83gi69qzw0jwhill66qacrc7gg59mpfpq3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgdGhlIGN1cnJlbnQgV2VhdGhlciBpbiB0aGUgQ2xvY2suIEdOT01FIFdlYXRoZXIgaXMgcmVxdWlyZWQgZm9yIHRoaXMgZXh0ZW5zaW9uIHRvIGZ1bmN0aW9uLiIsCiAgIm5hbWUiOiAiV2VhdGhlciBJbiBUaGUgQ2xvY2siLAogICJvcmlnaW5hbC1hdXRob3IiOiAiSmFzb25MRzE5NzlAZ2l0aHViLmlvIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0phc29uTEcxOTc5L2dub21lLXNoZWxsLWV4dGVuc2lvbi13ZWF0aGVyLWluLXRoZS1jbG9jay8iLAogICJ1dWlkIjogIndlYXRoZXJpbnRoZWNsb2NrQEphc29uTEcxOTc5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "LyricsFinder@alireza6677.gmail.com", "name": "Lyrics Finder", "pname": "lyrics-finder", "description": "Finding lyrics has never been easier\nJust play some music!\n\nIf you want to report a bug please don't forget to mention:\n- Gnome shell version\n- Your Linux distro\n- Extension version\n- Error messages (If you see any)\n", "link": "https://extensions.gnome.org/extension/1383/lyrics-finder/", "shell_version_map": {"40": {"version": "14", "sha256": "1x9d3npil0wgf44p276dslw5adw4gziij03r0jlw174yy87mn2lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpbmRpbmcgbHlyaWNzIGhhcyBuZXZlciBiZWVuIGVhc2llclxuSnVzdCBwbGF5IHNvbWUgbXVzaWMhXG5cbklmIHlvdSB3YW50IHRvIHJlcG9ydCBhIGJ1ZyBwbGVhc2UgZG9uJ3QgZm9yZ2V0IHRvIG1lbnRpb246XG4tIEdub21lIHNoZWxsIHZlcnNpb25cbi0gWW91ciBMaW51eCBkaXN0cm9cbi0gRXh0ZW5zaW9uIHZlcnNpb25cbi0gRXJyb3IgbWVzc2FnZXMgKElmIHlvdSBzZWUgYW55KVxuIiwKICAibmFtZSI6ICJMeXJpY3MgRmluZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmx5cmljcy1maW5kZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHA6Ly9naXRodWIuY29tL1RoZVdlaXJkRGV2L2x5cmljcy1maW5kZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJMeXJpY3NGaW5kZXJAYWxpcmV6YTY2NzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
 , {"uuid": "NotificationCounter@coolllsk", "name": "Notification Counter", "pname": "notification-counter", "description": "Shows number of notifications in queue.", "link": "https://extensions.gnome.org/extension/1386/notification-counter/", "shell_version_map": {"40": {"version": "4", "sha256": "0lld50jlnqgrm66030s6djy1gs5wd29l5l2is6mwqzxm8kypxpx7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG51bWJlciBvZiBub3RpZmljYXRpb25zIGluIHF1ZXVlLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIENvdW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmtyaXphbi9Ob3RpZmljYXRpb25Db3VudGVyIiwKICAidXVpZCI6ICJOb3RpZmljYXRpb25Db3VudGVyQGNvb2xsbHNrIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
@@ -188,7 +189,7 @@
 , {"uuid": "transparent-window-moving@noobsai.github.com", "name": "Transparent Window Moving", "pname": "transparent-window-moving", "description": "Makes the window semi-transparent when moving or resizing", "link": "https://extensions.gnome.org/extension/1446/transparent-window-moving/", "shell_version_map": {"38": {"version": "6", "sha256": "0vllnrscjaqx77wb44803q6n3wk590dxacjfsw7ympbgqhikzc0p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS90cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nQG5vb2JzYWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "9", "sha256": "1da8vldknv6v5b4wdxd9a7q9i4mla92wxj5l48g3ja8xa1rz8bgf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Ob29ic2FpL3RyYW5zcGFyZW50LXdpbmRvdy1tb3ZpbmciLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXdpbmRvdy1tb3ZpbmdAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1da8vldknv6v5b4wdxd9a7q9i4mla92wxj5l48g3ja8xa1rz8bgf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSB3aW5kb3cgc2VtaS10cmFuc3BhcmVudCB3aGVuIG1vdmluZyBvciByZXNpemluZyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiVHJhbnNwYXJlbnQgV2luZG93IE1vdmluZyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50cmFuc3BhcmVudC13aW5kb3ctbW92aW5nIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9Ob29ic2FpL3RyYW5zcGFyZW50LXdpbmRvdy1tb3ZpbmciLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXdpbmRvdy1tb3ZpbmdAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "transparent-window@pbxqdown.github.com", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/1454/transparent-window/", "shell_version_map": {"38": {"version": "7", "sha256": "09nhn8f7d8c1kp8hgw49y0d9165ckvgn6my339k0pzga02d277a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIsCiAgICAiMy4zOC40IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGJ4cWRvd24vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXdpbmRvdyIsCiAgInV1aWQiOiAidHJhbnNwYXJlbnQtd2luZG93QHBieHFkb3duLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "miniview@thesecretaryofwar.com", "name": "Miniview", "pname": "miniview", "description": "Shows a mini preview of another window (like picture-in-picture on a TV)\n- Left-mouse drag: move preview window\n- Right-mouse drag (or ctrl + left mouse drag): resize preview window\n- Scroll wheel: change target window\n- Double click: raise target window\n- Shift + F12: toggle preview window (this can be changed or disabled in preferences)\n- Ctrl + scroll wheel: adjust opacity", "link": "https://extensions.gnome.org/extension/1459/miniview/", "shell_version_map": {"38": {"version": "13", "sha256": "0nf2jxd9kvw7nzb992730xidg7kf4iywy8yr5mj9152bi2nmblz6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbWluaSBwcmV2aWV3IG9mIGFub3RoZXIgd2luZG93IChsaWtlIHBpY3R1cmUtaW4tcGljdHVyZSBvbiBhIFRWKVxuLSBMZWZ0LW1vdXNlIGRyYWc6IG1vdmUgcHJldmlldyB3aW5kb3dcbi0gUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuLSBTY3JvbGwgd2hlZWw6IGNoYW5nZSB0YXJnZXQgd2luZG93XG4tIERvdWJsZSBjbGljazogcmFpc2UgdGFyZ2V0IHdpbmRvd1xuLSBTaGlmdCArIEYxMjogdG9nZ2xlIHByZXZpZXcgd2luZG93ICh0aGlzIGNhbiBiZSBjaGFuZ2VkIG9yIGRpc2FibGVkIGluIHByZWZlcmVuY2VzKVxuLSBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "12", "sha256": "0p26h4dgxja8iww5mjzxzwmr2fx0hz8wphxqal14xm83k1nsl4ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbWluaSBwcmV2aWV3IG9mIGFub3RoZXIgd2luZG93IChsaWtlIHBpY3R1cmUtaW4tcGljdHVyZSBvbiBhIFRWKVxuLSBMZWZ0LW1vdXNlIGRyYWc6IG1vdmUgcHJldmlldyB3aW5kb3dcbi0gUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuLSBTY3JvbGwgd2hlZWw6IGNoYW5nZSB0YXJnZXQgd2luZG93XG4tIERvdWJsZSBjbGljazogcmFpc2UgdGFyZ2V0IHdpbmRvd1xuLSBTaGlmdCArIEYxMjogdG9nZ2xlIHByZXZpZXcgd2luZG93ICh0aGlzIGNhbiBiZSBjaGFuZ2VkIG9yIGRpc2FibGVkIGluIHByZWZlcmVuY2VzKVxuLSBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0p26h4dgxja8iww5mjzxzwmr2fx0hz8wphxqal14xm83k1nsl4ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgbWluaSBwcmV2aWV3IG9mIGFub3RoZXIgd2luZG93IChsaWtlIHBpY3R1cmUtaW4tcGljdHVyZSBvbiBhIFRWKVxuLSBMZWZ0LW1vdXNlIGRyYWc6IG1vdmUgcHJldmlldyB3aW5kb3dcbi0gUmlnaHQtbW91c2UgZHJhZyAob3IgY3RybCArIGxlZnQgbW91c2UgZHJhZyk6IHJlc2l6ZSBwcmV2aWV3IHdpbmRvd1xuLSBTY3JvbGwgd2hlZWw6IGNoYW5nZSB0YXJnZXQgd2luZG93XG4tIERvdWJsZSBjbGljazogcmFpc2UgdGFyZ2V0IHdpbmRvd1xuLSBTaGlmdCArIEYxMjogdG9nZ2xlIHByZXZpZXcgd2luZG93ICh0aGlzIGNhbiBiZSBjaGFuZ2VkIG9yIGRpc2FibGVkIGluIHByZWZlcmVuY2VzKVxuLSBDdHJsICsgc2Nyb2xsIHdoZWVsOiBhZGp1c3Qgb3BhY2l0eSIsCiAgImV4dGVuc2lvbi1pZCI6ICJtaW5pdmlldyIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIk1pbml2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJ0aGVzZWNyZXRhcnlvZndhckBnbWFpbC5jb20iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1pbml2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC5hbHBoYSIsCiAgICAiNDAuYmV0YSIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaWFtbGVtZWMvbWluaXZpZXciLAogICJ1dWlkIjogIm1pbml2aWV3QHRoZXNlY3JldGFyeW9md2FyLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
-, {"uuid": "Vitals@CoreCoding.com", "name": "Vitals", "pname": "vitals", "description": "A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.", "link": "https://extensions.gnome.org/extension/1460/vitals/", "shell_version_map": {"38": {"version": "46", "sha256": "1vmyymqvdwgfkhlkav0yjariis1r708pm08d0d1l1nzl5g20vgyy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jb3JlY29kaW5nL1ZpdGFscyIsCiAgInV1aWQiOiAiVml0YWxzQENvcmVDb2RpbmcuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "40": {"version": "46", "sha256": "1vmyymqvdwgfkhlkav0yjariis1r708pm08d0d1l1nzl5g20vgyy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jb3JlY29kaW5nL1ZpdGFscyIsCiAgInV1aWQiOiAiVml0YWxzQENvcmVDb2RpbmcuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}, "41": {"version": "46", "sha256": "1vmyymqvdwgfkhlkav0yjariis1r708pm08d0d1l1nzl5g20vgyy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jb3JlY29kaW5nL1ZpdGFscyIsCiAgInV1aWQiOiAiVml0YWxzQENvcmVDb2RpbmcuY29tIiwKICAidmVyc2lvbiI6IDQ2Cn0="}}}
+, {"uuid": "Vitals@CoreCoding.com", "name": "Vitals", "pname": "vitals", "description": "A glimpse into your computer's temperature, voltage, fan speed, memory usage, processor load, system resources, network speed and storage stats. This is a one stop shop to monitor all of your vital sensors. Uses asynchronous polling to provide a smooth user experience. Feature requests or bugs? Please use GitHub.", "link": "https://extensions.gnome.org/extension/1460/vitals/", "shell_version_map": {"38": {"version": "48", "sha256": "0nqnvs7zxglwhnrxac6ndjbcxgy7a5kcyyx16y5qpwk7x09y0fwr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"}, "40": {"version": "48", "sha256": "0nqnvs7zxglwhnrxac6ndjbcxgy7a5kcyyx16y5qpwk7x09y0fwr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"}, "41": {"version": "48", "sha256": "0nqnvs7zxglwhnrxac6ndjbcxgy7a5kcyyx16y5qpwk7x09y0fwr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ2xpbXBzZSBpbnRvIHlvdXIgY29tcHV0ZXIncyB0ZW1wZXJhdHVyZSwgdm9sdGFnZSwgZmFuIHNwZWVkLCBtZW1vcnkgdXNhZ2UsIHByb2Nlc3NvciBsb2FkLCBzeXN0ZW0gcmVzb3VyY2VzLCBuZXR3b3JrIHNwZWVkIGFuZCBzdG9yYWdlIHN0YXRzLiBUaGlzIGlzIGEgb25lIHN0b3Agc2hvcCB0byBtb25pdG9yIGFsbCBvZiB5b3VyIHZpdGFsIHNlbnNvcnMuIFVzZXMgYXN5bmNocm9ub3VzIHBvbGxpbmcgdG8gcHJvdmlkZSBhIHNtb290aCB1c2VyIGV4cGVyaWVuY2UuIEZlYXR1cmUgcmVxdWVzdHMgb3IgYnVncz8gUGxlYXNlIHVzZSBHaXRIdWIuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidml0YWxzIiwKICAibmFtZSI6ICJWaXRhbHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudml0YWxzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29yZWNvZGluZy9WaXRhbHMiLAogICJ1dWlkIjogIlZpdGFsc0BDb3JlQ29kaW5nLmNvbSIsCiAgInZlcnNpb24iOiA0OAp9"}}}
 , {"uuid": "panel-date-format@keiii.github.com", "name": "Panel Date Format", "pname": "panel-date-format", "description": "Allows to customize the date format on the panel.", "link": "https://extensions.gnome.org/extension/1462/panel-date-format/", "shell_version_map": {"40": {"version": "4", "sha256": "0138as8506ql2k4v0y0qp66zbgqxxmb0g4ymcjkxyi4w9lmp9pym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9LRUlJSS9nbm9tZS1zaGVsbC1wYW5lbC1kYXRlLWZvcm1hdCIsCiAgInV1aWQiOiAicGFuZWwtZGF0ZS1mb3JtYXRAa2VpaWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "0138as8506ql2k4v0y0qp66zbgqxxmb0g4ymcjkxyi4w9lmp9pym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB0byBjdXN0b21pemUgdGhlIGRhdGUgZm9ybWF0IG9uIHRoZSBwYW5lbC4iLAogICJuYW1lIjogIlBhbmVsIERhdGUgRm9ybWF0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWRhdGUtZm9ybWF0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9LRUlJSS9nbm9tZS1zaGVsbC1wYW5lbC1kYXRlLWZvcm1hdCIsCiAgInV1aWQiOiAicGFuZWwtZGF0ZS1mb3JtYXRAa2VpaWkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "desktop-icons@csoriano", "name": "Desktop Icons", "pname": "desktop-icons", "description": "Add icons to the desktop", "link": "https://extensions.gnome.org/extension/1465/desktop-icons/", "shell_version_map": {"38": {"version": "19", "sha256": "01qdh1kigl3ck1mzgha1a9218lpam5b54ai72mpvr64gkaax2mcv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBpY29ucyB0byB0aGUgZGVza3RvcCIsCiAgIm5hbWUiOiAiRGVza3RvcCBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvV29ybGQvU2hlbGxFeHRlbnNpb25zL2Rlc2t0b3AtaWNvbnMiLAogICJ1dWlkIjogImRlc2t0b3AtaWNvbnNAY3Nvcmlhbm8iLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "fullbattery@categulario.tk", "name": "Full Battery indicator", "pname": "full-battery-indicator", "description": "Notifies when battery is full", "link": "https://extensions.gnome.org/extension/1466/full-battery-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "167d84phf68fi5bg9fvm4l7l8jq7k86a80adm0l56ngqygxqsyy8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWVzIHdoZW4gYmF0dGVyeSBpcyBmdWxsIiwKICAibmFtZSI6ICJGdWxsIEJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjMyIiwKICAgICIzLjI4LjMiLAogICAgIjMuMzQuNCIsCiAgICAiMy4zNi4wIiwKICAgICIzLjM4IiwKICAgICI0MC4zIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY2F0ZWd1bGFyaW8vZnVsbC1iYXR0ZXJ5LWdub21lLXNoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiZnVsbGJhdHRlcnlAY2F0ZWd1bGFyaW8udGsiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -199,17 +200,17 @@
 , {"uuid": "wsmatrix@martin.zurowietz.de", "name": "Workspace Matrix", "pname": "workspace-matrix", "description": "Arrange workspaces in a two dimensional grid with workspace thumbnails.", "link": "https://extensions.gnome.org/extension/1485/workspace-matrix/", "shell_version_map": {"38": {"version": "27", "sha256": "0b76x0li5a8x42l67ykbw34k4cfmbxqvz36zighhfw4qmxsc36cr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9tenVyL2dub21lLXNoZWxsLXdzbWF0cml4IiwKICAidXVpZCI6ICJ3c21hdHJpeEBtYXJ0aW4uenVyb3dpZXR6LmRlIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "1pfq2sgz3h97xyqnxjzzjij3abd6132xjibhl2y3423ylwqg5xf8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd29ya3NwYWNlcyBpbiBhIHR3byBkaW1lbnNpb25hbCBncmlkIHdpdGggd29ya3NwYWNlIHRodW1ibmFpbHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid3NtYXRyaXgiLAogICJrZXliaW5kaW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgta2V5YmluZGluZ3MiLAogICJuYW1lIjogIldvcmtzcGFjZSBNYXRyaXgiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMud3NtYXRyaXgtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL216dXIvZ25vbWUtc2hlbGwtd3NtYXRyaXgiLAogICJ1dWlkIjogIndzbWF0cml4QG1hcnRpbi56dXJvd2lldHouZGUiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
 , {"uuid": "extensions-sync@elhan.io", "name": "Extensions Sync", "pname": "extensions-sync", "description": "Sync all extensions and their configurations across all gnome instances", "link": "https://extensions.gnome.org/extension/1486/extensions-sync/", "shell_version_map": {"38": {"version": "12", "sha256": "0yb0brjnqvvlqpdyh841qwh3q2d02vi1an0s93gb2b6kagy1g7zd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb2FlL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtc3luYyIsCiAgInV1aWQiOiAiZXh0ZW5zaW9ucy1zeW5jQGVsaGFuLmlvIiwKICAidmVyc2lvbiI6IDEyCn0="}, "40": {"version": "16", "sha256": "1bl8la3yg94mmzqh28n47kznaaivfbnxm3dwb71ddsr6gaf3n5p2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vYWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1zeW5jIiwKICAidXVpZCI6ICJleHRlbnNpb25zLXN5bmNAZWxoYW4uaW8iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1bl8la3yg94mmzqh28n47kznaaivfbnxm3dwb71ddsr6gaf3n5p2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN5bmMgYWxsIGV4dGVuc2lvbnMgYW5kIHRoZWlyIGNvbmZpZ3VyYXRpb25zIGFjcm9zcyBhbGwgZ25vbWUgaW5zdGFuY2VzIiwKICAibmFtZSI6ICJFeHRlbnNpb25zIFN5bmMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXh0ZW5zaW9ucy1zeW5jIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9vYWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1zeW5jIiwKICAidXVpZCI6ICJleHRlbnNpb25zLXN5bmNAZWxoYW4uaW8iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
 , {"uuid": "containers@royg", "name": "Containers", "pname": "containers", "description": "Manage podman containers through a gnome-shell menu", "link": "https://extensions.gnome.org/extension/1500/containers/", "shell_version_map": {"40": {"version": "19", "sha256": "16z5978jwpf6cbasnfdi5w8s9dx929r8yh7a4dsrd5isnrnyi22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBwb2RtYW4gY29udGFpbmVycyB0aHJvdWdoIGEgZ25vbWUtc2hlbGwgbWVudSIsCiAgIm5hbWUiOiAiQ29udGFpbmVycyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmdvbGFuZ2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbnRhaW5lcnMiLAogICJ1dWlkIjogImNvbnRhaW5lcnNAcm95ZyIsCiAgInZlcnNpb24iOiAxOQp9"}, "41": {"version": "19", "sha256": "16z5978jwpf6cbasnfdi5w8s9dx929r8yh7a4dsrd5isnrnyi22x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBwb2RtYW4gY29udGFpbmVycyB0aHJvdWdoIGEgZ25vbWUtc2hlbGwgbWVudSIsCiAgIm5hbWUiOiAiQ29udGFpbmVycyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmdvbGFuZ2gvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNvbnRhaW5lcnMiLAogICJ1dWlkIjogImNvbnRhaW5lcnNAcm95ZyIsCiAgInZlcnNpb24iOiAxOQp9"}}}
-, {"uuid": "fullscreenworkspace@satran.in", "name": "Fullscreen On New Workspace", "pname": "fullscreen-on-new-workspace", "description": "Move window to a new workspace when you maximize or make it fullscreen.", "link": "https://extensions.gnome.org/extension/1502/fullscreen-on-new-workspace/", "shell_version_map": {"38": {"version": "5", "sha256": "1qqi4rhlfdwys1h0hhrwry86kzh3mv63axrsqhjpmhp9q4qsiib7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1qqi4rhlfdwys1h0hhrwry86kzh3mv63axrsqhjpmhp9q4qsiib7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1qqi4rhlfdwys1h0hhrwry86kzh3mv63axrsqhjpmhp9q4qsiib7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "fullscreenworkspace@satran.in", "name": "Fullscreen On New Workspace", "pname": "fullscreen-on-new-workspace", "description": "Move window to a new workspace when you maximize or make it fullscreen.", "link": "https://extensions.gnome.org/extension/1502/fullscreen-on-new-workspace/", "shell_version_map": {"38": {"version": "6", "sha256": "1lyfn0p9djdkmhaxj9f95jf6iknb688d81ls3ycf667i4jk5qnrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1lyfn0p9djdkmhaxj9f95jf6iknb688d81ls3ycf667i4jk5qnrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1lyfn0p9djdkmhaxj9f95jf6iknb688d81ls3ycf667i4jk5qnrq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd2luZG93IHRvIGEgbmV3IHdvcmtzcGFjZSB3aGVuIHlvdSBtYXhpbWl6ZSBvciBtYWtlIGl0IGZ1bGxzY3JlZW4uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnVsbHNjcmVlbndvcmtzcGFjZSIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBPbiBOZXcgV29ya3NwYWNlIiwKICAic2NoZW1hLWlkIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW53b3Jrc3BhY2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NhdHJhbi9mdWxsc2NyZWVud29ya3NwYWNlLXNhdHJhbi5pbiIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbndvcmtzcGFjZUBzYXRyYW4uaW4iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "tray-icons@zhangkaizhao.com", "name": "Tray Icons", "pname": "tray-icons", "description": "Tray icons", "link": "https://extensions.gnome.org/extension/1503/tray-icons/", "shell_version_map": {"38": {"version": "6", "sha256": "0q5kk8yp7cg61d4hcimrxrghsq7v8qaxjbmzvkj5apbg4cmz3s7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgaWNvbnMiLAogICJuYW1lIjogIlRyYXkgSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5na2Fpemhhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJheS1pY29ucyIsCiAgInV1aWQiOiAidHJheS1pY29uc0B6aGFuZ2thaXpoYW8uY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0q5kk8yp7cg61d4hcimrxrghsq7v8qaxjbmzvkj5apbg4cmz3s7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgaWNvbnMiLAogICJuYW1lIjogIlRyYXkgSWNvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3poYW5na2Fpemhhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJheS1pY29ucyIsCiAgInV1aWQiOiAidHJheS1pY29uc0B6aGFuZ2thaXpoYW8uY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "new-mail-indicator@fthx", "name": "New Mail Indicator", "pname": "new-mail-indicator", "description": "An icon beside the date in the topbar to show if there are unread emails when running your default email client.\n\n It checks the notifications in the message tray related to a new mail, no extra configuration needed, very light extension. Click on the icon does toggle your email client window.*** Do not disable the notifications of your default email client! *** It is not a standalone mail checker, you need your email client to be running. *** Please check that the xdg-utils package is installed.\n\n Email clients verified at the moment are: Thunderbird, Evolution, Geary, Mailspring. Please ask to add the client, including special packaging (snap/flatpak), that you need. If you report an error, please provide at least the distribution and the email client you use through the GitHub link.\n\n For persistent notifications only, see: https://extensions.gnome.org/extension/3951/persistent-email-notifications .", "link": "https://extensions.gnome.org/extension/1505/new-mail-indicator/", "shell_version_map": {"38": {"version": "33", "sha256": "1azppcny8f70ish2p1gzmyf0dy4ycj5x8ccwb1c73m452ac561vm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L25ldy1tYWlsLWluZGljYXRvciIsCiAgInV1aWQiOiAibmV3LW1haWwtaW5kaWNhdG9yQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "40": {"version": "33", "sha256": "1azppcny8f70ish2p1gzmyf0dy4ycj5x8ccwb1c73m452ac561vm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L25ldy1tYWlsLWluZGljYXRvciIsCiAgInV1aWQiOiAibmV3LW1haWwtaW5kaWNhdG9yQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}, "41": {"version": "33", "sha256": "1azppcny8f70ish2p1gzmyf0dy4ycj5x8ccwb1c73m452ac561vm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGljb24gYmVzaWRlIHRoZSBkYXRlIGluIHRoZSB0b3BiYXIgdG8gc2hvdyBpZiB0aGVyZSBhcmUgdW5yZWFkIGVtYWlscyB3aGVuIHJ1bm5pbmcgeW91ciBkZWZhdWx0IGVtYWlsIGNsaWVudC5cblxuIEl0IGNoZWNrcyB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbWVzc2FnZSB0cmF5IHJlbGF0ZWQgdG8gYSBuZXcgbWFpbCwgbm8gZXh0cmEgY29uZmlndXJhdGlvbiBuZWVkZWQsIHZlcnkgbGlnaHQgZXh0ZW5zaW9uLiBDbGljayBvbiB0aGUgaWNvbiBkb2VzIHRvZ2dsZSB5b3VyIGVtYWlsIGNsaWVudCB3aW5kb3cuKioqIERvIG5vdCBkaXNhYmxlIHRoZSBub3RpZmljYXRpb25zIG9mIHlvdXIgZGVmYXVsdCBlbWFpbCBjbGllbnQhICoqKiBJdCBpcyBub3QgYSBzdGFuZGFsb25lIG1haWwgY2hlY2tlciwgeW91IG5lZWQgeW91ciBlbWFpbCBjbGllbnQgdG8gYmUgcnVubmluZy4gKioqIFBsZWFzZSBjaGVjayB0aGF0IHRoZSB4ZGctdXRpbHMgcGFja2FnZSBpcyBpbnN0YWxsZWQuXG5cbiBFbWFpbCBjbGllbnRzIHZlcmlmaWVkIGF0IHRoZSBtb21lbnQgYXJlOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZy4gUGxlYXNlIGFzayB0byBhZGQgdGhlIGNsaWVudCwgaW5jbHVkaW5nIHNwZWNpYWwgcGFja2FnaW5nIChzbmFwL2ZsYXRwYWspLCB0aGF0IHlvdSBuZWVkLiBJZiB5b3UgcmVwb3J0IGFuIGVycm9yLCBwbGVhc2UgcHJvdmlkZSBhdCBsZWFzdCB0aGUgZGlzdHJpYnV0aW9uIGFuZCB0aGUgZW1haWwgY2xpZW50IHlvdSB1c2UgdGhyb3VnaCB0aGUgR2l0SHViIGxpbmsuXG5cbiBGb3IgcGVyc2lzdGVudCBub3RpZmljYXRpb25zIG9ubHksIHNlZTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzk1MS9wZXJzaXN0ZW50LWVtYWlsLW5vdGlmaWNhdGlvbnMgLiIsCiAgIm5hbWUiOiAiTmV3IE1haWwgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L25ldy1tYWlsLWluZGljYXRvciIsCiAgInV1aWQiOiAibmV3LW1haWwtaW5kaWNhdG9yQGZ0aHgiLAogICJ2ZXJzaW9uIjogMzMKfQ=="}}}
 , {"uuid": "drop-down-terminal-x@bigbn.pro", "name": "Drop Down Terminal X", "pname": "drop-down-terminal-x", "description": "THIS EXTENSION IS NO LONGER SUPPORTED.\n\nIf you are looking for an alternative please look at that https://extensions.gnome.org/extension/3780/ddterm \nawesome extension.\n\nA GNOME Shell drop down terminal with extra feautures.\n \nSpecial thanks to:\n- Osman Alperen Elhan (https://github.com/oae)\n- Balder Claassen (https://github.com/balderclaassen)\n- Adrien Pyke (https://github.com/kufii)\n- Alan J Carvajal (https://github.com/ajcarvajal)\n- Massimo Mund (https://github.com/masmu)\n- Jakub Żywiec (https://github.com/jakubzet)\n- Mattias Eriksson (https://github.com/snaggen)\n- Henry78 (https://github.com/Henry78)\n- Maxim Toropov (https://github.com/MaxMaxoff)\nfor active contribution.\n\nBased on original extension \"gs-extensions-drop-down-terminal\" from Stéphane Démurget (https://github.com/zzrough)", "link": "https://extensions.gnome.org/extension/1509/drop-down-terminal-x/", "shell_version_map": {"38": {"version": "17", "sha256": "1k90g6bndw1xr56k7lwlxyw89aqbl47spkfmj1lq224z83w6hzdw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRISVMgRVhURU5TSU9OIElTIE5PIExPTkdFUiBTVVBQT1JURUQuXG5cbklmIHlvdSBhcmUgbG9va2luZyBmb3IgYW4gYWx0ZXJuYXRpdmUgcGxlYXNlIGxvb2sgYXQgdGhhdCBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zNzgwL2RkdGVybSBcbmF3ZXNvbWUgZXh0ZW5zaW9uLlxuXG5BIEdOT01FIFNoZWxsIGRyb3AgZG93biB0ZXJtaW5hbCB3aXRoIGV4dHJhIGZlYXV0dXJlcy5cbiBcblNwZWNpYWwgdGhhbmtzIHRvOlxuLSBPc21hbiBBbHBlcmVuIEVsaGFuIChodHRwczovL2dpdGh1Yi5jb20vb2FlKVxuLSBCYWxkZXIgQ2xhYXNzZW4gKGh0dHBzOi8vZ2l0aHViLmNvbS9iYWxkZXJjbGFhc3Nlbilcbi0gQWRyaWVuIFB5a2UgKGh0dHBzOi8vZ2l0aHViLmNvbS9rdWZpaSlcbi0gQWxhbiBKIENhcnZhamFsIChodHRwczovL2dpdGh1Yi5jb20vYWpjYXJ2YWphbClcbi0gTWFzc2ltbyBNdW5kIChodHRwczovL2dpdGh1Yi5jb20vbWFzbXUpXG4tIEpha3ViIFx1MDE3Ynl3aWVjIChodHRwczovL2dpdGh1Yi5jb20vamFrdWJ6ZXQpXG4tIE1hdHRpYXMgRXJpa3Nzb24gKGh0dHBzOi8vZ2l0aHViLmNvbS9zbmFnZ2VuKVxuLSBIZW5yeTc4IChodHRwczovL2dpdGh1Yi5jb20vSGVucnk3OClcbi0gTWF4aW0gVG9yb3BvdiAoaHR0cHM6Ly9naXRodWIuY29tL01heE1heG9mZilcbmZvciBhY3RpdmUgY29udHJpYnV0aW9uLlxuXG5CYXNlZCBvbiBvcmlnaW5hbCBleHRlbnNpb24gXCJncy1leHRlbnNpb25zLWRyb3AtZG93bi10ZXJtaW5hbFwiIGZyb20gU3RcdTAwZTlwaGFuZSBEXHUwMGU5bXVyZ2V0IChodHRwczovL2dpdGh1Yi5jb20venpyb3VnaCkiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkcm9wLWRvd24tdGVybWluYWwteCIsCiAgImlkIjogImRyb3AtZG93bi10ZXJtaW5hbC14IiwKICAibmFtZSI6ICJEcm9wIERvd24gVGVybWluYWwgWCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4wIiwKICAgICIzLjI4LjEiLAogICAgIjMuMjguMiIsCiAgICAiMy4zMC4wIiwKICAgICIzLjMwLjEiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zMi4wIiwKICAgICIzLjMyLjEiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zNC4wIiwKICAgICIzLjM0LjQiLAogICAgIjMuMzYuMCIsCiAgICAiMy4zNi4xIiwKICAgICIzLjM2LjIiLAogICAgIjMuMzguMCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JpZ2JuL2dzLWV4dGVuc2lvbnMtZHJvcC1kb3duLXRlcm1pbmFsIiwKICAidXVpZCI6ICJkcm9wLWRvd24tdGVybWluYWwteEBiaWdibi5wcm8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
-, {"uuid": "Rounded_Corners@lennart-k", "name": "Rounded Corners", "pname": "rounded-corners", "description": "Creates rounded corners for every monitor", "link": "https://extensions.gnome.org/extension/1514/rounded-corners/", "shell_version_map": {"38": {"version": "5", "sha256": "1lli47bjlrr5g3548jjvvvbbml6g0sg5mm6py9j7kjcgg84sscnc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGVubmFydC1rL2dub21lLXJvdW5kZWQtY29ybmVycyIsCiAgInV1aWQiOiAiUm91bmRlZF9Db3JuZXJzQGxlbm5hcnQtayIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1lli47bjlrr5g3548jjvvvbbml6g0sg5mm6py9j7kjcgg84sscnc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGVubmFydC1rL2dub21lLXJvdW5kZWQtY29ybmVycyIsCiAgInV1aWQiOiAiUm91bmRlZF9Db3JuZXJzQGxlbm5hcnQtayIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "Rounded_Corners@lennart-k", "name": "Rounded Corners", "pname": "rounded-corners", "description": "Creates rounded corners for every monitor", "link": "https://extensions.gnome.org/extension/1514/rounded-corners/", "shell_version_map": {"38": {"version": "5", "sha256": "1lli47bjlrr5g3548jjvvvbbml6g0sg5mm6py9j7kjcgg84sscnc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGVubmFydC1rL2dub21lLXJvdW5kZWQtY29ybmVycyIsCiAgInV1aWQiOiAiUm91bmRlZF9Db3JuZXJzQGxlbm5hcnQtayIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "7", "sha256": "11accb4w8cx3gfrrs2x15h53arjkpqk566cp24c3k32alvqx1jgs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xlbm5hcnQtay9nbm9tZS1yb3VuZGVkLWNvcm5lcnMiLAogICJ1dWlkIjogIlJvdW5kZWRfQ29ybmVyc0BsZW5uYXJ0LWsiLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "11accb4w8cx3gfrrs2x15h53arjkpqk566cp24c3k32alvqx1jgs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgcm91bmRlZCBjb3JuZXJzIGZvciBldmVyeSBtb25pdG9yIiwKICAibmFtZSI6ICJSb3VuZGVkIENvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xlbm5hcnQtay9nbm9tZS1yb3VuZGVkLWNvcm5lcnMiLAogICJ1dWlkIjogIlJvdW5kZWRfQ29ybmVyc0BsZW5uYXJ0LWsiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "scrovol@andyholmes.github.io", "name": "Scrovol", "pname": "scrovol", "description": "Change the volume by scrolling anywhere on the System Tray.\n\nWith this extension, you can scroll over Night Light, WiFi, Volume, Battery or any other icon in the system status tray to change the volume, instead of just the Volume icon.", "link": "https://extensions.gnome.org/extension/1519/scrovol/", "shell_version_map": {"40": {"version": "4", "sha256": "1md52ygz481nvhq00bkq2ymby7f647cfvw4wx1wqkwp7b796d59c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgdm9sdW1lIGJ5IHNjcm9sbGluZyBhbnl3aGVyZSBvbiB0aGUgU3lzdGVtIFRyYXkuXG5cbldpdGggdGhpcyBleHRlbnNpb24sIHlvdSBjYW4gc2Nyb2xsIG92ZXIgTmlnaHQgTGlnaHQsIFdpRmksIFZvbHVtZSwgQmF0dGVyeSBvciBhbnkgb3RoZXIgaWNvbiBpbiB0aGUgc3lzdGVtIHN0YXR1cyB0cmF5IHRvIGNoYW5nZSB0aGUgdm9sdW1lLCBpbnN0ZWFkIG9mIGp1c3QgdGhlIFZvbHVtZSBpY29uLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJzY3Jvdm9sIiwKICAibmFtZSI6ICJTY3Jvdm9sIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYW5keWhvbG1lcy9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2Nyb3ZvbC8iLAogICJ1dWlkIjogInNjcm92b2xAYW5keWhvbG1lcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "notification-center@Selenium-H", "name": "Notification Center", "pname": "notification-centerselenium-h", "description": "Detach notification center to top panel and customizations.Please reset the extension after updating.\nThe Extension will stop when upgraded to an incompatible version.\nIn that case an Update tab is created to easily reset the extension.\nA Reset button is also always present in Preferences option in the Top Right Application menu of the extension preferences window.", "link": "https://extensions.gnome.org/extension/1526/notification-centerselenium-h/", "shell_version_map": {"38": {"version": "24", "sha256": "1449kl7fss2fyj1ks8ra3qy60jvn5fcl1iyv813s8vdkkp5dv8a2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiRGV0YWNoIG5vdGlmaWNhdGlvbiBjZW50ZXIgdG8gdG9wIHBhbmVsIGFuZCBjdXN0b21pemF0aW9ucy4iLAogICJkZXNjcmlwdGlvbiI6ICJEZXRhY2ggbm90aWZpY2F0aW9uIGNlbnRlciB0byB0b3AgcGFuZWwgYW5kIGN1c3RvbWl6YXRpb25zLlBsZWFzZSByZXNldCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0aW5nLlxuVGhlIEV4dGVuc2lvbiB3aWxsIHN0b3Agd2hlbiB1cGdyYWRlZCB0byBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbi5cbkluIHRoYXQgY2FzZSBhbiBVcGRhdGUgdGFiIGlzIGNyZWF0ZWQgdG8gZWFzaWx5IHJlc2V0IHRoZSBleHRlbnNpb24uXG5BIFJlc2V0IGJ1dHRvbiBpcyBhbHNvIGFsd2F5cyBwcmVzZW50IGluIFByZWZlcmVuY2VzIG9wdGlvbiBpbiB0aGUgVG9wIFJpZ2h0IEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gQ2VudGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGlmaWNhdGlvbi1jZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvTm90aWZpY2F0aW9uLUNlbnRlciIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWNlbnRlckBTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "40": {"version": "24", "sha256": "1449kl7fss2fyj1ks8ra3qy60jvn5fcl1iyv813s8vdkkp5dv8a2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiRGV0YWNoIG5vdGlmaWNhdGlvbiBjZW50ZXIgdG8gdG9wIHBhbmVsIGFuZCBjdXN0b21pemF0aW9ucy4iLAogICJkZXNjcmlwdGlvbiI6ICJEZXRhY2ggbm90aWZpY2F0aW9uIGNlbnRlciB0byB0b3AgcGFuZWwgYW5kIGN1c3RvbWl6YXRpb25zLlBsZWFzZSByZXNldCB0aGUgZXh0ZW5zaW9uIGFmdGVyIHVwZGF0aW5nLlxuVGhlIEV4dGVuc2lvbiB3aWxsIHN0b3Agd2hlbiB1cGdyYWRlZCB0byBhbiBpbmNvbXBhdGlibGUgdmVyc2lvbi5cbkluIHRoYXQgY2FzZSBhbiBVcGRhdGUgdGFiIGlzIGNyZWF0ZWQgdG8gZWFzaWx5IHJlc2V0IHRoZSBleHRlbnNpb24uXG5BIFJlc2V0IGJ1dHRvbiBpcyBhbHNvIGFsd2F5cyBwcmVzZW50IGluIFByZWZlcmVuY2VzIG9wdGlvbiBpbiB0aGUgVG9wIFJpZ2h0IEFwcGxpY2F0aW9uIG1lbnUgb2YgdGhlIGV4dGVuc2lvbiBwcmVmZXJlbmNlcyB3aW5kb3cuIiwKICAibmFtZSI6ICJOb3RpZmljYXRpb24gQ2VudGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm5vdGlmaWNhdGlvbi1jZW50ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInN0YXR1cyI6ICIiLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NlbGVuaXVtLUgvTm90aWZpY2F0aW9uLUNlbnRlciIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLWNlbnRlckBTZWxlbml1bS1IIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
 , {"uuid": "lockkeys@fawtytoo", "name": "Lock Keys", "pname": "lock-keys", "description": "Numlock and Capslock status on the panel. Icons are auto hidden. Simplified with no menus, notifications or settings.\n\nWayland is only supported for Gnome Shell 3.38.", "link": "https://extensions.gnome.org/extension/1532/lock-keys/", "shell_version_map": {"38": {"version": "13", "sha256": "0a444cxwnbgp45w84lq4x3b81kx0vldiixsc2kh3mijqh3rca9vr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHbm9tZSBTaGVsbCAzLjM4LiIsCiAgIm5hbWUiOiAiTG9jayBLZXlzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTdGV2ZSBDbGFyaywgS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImxvY2trZXlzQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEzCn0="}, "40": {"version": "13", "sha256": "0a444cxwnbgp45w84lq4x3b81kx0vldiixsc2kh3mijqh3rca9vr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHbm9tZSBTaGVsbCAzLjM4LiIsCiAgIm5hbWUiOiAiTG9jayBLZXlzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTdGV2ZSBDbGFyaywgS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImxvY2trZXlzQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEzCn0="}, "41": {"version": "13", "sha256": "0a444cxwnbgp45w84lq4x3b81kx0vldiixsc2kh3mijqh3rca9vr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk51bWxvY2sgYW5kIENhcHNsb2NrIHN0YXR1cyBvbiB0aGUgcGFuZWwuIEljb25zIGFyZSBhdXRvIGhpZGRlbi4gU2ltcGxpZmllZCB3aXRoIG5vIG1lbnVzLCBub3RpZmljYXRpb25zIG9yIHNldHRpbmdzLlxuXG5XYXlsYW5kIGlzIG9ubHkgc3VwcG9ydGVkIGZvciBHbm9tZSBTaGVsbCAzLjM4LiIsCiAgIm5hbWUiOiAiTG9jayBLZXlzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTdGV2ZSBDbGFyaywgS2F6aW1pZXJhcyBWYWluYSwgUGllcnJlIE9zc21hbiwgZXJndWlsbGUsIGpvbm5pdXMsIFBoaWxpcHAgV29sZmVyLCBNYXJpdXN6IExpc293c2tpLCBDcmlzdGlhbiBCZXJvaXphLCB3YXJtc3VuMDIyMCwgUmFzbXVzIEthaiwgUGFibG8gTWFydGluLUdvbWV6IEJvdXNrYSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogImxvY2trZXlzQGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDEzCn0="}}}
 , {"uuid": "LetItSnow@mateusz.banaszek.op.pl", "name": "Let it snow", "pname": "let-it-snow", "description": "Bring winter to your desktop: unicode snowflakes falling on your screens.\n\nFeatures:\n- snow doesn't fall over currently active window\n- use slider to choose how much snow you want\n- works with multiple monitors\n\nInspired by gsnow (https://extensions.gnome.org/extension/1156/gsnow/).", "link": "https://extensions.gnome.org/extension/1547/let-it-snow/", "shell_version_map": {"38": {"version": "5", "sha256": "07znrbba154277lxx1bvidn4kz5bgkxpgy7rv3sm472qdbsljl35", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIHdpbnRlciB0byB5b3VyIGRlc2t0b3A6IHVuaWNvZGUgc25vd2ZsYWtlcyBmYWxsaW5nIG9uIHlvdXIgc2NyZWVucy5cblxuRmVhdHVyZXM6XG4tIHNub3cgZG9lc24ndCBmYWxsIG92ZXIgY3VycmVudGx5IGFjdGl2ZSB3aW5kb3dcbi0gdXNlIHNsaWRlciB0byBjaG9vc2UgaG93IG11Y2ggc25vdyB5b3Ugd2FudFxuLSB3b3JrcyB3aXRoIG11bHRpcGxlIG1vbml0b3JzXG5cbkluc3BpcmVkIGJ5IGdzbm93IChodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTU2L2dzbm93LykuIiwKICAibmFtZSI6ICJMZXQgaXQgc25vdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9iaXRidWNrZXQub3JnL21hdGJhbi9sZXQtaXQtc25vdyIsCiAgInV1aWQiOiAiTGV0SXRTbm93QG1hdGV1c3ouYmFuYXN6ZWsub3AucGwiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "fullscreen-hot-corner@sorrow.about.alice.pm.me", "name": "Fullscreen Hot Corner", "pname": "fullscreen-hot-corner", "description": "Enables hot corner in fullscreen mode", "link": "https://extensions.gnome.org/extension/1562/fullscreen-hot-corner/", "shell_version_map": {"38": {"version": "6", "sha256": "1lcpw06aqja4q7qqfvds5nv2zvzrjh56lymj1al4kiql92gbwzp1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZnVsbHNjcmVlbi1ob3QtY29ybmVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWhvdC1jb3JuZXJAc29ycm93LmFib3V0LmFsaWNlLnBtLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "9", "sha256": "0zx11gpacjd259cxd80ggffixpyqprvzcx1971ysvm7jrayrm058", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc29hbC9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckBzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "0zx11gpacjd259cxd80ggffixpyqprvzcx1971ysvm7jrayrm058", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgaG90IGNvcm5lciBpbiBmdWxsc2NyZWVuIG1vZGUiLAogICJuYW1lIjogIkZ1bGxzY3JlZW4gSG90IENvcm5lciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc29hbC9nbm9tZS1zaGVsbC1mdWxsc2NyZWVuLWhvdC1jb3JuZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4taG90LWNvcm5lckBzb3Jyb3cuYWJvdXQuYWxpY2UucG0ubWUiLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "worksets@blipk.xyz", "name": "Customised Workspaces", "pname": "worksets", "description": "Customised Workspaces enables creating isolated and customised workspaces.\n\n* Customise the dash to be unique for each workspace, each with their own favourites\n* Only show running applications on the dash in their respective workspace\n* Choose a custom background image for each workspace\n* Minor UI tweaks to the overview workspaces\n* Save each customisation, set them to autoload on specific workspaces\n* Hide the extension once you've configured your preferences to enjoy seamlessly upgraded workspaces in gnome shell\n\nCompatible for use with any of these extensions to complete your workspace upgrade:\n\n* Dash to Panel - https://extensions.gnome.org/extension/1160/dash-to-panel/\n* Dash to Dock - https://extensions.gnome.org/extension/307/dash-to-dock/\n* Auto Move Windows - https://extensions.gnome.org/extension/16/auto-move-windows/\n* Vertical Overview - https://github.com/RensAlthuis/vertical-overview", "link": "https://extensions.gnome.org/extension/1583/worksets/", "shell_version_map": {"38": {"version": "30", "sha256": "0mjah9nx66caqmfbz8wrvg6iyhxp7jmbgwx1gnp8k2a2z536n1iw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDMwCn0="}, "40": {"version": "42", "sha256": "01cq0904ki57ymsil1s5d1m0r3rzm082z02c43arw0am6q9fnbar", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDIKfQ=="}, "41": {"version": "42", "sha256": "01cq0904ki57ymsil1s5d1m0r3rzm082z02c43arw0am6q9fnbar", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDIKfQ=="}}}
+, {"uuid": "worksets@blipk.xyz", "name": "Customised Workspaces", "pname": "worksets", "description": "Customised Workspaces enables creating isolated and customised workspaces.\n\n* Customise the dash to be unique for each workspace, each with their own favourites\n* Only show running applications on the dash in their respective workspace\n* Choose a custom background image for each workspace\n* Minor UI tweaks to the overview workspaces\n* Save each customisation, set them to autoload on specific workspaces\n* Hide the extension once you've configured your preferences to enjoy seamlessly upgraded workspaces in gnome shell\n\nCompatible for use with any of these extensions to complete your workspace upgrade:\n\n* Dash to Panel - https://extensions.gnome.org/extension/1160/dash-to-panel/\n* Dash to Dock - https://extensions.gnome.org/extension/307/dash-to-dock/\n* Auto Move Windows - https://extensions.gnome.org/extension/16/auto-move-windows/\n* Vertical Overview - https://github.com/RensAlthuis/vertical-overview", "link": "https://extensions.gnome.org/extension/1583/worksets/", "shell_version_map": {"38": {"version": "30", "sha256": "0mjah9nx66caqmfbz8wrvg6iyhxp7jmbgwx1gnp8k2a2z536n1iw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYWRtaW5Aa3Jvbm9zb3VsLnh5eiIsCiAgInJlc291cmNlLXBhdGgiOiAiL29yZy9rcm9ub3NvdWwvd29ya3NldHMvIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvd29ya3NldHMvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzZXRzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL0N1c3RvbWlzZWQtV29ya3NwYWNlcyIsCiAgInV1aWQiOiAid29ya3NldHNAYmxpcGsueHl6IiwKICAidmVyc2lvbiI6IDMwCn0="}, "40": {"version": "43", "sha256": "0crrciyngn4jb005hb2dl9pmyd5j4n5spladk395czwi9h4df7l4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}, "41": {"version": "43", "sha256": "0crrciyngn4jb005hb2dl9pmyd5j4n5spladk395czwi9h4df7l4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwud29ya3NldHMiLAogICJkZXNjcmlwdGlvbiI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMgZW5hYmxlcyBjcmVhdGluZyBpc29sYXRlZCBhbmQgY3VzdG9taXNlZCB3b3Jrc3BhY2VzLlxuXG4qIEN1c3RvbWlzZSB0aGUgZGFzaCB0byBiZSB1bmlxdWUgZm9yIGVhY2ggd29ya3NwYWNlLCBlYWNoIHdpdGggdGhlaXIgb3duIGZhdm91cml0ZXNcbiogT25seSBzaG93IHJ1bm5pbmcgYXBwbGljYXRpb25zIG9uIHRoZSBkYXNoIGluIHRoZWlyIHJlc3BlY3RpdmUgd29ya3NwYWNlXG4qIENob29zZSBhIGN1c3RvbSBiYWNrZ3JvdW5kIGltYWdlIGZvciBlYWNoIHdvcmtzcGFjZVxuKiBNaW5vciBVSSB0d2Vha3MgdG8gdGhlIG92ZXJ2aWV3IHdvcmtzcGFjZXNcbiogU2F2ZSBlYWNoIGN1c3RvbWlzYXRpb24sIHNldCB0aGVtIHRvIGF1dG9sb2FkIG9uIHNwZWNpZmljIHdvcmtzcGFjZXNcbiogSGlkZSB0aGUgZXh0ZW5zaW9uIG9uY2UgeW91J3ZlIGNvbmZpZ3VyZWQgeW91ciBwcmVmZXJlbmNlcyB0byBlbmpveSBzZWFtbGVzc2x5IHVwZ3JhZGVkIHdvcmtzcGFjZXMgaW4gZ25vbWUgc2hlbGxcblxuQ29tcGF0aWJsZSBmb3IgdXNlIHdpdGggYW55IG9mIHRoZXNlIGV4dGVuc2lvbnMgdG8gY29tcGxldGUgeW91ciB3b3Jrc3BhY2UgdXBncmFkZTpcblxuKiBEYXNoIHRvIFBhbmVsIC0gaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTE2MC9kYXNoLXRvLXBhbmVsL1xuKiBEYXNoIHRvIERvY2sgLSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8zMDcvZGFzaC10by1kb2NrL1xuKiBBdXRvIE1vdmUgV2luZG93cyAtIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzE2L2F1dG8tbW92ZS13aW5kb3dzL1xuKiBWZXJ0aWNhbCBPdmVydmlldyAtIGh0dHBzOi8vZ2l0aHViLmNvbS9SZW5zQWx0aHVpcy92ZXJ0aWNhbC1vdmVydmlldyIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3b3Jrc2V0cyIsCiAgImdldHRleHQtZG9tYWluIjogIndvcmtzZXRzIiwKICAibmFtZSI6ICJDdXN0b21pc2VkIFdvcmtzcGFjZXMiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiYmxpcGsiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3dvcmtzZXRzLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc2V0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYmxpcGsvQ3VzdG9taXNlZC1Xb3Jrc3BhY2VzIiwKICAidXVpZCI6ICJ3b3Jrc2V0c0BibGlway54eXoiLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
 , {"uuid": "NordVPN_Connect@poilrouge.fr", "name": "NordVPN Connect", "pname": "nordvpn-connect", "description": "Unofficial Gnome-Shell Extension to provide a GUI for the official NordVPN CLI Tool.", "link": "https://extensions.gnome.org/extension/1595/nordvpn-connect/", "shell_version_map": {"38": {"version": "15", "sha256": "0xccvy3kqgglhcjhixlxi65sa49lbm896lra2sks65arkx3fh63k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FsZXhQb2lscm91Z2UvTm9yZFZQTi1jb25uZWN0IiwKICAidXVpZCI6ICJOb3JkVlBOX0Nvbm5lY3RAcG9pbHJvdWdlLmZyIiwKICAidmVyc2lvbiI6IDE1Cn0="}, "40": {"version": "18", "sha256": "0isn56fj58aikld1fy8q3afqg2acsz4wbfskzip25xsbc0hpy9qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxleFBvaWxyb3VnZS9Ob3JkVlBOLWNvbm5lY3QiLAogICJ1dWlkIjogIk5vcmRWUE5fQ29ubmVjdEBwb2lscm91Z2UuZnIiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}, "41": {"version": "18", "sha256": "0isn56fj58aikld1fy8q3afqg2acsz4wbfskzip25xsbc0hpy9qf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgR25vbWUtU2hlbGwgRXh0ZW5zaW9uIHRvIHByb3ZpZGUgYSBHVUkgZm9yIHRoZSBvZmZpY2lhbCBOb3JkVlBOIENMSSBUb29sLiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMtbnZwbmNvbm5lY3QiLAogICJuYW1lIjogIk5vcmRWUE4gQ29ubmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5udnBuY29ubmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxleFBvaWxyb3VnZS9Ob3JkVlBOLWNvbm5lY3QiLAogICJ1dWlkIjogIk5vcmRWUE5fQ29ubmVjdEBwb2lscm91Z2UuZnIiLAogICJ2ZXJzaW9uIjogMTgKfQ=="}}}
 , {"uuid": "arrangeWindows@sun.wxg@gmail.com", "name": "Arrange Windows", "pname": "arrange-windows", "description": "Arrange windows on the monitors\n\nHotkeys:\n Ctrl+Alt+1 Cascade windows\n Ctrl+Alt+2 Tiling windows\n Ctrl+Alt+3 Side by side windows\n Ctrl+Alt+4 Stack windows", "link": "https://extensions.gnome.org/extension/1604/arrange-windows/", "shell_version_map": {"38": {"version": "21", "sha256": "0dhcawzc2ljxjc31jnk7ihbvngw9sbbcgk7qvhz5syjvsbwzc8c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFycmFuZ2VXaW5kb3dzIiwKICAidXVpZCI6ICJhcnJhbmdlV2luZG93c0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "40": {"version": "21", "sha256": "0dhcawzc2ljxjc31jnk7ihbvngw9sbbcgk7qvhz5syjvsbwzc8c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFycmFuZ2VXaW5kb3dzIiwKICAidXVpZCI6ICJhcnJhbmdlV2luZG93c0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}, "41": {"version": "21", "sha256": "0dhcawzc2ljxjc31jnk7ihbvngw9sbbcgk7qvhz5syjvsbwzc8c8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFycmFuZ2Ugd2luZG93cyBvbiB0aGUgbW9uaXRvcnNcblxuSG90a2V5czpcbiBDdHJsK0FsdCsxIENhc2NhZGUgd2luZG93c1xuIEN0cmwrQWx0KzIgVGlsaW5nIHdpbmRvd3NcbiBDdHJsK0FsdCszIFNpZGUgYnkgc2lkZSB3aW5kb3dzXG4gQ3RybCtBbHQrNCBTdGFjayB3aW5kb3dzIiwKICAibmFtZSI6ICJBcnJhbmdlIFdpbmRvd3MiLAogICJvcmlnaW5hbC1hdXRob3JzIjogInN1bi53eGdAZ21haWwuY29tIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFycmFuZ2VXaW5kb3dzIiwKICAidXVpZCI6ICJhcnJhbmdlV2luZG93c0BzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyMQp9"}}}
 , {"uuid": "fullscreen-notifications@sorrow.about.alice.pm.me", "name": "Fullscreen Notifications", "pname": "fullscreen-notifications", "description": "Enables all notifications in fullscreen mode", "link": "https://extensions.gnome.org/extension/1610/fullscreen-notifications/", "shell_version_map": {"38": {"version": "3", "sha256": "1g1dgrhbif7qcxga7302bhhdjrr2v3vkp6dfavyclzsdkkrr2wwh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzAuMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "5", "sha256": "1cxpgvkpm1r8d14wvl8pic7p6wd4im8cj3dklnzb7ni2ks2h0cps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1cxpgvkpm1r8d14wvl8pic7p6wd4im8cj3dklnzb7ni2ks2h0cps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgYWxsIG5vdGlmaWNhdGlvbnMgaW4gZnVsbHNjcmVlbiBtb2RlIiwKICAibmFtZSI6ICJGdWxsc2NyZWVuIE5vdGlmaWNhdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NvYWwvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZ1bGxzY3JlZW4tbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAiZnVsbHNjcmVlbi1ub3RpZmljYXRpb25zQHNvcnJvdy5hYm91dC5hbGljZS5wbS5tZSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
@@ -236,13 +237,13 @@
 , {"uuid": "dict@sun.wxg@gmail.com", "name": "Screen word translate", "pname": "screen-word-translate", "description": "Translate word on the screen.\nDefault web address is translate.google.com, you can add the web address for your own language. Also you can contribute your web address to my github repo.\nUse hotkey Ctrl+Alt+j to toggle the function.\nUse hotkey Ctrl+Alt+o to show popup window", "link": "https://extensions.gnome.org/extension/1849/screen-word-translate/", "shell_version_map": {"38": {"version": "32", "sha256": "0wh9d0siggr49bfcx1308xx8rxc58nadnhp3mjj53i6fvja3cx62", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdW53eGcvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWRpY3QiLAogICJ1dWlkIjogImRpY3RAc3VuLnd4Z0BnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMzIKfQ=="}, "40": {"version": "38", "sha256": "19rpi2hqznwzngzw9zsar00mhmqav8v7wbij4r7cai4jgvmk8459", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGljdCIsCiAgInV1aWQiOiAiZGljdEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOAp9"}, "41": {"version": "38", "sha256": "19rpi2hqznwzngzw9zsar00mhmqav8v7wbij4r7cai4jgvmk8459", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSB3b3JkIG9uIHRoZSBzY3JlZW4uXG5EZWZhdWx0IHdlYiBhZGRyZXNzIGlzIHRyYW5zbGF0ZS5nb29nbGUuY29tLCB5b3UgY2FuIGFkZCB0aGUgd2ViIGFkZHJlc3MgZm9yIHlvdXIgb3duIGxhbmd1YWdlLiBBbHNvIHlvdSBjYW4gY29udHJpYnV0ZSB5b3VyIHdlYiBhZGRyZXNzIHRvIG15IGdpdGh1YiByZXBvLlxuVXNlIGhvdGtleSBDdHJsK0FsdCtqIHRvIHRvZ2dsZSB0aGUgZnVuY3Rpb24uXG5Vc2UgaG90a2V5IEN0cmwrQWx0K28gdG8gc2hvdyBwb3B1cCB3aW5kb3ciLAogICJuYW1lIjogIlNjcmVlbiB3b3JkIHRyYW5zbGF0ZSIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAic3VuLnd4Z0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3N1bnd4Zy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGljdCIsCiAgInV1aWQiOiAiZGljdEBzdW4ud3hnQGdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAzOAp9"}}}
 , {"uuid": "gamemode@christian.kellner.me", "name": "GameMode", "pname": "gamemode", "description": "Status indicator for GameMode", "link": "https://extensions.gnome.org/extension/1852/gamemode/", "shell_version_map": {"38": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "05256a7rcw1db983w557cpl5vilkb0wg82xpja91j2lqnp7als5l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN0YXR1cyBpbmRpY2F0b3IgZm9yIEdhbWVNb2RlIiwKICAiZXh0ZW5zaW9uLWlkIjogImdhbWVtb2RlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ2FtZW1vZGUtZXh0ZW5zaW9uIiwKICAibmFtZSI6ICJHYW1lTW9kZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJja2VsbG5lckByZWRoYXQuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdhbWVtb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naWNtby9nYW1lbW9kZS1leHRlbnNpb24iLAogICJ1dWlkIjogImdhbWVtb2RlQGNocmlzdGlhbi5rZWxsbmVyLm1lIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "unredirect@vaina.lt", "name": "Disable unredirect fullscreen windows", "pname": "disable-unredirect-fullscreen-windows", "description": "Disables unredirect fullscreen windows in gnome-shell", "link": "https://extensions.gnome.org/extension/1873/disable-unredirect-fullscreen-windows/", "shell_version_map": {"38": {"version": "4", "sha256": "114536ils1avmwzqxf41q78wg50ynpiyq9kiw7smbxnx6l4pds0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJEaXNhYmxlIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJLYXppbWllcmFzIFZhaW5hIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuNCIsCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "114536ils1avmwzqxf41q78wg50ynpiyq9kiw7smbxnx6l4pds0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJEaXNhYmxlIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJLYXppbWllcmFzIFZhaW5hIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuNCIsCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "114536ils1avmwzqxf41q78wg50ynpiyq9kiw7smbxnx6l4pds0q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGVzIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIGluIGdub21lLXNoZWxsIiwKICAibmFtZSI6ICJEaXNhYmxlIHVucmVkaXJlY3QgZnVsbHNjcmVlbiB3aW5kb3dzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJLYXppbWllcmFzIFZhaW5hIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjIiLAogICAgIjMuNCIsCiAgICAiMy42IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMzAiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thenlzbWFzdGVyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kaXNhYmxlLXVucmVkaXJlY3QiLAogICJ1dWlkIjogInVucmVkaXJlY3RAdmFpbmEubHQiLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "krypto@sereneblue", "name": "krypto", "pname": "krypto", "description": "Cryptocurrency utility", "link": "https://extensions.gnome.org/extension/1913/krypto/", "shell_version_map": {"38": {"version": "5", "sha256": "0pmga4iqpm0i853lgqfhvnkxhji8m79pk9hgf24lvbpv8alkxzz3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "15", "sha256": "0mnrlzxgsimyrj8lfnkah5k21w6jmy703cbrqp3hxjri28a5ym4f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2VyZW5lYmx1ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24ta3J5cHRvIiwKICAidXVpZCI6ICJrcnlwdG9Ac2VyZW5lYmx1ZSIsCiAgInZlcnNpb24iOiAxNQp9"}, "41": {"version": "15", "sha256": "0mnrlzxgsimyrj8lfnkah5k21w6jmy703cbrqp3hxjri28a5ym4f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2VyZW5lYmx1ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24ta3J5cHRvIiwKICAidXVpZCI6ICJrcnlwdG9Ac2VyZW5lYmx1ZSIsCiAgInZlcnNpb24iOiAxNQp9"}}}
+, {"uuid": "krypto@sereneblue", "name": "krypto", "pname": "krypto", "description": "Cryptocurrency utility", "link": "https://extensions.gnome.org/extension/1913/krypto/", "shell_version_map": {"38": {"version": "5", "sha256": "0pmga4iqpm0i853lgqfhvnkxhji8m79pk9hgf24lvbpv8alkxzz3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NlcmVuZWJsdWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtyeXB0byIsCiAgInV1aWQiOiAia3J5cHRvQHNlcmVuZWJsdWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "16", "sha256": "076lym2yg4q5zhais0s1p0gwkavx1a4b1hak80qg6xx7w0xndsrd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2VyZW5lYmx1ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24ta3J5cHRvIiwKICAidXVpZCI6ICJrcnlwdG9Ac2VyZW5lYmx1ZSIsCiAgInZlcnNpb24iOiAxNgp9"}, "41": {"version": "16", "sha256": "076lym2yg4q5zhais0s1p0gwkavx1a4b1hak80qg6xx7w0xndsrd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyeXB0b2N1cnJlbmN5IHV0aWxpdHkiLAogICJuYW1lIjogImtyeXB0byIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2VyZW5lYmx1ZS9nbm9tZS1zaGVsbC1leHRlbnNpb24ta3J5cHRvIiwKICAidXVpZCI6ICJrcnlwdG9Ac2VyZW5lYmx1ZSIsCiAgInZlcnNpb24iOiAxNgp9"}}}
 , {"uuid": "cmus-status@yagreg7.gmail.com", "name": "cmus status", "pname": "cmus-status", "description": "Shows cmus status", "link": "https://extensions.gnome.org/extension/1934/cmus-status/", "shell_version_map": {"38": {"version": "8", "sha256": "1a6b10kirzbjlllcnffznjlljicah172kpvs0p8rmwhcpn88i8hx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGNtdXMgc3RhdHVzIiwKICAibmFtZSI6ICJjbXVzIHN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jbXVzLXN0YXR1cy5nc2NoZW1hLnhtbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0dyZWdUaGVNYWRNb25rL2dub21lLWNtdXMtc3RhdHVzIiwKICAidXVpZCI6ICJjbXVzLXN0YXR1c0B5YWdyZWc3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "10", "sha256": "0a1g8l2w46nky88db7vjpv3iz87jk967vfm3vnvi7rw9wqphkn9z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGNtdXMgc3RhdHVzIiwKICAibmFtZSI6ICJjbXVzIHN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jbXVzLXN0YXR1cy5nc2NoZW1hLnhtbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR3JlZ1RoZU1hZE1vbmsvZ25vbWUtY211cy1zdGF0dXMiLAogICJ1dWlkIjogImNtdXMtc3RhdHVzQHlhZ3JlZzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0a1g8l2w46nky88db7vjpv3iz87jk967vfm3vnvi7rw9wqphkn9z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGNtdXMgc3RhdHVzIiwKICAibmFtZSI6ICJjbXVzIHN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jbXVzLXN0YXR1cy5nc2NoZW1hLnhtbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vR3JlZ1RoZU1hZE1vbmsvZ25vbWUtY211cy1zdGF0dXMiLAogICJ1dWlkIjogImNtdXMtc3RhdHVzQHlhZ3JlZzcuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "no-title-bar@jonaspoehler.de", "name": "No Title Bar - Forked", "pname": "no-title-bar-forked", "description": "No Title Bar removes the title bar from non-GTK applications and moves the window title and buttons to the top panel.\n\nTitlebars are also hidden for Wayland-native clients that don't use CSD. Some of the options may be incompatible with this. For issues on Wayland please visit github!\n\nThis is a fork of https://extensions.gnome.org/extension/1267/no-title-bar/ with added compatibility for Gnome 3.32+.\n\nThis extension depends on some Xorg utilities. To install them:\n\n⚫ Debian/Ubuntu: apt install x11-utils\n⚫ Fedora/RHEL: dnf install xorg-x11-utils\n⚫ Arch: pacman -S xorg-xprop", "link": "https://extensions.gnome.org/extension/2015/no-title-bar-forked/", "shell_version_map": {"38": {"version": "5", "sha256": "0kch8yra13813gg3wa90lm57skqshmj3j1147lrqwhl9va9rk4q6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIFRpdGxlIEJhciByZW1vdmVzIHRoZSB0aXRsZSBiYXIgZnJvbSBub24tR1RLIGFwcGxpY2F0aW9ucyBhbmQgbW92ZXMgdGhlIHdpbmRvdyB0aXRsZSBhbmQgYnV0dG9ucyB0byB0aGUgdG9wIHBhbmVsLlxuXG5UaXRsZWJhcnMgYXJlIGFsc28gaGlkZGVuIGZvciBXYXlsYW5kLW5hdGl2ZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIENTRC4gU29tZSBvZiB0aGUgb3B0aW9ucyBtYXkgYmUgaW5jb21wYXRpYmxlIHdpdGggdGhpcy4gRm9yIGlzc3VlcyBvbiBXYXlsYW5kIHBsZWFzZSB2aXNpdCBnaXRodWIhXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyNjcvbm8tdGl0bGUtYmFyLyB3aXRoIGFkZGVkIGNvbXBhdGliaWxpdHkgZm9yIEdub21lIDMuMzIrLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcblxuXHUyNmFiIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuXHUyNmFiIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuXHUyNmFiIEFyY2g6IHBhY21hbiAtUyB4b3JnLXhwcm9wIiwKICAibmFtZSI6ICJObyBUaXRsZSBCYXIgLSBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wb2VobGVyai9uby10aXRsZS1iYXIiLAogICJ1dWlkIjogIm5vLXRpdGxlLWJhckBqb25hc3BvZWhsZXIuZGUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "6", "sha256": "1plnj999qynsfvab6s01rfrdvw6m0s19b4zirhmlqrpax9vjl3zm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIFRpdGxlIEJhciByZW1vdmVzIHRoZSB0aXRsZSBiYXIgZnJvbSBub24tR1RLIGFwcGxpY2F0aW9ucyBhbmQgbW92ZXMgdGhlIHdpbmRvdyB0aXRsZSBhbmQgYnV0dG9ucyB0byB0aGUgdG9wIHBhbmVsLlxuXG5UaXRsZWJhcnMgYXJlIGFsc28gaGlkZGVuIGZvciBXYXlsYW5kLW5hdGl2ZSBjbGllbnRzIHRoYXQgZG9uJ3QgdXNlIENTRC4gU29tZSBvZiB0aGUgb3B0aW9ucyBtYXkgYmUgaW5jb21wYXRpYmxlIHdpdGggdGhpcy4gRm9yIGlzc3VlcyBvbiBXYXlsYW5kIHBsZWFzZSB2aXNpdCBnaXRodWIhXG5cblRoaXMgaXMgYSBmb3JrIG9mIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyNjcvbm8tdGl0bGUtYmFyLyB3aXRoIGFkZGVkIGNvbXBhdGliaWxpdHkgZm9yIEdub21lIDMuMzIrLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcblxuXHUyNmFiIERlYmlhbi9VYnVudHU6IGFwdCBpbnN0YWxsIHgxMS11dGlsc1xuXHUyNmFiIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuXHUyNmFiIEFyY2g6IHBhY21hbiAtUyB4b3JnLXhwcm9wIiwKICAibmFtZSI6ICJObyBUaXRsZSBCYXIgLSBGb3JrZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcG9laGxlcmovbm8tdGl0bGUtYmFyIiwKICAidXVpZCI6ICJuby10aXRsZS1iYXJAam9uYXNwb2VobGVyLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "application_view_when_empty@fawtytoo", "name": "Show Application View When Workspace Empty", "pname": "show-application-view-when-workspace-empty", "description": "Shows the application view when the workspace is or becomes empty, such as switching to an empty workspace, when all windows on a workspace are closed, or after login. Starting applications or switching to a workspace with open windows will hide the application view if it's showing.\nFrom version 22, this extension waits for any window closing animation to complete (if enabled) before showing the application view.", "link": "https://extensions.gnome.org/extension/2036/show-application-view-when-workspace-empty/", "shell_version_map": {"38": {"version": "24", "sha256": "1g8c9pz8i35kap730ly0h3lzz2qrzc9057zw9mpcwqkqkp6v1aw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9TaG93LUFwcGxpY2F0aW9uLVZpZXctV2hlbi1Xb3Jrc3BhY2UtRW1wdHkiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyNAp9"}, "40": {"version": "24", "sha256": "1g8c9pz8i35kap730ly0h3lzz2qrzc9057zw9mpcwqkqkp6v1aw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9TaG93LUFwcGxpY2F0aW9uLVZpZXctV2hlbi1Xb3Jrc3BhY2UtRW1wdHkiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyNAp9"}, "41": {"version": "24", "sha256": "1g8c9pz8i35kap730ly0h3lzz2qrzc9057zw9mpcwqkqkp6v1aw4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBhcHBsaWNhdGlvbiB2aWV3IHdoZW4gdGhlIHdvcmtzcGFjZSBpcyBvciBiZWNvbWVzIGVtcHR5LCBzdWNoIGFzIHN3aXRjaGluZyB0byBhbiBlbXB0eSB3b3Jrc3BhY2UsIHdoZW4gYWxsIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2UgYXJlIGNsb3NlZCwgb3IgYWZ0ZXIgbG9naW4uIFN0YXJ0aW5nIGFwcGxpY2F0aW9ucyBvciBzd2l0Y2hpbmcgdG8gYSB3b3Jrc3BhY2Ugd2l0aCBvcGVuIHdpbmRvd3Mgd2lsbCBoaWRlIHRoZSBhcHBsaWNhdGlvbiB2aWV3IGlmIGl0J3Mgc2hvd2luZy5cbkZyb20gdmVyc2lvbiAyMiwgdGhpcyBleHRlbnNpb24gd2FpdHMgZm9yIGFueSB3aW5kb3cgY2xvc2luZyBhbmltYXRpb24gdG8gY29tcGxldGUgKGlmIGVuYWJsZWQpIGJlZm9yZSBzaG93aW5nIHRoZSBhcHBsaWNhdGlvbiB2aWV3LiIsCiAgIm5hbWUiOiAiU2hvdyBBcHBsaWNhdGlvbiBWaWV3IFdoZW4gV29ya3NwYWNlIEVtcHR5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mYXd0eXRvby9TaG93LUFwcGxpY2F0aW9uLVZpZXctV2hlbi1Xb3Jrc3BhY2UtRW1wdHkiLAogICJ1dWlkIjogImFwcGxpY2F0aW9uX3ZpZXdfd2hlbl9lbXB0eUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAyNAp9"}}}
 , {"uuid": "activities_icon_menu@fawtytoo", "name": "Activities Icon Menu", "pname": "activities-menu-for-apps-and-windows", "description": "This extension turns the Activities button into a popup menu with icons for selecting either Applications or Workspaces in the Overview. Selecting the same view again will hide the overview.\n\nThis is particularly useful for tablet users that find the Activities button difficult to click on, whereas a menu can be more easily invoked.", "link": "https://extensions.gnome.org/extension/2048/activities-menu-for-apps-and-windows/", "shell_version_map": {"38": {"version": "10", "sha256": "1ggr5il7fvh07zabh3mk3rhy68daqpj2wzqh9qxh76ykcswzd8kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25fbWVudUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "1ggr5il7fvh07zabh3mk3rhy68daqpj2wzqh9qxh76ykcswzd8kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25fbWVudUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "1ggr5il7fvh07zabh3mk3rhy68daqpj2wzqh9qxh76ykcswzd8kd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHR1cm5zIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBpbnRvIGEgcG9wdXAgbWVudSB3aXRoIGljb25zIGZvciBzZWxlY3RpbmcgZWl0aGVyIEFwcGxpY2F0aW9ucyBvciBXb3Jrc3BhY2VzIGluIHRoZSBPdmVydmlldy4gU2VsZWN0aW5nIHRoZSBzYW1lIHZpZXcgYWdhaW4gd2lsbCBoaWRlIHRoZSBvdmVydmlldy5cblxuVGhpcyBpcyBwYXJ0aWN1bGFybHkgdXNlZnVsIGZvciB0YWJsZXQgdXNlcnMgdGhhdCBmaW5kIHRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBkaWZmaWN1bHQgdG8gY2xpY2sgb24sIHdoZXJlYXMgYSBtZW51IGNhbiBiZSBtb3JlIGVhc2lseSBpbnZva2VkLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29uIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJhY3Rpdml0aWVzX2ljb25fbWVudUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "Gold_Price_Monitor@wotmshuaisi_github", "name": "Gold Price Monitor", "pname": "gold-price-monitor", "description": "simple gnome extension helps you tracking gold price in realtime", "link": "https://extensions.gnome.org/extension/2075/gold-price-monitor/", "shell_version_map": {"40": {"version": "22", "sha256": "04gqhg2am27iifzgfibcs28cqqq6lkb5lmmhzvba6pyqa9i175lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9nb2xkcHJpY2Vtb25pdG9yIiwKICAidXVpZCI6ICJHb2xkX1ByaWNlX01vbml0b3JAd290bXNodWFpc2lfZ2l0aHViIiwKICAidmVyc2lvbiI6IDIyCn0="}, "41": {"version": "22", "sha256": "04gqhg2am27iifzgfibcs28cqqq6lkb5lmmhzvba6pyqa9i175lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRhbmdlcm91cyI6IGZhbHNlLAogICJkZXNjcmlwdGlvbiI6ICJzaW1wbGUgZ25vbWUgZXh0ZW5zaW9uIGhlbHBzIHlvdSB0cmFja2luZyBnb2xkIHByaWNlIGluIHJlYWx0aW1lIiwKICAibmFtZSI6ICJHb2xkIFByaWNlIE1vbml0b3IiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29sZC1wcmljZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9nb2xkcHJpY2Vtb25pdG9yIiwKICAidXVpZCI6ICJHb2xkX1ByaWNlX01vbml0b3JAd290bXNodWFpc2lfZ2l0aHViIiwKICAidmVyc2lvbiI6IDIyCn0="}}}
-, {"uuid": "ding@rastersoft.com", "name": "Desktop Icons NG (DING)", "pname": "desktop-icons-ng-ding", "description": "Adds icons to the desktop. Fork of the original Desktop Icons extension, with several enhancements .", "link": "https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/", "shell_version_map": {"38": {"version": "38", "sha256": "12vp6fbclzw3n0x8zj24rhpv3y1sw1ws0h619xkxl51d1822k1xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}, "40": {"version": "38", "sha256": "12vp6fbclzw3n0x8zj24rhpv3y1sw1ws0h619xkxl51d1822k1xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}, "41": {"version": "38", "sha256": "12vp6fbclzw3n0x8zj24rhpv3y1sw1ws0h619xkxl51d1822k1xk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzgKfQ=="}}}
+, {"uuid": "ding@rastersoft.com", "name": "Desktop Icons NG (DING)", "pname": "desktop-icons-ng-ding", "description": "Adds icons to the desktop. Fork of the original Desktop Icons extension, with several enhancements .", "link": "https://extensions.gnome.org/extension/2087/desktop-icons-ng-ding/", "shell_version_map": {"38": {"version": "39", "sha256": "072q0s0vvjij0vkqww33vwmfkdxhcp1h2khnldp8dk6dyf6r16fk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "40": {"version": "39", "sha256": "072q0s0vvjij0vkqww33vwmfkdxhcp1h2khnldp8dk6dyf6r16fk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}, "41": {"version": "39", "sha256": "072q0s0vvjij0vkqww33vwmfkdxhcp1h2khnldp8dk6dyf6r16fk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgaWNvbnMgdG8gdGhlIGRlc2t0b3AuIEZvcmsgb2YgdGhlIG9yaWdpbmFsIERlc2t0b3AgSWNvbnMgZXh0ZW5zaW9uLCB3aXRoIHNldmVyYWwgZW5oYW5jZW1lbnRzIC4iLAogICJuYW1lIjogIkRlc2t0b3AgSWNvbnMgTkcgKERJTkcpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9yYXN0ZXJzb2Z0L2Rlc2t0b3AtaWNvbnMtbmciLAogICJ1dWlkIjogImRpbmdAcmFzdGVyc29mdC5jb20iLAogICJ2ZXJzaW9uIjogMzkKfQ=="}}}
 , {"uuid": "order-extensions@wa4557.github.com", "name": "Order Gnome Shell extensions", "pname": "order-gnome-shell-extensions", "description": "Fixes order of gnome-shell extensions", "link": "https://extensions.gnome.org/extension/2114/order-gnome-shell-extensions/", "shell_version_map": {"38": {"version": "6", "sha256": "0hcbjrhrg11f5p23bhss75nhc9sqlh6p1bmfq7p7m7d276ckdmkk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBbmRyZWFzIEFuZ2VyZXIiLAogICJkZXNjcmlwdGlvbiI6ICJGaXhlcyBvcmRlciBvZiBnbm9tZS1zaGVsbCBleHRlbnNpb25zIiwKICAiZXh0ZW5zaW9uLWlkIjogIm9yZGVyLWV4dGVuc2lvbnMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJvcmRlciBleHRlbnNpb25zIiwKICAibmFtZSI6ICJPcmRlciBHbm9tZSBTaGVsbCBleHRlbnNpb25zIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI0IiwKICAgICIzLjI2IiwKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICIzLjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm9yZGVyLWV4dGVuc2lvbnNAd2E0NTU3LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "horizontal-workspaces@gnome-shell-extensions.gcampax.github.com", "name": "Horizontal workspaces", "pname": "horizontal-workspaces", "description": "Use a horizontal workspace layout", "link": "https://extensions.gnome.org/extension/2141/horizontal-workspaces/", "shell_version_map": {"38": {"version": "5", "sha256": "0kbqcrs96v72yk0rf8jghy1a31651fyvgpi97yp46n4wmvc41vk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBhIGhvcml6b250YWwgd29ya3NwYWNlIGxheW91dCIsCiAgImV4dGVuc2lvbi1pZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb25zIiwKICAibmFtZSI6ICJIb3Jpem9udGFsIHdvcmtzcGFjZXMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG9yaXpvbnRhbC13b3Jrc3BhY2VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgInV1aWQiOiAiaG9yaXpvbnRhbC13b3Jrc3BhY2VzQGdub21lLXNoZWxsLWV4dGVuc2lvbnMuZ2NhbXBheC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "threefingerwindowmove@do.sch.dev.gmail.com", "name": "Three Finger Window Move", "pname": "three-finger-window-move", "description": "Allows moving windows around with a three finger trackpad gesture (Wayland only)", "link": "https://extensions.gnome.org/extension/2164/three-finger-window-move/", "shell_version_map": {"38": {"version": "7", "sha256": "1m7vwr6s6w297b0x0bmnj8fs2hl73pbys6m93lnb9inh5pmgiv1p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyBtb3Zpbmcgd2luZG93cyBhcm91bmQgd2l0aCBhIHRocmVlIGZpbmdlciB0cmFja3BhZCBnZXN0dXJlIChXYXlsYW5kIG9ubHkpIiwKICAibmFtZSI6ICJUaHJlZSBGaW5nZXIgV2luZG93IE1vdmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kby1zY2gvZ25vbWUtc2hlbGwtdG91Y2hwYWQtd2luZG93LW1vdmUiLAogICJ1dWlkIjogInRocmVlZmluZ2Vyd2luZG93bW92ZUBkby5zY2guZGV2LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
@@ -250,7 +251,7 @@
 , {"uuid": "noannoyance@daase.net", "name": "NoAnnoyance v2", "pname": "noannoyance", "description": "Another extension, that removes the 'Window is ready' notification and puts the window into focus. In contrast to all the other extensions, this uses ES6 syntax and is actively maintained.", "link": "https://extensions.gnome.org/extension/2182/noannoyance/", "shell_version_map": {"38": {"version": "11", "sha256": "11rrrfpvyp7rxyfqj0bkf62y8a55jkjs4ydqs2vsgkpmf2bbfwrg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmpvZXJuRGFhc2Uvbm9hbm5veWFuY2UiLAogICJ1dWlkIjogIm5vYW5ub3lhbmNlQGRhYXNlLm5ldCIsCiAgInZlcnNpb24iOiAxMQp9"}, "40": {"version": "11", "sha256": "11rrrfpvyp7rxyfqj0bkf62y8a55jkjs4ydqs2vsgkpmf2bbfwrg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmpvZXJuRGFhc2Uvbm9hbm5veWFuY2UiLAogICJ1dWlkIjogIm5vYW5ub3lhbmNlQGRhYXNlLm5ldCIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "11rrrfpvyp7rxyfqj0bkf62y8a55jkjs4ydqs2vsgkpmf2bbfwrg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFub3RoZXIgZXh0ZW5zaW9uLCB0aGF0IHJlbW92ZXMgdGhlICdXaW5kb3cgaXMgcmVhZHknIG5vdGlmaWNhdGlvbiBhbmQgcHV0cyB0aGUgd2luZG93IGludG8gZm9jdXMuIEluIGNvbnRyYXN0IHRvIGFsbCB0aGUgb3RoZXIgZXh0ZW5zaW9ucywgdGhpcyB1c2VzIEVTNiBzeW50YXggYW5kIGlzIGFjdGl2ZWx5IG1haW50YWluZWQuIiwKICAibmFtZSI6ICJOb0Fubm95YW5jZSB2MiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQmpvZXJuRGFhc2Uvbm9hbm5veWFuY2UiLAogICJ1dWlkIjogIm5vYW5ub3lhbmNlQGRhYXNlLm5ldCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "vim-altTab@kokong.info", "name": "VIM Alt-Tab", "pname": "vim-alt-tab", "description": "Add the ability to switch between windows and applications using vim-like keypresses (h, j, k, l)", "link": "https://extensions.gnome.org/extension/2212/vim-alt-tab/", "shell_version_map": {"38": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0r69cnr4r1vwny8jxc6yymmmiyy5fac4634r8kr0k5b7j1y6f0cw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCB0aGUgYWJpbGl0eSB0byBzd2l0Y2ggYmV0d2VlbiB3aW5kb3dzIGFuZCBhcHBsaWNhdGlvbnMgdXNpbmcgdmltLWxpa2Uga2V5cHJlc3NlcyAoaCwgaiwgaywgbCkiLAogICJleHRlbnNpb24taWQiOiAidmltLWFsdHRhYiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIlZJTSBBbHQtVGFiIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJqd0BiYXJnc3Rlbi5vcmciLAogICAgInRob21hcy5ib3VmZm9uQGdtYWlsLmNvbSIsCiAgICAia29rb0Brb2tvbmcuaW5mbyIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudmltLWFsdHRhYiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29rby1uZy92aW0tYWx0VGFiIiwKICAidXVpZCI6ICJ2aW0tYWx0VGFiQGtva29uZy5pbmZvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "easy_docker_containers@red.software.systems", "name": "Easy Docker Containers", "pname": "easy-docker-containers", "description": "A GNOME Shell extension (GNOME Panel applet) to be able to generally control your available Docker containers.", "link": "https://extensions.gnome.org/extension/2224/easy-docker-containers/", "shell_version_map": {"38": {"version": "13", "sha256": "1hq6ispaq7vyn8vigacbwv58hrishb1g09vhffwsldahx4iz4pnj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SZWRTb2Z0d2FyZVN5c3RlbXMvZWFzeV9kb2NrZXJfY29udGFpbmVycyIsCiAgInV1aWQiOiAiZWFzeV9kb2NrZXJfY29udGFpbmVyc0ByZWQuc29mdHdhcmUuc3lzdGVtcyIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "1hq6ispaq7vyn8vigacbwv58hrishb1g09vhffwsldahx4iz4pnj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SZWRTb2Z0d2FyZVN5c3RlbXMvZWFzeV9kb2NrZXJfY29udGFpbmVycyIsCiAgInV1aWQiOiAiZWFzeV9kb2NrZXJfY29udGFpbmVyc0ByZWQuc29mdHdhcmUuc3lzdGVtcyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "1hq6ispaq7vyn8vigacbwv58hrishb1g09vhffwsldahx4iz4pnj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgU2hlbGwgZXh0ZW5zaW9uIChHTk9NRSBQYW5lbCBhcHBsZXQpIHRvIGJlIGFibGUgdG8gZ2VuZXJhbGx5IGNvbnRyb2wgeW91ciBhdmFpbGFibGUgRG9ja2VyIGNvbnRhaW5lcnMuIiwKICAibmFtZSI6ICJFYXN5IERvY2tlciBDb250YWluZXJzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9SZWRTb2Z0d2FyZVN5c3RlbXMvZWFzeV9kb2NrZXJfY29udGFpbmVycyIsCiAgInV1aWQiOiAiZWFzeV9kb2NrZXJfY29udGFpbmVyc0ByZWQuc29mdHdhcmUuc3lzdGVtcyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
-, {"uuid": "nightthemeswitcher@romainvigier.fr", "name": "Night Theme Switcher", "pname": "night-theme-switcher", "description": "Make your desktop easy on the eye, day and night.\n\nAutomatically toggle your light and dark GTK, GNOME Shell, icon and cursor themes variants, switch backgrounds and run custom commands at sunset and sunrise.\n\nSupports Night Light, Location Services, manual schedule and on-demand switch modes.", "link": "https://extensions.gnome.org/extension/2236/night-theme-switcher/", "shell_version_map": {"38": {"version": "46", "sha256": "13vq56mhxkh61zza1j4pszbbbz96z2yjzgkzq8qi51jidpdby521", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgeW91ciBsaWdodCBhbmQgZGFyayBHVEssIEdOT01FIFNoZWxsLCBpY29uIGFuZCBjdXJzb3IgdGhlbWVzIHZhcmlhbnRzLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbmlnaHR0aGVtZXN3aXRjaGVyLnJvbWFpbnZpZ2llci5mciIsCiAgInV1aWQiOiAibmlnaHR0aGVtZXN3aXRjaGVyQHJvbWFpbnZpZ2llci5mciIsCiAgInZlcnNpb24iOiA0Ngp9"}, "40": {"version": "51", "sha256": "1lbfbb6acc70y70v5g3mvqhzn6240jdq0zzlnh43yg1kvry20d2a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgeW91ciBsaWdodCBhbmQgZGFyayBHVEssIEdOT01FIFNoZWxsLCBpY29uIGFuZCBjdXJzb3IgdGhlbWVzIHZhcmlhbnRzLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTEKfQ=="}, "41": {"version": "55", "sha256": "1sv0wm9fq6f1j384qz91f8vkxk3ffb02ih1x6apa70k2ybmrc06g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgeW91ciBsaWdodCBhbmQgZGFyayBHVEssIEdOT01FIFNoZWxsLCBpY29uIGFuZCBjdXJzb3IgdGhlbWVzIHZhcmlhbnRzLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTUKfQ=="}}}
+, {"uuid": "nightthemeswitcher@romainvigier.fr", "name": "Night Theme Switcher", "pname": "night-theme-switcher", "description": "Make your desktop easy on the eye, day and night.\n\nAutomatically toggle the color scheme between light and dark, switch backgrounds and run custom commands at sunset and sunrise.\n\nSupports Night Light, Location Services, manual schedule and on-demand switch modes.", "link": "https://extensions.gnome.org/extension/2236/night-theme-switcher/", "shell_version_map": {"38": {"version": "46", "sha256": "0x3mggffn6ydfkv09gwq62wgkm8zga214616jp60mpwp4ly0xphm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgdGhlIGNvbG9yIHNjaGVtZSBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vbmlnaHR0aGVtZXN3aXRjaGVyLnJvbWFpbnZpZ2llci5mciIsCiAgInV1aWQiOiAibmlnaHR0aGVtZXN3aXRjaGVyQHJvbWFpbnZpZ2llci5mciIsCiAgInZlcnNpb24iOiA0Ngp9"}, "40": {"version": "51", "sha256": "1pnljdl2syh0lv2ih2ps2im2pnyzkwsbzsvv3f8q7zf669jxca9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgdGhlIGNvbG9yIHNjaGVtZSBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTEKfQ=="}, "41": {"version": "55", "sha256": "151lwn6qlh1b91f9c58s7xw5jd7ygvqpr68299qqgn7hvjg0qh6z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgeW91ciBkZXNrdG9wIGVhc3kgb24gdGhlIGV5ZSwgZGF5IGFuZCBuaWdodC5cblxuQXV0b21hdGljYWxseSB0b2dnbGUgdGhlIGNvbG9yIHNjaGVtZSBiZXR3ZWVuIGxpZ2h0IGFuZCBkYXJrLCBzd2l0Y2ggYmFja2dyb3VuZHMgYW5kIHJ1biBjdXN0b20gY29tbWFuZHMgYXQgc3Vuc2V0IGFuZCBzdW5yaXNlLlxuXG5TdXBwb3J0cyBOaWdodCBMaWdodCwgTG9jYXRpb24gU2VydmljZXMsIG1hbnVhbCBzY2hlZHVsZSBhbmQgb24tZGVtYW5kIHN3aXRjaCBtb2Rlcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuaWdodHRoZW1lc3dpdGNoZXJAcm9tYWludmlnaWVyLmZyIiwKICAibmFtZSI6ICJOaWdodCBUaGVtZSBTd2l0Y2hlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uaWdodHRoZW1lc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL25pZ2h0dGhlbWVzd2l0Y2hlci5yb21haW52aWdpZXIuZnIiLAogICJ1dWlkIjogIm5pZ2h0dGhlbWVzd2l0Y2hlckByb21haW52aWdpZXIuZnIiLAogICJ2ZXJzaW9uIjogNTUKfQ=="}}}
 , {"uuid": "binaryclock@vancha.march", "name": "binaryclock", "pname": "binaryclock", "description": "adds a binary clock to the gnome bar", "link": "https://extensions.gnome.org/extension/2284/binaryclock/", "shell_version_map": {"38": {"version": "6", "sha256": "1bvzlqfhwlk1sh9q3538yipjwzgndd4wnn2l8wc3sshb93ggvpg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZHMgYSBiaW5hcnkgY2xvY2sgdG8gdGhlIGdub21lIGJhciIsCiAgIm5hbWUiOiAiYmluYXJ5Y2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zOCIsCiAgICAiMy4zNi43IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZhbmNoYS9nbm9tZVNoZWxsQmluYXJ5Q2xvY2svIiwKICAidXVpZCI6ICJiaW5hcnljbG9ja0B2YW5jaGEubWFyY2giLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1bvzlqfhwlk1sh9q3538yipjwzgndd4wnn2l8wc3sshb93ggvpg6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZHMgYSBiaW5hcnkgY2xvY2sgdG8gdGhlIGdub21lIGJhciIsCiAgIm5hbWUiOiAiYmluYXJ5Y2xvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzQiLAogICAgIjMuMzIuMiIsCiAgICAiMy4zOCIsCiAgICAiMy4zNi43IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZhbmNoYS9nbm9tZVNoZWxsQmluYXJ5Q2xvY2svIiwKICAidXVpZCI6ICJiaW5hcnljbG9ja0B2YW5jaGEubWFyY2giLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "lgbutton@glerro.gnome.gitlab.io", "name": "Looking Glass Button", "pname": "looking-glass-button", "description": "Toggle the Looking Glass visibility by clicking on a panel icon.", "link": "https://extensions.gnome.org/extension/2296/looking-glass-button/", "shell_version_map": {"38": {"version": "7", "sha256": "01sbrsfvxwvzgxd5cdvrzb6gl573hw30hy50ihqy43hari95jk8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJuYW1lIjogIkxvb2tpbmcgR2xhc3MgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9nbGVycm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAidXVpZCI6ICJsZ2J1dHRvbkBnbGVycm8uZ25vbWUuZ2l0bGFiLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "01sbrsfvxwvzgxd5cdvrzb6gl573hw30hy50ihqy43hari95jk8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJuYW1lIjogIkxvb2tpbmcgR2xhc3MgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9nbGVycm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAidXVpZCI6ICJsZ2J1dHRvbkBnbGVycm8uZ25vbWUuZ2l0bGFiLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "01sbrsfvxwvzgxd5cdvrzb6gl573hw30hy50ihqy43hari95jk8c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB0aGUgTG9va2luZyBHbGFzcyB2aXNpYmlsaXR5IGJ5IGNsaWNraW5nIG9uIGEgcGFuZWwgaWNvbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGdidXR0b24iLAogICJuYW1lIjogIkxvb2tpbmcgR2xhc3MgQnV0dG9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9nbGVycm8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWxnYnV0dG9uIiwKICAidXVpZCI6ICJsZ2J1dHRvbkBnbGVycm8uZ25vbWUuZ2l0bGFiLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "tp_wattmeter@gistart", "name": "tp_wattmeter", "pname": "tp_wattmeter", "description": "Shows battery power consumption of ThinkPad laptops", "link": "https://extensions.gnome.org/extension/2308/tp_wattmeter/", "shell_version_map": {"40": {"version": "4", "sha256": "1v8rw7msfy2d8nwnppdpci62sl6iw8973z5gsl8024awl27ni38z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGJhdHRlcnkgcG93ZXIgY29uc3VtcHRpb24gb2YgVGhpbmtQYWQgbGFwdG9wcyIsCiAgIm5hbWUiOiAidHBfd2F0dG1ldGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2LjAiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9naXN0YXJ0L3RwX3dhdHRtZXRlciIsCiAgInV1aWQiOiAidHBfd2F0dG1ldGVyQGdpc3RhcnQiLAogICJ2ZXJzaW9uIjogNAp9"}}}
@@ -271,7 +272,7 @@
 , {"uuid": "nbfcindicator@mgokcaykdev.gmail.com", "name": "Nbfc Indicator", "pname": "nbfc-indicator", "description": "Notebook Fan Control Indicator for Gnome Shell", "link": "https://extensions.gnome.org/extension/2624/nbfc-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "0hp7giwdcsk8p442q0x9214dv59ziyjswli6mccyb8v814k3p8ic", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGVib29rIEZhbiBDb250cm9sIEluZGljYXRvciBmb3IgR25vbWUgU2hlbGwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJuYmZjaW5kaWNhdG9yIiwKICAibmFtZSI6ICJOYmZjIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5uYmZjaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01Hb2tjYXlLL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtbmJmY2luZGljYXRvciIsCiAgInV1aWQiOiAibmJmY2luZGljYXRvckBtZ29rY2F5a2Rldi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "user-id-in-top-panel@fthx", "name": "User id in top panel", "pname": "user-id-in-top-panel", "description": "Add ( user name :: user id @ host ) in top panel.", "link": "https://extensions.gnome.org/extension/2633/user-id-in-top-panel/", "shell_version_map": {"38": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "16s1782mzb5ckshsy86ac9xj5xfk15hwzvzk4cfiimphfvkkw8x4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCAoIHVzZXIgbmFtZSA6OiB1c2VyIGlkIEAgaG9zdCApIGluIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIlVzZXIgaWQgaW4gdG9wIHBhbmVsIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJmdGh4IgogIF0sCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ1c2VyLWlkLWluLXRvcC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "hide-minimized@danigm.net", "name": "Hide minimized", "pname": "hide-minimized", "description": "Hide minimized in overview", "link": "https://extensions.gnome.org/extension/2639/hide-minimized/", "shell_version_map": {"38": {"version": "4", "sha256": "0v2vrm3p5czzvs2kc8dh3h1ijh7i8x6z2b9gdvqbfny45g7blfaa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL2hpZGUtbWluaW1pemVkIiwKICAidXVpZCI6ICJoaWRlLW1pbmltaXplZEBkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "0v2vrm3p5czzvs2kc8dh3h1ijh7i8x6z2b9gdvqbfny45g7blfaa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL2hpZGUtbWluaW1pemVkIiwKICAidXVpZCI6ICJoaWRlLW1pbmltaXplZEBkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0v2vrm3p5czzvs2kc8dh3h1ijh7i8x6z2b9gdvqbfny45g7blfaa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgbWluaW1pemVkIGluIG92ZXJ2aWV3IiwKICAibmFtZSI6ICJIaWRlIG1pbmltaXplZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFuaWdtL2hpZGUtbWluaW1pemVkIiwKICAidXVpZCI6ICJoaWRlLW1pbmltaXplZEBkYW5pZ20ubmV0IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness control for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nUpdated 2022-Jan-05: There are multiple ways of listing the control sliders, either in top bar or in system menu, with or without value labels.\n\nRead setup instructions from: https://github.com/daitj/gnome-display-brightness-ddcutil/blob/master/README.md", "link": "https://extensions.gnome.org/extension/2645/brightness-control-using-ddcutil/", "shell_version_map": {"38": {"version": "10", "sha256": "0r8l1iipfxrsmmch0pgi9jpxk58cqn93igs1cp8sx73l1cxr5ik4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJuYW1lIjogIkJyaWdodG5lc3MgY29udHJvbCB1c2luZyBkZGN1dGlsIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "24", "sha256": "10sd7hr4zldigqca0f687xka1azld4a8nrf0d83lfl6l9wjx3bkj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhaXRqL2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}, "41": {"version": "24", "sha256": "10sd7hr4zldigqca0f687xka1azld4a8nrf0d83lfl6l9wjx3bkj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZWQgMjAyMi1KYW4tMDU6IFRoZXJlIGFyZSBtdWx0aXBsZSB3YXlzIG9mIGxpc3RpbmcgdGhlIGNvbnRyb2wgc2xpZGVycywgZWl0aGVyIGluIHRvcCBiYXIgb3IgaW4gc3lzdGVtIG1lbnUsIHdpdGggb3Igd2l0aG91dCB2YWx1ZSBsYWJlbHMuXG5cblJlYWQgc2V0dXAgaW5zdHJ1Y3Rpb25zIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbC9ibG9iL21hc3Rlci9SRUFETUUubWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RhaXRqL2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAidXVpZCI6ICJkaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbEB0aGVtaWdodHlkZWl0eS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDI0Cn0="}}}
+, {"uuid": "display-brightness-ddcutil@themightydeity.github.com", "name": "Brightness control using ddcutil", "pname": "brightness-control-using-ddcutil", "description": "Brightness control for all the monitors detected by ddcutil\nThis tool uses ddcutil as backend for communication with your display.\n\nUpdate 2022-Feb-07: Possibility to have Only \"All\" slider \nUpdated 2022-Jan-05: There are multiple ways of listing the control sliders, either in top bar or in system menu, with or without value labels.\n\nRead setup instructions from: https://github.com/daitj/gnome-display-brightness-ddcutil/blob/master/README.md", "link": "https://extensions.gnome.org/extension/2645/brightness-control-using-ddcutil/", "shell_version_map": {"38": {"version": "10", "sha256": "048i421k0y0ifj77w44hfz0ysd9bly2c91syiqnyhasqxhpnwkp3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZSAyMDIyLUZlYi0wNzogUG9zc2liaWxpdHkgdG8gaGF2ZSBPbmx5IFwiQWxsXCIgc2xpZGVyIFxuVXBkYXRlZCAyMDIyLUphbi0wNTogVGhlcmUgYXJlIG11bHRpcGxlIHdheXMgb2YgbGlzdGluZyB0aGUgY29udHJvbCBzbGlkZXJzLCBlaXRoZXIgaW4gdG9wIGJhciBvciBpbiBzeXN0ZW0gbWVudSwgd2l0aCBvciB3aXRob3V0IHZhbHVlIGxhYmVscy5cblxuUmVhZCBzZXR1cCBpbnN0cnVjdGlvbnMgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2RhaXRqL2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCIsCiAgIm5hbWUiOiAiQnJpZ2h0bmVzcyBjb250cm9sIHVzaW5nIGRkY3V0aWwiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9kYWl0ai9nbm9tZS1kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInV1aWQiOiAiZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWxAdGhlbWlnaHR5ZGVpdHkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "25", "sha256": "1qaflr9xbpx85vrzv7m8nbaz9ys2iaq2cwziznhb802wbf2j77lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZSAyMDIyLUZlYi0wNzogUG9zc2liaWxpdHkgdG8gaGF2ZSBPbmx5IFwiQWxsXCIgc2xpZGVyIFxuVXBkYXRlZCAyMDIyLUphbi0wNTogVGhlcmUgYXJlIG11bHRpcGxlIHdheXMgb2YgbGlzdGluZyB0aGUgY29udHJvbCBzbGlkZXJzLCBlaXRoZXIgaW4gdG9wIGJhciBvciBpbiBzeXN0ZW0gbWVudSwgd2l0aCBvciB3aXRob3V0IHZhbHVlIGxhYmVscy5cblxuUmVhZCBzZXR1cCBpbnN0cnVjdGlvbnMgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2RhaXRqL2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCIsCiAgImdldHRleHQtZG9tYWluIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAibmFtZSI6ICJCcmlnaHRuZXNzIGNvbnRyb2wgdXNpbmcgZGRjdXRpbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "41": {"version": "25", "sha256": "1qaflr9xbpx85vrzv7m8nbaz9ys2iaq2cwziznhb802wbf2j77lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaWdodG5lc3MgY29udHJvbCBmb3IgYWxsIHRoZSBtb25pdG9ycyBkZXRlY3RlZCBieSBkZGN1dGlsXG5UaGlzIHRvb2wgdXNlcyBkZGN1dGlsIGFzIGJhY2tlbmQgZm9yIGNvbW11bmljYXRpb24gd2l0aCB5b3VyIGRpc3BsYXkuXG5cblVwZGF0ZSAyMDIyLUZlYi0wNzogUG9zc2liaWxpdHkgdG8gaGF2ZSBPbmx5IFwiQWxsXCIgc2xpZGVyIFxuVXBkYXRlZCAyMDIyLUphbi0wNTogVGhlcmUgYXJlIG11bHRpcGxlIHdheXMgb2YgbGlzdGluZyB0aGUgY29udHJvbCBzbGlkZXJzLCBlaXRoZXIgaW4gdG9wIGJhciBvciBpbiBzeXN0ZW0gbWVudSwgd2l0aCBvciB3aXRob3V0IHZhbHVlIGxhYmVscy5cblxuUmVhZCBzZXR1cCBpbnN0cnVjdGlvbnMgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL2RhaXRqL2dub21lLWRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsL2Jsb2IvbWFzdGVyL1JFQURNRS5tZCIsCiAgImdldHRleHQtZG9tYWluIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsIiwKICAibmFtZSI6ICJCcmlnaHRuZXNzIGNvbnRyb2wgdXNpbmcgZGRjdXRpbCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kaXNwbGF5LWJyaWdodG5lc3MtZGRjdXRpbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGFpdGovZ25vbWUtZGlzcGxheS1icmlnaHRuZXNzLWRkY3V0aWwiLAogICJ1dWlkIjogImRpc3BsYXktYnJpZ2h0bmVzcy1kZGN1dGlsQHRoZW1pZ2h0eWRlaXR5LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}}}
 , {"uuid": "timezones@masquerade-circus.net", "name": "Timezones extension", "pname": "timezones-extension", "description": "Show multiple clocks in the panel. For those who need more than one additional clock.", "link": "https://extensions.gnome.org/extension/2657/timezones-extension/", "shell_version_map": {"38": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0vkqwrn0kvmng003h26zvzd5ym4h971hvcspb5iq7042lhxxc2hf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbXVsdGlwbGUgY2xvY2tzIGluIHRoZSBwYW5lbC4gRm9yIHRob3NlIHdobyBuZWVkIG1vcmUgdGhhbiBvbmUgYWRkaXRpb25hbCBjbG9jay4iLAogICJuYW1lIjogIlRpbWV6b25lcyBleHRlbnNpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFzcXVlcmFkZS1DaXJjdXMvZ25vbWUtdGltZXpvbmVzLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGltZXpvbmVzQG1hc3F1ZXJhZGUtY2lyY3VzLm5ldCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "transparent-panel@fthx", "name": "Ubuntu-like Panel", "pname": "transparent-panel", "description": "Panel: transparent, straight, reduced height, non-bold fonts. Nothing more.\n\nLooks roughly like Ubuntu session's panel (Yaru). You can easily modify the transparency level through the CSS stylesheet in the extensions's folder.", "link": "https://extensions.gnome.org/extension/2660/transparent-panel/", "shell_version_map": {"40": {"version": "3", "sha256": "042cbxdvh4nxv72dd6ikm37brgb2wc1yaxsznyavjwr53awjbbzm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "042cbxdvh4nxv72dd6ikm37brgb2wc1yaxsznyavjwr53awjbbzm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBhbmVsOiB0cmFuc3BhcmVudCwgc3RyYWlnaHQsIHJlZHVjZWQgaGVpZ2h0LCBub24tYm9sZCBmb250cy4gTm90aGluZyBtb3JlLlxuXG5Mb29rcyByb3VnaGx5IGxpa2UgVWJ1bnR1IHNlc3Npb24ncyBwYW5lbCAoWWFydSkuIFlvdSBjYW4gZWFzaWx5IG1vZGlmeSB0aGUgdHJhbnNwYXJlbmN5IGxldmVsIHRocm91Z2ggdGhlIENTUyBzdHlsZXNoZWV0IGluIHRoZSBleHRlbnNpb25zJ3MgZm9sZGVyLiIsCiAgIm5hbWUiOiAiVWJ1bnR1LWxpa2UgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "mounter@heartmire", "name": "Mounter", "pname": "mounter", "description": "Mount and umount fstab entries with 'noauto,user' options.\n\n/etc/fstab example that will be picked up and listed by the extension:\n192.168.1.1:/mnt/data/users/martin  /mnt/server-martin  nfs  noauto,user,noatime,rw  0  0\n\nToggle the menu with the shortcut: CTRL + ALT + m", "link": "https://extensions.gnome.org/extension/2666/mounter/", "shell_version_map": {"38": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "13nxnpiv8f9bzxqgv3iinb92ib9zk3jmmx273acs25lcjcw8v6l0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdW50IGFuZCB1bW91bnQgZnN0YWIgZW50cmllcyB3aXRoICdub2F1dG8sdXNlcicgb3B0aW9ucy5cblxuL2V0Yy9mc3RhYiBleGFtcGxlIHRoYXQgd2lsbCBiZSBwaWNrZWQgdXAgYW5kIGxpc3RlZCBieSB0aGUgZXh0ZW5zaW9uOlxuMTkyLjE2OC4xLjE6L21udC9kYXRhL3VzZXJzL21hcnRpbiAgL21udC9zZXJ2ZXItbWFydGluICBuZnMgIG5vYXV0byx1c2VyLG5vYXRpbWUscncgIDAgIDBcblxuVG9nZ2xlIHRoZSBtZW51IHdpdGggdGhlIHNob3J0Y3V0OiBDVFJMICsgQUxUICsgbSIsCiAgIm5hbWUiOiAiTW91bnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5tb3VudGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tYXJ0aW5oamFydG15ci9nbm9tZS1zaGVsbC1leHRlbnNpb24tbW91bnRlciIsCiAgInV1aWQiOiAibW91bnRlckBoZWFydG1pcmUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
@@ -292,12 +293,12 @@
 , {"uuid": "activities_icons@fawtytoo", "name": "Activities Icons", "pname": "activities-icons", "description": "The Activities button becomes 2 icons for selecting either Applications or Workspaces in the overview. Selecting the same view again will hide the overview.\nScrolling on the icons allows switching windows on a workspace or cycling through the Workspaces.", "link": "https://extensions.gnome.org/extension/2872/activities-icons/", "shell_version_map": {"38": {"version": "8", "sha256": "048ckyp65iv7hcb1qq4c1qfp9hwxh2fagn87hmzmvi5km14l0dba", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vYWN0aXZpdGllcy1pY29ucyIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uc0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "048ckyp65iv7hcb1qq4c1qfp9hwxh2fagn87hmzmvi5km14l0dba", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vYWN0aXZpdGllcy1pY29ucyIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uc0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "048ckyp65iv7hcb1qq4c1qfp9hwxh2fagn87hmzmvi5km14l0dba", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBBY3Rpdml0aWVzIGJ1dHRvbiBiZWNvbWVzIDIgaWNvbnMgZm9yIHNlbGVjdGluZyBlaXRoZXIgQXBwbGljYXRpb25zIG9yIFdvcmtzcGFjZXMgaW4gdGhlIG92ZXJ2aWV3LiBTZWxlY3RpbmcgdGhlIHNhbWUgdmlldyBhZ2FpbiB3aWxsIGhpZGUgdGhlIG92ZXJ2aWV3LlxuU2Nyb2xsaW5nIG9uIHRoZSBpY29ucyBhbGxvd3Mgc3dpdGNoaW5nIHdpbmRvd3Mgb24gYSB3b3Jrc3BhY2Ugb3IgY3ljbGluZyB0aHJvdWdoIHRoZSBXb3Jrc3BhY2VzLiIsCiAgIm5hbWUiOiAiQWN0aXZpdGllcyBJY29ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmF3dHl0b28vYWN0aXZpdGllcy1pY29ucyIsCiAgInV1aWQiOiAiYWN0aXZpdGllc19pY29uc0BmYXd0eXRvbyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
 , {"uuid": "transparent_panel@fawtytoo", "name": "Transparent Top Panel", "pname": "transparent-top-panel", "description": "Totally transparent top panel in the Overview.\nAlso adds drop shadows to text and icons for those using GS 3.38.", "link": "https://extensions.gnome.org/extension/2878/transparent-top-panel/", "shell_version_map": {"38": {"version": "10", "sha256": "01bb054zf774pzb35di5z6y0bxrhr1fykhfk6rzmkb8izbfqciql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudF9wYW5lbEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "01bb054zf774pzb35di5z6y0bxrhr1fykhfk6rzmkb8izbfqciql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudF9wYW5lbEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "01bb054zf774pzb35di5z6y0bxrhr1fykhfk6rzmkb8izbfqciql", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvdGFsbHkgdHJhbnNwYXJlbnQgdG9wIHBhbmVsIGluIHRoZSBPdmVydmlldy5cbkFsc28gYWRkcyBkcm9wIHNoYWRvd3MgdG8gdGV4dCBhbmQgaWNvbnMgZm9yIHRob3NlIHVzaW5nIEdTIDMuMzguIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudF9wYW5lbEBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "overview_full_bright@fawtytoo", "name": "Overview Full Bright", "pname": "overview-full-bright", "description": "Shows the Overview in full brightness and without the vignette.\n\nNOTE: This will not be developed beyond GS 3.38.", "link": "https://extensions.gnome.org/extension/2884/overview-full-bright/", "shell_version_map": {"38": {"version": "4", "sha256": "1dm5h1kl40lsly9a80ch4mfi67ppwd7dgg4idx8vrcx5iksnzxil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSBPdmVydmlldyBpbiBmdWxsIGJyaWdodG5lc3MgYW5kIHdpdGhvdXQgdGhlIHZpZ25ldHRlLlxuXG5OT1RFOiBUaGlzIHdpbGwgbm90IGJlIGRldmVsb3BlZCBiZXlvbmQgR1MgMy4zOC4iLAogICJuYW1lIjogIk92ZXJ2aWV3IEZ1bGwgQnJpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm92ZXJ2aWV3X2Z1bGxfYnJpZ2h0QGZhd3R5dG9vIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "trayIconsReloaded@selfmade.pl", "name": "Tray Icons: Reloaded", "pname": "tray-icons-reloaded", "description": "Tray Icons Reloaded is a GNOME Shell extension which bring back Tray Icons to top panel, with additional features.\n\n>>> Read compatibility note on GitHub there is also bug reporting <<<", "link": "https://extensions.gnome.org/extension/2890/tray-icons-reloaded/", "shell_version_map": {"38": {"version": "11", "sha256": "19icczlk4j8a1fdl19lqzinx9l82lwnvj5q8xaazvgm4yicxmh4b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvVHJheS1JY29ucy1SZWxvYWRlZCIsCiAgInV1aWQiOiAidHJheUljb25zUmVsb2FkZWRAc2VsZm1hZGUucGwiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "16", "sha256": "0bwpxfc2wjvv254fnr05q3cvs1r0jw0fdj7n8b20vdwry48n30vb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAib3Blbi1ibGFja2xpc3QiOiBbCiAgICAiRWxlY3Ryb24iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hcnRpblBML1RyYXktSWNvbnMtUmVsb2FkZWQiLAogICJ1dWlkIjogInRyYXlJY29uc1JlbG9hZGVkQHNlbGZtYWRlLnBsIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "19", "sha256": "00sgwpkfwfaqjf58j3i3w4brinmrc6x0dr6pf06vbp8vpzf51vdc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAib3Blbi1ibGFja2xpc3QiOiBbCiAgICAiRWxlY3Ryb24iLAogICAgIllhZCIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJheUljb25zUmVsb2FkZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvVHJheS1JY29ucy1SZWxvYWRlZCIsCiAgInV1aWQiOiAidHJheUljb25zUmVsb2FkZWRAc2VsZm1hZGUucGwiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
-, {"uuid": "messagingmenu@lauinger-clan.de", "name": "Messaging Menu", "pname": "messaging-menu", "description": "A Messaging Menu for the Gnome Shell. All Email and Chat Applications in one Place.", "link": "https://extensions.gnome.org/extension/2896/messaging-menu/", "shell_version_map": {"38": {"version": "4", "sha256": "1xa0hyvs2aw1z7kg5gcsgh2pjn7b13zhps98j4xpwfiv6zm0sa73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "8", "sha256": "1pxf5rk8nqm6scm38np546g5z9xlnf2nghzbayrxk91b67qq6znv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9tZXNzYWdpbmdtZW51IiwKICAidXVpZCI6ICJtZXNzYWdpbmdtZW51QGxhdWluZ2VyLWNsYW4uZGUiLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "1pxf5rk8nqm6scm38np546g5z9xlnf2nghzbayrxk91b67qq6znv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9tZXNzYWdpbmdtZW51IiwKICAidXVpZCI6ICJtZXNzYWdpbmdtZW51QGxhdWluZ2VyLWNsYW4uZGUiLAogICJ2ZXJzaW9uIjogOAp9"}}}
-, {"uuid": "SettingsCenter@lauinger-clan.de", "name": "SettingsCenter", "pname": "settingscenter", "description": "Settings Center is a customizable drop-down menu for quickly launching frequently used apps in Gnome:Shell via the user/aggregate menu. Originally created by XES.\n\nv10: fix for older versions, i havent tested this on anything below 3.10, v9: minor cleanup, now has an icon for the main menu entry. \n\nSettings shortcuts : gnome-tweak-tool, dconf-editor, gconf-editor, gnome-session-properties, gnome-shell-extension-prefs, seahorse and nvidia-settings. You can add your own\n\nOriginal source : http://svn.xesnet.fr/gnomeextensions (3.8 replace Settings code credit IsacDaavid)\n\nCredit to @peaceseeker for updating this with a working repo, i do wish it could have been pushed to me but my blank repo was deleted as it was stale, i failed to push to git before going back to work around 1.5 years ago and i hadn't been active enough to notice anything other than emails(these things help people!)", "link": "https://extensions.gnome.org/extension/2899/settingscenter/", "shell_version_map": {"38": {"version": "2", "sha256": "150x8xp9xm28scw5lcmxq7xcfa17wbzy2y381xsv0mv0b03kvyqy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuNS40IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvWEVTLVNldHRpbmdzLUNlbnRlci1FeHRlbnNpb24iLAogICJ1dWlkIjogIlNldHRpbmdzQ2VudGVyQGxhdWluZ2VyLWNsYW4uZGUiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "6", "sha256": "0vbvkvrx9yd2jci452m1wdqhx1d1a858kgg45abqds8d7vdmlph1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L1hFUy1TZXR0aW5ncy1DZW50ZXItRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJTZXR0aW5nc0NlbnRlckBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0vbvkvrx9yd2jci452m1wdqhx1d1a858kgg45abqds8d7vdmlph1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ2hyaXNMYXVpbmdlcjc3L1hFUy1TZXR0aW5ncy1DZW50ZXItRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJTZXR0aW5nc0NlbnRlckBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
+, {"uuid": "trayIconsReloaded@selfmade.pl", "name": "Tray Icons: Reloaded", "pname": "tray-icons-reloaded", "description": "Tray Icons Reloaded is a GNOME Shell extension which bring back Tray Icons to top panel, with additional features.\n\n>>> Read compatibility note on GitHub there is also bug reporting <<<", "link": "https://extensions.gnome.org/extension/2890/tray-icons-reloaded/", "shell_version_map": {"38": {"version": "11", "sha256": "19icczlk4j8a1fdl19lqzinx9l82lwnvj5q8xaazvgm4yicxmh4b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvVHJheS1JY29ucy1SZWxvYWRlZCIsCiAgInV1aWQiOiAidHJheUljb25zUmVsb2FkZWRAc2VsZm1hZGUucGwiLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "16", "sha256": "0bwpxfc2wjvv254fnr05q3cvs1r0jw0fdj7n8b20vdwry48n30vb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAib3Blbi1ibGFja2xpc3QiOiBbCiAgICAiRWxlY3Ryb24iCiAgXSwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRyYXlJY29uc1JlbG9hZGVkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL01hcnRpblBML1RyYXktSWNvbnMtUmVsb2FkZWQiLAogICJ1dWlkIjogInRyYXlJY29uc1JlbG9hZGVkQHNlbGZtYWRlLnBsIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "21", "sha256": "1h9wbslnwhy5zxw7qgvxzlar82wbhmd19cbixfmnk0xfml11gvjb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYXkgSWNvbnMgUmVsb2FkZWQgaXMgYSBHTk9NRSBTaGVsbCBleHRlbnNpb24gd2hpY2ggYnJpbmcgYmFjayBUcmF5IEljb25zIHRvIHRvcCBwYW5lbCwgd2l0aCBhZGRpdGlvbmFsIGZlYXR1cmVzLlxuXG4+Pj4gUmVhZCBjb21wYXRpYmlsaXR5IG5vdGUgb24gR2l0SHViIHRoZXJlIGlzIGFsc28gYnVnIHJlcG9ydGluZyA8PDwiLAogICJuYW1lIjogIlRyYXkgSWNvbnM6IFJlbG9hZGVkIiwKICAib3Blbi1ibGFja2xpc3QiOiBbCiAgICAiRWxlY3Ryb24iLAogICAgIllhZCIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudHJheUljb25zUmVsb2FkZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvVHJheS1JY29ucy1SZWxvYWRlZCIsCiAgInV1aWQiOiAidHJheUljb25zUmVsb2FkZWRAc2VsZm1hZGUucGwiLAogICJ2ZXJzaW9uIjogMjEKfQ=="}}}
+, {"uuid": "messagingmenu@lauinger-clan.de", "name": "Messaging Menu", "pname": "messaging-menu", "description": "A Messaging Menu for the Gnome Shell. All Email and Chat Applications in one Place.", "link": "https://extensions.gnome.org/extension/2896/messaging-menu/", "shell_version_map": {"38": {"version": "4", "sha256": "1xa0hyvs2aw1z7kg5gcsgh2pjn7b13zhps98j4xpwfiv6zm0sa73", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "10", "sha256": "1aynp04pxp3wbjxf264y731sk7cgas9y494b1ca4y9mk85d8w2qz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1aynp04pxp3wbjxf264y731sk7cgas9y494b1ca4y9mk85d8w2qz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgTWVzc2FnaW5nIE1lbnUgZm9yIHRoZSBHbm9tZSBTaGVsbC4gQWxsIEVtYWlsIGFuZCBDaGF0IEFwcGxpY2F0aW9ucyBpbiBvbmUgUGxhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAibWVzc2FnaW5nbWVudSIsCiAgIm5hbWUiOiAiTWVzc2FnaW5nIE1lbnUiLAogICJvcmlnaW5hbC1hdXRob3IiOiAic2luaXN0ZXJzdHVmIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lc3NhZ2luZ21lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvbWVzc2FnaW5nbWVudSIsCiAgInV1aWQiOiAibWVzc2FnaW5nbWVudUBsYXVpbmdlci1jbGFuLmRlIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"uuid": "SettingsCenter@lauinger-clan.de", "name": "SettingsCenter", "pname": "settingscenter", "description": "Settings Center is a customizable drop-down menu for quickly launching frequently used apps in Gnome:Shell via the user/aggregate menu. Originally created by XES.\n\nv10: fix for older versions, i havent tested this on anything below 3.10, v9: minor cleanup, now has an icon for the main menu entry. \n\nSettings shortcuts : gnome-tweak-tool, dconf-editor, gconf-editor, gnome-session-properties, gnome-shell-extension-prefs, seahorse and nvidia-settings. You can add your own\n\nOriginal source : http://svn.xesnet.fr/gnomeextensions (3.8 replace Settings code credit IsacDaavid)\n\nCredit to @peaceseeker for updating this with a working repo, i do wish it could have been pushed to me but my blank repo was deleted as it was stale, i failed to push to git before going back to work around 1.5 years ago and i hadn't been active enough to notice anything other than emails(these things help people!)", "link": "https://extensions.gnome.org/extension/2899/settingscenter/", "shell_version_map": {"38": {"version": "2", "sha256": "150x8xp9xm28scw5lcmxq7xcfa17wbzy2y381xsv0mv0b03kvyqy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy40IiwKICAgICIzLjYiLAogICAgIjMuNS40IiwKICAgICIzLjgiLAogICAgIjMuMTAiLAogICAgIjMuMTIiLAogICAgIjMuMTQiLAogICAgIjMuMTYiLAogICAgIjMuMTgiLAogICAgIjMuMjAiLAogICAgIjMuMjIiLAogICAgIjMuMjQiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9DaHJpc0xhdWluZ2VyNzcvWEVTLVNldHRpbmdzLUNlbnRlci1FeHRlbnNpb24iLAogICJ1dWlkIjogIlNldHRpbmdzQ2VudGVyQGxhdWluZ2VyLWNsYW4uZGUiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "9", "sha256": "1687rhzy0ckpfph1x7ga05wmg6515p5y5yd5sq585hc8y2bclp7m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "1687rhzy0ckpfph1x7ga05wmg6515p5y5yd5sq585hc8y2bclp7m", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldHRpbmdzIENlbnRlciBpcyBhIGN1c3RvbWl6YWJsZSBkcm9wLWRvd24gbWVudSBmb3IgcXVpY2tseSBsYXVuY2hpbmcgZnJlcXVlbnRseSB1c2VkIGFwcHMgaW4gR25vbWU6U2hlbGwgdmlhIHRoZSB1c2VyL2FnZ3JlZ2F0ZSBtZW51LiBPcmlnaW5hbGx5IGNyZWF0ZWQgYnkgWEVTLlxuXG52MTA6IGZpeCBmb3Igb2xkZXIgdmVyc2lvbnMsIGkgaGF2ZW50IHRlc3RlZCB0aGlzIG9uIGFueXRoaW5nIGJlbG93IDMuMTAsIHY5OiBtaW5vciBjbGVhbnVwLCBub3cgaGFzIGFuIGljb24gZm9yIHRoZSBtYWluIG1lbnUgZW50cnkuIFxuXG5TZXR0aW5ncyBzaG9ydGN1dHMgOiBnbm9tZS10d2Vhay10b29sLCBkY29uZi1lZGl0b3IsIGdjb25mLWVkaXRvciwgZ25vbWUtc2Vzc2lvbi1wcm9wZXJ0aWVzLCBnbm9tZS1zaGVsbC1leHRlbnNpb24tcHJlZnMsIHNlYWhvcnNlIGFuZCBudmlkaWEtc2V0dGluZ3MuIFlvdSBjYW4gYWRkIHlvdXIgb3duXG5cbk9yaWdpbmFsIHNvdXJjZSA6IGh0dHA6Ly9zdm4ueGVzbmV0LmZyL2dub21lZXh0ZW5zaW9ucyAoMy44IHJlcGxhY2UgU2V0dGluZ3MgY29kZSBjcmVkaXQgSXNhY0RhYXZpZClcblxuQ3JlZGl0IHRvIEBwZWFjZXNlZWtlciBmb3IgdXBkYXRpbmcgdGhpcyB3aXRoIGEgd29ya2luZyByZXBvLCBpIGRvIHdpc2ggaXQgY291bGQgaGF2ZSBiZWVuIHB1c2hlZCB0byBtZSBidXQgbXkgYmxhbmsgcmVwbyB3YXMgZGVsZXRlZCBhcyBpdCB3YXMgc3RhbGUsIGkgZmFpbGVkIHRvIHB1c2ggdG8gZ2l0IGJlZm9yZSBnb2luZyBiYWNrIHRvIHdvcmsgYXJvdW5kIDEuNSB5ZWFycyBhZ28gYW5kIGkgaGFkbid0IGJlZW4gYWN0aXZlIGVub3VnaCB0byBub3RpY2UgYW55dGhpbmcgb3RoZXIgdGhhbiBlbWFpbHModGhlc2UgdGhpbmdzIGhlbHAgcGVvcGxlISkiLAogICJsb2NhbGUiOiAiL3Vzci9zaGFyZS9sb2NhbGUiLAogICJuYW1lIjogIlNldHRpbmdzQ2VudGVyIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIlhlcywgbDMwMGx2bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NocmlzTGF1aW5nZXI3Ny9YRVMtU2V0dGluZ3MtQ2VudGVyLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiU2V0dGluZ3NDZW50ZXJAbGF1aW5nZXItY2xhbi5kZSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "auto-mute-toggle@garotosopa.github.io", "name": "Auto-mute toggle", "pname": "auto-mute-toggle", "description": "Toggle whether to auto-mute speakers when headphones are plugged in.", "link": "https://extensions.gnome.org/extension/2905/auto-mute-toggle/", "shell_version_map": {"40": {"version": "6", "sha256": "1lyh51gvsh9ydip77vjj8rigjiah97lh8gp91jcpqblwx69fs3dk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSB3aGV0aGVyIHRvIGF1dG8tbXV0ZSBzcGVha2VycyB3aGVuIGhlYWRwaG9uZXMgYXJlIHBsdWdnZWQgaW4uIiwKICAibmFtZSI6ICJBdXRvLW11dGUgdG9nZ2xlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dhcm90b3NvcGEvZ3NlLWF1dG8tbXV0ZS10b2dnbGUiLAogICJ1dWlkIjogImF1dG8tbXV0ZS10b2dnbGVAZ2Fyb3Rvc29wYS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "optimus-manager-indicator@andr3slelouch.github.com", "name": "Optimus Manager Indicator", "pname": "optimus-manager-indicator", "description": "Intel/Hybrid/NVIDIA GPU Switch Note: The GPU mode activated doesn't show up in the options, by example: When you turn on the PC you are gonna be in Intel mode so Intel option is not gonna be shown. Note: Optimus Manager Indicator is made(for the moment) for Arch based distributions with optimus-manager.", "link": "https://extensions.gnome.org/extension/2908/optimus-manager-indicator/", "shell_version_map": {"38": {"version": "5", "sha256": "1mqgnwfdbd2460ngkkq6wiswvb9bvwgm5n32j7jgvn1xhb3mqn58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVsL0h5YnJpZC9OVklESUEgR1BVIFN3aXRjaCBOb3RlOiBUaGUgR1BVIG1vZGUgYWN0aXZhdGVkIGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgb3B0aW9ucywgYnkgZXhhbXBsZTogV2hlbiB5b3UgdHVybiBvbiB0aGUgUEMgeW91IGFyZSBnb25uYSBiZSBpbiBJbnRlbCBtb2RlIHNvIEludGVsIG9wdGlvbiBpcyBub3QgZ29ubmEgYmUgc2hvd24uIE5vdGU6IE9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IgaXMgbWFkZShmb3IgdGhlIG1vbWVudCkgZm9yIEFyY2ggYmFzZWQgZGlzdHJpYnV0aW9ucyB3aXRoIG9wdGltdXMtbWFuYWdlci4iLAogICJuYW1lIjogIk9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyM3NsZWxvdWNoL09wdGltdXMtTWFuYWdlci1JbmRpY2F0b3IiLAogICJ1dWlkIjogIm9wdGltdXMtbWFuYWdlci1pbmRpY2F0b3JAYW5kcjNzbGVsb3VjaC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "1mqgnwfdbd2460ngkkq6wiswvb9bvwgm5n32j7jgvn1xhb3mqn58", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkludGVsL0h5YnJpZC9OVklESUEgR1BVIFN3aXRjaCBOb3RlOiBUaGUgR1BVIG1vZGUgYWN0aXZhdGVkIGRvZXNuJ3Qgc2hvdyB1cCBpbiB0aGUgb3B0aW9ucywgYnkgZXhhbXBsZTogV2hlbiB5b3UgdHVybiBvbiB0aGUgUEMgeW91IGFyZSBnb25uYSBiZSBpbiBJbnRlbCBtb2RlIHNvIEludGVsIG9wdGlvbiBpcyBub3QgZ29ubmEgYmUgc2hvd24uIE5vdGU6IE9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IgaXMgbWFkZShmb3IgdGhlIG1vbWVudCkgZm9yIEFyY2ggYmFzZWQgZGlzdHJpYnV0aW9ucyB3aXRoIG9wdGltdXMtbWFuYWdlci4iLAogICJuYW1lIjogIk9wdGltdXMgTWFuYWdlciBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLjAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmRyM3NsZWxvdWNoL09wdGltdXMtTWFuYWdlci1JbmRpY2F0b3IiLAogICJ1dWlkIjogIm9wdGltdXMtbWFuYWdlci1pbmRpY2F0b3JAYW5kcjNzbGVsb3VjaC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
-, {"uuid": "BringOutSubmenuOfPowerOffLogoutButton@pratap.fastmail.fm", "name": "Bring Out Submenu Of Power Off/Logout Button", "pname": "bring-out-submenu-of-power-offlogout-button", "description": "Bring Out Submenu Of Power Off/Logout Button and Rearrange the Order of System Menu.", "link": "https://extensions.gnome.org/extension/2917/bring-out-submenu-of-power-offlogout-button/", "shell_version_map": {"38": {"version": "26", "sha256": "01zwpmawzqfqzr4zjhvkc8k9padip01yr07l2xpavzwj5c8zkz2z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "40": {"version": "26", "sha256": "01zwpmawzqfqzr4zjhvkc8k9padip01yr07l2xpavzwj5c8zkz2z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "41": {"version": "26", "sha256": "01zwpmawzqfqzr4zjhvkc8k9padip01yr07l2xpavzwj5c8zkz2z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI2Cn0="}}}
+, {"uuid": "BringOutSubmenuOfPowerOffLogoutButton@pratap.fastmail.fm", "name": "Bring Out Submenu Of Power Off/Logout Button", "pname": "bring-out-submenu-of-power-offlogout-button", "description": "Bring Out Submenu Of Power Off/Logout Button and Rearrange the Order of System Menu.", "link": "https://extensions.gnome.org/extension/2917/bring-out-submenu-of-power-offlogout-button/", "shell_version_map": {"38": {"version": "27", "sha256": "0dfslg3vk1g5fah9jdrp3jjdvymk34ac5ms3v6iamp38aji0d6y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "40": {"version": "27", "sha256": "0dfslg3vk1g5fah9jdrp3jjdvymk34ac5ms3v6iamp38aji0d6y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI3Cn0="}, "41": {"version": "27", "sha256": "0dfslg3vk1g5fah9jdrp3jjdvymk34ac5ms3v6iamp38aji0d6y8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5nIE91dCBTdWJtZW51IE9mIFBvd2VyIE9mZi9Mb2dvdXQgQnV0dG9uIGFuZCBSZWFycmFuZ2UgdGhlIE9yZGVyIG9mIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiQnJpbmcgT3V0IFN1Ym1lbnUgT2YgUG93ZXIgT2ZmL0xvZ291dCBCdXR0b24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYnJuZ291dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0JyaW5nLU91dC1TdWJtZW51LW9mLVBvd2VyLU9mZi1Mb2dvdXQiLAogICJ1dWlkIjogIkJyaW5nT3V0U3VibWVudU9mUG93ZXJPZmZMb2dvdXRCdXR0b25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
 , {"uuid": "batterytimepercentagecompact@sagrland.de", "name": "Battery Time (Percentage) Compact", "pname": "battery-time-percentage-compact", "description": "Shows the remaining time until fully charged/discharged as well as percentage of battery charge in the panel.", "link": "https://extensions.gnome.org/extension/2929/battery-time-percentage-compact/", "shell_version_map": {"38": {"version": "5", "sha256": "1ybq8k2nv1ym6dr9lkimrpbi9fhs2pnrm27382wpfly7qq1nflg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSByZW1haW5pbmcgdGltZSB1bnRpbCBmdWxseSBjaGFyZ2VkL2Rpc2NoYXJnZWQgYXMgd2VsbCBhcyBwZXJjZW50YWdlIG9mIGJhdHRlcnkgY2hhcmdlIGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAibmFtZSI6ICJCYXR0ZXJ5IFRpbWUgKFBlcmNlbnRhZ2UpIENvbXBhY3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1ybq8k2nv1ym6dr9lkimrpbi9fhs2pnrm27382wpfly7qq1nflg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSByZW1haW5pbmcgdGltZSB1bnRpbCBmdWxseSBjaGFyZ2VkL2Rpc2NoYXJnZWQgYXMgd2VsbCBhcyBwZXJjZW50YWdlIG9mIGJhdHRlcnkgY2hhcmdlIGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAibmFtZSI6ICJCYXR0ZXJ5IFRpbWUgKFBlcmNlbnRhZ2UpIENvbXBhY3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1ybq8k2nv1ym6dr9lkimrpbi9fhs2pnrm27382wpfly7qq1nflg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIHRoZSByZW1haW5pbmcgdGltZSB1bnRpbCBmdWxseSBjaGFyZ2VkL2Rpc2NoYXJnZWQgYXMgd2VsbCBhcyBwZXJjZW50YWdlIG9mIGJhdHRlcnkgY2hhcmdlIGluIHRoZSBwYW5lbC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5dGltZXBlcmNlbnRhZ2Vjb21wYWN0IiwKICAibmFtZSI6ICJCYXR0ZXJ5IFRpbWUgKFBlcmNlbnRhZ2UpIENvbXBhY3QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2FHckxhbmQvZ25vbWUtc2hlbGwtYmF0dGVyeS10aW1lLXBlcmNlbnRhZ2UtY29tcGFjdCIsCiAgInV1aWQiOiAiYmF0dGVyeXRpbWVwZXJjZW50YWdlY29tcGFjdEBzYWdybGFuZC5kZSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "executor@raujonas.github.io", "name": "Executor", "pname": "executor", "description": "Execute multiple shell commands periodically with separate intervals and display the output in gnome top bar.", "link": "https://extensions.gnome.org/extension/2932/executor/", "shell_version_map": {"38": {"version": "17", "sha256": "1g24qy5cai3kvl929mhr0hgqmknddbklncmjpj7fabr02fjsbprv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhdWpvbmFzL2V4ZWN1dG9yIiwKICAidXVpZCI6ICJleGVjdXRvckByYXVqb25hcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "1g24qy5cai3kvl929mhr0hgqmknddbklncmjpj7fabr02fjsbprv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhdWpvbmFzL2V4ZWN1dG9yIiwKICAidXVpZCI6ICJleGVjdXRvckByYXVqb25hcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "1g24qy5cai3kvl929mhr0hgqmknddbklncmjpj7fabr02fjsbprv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4ZWN1dGUgbXVsdGlwbGUgc2hlbGwgY29tbWFuZHMgcGVyaW9kaWNhbGx5IHdpdGggc2VwYXJhdGUgaW50ZXJ2YWxzIGFuZCBkaXNwbGF5IHRoZSBvdXRwdXQgaW4gZ25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIkV4ZWN1dG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwLjIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3JhdWpvbmFzL2V4ZWN1dG9yIiwKICAidXVpZCI6ICJleGVjdXRvckByYXVqb25hcy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "ControlBlurEffectOnLockScreen@pratap.fastmail.fm", "name": "Control Blur Effect On Lock Screen", "pname": "control-blur-effect-on-lock-screen", "description": "Control the Blur Effect On Lock Screen.", "link": "https://extensions.gnome.org/extension/2935/control-blur-effect-on-lock-screen/", "shell_version_map": {"38": {"version": "14", "sha256": "176qxx2zykzzjq2xf8sf1c83r1skaxa2mzmp51v8bq3vbbxp0wij", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9Db250cm9sX0JsdXJfRWZmZWN0X09uX0xvY2tfU2NyZWVuIiwKICAidXVpZCI6ICJDb250cm9sQmx1ckVmZmVjdE9uTG9ja1NjcmVlbkBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "40": {"version": "17", "sha256": "1n8442n54hwjx1z4qww5mvb3w5v322d9zc78wm0kx378p4s3shsq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0NvbnRyb2xfQmx1cl9FZmZlY3RfT25fTG9ja19TY3JlZW4iLAogICJ1dWlkIjogIkNvbnRyb2xCbHVyRWZmZWN0T25Mb2NrU2NyZWVuQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAxNwp9"}, "41": {"version": "17", "sha256": "1n8442n54hwjx1z4qww5mvb3w5v322d9zc78wm0kx378p4s3shsq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdGhlIEJsdXIgRWZmZWN0IE9uIExvY2sgU2NyZWVuLiIsCiAgIm5hbWUiOiAiQ29udHJvbCBCbHVyIEVmZmVjdCBPbiBMb2NrIFNjcmVlbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0NvbnRyb2xfQmx1cl9FZmZlY3RfT25fTG9ja19TY3JlZW4iLAogICJ1dWlkIjogIkNvbnRyb2xCbHVyRWZmZWN0T25Mb2NrU2NyZWVuQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiAxNwp9"}}}
@@ -305,7 +306,7 @@
 , {"uuid": "light-dict@tuberry.github.io", "name": "Light Dict", "pname": "light-dict", "description": "Lightweight extension for on-the-fly manipulation to primary selections, especially optimized for Dictionary lookups.\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/2959/light-dict/", "shell_version_map": {"38": {"version": "47", "sha256": "1l36l9qmcz7c6i81w5fv083bg01qsgz681c2lan8f87hqdipl4r7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3Igb24tdGhlLWZseSBtYW5pcHVsYXRpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb25zLCBlc3BlY2lhbGx5IG9wdGltaXplZCBmb3IgRGljdGlvbmFyeSBsb29rdXBzLlxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsaWdodC1kaWN0IiwKICAibmFtZSI6ICJMaWdodCBEaWN0IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxpZ2h0LWRpY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L2xpZ2h0LWRpY3QiLAogICJ1dWlkIjogImxpZ2h0LWRpY3RAdHViZXJyeS5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNDcKfQ=="}, "40": {"version": "58", "sha256": "0x3rk3p2vlyd2n23jlmwqfc1akbbjfhyn9w1v44byw1nfc3b0n8z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3Igb24tdGhlLWZseSBtYW5pcHVsYXRpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb25zLCBlc3BlY2lhbGx5IG9wdGltaXplZCBmb3IgRGljdGlvbmFyeSBsb29rdXBzLlxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGlnaHQtZGljdCIsCiAgIm5hbWUiOiAiTGlnaHQgRGljdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1kaWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvbGlnaHQtZGljdCIsCiAgInV1aWQiOiAibGlnaHQtZGljdEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1OAp9"}, "41": {"version": "65", "sha256": "1hjaw62pxrpgismg6dhxqp04qhk1d4xkwlgzymmra7d428qjnxf2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpZ2h0d2VpZ2h0IGV4dGVuc2lvbiBmb3Igb24tdGhlLWZseSBtYW5pcHVsYXRpb24gdG8gcHJpbWFyeSBzZWxlY3Rpb25zLCBlc3BlY2lhbGx5IG9wdGltaXplZCBmb3IgRGljdGlvbmFyeSBsb29rdXBzLlxuXG5Gb3Igc3VwcG9ydCwgcGxlYXNlIHJlcG9ydCBhbnkgaXNzdWVzIHZpYSB0aGUgaG9tZXBhZ2UgbGluayBiZWxvdy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1zaGVsbC1leHRlbnNpb24tbGlnaHQtZGljdCIsCiAgIm5hbWUiOiAiTGlnaHQgRGljdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5saWdodC1kaWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvbGlnaHQtZGljdCIsCiAgInV1aWQiOiAibGlnaHQtZGljdEB0dWJlcnJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2NQp9"}}}
 , {"uuid": "InternetSpeedMeter@alshakib.dev", "name": "Internet Speed Meter", "pname": "internet-speed-meter", "description": "Simple and minimal internet speed meter extension for gnome shell", "link": "https://extensions.gnome.org/extension/2980/internet-speed-meter/", "shell_version_map": {"38": {"version": "9", "sha256": "1m8nlhk6zixbi3i081fcafdp07swfsrqjs2z81ghi7kj93hmj8vk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxTaGFraWIvSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAidXVpZCI6ICJJbnRlcm5ldFNwZWVkTWV0ZXJAYWxzaGFraWIuZGV2IiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "1m8nlhk6zixbi3i081fcafdp07swfsrqjs2z81ghi7kj93hmj8vk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxTaGFraWIvSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAidXVpZCI6ICJJbnRlcm5ldFNwZWVkTWV0ZXJAYWxzaGFraWIuZGV2IiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "1m8nlhk6zixbi3i081fcafdp07swfsrqjs2z81ghi7kj93hmj8vk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBhbmQgbWluaW1hbCBpbnRlcm5ldCBzcGVlZCBtZXRlciBleHRlbnNpb24gZm9yIGdub21lIHNoZWxsIiwKICAibmFtZSI6ICJJbnRlcm5ldCBTcGVlZCBNZXRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yMCIsCiAgICAiMy4yMiIsCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWxTaGFraWIvSW50ZXJuZXRTcGVlZE1ldGVyIiwKICAidXVpZCI6ICJJbnRlcm5ldFNwZWVkTWV0ZXJAYWxzaGFraWIuZGV2IiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
 , {"uuid": "IP-Finder@linxgem33.com", "name": "IP Finder", "pname": "ip-finder", "description": "Displays useful information about your public IP Address\n\nIP Finder displays information about your public IP address, hostname, country, AS Block, as well as  a map tile of your Geolocation and country flag,  this extension is Also Useful for informational purposes to monitor VPN changes and public network IP Addresses.\n\n=====================\nIP Finder can monitor in real time\n=====================\n*Wireguard connections\n*OpenVPN connections\n*IPV4/6 connections\n*Proxy connections\n*VPN vendor applications\n*Manual static IP changes\n\n====================\nIP Finder has added security\n====================\nNewly developed revised code base using open technologies and using API's for Public IP and Map Tile image locations using GET requests over HTTPS for a added layer of encrypted  Security, Please see source code for more details.\n\n====================\nCompatible GNOME shell - 3.36 and newer.", "link": "https://extensions.gnome.org/extension/2983/ip-finder/", "shell_version_map": {"38": {"version": "7", "sha256": "0qnmmg8q6xdv0rg90rzimqzsnggnsq2x8nmz998x59q2ik67kqgq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0xpbnhHZW0zMy9JUC1GaW5kZXIiLAogICJ1dWlkIjogIklQLUZpbmRlckBsaW54Z2VtMzMuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "9", "sha256": "1iglj9l7c69ics43r675w4azc7x680n21vfr6jkdha8j47a79sn3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vTGlueEdlbTMzL0lQLUZpbmRlciIsCiAgInV1aWQiOiAiSVAtRmluZGVyQGxpbnhnZW0zMy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "1iglj9l7c69ics43r675w4azc7x680n21vfr6jkdha8j47a79sn3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHVzZWZ1bCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBBZGRyZXNzXG5cbklQIEZpbmRlciBkaXNwbGF5cyBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIHB1YmxpYyBJUCBhZGRyZXNzLCBob3N0bmFtZSwgY291bnRyeSwgQVMgQmxvY2ssIGFzIHdlbGwgYXMgIGEgbWFwIHRpbGUgb2YgeW91ciBHZW9sb2NhdGlvbiBhbmQgY291bnRyeSBmbGFnLCAgdGhpcyBleHRlbnNpb24gaXMgQWxzbyBVc2VmdWwgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgdG8gbW9uaXRvciBWUE4gY2hhbmdlcyBhbmQgcHVibGljIG5ldHdvcmsgSVAgQWRkcmVzc2VzLlxuXG49PT09PT09PT09PT09PT09PT09PT1cbklQIEZpbmRlciBjYW4gbW9uaXRvciBpbiByZWFsIHRpbWVcbj09PT09PT09PT09PT09PT09PT09PVxuKldpcmVndWFyZCBjb25uZWN0aW9uc1xuKk9wZW5WUE4gY29ubmVjdGlvbnNcbipJUFY0LzYgY29ubmVjdGlvbnNcbipQcm94eSBjb25uZWN0aW9uc1xuKlZQTiB2ZW5kb3IgYXBwbGljYXRpb25zXG4qTWFudWFsIHN0YXRpYyBJUCBjaGFuZ2VzXG5cbj09PT09PT09PT09PT09PT09PT09XG5JUCBGaW5kZXIgaGFzIGFkZGVkIHNlY3VyaXR5XG49PT09PT09PT09PT09PT09PT09PVxuTmV3bHkgZGV2ZWxvcGVkIHJldmlzZWQgY29kZSBiYXNlIHVzaW5nIG9wZW4gdGVjaG5vbG9naWVzIGFuZCB1c2luZyBBUEkncyBmb3IgUHVibGljIElQIGFuZCBNYXAgVGlsZSBpbWFnZSBsb2NhdGlvbnMgdXNpbmcgR0VUIHJlcXVlc3RzIG92ZXIgSFRUUFMgZm9yIGEgYWRkZWQgbGF5ZXIgb2YgZW5jcnlwdGVkICBTZWN1cml0eSwgUGxlYXNlIHNlZSBzb3VyY2UgY29kZSBmb3IgbW9yZSBkZXRhaWxzLlxuXG49PT09PT09PT09PT09PT09PT09PVxuQ29tcGF0aWJsZSBHTk9NRSBzaGVsbCAtIDMuMzYgYW5kIG5ld2VyLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJpcC1maW5kZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpcC1maW5kZXIiLAogICJuYW1lIjogIklQIEZpbmRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wdWJsaWMtaXAtYWRkcmVzcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vTGlueEdlbTMzL0lQLUZpbmRlciIsCiAgInV1aWQiOiAiSVAtRmluZGVyQGxpbnhnZW0zMy5jb20iLAogICJ2ZXJzaW9uIjogOQp9"}}}
-, {"uuid": "runcat@kolesnikov.se", "name": "RunCat", "pname": "runcat", "description": "The cat tells you the CPU usage by running speed", "link": "https://extensions.gnome.org/extension/2986/runcat/", "shell_version_map": {"38": {"version": "15", "sha256": "0crmi0n4vp7rhc6pnml0b1d4pszyhnp30cvj1r80agslvr8x7hgf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "40": {"version": "15", "sha256": "0crmi0n4vp7rhc6pnml0b1d4pszyhnp30cvj1r80agslvr8x7hgf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}, "41": {"version": "15", "sha256": "0crmi0n4vp7rhc6pnml0b1d4pszyhnp30cvj1r80agslvr8x7hgf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTUKfQ=="}}}
+, {"uuid": "runcat@kolesnikov.se", "name": "RunCat", "pname": "runcat", "description": "The cat tells you the CPU usage by running speed", "link": "https://extensions.gnome.org/extension/2986/runcat/", "shell_version_map": {"38": {"version": "17", "sha256": "19fkadmqndwpw5q5ab4mym7whc0cfs2vl6xh533z7p2rg2hxfslx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "19fkadmqndwpw5q5ab4mym7whc0cfs2vl6xh533z7p2rg2hxfslx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "19fkadmqndwpw5q5ab4mym7whc0cfs2vl6xh533z7p2rg2hxfslx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBjYXQgdGVsbHMgeW91IHRoZSBDUFUgdXNhZ2UgYnkgcnVubmluZyBzcGVlZCIsCiAgIm5hbWUiOiAiUnVuQ2F0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93aW4wZXJyL2dub21lLXJ1bmNhdCIsCiAgInV1aWQiOiAicnVuY2F0QGtvbGVzbmlrb3Yuc2UiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "bowser-gnome@kronosoul.xyz", "name": "Bowser Gnome Extension", "pname": "bowser-gnome-extension", "description": "Create rules to open specific websites in specific web browsers for links clicked in any application on your computer. (emails, chat etc)", "link": "https://extensions.gnome.org/extension/2989/bowser-gnome-extension/", "shell_version_map": {"38": {"version": "10", "sha256": "0y41xz4j24lc50ai8dcvl1l773ral59ixcpvkjq1l82x7baq60pk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImFwcGxpY2F0aW9uLWlkIjogIm9yZy5rcm9ub3NvdWwuQm93c2VyIiwKICAiZGVzY3JpcHRpb24iOiAiQ3JlYXRlIHJ1bGVzIHRvIG9wZW4gc3BlY2lmaWMgd2Vic2l0ZXMgaW4gc3BlY2lmaWMgd2ViIGJyb3dzZXJzIGZvciBsaW5rcyBjbGlja2VkIGluIGFueSBhcHBsaWNhdGlvbiBvbiB5b3VyIGNvbXB1dGVyLiAoZW1haWxzLCBjaGF0IGV0YykiLAogICJleHRlbnNpb24taWQiOiAiYm93c2VyLWdub21lIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYm93c2VyLWdub21lIiwKICAibmFtZSI6ICJCb3dzZXIgR25vbWUgRXh0ZW5zaW9uIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImFkbWluQGtyb25vc291bC54eXoiLAogICJyZXNvdXJjZS1wYXRoIjogIi9vcmcva3Jvbm9zb3VsL0Jvd3Nlci8iLAogICJzZXR0aW5ncy1wYXRoIjogIi9vcmcvZ25vbWUvc2hlbGwvZXh0ZW5zaW9ucy9Cb3dzZXIvIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLkJvd3NlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsaXBrL2Jvd3Nlci1nbm9tZSIsCiAgInV1aWQiOiAiYm93c2VyLWdub21lQGtyb25vc291bC54eXoiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "ideapad@laurento.frittella", "name": "IdeaPad", "pname": "ideapad", "description": "Lenovo IdeaPad goodies for Gnome Shell\n\nAt the moment the extension only provides an easy and user-friendly way to toggle battery conservation mode available on Levono Ideapad laptops and visually get its current state.\n\nConfiguration needed! Please check the instruction on the homepage.", "link": "https://extensions.gnome.org/extension/2992/ideapad/", "shell_version_map": {"38": {"version": "10", "sha256": "0qmgvdhv1s16av3n1nhr366mkx0zci6z9h60yfkk88yk17k3d244", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "0qmgvdhv1s16av3n1nhr366mkx0zci6z9h60yfkk88yk17k3d244", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0qmgvdhv1s16av3n1nhr366mkx0zci6z9h60yfkk88yk17k3d244", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxlbm92byBJZGVhUGFkIGdvb2RpZXMgZm9yIEdub21lIFNoZWxsXG5cbkF0IHRoZSBtb21lbnQgdGhlIGV4dGVuc2lvbiBvbmx5IHByb3ZpZGVzIGFuIGVhc3kgYW5kIHVzZXItZnJpZW5kbHkgd2F5IHRvIHRvZ2dsZSBiYXR0ZXJ5IGNvbnNlcnZhdGlvbiBtb2RlIGF2YWlsYWJsZSBvbiBMZXZvbm8gSWRlYXBhZCBsYXB0b3BzIGFuZCB2aXN1YWxseSBnZXQgaXRzIGN1cnJlbnQgc3RhdGUuXG5cbkNvbmZpZ3VyYXRpb24gbmVlZGVkISBQbGVhc2UgY2hlY2sgdGhlIGluc3RydWN0aW9uIG9uIHRoZSBob21lcGFnZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJpZGVhcGFkIiwKICAibmFtZSI6ICJJZGVhUGFkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sYXVyZW50by9nbm9tZS1zaGVsbC1leHRlbnNpb24taWRlYXBhZCIsCiAgInV1aWQiOiAiaWRlYXBhZEBsYXVyZW50by5mcml0dGVsbGEiLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "system-monitor-next@paradoxxx.zero.gmail.com", "name": "system-monitor-next", "pname": "system-monitor-next", "description": "Display system information in GNOME Shell status bar, such as memory, CPU, disk and battery usages, network rates…\n\nThis fork of paradoxxxzero/gnome-shell-system-monitor-applet is for packaging purposes only. This extension is built and updated continuously with the upstream master branch.\n\nThis is preferable for users on bleeding edge distributions that prefer not to wait for a stable release from the main repo. Of course, since we're releasing directly from master some instability is inevitable.\n\nIf you get an error after updating, try restarting Gnome Shell with Alt-F2 then 'r'.", "link": "https://extensions.gnome.org/extension/3010/system-monitor-next/", "shell_version_map": {"40": {"version": "38", "sha256": "0ppfn202x8s97yjd40xkm66pvf4fjddyil720xdpghriggxg5xpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21nYWxncy9nbm9tZS1zaGVsbC1zeXN0ZW0tbW9uaXRvci1hcHBsZXQiLAogICJ1dWlkIjogInN5c3RlbS1tb25pdG9yLW5leHRAcGFyYWRveHh4Lnplcm8uZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}, "41": {"version": "38", "sha256": "0ppfn202x8s97yjd40xkm66pvf4fjddyil720xdpghriggxg5xpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3lzdGVtIGluZm9ybWF0aW9uIGluIEdOT01FIFNoZWxsIHN0YXR1cyBiYXIsIHN1Y2ggYXMgbWVtb3J5LCBDUFUsIGRpc2sgYW5kIGJhdHRlcnkgdXNhZ2VzLCBuZXR3b3JrIHJhdGVzXHUyMDI2XG5cblRoaXMgZm9yayBvZiBwYXJhZG94eHh6ZXJvL2dub21lLXNoZWxsLXN5c3RlbS1tb25pdG9yLWFwcGxldCBpcyBmb3IgcGFja2FnaW5nIHB1cnBvc2VzIG9ubHkuIFRoaXMgZXh0ZW5zaW9uIGlzIGJ1aWx0IGFuZCB1cGRhdGVkIGNvbnRpbnVvdXNseSB3aXRoIHRoZSB1cHN0cmVhbSBtYXN0ZXIgYnJhbmNoLlxuXG5UaGlzIGlzIHByZWZlcmFibGUgZm9yIHVzZXJzIG9uIGJsZWVkaW5nIGVkZ2UgZGlzdHJpYnV0aW9ucyB0aGF0IHByZWZlciBub3QgdG8gd2FpdCBmb3IgYSBzdGFibGUgcmVsZWFzZSBmcm9tIHRoZSBtYWluIHJlcG8uIE9mIGNvdXJzZSwgc2luY2Ugd2UncmUgcmVsZWFzaW5nIGRpcmVjdGx5IGZyb20gbWFzdGVyIHNvbWUgaW5zdGFiaWxpdHkgaXMgaW5ldml0YWJsZS5cblxuSWYgeW91IGdldCBhbiBlcnJvciBhZnRlciB1cGRhdGluZywgdHJ5IHJlc3RhcnRpbmcgR25vbWUgU2hlbGwgd2l0aCBBbHQtRjIgdGhlbiAncicuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAic3lzdGVtLW1vbml0b3IiLAogICJuYW1lIjogInN5c3RlbS1tb25pdG9yLW5leHQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc3lzdGVtLW1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21nYWxncy9nbm9tZS1zaGVsbC1zeXN0ZW0tbW9uaXRvci1hcHBsZXQiLAogICJ1dWlkIjogInN5c3RlbS1tb25pdG9yLW5leHRAcGFyYWRveHh4Lnplcm8uZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}}}
@@ -323,8 +324,8 @@
 , {"uuid": "compiz-windows-effect@hermes83.github.com", "name": "Compiz windows effect", "pname": "compiz-windows-effect", "description": "Compiz wobbly windows effect thanks to libanimation engine.\n\nThe use of the \"js engine\" option NOT requires any external library, orherwise you need to install the LIBANIMATION library patched for Gnome Shell: \nhttps://github.com/hermes83/libanimation\n\nNB:\nIn case of update error please restart Gnome Shell (on Xorg press ALT+F2 then write r and press enter, on Wayland end the session and log in again)\n\n-----------------------------------\n  Video\n-----------------------------------\nhttps://youtu.be/G8bAVIB9A7A", "link": "https://extensions.gnome.org/extension/3210/compiz-windows-effect/", "shell_version_map": {"38": {"version": "10", "sha256": "0s2pprlc0wi2ln45c6bj9gzh6rg3bkc1dxn85dq1c7r4h6ib14x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "40": {"version": "10", "sha256": "0s2pprlc0wi2ln45c6bj9gzh6rg3bkc1dxn85dq1c7r4h6ib14x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "0s2pprlc0wi2ln45c6bj9gzh6rg3bkc1dxn85dq1c7r4h6ib14x2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbXBpeiB3b2JibHkgd2luZG93cyBlZmZlY3QgdGhhbmtzIHRvIGxpYmFuaW1hdGlvbiBlbmdpbmUuXG5cblRoZSB1c2Ugb2YgdGhlIFwianMgZW5naW5lXCIgb3B0aW9uIE5PVCByZXF1aXJlcyBhbnkgZXh0ZXJuYWwgbGlicmFyeSwgb3JoZXJ3aXNlIHlvdSBuZWVkIHRvIGluc3RhbGwgdGhlIExJQkFOSU1BVElPTiBsaWJyYXJ5IHBhdGNoZWQgZm9yIEdub21lIFNoZWxsOiBcbmh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9saWJhbmltYXRpb25cblxuTkI6XG5JbiBjYXNlIG9mIHVwZGF0ZSBlcnJvciBwbGVhc2UgcmVzdGFydCBHbm9tZSBTaGVsbCAob24gWG9yZyBwcmVzcyBBTFQrRjIgdGhlbiB3cml0ZSByIGFuZCBwcmVzcyBlbnRlciwgb24gV2F5bGFuZCBlbmQgdGhlIHNlc3Npb24gYW5kIGxvZyBpbiBhZ2FpbilcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgVmlkZW9cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5odHRwczovL3lvdXR1LmJlL0c4YkFWSUI5QTdBIiwKICAibmFtZSI6ICJDb21waXogd2luZG93cyBlZmZlY3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hlcm1lczgzL2NvbXBpei13aW5kb3dzLWVmZmVjdCIsCiAgInV1aWQiOiAiY29tcGl6LXdpbmRvd3MtZWZmZWN0QGhlcm1lczgzLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "EndSessionTimer@pratap.fastmail.fm", "name": "End Session Timer", "pname": "end-session-timer", "description": "Set End Session Timer between 5 to 60 Seconds", "link": "https://extensions.gnome.org/extension/3216/end-session-timer/", "shell_version_map": {"38": {"version": "7", "sha256": "0c3wfx1iksb67fq3hm8cprhwb2f6xykkr4fv4y4drf78f15sh5gm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBFbmQgU2Vzc2lvbiBUaW1lciBiZXR3ZWVuIDUgdG8gNjAgU2Vjb25kcyIsCiAgIm5hbWUiOiAiRW5kIFNlc3Npb24gVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiRW5kU2Vzc2lvblRpbWVyQHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "8", "sha256": "0mm9g2ldl2lw52plx3hpbaniqlci1c10q9blkbdpwcmyv53z1dq4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBFbmQgU2Vzc2lvbiBUaW1lciBiZXR3ZWVuIDUgdG8gNjAgU2Vjb25kcyIsCiAgIm5hbWUiOiAiRW5kIFNlc3Npb24gVGltZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIkVuZFNlc3Npb25UaW1lckBwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "block-caribou-36@lxylxy123456.ercli.dev", "name": "Block Caribou 36", "pname": "block-caribou-36", "description": "Blocks caribou (the on screen keyboard) from popping up when you use a touchscreen. Even if it's disabled in the accessibility services menu. Continuation of keringar's work. Tested on GNOME Shell version 3.36 - 41 on Fedora 32 - 35. For a higher version see https://github.com/lxylxy123456/cariboublocker#installing-on-high-gnome-shell-version .", "link": "https://extensions.gnome.org/extension/3222/block-caribou-36/", "shell_version_map": {"40": {"version": "4", "sha256": "1bnkwdsmsjr7x9cx31lfzs3dnfqzmdy8cq1zc26hgpvchd02ac60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBUZXN0ZWQgb24gR05PTUUgU2hlbGwgdmVyc2lvbiAzLjM2IC0gNDEgb24gRmVkb3JhIDMyIC0gMzUuIEZvciBhIGhpZ2hlciB2ZXJzaW9uIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbHh5bHh5MTIzNDU2L2Nhcmlib3VibG9ja2VyI2luc3RhbGxpbmctb24taGlnaC1nbm9tZS1zaGVsbC12ZXJzaW9uIC4iLAogICJuYW1lIjogIkJsb2NrIENhcmlib3UgMzYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x4eWx4eTEyMzQ1Ni9jYXJpYm91YmxvY2tlciIsCiAgInV1aWQiOiAiYmxvY2stY2FyaWJvdS0zNkBseHlseHkxMjM0NTYuZXJjbGkuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1bnkwdsmsjr7x9cx31lfzs3dnfqzmdy8cq1zc26hgpvchd02ac60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsb2NrcyBjYXJpYm91ICh0aGUgb24gc2NyZWVuIGtleWJvYXJkKSBmcm9tIHBvcHBpbmcgdXAgd2hlbiB5b3UgdXNlIGEgdG91Y2hzY3JlZW4uIEV2ZW4gaWYgaXQncyBkaXNhYmxlZCBpbiB0aGUgYWNjZXNzaWJpbGl0eSBzZXJ2aWNlcyBtZW51LiBDb250aW51YXRpb24gb2Yga2VyaW5nYXIncyB3b3JrLiBUZXN0ZWQgb24gR05PTUUgU2hlbGwgdmVyc2lvbiAzLjM2IC0gNDEgb24gRmVkb3JhIDMyIC0gMzUuIEZvciBhIGhpZ2hlciB2ZXJzaW9uIHNlZSBodHRwczovL2dpdGh1Yi5jb20vbHh5bHh5MTIzNDU2L2Nhcmlib3VibG9ja2VyI2luc3RhbGxpbmctb24taGlnaC1nbm9tZS1zaGVsbC12ZXJzaW9uIC4iLAogICJuYW1lIjogIkJsb2NrIENhcmlib3UgMzYiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x4eWx4eTEyMzQ1Ni9jYXJpYm91YmxvY2tlciIsCiAgInV1aWQiOiAiYmxvY2stY2FyaWJvdS0zNkBseHlseHkxMjM0NTYuZXJjbGkuZGV2IiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "unmaximize_double_click@gonza.gmail.com", "name": "Unmaximize Double Click Panel", "pname": "unmaximize-double-click-panel", "description": "Unmaximize the current window on double click on the top panel. You can also maximize horizontally and vertically with middle and right click.", "link": "https://extensions.gnome.org/extension/3228/unmaximize-double-click-panel/", "shell_version_map": {"38": {"version": "3", "sha256": "17xpxzxqx6zgr484xxa9sz78f90mmdq7ihgnhfmlmscsz10v5h3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci91bm1heGltaXplLWdub21lLWV4dCIsCiAgInV1aWQiOiAidW5tYXhpbWl6ZV9kb3VibGVfY2xpY2tAZ29uemEuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "17xpxzxqx6zgr484xxa9sz78f90mmdq7ihgnhfmlmscsz10v5h3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci91bm1heGltaXplLWdub21lLWV4dCIsCiAgInV1aWQiOiAidW5tYXhpbWl6ZV9kb3VibGVfY2xpY2tAZ29uemEuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "unity-like-appswitcher@gonza.com", "name": "Unity-like App Switcher", "pname": "unity-like-app-switcher", "description": "A bigger and more colourfull AppSwitcher", "link": "https://extensions.gnome.org/extension/3231/unity-like-app-switcher/", "shell_version_map": {"38": {"version": "6", "sha256": "0s5mza4x2hk6k95hm7xsyxhariffhb896676fhh5qriphxsrif2q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VuaXR5LWxpa2Utc3dpdGNoZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bml0eS1saWtlLWFwcHN3aXRjaGVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0s5mza4x2hk6k95hm7xsyxhariffhb896676fhh5qriphxsrif2q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3VuaXR5LWxpa2Utc3dpdGNoZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ1bml0eS1saWtlLWFwcHN3aXRjaGVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"uuid": "unmaximize_double_click@gonza.gmail.com", "name": "Unmaximize Double Click Panel", "pname": "unmaximize-double-click-panel", "description": "Unmaximize the current window on double click on the top panel. You can also maximize horizontally and vertically with middle and right click.", "link": "https://extensions.gnome.org/extension/3228/unmaximize-double-click-panel/", "shell_version_map": {"38": {"version": "4", "sha256": "1qb3qwjndl08g7r7lgdzszcxlqsx5rb749y8hg1qdzyp48nifj8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5tYXhpbWl6ZS1nbm9tZS1leHQiLAogICJ1dWlkIjogInVubWF4aW1pemVfZG91YmxlX2NsaWNrQGdvbnphLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "40": {"version": "4", "sha256": "1qb3qwjndl08g7r7lgdzszcxlqsx5rb749y8hg1qdzyp48nifj8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5tYXhpbWl6ZS1nbm9tZS1leHQiLAogICJ1dWlkIjogInVubWF4aW1pemVfZG91YmxlX2NsaWNrQGdvbnphLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1qb3qwjndl08g7r7lgdzszcxlqsx5rb749y8hg1qdzyp48nifj8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVubWF4aW1pemUgdGhlIGN1cnJlbnQgd2luZG93IG9uIGRvdWJsZSBjbGljayBvbiB0aGUgdG9wIHBhbmVsLiBZb3UgY2FuIGFsc28gbWF4aW1pemUgaG9yaXpvbnRhbGx5IGFuZCB2ZXJ0aWNhbGx5IHdpdGggbWlkZGxlIGFuZCByaWdodCBjbGljay4iLAogICJuYW1lIjogIlVubWF4aW1pemUgRG91YmxlIENsaWNrIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdW5tYXhpbWl6ZS1nbm9tZS1leHQiLAogICJ1dWlkIjogInVubWF4aW1pemVfZG91YmxlX2NsaWNrQGdvbnphLmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
+, {"uuid": "unity-like-appswitcher@gonza.com", "name": "Unity-like App Switcher", "pname": "unity-like-app-switcher", "description": "A bigger and more colourfull AppSwitcher", "link": "https://extensions.gnome.org/extension/3231/unity-like-app-switcher/", "shell_version_map": {"38": {"version": "7", "sha256": "18f33cf088ali1hqj1a1knr4ygkrwyp6gyhp2lf0vd7c2wlp1z8f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci91bml0eS1saWtlLXN3aXRjaGVyLWdub21lLWV4dCIsCiAgInV1aWQiOiAidW5pdHktbGlrZS1hcHBzd2l0Y2hlckBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "18f33cf088ali1hqj1a1knr4ygkrwyp6gyhp2lf0vd7c2wlp1z8f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci91bml0eS1saWtlLXN3aXRjaGVyLWdub21lLWV4dCIsCiAgInV1aWQiOiAidW5pdHktbGlrZS1hcHBzd2l0Y2hlckBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "18f33cf088ali1hqj1a1knr4ygkrwyp6gyhp2lf0vd7c2wlp1z8f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgYmlnZ2VyIGFuZCBtb3JlIGNvbG91cmZ1bGwgQXBwU3dpdGNoZXIiLAogICJuYW1lIjogIlVuaXR5LWxpa2UgQXBwIFN3aXRjaGVyIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJnb256YSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy51bml0eS13aW5kb3ctc3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci91bml0eS1saWtlLXN3aXRjaGVyLWdub21lLWV4dCIsCiAgInV1aWQiOiAidW5pdHktbGlrZS1hcHBzd2l0Y2hlckBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "add-to-desktop@tommimon.github.com", "name": "Add to Desktop", "pname": "add-to-desktop", "description": "An easy way to create desktop app shortcut in gnome", "link": "https://extensions.gnome.org/extension/3240/add-to-desktop/", "shell_version_map": {"38": {"version": "5", "sha256": "0kchr5daz3s4q18s6aphfyb50wglmlgmjnh3i9ka6d219r0srh64", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dCBpbiBnbm9tZSIsCiAgIm5hbWUiOiAiQWRkIHRvIERlc2t0b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "0kchr5daz3s4q18s6aphfyb50wglmlgmjnh3i9ka6d219r0srh64", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dCBpbiBnbm9tZSIsCiAgIm5hbWUiOiAiQWRkIHRvIERlc2t0b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwLmJldGEiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "6", "sha256": "04vk49629c9fhvix04h8r3mbnqyncvyzdkbm7bh3wyjhghnczbps", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFuIGVhc3kgd2F5IHRvIGNyZWF0ZSBkZXNrdG9wIGFwcCBzaG9ydGN1dCBpbiBnbm9tZSIsCiAgIm5hbWUiOiAiQWRkIHRvIERlc2t0b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vVG9tbWltb24vYWRkLXRvLWRlc2t0b3AiLAogICJ1dWlkIjogImFkZC10by1kZXNrdG9wQHRvbW1pbW9uLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "wifi-power-management-toggle@rthery", "name": "Wi-Fi Power Management Toggle", "pname": "wi-fi-power-management-toggle", "description": "Add a toggle to limit Wi-Fi power consumption (when supported by the card) in Gnome System Menu.", "link": "https://extensions.gnome.org/extension/3258/wi-fi-power-management-toggle/", "shell_version_map": {"38": {"version": "2", "sha256": "009r1pswkmisfw0zghk2cawx4qw6av5yldbnw7fcla13qpyj90zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBsaW1pdCBXaS1GaSBwb3dlciBjb25zdW1wdGlvbiAod2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNhcmQpIGluIEdub21lIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiV2ktRmkgUG93ZXIgTWFuYWdlbWVudCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3J0aGVyeS9nbm9tZS1zaGVsbC1leHRlbnNpb24td2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZSIsCiAgInV1aWQiOiAid2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZUBydGhlcnkiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "009r1pswkmisfw0zghk2cawx4qw6av5yldbnw7fcla13qpyj90zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBsaW1pdCBXaS1GaSBwb3dlciBjb25zdW1wdGlvbiAod2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNhcmQpIGluIEdub21lIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiV2ktRmkgUG93ZXIgTWFuYWdlbWVudCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3J0aGVyeS9nbm9tZS1zaGVsbC1leHRlbnNpb24td2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZSIsCiAgInV1aWQiOiAid2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZUBydGhlcnkiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "009r1pswkmisfw0zghk2cawx4qw6av5yldbnw7fcla13qpyj90zh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBsaW1pdCBXaS1GaSBwb3dlciBjb25zdW1wdGlvbiAod2hlbiBzdXBwb3J0ZWQgYnkgdGhlIGNhcmQpIGluIEdub21lIFN5c3RlbSBNZW51LiIsCiAgIm5hbWUiOiAiV2ktRmkgUG93ZXIgTWFuYWdlbWVudCBUb2dnbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3J0aGVyeS9nbm9tZS1zaGVsbC1leHRlbnNpb24td2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZSIsCiAgInV1aWQiOiAid2lmaS1wb3dlci1tYW5hZ2VtZW50LXRvZ2dsZUBydGhlcnkiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "touchpad_window_switcher@gonza.com", "name": "Touchpad Window Switcher", "pname": "tocuhpad-window-switcher", "description": "3 fingers window switcher. To make it work on Xorg check the service on github.\n\nUp - down: toggle between overview and show desktop (Needs Super+D shorcut to be set on Xorg. Set it with `gsettings set org.gnome.desktop.wm.keybindings show-desktop '<Super>d'`).\n\nYou can also change windows by going to the overview (up) and moving to the left and right, and choosing the window with down. The overview is modified so it’s shown in chronological order.\n", "link": "https://extensions.gnome.org/extension/3294/tocuhpad-window-switcher/", "shell_version_map": {"38": {"version": "8", "sha256": "1x016p30z0pci3qlhpmfqrsgy0vwcfxqladny66ppbb32qisbkac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIjMgZmluZ2VycyB3aW5kb3cgc3dpdGNoZXIuIFRvIG1ha2UgaXQgd29yayBvbiBYb3JnIGNoZWNrIHRoZSBzZXJ2aWNlIG9uIGdpdGh1Yi5cblxuVXAgLSBkb3duOiB0b2dnbGUgYmV0d2VlbiBvdmVydmlldyBhbmQgc2hvdyBkZXNrdG9wIChOZWVkcyBTdXBlcitEIHNob3JjdXQgdG8gYmUgc2V0IG9uIFhvcmcuIFNldCBpdCB3aXRoIGBnc2V0dGluZ3Mgc2V0IG9yZy5nbm9tZS5kZXNrdG9wLndtLmtleWJpbmRpbmdzIHNob3ctZGVza3RvcCAnPFN1cGVyPmQnYCkuXG5cbllvdSBjYW4gYWxzbyBjaGFuZ2Ugd2luZG93cyBieSBnb2luZyB0byB0aGUgb3ZlcnZpZXcgKHVwKSBhbmQgbW92aW5nIHRvIHRoZSBsZWZ0IGFuZCByaWdodCwgYW5kIGNob29zaW5nIHRoZSB3aW5kb3cgd2l0aCBkb3duLiBUaGUgb3ZlcnZpZXcgaXMgbW9kaWZpZWQgc28gaXRcdTIwMTlzIHNob3duIGluIGNocm9ub2xvZ2ljYWwgb3JkZXIuXG4iLAogICJuYW1lIjogIlRvdWNocGFkIFdpbmRvdyBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dvbnphYXJjci90b3VjaHBhZC13aW5kb3ctc3dpdGNoZXItZ25vbWUtZXh0IiwKICAidXVpZCI6ICJ0b3VjaHBhZF93aW5kb3dfc3dpdGNoZXJAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
@@ -362,7 +363,7 @@
 , {"uuid": "wireguard-indicator@atareao.es", "name": "WireGuard Indicator", "pname": "wireguard-indicator", "description": "Manage WireGuard VPN from Desktop", "link": "https://extensions.gnome.org/extension/3612/wireguard-indicator/", "shell_version_map": {"40": {"version": "6", "sha256": "0qddl83x30y6jqm4nyjk6faklmv7cii2czmgmagcyllgkh0simav", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBXaXJlR3VhcmQgVlBOIGZyb20gRGVza3RvcCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlZ3VhcmQtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJpY29uIjogIndpcmVndWFyZC1pY29uIiwKICAibmFtZSI6ICJXaXJlR3VhcmQgSW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogImVzLmF0YXJlYW8ud2lyZWd1YXJkLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdGFyZWFvL3dpcmVndWFyZC1pbmRpY2F0b3IiLAogICJ1dWlkIjogIndpcmVndWFyZC1pbmRpY2F0b3JAYXRhcmVhby5lcyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "shamsi-calendar@gnome.scr.ir", "name": "Iranian Persian Calendar", "pname": "shamsi-calendar", "description": "تقویم هجری شمسی،قمری و میلادی در میز‌کار گنوم لینوکس\nقابلیت نمایش اوقات شرعی و پخش اذان\nدرج تعطیلی‌ها و مناسبت‌های رسمی تقویم\nزبان کاملاً فارسی\nتاریخ قمری هلالی ایران\nسازگار با اکثر نسخه‌های گنوم\nدر حال توسعه...\n\nShows Persian + Islamic + Gregorian date in the panel of gnome.\n\nIt shows:\n1- Persian calendar\n2- It can show, today is holiday or not!\n3- Show notification onDayChanged!\n4- Date converter between Persian, Gregorian and Lunar Hijri(Islamic)\n5- Show calendar Events.\n6- Show PrayTimes and play sound (Azan).\n\nPlease \"rate\" here and \"star\" project in GitHub.\nPlease open an issue in GitHub if you found something or have an idea!\nگزارش مشکلات:\nhttps://github.com/SCR-IR/gnome-shamsi-calendar/issues", "link": "https://extensions.gnome.org/extension/3618/shamsi-calendar/", "shell_version_map": {"38": {"version": "16", "sha256": "1aqhj1lmwqy6wlbd105bl85grs749q4hilsz253n45s25jjzw5p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Njci1pci9nbm9tZS1zaGFtc2ktY2FsZW5kYXIiLAogICJ1dWlkIjogInNoYW1zaS1jYWxlbmRhckBnbm9tZS5zY3IuaXIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "16", "sha256": "1aqhj1lmwqy6wlbd105bl85grs749q4hilsz253n45s25jjzw5p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Njci1pci9nbm9tZS1zaGFtc2ktY2FsZW5kYXIiLAogICJ1dWlkIjogInNoYW1zaS1jYWxlbmRhckBnbm9tZS5zY3IuaXIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "1aqhj1lmwqy6wlbd105bl85grs749q4hilsz253n45s25jjzw5p8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlx1MDYyYVx1MDY0Mlx1MDY0OFx1MDZjY1x1MDY0NSBcdTA2NDdcdTA2MmNcdTA2MzFcdTA2Y2MgXHUwNjM0XHUwNjQ1XHUwNjMzXHUwNmNjXHUwNjBjXHUwNjQyXHUwNjQ1XHUwNjMxXHUwNmNjIFx1MDY0OCBcdTA2NDVcdTA2Y2NcdTA2NDRcdTA2MjdcdTA2MmZcdTA2Y2MgXHUwNjJmXHUwNjMxIFx1MDY0NVx1MDZjY1x1MDYzMlx1MjAwY1x1MDZhOVx1MDYyN1x1MDYzMSBcdTA2YWZcdTA2NDZcdTA2NDhcdTA2NDUgXHUwNjQ0XHUwNmNjXHUwNjQ2XHUwNjQ4XHUwNmE5XHUwNjMzXG5cdTA2NDJcdTA2MjdcdTA2MjhcdTA2NDRcdTA2Y2NcdTA2MmEgXHUwNjQ2XHUwNjQ1XHUwNjI3XHUwNmNjXHUwNjM0IFx1MDYyN1x1MDY0OFx1MDY0Mlx1MDYyN1x1MDYyYSBcdTA2MzRcdTA2MzFcdTA2MzlcdTA2Y2MgXHUwNjQ4IFx1MDY3ZVx1MDYyZVx1MDYzNCBcdTA2MjdcdTA2MzBcdTA2MjdcdTA2NDZcblx1MDYyZlx1MDYzMVx1MDYyYyBcdTA2MmFcdTA2MzlcdTA2MzdcdTA2Y2NcdTA2NDRcdTA2Y2NcdTIwMGNcdTA2NDdcdTA2MjcgXHUwNjQ4IFx1MDY0NVx1MDY0Nlx1MDYyN1x1MDYzM1x1MDYyOFx1MDYyYVx1MjAwY1x1MDY0N1x1MDYyN1x1MDZjYyBcdTA2MzFcdTA2MzNcdTA2NDVcdTA2Y2MgXHUwNjJhXHUwNjQyXHUwNjQ4XHUwNmNjXHUwNjQ1XG5cdTA2MzJcdTA2MjhcdTA2MjdcdTA2NDYgXHUwNmE5XHUwNjI3XHUwNjQ1XHUwNjQ0XHUwNjI3XHUwNjRiIFx1MDY0MVx1MDYyN1x1MDYzMVx1MDYzM1x1MDZjY1xuXHUwNjJhXHUwNjI3XHUwNjMxXHUwNmNjXHUwNjJlIFx1MDY0Mlx1MDY0NVx1MDYzMVx1MDZjYyBcdTA2NDdcdTA2NDRcdTA2MjdcdTA2NDRcdTA2Y2MgXHUwNjI3XHUwNmNjXHUwNjMxXHUwNjI3XHUwNjQ2XG5cdTA2MzNcdTA2MjdcdTA2MzJcdTA2YWZcdTA2MjdcdTA2MzEgXHUwNjI4XHUwNjI3IFx1MDYyN1x1MDZhOVx1MDYyYlx1MDYzMSBcdTA2NDZcdTA2MzNcdTA2MmVcdTA2NDdcdTIwMGNcdTA2NDdcdTA2MjdcdTA2Y2MgXHUwNmFmXHUwNjQ2XHUwNjQ4XHUwNjQ1XG5cdTA2MmZcdTA2MzEgXHUwNjJkXHUwNjI3XHUwNjQ0IFx1MDYyYVx1MDY0OFx1MDYzM1x1MDYzOVx1MDY0Ny4uLlxuXG5TaG93cyBQZXJzaWFuICsgSXNsYW1pYyArIEdyZWdvcmlhbiBkYXRlIGluIHRoZSBwYW5lbCBvZiBnbm9tZS5cblxuSXQgc2hvd3M6XG4xLSBQZXJzaWFuIGNhbGVuZGFyXG4yLSBJdCBjYW4gc2hvdywgdG9kYXkgaXMgaG9saWRheSBvciBub3QhXG4zLSBTaG93IG5vdGlmaWNhdGlvbiBvbkRheUNoYW5nZWQhXG40LSBEYXRlIGNvbnZlcnRlciBiZXR3ZWVuIFBlcnNpYW4sIEdyZWdvcmlhbiBhbmQgTHVuYXIgSGlqcmkoSXNsYW1pYylcbjUtIFNob3cgY2FsZW5kYXIgRXZlbnRzLlxuNi0gU2hvdyBQcmF5VGltZXMgYW5kIHBsYXkgc291bmQgKEF6YW4pLlxuXG5QbGVhc2UgXCJyYXRlXCIgaGVyZSBhbmQgXCJzdGFyXCIgcHJvamVjdCBpbiBHaXRIdWIuXG5QbGVhc2Ugb3BlbiBhbiBpc3N1ZSBpbiBHaXRIdWIgaWYgeW91IGZvdW5kIHNvbWV0aGluZyBvciBoYXZlIGFuIGlkZWEhXG5cdTA2YWZcdTA2MzJcdTA2MjdcdTA2MzFcdTA2MzQgXHUwNjQ1XHUwNjM0XHUwNmE5XHUwNjQ0XHUwNjI3XHUwNjJhOlxuaHR0cHM6Ly9naXRodWIuY29tL1NDUi1JUi9nbm9tZS1zaGFtc2ktY2FsZW5kYXIvaXNzdWVzIiwKICAibmFtZSI6ICJJcmFuaWFuIFBlcnNpYW4gQ2FsZW5kYXIiLAogICJvcmlnaW5hbC1hdXRob3JzIjogImpkZi5zY3IuaXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Njci1pci9nbm9tZS1zaGFtc2ktY2FsZW5kYXIiLAogICJ1dWlkIjogInNoYW1zaS1jYWxlbmRhckBnbm9tZS5zY3IuaXIiLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
 , {"uuid": "tunnel-indicator@atareao.es", "name": "Tunnel Indicator", "pname": "tunnel-indicator", "description": "Manage SSH Tunnels from Desktop", "link": "https://extensions.gnome.org/extension/3622/tunnel-indicator/", "shell_version_map": {"40": {"version": "2", "sha256": "0ma4a711mgjxyhy4d21p2m7wvbnmmwlfdsf6xk9i36ranjcqs9as", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hbmFnZSBTU0ggVHVubmVscyBmcm9tIERlc2t0b3AiLAogICJleHRlbnNpb24taWQiOiAidHVubmVsLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAidHVubmVsLWluZGljYXRvckBhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJ0dW5uZWwtaWNvbiIsCiAgIm5hbWUiOiAiVHVubmVsIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLnR1bm5lbC1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXRhcmVhby90dW5uZWwtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0dW5uZWwtaW5kaWNhdG9yQGF0YXJlYW8uZXMiLAogICJ2ZXJzaW9uIjogMgp9"}}}
-, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "Application Menu for GNOME, with various layouts to choose from!\n\nSupports GNOME shell 3.36, 3.38, 40, and 41.\n\nFor older GNOME shell versions visit https://extensions.gnome.org/extension/1228/arc-menu/\n\nCommon solutions for ERROR message:\n-Restart your GNOME session after updating ArcMenu.\n-Install one of the following packages: 'gir1.2-gmenu-3.0' or 'gnome-menus'\n\nGeneral Help:\n-Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home\n\nPlease report all bugs or issues at https://gitlab.com/arcmenu/ArcMenu", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "17", "sha256": "0llq0zkvgxarr30s304n1ilidbwc0kx4l2impby5y2sdsvr7zafv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "40": {"version": "20", "sha256": "0v537d5sf8bpbqmh2f4p79zdxfrx67x85wkf2p1d245836k56s25", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}, "41": {"version": "20", "sha256": "0v537d5sf8bpbqmh2f4p79zdxfrx67x85wkf2p1d245836k56s25", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMjAKfQ=="}}}
+, {"uuid": "arcmenu@arcmenu.com", "name": "ArcMenu", "pname": "arcmenu", "description": "Application Menu for GNOME, with various layouts to choose from!\n\nSupports GNOME shell 3.36, 3.38, 40, and 41.\n\nFor older GNOME shell versions visit https://extensions.gnome.org/extension/1228/arc-menu/\n\nCommon solutions for ERROR message:\n-Restart your GNOME session after updating ArcMenu.\n-Install one of the following packages: 'gir1.2-gmenu-3.0' or 'gnome-menus'\n\nGeneral Help:\n-Visit https://gitlab.com/arcmenu/ArcMenu/-/wikis/home\n\nPlease report all bugs or issues at https://gitlab.com/arcmenu/ArcMenu", "link": "https://extensions.gnome.org/extension/3628/arcmenu/", "shell_version_map": {"38": {"version": "17", "sha256": "0llq0zkvgxarr30s304n1ilidbwc0kx4l2impby5y2sdsvr7zafv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vYXJjbWVudS9BcmNNZW51IiwKICAidXVpZCI6ICJhcmNtZW51QGFyY21lbnUuY29tIiwKICAidmVyc2lvbiI6IDE3Cn0="}, "40": {"version": "23", "sha256": "1f59gpin72r5jfdqijicxrwjhsnmnxc09mmscr16d5ll5cvvkyid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}, "41": {"version": "23", "sha256": "1f59gpin72r5jfdqijicxrwjhsnmnxc09mmscr16d5ll5cvvkyid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFwcGxpY2F0aW9uIE1lbnUgZm9yIEdOT01FLCB3aXRoIHZhcmlvdXMgbGF5b3V0cyB0byBjaG9vc2UgZnJvbSFcblxuU3VwcG9ydHMgR05PTUUgc2hlbGwgMy4zNiwgMy4zOCwgNDAsIGFuZCA0MS5cblxuRm9yIG9sZGVyIEdOT01FIHNoZWxsIHZlcnNpb25zIHZpc2l0IGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzEyMjgvYXJjLW1lbnUvXG5cbkNvbW1vbiBzb2x1dGlvbnMgZm9yIEVSUk9SIG1lc3NhZ2U6XG4tUmVzdGFydCB5b3VyIEdOT01FIHNlc3Npb24gYWZ0ZXIgdXBkYXRpbmcgQXJjTWVudS5cbi1JbnN0YWxsIG9uZSBvZiB0aGUgZm9sbG93aW5nIHBhY2thZ2VzOiAnZ2lyMS4yLWdtZW51LTMuMCcgb3IgJ2dub21lLW1lbnVzJ1xuXG5HZW5lcmFsIEhlbHA6XG4tVmlzaXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudS8tL3dpa2lzL2hvbWVcblxuUGxlYXNlIHJlcG9ydCBhbGwgYnVncyBvciBpc3N1ZXMgYXQgaHR0cHM6Ly9naXRsYWIuY29tL2FyY21lbnUvQXJjTWVudSIsCiAgImV4dGVuc2lvbi1pZCI6ICJhcmNtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYXJjbWVudSIsCiAgIm5hbWUiOiAiQXJjTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5hcmNtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9hcmNtZW51L0FyY01lbnUiLAogICJ1dWlkIjogImFyY21lbnVAYXJjbWVudS5jb20iLAogICJ2ZXJzaW9uIjogMjMKfQ=="}}}
 , {"uuid": "fixedimelist@alynx.one", "name": "Fixed IME List", "pname": "fixed-ime-list", "description": "Make the IME list in fixed sequence instead of MRU.", "link": "https://extensions.gnome.org/extension/3663/fixed-ime-list/", "shell_version_map": {"38": {"version": "6", "sha256": "0v99flnb23cjv32wr7r077q29jvgs7j5fjx6dc6qm2n04f1qiibz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "0v99flnb23cjv32wr7r077q29jvgs7j5fjx6dc6qm2n04f1qiibz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIElNRSBsaXN0IGluIGZpeGVkIHNlcXVlbmNlIGluc3RlYWQgb2YgTVJVLiIsCiAgIm5hbWUiOiAiRml4ZWQgSU1FIExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQWx5bnhaaG91L2dub21lLXNoZWxsLWV4dGVuc2lvbi1maXhlZC1pbWUtbGlzdC8iLAogICJ1dWlkIjogImZpeGVkaW1lbGlzdEBhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "topindicatorapp@quiro9.com", "name": "Top Indicator App", "pname": "top-indicator-app", "description": "This extension is 'appindicators' from ubuntu, renamed 'top indicator app' under the terms of the GPL v2 +. it is the extension itself that Ubuntu offers as a native experience on your system, but so you can install it in other distros since the current one in gnome-extensions is empty.I will offer stable updates when possible.", "link": "https://extensions.gnome.org/extension/3681/top-indicator-app/", "shell_version_map": {"38": {"version": "2", "sha256": "12r4fxgsgd7jn001vlzqrsd86ci62zxk0b9p3bkdqh6g5hj3la35", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGlzICdhcHBpbmRpY2F0b3JzJyBmcm9tIHVidW50dSwgcmVuYW1lZCAndG9wIGluZGljYXRvciBhcHAnIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR1BMIHYyICsuIGl0IGlzIHRoZSBleHRlbnNpb24gaXRzZWxmIHRoYXQgVWJ1bnR1IG9mZmVycyBhcyBhIG5hdGl2ZSBleHBlcmllbmNlIG9uIHlvdXIgc3lzdGVtLCBidXQgc28geW91IGNhbiBpbnN0YWxsIGl0IGluIG90aGVyIGRpc3Ryb3Mgc2luY2UgdGhlIGN1cnJlbnQgb25lIGluIGdub21lLWV4dGVuc2lvbnMgaXMgZW1wdHkuSSB3aWxsIG9mZmVyIHN0YWJsZSB1cGRhdGVzIHdoZW4gcG9zc2libGUuIiwKICAibmFtZSI6ICJUb3AgSW5kaWNhdG9yIEFwcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3VidW50dS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYXBwaW5kaWNhdG9yIiwKICAidXVpZCI6ICJ0b3BpbmRpY2F0b3JhcHBAcXVpcm85LmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "reorder-workspaces@jer.dev", "name": "Reorder Workspaces", "pname": "reorder-workspaces", "description": "Move workspaces up or down in the overview with Alt+Up/Alt+Down", "link": "https://extensions.gnome.org/extension/3685/reorder-workspaces/", "shell_version_map": {"38": {"version": "6", "sha256": "1f0hl2dzl75dwcv8jzx3rk1laqd9y9m32g219nvbhsmk8rjxfc31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgd29ya3NwYWNlcyB1cCBvciBkb3duIGluIHRoZSBvdmVydmlldyB3aXRoIEFsdCtVcC9BbHQrRG93biIsCiAgIm5hbWUiOiAiUmVvcmRlciBXb3Jrc3BhY2VzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJlb3JkZXItd29ya3NwYWNlcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2plcmVtaWFobWVnZWwvZ25vbWUtcmVvcmRlci13b3Jrc3BhY2VzIiwKICAidXVpZCI6ICJyZW9yZGVyLXdvcmtzcGFjZXNAamVyLmRldiIsCiAgInZlcnNpb24iOiA2Cn0="}}}
@@ -375,12 +376,12 @@
 , {"uuid": "cpupower-governors@icar.github.com", "name": "CPU Power Governor", "pname": "cpu-power-governor", "description": "Enables the ability to swap between kernel governors for the CPU useful for laptops.\n\nRequires: polkit, cpupower\nGithub: https://github.com/juxuanu/cpupower-governors", "link": "https://extensions.gnome.org/extension/3727/cpu-power-governor/", "shell_version_map": {"38": {"version": "2", "sha256": "1hb239w4cpz6yzs3pzd3hhrwswh6w5c5xw6dqn57m26cazh843qk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZXMgdGhlIGFiaWxpdHkgdG8gc3dhcCBiZXR3ZWVuIGtlcm5lbCBnb3Zlcm5vcnMgZm9yIHRoZSBDUFUgdXNlZnVsIGZvciBsYXB0b3BzLlxuXG5SZXF1aXJlczogcG9sa2l0LCBjcHVwb3dlclxuR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vanV4dWFudS9jcHVwb3dlci1nb3Zlcm5vcnMiLAogICJuYW1lIjogIkNQVSBQb3dlciBHb3Zlcm5vciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjcHVwb3dlci1nb3Zlcm5vcnNAaWNhci5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "floating-dock@nandoferreira_prof@hotmail.com", "name": "Floating Dock", "pname": "floating-dock", "description": "A Custom Floating Dock fork, now you can change the margin and border radius of the dock.", "link": "https://extensions.gnome.org/extension/3730/floating-dock/", "shell_version_map": {"38": {"version": "1", "sha256": "0giksm5fvrj412v8xnf2hi4s0yi2mqd9prd84npv8jxkfv78y414", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm5hbmRvZmVycmVpcmFfcHJvZkBob3RtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "4", "sha256": "0ca22s5vbs6d32ppikmg0xcf5335qmighq6cpvly51q44hlqjamg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "0ca22s5vbs6d32ppikmg0xcf5335qmighq6cpvly51q44hlqjamg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgQ3VzdG9tIEZsb2F0aW5nIERvY2sgZm9yaywgbm93IHlvdSBjYW4gY2hhbmdlIHRoZSBtYXJnaW4gYW5kIGJvcmRlciByYWRpdXMgb2YgdGhlIGRvY2suIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmxvYXRpbmdkb2NrIiwKICAibmFtZSI6ICJGbG9hdGluZyBEb2NrIiwKICAib3JpZ2luYWwtYXV0aG9yIjogIm1pY3hneEBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Zlci1tb3JlaXJhL2Zsb2F0aW5nLWRvY2siLAogICJ1dWlkIjogImZsb2F0aW5nLWRvY2tAbmFuZG9mZXJyZWlyYV9wcm9mQGhvdG1haWwuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "tiling-assistant@leleat-on-github", "name": "Tiling Assistant", "pname": "tiling-assistant", "description": "Expand GNOME's 2 column tiling and add a Windows-snap-assist-inspired popup...", "link": "https://extensions.gnome.org/extension/3733/tiling-assistant/", "shell_version_map": {"38": {"version": "23", "sha256": "1b9hpll26ggwhw4f52wgflzjfqksmyfy5wyg1rpz41lr1dmva8vk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L1RpbGluZy1Bc3Npc3RhbnQiLAogICJ1dWlkIjogInRpbGluZy1hc3Npc3RhbnRAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiAyMwp9"}, "40": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}, "41": {"version": "32", "sha256": "14kvgygfia1961i4v933bg7j2l4mzy7hv7f53sc5giwpmcsj3b5v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4cGFuZCBHTk9NRSdzIDIgY29sdW1uIHRpbGluZyBhbmQgYWRkIGEgV2luZG93cy1zbmFwLWFzc2lzdC1pbnNwaXJlZCBwb3B1cC4uLiIsCiAgIm5hbWUiOiAiVGlsaW5nIEFzc2lzdGFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50aWxpbmctYXNzaXN0YW50IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9MZWxlYXQvVGlsaW5nLUFzc2lzdGFudCIsCiAgInV1aWQiOiAidGlsaW5nLWFzc2lzdGFudEBsZWxlYXQtb24tZ2l0aHViIiwKICAidmVyc2lvbiI6IDMyCn0="}}}
-, {"uuid": "airpods-battery-status@ju.wtf", "name": "Airpods Battery status", "pname": "airpods-battery-status", "description": "Show Airpods battery level in top bar", "link": "https://extensions.gnome.org/extension/3736/airpods-battery-status/", "shell_version_map": {"38": {"version": "6", "sha256": "0smryqirmjcswbs0gaz6v0kf1hisga1r949c3k7wnyjw9rqxhpc8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXIiLAogICJuYW1lIjogIkFpcnBvZHMgQmF0dGVyeSBzdGF0dXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0smryqirmjcswbs0gaz6v0kf1hisga1r949c3k7wnyjw9rqxhpc8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXIiLAogICJuYW1lIjogIkFpcnBvZHMgQmF0dGVyeSBzdGF0dXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0smryqirmjcswbs0gaz6v0kf1hisga1r949c3k7wnyjw9rqxhpc8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXIiLAogICJuYW1lIjogIkFpcnBvZHMgQmF0dGVyeSBzdGF0dXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL2dub21lLWFpcnBvZHMtYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImFpcnBvZHMtYmF0dGVyeS1zdGF0dXNAanUud3RmIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
-, {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "This extension controls Philips Hue compatible lights using Philips Hue Bridge on your local network, it also allows controlling Philips Hue Sync Box. If you are experiencing an error on the upgrade, please log out and log in again.", "link": "https://extensions.gnome.org/extension/3737/hue-lights/", "shell_version_map": {"38": {"version": "19", "sha256": "049vi65qprgiknpxbz1sv4vyhp749xb7g9369hjsg8fqs0jfwvgd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL2h1ZS1saWdodHMiLAogICJ1dWlkIjogImh1ZS1saWdodHNAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "049vi65qprgiknpxbz1sv4vyhp749xb7g9369hjsg8fqs0jfwvgd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL2h1ZS1saWdodHMiLAogICJ1dWlkIjogImh1ZS1saWdodHNAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "049vi65qprgiknpxbz1sv4vyhp749xb7g9369hjsg8fqs0jfwvgd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL2h1ZS1saWdodHMiLAogICJ1dWlkIjogImh1ZS1saWdodHNAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
+, {"uuid": "airpods-battery-status@ju.wtf", "name": "Airpods Battery status", "pname": "airpods-battery-status", "description": "Show Airpods battery level in top bar\n\n/!\\ Needs AirStatus to work: https://github.com/delphiki/AirStatus", "link": "https://extensions.gnome.org/extension/3736/airpods-battery-status/", "shell_version_map": {"38": {"version": "6", "sha256": "1ahvqcmcy3n8h66svryi77pm4n86qrcpkqilv5n3avv5bxn3v5d0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVscGhpa2kvZ25vbWUtYWlycG9kcy1iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYWlycG9kcy1iYXR0ZXJ5LXN0YXR1c0BqdS53dGYiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1ahvqcmcy3n8h66svryi77pm4n86qrcpkqilv5n3avv5bxn3v5d0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVscGhpa2kvZ25vbWUtYWlycG9kcy1iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYWlycG9kcy1iYXR0ZXJ5LXN0YXR1c0BqdS53dGYiLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1ahvqcmcy3n8h66svryi77pm4n86qrcpkqilv5n3avv5bxn3v5d0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgQWlycG9kcyBiYXR0ZXJ5IGxldmVsIGluIHRvcCBiYXJcblxuLyFcXCBOZWVkcyBBaXJTdGF0dXMgdG8gd29yazogaHR0cHM6Ly9naXRodWIuY29tL2RlbHBoaWtpL0FpclN0YXR1cyIsCiAgIm5hbWUiOiAiQWlycG9kcyBCYXR0ZXJ5IHN0YXR1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZGVscGhpa2kvZ25vbWUtYWlycG9kcy1iYXR0ZXJ5LXN0YXR1cyIsCiAgInV1aWQiOiAiYWlycG9kcy1iYXR0ZXJ5LXN0YXR1c0BqdS53dGYiLAogICJ2ZXJzaW9uIjogNgp9"}}}
+, {"uuid": "hue-lights@chlumskyvaclav.gmail.com", "name": "Hue Lights", "pname": "hue-lights", "description": "This extension controls Philips Hue compatible lights using Philips Hue Bridge on your local network, it also allows controlling Philips Hue Sync Box. If you are experiencing an error on the upgrade, please log out and log in again.", "link": "https://extensions.gnome.org/extension/3737/hue-lights/", "shell_version_map": {"38": {"version": "20", "sha256": "0gsy5950fyvxxnzlgimhmvys5hr042j2078vgjm1x03xmilrpm7b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL2h1ZS1saWdodHMiLAogICJ1dWlkIjogImh1ZS1saWdodHNAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "40": {"version": "20", "sha256": "0gsy5950fyvxxnzlgimhmvys5hr042j2078vgjm1x03xmilrpm7b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL2h1ZS1saWdodHMiLAogICJ1dWlkIjogImh1ZS1saWdodHNAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}, "41": {"version": "20", "sha256": "0gsy5950fyvxxnzlgimhmvys5hr042j2078vgjm1x03xmilrpm7b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGNvbnRyb2xzIFBoaWxpcHMgSHVlIGNvbXBhdGlibGUgbGlnaHRzIHVzaW5nIFBoaWxpcHMgSHVlIEJyaWRnZSBvbiB5b3VyIGxvY2FsIG5ldHdvcmssIGl0IGFsc28gYWxsb3dzIGNvbnRyb2xsaW5nIFBoaWxpcHMgSHVlIFN5bmMgQm94LiBJZiB5b3UgYXJlIGV4cGVyaWVuY2luZyBhbiBlcnJvciBvbiB0aGUgdXBncmFkZSwgcGxlYXNlIGxvZyBvdXQgYW5kIGxvZyBpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJodWUtbGlnaHRzIiwKICAibmFtZSI6ICJIdWUgTGlnaHRzIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImNobHVtc2t5dmFjbGF2QGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdmNobHVtL2h1ZS1saWdodHMiLAogICJ1dWlkIjogImh1ZS1saWdodHNAY2hsdW1za3l2YWNsYXYuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIwCn0="}}}
 , {"uuid": "compiz-alike-magic-lamp-effect@hermes83.github.com", "name": "Compiz alike magic lamp effect", "pname": "compiz-alike-magic-lamp-effect", "description": "Magic lamp effect inspired by the Compiz ones\n\nNB:\nIn case of update error please restart Gnome Shell (on Xorg press ALT+F2 then write r and press enter, on Wayland end the session and log in again)", "link": "https://extensions.gnome.org/extension/3740/compiz-alike-magic-lamp-effect/", "shell_version_map": {"38": {"version": "10", "sha256": "1mkykm2ql888bksgw94wgvwfqlqnzr19rn629a4k6hph4b5rw5sf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei1hbGlrZS1tYWdpYy1sYW1wLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "1mkykm2ql888bksgw94wgvwfqlqnzr19rn629a4k6hph4b5rw5sf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei1hbGlrZS1tYWdpYy1sYW1wLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1mkykm2ql888bksgw94wgvwfqlqnzr19rn629a4k6hph4b5rw5sf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1hZ2ljIGxhbXAgZWZmZWN0IGluc3BpcmVkIGJ5IHRoZSBDb21waXogb25lc1xuXG5OQjpcbkluIGNhc2Ugb2YgdXBkYXRlIGVycm9yIHBsZWFzZSByZXN0YXJ0IEdub21lIFNoZWxsIChvbiBYb3JnIHByZXNzIEFMVCtGMiB0aGVuIHdyaXRlIHIgYW5kIHByZXNzIGVudGVyLCBvbiBXYXlsYW5kIGVuZCB0aGUgc2Vzc2lvbiBhbmQgbG9nIGluIGFnYWluKSIsCiAgIm5hbWUiOiAiQ29tcGl6IGFsaWtlIG1hZ2ljIGxhbXAgZWZmZWN0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjI4IiwKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oZXJtZXM4My9jb21waXotYWxpa2UtbWFnaWMtbGFtcC1lZmZlY3QiLAogICJ1dWlkIjogImNvbXBpei1hbGlrZS1tYWdpYy1sYW1wLWVmZmVjdEBoZXJtZXM4My5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "latency-monitor@gitlab.labsatho.me", "name": "Latency Monitor", "pname": "latency-monitor", "description": "A simple extension for displaying latency information using pings in GNOME Shell.", "link": "https://extensions.gnome.org/extension/3746/latency-monitor/", "shell_version_map": {"38": {"version": "6", "sha256": "0k2y1qrq7irkn2c72pk4c5x4fwzaxkfp3jj7qvhzih6zmkifdzcd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGV4dGVuc2lvbiBmb3IgZGlzcGxheWluZyBsYXRlbmN5IGluZm9ybWF0aW9uIHVzaW5nIHBpbmdzIGluIEdOT01FIFNoZWxsLiIsCiAgIm5hbWUiOiAiTGF0ZW5jeSBNb25pdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmxhdGVuY3ktbW9uaXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3dhbGthZndhbGthL2dub21lLXNoZWxsLWV4dGVuc2lvbi1sYXRlbmN5LW1vbml0b3IiLAogICJ1dWlkIjogImxhdGVuY3ktbW9uaXRvckBnaXRsYWIubGFic2F0aG8ubWUiLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "the-circles-widget@xenlism.github.io", "name": "The Circles - Desktop Widget", "pname": "the-circles-desktop-widget", "description": "Show System Infomations on Desktop as Circles Desktop Widget\n\nmore info \nhttps://www.linuxuprising.com/2020/11/display-clock-ram-and-cpu-usage-as.html", "link": "https://extensions.gnome.org/extension/3748/the-circles-desktop-widget/", "shell_version_map": {"38": {"version": "6", "sha256": "0kxync9gdjgcfq3vfhf5z0065n30jw5y5jl00hdgarsh4pkbji04", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgU3lzdGVtIEluZm9tYXRpb25zIG9uIERlc2t0b3AgYXMgQ2lyY2xlcyBEZXNrdG9wIFdpZGdldFxuXG5tb3JlIGluZm8gXG5odHRwczovL3d3dy5saW51eHVwcmlzaW5nLmNvbS8yMDIwLzExL2Rpc3BsYXktY2xvY2stcmFtLWFuZC1jcHUtdXNhZ2UtYXMuaHRtbCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0aGUtY2lyY2xlcy13aWRnZXQiLAogICJuYW1lIjogIlRoZSBDaXJjbGVzIC0gRGVza3RvcCBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGhlLWNpcmNsZXMtd2lkZ2V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20veGVubGlzbS9zaG93dGltZSIsCiAgInV1aWQiOiAidGhlLWNpcmNsZXMtd2lkZ2V0QHhlbmxpc20uZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "12", "sha256": "0ngn00y97dqv667z47xahfv53dlb2asm0jbk9harlv4516jdrg0s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgU3lzdGVtIEluZm9tYXRpb25zIG9uIERlc2t0b3AgYXMgQ2lyY2xlcyBEZXNrdG9wIFdpZGdldFxuXG5tb3JlIGluZm8gXG5odHRwczovL3d3dy5saW51eHVwcmlzaW5nLmNvbS8yMDIwLzExL2Rpc3BsYXktY2xvY2stcmFtLWFuZC1jcHUtdXNhZ2UtYXMuaHRtbCIsCiAgImV4dGVuc2lvbi1pZCI6ICJ0aGUtY2lyY2xlcy13aWRnZXQiLAogICJuYW1lIjogIlRoZSBDaXJjbGVzIC0gRGVza3RvcCBXaWRnZXQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudGhlLWNpcmNsZXMtd2lkZ2V0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3hlbmxpc20vc2hvd3RpbWUiLAogICJ1dWlkIjogInRoZS1jaXJjbGVzLXdpZGdldEB4ZW5saXNtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMgp9"}}}
-, {"uuid": "overview_cleaner@gonza.com", "name": "Cleaner Overview", "pname": "cleaner-overview", "description": "Makes all the windows in the overview the same height and orders them by last recent used.", "link": "https://extensions.gnome.org/extension/3759/cleaner-overview/", "shell_version_map": {"38": {"version": "2", "sha256": "0k1q3b0x83ygjlysp39pv2i076zrhsxdlzf7yg3dq76nk98q3l2n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdG91Y2hwYWQtd2luZG93LXN3aXRjaGVyLWdub21lLWV4dC9ibG9iL21hc3Rlci90b3VjaHBhZF93aW5kb3dfc3dpdGNoZXIlNDBnb256YS5jb20vb3ZlcnZpZXdDbGVhbmVyLmpzIiwKICAidXVpZCI6ICJvdmVydmlld19jbGVhbmVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0k1q3b0x83ygjlysp39pv2i076zrhsxdlzf7yg3dq76nk98q3l2n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvdG91Y2hwYWQtd2luZG93LXN3aXRjaGVyLWdub21lLWV4dC9ibG9iL21hc3Rlci90b3VjaHBhZF93aW5kb3dfc3dpdGNoZXIlNDBnb256YS5jb20vb3ZlcnZpZXdDbGVhbmVyLmpzIiwKICAidXVpZCI6ICJvdmVydmlld19jbGVhbmVyQGdvbnphLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "overview_cleaner@gonza.com", "name": "Cleaner Overview", "pname": "cleaner-overview", "description": "Makes all the windows in the overview the same height and orders them by last recent used.", "link": "https://extensions.gnome.org/extension/3759/cleaner-overview/", "shell_version_map": {"38": {"version": "3", "sha256": "16xljs0ym9cp7lxa36ls7p4z79s7h9q7azg32pvhflylx4bsyv2c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3RvdWNocGFkLXdpbmRvdy1zd2l0Y2hlci1nbm9tZS1leHQvYmxvYi9tYXN0ZXIvdG91Y2hwYWRfd2luZG93X3N3aXRjaGVyJTQwZ29uemEuY29tL292ZXJ2aWV3Q2xlYW5lci5qcyIsCiAgInV1aWQiOiAib3ZlcnZpZXdfY2xlYW5lckBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "16xljs0ym9cp7lxa36ls7p4z79s7h9q7azg32pvhflylx4bsyv2c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3RvdWNocGFkLXdpbmRvdy1zd2l0Y2hlci1nbm9tZS1leHQvYmxvYi9tYXN0ZXIvdG91Y2hwYWRfd2luZG93X3N3aXRjaGVyJTQwZ29uemEuY29tL292ZXJ2aWV3Q2xlYW5lci5qcyIsCiAgInV1aWQiOiAib3ZlcnZpZXdfY2xlYW5lckBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "16xljs0ym9cp7lxa36ls7p4z79s7h9q7azg32pvhflylx4bsyv2c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIGFsbCB0aGUgd2luZG93cyBpbiB0aGUgb3ZlcnZpZXcgdGhlIHNhbWUgaGVpZ2h0IGFuZCBvcmRlcnMgdGhlbSBieSBsYXN0IHJlY2VudCB1c2VkLiIsCiAgIm5hbWUiOiAiQ2xlYW5lciBPdmVydmlldyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL3RvdWNocGFkLXdpbmRvdy1zd2l0Y2hlci1nbm9tZS1leHQvYmxvYi9tYXN0ZXIvdG91Y2hwYWRfd2luZG93X3N3aXRjaGVyJTQwZ29uemEuY29tL292ZXJ2aWV3Q2xlYW5lci5qcyIsCiAgInV1aWQiOiAib3ZlcnZpZXdfY2xlYW5lckBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "battery-status@atareao.es", "name": "Battery Status", "pname": "battery-status", "description": "Get information about your battery status", "link": "https://extensions.gnome.org/extension/3763/battery-status/", "shell_version_map": {"40": {"version": "5", "sha256": "0mg30q1cgzmf70ikbm623fflhz392xkan0d8cpslnmkgx0z6nczv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdldCBpbmZvcm1hdGlvbiBhYm91dCB5b3VyIGJhdHRlcnkgc3RhdHVzIiwKICAiZXh0ZW5zaW9uLWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJiYXR0ZXJ5LXN0YXR1c0BhdGFyZWFvLmVzIiwKICAiaWNvbiI6ICJiYXR0ZXJ5LXN0YXR1cy1pY29uIiwKICAibmFtZSI6ICJCYXR0ZXJ5IFN0YXR1cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJlcy5hdGFyZWFvLmJhdHRlcnktc3RhdHVzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2F0YXJlYW8vYmF0dGVyeS1zdGF0dXMiLAogICJ1dWlkIjogImJhdHRlcnktc3RhdHVzQGF0YXJlYW8uZXMiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "distinct@sireliah.com", "name": "Distinct Windows", "pname": "distinct-windows", "description": "Visually differentiate windows with colors and symbols", "link": "https://extensions.gnome.org/extension/3769/distinct-windows/", "shell_version_map": {"38": {"version": "4", "sha256": "1iqga92l9mk3ykf8bdy9igvqfx9k78jasdmqsrrz9zcz33d7k4h7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpc3VhbGx5IGRpZmZlcmVudGlhdGUgd2luZG93cyB3aXRoIGNvbG9ycyBhbmQgc3ltYm9scyIsCiAgIm5hbWUiOiAiRGlzdGluY3QgV2luZG93cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3NpcmVsaWFoL2Rpc3RpbmN0LXdpbmRvd3MiLAogICJ1dWlkIjogImRpc3RpbmN0QHNpcmVsaWFoLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "miniCal2@breiq", "name": "Minimalist Calendar 2", "pname": "minimalist-calendar-2", "description": "Remove event list and clock/calendar app buttons from the calendar window.", "link": "https://extensions.gnome.org/extension/3775/minimalist-calendar-2/", "shell_version_map": {"38": {"version": "1", "sha256": "1nh10ik3zk3r4jr31mr8nw8nnamgj3mk1f3im06657wv18x9wvam", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBldmVudCBsaXN0IGFuZCBjbG9jay9jYWxlbmRhciBhcHAgYnV0dG9ucyBmcm9tIHRoZSBjYWxlbmRhciB3aW5kb3cuIiwKICAibmFtZSI6ICJNaW5pbWFsaXN0IENhbGVuZGFyIDIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAibWluaUNhbDJAYnJlaXEiLAogICJ2ZXJzaW9uIjogMQp9"}}}
@@ -391,7 +392,7 @@
 , {"uuid": "wacom-indicator@fthx", "name": "Wacom Indicator", "pname": "wacom-indicator", "description": "Wacom tablet indicator in the top bar: connection state and power level.\n\n On click: open GNOME Settings Wacom section. On hover or every minute: update connection state and power level.\n\n Settings (in extension.js file headers): show/hide model label, refresh delay, update/do nothing on indicator hover, show/hide if disconnected.", "link": "https://extensions.gnome.org/extension/3809/wacom-indicator/", "shell_version_map": {"38": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "1sda66n1s3d28jd98xcznw5ljv10iwndpcbq7bfm5hqzrk8zimid", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhY29tIHRhYmxldCBpbmRpY2F0b3IgaW4gdGhlIHRvcCBiYXI6IGNvbm5lY3Rpb24gc3RhdGUgYW5kIHBvd2VyIGxldmVsLlxuXG4gT24gY2xpY2s6IG9wZW4gR05PTUUgU2V0dGluZ3MgV2Fjb20gc2VjdGlvbi4gT24gaG92ZXIgb3IgZXZlcnkgbWludXRlOiB1cGRhdGUgY29ubmVjdGlvbiBzdGF0ZSBhbmQgcG93ZXIgbGV2ZWwuXG5cbiBTZXR0aW5ncyAoaW4gZXh0ZW5zaW9uLmpzIGZpbGUgaGVhZGVycyk6IHNob3cvaGlkZSBtb2RlbCBsYWJlbCwgcmVmcmVzaCBkZWxheSwgdXBkYXRlL2RvIG5vdGhpbmcgb24gaW5kaWNhdG9yIGhvdmVyLCBzaG93L2hpZGUgaWYgZGlzY29ubmVjdGVkLiIsCiAgIm5hbWUiOiAiV2Fjb20gSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvd2Fjb20taW5kaWNhdG9yIiwKICAidXVpZCI6ICJ3YWNvbS1pbmRpY2F0b3JAZnRoeCIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "hibernate@dafne.rocks", "name": "System Action - Hibernate", "pname": "system-action-hibernate", "description": "A GNOME extension that adds the option to hibernate amongst other system actions", "link": "https://extensions.gnome.org/extension/3814/system-action-hibernate/", "shell_version_map": {"38": {"version": "8", "sha256": "1rriknzx54f4wlfjm6wrcy9s86vchi5n3p3qp8lx52dsv36a22an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1rriknzx54f4wlfjm6wrcy9s86vchi5n3p3qp8lx52dsv36a22an", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgZXh0ZW5zaW9uIHRoYXQgYWRkcyB0aGUgb3B0aW9uIHRvIGhpYmVybmF0ZSBhbW9uZ3N0IG90aGVyIHN5c3RlbSBhY3Rpb25zIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiaGliZXJuYXRlQGRhZm5lLnJvY2tzIiwKICAibmFtZSI6ICJTeXN0ZW0gQWN0aW9uIC0gSGliZXJuYXRlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2NvZGViZXJnLm9yZy9raXl1aS9nbm9tZS1zaGVsbC1oaWJlcm5hdGUtZXh0ZW5zaW9uIiwKICAidXVpZCI6ICJoaWJlcm5hdGVAZGFmbmUucm9ja3MiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "click-to-close-overview@l3nn4rt.github.io", "name": "Click to close overview", "pname": "click-to-close-overview", "description": "Close the overview by clicking empty space.", "link": "https://extensions.gnome.org/extension/3826/click-to-close-overview/", "shell_version_map": {"38": {"version": "3", "sha256": "17xd3k1xpsn8ma6f11f4sr26y5xbcs3hiw7lv1qqrn80lyjj2vz1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS4iLAogICJuYW1lIjogIkNsaWNrIHRvIGNsb3NlIG92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbDNubjRydC9jbGljay10by1jbG9zZS1vdmVydmlldyIsCiAgInV1aWQiOiAiY2xpY2stdG8tY2xvc2Utb3ZlcnZpZXdAbDNubjRydC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "5", "sha256": "1h12bhqac4zyvsj6xbjr7hnyah3bnbbx0r8ihblkw5l7a67ix1ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS4iLAogICJuYW1lIjogIkNsaWNrIHRvIGNsb3NlIG92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sM25uNHJ0L2NsaWNrLXRvLWNsb3NlLW92ZXJ2aWV3IiwKICAidXVpZCI6ICJjbGljay10by1jbG9zZS1vdmVydmlld0BsM25uNHJ0LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1h12bhqac4zyvsj6xbjr7hnyah3bnbbx0r8ihblkw5l7a67ix1ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIHRoZSBvdmVydmlldyBieSBjbGlja2luZyBlbXB0eSBzcGFjZS4iLAogICJuYW1lIjogIkNsaWNrIHRvIGNsb3NlIG92ZXJ2aWV3IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9sM25uNHJ0L2NsaWNrLXRvLWNsb3NlLW92ZXJ2aWV3IiwKICAidXVpZCI6ICJjbGljay10by1jbG9zZS1vdmVydmlld0BsM25uNHJ0LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
-, {"uuid": "just-perfection-desktop@just-perfection", "name": "Just Perfection", "pname": "just-perfection", "description": "Tweak Tool to Customize GNOME Shell and Disable UI Elements\n\n- Accessibility Menu Visibility\n- Activities Button Icon Visibility\n- Activities button Visibility\n- Always Show Workspace Switcher on Dynamic Workspaces (40, 41)\n- Animation Speed or Disable it\n- App Gesture (3.36, 3.38)\n- Applications Button Visibility\n- App Menu Icon Visibility\n- App Menu Visibility\n- Background Menu Visibility\n- Clock Menu Position\n- Clock Menu Visibility\n- Dash Icon Size\n- Dash Visibility\n- Disable Type to Search\n- Double Super Key to App Grid\n- GNOME Shell Theme Override\n- Hot Corner\n- Keyboard Layout Visibility\n- Notification Banner Position\n- OSD Visibility\n- Panel Arrow Visibility(3.36, 3.38)\n- Panel Button Padding Size\n- Panel Height\n- Panel Indicator Padding Size\n- Panel Notification icon Visibility\n- Panel Position\n- Panel Round Corner Size\n- Panel Visibility\n- Panel Visibility in Overview\n- Power Icon Visibility\n- Ripple Box\n- Search Visibility\n- Startup Status(40, 41)\n- System Menu (Aggregate Menu) Visibility\n- Window Demands Attention Focus\n- Window Picker Caption Visibility\n- Window Picker Close Button Visibility\n- Window Picker Icon(40, 41)\n- Workspace Background Corner Size in Overview(40, 41)\n- Workspace Popup Visibility\n- Workspaces in app grid Visibility (40, 41)\n- Workspace Switcher Size (40, 41)\n- Workspace Switcher Visibility\n- Workspace Wraparound", "link": "https://extensions.gnome.org/extension/3843/just-perfection/", "shell_version_map": {"38": {"version": "16", "sha256": "1y03n2p1jpdz7chzw3jrfbgy6zaav30rj6cc4cf6j1p0xl8wrn31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENsb2NrIE1lbnUgUG9zaXRpb25cbi0gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIERhc2ggSWNvbiBTaXplXG4tIERhc2ggVmlzaWJpbGl0eVxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIERvdWJsZSBTdXBlciBLZXkgdG8gQXBwIEdyaWRcbi0gR05PTUUgU2hlbGwgVGhlbWUgT3ZlcnJpZGVcbi0gSG90IENvcm5lclxuLSBLZXlib2FyZCBMYXlvdXQgVmlzaWJpbGl0eVxuLSBOb3RpZmljYXRpb24gQmFubmVyIFBvc2l0aW9uXG4tIE9TRCBWaXNpYmlsaXR5XG4tIFBhbmVsIEFycm93IFZpc2liaWxpdHkoMy4zNiwgMy4zOClcbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgSW5kaWNhdG9yIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBOb3RpZmljYXRpb24gaWNvbiBWaXNpYmlsaXR5XG4tIFBhbmVsIFBvc2l0aW9uXG4tIFBhbmVsIFJvdW5kIENvcm5lciBTaXplXG4tIFBhbmVsIFZpc2liaWxpdHlcbi0gUGFuZWwgVmlzaWJpbGl0eSBpbiBPdmVydmlld1xuLSBQb3dlciBJY29uIFZpc2liaWxpdHlcbi0gUmlwcGxlIEJveFxuLSBTZWFyY2ggVmlzaWJpbGl0eVxuLSBTdGFydHVwIFN0YXR1cyg0MCwgNDEpXG4tIFN5c3RlbSBNZW51IChBZ2dyZWdhdGUgTWVudSkgVmlzaWJpbGl0eVxuLSBXaW5kb3cgRGVtYW5kcyBBdHRlbnRpb24gRm9jdXNcbi0gV2luZG93IFBpY2tlciBDYXB0aW9uIFZpc2liaWxpdHlcbi0gV2luZG93IFBpY2tlciBDbG9zZSBCdXR0b24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIEljb24oNDAsIDQxKVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyg0MCwgNDEpXG4tIFdvcmtzcGFjZSBQb3B1cCBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZXMgaW4gYXBwIGdyaWQgVmlzaWJpbGl0eSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgVmlzaWJpbGl0eVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZCIsCiAgImdldHRleHQtZG9tYWluIjogImp1c3QtcGVyZmVjdGlvbiIsCiAgIm5hbWUiOiAiSnVzdCBQZXJmZWN0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmp1c3QtcGVyZmVjdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "40": {"version": "16", "sha256": "1y03n2p1jpdz7chzw3jrfbgy6zaav30rj6cc4cf6j1p0xl8wrn31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENsb2NrIE1lbnUgUG9zaXRpb25cbi0gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIERhc2ggSWNvbiBTaXplXG4tIERhc2ggVmlzaWJpbGl0eVxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIERvdWJsZSBTdXBlciBLZXkgdG8gQXBwIEdyaWRcbi0gR05PTUUgU2hlbGwgVGhlbWUgT3ZlcnJpZGVcbi0gSG90IENvcm5lclxuLSBLZXlib2FyZCBMYXlvdXQgVmlzaWJpbGl0eVxuLSBOb3RpZmljYXRpb24gQmFubmVyIFBvc2l0aW9uXG4tIE9TRCBWaXNpYmlsaXR5XG4tIFBhbmVsIEFycm93IFZpc2liaWxpdHkoMy4zNiwgMy4zOClcbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgSW5kaWNhdG9yIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBOb3RpZmljYXRpb24gaWNvbiBWaXNpYmlsaXR5XG4tIFBhbmVsIFBvc2l0aW9uXG4tIFBhbmVsIFJvdW5kIENvcm5lciBTaXplXG4tIFBhbmVsIFZpc2liaWxpdHlcbi0gUGFuZWwgVmlzaWJpbGl0eSBpbiBPdmVydmlld1xuLSBQb3dlciBJY29uIFZpc2liaWxpdHlcbi0gUmlwcGxlIEJveFxuLSBTZWFyY2ggVmlzaWJpbGl0eVxuLSBTdGFydHVwIFN0YXR1cyg0MCwgNDEpXG4tIFN5c3RlbSBNZW51IChBZ2dyZWdhdGUgTWVudSkgVmlzaWJpbGl0eVxuLSBXaW5kb3cgRGVtYW5kcyBBdHRlbnRpb24gRm9jdXNcbi0gV2luZG93IFBpY2tlciBDYXB0aW9uIFZpc2liaWxpdHlcbi0gV2luZG93IFBpY2tlciBDbG9zZSBCdXR0b24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIEljb24oNDAsIDQxKVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyg0MCwgNDEpXG4tIFdvcmtzcGFjZSBQb3B1cCBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZXMgaW4gYXBwIGdyaWQgVmlzaWJpbGl0eSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgVmlzaWJpbGl0eVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZCIsCiAgImdldHRleHQtZG9tYWluIjogImp1c3QtcGVyZmVjdGlvbiIsCiAgIm5hbWUiOiAiSnVzdCBQZXJmZWN0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmp1c3QtcGVyZmVjdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDE2Cn0="}, "41": {"version": "16", "sha256": "1y03n2p1jpdz7chzw3jrfbgy6zaav30rj6cc4cf6j1p0xl8wrn31", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENsb2NrIE1lbnUgUG9zaXRpb25cbi0gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIERhc2ggSWNvbiBTaXplXG4tIERhc2ggVmlzaWJpbGl0eVxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIERvdWJsZSBTdXBlciBLZXkgdG8gQXBwIEdyaWRcbi0gR05PTUUgU2hlbGwgVGhlbWUgT3ZlcnJpZGVcbi0gSG90IENvcm5lclxuLSBLZXlib2FyZCBMYXlvdXQgVmlzaWJpbGl0eVxuLSBOb3RpZmljYXRpb24gQmFubmVyIFBvc2l0aW9uXG4tIE9TRCBWaXNpYmlsaXR5XG4tIFBhbmVsIEFycm93IFZpc2liaWxpdHkoMy4zNiwgMy4zOClcbi0gUGFuZWwgQnV0dG9uIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBIZWlnaHRcbi0gUGFuZWwgSW5kaWNhdG9yIFBhZGRpbmcgU2l6ZVxuLSBQYW5lbCBOb3RpZmljYXRpb24gaWNvbiBWaXNpYmlsaXR5XG4tIFBhbmVsIFBvc2l0aW9uXG4tIFBhbmVsIFJvdW5kIENvcm5lciBTaXplXG4tIFBhbmVsIFZpc2liaWxpdHlcbi0gUGFuZWwgVmlzaWJpbGl0eSBpbiBPdmVydmlld1xuLSBQb3dlciBJY29uIFZpc2liaWxpdHlcbi0gUmlwcGxlIEJveFxuLSBTZWFyY2ggVmlzaWJpbGl0eVxuLSBTdGFydHVwIFN0YXR1cyg0MCwgNDEpXG4tIFN5c3RlbSBNZW51IChBZ2dyZWdhdGUgTWVudSkgVmlzaWJpbGl0eVxuLSBXaW5kb3cgRGVtYW5kcyBBdHRlbnRpb24gRm9jdXNcbi0gV2luZG93IFBpY2tlciBDYXB0aW9uIFZpc2liaWxpdHlcbi0gV2luZG93IFBpY2tlciBDbG9zZSBCdXR0b24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIEljb24oNDAsIDQxKVxuLSBXb3Jrc3BhY2UgQmFja2dyb3VuZCBDb3JuZXIgU2l6ZSBpbiBPdmVydmlldyg0MCwgNDEpXG4tIFdvcmtzcGFjZSBQb3B1cCBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZXMgaW4gYXBwIGdyaWQgVmlzaWJpbGl0eSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgU2l6ZSAoNDAsIDQxKVxuLSBXb3Jrc3BhY2UgU3dpdGNoZXIgVmlzaWJpbGl0eVxuLSBXb3Jrc3BhY2UgV3JhcGFyb3VuZCIsCiAgImdldHRleHQtZG9tYWluIjogImp1c3QtcGVyZmVjdGlvbiIsCiAgIm5hbWUiOiAiSnVzdCBQZXJmZWN0aW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmp1c3QtcGVyZmVjdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDE2Cn0="}}}
+, {"uuid": "just-perfection-desktop@just-perfection", "name": "Just Perfection", "pname": "just-perfection", "description": "Tweak Tool to Customize GNOME Shell, Change the Behavior and Disable UI Elements\n\n- Accessibility Menu Visibility\n- Activities Button Icon Visibility\n- Activities button Visibility\n- Always Show Workspace Switcher on Dynamic Workspaces (40, 41)\n- Animation Speed or Disable it\n- App Gesture (3.36, 3.38)\n- Applications Button Visibility\n- App Menu Icon Visibility\n- App Menu Visibility\n- Background Menu Visibility\n- Clock Menu Position\n- Clock Menu Visibility\n- Dash Icon Size\n- Dash Visibility\n- Disable Type to Search\n- Double Super Key to App Grid\n- GNOME Shell Theme Override\n- Hot Corner (3.36, 3.38, 40)\n- Keyboard Layout Visibility\n- Notification Banner Position\n- OSD Visibility\n- Panel Arrow Visibility(3.36, 3.38)\n- Panel Button Padding Size\n- Panel Height\n- Panel Indicator Padding Size\n- Panel Notification icon Visibility\n- Panel Position\n- Panel Round Corner Size (3.36, 3.38, 40, 41)\n- Panel Visibility\n- Panel Visibility in Overview\n- Power Icon Visibility\n- Ripple Box\n- Search Visibility\n- Startup Status(40, 41)\n- System Menu (Aggregate Menu) Visibility\n- Window Demands Attention Focus\n- Window Picker Caption Visibility\n- Window Picker Close Button Visibility\n- Window Picker Icon(40, 41)\n- Workspace Background Corner Size in Overview(40, 41)\n- Workspace Popup Visibility\n- Workspaces in app grid Visibility (40, 41)\n- Workspace Switcher Size (40, 41)\n- Workspace Switcher Visibility\n- Workspace Wraparound", "link": "https://extensions.gnome.org/extension/3843/just-perfection/", "shell_version_map": {"38": {"version": "18", "sha256": "15qv09ji5fh887hgazcxhb8z4m4n60h8p379zfns03h3918bbmrx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsLCBDaGFuZ2UgdGhlIEJlaGF2aW9yIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENsb2NrIE1lbnUgUG9zaXRpb25cbi0gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIERhc2ggSWNvbiBTaXplXG4tIERhc2ggVmlzaWJpbGl0eVxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIERvdWJsZSBTdXBlciBLZXkgdG8gQXBwIEdyaWRcbi0gR05PTUUgU2hlbGwgVGhlbWUgT3ZlcnJpZGVcbi0gSG90IENvcm5lciAoMy4zNiwgMy4zOCwgNDApXG4tIEtleWJvYXJkIExheW91dCBWaXNpYmlsaXR5XG4tIE5vdGlmaWNhdGlvbiBCYW5uZXIgUG9zaXRpb25cbi0gT1NEIFZpc2liaWxpdHlcbi0gUGFuZWwgQXJyb3cgVmlzaWJpbGl0eSgzLjM2LCAzLjM4KVxuLSBQYW5lbCBCdXR0b24gUGFkZGluZyBTaXplXG4tIFBhbmVsIEhlaWdodFxuLSBQYW5lbCBJbmRpY2F0b3IgUGFkZGluZyBTaXplXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uIFZpc2liaWxpdHlcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemUgKDMuMzYsIDMuMzgsIDQwLCA0MSlcbi0gUGFuZWwgVmlzaWJpbGl0eVxuLSBQYW5lbCBWaXNpYmlsaXR5IGluIE92ZXJ2aWV3XG4tIFBvd2VyIEljb24gVmlzaWJpbGl0eVxuLSBSaXBwbGUgQm94XG4tIFNlYXJjaCBWaXNpYmlsaXR5XG4tIFN0YXJ0dXAgU3RhdHVzKDQwLCA0MSlcbi0gU3lzdGVtIE1lbnUgKEFnZ3JlZ2F0ZSBNZW51KSBWaXNpYmlsaXR5XG4tIFdpbmRvdyBEZW1hbmRzIEF0dGVudGlvbiBGb2N1c1xuLSBXaW5kb3cgUGlja2VyIENhcHRpb24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIENsb3NlIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIFdpbmRvdyBQaWNrZXIgSWNvbig0MCwgNDEpXG4tIFdvcmtzcGFjZSBCYWNrZ3JvdW5kIENvcm5lciBTaXplIGluIE92ZXJ2aWV3KDQwLCA0MSlcbi0gV29ya3NwYWNlIFBvcHVwIFZpc2liaWxpdHlcbi0gV29ya3NwYWNlcyBpbiBhcHAgZ3JpZCBWaXNpYmlsaXR5ICg0MCwgNDEpXG4tIFdvcmtzcGFjZSBTd2l0Y2hlciBTaXplICg0MCwgNDEpXG4tIFdvcmtzcGFjZSBTd2l0Y2hlciBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZSBXcmFwYXJvdW5kIiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "40": {"version": "18", "sha256": "15qv09ji5fh887hgazcxhb8z4m4n60h8p379zfns03h3918bbmrx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsLCBDaGFuZ2UgdGhlIEJlaGF2aW9yIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENsb2NrIE1lbnUgUG9zaXRpb25cbi0gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIERhc2ggSWNvbiBTaXplXG4tIERhc2ggVmlzaWJpbGl0eVxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIERvdWJsZSBTdXBlciBLZXkgdG8gQXBwIEdyaWRcbi0gR05PTUUgU2hlbGwgVGhlbWUgT3ZlcnJpZGVcbi0gSG90IENvcm5lciAoMy4zNiwgMy4zOCwgNDApXG4tIEtleWJvYXJkIExheW91dCBWaXNpYmlsaXR5XG4tIE5vdGlmaWNhdGlvbiBCYW5uZXIgUG9zaXRpb25cbi0gT1NEIFZpc2liaWxpdHlcbi0gUGFuZWwgQXJyb3cgVmlzaWJpbGl0eSgzLjM2LCAzLjM4KVxuLSBQYW5lbCBCdXR0b24gUGFkZGluZyBTaXplXG4tIFBhbmVsIEhlaWdodFxuLSBQYW5lbCBJbmRpY2F0b3IgUGFkZGluZyBTaXplXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uIFZpc2liaWxpdHlcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemUgKDMuMzYsIDMuMzgsIDQwLCA0MSlcbi0gUGFuZWwgVmlzaWJpbGl0eVxuLSBQYW5lbCBWaXNpYmlsaXR5IGluIE92ZXJ2aWV3XG4tIFBvd2VyIEljb24gVmlzaWJpbGl0eVxuLSBSaXBwbGUgQm94XG4tIFNlYXJjaCBWaXNpYmlsaXR5XG4tIFN0YXJ0dXAgU3RhdHVzKDQwLCA0MSlcbi0gU3lzdGVtIE1lbnUgKEFnZ3JlZ2F0ZSBNZW51KSBWaXNpYmlsaXR5XG4tIFdpbmRvdyBEZW1hbmRzIEF0dGVudGlvbiBGb2N1c1xuLSBXaW5kb3cgUGlja2VyIENhcHRpb24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIENsb3NlIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIFdpbmRvdyBQaWNrZXIgSWNvbig0MCwgNDEpXG4tIFdvcmtzcGFjZSBCYWNrZ3JvdW5kIENvcm5lciBTaXplIGluIE92ZXJ2aWV3KDQwLCA0MSlcbi0gV29ya3NwYWNlIFBvcHVwIFZpc2liaWxpdHlcbi0gV29ya3NwYWNlcyBpbiBhcHAgZ3JpZCBWaXNpYmlsaXR5ICg0MCwgNDEpXG4tIFdvcmtzcGFjZSBTd2l0Y2hlciBTaXplICg0MCwgNDEpXG4tIFdvcmtzcGFjZSBTd2l0Y2hlciBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZSBXcmFwYXJvdW5kIiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDE4Cn0="}, "41": {"version": "18", "sha256": "15qv09ji5fh887hgazcxhb8z4m4n60h8p379zfns03h3918bbmrx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR3ZWFrIFRvb2wgdG8gQ3VzdG9taXplIEdOT01FIFNoZWxsLCBDaGFuZ2UgdGhlIEJlaGF2aW9yIGFuZCBEaXNhYmxlIFVJIEVsZW1lbnRzXG5cbi0gQWNjZXNzaWJpbGl0eSBNZW51IFZpc2liaWxpdHlcbi0gQWN0aXZpdGllcyBCdXR0b24gSWNvbiBWaXNpYmlsaXR5XG4tIEFjdGl2aXRpZXMgYnV0dG9uIFZpc2liaWxpdHlcbi0gQWx3YXlzIFNob3cgV29ya3NwYWNlIFN3aXRjaGVyIG9uIER5bmFtaWMgV29ya3NwYWNlcyAoNDAsIDQxKVxuLSBBbmltYXRpb24gU3BlZWQgb3IgRGlzYWJsZSBpdFxuLSBBcHAgR2VzdHVyZSAoMy4zNiwgMy4zOClcbi0gQXBwbGljYXRpb25zIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIEFwcCBNZW51IEljb24gVmlzaWJpbGl0eVxuLSBBcHAgTWVudSBWaXNpYmlsaXR5XG4tIEJhY2tncm91bmQgTWVudSBWaXNpYmlsaXR5XG4tIENsb2NrIE1lbnUgUG9zaXRpb25cbi0gQ2xvY2sgTWVudSBWaXNpYmlsaXR5XG4tIERhc2ggSWNvbiBTaXplXG4tIERhc2ggVmlzaWJpbGl0eVxuLSBEaXNhYmxlIFR5cGUgdG8gU2VhcmNoXG4tIERvdWJsZSBTdXBlciBLZXkgdG8gQXBwIEdyaWRcbi0gR05PTUUgU2hlbGwgVGhlbWUgT3ZlcnJpZGVcbi0gSG90IENvcm5lciAoMy4zNiwgMy4zOCwgNDApXG4tIEtleWJvYXJkIExheW91dCBWaXNpYmlsaXR5XG4tIE5vdGlmaWNhdGlvbiBCYW5uZXIgUG9zaXRpb25cbi0gT1NEIFZpc2liaWxpdHlcbi0gUGFuZWwgQXJyb3cgVmlzaWJpbGl0eSgzLjM2LCAzLjM4KVxuLSBQYW5lbCBCdXR0b24gUGFkZGluZyBTaXplXG4tIFBhbmVsIEhlaWdodFxuLSBQYW5lbCBJbmRpY2F0b3IgUGFkZGluZyBTaXplXG4tIFBhbmVsIE5vdGlmaWNhdGlvbiBpY29uIFZpc2liaWxpdHlcbi0gUGFuZWwgUG9zaXRpb25cbi0gUGFuZWwgUm91bmQgQ29ybmVyIFNpemUgKDMuMzYsIDMuMzgsIDQwLCA0MSlcbi0gUGFuZWwgVmlzaWJpbGl0eVxuLSBQYW5lbCBWaXNpYmlsaXR5IGluIE92ZXJ2aWV3XG4tIFBvd2VyIEljb24gVmlzaWJpbGl0eVxuLSBSaXBwbGUgQm94XG4tIFNlYXJjaCBWaXNpYmlsaXR5XG4tIFN0YXJ0dXAgU3RhdHVzKDQwLCA0MSlcbi0gU3lzdGVtIE1lbnUgKEFnZ3JlZ2F0ZSBNZW51KSBWaXNpYmlsaXR5XG4tIFdpbmRvdyBEZW1hbmRzIEF0dGVudGlvbiBGb2N1c1xuLSBXaW5kb3cgUGlja2VyIENhcHRpb24gVmlzaWJpbGl0eVxuLSBXaW5kb3cgUGlja2VyIENsb3NlIEJ1dHRvbiBWaXNpYmlsaXR5XG4tIFdpbmRvdyBQaWNrZXIgSWNvbig0MCwgNDEpXG4tIFdvcmtzcGFjZSBCYWNrZ3JvdW5kIENvcm5lciBTaXplIGluIE92ZXJ2aWV3KDQwLCA0MSlcbi0gV29ya3NwYWNlIFBvcHVwIFZpc2liaWxpdHlcbi0gV29ya3NwYWNlcyBpbiBhcHAgZ3JpZCBWaXNpYmlsaXR5ICg0MCwgNDEpXG4tIFdvcmtzcGFjZSBTd2l0Y2hlciBTaXplICg0MCwgNDEpXG4tIFdvcmtzcGFjZSBTd2l0Y2hlciBWaXNpYmlsaXR5XG4tIFdvcmtzcGFjZSBXcmFwYXJvdW5kIiwKICAiZ2V0dGV4dC1kb21haW4iOiAianVzdC1wZXJmZWN0aW9uIiwKICAibmFtZSI6ICJKdXN0IFBlcmZlY3Rpb24iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuanVzdC1wZXJmZWN0aW9uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvanJhaG1hdHphZGVoL2p1c3QtcGVyZmVjdGlvbiIsCiAgInV1aWQiOiAianVzdC1wZXJmZWN0aW9uLWRlc2t0b3BAanVzdC1wZXJmZWN0aW9uIiwKICAidmVyc2lvbiI6IDE4Cn0="}}}
 , {"uuid": "workspaces-bar@fthx", "name": "Workspaces Bar", "pname": "workspaces-bar", "description": "Replace 'Activities' button by all current workspaces buttons. Switch workspace or toggle overview by clicking on these buttons.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/3851/workspaces-bar/", "shell_version_map": {"38": {"version": "12", "sha256": "1rskz8llic5g8cix4mb6iha9v789fg6yn2i25zj0ywb9qn063ld5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC93b3Jrc3BhY2VzLWJhciIsCiAgInV1aWQiOiAid29ya3NwYWNlcy1iYXJAZnRoeCIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "1rskz8llic5g8cix4mb6iha9v789fg6yn2i25zj0ywb9qn063ld5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC93b3Jrc3BhY2VzLWJhciIsCiAgInV1aWQiOiAid29ya3NwYWNlcy1iYXJAZnRoeCIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "1rskz8llic5g8cix4mb6iha9v789fg6yn2i25zj0ywb9qn063ld5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlcGxhY2UgJ0FjdGl2aXRpZXMnIGJ1dHRvbiBieSBhbGwgY3VycmVudCB3b3Jrc3BhY2VzIGJ1dHRvbnMuIFN3aXRjaCB3b3Jrc3BhY2Ugb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuXG5cbiBZb3UgY2FuIHVzZSBuYW1lcyBmb3Igd29ya3NwYWNlczogdGhlcmUgYXJlIHR3byB3YXlzIGZvciB0aGF0LiAxKSBFZGl0IHRoZSBzdHJpbmcgYXJyYXkgJ29yZy5nbm9tZS5kZXNrdG9wLndtLnByZWZlcmVuY2VzLndvcmtzcGFjZS1uYW1lcycgZ3NldHRpbmdzIGtleSAodGhyb3VnaCBkY29uZiBlZGl0b3IsIGUuZy4pLiAyKSBVc2Ugb2ZmaWNpYWwgR05PTUUgZXh0ZW5zaW9uIFdvcmtzcGFjZXMgSW5kaWNhdG9yJ3Mgc2V0dGluZ3MuIFlvdSBkb24ndCBoYXZlIHRvIHdyaXRlIGEgbG9uZyBlbm91Z2ggbGlzdDogbnVtYmVycyBhcmUgZGlzcGxheWVkIGlmIG5vIHdvcmtzcGFjZSBuYW1lIGlzIGRlZmluZWQuIiwKICAibmFtZSI6ICJXb3Jrc3BhY2VzIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC93b3Jrc3BhY2VzLWJhciIsCiAgInV1aWQiOiAid29ya3NwYWNlcy1iYXJAZnRoeCIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "scanlines-effect@muratcileli.com", "name": "Scanlines Effect", "pname": "scanlines-effect", "description": "Retro monitor / CRT TV effect.", "link": "https://extensions.gnome.org/extension/3860/scanlines-effect/", "shell_version_map": {"38": {"version": "1", "sha256": "1xcsd700s9hkqmrqlv56ldiya2jk0d46j8k4a4i3m9c6k40c5z7v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJldHJvIG1vbml0b3IgLyBDUlQgVFYgZWZmZWN0LiIsCiAgIm5hbWUiOiAiU2NhbmxpbmVzIEVmZmVjdCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJjb20ubXVyYXRjaWxlbGkuc2NhbmxpbmVzLWVmZmVjdCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL211cmF0LWNpbGVsaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc2NhbmxpbmVzLWVmZmVjdCIsCiAgInV1aWQiOiAic2NhbmxpbmVzLWVmZmVjdEBtdXJhdGNpbGVsaS5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "workspaces-thumbnails-applet@blogdron", "name": "Workspaces Thumbnails Applet", "pname": "workspaces-thumbnails-applet", "description": "Notice!\n\nThis is a fork of the extension https://extensions.gnome.org/extension/2557/workspaces-thumbnails/ It hasn't been updated in a long time, but it only needs a small fix to work. Until the author fixes the problem, I will keep this fork. Please, if you have the opportunity to contact the author of the original extension, let him fix the problem for himself.\n\n\nPut an indicator on the panel showing all the workspaces thumbnails, allowing to switch between them or moving windows to another workspace.\n\n This is a very tiny fork of the original (GNOME official extension) Workspace Indicator, allowing to use it like when the Horizontal Workspaces extension is activated. The vertical workspaces layout is not modified; the workspaces layout is horizontal only in the top panel and the workspaces switcher in the overview is still showed. Please note that any global bug should be reported against the Workspace Indicator extension. https://extensions.gnome.org/extension/21/workspace-indicator", "link": "https://extensions.gnome.org/extension/3872/workspaces-thumbnails-applet/", "shell_version_map": {"38": {"version": "1", "sha256": "02823b6rfnibb0mhnx848pdxc3birw2aqp8607wjf93mvy5388hm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGljZSFcblxuVGhpcyBpcyBhIGZvcmsgb2YgdGhlIGV4dGVuc2lvbiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8yNTU3L3dvcmtzcGFjZXMtdGh1bWJuYWlscy8gSXQgaGFzbid0IGJlZW4gdXBkYXRlZCBpbiBhIGxvbmcgdGltZSwgYnV0IGl0IG9ubHkgbmVlZHMgYSBzbWFsbCBmaXggdG8gd29yay4gVW50aWwgdGhlIGF1dGhvciBmaXhlcyB0aGUgcHJvYmxlbSwgSSB3aWxsIGtlZXAgdGhpcyBmb3JrLiBQbGVhc2UsIGlmIHlvdSBoYXZlIHRoZSBvcHBvcnR1bml0eSB0byBjb250YWN0IHRoZSBhdXRob3Igb2YgdGhlIG9yaWdpbmFsIGV4dGVuc2lvbiwgbGV0IGhpbSBmaXggdGhlIHByb2JsZW0gZm9yIGhpbXNlbGYuXG5cblxuUHV0IGFuIGluZGljYXRvciBvbiB0aGUgcGFuZWwgc2hvd2luZyBhbGwgdGhlIHdvcmtzcGFjZXMgdGh1bWJuYWlscywgYWxsb3dpbmcgdG8gc3dpdGNoIGJldHdlZW4gdGhlbSBvciBtb3Zpbmcgd2luZG93cyB0byBhbm90aGVyIHdvcmtzcGFjZS5cblxuIFRoaXMgaXMgYSB2ZXJ5IHRpbnkgZm9yayBvZiB0aGUgb3JpZ2luYWwgKEdOT01FIG9mZmljaWFsIGV4dGVuc2lvbikgV29ya3NwYWNlIEluZGljYXRvciwgYWxsb3dpbmcgdG8gdXNlIGl0IGxpa2Ugd2hlbiB0aGUgSG9yaXpvbnRhbCBXb3Jrc3BhY2VzIGV4dGVuc2lvbiBpcyBhY3RpdmF0ZWQuIFRoZSB2ZXJ0aWNhbCB3b3Jrc3BhY2VzIGxheW91dCBpcyBub3QgbW9kaWZpZWQ7IHRoZSB3b3Jrc3BhY2VzIGxheW91dCBpcyBob3Jpem9udGFsIG9ubHkgaW4gdGhlIHRvcCBwYW5lbCBhbmQgdGhlIHdvcmtzcGFjZXMgc3dpdGNoZXIgaW4gdGhlIG92ZXJ2aWV3IGlzIHN0aWxsIHNob3dlZC4gUGxlYXNlIG5vdGUgdGhhdCBhbnkgZ2xvYmFsIGJ1ZyBzaG91bGQgYmUgcmVwb3J0ZWQgYWdhaW5zdCB0aGUgV29ya3NwYWNlIEluZGljYXRvciBleHRlbnNpb24uIGh0dHBzOi8vZXh0ZW5zaW9ucy5nbm9tZS5vcmcvZXh0ZW5zaW9uLzIxL3dvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJleHRlbnNpb24taWQiOiAid29ya3NwYWNlcy10aHVtYm5haWxzLWFwcGxldCIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbnMiLAogICJuYW1lIjogIldvcmtzcGFjZXMgVGh1bWJuYWlscyBBcHBsZXQiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiLAogICAgImJsb2dkcm9uIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy53b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIndvcmtzcGFjZXMtdGh1bWJuYWlscy1hcHBsZXRAYmxvZ2Ryb24iLAogICJ2ZXJzaW9uIjogMQp9"}}}
@@ -412,14 +413,14 @@
 , {"uuid": "toggle-alacritty@itstime.tech", "name": "Toggle Alacritty", "pname": "toggle-alacritty", "description": "Toggles Alacritty window via hotkey: Alt+z\n\nIf Alacritty is not launched, attempts to start it (/usr/bin/alacritty)\n\nWorks under both Wayland and X11\n\nTo change hotkey please follow instruction in the README.md:", "link": "https://extensions.gnome.org/extension/3942/toggle-alacritty/", "shell_version_map": {"38": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1kz5a8x9fpvilcd4p9pn6cmsj6gvq44cg85yhkgdi9x2qpd52fn1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZXMgQWxhY3JpdHR5IHdpbmRvdyB2aWEgaG90a2V5OiBBbHQrelxuXG5JZiBBbGFjcml0dHkgaXMgbm90IGxhdW5jaGVkLCBhdHRlbXB0cyB0byBzdGFydCBpdCAoL3Vzci9iaW4vYWxhY3JpdHR5KVxuXG5Xb3JrcyB1bmRlciBib3RoIFdheWxhbmQgYW5kIFgxMVxuXG5UbyBjaGFuZ2UgaG90a2V5IHBsZWFzZSBmb2xsb3cgaW5zdHJ1Y3Rpb24gaW4gdGhlIFJFQURNRS5tZDoiLAogICJuYW1lIjogIlRvZ2dsZSBBbGFjcml0dHkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMudG9nZ2xlLWFsYWNyaXR0eSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXh4YXB5L2dub21lLWFsYWNyaXR0eS10b2dnbGUiLAogICJ1dWlkIjogInRvZ2dsZS1hbGFjcml0dHlAaXRzdGltZS50ZWNoIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "hide-panel@fthx", "name": "Hide Panel", "pname": "hide-panel", "description": "Hide top panel except in overview. Switch button in panel.\n\nVery very light extension. There is a 1 pixel wide line at the top of the screen that allows to blindly use the panel menus. This is needed to keep the native hot corner active without having to recreate it.", "link": "https://extensions.gnome.org/extension/3948/hide-panel/", "shell_version_map": {"38": {"version": "8", "sha256": "0nrj0kxfdxx7nmw0zai070ca5lv5r43bpgm2binv31xjyh385849", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4gVGhlcmUgaXMgYSAxIHBpeGVsIHdpZGUgbGluZSBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4gdGhhdCBhbGxvd3MgdG8gYmxpbmRseSB1c2UgdGhlIHBhbmVsIG1lbnVzLiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRoZSBuYXRpdmUgaG90IGNvcm5lciBhY3RpdmUgd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgaXQuIiwKICAibmFtZSI6ICJIaWRlIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbCIsCiAgInV1aWQiOiAiaGlkZS1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "0nrj0kxfdxx7nmw0zai070ca5lv5r43bpgm2binv31xjyh385849", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgdG9wIHBhbmVsIGV4Y2VwdCBpbiBvdmVydmlldy4gU3dpdGNoIGJ1dHRvbiBpbiBwYW5lbC5cblxuVmVyeSB2ZXJ5IGxpZ2h0IGV4dGVuc2lvbi4gVGhlcmUgaXMgYSAxIHBpeGVsIHdpZGUgbGluZSBhdCB0aGUgdG9wIG9mIHRoZSBzY3JlZW4gdGhhdCBhbGxvd3MgdG8gYmxpbmRseSB1c2UgdGhlIHBhbmVsIG1lbnVzLiBUaGlzIGlzIG5lZWRlZCB0byBrZWVwIHRoZSBuYXRpdmUgaG90IGNvcm5lciBhY3RpdmUgd2l0aG91dCBoYXZpbmcgdG8gcmVjcmVhdGUgaXQuIiwKICAibmFtZSI6ICJIaWRlIFBhbmVsIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvaGlkZS1wYW5lbCIsCiAgInV1aWQiOiAiaGlkZS1wYW5lbEBmdGh4IiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "persistent-email-notifications@fthx", "name": "Persistent Email Notifications", "pname": "persistent-email-notifications", "description": "Never hide a new mail notification, except if you close it.\n\nVery very light extension. Email clients supported: Thunderbird, Evolution, Geary, Mailspring, TypeApp, BlueMail. Please ask for another email client if needed.", "link": "https://extensions.gnome.org/extension/3951/persistent-email-notifications/", "shell_version_map": {"38": {"version": "3", "sha256": "06m6fhs50vlrwkgdk6cvkcl5f155a1w8szs1g9pzryf8mmldgmdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcCwgQmx1ZU1haWwuIFBsZWFzZSBhc2sgZm9yIGFub3RoZXIgZW1haWwgY2xpZW50IGlmIG5lZWRlZC4iLAogICJuYW1lIjogIlBlcnNpc3RlbnQgRW1haWwgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3BlcnNpc3RlbnQtZW1haWwtbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAicGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "06m6fhs50vlrwkgdk6cvkcl5f155a1w8szs1g9pzryf8mmldgmdd", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5ldmVyIGhpZGUgYSBuZXcgbWFpbCBub3RpZmljYXRpb24sIGV4Y2VwdCBpZiB5b3UgY2xvc2UgaXQuXG5cblZlcnkgdmVyeSBsaWdodCBleHRlbnNpb24uIEVtYWlsIGNsaWVudHMgc3VwcG9ydGVkOiBUaHVuZGVyYmlyZCwgRXZvbHV0aW9uLCBHZWFyeSwgTWFpbHNwcmluZywgVHlwZUFwcCwgQmx1ZU1haWwuIFBsZWFzZSBhc2sgZm9yIGFub3RoZXIgZW1haWwgY2xpZW50IGlmIG5lZWRlZC4iLAogICJuYW1lIjogIlBlcnNpc3RlbnQgRW1haWwgTm90aWZpY2F0aW9ucyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L3BlcnNpc3RlbnQtZW1haWwtbm90aWZpY2F0aW9ucyIsCiAgInV1aWQiOiAicGVyc2lzdGVudC1lbWFpbC1ub3RpZmljYXRpb25zQGZ0aHgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "horizontal-workspace-indicator@tty2.io", "name": "Workspace indicator", "pname": "workspace-indicator", "description": "Workspace indicator shows the amount of opened workspaces and highlights the current one using unicode characters.\n\nYou can use it as an indicator only but widget is clickable. Left button click: move to left, right click: move right.\n\nPay attention:\n1) there could be an error with the extension after install or update. The solution is to logout and login again.\n2) there could be an error if you have another extension with the same name \"workspace indicator\" already installed. The solution is to remove the old one.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "8", "sha256": "15j1w86s9j796bf5mil8sn6hnq4js3by3gygkskzxwp02gy224n3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblBheSBhdHRlbnRpb246XG4xKSB0aGVyZSBjb3VsZCBiZSBhbiBlcnJvciB3aXRoIHRoZSBleHRlbnNpb24gYWZ0ZXIgaW5zdGFsbCBvciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuMikgdGhlcmUgY291bGQgYmUgYW4gZXJyb3IgaWYgeW91IGhhdmUgYW5vdGhlciBleHRlbnNpb24gd2l0aCB0aGUgc2FtZSBuYW1lIFwid29ya3NwYWNlIGluZGljYXRvclwiIGFscmVhZHkgaW5zdGFsbGVkLiBUaGUgc29sdXRpb24gaXMgdG8gcmVtb3ZlIHRoZSBvbGQgb25lLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "15j1w86s9j796bf5mil8sn6hnq4js3by3gygkskzxwp02gy224n3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblBheSBhdHRlbnRpb246XG4xKSB0aGVyZSBjb3VsZCBiZSBhbiBlcnJvciB3aXRoIHRoZSBleHRlbnNpb24gYWZ0ZXIgaW5zdGFsbCBvciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuMikgdGhlcmUgY291bGQgYmUgYW4gZXJyb3IgaWYgeW91IGhhdmUgYW5vdGhlciBleHRlbnNpb24gd2l0aCB0aGUgc2FtZSBuYW1lIFwid29ya3NwYWNlIGluZGljYXRvclwiIGFscmVhZHkgaW5zdGFsbGVkLiBUaGUgc29sdXRpb24gaXMgdG8gcmVtb3ZlIHRoZSBvbGQgb25lLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "15j1w86s9j796bf5mil8sn6hnq4js3by3gygkskzxwp02gy224n3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cblBheSBhdHRlbnRpb246XG4xKSB0aGVyZSBjb3VsZCBiZSBhbiBlcnJvciB3aXRoIHRoZSBleHRlbnNpb24gYWZ0ZXIgaW5zdGFsbCBvciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLlxuMikgdGhlcmUgY291bGQgYmUgYW4gZXJyb3IgaWYgeW91IGhhdmUgYW5vdGhlciBleHRlbnNpb24gd2l0aCB0aGUgc2FtZSBuYW1lIFwid29ya3NwYWNlIGluZGljYXRvclwiIGFscmVhZHkgaW5zdGFsbGVkLiBUaGUgc29sdXRpb24gaXMgdG8gcmVtb3ZlIHRoZSBvbGQgb25lLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
+, {"uuid": "horizontal-workspace-indicator@tty2.io", "name": "Workspace indicator", "pname": "workspace-indicator", "description": "Workspace indicator shows the amount of opened workspaces and highlights the current one using unicode characters.\n\nYou can use it as an indicator only but widget is clickable. Left button click: move to left, right click: move right.\n\nYou can change the widgets position with preferences. The widget can be pinned to right corner (status area) default, center (data time area) and left corner (activities area).\n\nThere could be an error with the extension after update. The solution is to logout and login again.", "link": "https://extensions.gnome.org/extension/3952/workspace-indicator/", "shell_version_map": {"38": {"version": "9", "sha256": "1zzgxr6iq8c3drpd2n9hqly5pv827qpfy2kbjyzzzgxcvz5002df", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cbllvdSBjYW4gY2hhbmdlIHRoZSB3aWRnZXRzIHBvc2l0aW9uIHdpdGggcHJlZmVyZW5jZXMuIFRoZSB3aWRnZXQgY2FuIGJlIHBpbm5lZCB0byByaWdodCBjb3JuZXIgKHN0YXR1cyBhcmVhKSBkZWZhdWx0LCBjZW50ZXIgKGRhdGEgdGltZSBhcmVhKSBhbmQgbGVmdCBjb3JuZXIgKGFjdGl2aXRpZXMgYXJlYSkuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdHR5Mi9ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImhvcml6b250YWwtd29ya3NwYWNlLWluZGljYXRvckB0dHkyLmlvIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "11", "sha256": "1y2ykdqcifhmps9lqpcpkpp8a7vfs5n48y9y9cm0pflxn6zzdqsb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cbllvdSBjYW4gY2hhbmdlIHRoZSB3aWRnZXRzIHBvc2l0aW9uIHdpdGggcHJlZmVyZW5jZXMuIFRoZSB3aWRnZXQgY2FuIGJlIHBpbm5lZCB0byByaWdodCBjb3JuZXIgKHN0YXR1cyBhcmVhKSBkZWZhdWx0LCBjZW50ZXIgKGRhdGEgdGltZSBhcmVhKSBhbmQgbGVmdCBjb3JuZXIgKGFjdGl2aXRpZXMgYXJlYSkuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "1y2ykdqcifhmps9lqpcpkpp8a7vfs5n48y9y9cm0pflxn6zzdqsb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldvcmtzcGFjZSBpbmRpY2F0b3Igc2hvd3MgdGhlIGFtb3VudCBvZiBvcGVuZWQgd29ya3NwYWNlcyBhbmQgaGlnaGxpZ2h0cyB0aGUgY3VycmVudCBvbmUgdXNpbmcgdW5pY29kZSBjaGFyYWN0ZXJzLlxuXG5Zb3UgY2FuIHVzZSBpdCBhcyBhbiBpbmRpY2F0b3Igb25seSBidXQgd2lkZ2V0IGlzIGNsaWNrYWJsZS4gTGVmdCBidXR0b24gY2xpY2s6IG1vdmUgdG8gbGVmdCwgcmlnaHQgY2xpY2s6IG1vdmUgcmlnaHQuXG5cbllvdSBjYW4gY2hhbmdlIHRoZSB3aWRnZXRzIHBvc2l0aW9uIHdpdGggcHJlZmVyZW5jZXMuIFRoZSB3aWRnZXQgY2FuIGJlIHBpbm5lZCB0byByaWdodCBjb3JuZXIgKHN0YXR1cyBhcmVhKSBkZWZhdWx0LCBjZW50ZXIgKGRhdGEgdGltZSBhcmVhKSBhbmQgbGVmdCBjb3JuZXIgKGFjdGl2aXRpZXMgYXJlYSkuXG5cblRoZXJlIGNvdWxkIGJlIGFuIGVycm9yIHdpdGggdGhlIGV4dGVuc2lvbiBhZnRlciB1cGRhdGUuIFRoZSBzb2x1dGlvbiBpcyB0byBsb2dvdXQgYW5kIGxvZ2luIGFnYWluLiIsCiAgIm5hbWUiOiAiV29ya3NwYWNlIGluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R0eTIvaG9yaXpvbnRhbC13b3Jrc3BhY2UtaW5kaWNhdG9yIiwKICAidXVpZCI6ICJob3Jpem9udGFsLXdvcmtzcGFjZS1pbmRpY2F0b3JAdHR5Mi5pbyIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "kitchentimer@blackjackshellac.ca", "name": "Kitchen Timer", "pname": "kitchen-timer", "description": "General purpose timer extension for Gnome Shell\n\nPlease report issues on github\n\nIf updating the extension reports an ERROR, it should work after the next reboot or if you logout and login again.", "link": "https://extensions.gnome.org/extension/3955/kitchen-timer/", "shell_version_map": {"38": {"version": "28", "sha256": "0k1ahswl2ipjz1v1z1j96lndbk26rgfr2ra2g78lvzjiv6j42sdf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IsIGl0IHNob3VsZCB3b3JrIGFmdGVyIHRoZSBuZXh0IHJlYm9vdCBvciBpZiB5b3UgbG9nb3V0IGFuZCBsb2dpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJraXRjaGVuLXRpbWVyLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogIktpdGNoZW4gVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMva2l0Y2hlblRpbWVyIiwKICAidXVpZCI6ICJraXRjaGVudGltZXJAYmxhY2tqYWNrc2hlbGxhYy5jYSIsCiAgInZlcnNpb24iOiAyOAp9"}, "40": {"version": "28", "sha256": "0k1ahswl2ipjz1v1z1j96lndbk26rgfr2ra2g78lvzjiv6j42sdf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdlbmVyYWwgcHVycG9zZSB0aW1lciBleHRlbnNpb24gZm9yIEdub21lIFNoZWxsXG5cblBsZWFzZSByZXBvcnQgaXNzdWVzIG9uIGdpdGh1YlxuXG5JZiB1cGRhdGluZyB0aGUgZXh0ZW5zaW9uIHJlcG9ydHMgYW4gRVJST1IsIGl0IHNob3VsZCB3b3JrIGFmdGVyIHRoZSBuZXh0IHJlYm9vdCBvciBpZiB5b3UgbG9nb3V0IGFuZCBsb2dpbiBhZ2Fpbi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJraXRjaGVuLXRpbWVyLWJsYWNramFja3NoZWxsYWMiLAogICJuYW1lIjogIktpdGNoZW4gVGltZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMua2l0Y2hlbi10aW1lci1ibGFja2phY2tzaGVsbGFjIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2JsYWNramFja3NoZWxsYWMva2l0Y2hlblRpbWVyIiwKICAidXVpZCI6ICJraXRjaGVudGltZXJAYmxhY2tqYWNrc2hlbGxhYy5jYSIsCiAgInZlcnNpb24iOiAyOAp9"}}}
 , {"uuid": "gnome-fuzzy-app-search@gnome-shell-extensions.Czarlie.gitlab.com", "name": "GNOME Fuzzy App Search", "pname": "gnome-fuzzy-app-search", "description": "Fuzzy application search results for Gnome Search", "link": "https://extensions.gnome.org/extension/3956/gnome-fuzzy-app-search/", "shell_version_map": {"38": {"version": "3", "sha256": "0jxh2wcckwnijgabg9k7b7mi785j63pjkbjya4pbvnmiw4n4qbn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjIxLjIiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0N6YXJsaWUvZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgInV1aWQiOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaEBnbm9tZS1zaGVsbC1leHRlbnNpb25zLkN6YXJsaWUuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "0jxh2wcckwnijgabg9k7b7mi785j63pjkbjya4pbvnmiw4n4qbn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjIxLjIiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0N6YXJsaWUvZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgInV1aWQiOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaEBnbm9tZS1zaGVsbC1leHRlbnNpb25zLkN6YXJsaWUuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0jxh2wcckwnijgabg9k7b7mi785j63pjkbjya4pbvnmiw4n4qbn0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJDemFybGllIDxsZWVlNDlAZ21haWwuY29tPiIsCiAgImF1dGhvci1odG1sIjogIkN6YXJsaWUgJmx0OzxhIGhyZWY9XCJtYWlsdG86bGVlZTQ5Ljd4N0BnbWFpbC5jb21cIj5sZWVlNDkuN3g3QGdtYWlsLmNvbTwvYT4mZ3Q7IiwKICAiZGVzY3JpcHRpb24iOiAiRnV6enkgYXBwbGljYXRpb24gc2VhcmNoIHJlc3VsdHMgZm9yIEdub21lIFNlYXJjaCIsCiAgImRlc2NyaXB0aW9uLWh0bWwiOiAiPGEgaHJlZj1cImh0dHBzOi8vZW4ud2lraXBlZGlhLm9yZy93aWtpL0FwcHJveGltYXRlX3N0cmluZ19tYXRjaGluZ1wiPkZ1enp5PC9hPiBhcHBsaWNhdGlvbiBzZWFyY2ggcmVzdWx0cyBmb3IgPGEgaHJlZj1cImh0dHBzOi8vZGV2ZWxvcGVyLmdub21lLm9yZy9TZWFyY2hQcm92aWRlci9cIj5Hbm9tZSBTZWFyY2g8L2E+LiIsCiAgImVtYWlsIjogImxlZWU0OS43eDdAZ21haWwuY29tIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgImxpY2Vuc2UiOiAiR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjMuMCIsCiAgImxpY2Vuc2UtaHRtbCI6ICJUaGlzIHByb2dyYW0gY29tZXMgd2l0aCBBQlNPTFVURUxZIE5PIFdBUlJBTlRZLlxuU2VlIHRoZSA8YSBocmVmPVwiaHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy9ncGwtMy4wLmh0bWxcIj5HTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSB2My4wPC9hPiBmb3IgZGV0YWlscy4iLAogICJuYW1lIjogIkdOT01FIEZ1enp5IEFwcCBTZWFyY2giLAogICJvcmlnaW5hbC1hdXRob3IiOiAiRnJhbmpvIEZpbG8gPGZmZmlsbzY2NkBnbWFpbC5jb20+IiwKICAib3JpZ2luYWwtYXV0aG9yLWh0bWwiOiAiRnJhbmpvIEZpbG8gJmx0OzxhIGhyZWY9XCJtYWlsdG86ZmZmaWxvNjY2QGdtYWlsLmNvbVwiPmZmZmlsbzY2NkBnbWFpbC5jb208L2E+Jmd0OyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1mdXp6eS1hcHAtc2VhcmNoIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjE4IiwKICAgICIzLjIwIiwKICAgICIzLjIyIiwKICAgICIzLjI0IiwKICAgICIzLjIxLjIiLAogICAgIjMuMjYiLAogICAgIjMuMjgiLAogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL0N6YXJsaWUvZ25vbWUtZnV6enktYXBwLXNlYXJjaCIsCiAgInV1aWQiOiAiZ25vbWUtZnV6enktYXBwLXNlYXJjaEBnbm9tZS1zaGVsbC1leHRlbnNpb25zLkN6YXJsaWUuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "e-ink-mode@fujimo-t.github.io", "name": "E Ink Mode", "pname": "e-ink-mode", "description": "# GNOME Shell Extension: E Ink Mode\nMake desktop suitable for E Ink monitors.\n\n## Features\n* Switch Shell, GTK and icon theme to light high contrast one\n* Disable animations\n* Change background to white color\n\n## Dependencies\n* `High Constrast` theme for GTK and icon", "link": "https://extensions.gnome.org/extension/3957/e-ink-mode/", "shell_version_map": {"40": {"version": "3", "sha256": "1bzcv10c9wd2qga4z3swlyf0v0bv1s0j90vjxlmvylfr1nnbsjc9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiMgR05PTUUgU2hlbGwgRXh0ZW5zaW9uOiBFIEluayBNb2RlXG5NYWtlIGRlc2t0b3Agc3VpdGFibGUgZm9yIEUgSW5rIG1vbml0b3JzLlxuXG4jIyBGZWF0dXJlc1xuKiBTd2l0Y2ggU2hlbGwsIEdUSyBhbmQgaWNvbiB0aGVtZSB0byBsaWdodCBoaWdoIGNvbnRyYXN0IG9uZVxuKiBEaXNhYmxlIGFuaW1hdGlvbnNcbiogQ2hhbmdlIGJhY2tncm91bmQgdG8gd2hpdGUgY29sb3JcblxuIyMgRGVwZW5kZW5jaWVzXG4qIGBIaWdoIENvbnN0cmFzdGAgdGhlbWUgZm9yIEdUSyBhbmQgaWNvbiIsCiAgIm5hbWUiOiAiRSBJbmsgTW9kZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdWppbW8tdC9nbm9tZS1zaGVsbC1leHRlbnNpb24tZS1pbmstbW9kZSIsCiAgInV1aWQiOiAiZS1pbmstbW9kZUBmdWppbW8tdC5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "e-ink-mode@fujimo-t.github.io", "name": "E Ink Mode", "pname": "e-ink-mode", "description": "Make desktop suitable for E Ink monitors.\n\nUnmaintenanced.\nPlease migrate to theme:\nhttps://github.com/fujimo-t/gnome-shell-theme-e-ink\nSee below to detail:\nhttps://github.com/fujimo-t/gnome-shell-extension-e-ink-mode/issues/3#issuecomment-1019159171", "link": "https://extensions.gnome.org/extension/3957/e-ink-mode/", "shell_version_map": {"40": {"version": "3", "sha256": "0khqna60a0vblygriiky0jzg92ib8i44i6wkr8s3vxi0bcfa2zhm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgZGVza3RvcCBzdWl0YWJsZSBmb3IgRSBJbmsgbW9uaXRvcnMuXG5cblVubWFpbnRlbmFuY2VkLlxuUGxlYXNlIG1pZ3JhdGUgdG8gdGhlbWU6XG5odHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtdGhlbWUtZS1pbmtcblNlZSBiZWxvdyB0byBkZXRhaWw6XG5odHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWUtaW5rLW1vZGUvaXNzdWVzLzMjaXNzdWVjb21tZW50LTEwMTkxNTkxNzEiLAogICJuYW1lIjogIkUgSW5rIE1vZGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnVqaW1vLXQvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWUtaW5rLW1vZGUiLAogICJ1dWlkIjogImUtaW5rLW1vZGVAZnVqaW1vLXQuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
 , {"uuid": "transparent-top-bar@ftpix.com", "name": "Transparent Top Bar (Adjustable transparency)", "pname": "transparent-top-bar-adjustable-transparency", "description": "Fork of: https://github.com/zhanghai/gnome-shell-extension-transparent-top-bar\n\nBring back the transparent top bar in GNOME Shell with adjustable transparency.\n\nDoes not work well with custom shell themes.", "link": "https://extensions.gnome.org/extension/3960/transparent-top-bar-adjustable-transparency/", "shell_version_map": {"38": {"version": "5", "sha256": "09mym8h6lpb53b18c72vzl2y7myl1xg1lyg9jryf3nijna9adnr9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbGFtYXJpb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXRyYW5zcGFyZW50LXRvcC1iYXIiLAogICJ1dWlkIjogInRyYW5zcGFyZW50LXRvcC1iYXJAZnRwaXguY29tIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "10", "sha256": "0i37h2jcj2j64cc3y67irmmj1g7iqz5pzcdz9y8ws702jpg0pz2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhbWFyaW9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC10b3AtYmFyQGZ0cGl4LmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "0i37h2jcj2j64cc3y67irmmj1g7iqz5pzcdz9y8ws702jpg0pz2g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2Y6IGh0dHBzOi8vZ2l0aHViLmNvbS96aGFuZ2hhaS9nbm9tZS1zaGVsbC1leHRlbnNpb24tdHJhbnNwYXJlbnQtdG9wLWJhclxuXG5CcmluZyBiYWNrIHRoZSB0cmFuc3BhcmVudCB0b3AgYmFyIGluIEdOT01FIFNoZWxsIHdpdGggYWRqdXN0YWJsZSB0cmFuc3BhcmVuY3kuXG5cbkRvZXMgbm90IHdvcmsgd2VsbCB3aXRoIGN1c3RvbSBzaGVsbCB0aGVtZXMuIiwKICAibmFtZSI6ICJUcmFuc3BhcmVudCBUb3AgQmFyIChBZGp1c3RhYmxlIHRyYW5zcGFyZW5jeSkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhbWFyaW9zL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC10b3AtYmFyIiwKICAidXVpZCI6ICJ0cmFuc3BhcmVudC10b3AtYmFyQGZ0cGl4LmNvbSIsCiAgInZlcnNpb24iOiAxMAp9"}}}
-, {"uuid": "improved-workspace-indicator@michaelaquilina.github.io", "name": "Improved Workspace Indicator", "pname": "improved-workspace-indicator", "description": "Slightly improved workspace indicator that shows both current and in use workspaces similar to i3/sway", "link": "https://extensions.gnome.org/extension/3968/improved-workspace-indicator/", "shell_version_map": {"38": {"version": "8", "sha256": "0jgs5hl6qh56j6zash5n1gbgn93qwcf75fi7mrr80bdkyay0wv5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "8", "sha256": "0jgs5hl6qh56j6zash5n1gbgn93qwcf75fi7mrr80bdkyay0wv5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "0jgs5hl6qh56j6zash5n1gbgn93qwcf75fi7mrr80bdkyay0wv5j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA4Cn0="}}}
+, {"uuid": "improved-workspace-indicator@michaelaquilina.github.io", "name": "Improved Workspace Indicator", "pname": "improved-workspace-indicator", "description": "Slightly improved workspace indicator that shows both current and in use workspaces similar to i3/sway", "link": "https://extensions.gnome.org/extension/3968/improved-workspace-indicator/", "shell_version_map": {"38": {"version": "10", "sha256": "077acz5i10jvnqc0kf0yivlzq40xz03jb9gacpr8rm9my0yvdlp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "077acz5i10jvnqc0kf0yivlzq40xz03jb9gacpr8rm9my0yvdlp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "077acz5i10jvnqc0kf0yivlzq40xz03jb9gacpr8rm9my0yvdlp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWdodGx5IGltcHJvdmVkIHdvcmtzcGFjZSBpbmRpY2F0b3IgdGhhdCBzaG93cyBib3RoIGN1cnJlbnQgYW5kIGluIHVzZSB3b3Jrc3BhY2VzIHNpbWlsYXIgdG8gaTMvc3dheSIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgV29ya3NwYWNlIEluZGljYXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiBbCiAgICAibWljaGFlbGFxdWlsaW5hQGdtYWlsLmNvbSIKICBdLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaW1wcm92ZWQtd29ya3NwYWNlLWluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFlbEFxdWlsaW5hL2ltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImltcHJvdmVkLXdvcmtzcGFjZS1pbmRpY2F0b3JAbWljaGFlbGFxdWlsaW5hLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "gnome4synology@psasse.gmx.de", "name": "Movie Search provider for Synology®", "pname": "gnome-movie-search-provider-for-synology", "description": "search provider for movie titles on Synology® NAS including offline search (yet to come)", "link": "https://extensions.gnome.org/extension/3969/gnome-movie-search-provider-for-synology/", "shell_version_map": {"40": {"version": "14", "sha256": "133jgh7s8mdc4dbcwr623yyrpfb8nv96iggsk2kb18lkw2rcf3xi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInNlYXJjaCBwcm92aWRlciBmb3IgbW92aWUgdGl0bGVzIG9uIFN5bm9sb2d5XHUwMGFlIE5BUyBpbmNsdWRpbmcgb2ZmbGluZSBzZWFyY2ggKHlldCB0byBjb21lKSIsCiAgIm5hbWUiOiAiTW92aWUgU2VhcmNoIHByb3ZpZGVyIGZvciBTeW5vbG9neVx1MDBhZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wc2Fzc2U3Mi9tb3ZpZXM0c3lub2xvZ3kiLAogICJ1dWlkIjogImdub21lNHN5bm9sb2d5QHBzYXNzZS5nbXguZGUiLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
-, {"uuid": "guillotine@fopdoodle.net", "name": "Guillotine", "pname": "guillotine", "description": "Guillotine is a gnome extension designed for efficiently carrying out executions of commands from a customizable menu. Simply speaking: it is a highly customizable menu that enables you to launch commands and toggle services.", "link": "https://extensions.gnome.org/extension/3981/guillotine/", "shell_version_map": {"38": {"version": "3", "sha256": "0jpm8q47naxv5ld9yx6jjsnlm5snlqybilkmr8kvxq1an6pj36yw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "9", "sha256": "06mxhyxzfwgx2daqnkxw9mrxmi1p606miq5almnfaw2hk17sc45a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbnRlNzYvZ3VpbGxvdGluZS8iLAogICJ1dWlkIjogImd1aWxsb3RpbmVAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA5Cn0="}, "41": {"version": "9", "sha256": "06mxhyxzfwgx2daqnkxw9mrxmi1p606miq5almnfaw2hk17sc45a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lbnRlNzYvZ3VpbGxvdGluZS8iLAogICJ1dWlkIjogImd1aWxsb3RpbmVAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiA5Cn0="}}}
+, {"uuid": "guillotine@fopdoodle.net", "name": "Guillotine", "pname": "guillotine", "description": "Guillotine is a gnome extension designed for efficiently carrying out executions of commands from a customizable menu. Simply speaking: it is a highly customizable menu that enables you to launch commands and toggle services.", "link": "https://extensions.gnome.org/extension/3981/guillotine/", "shell_version_map": {"38": {"version": "3", "sha256": "0r171an47d1fdhzwiq7kg59hasibmcvvcsv9z9xd1kh5jahzmam5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vZW50ZTc2L2d1aWxsb3RpbmUvIiwKICAidXVpZCI6ICJndWlsbG90aW5lQGZvcGRvb2RsZS5uZXQiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "13", "sha256": "15mva65wi2wjy3wb7l71v9qag3wrswifrh53kx6nf8dkqpqir03y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbnRlNzYvZ3VpbGxvdGluZS8iLAogICJ1dWlkIjogImd1aWxsb3RpbmVAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "15mva65wi2wjy3wb7l71v9qag3wrswifrh53kx6nf8dkqpqir03y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkd1aWxsb3RpbmUgaXMgYSBnbm9tZSBleHRlbnNpb24gZGVzaWduZWQgZm9yIGVmZmljaWVudGx5IGNhcnJ5aW5nIG91dCBleGVjdXRpb25zIG9mIGNvbW1hbmRzIGZyb20gYSBjdXN0b21pemFibGUgbWVudS4gU2ltcGx5IHNwZWFraW5nOiBpdCBpcyBhIGhpZ2hseSBjdXN0b21pemFibGUgbWVudSB0aGF0IGVuYWJsZXMgeW91IHRvIGxhdW5jaCBjb21tYW5kcyBhbmQgdG9nZ2xlIHNlcnZpY2VzLiIsCiAgIm5hbWUiOiAiR3VpbGxvdGluZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5ndWlsbG90aW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9lbnRlNzYvZ3VpbGxvdGluZS8iLAogICJ1dWlkIjogImd1aWxsb3RpbmVAZm9wZG9vZGxlLm5ldCIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "shuzhi@tuberry", "name": "Shu Zhi", "pname": "shu-zhi", "description": "Wallpaper generation extension for GNOME Shell, inspired by Jizhi\n\nFor support, please report any issues via the homepage link below.", "link": "https://extensions.gnome.org/extension/3985/shu-zhi/", "shell_version_map": {"38": {"version": "7", "sha256": "1yk39q1ydv7kmb8shi4cp7pf5zvpmj99gjl9svack4773dj9rrwi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogInNodXpoaSIsCiAgIm5hbWUiOiAiU2h1IFpoaSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV6aGkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90dWJlcnJ5L3NodXpoaSIsCiAgInV1aWQiOiAic2h1emhpQHR1YmVycnkiLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "17", "sha256": "1n0ajmm6d7y6kify6k9g3j2kc3ass9s7zyif5jhr1djzsi6knpq0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxNwp9"}, "41": {"version": "19", "sha256": "1ib82yf7gh97hygbrxccpsh75jpg65rp834vygi25kyf0b8fykff", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIldhbGxwYXBlciBnZW5lcmF0aW9uIGV4dGVuc2lvbiBmb3IgR05PTUUgU2hlbGwsIGluc3BpcmVkIGJ5IEppemhpXG5cbkZvciBzdXBwb3J0LCBwbGVhc2UgcmVwb3J0IGFueSBpc3N1ZXMgdmlhIHRoZSBob21lcGFnZSBsaW5rIGJlbG93LiIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1zaHV6aGkiLAogICJuYW1lIjogIlNodSBaaGkiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2h1emhpIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3R1YmVycnkvc2h1emhpIiwKICAidXVpZCI6ICJzaHV6aGlAdHViZXJyeSIsCiAgInZlcnNpb24iOiAxOQp9"}}}
 , {"uuid": "zilence@apankowski.github.com", "name": "Zilence", "pname": "zilence", "description": "Turns off notifications while sharing screen during a Zoom call", "link": "https://extensions.gnome.org/extension/3988/zilence/", "shell_version_map": {"38": {"version": "2", "sha256": "0ffpwwhx4pn8dfpcbi6yvxvaybwfxklyw5ig9ns71ydckzvn1n9y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1pdCI6ICIyYzdiZjFhNDJlMTFkODM4YTU2NGE2NWQ4MzY5YTgwNjM3M2I2NjdiIiwKICAiZGVzY3JpcHRpb24iOiAiVHVybnMgb2ZmIG5vdGlmaWNhdGlvbnMgd2hpbGUgc2hhcmluZyBzY3JlZW4gZHVyaW5nIGEgWm9vbSBjYWxsIiwKICAibmFtZSI6ICJaaWxlbmNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYXBhbmtvd3NraS96aWxlbmNlIiwKICAidXVpZCI6ICJ6aWxlbmNlQGFwYW5rb3dza2kuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "bluetooth-battery@michalw.github.com", "name": "Bluetooth battery indicator", "pname": "bluetooth-battery", "description": "Bluetooth battery indicator", "link": "https://extensions.gnome.org/extension/3991/bluetooth-battery/", "shell_version_map": {"38": {"version": "19", "sha256": "17wnkw6js16ivbpkizj9ph55nj2z2wcdj73c2yh4lvyifpks54ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}, "40": {"version": "19", "sha256": "17wnkw6js16ivbpkizj9ph55nj2z2wcdj73c2yh4lvyifpks54ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}, "41": {"version": "19", "sha256": "17wnkw6js16ivbpkizj9ph55nj2z2wcdj73c2yh4lvyifpks54ih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJsdWV0b290aCBiYXR0ZXJ5IGluZGljYXRvciIsCiAgImdldHRleHQtZG9tYWluIjogImJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgIm5hbWUiOiAiQmx1ZXRvb3RoIGJhdHRlcnkgaW5kaWNhdG9yIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmJsdWV0b290aF9iYXR0ZXJ5X2luZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWljaGFsVy9nbm9tZS1ibHVldG9vdGgtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImJsdWV0b290aC1iYXR0ZXJ5QG1pY2hhbHcuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxOQp9"}}}
@@ -432,6 +433,7 @@
 , {"uuid": "alttab-mod@leleat-on-github", "name": "AltTab Mod", "pname": "alttab-mod", "description": "Alt/Super+Tab can also be navigated with WASD and hjkl. Q just closes the selected item and only the first window will be raised on app activation. Optionally, only show windows from the current workspace or monitor and remove the slight popup delay.", "link": "https://extensions.gnome.org/extension/4007/alttab-mod/", "shell_version_map": {"38": {"version": "6", "sha256": "069086j1855s0zrawx49h40l3qmzbsjl0n58wr74lxfk1s6sirww", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlbGVhdC9BbHRUYWItTW9kIiwKICAidXVpZCI6ICJhbHR0YWItbW9kQGxlbGVhdC1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "7", "sha256": "1qnbga30wvsj6xny7ajvy8y6c4vm3cpwz3zkm5njr2d0qg4svsq0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWx0VGFiLW1vZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1qnbga30wvsj6xny7ajvy8y6c4vm3cpwz3zkm5njr2d0qg4svsq0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdC9TdXBlcitUYWIgY2FuIGFsc28gYmUgbmF2aWdhdGVkIHdpdGggV0FTRCBhbmQgaGprbC4gUSBqdXN0IGNsb3NlcyB0aGUgc2VsZWN0ZWQgaXRlbSBhbmQgb25seSB0aGUgZmlyc3Qgd2luZG93IHdpbGwgYmUgcmFpc2VkIG9uIGFwcCBhY3RpdmF0aW9uLiBPcHRpb25hbGx5LCBvbmx5IHNob3cgd2luZG93cyBmcm9tIHRoZSBjdXJyZW50IHdvcmtzcGFjZSBvciBtb25pdG9yIGFuZCByZW1vdmUgdGhlIHNsaWdodCBwb3B1cCBkZWxheS4iLAogICJuYW1lIjogIkFsdFRhYiBNb2QiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWx0VGFiLW1vZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTGVsZWF0L0FsdFRhYi1Nb2QiLAogICJ1dWlkIjogImFsdHRhYi1tb2RAbGVsZWF0LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "personalize@Selenium-H", "name": "Personalize", "pname": "personalize", "description": "Personalize the looks of GNOME Desktop.\n\nSet the theme variant, window corner curvature and select accent color.\nThe Colors section contains colors generated from the selected accent color.\nThe color generation is not accurate. However, individual colors can be customised.\n\nNot all settings are applied automatically.\nPress Refresh button on the left of the headerbar to reload the extension \n\nCurrently, only Adwaita theme is supported. Also, Adwaita and Adwaita-dark gtk-2 themes\nmust be installed for the extension to work properly. Not all widgets are themed perfectly.", "link": "https://extensions.gnome.org/extension/4010/personalize/", "shell_version_map": {"38": {"version": "1", "sha256": "1rgh2zq7086ymf0222pbrx5n8q11v3f45095w4x3ikw7k12j9s0n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImNvbW1lbnQiOiAiUGVyc29uYWxpemUgR05PTUUgdGhlbWUgYW5kIGN1c3RvbWl6ZSB0aGVtLiIsCiAgImRlc2NyaXB0aW9uIjogIlBlcnNvbmFsaXplIHRoZSBsb29rcyBvZiBHTk9NRSBEZXNrdG9wLlxuXG5TZXQgdGhlIHRoZW1lIHZhcmlhbnQsIHdpbmRvdyBjb3JuZXIgY3VydmF0dXJlIGFuZCBzZWxlY3QgYWNjZW50IGNvbG9yLlxuVGhlIENvbG9ycyBzZWN0aW9uIGNvbnRhaW5zIGNvbG9ycyBnZW5lcmF0ZWQgZnJvbSB0aGUgc2VsZWN0ZWQgYWNjZW50IGNvbG9yLlxuVGhlIGNvbG9yIGdlbmVyYXRpb24gaXMgbm90IGFjY3VyYXRlLiBIb3dldmVyLCBpbmRpdmlkdWFsIGNvbG9ycyBjYW4gYmUgY3VzdG9taXNlZC5cblxuTm90IGFsbCBzZXR0aW5ncyBhcmUgYXBwbGllZCBhdXRvbWF0aWNhbGx5LlxuUHJlc3MgUmVmcmVzaCBidXR0b24gb24gdGhlIGxlZnQgb2YgdGhlIGhlYWRlcmJhciB0byByZWxvYWQgdGhlIGV4dGVuc2lvbiBcblxuQ3VycmVudGx5LCBvbmx5IEFkd2FpdGEgdGhlbWUgaXMgc3VwcG9ydGVkLiBBbHNvLCBBZHdhaXRhIGFuZCBBZHdhaXRhLWRhcmsgZ3RrLTIgdGhlbWVzXG5tdXN0IGJlIGluc3RhbGxlZCBmb3IgdGhlIGV4dGVuc2lvbiB0byB3b3JrIHByb3Blcmx5LiBOb3QgYWxsIHdpZGdldHMgYXJlIHRoZW1lZCBwZXJmZWN0bHkuIiwKICAibmFtZSI6ICJQZXJzb25hbGl6ZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wZXJzb25hbGl6ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJzdGF0dXMiOiAiICIsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2VsZW5pdW0tSC9QZXJzb25hbGl6ZSIsCiAgInV1aWQiOiAicGVyc29uYWxpemVAU2VsZW5pdW0tSCIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "gnomebedtime@ionutbortis.gmail.com", "name": "Bedtime Mode", "pname": "gnome-bedtime", "description": "Hey Gnome, it's bedtime! Converts to grayscale the entire Gnome workspace by using a smooth transition. Best to use during evening/night.\n\nThis behaviour is similar to Android's bedtime mode which converts the phone screen to grayscale. It should somewhat make your device less appealing and limit the usage of it before bedtime. On my side, at least, it still requires a fair amount of self control in order to make that happen.\n\nThe extension has a nice Settings UI where you can customize it to your liking:\n- Set an automatic schedule for turning on/off the Bedtime Mode\n- Add an On Demand button to Top Bar or System Menu to manually toggle the mode\n- Control the On Demand button visibility, appearance and position in Top Bar\n- Choose another color preset and intensity, if you prefer a different color scheme\n- Change color intensity on the fly by scrolling over the On Demand button in Top Bar\n\nMulti language support is also available, please check the GitHub page if you want to help with the translations. So far, the extension is fully translated to Spanish, Dutch, German, Romanian and English.\n\nIf you want to use a keyboard shortcut in order to toggle the Bedtime Mode then you can use this command for the shortcut:\n\nbash -c 'schema_id=org.gnome.shell.extensions.bedtime-mode; schema_dir=~/.local/share/gnome-shell/extensions/gnomebedtime@ionutbortis.gmail.com/schemas/; if [[ $(gsettings --schemadir $schema_dir get $schema_id bedtime-mode-active) == \"true\" ]]; then turn_on=false; else turn_on=true; fi; gsettings --schemadir $schema_dir set $schema_id bedtime-mode-active $turn_on;'", "link": "https://extensions.gnome.org/extension/4012/gnome-bedtime/", "shell_version_map": {"38": {"version": "7", "sha256": "1ibar09d05ggc3v4c1gndpznarnq5xx2pqx7cglg0mbhc0lbpr3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmVkdGltZS1tb2RlIiwKICAibmFtZSI6ICJCZWR0aW1lIE1vZGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "40": {"version": "7", "sha256": "1ibar09d05ggc3v4c1gndpznarnq5xx2pqx7cglg0mbhc0lbpr3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmVkdGltZS1tb2RlIiwKICAibmFtZSI6ICJCZWR0aW1lIE1vZGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "1ibar09d05ggc3v4c1gndpznarnq5xx2pqx7cglg0mbhc0lbpr3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhleSBHbm9tZSwgaXQncyBiZWR0aW1lISBDb252ZXJ0cyB0byBncmF5c2NhbGUgdGhlIGVudGlyZSBHbm9tZSB3b3Jrc3BhY2UgYnkgdXNpbmcgYSBzbW9vdGggdHJhbnNpdGlvbi4gQmVzdCB0byB1c2UgZHVyaW5nIGV2ZW5pbmcvbmlnaHQuXG5cblRoaXMgYmVoYXZpb3VyIGlzIHNpbWlsYXIgdG8gQW5kcm9pZCdzIGJlZHRpbWUgbW9kZSB3aGljaCBjb252ZXJ0cyB0aGUgcGhvbmUgc2NyZWVuIHRvIGdyYXlzY2FsZS4gSXQgc2hvdWxkIHNvbWV3aGF0IG1ha2UgeW91ciBkZXZpY2UgbGVzcyBhcHBlYWxpbmcgYW5kIGxpbWl0IHRoZSB1c2FnZSBvZiBpdCBiZWZvcmUgYmVkdGltZS4gT24gbXkgc2lkZSwgYXQgbGVhc3QsIGl0IHN0aWxsIHJlcXVpcmVzIGEgZmFpciBhbW91bnQgb2Ygc2VsZiBjb250cm9sIGluIG9yZGVyIHRvIG1ha2UgdGhhdCBoYXBwZW4uXG5cblRoZSBleHRlbnNpb24gaGFzIGEgbmljZSBTZXR0aW5ncyBVSSB3aGVyZSB5b3UgY2FuIGN1c3RvbWl6ZSBpdCB0byB5b3VyIGxpa2luZzpcbi0gU2V0IGFuIGF1dG9tYXRpYyBzY2hlZHVsZSBmb3IgdHVybmluZyBvbi9vZmYgdGhlIEJlZHRpbWUgTW9kZVxuLSBBZGQgYW4gT24gRGVtYW5kIGJ1dHRvbiB0byBUb3AgQmFyIG9yIFN5c3RlbSBNZW51IHRvIG1hbnVhbGx5IHRvZ2dsZSB0aGUgbW9kZVxuLSBDb250cm9sIHRoZSBPbiBEZW1hbmQgYnV0dG9uIHZpc2liaWxpdHksIGFwcGVhcmFuY2UgYW5kIHBvc2l0aW9uIGluIFRvcCBCYXJcbi0gQ2hvb3NlIGFub3RoZXIgY29sb3IgcHJlc2V0IGFuZCBpbnRlbnNpdHksIGlmIHlvdSBwcmVmZXIgYSBkaWZmZXJlbnQgY29sb3Igc2NoZW1lXG4tIENoYW5nZSBjb2xvciBpbnRlbnNpdHkgb24gdGhlIGZseSBieSBzY3JvbGxpbmcgb3ZlciB0aGUgT24gRGVtYW5kIGJ1dHRvbiBpbiBUb3AgQmFyXG5cbk11bHRpIGxhbmd1YWdlIHN1cHBvcnQgaXMgYWxzbyBhdmFpbGFibGUsIHBsZWFzZSBjaGVjayB0aGUgR2l0SHViIHBhZ2UgaWYgeW91IHdhbnQgdG8gaGVscCB3aXRoIHRoZSB0cmFuc2xhdGlvbnMuIFNvIGZhciwgdGhlIGV4dGVuc2lvbiBpcyBmdWxseSB0cmFuc2xhdGVkIHRvIFNwYW5pc2gsIER1dGNoLCBHZXJtYW4sIFJvbWFuaWFuIGFuZCBFbmdsaXNoLlxuXG5JZiB5b3Ugd2FudCB0byB1c2UgYSBrZXlib2FyZCBzaG9ydGN1dCBpbiBvcmRlciB0byB0b2dnbGUgdGhlIEJlZHRpbWUgTW9kZSB0aGVuIHlvdSBjYW4gdXNlIHRoaXMgY29tbWFuZCBmb3IgdGhlIHNob3J0Y3V0OlxuXG5iYXNoIC1jICdzY2hlbWFfaWQ9b3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlOyBzY2hlbWFfZGlyPX4vLmxvY2FsL3NoYXJlL2dub21lLXNoZWxsL2V4dGVuc2lvbnMvZ25vbWViZWR0aW1lQGlvbnV0Ym9ydGlzLmdtYWlsLmNvbS9zY2hlbWFzLzsgaWYgW1sgJChnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgZ2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSkgPT0gXCJ0cnVlXCIgXV07IHRoZW4gdHVybl9vbj1mYWxzZTsgZWxzZSB0dXJuX29uPXRydWU7IGZpOyBnc2V0dGluZ3MgLS1zY2hlbWFkaXIgJHNjaGVtYV9kaXIgc2V0ICRzY2hlbWFfaWQgYmVkdGltZS1tb2RlLWFjdGl2ZSAkdHVybl9vbjsnIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmVkdGltZS1tb2RlIiwKICAibmFtZSI6ICJCZWR0aW1lIE1vZGUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYmVkdGltZS1tb2RlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pb251dGJvcnRpcy9nbm9tZS1iZWR0aW1lLW1vZGUiLAogICJ1dWlkIjogImdub21lYmVkdGltZUBpb251dGJvcnRpcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
+, {"uuid": "spotify-controller@koolskateguy89", "name": "Spotify Controller", "pname": "spotify-controller", "description": "Control Spotify from the topbar!\n\nCredit to Marcus Heine (https://github.com/mheine) for most of the code in this extension.", "link": "https://extensions.gnome.org/extension/4013/spotify-controller/", "shell_version_map": {"38": {"version": "8", "sha256": "08wdv54rkp18b4b6152b55jqc9b0j37pr8rvh0ixl7wsdmkxga4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb29sc2thdGVndXk4OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3BvdGlmeS1jb250cm9sbGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWNvbnRyb2xsZXJAa29vbHNrYXRlZ3V5ODkiLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "08wdv54rkp18b4b6152b55jqc9b0j37pr8rvh0ixl7wsdmkxga4r", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgU3BvdGlmeSBmcm9tIHRoZSB0b3BiYXIhXG5cbkNyZWRpdCB0byBNYXJjdXMgSGVpbmUgKGh0dHBzOi8vZ2l0aHViLmNvbS9taGVpbmUpIGZvciBtb3N0IG9mIHRoZSBjb2RlIGluIHRoaXMgZXh0ZW5zaW9uLiIsCiAgIm5hbWUiOiAiU3BvdGlmeSBDb250cm9sbGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwb3RpZnktY29udHJvbGxlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9rb29sc2thdGVndXk4OS9nbm9tZS1zaGVsbC1leHRlbnNpb24tc3BvdGlmeS1jb250cm9sbGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWNvbnRyb2xsZXJAa29vbHNrYXRlZ3V5ODkiLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "transparentwindows.mdirshad07", "name": "Transparent Window", "pname": "transparent-window", "description": "Change the opacity of windows by compiz-style shortcut Alt+scroll.\nYou can customize hotkey in Preference page if Alt key doesn't work.", "link": "https://extensions.gnome.org/extension/4016/transparent-window/", "shell_version_map": {"38": {"version": "2", "sha256": "12d8ad0s3b2cd8gczsa2l2x5wf3rag9xfr12ljw2jlrzf99vnr70", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSB0aGUgb3BhY2l0eSBvZiB3aW5kb3dzIGJ5IGNvbXBpei1zdHlsZSBzaG9ydGN1dCBBbHQrc2Nyb2xsLlxuWW91IGNhbiBjdXN0b21pemUgaG90a2V5IGluIFByZWZlcmVuY2UgcGFnZSBpZiBBbHQga2V5IGRvZXNuJ3Qgd29yay4iLAogICJuYW1lIjogIlRyYW5zcGFyZW50IFdpbmRvdyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5UcmFuc3BhcmVudFdpbmRvdyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOC4xIiwKICAgICIzLjM2LjEiLAogICAgIjMuMzguMSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3BieHFkb3duL2dub21lLXNoZWxsLWV4dGVuc2lvbi10cmFuc3BhcmVudC13aW5kb3ciLAogICJ1dWlkIjogInRyYW5zcGFyZW50d2luZG93cy5tZGlyc2hhZDA3IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "wandering-pixel@justinrdonnelly.github.com", "name": "Wandering Pixel", "pname": "wandering-pixel", "description": "Slide 1 pixel back and forth in the top bar as a workaround for various bugs in GNOME Shell and/or Mutter.", "link": "https://extensions.gnome.org/extension/4028/wandering-pixel/", "shell_version_map": {"38": {"version": "4", "sha256": "03hq51krmqm43vkrm3fpvy5da0y75wfpkjhfnch1cz5y3112d13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanVzdGlucmRvbm5lbGx5L3dhbmRlcmluZy1waXhlbCIsCiAgInV1aWQiOiAid2FuZGVyaW5nLXBpeGVsQGp1c3RpbnJkb25uZWxseS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "03hq51krmqm43vkrm3fpvy5da0y75wfpkjhfnch1cz5y3112d13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanVzdGlucmRvbm5lbGx5L3dhbmRlcmluZy1waXhlbCIsCiAgInV1aWQiOiAid2FuZGVyaW5nLXBpeGVsQGp1c3RpbnJkb25uZWxseS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "03hq51krmqm43vkrm3fpvy5da0y75wfpkjhfnch1cz5y3112d13q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNsaWRlIDEgcGl4ZWwgYmFjayBhbmQgZm9ydGggaW4gdGhlIHRvcCBiYXIgYXMgYSB3b3JrYXJvdW5kIGZvciB2YXJpb3VzIGJ1Z3MgaW4gR05PTUUgU2hlbGwgYW5kL29yIE11dHRlci4iLAogICJuYW1lIjogIldhbmRlcmluZyBQaXhlbCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vanVzdGlucmRvbm5lbGx5L3dhbmRlcmluZy1waXhlbCIsCiAgInV1aWQiOiAid2FuZGVyaW5nLXBpeGVsQGp1c3RpbnJkb25uZWxseS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "screenshot-directory@fawtytoo", "name": "Screenshot Directory", "pname": "screenshot-directory", "description": "The default screenshot directory is ~/Pictures. This extension changes that to use whatever is set if you used the Gnome Screenshot app. This can be found in the dconf setting: /org/gnome/gnome-screenshot/last-save-directory. If that directory doesn't exist, the extension will use the Home directory instead.\n\nNote: If the dconf setting doesn't exist, you need to install the Gnome Screenshot app.\n\nThe idea was taken from the extension: Screenshot Locations.", "link": "https://extensions.gnome.org/extension/4031/screenshot-directory/", "shell_version_map": {"38": {"version": "7", "sha256": "0ll7s1ydlqiz8h8yawflxcd6drxjsxwbqansxnb4jwyd41mr9rxi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9sYXN0LXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInV1aWQiOiAic2NyZWVuc2hvdC1kaXJlY3RvcnlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNwp9Cg=="}, "40": {"version": "7", "sha256": "0ll7s1ydlqiz8h8yawflxcd6drxjsxwbqansxnb4jwyd41mr9rxi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9sYXN0LXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInV1aWQiOiAic2NyZWVuc2hvdC1kaXJlY3RvcnlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNwp9Cg=="}, "41": {"version": "7", "sha256": "0ll7s1ydlqiz8h8yawflxcd6drxjsxwbqansxnb4jwyd41mr9rxi", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBkZWZhdWx0IHNjcmVlbnNob3QgZGlyZWN0b3J5IGlzIH4vUGljdHVyZXMuIFRoaXMgZXh0ZW5zaW9uIGNoYW5nZXMgdGhhdCB0byB1c2Ugd2hhdGV2ZXIgaXMgc2V0IGlmIHlvdSB1c2VkIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC4gVGhpcyBjYW4gYmUgZm91bmQgaW4gdGhlIGRjb25mIHNldHRpbmc6IC9vcmcvZ25vbWUvZ25vbWUtc2NyZWVuc2hvdC9sYXN0LXNhdmUtZGlyZWN0b3J5LiBJZiB0aGF0IGRpcmVjdG9yeSBkb2Vzbid0IGV4aXN0LCB0aGUgZXh0ZW5zaW9uIHdpbGwgdXNlIHRoZSBIb21lIGRpcmVjdG9yeSBpbnN0ZWFkLlxuXG5Ob3RlOiBJZiB0aGUgZGNvbmYgc2V0dGluZyBkb2Vzbid0IGV4aXN0LCB5b3UgbmVlZCB0byBpbnN0YWxsIHRoZSBHbm9tZSBTY3JlZW5zaG90IGFwcC5cblxuVGhlIGlkZWEgd2FzIHRha2VuIGZyb20gdGhlIGV4dGVuc2lvbjogU2NyZWVuc2hvdCBMb2NhdGlvbnMuIiwKICAibmFtZSI6ICJTY3JlZW5zaG90IERpcmVjdG9yeSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInV1aWQiOiAic2NyZWVuc2hvdC1kaXJlY3RvcnlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogNwp9Cg=="}}}
@@ -446,26 +448,27 @@
 , {"uuid": "spotify-artwork-fixer@wjt.me.uk", "name": "Spotify Artwork Fixer", "pname": "spotify-artwork-fixer", "description": "Fix Spotify artwork missing in media notification", "link": "https://extensions.gnome.org/extension/4055/spotify-artwork-fixer/", "shell_version_map": {"38": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0jvvz9p576x95l6592icnswcbs2nhm0i01wpb8a45xy6iwb07nfn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBTcG90aWZ5IGFydHdvcmsgbWlzc2luZyBpbiBtZWRpYSBub3RpZmljYXRpb24iLAogICJuYW1lIjogIlNwb3RpZnkgQXJ0d29yayBGaXhlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3R1YXJ0aGF5aHVyc3QvZ25vbWUtc2hlbGwtc3BvdGlmeS1hcnR3b3JrLWZpeGVyIiwKICAidXVpZCI6ICJzcG90aWZ5LWFydHdvcmstZml4ZXJAd2p0Lm1lLnVrIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "custom-vpn-toggler@giteduberger.fr", "name": "Custom VPN Toggler (and indicator)", "pname": "custom-vpn-toggler", "description": "Custom VPN Toggler (and indicator) allows to see the status of a VPN (with its icon), see IP address associated and permit to start and stop VPN (from a menu).\n\nThis plugin required an additional script to interact with VPN. \nAn example for netExtender and GlobalProtect are available on extension repository. \nFollow the link to Extension Web Site and see README.", "link": "https://extensions.gnome.org/extension/4061/custom-vpn-toggler/", "shell_version_map": {"38": {"version": "5", "sha256": "09axc2jx7s2bak956yyv6c5826yl54ghriiwdgsajly5lncmypxw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbSBWUE4gVG9nZ2xlciAoYW5kIGluZGljYXRvcikgYWxsb3dzIHRvIHNlZSB0aGUgc3RhdHVzIG9mIGEgVlBOICh3aXRoIGl0cyBpY29uKSwgc2VlIElQIGFkZHJlc3MgYXNzb2NpYXRlZCBhbmQgcGVybWl0IHRvIHN0YXJ0IGFuZCBzdG9wIFZQTiAoZnJvbSBhIG1lbnUpLlxuXG5UaGlzIHBsdWdpbiByZXF1aXJlZCBhbiBhZGRpdGlvbmFsIHNjcmlwdCB0byBpbnRlcmFjdCB3aXRoIFZQTi4gXG5BbiBleGFtcGxlIGZvciBuZXRFeHRlbmRlciBhbmQgR2xvYmFsUHJvdGVjdCBhcmUgYXZhaWxhYmxlIG9uIGV4dGVuc2lvbiByZXBvc2l0b3J5LiBcbkZvbGxvdyB0aGUgbGluayB0byBFeHRlbnNpb24gV2ViIFNpdGUgYW5kIHNlZSBSRUFETUUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgIm5hbWUiOiAiQ3VzdG9tIFZQTiBUb2dnbGVyIChhbmQgaW5kaWNhdG9yKSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJmci5naXRlZHViZXJnZXIuY3VzdG9tLXZwbi10b2dnbGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vWGF2aWVyQmVyZ2VyL2N1c3RvbS12cG4tdG9nZ2xlciIsCiAgInV1aWQiOiAiY3VzdG9tLXZwbi10b2dnbGVyQGdpdGVkdWJlcmdlci5mciIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "geary-tray-icon@taylantatli.github.com", "name": "Geary Tray Icon", "pname": "geary-tray-icon", "description": "Show a tray icon for Geary\n\nhttps://github.com/TaylanTatli/geary-tray-icon", "link": "https://extensions.gnome.org/extension/4073/geary-tray-icon/", "shell_version_map": {"38": {"version": "1", "sha256": "11kv47pz5p69j10r23zf8ls3fmanldx7diwsy34fhyxqfxjcd614", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgYSB0cmF5IGljb24gZm9yIEdlYXJ5XG5cbmh0dHBzOi8vZ2l0aHViLmNvbS9UYXlsYW5UYXRsaS9nZWFyeS10cmF5LWljb24iLAogICJuYW1lIjogIkdlYXJ5IFRyYXkgSWNvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJnZWFyeS10cmF5LWljb25AdGF5bGFudGF0bGkuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
+, {"uuid": "shell-restarter@koolskateguy89.github.io", "name": "Shell Restarter", "pname": "shell-restarter", "description": "Tired of pressing Alt+F2+R?\nWell you can restart GNOME Shell with just the press of a button! (May or may not work on Wayland)", "link": "https://extensions.gnome.org/extension/4075/shell-restarter/", "shell_version_map": {"38": {"version": "5", "sha256": "19v3sxbsrk0cskq7cikwz6w95m8q2v56hyrkwj595c8m8i0x6i1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpcmVkIG9mIHByZXNzaW5nIEFsdCtGMitSP1xuV2VsbCB5b3UgY2FuIHJlc3RhcnQgR05PTUUgU2hlbGwgd2l0aCBqdXN0IHRoZSBwcmVzcyBvZiBhIGJ1dHRvbiEgKE1heSBvciBtYXkgbm90IHdvcmsgb24gV2F5bGFuZCkiLAogICJuYW1lIjogIlNoZWxsIFJlc3RhcnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaGVsbC1yZXN0YXJ0ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29vbHNrYXRlZ3V5ODkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNoZWxsLXJlc3RhcnRlciIsCiAgInV1aWQiOiAic2hlbGwtcmVzdGFydGVyQGtvb2xza2F0ZWd1eTg5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "19v3sxbsrk0cskq7cikwz6w95m8q2v56hyrkwj595c8m8i0x6i1g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpcmVkIG9mIHByZXNzaW5nIEFsdCtGMitSP1xuV2VsbCB5b3UgY2FuIHJlc3RhcnQgR05PTUUgU2hlbGwgd2l0aCBqdXN0IHRoZSBwcmVzcyBvZiBhIGJ1dHRvbiEgKE1heSBvciBtYXkgbm90IHdvcmsgb24gV2F5bGFuZCkiLAogICJuYW1lIjogIlNoZWxsIFJlc3RhcnRlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaGVsbC1yZXN0YXJ0ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va29vbHNrYXRlZ3V5ODkvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNoZWxsLXJlc3RhcnRlciIsCiAgInV1aWQiOiAic2hlbGwtcmVzdGFydGVyQGtvb2xza2F0ZWd1eTg5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "iqair@wotmshuaisi_github", "name": "Iqair Gnome Extension", "pname": "iqair-gnome-extension", "description": "Gnome extension for tracking air quality in real-time. data provider: https://iqair.com/. to get an API token: https://www.iqair.com/us/dashboard/api", "link": "https://extensions.gnome.org/extension/4082/iqair-gnome-extension/", "shell_version_map": {"38": {"version": "6", "sha256": "150rn9gk6nzba30g38bjpgjyqr2a25cysg6fd6p1is92w8lknls4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS93b3Rtc2h1YWlzaS9pcWFpckdub21lRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJpcWFpckB3b3Rtc2h1YWlzaV9naXRodWIiLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "12", "sha256": "0iz36hq4m8xxn26sar69dwd32n8y78097yj2fwrclcgs5n131d4c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2lxYWlyR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogImlxYWlyQHdvdG1zaHVhaXNpX2dpdGh1YiIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0iz36hq4m8xxn26sar69dwd32n8y78097yj2fwrclcgs5n131d4c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIGV4dGVuc2lvbiBmb3IgdHJhY2tpbmcgYWlyIHF1YWxpdHkgaW4gcmVhbC10aW1lLiBkYXRhIHByb3ZpZGVyOiBodHRwczovL2lxYWlyLmNvbS8uIHRvIGdldCBhbiBBUEkgdG9rZW46IGh0dHBzOi8vd3d3LmlxYWlyLmNvbS91cy9kYXNoYm9hcmQvYXBpIiwKICAibmFtZSI6ICJJcWFpciBHbm9tZSBFeHRlbnNpb24iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3dvdG1zaHVhaXNpL2lxYWlyR25vbWVFeHRlbnNpb24iLAogICJ1dWlkIjogImlxYWlyQHdvdG1zaHVhaXNpX2dpdGh1YiIsCiAgInZlcnNpb24iOiAxMgp9"}}}
-, {"uuid": "bigSur-StatusArea@ordissimo.com", "name": "Big Sur Status Area", "pname": "big-sur-status-area", "description": "Move the Power/Network/Volume/User/Date/Notifications menus to the status area. It is a fork of :https://github.com/Fausto-Korpsvart/Big-Sur-StatusArea", "link": "https://extensions.gnome.org/extension/4085/big-sur-status-area/", "shell_version_map": {"38": {"version": "25", "sha256": "0syp7ka1rakzw4rlhhl1klszg56pbhyz787hvkg738j9ycl1spyq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PcmRpc3NpbW8vQmlnLVN1ci1TdGF0dXNBcmVhL3RyZWUvNDEiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMjUKfQ=="}, "40": {"version": "26", "sha256": "0yb0r44h7qv9agncwr2aw6dj1qm82xxvr3811b77nyapcha9cagh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwLjAiLAogICAgIjQwLnJjIiwKICAgICI0MC4xIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3JkaXNzaW1vL0JpZy1TdXItU3RhdHVzQXJlYS90cmVlLzQxIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI2Cn0="}, "41": {"version": "27", "sha256": "17dxs5hgk1iq2d21rvjjswnlgjvlcb8jn30xi752gz94l0y66kcy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vT3JkaXNzaW1vL0JpZy1TdXItU3RhdHVzQXJlYS90cmVlLzQxIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI3Cn0="}}}
+, {"uuid": "bigSur-StatusArea@ordissimo.com", "name": "Big Sur Status Area", "pname": "big-sur-status-area", "description": "Move the Power/Network/Volume/User/Date/Notifications menus to the status area. It is a fork of :https://github.com/Fausto-Korpsvart/Big-Sur-StatusArea", "link": "https://extensions.gnome.org/extension/4085/big-sur-status-area/", "shell_version_map": {"38": {"version": "25", "sha256": "0dg2fg98l0wxr4hgaz2lwb30p93asbm5693svm8kq51v3g3wpdw0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9PcmRpc3NpbW8vQmlnLVN1ci1TdGF0dXNBcmVhIiwKICAidXVpZCI6ICJiaWdTdXItU3RhdHVzQXJlYUBvcmRpc3NpbW8uY29tIiwKICAidmVyc2lvbiI6IDI1Cn0="}, "40": {"version": "36", "sha256": "0516845q04p2jpq3ljbd6wn4y1vzq1x9qrs6ygkiqkg0q6apshg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL09yZGlzc2ltby9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="}, "41": {"version": "36", "sha256": "0516845q04p2jpq3ljbd6wn4y1vzq1x9qrs6ygkiqkg0q6apshg9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgdGhlIFBvd2VyL05ldHdvcmsvVm9sdW1lL1VzZXIvRGF0ZS9Ob3RpZmljYXRpb25zIG1lbnVzIHRvIHRoZSBzdGF0dXMgYXJlYS4gSXQgaXMgYSBmb3JrIG9mIDpodHRwczovL2dpdGh1Yi5jb20vRmF1c3RvLUtvcnBzdmFydC9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJuYW1lIjogIkJpZyBTdXIgU3RhdHVzIEFyZWEiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL09yZGlzc2ltby9CaWctU3VyLVN0YXR1c0FyZWEiLAogICJ1dWlkIjogImJpZ1N1ci1TdGF0dXNBcmVhQG9yZGlzc2ltby5jb20iLAogICJ2ZXJzaW9uIjogMzYKfQ=="}}}
 , {"uuid": "disable-touch-osk@pardus.org.tr", "name": "disable-touch-osk", "pname": "disable-touch-osk", "description": "Disable on screen keyboard for touchscreens", "link": "https://extensions.gnome.org/extension/4087/disable-touch-osk/", "shell_version_map": {"38": {"version": "3", "sha256": "10ljbjbswzn9y30n2h39iiz673hhmazr2h14lhhws05m71xvbbfy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgb24gc2NyZWVuIGtleWJvYXJkIGZvciB0b3VjaHNjcmVlbnMiLAogICJuYW1lIjogImRpc2FibGUtdG91Y2gtb3NrIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjMwIiwKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL3d3dy5wYXJkdXMub3JnLnRyLyIsCiAgInV1aWQiOiAiZGlzYWJsZS10b3VjaC1vc2tAcGFyZHVzLm9yZy50ciIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "mprispanel@kennedn.msn.com", "name": "MPRIS Panel Player", "pname": "mpris-panel-player", "description": "Implements playback controls for MPRIS enabled players in panel.", "link": "https://extensions.gnome.org/extension/4088/mpris-panel-player/", "shell_version_map": {"40": {"version": "4", "sha256": "1kk8y8l1ybknja58xh1smavja97rkrp8l5xx7aqy7xn4fl1ghjis", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcGxlbWVudHMgcGxheWJhY2sgY29udHJvbHMgZm9yIE1QUklTIGVuYWJsZWQgcGxheWVycyBpbiBwYW5lbC4iLAogICJuYW1lIjogIk1QUklTIFBhbmVsIFBsYXllciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VubmVkbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXByaXNwYW5lbCIsCiAgInV1aWQiOiAibXByaXNwYW5lbEBrZW5uZWRuLm1zbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1kk8y8l1ybknja58xh1smavja97rkrp8l5xx7aqy7xn4fl1ghjis", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcGxlbWVudHMgcGxheWJhY2sgY29udHJvbHMgZm9yIE1QUklTIGVuYWJsZWQgcGxheWVycyBpbiBwYW5lbC4iLAogICJuYW1lIjogIk1QUklTIFBhbmVsIFBsYXllciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yOCIsCiAgICAiMy4zNiIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2VubmVkbi9nbm9tZS1zaGVsbC1leHRlbnNpb24tbXByaXNwYW5lbCIsCiAgInV1aWQiOiAibXByaXNwYW5lbEBrZW5uZWRuLm1zbi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "right_click_for_apps@briansayre", "name": "Right Click for Apps", "pname": "right-click-for-apps", "description": "Allows you to right-click the Activities button to reveal the application menu.", "link": "https://extensions.gnome.org/extension/4090/right-click-for-apps/", "shell_version_map": {"38": {"version": "1", "sha256": "1rzx8ksl48badrwyqxwbgvfgf48z642mdwl57aq280ng61nrndaf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsbG93cyB5b3UgdG8gcmlnaHQtY2xpY2sgdGhlIEFjdGl2aXRpZXMgYnV0dG9uIHRvIHJldmVhbCB0aGUgYXBwbGljYXRpb24gbWVudS4iLAogICJuYW1lIjogIlJpZ2h0IENsaWNrIGZvciBBcHBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnJpYW5zYXlyZS9SaWdodC1DbGljay1Gb3ItQXBwcyIsCiAgInV1aWQiOiAicmlnaHRfY2xpY2tfZm9yX2FwcHNAYnJpYW5zYXlyZSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "devbar@ludvigbostrom", "name": "DevBar", "pname": "devbar", "description": "This extension helps you keep track of your development workflow.", "link": "https://extensions.gnome.org/extension/4091/devbar/", "shell_version_map": {"38": {"version": "7", "sha256": "0gpmrsd5dva2d6aisr9fazipfxr2qw8p8bsn9avq8rijkya67c0v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0gpmrsd5dva2d6aisr9fazipfxr2qw8p8bsn9avq8rijkya67c0v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0gpmrsd5dva2d6aisr9fazipfxr2qw8p8bsn9avq8rijkya67c0v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "devbar@ludvigbostrom", "name": "DevBar", "pname": "devbar", "description": "This extension helps you keep track of your development workflow.", "link": "https://extensions.gnome.org/extension/4091/devbar/", "shell_version_map": {"38": {"version": "8", "sha256": "1yj7qpadlcgq1p85rk76gdffyp9mm2h6a7p5c43xqjqnjdpf561f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "40": {"version": "8", "sha256": "1yj7qpadlcgq1p85rk76gdffyp9mm2h6a7p5c43xqjqnjdpf561f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "1yj7qpadlcgq1p85rk76gdffyp9mm2h6a7p5c43xqjqnjdpf561f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGhlbHBzIHlvdSBrZWVwIHRyYWNrIG9mIHlvdXIgZGV2ZWxvcG1lbnQgd29ya2Zsb3cuIiwKICAibmFtZSI6ICJEZXZCYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1ZHZpZ2Jvc3Ryb20vRGV2QmFyR25vbWUiLAogICJ1dWlkIjogImRldmJhckBsdWR2aWdib3N0cm9tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "notifications_to_file@fawtytoo", "name": "Notifications To File", "pname": "notifications-to-file", "description": "Notifications are appended to a file in $HOME/.notifications/ with one file created per day.\nEntries show the following information:\nTimestamp\nWhether the banner was shown\nThe urgency\nThe title\nBanner text", "link": "https://extensions.gnome.org/extension/4093/notifications-to-file/", "shell_version_map": {"38": {"version": "3", "sha256": "09idm84il85jsciz1fsrj66jj59dyx8mkcms627smb77jz0928py", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgVG8gRmlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbnNfdG9fZmlsZUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "3", "sha256": "09idm84il85jsciz1fsrj66jj59dyx8mkcms627smb77jz0928py", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgVG8gRmlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbnNfdG9fZmlsZUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "09idm84il85jsciz1fsrj66jj59dyx8mkcms627smb77jz0928py", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vdGlmaWNhdGlvbnMgYXJlIGFwcGVuZGVkIHRvIGEgZmlsZSBpbiAkSE9NRS8ubm90aWZpY2F0aW9ucy8gd2l0aCBvbmUgZmlsZSBjcmVhdGVkIHBlciBkYXkuXG5FbnRyaWVzIHNob3cgdGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbjpcblRpbWVzdGFtcFxuV2hldGhlciB0aGUgYmFubmVyIHdhcyBzaG93blxuVGhlIHVyZ2VuY3lcblRoZSB0aXRsZVxuQmFubmVyIHRleHQiLAogICJuYW1lIjogIk5vdGlmaWNhdGlvbnMgVG8gRmlsZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5vdGlmaWNhdGlvbnNfdG9fZmlsZUBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "change_desktop_background_when_empty@fawtytoo", "name": "Change Desktop Background When Workspace Empty", "pname": "change-desktop-background-when-workspace-empty", "description": "Changes the desktop background when the workspace is or becomes empty, such as switching to an empty workspace, when all windows on a workspace are closed, or after login.\nNo folder needs to be set explicitly, as it will use the folder that the current background is in.", "link": "https://extensions.gnome.org/extension/4096/change-desktop-background-when-workspace-empty/", "shell_version_map": {"38": {"version": "13", "sha256": "09ynllxj1r4s9dh782srigzpnjzda49wlr2lj71k2g2w807vdv60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjaGFuZ2VfZGVza3RvcF9iYWNrZ3JvdW5kX3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "40": {"version": "13", "sha256": "09ynllxj1r4s9dh782srigzpnjzda49wlr2lj71k2g2w807vdv60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjaGFuZ2VfZGVza3RvcF9iYWNrZ3JvdW5kX3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "09ynllxj1r4s9dh782srigzpnjzda49wlr2lj71k2g2w807vdv60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgdGhlIGRlc2t0b3AgYmFja2dyb3VuZCB3aGVuIHRoZSB3b3Jrc3BhY2UgaXMgb3IgYmVjb21lcyBlbXB0eSwgc3VjaCBhcyBzd2l0Y2hpbmcgdG8gYW4gZW1wdHkgd29ya3NwYWNlLCB3aGVuIGFsbCB3aW5kb3dzIG9uIGEgd29ya3NwYWNlIGFyZSBjbG9zZWQsIG9yIGFmdGVyIGxvZ2luLlxuTm8gZm9sZGVyIG5lZWRzIHRvIGJlIHNldCBleHBsaWNpdGx5LCBhcyBpdCB3aWxsIHVzZSB0aGUgZm9sZGVyIHRoYXQgdGhlIGN1cnJlbnQgYmFja2dyb3VuZCBpcyBpbi4iLAogICJuYW1lIjogIkNoYW5nZSBEZXNrdG9wIEJhY2tncm91bmQgV2hlbiBXb3Jrc3BhY2UgRW1wdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjaGFuZ2VfZGVza3RvcF9iYWNrZ3JvdW5kX3doZW5fZW1wdHlAZmF3dHl0b28iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
-, {"uuid": "translate-clipboard@lsnow.github.io", "name": "Translate clipboard", "pname": "translate-clipboard", "description": "Translate clipboard text", "link": "https://extensions.gnome.org/extension/4097/translate-clipboard/", "shell_version_map": {"38": {"version": "1", "sha256": "071x3q6y7s8qx4i3lis79g5nc68ld8ln5q8qgc713nvjgfsg05hs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "13", "sha256": "02q14rccib29cyb4ln60grcbfkqq0lzsahns1v602pp4ab0hgwb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MS4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHNub3cvdHJhbnNsYXRlLWNsaXBib2FyZCIsCiAgInV1aWQiOiAidHJhbnNsYXRlLWNsaXBib2FyZEBsc25vdy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}, "41": {"version": "13", "sha256": "02q14rccib29cyb4ln60grcbfkqq0lzsahns1v602pp4ab0hgwb5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MS4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHNub3cvdHJhbnNsYXRlLWNsaXBib2FyZCIsCiAgInV1aWQiOiAidHJhbnNsYXRlLWNsaXBib2FyZEBsc25vdy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTMKfQ=="}}}
+, {"uuid": "translate-clipboard@lsnow.github.io", "name": "Translate clipboard", "pname": "translate-clipboard", "description": "Translate clipboard text", "link": "https://extensions.gnome.org/extension/4097/translate-clipboard/", "shell_version_map": {"38": {"version": "1", "sha256": "071x3q6y7s8qx4i3lis79g5nc68ld8ln5q8qgc713nvjgfsg05hs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xzbm93L3RyYW5zbGF0ZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogInRyYW5zbGF0ZS1jbGlwYm9hcmRAbHNub3cuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "40": {"version": "14", "sha256": "0lfy2dxyw36r7vnyxk541yqbazlc0v65ki5l3x5s32r5fkhx6svs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MS4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHNub3cvdHJhbnNsYXRlLWNsaXBib2FyZCIsCiAgInV1aWQiOiAidHJhbnNsYXRlLWNsaXBib2FyZEBsc25vdy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}, "41": {"version": "14", "sha256": "0lfy2dxyw36r7vnyxk541yqbazlc0v65ki5l3x5s32r5fkhx6svs", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBjbGlwYm9hcmQgdGV4dCIsCiAgIm5hbWUiOiAiVHJhbnNsYXRlIGNsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MS4wIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHNub3cvdHJhbnNsYXRlLWNsaXBib2FyZCIsCiAgInV1aWQiOiAidHJhbnNsYXRlLWNsaXBib2FyZEBsc25vdy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMTQKfQ=="}}}
 , {"uuid": "no-overview@fthx", "name": "No overview at start-up", "pname": "no-overview", "description": "No overview at start-up. For GNOME Shell 40+.", "link": "https://extensions.gnome.org/extension/4099/no-overview/", "shell_version_map": {"40": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}, "41": {"version": "11", "sha256": "15abz4w5n4md1b0f7c403hiyifslgw7dw2jlhzpn47r7k7giwpdk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk5vIG92ZXJ2aWV3IGF0IHN0YXJ0LXVwLiBGb3IgR05PTUUgU2hlbGwgNDArLiIsCiAgIm5hbWUiOiAiTm8gb3ZlcnZpZXcgYXQgc3RhcnQtdXAiLAogICJvcmlnaW5hbC1hdXRob3JzIjogWwogICAgImZ0aHgiCiAgXSwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZnRoeC9uby1vdmVydmlldyIsCiAgInV1aWQiOiAibm8tb3ZlcnZpZXdAZnRoeCIsCiAgInZlcnNpb24iOiAxMQp9"}}}
 , {"uuid": "notification-position@drugo.dev", "name": "Notification Banner Position", "pname": "notification-banner-position", "description": "Changes position of the notification banner from the default to the right side of the screen.", "link": "https://extensions.gnome.org/extension/4105/notification-banner-position/", "shell_version_map": {"38": {"version": "5", "sha256": "0svmx8767hpbmmvm2m90ksqbxqij5f3k5bamz05p73czqk58dizy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnJ1bm9kcnVnb3dpY2svbm90aWZpY2F0aW9uLXBvc2l0aW9uLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXBvc2l0aW9uQGRydWdvLmRldiIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "0svmx8767hpbmmvm2m90ksqbxqij5f3k5bamz05p73czqk58dizy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnJ1bm9kcnVnb3dpY2svbm90aWZpY2F0aW9uLXBvc2l0aW9uLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXBvc2l0aW9uQGRydWdvLmRldiIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "0svmx8767hpbmmvm2m90ksqbxqij5f3k5bamz05p73czqk58dizy", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZXMgcG9zaXRpb24gb2YgdGhlIG5vdGlmaWNhdGlvbiBiYW5uZXIgZnJvbSB0aGUgZGVmYXVsdCB0byB0aGUgcmlnaHQgc2lkZSBvZiB0aGUgc2NyZWVuLiIsCiAgIm5hbWUiOiAiTm90aWZpY2F0aW9uIEJhbm5lciBQb3NpdGlvbiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYnJ1bm9kcnVnb3dpY2svbm90aWZpY2F0aW9uLXBvc2l0aW9uLWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAibm90aWZpY2F0aW9uLXBvc2l0aW9uQGRydWdvLmRldiIsCiAgInZlcnNpb24iOiA1Cn0="}}}
 , {"uuid": "volume_scroller@trflynn89.pm.me", "name": "Volume Scroller", "pname": "volume-scroller", "description": "Scroll up or down in the Top Bar to adjust volume.", "link": "https://extensions.gnome.org/extension/4109/volume-scroller/", "shell_version_map": {"38": {"version": "5", "sha256": "035gkl1g3k3jqmksgmh2aip3v4k8kkbc6gdnndg6lnhz6czn9c12", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RyZmx5bm44OS9nbm9tZS1zaGVsbC12b2x1bWUtc2Nyb2xsZXIiLAogICJ1dWlkIjogInZvbHVtZV9zY3JvbGxlckB0cmZseW5uODkucG0ubWUiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "035gkl1g3k3jqmksgmh2aip3v4k8kkbc6gdnndg6lnhz6czn9c12", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNjcm9sbCB1cCBvciBkb3duIGluIHRoZSBUb3AgQmFyIHRvIGFkanVzdCB2b2x1bWUuIiwKICAibmFtZSI6ICJWb2x1bWUgU2Nyb2xsZXIiLAogICJvcmlnaW5hbC1hdXRob3IiOiAidHJmbHlubjg5QHBtLm1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3RyZmx5bm44OS9nbm9tZS1zaGVsbC12b2x1bWUtc2Nyb2xsZXIiLAogICJ1dWlkIjogInZvbHVtZV9zY3JvbGxlckB0cmZseW5uODkucG0ubWUiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "Mock-Universal-Menu@zacharygough", "name": "Mock Universal Menu", "pname": "mock-universal-menu", "description": "Creates a Mock Apple Menu (THIS DOES NOTHING WHEN CLICKED)", "link": "https://extensions.gnome.org/extension/4111/mock-universal-menu/", "shell_version_map": {"40": {"version": "5", "sha256": "0irq4aamfdvnsjcb9cj4grp7z0s2rg5dv349v095ss7n7jxcmdx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgYSBNb2NrIEFwcGxlIE1lbnUgKFRISVMgRE9FUyBOT1RISU5HIFdIRU4gQ0xJQ0tFRCkiLAogICJuYW1lIjogIk1vY2sgVW5pdmVyc2FsIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1phbnktWmFjaGFyeTEvTW9jay1Vbml2ZXJzYWwtTWVudSIsCiAgInV1aWQiOiAiTW9jay1Vbml2ZXJzYWwtTWVudUB6YWNoYXJ5Z291Z2giLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0irq4aamfdvnsjcb9cj4grp7z0s2rg5dv349v095ss7n7jxcmdx2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNyZWF0ZXMgYSBNb2NrIEFwcGxlIE1lbnUgKFRISVMgRE9FUyBOT1RISU5HIFdIRU4gQ0xJQ0tFRCkiLAogICJuYW1lIjogIk1vY2sgVW5pdmVyc2FsIE1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1phbnktWmFjaGFyeTEvTW9jay1Vbml2ZXJzYWwtTWVudSIsCiAgInV1aWQiOiAiTW9jay1Vbml2ZXJzYWwtTWVudUB6YWNoYXJ5Z291Z2giLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "customize-ibus@hollowman.ml", "name": "Customize IBus", "pname": "customize-ibus", "description": "Full customization of appearance, behavior, system tray and input source indicator for IBus\n\nSupport Customization of:\n* Candidate Box Orientation\n* Candidate Box Animation\n* Right-click Candidate Box to Switch the Input Mode or Open the Tray Menu\n* Scroll on Candidate Box to Switch among Pages or Candidates\n* Fix Candidate Box to Not Follow the Caret and Set Fixed Position\n* Candidate Box Font\n* Input Mode Remember and Auto-switch by APP\n* Change Candidate Box Opacity\n* Fix IME List Order\n* Drag Candidate Box to Reposition\n* Show or Hide Candidate Box Page Buttons\n* System Tray Menus and Interaction Settings\n* * Show or Hide Tray Icon\n* * Directly Click Tray Icon to Switch Input Mode\n* * Add Additional Menu\n* Input Source Indicator Appearance and Interaction Settings\n* * Enable Indicator\n* * Only Indicate when Switching Input Mode\n* * Only Indicate when Using ASCII Input Mode\n* * Not Indicate when Using Single Mode IME\n* * Right-click Indicator to Hide\n* * Scroll on Indicator to Switch Input Mode\n* * Indicator Animation\n* * Customize Font\n* * Left-click Indicator to Drag to Move Indicator or Switch Input Mode\n* * Change Opacity\n* * Enable Indicator Show Delay and Configure Showing Timeout\n* * Enable Auto-hide Indicator and Configure Auto-hide Timeout\n* Theme (Stylesheet Provided or Extracted from GNOME Shell Themes, Refer to Help Instructions in Extension for More)\n* Candidate Box Background and its Displaying Style\n* Theme and Background Picture Follow GNOME Night Light Mode\n\nUser Guide: https://hollowmansblog.wordpress.com/2021/08/21/customize-ibus-user-guide/\n\n深度定制 IBus 的外观、行为、系统托盘以及输入指示\n\n支持自定义:\n* 候选框方向\n* 候选框动画\n* 右键单击候选框以切换输入源或打开任务栏菜单\n* 候选框上滚动以切换页面或候选词\n* 固定候选框使其不跟随光标以及设定固定位置\n* 候选框字体\n* 输入模式根据应用记忆并自动切换\n* 更改候选框透明度\n* 固定输入法列表顺序\n* 拖拽移动候选框\n* 显示或隐藏候选框调页按钮\n* 系统任务栏托盘显示和交互设置\n* * 显示或隐藏托盘图标\n* * 直接点击托盘图标切换输入源\n* * 添加额外菜单\n* 输入源指示器及其显示和交互设置\n* * 启用指示器\n* * 仅在切换输入法时指示\n* * 仅在英文输入时指示\n* * 使用单模式输入法时不指示\n* * 右击指示器来将其隐藏\n* * 指示器上滚动来切换输入源\n* * 指示器显示动画\n* * 自定义字体\n* * 左击指示器以拖拽移动或者切换输入源\n* * 更改透明度\n* * 启用延时显示以及配置显示时延\n* * 启用自动隐藏以及配置自动隐藏时延\n* 皮肤样式主题(提供的或者从GNOME Shell主题中提取的样式表,参见扩展的帮助部分来获取更多指导)\n* 候选框背景图片及其显示样式\n* 主题和背景图片跟随GNOME夜灯\n\n使用指南:https://blog.csdn.net/qq_18572023/article/details/116331601", "link": "https://extensions.gnome.org/extension/4112/customize-ibus/", "shell_version_map": {"38": {"version": "80", "sha256": "0w4mgjin6s5h8bc50830nd0b34hvij6vzsmp4ppw52ghnb46813p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBOb3QgSW5kaWNhdGUgd2hlbiBVc2luZyBTaW5nbGUgTW9kZSBJTUVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgSW5kaWNhdG9yIFNob3cgRGVsYXkgYW5kIENvbmZpZ3VyZSBTaG93aW5nIFRpbWVvdXRcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9ob2xsb3dtYW5zYmxvZy53b3JkcHJlc3MuY29tLzIwMjEvMDgvMjEvY3VzdG9taXplLWlidXMtdXNlci1ndWlkZS9cblxuXHU2ZGYxXHU1ZWE2XHU1YjlhXHU1MjM2IElCdXMgXHU3Njg0XHU1OTE2XHU4OWMyXHUzMDAxXHU4ODRjXHU0ZTNhXHUzMDAxXHU3Y2ZiXHU3ZWRmXHU2MjU4XHU3NmQ4XHU0ZWU1XHU1M2NhXHU4ZjkzXHU1MTY1XHU2MzA3XHU3OTNhXG5cblx1NjUyZlx1NjMwMVx1ODFlYVx1NWI5YVx1NGU0OVx1ZmYxYVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTY1YjlcdTU0MTFcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1MmE4XHU3NTNiXG4qIFx1NTNmM1x1OTUyZVx1NTM1NVx1NTFmYlx1NTAxOVx1OTAwOVx1Njg0Nlx1NGVlNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFx1NjIxNlx1NjI1M1x1NWYwMFx1NGVmYlx1NTJhMVx1NjgwZlx1ODNkY1x1NTM1NVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTRlMGFcdTZlZGFcdTUyYThcdTRlZTVcdTUyMDdcdTYzNjJcdTk4NzVcdTk3NjJcdTYyMTZcdTUwMTlcdTkwMDlcdThiY2RcbiogXHU1NmZhXHU1YjlhXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZjdmXHU1MTc2XHU0ZTBkXHU4ZGRmXHU5NjhmXHU1MTQ5XHU2ODA3XHU0ZWU1XHU1M2NhXHU4YmJlXHU1YjlhXHU1NmZhXHU1YjlhXHU0ZjRkXHU3ZjZlXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NWI1N1x1NGY1M1xuKiBcdThmOTNcdTUxNjVcdTZhMjFcdTVmMGZcdTY4MzlcdTYzNmVcdTVlOTRcdTc1MjhcdThiYjBcdTVmYzZcdTVlNzZcdTgxZWFcdTUyYThcdTUyMDdcdTYzNjJcbiogXHU2NmY0XHU2NTM5XHU1MDE5XHU5MDA5XHU2ODQ2XHU5MDBmXHU2NjBlXHU1ZWE2XG4qIFx1NTZmYVx1NWI5YVx1OGY5M1x1NTE2NVx1NmNkNVx1NTIxN1x1ODg2OFx1OTg3YVx1NWU4ZlxuKiBcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTUwMTlcdTkwMDlcdTY4NDZcbiogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU1MDE5XHU5MDA5XHU2ODQ2XHU4YzAzXHU5ODc1XHU2MzA5XHU5NGFlXG4qIFx1N2NmYlx1N2VkZlx1NGVmYlx1NTJhMVx1NjgwZlx1NjI1OFx1NzZkOFx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NjYzZVx1NzkzYVx1NjIxNlx1OTY5MFx1ODVjZlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1xuKiAqIFx1NzZmNFx1NjNhNVx1NzBiOVx1NTFmYlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1x1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NmRmYlx1NTJhMFx1OTg5ZFx1NTkxNlx1ODNkY1x1NTM1NVxuKiBcdThmOTNcdTUxNjVcdTZlOTBcdTYzMDdcdTc5M2FcdTU2NjhcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTU0OGNcdTRlYTRcdTRlOTJcdThiYmVcdTdmNmVcbiogKiBcdTU0MmZcdTc1MjhcdTYzMDdcdTc5M2FcdTU2NjhcbiogKiBcdTRlYzVcdTU3MjhcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRlYzVcdTU3MjhcdTgyZjFcdTY1ODdcdThmOTNcdTUxNjVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRmN2ZcdTc1MjhcdTUzNTVcdTZhMjFcdTVmMGZcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTRlMGRcdTYzMDdcdTc5M2FcbiogKiBcdTUzZjNcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTY3NjVcdTVjMDZcdTUxNzZcdTk2OTBcdTg1Y2ZcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTRlMGFcdTZlZGFcdTUyYThcdTY3NjVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTY2M2VcdTc5M2FcdTUyYThcdTc1M2JcbiogKiBcdTgxZWFcdTViOWFcdTRlNDlcdTViNTdcdTRmNTNcbiogKiBcdTVkZTZcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTRlZTVcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTYyMTZcdTgwMDVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTY2ZjRcdTY1MzlcdTkwMGZcdTY2MGVcdTVlYTZcbiogKiBcdTU0MmZcdTc1MjhcdTVlZjZcdTY1ZjZcdTY2M2VcdTc5M2FcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTY2M2VcdTc5M2FcdTY1ZjZcdTVlZjZcbiogKiBcdTU0MmZcdTc1MjhcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTY1ZjZcdTVlZjZcbiogXHU3NmFlXHU4MGE0XHU2ODM3XHU1ZjBmXHU0ZTNiXHU5ODk4XHVmZjA4XHU2M2QwXHU0ZjliXHU3Njg0XHU2MjE2XHU4MDA1XHU0ZWNlR05PTUUgU2hlbGxcdTRlM2JcdTk4OThcdTRlMmRcdTYzZDBcdTUzZDZcdTc2ODRcdTY4MzdcdTVmMGZcdTg4NjhcdWZmMGNcdTUzYzJcdTg5YzFcdTYyNjlcdTVjNTVcdTc2ODRcdTVlMmVcdTUyYTlcdTkwZThcdTUyMDZcdTY3NjVcdTgzYjdcdTUzZDZcdTY2ZjRcdTU5MWFcdTYzMDdcdTViZmNcdWZmMDlcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU1M2NhXHU1MTc2XHU2NjNlXHU3OTNhXHU2ODM3XHU1ZjBmXG4qIFx1NGUzYlx1OTg5OFx1NTQ4Y1x1ODBjY1x1NjY2Zlx1NTZmZVx1NzI0N1x1OGRkZlx1OTY4ZkdOT01FXHU1OTFjXHU3MDZmXG5cblx1NGY3Zlx1NzUyOFx1NjMwN1x1NTM1N1x1ZmYxYWh0dHBzOi8vYmxvZy5jc2RuLm5ldC9xcV8xODU3MjAyMy9hcnRpY2xlL2RldGFpbHMvMTE2MzMxNjAxIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5AaG9sbG93bWFuLm1sIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvQ3VzdG9taXplLUlCdXMiLAogICJ1dWlkIjogImN1c3RvbWl6ZS1pYnVzQGhvbGxvd21hbi5tbCIsCiAgInZlcnNpb24iOiA4MAp9"}, "40": {"version": "80", "sha256": "0w4mgjin6s5h8bc50830nd0b34hvij6vzsmp4ppw52ghnb46813p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBOb3QgSW5kaWNhdGUgd2hlbiBVc2luZyBTaW5nbGUgTW9kZSBJTUVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgSW5kaWNhdG9yIFNob3cgRGVsYXkgYW5kIENvbmZpZ3VyZSBTaG93aW5nIFRpbWVvdXRcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9ob2xsb3dtYW5zYmxvZy53b3JkcHJlc3MuY29tLzIwMjEvMDgvMjEvY3VzdG9taXplLWlidXMtdXNlci1ndWlkZS9cblxuXHU2ZGYxXHU1ZWE2XHU1YjlhXHU1MjM2IElCdXMgXHU3Njg0XHU1OTE2XHU4OWMyXHUzMDAxXHU4ODRjXHU0ZTNhXHUzMDAxXHU3Y2ZiXHU3ZWRmXHU2MjU4XHU3NmQ4XHU0ZWU1XHU1M2NhXHU4ZjkzXHU1MTY1XHU2MzA3XHU3OTNhXG5cblx1NjUyZlx1NjMwMVx1ODFlYVx1NWI5YVx1NGU0OVx1ZmYxYVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTY1YjlcdTU0MTFcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1MmE4XHU3NTNiXG4qIFx1NTNmM1x1OTUyZVx1NTM1NVx1NTFmYlx1NTAxOVx1OTAwOVx1Njg0Nlx1NGVlNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFx1NjIxNlx1NjI1M1x1NWYwMFx1NGVmYlx1NTJhMVx1NjgwZlx1ODNkY1x1NTM1NVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTRlMGFcdTZlZGFcdTUyYThcdTRlZTVcdTUyMDdcdTYzNjJcdTk4NzVcdTk3NjJcdTYyMTZcdTUwMTlcdTkwMDlcdThiY2RcbiogXHU1NmZhXHU1YjlhXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZjdmXHU1MTc2XHU0ZTBkXHU4ZGRmXHU5NjhmXHU1MTQ5XHU2ODA3XHU0ZWU1XHU1M2NhXHU4YmJlXHU1YjlhXHU1NmZhXHU1YjlhXHU0ZjRkXHU3ZjZlXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NWI1N1x1NGY1M1xuKiBcdThmOTNcdTUxNjVcdTZhMjFcdTVmMGZcdTY4MzlcdTYzNmVcdTVlOTRcdTc1MjhcdThiYjBcdTVmYzZcdTVlNzZcdTgxZWFcdTUyYThcdTUyMDdcdTYzNjJcbiogXHU2NmY0XHU2NTM5XHU1MDE5XHU5MDA5XHU2ODQ2XHU5MDBmXHU2NjBlXHU1ZWE2XG4qIFx1NTZmYVx1NWI5YVx1OGY5M1x1NTE2NVx1NmNkNVx1NTIxN1x1ODg2OFx1OTg3YVx1NWU4ZlxuKiBcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTUwMTlcdTkwMDlcdTY4NDZcbiogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU1MDE5XHU5MDA5XHU2ODQ2XHU4YzAzXHU5ODc1XHU2MzA5XHU5NGFlXG4qIFx1N2NmYlx1N2VkZlx1NGVmYlx1NTJhMVx1NjgwZlx1NjI1OFx1NzZkOFx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NjYzZVx1NzkzYVx1NjIxNlx1OTY5MFx1ODVjZlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1xuKiAqIFx1NzZmNFx1NjNhNVx1NzBiOVx1NTFmYlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1x1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NmRmYlx1NTJhMFx1OTg5ZFx1NTkxNlx1ODNkY1x1NTM1NVxuKiBcdThmOTNcdTUxNjVcdTZlOTBcdTYzMDdcdTc5M2FcdTU2NjhcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTU0OGNcdTRlYTRcdTRlOTJcdThiYmVcdTdmNmVcbiogKiBcdTU0MmZcdTc1MjhcdTYzMDdcdTc5M2FcdTU2NjhcbiogKiBcdTRlYzVcdTU3MjhcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRlYzVcdTU3MjhcdTgyZjFcdTY1ODdcdThmOTNcdTUxNjVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRmN2ZcdTc1MjhcdTUzNTVcdTZhMjFcdTVmMGZcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTRlMGRcdTYzMDdcdTc5M2FcbiogKiBcdTUzZjNcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTY3NjVcdTVjMDZcdTUxNzZcdTk2OTBcdTg1Y2ZcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTRlMGFcdTZlZGFcdTUyYThcdTY3NjVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTY2M2VcdTc5M2FcdTUyYThcdTc1M2JcbiogKiBcdTgxZWFcdTViOWFcdTRlNDlcdTViNTdcdTRmNTNcbiogKiBcdTVkZTZcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTRlZTVcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTYyMTZcdTgwMDVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTY2ZjRcdTY1MzlcdTkwMGZcdTY2MGVcdTVlYTZcbiogKiBcdTU0MmZcdTc1MjhcdTVlZjZcdTY1ZjZcdTY2M2VcdTc5M2FcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTY2M2VcdTc5M2FcdTY1ZjZcdTVlZjZcbiogKiBcdTU0MmZcdTc1MjhcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTY1ZjZcdTVlZjZcbiogXHU3NmFlXHU4MGE0XHU2ODM3XHU1ZjBmXHU0ZTNiXHU5ODk4XHVmZjA4XHU2M2QwXHU0ZjliXHU3Njg0XHU2MjE2XHU4MDA1XHU0ZWNlR05PTUUgU2hlbGxcdTRlM2JcdTk4OThcdTRlMmRcdTYzZDBcdTUzZDZcdTc2ODRcdTY4MzdcdTVmMGZcdTg4NjhcdWZmMGNcdTUzYzJcdTg5YzFcdTYyNjlcdTVjNTVcdTc2ODRcdTVlMmVcdTUyYTlcdTkwZThcdTUyMDZcdTY3NjVcdTgzYjdcdTUzZDZcdTY2ZjRcdTU5MWFcdTYzMDdcdTViZmNcdWZmMDlcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU1M2NhXHU1MTc2XHU2NjNlXHU3OTNhXHU2ODM3XHU1ZjBmXG4qIFx1NGUzYlx1OTg5OFx1NTQ4Y1x1ODBjY1x1NjY2Zlx1NTZmZVx1NzI0N1x1OGRkZlx1OTY4ZkdOT01FXHU1OTFjXHU3MDZmXG5cblx1NGY3Zlx1NzUyOFx1NjMwN1x1NTM1N1x1ZmYxYWh0dHBzOi8vYmxvZy5jc2RuLm5ldC9xcV8xODU3MjAyMy9hcnRpY2xlL2RldGFpbHMvMTE2MzMxNjAxIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5AaG9sbG93bWFuLm1sIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvQ3VzdG9taXplLUlCdXMiLAogICJ1dWlkIjogImN1c3RvbWl6ZS1pYnVzQGhvbGxvd21hbi5tbCIsCiAgInZlcnNpb24iOiA4MAp9"}, "41": {"version": "80", "sha256": "0w4mgjin6s5h8bc50830nd0b34hvij6vzsmp4ppw52ghnb46813p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGwgY3VzdG9taXphdGlvbiBvZiBhcHBlYXJhbmNlLCBiZWhhdmlvciwgc3lzdGVtIHRyYXkgYW5kIGlucHV0IHNvdXJjZSBpbmRpY2F0b3IgZm9yIElCdXNcblxuU3VwcG9ydCBDdXN0b21pemF0aW9uIG9mOlxuKiBDYW5kaWRhdGUgQm94IE9yaWVudGF0aW9uXG4qIENhbmRpZGF0ZSBCb3ggQW5pbWF0aW9uXG4qIFJpZ2h0LWNsaWNrIENhbmRpZGF0ZSBCb3ggdG8gU3dpdGNoIHRoZSBJbnB1dCBNb2RlIG9yIE9wZW4gdGhlIFRyYXkgTWVudVxuKiBTY3JvbGwgb24gQ2FuZGlkYXRlIEJveCB0byBTd2l0Y2ggYW1vbmcgUGFnZXMgb3IgQ2FuZGlkYXRlc1xuKiBGaXggQ2FuZGlkYXRlIEJveCB0byBOb3QgRm9sbG93IHRoZSBDYXJldCBhbmQgU2V0IEZpeGVkIFBvc2l0aW9uXG4qIENhbmRpZGF0ZSBCb3ggRm9udFxuKiBJbnB1dCBNb2RlIFJlbWVtYmVyIGFuZCBBdXRvLXN3aXRjaCBieSBBUFBcbiogQ2hhbmdlIENhbmRpZGF0ZSBCb3ggT3BhY2l0eVxuKiBGaXggSU1FIExpc3QgT3JkZXJcbiogRHJhZyBDYW5kaWRhdGUgQm94IHRvIFJlcG9zaXRpb25cbiogU2hvdyBvciBIaWRlIENhbmRpZGF0ZSBCb3ggUGFnZSBCdXR0b25zXG4qIFN5c3RlbSBUcmF5IE1lbnVzIGFuZCBJbnRlcmFjdGlvbiBTZXR0aW5nc1xuKiAqIFNob3cgb3IgSGlkZSBUcmF5IEljb25cbiogKiBEaXJlY3RseSBDbGljayBUcmF5IEljb24gdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBBZGQgQWRkaXRpb25hbCBNZW51XG4qIElucHV0IFNvdXJjZSBJbmRpY2F0b3IgQXBwZWFyYW5jZSBhbmQgSW50ZXJhY3Rpb24gU2V0dGluZ3NcbiogKiBFbmFibGUgSW5kaWNhdG9yXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFN3aXRjaGluZyBJbnB1dCBNb2RlXG4qICogT25seSBJbmRpY2F0ZSB3aGVuIFVzaW5nIEFTQ0lJIElucHV0IE1vZGVcbiogKiBOb3QgSW5kaWNhdGUgd2hlbiBVc2luZyBTaW5nbGUgTW9kZSBJTUVcbiogKiBSaWdodC1jbGljayBJbmRpY2F0b3IgdG8gSGlkZVxuKiAqIFNjcm9sbCBvbiBJbmRpY2F0b3IgdG8gU3dpdGNoIElucHV0IE1vZGVcbiogKiBJbmRpY2F0b3IgQW5pbWF0aW9uXG4qICogQ3VzdG9taXplIEZvbnRcbiogKiBMZWZ0LWNsaWNrIEluZGljYXRvciB0byBEcmFnIHRvIE1vdmUgSW5kaWNhdG9yIG9yIFN3aXRjaCBJbnB1dCBNb2RlXG4qICogQ2hhbmdlIE9wYWNpdHlcbiogKiBFbmFibGUgSW5kaWNhdG9yIFNob3cgRGVsYXkgYW5kIENvbmZpZ3VyZSBTaG93aW5nIFRpbWVvdXRcbiogKiBFbmFibGUgQXV0by1oaWRlIEluZGljYXRvciBhbmQgQ29uZmlndXJlIEF1dG8taGlkZSBUaW1lb3V0XG4qIFRoZW1lIChTdHlsZXNoZWV0IFByb3ZpZGVkIG9yIEV4dHJhY3RlZCBmcm9tIEdOT01FIFNoZWxsIFRoZW1lcywgUmVmZXIgdG8gSGVscCBJbnN0cnVjdGlvbnMgaW4gRXh0ZW5zaW9uIGZvciBNb3JlKVxuKiBDYW5kaWRhdGUgQm94IEJhY2tncm91bmQgYW5kIGl0cyBEaXNwbGF5aW5nIFN0eWxlXG4qIFRoZW1lIGFuZCBCYWNrZ3JvdW5kIFBpY3R1cmUgRm9sbG93IEdOT01FIE5pZ2h0IExpZ2h0IE1vZGVcblxuVXNlciBHdWlkZTogaHR0cHM6Ly9ob2xsb3dtYW5zYmxvZy53b3JkcHJlc3MuY29tLzIwMjEvMDgvMjEvY3VzdG9taXplLWlidXMtdXNlci1ndWlkZS9cblxuXHU2ZGYxXHU1ZWE2XHU1YjlhXHU1MjM2IElCdXMgXHU3Njg0XHU1OTE2XHU4OWMyXHUzMDAxXHU4ODRjXHU0ZTNhXHUzMDAxXHU3Y2ZiXHU3ZWRmXHU2MjU4XHU3NmQ4XHU0ZWU1XHU1M2NhXHU4ZjkzXHU1MTY1XHU2MzA3XHU3OTNhXG5cblx1NjUyZlx1NjMwMVx1ODFlYVx1NWI5YVx1NGU0OVx1ZmYxYVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTY1YjlcdTU0MTFcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU1MmE4XHU3NTNiXG4qIFx1NTNmM1x1OTUyZVx1NTM1NVx1NTFmYlx1NTAxOVx1OTAwOVx1Njg0Nlx1NGVlNVx1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFx1NjIxNlx1NjI1M1x1NWYwMFx1NGVmYlx1NTJhMVx1NjgwZlx1ODNkY1x1NTM1NVxuKiBcdTUwMTlcdTkwMDlcdTY4NDZcdTRlMGFcdTZlZGFcdTUyYThcdTRlZTVcdTUyMDdcdTYzNjJcdTk4NzVcdTk3NjJcdTYyMTZcdTUwMTlcdTkwMDlcdThiY2RcbiogXHU1NmZhXHU1YjlhXHU1MDE5XHU5MDA5XHU2ODQ2XHU0ZjdmXHU1MTc2XHU0ZTBkXHU4ZGRmXHU5NjhmXHU1MTQ5XHU2ODA3XHU0ZWU1XHU1M2NhXHU4YmJlXHU1YjlhXHU1NmZhXHU1YjlhXHU0ZjRkXHU3ZjZlXG4qIFx1NTAxOVx1OTAwOVx1Njg0Nlx1NWI1N1x1NGY1M1xuKiBcdThmOTNcdTUxNjVcdTZhMjFcdTVmMGZcdTY4MzlcdTYzNmVcdTVlOTRcdTc1MjhcdThiYjBcdTVmYzZcdTVlNzZcdTgxZWFcdTUyYThcdTUyMDdcdTYzNjJcbiogXHU2NmY0XHU2NTM5XHU1MDE5XHU5MDA5XHU2ODQ2XHU5MDBmXHU2NjBlXHU1ZWE2XG4qIFx1NTZmYVx1NWI5YVx1OGY5M1x1NTE2NVx1NmNkNVx1NTIxN1x1ODg2OFx1OTg3YVx1NWU4ZlxuKiBcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTUwMTlcdTkwMDlcdTY4NDZcbiogXHU2NjNlXHU3OTNhXHU2MjE2XHU5NjkwXHU4NWNmXHU1MDE5XHU5MDA5XHU2ODQ2XHU4YzAzXHU5ODc1XHU2MzA5XHU5NGFlXG4qIFx1N2NmYlx1N2VkZlx1NGVmYlx1NTJhMVx1NjgwZlx1NjI1OFx1NzZkOFx1NjYzZVx1NzkzYVx1NTQ4Y1x1NGVhNFx1NGU5Mlx1OGJiZVx1N2Y2ZVxuKiAqIFx1NjYzZVx1NzkzYVx1NjIxNlx1OTY5MFx1ODVjZlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1xuKiAqIFx1NzZmNFx1NjNhNVx1NzBiOVx1NTFmYlx1NjI1OFx1NzZkOFx1NTZmZVx1NjgwN1x1NTIwN1x1NjM2Mlx1OGY5M1x1NTE2NVx1NmU5MFxuKiAqIFx1NmRmYlx1NTJhMFx1OTg5ZFx1NTkxNlx1ODNkY1x1NTM1NVxuKiBcdThmOTNcdTUxNjVcdTZlOTBcdTYzMDdcdTc5M2FcdTU2NjhcdTUzY2FcdTUxNzZcdTY2M2VcdTc5M2FcdTU0OGNcdTRlYTRcdTRlOTJcdThiYmVcdTdmNmVcbiogKiBcdTU0MmZcdTc1MjhcdTYzMDdcdTc5M2FcdTU2NjhcbiogKiBcdTRlYzVcdTU3MjhcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRlYzVcdTU3MjhcdTgyZjFcdTY1ODdcdThmOTNcdTUxNjVcdTY1ZjZcdTYzMDdcdTc5M2FcbiogKiBcdTRmN2ZcdTc1MjhcdTUzNTVcdTZhMjFcdTVmMGZcdThmOTNcdTUxNjVcdTZjZDVcdTY1ZjZcdTRlMGRcdTYzMDdcdTc5M2FcbiogKiBcdTUzZjNcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTY3NjVcdTVjMDZcdTUxNzZcdTk2OTBcdTg1Y2ZcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTRlMGFcdTZlZGFcdTUyYThcdTY3NjVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTYzMDdcdTc5M2FcdTU2NjhcdTY2M2VcdTc5M2FcdTUyYThcdTc1M2JcbiogKiBcdTgxZWFcdTViOWFcdTRlNDlcdTViNTdcdTRmNTNcbiogKiBcdTVkZTZcdTUxZmJcdTYzMDdcdTc5M2FcdTU2NjhcdTRlZTVcdTYyZDZcdTYyZmRcdTc5ZmJcdTUyYThcdTYyMTZcdTgwMDVcdTUyMDdcdTYzNjJcdThmOTNcdTUxNjVcdTZlOTBcbiogKiBcdTY2ZjRcdTY1MzlcdTkwMGZcdTY2MGVcdTVlYTZcbiogKiBcdTU0MmZcdTc1MjhcdTVlZjZcdTY1ZjZcdTY2M2VcdTc5M2FcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTY2M2VcdTc5M2FcdTY1ZjZcdTVlZjZcbiogKiBcdTU0MmZcdTc1MjhcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTRlZTVcdTUzY2FcdTkxNGRcdTdmNmVcdTgxZWFcdTUyYThcdTk2OTBcdTg1Y2ZcdTY1ZjZcdTVlZjZcbiogXHU3NmFlXHU4MGE0XHU2ODM3XHU1ZjBmXHU0ZTNiXHU5ODk4XHVmZjA4XHU2M2QwXHU0ZjliXHU3Njg0XHU2MjE2XHU4MDA1XHU0ZWNlR05PTUUgU2hlbGxcdTRlM2JcdTk4OThcdTRlMmRcdTYzZDBcdTUzZDZcdTc2ODRcdTY4MzdcdTVmMGZcdTg4NjhcdWZmMGNcdTUzYzJcdTg5YzFcdTYyNjlcdTVjNTVcdTc2ODRcdTVlMmVcdTUyYTlcdTkwZThcdTUyMDZcdTY3NjVcdTgzYjdcdTUzZDZcdTY2ZjRcdTU5MWFcdTYzMDdcdTViZmNcdWZmMDlcbiogXHU1MDE5XHU5MDA5XHU2ODQ2XHU4MGNjXHU2NjZmXHU1NmZlXHU3MjQ3XHU1M2NhXHU1MTc2XHU2NjNlXHU3OTNhXHU2ODM3XHU1ZjBmXG4qIFx1NGUzYlx1OTg5OFx1NTQ4Y1x1ODBjY1x1NjY2Zlx1NTZmZVx1NzI0N1x1OGRkZlx1OTY4ZkdOT01FXHU1OTFjXHU3MDZmXG5cblx1NGY3Zlx1NzUyOFx1NjMwN1x1NTM1N1x1ZmYxYWh0dHBzOi8vYmxvZy5jc2RuLm5ldC9xcV8xODU3MjAyMy9hcnRpY2xlL2RldGFpbHMvMTE2MzMxNjAxIiwKICAiZXh0ZW5zaW9uLWlkIjogImN1c3RvbWl6ZS1pYnVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9taXplLWlidXMiLAogICJuYW1lIjogIkN1c3RvbWl6ZSBJQnVzIiwKICAib3JpZ2luYWwtYXV0aG9ycyI6IFsKICAgICJob2xsb3dtYW5AaG9sbG93bWFuLm1sIgogIF0sCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b21pemUtaWJ1cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAuMCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vb3BlblNVU0UvQ3VzdG9taXplLUlCdXMiLAogICJ1dWlkIjogImN1c3RvbWl6ZS1pYnVzQGhvbGxvd21hbi5tbCIsCiAgInZlcnNpb24iOiA4MAp9"}}}
-, {"uuid": "fildemGMenu@gonza.com", "name": "Fildem global menu", "pname": "fildem-global-menu", "description": "Global menu and HUD for Gnome\n\nThis extension requires the installation of an external program. Please, check the instructions on Github.\n\nThis extension works on gnome 40 but the preferences doesn’t work, if you want you can install it manually modifing the version supported on metadata.", "link": "https://extensions.gnome.org/extension/4114/fildem-global-menu/", "shell_version_map": {"38": {"version": "1", "sha256": "0zgkf4cb4hl0r6r1kzwlvnr4f2svlpwayrw7xqs39fa19cc1zasv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGFuZCBIVUQgZm9yIEdub21lXG5cblRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVzIHRoZSBpbnN0YWxsYXRpb24gb2YgYW4gZXh0ZXJuYWwgcHJvZ3JhbS4gUGxlYXNlLCBjaGVjayB0aGUgaW5zdHJ1Y3Rpb25zIG9uIEdpdGh1Yi5cblxuVGhpcyBleHRlbnNpb24gd29ya3Mgb24gZ25vbWUgNDAgYnV0IHRoZSBwcmVmZXJlbmNlcyBkb2Vzblx1MjAxOXQgd29yaywgaWYgeW91IHdhbnQgeW91IGNhbiBpbnN0YWxsIGl0IG1hbnVhbGx5IG1vZGlmaW5nIHRoZSB2ZXJzaW9uIHN1cHBvcnRlZCBvbiBtZXRhZGF0YS4iLAogICJuYW1lIjogIkZpbGRlbSBnbG9iYWwgbWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5maWxkZW0tZ2xvYmFsLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nb256YWFyY3IvRmlsZGVtIiwKICAidXVpZCI6ICJmaWxkZW1HTWVudUBnb256YS5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "fildemGMenu@gonza.com", "name": "Fildem global menu", "pname": "fildem-global-menu", "description": "Global menu for Gnome", "link": "https://extensions.gnome.org/extension/4114/fildem-global-menu/", "shell_version_map": {"38": {"version": "2", "sha256": "0776vx09b1nxf6j5w9gmzg1gmzijh1mpsnfzv41svbfqyfc8zv2w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGZvciBHbm9tZSIsCiAgIm5hbWUiOiAiRmlsZGVtIGdsb2JhbCBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpbGRlbS1nbG9iYWwtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL0ZpbGRlbSIsCiAgInV1aWQiOiAiZmlsZGVtR01lbnVAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "0776vx09b1nxf6j5w9gmzg1gmzijh1mpsnfzv41svbfqyfc8zv2w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGZvciBHbm9tZSIsCiAgIm5hbWUiOiAiRmlsZGVtIGdsb2JhbCBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpbGRlbS1nbG9iYWwtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL0ZpbGRlbSIsCiAgInV1aWQiOiAiZmlsZGVtR01lbnVAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0776vx09b1nxf6j5w9gmzg1gmzijh1mpsnfzv41svbfqyfc8zv2w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdsb2JhbCBtZW51IGZvciBHbm9tZSIsCiAgIm5hbWUiOiAiRmlsZGVtIGdsb2JhbCBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZpbGRlbS1nbG9iYWwtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ29uemFhcmNyL0ZpbGRlbSIsCiAgInV1aWQiOiAiZmlsZGVtR01lbnVAZ29uemEuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "remove-panel@sulincix", "name": "RemovePanel", "pname": "removepanel", "description": "remove top panel from gnome-shell", "link": "https://extensions.gnome.org/extension/4118/removepanel/", "shell_version_map": {"38": {"version": "5", "sha256": "022cznjpi2a3ld31cjk1942cyc4r6s6k58ik5qd49xh8wl8y2b3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInJlbW92ZSB0b3AgcGFuZWwgZnJvbSBnbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiUmVtb3ZlUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJyZW1vdmUtcGFuZWxAc3VsaW5jaXgiLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "022cznjpi2a3ld31cjk1942cyc4r6s6k58ik5qd49xh8wl8y2b3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInJlbW92ZSB0b3AgcGFuZWwgZnJvbSBnbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiUmVtb3ZlUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJyZW1vdmUtcGFuZWxAc3VsaW5jaXgiLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "022cznjpi2a3ld31cjk1942cyc4r6s6k58ik5qd49xh8wl8y2b3z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogInJlbW92ZSB0b3AgcGFuZWwgZnJvbSBnbm9tZS1zaGVsbCIsCiAgIm5hbWUiOiAiUmVtb3ZlUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJyZW1vdmUtcGFuZWxAc3VsaW5jaXgiLAogICJ2ZXJzaW9uIjogNQp9"}}}
 , {"uuid": "bottom-triggers-activities@papjul", "name": "Bottom triggers Activities overview", "pname": "bottom-triggers-activities-overview", "description": "DEPRECATION NOTICE: No longer maintained. Please migrate to another extension such as Hot Edge https://extensions.gnome.org/extension/4222/hot-edge/\n\nAllows to toggle Activities overview when the mouse reaches the bottom edge of the screen.\nPLEASE report your bugs to the extension homepage link below. I cannot reply to you if you write a review here.\n\nThis is a fork of Dash to Dock focusing only on doing this, it adds support for Gnome Shell 40 and is mainly aimed at Gnome Shell 40 users to reduce mouse travel.\n\nI may backport fixes from upstream, but I don't intend to add any new feature and may not fix any bug if I'm not affected/cannot reproduce. However, I will accept pull requests that keep the extension in the KISS principle. It could be adding a prefs UI for toggle delay and edge(s) triggered, or supporting multiple monitors.\n\nYou can customize the following parameters from the constructor of extension.js:\n        this._position = St.Side.BOTTOM;\n        this._toggleDelay = 0.25;", "link": "https://extensions.gnome.org/extension/4120/bottom-triggers-activities-overview/", "shell_version_map": {"38": {"version": "2", "sha256": "1q1ahz612w2fzbvky8ydwns2kykbj2vqcr5ddyncg16lhrfzx9vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRFUFJFQ0FUSU9OIE5PVElDRTogTm8gbG9uZ2VyIG1haW50YWluZWQuIFBsZWFzZSBtaWdyYXRlIHRvIGFub3RoZXIgZXh0ZW5zaW9uIHN1Y2ggYXMgSG90IEVkZ2UgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDIyMi9ob3QtZWRnZS9cblxuQWxsb3dzIHRvIHRvZ2dsZSBBY3Rpdml0aWVzIG92ZXJ2aWV3IHdoZW4gdGhlIG1vdXNlIHJlYWNoZXMgdGhlIGJvdHRvbSBlZGdlIG9mIHRoZSBzY3JlZW4uXG5QTEVBU0UgcmVwb3J0IHlvdXIgYnVncyB0byB0aGUgZXh0ZW5zaW9uIGhvbWVwYWdlIGxpbmsgYmVsb3cuIEkgY2Fubm90IHJlcGx5IHRvIHlvdSBpZiB5b3Ugd3JpdGUgYSByZXZpZXcgaGVyZS5cblxuVGhpcyBpcyBhIGZvcmsgb2YgRGFzaCB0byBEb2NrIGZvY3VzaW5nIG9ubHkgb24gZG9pbmcgdGhpcywgaXQgYWRkcyBzdXBwb3J0IGZvciBHbm9tZSBTaGVsbCA0MCBhbmQgaXMgbWFpbmx5IGFpbWVkIGF0IEdub21lIFNoZWxsIDQwIHVzZXJzIHRvIHJlZHVjZSBtb3VzZSB0cmF2ZWwuXG5cbkkgbWF5IGJhY2twb3J0IGZpeGVzIGZyb20gdXBzdHJlYW0sIGJ1dCBJIGRvbid0IGludGVuZCB0byBhZGQgYW55IG5ldyBmZWF0dXJlIGFuZCBtYXkgbm90IGZpeCBhbnkgYnVnIGlmIEknbSBub3QgYWZmZWN0ZWQvY2Fubm90IHJlcHJvZHVjZS4gSG93ZXZlciwgSSB3aWxsIGFjY2VwdCBwdWxsIHJlcXVlc3RzIHRoYXQga2VlcCB0aGUgZXh0ZW5zaW9uIGluIHRoZSBLSVNTIHByaW5jaXBsZS4gSXQgY291bGQgYmUgYWRkaW5nIGEgcHJlZnMgVUkgZm9yIHRvZ2dsZSBkZWxheSBhbmQgZWRnZShzKSB0cmlnZ2VyZWQsIG9yIHN1cHBvcnRpbmcgbXVsdGlwbGUgbW9uaXRvcnMuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBmcm9tIHRoZSBjb25zdHJ1Y3RvciBvZiBleHRlbnNpb24uanM6XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gU3QuU2lkZS5CT1RUT007XG4gICAgICAgIHRoaXMuX3RvZ2dsZURlbGF5ID0gMC4yNTsiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJib3R0b210cmlnZ2Vyc2FjdGl2aXRpZXMiLAogICJuYW1lIjogIkJvdHRvbSB0cmlnZ2VycyBBY3Rpdml0aWVzIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhcGp1bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBqdWwvYm90dG9tLXRyaWdnZXJzLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImJvdHRvbS10cmlnZ2Vycy1hY3Rpdml0aWVzQHBhcGp1bCIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1q1ahz612w2fzbvky8ydwns2kykbj2vqcr5ddyncg16lhrfzx9vq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRFUFJFQ0FUSU9OIE5PVElDRTogTm8gbG9uZ2VyIG1haW50YWluZWQuIFBsZWFzZSBtaWdyYXRlIHRvIGFub3RoZXIgZXh0ZW5zaW9uIHN1Y2ggYXMgSG90IEVkZ2UgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vNDIyMi9ob3QtZWRnZS9cblxuQWxsb3dzIHRvIHRvZ2dsZSBBY3Rpdml0aWVzIG92ZXJ2aWV3IHdoZW4gdGhlIG1vdXNlIHJlYWNoZXMgdGhlIGJvdHRvbSBlZGdlIG9mIHRoZSBzY3JlZW4uXG5QTEVBU0UgcmVwb3J0IHlvdXIgYnVncyB0byB0aGUgZXh0ZW5zaW9uIGhvbWVwYWdlIGxpbmsgYmVsb3cuIEkgY2Fubm90IHJlcGx5IHRvIHlvdSBpZiB5b3Ugd3JpdGUgYSByZXZpZXcgaGVyZS5cblxuVGhpcyBpcyBhIGZvcmsgb2YgRGFzaCB0byBEb2NrIGZvY3VzaW5nIG9ubHkgb24gZG9pbmcgdGhpcywgaXQgYWRkcyBzdXBwb3J0IGZvciBHbm9tZSBTaGVsbCA0MCBhbmQgaXMgbWFpbmx5IGFpbWVkIGF0IEdub21lIFNoZWxsIDQwIHVzZXJzIHRvIHJlZHVjZSBtb3VzZSB0cmF2ZWwuXG5cbkkgbWF5IGJhY2twb3J0IGZpeGVzIGZyb20gdXBzdHJlYW0sIGJ1dCBJIGRvbid0IGludGVuZCB0byBhZGQgYW55IG5ldyBmZWF0dXJlIGFuZCBtYXkgbm90IGZpeCBhbnkgYnVnIGlmIEknbSBub3QgYWZmZWN0ZWQvY2Fubm90IHJlcHJvZHVjZS4gSG93ZXZlciwgSSB3aWxsIGFjY2VwdCBwdWxsIHJlcXVlc3RzIHRoYXQga2VlcCB0aGUgZXh0ZW5zaW9uIGluIHRoZSBLSVNTIHByaW5jaXBsZS4gSXQgY291bGQgYmUgYWRkaW5nIGEgcHJlZnMgVUkgZm9yIHRvZ2dsZSBkZWxheSBhbmQgZWRnZShzKSB0cmlnZ2VyZWQsIG9yIHN1cHBvcnRpbmcgbXVsdGlwbGUgbW9uaXRvcnMuXG5cbllvdSBjYW4gY3VzdG9taXplIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVycyBmcm9tIHRoZSBjb25zdHJ1Y3RvciBvZiBleHRlbnNpb24uanM6XG4gICAgICAgIHRoaXMuX3Bvc2l0aW9uID0gU3QuU2lkZS5CT1RUT007XG4gICAgICAgIHRoaXMuX3RvZ2dsZURlbGF5ID0gMC4yNTsiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJib3R0b210cmlnZ2Vyc2FjdGl2aXRpZXMiLAogICJuYW1lIjogIkJvdHRvbSB0cmlnZ2VycyBBY3Rpdml0aWVzIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInBhcGp1bCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXBqdWwvYm90dG9tLXRyaWdnZXJzLWFjdGl2aXRpZXMiLAogICJ1dWlkIjogImJvdHRvbS10cmlnZ2Vycy1hY3Rpdml0aWVzQHBhcGp1bCIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "gnome-shell-Google-search-provider@MrNinso", "name": "Google Search Provider", "pname": "google-search-provider", "description": "Add Google search to Gnome Shell Search \n TODO: \n - Add google suggestions (For now using duckduckGo suggestions)", "link": "https://extensions.gnome.org/extension/4132/google-search-provider/", "shell_version_map": {"38": {"version": "6", "sha256": "1pk1a6k21a1yj78rkwkx0r91lyjybjvfncymhl1hbzzyq0fxqy82", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBHb29nbGUgc2VhcmNoIHRvIEdub21lIFNoZWxsIFNlYXJjaCBcbiBUT0RPOiBcbiAtIEFkZCBnb29nbGUgc3VnZ2VzdGlvbnMgKEZvciBub3cgdXNpbmcgZHVja2R1Y2tHbyBzdWdnZXN0aW9ucykiLAogICJuYW1lIjogIkdvb2dsZSBTZWFyY2ggUHJvdmlkZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlLXNlYXJjaC1wcm92aWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTXJOaW5zby9nbm9tZS1zaGVsbC1nb29nbGUtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1Hb29nbGUtc2VhcmNoLXByb3ZpZGVyQE1yTmluc28iLAogICJ2ZXJzaW9uIjogNgp9"}, "40": {"version": "6", "sha256": "1pk1a6k21a1yj78rkwkx0r91lyjybjvfncymhl1hbzzyq0fxqy82", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBHb29nbGUgc2VhcmNoIHRvIEdub21lIFNoZWxsIFNlYXJjaCBcbiBUT0RPOiBcbiAtIEFkZCBnb29nbGUgc3VnZ2VzdGlvbnMgKEZvciBub3cgdXNpbmcgZHVja2R1Y2tHbyBzdWdnZXN0aW9ucykiLAogICJuYW1lIjogIkdvb2dsZSBTZWFyY2ggUHJvdmlkZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlLXNlYXJjaC1wcm92aWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTXJOaW5zby9nbm9tZS1zaGVsbC1nb29nbGUtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1Hb29nbGUtc2VhcmNoLXByb3ZpZGVyQE1yTmluc28iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "1pk1a6k21a1yj78rkwkx0r91lyjybjvfncymhl1hbzzyq0fxqy82", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBHb29nbGUgc2VhcmNoIHRvIEdub21lIFNoZWxsIFNlYXJjaCBcbiBUT0RPOiBcbiAtIEFkZCBnb29nbGUgc3VnZ2VzdGlvbnMgKEZvciBub3cgdXNpbmcgZHVja2R1Y2tHbyBzdWdnZXN0aW9ucykiLAogICJuYW1lIjogIkdvb2dsZSBTZWFyY2ggUHJvdmlkZXIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZ29vZ2xlLXNlYXJjaC1wcm92aWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTXJOaW5zby9nbm9tZS1zaGVsbC1nb29nbGUtc2VhcmNoLXByb3ZpZGVyIiwKICAidXVpZCI6ICJnbm9tZS1zaGVsbC1Hb29nbGUtc2VhcmNoLXByb3ZpZGVyQE1yTmluc28iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "disable-menu-switching@selfmade.pl", "name": "Disable Menu Switching", "pname": "disable-menu-switching", "description": "Disable changing menu on hover another panel button.", "link": "https://extensions.gnome.org/extension/4133/disable-menu-switching/", "shell_version_map": {"40": {"version": "3", "sha256": "12879vn6knafdcphg3wwbpbram5hrw79v68z9c9d5z4f9k781ksq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgY2hhbmdpbmcgbWVudSBvbiBob3ZlciBhbm90aGVyIHBhbmVsIGJ1dHRvbi4iLAogICJuYW1lIjogIkRpc2FibGUgTWVudSBTd2l0Y2hpbmciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvRGlzYWJsZS1NZW51LVN3aXRjaGluZyIsCiAgInV1aWQiOiAiZGlzYWJsZS1tZW51LXN3aXRjaGluZ0BzZWxmbWFkZS5wbCIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "4", "sha256": "0fnzlmr12l8y689p6kclm3yd3b653jl9f1bhhy7652c1b4g515m0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2FibGUgY2hhbmdpbmcgbWVudSBvbiBob3ZlciBhbm90aGVyIHBhbmVsIGJ1dHRvbi4iLAogICJuYW1lIjogIkRpc2FibGUgTWVudSBTd2l0Y2hpbmciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTWFydGluUEwvRGlzYWJsZS1NZW51LVN3aXRjaGluZyIsCiAgInV1aWQiOiAiZGlzYWJsZS1tZW51LXN3aXRjaGluZ0BzZWxmbWFkZS5wbCIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "espresso@coadmunkee.github.com", "name": "Espresso", "pname": "espresso", "description": "Set conditions to disable the screensaver and auto suspend. Espresso is a fork of the Caffeine extension, and Espresso only supports Gnome 40 and Gnome 41. Please leave feedback or report issues through the Extension Homepage", "link": "https://extensions.gnome.org/extension/4135/espresso/", "shell_version_map": {"40": {"version": "4", "sha256": "1cvbi9yb4iz9178sjf3fppr1c4n8pm345b66njf1ij81qbllm9aw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBjb25kaXRpb25zIHRvIGRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQuIEVzcHJlc3NvIGlzIGEgZm9yayBvZiB0aGUgQ2FmZmVpbmUgZXh0ZW5zaW9uLCBhbmQgRXNwcmVzc28gb25seSBzdXBwb3J0cyBHbm9tZSA0MCBhbmQgR25vbWUgNDEuIFBsZWFzZSBsZWF2ZSBmZWVkYmFjayBvciByZXBvcnQgaXNzdWVzIHRocm91Z2ggdGhlIEV4dGVuc2lvbiBIb21lcGFnZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1lc3ByZXNzbyIsCiAgIm5hbWUiOiAiRXNwcmVzc28iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXNwcmVzc28iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvYWRtdW5rZWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVzcHJlc3NvIiwKICAidXVpZCI6ICJlc3ByZXNzb0Bjb2FkbXVua2VlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1cvbi9yb4iz9178sjf3fppr1c4n8pm345b66njf1ij81qbllm9aw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBjb25kaXRpb25zIHRvIGRpc2FibGUgdGhlIHNjcmVlbnNhdmVyIGFuZCBhdXRvIHN1c3BlbmQuIEVzcHJlc3NvIGlzIGEgZm9yayBvZiB0aGUgQ2FmZmVpbmUgZXh0ZW5zaW9uLCBhbmQgRXNwcmVzc28gb25seSBzdXBwb3J0cyBHbm9tZSA0MCBhbmQgR25vbWUgNDEuIFBsZWFzZSBsZWF2ZSBmZWVkYmFjayBvciByZXBvcnQgaXNzdWVzIHRocm91Z2ggdGhlIEV4dGVuc2lvbiBIb21lcGFnZSIsCiAgImdldHRleHQtZG9tYWluIjogImdub21lLXNoZWxsLWV4dGVuc2lvbi1lc3ByZXNzbyIsCiAgIm5hbWUiOiAiRXNwcmVzc28iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZXNwcmVzc28iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NvYWRtdW5rZWUvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVzcHJlc3NvIiwKICAidXVpZCI6ICJlc3ByZXNzb0Bjb2FkbXVua2VlLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "espresso@coadmunkee.github.com", "name": "Espresso", "pname": "espresso", "description": "Espresso disables the usual auto suspend and screensaver functionality and optionally Night Light with options to show an Espresso icon in the top panel, to enable Espresso when a fullscreen application is running, to restore state across reboots, to provide notifications, to enable Espresso when specific applications are running, or to pause Night Light when Espresso is enabled or only when specific applications are running.\n\nEspresso is a fork of the Caffeine extension.\n\nPlease leave feedback or report issues through the Extension Homepage", "link": "https://extensions.gnome.org/extension/4135/espresso/", "shell_version_map": {"40": {"version": "4", "sha256": "18104n3vn94c6d9gzdhlbqfqrjkn7v4s585incay49ldg91ync2i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVzcHJlc3NvIGRpc2FibGVzIHRoZSB1c3VhbCBhdXRvIHN1c3BlbmQgYW5kIHNjcmVlbnNhdmVyIGZ1bmN0aW9uYWxpdHkgYW5kIG9wdGlvbmFsbHkgTmlnaHQgTGlnaHQgd2l0aCBvcHRpb25zIHRvIHNob3cgYW4gRXNwcmVzc28gaWNvbiBpbiB0aGUgdG9wIHBhbmVsLCB0byBlbmFibGUgRXNwcmVzc28gd2hlbiBhIGZ1bGxzY3JlZW4gYXBwbGljYXRpb24gaXMgcnVubmluZywgdG8gcmVzdG9yZSBzdGF0ZSBhY3Jvc3MgcmVib290cywgdG8gcHJvdmlkZSBub3RpZmljYXRpb25zLCB0byBlbmFibGUgRXNwcmVzc28gd2hlbiBzcGVjaWZpYyBhcHBsaWNhdGlvbnMgYXJlIHJ1bm5pbmcsIG9yIHRvIHBhdXNlIE5pZ2h0IExpZ2h0IHdoZW4gRXNwcmVzc28gaXMgZW5hYmxlZCBvciBvbmx5IHdoZW4gc3BlY2lmaWMgYXBwbGljYXRpb25zIGFyZSBydW5uaW5nLlxuXG5Fc3ByZXNzbyBpcyBhIGZvcmsgb2YgdGhlIENhZmZlaW5lIGV4dGVuc2lvbi5cblxuUGxlYXNlIGxlYXZlIGZlZWRiYWNrIG9yIHJlcG9ydCBpc3N1ZXMgdGhyb3VnaCB0aGUgRXh0ZW5zaW9uIEhvbWVwYWdlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVzcHJlc3NvIiwKICAibmFtZSI6ICJFc3ByZXNzbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lc3ByZXNzbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29hZG11bmtlZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZXNwcmVzc28iLAogICJ1dWlkIjogImVzcHJlc3NvQGNvYWRtdW5rZWUuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "18104n3vn94c6d9gzdhlbqfqrjkn7v4s585incay49ldg91ync2i", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVzcHJlc3NvIGRpc2FibGVzIHRoZSB1c3VhbCBhdXRvIHN1c3BlbmQgYW5kIHNjcmVlbnNhdmVyIGZ1bmN0aW9uYWxpdHkgYW5kIG9wdGlvbmFsbHkgTmlnaHQgTGlnaHQgd2l0aCBvcHRpb25zIHRvIHNob3cgYW4gRXNwcmVzc28gaWNvbiBpbiB0aGUgdG9wIHBhbmVsLCB0byBlbmFibGUgRXNwcmVzc28gd2hlbiBhIGZ1bGxzY3JlZW4gYXBwbGljYXRpb24gaXMgcnVubmluZywgdG8gcmVzdG9yZSBzdGF0ZSBhY3Jvc3MgcmVib290cywgdG8gcHJvdmlkZSBub3RpZmljYXRpb25zLCB0byBlbmFibGUgRXNwcmVzc28gd2hlbiBzcGVjaWZpYyBhcHBsaWNhdGlvbnMgYXJlIHJ1bm5pbmcsIG9yIHRvIHBhdXNlIE5pZ2h0IExpZ2h0IHdoZW4gRXNwcmVzc28gaXMgZW5hYmxlZCBvciBvbmx5IHdoZW4gc3BlY2lmaWMgYXBwbGljYXRpb25zIGFyZSBydW5uaW5nLlxuXG5Fc3ByZXNzbyBpcyBhIGZvcmsgb2YgdGhlIENhZmZlaW5lIGV4dGVuc2lvbi5cblxuUGxlYXNlIGxlYXZlIGZlZWRiYWNrIG9yIHJlcG9ydCBpc3N1ZXMgdGhyb3VnaCB0aGUgRXh0ZW5zaW9uIEhvbWVwYWdlIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWVzcHJlc3NvIiwKICAibmFtZSI6ICJFc3ByZXNzbyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5lc3ByZXNzbyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY29hZG11bmtlZS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZXNwcmVzc28iLAogICJ1dWlkIjogImVzcHJlc3NvQGNvYWRtdW5rZWUuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "salat-dz@salat-dz.com", "name": "Salat Dz", "pname": "salat-dz", "description": "Show next salat using Salat Dz API", "link": "https://extensions.gnome.org/extension/4136/salat-dz/", "shell_version_map": {"38": {"version": "1", "sha256": "1kga5w2yp375h6lj3fmzr1agg43phyj5f45d7hjv04c405d32p8s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgbmV4dCBzYWxhdCB1c2luZyBTYWxhdCBEeiBBUEkiLAogICJuYW1lIjogIlNhbGF0IER6IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL3NhbGF0LnB5dGhvbmFueXdoZXJlLmNvbSIsCiAgInV1aWQiOiAic2FsYXQtZHpAc2FsYXQtZHouY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "user-at-host@cmm.github.com", "name": "Add user@host to top panel", "pname": "add-userhost-to-panel", "description": "Adds user@host to the top panel, on the left.\n\nNothing fancy, no support -- fork at will, the thing is very simple.", "link": "https://extensions.gnome.org/extension/4141/add-userhost-to-panel/", "shell_version_map": {"38": {"version": "6", "sha256": "0ypil2vcv0fx10gh8q3slvf2mbqf8y53mzrb2irxdbqjkn4mdnax", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIG9uIHRoZSBsZWZ0LlxuXG5Ob3RoaW5nIGZhbmN5LCBubyBzdXBwb3J0IC0tIGZvcmsgYXQgd2lsbCwgdGhlIHRoaW5nIGlzIHZlcnkgc2ltcGxlLiIsCiAgIm5hbWUiOiAiQWRkIHVzZXJAaG9zdCB0byB0b3AgcGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiZGFuZGFtYW45NiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY21tL2dub21lLXVzZXItYXQtaG9zdCIsCiAgInV1aWQiOiAidXNlci1hdC1ob3N0QGNtbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "40": {"version": "6", "sha256": "0ypil2vcv0fx10gh8q3slvf2mbqf8y53mzrb2irxdbqjkn4mdnax", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIG9uIHRoZSBsZWZ0LlxuXG5Ob3RoaW5nIGZhbmN5LCBubyBzdXBwb3J0IC0tIGZvcmsgYXQgd2lsbCwgdGhlIHRoaW5nIGlzIHZlcnkgc2ltcGxlLiIsCiAgIm5hbWUiOiAiQWRkIHVzZXJAaG9zdCB0byB0b3AgcGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiZGFuZGFtYW45NiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY21tL2dub21lLXVzZXItYXQtaG9zdCIsCiAgInV1aWQiOiAidXNlci1hdC1ob3N0QGNtbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0ypil2vcv0fx10gh8q3slvf2mbqf8y53mzrb2irxdbqjkn4mdnax", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgdXNlckBob3N0IHRvIHRoZSB0b3AgcGFuZWwsIG9uIHRoZSBsZWZ0LlxuXG5Ob3RoaW5nIGZhbmN5LCBubyBzdXBwb3J0IC0tIGZvcmsgYXQgd2lsbCwgdGhlIHRoaW5nIGlzIHZlcnkgc2ltcGxlLiIsCiAgIm5hbWUiOiAiQWRkIHVzZXJAaG9zdCB0byB0b3AgcGFuZWwiLAogICJvcmlnaW5hbC1hdXRob3IiOiAiZGFuZGFtYW45NiIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vY21tL2dub21lLXVzZXItYXQtaG9zdCIsCiAgInV1aWQiOiAidXNlci1hdC1ob3N0QGNtbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "vertical-overview@RensAlthuis.github.com", "name": "Vertical overview", "pname": "vertical-overview", "description": "Bringing back vertically stacked workspaces", "link": "https://extensions.gnome.org/extension/4144/vertical-overview/", "shell_version_map": {"40": {"version": "8", "sha256": "0h865ipn97k9yrj4r0qhfdj2vnwk92720ahim22sw86605ljc77z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5naW5nIGJhY2sgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInJlbnMuYWx0aHVpc0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC1vdmVydmlld0BSZW5zQWx0aHVpcy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0h865ipn97k9yrj4r0qhfdj2vnwk92720ahim22sw86605ljc77z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkJyaW5naW5nIGJhY2sgdmVydGljYWxseSBzdGFja2VkIHdvcmtzcGFjZXMiLAogICJuYW1lIjogIlZlcnRpY2FsIG92ZXJ2aWV3IiwKICAib3JpZ2luYWwtYXV0aG9yIjogInJlbnMuYWx0aHVpc0BnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJ2ZXJ0aWNhbC1vdmVydmlld0BSZW5zQWx0aHVpcy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
@@ -474,7 +477,7 @@
 , {"uuid": "alwaysshowworkspacethumbnails@alynx.one", "name": "Always Show Workspace Thumbnails", "pname": "always-show-workspace-thumbnails", "description": "Always show workspace thumbnails even there is only one workspace.", "link": "https://extensions.gnome.org/extension/4156/always-show-workspace-thumbnails/", "shell_version_map": {"40": {"version": "3", "sha256": "08z8ij9cj198g7cw3mr9spy1pirqhxkhmqwhg2vysql9bwhc3w1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWx3YXlzLXNob3ctd29ya3NwYWNlLXRodW1ibmFpbHMvIiwKICAidXVpZCI6ICJhbHdheXNzaG93d29ya3NwYWNldGh1bWJuYWlsc0BhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "08z8ij9cj198g7cw3mr9spy1pirqhxkhmqwhg2vysql9bwhc3w1q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsd2F5cyBzaG93IHdvcmtzcGFjZSB0aHVtYm5haWxzIGV2ZW4gdGhlcmUgaXMgb25seSBvbmUgd29ya3NwYWNlLiIsCiAgIm5hbWUiOiAiQWx3YXlzIFNob3cgV29ya3NwYWNlIFRodW1ibmFpbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWx3YXlzLXNob3ctd29ya3NwYWNlLXRodW1ibmFpbHMvIiwKICAidXVpZCI6ICJhbHdheXNzaG93d29ya3NwYWNldGh1bWJuYWlsc0BhbHlueC5vbmUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "gnome-ui-tune@itstime.tech", "name": "Gnome 4x UI Improvements", "pname": "gnome-40-ui-improvements", "description": "Tunes gnome 40/41's Overview UI to make it more usable.\n\nChanges:\n- Search textbox is hidden by default and shown only when user begins to type-to-search\n- Scale of workspaces' thumbnails increased 2x\n- Restores wallpaper on workspaces' thumbnails. No more gray background\n- Show workspaces' thumbnails even when there is only one workspace\n- Firefox's PIP (picture in picture) window is now displayed on the overview screen\n\nAll modifications can be disabled in the extension's settings.\n\nATTENTION!\nAfter extension update, gnome-shell restart is required:\nX11: Alt+F2 => r\nWayland: logout => login", "link": "https://extensions.gnome.org/extension/4158/gnome-40-ui-improvements/", "shell_version_map": {"40": {"version": "7", "sha256": "1da7vqkjjqix29x7j3zv6plkzs45jcfz89i5d9pfk1jsmfcph2k4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9heHhhcHkvZ25vbWUtdWktdHVuZSIsCiAgInV1aWQiOiAiZ25vbWUtdWktdHVuZUBpdHN0aW1lLnRlY2giLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "1da7vqkjjqix29x7j3zv6plkzs45jcfz89i5d9pfk1jsmfcph2k4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlR1bmVzIGdub21lIDQwLzQxJ3MgT3ZlcnZpZXcgVUkgdG8gbWFrZSBpdCBtb3JlIHVzYWJsZS5cblxuQ2hhbmdlczpcbi0gU2VhcmNoIHRleHRib3ggaXMgaGlkZGVuIGJ5IGRlZmF1bHQgYW5kIHNob3duIG9ubHkgd2hlbiB1c2VyIGJlZ2lucyB0byB0eXBlLXRvLXNlYXJjaFxuLSBTY2FsZSBvZiB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGluY3JlYXNlZCAyeFxuLSBSZXN0b3JlcyB3YWxscGFwZXIgb24gd29ya3NwYWNlcycgdGh1bWJuYWlscy4gTm8gbW9yZSBncmF5IGJhY2tncm91bmRcbi0gU2hvdyB3b3Jrc3BhY2VzJyB0aHVtYm5haWxzIGV2ZW4gd2hlbiB0aGVyZSBpcyBvbmx5IG9uZSB3b3Jrc3BhY2Vcbi0gRmlyZWZveCdzIFBJUCAocGljdHVyZSBpbiBwaWN0dXJlKSB3aW5kb3cgaXMgbm93IGRpc3BsYXllZCBvbiB0aGUgb3ZlcnZpZXcgc2NyZWVuXG5cbkFsbCBtb2RpZmljYXRpb25zIGNhbiBiZSBkaXNhYmxlZCBpbiB0aGUgZXh0ZW5zaW9uJ3Mgc2V0dGluZ3MuXG5cbkFUVEVOVElPTiFcbkFmdGVyIGV4dGVuc2lvbiB1cGRhdGUsIGdub21lLXNoZWxsIHJlc3RhcnQgaXMgcmVxdWlyZWQ6XG5YMTE6IEFsdCtGMiA9PiByXG5XYXlsYW5kOiBsb2dvdXQgPT4gbG9naW4iLAogICJuYW1lIjogIkdub21lIDR4IFVJIEltcHJvdmVtZW50cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS11aS10dW5lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9heHhhcHkvZ25vbWUtdWktdHVuZSIsCiAgInV1aWQiOiAiZ25vbWUtdWktdHVuZUBpdHN0aW1lLnRlY2giLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "monitor-window-switcher@thefungusrocket.com", "name": "Monitor window switcher", "pname": "monitor-window-switcher", "description": "Improves the window switcher on dual (or more) monitor setups", "link": "https://extensions.gnome.org/extension/4164/monitor-window-switcher/", "shell_version_map": {"38": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0pazjbi0aikpnvnfxyamqy70xi1xclydyxdkf908c6ybwnc5956z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkltcHJvdmVzIHRoZSB3aW5kb3cgc3dpdGNoZXIgb24gZHVhbCAob3IgbW9yZSkgbW9uaXRvciBzZXR1cHMiLAogICJuYW1lIjogIk1vbml0b3Igd2luZG93IHN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9nZWR6ZXBwZWxpbi9tb25pdG9yLXdpbmRvdy1zd2l0Y2hlciIsCiAgInV1aWQiOiAibW9uaXRvci13aW5kb3ctc3dpdGNoZXJAdGhlZnVuZ3Vzcm9ja2V0LmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
-, {"uuid": "custom-hot-corners-extended@G-dH.github.com", "name": "Custom Hot Corners - Extended", "pname": "custom-hot-corners-extended", "description": "Give a function to any corner or edge of your monitors and expand your keyboard's capabilities. Mouse pointer pressure, clicks and scrolls over the corners/edges or keyboard shortcuts can trigger any of dozens of built-in actions or your own shell commands.\nThis extension is a big collection of actions that lets you navigate and control the Gnome Shell environment and windows and launch applications and scripts not only through the corners and edges of your monitors, but also using the custom keyboard shortcuts.\nSignificant part of available actions are visual adjustments (contrast, brightness, opacity) and color filters (red, green, desaturate, lightness and color inversions) , including correction filters for colorblind users and cb simulation filters for developers.\n\nRestart your Gnome Shell after each update of the extension to load new code, and reload this site to get rid of the error message, before you post a bug report.\nPlease report bugs/issues on GitHub linked below and add output from these two commands:\njournalctl /usr/bin/gnome-shell --since \"2 days ago\" | grep corners-extended\njournalctl /usr/bin/gjs --since \"2 days ago\" | grep corners-extended\n\nkeywords: overview, app grid, command, brightness, contrast, transparent, opacity, color effect, invert lightness, color tint, color blind filter, simulation, desaturate, night lights, dark theme, volume, mute, magnifier, zoom, screen keyboard, reader, large text, force close, kill -9, show desktop, reorder workspace, window thumbnail / preview, looking glass, custom menu, window, workspace, switcher, hide panel", "link": "https://extensions.gnome.org/extension/4167/custom-hot-corners-extended/", "shell_version_map": {"38": {"version": "11", "sha256": "101rw54gg991bmr7ggkl5km4r5h0bbjdh9861kji84dl4s9s9bf0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQncyBjYXBhYmlsaXRpZXMuIE1vdXNlIHBvaW50ZXIgcHJlc3N1cmUsIGNsaWNrcyBhbmQgc2Nyb2xscyBvdmVyIHRoZSBjb3JuZXJzL2VkZ2VzIG9yIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGJpZyBjb2xsZWN0aW9uIG9mIGFjdGlvbnMgdGhhdCBsZXRzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB0aGUgR25vbWUgU2hlbGwgZW52aXJvbm1lbnQgYW5kIHdpbmRvd3MgYW5kIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIHNjcmlwdHMgbm90IG9ubHkgdGhyb3VnaCB0aGUgY29ybmVycyBhbmQgZWRnZXMgb2YgeW91ciBtb25pdG9ycywgYnV0IGFsc28gdXNpbmcgdGhlIGN1c3RvbSBrZXlib2FyZCBzaG9ydGN1dHMuXG5TaWduaWZpY2FudCBwYXJ0IG9mIGF2YWlsYWJsZSBhY3Rpb25zIGFyZSB2aXN1YWwgYWRqdXN0bWVudHMgKGNvbnRyYXN0LCBicmlnaHRuZXNzLCBvcGFjaXR5KSBhbmQgY29sb3IgZmlsdGVycyAocmVkLCBncmVlbiwgZGVzYXR1cmF0ZSwgbGlnaHRuZXNzIGFuZCBjb2xvciBpbnZlcnNpb25zKSAsIGluY2x1ZGluZyBjb3JyZWN0aW9uIGZpbHRlcnMgZm9yIGNvbG9yYmxpbmQgdXNlcnMgYW5kIGNiIHNpbXVsYXRpb24gZmlsdGVycyBmb3IgZGV2ZWxvcGVycy5cblxuUmVzdGFydCB5b3VyIEdub21lIFNoZWxsIGFmdGVyIGVhY2ggdXBkYXRlIG9mIHRoZSBleHRlbnNpb24gdG8gbG9hZCBuZXcgY29kZSwgYW5kIHJlbG9hZCB0aGlzIHNpdGUgdG8gZ2V0IHJpZCBvZiB0aGUgZXJyb3IgbWVzc2FnZSwgYmVmb3JlIHlvdSBwb3N0IGEgYnVnIHJlcG9ydC5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIGxpbmtlZCBiZWxvdyBhbmQgYWRkIG91dHB1dCBmcm9tIHRoZXNlIHR3byBjb21tYW5kczpcbmpvdXJuYWxjdGwgL3Vzci9iaW4vZ25vbWUtc2hlbGwgLS1zaW5jZSBcIjIgZGF5cyBhZ29cIiB8IGdyZXAgY29ybmVycy1leHRlbmRlZFxuam91cm5hbGN0bCAvdXNyL2Jpbi9nanMgLS1zaW5jZSBcIjIgZGF5cyBhZ29cIiB8IGdyZXAgY29ybmVycy1leHRlbmRlZFxuXG5rZXl3b3Jkczogb3ZlcnZpZXcsIGFwcCBncmlkLCBjb21tYW5kLCBicmlnaHRuZXNzLCBjb250cmFzdCwgdHJhbnNwYXJlbnQsIG9wYWNpdHksIGNvbG9yIGVmZmVjdCwgaW52ZXJ0IGxpZ2h0bmVzcywgY29sb3IgdGludCwgY29sb3IgYmxpbmQgZmlsdGVyLCBzaW11bGF0aW9uLCBkZXNhdHVyYXRlLCBuaWdodCBsaWdodHMsIGRhcmsgdGhlbWUsIHZvbHVtZSwgbXV0ZSwgbWFnbmlmaWVyLCB6b29tLCBzY3JlZW4ga2V5Ym9hcmQsIHJlYWRlciwgbGFyZ2UgdGV4dCwgZm9yY2UgY2xvc2UsIGtpbGwgLTksIHNob3cgZGVza3RvcCwgcmVvcmRlciB3b3Jrc3BhY2UsIHdpbmRvdyB0aHVtYm5haWwgLyBwcmV2aWV3LCBsb29raW5nIGdsYXNzLCBjdXN0b20gbWVudSwgd2luZG93LCB3b3Jrc3BhY2UsIHN3aXRjaGVyLCBoaWRlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "40": {"version": "11", "sha256": "101rw54gg991bmr7ggkl5km4r5h0bbjdh9861kji84dl4s9s9bf0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQncyBjYXBhYmlsaXRpZXMuIE1vdXNlIHBvaW50ZXIgcHJlc3N1cmUsIGNsaWNrcyBhbmQgc2Nyb2xscyBvdmVyIHRoZSBjb3JuZXJzL2VkZ2VzIG9yIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGJpZyBjb2xsZWN0aW9uIG9mIGFjdGlvbnMgdGhhdCBsZXRzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB0aGUgR25vbWUgU2hlbGwgZW52aXJvbm1lbnQgYW5kIHdpbmRvd3MgYW5kIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIHNjcmlwdHMgbm90IG9ubHkgdGhyb3VnaCB0aGUgY29ybmVycyBhbmQgZWRnZXMgb2YgeW91ciBtb25pdG9ycywgYnV0IGFsc28gdXNpbmcgdGhlIGN1c3RvbSBrZXlib2FyZCBzaG9ydGN1dHMuXG5TaWduaWZpY2FudCBwYXJ0IG9mIGF2YWlsYWJsZSBhY3Rpb25zIGFyZSB2aXN1YWwgYWRqdXN0bWVudHMgKGNvbnRyYXN0LCBicmlnaHRuZXNzLCBvcGFjaXR5KSBhbmQgY29sb3IgZmlsdGVycyAocmVkLCBncmVlbiwgZGVzYXR1cmF0ZSwgbGlnaHRuZXNzIGFuZCBjb2xvciBpbnZlcnNpb25zKSAsIGluY2x1ZGluZyBjb3JyZWN0aW9uIGZpbHRlcnMgZm9yIGNvbG9yYmxpbmQgdXNlcnMgYW5kIGNiIHNpbXVsYXRpb24gZmlsdGVycyBmb3IgZGV2ZWxvcGVycy5cblxuUmVzdGFydCB5b3VyIEdub21lIFNoZWxsIGFmdGVyIGVhY2ggdXBkYXRlIG9mIHRoZSBleHRlbnNpb24gdG8gbG9hZCBuZXcgY29kZSwgYW5kIHJlbG9hZCB0aGlzIHNpdGUgdG8gZ2V0IHJpZCBvZiB0aGUgZXJyb3IgbWVzc2FnZSwgYmVmb3JlIHlvdSBwb3N0IGEgYnVnIHJlcG9ydC5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIGxpbmtlZCBiZWxvdyBhbmQgYWRkIG91dHB1dCBmcm9tIHRoZXNlIHR3byBjb21tYW5kczpcbmpvdXJuYWxjdGwgL3Vzci9iaW4vZ25vbWUtc2hlbGwgLS1zaW5jZSBcIjIgZGF5cyBhZ29cIiB8IGdyZXAgY29ybmVycy1leHRlbmRlZFxuam91cm5hbGN0bCAvdXNyL2Jpbi9nanMgLS1zaW5jZSBcIjIgZGF5cyBhZ29cIiB8IGdyZXAgY29ybmVycy1leHRlbmRlZFxuXG5rZXl3b3Jkczogb3ZlcnZpZXcsIGFwcCBncmlkLCBjb21tYW5kLCBicmlnaHRuZXNzLCBjb250cmFzdCwgdHJhbnNwYXJlbnQsIG9wYWNpdHksIGNvbG9yIGVmZmVjdCwgaW52ZXJ0IGxpZ2h0bmVzcywgY29sb3IgdGludCwgY29sb3IgYmxpbmQgZmlsdGVyLCBzaW11bGF0aW9uLCBkZXNhdHVyYXRlLCBuaWdodCBsaWdodHMsIGRhcmsgdGhlbWUsIHZvbHVtZSwgbXV0ZSwgbWFnbmlmaWVyLCB6b29tLCBzY3JlZW4ga2V5Ym9hcmQsIHJlYWRlciwgbGFyZ2UgdGV4dCwgZm9yY2UgY2xvc2UsIGtpbGwgLTksIHNob3cgZGVza3RvcCwgcmVvcmRlciB3b3Jrc3BhY2UsIHdpbmRvdyB0aHVtYm5haWwgLyBwcmV2aWV3LCBsb29raW5nIGdsYXNzLCBjdXN0b20gbWVudSwgd2luZG93LCB3b3Jrc3BhY2UsIHN3aXRjaGVyLCBoaWRlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "101rw54gg991bmr7ggkl5km4r5h0bbjdh9861kji84dl4s9s9bf0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQncyBjYXBhYmlsaXRpZXMuIE1vdXNlIHBvaW50ZXIgcHJlc3N1cmUsIGNsaWNrcyBhbmQgc2Nyb2xscyBvdmVyIHRoZSBjb3JuZXJzL2VkZ2VzIG9yIGtleWJvYXJkIHNob3J0Y3V0cyBjYW4gdHJpZ2dlciBhbnkgb2YgZG96ZW5zIG9mIGJ1aWx0LWluIGFjdGlvbnMgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGJpZyBjb2xsZWN0aW9uIG9mIGFjdGlvbnMgdGhhdCBsZXRzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB0aGUgR25vbWUgU2hlbGwgZW52aXJvbm1lbnQgYW5kIHdpbmRvd3MgYW5kIGxhdW5jaCBhcHBsaWNhdGlvbnMgYW5kIHNjcmlwdHMgbm90IG9ubHkgdGhyb3VnaCB0aGUgY29ybmVycyBhbmQgZWRnZXMgb2YgeW91ciBtb25pdG9ycywgYnV0IGFsc28gdXNpbmcgdGhlIGN1c3RvbSBrZXlib2FyZCBzaG9ydGN1dHMuXG5TaWduaWZpY2FudCBwYXJ0IG9mIGF2YWlsYWJsZSBhY3Rpb25zIGFyZSB2aXN1YWwgYWRqdXN0bWVudHMgKGNvbnRyYXN0LCBicmlnaHRuZXNzLCBvcGFjaXR5KSBhbmQgY29sb3IgZmlsdGVycyAocmVkLCBncmVlbiwgZGVzYXR1cmF0ZSwgbGlnaHRuZXNzIGFuZCBjb2xvciBpbnZlcnNpb25zKSAsIGluY2x1ZGluZyBjb3JyZWN0aW9uIGZpbHRlcnMgZm9yIGNvbG9yYmxpbmQgdXNlcnMgYW5kIGNiIHNpbXVsYXRpb24gZmlsdGVycyBmb3IgZGV2ZWxvcGVycy5cblxuUmVzdGFydCB5b3VyIEdub21lIFNoZWxsIGFmdGVyIGVhY2ggdXBkYXRlIG9mIHRoZSBleHRlbnNpb24gdG8gbG9hZCBuZXcgY29kZSwgYW5kIHJlbG9hZCB0aGlzIHNpdGUgdG8gZ2V0IHJpZCBvZiB0aGUgZXJyb3IgbWVzc2FnZSwgYmVmb3JlIHlvdSBwb3N0IGEgYnVnIHJlcG9ydC5cblBsZWFzZSByZXBvcnQgYnVncy9pc3N1ZXMgb24gR2l0SHViIGxpbmtlZCBiZWxvdyBhbmQgYWRkIG91dHB1dCBmcm9tIHRoZXNlIHR3byBjb21tYW5kczpcbmpvdXJuYWxjdGwgL3Vzci9iaW4vZ25vbWUtc2hlbGwgLS1zaW5jZSBcIjIgZGF5cyBhZ29cIiB8IGdyZXAgY29ybmVycy1leHRlbmRlZFxuam91cm5hbGN0bCAvdXNyL2Jpbi9nanMgLS1zaW5jZSBcIjIgZGF5cyBhZ29cIiB8IGdyZXAgY29ybmVycy1leHRlbmRlZFxuXG5rZXl3b3Jkczogb3ZlcnZpZXcsIGFwcCBncmlkLCBjb21tYW5kLCBicmlnaHRuZXNzLCBjb250cmFzdCwgdHJhbnNwYXJlbnQsIG9wYWNpdHksIGNvbG9yIGVmZmVjdCwgaW52ZXJ0IGxpZ2h0bmVzcywgY29sb3IgdGludCwgY29sb3IgYmxpbmQgZmlsdGVyLCBzaW11bGF0aW9uLCBkZXNhdHVyYXRlLCBuaWdodCBsaWdodHMsIGRhcmsgdGhlbWUsIHZvbHVtZSwgbXV0ZSwgbWFnbmlmaWVyLCB6b29tLCBzY3JlZW4ga2V5Ym9hcmQsIHJlYWRlciwgbGFyZ2UgdGV4dCwgZm9yY2UgY2xvc2UsIGtpbGwgLTksIHNob3cgZGVza3RvcCwgcmVvcmRlciB3b3Jrc3BhY2UsIHdpbmRvdyB0aHVtYm5haWwgLyBwcmV2aWV3LCBsb29raW5nIGdsYXNzLCBjdXN0b20gbWVudSwgd2luZG93LCB3b3Jrc3BhY2UsIHN3aXRjaGVyLCBoaWRlIHBhbmVsIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiY3VzdG9tLWhvdC1jb3JuZXJzLWV4dGVuZGVkIiwKICAibmFtZSI6ICJDdXN0b20gSG90IENvcm5lcnMgLSBFeHRlbmRlZCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0ctZEgvY3VzdG9tLWhvdC1jb3JuZXJzL3RyZWUvZ2RoIiwKICAidXVpZCI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWRARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "custom-hot-corners-extended@G-dH.github.com", "name": "Custom Hot Corners - Extended", "pname": "custom-hot-corners-extended", "description": "Give a function to any corner or edge of your monitors and expand your keyboard capabilities.\nMouse pointer pressure, clicks and scrolls over the corners/edges or keyboard shortcuts can trigger any of dozens of built-in actions that helps you navigate and control your desktop environment or your own shell commands.\n\nThis extension is a big collection of actions that lets you navigate and control the Gnome Shell environment and windows and launch applications and scripts not only through the corners and edges of your monitors, but also using the custom keyboard shortcuts.\nSignificant part of available actions are visual adjustments (contrast, brightness, opacity) and color filters (red, green, desaturate, lightness and color inversions) , including correction filters for colorblind users and cb simulation filters for developers.\n\nRestart your Gnome Shell after each update of the extension to load new code, and reload this site to get rid of the error message, before you post a bug report.\nPlease report bugs/issues on GitHub linked below and add output from these two commands:\njournalctl /usr/bin/gnome-shell --since \"2 days ago\" | grep corners-extended\njournalctl /usr/bin/gjs --since \"2 days ago\" | grep corners-extended\n\nkeywords: overview, app grid, command, brightness, contrast, transparent, opacity, color effect, invert lightness, color tint, color blind filter, simulation, desaturate, night lights, dark theme, volume, mute, magnifier, zoom, screen keyboard, reader, large text, force close, kill -9, show desktop, reorder workspace, window thumbnail / preview, looking glass, custom menu, window, workspace, switcher, hide panel", "link": "https://extensions.gnome.org/extension/4167/custom-hot-corners-extended/", "shell_version_map": {"38": {"version": "11", "sha256": "1snd0vdl87dd3h6ri25d585n1nn0dj1rgzny8r9pkqzjpy6fm7f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGxldHMgeW91IG5hdmlnYXRlIGFuZCBjb250cm9sIHRoZSBHbm9tZSBTaGVsbCBlbnZpcm9ubWVudCBhbmQgd2luZG93cyBhbmQgbGF1bmNoIGFwcGxpY2F0aW9ucyBhbmQgc2NyaXB0cyBub3Qgb25seSB0aHJvdWdoIHRoZSBjb3JuZXJzIGFuZCBlZGdlcyBvZiB5b3VyIG1vbml0b3JzLCBidXQgYWxzbyB1c2luZyB0aGUgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cy5cblNpZ25pZmljYW50IHBhcnQgb2YgYXZhaWxhYmxlIGFjdGlvbnMgYXJlIHZpc3VhbCBhZGp1c3RtZW50cyAoY29udHJhc3QsIGJyaWdodG5lc3MsIG9wYWNpdHkpIGFuZCBjb2xvciBmaWx0ZXJzIChyZWQsIGdyZWVuLCBkZXNhdHVyYXRlLCBsaWdodG5lc3MgYW5kIGNvbG9yIGludmVyc2lvbnMpICwgaW5jbHVkaW5nIGNvcnJlY3Rpb24gZmlsdGVycyBmb3IgY29sb3JibGluZCB1c2VycyBhbmQgY2Igc2ltdWxhdGlvbiBmaWx0ZXJzIGZvciBkZXZlbG9wZXJzLlxuXG5SZXN0YXJ0IHlvdXIgR25vbWUgU2hlbGwgYWZ0ZXIgZWFjaCB1cGRhdGUgb2YgdGhlIGV4dGVuc2lvbiB0byBsb2FkIG5ldyBjb2RlLCBhbmQgcmVsb2FkIHRoaXMgc2l0ZSB0byBnZXQgcmlkIG9mIHRoZSBlcnJvciBtZXNzYWdlLCBiZWZvcmUgeW91IHBvc3QgYSBidWcgcmVwb3J0LlxuUGxlYXNlIHJlcG9ydCBidWdzL2lzc3VlcyBvbiBHaXRIdWIgbGlua2VkIGJlbG93IGFuZCBhZGQgb3V0cHV0IGZyb20gdGhlc2UgdHdvIGNvbW1hbmRzOlxuam91cm5hbGN0bCAvdXNyL2Jpbi9nbm9tZS1zaGVsbCAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5qb3VybmFsY3RsIC91c3IvYmluL2dqcyAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9jdXN0b20taG90LWNvcm5lcnMvdHJlZS9nZGgiLAogICJ1dWlkIjogImN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZEBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "1snd0vdl87dd3h6ri25d585n1nn0dj1rgzny8r9pkqzjpy6fm7f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGxldHMgeW91IG5hdmlnYXRlIGFuZCBjb250cm9sIHRoZSBHbm9tZSBTaGVsbCBlbnZpcm9ubWVudCBhbmQgd2luZG93cyBhbmQgbGF1bmNoIGFwcGxpY2F0aW9ucyBhbmQgc2NyaXB0cyBub3Qgb25seSB0aHJvdWdoIHRoZSBjb3JuZXJzIGFuZCBlZGdlcyBvZiB5b3VyIG1vbml0b3JzLCBidXQgYWxzbyB1c2luZyB0aGUgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cy5cblNpZ25pZmljYW50IHBhcnQgb2YgYXZhaWxhYmxlIGFjdGlvbnMgYXJlIHZpc3VhbCBhZGp1c3RtZW50cyAoY29udHJhc3QsIGJyaWdodG5lc3MsIG9wYWNpdHkpIGFuZCBjb2xvciBmaWx0ZXJzIChyZWQsIGdyZWVuLCBkZXNhdHVyYXRlLCBsaWdodG5lc3MgYW5kIGNvbG9yIGludmVyc2lvbnMpICwgaW5jbHVkaW5nIGNvcnJlY3Rpb24gZmlsdGVycyBmb3IgY29sb3JibGluZCB1c2VycyBhbmQgY2Igc2ltdWxhdGlvbiBmaWx0ZXJzIGZvciBkZXZlbG9wZXJzLlxuXG5SZXN0YXJ0IHlvdXIgR25vbWUgU2hlbGwgYWZ0ZXIgZWFjaCB1cGRhdGUgb2YgdGhlIGV4dGVuc2lvbiB0byBsb2FkIG5ldyBjb2RlLCBhbmQgcmVsb2FkIHRoaXMgc2l0ZSB0byBnZXQgcmlkIG9mIHRoZSBlcnJvciBtZXNzYWdlLCBiZWZvcmUgeW91IHBvc3QgYSBidWcgcmVwb3J0LlxuUGxlYXNlIHJlcG9ydCBidWdzL2lzc3VlcyBvbiBHaXRIdWIgbGlua2VkIGJlbG93IGFuZCBhZGQgb3V0cHV0IGZyb20gdGhlc2UgdHdvIGNvbW1hbmRzOlxuam91cm5hbGN0bCAvdXNyL2Jpbi9nbm9tZS1zaGVsbCAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5qb3VybmFsY3RsIC91c3IvYmluL2dqcyAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9jdXN0b20taG90LWNvcm5lcnMvdHJlZS9nZGgiLAogICJ1dWlkIjogImN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZEBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "1snd0vdl87dd3h6ri25d585n1nn0dj1rgzny8r9pkqzjpy6fm7f3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdpdmUgYSBmdW5jdGlvbiB0byBhbnkgY29ybmVyIG9yIGVkZ2Ugb2YgeW91ciBtb25pdG9ycyBhbmQgZXhwYW5kIHlvdXIga2V5Ym9hcmQgY2FwYWJpbGl0aWVzLlxuTW91c2UgcG9pbnRlciBwcmVzc3VyZSwgY2xpY2tzIGFuZCBzY3JvbGxzIG92ZXIgdGhlIGNvcm5lcnMvZWRnZXMgb3Iga2V5Ym9hcmQgc2hvcnRjdXRzIGNhbiB0cmlnZ2VyIGFueSBvZiBkb3plbnMgb2YgYnVpbHQtaW4gYWN0aW9ucyB0aGF0IGhlbHBzIHlvdSBuYXZpZ2F0ZSBhbmQgY29udHJvbCB5b3VyIGRlc2t0b3AgZW52aXJvbm1lbnQgb3IgeW91ciBvd24gc2hlbGwgY29tbWFuZHMuXG5cblRoaXMgZXh0ZW5zaW9uIGlzIGEgYmlnIGNvbGxlY3Rpb24gb2YgYWN0aW9ucyB0aGF0IGxldHMgeW91IG5hdmlnYXRlIGFuZCBjb250cm9sIHRoZSBHbm9tZSBTaGVsbCBlbnZpcm9ubWVudCBhbmQgd2luZG93cyBhbmQgbGF1bmNoIGFwcGxpY2F0aW9ucyBhbmQgc2NyaXB0cyBub3Qgb25seSB0aHJvdWdoIHRoZSBjb3JuZXJzIGFuZCBlZGdlcyBvZiB5b3VyIG1vbml0b3JzLCBidXQgYWxzbyB1c2luZyB0aGUgY3VzdG9tIGtleWJvYXJkIHNob3J0Y3V0cy5cblNpZ25pZmljYW50IHBhcnQgb2YgYXZhaWxhYmxlIGFjdGlvbnMgYXJlIHZpc3VhbCBhZGp1c3RtZW50cyAoY29udHJhc3QsIGJyaWdodG5lc3MsIG9wYWNpdHkpIGFuZCBjb2xvciBmaWx0ZXJzIChyZWQsIGdyZWVuLCBkZXNhdHVyYXRlLCBsaWdodG5lc3MgYW5kIGNvbG9yIGludmVyc2lvbnMpICwgaW5jbHVkaW5nIGNvcnJlY3Rpb24gZmlsdGVycyBmb3IgY29sb3JibGluZCB1c2VycyBhbmQgY2Igc2ltdWxhdGlvbiBmaWx0ZXJzIGZvciBkZXZlbG9wZXJzLlxuXG5SZXN0YXJ0IHlvdXIgR25vbWUgU2hlbGwgYWZ0ZXIgZWFjaCB1cGRhdGUgb2YgdGhlIGV4dGVuc2lvbiB0byBsb2FkIG5ldyBjb2RlLCBhbmQgcmVsb2FkIHRoaXMgc2l0ZSB0byBnZXQgcmlkIG9mIHRoZSBlcnJvciBtZXNzYWdlLCBiZWZvcmUgeW91IHBvc3QgYSBidWcgcmVwb3J0LlxuUGxlYXNlIHJlcG9ydCBidWdzL2lzc3VlcyBvbiBHaXRIdWIgbGlua2VkIGJlbG93IGFuZCBhZGQgb3V0cHV0IGZyb20gdGhlc2UgdHdvIGNvbW1hbmRzOlxuam91cm5hbGN0bCAvdXNyL2Jpbi9nbm9tZS1zaGVsbCAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5qb3VybmFsY3RsIC91c3IvYmluL2dqcyAtLXNpbmNlIFwiMiBkYXlzIGFnb1wiIHwgZ3JlcCBjb3JuZXJzLWV4dGVuZGVkXG5cbmtleXdvcmRzOiBvdmVydmlldywgYXBwIGdyaWQsIGNvbW1hbmQsIGJyaWdodG5lc3MsIGNvbnRyYXN0LCB0cmFuc3BhcmVudCwgb3BhY2l0eSwgY29sb3IgZWZmZWN0LCBpbnZlcnQgbGlnaHRuZXNzLCBjb2xvciB0aW50LCBjb2xvciBibGluZCBmaWx0ZXIsIHNpbXVsYXRpb24sIGRlc2F0dXJhdGUsIG5pZ2h0IGxpZ2h0cywgZGFyayB0aGVtZSwgdm9sdW1lLCBtdXRlLCBtYWduaWZpZXIsIHpvb20sIHNjcmVlbiBrZXlib2FyZCwgcmVhZGVyLCBsYXJnZSB0ZXh0LCBmb3JjZSBjbG9zZSwga2lsbCAtOSwgc2hvdyBkZXNrdG9wLCByZW9yZGVyIHdvcmtzcGFjZSwgd2luZG93IHRodW1ibmFpbCAvIHByZXZpZXcsIGxvb2tpbmcgZ2xhc3MsIGN1c3RvbSBtZW51LCB3aW5kb3csIHdvcmtzcGFjZSwgc3dpdGNoZXIsIGhpZGUgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJjdXN0b20taG90LWNvcm5lcnMtZXh0ZW5kZWQiLAogICJuYW1lIjogIkN1c3RvbSBIb3QgQ29ybmVycyAtIEV4dGVuZGVkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9jdXN0b20taG90LWNvcm5lcnMvdHJlZS9nZGgiLAogICJ1dWlkIjogImN1c3RvbS1ob3QtY29ybmVycy1leHRlbmRlZEBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "hass-gshell@geoph9-on-github", "name": "Home Assistant Extension", "pname": "home-assistant-extension", "description": "A simple gnome shell extension for Home Assistant. Check the README on github for additional help!\n\nMain points:\n- You need to provide the url of your hass, a long live access token obtained from your profile page (on your hass web instance) and the entity ids of the entities you want to have as togglable.\n- In order to add some local temperature/humidity sensor, you may also provide a temperature and/or a humidity entity id (which should match the corresponding ids of your hass instance).", "link": "https://extensions.gnome.org/extension/4170/home-assistant-extension/", "shell_version_map": {"38": {"version": "3", "sha256": "04p2hvxyyc1zv441sv0l1dcxbdvzqp46mii3zvw0nhq8jg5pz8rr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dlb3BoOS9oYXNzLWdzaGVsbC1leHRlbnNpb24iLAogICJ1dWlkIjogImhhc3MtZ3NoZWxsQGdlb3BoOS1vbi1naXRodWIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "6", "sha256": "1wajx49ci9146wi10z2nvhgc1iw7mfqp8a8z5gr708f90vfy93lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "1wajx49ci9146wi10z2nvhgc1iw7mfqp8a8z5gr708f90vfy93lc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIGdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgSG9tZSBBc3Npc3RhbnQuIENoZWNrIHRoZSBSRUFETUUgb24gZ2l0aHViIGZvciBhZGRpdGlvbmFsIGhlbHAhXG5cbk1haW4gcG9pbnRzOlxuLSBZb3UgbmVlZCB0byBwcm92aWRlIHRoZSB1cmwgb2YgeW91ciBoYXNzLCBhIGxvbmcgbGl2ZSBhY2Nlc3MgdG9rZW4gb2J0YWluZWQgZnJvbSB5b3VyIHByb2ZpbGUgcGFnZSAob24geW91ciBoYXNzIHdlYiBpbnN0YW5jZSkgYW5kIHRoZSBlbnRpdHkgaWRzIG9mIHRoZSBlbnRpdGllcyB5b3Ugd2FudCB0byBoYXZlIGFzIHRvZ2dsYWJsZS5cbi0gSW4gb3JkZXIgdG8gYWRkIHNvbWUgbG9jYWwgdGVtcGVyYXR1cmUvaHVtaWRpdHkgc2Vuc29yLCB5b3UgbWF5IGFsc28gcHJvdmlkZSBhIHRlbXBlcmF0dXJlIGFuZC9vciBhIGh1bWlkaXR5IGVudGl0eSBpZCAod2hpY2ggc2hvdWxkIG1hdGNoIHRoZSBjb3JyZXNwb25kaW5nIGlkcyBvZiB5b3VyIGhhc3MgaW5zdGFuY2UpLiIsCiAgIm5hbWUiOiAiSG9tZSBBc3Npc3RhbnQgRXh0ZW5zaW9uIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmhhc3MtZGF0YSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZ2VvcGg5L2hhc3MtZ3NoZWxsLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAiaGFzcy1nc2hlbGxAZ2VvcGg5LW9uLWdpdGh1YiIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "clear-top-bar@superterran.net", "name": "Clear Top Bar", "pname": "clear-top-bar", "description": "Fully transparent topbar, pairs with the zhanghai transparent top bar extension to make bar opaque when window is maximized", "link": "https://extensions.gnome.org/extension/4173/clear-top-bar/", "shell_version_map": {"40": {"version": "5", "sha256": "12msvdg82rj34v338vsxqimy1p35isvl4db8k1sjq23ln1b6jak2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3VwZXJ0ZXJyYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsZWFyLXRvcC1iYXIiLAogICJ1dWlkIjogImNsZWFyLXRvcC1iYXJAc3VwZXJ0ZXJyYW4ubmV0IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "12msvdg82rj34v338vsxqimy1p35isvl4db8k1sjq23ln1b6jak2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZ1bGx5IHRyYW5zcGFyZW50IHRvcGJhciwgcGFpcnMgd2l0aCB0aGUgemhhbmdoYWkgdHJhbnNwYXJlbnQgdG9wIGJhciBleHRlbnNpb24gdG8gbWFrZSBiYXIgb3BhcXVlIHdoZW4gd2luZG93IGlzIG1heGltaXplZCIsCiAgIm5hbWUiOiAiQ2xlYXIgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc3VwZXJ0ZXJyYW4vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsZWFyLXRvcC1iYXIiLAogICJ1dWlkIjogImNsZWFyLXRvcC1iYXJAc3VwZXJ0ZXJyYW4ubmV0IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "systemd-manager@hardpixel.eu", "name": "Systemd Manager", "pname": "systemd-manager", "description": "Toggle systemd services on/off from a popup menu in the top gnome panel. Can be used to start services like apache2, mysql, postgres. It uses `pkexec' to run `sytemctl'. If you want to start services without entering a password you have to polkit policy file. An example policy file can be found in the github repository.", "link": "https://extensions.gnome.org/extension/4174/systemd-manager/", "shell_version_map": {"38": {"version": "5", "sha256": "1df0xz4m2ysqk3bk7kqjjh04qwsffwc04jgihmid4whd3n2kglk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3N5c3RlbWQtbWFuYWdlciIsCiAgInV1aWQiOiAic3lzdGVtZC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "1df0xz4m2ysqk3bk7kqjjh04qwsffwc04jgihmid4whd3n2kglk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3N5c3RlbWQtbWFuYWdlciIsCiAgInV1aWQiOiAic3lzdGVtZC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "1df0xz4m2ysqk3bk7kqjjh04qwsffwc04jgihmid4whd3n2kglk5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBzeXN0ZW1kIHNlcnZpY2VzIG9uL29mZiBmcm9tIGEgcG9wdXAgbWVudSBpbiB0aGUgdG9wIGdub21lIHBhbmVsLiBDYW4gYmUgdXNlZCB0byBzdGFydCBzZXJ2aWNlcyBsaWtlIGFwYWNoZTIsIG15c3FsLCBwb3N0Z3Jlcy4gSXQgdXNlcyBgcGtleGVjJyB0byBydW4gYHN5dGVtY3RsJy4gSWYgeW91IHdhbnQgdG8gc3RhcnQgc2VydmljZXMgd2l0aG91dCBlbnRlcmluZyBhIHBhc3N3b3JkIHlvdSBoYXZlIHRvIHBvbGtpdCBwb2xpY3kgZmlsZS4gQW4gZXhhbXBsZSBwb2xpY3kgZmlsZSBjYW4gYmUgZm91bmQgaW4gdGhlIGdpdGh1YiByZXBvc2l0b3J5LiIsCiAgImdldHRleHQtZG9tYWluIjogInN5c3RlbWQtbWFuYWdlciIsCiAgIm5hbWUiOiAiU3lzdGVtZCBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnN5c3RlbWQtbWFuYWdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vaGFyZHBpeGVsL3N5c3RlbWQtbWFuYWdlciIsCiAgInV1aWQiOiAic3lzdGVtZC1tYW5hZ2VyQGhhcmRwaXhlbC5ldSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
@@ -487,7 +490,7 @@
 , {"uuid": "private-switcher@dziban.com", "name": "Private Switcher", "pname": "private-switcher", "description": "Simple extension that allows you do have independent app switcher (alt-tab) for each workspace.", "link": "https://extensions.gnome.org/extension/4204/private-switcher/", "shell_version_map": {"38": {"version": "1", "sha256": "1awjnic8zca2f6viah2l4ai0pyfdyisxna9ys1zzpya11rwj6jk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBhbGxvd3MgeW91IGRvIGhhdmUgaW5kZXBlbmRlbnQgYXBwIHN3aXRjaGVyIChhbHQtdGFiKSBmb3IgZWFjaCB3b3Jrc3BhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJpdmF0ZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiUHJpdmF0ZSBTd2l0Y2hlciIsCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wcml2YXRlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tIiwKICAidXVpZCI6ICJwcml2YXRlLXN3aXRjaGVyQGR6aWJhbi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "1awjnic8zca2f6viah2l4ai0pyfdyisxna9ys1zzpya11rwj6jk7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBhbGxvd3MgeW91IGRvIGhhdmUgaW5kZXBlbmRlbnQgYXBwIHN3aXRjaGVyIChhbHQtdGFiKSBmb3IgZWFjaCB3b3Jrc3BhY2UuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAicHJpdmF0ZS1zd2l0Y2hlciIsCiAgIm5hbWUiOiAiUHJpdmF0ZSBTd2l0Y2hlciIsCiAgInNjaGVtYS1pZCI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wcml2YXRlLXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MC5iZXRhIiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tIiwKICAidXVpZCI6ICJwcml2YXRlLXN3aXRjaGVyQGR6aWJhbi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "colosseum@sereneblue", "name": "Colosseum", "pname": "colosseum", "description": "View live scores for your favorite sports teams.", "link": "https://extensions.gnome.org/extension/4207/colosseum/", "shell_version_map": {"40": {"version": "6", "sha256": "1gpv6d4jxsx842wjlj7g9fz870jl9fcwp0fhxbrsgp8jhk6jnpcq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "1gpv6d4jxsx842wjlj7g9fz870jl9fcwp0fhxbrsgp8jhk6jnpcq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlZpZXcgbGl2ZSBzY29yZXMgZm9yIHlvdXIgZmF2b3JpdGUgc3BvcnRzIHRlYW1zLiIsCiAgIm5hbWUiOiAiQ29sb3NzZXVtIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zZXJlbmVibHVlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1jb2xvc3NldW0iLAogICJ1dWlkIjogImNvbG9zc2V1bUBzZXJlbmVibHVlIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "gnome-plat-workspace@stonegate.me", "name": "Gnome 40 Flat Workspace", "pname": "gnome-40-plat-workspace", "description": "Remove shadow for workspace background in gnome 40.\nSource code https://github.com/stonega/gnome-extension-flat-workspace", "link": "https://extensions.gnome.org/extension/4215/gnome-40-plat-workspace/", "shell_version_map": {"40": {"version": "3", "sha256": "0ly2dab9c0l7w1axnqs7xk2szd5jm2ifgniz2snw5mwkr5pw76nb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBzaGFkb3cgZm9yIHdvcmtzcGFjZSBiYWNrZ3JvdW5kIGluIGdub21lIDQwLlxuU291cmNlIGNvZGUgaHR0cHM6Ly9naXRodWIuY29tL3N0b25lZ2EvZ25vbWUtZXh0ZW5zaW9uLWZsYXQtd29ya3NwYWNlIiwKICAibmFtZSI6ICJHbm9tZSA0MCBGbGF0IFdvcmtzcGFjZSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nbm9tZS1wbGF0LXdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZ25vbWUtcGxhdC13b3Jrc3BhY2VAc3RvbmVnYXRlLm1lIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "hotedge@jonathan.jdoda.ca", "name": "Hot Edge", "pname": "hot-edge", "description": "Add a hot edge that activates the overview to the bottom of the screen. This minimizes the pointer travel required to access the dash when using the new GNOME Shell 40 overview layout.\n\nYou can find more documentation at https://github.com/jdoda/hotedge/blob/main/README.md and report issues at https://github.com/jdoda/hotedge/issues .", "link": "https://extensions.gnome.org/extension/4222/hot-edge/", "shell_version_map": {"40": {"version": "8", "sha256": "1ybbjm4m6zix1f762jnhaa4jl15qrlc83m9fcmmsvi9rlqnxnlha", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuWW91IGNhbiBmaW5kIG1vcmUgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9ibG9iL21haW4vUkVBRE1FLm1kIGFuZCByZXBvcnQgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlL2lzc3VlcyAuIiwKICAibmFtZSI6ICJIb3QgRWRnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZSIsCiAgInV1aWQiOiAiaG90ZWRnZUBqb25hdGhhbi5qZG9kYS5jYSIsCiAgInZlcnNpb24iOiA4Cn0="}, "41": {"version": "8", "sha256": "1ybbjm4m6zix1f762jnhaa4jl15qrlc83m9fcmmsvi9rlqnxnlha", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuWW91IGNhbiBmaW5kIG1vcmUgZG9jdW1lbnRhdGlvbiBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9ibG9iL21haW4vUkVBRE1FLm1kIGFuZCByZXBvcnQgaXNzdWVzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlL2lzc3VlcyAuIiwKICAibmFtZSI6ICJIb3QgRWRnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZSIsCiAgInV1aWQiOiAiaG90ZWRnZUBqb25hdGhhbi5qZG9kYS5jYSIsCiAgInZlcnNpb24iOiA4Cn0="}}}
+, {"uuid": "hotedge@jonathan.jdoda.ca", "name": "Hot Edge", "pname": "hot-edge", "description": "Add a hot edge that activates the overview to the bottom of the screen. This minimizes the pointer travel required to access the dash when using the new GNOME Shell 40 overview layout.\n\nNow with preference dialog!\n\nYou can find more documentation at https://github.com/jdoda/hotedge/blob/main/README.md and report issues at https://github.com/jdoda/hotedge/issues .", "link": "https://extensions.gnome.org/extension/4222/hot-edge/", "shell_version_map": {"40": {"version": "14", "sha256": "0b0l1qfjkql7xzp5qkqixmdr6rmfdz7i7y319qqwn31mwslrc1nl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuTm93IHdpdGggcHJlZmVyZW5jZSBkaWFsb2chXG5cbllvdSBjYW4gZmluZCBtb3JlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2pkb2RhL2hvdGVkZ2UvYmxvYi9tYWluL1JFQURNRS5tZCBhbmQgcmVwb3J0IGlzc3VlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9pc3N1ZXMgLiIsCiAgIm5hbWUiOiAiSG90IEVkZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDE0Cn0="}, "41": {"version": "14", "sha256": "0b0l1qfjkql7xzp5qkqixmdr6rmfdz7i7y319qqwn31mwslrc1nl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIGhvdCBlZGdlIHRoYXQgYWN0aXZhdGVzIHRoZSBvdmVydmlldyB0byB0aGUgYm90dG9tIG9mIHRoZSBzY3JlZW4uIFRoaXMgbWluaW1pemVzIHRoZSBwb2ludGVyIHRyYXZlbCByZXF1aXJlZCB0byBhY2Nlc3MgdGhlIGRhc2ggd2hlbiB1c2luZyB0aGUgbmV3IEdOT01FIFNoZWxsIDQwIG92ZXJ2aWV3IGxheW91dC5cblxuTm93IHdpdGggcHJlZmVyZW5jZSBkaWFsb2chXG5cbllvdSBjYW4gZmluZCBtb3JlIGRvY3VtZW50YXRpb24gYXQgaHR0cHM6Ly9naXRodWIuY29tL2pkb2RhL2hvdGVkZ2UvYmxvYi9tYWluL1JFQURNRS5tZCBhbmQgcmVwb3J0IGlzc3VlcyBhdCBodHRwczovL2dpdGh1Yi5jb20vamRvZGEvaG90ZWRnZS9pc3N1ZXMgLiIsCiAgIm5hbWUiOiAiSG90IEVkZ2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qZG9kYS9ob3RlZGdlIiwKICAidXVpZCI6ICJob3RlZGdlQGpvbmF0aGFuLmpkb2RhLmNhIiwKICAidmVyc2lvbiI6IDE0Cn0="}}}
 , {"uuid": "gnome-citeurl-search-provider@raindrum.github.io", "name": "Legal Citation Search", "pname": "gnome-citeurl-search-provider", "description": "This extension lets you look up U.S. state and federal laws and court cases by typing citations (like \"42 USC 1983\" or \"U.S. Constitution Art. I, Sec. 3\") into the search bar.\nBy default, the search supports the U.S. Code and federal constitution, as well as nearly all codified state laws and constitutions, among other sources of law. You can also add more types of citation by following the instructions on the GitHub page.", "link": "https://extensions.gnome.org/extension/4225/gnome-citeurl-search-provider/", "shell_version_map": {"38": {"version": "6", "sha256": "024d98642smciv5n2vc4l2f8rglfrv180paj1g2rrq9k4pvg6yym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IGxvb2sgdXAgVS5TLiBzdGF0ZSBhbmQgZmVkZXJhbCBsYXdzIGFuZCBjb3VydCBjYXNlcyBieSB0eXBpbmcgY2l0YXRpb25zIChsaWtlIFwiNDIgVVNDIDE5ODNcIiBvciBcIlUuUy4gQ29uc3RpdHV0aW9uIEFydC4gSSwgU2VjLiAzXCIpIGludG8gdGhlIHNlYXJjaCBiYXIuXG5CeSBkZWZhdWx0LCB0aGUgc2VhcmNoIHN1cHBvcnRzIHRoZSBVLlMuIENvZGUgYW5kIGZlZGVyYWwgY29uc3RpdHV0aW9uLCBhcyB3ZWxsIGFzIG5lYXJseSBhbGwgY29kaWZpZWQgc3RhdGUgbGF3cyBhbmQgY29uc3RpdHV0aW9ucywgYW1vbmcgb3RoZXIgc291cmNlcyBvZiBsYXcuIFlvdSBjYW4gYWxzbyBhZGQgbW9yZSB0eXBlcyBvZiBjaXRhdGlvbiBieSBmb2xsb3dpbmcgdGhlIGluc3RydWN0aW9ucyBvbiB0aGUgR2l0SHViIHBhZ2UuIiwKICAibmFtZSI6ICJMZWdhbCBDaXRhdGlvbiBTZWFyY2giLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFpbmRydW0vZ25vbWUtY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyQHJhaW5kcnVtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "40": {"version": "6", "sha256": "024d98642smciv5n2vc4l2f8rglfrv180paj1g2rrq9k4pvg6yym", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIGxldHMgeW91IGxvb2sgdXAgVS5TLiBzdGF0ZSBhbmQgZmVkZXJhbCBsYXdzIGFuZCBjb3VydCBjYXNlcyBieSB0eXBpbmcgY2l0YXRpb25zIChsaWtlIFwiNDIgVVNDIDE5ODNcIiBvciBcIlUuUy4gQ29uc3RpdHV0aW9uIEFydC4gSSwgU2VjLiAzXCIpIGludG8gdGhlIHNlYXJjaCBiYXIuXG5CeSBkZWZhdWx0LCB0aGUgc2VhcmNoIHN1cHBvcnRzIHRoZSBVLlMuIENvZGUgYW5kIGZlZGVyYWwgY29uc3RpdHV0aW9uLCBhcyB3ZWxsIGFzIG5lYXJseSBhbGwgY29kaWZpZWQgc3RhdGUgbGF3cyBhbmQgY29uc3RpdHV0aW9ucywgYW1vbmcgb3RoZXIgc291cmNlcyBvZiBsYXcuIFlvdSBjYW4gYWxzbyBhZGQgbW9yZSB0eXBlcyBvZiBjaXRhdGlvbiBieSBmb2xsb3dpbmcgdGhlIGluc3RydWN0aW9ucyBvbiB0aGUgR2l0SHViIHBhZ2UuIiwKICAibmFtZSI6ICJMZWdhbCBDaXRhdGlvbiBTZWFyY2giLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmFpbmRydW0vZ25vbWUtY2l0ZXVybC1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWNpdGV1cmwtc2VhcmNoLXByb3ZpZGVyQHJhaW5kcnVtLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "wireless-hid@chlumskyvaclav.gmail.com", "name": "Wireless HID", "pname": "wireless-hid", "description": "This extension shows the battery of the wireless keyboards, mice, and game controllers in percentages and colors. Multiple devices are supported.", "link": "https://extensions.gnome.org/extension/4228/wireless-hid/", "shell_version_map": {"38": {"version": "4", "sha256": "09qws1w9d6ik18c2fkhwfrxiallx4bq2k6wnlc7d2fvrfdm32kqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "09qws1w9d6ik18c2fkhwfrxiallx4bq2k6wnlc7d2fvrfdm32kqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "09qws1w9d6ik18c2fkhwfrxiallx4bq2k6wnlc7d2fvrfdm32kqn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHNob3dzIHRoZSBiYXR0ZXJ5IG9mIHRoZSB3aXJlbGVzcyBrZXlib2FyZHMsIG1pY2UsIGFuZCBnYW1lIGNvbnRyb2xsZXJzIGluIHBlcmNlbnRhZ2VzIGFuZCBjb2xvcnMuIE11bHRpcGxlIGRldmljZXMgYXJlIHN1cHBvcnRlZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ3aXJlbGVzcy1oaWQiLAogICJuYW1lIjogIldpcmVsZXNzIEhJRCIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJjaGx1bXNreXZhY2xhdkBnbWFpbC5jb20iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZjaGx1bS93aXJlbGVzcy1oaWQiLAogICJ1dWlkIjogIndpcmVsZXNzLWhpZEBjaGx1bXNreXZhY2xhdi5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "better-osd@hllvc", "name": "Better OSD - Gnome 40", "pname": "better-osd-gnome-40", "description": "Customize your OSD popups. Move, resize, set delay and transparency!", "link": "https://extensions.gnome.org/extension/4231/better-osd-gnome-40/", "shell_version_map": {"40": {"version": "5", "sha256": "0z24civcgjsif2gyxkjamzx2nlxxzfnkg4fwip4jbxy5v3d090nq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0z24civcgjsif2gyxkjamzx2nlxxzfnkg4fwip4jbxy5v3d090nq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkN1c3RvbWl6ZSB5b3VyIE9TRCBwb3B1cHMuIE1vdmUsIHJlc2l6ZSwgc2V0IGRlbGF5IGFuZCB0cmFuc3BhcmVuY3khIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiYmV0dGVyLW9zZCIsCiAgIm5hbWUiOiAiQmV0dGVyIE9TRCAtIEdub21lIDQwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9obGx2Yy9iZXR0ZXItb3NkIiwKICAidXVpZCI6ICJiZXR0ZXItb3NkQGhsbHZjIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
@@ -502,7 +505,7 @@
 , {"uuid": "rippleremove@slippinggitty", "name": "Ripple Remove", "pname": "ripple-remove", "description": "Removes the ripple effect from the Activities hot corner", "link": "https://extensions.gnome.org/extension/4264/ripple-remove/", "shell_version_map": {"40": {"version": "1", "sha256": "1dnk8nfnv5hp8c11fzhn5vscicij4lk9i1vz25fz6sjc3rn1a9pq", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZXMgdGhlIHJpcHBsZSBlZmZlY3QgZnJvbSB0aGUgQWN0aXZpdGllcyBob3QgY29ybmVyIiwKICAibmFtZSI6ICJSaXBwbGUgUmVtb3ZlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5zbGlwcGluZ2l0dHkucmlwcGxlcmVtb3ZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJyaXBwbGVyZW1vdmVAc2xpcHBpbmdnaXR0eSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "quickmenu@slippinggitty", "name": "Quick Menu [DEAD]", "pname": "quick-menu", "description": "This is a fork of fedoramenu (which is a fork of Big Sur Menu by fausto) that scrubs references of Fedora by replacing the icon with the GNOME logo.\n\nQuick Menu is a panel applet similar to the Apple menu found on macOS.\n\nEDIT: This extension's purpose is dead. Check out Tofu Menu, which is fedoramenu, but with the ability to change the icon. https://extensions.gnome.org/extension/4272/tofu-menu/", "link": "https://extensions.gnome.org/extension/4266/quick-menu/", "shell_version_map": {"40": {"version": "1", "sha256": "1qla029n79366a7xvg2d9v0wa7272bqj40ggvbjrfsbd8x066aca", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgaXMgYSBmb3JrIG9mIGZlZG9yYW1lbnUgKHdoaWNoIGlzIGEgZm9yayBvZiBCaWcgU3VyIE1lbnUgYnkgZmF1c3RvKSB0aGF0IHNjcnVicyByZWZlcmVuY2VzIG9mIEZlZG9yYSBieSByZXBsYWNpbmcgdGhlIGljb24gd2l0aCB0aGUgR05PTUUgbG9nby5cblxuUXVpY2sgTWVudSBpcyBhIHBhbmVsIGFwcGxldCBzaW1pbGFyIHRvIHRoZSBBcHBsZSBtZW51IGZvdW5kIG9uIG1hY09TLlxuXG5FRElUOiBUaGlzIGV4dGVuc2lvbidzIHB1cnBvc2UgaXMgZGVhZC4gQ2hlY2sgb3V0IFRvZnUgTWVudSwgd2hpY2ggaXMgZmVkb3JhbWVudSwgYnV0IHdpdGggdGhlIGFiaWxpdHkgdG8gY2hhbmdlIHRoZSBpY29uLiBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi80MjcyL3RvZnUtbWVudS8iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJxdWljay1tZW51IiwKICAibmFtZSI6ICJRdWljayBNZW51IFtERUFEXSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuc2xpcHBpbmdpdHR5LnF1aWNrLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2xpcHBpbmdHaXR0eS9xdWlja21lbnUiLAogICJ1dWlkIjogInF1aWNrbWVudUBzbGlwcGluZ2dpdHR5IiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "show-desktop-applet@valent-in", "name": "Show Desktop Applet", "pname": "show-desktop-applet", "description": "Minimize/unminimize all open windows with a single click.\n\nForked from https://extensions.gnome.org/extension/1194/show-desktop-button/\n\nFeatures:\n- Windows-like behavior\n- Can be placed at the end of panel\n- Hotkey support (can be activated in settings)", "link": "https://extensions.gnome.org/extension/4267/show-desktop-applet/", "shell_version_map": {"38": {"version": "3", "sha256": "1cm3mfcijjgm9wy2m5hvc6q4ra4b4nqpwl8zhvpf2gxp7vrg4l2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WYWxlbnQtaW4vU2hvdy1EZXNrdG9wLUFwcGxldCIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWFwcGxldEB2YWxlbnQtaW4iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1cm3mfcijjgm9wy2m5hvc6q4ra4b4nqpwl8zhvpf2gxp7vrg4l2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WYWxlbnQtaW4vU2hvdy1EZXNrdG9wLUFwcGxldCIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWFwcGxldEB2YWxlbnQtaW4iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1cm3mfcijjgm9wy2m5hvc6q4ra4b4nqpwl8zhvpf2gxp7vrg4l2y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1pbmltaXplL3VubWluaW1pemUgYWxsIG9wZW4gd2luZG93cyB3aXRoIGEgc2luZ2xlIGNsaWNrLlxuXG5Gb3JrZWQgZnJvbSBodHRwczovL2V4dGVuc2lvbnMuZ25vbWUub3JnL2V4dGVuc2lvbi8xMTk0L3Nob3ctZGVza3RvcC1idXR0b24vXG5cbkZlYXR1cmVzOlxuLSBXaW5kb3dzLWxpa2UgYmVoYXZpb3Jcbi0gQ2FuIGJlIHBsYWNlZCBhdCB0aGUgZW5kIG9mIHBhbmVsXG4tIEhvdGtleSBzdXBwb3J0IChjYW4gYmUgYWN0aXZhdGVkIGluIHNldHRpbmdzKSIsCiAgImV4dGVuc2lvbi1pZCI6ICJzaG93LWRlc2t0b3AtYXBwbGV0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAic2hvdy1kZXNrdG9wLWFwcGxldCIsCiAgImxvY2FsZWRpciI6ICIvdXNyL3NoYXJlL2xvY2FsZSIsCiAgIm5hbWUiOiAiU2hvdyBEZXNrdG9wIEFwcGxldCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaG93LWRlc2t0b3AtYXBwbGV0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9WYWxlbnQtaW4vU2hvdy1EZXNrdG9wLUFwcGxldCIsCiAgInV1aWQiOiAic2hvdy1kZXNrdG9wLWFwcGxldEB2YWxlbnQtaW4iLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "AlphabeticalAppGrid@stuarthayhurst", "name": "Alphabetical App Grid", "pname": "alphabetical-app-grid", "description": "Restore the alphabetical ordering of the app grid", "link": "https://extensions.gnome.org/extension/4269/alphabetical-app-grid/", "shell_version_map": {"38": {"version": "17", "sha256": "1rd14ixx5macghy3pdv7jk9wqlrgp1ndq6xr2al5g1bp4y7aa59c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "1rd14ixx5macghy3pdv7jk9wqlrgp1ndq6xr2al5g1bp4y7aa59c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "1rd14ixx5macghy3pdv7jk9wqlrgp1ndq6xr2al5g1bp4y7aa59c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
+, {"uuid": "AlphabeticalAppGrid@stuarthayhurst", "name": "Alphabetical App Grid", "pname": "alphabetical-app-grid", "description": "Restore the alphabetical ordering of the app grid", "link": "https://extensions.gnome.org/extension/4269/alphabetical-app-grid/", "shell_version_map": {"38": {"version": "19", "sha256": "00j9s61g8p5llsx917p57nmjmg064ly2nl5rzzl8xr5g73mcck80", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "40": {"version": "19", "sha256": "00j9s61g8p5llsx917p57nmjmg064ly2nl5rzzl8xr5g73mcck80", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}, "41": {"version": "19", "sha256": "00j9s61g8p5llsx917p57nmjmg064ly2nl5rzzl8xr5g73mcck80", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlYnVnIjogZmFsc2UsCiAgImRlc2NyaXB0aW9uIjogIlJlc3RvcmUgdGhlIGFscGhhYmV0aWNhbCBvcmRlcmluZyBvZiB0aGUgYXBwIGdyaWQiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJBbHBoYWJldGljYWxBcHBHcmlkQHN0dWFydGhheWh1cnN0IiwKICAibmFtZSI6ICJBbHBoYWJldGljYWwgQXBwIEdyaWQiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuYWxwaGFiZXRpY2FsLWFwcC1ncmlkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9zdHVhcnRoYXlodXJzdC9hbHBoYWJldGljYWwtZ3JpZC1leHRlbnNpb24iLAogICJ1dWlkIjogIkFscGhhYmV0aWNhbEFwcEdyaWRAc3R1YXJ0aGF5aHVyc3QiLAogICJ2ZXJzaW9uIjogMTkKfQ=="}}}
 , {"uuid": "tofumenu@tofu", "name": "Tofu Menu", "pname": "tofu-menu", "description": "Quick access menu for the GNOME panel with options that help ease the workflow for newcomers and power users alike.\n\nhttps://github.com/tofutech/tofumenu", "link": "https://extensions.gnome.org/extension/4272/tofu-menu/", "shell_version_map": {"40": {"version": "2", "sha256": "05ndbjvvz0v1y8iq6ngqylz4z1ld6q5ibhkr5dh24wqc4wiky30v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlF1aWNrIGFjY2VzcyBtZW51IGZvciB0aGUgR05PTUUgcGFuZWwgd2l0aCBvcHRpb25zIHRoYXQgaGVscCBlYXNlIHRoZSB3b3JrZmxvdyBmb3IgbmV3Y29tZXJzIGFuZCBwb3dlciB1c2VycyBhbGlrZS5cblxuaHR0cHM6Ly9naXRodWIuY29tL3RvZnV0ZWNoL3RvZnVtZW51IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZmVkb3JhLW1lbnUiLAogICJuYW1lIjogIlRvZnUgTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcudG9mdS5mZWRvcmEtbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidG9mdW1lbnVAdG9mdSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "cryptostash@filidorwiese.nl", "name": "CryptoStash", "pname": "cryptostash", "description": "Keep an eye on the real time value of your crypto coins collections.\n\nYou can create multiple \"stashes\" (portfolios) of coins and monitor the accumulated value in USD or EUR. Or if you prefer, you can simply track the current value of your favorite coin.", "link": "https://extensions.gnome.org/extension/4276/cryptostash/", "shell_version_map": {"38": {"version": "4", "sha256": "0n1452ky1dppcxazgqxv5jc91l4piwp64rmc9b41ak3792j1sgbw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvcl91cmwiOiAiaHR0cHM6Ly9maWxpZG9yd2llc2UubmwiLAogICJkZXNjcmlwdGlvbiI6ICJLZWVwIGFuIGV5ZSBvbiB0aGUgcmVhbCB0aW1lIHZhbHVlIG9mIHlvdXIgY3J5cHRvIGNvaW5zIGNvbGxlY3Rpb25zLlxuXG5Zb3UgY2FuIGNyZWF0ZSBtdWx0aXBsZSBcInN0YXNoZXNcIiAocG9ydGZvbGlvcykgb2YgY29pbnMgYW5kIG1vbml0b3IgdGhlIGFjY3VtdWxhdGVkIHZhbHVlIGluIFVTRCBvciBFVVIuIE9yIGlmIHlvdSBwcmVmZXIsIHlvdSBjYW4gc2ltcGx5IHRyYWNrIHRoZSBjdXJyZW50IHZhbHVlIG9mIHlvdXIgZmF2b3JpdGUgY29pbi4iLAogICJuYW1lIjogIkNyeXB0b1N0YXNoIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmNyeXB0by1zdGFzaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ0YWciOiAxLjMsCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmlsaWRvcndpZXNlL2dub21lLXNoZWxsLWNyeXB0by1zdGFzaCIsCiAgInV1aWQiOiAiY3J5cHRvc3Rhc2hAZmlsaWRvcndpZXNlLm5sIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "xmlfix@pwall.github.com", "name": "XML-Fix", "pname": "xml-fix", "description": "Fixes the XML-Codes displaying instead of the characters on notifications.", "link": "https://extensions.gnome.org/extension/4279/xml-fix/", "shell_version_map": {"38": {"version": "2", "sha256": "1c9qa3ky873hkckylsbv0s7q9bmsnia7h8mlc36i7xz7h1ml6fpx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeGVzIHRoZSBYTUwtQ29kZXMgZGlzcGxheWluZyBpbnN0ZWFkIG9mIHRoZSBjaGFyYWN0ZXJzIG9uIG5vdGlmaWNhdGlvbnMuIiwKICAibmFtZSI6ICJYTUwtRml4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFdhbGwyMjIyL1hNTEZpeCIsCiAgInV1aWQiOiAieG1sZml4QHB3YWxsLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
@@ -514,7 +517,7 @@
 , {"uuid": "spindown-harddisk@johannes.bittner.gmail.com", "name": "Spin down hard disk", "pname": "spin-down-hard-disk", "description": "Spins down the hard disk (and keeps it spun down)", "link": "https://extensions.gnome.org/extension/4299/spin-down-hard-disk/", "shell_version_map": {"38": {"version": "2", "sha256": "0cfjjbfk7rbj9dsy56sq8ga6i5wkz5p3xqbykxv16xbhgh4i2n01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwaW5zIGRvd24gdGhlIGhhcmQgZGlzayAoYW5kIGtlZXBzIGl0IHNwdW4gZG93bikiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcGluZG93bi1oYXJkZGlzayIsCiAgIm5hbWUiOiAiU3BpbiBkb3duIGhhcmQgZGlzayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGluZG93bi1oYXJkZGlzayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BpbmRvd24taGFyZGRpc2tAam9oYW5uZXMuYml0dG5lci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0cfjjbfk7rbj9dsy56sq8ga6i5wkz5p3xqbykxv16xbhgh4i2n01", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNwaW5zIGRvd24gdGhlIGhhcmQgZGlzayAoYW5kIGtlZXBzIGl0IHNwdW4gZG93bikiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzcGluZG93bi1oYXJkZGlzayIsCiAgIm5hbWUiOiAiU3BpbiBkb3duIGhhcmQgZGlzayIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcGluZG93bi1oYXJkZGlzayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic3BpbmRvd24taGFyZGRpc2tAam9oYW5uZXMuYml0dG5lci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "user-pics@comfy", "name": "User Pics", "pname": "user-pics", "description": "lucasalveslm's User Account Image for gnome-shell 3.38", "link": "https://extensions.gnome.org/extension/4301/user-pics/", "shell_version_map": {"38": {"version": "3", "sha256": "1rv6x551dm3hynfkm291b4c552j9d6q89ixmrq0x97xgw75n14fx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImx1Y2FzYWx2ZXNsbSdzIFVzZXIgQWNjb3VudCBJbWFnZSBmb3IgZ25vbWUtc2hlbGwgMy4zOCIsCiAgIm5hbWUiOiAiVXNlciBQaWNzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInVzZXItcGljc0Bjb21meSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "screendarker@yingshaoxo.github.com", "name": "Screen Darker", "pname": "screen-darker", "description": "Help you do a switch between a darker screen and brighter screen by one click.", "link": "https://extensions.gnome.org/extension/4304/screen-darker/", "shell_version_map": {"38": {"version": "1", "sha256": "1zlncw0y5crq6n0slhq1f9npzvkkcyh0187z88mzycr55nl4rsx8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhlbHAgeW91IGRvIGEgc3dpdGNoIGJldHdlZW4gYSBkYXJrZXIgc2NyZWVuIGFuZCBicmlnaHRlciBzY3JlZW4gYnkgb25lIGNsaWNrLiIsCiAgIm5hbWUiOiAiU2NyZWVuIERhcmtlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3lpbmdzaGFveG8vZ25vbWUtc2hlbGwtc2NyZWVuLWRhcmtlciIsCiAgInV1aWQiOiAic2NyZWVuZGFya2VyQHlpbmdzaGFveG8uZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
-, {"uuid": "umi-coin-rate@exposedcat", "name": "UMI Coin Rate", "pname": "umi-coin-rate", "description": "Add UMI coin rate to the panel", "link": "https://extensions.gnome.org/extension/4307/umi-coin-rate/", "shell_version_map": {"38": {"version": "5", "sha256": "13fh82kwma7qdis6ny0c5bw9fxx103p6mj2434fsgfra3d1k8aqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBVTUkgY29pbiByYXRlIHRvIHRoZSBwYW5lbCIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FeHBvc2VkQ2F0L3VtaS1jb2luLXJhdGUiLAogICJ1dWlkIjogInVtaS1jb2luLXJhdGVAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "13fh82kwma7qdis6ny0c5bw9fxx103p6mj2434fsgfra3d1k8aqh", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBVTUkgY29pbiByYXRlIHRvIHRoZSBwYW5lbCIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9FeHBvc2VkQ2F0L3VtaS1jb2luLXJhdGUiLAogICJ1dWlkIjogInVtaS1jb2luLXJhdGVAZXhwb3NlZGNhdCIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "umi-coin-rate@exposedcat", "name": "UMI Coin Rate [Unmaintained]", "pname": "umi-coin-rate", "description": "", "link": "https://extensions.gnome.org/extension/4307/umi-coin-rate/", "shell_version_map": {"38": {"version": "5", "sha256": "0rhprnxnsmy834lkc2vmp0zgbj1ngc3bq7m3yac4vd3g40r015nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSBbVW5tYWludGFpbmVkXSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidW1pLWNvaW4tcmF0ZUBleHBvc2VkY2F0IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0rhprnxnsmy834lkc2vmp0zgbj1ngc3bq7m3yac4vd3g40r015nk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiIsCiAgIm5hbWUiOiAiVU1JIENvaW4gUmF0ZSBbVW5tYWludGFpbmVkXSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAidW1pLWNvaW4tcmF0ZUBleHBvc2VkY2F0IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "network-stats@gnome.noroadsleft.xyz", "name": "Network Stats", "pname": "network-stats", "description": "Displays internet upload speed, download speed, bandwidth, data usage. \n\n visit github page for instructions, suggestions and feature requests. \n\n ERROR while updating extension ? restart your system or reload gnome shell. Alt + F2  then  r + Enter", "link": "https://extensions.gnome.org/extension/4308/network-stats/", "shell_version_map": {"38": {"version": "10", "sha256": "1kmbaja0nhqjayjcy6rnm2wqzv1gw3divd7d15nanbh0igmwm32a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGludGVybmV0IHVwbG9hZCBzcGVlZCwgZG93bmxvYWQgc3BlZWQsIGJhbmR3aWR0aCwgZGF0YSB1c2FnZS4gXG5cbiB2aXNpdCBnaXRodWIgcGFnZSBmb3IgaW5zdHJ1Y3Rpb25zLCBzdWdnZXN0aW9ucyBhbmQgZmVhdHVyZSByZXF1ZXN0cy4gXG5cbiBFUlJPUiB3aGlsZSB1cGRhdGluZyBleHRlbnNpb24gPyByZXN0YXJ0IHlvdXIgc3lzdGVtIG9yIHJlbG9hZCBnbm9tZSBzaGVsbC4gQWx0ICsgRjIgIHRoZW4gIHIgKyBFbnRlciIsCiAgImdldHRleHQtZG9tYWluIjogIm5ldHdvcmstc3RhdHMiLAogICJuYW1lIjogIk5ldHdvcmsgU3RhdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmV0d29yay1zdGF0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ub3JvYWRzbGVmdDAwMC9nbm9tZS1uZXR3b3JrLXN0YXRzIiwKICAidXVpZCI6ICJuZXR3b3JrLXN0YXRzQGdub21lLm5vcm9hZHNsZWZ0Lnh5eiIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "1kmbaja0nhqjayjcy6rnm2wqzv1gw3divd7d15nanbh0igmwm32a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIGludGVybmV0IHVwbG9hZCBzcGVlZCwgZG93bmxvYWQgc3BlZWQsIGJhbmR3aWR0aCwgZGF0YSB1c2FnZS4gXG5cbiB2aXNpdCBnaXRodWIgcGFnZSBmb3IgaW5zdHJ1Y3Rpb25zLCBzdWdnZXN0aW9ucyBhbmQgZmVhdHVyZSByZXF1ZXN0cy4gXG5cbiBFUlJPUiB3aGlsZSB1cGRhdGluZyBleHRlbnNpb24gPyByZXN0YXJ0IHlvdXIgc3lzdGVtIG9yIHJlbG9hZCBnbm9tZSBzaGVsbC4gQWx0ICsgRjIgIHRoZW4gIHIgKyBFbnRlciIsCiAgImdldHRleHQtZG9tYWluIjogIm5ldHdvcmstc3RhdHMiLAogICJuYW1lIjogIk5ldHdvcmsgU3RhdHMiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubmV0d29yay1zdGF0cyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4yNCIsCiAgICAiMy4yNiIsCiAgICAiMy4yOCIsCiAgICAiMy4zMCIsCiAgICAiMy4zNCIsCiAgICAiMy4zMiIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ub3JvYWRzbGVmdDAwMC9nbm9tZS1uZXR3b3JrLXN0YXRzIiwKICAidXVpZCI6ICJuZXR3b3JrLXN0YXRzQGdub21lLm5vcm9hZHNsZWZ0Lnh5eiIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "screen-lock@garciabaameiro.com", "name": "Screen lock", "pname": "extension-list", "description": "Simple gnome shell extension to use xscreensaver in top panel", "link": "https://extensions.gnome.org/extension/4311/extension-list/", "shell_version_map": {"40": {"version": "1", "sha256": "1jas7pcn3a28fnfs3azrbiqf22gx337js6if8v8vsb15994pbak6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBnbm9tZSBzaGVsbCBleHRlbnNpb24gdG8gdXNlIHhzY3JlZW5zYXZlciBpbiB0b3AgcGFuZWwiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJzY3JlZW4tbG9jayIsCiAgIm5hbWUiOiAiU2NyZWVuIGxvY2siLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc2NyZWVuLWxvY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2F3eWVyMTMvc2NyZWVuLWxvY2siLAogICJ1dWlkIjogInNjcmVlbi1sb2NrQGdhcmNpYWJhYW1laXJvLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "force-show-osk@bruh.ltd", "name": "Force Show OSK", "pname": "force-show-osk", "description": "Show the on-screen keyboard regardless of whether the touch mode is enabled", "link": "https://extensions.gnome.org/extension/4316/force-show-osk/", "shell_version_map": {"40": {"version": "3", "sha256": "0p2v36bliaa6i85b4r0g38ih9fidn95dwmyhc3dygvynjzvvv56b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2tpcmJ5a2V2aW5zb24vZm9yY2Utc2hvdy1vc2siLAogICJ1dWlkIjogImZvcmNlLXNob3ctb3NrQGJydWgubHRkIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "0p2v36bliaa6i85b4r0g38ih9fidn95dwmyhc3dygvynjzvvv56b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgdGhlIG9uLXNjcmVlbiBrZXlib2FyZCByZWdhcmRsZXNzIG9mIHdoZXRoZXIgdGhlIHRvdWNoIG1vZGUgaXMgZW5hYmxlZCIsCiAgIm5hbWUiOiAiRm9yY2UgU2hvdyBPU0siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2tpcmJ5a2V2aW5zb24vZm9yY2Utc2hvdy1vc2siLAogICJ1dWlkIjogImZvcmNlLXNob3ctb3NrQGJydWgubHRkIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
@@ -531,7 +534,7 @@
 , {"uuid": "fluoroom-gnome-top-bar@fluoroom.github.com", "name": "fluoroom's Top Bar", "pname": "fluorooms-top-bar", "description": "Persistent top bar based on Gnome's default style, with some modifications.\n\nThis extension makes black background and screen corners persistent and makes buttons round, but it will respect your current theme's fonts, margins and icons.", "link": "https://extensions.gnome.org/extension/4350/fluorooms-top-bar/", "shell_version_map": {"40": {"version": "4", "sha256": "1gm6ijr66nrs4r7cp2ksdy4sppf3vrg88lvf1gs993q6r894li89", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBlcnNpc3RlbnQgdG9wIGJhciBiYXNlZCBvbiBHbm9tZSdzIGRlZmF1bHQgc3R5bGUsIHdpdGggc29tZSBtb2RpZmljYXRpb25zLlxuXG5UaGlzIGV4dGVuc2lvbiBtYWtlcyBibGFjayBiYWNrZ3JvdW5kIGFuZCBzY3JlZW4gY29ybmVycyBwZXJzaXN0ZW50IGFuZCBtYWtlcyBidXR0b25zIHJvdW5kLCBidXQgaXQgd2lsbCByZXNwZWN0IHlvdXIgY3VycmVudCB0aGVtZSdzIGZvbnRzLCBtYXJnaW5zIGFuZCBpY29ucy4iLAogICJuYW1lIjogImZsdW9yb29tJ3MgVG9wIEJhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mbHVvcm9vbS9mbHVvcm9vbS1nbm9tZS10b3AtYmFyIiwKICAidXVpZCI6ICJmbHVvcm9vbS1nbm9tZS10b3AtYmFyQGZsdW9yb29tLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "mbpbat@prithvivishak.gmail.com", "name": "MacBook Battery Percentage Corrector", "pname": "macbook-battery-percentage-corrector", "description": "Corrects only the battery percentage shown in the panel aggregate menu.\nDoes not mess with UPower or other subsystems. Special thanks to @andenlol.", "link": "https://extensions.gnome.org/extension/4353/macbook-battery-percentage-corrector/", "shell_version_map": {"38": {"version": "3", "sha256": "1vaklxwql5n92iq47bw5p37libhgf5dr5lf6frvvmzwxwk6pha5y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcnJlY3RzIG9ubHkgdGhlIGJhdHRlcnkgcGVyY2VudGFnZSBzaG93biBpbiB0aGUgcGFuZWwgYWdncmVnYXRlIG1lbnUuXG5Eb2VzIG5vdCBtZXNzIHdpdGggVVBvd2VyIG9yIG90aGVyIHN1YnN5c3RlbXMuIFNwZWNpYWwgdGhhbmtzIHRvIEBhbmRlbmxvbC4iLAogICJuYW1lIjogIk1hY0Jvb2sgQmF0dGVyeSBQZXJjZW50YWdlIENvcnJlY3RvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvcHZwdWJsaWMvbWJwYmF0L3NyYy9tYXN0ZXIvIiwKICAidXVpZCI6ICJtYnBiYXRAcHJpdGh2aXZpc2hhay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1vaklxwql5n92iq47bw5p37libhgf5dr5lf6frvvmzwxwk6pha5y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcnJlY3RzIG9ubHkgdGhlIGJhdHRlcnkgcGVyY2VudGFnZSBzaG93biBpbiB0aGUgcGFuZWwgYWdncmVnYXRlIG1lbnUuXG5Eb2VzIG5vdCBtZXNzIHdpdGggVVBvd2VyIG9yIG90aGVyIHN1YnN5c3RlbXMuIFNwZWNpYWwgdGhhbmtzIHRvIEBhbmRlbmxvbC4iLAogICJuYW1lIjogIk1hY0Jvb2sgQmF0dGVyeSBQZXJjZW50YWdlIENvcnJlY3RvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvcHZwdWJsaWMvbWJwYmF0L3NyYy9tYXN0ZXIvIiwKICAidXVpZCI6ICJtYnBiYXRAcHJpdGh2aXZpc2hhay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1vaklxwql5n92iq47bw5p37libhgf5dr5lf6frvvmzwxwk6pha5y", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcnJlY3RzIG9ubHkgdGhlIGJhdHRlcnkgcGVyY2VudGFnZSBzaG93biBpbiB0aGUgcGFuZWwgYWdncmVnYXRlIG1lbnUuXG5Eb2VzIG5vdCBtZXNzIHdpdGggVVBvd2VyIG9yIG90aGVyIHN1YnN5c3RlbXMuIFNwZWNpYWwgdGhhbmtzIHRvIEBhbmRlbmxvbC4iLAogICJuYW1lIjogIk1hY0Jvb2sgQmF0dGVyeSBQZXJjZW50YWdlIENvcnJlY3RvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2JpdGJ1Y2tldC5vcmcvcHZwdWJsaWMvbWJwYmF0L3NyYy9tYXN0ZXIvIiwKICAidXVpZCI6ICJtYnBiYXRAcHJpdGh2aXZpc2hhay5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "top-bar-organizer@julian.gse.jsts.xyz", "name": "Top Bar Organizer", "pname": "top-bar-organizer", "description": "Organize the items of the top (menu)bar.\nThis extension required Gnome Shell version 40.\nOrganize the items by going into the extensions settings.\n\n!!! Please make sure you're fully on Gnome 40 / you're using a distribution, which is fully on Gnome 40, since otherwise this extension might not work correctly. This was the case for Manjaro Stable until recently and is probably the case for Ubuntu 21.04 right now. !!!", "link": "https://extensions.gnome.org/extension/4356/top-bar-organizer/", "shell_version_map": {"40": {"version": "3", "sha256": "121a8r063ifv4lv5s07pglxj4h90n3lp6f0jyw4lnbg38v0nqv28", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHRoZSBpdGVtcyBvZiB0aGUgdG9wIChtZW51KWJhci5cblRoaXMgZXh0ZW5zaW9uIHJlcXVpcmVkIEdub21lIFNoZWxsIHZlcnNpb24gNDAuXG5Pcmdhbml6ZSB0aGUgaXRlbXMgYnkgZ29pbmcgaW50byB0aGUgZXh0ZW5zaW9ucyBzZXR0aW5ncy5cblxuISEhIFBsZWFzZSBtYWtlIHN1cmUgeW91J3JlIGZ1bGx5IG9uIEdub21lIDQwIC8geW91J3JlIHVzaW5nIGEgZGlzdHJpYnV0aW9uLCB3aGljaCBpcyBmdWxseSBvbiBHbm9tZSA0MCwgc2luY2Ugb3RoZXJ3aXNlIHRoaXMgZXh0ZW5zaW9uIG1pZ2h0IG5vdCB3b3JrIGNvcnJlY3RseS4gVGhpcyB3YXMgdGhlIGNhc2UgZm9yIE1hbmphcm8gU3RhYmxlIHVudGlsIHJlY2VudGx5IGFuZCBpcyBwcm9iYWJseSB0aGUgY2FzZSBmb3IgVWJ1bnR1IDIxLjA0IHJpZ2h0IG5vdy4gISEhIiwKICAibmFtZSI6ICJUb3AgQmFyIE9yZ2FuaXplciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy50b3AtYmFyLW9yZ2FuaXplciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmdub21lLm9yZy9qdWxpYW5zY2hhY2hlci90b3AtYmFyLW9yZ2FuaXplciIsCiAgInV1aWQiOiAidG9wLWJhci1vcmdhbml6ZXJAanVsaWFuLmdzZS5qc3RzLnh5eiIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "fullscreen-avoider@noobsai.github.com", "name": "Fullscreen Avoider", "pname": "fullscreen-avoider", "description": "Moves the top panel to the secondary monitor if the primary is in fullscreen", "link": "https://extensions.gnome.org/extension/4362/fullscreen-avoider/", "shell_version_map": {"38": {"version": "4", "sha256": "10vm28p2xpvwhzyjw1yfpgsbhahg1w673n73kq9ndx5vlnf9fji9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWF2b2lkZXJAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "5", "sha256": "0j757f5zlam7713hnkg8xx5k24z9a0kjqalxnkipvy0kqak0416s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS9mdWxsc2NyZWVuLWF2b2lkZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tYXZvaWRlckBub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "0j757f5zlam7713hnkg8xx5k24z9a0kjqalxnkipvy0kqak0416s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS9mdWxsc2NyZWVuLWF2b2lkZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tYXZvaWRlckBub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "fullscreen-avoider@noobsai.github.com", "name": "Fullscreen Avoider", "pname": "fullscreen-avoider", "description": "Moves the top panel to the secondary monitor if the primary is in fullscreen", "link": "https://extensions.gnome.org/extension/4362/fullscreen-avoider/", "shell_version_map": {"38": {"version": "4", "sha256": "10vm28p2xpvwhzyjw1yfpgsbhahg1w673n73kq9ndx5vlnf9fji9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL05vb2JzYWkvZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAidXVpZCI6ICJmdWxsc2NyZWVuLWF2b2lkZXJAbm9vYnNhaS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "6", "sha256": "04vlmrwlv58ps3v0flc2m8l18q52kz3yyk6yh9i543aiknprm40x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS9mdWxsc2NyZWVuLWF2b2lkZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tYXZvaWRlckBub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}, "41": {"version": "6", "sha256": "04vlmrwlv58ps3v0flc2m8l18q52kz3yyk6yh9i543aiknprm40x", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmVzIHRoZSB0b3AgcGFuZWwgdG8gdGhlIHNlY29uZGFyeSBtb25pdG9yIGlmIHRoZSBwcmltYXJ5IGlzIGluIGZ1bGxzY3JlZW4iLAogICJleHRlbnNpb24taWQiOiAiZnVsbHNjcmVlbi1hdm9pZGVyIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucyIsCiAgIm5hbWUiOiAiRnVsbHNjcmVlbiBBdm9pZGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZ1bGxzY3JlZW4tYXZvaWRlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vTm9vYnNhaS9mdWxsc2NyZWVuLWF2b2lkZXIiLAogICJ1dWlkIjogImZ1bGxzY3JlZW4tYXZvaWRlckBub29ic2FpLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNgp9"}}}
 , {"uuid": "shell-isw@zamraky.cz", "name": "MSI Fan Control", "pname": "msi-fan-control", "description": "Use isw to change MSI laptop fan settings", "link": "https://extensions.gnome.org/extension/4363/msi-fan-control/", "shell_version_map": {"38": {"version": "1", "sha256": "0pl9dxwkw47r4c0f5sxjhh8bxl82r0sjlwsji7pwypkb6m0hh342", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVzZSBpc3cgdG8gY2hhbmdlIE1TSSBsYXB0b3AgZmFuIHNldHRpbmdzIiwKICAibmFtZSI6ICJNU0kgRmFuIENvbnRyb2wiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAic2hlbGwtaXN3QHphbXJha3kuY3oiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "vertical-window-list@student.gitlab.com", "name": "Vertical Window List", "pname": "vertical-window-list", "description": "Displays opened windows in vertical panel with productivity perks\n\n- left click to open favorites/activate window\n- right click to close\n- middle click to rename\n- drag-and-drop to re-arrange\n- Alt-Tab to cycle\n- adjust panel width, transparency and icon size in extension settings", "link": "https://extensions.gnome.org/extension/4369/vertical-window-list/", "shell_version_map": {"40": {"version": "7", "sha256": "1gakw5c0gjygj61h9lhd3s7vg14vry055qnxrrdvm6vaingkzqhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "1gakw5c0gjygj61h9lhd3s7vg14vry055qnxrrdvm6vaingkzqhr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIG9wZW5lZCB3aW5kb3dzIGluIHZlcnRpY2FsIHBhbmVsIHdpdGggcHJvZHVjdGl2aXR5IHBlcmtzXG5cbi0gbGVmdCBjbGljayB0byBvcGVuIGZhdm9yaXRlcy9hY3RpdmF0ZSB3aW5kb3dcbi0gcmlnaHQgY2xpY2sgdG8gY2xvc2Vcbi0gbWlkZGxlIGNsaWNrIHRvIHJlbmFtZVxuLSBkcmFnLWFuZC1kcm9wIHRvIHJlLWFycmFuZ2Vcbi0gQWx0LVRhYiB0byBjeWNsZVxuLSBhZGp1c3QgcGFuZWwgd2lkdGgsIHRyYW5zcGFyZW5jeSBhbmQgaWNvbiBzaXplIGluIGV4dGVuc2lvbiBzZXR0aW5ncyIsCiAgIm5hbWUiOiAiVmVydGljYWwgV2luZG93IExpc3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3N0dWRlbnQvdmVydGljYWwtd2luZG93LWxpc3QiLAogICJ1dWlkIjogInZlcnRpY2FsLXdpbmRvdy1saXN0QHN0dWRlbnQuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "ShutdownTimer@deminder", "name": "Shutdown Timer", "pname": "shutdowntimer", "description": "Shutdown/reboot/suspend the device after a specific time or wake with a rtc alarm.\n\nThe screen saver will not interrupt the timer. A privileged control script may be installed to control shutdown and rtcwake as user. Additionally, a check command may be configured before shutdown.", "link": "https://extensions.gnome.org/extension/4372/shutdowntimer/", "shell_version_map": {"38": {"version": "19", "sha256": "1lgq1gmwqz8a55bqblg973ypw45a9zr3zgn7rrarcfgzx3ncj332", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "40": {"version": "19", "sha256": "1lgq1gmwqz8a55bqblg973ypw45a9zr3zgn7rrarcfgzx3ncj332", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "1lgq1gmwqz8a55bqblg973ypw45a9zr3zgn7rrarcfgzx3ncj332", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNodXRkb3duL3JlYm9vdC9zdXNwZW5kIHRoZSBkZXZpY2UgYWZ0ZXIgYSBzcGVjaWZpYyB0aW1lIG9yIHdha2Ugd2l0aCBhIHJ0YyBhbGFybS5cblxuVGhlIHNjcmVlbiBzYXZlciB3aWxsIG5vdCBpbnRlcnJ1cHQgdGhlIHRpbWVyLiBBIHByaXZpbGVnZWQgY29udHJvbCBzY3JpcHQgbWF5IGJlIGluc3RhbGxlZCB0byBjb250cm9sIHNodXRkb3duIGFuZCBydGN3YWtlIGFzIHVzZXIuIEFkZGl0aW9uYWxseSwgYSBjaGVjayBjb21tYW5kIG1heSBiZSBjb25maWd1cmVkIGJlZm9yZSBzaHV0ZG93bi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJTaHV0ZG93blRpbWVyIiwKICAibmFtZSI6ICJTaHV0ZG93biBUaW1lciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zaHV0ZG93bnRpbWVyLWRlbWluZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9EZW1pbmRlci9TaHV0ZG93blRpbWVyIiwKICAidXVpZCI6ICJTaHV0ZG93blRpbWVyQGRlbWluZGVyIiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
@@ -547,11 +550,11 @@
 , {"uuid": "print-website@ermeso.com", "name": "Print Website", "pname": "print-website", "description": "A extension for print websites.", "link": "https://extensions.gnome.org/extension/4404/print-website/", "shell_version_map": {"40": {"version": "9", "sha256": "1cg1awvfyhhc7ri7vppsjr28c1zwgw9rasyv1jcclgxr558n3n6w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZXh0ZW5zaW9uIGZvciBwcmludCB3ZWJzaXRlcy4iLAogICJuYW1lIjogIlByaW50IFdlYnNpdGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZXJtZXNvbnNhbXBhaW8vZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXByaW50LXdlYnNpdGUiLAogICJ1dWlkIjogInByaW50LXdlYnNpdGVAZXJtZXNvLmNvbSIsCiAgInZlcnNpb24iOiA5Cn0="}}}
 , {"uuid": "replaceActivitiesText@pratap.fastmail.fm", "name": "Replace Activities Text", "pname": "replace-activities-text", "description": "A Simple Extension to Change 'Activities' Label with Logo and Text.\nYou can Keep Either\n1. Logo or\n2. Text or\n3. Both or\n4. None at all", "link": "https://extensions.gnome.org/extension/4405/replace-activities-text/", "shell_version_map": {"38": {"version": "8", "sha256": "04adx4043d3ni510h44pi3gr0k15a4n0zwr4k5fxisr4yjl1510w", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9BY3Rpdml0aWVzVGV4dCIsCiAgInV1aWQiOiAicmVwbGFjZUFjdGl2aXRpZXNUZXh0QHByYXRhcC5mYXN0bWFpbC5mbSIsCiAgInZlcnNpb24iOiA4Cn0="}, "40": {"version": "10", "sha256": "0fkpphd6ly5n7fybrla1a31sqg10cdll44ilz1vc1achphmbxlk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0FjdGl2aXRpZXNUZXh0IiwKICAidXVpZCI6ICJyZXBsYWNlQWN0aXZpdGllc1RleHRAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0fkpphd6ly5n7fybrla1a31sqg10cdll44ilz1vc1achphmbxlk6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgU2ltcGxlIEV4dGVuc2lvbiB0byBDaGFuZ2UgJ0FjdGl2aXRpZXMnIExhYmVsIHdpdGggTG9nbyBhbmQgVGV4dC5cbllvdSBjYW4gS2VlcCBFaXRoZXJcbjEuIExvZ28gb3JcbjIuIFRleHQgb3JcbjMuIEJvdGggb3JcbjQuIE5vbmUgYXQgYWxsIiwKICAibmFtZSI6ICJSZXBsYWNlIEFjdGl2aXRpZXMgVGV4dCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vUFJBVEFQLUtVTUFSL0FjdGl2aXRpZXNUZXh0IiwKICAidXVpZCI6ICJyZXBsYWNlQWN0aXZpdGllc1RleHRAcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
 , {"uuid": "appMenuIcon@pratap.fastmail.fm", "name": "Colored Application Menu Icon", "pname": "app-menu-icon-remove-symbolic", "description": "Remove Symbolic Icons and Saturation Effect for App Menu Icon", "link": "https://extensions.gnome.org/extension/4408/app-menu-icon-remove-symbolic/", "shell_version_map": {"38": {"version": "2", "sha256": "1ggj4c7knbsjwg7n1g7sqjz188ivlihsq8p2a8jd71iw49b917cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwTWVudUljb25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "40": {"version": "2", "sha256": "1ggj4c7knbsjwg7n1g7sqjz188ivlihsq8p2a8jd71iw49b917cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwTWVudUljb25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "1ggj4c7knbsjwg7n1g7sqjz188ivlihsq8p2a8jd71iw49b917cj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJlbW92ZSBTeW1ib2xpYyBJY29ucyBhbmQgU2F0dXJhdGlvbiBFZmZlY3QgZm9yIEFwcCBNZW51IEljb24iLAogICJuYW1lIjogIkNvbG9yZWQgQXBwbGljYXRpb24gTWVudSBJY29uIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYXBwTWVudUljb25AcHJhdGFwLmZhc3RtYWlsLmZtIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "gnome-trash@b00f.github.io", "name": "Gnome Trash", "pname": "gnome-trash", "description": "A gnome shell extension to manage your home trash. You can manage trash items from the panel and open or empty the trash.", "link": "https://extensions.gnome.org/extension/4410/gnome-trash/", "shell_version_map": {"38": {"version": "3", "sha256": "03pyala1i21izg5rl4qqh5bxk36fp8d52bs9ggrik2kav420xhhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAidXVpZCI6ICJnbm9tZS10cmFzaEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "5", "sha256": "1z1k9908ajm7r52v1x4i633q2lk8w4m967h078lbdd5i8dzvgybb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "1z1k9908ajm7r52v1x4i633q2lk8w4m967h078lbdd5i8dzvgybb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
+, {"uuid": "gnome-trash@b00f.github.io", "name": "Gnome Trash", "pname": "gnome-trash", "description": "A gnome shell extension to manage your home trash. You can manage trash items from the panel and open or empty the trash.", "link": "https://extensions.gnome.org/extension/4410/gnome-trash/", "shell_version_map": {"38": {"version": "3", "sha256": "03pyala1i21izg5rl4qqh5bxk36fp8d52bs9ggrik2kav420xhhk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9iMDBmL2dub21lLXRyYXNoIiwKICAidXVpZCI6ICJnbm9tZS10cmFzaEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "6", "sha256": "0hkpkpxd1xpg0rsvf007wzc6s6sx1gsycl6hg69fa5bqf451r0db", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}, "41": {"version": "6", "sha256": "0hkpkpxd1xpg0rsvf007wzc6s6sx1gsycl6hg69fa5bqf451r0db", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGhvbWUgdHJhc2guIFlvdSBjYW4gbWFuYWdlIHRyYXNoIGl0ZW1zIGZyb20gdGhlIHBhbmVsIGFuZCBvcGVuIG9yIGVtcHR5IHRoZSB0cmFzaC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS10cmFzaCIsCiAgIm5hbWUiOiAiR25vbWUgVHJhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtdHJhc2giLAogICJ1dWlkIjogImdub21lLXRyYXNoQGIwMGYuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDYKfQ=="}}}
 , {"uuid": "advanced-alt-tab@G-dH.github.com", "name": "AATWS - Advanced Alt-Tab Window Switcher", "pname": "advanced-alttab-window-switcher", "description": "Highly customizable replacement for the Alt-Tab window/app switchers that offers 'type to search' mode, various filtering and sorting options, workspace and monitor navigation, VIM navigation hotkeys, window control and an app launcher.\nAATWS is compatible with Custom Hot Corners - Extended extension, allows to configure any mouse button and scroll wheel and can be used as a mouse controlled dock.\n\nNote that GNOME has 3 built-in window switcher popups and this extension replaces all of them. The first one is grouping windows by applications and is used as default in vanilla GNOME distributions. The second one offers window list and the third one windows of currently focused application. You can set keyboard shortcuts for all the switchers in the Gnome Settings.\n\nFollow the link below for more information and bug reports.\n\nKeywords: alttab, search, find, windows, popup delay, applications, apps, dock, monitor, thumbnail, preview, move windows, launch app, switch windows", "link": "https://extensions.gnome.org/extension/4412/advanced-alttab-window-switcher/", "shell_version_map": {"38": {"version": "10", "sha256": "0jxjhyhp2yb5cia2rgz3cmdl0j6l7qcv0xpq6kk783q6y59x5g07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQtVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIFZJTSBuYXZpZ2F0aW9uIGhvdGtleXMsIHdpbmRvdyBjb250cm9sIGFuZCBhbiBhcHAgbGF1bmNoZXIuXG5BQVRXUyBpcyBjb21wYXRpYmxlIHdpdGggQ3VzdG9tIEhvdCBDb3JuZXJzIC0gRXh0ZW5kZWQgZXh0ZW5zaW9uLCBhbGxvd3MgdG8gY29uZmlndXJlIGFueSBtb3VzZSBidXR0b24gYW5kIHNjcm9sbCB3aGVlbCBhbmQgY2FuIGJlIHVzZWQgYXMgYSBtb3VzZSBjb250cm9sbGVkIGRvY2suXG5cbk5vdGUgdGhhdCBHTk9NRSBoYXMgMyBidWlsdC1pbiB3aW5kb3cgc3dpdGNoZXIgcG9wdXBzIGFuZCB0aGlzIGV4dGVuc2lvbiByZXBsYWNlcyBhbGwgb2YgdGhlbS4gVGhlIGZpcnN0IG9uZSBpcyBncm91cGluZyB3aW5kb3dzIGJ5IGFwcGxpY2F0aW9ucyBhbmQgaXMgdXNlZCBhcyBkZWZhdWx0IGluIHZhbmlsbGEgR05PTUUgZGlzdHJpYnV0aW9ucy4gVGhlIHNlY29uZCBvbmUgb2ZmZXJzIHdpbmRvdyBsaXN0IGFuZCB0aGUgdGhpcmQgb25lIHdpbmRvd3Mgb2YgY3VycmVudGx5IGZvY3VzZWQgYXBwbGljYXRpb24uIFlvdSBjYW4gc2V0IGtleWJvYXJkIHNob3J0Y3V0cyBmb3IgYWxsIHRoZSBzd2l0Y2hlcnMgaW4gdGhlIEdub21lIFNldHRpbmdzLlxuXG5Gb2xsb3cgdGhlIGxpbmsgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGJ1ZyByZXBvcnRzLlxuXG5LZXl3b3JkczogYWx0dGFiLCBzZWFyY2gsIGZpbmQsIHdpbmRvd3MsIHBvcHVwIGRlbGF5LCBhcHBsaWNhdGlvbnMsIGFwcHMsIGRvY2ssIG1vbml0b3IsIHRodW1ibmFpbCwgcHJldmlldywgbW92ZSB3aW5kb3dzLCBsYXVuY2ggYXBwLCBzd2l0Y2ggd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2FkdmFuY2VkLWFsdHRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJ1dWlkIjogImFkdmFuY2VkLWFsdC10YWJARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "0jxjhyhp2yb5cia2rgz3cmdl0j6l7qcv0xpq6kk783q6y59x5g07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQtVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIFZJTSBuYXZpZ2F0aW9uIGhvdGtleXMsIHdpbmRvdyBjb250cm9sIGFuZCBhbiBhcHAgbGF1bmNoZXIuXG5BQVRXUyBpcyBjb21wYXRpYmxlIHdpdGggQ3VzdG9tIEhvdCBDb3JuZXJzIC0gRXh0ZW5kZWQgZXh0ZW5zaW9uLCBhbGxvd3MgdG8gY29uZmlndXJlIGFueSBtb3VzZSBidXR0b24gYW5kIHNjcm9sbCB3aGVlbCBhbmQgY2FuIGJlIHVzZWQgYXMgYSBtb3VzZSBjb250cm9sbGVkIGRvY2suXG5cbk5vdGUgdGhhdCBHTk9NRSBoYXMgMyBidWlsdC1pbiB3aW5kb3cgc3dpdGNoZXIgcG9wdXBzIGFuZCB0aGlzIGV4dGVuc2lvbiByZXBsYWNlcyBhbGwgb2YgdGhlbS4gVGhlIGZpcnN0IG9uZSBpcyBncm91cGluZyB3aW5kb3dzIGJ5IGFwcGxpY2F0aW9ucyBhbmQgaXMgdXNlZCBhcyBkZWZhdWx0IGluIHZhbmlsbGEgR05PTUUgZGlzdHJpYnV0aW9ucy4gVGhlIHNlY29uZCBvbmUgb2ZmZXJzIHdpbmRvdyBsaXN0IGFuZCB0aGUgdGhpcmQgb25lIHdpbmRvd3Mgb2YgY3VycmVudGx5IGZvY3VzZWQgYXBwbGljYXRpb24uIFlvdSBjYW4gc2V0IGtleWJvYXJkIHNob3J0Y3V0cyBmb3IgYWxsIHRoZSBzd2l0Y2hlcnMgaW4gdGhlIEdub21lIFNldHRpbmdzLlxuXG5Gb2xsb3cgdGhlIGxpbmsgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGJ1ZyByZXBvcnRzLlxuXG5LZXl3b3JkczogYWx0dGFiLCBzZWFyY2gsIGZpbmQsIHdpbmRvd3MsIHBvcHVwIGRlbGF5LCBhcHBsaWNhdGlvbnMsIGFwcHMsIGRvY2ssIG1vbml0b3IsIHRodW1ibmFpbCwgcHJldmlldywgbW92ZSB3aW5kb3dzLCBsYXVuY2ggYXBwLCBzd2l0Y2ggd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2FkdmFuY2VkLWFsdHRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJ1dWlkIjogImFkdmFuY2VkLWFsdC10YWJARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0jxjhyhp2yb5cia2rgz3cmdl0j6l7qcv0xpq6kk783q6y59x5g07", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hseSBjdXN0b21pemFibGUgcmVwbGFjZW1lbnQgZm9yIHRoZSBBbHQtVGFiIHdpbmRvdy9hcHAgc3dpdGNoZXJzIHRoYXQgb2ZmZXJzICd0eXBlIHRvIHNlYXJjaCcgbW9kZSwgdmFyaW91cyBmaWx0ZXJpbmcgYW5kIHNvcnRpbmcgb3B0aW9ucywgd29ya3NwYWNlIGFuZCBtb25pdG9yIG5hdmlnYXRpb24sIFZJTSBuYXZpZ2F0aW9uIGhvdGtleXMsIHdpbmRvdyBjb250cm9sIGFuZCBhbiBhcHAgbGF1bmNoZXIuXG5BQVRXUyBpcyBjb21wYXRpYmxlIHdpdGggQ3VzdG9tIEhvdCBDb3JuZXJzIC0gRXh0ZW5kZWQgZXh0ZW5zaW9uLCBhbGxvd3MgdG8gY29uZmlndXJlIGFueSBtb3VzZSBidXR0b24gYW5kIHNjcm9sbCB3aGVlbCBhbmQgY2FuIGJlIHVzZWQgYXMgYSBtb3VzZSBjb250cm9sbGVkIGRvY2suXG5cbk5vdGUgdGhhdCBHTk9NRSBoYXMgMyBidWlsdC1pbiB3aW5kb3cgc3dpdGNoZXIgcG9wdXBzIGFuZCB0aGlzIGV4dGVuc2lvbiByZXBsYWNlcyBhbGwgb2YgdGhlbS4gVGhlIGZpcnN0IG9uZSBpcyBncm91cGluZyB3aW5kb3dzIGJ5IGFwcGxpY2F0aW9ucyBhbmQgaXMgdXNlZCBhcyBkZWZhdWx0IGluIHZhbmlsbGEgR05PTUUgZGlzdHJpYnV0aW9ucy4gVGhlIHNlY29uZCBvbmUgb2ZmZXJzIHdpbmRvdyBsaXN0IGFuZCB0aGUgdGhpcmQgb25lIHdpbmRvd3Mgb2YgY3VycmVudGx5IGZvY3VzZWQgYXBwbGljYXRpb24uIFlvdSBjYW4gc2V0IGtleWJvYXJkIHNob3J0Y3V0cyBmb3IgYWxsIHRoZSBzd2l0Y2hlcnMgaW4gdGhlIEdub21lIFNldHRpbmdzLlxuXG5Gb2xsb3cgdGhlIGxpbmsgYmVsb3cgZm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGJ1ZyByZXBvcnRzLlxuXG5LZXl3b3JkczogYWx0dGFiLCBzZWFyY2gsIGZpbmQsIHdpbmRvd3MsIHBvcHVwIGRlbGF5LCBhcHBsaWNhdGlvbnMsIGFwcHMsIGRvY2ssIG1vbml0b3IsIHRodW1ibmFpbCwgcHJldmlldywgbW92ZSB3aW5kb3dzLCBsYXVuY2ggYXBwLCBzd2l0Y2ggd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogImFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAibmFtZSI6ICJBQVRXUyAtIEFkdmFuY2VkIEFsdC1UYWIgV2luZG93IFN3aXRjaGVyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFkdmFuY2VkLWFsdC10YWItd2luZG93LXN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL2FkdmFuY2VkLWFsdHRhYi13aW5kb3ctc3dpdGNoZXIiLAogICJ1dWlkIjogImFkdmFuY2VkLWFsdC10YWJARy1kSC5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
-, {"uuid": "improvedosk@nick-shmyrev.dev", "name": "Improved OSK", "pname": "improved-osk", "description": "Makes Gnome's onscreen keyboard more useable with e.g. more keys.\nThis extension is a fork of https://extensions.gnome.org/extension/3330/improved-onscreen-keyboard/ by SebastianLuebke.", "link": "https://extensions.gnome.org/extension/4413/improved-osk/", "shell_version_map": {"38": {"version": "5", "sha256": "0kwcrks0g3f4f4hxy3h6jb0gpbqrbzg6l53cdcwljrq3q0q93r2l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA1Cn0="}, "40": {"version": "5", "sha256": "0kwcrks0g3f4f4hxy3h6jb0gpbqrbzg6l53cdcwljrq3q0q93r2l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA1Cn0="}, "41": {"version": "5", "sha256": "0kwcrks0g3f4f4hxy3h6jb0gpbqrbzg6l53cdcwljrq3q0q93r2l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "improvedosk@nick-shmyrev.dev", "name": "Improved OSK", "pname": "improved-osk", "description": "Makes Gnome's onscreen keyboard more useable with e.g. more keys.\nThis extension is a fork of https://extensions.gnome.org/extension/3330/improved-onscreen-keyboard/ by SebastianLuebke.", "link": "https://extensions.gnome.org/extension/4413/improved-osk/", "shell_version_map": {"38": {"version": "7", "sha256": "06niqzicxp8i9ivznblf2qgwl924h77ld3cz8qgl4x8hl0bb6q0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "06niqzicxp8i9ivznblf2qgwl924h77ld3cz8qgl4x8hl0bb6q0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA3Cn0="}, "41": {"version": "7", "sha256": "06niqzicxp8i9ivznblf2qgwl924h77ld3cz8qgl4x8hl0bb6q0l", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIEdub21lJ3Mgb25zY3JlZW4ga2V5Ym9hcmQgbW9yZSB1c2VhYmxlIHdpdGggZS5nLiBtb3JlIGtleXMuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMzMzMC9pbXByb3ZlZC1vbnNjcmVlbi1rZXlib2FyZC8gYnkgU2ViYXN0aWFuTHVlYmtlLiIsCiAgIm5hbWUiOiAiSW1wcm92ZWQgT1NLIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9uaWNrLXNobXlyZXYvaW1wcm92ZWQtb3NrLWdub21lLWV4dCIsCiAgInV1aWQiOiAiaW1wcm92ZWRvc2tAbmljay1zaG15cmV2LmRldiIsCiAgInZlcnNpb24iOiA3Cn0="}}}
 , {"uuid": "fedora-update@pepe386", "name": "Fedora Linux Updates Indicator", "pname": "fedora-linux-updates-indicator", "description": "Update indicator for Fedora Linux and GNOME Shell.", "link": "https://extensions.gnome.org/extension/4415/fedora-linux-updates-indicator/", "shell_version_map": {"40": {"version": "1", "sha256": "0sz69rs6z1fybva20xs8587bs4xaflb4frd14d729lqq5h1m8b2p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVwZGF0ZSBpbmRpY2F0b3IgZm9yIEZlZG9yYSBMaW51eCBhbmQgR05PTUUgU2hlbGwuIiwKICAibmFtZSI6ICJGZWRvcmEgTGludXggVXBkYXRlcyBJbmRpY2F0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcGVwZTM4Ni9mZWRvcmEtdXBkYXRlIiwKICAidXVpZCI6ICJmZWRvcmEtdXBkYXRlQHBlcGUzODYiLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "readingstrip@lupantano.gihthub", "name": "Reading Strip", "pname": "reading-strip", "description": "It is a extension for Gnome-Shell with an equivalent function to a reading guide on the computer, that's really useful for people with dyslexia.", "link": "https://extensions.gnome.org/extension/4419/reading-strip/", "shell_version_map": {"40": {"version": "9", "sha256": "0r6ccgha8gqdqyy9z8sqxgpm1prbxfbh7cc8iyfhba5g40b4lh9g", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbHVwYW50YW5vL3JlYWRpbmdzdHJpcCIsCiAgInV1aWQiOiAicmVhZGluZ3N0cmlwQGx1cGFudGFuby5naWh0aHViIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"uuid": "readingstrip@lupantano.gihthub", "name": "Reading Strip", "pname": "reading-strip", "description": "It is a extension for Gnome-Shell with an equivalent function to a reading guide on the computer, that's really useful for people with dyslexia.", "link": "https://extensions.gnome.org/extension/4419/reading-strip/", "shell_version_map": {"40": {"version": "12", "sha256": "1xqiainrvipkw2yrzihvbghbshrw0bcxx2wc3wqaxxfa04ziiv7s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "1xqiainrvipkw2yrzihvbghbshrw0bcxx2wc3wqaxxfa04ziiv7s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkl0IGlzIGEgZXh0ZW5zaW9uIGZvciBHbm9tZS1TaGVsbCB3aXRoIGFuIGVxdWl2YWxlbnQgZnVuY3Rpb24gdG8gYSByZWFkaW5nIGd1aWRlIG9uIHRoZSBjb21wdXRlciwgdGhhdCdzIHJlYWxseSB1c2VmdWwgZm9yIHBlb3BsZSB3aXRoIGR5c2xleGlhLiIsCiAgIm5hbWUiOiAiUmVhZGluZyBTdHJpcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yZWFkaW5nc3RyaXAiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x1cGFudGFuby9yZWFkaW5nc3RyaXAiLAogICJ1dWlkIjogInJlYWRpbmdzdHJpcEBsdXBhbnRhbm8uZ2lodGh1YiIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "gnome-clipboard@b00f.github.io", "name": "Gnome Clipboard", "pname": "gnome-clipboard", "description": "A gnome shell extension to manage your clipboard.", "link": "https://extensions.gnome.org/extension/4422/gnome-clipboard/", "shell_version_map": {"38": {"version": "8", "sha256": "1zgymry549c6pmj1c0f6gvpyyfj0z93fwbhhxa67fx3nf95gb3kv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2IwMGYvZ25vbWUtY2xpcGJvYXJkIiwKICAidXVpZCI6ICJnbm9tZS1jbGlwYm9hcmRAYjAwZi5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "10", "sha256": "193n38mi38pr07cch1ma5rpkdkk6jkf37m3yfrhmndcqb6brm6i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYjAwZi9nbm9tZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogImdub21lLWNsaXBib2FyZEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "193n38mi38pr07cch1ma5rpkdkk6jkf37m3yfrhmndcqb6brm6i0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgZ25vbWUgc2hlbGwgZXh0ZW5zaW9uIHRvIG1hbmFnZSB5b3VyIGNsaXBib2FyZC4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJnbm9tZS1jbGlwYm9hcmQiLAogICJuYW1lIjogIkdub21lIENsaXBib2FyZCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYjAwZi9nbm9tZS1jbGlwYm9hcmQiLAogICJ1dWlkIjogImdub21lLWNsaXBib2FyZEBiMDBmLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
 , {"uuid": "thanatophobia@yatx.one", "name": "Thanatophobia", "pname": "thanatophobia", "description": "Displays your age in real time. \n\nGreat source of motivation according to terror management theory!", "link": "https://extensions.gnome.org/extension/4425/thanatophobia/", "shell_version_map": {"40": {"version": "7", "sha256": "0rk4yf62pv2mqfzmy56p5c57zjdml1953kycs78305c005ckcycc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aW9uc3ZlcnJ5ZnVsL3RoYW5hdG9waG9iaWEiLAogICJ1dWlkIjogInRoYW5hdG9waG9iaWFAeWF0eC5vbmUiLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "0rk4yf62pv2mqfzmy56p5c57zjdml1953kycs78305c005ckcycc", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXlzIHlvdXIgYWdlIGluIHJlYWwgdGltZS4gXG5cbkdyZWF0IHNvdXJjZSBvZiBtb3RpdmF0aW9uIGFjY29yZGluZyB0byB0ZXJyb3IgbWFuYWdlbWVudCB0aGVvcnkhIiwKICAibmFtZSI6ICJUaGFuYXRvcGhvYmlhIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS90aW9uc3ZlcnJ5ZnVsL3RoYW5hdG9waG9iaWEiLAogICJ1dWlkIjogInRoYW5hdG9waG9iaWFAeWF0eC5vbmUiLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "typewriter-kb@zzzheka97.gmail.com", "name": "Typewriter Keyboard", "pname": "typewriter-keyboard", "description": "Add a typewriter effect to your keyboard.\n \nThis extension is based on typewriter-kb application \n(https://github.com/ZhekehZ/linux-typewriter-kb), which \nis required to run the extension, but is not part of it.\n \n-------------------------------------------\nIcons made by Freepik from www.flaticon.com", "link": "https://extensions.gnome.org/extension/4427/typewriter-keyboard/", "shell_version_map": {"38": {"version": "2", "sha256": "1zmlmijkm6sgpp00qbrwnxmd4q5dfh07g9w9nynq3ciwxs9fjnai", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHR5cGV3cml0ZXIgZWZmZWN0IHRvIHlvdXIga2V5Ym9hcmQuXG4gXG5UaGlzIGV4dGVuc2lvbiBpcyBiYXNlZCBvbiB0eXBld3JpdGVyLWtiIGFwcGxpY2F0aW9uIFxuKGh0dHBzOi8vZ2l0aHViLmNvbS9aaGVrZWhaL2xpbnV4LXR5cGV3cml0ZXIta2IpLCB3aGljaCBcbmlzIHJlcXVpcmVkIHRvIHJ1biB0aGUgZXh0ZW5zaW9uLCBidXQgaXMgbm90IHBhcnQgb2YgaXQuXG4gXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5JY29ucyBtYWRlIGJ5IEZyZWVwaWsgZnJvbSB3d3cuZmxhdGljb24uY29tIiwKICAibmFtZSI6ICJUeXBld3JpdGVyIEtleWJvYXJkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInR5cGV3cml0ZXIta2JAenp6aGVrYTk3LmdtYWlsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
@@ -559,17 +562,17 @@
 , {"uuid": "wizlight@iabhilashjoshi", "name": "Wiz Light", "pname": "wiz-light", "description": "Control Wiz Connected Lights Through Gnome Shell\n\nRequirements:\n        #Wiz enabled smart bulb\n        #python3  (To install  use command \"sudo apt install python3\")\n        #pywizlight (To install use command \"pip3 install pywizlight\")\n\nTo Use go to the location where extension is installed (usually stored in \"~/.local/share/gnome-shell/extensions\") and change IP address in extension.js file to your smart bulb's IP address and then extension should work.", "link": "https://extensions.gnome.org/extension/4436/wiz-light/", "shell_version_map": {"38": {"version": "4", "sha256": "0pby93ivqz2ymdskyjp6ajc2c588dbpq7vjj7b7d8mc03hvkap5z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgV2l6IENvbm5lY3RlZCBMaWdodHMgVGhyb3VnaCBHbm9tZSBTaGVsbFxuXG5SZXF1aXJlbWVudHM6XG4gICAgICAgICNXaXogZW5hYmxlZCBzbWFydCBidWxiXG4gICAgICAgICNweXRob24zICAoVG8gaW5zdGFsbCAgdXNlIGNvbW1hbmQgXCJzdWRvIGFwdCBpbnN0YWxsIHB5dGhvbjNcIilcbiAgICAgICAgI3B5d2l6bGlnaHQgKFRvIGluc3RhbGwgdXNlIGNvbW1hbmQgXCJwaXAzIGluc3RhbGwgcHl3aXpsaWdodFwiKVxuXG5UbyBVc2UgZ28gdG8gdGhlIGxvY2F0aW9uIHdoZXJlIGV4dGVuc2lvbiBpcyBpbnN0YWxsZWQgKHVzdWFsbHkgc3RvcmVkIGluIFwifi8ubG9jYWwvc2hhcmUvZ25vbWUtc2hlbGwvZXh0ZW5zaW9uc1wiKSBhbmQgY2hhbmdlIElQIGFkZHJlc3MgaW4gZXh0ZW5zaW9uLmpzIGZpbGUgdG8geW91ciBzbWFydCBidWxiJ3MgSVAgYWRkcmVzcyBhbmQgdGhlbiBleHRlbnNpb24gc2hvdWxkIHdvcmsuIiwKICAibmFtZSI6ICJXaXogTGlnaHQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbHBoYXNwZWFyL1dpei1MaWdodCIsCiAgInV1aWQiOiAid2l6bGlnaHRAaWFiaGlsYXNoam9zaGkiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "gSnap@micahosborne", "name": "gSnap", "pname": "gsnap", "description": "Organize windows in customizable snap zones like FancyZones on windows.", "link": "https://extensions.gnome.org/extension/4442/gsnap/", "shell_version_map": {"40": {"version": "6", "sha256": "1sm3kmc4i5m9jimly95bf39p5vjl2rnavkkkiiqq0blk725fsa2j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk9yZ2FuaXplIHdpbmRvd3MgaW4gY3VzdG9taXphYmxlIHNuYXAgem9uZXMgbGlrZSBGYW5jeVpvbmVzIG9uIHdpbmRvd3MuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ3NuYXBAbWljYWhvc2Jvcm5lIiwKICAibmFtZSI6ICJnU25hcCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5nc25hcCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNhaG9zYm9ybmUvZ1NuYXAiLAogICJ1dWlkIjogImdTbmFwQG1pY2Fob3Nib3JuZSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "appswitcheronlyoncurrentworkspace@ermesonsampaio.com", "name": "Alt + Tab only on current workspace", "pname": "alt-tab-only-on-current-workspace", "description": "Force alt + tab to switch only in the current workspace.", "link": "https://extensions.gnome.org/extension/4443/alt-tab-only-on-current-workspace/", "shell_version_map": {"40": {"version": "3", "sha256": "1jl7gi45gz9fliggkwdg44rdqcirh6qxfkvc639vbw2sgmpbmcvw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmNlIGFsdCArIHRhYiB0byBzd2l0Y2ggb25seSBpbiB0aGUgY3VycmVudCB3b3Jrc3BhY2UuIiwKICAibmFtZSI6ICJBbHQgKyBUYWIgb25seSBvbiBjdXJyZW50IHdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lcm1lc29uc2FtcGFpby9hcHAtc3dpdGNoZXItb25seS1vbi1jdXJyZW50LXdvcmtzcGFjZSIsCiAgInV1aWQiOiAiYXBwc3dpdGNoZXJvbmx5b25jdXJyZW50d29ya3NwYWNlQGVybWVzb25zYW1wYWlvLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
-, {"uuid": "logomenu@aryan_k", "name": "Logo Menu", "pname": "logo-menu", "description": "Logo Menu - Menu similar to Apple's macOS menu for the GNOME Desktop\nThis extension gives a simple menu along with the ability to get the icon of your distro on top left part of the panel for a great look.\nThe Icon can be customized through settings, it has both Linux and BSD logos.\nfor more screenshots, visit GitHub.\n\nThe default Terminal and Software center can also be changed.\n\nThis extension is a fork of - https://github.com/tofutech/tofumenu\n\nThe original project is no more supported thus I made this.", "link": "https://extensions.gnome.org/extension/4451/logo-menu/", "shell_version_map": {"38": {"version": "8", "sha256": "1kga9gcf1w55ynf99rgd1vy1yzdar00wy746ya9ndc1xzd0k9rjl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogOAp9"}, "40": {"version": "8", "sha256": "1kga9gcf1w55ynf99rgd1vy1yzdar00wy746ya9ndc1xzd0k9rjl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "1kga9gcf1w55ynf99rgd1vy1yzdar00wy746ya9ndc1xzd0k9rjl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogOAp9"}}}
+, {"uuid": "logomenu@aryan_k", "name": "Logo Menu", "pname": "logo-menu", "description": "Logo Menu - Menu similar to Apple's macOS menu for the GNOME Desktop\nThis extension gives a simple menu along with the ability to get the icon of your distro on top left part of the panel for a great look.\nThe Icon can be customized through settings, it has both Linux and BSD logos.\nfor more screenshots, visit GitHub.\n\nThe default Terminal and Software center can also be changed.\n\nThis extension is a fork of - https://github.com/tofutech/tofumenu\n\nThe original project is no more supported thus I made this.", "link": "https://extensions.gnome.org/extension/4451/logo-menu/", "shell_version_map": {"38": {"version": "9", "sha256": "03px2k0vx0q258jvgzfmk1gr09436wb4x4fycmv0gs9d7kr0kjpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogOQp9"}, "40": {"version": "9", "sha256": "03px2k0vx0q258jvgzfmk1gr09436wb4x4fycmv0gs9d7kr0kjpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogOQp9"}, "41": {"version": "9", "sha256": "03px2k0vx0q258jvgzfmk1gr09436wb4x4fycmv0gs9d7kr0kjpl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxvZ28gTWVudSAtIE1lbnUgc2ltaWxhciB0byBBcHBsZSdzIG1hY09TIG1lbnUgZm9yIHRoZSBHTk9NRSBEZXNrdG9wXG5UaGlzIGV4dGVuc2lvbiBnaXZlcyBhIHNpbXBsZSBtZW51IGFsb25nIHdpdGggdGhlIGFiaWxpdHkgdG8gZ2V0IHRoZSBpY29uIG9mIHlvdXIgZGlzdHJvIG9uIHRvcCBsZWZ0IHBhcnQgb2YgdGhlIHBhbmVsIGZvciBhIGdyZWF0IGxvb2suXG5UaGUgSWNvbiBjYW4gYmUgY3VzdG9taXplZCB0aHJvdWdoIHNldHRpbmdzLCBpdCBoYXMgYm90aCBMaW51eCBhbmQgQlNEIGxvZ29zLlxuZm9yIG1vcmUgc2NyZWVuc2hvdHMsIHZpc2l0IEdpdEh1Yi5cblxuVGhlIGRlZmF1bHQgVGVybWluYWwgYW5kIFNvZnR3YXJlIGNlbnRlciBjYW4gYWxzbyBiZSBjaGFuZ2VkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBhIGZvcmsgb2YgLSBodHRwczovL2dpdGh1Yi5jb20vdG9mdXRlY2gvdG9mdW1lbnVcblxuVGhlIG9yaWdpbmFsIHByb2plY3QgaXMgbm8gbW9yZSBzdXBwb3J0ZWQgdGh1cyBJIG1hZGUgdGhpcy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJsb2dvLW1lbnUiLAogICJuYW1lIjogIkxvZ28gTWVudSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuYXJ5YW5fay5sb2dvLW1lbnUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzAiLAogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FyeWFuMjAvTG9nb21lbnUiLAogICJ1dWlkIjogImxvZ29tZW51QGFyeWFuX2siLAogICJ2ZXJzaW9uIjogOQp9"}}}
 , {"uuid": "rog-manager@rog", "name": "Rog Asus Manager", "pname": "rog-asus-manager", "description": "Asus ROG manager", "link": "https://extensions.gnome.org/extension/4452/rog-asus-manager/", "shell_version_map": {"38": {"version": "4", "sha256": "194k3qzjd05rki20ww0nv8001aiyp4ih9abv82g64058x8rmnff5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFzdXMgUk9HIG1hbmFnZXIiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJyb2ctbWFuYWdlciIsCiAgIm5hbWUiOiAiUm9nIEFzdXMgTWFuYWdlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5yb2dtYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlamFuZHJvLW1vdXJhcy9yb2ctbWFuYWdlciIsCiAgInV1aWQiOiAicm9nLW1hbmFnZXJAcm9nIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
 , {"uuid": "titlebar-screenshot@jmaargh.github.com", "name": "Titlebar Screenshot", "pname": "titlebar-screenshot", "description": "Take screenshots by right-clicking on window titlebars.\n\nVarious configuration options include screenshots can be taken to the clipboard, to a file, or by opening the interactive tool.\n\nAll feedback and bug reports to Issues on the github page.", "link": "https://extensions.gnome.org/extension/4458/titlebar-screenshot/", "shell_version_map": {"38": {"version": "3", "sha256": "1vhphrjq2vyzlknfl3i7f8i3v9f8jcrpwiz26sigklmv3bmzb059", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2Ugc2NyZWVuc2hvdHMgYnkgcmlnaHQtY2xpY2tpbmcgb24gd2luZG93IHRpdGxlYmFycy5cblxuVmFyaW91cyBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW5jbHVkZSBzY3JlZW5zaG90cyBjYW4gYmUgdGFrZW4gdG8gdGhlIGNsaXBib2FyZCwgdG8gYSBmaWxlLCBvciBieSBvcGVuaW5nIHRoZSBpbnRlcmFjdGl2ZSB0b29sLlxuXG5BbGwgZmVlZGJhY2sgYW5kIGJ1ZyByZXBvcnRzIHRvIElzc3VlcyBvbiB0aGUgZ2l0aHViIHBhZ2UuIiwKICAibmFtZSI6ICJUaXRsZWJhciBTY3JlZW5zaG90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpdGxlYmFyLXNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1hYXJnaC90aXRsZWJhci1zY3JlZW5zaG90LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGl0bGViYXItc2NyZWVuc2hvdEBqbWFhcmdoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1vhphrjq2vyzlknfl3i7f8i3v9f8jcrpwiz26sigklmv3bmzb059", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2Ugc2NyZWVuc2hvdHMgYnkgcmlnaHQtY2xpY2tpbmcgb24gd2luZG93IHRpdGxlYmFycy5cblxuVmFyaW91cyBjb25maWd1cmF0aW9uIG9wdGlvbnMgaW5jbHVkZSBzY3JlZW5zaG90cyBjYW4gYmUgdGFrZW4gdG8gdGhlIGNsaXBib2FyZCwgdG8gYSBmaWxlLCBvciBieSBvcGVuaW5nIHRoZSBpbnRlcmFjdGl2ZSB0b29sLlxuXG5BbGwgZmVlZGJhY2sgYW5kIGJ1ZyByZXBvcnRzIHRvIElzc3VlcyBvbiB0aGUgZ2l0aHViIHBhZ2UuIiwKICAibmFtZSI6ICJUaXRsZWJhciBTY3JlZW5zaG90IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRpdGxlYmFyLXNjcmVlbnNob3QiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1hYXJnaC90aXRsZWJhci1zY3JlZW5zaG90LWdub21lLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGl0bGViYXItc2NyZWVuc2hvdEBqbWFhcmdoLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "expandable-notifications@kaan.g.inam.org", "name": "Expandable Notifications", "pname": "expandable-notifications", "description": "Makes the notifications in the notification list expandable. Using gsettings, you can choose between three modes: AUTO, ARROW and CRITICAL.\n\nAUTO will expand the notifications in the notification list automatically. \nARROW adds an arrow that lets you choose what to expand or unexpand. \nCRITICAL is similar to arrow, but expands notifications with the urgency critical automatically. \n\nFor more information and an example command to change the mode, I recommend to look at the repository.\"\n\nThe old repository has been deleted, however I reposted the extension on GitHub.", "link": "https://extensions.gnome.org/extension/4463/expandable-notifications/", "shell_version_map": {"40": {"version": "8", "sha256": "04i0hxsv41wfxg8z590mgn2klma47mgcz7qr52ca2llpd4dkrjj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBleHBhbmRhYmxlLiBVc2luZyBnc2V0dGluZ3MsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdGhyZWUgbW9kZXM6IEFVVE8sIEFSUk9XIGFuZCBDUklUSUNBTC5cblxuQVVUTyB3aWxsIGV4cGFuZCB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbm90aWZpY2F0aW9uIGxpc3QgYXV0b21hdGljYWxseS4gXG5BUlJPVyBhZGRzIGFuIGFycm93IHRoYXQgbGV0cyB5b3UgY2hvb3NlIHdoYXQgdG8gZXhwYW5kIG9yIHVuZXhwYW5kLiBcbkNSSVRJQ0FMIGlzIHNpbWlsYXIgdG8gYXJyb3csIGJ1dCBleHBhbmRzIG5vdGlmaWNhdGlvbnMgd2l0aCB0aGUgdXJnZW5jeSBjcml0aWNhbCBhdXRvbWF0aWNhbGx5LiBcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGFuIGV4YW1wbGUgY29tbWFuZCB0byBjaGFuZ2UgdGhlIG1vZGUsIEkgcmVjb21tZW5kIHRvIGxvb2sgYXQgdGhlIHJlcG9zaXRvcnkuXCJcblxuVGhlIG9sZCByZXBvc2l0b3J5IGhhcyBiZWVuIGRlbGV0ZWQsIGhvd2V2ZXIgSSByZXBvc3RlZCB0aGUgZXh0ZW5zaW9uIG9uIEdpdEh1Yi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJuYW1lIjogIkV4cGFuZGFibGUgTm90aWZpY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thYW5naW5hbS9leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImV4cGFuZGFibGUtbm90aWZpY2F0aW9uc0BrYWFuLmcuaW5hbS5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}, "41": {"version": "8", "sha256": "04i0hxsv41wfxg8z590mgn2klma47mgcz7qr52ca2llpd4dkrjj5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIHRoZSBub3RpZmljYXRpb25zIGluIHRoZSBub3RpZmljYXRpb24gbGlzdCBleHBhbmRhYmxlLiBVc2luZyBnc2V0dGluZ3MsIHlvdSBjYW4gY2hvb3NlIGJldHdlZW4gdGhyZWUgbW9kZXM6IEFVVE8sIEFSUk9XIGFuZCBDUklUSUNBTC5cblxuQVVUTyB3aWxsIGV4cGFuZCB0aGUgbm90aWZpY2F0aW9ucyBpbiB0aGUgbm90aWZpY2F0aW9uIGxpc3QgYXV0b21hdGljYWxseS4gXG5BUlJPVyBhZGRzIGFuIGFycm93IHRoYXQgbGV0cyB5b3UgY2hvb3NlIHdoYXQgdG8gZXhwYW5kIG9yIHVuZXhwYW5kLiBcbkNSSVRJQ0FMIGlzIHNpbWlsYXIgdG8gYXJyb3csIGJ1dCBleHBhbmRzIG5vdGlmaWNhdGlvbnMgd2l0aCB0aGUgdXJnZW5jeSBjcml0aWNhbCBhdXRvbWF0aWNhbGx5LiBcblxuRm9yIG1vcmUgaW5mb3JtYXRpb24gYW5kIGFuIGV4YW1wbGUgY29tbWFuZCB0byBjaGFuZ2UgdGhlIG1vZGUsIEkgcmVjb21tZW5kIHRvIGxvb2sgYXQgdGhlIHJlcG9zaXRvcnkuXCJcblxuVGhlIG9sZCByZXBvc2l0b3J5IGhhcyBiZWVuIGRlbGV0ZWQsIGhvd2V2ZXIgSSByZXBvc3RlZCB0aGUgZXh0ZW5zaW9uIG9uIEdpdEh1Yi4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJleHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJuYW1lIjogIkV4cGFuZGFibGUgTm90aWZpY2F0aW9ucyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMtc2V0dGluZ3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2thYW5naW5hbS9leHBhbmRhYmxlLW5vdGlmaWNhdGlvbnMiLAogICJ1dWlkIjogImV4cGFuZGFibGUtbm90aWZpY2F0aW9uc0BrYWFuLmcuaW5hbS5vcmciLAogICJ2ZXJzaW9uIjogOAp9"}}}
 , {"uuid": "orange-share@Yannis4444.github.com", "name": "Orange Share", "pname": "orange-share", "description": "A small python server that accepts requests from an apple shortcut to allow sharing all sorts of media from iOS. It allows sending content right from the share sheet - similar to AirDrop between Apple Devices", "link": "https://extensions.gnome.org/extension/4469/orange-share/", "shell_version_map": {"40": {"version": "7", "sha256": "14xc3j2k6fjh0nif22j3q0xk52ba2qpj96rq80g6cv3cyy8ihi2b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc21hbGwgcHl0aG9uIHNlcnZlciB0aGF0IGFjY2VwdHMgcmVxdWVzdHMgZnJvbSBhbiBhcHBsZSBzaG9ydGN1dCB0byBhbGxvdyBzaGFyaW5nIGFsbCBzb3J0cyBvZiBtZWRpYSBmcm9tIGlPUy4gSXQgYWxsb3dzIHNlbmRpbmcgY29udGVudCByaWdodCBmcm9tIHRoZSBzaGFyZSBzaGVldCAtIHNpbWlsYXIgdG8gQWlyRHJvcCBiZXR3ZWVuIEFwcGxlIERldmljZXMiLAogICJuYW1lIjogIk9yYW5nZSBTaGFyZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ZYW5uaXM0NDQ0L09yYW5nZS1TaGFyZS8iLAogICJ1dWlkIjogIm9yYW5nZS1zaGFyZUBZYW5uaXM0NDQ0LmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "mediacontrols@cliffniff.github.com", "name": "Media Controls", "pname": "media-controls", "description": "Show controls and information of the currently playing media in the panel.\n\n    - Highly customizable\n    - Support GNOME 3.36(beta) , 3.38, 40, 41\n    - Caches album art\n    - Control every element in the extension", "link": "https://extensions.gnome.org/extension/4470/media-controls/", "shell_version_map": {"38": {"version": "20", "sha256": "0cvn15w11vgjpgrwb7436gyy6v7zlbnfk8bd34wyijfd9ny7d0xj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY29udHJvbHMgYW5kIGluZm9ybWF0aW9uIG9mIHRoZSBjdXJyZW50bHkgcGxheWluZyBtZWRpYSBpbiB0aGUgcGFuZWwuXG5cbiAgICAtIEhpZ2hseSBjdXN0b21pemFibGVcbiAgICAtIFN1cHBvcnQgR05PTUUgMy4zNihiZXRhKSAsIDMuMzgsIDQwLCA0MVxuICAgIC0gQ2FjaGVzIGFsYnVtIGFydFxuICAgIC0gQ29udHJvbCBldmVyeSBlbGVtZW50IGluIHRoZSBleHRlbnNpb24iLAogICJuYW1lIjogIk1lZGlhIENvbnRyb2xzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lZGlhY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NsaWZmbmlmZi9tZWRpYS1jb250cm9scyIsCiAgInV1aWQiOiAibWVkaWFjb250cm9sc0BjbGlmZm5pZmYuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "40": {"version": "20", "sha256": "0cvn15w11vgjpgrwb7436gyy6v7zlbnfk8bd34wyijfd9ny7d0xj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY29udHJvbHMgYW5kIGluZm9ybWF0aW9uIG9mIHRoZSBjdXJyZW50bHkgcGxheWluZyBtZWRpYSBpbiB0aGUgcGFuZWwuXG5cbiAgICAtIEhpZ2hseSBjdXN0b21pemFibGVcbiAgICAtIFN1cHBvcnQgR05PTUUgMy4zNihiZXRhKSAsIDMuMzgsIDQwLCA0MVxuICAgIC0gQ2FjaGVzIGFsYnVtIGFydFxuICAgIC0gQ29udHJvbCBldmVyeSBlbGVtZW50IGluIHRoZSBleHRlbnNpb24iLAogICJuYW1lIjogIk1lZGlhIENvbnRyb2xzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lZGlhY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NsaWZmbmlmZi9tZWRpYS1jb250cm9scyIsCiAgInV1aWQiOiAibWVkaWFjb250cm9sc0BjbGlmZm5pZmYuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}, "41": {"version": "20", "sha256": "0cvn15w11vgjpgrwb7436gyy6v7zlbnfk8bd34wyijfd9ny7d0xj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY29udHJvbHMgYW5kIGluZm9ybWF0aW9uIG9mIHRoZSBjdXJyZW50bHkgcGxheWluZyBtZWRpYSBpbiB0aGUgcGFuZWwuXG5cbiAgICAtIEhpZ2hseSBjdXN0b21pemFibGVcbiAgICAtIFN1cHBvcnQgR05PTUUgMy4zNihiZXRhKSAsIDMuMzgsIDQwLCA0MVxuICAgIC0gQ2FjaGVzIGFsYnVtIGFydFxuICAgIC0gQ29udHJvbCBldmVyeSBlbGVtZW50IGluIHRoZSBleHRlbnNpb24iLAogICJuYW1lIjogIk1lZGlhIENvbnRyb2xzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLm1lZGlhY29udHJvbHMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2NsaWZmbmlmZi9tZWRpYS1jb250cm9scyIsCiAgInV1aWQiOiAibWVkaWFjb250cm9sc0BjbGlmZm5pZmYuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAyMAp9"}}}
-, {"uuid": "sp-tray@sp-tray.esenliyim.github.com", "name": "spotify-tray", "pname": "spotify-tray", "description": "Adds a simple label to the panel that shows currently playing song on Spotify, nothing more", "link": "https://extensions.gnome.org/extension/4472/spotify-tray/", "shell_version_map": {"38": {"version": "10", "sha256": "0j8sisaidsmybkf6agf580pqppamvs43dbmqjb8j769i1gdq0jp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzaW1wbGUgbGFiZWwgdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvbiBTcG90aWZ5LCBub3RoaW5nIG1vcmUiLAogICJuYW1lIjogInNwb3RpZnktdHJheSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcC10cmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lc2VubGl5aW0vc3AtdHJheSIsCiAgInV1aWQiOiAic3AtdHJheUBzcC10cmF5LmVzZW5saXlpbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "40": {"version": "10", "sha256": "0j8sisaidsmybkf6agf580pqppamvs43dbmqjb8j769i1gdq0jp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzaW1wbGUgbGFiZWwgdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvbiBTcG90aWZ5LCBub3RoaW5nIG1vcmUiLAogICJuYW1lIjogInNwb3RpZnktdHJheSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcC10cmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lc2VubGl5aW0vc3AtdHJheSIsCiAgInV1aWQiOiAic3AtdHJheUBzcC10cmF5LmVzZW5saXlpbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "0j8sisaidsmybkf6agf580pqppamvs43dbmqjb8j769i1gdq0jp6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzaW1wbGUgbGFiZWwgdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvbiBTcG90aWZ5LCBub3RoaW5nIG1vcmUiLAogICJuYW1lIjogInNwb3RpZnktdHJheSIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zcC10cmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lc2VubGl5aW0vc3AtdHJheSIsCiAgInV1aWQiOiAic3AtdHJheUBzcC10cmF5LmVzZW5saXlpbS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"uuid": "sp-tray@sp-tray.esenliyim.github.com", "name": "spotify-tray", "pname": "spotify-tray", "description": "Adds a simple label to the panel that shows currently playing song or podcast on Spotify, nothing more", "link": "https://extensions.gnome.org/extension/4472/spotify-tray/", "shell_version_map": {"38": {"version": "11", "sha256": "0w3wvq4qaz9y34pmrs0c9vq9zg9jnqssl9is7lip9957xq3k0him", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzaW1wbGUgbGFiZWwgdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvciBwb2RjYXN0IG9uIFNwb3RpZnksIG5vdGhpbmcgbW9yZSIsCiAgIm5hbWUiOiAic3BvdGlmeS10cmF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwLXRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VzZW5saXlpbS9zcC10cmF5IiwKICAidXVpZCI6ICJzcC10cmF5QHNwLXRyYXkuZXNlbmxpeWltLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "40": {"version": "11", "sha256": "0w3wvq4qaz9y34pmrs0c9vq9zg9jnqssl9is7lip9957xq3k0him", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzaW1wbGUgbGFiZWwgdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvciBwb2RjYXN0IG9uIFNwb3RpZnksIG5vdGhpbmcgbW9yZSIsCiAgIm5hbWUiOiAic3BvdGlmeS10cmF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwLXRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VzZW5saXlpbS9zcC10cmF5IiwKICAidXVpZCI6ICJzcC10cmF5QHNwLXRyYXkuZXNlbmxpeWltLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0w3wvq4qaz9y34pmrs0c9vq9zg9jnqssl9is7lip9957xq3k0him", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYSBzaW1wbGUgbGFiZWwgdG8gdGhlIHBhbmVsIHRoYXQgc2hvd3MgY3VycmVudGx5IHBsYXlpbmcgc29uZyBvciBwb2RjYXN0IG9uIFNwb3RpZnksIG5vdGhpbmcgbW9yZSIsCiAgIm5hbWUiOiAic3BvdGlmeS10cmF5IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNwLXRyYXkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VzZW5saXlpbS9zcC10cmF5IiwKICAidXVpZCI6ICJzcC10cmF5QHNwLXRyYXkuZXNlbmxpeWltLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "aws-default-profile-switcher@kevin-chappell.com", "name": "AWS Default Profile Switcher", "pname": "aws-default-profile-switcher", "description": "Gnome shell extension for quickly setting named profiles as the default", "link": "https://extensions.gnome.org/extension/4473/aws-default-profile-switcher/", "shell_version_map": {"38": {"version": "3", "sha256": "0mal1290kdvqv60m0ps42hnx801knh5vd4mlwg1z7ydj9sw31cfg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkdub21lIHNoZWxsIGV4dGVuc2lvbiBmb3IgcXVpY2tseSBzZXR0aW5nIG5hbWVkIHByb2ZpbGVzIGFzIHRoZSBkZWZhdWx0IiwKICAibmFtZSI6ICJBV1MgRGVmYXVsdCBQcm9maWxlIFN3aXRjaGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2V2aW5jaGFwcGVsbC9hd3MtZGVmYXVsdC1wcm9maWxlLXN3aXRjaGVyIiwKICAidXVpZCI6ICJhd3MtZGVmYXVsdC1wcm9maWxlLXN3aXRjaGVyQGtldmluLWNoYXBwZWxsLmNvbSIsCiAgInZlcnNpb24iOiAzCn0="}}}
 , {"uuid": "hide-panel-for-fullscreen-windows-only@github.freder", "name": "Hide panel (only when active window is fullscreen)", "pname": "hide-panel-only-when-active-window-is-fullscreen", "description": "hide top panel only when a fullscreen application has focus", "link": "https://extensions.gnome.org/extension/4475/hide-panel-only-when-active-window-is-fullscreen/", "shell_version_map": {"40": {"version": "2", "sha256": "1hd5agdjq73qiqip0m3grmlxk8klp26pd71cz555414mi3f9mww3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImhpZGUgdG9wIHBhbmVsIG9ubHkgd2hlbiBhIGZ1bGxzY3JlZW4gYXBwbGljYXRpb24gaGFzIGZvY3VzIiwKICAibmFtZSI6ICJIaWRlIHBhbmVsIChvbmx5IHdoZW4gYWN0aXZlIHdpbmRvdyBpcyBmdWxsc2NyZWVuKSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mcmVkZXIvaGlkZS1wYW5lbC1mb3ItZnVsbHNjcmVlbi13aW5kb3dzLW9ubHkiLAogICJ1dWlkIjogImhpZGUtcGFuZWwtZm9yLWZ1bGxzY3JlZW4td2luZG93cy1vbmx5QGdpdGh1Yi5mcmVkZXIiLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "netspeed@alynx.one", "name": "Net Speed", "pname": "net-speed", "description": "Show current net speed on panel.", "link": "https://extensions.gnome.org/extension/4478/net-speed/", "shell_version_map": {"40": {"version": "2", "sha256": "0j48ai7nqkpr0ymypsicdp7nw59hx9rgya8qws58wx56q9bznl69", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3cgY3VycmVudCBuZXQgc3BlZWQgb24gcGFuZWwuIiwKICAibmFtZSI6ICJOZXQgU3BlZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogIm5ldHNwZWVkQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "forge@jmmaranan.com", "name": "Forge", "pname": "forge", "description": "Tiling and window manager for GNOME\n\nMAJOR CHANGES\n\n - New Tabbed Tiling Implementation via St.Widget.\n - New style declarations will reset the custom stylesheets for users when updating. Old styles will be backed up as $HOME/.config/forge/stylesheet/forge/stylesheet.css.bak.\n\n Please report bugs/issues on https://github.com/jmmaranan/forge/issues", "link": "https://extensions.gnome.org/extension/4481/forge/", "shell_version_map": {"38": {"version": "38", "sha256": "0hniflq2x8b1cwh5imlwbbmb703jd46w8828xng6gbw966l093cf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1tYXJhbmFuL2ZvcmdlIiwKICAidXVpZCI6ICJmb3JnZUBqbW1hcmFuYW4uY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}, "40": {"version": "43", "sha256": "07qa8rlh9rls0hfqylzh7ivdn5s01lrbvh4kva620sw7qcr14l1j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDMKfQ=="}, "41": {"version": "43", "sha256": "07qa8rlh9rls0hfqylzh7ivdn5s01lrbvh4kva620sw7qcr14l1j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDMKfQ=="}}}
+, {"uuid": "forge@jmmaranan.com", "name": "Forge", "pname": "forge", "description": "Tiling and window manager for GNOME\n\nMAJOR CHANGES\n\n - New Tabbed Tiling Implementation via St.Widget.\n - New style declarations will reset the custom stylesheets for users when updating. Old styles will be backed up as $HOME/.config/forge/stylesheet/forge/stylesheet.css.bak.\n\n Please report bugs/issues on https://github.com/jmmaranan/forge/issues", "link": "https://extensions.gnome.org/extension/4481/forge/", "shell_version_map": {"38": {"version": "38", "sha256": "0hniflq2x8b1cwh5imlwbbmb703jd46w8828xng6gbw966l093cf", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vam1tYXJhbmFuL2ZvcmdlIiwKICAidXVpZCI6ICJmb3JnZUBqbW1hcmFuYW4uY29tIiwKICAidmVyc2lvbiI6IDM4Cn0="}, "40": {"version": "44", "sha256": "138nmvjlpc2gszbnav5kp649mhhp7fhk9c4y9jqlsc7rzjcy7kzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}, "41": {"version": "44", "sha256": "138nmvjlpc2gszbnav5kp649mhhp7fhk9c4y9jqlsc7rzjcy7kzv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGluZyBhbmQgd2luZG93IG1hbmFnZXIgZm9yIEdOT01FXG5cbk1BSk9SIENIQU5HRVNcblxuIC0gTmV3IFRhYmJlZCBUaWxpbmcgSW1wbGVtZW50YXRpb24gdmlhIFN0LldpZGdldC5cbiAtIE5ldyBzdHlsZSBkZWNsYXJhdGlvbnMgd2lsbCByZXNldCB0aGUgY3VzdG9tIHN0eWxlc2hlZXRzIGZvciB1c2VycyB3aGVuIHVwZGF0aW5nLiBPbGQgc3R5bGVzIHdpbGwgYmUgYmFja2VkIHVwIGFzICRIT01FLy5jb25maWcvZm9yZ2Uvc3R5bGVzaGVldC9mb3JnZS9zdHlsZXNoZWV0LmNzcy5iYWsuXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MvaXNzdWVzIG9uIGh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UvaXNzdWVzIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZm9yZ2UiLAogICJuYW1lIjogIkZvcmdlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmZvcmdlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9qbW1hcmFuYW4vZm9yZ2UiLAogICJ1dWlkIjogImZvcmdlQGptbWFyYW5hbi5jb20iLAogICJ2ZXJzaW9uIjogNDQKfQ=="}}}
 , {"uuid": "autonightlight@zefty.github.io", "name": "Auto Night Light", "pname": "auto-night-light", "description": "Automatically adjust night light", "link": "https://extensions.gnome.org/extension/4482/auto-night-light/", "shell_version_map": {"38": {"version": "7", "sha256": "0v76v4z82agn1ay8c0mb2jgnzjf1h9kcp13jhvypcigalfq9qp4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgYWRqdXN0IG5pZ2h0IGxpZ2h0IiwKICAibmFtZSI6ICJBdXRvIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9aZWZ0eS9BdXRvTmlnaHRMaWdodCIsCiAgInV1aWQiOiAiYXV0b25pZ2h0bGlnaHRAemVmdHkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "0v76v4z82agn1ay8c0mb2jgnzjf1h9kcp13jhvypcigalfq9qp4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgYWRqdXN0IG5pZ2h0IGxpZ2h0IiwKICAibmFtZSI6ICJBdXRvIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9aZWZ0eS9BdXRvTmlnaHRMaWdodCIsCiAgInV1aWQiOiAiYXV0b25pZ2h0bGlnaHRAemVmdHkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0v76v4z82agn1ay8c0mb2jgnzjf1h9kcp13jhvypcigalfq9qp4n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgYWRqdXN0IG5pZ2h0IGxpZ2h0IiwKICAibmFtZSI6ICJBdXRvIE5pZ2h0IExpZ2h0IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM0IiwKICAgICIzLjMyIiwKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9aZWZ0eS9BdXRvTmlnaHRMaWdodCIsCiAgInV1aWQiOiAiYXV0b25pZ2h0bGlnaHRAemVmdHkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "favourites-in-appgrid@harshadgavali.gitlab.org", "name": "Favourites in AppGrid", "pname": "favourites-in-appgrid", "description": "Keep favourite applications in AppGrid", "link": "https://extensions.gnome.org/extension/4485/favourites-in-appgrid/", "shell_version_map": {"40": {"version": "1", "sha256": "1zcbs36kcmw50wgxkqn22abh8g1nx17p48vbpzk5x2842mn8shaz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgZmF2b3VyaXRlIGFwcGxpY2F0aW9ucyBpbiBBcHBHcmlkIiwKICAibmFtZSI6ICJGYXZvdXJpdGVzIGluIEFwcEdyaWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2hhcnNoYWRnYXZhbGkvZmF2b3VyaXRlcy1pbi1hcHBncmlkLyIsCiAgInV1aWQiOiAiZmF2b3VyaXRlcy1pbi1hcHBncmlkQGhhcnNoYWRnYXZhbGkuZ2l0bGFiLm9yZyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "1zcbs36kcmw50wgxkqn22abh8g1nx17p48vbpzk5x2842mn8shaz", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIktlZXAgZmF2b3VyaXRlIGFwcGxpY2F0aW9ucyBpbiBBcHBHcmlkIiwKICAibmFtZSI6ICJGYXZvdXJpdGVzIGluIEFwcEdyaWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuZ25vbWUub3JnL2hhcnNoYWRnYXZhbGkvZmF2b3VyaXRlcy1pbi1hcHBncmlkLyIsCiAgInV1aWQiOiAiZmF2b3VyaXRlcy1pbi1hcHBncmlkQGhhcnNoYWRnYXZhbGkuZ2l0bGFiLm9yZyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "dark-variant@hardpixel.eu", "name": "Dark Variant", "pname": "dark-variant", "description": "Enable dark window decorations on applications. This extension is not compatible with applications that use Client Side Decorations (CSD).\n\nThis extension depends on some Xorg utilities. To install them:\n- Debian/Ubuntu: apt install x11-utils\n- Fedora/RHEL: dnf install xorg-x11-utils\n- Arch: pacman -S xorg-xprop\n\n*Settings are provided to enable/disable applications.", "link": "https://extensions.gnome.org/extension/4488/dark-variant/", "shell_version_map": {"40": {"version": "3", "sha256": "08ywrbcqzijfw9hxlxn56j0dbavq413sbf2qlf6xpc9mi825jhin", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBkYXJrIHdpbmRvdyBkZWNvcmF0aW9ucyBvbiBhcHBsaWNhdGlvbnMuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYXBwbGljYXRpb25zIHRoYXQgdXNlIENsaWVudCBTaWRlIERlY29yYXRpb25zIChDU0QpLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgeDExLXV0aWxzXG4tIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIGFwcGxpY2F0aW9ucy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXJrLXZhcmlhbnQiLAogICJuYW1lIjogIkRhcmsgVmFyaWFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXJrLXZhcmlhbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9kYXJrLXZhcmlhbnQiLAogICJ1dWlkIjogImRhcmstdmFyaWFudEBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "08ywrbcqzijfw9hxlxn56j0dbavq413sbf2qlf6xpc9mi825jhin", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZSBkYXJrIHdpbmRvdyBkZWNvcmF0aW9ucyBvbiBhcHBsaWNhdGlvbnMuIFRoaXMgZXh0ZW5zaW9uIGlzIG5vdCBjb21wYXRpYmxlIHdpdGggYXBwbGljYXRpb25zIHRoYXQgdXNlIENsaWVudCBTaWRlIERlY29yYXRpb25zIChDU0QpLlxuXG5UaGlzIGV4dGVuc2lvbiBkZXBlbmRzIG9uIHNvbWUgWG9yZyB1dGlsaXRpZXMuIFRvIGluc3RhbGwgdGhlbTpcbi0gRGViaWFuL1VidW50dTogYXB0IGluc3RhbGwgeDExLXV0aWxzXG4tIEZlZG9yYS9SSEVMOiBkbmYgaW5zdGFsbCB4b3JnLXgxMS11dGlsc1xuLSBBcmNoOiBwYWNtYW4gLVMgeG9yZy14cHJvcFxuXG4qU2V0dGluZ3MgYXJlIHByb3ZpZGVkIHRvIGVuYWJsZS9kaXNhYmxlIGFwcGxpY2F0aW9ucy4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJkYXJrLXZhcmlhbnQiLAogICJuYW1lIjogIkRhcmsgVmFyaWFudCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5kYXJrLXZhcmlhbnQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2hhcmRwaXhlbC9kYXJrLXZhcmlhbnQiLAogICJ1dWlkIjogImRhcmstdmFyaWFudEBoYXJkcGl4ZWwuZXUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
@@ -584,8 +587,8 @@
 , {"uuid": "toggle-mute-on-middle-click-updated@konradmb", "name": "Toggle Mute on Middle Click", "pname": "toggle-mute-on-middle-click", "description": "Toggle mute by middle-clicking the volume indicator. Updated for Gnome 40 from: https://extensions.gnome.org/extension/1473/toggle-mute-on-middle-click/", "link": "https://extensions.gnome.org/extension/4538/toggle-mute-on-middle-click/", "shell_version_map": {"40": {"version": "1", "sha256": "0ag52arddv2dypfr1bs28c6dnfq0lrccibbl6cdzjx4d26j4cv4z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvZ2dsZSBtdXRlIGJ5IG1pZGRsZS1jbGlja2luZyB0aGUgdm9sdW1lIGluZGljYXRvci4gVXBkYXRlZCBmb3IgR25vbWUgNDAgZnJvbTogaHR0cHM6Ly9leHRlbnNpb25zLmdub21lLm9yZy9leHRlbnNpb24vMTQ3My90b2dnbGUtbXV0ZS1vbi1taWRkbGUtY2xpY2svIiwKICAibmFtZSI6ICJUb2dnbGUgTXV0ZSBvbiBNaWRkbGUgQ2xpY2siLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMjgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInRvZ2dsZS1tdXRlLW9uLW1pZGRsZS1jbGljay11cGRhdGVkQGtvbnJhZG1iIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "autohide-volume@unboiled.info", "name": "Autohide Volume", "pname": "autohide-volume", "description": "Autohide volume indicator when muted\n\nI'm not interested in the fact my output audio device is muted: this is how it's supposed to be. But if it's unmuted, then I want to see the icon.\n\nExcept when the mic is on, then I'm probably in a call, frantically figuring out what's wrong.", "link": "https://extensions.gnome.org/extension/4539/autohide-volume/", "shell_version_map": {"41": {"version": "1", "sha256": "1kiki2gks6jvngx62jz1mdg3xpi4npc4sv9v4mc7fz4s91ibsykr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9oaWRlIHZvbHVtZSBpbmRpY2F0b3Igd2hlbiBtdXRlZFxuXG5JJ20gbm90IGludGVyZXN0ZWQgaW4gdGhlIGZhY3QgbXkgb3V0cHV0IGF1ZGlvIGRldmljZSBpcyBtdXRlZDogdGhpcyBpcyBob3cgaXQncyBzdXBwb3NlZCB0byBiZS4gQnV0IGlmIGl0J3MgdW5tdXRlZCwgdGhlbiBJIHdhbnQgdG8gc2VlIHRoZSBpY29uLlxuXG5FeGNlcHQgd2hlbiB0aGUgbWljIGlzIG9uLCB0aGVuIEknbSBwcm9iYWJseSBpbiBhIGNhbGwsIGZyYW50aWNhbGx5IGZpZ3VyaW5nIG91dCB3aGF0J3Mgd3JvbmcuIiwKICAibmFtZSI6ICJBdXRvaGlkZSBWb2x1bWUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwOi8vZ2l0aHViLmNvbS90MTg0MjU2L2dub21lLXNoZWxsLWV4dGVuc2lvbi1hdXRvaGlkZS12b2x1bWUiLAogICJ1dWlkIjogImF1dG9oaWRlLXZvbHVtZUB1bmJvaWxlZC5pbmZvIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "cloudflare@adam.gadmz", "name": "Cloudflare", "pname": "cloudflare", "description": "Warp Connect", "link": "https://extensions.gnome.org/extension/4542/cloudflare/", "shell_version_map": {"38": {"version": "7", "sha256": "0wizvqfcsyh43786zhci4j5b8z28y95cjajvqrb51x4r489l67lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvQ2xvdWRmbGFyZV9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImNsb3VkZmxhcmVAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA3Cn0="}, "40": {"version": "7", "sha256": "0wizvqfcsyh43786zhci4j5b8z28y95cjajvqrb51x4r489l67lw", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiV2FycCBDb25uZWN0IiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWNsb3VkZmxhcmUiLAogICJuYW1lIjogIkNsb3VkZmxhcmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHVvbmdnaWFraGFuaGIvQ2xvdWRmbGFyZV9HTk9NRV9FeHRlbnNpb24iLAogICJ1dWlkIjogImNsb3VkZmxhcmVAYWRhbS5nYWRteiIsCiAgInZlcnNpb24iOiA3Cn0="}}}
-, {"uuid": "dell-command-configure-menu@vsimkus.github.io", "name": "Dell Command Configure menu", "pname": "dell-command-configure-menu", "description": "Adds submenu in gnome shell to access Dell Command Configure options.\n\nCurrently, only battery charge settings are implemented.\n\nThe Dell Command Configure tool must be installed separately from Dell https://www.dell.com/support/kbdoc/en-uk/000178000/dell-command-configure#Downloads.", "link": "https://extensions.gnome.org/extension/4545/dell-command-configure-menu/", "shell_version_map": {"38": {"version": "3", "sha256": "0mf9vibjzq1l9g6f3y7l7hx6dvqxbasdyhbrc8vfbczy9lar4v7h", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "4", "sha256": "1dcb05c8aii2cnryjwn392991jk010gx6ihb4ld30ylkvd45v0lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "1dcb05c8aii2cnryjwn392991jk010gx6ihb4ld30ylkvd45v0lr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSBzaGVsbCB0byBhY2Nlc3MgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBvcHRpb25zLlxuXG5DdXJyZW50bHksIG9ubHkgYmF0dGVyeSBjaGFyZ2Ugc2V0dGluZ3MgYXJlIGltcGxlbWVudGVkLlxuXG5UaGUgRGVsbCBDb21tYW5kIENvbmZpZ3VyZSB0b29sIG11c3QgYmUgaW5zdGFsbGVkIHNlcGFyYXRlbHkgZnJvbSBEZWxsIGh0dHBzOi8vd3d3LmRlbGwuY29tL3N1cHBvcnQva2Jkb2MvZW4tdWsvMDAwMTc4MDAwL2RlbGwtY29tbWFuZC1jb25maWd1cmUjRG93bmxvYWRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudSIsCiAgIm5hbWUiOiAiRGVsbCBDb21tYW5kIENvbmZpZ3VyZSBtZW51IiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlbGxjb21tYW5kY29uZmlndXJlbWVudSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vdnNpbWt1cy9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAidXVpZCI6ICJkZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnVAdnNpbWt1cy5naXRodWIuaW8iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "tactile@lundal.io", "name": "Tactile", "pname": "tactile", "description": "Tile windows on a custom grid using your keyboard. Type Super-T to show the grid, then type two tiles (or the same tile twice) to move the active window.\n\nThe grid can be up to 4x3 (corresponding to one hand on the keyboard) and each row/column can be weighted to take up more or less space.", "link": "https://extensions.gnome.org/extension/4548/tactile/", "shell_version_map": {"38": {"version": "10", "sha256": "0asz4jp2vbjxln7c2js35cl7smghjgglmhd9jk7qb4s0bxqsax8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "40": {"version": "10", "sha256": "0asz4jp2vbjxln7c2js35cl7smghjgglmhd9jk7qb4s0bxqsax8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}, "41": {"version": "10", "sha256": "0asz4jp2vbjxln7c2js35cl7smghjgglmhd9jk7qb4s0bxqsax8q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMAp9"}}}
+, {"uuid": "dell-command-configure-menu@vsimkus.github.io", "name": "Dell Command Configure menu", "pname": "dell-command-configure-menu", "description": "Adds submenu in gnome top-bar to access Dell Command Configure options.\n\nCurrently, only battery charge settings are implemented.\n\nThe Dell Command Configure tool must be installed separately from Dell https://www.dell.com/support/kbdoc/en-uk/000178000/dell-command-configure#Downloads.", "link": "https://extensions.gnome.org/extension/4545/dell-command-configure-menu/", "shell_version_map": {"38": {"version": "3", "sha256": "1hy4fhmj076xkjas49q6ls9b9nyg5pzca95094zx1kpbr75vs2k7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSB0b3AtYmFyIHRvIGFjY2VzcyBEZWxsIENvbW1hbmQgQ29uZmlndXJlIG9wdGlvbnMuXG5cbkN1cnJlbnRseSwgb25seSBiYXR0ZXJ5IGNoYXJnZSBzZXR0aW5ncyBhcmUgaW1wbGVtZW50ZWQuXG5cblRoZSBEZWxsIENvbW1hbmQgQ29uZmlndXJlIHRvb2wgbXVzdCBiZSBpbnN0YWxsZWQgc2VwYXJhdGVseSBmcm9tIERlbGwgaHR0cHM6Ly93d3cuZGVsbC5jb20vc3VwcG9ydC9rYmRvYy9lbi11ay8wMDAxNzgwMDAvZGVsbC1jb21tYW5kLWNvbmZpZ3VyZSNEb3dubG9hZHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAibmFtZSI6ICJEZWxsIENvbW1hbmQgQ29uZmlndXJlIG1lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVsbGNvbW1hbmRjb25maWd1cmVtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92c2lta3VzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnUiLAogICJ1dWlkIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudUB2c2lta3VzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAzCn0="}, "40": {"version": "6", "sha256": "0994j96sppbirsg6d740n30zfv2n7qrpzl36xmj977y4p4fm1l3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSB0b3AtYmFyIHRvIGFjY2VzcyBEZWxsIENvbW1hbmQgQ29uZmlndXJlIG9wdGlvbnMuXG5cbkN1cnJlbnRseSwgb25seSBiYXR0ZXJ5IGNoYXJnZSBzZXR0aW5ncyBhcmUgaW1wbGVtZW50ZWQuXG5cblRoZSBEZWxsIENvbW1hbmQgQ29uZmlndXJlIHRvb2wgbXVzdCBiZSBpbnN0YWxsZWQgc2VwYXJhdGVseSBmcm9tIERlbGwgaHR0cHM6Ly93d3cuZGVsbC5jb20vc3VwcG9ydC9rYmRvYy9lbi11ay8wMDAxNzgwMDAvZGVsbC1jb21tYW5kLWNvbmZpZ3VyZSNEb3dubG9hZHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAibmFtZSI6ICJEZWxsIENvbW1hbmQgQ29uZmlndXJlIG1lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVsbGNvbW1hbmRjb25maWd1cmVtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92c2lta3VzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnUiLAogICJ1dWlkIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudUB2c2lta3VzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}, "41": {"version": "6", "sha256": "0994j96sppbirsg6d740n30zfv2n7qrpzl36xmj977y4p4fm1l3b", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgc3VibWVudSBpbiBnbm9tZSB0b3AtYmFyIHRvIGFjY2VzcyBEZWxsIENvbW1hbmQgQ29uZmlndXJlIG9wdGlvbnMuXG5cbkN1cnJlbnRseSwgb25seSBiYXR0ZXJ5IGNoYXJnZSBzZXR0aW5ncyBhcmUgaW1wbGVtZW50ZWQuXG5cblRoZSBEZWxsIENvbW1hbmQgQ29uZmlndXJlIHRvb2wgbXVzdCBiZSBpbnN0YWxsZWQgc2VwYXJhdGVseSBmcm9tIERlbGwgaHR0cHM6Ly93d3cuZGVsbC5jb20vc3VwcG9ydC9rYmRvYy9lbi11ay8wMDAxNzgwMDAvZGVsbC1jb21tYW5kLWNvbmZpZ3VyZSNEb3dubG9hZHMuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZGVsbC1jb21tYW5kLWNvbmZpZ3VyZS1tZW51IiwKICAibmFtZSI6ICJEZWxsIENvbW1hbmQgQ29uZmlndXJlIG1lbnUiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuZGVsbGNvbW1hbmRjb25maWd1cmVtZW51IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS92c2lta3VzL2dub21lLXNoZWxsLWV4dGVuc2lvbi1kZWxsLWNvbW1hbmQtY29uZmlndXJlLW1lbnUiLAogICJ1dWlkIjogImRlbGwtY29tbWFuZC1jb25maWd1cmUtbWVudUB2c2lta3VzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiA2Cn0="}}}
+, {"uuid": "tactile@lundal.io", "name": "Tactile", "pname": "tactile", "description": "Tile windows on a custom grid using your keyboard. Type Super-T to show the grid, then type two tiles (or the same tile twice) to move the active window.\n\nThe grid can be up to 4x3 (corresponding to one hand on the keyboard) and each row/column can be weighted to take up more or less space.", "link": "https://extensions.gnome.org/extension/4548/tactile/", "shell_version_map": {"38": {"version": "13", "sha256": "15y30c61a751rcx0gfzn80nidzm1y6xdkrssnpgnjq9xj8wf516s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMwp9"}, "40": {"version": "13", "sha256": "15y30c61a751rcx0gfzn80nidzm1y6xdkrssnpgnjq9xj8wf516s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMwp9"}, "41": {"version": "13", "sha256": "15y30c61a751rcx0gfzn80nidzm1y6xdkrssnpgnjq9xj8wf516s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyBvbiBhIGN1c3RvbSBncmlkIHVzaW5nIHlvdXIga2V5Ym9hcmQuIFR5cGUgU3VwZXItVCB0byBzaG93IHRoZSBncmlkLCB0aGVuIHR5cGUgdHdvIHRpbGVzIChvciB0aGUgc2FtZSB0aWxlIHR3aWNlKSB0byBtb3ZlIHRoZSBhY3RpdmUgd2luZG93LlxuXG5UaGUgZ3JpZCBjYW4gYmUgdXAgdG8gNHgzIChjb3JyZXNwb25kaW5nIHRvIG9uZSBoYW5kIG9uIHRoZSBrZXlib2FyZCkgYW5kIGVhY2ggcm93L2NvbHVtbiBjYW4gYmUgd2VpZ2h0ZWQgdG8gdGFrZSB1cCBtb3JlIG9yIGxlc3Mgc3BhY2UuIiwKICAibmFtZSI6ICJUYWN0aWxlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRhY3RpbGUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzIiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL2x1bmRhbC90YWN0aWxlIiwKICAidXVpZCI6ICJ0YWN0aWxlQGx1bmRhbC5pbyIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "killapp@adam.gadmz", "name": "Kill App", "pname": "kill-app", "description": "Force quit or kill application", "link": "https://extensions.gnome.org/extension/4551/kill-app/", "shell_version_map": {"38": {"version": "3", "sha256": "0gc6bk4piblqmm6qhb0jicdg571b23b0mns6mqhws4glznn4ckry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R1b25nZ2lha2hhbmhiL0tpbGxhcHBfR05PTUVfRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJraWxsYXBwQGFkYW0uZ2FkbXoiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "0gc6bk4piblqmm6qhb0jicdg571b23b0mns6mqhws4glznn4ckry", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImF1dGhvciI6ICJBZGFtIiwKICAiZGVzY3JpcHRpb24iOiAiRm9yY2UgcXVpdCBvciBraWxsIGFwcGxpY2F0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWtpbGxhcHAiLAogICJuYW1lIjogIktpbGwgQXBwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2R1b25nZ2lha2hhbmhiL0tpbGxhcHBfR05PTUVfRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJraWxsYXBwQGFkYW0uZ2FkbXoiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "hotkeys-popup@pimsnel.com", "name": "Hotkeys Popup", "pname": "hotkeys-popup", "description": "Pop-up cheatsheet with currently configured keyboard shortcuts.", "link": "https://extensions.gnome.org/extension/4553/hotkeys-popup/", "shell_version_map": {"40": {"version": "4", "sha256": "080ch8zg8y1ha9gq6hihjkqzymkwqarxsy3p8da8j6p6621w63y5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtaG90a2V5cy1wb3B1cCIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "080ch8zg8y1ha9gq6hihjkqzymkwqarxsy3p8da8j6p6621w63y5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlBvcC11cCBjaGVhdHNoZWV0IHdpdGggY3VycmVudGx5IGNvbmZpZ3VyZWQga2V5Ym9hcmQgc2hvcnRjdXRzLiIsCiAgImdldHRleHQtZG9tYWluIjogImhvdGtleXMtcG9wdXAiLAogICJuYW1lIjogIkhvdGtleXMgUG9wdXAiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaG90a2V5cy1wb3B1cCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtaG90a2V5cy1wb3B1cCIsCiAgInV1aWQiOiAiaG90a2V5cy1wb3B1cEBwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "inotch@alynx.one", "name": "iNotch", "pname": "inotch", "description": "Add a useless notch to your screen.", "link": "https://extensions.gnome.org/extension/4556/inotch/", "shell_version_map": {"40": {"version": "3", "sha256": "0x4zx4ph20maf5gw08j0j6v2whvviqs220vlr903nbcc5cxy7yil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHVzZWxlc3Mgbm90Y2ggdG8geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJpTm90Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24taW5vdGNoLyIsCiAgInV1aWQiOiAiaW5vdGNoQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAzCn0="}, "41": {"version": "3", "sha256": "0x4zx4ph20maf5gw08j0j6v2whvviqs220vlr903nbcc5cxy7yil", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHVzZWxlc3Mgbm90Y2ggdG8geW91ciBzY3JlZW4uIiwKICAibmFtZSI6ICJpTm90Y2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0FseW54WmhvdS9nbm9tZS1zaGVsbC1leHRlbnNpb24taW5vdGNoLyIsCiAgInV1aWQiOiAiaW5vdGNoQGFseW54Lm9uZSIsCiAgInZlcnNpb24iOiAzCn0="}}}
@@ -595,7 +598,7 @@
 , {"uuid": "zfs-status-monitor@chris.hubick.com", "name": "ZFS Status Monitor", "pname": "zfs-status-monitor", "description": "Display status of ZFS filesystem pools currently present on the system, updating every 60 seconds.", "link": "https://extensions.gnome.org/extension/4568/zfs-status-monitor/", "shell_version_map": {"40": {"version": "1", "sha256": "07g6b3y2dpvb41qd0j5rkakxpvyfgwnwcqzfr00h6zfvrx32nnp0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3RhdHVzIG9mIFpGUyBmaWxlc3lzdGVtIHBvb2xzIGN1cnJlbnRseSBwcmVzZW50IG9uIHRoZSBzeXN0ZW0sIHVwZGF0aW5nIGV2ZXJ5IDYwIHNlY29uZHMuIiwKICAibmFtZSI6ICJaRlMgU3RhdHVzIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1Ymljay9nbm9tZS1zaGVsbC1leHRlbnNpb24temZzLXN0YXR1cy1tb25pdG9yIiwKICAidXVpZCI6ICJ6ZnMtc3RhdHVzLW1vbml0b3JAY2hyaXMuaHViaWNrLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "07g6b3y2dpvb41qd0j5rkakxpvyfgwnwcqzfr00h6zfvrx32nnp0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgc3RhdHVzIG9mIFpGUyBmaWxlc3lzdGVtIHBvb2xzIGN1cnJlbnRseSBwcmVzZW50IG9uIHRoZSBzeXN0ZW0sIHVwZGF0aW5nIGV2ZXJ5IDYwIHNlY29uZHMuIiwKICAibmFtZSI6ICJaRlMgU3RhdHVzIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2h1Ymljay9nbm9tZS1zaGVsbC1leHRlbnNpb24temZzLXN0YXR1cy1tb25pdG9yIiwKICAidXVpZCI6ICJ6ZnMtc3RhdHVzLW1vbml0b3JAY2hyaXMuaHViaWNrLmNvbSIsCiAgInZlcnNpb24iOiAxCn0="}}}
 , {"uuid": "dollar@dotpyc.com", "name": "Dollar", "pname": "dollar", "description": "Cotações do (USD Dólar Americano) convertido para (BRL Real Brasileiro).\n\nAs atualizações são recebidas a cada 30 segundos e utiliza como base informações disponiblizadas pela API AwesomeAPI, que pode ser consultada diretamente acessando o endereço eletronico https://docs.awesomeapi.com.br.", "link": "https://extensions.gnome.org/extension/4573/dollar/", "shell_version_map": {"38": {"version": "2", "sha256": "0100dspvm8ryqday9dqm76ykc9n9sikv3098yn6a92kpz9kgxacm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyAoVVNEIERcdTAwZjNsYXIgQW1lcmljYW5vKSBjb252ZXJ0aWRvIHBhcmEgKEJSTCBSZWFsIEJyYXNpbGVpcm8pLlxuXG5BcyBhdHVhbGl6YVx1MDBlN1x1MDBmNWVzIHNcdTAwZTNvIHJlY2ViaWRhcyBhIGNhZGEgMzAgc2VndW5kb3MgZSB1dGlsaXphIGNvbW8gYmFzZSBpbmZvcm1hXHUwMGU3XHUwMGY1ZXMgZGlzcG9uaWJsaXphZGFzIHBlbGEgQVBJIEF3ZXNvbWVBUEksIHF1ZSBwb2RlIHNlciBjb25zdWx0YWRhIGRpcmV0YW1lbnRlIGFjZXNzYW5kbyBvIGVuZGVyZVx1MDBlN28gZWxldHJvbmljbyBodHRwczovL2RvY3MuYXdlc29tZWFwaS5jb20uYnIuIiwKICAibmFtZSI6ICJEb2xsYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxkZW1hdHRvcy9kb2xsYXItZG90cHljLmNvbSIsCiAgInV1aWQiOiAiZG9sbGFyQGRvdHB5Yy5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "0100dspvm8ryqday9dqm76ykc9n9sikv3098yn6a92kpz9kgxacm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyAoVVNEIERcdTAwZjNsYXIgQW1lcmljYW5vKSBjb252ZXJ0aWRvIHBhcmEgKEJSTCBSZWFsIEJyYXNpbGVpcm8pLlxuXG5BcyBhdHVhbGl6YVx1MDBlN1x1MDBmNWVzIHNcdTAwZTNvIHJlY2ViaWRhcyBhIGNhZGEgMzAgc2VndW5kb3MgZSB1dGlsaXphIGNvbW8gYmFzZSBpbmZvcm1hXHUwMGU3XHUwMGY1ZXMgZGlzcG9uaWJsaXphZGFzIHBlbGEgQVBJIEF3ZXNvbWVBUEksIHF1ZSBwb2RlIHNlciBjb25zdWx0YWRhIGRpcmV0YW1lbnRlIGFjZXNzYW5kbyBvIGVuZGVyZVx1MDBlN28gZWxldHJvbmljbyBodHRwczovL2RvY3MuYXdlc29tZWFwaS5jb20uYnIuIiwKICAibmFtZSI6ICJEb2xsYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxkZW1hdHRvcy9kb2xsYXItZG90cHljLmNvbSIsCiAgInV1aWQiOiAiZG9sbGFyQGRvdHB5Yy5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "0100dspvm8ryqday9dqm76ykc9n9sikv3098yn6a92kpz9kgxacm", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvdGFcdTAwZTdcdTAwZjVlcyBkbyAoVVNEIERcdTAwZjNsYXIgQW1lcmljYW5vKSBjb252ZXJ0aWRvIHBhcmEgKEJSTCBSZWFsIEJyYXNpbGVpcm8pLlxuXG5BcyBhdHVhbGl6YVx1MDBlN1x1MDBmNWVzIHNcdTAwZTNvIHJlY2ViaWRhcyBhIGNhZGEgMzAgc2VndW5kb3MgZSB1dGlsaXphIGNvbW8gYmFzZSBpbmZvcm1hXHUwMGU3XHUwMGY1ZXMgZGlzcG9uaWJsaXphZGFzIHBlbGEgQVBJIEF3ZXNvbWVBUEksIHF1ZSBwb2RlIHNlciBjb25zdWx0YWRhIGRpcmV0YW1lbnRlIGFjZXNzYW5kbyBvIGVuZGVyZVx1MDBlN28gZWxldHJvbmljbyBodHRwczovL2RvY3MuYXdlc29tZWFwaS5jb20uYnIuIiwKICAibmFtZSI6ICJEb2xsYXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21pY2hhZWxkZW1hdHRvcy9kb2xsYXItZG90cHljLmNvbSIsCiAgInV1aWQiOiAiZG9sbGFyQGRvdHB5Yy5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "activate_gnome@isjerryxiao", "name": "Activate Gnome", "pname": "activate_gnome", "description": "Shows Activate Gnome watermark on your screen.", "link": "https://extensions.gnome.org/extension/4574/activate_gnome/", "shell_version_map": {"40": {"version": "3", "sha256": "1hmadwwzm6m9vg4wxz6lvalh9bvi2fnhzjyg9f4whzb5zp8klc4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdub21lIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdub21lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pc2plcnJ5eGlhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWN0aXZhdGUtZ25vbWUiLAogICJ1dWlkIjogImFjdGl2YXRlX2dub21lQGlzamVycnl4aWFvIiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "1hmadwwzm6m9vg4wxz6lvalh9bvi2fnhzjyg9f4whzb5zp8klc4p", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIEFjdGl2YXRlIEdub21lIHdhdGVybWFyayBvbiB5b3VyIHNjcmVlbi4iLAogICJuYW1lIjogIkFjdGl2YXRlIEdub21lIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmFjdGl2YXRlX2dub21lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pc2plcnJ5eGlhby9nbm9tZS1zaGVsbC1leHRlbnNpb24tYWN0aXZhdGUtZ25vbWUiLAogICJ1dWlkIjogImFjdGl2YXRlX2dub21lQGlzamVycnl4aWFvIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
-, {"uuid": "huawei-wmi@apps.sdore.me", "name": "Huawei WMI controls", "pname": "huawei-wmi-controls", "description": "Control various Huawei & Honor laptops WMI functions, such as battery protection, Fn-lock and keyboard backlight (just not yet).", "link": "https://extensions.gnome.org/extension/4580/huawei-wmi-controls/", "shell_version_map": {"40": {"version": "2", "sha256": "12qmk8k8hyaa9d4zsy9j2778yj7k6nlfhry0x81197nxkbfqqf1c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgJiBIb25vciBsYXB0b3BzIFdNSSBmdW5jdGlvbnMsIHN1Y2ggYXMgYmF0dGVyeSBwcm90ZWN0aW9uLCBGbi1sb2NrIGFuZCBrZXlib2FyZCBiYWNrbGlnaHQgKGp1c3Qgbm90IHlldCkuIiwKICAibmFtZSI6ICJIdWF3ZWkgV01JIGNvbnRyb2xzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "12qmk8k8hyaa9d4zsy9j2778yj7k6nlfhry0x81197nxkbfqqf1c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgJiBIb25vciBsYXB0b3BzIFdNSSBmdW5jdGlvbnMsIHN1Y2ggYXMgYmF0dGVyeSBwcm90ZWN0aW9uLCBGbi1sb2NrIGFuZCBrZXlib2FyZCBiYWNrbGlnaHQgKGp1c3Qgbm90IHlldCkuIiwKICAibmFtZSI6ICJIdWF3ZWkgV01JIGNvbnRyb2xzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vYXBwcy5zZG9yZS5tZS9nbm9tZS1leHRlbnNpb24taHVhd2VpLXdtaSIsCiAgInV1aWQiOiAiaHVhd2VpLXdtaUBhcHBzLnNkb3JlLm1lIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "huawei-wmi@apps.sdore.me", "name": "Huawei WMI controls", "pname": "huawei-wmi-controls", "description": "Control various Huawei and Honor laptops WMI functions, such as battery protection, Fn-lock and keyboard backlight (just not yet).\n\nNote: needs https://github.com/qu1x/huawei-wmi udev rules (or similar) to work.", "link": "https://extensions.gnome.org/extension/4580/huawei-wmi-controls/", "shell_version_map": {"40": {"version": "2", "sha256": "10pzh853nlw5xyws6qa5iqkrac9n42zf73y2jyyg6lmgpkxvzqsg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2sgYW5kIGtleWJvYXJkIGJhY2tsaWdodCAoanVzdCBub3QgeWV0KS5cblxuTm90ZTogbmVlZHMgaHR0cHM6Ly9naXRodWIuY29tL3F1MXgvaHVhd2VpLXdtaSB1ZGV2IHJ1bGVzIChvciBzaW1pbGFyKSB0byB3b3JrLiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "10pzh853nlw5xyws6qa5iqkrac9n42zf73y2jyyg6lmgpkxvzqsg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgdmFyaW91cyBIdWF3ZWkgYW5kIEhvbm9yIGxhcHRvcHMgV01JIGZ1bmN0aW9ucywgc3VjaCBhcyBiYXR0ZXJ5IHByb3RlY3Rpb24sIEZuLWxvY2sgYW5kIGtleWJvYXJkIGJhY2tsaWdodCAoanVzdCBub3QgeWV0KS5cblxuTm90ZTogbmVlZHMgaHR0cHM6Ly9naXRodWIuY29tL3F1MXgvaHVhd2VpLXdtaSB1ZGV2IHJ1bGVzIChvciBzaW1pbGFyKSB0byB3b3JrLiIsCiAgIm5hbWUiOiAiSHVhd2VpIFdNSSBjb250cm9scyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2FwcHMuc2RvcmUubWUvZ25vbWUtZXh0ZW5zaW9uLWh1YXdlaS13bWkiLAogICJ1dWlkIjogImh1YXdlaS13bWlAYXBwcy5zZG9yZS5tZSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "username-hotname@it-und-entwicklung-fg.de", "name": "Username and Hostname to panel", "pname": "username-and-hostname-to-panel", "description": "Adds your avatar icon, user displayname und username to the menu panel. Also it adds the hostname to the left of the panel.", "link": "https://extensions.gnome.org/extension/4583/username-and-hostname-to-panel/", "shell_version_map": {"38": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0v98gymiw2pdczvndrvj3lsyhwi8ps0jldry1ykm9aghb05s13gx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgeW91ciBhdmF0YXIgaWNvbiwgdXNlciBkaXNwbGF5bmFtZSB1bmQgdXNlcm5hbWUgdG8gdGhlIG1lbnUgcGFuZWwuIEFsc28gaXQgYWRkcyB0aGUgaG9zdG5hbWUgdG8gdGhlIGxlZnQgb2YgdGhlIHBhbmVsLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJ1c2VybmFtZS1ob3RuYW1lIiwKICAibmFtZSI6ICJVc2VybmFtZSBhbmQgSG9zdG5hbWUgdG8gcGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2l0LWVudHdpY2tsdW5nLWZnL1VzZXJuYW1lLWFuZC1Ib3N0bmFtZSIsCiAgInV1aWQiOiAidXNlcm5hbWUtaG90bmFtZUBpdC11bmQtZW50d2lja2x1bmctZmcuZGUiLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "InternetSpeedMonitor@Rishu", "name": "Internet Speed Monitor", "pname": "internet-speed-monitor", "description": "Extension to Monitor Internet Speed and Daily Data Usage minimally.\n\nNew update for shell version 3.34+ : Added option to choose what to display in settings menu", "link": "https://extensions.gnome.org/extension/4585/internet-speed-monitor/", "shell_version_map": {"38": {"version": "5", "sha256": "0v4za9lcc7p861vyrnwwza1sizgzj2nv3yz1aixlsbq22d7zf0ac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cblxuTmV3IHVwZGF0ZSBmb3Igc2hlbGwgdmVyc2lvbiAzLjM0KyA6IEFkZGVkIG9wdGlvbiB0byBjaG9vc2Ugd2hhdCB0byBkaXNwbGF5IGluIHNldHRpbmdzIG1lbnUiLAogICJuYW1lIjogIkludGVybmV0IFNwZWVkIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Jpc2h1aW5maW5pdHkvSW50ZXJuZXRTcGVlZE1vbml0b3IiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNb25pdG9yQFJpc2h1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "40": {"version": "5", "sha256": "0v4za9lcc7p861vyrnwwza1sizgzj2nv3yz1aixlsbq22d7zf0ac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cblxuTmV3IHVwZGF0ZSBmb3Igc2hlbGwgdmVyc2lvbiAzLjM0KyA6IEFkZGVkIG9wdGlvbiB0byBjaG9vc2Ugd2hhdCB0byBkaXNwbGF5IGluIHNldHRpbmdzIG1lbnUiLAogICJuYW1lIjogIkludGVybmV0IFNwZWVkIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Jpc2h1aW5maW5pdHkvSW50ZXJuZXRTcGVlZE1vbml0b3IiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNb25pdG9yQFJpc2h1IiwKICAidmVyc2lvbiI6IDUKfQ=="}, "41": {"version": "5", "sha256": "0v4za9lcc7p861vyrnwwza1sizgzj2nv3yz1aixlsbq22d7zf0ac", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkV4dGVuc2lvbiB0byBNb25pdG9yIEludGVybmV0IFNwZWVkIGFuZCBEYWlseSBEYXRhIFVzYWdlIG1pbmltYWxseS5cblxuTmV3IHVwZGF0ZSBmb3Igc2hlbGwgdmVyc2lvbiAzLjM0KyA6IEFkZGVkIG9wdGlvbiB0byBjaG9vc2Ugd2hhdCB0byBkaXNwbGF5IGluIHNldHRpbmdzIG1lbnUiLAogICJuYW1lIjogIkludGVybmV0IFNwZWVkIE1vbml0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzQiLAogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Jpc2h1aW5maW5pdHkvSW50ZXJuZXRTcGVlZE1vbml0b3IiLAogICJ1dWlkIjogIkludGVybmV0U3BlZWRNb25pdG9yQFJpc2h1IiwKICAidmVyc2lvbiI6IDUKfQ=="}}}
 , {"uuid": "simulate-switching-workspaces-on-active-monitor@micheledaros.com", "name": "Switch workspaces on active monitor", "pname": "switch-workspaces-on-active-monitor", "description": "Simulates switching the workspace on the active monitor only. Ctrl+Alt+q switches to the previous workspace, Ctrl+Alt+a switches to the next", "link": "https://extensions.gnome.org/extension/4586/switch-workspaces-on-active-monitor/", "shell_version_map": {"38": {"version": "7", "sha256": "13wm1xq452ik57mxx3v9h56dlhhjng326kw2cqgj365h7k6bjs99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoZWxlZGFyb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAidXVpZCI6ICJzaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvckBtaWNoZWxlZGFyb3MuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "40": {"version": "7", "sha256": "13wm1xq452ik57mxx3v9h56dlhhjng326kw2cqgj365h7k6bjs99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoZWxlZGFyb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAidXVpZCI6ICJzaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvckBtaWNoZWxlZGFyb3MuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "13wm1xq452ik57mxx3v9h56dlhhjng326kw2cqgj365h7k6bjs99", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXVsYXRlcyBzd2l0Y2hpbmcgdGhlIHdvcmtzcGFjZSBvbiB0aGUgYWN0aXZlIG1vbml0b3Igb25seS4gQ3RybCtBbHQrcSBzd2l0Y2hlcyB0byB0aGUgcHJldmlvdXMgd29ya3NwYWNlLCBDdHJsK0FsdCthIHN3aXRjaGVzIHRvIHRoZSBuZXh0IiwKICAibmFtZSI6ICJTd2l0Y2ggd29ya3NwYWNlcyBvbiBhY3RpdmUgbW9uaXRvciIsCiAgIm9yaWdpbmFsLWF1dGhvcnMiOiAiZGFyb3NtaWNAZ21haWwuY29tIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taWNoZWxlZGFyb3MvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLXNpbXVsYXRlLXN3aXRjaGluZy13b3Jrc3BhY2VzLW9uLWFjdGl2ZS1tb25pdG9yIiwKICAidXVpZCI6ICJzaW11bGF0ZS1zd2l0Y2hpbmctd29ya3NwYWNlcy1vbi1hY3RpdmUtbW9uaXRvckBtaWNoZWxlZGFyb3MuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
@@ -610,7 +613,7 @@
 , {"uuid": "alphatint@saifulbkhan.github.com", "name": "AlphaTint", "pname": "alphatint", "description": "Artificially reduce brightness of your displays (including external monitors).\n\nIt is a fork of ColorTint modified to reduce brightness without an alpha channel.", "link": "https://extensions.gnome.org/extension/4624/alphatint/", "shell_version_map": {"40": {"version": "4", "sha256": "0yzip19k148y7yjkgxirhmi5sqj8brgnxij310ka5sl3big95rqb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "0yzip19k148y7yjkgxirhmi5sqj8brgnxij310ka5sl3big95rqb", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFydGlmaWNpYWxseSByZWR1Y2UgYnJpZ2h0bmVzcyBvZiB5b3VyIGRpc3BsYXlzIChpbmNsdWRpbmcgZXh0ZXJuYWwgbW9uaXRvcnMpLlxuXG5JdCBpcyBhIGZvcmsgb2YgQ29sb3JUaW50IG1vZGlmaWVkIHRvIHJlZHVjZSBicmlnaHRuZXNzIHdpdGhvdXQgYW4gYWxwaGEgY2hhbm5lbC4iLAogICJuYW1lIjogIkFscGhhVGludCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vc2FpZnVsYmtoYW4vYWxwaGEtdGludCIsCiAgInV1aWQiOiAiYWxwaGF0aW50QHNhaWZ1bGJraGFuLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
 , {"uuid": "focus-changer@heartmire", "name": "Focus changer", "pname": "focus-changer", "description": "Change focus between windows in all directions.\n\nThe extension will first try to find a suitable window within the same monitor. If there is none, it will try to find one on the next monitor in that direction (in a multi-monitor setup).\n\nDefault shortcuts (can be changed in preferences):\n<Super>+h = Focus left\n<Super>+j = Focus down\n<Super>+k = Focus up\n<Super>+l = Focus right", "link": "https://extensions.gnome.org/extension/4627/focus-changer/", "shell_version_map": {"38": {"version": "9", "sha256": "0ngn0bw0f2fpp0vv4hq7gb0vx2xq2gk3nkkb6p393i9qbr42l3y1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL21hcnRpbmhqYXJ0bXlyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1mb2N1cy1jaGFuZ2VyIiwKICAidXVpZCI6ICJmb2N1cy1jaGFuZ2VyQGhlYXJ0bWlyZSIsCiAgInZlcnNpb24iOiA5Cn0="}, "40": {"version": "8", "sha256": "0lcws0mgf72pl8q9q4finfkkzxic22f6gfljfkv5yghl8v1ksv06", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFydGluaGphcnRteXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZvY3VzLWNoYW5nZXIiLAogICJ1dWlkIjogImZvY3VzLWNoYW5nZXJAaGVhcnRtaXJlIiwKICAidmVyc2lvbiI6IDgKfQ=="}, "41": {"version": "8", "sha256": "0lcws0mgf72pl8q9q4finfkkzxic22f6gfljfkv5yghl8v1ksv06", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNoYW5nZSBmb2N1cyBiZXR3ZWVuIHdpbmRvd3MgaW4gYWxsIGRpcmVjdGlvbnMuXG5cblRoZSBleHRlbnNpb24gd2lsbCBmaXJzdCB0cnkgdG8gZmluZCBhIHN1aXRhYmxlIHdpbmRvdyB3aXRoaW4gdGhlIHNhbWUgbW9uaXRvci4gSWYgdGhlcmUgaXMgbm9uZSwgaXQgd2lsbCB0cnkgdG8gZmluZCBvbmUgb24gdGhlIG5leHQgbW9uaXRvciBpbiB0aGF0IGRpcmVjdGlvbiAoaW4gYSBtdWx0aS1tb25pdG9yIHNldHVwKS5cblxuRGVmYXVsdCBzaG9ydGN1dHMgKGNhbiBiZSBjaGFuZ2VkIGluIHByZWZlcmVuY2VzKTpcbjxTdXBlcj4raCA9IEZvY3VzIGxlZnRcbjxTdXBlcj4raiA9IEZvY3VzIGRvd25cbjxTdXBlcj4rayA9IEZvY3VzIHVwXG48U3VwZXI+K2wgPSBGb2N1cyByaWdodCIsCiAgIm5hbWUiOiAiRm9jdXMgY2hhbmdlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWFydGluaGphcnRteXIvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWZvY3VzLWNoYW5nZXIiLAogICJ1dWlkIjogImZvY3VzLWNoYW5nZXJAaGVhcnRtaXJlIiwKICAidmVyc2lvbiI6IDgKfQ=="}}}
 , {"uuid": "no-titlebar-when-maximized@alec.ninja", "name": "No Titlebar When Maximized", "pname": "no-titlebar-when-maximized", "description": "Hides the classic title bar of maximized X.Org windows", "link": "https://extensions.gnome.org/extension/4630/no-titlebar-when-maximized/", "shell_version_map": {"41": {"version": "4", "sha256": "08vdlmv471b7v0c3h0p2yky7rmrrjrazn3in7qqmfvlp28j3hasl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGVzIHRoZSBjbGFzc2ljIHRpdGxlIGJhciBvZiBtYXhpbWl6ZWQgWC5Pcmcgd2luZG93cyIsCiAgIm5hbWUiOiAiTm8gVGl0bGViYXIgV2hlbiBNYXhpbWl6ZWQiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vYWxlY2RvdG5pbmphL25vLXRpdGxlYmFyLXdoZW4tbWF4aW1pemVkIiwKICAidXVpZCI6ICJuby10aXRsZWJhci13aGVuLW1heGltaXplZEBhbGVjLm5pbmphIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
-, {"uuid": "cryptowatch@d0x2f.github.com", "name": "CryptoWatch", "pname": "cryptowatch", "description": "Display live crypto portfolio balances.", "link": "https://extensions.gnome.org/extension/4633/cryptowatch/", "shell_version_map": {"40": {"version": "5", "sha256": "1yxlqbqw1j2gsydfqiz6xqdl6yv6iww90c1l8f1y6601p8979rc0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZDB4MmYvQ3J5cHRvV2F0Y2giLAogICJ1dWlkIjogImNyeXB0b3dhdGNoQGQweDJmLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1yxlqbqw1j2gsydfqiz6xqdl6yv6iww90c1l8f1y6601p8979rc0", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZDB4MmYvQ3J5cHRvV2F0Y2giLAogICJ1dWlkIjogImNyeXB0b3dhdGNoQGQweDJmLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "cryptowatch@d0x2f.github.com", "name": "CryptoWatch", "pname": "cryptowatch", "description": "Display live crypto portfolio balances.", "link": "https://extensions.gnome.org/extension/4633/cryptowatch/", "shell_version_map": {"40": {"version": "7", "sha256": "0wrvkj0ls103wzxbx8xsl79srmg5rfy046nr1nkrf83h06dn65pv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZDB4MmYvQ3J5cHRvV2F0Y2giLAogICJ1dWlkIjogImNyeXB0b3dhdGNoQGQweDJmLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "0wrvkj0ls103wzxbx8xsl79srmg5rfy046nr1nkrf83h06dn65pv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc3BsYXkgbGl2ZSBjcnlwdG8gcG9ydGZvbGlvIGJhbGFuY2VzLiIsCiAgImV4dGVuc2lvbi1pZCI6ICJjcnlwdG93YXRjaCIsCiAgImdldHRleHQtZG9tYWluIjogImNyeXB0b3dhdGNoIiwKICAibmFtZSI6ICJDcnlwdG9XYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jcnlwdG93YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZDB4MmYvQ3J5cHRvV2F0Y2giLAogICJ1dWlkIjogImNyeXB0b3dhdGNoQGQweDJmLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "mousefollowsfocus@matthes.biz", "name": "Mouse Follows Focus", "pname": "mouse-follows-focus", "description": "Are you a power-user?\nDo you like using Super+1,2,3 to access your favorite apps?\nAre you annoyed that you have to manually move your mouse between screens because it can't keep up with your keyboard shortcuts?\nThen this extension is for you!\n\nThis simple GNOME shell extension does the opposite of the 'focus follows mouse' setting. It makes the mouse follow your keyboard focus. Whenever you focus a window, if the cursor isn't already in it, it will jump to the windows center, making it easy to interact with it.", "link": "https://extensions.gnome.org/extension/4642/mouse-follows-focus/", "shell_version_map": {"41": {"version": "4", "sha256": "1zsy76sab87s74p30sxdp1cki1w956gm0sw27anpx1z6yih50rdv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFyZSB5b3UgYSBwb3dlci11c2VyP1xuRG8geW91IGxpa2UgdXNpbmcgU3VwZXIrMSwyLDMgdG8gYWNjZXNzIHlvdXIgZmF2b3JpdGUgYXBwcz9cbkFyZSB5b3UgYW5ub3llZCB0aGF0IHlvdSBoYXZlIHRvIG1hbnVhbGx5IG1vdmUgeW91ciBtb3VzZSBiZXR3ZWVuIHNjcmVlbnMgYmVjYXVzZSBpdCBjYW4ndCBrZWVwIHVwIHdpdGggeW91ciBrZXlib2FyZCBzaG9ydGN1dHM/XG5UaGVuIHRoaXMgZXh0ZW5zaW9uIGlzIGZvciB5b3UhXG5cblRoaXMgc2ltcGxlIEdOT01FIHNoZWxsIGV4dGVuc2lvbiBkb2VzIHRoZSBvcHBvc2l0ZSBvZiB0aGUgJ2ZvY3VzIGZvbGxvd3MgbW91c2UnIHNldHRpbmcuIEl0IG1ha2VzIHRoZSBtb3VzZSBmb2xsb3cgeW91ciBrZXlib2FyZCBmb2N1cy4gV2hlbmV2ZXIgeW91IGZvY3VzIGEgd2luZG93LCBpZiB0aGUgY3Vyc29yIGlzbid0IGFscmVhZHkgaW4gaXQsIGl0IHdpbGwganVtcCB0byB0aGUgd2luZG93cyBjZW50ZXIsIG1ha2luZyBpdCBlYXN5IHRvIGludGVyYWN0IHdpdGggaXQuIiwKICAibmFtZSI6ICJNb3VzZSBGb2xsb3dzIEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0xlb25NYXR0aGVzL21vdXNlZm9sbG93c2ZvY3VzIiwKICAidXVpZCI6ICJtb3VzZWZvbGxvd3Nmb2N1c0BtYXR0aGVzLmJpeiIsCiAgInZlcnNpb24iOiA0Cn0="}}}
 , {"uuid": "gnome-extension-pass-search-provider.lavrov.github.com", "name": "Pass Search Provider", "pname": "pass-search-provider", "description": "Shows matching pass entries in gnome search", "link": "https://extensions.gnome.org/extension/4645/pass-search-provider/", "shell_version_map": {"40": {"version": "6", "sha256": "06msk4zds1q6jjdw6g7akbsiyfz0avwvydpykcylhhc9ribzsncn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIG1hdGNoaW5nIHBhc3MgZW50cmllcyBpbiBnbm9tZSBzZWFyY2giLAogICJuYW1lIjogIlBhc3MgU2VhcmNoIFByb3ZpZGVyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2xhdnJvdi9nbm9tZS1leHRlbnNpb24tcGFzcy1zZWFyY2gtcHJvdmlkZXIiLAogICJ1dWlkIjogImdub21lLWV4dGVuc2lvbi1wYXNzLXNlYXJjaC1wcm92aWRlci5sYXZyb3YuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiA2Cn0="}}}
 , {"uuid": "desktop-cube@schneegans.github.com", "name": "Desktop Cube", "pname": "desktop-cube", "description": "Indulge in nostalgia with useless 3D effects.", "link": "https://extensions.gnome.org/extension/4648/desktop-cube/", "shell_version_map": {"40": {"version": "7", "sha256": "03valwb8s7i1l0sl8k7h060m8wryj9dwix2wpjbzz8skrsh9vjgn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9EZXNrdG9wLUN1YmUiLAogICJ1dWlkIjogImRlc2t0b3AtY3ViZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}, "41": {"version": "7", "sha256": "03valwb8s7i1l0sl8k7h060m8wryj9dwix2wpjbzz8skrsh9vjgn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZHVsZ2UgaW4gbm9zdGFsZ2lhIHdpdGggdXNlbGVzcyAzRCBlZmZlY3RzLiIsCiAgImdldHRleHQtZG9tYWluIjogImRlc2t0b3AtY3ViZSIsCiAgIm5hbWUiOiAiRGVza3RvcCBDdWJlIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmRlc2t0b3AtY3ViZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vU2NobmVlZ2Fucy9EZXNrdG9wLUN1YmUiLAogICJ1dWlkIjogImRlc2t0b3AtY3ViZUBzY2huZWVnYW5zLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
@@ -624,18 +627,18 @@
 , {"uuid": "cloudflare-warp-gnome@harshan01", "name": "Cloudflare 1.1.1.1 WARP Switcher", "pname": "cloudflare-1111-warp-switcher", "description": "Unofficial Cloudflare 1.1.1.1 WARP Switcher extension for GNOME shell", "link": "https://extensions.gnome.org/extension/4670/cloudflare-1111-warp-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "0r4m8ga3l31gbi3pxvpnc4w98ik4ixn609hj1nqj3c95f3ld97z3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGFyc2hhbjAxL0Nsb3VkZmxhcmUtV0FSUC1HTk9NRS1Td2l0Y2hlciIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZS13YXJwLWdub21lQGhhcnNoYW4wMSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0r4m8ga3l31gbi3pxvpnc4w98ik4ixn609hj1nqj3c95f3ld97z3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlVub2ZmaWNpYWwgQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIgZXh0ZW5zaW9uIGZvciBHTk9NRSBzaGVsbCIsCiAgIm5hbWUiOiAiQ2xvdWRmbGFyZSAxLjEuMS4xIFdBUlAgU3dpdGNoZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vSGFyc2hhbjAxL0Nsb3VkZmxhcmUtV0FSUC1HTk9NRS1Td2l0Y2hlciIsCiAgInV1aWQiOiAiY2xvdWRmbGFyZS13YXJwLWdub21lQGhhcnNoYW4wMSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "alt-tab-move-mouse@buzztaiki.github.com", "name": "Alt-Tab Move Mouse", "pname": "alt-tab-move-mouse", "description": "Move mouse pointer onto active window after Alt-Tab. This extension is workaround of some sloppy focus problems", "link": "https://extensions.gnome.org/extension/4673/alt-tab-move-mouse/", "shell_version_map": {"40": {"version": "1", "sha256": "0dl2v61v2iqnf1qk7dsi60bm68kk4kc16jbrk9knw4ys8n35bxy3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgbW91c2UgcG9pbnRlciBvbnRvIGFjdGl2ZSB3aW5kb3cgYWZ0ZXIgQWx0LVRhYi4gVGhpcyBleHRlbnNpb24gaXMgd29ya2Fyb3VuZCBvZiBzb21lIHNsb3BweSBmb2N1cyBwcm9ibGVtcyIsCiAgIm5hbWUiOiAiQWx0LVRhYiBNb3ZlIE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXp6dGFpa2kvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsdC10YWItbW92ZS1tb3VzZSIsCiAgInV1aWQiOiAiYWx0LXRhYi1tb3ZlLW1vdXNlQGJ1enp0YWlraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "0dl2v61v2iqnf1qk7dsi60bm68kk4kc16jbrk9knw4ys8n35bxy3", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1vdmUgbW91c2UgcG9pbnRlciBvbnRvIGFjdGl2ZSB3aW5kb3cgYWZ0ZXIgQWx0LVRhYi4gVGhpcyBleHRlbnNpb24gaXMgd29ya2Fyb3VuZCBvZiBzb21lIHNsb3BweSBmb2N1cyBwcm9ibGVtcyIsCiAgIm5hbWUiOiAiQWx0LVRhYiBNb3ZlIE1vdXNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9idXp6dGFpa2kvZ25vbWUtc2hlbGwtZXh0ZW5zaW9uLWFsdC10YWItbW92ZS1tb3VzZSIsCiAgInV1aWQiOiAiYWx0LXRhYi1tb3ZlLW1vdXNlQGJ1enp0YWlraS5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "Server@sven.kramer", "name": "Server", "pname": "server", "description": "A simple Indicator that shows my home-server status (online / offline) on the main panel. Furthermore a wake on lan can be triggered. For WOL functionality, its necessary that you have 'wakeonlan' installed. This extension is only tested with Gnome 40+. Didnt test it yet with older versions.", "link": "https://extensions.gnome.org/extension/4676/server/", "shell_version_map": {"38": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}, "40": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1dcy5kw5797wjjdg85hc16vh82c3xjs2xdn3m573rqs3fjayy507", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgc2ltcGxlIEluZGljYXRvciB0aGF0IHNob3dzIG15IGhvbWUtc2VydmVyIHN0YXR1cyAob25saW5lIC8gb2ZmbGluZSkgb24gdGhlIG1haW4gcGFuZWwuIEZ1cnRoZXJtb3JlIGEgd2FrZSBvbiBsYW4gY2FuIGJlIHRyaWdnZXJlZC4gRm9yIFdPTCBmdW5jdGlvbmFsaXR5LCBpdHMgbmVjZXNzYXJ5IHRoYXQgeW91IGhhdmUgJ3dha2VvbmxhbicgaW5zdGFsbGVkLiBUaGlzIGV4dGVuc2lvbiBpcyBvbmx5IHRlc3RlZCB3aXRoIEdub21lIDQwKy4gRGlkbnQgdGVzdCBpdCB5ZXQgd2l0aCBvbGRlciB2ZXJzaW9ucy4iLAogICJuYW1lIjogIlNlcnZlciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5TZXJ2ZXIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJTZXJ2ZXJAc3Zlbi5rcmFtZXIiLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "burn-my-windows@schneegans.github.com", "name": "Burn My Windows", "pname": "burn-my-windows", "description": "Disintegrate your apps with style.", "link": "https://extensions.gnome.org/extension/4679/burn-my-windows/", "shell_version_map": {"38": {"version": "9", "sha256": "09nlh3i783i9yiiv64vw3jzfllmv5ciwvxzw3lsp0402k5gg38a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIGFwcHMgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "40": {"version": "9", "sha256": "09nlh3i783i9yiiv64vw3jzfllmv5ciwvxzw3lsp0402k5gg38a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIGFwcHMgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}, "41": {"version": "9", "sha256": "09nlh3i783i9yiiv64vw3jzfllmv5ciwvxzw3lsp0402k5gg38a6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIGFwcHMgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1NjaG5lZWdhbnMvQnVybi1NeS1XaW5kb3dzIiwKICAidXVpZCI6ICJidXJuLW15LXdpbmRvd3NAc2NobmVlZ2Fucy5naXRodWIuY29tIiwKICAidmVyc2lvbiI6IDkKfQ=="}}}
+, {"uuid": "burn-my-windows@schneegans.github.com", "name": "Burn My Windows", "pname": "burn-my-windows", "description": "Disintegrate your windows with style.", "link": "https://extensions.gnome.org/extension/4679/burn-my-windows/", "shell_version_map": {"38": {"version": "12", "sha256": "0h40gzbm1kf3mm6xsdibjkbwhgy7vjqyp3nnjs97apfz99pm5a60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "40": {"version": "12", "sha256": "0h40gzbm1kf3mm6xsdibjkbwhgy7vjqyp3nnjs97apfz99pm5a60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}, "41": {"version": "12", "sha256": "0h40gzbm1kf3mm6xsdibjkbwhgy7vjqyp3nnjs97apfz99pm5a60", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRpc2ludGVncmF0ZSB5b3VyIHdpbmRvd3Mgd2l0aCBzdHlsZS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJidXJuLW15LXdpbmRvd3MiLAogICJuYW1lIjogIkJ1cm4gTXkgV2luZG93cyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5idXJuLW15LXdpbmRvd3MiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TY2huZWVnYW5zL0J1cm4tTXktV2luZG93cyIsCiAgInV1aWQiOiAiYnVybi1teS13aW5kb3dzQHNjaG5lZWdhbnMuZ2l0aHViLmNvbSIsCiAgInZlcnNpb24iOiAxMgp9"}}}
 , {"uuid": "babar-lite@fthx", "name": "BaBar Lite", "pname": "babar-task-bar-lite-for-gnome-40", "description": "Task bar. App grid, favorites, workspaces and tasks in panel. Light extension.\n\n Replace 'Activities' button by all current workspaces and apps buttons. Switch workspace/app or toggle overview by clicking on these buttons. Drag and drop favorite, task, dash item or app grid item to any workspace (you cannot reorder tasks inside a workspace). Change 'Places' label to an icon. No settings, use BaBar classic for that.\n\n You can use names for workspaces: there are two ways for that. 1) Edit the string array 'org.gnome.desktop.wm.preferences.workspace-names' gsettings key (through dconf editor, e.g.). 2) Use official GNOME extension Workspaces Indicator's settings. You don't have to write a long enough list: numbers are displayed if no workspace name is defined.", "link": "https://extensions.gnome.org/extension/4681/babar-task-bar-lite-for-gnome-40/", "shell_version_map": {"40": {"version": "2", "sha256": "01m48bwpn1as90ahpnl9ari3s2bj8423032nw12ac45wwcnb9yvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gTm8gc2V0dGluZ3MsIHVzZSBCYUJhciBjbGFzc2ljIGZvciB0aGF0LlxuXG4gWW91IGNhbiB1c2UgbmFtZXMgZm9yIHdvcmtzcGFjZXM6IHRoZXJlIGFyZSB0d28gd2F5cyBmb3IgdGhhdC4gMSkgRWRpdCB0aGUgc3RyaW5nIGFycmF5ICdvcmcuZ25vbWUuZGVza3RvcC53bS5wcmVmZXJlbmNlcy53b3Jrc3BhY2UtbmFtZXMnIGdzZXR0aW5ncyBrZXkgKHRocm91Z2ggZGNvbmYgZWRpdG9yLCBlLmcuKS4gMikgVXNlIG9mZmljaWFsIEdOT01FIGV4dGVuc2lvbiBXb3Jrc3BhY2VzIEluZGljYXRvcidzIHNldHRpbmdzLiBZb3UgZG9uJ3QgaGF2ZSB0byB3cml0ZSBhIGxvbmcgZW5vdWdoIGxpc3Q6IG51bWJlcnMgYXJlIGRpc3BsYXllZCBpZiBubyB3b3Jrc3BhY2UgbmFtZSBpcyBkZWZpbmVkLiIsCiAgIm5hbWUiOiAiQmFCYXIgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXItbGl0ZSIsCiAgInV1aWQiOiAiYmFiYXItbGl0ZUBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "01m48bwpn1as90ahpnl9ari3s2bj8423032nw12ac45wwcnb9yvj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRhc2sgYmFyLiBBcHAgZ3JpZCwgZmF2b3JpdGVzLCB3b3Jrc3BhY2VzIGFuZCB0YXNrcyBpbiBwYW5lbC4gTGlnaHQgZXh0ZW5zaW9uLlxuXG4gUmVwbGFjZSAnQWN0aXZpdGllcycgYnV0dG9uIGJ5IGFsbCBjdXJyZW50IHdvcmtzcGFjZXMgYW5kIGFwcHMgYnV0dG9ucy4gU3dpdGNoIHdvcmtzcGFjZS9hcHAgb3IgdG9nZ2xlIG92ZXJ2aWV3IGJ5IGNsaWNraW5nIG9uIHRoZXNlIGJ1dHRvbnMuIERyYWcgYW5kIGRyb3AgZmF2b3JpdGUsIHRhc2ssIGRhc2ggaXRlbSBvciBhcHAgZ3JpZCBpdGVtIHRvIGFueSB3b3Jrc3BhY2UgKHlvdSBjYW5ub3QgcmVvcmRlciB0YXNrcyBpbnNpZGUgYSB3b3Jrc3BhY2UpLiBDaGFuZ2UgJ1BsYWNlcycgbGFiZWwgdG8gYW4gaWNvbi4gTm8gc2V0dGluZ3MsIHVzZSBCYUJhciBjbGFzc2ljIGZvciB0aGF0LlxuXG4gWW91IGNhbiB1c2UgbmFtZXMgZm9yIHdvcmtzcGFjZXM6IHRoZXJlIGFyZSB0d28gd2F5cyBmb3IgdGhhdC4gMSkgRWRpdCB0aGUgc3RyaW5nIGFycmF5ICdvcmcuZ25vbWUuZGVza3RvcC53bS5wcmVmZXJlbmNlcy53b3Jrc3BhY2UtbmFtZXMnIGdzZXR0aW5ncyBrZXkgKHRocm91Z2ggZGNvbmYgZWRpdG9yLCBlLmcuKS4gMikgVXNlIG9mZmljaWFsIEdOT01FIGV4dGVuc2lvbiBXb3Jrc3BhY2VzIEluZGljYXRvcidzIHNldHRpbmdzLiBZb3UgZG9uJ3QgaGF2ZSB0byB3cml0ZSBhIGxvbmcgZW5vdWdoIGxpc3Q6IG51bWJlcnMgYXJlIGRpc3BsYXllZCBpZiBubyB3b3Jrc3BhY2UgbmFtZSBpcyBkZWZpbmVkLiIsCiAgIm5hbWUiOiAiQmFCYXIgTGl0ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2Z0aHgvYmFiYXItbGl0ZSIsCiAgInV1aWQiOiAiYmFiYXItbGl0ZUBmdGh4IiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
-, {"uuid": "useless-gaps@pimsnel.com", "name": "Useless Gaps", "pname": "useless-gaps", "description": "For aesthetic purposes, adds \"useless gaps\" around tiled and maximized windows.", "link": "https://extensions.gnome.org/extension/4684/useless-gaps/", "shell_version_map": {"38": {"version": "4", "sha256": "11d3i2hmgrzpcfbfni68ikjp53wlvkdzwx1664wrcdsmkwddywzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMsIGFkZHMgXCJ1c2VsZXNzIGdhcHNcIiBhcm91bmQgdGlsZWQgYW5kIG1heGltaXplZCB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "11d3i2hmgrzpcfbfni68ikjp53wlvkdzwx1664wrcdsmkwddywzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMsIGFkZHMgXCJ1c2VsZXNzIGdhcHNcIiBhcm91bmQgdGlsZWQgYW5kIG1heGltaXplZCB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "11d3i2hmgrzpcfbfni68ikjp53wlvkdzwx1664wrcdsmkwddywzl", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMsIGFkZHMgXCJ1c2VsZXNzIGdhcHNcIiBhcm91bmQgdGlsZWQgYW5kIG1heGltaXplZCB3aW5kb3dzLiIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
-, {"uuid": "serverstatus@footeware.ca", "name": "Server Status Indicator", "pname": "server-status-indicator", "description": "Indicator displaying status of an entered web server url, green for up, red for down.", "link": "https://extensions.gnome.org/extension/4687/server-status-indicator/", "shell_version_map": {"40": {"version": "5", "sha256": "1pkbkzsa7hydin9sbkxnj92nxllr35zy9jqan97yra6wh438rlgv", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBkaXNwbGF5aW5nIHN0YXR1cyBvZiBhbiBlbnRlcmVkIHdlYiBzZXJ2ZXIgdXJsLCBncmVlbiBmb3IgdXAsIHJlZCBmb3IgZG93bi4iLAogICJuYW1lIjogIlNlcnZlciBTdGF0dXMgSW5kaWNhdG9yIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL0NyYWlnRm9vdGUvY2EuZm9vdGV3YXJlLmdub21lc2hlbGwuc2VydmVyc3RhdHVzLmdpdCIsCiAgInV1aWQiOiAic2VydmVyc3RhdHVzQGZvb3Rld2FyZS5jYSIsCiAgInZlcnNpb24iOiA1Cn0="}}}
+, {"uuid": "useless-gaps@pimsnel.com", "name": "Useless Gaps", "pname": "useless-gaps", "description": "For aesthetic purposes adds useless gaps around tiled and maximized windows", "link": "https://extensions.gnome.org/extension/4684/useless-gaps/", "shell_version_map": {"38": {"version": "5", "sha256": "1nd5xxwvf2wxm863029xwij99v6zdpbw86465i5kdrxrgwsgcn9q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "40": {"version": "5", "sha256": "1nd5xxwvf2wxm863029xwij99v6zdpbw86465i5kdrxrgwsgcn9q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}, "41": {"version": "5", "sha256": "1nd5xxwvf2wxm863029xwij99v6zdpbw86465i5kdrxrgwsgcn9q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvciBhZXN0aGV0aWMgcHVycG9zZXMgYWRkcyB1c2VsZXNzIGdhcHMgYXJvdW5kIHRpbGVkIGFuZCBtYXhpbWl6ZWQgd2luZG93cyIsCiAgImdldHRleHQtZG9tYWluIjogInVzZWxlc3MtZ2FwcyIsCiAgIm5hbWUiOiAiVXNlbGVzcyBHYXBzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnVzZWxlc3MtZ2FwcyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbWlwbWlwL2dub21lLXNoZWxsLWV4dGVuc2lvbnMtdXNlbGVzcy1nYXBzIiwKICAidXVpZCI6ICJ1c2VsZXNzLWdhcHNAcGltc25lbC5jb20iLAogICJ2ZXJzaW9uIjogNQp9"}}}
+, {"uuid": "serverstatus@footeware.ca", "name": "Server Status Indicator", "pname": "server-status-indicator", "description": "Indicator displaying status of entered web server urls, green for up, red for down.", "link": "https://extensions.gnome.org/extension/4687/server-status-indicator/", "shell_version_map": {"40": {"version": "7", "sha256": "16csdmbvjcahvkihq3gw4rympyc80jjchf68p1hwvcx338pdx8ga", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkluZGljYXRvciBkaXNwbGF5aW5nIHN0YXR1cyBvZiBlbnRlcmVkIHdlYiBzZXJ2ZXIgdXJscywgZ3JlZW4gZm9yIHVwLCByZWQgZm9yIGRvd24uIiwKICAibmFtZSI6ICJTZXJ2ZXIgU3RhdHVzIEluZGljYXRvciIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zZXJ2ZXJzdGF0dXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vQ3JhaWdGb290ZS9jYS5mb290ZXdhcmUuZ25vbWVzaGVsbC5zZXJ2ZXJzdGF0dXMuZ2l0IiwKICAidXVpZCI6ICJzZXJ2ZXJzdGF0dXNAZm9vdGV3YXJlLmNhIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
 , {"uuid": "focus-follows-workspace@christopher.luebbemeier.gmail.com", "name": "Focus Follows Workspace", "pname": "focus-follows-workspace", "description": "Focus the primary monitor after switching workspaces via keyboard.\n\nThis extension is meant to be used with a multi-monitor setup with the setting \"Workspaces on primary display only\". It enables quick switching to an application on a given workspace via keyboard by preventing the focus from being restored to a window on a secondary monitor.", "link": "https://extensions.gnome.org/extension/4688/focus-follows-workspace/", "shell_version_map": {"41": {"version": "1", "sha256": "1xllg9wp7phrqa9897m9al740k60v01zird49vwwm24wzpmyby9k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvY3VzIHRoZSBwcmltYXJ5IG1vbml0b3IgYWZ0ZXIgc3dpdGNoaW5nIHdvcmtzcGFjZXMgdmlhIGtleWJvYXJkLlxuXG5UaGlzIGV4dGVuc2lvbiBpcyBtZWFudCB0byBiZSB1c2VkIHdpdGggYSBtdWx0aS1tb25pdG9yIHNldHVwIHdpdGggdGhlIHNldHRpbmcgXCJXb3Jrc3BhY2VzIG9uIHByaW1hcnkgZGlzcGxheSBvbmx5XCIuIEl0IGVuYWJsZXMgcXVpY2sgc3dpdGNoaW5nIHRvIGFuIGFwcGxpY2F0aW9uIG9uIGEgZ2l2ZW4gd29ya3NwYWNlIHZpYSBrZXlib2FyZCBieSBwcmV2ZW50aW5nIHRoZSBmb2N1cyBmcm9tIGJlaW5nIHJlc3RvcmVkIHRvIGEgd2luZG93IG9uIGEgc2Vjb25kYXJ5IG1vbml0b3IuIiwKICAibmFtZSI6ICJGb2N1cyBGb2xsb3dzIFdvcmtzcGFjZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9jaHJpc3RvcGhlci1sL2ZvY3VzLWZvbGxvd3Mtd29ya3NwYWNlIiwKICAidXVpZCI6ICJmb2N1cy1mb2xsb3dzLXdvcmtzcGFjZUBjaHJpc3RvcGhlci5sdWViYmVtZWllci5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "pip-on-top@rafostar.github.com", "name": "PiP on top", "pname": "pip-on-top", "description": "Makes \"Picture-in-Picture\" windows stay on top (even on Wayland session). Compatible with Firefox and Clapper media player.", "link": "https://extensions.gnome.org/extension/4691/pip-on-top/", "shell_version_map": {"38": {"version": "1", "sha256": "0gizz4r89pbmhw4ijv2qqlhdxnzlz0bnx659pmizgvmh966za3k2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIFwiUGljdHVyZS1pbi1QaWN0dXJlXCIgd2luZG93cyBzdGF5IG9uIHRvcCAoZXZlbiBvbiBXYXlsYW5kIHNlc3Npb24pLiBDb21wYXRpYmxlIHdpdGggRmlyZWZveCBhbmQgQ2xhcHBlciBtZWRpYSBwbGF5ZXIuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBpcC1vbi10b3AiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaXAtb24tdG9wIiwKICAibmFtZSI6ICJQaVAgb24gdG9wIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBpcC1vbi10b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhZm9zdGFyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1waXAtb24tdG9wIiwKICAidXVpZCI6ICJwaXAtb24tdG9wQHJhZm9zdGFyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "40": {"version": "1", "sha256": "0gizz4r89pbmhw4ijv2qqlhdxnzlz0bnx659pmizgvmh966za3k2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIFwiUGljdHVyZS1pbi1QaWN0dXJlXCIgd2luZG93cyBzdGF5IG9uIHRvcCAoZXZlbiBvbiBXYXlsYW5kIHNlc3Npb24pLiBDb21wYXRpYmxlIHdpdGggRmlyZWZveCBhbmQgQ2xhcHBlciBtZWRpYSBwbGF5ZXIuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBpcC1vbi10b3AiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaXAtb24tdG9wIiwKICAibmFtZSI6ICJQaVAgb24gdG9wIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBpcC1vbi10b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhZm9zdGFyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1waXAtb24tdG9wIiwKICAidXVpZCI6ICJwaXAtb24tdG9wQHJhZm9zdGFyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0gizz4r89pbmhw4ijv2qqlhdxnzlz0bnx659pmizgvmh966za3k2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2VzIFwiUGljdHVyZS1pbi1QaWN0dXJlXCIgd2luZG93cyBzdGF5IG9uIHRvcCAoZXZlbiBvbiBXYXlsYW5kIHNlc3Npb24pLiBDb21wYXRpYmxlIHdpdGggRmlyZWZveCBhbmQgQ2xhcHBlciBtZWRpYSBwbGF5ZXIuIiwKICAiZXh0ZW5zaW9uLWlkIjogInBpcC1vbi10b3AiLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJwaXAtb24tdG9wIiwKICAibmFtZSI6ICJQaVAgb24gdG9wIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBpcC1vbi10b3AiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1JhZm9zdGFyL2dub21lLXNoZWxsLWV4dGVuc2lvbi1waXAtb24tdG9wIiwKICAidXVpZCI6ICJwaXAtb24tdG9wQHJhZm9zdGFyLmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
-, {"uuid": "roundedSystemMenuButtons@pratap.fastmail.fm", "name": "Rounded System Menu Buttons", "pname": "rounded-system-menu-buttons", "description": "Rounded System Menu Buttons", "link": "https://extensions.gnome.org/extension/4693/rounded-system-menu-buttons/", "shell_version_map": {"38": {"version": "16", "sha256": "0f307827hagpqg77xd1f6zdhgcnhn1frldd7f2i5dl1xl2x32m5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "40": {"version": "16", "sha256": "0f307827hagpqg77xd1f6zdhgcnhn1frldd7f2i5dl1xl2x32m5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}, "41": {"version": "16", "sha256": "0f307827hagpqg77xd1f6zdhgcnhn1frldd7f2i5dl1xl2x32m5a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTYKfQ=="}}}
+, {"uuid": "roundedSystemMenuButtons@pratap.fastmail.fm", "name": "Rounded System Menu Buttons", "pname": "rounded-system-menu-buttons", "description": "Rounded System Menu Buttons", "link": "https://extensions.gnome.org/extension/4693/rounded-system-menu-buttons/", "shell_version_map": {"38": {"version": "17", "sha256": "1cwjyw4sc4i4vdm458qdnjzvmiqyz9vscicwarsd9cvik57p44f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "40": {"version": "17", "sha256": "1cwjyw4sc4i4vdm458qdnjzvmiqyz9vscicwarsd9cvik57p44f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}, "41": {"version": "17", "sha256": "1cwjyw4sc4i4vdm458qdnjzvmiqyz9vscicwarsd9cvik57p44f5", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlJvdW5kZWQgU3lzdGVtIE1lbnUgQnV0dG9ucyIsCiAgIm5hbWUiOiAiUm91bmRlZCBTeXN0ZW0gTWVudSBCdXR0b25zIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnJvdW5kLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL1BSQVRBUC1LVU1BUi9yb3VuZGVkLXN5c3RlbS1tZW51LWJ1dHRvbnMiLAogICJ1dWlkIjogInJvdW5kZWRTeXN0ZW1NZW51QnV0dG9uc0BwcmF0YXAuZmFzdG1haWwuZm0iLAogICJ2ZXJzaW9uIjogMTcKfQ=="}}}
 , {"uuid": "static-background@denizaksimsek.com", "name": "Static background in overview", "pname": "static-background-in-overview", "description": "The background, always clearly visible.", "link": "https://extensions.gnome.org/extension/4696/static-background-in-overview/", "shell_version_map": {"40": {"version": "2", "sha256": "1wr4xp0jj74fjp4yjizyvy1qvmbaclk59cjjhwigxh3glkgdy8ph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBiYWNrZ3JvdW5kLCBhbHdheXMgY2xlYXJseSB2aXNpYmxlLiIsCiAgIm5hbWUiOiAiU3RhdGljIGJhY2tncm91bmQgaW4gb3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3IiOiAicmVucy5hbHRodWlzQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHo0ay9nbm9tZS1zdGF0aWMtYmFja2dyb3VuZCIsCiAgInV1aWQiOiAic3RhdGljLWJhY2tncm91bmRAZGVuaXpha3NpbXNlay5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1wr4xp0jj74fjp4yjizyvy1qvmbaclk59cjjhwigxh3glkgdy8ph", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoZSBiYWNrZ3JvdW5kLCBhbHdheXMgY2xlYXJseSB2aXNpYmxlLiIsCiAgIm5hbWUiOiAiU3RhdGljIGJhY2tncm91bmQgaW4gb3ZlcnZpZXciLAogICJvcmlnaW5hbC1hdXRob3IiOiAicmVucy5hbHRodWlzQGdtYWlsLmNvbSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZHo0ay9nbm9tZS1zdGF0aWMtYmFja2dyb3VuZCIsCiAgInV1aWQiOiAic3RhdGljLWJhY2tncm91bmRAZGVuaXpha3NpbXNlay5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
 , {"uuid": "highlight-focus@pimsnel.com", "name": "Highlight Focus", "pname": "highlight-focus", "description": "Highlights the focussed window with a temporary border", "link": "https://extensions.gnome.org/extension/4699/highlight-focus/", "shell_version_map": {"38": {"version": "2", "sha256": "1mdmwhlrdpfw3zw66575kd8xc0isgw0gnx3qq3f5d70c8wk7ijhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hsaWdodHMgdGhlIGZvY3Vzc2VkIHdpbmRvdyB3aXRoIGEgdGVtcG9yYXJ5IGJvcmRlciIsCiAgIm5hbWUiOiAiSGlnaGxpZ2h0IEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taXBtaXAvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1oaWdobGlnaHQtZm9jdXMiLAogICJ1dWlkIjogImhpZ2hsaWdodC1mb2N1c0BwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "1mdmwhlrdpfw3zw66575kd8xc0isgw0gnx3qq3f5d70c8wk7ijhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hsaWdodHMgdGhlIGZvY3Vzc2VkIHdpbmRvdyB3aXRoIGEgdGVtcG9yYXJ5IGJvcmRlciIsCiAgIm5hbWUiOiAiSGlnaGxpZ2h0IEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taXBtaXAvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1oaWdobGlnaHQtZm9jdXMiLAogICJ1dWlkIjogImhpZ2hsaWdodC1mb2N1c0BwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "1mdmwhlrdpfw3zw66575kd8xc0isgw0gnx3qq3f5d70c8wk7ijhx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZ2hsaWdodHMgdGhlIGZvY3Vzc2VkIHdpbmRvdyB3aXRoIGEgdGVtcG9yYXJ5IGJvcmRlciIsCiAgIm5hbWUiOiAiSGlnaGxpZ2h0IEZvY3VzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9taXBtaXAvZ25vbWUtc2hlbGwtZXh0ZW5zaW9ucy1oaWdobGlnaHQtZm9jdXMiLAogICJ1dWlkIjogImhpZ2hsaWdodC1mb2N1c0BwaW1zbmVsLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "awesome-tiles@velitasali.com", "name": "Awesome Tiles", "pname": "awesome-tiles", "description": "Tile windows using keyboard shortcuts.", "link": "https://extensions.gnome.org/extension/4702/awesome-tiles/", "shell_version_map": {"40": {"version": "3", "sha256": "1byqxbbyxdqji79pjp7c5m1hrbp83sbq6rr8mmm202q1jc0hsp38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZlbGl0YXNhbGkvZ25vbWUtYXdlc29tZS10aWxlcy1leHRlbnNpb24iLAogICJ1dWlkIjogImF3ZXNvbWUtdGlsZXNAdmVsaXRhc2FsaS5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "1byqxbbyxdqji79pjp7c5m1hrbp83sbq6rr8mmm202q1jc0hsp38", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRpbGUgd2luZG93cyB1c2luZyBrZXlib2FyZCBzaG9ydGN1dHMuIiwKICAibmFtZSI6ICJBd2Vzb21lIFRpbGVzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmF3ZXNvbWUtdGlsZXMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3ZlbGl0YXNhbGkvZ25vbWUtYXdlc29tZS10aWxlcy1leHRlbnNpb24iLAogICJ1dWlkIjogImF3ZXNvbWUtdGlsZXNAdmVsaXRhc2FsaS5jb20iLAogICJ2ZXJzaW9uIjogMwp9"}}}
-, {"uuid": "dock-from-dash@fthx", "name": "Dock from Dash", "pname": "dock-from-dash", "description": "Dock for GNOME 40+. Does use native GNOME Shell Dash. Very light extension.\n\n Hover the bottom of your screen and GNOME Shell dash will appear without overview. Native GNOME Shell click behavior is modified: minimize if one window is open, overview if many windows are open.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "19", "sha256": "1hmhrnw8hyf6g8bk68qxkrmjl2b6747pifd9k3ipi6hkbxj0gb7n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3LiBOYXRpdmUgR05PTUUgU2hlbGwgY2xpY2sgYmVoYXZpb3IgaXMgbW9kaWZpZWQ6IG1pbmltaXplIGlmIG9uZSB3aW5kb3cgaXMgb3Blbiwgb3ZlcnZpZXcgaWYgbWFueSB3aW5kb3dzIGFyZSBvcGVuLlxuXG4gUGxlYXNlIHJlcG9ydCBidWdzIHRocm91Z2ggR2l0SHViLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDE5Cn0="}, "41": {"version": "19", "sha256": "1hmhrnw8hyf6g8bk68qxkrmjl2b6747pifd9k3ipi6hkbxj0gb7n", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3LiBOYXRpdmUgR05PTUUgU2hlbGwgY2xpY2sgYmVoYXZpb3IgaXMgbW9kaWZpZWQ6IG1pbmltaXplIGlmIG9uZSB3aW5kb3cgaXMgb3Blbiwgb3ZlcnZpZXcgaWYgbWFueSB3aW5kb3dzIGFyZSBvcGVuLlxuXG4gUGxlYXNlIHJlcG9ydCBidWdzIHRocm91Z2ggR2l0SHViLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDE5Cn0="}}}
-, {"uuid": "another-window-session-manager@gmail.com", "name": "Another Window Session Manager", "pname": "another-window-session-manager", "description": " A Gnome shell extension to close and save open windows. And restore saved windows. Most importantly, it supports both X11 and Wayland!", "link": "https://extensions.gnome.org/extension/4709/another-window-session-manager/", "shell_version_map": {"40": {"version": "10", "sha256": "1f1dvvk391fdg9mgpi52mqbnppmxxan0bs9vc6g22v5k36qhha4j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiBBIEdub21lIHNoZWxsIGV4dGVuc2lvbiB0byBjbG9zZSBhbmQgc2F2ZSBvcGVuIHdpbmRvd3MuIEFuZCByZXN0b3JlIHNhdmVkIHdpbmRvd3MuIE1vc3QgaW1wb3J0YW50bHksIGl0IHN1cHBvcnRzIGJvdGggWDExIGFuZCBXYXlsYW5kISIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1f1dvvk391fdg9mgpi52mqbnppmxxan0bs9vc6g22v5k36qhha4j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIiBBIEdub21lIHNoZWxsIGV4dGVuc2lvbiB0byBjbG9zZSBhbmQgc2F2ZSBvcGVuIHdpbmRvd3MuIEFuZCByZXN0b3JlIHNhdmVkIHdpbmRvd3MuIE1vc3QgaW1wb3J0YW50bHksIGl0IHN1cHBvcnRzIGJvdGggWDExIGFuZCBXYXlsYW5kISIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
+, {"uuid": "dock-from-dash@fthx", "name": "Dock from Dash", "pname": "dock-from-dash", "description": "Dock for GNOME 40+. Does use native GNOME Shell Dash. Very light extension.\n\n Hover the bottom of your screen and GNOME Shell dash will appear without overview. Native GNOME Shell click behavior is modified: minimize if one window is open, overview if many windows are open.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4703/dock-from-dash/", "shell_version_map": {"40": {"version": "22", "sha256": "0hzllcnhrc68l4xw1yg3wvl0jssd51sarbapxs0fjyr8yiz8611z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3LiBOYXRpdmUgR05PTUUgU2hlbGwgY2xpY2sgYmVoYXZpb3IgaXMgbW9kaWZpZWQ6IG1pbmltaXplIGlmIG9uZSB3aW5kb3cgaXMgb3Blbiwgb3ZlcnZpZXcgaWYgbWFueSB3aW5kb3dzIGFyZSBvcGVuLlxuXG4gUGxlYXNlIHJlcG9ydCBidWdzIHRocm91Z2ggR2l0SHViLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDIyCn0="}, "41": {"version": "22", "sha256": "0hzllcnhrc68l4xw1yg3wvl0jssd51sarbapxs0fjyr8yiz8611z", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkRvY2sgZm9yIEdOT01FIDQwKy4gRG9lcyB1c2UgbmF0aXZlIEdOT01FIFNoZWxsIERhc2guIFZlcnkgbGlnaHQgZXh0ZW5zaW9uLlxuXG4gSG92ZXIgdGhlIGJvdHRvbSBvZiB5b3VyIHNjcmVlbiBhbmQgR05PTUUgU2hlbGwgZGFzaCB3aWxsIGFwcGVhciB3aXRob3V0IG92ZXJ2aWV3LiBOYXRpdmUgR05PTUUgU2hlbGwgY2xpY2sgYmVoYXZpb3IgaXMgbW9kaWZpZWQ6IG1pbmltaXplIGlmIG9uZSB3aW5kb3cgaXMgb3Blbiwgb3ZlcnZpZXcgaWYgbWFueSB3aW5kb3dzIGFyZSBvcGVuLlxuXG4gUGxlYXNlIHJlcG9ydCBidWdzIHRocm91Z2ggR2l0SHViLiIsCiAgIm5hbWUiOiAiRG9jayBmcm9tIERhc2giLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2RvY2stZnJvbS1kYXNoIiwKICAidXVpZCI6ICJkb2NrLWZyb20tZGFzaEBmdGh4IiwKICAidmVyc2lvbiI6IDIyCn0="}}}
+, {"uuid": "another-window-session-manager@gmail.com", "name": "Another Window Session Manager", "pname": "another-window-session-manager", "description": "Close and save open windows. And restore the saved windows. Most importantly, it supports both X11 and Wayland!\n\nFeatures:\n- Close open windows\n- Save open windows\n- Restore saved open windows\n- Restore window state, including Always on Top, Always on Visible Workspace and maximization\n- Restore window workspace, size and position\n- Move windows to their own workspace according to a saved session\n- Support multi-monitor\n- Trash saved session\n- Search saved session by the session name fuzzily", "link": "https://extensions.gnome.org/extension/4709/another-window-session-manager/", "shell_version_map": {"40": {"version": "11", "sha256": "0d1d0178nvcxvsay1wqm5wclfhs7a2g500xmh3khmvc981pg83j4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlIHNhdmVkIHdpbmRvd3MuIE1vc3QgaW1wb3J0YW50bHksIGl0IHN1cHBvcnRzIGJvdGggWDExIGFuZCBXYXlsYW5kIVxuXG5GZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2F2ZWQgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgd2luZG93IHN0YXRlLCBpbmNsdWRpbmcgQWx3YXlzIG9uIFRvcCwgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBUcmFzaCBzYXZlZCBzZXNzaW9uXG4tIFNlYXJjaCBzYXZlZCBzZXNzaW9uIGJ5IHRoZSBzZXNzaW9uIG5hbWUgZnV6emlseSIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}, "41": {"version": "11", "sha256": "0d1d0178nvcxvsay1wqm5wclfhs7a2g500xmh3khmvc981pg83j4", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNsb3NlIGFuZCBzYXZlIG9wZW4gd2luZG93cy4gQW5kIHJlc3RvcmUgdGhlIHNhdmVkIHdpbmRvd3MuIE1vc3QgaW1wb3J0YW50bHksIGl0IHN1cHBvcnRzIGJvdGggWDExIGFuZCBXYXlsYW5kIVxuXG5GZWF0dXJlczpcbi0gQ2xvc2Ugb3BlbiB3aW5kb3dzXG4tIFNhdmUgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgc2F2ZWQgb3BlbiB3aW5kb3dzXG4tIFJlc3RvcmUgd2luZG93IHN0YXRlLCBpbmNsdWRpbmcgQWx3YXlzIG9uIFRvcCwgQWx3YXlzIG9uIFZpc2libGUgV29ya3NwYWNlIGFuZCBtYXhpbWl6YXRpb25cbi0gUmVzdG9yZSB3aW5kb3cgd29ya3NwYWNlLCBzaXplIGFuZCBwb3NpdGlvblxuLSBNb3ZlIHdpbmRvd3MgdG8gdGhlaXIgb3duIHdvcmtzcGFjZSBhY2NvcmRpbmcgdG8gYSBzYXZlZCBzZXNzaW9uXG4tIFN1cHBvcnQgbXVsdGktbW9uaXRvclxuLSBUcmFzaCBzYXZlZCBzZXNzaW9uXG4tIFNlYXJjaCBzYXZlZCBzZXNzaW9uIGJ5IHRoZSBzZXNzaW9uIG5hbWUgZnV6emlseSIsCiAgIm5hbWUiOiAiQW5vdGhlciBXaW5kb3cgU2Vzc2lvbiBNYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9ubHBzdWdlL2dub21lLXNoZWxsLWV4dGVuc2lvbi1hbm90aGVyLXdpbmRvdy1zZXNzaW9uLW1hbmFnZXIiLAogICJ1dWlkIjogImFub3RoZXItd2luZG93LXNlc3Npb24tbWFuYWdlckBnbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTEKfQ=="}}}
 , {"uuid": "prevent-double-empty-window@silliewous.nl", "name": "Prevent double empty window", "pname": "prevent-double-empty-window", "description": "Set MIN_NUMBER_WORKSPACES to 1 so there is only one empty workspace when there are no windows open.\n\nhttps://gitlab.com/g3786/prevent-double-empty-window", "link": "https://extensions.gnome.org/extension/4711/prevent-double-empty-window/", "shell_version_map": {"40": {"version": "1", "sha256": "18f1pflvv4sw1r182rrjz2jdy1ym1ipm5lid2sm518h8c3iiabb2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNldCBNSU5fTlVNQkVSX1dPUktTUEFDRVMgdG8gMSBzbyB0aGVyZSBpcyBvbmx5IG9uZSBlbXB0eSB3b3Jrc3BhY2Ugd2hlbiB0aGVyZSBhcmUgbm8gd2luZG93cyBvcGVuLlxuXG5odHRwczovL2dpdGxhYi5jb20vZzM3ODYvcHJldmVudC1kb3VibGUtZW1wdHktd2luZG93IiwKICAibmFtZSI6ICJQcmV2ZW50IGRvdWJsZSBlbXB0eSB3aW5kb3ciLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICIiLAogICJ1dWlkIjogInByZXZlbnQtZG91YmxlLWVtcHR5LXdpbmRvd0BzaWxsaWV3b3VzLm5sIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "display-ddc-brightness-volume@sagrland.de", "name": "Display DDC Brightness Volume", "pname": "display-ddc-brightness-volume", "description": "Control external displays' brightness and audio volume via DDC. It requires ddcutil to be installed and i2c permissions for non-root users.", "link": "https://extensions.gnome.org/extension/4712/display-ddc-brightness-volume/", "shell_version_map": {"40": {"version": "1", "sha256": "1pad0q2a04lak6601vj2qz029g86l9r5m65bf0m97b21fd46a9s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgZXh0ZXJuYWwgZGlzcGxheXMnIGJyaWdodG5lc3MgYW5kIGF1ZGlvIHZvbHVtZSB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCBhbmQgaTJjIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2Vycy4iLAogICJuYW1lIjogIkRpc3BsYXkgRERDIEJyaWdodG5lc3MgVm9sdW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDEKfQ=="}, "41": {"version": "1", "sha256": "1pad0q2a04lak6601vj2qz029g86l9r5m65bf0m97b21fd46a9s8", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvbnRyb2wgZXh0ZXJuYWwgZGlzcGxheXMnIGJyaWdodG5lc3MgYW5kIGF1ZGlvIHZvbHVtZSB2aWEgRERDLiBJdCByZXF1aXJlcyBkZGN1dGlsIHRvIGJlIGluc3RhbGxlZCBhbmQgaTJjIHBlcm1pc3Npb25zIGZvciBub24tcm9vdCB1c2Vycy4iLAogICJuYW1lIjogIkRpc3BsYXkgRERDIEJyaWdodG5lc3MgVm9sdW1lIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9TYUdyTGFuZC9nbm9tZS1zaGVsbC1kaXNwbGF5LWRkYy1icmlnaHRuZXNzLXZvbHVtZS8iLAogICJ1dWlkIjogImRpc3BsYXktZGRjLWJyaWdodG5lc3Mtdm9sdW1lQHNhZ3JsYW5kLmRlIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "disable_hover@fawtytoo", "name": "Disable Hover On App & Window Switcher Popups", "pname": "disable-hover-on-app-window-switcher-popups", "description": "Prevents the mouse cursor interfering with either the App Switcher or the Window Switcher popups. For those users that like to use the keyboard only with these switchers.\nNote: It doesn't prevent mouse clicks.\n\nThese are the switcher popups that are invoked from keyboard shortcuts, e.g. Alt+Tab or Super+Tab.", "link": "https://extensions.gnome.org/extension/4714/disable-hover-on-app-window-switcher-popups/", "shell_version_map": {"38": {"version": "1", "sha256": "1h3ja9wjj5lxb2qb1p95si9q3hz2j5rj193jg1dxgjkgjkiprpjk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy4gRm9yIHRob3NlIHVzZXJzIHRoYXQgbGlrZSB0byB1c2UgdGhlIGtleWJvYXJkIG9ubHkgd2l0aCB0aGVzZSBzd2l0Y2hlcnMuXG5Ob3RlOiBJdCBkb2Vzbid0IHByZXZlbnQgbW91c2UgY2xpY2tzLlxuXG5UaGVzZSBhcmUgdGhlIHN3aXRjaGVyIHBvcHVwcyB0aGF0IGFyZSBpbnZva2VkIGZyb20ga2V5Ym9hcmQgc2hvcnRjdXRzLCBlLmcuIEFsdCtUYWIgb3IgU3VwZXIrVGFiLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSBIb3ZlciBPbiBBcHAgJiBXaW5kb3cgU3dpdGNoZXIgUG9wdXBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxCn0="}, "40": {"version": "1", "sha256": "1h3ja9wjj5lxb2qb1p95si9q3hz2j5rj193jg1dxgjkgjkiprpjk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy4gRm9yIHRob3NlIHVzZXJzIHRoYXQgbGlrZSB0byB1c2UgdGhlIGtleWJvYXJkIG9ubHkgd2l0aCB0aGVzZSBzd2l0Y2hlcnMuXG5Ob3RlOiBJdCBkb2Vzbid0IHByZXZlbnQgbW91c2UgY2xpY2tzLlxuXG5UaGVzZSBhcmUgdGhlIHN3aXRjaGVyIHBvcHVwcyB0aGF0IGFyZSBpbnZva2VkIGZyb20ga2V5Ym9hcmQgc2hvcnRjdXRzLCBlLmcuIEFsdCtUYWIgb3IgU3VwZXIrVGFiLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSBIb3ZlciBPbiBBcHAgJiBXaW5kb3cgU3dpdGNoZXIgUG9wdXBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxCn0="}, "41": {"version": "1", "sha256": "1h3ja9wjj5lxb2qb1p95si9q3hz2j5rj193jg1dxgjkgjkiprpjk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlByZXZlbnRzIHRoZSBtb3VzZSBjdXJzb3IgaW50ZXJmZXJpbmcgd2l0aCBlaXRoZXIgdGhlIEFwcCBTd2l0Y2hlciBvciB0aGUgV2luZG93IFN3aXRjaGVyIHBvcHVwcy4gRm9yIHRob3NlIHVzZXJzIHRoYXQgbGlrZSB0byB1c2UgdGhlIGtleWJvYXJkIG9ubHkgd2l0aCB0aGVzZSBzd2l0Y2hlcnMuXG5Ob3RlOiBJdCBkb2Vzbid0IHByZXZlbnQgbW91c2UgY2xpY2tzLlxuXG5UaGVzZSBhcmUgdGhlIHN3aXRjaGVyIHBvcHVwcyB0aGF0IGFyZSBpbnZva2VkIGZyb20ga2V5Ym9hcmQgc2hvcnRjdXRzLCBlLmcuIEFsdCtUYWIgb3IgU3VwZXIrVGFiLiIsCiAgIm5hbWUiOiAiRGlzYWJsZSBIb3ZlciBPbiBBcHAgJiBXaW5kb3cgU3dpdGNoZXIgUG9wdXBzIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiZGlzYWJsZV9ob3ZlckBmYXd0eXRvbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
@@ -644,7 +647,7 @@
 , {"uuid": "window-calls@domandoman.xyz", "name": "Window Calls", "pname": "window-calls", "description": "Add new dbus call for windows to get windows list and some of theirs properties", "link": "https://extensions.gnome.org/extension/4724/window-calls/", "shell_version_map": {"41": {"version": "2", "sha256": "02z265maw4a0rkw5y4an2j7spjqif44nxf47q5qr6cwnvmfpw6ci", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBuZXcgZGJ1cyBjYWxsIGZvciB3aW5kb3dzIHRvIGdldCB3aW5kb3dzIGxpc3QgYW5kIHNvbWUgb2YgdGhlaXJzIHByb3BlcnRpZXMiLAogICJuYW1lIjogIldpbmRvdyBDYWxscyIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9pY2t5aWNreS93aW5kb3ctY2FsbHMiLAogICJ1dWlkIjogIndpbmRvdy1jYWxsc0Bkb21hbmRvbWFuLnh5eiIsCiAgInZlcnNpb24iOiAyCn0="}}}
 , {"uuid": "primary_input_on_lockscreen@sagidayan.com", "name": "Primary Input on LockScreen", "pname": "primary-input-on-lockscreen", "description": "Automatically change input layout to primary on lock screen", "link": "https://extensions.gnome.org/extension/4727/primary-input-on-lockscreen/", "shell_version_map": {"40": {"version": "2", "sha256": "0m1hk3hhr5y4i7fk3x2pc9ln6rjlq7y9fvcv3imygs3w5q1bx1ll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NhZ2lkYXlhbi9wcmltYXJ5LWlucHV0LW9uLWxvY2tzY3JlZW4iLAogICJ1dWlkIjogInByaW1hcnlfaW5wdXRfb25fbG9ja3NjcmVlbkBzYWdpZGF5YW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0m1hk3hhr5y4i7fk3x2pc9ln6rjlq7y9fvcv3imygs3w5q1bx1ll", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkF1dG9tYXRpY2FsbHkgY2hhbmdlIGlucHV0IGxheW91dCB0byBwcmltYXJ5IG9uIGxvY2sgc2NyZWVuIiwKICAibmFtZSI6ICJQcmltYXJ5IElucHV0IG9uIExvY2tTY3JlZW4iLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL3NhZ2lkYXlhbi9wcmltYXJ5LWlucHV0LW9uLWxvY2tzY3JlZW4iLAogICJ1dWlkIjogInByaW1hcnlfaW5wdXRfb25fbG9ja3NjcmVlbkBzYWdpZGF5YW4uY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
 , {"uuid": "browser-tabs@com.github.harshadgavali", "name": "Browser tabs", "pname": "browser-tabs", "description": "Search provider for browser tabs\n\nSee following github link for installing browser extension and host app for searches to appear!", "link": "https://extensions.gnome.org/extension/4733/browser-tabs/", "shell_version_map": {"40": {"version": "4", "sha256": "1ag30ai0frxbw3s67ir1i5jdxpzx52b9rp47sqpnjcqw46xc97b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBwcm92aWRlciBmb3IgYnJvd3NlciB0YWJzXG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgYnJvd3NlciBleHRlbnNpb24gYW5kIGhvc3QgYXBwIGZvciBzZWFyY2hlcyB0byBhcHBlYXIhIiwKICAibmFtZSI6ICJCcm93c2VyIHRhYnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL3NlYXJjaHByb3ZpZGVyLWZvci1icm93c2VyLXRhYnMuZ2l0LyIsCiAgInV1aWQiOiAiYnJvd3Nlci10YWJzQGNvbS5naXRodWIuaGFyc2hhZGdhdmFsaSIsCiAgInZlcnNpb24iOiA0Cn0="}, "41": {"version": "4", "sha256": "1ag30ai0frxbw3s67ir1i5jdxpzx52b9rp47sqpnjcqw46xc97b6", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNlYXJjaCBwcm92aWRlciBmb3IgYnJvd3NlciB0YWJzXG5cblNlZSBmb2xsb3dpbmcgZ2l0aHViIGxpbmsgZm9yIGluc3RhbGxpbmcgYnJvd3NlciBleHRlbnNpb24gYW5kIGhvc3QgYXBwIGZvciBzZWFyY2hlcyB0byBhcHBlYXIhIiwKICAibmFtZSI6ICJCcm93c2VyIHRhYnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9oYXJzaGFkZ2F2YWxpL3NlYXJjaHByb3ZpZGVyLWZvci1icm93c2VyLXRhYnMuZ2l0LyIsCiAgInV1aWQiOiAiYnJvd3Nlci10YWJzQGNvbS5naXRodWIuaGFyc2hhZGdhdmFsaSIsCiAgInZlcnNpb24iOiA0Cn0="}}}
-, {"uuid": "smart-auto-move@khimaros.com", "name": "Smart Auto Move", "pname": "smart-auto-move", "description": "Smart Auto Move learns the size and position of your application windows and restores them to the correct place on subsequent launches. Supports Wayland.", "link": "https://extensions.gnome.org/extension/4736/smart-auto-move/", "shell_version_map": {"41": {"version": "10", "sha256": "04jp82c5ib4dvg1pl3191n5m182x85gyb7pbqmpga4jr608iiczx", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLiIsCiAgIm5hbWUiOiAiU21hcnQgQXV0byBNb3ZlIiwKICAib3JpZ2luYWwtYXV0aG9yIjogImtoaW1hcm9zIiwKICAic2V0dGluZ3MtcGF0aCI6ICIvb3JnL2dub21lL3NoZWxsL2V4dGVuc2lvbnMvc21hcnQtYXV0by1tb3ZlLyIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5zbWFydC1hdXRvLW1vdmUiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20va2hpbWFyb3Mvc21hcnQtYXV0by1tb3ZlIiwKICAidXVpZCI6ICJzbWFydC1hdXRvLW1vdmVAa2hpbWFyb3MuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
+, {"uuid": "smart-auto-move@khimaros.com", "name": "Smart Auto Move", "pname": "smart-auto-move", "description": "Smart Auto Move learns the size and position of your application windows and restores them to the correct place on subsequent launches. Supports Wayland.\n\nNOTE: works optimally with \"Static\" as opposed to \"Dynamic\" workspaces.", "link": "https://extensions.gnome.org/extension/4736/smart-auto-move/", "shell_version_map": {"41": {"version": "13", "sha256": "0437qsi49ylshhf5z5sb15637zldlbb9df8ijqf9mcxbj3igaydg", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNtYXJ0IEF1dG8gTW92ZSBsZWFybnMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIHlvdXIgYXBwbGljYXRpb24gd2luZG93cyBhbmQgcmVzdG9yZXMgdGhlbSB0byB0aGUgY29ycmVjdCBwbGFjZSBvbiBzdWJzZXF1ZW50IGxhdW5jaGVzLiBTdXBwb3J0cyBXYXlsYW5kLlxuXG5OT1RFOiB3b3JrcyBvcHRpbWFsbHkgd2l0aCBcIlN0YXRpY1wiIGFzIG9wcG9zZWQgdG8gXCJEeW5hbWljXCIgd29ya3NwYWNlcy4iLAogICJuYW1lIjogIlNtYXJ0IEF1dG8gTW92ZSIsCiAgIm9yaWdpbmFsLWF1dGhvciI6ICJraGltYXJvcyIsCiAgInNldHRpbmdzLXBhdGgiOiAiL29yZy9nbm9tZS9zaGVsbC9leHRlbnNpb25zL3NtYXJ0LWF1dG8tbW92ZS8iLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuc21hcnQtYXV0by1tb3ZlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2toaW1hcm9zL3NtYXJ0LWF1dG8tbW92ZSIsCiAgInV1aWQiOiAic21hcnQtYXV0by1tb3ZlQGtoaW1hcm9zLmNvbSIsCiAgInZlcnNpb24iOiAxMwp9"}}}
 , {"uuid": "hplip-menu2@grizzlysmit.smit.id.au", "name": "Alternate Menu for Hplip2", "pname": "alternate-menu-for-hplip2", "description": "control your hp printers by calling the device manager hp-toolbox, also some useful links\nMotivation: the hp-systray doesn't work reliably under gnome shell\nyou need to have installed hplip in order to use this\nChoice of using a printer icon or a hp_logo.png if it's installed in the same place as mine on Ubuntu\nyou could use symbolic links to fake the path.\nThis is a replacement for the old \"Alternate Menu for Hplip\" which doesn't work under the new Gome-Shell I have cleaned it up a bit and it has a few new menu's but it is still basically the same thing.\n Added even more menus all most all system settings ones.\n\nNote: the menu will be too big if your resolution is way too low like 800x600 I have no soln for this just now.", "link": "https://extensions.gnome.org/extension/4739/alternate-menu-for-hplip2/", "shell_version_map": {"40": {"version": "3", "sha256": "034dh32qhq2gzkbhfsyrsp4nh642nhp2y9lrvnnk8391185s229q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyaXp6bHlzbWl0L2hwbGlwLW1lbnUyLWdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ1dWlkIjogImhwbGlwLW1lbnUyQGdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "034dh32qhq2gzkbhfsyrsp4nh642nhp2y9lrvnnk8391185s229q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImNvbnRyb2wgeW91ciBocCBwcmludGVycyBieSBjYWxsaW5nIHRoZSBkZXZpY2UgbWFuYWdlciBocC10b29sYm94LCBhbHNvIHNvbWUgdXNlZnVsIGxpbmtzXG5Nb3RpdmF0aW9uOiB0aGUgaHAtc3lzdHJheSBkb2Vzbid0IHdvcmsgcmVsaWFibHkgdW5kZXIgZ25vbWUgc2hlbGxcbnlvdSBuZWVkIHRvIGhhdmUgaW5zdGFsbGVkIGhwbGlwIGluIG9yZGVyIHRvIHVzZSB0aGlzXG5DaG9pY2Ugb2YgdXNpbmcgYSBwcmludGVyIGljb24gb3IgYSBocF9sb2dvLnBuZyBpZiBpdCdzIGluc3RhbGxlZCBpbiB0aGUgc2FtZSBwbGFjZSBhcyBtaW5lIG9uIFVidW50dVxueW91IGNvdWxkIHVzZSBzeW1ib2xpYyBsaW5rcyB0byBmYWtlIHRoZSBwYXRoLlxuVGhpcyBpcyBhIHJlcGxhY2VtZW50IGZvciB0aGUgb2xkIFwiQWx0ZXJuYXRlIE1lbnUgZm9yIEhwbGlwXCIgd2hpY2ggZG9lc24ndCB3b3JrIHVuZGVyIHRoZSBuZXcgR29tZS1TaGVsbCBJIGhhdmUgY2xlYW5lZCBpdCB1cCBhIGJpdCBhbmQgaXQgaGFzIGEgZmV3IG5ldyBtZW51J3MgYnV0IGl0IGlzIHN0aWxsIGJhc2ljYWxseSB0aGUgc2FtZSB0aGluZy5cbiBBZGRlZCBldmVuIG1vcmUgbWVudXMgYWxsIG1vc3QgYWxsIHN5c3RlbSBzZXR0aW5ncyBvbmVzLlxuXG5Ob3RlOiB0aGUgbWVudSB3aWxsIGJlIHRvbyBiaWcgaWYgeW91ciByZXNvbHV0aW9uIGlzIHdheSB0b28gbG93IGxpa2UgODAweDYwMCBJIGhhdmUgbm8gc29sbiBmb3IgdGhpcyBqdXN0IG5vdy4iLAogICJuYW1lIjogIkFsdGVybmF0ZSBNZW51IGZvciBIcGxpcDIiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMuaHBsaXAtbWVudTIiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2dyaXp6bHlzbWl0L2hwbGlwLW1lbnUyLWdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ1dWlkIjogImhwbGlwLW1lbnUyQGdyaXp6bHlzbWl0LnNtaXQuaWQuYXUiLAogICJ2ZXJzaW9uIjogMwp9"}}}
 , {"uuid": "dash-from-panel@fthx", "name": "Dash from Panel", "pname": "dash-from-panel", "description": "Top dock for GNOME 40+. Hover top panel and GNOME Shell dash appears without overview.\n\n Does use native GNOME Shell Dash. Very light extension.\n\n Please report bugs through GitHub.", "link": "https://extensions.gnome.org/extension/4741/dash-from-panel/", "shell_version_map": {"40": {"version": "1", "sha256": "1ba7pk05f3s4z32pargrfcsg7b84jx8g0avl71q6xzj1syinlsb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "1ba7pk05f3s4z32pargrfcsg7b84jx8g0avl71q6xzj1syinlsb1", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRvcCBkb2NrIGZvciBHTk9NRSA0MCsuIEhvdmVyIHRvcCBwYW5lbCBhbmQgR05PTUUgU2hlbGwgZGFzaCBhcHBlYXJzIHdpdGhvdXQgb3ZlcnZpZXcuXG5cbiBEb2VzIHVzZSBuYXRpdmUgR05PTUUgU2hlbGwgRGFzaC4gVmVyeSBsaWdodCBleHRlbnNpb24uXG5cbiBQbGVhc2UgcmVwb3J0IGJ1Z3MgdGhyb3VnaCBHaXRIdWIuIiwKICAibmFtZSI6ICJEYXNoIGZyb20gUGFuZWwiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9mdGh4L2Rhc2gtZnJvbS1wYW5lbCIsCiAgInV1aWQiOiAiZGFzaC1mcm9tLXBhbmVsQGZ0aHgiLAogICJ2ZXJzaW9uIjogMQp9"}}}
 , {"uuid": "clip-translator@eexpss.gmail.com", "name": "Clip Translator", "pname": "clip-translator", "description": "Translate from Clipboard content", "link": "https://extensions.gnome.org/extension/4744/clip-translator/", "shell_version_map": {"40": {"version": "10", "sha256": "1w42d11ald1kpmv43c6v7qxvx55yv3i64nnkicfgwy6a3bdah1pr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBmcm9tIENsaXBib2FyZCBjb250ZW50IiwKICAibmFtZSI6ICJDbGlwIFRyYW5zbGF0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC1jbGlwLXRyYW5zbGF0b3IiLAogICJ1dWlkIjogImNsaXAtdHJhbnNsYXRvckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}, "41": {"version": "10", "sha256": "1w42d11ald1kpmv43c6v7qxvx55yv3i64nnkicfgwy6a3bdah1pr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRyYW5zbGF0ZSBmcm9tIENsaXBib2FyZCBjb250ZW50IiwKICAibmFtZSI6ICJDbGlwIFRyYW5zbGF0b3IiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC1jbGlwLXRyYW5zbGF0b3IiLAogICJ1dWlkIjogImNsaXAtdHJhbnNsYXRvckBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDEwCn0="}}}
@@ -658,7 +661,23 @@
 , {"uuid": "clip-note@eexpss.gmail.com", "name": "Clip Note", "pname": "clip-note", "description": "Save clip contents to multiple notes with separate tags. Notes locate at ~/.local/share/clip-note/. Dots in filename means splited tags.", "link": "https://extensions.gnome.org/extension/4774/clip-note/", "shell_version_map": {"40": {"version": "10", "sha256": "1var5rv8waazr1h40ai4ziwjcnxni8q6w26rqqgvax7wv4dzmyh2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}, "41": {"version": "10", "sha256": "1var5rv8waazr1h40ai4ziwjcnxni8q6w26rqqgvax7wv4dzmyh2", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNhdmUgY2xpcCBjb250ZW50cyB0byBtdWx0aXBsZSBub3RlcyB3aXRoIHNlcGFyYXRlIHRhZ3MuIE5vdGVzIGxvY2F0ZSBhdCB+Ly5sb2NhbC9zaGFyZS9jbGlwLW5vdGUvLiBEb3RzIGluIGZpbGVuYW1lIG1lYW5zIHNwbGl0ZWQgdGFncy4iLAogICJuYW1lIjogIkNsaXAgTm90ZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2VleHByZXNzL2dub21lLXNoZWxsLWNsaXAtbm90ZSIsCiAgInV1aWQiOiAiY2xpcC1ub3RlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMTAKfQ=="}}}
 , {"uuid": "ssh-tray@mario.cardia.com.br", "name": "SSH Tray", "pname": "ssh-tray", "description": "Simple SSH extension to allow you to connect to your hosts at ~/.ssh/config and ~/ssh/know_hosts file from Gnome top bar.", "link": "https://extensions.gnome.org/extension/4779/ssh-tray/", "shell_version_map": {"41": {"version": "1", "sha256": "1c7ndcv3bnsc95sijdkq39fshybpaq9fqdk3gvwm1lx40r1ibgih", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBTU0ggZXh0ZW5zaW9uIHRvIGFsbG93IHlvdSB0byBjb25uZWN0IHRvIHlvdXIgaG9zdHMgYXQgfi8uc3NoL2NvbmZpZyBhbmQgfi9zc2gva25vd19ob3N0cyBmaWxlIGZyb20gR25vbWUgdG9wIGJhci4iLAogICJuYW1lIjogIlNTSCBUcmF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJzc2gtdHJheUBtYXJpby5jYXJkaWEuY29tLmJyIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
 , {"uuid": "glasa@lyrahgames.github.io", "name": "Glasa", "pname": "glasa", "description": "This extension puts an icon in the panel consisting of two comic-like eyes following the cursor.", "link": "https://extensions.gnome.org/extension/4780/glasa/", "shell_version_map": {"38": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "40": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "0j45y91xal9vpk5iznkxydhq4dw55hvwqyfhvq48i5zlzxfirrvn", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRoaXMgZXh0ZW5zaW9uIHB1dHMgYW4gaWNvbiBpbiB0aGUgcGFuZWwgY29uc2lzdGluZyBvZiB0d28gY29taWMtbGlrZSBleWVzIGZvbGxvd2luZyB0aGUgY3Vyc29yLiIsCiAgIm5hbWUiOiAiR2xhc2EiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjMuMzYiLAogICAgIjMuMzgiLAogICAgIjQwIiwKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL2x5cmFoZ2FtZXMvZ25vbWUtZXh0ZW5zaW9uLWdsYXNhIiwKICAidXVpZCI6ICJnbGFzYUBseXJhaGdhbWVzLmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "avatar@pawel.swiszcz.com", "name": "Avatar", "pname": "avatar", "description": "Add avatar to settings panel", "link": "https://extensions.gnome.org/extension/4782/avatar/", "shell_version_map": {"41": {"version": "2", "sha256": "0wrfcb62arhack39ld40f3q7hz8r7lmfy1mwxwgrnvv4s7ghg1y7", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhdmF0YXIgdG8gc2V0dGluZ3MgcGFuZWwiLAogICJuYW1lIjogIkF2YXRhciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9wYXdlbHN3aXN6Y3ovQXZhdGFyLUdub21lLVNoZWxsLUV4dGVuc2lvbiIsCiAgInV1aWQiOiAiYXZhdGFyQHBhd2VsLnN3aXN6Y3ouY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "avatar@pawel.swiszcz.com", "name": "Avatar", "pname": "avatar", "description": "Adds an avatar to the panel. Controllability: shades, buttons (turn notifications on/off, sleep, off), visibility of username and hostname", "link": "https://extensions.gnome.org/extension/4782/avatar/", "shell_version_map": {"41": {"version": "7", "sha256": "05aff0i241qqcb4v34yhj5v1ihnxmxcvmz46si3b8yk66alzn4fa", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZHMgYW4gYXZhdGFyIHRvIHRoZSBwYW5lbC4gQ29udHJvbGxhYmlsaXR5OiBzaGFkZXMsIGJ1dHRvbnMgKHR1cm4gbm90aWZpY2F0aW9ucyBvbi9vZmYsIHNsZWVwLCBvZmYpLCB2aXNpYmlsaXR5IG9mIHVzZXJuYW1lIGFuZCBob3N0bmFtZSIsCiAgIm5hbWUiOiAiQXZhdGFyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRodWIuY29tL3Bhd2Vsc3dpc3pjei9BdmF0YXItR25vbWUtU2hlbGwtRXh0ZW5zaW9uIiwKICAidXVpZCI6ICJhdmF0YXJAcGF3ZWwuc3dpc3pjei5jb20iLAogICJ2ZXJzaW9uIjogNwp9"}}}
 , {"uuid": "default-workspace@mateusrodcosta.com", "name": "Default Workspace", "pname": "default-workspace", "description": "Switches to the specified workspace on login.\nUseful for fixed number of workspace setups where the first workspace isn't the main one.", "link": "https://extensions.gnome.org/extension/4783/default-workspace/", "shell_version_map": {"40": {"version": "2", "sha256": "05s1bzh917vv3j7xfx2gljwfzxkb9lsvp8zgcgch75hfvywvpgb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIHRvIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIG9uIGxvZ2luLlxuVXNlZnVsIGZvciBmaXhlZCBudW1iZXIgb2Ygd29ya3NwYWNlIHNldHVwcyB3aGVyZSB0aGUgZmlyc3Qgd29ya3NwYWNlIGlzbid0IHRoZSBtYWluIG9uZS4iLAogICJuYW1lIjogIkRlZmF1bHQgV29ya3NwYWNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXRldXNSb2RDb3N0YS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVmYXVsdC13b3Jrc3BhY2UiLAogICJ1dWlkIjogImRlZmF1bHQtd29ya3NwYWNlQG1hdGV1c3JvZGNvc3RhLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "05s1bzh917vv3j7xfx2gljwfzxkb9lsvp8zgcgch75hfvywvpgb9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlN3aXRjaGVzIHRvIHRoZSBzcGVjaWZpZWQgd29ya3NwYWNlIG9uIGxvZ2luLlxuVXNlZnVsIGZvciBmaXhlZCBudW1iZXIgb2Ygd29ya3NwYWNlIHNldHVwcyB3aGVyZSB0aGUgZmlyc3Qgd29ya3NwYWNlIGlzbid0IHRoZSBtYWluIG9uZS4iLAogICJuYW1lIjogIkRlZmF1bHQgV29ya3NwYWNlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYXRldXNSb2RDb3N0YS9nbm9tZS1zaGVsbC1leHRlbnNpb24tZGVmYXVsdC13b3Jrc3BhY2UiLAogICJ1dWlkIjogImRlZmF1bHQtd29ya3NwYWNlQG1hdGV1c3JvZGNvc3RhLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
-, {"uuid": "alt-mouse@eexpss.gmail.com", "name": "Alt Mouse", "pname": "alt-mouse", "description": "Alt + Mouse control window", "link": "https://extensions.gnome.org/extension/4786/alt-mouse/", "shell_version_map": {"40": {"version": "1", "sha256": "0in20d336slzr4z3f30621h2bl8g2iig3bp9nxqfnv4r844nvn5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdCArIE1vdXNlIGNvbnRyb2wgd2luZG93IiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWx0LW1vdXNlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "0in20d336slzr4z3f30621h2bl8g2iig3bp9nxqfnv4r844nvn5q", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdCArIE1vdXNlIGNvbnRyb2wgd2luZG93IiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogIiIsCiAgInV1aWQiOiAiYWx0LW1vdXNlQGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "alt-mouse@eexpss.gmail.com", "name": "Alt Mouse", "pname": "alt-mouse", "description": "Alt + Mouse control window, Detailed instructions are on the home page.", "link": "https://extensions.gnome.org/extension/4786/alt-mouse/", "shell_version_map": {"40": {"version": "7", "sha256": "0gqm6mrqffdxaad8mh7zd54qb7k4j15xlki4daiq97cw25qr6xni", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdCArIE1vdXNlIGNvbnRyb2wgd2luZG93LCBEZXRhaWxlZCBpbnN0cnVjdGlvbnMgYXJlIG9uIHRoZSBob21lIHBhZ2UuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}, "41": {"version": "7", "sha256": "0gqm6mrqffdxaad8mh7zd54qb7k4j15xlki4daiq97cw25qr6xni", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFsdCArIE1vdXNlIGNvbnRyb2wgd2luZG93LCBEZXRhaWxlZCBpbnN0cnVjdGlvbnMgYXJlIG9uIHRoZSBob21lIHBhZ2UuIiwKICAibmFtZSI6ICJBbHQgTW91c2UiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9lZXhwcmVzcy9nbm9tZS1zaGVsbC1hbHQtbW91c2UiLAogICJ1dWlkIjogImFsdC1tb3VzZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDcKfQ=="}}}
+, {"uuid": "workspace-switcher-manager@G-dH.github.com", "name": "Workspace Switcher Manager", "pname": "workspace-switcher-manager", "description": "Make the workspace switcher popup useful! Customize your workspace switcher behavior and content, dimensions, position, orientation and colors of its popup indicator.\n\n- all GNOME workspace related options at one place\n- adds ws switcher Wraparoud and Ignore Last (empty) Workspace options\n- allows to disable or customize switcher popup\n- allows adding content to the workspace switcher popup - Workspace Name, Current Application Name, Workspace Index\n- ws switcher popup appearance customization includes position on screen, timings, size, colors , orientation", "link": "https://extensions.gnome.org/extension/4788/workspace-switcher-manager/", "shell_version_map": {"38": {"version": "2", "sha256": "1zxsi1pclxm01y0mj2hs5xa6j401k9fl85d4z592667gshnr9y0f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgY29udGVudCwgZGltZW5zaW9ucywgcG9zaXRpb24sIG9yaWVudGF0aW9uIGFuZCBjb2xvcnMgb2YgaXRzIHBvcHVwIGluZGljYXRvci5cblxuLSBhbGwgR05PTUUgd29ya3NwYWNlIHJlbGF0ZWQgb3B0aW9ucyBhdCBvbmUgcGxhY2Vcbi0gYWRkcyB3cyBzd2l0Y2hlciBXcmFwYXJvdWQgYW5kIElnbm9yZSBMYXN0IChlbXB0eSkgV29ya3NwYWNlIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdzIHN3aXRjaGVyIHBvcHVwIGFwcGVhcmFuY2UgY3VzdG9taXphdGlvbiBpbmNsdWRlcyBwb3NpdGlvbiBvbiBzY3JlZW4sIHRpbWluZ3MsIHNpemUsIGNvbG9ycyAsIG9yaWVudGF0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2hlciBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3dvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlckBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "1zxsi1pclxm01y0mj2hs5xa6j401k9fl85d4z592667gshnr9y0f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgY29udGVudCwgZGltZW5zaW9ucywgcG9zaXRpb24sIG9yaWVudGF0aW9uIGFuZCBjb2xvcnMgb2YgaXRzIHBvcHVwIGluZGljYXRvci5cblxuLSBhbGwgR05PTUUgd29ya3NwYWNlIHJlbGF0ZWQgb3B0aW9ucyBhdCBvbmUgcGxhY2Vcbi0gYWRkcyB3cyBzd2l0Y2hlciBXcmFwYXJvdWQgYW5kIElnbm9yZSBMYXN0IChlbXB0eSkgV29ya3NwYWNlIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdzIHN3aXRjaGVyIHBvcHVwIGFwcGVhcmFuY2UgY3VzdG9taXphdGlvbiBpbmNsdWRlcyBwb3NpdGlvbiBvbiBzY3JlZW4sIHRpbWluZ3MsIHNpemUsIGNvbG9ycyAsIG9yaWVudGF0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2hlciBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3dvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlckBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "1zxsi1pclxm01y0mj2hs5xa6j401k9fl85d4z592667gshnr9y0f", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIHdvcmtzcGFjZSBzd2l0Y2hlciBwb3B1cCB1c2VmdWwhIEN1c3RvbWl6ZSB5b3VyIHdvcmtzcGFjZSBzd2l0Y2hlciBiZWhhdmlvciBhbmQgY29udGVudCwgZGltZW5zaW9ucywgcG9zaXRpb24sIG9yaWVudGF0aW9uIGFuZCBjb2xvcnMgb2YgaXRzIHBvcHVwIGluZGljYXRvci5cblxuLSBhbGwgR05PTUUgd29ya3NwYWNlIHJlbGF0ZWQgb3B0aW9ucyBhdCBvbmUgcGxhY2Vcbi0gYWRkcyB3cyBzd2l0Y2hlciBXcmFwYXJvdWQgYW5kIElnbm9yZSBMYXN0IChlbXB0eSkgV29ya3NwYWNlIG9wdGlvbnNcbi0gYWxsb3dzIHRvIGRpc2FibGUgb3IgY3VzdG9taXplIHN3aXRjaGVyIHBvcHVwXG4tIGFsbG93cyBhZGRpbmcgY29udGVudCB0byB0aGUgd29ya3NwYWNlIHN3aXRjaGVyIHBvcHVwIC0gV29ya3NwYWNlIE5hbWUsIEN1cnJlbnQgQXBwbGljYXRpb24gTmFtZSwgV29ya3NwYWNlIEluZGV4XG4tIHdzIHN3aXRjaGVyIHBvcHVwIGFwcGVhcmFuY2UgY3VzdG9taXphdGlvbiBpbmNsdWRlcyBwb3NpdGlvbiBvbiBzY3JlZW4sIHRpbWluZ3MsIHNpemUsIGNvbG9ycyAsIG9yaWVudGF0aW9uIiwKICAiZ2V0dGV4dC1kb21haW4iOiAid29ya3NwYWNlLXN3aXRjaGVyLW1hbmFnZXIiLAogICJuYW1lIjogIldvcmtzcGFjZSBTd2l0Y2hlciBNYW5hZ2VyIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLndvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM2IiwKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9HLWRIL3dvcmtzcGFjZS1zd2l0Y2hlci1tYW5hZ2VyIiwKICAidXVpZCI6ICJ3b3Jrc3BhY2Utc3dpdGNoZXItbWFuYWdlckBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "compare@eexpss.gmail.com", "name": "Compare or Open", "pname": "compare-filedir-from-clip", "description": "Copy/Select two Dirs/Files from anywhere such as `nautilus` or `gnome-terminal`, and then compare them (use `meld`) or open with Ctrl-O or open with context-menu.", "link": "https://extensions.gnome.org/extension/4789/compare-filedir-from-clip/", "shell_version_map": {"40": {"version": "11", "sha256": "0dqg87ww1awi7fny6s0zns40nzd91sq506lpm839rszsgvzppsfr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}, "41": {"version": "11", "sha256": "0dqg87ww1awi7fny6s0zns40nzd91sq506lpm839rszsgvzppsfr", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNvcHkvU2VsZWN0IHR3byBEaXJzL0ZpbGVzIGZyb20gYW55d2hlcmUgc3VjaCBhcyBgbmF1dGlsdXNgIG9yIGBnbm9tZS10ZXJtaW5hbGAsIGFuZCB0aGVuIGNvbXBhcmUgdGhlbSAodXNlIGBtZWxkYCkgb3Igb3BlbiB3aXRoIEN0cmwtTyBvciBvcGVuIHdpdGggY29udGV4dC1tZW51LiIsCiAgImdldHRleHQtZG9tYWluIjogImNvbXBhcmUiLAogICJuYW1lIjogIkNvbXBhcmUgb3IgT3BlbiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5jb21wYXJlIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtY29tcGFyZSIsCiAgInV1aWQiOiAiY29tcGFyZUBlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDExCn0="}}}
+, {"uuid": "freq-boost-switch@metal03326", "name": "Frequency Boost Switch", "pname": "frequency-boost-switch", "description": "Add a toggle to enable/disable CPU frequency boost in Gnome Power Profiles menu.", "link": "https://extensions.gnome.org/extension/4792/frequency-boost-switch/", "shell_version_map": {"41": {"version": "3", "sha256": "1rizslyrqi1hnkdcajyq63g2azxbixmcf4y78ckh8zyciqrsxk9c", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkFkZCBhIHRvZ2dsZSB0byBlbmFibGUvZGlzYWJsZSBDUFUgZnJlcXVlbmN5IGJvb3N0IGluIEdub21lIFBvd2VyIFByb2ZpbGVzIG1lbnUuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAiZnJlcS1ib29zdC1zd2l0Y2hAbWV0YWwwMzMyNiIsCiAgIm5hbWUiOiAiRnJlcXVlbmN5IEJvb3N0IFN3aXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5mcmVxLWJvb3N0LXN3aXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0bGFiLmNvbS9tZXRhbDAzMzI2L2dub21lLWZyZXF1ZW5jeS1ib29zdC1zd2l0Y2giLAogICJ1dWlkIjogImZyZXEtYm9vc3Qtc3dpdGNoQG1ldGFsMDMzMjYiLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "pop-launcher-super-key@ManeLippert", "name": "Pop Launcher Super-Key", "pname": "pop-launcher-super-key", "description": "Fork of Pop COSMIC: Binds Pop Launcher on Super-Key when Pop COSMIC Extension is disabled", "link": "https://extensions.gnome.org/extension/4797/pop-launcher-super-key/", "shell_version_map": {"38": {"version": "3", "sha256": "04bln8wkn0s6di03qqxa7bzclb2p8w5ic4mbmh31ar041plzj778", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYW5lTGlwcGVydC9wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAidXVpZCI6ICJwb3AtbGF1bmNoZXItc3VwZXIta2V5QE1hbmVMaXBwZXJ0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "40": {"version": "3", "sha256": "04bln8wkn0s6di03qqxa7bzclb2p8w5ic4mbmh31ar041plzj778", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYW5lTGlwcGVydC9wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAidXVpZCI6ICJwb3AtbGF1bmNoZXItc3VwZXIta2V5QE1hbmVMaXBwZXJ0IiwKICAidmVyc2lvbiI6IDMKfQ=="}, "41": {"version": "3", "sha256": "04bln8wkn0s6di03qqxa7bzclb2p8w5ic4mbmh31ar041plzj778", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZvcmsgb2YgUG9wIENPU01JQzogQmluZHMgUG9wIExhdW5jaGVyIG9uIFN1cGVyLUtleSB3aGVuIFBvcCBDT1NNSUMgRXh0ZW5zaW9uIGlzIGRpc2FibGVkIiwKICAibmFtZSI6ICJQb3AgTGF1bmNoZXIgU3VwZXItS2V5IiwKICAib3JpZ2luYWwtYXV0aG9ycyI6ICJTeXN0ZW03NiIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy5wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICIzLjM4IiwKICAgICI0MCIsCiAgICAiNDEiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9NYW5lTGlwcGVydC9wb3AtbGF1bmNoZXItc3VwZXIta2V5IiwKICAidXVpZCI6ICJwb3AtbGF1bmNoZXItc3VwZXIta2V5QE1hbmVMaXBwZXJ0IiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "thinkpad-battery-threshold@marcosdalvarez.org", "name": "Thinkpad Battery Threshold", "pname": "thinkpad-battery-threshold", "description": "Enable/Disable battery threshold on Lenovo Thinkpad laptops (If available)\n\nTo check if the function is available, see if the files 'charge_control_start_threshold' and 'charge_control_end_threshold' (valid alternatives: 'charge_start_threshold' and 'charge_stop_threshold') exist in the /sys/class/power_supply/BAT0 directory, also you must have permissions to read and write (in case you do not have write permissions, the root password will be requested to modify the values).", "link": "https://extensions.gnome.org/extension/4798/thinkpad-battery-threshold/", "shell_version_map": {"41": {"version": "3", "sha256": "0689zylxzvm6k2klwmbiwmsd4y6h4idfwa4z61zlssx8j6d40a8a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkVuYWJsZS9EaXNhYmxlIGJhdHRlcnkgdGhyZXNob2xkIG9uIExlbm92byBUaGlua3BhZCBsYXB0b3BzIChJZiBhdmFpbGFibGUpXG5cblRvIGNoZWNrIGlmIHRoZSBmdW5jdGlvbiBpcyBhdmFpbGFibGUsIHNlZSBpZiB0aGUgZmlsZXMgJ2NoYXJnZV9jb250cm9sX3N0YXJ0X3RocmVzaG9sZCcgYW5kICdjaGFyZ2VfY29udHJvbF9lbmRfdGhyZXNob2xkJyAodmFsaWQgYWx0ZXJuYXRpdmVzOiAnY2hhcmdlX3N0YXJ0X3RocmVzaG9sZCcgYW5kICdjaGFyZ2Vfc3RvcF90aHJlc2hvbGQnKSBleGlzdCBpbiB0aGUgL3N5cy9jbGFzcy9wb3dlcl9zdXBwbHkvQkFUMCBkaXJlY3RvcnksIGFsc28geW91IG11c3QgaGF2ZSBwZXJtaXNzaW9ucyB0byByZWFkIGFuZCB3cml0ZSAoaW4gY2FzZSB5b3UgZG8gbm90IGhhdmUgd3JpdGUgcGVybWlzc2lvbnMsIHRoZSByb290IHBhc3N3b3JkIHdpbGwgYmUgcmVxdWVzdGVkIHRvIG1vZGlmeSB0aGUgdmFsdWVzKS4iLAogICJnZXR0ZXh0LWRvbWFpbiI6ICJ0aGlua3BhZC1iYXR0ZXJ5LXRocmVzaG9sZEBtYXJjb3NkYWx2YXJlei5vcmciLAogICJuYW1lIjogIlRoaW5rcGFkIEJhdHRlcnkgVGhyZXNob2xkIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnRoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MSIKICBdLAogICJ1cmwiOiAiaHR0cHM6Ly9naXRsYWIuY29tL21hcmNvc2RhbHZhcmV6L3RoaW5rcGFkLWJhdHRlcnktdGhyZXNob2xkLWV4dGVuc2lvbiIsCiAgInV1aWQiOiAidGhpbmtwYWQtYmF0dGVyeS10aHJlc2hvbGRAbWFyY29zZGFsdmFyZXoub3JnIiwKICAidmVyc2lvbiI6IDMKfQ=="}}}
+, {"uuid": "lock-screen-message@advendradeswanta.gitlab.com", "name": "Lock Screen Message", "pname": "lock-screen-message", "description": "Simple extension that let's you add your message to the lock screen (unlockDialog)", "link": "https://extensions.gnome.org/extension/4801/lock-screen-message/", "shell_version_map": {"40": {"version": "2", "sha256": "12q3z5wdbbg9sa570ig5sw6qk70ykhy5zsx7ygvi2zgla52v0hq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9jay1zY3JlZW4tbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQWR2ZW5kcmFEZXN3YW50YS9sb2NrLXNjcmVlbi1tZXNzYWdlIiwKICAidXVpZCI6ICJsb2NrLXNjcmVlbi1tZXNzYWdlQGFkdmVuZHJhZGVzd2FudGEuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}, "41": {"version": "2", "sha256": "12q3z5wdbbg9sa570ig5sw6qk70ykhy5zsx7ygvi2zgla52v0hq9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNpbXBsZSBleHRlbnNpb24gdGhhdCBsZXQncyB5b3UgYWRkIHlvdXIgbWVzc2FnZSB0byB0aGUgbG9jayBzY3JlZW4gKHVubG9ja0RpYWxvZykiLAogICJuYW1lIjogIkxvY2sgU2NyZWVuIE1lc3NhZ2UiLAogICJzZXR0aW5ncy1zY2hlbWEiOiAib3JnLmdub21lLnNoZWxsLmV4dGVuc2lvbnMubG9jay1zY3JlZW4tbWVzc2FnZSIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGxhYi5jb20vQWR2ZW5kcmFEZXN3YW50YS9sb2NrLXNjcmVlbi1tZXNzYWdlIiwKICAidXVpZCI6ICJsb2NrLXNjcmVlbi1tZXNzYWdlQGFkdmVuZHJhZGVzd2FudGEuZ2l0bGFiLmNvbSIsCiAgInZlcnNpb24iOiAyCn0="}}}
+, {"uuid": "panel-corners@aunetx", "name": "Panel corners", "pname": "panel-corners", "description": "A GNOME shell extension to keep the old topbar corners, which were removed for GNOME 42. It also allows you to customize the rounded corners, even if you use GNOME 40 or 41.\n\nIt is widely based on already existing gnome-shell code, and on a merge request by Alexander Mikhaylenko: https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/1328", "link": "https://extensions.gnome.org/extension/4805/panel-corners/", "shell_version_map": {"40": {"version": "3", "sha256": "0piacfxwa5ca5cnvrz0s8pqykfixynmvvdmh1rznfsh407v1kw1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMwp9"}, "41": {"version": "3", "sha256": "0piacfxwa5ca5cnvrz0s8pqykfixynmvvdmh1rznfsh407v1kw1v", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkEgR05PTUUgc2hlbGwgZXh0ZW5zaW9uIHRvIGtlZXAgdGhlIG9sZCB0b3BiYXIgY29ybmVycywgd2hpY2ggd2VyZSByZW1vdmVkIGZvciBHTk9NRSA0Mi4gSXQgYWxzbyBhbGxvd3MgeW91IHRvIGN1c3RvbWl6ZSB0aGUgcm91bmRlZCBjb3JuZXJzLCBldmVuIGlmIHlvdSB1c2UgR05PTUUgNDAgb3IgNDEuXG5cbkl0IGlzIHdpZGVseSBiYXNlZCBvbiBhbHJlYWR5IGV4aXN0aW5nIGdub21lLXNoZWxsIGNvZGUsIGFuZCBvbiBhIG1lcmdlIHJlcXVlc3QgYnkgQWxleGFuZGVyIE1pa2hheWxlbmtvOiBodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05PTUUvZ25vbWUtc2hlbGwvLS9tZXJnZV9yZXF1ZXN0cy8xMzI4IiwKICAibmFtZSI6ICJQYW5lbCBjb3JuZXJzIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLnBhbmVsLWNvcm5lcnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIiwKICAgICI0MSIsCiAgICAiNDIiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hdW5ldHgvcGFuZWwtY29ybmVycyIsCiAgInV1aWQiOiAicGFuZWwtY29ybmVyc0BhdW5ldHgiLAogICJ2ZXJzaW9uIjogMwp9"}}}
+, {"uuid": "WhatWatch@Zappo-II.github.io", "name": "What Watch", "pname": "what-watch", "description": "Shows a customizeable analog desktop clock.\nPlease visit the GitHub repository for documentation and to report any issues.", "link": "https://extensions.gnome.org/extension/4806/what-watch/", "shell_version_map": {"38": {"version": "4", "sha256": "1cd9cci0nhpif104x7lc3i5xiqlsnlr0xg764gj0p3hrn0bf9icj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgY3VzdG9taXplYWJsZSBhbmFsb2cgZGVza3RvcCBjbG9jay5cblBsZWFzZSB2aXNpdCB0aGUgR2l0SHViIHJlcG9zaXRvcnkgZm9yIGRvY3VtZW50YXRpb24gYW5kIHRvIHJlcG9ydCBhbnkgaXNzdWVzLiIsCiAgIm5hbWUiOiAiV2hhdCBXYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy56YXBwb2lpLndoYXR3YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWmFwcG8tSUkvV2hhdFdhdGNoIiwKICAidXVpZCI6ICJXaGF0V2F0Y2hAWmFwcG8tSUkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "40": {"version": "4", "sha256": "1cd9cci0nhpif104x7lc3i5xiqlsnlr0xg764gj0p3hrn0bf9icj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgY3VzdG9taXplYWJsZSBhbmFsb2cgZGVza3RvcCBjbG9jay5cblBsZWFzZSB2aXNpdCB0aGUgR2l0SHViIHJlcG9zaXRvcnkgZm9yIGRvY3VtZW50YXRpb24gYW5kIHRvIHJlcG9ydCBhbnkgaXNzdWVzLiIsCiAgIm5hbWUiOiAiV2hhdCBXYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy56YXBwb2lpLndoYXR3YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWmFwcG8tSUkvV2hhdFdhdGNoIiwKICAidXVpZCI6ICJXaGF0V2F0Y2hAWmFwcG8tSUkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}, "41": {"version": "4", "sha256": "1cd9cci0nhpif104x7lc3i5xiqlsnlr0xg764gj0p3hrn0bf9icj", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlNob3dzIGEgY3VzdG9taXplYWJsZSBhbmFsb2cgZGVza3RvcCBjbG9jay5cblBsZWFzZSB2aXNpdCB0aGUgR2l0SHViIHJlcG9zaXRvcnkgZm9yIGRvY3VtZW50YXRpb24gYW5kIHRvIHJlcG9ydCBhbnkgaXNzdWVzLiIsCiAgIm5hbWUiOiAiV2hhdCBXYXRjaCIsCiAgInNldHRpbmdzLXNjaGVtYSI6ICJvcmcuZ25vbWUuc2hlbGwuZXh0ZW5zaW9ucy56YXBwb2lpLndoYXR3YXRjaCIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vWmFwcG8tSUkvV2hhdFdhdGNoIiwKICAidXVpZCI6ICJXaGF0V2F0Y2hAWmFwcG8tSUkuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDQKfQ=="}}}
+, {"uuid": "cairo@eexpss.gmail.com", "name": "Cairo Clock", "pname": "cairo-clock", "description": "Cairo Clock", "link": "https://extensions.gnome.org/extension/4809/cairo-clock/", "shell_version_map": {"40": {"version": "2", "sha256": "0s9iln4d5vvr4n16k0jd4c2nyj1lxdzjqq45ll0sspq7pagnaw54", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNhaXJvIENsb2NrIiwKICAibmFtZSI6ICJDYWlybyBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjYWlyb0BlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "0s9iln4d5vvr4n16k0jd4c2nyj1lxdzjqq45ll0sspq7pagnaw54", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkNhaXJvIENsb2NrIiwKICAibmFtZSI6ICJDYWlybyBDbG9jayIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiNDAiLAogICAgIjQxIiwKICAgICI0MiIKICBdLAogICJ1cmwiOiAiIiwKICAidXVpZCI6ICJjYWlyb0BlZXhwc3MuZ21haWwuY29tIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "WallpaperSwitcher@Rishu", "name": "Wallpaper Switcher", "pname": "wallpaper-switcher", "description": "Takes in the path of the folder containing wallpapers. Changes the wallpaper after given time interval. Option to switch them randomly or sequentially.", "link": "https://extensions.gnome.org/extension/4812/wallpaper-switcher/", "shell_version_map": {"38": {"version": "2", "sha256": "12biy68q57ayqxqbr8x0m4nnibrn94kb6y2rk7ly38y0qy31096a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2VzIGluIHRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgY29udGFpbmluZyB3YWxscGFwZXJzLiBDaGFuZ2VzIHRoZSB3YWxscGFwZXIgYWZ0ZXIgZ2l2ZW4gdGltZSBpbnRlcnZhbC4gT3B0aW9uIHRvIHN3aXRjaCB0aGVtIHJhbmRvbWx5IG9yIHNlcXVlbnRpYWxseS4iLAogICJuYW1lIjogIldhbGxwYXBlciBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9XYWxscGFwZXJTd2l0Y2hlciIsCiAgInV1aWQiOiAiV2FsbHBhcGVyU3dpdGNoZXJAUmlzaHUiLAogICJ2ZXJzaW9uIjogMgp9"}, "40": {"version": "2", "sha256": "12biy68q57ayqxqbr8x0m4nnibrn94kb6y2rk7ly38y0qy31096a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2VzIGluIHRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgY29udGFpbmluZyB3YWxscGFwZXJzLiBDaGFuZ2VzIHRoZSB3YWxscGFwZXIgYWZ0ZXIgZ2l2ZW4gdGltZSBpbnRlcnZhbC4gT3B0aW9uIHRvIHN3aXRjaCB0aGVtIHJhbmRvbWx5IG9yIHNlcXVlbnRpYWxseS4iLAogICJuYW1lIjogIldhbGxwYXBlciBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9XYWxscGFwZXJTd2l0Y2hlciIsCiAgInV1aWQiOiAiV2FsbHBhcGVyU3dpdGNoZXJAUmlzaHUiLAogICJ2ZXJzaW9uIjogMgp9"}, "41": {"version": "2", "sha256": "12biy68q57ayqxqbr8x0m4nnibrn94kb6y2rk7ly38y0qy31096a", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIlRha2VzIGluIHRoZSBwYXRoIG9mIHRoZSBmb2xkZXIgY29udGFpbmluZyB3YWxscGFwZXJzLiBDaGFuZ2VzIHRoZSB3YWxscGFwZXIgYWZ0ZXIgZ2l2ZW4gdGltZSBpbnRlcnZhbC4gT3B0aW9uIHRvIHN3aXRjaCB0aGVtIHJhbmRvbWx5IG9yIHNlcXVlbnRpYWxseS4iLAogICJuYW1lIjogIldhbGxwYXBlciBTd2l0Y2hlciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNCIsCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiLAogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vcmlzaHVpbmZpbml0eS9XYWxscGFwZXJTd2l0Y2hlciIsCiAgInV1aWQiOiAiV2FsbHBhcGVyU3dpdGNoZXJAUmlzaHUiLAogICJ2ZXJzaW9uIjogMgp9"}}}
+, {"uuid": "colorful-battery-indicator@aneruam", "name": "Colorful Battery Indicator", "pname": "colorful-battery-indicator", "description": "Make the color of the battery indicator change with the level of battery charge.", "link": "https://extensions.gnome.org/extension/4817/colorful-battery-indicator/", "shell_version_map": {"38": {"version": "4", "sha256": "0ypm2scrfffk6pl9plk7h8p7bnw0n29a1xyf9r4xdgb32j2fvs3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIGNvbG9yIG9mIHRoZSBiYXR0ZXJ5IGluZGljYXRvciBjaGFuZ2Ugd2l0aCB0aGUgbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmVydWEvZ25vbWUtY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNvbG9yZnVsLWJhdHRlcnktaW5kaWNhdG9yQGFuZXJ1YW0iLAogICJ2ZXJzaW9uIjogNAp9"}, "40": {"version": "4", "sha256": "0ypm2scrfffk6pl9plk7h8p7bnw0n29a1xyf9r4xdgb32j2fvs3k", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk1ha2UgdGhlIGNvbG9yIG9mIHRoZSBiYXR0ZXJ5IGluZGljYXRvciBjaGFuZ2Ugd2l0aCB0aGUgbGV2ZWwgb2YgYmF0dGVyeSBjaGFyZ2UuIiwKICAibmFtZSI6ICJDb2xvcmZ1bCBCYXR0ZXJ5IEluZGljYXRvciIsCiAgInNoZWxsLXZlcnNpb24iOiBbCiAgICAiMy4zNiIsCiAgICAiMy4zOCIsCiAgICAiNDAiCiAgXSwKICAidXJsIjogImh0dHBzOi8vZ2l0aHViLmNvbS9hbmVydWEvZ25vbWUtY29sb3JmdWwtYmF0dGVyeS1pbmRpY2F0b3IiLAogICJ1dWlkIjogImNvbG9yZnVsLWJhdHRlcnktaW5kaWNhdG9yQGFuZXJ1YW0iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "inactivity@fedeantuna.github.io", "name": "Inactivity", "pname": "inactivity", "description": "Hide Activities Button on the top panel.", "link": "https://extensions.gnome.org/extension/4818/inactivity/", "shell_version_map": {"41": {"version": "1", "sha256": "1qc16xhgp2wachcxw9ivf8r4nai2k0xj9vph8k0zvc0shwkpjzag", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkhpZGUgQWN0aXZpdGllcyBCdXR0b24gb24gdGhlIHRvcCBwYW5lbC4iLAogICJuYW1lIjogIkluYWN0aXZpdHkiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQxIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZmVkZWFudHVuYS9pbmFjdGl2aXR5IiwKICAidXVpZCI6ICJpbmFjdGl2aXR5QGZlZGVhbnR1bmEuZ2l0aHViLmlvIiwKICAidmVyc2lvbiI6IDEKfQ=="}}}
+, {"uuid": "m3u8-play@eexpss.gmail.com", "name": "M3U8 Play", "pname": "m3u8-play", "description": "M3U8 Play. Search and select to play (use `ffplay/ffmpeg`). `m3u8` files need put into `~/.local/share/m3u8-play/`", "link": "https://extensions.gnome.org/extension/4824/m3u8-play/", "shell_version_map": {"40": {"version": "4", "sha256": "047bijgx902y5v9w6njrbjn380gc8iq49nx0qrzyd8plph947c1s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk0zVTggUGxheS4gU2VhcmNoIGFuZCBzZWxlY3QgdG8gcGxheSAodXNlIGBmZnBsYXkvZmZtcGVnYCkuIGBtM3U4YCBmaWxlcyBuZWVkIHB1dCBpbnRvIGB+Ly5sb2NhbC9zaGFyZS9tM3U4LXBsYXkvYCIsCiAgImdldHRleHQtZG9tYWluIjogIm0zdTgtcGxheSIsCiAgIm5hbWUiOiAiTTNVOCBQbGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtbTN1OC1wbGF5LyIsCiAgInV1aWQiOiAibTN1OC1wbGF5QGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}, "41": {"version": "4", "sha256": "047bijgx902y5v9w6njrbjn380gc8iq49nx0qrzyd8plph947c1s", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIk0zVTggUGxheS4gU2VhcmNoIGFuZCBzZWxlY3QgdG8gcGxheSAodXNlIGBmZnBsYXkvZmZtcGVnYCkuIGBtM3U4YCBmaWxlcyBuZWVkIHB1dCBpbnRvIGB+Ly5sb2NhbC9zaGFyZS9tM3U4LXBsYXkvYCIsCiAgImdldHRleHQtZG9tYWluIjogIm0zdTgtcGxheSIsCiAgIm5hbWUiOiAiTTNVOCBQbGF5IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vZWV4cHJlc3MvZ25vbWUtc2hlbGwtbTN1OC1wbGF5LyIsCiAgInV1aWQiOiAibTN1OC1wbGF5QGVleHBzcy5nbWFpbC5jb20iLAogICJ2ZXJzaW9uIjogNAp9"}}}
+, {"uuid": "gnome-edge-gap@necropolina", "name": "Edge Gap", "pname": "edge-gap", "description": "add a gap around the edge of your screen", "link": "https://extensions.gnome.org/extension/4827/edge-gap/", "shell_version_map": {"40": {"version": "2", "sha256": "07gih1gjap9achqd0h4wck25nfpjipdrs72sslpd597imlhlqm2j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBhIGdhcCBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDIKfQ=="}, "41": {"version": "2", "sha256": "07gih1gjap9achqd0h4wck25nfpjipdrs72sslpd597imlhlqm2j", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogImFkZCBhIGdhcCBhcm91bmQgdGhlIGVkZ2Ugb2YgeW91ciBzY3JlZW4iLAogICJuYW1lIjogIkVkZ2UgR2FwIiwKICAic2V0dGluZ3Mtc2NoZW1hIjogIm9yZy5nbm9tZS5zaGVsbC5leHRlbnNpb25zLmdub21lLWVkZ2UtZ2FwIiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vbmVjcm9wb2xpbmEvZ25vbWUtZWRnZS1nYXAiLAogICJ1dWlkIjogImdub21lLWVkZ2UtZ2FwQG5lY3JvcG9saW5hIiwKICAidmVyc2lvbiI6IDIKfQ=="}}}
+, {"uuid": "overview-keyboard-navigation@G-dH.github.com", "name": "GS 40/41 Overview Keyboard Navigation Fix", "pname": "overview-keyboard-navigation-fix", "description": "Fix for GNOME Shell 40 and 41 that initiates keyboard navigation keys in the Overview by pressing Tab or Arrow keys. It also changes Esc key behavior in the App Grid view - Esc closes the Overview instead of activating Windows Overview.", "link": "https://extensions.gnome.org/extension/4830/overview-keyboard-navigation-fix/", "shell_version_map": {"40": {"version": "1", "sha256": "14b1fpr2xg5r0hnhfwl14f0szg38wkga2dihjcii1chxz877zlr9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24ga2V5cyBpbiB0aGUgT3ZlcnZpZXcgYnkgcHJlc3NpbmcgVGFiIG9yIEFycm93IGtleXMuIEl0IGFsc28gY2hhbmdlcyBFc2Mga2V5IGJlaGF2aW9yIGluIHRoZSBBcHAgR3JpZCB2aWV3IC0gRXNjIGNsb3NlcyB0aGUgT3ZlcnZpZXcgaW5zdGVhZCBvZiBhY3RpdmF0aW5nIFdpbmRvd3MgT3ZlcnZpZXcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3ZlcnZpZXcta2V5Ym9hcmQtbmF2aWdhdGlvbi1maXgiLAogICJuYW1lIjogIkdTIDQwLzQxIE92ZXJ2aWV3IEtleWJvYXJkIE5hdmlnYXRpb24gRml4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9nbm9tZS1zaGVsbC1leHRlbnNpb24tb3ZlcnZpZXcta2V5Ym9hcmQtbmF2aWdhdGlvbiIsCiAgInV1aWQiOiAib3ZlcnZpZXcta2V5Ym9hcmQtbmF2aWdhdGlvbkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}, "41": {"version": "1", "sha256": "14b1fpr2xg5r0hnhfwl14f0szg38wkga2dihjcii1chxz877zlr9", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkZpeCBmb3IgR05PTUUgU2hlbGwgNDAgYW5kIDQxIHRoYXQgaW5pdGlhdGVzIGtleWJvYXJkIG5hdmlnYXRpb24ga2V5cyBpbiB0aGUgT3ZlcnZpZXcgYnkgcHJlc3NpbmcgVGFiIG9yIEFycm93IGtleXMuIEl0IGFsc28gY2hhbmdlcyBFc2Mga2V5IGJlaGF2aW9yIGluIHRoZSBBcHAgR3JpZCB2aWV3IC0gRXNjIGNsb3NlcyB0aGUgT3ZlcnZpZXcgaW5zdGVhZCBvZiBhY3RpdmF0aW5nIFdpbmRvd3MgT3ZlcnZpZXcuIiwKICAiZ2V0dGV4dC1kb21haW4iOiAib3ZlcnZpZXcta2V5Ym9hcmQtbmF2aWdhdGlvbi1maXgiLAogICJuYW1lIjogIkdTIDQwLzQxIE92ZXJ2aWV3IEtleWJvYXJkIE5hdmlnYXRpb24gRml4IiwKICAic2hlbGwtdmVyc2lvbiI6IFsKICAgICI0MCIsCiAgICAiNDEiLAogICAgIjQyIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vRy1kSC9nbm9tZS1zaGVsbC1leHRlbnNpb24tb3ZlcnZpZXcta2V5Ym9hcmQtbmF2aWdhdGlvbiIsCiAgInV1aWQiOiAib3ZlcnZpZXcta2V5Ym9hcmQtbmF2aWdhdGlvbkBHLWRILmdpdGh1Yi5jb20iLAogICJ2ZXJzaW9uIjogMQp9"}}}
+, {"uuid": "all-windows-srwp@jkavery.github.io", "name": "All Windows + Save/Restore Window Positions", "pname": "all-windows-saverestore-window-positions", "description": "List open windows of all workspaces, plus Save/Restore window positions (run automatically on Suspend/Resume, a workaround for Ubuntu bug #1778983).", "link": "https://extensions.gnome.org/extension/4833/all-windows-saverestore-window-positions/", "shell_version_map": {"40": {"version": "1", "sha256": "1ppgrvmf7lxzqig02p80bh3laxx8bhq6harza82qm8djj62g6kkk", "metadata": "ewogICJfZ2VuZXJhdGVkIjogIkdlbmVyYXRlZCBieSBTd2VldFRvb3RoLCBkbyBub3QgZWRpdCIsCiAgImRlc2NyaXB0aW9uIjogIkxpc3Qgb3BlbiB3aW5kb3dzIG9mIGFsbCB3b3Jrc3BhY2VzLCBwbHVzIFNhdmUvUmVzdG9yZSB3aW5kb3cgcG9zaXRpb25zIChydW4gYXV0b21hdGljYWxseSBvbiBTdXNwZW5kL1Jlc3VtZSwgYSB3b3JrYXJvdW5kIGZvciBVYnVudHUgYnVnICMxNzc4OTgzKS4iLAogICJuYW1lIjogIkFsbCBXaW5kb3dzICsgU2F2ZS9SZXN0b3JlIFdpbmRvdyBQb3NpdGlvbnMiLAogICJzaGVsbC12ZXJzaW9uIjogWwogICAgIjQwIgogIF0sCiAgInVybCI6ICJodHRwczovL2dpdGh1Yi5jb20vamthdmVyeS9hbGwtd2luZG93cyIsCiAgInV1aWQiOiAiYWxsLXdpbmRvd3Mtc3J3cEBqa2F2ZXJ5LmdpdGh1Yi5pbyIsCiAgInZlcnNpb24iOiAxCn0="}}}
 ]
diff --git a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
index a08af5734e4..1ed84067064 100644
--- a/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
+++ b/pkgs/desktops/gnome/extensions/manuallyPackaged.nix
@@ -2,7 +2,7 @@
 {
   "arcmenu@arcmenu.com" = callPackage ./arcmenu { };
   "clock-override@gnomeshell.kryogenix.org" = callPackage ./clock-override { };
-  "dash-to-panel@jderose9.github.com" = callPackage ./dash-to-panel { };
+  "dash-to-dock@micxgx.gmail.com" = callPackage ./dash-to-dock { };
   "drop-down-terminal@gs-extensions.zzrough.org" = callPackage ./drop-down-terminal { };
   "EasyScreenCast@iacopodeenosee.gmail.com" = callPackage ./EasyScreenCast { };
   "emoji-selector@maestroschan.fr" = callPackage ./emoji-selector { };
diff --git a/pkgs/desktops/gnome/extensions/pop-shell/default.nix b/pkgs/desktops/gnome/extensions/pop-shell/default.nix
index e4f8dfa03cd..381a82e5bdf 100644
--- a/pkgs/desktops/gnome/extensions/pop-shell/default.nix
+++ b/pkgs/desktops/gnome/extensions/pop-shell/default.nix
@@ -26,6 +26,16 @@ stdenv.mkDerivation rec {
     extensionPortalSlug = "pop-shell";
   };
 
+  postPatch = ''
+    for file in */main.js; do
+      substituteInPlace $file --replace "gjs" "${gjs}/bin/gjs"
+    done
+  '';
+
+  preFixup = ''
+    chmod +x $out/share/gnome-shell/extensions/pop-shell@system76.com/*/main.js
+  '';
+
   meta = with lib; {
     description = "Keyboard-driven layer for GNOME Shell";
     license = licenses.gpl3Only;
diff --git a/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch b/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
index e1e6fb7a839..2f2a0bcfd09 100644
--- a/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
+++ b/pkgs/desktops/gnome/extensions/pop-shell/fix-gjs.patch
@@ -1,20 +1,3 @@
-diff --git a/src/color_dialog/src/main.ts b/src/color_dialog/src/main.ts
-index 9522499..9911530 100644
---- a/src/color_dialog/src/main.ts
-+++ b/src/color_dialog/src/main.ts
-@@ -1,4 +1,4 @@
--#!/usr/bin/gjs
-+#!/usr/bin/env gjs
- 
- imports.gi.versions.Gtk = '3.0';
- 
-@@ -84,4 +84,4 @@ function launch_color_dialog() {
- 
- Gtk.init(null);
- 
--launch_color_dialog()
-\ No newline at end of file
-+launch_color_dialog()
 diff --git a/src/extension.ts b/src/extension.ts
 index 7417c46..00d5829 100644
 --- a/src/extension.ts
@@ -28,23 +11,6 @@ index 7417c46..00d5829 100644
  
          if (ipc) {
              const generator = (stdout: any, res: any) => {
-diff --git a/src/floating_exceptions/src/main.ts b/src/floating_exceptions/src/main.ts
-index f298ec7..87a6bc4 100644
---- a/src/floating_exceptions/src/main.ts
-+++ b/src/floating_exceptions/src/main.ts
-@@ -1,4 +1,4 @@
--#!/usr/bin/gjs
-+#!/usr/bin/env gjs
- 
- imports.gi.versions.Gtk = '3.0'
- 
-@@ -329,4 +329,4 @@ function main() {
-     Gtk.main()
- }
- 
--main()
-\ No newline at end of file
-+main()
 diff --git a/src/panel_settings.ts b/src/panel_settings.ts
 index 83ff56c..1bc1e98 100644
 --- a/src/panel_settings.ts
diff --git a/pkgs/desktops/gnome/games/gnome-mines/default.nix b/pkgs/desktops/gnome/games/gnome-mines/default.nix
index 6a7168badbf..d60a58a83c9 100644
--- a/pkgs/desktops/gnome/games/gnome-mines/default.nix
+++ b/pkgs/desktops/gnome/games/gnome-mines/default.nix
@@ -3,11 +3,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-mines";
-  version = "40.0";
+  version = "40.1";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.major version}/${pname}-${version}.tar.xz";
-    sha256 = "0sf6kdvhr4pr3hddnj6ql9larz2wy108sri31id6x9g459nbly8z";
+    sha256 = "NQLps/ccs7LnEcDmAZGH/rzCvKh349RW3KtwD3vjEnI=";
   };
 
   # gobject-introspection for finding vapi files
diff --git a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
index 3a158e7ddf8..683b5c22626 100644
--- a/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
+++ b/pkgs/desktops/gnome/misc/gnome-autoar/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gnome-autoar";
-  version = "0.4.2";
+  version = "0.4.3";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gnome-autoar/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "HSBpQHkwDhL+q9t3MEqWnRzBkNHRKpSb6EXK0Bx4pdM=";
+    sha256 = "e98HiVU0lqvdw8ljsM5zY4BcDALAJf7d68qsx4cknog=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/desktops/gnome/misc/gpaste/default.nix b/pkgs/desktops/gnome/misc/gpaste/default.nix
index 83928c04827..bdaeb47ab23 100644
--- a/pkgs/desktops/gnome/misc/gpaste/default.nix
+++ b/pkgs/desktops/gnome/misc/gpaste/default.nix
@@ -17,14 +17,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "3.42.2";
+  version = "3.42.5";
   pname = "gpaste";
 
   src = fetchFromGitHub {
     owner = "Keruspe";
     repo = "GPaste";
     rev = "v${version}";
-    sha256 = "sha256-VWtq1jPwUHHIDpVaSYQ0FiihlfulRofFmacMyv/buMw=";
+    sha256 = "sha256-BpDA2V40V+VF2CB7ik+edMxrRtYSFnTQ48ec6pt8Jo4=";
   };
 
   patches = [
diff --git a/pkgs/desktops/gnome/update.nix b/pkgs/desktops/gnome/update.nix
index 928eac45160..f5db71174ad 100644
--- a/pkgs/desktops/gnome/update.nix
+++ b/pkgs/desktops/gnome/update.nix
@@ -1,26 +1,42 @@
-{ stdenv, pkgs, lib, writeScript, python3, common-updater-scripts }:
+{ stdenv, bash, pkgs, lib, writeScript, python3, common-updater-scripts }:
 { packageName, attrPath ? packageName, versionPolicy ? "tagged", freeze ? false }:
 
 let
   python = python3.withPackages (p: [ p.requests p.libversion ]);
-  upperBoundFlag =
+  package = lib.attrByPath (lib.splitString "." attrPath) (throw "Cannot find attribute ‘${attrPath}’.") pkgs;
+  packageVersion = lib.getVersion package;
+  upperBound =
     let
-      package = lib.attrByPath (lib.splitString "." attrPath) (throw "Cannot find attribute ‘${attrPath}’.") pkgs;
-      packageVersion = lib.getVersion package;
       versionComponents = lib.versions.splitVersion packageVersion;
       minorVersion = lib.versions.minor packageVersion;
       minorAvailable = builtins.length versionComponents > 1 && builtins.match "[0-9]+" minorVersion != null;
       nextMinor = builtins.fromJSON minorVersion + 1;
       upperBound = "${lib.versions.major packageVersion}.${builtins.toString nextMinor}";
-    in lib.optionalString (freeze && minorAvailable) ''--upper-bound="${upperBound}"'';
+    in lib.optionals (freeze && minorAvailable) [ upperBound ];
   updateScript = writeScript "gnome-update-script" ''
-    #!${stdenv.shell}
+    #!${bash}/bin/bash
     set -o errexit
-    package_name="$1"
-    attr_path="$2"
-    version_policy="$3"
+    attr_path="$1"
+    package_name="$2"
+    package_version="$3"
+    version_policy="$4"
+
+    flvFlags=("$package_name" "$version_policy" "''${GNOME_UPDATE_STABILITY:-stable}")
+
+    if (( $# >= 5 )); then
+      upper_bound="$5"
+      flvFlags+=("--upper-bound=$upper_bound")
+    fi
+
     PATH=${lib.makeBinPath [ common-updater-scripts python ]}
-    latest_tag=$(python "${./find-latest-version.py}" "$package_name" "$version_policy" "stable" ${upperBoundFlag})
+    latest_tag=$(python "${./find-latest-version.py}" "''${flvFlags[@]}")
     update-source-version "$attr_path" "$latest_tag"
+    echo '[ { "commitBody": "https://gitlab.gnome.org/GNOME/'$package_name'/-/compare/'$package_version'...'$latest_tag'" } ]'
   '';
-in [ updateScript packageName attrPath versionPolicy ]
+in {
+  name = "gnome-update-script";
+  command = [ updateScript attrPath packageName packageVersion versionPolicy ] ++ upperBound;
+  supportedFeatures = [
+    "commit"
+  ];
+}
diff --git a/pkgs/desktops/gnustep/gworkspace/default.nix b/pkgs/desktops/gnustep/gworkspace/default.nix
index d5018a4350f..cdc6612d1c0 100644
--- a/pkgs/desktops/gnustep/gworkspace/default.nix
+++ b/pkgs/desktops/gnustep/gworkspace/default.nix
@@ -3,13 +3,13 @@
 , system_preferences
 }:
 let
-  version = "0.9.4";
+  version = "1.0.0";
 in
 gsmakeDerivation {
   name = "gworkspace-${version}";
   src = fetchurl {
     url = "ftp://ftp.gnustep.org/pub/gnustep/usr-apps/gworkspace-${version}.tar.gz";
-    sha256 = "0cjn83m7qmbwdpldlyhs239nwswgip3yaz01ahls130dq5qq7hgk";
+    sha256 = "sha256-M7dV7RVatw8gdYHQlRi5wNBd6MGT9GqW04R/DoKNu6I=";
   };
   # additional dependencies:
   # - PDFKit framework from http://gap.nongnu.org/
diff --git a/pkgs/desktops/lxqt/default.nix b/pkgs/desktops/lxqt/default.nix
index 062ca4abfe8..5404c0c7753 100644
--- a/pkgs/desktops/lxqt/default.nix
+++ b/pkgs/desktops/lxqt/default.nix
@@ -4,10 +4,9 @@ let
 
     # Update script tailored to LXQt packages from git repository
     lxqtUpdateScript = { pname, version, src }:
-      pkgs.genericUpdater {
+      pkgs.gitUpdater {
         inherit pname version;
         attrPath = "lxqt.${pname}";
-        versionLister = "${pkgs.common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
       };
 
     # For compiling information, see:
diff --git a/pkgs/desktops/mate/default.nix b/pkgs/desktops/mate/default.nix
index e9822f0242d..2c5b45a653e 100644
--- a/pkgs/desktops/mate/default.nix
+++ b/pkgs/desktops/mate/default.nix
@@ -7,10 +7,9 @@ let
 
     # Update script tailored to mate packages from git repository
     mateUpdateScript = { pname, version, odd-unstable ? true, url ? "https://pub.mate-desktop.org/releases" }:
-      pkgs.genericUpdater {
-        inherit pname version odd-unstable;
+      pkgs.httpTwoLevelsUpdater {
+        inherit pname version odd-unstable url;
         attrPath = "mate.${pname}";
-        versionLister = "${pkgs.common-updater-scripts}/bin/list-archive-two-level-versions ${url}";
       };
 
     atril = callPackage ./atril { };
diff --git a/pkgs/desktops/mate/mate-tweak/default.nix b/pkgs/desktops/mate/mate-tweak/default.nix
index 5fedc9d9ca1..e0fc06135e1 100644
--- a/pkgs/desktops/mate/mate-tweak/default.nix
+++ b/pkgs/desktops/mate/mate-tweak/default.nix
@@ -9,19 +9,18 @@
 , gobject-introspection
 , wrapGAppsHook
 , glib
-, genericUpdater
-, common-updater-scripts
+, gitUpdater
 }:
 
 python3Packages.buildPythonApplication rec {
   pname = "mate-tweak";
-  version = "22.04.0";
+  version = "22.04.1";
 
   src = fetchFromGitHub {
     owner = "ubuntu-mate";
     repo = pname;
     rev = version;
-    sha256 = "yCML+RdN7/dCCx5x1m8fUIkBrnfKztwqplpu1wXwDvY=";
+    sha256 = "FcXJc8tlpP9RCrO6EVGvHPFF6qXorImzi9UccgZU+co=";
   };
 
   nativeBuildInputs = [
@@ -74,10 +73,9 @@ python3Packages.buildPythonApplication rec {
     done
   '';
 
-  passthru.updateScript = genericUpdater {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
     attrPath = "mate.${pname}";
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
   };
 
   meta = with lib; {
diff --git a/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch b/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch
deleted file mode 100644
index bd519c292c2..00000000000
--- a/pkgs/desktops/pantheon/apps/appcenter/add-packagekit-backend-option.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-From b5d7cb20713eff3b3729e5c5fdd2f15680a29385 Mon Sep 17 00:00:00 2001
-From: Bobby Rong <rjl931189261@126.com>
-Date: Sun, 31 Oct 2021 23:12:46 +0800
-Subject: [PATCH] build: add packagekit_backend option
-
----
- .github/workflows/main.yml      |  7 +++++++
- meson_options.txt               |  1 +
- src/Application.vala            |  4 ++++
- src/Core/BackendAggregator.vala |  2 ++
- src/Core/Package.vala           | 21 +++++++++++++--------
- src/Core/UpdateManager.vala     |  6 ++++++
- src/Views/Homepage.vala         |  4 ++++
- src/meson.build                 | 10 ++++++++--
- 8 files changed, 45 insertions(+), 10 deletions(-)
-
-diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml
-index daf13654..5dc5a2fb 100644
---- a/.github/workflows/main.yml
-+++ b/.github/workflows/main.yml
-@@ -42,6 +42,13 @@ jobs:
-         meson configure -Dcurated=false -Dpayments=false -Dsharing=false -Dname=Pop\!_Shop build
-         ninja -C build install
- 
-+    - name: Build (NixOS)
-+      env:
-+        DESTDIR: out
-+      run: |
-+        meson configure -Dcurated=false -Dpayments=false -Dpackagekit_backend=false build
-+        ninja -C build install
-+
-   lint:
- 
-     runs-on: ubuntu-latest
-diff --git a/meson_options.txt b/meson_options.txt
-index 0ae93d07..37a6cd8a 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -4,3 +4,4 @@ option('name', type : 'string', value : 'AppCenter', description : 'The name of
- option('payments', type : 'boolean', value : true, description : 'Enable payment features and display paid apps')
- option('sharing', type : 'boolean', value : true, description : 'Display sharing features, i.e. copyable URLs to appcenter.elementary.io')
- option('hide_upstream_distro_apps', type : 'boolean', value : true, description : 'Used for hiding Ubuntu repo apps on elementary OS')
-+option('packagekit_backend', type : 'boolean', value : true, description : 'Enable PackageKit backend')
-diff --git a/src/Application.vala b/src/Application.vala
-index 65fae5aa..7c075076 100644
---- a/src/Application.vala
-+++ b/src/Application.vala
-@@ -167,9 +167,11 @@ public class AppCenter.App : Gtk.Application {
- 
-         var client = AppCenterCore.Client.get_default ();
- 
-+#if PACKAGEKIT_BACKEND
-         if (fake_update_packages != null) {
-             AppCenterCore.PackageKitBackend.get_default ().fake_packages = fake_update_packages;
-         }
-+#endif
- 
-         if (silent) {
-             NetworkMonitor.get_default ().network_changed.connect ((available) => {
-@@ -183,6 +185,7 @@ public class AppCenter.App : Gtk.Application {
-             return;
-         }
- 
-+#if PACKAGEKIT_BACKEND
-         if (local_path != null) {
-             var file = File.new_for_commandline_arg (local_path);
- 
-@@ -192,6 +195,7 @@ public class AppCenter.App : Gtk.Application {
-                 warning ("Failed to load local AppStream XML file: %s", e.message);
-             }
-         }
-+#endif
- 
-         if (main_window == null) {
-             main_window = new MainWindow (this);
-diff --git a/src/Core/BackendAggregator.vala b/src/Core/BackendAggregator.vala
-index 539dba98..feb1eaa9 100644
---- a/src/Core/BackendAggregator.vala
-+++ b/src/Core/BackendAggregator.vala
-@@ -26,8 +26,10 @@ public class AppCenterCore.BackendAggregator : Backend, Object {
- 
-     construct {
-         backends = new Gee.ArrayList<unowned Backend> ();
-+#if PACKAGEKIT_BACKEND
-         backends.add (PackageKitBackend.get_default ());
-         backends.add (UbuntuDriversBackend.get_default ());
-+#endif
-         backends.add (FlatpakBackend.get_default ());
- 
-         unowned Gtk.Application app = (Gtk.Application) GLib.Application.get_default ();
-diff --git a/src/Core/Package.vala b/src/Core/Package.vala
-index d6f12f15..8dbd7a22 100644
---- a/src/Core/Package.vala
-+++ b/src/Core/Package.vala
-@@ -328,7 +328,14 @@ public class AppCenterCore.Package : Object {
-     public string origin_description {
-         owned get {
-             unowned string origin = component.get_origin ();
--            if (backend is PackageKitBackend) {
-+            if (backend is FlatpakBackend) {
-+                var fp_package = this as FlatpakPackage;
-+                if (fp_package != null && fp_package.installation == FlatpakBackend.system_installation) {
-+                    return _("%s (system-wide)").printf (origin);
-+                }
-+                return origin;
-+#if PACKAGEKIT_BACKEND
-+            } else if (backend is PackageKitBackend) {
-                 if (origin == APPCENTER_PACKAGE_ORIGIN) {
-                     return _("AppCenter");
-                 } else if (origin == ELEMENTARY_STABLE_PACKAGE_ORIGIN) {
-@@ -336,15 +343,9 @@ public class AppCenterCore.Package : Object {
-                 } else if (origin.has_prefix ("ubuntu-")) {
-                     return _("Ubuntu (non-curated)");
-                 }
--            } else if (backend is FlatpakBackend) {
--                var fp_package = this as FlatpakPackage;
--                if (fp_package != null && fp_package.installation == FlatpakBackend.system_installation) {
--                    return _("%s (system-wide)").printf (origin);
--                }
--
--                return origin;
-             } else if (backend is UbuntuDriversBackend) {
-                 return _("Ubuntu Drivers");
-+#endif
-             }
- 
-             return _("Unknown Origin (non-curated)");
-@@ -434,11 +435,15 @@ public class AppCenterCore.Package : Object {
-         _author_title = null;
-         backend_details = null;
- 
-+#if PACKAGEKIT_BACKEND
-         // The version on a PackageKit package comes from the package not AppStream, so only reset the version
-         // on other backends
-         if (!(backend is PackageKitBackend)) {
-             _latest_version = null;
-         }
-+#else
-+        _latest_version = null;
-+#endif
- 
-         this.component = component;
-     }
-diff --git a/src/Core/UpdateManager.vala b/src/Core/UpdateManager.vala
-index 9deceaf5..c92c0d37 100644
---- a/src/Core/UpdateManager.vala
-+++ b/src/Core/UpdateManager.vala
-@@ -52,6 +52,7 @@ public class AppCenterCore.UpdateManager : Object {
-             installed_package.update_state ();
-         }
- 
-+#if PACKAGEKIT_BACKEND
-         Pk.Results pk_updates;
-         unowned PackageKitBackend client = PackageKitBackend.get_default ();
-         try {
-@@ -60,10 +61,12 @@ public class AppCenterCore.UpdateManager : Object {
-             warning ("Unable to get updates from PackageKit backend: %s", e.message);
-             return 0;
-         }
-+#endif
- 
-         uint os_count = 0;
-         string os_desc = "";
- 
-+#if PACKAGEKIT_BACKEND
-         var package_array = pk_updates.get_package_array ();
-         debug ("PackageKit backend reports %d updates", package_array.length);
- 
-@@ -87,6 +90,7 @@ public class AppCenterCore.UpdateManager : Object {
-                 );
-             }
-         });
-+#endif
- 
-         os_updates.component.set_pkgnames ({});
-         os_updates.change_information.clear_update_info ();
-@@ -159,6 +163,7 @@ public class AppCenterCore.UpdateManager : Object {
-             count += 1;
-         }
- 
-+#if PACKAGEKIT_BACKEND
-         pk_updates.get_details_array ().foreach ((pk_detail) => {
-             var pk_package = new Pk.Package ();
-             try {
-@@ -181,6 +186,7 @@ public class AppCenterCore.UpdateManager : Object {
-                 critical (e.message);
-             }
-         });
-+#endif
- 
-         os_updates.update_state ();
-         return count;
-diff --git a/src/Views/Homepage.vala b/src/Views/Homepage.vala
-index 3673903f..2e128e77 100644
---- a/src/Views/Homepage.vala
-+++ b/src/Views/Homepage.vala
-@@ -107,9 +107,13 @@ public class AppCenter.Homepage : AbstractView {
-             column_spacing = 24,
-             orientation = Gtk.Orientation.VERTICAL
-         };
-+#if PACKAGEKIT_BACKEND
-         grid.add (banner_revealer);
-         grid.add (recently_updated_revealer);
-         grid.add (categories_label);
-+#else
-+        category_flow.margin_top = 12;
-+#endif
-         grid.add (category_flow);
- 
-         scrolled_window = new Gtk.ScrolledWindow (null, null) {
-diff --git a/src/meson.build b/src/meson.build
-index 7b319fc6..d1d77931 100644
---- a/src/meson.build
-+++ b/src/meson.build
-@@ -12,10 +12,8 @@ appcenter_files = files(
-     'Core/FlatpakBackend.vala',
-     'Core/Job.vala',
-     'Core/Package.vala',
--    'Core/PackageKitBackend.vala',
-     'Core/ScreenshotCache.vala',
-     'Core/Task.vala',
--    'Core/UbuntuDriversBackend.vala',
-     'Core/UpdateManager.vala',
-     'Dialogs/InstallFailDialog.vala',
-     'Dialogs/NonCuratedWarningDialog.vala',
-@@ -76,6 +74,14 @@ if get_option('hide_upstream_distro_apps')
-     args += '--define=HIDE_UPSTREAM_DISTRO_APPS'
- endif
- 
-+if get_option('packagekit_backend')
-+    args += '--define=PACKAGEKIT_BACKEND'
-+    appcenter_files += files(
-+        'Core/PackageKitBackend.vala',
-+        'Core/UbuntuDriversBackend.vala',
-+    )
-+endif
-+
- executable(
-     meson.project_name(),
-     appcenter_files,
diff --git a/pkgs/desktops/pantheon/apps/appcenter/default.nix b/pkgs/desktops/pantheon/apps/appcenter/default.nix
index c0c1513e784..d62141ece2b 100644
--- a/pkgs/desktops/pantheon/apps/appcenter/default.nix
+++ b/pkgs/desktops/pantheon/apps/appcenter/default.nix
@@ -38,13 +38,6 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-xktIHQHmz5gh72NEz9UQ9fMvBlj1BihWxHgxsHmTIB0=";
   };
 
-  patches = [
-    # Introduces a packagekit_backend meson flag.
-    # Makes appcenter actually work by using only the flatpak backend.
-    # https://github.com/elementary/appcenter/pull/1739
-    ./add-packagekit-backend-option.patch
-  ];
-
   nativeBuildInputs = [
     appstream-glib
     dbus # for pkg-config
@@ -77,8 +70,6 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Dpayments=false"
     "-Dcurated=false"
-    # This option is introduced in add-packagekit-backend-option.patch
-    "-Dpackagekit_backend=false"
   ];
 
   postPatch = ''
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
index 393186325ba..a42ae92e97a 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/default.nix
@@ -47,8 +47,7 @@ stdenv.mkDerivation rec {
   '';
 
   preInstall = ''
-    # Install our override for plank dockitems as Appcenter is not ready to be preinstalled.
-    # See: https://github.com/NixOS/nixpkgs/issues/70214.
+    # Install our override for plank dockitems as the desktop file path is different.
     schema_dir=$out/share/glib-2.0/schemas
     install -D ${./overrides/plank-dockitems.gschema.override} $schema_dir/plank-dockitems.gschema.override
 
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.appcenter.dockitem b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.appcenter.dockitem
new file mode 100644
index 00000000000..586a74df244
--- /dev/null
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/launchers/io.elementary.appcenter.dockitem
@@ -0,0 +1,2 @@
+[PlankDockItemPreferences]
+Launcher=file:///run/current-system/sw/share/applications/io.elementary.appcenter.desktop
diff --git a/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override b/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
index 426368e8473..0ba89fa4b40 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
+++ b/pkgs/desktops/pantheon/desktop/elementary-default-settings/overrides/plank-dockitems.gschema.override
@@ -1,2 +1,2 @@
 [net.launchpad.plank.dock.settings]
-dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','io.elementary.mail.dockitem','io.elementary.tasks.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem']
+dock-items=['gala-multitaskingview.dockitem','org.gnome.Epiphany.dockitem','io.elementary.mail.dockitem','io.elementary.tasks.dockitem','io.elementary.calendar.dockitem','io.elementary.music.dockitem','io.elementary.videos.dockitem','io.elementary.photos.dockitem','io.elementary.switchboard.dockitem','io.elementary.appcenter.dockitem']
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
index 38de716394d..fe7a8e946d1 100644
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
+++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/default.nix
@@ -47,18 +47,9 @@ stdenv.mkDerivation rec {
       src = ./hardcode-fallback-background.patch;
       default_wallpaper = "${nixos-artwork.wallpapers.simple-dark-gray.gnomeFilePath}";
     })
-    # Revert "UserCard: use accent color for logged_in check (#566)"
-    # https://github.com/elementary/greeter/pull/566
-    # Fixes crash issue reported in:
-    # https://github.com/elementary/greeter/issues/578
     # https://github.com/NixOS/nixpkgs/issues/151609
-    # Probably also fixes:
-    # https://github.com/elementary/greeter/issues/568
-    # https://github.com/elementary/greeter/issues/583
-    # https://github.com/NixOS/nixpkgs/issues/140513
-    # Revisit this when the greeter is ported to GTK 4:
-    # https://github.com/elementary/greeter/pull/591
-    ./revert-pr566.patch
+    # https://github.com/elementary/greeter/issues/578#issuecomment-1030746697
+    ./fix-crash.patch
     # Fix build with meson 0.61
     # https://github.com/elementary/greeter/pull/590
     (fetchpatch {
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch
new file mode 100644
index 00000000000..ca6f6aab6d6
--- /dev/null
+++ b/pkgs/desktops/pantheon/desktop/elementary-greeter/fix-crash.patch
@@ -0,0 +1,21 @@
+diff --git a/src/Cards/UserCard.vala b/src/Cards/UserCard.vala
+index 83df22c..8cd917e 100644
+--- a/src/Cards/UserCard.vala
++++ b/src/Cards/UserCard.vala
+@@ -42,6 +42,7 @@ public class Greeter.UserCard : Greeter.BaseCard {
+     private Gtk.Stack login_stack;
+     private Greeter.PasswordEntry password_entry;
+ 
++    private SelectionCheck logged_in;
+     private unowned Gtk.StyleContext logged_in_context;
+     private weak Gtk.StyleContext main_grid_style_context;
+     private weak Gtk.StyleContext password_entry_context;
+@@ -214,7 +215,7 @@ public class Greeter.UserCard : Greeter.BaseCard {
+         };
+         avatar_overlay.add (avatar);
+ 
+-        var logged_in = new SelectionCheck () {
++        logged_in = new SelectionCheck () {
+             halign = Gtk.Align.END,
+             valign = Gtk.Align.END
+         };
diff --git a/pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch b/pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch
deleted file mode 100644
index ed05ba24b86..00000000000
--- a/pkgs/desktops/pantheon/desktop/elementary-greeter/revert-pr566.patch
+++ /dev/null
@@ -1,103 +0,0 @@
-From 572a73cbc84dd9a0f5a7667a60c75ed5580d84a1 Mon Sep 17 00:00:00 2001
-From: Bobby Rong <rjl931189261@126.com>
-Date: Tue, 25 Jan 2022 10:03:31 +0800
-Subject: [PATCH] Revert "UserCard: use accent color for logged_in check
- (#566)"
-
-This reverts commit 6f18c79c780582e43039032f6926816efa82e206.
----
- data/Check.css             | 11 -----------
- data/greeter.gresource.xml |  1 -
- src/Cards/UserCard.vala    | 29 +++--------------------------
- 3 files changed, 3 insertions(+), 38 deletions(-)
- delete mode 100644 data/Check.css
-
-diff --git a/data/Check.css b/data/Check.css
-deleted file mode 100644
-index 947db6b..0000000
---- a/data/Check.css
-+++ /dev/null
-@@ -1,11 +0,0 @@
--check {
--    background-color: @accent_color;
--    border-radius: 99px;
--    color: white;
--    margin: 2px;
--    min-height: 20px;
--    min-width: 20px;
--    -gtk-icon-shadow: 0 1px 1px shade(@accent_color, 0.7);
--    -gtk-icon-source: -gtk-icontheme("check-active-symbolic");
--    -gtk-icon-transform: scale(0.6);
--}
-diff --git a/data/greeter.gresource.xml b/data/greeter.gresource.xml
-index 604c89a..ce9be29 100644
---- a/data/greeter.gresource.xml
-+++ b/data/greeter.gresource.xml
-@@ -2,7 +2,6 @@
- <gresources>
-   <gresource prefix="/io/elementary/greeter">
-     <file alias="Card.css" compressed="true">Card.css</file>
--    <file alias="Check.css" compressed="true">Check.css</file>
-     <file alias="DateTime.css" compressed="true">DateTime.css</file>
-     <file alias="MainWindow.css" compressed="true">MainWindow.css</file>
-   </gresource>
-diff --git a/src/Cards/UserCard.vala b/src/Cards/UserCard.vala
-index 83df22c..02d2b0a 100644
---- a/src/Cards/UserCard.vala
-+++ b/src/Cards/UserCard.vala
-@@ -42,7 +42,6 @@ public class Greeter.UserCard : Greeter.BaseCard {
-     private Gtk.Stack login_stack;
-     private Greeter.PasswordEntry password_entry;
- 
--    private unowned Gtk.StyleContext logged_in_context;
-     private weak Gtk.StyleContext main_grid_style_context;
-     private weak Gtk.StyleContext password_entry_context;
- 
-@@ -214,14 +213,10 @@ public class Greeter.UserCard : Greeter.BaseCard {
-         };
-         avatar_overlay.add (avatar);
- 
--        var logged_in = new SelectionCheck () {
--            halign = Gtk.Align.END,
--            valign = Gtk.Align.END
--        };
--
--        logged_in_context = logged_in.get_style_context ();
--
-         if (lightdm_user.logged_in) {
-+            var logged_in = new Gtk.Image.from_icon_name ("selection-checked", Gtk.IconSize.LARGE_TOOLBAR);
-+            logged_in.halign = logged_in.valign = Gtk.Align.END;
-+
-             avatar_overlay.add_overlay (logged_in);
- 
-             session_button.sensitive = false;
-@@ -304,7 +299,6 @@ public class Greeter.UserCard : Greeter.BaseCard {
-         gtksettings.gtk_theme_name = "io.elementary.stylesheet." + accent_to_string (prefers_accent_color);
- 
-         var style_provider = Gtk.CssProvider.get_named (gtksettings.gtk_theme_name, null);
--        logged_in_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
-         password_entry_context.add_provider (style_provider, Gtk.STYLE_PROVIDER_PRIORITY_APPLICATION);
-     }
- 
-@@ -451,21 +445,4 @@ public class Greeter.UserCard : Greeter.BaseCard {
-             return GLib.Source.REMOVE;
-         });
-     }
--
--    private class SelectionCheck : Gtk.Spinner {
--        private static Gtk.CssProvider check_provider;
--
--        class construct {
--            set_css_name (Gtk.STYLE_CLASS_CHECK);
--        }
--
--        static construct {
--            check_provider = new Gtk.CssProvider ();
--            check_provider.load_from_resource ("/io/elementary/greeter/Check.css");
--        }
--
--        construct {
--            get_style_context ().add_provider (check_provider, Gtk.STYLE_PROVIDER_PRIORITY_USER);
--        }
--    }
- }
diff --git a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
index 3e9920cf629..ecd28b496da 100644
--- a/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/addons/bismuth/default.nix
@@ -12,13 +12,13 @@
 
 mkDerivation rec {
   pname = "bismuth";
-  version = "2.2.0";
+  version = "2.3.0";
 
   src = fetchFromGitHub {
     owner = "Bismuth-Forge";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ntfLijYPaOHvQToiAxuBZ5ayHPyQyevP9l6++SL0vUw=";
+    sha256 = "sha256-b+dlBv1M4//oeCGM2qrQ3s6z2yLql6eQWNqId3JB3Z4=";
   };
 
   cmakeFlags = [
diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix
index 95480bc5b96..23802bef97b 100644
--- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/krohnkite.nix
@@ -3,13 +3,13 @@
 
 mkDerivation rec {
   pname = "krohnkite";
-  version = "0.7";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "esjeon";
     repo = "krohnkite";
     rev = "v${version}";
-    sha256 = "0j3rm1w6d545qlmx02xs72b5zsigm48hp7lp7yh30z3cjqm00aap";
+    hash = "sha256-HZCD5884pHuHey+d+HRx/F/Sp1b6ZUy7MdqqZ08H0lU=";
   };
 
   buildInputs = [
diff --git a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
index d7816de3042..5de935b9ec2 100644
--- a/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
+++ b/pkgs/desktops/plasma-5/3rdparty/kwin/scripts/parachute.nix
@@ -30,7 +30,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "Look at your windows and desktops from above.";
     license = licenses.gpl3Only;
-    maintainers = with maintainers; [ mjlbach ];
+    maintainers = with maintainers; [ ];
     inherit (src.meta) homepage;
     inherit (kwindowsystem.meta) platforms;
   };
diff --git a/pkgs/desktops/xfce/applications/orage/default.nix b/pkgs/desktops/xfce/applications/orage/default.nix
index f38dacf0dbb..4e5028a6a59 100644
--- a/pkgs/desktops/xfce/applications/orage/default.nix
+++ b/pkgs/desktops/xfce/applications/orage/default.nix
@@ -38,10 +38,9 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  passthru.updateScript = xfce.updateScript {
+  passthru.updateScript = xfce.archiveUpdater {
+    category = "apps";
     inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister "apps" pname;
   };
 
   meta = with lib; {
diff --git a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
index 75a57ae037a..8a50a0d0fa7 100644
--- a/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
+++ b/pkgs/desktops/xfce/applications/xfce4-notifyd/default.nix
@@ -4,9 +4,9 @@
 mkXfceDerivation {
   category = "apps";
   pname = "xfce4-notifyd";
-  version = "0.6.2";
+  version = "0.6.3";
 
-  sha256 = "sha256-Gomehef68+mOgGFDaH48jG51nbaV4ruN925h71w7FuE=";
+  sha256 = "sha256-JcHxqKLl4F4FQv7lE64gWUorCvl5g5mSD+jEmj1ORfY=";
 
   buildInputs = [ gtk3 glib libnotify libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
index 8c4dff80747..8c37dde65cc 100644
--- a/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
+++ b/pkgs/desktops/xfce/art/xfce4-icon-theme/default.nix
@@ -28,11 +28,7 @@ stdenv.mkDerivation rec {
 
   dontDropIconThemeCache = true;
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://www.xfce.org/";
diff --git a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
index 2c84c619c64..3665263ede0 100644
--- a/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
+++ b/pkgs/desktops/xfce/art/xfwm4-themes/default.nix
@@ -13,11 +13,7 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-MhTV8A6XA7XoyefDKH1gbe3scoXOtNXbMy6TraZv1XU=";
   };
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://www.xfce.org/";
diff --git a/pkgs/desktops/xfce/default.nix b/pkgs/desktops/xfce/default.nix
index 2340a57c22d..1ec4cec5b31 100644
--- a/pkgs/desktops/xfce/default.nix
+++ b/pkgs/desktops/xfce/default.nix
@@ -3,13 +3,14 @@
 lib.makeScope pkgs.newScope (self: with self; {
   #### NixOS support
 
-  updateScript = pkgs.genericUpdater;
+  genericUpdater = pkgs.genericUpdater;
 
-  gitLister = url:
-    "${pkgs.common-updater-scripts}/bin/list-git-tags ${url}";
-
-  archiveLister = category: name:
-    "${pkgs.common-updater-scripts}/bin/list-archive-two-level-versions https://archive.xfce.org/src/${category}/${name}";
+  archiveUpdater = { category, pname, version }:
+    pkgs.httpTwoLevelsUpdater {
+      inherit pname version;
+      attrPath = "xfce.${pname}";
+      url = "https://archive.xfce.org/src/${category}/${pname}";
+    };
 
   mkXfceDerivation = callPackage ./mkXfceDerivation.nix { };
 
diff --git a/pkgs/desktops/xfce/mkXfceDerivation.nix b/pkgs/desktops/xfce/mkXfceDerivation.nix
index 8ff0d83cae3..261178381e4 100644
--- a/pkgs/desktops/xfce/mkXfceDerivation.nix
+++ b/pkgs/desktops/xfce/mkXfceDerivation.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitLab, pkg-config, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook }:
+{ lib, stdenv, fetchFromGitLab, pkg-config, xfce4-dev-tools, hicolor-icon-theme, xfce, wrapGAppsHook, gitUpdater }:
 
 { category
 , pname
@@ -41,9 +41,8 @@ let
 
     pos = builtins.unsafeGetAttrPos "pname" args;
 
-    passthru.updateScript = xfce.updateScript {
+    passthru.updateScript = gitUpdater {
       inherit pname version attrPath rev-prefix odd-unstable patchlevel-unstable;
-      versionLister = xfce.gitLister src.meta.homepage;
     };
 
     meta = with lib; {
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
index e382e8024da..4743099506c 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpufreq-plugin/default.nix
@@ -3,8 +3,8 @@
 mkXfceDerivation {
   category = "panel-plugins";
   pname = "xfce4-cpufreq-plugin";
-  version = "1.2.5";
-  sha256 = "sha256-r783SIGbVKxmLjCxexrMWjYdK7EgbgcHDFTG8KGjWMc=";
+  version = "1.2.6";
+  sha256 = "sha256-HS+9pBCHy0NmDVUwL8QFDPeVpKyKib8YCwV8fZDL5Uc=";
 
   buildInputs = [ gtk3 libxfce4ui libxfce4util xfce4-panel xfconf ];
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
index 0d0bf49161d..33bdb052b6a 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-cpugraph-plugin/default.nix
@@ -20,11 +20,11 @@ let
   category = "panel-plugins";
 in stdenv.mkDerivation rec {
   pname  = "xfce4-cpugraph-plugin";
-  version = "1.2.5";
+  version = "1.2.6";
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-wvbb1/g8ebY7g8mCMsedBQ4YZA6CRkueyNNkOpLDobA=";
+    sha256 = "sha256-dzJG9XwYJKhUaNQRnBeusHFw7R66zo+kBsf7z1tHr5k=";
   };
 
   nativeBuildInputs = [
@@ -45,11 +45,7 @@ in stdenv.mkDerivation rec {
     hicolor-icon-theme
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-cpugraph-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
index 76868bcd550..cc4ce861e72 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-embed-plugin/default.nix
@@ -33,11 +33,7 @@ in stdenv.mkDerivation rec {
     gtk2
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib;{
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-embed-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
index 3ee90788137..08434ad2522 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-eyes-plugin/default.nix
@@ -35,11 +35,7 @@ in stdenv.mkDerivation rec {
     gtk3
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-eyes-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
index 084cb764c62..81498aea96f 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-fsguard-plugin/default.nix
@@ -35,11 +35,7 @@ in stdenv.mkDerivation rec {
     gtk3
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-fsguard-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
index 9700d515fbc..1b794ff2b83 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-genmon-plugin/default.nix
@@ -33,11 +33,7 @@ in stdenv.mkDerivation rec {
     gtk3
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-genmon-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
index 455370ca38b..fdd3af5fe40 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mailwatch-plugin/default.nix
@@ -27,11 +27,7 @@ stdenv.mkDerivation rec {
     libgcrypt
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-mailwatch-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
index 1f935ac4a4d..56647586934 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-mpc-plugin/default.nix
@@ -27,11 +27,7 @@ stdenv.mkDerivation rec {
     exo
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-mpc-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
index ec64a60fb54..e7f20a0ec7a 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-namebar-plugin/default.nix
@@ -1,5 +1,7 @@
 { lib, stdenv, pkg-config, fetchFromGitHub, python3, vala
-, gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce }:
+, gtk3, libwnck, libxfce4util, xfce4-panel, wafHook, xfce
+, gitUpdater
+}:
 
 stdenv.mkDerivation rec {
   pname = "xfce4-namebar-plugin";
@@ -20,10 +22,9 @@ stdenv.mkDerivation rec {
     substituteInPlace src/preferences.vala --replace 'var dir_strings = Environment.get_system_data_dirs()' "string[] dir_strings = { \"$out/share\" }"
   '';
 
-  passthru.updateScript = xfce.updateScript {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
     attrPath = "xfce.${pname}";
-    versionLister = xfce.gitLister src.meta.homepage;
     rev-prefix = "v";
   };
 
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
index c2a7aa694d7..6cb2fcc66c0 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-notes-plugin/default.nix
@@ -31,11 +31,7 @@ in stdenv.mkDerivation rec {
     xfconf
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-notes-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
index fa221e65ea1..22b4d8c4f40 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-sensors-plugin/default.nix
@@ -8,11 +8,11 @@ in
 
 stdenv.mkDerivation rec {
   pname  = "xfce4-sensors-plugin";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchurl {
     url = "mirror://xfce/src/${category}/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-2pDxLmrplbzRyBvjVHmnqdMjCMZezWTlaLqMlZLTn8s=";
+    sha256 = "sha256-FxwCNfcMZfD/7lh+lg2dp5soSFXfIhMCOerCYnLsBsk=";
   };
 
   nativeBuildInputs = [
@@ -38,11 +38,7 @@ stdenv.mkDerivation rec {
     "--with-pathnetcat=${netcat-gnu}/bin/netcat"
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-sensors-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
index 7236eb97d6d..d264181bd48 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-systemload-plugin/default.nix
@@ -31,11 +31,7 @@ in stdenv.mkDerivation rec {
     xfconf
   ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-systemload-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
index 35840b9d244..c3cb16dfa83 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-timer-plugin/default.nix
@@ -28,11 +28,7 @@ stdenv.mkDerivation rec {
 
   hardeningDisable = [ "format" ];
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-timer-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
index 4ce0fae5a39..5ceda9cb8bd 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-weather-plugin/default.nix
@@ -31,11 +31,7 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = xfce.updateScript {
-    inherit pname version;
-    attrPath = "xfce.${pname}";
-    versionLister = xfce.archiveLister category pname;
-  };
+  passthru.updateScript = xfce.archiveUpdater { inherit category pname version; };
 
   meta = with lib; {
     homepage = "https://docs.xfce.org/panel-plugins/xfce4-weather-plugin";
diff --git a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
index 6a2386e0f89..5e5e6c8aa69 100644
--- a/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
+++ b/pkgs/desktops/xfce/panel-plugins/xfce4-windowck-plugin/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, python3, imagemagick, libwnck, libxfce4ui, xfce4-panel, xfconf, xfce4-dev-tools, xfce }:
+{ lib, stdenv, fetchFromGitHub, pkg-config, intltool, python3, imagemagick, libwnck, libxfce4ui, xfce4-panel, xfconf, xfce4-dev-tools, xfce, gitUpdater }:
 
 stdenv.mkDerivation rec {
   pname  = "xfce4-windowck-plugin";
@@ -33,10 +33,9 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  passthru.updateScript = xfce.updateScript {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
     attrPath = "xfce.${pname}";
-    versionLister = xfce.gitLister src.meta.homepage;
     rev-prefix = "v";
   };
 
diff --git a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
index 75ef2491fe1..e056c90a550 100644
--- a/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
+++ b/pkgs/desktops/xfce/thunar-plugins/dropbox/default.nix
@@ -6,6 +6,7 @@
 , cmake
 , ninja
 , xfce
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
@@ -30,10 +31,9 @@ stdenv.mkDerivation rec {
     gtk3
   ];
 
-  passthru.updateScript = xfce.updateScript {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
     attrPath = "xfce.thunar-dropbox-plugin";
-    versionLister = xfce.gitLister src.meta.homepage;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/beam-modules/elvis-erlang/default.nix b/pkgs/development/beam-modules/elvis-erlang/default.nix
index e077040c69c..810486e2bc4 100644
--- a/pkgs/development/beam-modules/elvis-erlang/default.nix
+++ b/pkgs/development/beam-modules/elvis-erlang/default.nix
@@ -24,7 +24,7 @@ in rebar3Relx rec {
 
     set -euo pipefail
 
-    latest=$(list-git-tags https://github.com/${owner}/${repo}.git | sort -V | tail -1)
+    latest=$(list-git-tags --url=https://github.com/${owner}/${repo}.git | sort -V | tail -1)
     if [ "$latest" != "${version}" ]; then
       nixpkgs="$(git rev-parse --show-toplevel)"
       nix_path="$nixpkgs/pkgs/development/beam-modules/elvis-erlang"
diff --git a/pkgs/development/beam-modules/erlang-ls/default.nix b/pkgs/development/beam-modules/erlang-ls/default.nix
index f8e6f423bda..be9c647437e 100644
--- a/pkgs/development/beam-modules/erlang-ls/default.nix
+++ b/pkgs/development/beam-modules/erlang-ls/default.nix
@@ -1,7 +1,7 @@
 { fetchFromGitHub, fetchgit, fetchHex, rebar3Relx, buildRebar3, rebar3-proper
 , stdenv, writeScript, lib }:
 let
-  version = "0.21.2";
+  version = "0.23.1";
   owner = "erlang-ls";
   repo = "erlang_ls";
   deps = import ./rebar-deps.nix {
@@ -19,7 +19,7 @@ rebar3Relx {
   inherit version;
   src = fetchFromGitHub {
     inherit owner repo;
-    sha256 = "sha256-CiA71mvmq3HrJvgrEDMwp3CQ4Dl05BpTO5HusAL5FAQ=";
+    sha256 = "sha256-N0jkdzwNi9dx0dmN4qL+mb8S60OII4C/MnR/y8G3GUY=";
     rev = version;
   };
   releaseType = "escript";
@@ -51,7 +51,7 @@ rebar3Relx {
     #! nix-shell -i bash -p common-updater-scripts coreutils git gnused gnutar gzip "rebar3WithPlugins { globalPlugins = [ beamPackages.rebar3-nix ]; }"
 
     set -ox errexit
-    latest=$(list-git-tags https://github.com/${owner}/${repo}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
+    latest=$(list-git-tags --url=https://github.com/${owner}/${repo}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
     if [[ "$latest" != "${version}" ]]; then
       nixpkgs="$(git rev-parse --show-toplevel)"
       nix_path="$nixpkgs/pkgs/development/beam-modules/erlang-ls"
diff --git a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
index 2bc8b18a003..9d1fa9aef06 100644
--- a/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
+++ b/pkgs/development/beam-modules/erlang-ls/rebar-deps.nix
@@ -137,11 +137,12 @@ let
     };
     erlfmt = builder {
       name = "erlfmt";
-      version = "1.0.0";
-      src = fetchHex {
-        pkg = "erlfmt";
-        version = "1.0.0";
-        sha256 = "sha256-RL4L4DzmmQLcbc2PZeezre1qr10L5wlkGIyr1K0k8E4=";
+      version = "git";
+      src = fetchFromGitHub {
+        owner = "gomoripeti";
+        repo = "erlfmt";
+        rev = "d4422d1fd79a73ef534c2bcbe5b5da4da5338833";
+        sha256 = "07jp4g6a41w7318lh8ndsvgivkj0ahz3spnrsnx4cqkdb97yjaid";
       };
       beamDeps = [ ];
     };
@@ -157,11 +158,11 @@ let
     };
     elvis_core = builder {
       name = "elvis_core";
-      version = "1.1.1";
+      version = "1.3.1";
       src = fetchHex {
         pkg = "elvis_core";
-        version = "1.1.1";
-        sha256 = "sha256-ORyVuqSfJxjX+0mLzwgEbd/CAs8Kq2Oy5DknFIXJ3EI=";
+        version = "1.3.1";
+        sha256 = "sha256-eoiQv4GFoyUs1OvYJv5fita5MCTt+IV26yeunl3BnWk=";
       };
       beamDeps = [ katana_code zipper ];
     };
diff --git a/pkgs/development/compilers/closure/default.nix b/pkgs/development/compilers/closure/default.nix
index 3f32be22bd1..bb6b65e40a4 100644
--- a/pkgs/development/compilers/closure/default.nix
+++ b/pkgs/development/compilers/closure/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "closure-compiler";
-  version = "20211107";
+  version = "20220202";
 
   src = fetchurl {
     url = "mirror://maven/com/google/javascript/closure-compiler/v${version}/closure-compiler-v${version}.jar";
-    sha256 = "sha256-cz8A8KFlHJ1UCdkWLm+U8KPmFGNiiSXT1u9mvmDsFKY=";
+    sha256 = "sha256-I9kcK9oL6AMStI7eGfruJ+CYQuAsVsixTzkh0JWJrw8=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/compilers/cudatoolkit/default.nix b/pkgs/development/compilers/cudatoolkit/default.nix
index 33a386cfb92..a284caffa5d 100644
--- a/pkgs/development/compilers/cudatoolkit/default.nix
+++ b/pkgs/development/compilers/cudatoolkit/default.nix
@@ -79,5 +79,12 @@ rec {
     gcc = gcc10; # can bump to 11 along with stdenv.cc
   };
 
+  cudatoolkit_11_6 = common {
+    version = "11.6.0";
+    url = "https://developer.download.nvidia.com/compute/cuda/11.6.0/local_installers/cuda_11.6.0_510.39.01_linux.run";
+    sha256 = "10wcv42ljp7hz1k0wzgwb4hi8834rfipzdc01428c1wpcdnxm0qp";
+    gcc = gcc10; # can bump to 11 along with stdenv.cc
+  };
+
   cudatoolkit_11 = cudatoolkit_11_4;
 }
diff --git a/pkgs/development/compilers/elm/default.nix b/pkgs/development/compilers/elm/default.nix
index 11b5f58a12d..ab19ac42d24 100644
--- a/pkgs/development/compilers/elm/default.nix
+++ b/pkgs/development/compilers/elm/default.nix
@@ -1,95 +1,101 @@
-{ lib, stdenv, pkgs
-, haskell, haskellPackages, nodejs-14_x
-, fetchurl, fetchpatch, makeWrapper, writeScriptBin
-  # Rust dependecies
-, curl, rustPlatform, openssl, pkg-config, Security, darwin
-}:
+{ pkgs, lib }:
+
 let
+
   # To controll nodejs version we pass down
-  nodejs = nodejs-14_x;
-
-  fetchElmDeps = import ./fetchElmDeps.nix { inherit stdenv lib fetchurl; };
-
-  hsPkgs = haskellPackages.override {
-    overrides = self: super: with haskell.lib.compose; with lib;
-      let elmPkgs = rec {
-            elm = overrideCabal (drv: {
-              # sadly with parallelism most of the time breaks compilation
-              enableParallelBuilding = false;
-              preConfigure = self.fetchElmDeps {
-                elmPackages = (import ./packages/elm-srcs.nix);
-                elmVersion = drv.version;
-                registryDat = ./registry.dat;
-              };
-              buildTools = drv.buildTools or [] ++ [ makeWrapper ];
-              jailbreak = true;
-              postInstall = ''
-                wrapProgram $out/bin/elm \
-                  --prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
-              '';
-
-              description = "A delightful language for reliable webapps";
-              homepage = "https://elm-lang.org/";
-              license = licenses.bsd3;
-              maintainers = with maintainers; [ domenkozar turbomack ];
-            }) (self.callPackage ./packages/elm.nix { });
-
-            /*
-            The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
-            `package/nix/build.sh`
-            */
-            elm-format = justStaticExecutables (overrideCabal (drv: {
-              jailbreak = true;
-
-              description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide";
-              homepage = "https://github.com/avh4/elm-format";
-              license = licenses.bsd3;
-              maintainers = with maintainers; [ avh4 turbomack ];
-            }) (self.callPackage ./packages/elm-format.nix {}));
-
-            elmi-to-json = justStaticExecutables (overrideCabal (drv: {
-              prePatch = ''
-                substituteInPlace package.yaml --replace "- -Werror" ""
-                hpack
-              '';
-              jailbreak = true;
-
-              description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler";
-              homepage = "https://github.com/stoeffel/elmi-to-json";
-              license = licenses.bsd3;
-              maintainers = [ maintainers.turbomack ];
-            }) (self.callPackage ./packages/elmi-to-json.nix {}));
-
-            elm-instrument = justStaticExecutables (overrideCabal (drv: {
-              prePatch = ''
-                sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place
-              '';
-              jailbreak = true;
-              # Tests are failing because of missing instances for Eq and Show type classes
-              doCheck = false;
-
-              description = "Instrument Elm code as a preprocessing step for elm-coverage";
-              homepage = "https://github.com/zwilias/elm-instrument";
-              license = licenses.bsd3;
-              maintainers = [ maintainers.turbomack ];
-            }) (self.callPackage ./packages/elm-instrument.nix {}));
-
-            inherit fetchElmDeps;
-            elmVersion = elmPkgs.elm.version;
-          };
-      in elmPkgs // {
-        inherit elmPkgs;
-
-        # Needed for elm-format
-        indents = self.callPackage ./packages/indents.nix {};
-        bimap = self.callPackage ./packages/bimap.nix {};
-        avh4-lib = doJailbreak (self.callPackage ./packages/avh4-lib.nix {});
-        elm-format-lib = doJailbreak (self.callPackage ./packages/elm-format-lib.nix {});
-        elm-format-test-lib = self.callPackage ./packages/elm-format-test-lib.nix {};
-        elm-format-markdown = self.callPackage ./packages/elm-format-markdown.nix {};
-      };
+  nodejs = pkgs.nodejs-14_x;
+
+  fetchElmDeps = pkgs.callPackage ./fetchElmDeps.nix { };
+
+  hsPkgs = self: pkgs.haskell.packages.ghc8107.override {
+    overrides = self: super: with pkgs.haskell.lib.compose; with lib;
+    let elmPkgs = rec {
+      elm = overrideCabal (drv: {
+        # sadly with parallelism most of the time breaks compilation
+        enableParallelBuilding = false;
+        preConfigure = fetchElmDeps {
+          elmPackages = (import ./packages/elm-srcs.nix);
+          elmVersion = drv.version;
+          registryDat = ./registry.dat;
+        };
+        buildTools = drv.buildTools or [] ++ [ pkgs.makeWrapper ];
+        jailbreak = true;
+        postInstall = ''
+          wrapProgram $out/bin/elm \
+            --prefix PATH ':' ${lib.makeBinPath [ nodejs ]}
+        '';
+
+        description = "A delightful language for reliable webapps";
+        homepage = "https://elm-lang.org/";
+        license = licenses.bsd3;
+        maintainers = with maintainers; [ domenkozar turbomack ];
+      }) (self.callPackage ./packages/elm.nix { });
+
+      /*
+      The elm-format expression is updated via a script in the https://github.com/avh4/elm-format repo:
+      `package/nix/build.sh`
+      */
+      elm-format = justStaticExecutables (overrideCabal (drv: {
+        jailbreak = true;
+
+        description = "Formats Elm source code according to a standard set of rules based on the official Elm Style Guide";
+        homepage = "https://github.com/avh4/elm-format";
+        license = licenses.bsd3;
+        maintainers = with maintainers; [ avh4 turbomack ];
+      }) (self.callPackage ./packages/elm-format.nix {}));
+
+      elmi-to-json = justStaticExecutables (overrideCabal (drv: {
+        prePatch = ''
+          substituteInPlace package.yaml --replace "- -Werror" ""
+          hpack
+        '';
+        jailbreak = true;
+
+        description = "Tool that reads .elmi files (Elm interface file) generated by the elm compiler";
+        homepage = "https://github.com/stoeffel/elmi-to-json";
+        license = licenses.bsd3;
+        maintainers = [ maintainers.turbomack ];
+      }) (self.callPackage ./packages/elmi-to-json.nix {}));
+
+      elm-instrument = justStaticExecutables (overrideCabal (drv: {
+        prePatch = ''
+          sed "s/desc <-.*/let desc = \"${drv.version}\"/g" Setup.hs --in-place
+        '';
+        jailbreak = true;
+        # Tests are failing because of missing instances for Eq and Show type classes
+        doCheck = false;
+
+        description = "Instrument Elm code as a preprocessing step for elm-coverage";
+        homepage = "https://github.com/zwilias/elm-instrument";
+        license = licenses.bsd3;
+        maintainers = [ maintainers.turbomack ];
+      }) (self.callPackage ./packages/elm-instrument.nix {}));
+
+      inherit fetchElmDeps;
+      elmVersion = elmPkgs.elm.version;
+    };
+    in elmPkgs // {
+      inherit elmPkgs;
+
+      # Needed for elm-format
+      indents = self.callPackage ./packages/indents.nix {};
+      bimap = self.callPackage ./packages/bimap.nix {};
+      avh4-lib = doJailbreak (self.callPackage ./packages/avh4-lib.nix {});
+      elm-format-lib = doJailbreak (self.callPackage ./packages/elm-format-lib.nix {});
+      elm-format-test-lib = self.callPackage ./packages/elm-format-test-lib.nix {};
+      elm-format-markdown = self.callPackage ./packages/elm-format-markdown.nix {};
+    };
   };
 
+  nodePkgs = pkgs.callPackage ./packages/node-composition.nix {
+    inherit pkgs;
+    nodejs = pkgs.nodejs-14_x;
+    inherit (pkgs.stdenv.hostPlatform) system;
+  };
+
+in lib.makeScope pkgs.newScope (self: with self; {
+  inherit fetchElmDeps nodejs;
+
   /* Node/NPM based dependecies can be upgraded using script `packages/generate-node-packages.sh`.
 
       * Packages which rely on `bin-wrap` will fail by default
@@ -98,110 +104,83 @@ let
       * Packages which depend on npm installation of elm can be patched using
         `patchNpmElm` function also defined in `packages/lib.nix`.
   */
-  elmLib = import ./packages/lib.nix {
-    inherit lib writeScriptBin stdenv;
-    inherit (hsPkgs.elmPkgs) elm;
+  elmLib = let
+    hsElmPkgs = hsPkgs self;
+  in import ./packages/lib.nix {
+    inherit lib;
+    inherit (pkgs) writeScriptBin stdenv;
+    inherit (hsElmPkgs.elmPkgs) elm;
   };
 
-  elmRustPackages =  {
-    elm-json = import ./packages/elm-json.nix {
-      inherit curl lib rustPlatform fetchurl openssl stdenv pkg-config Security;
-    } // {
-      meta = with lib; {
-        description = "Install, upgrade and uninstall Elm dependencies";
-        homepage = "https://github.com/zwilias/elm-json";
-        license = licenses.mit;
-        maintainers = [ maintainers.turbomack ];
-      };
-    };
+  elm-json = callPackage ./packages/elm-json.nix { };
 
-    elm-test-rs = import ./packages/elm-test-rs.nix {
-      inherit lib rustPlatform fetchurl openssl stdenv Security darwin;
-    } // {
-      meta = with lib; {
-        description = "Fast and portable executable to run your Elm tests";
-        homepage = "https://github.com/mpizenberg/elm-test-rs";
-        license = licenses.bsd3;
-        maintainers = [ maintainers.jpagex ];
-      };
+  elm-test-rs = callPackage ./packages/elm-test-rs.nix { };
+
+  elm-test = nodePkgs.elm-test // {
+    meta = with lib; nodePkgs.elm-test.meta // {
+      description = "Runs elm-test suites from Node.js";
+      homepage = "https://github.com/rtfeldman/node-test-runner";
+      license = licenses.bsd3;
+      maintainers = [ maintainers.turbomack ];
+    };
+  };
+} // (hsPkgs self).elmPkgs // (with elmLib; with (hsPkgs self).elmPkgs; {
+  elm-verify-examples = patchBinwrap [elmi-to-json] nodePkgs.elm-verify-examples // {
+    meta = with lib; nodePkgs.elm-verify-examples.meta // {
+      description = "Verify examples in your docs";
+      homepage = "https://github.com/stoeffel/elm-verify-examples";
+      license = licenses.bsd3;
+      maintainers = [ maintainers.turbomack ];
     };
   };
 
-  elmNodePackages = with elmLib;
-    let
-      nodePkgs = import ./packages/node-composition.nix {
-          inherit nodejs pkgs;
-          inherit (stdenv.hostPlatform) system;
-        };
-    in with hsPkgs.elmPkgs; {
-
-      elm-test =
-        nodePkgs.elm-test // {
-          meta = with lib; {
-            description = "Runs elm-test suites from Node.js";
-            homepage = "https://github.com/rtfeldman/node-test-runner";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
-        };
-
-      elm-verify-examples = patchBinwrap [elmi-to-json]
-        nodePkgs.elm-verify-examples // {
-          meta = with lib; {
-            description = "Verify examples in your docs";
-            homepage = "https://github.com/stoeffel/elm-verify-examples";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
-        };
+  elm-coverage = let
+      patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage);
+    in patched.override (old: {
+      # Symlink Elm instrument binary
+      preRebuild = (old.preRebuild or "") + ''
+        # Noop custom installation script
+        sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json
+
+        # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done
+        # in case of just this package
+        # TODO: investigate
+        sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json
+      '';
+      postInstall = (old.postInstall or "") + ''
+        mkdir -p unpacked_bin
+        ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument
+      '';
+      meta = with lib; nodePkgs.elm-coverage.meta // {
+        description = "Work in progress - Code coverage tooling for Elm";
+        homepage = "https://github.com/zwilias/elm-coverage";
+        license = licenses.bsd3;
+        maintainers = [ maintainers.turbomack ];
+      };
+    });
 
-      elm-coverage =
-        let patched = patchNpmElm (patchBinwrap [elmi-to-json] nodePkgs.elm-coverage);
-        in patched.override (old: {
-          # Symlink Elm instrument binary
-          preRebuild = (old.preRebuild or "") + ''
-            # Noop custom installation script
-            sed 's/\"install\".*/\"install\":\"echo no-op\"/g' --in-place package.json
-
-            # This should not be needed (thanks to binwrap* being nooped) but for some reason it still needs to be done
-            # in case of just this package
-            # TODO: investigate
-            sed 's/\"install\".*/\"install\":\"echo no-op\",/g' --in-place node_modules/elmi-to-json/package.json
-          '';
-          postInstall = (old.postInstall or "") + ''
-            mkdir -p unpacked_bin
-            ln -sf ${elm-instrument}/bin/elm-instrument unpacked_bin/elm-instrument
-          '';
-          meta = with lib; {
-            description = "Work in progress - Code coverage tooling for Elm";
-            homepage = "https://github.com/zwilias/elm-coverage";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
-        });
-
-      create-elm-app = patchNpmElm
-        nodePkgs.create-elm-app // {
-          meta = with lib; {
-            description = "Create Elm apps with no build configuration";
-            homepage = "https://github.com/halfzebra/create-elm-app";
-            license = licenses.mit;
-            maintainers = [ maintainers.turbomack ];
-          };
-        };
+    create-elm-app = patchNpmElm
+    nodePkgs.create-elm-app // {
+      meta = with lib; nodePkgs.create-elm-app.meta // {
+        description = "Create Elm apps with no build configuration";
+        homepage = "https://github.com/halfzebra/create-elm-app";
+        license = licenses.mit;
+        maintainers = [ maintainers.turbomack ];
+      };
+    };
 
-      elm-review =
-        nodePkgs.elm-review // {
-          meta = with lib; {
-            description = "Analyzes Elm projects, to help find mistakes before your users find them";
-            homepage = "https://package.elm-lang.org/packages/jfmengels/elm-review/${nodePkgs.elm-review.version}";
-            license = licenses.bsd3;
-            maintainers = [ maintainers.turbomack ];
-          };
+    elm-review =
+      nodePkgs.elm-review // {
+        meta = with lib; nodePkgs.elm-review.meta // {
+          description = "Analyzes Elm projects, to help find mistakes before your users find them";
+          homepage = "https://package.elm-lang.org/packages/jfmengels/elm-review/${nodePkgs.elm-review.version}";
+          license = licenses.bsd3;
+          maintainers = [ maintainers.turbomack ];
         };
+      };
 
       elm-language-server = nodePkgs."@elm-tooling/elm-language-server" // {
-        meta = with lib; {
+        meta = with lib; nodePkgs."@elm-tooling/elm-language-server".meta // {
           description = "Language server implementation for Elm";
           homepage = "https://github.com/elm-tooling/elm-language-server";
           license = licenses.mit;
@@ -210,7 +189,7 @@ let
       };
 
       elm-optimize-level-2 = nodePkgs."elm-optimize-level-2" // {
-        meta = with lib; {
+        meta = with lib; nodePkgs."elm-optimize-level-2".meta // {
           description = "A second level of optimization for the Javascript that the Elm Compiler produces";
           homepage = "https://github.com/mdgriffith/elm-optimize-level-2";
           license = licenses.bsd3;
@@ -219,8 +198,5 @@ let
       };
 
       inherit (nodePkgs) elm-doc-preview elm-live elm-upgrade elm-xref elm-analyse elm-git-install;
-    };
-
-in hsPkgs.elmPkgs // elmNodePackages // elmRustPackages // {
-  lib = elmLib;
-}
+    })
+  )
diff --git a/pkgs/development/compilers/elm/packages/elm-json.nix b/pkgs/development/compilers/elm/packages/elm-json.nix
index a480b9e0e1e..faf6ffd8a2e 100644
--- a/pkgs/development/compilers/elm/packages/elm-json.nix
+++ b/pkgs/development/compilers/elm/packages/elm-json.nix
@@ -1,4 +1,13 @@
-{ lib, curl, rustPlatform, fetchurl, openssl, stdenv, pkg-config, Security }:
+{ lib
+, curl
+, rustPlatform
+, fetchurl
+, openssl
+, stdenv
+, pkg-config
+, darwin
+}:
+
 rustPlatform.buildRustPackage rec {
   pname = "elm-json";
   version = "0.2.10";
@@ -12,10 +21,19 @@ rustPlatform.buildRustPackage rec {
 
   nativeBuildInputs = [ pkg-config ];
 
-  buildInputs = [ curl openssl ] ++ lib.optionals stdenv.isDarwin [ Security ];
+  buildInputs = [
+    curl openssl
+  ] ++ lib.optionals stdenv.isDarwin [ darwin.apple_sdk.frameworks.Security ];
 
   cargoSha256 = "sha256:01zasrqf1va58i52s3kwdkj1rnwy80gv00xi6npfshjirj3ix07f";
 
   # Tests perform networking and therefore can't work in sandbox
   doCheck = false;
+
+  meta = with lib; {
+    description = "Install, upgrade and uninstall Elm dependencies";
+    homepage = "https://github.com/zwilias/elm-json";
+    license = licenses.mit;
+    maintainers = [ maintainers.turbomack ];
+  };
 }
diff --git a/pkgs/development/compilers/elm/packages/elm-test-rs.nix b/pkgs/development/compilers/elm/packages/elm-test-rs.nix
index a482809ab50..09d453b00f8 100644
--- a/pkgs/development/compilers/elm/packages/elm-test-rs.nix
+++ b/pkgs/development/compilers/elm/packages/elm-test-rs.nix
@@ -1,4 +1,5 @@
-{ lib, rustPlatform, fetchurl, openssl, stdenv, Security, darwin }:
+{ lib, rustPlatform, fetchurl, openssl, stdenv, darwin }:
+
 rustPlatform.buildRustPackage rec {
   pname = "elm-test-rs";
   version = "2.0";
@@ -8,11 +9,23 @@ rustPlatform.buildRustPackage rec {
     sha256 = "sha256:1manr42w613r9vyji7pxx5gb08jcgkdxv29qqylrqlwxa8d5dcid";
   };
 
-  buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security darwin.apple_sdk.frameworks.CoreServices ];
+  buildInputs = lib.optionals (!stdenv.isDarwin) [
+    openssl
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [
+    Security
+    CoreServices
+  ]);
 
   cargoSha256 = "sha256:1dpdlzv96kpc25yf5jgsz9qldghyw35x382qpxhkadkn5dryzjvd";
   verifyCargoDeps = true;
 
   # Tests perform networking and therefore can't work in sandbox
   doCheck = false;
+
+  meta = with lib; {
+    description = "Fast and portable executable to run your Elm tests";
+    homepage = "https://github.com/mpizenberg/elm-test-rs";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.jpagex ];
+  };
 }
diff --git a/pkgs/development/compilers/elm/packages/elm.nix b/pkgs/development/compilers/elm/packages/elm.nix
index c012d59d8ae..e24ece00ffe 100644
--- a/pkgs/development/compilers/elm/packages/elm.nix
+++ b/pkgs/development/compilers/elm/packages/elm.nix
@@ -6,6 +6,7 @@
 , snap-core, snap-server, lib, template-haskell, time
 , unordered-containers, utf8-string, vector, zip-archive
 }:
+
 mkDerivation {
   pname = "elm";
   version = "0.19.1";
diff --git a/pkgs/development/compilers/flutter/default.nix b/pkgs/development/compilers/flutter/default.nix
index 6f6130c3678..9eba6773448 100644
--- a/pkgs/development/compilers/flutter/default.nix
+++ b/pkgs/development/compilers/flutter/default.nix
@@ -4,20 +4,20 @@ let
   getPatches = dir:
     let files = builtins.attrNames (builtins.readDir dir);
     in map (f: dir + ("/" + f)) files;
-  version = "2.10.0";
+  version = "2.10.1";
   channel = "stable";
   filename = "flutter_linux_${version}-${channel}.tar.xz";
 
   # Decouples flutter derivation from dart derivation,
   # use specific dart version to not need to bump dart derivation when bumping flutter.
-  dartVersion = "2.16.0";
+  dartVersion = "2.16.1";
   dartSourceBase = "https://storage.googleapis.com/dart-archive/channels";
   dartForFlutter = dart.override {
     version = dartVersion;
     sources = {
       "${dartVersion}-x86_64-linux" = fetchurl {
         url = "${dartSourceBase}/stable/release/${dartVersion}/sdk/dartsdk-linux-x64-release.zip";
-        sha256 = "sha256-n+hr3iMt5S0iEeR/X9zBQ86TbjCajaG0RyE+Ij1/aNM=";
+        sha256 = "sha256-PMY6DCFQC8XrlnFzOEPcwgBAs5/cAvNd78969Z+I1Fk=";
       };
     };
   };
@@ -29,7 +29,7 @@ in {
     pname = "flutter";
     src = fetchurl {
       url = "https://storage.googleapis.com/flutter_infra_release/releases/${channel}/linux/${filename}";
-      sha256 = "sha256-4ZEpZPGVnisnK9QT1o4G2G6CiflYElh+e3+X8odnx1U=";
+      sha256 = "sha256-rSfwcglDV2rvJl10j7FByAWmghd2FYxrlkgYnvRO54Y=";
     };
     patches = getPatches ./patches;
   };
diff --git a/pkgs/development/compilers/flutter/flutter.nix b/pkgs/development/compilers/flutter/flutter.nix
index 4b0789e35eb..43538ede339 100644
--- a/pkgs/development/compilers/flutter/flutter.nix
+++ b/pkgs/development/compilers/flutter/flutter.nix
@@ -32,6 +32,7 @@
 , nss
 , systemd
 , which
+, callPackage
 }:
 let
   drvName = "flutter-${version}";
@@ -146,6 +147,8 @@ let
   };
 
 in
+let
+self = (self:
 runCommand drvName
 {
   startScript = ''
@@ -159,6 +162,9 @@ runCommand drvName
   passthru = {
     unwrapped = flutter;
     inherit dart;
+    mkFlutterApp = callPackage ../../../build-support/flutter {
+      flutter = self;
+    };
   };
   meta = with lib; {
     description = "Flutter is Google's SDK for building mobile, web and desktop with Dart";
@@ -179,4 +185,6 @@ runCommand drvName
 
   echo -n "$startScript" > $out/bin/${pname}
   chmod +x $out/bin/${pname}
-''
+'') self;
+in
+self
diff --git a/pkgs/development/compilers/gforth/boot-forth.nix b/pkgs/development/compilers/gforth/boot-forth.nix
new file mode 100644
index 00000000000..fc7b5ffa982
--- /dev/null
+++ b/pkgs/development/compilers/gforth/boot-forth.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, fetchurl, m4 }:
+
+let
+  version = "0.7.3";
+in
+stdenv.mkDerivation {
+  pname = "gforth-boot";
+  inherit version;
+  src = fetchurl {
+    url = "https://ftp.gnu.org/gnu/gforth/gforth-${version}.tar.gz";
+    sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig";
+  };
+
+  buildInputs = [ m4 ];
+
+  configureFlags = lib.optional stdenv.isDarwin [ "--build=x86_64-apple-darwin" ];
+
+  meta = {
+    description = "The Forth implementation of the GNU project (outdated version used to bootstrap)";
+    homepage = "https://www.gnu.org/software/gforth/";
+    license = lib.licenses.gpl3;
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/development/compilers/gforth/default.nix b/pkgs/development/compilers/gforth/default.nix
index bdf172cb9b9..3b60d9fb179 100644
--- a/pkgs/development/compilers/gforth/default.nix
+++ b/pkgs/development/compilers/gforth/default.nix
@@ -1,17 +1,30 @@
-{ lib, stdenv, fetchurl, m4 }:
+{ lib, stdenv, fetchFromGitHub, callPackage
+, autoreconfHook, texinfo, libffi
+}:
 
 let
-  version = "0.7.3";
-in
-stdenv.mkDerivation {
+  swig = callPackage ./swig.nix { };
+  bootForth = callPackage ./boot-forth.nix { };
+in stdenv.mkDerivation rec {
+
   pname = "gforth";
-  inherit version;
-  src = fetchurl {
-    url = "https://ftp.gnu.org/gnu/gforth/gforth-${version}.tar.gz";
-    sha256 = "1c1bahc9ypmca8rv2dijiqbangm1d9av286904yw48ph7ciz4qig";
+  version = "0.7.9_20220127";
+
+  src = fetchFromGitHub {
+    owner = "forthy42";
+    repo = "gforth";
+    rev = version;
+    sha256 = "sha256-3+ObHhsPvW44UFiN0GWOhwo7aiqhjwxNY8hw2Wv4MK0=";
   };
 
-  buildInputs = [ m4 ];
+  nativeBuildInputs = [
+    autoreconfHook texinfo bootForth swig
+  ];
+  buildInputs = [
+    libffi
+  ];
+
+  passthru = { inherit bootForth; };
 
   configureFlags = lib.optional stdenv.isDarwin [ "--build=x86_64-apple-darwin" ];
 
@@ -22,7 +35,7 @@ stdenv.mkDerivation {
 
   meta = {
     description = "The Forth implementation of the GNU project";
-    homepage = "https://www.gnu.org/software/gforth/";
+    homepage = "https://github.com/forthy42/gforth";
     license = lib.licenses.gpl3;
     platforms = lib.platforms.all;
   };
diff --git a/pkgs/development/compilers/gforth/swig.nix b/pkgs/development/compilers/gforth/swig.nix
new file mode 100644
index 00000000000..8de29407cc4
--- /dev/null
+++ b/pkgs/development/compilers/gforth/swig.nix
@@ -0,0 +1,16 @@
+{ swig3, fetchFromGitHub }:
+
+## for updating to swig4, see
+## https://github.com/GeraldWodni/swig/pull/6
+swig3.overrideDerivation (old: {
+  version = "3.0.9-forth";
+  src = fetchFromGitHub {
+    owner = "GeraldWodni";
+    repo = "swig";
+    rev = "a45b807e5f9d8ca1a43649c8265d2741a393862a";
+    sha256 = "sha256-6nOOPFGFNaQInEkul0ZAh+ks9n3wqCQ6/tbduvG/To0=";
+  };
+  configureFlags = old.configureFlags ++ [
+    "--enable-forth"
+  ];
+})
diff --git a/pkgs/development/compilers/go/1.16.nix b/pkgs/development/compilers/go/1.16.nix
index 50fad5efe23..46591d2369d 100644
--- a/pkgs/development/compilers/go/1.16.nix
+++ b/pkgs/development/compilers/go/1.16.nix
@@ -54,11 +54,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.16.13";
+  version = "1.16.14";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-sJJmVOrrAe9DgWY49C17FoHy0/QblVnwdzVSK3r61Bo=";
+    sha256 = "sha256-RniYzTohbeVNy5AU9UHv536beacVTbwf0t13iwxj+1Y=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/go/1.17.nix b/pkgs/development/compilers/go/1.17.nix
index 35c16f49f70..4b2a3d39a98 100644
--- a/pkgs/development/compilers/go/1.17.nix
+++ b/pkgs/development/compilers/go/1.17.nix
@@ -54,11 +54,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.17.6";
+  version = "1.17.7";
 
   src = fetchurl {
     url = "https://dl.google.com/go/go${version}.src.tar.gz";
-    sha256 = "sha256-TcG78/9h8MH/Kxk1Xm2IFRpwEmJopHx2FHdobvlHSMg=";
+    sha256 = "sha256-wQjNM7c7GRGgK2l3Qd896kPgGlxOCOQJ6LOg43RdK00=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/go/1.18.nix b/pkgs/development/compilers/go/1.18.nix
index c0823e3b5a5..17c31051999 100644
--- a/pkgs/development/compilers/go/1.18.nix
+++ b/pkgs/development/compilers/go/1.18.nix
@@ -54,11 +54,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "go";
-  version = "1.18beta2";
+  version = "1.18rc1";
 
   src = fetchurl {
     url = "https://go.dev/dl/go${version}.src.tar.gz";
-    sha256 = "sha256-PLFOLILaNm9zk8mI8fP8LBa3GlSSvT1J01iGzfJ6nRM=";
+    sha256 = "sha256-XOx6ZlMAj6hfiCGzNmXeN74om3oC8X829wWojEOYC7g=";
   };
 
   # perl is used for testing go vet
diff --git a/pkgs/development/compilers/jetbrains-jdk/default.nix b/pkgs/development/compilers/jetbrains-jdk/default.nix
index e36dedf3c87..bfff07aabcb 100644
--- a/pkgs/development/compilers/jetbrains-jdk/default.nix
+++ b/pkgs/development/compilers/jetbrains-jdk/default.nix
@@ -2,12 +2,13 @@
 
 openjdk11.overrideAttrs (oldAttrs: rec {
   pname = "jetbrains-jdk";
-  version = "11_0_11-b1504.13";
+  version = "11_0_13-b1751.25";
+
   src = fetchFromGitHub {
     owner = "JetBrains";
     repo = "JetBrainsRuntime";
     rev = "jb${version}";
-    sha256 = "1xpgsgmmj5jp5qyw98hqmik6a7z3hfwmij023ij3qqymyj3nhm2i";
+    sha256 = "sha256-TPNYZUkAoiZfp7Ci3fslKnRNGY1lnyIhXYUt6J31lwI=";
   };
   patches = [];
   meta = with lib; {
diff --git a/pkgs/development/compilers/julia/1.7-bin.nix b/pkgs/development/compilers/julia/1.7-bin.nix
index dab58674f9d..788825d90be 100644
--- a/pkgs/development/compilers/julia/1.7-bin.nix
+++ b/pkgs/development/compilers/julia/1.7-bin.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "julia-bin";
-  version = "1.7.1";
+  version = "1.7.2";
 
   src = {
     x86_64-linux = fetchurl {
       url = "https://julialang-s3.julialang.org/bin/linux/x64/${lib.versions.majorMinor version}/julia-${version}-linux-x86_64.tar.gz";
-      sha256 = "04czipzai5628v1npa2y2xff0bd4rj8d2fcjnnsvkqj5gff8wra4";
+      sha256 = "15dsfdcxvx0wizkkn85ldz0mg0h7cjziz1lw4kky0b9v9xr48lm7";
     };
   }.${stdenv.hostPlatform.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
diff --git a/pkgs/development/compilers/mezzo/default.nix b/pkgs/development/compilers/mezzo/default.nix
index 23c75ae28bb..4f2b081b4db 100644
--- a/pkgs/development/compilers/mezzo/default.nix
+++ b/pkgs/development/compilers/mezzo/default.nix
@@ -28,6 +28,10 @@ stdenv.mkDerivation {
   prePatch = lib.optionalString (check-ocaml-version "4.02") ''
     substituteInPlace myocamlbuild.pre.ml \
     --replace '@1..3' '@1..2+3'
+  ''
+  # Compatibility with PPrint ≥ 20220103
+  + ''
+    substituteInPlace typing/Fact.ml --replace PPrintOCaml PPrint.OCaml
   '';
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/compilers/myrddin/default.nix b/pkgs/development/compilers/myrddin/default.nix
index 3120426210b..a7aa84a1aa8 100644
--- a/pkgs/development/compilers/myrddin/default.nix
+++ b/pkgs/development/compilers/myrddin/default.nix
@@ -53,5 +53,6 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ luc65r ];
     platforms = platforms.all;
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/myrddin.x86_64-darwin
   };
 }
diff --git a/pkgs/development/compilers/nim/default.nix b/pkgs/development/compilers/nim/default.nix
index 06b19b547b6..4f3b200477f 100644
--- a/pkgs/development/compilers/nim/default.nix
+++ b/pkgs/development/compilers/nim/default.nix
@@ -98,12 +98,12 @@ in {
 
   nim-unwrapped = stdenv.mkDerivation rec {
     pname = "nim-unwrapped";
-    version = "1.6.2";
+    version = "1.6.4";
     strictDeps = true;
 
     src = fetchurl {
       url = "https://nim-lang.org/download/nim-${version}.tar.xz";
-      hash = "sha256-msRxT6bDFdaR2n9diUHBsZDU1Dc5fZdC4yfC1RiT43M=";
+      hash = "sha256-f8MJKFW1wiAM2f7tEz0EYFgj8lDXO01KxQEwA3DgoMI=";
     };
 
     buildInputs = [ boehmgc openssl pcre readline sqlite ];
diff --git a/pkgs/development/compilers/openjdk/openjfx/11.nix b/pkgs/development/compilers/openjdk/openjfx/11.nix
index e977d2b0020..ff243372b4a 100644
--- a/pkgs/development/compilers/openjdk/openjfx/11.nix
+++ b/pkgs/development/compilers/openjdk/openjfx/11.nix
@@ -1,5 +1,5 @@
 { stdenv, lib, fetchurl, writeText, gradle_4, pkg-config, perl, cmake
-, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg, python2, ruby
+, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib, ffmpeg_4, python2, ruby
 , openjdk11-bootstrap }:
 
 let
@@ -19,7 +19,7 @@ let
       sha256 = "1h7qsylr7rnwnbimqjyn3whszp9kv4h3gpicsrb3mradxc9yv194";
     };
 
-    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg ];
+    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
     nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python2 ruby ];
 
     dontUseCmakeConfigure = true;
diff --git a/pkgs/development/compilers/openjdk/openjfx/15.nix b/pkgs/development/compilers/openjdk/openjfx/15.nix
index 26c16895c5d..3feda519b08 100644
--- a/pkgs/development/compilers/openjdk/openjfx/15.nix
+++ b/pkgs/development/compilers/openjdk/openjfx/15.nix
@@ -1,6 +1,6 @@
 { stdenv, lib, fetchFromGitHub, writeText, openjdk11_headless, gradle_5
 , pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
-, ffmpeg, python3, ruby }:
+, ffmpeg_4, python3, ruby }:
 
 let
   major = "15";
@@ -21,7 +21,7 @@ let
       sha256 = "019glq8rhn6amy3n5jc17vi2wpf1pxpmmywvyz1ga8n09w7xscq1";
     };
 
-    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg ];
+    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg_4 ];
     nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
 
     dontUseCmakeConfigure = true;
diff --git a/pkgs/development/compilers/openjdk/openjfx/17.nix b/pkgs/development/compilers/openjdk/openjfx/17.nix
new file mode 100644
index 00000000000..12bac4c4d9d
--- /dev/null
+++ b/pkgs/development/compilers/openjdk/openjfx/17.nix
@@ -0,0 +1,106 @@
+{ stdenv, lib, fetchFromGitHub, writeText, openjdk17_headless, gradle_7
+, pkg-config, perl, cmake, gperf, gtk2, gtk3, libXtst, libXxf86vm, glib, alsa-lib
+, ffmpeg, python3, ruby, icu68 }:
+
+let
+  major = "17";
+  update = ".0.0.1";
+  build = "+1";
+  repover = "${major}${update}${build}";
+  gradle_ = (gradle_7.override {
+    java = openjdk17_headless;
+  });
+
+  makePackage = args: stdenv.mkDerivation ({
+    version = "${major}${update}${build}";
+
+    src = fetchFromGitHub {
+      owner = "openjdk";
+      repo = "jfx";
+      rev = repover;
+      sha256 = "sha256-PSiE9KbF/4u9VyBl9PAMLGzKyGFB86/XByeh7vhL6Kw=";
+    };
+
+    buildInputs = [ gtk2 gtk3 libXtst libXxf86vm glib alsa-lib ffmpeg icu68 ];
+    nativeBuildInputs = [ gradle_ perl pkg-config cmake gperf python3 ruby ];
+
+    dontUseCmakeConfigure = true;
+
+    config = writeText "gradle.properties" (''
+      CONF = Release
+      JDK_HOME = ${openjdk17_headless.home}
+    '' + args.gradleProperties or "");
+
+    buildPhase = ''
+      runHook preBuild
+
+      export GRADLE_USER_HOME=$(mktemp -d)
+      ln -s $config gradle.properties
+      export NIX_CFLAGS_COMPILE="$(pkg-config --cflags glib-2.0) $NIX_CFLAGS_COMPILE"
+      gradle --no-daemon $gradleFlags sdk
+
+      runHook postBuild
+    '';
+  } // args);
+
+  # Fake build to pre-download deps into fixed-output derivation.
+  # We run nearly full build because I see no other way to download everything that's needed.
+  # Anyone who knows a better way?
+  deps = makePackage {
+    pname = "openjfx-deps";
+
+    # perl code mavenizes pathes (com.squareup.okio/okio/1.13.0/a9283170b7305c8d92d25aff02a6ab7e45d06cbe/okio-1.13.0.jar -> com/squareup/okio/okio/1.13.0/okio-1.13.0.jar)
+    installPhase = ''
+      find $GRADLE_USER_HOME -type f -regex '.*/modules.*\.\(jar\|pom\)' \
+        | perl -pe 's#(.*/([^/]+)/([^/]+)/([^/]+)/[0-9a-f]{30,40}/([^/\s]+))$# ($x = $2) =~ tr|\.|/|; "install -Dm444 $1 \$out/$x/$3/$4/$5" #e' \
+        | sh
+      rm -rf $out/tmp
+    '';
+
+    outputHashAlgo = "sha256";
+    outputHashMode = "recursive";
+    outputHash = "sha256-dV7/U5GpFxhI13smZ587C6cVE4FRNPY0zexZkYK4Yqo=";
+  };
+
+in makePackage {
+  pname = "openjfx-modular-sdk";
+
+  gradleProperties = ''
+    COMPILE_MEDIA = true
+    COMPILE_WEBKIT = false
+  '';
+
+  preBuild = ''
+    swtJar="$(find ${deps} -name org.eclipse.swt\*.jar)"
+    substituteInPlace build.gradle \
+      --replace 'mavenCentral()' 'mavenLocal(); maven { url uri("${deps}") }' \
+      --replace 'name: SWT_FILE_NAME' "files('$swtJar')"
+  '';
+
+  installPhase = ''
+    cp -r build/modular-sdk $out
+  '';
+
+  stripDebugList = [ "." ];
+
+  postFixup = ''
+    # Remove references to bootstrap.
+    export openjdkOutPath='${openjdk17_headless.outPath}'
+    find "$out" -name \*.so | while read lib; do
+      new_refs="$(patchelf --print-rpath "$lib" | perl -pe 's,:?\Q$ENV{openjdkOutPath}\E[^:]*,,')"
+      patchelf --set-rpath "$new_refs" "$lib"
+    done
+  '';
+
+  disallowedReferences = [ openjdk17_headless ];
+
+  passthru.deps = deps;
+
+  meta = with lib; {
+    homepage = "http://openjdk.java.net/projects/openjfx/";
+    license = licenses.gpl2;
+    description = "The next-generation Java client toolkit";
+    maintainers = with maintainers; [ abbradar ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/compilers/passerine/default.nix b/pkgs/development/compilers/passerine/default.nix
index e9427f892e6..e5f88e58674 100644
--- a/pkgs/development/compilers/passerine/default.nix
+++ b/pkgs/development/compilers/passerine/default.nix
@@ -2,20 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "passerine";
-  version = "0.9.2";
+  version = "0.9.3";
 
   src = fetchFromGitHub {
     owner = "vrtbl";
     repo = "passerine";
-    rev = "dd8a6f5efc5dcb03d45b102f61cc8a50d46e8e98";
-    sha256 = "sha256-/QzqKLkxAVqvTY4Uft1qk7nJat6nozykB/4X1YGqu/I=";
+    rev = "v${version}";
+    hash = "sha256-TrbcULIJ9+DgQ4QsLYD5okxHoIusGJDw1PqJQwq1zu0=";
   };
 
-  cargoSha256 = "sha256-8WiiDLIJ/abXELF8S+4s+BPA/Lr/rpKmC1NWPCLzQWA=";
+  cargoHash = "sha256-A+sOT0rloAktDdVXe2HEPK25euh9T7c0rXybZmZpqC0=";
 
   meta = with lib; {
     description = "A small extensible programming language designed for concise expression with little code";
-    homepage = "https://github.com/vrtbl/passerine";
+    homepage = "https://www.passerine.io/";
     license = licenses.mit;
     maintainers = with maintainers; [ siraben ];
   };
diff --git a/pkgs/development/compilers/rust/1_57.nix b/pkgs/development/compilers/rust/1_58.nix
index f6b9d3c72a3..c854bfdd37a 100644
--- a/pkgs/development/compilers/rust/1_57.nix
+++ b/pkgs/development/compilers/rust/1_58.nix
@@ -20,8 +20,8 @@
 } @ args:
 
 import ./default.nix {
-  rustcVersion = "1.57.0";
-  rustcSha256 = "06jw8ka2p3kls8p0gd4p0chhhb1ia1mlvj96zn78n7qvp71zjiim";
+  rustcVersion = "1.58.1";
+  rustcSha256 = "1iq7kj16qfpkx8gvw50d8rf7glbm6s0pj2y1qkrz7mi56vfsyfd8";
 
   llvmSharedForBuild = pkgsBuildBuild.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
   llvmSharedForHost = pkgsBuildHost.llvmPackages_13.libllvm.override { enableSharedLibraries = true; };
@@ -37,24 +37,24 @@ import ./default.nix {
 
   # Note: the version MUST be one version prior to the version we're
   # building
-  bootstrapVersion = "1.56.1";
+  bootstrapVersion = "1.57.0";
 
   # fetch hashes by running `print-hashes.sh ${bootstrapVersion}`
   bootstrapHashes = {
-    i686-unknown-linux-gnu = "84db34603ce22d93312ff8bccd5580fe112e932bbeb0361e7cc37668a9803a27";
-    x86_64-unknown-linux-gnu = "a6be5d045183a0b12dddf0d81633e2a64e63e4c2dfa44eb7593970c1ef93a98f";
-    x86_64-unknown-linux-musl = "3c09058d104d9a88943fb343af1fb70422f9c4a987e6703666ee8a8051211190";
-    arm-unknown-linux-gnueabihf = "c445706d109bb74de4c889687ae08a48af5808676fda15b84b7ef5970a82a5f6";
-    armv7-unknown-linux-gnueabihf = "29ec65af502370c0c1a49faecd7131f1243fe3005b419ead4b40b267af2b2db0";
-    aarch64-unknown-linux-gnu = "69792887357c8dd78c5424f0b4a624578296796d99edf6c30ebe2acc2b939aa3";
-    aarch64-unknown-linux-musl = "971d13d41657e50e3ac54f17f52b4198c3d8bc25ec489a6a9e6d12c18226dda5";
-    x86_64-apple-darwin = "8d65ef02a123c23be00101fb204d28b60498b9145dd2ee8edabf0afde6e01e55";
-    aarch64-apple-darwin = "e71c14c1368048a22e4d1851f301872ac2e6f4c574f04d2a7ae4d64b0e7c7235";
-    powerpc64le-unknown-linux-gnu = "fa78b28fe1ef3cd4add9ec151e5eab756dfc83c8bc3e5a576a6eddd350c4de7a";
-    riscv64gc-unknown-linux-gnu = "5ec327d1bd3ba8d00afbe9be4a1f0fb8ab845063fcf9be479be9493c52a4dbb6";
+    i686-unknown-linux-gnu = "7e4ac8ca2874897099a3ceb89039ceee170f474a98ee247589fd6bca8dda7cfa";
+    x86_64-unknown-linux-gnu = "ea0253784b2e5c22659ff148d492a68d2e11da734491714ebc61cc93896efcda";
+    x86_64-unknown-linux-musl = "56876ebca0e46236208c8bd3c3425dba553abe49639e1040ee8b95bc66a45d33";
+    arm-unknown-linux-gnueabihf = "b4448f7a96da4feee99a2c4b16b5738b99ab7e86e22d284ea6f7dca5921bca9b";
+    armv7-unknown-linux-gnueabihf = "577682b1405e8901f971839407daaad06d8ae68ad370305b75d569ba293c4fb4";
+    aarch64-unknown-linux-gnu = "d66847f7cf7b548ecb328c400ac4f691ee2aea6ff5cd9286ad8733239569556c";
+    aarch64-unknown-linux-musl = "91c8e5171e5715261f7f635142a10a9415a4e5ba55374daf76f0b713c8b08132";
+    x86_64-apple-darwin = "15ceffc4743434c19d08f73fb4edd6642b7fd8162ed7101d3e6ca2c691fcb699";
+    aarch64-apple-darwin = "7511075e28b715e2d9c7ee74221779f8444681a4bb60ac3a0270a5fdf08bdd5a";
+    powerpc64le-unknown-linux-gnu = "3ddc1abed6b7535c4150bf54291901fa856806c948bc21b711e24a3c8d810be7";
+    riscv64gc-unknown-linux-gnu = "f809df1c6ac0adc9bd37eb871dfb0d9809f3ed7f61ba611f9305e9eb8f8c9226";
   };
 
-  selectRustPackage = pkgs: pkgs.rust_1_57;
+  selectRustPackage = pkgs: pkgs.rust_1_58;
 
   rustcPatches = [
   ];
diff --git a/pkgs/development/compilers/rust/make-rust-platform.nix b/pkgs/development/compilers/rust/make-rust-platform.nix
index f479b052019..2071c48cc6d 100644
--- a/pkgs/development/compilers/rust/make-rust-platform.nix
+++ b/pkgs/development/compilers/rust/make-rust-platform.nix
@@ -31,5 +31,5 @@ rec {
   # Hooks
   inherit (callPackage ../../../build-support/rust/hooks {
     inherit stdenv cargo rustc;
-  }) cargoBuildHook cargoCheckHook cargoInstallHook cargoSetupHook maturinBuildHook;
+  }) cargoBuildHook cargoCheckHook cargoInstallHook cargoSetupHook maturinBuildHook bindgenHook;
 }
diff --git a/pkgs/development/compilers/swift/default.nix b/pkgs/development/compilers/swift/default.nix
index b5009195ba7..e3a9aa2b486 100644
--- a/pkgs/development/compilers/swift/default.nix
+++ b/pkgs/development/compilers/swift/default.nix
@@ -36,26 +36,50 @@
 }:
 
 let
-  version = "5.4.2";
+  # The Swift toolchain script builds projects with separate repos. By convention, some of them share
+  # the same version with the main Swift compiler project per release. We fetch these with
+  # `fetchSwiftRelease`. The rest have their own versions locked to each Swift release, as defined in the
+  # Swift compiler repo:
+  #   utils/update_checkout/update_checkout-config.json.
+  #
+  # ... among projects listed in that file, we provide our own:
+  # - CMake
+  # - ninja
+  # - icu
+  #
+  # ... we'd like to include the following in the future:
+  # - stress-tester
+  # - integration-tests
+
+  versions = {
+    swift = "5.5.3";
+    yams = "4.0.2";
+    argumentParser = "0.4.3";
+    format = "swift-5.5-branch";
+    crypto = "1.1.5";
+  };
 
-  # These dependency versions can be found in utils/update_checkout/update-checkout-config.json.
-  swiftArgumentParserVersion = "0.3.0";
-  yamsVersion = "3.0.1";
-  swiftFormatVersion = "0.50400.0";
+  fetchAppleRepo = { repo, rev, sha256 }:
+    fetchFromGitHub {
+      owner = "apple";
+      inherit repo rev sha256;
+      name = "${repo}-${rev}-src";
+    };
 
   fetchSwiftRelease = { repo, sha256, fetchSubmodules ? false }:
     fetchFromGitHub {
       owner = "apple";
       inherit repo sha256 fetchSubmodules;
-      rev = "swift-${version}-RELEASE";
-      name = "${repo}-${version}-src";
+      rev = "swift-${versions.swift}-RELEASE";
+      name = "${repo}-${versions.swift}-src";
     };
 
-  # Sources based on utils/update_checkout/update_checkout-config.json.
   sources = {
+    # Projects that share `versions.swift` for each release.
+
     swift = fetchSwiftRelease {
       repo = "swift";
-      sha256 = "0qrkqkwpmk312fi12kwwyihin01qb7sphhdz5c6an8j1rjfd9wbv";
+      sha256 = "0ma96sfvwiv2f4qhzrvcwxi9igzd80930gnaw4r7ra4w190cnag7";
     };
     cmark = fetchSwiftRelease {
       repo = "swift-cmark";
@@ -63,75 +87,73 @@ let
     };
     llbuild = fetchSwiftRelease {
       repo = "swift-llbuild";
-      sha256 = "0d7sj5a9b5c1ry2209cpccic5radf9s48sp1lahqzmd1pdx3n7pi";
-    };
-    argumentParser = fetchFromGitHub {
-      owner = "apple";
-      repo = "swift-argument-parser";
-      rev = swiftArgumentParserVersion;
-      sha256 = "15vv7hnffa84142q97dwjcn196p2bg8nfh89d6nnix0i681n1qfd";
-      name = "swift-argument-parser-${swiftArgumentParserVersion}";
+      sha256 = "1xmiv7yp9r9iscx3fc3zdp25mriz134k9ny2rchxzi4kifz8h0zc";
     };
     driver = fetchSwiftRelease {
       repo = "swift-driver";
-      sha256 = "1j08273haqv7786rkwsmw7g103glfwy1d2807490id9lagq3r66z";
+      sha256 = "1pb7fidgdqxzragqkillkv03vdilrwmcx6x2r4czqvdqj37gy6b6";
     };
     toolsSupportCore = fetchSwiftRelease {
       repo = "swift-tools-support-core";
-      sha256 = "07gm28ki4px7xzrplvk9nd1pp5r9nyi87l21i0rcbb3r6wrikxb4";
+      sha256 = "0a63193nycir4lffvmb3ky8cfly5kdr2libki2gx4fn6fxmb3a2f";
     };
     swiftpm = fetchSwiftRelease {
       repo = "swift-package-manager";
-      sha256 = "05linnzlidxamzl3723zhyrfm24pk2cf1x66a3nk0cxgnajw0vzx";
+      sha256 = "0z90mg837jzwh516pypn48r3wsjf0lqymsyigdhgr7j2sgcckrr1";
     };
     syntax = fetchSwiftRelease {
       repo = "swift-syntax";
-      sha256 = "1y9agx9bg037xjhkwc28xm28kjyqydgv21s4ijgy5l51yg1g0daj";
+      sha256 = "0kdgh9a8n28yh12hj8lbz2j66ag83l0lcfyfdg7zdr614zs6i3p1";
     };
-    # TODO: possibly re-add stress-tester.
     corelibsXctest = fetchSwiftRelease {
       repo = "swift-corelibs-xctest";
-      sha256 = "00c68580yr12yxshl0hxyhp8psm15fls3c7iqp52hignyl4v745r";
+      sha256 = "12fp3xzsqwcrmyc55h91d3dm64wn3wln47x2fl7sj0s8cn7q12b3";
     };
     corelibsFoundation = fetchSwiftRelease {
       repo = "swift-corelibs-foundation";
-      sha256 = "1jyadm2lm7hhik8n8wacfiffpdwqsgnilwmcw22qris5s2drj499";
+      sha256 = "06gkdliihl1l86jx5khzwkjmjk45fq290x033rscramzcdxh7d1b";
     };
     corelibsLibdispatch = fetchSwiftRelease {
       repo = "swift-corelibs-libdispatch";
-      sha256 = "1s46c0hrxi42r43ff5f1pq2imb3hs05adfpwfxkilgqyb5svafsp";
+      sha256 = "1bim5x9z9bqfgs6gdm4nlz1zrwl2x7xh4dn6i5md9ygsplr4ibzf";
       fetchSubmodules = true;
     };
-    # TODO: possibly re-add integration-tests.
-    # Linux does not support Xcode playgrounds.
-    # We provide our own ninja.
-    # We provider our own icu.
-    yams = fetchFromGitHub {
-      owner = "jpsim";
-      repo = "Yams";
-      rev = yamsVersion;
-      sha256 = "13md54y7lalrpynrw1s0w5yw6rrjpw46fml9dsk2m3ph1bnlrqrq";
-      name = "Yams-${yamsVersion}";
-    };
-    # We provide our own CMake.
     indexstoreDb = fetchSwiftRelease {
       repo = "indexstore-db";
-      sha256 = "1ap3hiq2jd3cn10d8d674xysq27by878mvq087a80681r8cdivn3";
+      sha256 = "1l1xlzf5kx7x80kf4b7r36glv0jc64d08d1688kmzjq1cfgn6gm2";
     };
     sourcekitLsp = fetchSwiftRelease {
       repo = "sourcekit-lsp";
-      sha256 = "02m9va0lsn2hnwkmgrbgj452sbyaswwmq14lqvxgnb7gssajv4gc";
-    };
-    format = fetchFromGitHub {
-      owner = "apple";
-      repo = "swift-format";
-      rev = swiftFormatVersion;
-      sha256 = "0skmmggsh31f3rnqcrx43178bc7scrjihibnwn68axagasgbqn4k";
-      name = "swift-format-${swiftFormatVersion}-src";
+      sha256 = "00fcmd7x5v62n6ajsc0dmzwz6nzy2p72mcs9w6p90adcx7pffqkn";
     };
     llvmProject = fetchSwiftRelease {
       repo = "llvm-project";
-      sha256 = "166hd9d2i55zj70xjb1qmbblbfyk8hdb2qv974i07j6cvynn30lm";
+      sha256 = "18rn5xg5hpxxsacs0ygjmjpzpc8pq85898kknzc0s0z5m55h45z8";
+    };
+
+    # Projects that have their own versions during each release
+
+    argumentParser = fetchAppleRepo {
+      repo = "swift-argument-parser";
+      rev = "${versions.argumentParser}";
+      sha256 = "1jkq72fphxzsnynjxk72azp0iz5r2ji7adxrz6w1y2a19pgjdqrp";
+    };
+    format = fetchAppleRepo {
+      repo = "swift-format";
+      rev = "${versions.format}";
+      sha256 = "1hg888ps3fk23q2zf6djkvxyk6zndqvwypmy0s800hmnyf0hzgv4";
+    };
+    crypto = fetchAppleRepo {
+      repo = "swift-crypto";
+      rev = "${versions.crypto}";
+      sha256 = "0918pj3x3wgli3bnrjbvpzck2n6qz5n6f4yc5kljky45wd15f34g";
+    };
+    yams = fetchFromGitHub {
+      owner = "jpsim";
+      repo = "Yams";
+      rev = versions.yams;
+      sha256 = "1nk9b7l6m3wwjkl81npl2l1iwpsxaxb9za53jpwwsbbi1h1h4fbi";
+      name = "Yams-${versions.yams}-src";
     };
   };
 
@@ -160,7 +182,7 @@ let
 
 in
 stdenv.mkDerivation {
-  name = "swift-${version}";
+  name = "swift-${versions.swift}";
 
   nativeBuildInputs = [
     autoconf
@@ -207,15 +229,14 @@ stdenv.mkDerivation {
     cp -r ${sources.toolsSupportCore} swift-tools-support-core
     cp -r ${sources.swiftpm} swiftpm
     cp -r ${sources.syntax} swift-syntax
-    # TODO: possibly re-add stress-tester.
     cp -r ${sources.corelibsXctest} swift-corelibs-xctest
     cp -r ${sources.corelibsFoundation} swift-corelibs-foundation
     cp -r ${sources.corelibsLibdispatch} swift-corelibs-libdispatch
-    # TODO: possibly re-add integration-tests.
     cp -r ${sources.yams} yams
     cp -r ${sources.indexstoreDb} indexstore-db
     cp -r ${sources.sourcekitLsp} sourcekit-lsp
     cp -r ${sources.format} swift-format
+    cp -r ${sources.crypto} swift-crypto
     cp -r ${sources.llvmProject} llvm-project
 
     chmod -R u+w .
@@ -378,7 +399,7 @@ stdenv.mkDerivation {
   meta = with lib; {
     description = "The Swift Programming Language";
     homepage = "https://github.com/apple/swift";
-    maintainers = with maintainers; [ dtzWill trepetti ];
+    maintainers = with maintainers; [ dtzWill trepetti dduan ];
     license = licenses.asl20;
     # Swift doesn't support 32-bit Linux, unknown on other platforms.
     platforms = platforms.linux;
diff --git a/pkgs/development/compilers/tvm/default.nix b/pkgs/development/compilers/tvm/default.nix
index 2bb8b9d5be3..c148e522015 100644
--- a/pkgs/development/compilers/tvm/default.nix
+++ b/pkgs/development/compilers/tvm/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tvm";
-  version = "0.7.0";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "apache";
     repo = "incubator-tvm";
     rev = "v${version}";
     fetchSubmodules = true;
-    sha256 = "0qflpd3lw0jslyk5lqpv2v42lkqs8mkvnn6i3fdms32iskdfk6p5";
+    sha256 = "sha256-fv2hhPGbr/AbwuN8rAF9PI/QTTqxNgwjYl9arg5GjKY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/compilers/vala/default.nix b/pkgs/development/compilers/vala/default.nix
index 17ba5b14214..1dc910c6222 100644
--- a/pkgs/development/compilers/vala/default.nix
+++ b/pkgs/development/compilers/vala/default.nix
@@ -18,8 +18,6 @@ let
       {
         "0.48" = ./disable-graphviz-0.46.1.patch;
 
-        "0.52" = ./disable-graphviz-0.46.1.patch;
-
         "0.54" = ./disable-graphviz-0.46.1.patch;
 
       }.${lib.versions.majorMinor version} or (throw "no graphviz patch for this version of vala");
@@ -87,13 +85,8 @@ let
 
 in rec {
   vala_0_48 = generic {
-    version = "0.48.22";
-    sha256 = "sha256-27NHjEvjZvCTFkrGHNOu29zz5EQE2eNkFK4VEk525os=";
-  };
-
-  vala_0_52 = generic {
-    version = "0.52.10";
-    sha256 = "sha256-nCAb+BLZh04hveU/jZwU9lF0ixqBRB/1ySkSJESQEAg=";
+    version = "0.48.23";
+    sha256 = "sha256-3jzIWNmV4HR0IZ4lo+Hw7ZmAcNLiBtOjE9Q3ml93oGo=";
   };
 
   vala_0_54 = generic {
diff --git a/pkgs/development/compilers/zig/default.nix b/pkgs/development/compilers/zig/default.nix
index d4eb57815a8..a2cd8f44ce2 100644
--- a/pkgs/development/compilers/zig/default.nix
+++ b/pkgs/development/compilers/zig/default.nix
@@ -11,19 +11,20 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "zig";
-  version = "0.9.0";
+  version = "0.9.1";
 
   src = fetchFromGitHub {
     owner = "ziglang";
     repo = pname;
     rev = version;
-    hash = "sha256-Hfl1KKtGcopMrn+U9r0/qr/wReWJIgb8+IgwMoguv/0=";
+    hash = "sha256-x2c4c9RSrNWGqEngio4ArW7dJjW0gg+8nqBwPcR721k=";
   };
 
   nativeBuildInputs = [
     cmake
     llvmPackages.llvm.dev
   ];
+
   buildInputs = [
     libxml2
     zlib
diff --git a/pkgs/development/coq-modules/ITree/default.nix b/pkgs/development/coq-modules/ITree/default.nix
index 1ba8080e0b1..2f7437fd74f 100644
--- a/pkgs/development/coq-modules/ITree/default.nix
+++ b/pkgs/development/coq-modules/ITree/default.nix
@@ -5,7 +5,7 @@ with lib; mkCoqDerivation rec {
   owner = "DeepSpec";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.10" "8.14";  out = "4.0.0"; }
+    { case = range "8.10" "8.15";  out = "4.0.0"; }
   ] null;
   release."4.0.0".sha256 = "0h5rhndl8syc24hxq1gch86kj7mpmgr89bxp2hmf28fd7028ijsm";
   releaseRev = v: "${v}";
diff --git a/pkgs/development/coq-modules/LibHyps/default.nix b/pkgs/development/coq-modules/LibHyps/default.nix
new file mode 100644
index 00000000000..36272ff207f
--- /dev/null
+++ b/pkgs/development/coq-modules/LibHyps/default.nix
@@ -0,0 +1,21 @@
+{ lib, mkCoqDerivation, coq, version ? null }:
+
+with lib;
+mkCoqDerivation {
+  pname = "LibHyps";
+  owner = "Matafou";
+  inherit version;
+  defaultVersion = if (versions.range "8.11" "8.15") coq.version then "2.0.4.1" else null;
+  release = {
+    "2.0.4.1".sha256 = "09p89701zhrfdmqlpxw3mziw8yylj1w1skb4b0xpbdwd1vsn4k3h";
+  };
+
+  configureScript = "./configure.sh";
+
+  releaseRev = (v: "libhyps-${v}");
+
+  meta = {
+    description = "Hypotheses manipulation library";
+    license = licenses.mit;
+  };
+}
diff --git a/pkgs/development/coq-modules/VST/default.nix b/pkgs/development/coq-modules/VST/default.nix
index 1d2a1a3c05f..80aaf506139 100644
--- a/pkgs/development/coq-modules/VST/default.nix
+++ b/pkgs/development/coq-modules/VST/default.nix
@@ -1,5 +1,7 @@
 { lib, mkCoqDerivation, coq, compcert, ITree, version ? null }:
 
+with lib;
+
 # A few modules that are not built and installed by default
 #  but that may be useful to some users.
 # They depend on ITree.
@@ -7,12 +9,15 @@ let extra_floyd_files = [
   "ASTsize.v"
   "io_events.v"
   "powerlater.v"
-  "printf.v"
+  ]
+  # floyd/printf.v is broken in VST 2.9
+  ++ optional (!versions.isGe "8.13" coq.coq-version) "printf.v"
+  ++ [
   "quickprogram.v"
   ];
 in
 
-with lib; mkCoqDerivation {
+mkCoqDerivation {
   pname = "coq${coq.coq-version}-VST";
   namePrefix = [];
   displayVersion = { coq = false; };
@@ -20,8 +25,10 @@ with lib; mkCoqDerivation {
   repo = "VST";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
+    { case = range "8.13" "8.15"; out = "2.9"; }
     { case = range "8.12" "8.13"; out = "2.8"; }
   ] null;
+  release."2.9".sha256 = "sha256:1adwzbl1pprrrwrm7cm493098fizxanxpv7nyfbvwdhgbhcnv6qf";
   release."2.8".sha256 = "sha256-cyK88uzorRfjapNQ6XgQEmlbWnDsiyLve5po1VG52q0=";
   releaseRev = v: "v${v}";
   extraBuildInputs = [ ITree ];
diff --git a/pkgs/development/coq-modules/addition-chains/default.nix b/pkgs/development/coq-modules/addition-chains/default.nix
index 929d23c8186..c6b6f79bf01 100644
--- a/pkgs/development/coq-modules/addition-chains/default.nix
+++ b/pkgs/development/coq-modules/addition-chains/default.nix
@@ -8,11 +8,12 @@ mkCoqDerivation {
 
   release."0.4".sha256 = "1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
   release."0.5".sha256 = "121pcbn6v59l0c165ha9n00whbddpy11npx2y9cn7g879sfk2nqk";
+  release."0.6".sha256 = "1dri4sisa7mhclf8w4kw7ixs5zxm8xyjr034r1377p96rdk3jj0j";
   releaseRev = (v: "v${v}");
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.13" "8.14"; out = "0.5"; }
+    { case = range "8.13" "8.15"; out = "0.6"; }
     { case = range "8.11" "8.12"; out = "0.4"; }
   ] null;
 
diff --git a/pkgs/development/coq-modules/compcert/default.nix b/pkgs/development/coq-modules/compcert/default.nix
index 9757b3e43c8..197f1a96fc4 100644
--- a/pkgs/development/coq-modules/compcert/default.nix
+++ b/pkgs/development/coq-modules/compcert/default.nix
@@ -16,7 +16,8 @@ let compcert = mkCoqDerivation rec {
 
   defaultVersion =  with versions; switch coq.version [
       { case = range "8.8" "8.11"; out = "3.8"; }
-      { case = range "8.12" "8.14"; out = "3.10"; }
+      { case = isEq "8.12"       ; out = "3.9"; }
+      { case = range "8.12" "8.15"; out = "3.10"; }
     ] null;
 
   release = {
@@ -106,13 +107,18 @@ compcert.overrideAttrs (o:
           })
         ];
       }
-      { cases = [ (isEq "8.14") "3.10" ];
+      { cases = [ (range "8.14" "8.15") "3.10" ];
         out = [
           # Support for Coq 8.14.1
           (fetchpatch {
             url = "https://github.com/AbsInt/CompCert/commit/a79f0f99831aa0b0742bf7cce459cc9353bd7cd0.patch";
             sha256 = "sha256:0g20x8gfzvplpad9y9vr1p33k6qv6rsp691x6687v9ffvz7zsz94";
           })
+          # Support for Coq 8.15.0
+          (fetchpatch {
+            url = "https://github.com/AbsInt/CompCert/commit/a882f78c069f7337dd9f4abff117d4df98ef38a6.patch";
+            sha256 = "sha256:16i87s608fj9ni7cvd5wrd7gicqniad7w78wi26pxdy0pacl7bjg";
+          })
         ];
       }
     ] [];
diff --git a/pkgs/development/coq-modules/coq-elpi/default.nix b/pkgs/development/coq-modules/coq-elpi/default.nix
index 6e67bdd465b..c4055648c5a 100644
--- a/pkgs/development/coq-modules/coq-elpi/default.nix
+++ b/pkgs/development/coq-modules/coq-elpi/default.nix
@@ -6,7 +6,7 @@ with builtins; with lib; let
     { case = "8.12"; out = { version = "1.12.0"; };}
     { case = "8.13"; out = { version = "1.13.7"; };}
     { case = "8.14"; out = { version = "1.13.7"; };}
-    { case = "8.15"; out = { version = "1.13.7"; };}
+    { case = "8.15"; out = { version = "1.14.1"; };}
   ] {});
 in mkCoqDerivation {
   pname = "elpi";
@@ -14,12 +14,13 @@ in mkCoqDerivation {
   owner = "LPCIC";
   inherit version;
   defaultVersion = lib.switch coq.coq-version [
-    { case = "8.15"; out = "1.12.1"; }
+    { case = "8.15"; out = "1.13.0"; }
     { case = "8.14"; out = "1.11.2"; }
     { case = "8.13"; out = "1.11.1"; }
     { case = "8.12"; out = "1.8.3_8.12"; }
     { case = "8.11"; out = "1.6.3_8.11"; }
   ] null;
+  release."1.13.0".sha256     = "1j7s7dlnjbw222gnbrsjgmjck1yrx7h6hwm8zikcyxi0zys17w7n";
   release."1.12.1".sha256     = "sha256-4mO6/co7NcIQSGIQJyoO8lNWXr6dqz+bIYPO/G0cPkY=";
   release."1.11.2".sha256     = "0qk5cfh15y2zrja7267629dybd3irvxk1raz7z8qfir25a81ckd4";
   release."1.11.1".sha256     = "10j076vc2hdcbm15m6s7b6xdzibgfcbzlkgjnlkr2vv9k13qf8kc";
diff --git a/pkgs/development/coq-modules/coqhammer/default.nix b/pkgs/development/coq-modules/coqhammer/default.nix
index 7cb859b202a..66a3dd222dd 100644
--- a/pkgs/development/coq-modules/coqhammer/default.nix
+++ b/pkgs/development/coq-modules/coqhammer/default.nix
@@ -5,6 +5,7 @@ with lib; mkCoqDerivation {
   pname = "coqhammer";
   owner = "lukaszcz";
   defaultVersion = with versions; switch coq.coq-version [
+    { case = "8.15"; out = "1.3.2-coq8.15"; }
     { case = "8.14"; out = "1.3.2-coq8.14"; }
     { case = "8.13"; out = "1.3.2-coq8.13"; }
     { case = "8.12"; out = "1.3.2-coq8.12"; }
@@ -13,6 +14,8 @@ with lib; mkCoqDerivation {
     { case = "8.9";  out = "1.1.1-coq8.9"; }
     { case = "8.8";  out = "1.1-coq8.8"; }
   ] null;
+  release."1.3.2-coq8.15".sha256 = "sha256:0n0y9wda8bx88r17ls9541ibxw013ghp73zshgb65bi7ibznbhha";
+  release."1.3.2-coq8.15".rev = "9a3e689036f12c09800ca3bac05054af0cc49233";
   release."1.3.2-coq8.14".sha256 = "sha256:1pvs4p95lr31jb86f33p2q9v8zq3xbci1fk6s6a2g2snfxng1574";
   release."1.3.2-coq8.13".sha256 = "sha256:0krsm8qj9lgfbggxv2jhkbk3vy2cz63qypnarnl31fdmpykchi4b";
   release."1.3.2-coq8.12".sha256 = "sha256:08mnr13lrdnpims6kf8pk6axf4s8qqs0a71hzg3frkx21d6nawhh";
diff --git a/pkgs/development/coq-modules/gaia-hydras/default.nix b/pkgs/development/coq-modules/gaia-hydras/default.nix
index 5b76cb9148f..d4bcaa8ef81 100644
--- a/pkgs/development/coq-modules/gaia-hydras/default.nix
+++ b/pkgs/development/coq-modules/gaia-hydras/default.nix
@@ -6,10 +6,12 @@ with lib; mkCoqDerivation rec {
   repo = "hydra-battles";
 
   release."0.5".sha256 = "121pcbn6v59l0c165ha9n00whbddpy11npx2y9cn7g879sfk2nqk";
+  release."0.6".sha256 = "1dri4sisa7mhclf8w4kw7ixs5zxm8xyjr034r1377p96rdk3jj0j";
   releaseRev = (v: "v${v}");
 
   inherit version;
   defaultVersion = with versions; switch [coq.coq-version mathcomp.version] [
+    { cases = [ (range "8.14" "8.15") (isGe "1.12.0") ]; out = "0.6"; }
     { cases = [ (range "8.13" "8.14") (isGe "1.12.0") ]; out = "0.5"; }
   ] null;
 
diff --git a/pkgs/development/coq-modules/hydra-battles/default.nix b/pkgs/development/coq-modules/hydra-battles/default.nix
index faec5d3e330..7977363d83f 100644
--- a/pkgs/development/coq-modules/hydra-battles/default.nix
+++ b/pkgs/development/coq-modules/hydra-battles/default.nix
@@ -1,22 +1,21 @@
-{ lib, mkCoqDerivation, coq, equations, version ? null }:
+{ lib, mkCoqDerivation, coq, equations, LibHyps, version ? null }:
 with lib;
 
-mkCoqDerivation {
+(mkCoqDerivation {
   pname = "hydra-battles";
   owner = "coq-community";
 
   release."0.4".sha256 = "1f7pc4w3kir4c9p0fjx5l77401bx12y72nmqxrqs3qqd3iynvqlp";
   release."0.5".sha256 = "121pcbn6v59l0c165ha9n00whbddpy11npx2y9cn7g879sfk2nqk";
+  release."0.6".sha256 = "1dri4sisa7mhclf8w4kw7ixs5zxm8xyjr034r1377p96rdk3jj0j";
   releaseRev = (v: "v${v}");
 
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = range "8.13" "8.14"; out = "0.5"; }
+    { case = range "8.13" "8.15"; out = "0.6"; }
     { case = range "8.11" "8.12"; out = "0.4"; }
   ] null;
 
-  propagatedBuildInputs = [ equations ];
-
   useDune2 = true;
 
   meta = {
@@ -32,4 +31,7 @@ mkCoqDerivation {
     license = licenses.mit;
     platforms = platforms.unix;
   };
-}
+}).overrideAttrs(o:
+  let inherit (o) version; in {
+    propagatedBuildInputs = [ equations ] ++ optional (versions.isGe "0.6" version || version == "dev") LibHyps;
+  })
diff --git a/pkgs/development/coq-modules/iris/default.nix b/pkgs/development/coq-modules/iris/default.nix
index 4fceb7a2fd9..7839c42067b 100644
--- a/pkgs/development/coq-modules/iris/default.nix
+++ b/pkgs/development/coq-modules/iris/default.nix
@@ -6,10 +6,12 @@ with lib; mkCoqDerivation rec {
   owner = "iris";
   inherit version;
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isEq "8.14"; out = "3.5.0"; }
+    { case = range "8.13" "8.15"; out = "3.6.0"; }
+    { case = range "8.12" "8.14"; out = "3.5.0"; }
     { case = range "8.11" "8.13"; out = "3.4.0"; }
     { case = range "8.9"  "8.10"; out = "3.3.0"; }
   ] null;
+  release."3.6.0".sha256 = "sha256:02vbq597fjxd5znzxdb54wfp36412wz2d4yash4q8yddgl1kakmj";
   release."3.5.0".sha256 = "0hh14m0anfcv65rxm982ps2vp95vk9fwrpv4br8bxd9vz0091d70";
   release."3.4.0".sha256 = "0vdc2mdqn5jjd6yz028c0c6blzrvpl0c7apx6xas7ll60136slrb";
   release."3.3.0".sha256 = "0az4gkp5m8sq0p73dlh0r7ckkzhk7zkg5bndw01bdsy5ywj0vilp";
diff --git a/pkgs/development/coq-modules/stdpp/default.nix b/pkgs/development/coq-modules/stdpp/default.nix
index 097293d5816..3f6e20c5d7d 100644
--- a/pkgs/development/coq-modules/stdpp/default.nix
+++ b/pkgs/development/coq-modules/stdpp/default.nix
@@ -6,10 +6,12 @@ with lib; mkCoqDerivation rec {
   domain = "gitlab.mpi-sws.org";
   owner = "iris";
   defaultVersion = with versions; switch coq.coq-version [
-    { case = isEq "8.14"; out = "1.6.0"; }
+    { case = range "8.13" "8.15"; out = "1.7.0"; }
+    { case = range "8.12" "8.14"; out = "1.6.0"; }
     { case = range "8.11" "8.13"; out = "1.5.0"; }
     { case = range "8.8" "8.10";  out = "1.4.0"; }
   ] null;
+  release."1.7.0".sha256 = "sha256:0447wbzm23f9rl8byqf6vglasfn6c1wy6cxrrwagqjwsh3i5lx8y";
   release."1.6.0".sha256 = "1l1w6srzydjg0h3f4krrfgvz455h56shyy2lbcnwdbzjkahibl7v";
   release."1.5.0".sha256 = "1ym0fy620imah89p8b6rii8clx2vmnwcrbwxl3630h24k42092nf";
   release."1.4.0".sha256 = "1m6c7ibwc99jd4cv14v3r327spnfvdf3x2mnq51f9rz99rffk68r";
diff --git a/pkgs/development/embedded/arduino/arduino-cli/default.nix b/pkgs/development/embedded/arduino/arduino-cli/default.nix
index 8fd4cf0a35a..dc463c9fc4d 100644
--- a/pkgs/development/embedded/arduino/arduino-cli/default.nix
+++ b/pkgs/development/embedded/arduino/arduino-cli/default.nix
@@ -4,18 +4,18 @@ let
 
   pkg = buildGoModule rec {
     pname = "arduino-cli";
-    version = "0.18.1";
+    version = "0.20.2";
 
     src = fetchFromGitHub {
       owner = "arduino";
       repo = pname;
       rev = version;
-      sha256 = "sha256-EtkONrP/uaetsdC47WsyQOE71Gsz0wKUiTiYThj8Kq8=";
+      sha256 = "sha256-q2uaJTfCcS/kv6xU5NjafzfcM3TixJlH5KzgEpLJKkQ=";
     };
 
     subPackages = [ "." ];
 
-    vendorSha256 = "sha256-kPIhG6lsH+0IrYfdlzdv/X/cUQb22Xza9Q6ywjKae/4=";
+    vendorSha256 = "sha256-VWoKHIRQfs4dbsOzV3AQpqWsCPDm/rVKGMsc4xZvbhU=";
 
     doCheck = false;
 
diff --git a/pkgs/development/embedded/gputils/default.nix b/pkgs/development/embedded/gputils/default.nix
index c07949e8096..69a901ea80f 100644
--- a/pkgs/development/embedded/gputils/default.nix
+++ b/pkgs/development/embedded/gputils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gputils";
-  version = "1.5.0-1";
+  version = "1.5.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/gputils/${pname}-${version}.tar.bz2";
-    sha256 = "055v83fdgqljprapf7rmh8x66mr13fj0qypj49xba5spx0ca123g";
+    sha256 = "sha256-j7iCCzHXwffHdhQcyzxPBvQK+RXaY3QSjXUtHu463fI=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/embedded/stm32/stm32cubemx/default.nix b/pkgs/development/embedded/stm32/stm32cubemx/default.nix
index 9652a95ee27..7c0b1802bac 100644
--- a/pkgs/development/embedded/stm32/stm32cubemx/default.nix
+++ b/pkgs/development/embedded/stm32/stm32cubemx/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
       name = "stm32CubeMX";
       exec = "stm32cubemx";
       desktopName = "STM32CubeMX";
-      categories = "Development;";
+      categories = [ "Development" ];
       comment = "STM32Cube initialization code generator";
       icon = "stm32cubemx";
     })
diff --git a/pkgs/development/embedded/tytools/default.nix b/pkgs/development/embedded/tytools/default.nix
index 027cfde2669..23bab058c59 100644
--- a/pkgs/development/embedded/tytools/default.nix
+++ b/pkgs/development/embedded/tytools/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tytools";
-  version = "0.9.3";
+  version = "0.9.7";
 
   src = fetchFromGitHub {
     owner = "Koromix";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ax6j17f5nm0q4sp8sg1412hd48qp7whdy7dd699kwjcm763bl5j";
+    sha256 = "sha256-iF2XyWSBBCO23iY/ni+QlpgtOuWKN2JTMTz+9OLEadk=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapQtAppsHook ];
diff --git a/pkgs/development/guile-modules/guile-json/default.nix b/pkgs/development/guile-modules/guile-json/default.nix
index 5433bbb1aa6..1ca6c21c97c 100644
--- a/pkgs/development/guile-modules/guile-json/default.nix
+++ b/pkgs/development/guile-modules/guile-json/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "guile-json";
-  version = "4.5.2";
+  version = "4.7.0";
 
   src = fetchurl {
     url = "mirror://savannah/guile-json/${pname}-${version}.tar.gz";
-    sha256 = "GrBG7DaxxEwEGsJ1Vo2Bh4TXH6uaXZX5Eoz+iiUFGTM=";
+    sha256 = "sha256-q70TV3qUUULrkZrpDGosqFZ4STO/9VgQ7l+LM7NBU5c=";
   };
 
   postConfigure = ''
diff --git a/pkgs/development/guile-modules/guile-ssh/default.nix b/pkgs/development/guile-modules/guile-ssh/default.nix
index b7e742384df..79a1a7d9b8d 100644
--- a/pkgs/development/guile-modules/guile-ssh/default.nix
+++ b/pkgs/development/guile-modules/guile-ssh/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "guile-ssh";
-  version = "0.13.1";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "artyom-poptsov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "LzTR1QuK3mle0Q6a4YRn9ZTkcs1sygYKoezxI9+e/fY=";
+    sha256 = "sha256-dcG3Q1K1/CxrMeEUWSZ3Qu57Aesalydg4UjkIqg1NJ0=";
   };
 
   configureFlags = [ "--with-guilesitedir=\${out}/share/guile/site" ];
diff --git a/pkgs/development/haskell-modules/configuration-common.nix b/pkgs/development/haskell-modules/configuration-common.nix
index e99d653d832..b95f53758fd 100644
--- a/pkgs/development/haskell-modules/configuration-common.nix
+++ b/pkgs/development/haskell-modules/configuration-common.nix
@@ -63,6 +63,12 @@ self: super: {
   # works fine there.
   fakedata = dontCheck super.fakedata;
 
+  # The latest release on hackage has an upper bound on containers which
+  # breaks the build, though it works with the version of containers present
+  # and the upper bound doesn't exist in code anymore:
+  # > https://github.com/roelvandijk/numerals
+  numerals = doJailbreak (dontCheck super.numerals);
+
   # This test keeps being aborted because it runs too quietly for too long
   Lazy-Pbkdf2 = if pkgs.stdenv.isi686 then dontCheck super.Lazy-Pbkdf2 else super.Lazy-Pbkdf2;
 
@@ -86,6 +92,12 @@ self: super: {
         rm -r $out/doc/?ndroid*
       '';
     };
+
+    # Git annex provides a restricted login shell. Setting
+    # passthru.shellPath here allows a user's login shell to be set to
+    # `git-annex-shell` by making `shell = haskellPackages.git-annex`.
+    # https://git-annex.branchable.com/git-annex-shell/
+    passthru.shellPath = "/bin/git-annex-shell";
   }) super.git-annex;
 
   # Fix test trying to access /home directory
@@ -307,7 +319,6 @@ self: super: {
   network-dbus = dontCheck super.network-dbus;
   notcpp = dontCheck super.notcpp;
   ntp-control = dontCheck super.ntp-control;
-  numerals = dontCheck super.numerals;
   odpic-raw = dontCheck super.odpic-raw; # needs a running oracle database server
   opaleye = dontCheck super.opaleye;
   openpgp = dontCheck super.openpgp;
@@ -1263,13 +1274,6 @@ self: super: {
   # Tests disabled and broken override needed because of missing lib chrome-test-utils: https://github.com/reflex-frp/reflex-dom/issues/392
   reflex-dom-core = doDistribute (unmarkBroken (dontCheck (doJailbreak super.reflex-dom-core)));
 
-  # add unreleased commit fixing version constraint as a patch
-  # Can be removed if https://github.com/lpeterse/haskell-utc/issues/8 is resolved
-  utc = appendPatch (pkgs.fetchpatch {
-    url = "https://github.com/lpeterse/haskell-utc/commit/e4502c08591e80d411129bb7c0414539f6302aaf.diff";
-    sha256 = "0v6kv1d4syjzgzc2s7a76c6k4vminlcq62n7jg3nn9xd00gwmmv7";
-  }) super.utc;
-
   # Tests disabled because they assume to run in the whole jsaddle repo and not the hackage tarbal of jsaddle-warp.
   jsaddle-warp = dontCheck super.jsaddle-warp;
 
@@ -1454,10 +1458,6 @@ self: super: {
   # https://github.com/haskell/haskell-language-server/issues/2375
   hls-pragmas-plugin = dontCheck super.hls-pragmas-plugin;
 
-  # 2021-11-23: Too strict bounds on ghcide, pending new release
-  hls-rename-plugin = assert super.hls-rename-plugin.version == "1.0.0.0";
-    doJailbreak super.hls-rename-plugin;
-
   # 2021-03-21: Test hangs
   # https://github.com/haskell/haskell-language-server/issues/1562
   # 2021-11-13: Too strict upper bound on implicit-hie-cradle
diff --git a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
index c628fe95f7c..30a12b35e5b 100644
--- a/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
+++ b/pkgs/development/haskell-modules/configuration-ghc-9.0.x.nix
@@ -87,10 +87,6 @@ self: super: {
   generic-lens_2_2_1_0 = dontCheck super.generic-lens_2_2_1_0;
 
   # Apply patches from head.hackage.
-  alex = appendPatch (pkgs.fetchpatch {
-    url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/fe192e12b88b09499d4aff0e562713e820544bd6/patches/alex-3.2.6.patch";
-    sha256 = "1rzs764a0nhx002v4fadbys98s6qblw4kx4g46galzjf5f7n2dn4";
-  }) (dontCheck super.alex);
   doctest = dontCheck (doJailbreak super.doctest_0_18_2);
   language-haskell-extract = appendPatch (pkgs.fetchpatch {
     url = "https://gitlab.haskell.org/ghc/head.hackage/-/raw/master/patches/language-haskell-extract-0.2.4.patch";
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
index c1c584e05eb..6d217a6d138 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/broken.yaml
@@ -414,6 +414,7 @@ broken-packages:
   - bkr
   - blakesum
   - blas
+  - blatex
   - blaze-html-contrib
   - blaze-html-hexpat
   - blaze-html-truncate
@@ -986,7 +987,6 @@ broken-packages:
   - data-validation
   - data-variant
   - DataVersion
-  - dates
   - datetime
   - datetime-sb
   - dawdle
@@ -1005,6 +1005,7 @@ broken-packages:
   - dclabel
   - dclabel-eci11
   - dcpu16
+  - ddate
   - ddc-base
   - ddc-code
   - dead-code-detection
@@ -1088,6 +1089,7 @@ broken-packages:
   - DigitalOcean
   - digitalocean-kzs
   - digits
+  - dijkstra-simple
   - DimensionalHash
   - dimensional-tf
   - diophantine
@@ -1119,6 +1121,7 @@ broken-packages:
   - dmcc
   - dmenu
   - dnscache
+  - dns-patterns
   - dnsrbl
   - dnssd
   - dobutok
@@ -2222,7 +2225,6 @@ broken-packages:
   - hlongurl
   - hlrdb-core
   - hls-exactprint-utils
-  - hls-rename-plugin
   - hlwm
   - hmarkup
   - hmatrix-banded
@@ -2250,6 +2252,7 @@ broken-packages:
   - hobbes
   - hocilib
   - hocker
+  - hocon
   - hodatime
   - HODE
   - hoe
@@ -2748,6 +2751,7 @@ broken-packages:
   - kmp-dfa
   - koellner-phonetic
   - koji-install
+  - koneko
   - Konf
   - kontra-config
   - kparams
@@ -3314,6 +3318,7 @@ broken-packages:
   - nanomsg
   - nanomsg-haskell
   - nanoparsec
+  - nanopass
   - NanoProlog
   - nanovg-simple
   - nanq
@@ -3437,7 +3442,6 @@ broken-packages:
   - numbered-semigroups
   - NumberSieves
   - NumberTheory
-  - numerals
   - numerals-base
   - numeric-qq
   - numeric-ranges
@@ -3912,6 +3916,7 @@ broken-packages:
   - prints
   - PriorityChansConverger
   - priority-queue
+  - pro-abstract
   - probable
   - process-conduit
   - processing
@@ -4816,6 +4821,7 @@ broken-packages:
   - SybWidget
   - syb-with-class-instances-text
   - sydtest-aeson
+  - sydtest-hedgehog
   - sydtest-hedis
   - sydtest-hspec
   - sydtest-mongo
@@ -5040,6 +5046,7 @@ broken-packages:
   - tkyprof
   - tmp-proc-example
   - todo
+  - todos
   - tofromxml
   - to-haskell
   - toilet
@@ -5245,6 +5252,7 @@ broken-packages:
   - urxml
   - users-mysql-haskell
   - users-persistent
+  - utc
   - utf
   - utf8-prelude
   - utf8-validator
@@ -5296,6 +5304,7 @@ broken-packages:
   - vector-space-points
   - vector-static
   - Vec-Transform
+  - velma
   - Verba
   - verbalexpressions
   - verdict
@@ -5430,6 +5439,7 @@ broken-packages:
   - windowslive
   - winerror
   - Wired
+  - wireguard-hs
   - wires
   - wiring
   - witty
@@ -5553,6 +5563,7 @@ broken-packages:
   - yeshql-postgresql-simple
   - yesod-angular
   - yesod-angular-ui
+  - yesod-articles
   - yesod-auth-account
   - yesod-auth-account-fork
   - yesod-auth-bcrypt
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
index 56a6cb41cba..2ecfb76784d 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/main.yaml
@@ -134,6 +134,8 @@ default-package-overrides:
   # On the recommendation of hnix author:
   # https://github.com/NixOS/nixpkgs/pull/154461#issuecomment-1015511883
   - hnix < 0.15
+  # needs http-client >= 0.7.11 which isn't part of Stackage LTS 18
+  - http-client-restricted < 0.0.5
 
 extra-packages:
   - base16-bytestring < 1               # required for cabal-install etc.
@@ -168,6 +170,7 @@ extra-packages:
   - path == 0.9.0                       # 2021-12-03: path version building with stackage genvalidity and GHC 9.0.2
   - ormolu == 0.3.*                     # 2021-12-03: for HLS with GHC 9.0.2
   - fourmolu == 0.4.*                   # 2022-02-05: for HLS with GHC 9.0.2
+  - ghc-exactprint == 1.4.*             # 2022-02-07: preserve for now, 1.5.0 has a breaking change without type changes
 
 package-maintainers:
   abbradar:
@@ -602,7 +605,6 @@ dont-distribute-packages:
   - dialog
   - ghcjs-dom-webkit
   - gi-webkit
-  - hs-mesos
   - hsqml
   - hsqml-datamodel
   - hsqml-demo-manic
@@ -625,3 +627,6 @@ dont-distribute-packages:
 
   # glade relies on system libglade which is deprecated
   - glade
+
+  # mesos was removed from nixpkgs
+  - hs-mesos
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
index 7bb891786b6..77be3013a48 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/stackage.yaml
@@ -1,4 +1,4 @@
-# Stackage LTS 18.23
+# Stackage LTS 18.25
 # This file is auto-generated by
 # maintainers/scripts/haskell/update-stackage.sh
 default-package-overrides:
@@ -38,7 +38,7 @@ default-package-overrides:
   - al ==0.1.4.2
   - alarmclock ==0.7.0.5
   - alerts ==0.1.2.0
-  - alex ==3.2.6
+  - alex ==3.2.7.1
   - alex-meta ==0.3.0.13
   - alg ==0.2.13.1
   - algebraic-graphs ==0.5
@@ -139,7 +139,7 @@ default-package-overrides:
   - amazonka-waf ==1.6.1
   - amazonka-workspaces ==1.6.1
   - amazonka-xray ==1.6.1
-  - amqp ==0.22.0
+  - amqp ==0.22.1
   - amqp-utils ==0.6.3.2
   - annotated-wl-pprint ==0.7.0
   - ansi-terminal ==0.11.1
@@ -192,10 +192,10 @@ default-package-overrides:
   - attoparsec-expr ==0.1.1.2
   - attoparsec-iso8601 ==1.0.2.0
   - attoparsec-path ==0.0.0.1
-  - audacity ==0.0.2
+  - audacity ==0.0.2.1
   - aur ==7.0.7
   - aura ==3.2.5
-  - authenticate ==1.3.5
+  - authenticate ==1.3.5.1
   - authenticate-oauth ==1.6.0.1
   - autoexporter ==1.1.20
   - auto-update ==0.1.6
@@ -398,16 +398,16 @@ default-package-overrides:
   - circle-packing ==0.1.0.6
   - circular ==0.4.0.1
   - citeproc ==0.4.0.1
-  - clash-ghc ==1.4.6
-  - clash-lib ==1.4.6
-  - clash-prelude ==1.4.6
+  - clash-ghc ==1.4.7
+  - clash-lib ==1.4.7
+  - clash-prelude ==1.4.7
   - classy-prelude ==1.5.0.2
   - classy-prelude-conduit ==1.5.0
   - clay ==0.13.3
   - clientsession ==0.9.1.2
   - climb ==0.3.3
   - Clipboard ==2.3.2.0
-  - clock ==0.8.2
+  - clock ==0.8.3
   - closed ==0.2.0.1
   - clumpiness ==0.17.0.2
   - ClustalParser ==1.3.0
@@ -444,7 +444,7 @@ default-package-overrides:
   - concise ==0.1.0.1
   - concurrency ==1.11.0.2
   - concurrent-extra ==0.7.0.12
-  - concurrent-output ==1.10.14
+  - concurrent-output ==1.10.15
   - concurrent-split ==0.0.1.1
   - concurrent-supply ==0.1.8
   - cond ==0.4.1.1
@@ -468,7 +468,7 @@ default-package-overrides:
   - connection-pool ==0.2.2
   - console-style ==0.0.2.1
   - constraint ==0.1.4.0
-  - constraints ==0.13.2
+  - constraints ==0.13.3
   - constraints-extras ==0.3.2.1
   - constraint-tuples ==0.1.2
   - construct ==0.3.0.2
@@ -493,7 +493,7 @@ default-package-overrides:
   - crackNum ==3.1
   - crc32c ==0.0.0
   - credential-store ==0.1.2
-  - criterion ==1.5.12.0
+  - criterion ==1.5.13.0
   - criterion-measurement ==0.1.3.0
   - cron ==0.7.0
   - crypto-api ==0.13.3
@@ -591,7 +591,7 @@ default-package-overrides:
   - depq ==0.4.2
   - deque ==0.4.4
   - deriveJsonNoPrefix ==0.1.0.1
-  - derive-topdown ==0.0.2.2
+  - derive-topdown ==0.0.3.0
   - deriving-aeson ==0.2.8
   - deriving-compat ==0.5.10
   - derulo ==1.0.10
@@ -615,7 +615,7 @@ default-package-overrides:
   - discount ==0.1.1
   - disk-free-space ==0.1.0.1
   - distributed-closure ==0.4.2.0
-  - distribution-opensuse ==1.1.1
+  - distribution-opensuse ==1.1.3
   - distributive ==0.6.2.1
   - dlist ==1.0
   - dlist-instances ==0.1.1.1
@@ -769,7 +769,7 @@ default-package-overrides:
   - filtrable ==0.1.4.0
   - fin ==0.2
   - FindBin ==0.0.5
-  - fingertree ==0.1.4.2
+  - fingertree ==0.1.5.0
   - finite-typelits ==0.1.4.2
   - first-class-families ==0.8.0.1
   - first-class-patterns ==0.3.2.5
@@ -899,7 +899,7 @@ default-package-overrides:
   - ghc-parser ==0.2.3.0
   - ghc-paths ==0.1.0.12
   - ghc-prof ==1.4.1.9
-  - ghc-source-gen ==0.4.2.0
+  - ghc-source-gen ==0.4.3.0
   - ghc-syntax-highlighter ==0.0.6.0
   - ghc-tcplugins-extra ==0.4.2
   - ghc-trace-events ==0.1.2.4
@@ -999,20 +999,20 @@ default-package-overrides:
   - haskell-lsp-types ==0.24.0.0
   - haskell-names ==0.9.9
   - HaskellNet ==0.6
-  - haskell-src ==1.0.3.1
+  - haskell-src ==1.0.4
   - haskell-src-exts ==1.23.1
   - haskell-src-exts-util ==0.2.5
-  - haskell-src-meta ==0.8.8
+  - haskell-src-meta ==0.8.9
   - haskey-btree ==0.3.0.1
   - hasktags ==0.72.0
   - hasql ==1.4.5.3
   - hasql-notifications ==0.2.0.0
-  - hasql-optparse-applicative ==0.3.0.7
+  - hasql-optparse-applicative ==0.3.0.8
   - hasql-pool ==0.5.2.2
   - hasql-queue ==1.2.0.2
   - hasql-transaction ==1.0.1.1
   - hasty-hamiltonian ==1.3.4
-  - HaTeX ==3.22.3.0
+  - HaTeX ==3.22.3.1
   - HaXml ==1.25.8
   - haxr ==3000.11.4.1
   - HCodecs ==0.5.2
@@ -1025,7 +1025,7 @@ default-package-overrides:
   - hebrew-time ==0.1.2
   - hedgehog ==1.0.5
   - hedgehog-corpus ==0.2.0
-  - hedgehog-fakedata ==0.0.1.4
+  - hedgehog-fakedata ==0.0.1.5
   - hedgehog-fn ==1.0
   - hedgehog-quickcheck ==0.1.1
   - hedis ==0.14.4
@@ -1072,7 +1072,7 @@ default-package-overrides:
   - hmm-lapack ==0.4
   - hmpfr ==0.4.4
   - hnock ==0.4.0
-  - hoauth2 ==1.16.1
+  - hoauth2 ==1.16.2
   - hoogle ==5.0.18.3
   - hOpenPGP ==2.9.7
   - hopenpgp-tools ==0.23.6
@@ -1168,13 +1168,13 @@ default-package-overrides:
   - http-media ==0.8.0.0
   - http-query ==0.1.1
   - http-reverse-proxy ==0.6.0
-  - http-streams ==0.8.9.4
+  - http-streams ==0.8.9.6
   - http-types ==0.12.3
   - human-readable-duration ==0.2.1.4
   - HUnit ==1.6.2.0
   - HUnit-approx ==1.1.1.1
   - hunit-dejafu ==2.0.0.5
-  - hvect ==0.4.0.0
+  - hvect ==0.4.0.1
   - hvega ==0.11.0.1
   - hw-balancedparens ==0.4.1.1
   - hw-bits ==0.7.2.1
@@ -1296,7 +1296,7 @@ default-package-overrides:
   - java-adt ==0.2018.11.4
   - jira-wiki-markup ==1.4.0
   - jose ==0.8.4
-  - jose-jwt ==0.9.2
+  - jose-jwt ==0.9.3
   - js-chart ==2.9.4.1
   - js-dgtable ==0.5.2
   - js-flot ==0.8.3
@@ -1325,8 +1325,8 @@ default-package-overrides:
   - keycode ==0.2.2
   - keys ==3.12.3
   - ki ==0.2.0.1
-  - kind-apply ==0.3.2.0
-  - kind-generics ==0.4.1.2
+  - kind-apply ==0.3.2.1
+  - kind-generics ==0.4.1.4
   - kind-generics-th ==0.2.2.2
   - kmeans ==0.1.3
   - koji ==0.0.2
@@ -1353,7 +1353,7 @@ default-package-overrides:
   - lapack-carray ==0.0.3
   - lapack-comfort-array ==0.0.1
   - lapack-ffi ==0.0.3
-  - lapack-ffi-tools ==0.1.2.1
+  - lapack-ffi-tools ==0.1.3
   - largeword ==1.2.5
   - latex ==0.1.0.4
   - lattices ==2.0.2
@@ -1474,7 +1474,7 @@ default-package-overrides:
   - mcmc-types ==1.0.3
   - medea ==1.2.0
   - median-stream ==0.7.0.0
-  - med-module ==0.1.2.1
+  - med-module ==0.1.2.2
   - megaparsec ==9.0.1
   - megaparsec-tests ==9.0.1
   - membrain ==0.0.0.2
@@ -1516,8 +1516,6 @@ default-package-overrides:
   - mltool ==0.2.0.1
   - mmap ==0.5.9
   - mmark ==0.0.7.2
-  - mmark-cli ==0.0.5.0
-  - mmark-ext ==0.2.1.3
   - mmorph ==1.1.5
   - mnist-idx ==0.1.2.8
   - mnist-idx-conduit ==0.4.0.0
@@ -1525,7 +1523,7 @@ default-package-overrides:
   - mock-time ==0.1.0
   - mod ==0.1.2.2
   - model ==0.5
-  - modern-uri ==0.3.4.2
+  - modern-uri ==0.3.4.3
   - modular ==0.1.0.8
   - monad-chronicle ==1.0.0.1
   - monad-control ==1.0.3.1
@@ -1558,7 +1556,7 @@ default-package-overrides:
   - monad-unlift ==0.2.0
   - monad-unlift-ref ==0.2.1
   - mongoDB ==2.7.1.1
-  - monoid-subclasses ==1.1.2
+  - monoid-subclasses ==1.1.3
   - monoid-transformer ==0.0.4
   - mono-traversable ==1.0.15.3
   - mono-traversable-instances ==0.1.1.0
@@ -1581,7 +1579,7 @@ default-package-overrides:
   - multimap ==1.2.1
   - multipart ==0.2.1
   - multiset ==0.3.4.3
-  - multistate ==0.8.0.3
+  - multistate ==0.8.0.4
   - murmur3 ==1.0.5
   - murmur-hash ==0.1.0.10
   - MusicBrainz ==0.4.1
@@ -1619,7 +1617,7 @@ default-package-overrides:
   - network-bsd ==2.8.1.0
   - network-byte-order ==0.1.6
   - network-conduit-tls ==1.3.2
-  - network-info ==0.2.0.10
+  - network-info ==0.2.1
   - network-ip ==0.3.0.3
   - network-messagepack-rpc ==0.1.2.0
   - network-messagepack-rpc-websocket ==0.1.1.1
@@ -1648,9 +1646,9 @@ default-package-overrides:
   - no-value ==1.0.0.0
   - nowdoc ==0.1.1.0
   - nqe ==0.6.3
-  - nri-env-parser ==0.1.0.7
-  - nri-observability ==0.1.1.3
-  - nri-prelude ==0.6.0.5
+  - nri-env-parser ==0.1.0.8
+  - nri-observability ==0.1.1.4
+  - nri-prelude ==0.6.0.6
   - nsis ==0.3.3
   - numbers ==3000.2.0.2
   - numeric-extras ==0.1
@@ -1665,8 +1663,8 @@ default-package-overrides:
   - nvim-hs-ghcid ==2.0.0.0
   - oauthenticated ==0.2.1.0
   - ObjectName ==1.1.0.2
-  - o-clock ==1.2.1
-  - odbc ==0.2.5
+  - o-clock ==1.2.1.1
+  - odbc ==0.2.6
   - oeis2 ==1.0.6
   - ofx ==0.4.4.0
   - old-locale ==1.0.0.7
@@ -1763,15 +1761,15 @@ default-package-overrides:
   - persist ==0.1.1.5
   - persistable-record ==0.6.0.5
   - persistable-types-HDBC-pg ==0.0.3.5
-  - persistent ==2.13.2.2
+  - persistent ==2.13.3.0
   - persistent-mtl ==0.2.2.0
-  - persistent-mysql ==2.13.0.2
+  - persistent-mysql ==2.13.1.0
   - persistent-pagination ==0.1.1.2
-  - persistent-postgresql ==2.13.2.2
+  - persistent-postgresql ==2.13.4.0
   - persistent-qq ==2.12.0.2
-  - persistent-sqlite ==2.13.0.4
+  - persistent-sqlite ==2.13.1.0
   - persistent-template ==2.12.0.0
-  - persistent-test ==2.13.0.4
+  - persistent-test ==2.13.1.0
   - persistent-typed-db ==0.1.0.5
   - pg-harness-client ==0.6.0
   - pgp-wordlist ==0.1.0.3
@@ -1901,7 +1899,7 @@ default-package-overrides:
   - quickcheck-assertions ==0.3.0
   - quickcheck-classes ==0.6.5.0
   - quickcheck-classes-base ==0.6.2.0
-  - quickcheck-higherorder ==0.1.0.0
+  - quickcheck-higherorder ==0.1.0.1
   - quickcheck-instances ==0.3.25.2
   - quickcheck-io ==0.2.0
   - quickcheck-simple ==0.1.1.1
@@ -1948,10 +1946,10 @@ default-package-overrides:
   - readable ==0.3.1
   - read-editor ==0.1.0.2
   - read-env-var ==1.0.0.0
-  - reanimate ==1.1.4.0
+  - reanimate ==1.1.5.0
   - reanimate-svg ==0.13.0.1
   - rebase ==1.13.2
-  - record-dot-preprocessor ==0.2.13
+  - record-dot-preprocessor ==0.2.14
   - record-hasfield ==1.0
   - records-sop ==0.1.1.0
   - record-wrangler ==0.1.1.0
@@ -2092,10 +2090,10 @@ default-package-overrides:
   - serf ==0.1.1.0
   - serialise ==0.2.4.0
   - servant ==0.18.3
-  - servant-auth ==0.4.0.0
+  - servant-auth ==0.4.1.0
   - servant-auth-client ==0.4.1.0
   - servant-auth-docs ==0.2.10.0
-  - servant-auth-server ==0.4.6.0
+  - servant-auth-server ==0.4.7.0
   - servant-auth-swagger ==0.2.10.1
   - servant-auth-wordpress ==1.0.0.2
   - servant-blaze ==0.9.1
@@ -2117,7 +2115,7 @@ default-package-overrides:
   - servant-rawm ==1.0.0.0
   - servant-server ==0.18.3
   - servant-swagger ==1.1.10
-  - servant-swagger-ui ==0.3.5.3.52.5
+  - servant-swagger-ui ==0.3.5.4.5.0
   - servant-swagger-ui-core ==0.3.5
   - serverless-haskell ==0.12.6
   - serversession ==1.0.2
@@ -2254,14 +2252,14 @@ default-package-overrides:
   - streaming ==0.2.3.1
   - streaming-attoparsec ==1.0.0.1
   - streaming-bytestring ==0.2.1
-  - streaming-commons ==0.2.2.3
+  - streaming-commons ==0.2.2.4
   - streamly ==0.7.3
   - streams ==3.3
   - streamt ==0.5.0.0
   - strict ==0.4.0.1
   - strict-concurrency ==0.2.4.3
   - strict-list ==0.1.6
-  - strict-tuple ==0.1.4
+  - strict-tuple ==0.1.5
   - strict-tuple-lens ==0.1.0.1
   - stringbuilder ==0.5.1
   - string-class ==0.1.7.0
@@ -2270,7 +2268,7 @@ default-package-overrides:
   - string-conversions ==0.4.0.1
   - string-interpolate ==0.3.1.1
   - string-qq ==0.0.4
-  - string-random ==0.1.4.1
+  - string-random ==0.1.4.2
   - stringsearch ==0.3.6.6
   - string-transform ==1.1.1
   - stripe-concepts ==1.0.3.1
@@ -2468,7 +2466,7 @@ default-package-overrides:
   - tuples-homogenous-h98 ==0.1.1.0
   - tuple-sop ==0.3.1.0
   - tuple-th ==0.2.5
-  - turtle ==1.5.23
+  - turtle ==1.5.24
   - typecheck-plugin-nat-simple ==0.1.0.2
   - TypeCompose ==0.9.14
   - typed-process ==0.2.8.0
@@ -2490,7 +2488,7 @@ default-package-overrides:
   - type-operators ==0.2.0.0
   - typerep-map ==0.3.3.0
   - type-spec ==0.4.0.0
-  - tzdata ==0.2.20201021.0
+  - tzdata ==0.2.20211021.0
   - ua-parser ==0.7.6.0
   - uglymemo ==0.1.0.1
   - unagi-chan ==0.4.1.4
@@ -2529,7 +2527,7 @@ default-package-overrides:
   - unix-bytestring ==0.3.7.6
   - unix-compat ==0.5.4
   - unix-time ==0.4.7
-  - unliftio ==0.2.20
+  - unliftio ==0.2.21.0
   - unliftio-core ==0.2.0.1
   - unliftio-pool ==0.2.1.1
   - unliftio-streams ==0.1.1.1
@@ -2574,7 +2572,7 @@ default-package-overrides:
   - vector-buffer ==0.4.1
   - vector-builder ==0.3.8.3
   - vector-bytes-instances ==0.1.1
-  - vector-circular ==0.1.3
+  - vector-circular ==0.1.4
   - vector-instances ==3.4
   - vector-mmap ==0.0.3
   - vector-rotcev ==0.1.0.1
@@ -2615,7 +2613,7 @@ default-package-overrides:
   - wai-slack-middleware ==0.2.0
   - wai-websockets ==3.0.1.2
   - wakame ==0.1.0.0
-  - warp ==3.3.18
+  - warp ==3.3.19
   - warp-tls ==3.3.2
   - warp-tls-uid ==0.2.0.6
   - wave ==0.2.0
@@ -2692,11 +2690,11 @@ default-package-overrides:
   - xxhash-ffi ==0.2.0.0
   - yaml ==0.11.7.0
   - yamlparse-applicative ==0.2.0.1
-  - yesod ==1.6.1.2
-  - yesod-auth ==1.6.10.5
+  - yesod ==1.6.2
+  - yesod-auth ==1.6.11
   - yesod-auth-hashdb ==1.7.1.7
   - yesod-auth-oauth2 ==0.6.3.4
-  - yesod-bin ==1.6.1
+  - yesod-bin ==1.6.2
   - yesod-core ==1.6.21.0
   - yesod-fb ==0.6.1
   - yesod-form ==1.7.0
diff --git a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
index 7be9c09e485..fc5ece3e069 100644
--- a/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
+++ b/pkgs/development/haskell-modules/configuration-hackage2nix/transitive-broken.yaml
@@ -525,6 +525,9 @@ dont-distribute-packages:
  - base64-bytes
  - baserock-schema
  - batchd
+ - batchd-core
+ - batchd-docker
+ - batchd-libvirt
  - batching
  - battlenet-yesod
  - battleships
@@ -586,7 +589,6 @@ dont-distribute-packages:
  - bla
  - blakesum-demo
  - blastxml
- - blatex
  - blaze-builder-enumerator
  - blaze-colonnade
  - blink1
@@ -697,7 +699,6 @@ dont-distribute-packages:
  - chainweb-mining-client
  - chalkboard-viewer
  - charade
- - chart-cli
  - chart-svg
  - chart-svg-various
  - chart-unit
@@ -725,10 +726,12 @@ dont-distribute-packages:
  - claferwiki
  - clash
  - clash-ghc
- - clash-ghc_1_4_7
+ - clash-ghc_1_6_1
  - clash-lib
- - clash-lib_1_4_7
+ - clash-lib-hedgehog
+ - clash-lib_1_6_1
  - clash-multisignal
+ - clash-prelude-hedgehog
  - clash-prelude-quickcheck
  - clash-shake
  - clash-systemverilog
@@ -786,6 +789,7 @@ dont-distribute-packages:
  - comic
  - commsec-keyexchange
  - comonad-random
+ - compaREST
  - compact-mutable
  - complexity
  - computational-algebra
@@ -895,10 +899,8 @@ dont-distribute-packages:
  - data-structure-inferrer
  - datadog-tracing
  - dataflow
- - date-conversions
  - dbjava
  - dbus-client
- - ddate
  - ddc-build
  - ddc-core
  - ddc-core-babel
@@ -1194,7 +1196,7 @@ dont-distribute-packages:
  - funnyprint
  - funsat
  - fused-effects-squeal
- - futhark_0_21_5
+ - futhark_0_21_6
  - fwgl-glfw
  - fwgl-javascript
  - fxpak
@@ -1485,6 +1487,12 @@ dont-distribute-packages:
  - hasql-cursor-query
  - hasql-postgres
  - hasql-postgres-options
+ - hasql-streams-conduit
+ - hasql-streams-core
+ - hasql-streams-example
+ - hasql-streams-pipes
+ - hasql-streams-streaming
+ - hasql-streams-streamly
  - hasql-th
  - hastache-aeson
  - haste-app
@@ -2137,9 +2145,7 @@ dont-distribute-packages:
  - mkbndl
  - mlist
  - mmark-cli
- - mmark-cli_0_0_5_1
  - mmark-ext
- - mmark-ext_0_2_1_4
  - mmtl-base
  - moan
  - modify-fasta
@@ -2546,7 +2552,6 @@ dont-distribute-packages:
  - reactor
  - readpyc
  - reanimate
- - reanimate_1_1_5_0
  - record-aeson
  - record-gl
  - record-preprocessor
@@ -3030,7 +3035,6 @@ dont-distribute-packages:
  - tn
  - to-string-instances
  - toboggan
- - todos
  - toktok
  - too-many-cells
  - top
@@ -3296,7 +3300,6 @@ dont-distribute-packages:
  - ycextra
  - yeamer
  - yeshql
- - yesod-articles
  - yesod-auth-ldap
  - yesod-colonnade
  - yesod-continuations
diff --git a/pkgs/development/haskell-modules/configuration-nix.nix b/pkgs/development/haskell-modules/configuration-nix.nix
index 7e51968fa45..032b2577c51 100644
--- a/pkgs/development/haskell-modules/configuration-nix.nix
+++ b/pkgs/development/haskell-modules/configuration-nix.nix
@@ -595,11 +595,6 @@ self: super: builtins.intersectAttrs super {
         sha256 = "1hjdprm990vyxz86fgq14ajn0lkams7i00h8k2i2g1a0hjdwppq6";
       };
 
-      spagoWithOverrides = super.spago.override {
-        # spago has not yet been updated for the latest dhall.
-        dhall = self.dhall_1_38_1;
-      };
-
       spagoDocs = overrideCabal (drv: {
         postUnpack = (drv.postUnpack or "") + ''
           # Spago includes the following two files directly into the binary
@@ -625,7 +620,7 @@ self: super: builtins.intersectAttrs super {
             "$sourceRoot/templates/docs-search-app-0.0.11.js" \
             "$sourceRoot/templates/purescript-docs-search-0.0.11"
         '';
-      }) spagoWithOverrides;
+      }) super.spago;
 
       # Tests require network access.
       spagoWithoutChecks = dontCheck spagoDocs;
@@ -711,6 +706,10 @@ self: super: builtins.intersectAttrs super {
   } super.nix-output-monitor;
 
   haskell-language-server = overrideCabal (drv: {
+    # starting with 1.6.1.1 haskell-language-server wants to be linked dynamically
+    # by default. Unless we reflect this in the generic builder, GHC is going to
+    # produce some illegal references to /build/.
+    enableSharedExecutables = true;
     postInstall = "ln -s $out/bin/haskell-language-server $out/bin/haskell-language-server-${self.ghc.version}";
     testToolDepends = [ self.cabal-install pkgs.git ];
     testTarget = "func-test"; # wrapper test accesses internet
@@ -735,12 +734,9 @@ self: super: builtins.intersectAttrs super {
 
   # based on https://github.com/gibiansky/IHaskell/blob/aafeabef786154d81ab7d9d1882bbcd06fc8c6c4/release.nix
   ihaskell = overrideCabal (drv: {
-    configureFlags = (drv.configureFlags or []) ++ [
-      # ihaskell's cabal file forces building a shared executable,
-      # but without passing --enable-executable-dynamic, the RPATH
-      # contains /build/ and leads to a build failure with nix
-      "--enable-executable-dynamic"
-    ];
+    # ihaskell's cabal file forces building a shared executable, which we need
+    # to reflect here or RPATH will contain a reference to /build/.
+    enableSharedExecutables = true;
     preCheck = ''
       export HOME=$TMPDIR/home
       export PATH=$PWD/dist/build/ihaskell:$PATH
diff --git a/pkgs/development/haskell-modules/hackage-packages.nix b/pkgs/development/haskell-modules/hackage-packages.nix
index 811e94c7729..f6db635805b 100644
--- a/pkgs/development/haskell-modules/hackage-packages.nix
+++ b/pkgs/development/haskell-modules/hackage-packages.nix
@@ -811,8 +811,8 @@ self: {
        pname = "Agda";
        version = "2.6.2.1";
        sha256 = "03dw7jfqr3ffik6avigm525djqh2gn5c3qwnb2h6298zkr9lch9w";
-       revision = "2";
-       editedCabalFile = "1n037ql18gayqmdiaf592c4iw9cmwyjz12vvj6wbxrbcwylhc6ji";
+       revision = "4";
+       editedCabalFile = "0spsj8nk28lfvsv6063d1nif5hag8yal47iwicm7yln0626xsxcd";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -9747,8 +9747,8 @@ self: {
      }:
      mkDerivation {
        pname = "HaTeX";
-       version = "3.22.3.0";
-       sha256 = "0v9vgql7a9rpkwlrgw8nsy9m2rv3l2gczngc7a1xkndxi214m4kl";
+       version = "3.22.3.1";
+       sha256 = "0vgyixd8j3nzpy8s04cy3q7gj2gfblba2z0ppr58rdm8qgj16j5c";
        libraryHaskellDepends = [
          base bibtex bytestring containers hashable matrix parsec
          prettyprinter QuickCheck text transformers
@@ -11806,8 +11806,8 @@ self: {
        pname = "JuicyPixels-blurhash";
        version = "0.1.0.3";
        sha256 = "0kgl2j7990p8q5yrkn0wgaszc9fzva1pc3277j11k1lbjsymz360";
-       revision = "6";
-       editedCabalFile = "13zdfmj6p6awpy74h09czpcjs0y642aawqb7y87vsz6pfm6zqwjz";
+       revision = "8";
+       editedCabalFile = "09mlq9874j1lc33mk9f7qx6nwyz58hywnb8r4l1nkmnnbnc56alj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -13643,25 +13643,22 @@ self: {
      }) {};
 
   "MissingH" = callPackage
-    ({ mkDerivation, array, base, containers, directory
-     , errorcall-eq-instance, filepath, hslogger, HUnit, mtl, network
-     , network-bsd, old-locale, old-time, parsec, process, random
-     , regex-compat, time, unix
+    ({ mkDerivation, array, base, containers, directory, filepath
+     , hslogger, HUnit, mtl, network, network-bsd, old-locale, old-time
+     , parsec, process, regex-compat, time, unix
      }:
      mkDerivation {
        pname = "MissingH";
-       version = "1.4.3.0";
-       sha256 = "196cniya5wzcv2d777nr0f7hinclpals4ia1mkzzv35870pqr6lw";
-       revision = "2";
-       editedCabalFile = "0p5md995w0nh2m89v3jsb1bvhfkrnp2s14smjbnh3g0pbq3fgfzg";
+       version = "1.5.0.0";
+       sha256 = "100x3315lk0zs58cv951jxcy6cgip18cq25r8f2bsgwbvv6gh2by";
        libraryHaskellDepends = [
          array base containers directory filepath hslogger mtl network
-         network-bsd old-locale old-time parsec process random regex-compat
-         time unix
+         network-bsd old-locale old-time parsec process regex-compat time
+         unix
        ];
        testHaskellDepends = [
-         base containers directory errorcall-eq-instance filepath HUnit
-         old-time parsec regex-compat time unix
+         base containers directory filepath HUnit old-time parsec
+         regex-compat time unix
        ];
        description = "Large utility library";
        license = lib.licenses.bsd3;
@@ -14335,8 +14332,8 @@ self: {
      }:
      mkDerivation {
        pname = "NanoID";
-       version = "3.1.1";
-       sha256 = "10zjp9675nxa7nx7qhr5cxw43fy06s5ggb39idlr87b90vm8wkw8";
+       version = "3.2.0";
+       sha256 = "16h4mhr16b2fkf37vpsalnzjmg06sghb86gh1n1w3z64dvad0849";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -17774,8 +17771,8 @@ self: {
      }:
      mkDerivation {
        pname = "SJW";
-       version = "0.1.2.3";
-       sha256 = "10ky2pd83wng5bgpqimdyxvhlfpwbssgh576ss28f1rzm6b8wqcm";
+       version = "0.1.2.4";
+       sha256 = "1flr9dp3v4cyn8fs6sybibbim5spzab7kxi6rxpczjcwmnn1cv78";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -21025,8 +21022,8 @@ self: {
     ({ mkDerivation, base, bytestring, transformers, vector, vulkan }:
      mkDerivation {
        pname = "VulkanMemoryAllocator";
-       version = "0.8";
-       sha256 = "1cxgf1ly0hqlyn01jd7ipdvvw1mm5r4ifc7694a3dr2wv2pnq5c0";
+       version = "0.9";
+       sha256 = "1avq9njgqbvmqn5277q66bqq01jj6syyrnw82qy4477r5yln2wh2";
        libraryHaskellDepends = [
          base bytestring transformers vector vulkan
        ];
@@ -23340,6 +23337,8 @@ self: {
        pname = "acid-state";
        version = "0.16.0.1";
        sha256 = "0n8qp002w972lf7z9hhn5bbz2rslh8m6am07c88y755nj5xk6y88";
+       revision = "1";
+       editedCabalFile = "0jz3826gx6chsa2bipzdpqvl2risp3bm6g4nrr79wb403qrqwbf4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -24182,8 +24181,8 @@ self: {
        pname = "acts";
        version = "0.3.1.0";
        sha256 = "06bpayfa8vwj8dqlqp71nw2s9iwbffdknkk4hpazd4r1wvhnrg37";
-       revision = "3";
-       editedCabalFile = "01vjb8mp9ifbfknnibzc1yhimn5yli2vafpxs6adk0cdjna99g4w";
+       revision = "4";
+       editedCabalFile = "081arnkkll6xkni350ywsnwzagnki2ly5in42cx5zcpfp1xbssmk";
        libraryHaskellDepends = [
          base deepseq finitary finite-typelits groups
        ];
@@ -25513,20 +25512,15 @@ self: {
      }) {};
 
   "aeson-tiled" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, containers, hspec, text
-     , vector
+    ({ mkDerivation, aeson, base, bytestring, containers, text, vector
      }:
      mkDerivation {
        pname = "aeson-tiled";
-       version = "0.0.0.1";
-       sha256 = "147rm19czz8bvzmjj4mmcvjyz02mr3cisyprzdfpx1q5msi7aghk";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.0.1.0";
+       sha256 = "1szlwkww2sbqrz6d8mbq20nzkba70a41if33bcka0vhfq5lrp224";
        libraryHaskellDepends = [
          aeson base bytestring containers text vector
        ];
-       executableHaskellDepends = [ base ];
-       testHaskellDepends = [ aeson base hspec ];
        description = "Aeson instances for the Tiled map editor";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -26431,23 +26425,6 @@ self: {
      }:
      mkDerivation {
        pname = "alex";
-       version = "3.2.6";
-       sha256 = "042lrkn0dbpjn5ivj6j26jzb1fwrj8c1aj18ykxja89isg0hiali";
-       isLibrary = false;
-       isExecutable = true;
-       enableSeparateDataOutput = true;
-       executableHaskellDepends = [ array base containers directory ];
-       executableToolDepends = [ happy ];
-       testHaskellDepends = [ base process ];
-       description = "Alex is a tool for generating lexical analysers in Haskell";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "alex_3_2_7_1" = callPackage
-    ({ mkDerivation, array, base, containers, directory, happy, process
-     }:
-     mkDerivation {
-       pname = "alex";
        version = "3.2.7.1";
        sha256 = "1v0vm1l4xvybzwj1p6j5j58yiw5nhbnx7yxjnpyjy6wggsig3llv";
        isLibrary = false;
@@ -26458,7 +26435,6 @@ self: {
        testHaskellDepends = [ base process ];
        description = "Alex is a tool for generating lexical analysers in Haskell";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "alex-meta" = callPackage
@@ -26978,6 +26954,8 @@ self: {
        pname = "align-audio";
        version = "0.0";
        sha256 = "0sa7q5fzkc0z4vzibs5l21pvrkil0swdpbl27qn30vb6giy3yh7a";
+       revision = "1";
+       editedCabalFile = "1599vbnfalrnq0zgwmh47k62y9yq30agpjyyfwdzxzszhc0vfq6n";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -30098,33 +30076,6 @@ self: {
      }:
      mkDerivation {
        pname = "amqp";
-       version = "0.22.0";
-       sha256 = "1yr81pwmjnap5bir9nrmpwakg4rz4fwcjzbkdr8azqbp9x0hr9k2";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base binary bytestring clock connection containers
-         data-binary-ieee754 monad-control network network-uri split stm
-         text vector
-       ];
-       executableHaskellDepends = [ base containers xml ];
-       testHaskellDepends = [
-         base binary bytestring clock connection containers
-         data-binary-ieee754 hspec hspec-expectations network network-uri
-         split stm text vector
-       ];
-       description = "Client library for AMQP servers (currently only RabbitMQ)";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "amqp_0_22_1" = callPackage
-    ({ mkDerivation, base, binary, bytestring, clock, connection
-     , containers, data-binary-ieee754, hspec, hspec-expectations
-     , monad-control, network, network-uri, split, stm, text, vector
-     , xml
-     }:
-     mkDerivation {
-       pname = "amqp";
        version = "0.22.1";
        sha256 = "0z1w35ar0bswbjzgana52nh4ilxbidnfkvli29w2zr7cak9dgzg1";
        isLibrary = true;
@@ -30142,7 +30093,6 @@ self: {
        ];
        description = "Client library for AMQP servers (currently only RabbitMQ)";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "amqp-conduit" = callPackage
@@ -32806,8 +32756,8 @@ self: {
      }:
      mkDerivation {
        pname = "arch-hs";
-       version = "0.9.1.0";
-       sha256 = "0k9xi2k4ifrnnh6p80pf1xhf45cbhrs1zdwy0ayp08p0ajdlh74b";
+       version = "0.10.0.0";
+       sha256 = "1qpd1a5jv4g4chbc5rqbf067zgcxb222qx7gpj37i83sp2rys68m";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -33028,8 +32978,8 @@ self: {
      }:
      mkDerivation {
        pname = "arduino-copilot";
-       version = "1.5.6";
-       sha256 = "06aqavds6lh4iazrlz62dhdxim0q8xqdgafj7y3f8nnmv8w37g41";
+       version = "1.5.7";
+       sha256 = "06qhad2v4qc5izza3j7wnfafzsidz232qqlq1iy3l8sbmdc8kw37";
        libraryHaskellDepends = [
          base containers copilot copilot-c99 copilot-language directory
          filepath mtl optparse-applicative temporary
@@ -33105,8 +33055,8 @@ self: {
      }:
      mkDerivation {
        pname = "argo";
-       version = "0.2022.1.15";
-       sha256 = "0wqsrmisbgalf8p0f1zs1jfpf5iws0zb98r1krgg2adghbllg770";
+       version = "0.2022.2.2";
+       sha256 = "133k1jqx737y8bj92w7afvs5hxh28gcv6yyf7mdwlnvq1xphy7pa";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -33122,8 +33072,8 @@ self: {
          tasty-quickcheck template-haskell text transformers
        ];
        benchmarkHaskellDepends = [
-         base bytestring containers deepseq tasty-bench template-haskell
-         text transformers
+         base bytestring containers deepseq tasty tasty-bench
+         template-haskell text transformers
        ];
        description = "Parse and render JSON";
        license = lib.licenses.mit;
@@ -36010,8 +35960,8 @@ self: {
      }:
      mkDerivation {
        pname = "audacity";
-       version = "0.0.2";
-       sha256 = "1916phnj3m12apyjarmda48xr2bq19rfn7sn6nskkbg6qjqxzlnr";
+       version = "0.0.2.1";
+       sha256 = "04r36gy8z0d2fz1l5px6yajp7izf3zpda9vci6q0wc273pxc8ck6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -36172,6 +36122,8 @@ self: {
        pname = "aura";
        version = "3.2.7";
        sha256 = "07ya2vd94grh6fs7k5kq25yh95xfk5mdqcgqq84anjz0phprq5z3";
+       revision = "1";
+       editedCabalFile = "16z28nkj5ladbbrg2h5sc1qcl3335g3i37x02h0by8bpqbkld6xr";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -36203,27 +36155,6 @@ self: {
      }:
      mkDerivation {
        pname = "authenticate";
-       version = "1.3.5";
-       sha256 = "10df40ycd4r45p58xzdh0vcsa401909fa99nkgd18fx5alqh84sz";
-       revision = "1";
-       editedCabalFile = "0lmb1m5d1l2scnm2fqxfk348m8xqbc7f7kvk7zvpsvcdcpxinafz";
-       libraryHaskellDepends = [
-         aeson attoparsec base blaze-builder bytestring case-insensitive
-         conduit containers html-conduit http-conduit http-types network-uri
-         resourcet text transformers unordered-containers xml-conduit
-       ];
-       description = "Authentication methods for Haskell web applications";
-       license = lib.licenses.mit;
-     }) {};
-
-  "authenticate_1_3_5_1" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , case-insensitive, conduit, containers, html-conduit, http-conduit
-     , http-types, network-uri, resourcet, text, transformers
-     , unordered-containers, xml-conduit
-     }:
-     mkDerivation {
-       pname = "authenticate";
        version = "1.3.5.1";
        sha256 = "1rhbvdgwdr68gp13p5piddfdqf3l9lmx4w7k249lc98y23780c3x";
        libraryHaskellDepends = [
@@ -36233,7 +36164,6 @@ self: {
        ];
        description = "Authentication methods for Haskell web applications";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "authenticate-kerberos" = callPackage
@@ -37165,6 +37095,8 @@ self: {
        pname = "aws-cloudfront-signed-cookies";
        version = "0.2.0.10";
        sha256 = "1mzsg6wfzgiippl8kw54m16i1m7zxwfqfwx3wbb3m372pg4h9sza";
+       revision = "3";
+       editedCabalFile = "0yswkjkx4xhmy11k3zcgcrmwr19dcaxw15vbl52nqsrhamw60fh3";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -39721,37 +39653,99 @@ self: {
      }) {};
 
   "batchd" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, connection, containers
-     , cryptonite, data-default, dates, directory, esqueleto, filepath
-     , Glob, http-client, http-client-tls, http-types, libssh2
-     , monad-logger, monad-logger-syslog, mtl, optparse-applicative
-     , parsec, persistent, persistent-postgresql, persistent-sqlite
-     , persistent-template, process, readline, resourcet, scotty, syb
-     , template, template-haskell, text, th-lift, time, tls
-     , transformers, unix, unordered-containers, vault, wai, wai-cors
-     , wai-extra, wai-middleware-static, warp, x509-store, yaml
+    ({ mkDerivation, aeson, base, batchd-core, boxes, bytestring
+     , conduit, conduit-combinators, conduit-extra, connection
+     , containers, cryptonite, data-default, dates, directory, ekg-core
+     , ekg-json, esqueleto, exceptions, fast-logger, filepath, Glob
+     , haskeline, heavy-logger, heavy-logger-instances, hsyslog
+     , http-client, http-client-tls, http-types, libssh2
+     , libssh2-conduit, localize, microlens, monad-metrics, mtl
+     , optparse-applicative, parsec, persistent, persistent-postgresql
+     , persistent-sqlite, persistent-template, process, resourcet
+     , scotty, syb, text, text-format-heavy, th-lift, time, tls, unix
+     , unliftio-core, unordered-containers, vault, vector, wai, wai-cors
+     , wai-extra, wai-middleware-metrics, wai-middleware-static, warp
+     , x509-store, yaml
      }:
      mkDerivation {
        pname = "batchd";
-       version = "0.1.0.0";
-       sha256 = "1axj4w0g34fgnn89l6f2zxbx172z6yq98clksp2bqxmnswza7di2";
+       version = "0.1.1.0";
+       sha256 = "19ka8xgrnyg4pkrgl8qp9l74y7qizj9r370hlwldcj19gidp9lhb";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         aeson base bytestring connection containers cryptonite data-default
-         dates directory esqueleto filepath Glob http-client http-client-tls
-         http-types libssh2 monad-logger monad-logger-syslog mtl
-         optparse-applicative parsec persistent persistent-postgresql
-         persistent-sqlite persistent-template process readline resourcet
-         scotty syb template template-haskell text th-lift time tls
-         transformers unix unordered-containers vault wai wai-cors wai-extra
-         wai-middleware-static warp x509-store yaml
+         aeson base batchd-core boxes bytestring conduit conduit-combinators
+         conduit-extra connection containers cryptonite data-default dates
+         directory ekg-core ekg-json esqueleto exceptions fast-logger
+         filepath Glob haskeline heavy-logger heavy-logger-instances hsyslog
+         http-client http-client-tls http-types libssh2 libssh2-conduit
+         localize microlens monad-metrics mtl optparse-applicative parsec
+         persistent persistent-postgresql persistent-sqlite
+         persistent-template process resourcet scotty syb text
+         text-format-heavy th-lift time tls unix unliftio-core
+         unordered-containers vault vector wai wai-cors wai-extra
+         wai-middleware-metrics wai-middleware-static warp x509-store yaml
        ];
        description = "Batch processing toolset for Linux / Unix";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "batchd-core" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, containers, dates
+     , directory, filepath, heavy-logger, hsyslog, localize, mtl
+     , persistent, persistent-template, resourcet, scotty, syb
+     , template-haskell, text, text-format-heavy, th-lift, time
+     , unordered-containers, wai, yaml
+     }:
+     mkDerivation {
+       pname = "batchd-core";
+       version = "0.1.0.0";
+       sha256 = "0kk1crifbynpri8wkhnni3wms759fxc6jmdm0919xlzjfkxj5psr";
+       libraryHaskellDepends = [
+         aeson base bytestring containers dates directory filepath
+         heavy-logger hsyslog localize mtl persistent persistent-template
+         resourcet scotty syb template-haskell text text-format-heavy
+         th-lift time unordered-containers wai yaml
+       ];
+       description = "Core modules of batchd, to use in batchd extensions";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "batchd-docker" = callPackage
+    ({ mkDerivation, aeson, base, batchd-core, docker, exceptions, mtl
+     , text, unliftio-core
+     }:
+     mkDerivation {
+       pname = "batchd-docker";
+       version = "0.1.0.0";
+       sha256 = "11kwj1c43kqrclvg5waj0n3lw9k8an7npz23jwsi3f8nwqi86rzv";
+       libraryHaskellDepends = [
+         aeson base batchd-core docker exceptions mtl text unliftio-core
+       ];
+       description = "docker containers host controller for batchd";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "batchd-libvirt" = callPackage
+    ({ mkDerivation, aeson, base, batchd-core, heavy-logger, libvirt-hs
+     , text, text-format-heavy, time
+     }:
+     mkDerivation {
+       pname = "batchd-libvirt";
+       version = "0.1.0.0";
+       sha256 = "1l9mw11pxda3w8lw6blk7b8q4220hfm9qnvr4v0rcaxrzjyrh9bb";
+       libraryHaskellDepends = [
+         aeson base batchd-core heavy-logger libvirt-hs text
+         text-format-heavy time
+       ];
+       description = "host controller for batchd, which controls virtual machines via libvirt library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "batching" = callPackage
     ({ mkDerivation, base, primitive, QuickCheck, short-vec, sint
      , test-framework, test-framework-quickcheck2
@@ -40592,8 +40586,8 @@ self: {
        pname = "bench";
        version = "1.0.12";
        sha256 = "1sy97qpv6paar2d5syppk6lc06wjx6qyz5aidsmh30jq853nydx6";
-       revision = "2";
-       editedCabalFile = "055482m81h7pijiszdkk2k65p208i3c3pxs955pv6h0gwrialcsh";
+       revision = "3";
+       editedCabalFile = "1lprgyc8jnfys70mxnpynrkgy1m4ss2dhf7mhj9kvxkahkkqdqm2";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -40623,15 +40617,12 @@ self: {
   "bench-show" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, Chart, Chart-diagrams, csv
      , directory, filepath, mwc-random, optparse-applicative
-     , optparse-simple, semigroups, split, statistics, text
-     , transformers, vector
+     , optparse-simple, split, statistics, text, transformers, vector
      }:
      mkDerivation {
        pname = "bench-show";
-       version = "0.3.1";
-       sha256 = "0z1fdcdl9chwia9kd5pa9572mc5pmy5bld72axkzg20r7v53sr7k";
-       revision = "1";
-       editedCabalFile = "08a95i3xwy2yz549hqfwd3j0j6gbsbc62jjmpxnk43yk5dl8dk63";
+       version = "0.3.2";
+       sha256 = "1f0zx572d54dyyjifv4p550ci90gdr4mrifhwww4z6p87fbdi32j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -40639,9 +40630,7 @@ self: {
          mwc-random split statistics transformers vector
        ];
        executableHaskellDepends = [
-         ansi-wl-pprint base Chart Chart-diagrams csv directory filepath
-         mwc-random optparse-applicative optparse-simple semigroups split
-         statistics transformers vector
+         base optparse-applicative optparse-simple
        ];
        testHaskellDepends = [ base split text ];
        description = "Show, plot and compare benchmark results";
@@ -41109,6 +41098,8 @@ self: {
        pname = "bidirectionalization-combined";
        version = "0.1.0.1";
        sha256 = "0bclazwhg3ra7zv19xfx5rw2z3p8h8scw5r4m281524qzrkm9j6m";
+       revision = "1";
+       editedCabalFile = "1fvqr3g7i57ybszqaa279nvrciw3yv1sj8hpjs3pa0z0cvxvvr42";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -44629,6 +44620,7 @@ self: {
        description = "Blog in LaTeX";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "blaze" = callPackage
@@ -44747,8 +44739,8 @@ self: {
        pname = "blaze-html";
        version = "0.9.1.2";
        sha256 = "0k1r1hddjgqighazcazxrx6xfhvy2gm8il8l82ainv3cai13yl30";
-       revision = "1";
-       editedCabalFile = "0wvlfb3rd9cm3p894p5rl9kggrsr5da3n8x9ydrbagx91yvkxns9";
+       revision = "2";
+       editedCabalFile = "1hjxvz62wlg0x7svc51zascgc96f5ly9xkkiyllgb4aqcvx9zf3l";
        libraryHaskellDepends = [
          base blaze-builder blaze-markup bytestring text
        ];
@@ -44839,8 +44831,8 @@ self: {
        pname = "blaze-markup";
        version = "0.8.2.8";
        sha256 = "0jd30wg5yz0a97b36zwqg4hv8faifza1n2gys3l1p3fwf9l3zz23";
-       revision = "1";
-       editedCabalFile = "1azqgw61l5zqjrjg176glx2m4nlyrmrz7a7vrpvbbkfqymwp7mfr";
+       revision = "2";
+       editedCabalFile = "074zslyx5dxzz242n5rzhgdw9i58akrkm2jd37wazbk3062a7mrq";
        libraryHaskellDepends = [ base blaze-builder bytestring text ];
        testHaskellDepends = [
          base blaze-builder bytestring containers HUnit QuickCheck tasty
@@ -45091,8 +45083,8 @@ self: {
      }:
      mkDerivation {
        pname = "blockfrost-api";
-       version = "0.2.1.0";
-       sha256 = "1mczzhpbdch3m5wmw9zr8pzwmg5jpg3qx167pxv548ykd0nvfjiq";
+       version = "0.3.0.0";
+       sha256 = "1773mklwigyqhgbxsp2zz4yzwsq0s2sapifzisrk56qix74z9md4";
        libraryHaskellDepends = [
          aeson base bytestring data-default-class deriving-aeson lens
          QuickCheck quickcheck-instances safe-money servant servant-docs
@@ -45115,8 +45107,8 @@ self: {
      }:
      mkDerivation {
        pname = "blockfrost-client";
-       version = "0.2.1.0";
-       sha256 = "19jw8dr49ahfy5ln8d7fnaxw07mqzj71dawv6bx0p5j0dqdhzxky";
+       version = "0.3.0.0";
+       sha256 = "0n49qbqlghgqw0nnx6bpkfiiyaqzzscl6hr0rh7xxw56955r55p0";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -46590,17 +46582,17 @@ self: {
      }) {};
 
   "box" = callPackage
-    ({ mkDerivation, attoparsec, base, concurrency, containers
-     , contravariant, exceptions, lens, mmorph, mtl, profunctors, text
-     , time, transformers
+    ({ mkDerivation, base, concurrency, containers, contravariant
+     , dlist, exceptions, kan-extensions, mtl, profunctors
+     , semigroupoids, text, time, transformers
      }:
      mkDerivation {
        pname = "box";
-       version = "0.7.0";
-       sha256 = "0fxrhfzf4xsfma2x355ij3ky1h83wq3khd08vkix1lnmw9vnvk37";
+       version = "0.8.1";
+       sha256 = "18f7waxmnrfk205aacwlzzv18bhyff9vpq3xcna955p9qgm47lg5";
        libraryHaskellDepends = [
-         attoparsec base concurrency containers contravariant exceptions
-         lens mmorph mtl profunctors text time transformers
+         base concurrency containers contravariant dlist exceptions
+         kan-extensions mtl profunctors semigroupoids text time transformers
        ];
        description = "boxes";
        license = lib.licenses.bsd3;
@@ -46609,16 +46601,12 @@ self: {
      }) {};
 
   "box-csv" = callPackage
-    ({ mkDerivation, attoparsec, base, box, generic-lens, lens
-     , scientific, text, time
-     }:
+    ({ mkDerivation, attoparsec, base, box, text, time }:
      mkDerivation {
        pname = "box-csv";
-       version = "0.1.0";
-       sha256 = "0h62za6qirm003bwrsjb9pj4d9gnrypvqchzhnv3nj37niscmddy";
-       libraryHaskellDepends = [
-         attoparsec base box generic-lens lens scientific text time
-       ];
+       version = "0.2.0";
+       sha256 = "0m3zx6m267hsnhvjspbd8132phkkbpm18cvii2if02bd3kj1x7rb";
+       libraryHaskellDepends = [ attoparsec base box text time ];
        description = "CSV parsing in a box";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -46626,22 +46614,20 @@ self: {
 
   "box-socket" = callPackage
     ({ mkDerivation, async, base, box, bytestring, concurrency
-     , exceptions, generic-lens, lens, network, network-simple
-     , optparse-generic, text, websockets
+     , exceptions, network, network-simple, optparse-generic, text
+     , websockets
      }:
      mkDerivation {
        pname = "box-socket";
-       version = "0.2.0";
-       sha256 = "198llmb67g348apjrhp180x2ykjlp2mnbhvkw90yh5nm7pnd0j3c";
+       version = "0.3.0";
+       sha256 = "1z9qlmpbq2ppc13viyf0sha95d7cm0jswnabjvg5fvx9ln1c5ivp";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         async base box bytestring concurrency exceptions generic-lens lens
-         network network-simple text websockets
-       ];
-       executableHaskellDepends = [
-         base box concurrency generic-lens lens optparse-generic text
+         async base box bytestring concurrency exceptions network
+         network-simple text websockets
        ];
+       executableHaskellDepends = [ base optparse-generic ];
        description = "Box websockets";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -49630,6 +49616,8 @@ self: {
        pname = "c2hs";
        version = "0.28.8";
        sha256 = "0k482wv94jbpwd96a2c2lc7qz9k8072slx7l7943472nzk7k41ir";
+       revision = "1";
+       editedCabalFile = "0hbv1j9b04gm617c5xqndr4iqidabwdpcn2dcrnaacc04ylchvl2";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -50148,6 +50136,8 @@ self: {
        pname = "cabal-flatpak";
        version = "0.1.0.3";
        sha256 = "1k0fzhyvlcq1l09fnf3f3wig4g9l61wsm1dmsjd3nwsgh52xb37v";
+       revision = "1";
+       editedCabalFile = "1468f116hza0l9z4n4zqy1y65q322ypx5kh646fsfi78fimwj34a";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -50953,6 +50943,27 @@ self: {
        maintainers = with lib.maintainers; [ peti ];
      }) {};
 
+  "cabal2spec_2_6_3" = callPackage
+    ({ mkDerivation, base, Cabal, filepath, optparse-applicative, tasty
+     , tasty-golden, time
+     }:
+     mkDerivation {
+       pname = "cabal2spec";
+       version = "2.6.3";
+       sha256 = "1mxqllc6mbxbyr5iz6qs0sxmvzrn5jf9wbs6zqnlygg23ml043kr";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base Cabal filepath time ];
+       executableHaskellDepends = [
+         base Cabal filepath optparse-applicative
+       ];
+       testHaskellDepends = [ base Cabal filepath tasty tasty-golden ];
+       description = "Convert Cabal files into rpm spec files";
+       license = lib.licenses.gpl3Only;
+       hydraPlatforms = lib.platforms.none;
+       maintainers = with lib.maintainers; [ peti ];
+     }) {};
+
   "cabalQuery" = callPackage
     ({ mkDerivation, base, Cabal, containers, directory, MissingH
      , pretty
@@ -54592,8 +54603,8 @@ self: {
      }:
      mkDerivation {
        pname = "cgroup-rts-threads";
-       version = "0.2.0.0";
-       sha256 = "1anlrgjlkjdljxnj4a1y2f5wd3rzd1b9maz97dkg95djh20wcmig";
+       version = "0.2.1.0";
+       sha256 = "1fzv3bgfr7r1c8m02z887ml2mzh2j571zcjjp6al272iaax8ymx0";
        libraryHaskellDepends = [ base directory megaparsec path text ];
        testHaskellDepends = [
          base hspec-core hspec-expectations path path-io
@@ -54934,7 +54945,6 @@ self: {
        ];
        description = "Command-line utility to draw charts from input data easily";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "chart-histogram" = callPackage
@@ -54951,26 +54961,21 @@ self: {
      }) {};
 
   "chart-svg" = callPackage
-    ({ mkDerivation, attoparsec, base, Color, containers, cubicbezier
-     , foldl, generic-lens, JuicyPixels, lens, linear, lucid, mtl
-     , numhask, numhask-space, reanimate, reanimate-svg, scientific
-     , tagsoup, text, time, transformers, unordered-containers
+    ({ mkDerivation, adjunctions, attoparsec, base, Color, containers
+     , cubicbezier, foldl, formatn, lucid, mtl, neat-interpolation
+     , numhask, numhask-array, numhask-space, optics-core, random
+     , scientific, tagsoup, text, time, transformers
      }:
      mkDerivation {
        pname = "chart-svg";
-       version = "0.2.3";
-       sha256 = "1j96l71gi2nrvwrwsvww9x7whvv3vmnc0ywgiy6ak1yh71hmivm1";
-       revision = "1";
-       editedCabalFile = "1zanv288hlir51yv4zqkcf2b4wxqivwd5y6f1s1n9zdn9k6b7c64";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.3.0";
+       sha256 = "07k8r0njywbgb77mjzmsyfhmzv01spyjcdvlj6jd4h2fhjmqpmwb";
        libraryHaskellDepends = [
-         attoparsec base Color containers cubicbezier foldl generic-lens
-         JuicyPixels lens linear lucid mtl numhask numhask-space reanimate
-         reanimate-svg scientific tagsoup text time transformers
-         unordered-containers
+         adjunctions attoparsec base Color containers cubicbezier foldl
+         formatn lucid mtl neat-interpolation numhask numhask-array
+         numhask-space optics-core random scientific tagsoup text time
+         transformers
        ];
-       executableHaskellDepends = [ base lens reanimate ];
        description = "Charting library targetting SVGs";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -56234,17 +56239,19 @@ self: {
   "cimple" = callPackage
     ({ mkDerivation, aeson, alex, ansi-wl-pprint, array, base
      , bytestring, containers, data-fix, filepath, groom, happy, hspec
-     , hspec-discover, mtl, recursion-schemes, text, transformers-compat
+     , hspec-discover, monad-parallel, mtl, recursion-schemes, split
+     , text, transformers-compat
      }:
      mkDerivation {
        pname = "cimple";
-       version = "0.0.11";
-       sha256 = "1n7633c6w4n4996i3k9v60yhpiddd8b7600c7hpam2axm9cqb19i";
+       version = "0.0.14";
+       sha256 = "1n287ybpl4h8laklw4s0gqf7hn8w12yv3wxm1xjh7rx9fivnim2v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          aeson ansi-wl-pprint array base bytestring containers data-fix
-         filepath groom mtl recursion-schemes text transformers-compat
+         filepath groom monad-parallel mtl recursion-schemes split text
+         transformers-compat
        ];
        libraryToolDepends = [ alex happy ];
        executableHaskellDepends = [ base bytestring groom text ];
@@ -57026,8 +57033,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.4.6";
-       sha256 = "0bxzfbpz0kz3f6jdq66vcv1h039ww90xdkivbadaz034ngzallfr";
+       version = "1.4.7";
+       sha256 = "06r97diqy6px1pf06dbnvf6ns0kmqy5gc5mr6k9xam1d2pk37xwd";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57045,11 +57052,11 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "clash-ghc_1_4_7" = callPackage
-    ({ mkDerivation, array, base, bifunctors, bytestring, Cabal
-     , clash-lib, clash-prelude, concurrent-supply, containers, deepseq
-     , directory, exceptions, extra, filepath, ghc, ghc-boot, ghc-prim
-     , ghc-typelits-extra, ghc-typelits-knownnat
+  "clash-ghc_1_6_1" = callPackage
+    ({ mkDerivation, array, base, bytestring, Cabal, clash-lib
+     , clash-prelude, concurrent-supply, containers, data-binary-ieee754
+     , deepseq, directory, exceptions, extra, filepath, ghc, ghc-boot
+     , ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
      , ghc-typelits-natnormalise, ghci, hashable, haskeline, integer-gmp
      , lens, mtl, primitive, process, reflection, split
      , template-haskell, text, time, transformers, uniplate, unix
@@ -57057,14 +57064,14 @@ self: {
      }:
      mkDerivation {
        pname = "clash-ghc";
-       version = "1.4.7";
-       sha256 = "06r97diqy6px1pf06dbnvf6ns0kmqy5gc5mr6k9xam1d2pk37xwd";
+       version = "1.6.1";
+       sha256 = "0kkwrp2ch01s75gyy3xa3lf305xi9czw0v4sgqcb4cds4qb47ih2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         array base bifunctors bytestring Cabal clash-lib clash-prelude
-         concurrent-supply containers deepseq directory exceptions extra
-         filepath ghc ghc-boot ghc-prim ghc-typelits-extra
+         array base bytestring Cabal clash-lib clash-prelude
+         concurrent-supply containers data-binary-ieee754 deepseq directory
+         exceptions extra filepath ghc ghc-boot ghc-prim ghc-typelits-extra
          ghc-typelits-knownnat ghc-typelits-natnormalise ghci hashable
          haskeline integer-gmp lens mtl primitive process reflection split
          template-haskell text time transformers uniplate unix
@@ -57093,8 +57100,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.4.6";
-       sha256 = "0lw0cx2in4qfr8h43qhbxfn5s0srbp2a90nfsrnjbhfsh37aza0b";
+       version = "1.4.7";
+       sha256 = "03wj0i926x8lc09nwgwh48plqxc49i5zzwil88bgnxdcwv9ncv18";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson aeson-pretty ansi-terminal array attoparsec base
@@ -57119,36 +57126,40 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "clash-lib_1_4_7" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array
+  "clash-lib_1_6_1" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, ansi-terminal, array, async
      , attoparsec, base, base16-bytestring, binary, bytestring
      , clash-prelude, concurrent-supply, containers, cryptohash-sha256
      , data-binary-ieee754, data-default, deepseq, directory, dlist
-     , errors, exceptions, extra, filepath, ghc, ghc-boot-th
-     , ghc-typelits-knownnat, hashable, haskell-src-exts
+     , exceptions, extra, filepath, ghc, ghc-boot-th
+     , ghc-typelits-knownnat, Glob, hashable, haskell-src-exts
      , haskell-src-meta, hint, integer-gmp, interpolate, lens, mtl
-     , ordered-containers, parsers, pretty-show, prettyprinter
-     , primitive, process, quickcheck-text, reducers, tasty, tasty-hunit
+     , ordered-containers, pretty-show, prettyprinter, primitive
+     , quickcheck-text, stringsearch, tasty, tasty-hunit
      , tasty-quickcheck, template-haskell, temporary, terminal-size
-     , text, text-show, time, transformers, trifecta
-     , unordered-containers, utf8-string, vector
-     , vector-binary-instances
+     , text, time, transformers, trifecta, unordered-containers, vector
+     , vector-binary-instances, yaml
      }:
      mkDerivation {
        pname = "clash-lib";
-       version = "1.4.7";
-       sha256 = "03wj0i926x8lc09nwgwh48plqxc49i5zzwil88bgnxdcwv9ncv18";
+       version = "1.6.1";
+       sha256 = "0qghvgl4x1lskmadn14kgbilfq9m2cb6n3ik513p27cvv5k8ahpj";
+       isLibrary = true;
+       isExecutable = true;
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
-         aeson aeson-pretty ansi-terminal array attoparsec base
+         aeson aeson-pretty ansi-terminal array async attoparsec base
          base16-bytestring binary bytestring clash-prelude concurrent-supply
          containers cryptohash-sha256 data-binary-ieee754 data-default
-         deepseq directory dlist errors exceptions extra filepath ghc
-         ghc-boot-th hashable haskell-src-meta hint integer-gmp interpolate
-         lens mtl ordered-containers parsers pretty-show prettyprinter
-         primitive process reducers template-haskell temporary terminal-size
-         text text-show time transformers trifecta unordered-containers
-         utf8-string vector vector-binary-instances
+         deepseq directory dlist exceptions extra filepath ghc ghc-boot-th
+         hashable haskell-src-meta hint integer-gmp interpolate lens mtl
+         ordered-containers pretty-show prettyprinter primitive
+         template-haskell temporary terminal-size text time transformers
+         trifecta unordered-containers vector vector-binary-instances yaml
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers deepseq directory Glob
+         stringsearch yaml
        ];
        testHaskellDepends = [
          aeson aeson-pretty base base16-bytestring bytestring clash-prelude
@@ -57162,6 +57173,27 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "clash-lib-hedgehog" = callPackage
+    ({ mkDerivation, base, clash-lib, containers, data-binary-ieee754
+     , fakedata, ghc-typelits-knownnat, ghc-typelits-natnormalise
+     , hedgehog, hedgehog-fakedata, mmorph, mtl, pretty-show, primitive
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "clash-lib-hedgehog";
+       version = "1.6.1";
+       sha256 = "0mm5wr80aylkp8xr71r40n90n5piipyfq7nrrj1ppqmb7lcs8gwj";
+       libraryHaskellDepends = [
+         base clash-lib containers data-binary-ieee754 fakedata
+         ghc-typelits-knownnat ghc-typelits-natnormalise hedgehog
+         hedgehog-fakedata mmorph mtl pretty-show primitive text
+         transformers
+       ];
+       description = "Hedgehog Generators for clash-lib";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clash-multisignal" = callPackage
     ({ mkDerivation, base, clash-prelude, deepseq
      , ghc-typelits-knownnat, QuickCheck
@@ -57181,9 +57213,9 @@ self: {
     ({ mkDerivation, array, arrows, base, bifunctors, binary
      , bytestring, Cabal, cabal-doctest, constraints, containers
      , criterion, data-binary-ieee754, data-default-class, deepseq
-     , doctest, ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
-     , ghc-typelits-natnormalise, half, hashable, hedgehog, hint
-     , integer-gmp, interpolate, lens, QuickCheck
+     , doctest, extra, ghc-prim, ghc-typelits-extra
+     , ghc-typelits-knownnat, ghc-typelits-natnormalise, half, hashable
+     , hedgehog, hint, integer-gmp, interpolate, lens, QuickCheck
      , quickcheck-classes-base, recursion-schemes, reflection
      , singletons, tasty, tasty-hedgehog, tasty-hunit, tasty-quickcheck
      , tasty-th, template-haskell, text, text-show, th-abstraction
@@ -57192,17 +57224,17 @@ self: {
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.4.6";
-       sha256 = "1m6sk0sss5hsh9x0614vr81pdv715wbdkdf119wnyy0sfjjnmbzi";
+       version = "1.4.7";
+       sha256 = "1ba7w8d9532gd6ahvmdbxsby2rx9wpxblkgmkrn6df1xdp3aqi9w";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          array arrows base bifunctors binary bytestring constraints
-         containers data-binary-ieee754 data-default-class deepseq ghc-prim
-         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
-         half hashable integer-gmp interpolate lens QuickCheck
-         recursion-schemes reflection singletons template-haskell text
-         text-show th-abstraction th-lift th-orphans time transformers
-         type-errors uniplate vector
+         containers data-binary-ieee754 data-default-class deepseq extra
+         ghc-prim ghc-typelits-extra ghc-typelits-knownnat
+         ghc-typelits-natnormalise half hashable integer-gmp interpolate
+         lens QuickCheck recursion-schemes reflection singletons
+         template-haskell text text-show th-abstraction th-lift th-orphans
+         time transformers type-errors uniplate vector
        ];
        testHaskellDepends = [
          base deepseq doctest ghc-typelits-extra ghc-typelits-knownnat
@@ -57219,41 +57251,39 @@ self: {
        broken = true;
      }) {};
 
-  "clash-prelude_1_4_7" = callPackage
-    ({ mkDerivation, array, arrows, base, bifunctors, binary
-     , bytestring, Cabal, cabal-doctest, constraints, containers
-     , criterion, data-binary-ieee754, data-default-class, deepseq
-     , doctest, extra, ghc-prim, ghc-typelits-extra
-     , ghc-typelits-knownnat, ghc-typelits-natnormalise, half, hashable
-     , hedgehog, hint, integer-gmp, interpolate, lens, QuickCheck
+  "clash-prelude_1_6_1" = callPackage
+    ({ mkDerivation, array, arrows, base, binary, bytestring
+     , constraints, containers, criterion, data-binary-ieee754
+     , data-default-class, deepseq, directory, doctest-parallel, extra
+     , filepath, ghc-prim, ghc-typelits-extra, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, half, hashable, hedgehog, hint
+     , integer-gmp, interpolate, lens, QuickCheck
      , quickcheck-classes-base, recursion-schemes, reflection
      , singletons, tasty, tasty-hedgehog, tasty-hunit, tasty-quickcheck
-     , tasty-th, template-haskell, text, text-show, th-abstraction
-     , th-lift, th-orphans, time, transformers, type-errors, uniplate
-     , vector
+     , tasty-th, template-haskell, text, th-abstraction, th-lift
+     , th-orphans, time, transformers, type-errors, uniplate, vector
      }:
      mkDerivation {
        pname = "clash-prelude";
-       version = "1.4.7";
-       sha256 = "1ba7w8d9532gd6ahvmdbxsby2rx9wpxblkgmkrn6df1xdp3aqi9w";
-       setupHaskellDepends = [ base Cabal cabal-doctest ];
+       version = "1.6.1";
+       sha256 = "18fhkk2icwk8jm7d6ni0l2l7jgh0isdkmlzj2dpvqrwla6qf40j2";
        libraryHaskellDepends = [
-         array arrows base bifunctors binary bytestring constraints
-         containers data-binary-ieee754 data-default-class deepseq extra
-         ghc-prim ghc-typelits-extra ghc-typelits-knownnat
-         ghc-typelits-natnormalise half hashable integer-gmp interpolate
-         lens QuickCheck recursion-schemes reflection singletons
-         template-haskell text text-show th-abstraction th-lift th-orphans
-         time transformers type-errors uniplate vector
+         array arrows base binary bytestring constraints containers
+         data-binary-ieee754 data-default-class deepseq extra ghc-prim
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         half hashable integer-gmp interpolate lens QuickCheck
+         recursion-schemes reflection singletons template-haskell text
+         th-abstraction th-lift th-orphans time transformers type-errors
+         uniplate vector
        ];
        testHaskellDepends = [
-         base deepseq doctest ghc-typelits-extra ghc-typelits-knownnat
-         ghc-typelits-natnormalise hedgehog hint quickcheck-classes-base
-         tasty tasty-hedgehog tasty-hunit tasty-quickcheck tasty-th
-         template-haskell
+         base bytestring deepseq doctest-parallel filepath
+         ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
+         hedgehog hint quickcheck-classes-base tasty tasty-hedgehog
+         tasty-hunit tasty-quickcheck tasty-th template-haskell
        ];
        benchmarkHaskellDepends = [
-         base criterion deepseq template-haskell
+         base criterion deepseq directory template-haskell
        ];
        description = "Clash: a functional hardware description language - Prelude library";
        license = lib.licenses.bsd2;
@@ -57261,6 +57291,23 @@ self: {
        broken = true;
      }) {};
 
+  "clash-prelude-hedgehog" = callPackage
+    ({ mkDerivation, base, clash-prelude, ghc-typelits-knownnat
+     , ghc-typelits-natnormalise, hedgehog, text
+     }:
+     mkDerivation {
+       pname = "clash-prelude-hedgehog";
+       version = "1.6.1";
+       sha256 = "12p3rnfxi0l249l7w6cbvp2l4hlzxzppi9nca7vn9awr20shi2r4";
+       libraryHaskellDepends = [
+         base clash-prelude ghc-typelits-knownnat ghc-typelits-natnormalise
+         hedgehog text
+       ];
+       description = "Hedgehog Generators for clash-prelude";
+       license = lib.licenses.bsd2;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "clash-prelude-quickcheck" = callPackage
     ({ mkDerivation, base, clash-prelude, QuickCheck }:
      mkDerivation {
@@ -57281,10 +57328,8 @@ self: {
      }:
      mkDerivation {
        pname = "clash-shake";
-       version = "0.2.1";
-       sha256 = "0lxv3ihlhnibi7vmfa4pqmf04524vlr3ksmdzgrlcarximi122kd";
-       revision = "1";
-       editedCabalFile = "07yb41fg6s5r8cs4xvax8nk3mly33shbbclql0q24wz5g7h4w06d";
+       version = "0.2.2";
+       sha256 = "10gj6764qhdy6ki0dyy75ycpj5il26jgxxjcr0xy9kkixi3wgsrb";
        libraryHaskellDepends = [
          aeson base bytestring clash-ghc clash-lib clash-prelude directory
          shake split stache text unordered-containers
@@ -57355,8 +57400,8 @@ self: {
      }:
      mkDerivation {
        pname = "clashilator";
-       version = "0.1.1";
-       sha256 = "0d95h9dflclzgfph4as4bzz0442z0a9w59d97snzih9wc1cg4vbp";
+       version = "0.1.2";
+       sha256 = "1p58zn6m85zgn4f6pj6v6vqhhcazbid7gi9vg7cm52i1sx1jdbb8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57577,8 +57622,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks";
-       version = "0.26.4";
-       sha256 = "0gvfplid34idkfg5s7dvcwg22ij3fryn82hz958z2960a4jb7ngv";
+       version = "0.27.2";
+       sha256 = "088wx15f81h45ykhibq7ays5yn2ivwvgffaa459r6b6v53npkqkr";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson aeson-qq attoparsec base blaze-html bytestring
@@ -57604,8 +57649,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-cli";
-       version = "0.3.0.3";
-       sha256 = "03dyhfnmqhqjahd36cdhjvrqp68grzvdl69cqk2z2aa34z0agd4a";
+       version = "0.3.0.4";
+       sha256 = "17ifv0awgx7fylc1pbdcdq9l8wl2shr6fy65rgb0xjv3zxnwx4i8";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57751,8 +57796,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-page";
-       version = "0.4.3.24";
-       sha256 = "0zsf8j8l99cxskjql8zh407ar7920ph6xn42j8nxnh6qir16wdar";
+       version = "0.4.3.25";
+       sha256 = "0ii9984y7792i7kiwnqmgn9mfyky2k9dkx3fnzkirypqbxyri92s";
        libraryHaskellDepends = [
          acid-state aeson attoparsec base clckwrks containers directory
          filepath happstack-hsp happstack-server hsp hsx2hs ixset mtl
@@ -57776,8 +57821,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-plugin-redirect";
-       version = "0.0.1";
-       sha256 = "1946m4fxdj8kr7n1q39j2q9j6srdz97srq0fifnk7mil23lw2vyj";
+       version = "0.0.1.2";
+       sha256 = "1vb0knjy0qkbpzni10bgvznnjxc7bv7pbp1l9frdffdsrssgyx8w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -57798,8 +57843,8 @@ self: {
      }:
      mkDerivation {
        pname = "clckwrks-theme-bootstrap";
-       version = "0.4.3";
-       sha256 = "01hs4rh89zp0y2gkfam27kdwywh5fqr10pzwf1d4c92kpnz9xd5d";
+       version = "0.4.3.2";
+       sha256 = "0ag94kc0csjnh88vw6ljifv6cqqwc8wizyizqk0mj4qpp73z6qd2";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          base clckwrks happstack-authenticate hsp hsx-jmacro hsx2hs jmacro
@@ -57887,22 +57932,22 @@ self: {
   "cleff" = callPackage
     ({ mkDerivation, atomic-primops, base, containers, exceptions
      , extra, hspec, lifted-base, microlens, monad-control, primitive
-     , QuickCheck, template-haskell, th-abstraction, transformers
+     , QuickCheck, rec-smallarray, template-haskell, th-abstraction
      , transformers-base, unliftio
      }:
      mkDerivation {
        pname = "cleff";
-       version = "0.1.0.0";
-       sha256 = "16fd1ly5299an0wlmnc3f6asikbr8n8b8vzkmvd2jq86sk0x5z1n";
+       version = "0.2.1.0";
+       sha256 = "1a9gvmz9s71c1m9d1f5mxnhid8096fdhmgw4j9l358gg4i6lzvrw";
        libraryHaskellDepends = [
          atomic-primops base containers exceptions microlens monad-control
-         primitive template-haskell th-abstraction transformers
+         primitive rec-smallarray template-haskell th-abstraction
          transformers-base unliftio
        ];
        testHaskellDepends = [
          atomic-primops base containers exceptions extra hspec lifted-base
-         microlens monad-control primitive QuickCheck template-haskell
-         th-abstraction transformers transformers-base unliftio
+         microlens monad-control primitive QuickCheck rec-smallarray
+         template-haskell th-abstraction transformers-base unliftio
        ];
        description = "Fast and concise extensible effects";
        license = lib.licenses.bsd3;
@@ -58439,8 +58484,8 @@ self: {
     ({ mkDerivation, base, criterion, tasty, tasty-quickcheck }:
      mkDerivation {
        pname = "clock";
-       version = "0.8.2";
-       sha256 = "0qg4ljwmw28vvxjzr4sknh8220abjcx2b0sq3ljqprh3qw8b2p8b";
+       version = "0.8.3";
+       sha256 = "1l850pf1dxjf3i15wc47d64gzkpzgvw0bq13fd8zvklq9kdyap44";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base tasty tasty-quickcheck ];
        benchmarkHaskellDepends = [ base criterion ];
@@ -61256,6 +61301,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "commonmark-simple" = callPackage
+    ({ mkDerivation, aeson, base, commonmark, commonmark-extensions
+     , commonmark-pandoc, containers, megaparsec, pandoc-types, parsec
+     , parser-combinators, relude, yaml
+     }:
+     mkDerivation {
+       pname = "commonmark-simple";
+       version = "0.1.0.0";
+       sha256 = "0fvpykqvqi12nsc95pv3xwd67sdamxc79r24w5xf30f87p0f9kna";
+       libraryHaskellDepends = [
+         aeson base commonmark commonmark-extensions commonmark-pandoc
+         containers megaparsec pandoc-types parsec parser-combinators relude
+         yaml
+       ];
+       description = "Simple interface to commonmark-hs";
+       license = lib.licenses.mit;
+     }) {};
+
   "commsec" = callPackage
     ({ mkDerivation, base, bytestring, cipher-aes128, crypto-api
      , network
@@ -61390,6 +61453,43 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "compaREST" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, bytestring, comonad
+     , containers, data-default, directory, doctemplates, envy
+     , file-embed, filepath, free, freer-simple, generic-data, github
+     , hashable, http-media, insert-ordered-containers, lattices, lens
+     , mtl, open-union, openapi3, optparse-applicative
+     , ordered-containers, pandoc, pandoc-types, pcre2, scientific
+     , tagged, tasty, tasty-golden, text, transformers, type-fun
+     , typerep-map, unordered-containers, vector, yaml
+     }:
+     mkDerivation {
+       pname = "compaREST";
+       version = "0.1.0.0";
+       sha256 = "06y2qxl0vgka4vby5vv1njzgwbaq3615qic15iqnnm9dqwg7cczx";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson attoparsec base bytestring comonad containers data-default
+         doctemplates file-embed free generic-data hashable http-media
+         insert-ordered-containers lattices mtl open-union openapi3
+         ordered-containers pandoc-types pcre2 scientific tagged text
+         transformers type-fun typerep-map unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson base bytestring containers data-default doctemplates envy
+         filepath freer-simple github mtl optparse-applicative pandoc
+         pandoc-types text vector yaml
+       ];
+       testHaskellDepends = [
+         base bytestring data-default directory filepath lens pandoc
+         pandoc-types tasty tasty-golden text yaml
+       ];
+       description = "Compatibility checker for OpenAPI";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "compact" = callPackage
     ({ mkDerivation, base, binary, bytestring, directory, ghc-compact
      }:
@@ -62905,8 +63005,8 @@ self: {
      }:
      mkDerivation {
        pname = "concurrent-output";
-       version = "1.10.14";
-       sha256 = "01d5zq7ja55jjn65fj5rs11kzqnc6baysxkzkq0jfd23wdqf9f92";
+       version = "1.10.15";
+       sha256 = "1n02ck0zci6y2w8dm03j2qypgbc176skapixrmnxrp9dnbwcprc0";
        libraryHaskellDepends = [
          ansi-terminal async base directory exceptions process stm
          terminal-size text transformers unix
@@ -64754,27 +64854,6 @@ self: {
      }:
      mkDerivation {
        pname = "constraints";
-       version = "0.13.2";
-       sha256 = "1zfijh3jpdfrh8nwn5xv2z05jnxyf0ciqlfaja6g6ls654svrj70";
-       revision = "1";
-       editedCabalFile = "1h46cskb4ci2jigqlrd9x87n1i1d6q6w4r0in6i47ywmhjdv7xwg";
-       libraryHaskellDepends = [
-         base binary deepseq ghc-prim hashable mtl transformers
-         transformers-compat type-equality
-       ];
-       testHaskellDepends = [ base hspec ];
-       testToolDepends = [ hspec-discover ];
-       description = "Constraint manipulation";
-       license = lib.licenses.bsd2;
-     }) {};
-
-  "constraints_0_13_3" = callPackage
-    ({ mkDerivation, base, binary, deepseq, ghc-prim, hashable, hspec
-     , hspec-discover, mtl, transformers, transformers-compat
-     , type-equality
-     }:
-     mkDerivation {
-       pname = "constraints";
        version = "0.13.3";
        sha256 = "0jhdix263zxsiki0pmdpyrg7vcfxx2x9w7pjiypva3wsr9agdjzr";
        libraryHaskellDepends = [
@@ -64785,7 +64864,6 @@ self: {
        testToolDepends = [ hspec-discover ];
        description = "Constraint manipulation";
        license = lib.licenses.bsd2;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "constraints-deriving" = callPackage
@@ -66437,8 +66515,8 @@ self: {
      }:
      mkDerivation {
        pname = "cornea";
-       version = "0.4.0.0";
-       sha256 = "0hm17g350gnklvgi5nsx03lgbx2zs9h4q11y2gi9zjnm6gv6gjrn";
+       version = "0.4.0.1";
+       sha256 = "1i6c2j90rban9hq7hzhf0rcq6dgzrin9jalbx2pjvqy1i6m49kn4";
        libraryHaskellDepends = [
          base either lens lifted-base monad-control mtl relude
          template-haskell th-abstraction transformers
@@ -67560,18 +67638,21 @@ self: {
 
   "crdt-event-fold" = callPackage
     ({ mkDerivation, aeson, base, binary, containers
-     , data-default-class, data-dword, hspec, monad-logger, mtl
-     , transformers
+     , data-default-class, data-dword, exceptions, hspec, monad-logger
+     , mtl, transformers
      }:
      mkDerivation {
        pname = "crdt-event-fold";
-       version = "1.4.0.0";
-       sha256 = "0hagrbsgw58kchiifhq69s4hii7pv8zsvfzl3ijgxkb8iqp515gc";
+       version = "1.5.1.1";
+       sha256 = "1625x6zk6znfzz76pk1d1wkh2qvybdpwaxpm20kk88jsakhvg0br";
        libraryHaskellDepends = [
          aeson base binary containers data-default-class data-dword
-         monad-logger mtl transformers
+         exceptions monad-logger mtl transformers
+       ];
+       testHaskellDepends = [
+         aeson base binary containers data-default-class data-dword
+         exceptions hspec monad-logger mtl transformers
        ];
-       testHaskellDepends = [ base hspec ];
        description = "Garbage collected event folding CRDT";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -67790,10 +67871,10 @@ self: {
      }:
      mkDerivation {
        pname = "criterion";
-       version = "1.5.12.0";
-       sha256 = "0wrb48byp906f9wc9ii2mi2b2k008ycbi8ffrrj86plhp5rpvzz5";
+       version = "1.5.13.0";
+       sha256 = "19vrlldgw2kz5426j0iwsvvhxkbnrnan859vr6ryqh13nrg59a72";
        revision = "1";
-       editedCabalFile = "154jscaip9y081mvf70vcwqw0acynfb9hwxgqwmzqq9q6d8b1wfw";
+       editedCabalFile = "1xpbvax71yrnilq4iixjfi3by2n8wz5r5nb2r4v9wn85xz0r8dwh";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -69712,8 +69793,8 @@ self: {
      }:
      mkDerivation {
        pname = "curl-runnings";
-       version = "0.16.0";
-       sha256 = "1dghvwmwl9x7v7dn52kadp3i72k8cgyhir5adc6hw61bgk49qll0";
+       version = "0.16.4";
+       sha256 = "1900v9gs4mmap4xp0bypq0wz14mw2mmak9861z4rl954pz25v9pv";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -70365,6 +70446,8 @@ self: {
        pname = "d10";
        version = "1.0.0.2";
        sha256 = "10jc4sa986r194py1gg90mixvb2h4d1m12zwi6y5hffmrc910qva";
+       revision = "1";
+       editedCabalFile = "1ffwq8kfg90a5gfdm41fid7n4aszzl4j2mpnr4pp95ri174awqbz";
        libraryHaskellDepends = [ base template-haskell ];
        testHaskellDepends = [ base hedgehog template-haskell ];
        description = "Digits 0-9";
@@ -73182,25 +73265,22 @@ self: {
        testHaskellDepends = [ base dates hspec QuickCheck time ];
        description = "Date conversions";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "dates" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, hspec, parsec, syb
-     , time
+     , template-haskell, time
      }:
      mkDerivation {
        pname = "dates";
-       version = "0.2.3.0";
-       sha256 = "1l9df5815gb8lxgl1kmsn4q58qrjqii5b957z5gn4hk5cjnr456k";
+       version = "0.2.3.2";
+       sha256 = "15x7nyzdzqqknxff4v08hij1gp8p1prwpzpl6ayva548xq70jz39";
        libraryHaskellDepends = [
-         base base-unicode-symbols parsec syb time
+         base base-unicode-symbols parsec syb template-haskell time
        ];
        testHaskellDepends = [ base hspec ];
        description = "Small library for parsing different dates formats";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "datetime" = callPackage
@@ -73678,6 +73758,7 @@ self: {
        description = "Discordian Date Types for Haskell";
        license = lib.licenses.gpl2Only;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "ddc-base" = callPackage
@@ -74049,8 +74130,8 @@ self: {
      }:
      mkDerivation {
        pname = "dear-imgui";
-       version = "1.3.1";
-       sha256 = "1ndwwnvx89pz0rmkr5ba4gv7w2q2q8j9n3a31s9aibxd0qjd6ijx";
+       version = "1.4.0";
+       sha256 = "02s649lbfil4c5hqvqrqp93sag21g45hmfw2nxbnpazj1cn1bk7w";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -75685,8 +75766,8 @@ self: {
      }:
      mkDerivation {
        pname = "derive-topdown";
-       version = "0.0.2.2";
-       sha256 = "1rymdadqwryr7ipxrw9j3m3g1n2c8l3j7wc3wphcak2nk6x2b60k";
+       version = "0.0.3.0";
+       sha256 = "1w36nczl0rl91sgm3vcd4gvm3lr6zdjqvmfdikkjq664xwnxrn8h";
        libraryHaskellDepends = [
          base mtl primitive syb template-haskell th-expand-syns transformers
        ];
@@ -75800,8 +75881,8 @@ self: {
      }:
      mkDerivation {
        pname = "deriving-trans";
-       version = "0.2.2.0";
-       sha256 = "1v2iamc375i6gqavb2s644mbb99wlnv0nk07dmbyaw522svp20y4";
+       version = "0.3.1.0";
+       sha256 = "0x7kk9b08f9fplkycw2202qil3rh5l2x7l7whjlv30b0v5k885xz";
        libraryHaskellDepends = [
          base monad-control mtl transformers transformers-base
        ];
@@ -76454,8 +76535,8 @@ self: {
        pname = "dhall";
        version = "1.40.2";
        sha256 = "14wh497fipvz01zc9s31gv144spg1iqfwp6x5mlk1hjk0v9qs5by";
-       revision = "1";
-       editedCabalFile = "1dfnyin9rcq7ily0dlm94s7xnrsjg8ix24zsp52hl7wg4fkfc46c";
+       revision = "2";
+       editedCabalFile = "0mxq3knz1wpvs6jcdw6p0mnwpyy7aqriy2qdyxqzmhcbw2yn3hc1";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -76602,8 +76683,8 @@ self: {
        pname = "dhall-docs";
        version = "1.0.8";
        sha256 = "1rkwvk6vd8l52nxv186fw3qdmsjvi8098yccnnbysmf41rz80fi7";
-       revision = "1";
-       editedCabalFile = "0z2xrvbfprgq5zzd862s2g8w4zr4k5wrl3vmb9vzds72yk65h3sk";
+       revision = "2";
+       editedCabalFile = "12virkq759imppdzpx75fyka8kqfw01xfwb0lm9mir86gjb34n2q";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -76700,8 +76781,8 @@ self: {
        pname = "dhall-json";
        version = "1.7.9";
        sha256 = "11rl46vn6lzcm9kznpfc43c3a2cbq2si2zba3k2x4j360kvg9fgn";
-       revision = "1";
-       editedCabalFile = "07izgs7x8ssmalv0m6r9clhx5gbs48f1bxxr3qsyxs26liqvppzq";
+       revision = "2";
+       editedCabalFile = "0f1jb37f5k214dzxbbhw2hij7j7srydkdp0hpkapgs5k73vjvqm4";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -76830,8 +76911,8 @@ self: {
        pname = "dhall-nixpkgs";
        version = "1.0.7";
        sha256 = "1s7md4b2jzgmf557clln9fc5lmdrd9xjs55dd97dv8q6krm8nabg";
-       revision = "2";
-       editedCabalFile = "06cz8iszdgxyy9v95ppcr5zjkrxw4mx01kvc68h88jdf8g5fgp6g";
+       revision = "3";
+       editedCabalFile = "135j5m3dgiyvjlw67rbx1jjnnzb5v777g6a8kkplpiv92swwslfd";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -76854,8 +76935,8 @@ self: {
        pname = "dhall-openapi";
        version = "1.0.3";
        sha256 = "0k7yq7g77ws7wjfzd35ydsjwaq2kc1y0rhwjwb6yvkyvljmr0ykz";
-       revision = "1";
-       editedCabalFile = "0jmbgjrinlsgdw4ksqmn0lr15m6r0kxw33c5g7slnqgbnimbjrgw";
+       revision = "2";
+       editedCabalFile = "0cqvwbpn3njl3xm4jxcsb2dvfi6y1nm6inxanqxda7pgbysqrn8j";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -77008,8 +77089,8 @@ self: {
        pname = "dhall-yaml";
        version = "1.2.9";
        sha256 = "0gn9jrqihimjs8i9ksgmlkh8c64km52rmsgz2y6k3ab0igkv8dw6";
-       revision = "1";
-       editedCabalFile = "1mq7si8d9mkwnh6kw4041dhfppam507blr2ji3m6xw8f1pg70rcd";
+       revision = "2";
+       editedCabalFile = "18qshgn6vfry37sfmdwi1lijqdrhbrximbwcyi5zzz1b5nb7sa0v";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -77311,6 +77392,8 @@ self: {
        pname = "diagrams-cairo";
        version = "1.4.2";
        sha256 = "094vavgsfn7hxn2h7phvmx82wdhw51vqqv29p8hsvmijf1gxa7c1";
+       revision = "1";
+       editedCabalFile = "1pcc4vh1sb6h4bq4x2nxpynjvmif2bn1w3ddi24jbjhgr5b6ln59";
        libraryHaskellDepends = [
          array base bytestring cairo colour containers data-default-class
          diagrams-core diagrams-lib filepath hashable JuicyPixels lens mtl
@@ -77330,8 +77413,8 @@ self: {
        pname = "diagrams-canvas";
        version = "1.4.1";
        sha256 = "1ihmv42412d8dk3s894zd70xd386wrk9ycxkid19barry1vz5plj";
-       revision = "2";
-       editedCabalFile = "0x8iv0998nn42l0ph90xq50ca514m3zhac4s9zl1hc5hzivj10sl";
+       revision = "3";
+       editedCabalFile = "0yajv3bnzhqwr673rch0wd9vhc4kcfdpdw5p5a2x1xbrpzghksac";
        libraryHaskellDepends = [
          base blank-canvas cmdargs containers data-default-class
          diagrams-core diagrams-lib lens mtl NumInstances
@@ -77507,8 +77590,8 @@ self: {
        pname = "diagrams-lib";
        version = "1.4.5.1";
        sha256 = "1hkxp549i99s45qk8zmhjvz1xyyv3i0ffl8155bifkic6fd8y2gz";
-       revision = "1";
-       editedCabalFile = "0yqpasggmdkzg2n67a6m20rbhzcgchnfhs66m95lnp5n9vl7v8mn";
+       revision = "2";
+       editedCabalFile = "12zif237fhf8r016225wsfkshwsxpqq0bm0h3k1ys5yjyk6m3x90";
        libraryHaskellDepends = [
          active adjunctions array base bytestring cereal colour containers
          data-default-class diagrams-core diagrams-solve directory
@@ -77581,6 +77664,8 @@ self: {
        pname = "diagrams-pgf";
        version = "1.4.2";
        sha256 = "1x7qz8683rsfi0gpmfmhicswmmxppil779d4mhfwkp537b6l2zmh";
+       revision = "1";
+       editedCabalFile = "14vfl9rihrpvdjvlndg86w1ap12lp98049jz741giy94rfbj3knp";
        libraryHaskellDepends = [
          base bytestring bytestring-builder colour containers diagrams-core
          diagrams-lib directory filepath hashable JuicyPixels mtl
@@ -77637,6 +77722,8 @@ self: {
        pname = "diagrams-rasterific";
        version = "1.4.2.2";
        sha256 = "1q0b3yh7wbi3yq0y8qswhvfmcz52f6njl4dawq9gl71jyfb2g8nq";
+       revision = "1";
+       editedCabalFile = "1cijmn8bc2j0v3a0qp7a7zl3hrn99gwmd7vl3lv9754f5s1l1m13";
        libraryHaskellDepends = [
          base bytestring containers data-default-class diagrams-core
          diagrams-lib file-embed filepath FontyFruity hashable JuicyPixels
@@ -77708,8 +77795,8 @@ self: {
        pname = "diagrams-svg";
        version = "1.4.3.1";
        sha256 = "002lgmq78c6rsvds9bgm6m4w8j6qpg260mc52hf97wj6m050l237";
-       revision = "2";
-       editedCabalFile = "056nfj2srbhh68jc5al8hffcfrqlr89173pjf6bhpmnzxhwlv55k";
+       revision = "3";
+       editedCabalFile = "03yh2nj88c91m8xq5gzcyxj55jr8sfypfgs361c90ncwn7jxz3ly";
        libraryHaskellDepends = [
          base base64-bytestring bytestring colour containers diagrams-core
          diagrams-lib filepath hashable JuicyPixels lens monoid-extras mtl
@@ -77790,6 +77877,20 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "dialogue" = callPackage
+    ({ mkDerivation, base, bytestring, directory }:
+     mkDerivation {
+       pname = "dialogue";
+       version = "0.1.0";
+       sha256 = "03rlcyvkzm9fyqdsgswx9sgw2jdiplngw9a1rknngwnwnx5mqbpm";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [ base bytestring directory ];
+       executableHaskellDepends = [ base ];
+       description = "I/O in Haskell Report 1.2";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "dib" = callPackage
     ({ mkDerivation, ansi-terminal, base, bytestring, cereal
      , containers, digest, directory, filepath, mtl, process, text, time
@@ -78488,6 +78589,8 @@ self: {
        testHaskellDepends = [ base containers fingertree hspec ];
        description = "A simpler Dijkstra shortest paths implementation";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "dimensional" = callPackage
@@ -78643,8 +78746,8 @@ self: {
      }:
      mkDerivation {
        pname = "diohsc";
-       version = "0.1.9";
-       sha256 = "1mxccj0fwj8n8zh8h997ljd4r179zyn6k63xgnhw7bgi1pjv4301";
+       version = "0.1.10";
+       sha256 = "1k6027dq5x156xw50pjjr8713ibqbycal653mfa8q59y6h8jvzjf";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -79068,8 +79171,8 @@ self: {
      }:
      mkDerivation {
        pname = "disco";
-       version = "0.1.1.0";
-       sha256 = "04z203dvqc6ipcw6mhnx63q2s2hlmvxy5d5v0ml2z53b4crbprha";
+       version = "0.1.2.0";
+       sha256 = "0c8d7ly5v6x9pf9xhs1rlnd627d6lsna0x40qrz59xcc77n78xr3";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -79155,8 +79258,8 @@ self: {
      }:
      mkDerivation {
        pname = "discord-haskell";
-       version = "1.11.0";
-       sha256 = "10vak5aar5fx25ani676pi870mnnvzrn6n1b1akhdyags1hrsghm";
+       version = "1.12.0";
+       sha256 = "02gxfpwrxg7i9n0wca4g0dfsndrdxasdsdbp79ixwp51pvd04cad";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -80207,8 +80310,8 @@ self: {
      }:
      mkDerivation {
        pname = "distribution-opensuse";
-       version = "1.1.1";
-       sha256 = "1drjlcakv48djnqyrl50c6l974zrxm1gq3z8cx58xndfb2j0hzq6";
+       version = "1.1.3";
+       sha256 = "1yrir5x70nsw5rajcphmr7bzi7k2m05iw97bl7b3v3a5q1i69as5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -80621,6 +80724,24 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "dns-patterns" = callPackage
+    ({ mkDerivation, attoparsec, base, bytestring, HUnit
+     , parser-combinators, text
+     }:
+     mkDerivation {
+       pname = "dns-patterns";
+       version = "0.1";
+       sha256 = "01ap0j5ar81v5k9dm0vsd03271xkqwi0a1dx3s9yflg7ll98yjs8";
+       libraryHaskellDepends = [
+         attoparsec base bytestring parser-combinators text
+       ];
+       testHaskellDepends = [ attoparsec base bytestring HUnit text ];
+       description = "DNS name parsing and pattern matching utilities";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "dnscache" = callPackage
     ({ mkDerivation, base, bytestring, containers, contstuff, dns
      , iproute, time
@@ -86730,29 +86851,23 @@ self: {
      }) {};
 
   "ema" = callPackage
-    ({ mkDerivation, aeson, async, base, blaze-html, blaze-markup
-     , commonmark, commonmark-extensions, commonmark-pandoc
-     , constraints-extras, containers, data-default, dependent-sum
-     , dependent-sum-template, directory, filepath, filepattern
-     , http-types, lvar, megaparsec, monad-logger, monad-logger-extras
-     , neat-interpolation, optparse-applicative, pandoc-types, parsec
-     , parser-combinators, relude, text, time, unicode-transforms
-     , unionmount, unliftio, uri-encode, wai, wai-middleware-static
-     , wai-websockets, warp, websockets, yaml
+    ({ mkDerivation, aeson, async, base, constraints-extras, containers
+     , data-default, dependent-sum, dependent-sum-template, directory
+     , filepath, filepattern, http-types, lvar, monad-logger
+     , monad-logger-extras, neat-interpolation, optparse-applicative
+     , relude, text, unliftio, url-slug, wai, wai-middleware-static
+     , wai-websockets, warp, websockets
      }:
      mkDerivation {
        pname = "ema";
-       version = "0.4.0.0";
-       sha256 = "1l44mmcghhgyyxxnannmqsabdbwdz5yka0vk3pbiziqjjlkjxpnj";
+       version = "0.6.0.0";
+       sha256 = "0xha83himdaj64pm09dpvl0lrjvs6alk6mxh73d7ah1dbfsm79h1";
        libraryHaskellDepends = [
-         aeson async base blaze-html blaze-markup commonmark
-         commonmark-extensions commonmark-pandoc constraints-extras
-         containers data-default dependent-sum dependent-sum-template
-         directory filepath filepattern http-types lvar megaparsec
-         monad-logger monad-logger-extras neat-interpolation
-         optparse-applicative pandoc-types parsec parser-combinators relude
-         text time unicode-transforms unionmount unliftio uri-encode wai
-         wai-middleware-static wai-websockets warp websockets yaml
+         aeson async base constraints-extras containers data-default
+         dependent-sum dependent-sum-template directory filepath filepattern
+         http-types lvar monad-logger monad-logger-extras neat-interpolation
+         optparse-applicative relude text unliftio url-slug wai
+         wai-middleware-static wai-websockets warp websockets
        ];
        description = "Static site generator library with hot reload";
        license = lib.licenses.agpl3Only;
@@ -88167,6 +88282,8 @@ self: {
        pname = "equivalence";
        version = "0.3.5";
        sha256 = "167njzd1cf32aa7br90rjafrxy6hw3fxkk8awifqbxjrcwm5maqp";
+       revision = "1";
+       editedCabalFile = "0rc68zqj518lmlp58kbgfb945gp0iszfjn6h3y777cjrbm1jp5k4";
        libraryHaskellDepends = [
          base containers fail mtl STMonadTrans transformers
          transformers-compat
@@ -88179,6 +88296,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "equivalence_0_4" = callPackage
+    ({ mkDerivation, base, containers, mtl, QuickCheck, STMonadTrans
+     , template-haskell, transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "equivalence";
+       version = "0.4";
+       sha256 = "0xyj7knshfjknjd13cm7ym9hxllnbr4wvqnz8pgq8154hn7j2f1d";
+       libraryHaskellDepends = [
+         base containers mtl STMonadTrans transformers transformers-compat
+       ];
+       testHaskellDepends = [
+         base containers mtl QuickCheck STMonadTrans template-haskell
+         transformers transformers-compat
+       ];
+       description = "Maintaining an equivalence relation implemented as union-find using STT";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "erd" = callPackage
     ({ mkDerivation, base, bytestring, containers, directory, filepath
      , gitrev, graphviz, parsec, raw-strings-qq, tasty, tasty-hunit
@@ -90123,13 +90260,13 @@ self: {
 
   "evm-opcodes" = callPackage
     ({ mkDerivation, base, bytestring, cereal, containers, data-dword
-     , hedgehog, hspec, tasty, tasty-discover, tasty-hedgehog
-     , tasty-hspec, text
+     , hedgehog, hspec, tasty, tasty-bench, tasty-discover
+     , tasty-hedgehog, tasty-hspec, text
      }:
      mkDerivation {
        pname = "evm-opcodes";
-       version = "0.1.0";
-       sha256 = "1bjn8i6d6vccms4xzs877cpmd75v0kgd349a024gig3rfsxqadn5";
+       version = "0.1.1";
+       sha256 = "07y2j1d6q9mnq3qaz2nf9394p88rnil6naanfxb608d9qa0cxbg9";
        libraryHaskellDepends = [
          base bytestring cereal containers data-dword text
        ];
@@ -90138,6 +90275,9 @@ self: {
          tasty-discover tasty-hedgehog tasty-hspec text
        ];
        testToolDepends = [ tasty-discover ];
+       benchmarkHaskellDepends = [
+         base bytestring cereal containers data-dword tasty-bench text
+       ];
        description = "Opcode types for Ethereum Virtual Machine (EVM)";
        license = lib.licenses.mit;
      }) {};
@@ -92884,10 +93024,8 @@ self: {
      }:
      mkDerivation {
        pname = "fastsum";
-       version = "0.1.1.1";
-       sha256 = "0j9jd068xgk7nn2ilgdkv1pxngflqqgxz1pnhdssgiih04v8zw5l";
-       revision = "1";
-       editedCabalFile = "0mmdkpgxlc6fsl5pq8kgdh41h08m86s0y4wnan293h3c74q1xd6x";
+       version = "0.2.0.0";
+       sha256 = "1yjsmk8ws6y5rbv23d3jqyqz4pvkzn44dmx1gflldgdfm9xi31ac";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -95250,23 +95388,6 @@ self: {
      }:
      mkDerivation {
        pname = "fingertree";
-       version = "0.1.4.2";
-       sha256 = "0zvandj8fysck7ygpn0dw5bhrhmj1s63i326nalxbfkh2ls4iacm";
-       libraryHaskellDepends = [ base ];
-       testHaskellDepends = [
-         base HUnit QuickCheck test-framework test-framework-hunit
-         test-framework-quickcheck2
-       ];
-       description = "Generic finger-tree structure, with example instances";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "fingertree_0_1_5_0" = callPackage
-    ({ mkDerivation, base, HUnit, QuickCheck, test-framework
-     , test-framework-hunit, test-framework-quickcheck2
-     }:
-     mkDerivation {
-       pname = "fingertree";
        version = "0.1.5.0";
        sha256 = "0wdzpli8bpgk8lrsp105zb0y5gn1r2029laclvhz264bza93q9pk";
        libraryHaskellDepends = [ base ];
@@ -95276,7 +95397,6 @@ self: {
        ];
        description = "Generic finger-tree structure, with example instances";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "fingertree-psqueue" = callPackage
@@ -98300,12 +98420,12 @@ self: {
      }) {};
 
   "formatn" = callPackage
-    ({ mkDerivation, base, containers, text }:
+    ({ mkDerivation, base, containers, QuickCheck, text }:
      mkDerivation {
        pname = "formatn";
-       version = "0.1.0";
-       sha256 = "1svixdvwzxmf5n6vx3pgx065z2gkabk563pp38bmp5z4mxvf67d9";
-       libraryHaskellDepends = [ base containers text ];
+       version = "0.2.0";
+       sha256 = "1hgrii092rlxhmf23ckj51rj53qkwljh3rahnm0rz4rpnrm6xxjq";
+       libraryHaskellDepends = [ base containers QuickCheck text ];
        description = "Formatting of doubles";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -98343,8 +98463,8 @@ self: {
        pname = "formatting";
        version = "7.1.3";
        sha256 = "1vrc2i1b6lxx2aq5hysfl3gl6miq2wbhxc384axvgrkqjbibnqc0";
-       revision = "1";
-       editedCabalFile = "046cm1jvxmsmpclrwmwc1pj90f2qdhd5ysya0ckzqrc3ls6fgcxz";
+       revision = "2";
+       editedCabalFile = "1i3qkhxqhvqd7mqfdc1mbizw1fin7vp4dwzayc2y0sqcbg7kkns7";
        libraryHaskellDepends = [
          base clock double-conversion ghc-prim old-locale scientific text
          time transformers
@@ -98785,6 +98905,8 @@ self: {
        pname = "fourmolu";
        version = "0.5.0.1";
        sha256 = "1dal9nl08g4c8pjkn8nbk5rxbdlnl9bbavybv52kzry7qhlg71px";
+       revision = "1";
+       editedCabalFile = "1jkam52bff82id2bhwmwxi52d3k85pami2530qp6xci1h488gqyh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -99160,8 +99282,8 @@ self: {
      }:
      mkDerivation {
        pname = "freckle-app";
-       version = "1.0.2.3";
-       sha256 = "05khvp1gr3ngrcfz4ly9zjmxp8pdiyjmmbrc4pv2rrlpgmnj1zfk";
+       version = "1.0.2.8";
+       sha256 = "072jq8bqxa7h067hplhwp8zfnx1ygfcg1yxjyj10lwxdmr3barsw";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring case-insensitive conduit
          containers data-default datadog doctest ekg-core errors exceptions
@@ -101481,7 +101603,7 @@ self: {
        license = lib.licenses.isc;
      }) {};
 
-  "futhark_0_21_5" = callPackage
+  "futhark_0_21_6" = callPackage
     ({ mkDerivation, aeson, alex, ansi-terminal, array, base
      , base16-bytestring, binary, blaze-html, bmp, bytestring
      , bytestring-to-vector, cmark-gfm, containers, cryptohash-md5
@@ -101496,8 +101618,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark";
-       version = "0.21.5";
-       sha256 = "1an0xk4hqma5hd5jq3m00l0f2kkh8mpg01ww488xsbh1976jm1dy";
+       version = "0.21.6";
+       sha256 = "1981w3yzzfhlqs5p98mdb5b3yhhck1lvcxx12j3krsa4raclf8s6";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -101569,8 +101691,8 @@ self: {
      }:
      mkDerivation {
        pname = "futhark-server";
-       version = "1.1.2.0";
-       sha256 = "09kc04j5lajzc4k335sc9vcj0i0is939qvrkk10k4ib9a64nrli1";
+       version = "1.1.2.1";
+       sha256 = "0hbglw570j09r8f7cxcyn7dr99iykw94p6fglncw8l210jvcffbm";
        libraryHaskellDepends = [
          base binary bytestring directory futhark-data mtl process temporary
          text
@@ -106129,6 +106251,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "ghc-events_0_17_0_2" = callPackage
+    ({ mkDerivation, array, base, binary, bytestring, containers, text
+     , vector
+     }:
+     mkDerivation {
+       pname = "ghc-events";
+       version = "0.17.0.2";
+       sha256 = "0dkzxpfiqpd1i1lhrssp1b242111228ap113iavarr9hb7y8rl72";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         array base binary bytestring containers text vector
+       ];
+       executableHaskellDepends = [ base containers ];
+       testHaskellDepends = [ base ];
+       description = "Library and tool for parsing .eventlog files from GHC";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-events-analyze" = callPackage
     ({ mkDerivation, base, blaze-svg, bytestring, containers
      , diagrams-lib, diagrams-svg, filepath, ghc-events, hashable, lens
@@ -106215,6 +106357,19 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "ghc-exactprint_1_5_0" = callPackage
+    ({ mkDerivation }:
+     mkDerivation {
+       pname = "ghc-exactprint";
+       version = "1.5.0";
+       sha256 = "07m4cg47knrrvpyimnbc0nq9176vkzwwa64b2iqfj6azn6q2hagp";
+       isLibrary = true;
+       isExecutable = true;
+       description = "ExactPrint for GHC";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "ghc-gc-tune" = callPackage
     ({ mkDerivation, base, directory, filepath, process }:
      mkDerivation {
@@ -106285,6 +106440,24 @@ self: {
        broken = true;
      }) {};
 
+  "ghc-hs-meta" = callPackage
+    ({ mkDerivation, base, bytestring, ghc, ghc-boot, hspec
+     , template-haskell
+     }:
+     mkDerivation {
+       pname = "ghc-hs-meta";
+       version = "0.1.0.0";
+       sha256 = "0csbhd6agq3siwrlkjc063jynzxplpwi3x288kw3hhaz5nz1v3ck";
+       libraryHaskellDepends = [
+         base bytestring ghc ghc-boot template-haskell
+       ];
+       testHaskellDepends = [
+         base bytestring ghc ghc-boot hspec template-haskell
+       ];
+       description = "Translate Haskell source to Template Haskell expression";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "ghc-imported-from" = callPackage
     ({ mkDerivation, base, bytestring, Cabal, containers, directory
      , exceptions, filepath, ghc, ghc-mod, ghc-paths, ghc-syb-utils
@@ -106913,22 +107086,6 @@ self: {
      }:
      mkDerivation {
        pname = "ghc-source-gen";
-       version = "0.4.2.0";
-       sha256 = "1cb4yb48xzpdlrbw3gp6gf6nmjgyy0i9yzh63scl872allv8jfm3";
-       libraryHaskellDepends = [ base ghc ];
-       testHaskellDepends = [
-         base ghc ghc-paths QuickCheck tasty tasty-hunit tasty-quickcheck
-       ];
-       description = "Constructs Haskell syntax trees for the GHC API";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "ghc-source-gen_0_4_3_0" = callPackage
-    ({ mkDerivation, base, ghc, ghc-paths, QuickCheck, tasty
-     , tasty-hunit, tasty-quickcheck
-     }:
-     mkDerivation {
-       pname = "ghc-source-gen";
        version = "0.4.3.0";
        sha256 = "1lhqsklibgiv51hs8mnrkn784rc5sxf5z8cfv8hf9jqlny50720f";
        libraryHaskellDepends = [ base ghc ];
@@ -106937,7 +107094,6 @@ self: {
        ];
        description = "Constructs Haskell syntax trees for the GHC API";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "ghc-srcspan-plugin" = callPackage
@@ -112503,8 +112659,8 @@ self: {
      }:
      mkDerivation {
        pname = "gmail-simple";
-       version = "0.1.0.2";
-       sha256 = "03zqp5gl3jxn2y5mx3qpb9xxj1zsbsbqapz9jdmvfrxdsb1xsa56";
+       version = "0.1.0.4";
+       sha256 = "1xjgww7hn27x4vmj23ji3i2r2552kkinbc0170k6sc5f2bxdda6f";
        libraryHaskellDepends = [
          aeson base base64 blaze-html bytestring containers cryptonite
          http-api-data http-conduit http-media jwt text time
@@ -112687,6 +112843,28 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "gnuplot_0_5_7" = callPackage
+    ({ mkDerivation, array, base, containers, data-accessor
+     , data-accessor-transformers, deepseq, filepath, process
+     , semigroups, temporary, time, transformers, utility-ht
+     }:
+     mkDerivation {
+       pname = "gnuplot";
+       version = "0.5.7";
+       sha256 = "1glahh3si5bpazsklnpwxx4h4ivgb4wyngc032797zq1496fhhm3";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         array base containers data-accessor data-accessor-transformers
+         deepseq filepath process semigroups temporary time transformers
+         utility-ht
+       ];
+       description = "2D and 3D plots using gnuplot";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "gnutls" = callPackage
     ({ mkDerivation, base, bytestring, gnutls, monads-tf, transformers
      }:
@@ -115078,8 +115256,8 @@ self: {
        pname = "goldplate";
        version = "0.2.0";
        sha256 = "1f2n981676ykrv08fgdj87mj5r4841a18ywvgpc2hgapsgwbgma1";
-       revision = "1";
-       editedCabalFile = "09lsr2pvdrlaik4icyd18yiwnm4p87831pl3bbljmdsdc4rbwkp0";
+       revision = "2";
+       editedCabalFile = "1wnpg7147k48nca58lp3xg8dv38jnj8k2hdbv0312d9ndqpiws8b";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -115483,14 +115661,14 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, containers, exceptions
      , filepath, generic-deriving, generic-random, HUnit, lens
      , lens-aeson, mtl, QuickCheck, quickcheck-instances, random
-     , raw-strings-qq, retry, tasty, tasty-hunit, tasty-quickcheck, text
-     , time, transformers, unix, unliftio, unordered-containers, vector
-     , wreq
+     , raw-strings-qq, retry, tasty, tasty-discover, tasty-hunit
+     , tasty-quickcheck, text, time, transformers, unix, unliftio
+     , unordered-containers, vector, wreq
      }:
      mkDerivation {
        pname = "gopro-plus";
-       version = "0.6.0.4";
-       sha256 = "0w0nbrbv7vb9i19wqn1za1prhj9bglqm1ac0sp1jpv8vbksiv21w";
+       version = "0.6.1.1";
+       sha256 = "1nip991jcv1pqa5zb83wdbf6pnimzp9d39az9zbvlvgkrrnkf522";
        libraryHaskellDepends = [
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random lens lens-aeson mtl QuickCheck
@@ -115501,9 +115679,10 @@ self: {
          aeson base bytestring containers exceptions filepath
          generic-deriving generic-random HUnit lens lens-aeson mtl
          QuickCheck quickcheck-instances random raw-strings-qq retry tasty
-         tasty-hunit tasty-quickcheck text time transformers unix unliftio
-         unordered-containers vector wreq
+         tasty-discover tasty-hunit tasty-quickcheck text time transformers
+         unix unliftio unordered-containers vector wreq
        ];
+       testToolDepends = [ tasty-discover ];
        description = "GoPro Plus Client API";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -121105,6 +121284,8 @@ self: {
        pname = "hakyll";
        version = "4.15.1.1";
        sha256 = "0b3bw275q1xbx8qs9a6gzzs3c9z3qdj7skqhpp09jkchi5kdvhvi";
+       revision = "1";
+       editedCabalFile = "020nb84lc4xl87zysy5v81f91aw494r5aa917z08vw2zsd3jdl9g";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -122548,8 +122729,8 @@ self: {
      }:
      mkDerivation {
        pname = "happstack-authenticate";
-       version = "2.4.1.1";
-       sha256 = "164pjybk054a3h3ydfakzibngpmp8a4cbzg0sip9slfb739nz25j";
+       version = "2.5.1";
+       sha256 = "13v128xcjdflzqiszal8iwbnp0ia02p2n52hwlhvb5ip2c4gipkm";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          acid-state aeson authenticate base base64-bytestring boomerang
@@ -125207,8 +125388,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-language-server";
-       version = "1.6.1.0";
-       sha256 = "1dc711b46kilb7dqr19m63hc20q2nzy5c6p5dzg3a4g5ixkaimwl";
+       version = "1.6.1.1";
+       sha256 = "03z650zk7ma0gsmb7mirzarwg0535kwmwyf0h8a89s8bqfcd5mxf";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -125790,10 +125971,8 @@ self: {
     ({ mkDerivation, array, base, happy, pretty, syb }:
      mkDerivation {
        pname = "haskell-src";
-       version = "1.0.3.1";
-       sha256 = "0cjigvshk4b8wqdk0v0hz9ag1kyjjsmqsy4a1m3n28ac008cg746";
-       revision = "5";
-       editedCabalFile = "1qaibp1b1szb3ci5lhsxa3lh7iwyfzr5gjnmb4nypqwjqs05dk2c";
+       version = "1.0.4";
+       sha256 = "1spkhv83hy5v1lxs44l3w53vk8zj7gnx42c40hrkj4fcz6apdiwb";
        libraryHaskellDepends = [ array base pretty syb ];
        libraryToolDepends = [ happy ];
        description = "Support for manipulating Haskell source code";
@@ -125937,8 +126116,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskell-src-meta";
-       version = "0.8.8";
-       sha256 = "0fg5h6k8m6hf7vwmczp8my2p1js5srhj7bcl7q0pdgd2d0lx43dd";
+       version = "0.8.9";
+       sha256 = "0y3hnqg33pqzc66nl58va8lvwvmb0mx5q0p9r55i6cc3xwjahiyx";
        libraryHaskellDepends = [
          base haskell-src-exts pretty syb template-haskell th-orphans
        ];
@@ -126939,8 +127118,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskellish";
-       version = "0.3.1";
-       sha256 = "1a3lsdy78f4lfgrag2ppy4yp2snvn1dg5krhbxwarl70sd2j4fhg";
+       version = "0.3.2";
+       sha256 = "1rrzgzgajga1gvw6cfmlif1crzy7zr0dq7wyx1r6rp7sf0drrgxr";
        libraryHaskellDepends = [
          base containers haskell-src-exts mtl template-haskell text
        ];
@@ -127450,8 +127629,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store";
-       version = "0.64.18";
-       sha256 = "19prs0gz8klr52w0kiad7s26mpr352i4q98ixdn2409di4mzl42x";
+       version = "0.64.19";
+       sha256 = "1vbq7wq26lc1kknrfcrxlvfbadkxjrzbv6biqkvwylg3m7iwdd7d";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -127498,8 +127677,8 @@ self: {
      }:
      mkDerivation {
        pname = "haskoin-store-data";
-       version = "0.64.18";
-       sha256 = "0kpzvl4xv4gxln9qcnlg658fakjr6j1yxxz8f6ixn8bsaqmaicrx";
+       version = "0.64.19";
+       sha256 = "1ik200gd6lzd86kcfksjs49025ym47byih1k4aghck6hc55dh3jf";
        libraryHaskellDepends = [
          aeson base binary bytes bytestring cereal containers data-default
          deepseq hashable haskoin-core http-client http-types lens mtl
@@ -128361,7 +128540,7 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hasql_1_5_0_1" = callPackage
+  "hasql_1_5_0_2" = callPackage
     ({ mkDerivation, attoparsec, base, bytestring
      , bytestring-strict-builder, contravariant, contravariant-extras
      , dlist, gauge, hashable, hashtables, mtl, postgresql-binary
@@ -128371,8 +128550,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql";
-       version = "1.5.0.1";
-       sha256 = "0y8q3jh6lf9nc3xj4l1rql2g1r0id5j7gjmicqq6rqz6k0njs8h9";
+       version = "1.5.0.2";
+       sha256 = "1f9faq0f2bilylc0rd64s0icrp086qb0q70w4z4vih2hs0sx6fs0";
        libraryHaskellDepends = [
          attoparsec base bytestring bytestring-strict-builder contravariant
          dlist hashable hashtables mtl postgresql-binary postgresql-libpq
@@ -128533,20 +128712,20 @@ self: {
   "hasql-interpolate" = callPackage
     ({ mkDerivation, aeson, array, base, bytestring, containers
      , haskell-src-meta, hasql, megaparsec, mtl, scientific, tasty
-     , tasty-hunit, template-haskell, text, time, transformers, uuid
-     , vector
+     , tasty-hunit, template-haskell, text, time, tmp-postgres
+     , transformers, uuid, vector
      }:
      mkDerivation {
        pname = "hasql-interpolate";
-       version = "0.1.0.1";
-       sha256 = "134h9jrqdnvki97dq3cagzwabcnbcbls72l5f32m9s44dbrnq5bl";
+       version = "0.1.0.2";
+       sha256 = "1snayn9g5xa9q4c38p8s0ir6ij32js17b02qsacif6v080hqw94b";
        libraryHaskellDepends = [
          aeson array base bytestring containers haskell-src-meta hasql
          megaparsec mtl scientific template-haskell text time transformers
          uuid vector
        ];
        testHaskellDepends = [
-         base hasql tasty tasty-hunit template-haskell text
+         base hasql tasty tasty-hunit template-haskell text tmp-postgres
        ];
        description = "QuasiQuoter that supports expression interpolation for hasql";
        license = lib.licenses.bsd3;
@@ -128598,8 +128777,8 @@ self: {
      }:
      mkDerivation {
        pname = "hasql-optparse-applicative";
-       version = "0.3.0.7";
-       sha256 = "1ncv3xs9kxgzibmxddrxii1ik9z6iw2p1q0lbli8n56d4y1rs570";
+       version = "0.3.0.8";
+       sha256 = "1yx56vi1dpymxk5c3rkk74bbghcxfp6x333xn2j4x2ls38676dvg";
        libraryHaskellDepends = [
          base-prelude hasql hasql-pool optparse-applicative
        ];
@@ -128737,6 +128916,111 @@ self: {
        broken = true;
      }) {};
 
+  "hasql-streams-conduit" = callPackage
+    ({ mkDerivation, base, conduit, hasql, hasql-streams-core
+     , hasql-transaction-io, transformers
+     }:
+     mkDerivation {
+       pname = "hasql-streams-conduit";
+       version = "0.1.0.0";
+       sha256 = "0cv6lzn6pax98ch1qm5yjxdg3p4z6k4bjvmcz1srr9hqda2bv15b";
+       libraryHaskellDepends = [
+         base conduit hasql hasql-streams-core hasql-transaction-io
+         transformers
+       ];
+       description = "Stream Hasql queries with Conduit";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "hasql-streams-core" = callPackage
+    ({ mkDerivation, base, hasql, hasql-transaction-io }:
+     mkDerivation {
+       pname = "hasql-streams-core";
+       version = "0.1.0.0";
+       sha256 = "01dqqs0daknyz4zn6dq13zyw5fky8ahq2mwv9kra1zl30f6xd3kh";
+       libraryHaskellDepends = [ base hasql hasql-transaction-io ];
+       description = "Stream Hasql queries";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "hasql-streams-example" = callPackage
+    ({ mkDerivation, base, bytestring, conduit, hasql
+     , hasql-streams-conduit, hasql-streams-pipes
+     , hasql-streams-streaming, hasql-streams-streamly, hasql-th
+     , hasql-transaction, hasql-transaction-io, mtl, pipes, rel8
+     , resourcet, safe-exceptions, streaming, streamly, text
+     , unliftio-core
+     }:
+     mkDerivation {
+       pname = "hasql-streams-example";
+       version = "0.1.0.0";
+       sha256 = "1mj5jg1mjsn08yn1ndia1wyygbrn62dbj7fw6y2gkmqz5aysip86";
+       isLibrary = false;
+       isExecutable = true;
+       executableHaskellDepends = [
+         base bytestring conduit hasql hasql-streams-conduit
+         hasql-streams-pipes hasql-streams-streaming hasql-streams-streamly
+         hasql-th hasql-transaction hasql-transaction-io mtl pipes rel8
+         resourcet safe-exceptions streaming streamly text unliftio-core
+       ];
+       description = "An example program that shows how to use Hasql streams with Rel8";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "hasql-streams-pipes" = callPackage
+    ({ mkDerivation, base, hasql, hasql-streams-core
+     , hasql-transaction-io, pipes, transformers
+     }:
+     mkDerivation {
+       pname = "hasql-streams-pipes";
+       version = "0.1.0.0";
+       sha256 = "1gnlz8zq1k9gngg7qyxbiyvypmjfd1idykad8vq3q3rjwxjp4i0j";
+       libraryHaskellDepends = [
+         base hasql hasql-streams-core hasql-transaction-io pipes
+         transformers
+       ];
+       description = "Stream Hasql queries with Pipes";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "hasql-streams-streaming" = callPackage
+    ({ mkDerivation, base, hasql, hasql-streams-core
+     , hasql-transaction-io, streaming, transformers
+     }:
+     mkDerivation {
+       pname = "hasql-streams-streaming";
+       version = "0.1.0.0";
+       sha256 = "0qmwm6skp8llsj43rzkkl55if7qmgrg3lrc8nknil3z9282pbx9r";
+       libraryHaskellDepends = [
+         base hasql hasql-streams-core hasql-transaction-io streaming
+         transformers
+       ];
+       description = "Stream Hasql queries with Streaming";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
+  "hasql-streams-streamly" = callPackage
+    ({ mkDerivation, base, hasql, hasql-streams-core
+     , hasql-transaction-io, streamly, transformers
+     }:
+     mkDerivation {
+       pname = "hasql-streams-streamly";
+       version = "0.1.0.0";
+       sha256 = "08afl6cb86q46cfr86y3zzdrh6rfvj5s6l91v3y2v9mr56yr1knl";
+       libraryHaskellDepends = [
+         base hasql hasql-streams-core hasql-transaction-io streamly
+         transformers
+       ];
+       description = "Stream Hasql queries with Streamly";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "hasql-th" = callPackage
     ({ mkDerivation, base, bytestring, containers, contravariant, foldl
      , hasql, postgresql-syntax, template-haskell
@@ -130873,8 +131157,8 @@ self: {
      }:
      mkDerivation {
        pname = "heavy-logger";
-       version = "0.3.2.1";
-       sha256 = "09m8wqldmiwys4g5fjisgfc192g55y88gr9akgfhs18nm1gggix6";
+       version = "0.3.2.2";
+       sha256 = "0cav6m9h4wbawzy1kpbhlm3lqsgbvsl41znya1vpdmbgn0a416mf";
        libraryHaskellDepends = [
          attoparsec base bytestring containers data-default fast-logger
          hsyslog lifted-base monad-control monad-logger mtl stm
@@ -130904,19 +131188,19 @@ self: {
 
   "heavy-logger-instances" = callPackage
     ({ mkDerivation, base, binary, exceptions, heavy-logger, hsyslog
-     , mtl, template-haskell, text, text-format-heavy
+     , mtl, template-haskell, text, text-format-heavy, unliftio-core
      }:
      mkDerivation {
        pname = "heavy-logger-instances";
-       version = "0.2.0.0";
-       sha256 = "0flh5j79ijkvdwhjg1gn3qkhybzspvg1jh8nib18fgzmvcx8zckm";
+       version = "0.2.1.1";
+       sha256 = "18pcg16v0azjzvc9dsr46s3y7wx5sz4i4lmly3d1rk2hwxc29r2q";
        libraryHaskellDepends = [
          base binary exceptions heavy-logger hsyslog mtl template-haskell
-         text text-format-heavy
+         text text-format-heavy unliftio-core
        ];
        testHaskellDepends = [
          base binary exceptions heavy-logger hsyslog mtl template-haskell
-         text text-format-heavy
+         text text-format-heavy unliftio-core
        ];
        description = "Orphan instances for data types in heavy-logger package";
        license = lib.licenses.bsd3;
@@ -131133,25 +131417,12 @@ self: {
     ({ mkDerivation, base, containers, fakedata, hedgehog, random }:
      mkDerivation {
        pname = "hedgehog-fakedata";
-       version = "0.0.1.4";
-       sha256 = "1pa8kf6pxsvmfy8r29xk486cdi38881blqj1lcnjya98ilb6ldx3";
-       libraryHaskellDepends = [ base fakedata hedgehog random ];
-       testHaskellDepends = [ base containers fakedata hedgehog ];
-       description = "Use 'fakedata' with 'hedgehog'";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "hedgehog-fakedata_0_0_1_5" = callPackage
-    ({ mkDerivation, base, containers, fakedata, hedgehog, random }:
-     mkDerivation {
-       pname = "hedgehog-fakedata";
        version = "0.0.1.5";
        sha256 = "00k26d83v0646klrg0k3cf94r4fnnx3ykxv7i8shjjgbkbzlzz78";
        libraryHaskellDepends = [ base fakedata hedgehog random ];
        testHaskellDepends = [ base containers fakedata hedgehog ];
        description = "Use 'fakedata' with 'hedgehog'";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "hedgehog-fn" = callPackage
@@ -131160,6 +131431,8 @@ self: {
        pname = "hedgehog-fn";
        version = "1.0";
        sha256 = "05drd7jsz54kgwxr5z9vifmql6xif7ma7878qddw2nss5s6wa2qp";
+       revision = "1";
+       editedCabalFile = "1rl2mf182yrlpgcm2130lsnq5jwrcpp16x6p47i27kjrpbm55g54";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -137053,6 +137326,8 @@ self: {
        pname = "hls-class-plugin";
        version = "1.0.2.0";
        sha256 = "0drpxrazhwd228skgky7xdzcf22gi1pi2lby0dj0nzpzhrdl0pw0";
+       revision = "1";
+       editedCabalFile = "18x8k0gwpxv0vs4d8rbl5p0pjf75apb142i0p8vssbpvjwiwx33i";
        libraryHaskellDepends = [
          aeson base containers ghc ghc-exactprint ghcide hls-plugin-api lens
          lsp text transformers
@@ -137347,25 +137622,20 @@ self: {
 
   "hls-rename-plugin" = callPackage
     ({ mkDerivation, base, containers, extra, filepath, ghc
-     , ghc-exactprint, ghcide, hiedb, hls-plugin-api, hls-retrie-plugin
-     , hls-test-utils, lsp, lsp-types, syb, text, transformers
+     , ghc-exactprint, ghcide, hiedb, hls-plugin-api, hls-test-utils
+     , lsp, lsp-types, syb, text, transformers
      }:
      mkDerivation {
        pname = "hls-rename-plugin";
-       version = "1.0.0.0";
-       sha256 = "0j13nh3fvvmj1sd11fiq9fccq23s6p7jz3m96b49kprkayx65zhh";
-       revision = "1";
-       editedCabalFile = "193q5qz563lvwm1vpfadr7cy7yxk15z2va5p9bw0xjz2x8yhc5fq";
+       version = "1.0.0.1";
+       sha256 = "04l2w3x60ayxa9a6cdmscrfvyx9fsnbl4q05m8f0s1s18zlgjf86";
        libraryHaskellDepends = [
          base containers extra ghc ghc-exactprint ghcide hiedb
-         hls-plugin-api hls-retrie-plugin lsp lsp-types syb text
-         transformers
+         hls-plugin-api lsp lsp-types syb text transformers
        ];
        testHaskellDepends = [ base filepath hls-test-utils ];
        description = "Rename plugin for Haskell Language Server";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "hls-retrie-plugin" = callPackage
@@ -138546,8 +138816,8 @@ self: {
      }:
      mkDerivation {
        pname = "hoauth2";
-       version = "1.16.1";
-       sha256 = "17845a9p2k2390xwnh1k2v9a1sdwjn5r5riww54nknxv2vqdkf42";
+       version = "1.16.2";
+       sha256 = "0yw9fnpac1ryk0pn0ikf4g1p687mvschrnpj7szlcj6am78ldqzx";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -138719,6 +138989,8 @@ self: {
        testHaskellDepends = [ base hspec MissingH parsec split ];
        description = "Small library for typesafe's configuration specification";
        license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "hodatime" = callPackage
@@ -142010,8 +142282,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-api";
-       version = "0.0.3.0";
-       sha256 = "03h84hks4g7nvkr38li5f59vcm48if7zjjcwcyx6kakk6hikmwx1";
+       version = "0.0.3.1";
+       sha256 = "04mhiqk8xbm07dfqc33vwzxd0kwb9jxqbfzd3pc4qvfpkkygmy7v";
        libraryHaskellDepends = [
          async attoparsec base binary bytestring charset clock containers
          ghc-prim hashable http-types memory mtl template-haskell text
@@ -142086,8 +142358,8 @@ self: {
      }:
      mkDerivation {
        pname = "hs-opentelemetry-instrumentation-http-client";
-       version = "0.0.1.1";
-       sha256 = "0rhskdibz7g87b04yr44yqxfjf28iavf2akp4m9104yp8vf099hb";
+       version = "0.0.2.0";
+       sha256 = "1miw1p8dzwsnmdl63jyrbw8lygb5gk1j76dix9pmpsjp2520977j";
        libraryHaskellDepends = [
          aeson base bytestring case-insensitive conduit hs-opentelemetry-api
          hs-opentelemetry-instrumentation-conduit http-client
@@ -142865,8 +143137,8 @@ self: {
      }:
      mkDerivation {
        pname = "hsaml2";
-       version = "0.1.1";
-       sha256 = "1jlsmsnrr3ya7az4mpb6f2spwcw3m45yzix2p3lkajbz8a6kfzac";
+       version = "0.1.2";
+       sha256 = "06vnnq5lvx3wrh6jl64vcm14fi4yj2yv9q424p2ixn55x0bsfk3i";
        libraryHaskellDepends = [
          asn1-encoding asn1-types base base64-bytestring bytestring
          cryptonite data-default http-types hxt hxt-charproperties
@@ -142875,8 +143147,8 @@ self: {
        ];
        libraryPkgconfigDepends = [ libxml2 ];
        testHaskellDepends = [
-         base base64-bytestring bytestring cryptonite HUnit hxt hxt-http
-         network-uri semigroups string-conversions time x509
+         base base64-bytestring bytestring cryptonite http-types HUnit hxt
+         hxt-http network-uri semigroups string-conversions time x509
        ];
        description = "OASIS Security Assertion Markup Language (SAML) V2.0";
        license = lib.licenses.asl20;
@@ -143954,17 +144226,17 @@ self: {
 
   "hsendxmpp" = callPackage
     ({ mkDerivation, base, hslogger, pontarius-xmpp
-     , pontarius-xmpp-extras, string-class, text
+     , pontarius-xmpp-extras, string-class, text, tls
      }:
      mkDerivation {
        pname = "hsendxmpp";
-       version = "0.1.2.6";
-       sha256 = "1w3jm8lsll65i57iqlspw1vzvw5rr4q9qwarq896s0vr8kz68irh";
+       version = "0.1.3";
+       sha256 = "01zwrq37877jb39yji622ibmb8nmgqhgflb9bbl7pnf7ck7cj0aq";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base hslogger pontarius-xmpp pontarius-xmpp-extras string-class
-         text
+         text tls
        ];
        description = "sendxmpp clone, sending XMPP messages via CLI";
        license = lib.licenses.agpl3Only;
@@ -144699,14 +144971,14 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hslua-module-doclayout_1_0_1" = callPackage
+  "hslua-module-doclayout_1_0_2" = callPackage
     ({ mkDerivation, base, doclayout, hslua, tasty, tasty-hunit
      , tasty-lua, text
      }:
      mkDerivation {
        pname = "hslua-module-doclayout";
-       version = "1.0.1";
-       sha256 = "05k4cpi3mpm9gialy0m8by808xl8nc6ccjwfqhh1sp4xm46zp0px";
+       version = "1.0.2";
+       sha256 = "06r1vz2xpvmwd6pghq0g38h3xzagy9043zjqx0ilnxhdx5v5fwcd";
        libraryHaskellDepends = [ base doclayout hslua text ];
        testHaskellDepends = [
          base doclayout hslua tasty tasty-hunit tasty-lua
@@ -145735,18 +146007,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "hspec-junit-formatter_1_1_0_0" = callPackage
+  "hspec-junit-formatter_1_1_0_1" = callPackage
     ({ mkDerivation, base, conduit, containers, directory, exceptions
-     , filepath, hspec, hspec-core, markdown-unlit, temporary, text
-     , time, xml-conduit, xml-types
+     , filepath, hspec, hspec-core, iso8601-time, markdown-unlit
+     , temporary, text, time, xml-conduit, xml-types
      }:
      mkDerivation {
        pname = "hspec-junit-formatter";
-       version = "1.1.0.0";
-       sha256 = "024xvpnyhlgg435bhh4klf2bl8siy7vx0k5y2nccyhv16bchhl96";
+       version = "1.1.0.1";
+       sha256 = "194r8bxfn525mn8vq4dcfkbsn668s11yz4mdqbfr5qy29i1bzm5p";
        libraryHaskellDepends = [
          base conduit containers directory exceptions filepath hspec-core
-         text time xml-conduit xml-types
+         iso8601-time text time xml-conduit xml-types
        ];
        testHaskellDepends = [
          base containers filepath hspec hspec-core markdown-unlit temporary
@@ -147712,6 +147984,8 @@ self: {
        pname = "htoml-megaparsec";
        version = "2.1.0.4";
        sha256 = "08pka0z97b461bf45nvh9gymbvbwhn2dh70dy7x22xmzrigxnxw1";
+       revision = "1";
+       editedCabalFile = "0sziwadc2wlkfpip65d0v2wl6ldlcbn1fww4bwgw4rvmfhyrwbbc";
        libraryHaskellDepends = [
          base composition-prelude containers deepseq megaparsec mtl text
          time unordered-containers vector
@@ -147956,20 +148230,20 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "http-client_0_7_10" = callPackage
+  "http-client_0_7_11" = callPackage
     ({ mkDerivation, array, async, base, base64-bytestring
      , blaze-builder, bytestring, case-insensitive, containers, cookie
      , deepseq, directory, exceptions, filepath, ghc-prim, hspec
-     , http-types, iproute, mime-types, monad-control, network
-     , network-uri, random, stm, streaming-commons, text, time
+     , hspec-discover, http-types, iproute, mime-types, monad-control
+     , network, network-uri, random, stm, streaming-commons, text, time
      , transformers, zlib
      }:
      mkDerivation {
        pname = "http-client";
-       version = "0.7.10";
-       sha256 = "1rypq8hvnsb5g5hhhfhjym5lvvkz82z7yg5d8078scmhzb3r2ck2";
+       version = "0.7.11";
+       sha256 = "12j7vkpkm2djws6ny7vm2324c7916d0iaf1mbvf4mfjxzy2w7imv";
        libraryHaskellDepends = [
-         array base base64-bytestring blaze-builder bytestring
+         array async base base64-bytestring blaze-builder bytestring
          case-insensitive containers cookie deepseq exceptions filepath
          ghc-prim http-types iproute mime-types network network-uri random
          stm streaming-commons text time transformers
@@ -147979,6 +148253,7 @@ self: {
          cookie deepseq directory hspec http-types monad-control network
          network-uri streaming-commons text time transformers zlib
        ];
+       testToolDepends = [ hspec-discover ];
        doCheck = false;
        description = "An HTTP client engine";
        license = lib.licenses.mit;
@@ -148091,6 +148366,8 @@ self: {
        pname = "http-client-openssl";
        version = "0.3.3";
        sha256 = "03rr1wz1907v3gx5qsqdkd850hy47glb574s69265pv6yspaivdx";
+       revision = "1";
+       editedCabalFile = "0f2x40wdd09svjylg1zwapnnqgvxid1fcakvwgxlz61a16w8sfb6";
        libraryHaskellDepends = [
          base bytestring HsOpenSSL HsOpenSSL-x509-system http-client network
        ];
@@ -148159,6 +148436,23 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "http-client-restricted_0_0_5" = callPackage
+    ({ mkDerivation, base, connection, data-default, http-client
+     , http-client-tls, network, network-bsd, utf8-string
+     }:
+     mkDerivation {
+       pname = "http-client-restricted";
+       version = "0.0.5";
+       sha256 = "1vfm9qc3zr0rmq2ddgyg13i67020cdk8xqhyzfc2zcn1km2p6r85";
+       libraryHaskellDepends = [
+         base connection data-default http-client http-client-tls network
+         network-bsd utf8-string
+       ];
+       description = "restricting the servers that http-client will use";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http-client-session" = callPackage
     ({ mkDerivation, base-prelude, bytestring, either, http-client
      , mtl-prelude
@@ -148220,6 +148514,31 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "http-client-tls_0_3_6_1" = callPackage
+    ({ mkDerivation, base, bytestring, case-insensitive, connection
+     , containers, cryptonite, data-default-class, exceptions, gauge
+     , hspec, http-client, http-types, memory, network, network-uri
+     , text, tls, transformers
+     }:
+     mkDerivation {
+       pname = "http-client-tls";
+       version = "0.3.6.1";
+       sha256 = "03f8p9gxdzl6slyw1r6vpv2dqhsyjvbaawbjv75kaq0vlj3gz7xi";
+       libraryHaskellDepends = [
+         base bytestring case-insensitive connection containers cryptonite
+         data-default-class exceptions http-client http-types memory network
+         network-uri text tls transformers
+       ];
+       testHaskellDepends = [
+         base connection hspec http-client http-types
+       ];
+       benchmarkHaskellDepends = [ base gauge http-client ];
+       doCheck = false;
+       description = "http-client backend using the connection package and tls library";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "http-client-websockets" = callPackage
     ({ mkDerivation, base, bytestring, hspec, http-client
      , http-client-tls, network-uri, text, websockets
@@ -148881,13 +149200,12 @@ self: {
      , directory, filepath, ghc-prim, HsOpenSSL, hspec
      , hspec-expectations, http-common, HUnit, io-streams, lifted-base
      , mtl, network, network-uri, openssl-streams, random, snap-core
-     , snap-server, system-fileio, system-filepath, text, transformers
-     , unordered-containers
+     , snap-server, text, transformers, unordered-containers
      }:
      mkDerivation {
        pname = "http-streams";
-       version = "0.8.9.4";
-       sha256 = "03xdcb0v735xdrkjlm1w56mskh3x08cbsjrcd7wn4li65ixc20xa";
+       version = "0.8.9.6";
+       sha256 = "1h8nnp1y4ngv6mwr3fxv428kcvrd3ming179sza8fkn49pcwdlxs";
        libraryHaskellDepends = [
          aeson attoparsec base base64-bytestring blaze-builder bytestring
          case-insensitive directory filepath HsOpenSSL http-common
@@ -148899,8 +149217,7 @@ self: {
          bytestring case-insensitive directory ghc-prim HsOpenSSL hspec
          hspec-expectations http-common HUnit io-streams lifted-base mtl
          network network-uri openssl-streams random snap-core snap-server
-         system-fileio system-filepath text transformers
-         unordered-containers
+         text transformers unordered-containers
        ];
        description = "An HTTP client using io-streams";
        license = lib.licenses.bsd3;
@@ -149985,8 +150302,8 @@ self: {
     ({ mkDerivation, base, hspec }:
      mkDerivation {
        pname = "hvect";
-       version = "0.4.0.0";
-       sha256 = "1dihbqfjwgd92khlrc8mwjxsjbwbassma3bxg8hqr7qqgwdfyl6b";
+       version = "0.4.0.1";
+       sha256 = "01fh0nr4dfkn4aj1fx6chiaijwg9azp8qics48n5arlwn2c4kn5p";
        libraryHaskellDepends = [ base ];
        testHaskellDepends = [ base hspec ];
        description = "Simple strict heterogeneous lists";
@@ -152286,8 +152603,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "hypergeometric";
-       version = "0.1.0.0";
-       sha256 = "0fpwn13bmx750k6ch79aa2alh2dhc2sjdj95272knhc3khp9zxi9";
+       version = "0.1.2.0";
+       sha256 = "19vxqc9ng2vfvqxslxb950ygdqdd3cbqs4m6nqw8mbyjgld2wqd8";
        libraryHaskellDepends = [ base ];
        description = "Hypergeometric functions";
        license = lib.licenses.agpl3Only;
@@ -152798,8 +153115,8 @@ self: {
      }:
      mkDerivation {
        pname = "ice40-prim";
-       version = "0.3.1.2";
-       sha256 = "1jsqisqpwvnj9fibnrs88255hqarmssq62nkm080g7h0n8a14ggr";
+       version = "0.3.1.3";
+       sha256 = "02971h72z9k6rv7p3lkyrf8apkk4angk71n6dyqfkvg2phark2d1";
        libraryHaskellDepends = [
          base clash-prelude ghc-typelits-extra ghc-typelits-knownnat
          ghc-typelits-natnormalise interpolate
@@ -159346,8 +159663,8 @@ self: {
      }:
      mkDerivation {
        pname = "jacinda";
-       version = "0.3.0.0";
-       sha256 = "16m9gqswwqm66w1wynrivis51vhr6xh40gv12z6nf5w2dry8kljx";
+       version = "0.3.1.0";
+       sha256 = "1nn3c91fhq46ng2yh9425cpxlk5mksalx5wrv1d7z0xn5m1v1387";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -160474,8 +160791,8 @@ self: {
      }:
      mkDerivation {
        pname = "jose-jwt";
-       version = "0.9.2";
-       sha256 = "1iwzrpgd9lhp0c2hhyv3nfcv5pw344vp1llqf9vdw5mliz116jn4";
+       version = "0.9.3";
+       sha256 = "1sdcf55mynij8bcwj65j3izay65q2h8dl7lqlhkm3670h3v3f91h";
        libraryHaskellDepends = [
          aeson attoparsec base bytestring cereal containers cryptonite
          memory mtl text time transformers transformers-compat
@@ -162481,6 +162798,8 @@ self: {
        pname = "jwt";
        version = "0.11.0";
        sha256 = "1l9qblq11kbrrmcfnh0hcjqnhmi3qm6va3z4pmi4i32wqh3bwjnx";
+       revision = "1";
+       editedCabalFile = "0afy7kpsw9x2nx7d7fk3jc4rjm6mpiaihihqr5dnqg09wig760h6";
        libraryHaskellDepends = [
          aeson base bytestring containers cryptonite cryptostore http-types
          memory network-uri scientific semigroups text time
@@ -163211,8 +163530,8 @@ self: {
      }:
      mkDerivation {
        pname = "katip-wai";
-       version = "0.1.0.0";
-       sha256 = "1y7f7a0pa9gdp9cvbdqd4xfrd5gazp2wy92hjmrf1fvp35xv1b2f";
+       version = "0.1.1.0";
+       sha256 = "0ajwa6ya0azbffcz2cpsd2kd8fy2s2hbklyj604f27pghl7fki06";
        libraryHaskellDepends = [
          aeson base bytestring clock http-types katip network text uuid wai
        ];
@@ -163908,8 +164227,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-core";
-       version = "0.1.4.0";
-       sha256 = "10jdkcp256q1n63v0pqqml9nvq0fp3paww2fy742f5xvyid927qr";
+       version = "0.1.5.1";
+       sha256 = "09b9zjfsk03xrp34b8z7a48ym1vyhqjwpfv7hdkn3nr3pkgljkf1";
        libraryHaskellDepends = [
          adjunctions base binary bytestring cryptohash-md5 derive-storable
          derive-storable-plugin distributive file-embed foldl geomancy
@@ -163947,8 +164266,8 @@ self: {
      }:
      mkDerivation {
        pname = "keid-render-basic";
-       version = "0.1.4.0";
-       sha256 = "0dyhainb14q3gi1spdfsz31yf6xiisjyp06hzxrqz3q5fg7in0c9";
+       version = "0.1.5.0";
+       sha256 = "0ral2p8i7kjxhil70q2fkirbl0nq3kfrvqzk3x2ykbmx91c90ds0";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          adjunctions aeson base bytestring derive-storable
@@ -164175,6 +164494,22 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "kewar" = callPackage
+    ({ mkDerivation, array, base, containers, HUnit, split }:
+     mkDerivation {
+       pname = "kewar";
+       version = "0.1.1.1";
+       sha256 = "02bqjql9y0kp58wasr1myjf3kd6g2acmzp4f4mb8g8qfbrj15lr1";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [ array base containers split ];
+       executableHaskellDepends = [ array base containers split ];
+       testHaskellDepends = [ array base containers HUnit split ];
+       description = "CLI and library to generate QR codes";
+       license = lib.licenses.mit;
+     }) {};
+
   "key" = callPackage
     ({ mkDerivation, base, transformers }:
      mkDerivation {
@@ -164539,8 +164874,8 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "kind-apply";
-       version = "0.3.2.0";
-       sha256 = "0wq0jfi8jdah6mwc6amrfjs5ld0bz86y53va9sm0hzvpiyb4bpcq";
+       version = "0.3.2.1";
+       sha256 = "0si02ps0aivra87sc57fss088vimvs9j32r7xhbaqv8vh0wi0ng9";
        libraryHaskellDepends = [ base ];
        description = "Utilities to work with lists of types";
        license = lib.licenses.bsd3;
@@ -164550,8 +164885,8 @@ self: {
     ({ mkDerivation, base, kind-apply }:
      mkDerivation {
        pname = "kind-generics";
-       version = "0.4.1.2";
-       sha256 = "0p5svycdf3vwfz871acv2a66qm0ab67ygl0hjdpn01qcl1mzghhm";
+       version = "0.4.1.4";
+       sha256 = "11l1n57wfh1gr9mn0gb9kbkjbrfghmf3qasl0l6fjlbjcl8yvzbm";
        libraryHaskellDepends = [ base kind-apply ];
        description = "Generic programming in GHC style for arbitrary kinds and GADTs";
        license = lib.licenses.bsd3;
@@ -164934,6 +165269,40 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "koneko" = callPackage
+    ({ mkDerivation, aeson, array, async, base, bytestring, cmdargs
+     , deepseq, directory, doctest, filepath, hashtables, megaparsec
+     , random, regex-pcre, safe, silently, split, text, unix
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "koneko";
+       version = "0.0.2";
+       sha256 = "0s6wa3alj7z3jhadghf2rqkdphlr9mbx0n1lhgxljw25nj7x5z00";
+       isLibrary = true;
+       isExecutable = true;
+       enableSeparateDataOutput = true;
+       libraryHaskellDepends = [
+         aeson array async base bytestring cmdargs deepseq directory
+         filepath hashtables megaparsec random regex-pcre safe silently
+         split text unix unordered-containers vector
+       ];
+       executableHaskellDepends = [
+         aeson array async base bytestring cmdargs deepseq directory
+         filepath hashtables megaparsec random regex-pcre safe silently
+         split text unix unordered-containers vector
+       ];
+       testHaskellDepends = [
+         aeson array async base bytestring cmdargs deepseq directory doctest
+         filepath hashtables megaparsec random regex-pcre safe silently
+         split text unix unordered-containers vector
+       ];
+       description = "a concatenative not-quite-lisp for kittens";
+       license = lib.licenses.gpl3Plus;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "kontra-config" = callPackage
     ({ mkDerivation, base, bytestring, data-default, exceptions, text
      , transformers-base, unjson, utf8-string, yaml
@@ -166654,6 +167023,8 @@ self: {
        pname = "language-c";
        version = "0.9.0.1";
        sha256 = "01yj353n85qcv9zvaf19f1260rip26h6gxqahplkx9fy7ybbnk6l";
+       revision = "1";
+       editedCabalFile = "0wvrvfphz5r2yqxgxfn0ki9vmqhxh49qx41xdidmibp5i826c2mn";
        libraryHaskellDepends = [
          array base bytestring containers deepseq directory filepath mtl
          pretty process
@@ -168013,10 +168384,8 @@ self: {
      }:
      mkDerivation {
        pname = "lapack-ffi-tools";
-       version = "0.1.2.1";
-       sha256 = "0hk54psm066acgn24mw5dbbhz4a0nqvyks75302cabijbp524gdh";
-       revision = "1";
-       editedCabalFile = "1h5chlb66ycg96ab56hwqr4qk82l19gq1pg1zfzhfdl5byg24fln";
+       version = "0.1.3";
+       sha256 = "0qk5a43w8xn8pp9bhmjmjyvriiin2dyf4nvk13w858hsxyx6xqkx";
        isLibrary = false;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -170118,8 +170487,8 @@ self: {
        pname = "lentil";
        version = "1.5.3.2";
        sha256 = "0knc3g5n6h0yzr0kpgmgk44kbwh200qafjdvwpca92n3s0wf76py";
-       revision = "1";
-       editedCabalFile = "07f2bmplq73fvr2qylaz5w1p5ma20nrs32jwf1gbndp3cqklwjzi";
+       revision = "2";
+       editedCabalFile = "0n5wklh6f33c9yzblxwbx3mx04fxdx7mmqp551z9xfy6nnwg8hrp";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -170563,16 +170932,16 @@ self: {
   "libarchive" = callPackage
     ({ mkDerivation, base, bytestring, c2hs, Cabal, chs-cabal
      , composition-prelude, cpphs, criterion, deepseq, dir-traverse
-     , directory, dlist, filepath, hspec, hspec-core, libarchive, mtl
+     , directory, dlist, filepath, hspec, libarchive, mtl
      , pathological-bytestrings, tar, tar-conduit, temporary
      , unix-compat
      }:
      mkDerivation {
        pname = "libarchive";
-       version = "3.0.3.1";
-       sha256 = "1rkm6n2p41i6lxdfsrvpv5sbz2p3mgyp3xx6g437fcgjjbdsyx3q";
-       revision = "1";
-       editedCabalFile = "0r48nmczidz00l19cbmq05f766wipc9dwkqb3xsvbwwcazapbjkz";
+       version = "3.0.3.2";
+       sha256 = "000yq98nm151p0j95nm6dy2pp4g0dz8sh704ga3gcsp2dhk3vrji";
+       isLibrary = true;
+       isExecutable = true;
        setupHaskellDepends = [ base Cabal chs-cabal ];
        libraryHaskellDepends = [
          base bytestring composition-prelude deepseq dlist filepath mtl
@@ -170582,7 +170951,7 @@ self: {
        libraryToolDepends = [ c2hs cpphs ];
        testHaskellDepends = [
          base bytestring composition-prelude deepseq dir-traverse directory
-         filepath hspec hspec-core mtl pathological-bytestrings temporary
+         filepath hspec mtl pathological-bytestrings temporary
        ];
        testToolDepends = [ cpphs ];
        benchmarkHaskellDepends = [
@@ -171933,8 +172302,8 @@ self: {
      }:
      mkDerivation {
        pname = "lifx-lan";
-       version = "0.6.0.1";
-       sha256 = "0fld72ndissfkpqzkzxvqgqqpjvii8slb5vdz4h9w5s1fzpz8rvj";
+       version = "0.6.2";
+       sha256 = "1lshzfgx0cgjqpxlknbsqwvhkmn2jc30zgyzj7lsr3jqqr41zssn";
        libraryHaskellDepends = [
          base binary bytestring composition containers extra monad-loops mtl
          network random safe text time transformers
@@ -174150,15 +174519,15 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "literatex_0_2_0_1" = callPackage
+  "literatex_0_2_0_2" = callPackage
     ({ mkDerivation, ansi-wl-pprint, base, bytestring, conduit
      , filepath, optparse-applicative, tasty, tasty-hunit, text, ttc
      , unliftio
      }:
      mkDerivation {
        pname = "literatex";
-       version = "0.2.0.1";
-       sha256 = "0rc8ks4z9sb99ziv1ancdypsbfhb7qpyi4ha76rmq4jhs7kznkcq";
+       version = "0.2.0.2";
+       sha256 = "1j82z5q6dzgi7b8si0fzxa3zv8rgqdhwm82sxh3wqsb6z1jfwk37";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -174761,8 +175130,8 @@ self: {
      }:
      mkDerivation {
        pname = "llvm-tf";
-       version = "12.0";
-       sha256 = "1j1cfx2ja45nyzv8yivh1803yx6cywikj4pryp74pl0bkdjszv60";
+       version = "12.0.0.1";
+       sha256 = "0l576wi605lqj8lgvqz1a4kd99bk93fi09gpppifbizw1vgihhy1";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -175041,6 +175410,8 @@ self: {
        pname = "loc";
        version = "0.1.3.16";
        sha256 = "0bizqfczhc5higdzrrhinr5q3s971a3klfl3gpffnq9gyzd16nrq";
+       revision = "1";
+       editedCabalFile = "1j3xgxyfqby8nca2xs0x5lvvq1pyhadkzkgrwzlkckxvhghv231h";
        libraryHaskellDepends = [ base containers ];
        testHaskellDepends = [ base containers doctest hedgehog ];
        description = "Types representing line and column positions and ranges in text files";
@@ -175053,6 +175424,8 @@ self: {
        pname = "loc-test";
        version = "0.1.3.10";
        sha256 = "0mppiz4nv86mfdk43w83jx3wn8c6w7g9k3m3jhgmwlgqpcpdrryd";
+       revision = "1";
+       editedCabalFile = "0cv2w939gdz5n8mip3d6rp7zs2s28synll1k3pbgp9w42mcw52lw";
        libraryHaskellDepends = [ base containers hedgehog loc ];
        description = "Test-related utilities related to the /loc/ package";
        license = lib.licenses.asl20;
@@ -175106,8 +175479,8 @@ self: {
      }:
      mkDerivation {
        pname = "localize";
-       version = "0.2.0.0";
-       sha256 = "1c0y3blyr36qrbqwnrb802h7nl6m3qzch4ivzajjan9xj5cbbswh";
+       version = "0.2.0.1";
+       sha256 = "1h1jarc6rg0ncb8grk0xf8jzjkxpiyc08jiz9qryh495v8fshdcm";
        libraryHaskellDepends = [
          base binary bytestring containers data-default directory filepath
          Glob haskell-gettext mtl setlocale text text-format-heavy time
@@ -180003,8 +180376,8 @@ self: {
        pname = "marshal-contt";
        version = "0.2.0.0";
        sha256 = "1dv2jl7gm3b3kcchgwz4v6rch5w50ak43gc6fjvpms81xkdjfzmb";
-       revision = "1";
-       editedCabalFile = "1cfkcb3zpddikzg610zbrwr00vn3y8sakr3m8vis5cw25hxra1c0";
+       revision = "2";
+       editedCabalFile = "12krz2lzqfkhqwa8dbq0rfbl9vz1dns2q7ddfzcwk9ck3gfsz8c7";
        libraryHaskellDepends = [
          base bytestring kan-extensions lens mtl
        ];
@@ -180834,22 +181207,22 @@ self: {
   "matrix-client" = callPackage
     ({ mkDerivation, aeson, aeson-casing, aeson-pretty, base, base64
      , bytestring, containers, exceptions, hashable, hspec, http-client
-     , http-client-tls, http-types, profunctors, retry, SHA, text, time
-     , unordered-containers
+     , http-client-tls, http-types, network-uri, profunctors, retry, SHA
+     , text, time, unordered-containers
      }:
      mkDerivation {
        pname = "matrix-client";
-       version = "0.1.3.0";
-       sha256 = "14vsz507l93zdddr3k6rwvqwpwdmsansv5ryq87k58v04fyfmvz6";
+       version = "0.1.4.0";
+       sha256 = "1adcg3c3lar5c0cxhbgy8whlcm28xhnvbhk5qgfnss6b35bhsajk";
        libraryHaskellDepends = [
          aeson aeson-casing base base64 bytestring containers exceptions
-         hashable http-client http-client-tls http-types profunctors retry
-         SHA text time unordered-containers
+         hashable http-client http-client-tls http-types network-uri
+         profunctors retry SHA text time unordered-containers
        ];
        testHaskellDepends = [
          aeson aeson-casing aeson-pretty base base64 bytestring containers
          exceptions hashable hspec http-client http-client-tls http-types
-         profunctors retry SHA text time unordered-containers
+         network-uri profunctors retry SHA text time unordered-containers
        ];
        description = "A matrix client library";
        license = lib.licenses.asl20;
@@ -181613,18 +181986,18 @@ self: {
      }) {};
 
   "mealy" = callPackage
-    ({ mkDerivation, adjunctions, base, containers, folds, generic-lens
-     , lens, matrix, mwc-probability, numhask, numhask-array, primitive
+    ({ mkDerivation, adjunctions, base, containers, folds, matrix
+     , mwc-probability, numhask, numhask-array, optics-core, primitive
      , profunctors, tdigest, text, vector, vector-algorithms
      }:
      mkDerivation {
        pname = "mealy";
-       version = "0.1.0";
-       sha256 = "14xdhb39aa548sswbkasx546pzpgyl9msabi2w5gd7qwvlhxsmg3";
+       version = "0.2.0";
+       sha256 = "0rc1c7l2g7b1xr66dga3p6lg49pykxhsy24jg5rl4ag255axlfyv";
        libraryHaskellDepends = [
-         adjunctions base containers folds generic-lens lens matrix
-         mwc-probability numhask numhask-array primitive profunctors tdigest
-         text vector vector-algorithms
+         adjunctions base containers folds matrix mwc-probability numhask
+         numhask-array optics-core primitive profunctors tdigest text vector
+         vector-algorithms
        ];
        description = "Mealy machines for processing time-series and ordered data";
        license = lib.licenses.bsd3;
@@ -181701,8 +182074,8 @@ self: {
      }:
      mkDerivation {
        pname = "med-module";
-       version = "0.1.2.1";
-       sha256 = "0f1yjdix89g6z2kigj08iq88jmi0x59la7764ixfha5sbjnwz0pp";
+       version = "0.1.2.2";
+       sha256 = "0qvwz49xz4bbhkkh9c7zjqzvbdhmgnraxpj8a4fc5lf0yb1k79ba";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -181935,18 +182308,18 @@ self: {
      }) {};
 
   "mega-sdist" = callPackage
-    ({ mkDerivation, base, bytestring, optparse-simple, pantry, path
-     , path-io, rio, rio-orphans, yaml
+    ({ mkDerivation, aeson, base, bytestring, optparse-simple, pantry
+     , path, path-io, rio, rio-orphans, yaml
      }:
      mkDerivation {
        pname = "mega-sdist";
-       version = "0.4.2.0";
-       sha256 = "002qwccn4nwd7ik78k3qq9jxchj1v57c0c4b56w8424xg5291lzk";
+       version = "0.4.2.1";
+       sha256 = "00c1cc2cgwr6p01xc8sf570aly5hw6p932anjjra7rw7a3mcmc96";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring optparse-simple pantry path path-io rio rio-orphans
-         yaml
+         aeson base bytestring optparse-simple pantry path path-io rio
+         rio-orphans yaml
        ];
        description = "Handles uploading to Hackage from mega repos";
        license = lib.licenses.mit;
@@ -183865,8 +184238,8 @@ self: {
        pname = "midi-music-box";
        version = "0.0.1.2";
        sha256 = "0rnjwis6y0lnyfjxnxqk3zsh78ylccq5v21avb97vybmj0pld1l9";
-       revision = "1";
-       editedCabalFile = "1z8ahx8hkg1gciddin86w7x136y49i6ymwvkjmf28a397kkxmcb7";
+       revision = "2";
+       editedCabalFile = "1w595kidg493vnv871ga2xsh94g2f80yxn4k5mlrm0jip45xxi7m";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -183934,18 +184307,18 @@ self: {
 
   "midimory" = callPackage
     ({ mkDerivation, alsa-core, alsa-seq, array, base, containers
-     , optparse-applicative, random, transformers, utility-ht, wx
-     , wxcore
+     , optparse-applicative, random, shell-utility, transformers
+     , utility-ht, wx, wxcore
      }:
      mkDerivation {
        pname = "midimory";
-       version = "0.0.2.1";
-       sha256 = "07p0f7a0nm7h8li8rl6adrszrz7hhzn19mfy0vgkw8axdaira66r";
+       version = "0.0.2.2";
+       sha256 = "01zbwkx9aalxyqa7x59sqb3qagkabvsn6q57j8f7xavgch6cljiq";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          alsa-core alsa-seq array base containers optparse-applicative
-         random transformers utility-ht wx wxcore
+         random shell-utility transformers utility-ht wx wxcore
        ];
        description = "A Memory-like (Concentration, Pairs, ...) game for tones";
        license = lib.licenses.bsd3;
@@ -185424,35 +185797,13 @@ self: {
     ({ mkDerivation, aeson, base, bytestring, directory
      , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
      , mmark-ext, optparse-applicative, stache, text
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "mmark-cli";
-       version = "0.0.5.0";
-       sha256 = "15qrp2q1flx9csqvj8zx9w1jqg8pwfi0v7wpia7n7vg09jgydhby";
-       revision = "6";
-       editedCabalFile = "1qki0f2iwr9phma4wby3alnsxigzl5qc1ims8cvhszkill9yfi4z";
-       isLibrary = false;
-       isExecutable = true;
-       executableHaskellDepends = [
-         aeson base bytestring directory ghc-syntax-highlighter gitrev lucid
-         megaparsec mmark mmark-ext optparse-applicative stache text
-         unordered-containers
-       ];
-       description = "Command line interface to the MMark markdown processor";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "mmark-cli_0_0_5_1" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, directory
-     , ghc-syntax-highlighter, gitrev, lucid, megaparsec, mmark
-     , mmark-ext, optparse-applicative, stache, text
      }:
      mkDerivation {
        pname = "mmark-cli";
        version = "0.0.5.1";
        sha256 = "1an1rc7gdl2209d3agxx1dfl61zsc2wg5nx9cwdf50spmlgs3cr0";
+       revision = "1";
+       editedCabalFile = "0x4lpxga127f37z43w4rgccw9w05j23ppy7k19kz6gh3p43gnx1m";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -185471,29 +185822,6 @@ self: {
      }:
      mkDerivation {
        pname = "mmark-ext";
-       version = "0.2.1.3";
-       sha256 = "1hc95gvw4dyjlf2y4nli68zavjd0aj9br55n7417r7g70si1m82s";
-       revision = "2";
-       editedCabalFile = "1jnx5g34k7l5vxds8f7amsjn9cqpvwy1g6hvfq8kjrdnxv6rzyfs";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base foldl ghc-syntax-highlighter lucid microlens mmark modern-uri
-         skylighting text
-       ];
-       testHaskellDepends = [ base hspec lucid mmark skylighting text ];
-       testToolDepends = [ hspec-discover ];
-       description = "Commonly useful extensions for the MMark markdown processor";
-       license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "mmark-ext_0_2_1_4" = callPackage
-    ({ mkDerivation, base, foldl, ghc-syntax-highlighter, hspec
-     , hspec-discover, lucid, microlens, mmark, modern-uri, skylighting
-     , text
-     }:
-     mkDerivation {
-       pname = "mmark-ext";
        version = "0.2.1.4";
        sha256 = "02ygx0kkp69gd2n4bnqjzbwzhs9ksqm148jf6zfgn3z8w1p9glzh";
        enableSeparateDataOutput = true;
@@ -186014,10 +186342,8 @@ self: {
      }:
      mkDerivation {
        pname = "modern-uri";
-       version = "0.3.4.2";
-       sha256 = "018hiiqx6n272mwbmhd5j9wlzyz0x7ppa9jsrv4zx1nb6n7shkh5";
-       revision = "1";
-       editedCabalFile = "01v497wkcida80xlkg25yhppb711ynyx2zyv9hdyzrflq8pz4g6w";
+       version = "0.3.4.3";
+       sha256 = "0904ff8pzcbk1swp0s1v5js468qnf3ccyzfcvaa62nsaj4qb7shq";
        libraryHaskellDepends = [
          base bytestring containers contravariant deepseq exceptions
          megaparsec mtl profunctors QuickCheck reflection tagged
@@ -188347,25 +188673,6 @@ self: {
      }:
      mkDerivation {
        pname = "monoid-subclasses";
-       version = "1.1.2";
-       sha256 = "0c9amb4yw6487kbpy3gslhpzjkzz3kiwhzz9qrmv8l7cvc2m1cb3";
-       libraryHaskellDepends = [
-         base bytestring containers primes text vector
-       ];
-       testHaskellDepends = [
-         base bytestring containers primes QuickCheck quickcheck-instances
-         tasty tasty-quickcheck text vector
-       ];
-       description = "Subclasses of Monoid";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "monoid-subclasses_1_1_3" = callPackage
-    ({ mkDerivation, base, bytestring, containers, primes, QuickCheck
-     , quickcheck-instances, tasty, tasty-quickcheck, text, vector
-     }:
-     mkDerivation {
-       pname = "monoid-subclasses";
        version = "1.1.3";
        sha256 = "1nglki10rlpi872p55pa8g809q5sna7yzh3zw4rqfhq89kb15wcv";
        libraryHaskellDepends = [
@@ -188377,7 +188684,6 @@ self: {
        ];
        description = "Subclasses of Monoid";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "monoid-transformer" = callPackage
@@ -190211,16 +190517,18 @@ self: {
   "msgpack-binary" = callPackage
     ({ mkDerivation, base, binary, bytestring, containers, criterion
      , data-binary-ieee754, deepseq, groom, hashable, hspec
-     , msgpack-types, QuickCheck, text, unordered-containers, vector
+     , monad-validate, msgpack-types, QuickCheck, text
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "msgpack-binary";
-       version = "0.0.14";
-       sha256 = "1pf0fzxkrd2f1jzm3mkybayd94pxq28a49nvjzx8i2lxrdmynkp6";
+       version = "0.0.15";
+       sha256 = "0i3m4n5gw4a5ryikmy2drzh95g7766pdfsb5bahin8cmi1bq5bj5";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
-         base binary bytestring data-binary-ieee754 msgpack-types text
+         base binary bytestring data-binary-ieee754 monad-validate
+         msgpack-types text
        ];
        executableHaskellDepends = [ base bytestring groom ];
        testHaskellDepends = [
@@ -190258,6 +190566,32 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "msgpack-persist" = callPackage
+    ({ mkDerivation, base, bytestring, containers, criterion, deepseq
+     , groom, hashable, hspec, monad-validate, msgpack-types, persist
+     , QuickCheck, text, unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "msgpack-persist";
+       version = "0.0.15";
+       sha256 = "07ibjg1pkr9005qydw87hll1f5x03ip5qqxvm9vpnnk9fi1jckl4";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base bytestring monad-validate msgpack-types persist text
+       ];
+       executableHaskellDepends = [ base bytestring groom ];
+       testHaskellDepends = [
+         base bytestring containers hashable hspec msgpack-types QuickCheck
+         text unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base bytestring criterion deepseq QuickCheck
+       ];
+       description = "A Haskell implementation of MessagePack";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "msgpack-rpc" = callPackage
     ({ mkDerivation, async, base, binary, binary-conduit, bytestring
      , conduit, conduit-extra, exceptions, monad-control, msgpack, mtl
@@ -190281,19 +190615,18 @@ self: {
 
   "msgpack-rpc-conduit" = callPackage
     ({ mkDerivation, async, base, binary, binary-conduit, bytestring
-     , conduit, conduit-extra, data-default-class
-     , data-default-instances-base, exceptions, hspec, monad-control
-     , msgpack-binary, msgpack-types, mtl, network, text, unliftio-core
+     , conduit, conduit-extra, data-default-class, exceptions, hspec
+     , monad-control, monad-validate, msgpack-binary, msgpack-types, mtl
+     , network, text, unliftio-core
      }:
      mkDerivation {
        pname = "msgpack-rpc-conduit";
-       version = "0.0.6";
-       sha256 = "000aycbvxac4li8rxqxmj3a020fwl08wnq01fv8jdlx3qg7k57hf";
+       version = "0.0.7";
+       sha256 = "1x9zzv70vwkqiiazx9gyj8nqqid3k6b0725znszcm7ai3f5rgd43";
        libraryHaskellDepends = [
          base binary binary-conduit bytestring conduit conduit-extra
-         data-default-class data-default-instances-base exceptions
-         monad-control msgpack-binary msgpack-types mtl network text
-         unliftio-core
+         data-default-class exceptions monad-control monad-validate
+         msgpack-binary msgpack-types mtl network text unliftio-core
        ];
        testHaskellDepends = [ async base bytestring hspec mtl network ];
        description = "A MessagePack-RPC Implementation";
@@ -190301,22 +190634,41 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "msgpack-testsuite" = callPackage
+    ({ mkDerivation, base, bytestring, containers, hashable, hspec
+     , monad-validate, msgpack-types, QuickCheck, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "msgpack-testsuite";
+       version = "0.0.15";
+       sha256 = "0dy7knji7nckdkp0kpnxxc7nmqyzbkq7j0aas59p3yg0n1nsd2bd";
+       libraryHaskellDepends = [
+         base bytestring containers hashable hspec monad-validate
+         msgpack-types QuickCheck text unordered-containers vector
+       ];
+       testHaskellDepends = [ base hspec ];
+       description = "A Haskell implementation of MessagePack";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "msgpack-types" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq
-     , generic-arbitrary, hashable, hspec, hspec-discover, QuickCheck
-     , text, unordered-containers, vector
+     , generic-arbitrary, hashable, hspec, hspec-discover
+     , monad-validate, QuickCheck, text, transformers
+     , unordered-containers, vector
      }:
      mkDerivation {
        pname = "msgpack-types";
-       version = "0.1.0";
-       sha256 = "1q28xxv6093h6xp6mih515cid5dm08dz5ak2y1jvcb1b2lf29s01";
+       version = "0.2.1";
+       sha256 = "1s6i7y2mr04z6bdhq307xqm78h1d8f7a17i3fbdknsiw5lvfsj49";
        libraryHaskellDepends = [
-         base bytestring containers deepseq hashable QuickCheck text
-         unordered-containers vector
+         base bytestring containers deepseq hashable monad-validate
+         QuickCheck text transformers unordered-containers vector
        ];
        testHaskellDepends = [
          base bytestring containers deepseq generic-arbitrary hashable hspec
-         QuickCheck text unordered-containers vector
+         monad-validate QuickCheck text unordered-containers vector
        ];
        testToolDepends = [ hspec-discover ];
        description = "A Haskell implementation of MessagePack";
@@ -191679,24 +192031,6 @@ self: {
      }:
      mkDerivation {
        pname = "multistate";
-       version = "0.8.0.3";
-       sha256 = "0sbrm28rjw4qgpn8p0974ljkgi30d4akbngjm58kf96x9zp7ln8g";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         base monad-control mtl tagged transformers transformers-base
-       ];
-       testHaskellDepends = [ base hspec transformers ];
-       description = "like mtl's ReaderT / WriterT / StateT, but more than one contained value/type";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "multistate_0_8_0_4" = callPackage
-    ({ mkDerivation, base, hspec, monad-control, mtl, tagged
-     , transformers, transformers-base
-     }:
-     mkDerivation {
-       pname = "multistate";
        version = "0.8.0.4";
        sha256 = "0y42c21ha0chqhrn40a4bikdbirsw7aqg4i866frpagz1ivr915q";
        isLibrary = true;
@@ -191707,7 +192041,6 @@ self: {
        testHaskellDepends = [ base hspec transformers ];
        description = "like mtl's ReaderT / WriterT / StateT, but more than one contained value/type";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "multivariant" = callPackage
@@ -193643,6 +193976,28 @@ self: {
        broken = true;
      }) {};
 
+  "nanopass" = callPackage
+    ({ mkDerivation, base, containers, mtl, pretty-simple
+     , template-haskell, transformers
+     }:
+     mkDerivation {
+       pname = "nanopass";
+       version = "0.0.2.0";
+       sha256 = "0pymmshr81pckiixqyxz985lx402d0srhcnz31vv27pyn9xvi6xf";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base containers mtl template-haskell transformers
+       ];
+       executableHaskellDepends = [
+         base pretty-simple template-haskell transformers
+       ];
+       description = "An EDSL for creating compilers using small passes and many intermediate representations";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "nanospec" = callPackage
     ({ mkDerivation, base, hspec, silently }:
      mkDerivation {
@@ -195657,25 +196012,11 @@ self: {
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "network-info";
-       version = "0.2.0.10";
-       sha256 = "0anmgzcpnz7nw3n6vq0r25m1s9l2svpwi83wza0lzkrlbnbzd02n";
-       revision = "1";
-       editedCabalFile = "07kiw56lhc56kqrnvpa11f5nnnid6by3aq00jrkcbbg7w0q71a6d";
-       libraryHaskellDepends = [ base ];
-       description = "Access the local computer's basic network configuration";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "network-info_0_2_1" = callPackage
-    ({ mkDerivation, base }:
-     mkDerivation {
-       pname = "network-info";
        version = "0.2.1";
        sha256 = "015lm3b8n8sb16qsffjxz1jvijyy0z600ch0sm8h6a685wqqhbcv";
        libraryHaskellDepends = [ base ];
        description = "Access the local computer's basic network configuration";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "network-interfacerequest" = callPackage
@@ -198748,8 +199089,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-env-parser";
-       version = "0.1.0.7";
-       sha256 = "1mm879mqpgl040p789wcjm5bhrqia5czn18c5dgni8bwa4y61ank";
+       version = "0.1.0.8";
+       sha256 = "0hwl363iya38hi021an2l4cinclz1p96n4lck2x9yi9cf4yfqzk8";
        libraryHaskellDepends = [
          base modern-uri network-uri nri-prelude text
        ];
@@ -198764,8 +199105,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-http";
-       version = "0.1.0.3";
-       sha256 = "1km4jv0g79455m3687cpihzz14pxg3wxw4r5b21mby7c8knzd1vl";
+       version = "0.1.0.4";
+       sha256 = "1zf55k4c4zlx2229xxs2hfl7y5c0fb3ab7vrms08imfp0hblj91x";
        libraryHaskellDepends = [
          aeson base bytestring conduit http-client http-client-tls
          http-types mime-types network-uri nri-observability nri-prelude
@@ -198787,8 +199128,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-kafka";
-       version = "0.1.0.2";
-       sha256 = "0bqpfcivp2hx5s2dmx2jwndia4pwfppslzr3krqwmph1qy3h2v9i";
+       version = "0.1.0.4";
+       sha256 = "1cmrssyr32ks7wy8ypk6wq5daljk26a7yx61jlq2m56p5b0nvam2";
        libraryHaskellDepends = [
          aeson async base bytestring conduit containers hw-kafka-client
          nri-env-parser nri-observability nri-prelude safe-exceptions stm
@@ -198813,8 +199154,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-observability";
-       version = "0.1.1.3";
-       sha256 = "0brjddl4ff8881ld41sp7ix3skxgj10jign4xx8l3ad89f91621b";
+       version = "0.1.1.4";
+       sha256 = "077zj96iapjp6cn38z0g6didpwq866xz5m03d8kbp3pwdmfpr65c";
        libraryHaskellDepends = [
          aeson aeson-pretty async base bugsnag-hs bytestring conduit
          directory hostname http-client http-client-tls nri-env-parser
@@ -198839,8 +199180,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-postgresql";
-       version = "0.1.0.3";
-       sha256 = "0v07b6yq2i2pnfmiaks2vp3yj2ncfr9c3f2fx9sq6hr9z56q8hqd";
+       version = "0.1.0.4";
+       sha256 = "0g5wvpzd6p648hvqrwiadqfzlfsqh2fm2yxmi1ix76a2lsfhbnb9";
        libraryHaskellDepends = [
          attoparsec base bytestring filepath network nri-env-parser
          nri-observability nri-prelude postgresql-typed resource-pool
@@ -198860,25 +199201,27 @@ self: {
   "nri-prelude" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, async, auto-update, base
      , bytestring, containers, directory, exceptions, filepath, ghc
-     , hedgehog, junit-xml, pretty-diff, pretty-show, safe-coloured-text
-     , safe-coloured-text-terminfo, safe-exceptions, terminal-size, text
-     , time, unix, vector
+     , hedgehog, junit-xml, lens, pretty-diff, pretty-show
+     , safe-coloured-text, safe-coloured-text-terminfo, safe-exceptions
+     , terminal-size, text, time, unix, vector
      }:
      mkDerivation {
        pname = "nri-prelude";
-       version = "0.6.0.5";
-       sha256 = "0qam6bamjp92mky193iddpq3v7knsxx4kcyc8fw3a8nkbrx6gigh";
+       version = "0.6.0.6";
+       sha256 = "1i1y16pc8rph7ahj53jxrhr18qnw114zfb9z0fnd4k2cs0sryyqz";
        libraryHaskellDepends = [
          aeson aeson-pretty async auto-update base bytestring containers
-         directory exceptions filepath ghc hedgehog junit-xml pretty-diff
-         pretty-show safe-coloured-text safe-coloured-text-terminfo
-         safe-exceptions terminal-size text time unix vector
+         directory exceptions filepath ghc hedgehog junit-xml lens
+         pretty-diff pretty-show safe-coloured-text
+         safe-coloured-text-terminfo safe-exceptions terminal-size text time
+         unix vector
        ];
        testHaskellDepends = [
          aeson aeson-pretty async auto-update base bytestring containers
-         directory exceptions filepath ghc hedgehog junit-xml pretty-diff
-         pretty-show safe-coloured-text safe-coloured-text-terminfo
-         safe-exceptions terminal-size text time unix vector
+         directory exceptions filepath ghc hedgehog junit-xml lens
+         pretty-diff pretty-show safe-coloured-text
+         safe-coloured-text-terminfo safe-exceptions terminal-size text time
+         unix vector
        ];
        description = "A Prelude inspired by the Elm programming language";
        license = lib.licenses.bsd3;
@@ -198891,8 +199234,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-redis";
-       version = "0.1.0.3";
-       sha256 = "1mdzqvnx7gzr8j99c8nza40y518jg8ajxfrvdvf90gvbglknimb0";
+       version = "0.1.0.4";
+       sha256 = "1ws5j8r4ny8dhw2bf2zqvq42ab9h44ly562cjrl6ha5mlk78mvpq";
        libraryHaskellDepends = [
          aeson async base bytestring conduit hedis nri-env-parser
          nri-observability nri-prelude resourcet safe-exceptions text
@@ -198914,8 +199257,8 @@ self: {
      }:
      mkDerivation {
        pname = "nri-test-encoding";
-       version = "0.1.1.1";
-       sha256 = "07hrkjbyp07p0yryx92q0bjqkkjji4d952sxcm9j2w5mdvlc08mq";
+       version = "0.1.1.2";
+       sha256 = "1b2k4g1vm3mc72g4j979pk5y9jqn4y1aa394wfzwck7n1jhg8rzb";
        libraryHaskellDepends = [
          aeson aeson-pretty base bytestring filepath nri-prelude nri-redis
          servant servant-auth-server servant-server text
@@ -199218,8 +199561,6 @@ self: {
        benchmarkHaskellDepends = [ base criterion ];
        description = "Convert numbers to number words";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
-       broken = true;
      }) {};
 
   "numerals-base" = callPackage
@@ -199470,13 +199811,14 @@ self: {
        broken = true;
      }) {};
 
-  "numhask_0_8_1_0" = callPackage
-    ({ mkDerivation, base }:
+  "numhask_0_10_0_0" = callPackage
+    ({ mkDerivation, base, QuickCheck }:
      mkDerivation {
        pname = "numhask";
-       version = "0.8.1.0";
-       sha256 = "0qq9fr4nm5swarc266mnz5xly296db4nwzm7k5cwsn2pjijmyknk";
+       version = "0.10.0.0";
+       sha256 = "132s0yccg8fhigd6a463lrg2cqx032xfpdirvvfhrczdzirbm7xy";
        libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base QuickCheck ];
        description = "A numeric class hierarchy";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -199488,8 +199830,8 @@ self: {
      }:
      mkDerivation {
        pname = "numhask-array";
-       version = "0.9.1";
-       sha256 = "02xklvpk21h97005xs1ywll83qn3h6845zxp9baljk12b9j4ls1r";
+       version = "0.10.0";
+       sha256 = "0dsjh20y46774hih4ijmr1d50mgm7kz5imah6ynggxmdd595lp0x";
        libraryHaskellDepends = [
          adjunctions base distributive numhask vector
        ];
@@ -199592,8 +199934,8 @@ self: {
      }:
      mkDerivation {
        pname = "numhask-space";
-       version = "0.8.1.0";
-       sha256 = "1j117m1qfnl5h286x6c8kbm06xpm8rqqkipv1qbw0sp7a0cc022z";
+       version = "0.10.0.0";
+       sha256 = "09x53pmn2skbv1zhjmd4wq5wxhi7sshzg3ksjx1n0fy0x16d19lf";
        libraryHaskellDepends = [
          adjunctions base containers distributive numhask random
          semigroupoids tdigest text time vector
@@ -199780,7 +200122,7 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "nvim-hs_2_2_0_0" = callPackage
+  "nvim-hs_2_2_0_1" = callPackage
     ({ mkDerivation, base, bytestring, cereal, cereal-conduit, conduit
      , containers, data-default, deepseq, foreign-store, hslogger, hspec
      , hspec-discover, HUnit, megaparsec, messagepack, mtl, network
@@ -199793,8 +200135,8 @@ self: {
      }:
      mkDerivation {
        pname = "nvim-hs";
-       version = "2.2.0.0";
-       sha256 = "196szwcd156029hsg0ql3m4zphz3hnz09yic3037hj12yp87fdzf";
+       version = "2.2.0.1";
+       sha256 = "1jj9n792cgv964rpgbbhc491wvyfyiplsg30n20x62gxclmjvir7";
        libraryHaskellDepends = [
          base bytestring cereal cereal-conduit conduit containers
          data-default deepseq foreign-store hslogger megaparsec messagepack
@@ -199964,19 +200306,17 @@ self: {
      }) {};
 
   "o-clock" = callPackage
-    ({ mkDerivation, base, doctest, ghc-prim, Glob, hedgehog
-     , hspec-expectations, markdown-unlit, tasty, tasty-hedgehog
-     , tasty-hunit-compat, type-spec
+    ({ mkDerivation, base, doctest, Glob, hedgehog, hspec-expectations
+     , markdown-unlit, tasty, tasty-hedgehog, tasty-hunit-compat
+     , type-spec
      }:
      mkDerivation {
        pname = "o-clock";
-       version = "1.2.1";
-       sha256 = "17y44aajipysw1p268rq8a6lhv9cdhkvxjcpcdij93sqp818q96z";
-       revision = "1";
-       editedCabalFile = "1n8ns0f4ljbarb5xmlwfs1lq24jg30m3hv0gmpgd26y666d3hh95";
+       version = "1.2.1.1";
+       sha256 = "0rq9bn9lxsmgjw6w55r3c15y1pjq36vi246qldr53csr0pa9ggfy";
        isLibrary = true;
        isExecutable = true;
-       libraryHaskellDepends = [ base ghc-prim ];
+       libraryHaskellDepends = [ base ];
        executableHaskellDepends = [ base ];
        testHaskellDepends = [
          base doctest Glob hedgehog hspec-expectations markdown-unlit tasty
@@ -200478,8 +200818,8 @@ self: {
      }:
      mkDerivation {
        pname = "odbc";
-       version = "0.2.5";
-       sha256 = "157g6ys5j5kj4cc1jp2rmcpwrax4fh7bx1zvvicmrf88qaq56v2h";
+       version = "0.2.6";
+       sha256 = "0yyyjnnlnd3zpvnh55l5gsvakrciml91jaqy5hdgnlpqfslz330r";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -201320,7 +201660,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "opaleye_0_9_0_0" = callPackage
+  "opaleye_0_9_2_0" = callPackage
     ({ mkDerivation, aeson, base, base16-bytestring, bytestring
      , case-insensitive, containers, contravariant, dotenv, hspec
      , hspec-discover, multiset, postgresql-simple, pretty
@@ -201330,8 +201670,8 @@ self: {
      }:
      mkDerivation {
        pname = "opaleye";
-       version = "0.9.0.0";
-       sha256 = "0i2ncvgx7pdq4q7i1fxnpxya3jb9jnzz7d6hcd5s0lrc2flv6rxd";
+       version = "0.9.2.0";
+       sha256 = "0zvms42pmsg6ish76mvk0ksz4apxvs4iyjfvgkm7zwadq3i9v8l3";
        libraryHaskellDepends = [
          aeson base base16-bytestring bytestring case-insensitive
          contravariant postgresql-simple pretty product-profunctors
@@ -201421,28 +201761,29 @@ self: {
     ({ mkDerivation, acc, attoparsec, attoparsec-data, base, base64
      , binary, bytestring, caerbannog, containers, data-default, domain
      , domain-optics, hashable, hashable-time, http-client, QuickCheck
-     , quickcheck-instances, rerebase, scientific, tasty, tasty-hunit
+     , quickcheck-instances, scientific, tasty, tasty-hunit
      , tasty-quickcheck, text, text-builder, time, transformers
      , unordered-containers, vector, vector-instances, xml-conduit
      , xml-parser
      }:
      mkDerivation {
        pname = "opc-xml-da-client";
-       version = "0.1.1";
-       sha256 = "15mc3i7j2pjxd7gw7ba8nlvkbp8j161vphbsg3iqbjqaqivfzivl";
+       version = "0.1.2";
+       sha256 = "1hfm6ky5zh27z1iv0f4p53d4nbpragaiq734si4q8hkk0aafldw5";
        libraryHaskellDepends = [
          acc attoparsec attoparsec-data base base64 bytestring containers
          data-default domain domain-optics hashable hashable-time
-         http-client QuickCheck rerebase scientific text text-builder time
-         transformers unordered-containers vector vector-instances
-         xml-conduit xml-parser
+         http-client scientific text text-builder time transformers
+         unordered-containers vector vector-instances xml-conduit xml-parser
        ];
        testHaskellDepends = [
-         attoparsec binary caerbannog data-default http-client QuickCheck
-         quickcheck-instances rerebase tasty tasty-hunit tasty-quickcheck
-         text-builder xml-conduit xml-parser
+         acc attoparsec attoparsec-data base base64 binary bytestring
+         caerbannog containers data-default domain domain-optics hashable
+         hashable-time http-client QuickCheck quickcheck-instances
+         scientific tasty tasty-hunit tasty-quickcheck text text-builder
+         time transformers unordered-containers vector vector-instances
+         xml-conduit xml-parser
        ];
-       doHaddock = false;
        description = "OPC XML-DA Client";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
@@ -201754,7 +202095,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "openapi3_3_2_0" = callPackage
+  "openapi3_3_2_1" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
      , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
      , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
@@ -201765,10 +202106,8 @@ self: {
      }:
      mkDerivation {
        pname = "openapi3";
-       version = "3.2.0";
-       sha256 = "0xlfjpcl8l7xf8g65hqbiynhqh9yzsm11gm0qaax8mn7hc8k7jji";
-       revision = "1";
-       editedCabalFile = "0mhfsg1mgkanxy9rzhvsn3zibqhbqwsvqj6pawhsnbfn9fcyjmgb";
+       version = "3.2.1";
+       sha256 = "0xspxp5rma3mx5p0qy6mmq94540agl44vkc65sylp5k62x68588d";
        isLibrary = true;
        isExecutable = true;
        setupHaskellDepends = [ base Cabal cabal-doctest ];
@@ -201834,18 +202173,20 @@ self: {
      }) {};
 
   "opencc" = callPackage
-    ({ mkDerivation, base, bytestring, mtl, text, transformers }:
+    ({ mkDerivation, base, bytestring, mtl, opencc, text, transformers
+     }:
      mkDerivation {
        pname = "opencc";
-       version = "0.1.0.0";
-       sha256 = "09gsd816xh0237m94bnysdpjzqngsva3rl29f171rvhdpashcjx2";
+       version = "0.1.1.0";
+       sha256 = "06jz04352bgqnfvzds75n65x352x07ffj8aan01q6m2mjs3xidfa";
        libraryHaskellDepends = [ base bytestring mtl text transformers ];
+       librarySystemDepends = [ opencc ];
        testHaskellDepends = [ base bytestring mtl text transformers ];
        description = "OpenCC bindings";
        license = lib.licenses.mit;
        hydraPlatforms = lib.platforms.none;
        broken = true;
-     }) {};
+     }) {inherit (pkgs) opencc;};
 
   "opench-meteo" = callPackage
     ({ mkDerivation, aeson, base, data-default, text, time }:
@@ -203152,8 +203493,8 @@ self: {
      }:
      mkDerivation {
        pname = "optima";
-       version = "0.4.0.2";
-       sha256 = "05jpgf4lyq4pg4j98cl2jlax1jjy27knsgjqcbbg38p1n33m7gki";
+       version = "0.4.0.3";
+       sha256 = "0pah3p4f5j8ah2ccb5mpq1dcjrlzvwg6pf0yfqhnq4m7j1nqhzlj";
        libraryHaskellDepends = [
          attoparsec attoparsec-data base optparse-applicative text
          text-builder
@@ -203350,6 +203691,23 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "optparse-applicative_0_17_0_0" = callPackage
+    ({ mkDerivation, ansi-wl-pprint, base, process, QuickCheck
+     , transformers, transformers-compat
+     }:
+     mkDerivation {
+       pname = "optparse-applicative";
+       version = "0.17.0.0";
+       sha256 = "097p1bkvw9r3rvcr65w53yw14drb0s46ldkkl1jbmq5g7m6jwnw2";
+       libraryHaskellDepends = [
+         ansi-wl-pprint base process transformers transformers-compat
+       ];
+       testHaskellDepends = [ base QuickCheck ];
+       description = "Utilities and combinators for parsing command line options";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "optparse-applicative-simple" = callPackage
     ({ mkDerivation, attoparsec, attoparsec-data, base-prelude
      , optparse-applicative, rerebase, text
@@ -203402,8 +203760,8 @@ self: {
        pname = "optparse-generic";
        version = "1.4.7";
        sha256 = "03s6iwfr2iiypnx3wmnrb37zz7kflk40dj38v8j4ccqxkkf9h0kk";
-       revision = "1";
-       editedCabalFile = "0q3nq4qnsnx875a9vp08hgzhrbq463cdjdc4xlswcalip2qjw4y2";
+       revision = "2";
+       editedCabalFile = "1qypq8841xym39kmlnm0608lghh258azr6d424is96kj340bwlwz";
        libraryHaskellDepends = [
          base bytestring Only optparse-applicative system-filepath text time
          transformers transformers-compat void
@@ -204012,6 +204370,8 @@ self: {
        pname = "ormolu";
        version = "0.3.1.0";
        sha256 = "1517z6bi8ifzdmfclmqdiipi6zcnxagymf1sxr43sj2ipkglg2rs";
+       revision = "1";
+       editedCabalFile = "1ns76yw44hp84lrxdhl23aa2d14jjf4m6fd906672a4b4x3cr64l";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -204041,6 +204401,8 @@ self: {
        pname = "ormolu";
        version = "0.4.0.0";
        sha256 = "1alibf9ya2igwwjx23pjd0fi2kdaldrkfdpyr2w211irf9agy0j9";
+       revision = "2";
+       editedCabalFile = "11r9j19xiaf1kpzr1kz41i8ldchf6ygqp0zxrkgmrzvidpvh6q62";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -204903,6 +205265,27 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "padic" = callPackage
+    ({ mkDerivation, base, constraints, criterion, integer-gmp, mod
+     , QuickCheck, tasty, tasty-expected-failure, tasty-hunit
+     , tasty-quickcheck
+     }:
+     mkDerivation {
+       pname = "padic";
+       version = "0.1.0.0";
+       sha256 = "1r54aav4305sjp0wg4kkhvgqsgs9pxd3mn2l99iyabc3vd4wzmrr";
+       libraryHaskellDepends = [ base constraints integer-gmp mod ];
+       testHaskellDepends = [
+         base constraints integer-gmp mod QuickCheck tasty
+         tasty-expected-failure tasty-hunit tasty-quickcheck
+       ];
+       benchmarkHaskellDepends = [
+         base constraints criterion integer-gmp mod
+       ];
+       description = "Fast, type-safe p-adic arithmetic";
+       license = lib.licenses.mit;
+     }) {};
+
   "pads-haskell" = callPackage
     ({ mkDerivation, base, byteorder, bytestring, containers, ghc-prim
      , haskell-src-meta, HUnit, mainland-pretty, mtl, mwc-random, parsec
@@ -205940,8 +206323,8 @@ self: {
     ({ mkDerivation }:
      mkDerivation {
        pname = "pandora";
-       version = "0.5.0";
-       sha256 = "144k1cqb4gkwyh3w01cwsax58n9w3h1giggdb8b0dw64pnhsq8zd";
+       version = "0.5.1";
+       sha256 = "0xx3fjdkxrabwnqhz3bs3rai1q83zkkhq90z50pzam08nng34sw5";
        description = "A box of patterns and paradigms";
        license = lib.licenses.mit;
      }) {};
@@ -206146,7 +206529,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "pantry_0_5_3" = callPackage
+  "pantry_0_5_4" = callPackage
     ({ mkDerivation, aeson, ansi-terminal, base, bytestring, Cabal
      , casa-client, casa-types, conduit, conduit-extra, containers
      , cryptonite, cryptonite-conduit, digest, exceptions, filelock
@@ -206160,8 +206543,8 @@ self: {
      }:
      mkDerivation {
        pname = "pantry";
-       version = "0.5.3";
-       sha256 = "1pb9vr615rhh0lyi392ghxdnxq5pr15y0w8f372xh046i9dinj39";
+       version = "0.5.4";
+       sha256 = "080j0pw8fmyb05klbi8vy3dpahiw3zxmykvqamvziwrznl1p4b2m";
        libraryHaskellDepends = [
          aeson ansi-terminal base bytestring Cabal casa-client casa-types
          conduit conduit-extra containers cryptonite cryptonite-conduit
@@ -206996,6 +207379,18 @@ self: {
        broken = true;
      }) {};
 
+  "pareto-front" = callPackage
+    ({ mkDerivation, base }:
+     mkDerivation {
+       pname = "pareto-front";
+       version = "0.1.0.1";
+       sha256 = "0c375bbsgbv6agjks0n01zxvjsh7zpnph212cf4jbpmjm0rgixsa";
+       libraryHaskellDepends = [ base ];
+       testHaskellDepends = [ base ];
+       description = "Monoids for dealing with Pareto efficiency";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "paripari" = callPackage
     ({ mkDerivation, base, bytestring, parser-combinators, random
      , tasty, tasty-hunit, text
@@ -207025,6 +207420,8 @@ self: {
        pname = "park-bench";
        version = "0.1.0";
        sha256 = "0ygj4x3s0s53pwp256ypwarfiwccg3mr7drgjxp41bpc8hs66v4y";
+       revision = "1";
+       editedCabalFile = "07qczda4bmijbz5ci4bazikizbz4fy51c4gw1sqq7hkcfm4rz7ga";
        libraryHaskellDepends = [ base bytestring text ];
        description = "A quick-and-dirty, low-friction benchmark tool with immediate feedback";
        license = lib.licenses.bsd3;
@@ -208466,6 +208863,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "path-io_1_7_0" = callPackage
+    ({ mkDerivation, base, containers, directory, dlist, exceptions
+     , filepath, hspec, path, temporary, time, transformers, unix-compat
+     }:
+     mkDerivation {
+       pname = "path-io";
+       version = "1.7.0";
+       sha256 = "1jr1inh3x0a42rdh4q0jipbw8jsprdza1j5xkzd7nxcq0a143g9l";
+       libraryHaskellDepends = [
+         base containers directory dlist exceptions filepath path temporary
+         time transformers unix-compat
+       ];
+       testHaskellDepends = [
+         base directory exceptions filepath hspec path transformers
+         unix-compat
+       ];
+       description = "Interface to ‘directory’ package for users of ‘path’";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "path-like" = callPackage
     ({ mkDerivation, base, path }:
      mkDerivation {
@@ -209146,15 +209564,15 @@ self: {
        license = lib.licenses.asl20;
      }) {};
 
-  "pcre2_2_0_5" = callPackage
+  "pcre2_2_1_0" = callPackage
     ({ mkDerivation, base, containers, criterion, hspec, microlens
      , microlens-platform, mtl, pcre-light, regex-pcre-builtin
      , template-haskell, text
      }:
      mkDerivation {
        pname = "pcre2";
-       version = "2.0.5";
-       sha256 = "11rggirpd02rx9xyfd1yigglzyqzn8vx0knszgrbbvj0cmzb20fn";
+       version = "2.1.0";
+       sha256 = "0ina14prysmh6njfcpyhzhyz0r6qsixvli3fifh46biqryx2whaw";
        libraryHaskellDepends = [
          base containers microlens mtl template-haskell text
        ];
@@ -210400,42 +210818,6 @@ self: {
      , monad-logger, mtl, path-pieces, QuickCheck, quickcheck-instances
      , resource-pool, resourcet, scientific, shakespeare, silently
      , template-haskell, text, th-lift-instances, time, transformers
-     , unliftio, unliftio-core, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "persistent";
-       version = "2.13.2.2";
-       sha256 = "1pj5svwf85b0yndixlcqzjpqwp50zfqra99qm7hf1hlwq5g4amy9";
-       libraryHaskellDepends = [
-         aeson attoparsec base base64-bytestring blaze-html bytestring
-         conduit containers fast-logger http-api-data lift-type monad-logger
-         mtl path-pieces resource-pool resourcet scientific silently
-         template-haskell text th-lift-instances time transformers unliftio
-         unliftio-core unordered-containers vector
-       ];
-       testHaskellDepends = [
-         aeson attoparsec base base64-bytestring blaze-html bytestring
-         conduit containers fast-logger hspec http-api-data monad-logger mtl
-         path-pieces QuickCheck quickcheck-instances resource-pool resourcet
-         scientific shakespeare silently template-haskell text
-         th-lift-instances time transformers unliftio unliftio-core
-         unordered-containers vector
-       ];
-       benchmarkHaskellDepends = [
-         base criterion deepseq file-embed template-haskell text
-       ];
-       description = "Type-safe, multi-backend data serialization";
-       license = lib.licenses.mit;
-       maintainers = with lib.maintainers; [ psibi ];
-     }) {};
-
-  "persistent_2_13_3_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, base64-bytestring
-     , blaze-html, bytestring, conduit, containers, criterion, deepseq
-     , fast-logger, file-embed, hspec, http-api-data, lift-type
-     , monad-logger, mtl, path-pieces, QuickCheck, quickcheck-instances
-     , resource-pool, resourcet, scientific, shakespeare, silently
-     , template-haskell, text, th-lift-instances, time, transformers
      , unliftio, unliftio-core, unordered-containers, vault, vector
      }:
      mkDerivation {
@@ -210462,7 +210844,6 @@ self: {
        ];
        description = "Type-safe, multi-backend data serialization";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ psibi ];
      }) {};
 
@@ -210792,32 +211173,6 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-mysql";
-       version = "2.13.0.2";
-       sha256 = "18ji7a7lb1mjgqvi2mv2cg4vlgjkyzg2hgp09s7c9v071p3ll732";
-       libraryHaskellDepends = [
-         aeson base blaze-builder bytestring conduit containers monad-logger
-         mysql mysql-simple persistent resource-pool resourcet text
-         transformers unliftio-core
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers fast-logger hspec http-api-data
-         HUnit monad-logger mysql path-pieces persistent persistent-qq
-         persistent-test QuickCheck quickcheck-instances resourcet text time
-         transformers unliftio-core
-       ];
-       description = "Backend for the persistent library using MySQL database server";
-       license = lib.licenses.mit;
-     }) {};
-
-  "persistent-mysql_2_13_1_0" = callPackage
-    ({ mkDerivation, aeson, base, blaze-builder, bytestring, conduit
-     , containers, fast-logger, hspec, http-api-data, HUnit
-     , monad-logger, mysql, mysql-simple, path-pieces, persistent
-     , persistent-qq, persistent-test, QuickCheck, quickcheck-instances
-     , resource-pool, resourcet, text, time, transformers, unliftio-core
-     }:
-     mkDerivation {
-       pname = "persistent-mysql";
        version = "2.13.1.0";
        sha256 = "16balbklf4800pqivmvnamjhy3xvnr9939fz3qkicfs4ba68m62k";
        libraryHaskellDepends = [
@@ -210833,7 +211188,6 @@ self: {
        ];
        description = "Backend for the persistent library using MySQL database server";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-mysql-haskell" = callPackage
@@ -210933,39 +211287,6 @@ self: {
      , postgresql-libpq, postgresql-simple, QuickCheck
      , quickcheck-instances, resource-pool, resourcet
      , string-conversions, text, time, transformers, unliftio
-     , unliftio-core, unordered-containers, vector
-     }:
-     mkDerivation {
-       pname = "persistent-postgresql";
-       version = "2.13.2.2";
-       sha256 = "0giwwndy8f6pr4xvqgkv939x93r3sj2a6rkz4v8xrrrvmgq9hbpi";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson attoparsec base blaze-builder bytestring conduit containers
-         monad-logger mtl persistent postgresql-libpq postgresql-simple
-         resource-pool resourcet string-conversions text time transformers
-         unliftio-core
-       ];
-       testHaskellDepends = [
-         aeson base bytestring containers fast-logger hspec
-         hspec-expectations hspec-expectations-lifted http-api-data HUnit
-         monad-logger path-pieces persistent persistent-qq persistent-test
-         QuickCheck quickcheck-instances resourcet text time transformers
-         unliftio unliftio-core unordered-containers vector
-       ];
-       description = "Backend for the persistent library using postgresql";
-       license = lib.licenses.mit;
-     }) {};
-
-  "persistent-postgresql_2_13_4_0" = callPackage
-    ({ mkDerivation, aeson, attoparsec, base, blaze-builder, bytestring
-     , conduit, containers, fast-logger, hspec, hspec-expectations
-     , hspec-expectations-lifted, http-api-data, HUnit, monad-logger
-     , mtl, path-pieces, persistent, persistent-qq, persistent-test
-     , postgresql-libpq, postgresql-simple, QuickCheck
-     , quickcheck-instances, resource-pool, resourcet
-     , string-conversions, text, time, transformers, unliftio
      , unliftio-core, unordered-containers, vault, vector
      }:
      mkDerivation {
@@ -210989,7 +211310,6 @@ self: {
        ];
        description = "Backend for the persistent library using postgresql";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-postgresql-streaming" = callPackage
@@ -211155,38 +211475,6 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-sqlite";
-       version = "2.13.0.4";
-       sha256 = "1lvjdh2c4c7z8z8fsl8bz5rygnkph6ql01jnn53mp0v98crk2s9w";
-       configureFlags = [ "-fsystemlib" ];
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         aeson base bytestring conduit containers microlens-th monad-logger
-         mtl persistent resource-pool resourcet text time transformers
-         unliftio-core unordered-containers
-       ];
-       librarySystemDepends = [ sqlite ];
-       testHaskellDepends = [
-         base bytestring conduit containers exceptions fast-logger hspec
-         HUnit microlens monad-logger mtl persistent persistent-test
-         QuickCheck resourcet system-fileio system-filepath temporary text
-         time transformers unliftio-core
-       ];
-       description = "Backend for the persistent library using sqlite3";
-       license = lib.licenses.mit;
-       maintainers = with lib.maintainers; [ psibi ];
-     }) {inherit (pkgs) sqlite;};
-
-  "persistent-sqlite_2_13_1_0" = callPackage
-    ({ mkDerivation, aeson, base, bytestring, conduit, containers
-     , exceptions, fast-logger, hspec, HUnit, microlens, microlens-th
-     , monad-logger, mtl, persistent, persistent-test, QuickCheck
-     , resource-pool, resourcet, sqlite, system-fileio, system-filepath
-     , temporary, text, time, transformers, unliftio-core
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "persistent-sqlite";
        version = "2.13.1.0";
        sha256 = "1z8650nv10f6yldn9sihk54c7mlcnkxwaj956igvs6q3x3s8aa1b";
        configureFlags = [ "-fsystemlib" ];
@@ -211206,7 +211494,6 @@ self: {
        ];
        description = "Backend for the persistent library using sqlite3";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ psibi ];
      }) {inherit (pkgs) sqlite;};
 
@@ -211255,29 +211542,6 @@ self: {
      }:
      mkDerivation {
        pname = "persistent-test";
-       version = "2.13.0.4";
-       sha256 = "0vcq5wg63py4k5nv5042lcdzz24wbpwzhd2ww02ijf5wmgqqg63p";
-       libraryHaskellDepends = [
-         aeson base blaze-html bytestring conduit containers exceptions
-         hspec hspec-expectations http-api-data HUnit monad-control
-         monad-logger mtl path-pieces persistent QuickCheck
-         quickcheck-instances random resourcet text time transformers
-         transformers-base unliftio unliftio-core unordered-containers
-       ];
-       description = "Tests for Persistent";
-       license = lib.licenses.mit;
-     }) {};
-
-  "persistent-test_2_13_1_0" = callPackage
-    ({ mkDerivation, aeson, base, blaze-html, bytestring, conduit
-     , containers, exceptions, hspec, hspec-expectations, http-api-data
-     , HUnit, monad-control, monad-logger, mtl, path-pieces, persistent
-     , QuickCheck, quickcheck-instances, random, resourcet, text, time
-     , transformers, transformers-base, unliftio, unliftio-core
-     , unordered-containers
-     }:
-     mkDerivation {
-       pname = "persistent-test";
        version = "2.13.1.0";
        sha256 = "1ccv9rrnjngwf8av3zyq28myd1iyb6831nnqjpllwlyrpgnmafvr";
        libraryHaskellDepends = [
@@ -211289,7 +211553,6 @@ self: {
        ];
        description = "Tests for Persistent";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "persistent-typed-db" = callPackage
@@ -212093,8 +212356,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-phonetics-basics";
-       version = "0.8.4.0";
-       sha256 = "1sxc7qsp93qdf11lp09www1ynrzpnxnc0k00pidz1bpka2hqcjh1";
+       version = "0.9.0.0";
+       sha256 = "1sbsywylcmjf592618rs727k1lfc42yll541cqwm34ffhzsvfzij";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -212265,8 +212528,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-array";
-       version = "0.14.1.0";
-       sha256 = "0cs0h9dh39cxbdgnajbh5j1mc0fqbqd6q8mkgc1an7n463m756vr";
+       version = "0.15.0.0";
+       sha256 = "1rayhhyvqskxw374jrl5h92lhx0n3k3wda7vw4wkgw3kbargwm7q";
        libraryHaskellDepends = [
          base cli-arguments heaps mmsyn2-array mmsyn3 parallel
          phonetic-languages-constraints-array
@@ -212288,8 +212551,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-examples-common";
-       version = "0.3.0.0";
-       sha256 = "1ajgp4wyfdzvvnj5272r0cpl9jykps5bwzn93asmfbilzfdjaynz";
+       version = "0.4.0.0";
+       sha256 = "0bhjmnj1k54c7xg3m9p5rlnqq4csf872ap2a2axf4d6caizz29cf";
        libraryHaskellDepends = [
          base heaps phonetic-languages-phonetics-basics
        ];
@@ -212304,8 +212567,8 @@ self: {
      }:
      mkDerivation {
        pname = "phonetic-languages-simplified-generalized-properties-array";
-       version = "0.8.5.0";
-       sha256 = "18a1a7509gajp5yf7kbsgd1iak5rghqr0qky8yhmb4n8j2mz8wfa";
+       version = "0.9.0.0";
+       sha256 = "17zr8j9slvimjv1vx6bzq1d86n5ap1j17yglxvviyd3xbhnp2qq2";
        libraryHaskellDepends = [
          base phonetic-languages-phonetics-basics
          phonetic-languages-rhythmicity phonetic-languages-simplified-base
@@ -213243,8 +213506,8 @@ self: {
        pname = "pipes";
        version = "4.3.16";
        sha256 = "163lx5sf68zx5kik5h1fjsyckwr9shdsn5k2dsjq3mhg077nxqgl";
-       revision = "1";
-       editedCabalFile = "1b2hkxrb3sv2jgxw3pwhzkskdbgwmli1ckmnycba4llajn9yczmh";
+       revision = "2";
+       editedCabalFile = "1djfzrqq5dz9gpljyf3kbrz7vhp4rvbrk5z7r3x9n3yhw00dwiwp";
        libraryHaskellDepends = [
          base exceptions mmorph mtl transformers void
        ];
@@ -219363,17 +219626,18 @@ self: {
 
   "powerdns" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, bytestring
-     , case-insensitive, containers, deepseq, http-client, servant
-     , servant-client, servant-client-core, tasty, tasty-hunit, text
-     , time
+     , case-insensitive, containers, deepseq, hashable, http-client
+     , servant, servant-client, servant-client-core, tasty, tasty-hunit
+     , text, time
      }:
      mkDerivation {
        pname = "powerdns";
-       version = "0.2.2";
-       sha256 = "05znwk4s6b60rz4qf63b75y84a0yljyiynmkxj4sjafd810cbnwc";
+       version = "0.3.0";
+       sha256 = "1gm9rwxs6iyvwnyigxdihs3djq83z75w74rkbrmlwdrmz21pww13";
        libraryHaskellDepends = [
          aeson base base64-bytestring bytestring case-insensitive containers
-         deepseq servant servant-client servant-client-core text time
+         deepseq hashable servant servant-client servant-client-core text
+         time
        ];
        testHaskellDepends = [
          base http-client servant-client servant-client-core tasty
@@ -221473,6 +221737,49 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "pro-abstract" = callPackage
+    ({ mkDerivation, base, containers, deepseq, hashable, hedgehog
+     , neat-interpolation, optics-core, text
+     }:
+     mkDerivation {
+       pname = "pro-abstract";
+       version = "0.1.0.0";
+       sha256 = "0w8dmf8n35z414j4591gvix7q9dn7zn1pai4mg93p9fkd09453fm";
+       libraryHaskellDepends = [
+         base containers deepseq hashable optics-core text
+       ];
+       testHaskellDepends = [
+         base containers deepseq hashable hedgehog neat-interpolation
+         optics-core text
+       ];
+       doHaddock = false;
+       description = "Abstract syntax for writing documents";
+       license = lib.licenses.mpl20;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
+  "pro-source" = callPackage
+    ({ mkDerivation, base, deepseq, hashable, optics-core
+     , prettyprinter, tasty, tasty-hunit, tasty-quickcheck, text, vector
+     }:
+     mkDerivation {
+       pname = "pro-source";
+       version = "0.1.0.0";
+       sha256 = "0c3xhdggw6cw8h8jxlkh4vi2xmcaibvj1c5klm9mf8cfyr4f6722";
+       revision = "1";
+       editedCabalFile = "1mxc6lbwdhk1d5in711ma1vvd60nckfb17ss8xbj68b8irw160ng";
+       libraryHaskellDepends = [
+         base deepseq hashable optics-core prettyprinter text vector
+       ];
+       testHaskellDepends = [
+         base deepseq hashable optics-core prettyprinter tasty tasty-hunit
+         tasty-quickcheck text vector
+       ];
+       description = "Utilities for tracking source locations";
+       license = lib.licenses.mpl20;
+     }) {};
+
   "probability" = callPackage
     ({ mkDerivation, base, containers, random, transformers, utility-ht
      }:
@@ -226271,10 +226578,8 @@ self: {
      }:
      mkDerivation {
        pname = "quickcheck-higherorder";
-       version = "0.1.0.0";
-       sha256 = "1gv7r1h9fjg6qi6gj8cg66d7z51kddishxp4hp6cnk55zx1wgy6w";
-       revision = "1";
-       editedCabalFile = "1xlfpnfbjlihl021b1l6mnl195fcpsjpmdnszf0bfh7q8mrdwr3j";
+       version = "0.1.0.1";
+       sha256 = "17bnbq6hndlvfv2ryingw181vhv6ab5npkjxkxs0bijv654dca2h";
        libraryHaskellDepends = [ base QuickCheck test-fun ];
        testHaskellDepends = [ base tasty tasty-hunit tasty-quickcheck ];
        description = "QuickCheck extension for higher-order properties";
@@ -230130,43 +230435,6 @@ self: {
      }:
      mkDerivation {
        pname = "reanimate";
-       version = "1.1.4.0";
-       sha256 = "0gz651ipn5w6w7adxkvkcgi6nb1d2vs72l8glz5jdll44mchdk55";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         aeson ansi-terminal array attoparsec base base64-bytestring
-         bytestring cassava cereal colour containers cryptohash-sha256
-         cubicbezier directory filelock filepath fingertree fsnotify geojson
-         hashable hgeometry hgeometry-combinatorial JuicyPixels lens linear
-         matrix mtl neat-interpolation network open-browser
-         optparse-applicative parallel process random random-shuffle
-         reanimate-svg split temporary text time unix unordered-containers
-         vector vector-space websockets xml
-       ];
-       testHaskellDepends = [
-         base bytestring directory filepath linear process QuickCheck tasty
-         tasty-expected-failure tasty-golden tasty-hunit tasty-quickcheck
-         tasty-rerun temporary text vector
-       ];
-       description = "Animation library based on SVGs";
-       license = lib.licenses.publicDomain;
-       hydraPlatforms = lib.platforms.none;
-     }) {};
-
-  "reanimate_1_1_5_0" = callPackage
-    ({ mkDerivation, aeson, ansi-terminal, array, attoparsec, base
-     , base64-bytestring, bytestring, cassava, cereal, colour
-     , containers, cryptohash-sha256, cubicbezier, directory, filelock
-     , filepath, fingertree, fsnotify, geojson, hashable, hgeometry
-     , hgeometry-combinatorial, JuicyPixels, lens, linear, matrix, mtl
-     , neat-interpolation, network, open-browser, optparse-applicative
-     , parallel, process, QuickCheck, random, random-shuffle
-     , reanimate-svg, split, tasty, tasty-expected-failure, tasty-golden
-     , tasty-hunit, tasty-quickcheck, tasty-rerun, temporary, text, time
-     , unix, unordered-containers, vector, vector-space, websockets, xml
-     }:
-     mkDerivation {
-       pname = "reanimate";
        version = "1.1.5.0";
        sha256 = "0gy5s68d00szs1ljfcyisp19g3vz4i1mlbxpym0mymzc5v723wfa";
        enableSeparateDataOutput = true;
@@ -230321,6 +230589,18 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "rec-smallarray" = callPackage
+    ({ mkDerivation, base, hspec, primitive }:
+     mkDerivation {
+       pname = "rec-smallarray";
+       version = "0.1.0.0";
+       sha256 = "1a4vsag2h955i2pgcwiy9rzs1dpvd3j2lc1drhyg6svpm7h82amk";
+       libraryHaskellDepends = [ base primitive ];
+       testHaskellDepends = [ base hspec primitive ];
+       description = "SmallArray-based extensible records for small-scale fast reads";
+       license = lib.licenses.bsd3;
+     }) {};
+
   "recaptcha" = callPackage
     ({ mkDerivation, base, HTTP, network, network-uri, xhtml }:
      mkDerivation {
@@ -230387,8 +230667,8 @@ self: {
      }:
      mkDerivation {
        pname = "record-dot-preprocessor";
-       version = "0.2.13";
-       sha256 = "0kqk8iiqhpqrr0b0bxcy0vqp159cnsf9zri45hbp4npqm2lvcw37";
+       version = "0.2.14";
+       sha256 = "07hq90pk30p14jqk016wchmqrc1qhwa9qajaj90i363g3arcb24p";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [ base extra ghc uniplate ];
@@ -231502,8 +231782,8 @@ self: {
      }:
      mkDerivation {
        pname = "reflex-dom-core";
-       version = "0.7.0.0";
-       sha256 = "0g96z0qd658g5zhcb01f7gzpk3kb016w6w67wcyrigvg4zxk2vyn";
+       version = "0.7.0.1";
+       sha256 = "0lhi04i5wfkgblcifah6znkwi6v7294pna48527ns74f0bjc7yy3";
        libraryHaskellDepends = [
          aeson base bifunctors bimap blaze-builder bytestring
          case-insensitive constraints containers contravariant data-default
@@ -232526,6 +232806,8 @@ self: {
        pname = "regex-pcre-builtin";
        version = "0.95.2.3.8.44";
        sha256 = "0pn55ssrwr05c9sa9jvp0knvzjksz04wn3pmzf5dz4xgbyjadkna";
+       revision = "1";
+       editedCabalFile = "1j7wcw3f8fmd0m1iqndliw2w4jrm4rr7lyydn3xi7wxyvy8a0kmf";
        libraryHaskellDepends = [
          array base bytestring containers regex-base text
        ];
@@ -234561,7 +234843,7 @@ self: {
        maintainers = with lib.maintainers; [ maralorn ];
      }) {};
 
-  "req_3_9_2" = callPackage
+  "req_3_10_0" = callPackage
     ({ mkDerivation, aeson, authenticate-oauth, base, blaze-builder
      , bytestring, case-insensitive, connection, exceptions, hspec
      , hspec-core, hspec-discover, http-api-data, http-client
@@ -234571,8 +234853,8 @@ self: {
      }:
      mkDerivation {
        pname = "req";
-       version = "3.9.2";
-       sha256 = "17xkj5pypn4k6ncsahjc0h827kg3cyx5iy5q6iv1gvk8dwdiim0g";
+       version = "3.10.0";
+       sha256 = "176zl3ihmp8iz4fwfi5dalmiz658dis0hxni6bqzqgnaxhd0230w";
        enableSeparateDataOutput = true;
        libraryHaskellDepends = [
          aeson authenticate-oauth base blaze-builder bytestring
@@ -234783,12 +235065,12 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
-  "rerebase_1_15" = callPackage
+  "rerebase_1_15_0_3" = callPackage
     ({ mkDerivation, rebase }:
      mkDerivation {
        pname = "rerebase";
-       version = "1.15";
-       sha256 = "034i8g44w5sfx1770wn95vyh809ar0f6mjwfg96dpszs78b4bzr5";
+       version = "1.15.0.3";
+       sha256 = "0jxlssdxgh5ldgkdpmhpk8vy5fxmq95171b3jl57r9m2f7zqrcd2";
        libraryHaskellDepends = [ rebase ];
        description = "Reexports from \"base\" with a bunch of other standard libraries";
        license = lib.licenses.mit;
@@ -235306,24 +235588,17 @@ self: {
      }:
      mkDerivation {
        pname = "rest-rewrite";
-       version = "0.1.1";
-       sha256 = "0absln2c3ia5bj473wr6lahms9x9xj6szk9lgpb9382px038wxrn";
-       revision = "1";
-       editedCabalFile = "0nzzqg9m7b01g574mm37yiqaqkff4p7hskgj98nb4v7cdp46nypb";
-       isLibrary = true;
-       isExecutable = true;
+       version = "0.2.0";
+       sha256 = "05s5c9j6afswy0ix8m543csk1blknncrh4kz2ihyw90yfgpjjb3b";
        libraryHaskellDepends = [
-         base containers hashable mtl parsec process text
-         unordered-containers
-       ];
-       executableHaskellDepends = [
          base containers hashable monad-loops mtl parsec process QuickCheck
          text time unordered-containers
        ];
        testHaskellDepends = [
-         base containers hashable mtl parsec process QuickCheck text
+         base containers hashable mtl QuickCheck text time
          unordered-containers
        ];
+       doHaddock = false;
        description = "Rewriting library with online termination checking";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -235672,16 +235947,16 @@ self: {
     ({ mkDerivation, barbies, base, clash-ghc, clash-lib, clash-prelude
      , containers, ghc-typelits-extra, ghc-typelits-knownnat
      , ghc-typelits-natnormalise, lens, lift-type, monoidal-containers
-     , mtl, template-haskell, th-orphans, transformers
+     , mtl, template-haskell, transformers
      }:
      mkDerivation {
        pname = "retroclash-lib";
-       version = "0.1.0.1";
-       sha256 = "1wcnr6hk05xj3qyq6wdwyn5qv820wi6djlcllyv8nc2cz8zgc3v7";
+       version = "0.1.1";
+       sha256 = "1v8xw37cbnz16gqmf65hgk0kvh0vgmq8sj6nh4ngz48l6i5wylv6";
        libraryHaskellDepends = [
          barbies base clash-ghc clash-lib clash-prelude containers
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
-         lens lift-type monoidal-containers mtl template-haskell th-orphans
+         lens lift-type monoidal-containers mtl template-haskell
          transformers
        ];
        description = "Code shared across the code samples in the book \"Retrocomputing with Clash\"";
@@ -235697,8 +235972,8 @@ self: {
      }:
      mkDerivation {
        pname = "retroclash-sim";
-       version = "0.1.0";
-       sha256 = "1wv8is17ds9y49an832dlgixly9b98h8x6ybc5dj7zzf1jwplyp8";
+       version = "0.1.1";
+       sha256 = "147i7nbxyxgsvyj2wiaiipi0s8sp14y1av33yba4s148k38zsiw3";
        libraryHaskellDepends = [
          array arrows base clash-ghc clash-lib clash-prelude
          ghc-typelits-extra ghc-typelits-knownnat ghc-typelits-natnormalise
@@ -237250,8 +237525,8 @@ self: {
      }:
      mkDerivation {
        pname = "robots-txt";
-       version = "0.4.1.5";
-       sha256 = "025dm3rv4cpig8j02yzkr7xinzfcqmfiaaj8x5kzjw8mgcb1qpn3";
+       version = "0.4.1.7";
+       sha256 = "0krmqznkkrq16bf78hs98ck6793nl68sn6lb5dv6skn8f10pzyfg";
        libraryHaskellDepends = [
          attoparsec base bytestring old-locale time
        ];
@@ -243083,6 +243358,8 @@ self: {
        pname = "sdp";
        version = "0.2.1.1";
        sha256 = "19s78i5aaj24wbbqkfa6xjkj95fgl23gyqan57pkdjcnknwpymqq";
+       revision = "1";
+       editedCabalFile = "1bq7gnbdk5fvxd8zbfzqxwg3xxz9k42f7xxjxqrpd3rm2m4ciski";
        libraryHaskellDepends = [ base data-default-class fmr ghc-prim ];
        libraryToolDepends = [ cpphs ];
        description = "Simple Data Processing";
@@ -244969,8 +245246,8 @@ self: {
     ({ mkDerivation, base, bytestring, HUnit, unix }:
      mkDerivation {
        pname = "serialport";
-       version = "0.5.3";
-       sha256 = "0f0q26n27s6b9mfqc9xb9j8p4qrfjfddwiz1wslxk4rh176qw96i";
+       version = "0.5.4";
+       sha256 = "0hw9vcmxfhjad0jcq0c7m2klcnhilk5ag7byymyny0kzg4js27vr";
        libraryHaskellDepends = [ base bytestring unix ];
        testHaskellDepends = [ base bytestring HUnit ];
        description = "Cross platform serial port library";
@@ -245095,6 +245372,34 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant_0_19" = callPackage
+    ({ mkDerivation, aeson, attoparsec, base, base-compat, bifunctors
+     , bytestring, case-insensitive, constraints, deepseq, hspec
+     , hspec-discover, http-api-data, http-media, http-types, mmorph
+     , mtl, network-uri, QuickCheck, quickcheck-instances
+     , singleton-bool, sop-core, string-conversions, tagged, text
+     , transformers, vault
+     }:
+     mkDerivation {
+       pname = "servant";
+       version = "0.19";
+       sha256 = "1rahn436vc3xajn563ni25jqkg87fvhqkpswan1xy6qsfr0ikdjb";
+       libraryHaskellDepends = [
+         aeson attoparsec base base-compat bifunctors bytestring
+         case-insensitive constraints deepseq http-api-data http-media
+         http-types mmorph mtl network-uri QuickCheck singleton-bool
+         sop-core string-conversions tagged text transformers vault
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring hspec http-media mtl QuickCheck
+         quickcheck-instances string-conversions text transformers
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A family of combinators for defining webservices APIs";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-JuicyPixels" = callPackage
     ({ mkDerivation, base, bytestring, http-media, JuicyPixels, servant
      , servant-server, wai, warp
@@ -245145,17 +245450,15 @@ self: {
      }) {};
 
   "servant-auth" = callPackage
-    ({ mkDerivation, aeson, base, jose, lens, servant, text
+    ({ mkDerivation, aeson, base, containers, jose, lens, servant, text
      , unordered-containers
      }:
      mkDerivation {
        pname = "servant-auth";
-       version = "0.4.0.0";
-       sha256 = "0v2g80kakjwpws92bk3anzy4k8vgxq99y7g3ib4amc5x6kxcmjh1";
-       revision = "3";
-       editedCabalFile = "1hq0mz4fm2f6v57jzyahk5wfip285v3yh20dawvmwdh7wq6104zr";
+       version = "0.4.1.0";
+       sha256 = "08ggnlknhzdpf49zjm1qpzm12gckss7yr8chmzm6h6ycigz77ndd";
        libraryHaskellDepends = [
-         aeson base jose lens servant text unordered-containers
+         aeson base containers jose lens servant text unordered-containers
        ];
        description = "Authentication combinators for servant";
        license = lib.licenses.bsd3;
@@ -245172,8 +245475,8 @@ self: {
        pname = "servant-auth-client";
        version = "0.4.1.0";
        sha256 = "16rmwdrx0qyqa821ipayczzl3gv8gvqgx8k9q8qaw19w87hwkh83";
-       revision = "2";
-       editedCabalFile = "0mq9nhrlh44jxkngj06pasrrjzv5193lj6d2szprnncgrk36zi31";
+       revision = "3";
+       editedCabalFile = "102p6mcafxsp41kzqzp59dm5d58r7mdhdijxnhhw25913qzi2pl3";
        libraryHaskellDepends = [
          base bytestring containers servant servant-auth servant-client-core
        ];
@@ -245228,8 +245531,8 @@ self: {
        pname = "servant-auth-docs";
        version = "0.2.10.0";
        sha256 = "0j1ynnrb6plrhpb2vzs2p7a9jb41llp0j1jwgap7hjhkwhyc7wxd";
-       revision = "8";
-       editedCabalFile = "01mb003lajxs1x82k20dbnxzdvxdla51vi4dh4f0a1xycvyhfpyi";
+       revision = "9";
+       editedCabalFile = "0bqs4l7iwzdx0ppyh7v4b4rmy8va3p3ijknp2dc2lwj5yclzfl32";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base lens servant servant-auth servant-docs text
@@ -245292,10 +245595,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-auth-server";
-       version = "0.4.6.0";
-       sha256 = "0isl9pzzhfbs8pgh3qr2vbgfp0bh741dfa59sq7n3cmbkc6ndpkk";
-       revision = "3";
-       editedCabalFile = "0iasfns12wab45hf4qkwm5bx1z63ass9n5sh926wnn82g1v6qdyw";
+       version = "0.4.7.0";
+       sha256 = "1m145xxqg1xy7i1br9yfh3avwkb30zh808nr658ljl7j2imlknj2";
        libraryHaskellDepends = [
          aeson base base64-bytestring blaze-builder bytestring
          case-insensitive cookie data-default-class entropy http-types jose
@@ -245320,8 +245621,8 @@ self: {
        pname = "servant-auth-swagger";
        version = "0.2.10.1";
        sha256 = "029nvb4wxwl98ah26bgcq1b7izrnvssxwn1682liimvsh4a8bady";
-       revision = "3";
-       editedCabalFile = "1hkszdp7c7c34b2yp2gb7khzlzq8iw5ma066r30kq2nw5jj895k0";
+       revision = "4";
+       editedCabalFile = "1rwywxhiz7fl5gp90nvdlc0gw0f0lg3pnigj6cpah1fsay4arscf";
        libraryHaskellDepends = [
          base lens servant servant-auth servant-swagger swagger2 text
        ];
@@ -245467,6 +245768,8 @@ self: {
        pname = "servant-auth-wordpress";
        version = "1.0.0.2";
        sha256 = "0j4n5anlw3a2cgclmyblg01dcls91hzlmxgc2jkcdpwd49i0pv5n";
+       revision = "1";
+       editedCabalFile = "0d3sy1i3jcknfgca13a9ajjr65rpam2rahw0634rnmx0wdd30s0w";
        libraryHaskellDepends = [
          base mtl servant-server text time wai wordpress-auth
        ];
@@ -245527,6 +245830,8 @@ self: {
        pname = "servant-blaze";
        version = "0.9.1";
        sha256 = "08fvy904mz5xjqda702kq4ch25m3nda1yhpp4g7i62j0jmxs2ji6";
+       revision = "1";
+       editedCabalFile = "1y38lzmh5jr3bix0cqrcx9zkjdr1598hz7rvpnm827qw0ln3cmra";
        libraryHaskellDepends = [ base blaze-html http-media servant ];
        testHaskellDepends = [ base blaze-html servant-server wai warp ];
        description = "Blaze-html support for servant";
@@ -245654,6 +245959,37 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-client_0_19" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring, containers
+     , deepseq, entropy, exceptions, hspec, hspec-discover
+     , http-api-data, http-client, http-media, http-types, HUnit
+     , kan-extensions, markdown-unlit, monad-control, mtl, network
+     , QuickCheck, semigroupoids, servant, servant-client-core
+     , servant-server, sop-core, stm, tdigest, text, time, transformers
+     , transformers-base, transformers-compat, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-client";
+       version = "0.19";
+       sha256 = "1bdapsr6il0f019ss8wsxndpc8cd5czj40xczay5qhl7fqnxg5pa";
+       libraryHaskellDepends = [
+         base base-compat bytestring containers deepseq exceptions
+         http-client http-media http-types kan-extensions monad-control mtl
+         semigroupoids servant servant-client-core stm text time
+         transformers transformers-base transformers-compat
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring entropy hspec http-api-data
+         http-client http-types HUnit kan-extensions markdown-unlit mtl
+         network QuickCheck servant servant-client-core servant-server
+         sop-core stm tdigest text transformers transformers-compat wai warp
+       ];
+       testToolDepends = [ hspec-discover markdown-unlit ];
+       description = "Automatic derivation of querying functions for servant";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-client-core" = callPackage
     ({ mkDerivation, aeson, base, base-compat, base64-bytestring
      , bytestring, containers, deepseq, exceptions, free, hspec
@@ -245675,6 +246011,30 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-client-core_0_19" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, base64-bytestring
+     , bytestring, constraints, containers, deepseq, exceptions, free
+     , hspec, hspec-discover, http-media, http-types, network-uri
+     , QuickCheck, safe, servant, sop-core, template-haskell, text
+     , transformers
+     }:
+     mkDerivation {
+       pname = "servant-client-core";
+       version = "0.19";
+       sha256 = "0cisc5cyl367cwrch1gr812aspd36a21hkwi6mwj708rpspwvrmc";
+       libraryHaskellDepends = [
+         aeson base base-compat base64-bytestring bytestring constraints
+         containers deepseq exceptions free http-media http-types
+         network-uri safe servant sop-core template-haskell text
+         transformers
+       ];
+       testHaskellDepends = [ base base-compat deepseq hspec QuickCheck ];
+       testToolDepends = [ hspec-discover ];
+       description = "Core functionality and class for client function generation for servant APIs";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-client-js" = callPackage
     ({ mkDerivation, base, binary, bytestring, case-insensitive
      , containers, exceptions, http-media, http-types, jsaddle
@@ -245727,8 +246087,8 @@ self: {
        pname = "servant-conduit";
        version = "0.15.1";
        sha256 = "1vy3ihypb0zm2yd16rq120qw3898i3c0mahh2jysssv65g0avdwp";
-       revision = "1";
-       editedCabalFile = "0j7jrwyj6vnfr8wyyzjjm6gakx401aylrq8shc2y9ciy0mhf8lrv";
+       revision = "3";
+       editedCabalFile = "1rcxn2m95zvxqvjbagk9gmwcyvx9wanhxmafwar4y4p15mvzd8d1";
        libraryHaskellDepends = [
          base bytestring conduit mtl resourcet servant unliftio-core
        ];
@@ -245850,6 +246210,35 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-docs_0_12" = callPackage
+    ({ mkDerivation, aeson, aeson-pretty, base, base-compat, bytestring
+     , case-insensitive, hashable, http-media, http-types, lens, servant
+     , string-conversions, tasty, tasty-golden, tasty-hunit, text
+     , transformers, universe-base, unordered-containers
+     }:
+     mkDerivation {
+       pname = "servant-docs";
+       version = "0.12";
+       sha256 = "0531jldq35sl1qlna0s1n8bakbsplg15611305dk48z80vcpa933";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson aeson-pretty base base-compat bytestring case-insensitive
+         hashable http-media http-types lens servant string-conversions text
+         universe-base unordered-containers
+       ];
+       executableHaskellDepends = [
+         aeson base lens servant string-conversions text
+       ];
+       testHaskellDepends = [
+         aeson base base-compat lens servant string-conversions tasty
+         tasty-golden tasty-hunit transformers
+       ];
+       description = "generate API docs for your servant webservice";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-docs-simple" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, bytestring, hspec
      , hspec-core, prettyprinter, raw-strings-qq, servant, text
@@ -246077,6 +246466,8 @@ self: {
        pname = "servant-foreign";
        version = "0.15.4";
        sha256 = "0bznb73rbgfgkg7n4pxghkqsfca0yw9vak73c6w8sqvc2mjnc7mz";
+       revision = "1";
+       editedCabalFile = "0lwz3cjbz072xpg6ak0q4grs2c6i7fvvpcsbmc4ngqm695vd9ff8";
        libraryHaskellDepends = [
          base base-compat http-types lens servant text
        ];
@@ -246278,6 +246669,41 @@ self: {
        broken = true;
      }) {};
 
+  "servant-http-streams_0_18_4" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, bytestring
+     , case-insensitive, containers, deepseq, entropy, exceptions, hspec
+     , hspec-discover, http-api-data, http-common, http-media
+     , http-streams, http-types, HUnit, io-streams, kan-extensions
+     , markdown-unlit, monad-control, mtl, network, QuickCheck
+     , semigroupoids, servant, servant-client-core, servant-server, stm
+     , tdigest, text, time, transformers, transformers-base
+     , transformers-compat, wai, warp
+     }:
+     mkDerivation {
+       pname = "servant-http-streams";
+       version = "0.18.4";
+       sha256 = "15f24rcgz839cb38q4gs1liqrdyqjbazcqzjdxmv4307x072pv3a";
+       libraryHaskellDepends = [
+         base base-compat bytestring case-insensitive containers deepseq
+         exceptions http-common http-media http-streams http-types
+         io-streams kan-extensions monad-control mtl semigroupoids servant
+         servant-client-core text time transformers transformers-base
+         transformers-compat
+       ];
+       testHaskellDepends = [
+         aeson base base-compat bytestring deepseq entropy hspec
+         http-api-data http-streams http-types HUnit kan-extensions
+         markdown-unlit mtl network QuickCheck servant servant-client-core
+         servant-server stm tdigest text transformers transformers-compat
+         wai warp
+       ];
+       testToolDepends = [ hspec-discover markdown-unlit ];
+       description = "Automatic derivation of querying functions for servant";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "servant-http2-client" = callPackage
     ({ mkDerivation, aeson, async, base, binary, bytestring
      , case-insensitive, containers, data-default-class, exceptions
@@ -246348,8 +246774,8 @@ self: {
        pname = "servant-js";
        version = "0.9.4.2";
        sha256 = "15n5s3i491cxjxj70wa8yhpipaz47q46s04l4ysc64wgijlnm8xy";
-       revision = "1";
-       editedCabalFile = "0lka70i2qjjj9x8i1ilsfgqq5hwdlrcyd2cj1qcpyhj85c9anxl3";
+       revision = "2";
+       editedCabalFile = "1wi3q1rn384h9gvxv6dmk31h0wwb6j4yjimz01cz6sgs7fs77ndj";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -246440,8 +246866,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-lucid";
-       version = "0.9.0.4";
-       sha256 = "1m02z60l1knzpcc41ccqmg8fblg2wzdn60vy3cwjbk15girjpxaw";
+       version = "0.9.0.5";
+       sha256 = "0yhxj62hhqk0269wk3062dpb39qp7khz1gjqyqqmzfbb4v5x8mfz";
        libraryHaskellDepends = [ base http-media lucid servant text ];
        testHaskellDepends = [ base lucid servant-server wai warp ];
        description = "Servant support for lucid";
@@ -246457,8 +246883,8 @@ self: {
        pname = "servant-machines";
        version = "0.15.1";
        sha256 = "0k8abcc72s5bzcf2vmjkxxjnhk45rww6hr3l93msm2510hi6gda4";
-       revision = "1";
-       editedCabalFile = "0zplgs1kqfmnnx8yv8ay594misiamgmvy41b8w1h3mr7n4vrgk8j";
+       revision = "2";
+       editedCabalFile = "0231278v3vs5ca3cx43711kzfbhqj2s7g67zcwrj39ly8i9kxm2n";
        libraryHaskellDepends = [ base bytestring machines mtl servant ];
        testHaskellDepends = [
          base base-compat bytestring http-client http-media machines servant
@@ -246545,6 +246971,8 @@ self: {
        pname = "servant-multipart";
        version = "0.12.1";
        sha256 = "1p55kb3zhq25ncp7wimhggssn68abfgsnlldk13rk1iajaj6y8y5";
+       revision = "1";
+       editedCabalFile = "1vjdly7n614gzzxyf2sdkgmhkfqxbdvaf0f2pyk9mr9fxlss1g2q";
        libraryHaskellDepends = [
          base bytestring directory lens resourcet servant servant-docs
          servant-foreign servant-multipart-api servant-server
@@ -246564,6 +246992,8 @@ self: {
        pname = "servant-multipart-api";
        version = "0.12.1";
        sha256 = "1gifa9g7ggs0plzffrd9a8j24dmqvgbkkdkfzyy7mpmwrjqw7mcj";
+       revision = "1";
+       editedCabalFile = "0nwk49xmzwxxlgcsqa62nwvyfqmxb0ab1ncnn96gpqyxkqbv2gxd";
        libraryHaskellDepends = [
          base bytestring servant text transformers
        ];
@@ -246581,6 +247011,8 @@ self: {
        pname = "servant-multipart-client";
        version = "0.12.1";
        sha256 = "07haaf9nq96lfv2dhqf4319vl321f53v0mypbbg3swzb6rrfkw9h";
+       revision = "1";
+       editedCabalFile = "1mzh1a37hmq4zl0annnk3xabgli2jndkvx80amhsn97111fiz7lz";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -246663,8 +247095,8 @@ self: {
        pname = "servant-openapi3";
        version = "2.0.1.3";
        sha256 = "1nvxaskizv5qgznvxdg4crdh4dra5rj7abiky5bd927gnwvbir6s";
-       revision = "1";
-       editedCabalFile = "08ajlbydnklqdv8gyrqihdn27h5hjvlvjv628xg05w7waa2c15vy";
+       revision = "2";
+       editedCabalFile = "08cfsqx530kyc90p83kf35pyyl90vx85kz1xvmd9lm54785d2znv";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat bytestring hspec http-media
@@ -246744,6 +247176,8 @@ self: {
        pname = "servant-pipes";
        version = "0.15.3";
        sha256 = "1sd01f95rkraa0zdqqg2vwx91zsih0i0hqqkz55nnw9bsbsqhq1n";
+       revision = "2";
+       editedCabalFile = "1idjvfr8w5hr9dvhj9x08sfpy5xvjf0l7a5jhx9hdlfmrxk1cd8c";
        libraryHaskellDepends = [
          base bytestring monad-control mtl pipes pipes-safe servant
        ];
@@ -247129,21 +247563,18 @@ self: {
      }) {};
 
   "servant-serf" = callPackage
-    ({ mkDerivation, attoparsec, base, hpack, mtl, optparse-applicative
-     , regex-base, regex-tdfa, text
-     }:
+    ({ mkDerivation, base, Cabal, directory, exceptions, filepath }:
      mkDerivation {
        pname = "servant-serf";
-       version = "0.2.1";
-       sha256 = "1xbjjf243ml2mavvizp6a7llw9c43mnncp7yk0ksjqcnchvsx43w";
+       version = "0.3.0.1";
+       sha256 = "0qa7ycz9nr214fdhkfvpfwhznshwbxn42mh90a4f8ddlqvbj3is2";
        isLibrary = true;
        isExecutable = true;
-       executableHaskellDepends = [
-         attoparsec base hpack mtl optparse-applicative regex-base
-         regex-tdfa text
+       libraryHaskellDepends = [
+         base Cabal directory exceptions filepath
        ];
-       doHaddock = false;
-       description = "Generates a servant API module";
+       executableHaskellDepends = [ base ];
+       description = "Automatically generate Servant API modules";
        license = lib.licenses.mit;
      }) {};
 
@@ -247182,6 +247613,44 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "servant-server_0_19" = callPackage
+    ({ mkDerivation, aeson, base, base-compat, base64-bytestring
+     , bytestring, constraints, containers, directory, exceptions
+     , filepath, hspec, hspec-discover, hspec-wai, http-api-data
+     , http-media, http-types, monad-control, mtl, network, network-uri
+     , QuickCheck, resourcet, safe, servant, should-not-typecheck
+     , sop-core, string-conversions, tagged, temporary, text
+     , transformers, transformers-base, transformers-compat, wai
+     , wai-app-static, wai-extra, warp, word8
+     }:
+     mkDerivation {
+       pname = "servant-server";
+       version = "0.19";
+       sha256 = "0d7z1r9g86cshqqacnw1ls4h5ijpwznbprk2kvnc8j8drjcmnrf1";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base base-compat base64-bytestring bytestring constraints
+         containers exceptions filepath http-api-data http-media http-types
+         monad-control mtl network network-uri resourcet servant sop-core
+         string-conversions tagged text transformers transformers-base wai
+         wai-app-static word8
+       ];
+       executableHaskellDepends = [
+         aeson base base-compat servant text wai warp
+       ];
+       testHaskellDepends = [
+         aeson base base-compat base64-bytestring bytestring directory hspec
+         hspec-wai http-types mtl QuickCheck resourcet safe servant
+         should-not-typecheck sop-core string-conversions temporary text
+         transformers transformers-compat wai wai-extra
+       ];
+       testToolDepends = [ hspec-discover ];
+       description = "A family of combinators for defining webservices APIs and serving them";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "servant-server-namedargs" = callPackage
     ({ mkDerivation, base, bytestring, http-api-data, http-types, named
      , servant, servant-namedargs, servant-server, string-conversions
@@ -247461,6 +247930,8 @@ self: {
        pname = "servant-swagger";
        version = "1.1.10";
        sha256 = "0y6zylhs4z0nfz75d4i2azcq0yh2bd4inanwblx4035dgkk1q78a";
+       revision = "1";
+       editedCabalFile = "1x18nl7sriqwphdyy8v819vbcx27my5mcx9h9hnds2ph82p3zywc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat bytestring hspec http-media
@@ -247500,8 +247971,8 @@ self: {
      }:
      mkDerivation {
        pname = "servant-swagger-ui";
-       version = "0.3.5.3.52.5";
-       sha256 = "1m7scy7fm19zk6xq5mb9l12ajdhm0ml9zl60rqr2m86x4q2i6gq0";
+       version = "0.3.5.4.5.0";
+       sha256 = "12w75z23bnygyr3ki9w3zfy9nhxyjawf9pyzhfg6rp2mq3nji9gg";
        libraryHaskellDepends = [
          aeson base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core text
@@ -247519,8 +247990,8 @@ self: {
        pname = "servant-swagger-ui-core";
        version = "0.3.5";
        sha256 = "0ckvrwrb3x39hfl2hixcj3fhibh0vqsh6y7n1lsm25yvzfrg02zd";
-       revision = "1";
-       editedCabalFile = "0fk7bj8fndxf1aw8xhhacjp8rrvx10gj7kh9d2pvjavnz310ymxg";
+       revision = "2";
+       editedCabalFile = "02g98dy08wj7ryrrbk8547s6ad4a59d6z4pczmf6pc59kdjvjx3n";
        libraryHaskellDepends = [
          aeson base blaze-markup bytestring http-media servant servant-blaze
          servant-server text transformers transformers-compat wai-app-static
@@ -247537,8 +248008,8 @@ self: {
        pname = "servant-swagger-ui-jensoleg";
        version = "0.3.4";
        sha256 = "04s4syfmnjwa52xqm29x2sfi1ka6p7fpjff0pxry099rh0d59hkm";
-       revision = "1";
-       editedCabalFile = "0yvgbyqdkjp5qv88gm7wgcl5rb4haijc4jfmmfcq8g63ya7msx9x";
+       revision = "2";
+       editedCabalFile = "0a98f9xxy69741fj4cqx7qgh9cpbjk03bgga3h3yx2kjidps0cdm";
        libraryHaskellDepends = [
          aeson base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core text
@@ -247555,8 +248026,8 @@ self: {
        pname = "servant-swagger-ui-redoc";
        version = "0.3.4.1.22.3";
        sha256 = "0ln2sz7ffhddk4dqvczpxb5g8f6bic7sandn5zifpz2jg7lgzy0f";
-       revision = "1";
-       editedCabalFile = "1w6h6g8hlsyv87xxxyrsjz5gdkphmxgc4y63g8mmv4hgdncrb1jk";
+       revision = "2";
+       editedCabalFile = "0pd85v4fbz6la90qll5mb9v2f2v8c5x1iwy4s3kk6mxcvzxih968";
        libraryHaskellDepends = [
          aeson base bytestring file-embed-lzma servant servant-server
          servant-swagger-ui-core text
@@ -256971,6 +257442,8 @@ self: {
        pname = "sound-collage";
        version = "0.2.1";
        sha256 = "09g63b3k0l30z3lxmcz0zpggqqhnr7m01wh2vpm5v561rbnl8rsi";
+       revision = "1";
+       editedCabalFile = "07zs924gils8nsb5b8q6lmh4g6iln6dkj3qic8p8cpwkrazjfwsx";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
@@ -257781,6 +258254,29 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
+  "spectacle" = callPackage
+    ({ mkDerivation, base, comonad, containers, hashable, hedgehog
+     , logict, microlens, microlens-mtl, mtl, optparse-applicative
+     , prettyprinter, prettyprinter-ansi-terminal, tasty, tasty-hedgehog
+     , text, transformers
+     }:
+     mkDerivation {
+       pname = "spectacle";
+       version = "1.0.0";
+       sha256 = "0zbxbhjid1j44f31n9h8hsildfx2lf92p1s9dw62gr0xn30kf4gj";
+       libraryHaskellDepends = [
+         base comonad containers hashable logict microlens microlens-mtl mtl
+         optparse-applicative prettyprinter prettyprinter-ansi-terminal text
+         transformers
+       ];
+       testHaskellDepends = [
+         base comonad containers hashable hedgehog microlens tasty
+         tasty-hedgehog
+       ];
+       description = "Embedded specification language & model checker in Haskell";
+       license = lib.licenses.asl20;
+     }) {};
+
   "spectral-clustering" = callPackage
     ({ mkDerivation, base, clustering, containers, hmatrix
      , hmatrix-svdlibc, mwc-random, safe, sparse-linear-algebra
@@ -259398,12 +259894,12 @@ self: {
      }) {};
 
   "st2" = callPackage
-    ({ mkDerivation, base, gdp, ghc-prim, primitive }:
+    ({ mkDerivation, base, gdp, primitive }:
      mkDerivation {
        pname = "st2";
-       version = "0.1.0.2";
-       sha256 = "0i7v9yacwgf6aj67c4r2n8zcm07jrcff9nl52sx7ylsjs65ym2qz";
-       libraryHaskellDepends = [ base gdp ghc-prim primitive ];
+       version = "0.1.1";
+       sha256 = "1agmrzdgil899zjighm946syf41v3ygddbqsg1659n6s4hl5k96k";
+       libraryHaskellDepends = [ base gdp primitive ];
        description = "shared heap regions between local mutable state threads";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -259506,6 +260002,8 @@ self: {
        pname = "stache";
        version = "2.3.0";
        sha256 = "1gfmr9gcq9zm7ljp2nqmc41lpig11d19xsqzazr2mvm5ddsi69cr";
+       revision = "1";
+       editedCabalFile = "0akyrm2zf2aq73fqi07fnkns3waxqciyzawv0nmr8yhkdaqj6plj";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -259539,8 +260037,8 @@ self: {
        pname = "stache";
        version = "2.3.1";
        sha256 = "1a26pwg6y90588yf9sp18w4b2ahr64fxdhy1c3zv0c9pw7bv6k6q";
-       revision = "1";
-       editedCabalFile = "0yfy56ax3zbikvmdyplx5l3rzq50fjwz6rcb9l8iwz167h7gzjpr";
+       revision = "2";
+       editedCabalFile = "1bmnpm7galndl2a87vhbbrhxn1wn09x2l6bqwasfmczyjisn78a8";
        isLibrary = true;
        isExecutable = true;
        enableSeparateDataOutput = true;
@@ -259711,14 +260209,14 @@ self: {
      }:
      mkDerivation {
        pname = "stack-clean-old";
-       version = "0.4.5";
-       sha256 = "04qc3z7xgs8p814lnpwyqgwza7i6wz9mkmzzk0ggq6mv32zzz7kb";
+       version = "0.4.6";
+       sha256 = "0ymzri4pxs0dvqbs3nyrc6hq2lp6y6glva1kbjzpkzgk9r93x3kn";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
          base directory extra filemanip filepath simple-cmd simple-cmd-args
        ];
-       description = "Clean away old stack build artefacts";
+       description = "Clean away old stack build artifacts";
        license = lib.licenses.bsd3;
      }) {};
 
@@ -262781,8 +263279,8 @@ self: {
      }:
      mkDerivation {
        pname = "streaming-commons";
-       version = "0.2.2.3";
-       sha256 = "12zhy0nk9cxijhc66sjg1zgyv5qrvvrpxwzfvjpdxncv3v606w32";
+       version = "0.2.2.4";
+       sha256 = "1wnc2hi90djilj1m0la3h3xri723pbpmfdyp0kxxs33irs6418an";
        libraryHaskellDepends = [
          array async base bytestring directory network process random stm
          text transformers unix zlib
@@ -263774,10 +264272,8 @@ self: {
     ({ mkDerivation, base, bifunctors, deepseq, hashable }:
      mkDerivation {
        pname = "strict-tuple";
-       version = "0.1.4";
-       sha256 = "06fyf58kl3c5xpfdd5h7368ggbfadm5n67h3kqajrsgh3yl84hrq";
-       revision = "1";
-       editedCabalFile = "127byff30qm6vfnpdb2jfhag6dfv8zz306hkdnlkryx4gf5aab86";
+       version = "0.1.5";
+       sha256 = "1n0rw1vvvsgznx4i21480qzzs44iw35hcdiw0d160war7nf2pyp5";
        libraryHaskellDepends = [ base bifunctors deepseq hashable ];
        testHaskellDepends = [ base ];
        description = "Strict tuples";
@@ -264072,29 +264568,6 @@ self: {
      }:
      mkDerivation {
        pname = "string-random";
-       version = "0.1.4.1";
-       sha256 = "1ggz48mzyzch3ga4682jd9y4g1j6px1anv7k8cczjlz9f4lh73nd";
-       isLibrary = true;
-       isExecutable = true;
-       libraryHaskellDepends = [
-         attoparsec base containers random text transformers
-       ];
-       executableHaskellDepends = [ base optparse-applicative text ];
-       testHaskellDepends = [
-         base bytestring pcre-heavy QuickCheck tasty tasty-hunit
-         tasty-quickcheck text
-       ];
-       description = "A library for generating random string from a regular experession";
-       license = lib.licenses.bsd3;
-     }) {};
-
-  "string-random_0_1_4_2" = callPackage
-    ({ mkDerivation, attoparsec, base, bytestring, containers
-     , optparse-applicative, pcre-heavy, QuickCheck, random, tasty
-     , tasty-hunit, tasty-quickcheck, text, transformers
-     }:
-     mkDerivation {
-       pname = "string-random";
        version = "0.1.4.2";
        sha256 = "0rqh0cwywlzg4xyb1s80mghl3kq3sngg8xjbh4g9x4p8fc6maiw9";
        isLibrary = true;
@@ -264109,7 +264582,6 @@ self: {
        ];
        description = "A library for generating random string from a regular experession";
        license = lib.licenses.bsd3;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "string-similarity" = callPackage
@@ -264569,18 +265041,19 @@ self: {
      }) {};
 
   "strong-path" = callPackage
-    ({ mkDerivation, base, exceptions, filepath, hspec, path, tasty
-     , tasty-discover, tasty-hspec, tasty-quickcheck, template-haskell
+    ({ mkDerivation, base, exceptions, filepath, hashable, hspec, path
+     , tasty, tasty-discover, tasty-hspec, tasty-quickcheck
+     , template-haskell
      }:
      mkDerivation {
        pname = "strong-path";
-       version = "1.1.2.0";
-       sha256 = "1rz3rxdq3apah0ixj9dzd1wlicjj0l5lspv9bz79kfjvlxn15yib";
+       version = "1.1.3.0";
+       sha256 = "0jy8qmyixsi3d71qkrj4v3r9nrppb2hs4p5pbpj7yq964ryyg9am";
        libraryHaskellDepends = [
-         base exceptions filepath path template-haskell
+         base exceptions filepath hashable path template-haskell
        ];
        testHaskellDepends = [
-         base filepath hspec path tasty tasty-discover tasty-hspec
+         base filepath hashable hspec path tasty tasty-discover tasty-hspec
          tasty-quickcheck
        ];
        testToolDepends = [ tasty-discover ];
@@ -266358,7 +266831,7 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
-  "swagger2_2_7" = callPackage
+  "swagger2_2_8_2" = callPackage
     ({ mkDerivation, aeson, aeson-pretty, base, base-compat-batteries
      , bytestring, Cabal, cabal-doctest, containers, cookie, doctest
      , generics-sop, Glob, hashable, hspec, hspec-discover, http-media
@@ -266369,8 +266842,8 @@ self: {
      }:
      mkDerivation {
        pname = "swagger2";
-       version = "2.7";
-       sha256 = "1p3vi90siylgg94s7izmdvp2i36g017q2hnl90d1rpphi0nd1f6b";
+       version = "2.8.2";
+       sha256 = "0vxqmc3wx01fx04cqq9l0gvcas7njsj6q2r960rb1gbmggydpysc";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          aeson aeson-pretty base base-compat-batteries bytestring containers
@@ -266689,7 +267162,7 @@ self: {
        license = "unknown";
      }) {};
 
-  "sydtest_0_7_0_1" = callPackage
+  "sydtest_0_8_0_0" = callPackage
     ({ mkDerivation, async, autodocodec, autodocodec-yaml, base
      , bytestring, containers, Diff, dlist, envparse, filepath
      , MonadRandom, mtl, optparse-applicative, path, path-io
@@ -266699,8 +267172,8 @@ self: {
      }:
      mkDerivation {
        pname = "sydtest";
-       version = "0.7.0.1";
-       sha256 = "09qvl0j8bx5v1i8mvvmzkfaxj7jrcbpbkxrnjcanml60dfp0s444";
+       version = "0.8.0.0";
+       sha256 = "1b2i4w58k0mrb5lk4hjbwfmm065gmmll6jm3k6jydjjkkpf1zfap";
        libraryHaskellDepends = [
          async autodocodec autodocodec-yaml base bytestring containers Diff
          dlist envparse filepath MonadRandom mtl optparse-applicative path
@@ -266776,6 +267249,23 @@ self: {
        license = "unknown";
      }) {};
 
+  "sydtest-hedgehog" = callPackage
+    ({ mkDerivation, base, containers, hedgehog, sydtest
+     , sydtest-discover
+     }:
+     mkDerivation {
+       pname = "sydtest-hedgehog";
+       version = "0.0.0.0";
+       sha256 = "0kxx2r4hjqzkrhplgfby2x7zcya05n42hna86zk27k2i9hkabhnh";
+       libraryHaskellDepends = [ base containers hedgehog sydtest ];
+       testHaskellDepends = [ base hedgehog sydtest ];
+       testToolDepends = [ sydtest-discover ];
+       description = "A Hedgehog companion library for sydtest";
+       license = "unknown";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "sydtest-hedis" = callPackage
     ({ mkDerivation, base, bytestring, hedis, network, path, path-io
      , port-utils, sydtest, sydtest-discover, sydtest-typed-process
@@ -267236,13 +267726,13 @@ self: {
      }:
      mkDerivation {
        pname = "symantic-base";
-       version = "0.3.0.20211007";
-       sha256 = "1ia79d3ih3yr6fpm85hvn42jpq0d41qvm96v58b2rsxlivrnibsq";
+       version = "0.4.0.20211106";
+       sha256 = "0fbw0fg78b8wh3fcbvcm9v3qrsvpyymhwd7f9a70yqj90mggl7sc";
        libraryHaskellDepends = [
          base containers hashable template-haskell transformers
          unordered-containers
        ];
-       description = "Basic symantics combinators for Embedded Domain-Specific Languages (EDSL)";
+       description = "Basic symantic combinators for Embedded Domain-Specific Languages (EDSL)";
        license = lib.licenses.agpl3Plus;
      }) {};
 
@@ -268114,6 +268604,8 @@ self: {
        pname = "synthesizer-llvm";
        version = "0.9";
        sha256 = "0bqncysaq164235792657yyf1ngkr7gm9vkzkbiqy6f7g7a62shd";
+       revision = "1";
+       editedCabalFile = "04z0s3hkpdcmri4w34s2ssz9wwf60z1ccc0bc3bphs1caz8i61j2";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -269432,8 +269924,8 @@ self: {
      }:
      mkDerivation {
        pname = "tailwind";
-       version = "0.1.0.0";
-       sha256 = "1wvmygaf8dmy9h0wzxb3623rpdmzvhzr879yc4sm94bzd42y8cy6";
+       version = "0.2.0.0";
+       sha256 = "08m4mkk3fsrzpna3747gc2ln981nd7x17p3kzzvirs7p6js513yh";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -270940,8 +271432,8 @@ self: {
        pname = "tasty-wai";
        version = "0.1.1.1";
        sha256 = "1bnq2mbgv1ksn9sq33dq1q91pzndy7gn61mlnkybk89k0bsw5i7y";
-       revision = "2";
-       editedCabalFile = "13f0rmdyfd8wx9w9d6vj40akskq763gjj89p7dzy6zyaiyllgk64";
+       revision = "3";
+       editedCabalFile = "1bjmzxnrypv1nqhc37rwwcgilnrrjm8scwnb4ca6z99bldi95b27";
        libraryHaskellDepends = [
          base bytestring http-types HUnit tasty wai wai-extra
        ];
@@ -271542,17 +272034,20 @@ self: {
      }) {};
 
   "telegram-bot-simple" = callPackage
-    ({ mkDerivation, aeson, aeson-pretty, base, bytestring, cron
-     , filepath, hashable, http-api-data, http-client, http-client-tls
-     , monad-control, mtl, pretty-show, profunctors, servant
-     , servant-client, servant-multipart, servant-multipart-api
-     , servant-multipart-client, split, stm, template-haskell, text
-     , time, transformers, unordered-containers
+    ({ mkDerivation, aeson, aeson-pretty, base, blaze-html, bytestring
+     , cookie, cron, dhall, filepath, hashable, http-api-data
+     , http-client, http-client-tls, http-types, monad-control, mtl
+     , optparse-applicative, pretty-show, prettyprinter, profunctors
+     , QuickCheck, random, servant, servant-blaze, servant-client
+     , servant-multipart, servant-multipart-api
+     , servant-multipart-client, servant-server, split, stm
+     , template-haskell, text, time, transformers, unix
+     , unordered-containers, uuid, warp
      }:
      mkDerivation {
        pname = "telegram-bot-simple";
-       version = "0.3.8";
-       sha256 = "0nqzghd3apfic1idrx03g5a6xihghi35ha28mcksgji9zp42595q";
+       version = "0.4";
+       sha256 = "1c73vyhl8xlac0vjgyjh8rfszm9zri4absmxpdr79djs9rrfwk2s";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -271563,11 +272058,13 @@ self: {
          template-haskell text time transformers unordered-containers
        ];
        executableHaskellDepends = [
-         aeson aeson-pretty base bytestring cron filepath hashable
-         http-api-data http-client http-client-tls monad-control mtl
-         pretty-show profunctors servant servant-client servant-multipart
-         servant-multipart-api servant-multipart-client split stm
-         template-haskell text time transformers unordered-containers
+         aeson aeson-pretty base blaze-html bytestring cookie cron dhall
+         filepath hashable http-api-data http-client http-client-tls
+         http-types monad-control mtl optparse-applicative pretty-show
+         prettyprinter profunctors QuickCheck random servant servant-blaze
+         servant-client servant-multipart servant-multipart-api
+         servant-multipart-client servant-server split stm template-haskell
+         text time transformers unix unordered-containers uuid warp
        ];
        description = "Easy to use library for building Telegram bots";
        license = lib.licenses.bsd3;
@@ -273945,6 +274442,29 @@ self: {
        license = lib.licenses.bsd3;
      }) {inherit (pkgs) icu;};
 
+  "text-icu_0_8_0_1" = callPackage
+    ({ mkDerivation, array, base, bytestring, deepseq, directory
+     , ghc-prim, HUnit, icu, icu-i18n, QuickCheck, random
+     , test-framework, test-framework-hunit, test-framework-quickcheck2
+     , text, time
+     }:
+     mkDerivation {
+       pname = "text-icu";
+       version = "0.8.0.1";
+       sha256 = "1bxhaxyvhag26airz870lc6rjlf14xigdx3cml13kp7bshwgl7wi";
+       libraryHaskellDepends = [ base bytestring deepseq text time ];
+       librarySystemDepends = [ icu ];
+       libraryPkgconfigDepends = [ icu-i18n ];
+       testHaskellDepends = [
+         array base bytestring deepseq directory ghc-prim HUnit QuickCheck
+         random test-framework test-framework-hunit
+         test-framework-quickcheck2 text
+       ];
+       description = "Bindings to the ICU library";
+       license = lib.licenses.bsd3;
+       hydraPlatforms = lib.platforms.none;
+     }) {inherit (pkgs) icu; icu-i18n = null;};
+
   "text-icu-normalized" = callPackage
     ({ mkDerivation, base, base-unicode-symbols, bytestring, containers
      , exceptions, filepath, HUnit, lens, parsec, QuickCheck
@@ -275535,12 +276055,13 @@ self: {
 
   "thank-you-stars" = callPackage
     ({ mkDerivation, aeson, base, bytestring, Cabal, containers
-     , directory, filepath, hackage-db, hspec, req, split, text
+     , directory, filepath, hackage-db, hspec, hspec-discover, req
+     , split, text
      }:
      mkDerivation {
        pname = "thank-you-stars";
-       version = "0.3.0";
-       sha256 = "0cks475c8ivhikci7h8zkvxhxmp7n9w85b16wvx998q3bjrbkj04";
+       version = "1.0.1";
+       sha256 = "1nlmfpm05fsn18rygj33vf4sydn6zk4sx6sp72s1f73llvqrpvhs";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
@@ -275551,6 +276072,7 @@ self: {
        testHaskellDepends = [
          base Cabal containers directory filepath hspec
        ];
+       testToolDepends = [ hspec-discover ];
        description = "Give your dependencies stars on GitHub!";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
@@ -278583,6 +279105,7 @@ self: {
        description = "Easy-to-use TODOs manager";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "tofromxml" = callPackage
@@ -280104,14 +280627,12 @@ self: {
        hydraPlatforms = lib.platforms.none;
      }) {};
 
-  "transformers_0_6_0_2" = callPackage
+  "transformers_0_6_0_3" = callPackage
     ({ mkDerivation, base }:
      mkDerivation {
        pname = "transformers";
-       version = "0.6.0.2";
-       sha256 = "1d907i06lgmis4s1mhjn6f4f3991vpycv9pl61h4xn2hwxasq3k2";
-       revision = "1";
-       editedCabalFile = "0g536mmdq72j72jy6437q64vsxj8yba0mamm15xirs67j551azn1";
+       version = "0.6.0.3";
+       sha256 = "070v6kwxinls0w48mfyjqz6rfz03sphyig2ar13lplqjr01kaa67";
        libraryHaskellDepends = [ base ];
        description = "Concrete functor and monad transformers";
        license = lib.licenses.bsd3;
@@ -282303,10 +282824,8 @@ self: {
      }:
      mkDerivation {
        pname = "turtle";
-       version = "1.5.23";
-       sha256 = "02g0a6az01lfikrinx2027zqrp8wyivldwi36s2yqk9a5qm3ap5c";
-       revision = "2";
-       editedCabalFile = "0i8fnwzqc6j599d19rzcggk29ky45izy5wc9y9ii54lc95d8c7xg";
+       version = "1.5.24";
+       sha256 = "06n9k8cchmy090k6azl6ld8ygkljw8wrpw3cigsgz48hqchq8c2p";
        libraryHaskellDepends = [
          ansi-wl-pprint async base bytestring clock containers directory
          exceptions foldl hostname managed optional-args
@@ -284583,27 +285102,6 @@ self: {
 
   "tzdata" = callPackage
     ({ mkDerivation, base, bytestring, containers, deepseq, HUnit
-     , test-framework, test-framework-hunit, test-framework-th, unix
-     , vector
-     }:
-     mkDerivation {
-       pname = "tzdata";
-       version = "0.2.20201021.0";
-       sha256 = "0bkd7k0q8dflp21hzf71kbqyk0jq279z7sgwlq1pdzs2ggmnrwm9";
-       enableSeparateDataOutput = true;
-       libraryHaskellDepends = [
-         base bytestring containers deepseq vector
-       ];
-       testHaskellDepends = [
-         base bytestring HUnit test-framework test-framework-hunit
-         test-framework-th unix
-       ];
-       description = "Time zone database (as files and as a module)";
-       license = lib.licenses.asl20;
-     }) {};
-
-  "tzdata_0_2_20211021_0" = callPackage
-    ({ mkDerivation, base, bytestring, containers, deepseq, HUnit
      , tasty, tasty-hunit, tasty-th, unix, vector
      }:
      mkDerivation {
@@ -284619,7 +285117,6 @@ self: {
        ];
        description = "Time zone database (as files and as a module)";
        license = lib.licenses.asl20;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "u2f" = callPackage
@@ -287089,33 +287586,8 @@ self: {
      }:
      mkDerivation {
        pname = "unliftio";
-       version = "0.2.20";
-       sha256 = "0mbm57h7r16qd7kpglbm50qrnfjmazd70avbrl647n4jwhlrp7my";
-       libraryHaskellDepends = [
-         async base bytestring deepseq directory filepath process stm time
-         transformers unix unliftio-core
-       ];
-       testHaskellDepends = [
-         async base bytestring containers deepseq directory filepath hspec
-         process QuickCheck stm time transformers unix unliftio-core
-       ];
-       benchmarkHaskellDepends = [
-         async base bytestring deepseq directory filepath gauge process stm
-         time transformers unix unliftio-core
-       ];
-       description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
-       license = lib.licenses.mit;
-     }) {};
-
-  "unliftio_0_2_20_1" = callPackage
-    ({ mkDerivation, async, base, bytestring, containers, deepseq
-     , directory, filepath, gauge, hspec, process, QuickCheck, stm, time
-     , transformers, unix, unliftio-core
-     }:
-     mkDerivation {
-       pname = "unliftio";
-       version = "0.2.20.1";
-       sha256 = "13fv7wfq7g1pilpk1vprbf2mbdj7qfm2y9v8glwr6dqyswv8z9dn";
+       version = "0.2.21.0";
+       sha256 = "0z3g4hnwzianh8a564zfwj4rvs1ayggxm0wcwi97hc1g0ndz5hic";
        libraryHaskellDepends = [
          async base bytestring deepseq directory filepath process stm time
          transformers unix unliftio-core
@@ -287130,7 +287602,6 @@ self: {
        ];
        description = "The MonadUnliftIO typeclass for unlifting monads to IO (batteries included)";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "unliftio-core" = callPackage
@@ -288183,6 +288654,21 @@ self: {
        broken = true;
      }) {};
 
+  "url-slug" = callPackage
+    ({ mkDerivation, aeson, base, relude, text, unicode-transforms
+     , uri-encode
+     }:
+     mkDerivation {
+       pname = "url-slug";
+       version = "0.1.0.0";
+       sha256 = "0x5xkfxzml1cnqcmmyvm3gj0ikw2371jbsqya6ng7pfjlcsmdfzn";
+       libraryHaskellDepends = [
+         aeson base relude text unicode-transforms uri-encode
+       ];
+       description = "Encoding and decoding of URL slugs";
+       license = lib.licenses.mit;
+     }) {};
+
   "urlcheck" = callPackage
     ({ mkDerivation, base, bytestring, containers, mtl, network
      , old-time
@@ -288557,7 +289043,9 @@ self: {
        ];
        description = "A pragmatic time and date library";
        license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
        maintainers = with lib.maintainers; [ sternenseemann ];
+       broken = true;
      }) {};
 
   "utf" = callPackage
@@ -290543,24 +291031,6 @@ self: {
      }) {};
 
   "vector-circular" = callPackage
-    ({ mkDerivation, base, deepseq, doctest, hedgehog, hedgehog-classes
-     , nonempty-vector, primitive, semigroupoids, template-haskell
-     , vector
-     }:
-     mkDerivation {
-       pname = "vector-circular";
-       version = "0.1.3";
-       sha256 = "0xz2ih8x7a5731bbirhmkl7hyarzijnwgvj8zm9wxs1nky8yjyb7";
-       libraryHaskellDepends = [
-         base deepseq nonempty-vector primitive semigroupoids
-         template-haskell vector
-       ];
-       testHaskellDepends = [ base doctest hedgehog hedgehog-classes ];
-       description = "circular vectors";
-       license = lib.licenses.mit;
-     }) {};
-
-  "vector-circular_0_1_4" = callPackage
     ({ mkDerivation, base, deepseq, hedgehog, hedgehog-classes
      , nonempty-vector, primitive, semigroupoids, template-haskell
      , vector
@@ -290576,7 +291046,6 @@ self: {
        testHaskellDepends = [ base hedgehog hedgehog-classes ];
        description = "circular vectors";
        license = lib.licenses.mit;
-       hydraPlatforms = lib.platforms.none;
      }) {};
 
   "vector-clock" = callPackage
@@ -291050,6 +291519,27 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "velma" = callPackage
+    ({ mkDerivation, base, Cabal, containers, directory, filepath
+     , hspec, text
+     }:
+     mkDerivation {
+       pname = "velma";
+       version = "0.2022.2.13";
+       sha256 = "0dzq9py5k6hz9pqfv8cnfaj84q3y4j8p6pmpncd1crj1nkl10mr5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         base Cabal containers directory filepath
+       ];
+       executableHaskellDepends = [ base ];
+       testHaskellDepends = [ base Cabal filepath hspec text ];
+       description = "Automatically add files to exposed-modules and other-modules";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "venzone" = callPackage
     ({ mkDerivation, ansi-terminal-game, base, containers, directory
      , file-embed, filepath, fsnotify, hspec, line-drawing, megaparsec
@@ -291705,6 +292195,29 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "vinyl_0_14_1" = callPackage
+    ({ mkDerivation, aeson, array, base, criterion, deepseq, ghc-prim
+     , hspec, lens, lens-aeson, linear, microlens, mtl, mwc-random
+     , primitive, should-not-typecheck, tagged, text
+     , unordered-containers, vector
+     }:
+     mkDerivation {
+       pname = "vinyl";
+       version = "0.14.1";
+       sha256 = "06qyy3g1msnwl8491rp0pabr7g7xk4jjidsixigd8if4kxl7dcdk";
+       libraryHaskellDepends = [ array base deepseq ghc-prim ];
+       testHaskellDepends = [
+         aeson base hspec lens lens-aeson microlens mtl should-not-typecheck
+         text unordered-containers vector
+       ];
+       benchmarkHaskellDepends = [
+         base criterion linear microlens mwc-random primitive tagged vector
+       ];
+       description = "Extensible Records";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "vinyl-generics" = callPackage
     ({ mkDerivation, aeson, base, generics-sop, hspec, hspec-core
      , QuickCheck, records-sop, text, vinyl
@@ -292481,8 +292994,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan";
-       version = "3.15";
-       sha256 = "1b76crd9nib0pcgpwbrbwr88zij5wrc6hs240w3sg16zxhwpllh1";
+       version = "3.16.2";
+       sha256 = "1wawlq1x9nw9g5iynf8mhlv36876skpvfalfpnvdh55hfw4qznzh";
        libraryHaskellDepends = [ base bytestring transformers vector ];
        libraryPkgconfigDepends = [ vulkan ];
        testHaskellDepends = [
@@ -292514,8 +293027,8 @@ self: {
      }:
      mkDerivation {
        pname = "vulkan-utils";
-       version = "0.5.5";
-       sha256 = "0p5ciadgkamgkzmay5rwc1mjs2wq8pqv21rbbbxlnjwmfsayrb9j";
+       version = "0.5.6";
+       sha256 = "1d8nnv31f35k2qn232vx8g3w06vbvik0ih98g7m7lrv0bqi74i12";
        setupHaskellDepends = [ base Cabal cabal-doctest ];
        libraryHaskellDepends = [
          base bytestring containers dependent-map dependent-sum extra
@@ -294740,8 +295253,8 @@ self: {
      }:
      mkDerivation {
        pname = "warp";
-       version = "3.3.18";
-       sha256 = "1m93s3p2zz00fdgkisl6sbnqnc6vvq0vz997i5y4mk9a3ssjflqw";
+       version = "3.3.19";
+       sha256 = "1wq63wrxk4p6ziig9qgqimmd1mx167868qiczd1avh8896p1f6rb";
        libraryHaskellDepends = [
          array auto-update base bsb-http-chunked bytestring case-insensitive
          containers ghc-prim hashable http-date http-types http2 iproute
@@ -295333,21 +295846,21 @@ self: {
 
   "web-rep" = callPackage
     ({ mkDerivation, attoparsec, base, bifunctors, box, box-socket
-     , clay, concurrency, generic-lens, interpolatedstring-perl6
-     , language-javascript, lens, lucid, mtl, optparse-generic, scotty
+     , clay, concurrency, interpolatedstring-perl6, language-javascript
+     , lucid, mtl, optics-core, optics-extra, optparse-generic, scotty
      , text, transformers, unordered-containers, wai-middleware-static
      , wai-websockets, websockets
      }:
      mkDerivation {
        pname = "web-rep";
-       version = "0.8.0";
-       sha256 = "1ri1sczacxy351jsdaiz7iwsl8b19a1jvzppyxf56grm6zr94dmg";
+       version = "0.9.0";
+       sha256 = "1xcrmm5yk19nh08gllnfg6ck0jijkxzl3ma4klwlnxp2ky75q7ds";
        isLibrary = true;
        isExecutable = true;
        libraryHaskellDepends = [
          attoparsec base bifunctors box box-socket clay concurrency
-         generic-lens interpolatedstring-perl6 language-javascript lens
-         lucid mtl scotty text transformers unordered-containers
+         interpolatedstring-perl6 language-javascript lucid mtl optics-core
+         optics-extra scotty text transformers unordered-containers
          wai-middleware-static wai-websockets websockets
        ];
        executableHaskellDepends = [ base optparse-generic ];
@@ -295769,8 +296282,8 @@ self: {
      }:
      mkDerivation {
        pname = "webauthn";
-       version = "0.2.0.0";
-       sha256 = "0vdx1rlc2mb9nnxyzw94vw1kpjxd5qg9nqg1bh4wkdrxqqb3n7aj";
+       version = "0.3.0.0";
+       sha256 = "0nn6nx6f0wlbfipfhs4irkqhk4bknhcy83n3wxpml9lkgvf8m1kj";
        libraryHaskellDepends = [
          aeson asn1-encoding asn1-parse asn1-types base base16-bytestring
          base64-bytestring binary bytestring cborg containers cryptonite
@@ -297081,8 +297594,8 @@ self: {
        pname = "wide-word";
        version = "0.1.1.2";
        sha256 = "10sj7nca2sba74bkiicnp95xrfq2j1al93ggw3z24982nm9x3j8r";
-       revision = "3";
-       editedCabalFile = "15k9saqnib9vc9s4dsvamvnb3m6cjmnlwsy1brwfnd90vzzxmwjz";
+       revision = "4";
+       editedCabalFile = "150ikl5cf15lbk383pv1w8smpwbp0dzc0vby653fbzm8a2svcx76";
        libraryHaskellDepends = [ base deepseq primitive ];
        testHaskellDepends = [
          base bytestring ghc-prim hedgehog primitive QuickCheck
@@ -297420,6 +297933,26 @@ self: {
        license = lib.licenses.bsd3;
      }) {};
 
+  "wireguard-hs" = callPackage
+    ({ mkDerivation, base, clock, cryptonite, ip, memory, network, text
+     , time, vector, vector-sized, wide-word
+     }:
+     mkDerivation {
+       pname = "wireguard-hs";
+       version = "0.1.0";
+       sha256 = "0nh1vjmz74i4c7254whp8d8si1bvzyq8s6x0ljcidahd1w0hv3i0";
+       revision = "1";
+       editedCabalFile = "0vf7akywcdh1k9x4d5kvlqrzkxz124lhg1l9547gfcsirlrhlb3n";
+       libraryHaskellDepends = [
+         base clock cryptonite ip memory network text time vector
+         vector-sized wide-word
+       ];
+       description = "API for Linux Kernel Wireguard device management";
+       license = "LGPL";
+       hydraPlatforms = lib.platforms.none;
+       broken = true;
+     }) {};
+
   "wires" = callPackage
     ({ mkDerivation, base, deepseq, mtl, profunctors, semigroupoids
      , these
@@ -297746,6 +298279,8 @@ self: {
        pname = "wl-pprint-annotated";
        version = "0.1.0.1";
        sha256 = "1br7qyf27iza213inwhf9bm2k6in0zbmfw6w4clqlc9f9cj2nrkb";
+       revision = "1";
+       editedCabalFile = "1qizgsiqsraj8w0qndcyw7grcmiylx63vp3lgw2dplchva8p3hp7";
        libraryHaskellDepends = [ base containers deepseq text ];
        testHaskellDepends = [
          base containers deepseq tasty tasty-hunit text
@@ -300696,8 +301231,8 @@ self: {
      }:
      mkDerivation {
        pname = "xml-parser";
-       version = "0.1.0.1";
-       sha256 = "079ggb9bhad9px6gqbjhbir423hds389p42jc853caz7232dc6vx";
+       version = "0.1.1";
+       sha256 = "06a8pci3jr3mdrsh8708i61rqd2rsgqyf86s269ycca6xlbrgwzh";
        libraryHaskellDepends = [
          attoparsec base bytestring containers hashable text text-builder
          transformers unordered-containers xml-conduit
@@ -303422,8 +303957,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod";
-       version = "1.6.1.2";
-       sha256 = "13r0ispprj41kgn2rkc7zhy1rxfmgpjbmdlnys15h0ihhh3zhw2f";
+       version = "1.6.2";
+       sha256 = "0krvg1ykzqg1aaj385rnrqr0a5ga3z5xl1s422q05y9csj0w1ami";
        libraryHaskellDepends = [
          aeson base bytestring conduit data-default-class directory
          fast-logger file-embed monad-logger shakespeare streaming-commons
@@ -303509,6 +304044,7 @@ self: {
        description = "Automatically generate article previews for a yesod site";
        license = lib.licenses.bsd3;
        hydraPlatforms = lib.platforms.none;
+       broken = true;
      }) {};
 
   "yesod-auth" = callPackage
@@ -303524,8 +304060,8 @@ self: {
      }:
      mkDerivation {
        pname = "yesod-auth";
-       version = "1.6.10.5";
-       sha256 = "11nywgjnivbfrbn8mg3lfr8r8lfpygn30vhnn0bzy9pa07nvgxnz";
+       version = "1.6.11";
+       sha256 = "0fdahk5mc63g0zsafk8axry01qaxahmclpmmwygp2lhfsjy8mby2";
        libraryHaskellDepends = [
          aeson authenticate base base16-bytestring base64-bytestring binary
          blaze-builder blaze-html blaze-markup bytestring conduit
@@ -303877,6 +304413,31 @@ self: {
        license = lib.licenses.mit;
      }) {};
 
+  "yesod-auth-oauth2_0_7_0_0" = callPackage
+    ({ mkDerivation, aeson, base, bytestring, cryptonite, errors
+     , hoauth2, hspec, http-client, http-conduit, http-types, memory
+     , microlens, mtl, safe-exceptions, text, unliftio, uri-bytestring
+     , yesod-auth, yesod-core
+     }:
+     mkDerivation {
+       pname = "yesod-auth-oauth2";
+       version = "0.7.0.0";
+       sha256 = "183ck29b43nvvih2vcpavzvj0ajdwpcjsa6lq6f5labqqk929cww";
+       revision = "1";
+       editedCabalFile = "1vpcb40a3f5dblfdvqw0v55gzh97kp7d2b9pri153v5ri60pgvw5";
+       isLibrary = true;
+       isExecutable = true;
+       libraryHaskellDepends = [
+         aeson base bytestring cryptonite errors hoauth2 http-client
+         http-conduit http-types memory microlens mtl safe-exceptions text
+         unliftio uri-bytestring yesod-auth yesod-core
+       ];
+       testHaskellDepends = [ base hspec uri-bytestring ];
+       description = "OAuth 2.0 authentication plugins";
+       license = lib.licenses.mit;
+       hydraPlatforms = lib.platforms.none;
+     }) {};
+
   "yesod-auth-oidc" = callPackage
     ({ mkDerivation, aeson, base, base64-bytestring, blaze-html, broch
      , bytestring, classy-prelude, classy-prelude-yesod, containers
@@ -304001,22 +304562,22 @@ self: {
      }) {};
 
   "yesod-bin" = callPackage
-    ({ mkDerivation, base, bytestring, Cabal, conduit, conduit-extra
-     , containers, data-default-class, directory, file-embed, filepath
-     , fsnotify, http-client, http-client-tls, http-reverse-proxy
-     , http-types, network, optparse-applicative, process
-     , project-template, say, split, stm, streaming-commons, tar, text
-     , time, transformers, transformers-compat, unliftio
+    ({ mkDerivation, aeson, base, bytestring, Cabal, conduit
+     , conduit-extra, containers, data-default-class, directory
+     , file-embed, filepath, fsnotify, http-client, http-client-tls
+     , http-reverse-proxy, http-types, network, optparse-applicative
+     , process, project-template, say, split, stm, streaming-commons
+     , tar, text, time, transformers, transformers-compat, unliftio
      , unordered-containers, wai, wai-extra, warp, warp-tls, yaml, zlib
      }:
      mkDerivation {
        pname = "yesod-bin";
-       version = "1.6.1";
-       sha256 = "0saz5dcygyf91f8hqvsy9wpcc5pg7vd9gcp891fiz4cywsrqpzwx";
+       version = "1.6.2";
+       sha256 = "12dwix5q3xk83d0d4715h680dbalbz4556wk3r89gps3rp9pib7f";
        isLibrary = false;
        isExecutable = true;
        executableHaskellDepends = [
-         base bytestring Cabal conduit conduit-extra containers
+         aeson base bytestring Cabal conduit conduit-extra containers
          data-default-class directory file-embed filepath fsnotify
          http-client http-client-tls http-reverse-proxy http-types network
          optparse-applicative process project-template say split stm
diff --git a/pkgs/development/haskell-modules/with-packages-wrapper.nix b/pkgs/development/haskell-modules/with-packages-wrapper.nix
index 3c645999a1a..7c7add61679 100644
--- a/pkgs/development/haskell-modules/with-packages-wrapper.nix
+++ b/pkgs/development/haskell-modules/with-packages-wrapper.nix
@@ -164,5 +164,20 @@ symlinkJoin {
   passthru = {
     preferLocalBuild = true;
     inherit (ghc) version meta;
+
+    # Inform users about backwards incompatibilities with <= 21.05
+    override = _: throw ''
+      The ghc.withPackages wrapper itself can now be overridden, but no longer
+      the result of calling it (as before). Consequently overrides need to be
+      adjusted: Instead of
+
+        (ghc.withPackages (p: [ p.my-package ])).override { withLLLVM = true; }
+
+      use
+
+        (ghc.withPackages.override { useLLVM = true; }) (p: [ p.my-package ])
+
+      Also note that withLLVM has been renamed to useLLVM for consistency with
+      the GHC Nix expressions.'';
   };
 }
diff --git a/pkgs/development/idris-modules/array.nix b/pkgs/development/idris-modules/array.nix
index faed6443c48..ef8159e9a87 100644
--- a/pkgs/development/idris-modules/array.nix
+++ b/pkgs/development/idris-modules/array.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package {
-  name = "array";
+  pname = "array";
   version = "2016-10-14";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/bi.nix b/pkgs/development/idris-modules/bi.nix
index 51f6497e182..ec1f9a13bcd 100644
--- a/pkgs/development/idris-modules/bi.nix
+++ b/pkgs/development/idris-modules/bi.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "bi";
+  pname = "bi";
   version = "2018-06-25";
 
   ipkgName = "Bi";
diff --git a/pkgs/development/idris-modules/bifunctors.nix b/pkgs/development/idris-modules/bifunctors.nix
index 15c7a6dd013..3461bb37fdd 100644
--- a/pkgs/development/idris-modules/bifunctors.nix
+++ b/pkgs/development/idris-modules/bifunctors.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "bifunctors";
+  pname = "bifunctors";
   version = "2017-02-07";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/build-builtin-package.nix b/pkgs/development/idris-modules/build-builtin-package.nix
index ff19e52135c..fe23728e084 100644
--- a/pkgs/development/idris-modules/build-builtin-package.nix
+++ b/pkgs/development/idris-modules/build-builtin-package.nix
@@ -1,13 +1,13 @@
 # Build one of the packages that comes with idris
-# name: The name of the package
+# pname: The pname of the package
 # deps: The dependencies of the package
-{ idris, build-idris-package }: name: deps:
+{ idris, build-idris-package }: pname: deps:
 let
   inherit (builtins.parseDrvName idris.name) version;
 in
 build-idris-package {
 
-  inherit name version;
+  inherit pname version;
   inherit (idris) src;
 
   noPrelude = true;
@@ -16,10 +16,10 @@ build-idris-package {
   idrisDeps = deps;
 
   postUnpack = ''
-    sourceRoot=$sourceRoot/libs/${name}
+    sourceRoot=$sourceRoot/libs/${pname}
   '';
 
   meta = idris.meta // {
-    description = "${name} builtin Idris library";
+    description = "${pname} builtin Idris library";
   };
 }
diff --git a/pkgs/development/idris-modules/build-idris-package.nix b/pkgs/development/idris-modules/build-idris-package.nix
index 7869c270699..b21826eac38 100644
--- a/pkgs/development/idris-modules/build-idris-package.nix
+++ b/pkgs/development/idris-modules/build-idris-package.nix
@@ -3,9 +3,9 @@
   { idrisDeps ? []
   , noPrelude ? false
   , noBase ? false
-  , name
+  , pname
   , version
-  , ipkgName ? name
+  , ipkgName ? pname
   , extraBuildInputs ? []
   , idrisBuildOptions ? []
   , idrisTestOptions ? []
@@ -20,7 +20,7 @@ let
   idris-with-packages = with-packages allIdrisDeps;
   newAttrs = builtins.removeAttrs attrs [
     "idrisDeps" "noPrelude" "noBase"
-    "name" "version" "ipkgName" "extraBuildInputs"
+    "pname" "version" "ipkgName" "extraBuildInputs"
   ] // {
     meta = attrs.meta // {
       platforms = attrs.meta.platforms or idris.meta.platforms;
@@ -28,7 +28,8 @@ let
   };
 in
 stdenv.mkDerivation ({
-  name = "idris-${name}-${version}";
+  pname = "idris-${pname}";
+  inherit version;
 
   buildInputs = [ idris-with-packages gmp ] ++ extraBuildInputs;
   propagatedBuildInputs = allIdrisDeps;
diff --git a/pkgs/development/idris-modules/bytes.nix b/pkgs/development/idris-modules/bytes.nix
index eaff512d5d3..0fd9b05f88d 100644
--- a/pkgs/development/idris-modules/bytes.nix
+++ b/pkgs/development/idris-modules/bytes.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "bytes";
+  pname = "bytes";
   version = "2018-02-10";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/canvas.nix b/pkgs/development/idris-modules/canvas.nix
index 77851c87179..3c74879eab6 100644
--- a/pkgs/development/idris-modules/canvas.nix
+++ b/pkgs/development/idris-modules/canvas.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "canvas";
+  pname = "canvas";
   version = "2017-11-09";
 
   ipkgName = "idriscanvas";
diff --git a/pkgs/development/idris-modules/categories.nix b/pkgs/development/idris-modules/categories.nix
index adbe6d4f8ad..0c64218bcd8 100644
--- a/pkgs/development/idris-modules/categories.nix
+++ b/pkgs/development/idris-modules/categories.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "categories";
+  pname = "categories";
   version = "2018-07-02";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/coda.nix b/pkgs/development/idris-modules/coda.nix
index ecd7af44368..d1529ceb994 100644
--- a/pkgs/development/idris-modules/coda.nix
+++ b/pkgs/development/idris-modules/coda.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "coda";
+  pname = "coda";
   version = "2018-01-25";
 
   ipkgName = "Coda";
diff --git a/pkgs/development/idris-modules/comonad.nix b/pkgs/development/idris-modules/comonad.nix
index 31fd8dbc9aa..d7bf499ea22 100644
--- a/pkgs/development/idris-modules/comonad.nix
+++ b/pkgs/development/idris-modules/comonad.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "comonad";
+  pname = "comonad";
   version = "2018-02-26";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/composition.nix b/pkgs/development/idris-modules/composition.nix
index 5d6d2f891a6..831a1f32655 100644
--- a/pkgs/development/idris-modules/composition.nix
+++ b/pkgs/development/idris-modules/composition.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "composition";
+  pname = "composition";
   version = "2017-11-12";
 
   idrisDeps = [ hezarfen ];
diff --git a/pkgs/development/idris-modules/config.nix b/pkgs/development/idris-modules/config.nix
index 3771313d178..49c6efdd737 100644
--- a/pkgs/development/idris-modules/config.nix
+++ b/pkgs/development/idris-modules/config.nix
@@ -7,7 +7,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "config";
+  pname = "config";
   version = "2017-11-06";
 
   idrisDeps = [ effects containers lightyear test ];
diff --git a/pkgs/development/idris-modules/console.nix b/pkgs/development/idris-modules/console.nix
index e60ac20f4d4..30cefa45810 100644
--- a/pkgs/development/idris-modules/console.nix
+++ b/pkgs/development/idris-modules/console.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "console";
+  pname = "console";
   version = "2017-04-20";
 
   idrisDeps = [ idrisscript hrtime webgl ];
diff --git a/pkgs/development/idris-modules/containers.nix b/pkgs/development/idris-modules/containers.nix
index e98285ca930..dfe85aa7b8a 100644
--- a/pkgs/development/idris-modules/containers.nix
+++ b/pkgs/development/idris-modules/containers.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "containers";
+  pname = "containers";
   version = "2017-09-10";
 
   idrisDeps = [ effects test ];
diff --git a/pkgs/development/idris-modules/cube.nix b/pkgs/development/idris-modules/cube.nix
index 8a0f66829d8..eac71fb8797 100644
--- a/pkgs/development/idris-modules/cube.nix
+++ b/pkgs/development/idris-modules/cube.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "cube";
+  pname = "cube";
   version = "2017-07-05";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/default.nix b/pkgs/development/idris-modules/default.nix
index d6fb1ac78bd..ea8697482da 100644
--- a/pkgs/development/idris-modules/default.nix
+++ b/pkgs/development/idris-modules/default.nix
@@ -1,4 +1,4 @@
-{ pkgs, idris-no-deps, overrides ? (self: super: {}) }: let
+{ pkgs, config, idris-no-deps, overrides ? (self: super: {}) }: let
   inherit (pkgs.lib) callPackageWith fix' extends;
 
   /* Taken from haskell-modules/default.nix, should probably abstract this away */
@@ -145,8 +145,6 @@
 
     posix = callPackage ./posix.nix {};
 
-    protobuf = callPackage ./protobuf.nix {};
-
     quantities = callPackage ./quantities.nix {};
 
     rationals = callPackage ./rationals.nix {};
@@ -207,5 +205,8 @@
 
     yampa = callPackage ./yampa.nix {};
 
-  } // builtins_;
+  } // builtins_ // pkgs.lib.optionalAttrs (config.allowAliases or true) {
+    # removed packages
+    protobuf = throw "idrisPackages.protobuf has been removed: abandoned by upstream"; # Added 2022-02-06
+  };
 in fix' (extends overrides idrisPackages)
diff --git a/pkgs/development/idris-modules/derive.nix b/pkgs/development/idris-modules/derive.nix
index 7ab87d71d06..1ceca662e8a 100644
--- a/pkgs/development/idris-modules/derive.nix
+++ b/pkgs/development/idris-modules/derive.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "derive";
+  pname = "derive";
   version = "2018-07-02";
 
   idrisDeps = [ contrib pruviloj ];
diff --git a/pkgs/development/idris-modules/descncrunch.nix b/pkgs/development/idris-modules/descncrunch.nix
index 95f49a524bc..3c82e23ec7e 100644
--- a/pkgs/development/idris-modules/descncrunch.nix
+++ b/pkgs/development/idris-modules/descncrunch.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "descncrunch";
+  pname = "descncrunch";
   version = "2017-11-15";
 
   idrisDeps = [ pruviloj ];
diff --git a/pkgs/development/idris-modules/dict.nix b/pkgs/development/idris-modules/dict.nix
index 24cc7c0359d..3aa15287bd8 100644
--- a/pkgs/development/idris-modules/dict.nix
+++ b/pkgs/development/idris-modules/dict.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "dict";
+  pname = "dict";
   version = "2016-12-26";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/dom.nix b/pkgs/development/idris-modules/dom.nix
index f88827fb265..2698cbab484 100644
--- a/pkgs/development/idris-modules/dom.nix
+++ b/pkgs/development/idris-modules/dom.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "dom";
+  pname = "dom";
   version = "2017-04-22";
 
   idrisDeps = [ idrisscript html xhr ];
diff --git a/pkgs/development/idris-modules/electron.nix b/pkgs/development/idris-modules/electron.nix
index 172f1980a90..769b0b3fe8c 100644
--- a/pkgs/development/idris-modules/electron.nix
+++ b/pkgs/development/idris-modules/electron.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "electron";
+  pname = "electron";
   version = "2016-03-07";
 
   idrisDeps = [ contrib jheiling-extras jheiling-js ];
diff --git a/pkgs/development/idris-modules/eternal.nix b/pkgs/development/idris-modules/eternal.nix
index 673df485a38..9ca38907fe7 100644
--- a/pkgs/development/idris-modules/eternal.nix
+++ b/pkgs/development/idris-modules/eternal.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "eternal";
+  pname = "eternal";
   version = "2018-07-02";
 
   idrisDeps = [ effects ];
diff --git a/pkgs/development/idris-modules/farrp.nix b/pkgs/development/idris-modules/farrp.nix
index 88f852ba20c..4326aeeadb6 100644
--- a/pkgs/development/idris-modules/farrp.nix
+++ b/pkgs/development/idris-modules/farrp.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "farrp";
+  pname = "farrp";
   version = "2018-02-13";
 
   idrisDeps = [ effects ];
diff --git a/pkgs/development/idris-modules/free.nix b/pkgs/development/idris-modules/free.nix
index 6f7a5f56d4f..557dc30ff96 100644
--- a/pkgs/development/idris-modules/free.nix
+++ b/pkgs/development/idris-modules/free.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "free";
+  pname = "free";
   version = "2017-07-03";
 
   ipkgName = "idris-free";
diff --git a/pkgs/development/idris-modules/fsm.nix b/pkgs/development/idris-modules/fsm.nix
index 5da5f01da34..1342e90f29b 100644
--- a/pkgs/development/idris-modules/fsm.nix
+++ b/pkgs/development/idris-modules/fsm.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "fsm";
+  pname = "fsm";
   version = "2017-04-16";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/glfw.nix b/pkgs/development/idris-modules/glfw.nix
index c63cf8acb0f..f67b65bb71f 100644
--- a/pkgs/development/idris-modules/glfw.nix
+++ b/pkgs/development/idris-modules/glfw.nix
@@ -5,7 +5,7 @@
 , pkgs
 }:
 build-idris-package  {
-  name = "glfw";
+  pname = "glfw";
   version = "2016-12-05";
 
   idrisDeps = [ effects ];
diff --git a/pkgs/development/idris-modules/graphviz.nix b/pkgs/development/idris-modules/graphviz.nix
index 650f0e0b99b..28ab24a2ada 100644
--- a/pkgs/development/idris-modules/graphviz.nix
+++ b/pkgs/development/idris-modules/graphviz.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "graphviz";
+  pname = "graphviz";
   version = "2017-01-16";
 
   idrisDeps = [ lightyear ];
diff --git a/pkgs/development/idris-modules/hamt.nix b/pkgs/development/idris-modules/hamt.nix
index 3c6868fcc59..97a72e8c905 100644
--- a/pkgs/development/idris-modules/hamt.nix
+++ b/pkgs/development/idris-modules/hamt.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "hamt";
+  pname = "hamt";
   version = "2016-11-15";
 
   idrisDeps = [ contrib effects ];
diff --git a/pkgs/development/idris-modules/hezarfen.nix b/pkgs/development/idris-modules/hezarfen.nix
index acbc2770ea5..881b65b2b8b 100644
--- a/pkgs/development/idris-modules/hezarfen.nix
+++ b/pkgs/development/idris-modules/hezarfen.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "hezarfen";
+  pname = "hezarfen";
   version = "2018-02-03";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/hrtime.nix b/pkgs/development/idris-modules/hrtime.nix
index 7f4d0769cc4..3d1c0f4abf9 100644
--- a/pkgs/development/idris-modules/hrtime.nix
+++ b/pkgs/development/idris-modules/hrtime.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "hrtime";
+  pname = "hrtime";
   version = "2017-04-16";
 
   ipkgName = "hrTime";
diff --git a/pkgs/development/idris-modules/html.nix b/pkgs/development/idris-modules/html.nix
index 2ab7534936a..8eb2f7f12d7 100644
--- a/pkgs/development/idris-modules/html.nix
+++ b/pkgs/development/idris-modules/html.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "html";
+  pname = "html";
   version = "2017-04-23";
 
   idrisDeps = [ idrisscript hrtime webgl ];
diff --git a/pkgs/development/idris-modules/http.nix b/pkgs/development/idris-modules/http.nix
index 45e505be056..d952dca54a3 100644
--- a/pkgs/development/idris-modules/http.nix
+++ b/pkgs/development/idris-modules/http.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "http";
+  pname = "http";
   version = "2018-02-25";
 
   idrisDeps = [ contrib lightyear bytes ];
diff --git a/pkgs/development/idris-modules/http4idris.nix b/pkgs/development/idris-modules/http4idris.nix
index 11e9d62c051..6959e33f48a 100644
--- a/pkgs/development/idris-modules/http4idris.nix
+++ b/pkgs/development/idris-modules/http4idris.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "http4idris";
+  pname = "http4idris";
   version = "2018-01-16";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/iaia.nix b/pkgs/development/idris-modules/iaia.nix
index 865d533750f..1c631280eac 100644
--- a/pkgs/development/idris-modules/iaia.nix
+++ b/pkgs/development/idris-modules/iaia.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "iaia";
+  pname = "iaia";
   version = "2017-11-10";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/idrishighlighter.nix b/pkgs/development/idris-modules/idrishighlighter.nix
index 6b1ae30ad40..759ea354747 100644
--- a/pkgs/development/idris-modules/idrishighlighter.nix
+++ b/pkgs/development/idris-modules/idrishighlighter.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "idrishighlighter";
+  pname = "idrishighlighter";
   version = "2018-02-22";
 
   ipkgName = "idris-code-highlighter";
diff --git a/pkgs/development/idris-modules/idrisscript.nix b/pkgs/development/idris-modules/idrisscript.nix
index 805facda84c..2a2693c623e 100644
--- a/pkgs/development/idris-modules/idrisscript.nix
+++ b/pkgs/development/idris-modules/idrisscript.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "idrisscript";
+  pname = "idrisscript";
   version = "2017-07-01";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/ipkgparser.nix b/pkgs/development/idris-modules/ipkgparser.nix
index 6bdcd9e9f55..4cd966d8b85 100644
--- a/pkgs/development/idris-modules/ipkgparser.nix
+++ b/pkgs/development/idris-modules/ipkgparser.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "ipkgparser";
+  pname = "ipkgparser";
   version = "2017-11-14";
 
   idrisDeps = [ contrib effects lightyear ];
diff --git a/pkgs/development/idris-modules/jheiling-extras.nix b/pkgs/development/idris-modules/jheiling-extras.nix
index ae933b264ae..da84ea26800 100644
--- a/pkgs/development/idris-modules/jheiling-extras.nix
+++ b/pkgs/development/idris-modules/jheiling-extras.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "extras";
+  pname = "extras";
   version = "2018-03-06";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/jheiling-js.nix b/pkgs/development/idris-modules/jheiling-js.nix
index b192e8ff1c0..425acceb4e6 100644
--- a/pkgs/development/idris-modules/jheiling-js.nix
+++ b/pkgs/development/idris-modules/jheiling-js.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "jheiling-js";
+  pname = "jheiling-js";
   version = "2016-03-09";
 
   ipkgName = "js";
diff --git a/pkgs/development/idris-modules/js.nix b/pkgs/development/idris-modules/js.nix
index 61ce415e605..4b96ca1a486 100644
--- a/pkgs/development/idris-modules/js.nix
+++ b/pkgs/development/idris-modules/js.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "js";
+  pname = "js";
   version = "2018-11-27";
 
   idrisDeps = [ contrib pruviloj ];
diff --git a/pkgs/development/idris-modules/lens.nix b/pkgs/development/idris-modules/lens.nix
index e829309fbc0..c9a8c2aa257 100644
--- a/pkgs/development/idris-modules/lens.nix
+++ b/pkgs/development/idris-modules/lens.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "lens";
+  pname = "lens";
   version = "2017-09-25";
 
   idrisDeps = [ bifunctors ];
diff --git a/pkgs/development/idris-modules/lightyear.nix b/pkgs/development/idris-modules/lightyear.nix
index 34c19eea4ac..e8f94a82d2f 100644
--- a/pkgs/development/idris-modules/lightyear.nix
+++ b/pkgs/development/idris-modules/lightyear.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "lightyear";
+  pname = "lightyear";
   version = "2017-09-10";
 
   idrisDeps = [ effects ];
diff --git a/pkgs/development/idris-modules/logic.nix b/pkgs/development/idris-modules/logic.nix
index 35670462dcf..f20d16e9a19 100644
--- a/pkgs/development/idris-modules/logic.nix
+++ b/pkgs/development/idris-modules/logic.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "logic";
+  pname = "logic";
   version = "2016-12-02";
 
   idrisDeps = [ bifunctors ];
diff --git a/pkgs/development/idris-modules/mapping.nix b/pkgs/development/idris-modules/mapping.nix
index 6f978fccd5e..fbfb34ddbf9 100644
--- a/pkgs/development/idris-modules/mapping.nix
+++ b/pkgs/development/idris-modules/mapping.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "mapping";
+  pname = "mapping";
   version = "2018-02-27";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/mhd.nix b/pkgs/development/idris-modules/mhd.nix
index 1ef304bbf1c..dc3a05f2b5a 100644
--- a/pkgs/development/idris-modules/mhd.nix
+++ b/pkgs/development/idris-modules/mhd.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "mhd";
+  pname = "mhd";
   version = "2016-04-22";
 
   ipkgName = "MHD";
diff --git a/pkgs/development/idris-modules/pacman.nix b/pkgs/development/idris-modules/pacman.nix
index cda3662dce2..dbc3c9ced72 100644
--- a/pkgs/development/idris-modules/pacman.nix
+++ b/pkgs/development/idris-modules/pacman.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "pacman";
+  pname = "pacman";
   version = "2017-11-10";
 
   idrisDeps = [ contrib sdl2 ];
diff --git a/pkgs/development/idris-modules/patricia.nix b/pkgs/development/idris-modules/patricia.nix
index 586c33837d6..a5cb0c6af00 100644
--- a/pkgs/development/idris-modules/patricia.nix
+++ b/pkgs/development/idris-modules/patricia.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "patricia";
+  pname = "patricia";
   version = "2017-10-27";
 
   idrisDeps = [ specdris ];
diff --git a/pkgs/development/idris-modules/permutations.nix b/pkgs/development/idris-modules/permutations.nix
index b11bce39e1e..6f4e299d223 100644
--- a/pkgs/development/idris-modules/permutations.nix
+++ b/pkgs/development/idris-modules/permutations.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "permutations";
+  pname = "permutations";
   version = "2018-01-19";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/pfds.nix b/pkgs/development/idris-modules/pfds.nix
index d82ec490185..db3004a72be 100644
--- a/pkgs/development/idris-modules/pfds.nix
+++ b/pkgs/development/idris-modules/pfds.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "pfds";
+  pname = "pfds";
   version = "2017-09-25";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/pipes.nix b/pkgs/development/idris-modules/pipes.nix
index 69b8d721705..1402a2facee 100644
--- a/pkgs/development/idris-modules/pipes.nix
+++ b/pkgs/development/idris-modules/pipes.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "pipes";
+  pname = "pipes";
   version = "2017-12-02";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/posix.nix b/pkgs/development/idris-modules/posix.nix
index 30bff9eb7e7..13588155989 100644
--- a/pkgs/development/idris-modules/posix.nix
+++ b/pkgs/development/idris-modules/posix.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "posix";
+  pname = "posix";
   version = "2017-11-18";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/protobuf.nix b/pkgs/development/idris-modules/protobuf.nix
deleted file mode 100644
index ebfc3c27508..00000000000
--- a/pkgs/development/idris-modules/protobuf.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ build-idris-package
-, fetchFromGitHub
-, lightyear
-, lib
-}:
-build-idris-package  {
-  name = "protobuf";
-  version = "2017-08-12";
-
-  idrisDeps = [ lightyear ];
-
-  src = fetchFromGitHub {
-    owner = "artagnon";
-    repo = "idris-protobuf";
-    rev = "c21212534639518453d16ae1b0f07d94464ff8eb";
-    sha256 = "0n5w7bdbxqca3b7hzg95md01mx4sfvl9fi82xjm0hzds33akmn05";
-  };
-
-  meta = {
-    description = "A partial implementation of Protocol Buffers in Idris";
-    homepage = "https://github.com/artagnon/idris-protobuf";
-    license = lib.licenses.asl20;
-    maintainers = [ lib.maintainers.brainrape ];
-  };
-}
diff --git a/pkgs/development/idris-modules/quantities.nix b/pkgs/development/idris-modules/quantities.nix
index 8141465d751..76242c5d229 100644
--- a/pkgs/development/idris-modules/quantities.nix
+++ b/pkgs/development/idris-modules/quantities.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "quantities";
+  pname = "quantities";
   version = "2018-04-17";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/rationals.nix b/pkgs/development/idris-modules/rationals.nix
index 91aa294d1c5..9513b79e1aa 100644
--- a/pkgs/development/idris-modules/rationals.nix
+++ b/pkgs/development/idris-modules/rationals.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package {
-  name = "rationals";
+  pname = "rationals";
   version = "2017-04-29";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/recursion_schemes.nix b/pkgs/development/idris-modules/recursion_schemes.nix
index b326113c635..3e9510563ee 100644
--- a/pkgs/development/idris-modules/recursion_schemes.nix
+++ b/pkgs/development/idris-modules/recursion_schemes.nix
@@ -8,7 +8,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "recursion_schemes";
+  pname = "recursion_schemes";
   version = "2018-01-19";
 
   idrisDeps = [ free composition comonad bifunctors hezarfen ];
diff --git a/pkgs/development/idris-modules/refined.nix b/pkgs/development/idris-modules/refined.nix
index 11fd6b78281..c841f633b41 100644
--- a/pkgs/development/idris-modules/refined.nix
+++ b/pkgs/development/idris-modules/refined.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "refined";
+  pname = "refined";
   version = "2017-12-28";
 
   ipkgName = "idris-refined";
diff --git a/pkgs/development/idris-modules/sdl.nix b/pkgs/development/idris-modules/sdl.nix
index 105cfdce65b..59e3ac916e4 100644
--- a/pkgs/development/idris-modules/sdl.nix
+++ b/pkgs/development/idris-modules/sdl.nix
@@ -6,7 +6,7 @@
 , SDL_gfx
 }:
 build-idris-package  {
-  name = "sdl";
+  pname = "sdl";
   version = "2017-03-24";
 
   idrisDeps = [ effects ];
diff --git a/pkgs/development/idris-modules/sdl2.nix b/pkgs/development/idris-modules/sdl2.nix
index 2e06b036825..36eb7395dde 100644
--- a/pkgs/development/idris-modules/sdl2.nix
+++ b/pkgs/development/idris-modules/sdl2.nix
@@ -7,7 +7,7 @@
 , SDL2_gfx
 }:
 build-idris-package rec {
-  name = "sdl2";
+  pname = "sdl2";
   version = "0.1.1";
 
   idrisDeps = [ effects ];
diff --git a/pkgs/development/idris-modules/semidirect.nix b/pkgs/development/idris-modules/semidirect.nix
index 30cc144003e..e3ca18fd2a2 100644
--- a/pkgs/development/idris-modules/semidirect.nix
+++ b/pkgs/development/idris-modules/semidirect.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "semidirect";
+  pname = "semidirect";
   version = "2018-07-02";
 
   idrisDeps = [ contrib patricia ];
diff --git a/pkgs/development/idris-modules/setoids.nix b/pkgs/development/idris-modules/setoids.nix
index aa66d847595..49e7bc5e8a0 100644
--- a/pkgs/development/idris-modules/setoids.nix
+++ b/pkgs/development/idris-modules/setoids.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "setoids";
+  pname = "setoids";
   version = "2018-06-18";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/smproc.nix b/pkgs/development/idris-modules/smproc.nix
index 4917f762855..b3780c9af3b 100644
--- a/pkgs/development/idris-modules/smproc.nix
+++ b/pkgs/development/idris-modules/smproc.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "smproc";
+  pname = "smproc";
   version = "2018-02-08";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/snippets.nix b/pkgs/development/idris-modules/snippets.nix
index 2d5473545c5..fa4f3226dcc 100644
--- a/pkgs/development/idris-modules/snippets.nix
+++ b/pkgs/development/idris-modules/snippets.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "snippets";
+  pname = "snippets";
   version = "2018-03-17";
 
   ipkgName = "idris-snippets";
diff --git a/pkgs/development/idris-modules/software_foundations.nix b/pkgs/development/idris-modules/software_foundations.nix
index 0f45da3ed67..cbbf959576f 100644
--- a/pkgs/development/idris-modules/software_foundations.nix
+++ b/pkgs/development/idris-modules/software_foundations.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "software_foundations";
+  pname = "software_foundations";
   version = "2017-11-04";
 
   idrisDeps = [ pruviloj ];
diff --git a/pkgs/development/idris-modules/specdris.nix b/pkgs/development/idris-modules/specdris.nix
index b20902d7432..172a46b65a5 100644
--- a/pkgs/development/idris-modules/specdris.nix
+++ b/pkgs/development/idris-modules/specdris.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package {
-  name = "specdris";
+  pname = "specdris";
   version = "2018-01-23";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/tap.nix b/pkgs/development/idris-modules/tap.nix
index 9edbbaea359..8db71b9cb0a 100644
--- a/pkgs/development/idris-modules/tap.nix
+++ b/pkgs/development/idris-modules/tap.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "tap";
+  pname = "tap";
   version = "2017-04-08";
 
   ipkgName = "TAP";
diff --git a/pkgs/development/idris-modules/test.nix b/pkgs/development/idris-modules/test.nix
index 073b4e20b85..9c14422cc8d 100644
--- a/pkgs/development/idris-modules/test.nix
+++ b/pkgs/development/idris-modules/test.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "test";
+  pname = "test";
   version = "2017-03-30";
 
   idrisDeps = [ effects ];
diff --git a/pkgs/development/idris-modules/tfrandom.nix b/pkgs/development/idris-modules/tfrandom.nix
index 8249259075c..b07f5253005 100644
--- a/pkgs/development/idris-modules/tfrandom.nix
+++ b/pkgs/development/idris-modules/tfrandom.nix
@@ -4,7 +4,7 @@
 }:
 
 build-idris-package  {
-  name = "tf-random";
+  pname = "tf-random";
   version = "2020-01-15";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/tlhydra.nix b/pkgs/development/idris-modules/tlhydra.nix
index e2c07ac5fb7..3b33367c889 100644
--- a/pkgs/development/idris-modules/tlhydra.nix
+++ b/pkgs/development/idris-modules/tlhydra.nix
@@ -6,7 +6,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "tlhydra";
+  pname = "tlhydra";
   version = "2017-13-26";
 
   idrisDeps = [ effects contrib lightyear ];
diff --git a/pkgs/development/idris-modules/tomladris.nix b/pkgs/development/idris-modules/tomladris.nix
index 64728ab305e..8a0e7847f50 100644
--- a/pkgs/development/idris-modules/tomladris.nix
+++ b/pkgs/development/idris-modules/tomladris.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "tomladris";
+  pname = "tomladris";
   version = "2017-11-14";
 
   idrisDeps = [ lightyear contrib ];
diff --git a/pkgs/development/idris-modules/tp.nix b/pkgs/development/idris-modules/tp.nix
index 0cfdc78f667..0aedc3f4859 100644
--- a/pkgs/development/idris-modules/tp.nix
+++ b/pkgs/development/idris-modules/tp.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "tp";
+  pname = "tp";
   version = "2017-08-15";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/tparsec.nix b/pkgs/development/idris-modules/tparsec.nix
index ce040bebe35..ddf24f7c9d9 100644
--- a/pkgs/development/idris-modules/tparsec.nix
+++ b/pkgs/development/idris-modules/tparsec.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "tparsec";
+  pname = "tparsec";
   version = "2020-02-11";
 
   ipkgName = "TParsec";
diff --git a/pkgs/development/idris-modules/transducers.nix b/pkgs/development/idris-modules/transducers.nix
index 39a4cdf0cc7..455e5c72a64 100644
--- a/pkgs/development/idris-modules/transducers.nix
+++ b/pkgs/development/idris-modules/transducers.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "transducers";
+  pname = "transducers";
   version = "2017-07-28";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/trees.nix b/pkgs/development/idris-modules/trees.nix
index 8fda8d138ad..5c6e69471c7 100644
--- a/pkgs/development/idris-modules/trees.nix
+++ b/pkgs/development/idris-modules/trees.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "trees";
+  pname = "trees";
   version = "2018-03-19";
 
   idrisDeps = [ contrib bi ];
diff --git a/pkgs/development/idris-modules/union_type.nix b/pkgs/development/idris-modules/union_type.nix
index 2ad8f280fce..99f160a72d8 100644
--- a/pkgs/development/idris-modules/union_type.nix
+++ b/pkgs/development/idris-modules/union_type.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "union_type";
+  pname = "union_type";
   version = "2018-01-30";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/vdom.nix b/pkgs/development/idris-modules/vdom.nix
index 3ece0056a3f..9e3f151ee89 100644
--- a/pkgs/development/idris-modules/vdom.nix
+++ b/pkgs/development/idris-modules/vdom.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "vdom";
+  pname = "vdom";
   version = "0.6.0";
 
   ipkgName = "idris-vdom";
diff --git a/pkgs/development/idris-modules/vecspace.nix b/pkgs/development/idris-modules/vecspace.nix
index 2336291338b..dea3c9b18dd 100644
--- a/pkgs/development/idris-modules/vecspace.nix
+++ b/pkgs/development/idris-modules/vecspace.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "vecspace";
+  pname = "vecspace";
   version = "2018-01-12";
 
   idrisDeps = [ contrib ];
diff --git a/pkgs/development/idris-modules/webgl.nix b/pkgs/development/idris-modules/webgl.nix
index 271501aa529..849cad2590c 100644
--- a/pkgs/development/idris-modules/webgl.nix
+++ b/pkgs/development/idris-modules/webgl.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "webgl";
+  pname = "webgl";
   version = "2017-05-08";
 
   idrisDeps = [ idrisscript ];
diff --git a/pkgs/development/idris-modules/wl-pprint.nix b/pkgs/development/idris-modules/wl-pprint.nix
index a368e0582d8..a6c7b78f552 100644
--- a/pkgs/development/idris-modules/wl-pprint.nix
+++ b/pkgs/development/idris-modules/wl-pprint.nix
@@ -3,7 +3,7 @@
 , lib
 }:
 build-idris-package {
-  name = "wl-pprint";
+  pname = "wl-pprint";
   version = "2017-03-13";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/idris-modules/wyvern.nix b/pkgs/development/idris-modules/wyvern.nix
index 750b5dd2fd0..3a8742d9fe5 100644
--- a/pkgs/development/idris-modules/wyvern.nix
+++ b/pkgs/development/idris-modules/wyvern.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "wyvern";
+  pname = "wyvern";
   version = "2017-06-26";
 
   idrisDeps = [ contrib effects ];
diff --git a/pkgs/development/idris-modules/xhr.nix b/pkgs/development/idris-modules/xhr.nix
index 9c198e28938..e8dc37d4398 100644
--- a/pkgs/development/idris-modules/xhr.nix
+++ b/pkgs/development/idris-modules/xhr.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "xhr";
+  pname = "xhr";
   version = "2017-04-22";
 
   idrisDeps = [ idrisscript ];
diff --git a/pkgs/development/idris-modules/yaml.nix b/pkgs/development/idris-modules/yaml.nix
index b7fffd3953d..2c8b8087576 100644
--- a/pkgs/development/idris-modules/yaml.nix
+++ b/pkgs/development/idris-modules/yaml.nix
@@ -5,7 +5,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "yaml";
+  pname = "yaml";
   version = "2018-01-25";
 
   ipkgName = "Yaml";
diff --git a/pkgs/development/idris-modules/yampa.nix b/pkgs/development/idris-modules/yampa.nix
index 33ebacc6d55..ae790aa4bda 100644
--- a/pkgs/development/idris-modules/yampa.nix
+++ b/pkgs/development/idris-modules/yampa.nix
@@ -4,7 +4,7 @@
 , lib
 }:
 build-idris-package  {
-  name = "yampa";
+  pname = "yampa";
   version = "2016-07-05";
 
   ipkgName = "idris-yampa";
diff --git a/pkgs/development/interpreters/bats/default.nix b/pkgs/development/interpreters/bats/default.nix
index f8fe2a46cc7..3379d1370af 100644
--- a/pkgs/development/interpreters/bats/default.nix
+++ b/pkgs/development/interpreters/bats/default.nix
@@ -1,30 +1,54 @@
-{ stdenv, lib, fetchFromGitHub, bash, makeWrapper, coreutils, gnugrep, ncurses, doCheck ? true }:
+{ resholvePackage
+, lib
+, stdenv
+, fetchFromGitHub
+, bash
+, coreutils
+, gnugrep
+, ncurses
+, lsof
+, doInstallCheck ? true
+}:
 
-stdenv.mkDerivation rec {
+resholvePackage rec {
   pname = "bats";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "bats-core";
     repo = "bats-core";
     rev = "v${version}";
-    sha256 = "sha256-MEkMi2w8G9FZhE3JvzzbqObcErQ9WFXy5mtKwQOoxbk=";
+    sha256 = "sha256-s+SAqX70WeTz6s5ObXYFBVPVUEqvD1d7AX2sGHkjVQ4=";
   };
 
-  nativeBuildInputs = [ makeWrapper ];
-
   patchPhase = ''
     patchShebangs .
   '';
 
   installPhase = ''
     ./install.sh $out
-    wrapProgram $out/bin/bats --suffix PATH : "${lib.makeBinPath [ bash coreutils gnugrep ]}"
   '';
 
-  inherit doCheck;
-  checkInputs = [ ncurses ];
-  checkPhase = ''
+  solutions = {
+    bats = {
+      scripts = [ "bin/bats" ];
+      interpreter = "${bash}/bin/bash";
+      inputs = [ bash coreutils gnugrep ];
+      fake = {
+        external = [ "greadlink" ];
+      };
+      fix = {
+        "$BATS_ROOT" = [ "${placeholder "out"}" ];
+      };
+      keep = {
+        "${placeholder "out"}/libexec/bats-core/bats" = true;
+      };
+    };
+  };
+
+  inherit doInstallCheck;
+  installCheckInputs = [ ncurses ] ++ lib.optionals stdenv.isDarwin [ lsof ];
+  installCheckPhase = ''
     # TODO: cut if https://github.com/bats-core/bats-core/issues/418 allows
     sed -i '/test works even if PATH is reset/a skip' test/bats.bats
 
diff --git a/pkgs/development/interpreters/clojure/babashka.nix b/pkgs/development/interpreters/clojure/babashka.nix
index 93755e83a3d..4b7f8ee38e9 100644
--- a/pkgs/development/interpreters/clojure/babashka.nix
+++ b/pkgs/development/interpreters/clojure/babashka.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "babashka";
-  version = "0.7.3";
+  version = "0.7.6";
 
   src = fetchurl {
     url = "https://github.com/babashka/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-zbxFMc02hbsU2ERlUzqMBHwHYfORB7TkMINrKC52PPU=";
+    sha256 = "sha256-bRuf9qUBgb+1Sr2US67NZZrrb2MycSvNbekLLSpvZss=";
   };
 
   executable = "bb";
diff --git a/pkgs/development/interpreters/clojure/default.nix b/pkgs/development/interpreters/clojure/default.nix
index 45dc35681c3..a66f0422b6d 100644
--- a/pkgs/development/interpreters/clojure/default.nix
+++ b/pkgs/development/interpreters/clojure/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "clojure";
-  version = "1.10.3.1058";
+  version = "1.10.3.1082";
 
   src = fetchurl {
     # https://clojure.org/releases/tools
     url = "https://download.clojure.org/install/clojure-tools-${version}.tar.gz";
-    sha256 = "guIQjiWyulITZZSjt/kCtU5qo4FG/2IK2rwBI6Ttfe0=";
+    sha256 = "sha256-8hW8zgP+D72MtXYFPXx9FfkThQuCBo1Y6CU5w7xPE7c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/interpreters/duktape/default.nix b/pkgs/development/interpreters/duktape/default.nix
index ba533a17276..912fc691dd9 100644
--- a/pkgs/development/interpreters/duktape/default.nix
+++ b/pkgs/development/interpreters/duktape/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "duktape";
-  version = "2.6.0";
+  version = "2.7.0";
   src = fetchurl {
     url = "http://duktape.org/duktape-${version}.tar.xz";
-    sha256 = "19szwxzvl2g65fw95ggvb8h0ma5bd9vvnnccn59hwnc4dida1x4n";
+    sha256 = "sha256-kPjS+otVZ8aJmDDd7ywD88J5YLEayiIvoXqnrGE8KJA=";
   };
 
   nativeBuildInputs = [ validatePkgConfig ];
diff --git a/pkgs/development/interpreters/elixir/1.13.nix b/pkgs/development/interpreters/elixir/1.13.nix
index e5eb36e752a..0e1ddcc19bf 100644
--- a/pkgs/development/interpreters/elixir/1.13.nix
+++ b/pkgs/development/interpreters/elixir/1.13.nix
@@ -3,7 +3,7 @@
 # How to obtain `sha256`:
 # nix-prefetch-url --unpack https://github.com/elixir-lang/elixir/archive/v${version}.tar.gz
 mkDerivation {
-  version = "1.13.2";
-  sha256 = "sha256-qv85aDP3RPCa1YBo45ykWRRZNanL6brNKDMPu9SZdbQ=";
+  version = "1.13.3";
+  sha256 = "sha256-xOIGMpjemPi1xLiYmFpQR4FD6PzeFBxSJP4QpNnEUSE=";
   minimumOTPVersion = "22";
 }
diff --git a/pkgs/development/interpreters/erlang/generic-builder.nix b/pkgs/development/interpreters/erlang/generic-builder.nix
index f4f7d648354..667fb749d33 100644
--- a/pkgs/development/interpreters/erlang/generic-builder.nix
+++ b/pkgs/development/interpreters/erlang/generic-builder.nix
@@ -154,7 +154,7 @@ stdenv.mkDerivation ({
         #!${stdenv.shell}
         set -ox errexit
         PATH=${lib.makeBinPath [ common-updater-scripts coreutils git gnused ]}
-        latest=$(list-git-tags https://github.com/erlang/otp.git | sed -n 's/^OTP-${major}/${major}/p' | sort -V | tail -1)
+        latest=$(list-git-tags --url=https://github.com/erlang/otp.git | sed -n 's/^OTP-${major}/${major}/p' | sort -V | tail -1)
         if [ "$latest" != "${version}" ]; then
           nixpkgs="$(git rev-parse --show-toplevel)"
           nix_file="$nixpkgs/pkgs/development/interpreters/erlang/R${major}.nix"
diff --git a/pkgs/development/interpreters/janet/darwin-remove-net-test.patch b/pkgs/development/interpreters/janet/darwin-remove-net-test.patch
new file mode 100644
index 00000000000..b2a66d5465e
--- /dev/null
+++ b/pkgs/development/interpreters/janet/darwin-remove-net-test.patch
@@ -0,0 +1,20 @@
+diff --git a/test/suite0009.janet b/test/suite0009.janet
+index 6095bc60..25360d60 100644
+--- a/test/suite0009.janet
++++ b/test/suite0009.janet
+@@ -174,15 +174,6 @@
+   (defer (:close stream)
+     (check-matching-names stream)))
+ 
+-# Test localname and peername
+-(repeat 20
+-  (with [s (net/server "127.0.0.1" "8000" names-handler)]
+-    (defn test-names []
+-      (with [conn (net/connect "127.0.0.1" "8000")]
+-        (check-matching-names conn)))
+-    (repeat 20 (test-names)))
+-  (gccollect))
+-
+ # Create pipe
+ 
+ (var pipe-counter 0)
\ No newline at end of file
diff --git a/pkgs/development/interpreters/janet/default.nix b/pkgs/development/interpreters/janet/default.nix
index 35631174e26..a6ee3dc61fa 100644
--- a/pkgs/development/interpreters/janet/default.nix
+++ b/pkgs/development/interpreters/janet/default.nix
@@ -2,25 +2,22 @@
 
 stdenv.mkDerivation rec {
   pname = "janet";
-  version = "1.16.1";
+  version = "1.20.0";
 
   src = fetchFromGitHub {
     owner = "janet-lang";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TzJbHmHIySlf3asQ02HOdehMR+s0KkPifBiaQ4FvFCg=";
+    sha256 = "sha256-mCeOaTbOQej4Uza9fg+xop77z31SQ3sO09dZK8SVAyU=";
   };
 
-  # we don't have /usr/bin/env in the sandbox, so substitute for a proper,
-  # absolute path to janet
-  postPatch = ''
-    substituteInPlace jpm \
-      --replace '/usr/bin/env janet' $out/bin/janet \
-      --replace /usr/local/lib/janet $out/lib \
-      --replace /usr/local           $out
+  # This release fails the test suite on darwin, remove when debugged.
+  # See https://github.com/NixOS/nixpkgs/pull/150618 for discussion.
+  patches = lib.optionals stdenv.isDarwin ./darwin-remove-net-test.patch;
 
+  postPatch = ''
     substituteInPlace janet.1 \
-      --replace /usr/local/lib/janet $out/lib
+      --replace /usr/local/ $out/
   '';
 
   nativeBuildInputs = [ meson ninja ];
@@ -35,5 +32,7 @@ stdenv.mkDerivation rec {
     license = licenses.mit;
     maintainers = with maintainers; [ andrewchambers peterhoeg ];
     platforms = platforms.all;
+    # Marked as broken when patch is applied, see comment above patch.
+    broken = stdenv.isDarwin;
   };
 }
diff --git a/pkgs/development/interpreters/janet/jpm.nix b/pkgs/development/interpreters/janet/jpm.nix
new file mode 100644
index 00000000000..70893085125
--- /dev/null
+++ b/pkgs/development/interpreters/janet/jpm.nix
@@ -0,0 +1,59 @@
+{ lib, stdenv, fetchFromGitHub, janet }:
+
+let
+  platformFiles = {
+    aarch64-darwin = "macos_config.janet";
+    aarch64-linux = "linux_config.janet";
+    x86_64-darwin = "macos_config.janet";
+    x86_64-linux = "linux_config.janet";
+  };
+
+  platformFile = platformFiles.${stdenv.hostPlatform.system};
+
+in
+stdenv.mkDerivation rec {
+  pname = "jpm";
+  version = "0.0.2";
+
+  src = fetchFromGitHub {
+    owner = "janet-lang";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-nv+vkDjEY711L+C5ibw48DUSNqq2UJiFC2i5LntuBNM=";
+  };
+
+  # `auto-shebangs true` gives us a shebang line that points to janet inside the
+  # jpm bin folder
+  postPatch = ''
+    substituteInPlace configs/${platformFile} \
+      --replace 'auto-shebang true' 'auto-shebang false' \
+      --replace /usr/local $out
+  '';
+
+  dontConfigure = true;
+
+  buildInputs = [ janet ];
+
+  dontBuild = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/{lib/janet,share/man/man1}
+
+    janet bootstrap.janet configs/${platformFile}
+
+    runHook postInstall
+  '';
+
+  doInstallCheck = true;
+
+  installCheckPhase = ''
+    $out/bin/jpm help
+  '';
+
+  meta = janet.meta // {
+    description = "Janet Project Manager for the Janet programming language";
+    platforms = lib.attrNames platformFiles;
+  };
+}
diff --git a/pkgs/development/interpreters/jruby/default.nix b/pkgs/development/interpreters/jruby/default.nix
index 4c19a2da873..468f9fac64c 100644
--- a/pkgs/development/interpreters/jruby/default.nix
+++ b/pkgs/development/interpreters/jruby/default.nix
@@ -6,11 +6,11 @@ rubyVersion = callPackage ../ruby/ruby-version.nix {} "2" "5" "7" "";
 jruby = stdenv.mkDerivation rec {
   pname = "jruby";
 
-  version = "9.3.2.0";
+  version = "9.3.3.0";
 
   src = fetchurl {
     url = "https://s3.amazonaws.com/jruby.org/downloads/${version}/jruby-bin-${version}.tar.gz";
-    sha256 = "sha256-JmmcoCvur6gyZXPBElxXpZcbqLlNFfhOazuvJZQkTzM=";
+    sha256 = "sha256-Pagoy+KH1UaFB/HCxCvvbPNLxTYbzWpdmcIHshuf3Fw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/nextflow/default.nix b/pkgs/development/interpreters/nextflow/default.nix
new file mode 100644
index 00000000000..c182214ccbb
--- /dev/null
+++ b/pkgs/development/interpreters/nextflow/default.nix
@@ -0,0 +1,56 @@
+{ lib
+, stdenv
+, fetchurl
+, makeWrapper
+, jre
+, wget
+, which
+, gnused
+, gawk
+, coreutils
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nextflow";
+  version = "21.10.6";
+
+  src = fetchurl {
+    url = "https://github.com/nextflow-io/nextflow/releases/download/v${version}/nextflow-${version}-all";
+    sha256 = "0l9hi51vrhvfx3px2pxw7lp4h21n8ks50x4icfk3hbgl2hwf7fvx";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+  buildInputs = [ jre wget which gnused gawk coreutils ];
+
+  dontUnpack = true;
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    install -Dm755 $src $out/bin/nextflow
+
+    runHook postInstall
+  '';
+
+  postFixup = ''
+    wrapProgram $out/bin/nextflow --prefix PATH : ${lib.makeBinPath buildInputs}
+  '';
+
+  meta = with lib; {
+    description = "A DSL for data-driven computational pipelines";
+    longDescription = ''
+      Nextflow is a bioinformatics workflow manager that enables the development of portable and reproducible workflows.
+
+      It supports deploying workflows on a variety of execution platforms including local, HPC schedulers, AWS Batch, Google Cloud Life Sciences, and Kubernetes.
+
+      Additionally, it provides support for manage your workflow dependencies through built-in support for Conda, Docker, Singularity, and Modules.
+    '';
+    homepage = "https://www.nextflow.io/";
+    changelog = "https://github.com/nextflow-io/nextflow/releases";
+    license = licenses.asl20;
+    maintainers = [ maintainers.Etjean ];
+    mainProgram = "nextflow";
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/interpreters/php/7.4.nix b/pkgs/development/interpreters/php/7.4.nix
index 316b37f2e09..4bd00811b5f 100644
--- a/pkgs/development/interpreters/php/7.4.nix
+++ b/pkgs/development/interpreters/php/7.4.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "7.4.27";
-    sha256 = "184aaef313fbf28c9987f6aa07b655cd1b0eae9e7e17061775a3e7d880185563";
+    version = "7.4.28";
+    sha256 = "sha256-IIUIaoY0RLDjlUfeGklp/RxAoMGI61j6spOLZJsMS1g=";
   });
 
 in
diff --git a/pkgs/development/interpreters/php/8.0.nix b/pkgs/development/interpreters/php/8.0.nix
index b34f5974ff4..1f1fa1dfbc4 100644
--- a/pkgs/development/interpreters/php/8.0.nix
+++ b/pkgs/development/interpreters/php/8.0.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.0.14";
-    sha256 = "0jydl388mpysrrxa7h9sxf3fpp38mmygg9ryq8j7rb8p93giyf5v";
+    version = "8.0.16";
+    sha256 = "sha256-9J+Bge4pRjoNI6DGWWnpLVj+6KxWTfkXz/WOSNZeGEk=";
   });
 
 in
diff --git a/pkgs/development/interpreters/php/8.1.nix b/pkgs/development/interpreters/php/8.1.nix
index d339e780101..8d87a5e7a22 100644
--- a/pkgs/development/interpreters/php/8.1.nix
+++ b/pkgs/development/interpreters/php/8.1.nix
@@ -2,8 +2,8 @@
 
 let
   base = callPackage ./generic.nix (_args // {
-    version = "8.1.2";
-    sha256 = "1aakbfgjffha4v7fl6229wwzavw59s1qkb547sipyhl88gfwfgci";
+    version = "8.1.3";
+    sha256 = "sha256-NUxOLFBgRuyoEtH8JSaISi9UtePSDvDt6RmmnrIy0L4=";
   });
 
 in
diff --git a/pkgs/development/interpreters/python/cpython/default.nix b/pkgs/development/interpreters/python/cpython/default.nix
index 7a2a79b8cfe..1bcbd2bb4b5 100644
--- a/pkgs/development/interpreters/python/cpython/default.nix
+++ b/pkgs/development/interpreters/python/cpython/default.nix
@@ -4,7 +4,7 @@
 , libffi
 , gdbm
 , xz
-, mime-types ? null, mimetypesSupport ? true
+, mailcap, mimetypesSupport ? true
 , ncurses
 , openssl
 , readline
@@ -17,6 +17,7 @@
 , configd
 , autoreconfHook
 , autoconf-archive
+, pkg-config
 , python-setup-hook
 , nukeReferences
 # For the Python package set
@@ -62,8 +63,6 @@ assert x11Support -> tcl != null
 
 assert bluezSupport -> bluez != null;
 
-assert mimetypesSupport -> mime-types != null;
-
 assert lib.assertMsg (enableOptimizations -> (!stdenv.cc.isClang))
   "Optimizations with clang are not supported. configure: error: llvm-profdata is required for a --enable-optimizations build but could not be found.";
 
@@ -105,7 +104,7 @@ let
 
   nativeBuildInputs = optionals (!stdenv.isDarwin) [
     autoreconfHook
-  ] ++ optionals (!stdenv.isDarwin && passthru.pythonAtLeast "3.10") [
+    pkg-config
     autoconf-archive # needed for AX_CHECK_COMPILE_FLAG
   ] ++ [
     nukeReferences
@@ -277,7 +276,7 @@ in with passthru; stdenv.mkDerivation {
       --replace "'/bin/sh'" "'${bash}/bin/sh'"
   '' + optionalString mimetypesSupport ''
     substituteInPlace Lib/mimetypes.py \
-      --replace "@mime-types@" "${mime-types}"
+      --replace "@mime-types@" "${mailcap}"
   '' + optionalString (x11Support && (tix != null)) ''
     substituteInPlace "Lib/tkinter/tix.py" --replace "os.environ.get('TIX_LIBRARY')" "os.environ.get('TIX_LIBRARY') or '${tix}/lib'"
   '';
diff --git a/pkgs/development/interpreters/python/default.nix b/pkgs/development/interpreters/python/default.nix
index 5cdba9d3204..6bee51f6423 100644
--- a/pkgs/development/interpreters/python/default.nix
+++ b/pkgs/development/interpreters/python/default.nix
@@ -133,10 +133,19 @@ with pkgs;
       sourceVersion = {
         major = "3";
         minor = "9";
-        patch = "9";
+        patch = "10";
         suffix = "";
       };
-      sha256 = "sha256-BoKMBKVzwHOk5RxCkqJ8G+SuJmIcPtx8+TGEGM47bSc=";
+      sha256 = "sha256-Co+/tSh+vDoT6brz1U4I+gZ3j/7M9jEa74Ibs6ZYbMg=";
+    };
+    python310 = {
+      sourceVersion = {
+        major = "3";
+        minor = "10";
+        patch = "2";
+        suffix = "";
+      };
+      sha256 = "sha256-F946x9qfJRmqnWQ3jGA6c6DprVjf+ogS5FFgwIbeZMc=";
     };
   };
 
@@ -180,18 +189,11 @@ in {
     inherit passthruFun;
   } // sources.python39);
 
-  python310 = callPackage ./cpython {
+  python310 = callPackage ./cpython ({
     self = python310;
-    sourceVersion = {
-      major = "3";
-      minor = "10";
-      patch = "1";
-      suffix = "";
-    };
-    sha256 = "0xz1wrd6xi20sbli30vm6jclc4rlnnd03irybknf2p8sdrdjdwd7";
     inherit (darwin) configd;
     inherit passthruFun;
-  };
+  } // sources.python310);
 
   python311 = callPackage ./cpython {
     self = python311;
@@ -199,9 +201,9 @@ in {
       major = "3";
       minor = "11";
       patch = "0";
-      suffix = "a2";
+      suffix = "a4";
     };
-    sha256 = "sha256-aKjE1s4lSKe2F9aZ+9s0iTe9rODPltsaoIOEnfXa0T8=";
+    sha256 = "sha256-Q3/nN2w2Pa+vNM6A8ERrQfyaQsDiqMflGdPwoLfPs+0=";
     inherit (darwin) configd;
     inherit passthruFun;
   };
diff --git a/pkgs/development/interpreters/quickjs/default.nix b/pkgs/development/interpreters/quickjs/default.nix
index 4bc0ec528a0..cc5487183db 100644
--- a/pkgs/development/interpreters/quickjs/default.nix
+++ b/pkgs/development/interpreters/quickjs/default.nix
@@ -55,5 +55,6 @@ stdenv.mkDerivation rec {
     maintainers = with maintainers; [ stesie AndersonTorres ];
     platforms = platforms.linux;
     license = licenses.mit;
+    mainProgram = "qjs";
   };
 }
diff --git a/pkgs/development/interpreters/racket/default.nix b/pkgs/development/interpreters/racket/default.nix
index 73ce0c1bc81..bd96562d9e5 100644
--- a/pkgs/development/interpreters/racket/default.nix
+++ b/pkgs/development/interpreters/racket/default.nix
@@ -37,6 +37,7 @@ let
     libjpeg
     libpng
     mpfr
+    ncurses
     openssl
     pango
     poppler
@@ -48,7 +49,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "racket";
-  version = "8.3"; # always change at once with ./minimal.nix
+  version = "8.4"; # always change at once with ./minimal.nix
 
   src = (lib.makeOverridable ({ name, sha256 }:
     fetchurl {
@@ -57,7 +58,7 @@ stdenv.mkDerivation rec {
     }
   )) {
     name = "${pname}-${version}";
-    sha256 = "sha256-M90MIIRsfF/fhK8twlD3ZRBO0ztQkb4VKp9o8eJUFFc=";
+    sha256 = "sha256-uJ+vL+FtBNILkFbwi7qZ6yBA1Rcr7o886zmZ/tFuatM=";
   };
 
   FONTCONFIG_FILE = fontsConf;
@@ -69,14 +70,21 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cacert wrapGAppsHook ];
 
-  buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ncurses ];
+  buildInputs = [ fontconfig libffi libtool sqlite gsettings-desktop-schemas gtk3 ncurses ]
+    ++ lib.optionals stdenv.isDarwin [ libiconv CoreFoundation ];
 
   patches = [
     # Hardcode variant detection because we wrap the Racket binary making it
     # fail to detect its variant at runtime.
     # See: https://github.com/NixOS/nixpkgs/issues/114993#issuecomment-812951247
     ./force-cs-variant.patch
+
+    # The entry point binary $out/bin/racket is codesigned at least once. The
+    # following error is triggered as a result.
+    # (error 'add-ad-hoc-signature "file already has a signature")
+    # We always remove the existing signature then call add-ad-hoc-signature to
+    # circumvent this error.
+    ./force-remove-codesign-then-add.patch
   ];
 
   preConfigure = ''
@@ -89,10 +97,34 @@ stdenv.mkDerivation rec {
         --replace /bin/rm ${coreutils}/bin/rm \
         --replace /bin/true ${coreutils}/bin/true
     done
+
+    # The configure script forces using `libtool -o` as AR on Darwin. But, the
+    # `-o` option is only available from Apple libtool. GNU ar works here.
+    substituteInPlace src/ChezScheme/zlib/configure \
+        --replace 'ARFLAGS="-o"' 'AR=ar; ARFLAGS="rc"'
+
     mkdir src/build
     cd src/build
 
-    gappsWrapperArgs+=("--prefix" "LD_LIBRARY_PATH" ":" ${LD_LIBRARY_PATH})
+  '' + lib.optionalString stdenv.isLinux ''
+    gappsWrapperArgs+=("--prefix"   "LD_LIBRARY_PATH" ":" ${libPath})
+  '' + lib.optionalString stdenv.isDarwin ''
+    gappsWrapperArgs+=("--prefix" "DYLD_LIBRARY_PATH" ":" ${libPath})
+  ''
+  ;
+
+  preBuild = lib.optionalString stdenv.isDarwin ''
+    # Cannot set DYLD_LIBRARY_PATH as an attr of this drv, becasue dynamic
+    # linker environment variables like this are purged.
+    # See: https://apple.stackexchange.com/a/212954/167199
+
+    # Make builders feed it to dlopen(...). Do not expose all of $libPath to
+    # DYLD_LIBRARY_PATH as the order of looking up symbols like
+    # `__cg_jpeg_resync_to_restart` will be messed up. Our libJPEG.dyllib
+    # expects it from our libTIFF.dylib, but instead it could not be found from
+    # the system `libTIFF.dylib`. DYLD_FALLBACK_LIBRARY_PATH has its own problem
+    # , too.
+    export DYLD_FALLBACK_LIBRARY_PATH="${libPath}"
   '';
 
   shared = if stdenv.isDarwin then "dylib" else "shared";
@@ -118,6 +150,6 @@ stdenv.mkDerivation rec {
     homepage = "https://racket-lang.org/";
     license = with licenses; [ asl20 /* or */ mit ];
     maintainers = with maintainers; [ kkallio henrytill vrthra ];
-    platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" ];
+    platforms = [ "x86_64-darwin" "x86_64-linux" "aarch64-linux" "aarch64-darwin" ];
   };
 }
diff --git a/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch b/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch
new file mode 100644
index 00000000000..c34457ceb95
--- /dev/null
+++ b/pkgs/development/interpreters/racket/force-remove-codesign-then-add.patch
@@ -0,0 +1,11 @@
+--- old/src/mac/codesign.rkt        2022-01-08 18:25:53.000000000 -0500
++++ new/src/mac/codesign.rkt        2022-02-15 15:49:51.000000000 -0500
+@@ -17,6 +17,5 @@
+    #:args (file)
+    file))
+
+-(if remove?
+-    (remove-signature file)
+-    (add-ad-hoc-signature file))
++(remove-signature file)
++(add-ad-hoc-signature file)
diff --git a/pkgs/development/interpreters/racket/minimal.nix b/pkgs/development/interpreters/racket/minimal.nix
index c7defc8bfa6..e56945ed651 100644
--- a/pkgs/development/interpreters/racket/minimal.nix
+++ b/pkgs/development/interpreters/racket/minimal.nix
@@ -5,7 +5,7 @@ racket.overrideAttrs (oldAttrs: rec {
   name = "racket-minimal-${oldAttrs.version}";
   src = oldAttrs.src.override {
     inherit name;
-    sha256 = "sha256-3GdnP1D0XMW34u4mAronxKXe08A3tawM8cpSC7nDfWI=";
+    sha256 = "sha256-FZlUWvjtioe4S8gPetj7vdneVX6jEFguJo4j2wJsKAw=";
   };
 
   meta = oldAttrs.meta // {
@@ -14,7 +14,7 @@ racket.overrideAttrs (oldAttrs: rec {
       as well as libraries that live in collections. In particular, raco
       and the pkg library are still bundled.
     '';
-    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "aarch64-linux" "x86_64-darwin" "aarch64-darwin" ];
     broken = false; # Minimal build does not require working FFI
   };
 })
diff --git a/pkgs/development/interpreters/rakudo/default.nix b/pkgs/development/interpreters/rakudo/default.nix
index 254228ea55b..9de6c1b1239 100644
--- a/pkgs/development/interpreters/rakudo/default.nix
+++ b/pkgs/development/interpreters/rakudo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rakudo";
-  version = "2021.12";
+  version = "2022.02";
 
   src = fetchurl {
     url = "https://rakudo.org/dl/rakudo/rakudo-${version}.tar.gz";
-    sha256 = "sha256-f1PSxxONE6sBaS1b19vCjz8p7Ya9ltUoCFb1WhqwVAY=";
+    sha256 = "sha256-am6dvMbZoWEKNMbsZ+LT9pTXsz6eCg8iRUMIn6f3EzI=";
   };
 
   nativeBuildInputs = [ removeReferencesTo ];
diff --git a/pkgs/development/interpreters/rakudo/moarvm.nix b/pkgs/development/interpreters/rakudo/moarvm.nix
index cbc283ce25f..41462e67a4c 100644
--- a/pkgs/development/interpreters/rakudo/moarvm.nix
+++ b/pkgs/development/interpreters/rakudo/moarvm.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "moarvm";
-  version = "2021.12";
+  version = "2022.02";
 
   src = fetchurl {
     url = "https://moarvm.org/releases/MoarVM-${version}.tar.gz";
-    sha256 = "sha256-1Ju+sQ2WFsLYen+t0ca7elzhHBnHxEu7i+928ltQXE8=";
+    sha256 = "sha256-T5PNzmuKVloyKCuzjMlxzv63H10CLIUMM47oFFV07pY=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/interpreters/rakudo/nqp.nix b/pkgs/development/interpreters/rakudo/nqp.nix
index 8a64430d24a..57cdef94c02 100644
--- a/pkgs/development/interpreters/rakudo/nqp.nix
+++ b/pkgs/development/interpreters/rakudo/nqp.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nqp";
-  version = "2021.12";
+  version = "2022.02";
 
   src = fetchurl {
     url = "https://github.com/raku/nqp/releases/download/${version}/nqp-${version}.tar.gz";
-    sha256 = "sha256-Dh1TT9HuYaTIByMJuvvARmDprnLYhhjaoOjxUCLw2RM=";
+    sha256 = "sha256-JdPJl0XNhPQEmpvZzya7XcgXklq6r+ccm9tohBzbGLE=";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/development/interpreters/rakudo/zef.nix b/pkgs/development/interpreters/rakudo/zef.nix
index def2d7cb0c8..7a809875111 100644
--- a/pkgs/development/interpreters/rakudo/zef.nix
+++ b/pkgs/development/interpreters/rakudo/zef.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zef";
-  version = "0.13.6";
+  version = "0.13.7";
 
   src = fetchFromGitHub {
     owner = "ugexe";
     repo = "zef";
     rev = "v${version}";
-    sha256 = "sha256-Bios3h2bcR6PntFt6JWF7l5u6gjKaljS8HsKfTf+0X8=";
+    sha256 = "sha256-FEQwe9MkP+tFZgXiR3hrNS+Jyavj85oYql3uOLP3nwc=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/interpreters/ruby/default.nix b/pkgs/development/interpreters/ruby/default.nix
index 8a20fa92857..c676a7b05e5 100644
--- a/pkgs/development/interpreters/ruby/default.nix
+++ b/pkgs/development/interpreters/ruby/default.nix
@@ -166,6 +166,8 @@ let
         # Bundler tries to create this directory
         postInstall = ''
           rbConfig=$(find $out/lib/ruby -name rbconfig.rb)
+          # Remove references to the build environment from the closure
+          sed -i '/^  CONFIG\["\(BASERUBY\|SHELL\|GREP\|EGREP\|MKDIR_P\|MAKEDIRS\|INSTALL\)"\]/d' $rbConfig
           # Remove unnecessary groff reference from runtime closure, since it's big
           sed -i '/NROFF/d' $rbConfig
           ${
@@ -203,7 +205,6 @@ let
           # Add rbconfig shim so ri can find docs
           mkdir -p $devdoc/lib/ruby/site_ruby
           cp ${./rbconfig.rb} $devdoc/lib/ruby/site_ruby/rbconfig.rb
-          sed -i '/^  CONFIG\["\(BASERUBY\|SHELL\|GREP\|EGREP\|MKDIR_P\|MAKEDIRS\|INSTALL\)"\]/d' $rbConfig
         '' + opString useBaseRuby ''
           # Prevent the baseruby from being included in the closure.
           ${removeReferencesTo}/bin/remove-references-to \
diff --git a/pkgs/development/interpreters/spidermonkey/91.nix b/pkgs/development/interpreters/spidermonkey/91.nix
index c3e198361aa..6be61a1210b 100644
--- a/pkgs/development/interpreters/spidermonkey/91.nix
+++ b/pkgs/development/interpreters/spidermonkey/91.nix
@@ -20,11 +20,11 @@
 
 stdenv.mkDerivation rec {
   pname = "spidermonkey";
-  version = "91.5.1";
+  version = "91.6.0";
 
   src = fetchurl {
     url = "mirror://mozilla/firefox/releases/${version}esr/source/firefox-${version}esr.source.tar.xz";
-    sha256 = "sha256-NgSWlFBf9e3RoIZIDlo9Kf7dPwsNSoononGmbo/GzR8=";
+    sha512 = "3dd1929f93cdd087a93fc3597f32d9005c986b59832954e01a8c2472b179c92ad611eaa73d3fc000a08b838a0b70da73ff5ba82d6009160655ba6894cf04520e";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/CGAL/default.nix b/pkgs/development/libraries/CGAL/default.nix
index 630ff8a6964..2f2a0905d54 100644
--- a/pkgs/development/libraries/CGAL/default.nix
+++ b/pkgs/development/libraries/CGAL/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cgal";
-  version = "5.3.1";
+  version = "5.4";
 
   src = fetchFromGitHub {
     owner = "CGAL";
     repo = "releases";
     rev = "CGAL-${version}";
-    sha256 = "sha256-atILY/d2b99v0Kk226KwJ/qEcJnWBhtge52wkz6Bgcg=";
+    sha256 = "sha256-flrVWsvGAdGVCZ1Ygy9z30w6aU8WAzpMLv+JbP2CKjE=";
   };
 
   # note: optional component libCGAL_ImageIO would need zlib and opengl;
diff --git a/pkgs/development/libraries/SDL2_ttf/2.0.15.nix b/pkgs/development/libraries/SDL2_ttf/2.0.15.nix
new file mode 100644
index 00000000000..a5057c0fbec
--- /dev/null
+++ b/pkgs/development/libraries/SDL2_ttf/2.0.15.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, pkg-config, darwin, fetchurl, SDL2, freetype, libGL }:
+
+stdenv.mkDerivation rec {
+  pname = "SDL2_ttf";
+  version = "2.0.15";
+
+  src = fetchurl {
+    url = "https://www.libsdl.org/projects/SDL_ttf/release/${pname}-${version}.tar.gz";
+    sha256 = "0cyd48dipc0m399qy8s03lci8b0bpiy8xlkvrm2ia7wcv0dfpv59";
+  };
+
+  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ SDL2 freetype libGL ]
+    ++ lib.optional stdenv.isDarwin darwin.libobjc;
+
+  meta = with lib; {
+    description = "SDL TrueType library";
+    platforms = platforms.unix;
+    license = licenses.zlib;
+    homepage = "https://www.libsdl.org/projects/SDL_ttf/";
+  };
+}
diff --git a/pkgs/development/libraries/abseil-cpp/default.nix b/pkgs/development/libraries/abseil-cpp/202103.nix
index 2ade512de31..d2a1f389324 100644
--- a/pkgs/development/libraries/abseil-cpp/default.nix
+++ b/pkgs/development/libraries/abseil-cpp/202103.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     owner = "abseil";
     repo = "abseil-cpp";
     rev = version;
-    sha256 = "0g9rbhk3mwjdfxk7cscd04vm8fphd5flz9yykpgvyy1nwa34zk3x";
+    sha256 = "sha256-fcxPhuI2eL/fnd6nT11p8DpUNwGNaXZmd03yOiZcOT0=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/abseil-cpp/202111.nix b/pkgs/development/libraries/abseil-cpp/202111.nix
new file mode 100644
index 00000000000..d40ca0bd4ab
--- /dev/null
+++ b/pkgs/development/libraries/abseil-cpp/202111.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, static ? stdenv.hostPlatform.isStatic
+, cxxStandard ? null
+}:
+
+stdenv.mkDerivation rec {
+  pname = "abseil-cpp";
+  version = "20211102.0";
+
+  src = fetchFromGitHub {
+    owner = "abseil";
+    repo = "abseil-cpp";
+    rev = version;
+    sha256 = "sha256-sSXT6D4JSrk3dA7kVaxfKkzOMBpqXQb0WbMYWG+nGwk=";
+  };
+
+  cmakeFlags = [
+    "-DBUILD_SHARED_LIBS=${if static then "OFF" else "ON"}"
+  ] ++ lib.optionals (cxxStandard != null) [
+    "-DCMAKE_CXX_STANDARD=${cxxStandard}"
+  ];
+
+  nativeBuildInputs = [ cmake ];
+
+  meta = with lib; {
+    description = "An open-source collection of C++ code designed to augment the C++ standard library";
+    homepage = "https://abseil.io/";
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = [ maintainers.andersk ];
+  };
+}
diff --git a/pkgs/development/libraries/ace/default.nix b/pkgs/development/libraries/ace/default.nix
index df390ec1668..9616c13cc40 100644
--- a/pkgs/development/libraries/ace/default.nix
+++ b/pkgs/development/libraries/ace/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ace";
-  version = "7.0.5";
+  version = "7.0.6";
 
   src = fetchurl {
     url = "https://download.dre.vanderbilt.edu/previous_versions/ACE-${version}.tar.bz2";
-    sha256 = "sha256-Q4v0HhhKUmLit5+V7bb9g4T7fqaeJJxU512vBZqNl1c=";
+    sha256 = "sha256-SgzX2khR92n9388z9mPrpK+tgk7+/59Z8TTEZA7oAhY=";
   };
 
   enableParallelBuilding = true;
diff --git a/pkgs/development/libraries/aften/default.nix b/pkgs/development/libraries/aften/default.nix
index 488c5b6e729..11ed0f1b28b 100644
--- a/pkgs/development/libraries/aften/default.nix
+++ b/pkgs/development/libraries/aften/default.nix
@@ -23,6 +23,6 @@ stdenv.mkDerivation rec {
     homepage = "http://aften.sourceforge.net/";
     license = licenses.lgpl21Only;
     platforms = platforms.unix;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/libraries/amdvlk/default.nix b/pkgs/development/libraries/amdvlk/default.nix
index 16fb32cf011..1001dc62673 100644
--- a/pkgs/development/libraries/amdvlk/default.nix
+++ b/pkgs/development/libraries/amdvlk/default.nix
@@ -22,13 +22,13 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "amdvlk";
-  version = "2022.Q1.1";
+  version = "2022.Q1.3";
 
   src = fetchRepoProject {
     name = "${pname}-src";
     manifest = "https://github.com/GPUOpen-Drivers/AMDVLK.git";
     rev = "refs/tags/v-${version}";
-    sha256 = "jdAFIC2JYPqCADx/73KM6E3rLFWF4SlEdY9lCK1NOhU=";
+    sha256 = "UBvHWgC/s00XPn87DAmQ65NszFMoZSXwbrVG064HFng=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/apache-activemq/default.nix b/pkgs/development/libraries/apache-activemq/default.nix
index b188754607d..9776e85b435 100644
--- a/pkgs/development/libraries/apache-activemq/default.nix
+++ b/pkgs/development/libraries/apache-activemq/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-activemq";
-  version = "5.16.3";
+  version = "5.16.4";
 
   src = fetchurl {
-    sha256 = "sha256-GEbaKYXsZCU+zEGlTxR3cx60dQ/oQKndn9/uiOXJQlI=";
+    sha256 = "sha256-+OBNioEBQbOGpcnDlgtfAej+c0YfTJmxkeEV1JOEBwE=";
     url = "mirror://apache/activemq/${version}/${pname}-${version}-bin.tar.gz";
   };
 
diff --git a/pkgs/development/libraries/apr-util/default.nix b/pkgs/development/libraries/apr-util/default.nix
index 1cb253774d4..57bf47f3abf 100644
--- a/pkgs/development/libraries/apr-util/default.nix
+++ b/pkgs/development/libraries/apr-util/default.nix
@@ -26,6 +26,7 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" ];
   outputBin = "dev";
 
+  nativeBuildInputs = [ makeWrapper ];
   buildInputs = optional stdenv.isFreeBSD autoreconfHook;
 
   configureFlags = [ "--with-apr=${apr.dev}" "--with-expat=${expat.dev}" ]
@@ -38,7 +39,15 @@ stdenv.mkDerivation rec {
         "--without-freetds" "--without-berkeley-db" "--without-crypto" ]
     ;
 
-  propagatedBuildInputs = [ makeWrapper apr expat libiconv ]
+  # For some reason, db version 6.9 is selected when cross-compiling.
+  # It's unclear as to why, it requires someone with more autotools / configure knowledge to go deeper into that.
+  # Always replacing the link flag with a generic link flag seems to help though, so let's do that for now.
+  postConfigure = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform) ''
+    substituteInPlace Makefile \
+      --replace "-ldb-6.9" "-ldb"
+  '';
+
+  propagatedBuildInputs = [ apr expat libiconv ]
     ++ optional sslSupport openssl
     ++ optional bdbSupport db
     ++ optional ldapSupport openldap
diff --git a/pkgs/development/libraries/arb/default.nix b/pkgs/development/libraries/arb/default.nix
index e47dcd8e0ba..dc160c37ad2 100644
--- a/pkgs/development/libraries/arb/default.nix
+++ b/pkgs/development/libraries/arb/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "arb";
-  version = "2.21.1";
+  version = "2.22.1";
 
   src = fetchFromGitHub {
     owner = "fredrik-johansson";
     repo = pname;
     rev = version;
-    sha256 = "sha256-OBY2gKVnvrZLVrv+d6rXQLo026mrGB9eyNV4LESgrNI=";
+    sha256 = "sha256-Xd3dy7zr4i3pULLFOYtedpS5Yj9Ljwyu6r4kfhRynmE=";
   };
 
   buildInputs = [ mpir gmp mpfr flint ];
@@ -27,6 +27,8 @@ stdenv.mkDerivation rec {
     "--with-flint=${flint}"
   ];
 
+  enableParallelBuilding = true;
+
   doCheck = true;
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/armadillo/default.nix b/pkgs/development/libraries/armadillo/default.nix
index 850d48ca345..14400f8ebf9 100644
--- a/pkgs/development/libraries/armadillo/default.nix
+++ b/pkgs/development/libraries/armadillo/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "armadillo";
-  version = "10.7.5";
+  version = "10.8.2";
 
   src = fetchurl {
     url = "mirror://sourceforge/arma/armadillo-${version}.tar.xz";
-    sha256 = "sha256-XQ2f1rNO/Lpqb87/VMDS0T/L6RXXr4owxecs8xfSCU8=";
+    sha256 = "sha256-if3YmL9r/3X278OjAYF+Tt51K5qAkn+wfuNYsT41OSI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/arrow-cpp/default.nix b/pkgs/development/libraries/arrow-cpp/default.nix
index 031b4fc46cc..274a35c6ccf 100644
--- a/pkgs/development/libraries/arrow-cpp/default.nix
+++ b/pkgs/development/libraries/arrow-cpp/default.nix
@@ -22,6 +22,7 @@
 , libnsl
 , lz4
 , minio
+, ninja
 , nlohmann_json
 , openssl
 , perl
@@ -30,6 +31,7 @@
 , rapidjson
 , re2
 , snappy
+, sqlite
 , thrift
 , tzdata
 , utf8proc
@@ -54,26 +56,26 @@ let
   arrow-testing = fetchFromGitHub {
     owner = "apache";
     repo = "arrow-testing";
-    rev = "1d8525e109a12a8c67c489eba48715a199609153";
-    hash = "sha256-tesDW/1yRyhZtpLbPvCVEsocs6KtstYofxB5GiSMEFM=";
+    rev = "634739c664433cec366b4b9a81d1e1044a8c5eda";
+    hash = "sha256-r1WVgJJsI7v485L6Qb+5i7kFO4Tvxyk1T0JBb4og6pg=";
   };
 
   parquet-testing = fetchFromGitHub {
     owner = "apache";
     repo = "parquet-testing";
-    rev = "d4d485956a643c693b5549e1a62d52ca61c170f1";
-    hash = "sha256-GmOAS8gGhzDI0WzORMkWHRRUl/XBwmNen2d3VefZxxc=";
+    rev = "acd375eb86a81cd856476fca0f52ba6036a067ff";
+    hash = "sha256-z/kmi+4dBO/dsVkJA4NgUoxl0pXi8RWIGvI8MGu/gcc=";
   };
 
 in
 stdenv.mkDerivation rec {
   pname = "arrow-cpp";
-  version = "6.0.1";
+  version = "7.0.0";
 
   src = fetchurl {
     url =
       "mirror://apache/arrow/arrow-${version}/apache-arrow-${version}.tar.gz";
-    hash = "sha256-N4az0t+VTQeLPmj5jS5a7Lqj+irM8HXXo6E8GHucUpQ=";
+    hash = "sha256-6PSbFJoV7O9OQPz6sbh8ETxrHuGGAFwWnlzfldMamd4=";
   };
   sourceRoot = "apache-arrow-${version}/cpp";
 
@@ -85,8 +87,8 @@ stdenv.mkDerivation rec {
     # ./cpp/thirdparty/versions.txt
     owner = "microsoft";
     repo = "mimalloc";
-    rev = "v1.7.2";
-    hash = "sha256-yHupYFgC8mJuLUSpuEAfwF7l6Ue4EiuO1Q4qN4T6wWc=";
+    rev = "v1.7.3";
+    hash = "sha256-Ca877VitpWyKmZNHavqgewk/P+tyd2xHDNVqveKh87M=";
   };
 
   ARROW_XSIMD_URL = fetchFromGitHub {
@@ -103,6 +105,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [
     cmake
+    ninja
     autoconf # for vendored jemalloc
     flatbuffers
   ] ++ lib.optional stdenv.isDarwin fixDarwinDylibNames;
@@ -156,6 +159,11 @@ stdenv.mkDerivation rec {
     "-DARROW_COMPUTE=ON"
     "-DARROW_CSV=ON"
     "-DARROW_DATASET=ON"
+    "-DARROW_ENGINE=ON"
+    "-DARROW_FILESYSTEM=ON"
+    "-DARROW_FLIGHT_SQL=${if enableFlight then "ON" else "OFF"}"
+    "-DARROW_HDFS=ON"
+    "-DARROW_IPC=ON"
     "-DARROW_JEMALLOC=${if enableJemalloc then "ON" else "OFF"}"
     "-DARROW_JSON=ON"
     "-DARROW_PLASMA=ON"
@@ -201,13 +209,10 @@ stdenv.mkDerivation rec {
         "TestMinioServer.Connect"
         "TestS3FS.*"
         "TestS3FSGeneric.*"
-      ] ++ lib.optionals enableGcs [
-        "GcsFileSystem.FileSystemCompare"
-        "GcsIntegrationTest.*"
       ];
     in
     lib.optionalString doInstallCheck "-${builtins.concatStringsSep ":" filteredTests}";
-  installCheckInputs = [ perl which ] ++ lib.optional enableS3 minio;
+  installCheckInputs = [ perl which sqlite ] ++ lib.optional enableS3 minio;
   installCheckPhase =
     let
       excludedTests = lib.optionals stdenv.isDarwin [
@@ -215,7 +220,7 @@ stdenv.mkDerivation rec {
         # path on Darwin. See https://github.com/NixOS/nix/pull/1085
         "plasma-external-store-tests"
         "plasma-client-tests"
-      ];
+      ] ++ [ "arrow-gcsfs-test" ];
     in
     ''
       runHook preInstallCheck
diff --git a/pkgs/development/libraries/audio/lilv/default.nix b/pkgs/development/libraries/audio/lilv/default.nix
index a630d0420b4..a29fda0ec2b 100644
--- a/pkgs/development/libraries/audio/lilv/default.nix
+++ b/pkgs/development/libraries/audio/lilv/default.nix
@@ -1,9 +1,15 @@
-{ lib, stdenv, fetchurl, lv2, pkg-config, python3, serd, sord, sratom, wafHook }:
+{ lib, stdenv, fetchurl, lv2, pkg-config, python3, serd, sord, sratom, wafHook
+
+# test derivations
+, pipewire
+}:
 
 stdenv.mkDerivation rec {
   pname = "lilv";
   version = "0.24.12";
 
+  outputs = [ "out" "dev" ];
+
   src = fetchurl {
     url = "https://download.drobilla.net/${pname}-${version}.tar.bz2";
     sha256 = "sha256-JqN3kIkMnB+DggO0f1sjIDNP6SwCpNJuu+Jmnb12kGE=";
@@ -15,6 +21,10 @@ stdenv.mkDerivation rec {
   buildInputs = [ serd sord sratom ];
   propagatedBuildInputs = [ lv2 ];
 
+  passthru.tests = {
+    inherit pipewire;
+  };
+
   meta = with lib; {
     homepage = "http://drobilla.net/software/lilv";
     description = "A C library to make the use of LV2 plugins";
diff --git a/pkgs/development/libraries/avro-c++/default.nix b/pkgs/development/libraries/avro-c++/default.nix
index 7ff60b96595..743740fddb0 100644
--- a/pkgs/development/libraries/avro-c++/default.nix
+++ b/pkgs/development/libraries/avro-c++/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avro-c++";
-  version = "1.8.2";
+  version = "1.10.2";
 
   src = fetchurl {
     url = "mirror://apache/avro/avro-${version}/cpp/avro-cpp-${version}.tar.gz";
-    sha256 = "1ars58bfw83s8f1iqbhnqp4n9wc9cxsph0gs2a8k7r9fi09vja2k";
+    sha256 = "1qv2wxh5q2iq48m5g3xci9p05znzcl0v3314bhcsyr5bkpdjvzs1";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/libraries/avro-c/default.nix b/pkgs/development/libraries/avro-c/default.nix
index ee43daf2d04..76d5839402c 100644
--- a/pkgs/development/libraries/avro-c/default.nix
+++ b/pkgs/development/libraries/avro-c/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "avro-c";
-  version = "1.10.2";
+  version = "1.11.0";
 
   src = fetchurl {
     url = "mirror://apache/avro/avro-${version}/c/avro-c-${version}.tar.gz";
-    sha256 = "sha256-rj+zK+xKBon1Rn4JIBGS7cbo80ITTvBq1FLKhw9Wt+I=";
+    sha256 = "sha256-BlJZClStjkqliiuf8fTOcaZKQbCgXEUp0cUYxh52BkM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/babl/default.nix b/pkgs/development/libraries/babl/default.nix
index c0765922de5..7a3c8bc727b 100644
--- a/pkgs/development/libraries/babl/default.nix
+++ b/pkgs/development/libraries/babl/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
+, fetchpatch
 , meson
 , ninja
 , pkg-config
@@ -10,13 +12,21 @@
 
 stdenv.mkDerivation rec {
   pname = "babl";
-  version = "0.1.88";
+  version = "0.1.90";
 
   outputs = [ "out" "dev" ];
 
+  patches = [
+    # Fix darwin build
+    (fetchpatch {
+      url = "https://gitlab.gnome.org/GNOME/babl/-/commit/33b18e74c9589fd4d5507ab88bd1fb19c15965dd.patch";
+      sha256 = "bEjjOjHGTF55o1z31G9GNDqERxn/7vUuWZQYHosSEBQ=";
+    })
+  ];
+
   src = fetchurl {
     url = "https://download.gimp.org/pub/babl/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Tw1/SqoLsucl80mt97NRqVfZ+ybVVdmJWnr4FrQWcDk=";
+    sha256 = "sha256-bi67Y283WBWI49AkmbPS9p+axz40omL0KRHX9ZBqkkM=";
   };
 
   nativeBuildInputs = [
@@ -34,6 +44,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Image pixel format conversion library";
     homepage = "https://gegl.org/babl/";
+    changelog = "https://gitlab.gnome.org/GNOME/babl/-/blob/BABL_${lib.replaceStrings [ "." ] [ "_" ] version}/NEWS";
     license = licenses.lgpl3Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.unix;
diff --git a/pkgs/development/libraries/bctoolbox/default.nix b/pkgs/development/libraries/bctoolbox/default.nix
index 2d8ddb27ad4..c4abb634ca8 100644
--- a/pkgs/development/libraries/bctoolbox/default.nix
+++ b/pkgs/development/libraries/bctoolbox/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bctoolbox";
-  version = "5.0.58";
+  version = "5.1.0";
 
   nativeBuildInputs = [ cmake bcunit ];
   buildInputs = [ mbedtls ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-N7XxGTZkMSL+zyKHteVeRoZ63ZdT5Pq60xi9v6QURxA=";
+    sha256 = "sha256-h+JeyZSXCuV6MtOrWxvpg7v3BXks5T70Cy2gP+If0A8=";
   };
 
   # Do not build static libraries
diff --git a/pkgs/development/libraries/belcard/default.nix b/pkgs/development/libraries/belcard/default.nix
index dbc85992ba4..12253427424 100644
--- a/pkgs/development/libraries/belcard/default.nix
+++ b/pkgs/development/libraries/belcard/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "belcard";
-  version = "4.5.3";
+  version = "5.0.55";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+7vqTbg1QergWPx2LQ2wkVehOma6Ix02IfwnJTJ/E5I=";
+    sha256 = "sha256-5KHmyNplrVADVlD2IBPwEe3vbEjAMNlz+p5aIBHb6kI=";
   };
 
   buildInputs = [ bctoolbox belr ];
diff --git a/pkgs/development/libraries/belr/default.nix b/pkgs/development/libraries/belr/default.nix
index 90e27a6a9dc..c841b6d3e48 100644
--- a/pkgs/development/libraries/belr/default.nix
+++ b/pkgs/development/libraries/belr/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "belr";
-  version = "4.5.3";
+  version = "5.0.55";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-TTfBOhnyyAvQe+HXfr2GkuDTx07cHLqcsssW0dA7GlQ=";
+    sha256 = "sha256-P3oDlaT3rN1lRhpKjbGBk7a0hJAQGQcWydFM45GMUU4=";
   };
 
   buildInputs = [ bctoolbox ];
diff --git a/pkgs/development/libraries/boca/default.nix b/pkgs/development/libraries/boca/default.nix
index ffbc99f79f7..2c86bf981b7 100644
--- a/pkgs/development/libraries/boca/default.nix
+++ b/pkgs/development/libraries/boca/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "BoCA";
-  version = "1.0.5";
+  version = "1.0.6a";
 
   src = fetchFromGitHub {
     owner = "enzo1982";
     repo = "boca";
     rev = "v${version}";
-    sha256 = "sha256-ooLPpwTxG7QBAGhEGhta4T06ZDWlPysocHbb/Sq7Wyo=";
+    sha256 = "sha256-LndlwdM5NlTv73Z1lMkHuIZkVfn48P/LssBnE4X9Sgc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/boehm-gc/default.nix b/pkgs/development/libraries/boehm-gc/default.nix
index b20bdac9087..d5057a61484 100644
--- a/pkgs/development/libraries/boehm-gc/default.nix
+++ b/pkgs/development/libraries/boehm-gc/default.nix
@@ -19,10 +19,6 @@ stdenv.mkDerivation rec {
   outputs = [ "out" "dev" "doc" ];
   separateDebugInfo = stdenv.isLinux && stdenv.hostPlatform.libc != "musl";
 
-  preConfigure = lib.optionalString (stdenv.hostPlatform.libc == "musl") ''
-    export NIX_CFLAGS_COMPILE+=" -D_GNU_SOURCE -DUSE_MMAP -DHAVE_DL_ITERATE_PHDR"
-  '';
-
   # boehm-gc whitelists GCC threading models
   patches = lib.optional stdenv.hostPlatform.isMinGW ./mcfgthread.patch;
 
diff --git a/pkgs/development/libraries/boost/generic.nix b/pkgs/development/libraries/boost/generic.nix
index 6358df1a555..49069303570 100644
--- a/pkgs/development/libraries/boost/generic.nix
+++ b/pkgs/development/libraries/boost/generic.nix
@@ -31,8 +31,8 @@ assert enableShared || enableStatic;
 assert enablePython -> stdenv.hostPlatform == stdenv.buildPlatform;
 assert enableNumpy -> enablePython;
 
-# Boost <1.69 can't be build with clang >8, because pth was removed
-assert with lib; ((toolset == "clang" && !(versionOlder stdenv.cc.version "8.0.0")) -> !(versionOlder version "1.69"));
+# Boost <1.69 can't be built on linux with clang >8, because pth was removed
+assert with lib; ((stdenv.isLinux && toolset == "clang" && !(versionOlder stdenv.cc.version "8.0.0")) -> !(versionOlder version "1.69"));
 
 with lib;
 let
diff --git a/pkgs/development/libraries/bzrtp/default.nix b/pkgs/development/libraries/bzrtp/default.nix
index 1144f4afaf5..29b665fec62 100644
--- a/pkgs/development/libraries/bzrtp/default.nix
+++ b/pkgs/development/libraries/bzrtp/default.nix
@@ -7,7 +7,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bzrtp";
-  version = "5.0.55";
+  version = "5.1.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.linphone.org";
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
     group = "BC";
     repo = pname;
     rev = version;
-    sha256 = "sha256-+rUDKdMUeVnGsvG7NgQkN6e+DY2bThIyuPTvqxG6uDk=";
+    sha256 = "sha256-GsHVuNXzLkbKUaHtnyXAr7bR9Emc55zcmKt3RGjCMtA=";
   };
 
   buildInputs = [ bctoolbox sqlite ];
diff --git a/pkgs/development/libraries/catch2/default.nix b/pkgs/development/libraries/catch2/default.nix
index 5adcc2d1dd9..71a99ad6b69 100644
--- a/pkgs/development/libraries/catch2/default.nix
+++ b/pkgs/development/libraries/catch2/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "catch2";
-  version = "2.13.7";
+  version = "2.13.8";
 
   src = fetchFromGitHub {
     owner = "catchorg";
     repo = "Catch2";
     rev = "v${version}";
-    sha256="sha256-NhZ8Hh7dka7KggEKKZyEbIZahuuTYeCT7cYYSUvkPzI=";
+    sha256="sha256-jOA2TxDgaJUJ2Jn7dVGZUbjmphTDuVZahzSaxfJpRqE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/chromaprint/default.nix b/pkgs/development/libraries/chromaprint/default.nix
index c8b8875154a..5b8cc369ee3 100644
--- a/pkgs/development/libraries/chromaprint/default.nix
+++ b/pkgs/development/libraries/chromaprint/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, cmake, boost, ffmpeg, darwin, zlib }:
+{ lib, stdenv, fetchurl, cmake, boost, ffmpeg_4, darwin, zlib }:
 
 stdenv.mkDerivation rec {
   pname = "chromaprint";
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = [ boost ffmpeg ] ++ lib.optionals stdenv.isDarwin
+  buildInputs = [ boost ffmpeg_4 ] ++ lib.optionals stdenv.isDarwin
     (with darwin.apple_sdk.frameworks; [Accelerate CoreGraphics CoreVideo zlib]);
 
   cmakeFlags = [ "-DBUILD_EXAMPLES=ON" "-DBUILD_TOOLS=ON" ];
diff --git a/pkgs/development/libraries/cpp-utilities/default.nix b/pkgs/development/libraries/cpp-utilities/default.nix
index 3eae15c58d0..a3de08a838b 100644
--- a/pkgs/development/libraries/cpp-utilities/default.nix
+++ b/pkgs/development/libraries/cpp-utilities/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "cpp-utilities";
-  version = "5.12.0";
+  version = "5.13.0";
 
   src = fetchFromGitHub {
     owner = "Martchus";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rpbD3x7zIJCDZuu4K0wDkaBKSBh36amtza/wE3rb0HM=";
+    sha256 = "sha256-R22nWkI778LpCK3a5C6tvuIsEXU49wPya1fFQxdpocg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/crypto++/default.nix b/pkgs/development/libraries/crypto++/default.nix
index c57525c01d9..a31a4472e1c 100644
--- a/pkgs/development/libraries/crypto++/default.nix
+++ b/pkgs/development/libraries/crypto++/default.nix
@@ -1,6 +1,12 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib
+, stdenv
+, fetchFromGitHub
 , enableStatic ? stdenv.hostPlatform.isStatic
 , enableShared ? !enableStatic
+# Multi-threading with OpenMP is disabled by default
+# more info on https://www.cryptopp.com/wiki/OpenMP
+, withOpenMP ? false
+, llvmPackages
 }:
 
 stdenv.mkDerivation rec {
@@ -19,17 +25,22 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     substituteInPlace GNUmakefile \
-      --replace "AR = libtool" "AR = ar" \
+      --replace "AR = /usr/bin/libtool" "AR = ar" \
       --replace "ARFLAGS = -static -o" "ARFLAGS = -cru"
   '';
 
+  buildInputs = lib.optionals (stdenv.cc.isClang && withOpenMP) [ llvmPackages.openmp ];
+
   makeFlags = [ "PREFIX=${placeholder "out"}" ];
+
   buildFlags =
        lib.optional enableStatic "static"
     ++ lib.optional enableShared "shared"
     ++ [ "libcryptopp.pc" ];
+
   enableParallelBuilding = true;
   hardeningDisable = [ "fortify" ];
+  CXXFLAGS = lib.optionals (withOpenMP) [ "-fopenmp" ];
 
   doCheck = true;
 
@@ -38,17 +49,21 @@ stdenv.mkDerivation rec {
 
   installTargets = [ "install-lib" ];
   installFlags = [ "LDCONF=true" ];
+  # TODO: remove postInstall hook with v8.7 -> https://github.com/weidai11/cryptopp/commit/230c558a
   postInstall = lib.optionalString (!stdenv.hostPlatform.isDarwin) ''
     ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${lib.versions.majorMinor version}
     ln -sr $out/lib/libcryptopp.so.${version} $out/lib/libcryptopp.so.${lib.versions.major version}
   '';
 
-  meta = {
-    description = "Crypto++, a free C++ class library of cryptographic schemes";
+  meta = with lib; {
+    description = "A free C++ class library of cryptographic schemes";
     homepage = "https://cryptopp.com/";
-    changelog = "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt";
-    license = with lib.licenses; [ boost publicDomain ];
-    platforms = lib.platforms.all;
-    maintainers = with lib.maintainers; [ c0bw3b ];
+    changelog = [
+      "https://raw.githubusercontent.com/weidai11/cryptopp/CRYPTOPP_${underscoredVersion}/History.txt"
+      "https://github.com/weidai11/cryptopp/releases/tag/CRYPTOPP_${underscoredVersion}"
+    ];
+    license = with licenses; [ boost publicDomain ];
+    platforms = platforms.all;
+    maintainers = with maintainers; [ c0bw3b ];
   };
 }
diff --git a/pkgs/development/libraries/double-conversion/default.nix b/pkgs/development/libraries/double-conversion/default.nix
index 75f4dd3ce59..9efdcd0c4f0 100644
--- a/pkgs/development/libraries/double-conversion/default.nix
+++ b/pkgs/development/libraries/double-conversion/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "double-conversion";
-  version = "3.1.6";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "double-conversion";
     rev = "v${version}";
-    sha256 = "sha256-Tg8hndib4EYSYDuEYVssv15w4pQyW5Jk+MwGJWOVQXE=";
+    sha256 = "sha256-Vvzjg+UOgegkH8x2vtNU1TS01k5O4ilRJjD7F+BmVmU=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/dqlite/default.nix b/pkgs/development/libraries/dqlite/default.nix
index eb14a44e4fa..748e1e756cb 100644
--- a/pkgs/development/libraries/dqlite/default.nix
+++ b/pkgs/development/libraries/dqlite/default.nix
@@ -33,7 +33,7 @@ stdenv.mkDerivation rec {
     '';
     homepage = "https://dqlite.io/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ joko wucke13 ];
+    maintainers = with maintainers; [ joko ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/drogon/default.nix b/pkgs/development/libraries/drogon/default.nix
index 7258cb767e3..432e7626156 100644
--- a/pkgs/development/libraries/drogon/default.nix
+++ b/pkgs/development/libraries/drogon/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "drogon";
-  version = "1.7.4";
+  version = "1.7.5";
 
   src = fetchFromGitHub {
     owner = "drogonframework";
     repo = "drogon";
     rev = "v${version}";
-    sha256 = "02igryrv8782rwqb4w49frymlw9n7hv8fskqsw43rqly650vzakb";
+    sha256 = "sha256-DrpaXUaoO35DgmX8cYb3kbXfd6PlqI6pjEKnroiRxvg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/libraries/drumstick/default.nix b/pkgs/development/libraries/drumstick/default.nix
index 7cbeffd5b7e..69b330f5a48 100644
--- a/pkgs/development/libraries/drumstick/default.nix
+++ b/pkgs/development/libraries/drumstick/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "drumstick";
-  version = "2.4.1";
+  version = "2.5.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/drumstick/${version}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-nmqgS08ZBQ2vBEDtoriNbYLaNQA1DWeDhbRo70rBOP0=";
+    hash = "sha256-V57YnyeOVBXL5qjuCO1j1Ozy9CeaXxadw6ed1suUUIU=";
   };
 
   patches = [
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     maintainers = [];
     description = "MIDI libraries for Qt5/C++";
-    homepage = "http://drumstick.sourceforge.net/";
+    homepage = "https://drumstick.sourceforge.io/";
     license = licenses.gpl2Plus;
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/duckdb/default.nix b/pkgs/development/libraries/duckdb/default.nix
index f1e4f56a595..7d12d9fabf2 100644
--- a/pkgs/development/libraries/duckdb/default.nix
+++ b/pkgs/development/libraries/duckdb/default.nix
@@ -1,26 +1,58 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchFromGitHub
 , cmake
+, ninja
+, openssl
+, openjdk11
+, unixODBC
+, withHttpFs ? true
+, withJdbc ? false
+, withOdbc ? false
 }:
 
+let
+  enableFeature = yes: if yes then "ON" else "OFF";
+in
 stdenv.mkDerivation rec {
   pname = "duckdb";
-  version = "0.3.1";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-apTU7WgKw/YEnT4maibyffqOrCoVwHPOkNINlAmtYYI=";
+    sha256 = "sha256-F5YOqDeY3rgcnuu5SNqOfUxhsaXgqvdJZTnD1unI0tc=";
   };
 
-  nativeBuildInputs = [ cmake ];
+  patches = [ ./version.patch ];
+  postPatch = ''
+    substituteInPlace CMakeLists.txt --subst-var-by DUCKDB_VERSION "v${version}"
+  '';
+
+  cmakeFlags = [
+    "-DBUILD_FTS_EXTENSION=ON"
+    "-DBUILD_HTTPFS_EXTENSION=${enableFeature withHttpFs}"
+    "-DBUILD_ICU_EXTENSION=ON"
+    "-DBUILD_ODBC_DRIVER=${enableFeature withOdbc}"
+    "-DBUILD_PARQUET_EXTENSION=ON"
+    "-DBUILD_REST_EXTENSION=ON"
+    "-DBUILD_TPCDS_EXTENSION=ON"
+    "-DBUILD_TPCH_EXTENSION=ON"
+    "-DBUILD_VISUALIZER_EXTENSION=ON"
+    "-DJDBC_DRIVER=${enableFeature withJdbc}"
+  ];
+
+  nativeBuildInputs = [ cmake ninja ];
+  buildInputs = lib.optionals withHttpFs [ openssl ]
+    ++ lib.optionals withJdbc [ openjdk11 ]
+    ++ lib.optionals withOdbc [ unixODBC ];
 
   meta = with lib; {
     homepage = "https://github.com/duckdb/duckdb";
     description = "Embeddable SQL OLAP Database Management System";
     license = licenses.mit;
     platforms = platforms.all;
-    maintainers = with maintainers; [ costrouc ];
+    maintainers = with maintainers; [ costrouc cpcloud ];
   };
 }
diff --git a/pkgs/development/libraries/duckdb/version.patch b/pkgs/development/libraries/duckdb/version.patch
new file mode 100644
index 00000000000..1f5491eac23
--- /dev/null
+++ b/pkgs/development/libraries/duckdb/version.patch
@@ -0,0 +1,51 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 92c097228..5f51929f6 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -157,45 +157,7 @@ if(${CMAKE_SYSTEM_NAME} STREQUAL "SunOS")
+   set(SUN TRUE)
+ endif()
+ 
+-execute_process(
+-        COMMAND git log -1 --format=%h
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-        RESULT_VARIABLE GIT_RESULT
+-        OUTPUT_VARIABLE GIT_COMMIT_HASH
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-execute_process(
+-        COMMAND git describe --tags --abbrev=0
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-        OUTPUT_VARIABLE GIT_LAST_TAG
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-execute_process(
+-        COMMAND git describe --tags --long
+-        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+-        OUTPUT_VARIABLE GIT_ITERATION
+-        OUTPUT_STRIP_TRAILING_WHITESPACE)
+-
+-if(GIT_RESULT EQUAL "0")
+-  string(REGEX REPLACE "v([0-9]+).[0-9]+.[0-9]+" "\\1" DUCKDB_MAJOR_VERSION "${GIT_LAST_TAG}")
+-  string(REGEX REPLACE "v[0-9]+.([0-9]+).[0-9]+" "\\1" DUCKDB_MINOR_VERSION "${GIT_LAST_TAG}")
+-  string(REGEX REPLACE "v[0-9]+.[0-9]+.([0-9]+)" "\\1" DUCKDB_PATCH_VERSION "${GIT_LAST_TAG}")
+-  string(REGEX REPLACE ".*-([0-9]+)-.*" "\\1" DUCKDB_DEV_ITERATION "${GIT_ITERATION}")
+-
+-  if(DUCKDB_DEV_ITERATION EQUAL 0)
+-    # on a tag; directly use the version
+-    set(DUCKDB_VERSION "${GIT_LAST_TAG}")
+-  else()
+-    # not on a tag, increment the patch version by one and add a -devX suffix
+-    math(EXPR DUCKDB_PATCH_VERSION "${DUCKDB_PATCH_VERSION}+1")
+-    set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}")
+-  endif()
+-else()
+-  # fallback for when building from tarball
+-  set(DUCKDB_MAJOR_VERSION 0)
+-  set(DUCKDB_MINOR_VERSION 0)
+-  set(DUCKDB_PATCH_VERSION 1)
+-  set(DUCKDB_DEV_ITERATION 0)
+-  set(DUCKDB_VERSION "v${DUCKDB_MAJOR_VERSION}.${DUCKDB_MINOR_VERSION}.${DUCKDB_PATCH_VERSION}-dev${DUCKDB_DEV_ITERATION}")
+-endif()
++set(DUCKDB_VERSION "@DUCKDB_VERSION@")
+ 
+ option(AMALGAMATION_BUILD
+        "Build from the amalgamation files, rather than from the normal sources."
diff --git a/pkgs/development/libraries/eccodes/default.nix b/pkgs/development/libraries/eccodes/default.nix
index dc0648366a9..5182c59567d 100644
--- a/pkgs/development/libraries/eccodes/default.nix
+++ b/pkgs/development/libraries/eccodes/default.nix
@@ -15,11 +15,11 @@
 
 stdenv.mkDerivation rec {
   pname = "eccodes";
-  version = "2.24.0";
+  version = "2.24.2";
 
   src = fetchurl {
     url = "https://confluence.ecmwf.int/download/attachments/45757960/eccodes-${version}-Source.tar.gz";
-    sha256 = "sha256-MHrit59KfTF4mCS8od8UEvYMrWj0m/xJu8HUeA8+W5Y=";
+    sha256 = "sha256-xgrQ/YnhGRis4NhMAUifISIrEdbK0/90lYVqCt1hBAM=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/elfio/default.nix b/pkgs/development/libraries/elfio/default.nix
index 98e9ee3f59e..5bf4f3a3330 100644
--- a/pkgs/development/libraries/elfio/default.nix
+++ b/pkgs/development/libraries/elfio/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "elfio";
-  version = "3.9";
+  version = "3.10";
 
   src = fetchFromGitHub {
     owner = "serge1";
     repo = "elfio";
     rev = "Release_${version}";
-    sha256 = "sha256-5O9KnHZXzepp3O1PGenJarrHElWLHgyBvvDig1Hkmo4=";
+    sha256 = "sha256-DuZhkiHXdCplRiOy1Gsu7voVPdCbFt+4qFqlOeOeWQw=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/elpa/default.nix b/pkgs/development/libraries/elpa/default.nix
index 3bb59ce9ca6..76152996a1d 100644
--- a/pkgs/development/libraries/elpa/default.nix
+++ b/pkgs/development/libraries/elpa/default.nix
@@ -13,13 +13,15 @@
 , cudatoolkit
 } :
 
-# The standard Scalapack has no iLP64 interface
-assert (!blas.isILP64) && (!lapack.isILP64);
+assert blas.isILP64 == lapack.isILP64;
+assert blas.isILP64 == scalapack.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "elpa";
   version = "2021.11.001";
 
+  passthru = { inherit (blas) isILP64; };
+
   src = fetchurl {
     url = "https://elpa.mpcdf.mpg.de/software/tarball-archive/Releases/${version}/elpa-${version}.tar.gz";
     sha256 = "0bw0nwzwvjfmijfwznmrghypd3q237a3h5g5fcdncilrqnk1sdpv";
@@ -60,7 +62,8 @@ stdenv.mkDerivation rec {
     "--with-mpi"
     "--enable-openmp"
     "--without-threading-support-check-during-build"
-  ] ++ lib.optional (!avxSupport) "--disable-avx"
+  ] ++ lib.optional blas.isILP64 "--enable-64bit-integer-math-support"
+    ++ lib.optional (!avxSupport) "--disable-avx"
     ++ lib.optional (!avx2Support) "--disable-avx2"
     ++ lib.optional (!avx512Support) "--disable-avx512"
     ++ lib.optional (!stdenv.hostPlatform.isx86_64) "--disable-sse"
diff --git a/pkgs/development/libraries/embree/default.nix b/pkgs/development/libraries/embree/default.nix
index 3495386ce10..6417f4b05a1 100644
--- a/pkgs/development/libraries/embree/default.nix
+++ b/pkgs/development/libraries/embree/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "embree";
-  version = "3.13.2";
+  version = "3.13.3";
 
   src = fetchFromGitHub {
     owner = "embree";
     repo = "embree";
     rev = "v${version}";
-    sha256 = "sha256-bnd7p8Yu0YGkhUrg3yy32rk7kmHGB4YxMx1qWzIx5vw=";
+    sha256 = "sha256-g6BsXMNUvx17hgAq0PewtBLgtWqpp03M0k6vWNapDKs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/exiv2/default.nix b/pkgs/development/libraries/exiv2/default.nix
index 5ef3bfa2ac4..f352714d237 100644
--- a/pkgs/development/libraries/exiv2/default.nix
+++ b/pkgs/development/libraries/exiv2/default.nix
@@ -11,13 +11,14 @@
 , graphviz
 , libxslt
 , libiconv
+, removeReferencesTo
 }:
 
 stdenv.mkDerivation rec {
   pname = "exiv2";
   version = "0.27.5";
 
-  outputs = [ "out" "dev" "doc" "man" ];
+  outputs = [ "out" "lib" "dev" "doc" "man" "static" ];
 
   src = fetchFromGitHub {
     owner = "exiv2";
@@ -32,6 +33,7 @@ stdenv.mkDerivation rec {
     gettext
     graphviz
     libxslt
+    removeReferencesTo
   ];
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
@@ -94,8 +96,24 @@ stdenv.mkDerivation rec {
       rm *
       mv .exiv2 exiv2
     )
+
+    mkdir -p $static/lib
+    mv $lib/lib/*.a $static/lib/
+
+    remove-references-to -t ${stdenv.cc.cc} $lib/lib/*.so.*.*.* $out/bin/exiv2 $static/lib/*.a
   '';
 
+  postFixup = ''
+    substituteInPlace "$dev"/lib/cmake/exiv2/exiv2Config.cmake --replace \
+      "set(_IMPORT_PREFIX \"$out\")" \
+      "set(_IMPORT_PREFIX \"$static\")"
+    substituteInPlace "$dev"/lib/cmake/exiv2/exiv2Config-*.cmake --replace \
+      "$lib/lib/libexiv2-xmp.a" \
+      "$static/lib/libexiv2-xmp.a"
+  '';
+
+  disallowedReferences = [ stdenv.cc.cc ];
+
   meta = with lib; {
     homepage = "https://www.exiv2.org/";
     description = "A library and command-line utility to manage image metadata";
diff --git a/pkgs/development/libraries/expat/default.nix b/pkgs/development/libraries/expat/default.nix
index d44783079f0..322c6ecebbf 100644
--- a/pkgs/development/libraries/expat/default.nix
+++ b/pkgs/development/libraries/expat/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "expat";
-  version = "2.4.2";
+  version = "2.4.4";
 
   src = fetchurl {
     url = "https://github.com/libexpat/libexpat/releases/download/R_${lib.replaceStrings ["."] ["_"] version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-vC/1j0nCmqx7/3BabBZ6gh8mxRIHn/CKxDL9D9ybsZk=";
+    sha256 = "sha256-tdJdbjczUcLtGbVitHMtAdJYmsjI6eeWLY3xIHzDEbg=";
   };
 
   outputs = [ "out" "dev" ]; # TODO: fix referrers
diff --git a/pkgs/development/libraries/faad2/default.nix b/pkgs/development/libraries/faad2/default.nix
index 0afef1c9fd8..396acbc1bdf 100644
--- a/pkgs/development/libraries/faad2/default.nix
+++ b/pkgs/development/libraries/faad2/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
 
   meta = {
     description = "An open source MPEG-4 and MPEG-2 AAC decoder";
-    license     = licenses.gpl2;
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
   };
diff --git a/pkgs/development/libraries/farstream/default.nix b/pkgs/development/libraries/farstream/default.nix
index e26ebef0c51..98c660dc798 100644
--- a/pkgs/development/libraries/farstream/default.nix
+++ b/pkgs/development/libraries/farstream/default.nix
@@ -11,25 +11,21 @@
 , gst-plugins-good
 , gst-plugins-bad
 , gst-libav
+, python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "farstream";
-  version = "0.2.8";
+  version = "0.2.9";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/farstream/releases/farstream/${pname}-${version}.tar.gz";
-    sha256 = "0249ncd20x5mf884fd8bw75c3118b9fdml837v4fib349xmrqfrb";
+    sha256 = "0yzlh9jf47a3ir40447s7hlwp98f9yr8z4gcm0vjwz6g6cj12zfb";
   };
 
   patches = [
-    # Python has not been used for ages
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/farstream/farstream/commit/73891c28fa27d5e65a71762e826f13747d743588.patch";
-      sha256 = "19pw1m8xhxyf5yhl6k898w240ra2k0m28gfv858x70c4wl786lrn";
-    })
     # Fix build with newer gnumake.
     (fetchpatch {
       url = "https://gitlab.freedesktop.org/farstream/farstream/-/commit/54987d44.diff";
@@ -47,6 +43,7 @@ stdenv.mkDerivation rec {
     pkg-config
     autoreconfHook
     gobject-introspection
+    python3
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/libraries/ffmpeg-full/default.nix b/pkgs/development/libraries/ffmpeg-full/default.nix
index 8d2144f1039..9d9a1a126cb 100644
--- a/pkgs/development/libraries/ffmpeg-full/default.nix
+++ b/pkgs/development/libraries/ffmpeg-full/default.nix
@@ -32,7 +32,6 @@
 , avdeviceLibrary ? true # Build avdevice library
 , avfilterLibrary ? true # Build avfilter library
 , avformatLibrary ? true # Build avformat library
-, avresampleLibrary ? true # Build avresample library
 , avutilLibrary ? true # Build avutil library
 , postprocLibrary ? true # Build postproc library
 , swresampleLibrary ? true # Build swresample library
@@ -100,6 +99,7 @@
 , libxcbshapeExtlib ? true # X11 grabbing shape rendering
 , libXv ? null # Xlib support
 , libXext ? null # Xlib support
+, libxml2 ? null # libxml2 support, for IMF and DASH demuxers
 , xz ? null # xz-utils
 , nvenc ? !stdenv.isDarwin && !stdenv.isAarch64, nv-codec-headers ? null # NVIDIA NVENC support
 , openal ? null # OpenAL 1.1 capture support
@@ -225,7 +225,6 @@ assert avdeviceLibrary -> avformatLibrary
                        && avcodecLibrary
                        && avutilLibrary; # configure flag since 0.6
 assert avformatLibrary -> avcodecLibrary && avutilLibrary; # configure flag since 0.6
-assert avresampleLibrary -> avutilLibrary;
 assert postprocLibrary -> avutilLibrary;
 assert swresampleLibrary -> soxr != null;
 assert swscaleLibrary -> avutilLibrary;
@@ -304,7 +303,6 @@ stdenv.mkDerivation rec {
     (enableFeature avdeviceLibrary "avdevice")
     (enableFeature avfilterLibrary "avfilter")
     (enableFeature avformatLibrary "avformat")
-    (enableFeature avresampleLibrary "avresample")
     (enableFeature avutilLibrary "avutil")
     (enableFeature (postprocLibrary && gplLicensing) "postproc")
     (enableFeature swresampleLibrary "swresample")
@@ -375,6 +373,7 @@ stdenv.mkDerivation rec {
     (enableFeature libxcbshmExtlib "libxcb-shm")
     (enableFeature libxcbxfixesExtlib "libxcb-xfixes")
     (enableFeature libxcbshapeExtlib "libxcb-shape")
+    (enableFeature (libxml2 != null) "libxml2")
     (enableFeature (xz != null) "lzma")
     (enableFeature nvenc "nvenc")
     (enableFeature (openal != null) "openal")
@@ -432,7 +431,7 @@ stdenv.mkDerivation rec {
     bzip2 celt dav1d fontconfig freetype frei0r fribidi game-music-emu gnutls gsm
     libjack2 ladspaH lame libaom libass libbluray libbs2b libcaca libdc1394 libmodplug libmysofa
     libogg libopus librsvg libssh libtheora libvdpau libvorbis libvpx libwebp libX11
-    libxcb libXv libXext xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
+    libxcb libXv libXext libxml2 xz openal openjpeg libpulseaudio rav1e svt-av1 rtmpdump opencore-amr
     samba SDL2 soxr speex srt vid-stab vo-amrwbenc x264 x265 xavs xvidcore
     zeromq4 zimg zlib openh264
   ] ++ optionals openglExtlib [ libGL libGLU ]
@@ -454,7 +453,7 @@ stdenv.mkDerivation rec {
   checkPhase = let
     ldLibraryPathEnv = if stdenv.isDarwin then "DYLD_LIBRARY_PATH" else "LD_LIBRARY_PATH";
   in ''
-    ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavresample:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
+    ${ldLibraryPathEnv}="libavcodec:libavdevice:libavfilter:libavformat:libavutil:libpostproc:libswresample:libswscale:''${${ldLibraryPathEnv}}" \
       make check -j$NIX_BUILD_CORES
   '';
 
diff --git a/pkgs/development/libraries/ffmpegthumbnailer/default.nix b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
index dfdbf8eb2f8..9bfee290871 100644
--- a/pkgs/development/libraries/ffmpegthumbnailer/default.nix
+++ b/pkgs/development/libraries/ffmpegthumbnailer/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ffmpegthumbnailer";
-  version = "2.2.2";
+  version = "unstable-2021-09-02";
 
   src = fetchFromGitHub {
     owner = "dirkvdb";
     repo = "ffmpegthumbnailer";
-    rev = version;
-    sha256 = "1bakbr714j7yxdal1f5iq0gcl4cxggbbgj227ihdh5kvygqlwich";
+    rev = "d92e191dd793b12cee0a0f685f5a8d8252988399";
+    sha256 = "1ysfq3g74b8ivivrdpfi4vm23d3cyc3rfla5i6y8q9aycis9xv6q";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/ffms/default.nix b/pkgs/development/libraries/ffms/default.nix
index 283942df63f..6e7a58f5597 100644
--- a/pkgs/development/libraries/ffms/default.nix
+++ b/pkgs/development/libraries/ffms/default.nix
@@ -3,7 +3,7 @@
 , fetchFromGitHub
 , autoreconfHook
 , pkg-config
-, ffmpeg
+, ffmpeg_4
 , zlib
 }:
 
@@ -30,7 +30,7 @@ stdenv.mkDerivation rec {
   '';
 
   buildInputs = [
-    ffmpeg
+    ffmpeg_4
     zlib
   ];
 
diff --git a/pkgs/development/libraries/fftw/default.nix b/pkgs/development/libraries/fftw/default.nix
index f4b30129e61..4f3d685c1fa 100644
--- a/pkgs/development/libraries/fftw/default.nix
+++ b/pkgs/development/libraries/fftw/default.nix
@@ -3,7 +3,7 @@
 , lib
 , gfortran
 , perl
-, llvmPackages ? null
+, llvmPackages
 , precision ? "double"
 , enableAvx ? stdenv.hostPlatform.avxSupport
 , enableAvx2 ? stdenv.hostPlatform.avx2Support
@@ -11,24 +11,20 @@
 , enableFma ? stdenv.hostPlatform.fmaSupport
 , enableMpi ? false
 , mpi
+, withDoc ? stdenv.cc.isGNU
 }:
 
 with lib;
 
-assert stdenv.cc.isClang -> llvmPackages != null;
 assert elem precision [ "single" "double" "long-double" "quad-precision" ];
 
-let
+stdenv.mkDerivation rec {
+  pname = "fftw-${precision}";
   version = "3.3.10";
-  withDoc = stdenv.cc.isGNU;
-in
-
-stdenv.mkDerivation {
-  name = "fftw-${precision}-${version}";
 
   src = fetchurl {
     urls = [
-      "http://fftw.org/fftw-${version}.tar.gz"
+      "https://fftw.org/fftw-${version}.tar.gz"
       "ftp://ftp.fftw.org/pub/fftw/fftw-${version}.tar.gz"
     ];
     sha256 = "sha256-VskyVJhSzdz6/as4ILAgDHdCZ1vpIXnlnmIVs0DiZGc=";
diff --git a/pkgs/development/libraries/flatpak/default.nix b/pkgs/development/libraries/flatpak/default.nix
index 592c14579fd..88188f8d0ca 100644
--- a/pkgs/development/libraries/flatpak/default.nix
+++ b/pkgs/development/libraries/flatpak/default.nix
@@ -53,14 +53,14 @@
 
 stdenv.mkDerivation rec {
   pname = "flatpak";
-  version = "1.12.4";
+  version = "1.12.6";
 
   # TODO: split out lib once we figure out what to do with triggerdir
   outputs = [ "out" "dev" "man" "doc" "devdoc" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/flatpak/flatpak/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "792e6265f7f6d71b2a087028472a048287bed2587e43d2eec2c31d360c16211c"; # Taken from https://github.com/flatpak/flatpak/releases/
+    sha256 = "7wLLUFuRzOUXMJm1SFdo7vGJnrzznt+CfEJUFjqBFic="; # Taken from https://github.com/flatpak/flatpak/releases/
   };
 
   patches = [
@@ -77,7 +77,7 @@ stdenv.mkDerivation rec {
     # Hardcode paths used by Flatpak itself.
     (substituteAll {
       src = ./fix-paths.patch;
-      p11kit = "${p11-kit.dev}/bin/p11-kit";
+      p11kit = "${p11-kit.bin}/bin/p11-kit";
     })
 
     # Adapt paths exposed to sandbox for NixOS.
diff --git a/pkgs/development/libraries/flatpak/unset-env-vars.patch b/pkgs/development/libraries/flatpak/unset-env-vars.patch
index 63ce0d12fe0..6b8017684d4 100644
--- a/pkgs/development/libraries/flatpak/unset-env-vars.patch
+++ b/pkgs/development/libraries/flatpak/unset-env-vars.patch
@@ -1,11 +1,11 @@
 diff --git a/common/flatpak-run.c b/common/flatpak-run.c
-index 8d52d3a5..81700183 100644
+index 146c4f87..bcdad2bc 100644
 --- a/common/flatpak-run.c
 +++ b/common/flatpak-run.c
-@@ -1232,6 +1232,7 @@ static const ExportData default_exports[] = {
-   {"PERLLIB", NULL},
-   {"PERL5LIB", NULL},
-   {"XCURSOR_PATH", NULL},
+@@ -1710,6 +1710,7 @@ static const ExportData default_exports[] = {
+   {"GST_PTP_HELPER", NULL},
+   {"GST_PTP_HELPER_1_0", NULL},
+   {"GST_INSTALL_PLUGINS_HELPER", NULL},
 +  {"GDK_PIXBUF_MODULE_FILE", NULL},
  };
  
diff --git a/pkgs/development/libraries/folly/default.nix b/pkgs/development/libraries/folly/default.nix
index 85c80532b51..9f0585e0eff 100644
--- a/pkgs/development/libraries/folly/default.nix
+++ b/pkgs/development/libraries/folly/default.nix
@@ -1,31 +1,33 @@
 { lib, stdenv
 , fetchFromGitHub
-, cmake
 , boost
-, libevent
+, cmake
 , double-conversion
-, glog
+, fetchpatch
+, fmt_8
 , gflags
+, glog
+, libevent
 , libiberty
+, libunwind
 , lz4
-, xz
-, zlib
-, jemalloc
 , openssl
 , pkg-config
-, libunwind
-, fmt
+, xz
+, zlib
+, zstd
+, follyMobile ? false
 }:
 
-stdenv.mkDerivation (rec {
+stdenv.mkDerivation rec {
   pname = "folly";
-  version = "2021.10.25.00";
+  version = "2022.02.21.00";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "folly";
     rev = "v${version}";
-    sha256 = "sha256-+di8Dzt5NRbqIydBR4sB6bUbQrZZ8URUosdP2JGQMec=";
+    sha256 = "sha256-QCL+GLc6b4Ae3jUj7VCxnE7Yc1JJ8+P0/r41Zf0KYos=";
   };
 
   nativeBuildInputs = [
@@ -45,11 +47,12 @@ stdenv.mkDerivation (rec {
     lz4
     xz
     zlib
-    jemalloc
     libunwind
-    fmt
+    fmt_8
+    zstd
   ];
 
+  NIX_CFLAGS_COMPILE = [ "-DFOLLY_MOBILE=${if follyMobile then "1" else "0"}" ];
   cmakeFlags = [ "-DBUILD_SHARED_LIBS=ON" ];
 
   meta = with lib; {
@@ -57,9 +60,7 @@ stdenv.mkDerivation (rec {
     homepage = "https://github.com/facebook/folly";
     license = licenses.asl20;
     # 32bit is not supported: https://github.com/facebook/folly/issues/103
-    platforms = [ "x86_64-linux" "x86_64-darwin" ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-darwin" ];
     maintainers = with maintainers; [ abbradar pierreis ];
   };
-} // lib.optionalAttrs stdenv.isDarwin {
-  LDFLAGS = "-ljemalloc";
-})
+}
diff --git a/pkgs/development/libraries/freetds/default.nix b/pkgs/development/libraries/freetds/default.nix
index ed455c534b2..1fd088684cf 100644
--- a/pkgs/development/libraries/freetds/default.nix
+++ b/pkgs/development/libraries/freetds/default.nix
@@ -8,11 +8,11 @@ assert odbcSupport -> unixODBC != null;
 
 stdenv.mkDerivation rec {
   pname = "freetds";
-  version = "1.3.3";
+  version = "1.3.9";
 
   src = fetchurl {
     url    = "https://www.freetds.org/files/stable/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-26AufwZh/0LcKJ/EHXzefgMIn9Mm8I7ijIcqyf9KHIQ=";
+    sha256 = "sha256-qByKmGp6LwuUWZ69eheF1yAX3qbXlqf0S2rGge53wuc=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/gensio/default.nix b/pkgs/development/libraries/gensio/default.nix
index c4d961f4b76..90fe4658267 100644
--- a/pkgs/development/libraries/gensio/default.nix
+++ b/pkgs/development/libraries/gensio/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gensio";
-  version = "2.2.9";
+  version = "2.3.6";
 
   src = fetchFromGitHub {
     owner = "cminyard";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SN8zMMBX02kIS9q1/7DO+t826DpmbZBO37TDZtvRT1A=";
+    sha256 = "sha256-aPTwN5DuUFPqLDwq73KvmBR8tEN5bIX6/JOZMfOAoow=";
   };
 
   passthru = {
diff --git a/pkgs/development/libraries/giblib/default.nix b/pkgs/development/libraries/giblib/default.nix
deleted file mode 100644
index ca4a3c98e0a..00000000000
--- a/pkgs/development/libraries/giblib/default.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchurl, xlibsWrapper, imlib2 }:
-
-stdenv.mkDerivation rec {
-  pname = "giblib";
-  version = "1.2.4";
-
-  src = fetchurl {
-    url = "http://linuxbrit.co.uk/downloads/giblib-${version}.tar.gz";
-    sha256 = "1b4bmbmj52glq0s898lppkpzxlprq9aav49r06j2wx4dv3212rhp";
-  };
-
-  outputs = [ "out" "dev" ];
-  setOutputFlags = false;
-
-  preConfigure = ''
-    configureFlagsArray+=(
-      --includedir=$dev/include
-    )
-  '';
-
-  buildInputs = [ xlibsWrapper ];
-  propagatedBuildInputs = [ imlib2 ];
-
-  postFixup = ''
-    moveToOutput bin/giblib-config "$dev"
-
-    # Doesn't contain useful stuff
-    rm -rf $out/share/doc
-  '';
-
-  meta = {
-    homepage = "http://linuxbrit.co.uk/giblib/";
-    description = "wrapper library for imlib2, and other stuff";
-    platforms = lib.platforms.unix;
-    license = lib.licenses.mit;
-  };
-}
diff --git a/pkgs/development/libraries/git2/default.nix b/pkgs/development/libraries/git2/default.nix
deleted file mode 100644
index 35ef9fba105..00000000000
--- a/pkgs/development/libraries/git2/default.nix
+++ /dev/null
@@ -1,38 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, cmake, pkg-config, python3
-, zlib, libssh2, openssl, pcre, http-parser
-, libiconv, Security
-}:
-
-stdenv.mkDerivation rec {
-  pname = "libgit2";
-  version = "1.3.0";
-  # keep the version in sync with python3.pkgs.pygit2 and libgit2-glib
-
-  src = fetchFromGitHub {
-    owner = "libgit2";
-    repo = "libgit2";
-    rev = "v${version}";
-    sha256 = "sha256-7atNkOBzX+nU1gtFQEaE+EF1L+eex+Ajhq2ocoJY920=";
-  };
-
-  cmakeFlags = [
-    "-DTHREADSAFE=ON"
-    "-DUSE_HTTP_PARSER=system"
-  ];
-
-  nativeBuildInputs = [ cmake python3 pkg-config ];
-
-  buildInputs = [ zlib libssh2 openssl pcre http-parser ]
-    ++ lib.optional stdenv.isDarwin Security;
-
-  propagatedBuildInputs = lib.optional (!stdenv.isLinux) libiconv;
-
-  doCheck = false; # hangs. or very expensive?
-
-  meta = {
-    description = "The Git linkable library";
-    homepage = "https://libgit2.github.com/";
-    license = lib.licenses.gpl2;
-    platforms = with lib.platforms; all;
-  };
-}
diff --git a/pkgs/development/libraries/gjs/default.nix b/pkgs/development/libraries/gjs/default.nix
index 29eb1b94824..07c97ea6e0d 100644
--- a/pkgs/development/libraries/gjs/default.nix
+++ b/pkgs/development/libraries/gjs/default.nix
@@ -30,13 +30,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "gjs";
-  version = "1.70.0";
+  version = "1.70.1";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/gjs/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-SwYpNBoxigI3ThE6uX+anzMlQjJp/B4LBDpf+wGGHF8=";
+    sha256 = "sha256-u9wO7HzyX7xTR2n2ofssehjhe4ce/bDKWOmr8IsoAD8=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/gobject-introspection/default.nix b/pkgs/development/libraries/gobject-introspection/default.nix
index 25b7770101d..667d50ca4d8 100644
--- a/pkgs/development/libraries/gobject-introspection/default.nix
+++ b/pkgs/development/libraries/gobject-introspection/default.nix
@@ -46,6 +46,15 @@ stdenv.mkDerivation rec {
       src = ./absolute_shlib_path.patch;
       inherit nixStoreDir;
     })
+    # Fix build with meson 0.61.0
+    (fetchurl {
+      url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/827494d6415b696a98fa195cbd883b50cc893bfc.patch";
+      sha256 = "sha256-imVWzU760FRsX+eXREQDQ6mDcmzZ5ASLT9rBf4oyBGQ=";
+    })
+    (fetchurl {
+      url = "https://gitlab.gnome.org/GNOME/gobject-introspection/-/commit/effb1e09dee263cdac4ec593e8caf316e6f01fe2.patch";
+      sha256 = "sha256-o7a0qDT5IYcYcz8toeZu+nPj3SwS52sNgmxgzsmlp4Q=";
+    })
   ] ++ lib.optionals x11Support [
     # Hardcode the cairo shared library path in the Cairo gir shipped with this package.
     # https://github.com/NixOS/nixpkgs/issues/34080
diff --git a/pkgs/development/libraries/gsettings-qt/default.nix b/pkgs/development/libraries/gsettings-qt/default.nix
index 21b63875db6..ed979c02c86 100644
--- a/pkgs/development/libraries/gsettings-qt/default.nix
+++ b/pkgs/development/libraries/gsettings-qt/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitLab, pkg-config
 , qmake, qtbase, qtdeclarative, wrapQtAppsHook
 , glib, gobject-introspection
-, genericUpdater, common-updater-scripts
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
@@ -55,10 +55,9 @@ stdenv.mkDerivation rec {
     done
   '';
 
-  passthru.updateScript = genericUpdater {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
     rev-prefix = "v";
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/gstreamer/bad/default.nix b/pkgs/development/libraries/gstreamer/bad/default.nix
index 016a7a992ed..0e17e13e581 100644
--- a/pkgs/development/libraries/gstreamer/bad/default.nix
+++ b/pkgs/development/libraries/gstreamer/bad/default.nix
@@ -8,18 +8,20 @@
 , python3
 , gst-plugins-base
 , orc
+, gstreamer
 , gobject-introspection
 , enableZbar ? false
 , faacSupport ? false
 , faac
 , faad2
+, ldacbt
 , libass
 , libkate
-, libmms
 , lrdf
 , ladspaH
 , libnice
 , webrtc-audio-processing
+, webrtc-audio-processing_1
 , lilv
 , lv2
 , serd
@@ -27,7 +29,7 @@
 , sratom
 , libbs2b
 , libmodplug
-, mpeg2dec
+, libmpeg2
 , libmicrodns
 , openjpeg
 , libopus
@@ -39,6 +41,7 @@
 , fdk_aac
 , flite
 , gsm
+, json-glib
 , libaom
 , libdc1394
 , libde265
@@ -46,7 +49,7 @@
 , libdvdnav
 , libdvdread
 , libgudev
-, libofa
+, qrencode
 , libsndfile
 , libusb1
 , neon
@@ -88,24 +91,20 @@
 , CoreVideo
 , Foundation
 , MediaToolbox
+, enableGplPlugins ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-bad";
-  version = "1.18.5";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-oWSSO5Tw0IV4pvyuqsbgwF2niKRpA6EIaHDpykWtZ44=";
+    sha256 = "sha256-AVuNTZo5Xr9ETUCHaGeiA03TMEs61IvDoN0MHucdwR0=";
   };
 
-  patches = [
-    # Use pkgconfig to inject the includedirs
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -113,6 +112,7 @@ stdenv.mkDerivation rec {
     orc # for orcc
     python3
     gettext
+    gstreamer # for gst-tester-1.0
     gobject-introspection
   ] ++ lib.optionals stdenv.isLinux [
     wayland # for wayland-scanner
@@ -124,14 +124,14 @@ stdenv.mkDerivation rec {
     # gobject-introspection has to be in both nativeBuildInputs and
     # buildInputs. The build tries to link against libgirepository-1.0.so
     gobject-introspection
-    faad2
+    json-glib
+    ldacbt
     libass
     libkate
-    libmms
-    webrtc-audio-processing # webrtc
+    webrtc-audio-processing # required by webrtcdsp
+    #webrtc-audio-processing_1 # required by isac
     libbs2b
     libmodplug
-    mpeg2dec
     libmicrodns
     openjpeg
     libopenmpt
@@ -145,9 +145,9 @@ stdenv.mkDerivation rec {
     libde265
     libdvdnav
     libdvdread
+    qrencode
     libsndfile
     libusb1
-    mjpegtools
     neon
     openal
     opencv4
@@ -166,7 +166,6 @@ stdenv.mkDerivation rec {
     libGLU
     libgme
     openssl
-    x265
     libxml2
     libintl
     srt
@@ -175,6 +174,11 @@ stdenv.mkDerivation rec {
     zbar
   ] ++ lib.optionals faacSupport [
     faac
+  ] ++ lib.optionals enableGplPlugins [
+    libmpeg2
+    mjpegtools
+    faad2
+    x265
   ] ++ lib.optionals stdenv.isLinux [
     bluez
     libva # vaapi requires libva -> libdrm -> libpciaccess, which is Linux-only in nixpkgs
@@ -193,7 +197,6 @@ stdenv.mkDerivation rec {
     libdrm
     libgudev
     libnice
-    libofa
     sbc
     spandsp
 
@@ -229,7 +232,7 @@ stdenv.mkDerivation rec {
     "-Ddts=disabled" # required `libdca` library not packaged in nixpkgs as of writing, and marked as "BIG FAT WARNING: libdca is still in early development"
     "-Dzbar=${if enableZbar then "enabled" else "disabled"}"
     "-Dfaac=${if faacSupport then "enabled" else "disabled"}"
-    "-Diqa=disabled" # required `dssim` library not packaging in nixpkgs as of writing
+    "-Diqa=disabled" # required `dssim` library not packaging in nixpkgs as of writing, also this is AGPL so update license when adding support
     "-Dmagicleap=disabled" # required `ml_audio` library not packaged in nixpkgs as of writing
     "-Dmsdk=disabled" # not packaged in nixpkgs as of writing / no Windows support
     # As of writing, with `libmpcdec` in `buildInputs` we get
@@ -255,6 +258,10 @@ stdenv.mkDerivation rec {
     "-Dwasapi2=disabled" # not packaged in nixpkgs as of writing / no Windows support
     "-Dwpe=disabled" # required `wpe-webkit` library not packaged in nixpkgs as of writing
     "-Dzxing=disabled" # required `zxing-cpp` library not packaged in nixpkgs as of writing
+    "-Disac=disabled" # depends on `webrtc-audio-coding-1` not compatible with 0.3
+    "-Dgs=disabled" # depends on `google-cloud-cpp`
+    "-Donnx=disabled" # depends on `libonnxruntime` not packaged in nixpkgs as of writing
+    "-Dopenaptx=disabled" # depends on older version of `libopenaptx` due to licensing conflict https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/-/merge_requests/2235
   ]
   ++ lib.optionals (!stdenv.isLinux) [
     "-Dva=disabled" # see comment on `libva` in `buildInputs`
@@ -265,7 +272,6 @@ stdenv.mkDerivation rec {
     "-Ddirectfb=disabled"
     "-Dflite=disabled"
     "-Dkms=disabled" # renders to libdrm output
-    "-Dofa=disabled"
     "-Dlv2=disabled"
     "-Dsbc=disabled"
     "-Dspandsp=disabled"
@@ -286,7 +292,17 @@ stdenv.mkDerivation rec {
     "-Dapplemedia=disabled"
   ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
     "-Dintrospection=disabled"
-  ];
+  ] ++ (if enableGplPlugins then [
+    "-Dgpl=enabled"
+  ] else [
+    "-Ddts=disabled"
+    "-Dfaad=disabled"
+    "-Diqa=disabled"
+    "-Dmpeg2enc=disabled"
+    "-Dmplex=disabled"
+    "-Dresindvd=disabled"
+    "-Dx265=disabled"
+  ]);
 
   # Argument list too long
   strictDeps = true;
@@ -311,7 +327,7 @@ stdenv.mkDerivation rec {
       something - be it a good code review, some documentation, a set of tests,
       a real live maintainer, or some actual wide use.
     '';
-    license = licenses.lgpl2Plus;
+    license = if enableGplPlugins then licenses.gpl2Plus else licenses.lgpl2Plus;
     platforms = platforms.linux ++ platforms.darwin;
     maintainers = with maintainers; [ matthewbauer ];
   };
diff --git a/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
deleted file mode 100644
index c687fffc9c0..00000000000
--- a/pkgs/development/libraries/gstreamer/bad/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index 271f327f3..7e2afa754 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', join_paths(get_option('prefix')))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', api_version)
- pkgconf.set('VERSION', gst_version)
- 
diff --git a/pkgs/development/libraries/gstreamer/base/default.nix b/pkgs/development/libraries/gstreamer/base/default.nix
index 8b6073cb958..82d90845677 100644
--- a/pkgs/development/libraries/gstreamer/base/default.nix
+++ b/pkgs/development/libraries/gstreamer/base/default.nix
@@ -41,19 +41,15 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-base";
-  version = "1.18.5";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-lgt69FhXANsP3VuENVThHiVk/tngYfWR+uiKe+ZEb6M=";
+    sha256 = "sha256-TLZvzPcwsQN+ZTOGLCEomQkSpttOW70U4O+RRFDrTHw=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
@@ -120,7 +116,7 @@ stdenv.mkDerivation rec {
 
   postPatch = ''
     patchShebangs \
-      common/scangobj-merge.py \
+      scripts/meson-pkg-config-file-fixup.py \
       scripts/extract-release-date-from-doap-file.py
   '';
 
diff --git a/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
deleted file mode 100644
index 04486a4647f..00000000000
--- a/pkgs/development/libraries/gstreamer/base/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index 04abfbee5..88c86b431 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', api_version)
- pkgconf.set('VERSION', gst_version)
- pkgconf.set('LIBM', libm.found() ? '-lm' : '')
diff --git a/pkgs/development/libraries/gstreamer/core/default.nix b/pkgs/development/libraries/gstreamer/core/default.nix
index 268da017163..fa118834773 100644
--- a/pkgs/development/libraries/gstreamer/core/default.nix
+++ b/pkgs/development/libraries/gstreamer/core/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer";
-  version = "1.18.5";
+  version = "1.20.0";
 
   outputs = [
     "bin"
@@ -34,13 +34,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-VYYiMqY0Wbv1ar694whcqa7CEbR46JHazqTW34yv6Ao=";
+    sha256 = "sha256-7fS///hVkdT/97Ibue1/D+q8EjrEpO/ynnPLzkVPnbc=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
deleted file mode 100644
index db168426935..00000000000
--- a/pkgs/development/libraries/gstreamer/core/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index edb0586c2..7ed46dfce 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', join_paths(get_option('prefix')))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('libexecdir', '${prefix}/@0@'.format(get_option('libexecdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('libexecdir', join_paths(get_option('prefix'), get_option('libexecdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', apiversion)
- pkgconf.set('VERSION', gst_version)
- pkgconf.set('LIBM', mathlib.found() ? '-lm' : '')
diff --git a/pkgs/development/libraries/gstreamer/devtools/default.nix b/pkgs/development/libraries/gstreamer/devtools/default.nix
index 0b7be2bd03e..aa92410e0e4 100644
--- a/pkgs/development/libraries/gstreamer/devtools/default.nix
+++ b/pkgs/development/libraries/gstreamer/devtools/default.nix
@@ -1,5 +1,6 @@
 { lib, stdenv
 , fetchurl
+, cairo
 , meson
 , ninja
 , pkg-config
@@ -12,17 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-devtools";
-  version = "1.18.5";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-/s/8hkR9r1wqBoQ8dXqZHXRcqiBpRGoNdG6ZsT98sHk=";
+    sha256 = "sha256-afyHVuydk+XFJYyZCIQ08gPpH9vFryjR8sWD/YGbeh0=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   outputs = [
     "out"
     "dev"
@@ -40,6 +37,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    cairo
     python3
     json-glib
   ];
diff --git a/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch
deleted file mode 100644
index ff19c7cbf6f..00000000000
--- a/pkgs/development/libraries/gstreamer/devtools/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/validate/pkgconfig/meson.build b/validate/pkgconfig/meson.build
-index a612b21b..c017eaff 100644
---- a/validate/pkgconfig/meson.build
-+++ b/validate/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
-
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', apiversion)
- pkgconf.set('VERSION', gst_version)
-
diff --git a/pkgs/development/libraries/gstreamer/ges/default.nix b/pkgs/development/libraries/gstreamer/ges/default.nix
index 0bfe6f3e0e2..4630ce6d0ce 100644
--- a/pkgs/development/libraries/gstreamer/ges/default.nix
+++ b/pkgs/development/libraries/gstreamer/ges/default.nix
@@ -16,7 +16,7 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-editing-services";
-  version = "1.18.5";
+  version = "1.20.0";
 
   outputs = [
     "out"
@@ -26,13 +26,9 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-ivSoOU0FHz4YKAaG20mm76zMlcDFmhfw9WTjIABZDfU=";
+    sha256 = "sha256-+Detz0Bz0ZpZCJhOh5zQOfQZLKNo5x056MzYpWuf7t8=";
   };
 
-  patches = [
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
deleted file mode 100644
index 1e12f3bbfbe..00000000000
--- a/pkgs/development/libraries/gstreamer/ges/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pkgconfig/meson.build b/pkgconfig/meson.build
-index a612b21b..c017eaff 100644
---- a/pkgconfig/meson.build
-+++ b/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', apiversion)
- pkgconf.set('VERSION', gst_version)
- 
diff --git a/pkgs/development/libraries/gstreamer/good/default.nix b/pkgs/development/libraries/gstreamer/good/default.nix
index a6ed248b663..3b686e4c7f5 100644
--- a/pkgs/development/libraries/gstreamer/good/default.nix
+++ b/pkgs/development/libraries/gstreamer/good/default.nix
@@ -48,13 +48,13 @@ assert raspiCameraSupport -> (stdenv.isLinux && stdenv.isAarch64);
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-good";
-  version = "1.18.5";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-Oq7up3Zfv4gBrM5KUDqbBfc/BOijU1Lp0AIyz9VVeWs=";
+    sha256 = "sha256-LRGcFauMnnn4zTxr9YL/egULKMyuUqtIZeGhRkmRZZw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gstreamer/libav/default.nix b/pkgs/development/libraries/gstreamer/libav/default.nix
index 7f2828253c8..0d9f22d7d65 100644
--- a/pkgs/development/libraries/gstreamer/libav/default.nix
+++ b/pkgs/development/libraries/gstreamer/libav/default.nix
@@ -5,6 +5,7 @@
 , ninja
 , pkg-config
 , python3
+, gstreamer
 , gst-plugins-base
 , gettext
 , libav
@@ -15,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-libav";
-  version = "1.18.5";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-gi4AipEOndE67b3Y3GP+3vQEDA7i6Se6sxEuneaTpUg=";
+    sha256 = "sha256-Xu5e2NUIKjG1AESOQVNcci7jDNX4Ik8ymCu6ui7t7xc=";
   };
 
   outputs = [ "out" "dev" ];
@@ -33,6 +34,7 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
+    gstreamer
     gst-plugins-base
     libav
   ];
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
index a75af25224a..80190200c26 100644
--- a/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
+++ b/pkgs/development/libraries/gstreamer/rtsp-server/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchurl
 , meson
 , ninja
@@ -12,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gst-rtsp-server";
-  version = "1.18.5";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-BNY79IgWxvQcc/beD5EqfO8KqznEQWKnvOzhkj38nR8=";
+    sha256 = "sha256-wgn17ZBtpxP91EqIROkJqmyK89+2MCWbCSz7d6d1WEM=";
   };
 
   outputs = [
@@ -25,15 +26,6 @@ stdenv.mkDerivation rec {
     # "devdoc" # disabled until `hotdoc` is packaged in nixpkgs
   ];
 
-  patches = [
-    # To use split outputs, we need this so double prefix won't be used in the
-    # pkg-config files. Hopefully, this won't be needed on the next release,
-    # _if_
-    # https://gitlab.freedesktop.org/gstreamer/gst-rtsp-server/merge_requests/1
-    # will be merged. For the current release, this merge request won't apply.
-    ./fix_pkgconfig_includedir.patch
-  ];
-
   nativeBuildInputs = [
     meson
     ninja
diff --git a/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch b/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch
deleted file mode 100644
index d31fe19fb0f..00000000000
--- a/pkgs/development/libraries/gstreamer/rtsp-server/fix_pkgconfig_includedir.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git i/pkgconfig/meson.build w/pkgconfig/meson.build
-index 8ed8299..594cbfe 100644
---- i/pkgconfig/meson.build
-+++ w/pkgconfig/meson.build
-@@ -2,8 +2,8 @@ pkgconf = configuration_data()
- 
- pkgconf.set('prefix', get_option('prefix'))
- pkgconf.set('exec_prefix', '${prefix}')
--pkgconf.set('libdir', '${prefix}/@0@'.format(get_option('libdir')))
--pkgconf.set('includedir', '${prefix}/@0@'.format(get_option('includedir')))
-+pkgconf.set('libdir', join_paths(get_option('prefix'), get_option('libdir')))
-+pkgconf.set('includedir', join_paths(get_option('prefix'), get_option('includedir')))
- pkgconf.set('GST_API_VERSION', api_version)
- pkgconf.set('VERSION', gst_version)
- 
diff --git a/pkgs/development/libraries/gstreamer/ugly/default.nix b/pkgs/development/libraries/gstreamer/ugly/default.nix
index 7c4b21f7c83..05133271f84 100644
--- a/pkgs/development/libraries/gstreamer/ugly/default.nix
+++ b/pkgs/development/libraries/gstreamer/ugly/default.nix
@@ -19,17 +19,18 @@
 , IOKit
 , CoreFoundation
 , DiskArbitration
+, enableGplPlugins ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "gst-plugins-ugly";
-  version = "1.18.5";
+  version = "1.20.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-3zKAPpj4qZeTc/osp+BeYvl3sQl1dtOoBhnZ9cafZtk=";
+    sha256 = "sha256-To3LXSZVLwpJN/a8Ynm9kHD1XKauDqoy1y0mTEQAHC4=";
   };
 
   nativeBuildInputs = [
@@ -43,14 +44,15 @@ stdenv.mkDerivation rec {
   buildInputs = [
     gst-plugins-base
     orc
+    libintl
+    opencore-amr
+  ] ++ lib.optionals enableGplPlugins [
     a52dec
     libcdio
     libdvdread
     libmad
     libmpeg2
     x264
-    libintl
-    opencore-amr
   ] ++ lib.optionals stdenv.isDarwin [
     IOKit
     CoreFoundation
@@ -60,7 +62,16 @@ stdenv.mkDerivation rec {
   mesonFlags = [
     "-Ddoc=disabled" # `hotdoc` not packaged in nixpkgs as of writing
     "-Dsidplay=disabled" # sidplay / sidplay/player.h isn't packaged in nixpkgs as of writing
-  ];
+  ] ++ (if enableGplPlugins then [
+    "-Dgpl=enabled"
+  ] else [
+    "-Da52dec=disabled"
+    "-Dcdio=disabled"
+    "-Ddvdread=disabled"
+    "-Dmpeg2dec=disabled"
+    "-Dsidplay=disabled"
+    "-Dx264=disabled"
+  ]);
 
   postPatch = ''
     patchShebangs \
@@ -76,7 +87,7 @@ stdenv.mkDerivation rec {
       the plug-ins or the supporting libraries might not be how we'd
       like. The code might be widely known to present patent problems.
     '';
-    license = licenses.lgpl2Plus;
+    license = if enableGplPlugins then licenses.gpl2Plus else licenses.lgpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ matthewbauer ];
   };
diff --git a/pkgs/development/libraries/gstreamer/vaapi/default.nix b/pkgs/development/libraries/gstreamer/vaapi/default.nix
index 5de9a247a52..c8b6230cd59 100644
--- a/pkgs/development/libraries/gstreamer/vaapi/default.nix
+++ b/pkgs/development/libraries/gstreamer/vaapi/default.nix
@@ -21,11 +21,11 @@
 
 stdenv.mkDerivation rec {
   pname = "gstreamer-vaapi";
-  version = "1.18.5";
+  version = "1.20.0";
 
   src = fetchurl {
     url = "https://gstreamer.freedesktop.org/src/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-SkYPuVVZ9BRE6ySGStLZ43kitu6pQVEDEDGfw+C6cns=";
+    sha256 = "sha256-95pHNG39XlheBj53B45fxJiwbe6JW/y/R9iGP8rJ6jI=";
   };
 
   outputs = [
diff --git a/pkgs/development/libraries/gtk/4.x.nix b/pkgs/development/libraries/gtk/4.x.nix
index 2b6dfc8fb52..6da3fc769ea 100644
--- a/pkgs/development/libraries/gtk/4.x.nix
+++ b/pkgs/development/libraries/gtk/4.x.nix
@@ -62,7 +62,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "gtk4";
-  version = "4.6.0";
+  version = "4.6.1";
 
   outputs = [ "out" "dev" ] ++ lib.optionals x11Support [ "devdoc" ];
   outputBin = "dev";
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://gnome/sources/gtk/${lib.versions.majorMinor version}/gtk-${version}.tar.xz";
-    sha256 = "eC1ZUfv9WF/J7HbAnQfijmAUxy2wAftWf/8hf7luTYw=";
+    sha256 = "2FUI0hy7zWPVaKeGKvXs1juXjX1XmcvkBMkdI4nQ7F8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gtkmm/4.x.nix b/pkgs/development/libraries/gtkmm/4.x.nix
index c1bac87a6c0..1960a04e95f 100644
--- a/pkgs/development/libraries/gtkmm/4.x.nix
+++ b/pkgs/development/libraries/gtkmm/4.x.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gtkmm";
-  version = "4.4.0";
+  version = "4.6.0";
 
   outputs = [ "out" "dev" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "LrRkMmCW5qQMgunNB0Fk2BA/teB4ZWecCmSeQXRwDdo=";
+    sha256 = "E1OgkJPLVx71rAXZPSALrxMq1gS19JQHd2VuFQWBTB8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/gvfs/default.nix b/pkgs/development/libraries/gvfs/default.nix
index 547c35e66ec..c79f849d22f 100644
--- a/pkgs/development/libraries/gvfs/default.nix
+++ b/pkgs/development/libraries/gvfs/default.nix
@@ -108,6 +108,8 @@ stdenv.mkDerivation rec {
     "-Dkeyring=false"
     "-Dhttp=false"
     "-Dgoogle=false"
+  ] ++ lib.optionals (avahi == null) [
+    "-Ddnssd=false"
   ] ++ lib.optionals (samba == null) [
     # Xfce don't want samba
     "-Dsmb=false"
diff --git a/pkgs/development/libraries/gvm-libs/default.nix b/pkgs/development/libraries/gvm-libs/default.nix
index 63692ca7de0..a141d36e330 100644
--- a/pkgs/development/libraries/gvm-libs/default.nix
+++ b/pkgs/development/libraries/gvm-libs/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gvm-libs";
-  version = "21.4.3";
+  version = "21.4.4";
 
   src = fetchFromGitHub {
     owner = "greenbone";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1NVLGyUDUnOy3GYDtVyhGTvWOYoWp95EbkgTlFWuxE8=";
+    sha256 = "sha256-Ps8J9JuLKcrowl9wgZ3Wm7JTXyiejQPDr4OV/IvDy+I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/harfbuzz/default.nix b/pkgs/development/libraries/harfbuzz/default.nix
index cc6287eace7..1e36f1e7f0f 100644
--- a/pkgs/development/libraries/harfbuzz/default.nix
+++ b/pkgs/development/libraries/harfbuzz/default.nix
@@ -24,7 +24,7 @@
 }:
 
 let
-  version = "3.1.2";
+  version = "3.2.0";
   inherit (lib) optional optionals optionalString;
   mesonFeatureFlag = opt: b:
     "-D${opt}=${if b then "enabled" else "disabled"}";
@@ -39,7 +39,7 @@ stdenv.mkDerivation {
     owner = "harfbuzz";
     repo = "harfbuzz";
     rev = version;
-    sha256 = "sha256-1xndbJhx+1AzJNnpvvdEcBHPZMPaMI03h6sG2h1d3qs=";
+    sha256 = "sha256-iNYp/hyJTaaF6e09YpUL7ktBhq2wRN9zKiEH59WLbYU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/hidapi/default.nix b/pkgs/development/libraries/hidapi/default.nix
index 70e9a39e03f..ffe534ede4a 100644
--- a/pkgs/development/libraries/hidapi/default.nix
+++ b/pkgs/development/libraries/hidapi/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "hidapi";
-  version = "0.11.0";
+  version = "0.11.2";
 
   src = fetchFromGitHub {
     owner = "libusb";
     repo = "hidapi";
     rev = "${pname}-${version}";
-    sha256 = "0dzigvmwbg20b33xn0sklnf489m8g84yrcm8kqlrsd7x8iymsg63";
+    sha256 = "sha256-zSAhnvnDI3+q8VwZ8fIx/YmvwTpL87PBJ2C1mTmD7Ko=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/imgui/default.nix b/pkgs/development/libraries/imgui/default.nix
index 038c5a03620..62f750db62c 100644
--- a/pkgs/development/libraries/imgui/default.nix
+++ b/pkgs/development/libraries/imgui/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "imgui";
-  version = "1.86";
+  version = "1.87";
 
   src = fetchFromGitHub {
     owner = "ocornut";
     repo = "imgui";
     rev = "v${version}";
-    sha256 = "sha256-NuyWrtD+/bRkMlsvU0gNkQhDJVlSPPWhBELN/AtYRwk=";
+    sha256 = "sha256-H5rqXZFw+2PfVMsYvAK+K+pxxI8HnUC0GlPhooWgEYM=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/libraries/imlib2/default.nix b/pkgs/development/libraries/imlib2/default.nix
index b61f4e442bf..1447a327e0d 100644
--- a/pkgs/development/libraries/imlib2/default.nix
+++ b/pkgs/development/libraries/imlib2/default.nix
@@ -12,11 +12,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "imlib2";
-  version = "1.7.3";
+  version = "1.7.5";
 
   src = fetchurl {
-    url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-FY0LjCC8ESIa+ed6ZKEW/KcFGwPN6ixPMdMfRpOC+Zc=";
+    url = "mirror://sourceforge/enlightenment/${pname}-${version}.tar.xz";
+    hash = "sha256-RY2DAKp6bUzjU1GDi7pdn9+wiES9WxU8WTjs/kP/Ngo=";
   };
 
   buildInputs = [
@@ -28,11 +28,6 @@ stdenv.mkDerivation rec {
 
   enableParallelBuilding = true;
 
-  preConfigure = ''
-    substituteInPlace imlib2-config.in \
-      --replace "@my_libs@" ""
-  '';
-
   # Do not build amd64 assembly code on Darwin, because it fails to compile
   # with unknow directive errors
   configureFlags = optional stdenv.isDarwin "--enable-amd64=no"
@@ -40,10 +35,6 @@ stdenv.mkDerivation rec {
 
   outputs = [ "bin" "out" "dev" ];
 
-  postInstall = ''
-    moveToOutput bin/imlib2-config "$dev"
-  '';
-
   meta = with lib; {
     description = "Image manipulation library";
 
@@ -56,7 +47,8 @@ stdenv.mkDerivation rec {
     '';
 
     homepage = "https://docs.enlightenment.org/api/imlib2/html";
-    license = licenses.mit;
+    changelog = "https://git.enlightenment.org/legacy/imlib2.git/plain/ChangeLog?h=v${version}";
+    license = licenses.imlib2;
     platforms = platforms.unix;
     maintainers = with maintainers; [ spwhitt ];
   };
diff --git a/pkgs/development/libraries/intel-media-sdk/default.nix b/pkgs/development/libraries/intel-media-sdk/default.nix
index d383a3093f2..71a4437397a 100644
--- a/pkgs/development/libraries/intel-media-sdk/default.nix
+++ b/pkgs/development/libraries/intel-media-sdk/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "intel-media-sdk";
-  version = "22.1.0";
+  version = "22.2.0";
 
   src = fetchFromGitHub {
     owner = "Intel-Media-SDK";
     repo = "MediaSDK";
     rev = "intel-mediasdk-${version}";
-    sha256 = "sha256-iISG947MUWVVAxykFwB5UK5Z4uQnEWJ6AFr/ZlHx4Nw=";
+    sha256 = "sha256-Hcm48KTuBQbnVHd/T5XqQKbVS/XgJ4TYNbSCc8O53XQ=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/java/gwt-dragdrop/default.nix b/pkgs/development/libraries/java/gwt-dragdrop/default.nix
deleted file mode 100644
index a7270bbfa2b..00000000000
--- a/pkgs/development/libraries/java/gwt-dragdrop/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "gwt-dnd";
-  version = "2.6.5";
-
-  src = fetchurl {
-    url = "http://gwt-dnd.googlecode.com/files/gwt-dnd-${version}.jar";
-    sha256 = "07zdlr8afs499asnw0dcjmw1cnjc646v91lflx5dv4qj374c97fw";
-  };
-
-  dontUnpack = true;
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/java
-    cp $src $out/share/java/$name.jar
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    platforms = platforms.unix;
-    license = licenses.asl20;
-  };
-}
diff --git a/pkgs/development/libraries/java/gwt-widgets/default.nix b/pkgs/development/libraries/java/gwt-widgets/default.nix
deleted file mode 100644
index ebba8548016..00000000000
--- a/pkgs/development/libraries/java/gwt-widgets/default.nix
+++ /dev/null
@@ -1,25 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "gwt-widgets";
-  version = "0.2.0";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/gwt-widget/gwt-widgets-${version}-bin.tar.gz";
-    sha256 = "09isj4j6842rj13nv8264irkjjhvmgihmi170ciabc98911bakxb";
-  };
-
-  installPhase = ''
-    runHook preInstall
-
-    mkdir -p $out/share/java
-    cp gwt-widgets-*.jar $out/share/java
-
-    runHook postInstall
-  '';
-
-  meta = with lib; {
-    platforms = platforms.unix;
-    license = with licenses; [ afl21 lgpl2 ];
-  };
-}
diff --git a/pkgs/development/libraries/jcal/default.nix b/pkgs/development/libraries/jcal/default.nix
index 2b57bd4064b..4ce62ec67bc 100644
--- a/pkgs/development/libraries/jcal/default.nix
+++ b/pkgs/development/libraries/jcal/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     description = "Jalali calendar is a small and portable free software library to manipulate date and time in Jalali calendar system";
     homepage =  "http://nongnu.org/jcal/";
     license = licenses.gpl3;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
index 4135f6bfd7a..ac077b73d6a 100644
--- a/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
+++ b/pkgs/development/libraries/kde-frameworks/extra-cmake-modules/setup-hook.sh
@@ -59,23 +59,24 @@ xdgDataSubdirs=( \
     "wallpapers" "applications" "desktop-directories" "mime" "appdata" "dbus-1" \
 )
 
-ecmHostPathSeen=( )
+# ecmHostPathsSeen is an associative array of the paths that have already been
+# seen by ecmHostPathHook.
+declare -gA ecmHostPathsSeen
 
-ecmUnseenHostPath() {
-    for pkg in "${ecmHostPathSeen[@]}"
-    do
-        if [ "${pkg:?}" == "$1" ]
-        then
-            return 1
-        fi
-    done
-
-    ecmHostPathSeen+=("$1")
-    return 0
+ecmHostPathIsNotSeen() {
+    if [[ -n "${ecmHostPathsSeen["$1"]:-}" ]]; then
+        # The path has been seen before.
+        return 1
+    else
+        # The path has not been seen before.
+        # Now it is seen, so record it.
+        ecmHostPathsSeen["$1"]=1
+        return 0
+    fi
 }
 
 ecmHostPathHook() {
-    ecmUnseenHostPath "$1" || return 0
+    ecmHostPathIsNotSeen "$1" || return 0
 
     local xdgConfigDir="$1/etc/xdg"
     if [ -d "$xdgConfigDir" ]
diff --git a/pkgs/development/libraries/kde-frameworks/fetch.sh b/pkgs/development/libraries/kde-frameworks/fetch.sh
index 825e757c7a8..50204bc0ec0 100644
--- a/pkgs/development/libraries/kde-frameworks/fetch.sh
+++ b/pkgs/development/libraries/kde-frameworks/fetch.sh
@@ -1 +1 @@
-WGET_ARGS=( https://download.kde.org/stable/frameworks/5.89/ -A '*.tar.xz' )
+WGET_ARGS=( https://download.kde.org/stable/frameworks/5.90/ -A '*.tar.xz' )
diff --git a/pkgs/development/libraries/kde-frameworks/srcs.nix b/pkgs/development/libraries/kde-frameworks/srcs.nix
index 3465fc63da2..1ffc5df68c3 100644
--- a/pkgs/development/libraries/kde-frameworks/srcs.nix
+++ b/pkgs/development/libraries/kde-frameworks/srcs.nix
@@ -4,667 +4,667 @@
 
 {
   attica = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/attica-5.89.0.tar.xz";
-      sha256 = "03q2ajvwrl1x6h0jcvc6nh0avj7dqhx4k1lx5qa3xgfxwk01kgp9";
-      name = "attica-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/attica-5.90.0.tar.xz";
+      sha256 = "0zs37qyh9biafk76ps2xfc41hbd1n4dq42qqqcvbqcrwfgqz2wlk";
+      name = "attica-5.90.0.tar.xz";
     };
   };
   baloo = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/baloo-5.89.0.tar.xz";
-      sha256 = "091gjzn4armm4xs61csavwgij54mv8v9hx3gvva18g06gjkajyis";
-      name = "baloo-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/baloo-5.90.0.tar.xz";
+      sha256 = "1nnfys8dyiivd2if81qrgrmpprfni77an9l3wff0l5k85ac86i56";
+      name = "baloo-5.90.0.tar.xz";
     };
   };
   bluez-qt = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/bluez-qt-5.89.0.tar.xz";
-      sha256 = "00wczjvvhxzi12ijf65d66x36gm0x6j5z3b6cwqgdz2s66wr0jw5";
-      name = "bluez-qt-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/bluez-qt-5.90.0.tar.xz";
+      sha256 = "056i5ndrg5fqm1bx49a0plfhlladphha128wi766zdhcm6np11z3";
+      name = "bluez-qt-5.90.0.tar.xz";
     };
   };
   breeze-icons = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/breeze-icons-5.89.0.tar.xz";
-      sha256 = "12l2wzc3pah5qapznriaffh4wz97s6nqxlj9i119k9qw295d6wfw";
-      name = "breeze-icons-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/breeze-icons-5.90.0.tar.xz";
+      sha256 = "06dfh571rf8gp4gnnqn13xqgc1bpc4ycn6bmxf38x53fxxfl3fnn";
+      name = "breeze-icons-5.90.0.tar.xz";
     };
   };
   extra-cmake-modules = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/extra-cmake-modules-5.89.0.tar.xz";
-      sha256 = "0bzhd6xcphrcnbg8ylx91rq5y3vvl3jfcgik19bvh8sr4ad25mrx";
-      name = "extra-cmake-modules-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/extra-cmake-modules-5.90.0.tar.xz";
+      sha256 = "1c5wza7srib3mdkf29ygmyj5b6jq322s6h7k5hlljqm5xhy7q07k";
+      name = "extra-cmake-modules-5.90.0.tar.xz";
     };
   };
   frameworkintegration = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/frameworkintegration-5.89.0.tar.xz";
-      sha256 = "0f7cqxmgnwi4n8fa8vifqaysbk7839x1qbmp9qfa998jxnn1w92f";
-      name = "frameworkintegration-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/frameworkintegration-5.90.0.tar.xz";
+      sha256 = "1v7vlq2gk7j5b6gzbawgnpii7csh2zclp5v24qhx4qrmpfssylan";
+      name = "frameworkintegration-5.90.0.tar.xz";
     };
   };
   kactivities = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kactivities-5.89.0.tar.xz";
-      sha256 = "1dhxl487246kpx4w5zhhdgk94jwns09dvragvh2bb787mszqq5v9";
-      name = "kactivities-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kactivities-5.90.0.tar.xz";
+      sha256 = "0wf7nnf3bjz2iq2wqxnyay1100ks0zscsh7sa8xfcijrl7pp305w";
+      name = "kactivities-5.90.0.tar.xz";
     };
   };
   kactivities-stats = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kactivities-stats-5.89.0.tar.xz";
-      sha256 = "1pp3vkkadaday0pzd09hdhccw6hbrqp481hcdzzyqj1x2ckb59bj";
-      name = "kactivities-stats-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kactivities-stats-5.90.0.tar.xz";
+      sha256 = "0qamy8xggjlnm8pkv6vxbaagcp1hg9vgi2ws2yb9xpqk8mdlfbvp";
+      name = "kactivities-stats-5.90.0.tar.xz";
     };
   };
   kapidox = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kapidox-5.89.0.tar.xz";
-      sha256 = "0a3vwh3rzpcaylz77fs4biiadljchs2lfh6svg149yg95yqwng3b";
-      name = "kapidox-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kapidox-5.90.0.tar.xz";
+      sha256 = "16jl519sx7pirjp5x57x5gbgv477457063rrbwpvyf2ldb6lc29p";
+      name = "kapidox-5.90.0.tar.xz";
     };
   };
   karchive = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/karchive-5.89.0.tar.xz";
-      sha256 = "1s45mns9km1fy2d07d2nmslf4dc2pl5i169ncq2dc7vabjvyh59b";
-      name = "karchive-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/karchive-5.90.0.tar.xz";
+      sha256 = "0411rpgr9dy0zf9mmhj7n7ax0afrn7zvkpzpnjvpvvqsrfkz7qm6";
+      name = "karchive-5.90.0.tar.xz";
     };
   };
   kauth = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kauth-5.89.0.tar.xz";
-      sha256 = "1ys9xr7js8rj07ff7ncp9d52rcn10bg49jcyg4ldam07bfpq36nz";
-      name = "kauth-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kauth-5.90.0.tar.xz";
+      sha256 = "1g4i1prspcczpx25wvd8lgdk8c3my7kp3wv489gvcci40rl5z913";
+      name = "kauth-5.90.0.tar.xz";
     };
   };
   kbookmarks = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kbookmarks-5.89.0.tar.xz";
-      sha256 = "16bh5daimpjwy0gz56v32vslnmzmyfsf8z92s5gi13bkjfp03syn";
-      name = "kbookmarks-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kbookmarks-5.90.0.tar.xz";
+      sha256 = "1svc1i9zxbxf65crfhnv6sz5gknb7x87lzjd8cn11y5lwnsw36kx";
+      name = "kbookmarks-5.90.0.tar.xz";
     };
   };
   kcalendarcore = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kcalendarcore-5.89.0.tar.xz";
-      sha256 = "1xy045d5jl3qk9ka13ximk7x70q5pswh143kqk7cf6x0f7bvgpap";
-      name = "kcalendarcore-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcalendarcore-5.90.0.tar.xz";
+      sha256 = "0qbds2ysjv9rqwpvrhisvdd6wyhq5qwhbw5xcbj7ndxwpf8lpa8w";
+      name = "kcalendarcore-5.90.0.tar.xz";
     };
   };
   kcmutils = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kcmutils-5.89.0.tar.xz";
-      sha256 = "0za9x8v9lnwyib1gip6wbmda19wfjaf2yh6yiqlszxcbsfq7kzhm";
-      name = "kcmutils-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcmutils-5.90.0.tar.xz";
+      sha256 = "04crq3j48xwlvp047p3waqrv1gg5sv1950jh02w85q00yjjh0qxk";
+      name = "kcmutils-5.90.0.tar.xz";
     };
   };
   kcodecs = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kcodecs-5.89.0.tar.xz";
-      sha256 = "1j2pmsyi8lvhnzhrrvsm98x7inf503vr2b58yl070zp293fyhd9q";
-      name = "kcodecs-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcodecs-5.90.0.tar.xz";
+      sha256 = "0kwqyhjs63pqslqcmv3sngyqvl6ah8iaa6nn045sb8a58xb09inh";
+      name = "kcodecs-5.90.0.tar.xz";
     };
   };
   kcompletion = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kcompletion-5.89.0.tar.xz";
-      sha256 = "0bv9kxrdprk1jvsf9mqkag0pkq7h1wngdpvdx9wfy4kkbj7y46zf";
-      name = "kcompletion-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcompletion-5.90.0.tar.xz";
+      sha256 = "0hd3nsixibw5z846mpib2lap3ar65rqvasifdnlmqsrvxfmw0ggk";
+      name = "kcompletion-5.90.0.tar.xz";
     };
   };
   kconfig = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kconfig-5.89.0.tar.xz";
-      sha256 = "0ixil0qyd8byn4ix5w9mp5kdvkscnwhamknrnbqzikhmmknprccf";
-      name = "kconfig-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kconfig-5.90.0.tar.xz";
+      sha256 = "0yqs3ydxzhhb7rrl01swjc9xw8j1bs3n204bf9slb2bs7lfz56rn";
+      name = "kconfig-5.90.0.tar.xz";
     };
   };
   kconfigwidgets = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kconfigwidgets-5.89.0.tar.xz";
-      sha256 = "0rzqx2knc8bc26jyislb1dw5qdhmkga3cqlyiyynbawx3scind60";
-      name = "kconfigwidgets-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kconfigwidgets-5.90.0.tar.xz";
+      sha256 = "1sm1x64x2v3xfcz9ia6qk8d8y1q02fggrc2q0yy5ag5xh1yr9zwq";
+      name = "kconfigwidgets-5.90.0.tar.xz";
     };
   };
   kcontacts = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kcontacts-5.89.0.tar.xz";
-      sha256 = "1yjgrzn3bx8fzmr6mjd2c99gxlh0nqm1fi3sgmcn1bj07jdrp52r";
-      name = "kcontacts-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcontacts-5.90.0.tar.xz";
+      sha256 = "0vv2136da5a6lwdj2x38jx2qwrk96hgn8iwaad4yynvc2csx6dim";
+      name = "kcontacts-5.90.0.tar.xz";
     };
   };
   kcoreaddons = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kcoreaddons-5.89.0.tar.xz";
-      sha256 = "0ss27wz8z2lfhn0njads2rwd62aciamr0vcbj4gyfiv2ddw8bl71";
-      name = "kcoreaddons-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcoreaddons-5.90.0.tar.xz";
+      sha256 = "02m4h4r0kdy94zq8c6d2fhnd8qwrp4a0v5i4wf6khk4yf4fqy5kf";
+      name = "kcoreaddons-5.90.0.tar.xz";
     };
   };
   kcrash = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kcrash-5.89.0.tar.xz";
-      sha256 = "07pc449qqvz6rfs1wk6r2jgfncpliig8c1cxzhbkzqrkcf1gj6ba";
-      name = "kcrash-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kcrash-5.90.0.tar.xz";
+      sha256 = "0634jqzbvr8xkv53n2q3fcqlkcmq843w7g455v3swnlaqi92l04f";
+      name = "kcrash-5.90.0.tar.xz";
     };
   };
   kdav = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kdav-5.89.0.tar.xz";
-      sha256 = "1wyg6bxfp1r1snk40y6q70ix00aqwx4sl4z7jrg12h38cnc8sa6v";
-      name = "kdav-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdav-5.90.0.tar.xz";
+      sha256 = "0181ray8vigmwlamx4j5dinw10al0g4l965kyx4wjq9k59nxxgbi";
+      name = "kdav-5.90.0.tar.xz";
     };
   };
   kdbusaddons = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kdbusaddons-5.89.0.tar.xz";
-      sha256 = "1yh5xx01wsjcj6axcw1r94p32rrs111078prssgnngbrihbhbjzh";
-      name = "kdbusaddons-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdbusaddons-5.90.0.tar.xz";
+      sha256 = "0g609bymfixwaic30y7i0q96anf7pi3galipmjbbfg85ghj9rsa4";
+      name = "kdbusaddons-5.90.0.tar.xz";
     };
   };
   kdeclarative = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kdeclarative-5.89.0.tar.xz";
-      sha256 = "18a4rcx60h5j44d79bhr2l46f3lhgnf2x0sb64dr7dcc0m5rmsay";
-      name = "kdeclarative-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdeclarative-5.90.0.tar.xz";
+      sha256 = "1z7zyj6pw2ym3izi19kpgy12mqpar6mbdbsn6jpxy36l6m3jld1y";
+      name = "kdeclarative-5.90.0.tar.xz";
     };
   };
   kded = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kded-5.89.0.tar.xz";
-      sha256 = "1rr3g7b60zlx8j7d7k2hlhhv2wa67lakfpyd1zgpy2y3k281hbfl";
-      name = "kded-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kded-5.90.0.tar.xz";
+      sha256 = "094g6p87nd5cxcars71315w6zrxjgiw2080p6cf6g72ww54k7sps";
+      name = "kded-5.90.0.tar.xz";
     };
   };
   kdelibs4support = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kdelibs4support-5.89.0.tar.xz";
-      sha256 = "1672f75f0wmdrqhx9vynzgflm3ssmngkpp1r5li53ppb11wg6sbr";
-      name = "kdelibs4support-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kdelibs4support-5.90.0.tar.xz";
+      sha256 = "0zxc11jbg06qz79ljrd6wl36jp73hafcmbk29d0hcvxnkscg3k29";
+      name = "kdelibs4support-5.90.0.tar.xz";
     };
   };
   kdesignerplugin = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kdesignerplugin-5.89.0.tar.xz";
-      sha256 = "0g8y51i70m8s7y829qyqnki57s8d4l3xdpdbn1p2rr1szglj8hvf";
-      name = "kdesignerplugin-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kdesignerplugin-5.90.0.tar.xz";
+      sha256 = "18gsy8f32hjadzjnavi3dsknc6hflcnfpr0107lwfc735fd2x2iq";
+      name = "kdesignerplugin-5.90.0.tar.xz";
     };
   };
   kdesu = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kdesu-5.89.0.tar.xz";
-      sha256 = "0jmww11l6709cpfriwklhij5izsh948mki9grzzq3jijw8zs0mrx";
-      name = "kdesu-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdesu-5.90.0.tar.xz";
+      sha256 = "1q8k2q7c41fzw9gwx9nq4zjpjdwvh29zyh3zd0w3r2kxf6vhf1wp";
+      name = "kdesu-5.90.0.tar.xz";
     };
   };
   kdewebkit = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kdewebkit-5.89.0.tar.xz";
-      sha256 = "0xwd346z928yk4iwykgashc36m2xqnwn49jix5jbk1w57dbia2da";
-      name = "kdewebkit-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kdewebkit-5.90.0.tar.xz";
+      sha256 = "19dqlxy2sl822aldqy1jj7fvxabmg97a0av7d5ayzhnbhhy5izx1";
+      name = "kdewebkit-5.90.0.tar.xz";
     };
   };
   kdnssd = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kdnssd-5.89.0.tar.xz";
-      sha256 = "0v72g137l8kl2xapfrcrw8w6zmn94h08hvwdggzr9fvgswzdbvsh";
-      name = "kdnssd-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdnssd-5.90.0.tar.xz";
+      sha256 = "17szlqsafz6p4h7s9wascaggn5909c1ig452wy6y4z4402s2lsrr";
+      name = "kdnssd-5.90.0.tar.xz";
     };
   };
   kdoctools = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kdoctools-5.89.0.tar.xz";
-      sha256 = "1x8q45y2sgi3d9j79qcx02z2939j52mp1jrs3rjqq42xxvvrlcg1";
-      name = "kdoctools-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kdoctools-5.90.0.tar.xz";
+      sha256 = "1l2a9mlcm8np3s8myq0hj08l82284r90yhx3z2gn7h68b8fzyx0s";
+      name = "kdoctools-5.90.0.tar.xz";
     };
   };
   kemoticons = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kemoticons-5.89.0.tar.xz";
-      sha256 = "0mcyq20ca6x73jhwwhhwq8jzqpadnazjy5y9dyfa2wz8ijbnjqzw";
-      name = "kemoticons-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kemoticons-5.90.0.tar.xz";
+      sha256 = "08mgk56dafj3q9gs69qcx17qfc45s8ifkjrpzg44p8zs0q51q6cb";
+      name = "kemoticons-5.90.0.tar.xz";
     };
   };
   kfilemetadata = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kfilemetadata-5.89.0.tar.xz";
-      sha256 = "04abysdijmpdd05grihawpbw8f9h3fhlv3y7wjz76kl66gyqg035";
-      name = "kfilemetadata-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kfilemetadata-5.90.0.tar.xz";
+      sha256 = "18y4bn6hz8xa68m0nxv88a1f3xkkks7c7pbiqb1vkrp9bbh52yax";
+      name = "kfilemetadata-5.90.0.tar.xz";
     };
   };
   kglobalaccel = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kglobalaccel-5.89.0.tar.xz";
-      sha256 = "0jxxlhmwsgrx1p6w1al9c11bglxn5im181wqih7ds5h2naa7b8kj";
-      name = "kglobalaccel-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kglobalaccel-5.90.0.tar.xz";
+      sha256 = "04qd1fcc22x70jacqzrv44q1jg5ldzynlfpw5cg2679409r0wnxw";
+      name = "kglobalaccel-5.90.0.tar.xz";
     };
   };
   kguiaddons = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kguiaddons-5.89.0.tar.xz";
-      sha256 = "17mxkk4w4q6bkqblkdinw2b0jdfxhk7xkfy5hw730gjm6is6p861";
-      name = "kguiaddons-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kguiaddons-5.90.0.tar.xz";
+      sha256 = "0m9l8xyc7xyj29fzxwp8ahr2l1rzs5rw1c26x446kb7smxvy8awx";
+      name = "kguiaddons-5.90.0.tar.xz";
     };
   };
   kholidays = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kholidays-5.89.0.tar.xz";
-      sha256 = "0ry0n73dkjxv7ani753mh8ymy4yblhj841ca5y5kci8wr9h6358w";
-      name = "kholidays-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kholidays-5.90.0.tar.xz";
+      sha256 = "1p1kgy110ijk5a3ix4g9y1i7w0gsnzf82jdkwbdza95vibm82iz8";
+      name = "kholidays-5.90.0.tar.xz";
     };
   };
   khtml = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/khtml-5.89.0.tar.xz";
-      sha256 = "072pawwp62mx5shh8x4mcpr8h6a24qr82zyyiricz4jba0r7z3yr";
-      name = "khtml-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/khtml-5.90.0.tar.xz";
+      sha256 = "1bi839x4dhlkqxmv98pq01725b8i8szdxf9b1hf1jv37fk468mja";
+      name = "khtml-5.90.0.tar.xz";
     };
   };
   ki18n = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/ki18n-5.89.0.tar.xz";
-      sha256 = "1zlq0ywd8hnaniwdv3vd76xmv91cdn6pqs6k9y6dz3fayl15p0g6";
-      name = "ki18n-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/ki18n-5.90.0.tar.xz";
+      sha256 = "13k8kbkmgdywclcdbfj5ri3gmdblv8yzalmvqd0hn7sym6pkdqfw";
+      name = "ki18n-5.90.0.tar.xz";
     };
   };
   kiconthemes = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kiconthemes-5.89.0.tar.xz";
-      sha256 = "1hv8blvvg12agjynl0yvvsl8dfsyk2aa9clmq60igcs5lm4jpvaa";
-      name = "kiconthemes-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kiconthemes-5.90.0.tar.xz";
+      sha256 = "0w3wi4xy1yy2s1a927cj4my63q0fqhw06ghy9zjw830m31xwpx1k";
+      name = "kiconthemes-5.90.0.tar.xz";
     };
   };
   kidletime = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kidletime-5.89.0.tar.xz";
-      sha256 = "0547yj8yn9nly3bkq3in38ljhwbg0bvj0wp3yxp2dl05wpyvzqfz";
-      name = "kidletime-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kidletime-5.90.0.tar.xz";
+      sha256 = "1xzwmk0aqv1lcdi51nl1k0lyiinnqxwla6w0xxmsh6193qa3fpvq";
+      name = "kidletime-5.90.0.tar.xz";
     };
   };
   kimageformats = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kimageformats-5.89.0.tar.xz";
-      sha256 = "1m3fl14lzsfl0fam38nnalapc1xhpryf1ibvcm7bgh4g1cm1bvnw";
-      name = "kimageformats-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kimageformats-5.90.0.tar.xz";
+      sha256 = "0r3ihkly0hf20aqbn7b9171mzqjna078rksdp96z6f7f1qy99v1v";
+      name = "kimageformats-5.90.0.tar.xz";
     };
   };
   kinit = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kinit-5.89.0.tar.xz";
-      sha256 = "1llaqz7yv011k4g1fvy1rzlff8bdgvqwqvh3s3nrqahwq2gx2rr9";
-      name = "kinit-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kinit-5.90.0.tar.xz";
+      sha256 = "0z65hfhj68ahjm558p2pj7dlrczcww8f2xyw9f44w10bp3p5hf1a";
+      name = "kinit-5.90.0.tar.xz";
     };
   };
   kio = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kio-5.89.0.tar.xz";
-      sha256 = "1ka8s6cj7ms74w4xj6x91hx1ijlh883x3ibjwmbhva6mbzk1z0nx";
-      name = "kio-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kio-5.90.0.tar.xz";
+      sha256 = "0ds6465fyzjj2azwdghrkxr9wvih0m96lv4kp6syqwii8nv2w7rs";
+      name = "kio-5.90.0.tar.xz";
     };
   };
   kirigami2 = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kirigami2-5.89.0.tar.xz";
-      sha256 = "1jn5c0lhh7hcp81278kagw0r96nri80x9vrg51jg7cs42h7pfp98";
-      name = "kirigami2-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kirigami2-5.90.0.tar.xz";
+      sha256 = "0r48n11pv3yqsf11phl19cs52ph5ldabrfmq3xmsvxsknm6c4f9b";
+      name = "kirigami2-5.90.0.tar.xz";
     };
   };
   kitemmodels = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kitemmodels-5.89.0.tar.xz";
-      sha256 = "10bag80kjz4x22097z9w1liw73kkirk72266vr0qplyr00jwqi33";
-      name = "kitemmodels-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kitemmodels-5.90.0.tar.xz";
+      sha256 = "0f7zlif7kskbwpw8yrzlfyl954b623icdd9qn0algjcc2i9gqbzi";
+      name = "kitemmodels-5.90.0.tar.xz";
     };
   };
   kitemviews = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kitemviews-5.89.0.tar.xz";
-      sha256 = "180n41gkv6vgmljcqh2sg5922glq59z56zq7y299vwnkgix9aqns";
-      name = "kitemviews-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kitemviews-5.90.0.tar.xz";
+      sha256 = "10s285vxaaxjcy3am4bvch5wd7wv64wwcjvj7lqk2866aql9hmzp";
+      name = "kitemviews-5.90.0.tar.xz";
     };
   };
   kjobwidgets = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kjobwidgets-5.89.0.tar.xz";
-      sha256 = "02ysdzn25a9lms70fawnz3h5vdxy9p528qmbxslsnpz29r5h2wb8";
-      name = "kjobwidgets-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kjobwidgets-5.90.0.tar.xz";
+      sha256 = "1jv3c68mlsxhnd6jgqw5d4qqd66jf8bh6zbcs6bq0bad52ad2r8d";
+      name = "kjobwidgets-5.90.0.tar.xz";
     };
   };
   kjs = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kjs-5.89.0.tar.xz";
-      sha256 = "0yxk4qwl4cxv3kklvla5q3xx2vgj4lwp4pb3bplkkbighm01naih";
-      name = "kjs-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kjs-5.90.0.tar.xz";
+      sha256 = "1z5d1ixzvaq6x9x0jhmh5bdrdqpsl1x7mh3s8wnycfxwmln6bawv";
+      name = "kjs-5.90.0.tar.xz";
     };
   };
   kjsembed = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kjsembed-5.89.0.tar.xz";
-      sha256 = "08ajxgh1lfbx8nf4vsljzcwkfjih8fyqp9nr2xbv2a9dbv51x1sf";
-      name = "kjsembed-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kjsembed-5.90.0.tar.xz";
+      sha256 = "0ydrsg7z1b5hkskjvkb0b9lhx60aqcby2alhfbmkac197sf2frn4";
+      name = "kjsembed-5.90.0.tar.xz";
     };
   };
   kmediaplayer = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kmediaplayer-5.89.0.tar.xz";
-      sha256 = "0hf44hij1bqcfvxhs7ka00habgh3lc39xajnblpm9br8xybgkaz0";
-      name = "kmediaplayer-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kmediaplayer-5.90.0.tar.xz";
+      sha256 = "010m5qrn41hcxsmxsq72m83qxikfvn3mgibkgy4bn2x8kxibzmlq";
+      name = "kmediaplayer-5.90.0.tar.xz";
     };
   };
   knewstuff = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/knewstuff-5.89.0.tar.xz";
-      sha256 = "1qw3lm4vjxal7r314y0zqj59fmzj4b9z2dsd10r3mxpiwjra0s45";
-      name = "knewstuff-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/knewstuff-5.90.0.tar.xz";
+      sha256 = "0q30p7z5zg3p24gp8q83i7my5bg4yfcdwsblmhl230kih8aap2cg";
+      name = "knewstuff-5.90.0.tar.xz";
     };
   };
   knotifications = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/knotifications-5.89.0.tar.xz";
-      sha256 = "1jghpawqp0zy1scs2l0dqz2sqv4xd65xiavabpjwhycx5pxpvbhs";
-      name = "knotifications-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/knotifications-5.90.0.tar.xz";
+      sha256 = "15qb3jh5y1z84dp6wddwid4bk3ks05knkxlwv79hb9cdj8m4m7gi";
+      name = "knotifications-5.90.0.tar.xz";
     };
   };
   knotifyconfig = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/knotifyconfig-5.89.0.tar.xz";
-      sha256 = "041qnnxhsi35xygyzlppvpghfd8fxraas824dz7rfjiym2zid7jh";
-      name = "knotifyconfig-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/knotifyconfig-5.90.0.tar.xz";
+      sha256 = "1qss40sr7az9x4yvl59mblzzgjm3hd8nvxgqmqlylargvggw496c";
+      name = "knotifyconfig-5.90.0.tar.xz";
     };
   };
   kpackage = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kpackage-5.89.0.tar.xz";
-      sha256 = "198n0gr2v9r11ml2vkx9xazxf3rbw3qgc44l7x134rpn1jv9b0s3";
-      name = "kpackage-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kpackage-5.90.0.tar.xz";
+      sha256 = "1rig9aws8530sav0pmginqmdcrnz10qjbxfc5lw6mmb3sfig53z0";
+      name = "kpackage-5.90.0.tar.xz";
     };
   };
   kparts = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kparts-5.89.0.tar.xz";
-      sha256 = "0vdz1sxqkx2nynlsywyp8j2ciq226cs40c3m70lqs0j5w283i5ra";
-      name = "kparts-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kparts-5.90.0.tar.xz";
+      sha256 = "1x8kxd8kgzabd9dyqx2yx1qrrzl1mms4hm3lyg3f1nxki7xl6ra2";
+      name = "kparts-5.90.0.tar.xz";
     };
   };
   kpeople = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kpeople-5.89.0.tar.xz";
-      sha256 = "12bry15lr7xpgmfgpw1mdd805n1af6050vaa3pk4mbf0vc6clg5y";
-      name = "kpeople-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kpeople-5.90.0.tar.xz";
+      sha256 = "1632k365bn9n3n8babq620v0px2hmapk8fprx28xpfp27zakhfgw";
+      name = "kpeople-5.90.0.tar.xz";
     };
   };
   kplotting = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kplotting-5.89.0.tar.xz";
-      sha256 = "1asqzv5jl2nb9ml5vwlpcsi9f2vw7y8rcihlvkf569s7kxsrswns";
-      name = "kplotting-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kplotting-5.90.0.tar.xz";
+      sha256 = "0i5ganvpzkpkd2p1avw0fpbp3mgbbifg8mmpvdf28ayh75dvrh9y";
+      name = "kplotting-5.90.0.tar.xz";
     };
   };
   kpty = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kpty-5.89.0.tar.xz";
-      sha256 = "0053sx30d1w2m03wqv3mhkjrxdf7ps1xj8h74fv0a0clf9ab0i4x";
-      name = "kpty-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kpty-5.90.0.tar.xz";
+      sha256 = "1p5ny9ry0wwwprhpj9s9xg96h9476rldly7mawvfp5q3ihys8c4a";
+      name = "kpty-5.90.0.tar.xz";
     };
   };
   kquickcharts = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kquickcharts-5.89.0.tar.xz";
-      sha256 = "05syj1162j1zhg9wws81kk9z2ri3jvlvnq95l3gv29zf582j7h91";
-      name = "kquickcharts-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kquickcharts-5.90.0.tar.xz";
+      sha256 = "1vf9vwrb03z6f19xyc1dc50s3kz21s4mkrv85mmyia0by4qvq5fi";
+      name = "kquickcharts-5.90.0.tar.xz";
     };
   };
   kross = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kross-5.89.0.tar.xz";
-      sha256 = "0j88ikhxypyy4yickcz3hcdfaj8g7qjinf5va7g5ghzjar7q9x4y";
-      name = "kross-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kross-5.90.0.tar.xz";
+      sha256 = "1gs7h03j753pq78q0fmajgd5pw8j3mc105rsph1c22l23vccya3z";
+      name = "kross-5.90.0.tar.xz";
     };
   };
   krunner = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/krunner-5.89.0.tar.xz";
-      sha256 = "11wzn33k6gwfiwc6idhsr8fj441c82bbzz8bx8i228ymvnqrdcqx";
-      name = "krunner-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/krunner-5.90.0.tar.xz";
+      sha256 = "1q3hsml5274v8dy8rnqpnwxliad2q7a8mbs8k6kpqzih9z94crgi";
+      name = "krunner-5.90.0.tar.xz";
     };
   };
   kservice = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kservice-5.89.0.tar.xz";
-      sha256 = "0srbjazz302w7zsxh5zcq5zhgz8ad09zxld1rpfkyxg5z820lrq5";
-      name = "kservice-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kservice-5.90.0.tar.xz";
+      sha256 = "121y8bbq3m4pv5m9pj753v2nk914216a86ksmdqbgffw217qckdd";
+      name = "kservice-5.90.0.tar.xz";
     };
   };
   ktexteditor = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/ktexteditor-5.89.0.tar.xz";
-      sha256 = "02bg84dmqadjlwfmccviz0d0wj0qf9fy2i9igq4mv150hqy93bb7";
-      name = "ktexteditor-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/ktexteditor-5.90.0.tar.xz";
+      sha256 = "1g1dky9bgr2zjr0rw9c730shz588ykyw7qw3sgf0dr3sh8aq222n";
+      name = "ktexteditor-5.90.0.tar.xz";
     };
   };
   ktextwidgets = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/ktextwidgets-5.89.0.tar.xz";
-      sha256 = "0yz2y111hjs1zq1f8887sn334gpf0sv4lrfq3i5dj0x3vcjgmccl";
-      name = "ktextwidgets-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/ktextwidgets-5.90.0.tar.xz";
+      sha256 = "02g85zahh6hfsw3fcac7hp8kv4d1ha2asmmhnknqd054yl0adxjg";
+      name = "ktextwidgets-5.90.0.tar.xz";
     };
   };
   kunitconversion = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kunitconversion-5.89.0.tar.xz";
-      sha256 = "1bmnlcsi8qbba38ywr3f4vd7kddiwzmrnn9n69c6626jg4aj3g1q";
-      name = "kunitconversion-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kunitconversion-5.90.0.tar.xz";
+      sha256 = "1vrvbsd8limfsmgjcv5kvzyf7g62rv1a0rvbdyq15z23zf4rsmf3";
+      name = "kunitconversion-5.90.0.tar.xz";
     };
   };
   kwallet = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kwallet-5.89.0.tar.xz";
-      sha256 = "1yy34asal5jni78jxywddh3hjpzsr1myck0f89h78a2zc28xnd1h";
-      name = "kwallet-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwallet-5.90.0.tar.xz";
+      sha256 = "06ffg84jvrc8xhymg1g5j311vq3ajfqg3arx2cxa98aqld213akl";
+      name = "kwallet-5.90.0.tar.xz";
     };
   };
   kwayland = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kwayland-5.89.0.tar.xz";
-      sha256 = "1sq4zy9bifbqlg8s3af2vwxyyg84kmxfyvdi479cn46vdavylp2j";
-      name = "kwayland-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwayland-5.90.0.tar.xz";
+      sha256 = "0n7f4rx695q889j8g4sdpdi3jhk29z8zc4wrk5srs2diqi4y0qqi";
+      name = "kwayland-5.90.0.tar.xz";
     };
   };
   kwidgetsaddons = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kwidgetsaddons-5.89.0.tar.xz";
-      sha256 = "1rs30ialmrhwvxah6rvzbavjnp4ziaaf0j0jcm63kyqbb5nywgmk";
-      name = "kwidgetsaddons-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwidgetsaddons-5.90.0.tar.xz";
+      sha256 = "1c17iq0q2w80p7v7k32db0pc5sbzqhvh0w5d145a1nkgr3nbnk6a";
+      name = "kwidgetsaddons-5.90.0.tar.xz";
     };
   };
   kwindowsystem = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kwindowsystem-5.89.0.tar.xz";
-      sha256 = "1h0v72mb7s36ggw8nv70rpk16q0cflbhgvqwzlfqvh68kbs35a4q";
-      name = "kwindowsystem-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kwindowsystem-5.90.0.tar.xz";
+      sha256 = "0fj7a86dk833ld76c3b1s4ri47bhpvjsi6ryfgdv5q7h2fwh6ia5";
+      name = "kwindowsystem-5.90.0.tar.xz";
     };
   };
   kxmlgui = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/kxmlgui-5.89.0.tar.xz";
-      sha256 = "0mjfg0hd9rswz3jpmc8xjw5jqgip58cx3bavijdlnp7pla7r7j56";
-      name = "kxmlgui-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/kxmlgui-5.90.0.tar.xz";
+      sha256 = "1q8v1wrx67c37jnd874ilkk8kfk3zvf3f86qg51k16ml0nrwjysg";
+      name = "kxmlgui-5.90.0.tar.xz";
     };
   };
   kxmlrpcclient = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/portingAids/kxmlrpcclient-5.89.0.tar.xz";
-      sha256 = "0ri3z76r1v1vfp3j0mrpvan6jzmp57a5g4vwshv4zgyvr484qhlp";
-      name = "kxmlrpcclient-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/portingAids/kxmlrpcclient-5.90.0.tar.xz";
+      sha256 = "0mq2wgi4qnvscjdkis7jhs004k3s1b3wg0vijjai7xzy772kvclc";
+      name = "kxmlrpcclient-5.90.0.tar.xz";
     };
   };
   modemmanager-qt = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/modemmanager-qt-5.89.0.tar.xz";
-      sha256 = "1sam8cr638h9gyp60dhgmrpddy6y7waf9xaij46kvc0xdan501fi";
-      name = "modemmanager-qt-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/modemmanager-qt-5.90.0.tar.xz";
+      sha256 = "08nlvg5lwvl3rspi848gp2b2b5pki6sy8c3ww9nn4afy4lk7p609";
+      name = "modemmanager-qt-5.90.0.tar.xz";
     };
   };
   networkmanager-qt = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/networkmanager-qt-5.89.0.tar.xz";
-      sha256 = "1x1pxsf4dm8h0bj6my9rg2j95nnn81919fv9apvqglf6i3xd2pq4";
-      name = "networkmanager-qt-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/networkmanager-qt-5.90.0.tar.xz";
+      sha256 = "0i9wvrxbkbil21zndiq4cmnldbqsrdp9gnhmp2ns78xdih8wysa7";
+      name = "networkmanager-qt-5.90.0.tar.xz";
     };
   };
   oxygen-icons5 = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/oxygen-icons5-5.89.0.tar.xz";
-      sha256 = "1gmx2k5hqfa0lap2y9sv7csi09s8nl3rvab5nz731wr3s9m2frpr";
-      name = "oxygen-icons5-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/oxygen-icons5-5.90.0.tar.xz";
+      sha256 = "1izfh6cxivmwiymy7lwbmf9j1hxy2skv6z1lbjr0c4snmx6pqx1g";
+      name = "oxygen-icons5-5.90.0.tar.xz";
     };
   };
   plasma-framework = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/plasma-framework-5.89.0.tar.xz";
-      sha256 = "0wx6a3agplfmf2p86ljhgd3pjx7f15g1hp660i62zw84zvpsh2dp";
-      name = "plasma-framework-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/plasma-framework-5.90.0.tar.xz";
+      sha256 = "1msqjnwvb815kii0rjhn1lvsnvq5wr8iprdjzsviw67va6gaz4p1";
+      name = "plasma-framework-5.90.0.tar.xz";
     };
   };
   prison = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/prison-5.89.0.tar.xz";
-      sha256 = "0jd3qfj5k4fxqpbkjpr81mvni9kqppcq0gn5yyc9nys4wk4nr934";
-      name = "prison-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/prison-5.90.0.tar.xz";
+      sha256 = "0z2k2hyjj86va5rqgd8qrvhflfppcl2d3f9smxb5w9pp19ashvyk";
+      name = "prison-5.90.0.tar.xz";
     };
   };
   purpose = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/purpose-5.89.0.tar.xz";
-      sha256 = "1sfhwzw1ghr1yg4fkrz0r2myd5569mscsr98pnc3plr78ppq9lwy";
-      name = "purpose-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/purpose-5.90.0.tar.xz";
+      sha256 = "182196hj3mdy1k7wfgadfxy7m1kbqzk6kksn7yd681h2gpky82l1";
+      name = "purpose-5.90.0.tar.xz";
     };
   };
   qqc2-desktop-style = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/qqc2-desktop-style-5.89.0.tar.xz";
-      sha256 = "1q2y0hb69f3ldaslbpw8v0xapchqndjp4wzgmghd1zqab8lqjl5c";
-      name = "qqc2-desktop-style-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/qqc2-desktop-style-5.90.0.tar.xz";
+      sha256 = "05g1rydx0innmiz28mslix4bjsrhsnci227gadngzijncp2v288r";
+      name = "qqc2-desktop-style-5.90.0.tar.xz";
     };
   };
   solid = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/solid-5.89.0.tar.xz";
-      sha256 = "1gy8ddg5803fpdifg68gkjrl9l2dwjrmwyzq5jzsfr6yabcfih93";
-      name = "solid-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/solid-5.90.0.tar.xz";
+      sha256 = "10hk4mh426dhi7is5hxa1varn15ijzra5a420zk297pzkphvx0ip";
+      name = "solid-5.90.0.tar.xz";
     };
   };
   sonnet = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/sonnet-5.89.0.tar.xz";
-      sha256 = "0fdkx68hyp5fq0fyfbq0691vcx70qm7md2nd4028gmpcbxxaixa1";
-      name = "sonnet-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/sonnet-5.90.0.tar.xz";
+      sha256 = "0d4xxm9vw1rc2mypv4z0yihcn679sab0afxr2kbzq01wr6p759y7";
+      name = "sonnet-5.90.0.tar.xz";
     };
   };
   syndication = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/syndication-5.89.0.tar.xz";
-      sha256 = "186dw32jhgfwz7dz9payx645gvhgzcf6qy5qiad6ifkvda50g9cw";
-      name = "syndication-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/syndication-5.90.0.tar.xz";
+      sha256 = "0a9j443w42jwvlzjh5mfxn25kwjrz1ya6sgy0c4y3n5xbg031zmx";
+      name = "syndication-5.90.0.tar.xz";
     };
   };
   syntax-highlighting = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/syntax-highlighting-5.89.0.tar.xz";
-      sha256 = "0iy9ryjf6bcxwp9kni00p82mx1bg101z8331ykixffn41vfgxb9a";
-      name = "syntax-highlighting-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/syntax-highlighting-5.90.0.tar.xz";
+      sha256 = "19mckdfdxb5i26y75cgmda91s864jbh1wmf98bv8xa1iqxwkwj5z";
+      name = "syntax-highlighting-5.90.0.tar.xz";
     };
   };
   threadweaver = {
-    version = "5.89.0";
+    version = "5.90.0";
     src = fetchurl {
-      url = "${mirror}/stable/frameworks/5.89/threadweaver-5.89.0.tar.xz";
-      sha256 = "03yrlp9ixfb3wsrfmgxfhryzy2jsfnk4wnphmlk5nh98nxa9706x";
-      name = "threadweaver-5.89.0.tar.xz";
+      url = "${mirror}/stable/frameworks/5.90/threadweaver-5.90.0.tar.xz";
+      sha256 = "1frhzlzmnrp5y3lrl0ahzxh8syj4vlkjvaypsmbm2bkkn4akizg3";
+      name = "threadweaver-5.90.0.tar.xz";
     };
   };
 }
diff --git a/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch b/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch
deleted file mode 100644
index 0f33815b6e9..00000000000
--- a/pkgs/development/libraries/kerberos/krb5-Fix-Linux-build-error-with-musl-libc.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From cbdbc8d00d31344fafe00e0fdf984e04e631f7c4 Mon Sep 17 00:00:00 2001
-From: TBK <tbk@jjtc.eu>
-Date: Wed, 26 Feb 2020 21:12:45 +0100
-Subject: [PATCH] Fix Linux build error with musl libc
-
-Commit bf5953c549a6d279977df69ffe89b2ba51460eaf caused a build failure
-on non-glibc Linux build environments.  Change the conditionalization
-so that __GLIBC_PREREQ will only be used if it is defined.
-
-[ghudson@mit.edu: simplified conditionals; rewrote commit message]
-
-ticket: 8880 (new)
-tags: pullup
-target_version: 1.18-next
----
- src/util/support/plugins.c | 3 +--
- 1 file changed, 1 insertion(+), 2 deletions(-)
-
-diff --git a/src/util/support/plugins.c b/src/util/support/plugins.c
-index 3329db7dc3..1644d16fd0 100644
---- a/src/util/support/plugins.c
-+++ b/src/util/support/plugins.c
-@@ -62,8 +62,7 @@
-  * dlopen() with RTLD_NODELETE, we weren't going to unload the plugin objects
-  * anyway.
-  */
--#ifdef __linux__
--#include <features.h>
-+#ifdef __GLIBC__PREREQ
- #if ! __GLIBC_PREREQ(2, 25)
- #define dlclose(x)
- #endif
diff --git a/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch b/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch
deleted file mode 100644
index f8718606a7f..00000000000
--- a/pkgs/development/libraries/kerberos/krb5-Fix-typo-in-musl-build-fix.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From b009cca2026b615ef5386faa4c0230bc27c4161d Mon Sep 17 00:00:00 2001
-From: Greg Hudson <ghudson@mit.edu>
-Date: Thu, 12 Mar 2020 00:44:10 -0400
-Subject: [PATCH] Fix typo in musl build fix
-
-Commit cbdbc8d00d31344fafe00e0fdf984e04e631f7c4 checked for
-__GLIBC__PREREQ instead of __GLIBC_PREREQ, thus accidentally reverting
-the workaround introduced in commit
-bf5953c549a6d279977df69ffe89b2ba51460eaf.  Fix the typo.
-
-ticket: 8880
----
- src/util/support/plugins.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/util/support/plugins.c b/src/util/support/plugins.c
-index 1644d16fd0..1ff10c354d 100644
---- a/src/util/support/plugins.c
-+++ b/src/util/support/plugins.c
-@@ -62,7 +62,7 @@
-  * dlopen() with RTLD_NODELETE, we weren't going to unload the plugin objects
-  * anyway.
-  */
--#ifdef __GLIBC__PREREQ
-+#ifdef __GLIBC_PREREQ
- #if ! __GLIBC_PREREQ(2, 25)
- #define dlclose(x)
- #endif
diff --git a/pkgs/development/libraries/kerberos/krb5.nix b/pkgs/development/libraries/kerberos/krb5.nix
index ebec5936b54..c632c2fdac9 100644
--- a/pkgs/development/libraries/kerberos/krb5.nix
+++ b/pkgs/development/libraries/kerberos/krb5.nix
@@ -19,23 +19,13 @@ in
 with lib;
 stdenv.mkDerivation rec {
   name = "${type}krb5-${version}";
-  majorVersion = "1.18"; # remove patches below with next upgrade
-  version = majorVersion;
+  version = "1.19.2";
 
   src = fetchurl {
-    url = "https://kerberos.org/dist/krb5/${majorVersion}/krb5-${version}.tar.gz";
-    sha256 = "121c5xsy3x0i4wdkrpw62yhvji6virbh6n30ypazkp0isws3k4bk";
+    url = "https://kerberos.org/dist/krb5/${versions.majorMinor version}/krb5-${version}.tar.gz";
+    sha256 = "0snz1jm2w4dkk65zcz953jmmv9mqa30fanch2bk8r3rs9vp3yi8h";
   };
 
-  patches = optionals stdenv.hostPlatform.isMusl [
-    # TODO: Remove with next release > 1.18
-    # Patches to fix musl build with 1.18.
-    # Not using `fetchpatch` for these for now to avoid infinite recursion
-    # errors in downstream projects (unclear if it's a nixpkgs issue so far).
-    ./krb5-Fix-Linux-build-error-with-musl-libc.patch
-    ./krb5-Fix-typo-in-musl-build-fix.patch
-  ];
-
   outputs = [ "out" "dev" ];
 
   configureFlags = [ "--with-tcl=no" "--localstatedir=/var/lib"]
diff --git a/pkgs/development/libraries/kquickimageedit/default.nix b/pkgs/development/libraries/kquickimageedit/default.nix
index ca0afe103b7..1089c3ddf1f 100644
--- a/pkgs/development/libraries/kquickimageedit/default.nix
+++ b/pkgs/development/libraries/kquickimageedit/default.nix
@@ -1,19 +1,28 @@
-{ mkDerivation
+{ lib
+, mkDerivation
 , fetchFromGitLab
 , extra-cmake-modules
 }:
 
 mkDerivation rec {
   pname = "kquickimageeditor";
-  version = "0.1.3";
+  version = "0.2.0";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "libraries";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-p2uOssS5MQSkmppNKOjTxp866Qx1rIB6ZPhcmVvfBxs=";
+    sha256 = "sha256-g7+BAWjpQBJPbrwnIwSudjBFtwaj4JKemV+BLfPzl4I=";
   };
 
   nativeBuildInputs = [ extra-cmake-modules ];
+
+  meta = with lib; {
+    description = "Set of QtQuick components providing basic image editing capabilities";
+    homepage = "https://invent.kde.org/libraries/kquickimageeditor";
+    license = licenses.lgpl21Plus;
+    platforms = platforms.unix;
+    badPlatforms = platforms.darwin;
+  };
 }
diff --git a/pkgs/development/libraries/libadwaita/default.nix b/pkgs/development/libraries/libadwaita/default.nix
index 0e1a0036dd1..856ec30bccb 100644
--- a/pkgs/development/libraries/libadwaita/default.nix
+++ b/pkgs/development/libraries/libadwaita/default.nix
@@ -21,7 +21,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libadwaita";
-  version = "1.0.1";
+  version = "1.0.2";
 
   outputs = [ "out" "dev" "devdoc" ];
   outputBin = "devdoc"; # demo app
@@ -31,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "GNOME";
     repo = "libadwaita";
     rev = version;
-    sha256 = "sha256-2+elMEZwDPWkPDrmvLH5rxulh1tq6fgsMhbTdbrWe54=";
+    hash = "sha256-D7Qq8yAWkr/G5I4k8G1+viJkEJSrCBAg31Q+g3U9FcQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libcangjie/default.nix b/pkgs/development/libraries/libcangjie/default.nix
index b0c02eaa6bc..73277d30de3 100644
--- a/pkgs/development/libraries/libcangjie/default.nix
+++ b/pkgs/development/libraries/libcangjie/default.nix
@@ -1,15 +1,14 @@
-{ lib, stdenv, autoconf, automake, libtool, m4, fetchFromGitLab, bash, pkg-config, sqlite }:
+{ lib, stdenv, autoconf, automake, libtool, m4, fetchurl, bash, pkg-config, sqlite }:
 
 stdenv.mkDerivation rec {
   pname = "libcangjie";
   version = "1.4_rev_${rev}";
   rev = "a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d";
 
-  src = fetchFromGitLab {
-    owner = "Cangjians";
-    repo = "libcangjie";
-    inherit rev;
-    sha256 = "sha256-R7WqhxciaTxhTiwPp2EUNTOh477gi/Pj3VpMtat5qXw=";
+  # fetchFromGitLab isn't working for some reason
+  src = fetchurl {
+    url = "https://gitlab.freedesktop.org/cangjie/libcangjie/-/archive/a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d/libcangjie-a73c1d8783f7b6526fd9b2cc44a669ffa5518d3d.tar.gz";
+    sha256 = "sha256-j5IQ0hBefoF8p966YrfZgYCw7ht5twJhYi4l0NneukQ=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/libraries/libcef/default.nix b/pkgs/development/libraries/libcef/default.nix
index 85163daad0a..7dfafe6bd06 100644
--- a/pkgs/development/libraries/libcef/default.nix
+++ b/pkgs/development/libraries/libcef/default.nix
@@ -26,6 +26,7 @@
 , at-spi2-core
 , cups
 , libxshmfence
+, obs-studio
 }:
 
 let
@@ -59,27 +60,27 @@ let
     "aarch64-linux" = {
       platformStr = "linuxarm64";
       projectArch = "arm64";
-      sha256 = "1j93qawh9h6k2ic70i10npppv5f9dch961lc1wxwsi68daq8r081";
     };
     "i686-linux" = {
       platformStr = "linux32";
       projectArch = "x86";
-      sha256 = "0ki4zr8ih06kirgbpxbinv4baw3qvacx208q6qy1cvpfh6ll4fwb";
     };
     "x86_64-linux" = {
       platformStr = "linux64";
       projectArch = "x86_64";
-      sha256 = "1ja711x9fdlf21qw1k9xn3lvjc5zsfgnjga1w1r8sysam73jk7xj";
     };
   };
+  platforms."aarch64-linux".sha256 = "0m12adzcs6xsmgnqsdc5g0xs6xmjbj560x4d9rnv9fpf1p7jv2fa";
+  platforms."i686-linux".sha256 = "00cy5kxx8hpifkwhn9qbfch7ng3crx0zb6ypllzip6qms956mama";
+  platforms."x86_64-linux".sha256 = "1f1hxx4xl0wljyrgj0m3zq47yz2cyqd52qigrkpcvavr1d2sx6m3";
 
   platformInfo = builtins.getAttr stdenv.targetPlatform.system platforms;
 in
 stdenv.mkDerivation rec {
   pname = "cef-binary";
-  version = "90.6.7";
-  gitRevision = "19ba721";
-  chromiumVersion = "90.0.4430.212";
+  version = "98.1.21";
+  gitRevision = "9782362";
+  chromiumVersion = "98.0.4758.102";
 
   src = fetchurl {
     url = "https://cef-builds.spotifycdn.com/cef_binary_${version}+g${gitRevision}+chromium-${chromiumVersion}_${platformInfo.platformStr}_minimal.tar.bz2";
@@ -102,6 +103,11 @@ stdenv.mkDerivation rec {
     cp -r ../include $out/
   '';
 
+  passthru.tests = {
+    inherit obs-studio; # frequently breaks on CEF updates
+  };
+  passthru.updateScript = ./update.sh;
+
   meta = with lib; {
     description = "Simple framework for embedding Chromium-based browsers in other applications";
     homepage = "https://cef-builds.spotifycdn.com/index.html";
diff --git a/pkgs/development/libraries/libcef/update.sh b/pkgs/development/libraries/libcef/update.sh
new file mode 100755
index 00000000000..545f7c70205
--- /dev/null
+++ b/pkgs/development/libraries/libcef/update.sh
@@ -0,0 +1,27 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i bash -p curl gnused jq
+
+set -x -eu -o pipefail
+
+cd $(dirname "${BASH_SOURCE[0]}")
+
+VERSION_JSON=$(curl --silent https://cef-builds.spotifycdn.com/index.json | jq '[.linux64.versions[] | select (.channel == "stable")][0]')
+
+CEF_VERSION=$(echo ${VERSION_JSON} | jq -r '.cef_version' | cut -d'+' -f1)
+GIT_REVISION=$(echo ${VERSION_JSON} | jq -r '.cef_version' | cut -d'+' -f2 | cut -c 2-)
+CHROMIUM_VERSION=$(echo ${VERSION_JSON} | jq -r '.chromium_version')
+
+SHA256_LINUX64=$(nix-prefetch-url --quiet https://cef-builds.spotifycdn.com/cef_binary_${CEF_VERSION}+g${GIT_REVISION}+chromium-${CHROMIUM_VERSION}_linux64_minimal.tar.bz2)
+SHA256_LINUX32=$(nix-prefetch-url --quiet https://cef-builds.spotifycdn.com/cef_binary_${CEF_VERSION}+g${GIT_REVISION}+chromium-${CHROMIUM_VERSION}_linux32_minimal.tar.bz2)
+SHA256_LINUXARM64=$(nix-prefetch-url --quiet https://cef-builds.spotifycdn.com/cef_binary_${CEF_VERSION}+g${GIT_REVISION}+chromium-${CHROMIUM_VERSION}_linuxarm64_minimal.tar.bz2)
+
+setKV () {
+    sed -i "s|$1 = \".*\"|$1 = \"${2:-}\"|" ./default.nix
+}
+
+setKV version ${CEF_VERSION}
+setKV gitRevision ${GIT_REVISION}
+setKV chromiumVersion ${CHROMIUM_VERSION}
+setKV 'platforms."aarch64-linux".sha256' ${SHA256_LINUXARM64}
+setKV 'platforms."i686-linux".sha256' ${SHA256_LINUX32}
+setKV 'platforms."x86_64-linux".sha256' ${SHA256_LINUX64}
diff --git a/pkgs/development/libraries/libcommuni/default.nix b/pkgs/development/libraries/libcommuni/default.nix
index 3e2c0daf0b4..dd5472849fd 100644
--- a/pkgs/development/libraries/libcommuni/default.nix
+++ b/pkgs/development/libraries/libcommuni/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcommuni";
-  version = "3.6.0";
+  version = "3.7.0";
 
   src = fetchFromGitHub {
     owner = "communi";
     repo = "libcommuni";
     rev = "v${version}";
-    sha256 = "sha256-ABvrMoOVSycbQ8iRDzi7zkFnuSgHMMBgm9cDUWlD4uc=";
+    sha256 = "sha256-9eYJpmjW1J48RD6wVJOHmsAgTbauNeeCrXe076ufq1I=";
   };
 
   buildInputs = [ qtbase qtdeclarative ];
diff --git a/pkgs/development/libraries/libcouchbase/default.nix b/pkgs/development/libraries/libcouchbase/default.nix
index 0c9cd1a7530..574d0b9d94c 100644
--- a/pkgs/development/libraries/libcouchbase/default.nix
+++ b/pkgs/development/libraries/libcouchbase/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcouchbase";
-  version = "3.2.4";
+  version = "3.2.5";
 
   src = fetchFromGitHub {
     owner = "couchbase";
     repo = "libcouchbase";
     rev = version;
-    sha256 = "sha256-7gHqnhNog0CN92YyvypbHWWUnCDuvGP4oiJjtP9GkIY=";
+    sha256 = "sha256-ffeSrWcvxvMY4mmA/+VoMitoCVUUP91t1lIOcuzNrJY=";
   };
 
   cmakeFlags = [ "-DLCB_NO_MOCK=ON" ];
diff --git a/pkgs/development/libraries/libcyaml/default.nix b/pkgs/development/libraries/libcyaml/default.nix
index 4b8d85b5b55..dede81b0a1c 100644
--- a/pkgs/development/libraries/libcyaml/default.nix
+++ b/pkgs/development/libraries/libcyaml/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libcyaml";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "tlsa";
     repo = "libcyaml";
     rev = "v${version}";
-    sha256 = "sha256-8Dd6LQovPx+y2957zY8blA0ls10ekGvTCeKmLyHZnOI=";
+    sha256 = "sha256-ntgTgIJ3u1IbR/eYOgwmgR9Jvx28P+l44wAMlBEcbj8=";
   };
 
   buildInputs = [ libyaml ];
diff --git a/pkgs/development/libraries/libdbusmenu/default.nix b/pkgs/development/libraries/libdbusmenu/default.nix
index 8e9fe4de88a..0b5531d70c5 100644
--- a/pkgs/development/libraries/libdbusmenu/default.nix
+++ b/pkgs/development/libraries/libdbusmenu/default.nix
@@ -7,14 +7,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = let postfix = if gtkVersion == null then "glib" else "gtk${gtkVersion}";
-          in "libdbusmenu-${postfix}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "16.04";
-  versionMinor = "0";
+  pname = "libdbusmenu-${if gtkVersion == null then "glib" else "gtk${gtkVersion}"}";
+  version = "16.04.0";
 
   src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libdbusmenu-${version}.tar.gz";
+    url = "https://launchpad.net/dbusmenu/${lib.versions.majorMinor version}/${version}/+download/libdbusmenu-${version}.tar.gz";
     sha256 = "12l7z8dhl917iy9h02sxmpclnhkdjryn08r8i4sr8l3lrlm4mk5r";
   };
 
diff --git a/pkgs/development/libraries/libdeltachat/default.nix b/pkgs/development/libraries/libdeltachat/default.nix
index 48c20c8b7ca..8d506efef89 100644
--- a/pkgs/development/libraries/libdeltachat/default.nix
+++ b/pkgs/development/libraries/libdeltachat/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libdeltachat";
-  version = "1.72.0";
+  version = "1.75.0";
 
   src = fetchFromGitHub {
     owner = "deltachat";
     repo = "deltachat-core-rust";
     rev = version;
-    hash = "sha256-/StX22pSQtfOYbBTFL7vh0Y0V038Ohyq+qoDECITD80=";
+    hash = "sha256-3oYQwV1Srnq8VfS+M+BwIznXRxQFXr78SwXO3Xu08ws=";
   };
 
   patches = [
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-Jwf95oTyGsOikVMKAg+EaDNY78VW+kECD+lhNePSKWE=";
+    hash = "sha256-jti1aY8a9YB8x6fz7UqTY4uDj6gkMnG1hTN/Mgc+mHs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libfilezilla/default.nix b/pkgs/development/libraries/libfilezilla/default.nix
index 95e00cdd732..b02b856442b 100644
--- a/pkgs/development/libraries/libfilezilla/default.nix
+++ b/pkgs/development/libraries/libfilezilla/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libfilezilla";
-  version = "0.35.0";
+  version = "0.36.0";
 
   src = fetchurl {
     url = "https://download.filezilla-project.org/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-7uJRDc49BpHqc9wdoQ+sfbEhWwup7vphbfMFNosJKug=";
+    sha256 = "sha256-wCccGO3n+7yCayHJcsLLD/lnRO5aFckdjXTpvDhTqHI=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/development/libraries/libfprint/default.nix b/pkgs/development/libraries/libfprint/default.nix
index daa1d223342..d2766c4d29a 100644
--- a/pkgs/development/libraries/libfprint/default.nix
+++ b/pkgs/development/libraries/libfprint/default.nix
@@ -19,7 +19,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libfprint";
-  version = "1.94.1";
+  version = "1.94.3";
   outputs = [ "out" "devdoc" ];
 
   src = fetchFromGitLab {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     owner = "libfprint";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xFmby1x2TRZqXrV9Einqu3002qMAN5tQga2mIAHfC9c=";
+    sha256 = "sha256-uOFWF+CDyK4+fY+NhiDnRKaptAN/vfH32Vzj+LAxWqg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libgbinder/default.nix b/pkgs/development/libraries/libgbinder/default.nix
index 38b0c6c8def..f2ecf94053b 100644
--- a/pkgs/development/libraries/libgbinder/default.nix
+++ b/pkgs/development/libraries/libgbinder/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgbinder";
-  version = "1.1.14";
+  version = "1.1.16";
 
   src = fetchFromGitHub {
     owner = "mer-hybris";
     repo = pname;
     rev = version;
-    sha256 = "sha256-WYVFbp5aEqdxZQYSJ96Mi7ruLu4TkDbw/NCV8roPN28=";
+    sha256 = "sha256-g+3yRRiTv2l7ZpJc5a6tOPsErKjdALomAWmYHErdfIQ=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/libgcrypt/default.nix b/pkgs/development/libraries/libgcrypt/default.nix
index 08e79a16e1a..9195019b055 100644
--- a/pkgs/development/libraries/libgcrypt/default.nix
+++ b/pkgs/development/libraries/libgcrypt/default.nix
@@ -1,4 +1,15 @@
-{ lib, stdenv, fetchurl, gettext, libgpg-error, enableCapabilities ? false, libcap, buildPackages }:
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, libgpg-error
+, enableCapabilities ? false, libcap
+, buildPackages
+# for passthru.tests
+, gnupg
+, libotr
+, rsyslog
+}:
 
 assert enableCapabilities -> stdenv.isLinux;
 
@@ -56,6 +67,10 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
 
+  passthru.tests = {
+    inherit gnupg libotr rsyslog;
+  };
+
   meta = with lib; {
     homepage = "https://www.gnu.org/software/libgcrypt/";
     changelog = "https://git.gnupg.org/cgi-bin/gitweb.cgi?p=libgcrypt.git;a=blob;f=NEWS;hb=refs/tags/${pname}-${version}";
diff --git a/pkgs/development/libraries/libgit2/default.nix b/pkgs/development/libraries/libgit2/default.nix
new file mode 100644
index 00000000000..dc12e643cb7
--- /dev/null
+++ b/pkgs/development/libraries/libgit2/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, cmake
+, pkg-config
+, python3
+, zlib
+, libssh2
+, openssl
+, pcre
+, http-parser
+, libiconv
+, Security
+}:
+
+stdenv.mkDerivation rec {
+  pname = "libgit2";
+  version = "1.4.0";
+  # also check the following packages for updates: python3.pkgs.pygit2 and libgit2-glib
+
+  src = fetchFromGitHub {
+    owner = "libgit2";
+    repo = "libgit2";
+    rev = "v${version}";
+    sha256 = "sha256-21t7fD/5O+HIHUDEv8MqloDmAIm9sSpJYqreCD3Co2k=";
+  };
+
+  patches = [
+    (fetchpatch {
+      url = "https://github.com/libgit2/libgit2/commit/8bc9eda779b2e2602fc74944aba5d39198e0642f.patch";
+      sha256 = "sha256-r2i4+WsrxIpSwH0g/AikBdAajBncXb1zz0uOQB0h1Jk=";
+    })
+  ];
+
+  cmakeFlags = [
+    "-DTHREADSAFE=ON"
+    "-DUSE_HTTP_PARSER=system"
+    "-DUSE_SSH=ON"
+  ];
+
+  nativeBuildInputs = [ cmake python3 pkg-config ];
+
+  buildInputs = [ zlib libssh2 openssl pcre http-parser ]
+    ++ lib.optional stdenv.isDarwin Security;
+
+  propagatedBuildInputs = lib.optional (!stdenv.isLinux) libiconv;
+
+  doCheck = false; # hangs. or very expensive?
+
+  meta = {
+    description = "Linkable library implementation of Git that you can use in your application";
+    homepage = "https://libgit2.org/";
+    license = lib.licenses.gpl2Plus;
+    platforms = lib.platforms.all;
+    maintainers = with lib.maintainers; [ ];
+  };
+}
diff --git a/pkgs/development/libraries/libgphoto2/default.nix b/pkgs/development/libraries/libgphoto2/default.nix
index 63015fdf6cb..6da4c9a53a5 100644
--- a/pkgs/development/libraries/libgphoto2/default.nix
+++ b/pkgs/development/libraries/libgphoto2/default.nix
@@ -17,13 +17,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libgphoto2";
-  version = "2.5.27";
+  version = "2.5.28";
 
   src = fetchFromGitHub {
     owner = "gphoto";
     repo = "libgphoto2";
     rev = "libgphoto2-${builtins.replaceStrings [ "." ] [ "_" ] version}-release";
-    sha256 = "sha256-c7fBl6GBLAU+RL5WFC4PL+n/nEHZUfqIJ9qq1+qNNCg=";
+    sha256 = "sha256-e3zMinUUBKzZlQQzkS0oPWAzIVlmQoLj73Spj0XiTIE=";
   };
 
   depsBuildBuild = [ pkg-config ];
diff --git a/pkgs/development/libraries/libguestfs/default.nix b/pkgs/development/libraries/libguestfs/default.nix
index 1ad302e439f..49e76a94b00 100644
--- a/pkgs/development/libraries/libguestfs/default.nix
+++ b/pkgs/development/libraries/libguestfs/default.nix
@@ -1,5 +1,5 @@
-{ lib, stdenv, fetchurl, fetchpatch, pkg-config, autoreconfHook, makeWrapper
-, ncurses, cpio, gperf, cdrkit, flex, bison, qemu, pcre, augeas, libxml2
+{ lib, stdenv, fetchurl, pkg-config, autoreconfHook, makeWrapper
+, ncurses, cpio, gperf, cdrkit, flex, bison, qemu, pcre2, augeas, libxml2
 , acl, libcap, libcap_ng, libconfig, systemd, fuse, yajl, libvirt, hivex, db
 , gmp, readline, file, numactl, libapparmor, jansson
 , getopt, perlPackages, ocamlPackages
@@ -12,11 +12,11 @@ assert javaSupport -> jdk != null;
 
 stdenv.mkDerivation rec {
   pname = "libguestfs";
-  version = "1.44.1";
+  version = "1.46.2";
 
   src = fetchurl {
     url = "https://libguestfs.org/download/${lib.versions.majorMinor version}-stable/${pname}-${version}.tar.gz";
-    sha256 = "09dhmlbfdwirlmkasa28x69vqs5xndq0lnng6b4if76s6bfxrdvj";
+    sha256 = "0sq092irlj2jf64m7hjx23hn5k4iypqxmlyn9g2z0q0xab56ksp6";
   };
 
   strictDeps = true;
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     ++ (with ocamlPackages; [ ocaml findlib ]);
   buildInputs = [
     ncurses jansson
-    pcre augeas libxml2 acl libcap libcap_ng libconfig
+    pcre2 augeas libxml2 acl libcap libcap_ng libconfig
     systemd fuse yajl libvirt gmp readline file hivex db
     numactl libapparmor perlPackages.ModuleBuild
     libtirpc
@@ -53,13 +53,7 @@ stdenv.mkDerivation rec {
   ] ++ lib.optionals (!javaSupport) [ "--without-java" ];
   patches = [
     ./libguestfs-syms.patch
-    # Set HAVE_RPM, HAVE_DPKG, HAVE_PACMAN
-    (fetchpatch {
-      url = "https://github.com/libguestfs/libguestfs/commit/210959cc344d6a4a1e3afa26d276b130651def74.patch";
-      sha256 = "121l58mk2mwhhqc3rcisdw3di7y729b30hyffc8a50mq5k7fvsdb";
-     })
   ];
-  NIX_CFLAGS_COMPILE="-I${libxml2.dev}/include/libxml2/";
   installFlags = [ "REALLY_INSTALL=yes" ];
   enableParallelBuilding = true;
 
diff --git a/pkgs/development/libraries/libical/default.nix b/pkgs/development/libraries/libical/default.nix
index 909ee73e69a..f4a1959a512 100644
--- a/pkgs/development/libraries/libical/default.nix
+++ b/pkgs/development/libraries/libical/default.nix
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libical";
-  version = "3.0.10";
+  version = "3.0.11";
 
   outputs = [ "out" "dev" ]; # "devdoc" ];
 
@@ -28,7 +28,7 @@ stdenv.mkDerivation rec {
     owner = "libical";
     repo = "libical";
     rev = "v${version}";
-    sha256 = "sha256-fLmEJlkZLYLcKZqZwitf8rH261QDPTJZf/+/+FMsGIg=";
+    sha256 = "sha256-9kMYqWITZ2LlBDebJUZFWyVclAjfIZtc3Dm7lii9ZMc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/libindicator/default.nix b/pkgs/development/libraries/libindicator/default.nix
index 139672f6d80..d06657b0081 100644
--- a/pkgs/development/libraries/libindicator/default.nix
+++ b/pkgs/development/libraries/libindicator/default.nix
@@ -5,13 +5,11 @@
 with lib;
 
 stdenv.mkDerivation rec {
-  name = "libindicator-gtk${gtkVersion}-${version}";
-  version = "${versionMajor}.${versionMinor}";
-  versionMajor = "12.10";
-  versionMinor = "1";
+  pname = "libindicator-gtk${gtkVersion}";
+  version = "12.10.1";
 
   src = fetchurl {
-    url = "${meta.homepage}/${versionMajor}/${version}/+download/libindicator-${version}.tar.gz";
+    url = "https://launchpad.net/libindicator/${lib.versions.majorMinor version}/${version}/+download/libindicator-${version}.tar.gz";
     sha256 = "b2d2e44c10313d5c9cd60db455d520f80b36dc39562df079a3f29495e8f9447f";
   };
 
diff --git a/pkgs/development/libraries/libinput/default.nix b/pkgs/development/libraries/libinput/default.nix
index 54843486e13..89bdc15ff62 100644
--- a/pkgs/development/libraries/libinput/default.nix
+++ b/pkgs/development/libraries/libinput/default.nix
@@ -1,47 +1,71 @@
-{ lib, stdenv, fetchurl, pkg-config, meson, ninja
-, libevdev, mtdev, udev, libwacom
-, documentationSupport ? false, doxygen, graphviz # Documentation
-, eventGUISupport ? false, cairo, glib, gtk3 # GUI event viewer support
-, testsSupport ? false, check, valgrind, python3
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, meson
+, ninja
+, libevdev
+, mtdev
+, udev
+, libwacom
+, documentationSupport ? false
+, doxygen
+, graphviz
+, runCommand
+, eventGUISupport ? false
+, cairo
+, glib
+, gtk3
+, testsSupport ? false
+, check
+, valgrind
+, python3
 , nixosTests
 }:
 
 let
   mkFlag = optSet: flag: "-D${flag}=${lib.boolToString optSet}";
 
-  sphinx-build = if documentationSupport then
-    python3.pkgs.sphinx.overrideAttrs (super: {
-      propagatedBuildInputs = super.propagatedBuildInputs ++ (with python3.pkgs; [ recommonmark sphinx_rtd_theme ]);
-
-      postFixup = super.postFixup or "" + ''
-        # Do not propagate Python
-        rm $out/nix-support/propagated-build-inputs
-      '';
-    })
-  else null;
+  sphinx-build =
+    let
+      env = python3.withPackages (pp: with pp; [
+        sphinx
+        recommonmark
+        sphinx_rtd_theme
+      ]);
+    in
+    # Expose only the sphinx-build binary to avoid contaminating
+    # everything with Sphinx’s Python environment.
+    runCommand "sphinx-build" { } ''
+      mkdir -p "$out/bin"
+      ln -s "${env}/bin/sphinx-build" "$out/bin"
+    '';
 in
 
 stdenv.mkDerivation rec {
   pname = "libinput";
-  version = "1.19.1";
+  version = "1.19.3";
+
+  outputs = [ "bin" "out" "dev" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/libinput/libinput-${version}.tar.xz";
-    sha256 = "sha256-C9z1sXg7c3hUt68coi32e8Nqb+fJz6cfAekUn5IgRG0=";
+    sha256 = "sha256-PK54zN4Z19Dzh+WLxzTU0Xq19kJvVKnotyjJCxe6oGg=";
   };
 
-  outputs = [ "bin" "out" "dev" ];
-
-  mesonFlags = [
-    (mkFlag documentationSupport "documentation")
-    (mkFlag eventGUISupport "debug-gui")
-    (mkFlag testsSupport "tests")
-    "--sysconfdir=/etc"
-    "--libexecdir=${placeholder "bin"}/libexec"
+  patches = [
+    ./udev-absolute-path.patch
   ];
 
-  nativeBuildInputs = [ pkg-config meson ninja ]
-    ++ lib.optionals documentationSupport [ doxygen graphviz sphinx-build ];
+  nativeBuildInputs = [
+    pkg-config
+    meson
+    ninja
+  ] ++ lib.optionals documentationSupport [
+    doxygen
+    graphviz
+    sphinx-build
+  ];
 
   buildInputs = [
     libevdev
@@ -53,20 +77,34 @@ stdenv.mkDerivation rec {
       pyyaml
       setuptools
     ]))
-  ] ++ lib.optionals eventGUISupport [ cairo glib gtk3 ];
+  ] ++ lib.optionals eventGUISupport [
+    # GUI event viewer
+    cairo
+    glib
+    gtk3
+  ];
+
+  propagatedBuildInputs = [
+    udev
+  ];
 
   checkInputs = [
     check
     valgrind
   ];
 
-  propagatedBuildInputs = [ udev ];
+  mesonFlags = [
+    (mkFlag documentationSupport "documentation")
+    (mkFlag eventGUISupport "debug-gui")
+    (mkFlag testsSupport "tests")
+    "--sysconfdir=/etc"
+    "--libexecdir=${placeholder "bin"}/libexec"
+  ];
 
-  patches = [ ./udev-absolute-path.patch ];
+  doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
 
   postPatch = ''
     patchShebangs \
-      tools/helper-copy-and-exec-from-tmp.sh \
       test/symbols-leak-test \
       test/check-leftover-udev-rules.sh \
       test/helper-copy-and-exec-from-tmp.sh
@@ -75,17 +113,15 @@ stdenv.mkDerivation rec {
     sed -i "/install_subdir('libinput', install_dir : dir_etc)/d" meson.build
   '';
 
-  doCheck = testsSupport && stdenv.hostPlatform == stdenv.buildPlatform;
-
   passthru.tests = {
     libinput-module = nixosTests.libinput;
   };
 
   meta = with lib; {
     description = "Handles input devices in Wayland compositors and provides a generic X.Org input driver";
-    homepage    = "https://www.freedesktop.org/wiki/Software/libinput/";
-    license     = licenses.mit;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ codyopel ];
+    homepage = "https://www.freedesktop.org/wiki/Software/libinput/";
+    license = licenses.mit;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ codyopel ] ++ teams.freedesktop.members;
   };
 }
diff --git a/pkgs/development/libraries/libjcat/default.nix b/pkgs/development/libraries/libjcat/default.nix
index f027fbe3cb8..f40898d1181 100644
--- a/pkgs/development/libraries/libjcat/default.nix
+++ b/pkgs/development/libraries/libjcat/default.nix
@@ -18,7 +18,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libjcat";
-  version = "0.1.7";
+  version = "0.1.10";
 
   outputs = [ "bin" "out" "dev" "devdoc" "man" "installedTests" ];
 
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libjcat";
     rev = version;
-    sha256 = "sha256-WYCYRFjjy9nr1p1SqzBGCBZ5vkhFybddXpHUcwdEDIQ=";
+    sha256 = "sha256-6fqcP8LWvRoDf5gJz+kW0w5+3PP/luuoPMak1QLKzzM=";
   };
 
   patches = [
@@ -43,9 +43,7 @@ stdenv.mkDerivation rec {
     gobject-introspection
     vala
     gtk-doc
-    (python3.withPackages (pkgs: with pkgs; [
-      setuptools
-    ]))
+    python3
   ];
 
   buildInputs = [
@@ -60,10 +58,6 @@ stdenv.mkDerivation rec {
     "-Dinstalled_test_prefix=${placeholder "installedTests"}"
   ];
 
-  postPatch = ''
-    patchShebangs contrib/generate-version-script.py
-  '';
-
   doCheck = true;
 
   passthru = {
diff --git a/pkgs/development/libraries/libjpeg/default.nix b/pkgs/development/libraries/libjpeg/default.nix
index 028bf5cac33..6a6009c98e9 100644
--- a/pkgs/development/libraries/libjpeg/default.nix
+++ b/pkgs/development/libraries/libjpeg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libjpeg";
-  version = "9d";
+  version = "9e";
 
   src = fetchurl {
     url = "http://www.ijg.org/files/jpegsrc.v${version}.tar.gz";
-    sha256 = "1vkip9rz4hz8f31a2kl7wl7f772wg1z0fg1fbd1653wzwlxllhvc";
+    sha256 = "sha256-QHfWpqda6wGIT3CJGdJZNMkzBeSffj8225EpMg5vTz0=";
   };
 
   configureFlags = lib.optional static "--enable-static --disable-shared";
diff --git a/pkgs/development/libraries/libliftoff/default.nix b/pkgs/development/libraries/libliftoff/default.nix
index 759549dbb28..88588a9fee7 100644
--- a/pkgs/development/libraries/libliftoff/default.nix
+++ b/pkgs/development/libraries/libliftoff/default.nix
@@ -1,17 +1,18 @@
-{ lib, stdenv, fetchFromGitHub
+{ lib, stdenv, fetchFromGitLab
 , meson, pkg-config, ninja
 , libdrm
 }:
 
 stdenv.mkDerivation rec {
   pname = "libliftoff";
-  version = "0.1.0";
+  version = "0.2.0";
 
-  src = fetchFromGitHub {
+  src = fetchFromGitLab {
+    domain = "gitlab.freedesktop.org";
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1s53jsll3c7272bhmh4jr6k5m1nvn8i1ld704qmzsm852ilmgrla";
+    sha256 = "1ysxm7kg1gwrsn29lw8kngvkxp46g4m2pvbwcvscgvr54ikirn4q";
   };
 
   nativeBuildInputs = [ meson pkg-config ninja ];
diff --git a/pkgs/development/libraries/libmodbus/default.nix b/pkgs/development/libraries/libmodbus/default.nix
index 6971fcbf5d3..d5a5647837d 100644
--- a/pkgs/development/libraries/libmodbus/default.nix
+++ b/pkgs/development/libraries/libmodbus/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmodbus";
-  version = "3.1.6";
+  version = "3.1.7";
 
   src = fetchurl {
     url = "http://libmodbus.org/releases/libmodbus-${version}.tar.gz";
-    sha256 = "05kwz0n5gn9m33cflzv87lz3zp502yp8fpfzbx70knvfl6agmnfp";
+    sha256 = "sha256-ff6VhDHQVwsnHhpbMpt2pljonGFM8RnrWq23Jch/j70=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/libraries/libmodulemd/default.nix b/pkgs/development/libraries/libmodulemd/default.nix
index 8f59975a596..4ec392be304 100644
--- a/pkgs/development/libraries/libmodulemd/default.nix
+++ b/pkgs/development/libraries/libmodulemd/default.nix
@@ -11,14 +11,13 @@
 , file
 , gtk-doc
 , docbook-xsl-nons
-, help2man
 , docbook_xml_dtd_412
 , glib
 }:
 
 stdenv.mkDerivation rec {
   pname = "libmodulemd";
-  version = "2.13.0";
+  version = "2.14.0";
 
   outputs = [ "bin" "out" "dev" "devdoc" "man" "py" ];
 
@@ -26,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "fedora-modularity";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-hg/it3pHUnEYsmKcLzQKcZNthHZZwdXBjzTlOS1Losk=";
+    sha256 = "sha256-ccLk8O0UJwy7WZYr5Bq2XqaSFNe4i7HQehmVoB5C2Yg=";
   };
 
   patches = [
@@ -43,7 +42,6 @@ stdenv.mkDerivation rec {
     ninja
     gtk-doc
     docbook-xsl-nons
-    help2man
     docbook_xml_dtd_412
     gobject-introspection
   ];
diff --git a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
index f79f82e9a78..5303dbed6ca 100644
--- a/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
+++ b/pkgs/development/libraries/libmysqlconnectorcpp/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libmysqlconnectorcpp";
-  version = "8.0.27";
+  version = "8.0.28";
 
   src = fetchurl {
     url = "https://cdn.mysql.com/Downloads/Connector-C++/mysql-connector-c++-${version}-src.tar.gz";
-    sha256 = "sha256-WIZpj8aCpeh0CCLtm0YbxRtgz5y6304cf+vllYSyv7c=";
+    sha256 = "sha256-yyb+neBaO18e0ioZlCm2eR7OGEM+sEZeKnP89EWGQgs=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = {
     homepage = "https://dev.mysql.com/downloads/connector/cpp/";
     description = "C++ library for connecting to mysql servers";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Only;
     platforms = lib.platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/libnats-c/default.nix b/pkgs/development/libraries/libnats-c/default.nix
index 3d1e2b7ac4a..7913515df66 100644
--- a/pkgs/development/libraries/libnats-c/default.nix
+++ b/pkgs/development/libraries/libnats-c/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname   = "libnats";
-  version = "2.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner  = "nats-io";
     repo   = "nats.c";
-    rev    = "refs/tags/v${version}";
-    sha256 = "16a0f0gvrmyrqvmh6vinqny3qhm6wyzw5ijnn3r82b1gqlpws0fz";
+    rev    = "v${version}";
+    sha256 = "1ngji3sa44y27lnq4x5dzbd117s9psx4w0j50b4c2b72cf2z139q";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libosinfo/default.nix b/pkgs/development/libraries/libosinfo/default.nix
index c3852f25741..a1dd23357de 100644
--- a/pkgs/development/libraries/libosinfo/default.nix
+++ b/pkgs/development/libraries/libosinfo/default.nix
@@ -23,11 +23,11 @@
 
 stdenv.mkDerivation rec {
   pname = "libosinfo";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-tPNBgVTvP0PZQggnKUkWrqGCcCGvwG4WRPxWlRgwo1k=";
+    sha256 = "sha256-olLgD8WA3rIdoNqMCqA7jDHoRAuESMi5gUP6tHfTIwU=";
   };
 
   outputs = [ "out" "dev" "devdoc" ];
@@ -77,6 +77,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "GObject based library API for managing information about operating systems, hypervisors and the (virtual) hardware devices they can support";
     homepage = "https://libosinfo.org/";
+    changelog = "https://gitlab.com/libosinfo/libosinfo/-/blob/v${version}/NEWS";
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/development/libraries/libosmium/default.nix b/pkgs/development/libraries/libosmium/default.nix
index f0ddd26900f..01cdc96e39c 100644
--- a/pkgs/development/libraries/libosmium/default.nix
+++ b/pkgs/development/libraries/libosmium/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libosmium";
-  version = "2.17.3";
+  version = "2.18.0";
 
   src = fetchFromGitHub {
     owner = "osmcode";
     repo = "libosmium";
     rev = "v${version}";
-    sha256 = "sha256-XpC5gb19jPakYS3QSgOU6WnGad+VEoEtxyT38d9Beug=";
+    sha256 = "sha256-IPdaBT6hRNHo8kuOsiKdyiQkRxA/l+44U3qGGG89BTo=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -23,6 +23,10 @@ stdenv.mkDerivation rec {
     description = "Fast and flexible C++ library for working with OpenStreetMap data";
     homepage = "https://osmcode.org/libosmium/";
     license = licenses.boost;
+    changelog = [
+      "https://github.com/osmcode/libosmium/releases/tag/v${version}"
+      "https://github.com/osmcode/libosmium/blob/v${version}/CHANGELOG.md"
+    ];
     maintainers = with maintainers; [ das-g ];
   };
 }
diff --git a/pkgs/development/libraries/libplctag/default.nix b/pkgs/development/libraries/libplctag/default.nix
index b5b628455d8..2af3b3f3bcf 100644
--- a/pkgs/development/libraries/libplctag/default.nix
+++ b/pkgs/development/libraries/libplctag/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libplctag";
-  version = "2.4.10";
+  version = "2.5.0";
 
   src = fetchFromGitHub {
     owner = "libplctag";
     repo = "libplctag";
     rev = "v${version}";
-    sha256 = "sha256-NdkWG7QdsMwx605m4P4LqBJTEqlIQhI3ChOvYwERkis=";
+    sha256 = "sha256-Xzdljx08aXwD6pE1f/3YBAjvrSzvs2fcXmmLH04GFyg=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/libqalculate/default.nix b/pkgs/development/libraries/libqalculate/default.nix
index 0f775700700..bb70ffcd32a 100644
--- a/pkgs/development/libraries/libqalculate/default.nix
+++ b/pkgs/development/libraries/libqalculate/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libqalculate";
-  version = "3.22.0";
+  version = "4.0.0";
 
   src = fetchFromGitHub {
     owner = "qalculate";
     repo = "libqalculate";
     rev = "v${version}";
-    sha256 = "sha256-yj6adBP9nZLXZVg62bYenfuiMeyULEql25KbDen9ljA=";
+    sha256 = "sha256-aRHwkdAbM164diIAIyBp1Kt6u/GLyCWTtwF4eFaWbGU=";
   };
 
   outputs = [ "out" "dev" "doc" ];
diff --git a/pkgs/development/libraries/libraspberrypi/default.nix b/pkgs/development/libraries/libraspberrypi/default.nix
index a0b959d178f..2a5b75a7b90 100644
--- a/pkgs/development/libraries/libraspberrypi/default.nix
+++ b/pkgs/development/libraries/libraspberrypi/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libraspberrypi";
-  version = "unstable-2021-06-23";
+  version = "unstable-2021-10-25";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "userland";
-    rev = "97bc8180ad682b004ea224d1db7b8e108eda4397";
-    sha256 = "0cnjc7w8ynayj90vlpl13xzm9izd8m5b4cvrq52si9vc6wlm4in5";
+    rev = "0093675e4aa6e152a3ffc318b51a124e96eb287b";
+    sha256 = "qpooQy9k2UZ94KaqlFwurV+tt0GrBSRffGdlvMcn1XU=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/librest/default.nix b/pkgs/development/libraries/librest/default.nix
index 0c885f0764b..ce2df9cc9a8 100644
--- a/pkgs/development/libraries/librest/default.nix
+++ b/pkgs/development/libraries/librest/default.nix
@@ -4,7 +4,11 @@
 , pkg-config
 , glib
 , libsoup
+, libxml2
 , gobject-introspection
+, gtk-doc
+, docbook-xsl-nons
+, docbook_xml_dtd_412
 , gnome
 }:
 
@@ -12,6 +16,8 @@ stdenv.mkDerivation rec {
   pname = "rest";
   version = "0.8.1";
 
+  outputs = [ "out" "dev" "devdoc" ];
+
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
     sha256 = "0513aad38e5d3cedd4ae3c551634e3be1b9baaa79775e53b2dba9456f15b01c9";
@@ -20,14 +26,19 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [
     pkg-config
     gobject-introspection
+    gtk-doc
+    docbook-xsl-nons
+    docbook_xml_dtd_412
   ];
 
-  buildInputs = [
+  propagatedBuildInputs = [
     glib
     libsoup
+    libxml2
   ];
 
   configureFlags = [
+    "--enable-gtk-doc"
     # Remove when https://gitlab.gnome.org/GNOME/librest/merge_requests/2 is merged.
     "--with-ca-certificates=/etc/ssl/certs/ca-certificates.crt"
   ];
diff --git a/pkgs/development/libraries/librsb/default.nix b/pkgs/development/libraries/librsb/default.nix
index 0acca9ae24f..691975b1af4 100644
--- a/pkgs/development/libraries/librsb/default.nix
+++ b/pkgs/development/libraries/librsb/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "librsb";
-  version = "1.2.0.9";
+  version = "1.2.0.10";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "1ynrsgnvv1jfm8dv3jwjrip9x9icxv7w3qrk149025j6fbaza8gl";
+    sha256 = "sha256-7Enz94p8Q/yeEJdlk9EAqkmxhjMJ7Y+jzLt6rVLS97g=";
   };
 
   # The default configure flags are still present when building
diff --git a/pkgs/development/libraries/librsvg/default.nix b/pkgs/development/libraries/librsvg/default.nix
index 8b1213e6377..1de6090b146 100644
--- a/pkgs/development/libraries/librsvg/default.nix
+++ b/pkgs/development/libraries/librsvg/default.nix
@@ -14,6 +14,7 @@
 , libobjc
 , rustPlatform
 , rustc
+, rust
 , cargo
 , gnome
 , vala
@@ -24,13 +25,13 @@
 
 stdenv.mkDerivation rec {
   pname = "librsvg";
-  version = "2.52.4";
+  version = "2.52.5";
 
   outputs = [ "out" "dev" "installedTests" ];
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "Zg7Ig2o6kVh7yThJIBMtTDjR0XGMZ/4WDFIT/k3sKSg=";
+    sha256 = "QHy7q1GBN+oYo/MiC+oYD77nXz5b1roQp6hiwab3TYI=";
   };
 
   cargoVendorDir = "vendor";
@@ -78,7 +79,8 @@ stdenv.mkDerivation rec {
 
     "--enable-installed-tests"
     "--enable-always-build-tests"
-  ] ++ lib.optional stdenv.isDarwin "--disable-Bsymbolic";
+  ] ++ lib.optional stdenv.isDarwin "--disable-Bsymbolic"
+    ++ lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) "RUST_TARGET=${rust.toRustTarget stdenv.hostPlatform}";
 
   makeFlags = [
     "installed_test_metadir=${placeholder "installedTests"}/share/installed-tests/RSVG"
diff --git a/pkgs/development/libraries/libscrypt/default.nix b/pkgs/development/libraries/libscrypt/default.nix
index 1bd22b2f790..68ef1afd2ee 100644
--- a/pkgs/development/libraries/libscrypt/default.nix
+++ b/pkgs/development/libraries/libscrypt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libscrypt";
-  version = "1.21";
+  version = "1.22";
 
   src = fetchFromGitHub {
     owner = "technion";
     repo = "libscrypt";
     rev = "v${version}";
-    sha256 = "1d76ys6cp7fi4ng1w3mz2l0p9dbr7ljbk33dcywyimzjz8bahdng";
+    sha256 = "sha256-QWWqC10bENemG5FYEog87tT7IxDaBJUDqu6j/sO3sYE=";
   };
 
   buildFlags = lib.optional stdenv.isDarwin "LDFLAGS= CFLAGS_EXTRA=";
diff --git a/pkgs/development/libraries/libserdes/default.nix b/pkgs/development/libraries/libserdes/default.nix
index 7b48f150c9a..8b61669d1c6 100644
--- a/pkgs/development/libraries/libserdes/default.nix
+++ b/pkgs/development/libraries/libserdes/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchFromGitHub
+, fetchpatch
 , perl
 , boost
 , rdkafka
@@ -28,6 +29,14 @@ stdenv.mkDerivation rec {
 
   makeFlags = [ "GEN_PKG_CONFIG=y" ];
 
+  patches = [
+    # Fix compatibility with Avro master branch
+    (fetchpatch {
+      url = "https://github.com/confluentinc/libserdes/commit/d7a355e712ab63ec77f6722fb5a9e8056e7416a2.patch";
+      sha256 = "14bdx075n4lxah63kp7phld9xqlz3pzs03yf3wbq4nmkgwac10dh";
+    })
+  ];
+
   postPatch = ''
     patchShebangs configure lds-gen.pl
   '';
diff --git a/pkgs/development/libraries/libsmartcols/default.nix b/pkgs/development/libraries/libsmartcols/default.nix
index bcd1573e203..077055cbb9a 100644
--- a/pkgs/development/libraries/libsmartcols/default.nix
+++ b/pkgs/development/libraries/libsmartcols/default.nix
@@ -1,15 +1,15 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, python3, gtk-doc}:
 
 stdenv.mkDerivation rec {
-  name = "libsmartcols";
-  version = "v2.36.1";
+  pname = "libsmartcols";
+  version = "2.36.1";
 
   nativeBuildInputs = [ autoreconfHook pkg-config python3 gtk-doc ];
 
   src = fetchFromGitHub {
     owner = "karelzak";
     repo = "util-linux";
-    rev = version;
+    rev = "v${version}";
     sha256 = "0z7nv054pqhlihqiw0vk3h40j0cxk1yxf8zzh0ddmvk6834cnyxs";
   };
 
diff --git a/pkgs/development/libraries/libsnark/default.nix b/pkgs/development/libraries/libsnark/default.nix
index c3e6d0e049e..37352bf5e3c 100644
--- a/pkgs/development/libraries/libsnark/default.nix
+++ b/pkgs/development/libraries/libsnark/default.nix
@@ -1,10 +1,8 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, openssl, boost, gmp, procps }:
 
-let
-  rev = "9e6b19ff15bc19fba5da1707ba18e7f160e5ed07";
-in stdenv.mkDerivation rec {
-  name = "libsnark-pre${version}";
-  version = lib.substring 0 8 rev;
+stdenv.mkDerivation rec {
+  pname = "libsnark";
+  version = "unstable-2018-01-15";
 
   nativeBuildInputs = [ cmake pkg-config ];
   buildInputs = [ openssl boost gmp ] ++ lib.optional stdenv.hostPlatform.isLinux procps;
@@ -12,7 +10,7 @@ in stdenv.mkDerivation rec {
   cmakeFlags = lib.optionals stdenv.hostPlatform.isDarwin [ "-DWITH_PROCPS=OFF" "-DWITH_SUPERCOP=OFF" ];
 
   src = fetchFromGitHub {
-    inherit rev;
+    rev = "9e6b19ff15bc19fba5da1707ba18e7f160e5ed07";
     owner           = "scipr-lab";
     repo            = "libsnark";
     sha256          = "13f02qp2fmfhvxlp4xi69m0l8r5nq913l2f0zwdk7hl46lprfdca";
diff --git a/pkgs/development/libraries/libspf2/default.nix b/pkgs/development/libraries/libspf2/default.nix
index 6ec8f24b713..c48c71e1448 100644
--- a/pkgs/development/libraries/libspf2/default.nix
+++ b/pkgs/development/libraries/libspf2/default.nix
@@ -28,8 +28,9 @@ stdenv.mkDerivation rec {
   doCheck = true;
 
   meta = {
-    description = "Implementation of the Sender Policy Framework for SMTP authorization";
-    homepage = "https://www.libspf2.org";
+    description = "Implementation of the Sender Policy Framework for SMTP " +
+                  "authorization (Helsinki Systems fork)";
+    homepage = "https://github.com/helsinki-systems/libspf2";
     license = with licenses; [ lgpl21Plus bsd2 ];
     maintainers = with maintainers; [ pacien ajs124 das_j ];
     platforms = platforms.all;
diff --git a/pkgs/development/libraries/libspng/default.nix b/pkgs/development/libraries/libspng/default.nix
index 99a243733cf..9a07cbf1aa1 100644
--- a/pkgs/development/libraries/libspng/default.nix
+++ b/pkgs/development/libraries/libspng/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libspng";
-  version = "0.7.1";
+  version = "0.7.2";
 
   src = fetchFromGitHub {
     owner = "randy408";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JBNFYmmd1UnoIfV6iWeDIw/kgvl8AArxfHK+TKjZ9rk=";
+    sha256 = "sha256-GgrTWC/cesDlEh2J6StCyKiLRk62xfy2+E4lnmJMLGs=";
   };
 
   doCheck = true;
diff --git a/pkgs/development/libraries/libsurvive/default.nix b/pkgs/development/libraries/libsurvive/default.nix
index 4d7291c9b34..5685cfdbb4d 100644
--- a/pkgs/development/libraries/libsurvive/default.nix
+++ b/pkgs/development/libraries/libsurvive/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libsurvive";
-  version = "0.3";
+  version = "0.4";
 
   src = fetchFromGitHub {
     owner = "cntools";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0m21fnq8pfw2pcvqfgjws531zmalda423q9i65v4qzm8sdb54hl4";
+    sha256 = "sha256-atX7QsCjKGa6OVSApnx3seBvZv/mlpV3jWRB9+v7Emc=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
diff --git a/pkgs/development/libraries/libtins/default.nix b/pkgs/development/libraries/libtins/default.nix
index d1a99fb88ab..b7e02a62fa9 100644
--- a/pkgs/development/libraries/libtins/default.nix
+++ b/pkgs/development/libraries/libtins/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libtins";
-  version = "4.3";
+  version = "4.4";
 
   src = fetchFromGitHub {
     owner = "mfontanini";
     repo = pname;
     rev = "v${version}";
-    sha256 = "09ah1a7ska7xiki7625mn1d8i96il3hxbkc39ba8fn1a5383kmqa";
+    sha256 = "sha256-mXbinXh/CO0SZZ71+K+FozbHCCoi12+AIa2o+P0QmUw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/libtsm/default.nix b/pkgs/development/libraries/libtsm/default.nix
index 9c8e418fba4..25214242b53 100644
--- a/pkgs/development/libraries/libtsm/default.nix
+++ b/pkgs/development/libraries/libtsm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libtsm";
-  version = "4.0.1";
+  version = "4.0.2";
 
   src = fetchFromGitHub {
     owner = "Aetf";
     repo = "libtsm";
     rev = "v${version}";
-    sha256 = "0mwn91i5h5d518i1s05y7hzv6bc13vzcvxszpfh77473iwg4wprx";
+    sha256 = "sha256-BYMRPjGRVSnYzkdbxypkuE0YkeVLPJ32iGZ1b0R6wto=";
   };
 
   buildInputs = [ libxkbcommon ];
diff --git a/pkgs/development/libraries/libui/default.nix b/pkgs/development/libraries/libui/default.nix
index 7002f75cc45..14fb004187d 100644
--- a/pkgs/development/libraries/libui/default.nix
+++ b/pkgs/development/libraries/libui/default.nix
@@ -1,13 +1,12 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, gtk3, Cocoa }:
 
 let
-  shortName = "libui";
-  version   = "4.1a";
   backend   = if stdenv.isDarwin then "darwin" else "unix";
 in
 
-stdenv.mkDerivation {
-  name = "${shortName}-${version}";
+stdenv.mkDerivation rec {
+  pname = "libui";
+  version   = "4.1a";
   src  = fetchFromGitHub {
     owner  = "andlabs";
     repo   = "libui";
@@ -27,22 +26,22 @@ stdenv.mkDerivation {
     mkdir -p $out/{include,lib}
     mkdir -p $out/lib/pkgconfig
   '' + lib.optionalString stdenv.isLinux ''
-    mv ./out/${shortName}.so.0 $out/lib/
-    ln -s $out/lib/${shortName}.so.0 $out/lib/${shortName}.so
+    mv ./out/libui.so.0 $out/lib/
+    ln -s $out/lib/libui.so.0 $out/lib/libui.so
   '' + lib.optionalString stdenv.isDarwin ''
-    mv ./out/${shortName}.A.dylib $out/lib/
-    ln -s $out/lib/${shortName}.A.dylib $out/lib/${shortName}.dylib
+    mv ./out/libui.A.dylib $out/lib/
+    ln -s $out/lib/lubui.A.dylib $out/lib/libui.dylib
   '' + ''
     cp $src/ui.h $out/include
     cp $src/ui_${backend}.h $out/include
 
-    cp ${./libui.pc} $out/lib/pkgconfig/${shortName}.pc
-    substituteInPlace $out/lib/pkgconfig/${shortName}.pc \
+    cp ${./libui.pc} $out/lib/pkgconfig/libui.pc
+    substituteInPlace $out/lib/pkgconfig/libui.pc \
       --subst-var-by out $out \
       --subst-var-by version "${version}"
   '';
   postInstall = lib.optionalString stdenv.isDarwin ''
-    install_name_tool -id $out/lib/${shortName}.A.dylib $out/lib/${shortName}.A.dylib
+    install_name_tool -id $out/lib/libui.A.dylib $out/lib/libui.A.dylib
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/liburcu/default.nix b/pkgs/development/libraries/liburcu/default.nix
index b00b4cf9ac8..e2dc63609c4 100644
--- a/pkgs/development/libraries/liburcu/default.nix
+++ b/pkgs/development/libraries/liburcu/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, perl }:
 
 stdenv.mkDerivation rec {
-  version = "0.13.0";
+  version = "0.13.1";
   pname = "liburcu";
 
   src = fetchurl {
     url = "https://lttng.org/files/urcu/userspace-rcu-${version}.tar.bz2";
-    sha256 = "sha256-y7INvhqJLCpNiJi6xDFhduWFOSaT1Jh2bMu8aM8guiA=";
+    sha256 = "sha256-MhPzPSuPcQ65IOsauyeewEv4rmNh9E8lE8KMINM2MIM=";
   };
 
   checkInputs = [ perl ];
diff --git a/pkgs/development/libraries/libvirt/default.nix b/pkgs/development/libraries/libvirt/default.nix
index 6e7fc6127ec..03d0e17cb4c 100644
--- a/pkgs/development/libraries/libvirt/default.nix
+++ b/pkgs/development/libraries/libvirt/default.nix
@@ -220,12 +220,15 @@ stdenv.mkDerivation rec {
       binPath = [ iptables iproute2 pmutils numad numactl bridge-utils dmidecode dnsmasq ] ++ optionals enableIscsi [ openiscsi ];
     in
     ''
-        substituteInPlace $out/libexec/libvirt-guests.sh \
-          --replace 'ON_BOOT="start"'       'ON_BOOT=''${ON_BOOT:-start}' \
-          --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
-          --replace "$out/bin"              '${gettext}/bin' \
-          --replace 'lock/subsys'           'lock' \
-          --replace 'gettext.sh'            'gettext.sh
+      substituteInPlace $out/bin/virt-xml-validate \
+        --replace xmllint ${libxml2}/bin/xmllint
+
+      substituteInPlace $out/libexec/libvirt-guests.sh \
+        --replace 'ON_BOOT="start"'       'ON_BOOT=''${ON_BOOT:-start}' \
+        --replace 'ON_SHUTDOWN="suspend"' 'ON_SHUTDOWN=''${ON_SHUTDOWN:-suspend}' \
+        --replace "$out/bin"              '${gettext}/bin' \
+        --replace 'lock/subsys'           'lock' \
+        --replace 'gettext.sh'            'gettext.sh
       # Added in nixpkgs:
       gettext() { "${gettext}/bin/gettext" "$@"; }
       '
diff --git a/pkgs/development/libraries/libxmlb/default.nix b/pkgs/development/libraries/libxmlb/default.nix
index b476edaf5e6..85fda8ddc8e 100644
--- a/pkgs/development/libraries/libxmlb/default.nix
+++ b/pkgs/development/libraries/libxmlb/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitHub
 , docbook_xml_dtd_43
 , docbook_xsl
@@ -11,11 +12,12 @@
 , python3
 , shared-mime-info
 , nixosTests
+, xz
 }:
 
 stdenv.mkDerivation rec {
   pname = "libxmlb";
-  version = "0.3.1";
+  version = "0.3.7";
 
   outputs = [ "out" "lib" "dev" "devdoc" "installedTests" ];
 
@@ -23,7 +25,7 @@ stdenv.mkDerivation rec {
     owner = "hughsie";
     repo = "libxmlb";
     rev = version;
-    sha256 = "sha256-4gJBmSbo5uGj12Y2Ov4gmS8nJshQxuBM9BAevY/lwjg=";
+    sha256 = "sha256-ZzA1YJYxTR91X79NU9dWd11Ze+PX2wuZeumuEuNdC48=";
   };
 
   patches = [
@@ -38,12 +40,13 @@ stdenv.mkDerivation rec {
     meson
     ninja
     pkg-config
-    (python3.withPackages (pkgs: with pkgs; [ setuptools ]))
+    python3
     shared-mime-info
   ];
 
   buildInputs = [
     glib
+    xz
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/libxmlb/installed-tests-path.patch b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
index 4207e9a91d7..0e74d131b2e 100644
--- a/pkgs/development/libraries/libxmlb/installed-tests-path.patch
+++ b/pkgs/development/libraries/libxmlb/installed-tests-path.patch
@@ -1,8 +1,8 @@
 diff --git a/meson.build b/meson.build
-index 38486c9..c567613 100644
+index c98e1a7..025d9c8 100644
 --- a/meson.build
 +++ b/meson.build
-@@ -110,8 +110,8 @@
+@@ -110,8 +110,8 @@ else
    prefix = get_option('prefix')
    datadir = join_paths(prefix, get_option('datadir'))
    libexecdir = join_paths(prefix, get_option('libexecdir'))
@@ -14,11 +14,11 @@ index 38486c9..c567613 100644
  
  gio = dependency('gio-2.0', version : '>= 2.45.8')
 diff --git a/meson_options.txt b/meson_options.txt
-index 27e8cb6..74548ae 100644
+index 54ab698..8a7122a 100644
 --- a/meson_options.txt
 +++ b/meson_options.txt
-@@ -2,3 +2,4 @@
- option('introspection', type : 'boolean', value : true, description : 'generate GObject Introspection data')
+@@ -3,3 +3,4 @@ option('introspection', type : 'boolean', value : true, description : 'generate
  option('tests', type : 'boolean', value : true, description : 'enable tests')
  option('stemmer', type : 'boolean', value : false, description : 'enable stemmer support')
+ option('cli', type : 'boolean', value : true, description : 'build and install the xb-tool CLI')
 +option('installed_test_prefix', type: 'string', value: '', description: 'Prefix for installed tests')
diff --git a/pkgs/development/libraries/libyang/default.nix b/pkgs/development/libraries/libyang/default.nix
index 6a07371261a..d6efe0543db 100644
--- a/pkgs/development/libraries/libyang/default.nix
+++ b/pkgs/development/libraries/libyang/default.nix
@@ -10,8 +10,7 @@
 , pcre2
 
 # update script
-, genericUpdater
-, common-updater-scripts
+, gitUpdater
 }:
 
 stdenv.mkDerivation rec {
@@ -40,9 +39,8 @@ stdenv.mkDerivation rec {
     "-DCMAKE_BUILD_TYPE:String=Release"
   ];
 
-  passthru.updateScript = genericUpdater {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
     rev-prefix = "v";
   };
 
diff --git a/pkgs/development/libraries/liquidfun/default.nix b/pkgs/development/libraries/liquidfun/default.nix
index 29531a29996..d3e3187bf75 100644
--- a/pkgs/development/libraries/liquidfun/default.nix
+++ b/pkgs/development/libraries/liquidfun/default.nix
@@ -1,21 +1,15 @@
 { lib, stdenv, requireFile, cmake, libGLU, libGL, libX11, libXi }:
 
-let
-  sourceInfo = rec {
-    version="1.1.0";
-    name="liquidfun-${version}";
-    url="https://github.com/google/liquidfun/releases/download/v${version}/${name}";
-    hash="5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86";
-  };
-in
-stdenv.mkDerivation {
+stdenv.mkDerivation rec {
+  pname = "liquidfun";
+  version = "1.1.0";
+
   src = requireFile {
-    url = sourceInfo.url;
-    sha256 = sourceInfo.hash;
-    name = sourceInfo.name + ".tar.gz";
+    url = "https://github.com/google/liquidfun/releases/download/v${version}/liquidfun-${version}";
+    sha256 = "5011a000eacd6202a47317c489e44aa753a833fb562d970e7b8c0da9de01df86";
+    name = "liquidfun-${version}.tar.gz";
   };
 
-  inherit (sourceInfo) name version;
   nativeBuildInputs = [ cmake ];
   buildInputs = [ libGLU libGL libX11 libXi ];
 
@@ -34,15 +28,12 @@ stdenv.mkDerivation {
     cmake -DBOX2D_INSTALL=ON -DBOX2D_BUILD_SHARED=ON -DCMAKE_INSTALL_PREFIX=$out ..
   '';
 
-  meta = {
+  meta = with lib; {
     description = "2D physics engine based on Box2D";
-    maintainers = with lib.maintainers;
-    [
-      qknight
-    ];
-    platforms = lib.platforms.linux;
-    hydraPlatforms = [];
-    license = lib.licenses.bsd2;
+    maintainers = with maintainers; [ qknight ];
+    platforms = platforms.linux;
+    hydraPlatforms = [ ];
+    license = licenses.bsd2;
     homepage = "https://google.github.io/liquidfun/";
   };
 }
diff --git a/pkgs/development/libraries/mauikit-filebrowsing/default.nix b/pkgs/development/libraries/mauikit-filebrowsing/default.nix
index 326f4b67ee2..90053b16fc8 100644
--- a/pkgs/development/libraries/mauikit-filebrowsing/default.nix
+++ b/pkgs/development/libraries/mauikit-filebrowsing/default.nix
@@ -10,14 +10,14 @@
 
 mkDerivation rec {
   pname = "mauikit-filebrowsing";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "maui";
     repo = "mauikit-filebrowsing";
     rev = "v${version}";
-    sha256 = "sha256-j6VoNtMkDB5BSET/RUiQlWdL0D1dAHlW929WNCDC+PE=";
+    hash = "sha256-2LzGvjh2t4RVZS9Js7ky3hM51L7bx0SHmDlKKPjl3LM=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mauikit/default.nix b/pkgs/development/libraries/mauikit/default.nix
index 88436dd5e63..22e3748fe48 100644
--- a/pkgs/development/libraries/mauikit/default.nix
+++ b/pkgs/development/libraries/mauikit/default.nix
@@ -14,14 +14,14 @@
 
 mkDerivation rec {
   pname = "mauikit";
-  version = "2.1.0";
+  version = "2.1.1";
 
   src = fetchFromGitLab {
     domain = "invent.kde.org";
     owner = "maui";
     repo = "mauikit";
     rev = "v${version}";
-    sha256 = "sha256-dpJQSCog/AZ4ip8NTQMt4g1ntAnL1cjjMzxJz/uCxZA=";
+    hash = "sha256-INvh+J484xkAsNGtYdf8NGGpFGp2AG7s9UYESoem3QY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mdds/default.nix b/pkgs/development/libraries/mdds/default.nix
index 4ddd3b40d36..8ca137e6611 100644
--- a/pkgs/development/libraries/mdds/default.nix
+++ b/pkgs/development/libraries/mdds/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mdds";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchurl {
     url = "https://kohei.us/files/${pname}/src/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-OrM/zljmrPlUDMGlImS+aGPvgPVawocZTMmM2kjnH+Y=";
+    sha256 = "sha256-EyEfLy44fvO3TXOh3O5Soa1c4G34+OZkdnnfknijEWo=";
   };
 
   postInstall = ''
diff --git a/pkgs/development/libraries/minizip/default.nix b/pkgs/development/libraries/minizip/default.nix
index bb62a9b3b2b..1fb737ed7a7 100644
--- a/pkgs/development/libraries/minizip/default.nix
+++ b/pkgs/development/libraries/minizip/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, zlib, autoreconfHook }:
 
 stdenv.mkDerivation {
-  name = "minizip-${zlib.version}";
+  pname = "minizip";
+  version = zlib.version;
   inherit (zlib) src;
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/development/libraries/mlt/default.nix b/pkgs/development/libraries/mlt/default.nix
index a4f0289cd58..d3bcaa2658b 100644
--- a/pkgs/development/libraries/mlt/default.nix
+++ b/pkgs/development/libraries/mlt/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, makeWrapper
-, SDL, ffmpeg, frei0r, libjack2, libdv, libsamplerate, libexif
+, SDL, ffmpeg_4, frei0r, libjack2, libdv, libsamplerate, libexif
 , libvorbis, libxml2, movit, pkg-config, sox, fftw, opencv4, SDL2
-, gtk2, genericUpdater, common-updater-scripts, libebur128
+, gtk2, gitUpdater, libebur128
 , jack2, ladspa-sdk, swig, which, ncurses
 , enablePython ? false, python3
 }:
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [
-    SDL ffmpeg frei0r libjack2 libdv libsamplerate libvorbis libxml2.dev
+    SDL ffmpeg_4 frei0r libjack2 libdv libsamplerate libvorbis libxml2.dev
     movit sox libexif gtk2 fftw libebur128 opencv4 SDL2 jack2
     ladspa-sdk
   ] ++ lib.optional enablePython ncurses;
@@ -51,9 +51,8 @@ stdenv.mkDerivation rec {
     sed -i ${outPythonPath}/mlt/__init__.py -e "s|return importlib.import_module('_mlt')|return importlib.import_module('mlt._mlt')|g"
   '';
 
-  passthru.updateScript = genericUpdater {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
     rev-prefix = "v";
   };
 
diff --git a/pkgs/development/libraries/mlt/qt-5.nix b/pkgs/development/libraries/mlt/qt-5.nix
index 948de303cef..5c58aa4f8ae 100644
--- a/pkgs/development/libraries/mlt/qt-5.nix
+++ b/pkgs/development/libraries/mlt/qt-5.nix
@@ -18,8 +18,7 @@
 , vid-stab
 , opencv3
 , ladspa-sdk
-, genericUpdater
-, common-updater-scripts
+, gitUpdater
 , ladspaPlugins
 , mkDerivation
 , which
@@ -70,9 +69,8 @@ mkDerivation rec {
     inherit ffmpeg;
   };
 
-  passthru.updateScript = genericUpdater {
+  passthru.updateScript = gitUpdater {
     inherit pname version;
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
     rev-prefix = "v";
   };
 
diff --git a/pkgs/development/libraries/mm-common/default.nix b/pkgs/development/libraries/mm-common/default.nix
index 44f78daec72..e1eaa1d924b 100644
--- a/pkgs/development/libraries/mm-common/default.nix
+++ b/pkgs/development/libraries/mm-common/default.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mm-common";
-  version = "1.0.3";
+  version = "1.0.4";
 
   src = fetchurl {
     url = "mirror://gnome/sources/${pname}/${lib.versions.majorMinor version}/${pname}-${version}.tar.xz";
-    sha256 = "6BWWYliZqs8dC/J8zC/Mfzc0BexIc1yhxyc8D7zcHvU=";
+    sha256 = "6VTAm0MJp++T4TtpJgrNxXOMkHR36zgbeLseQU7m29g=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/mtxclient/default.nix b/pkgs/development/libraries/mtxclient/default.nix
index 4e5eed1e439..92285501748 100644
--- a/pkgs/development/libraries/mtxclient/default.nix
+++ b/pkgs/development/libraries/mtxclient/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mtxclient";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "Nheko-Reborn";
     repo = "mtxclient";
     rev = "v${version}";
-    sha256 = "sha256-hTB0a5KXcQb0MCEX9YonDJOGlTmRkrOIP9UFlwuJc6g=";
+    sha256 = "sha256-TsGoSVewQJlr0zj8qYEd+UU8DlncZDCqfrqTv89LEYU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/libraries/nanodbc/default.nix b/pkgs/development/libraries/nanodbc/default.nix
new file mode 100644
index 00000000000..64f362e3520
--- /dev/null
+++ b/pkgs/development/libraries/nanodbc/default.nix
@@ -0,0 +1,39 @@
+{ lib, stdenv, fetchFromGitHub, cmake, unixODBC }:
+
+stdenv.mkDerivation rec {
+  pname = "nanodbc";
+  version = "2.13.0";
+
+  src = fetchFromGitHub {
+    owner = "nanodbc";
+    repo = "nanodbc";
+    rev = "v${version}";
+    sha256 = "1q80p7yv9mcl4hyvnvcjdr70y8nc940ypf368lp97vpqn5yckkgm";
+  };
+
+  nativeBuildInputs = [ cmake ];
+
+  buildInputs = [ unixODBC ];
+
+  cmakeFlags = if (stdenv.hostPlatform.isStatic) then
+    [ "-DBUILD_STATIC_LIBS=ON" ]
+  else
+    [ "-DBUILD_SHARED_LIBS=ON" ];
+
+  # fix compilation on macOS
+  # https://github.com/nanodbc/nanodbc/issues/274
+  # remove after the next version update
+  postUnpack = if stdenv.isDarwin then ''
+    mv $sourceRoot/VERSION $sourceRoot/VERSION.txt
+    substituteInPlace $sourceRoot/CMakeLists.txt \
+       --replace 'file(STRINGS VERSION' 'file(STRINGS VERSION.txt'
+  '' else "";
+
+  meta = with lib; {
+    homepage = "https://github.com/nanodbc/nanodbc";
+    changelog = "https://github.com/nanodbc/nanodbc/raw/v${version}/CHANGELOG.md";
+    description = "Small C++ wrapper for the native C ODBC API";
+    license = licenses.mit;
+    maintainers = [ maintainers.bzizou ];
+  };
+}
diff --git a/pkgs/development/libraries/nanoflann/default.nix b/pkgs/development/libraries/nanoflann/default.nix
index 0dbbd461dc2..477ff27078b 100644
--- a/pkgs/development/libraries/nanoflann/default.nix
+++ b/pkgs/development/libraries/nanoflann/default.nix
@@ -1,14 +1,14 @@
 {lib, stdenv, fetchFromGitHub, cmake}:
 
 stdenv.mkDerivation rec {
-  version = "1.3.2";
+  version = "1.4.2";
   pname = "nanoflann";
 
   src = fetchFromGitHub {
     owner = "jlblancoc";
     repo = "nanoflann";
     rev = "v${version}";
-    sha256 = "0lq1zqwjvk8wv15hd7aw57jsqbvv45cwb8ngdh1d2iyw5rvnbhsn";
+    sha256 = "sha256-znIX1S0mfOqLYPIcyVziUM1asBjENPEAdafLud1CfFI=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/ncnn/default.nix b/pkgs/development/libraries/ncnn/default.nix
index d53e0d9b42e..8c0f213b829 100644
--- a/pkgs/development/libraries/ncnn/default.nix
+++ b/pkgs/development/libraries/ncnn/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ncnn";
-  version = "20211208";
+  version = "20220216";
 
   src = fetchFromGitHub {
     owner = "Tencent";
     repo = pname;
     rev = version;
-    sha256 = "1c9axrnafksnks7v5fmi6nzs0qim9n6j5kh5d0vfl3b4r22irhqr";
+    sha256 = "sha256-QHLD5NQZA7WR4mRQ0NIaXuAu59IV4SjXHOOlar5aOew=";
   };
 
   patches = [
diff --git a/pkgs/development/libraries/nco/default.nix b/pkgs/development/libraries/nco/default.nix
index f6ca87a5e96..9d90e399ca7 100644
--- a/pkgs/development/libraries/nco/default.nix
+++ b/pkgs/development/libraries/nco/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "nco";
-  version = "5.0.4";
+  version = "5.0.6";
 
   src = fetchFromGitHub {
     owner = "nco";
     repo = "nco";
     rev = version;
-    sha256 = "sha256-hE3TSfZoKqiUEcLO+Q3xAjhyDPNqoq7+FGlKNpm8hjY=";
+    sha256 = "sha256-LmxHgSBBqXK5M4KOthd8R+H5EY3O5lueb2gnw5mK8Xw=";
   };
 
   nativeBuildInputs = [ flex which antlr2 ];
diff --git a/pkgs/development/libraries/ncurses/default.nix b/pkgs/development/libraries/ncurses/default.nix
index 6c97b37a25f..efab246bb1f 100644
--- a/pkgs/development/libraries/ncurses/default.nix
+++ b/pkgs/development/libraries/ncurses/default.nix
@@ -35,6 +35,7 @@ stdenv.mkDerivation rec {
     "--enable-symlinks"
     "--with-manpage-format=normal"
     "--disable-stripping"
+    "--with-versioned-syms"
   ] ++ lib.optional unicodeSupport "--enable-widec"
     ++ lib.optional (!withCxx) "--without-cxx"
     ++ lib.optional (abiVersion == "5") "--with-abi-version=5"
diff --git a/pkgs/development/libraries/ndpi/default.nix b/pkgs/development/libraries/ndpi/default.nix
index a45884f72dc..2e8a997299f 100644
--- a/pkgs/development/libraries/ndpi/default.nix
+++ b/pkgs/development/libraries/ndpi/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ndpi";
-  version = "4.0";
+  version = "4.2";
 
   src = fetchFromGitHub {
     owner = "ntop";
     repo = "nDPI";
     rev = version;
-    sha256 = "0snzvlracc6s7r2pgdn0jqcc7nxjxzcivsa579h90g5ibhhplv5x";
+    sha256 = "sha256-ZWWuyPGl+hbrfXdtPvCBqMReuJ4FiGx+qiI7qCz6wtQ=";
   };
 
   configureScript = "./autogen.sh";
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
       nDPI is a library for deep-packet inspection based on OpenDPI.
     '';
     homepage = "https://www.ntop.org/products/deep-packet-inspection/ndpi/";
-    license = with licenses; lgpl3;
+    license = with licenses; [ lgpl3Plus bsd3 ];
     maintainers = with maintainers; [ takikawa ];
     platforms = with platforms; unix;
   };
diff --git a/pkgs/development/libraries/notcurses/default.nix b/pkgs/development/libraries/notcurses/default.nix
index 444cc5034e6..d23401c0fb4 100644
--- a/pkgs/development/libraries/notcurses/default.nix
+++ b/pkgs/development/libraries/notcurses/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "notcurses";
-  version = "3.0.3";
+  version = "3.0.7";
 
   src = fetchFromGitHub {
     owner = "dankamongmen";
     repo = "notcurses";
     rev = "v${version}";
-    sha256 = "sha256-jIUIr7roX9ciYkNmvS9m14RdNgFTElwrKadYzi0lCP0=";
+    sha256 = "sha256-tFdxQEYmSFr3GlJMud2ICToR+IB5sGnQkARUd/LtJXg=";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/libraries/nv-codec-headers/11_x.nix b/pkgs/development/libraries/nv-codec-headers/11_x.nix
index a4bdd600282..284905cd4aa 100644
--- a/pkgs/development/libraries/nv-codec-headers/11_x.nix
+++ b/pkgs/development/libraries/nv-codec-headers/11_x.nix
@@ -5,12 +5,12 @@
 
 stdenv.mkDerivation rec {
   pname = "nv-codec-headers";
-  version = "11.1.5.0";
+  version = "11.1.5.1";
 
   src = fetchgit {
     url = "https://git.videolan.org/git/ffmpeg/nv-codec-headers.git";
     rev = "n${version}";
-    sha256 = "5d6LCKQB31UZ0veanSeKJVrPkJ8o2nvQWRfIG8YuekM=";
+    sha256 = "sha256-yTOKLjyYLxT/nI1FBOMwHpkDhfuua3+6Z5Mpb7ZrRhU=";
   };
 
   makeFlags = [
diff --git a/pkgs/development/libraries/nvidia-vaapi-driver/default.nix b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix
new file mode 100644
index 00000000000..1ba000a8103
--- /dev/null
+++ b/pkgs/development/libraries/nvidia-vaapi-driver/default.nix
@@ -0,0 +1,50 @@
+{ stdenv
+, fetchFromGitHub
+, lib
+, meson
+, ninja
+, pkg-config
+, libGL
+, gst_all_1
+, nv-codec-headers-11
+, libva
+, addOpenGLRunpath
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nvidia-vaapi-driver";
+  version = "0.0.5";
+
+  src = fetchFromGitHub {
+    owner = "elFarto";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-2bycqKolVoaHK64XYcReteuaON9TjzrFhaG5kty28YY=";
+  };
+
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    addOpenGLRunpath
+  ];
+
+  buildInputs = [
+    libGL
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-bad
+    nv-codec-headers-11
+    libva
+  ];
+
+  postFixup = ''
+    addOpenGLRunpath "$out/lib/dri/nvidia_drv_video.so"
+  '';
+
+  meta = with lib;{
+    homepage = "https://github.com/elFarto/nvidia-vaapi-driver";
+    description = "A VA-API implemention using NVIDIA's NVDEC";
+    license = licenses.mit;
+    maintainers = with maintainers;[ nickcao ];
+  };
+}
diff --git a/pkgs/development/libraries/okapi/default.nix b/pkgs/development/libraries/okapi/default.nix
index e9b0b95d1af..eb85bb1d41f 100644
--- a/pkgs/development/libraries/okapi/default.nix
+++ b/pkgs/development/libraries/okapi/default.nix
@@ -2,11 +2,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "okapi";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/trinsic-id/okapi/releases/download/v${version}/okapi-vendor-${version}.tar.gz";
-    sha256 = "sha256-1aADcwEEWMhoJjwc8wkEcmBYXz+5josOfI/KLaton2k=";
+    sha256 = "sha256-I3wTcT7vLgH+B8gNzl8Yr/qMIDkMJUrG++SOSS+FUmQ=";
   };
 
   cargoVendorDir = "vendor";
diff --git a/pkgs/development/libraries/openal-soft/default.nix b/pkgs/development/libraries/openal-soft/default.nix
index d28f7b25792..d2cdebdf355 100644
--- a/pkgs/development/libraries/openal-soft/default.nix
+++ b/pkgs/development/libraries/openal-soft/default.nix
@@ -23,9 +23,12 @@ stdenv.mkDerivation rec {
       --replace "@OUT@" $out
   '';
 
+  strictDeps = true;
+
   nativeBuildInputs = [ cmake ];
 
-  buildInputs = lib.optional alsaSupport alsa-lib
+  buildInputs = lib.optional (stdenv.buildPlatform != stdenv.hostPlatform) stdenv.cc.libc
+    ++ lib.optional alsaSupport alsa-lib
     ++ lib.optional pulseSupport libpulseaudio
     ++ lib.optionals stdenv.isDarwin [ CoreServices AudioUnit AudioToolbox ];
 
diff --git a/pkgs/development/libraries/opencl-headers/default.nix b/pkgs/development/libraries/opencl-headers/default.nix
index 661fd734d88..879a916d3ea 100644
--- a/pkgs/development/libraries/opencl-headers/default.nix
+++ b/pkgs/development/libraries/opencl-headers/default.nix
@@ -2,7 +2,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "opencl-headers-${version}";
+  pname = "opencl-headers";
   version = "2021.06.30";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/opendht/default.nix b/pkgs/development/libraries/opendht/default.nix
index d785146ecb0..fa9fc1f87ee 100644
--- a/pkgs/development/libraries/opendht/default.nix
+++ b/pkgs/development/libraries/opendht/default.nix
@@ -21,13 +21,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opendht";
-  version = "2.3.1";
+  version = "2.3.2";
 
   src = fetchFromGitHub {
     owner = "savoirfairelinux";
     repo = "opendht";
     rev = version;
-    sha256 = "sha256-Os5PRYTZMVekQrbwNODWsHANTx6RSC5vzGJ5JoYtvtE=";
+    sha256 = "sha256-LevS9euBAFkI1ll79uqmVaRR/6FH6Z4cypHqvCIWxgU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/openimagedenoise/default.nix b/pkgs/development/libraries/openimagedenoise/default.nix
index f1bbb01653f..8d02b976c91 100644
--- a/pkgs/development/libraries/openimagedenoise/default.nix
+++ b/pkgs/development/libraries/openimagedenoise/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "openimagedenoise";
-  version = "1.4.2";
+  version = "1.4.3";
 
   # The release tarballs include pretrained weights, which would otherwise need to be fetched with git-lfs
   src = fetchzip {
     url = "https://github.com/OpenImageDenoise/oidn/releases/download/v${version}/oidn-${version}.src.tar.gz";
-    sha256 = "sha256-+7o7b64ORCLn8z0KbnUKhlgPs9mlyDCUiNKJEbusGxw=";
+    sha256 = "sha256-i73w/Vkr5TPLB1ulPbPU4OVGwdNlky1brfarueD7akE=";
   };
 
   nativeBuildInputs = [ cmake python3 ispc ];
diff --git a/pkgs/development/libraries/openxr-loader/default.nix b/pkgs/development/libraries/openxr-loader/default.nix
index f55f9e83aec..514cbcea4a1 100644
--- a/pkgs/development/libraries/openxr-loader/default.nix
+++ b/pkgs/development/libraries/openxr-loader/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openxr-loader";
-  version = "1.0.20";
+  version = "1.0.22";
 
   src = fetchFromGitHub {
     owner = "KhronosGroup";
     repo = "OpenXR-SDK-Source";
     rev = "release-${version}";
-    sha256 = "sha256-afyAHTyW9x2KxR1q/K3t5Dpv9OzATcYiSgiDn2S924E=";
+    sha256 = "sha256-YaK7scnfXkxhRe/PKZukqHD9X70X0/QUDL0znTPbIBE=";
   };
 
   nativeBuildInputs = [ cmake python3 ];
diff --git a/pkgs/development/libraries/p11-kit/default.nix b/pkgs/development/libraries/p11-kit/default.nix
index 34a3788d786..df6e364d2e9 100644
--- a/pkgs/development/libraries/p11-kit/default.nix
+++ b/pkgs/development/libraries/p11-kit/default.nix
@@ -1,34 +1,61 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config, which
-, gettext, libffi, libiconv, libtasn1
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoreconfHook
+, docbook-xsl-nons
+, gtk-doc
+, installShellFiles
+, libxslt # for xsltproc
+, pkg-config
+, which
+, libffi
+, libiconv
+, libintl
+, libtasn1
 }:
 
 stdenv.mkDerivation rec {
   pname = "p11-kit";
-  version = "0.24.0";
+  version = "0.24.1";
 
   src = fetchFromGitHub {
     owner = "p11-glue";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jvUzOhMvbq05SxQ+kjKQHDDMzNwo4U6nFHu3JjygJHw=";
+    hash = "sha256-1QIMEGBZsqLYU3v5ZswD5K9VcIGLBovJlC10lBHhH7c=";
   };
 
-  outputs = [ "out" "dev"];
-  outputBin = "dev";
+  outputs = [ "out" "bin" "dev"];
 
-  # for cross platform builds of p11-kit, libtasn1 in nativeBuildInputs
+  # For cross platform builds of p11-kit, libtasn1 in nativeBuildInputs
   # provides the asn1Parser binary on the hostPlatform needed for building.
   # at the same time, libtasn1 in buildInputs provides the libasn1 library
   # to link against for the target platform.
-  # hence, libtasn1 is required in both native and build inputs.
-  nativeBuildInputs = [ autoreconfHook pkg-config which libtasn1 ];
-  buildInputs = [ gettext libffi libiconv libtasn1 ];
+  # Hence, libtasn1 is required in both native and build inputs.
+  nativeBuildInputs = [
+    autoreconfHook
+    docbook-xsl-nons
+    gtk-doc
+    installShellFiles
+    libtasn1
+    libxslt.bin
+    pkg-config
+    which
+  ];
+
+  buildInputs = [
+    libffi
+    libiconv
+    libintl
+    libtasn1
+  ];
 
   autoreconfPhase = ''
     NOCONFIGURE=1 ./autogen.sh
   '';
 
   configureFlags = [
+    "--enable-doc"
     "--sysconfdir=/etc"
     "--localstatedir=/var"
     "--with-trust-paths=${lib.concatStringsSep ":" [
@@ -53,6 +80,10 @@ stdenv.mkDerivation rec {
     "exampledir=${placeholder "out"}/etc/pkcs11"
   ];
 
+  postInstall = ''
+    installShellCompletion --bash bash-completion/{p11-kit,trust}
+  '';
+
   meta = with lib; {
     description = "Library for loading and sharing PKCS#11 modules";
     longDescription = ''
@@ -61,6 +92,10 @@ stdenv.mkDerivation rec {
       PKCS#11 modules in such a way that they're discoverable.
     '';
     homepage = "https://p11-glue.github.io/p11-glue/p11-kit.html";
+    changelog = [
+      "https://github.com/p11-glue/p11-kit/raw/${version}/NEWS"
+      "https://github.com/p11-glue/p11-kit/releases/tag/${version}"
+    ];
     platforms = platforms.all;
     license = licenses.bsd3;
   };
diff --git a/pkgs/development/libraries/pcre2/default.nix b/pkgs/development/libraries/pcre2/default.nix
index 724a1b1247a..8393cb8c591 100644
--- a/pkgs/development/libraries/pcre2/default.nix
+++ b/pkgs/development/libraries/pcre2/default.nix
@@ -5,10 +5,10 @@
 
 stdenv.mkDerivation rec {
   pname = "pcre2";
-  version = "10.37";
+  version = "10.39";
   src = fetchurl {
     url = "https://github.com/PhilipHazel/pcre2/releases/download/pcre2-${version}/pcre2-${version}.tar.bz2";
-    hash = "sha256-TZWpbouAUpiTtFYr4SZI15i5V7G6Gq45YGu8KrlW0nA=";
+    hash = "sha256-DwPK9X+B2f82KsKM04nAVewr8GeNJ3NJoaS+4ArW1EA=";
   };
 
   # Disable jit on Apple Silicon, https://github.com/zherczeg/sljit/issues/51
diff --git a/pkgs/development/libraries/pdf2xml/default.nix b/pkgs/development/libraries/pdf2xml/default.nix
index 2dfd3546685..c45a8e03fd1 100644
--- a/pkgs/development/libraries/pdf2xml/default.nix
+++ b/pkgs/development/libraries/pdf2xml/default.nix
@@ -34,6 +34,7 @@ stdenv.mkDerivation {
 
   meta = with lib; {
     description = "PDF to XML converter";
+    homepage = "https://sourceforge.net/projects/pdf2xml/";
     platforms = platforms.unix;
     license = licenses.gpl2;
   };
diff --git a/pkgs/development/libraries/phonon/backends/vlc.nix b/pkgs/development/libraries/phonon/backends/vlc.nix
index 8ff0f3bb491..42923d4f026 100644
--- a/pkgs/development/libraries/phonon/backends/vlc.nix
+++ b/pkgs/development/libraries/phonon/backends/vlc.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phonon-backend-vlc";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchurl {
     url = "mirror://kde/stable/phonon/${pname}/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-xsM7/GjRN/DlegKeS3mMu5D1Svb3Ma9JZ3hXeRzNU6U=";
+    sha256 = "sha256-Xmn97MsGDH5rWSTO8uZb7loIrOQScAW5U0TtMHfcY5c=";
   };
 
   buildInputs = [
@@ -33,9 +33,10 @@ stdenv.mkDerivation rec {
   ];
 
   meta = with lib; {
-    homepage = "https://phonon.kde.org/";
+    homepage = "https://community.kde.org/Phonon";
+    # Dev repo is at https://invent.kde.org/libraries/phonon-vlc
     description = "GStreamer backend for Phonon";
     platforms = platforms.linux;
-    license = with licenses; [ bsd3 lgpl2Plus ];
+    license = with licenses; [ bsd3 lgpl21Plus ];
   };
 }
diff --git a/pkgs/development/libraries/physics/fastjet-contrib/default.nix b/pkgs/development/libraries/physics/fastjet-contrib/default.nix
index d87c9d68b71..9f1b396e475 100644
--- a/pkgs/development/libraries/physics/fastjet-contrib/default.nix
+++ b/pkgs/development/libraries/physics/fastjet-contrib/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fastjet-contrib";
-  version = "1.046";
+  version = "1.048";
 
   src = fetchurl {
-    url = "http://fastjet.hepforge.org/contrib/downloads/fjcontrib-${version}.tar.gz";
-    sha256 = "sha256-cgavrH/rIHXZn7sDa7NRPTKy2sOvMDQQJjmGNUeT7s8=";
+    url = "https://fastjet.hepforge.org/contrib/downloads/fjcontrib-${version}.tar.gz";
+    sha256 = "sha256-+ZidO2rrIoSLz5EJXDBgfwJ9PvJ3pPD3BKjw/C52aYE=";
   };
 
   buildInputs = [ fastjet ];
@@ -33,7 +33,8 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Third party extensions for FastJet";
     homepage = "http://fastjet.fr/";
-    license = licenses.gpl2;
+    changelog = "https://phab.hepforge.org/source/fastjetsvn/browse/contrib/tags/${version}/NEWS?as=source&blame=off";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ veprbl ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/physics/geant4/datasets.nix b/pkgs/development/libraries/physics/geant4/datasets.nix
index e9b7f54e2a4..80de299793a 100644
--- a/pkgs/development/libraries/physics/geant4/datasets.nix
+++ b/pkgs/development/libraries/physics/geant4/datasets.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchurl, geant_version }:
 
 let
-  mkDataset = { name, version, sha256, envvar }:
+  mkDataset = { pname, version, sha256, envvar }:
     stdenv.mkDerivation {
-      inherit name version;
+      inherit pname version;
       inherit geant_version;
 
       src = fetchurl {
-        url = "https://cern.ch/geant4-data/datasets/${name}.${version}.tar.gz";
+        url = "https://cern.ch/geant4-data/datasets/${pname}.${version}.tar.gz";
         inherit sha256;
       };
 
@@ -15,7 +15,7 @@ let
       dontBuild = true;
       dontConfigure = true;
 
-      datadir = "${placeholder "out"}/share/Geant4-${geant_version}/data/${name}${version}";
+      datadir = "${placeholder "out"}/share/Geant4-${geant_version}/data/${pname}${version}";
       installPhase = ''
         mkdir -p $datadir
         mv ./* $datadir
@@ -32,86 +32,86 @@ let
       };
     };
 in
-  builtins.listToAttrs (map (a: { inherit (a) name; value = mkDataset a; }) [
+  builtins.listToAttrs (map (a: { inherit (a) pname; value = mkDataset a; }) [
     {
-      name = "G4NDL";
+      pname = "G4NDL";
       version = "4.6";
       sha256 = "sha256-nSh88q4PuIeirc6AHudPub4hsNFm2rSby+6UCKUUVAg=";
       envvar = "NEUTRONHP";
     }
 
     {
-      name = "G4EMLOW";
+      pname = "G4EMLOW";
       version = "8.0";
       sha256 = "sha256-2Rmo5YOGiCV7kkimE5EOsqdjMFngMMi1DAosKtn9Kzs=";
       envvar = "LE";
     }
 
     {
-      name = "G4PhotonEvaporation";
+      pname = "G4PhotonEvaporation";
       version = "5.7";
       sha256 = "sha256-dh5C5W/93j2YOfn52BAmB8a0wDKRUe5Rggb07p535+U=";
       envvar = "LEVELGAMMA";
     }
 
     {
-      name = "G4RadioactiveDecay";
+      pname = "G4RadioactiveDecay";
       version = "5.6";
       sha256 = "sha256-OIYHfJyOWph4PmcY4cMlZ4me6y27M+QC1Edrwv5PDfE=";
       envvar = "RADIOACTIVE";
     }
 
     {
-      name = "G4SAIDDATA";
+      pname = "G4SAIDDATA";
       version = "2.0";
       sha256 = "sha256-HSao55uqceRNV1m59Vpn6Lft4xdRMWqekDfYAJDHLpE=";
       envvar = "SAIDXS";
     }
 
     {
-      name = "G4PARTICLEXS";
+      pname = "G4PARTICLEXS";
       version = "4.0";
       sha256 = "sha256-k4EDlwPD8rD9NqtJmTYqLItP+QgMMi+QtOMZKBEzypU=";
       envvar = "PARTICLEXS";
     }
 
     {
-      name = "G4ABLA";
+      pname = "G4ABLA";
       version = "3.1";
       sha256 = "sha256-dpiwUrWL8bmIa+rNvWr2B63B4Jn8cwq2shz38JDAJ+0=";
       envvar = "ABLA";
     }
 
     {
-      name = "G4INCL";
+      pname = "G4INCL";
       version = "1.0";
       sha256 = "sha256-cWFhghrp89BWX788LPNPTgLj5RnrQZqCI27vIsLENn0=";
       envvar = "INCL";
     }
 
     {
-      name = "G4PII";
+      pname = "G4PII";
       version = "1.3";
       sha256 = "sha256-YiWtkCZ19DgcmMa6JfxaBs6HVJqpeWNNPQNJHWYW6SY=";
       envvar = "PII";
     }
 
     {
-      name = "G4ENSDFSTATE";
+      pname = "G4ENSDFSTATE";
       version = "2.3";
       sha256 = "sha256-lETF4IIHkavTzKrOEFsOR3kPrc4obhEUmDTnnEqOkgM=";
       envvar = "ENSDFSTATE";
     }
 
     {
-      name = "G4RealSurface";
+      pname = "G4RealSurface";
       version = "2.2";
       sha256 = "sha256-mVTe4AEvUzEmf3g2kOkS5y21v1Lqm6vs0S6iIoIXaCA=";
       envvar = "REALSURFACE";
     }
 
     {
-      name = "G4TENDL";
+      pname = "G4TENDL";
       version = "1.4";
       sha256 = "sha256-S3J0AgzItO1Wm4ku8YwuCI7c22tm850lWFzO4l2XIeA=";
       envvar = "PARTICLEHP";
diff --git a/pkgs/development/libraries/pico-sdk/default.nix b/pkgs/development/libraries/pico-sdk/default.nix
index 3db4ff336ff..eb98c2f9ef6 100644
--- a/pkgs/development/libraries/pico-sdk/default.nix
+++ b/pkgs/development/libraries/pico-sdk/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pico-sdk";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = pname;
     rev = version;
-    sha256 = "00z160f7ypws5pzp1ql7xrs3gmjcbw6gywnnq2fiwl47940balns";
+    sha256 = "sha256-cc1UTc1aswtJzuaUdYNcCzLtQ9+Wggiy/eRE+UoxSgE=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/pipewire/wireplumber.nix b/pkgs/development/libraries/pipewire/wireplumber.nix
index dc14a4b8017..cde73edf790 100644
--- a/pkgs/development/libraries/pipewire/wireplumber.nix
+++ b/pkgs/development/libraries/pipewire/wireplumber.nix
@@ -27,7 +27,7 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "wireplumber";
-  version = "0.4.7";
+  version = "0.4.8";
 
   outputs = [ "out" "dev" ] ++ lib.optional enableDocs "doc";
 
@@ -36,18 +36,9 @@ stdenv.mkDerivation rec {
     owner = "pipewire";
     repo = "wireplumber";
     rev = version;
-    sha256 = "sha256-yp4xtp+s+h+43LGVtYonoJ2tQaLRfwyMY4fp8z1l0CM=";
+    sha256 = "sha256-xwfggrjKHh5mZdvH6dKqQo6o1ltxuYdjoGYaWl31C/Y=";
   };
 
-  patches = [
-    # backport a fix for default device selection
-    # FIXME remove this after 0.4.8
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/pipewire/wireplumber/-/commit/211f1e6b6cd4898121e4c2b821fae4dea6cc3317.patch";
-      sha256 = "sha256-EGcbJ8Rq/5ft6SV0VC+mTkhVE7Ycze4TL6AVc9KH7+M=";
-    })
-  ];
-
   nativeBuildInputs = [
     meson
     pkg-config
@@ -76,6 +67,8 @@ stdenv.mkDerivation rec {
     "-Delogind=disabled"
     "-Ddoc=${mesonEnableFeature enableDocs}"
     "-Dintrospection=${mesonEnableFeature enableGI}"
+    "-Dsystemd-system-service=true"
+    "-Dsystemd-system-unit-dir=${placeholder "out"}/lib/systemd/system"
   ];
 
   passthru.updateScript = nix-update-script {
diff --git a/pkgs/development/libraries/pkcs11helper/default.nix b/pkgs/development/libraries/pkcs11helper/default.nix
index 4148ca4fc47..4de361a5984 100644
--- a/pkgs/development/libraries/pkcs11helper/default.nix
+++ b/pkgs/development/libraries/pkcs11helper/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pkcs11-helper";
-  version = "1.27";
+  version = "1.28";
 
   src = fetchFromGitHub {
     owner = "OpenSC";
     repo = "pkcs11-helper";
     rev = "${pname}-${version}";
-    sha256 = "1idrqip59bqzcgddpnk2inin5n5yn4y0dmcyaggfpdishraiqgd5";
+    sha256 = "sha256-gy04f62TX42mW4hKD/jTZXTpz9v6gQXNrY/pv8Ie4p0=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "https://github.com/OpenSC/pkcs11-helper";
-    license = with licenses; [ bsd3 gpl2 ];
+    license = with licenses; [ bsd3 gpl2Only ];
     description = "Library that simplifies the interaction with PKCS#11 providers";
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/libraries/portmidi/default.nix b/pkgs/development/libraries/portmidi/default.nix
index 2b8f006a755..f661ac0e40b 100644
--- a/pkgs/development/libraries/portmidi/default.nix
+++ b/pkgs/development/libraries/portmidi/default.nix
@@ -1,66 +1,27 @@
-{ lib, stdenv, fetchurl, unzip, cmake, /*jdk,*/ alsa-lib, Carbon, CoreAudio, CoreFoundation, CoreMIDI, CoreServices }:
+{ lib, stdenv, fetchFromGitHub, unzip, cmake, alsa-lib, Carbon, CoreAudio, CoreFoundation, CoreMIDI, CoreServices }:
 
 stdenv.mkDerivation rec {
   pname = "portmidi";
-  version = "234";
+  version = "2.0.3";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/portmedia/portmedia-code-r${version}.zip";
-    sha256 = "1g7i8hgarihycadbgy2f7lifiy5cbc0mcrcazmwnmbbh1bqx6dyp";
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-bLGqi3b9FHBA43baNDT8jkPBQSXAUDfurQSJHLcy3AE=";
   };
 
-  prePatch = ''
-    cd portmidi/trunk
-  '';
-
-  cmakeFlags = let
-    #base = "${jdk}/jre/lib/${jdk.architecture}";
-  in [
-    "-DPORTMIDI_ENABLE_JAVA=0"
-    /* TODO: Fix Java support.
-    "-DJAVA_AWT_LIBRARY=${base}/libawt.so"
-    "-DJAVA_JVM_LIBRARY=${base}/server/libjvm.so"
-    */
+  cmakeFlags = [
     "-DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=Release"
     "-DCMAKE_LIBRARY_OUTPUT_DIRECTORY=Release"
     "-DCMAKE_RUNTIME_OUTPUT_DIRECTORY=Release"
-  ] ++ lib.optionals stdenv.isDarwin [
-    "-DCMAKE_OSX_ARCHITECTURES=${if stdenv.isAarch64 then "arm64" else "x86_64"}"
-    "-DCOREAUDIO_LIB=${CoreAudio}"
-    "-DCOREFOUNDATION_LIB=${CoreFoundation}"
-    "-DCOREMIDI_LIB=${CoreMIDI}"
-    "-DCORESERVICES_LIB=${CoreServices}"
-  ];
-
-  NIX_LDFLAGS = lib.optionalString stdenv.isDarwin [
-    "-framework CoreAudio"
-    "-framework CoreFoundation"
-    "-framework CoreMIDI"
-    "-framework CoreServices"
   ];
 
   patches = [
-    # XXX: This is to deactivate Java support.
-    (fetchurl {
-      url = "https://raw.github.com/Rogentos/argent-gentoo/master/media-libs/portmidi/files/portmidi-217-cmake-libdir-java-opts.patch";
-      sha256 = "1jbjwan61iqq9fqfpq2a4fd30k3clg7a6j0gfgsw87r8c76kqf6h";
-    })
-  ] ++ lib.optionals stdenv.isDarwin [
-    # Remove hardcoded variables so we can set them properly
-    ./remove-darwin-variables.diff
+    # Add missing header include
+    ./missing-header.diff
   ];
 
-  postPatch = ''
-    sed -i -e 's|/usr/local/|'"$out"'|' -e 's|/usr/share/|'"$out"'/share/|' \
-      pm_common/CMakeLists.txt pm_dylib/CMakeLists.txt pm_java/CMakeLists.txt
-    sed -i \
-        -e 's|-classpath .|-classpath '"$(pwd)"'/pm_java|' \
-        -e 's|pmdefaults/|'"$(pwd)"'/pm_java/&|g' \
-        -e 's|jportmidi/|'"$(pwd)"'/pm_java/&|g' \
-        -e 's/WORKING_DIRECTORY pm_java//' \
-        pm_java/CMakeLists.txt
-  '';
-
   postInstall = let ext = stdenv.hostPlatform.extensions.sharedLibrary; in ''
     ln -s libportmidi${ext} "$out/lib/libporttime${ext}"
   '';
@@ -75,10 +36,10 @@ stdenv.mkDerivation rec {
   hardeningDisable = [ "format" ];
 
   meta = with lib; {
-    homepage = "http://portmedia.sourceforge.net/portmidi/";
+    homepage = "https://github.com/PortMidi/portmidi";
     description = "Platform independent library for MIDI I/O";
     license = licenses.mit;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/portmidi/missing-header.diff b/pkgs/development/libraries/portmidi/missing-header.diff
new file mode 100644
index 00000000000..1fa1f147014
--- /dev/null
+++ b/pkgs/development/libraries/portmidi/missing-header.diff
@@ -0,0 +1,12 @@
+diff --git a/porttime/ptmacosx_mach.c b/porttime/ptmacosx_mach.c
+index 10c3554..712a974 100755
+--- a/porttime/ptmacosx_mach.c
++++ b/porttime/ptmacosx_mach.c
+@@ -12,6 +12,7 @@
+ 

+ #include "porttime.h"

+ #include "sys/time.h"

++#include "sys/qos.h"

+ #include "pthread.h"

+ 

+ #ifndef NSEC_PER_MSEC

diff --git a/pkgs/development/libraries/portmidi/remove-darwin-variables.diff b/pkgs/development/libraries/portmidi/remove-darwin-variables.diff
deleted file mode 100644
index 15ed874f172..00000000000
--- a/pkgs/development/libraries/portmidi/remove-darwin-variables.diff
+++ /dev/null
@@ -1,52 +0,0 @@
-diff --git a/CMakeLists.txt b/CMakeLists.txt
-index 4919b78..758eccb 100644
---- a/CMakeLists.txt
-+++ b/CMakeLists.txt
-@@ -36,8 +36,6 @@ set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
- set(CMAKE_MODULE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
- set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "" CACHE INTERNAL "Unused")
- 
--set(CMAKE_OSX_ARCHITECTURES i386 ppc x86_64 CACHE STRING "change to needed architecture for a smaller library" FORCE)
--
- PROJECT(portmidi)
- 
- if(UNIX)
-diff --git a/pm_common/CMakeLists.txt b/pm_common/CMakeLists.txt
-index cbeeade..f765430 100644
---- a/pm_common/CMakeLists.txt
-+++ b/pm_common/CMakeLists.txt
-@@ -22,7 +22,7 @@ else(APPLE OR WIN32)
- endif(APPLE OR WIN32)
- 
- if(APPLE)
--  set(CMAKE_OSX_SYSROOT /Developer/SDKs/MacOSX10.6.sdk CACHE 
-+  set(CMAKE_OSX_SYSROOT / CACHE 
-       PATH "-isysroot parameter for compiler")
-   set(CMAKE_C_FLAGS "-mmacosx-version-min=10.6" CACHE 
-       STRING "needed in conjunction with CMAKE_OSX_SYSROOT" FORCE)
-@@ -54,10 +54,6 @@ if(UNIX)
- 
-     include_directories(${CMAKE_OSX_SYSROOT}/Developer/Headers/FlatCarbon)
-     set(FRAMEWORK_PATH ${CMAKE_OSX_SYSROOT}/System/Library/Frameworks)
--    set(COREAUDIO_LIB "${FRAMEWORK_PATH}/CoreAudio.framework")
--    set(COREFOUNDATION_LIB "${FRAMEWORK_PATH}/CoreFoundation.framework")
--    set(COREMIDI_LIB "${FRAMEWORK_PATH}/CoreMIDI.framework")
--    set(CORESERVICES_LIB "${FRAMEWORK_PATH}/CoreServices.framework")
-     set(PM_NEEDED_LIBS ${COREAUDIO_LIB} ${COREFOUNDATION_LIB}
-                              ${COREMIDI_LIB} ${CORESERVICES_LIB}
-         CACHE INTERNAL "")
-diff --git a/pm_dylib/CMakeLists.txt b/pm_dylib/CMakeLists.txt
-index f693dd6..1dc5cd6 100644
---- a/pm_dylib/CMakeLists.txt
-+++ b/pm_dylib/CMakeLists.txt
-@@ -49,10 +49,6 @@ if(UNIX)
- 
-     include_directories(${CMAKE_OSX_SYSROOT}/Developer/Headers/FlatCarbon)
-     set(FRAMEWORK_PATH ${CMAKE_OSX_SYSROOT}/System/Library/Frameworks)
--    set(COREAUDIO_LIB "${FRAMEWORK_PATH}/CoreAudio.framework")
--    set(COREFOUNDATION_LIB "${FRAMEWORK_PATH}/CoreFoundation.framework")
--    set(COREMIDI_LIB "${FRAMEWORK_PATH}/CoreMIDI.framework")
--    set(CORESERVICES_LIB "${FRAMEWORK_PATH}/CoreServices.framework")
-     set(PM_NEEDED_LIBS ${COREAUDIO_LIB} ${COREFOUNDATION_LIB}
-                              ${COREMIDI_LIB} ${CORESERVICES_LIB}
-         CACHE INTERNAL "")
diff --git a/pkgs/development/libraries/prison/default.nix b/pkgs/development/libraries/prison/default.nix
index 4275622c24f..71f8596c646 100644
--- a/pkgs/development/libraries/prison/default.nix
+++ b/pkgs/development/libraries/prison/default.nix
@@ -1,12 +1,11 @@
 { lib, stdenv, fetchurl, cmake, qrencode, qt4, libdmtx }:
 
-let v = "1.0"; in
-
 stdenv.mkDerivation rec {
-  name = "prison-${v}";
+  pname = "prison";
+  version = "1.0";
 
   src = fetchurl {
-    url = "mirror://kde/stable/prison/${v}/src/${name}.tar.gz";
+    url = "mirror://kde/stable/prison/${version}/src/prison-${version}.tar.gz";
     sha256 = "08hkzzda36jpdywjqlyzcvli7cx17h4l9yffzsdnhdd788n28krr";
   };
 
diff --git a/pkgs/development/libraries/proj-datumgrid/default.nix b/pkgs/development/libraries/proj-datumgrid/default.nix
index 93e415f6269..8251a17a83c 100644
--- a/pkgs/development/libraries/proj-datumgrid/default.nix
+++ b/pkgs/development/libraries/proj-datumgrid/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
-  name = "proj-datumgrid";
+  pname = "proj-datumgrid";
   version = "world-1.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/protobuf/3.16.nix b/pkgs/development/libraries/protobuf/3.16.nix
index df8d53b9f1c..fdbbed733d8 100644
--- a/pkgs/development/libraries/protobuf/3.16.nix
+++ b/pkgs/development/libraries/protobuf/3.16.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.16.0";
-  sha256 = "0jc523ys6xh1fk3l52f5mfqxhb4g8aim1js7330v0fdc3fjr8ncf";
+  version = "3.16.1";
+  sha256 = "sha256-eOwUyZtrmyh3HwLQ1kLnk+briaXQPrlUqtbFol/nGBo=";
 }
diff --git a/pkgs/development/libraries/protobuf/3.18.nix b/pkgs/development/libraries/protobuf/3.18.nix
index 63fc9b218d3..0d5d2c652cb 100644
--- a/pkgs/development/libraries/protobuf/3.18.nix
+++ b/pkgs/development/libraries/protobuf/3.18.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.18.1";
-  sha256 = "sha256-5PK0uuk7Du9hX/hHy0gninHIKu6b8THdfVh87Gn7y2Q=";
+  version = "3.18.2";
+  sha256 = "sha256-IXxVTZOAKVMuGCJtD32rVQRBJRWUJMEK2d+fPEmgzRU=";
 }
diff --git a/pkgs/development/libraries/protobuf/3.19.nix b/pkgs/development/libraries/protobuf/3.19.nix
index 727bf511d58..7e2be4bec04 100644
--- a/pkgs/development/libraries/protobuf/3.19.nix
+++ b/pkgs/development/libraries/protobuf/3.19.nix
@@ -1,6 +1,6 @@
 { callPackage, ... }:
 
 callPackage ./generic-v3.nix {
-  version = "3.19.0";
-  sha256 = "0rx4r4d7hqr0gi3v90jbkm2lnkj9p37dhgwx9d0w7kgh3rvr4i7g";
+  version = "3.19.3";
+  sha256 = "sha256-nA6L064MuyP5Si4MCLk2yg8PDM7RWggFEGQyibputYQ=";
 }
diff --git a/pkgs/development/libraries/protozero/default.nix b/pkgs/development/libraries/protozero/default.nix
index 6bff5998b56..1e35ab700a0 100644
--- a/pkgs/development/libraries/protozero/default.nix
+++ b/pkgs/development/libraries/protozero/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "protozero";
-  version = "1.7.0";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "mapbox";
     repo = "protozero";
     rev = "v${version}";
-    sha256 = "0fdihfl5j68wayjjxvpvhvnjq1anzcfnfl09f68wpzbkg3zmhblz";
+    sha256 = "sha256-R8lGewsEOxPNbKlkIeiM4yIwUcTzi2Dm0+xJ2WrBTBQ=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -17,6 +17,10 @@ stdenv.mkDerivation rec {
     description = "Minimalistic protocol buffer decoder and encoder in C++";
     homepage = "https://github.com/mapbox/protozero";
     license = with licenses; [ bsd2 asl20 ];
+    changelog = [
+      "https://github.com/mapbox/protozero/releases/tag/v${version}"
+      "https://github.com/mapbox/protozero/blob/v${version}/CHANGELOG.md"
+    ];
     maintainers = with maintainers; [ das-g ];
   };
 }
diff --git a/pkgs/development/libraries/pugixml/default.nix b/pkgs/development/libraries/pugixml/default.nix
index 57335fa3d97..c976db88225 100644
--- a/pkgs/development/libraries/pugixml/default.nix
+++ b/pkgs/development/libraries/pugixml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pugixml";
-  version = "1.11.4";
+  version = "1.12.1";
 
   src = fetchFromGitHub {
     owner = "zeux";
     repo = "pugixml";
     rev = "v${version}";
-    sha256 = "sha256-pXadPs2Dlht3BMNYDVxWZqnVv0umDgYVcqH5YVxr+uA=";
+    sha256 = "sha256-Udjx84mhLPJ1bU5WYDo73PAeeufS+vBLXZP0YbBvqLE=";
   };
 
   outputs = if shared then [ "out" "dev" ] else [ "out" ];
diff --git a/pkgs/development/libraries/qimageblitz/default.nix b/pkgs/development/libraries/qimageblitz/default.nix
index 709a3fb1533..e838eb07201 100644
--- a/pkgs/development/libraries/qimageblitz/default.nix
+++ b/pkgs/development/libraries/qimageblitz/default.nix
@@ -1,15 +1,11 @@
 {lib, stdenv, fetchurl, cmake, qt4}:
 
-let
-  pn = "qimageblitz";
-  v = "0.0.4";
-in
-
-stdenv.mkDerivation {
-  name = "${pn}-${v}";
+stdenv.mkDerivation rec {
+  pname = "qimageblitz";
+  version = "0.0.4";
 
   src = fetchurl {
-    url = "mirror://sourceforge/${pn}/${pn}-${v}.tar.bz2";
+    url = "mirror://sourceforge/qimageblitz/qimageblitz-${version}.tar.bz2";
     sha256 = "0pnaf3qi7rgkxzs2mssmslb3f9ya4cyx09wzwlis3ppyvf72j0p9";
   };
 
@@ -21,7 +17,7 @@ stdenv.mkDerivation {
   meta = {
     description = "Graphical effect and filter library for KDE4";
     license = lib.licenses.bsd2;
-    homepage = "http://${pn}.sourceforge.net";
+    homepage = "http://qimageblitz.sourceforge.net";
     platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/development/libraries/qpdf/default.nix b/pkgs/development/libraries/qpdf/default.nix
index 9dc05edd694..c8725264820 100644
--- a/pkgs/development/libraries/qpdf/default.nix
+++ b/pkgs/development/libraries/qpdf/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qpdf";
-  version = "10.4.0";
+  version = "10.6.2";
 
   src = fetchFromGitHub {
     owner = "qpdf";
     repo = "qpdf";
     rev = "release-qpdf-${version}";
-    sha256 = "sha256-IYXH1Pcd0eRzlbRouAB17wsCUGNuIlJfwJLbXiaC5dk=";
+    hash = "sha256-+8bH7fKJ5uZRxKX/4nMkoZGFTxm2uJEXkb1wq5FrLWs=";
   };
 
   nativeBuildInputs = [ perl ];
diff --git a/pkgs/development/libraries/qt-4.x/4.8/default.nix b/pkgs/development/libraries/qt-4.x/4.8/default.nix
index 96d2abe5a6e..e81f3c186d6 100644
--- a/pkgs/development/libraries/qt-4.x/4.8/default.nix
+++ b/pkgs/development/libraries/qt-4.x/4.8/default.nix
@@ -15,22 +15,17 @@
 , libobjc, ApplicationServices, OpenGL, Cocoa, AGL, libcxx
 }:
 
-let
-  v_maj = "4.8";
-  v_min = "7";
-  vers = "${v_maj}.${v_min}";
-in
-
 # TODO:
 #  * move some plugins (e.g., SQL plugins) to dedicated derivations to avoid
 #    false build-time dependencies
 
 stdenv.mkDerivation rec {
-  name = "qt-${vers}";
+  pname = "qt";
+  version = "4.8.7";
 
   src = fetchurl {
     url = "http://download.qt-project.org/official_releases/qt/"
-      + "${v_maj}/${vers}/qt-everywhere-opensource-src-${vers}.tar.gz";
+      + "${lib.versions.majorMinor version}/${version}/qt-everywhere-opensource-src-${version}.tar.gz";
     sha256 = "183fca7n7439nlhxyg1z7aky0izgbyll3iwakw4gwivy16aj5272";
   };
 
@@ -40,8 +35,6 @@ stdenv.mkDerivation rec {
 
   setOutputFlags = false;
 
-  # The version property must be kept because it will be included into the QtSDK package name
-  version = vers;
 
   prePatch = ''
     substituteInPlace configure --replace /bin/pwd pwd
@@ -131,13 +124,13 @@ stdenv.mkDerivation rec {
   preConfigure = ''
     export LD_LIBRARY_PATH="`pwd`/lib''${LD_LIBRARY_PATH:+:}$LD_LIBRARY_PATH"
     configureFlags+="
-      -docdir $out/share/doc/${name}
+      -docdir $out/share/doc/qt-${version}
       -plugindir $out/lib/qt4/plugins
       -importdir $out/lib/qt4/imports
-      -examplesdir $TMPDIR/share/doc/${name}/examples
-      -demosdir $TMPDIR/share/doc/${name}/demos
-      -datadir $out/share/${name}
-      -translationdir $out/share/${name}/translations
+      -examplesdir $TMPDIR/share/doc/qt-${version}/examples
+      -demosdir $TMPDIR/share/doc/qt-${version}/demos
+      -datadir $out/share/qt-${version}
+      -translationdir $out/share/qt-${version}/translations
       --jobs=$NIX_BUILD_CORES
     "
     unset LD # Makefile uses gcc for linking; setting LD interferes
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
index 68945625f5b..01d0c593282 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebengine.nix
@@ -19,7 +19,7 @@
 , ApplicationServices, AVFoundation, Foundation, ForceFeedback, GameController, AppKit
 , ImageCaptureCore, CoreBluetooth, IOBluetooth, CoreWLAN, Quartz, Cocoa, LocalAuthentication
 , cups, openbsm, runCommand, xcbuild, writeScriptBin
-, ffmpeg ? null
+, ffmpeg_4 ? null
 , lib, stdenv, fetchpatch
 , version ? null
 , qtCompatVersion
@@ -115,6 +115,7 @@ qtModule {
   ] ++ lib.optionals stdenv.isDarwin [
     "-DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12"
     "-DMAC_OS_X_VERSION_MIN_REQUIRED=MAC_OS_X_VERSION_10_12"
+    "-Wno-elaborated-enum-base"
 
     #
     # Prevent errors like
@@ -153,7 +154,7 @@ qtModule {
     harfbuzz icu
 
     libevent
-    ffmpeg
+    ffmpeg_4
   ] ++ lib.optionals (!stdenv.isDarwin) [
     dbus zlib minizip snappy nss protobuf jsoncpp
 
diff --git a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
index dc9f5ccb9eb..bebfbdda8d8 100644
--- a/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
+++ b/pkgs/development/libraries/qt-5/modules/qtwebkit.nix
@@ -2,7 +2,7 @@
 , qtbase, qtdeclarative, qtlocation, qtmultimedia, qtsensors, qtwebchannel
 , fontconfig, libwebp, libxml2, libxslt
 , sqlite, systemd, glib, gst_all_1, cmake
-, bison, flex, gdb, gperf, perl, pkg-config, python2, ruby
+, bison, flex, gdb, gperf, perl, pkg-config, python38, ruby
 , ICU, OpenGL
 }:
 
@@ -30,7 +30,7 @@ qtModule {
     ++ lib.optionals stdenv.isDarwin [ ICU OpenGL ]
     ++ lib.optional usingAnnulenWebkitFork hyphen;
   nativeBuildInputs = [
-    bison flex gdb gperf perl pkg-config python2 ruby
+    bison flex gdb gperf perl pkg-config python38 ruby
   ] ++ lib.optional usingAnnulenWebkitFork cmake;
 
   cmakeFlags = lib.optionals usingAnnulenWebkitFork ([ "-DPORT=Qt" ]
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
index 72413b372f0..f2ea86160fb 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum-qt4/default.nix
@@ -2,36 +2,40 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum-qt4";
-  version = "0.20.2";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "sha256-aIhLrGKb8iPl8N483+EOaCrTua96Qvl2lc2UXRiqvJA=";
+    hash = "sha256-Faex1NF5bJa0GdC+Sz4p6kHaGUtAkqZlNGi0TSc5ckw=";
   };
 
   nativeBuildInputs = [ qmake4Hook ];
   buildInputs = [ qt4 libX11 libXext ];
 
-  postUnpack = "sourceRoot=\${sourceRoot}/Kvantum";
+  sourceRoot = "source/Kvantum";
 
   buildPhase = ''
+    runHook preBuild
     qmake kvantum.pro
     make
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
     mkdir $TMP/kvantum
     make INSTALL_ROOT="$TMP/kvantum" install
     mv $TMP/kvantum/usr/ $out
     mv $TMP/kvantum/${qt4}/lib $out
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "SVG-based Qt4 theme engine";
     homepage = "https://github.com/tsujan/Kvantum";
-    license = licenses.gpl2;
+    license = licenses.gpl3Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bugworm ];
   };
diff --git a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
index 909903c2c34..5a747fd9106 100644
--- a/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
+++ b/pkgs/development/libraries/qtstyleplugin-kvantum/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qtstyleplugin-kvantum";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "tsujan";
     repo = "Kvantum";
     rev = "V${version}";
-    sha256 = "0yvxj7r9z890nfq5cadw7ys144c2mnvaplvx4v4ndv7238b741l8";
+    sha256 = "0k3j74klvd386ijsd4j09ccxlhga54z4pgnh36s9cv3rs7ab39qm";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/readline/5.x.nix b/pkgs/development/libraries/readline/5.x.nix
deleted file mode 100644
index 98decdca968..00000000000
--- a/pkgs/development/libraries/readline/5.x.nix
+++ /dev/null
@@ -1,21 +0,0 @@
-{ lib, stdenv, fetchurl, ncurses }:
-
-stdenv.mkDerivation rec {
-  pname = "readline";
-  version = "5.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/readline/readline-${version}.tar.gz";
-    sha256 = "0icz4hqqq8mlkwrpczyaha94kns0am9z0mh3a2913kg2msb8vs0j";
-  };
-
-  propagatedBuildInputs = [ncurses];
-
-  patches = lib.optional stdenv.isDarwin ./shobj-darwin.patch;
-
-  meta = with lib; {
-    branch = "5";
-    platforms = platforms.unix;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/development/libraries/readline/6.2.nix b/pkgs/development/libraries/readline/6.2.nix
deleted file mode 100644
index 13c53937a7c..00000000000
--- a/pkgs/development/libraries/readline/6.2.nix
+++ /dev/null
@@ -1,64 +0,0 @@
-{ fetchurl, lib, stdenv, ncurses
-}:
-
-stdenv.mkDerivation (rec {
-  pname = "readline";
-  version = "6.2";
-
-  src = fetchurl {
-    url = "mirror://gnu/readline/readline-${version}.tar.gz";
-    sha256 = "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr";
-  };
-
-  propagatedBuildInputs = [ncurses];
-
-  patchFlags = [ "-p0" ];
-  patches =
-    [ ./link-against-ncurses.patch
-      ./no-arch_only.patch
-      ./clang.patch
-    ]
-    ++
-    (let
-       patch = nr: sha256:
-         fetchurl {
-           url = "mirror://gnu/readline/readline-${version}-patches/readline62-${nr}";
-           inherit sha256;
-         };
-     in
-       import ./readline-6.2-patches.nix patch);
-
-  meta = {
-    description = "Library for interactive line editing";
-
-    longDescription = ''
-      The GNU Readline library provides a set of functions for use by
-      applications that allow users to edit command lines as they are
-      typed in.  Both Emacs and vi editing modes are available.  The
-      Readline library includes additional functions to maintain a
-      list of previously-entered command lines, to recall and perhaps
-      reedit those lines, and perform csh-like history expansion on
-      previous commands.
-
-      The history facilities are also placed into a separate library,
-      the History library, as part of the build process.  The History
-      library may be used without Readline in applications which
-      desire its capabilities.
-    '';
-
-    homepage = "https://savannah.gnu.org/projects/readline/";
-
-    license = lib.licenses.gpl3Plus;
-
-    maintainers = [ ];
-    branch = "6.2";
-    platforms = lib.platforms.unix;
-  };
-}
-
-//
-
-# Don't run the native `strip' when cross-compiling.
-(if stdenv.hostPlatform != stdenv.buildPlatform
- then { dontStrip = true; }
- else { }))
diff --git a/pkgs/development/libraries/readline/clang.patch b/pkgs/development/libraries/readline/clang.patch
deleted file mode 100644
index 42bb0be09c3..00000000000
--- a/pkgs/development/libraries/readline/clang.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/support/shobj-conf b/support/shobj-conf
-index 5a63e80..4b2a741 100644
---- support/shobj-conf
-+++ support/shobj-conf
-@@ -189,7 +189,7 @@ darwin*|macosx*)
- 	darwin[789]*|darwin10*)	SHOBJ_LDFLAGS=''
- 			SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
- 			;;
--	*)		SHOBJ_LDFLAGS='-dynamic'
-+	*)		SHOBJ_LDFLAGS='-dynamiclib'
- 			SHLIB_XLDFLAGS='-arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
- 			;;
- 	esac
diff --git a/pkgs/development/libraries/readline/no-arch_only.patch b/pkgs/development/libraries/readline/no-arch_only.patch
deleted file mode 100644
index b23eab5d9d7..00000000000
--- a/pkgs/development/libraries/readline/no-arch_only.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -ru -x '*~' readline-6.2-orig/support/shobj-conf readline-6.2/support/shobj-conf
---- support/shobj-conf	2009-10-28 14:20:21.000000000 +0100
-+++ support/shobj-conf	2014-07-01 13:03:28.000000000 +0200
-@@ -168,8 +168,8 @@
- 	SHLIB_LIBVERSION='$(SHLIB_MAJOR)$(SHLIB_MINOR).$(SHLIB_LIBSUFF)'
- 	SHLIB_LIBSUFF='dylib'
- 
--	SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup -arch_only `/usr/bin/arch`'
--	SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
-+	SHOBJ_LDFLAGS='-dynamiclib -dynamic -undefined dynamic_lookup'
-+	SHLIB_XLDFLAGS='-dynamiclib -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
- 
- 	SHLIB_LIBS='-lncurses'	# see if -lcurses works on MacOS X 10.1 
- 	;;
diff --git a/pkgs/development/libraries/readline/readline-6.2-patches.nix b/pkgs/development/libraries/readline/readline-6.2-patches.nix
deleted file mode 100644
index 9fdcb3743b7..00000000000
--- a/pkgs/development/libraries/readline/readline-6.2-patches.nix
+++ /dev/null
@@ -1,9 +0,0 @@
-# Automatically generated by `update-patch-set.sh'; do not edit.
-
-patch: [
-(patch "001" "1qxl74f4n0hv4a807byrgbk4ixd8m50apj3922q2ss9pfi0nra1q")
-(patch "002" "1m670g2xzib6r81315q9r24nh9brmxkpq07acch1fwxmih94jqqy")
-(patch "003" "0x13c9wir4r44v2vdg96y0ahn8kl3wcmb5y0xn15yvid6pzk28fb")
-(patch "004" "0xjlkxfssfsd6jwbqhfjs4hybcps0b9zgz8v86vbhnzag4j39g89")
-(patch "005" "1x61bjl3wgs1gwla9b3y1hh12m1j5qlbis22258mljjl9mg900pg")
-]
diff --git a/pkgs/development/libraries/readline/shobj-darwin.patch b/pkgs/development/libraries/readline/shobj-darwin.patch
deleted file mode 100644
index a9199ca3e89..00000000000
--- a/pkgs/development/libraries/readline/shobj-darwin.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- a/support/shobj-conf.orig	2006-04-11 06:15:43.000000000 -0700
-+++ b/support/shobj-conf	2007-11-08 01:15:43.000000000 -0800
-@@ -171,7 +171,7 @@
- 	SHLIB_LIBSUFF='dylib'
- 
- 	case "${host_os}" in
--	darwin[78]*)	SHOBJ_LDFLAGS=''
-+	darwin[789]*)	SHOBJ_LDFLAGS=''
- 			SHLIB_XLDFLAGS='-dynamiclib -arch_only `/usr/bin/arch` -install_name $(libdir)/$@ -current_version $(SHLIB_MAJOR)$(SHLIB_MINOR) -compatibility_version $(SHLIB_MAJOR) -v'
- 			;;
- 	*)		SHOBJ_LDFLAGS='-dynamic'
diff --git a/pkgs/development/libraries/rinutils/default.nix b/pkgs/development/libraries/rinutils/default.nix
index 35e48140fdd..212019bb0e1 100644
--- a/pkgs/development/libraries/rinutils/default.nix
+++ b/pkgs/development/libraries/rinutils/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   pname = "rinutils";
-  version = "0.8.0";
+  version = "0.10.0";
 
   meta = with lib; {
     homepage = "https://github.com/shlomif/rinutils";
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://github.com/shlomif/${pname}/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "1q09aihm5m42xiq2prpa9mf0srwiirzgzblkp5nl74i7zg6pg5hx";
+    sha256 = "sha256-cNifCoRk+PSU8zcEt8k5bn/KOS6Kr6pEZXEMGjiemAY=";
   };
 
   nativeBuildInputs = [ cmake perl ];
diff --git a/pkgs/development/libraries/rocksdb/default.nix b/pkgs/development/libraries/rocksdb/default.nix
index dd7719c8c83..3f50c0665fa 100644
--- a/pkgs/development/libraries/rocksdb/default.nix
+++ b/pkgs/development/libraries/rocksdb/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rocksdb";
-  version = "6.28.2";
+  version = "6.29.3";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0T/ANHTRzk0ymezRQbvJt6aL350Z004gcj4JapAyAnQ=";
+    sha256 = "sha256-O0nIPRKj0ZOEjynh7h9kM6V965hQKs+4GgIbN+Os0I4=";
   };
 
   nativeBuildInputs = [ cmake ninja ];
diff --git a/pkgs/development/libraries/rocm-device-libs/default.nix b/pkgs/development/libraries/rocm-device-libs/default.nix
index 13a32658111..e2ed679d212 100644
--- a/pkgs/development/libraries/rocm-device-libs/default.nix
+++ b/pkgs/development/libraries/rocm-device-libs/default.nix
@@ -23,8 +23,6 @@ stdenv.mkDerivation rec {
 
   buildInputs = [ clang lld llvm ];
 
-  cmakeBuildType = "Release";
-
   cmakeFlags = [
     "-DCMAKE_PREFIX_PATH=${llvm}/lib/cmake/llvm;${clang-unwrapped}/lib/cmake/clang"
     "-DLLVM_TARGETS_TO_BUILD='AMDGPU;X86'"
diff --git a/pkgs/development/libraries/s2n-tls/default.nix b/pkgs/development/libraries/s2n-tls/default.nix
index 35a37fbddb8..395e5d0c75d 100644
--- a/pkgs/development/libraries/s2n-tls/default.nix
+++ b/pkgs/development/libraries/s2n-tls/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "s2n-tls";
-  version = "1.3.0";
+  version = "1.3.4";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gd91thIcJO6Bhn1ENkW0k2iDzu1CvSYwWVv0VEM9umU=";
+    hash = "sha256-/kZI/NOZO8T5jlG9Qtfr14aCJDKrP7wEQLgJ6qe9VzY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/science/math/clmagma/default.nix b/pkgs/development/libraries/science/math/clmagma/default.nix
index 3905e70d340..fe9fc540902 100644
--- a/pkgs/development/libraries/science/math/clmagma/default.nix
+++ b/pkgs/development/libraries/science/math/clmagma/default.nix
@@ -3,7 +3,6 @@
 with lib;
 
 let
-  version = "1.3.0";
   incfile = builtins.toFile "make.inc.custom" ''
     CC        = g++
     FORT      = gfortran
@@ -32,10 +31,11 @@ let
     INC       = -I$(clBLAS)/include
                #-I$(AMDAPP)/include
   '';
-in stdenv.mkDerivation {
-  name = "clmagma-${version}";
+in stdenv.mkDerivation rec {
+  pname = "clmagma";
+  version = "1.3.0";
   src = fetchurl {
-    url = "http://icl.cs.utk.edu/projectsfiles/magma/cl/clmagma-${version}.tar.gz";
+    url = "https://icl.cs.utk.edu/projectsfiles/magma/cl/clmagma-${version}.tar.gz";
     sha256 = "1n27ny0xhwirw2ydn46pfcwy53gzia9zbam4irx44fd4d7f9ydv7";
     name = "clmagma-${version}.tar.gz";
   };
@@ -68,7 +68,7 @@ in stdenv.mkDerivation {
   meta = with lib; {
     description = "Matrix Algebra on GPU and Multicore Architectures, OpenCL port";
     license = licenses.bsd3;
-    homepage = "http://icl.cs.utk.edu/magma/index.html";
+    homepage = "https://icl.cs.utk.edu/magma/index.html";
     platforms = platforms.linux;
     maintainers = with maintainers; [ volhovm ];
   };
diff --git a/pkgs/development/libraries/science/math/cudnn/default.nix b/pkgs/development/libraries/science/math/cudnn/default.nix
index 3d4d4c21e5a..663d61494c7 100644
--- a/pkgs/development/libraries/science/math/cudnn/default.nix
+++ b/pkgs/development/libraries/science/math/cudnn/default.nix
@@ -1,60 +1,77 @@
-{ callPackage, cudatoolkit_10_0, cudatoolkit_10_1, cudatoolkit_10_2, cudatoolkit_11_0, cudatoolkit_11_1, cudatoolkit_11_2
-, cudatoolkit_11_3, cudatoolkit_11_4
+# The following version combinations are supported:
+#  * cuDNN 7.4.2, cudatoolkit 10.0
+#  * cuDNN 7.6.5, cudatoolkit 10.2
+#  * cuDNN 8.1.1, cudatoolkit 11.0-11.2
+#  * cuDNN 8.3.0, cudatoolkit 11.0-11.5
+{ callPackage
+, cudatoolkit_10_0
+, cudatoolkit_10_2
+, cudatoolkit_11_0
+, cudatoolkit_11_1
+, cudatoolkit_11_2
+, cudatoolkit_11_3
+, cudatoolkit_11_4
+, cudatoolkit_11_5
 }:
 
 let
-  generic = args: callPackage (import ./generic.nix (removeAttrs args ["cudatoolkit"])) {
+  generic = args: callPackage (import ./generic.nix (removeAttrs args [ "cudatoolkit" ])) {
     inherit (args) cudatoolkit;
   };
-
-in rec {
-  cudnn_cudatoolkit_10_0 = generic rec {
+in
+rec {
+  # cuDNN 7.x
+  # Still used by libtensorflow-bin. It should be upgraded at some point.
+  cudnn_7_4_cudatoolkit_10_0 = generic rec {
     version = "7.4.2";
     cudatoolkit = cudatoolkit_10_0;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.4.2.24.tgz";
     sha256 = "18ys0apiz9afid2s6lvy9qbyi8g66aimb2a7ikl1f3dm09mciprf";
   };
 
-  cudnn_cudatoolkit_10_1 = generic rec {
-    version = "7.6.3";
-    cudatoolkit = cudatoolkit_10_1;
-    srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.3.30.tgz";
-    sha256 = "0qc9f1xpyfibwqrpqxxq2v9h6w90j0dbx564akwy44c1dls5f99m";
-  };
-
-  cudnn_cudatoolkit_10_2 = generic rec {
+  # The `cudnn` alias still points to this in all-packages.nix. It should be
+  # upgraded at some point.
+  cudnn_7_6_cudatoolkit_10_2 = generic rec {
     version = "7.6.5";
     cudatoolkit = cudatoolkit_10_2;
     srcName = "cudnn-${cudatoolkit.majorVersion}-linux-x64-v7.6.5.32.tgz";
     sha256 = "084c13vzjdkb5s1996yilybg6dgav1lscjr1xdcgvlmfrbr6f0k0";
   };
 
-  cudnn_cudatoolkit_10 = cudnn_cudatoolkit_10_2;
+  cudnn_7_6_cudatoolkit_10 = cudnn_7_6_cudatoolkit_10_2;
 
-  cudnn_cudatoolkit_11_0 = generic rec {
+  # cuDNN 8.x
+  # cuDNN 8.1 is still used by tensorflow at the time of writing (2022-02-17).
+  # See https://github.com/NixOS/nixpkgs/pull/158218 for more info.
+  cudnn_8_1_cudatoolkit_11_0 = generic rec {
     version = "8.1.1";
     cudatoolkit = cudatoolkit_11_0;
-    # 8.1.0 is compatible with CUDA 11.0, 11.1, and 11.2:
-    # https://docs.nvidia.com/deeplearning/cudnn/support-matrix/index.html#cudnn-cuda-hardware-versions
+    # 8.1.0 is compatible with CUDA 11.0-11.2:
+    # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-811/support-matrix/index.html
     srcName = "cudnn-11.2-linux-x64-v8.1.1.33.tgz";
     hash = "sha256-mKh4TpKGLyABjSDCgbMNSgzZUfk2lPZDPM9K6cUCumo=";
   };
+  cudnn_8_1_cudatoolkit_11_1 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; };
+  cudnn_8_1_cudatoolkit_11_2 = cudnn_8_1_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; };
+  cudnn_8_1_cudatoolkit_11 = cudnn_8_1_cudatoolkit_11_2;
 
-  cudnn_cudatoolkit_11_1 = cudnn_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_1;
-  };
-
-  cudnn_cudatoolkit_11_2 = cudnn_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_2;
-  };
-
-  cudnn_cudatoolkit_11_3 = cudnn_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_3;
-  };
-
-  cudnn_cudatoolkit_11_4 = cudnn_cudatoolkit_11_0.override {
-    cudatoolkit = cudatoolkit_11_4;
+  # cuDNN 8.3 is necessary for the latest jaxlib, esp. jaxlib-bin. See
+  # https://github.com/google/jax/discussions/9455 for more info.
+  cudnn_8_3_cudatoolkit_11_0 = generic rec {
+    # 8.3.0 is the last version to respect the folder structure that generic.nix
+    # expects. Later versions have files in a subdirectory `local_installers`.
+    # See eg https://developer.download.nvidia.com/compute/redist/cudnn/v8.3.1/.
+    version = "8.3.0";
+    cudatoolkit = cudatoolkit_11_0;
+    # 8.3.0 is compatible with CUDA 11.0-11.5:
+    # https://docs.nvidia.com/deeplearning/cudnn/archives/cudnn-830/support-matrix/index.html
+    srcName = "cudnn-11.5-linux-x64-v8.3.0.98.tgz";
+    hash = "sha256-RMb1rVyxL7dPoMmh58qvTwTXVa3xGi5bbJ5BfaN2srI=";
   };
-
-  cudnn_cudatoolkit_11 = cudnn_cudatoolkit_11_4;
+  cudnn_8_3_cudatoolkit_11_1 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_1; };
+  cudnn_8_3_cudatoolkit_11_2 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_2; };
+  cudnn_8_3_cudatoolkit_11_3 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_3; };
+  cudnn_8_3_cudatoolkit_11_4 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_4; };
+  cudnn_8_3_cudatoolkit_11_5 = cudnn_8_3_cudatoolkit_11_0.override { cudatoolkit = cudatoolkit_11_5; };
+  cudnn_8_3_cudatoolkit_11 = cudnn_8_3_cudatoolkit_11_5;
 }
diff --git a/pkgs/development/libraries/science/math/cudnn/generic.nix b/pkgs/development/libraries/science/math/cudnn/generic.nix
index f5a4fac1a90..13fc0b67997 100644
--- a/pkgs/development/libraries/science/math/cudnn/generic.nix
+++ b/pkgs/development/libraries/science/math/cudnn/generic.nix
@@ -35,12 +35,15 @@ stdenv.mkDerivation {
 
   nativeBuildInputs = [ addOpenGLRunpath ];
 
+  # Some cuDNN libraries depend on things in cudatoolkit, eg.
+  # libcudnn_ops_infer.so.8 tries to load libcublas.so.11. So we need to patch
+  # cudatoolkit into RPATH. See also https://github.com/NixOS/nixpkgs/blob/88a2ad974692a5c3638fcdc2c772e5770f3f7b21/pkgs/development/python-modules/jaxlib/bin.nix#L78-L98.
   installPhase = ''
     runHook preInstall
 
     function fixRunPath {
       p=$(patchelf --print-rpath $1)
-      patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc ]}:\$ORIGIN/" $1
+      patchelf --set-rpath "''${p:+$p:}${lib.makeLibraryPath [ stdenv.cc.cc cudatoolkit.lib ]}:${cudatoolkit}/lib:\$ORIGIN/" $1
     }
 
     for lib in lib64/lib*.so; do
diff --git a/pkgs/development/libraries/science/math/libhomfly/default.nix b/pkgs/development/libraries/science/math/libhomfly/default.nix
index b756109aa8f..d0f09290c3c 100644
--- a/pkgs/development/libraries/science/math/libhomfly/default.nix
+++ b/pkgs/development/libraries/science/math/libhomfly/default.nix
@@ -5,14 +5,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.02r5";
-  pname = "llibhomfly";
+  version = "1.02r6";
+  pname = "libhomfly";
 
   src = fetchFromGitHub {
     owner = "miguelmarco";
     repo = "libhomfly";
     rev = version;
-    sha256 = "1szv8iwlhvmy3saigi15xz8vgch92p2lbsm6440v5s8vxj455bvd";
+    sha256 = "sha256-s1Hgy6S9+uREKsgjOVQdQfnds6oSLo5UWTrt5DJnY2s=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/libraries/science/math/metis/default.nix b/pkgs/development/libraries/science/math/metis/default.nix
index da79f6d6249..41deec25d45 100644
--- a/pkgs/development/libraries/science/math/metis/default.nix
+++ b/pkgs/development/libraries/science/math/metis/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, unzip, cmake }:
 
 stdenv.mkDerivation rec {
-  name = "metis";
+  pname = "metis";
   version = "5.1.0";
 
   src = fetchurl {
diff --git a/pkgs/development/libraries/science/math/openlibm/default.nix b/pkgs/development/libraries/science/math/openlibm/default.nix
index 84c01d80d0a..21c7d45a909 100644
--- a/pkgs/development/libraries/science/math/openlibm/default.nix
+++ b/pkgs/development/libraries/science/math/openlibm/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "openlibm";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "JuliaLang";
     repo = "openlibm";
     rev = "v${version}";
-    sha256 = "sha256-dEM10picZXiPokzSHCfxhS7fwZ0sMjil4bni+PHBCeI=";
+    sha256 = "sha256-q7BYUU8oChjuBFbVnpT+vqIAu+BVotT4xY2Dn0hmWfc=";
   };
 
   makeFlags = [ "prefix=$(out)" ];
diff --git a/pkgs/development/libraries/science/math/petsc/default.nix b/pkgs/development/libraries/science/math/petsc/default.nix
index e9ca9b84946..3eb0fa66dfa 100644
--- a/pkgs/development/libraries/science/math/petsc/default.nix
+++ b/pkgs/development/libraries/science/math/petsc/default.nix
@@ -18,11 +18,11 @@ assert petsc-withp4est -> p4est.mpiSupport;
 
 stdenv.mkDerivation rec {
   pname = "petsc";
-  version = "3.16.2";
+  version = "3.16.4";
 
   src = fetchurl {
     url = "http://ftp.mcs.anl.gov/pub/petsc/release-snapshots/petsc-${version}.tar.gz";
-    sha256 = "sha256-erJXrhUNSDesjThyodIGmXliV4eF7CQnY5zqxG0TG7w=";
+    sha256 = "sha256-IpzOIr3P7bH+gn0wbtGvypc3eGzcPwVit0oZZsEkPK8=";
   };
 
   mpiSupport = !withp4est || p4est.mpiSupport;
@@ -67,6 +67,11 @@ stdenv.mkDerivation rec {
 
   configureScript = "python ./configure";
 
+  # disable stackprotector on aarch64-darwin for now
+  # https://github.com/NixOS/nixpkgs/issues/158730
+  # see https://github.com/NixOS/nixpkgs/issues/127608 for a similar issue
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
   enableParallelBuilding = true;
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
@@ -74,6 +79,6 @@ stdenv.mkDerivation rec {
     description = "Portable Extensible Toolkit for Scientific computation";
     homepage = "https://www.mcs.anl.gov/petsc/index.html";
     license = licenses.bsd2;
-    maintainers = with maintainers; [ wucke13 cburstedde ];
+    maintainers = with maintainers; [ cburstedde ];
   };
 }
diff --git a/pkgs/development/libraries/science/math/primesieve/default.nix b/pkgs/development/libraries/science/math/primesieve/default.nix
index 2367b373b1c..0cf263218a3 100644
--- a/pkgs/development/libraries/science/math/primesieve/default.nix
+++ b/pkgs/development/libraries/science/math/primesieve/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "primesieve";
-  version = "7.7";
+  version = "7.8";
 
   nativeBuildInputs = [ cmake ];
 
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
     owner = "kimwalisch";
     repo = "primesieve";
     rev = "v${version}";
-    sha256 = "sha256-1Gfo00yaf7zHzCLfu/abWqeM0qBuLu+f+lowFFnWFxY=";
+    sha256 = "sha256-M35CP/xEyC7mEh84kaGsgfsDI9fnanHraNPgTvpqimI=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/science/math/scalapack/default.nix b/pkgs/development/libraries/science/math/scalapack/default.nix
index 3b1fb98a42e..9a7374f4f49 100644
--- a/pkgs/development/libraries/science/math/scalapack/default.nix
+++ b/pkgs/development/libraries/science/math/scalapack/default.nix
@@ -1,22 +1,36 @@
 { lib, stdenv, fetchFromGitHub, cmake, openssh
-, gfortran, mpi, blas, lapack
+, mpi, blas, lapack
 } :
 
-assert (!blas.isILP64) && (!lapack.isILP64);
+assert blas.isILP64 == lapack.isILP64;
 
 stdenv.mkDerivation rec {
   pname = "scalapack";
-  version = "2.1.0";
+  version = "2.2.0";
 
   src = fetchFromGitHub {
     owner = "Reference-ScaLAPACK";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1c10d18gj3kvpmyv5q246x35hjxaqn4ygy1cygaydhyxnm4klzdj";
+    sha256 = "0hiap5i9ik6xpvl721n2slanlqygagc1pg2bcjb27ans6balhsfh";
   };
 
-  nativeBuildInputs = [ cmake openssh gfortran ];
-  buildInputs = [ mpi blas lapack ];
+  passthru = { inherit (blas) isILP64; };
+
+  # Required to activate ILP64.
+  # See https://github.com/Reference-ScaLAPACK/scalapack/pull/19
+  postPatch = lib.optionalString passthru.isILP64 ''
+    sed -i 's/INTSZ = 4/INTSZ = 8/g'   TESTING/EIG/* TESTING/LIN/*
+    sed -i 's/INTGSZ = 4/INTGSZ = 8/g' TESTING/EIG/* TESTING/LIN/*
+
+    # These tests are not adapted to ILP64
+    sed -i '/xssep/d;/xsgsep/d;/xssyevr/d' TESTING/CMakeLists.txt
+  '';
+
+  nativeBuildInputs = [ cmake ];
+  checkInputs = [ openssh ];
+  buildInputs = [ blas lapack ];
+  propagatedBuildInputs = [ mpi ];
 
   doCheck = true;
 
@@ -25,6 +39,11 @@ stdenv.mkDerivation rec {
       -DBUILD_SHARED_LIBS=ON -DBUILD_STATIC_LIBS=OFF
       -DLAPACK_LIBRARIES="-llapack"
       -DBLAS_LIBRARIES="-lblas"
+      -DCMAKE_Fortran_COMPILER=${mpi}/bin/mpif90
+      ${lib.optionalString passthru.isILP64 ''
+        -DCMAKE_Fortran_FLAGS="-fdefault-integer-8"
+        -DCMAKE_C_FLAGS="-DInt=long"
+      ''}
       )
   '';
 
@@ -52,5 +71,4 @@ stdenv.mkDerivation rec {
     platforms = [ "x86_64-linux" ];
     maintainers = with maintainers; [ costrouc markuskowa ];
   };
-
 }
diff --git a/pkgs/development/libraries/science/math/scs/default.nix b/pkgs/development/libraries/science/math/scs/default.nix
index a945e99ec9c..6ccbfb11f51 100644
--- a/pkgs/development/libraries/science/math/scs/default.nix
+++ b/pkgs/development/libraries/science/math/scs/default.nix
@@ -4,13 +4,13 @@ assert (!blas.isILP64) && (!lapack.isILP64);
 
 stdenv.mkDerivation rec {
   pname = "scs";
-  version = "3.1.0";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "cvxgrp";
     repo = "scs";
     rev = version;
-    sha256 = "sha256-yoh25DmvY7fohAvABCiSLkvr7TskGd0ED2K3rIa/IeM=";
+    sha256 = "sha256-ewn7AGNqTXY3bp5itHTfAQ2Es2ZAIbuRFM5U600Px50=";
   };
 
   # Actually link and add libgfortran to the rpath
diff --git a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
index 151a0eef891..4af037ea694 100644
--- a/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
+++ b/pkgs/development/libraries/science/math/suitesparse-graphblas/default.nix
@@ -6,7 +6,7 @@
 
 stdenv.mkDerivation rec {
   pname = "suitesparse-graphblas";
-  version = "4.0.3";
+  version = "6.2.1";
 
   outputs = [ "out" "dev" ];
 
@@ -14,7 +14,7 @@ stdenv.mkDerivation rec {
     owner = "DrTimothyAldenDavis";
     repo = "GraphBLAS";
     rev = "v${version}";
-    sha256 = "sha256-Bf3+w/kQtFpeUGp2zWVqja535EbaUw7DbhCw54B6A8k=";
+    sha256 = "sha256-YgQdhXxXcvhQ10hCGrGM49jjY4jyzqH9ea+gltdh+Uc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/science/math/suitesparse/4.4.nix b/pkgs/development/libraries/science/math/suitesparse/4.4.nix
index 1ebac6ac445..e734ed8ff35 100644
--- a/pkgs/development/libraries/science/math/suitesparse/4.4.nix
+++ b/pkgs/development/libraries/science/math/suitesparse/4.4.nix
@@ -3,14 +3,12 @@
 }:
 
 let
-  version = "4.4.4";
-  name = "suitesparse-${version}";
-
   int_t = if blas.isILP64 then "int64_t" else "int32_t";
   SHLIB_EXT = stdenv.hostPlatform.extensions.sharedLibrary;
 in
-stdenv.mkDerivation {
-  inherit name;
+stdenv.mkDerivation rec {
+  version = "4.4.4";
+  pname = "suitesparse";
 
   src = fetchurl {
     url = "http://faculty.cse.tamu.edu/davis/SuiteSparse/SuiteSparse-${version}.tar.gz";
@@ -71,7 +69,7 @@ stdenv.mkDerivation {
     done
 
     # Install documentation
-    outdoc=$out/share/doc/${name}
+    outdoc=$out/share/doc/suitesparse-${version}
     mkdir -p $outdoc
     cp -r AMD/Doc $outdoc/amd
     cp -r BTF/Doc $outdoc/bft
diff --git a/pkgs/development/libraries/science/math/trilinos/default.nix b/pkgs/development/libraries/science/math/trilinos/default.nix
new file mode 100644
index 00000000000..19d2119622e
--- /dev/null
+++ b/pkgs/development/libraries/science/math/trilinos/default.nix
@@ -0,0 +1,100 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+, blas
+, boost
+, cmake
+, gfortran
+, lapack
+, mpi
+, suitesparse
+, swig
+, withMPI ? false
+}:
+
+# NOTE: Not all packages are enabled.  We specifically enable the ones
+# required to build Xyce. If the need comes, we can enable more of them.
+
+let
+  flagsBase = ''
+    -G "Unix Makefiles"
+    -DBUILD_SHARED_LIBS=ON
+    -DCMAKE_CXX_FLAGS="-O3 -fPIC"
+    -DCMAKE_C_FLAGS="-O3 -fPIC"
+    -DCMAKE_Fortran_FLAGS="-O3 -fPIC"
+    -DTrilinos_ENABLE_NOX=ON
+    -DNOX_ENABLE_LOCA=ON
+    -DTrilinos_ENABLE_EpetraExt=ON
+    -DEpetraExt_BUILD_BTF=ON
+    -DEpetraExt_BUILD_EXPERIMENTAL=ON
+    -DEpetraExt_BUILD_GRAPH_REORDERINGS=ON
+    -DTrilinos_ENABLE_TrilinosCouplings=ON
+    -DTrilinos_ENABLE_Ifpack=ON
+    -DTrilinos_ENABLE_AztecOO=ON
+    -DTrilinos_ENABLE_Belos=ON
+    -DTrilinos_ENABLE_Teuchos=ON
+    -DTeuchos_ENABLE_COMPLEX=ON
+    -DTrilinos_ENABLE_Amesos=ON
+    -DAmesos_ENABLE_KLU=ON
+    -DTrilinos_ENABLE_Amesos2=ON
+    -DAmesos2_ENABLE_KLU2=ON
+    -DAmesos2_ENABLE_Basker=ON
+    -DTrilinos_ENABLE_Sacado=ON
+    -DTrilinos_ENABLE_Stokhos=ON
+    -DTrilinos_ENABLE_Kokkos=ON
+    -DTrilinos_ENABLE_ALL_OPTIONAL_PACKAGES=OFF
+    -DTrilinos_ENABLE_CXX11=ON
+    -DTPL_ENABLE_AMD=ON
+    -DTPL_ENABLE_BLAS=ON
+    -DTPL_ENABLE_LAPACK=ON
+  '';
+  flagsParallel = ''
+    -DCMAKE_C_COMPILER=mpicc
+    -DCMAKE_CXX_COMPILER=mpic++
+    -DCMAKE_Fortran_COMPILER=mpif77
+    -DTrilinos_ENABLE_Isorropia=ON
+    -DTrilinos_ENABLE_Zoltan=ON
+    -DTPL_ENABLE_MPI=ON
+  '';
+in
+stdenv.mkDerivation rec {
+  pname = "trilinos";
+  version = "12.12.1"; # Xyce 7.4 requires version 12.12.1
+
+  src = fetchFromGitHub {
+    owner = "trilinos";
+    repo = "Trilinos";
+    rev = "${pname}-release-${lib.replaceStrings [ "." ] [ "-" ] version}";
+    sha256 = "sha256-Nqjr7RAlUHm6vs87a1P84Y7BIZEL0Vs/A1Z6dykfv+o=";
+  };
+
+  nativeBuildInputs = [ cmake gfortran swig ];
+
+  buildInputs = [ blas boost lapack suitesparse ] ++ lib.optionals withMPI [ mpi ];
+
+  preConfigure =
+    if withMPI then ''
+      cmakeFlagsArray+=(${flagsBase} ${flagsParallel})
+    ''
+    else ''
+      cmakeFlagsArray+=(${flagsBase})
+    '';
+
+  passthru = {
+    inherit withMPI;
+  };
+
+  meta = with lib; {
+    description = "Engineering and scientific problems algorithms";
+    longDescription = ''
+      The Trilinos Project is an effort to develop algorithms and enabling
+      technologies within an object-oriented software framework for the
+      solution of large-scale, complex multi-physics engineering and scientific
+      problems.
+    '';
+    homepage = "https://trilinos.org";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fbeffa ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/libraries/sentry-native/default.nix b/pkgs/development/libraries/sentry-native/default.nix
index d7fa0f0ff07..1c29b85bebe 100644
--- a/pkgs/development/libraries/sentry-native/default.nix
+++ b/pkgs/development/libraries/sentry-native/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "sentry-native";
-  version = "0.4.14";
+  version = "0.4.15";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-native";
     rev = version;
-    sha256 = "sha256-DMVMS7Mshglg7+QkHzZvmZ2dhEFbQRqcHU98JiaysCg=";
+    sha256 = "sha256-XHJa4erDxSFiy0u8S9ODQlMNDb1wrz+d1PzWeq5BZLY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/simgear/default.nix b/pkgs/development/libraries/simgear/default.nix
index 3ce41e3193c..c24c336c728 100644
--- a/pkgs/development/libraries/simgear/default.nix
+++ b/pkgs/development/libraries/simgear/default.nix
@@ -4,7 +4,7 @@
 , curl
 }:
 let
-  version = "2020.3.11";
+  version = "2020.3.12";
   shortVersion = builtins.substring 0 6 version;
 in
 stdenv.mkDerivation rec {
@@ -13,7 +13,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://sourceforge/flightgear/release-${shortVersion}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-u438vCo7AUPR/88B0alh5WbvId0z2cx2jW2apYcdTzw=";
+    sha256 = "sha256-W7KZzFU5qZE6tOv9YSzH3yoNi8YET2yzmThMcl23140=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/smpeg/default.nix b/pkgs/development/libraries/smpeg/default.nix
index 83b4b2193c0..b671f47bf8c 100644
--- a/pkgs/development/libraries/smpeg/default.nix
+++ b/pkgs/development/libraries/smpeg/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchsvn, SDL, autoconf, automake, libtool, gtk2, m4, pkg-config, libGLU, libGL, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  name = "smpeg-svn${version}";
+  pname = "smpeg-svn";
   version = "390";
 
   src = fetchsvn {
diff --git a/pkgs/development/libraries/soil/default.nix b/pkgs/development/libraries/soil/default.nix
index dcec1c897b3..39a64c84ddc 100644
--- a/pkgs/development/libraries/soil/default.nix
+++ b/pkgs/development/libraries/soil/default.nix
@@ -6,7 +6,8 @@
 }:
 
 stdenv.mkDerivation {
-  name = "soil";
+  pname = "soil";
+  version = "unstable-2020-01-04";
 
   src = fetchzip {
     url = "https://web.archive.org/web/20200104042737id_/http://www.lonesock.net/files/soil.zip";
diff --git a/pkgs/development/libraries/sope/default.nix b/pkgs/development/libraries/sope/default.nix
index bf2145c68c4..39b2d7fd8fd 100644
--- a/pkgs/development/libraries/sope/default.nix
+++ b/pkgs/development/libraries/sope/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 gnustep.stdenv.mkDerivation rec {
   pname = "sope";
-  version = "5.5.0";
+  version = "5.5.1";
 
   src = fetchFromGitHub {
     owner = "inverse-inc";
     repo = pname;
     rev = "SOPE-${version}";
-    sha256 = "sha256-M5PF15Ok+rJLWlfHsC8F8JXJonAR0wwTUbWxegBZ/qQ=";
+    sha256 = "sha256-w78YO5EQWtEiySOm9NpPbaMChbJppNBoZNOBs9fibbM=";
   };
 
   hardeningDisable = [ "format" ];
diff --git a/pkgs/development/libraries/soprano/default.nix b/pkgs/development/libraries/soprano/default.nix
deleted file mode 100644
index 46520714c51..00000000000
--- a/pkgs/development/libraries/soprano/default.nix
+++ /dev/null
@@ -1,27 +0,0 @@
-{ lib, stdenv, fetchurl, cmake, qt4, clucene_core, librdf_redland, libiodbc
-, pkg-config }:
-
-stdenv.mkDerivation rec {
-  pname = "soprano";
-  version = "2.9.4";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/soprano/${pname}-${version}.tar.bz2";
-    sha256 = "1rg0x7yg0a1cbnxz7kqk52580wla8jbnj4d4r3j7l7g7ajyny1k4";
-  };
-
-  patches = [ ./find-virtuoso.patch ];
-
-  # We disable the Java backend, since we do not need them and they make the closure size much bigger
-  buildInputs = [ qt4 clucene_core librdf_redland libiodbc ];
-
-  nativeBuildInputs = [ cmake pkg-config ];
-
-  meta = {
-    homepage = "http://soprano.sourceforge.net/";
-    description = "An object-oriented C++/Qt4 framework for RDF data";
-    license = "LGPL";
-    maintainers = with lib.maintainers; [ sander ];
-    inherit (qt4.meta) platforms;
-  };
-}
diff --git a/pkgs/development/libraries/soprano/find-virtuoso.patch b/pkgs/development/libraries/soprano/find-virtuoso.patch
deleted file mode 100644
index 95a2c7e9656..00000000000
--- a/pkgs/development/libraries/soprano/find-virtuoso.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-From: Yury G. Kudryashov <urkud.urkud@gmail.com>
-Subject: [PATCH] Find virtuoso if virtuoso-t is in PATH
-
----
- backends/virtuoso/virtuosobackend.cpp |   31 ++++++++++++++++++++++---------
- backends/virtuoso/virtuosobackend.h   |    2 +-
- 2 files changed, 23 insertions(+), 10 deletions(-)
-
-diff --git a/backends/virtuoso/virtuosobackend.cpp b/backends/virtuoso/virtuosobackend.cpp
-index c245101..249958a 100644
---- a/backends/virtuoso/virtuosobackend.cpp
-+++ b/backends/virtuoso/virtuosobackend.cpp
-@@ -28,6 +28,7 @@
- #include "odbcconnectionpool.h"
- 
- #include "sopranodirs.h"
-+#include "soprano-config.h"
- 
- #include <QtCore/QDebug>
- #include <QtCore/QtPlugin>
-@@ -210,19 +211,19 @@ Soprano::BackendFeatures Soprano::Virtuoso::BackendPlugin::supportedFeatures() c
- 
- bool Soprano::Virtuoso::BackendPlugin::isAvailable() const
- {
--#ifndef Q_OS_WIN
--    if ( findVirtuosoDriver().isEmpty() ) {
--        qDebug() << Q_FUNC_INFO << "could not find Virtuoso ODBC driver";
--        return false;
--    }
--#endif
--
-     QString virtuosoBin = locateVirtuosoBinary();
-     if ( virtuosoBin.isEmpty() ) {
-         qDebug() << Q_FUNC_INFO << "could not find virtuoso-t binary";
-         return false;
-     }
- 
-+#ifndef Q_OS_WIN
-+    if ( findVirtuosoDriver( virtuosoBin ).isEmpty() ) {
-+        qDebug() << Q_FUNC_INFO << "could not find Virtuoso ODBC driver";
-+        return false;
-+    }
-+#endif
-+
-     QString vs = determineVirtuosoVersion( virtuosoBin );
-     if ( vs.isEmpty() ) {
-         qDebug() << Q_FUNC_INFO << "Failed to determine version of the Virtuoso server at" << virtuosoBin;
-@@ -267,9 +268,21 @@ QString Soprano::Virtuoso::BackendPlugin::locateVirtuosoBinary()
- 
- #ifndef Q_OS_WIN
- // static
--QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver()
-+QString Soprano::Virtuoso::BackendPlugin::findVirtuosoDriver( const QString &virtuosoBinHint )
- {
--    return Soprano::findLibraryPath( "virtodbc_r", QStringList(), QStringList() << QLatin1String( "virtuoso/plugins/" ) << QLatin1String( "odbc/" ) );
-+    QString virtuosoBin;
-+    if (virtuosoBinHint.isEmpty())
-+        virtuosoBin = locateVirtuosoBinary();
-+    else
-+        virtuosoBin = virtuosoBinHint;
-+
-+    QDir virtuosoBinDir = QFileInfo(virtuosoBin).absoluteDir();
-+    return Soprano::findLibraryPath( "virtodbc_r",
-+            QStringList()
-+			<< virtuosoBinDir.absoluteFilePath("../lib"SOPRANO_LIB_SUFFIX)
-+			<< virtuosoBinDir.absoluteFilePath("../lib"),
-+            QStringList() << QLatin1String( "virtuoso/plugins/" ) <<
-+            QLatin1String( "odbc/" ) );
- }
- #endif
- 
-diff --git a/backends/virtuoso/virtuosobackend.h b/backends/virtuoso/virtuosobackend.h
-index 646b9f8..535fbb9 100644
---- a/backends/virtuoso/virtuosobackend.h
-+++ b/backends/virtuoso/virtuosobackend.h
-@@ -52,7 +52,7 @@ namespace Soprano {
- 
- #ifndef Q_OS_WIN
-         private:
--            static QString findVirtuosoDriver();
-+            static QString findVirtuosoDriver(const QString &virtuosoBinHint = QString());
- #endif
-         };
-     }
--- 
-tg: (2321148..) t/find-virtuoso (depends on: master)
diff --git a/pkgs/development/libraries/speech-tools/default.nix b/pkgs/development/libraries/speech-tools/default.nix
index 8706b878922..c69345193c7 100644
--- a/pkgs/development/libraries/speech-tools/default.nix
+++ b/pkgs/development/libraries/speech-tools/default.nix
@@ -1,11 +1,11 @@
 { lib, stdenv, fetchurl, alsa-lib, ncurses }:
 
 stdenv.mkDerivation rec {
-  name = "speech_tools-${version}.0";
-  version = "2.5";
+  pname = "speech_tools";
+  version = "2.5.0";
 
   src = fetchurl {
-    url = "http://www.festvox.org/packed/festival/${version}/${name}-release.tar.gz";
+    url = "http://www.festvox.org/packed/festival/${lib.versions.majorMinor version}/speech_tools-${version}-release.tar.gz";
     sha256 = "1k2xh13miyv48gh06rgsq2vj25xwj7z6vwq9ilsn8i7ig3nrgzg4";
   };
 
diff --git a/pkgs/development/libraries/spice-gtk/default.nix b/pkgs/development/libraries/spice-gtk/default.nix
index 13bfae944e0..16cf654914d 100644
--- a/pkgs/development/libraries/spice-gtk/default.nix
+++ b/pkgs/development/libraries/spice-gtk/default.nix
@@ -9,8 +9,10 @@
 , gst_all_1
 , gtk-doc
 , gtk3
+, hwdata
 , json-glib
 , libcacard
+, libcap_ng
 , libdrm
 , libjpeg_turbo
 , libopus
@@ -28,8 +30,8 @@
 , python3
 , spice-protocol
 , usbredir
-, usbutils
 , vala
+, wayland-protocols
 , zlib
 , withPolkit ? true
 }:
@@ -57,19 +59,23 @@
 
 stdenv.mkDerivation rec {
   pname = "spice-gtk";
-  version = "0.37";
+  version = "0.40";
 
   outputs = [ "out" "dev" "devdoc" "man" ];
 
   src = fetchurl {
-    url = "https://www.spice-space.org/download/gtk/${pname}-${version}.tar.bz2";
-    sha256 = "1drvj8y35gnxbnrxsipwi15yh0vs9ixzv4wslz6r3lra8w3bfa0z";
+    url = "https://www.spice-space.org/download/gtk/${pname}-${version}.tar.xz";
+    sha256 = "sha256-I/X/f6gLdWR85zzaXq+LMi80Mtu7f286g5Y0YYrbztM=";
   };
 
   postPatch = ''
     # get rid of absolute path to helper in store so we can use a setuid wrapper
     substituteInPlace src/usb-acl-helper.c \
       --replace 'ACL_HELPER_PATH"/' '"'
+    # don't try to setcap/suid in a nix builder
+    substituteInPlace src/meson.build \
+      --replace "meson.add_install_script('../build-aux/setcap-or-suid'," \
+      "# meson.add_install_script('../build-aux/setcap-or-suid',"
   '';
 
   nativeBuildInputs = [
@@ -98,6 +104,7 @@ stdenv.mkDerivation rec {
     gtk3
     json-glib
     libcacard
+    libcap_ng
     libdrm
     libjpeg_turbo
     libopus
@@ -108,14 +115,15 @@ stdenv.mkDerivation rec {
     pixman
     spice-protocol
     usbredir
+    wayland-protocols
     zlib
-  ] ++ lib.optionals withPolkit [ polkit acl usbutils ] ;
+  ] ++ lib.optionals withPolkit [ polkit acl ] ;
 
   PKG_CONFIG_POLKIT_GOBJECT_1_POLICYDIR = "${placeholder "out"}/share/polkit-1/actions";
 
   mesonFlags = [
-    "-Dcelt051=disabled"
-    "-Dpulse=disabled" # is deprecated upstream
+    "-Dusb-acl-helper-dir=${placeholder "out"}/bin"
+    "-Dusb-ids-path=${hwdata}/share/hwdata/usb.ids"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/spice-protocol/default.nix b/pkgs/development/libraries/spice-protocol/default.nix
index 12eb03b6d63..d7800859d05 100644
--- a/pkgs/development/libraries/spice-protocol/default.nix
+++ b/pkgs/development/libraries/spice-protocol/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "spice-protocol";
-  version = "0.14.3";
+  version = "0.14.4";
 
   src = fetchurl {
     url = "https://www.spice-space.org/download/releases/${pname}-${version}.tar.xz";
-    sha256 = "0yj8k7gcirrsf21w0q6146n5g4nzn2pqky4p90n5760m5ayfb1pr";
+    sha256 = "sha256-BP+6YQ2f1EHPxH36oTXXAJbmCxBG0hGdjbL46g0X2RI=";
   };
 
   nativeBuildInputs = [ meson ninja ];
diff --git a/pkgs/development/libraries/spice/default.nix b/pkgs/development/libraries/spice/default.nix
index ee0f6be1698..4f639cf29f7 100644
--- a/pkgs/development/libraries/spice/default.nix
+++ b/pkgs/development/libraries/spice/default.nix
@@ -46,6 +46,12 @@ stdenv.mkDerivation rec {
   postPatch = ''
     install ${doxygen_sh} doxygen.sh
     patchShebangs build-aux
+
+    # https://gitlab.freedesktop.org/spice/spice-common/-/issues/5
+    substituteInPlace subprojects/spice-common/meson.build \
+      --replace \
+      "cmd = run_command(python, '-m', module)" \
+      "cmd = run_command(python, '-c', 'import @0@'.format(module))"
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/srt/default.nix b/pkgs/development/libraries/srt/default.nix
index 49c76123101..c74780148a1 100644
--- a/pkgs/development/libraries/srt/default.nix
+++ b/pkgs/development/libraries/srt/default.nix
@@ -4,13 +4,13 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "srt";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "Haivision";
     repo = "srt";
     rev = "v${version}";
-    sha256 = "1f60vlfxhh9bhafws82c3301whjlz5gy92jz9a9ymwfg5h53bv1j";
+    sha256 = "sha256-OfcMHH+MSOGY9pxpXt19EIGdP4FJFssSv/lENX+iIf8=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/symengine/default.nix b/pkgs/development/libraries/symengine/default.nix
index 92ecf3e494e..cbe5e13a700 100644
--- a/pkgs/development/libraries/symengine/default.nix
+++ b/pkgs/development/libraries/symengine/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "symengine";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine";
     rev = "v${version}";
-    sha256 = "sha256-HTDOSgdWo9MWmKeXOkOHAJjgvihUAkSXoYTeMz9XXLI=";
+    sha256 = "sha256-5KpxBusJCuwrfFWHbrRKlH6Ic7YivYqz2m+BCbNfZp0=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/libraries/tclx/default.nix b/pkgs/development/libraries/tclx/default.nix
index a8cf2a44fab..3c814e17207 100644
--- a/pkgs/development/libraries/tclx/default.nix
+++ b/pkgs/development/libraries/tclx/default.nix
@@ -1,18 +1,19 @@
 { lib, fetchurl, tcl }:
 
 tcl.mkTclDerivation rec {
-  name = "tclx-${version}.${patch}";
-  version = "8.4";
-  patch = "1";
+  pname = "tclx";
+  version = "8.4.1";
 
   src = fetchurl {
-    url = "mirror://sourceforge/tclx/tclx${version}.${patch}.tar.bz2";
+    url = "mirror://sourceforge/tclx/tclx${version}.tar.bz2";
     sha256 = "1v2qwzzidz0is58fd1p7wfdbscxm3ip2wlbqkj5jdhf6drh1zd59";
   };
 
   # required in order for tclx to properly detect tclx.tcl at runtime
-  postInstall = ''
-    ln -s $prefix/lib/tclx${version} $prefix/lib/tclx${version}/tclx${version}
+  postInstall = let
+    majorMinorVersion = lib.versions.majorMinor version;
+  in ''
+    ln -s $prefix/lib/tclx${majorMinorVersion} $prefix/lib/tclx${majorMinorVersion}/tclx${majorMinorVersion}
   '';
 
   meta = {
diff --git a/pkgs/development/libraries/tdb/default.nix b/pkgs/development/libraries/tdb/default.nix
index febf1b97eb6..f040022cc91 100644
--- a/pkgs/development/libraries/tdb/default.nix
+++ b/pkgs/development/libraries/tdb/default.nix
@@ -11,11 +11,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tdb";
-  version = "1.4.5";
+  version = "1.4.6";
 
   src = fetchurl {
     url = "mirror://samba/tdb/${pname}-${version}.tar.gz";
-    sha256 = "sha256-vPztiE9wMQgJmLXEscXc5XVnBV95QX+G26QNzemaDkE=";
+    sha256 = "sha256-1okr2L7+BKd2QqHdVuSoeTSb8c9bLAv1+4QQYZON7ws=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/libraries/tdlib/default.nix b/pkgs/development/libraries/tdlib/default.nix
index 79895a63a34..4dedc13db2a 100644
--- a/pkgs/development/libraries/tdlib/default.nix
+++ b/pkgs/development/libraries/tdlib/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "tdlib";
-  version = "1.8.0";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "tdlib";
     repo = "td";
     # https://github.com/tdlib/td/issues/1790
-    rev = "b3ab664a18f8611f4dfcd3054717504271eeaa7a";
-    sha256 = "OBgzFBi+lIBbKnHDm5D/F3Xi4s1x4geb+1OoBP3F+qY=";
+    rev = "92c2a9c4e521df720abeaa9872e1c2b797d5c93f";
+    sha256 = "ZoKsgdkS78mptfbxkkV4pgcgJEaWwKZWK2cvmxgJN4E=";
   };
 
   buildInputs = [ gperf openssl readline zlib ];
diff --git a/pkgs/development/libraries/thrift/default.nix b/pkgs/development/libraries/thrift/default.nix
index c5795df55c0..f85e56578bb 100644
--- a/pkgs/development/libraries/thrift/default.nix
+++ b/pkgs/development/libraries/thrift/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "thrift";
-  version = "0.15.0";
+  version = "0.16.0";
 
   src = fetchurl {
     url = "https://archive.apache.org/dist/thrift/${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-1Yg1ZtFh+Pbd1OIfOp4+a4JyeZ0FSCDxwlsR6GcY+Gs=";
+    sha256 = "sha256-9GC1wcow2JGP+V6j62KRs5Uc9RhVNWYIjz8r6JgfYgk=";
   };
 
   # Workaround to make the python wrapper not drop this package:
diff --git a/pkgs/development/libraries/tracker/default.nix b/pkgs/development/libraries/tracker/default.nix
index d2a95383998..68a29919f0a 100644
--- a/pkgs/development/libraries/tracker/default.nix
+++ b/pkgs/development/libraries/tracker/default.nix
@@ -69,7 +69,8 @@ stdenv.mkDerivation rec {
     python3 # for data-generators
     systemd # used for checks to install systemd user service
     dbus # used for checks and pkg-config to install dbus service/s
-  ];
+  ] ++ checkInputs; # gi is in the main meson.build and checked regardless of
+                    # whether tests are enabled
 
   buildInputs = [
     glib
@@ -85,7 +86,6 @@ stdenv.mkDerivation rec {
 
   checkInputs = with python3.pkgs; [
     pygobject3
-    tappy
   ];
 
   mesonFlags = [
diff --git a/pkgs/development/libraries/uri/default.nix b/pkgs/development/libraries/uri/default.nix
index 48a80aacdf5..980d073f128 100644
--- a/pkgs/development/libraries/uri/default.nix
+++ b/pkgs/development/libraries/uri/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake, doxygen }:
 
 stdenv.mkDerivation rec {
-  name = "uri-${version}";
+  pname = "uri";
   version = "1.1.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/libraries/volk/default.nix b/pkgs/development/libraries/volk/default.nix
index 40ae88bf71b..c795d783894 100644
--- a/pkgs/development/libraries/volk/default.nix
+++ b/pkgs/development/libraries/volk/default.nix
@@ -5,10 +5,13 @@
 , python3
 , enableModTool ? true
 , removeReferencesTo
+, fetchpatch
 }:
 
 stdenv.mkDerivation rec {
   pname = "volk";
+  # Version 2.5.1 seems to cause a build issue for aarch64-darwin, see:
+  # https://github.com/NixOS/nixpkgs/pull/160152#issuecomment-1043380478A
   version = "2.5.0";
 
   src = fetchFromGitHub {
@@ -19,6 +22,14 @@ stdenv.mkDerivation rec {
     fetchSubmodules = true;
   };
 
+  patches = [
+    (fetchpatch {
+      url = "https://raw.githubusercontent.com/macports/macports-ports/e83a55ef196d4283be438c052295b2fc44f3df5b/science/volk/files/patch-cpu_features-add-support-for-ARM64.diff";
+      sha256 = "sha256-MNUntVvKZC4zuQsxGQCItaUaaQ1d31re2qjyPFbySmI=";
+      extraPrefix = "";
+    })
+  ];
+
   cmakeFlags = lib.optionals (!enableModTool) [ "-DENABLE_MODTOOL=OFF" ];
   postInstall = lib.optionalString (!stdenv.isDarwin) ''
     ${removeReferencesTo}/bin/remove-references-to -t ${stdenv.cc} $(readlink -f $out/lib/libvolk.so)
diff --git a/pkgs/development/libraries/vte/2.90.nix b/pkgs/development/libraries/vte/2.90.nix
index 55ef86c88a0..dfb76069c3b 100644
--- a/pkgs/development/libraries/vte/2.90.nix
+++ b/pkgs/development/libraries/vte/2.90.nix
@@ -1,14 +1,11 @@
 { lib, stdenv, fetchurl, intltool, pkg-config, glib, gtk3, ncurses, gobject-introspection }:
 
 stdenv.mkDerivation rec {
-  versionMajor = "0.36";
-  versionMinor = "3";
-  moduleName   = "vte";
-
-  name = "${moduleName}-${versionMajor}.${versionMinor}";
+  pname = "vte";
+  version = "0.36.3";
 
   src = fetchurl {
-    url = "mirror://gnome/sources/${moduleName}/${versionMajor}/${name}.tar.xz";
+    url = "mirror://gnome/sources/vte/${lib.versions.majorMinor version}/vte-${version}.tar.xz";
     sha256 = "54e5b07be3c0f7b158302f54ee79d4de1cb002f4259b6642b79b1e0e314a959c";
   };
 
diff --git a/pkgs/development/libraries/vtk/generic.nix b/pkgs/development/libraries/vtk/generic.nix
index c180b05e952..d770bd54d04 100644
--- a/pkgs/development/libraries/vtk/generic.nix
+++ b/pkgs/development/libraries/vtk/generic.nix
@@ -90,6 +90,16 @@ in stdenv.mkDerivation rec {
     sed -i 's/fprintf(output, shift)/fprintf(output, "%s", shift)/g' ./ThirdParty/libxml2/vtklibxml2/xpath.c
   '';
 
+  preFixup = ''
+    for lib in $out/lib/libvtk*.so; do
+      ln -s $lib $out/lib/"$(basename "$lib" | sed -e 's/-[[:digit:]]*.[[:digit:]]*//g')"
+    done
+
+    mv $out/include/vtk-${majorVersion}/* $out/include
+    rmdir $out/include/vtk-${majorVersion}
+    ln -s $out/include $out/include/vtk-${majorVersion}
+  '';
+
   meta = with lib; {
     description = "Open source libraries for 3D computer graphics, image processing and visualization";
     homepage = "https://www.vtk.org/";
diff --git a/pkgs/development/libraries/vulkan-headers/default.nix b/pkgs/development/libraries/vulkan-headers/default.nix
index a46ed1adee7..4010ee68459 100644
--- a/pkgs/development/libraries/vulkan-headers/default.nix
+++ b/pkgs/development/libraries/vulkan-headers/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Vulkan Header files and API registry";
     homepage    = "https://www.lunarg.com";
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
   };
diff --git a/pkgs/development/libraries/vulkan-loader/default.nix b/pkgs/development/libraries/vulkan-loader/default.nix
index e598d2c864b..077f881e722 100644
--- a/pkgs/development/libraries/vulkan-loader/default.nix
+++ b/pkgs/development/libraries/vulkan-loader/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchFromGitHub, cmake, pkg-config, libX11, libxcb
-, libXrandr, wayland, vulkan-headers, addOpenGLRunpath }:
+, libXrandr, wayland, moltenvk, vulkan-headers, addOpenGLRunpath }:
 
 stdenv.mkDerivation rec {
   pname = "vulkan-loader";
@@ -14,12 +14,12 @@ stdenv.mkDerivation rec {
     });
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ libX11 libxcb libXrandr vulkan-headers wayland ];
+  buildInputs = [ vulkan-headers ]
+    ++ lib.optionals (!stdenv.isDarwin) [ libX11 libxcb libXrandr wayland ];
 
-  cmakeFlags = [
-    "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share"
-    "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include"
-  ];
+  cmakeFlags = [ "-DCMAKE_INSTALL_INCLUDEDIR=${vulkan-headers}/include" ]
+    ++ lib.optional stdenv.isDarwin "-DSYSCONFDIR=${moltenvk}/share"
+    ++ lib.optional stdenv.isLinux "-DSYSCONFDIR=${addOpenGLRunpath.driverLink}/share";
 
   outputs = [ "out" "dev" ];
 
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "LunarG Vulkan loader";
     homepage    = "https://www.lunarg.com";
-    platforms   = platforms.linux;
+    platforms   = platforms.unix;
     license     = licenses.asl20;
     maintainers = [ maintainers.ralith ];
   };
diff --git a/pkgs/development/libraries/wayland/protocols.nix b/pkgs/development/libraries/wayland/protocols.nix
index 73fef21eccb..61696d232f7 100644
--- a/pkgs/development/libraries/wayland/protocols.nix
+++ b/pkgs/development/libraries/wayland/protocols.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wayland-protocols";
-  version = "1.24";
+  version = "1.25";
 
   doCheck = stdenv.hostPlatform == stdenv.buildPlatform;
 
   src = fetchurl {
     url = "https://wayland.freedesktop.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "1hlb6gvyqlmsdkv5179ccj07p04cn6xacjkgklakbszczv7xiw5z";
+    sha256 = "0q0laxdvf8p8b7ks2cbpqf6q0rwrjycqrp8pf8rxm86hk5qhzzzi";
   };
 
   postPatch = lib.optionalString doCheck ''
diff --git a/pkgs/development/libraries/webkitgtk/default.nix b/pkgs/development/libraries/webkitgtk/default.nix
index e9026d46bc6..92405b35de2 100644
--- a/pkgs/development/libraries/webkitgtk/default.nix
+++ b/pkgs/development/libraries/webkitgtk/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , runCommand
 , fetchurl
 , perl
@@ -44,7 +45,6 @@
 , lcms2
 , libmanette
 , openjpeg
-, enableGeoLocation ? true
 , geoclue2
 , sqlite
 , enableGLES ? true
@@ -58,13 +58,13 @@
 , substituteAll
 , glib
 , addOpenGLRunpath
+, enableGeoLocation ? true
+, withLibsecret ? true
 }:
 
-assert enableGeoLocation -> geoclue2 != null;
-
 stdenv.mkDerivation rec {
   pname = "webkitgtk";
-  version = "2.34.4";
+  version = "2.34.6";
 
   outputs = [ "out" "dev" ];
 
@@ -72,7 +72,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://webkitgtk.org/releases/${pname}-${version}.tar.xz";
-    sha256 = "sha256-l19QGRmbp2mRkYNc914BoYuU47zQEH2nOJ1N3LGrpAY=";
+    sha256 = "sha256-a8j9A0qtBDKiRZzk/H7iWtZaSSTGGL+Nk7UrDBqEwfY=";
   };
 
   patches = lib.optionals stdenv.isLinux [
@@ -125,12 +125,8 @@ stdenv.mkDerivation rec {
     libidn
     libintl
     lcms2
-  ] ++ lib.optionals stdenv.isLinux [
-    libmanette
-  ] ++ [
     libnotify
     libpthreadstubs
-    libsecret
     libtasn1
     libwebp
     libxkbcommon
@@ -155,28 +151,36 @@ stdenv.mkDerivation rec {
     # (We pick just that one because using the other headers from `sdk` is not
     # compatible with our C++ standard library. This header is already in
     # the standard library on aarch64)
-    runCommand "${pname}_headers" {} ''
+    runCommand "${pname}_headers" { } ''
       install -Dm444 "${lib.getDev apple_sdk.sdk}"/include/libproc.h "$out"/include/libproc.h
     ''
   ) ++ lib.optionals stdenv.isLinux [
     bubblewrap
     libseccomp
+    libmanette
     systemd
     wayland
     xdg-dbus-proxy
-  ] ++ lib.optional enableGeoLocation geoclue2;
+  ] ++ lib.optionals enableGeoLocation [
+    geoclue2
+  ] ++ lib.optionals withLibsecret [
+    libsecret
+  ];
 
   propagatedBuildInputs = [
     gtk3
     libsoup
   ];
 
-  cmakeFlags = [
+  cmakeFlags = let
+    cmakeBool = x: if x then "ON" else "OFF";
+  in [
     "-DENABLE_INTROSPECTION=ON"
     "-DPORT=GTK"
     "-DUSE_LIBHYPHEN=OFF"
     "-DUSE_WPE_RENDERER=OFF"
-    "-DUSE_SOUP2=${if lib.versions.major libsoup.version == "2" then "ON" else "OFF"}"
+    "-DUSE_SOUP2=${cmakeBool (lib.versions.major libsoup.version == "2")}"
+    "-DUSE_LIBSECRET=${cmakeBool withLibsecret}"
   ] ++ lib.optionals stdenv.isDarwin [
     "-DENABLE_GAMEPAD=OFF"
     "-DENABLE_GTKDOC=OFF"
@@ -191,7 +195,9 @@ stdenv.mkDerivation rec {
     "-DUSE_SYSTEM_MALLOC=ON"
   ] ++ lib.optionals (!stdenv.isLinux) [
     "-DUSE_SYSTEMD=OFF"
-  ] ++ lib.optional (stdenv.isLinux && enableGLES) "-DENABLE_GLES2=ON";
+  ] ++ lib.optionals (stdenv.isLinux && enableGLES) [
+    "-DENABLE_GLES2=ON"
+  ];
 
   postPatch = ''
     patchShebangs .
diff --git a/pkgs/development/libraries/webrtc-audio-processing/0.3.nix b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
new file mode 100644
index 00000000000..1ce3c2d9fa8
--- /dev/null
+++ b/pkgs/development/libraries/webrtc-audio-processing/0.3.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchurl, darwin }:
+
+stdenv.mkDerivation rec {
+  pname = "webrtc-audio-processing";
+  version = "0.3.1";
+
+  src = fetchurl {
+    url = "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${version}.tar.xz";
+    sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0";
+  };
+
+  patches = [ ./enable-riscv.patch ];
+
+  buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
+
+  patchPhase = lib.optionalString stdenv.hostPlatform.isMusl ''
+    substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1
+  '';
+
+  meta = with lib; {
+    homepage = "http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing";
+    description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project";
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/development/libraries/webrtc-audio-processing/default.nix b/pkgs/development/libraries/webrtc-audio-processing/default.nix
index 1ce3c2d9fa8..5a53564603d 100644
--- a/pkgs/development/libraries/webrtc-audio-processing/default.nix
+++ b/pkgs/development/libraries/webrtc-audio-processing/default.nix
@@ -1,19 +1,34 @@
-{ lib, stdenv, fetchurl, darwin }:
+{ lib, stdenv, fetchurl
+, darwin
+, abseil-cpp_202111
+, meson
+, ninja
+}:
 
 stdenv.mkDerivation rec {
   pname = "webrtc-audio-processing";
-  version = "0.3.1";
+  version = "1.0";
 
   src = fetchurl {
-    url = "https://freedesktop.org/software/pulseaudio/webrtc-audio-processing/webrtc-audio-processing-${version}.tar.xz";
-    sha256 = "1gsx7k77blfy171b6g3m0k0s0072v6jcawhmx1kjs9w5zlwdkzd0";
+    url = "https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/archive/v1.0/webrtc-audio-processing-v${version}.tar.gz";
+    sha256 = "sha256-dqRy1OfOG9TX2cgCD8cowU44zVanns/nPYZrilPfuiU=";
   };
 
-  patches = [ ./enable-riscv.patch ];
+  nativeBuildInputs = [
+    meson
+    ninja
+  ];
 
-  buildInputs = lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
+  buildInputs = [
+    abseil-cpp_202111
+  ] ++ lib.optionals stdenv.isDarwin (with darwin.apple_sdk.frameworks; [ ApplicationServices ]);
 
-  patchPhase = lib.optionalString stdenv.hostPlatform.isMusl ''
+  patchPhase = ''
+    # this is just incorrect upstream
+    # see https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/4
+    substituteInPlace meson.build \
+      --replace "absl_flags_registry" "absl_flags_reflection"
+    '' + lib.optionalString stdenv.hostPlatform.isMusl ''
     substituteInPlace webrtc/base/checks.cc --replace 'defined(__UCLIBC__)' 1
   '';
 
@@ -21,6 +36,8 @@ stdenv.mkDerivation rec {
     homepage = "http://www.freedesktop.org/software/pulseaudio/webrtc-audio-processing";
     description = "A more Linux packaging friendly copy of the AudioProcessing module from the WebRTC project";
     license = licenses.bsd3;
-    platforms = platforms.unix;
+    # attempts to inline 256bit AVX instructions on x86
+    # https://gitlab.freedesktop.org/pulseaudio/webrtc-audio-processing/-/issues/5
+    platforms = lib.lists.subtractLists platforms.i686 platforms.unix;
   };
 }
diff --git a/pkgs/development/libraries/wlroots/0.14.nix b/pkgs/development/libraries/wlroots/0.14.nix
index cf188756ffd..398a09ff2aa 100644
--- a/pkgs/development/libraries/wlroots/0.14.nix
+++ b/pkgs/development/libraries/wlroots/0.14.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, wayland-scanner
 , libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
-, libpng, ffmpeg, xcbutilrenderutil, seatd
+, libpng, ffmpeg_4, xcbutilrenderutil, seatd
 
 , enableXWayland ? true, xwayland ? null
 }:
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libGL wayland wayland-protocols libinput libxkbcommon pixman
     xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
-    libpng ffmpeg xcbutilrenderutil seatd
+    libpng ffmpeg_4 xcbutilrenderutil seatd
   ]
     ++ lib.optional enableXWayland xwayland
   ;
diff --git a/pkgs/development/libraries/wlroots/0.15.nix b/pkgs/development/libraries/wlroots/0.15.nix
index e5785fab9f2..ed3effaa540 100644
--- a/pkgs/development/libraries/wlroots/0.15.nix
+++ b/pkgs/development/libraries/wlroots/0.15.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitLab, meson, ninja, pkg-config, wayland-scanner
 , libGL, wayland, wayland-protocols, libinput, libxkbcommon, pixman
 , xcbutilwm, libX11, libcap, xcbutilimage, xcbutilerrors, mesa
-, libpng, ffmpeg, xcbutilrenderutil, seatd, vulkan-loader, glslang
+, libpng, ffmpeg_4, xcbutilrenderutil, seatd, vulkan-loader, glslang
 , nixosTests
 
 , enableXWayland ? true, xwayland ? null
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
   buildInputs = [
     libGL wayland wayland-protocols libinput libxkbcommon pixman
     xcbutilwm libX11 libcap xcbutilimage xcbutilerrors mesa
-    libpng ffmpeg xcbutilrenderutil seatd vulkan-loader
+    libpng ffmpeg_4 xcbutilrenderutil seatd vulkan-loader
   ]
     ++ lib.optional enableXWayland xwayland
   ;
diff --git a/pkgs/development/libraries/wxsqlite3/default.nix b/pkgs/development/libraries/wxsqlite3/default.nix
index 9f9f330443c..ed709514418 100644
--- a/pkgs/development/libraries/wxsqlite3/default.nix
+++ b/pkgs/development/libraries/wxsqlite3/default.nix
@@ -8,23 +8,25 @@
 , setfile
 , rez
 , derez
+, wxmac
 }:
 
 stdenv.mkDerivation rec {
   pname = "wxsqlite3";
-  version = "4.7.3";
+  version = "4.7.6";
 
   src = fetchFromGitHub {
     owner = "utelle";
     repo = "wxsqlite3";
     rev = "v${version}";
-    sha256 = "sha256-t8y4oq4p7ZMDELAkRVmoNguYRNG8spcW7MHnpdINN8g=";
+    hash = "sha256-QoICP66eluD5phYVi1iK8tg1FL04EQjY29/4n6SIz3s=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  buildInputs = [ wxGTK sqlite ]
-    ++ lib.optionals stdenv.isDarwin [ Cocoa setfile rez derez ];
+  buildInputs = [ sqlite ]
+    ++ lib.optionals (!stdenv.isDarwin) [ wxGTK ]
+    ++ lib.optionals (stdenv.isDarwin) [ Cocoa setfile rez derez wxmac ];
 
   meta = with lib; {
     homepage = "https://utelle.github.io/wxsqlite3/";
diff --git a/pkgs/development/libraries/wxwidgets/2.8/default.nix b/pkgs/development/libraries/wxwidgets/2.8/default.nix
index 8029477708d..19a57d68e15 100644
--- a/pkgs/development/libraries/wxwidgets/2.8/default.nix
+++ b/pkgs/development/libraries/wxwidgets/2.8/default.nix
@@ -1,76 +1,117 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, libXinerama, libSM, libXxf86vm, xorgproto
-, libX11, cairo
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+{ lib
+, stdenv
+, fetchurl
+, cairo
+, gtk2
+, libGL
+, libGLU
+, libSM
+, libX11
+, libXinerama
+, libXxf86vm
+, pkg-config
+, xorgproto
+, compat24 ? false
+, compat26 ? true
+, unicode ? true
 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, libGLU ? null, libGL ? null
-, compat24 ? false, compat26 ? true, unicode ? true,
 }:
 
 assert withMesa -> libGLU != null && libGL != null;
 
-with lib;
-
 stdenv.mkDerivation rec {
-  version = "2.8.12.1";
   pname = "wxGTK";
+  version = "2.8.12.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/wxpython/wxPython-src-${version}.tar.bz2";
-    sha256 = "1l1w4i113csv3bd5r8ybyj0qpxdq83lj6jrc5p7cc10mkwyiagqz";
+    hash = "sha256-Hz8VPZ8VBMbOLSxLI+lAuPWLgfTLo1zaGluzEUIkPNA=";
   };
 
-  buildInputs = [ gtk2 libXinerama libSM libXxf86vm xorgproto libX11 cairo ]
-    ++ optional withMesa libGLU;
-
-  nativeBuildInputs = [ pkg-config ];
-
-  hardeningDisable = [ "format" ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
+
+  buildInputs = [
+    cairo
+    gtk2
+    libSM
+    libX11
+    libXinerama
+    libXxf86vm
+    xorgproto
+  ]
+  ++ lib.optional withMesa libGLU;
 
   configureFlags = [
     "--enable-gtk2"
-    (if compat24 then "--enable-compat24" else "--disable-compat24")
-    (if compat26 then "--enable-compat26" else "--disable-compat26")
     "--disable-precomp-headers"
-    (if unicode then "--enable-unicode" else "")
     "--enable-mediactrl"
     "--enable-graphics_ctx"
-  ] ++ optional withMesa "--with-opengl";
+    (if compat24 then "--enable-compat24" else "--disable-compat24")
+    (if compat26 then "--enable-compat26" else "--disable-compat26")
+  ]
+  ++ lib.optional unicode "--enable-unicode"
+  ++ lib.optional withMesa "--with-opengl";
+
+  hardeningDisable = [ "format" ];
 
   # These variables are used by configure to find some dependencies.
   SEARCH_INCLUDE =
     "${libXinerama.dev}/include ${libSM.dev}/include ${libXxf86vm.dev}/include";
   SEARCH_LIB =
     "${libXinerama.out}/lib ${libSM.out}/lib ${libXxf86vm.out}/lib "
-    + optionalString withMesa "${libGLU.out}/lib ${libGL.out}/lib ";
+    + lib.optionalString withMesa "${libGLU.out}/lib ${libGL.out}/lib ";
 
   # Work around a bug in configure.
   NIX_CFLAGS_COMPILE = "-DHAVE_X11_XLIB_H=1 -lX11 -lcairo -Wno-narrowing";
 
-  preConfigure = "
-    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace /usr /no-such-path
-  ";
+  preConfigure = ''
+    substituteInPlace configure --replace \
+      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace \
+      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace \
+      /usr /no-such-path
+  '';
+
+  postBuild = ''
+    pushd contrib/src
+    make
+    popd
+  '';
+
+  postInstall = ''
+    pushd contrib/src
+    make install
+    popd
+    pushd $out/include
+    ln -s wx-*/* .
+    popd
+  '';
 
-  postBuild = "(cd contrib/src && make)";
+  enableParallelBuilding = true;
 
-  postInstall = "
-    (cd contrib/src && make install)
-    (cd $out/include && ln -s wx-*/* .)
-  ";
+  meta = with lib; {
+    homepage = "https://www.wxwidgets.org/";
+    description = "A Cross-Platform C++ GUI Library";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.linux;
+  };
 
   passthru = {
     inherit compat24 compat26 unicode;
     gtk = gtk2;
   };
-
-  enableParallelBuilding = true;
-
-  meta = {
-    platforms = platforms.linux;
-    license = licenses.wxWindows;
-    homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
-  };
 }
diff --git a/pkgs/development/libraries/wxwidgets/2.9/default.nix b/pkgs/development/libraries/wxwidgets/2.9/default.nix
index 5674f076bec..34d76e53ff6 100644
--- a/pkgs/development/libraries/wxwidgets/2.9/default.nix
+++ b/pkgs/development/libraries/wxwidgets/2.9/default.nix
@@ -1,84 +1,128 @@
-{ lib, stdenv, fetchurl, pkg-config, gtk2, libXinerama, libSM, libXxf86vm, xorgproto
-, setfile
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+{ lib
+, stdenv
+, fetchFromGitHub
+, autoconf
+, gtk2
+, libGL
+, libGLU
+, libSM
+, libXinerama
+, libXxf86vm
+, pkg-config
+, xorgproto
+, compat24 ? false
+, compat26 ? true
+, unicode ? true
 , withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, libGLU ? null, libGL ? null
-, compat24 ? false, compat26 ? true, unicode ? true
-, Carbon ? null, Cocoa ? null, Kernel ? null, QuickTime ? null, AGL ? null
+, AGL
+, Carbon
+, Cocoa
+, Kernel
+, QuickTime
+, setfile
 }:
 
 assert withMesa -> libGLU != null && libGL != null;
-
-with lib;
-
 stdenv.mkDerivation rec {
-  pname = "wxwidgets";
-  version = "2.9.4";
+  pname = "wxGTK";
+  version = "2.9.5";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/wxwindows/wxWidgets-${version}.tar.bz2";
-    sha256 = "04jda4bns7cmp7xy68qz112yg0lribpc6xs5k9gilfqcyhshqlvc";
+  src = fetchFromGitHub {
+    owner = "wxWidgets";
+    repo = "wxWidgets";
+    rev = "v${version}";
+    hash = "sha256-izefAPU4lORZxQja7/InHyElJ1++2lDloR+xPudsRNE=";
   };
 
   patches = [
-    (fetchurl { # https://trac.wxwidgets.org/ticket/17942
-      url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
-          + "fix_assertion_using_hide_in_destroy.diff";
-      sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
-    })
+    # https://github.com/wxWidgets/wxWidgets/issues/17942
+    ../patches/0001-fix-assertion-using-hide-in-destroy.patch
   ];
 
-  buildInputs =
-    [ gtk2 libXinerama libSM libXxf86vm xorgproto ]
-    ++ optional withMesa libGLU
-    ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QuickTime ];
+  nativeBuildInputs = [
+    autoconf
+    pkg-config
+  ];
 
-  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [
+    gtk2
+    libSM
+    libXinerama
+    libXxf86vm
+    xorgproto
+  ]
+  ++ lib.optional withMesa libGLU
+  ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    Cocoa
+    Kernel
+    QuickTime
+    setfile
+  ];
 
-  propagatedBuildInputs = optional stdenv.isDarwin AGL;
+  propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
 
-  configureFlags =
-    [ "--enable-gtk2" "--disable-precomp-headers"
-      (if compat24 then "--enable-compat24" else "--disable-compat24")
-      (if compat26 then "--enable-compat26" else "--disable-compat26") ]
-    ++ optional unicode "--enable-unicode"
-    ++ optional withMesa "--with-opengl"
-    ++ optionals stdenv.isDarwin
-      # allow building on 64-bit
-      [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ];
+  configureFlags = [
+    "--disable-precomp-headers"
+    "--enable-gtk2"
+    (if compat24 then "--enable-compat24" else "--disable-compat24")
+    (if compat26 then "--enable-compat26" else "--disable-compat26")
+  ]
+  ++ lib.optional unicode "--enable-unicode"
+  ++ lib.optional withMesa "--with-opengl"
+  ++ lib.optionals stdenv.isDarwin [ # allow building on 64-bit
+    "--enable-universal-binaries"
+    "--with-cocoa"
+    "--with-macosx-version-min=10.7"
+  ];
 
   SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
 
-  preConfigure = "
-    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace /usr /no-such-path
-  " + optionalString stdenv.isDarwin ''
+  preConfigure = ''
+    ./autogen.sh
+    substituteInPlace configure --replace \
+      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace \
+      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace \
+      /usr /no-such-path
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace \
       'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
       'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
     substituteInPlace configure --replace \
-      "-framework System" \
-      -lSystem
+      "-framework System" "-lSystem"
   '';
 
-  postInstall = "
-    (cd $out/include && ln -s wx-*/* .)
-  ";
-
-  passthru = {
-    inherit compat24 compat26 unicode;
-    gtk = gtk2;
-  };
+  postInstall = ''
+    pushd $out/include
+    ln -s wx-*/* .
+    popd
+  '';
 
   enableParallelBuilding = true;
 
-  meta = {
-    platforms = with platforms; darwin ++ linux;
-    license = licenses.wxWindows;
+  meta = with lib; {
     homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
+    description = "A Cross-Platform C++ GUI Library";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.darwin ++ platforms.linux;
     badPlatforms = [ "x86_64-darwin" ];
   };
+
+  passthru = {
+    inherit compat24 compat26 unicode;
+    gtk = gtk2;
+  };
 }
diff --git a/pkgs/development/libraries/wxwidgets/3.0/default.nix b/pkgs/development/libraries/wxwidgets/3.0/default.nix
index 30e807cde05..628d8bd0237 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/default.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/default.nix
@@ -1,20 +1,36 @@
-{ lib, stdenv, fetchFromGitHub, fetchurl, pkg-config
-, libXinerama, libSM, libXxf86vm
-, gtk2, gtk3
-, xorgproto, gst_all_1, setfile
-, libGLSupported ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
-, withMesa ? libGLSupported
-, libGLU, libGL
-, compat24 ? false, compat26 ? true, unicode ? true
+{ lib
+, stdenv
+, fetchFromGitHub
+, gst_all_1
+, gtk2
+, gtk3
+, libGL
+, libGLU
+, libSM
+, libXinerama
+, libXxf86vm
+, pkg-config
+, xorgproto
+, withMesa ? lib.elem stdenv.hostPlatform.system lib.platforms.mesaPlatforms
+, compat24 ? false
+, compat26 ? true
+, unicode ? true
 , withGtk2 ? true
 , withWebKit ? false, webkitgtk
-, AGL, Carbon, Cocoa, Kernel, QTKit
+, AGL
+, Carbon
+, Cocoa
+, Kernel
+, QTKit
+, setfile
 }:
 
-with lib;
-
-assert assertMsg (withGtk2 -> withWebKit == false) "wxGTK30: You cannot enable withWebKit when using withGtk2.";
+assert withGtk2 -> (!withWebKit);
 
+let
+  inherit (gst_all_1) gstreamer gst-plugins-base;
+  gtk = if withGtk2 then gtk2 else gtk3;
+in
 stdenv.mkDerivation rec {
   pname = "wxwidgets";
   version = "3.0.5";
@@ -23,73 +39,103 @@ stdenv.mkDerivation rec {
     owner = "wxWidgets";
     repo = "wxWidgets";
     rev = "v${version}";
-    sha256 = "1l33629ifx2dl2j71idqbd2qb6zb1d566ijpkvz6irrr50s6gbx7";
+    hash = "sha256-p69nNCg552j+nldGY0oL65uFRVu4xXCkoE10F5MwY9A=";
   };
 
-  nativeBuildInputs = [ pkg-config ];
+  nativeBuildInputs = [
+    pkg-config
+  ];
 
   buildInputs = [
-    libXinerama libSM libXxf86vm xorgproto gst_all_1.gstreamer gst_all_1.gst-plugins-base
-  ] ++ optional withGtk2 gtk2
-    ++ optional (!withGtk2) gtk3
-    ++ optional withMesa libGLU
-    ++ optional withWebKit webkitgtk
-    ++ optionals stdenv.isDarwin [ setfile Carbon Cocoa Kernel QTKit ];
+    gstreamer
+    gst-plugins-base
+    gtk
+    libSM
+    libXinerama
+    libXxf86vm
+    xorgproto
+  ]
+  ++ lib.optional withMesa libGLU
+  ++ lib.optional withWebKit webkitgtk
+  ++ lib.optionals stdenv.isDarwin [
+    Carbon
+    Cocoa
+    Kernel
+    QTKit
+    setfile
+  ];
 
-  propagatedBuildInputs = optional stdenv.isDarwin AGL;
+  propagatedBuildInputs = lib.optional stdenv.isDarwin AGL;
 
   patches = [
-    (fetchurl { # https://trac.wxwidgets.org/ticket/17942
-      url = "https://trac.wxwidgets.org/raw-attachment/ticket/17942/"
-          + "fix_assertion_using_hide_in_destroy.diff";
-      sha256 = "009y3dav79wiig789vkkc07g1qdqprg1544lih79199kb1h64lvy";
-    })
+    # https://github.com/wxWidgets/wxWidgets/issues/17942
+    ../patches/0001-fix-assertion-using-hide-in-destroy.patch
   ];
 
-  configureFlags =
-    [ "--disable-precomp-headers" "--enable-mediactrl"
-      (if compat24 then "--enable-compat24" else "--disable-compat24")
-      (if compat26 then "--enable-compat26" else "--disable-compat26") ]
-    ++ optional unicode "--enable-unicode"
-    ++ optional withMesa "--with-opengl"
-    ++ optionals stdenv.isDarwin
-      # allow building on 64-bit
-      [ "--with-cocoa" "--enable-universal-binaries" "--with-macosx-version-min=10.7" ]
-    ++ optionals withWebKit
-      ["--enable-webview" "--enable-webview-webkit"];
+  configureFlags = [
+    "--disable-precomp-headers"
+    "--enable-mediactrl"
+    (if compat24 then "--enable-compat24" else "--disable-compat24")
+    (if compat26 then "--enable-compat26" else "--disable-compat26")
+  ]
+  ++ lib.optional unicode "--enable-unicode"
+  ++ lib.optional withMesa "--with-opengl"
+  ++ lib.optionals stdenv.isDarwin [ # allow building on 64-bit
+    "--enable-universal-binaries"
+    "--with-cocoa"
+    "--with-macosx-version-min=10.7"
+  ]
+  ++ lib.optionals withWebKit [
+    "--enable-webview"
+    "--enable-webview-webkit"
+  ];
 
   SEARCH_LIB = "${libGLU.out}/lib ${libGL.out}/lib ";
 
-  preConfigure = "
-    substituteInPlace configure --replace 'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
-    substituteInPlace configure --replace 'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
-    substituteInPlace configure --replace /usr /no-such-path
-  " + optionalString stdenv.isDarwin ''
+  preConfigure = ''
+    substituteInPlace configure --replace \
+      'SEARCH_INCLUDE=' 'DUMMY_SEARCH_INCLUDE='
+    substituteInPlace configure --replace \
+      'SEARCH_LIB=' 'DUMMY_SEARCH_LIB='
+    substituteInPlace configure --replace \
+      /usr /no-such-path
+  '' + lib.optionalString stdenv.isDarwin ''
     substituteInPlace configure --replace \
       'ac_cv_prog_SETFILE="/Developer/Tools/SetFile"' \
       'ac_cv_prog_SETFILE="${setfile}/bin/SetFile"'
     substituteInPlace configure --replace \
-      "-framework System" \
-      -lSystem
+      "-framework System" "-lSystem"
   '';
 
-  postInstall = "
-    (cd $out/include && ln -s wx-*/* .)
-  ";
-
-  passthru = {
-    inherit compat24 compat26 unicode;
-    gtk = if withGtk2 then gtk2 else gtk3;
-  };
+  postInstall = ''
+    pushd $out/include
+    ln -s wx-*/* .
+    popd
+  '';
 
   enableParallelBuilding = true;
 
-  meta = {
-    platforms = with platforms; darwin ++ linux;
-    license = licenses.wxWindows;
+  meta = with lib; {
     homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
+    description = "A Cross-Platform C++ GUI Library";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ ];
+    platforms = platforms.linux ++ platforms.darwin;
     badPlatforms = [ "x86_64-darwin" ];
   };
+
+  passthru = {
+    inherit gtk;
+    inherit compat24 compat26 unicode;
+  };
 }
diff --git a/pkgs/development/libraries/wxwidgets/3.0/mac.nix b/pkgs/development/libraries/wxwidgets/3.0/mac.nix
index 17c2ee9efae..e1f732929ce 100644
--- a/pkgs/development/libraries/wxwidgets/3.0/mac.nix
+++ b/pkgs/development/libraries/wxwidgets/3.0/mac.nix
@@ -1,71 +1,99 @@
-{ lib, stdenv, fetchFromGitHub, expat, libiconv, libjpeg, libpng, libtiff, zlib
-# darwin only attributes
-, derez, rez, setfile
-, AGL, Cocoa, Kernel, WebKit
+{ lib
+, stdenv
+, fetchFromGitHub
+, expat
+, libiconv
+, libjpeg
+, libpng
+, libtiff
+, zlib
+, darwin
 }:
 
+let
+  inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel WebKit;
+  inherit (darwin.stubs) derez rez setfile;
+in
 stdenv.mkDerivation rec {
-  version = "3.0.5.1";
   pname = "wxmac";
+  version = "3.0.5.1";
 
   src = fetchFromGitHub {
     owner = "wxWidgets";
     repo = "wxWidgets";
     rev = "v${version}";
-    sha256 = "sha256-I91douzXDAfDgm4Pplf17iepv4vIRhXZDRFl9keJJq0=";
+    hash = "sha256-I91douzXDAfDgm4Pplf17iepv4vIRhXZDRFl9keJJq0=";
   };
 
   buildInputs = [
-    expat libiconv libjpeg libpng libtiff zlib
-    derez rez setfile
-    AGL Cocoa Kernel WebKit
+    expat
+    libiconv
+    libjpeg
+    libpng
+    libtiff
+    zlib
+    AGL
+    Cocoa
+    Kernel
+    WebKit
+    derez
+    rez
+    setfile
   ];
 
   postPatch = ''
-    substituteInPlace configure --replace "-framework System" -lSystem
+    substituteInPlace configure --replace "-framework System" "-lSystem"
   '';
 
   configureFlags = [
-    "wx_cv_std_libfullpath=/var/empty"
-    "--with-macosx-version-min=10.7"
-    "--enable-unicode"
-    "--with-osx_cocoa"
-    "--enable-std_string"
-    "--enable-display"
-    "--with-opengl"
-    "--with-libjpeg"
-    "--with-libtiff"
-    "--without-liblzma"
-    "--with-libpng"
-    "--with-zlib"
-    "--enable-dnd"
+    "--disable-mediactrl"
+    "--disable-precomp-headers"
     "--enable-clipboard"
-    "--enable-webkit"
-    "--enable-svg"
-    "--enable-graphics_ctx"
     "--enable-controls"
     "--enable-dataviewctrl"
+    "--enable-display"
+    "--enable-dnd"
+    "--enable-graphics_ctx"
+    "--enable-std_string"
+    "--enable-svg"
+    "--enable-unicode"
+    "--enable-webkit"
     "--with-expat"
-    "--disable-precomp-headers"
-    "--disable-mediactrl"
+    "--with-libjpeg"
+    "--with-libpng"
+    "--with-libtiff"
+    "--with-macosx-version-min=10.7"
+    "--with-opengl"
+    "--with-osx_cocoa"
+    "--with-zlib"
+    "--without-liblzma"
+    "wx_cv_std_libfullpath=/var/empty"
   ];
 
+  doCheck = true;
   checkPhase = ''
     ./wx-config --libs
   '';
 
   NIX_CFLAGS_COMPILE = "-Wno-undef";
 
-  doCheck = true;
-
   enableParallelBuilding = true;
 
   meta = with lib; {
-    platforms = platforms.darwin;
-    license = licenses.wxWindows;
-    maintainers = [ maintainers.lnl7 ];
     homepage = "https://www.wxwidgets.org/";
-    description = "a C++ library that lets developers create applications for Windows, macOS, Linux and other platforms with a single code base";
-    longDescription = "wxWidgets gives you a single, easy-to-use API for writing GUI applications on multiple platforms that still utilize the native platform's controls and utilities. Link with the appropriate library for your platform and compiler, and your application will adopt the look and feel appropriate to that platform. On top of great GUI functionality, wxWidgets gives you: online help, network programming, streams, clipboard and drag and drop, multithreading, image loading and saving in a variety of popular formats, database support, HTML viewing and printing, and much more.";
+    description = "A Cross-Platform C++ GUI Library - MacOS-only build";
+    longDescription = ''
+      wxWidgets gives you a single, easy-to-use API for writing GUI applications
+      on multiple platforms that still utilize the native platform's controls
+      and utilities. Link with the appropriate library for your platform and
+      compiler, and your application will adopt the look and feel appropriate to
+      that platform. On top of great GUI functionality, wxWidgets gives you:
+      online help, network programming, streams, clipboard and drag and drop,
+      multithreading, image loading and saving in a variety of popular formats,
+      database support, HTML viewing and printing, and much more.
+    '';
+    license = licenses.wxWindows;
+    maintainers = with maintainers; [ lnl7 ];
+    platforms = platforms.darwin;
   };
 }
diff --git a/pkgs/development/libraries/wxwidgets/patches/0001-fix-assertion-using-hide-in-destroy.patch b/pkgs/development/libraries/wxwidgets/patches/0001-fix-assertion-using-hide-in-destroy.patch
new file mode 100644
index 00000000000..ca9eb8bf612
--- /dev/null
+++ b/pkgs/development/libraries/wxwidgets/patches/0001-fix-assertion-using-hide-in-destroy.patch
@@ -0,0 +1,43 @@
+commit 56a60ee50122613d3a356ce74b4bd77b5e7be235
+Author: Tim Kosse <tim.kosse@filezilla-project.org>
+Date:   Sat Aug 26 15:37:30 2017 +0200
+
+    If a wxTopLevelWindow has been instanced, but Create has not been called, calling Destroy on the window results in an assertion in Show(false), at least under wxGTK. Fix this by only hiding a top level window during destruction if it is actually shown.
+
+diff --git a/src/common/toplvcmn.cpp b/src/common/toplvcmn.cpp
+index ef693690c5..8d07812031 100644
+--- a/src/common/toplvcmn.cpp
++++ b/src/common/toplvcmn.cpp
+@@ -122,19 +122,21 @@ bool wxTopLevelWindowBase::Destroy()
+     // any more as no events will be sent to the hidden window and without idle
+     // events we won't prune wxPendingDelete list and the application won't
+     // terminate
+-    for ( wxWindowList::const_iterator i = wxTopLevelWindows.begin(),
+-                                     end = wxTopLevelWindows.end();
+-          i != end;
+-          ++i )
+-    {
+-        wxTopLevelWindow * const win = static_cast<wxTopLevelWindow *>(*i);
+-        if ( win != this && win->IsShown() )
++    if ( IsShown() ) {
++        for ( wxWindowList::const_iterator i = wxTopLevelWindows.begin(),
++                                         end = wxTopLevelWindows.end();
++              i != end;
++              ++i )
+         {
+-            // there remains at least one other visible TLW, we can hide this
+-            // one
+-            Hide();
++            wxTopLevelWindow * const win = static_cast<wxTopLevelWindow *>(*i);
++            if ( win != this && win->IsShown() )
++            {
++                // there remains at least one other visible TLW, we can hide this
++                // one
++                Hide();
+ 
+-            break;
++                break;
++            }
+         }
+     }
+ 
diff --git a/pkgs/development/libraries/x264/default.nix b/pkgs/development/libraries/x264/default.nix
index 2c9f476313e..dc2b1c40c6c 100644
--- a/pkgs/development/libraries/x264/default.nix
+++ b/pkgs/development/libraries/x264/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "Library for encoding H264/AVC video streams";
     homepage    = "http://www.videolan.org/developers/x264.html";
-    license     = licenses.gpl2;
+    license     = licenses.gpl2Plus;
     platforms   = platforms.unix;
     maintainers = with maintainers; [ spwhitt tadeokondrak ];
   };
diff --git a/pkgs/development/libraries/x265/default.nix b/pkgs/development/libraries/x265/default.nix
index 4610aa5309f..20c56f4d903 100644
--- a/pkgs/development/libraries/x265/default.nix
+++ b/pkgs/development/libraries/x265/default.nix
@@ -1,103 +1,138 @@
-{ lib, stdenv, fetchFromBitbucket, cmake, nasm, numactl
-, numaSupport ? stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isx86 || stdenv.hostPlatform.isAarch64)  # Enabled by default on NUMA platforms
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, cmake
+, nasm
+
+# NUMA support enabled by default on NUMA platforms:
+, numaSupport ? (stdenv.hostPlatform.isLinux && (stdenv.hostPlatform.isx86 || stdenv.hostPlatform.isAarch64))
+, numactl
+
+# Multi bit-depth support (8bit+10bit+12bit):
+, multibitdepthSupport ? (stdenv.is64bit && !(stdenv.isAarch64 && stdenv.isLinux))
+
+# Other options:
+, cliSupport ? true # Build standalone CLI application
+, custatsSupport ? false # Internal profiling of encoder work
 , debugSupport ? false # Run-time sanity checks (debugging)
-, werrorSupport ? false # Warnings as errors
 , ppaSupport ? false # PPA profiling instrumentation
+, unittestsSupport ? (stdenv.is64bit && !(stdenv.isDarwin && stdenv.isAarch64)) # Unit tests - only testing x64 assembly
 , vtuneSupport ? false # Vtune profiling instrumentation
-, custatsSupport ? false # Internal profiling of encoder work
-, cliSupport ? true # Build standalone CLI application
-, unittestsSupport ? false # Unit tests
+, werrorSupport ? false # Warnings as errors
 }:
 
 let
   mkFlag = optSet: flag: if optSet then "-D${flag}=ON" else "-D${flag}=OFF";
-  inherit (stdenv) is64bit;
 
-  cmakeFlagsAll = [
-    "-DSTATIC_LINK_CRT=OFF"
+  cmakeCommonFlags = [
+    "-Wno-dev"
+    (mkFlag custatsSupport "DETAILED_CU_STATS")
     (mkFlag debugSupport "CHECKED_BUILD")
     (mkFlag ppaSupport "ENABLE_PPA")
     (mkFlag vtuneSupport "ENABLE_VTUNE")
-    (mkFlag custatsSupport "DETAILED_CU_STATS")
-    (mkFlag unittestsSupport "ENABLE_TESTS")
     (mkFlag werrorSupport "WARNINGS_AS_ERRORS")
-  ] ++ lib.optionals stdenv.hostPlatform.isPower [
-    "-DENABLE_ALTIVEC=OFF"
   ];
 
-  version = "3.4";
-
-  src = fetchFromBitbucket {
-    owner = "multicoreware";
-    repo = "x265_git";
-    rev = version;
-    sha256 = "1jzgv2hxhcwmsdf6sbgyzm88a46dp09ll1fqj92g9vckvh9a7dsn";
-  };
-
-  buildLib = has12Bit: stdenv.mkDerivation rec {
-    name = "libx265-${if has12Bit then "12" else "10"}-${version}";
-    inherit src;
-
-    postPatch = ''
-      sed -i 's/unknown/${version}/g' source/cmake/version.cmake
-      sed -i 's/0.0/${version}/g' source/cmake/version.cmake
-    '';
-
-    cmakeLibFlags = [
-      "-DENABLE_CLI=OFF"
-      "-DENABLE_SHARED=OFF"
-      "-DENABLE_HDR10_PLUS=ON"
-      "-DEXPORT_C_API=OFF"
-      "-DHIGH_BIT_DEPTH=ON"
-    ];
-    cmakeFlags = [(mkFlag has12Bit "MAIN12")] ++ cmakeLibFlags ++ cmakeFlagsAll;
-
-    preConfigure = ''
-      cd source
-    '';
-
-    nativeBuildInputs = [cmake nasm] ++ lib.optional numaSupport numactl;
-  };
+  cmakeStaticLibFlags = [
+    "-DHIGH_BIT_DEPTH=ON"
+    "-DENABLE_CLI=OFF"
+    "-DENABLE_SHARED=OFF"
+    "-DEXPORT_C_API=OFF"
+  ] ++ lib.optionals stdenv.hostPlatform.isPower [
+    "-DENABLE_ALTIVEC=OFF" # https://bitbucket.org/multicoreware/x265_git/issues/320/fail-to-build-on-power8-le
+  ];
 
-  libx265-10 = buildLib false;
-  libx265-12 = buildLib true;
 in
 
 stdenv.mkDerivation rec {
   pname = "x265";
-  inherit version src;
+  version = "3.5";
+
+  outputs = [ "out" "dev" ];
+
+  # Check that x265Version.txt contains the expected version number
+  # whether we fetch a source tarball or a tag from the git repo
+  src = fetchurl {
+    url = "https://bitbucket.org/multicoreware/x265_git/downloads/x265_${version}.tar.gz";
+    hash = "sha256-5wozNcrKy7oLOiDsb+zWeDkyKI68gWOtdLzJYGR3yug=";
+  };
+
+  sourceRoot = "x265_${version}/source";
+
+  patches = [
+    # More aliases for ARM platforms + do not force CLFAGS for ARM :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/arm-r1.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "1hgzq5vxkwh0nyikxjfz8gz3jvx2nq3yy12mz3fn13qvzdlb5ilp";
+    })
+    # use proper check to avoid undefined symbols when enabling assembly on ARM :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/neon.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "1mmshpbyldrfqxfmdajqal4l647zvlrwdai8pxw99qg4v8gajfii";
+    })
+    # More complete PPC64 matches :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/x265-3.3-ppc64.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "1mvw678xfm0vr59n5jilq56qzcgk1gmcip2afyafkqiv21nbms8c";
+    })
+    # Namespace functions for multi-bitdepth builds so that libraries are self-contained (and tests succeeds) :
+    (fetchpatch {
+      url = "https://gitweb.gentoo.org/repo/gentoo.git/plain/media-libs/x265/files/test-ns.patch?id=1d1de341e1404a46b15ae3e84bc400d474cf1a2c";
+      sha256 = "0zg3g53l07yh7ar5c241x50y5zp7g8nh8rh63ad4bdpchpc2f52d";
+    })
+  ];
 
   postPatch = ''
-    sed -i 's/unknown/${version}/g' source/cmake/version.cmake
-    sed -i 's/0.0/${version}/g' source/cmake/version.cmake
+    substituteInPlace cmake/Version.cmake \
+      --replace "unknown" "${version}" \
+      --replace "0.0" "${version}"
+  '';
+
+  nativeBuildInputs = [ cmake nasm ] ++ lib.optionals (numaSupport) [ numactl ];
+
+  # Builds 10bits and 12bits static libs on the side if multi bit-depth is wanted
+  # (we are in x265_<version>/source/build)
+  preBuild = lib.optionalString (multibitdepthSupport) ''
+    cmake -S ../ -B ../build-10bits ${toString cmakeCommonFlags} ${toString cmakeStaticLibFlags}
+    make -C ../build-10bits -j $NIX_BUILD_CORES
+    cmake -S ../ -B ../build-12bits ${toString cmakeCommonFlags} ${toString cmakeStaticLibFlags} -DMAIN12=ON
+    make -C ../build-12bits -j $NIX_BUILD_CORES
+    ln -s ../build-10bits/libx265.a ./libx265-10.a
+    ln -s ../build-12bits/libx265.a ./libx265-12.a
   '';
 
-  cmakeFlags = [
+  cmakeFlags = cmakeCommonFlags ++ [
+    "-DGIT_ARCHETYPE=1" # https://bugs.gentoo.org/814116
     "-DENABLE_SHARED=ON"
     "-DHIGH_BIT_DEPTH=OFF"
-    "-DENABLE_HDR10_PLUS=OFF"
-  ] ++ lib.optionals (is64bit && !(stdenv.isAarch64 && stdenv.isLinux)) [
-    "-DEXTRA_LIB=${libx265-10}/lib/libx265.a;${libx265-12}/lib/libx265.a"
-    "-DLINKED_10BIT=ON"
-    "-DLINKED_12BIT=ON"
+    "-DENABLE_HDR10_PLUS=ON"
   ] ++ [
     (mkFlag cliSupport "ENABLE_CLI")
-  ] ++ cmakeFlagsAll;
+    (mkFlag unittestsSupport "ENABLE_TESTS")
+  ] ++ lib.optionals (multibitdepthSupport) [
+    "-DEXTRA_LIB=x265-10.a;x265-12.a"
+    "-DEXTRA_LINK_FLAGS=-L."
+    "-DLINKED_10BIT=ON"
+    "-DLINKED_12BIT=ON"
+  ];
 
-  preConfigure = ''
-    cd source
+  doCheck = unittestsSupport;
+  checkPhase = ''
+    runHook preCheck
+    ./test/TestBench
+    runHook postCheck
   '';
 
   postInstall = ''
-    rm $out/lib/*.a
+    rm -f ${placeholder "out"}/lib/*.a
   '';
 
-  nativeBuildInputs = [ cmake nasm ] ++ lib.optional numaSupport numactl;
-
   meta = with lib; {
     description = "Library for encoding H.265/HEVC video streams";
     homepage    = "https://www.x265.org/";
-    license     = licenses.gpl2;
+    changelog   = "https://x265.readthedocs.io/en/master/releasenotes.html#version-${lib.strings.replaceStrings ["."] ["-"] version}";
+    license     = licenses.gpl2Plus;
     maintainers = with maintainers; [ codyopel ];
     platforms   = platforms.all;
   };
diff --git a/pkgs/development/libraries/xapian/default.nix b/pkgs/development/libraries/xapian/default.nix
index e2d049cd7b3..4d23752b242 100644
--- a/pkgs/development/libraries/xapian/default.nix
+++ b/pkgs/development/libraries/xapian/default.nix
@@ -38,5 +38,5 @@ let
     };
   };
 in {
-  xapian_1_4 = generic "1.4.18" "sha256-GW3btK0QRQEA8JkaWZ5O2UTLrZLkpv6BO+bc4WAkS3c=";
+  xapian_1_4 = generic "1.4.19" "sha256-H8pI/KbMNSbMS6k90ZT+nBMmhXt47c+zfmjQhtcUqcM=";
 }
diff --git a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
index 08d695c15e5..c54cdeca6c3 100644
--- a/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal-gtk/default.nix
@@ -1,7 +1,6 @@
 { stdenv
 , lib
 , fetchFromGitHub
-, fetchpatch
 , autoreconfHook
 , pkg-config
 , libxml2
@@ -16,28 +15,15 @@
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal-gtk";
-  version = "1.10.0";
+  version = "1.12.0";
 
   src = fetchFromGitHub {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "7w+evZLtmTmDHVVsw25bJz99xtlSCE8qTFSxez9tlZk=";
+    sha256 = "I1ZoDqZQPfPwPr4Ybk+syz+YEkrK2ReflZaJJWD4Nsk=";
   };
 
-  patches = [
-    # Fix broken translation.
-    # https://github.com/flatpak/xdg-desktop-portal-gtk/issues/353
-    (fetchpatch {
-      url = "https://github.com/flatpak/xdg-desktop-portal-gtk/commit/e34f49ca8365801a7fcacccb46ab1e62aec17435.patch";
-      sha256 = "umMsSP0fuSQgxlHLaZlg25ln1aAL1mssWzPMIWAOUt4=";
-    })
-    (fetchpatch {
-      url = "https://github.com/flatpak/xdg-desktop-portal-gtk/commit/19c5385b9f5fe0f8dac8ae7cc4493bb08f802de6.patch";
-      sha256 = "nbmOb5er20zBOO4K2geYITafqBaNHbDpq1OOvIVD6hY=";
-    })
-  ];
-
   nativeBuildInputs = [
     autoreconfHook
     libxml2
@@ -54,13 +40,18 @@ stdenv.mkDerivation rec {
     gnome.gnome-settings-daemon # schemas needed for settings api (mostly useless now that fonts were moved to g-d-s)
   ];
 
-  configureFlags = lib.optionals buildPortalsInGnome [
+  configureFlags = if buildPortalsInGnome then [
     "--enable-wallpaper"
     "--enable-screenshot"
     "--enable-screencast"
     "--enable-background"
     "--enable-settings"
     "--enable-appchooser"
+  ] else [
+    # These are now enabled by default, even though we do not need them for GNOME.
+    # https://github.com/flatpak/xdg-desktop-portal-gtk/issues/355
+    "--disable-settings"
+    "--disable-appchooser"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/libraries/xdg-desktop-portal/default.nix b/pkgs/development/libraries/xdg-desktop-portal/default.nix
index bb8950ca1ec..19a671e7e0b 100644
--- a/pkgs/development/libraries/xdg-desktop-portal/default.nix
+++ b/pkgs/development/libraries/xdg-desktop-portal/default.nix
@@ -1,28 +1,29 @@
-{ stdenv
-, lib
+{ lib
+, acl
+, autoreconfHook
+, dbus
 , fetchFromGitHub
 , fetchpatch
-, nixosTests
-, substituteAll
-, autoreconfHook
-, pkg-config
-, libxml2
-, glib
-, pipewire
 , flatpak
-, gsettings-desktop-schemas
-, acl
-, dbus
 , fuse
-, libportal
 , geoclue2
+, glib
+, gsettings-desktop-schemas
 , json-glib
+, libportal
+, libxml2
+, nixosTests
+, pipewire
+, pkg-config
+, stdenv
+, substituteAll
 , wrapGAppsHook
+, enableGeoLocation ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "xdg-desktop-portal";
-  version = "1.10.1";
+  version = "1.12.1";
 
   outputs = [ "out" "installedTests" ];
 
@@ -30,7 +31,7 @@ stdenv.mkDerivation rec {
     owner = "flatpak";
     repo = pname;
     rev = version;
-    sha256 = "Q1ZP/ljdIxJHg+3JaTL/LIZV+3cK2+dognsTC95udVA=";
+    sha256 = "1fc3LXN6wp/zQw4HQ0Q99HUvBhynHrQi2p3s/08izuE=";
   };
 
   patches = [
@@ -39,36 +40,33 @@ stdenv.mkDerivation rec {
       src = ./fix-paths.patch;
       inherit flatpak;
     })
-    # Fixes the issue in https://github.com/flatpak/xdg-desktop-portal/issues/636
-    # Remove it when the next stable release arrives
-    (fetchpatch {
-      url = "https://github.com/flatpak/xdg-desktop-portal/commit/d7622e15ff8fef114a6759dde564826d04215a9f.patch";
-      sha256 = "sha256-vmfxK4ddG6Xon//rpiz6OiBsDLtT0VG5XyBJG3E4PPs=";
-    })
   ];
 
   nativeBuildInputs = [
     autoreconfHook
-    pkg-config
     libxml2
+    pkg-config
     wrapGAppsHook
   ];
 
   buildInputs = [
-    glib
-    pipewire
-    flatpak
     acl
     dbus
-    geoclue2
+    flatpak
     fuse
-    libportal
+    glib
     gsettings-desktop-schemas
     json-glib
+    libportal
+    pipewire
+  ] ++ lib.optionals enableGeoLocation [
+    geoclue2
   ];
 
   configureFlags = [
     "--enable-installed-tests"
+  ] ++ lib.optionals (!enableGeoLocation) [
+    "--disable-geoclue"
   ];
 
   makeFlags = [
@@ -84,7 +82,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Desktop integration portals for sandboxed apps";
-    license = licenses.lgpl21;
+    license = licenses.lgpl2Plus;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/development/libraries/xine-lib/default.nix b/pkgs/development/libraries/xine-lib/default.nix
index 70fdf24dd9f..aab4542ac38 100644
--- a/pkgs/development/libraries/xine-lib/default.nix
+++ b/pkgs/development/libraries/xine-lib/default.nix
@@ -1,8 +1,10 @@
 { lib
 , stdenv
 , fetchurl
+, fetchpatch
 , aalib
 , alsa-lib
+, autoconf
 , ffmpeg
 , flac
 , libGL
@@ -33,7 +35,23 @@ stdenv.mkDerivation rec {
     sha256 = "sha256-71GyHRDdoQRfp9cRvZFxz9rwpaKHQjO88W/98o7AcAU=";
   };
 
+  patches = [
+    # Fix build with libcaca 0.99.beta20 ; remove for xine-lib 1.2.12
+    (fetchpatch {
+      name = "xine-lib-libcaca-0.99.beta20-fix.patch";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/010-xine-lib-libcaca-0.99.beta20-fix.patch";
+      sha256 = "088141x1yp84y09x3s01v21yzas2bwavxz9v30z5hyq6c3syrmgr";
+    })
+    # Fix build with ffmpeg 5.0 ; remove for xine-lib 1.2.12
+    (fetchpatch {
+      name = "xine-lib-ffmpeg-5.0-fix.patch";
+      url = "https://raw.githubusercontent.com/archlinux/svntogit-community/209ae10d59d29c13633b75aa327cf937f3ff0725/trunk/020-xine-lib-ffmpeg-5.0-fix.patch";
+      sha256 = "15ff15bqxq1nqqazfbmfq6swrdjr2raxyq7hx6k0r61izhf0g8ld";
+    })
+  ];
+
   nativeBuildInputs = [
+    autoconf
     pkg-config
     perl
   ];
@@ -71,7 +89,7 @@ stdenv.mkDerivation rec {
 
 
   meta = with lib; {
-    homepage = "http://www.xinehq.de/";
+    homepage = "http://xine.sourceforge.net/";
     description = "A high-performance, portable and reusable multimedia playback engine";
     license = with licenses; [ gpl2Plus lgpl2Plus ];
     maintainers = with maintainers; [ AndersonTorres ];
diff --git a/pkgs/development/libraries/zeitgeist/default.nix b/pkgs/development/libraries/zeitgeist/default.nix
index de1953622e9..d5e058ef726 100644
--- a/pkgs/development/libraries/zeitgeist/default.nix
+++ b/pkgs/development/libraries/zeitgeist/default.nix
@@ -1,6 +1,6 @@
-{ lib, stdenv
+{ stdenv
+, lib
 , fetchFromGitLab
-, fetchpatch
 , pkg-config
 , glib
 , sqlite
@@ -20,7 +20,7 @@
 
 stdenv.mkDerivation rec {
   pname = "zeitgeist";
-  version = "1.0.3";
+  version = "1.0.4";
 
   outputs = [ "out" "lib" "dev" "man" ] ++ lib.optional pythonSupport "py";
 
@@ -29,17 +29,9 @@ stdenv.mkDerivation rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "0y6fyzxl5np4yskcxibd0p03h619w9ir907nhf40h02y0pk1kgkp";
+    sha256 = "kG1N8DXgjYAJ8fbrGHsp7eTqB20H5smzRnW0PSRUYR0=";
   };
 
-  patches = [
-    # Fix build with Vala 0.52
-    (fetchpatch {
-      url = "https://gitlab.freedesktop.org/zeitgeist/zeitgeist/commit/64ac3a6f94cd299e5e14945dc31b48f009dec152.patch";
-      sha256 = "Dw1kNE3JoFdmgcQ0eFoFLYvmxlPjXNj56Jkn2meINz4=";
-    })
-  ];
-
   nativeBuildInputs = [
     autoconf
     automake
diff --git a/pkgs/development/libraries/zlib/default.nix b/pkgs/development/libraries/zlib/default.nix
index 8d7cb3a48c8..48603000c90 100644
--- a/pkgs/development/libraries/zlib/default.nix
+++ b/pkgs/development/libraries/zlib/default.nix
@@ -22,13 +22,13 @@ assert shared || static;
 assert splitStaticOutput -> static;
 
 stdenv.mkDerivation (rec {
-  name = "zlib-${version}";
+  pname = "zlib";
   version = "1.2.11";
 
   src = fetchurl {
     urls =
-      [ "https://www.zlib.net/fossils/${name}.tar.gz"  # stable archive path
-        "mirror://sourceforge/libpng/zlib/${version}/${name}.tar.gz"
+      [ "https://www.zlib.net/fossils/zlib-${version}.tar.gz"  # stable archive path
+        "mirror://sourceforge/libpng/zlib/${version}/zlib-${version}.tar.gz"
       ];
     sha256 = "c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1";
   };
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/mmap.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mmap.nix
new file mode 100644
index 00000000000..f5425cf549f
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/mmap.nix
@@ -0,0 +1,33 @@
+/* Generated file. */
+args @ { fetchurl, ... }:
+rec {
+  baseName = "mmap";
+  version = "20201220-git";
+
+  description = "Portable mmap (file memory mapping) utility library.";
+
+  deps = [ args."alexandria" args."babel" args."cffi" args."documentation-utils" args."trivial-features" args."trivial-indent" ];
+
+  src = fetchurl {
+    url = "http://beta.quicklisp.org/archive/mmap/2020-12-20/mmap-20201220-git.tgz";
+    sha256 = "147xw351xh90k3yvc1fn7k418afmgngd56i8a6d7p41fzs54g6ij";
+  };
+
+  packageName = "mmap";
+
+  asdFilesToKeep = ["mmap.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM mmap DESCRIPTION
+    Portable mmap (file memory mapping) utility library. SHA256
+    147xw351xh90k3yvc1fn7k418afmgngd56i8a6d7p41fzs54g6ij URL
+    http://beta.quicklisp.org/archive/mmap/2020-12-20/mmap-20201220-git.tgz MD5
+    e2dbeb48b59735bd2ed54ea7f9cdfe0f NAME mmap FILENAME mmap DEPS
+    ((NAME alexandria FILENAME alexandria) (NAME babel FILENAME babel)
+     (NAME cffi FILENAME cffi)
+     (NAME documentation-utils FILENAME documentation-utils)
+     (NAME trivial-features FILENAME trivial-features)
+     (NAME trivial-indent FILENAME trivial-indent))
+    DEPENDENCIES
+    (alexandria babel cffi documentation-utils trivial-features trivial-indent)
+    VERSION 20201220-git SIBLINGS (mmap-test) PARASITES NIL) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-output/slynk.nix b/pkgs/development/lisp-modules/quicklisp-to-nix-output/slynk.nix
new file mode 100644
index 00000000000..02b641043ec
--- /dev/null
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-output/slynk.nix
@@ -0,0 +1,30 @@
+/* Generated file. */
+args @ { fetchurl, ... }:
+rec {
+  baseName = "slynk";
+  version = "sly-20210411-git";
+
+  parasites = [ "slynk/arglists" "slynk/fancy-inspector" "slynk/indentation" "slynk/mrepl" "slynk/package-fu" "slynk/profiler" "slynk/retro" "slynk/stickers" "slynk/trace-dialog" ];
+
+  description = "System lacks description";
+
+  deps = [ ];
+
+  src = fetchurl {
+    url = "http://beta.quicklisp.org/archive/sly/2021-04-11/sly-20210411-git.tgz";
+    sha256 = "1a96aapsz3fhnnnb8njn8v2ddrh6kwisppd90cc7v8knh043xgks";
+  };
+
+  packageName = "slynk";
+
+  asdFilesToKeep = ["slynk.asd"];
+  overrides = x: x;
+}
+/* (SYSTEM slynk DESCRIPTION System lacks description SHA256
+    1a96aapsz3fhnnnb8njn8v2ddrh6kwisppd90cc7v8knh043xgks URL
+    http://beta.quicklisp.org/archive/sly/2021-04-11/sly-20210411-git.tgz MD5
+    7f0ff6b8a07d23599c77cd33c6d59ea6 NAME slynk FILENAME slynk DEPS NIL
+    DEPENDENCIES NIL VERSION sly-20210411-git SIBLINGS NIL PARASITES
+    (slynk/arglists slynk/fancy-inspector slynk/indentation slynk/mrepl
+     slynk/package-fu slynk/profiler slynk/retro slynk/stickers
+     slynk/trace-dialog)) */
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt b/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
index 4eb9be0b972..d723903c0ee 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix-systems.txt
@@ -178,6 +178,7 @@ mgl-pax
 minheap
 misc-extensions
 mk-string-metrics
+mmap
 moptilities
 more-conditions
 mt19937
@@ -207,6 +208,7 @@ salza2
 serapeum
 simple-date
 simple-date-time
+slynk
 smart-buffer
 smug
 spinneret
diff --git a/pkgs/development/lisp-modules/quicklisp-to-nix.nix b/pkgs/development/lisp-modules/quicklisp-to-nix.nix
index 60338d0ea09..a43351b1aff 100644
--- a/pkgs/development/lisp-modules/quicklisp-to-nix.nix
+++ b/pkgs/development/lisp-modules/quicklisp-to-nix.nix
@@ -2338,6 +2338,14 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "slynk" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."slynk" or (x: {}))
+       (import ./quicklisp-to-nix-output/slynk.nix {
+         inherit fetchurl;
+       }));
+
+
   "simple-date-time" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."simple-date-time" or (x: {}))
@@ -2702,6 +2710,20 @@ let quicklisp-to-nix-packages = rec {
        }));
 
 
+  "mmap" = buildLispPackage
+    ((f: x: (x // (f x)))
+       (qlOverrides."mmap" or (x: {}))
+       (import ./quicklisp-to-nix-output/mmap.nix {
+         inherit fetchurl;
+           "alexandria" = quicklisp-to-nix-packages."alexandria";
+           "babel" = quicklisp-to-nix-packages."babel";
+           "cffi" = quicklisp-to-nix-packages."cffi";
+           "documentation-utils" = quicklisp-to-nix-packages."documentation-utils";
+           "trivial-features" = quicklisp-to-nix-packages."trivial-features";
+           "trivial-indent" = quicklisp-to-nix-packages."trivial-indent";
+       }));
+
+
   "mk-string-metrics" = buildLispPackage
     ((f: x: (x // (f x)))
        (qlOverrides."mk-string-metrics" or (x: {}))
diff --git a/pkgs/development/misc/google-clasp/README.md b/pkgs/development/misc/google-clasp/README.md
deleted file mode 100644
index 9adf2255380..00000000000
--- a/pkgs/development/misc/google-clasp/README.md
+++ /dev/null
@@ -1,6 +0,0 @@
-## How to update
-
-1. bump version of `@google/clasp` in [node-packages.json](./node-packages.json)
-2. run [generate.sh](./generate.sh)
-3. set the same version in [default.nix](./default.nix)
-4. build and test it
diff --git a/pkgs/development/misc/google-clasp/default.nix b/pkgs/development/misc/google-clasp/default.nix
deleted file mode 100644
index 12598e9fd86..00000000000
--- a/pkgs/development/misc/google-clasp/default.nix
+++ /dev/null
@@ -1,19 +0,0 @@
-{ lib, stdenv, pkgs }:
-let
-  version = "2.2.1";
-in
-(import ./google-clasp.nix {
-  inherit pkgs;
-  inherit (stdenv.hostPlatform) system;
-})."@google/clasp-${version}".override {
-  preRebuild = ''
-    patch -p1 <<<"${builtins.readFile ./dotf.patch}"
-  '';
-  meta = {
-    description = "Command Line tool for Google Apps Script Projects";
-    homepage = "https://developers.google.com/apps-script/guides/clasp";
-    license = lib.licenses.asl20;
-    maintainers = [ lib.maintainers.michojel ];
-    priority = 100;
-  };
-}
diff --git a/pkgs/development/misc/google-clasp/dotf.patch b/pkgs/development/misc/google-clasp/dotf.patch
deleted file mode 100644
index 0d59cae6125..00000000000
--- a/pkgs/development/misc/google-clasp/dotf.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Index: nodejs/tmp/xcindf87mmqyp0x5blima5q2m9fw3dx3-node__at_google_slash_clasp-2.2.1/lib/node_modules/@google/clasp/src/dotfile.js
-===================================================================
---- clasp.orig/src/dotfile.js
-+++ clasp/src/dotfile.js
-@@ -94,7 +94,7 @@ exports.DOTFILE = {
-         return dotf(projectPath ? path_1.default.dirname(projectPath) : exports.DOT.PROJECT.DIR, exports.DOT.PROJECT.NAME);
-     },
-     // Stores {ClaspCredentials}
--    RC: dotf(exports.DOT.RC.DIR, exports.DOT.RC.NAME),
-+    RC: dotf.default(exports.DOT.RC.DIR, exports.DOT.RC.NAME),
-     // Stores {ClaspCredentials}
-     RC_LOCAL: function () {
-         var localPath = find_up_1.default.sync(exports.DOT.PROJECT.PATH);
diff --git a/pkgs/development/misc/google-clasp/generate.sh b/pkgs/development/misc/google-clasp/generate.sh
deleted file mode 100755
index 4e04231e2b8..00000000000
--- a/pkgs/development/misc/google-clasp/generate.sh
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/usr/bin/env nix-shell
-#! nix-shell -i bash -p nodePackages.node2nix
-
-set -eu -o pipefail
-
-exec node2nix --nodejs-10 \
-    -i node-packages.json -o node-packages.nix \
-    -c google-clasp.nix \
-     --no-copy-node-env -e ../../../development/node-packages/node-env.nix
diff --git a/pkgs/development/misc/google-clasp/google-clasp.nix b/pkgs/development/misc/google-clasp/google-clasp.nix
deleted file mode 100644
index 6bb4ea8fbd6..00000000000
--- a/pkgs/development/misc/google-clasp/google-clasp.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
-
-{pkgs ? import <nixpkgs> {
-    inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-10_x"}:
-
-let
-  nodeEnv = import ../../node-packages/node-env.nix {
-    inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
-    inherit pkgs nodejs;
-    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
-  };
-in
-import ./node-packages.nix {
-  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
-  inherit nodeEnv;
-}
diff --git a/pkgs/development/misc/google-clasp/node-packages.json b/pkgs/development/misc/google-clasp/node-packages.json
deleted file mode 100644
index b868571d051..00000000000
--- a/pkgs/development/misc/google-clasp/node-packages.json
+++ /dev/null
@@ -1,3 +0,0 @@
-[
-  {"@google/clasp": "2.2.1"}
-]
diff --git a/pkgs/development/misc/google-clasp/node-packages.nix b/pkgs/development/misc/google-clasp/node-packages.nix
deleted file mode 100644
index c8a611ff160..00000000000
--- a/pkgs/development/misc/google-clasp/node-packages.nix
+++ /dev/null
@@ -1,2115 +0,0 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "@nodelib/fs.scandir-2.1.4" = {
-      name = "_at_nodelib_slash_fs.scandir";
-      packageName = "@nodelib/fs.scandir";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.4.tgz";
-        sha512 = "33g3pMJk3bg5nXbL/+CY6I2eJDzZAni49PfJnL5fghPTggPvBd/pFNSgJsdAgWptuFu7qq/ERvOYFlhvsLTCKA==";
-      };
-    };
-    "@nodelib/fs.stat-2.0.4" = {
-      name = "_at_nodelib_slash_fs.stat";
-      packageName = "@nodelib/fs.stat";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.4.tgz";
-        sha512 = "IYlHJA0clt2+Vg7bccq+TzRdJvv19c2INqBSsoOLp1je7xjtr7J26+WXR72MCdvU9q1qTzIWDfhMf+DRvQJK4Q==";
-      };
-    };
-    "@nodelib/fs.walk-1.2.6" = {
-      name = "_at_nodelib_slash_fs.walk";
-      packageName = "@nodelib/fs.walk";
-      version = "1.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.6.tgz";
-        sha512 = "8Broas6vTtW4GIXTAHDoE32hnN2M5ykgCpWGbuXHQ15vEMqr23pB76e/GZcYsZCHALv50ktd24qhEyKr6wBtow==";
-      };
-    };
-    "@sindresorhus/is-0.14.0" = {
-      name = "_at_sindresorhus_slash_is";
-      packageName = "@sindresorhus/is";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-0.14.0.tgz";
-        sha512 = "9NET910DNaIPngYnLLPeg+Ogzqsi9uM4mSboU5y6p8S5DzMTVEsJZrawi+BoDNUVBa2DhJqQYUFvMDfgU062LQ==";
-      };
-    };
-    "@szmarczak/http-timer-1.1.2" = {
-      name = "_at_szmarczak_slash_http-timer";
-      packageName = "@szmarczak/http-timer";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@szmarczak/http-timer/-/http-timer-1.1.2.tgz";
-        sha512 = "XIB2XbzHTN6ieIjfIMV9hlVcfPU26s2vafYWQcZHWXHOxiaRZYEDKEwdl129Zyg50+foYV2jCgtrqSA6qNuNSA==";
-      };
-    };
-    "@types/glob-7.1.3" = {
-      name = "_at_types_slash_glob";
-      packageName = "@types/glob";
-      version = "7.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz";
-        sha512 = "SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==";
-      };
-    };
-    "@types/minimatch-3.0.3" = {
-      name = "_at_types_slash_minimatch";
-      packageName = "@types/minimatch";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz";
-        sha512 = "tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==";
-      };
-    };
-    "@types/node-14.14.22" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "14.14.22";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.14.22.tgz";
-        sha512 = "g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==";
-      };
-    };
-    "abort-controller-3.0.0" = {
-      name = "abort-controller";
-      packageName = "abort-controller";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz";
-        sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
-      };
-    };
-    "agent-base-6.0.2" = {
-      name = "agent-base";
-      packageName = "agent-base";
-      version = "6.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz";
-        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
-      };
-    };
-    "aggregate-error-3.1.0" = {
-      name = "aggregate-error";
-      packageName = "aggregate-error";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz";
-        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
-      };
-    };
-    "ansi-escapes-3.2.0" = {
-      name = "ansi-escapes";
-      packageName = "ansi-escapes";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-3.2.0.tgz";
-        sha512 = "cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==";
-      };
-    };
-    "ansi-regex-3.0.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
-      };
-    };
-    "ansi-regex-4.1.0" = {
-      name = "ansi-regex";
-      packageName = "ansi-regex";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz";
-        sha512 = "1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==";
-      };
-    };
-    "ansi-styles-3.2.1" = {
-      name = "ansi-styles";
-      packageName = "ansi-styles";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
-      };
-    };
-    "array-differ-3.0.0" = {
-      name = "array-differ";
-      packageName = "array-differ";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz";
-        sha512 = "THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==";
-      };
-    };
-    "array-union-2.1.0" = {
-      name = "array-union";
-      packageName = "array-union";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz";
-        sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
-      };
-    };
-    "arrify-2.0.1" = {
-      name = "arrify";
-      packageName = "arrify";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz";
-        sha512 = "3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==";
-      };
-    };
-    "balanced-match-1.0.0" = {
-      name = "balanced-match";
-      packageName = "balanced-match";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz";
-        sha1 = "89b4d199ab2bee49de164ea02b89ce462d71b767";
-      };
-    };
-    "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==";
-      };
-    };
-    "bignumber.js-9.0.1" = {
-      name = "bignumber.js";
-      packageName = "bignumber.js";
-      version = "9.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz";
-        sha512 = "IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==";
-      };
-    };
-    "brace-expansion-1.1.11" = {
-      name = "brace-expansion";
-      packageName = "brace-expansion";
-      version = "1.1.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
-      };
-    };
-    "braces-3.0.2" = {
-      name = "braces";
-      packageName = "braces";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz";
-        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
-      };
-    };
-    "buffer-equal-constant-time-1.0.1" = {
-      name = "buffer-equal-constant-time";
-      packageName = "buffer-equal-constant-time";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz";
-        sha1 = "f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819";
-      };
-    };
-    "cacheable-request-6.1.0" = {
-      name = "cacheable-request";
-      packageName = "cacheable-request";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cacheable-request/-/cacheable-request-6.1.0.tgz";
-        sha512 = "Oj3cAGPCqOZX7Rz64Uny2GYAZNliQSqfbePrgAQ1wKAihYmCUnraBtJtKcGR4xz7wF+LoJC+ssFZvv5BgF9Igg==";
-      };
-    };
-    "call-bind-1.0.2" = {
-      name = "call-bind";
-      packageName = "call-bind";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz";
-        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
-      };
-    };
-    "chalk-2.4.2" = {
-      name = "chalk";
-      packageName = "chalk";
-      version = "2.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz";
-        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
-      };
-    };
-    "chardet-0.7.0" = {
-      name = "chardet";
-      packageName = "chardet";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz";
-        sha512 = "mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==";
-      };
-    };
-    "clean-stack-2.2.0" = {
-      name = "clean-stack";
-      packageName = "clean-stack";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz";
-        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
-      };
-    };
-    "cli-cursor-2.1.0" = {
-      name = "cli-cursor";
-      packageName = "cli-cursor";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-cursor/-/cli-cursor-2.1.0.tgz";
-        sha1 = "b35dac376479facc3e94747d41d0d0f5238ffcb5";
-      };
-    };
-    "cli-spinner-0.2.10" = {
-      name = "cli-spinner";
-      packageName = "cli-spinner";
-      version = "0.2.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-spinner/-/cli-spinner-0.2.10.tgz";
-        sha512 = "U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==";
-      };
-    };
-    "cli-width-2.2.1" = {
-      name = "cli-width";
-      packageName = "cli-width";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz";
-        sha512 = "GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==";
-      };
-    };
-    "clone-response-1.0.2" = {
-      name = "clone-response";
-      packageName = "clone-response";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/clone-response/-/clone-response-1.0.2.tgz";
-        sha1 = "d1dc973920314df67fbeb94223b4ee350239e96b";
-      };
-    };
-    "color-convert-1.9.3" = {
-      name = "color-convert";
-      packageName = "color-convert";
-      version = "1.9.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz";
-        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
-      };
-    };
-    "color-name-1.1.3" = {
-      name = "color-name";
-      packageName = "color-name";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
-      };
-    };
-    "commander-2.20.3" = {
-      name = "commander";
-      packageName = "commander";
-      version = "2.20.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz";
-        sha512 = "GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==";
-      };
-    };
-    "concat-map-0.0.1" = {
-      name = "concat-map";
-      packageName = "concat-map";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
-      };
-    };
-    "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==";
-      };
-    };
-    "decompress-response-3.3.0" = {
-      name = "decompress-response";
-      packageName = "decompress-response";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/decompress-response/-/decompress-response-3.3.0.tgz";
-        sha1 = "80a4dd323748384bfa248083622aedec982adff3";
-      };
-    };
-    "defer-to-connect-1.1.3" = {
-      name = "defer-to-connect";
-      packageName = "defer-to-connect";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/defer-to-connect/-/defer-to-connect-1.1.3.tgz";
-        sha512 = "0ISdNousHvZT2EiFlZeZAHBUvSxmKswVCEf8hW7KWgG4a8MVEu/3Vb6uWYozkjylyCxe0JBIiRB1jV45S70WVQ==";
-      };
-    };
-    "define-properties-1.1.3" = {
-      name = "define-properties";
-      packageName = "define-properties";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz";
-        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
-      };
-    };
-    "del-5.1.0" = {
-      name = "del";
-      packageName = "del";
-      version = "5.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/del/-/del-5.1.0.tgz";
-        sha512 = "wH9xOVHnczo9jN2IW68BabcecVPxacIA3g/7z6vhSU/4stOKQzeCRK0yD0A24WiAAUJmmVpWqrERcTxnLo3AnA==";
-      };
-    };
-    "dir-glob-3.0.1" = {
-      name = "dir-glob";
-      packageName = "dir-glob";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz";
-        sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
-      };
-    };
-    "dns-packet-5.2.1" = {
-      name = "dns-packet";
-      packageName = "dns-packet";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-packet/-/dns-packet-5.2.1.tgz";
-        sha512 = "JHj2yJeKOqlxzeuYpN1d56GfhzivAxavNwHj9co3qptECel27B1rLY5PifJAvubsInX5pGLDjAHuCfCUc2Zv/w==";
-      };
-    };
-    "dns-socket-4.2.1" = {
-      name = "dns-socket";
-      packageName = "dns-socket";
-      version = "4.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dns-socket/-/dns-socket-4.2.1.tgz";
-        sha512 = "fNvDq86lS522+zMbh31X8cQzYQd6xumCNlxsuZF5TKxQThF/e+rJbVM6K8mmlsdcSm6yNjKJQq3Sf38viAJj8g==";
-      };
-    };
-    "dotf-1.5.3" = {
-      name = "dotf";
-      packageName = "dotf";
-      version = "1.5.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dotf/-/dotf-1.5.3.tgz";
-        sha512 = "hYztBLJ6AoY0GO5qNDy+MH8lNZavrAkVqrfvv9sQSImDo553JRLRjMre11EW4ZPRg8Y4Uha7qwqiMJQDVXxVqg==";
-      };
-    };
-    "duplexer3-0.1.4" = {
-      name = "duplexer3";
-      packageName = "duplexer3";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/duplexer3/-/duplexer3-0.1.4.tgz";
-        sha1 = "ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2";
-      };
-    };
-    "ecdsa-sig-formatter-1.0.11" = {
-      name = "ecdsa-sig-formatter";
-      packageName = "ecdsa-sig-formatter";
-      version = "1.0.11";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz";
-        sha512 = "nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==";
-      };
-    };
-    "ellipsize-0.1.0" = {
-      name = "ellipsize";
-      packageName = "ellipsize";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ellipsize/-/ellipsize-0.1.0.tgz";
-        sha1 = "9d43682d44b91ad16ebd84268ac103170a6553f8";
-      };
-    };
-    "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==";
-      };
-    };
-    "es-abstract-1.18.0-next.2" = {
-      name = "es-abstract";
-      packageName = "es-abstract";
-      version = "1.18.0-next.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz";
-        sha512 = "Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==";
-      };
-    };
-    "es-to-primitive-1.2.1" = {
-      name = "es-to-primitive";
-      packageName = "es-to-primitive";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
-      };
-    };
-    "escape-string-regexp-1.0.5" = {
-      name = "escape-string-regexp";
-      packageName = "escape-string-regexp";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
-      };
-    };
-    "event-target-shim-5.0.1" = {
-      name = "event-target-shim";
-      packageName = "event-target-shim";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz";
-        sha512 = "i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==";
-      };
-    };
-    "exec-sh-0.2.2" = {
-      name = "exec-sh";
-      packageName = "exec-sh";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz";
-        sha512 = "FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==";
-      };
-    };
-    "extend-3.0.2" = {
-      name = "extend";
-      packageName = "extend";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz";
-        sha512 = "fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==";
-      };
-    };
-    "external-editor-3.1.0" = {
-      name = "external-editor";
-      packageName = "external-editor";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz";
-        sha512 = "hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==";
-      };
-    };
-    "fast-glob-3.2.5" = {
-      name = "fast-glob";
-      packageName = "fast-glob";
-      version = "3.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.5.tgz";
-        sha512 = "2DtFcgT68wiTTiwZ2hNdJfcHNke9XOfnwmBRWXhmeKM8rF0TGwmC/Qto3S7RoZKp5cilZbxzO5iTNTQsJ+EeDg==";
-      };
-    };
-    "fast-text-encoding-1.0.3" = {
-      name = "fast-text-encoding";
-      packageName = "fast-text-encoding";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz";
-        sha512 = "dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==";
-      };
-    };
-    "fastq-1.10.1" = {
-      name = "fastq";
-      packageName = "fastq";
-      version = "1.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fastq/-/fastq-1.10.1.tgz";
-        sha512 = "AWuv6Ery3pM+dY7LYS8YIaCiQvUaos9OB1RyNgaOWnaX+Tik7Onvcsf8x8c+YtDeT0maYLniBip2hox5KtEXXA==";
-      };
-    };
-    "figures-2.0.0" = {
-      name = "figures";
-      packageName = "figures";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/figures/-/figures-2.0.0.tgz";
-        sha1 = "3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962";
-      };
-    };
-    "fill-range-7.0.1" = {
-      name = "fill-range";
-      packageName = "fill-range";
-      version = "7.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz";
-        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
-      };
-    };
-    "find-up-4.1.0" = {
-      name = "find-up";
-      packageName = "find-up";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz";
-        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
-      };
-    };
-    "fs-extra-8.1.0" = {
-      name = "fs-extra";
-      packageName = "fs-extra";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz";
-        sha512 = "yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==";
-      };
-    };
-    "fs.realpath-1.0.0" = {
-      name = "fs.realpath";
-      packageName = "fs.realpath";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz";
-        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
-      };
-    };
-    "function-bind-1.1.1" = {
-      name = "function-bind";
-      packageName = "function-bind";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz";
-        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
-      };
-    };
-    "fuzzy-0.1.3" = {
-      name = "fuzzy";
-      packageName = "fuzzy";
-      version = "0.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz";
-        sha1 = "4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8";
-      };
-    };
-    "gaxios-2.3.4" = {
-      name = "gaxios";
-      packageName = "gaxios";
-      version = "2.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gaxios/-/gaxios-2.3.4.tgz";
-        sha512 = "US8UMj8C5pRnao3Zykc4AAVr+cffoNKRTg9Rsf2GiuZCW69vgJj38VK2PzlPuQU73FZ/nTk9/Av6/JGcE1N9vA==";
-      };
-    };
-    "gcp-metadata-2.0.4" = {
-      name = "gcp-metadata";
-      packageName = "gcp-metadata";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-2.0.4.tgz";
-        sha512 = "p1lXhJvcKvJHWfQXhkd4Za1kyXRsGZA0JH7Cjs07W9hrg84d/j5tqQhbGewlSLx9gNyuQUid69uLux48YbggLg==";
-      };
-    };
-    "get-intrinsic-1.1.0" = {
-      name = "get-intrinsic";
-      packageName = "get-intrinsic";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.0.tgz";
-        sha512 = "M11rgtQp5GZMZzDL7jLTNxbDfurpzuau5uqRWDPvlHjfvg3TdScAZo96GLvhMjImrmR8uAt0FS2RLoMrfWGKlg==";
-      };
-    };
-    "get-stream-4.1.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz";
-        sha512 = "GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==";
-      };
-    };
-    "get-stream-5.2.0" = {
-      name = "get-stream";
-      packageName = "get-stream";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/get-stream/-/get-stream-5.2.0.tgz";
-        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
-      };
-    };
-    "glob-7.1.6" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz";
-        sha512 = "LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==";
-      };
-    };
-    "glob-parent-5.1.1" = {
-      name = "glob-parent";
-      packageName = "glob-parent";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz";
-        sha512 = "FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==";
-      };
-    };
-    "globby-10.0.2" = {
-      name = "globby";
-      packageName = "globby";
-      version = "10.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz";
-        sha512 = "7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==";
-      };
-    };
-    "google-auth-library-4.2.6" = {
-      name = "google-auth-library";
-      packageName = "google-auth-library";
-      version = "4.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-4.2.6.tgz";
-        sha512 = "oJ6tCA9rbsYeIVY+mcLPFHa2hatz3XO6idYIrlI/KhhlMxZrO3tKyU8O2Pxu5KnSBBP7Wj4HtbM1LLKngNFaFw==";
-      };
-    };
-    "google-p12-pem-2.0.4" = {
-      name = "google-p12-pem";
-      packageName = "google-p12-pem";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-2.0.4.tgz";
-        sha512 = "S4blHBQWZRnEW44OcR7TL9WR+QCqByRvhNDZ/uuQfpxywfupikf/miba8js1jZi6ZOGv5slgSuoshCWh6EMDzg==";
-      };
-    };
-    "googleapis-40.0.1" = {
-      name = "googleapis";
-      packageName = "googleapis";
-      version = "40.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/googleapis/-/googleapis-40.0.1.tgz";
-        sha512 = "B6qZVCautOOspEhru9GZ814I+ztkGWyA4ZEUfaXwXHBruX/HAWqedbsuUEx1w3nCECywK/FLTNUdcbH9zpaMaw==";
-      };
-    };
-    "googleapis-common-2.0.4" = {
-      name = "googleapis-common";
-      packageName = "googleapis-common";
-      version = "2.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/googleapis-common/-/googleapis-common-2.0.4.tgz";
-        sha512 = "8RRkxr24v1jIKCC1onFWA8RGnwFV55m3Qpil9DLX1yLc9e5qvOJsRoDOhhD2e7jFRONYEhT/BzT8vJZANqSr9w==";
-      };
-    };
-    "got-9.6.0" = {
-      name = "got";
-      packageName = "got";
-      version = "9.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/got/-/got-9.6.0.tgz";
-        sha512 = "R7eWptXuGYxwijs0eV+v3o6+XH1IqVK8dJOEecQfTmkncw9AV4dcw/Dhxi8MdlqPthxxpZyizMzyg8RTmEsG+Q==";
-      };
-    };
-    "graceful-fs-4.2.4" = {
-      name = "graceful-fs";
-      packageName = "graceful-fs";
-      version = "4.2.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz";
-        sha512 = "WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==";
-      };
-    };
-    "gtoken-3.0.2" = {
-      name = "gtoken";
-      packageName = "gtoken";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gtoken/-/gtoken-3.0.2.tgz";
-        sha512 = "BOBi6Zz31JfxhSHRZBIDdbwIbOPyux10WxJHdx8wz/FMP1zyN1xFrsAWsgcLe5ww5v/OZu/MePUEZAjgJXSauA==";
-      };
-    };
-    "has-1.0.3" = {
-      name = "has";
-      packageName = "has";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has/-/has-1.0.3.tgz";
-        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
-      };
-    };
-    "has-flag-3.0.0" = {
-      name = "has-flag";
-      packageName = "has-flag";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
-      };
-    };
-    "has-symbols-1.0.1" = {
-      name = "has-symbols";
-      packageName = "has-symbols";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz";
-        sha512 = "PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==";
-      };
-    };
-    "http-cache-semantics-4.1.0" = {
-      name = "http-cache-semantics";
-      packageName = "http-cache-semantics";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz";
-        sha512 = "carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ==";
-      };
-    };
-    "https-proxy-agent-5.0.0" = {
-      name = "https-proxy-agent";
-      packageName = "https-proxy-agent";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
-      };
-    };
-    "iconv-lite-0.4.24" = {
-      name = "iconv-lite";
-      packageName = "iconv-lite";
-      version = "0.4.24";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
-      };
-    };
-    "ignore-5.1.8" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "5.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz";
-        sha512 = "BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==";
-      };
-    };
-    "indent-string-4.0.0" = {
-      name = "indent-string";
-      packageName = "indent-string";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz";
-        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
-      };
-    };
-    "inflight-1.0.6" = {
-      name = "inflight";
-      packageName = "inflight";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz";
-        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
-      };
-    };
-    "inherits-2.0.3" = {
-      name = "inherits";
-      packageName = "inherits";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
-      };
-    };
-    "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==";
-      };
-    };
-    "inquirer-6.5.2" = {
-      name = "inquirer";
-      packageName = "inquirer";
-      version = "6.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer/-/inquirer-6.5.2.tgz";
-        sha512 = "cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==";
-      };
-    };
-    "inquirer-autocomplete-prompt-1.0.1" = {
-      name = "inquirer-autocomplete-prompt";
-      packageName = "inquirer-autocomplete-prompt";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/inquirer-autocomplete-prompt/-/inquirer-autocomplete-prompt-1.0.1.tgz";
-        sha512 = "Y4V6ifAu9LNrNjcEtYq8YUKhrgmmufUn5fsDQqeWgHY8rEO6ZAQkNUiZtBm2kw2uUQlC9HdgrRCHDhTPPguH5A==";
-      };
-    };
-    "ip-1.1.5" = {
-      name = "ip";
-      packageName = "ip";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz";
-        sha1 = "bdded70114290828c0a039e72ef25f5aaec4354a";
-      };
-    };
-    "ip-regex-4.3.0" = {
-      name = "ip-regex";
-      packageName = "ip-regex";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ip-regex/-/ip-regex-4.3.0.tgz";
-        sha512 = "B9ZWJxHHOHUhUjCPrMpLD4xEq35bUTClHM1S6CBU5ixQnkZmwipwgc96vAd7AAGM9TGHvJR+Uss+/Ak6UphK+Q==";
-      };
-    };
-    "is-callable-1.2.3" = {
-      name = "is-callable";
-      packageName = "is-callable";
-      version = "1.2.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-callable/-/is-callable-1.2.3.tgz";
-        sha512 = "J1DcMe8UYTBSrKezuIUTUwjXsho29693unXM2YhJUTR2txK/eG47bvNa/wipPFmZFgr/N6f1GA66dv0mEyTIyQ==";
-      };
-    };
-    "is-date-object-1.0.2" = {
-      name = "is-date-object";
-      packageName = "is-date-object";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz";
-        sha512 = "USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==";
-      };
-    };
-    "is-extglob-2.1.1" = {
-      name = "is-extglob";
-      packageName = "is-extglob";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz";
-        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
-      };
-    };
-    "is-fullwidth-code-point-2.0.0" = {
-      name = "is-fullwidth-code-point";
-      packageName = "is-fullwidth-code-point";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
-        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
-      };
-    };
-    "is-glob-4.0.1" = {
-      name = "is-glob";
-      packageName = "is-glob";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz";
-        sha512 = "5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==";
-      };
-    };
-    "is-ip-3.1.0" = {
-      name = "is-ip";
-      packageName = "is-ip";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-ip/-/is-ip-3.1.0.tgz";
-        sha512 = "35vd5necO7IitFPjd/YBeqwWnyDWbuLH9ZXQdMfDA8TEo7pv5X8yfrvVO3xbJbLUlERCMvf6X0hTUamQxCYJ9Q==";
-      };
-    };
-    "is-negative-zero-2.0.1" = {
-      name = "is-negative-zero";
-      packageName = "is-negative-zero";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz";
-        sha512 = "2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==";
-      };
-    };
-    "is-number-7.0.0" = {
-      name = "is-number";
-      packageName = "is-number";
-      version = "7.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz";
-        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
-      };
-    };
-    "is-online-8.5.1" = {
-      name = "is-online";
-      packageName = "is-online";
-      version = "8.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-online/-/is-online-8.5.1.tgz";
-        sha512 = "RKyTQx/rJqw2QOXHwy7TmXdlkpe0Hhj7GBsr6TQJaj4ebNOfameZCMspU5vYbwBBzJ2brWArdSvNVox6T6oCTQ==";
-      };
-    };
-    "is-path-cwd-2.2.0" = {
-      name = "is-path-cwd";
-      packageName = "is-path-cwd";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz";
-        sha512 = "w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==";
-      };
-    };
-    "is-path-inside-3.0.2" = {
-      name = "is-path-inside";
-      packageName = "is-path-inside";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.2.tgz";
-        sha512 = "/2UGPSgmtqwo1ktx8NDHjuPwZWmHhO+gj0f93EkhLB5RgW9RZevWYYlIkS6zePc6U2WpOdQYIwHe9YC4DWEBVg==";
-      };
-    };
-    "is-regex-1.1.2" = {
-      name = "is-regex";
-      packageName = "is-regex";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-regex/-/is-regex-1.1.2.tgz";
-        sha512 = "axvdhb5pdhEVThqJzYXwMlVuZwC+FF2DpcOhTS+y/8jVq4trxyPgfcwIxIKiyeuLlSQYKkmUaPQJ8ZE4yNKXDg==";
-      };
-    };
-    "is-stream-2.0.0" = {
-      name = "is-stream";
-      packageName = "is-stream";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz";
-        sha512 = "XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==";
-      };
-    };
-    "is-symbol-1.0.3" = {
-      name = "is-symbol";
-      packageName = "is-symbol";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz";
-        sha512 = "OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==";
-      };
-    };
-    "is-wsl-1.1.0" = {
-      name = "is-wsl";
-      packageName = "is-wsl";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz";
-        sha1 = "1f16e4aa22b04d1336b66188a66af3c600c3a66d";
-      };
-    };
-    "json-bigint-0.3.1" = {
-      name = "json-bigint";
-      packageName = "json-bigint";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-bigint/-/json-bigint-0.3.1.tgz";
-        sha512 = "DGWnSzmusIreWlEupsUelHrhwmPPE+FiQvg+drKfk2p+bdEYa5mp4PJ8JsCWqae0M2jQNb0HPvnwvf1qOTThzQ==";
-      };
-    };
-    "json-buffer-3.0.0" = {
-      name = "json-buffer";
-      packageName = "json-buffer";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.0.tgz";
-        sha1 = "5b1f397afc75d677bde8bcfc0e47e1f9a3d9a898";
-      };
-    };
-    "jsonfile-4.0.0" = {
-      name = "jsonfile";
-      packageName = "jsonfile";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz";
-        sha1 = "8771aae0799b64076b76640fca058f9c10e33ecb";
-      };
-    };
-    "jsonfile-6.1.0" = {
-      name = "jsonfile";
-      packageName = "jsonfile";
-      version = "6.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz";
-        sha512 = "5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==";
-      };
-    };
-    "jwa-1.4.1" = {
-      name = "jwa";
-      packageName = "jwa";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz";
-        sha512 = "qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==";
-      };
-    };
-    "jws-3.2.2" = {
-      name = "jws";
-      packageName = "jws";
-      version = "3.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz";
-        sha512 = "YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==";
-      };
-    };
-    "keyv-3.1.0" = {
-      name = "keyv";
-      packageName = "keyv";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz";
-        sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
-      };
-    };
-    "locate-path-5.0.0" = {
-      name = "locate-path";
-      packageName = "locate-path";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz";
-        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
-      };
-    };
-    "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==";
-      };
-    };
-    "lowercase-keys-1.0.1" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-1.0.1.tgz";
-        sha512 = "G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA==";
-      };
-    };
-    "lowercase-keys-2.0.0" = {
-      name = "lowercase-keys";
-      packageName = "lowercase-keys";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lowercase-keys/-/lowercase-keys-2.0.0.tgz";
-        sha512 = "tqNXrS78oMOE73NMxK4EMLQsQowWf8jKooH9g7xPavRT706R6bkQJ6DY2Te7QukaZsulxa30wQ7bk0pm4XiHmA==";
-      };
-    };
-    "lru-cache-5.1.1" = {
-      name = "lru-cache";
-      packageName = "lru-cache";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz";
-        sha512 = "KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==";
-      };
-    };
-    "merge-1.2.1" = {
-      name = "merge";
-      packageName = "merge";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz";
-        sha512 = "VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==";
-      };
-    };
-    "merge2-1.4.1" = {
-      name = "merge2";
-      packageName = "merge2";
-      version = "1.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz";
-        sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
-      };
-    };
-    "micromatch-4.0.2" = {
-      name = "micromatch";
-      packageName = "micromatch";
-      version = "4.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz";
-        sha512 = "y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==";
-      };
-    };
-    "mime-2.5.0" = {
-      name = "mime";
-      packageName = "mime";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.5.0.tgz";
-        sha512 = "ft3WayFSFUVBuJj7BMLKAQcSlItKtfjsKDDsii3rqFDAZ7t11zRe8ASw/GlmivGwVUYtwkQrxiGGpL6gFvB0ag==";
-      };
-    };
-    "mimic-fn-1.2.0" = {
-      name = "mimic-fn";
-      packageName = "mimic-fn";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-fn/-/mimic-fn-1.2.0.tgz";
-        sha512 = "jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==";
-      };
-    };
-    "mimic-response-1.0.1" = {
-      name = "mimic-response";
-      packageName = "mimic-response";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mimic-response/-/mimic-response-1.0.1.tgz";
-        sha512 = "j5EctnkH7amfV/q5Hgmoal1g2QHFJRraOtmx0JpIqkxhBhI/lJSl1nMpQ45hVarwNETOoWEimndZ4QK0RHxuxQ==";
-      };
-    };
-    "minimatch-3.0.4" = {
-      name = "minimatch";
-      packageName = "minimatch";
-      version = "3.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
-      };
-    };
-    "minimist-1.2.5" = {
-      name = "minimist";
-      packageName = "minimist";
-      version = "1.2.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz";
-        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
-      };
-    };
-    "mkdirp-0.5.5" = {
-      name = "mkdirp";
-      packageName = "mkdirp";
-      version = "0.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha512 = "NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==";
-      };
-    };
-    "ms-2.1.2" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz";
-        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
-      };
-    };
-    "multimatch-4.0.0" = {
-      name = "multimatch";
-      packageName = "multimatch";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multimatch/-/multimatch-4.0.0.tgz";
-        sha512 = "lDmx79y1z6i7RNx0ZGCPq1bzJ6ZoDDKbvh7jxr9SJcWLkShMzXrHbYVpTdnhNM5MXpDUxCQ4DgqVttVXlBgiBQ==";
-      };
-    };
-    "mute-stream-0.0.7" = {
-      name = "mute-stream";
-      packageName = "mute-stream";
-      version = "0.0.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.7.tgz";
-        sha1 = "3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab";
-      };
-    };
-    "node-fetch-2.6.1" = {
-      name = "node-fetch";
-      packageName = "node-fetch";
-      version = "2.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz";
-        sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
-      };
-    };
-    "node-forge-0.9.2" = {
-      name = "node-forge";
-      packageName = "node-forge";
-      version = "0.9.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-forge/-/node-forge-0.9.2.tgz";
-        sha512 = "naKSScof4Wn+aoHU6HBsifh92Zeicm1GDQKd1vp3Y/kOi8ub0DozCa9KpvYNCXslFHYRmLNiqRopGdTGwNLpNw==";
-      };
-    };
-    "normalize-url-4.5.0" = {
-      name = "normalize-url";
-      packageName = "normalize-url";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/normalize-url/-/normalize-url-4.5.0.tgz";
-        sha512 = "2s47yzUxdexf1OhyRi4Em83iQk0aPvwTddtFz4hnSSw9dCEsLEGf6SwIO8ss/19S9iBb5sJaOuTvTGDeZI00BQ==";
-      };
-    };
-    "object-inspect-1.9.0" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz";
-        sha512 = "i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==";
-      };
-    };
-    "object-keys-1.1.1" = {
-      name = "object-keys";
-      packageName = "object-keys";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz";
-        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
-      };
-    };
-    "object.assign-4.1.2" = {
-      name = "object.assign";
-      packageName = "object.assign";
-      version = "4.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz";
-        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
-      };
-    };
-    "once-1.4.0" = {
-      name = "once";
-      packageName = "once";
-      version = "1.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/once/-/once-1.4.0.tgz";
-        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
-      };
-    };
-    "onetime-2.0.1" = {
-      name = "onetime";
-      packageName = "onetime";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/onetime/-/onetime-2.0.1.tgz";
-        sha1 = "067428230fd67443b2794b22bba528b6867962d4";
-      };
-    };
-    "open-6.4.0" = {
-      name = "open";
-      packageName = "open";
-      version = "6.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-6.4.0.tgz";
-        sha512 = "IFenVPgF70fSm1keSd2iDBIDIBZkroLeuffXq+wKTzTJlBpesFWojV9lb8mzOfaAzM1sr7HQHuO0vtV0zYekGg==";
-      };
-    };
-    "os-tmpdir-1.0.2" = {
-      name = "os-tmpdir";
-      packageName = "os-tmpdir";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz";
-        sha1 = "bbe67406c79aa85c5cfec766fe5734555dfa1274";
-      };
-    };
-    "p-any-2.1.0" = {
-      name = "p-any";
-      packageName = "p-any";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-any/-/p-any-2.1.0.tgz";
-        sha512 = "JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg==";
-      };
-    };
-    "p-cancelable-1.1.0" = {
-      name = "p-cancelable";
-      packageName = "p-cancelable";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-1.1.0.tgz";
-        sha512 = "s73XxOZ4zpt1edZYZzvhqFa6uvQc1vwUa0K0BdtIZgQMAJj9IbebH+JkgKZc9h+B05PKHLOTl4ajG1BmNrVZlw==";
-      };
-    };
-    "p-cancelable-2.0.0" = {
-      name = "p-cancelable";
-      packageName = "p-cancelable";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-cancelable/-/p-cancelable-2.0.0.tgz";
-        sha512 = "wvPXDmbMmu2ksjkB4Z3nZWTSkJEb9lqVdMaCKpZUGJG9TMiNp9XcbG3fn9fPKjem04fJMJnXoyFPk2FmgiaiNg==";
-      };
-    };
-    "p-finally-1.0.0" = {
-      name = "p-finally";
-      packageName = "p-finally";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz";
-        sha1 = "3fbcfb15b899a44123b34b6dcc18b724336a2cae";
-      };
-    };
-    "p-limit-2.3.0" = {
-      name = "p-limit";
-      packageName = "p-limit";
-      version = "2.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz";
-        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
-      };
-    };
-    "p-locate-4.1.0" = {
-      name = "p-locate";
-      packageName = "p-locate";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz";
-        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
-      };
-    };
-    "p-map-3.0.0" = {
-      name = "p-map";
-      packageName = "p-map";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz";
-        sha512 = "d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==";
-      };
-    };
-    "p-some-4.1.0" = {
-      name = "p-some";
-      packageName = "p-some";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-some/-/p-some-4.1.0.tgz";
-        sha512 = "MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==";
-      };
-    };
-    "p-timeout-3.2.0" = {
-      name = "p-timeout";
-      packageName = "p-timeout";
-      version = "3.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-timeout/-/p-timeout-3.2.0.tgz";
-        sha512 = "rhIwUycgwwKcP9yTOOFK/AKsAopjjCakVqLHePO3CC6Mir1Z99xT+R63jZxAT5lFZLa2inS5h+ZS2GvR99/FBg==";
-      };
-    };
-    "p-try-2.2.0" = {
-      name = "p-try";
-      packageName = "p-try";
-      version = "2.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz";
-        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
-      };
-    };
-    "path-0.12.7" = {
-      name = "path";
-      packageName = "path";
-      version = "0.12.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path/-/path-0.12.7.tgz";
-        sha1 = "d4dc2a506c4ce2197eb481ebfcd5b36c0140b10f";
-      };
-    };
-    "path-exists-4.0.0" = {
-      name = "path-exists";
-      packageName = "path-exists";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz";
-        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
-      };
-    };
-    "path-is-absolute-1.0.1" = {
-      name = "path-is-absolute";
-      packageName = "path-is-absolute";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
-      };
-    };
-    "path-type-4.0.0" = {
-      name = "path-type";
-      packageName = "path-type";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz";
-        sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==";
-      };
-    };
-    "picomatch-2.2.2" = {
-      name = "picomatch";
-      packageName = "picomatch";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz";
-        sha512 = "q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==";
-      };
-    };
-    "pluralize-8.0.0" = {
-      name = "pluralize";
-      packageName = "pluralize";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pluralize/-/pluralize-8.0.0.tgz";
-        sha512 = "Nc3IT5yHzflTfbjgqWcCPpo7DaKy4FnpB0l/zCAW0Tc7jxAiuqSxHasntB3D7887LSrA93kDJ9IXovxJYxyLCA==";
-      };
-    };
-    "prepend-http-2.0.0" = {
-      name = "prepend-http";
-      packageName = "prepend-http";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prepend-http/-/prepend-http-2.0.0.tgz";
-        sha1 = "e92434bfa5ea8c19f41cdfd401d741a3c819d897";
-      };
-    };
-    "process-0.11.10" = {
-      name = "process";
-      packageName = "process";
-      version = "0.11.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process/-/process-0.11.10.tgz";
-        sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
-      };
-    };
-    "public-ip-4.0.3" = {
-      name = "public-ip";
-      packageName = "public-ip";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/public-ip/-/public-ip-4.0.3.tgz";
-        sha512 = "IofiJJWoZ8hZHBk25l4ozLvcET0pjZSxocbUfh4sGkjidMOm4iZNzzWxezGqGsVY7HuxiK7SkyJKHNeT0YQ7uw==";
-      };
-    };
-    "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==";
-      };
-    };
-    "qs-6.9.6" = {
-      name = "qs";
-      packageName = "qs";
-      version = "6.9.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz";
-        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
-      };
-    };
-    "recursive-readdir-2.2.2" = {
-      name = "recursive-readdir";
-      packageName = "recursive-readdir";
-      version = "2.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/recursive-readdir/-/recursive-readdir-2.2.2.tgz";
-        sha512 = "nRCcW9Sj7NuZwa2XvH9co8NPeXUBhZP7CRKJtU+cS6PW9FpCIFoI5ib0NT1ZrbNuPoRy0ylyCaUL8Gih4LSyFg==";
-      };
-    };
-    "responselike-1.0.2" = {
-      name = "responselike";
-      packageName = "responselike";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/responselike/-/responselike-1.0.2.tgz";
-        sha1 = "918720ef3b631c5642be068f15ade5a46f4ba1e7";
-      };
-    };
-    "restore-cursor-2.0.0" = {
-      name = "restore-cursor";
-      packageName = "restore-cursor";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/restore-cursor/-/restore-cursor-2.0.0.tgz";
-        sha1 = "9f7ee287f82fd326d4fd162923d62129eee0dfaf";
-      };
-    };
-    "reusify-1.0.4" = {
-      name = "reusify";
-      packageName = "reusify";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz";
-        sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
-      };
-    };
-    "rimraf-3.0.2" = {
-      name = "rimraf";
-      packageName = "rimraf";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz";
-        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
-      };
-    };
-    "run-async-2.4.1" = {
-      name = "run-async";
-      packageName = "run-async";
-      version = "2.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz";
-        sha512 = "tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==";
-      };
-    };
-    "run-parallel-1.1.10" = {
-      name = "run-parallel";
-      packageName = "run-parallel";
-      version = "1.1.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz";
-        sha512 = "zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==";
-      };
-    };
-    "rxjs-6.6.3" = {
-      name = "rxjs";
-      packageName = "rxjs";
-      version = "6.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz";
-        sha512 = "trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==";
-      };
-    };
-    "safe-buffer-5.2.1" = {
-      name = "safe-buffer";
-      packageName = "safe-buffer";
-      version = "5.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
-      };
-    };
-    "safer-buffer-2.1.2" = {
-      name = "safer-buffer";
-      packageName = "safer-buffer";
-      version = "2.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
-      };
-    };
-    "signal-exit-3.0.3" = {
-      name = "signal-exit";
-      packageName = "signal-exit";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz";
-        sha512 = "VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==";
-      };
-    };
-    "slash-3.0.0" = {
-      name = "slash";
-      packageName = "slash";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz";
-        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
-      };
-    };
-    "split-lines-2.0.0" = {
-      name = "split-lines";
-      packageName = "split-lines";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/split-lines/-/split-lines-2.0.0.tgz";
-        sha512 = "gaIdhbqxkB5/VflPXsJwZvEzh/kdwiRPF9iqpkxX4us+lzB8INedFwjCyo6vwuz5x2Ddlnav2zh270CEjCG8mA==";
-      };
-    };
-    "string-width-2.1.1" = {
-      name = "string-width";
-      packageName = "string-width";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz";
-        sha512 = "nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==";
-      };
-    };
-    "string.prototype.padend-3.1.1" = {
-      name = "string.prototype.padend";
-      packageName = "string.prototype.padend";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.padend/-/string.prototype.padend-3.1.1.tgz";
-        sha512 = "eCzTASPnoCr5Ht+Vn1YXgm8SB015hHKgEIMu9Nr9bQmLhRBxKRfmzSj/IQsxDFc8JInJDDFA0qXwK+xxI7wDkg==";
-      };
-    };
-    "string.prototype.trimend-1.0.3" = {
-      name = "string.prototype.trimend";
-      packageName = "string.prototype.trimend";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz";
-        sha512 = "ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==";
-      };
-    };
-    "string.prototype.trimstart-1.0.3" = {
-      name = "string.prototype.trimstart";
-      packageName = "string.prototype.trimstart";
-      version = "1.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz";
-        sha512 = "oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==";
-      };
-    };
-    "strip-ansi-4.0.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz";
-        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
-      };
-    };
-    "strip-ansi-5.2.0" = {
-      name = "strip-ansi";
-      packageName = "strip-ansi";
-      version = "5.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz";
-        sha512 = "DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==";
-      };
-    };
-    "strip-bom-4.0.0" = {
-      name = "strip-bom";
-      packageName = "strip-bom";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-4.0.0.tgz";
-        sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
-      };
-    };
-    "supports-color-5.5.0" = {
-      name = "supports-color";
-      packageName = "supports-color";
-      version = "5.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz";
-        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
-      };
-    };
-    "through-2.3.8" = {
-      name = "through";
-      packageName = "through";
-      version = "2.3.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
-      };
-    };
-    "tmp-0.0.33" = {
-      name = "tmp";
-      packageName = "tmp";
-      version = "0.0.33";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz";
-        sha512 = "jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==";
-      };
-    };
-    "to-readable-stream-1.0.0" = {
-      name = "to-readable-stream";
-      packageName = "to-readable-stream";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-readable-stream/-/to-readable-stream-1.0.0.tgz";
-        sha512 = "Iq25XBt6zD5npPhlLVXGFN3/gyR2/qODcKNNyTMd4vbm39HUaOiAM4PMq0eMVC/Tkxz+Zjdsc55g9yyz+Yq00Q==";
-      };
-    };
-    "to-regex-range-5.0.1" = {
-      name = "to-regex-range";
-      packageName = "to-regex-range";
-      version = "5.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz";
-        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
-      };
-    };
-    "ts2gas-3.6.4" = {
-      name = "ts2gas";
-      packageName = "ts2gas";
-      version = "3.6.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ts2gas/-/ts2gas-3.6.4.tgz";
-        sha512 = "TJgFvXnoUSZ40pRH4FzqtTYhbJfaF6LmeXKWd813cRV31v55DZTyVatYUyhqF7GCAHhbkKRH7HuCFcFhxeZFag==";
-      };
-    };
-    "tslib-1.14.1" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
-        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
-      };
-    };
-    "type-fest-0.3.1" = {
-      name = "type-fest";
-      packageName = "type-fest";
-      version = "0.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-0.3.1.tgz";
-        sha512 = "cUGJnCdr4STbePCgqNFbpVNCepa+kAVohJs1sLhxzdH+gnEoOd8VhbYa7pD3zZYGiURWM2xzEII3fQcRizDkYQ==";
-      };
-    };
-    "typescript-3.9.7" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "3.9.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-3.9.7.tgz";
-        sha512 = "BLbiRkiBzAwsjut4x/dsibSTB6yWpwT5qWmC2OfuCg3GgVQCSgMs4vEctYPhsaGtd0AeuuHMkjZ2h2WG8MSzRw==";
-      };
-    };
-    "typescript-4.1.3" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.1.3.tgz";
-        sha512 = "B3ZIOf1IKeH2ixgHhj6la6xdwR9QrLC5d1VKeCSY4tvkqhF2eqd9O7txNlS0PO3GrBAFIdr3L1ndNwteUbZLYg==";
-      };
-    };
-    "universalify-0.1.2" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "0.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz";
-        sha512 = "rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==";
-      };
-    };
-    "universalify-2.0.0" = {
-      name = "universalify";
-      packageName = "universalify";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz";
-        sha512 = "hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==";
-      };
-    };
-    "url-parse-lax-3.0.0" = {
-      name = "url-parse-lax";
-      packageName = "url-parse-lax";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse-lax/-/url-parse-lax-3.0.0.tgz";
-        sha1 = "16b5cafc07dbe3676c1b1999177823d6503acb0c";
-      };
-    };
-    "url-template-2.0.8" = {
-      name = "url-template";
-      packageName = "url-template";
-      version = "2.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/url-template/-/url-template-2.0.8.tgz";
-        sha1 = "fc565a3cccbff7730c775f5641f9555791439f21";
-      };
-    };
-    "util-0.10.4" = {
-      name = "util";
-      packageName = "util";
-      version = "0.10.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/util/-/util-0.10.4.tgz";
-        sha512 = "0Pm9hTQ3se5ll1XihRic3FDIku70C+iHUdT/W926rSgHV5QgXsYbKZN8MSC3tJtSkhuROzvsQjAaFENRXr+19A==";
-      };
-    };
-    "uuid-3.4.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz";
-        sha512 = "HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==";
-      };
-    };
-    "watch-1.0.2" = {
-      name = "watch";
-      packageName = "watch";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz";
-        sha1 = "340a717bde765726fa0aa07d721e0147a551df0c";
-      };
-    };
-    "wrappy-1.0.2" = {
-      name = "wrappy";
-      packageName = "wrappy";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
-      };
-    };
-    "yallist-3.1.1" = {
-      name = "yallist";
-      packageName = "yallist";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz";
-        sha512 = "a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==";
-      };
-    };
-  };
-in
-{
-  "@google/clasp-2.2.1" = nodeEnv.buildNodePackage {
-    name = "_at_google_slash_clasp";
-    packageName = "@google/clasp";
-    version = "2.2.1";
-    src = fetchurl {
-      url = "https://registry.npmjs.org/@google/clasp/-/clasp-2.2.1.tgz";
-      sha512 = "dUdEBfwOuC1d95o1ntZ+4a60M65q2vwvHvgD22bPCx+OU0m+ZUBs5rZSloh/IGDjEVqFbDsHU6SLgM0x3MOhgA==";
-    };
-    dependencies = [
-      sources."@nodelib/fs.scandir-2.1.4"
-      sources."@nodelib/fs.stat-2.0.4"
-      sources."@nodelib/fs.walk-1.2.6"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/glob-7.1.3"
-      sources."@types/minimatch-3.0.3"
-      sources."@types/node-14.14.22"
-      sources."abort-controller-3.0.0"
-      sources."agent-base-6.0.2"
-      sources."aggregate-error-3.1.0"
-      sources."ansi-escapes-3.2.0"
-      sources."ansi-regex-3.0.0"
-      sources."ansi-styles-3.2.1"
-      sources."array-differ-3.0.0"
-      sources."array-union-2.1.0"
-      sources."arrify-2.0.1"
-      sources."balanced-match-1.0.0"
-      sources."base64-js-1.5.1"
-      sources."bignumber.js-9.0.1"
-      sources."brace-expansion-1.1.11"
-      sources."braces-3.0.2"
-      sources."buffer-equal-constant-time-1.0.1"
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
-      sources."call-bind-1.0.2"
-      sources."chalk-2.4.2"
-      sources."chardet-0.7.0"
-      sources."clean-stack-2.2.0"
-      sources."cli-cursor-2.1.0"
-      sources."cli-spinner-0.2.10"
-      sources."cli-width-2.2.1"
-      sources."clone-response-1.0.2"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."commander-2.20.3"
-      sources."concat-map-0.0.1"
-      sources."debug-4.3.2"
-      sources."decompress-response-3.3.0"
-      sources."defer-to-connect-1.1.3"
-      sources."define-properties-1.1.3"
-      sources."del-5.1.0"
-      sources."dir-glob-3.0.1"
-      sources."dns-packet-5.2.1"
-      sources."dns-socket-4.2.1"
-      sources."dotf-1.5.3"
-      sources."duplexer3-0.1.4"
-      sources."ecdsa-sig-formatter-1.0.11"
-      sources."ellipsize-0.1.0"
-      sources."end-of-stream-1.4.4"
-      sources."es-abstract-1.18.0-next.2"
-      sources."es-to-primitive-1.2.1"
-      sources."escape-string-regexp-1.0.5"
-      sources."event-target-shim-5.0.1"
-      sources."exec-sh-0.2.2"
-      sources."extend-3.0.2"
-      sources."external-editor-3.1.0"
-      sources."fast-glob-3.2.5"
-      sources."fast-text-encoding-1.0.3"
-      sources."fastq-1.10.1"
-      sources."figures-2.0.0"
-      sources."fill-range-7.0.1"
-      sources."find-up-4.1.0"
-      (sources."fs-extra-8.1.0" // {
-        dependencies = [
-          sources."jsonfile-4.0.0"
-          sources."universalify-0.1.2"
-        ];
-      })
-      sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
-      sources."fuzzy-0.1.3"
-      sources."gaxios-2.3.4"
-      sources."gcp-metadata-2.0.4"
-      sources."get-intrinsic-1.1.0"
-      sources."get-stream-4.1.0"
-      sources."glob-7.1.6"
-      sources."glob-parent-5.1.1"
-      sources."globby-10.0.2"
-      sources."google-auth-library-4.2.6"
-      sources."google-p12-pem-2.0.4"
-      sources."googleapis-40.0.1"
-      sources."googleapis-common-2.0.4"
-      sources."got-9.6.0"
-      sources."graceful-fs-4.2.4"
-      sources."gtoken-3.0.2"
-      sources."has-1.0.3"
-      sources."has-flag-3.0.0"
-      sources."has-symbols-1.0.1"
-      sources."http-cache-semantics-4.1.0"
-      sources."https-proxy-agent-5.0.0"
-      sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.8"
-      sources."indent-string-4.0.0"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."inquirer-6.5.2"
-      sources."inquirer-autocomplete-prompt-1.0.1"
-      sources."ip-1.1.5"
-      sources."ip-regex-4.3.0"
-      sources."is-callable-1.2.3"
-      sources."is-date-object-1.0.2"
-      sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-2.0.0"
-      sources."is-glob-4.0.1"
-      sources."is-ip-3.1.0"
-      sources."is-negative-zero-2.0.1"
-      sources."is-number-7.0.0"
-      sources."is-online-8.5.1"
-      sources."is-path-cwd-2.2.0"
-      sources."is-path-inside-3.0.2"
-      sources."is-regex-1.1.2"
-      sources."is-stream-2.0.0"
-      sources."is-symbol-1.0.3"
-      sources."is-wsl-1.1.0"
-      sources."json-bigint-0.3.1"
-      sources."json-buffer-3.0.0"
-      sources."jsonfile-6.1.0"
-      sources."jwa-1.4.1"
-      sources."jws-3.2.2"
-      sources."keyv-3.1.0"
-      sources."locate-path-5.0.0"
-      sources."lodash-4.17.20"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-5.1.1"
-      sources."merge-1.2.1"
-      sources."merge2-1.4.1"
-      sources."micromatch-4.0.2"
-      sources."mime-2.5.0"
-      sources."mimic-fn-1.2.0"
-      sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."mkdirp-0.5.5"
-      sources."ms-2.1.2"
-      sources."multimatch-4.0.0"
-      sources."mute-stream-0.0.7"
-      sources."node-fetch-2.6.1"
-      sources."node-forge-0.9.2"
-      sources."normalize-url-4.5.0"
-      sources."object-inspect-1.9.0"
-      sources."object-keys-1.1.1"
-      sources."object.assign-4.1.2"
-      sources."once-1.4.0"
-      sources."onetime-2.0.1"
-      sources."open-6.4.0"
-      sources."os-tmpdir-1.0.2"
-      (sources."p-any-2.1.0" // {
-        dependencies = [
-          sources."p-cancelable-2.0.0"
-        ];
-      })
-      sources."p-cancelable-1.1.0"
-      sources."p-finally-1.0.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-4.1.0"
-      sources."p-map-3.0.0"
-      (sources."p-some-4.1.0" // {
-        dependencies = [
-          sources."p-cancelable-2.0.0"
-        ];
-      })
-      sources."p-timeout-3.2.0"
-      sources."p-try-2.2.0"
-      sources."path-0.12.7"
-      sources."path-exists-4.0.0"
-      sources."path-is-absolute-1.0.1"
-      sources."path-type-4.0.0"
-      sources."picomatch-2.2.2"
-      sources."pluralize-8.0.0"
-      sources."prepend-http-2.0.0"
-      sources."process-0.11.10"
-      sources."public-ip-4.0.3"
-      sources."pump-3.0.0"
-      sources."qs-6.9.6"
-      sources."recursive-readdir-2.2.2"
-      sources."responselike-1.0.2"
-      sources."restore-cursor-2.0.0"
-      sources."reusify-1.0.4"
-      sources."rimraf-3.0.2"
-      sources."run-async-2.4.1"
-      sources."run-parallel-1.1.10"
-      sources."rxjs-6.6.3"
-      sources."safe-buffer-5.2.1"
-      sources."safer-buffer-2.1.2"
-      sources."signal-exit-3.0.3"
-      sources."slash-3.0.0"
-      sources."split-lines-2.0.0"
-      (sources."string-width-2.1.1" // {
-        dependencies = [
-          sources."strip-ansi-4.0.0"
-        ];
-      })
-      sources."string.prototype.padend-3.1.1"
-      sources."string.prototype.trimend-1.0.3"
-      sources."string.prototype.trimstart-1.0.3"
-      (sources."strip-ansi-5.2.0" // {
-        dependencies = [
-          sources."ansi-regex-4.1.0"
-        ];
-      })
-      sources."strip-bom-4.0.0"
-      sources."supports-color-5.5.0"
-      sources."through-2.3.8"
-      sources."tmp-0.0.33"
-      sources."to-readable-stream-1.0.0"
-      sources."to-regex-range-5.0.1"
-      (sources."ts2gas-3.6.4" // {
-        dependencies = [
-          sources."typescript-4.1.3"
-        ];
-      })
-      sources."tslib-1.14.1"
-      sources."type-fest-0.3.1"
-      sources."typescript-3.9.7"
-      sources."universalify-2.0.0"
-      sources."url-parse-lax-3.0.0"
-      sources."url-template-2.0.8"
-      (sources."util-0.10.4" // {
-        dependencies = [
-          sources."inherits-2.0.3"
-        ];
-      })
-      sources."uuid-3.4.0"
-      sources."watch-1.0.2"
-      sources."wrappy-1.0.2"
-      sources."yallist-3.1.1"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "Develop Apps Script Projects locally";
-      homepage = "https://github.com/google/clasp#readme";
-      license = "Apache-2.0";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
-}
diff --git a/pkgs/development/nim-packages/build-nim-package/default.nix b/pkgs/development/nim-packages/build-nim-package/default.nix
index f8301ebb488..d32a9543cf2 100644
--- a/pkgs/development/nim-packages/build-nim-package/default.nix
+++ b/pkgs/development/nim-packages/build-nim-package/default.nix
@@ -38,6 +38,7 @@ stdenv.mkDerivation (attrs // {
     installPhase;
 
   meta = meta // {
+    platforms = meta.platforms or nim.meta.platforms;
     maintainers = (meta.maintainers or [ ]) ++ [ lib.maintainers.ehmry ];
   };
 })
diff --git a/pkgs/development/nim-packages/jsonschema/default.nix b/pkgs/development/nim-packages/jsonschema/default.nix
index 8dc195b8b82..e19af7fbb86 100644
--- a/pkgs/development/nim-packages/jsonschema/default.nix
+++ b/pkgs/development/nim-packages/jsonschema/default.nix
@@ -1,8 +1,22 @@
-{ fetchFromGitHub }:
+{ lib, buildNimPackage, fetchFromGitHub, astpatternmatching }:
 
-fetchFromGitHub {
-  owner = "PMunch";
-  repo = "jsonschema";
-  rev = "7b41c03e3e1a487d5a8f6b940ca8e764dc2cbabf";
-  sha256 = "1js64jqd854yjladxvnylij4rsz7212k31ks541pqrdzm6hpblbz";
+buildNimPackage rec {
+  pname = "jsonschema";
+  version = "unstable-2019-09-12";
+
+  src = fetchFromGitHub {
+    owner = "PMunch";
+    repo = "jsonschema";
+    rev = "7b41c03e3e1a487d5a8f6b940ca8e764dc2cbabf";
+    sha256 = "1js64jqd854yjladxvnylij4rsz7212k31ks541pqrdzm6hpblbz";
+  };
+
+  propagatedBuildInputs = [ astpatternmatching ];
+
+  meta = with lib; {
+    homepage = "https://github.com/PMunch/jsonschema";
+    description = "Schema validation of JSON for Nim";
+    license = licenses.mit;
+    maintainers = [ maintainers.marsam ];
+  };
 }
diff --git a/pkgs/development/nim-packages/karax/default.nix b/pkgs/development/nim-packages/karax/default.nix
index 35a5c78ee56..8e8f11b228a 100644
--- a/pkgs/development/nim-packages/karax/default.nix
+++ b/pkgs/development/nim-packages/karax/default.nix
@@ -3,6 +3,6 @@
 fetchFromGitHub {
   owner = "karaxnim";
   repo = "karax";
-  rev = "1.1.2";
-  sha256 = "07ykrd21hd76vlmkqpvv5xvaxw6aaq87bky47p2420ni85a6d94j";
+  rev = "fa4a2dc";
+  sha256 = "0xl83jsfb9l8kb0nfan9h5y6v96iz4psng2fx06a0qmig4993408";
 }
diff --git a/pkgs/development/nim-packages/redpool/default.nix b/pkgs/development/nim-packages/redpool/default.nix
index 6c4c8a8e193..76b222739ca 100644
--- a/pkgs/development/nim-packages/redpool/default.nix
+++ b/pkgs/development/nim-packages/redpool/default.nix
@@ -3,6 +3,6 @@
 fetchFromGitHub {
   owner = "zedeus";
   repo = "redpool";
-  rev = "f880f49";
-  sha256 = "01n73bpgfdz2a3qvcfxsq4a6gxbhabf2n5np1ilzgdqkzcd4jf9b";
+  rev = "8b7c1db";
+  sha256 = "10xh5fhwnahnq1nf6j69vvnbi55kixa0ari630gr6cdx80arvbs6";
 }
diff --git a/pkgs/development/node-packages/default.nix b/pkgs/development/node-packages/default.nix
index 697034ef044..abc5bd2c5b7 100644
--- a/pkgs/development/node-packages/default.nix
+++ b/pkgs/development/node-packages/default.nix
@@ -200,7 +200,7 @@ let
     };
 
     manta = super.manta.override {
-      nativeBuildInputs = with pkgs; [ nodejs-12_x installShellFiles ];
+      nativeBuildInputs = with pkgs; [ nodejs-14_x installShellFiles ];
       postInstall = ''
         # create completions, following upstream procedure https://github.com/joyent/node-manta/blob/v5.2.3/Makefile#L85-L91
         completion_cmds=$(find ./bin -type f -printf "%f\n")
@@ -226,6 +226,15 @@ let
       '';
     };
 
+    near-cli = super.near-cli.override {
+      nativeBuildInputs = with pkgs; [
+        libusb
+        nodePackages.prebuild-install
+        nodePackages.node-gyp-build
+        pkg-config
+      ];
+    };
+
     node-inspector = super.node-inspector.override {
       buildInputs = [ self.node-pre-gyp ];
       meta.broken = since "10";
@@ -373,18 +382,24 @@ let
       meta.broken = since "10";
     };
 
-    tailwindcss = super.tailwindcss.override {
+    tailwindcss = super.tailwindcss.overrideAttrs (oldAttrs: {
+      plugins = [ ];
       nativeBuildInputs = [ pkgs.makeWrapper ];
       postInstall = ''
+        nodePath=""
+        for p in "$out" "${self.postcss}" $plugins; do
+          nodePath="$nodePath''${nodePath:+:}$p/lib/node_modules"
+        done
         wrapProgram "$out/bin/tailwind" \
-          --prefix NODE_PATH : ${self.postcss}/lib/node_modules
+          --prefix NODE_PATH : "$nodePath"
         wrapProgram "$out/bin/tailwindcss" \
-          --prefix NODE_PATH : ${self.postcss}/lib/node_modules
+          --prefix NODE_PATH : "$nodePath"
+        unset nodePath
       '';
       passthru.tests = {
         simple-execution = pkgs.callPackage ./package-tests/tailwindcss.nix { inherit (self) tailwindcss; };
       };
-    };
+    });
 
     tedicross = super."tedicross-git+https://github.com/TediCross/TediCross.git#v0.8.7".override {
       nativeBuildInputs = [ pkgs.makeWrapper ];
@@ -415,6 +430,10 @@ let
       buildInputs = [ pkgs.libusb1 ];
     };
 
+    uppy-companion = super."@uppy/companion".override {
+      name = "uppy-companion";
+    };
+
     vega-cli = super.vega-cli.override {
       nativeBuildInputs = [ pkgs.pkg-config ];
       buildInputs = with pkgs; [
diff --git a/pkgs/development/node-packages/node-packages.json b/pkgs/development/node-packages/node-packages.json
index cf97f904d9d..28034310893 100644
--- a/pkgs/development/node-packages/node-packages.json
+++ b/pkgs/development/node-packages/node-packages.json
@@ -7,12 +7,18 @@
 , "@bitwarden/cli"
 , "@commitlint/cli"
 , "@commitlint/config-conventional"
+, "@google/clasp"
 , "@hyperspace/cli"
 , "@medable/mdctl-cli"
 , "@nerdwallet/shepherd"
 , "@nestjs/cli"
 , "@squoosh/cli"
+, "@tailwindcss/aspect-ratio"
+, "@tailwindcss/forms"
 , "@tailwindcss/language-server"
+, "@tailwindcss/line-clamp"
+, "@tailwindcss/typography"
+, "@uppy/companion"
 , "@vue/cli"
 , "@webassemblyjs/cli"
 , "@webassemblyjs/repl"
@@ -158,7 +164,7 @@
 , "insect"
 , "intelephense"
 , "ionic"
-, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v11.0.1.tar.gz"}
+, {"iosevka": "https://github.com/be5invis/Iosevka/archive/v14.0.1.tar.gz"}
 , "jake"
 , "javascript-typescript-langserver"
 , "joplin"
@@ -192,7 +198,7 @@
 , "markdownlint-cli"
 , "markdownlint-cli2"
 , "markdown-link-check"
-, {"markdown-preview-nvim": "../../misc/vim-plugins/markdown-preview-nvim"}
+, {"markdown-preview-nvim": "../../applications/editors/vim/plugins/markdown-preview-nvim"}
 , "mastodon-bot"
 , "mathjax"
 , "meat"
@@ -200,6 +206,7 @@
 , "mocha"
 , "multi-file-swagger"
 , "musescore-downloader"
+, "near-cli"
 , "neovim"
 , "nijs"
 , "node-gyp"
@@ -227,6 +234,7 @@
 , "poor-mans-t-sql-formatter-cli"
 , "postcss"
 , "postcss-cli"
+, "prebuild-install"
 , "prettier"
 , "prettier-plugin-toml"
 , "prisma"
@@ -249,7 +257,7 @@
 , "reveal-md"
 , "rimraf"
 , "rollup"
-, { "rust-analyzer-build-deps": "../../misc/vscode-extensions/rust-analyzer/build-deps" }
+, { "rust-analyzer-build-deps": "../../applications/editors/vscode/extensions/rust-analyzer/build-deps" }
 , "rtlcss"
 , "s3http"
 , "sass"
@@ -353,7 +361,7 @@
 , "vscode-json-languageserver"
 , "vscode-json-languageserver-bin"
 , "vscode-langservers-extracted"
-, { "vscode-lldb-build-deps": "../../misc/vscode-extensions/vscode-lldb/build-deps" }
+, { "vscode-lldb-build-deps": "../../applications/editors/vscode/extensions/vscode-lldb/build-deps" }
 , "vue-cli"
 , "vue-language-server"
 , "wavedrom-cli"
diff --git a/pkgs/development/node-packages/node-packages.nix b/pkgs/development/node-packages/node-packages.nix
index 47adf03bdb1..54fa82135c5 100644
--- a/pkgs/development/node-packages/node-packages.nix
+++ b/pkgs/development/node-packages/node-packages.nix
@@ -85,76 +85,85 @@ let
         sha512 = "o/xdK8b4P0t/xpCARgWXAeaiWeh9jeua6bP1jrcbfN39+Z4zC4x2jg4NysHNhz6spRG8dJFH3kJIUoIbs0Ckww==";
       };
     };
-    "@angular-devkit/architect-0.1301.4" = {
+    "@ampproject/remapping-2.1.2" = {
+      name = "_at_ampproject_slash_remapping";
+      packageName = "@ampproject/remapping";
+      version = "2.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.1.2.tgz";
+        sha512 = "hoyByceqwKirw7w3Z7gnIIZC3Wx3J484Y3L/cMpXFbr7d9ZQj2mODrirNzcJa+SM3UlpWXYvKV4RlRpFXlWgXg==";
+      };
+    };
+    "@angular-devkit/architect-0.1302.4" = {
       name = "_at_angular-devkit_slash_architect";
       packageName = "@angular-devkit/architect";
-      version = "0.1301.4";
+      version = "0.1302.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1301.4.tgz";
-        sha512 = "p6G8CEMnE+gYwxRyEttj3QGsuNJ3Kusi7iwBIzWyf2RpJSdGzXdwUEiRGg6iS0YHFr06/ZFfAWfnM2DQvNm4TA==";
+        url = "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1302.4.tgz";
+        sha512 = "9dS0Gvs4ER1DPSnKorJ4uk27A/rWwyvNy5CheOZu4ZTUnggGA7SFtMG7CKPD11Ae01lIMfxKfDqJYE8j2VpQaw==";
       };
     };
-    "@angular-devkit/core-13.0.2" = {
+    "@angular-devkit/core-13.2.2" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.0.2";
+      version = "13.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.0.2.tgz";
-        sha512 = "I4co4GH+iu0tns+UXfMtjJISO+cLpaUuiEH6kf0wF5cqjaIeluA9UjIRnxuNbdTW8iE2xVj/UWhQfHe/Ncp76w==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.2.tgz";
+        sha512 = "qH0Vu8qwGD5uhmE8PtePA1lm7xL3JtbBCcrQICmLqD6njLDVb2N5pbdDXeiXDlWGUoIRHUhu6Uw4AsY8zXP/FA==";
       };
     };
-    "@angular-devkit/core-13.1.2" = {
+    "@angular-devkit/core-13.2.3" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.1.2";
+      version = "13.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.2.tgz";
-        sha512 = "uXVesIRiCL/Nv+RSV8JM4j8IoZiGCGnqV2FOJ1hvH7DPxIjhjPMdG/B54xMydZpeASW3ofuxeORyAXxFIBm8Zg==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.3.tgz";
+        sha512 = "/47RA8qmWzeS60xSdaprIn1MiSv0Iw83t0M9/ENH7irFS5vMAq62NCcwiWXH59pZmvvLbF+7xy/RgYUZLr4nHQ==";
       };
     };
-    "@angular-devkit/core-13.1.4" = {
+    "@angular-devkit/core-13.2.4" = {
       name = "_at_angular-devkit_slash_core";
       packageName = "@angular-devkit/core";
-      version = "13.1.4";
+      version = "13.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.1.4.tgz";
-        sha512 = "225Gjy4iVxh5Jo9njJnaG75M/Dt95UW+dEPCGWKV5E/++7UUlXlo9sNWq8x2vJm2nhtsPkpnXNOt4pW1mIDwqQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/core/-/core-13.2.4.tgz";
+        sha512 = "hSw1JWA/6dDAF/xleQRXGtzHphfU49TMUhvAoAmsmmz3NAn03xLy1dtqdIXIf+TkFXVvZDaAB2mW8KfRV67GFg==";
       };
     };
-    "@angular-devkit/schematics-13.0.2" = {
+    "@angular-devkit/schematics-13.2.2" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.0.2";
+      version = "13.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.0.2.tgz";
-        sha512 = "qrTe1teQptgP8gmVy6QX0T4dNfnNipEv+cM2cr7JXOmkPpwF+6oBDrTRIJ55t6rziqrXHJ3rxjKm1aHAxFrIEQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.2.tgz";
+        sha512 = "kXPLTkSzRCeBX+SYUkC6MIrWCkH90Y8hVegR9R5n2YqhCJyE+dZlcx4d/8d3VHtZlzAs0LL8BU+liC3wMIagjA==";
       };
     };
-    "@angular-devkit/schematics-13.1.2" = {
+    "@angular-devkit/schematics-13.2.3" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.1.2";
+      version = "13.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.2.tgz";
-        sha512 = "ayYbHGU8QpMGx8ZyhKOBupz+Zfv/2H1pNQErahYV3qg7hA9hfjTGmNmDQ4iw0fiT04NajjUxuomlKsCsg7oXDw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.3.tgz";
+        sha512 = "+dyC4iKV0huvpjiuz4uyjLNK3FsCIp/Ghv5lXvhG6yok/dCAubsJItJOxi6G16aVCzG/E9zbsDfm9fNMyVOkgQ==";
       };
     };
-    "@angular-devkit/schematics-13.1.4" = {
+    "@angular-devkit/schematics-13.2.4" = {
       name = "_at_angular-devkit_slash_schematics";
       packageName = "@angular-devkit/schematics";
-      version = "13.1.4";
+      version = "13.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.1.4.tgz";
-        sha512 = "yBa7IeC4cLZ7s137NAQD+sMB5c6SI6UJ6xYxl6J/CvV2RLGOZZA93i4GuRALi5s82eLi1fH+HEL/gvf3JQynzQ==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-13.2.4.tgz";
+        sha512 = "VMhYa4cDu5yE31OvHncAd15Rmlchih/Sr6sxFsIwkg4xzRNIIZCtwqxVXgf0TiTN9zrvlvzK7nhPqTGNqqYb2A==";
       };
     };
-    "@angular-devkit/schematics-cli-13.1.2" = {
+    "@angular-devkit/schematics-cli-13.2.3" = {
       name = "_at_angular-devkit_slash_schematics-cli";
       packageName = "@angular-devkit/schematics-cli";
-      version = "13.1.2";
+      version = "13.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.1.2.tgz";
-        sha512 = "XSkcVuaaajijQOWE8YerY/8DVuYQWvXxVukweEwkaHSftDQZhfCOZ83nGKbuWkdOdnuDbrc9ve5ZzekplkzVQw==";
+        url = "https://registry.npmjs.org/@angular-devkit/schematics-cli/-/schematics-cli-13.2.3.tgz";
+        sha512 = "huCAno7u2K3Td3oiB41ax5AtoMyij6NmJsUxhpYQkZxnNsio9CKeSJnOuzml8SAILExc7sHFNW5A+9BeLluE4A==";
       };
     };
     "@antora/asciidoc-loader-3.0.1" = {
@@ -418,688 +427,688 @@ let
         sha512 = "JJmFFwvbm08lULw4Nm5QOLg8+lAQeC8aCXK5xrtxntYzYXCGfHwUJ4Is3770Q7HmICsXthGQ+ZsDL7C2uH3yBQ==";
       };
     };
-    "@aws-sdk/abort-controller-3.47.2" = {
+    "@aws-sdk/abort-controller-3.52.0" = {
       name = "_at_aws-sdk_slash_abort-controller";
       packageName = "@aws-sdk/abort-controller";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.47.2.tgz";
-        sha512 = "OpxsJ3b2KlpqTQKq6Py6JtLhA7KaAtHthH1JLLWStaFhU5/Js8nFnfPWdJIDRLpuAGyeRTbkjOEUsOkWAI5dAw==";
+        url = "https://registry.npmjs.org/@aws-sdk/abort-controller/-/abort-controller-3.52.0.tgz";
+        sha512 = "Z+4uVtgwbKSChruh6R/WIrGb5uvvXi/d6EQ7zC6hyghtn9EGQc+WJ3BVB4bIUshwMunlgjA3nDiPb5V3t5zv8Q==";
       };
     };
-    "@aws-sdk/chunked-blob-reader-3.47.1" = {
+    "@aws-sdk/chunked-blob-reader-3.52.0" = {
       name = "_at_aws-sdk_slash_chunked-blob-reader";
       packageName = "@aws-sdk/chunked-blob-reader";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.47.1.tgz";
-        sha512 = "D8wcAumX+q/VlX6lbYHWJqsaDBvj1BHVjJlBwLPrUBcsk0bRaJhhbhesej6DkhRX2pFhwXlHgc7CAgYhJCtc/w==";
+        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader/-/chunked-blob-reader-3.52.0.tgz";
+        sha512 = "BAZhriHHfvnGOd0P9xcnGu8DGyxOa0lgmEw+Tc6nZpXJzx0P+1Sd76q5gE5d/IZ0r5VTB6rfwwKUoG6iShNCwQ==";
       };
     };
-    "@aws-sdk/chunked-blob-reader-native-3.47.2" = {
+    "@aws-sdk/chunked-blob-reader-native-3.52.0" = {
       name = "_at_aws-sdk_slash_chunked-blob-reader-native";
       packageName = "@aws-sdk/chunked-blob-reader-native";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.47.2.tgz";
-        sha512 = "29+ZWESaFDQ9QXo7RGcUMuP89GTKo8bKlYplzNsO/B1uG17LgTgVHBapU3UBlF/EkOh1rzN5tEW+XwwstHvlXg==";
+        url = "https://registry.npmjs.org/@aws-sdk/chunked-blob-reader-native/-/chunked-blob-reader-native-3.52.0.tgz";
+        sha512 = "/hVzC0Q12/mWRMBBQD3v82xsLSxZ4RwG6N44XP7MuJoHy4ui4T7D9RSuvBpzzr/4fqF0w9M7XYv6aM4BD2pFIQ==";
       };
     };
-    "@aws-sdk/client-s3-3.48.0" = {
+    "@aws-sdk/client-s3-3.52.0" = {
       name = "_at_aws-sdk_slash_client-s3";
       packageName = "@aws-sdk/client-s3";
-      version = "3.48.0";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.48.0.tgz";
-        sha512 = "zOr7WWr9b5V3nTQnMTz+kjDpLJceI5Vmx3+mwi5a3vFDwJBvMJK0C25A9koDXtrjn8/hszAePh6+rC0oW8QJsQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-s3/-/client-s3-3.52.0.tgz";
+        sha512 = "QTY12zuKqWbtLG1H2RV13JG+NFNDeDAR2Ffka/qNHU6NMUqyQnyf/1h2UCVIekTmSaR6L6bYGgHl//kxMSUwCw==";
       };
     };
-    "@aws-sdk/client-sso-3.48.0" = {
+    "@aws-sdk/client-sso-3.52.0" = {
       name = "_at_aws-sdk_slash_client-sso";
       packageName = "@aws-sdk/client-sso";
-      version = "3.48.0";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.48.0.tgz";
-        sha512 = "A9f7B5k+X7bx062OQEcLHIMMIq0H1GlUqdw9xReCLd6W6vcRthbeSK5xbkM7TzHeKHE2/9qQYAy0lyKkxFE6bQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sso/-/client-sso-3.52.0.tgz";
+        sha512 = "IvtZlZopWlWg6xnKSXAodWQaPcRySNBJLj68K6HJ8OVvBCgcXr53nNREArgPi0+KDzLsXqAZTRxvU5do/99PrA==";
       };
     };
-    "@aws-sdk/client-sts-3.48.0" = {
+    "@aws-sdk/client-sts-3.52.0" = {
       name = "_at_aws-sdk_slash_client-sts";
       packageName = "@aws-sdk/client-sts";
-      version = "3.48.0";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.48.0.tgz";
-        sha512 = "vOSIYCHjXB9nztZqwjIjV/jRZCfgej1YHpgqeNlfL8hPNhcrHemaoJaKHRPnhljIuHi+H5yQW7Pm4qJUFtGwKA==";
+        url = "https://registry.npmjs.org/@aws-sdk/client-sts/-/client-sts-3.52.0.tgz";
+        sha512 = "tPLHYY9RdWehBQlyrwOaw4B31PqW1HmNNKJ3+Hc6KnEaiOwMAwQd8L7BFbSVG8ajQBDAEBUTDAkSaZ8jTYdfQQ==";
       };
     };
-    "@aws-sdk/config-resolver-3.47.2" = {
+    "@aws-sdk/config-resolver-3.52.0" = {
       name = "_at_aws-sdk_slash_config-resolver";
       packageName = "@aws-sdk/config-resolver";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.47.2.tgz";
-        sha512 = "uv9U/qDOSqyCPQ71qiwMslqRMxYyt0y0h6X0aQ67GCPq4rbbU/dn8PqnYT0VfX/9Ss+DcbTm7vOTxVKv+8XADA==";
+        url = "https://registry.npmjs.org/@aws-sdk/config-resolver/-/config-resolver-3.52.0.tgz";
+        sha512 = "XKUCpPLMwdlqPtwutdMfAHWqGEPTDd14Dp01WyNhVtmTmsHkpFfLPpELLO1BczDS+jyoMUj+UDj9jHm4YLvXXg==";
       };
     };
-    "@aws-sdk/credential-provider-env-3.47.2" = {
+    "@aws-sdk/credential-provider-env-3.52.0" = {
       name = "_at_aws-sdk_slash_credential-provider-env";
       packageName = "@aws-sdk/credential-provider-env";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.47.2.tgz";
-        sha512 = "HQKXY8y51kpTrD7P8fZJNf4MdCdu0+NcdOc+HScrQ21oZJv3BXUwXxKiOWY95Z3jYqyFwSKs1/FFuQ1mV0wjPg==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-env/-/credential-provider-env-3.52.0.tgz";
+        sha512 = "9R8kTMQ3udNz7fyY/0rkU6Yhu0ALYQJZQ0lFCrxtNo2Nlo9taQtZgxhtRcv+EeqbTcJs91voNNz70HLbedtBUw==";
       };
     };
-    "@aws-sdk/credential-provider-imds-3.47.2" = {
+    "@aws-sdk/credential-provider-imds-3.52.0" = {
       name = "_at_aws-sdk_slash_credential-provider-imds";
       packageName = "@aws-sdk/credential-provider-imds";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.47.2.tgz";
-        sha512 = "7fCIofgU5pdKGgbCAYQ8H7sIFluN3oebFyFy7C4eXJyNy/8QKjFHEW3NkNCh0Bkd5sLOqkwYU3nyRx0CbNkEoQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-imds/-/credential-provider-imds-3.52.0.tgz";
+        sha512 = "939kfHSkMLsOfQtO2nBqC/zAE1ecTOCAs72pKvVxrluGzDry4UtwlyQ4YGC04pYBRQeRIqvIOoVbADYJy4XjmQ==";
       };
     };
-    "@aws-sdk/credential-provider-ini-3.48.0" = {
+    "@aws-sdk/credential-provider-ini-3.52.0" = {
       name = "_at_aws-sdk_slash_credential-provider-ini";
       packageName = "@aws-sdk/credential-provider-ini";
-      version = "3.48.0";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.48.0.tgz";
-        sha512 = "PSTfzK8V+3WVJOv+wlS4y09KYZx3iYj4Ad8LMGmGE4aqew8eRf6u2WuTmqrWwuOTxDra9PJ1ObcM5vBc+nZcYA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-ini/-/credential-provider-ini-3.52.0.tgz";
+        sha512 = "MCzWWPYoZjZ3C/X8UXXf9eRqgGJc3Y1QyFXIuQzNrVhffrFkYOkOUQsG4s5TuDr1MmGfxe83XtHQgATJ0fe3zw==";
       };
     };
-    "@aws-sdk/credential-provider-node-3.48.0" = {
+    "@aws-sdk/credential-provider-node-3.52.0" = {
       name = "_at_aws-sdk_slash_credential-provider-node";
       packageName = "@aws-sdk/credential-provider-node";
-      version = "3.48.0";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.48.0.tgz";
-        sha512 = "7CrbUT7yEZvYSQNXxZWN5KUx355wD+xrYIafoEST28T7nwcIiu7l2zpBY3JPhPIPNXqryVKfNQJvKV1dP3wF4g==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-node/-/credential-provider-node-3.52.0.tgz";
+        sha512 = "SUl+t2S7xKHxAkIfuyvucKQ/JemJ/bCsuCk2qtjTSiVjrLx65Rnfw14j+44JU8U5mP+xodpKNCpgIF5PHu1kKQ==";
       };
     };
-    "@aws-sdk/credential-provider-process-3.47.2" = {
+    "@aws-sdk/credential-provider-process-3.52.0" = {
       name = "_at_aws-sdk_slash_credential-provider-process";
       packageName = "@aws-sdk/credential-provider-process";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.47.2.tgz";
-        sha512 = "LBuABkVt/tdSoHy8hdGVnInZx5QADhK90dEHc41+HTTP3bCSNsSBIErkZnmhAD/3AGz7m/4qkPmhJOqzFisY/g==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-process/-/credential-provider-process-3.52.0.tgz";
+        sha512 = "DGaSprlcEGgFuCiXNH9moksa6/1vBmX/G/tt/ulpgFEJmKljoazIEgUse/6oPJT7t5jazydAqMRVp1HK3Jp/0A==";
       };
     };
-    "@aws-sdk/credential-provider-sso-3.48.0" = {
+    "@aws-sdk/credential-provider-sso-3.52.0" = {
       name = "_at_aws-sdk_slash_credential-provider-sso";
       packageName = "@aws-sdk/credential-provider-sso";
-      version = "3.48.0";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.48.0.tgz";
-        sha512 = "31Ill3ZW35dueXb09PpOJ4C8oKdRGypbnycAgLYvvqYlO4LOs9FyQAsw+t2+ExvE6DznM0vkeWTQI3y7HUVYCA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-sso/-/credential-provider-sso-3.52.0.tgz";
+        sha512 = "8Q0X4wro+sPMYkbZE/ZW+CBpjxGq/x/vv4yQh7zdHpNfANhqjTSR8tUCApemVcfPtwNhQNPpW8KrlWUIMguHdg==";
       };
     };
-    "@aws-sdk/credential-provider-web-identity-3.47.2" = {
+    "@aws-sdk/credential-provider-web-identity-3.52.0" = {
       name = "_at_aws-sdk_slash_credential-provider-web-identity";
       packageName = "@aws-sdk/credential-provider-web-identity";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.47.2.tgz";
-        sha512 = "biJo8zJwNk8Dwrd/mkTcu8iLuOlGbsG2Uahta4StkOUhZ733xewOZ4WISLXVLocb/PXLM1lZQgkobwugpFOQRA==";
+        url = "https://registry.npmjs.org/@aws-sdk/credential-provider-web-identity/-/credential-provider-web-identity-3.52.0.tgz";
+        sha512 = "+4qz0PZn9u6HRRNBO9YfIixdItukixPOtLP8tNlgriCh66BC6M1mAXXP/uq2x7kIaMRZtTo3Eey4T/tA0QMkOg==";
       };
     };
-    "@aws-sdk/eventstream-marshaller-3.47.2" = {
+    "@aws-sdk/eventstream-marshaller-3.52.0" = {
       name = "_at_aws-sdk_slash_eventstream-marshaller";
       packageName = "@aws-sdk/eventstream-marshaller";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.47.2.tgz";
-        sha512 = "KRWpWBuICxIJOp5vPe2NzT387uW8Q5IpyMNf8SNmFe9a9yTrg2oIRKkbEHHRNyCRnjbDmpU3Td58V9bpmaBXGw==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-marshaller/-/eventstream-marshaller-3.52.0.tgz";
+        sha512 = "RK5uWIOwae3Yzog8og3+e+k8kpRnjrg9hhOLmq2xG4m5seo7v7S5jfmb0uLX/Uqgd1vWMK5wKFJsdGhnAqykcQ==";
       };
     };
-    "@aws-sdk/eventstream-serde-browser-3.47.2" = {
+    "@aws-sdk/eventstream-serde-browser-3.52.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-browser";
       packageName = "@aws-sdk/eventstream-serde-browser";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.47.2.tgz";
-        sha512 = "dXjJ0eoNCu9P6uOzNcIL0OoXhVbdR/LPTRJCIR7NcfGCmJ4ZXeYwgYcHFTosrT/+SXAFGgsoU23dqA63TFWlMQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-browser/-/eventstream-serde-browser-3.52.0.tgz";
+        sha512 = "Lo1RzjOCvOGDoyq1hdxO7YWsdyc5ZMo0+jf/SDm64ZM8jE4eRUh1iGj0kCOKIIr/tCbzhbvP4SoNDfehJ2rqfA==";
       };
     };
-    "@aws-sdk/eventstream-serde-config-resolver-3.47.2" = {
+    "@aws-sdk/eventstream-serde-config-resolver-3.52.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-config-resolver";
       packageName = "@aws-sdk/eventstream-serde-config-resolver";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.47.2.tgz";
-        sha512 = "LE481skmmWqoPhGyhFWqf/0eEtAFKSJqyzPZEer6yFUpejaijek4Heo6B+Y3cyDGoASuqY4Wum+9q1Z1xPn2BQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-config-resolver/-/eventstream-serde-config-resolver-3.52.0.tgz";
+        sha512 = "yCfYf2MepHPpRTsbGNNLVDbN22woSmNDM2bEeK5gDbyV23MGlnLxjekLKdBbH5M6FUqfMbpsM60gDgJgas3ovA==";
       };
     };
-    "@aws-sdk/eventstream-serde-node-3.47.2" = {
+    "@aws-sdk/eventstream-serde-node-3.52.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-node";
       packageName = "@aws-sdk/eventstream-serde-node";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.47.2.tgz";
-        sha512 = "hrEsbDFaRr7rNJw+qgua+YhkMgSkgR/YhBe+rdI20maaJARIjLo4C8eRqAqrmlE4i2+PU4CvM/fVdL9M3HQXfQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-node/-/eventstream-serde-node-3.52.0.tgz";
+        sha512 = "hL067bWZ875oL+l+Q1Wrhkq/V9727fHeJ1J4Kr/o84hGRnIkN7OiNDLIMyUTrGdc0I4diGUbc8FVJiRtZRmphw==";
       };
     };
-    "@aws-sdk/eventstream-serde-universal-3.47.2" = {
+    "@aws-sdk/eventstream-serde-universal-3.52.0" = {
       name = "_at_aws-sdk_slash_eventstream-serde-universal";
       packageName = "@aws-sdk/eventstream-serde-universal";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.47.2.tgz";
-        sha512 = "Zkfa2kHKNsWSAdO4atr9+JPEtcZzWuJqZHMr8MO5aXAMnKd5BA9XvzyGyhrfpr9HmnoqcbXrcx8iqDxcFEIp5g==";
+        url = "https://registry.npmjs.org/@aws-sdk/eventstream-serde-universal/-/eventstream-serde-universal-3.52.0.tgz";
+        sha512 = "CDMcBJDNDJfGWz2Vk2p1Ef6JbZDVZVZDG8F7Gdhn7RsiMsFf7QiF4vcNEJwQIX25ZSerRqEitBT8nEZEDxEYGw==";
       };
     };
-    "@aws-sdk/fetch-http-handler-3.47.2" = {
+    "@aws-sdk/fetch-http-handler-3.52.0" = {
       name = "_at_aws-sdk_slash_fetch-http-handler";
       packageName = "@aws-sdk/fetch-http-handler";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.47.2.tgz";
-        sha512 = "MZwwKtJwkWPm3Tzh+F3gcts13v1OuZih0slOO4GJpMxq46+lcW4DoW04lNHULJsyduXs4CziH8g65DDh0Yhq6w==";
+        url = "https://registry.npmjs.org/@aws-sdk/fetch-http-handler/-/fetch-http-handler-3.52.0.tgz";
+        sha512 = "pFXkCeEIcrgH8esRyUab1nnIo1cjUjrheqwb/MK3gJ363/kenT6IqYXOq0UO4mF7bn6IOz/yxODlhQIU6i1Vww==";
       };
     };
-    "@aws-sdk/hash-blob-browser-3.47.2" = {
+    "@aws-sdk/hash-blob-browser-3.52.0" = {
       name = "_at_aws-sdk_slash_hash-blob-browser";
       packageName = "@aws-sdk/hash-blob-browser";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.47.2.tgz";
-        sha512 = "DG8kGFUqXH+eQLLQtzTuBxBEuLHJ03w3X2Geq7aNvfwh06OOJW3FYz+FTLH2f2HxqlKOQtf3MsqpH074zKC5/A==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-blob-browser/-/hash-blob-browser-3.52.0.tgz";
+        sha512 = "EhEXgO/cb67EHXl/F1D3vtdv695n1nIrAQLdiTOcNvdMRWLpjb2MkR3GI9tppkTabF4o3allgZVebKVeqINSMQ==";
       };
     };
-    "@aws-sdk/hash-node-3.47.2" = {
+    "@aws-sdk/hash-node-3.52.0" = {
       name = "_at_aws-sdk_slash_hash-node";
       packageName = "@aws-sdk/hash-node";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.47.2.tgz";
-        sha512 = "OpUCNGvchKI1WoOCtCm36gQtECMz2P5mJoXxAHNZQ5qQ69A5Vk/DZs1V24N94M7tl1u7ZpbLsJbWFdu+P4B27g==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-node/-/hash-node-3.52.0.tgz";
+        sha512 = "pN2dSSyyy0emFFtK6jgmzYXcJHITbfdPqR7UTQ1fj1wFvbURPN19C1f4uYbVDjuiUQX01hLclJDLnPy1BIzTGQ==";
       };
     };
-    "@aws-sdk/hash-stream-node-3.47.2" = {
+    "@aws-sdk/hash-stream-node-3.52.0" = {
       name = "_at_aws-sdk_slash_hash-stream-node";
       packageName = "@aws-sdk/hash-stream-node";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.47.2.tgz";
-        sha512 = "ModP4kZkkj4j1djuANwETAwYL1uTcXBHVcVLvy/wVDVLIcEW1TgGBgkY0rSGFE4RWDESTjhLCBKNDgvpxReSLQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/hash-stream-node/-/hash-stream-node-3.52.0.tgz";
+        sha512 = "Khgy6DM2Kpcqbom8dYQtH7GmxnprdQVHsKvhmkReqfksxvrwNwo+S2RCDlceGTVIkELuvyfnVd19JLQO7BnqTw==";
       };
     };
-    "@aws-sdk/invalid-dependency-3.47.2" = {
+    "@aws-sdk/invalid-dependency-3.52.0" = {
       name = "_at_aws-sdk_slash_invalid-dependency";
       packageName = "@aws-sdk/invalid-dependency";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.47.2.tgz";
-        sha512 = "QLIp0Gv9IbSVXru1kS92M4kF9ZgHmVP7Us8dWSu5UC7LJt6Uxhxjb+e+F0h9qY1Z3Prior12I4r5COgVO3dWxA==";
+        url = "https://registry.npmjs.org/@aws-sdk/invalid-dependency/-/invalid-dependency-3.52.0.tgz";
+        sha512 = "TjRzfFFiY4i/a9ry5llCQMiIwpyhIyriM2QuPgAdRaRPM076I01FohUzlAc7zgwwhCa5rpI4zRZ+auGPrU44Gw==";
       };
     };
-    "@aws-sdk/is-array-buffer-3.47.1" = {
+    "@aws-sdk/is-array-buffer-3.52.0" = {
       name = "_at_aws-sdk_slash_is-array-buffer";
       packageName = "@aws-sdk/is-array-buffer";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.47.1.tgz";
-        sha512 = "HQMvT3dP6DCjmn87WkzYxUF9RqkvuXgKfddLEKj/tg/OgDQJv9xIPjEEry8Fd36ncbBqaBmC/z2ETZhpzHQvXA==";
+        url = "https://registry.npmjs.org/@aws-sdk/is-array-buffer/-/is-array-buffer-3.52.0.tgz";
+        sha512 = "5Pe9QKrOeSZb9Z8gtlx9CDMfxH8EiNdClBfXBbc6CiUM7y6l7UintYHkm133zM5XTqtMRYY1jaD8svVAoRPApA==";
       };
     };
-    "@aws-sdk/md5-js-3.47.2" = {
+    "@aws-sdk/md5-js-3.52.0" = {
       name = "_at_aws-sdk_slash_md5-js";
       packageName = "@aws-sdk/md5-js";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.47.2.tgz";
-        sha512 = "APIz8mCPscYG6gCxvC2dbrBfpM3jHwAh+VqTmGHHxxO1AAP3y5ohtdl/2MsKtEPKuyT1IX2/YoUwcOyJj65xmw==";
+        url = "https://registry.npmjs.org/@aws-sdk/md5-js/-/md5-js-3.52.0.tgz";
+        sha512 = "M0oHeBDvXCapQvvGzzlMrkW1vRfExngB/Gn93Vmdpt97+ieHkfHgo9fU/erQKb+HwnlZbhVJW3vEgfHPLvql6A==";
       };
     };
-    "@aws-sdk/middleware-apply-body-checksum-3.47.2" = {
+    "@aws-sdk/middleware-apply-body-checksum-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-apply-body-checksum";
       packageName = "@aws-sdk/middleware-apply-body-checksum";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.47.2.tgz";
-        sha512 = "sjZZZ7hOR9retsblYOs4cgsVg7r1Sfuvr/aIx16XXv3TeAk7fz8JTRf5STxMM6YkGIVMbvBOHpMNvcGGgJQhZQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-apply-body-checksum/-/middleware-apply-body-checksum-3.52.0.tgz";
+        sha512 = "f5ynflavshbkmV4ZpcwW2WoYAP69bOpv8bUPNsiKEzL07q6ZperkIaYre9BajNMxGN+UNSoE5CQIvRGcwC6UxA==";
       };
     };
-    "@aws-sdk/middleware-bucket-endpoint-3.47.2" = {
+    "@aws-sdk/middleware-bucket-endpoint-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-bucket-endpoint";
       packageName = "@aws-sdk/middleware-bucket-endpoint";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.47.2.tgz";
-        sha512 = "VrUrkAUS3CqI7tK3r0c0oT+1SE1L+euyq6j6Jt3XOjRMUXCkArecVkr3jEprbpVDiAkaTXEJE77iL1+98twiYA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-bucket-endpoint/-/middleware-bucket-endpoint-3.52.0.tgz";
+        sha512 = "KOq8kTzhWYiwits89pnCduL7ojijthfFR5PRvLW6IwQbPxIg/AjdO5gYbMUTLaVAO1b7LoI3ztk+lmLQ2yvjOA==";
       };
     };
-    "@aws-sdk/middleware-content-length-3.47.2" = {
+    "@aws-sdk/middleware-content-length-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-content-length";
       packageName = "@aws-sdk/middleware-content-length";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.47.2.tgz";
-        sha512 = "rpLtN6BczAfJnH1fpXyUOMdDFN3xrky3QZ4SULVgTLXNMOvN5zDJnjwUh/QNgEaEQhxd6lroVJSgosG3357kWg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-content-length/-/middleware-content-length-3.52.0.tgz";
+        sha512 = "U+aa8UswtEvEdt4vvX+C4b+vetSpG6PZVeGN/hZ2J0j3jQxODQtjKHU3VIO+Fvp8m9rSCtcfAPly5CcejHLeKw==";
       };
     };
-    "@aws-sdk/middleware-expect-continue-3.47.2" = {
+    "@aws-sdk/middleware-expect-continue-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-expect-continue";
       packageName = "@aws-sdk/middleware-expect-continue";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.47.2.tgz";
-        sha512 = "sLv5q8+POzpMvp9dx/OInFr6VWJreHOGFoauYN1n7a+8dmhr9tycBLq/j+eBXI2FWwC3dXCBdrC9qs4ieSRe0Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-expect-continue/-/middleware-expect-continue-3.52.0.tgz";
+        sha512 = "1rpD1I/HwDdVAW9wBtLv34gxrfkfLEyTEj2Y/1Qh/62rMX7KbBT0CmbbO33upOqyrsJDW961Mu/d5cVZW1N3XQ==";
       };
     };
-    "@aws-sdk/middleware-header-default-3.47.2" = {
+    "@aws-sdk/middleware-header-default-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-header-default";
       packageName = "@aws-sdk/middleware-header-default";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.47.2.tgz";
-        sha512 = "fCcQaQ/ac+h8nS8d8nSrvP/scNTCdkHQ8PpNXo7nSz4a67xbxxln61T4iHOin8z0m62NlFrhtMdlQTtDqDEZVg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-header-default/-/middleware-header-default-3.52.0.tgz";
+        sha512 = "ts5kuAnLjC9HW9W/vkCrlMa4a5DG45BkOjhYhD4YZCDBt9+E/N5Pt/14jmTdTO5LQ26zVC6Z3ByBXXayDKEIow==";
       };
     };
-    "@aws-sdk/middleware-host-header-3.47.2" = {
+    "@aws-sdk/middleware-host-header-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-host-header";
       packageName = "@aws-sdk/middleware-host-header";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.47.2.tgz";
-        sha512 = "sDIGydvdO1LC7VQntTDMK+YYLRVCJAhrsCT8SxyAX0Jhu7Ek1BfRZzSZDwapL+idbMyyKsB80NpNoTWuKRrrew==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-host-header/-/middleware-host-header-3.52.0.tgz";
+        sha512 = "t7y0gtJyFNrS6bwluR7N2LtppA7B0SDk+uNlvOJOYnJRms89fXltyMJWl8wrv8IHHvrhRLwNEP22vvOhn3hriA==";
       };
     };
-    "@aws-sdk/middleware-location-constraint-3.47.2" = {
+    "@aws-sdk/middleware-location-constraint-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-location-constraint";
       packageName = "@aws-sdk/middleware-location-constraint";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.47.2.tgz";
-        sha512 = "b6ozPYnInQB1Iv+UjLyhunTCUcw54AKtUO7Mj2QLT2GqCPDPry7ZmAC9Qtfv4Itv7HyM4VfR1roAGKZwT4zxQw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-location-constraint/-/middleware-location-constraint-3.52.0.tgz";
+        sha512 = "P+RfKVXL6X+vu7e54vu73TNje15y+Jo1VEbBpFGz5wYsLlBO58e6utDYLOYLwj+WzLqShSzZX9ejZzxrOSYQdQ==";
       };
     };
-    "@aws-sdk/middleware-logger-3.47.2" = {
+    "@aws-sdk/middleware-logger-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-logger";
       packageName = "@aws-sdk/middleware-logger";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.47.2.tgz";
-        sha512 = "Oz14cAaYmtzMYw0/ehlVLvMF4gqQS0qaYWGyyR4a3nONiwEDzxNMEQiEg7i8VgsP4usK7lfYZLXgwSmqo7uCzg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-logger/-/middleware-logger-3.52.0.tgz";
+        sha512 = "YbFuJAsOPvbYe64gpqmS6XmEQXwyAGwH3Y4iOp3CnrGAz/zXbwWwzb653Uby+h4PVkTZ1+RviCO/A6si9bUkhw==";
       };
     };
-    "@aws-sdk/middleware-retry-3.47.2" = {
+    "@aws-sdk/middleware-retry-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-retry";
       packageName = "@aws-sdk/middleware-retry";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.47.2.tgz";
-        sha512 = "qgAE/+hVGXQDkqbVo+uFeb+N7mr7kBi0Oc1Fm490fm3uLQnXuyu3suIix//wxNejoLwIgKQGSLrQNgnXtuvhxw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-retry/-/middleware-retry-3.52.0.tgz";
+        sha512 = "O+4mfn7OPv1POYagKwOgdlc16AQFWa4bY05g6Y94KZ2400ywNpK+Y2cwdskyNU3OTGOlluVGR21W5eO1b+XhNg==";
       };
     };
-    "@aws-sdk/middleware-sdk-s3-3.47.2" = {
+    "@aws-sdk/middleware-sdk-s3-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-s3";
       packageName = "@aws-sdk/middleware-sdk-s3";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.47.2.tgz";
-        sha512 = "KjcrHHDIn4QCh8pTRVT2u8uOnpdPYVB2p+xblwyRvJt2VLhgJbgNpRy8pOwNo2lyfbOKrmWeBk4x0NduiXle8g==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-s3/-/middleware-sdk-s3-3.52.0.tgz";
+        sha512 = "M9ivvdTEPFoFUgfGLdFeRxFGRh/Edq6tevSnWjdOoLTgbzq8tnuKkj9v3gKsIN+a1QWP6Ef0ThH/jyuFDcBEnQ==";
       };
     };
-    "@aws-sdk/middleware-sdk-sts-3.47.2" = {
+    "@aws-sdk/middleware-sdk-sts-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-sdk-sts";
       packageName = "@aws-sdk/middleware-sdk-sts";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.47.2.tgz";
-        sha512 = "KlO4cYb4Bxf/Jg/uxlxRrFvxUR/DmjMIS+JRZNGqK4XyYA+apYZkfM0XUtMiKc491n/euluf9A0AyTxpMgixxg==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-sdk-sts/-/middleware-sdk-sts-3.52.0.tgz";
+        sha512 = "NB1wHvOp+I6DXi5fPutyl9dAWvJYqzRqdi8lMeu02ub/d6nybrAjoB56za1LvGblcoEiYClf1A6dTKtmydgzFQ==";
       };
     };
-    "@aws-sdk/middleware-serde-3.47.2" = {
+    "@aws-sdk/middleware-serde-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-serde";
       packageName = "@aws-sdk/middleware-serde";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.47.2.tgz";
-        sha512 = "Gjw+fkG4UvvbP5LrGW1FzUq0IJB6QIBFxStE0gbyjkKNYtcb9c0R3dIwH5CSECtelDZScytwmBKaVe8NGi6wJA==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-serde/-/middleware-serde-3.52.0.tgz";
+        sha512 = "4ZooINTdOI4+T6pEiu8xte5EEhOqbE/wqOwBzvOASk3JKElZ93u6xKP2u7UKVD6asBBYK2mDrYSy1PsU4fNl4A==";
       };
     };
-    "@aws-sdk/middleware-signing-3.47.2" = {
+    "@aws-sdk/middleware-signing-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-signing";
       packageName = "@aws-sdk/middleware-signing";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.47.2.tgz";
-        sha512 = "r6/2gf5gwkVdI7EOa1TdYdfzOdCF3jkhjLi98c3nAxZNxZFGwoycIy7Bd6sCfOdcmk8NyVmR0APpsgD9q+a3nw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-signing/-/middleware-signing-3.52.0.tgz";
+        sha512 = "7FUqmZQ5DzaDJYCJ3YmOHRFEyFeohtsDQ1akWD2qekcjp16ftBtk05Fi9am5/L7pO8svVzobji/wg00Tlq183A==";
       };
     };
-    "@aws-sdk/middleware-ssec-3.47.2" = {
+    "@aws-sdk/middleware-ssec-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-ssec";
       packageName = "@aws-sdk/middleware-ssec";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.47.2.tgz";
-        sha512 = "dRNQJjvlg4omfhAfSYtZva4OpS/58aLO7y8l2o5sQHGPwob5OYO5zfPioi4h68UZw1fagG962hUywOkVJDJAuw==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-ssec/-/middleware-ssec-3.52.0.tgz";
+        sha512 = "lEswW+Hf5tvkPs6aNRbPF5/Iizh62lq4NK6bZjvQF6kqyUoIGhOehQOZMmTm6jw0058KVhrzNIKipBpi7LuF6w==";
       };
     };
-    "@aws-sdk/middleware-stack-3.47.2" = {
+    "@aws-sdk/middleware-stack-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-stack";
       packageName = "@aws-sdk/middleware-stack";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.47.2.tgz";
-        sha512 = "9wedI1L92stvg5fs6Y3CbUXYLZIYdI3Mrdqex+ulNRuepgZNORsk+dnb8rTkf9cO3nuWRrnfKBLc/uiTcA1dww==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-stack/-/middleware-stack-3.52.0.tgz";
+        sha512 = "4OTbQ+tWc6Le7es3kSnXBzCyddcUw6Sk2GupR/1+PD9v4/qvtKXXK+uD4bMDDMfi6dTNV+2riOGBniOtBVsayw==";
       };
     };
-    "@aws-sdk/middleware-user-agent-3.47.2" = {
+    "@aws-sdk/middleware-user-agent-3.52.0" = {
       name = "_at_aws-sdk_slash_middleware-user-agent";
       packageName = "@aws-sdk/middleware-user-agent";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.47.2.tgz";
-        sha512 = "LF5gOi37lJ3tkuDSqZVKHmqYY8oTIUTEdmPVUbBQtPKsx9xfCNbMNVAP+C+7bnbt6StZIZsvtu0M144yNFXPGQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.52.0.tgz";
+        sha512 = "sfdJvAp/f4PHmQvSklFAuCpD7gqloG502gSmBAMrXKqYykvQ5SAGyr6sCZPWf8CZxKtn5n4ftg8CLKywwrKwmg==";
       };
     };
-    "@aws-sdk/node-config-provider-3.47.2" = {
+    "@aws-sdk/node-config-provider-3.52.0" = {
       name = "_at_aws-sdk_slash_node-config-provider";
       packageName = "@aws-sdk/node-config-provider";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.47.2.tgz";
-        sha512 = "POdigo6ZXLRVWhmjE21Y1Q1ziPnM/c3rH0wHgzAtdx0Mfn6/9jS77QHMkZzC8MJ7lzgXVFDWM25evVZqdYrh+g==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-config-provider/-/node-config-provider-3.52.0.tgz";
+        sha512 = "vfeTzkfVtGaNQrnhCRMObqid0shxFtNFEnnU1Nnx7HsgBfag2/T6fnsDzdVGaliQ6nmfg+RMrhzw2VECyBTHQQ==";
       };
     };
-    "@aws-sdk/node-http-handler-3.47.2" = {
+    "@aws-sdk/node-http-handler-3.52.0" = {
       name = "_at_aws-sdk_slash_node-http-handler";
       packageName = "@aws-sdk/node-http-handler";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.47.2.tgz";
-        sha512 = "X2Y+H2DBoeDnrSe5rsVc63uhext230AuG/+hIFHK2/HkyG9DiiHKNCNj2w8N4FLWEX3l8KDif3C7BqYxj9ZkDg==";
+        url = "https://registry.npmjs.org/@aws-sdk/node-http-handler/-/node-http-handler-3.52.0.tgz";
+        sha512 = "MjLkndwLuWye1kavyFnDw5BvK8Rg4YpMULTne++OL/uEsxWO786K+QQMyLWkirPe+ELMEYu/3eOrQTly2tqHsA==";
       };
     };
-    "@aws-sdk/property-provider-3.47.2" = {
+    "@aws-sdk/property-provider-3.52.0" = {
       name = "_at_aws-sdk_slash_property-provider";
       packageName = "@aws-sdk/property-provider";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.47.2.tgz";
-        sha512 = "0NiVJ6+JtRC8XOvNb1ofHtsjINrinC1/fDKvl/bDtJDhehC5EcIeiDQmHFUhGsgTyD+VpmuHj7E4AlV6BchNPQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/property-provider/-/property-provider-3.52.0.tgz";
+        sha512 = "Ooam7CvGefHKhMwQ413MiEtDTFw70xbCduJCF7Bg1F0WKrf700M/Yte+q3E0ljlXWJ28rwJNgwW3ptZaSXMGPg==";
       };
     };
-    "@aws-sdk/protocol-http-3.47.2" = {
+    "@aws-sdk/protocol-http-3.52.0" = {
       name = "_at_aws-sdk_slash_protocol-http";
       packageName = "@aws-sdk/protocol-http";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.47.2.tgz";
-        sha512 = "XAQFbSigJD0fk61nSR6y6TMv3+o1IjymltWuDmGEtoI25pisC2M3A+3/xO9YHag/41CSgt9nQ+lh1iC4UlKKJw==";
+        url = "https://registry.npmjs.org/@aws-sdk/protocol-http/-/protocol-http-3.52.0.tgz";
+        sha512 = "L6ITU9NG0L6nyYfzhSLa0EsgDlyL1vHNz+Om9o7TayUUF7O0f3UiZToWf2hdETQ04Os8625aZt0VH92ZnYyeEw==";
       };
     };
-    "@aws-sdk/querystring-builder-3.47.2" = {
+    "@aws-sdk/querystring-builder-3.52.0" = {
       name = "_at_aws-sdk_slash_querystring-builder";
       packageName = "@aws-sdk/querystring-builder";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.47.2.tgz";
-        sha512 = "rsckQ262jFSDVES6rOuTnSDM9XEbM57zxeBj5BtD6eCnyUD0G4FZa1xZRum4khoxfff6/eJ+i2uncKrEk1v+EQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-builder/-/querystring-builder-3.52.0.tgz";
+        sha512 = "RfNXqKeR6mdg2n2LO5Vs2Bz+f47/KN5k36HWk04bSwIbhnBtslXBp0F1KgSPkeP56KEgmmUWldRD7g8BvDkgAw==";
       };
     };
-    "@aws-sdk/querystring-parser-3.47.2" = {
+    "@aws-sdk/querystring-parser-3.52.0" = {
       name = "_at_aws-sdk_slash_querystring-parser";
       packageName = "@aws-sdk/querystring-parser";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.47.2.tgz";
-        sha512 = "28BirdFhZ+Y2pUMuI9r1ATgcQyt4q3cSqqpLSy7ADGb7xHde6oA/ZfRdX/s7OVIHoAfhrjAeI+TbYjwso9F/HA==";
+        url = "https://registry.npmjs.org/@aws-sdk/querystring-parser/-/querystring-parser-3.52.0.tgz";
+        sha512 = "/A6PauieStZajbkxX3sZSBBDacGDc3I/Sk7rjJulmg1GnizeVcUgx1OUdDh1JasdqA1h9E3ks/Y2Lu3xUMctLw==";
       };
     };
-    "@aws-sdk/s3-request-presigner-3.48.0" = {
+    "@aws-sdk/s3-request-presigner-3.52.0" = {
       name = "_at_aws-sdk_slash_s3-request-presigner";
       packageName = "@aws-sdk/s3-request-presigner";
-      version = "3.48.0";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.48.0.tgz";
-        sha512 = "JEkTJ5FE1MY8NHNLj2AeW2R+mIODHGVSq6eC4+aRBHFZqY+EYM7mkML0brggXjrofUaktZ5Z83ssBwzP2XAj8A==";
+        url = "https://registry.npmjs.org/@aws-sdk/s3-request-presigner/-/s3-request-presigner-3.52.0.tgz";
+        sha512 = "6TGPTP5L3+nfOR5K+AQNS1NDp1aYxozQ5vW4KGI+P1XVnLZZ36Ey3VoCdrmI2b6b8qy9pT3c3bXfPwEN4gSIOQ==";
       };
     };
-    "@aws-sdk/service-error-classification-3.47.2" = {
+    "@aws-sdk/service-error-classification-3.52.0" = {
       name = "_at_aws-sdk_slash_service-error-classification";
       packageName = "@aws-sdk/service-error-classification";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.47.2.tgz";
-        sha512 = "oJCJbAPYhTNguJUhD8hlD7ibWIDpkvGrhkcq89gxBcXHPl/2/kjsii0gr302IH452IJlumpVe5wOXoZeqZYjaw==";
+        url = "https://registry.npmjs.org/@aws-sdk/service-error-classification/-/service-error-classification-3.52.0.tgz";
+        sha512 = "2bpSIZCx5VGp2CBTeXK6PxlBYWrn2wiqxBVYstDRExZ8P7edcwPRgWi8qaKgPM2wvstZwJieF774niiuLddIpg==";
       };
     };
-    "@aws-sdk/shared-ini-file-loader-3.47.1" = {
+    "@aws-sdk/shared-ini-file-loader-3.52.0" = {
       name = "_at_aws-sdk_slash_shared-ini-file-loader";
       packageName = "@aws-sdk/shared-ini-file-loader";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.47.1.tgz";
-        sha512 = "f0eVOMYkT4H0gOf1B9lw65/xeTa7rT9hocVB7DbjWk8Ifv46Uvlb4ZyYOLZIBDQyFNFrD/HHvja3BkzfV0MEOA==";
+        url = "https://registry.npmjs.org/@aws-sdk/shared-ini-file-loader/-/shared-ini-file-loader-3.52.0.tgz";
+        sha512 = "tALb8u8IVcI4pT7yFZpl4O6kgeY5EAXyphZoRPgQSCDhmEyFUIi/sXbCN8HQiHjnHdWfXdaNE1YsZcW3GpcuoQ==";
       };
     };
-    "@aws-sdk/signature-v4-3.47.2" = {
+    "@aws-sdk/signature-v4-3.52.0" = {
       name = "_at_aws-sdk_slash_signature-v4";
       packageName = "@aws-sdk/signature-v4";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.47.2.tgz";
-        sha512 = "zJIhUY8LLiQldfM9wpgVw525dHbILJovyZm3xmm6Tq/t258cawNaeOvOp9w0I3ycA3gs+nKgMXdeMjLH8QLbWg==";
+        url = "https://registry.npmjs.org/@aws-sdk/signature-v4/-/signature-v4-3.52.0.tgz";
+        sha512 = "lSlDASXGLup5v12kclzT2ZLoUnnVLknSRcMXrTVjnX7spmHMbs6s7LOcN0RXZzFIACs7vW+930KUzhBxt8UiFQ==";
       };
     };
-    "@aws-sdk/smithy-client-3.47.2" = {
+    "@aws-sdk/smithy-client-3.52.0" = {
       name = "_at_aws-sdk_slash_smithy-client";
       packageName = "@aws-sdk/smithy-client";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.47.2.tgz";
-        sha512 = "vCzZodWyKmLzC+N/B1GzDjKD8I5b/ILTwPHaaH7yJdncISq/3jyTMJVW7mZHbDX61a18rL/bADnIxEd524Y2hQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/smithy-client/-/smithy-client-3.52.0.tgz";
+        sha512 = "GuOJuoA1kky/v2p7byOZGq7YOiu2Ov8DA3d58gM6L/q7XavBjnzwNB/BYU7SPU3Ly6S7qGxBJFeadufic4bCYg==";
       };
     };
-    "@aws-sdk/types-3.47.1" = {
+    "@aws-sdk/types-3.52.0" = {
       name = "_at_aws-sdk_slash_types";
       packageName = "@aws-sdk/types";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.47.1.tgz";
-        sha512 = "c+lxJJLD5Bq8HkrgaIWQfK8oGH53CYpRRJizyQ5qfRo9aXp/qshUnIVcgnA8t0k7jfzcIfa0Q7jSSBw3EerEbg==";
+        url = "https://registry.npmjs.org/@aws-sdk/types/-/types-3.52.0.tgz";
+        sha512 = "5deI1v6Fr7/a+TT9hPuiy6I/L/7uJTda3q3DEvUd0CsGbBB/fcDXJg8jlnMHcmw7mkfP9vE553ZJQS3Cb0v4vg==";
       };
     };
-    "@aws-sdk/url-parser-3.47.2" = {
+    "@aws-sdk/url-parser-3.52.0" = {
       name = "_at_aws-sdk_slash_url-parser";
       packageName = "@aws-sdk/url-parser";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.47.2.tgz";
-        sha512 = "xapm+8toLY1FJmdGWl/YWCGSbbzPitiKmcg9+NP1DIyZyHjzeG5vBZ2SYejYtGOf+Qn1VKyNN2+Qs049FOsh6w==";
+        url = "https://registry.npmjs.org/@aws-sdk/url-parser/-/url-parser-3.52.0.tgz";
+        sha512 = "/9OJwol/384jsISiAs5JX7fkgd9mv7hJsHFCVXnByim5qTZu1V9fMcJYJ1L3iRmfCRy0w75UDJljIx2RZnwAYw==";
       };
     };
-    "@aws-sdk/util-arn-parser-3.47.1" = {
+    "@aws-sdk/util-arn-parser-3.52.0" = {
       name = "_at_aws-sdk_slash_util-arn-parser";
       packageName = "@aws-sdk/util-arn-parser";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.47.1.tgz";
-        sha512 = "Q+tZjYyBeWMyPJ6+l42JXS7gt5crXywJbLDGjoLoS+Ba0JDB5zp8IMRLzGzQpTO+VnbL4ZyEEUVEihyqFbB0iw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-arn-parser/-/util-arn-parser-3.52.0.tgz";
+        sha512 = "mMsoYJ70+BGkVpdfQbu942v4fAGzx+pIL8+QnQhzUmcU0HbNkI0vYliMWfzz7ka9CHgbijUI/ANKA319zgKtvA==";
       };
     };
-    "@aws-sdk/util-base64-browser-3.47.1" = {
+    "@aws-sdk/util-base64-browser-3.52.0" = {
       name = "_at_aws-sdk_slash_util-base64-browser";
       packageName = "@aws-sdk/util-base64-browser";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.47.1.tgz";
-        sha512 = "asStae2d1xvgs3czWvvVb4JWHfY2iV8yximL4MwF+Lb8XG/b8LH3tG1E5axAFVMBcljdvRB941N7w3rug7V9ig==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-base64-browser/-/util-base64-browser-3.52.0.tgz";
+        sha512 = "xjv/cQ4goWXAiGEC/AIL/GtlHg4p4RkQKs6/zxn9jOxo1OnbppLMJ0LjCtv4/JVYIVGHrx0VJ8Exyod7Ln+NeA==";
       };
     };
-    "@aws-sdk/util-base64-node-3.47.2" = {
+    "@aws-sdk/util-base64-node-3.52.0" = {
       name = "_at_aws-sdk_slash_util-base64-node";
       packageName = "@aws-sdk/util-base64-node";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.47.2.tgz";
-        sha512 = "0Oml66+9/uERV1dosecA/1tEd0zdiwI3kEobCF5w2f4gJDzUdaEoztcRwtbLcFv6yVT7XoW4evMQbtlcruypcQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-base64-node/-/util-base64-node-3.52.0.tgz";
+        sha512 = "V96YIXBuIiVu7Zk72Y9dly7Io9cYOT30Hjf77KAkBeizlFgT5gWklWYGcytPY8FxLuEy4dPLeHRmgwQnlDwgPA==";
       };
     };
-    "@aws-sdk/util-body-length-browser-3.47.1" = {
+    "@aws-sdk/util-body-length-browser-3.52.0" = {
       name = "_at_aws-sdk_slash_util-body-length-browser";
       packageName = "@aws-sdk/util-body-length-browser";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.47.1.tgz";
-        sha512 = "qR307MATPC+4JtN7W9sSkchfdB3O4mulLKRpk7rF6Ns6vVwhaPfJstSGe9Qa68zYZXubF9h5WnoWuJz4N0Vqdw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-browser/-/util-body-length-browser-3.52.0.tgz";
+        sha512 = "8omOgIGmopUtwg3XaeyvqacxrIrCsDKUVQp5n+8iLmyYt5mQM70vXbUC273GJzKDtibGDfxiN4FqSLBlo9F/oQ==";
       };
     };
-    "@aws-sdk/util-body-length-node-3.47.1" = {
+    "@aws-sdk/util-body-length-node-3.52.0" = {
       name = "_at_aws-sdk_slash_util-body-length-node";
       packageName = "@aws-sdk/util-body-length-node";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.47.1.tgz";
-        sha512 = "U2K7+gi3bAQBb3WB1/trvA+4rPC2SKH9w/sRtqBwtxHNOjXjiCiF3oEYnbir7cdSfhzMH4HBYKbfkHZwTAHMfw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-body-length-node/-/util-body-length-node-3.52.0.tgz";
+        sha512 = "1WWsGh0hip4y1uvOLFV2v3Nvq3W35dmW5YniCi0gQDBLc5JHES8Zka7yoCDYOfaYFUodVH5mC/jFBjGRQ3TpDw==";
       };
     };
-    "@aws-sdk/util-buffer-from-3.47.2" = {
+    "@aws-sdk/util-buffer-from-3.52.0" = {
       name = "_at_aws-sdk_slash_util-buffer-from";
       packageName = "@aws-sdk/util-buffer-from";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.47.2.tgz";
-        sha512 = "oLytLGiIeJEk7FcT7bdeQNv7+vvVVPuL5hyXlCjHZwoWuDxepjoDhTaIC9Isq1UyPKfSZaVpk/1nqREe4aYDHw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-buffer-from/-/util-buffer-from-3.52.0.tgz";
+        sha512 = "hsG0lMlHjJUFoXIy59QLn6x4QU/vp/e0t3EjdD0t8aymB9iuJ43UeLjYTZdrOgtbWb8MXEF747vwg+P6n+4Lxw==";
       };
     };
-    "@aws-sdk/util-config-provider-3.47.1" = {
+    "@aws-sdk/util-config-provider-3.52.0" = {
       name = "_at_aws-sdk_slash_util-config-provider";
       packageName = "@aws-sdk/util-config-provider";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.47.1.tgz";
-        sha512 = "kBs+YghZaOqChxLZDTR8dw5RQxJ/qF064EjRpC+TdCegLCO2UtZ97RXBvc5mdt94OxXGjGUjDiD/eAlpjjFNXw==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-config-provider/-/util-config-provider-3.52.0.tgz";
+        sha512 = "1wonBNkOOLJpMZnz2Kn69ToFgSoTTyGzJInir8WC5sME3zpkb5j41kTuEVbImNJhVv9MKjmGYrMeZbBVniLRPw==";
       };
     };
-    "@aws-sdk/util-create-request-3.47.2" = {
+    "@aws-sdk/util-create-request-3.52.0" = {
       name = "_at_aws-sdk_slash_util-create-request";
       packageName = "@aws-sdk/util-create-request";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.47.2.tgz";
-        sha512 = "AfYWBTfChMaYPnaMpjUOOMnJgkWna4MhhxK2NxzbIg+f6+jKXLa6gA9CC421K+SqvLs+RxVRy25brnZAKdMkkg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-create-request/-/util-create-request-3.52.0.tgz";
+        sha512 = "j2KJf4SsAuMNZw92T+ti8VoJ1wILlZl81+3ZvIWho4k3hvjf05eXH/l4P0tZ7aCRfljx+NoaJbuKAT7XcpDQ5Q==";
       };
     };
-    "@aws-sdk/util-credentials-3.47.2" = {
+    "@aws-sdk/util-credentials-3.52.0" = {
       name = "_at_aws-sdk_slash_util-credentials";
       packageName = "@aws-sdk/util-credentials";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.47.2.tgz";
-        sha512 = "C0L8pfZkJyWfuvLVRcM2Ff11t2mkM4lzjNBnQKdL80wuASZWCnAi50oUKBgwbHZdOsRKGV7C4zqAuTLTRaFpCQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-credentials/-/util-credentials-3.52.0.tgz";
+        sha512 = "fNcm2cNzDHWt5Pr6xD2FXA40jkcgClsbumuI0VBhLEyNLfoetwPImKTpqbxo1XfWVxhqIbT/ELnrbS2OYBRIXg==";
       };
     };
-    "@aws-sdk/util-defaults-mode-browser-3.47.2" = {
+    "@aws-sdk/util-defaults-mode-browser-3.52.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-browser";
       packageName = "@aws-sdk/util-defaults-mode-browser";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.47.2.tgz";
-        sha512 = "ojAF5k/VFbPvJoj6/G6ekVQhbFvabUBvRhRaoQjkmj8LVEahtzcNcOxhu3FmH17mXR2oxWsGwvq6VAw6V3jLBg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-browser/-/util-defaults-mode-browser-3.52.0.tgz";
+        sha512 = "N2/DHJ/OfiQ5zP97k9cJ8jSGiWDjtR7oFqXR+wbKZzKOww6vencMPYlndU6v1uZOKEjoj+NBr5N0jPEjCz+6+g==";
       };
     };
-    "@aws-sdk/util-defaults-mode-node-3.47.2" = {
+    "@aws-sdk/util-defaults-mode-node-3.52.0" = {
       name = "_at_aws-sdk_slash_util-defaults-mode-node";
       packageName = "@aws-sdk/util-defaults-mode-node";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.47.2.tgz";
-        sha512 = "O35bXeahlepgPxg72XDN+5cXlbs+jZec5AH+7YYI+ldEVu6WxF0MxeQtMG4Fqpb19bpPIPz0SodHM1D1I53S5w==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-defaults-mode-node/-/util-defaults-mode-node-3.52.0.tgz";
+        sha512 = "vmbvirg5edfNKBin8Mup2noxgqIYzYPnvk+BgIx3jFPvwT57WGRs/ahOMNqHgv/6xAdVaUjz8g7gw9Yy3mwP3A==";
       };
     };
-    "@aws-sdk/util-format-url-3.47.2" = {
+    "@aws-sdk/util-format-url-3.52.0" = {
       name = "_at_aws-sdk_slash_util-format-url";
       packageName = "@aws-sdk/util-format-url";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.47.2.tgz";
-        sha512 = "iH1QLQb7E7YV006QSxroXlM3ZhWdcG7GLGgjGrCT32mIwJwUyXWw5rvWL9Vxc7yCABWD5s0TzUCgf4VXLUA3NA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-format-url/-/util-format-url-3.52.0.tgz";
+        sha512 = "Rkfz6dz4sPh0poMmaQIf7e0q2XrQic4D0Wx99N3+OtT/WHQCR8UAjyijxC5jDQwhyNkqNNdIYQd7Xz5o6X9eRQ==";
       };
     };
-    "@aws-sdk/util-hex-encoding-3.47.1" = {
+    "@aws-sdk/util-hex-encoding-3.52.0" = {
       name = "_at_aws-sdk_slash_util-hex-encoding";
       packageName = "@aws-sdk/util-hex-encoding";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.47.1.tgz";
-        sha512 = "9vBhp1E74s6nImK5xk7BkopQ10w6Vk8UrIinu71U7V/0PdjCEb4Jmnn++MLyim2jTT0QEGmJ6v0VjPZi9ETWaA==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-hex-encoding/-/util-hex-encoding-3.52.0.tgz";
+        sha512 = "YYMZg8odn/hBURgL/w82ay2mvPqXHMdujlSndT1ddUSTRoZX67N3hfYYf36nOalDOjNcanIvFHe4Fe8nw+8JiA==";
       };
     };
-    "@aws-sdk/util-locate-window-3.47.1" = {
+    "@aws-sdk/util-locate-window-3.52.0" = {
       name = "_at_aws-sdk_slash_util-locate-window";
       packageName = "@aws-sdk/util-locate-window";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.47.1.tgz";
-        sha512 = "dMcBhtyJ7ZMNS8RS4UOVbkiR0gGrBWv+p1s9NLfMNXod9zaTAlMIKl9de8Xdshguvc8//J7heQV/7+HMvFEq2g==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-locate-window/-/util-locate-window-3.52.0.tgz";
+        sha512 = "l10U2cLko6070A9DYLJG4NMtwYH8JBG2J/E+RH8uY3lad2o6fGEIkJU0jQbWbUeHYLG3IWuCxT47V4gxYrFj7g==";
       };
     };
-    "@aws-sdk/util-uri-escape-3.47.1" = {
+    "@aws-sdk/util-uri-escape-3.52.0" = {
       name = "_at_aws-sdk_slash_util-uri-escape";
       packageName = "@aws-sdk/util-uri-escape";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.47.1.tgz";
-        sha512 = "CGqm+bT07OCJSgDo48/4Fegh9tNPR3kcOMfNWZ/J6lrt+nfAnOdXx5zZB63PjKCt5zJ7LM0thOQgAeOf2WdJzQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-uri-escape/-/util-uri-escape-3.52.0.tgz";
+        sha512 = "W9zw5tE8syjg17jiCYtyF99F0FgDIekQdLg+tQGobw9EtCxlUdg48UYhifPfnjvVyADRX2ntclHF9NmhusOQaQ==";
       };
     };
-    "@aws-sdk/util-user-agent-browser-3.47.2" = {
+    "@aws-sdk/util-user-agent-browser-3.52.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-browser";
       packageName = "@aws-sdk/util-user-agent-browser";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.47.2.tgz";
-        sha512 = "dstakqLW8hXRMzR/s3uLpfYbMs/qDowG/Fp123cAuln4rUODG29VNFLkMAYRnG6RQ9hf2OtXsCfFGNSm+bnJMg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.52.0.tgz";
+        sha512 = "zmw9pJ91QAr1oF3uqLKuo/3++NrSEagLwz3xnuID5wN8WLAgbC6MkvM7FG+r11CHSoUX3IeB6YDqoBMQW8en8w==";
       };
     };
-    "@aws-sdk/util-user-agent-node-3.47.2" = {
+    "@aws-sdk/util-user-agent-node-3.52.0" = {
       name = "_at_aws-sdk_slash_util-user-agent-node";
       packageName = "@aws-sdk/util-user-agent-node";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.47.2.tgz";
-        sha512 = "9wYkGvTrOFWb+9QjziQma+l9M0u1tmHiIdL9r4Btsc9WVMsy1Y9HUUeXacM3dLLIzCpQ5dDbjIlAZWA8Rm3ZOQ==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.52.0.tgz";
+        sha512 = "jqbyb6R4goWOTIESizmNPy1i3Xa25Q3QG0xt6Pct0DwLQUSVpnPHw07NmfRhql+eYBoD4uxpXDX9lWsuLUBi0w==";
       };
     };
-    "@aws-sdk/util-utf8-browser-3.47.1" = {
+    "@aws-sdk/util-utf8-browser-3.52.0" = {
       name = "_at_aws-sdk_slash_util-utf8-browser";
       packageName = "@aws-sdk/util-utf8-browser";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.47.1.tgz";
-        sha512 = "PzHEdiBhfnZbHvZ+dIlIPodDbpgrpKDYslHe9A+tH8ZfuAxxmZEqnukp7QEkFr6mBcmq3H2thcPdNT45/5pA7Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-browser/-/util-utf8-browser-3.52.0.tgz";
+        sha512 = "LuOMa9ajWu5fQuYkmvTlQZfHaITkSle+tM/vhbU4JquRN44VUKACjRGT7UEhoU3lCL1BD0JFGMQGHI+5Mmuwfg==";
       };
     };
-    "@aws-sdk/util-utf8-node-3.47.2" = {
+    "@aws-sdk/util-utf8-node-3.52.0" = {
       name = "_at_aws-sdk_slash_util-utf8-node";
       packageName = "@aws-sdk/util-utf8-node";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.47.2.tgz";
-        sha512 = "itgWlytqhbD/pRiGxX7XY7RF8k15ScV816FUlZtOKeRpAphliFT07TGWKmiZcFxEbHpi9r8A5H1FOoPmyU635Q==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-utf8-node/-/util-utf8-node-3.52.0.tgz";
+        sha512 = "fujr7zeobZ2y5nnOnQZrCPPc+lCAhtNF/LEVslsQfd+AQ0bYWiosrKNetodQVWlfh10E2+i6/5g+1SBJ5kjsLw==";
       };
     };
-    "@aws-sdk/util-waiter-3.47.2" = {
+    "@aws-sdk/util-waiter-3.52.0" = {
       name = "_at_aws-sdk_slash_util-waiter";
       packageName = "@aws-sdk/util-waiter";
-      version = "3.47.2";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.47.2.tgz";
-        sha512 = "3zzOEDPRgHJ3o17Ri0vVmCKvqh9tA2lP9WbpXTjOgEAfdI/hsP2XhqJWVrlyN+wQ6FwPbuX3Jsb7lsp1OZP2bg==";
+        url = "https://registry.npmjs.org/@aws-sdk/util-waiter/-/util-waiter-3.52.0.tgz";
+        sha512 = "8Gx0NunIg1RFpnKSA3nwzDl5j8mJ42kWjy5sHgd4wfUyiXRSvTl69sV6O8qhleI9OMDV0iS4xHZBCLK11HdIoA==";
       };
     };
-    "@aws-sdk/xml-builder-3.47.1" = {
+    "@aws-sdk/xml-builder-3.52.0" = {
       name = "_at_aws-sdk_slash_xml-builder";
       packageName = "@aws-sdk/xml-builder";
-      version = "3.47.1";
+      version = "3.52.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.47.1.tgz";
-        sha512 = "SPDSKG7zw7MnGFVl3uIVNBBZo4WyNg8Wu82COfD8XaH+E/XiYiHjjoPq8eIscrQb799TXudHxy5h/C7dFACMxA==";
+        url = "https://registry.npmjs.org/@aws-sdk/xml-builder/-/xml-builder-3.52.0.tgz";
+        sha512 = "GMdcxdwDZuIMlGnewdB48bpj8eqA3nubs3biy6vRFX8zhv8OqD+m5fMinoEwD8/MGqWE3WD7VZlbbdwYtNVWzQ==";
       };
     };
     "@azu/format-text-1.0.1" = {
@@ -1120,13 +1129,13 @@ let
         sha1 = "e70187f8a862e191b1bce6c0268f13acd3a56b20";
       };
     };
-    "@babel/cli-7.16.8" = {
+    "@babel/cli-7.17.3" = {
       name = "_at_babel_slash_cli";
       packageName = "@babel/cli";
-      version = "7.16.8";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.16.8.tgz";
-        sha512 = "FTKBbxyk5TclXOGmwYyqelqP5IF6hMxaeJskd85jbR5jBfYlwqgwAbJwnixi1ZBbTqKfFuAA95mdmUFeSRwyJA==";
+        url = "https://registry.npmjs.org/@babel/cli/-/cli-7.17.3.tgz";
+        sha512 = "1+WRlh1IqLocOp122CLx4if345RSHMspwIZNJTlqG/GA46HVZC6p49N1kolfdd2/GOdr+tu4nScbAR3ACJ2ZiA==";
       };
     };
     "@babel/code-frame-7.10.4" = {
@@ -1156,22 +1165,22 @@ let
         sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/compat-data-7.16.8" = {
+    "@babel/compat-data-7.17.0" = {
       name = "_at_babel_slash_compat-data";
       packageName = "@babel/compat-data";
-      version = "7.16.8";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.16.8.tgz";
-        sha512 = "m7OkX0IdKLKPpBlJtF561YJal5y/jyI5fNfWbPxh2D/nbzzGI4qRyrD8xO2jB24u7l+5I2a43scCG2IrfjC50Q==";
+        url = "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.0.tgz";
+        sha512 = "392byTlpGWXMv4FbyWw3sAZ/FrW/DrwqLGXpy0mbyNe9Taqv1mg9yON5/o0cnr8XYCkFTZbC1eV+c+LAROgrng==";
       };
     };
-    "@babel/core-7.16.12" = {
+    "@babel/core-7.17.5" = {
       name = "_at_babel_slash_core";
       packageName = "@babel/core";
-      version = "7.16.12";
+      version = "7.17.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/core/-/core-7.16.12.tgz";
-        sha512 = "dK5PtG1uiN2ikk++5OzSYsitZKny4wOCD0nrO4TqnW4BVBTQ2NGS3NgilvT/TEyxTST7LNyWV/T4tXDoD3fOgg==";
+        url = "https://registry.npmjs.org/@babel/core/-/core-7.17.5.tgz";
+        sha512 = "/BBMw4EvjmyquN5O+t5eh0+YqB3XXJkYD2cjKpYtWOfFy4lQ4UozNSmxAcWT8r2XtZs0ewG+zrfsqeR15i1ajA==";
       };
     };
     "@babel/core-7.9.0" = {
@@ -1183,13 +1192,13 @@ let
         sha512 = "kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==";
       };
     };
-    "@babel/generator-7.16.8" = {
+    "@babel/generator-7.17.3" = {
       name = "_at_babel_slash_generator";
       packageName = "@babel/generator";
-      version = "7.16.8";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.16.8.tgz";
-        sha512 = "1ojZwE9+lOXzcWdWmO6TbUzDfqLD39CmEhN8+2cX9XkDo5yW1OpgfejfliysR2AWLpMamTiOiAp/mtroaymhpw==";
+        url = "https://registry.npmjs.org/@babel/generator/-/generator-7.17.3.tgz";
+        sha512 = "+R6Dctil/MgUsZsZAkYgK+ADNSZzJRRy0TvY65T71z/CR854xHQ1EweBYXdfT+HNeN7w0cSJJEzgxZMv40pxsg==";
       };
     };
     "@babel/helper-annotate-as-pure-7.16.7" = {
@@ -1219,22 +1228,22 @@ let
         sha512 = "mGojBwIWcwGD6rfqgRXVlVYmPAv7eOpIemUG3dGnDdCY4Pae70ROij3XmfrH6Fa1h1aiDylpglbZyktfzyo/hA==";
       };
     };
-    "@babel/helper-create-class-features-plugin-7.16.10" = {
+    "@babel/helper-create-class-features-plugin-7.17.1" = {
       name = "_at_babel_slash_helper-create-class-features-plugin";
       packageName = "@babel/helper-create-class-features-plugin";
-      version = "7.16.10";
+      version = "7.17.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.16.10.tgz";
-        sha512 = "wDeej0pu3WN/ffTxMNCPW5UCiOav8IcLRxSIyp/9+IF2xJUM9h/OYjg0IJLHaL6F8oU8kqMz9nc1vryXhMsgXg==";
+        url = "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.17.1.tgz";
+        sha512 = "JBdSr/LtyYIno/pNnJ75lBcqc3Z1XXujzPanHqjvvrhOA+DTceTFuJi8XjmWTZh4r3fsdfqaCMN0iZemdkxZHQ==";
       };
     };
-    "@babel/helper-create-regexp-features-plugin-7.16.7" = {
+    "@babel/helper-create-regexp-features-plugin-7.17.0" = {
       name = "_at_babel_slash_helper-create-regexp-features-plugin";
       packageName = "@babel/helper-create-regexp-features-plugin";
-      version = "7.16.7";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.16.7.tgz";
-        sha512 = "fk5A6ymfp+O5+p2yCkXAu5Kyj6v0xh0RBeNcAkYUMDvvAAoxvSKXn+Jb37t/yWFiQVDFK1ELpUTD8/aLhCPu+g==";
+        url = "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.0.tgz";
+        sha512 = "awO2So99wG6KnlE+TPs6rn83gCz5WlEePJDTnLEqbchMVrBeAujURVphRdigsk094VhvZehFoNOihSlcBjwsXA==";
       };
     };
     "@babel/helper-define-polyfill-provider-0.3.1" = {
@@ -1408,13 +1417,13 @@ let
         sha512 = "8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==";
       };
     };
-    "@babel/helpers-7.16.7" = {
+    "@babel/helpers-7.17.2" = {
       name = "_at_babel_slash_helpers";
       packageName = "@babel/helpers";
-      version = "7.16.7";
+      version = "7.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.16.7.tgz";
-        sha512 = "9ZDoqtfY7AuEOt3cxchfii6C7GDyyMBffktR5B2jvWv8u2+efwvpnVKXMWzNehqy68tKgAfSwfdw/lWpthS2bw==";
+        url = "https://registry.npmjs.org/@babel/helpers/-/helpers-7.17.2.tgz";
+        sha512 = "0Qu7RLR1dILozr/6M0xgj+DFPmi6Bnulgm9M8BVa9ZCWxDqlSnqt3cf8IDPB5m45sVXUZ0kuQAgUrdSFFH79fQ==";
       };
     };
     "@babel/highlight-7.16.10" = {
@@ -1435,22 +1444,22 @@ let
         sha512 = "V2dopEtPUL4LD+e8UtMIZB6BbsmMsS/7E1ZAvWNINzBfi7Cf3X9MLCpzHVZT4HeeF1lQl72IRtqqVt2RUImwyA==";
       };
     };
-    "@babel/parser-7.16.12" = {
+    "@babel/parser-7.16.2" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.16.12";
+      version = "7.16.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.12.tgz";
-        sha512 = "VfaV15po8RiZssrkPweyvbGVSe4x2y+aciFCgn0n0/SJMR22cwofRV1mtnJQYcSB1wUTaA/X1LnA3es66MCO5A==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz";
+        sha512 = "RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==";
       };
     };
-    "@babel/parser-7.16.2" = {
+    "@babel/parser-7.17.3" = {
       name = "_at_babel_slash_parser";
       packageName = "@babel/parser";
-      version = "7.16.2";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.16.2.tgz";
-        sha512 = "RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==";
+        url = "https://registry.npmjs.org/@babel/parser/-/parser-7.17.3.tgz";
+        sha512 = "7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA==";
       };
     };
     "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7" = {
@@ -1570,13 +1579,13 @@ let
         sha512 = "vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==";
       };
     };
-    "@babel/plugin-proposal-object-rest-spread-7.16.7" = {
+    "@babel/plugin-proposal-object-rest-spread-7.17.3" = {
       name = "_at_babel_slash_plugin-proposal-object-rest-spread";
       packageName = "@babel/plugin-proposal-object-rest-spread";
-      version = "7.16.7";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.16.7.tgz";
-        sha512 = "3O0Y4+dw94HA86qSg9IHfyPktgR7q3gpNVAeiKQd+8jBKFaU5NQS1Yatgo4wY+UFNuLjvxcSmzcsHqrhgTyBUA==";
+        url = "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.17.3.tgz";
+        sha512 = "yuL5iQA/TbZn+RGAfxQXfi7CNLmKi1f8zInn4IgobuCWcAb7i+zj4TYzQ9l8cEzVyJ89PDGuqxK1xZpUDISesw==";
       };
     };
     "@babel/plugin-proposal-optional-catch-binding-7.16.7" = {
@@ -1858,13 +1867,13 @@ let
         sha512 = "gN72G9bcmenVILj//sv1zLNaPyYcOzUho2lIJBMh/iakJ9ygCo/hEF9cpGb61SCMEDxbbyBoVQxrt+bWKu5KGw==";
       };
     };
-    "@babel/plugin-transform-destructuring-7.16.7" = {
+    "@babel/plugin-transform-destructuring-7.17.3" = {
       name = "_at_babel_slash_plugin-transform-destructuring";
       packageName = "@babel/plugin-transform-destructuring";
-      version = "7.16.7";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.16.7.tgz";
-        sha512 = "VqAwhTHBnu5xBVDCvrvqJbtLUa++qZaWC0Fgr2mqokBlulZARGyIvZDoqbPlPaKImQ9dKAcCzbv+ul//uqu70A==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.17.3.tgz";
+        sha512 = "dDFzegDYKlPqa72xIlbmSkly5MluLoaC1JswABGktyt6NTXSBcUuse/kWE/wvKFWJHPETpi158qJZFS3JmykJg==";
       };
     };
     "@babel/plugin-transform-dotall-regex-7.16.7" = {
@@ -2029,13 +2038,13 @@ let
         sha512 = "qgIg8BcZgd0G/Cz916D5+9kqX0c7nPZyXaP8R2tLNN5tkyIZdG5fEwBrxwplzSnjC1jvQmyMNVwUCZPcbGY7Pg==";
       };
     };
-    "@babel/plugin-transform-react-jsx-7.16.7" = {
+    "@babel/plugin-transform-react-jsx-7.17.3" = {
       name = "_at_babel_slash_plugin-transform-react-jsx";
       packageName = "@babel/plugin-transform-react-jsx";
-      version = "7.16.7";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.16.7.tgz";
-        sha512 = "8D16ye66fxiE8m890w0BpPpngG9o9OVBBy0gH2E+2AR7qMR2ZpTYJEqLxAsoroenMId0p/wMW+Blc0meDgu0Ag==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.17.3.tgz";
+        sha512 = "9tjBm4O07f7mzKSIlEmPdiE6ub7kfIe6Cd+w+oQebpATfTQMAgW+YOuWxogbKVTulA+MEO7byMeIUtQ1z+z+ZQ==";
       };
     };
     "@babel/plugin-transform-react-jsx-development-7.16.7" = {
@@ -2074,13 +2083,13 @@ let
         sha512 = "KQzzDnZ9hWQBjwi5lpY5v9shmm6IVG0U9pB18zvMu2i4H90xpT4gmqwPYsn8rObiadYe2M0gmgsiOIF5A/2rtg==";
       };
     };
-    "@babel/plugin-transform-runtime-7.16.10" = {
+    "@babel/plugin-transform-runtime-7.17.0" = {
       name = "_at_babel_slash_plugin-transform-runtime";
       packageName = "@babel/plugin-transform-runtime";
-      version = "7.16.10";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.16.10.tgz";
-        sha512 = "9nwTiqETv2G7xI4RvXHNfpGdr8pAA+Q/YtN3yLK7OoK7n9OibVm/xymJ838a9A6E/IciOLPj82lZk0fW6O4O7w==";
+        url = "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.17.0.tgz";
+        sha512 = "fr7zPWnKXNc1xoHfrIU9mN/4XKX4VLZ45Q+oMhfsYIaHvg7mHgmhfOy/ckRWqDK7XF3QDigRpkh5DKq6+clE8A==";
       };
     };
     "@babel/plugin-transform-shorthand-properties-7.16.7" = {
@@ -2218,13 +2227,13 @@ let
         sha512 = "WbVEmgXdIyvzB77AQjGBEyYPZx+8tTsO50XtfozQrkW8QB2rLJpH2lgx0TRw5EJrBxOZQ+wCcyPVQvS8tjEHpQ==";
       };
     };
-    "@babel/register-7.16.9" = {
+    "@babel/register-7.17.0" = {
       name = "_at_babel_slash_register";
       packageName = "@babel/register";
-      version = "7.16.9";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/register/-/register-7.16.9.tgz";
-        sha512 = "jJ72wcghdRIlENfvALcyODhNoGE5j75cYHdC+aQMh6cU/P86tiiXTp9XYZct1UxUMo/4+BgQRyNZEGx0KWGS+g==";
+        url = "https://registry.npmjs.org/@babel/register/-/register-7.17.0.tgz";
+        sha512 = "UNZsMAZ7uKoGHo1HlEXfteEOYssf64n/PNLHGqOKq/bgYcu/4LrQWAHJwSCb3BRZK8Hi5gkJdRcwrGTO2wtRCg==";
       };
     };
     "@babel/runtime-7.13.9" = {
@@ -2236,13 +2245,13 @@ let
         sha512 = "aY2kU+xgJ3dJ1eU6FMB9EH8dIe8dmusF1xEku52joLvw6eAFN0AI+WxCLDnpev2LEejWBAy2sBvBOBAjI3zmvA==";
       };
     };
-    "@babel/runtime-7.16.7" = {
+    "@babel/runtime-7.17.2" = {
       name = "_at_babel_slash_runtime";
       packageName = "@babel/runtime";
-      version = "7.16.7";
+      version = "7.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.16.7.tgz";
-        sha512 = "9E9FJowqAsytyOY6LG+1KuueckRL+aQW+mKvXRXnuFGyRAyepJPmEo9vgMfXUA6O9u3IeEdv9MAkppFcaQwogQ==";
+        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.17.2.tgz";
+        sha512 = "hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw==";
       };
     };
     "@babel/runtime-7.9.0" = {
@@ -2254,13 +2263,13 @@ let
         sha512 = "cTIudHnzuWLS56ik4DnRnqqNf8MkdUzV4iFFI1h7Jo9xvrpQROYaAnaSd2mHLQAzzZAPfATynX5ord6YlNYNMA==";
       };
     };
-    "@babel/runtime-corejs3-7.16.8" = {
+    "@babel/runtime-corejs3-7.17.2" = {
       name = "_at_babel_slash_runtime-corejs3";
       packageName = "@babel/runtime-corejs3";
-      version = "7.16.8";
+      version = "7.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.16.8.tgz";
-        sha512 = "3fKhuICS1lMz0plI5ktOE/yEtBRMVxplzRkdn6mJQ197XiY0JnrzYV0+Mxozq3JZ8SBV9Ecurmw1XsGbwOf+Sg==";
+        url = "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.17.2.tgz";
+        sha512 = "NcKtr2epxfIrNM4VOmPKO46TvDMCBhgi2CrSHaEarrz+Plk2K5r9QemmOFTGpZaoKnWoGH5MO+CzeRsih/Fcgg==";
       };
     };
     "@babel/template-7.16.7" = {
@@ -2272,13 +2281,13 @@ let
         sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     };
-    "@babel/traverse-7.16.10" = {
+    "@babel/traverse-7.17.3" = {
       name = "_at_babel_slash_traverse";
       packageName = "@babel/traverse";
-      version = "7.16.10";
+      version = "7.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.16.10.tgz";
-        sha512 = "yzuaYXoRJBGMlBhsMJoUW7G1UmSb/eXr/JHYM/MsOJgavJibLwASijW7oXBdw3NQ6T0bW7Ty5P/VarOs9cHmqw==";
+        url = "https://registry.npmjs.org/@babel/traverse/-/traverse-7.17.3.tgz";
+        sha512 = "5irClVky7TxRWIRtxlh2WPUUOLhcPN06AGgaQSB8AEwuyEBgJVuJ5imdHm5zxk8w0QS5T+tDfnDxAlhWjpb7cw==";
       };
     };
     "@babel/types-7.16.0" = {
@@ -2290,13 +2299,13 @@ let
         sha512 = "PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==";
       };
     };
-    "@babel/types-7.16.8" = {
+    "@babel/types-7.17.0" = {
       name = "_at_babel_slash_types";
       packageName = "@babel/types";
-      version = "7.16.8";
+      version = "7.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/types/-/types-7.16.8.tgz";
-        sha512 = "smN2DQc5s4M7fntyjGtyIPbRJv6wW4rU/94fmYJ7PKQuZkC0qGMHXJbg6sNGt12JmVr4k5YaptI/XtiLJBnmIg==";
+        url = "https://registry.npmjs.org/@babel/types/-/types-7.17.0.tgz";
+        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
       };
     };
     "@blueprintjs/colors-4.0.0-beta.3" = {
@@ -2308,22 +2317,22 @@ let
         sha512 = "42i7qeyFZT/qJFj8iagVECB91HmqxiCY7rw+EaOHSKCwbasbJF0BmAMViZCrOhvw++ZQ2WXmu+CxH6jkvSeDtg==";
       };
     };
-    "@blueprintjs/core-3.52.0" = {
+    "@blueprintjs/core-3.53.0" = {
       name = "_at_blueprintjs_slash_core";
       packageName = "@blueprintjs/core";
-      version = "3.52.0";
+      version = "3.53.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/core/-/core-3.52.0.tgz";
-        sha512 = "92Tsr0uw1ey8ZsdYSfPyeN1hbjI8PC+HWyXUSNG+nM4g5AYTuKXVXKTxxGBtZN9hG2LlmUld8YIMFWtuLBErDQ==";
+        url = "https://registry.npmjs.org/@blueprintjs/core/-/core-3.53.0.tgz";
+        sha512 = "cvoJJtnPrBgaVvWhfHoFi/zH+Bk4VPDqbG4DdBl+BPK5MyvvkcBP/oX/iVG1qgwdvQ9FqUsHpuCLLgF6j8bItA==";
       };
     };
-    "@blueprintjs/icons-3.31.0" = {
+    "@blueprintjs/icons-3.32.0" = {
       name = "_at_blueprintjs_slash_icons";
       packageName = "@blueprintjs/icons";
-      version = "3.31.0";
+      version = "3.32.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@blueprintjs/icons/-/icons-3.31.0.tgz";
-        sha512 = "6pXhHC8zEvoDKN5KNsIHNuCRKsemmRbXNv1jweB95VaFzR1M+Mik+Qi+13Wd+VtZrzes2ZcWttIeyuK91NoLCw==";
+        url = "https://registry.npmjs.org/@blueprintjs/icons/-/icons-3.32.0.tgz";
+        sha512 = "xjw9Xz39VibgVI3fPfcjgtyk1EcICajkVTGA88fKFUsys/g1NvN3zJ/sUd6cROOL0YDaoNeuvMp7KFgs2AkXDw==";
       };
     };
     "@bmewburn/js-beautify-1.13.0" = {
@@ -2380,40 +2389,40 @@ let
         sha512 = "GcIY79elgB+azP74j8vqkiXz8xLFfIzbQJdlwOPisgbKT00tviJQuEghOXSMVxJ00HoYJbGswr4kcllUc4xCcg==";
       };
     };
-    "@cdktf/hcl2cdk-0.8.6" = {
+    "@cdktf/hcl2cdk-0.9.1" = {
       name = "_at_cdktf_slash_hcl2cdk";
       packageName = "@cdktf/hcl2cdk";
-      version = "0.8.6";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.8.6.tgz";
-        sha512 = "+1tjR2lX+0tDDyKwGaDWe/3ehEE9cY/DczVz4yR5XtWQQFvubhBy0spxXxOe7bqUjpsFFbImCgZ6qXIg7kRceA==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2cdk/-/hcl2cdk-0.9.1.tgz";
+        sha512 = "0AOiSGa8qd0lcGwwayrl3N/mAeTFkNrKndILCDMuh9gLFfXLTxVEq2oqp5LbO5YX2i/cFMCjZ/vscXXQuCVjCQ==";
       };
     };
-    "@cdktf/hcl2json-0.8.6" = {
+    "@cdktf/hcl2json-0.9.1" = {
       name = "_at_cdktf_slash_hcl2json";
       packageName = "@cdktf/hcl2json";
-      version = "0.8.6";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.8.6.tgz";
-        sha512 = "TcNGuoMwhwxhlFQ/q8Ww866Ww6qeb1+EPAXizHzC8kJXy/KOnBLtANq9N8+tt8UrgJqUYVrikrQFS2ydgTKc0w==";
+        url = "https://registry.npmjs.org/@cdktf/hcl2json/-/hcl2json-0.9.1.tgz";
+        sha512 = "pM6cLkPl4hMTj9XhjKz7MEowUHnzq8hY8uk8ro32OQsZVZpsl9CDG83ox0VwgI1YSvXU7GyzP4iPOPn63U7PgQ==";
       };
     };
-    "@cdktf/provider-generator-0.8.6" = {
+    "@cdktf/provider-generator-0.9.1" = {
       name = "_at_cdktf_slash_provider-generator";
       packageName = "@cdktf/provider-generator";
-      version = "0.8.6";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.8.6.tgz";
-        sha512 = "WHrmBeGjts1t8q2EbQ+hb9A7l2qK9nSeiOH5XxcPeVUFnZzkXPVah7Lb0E+2AhbMXXNjWF5WhoYS/8S6sl+kGQ==";
+        url = "https://registry.npmjs.org/@cdktf/provider-generator/-/provider-generator-0.9.1.tgz";
+        sha512 = "BF4Z7eiSFHKx0NrIiB2fHCq0G8Mx2q8bLbij9KBxAD80BwX1lNKEzut6JUhe6qOrC0yOkAV4PWElbK9g66pJgg==";
       };
     };
-    "@chemzqm/neovim-5.6.4" = {
+    "@chemzqm/neovim-5.7.4" = {
       name = "_at_chemzqm_slash_neovim";
       packageName = "@chemzqm/neovim";
-      version = "5.6.4";
+      version = "5.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.6.4.tgz";
-        sha512 = "PWGv4LizLhbaB3ygOOBfQIcqHPIPzp45DgkKo0fqbBUyQXty6PJ7VN5XoVY5kaqwhxwIqeaLD9iqW1jUoMQWeg==";
+        url = "https://registry.npmjs.org/@chemzqm/neovim/-/neovim-5.7.4.tgz";
+        sha512 = "ajh2G+EhzqAHkAMsXsiNUG2cpGROO3RiAJbFQ0Px1cf9zE2YqWVZ8h7dFd7aj/zit+la9uTA1OPQkn4FZrHrjw==";
       };
     };
     "@cnakazawa/watch-1.0.4" = {
@@ -2425,6 +2434,15 @@ let
         sha512 = "v9kIhKwjeZThiWrLmj0y17CWoyddASLj9O2yvbZkbvw/N3rWOYy9zkV66ursAoVr0mV15bL8g0c4QZUE6cdDoQ==";
       };
     };
+    "@colors/colors-1.5.0" = {
+      name = "_at_colors_slash_colors";
+      packageName = "@colors/colors";
+      version = "1.5.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz";
+        sha512 = "ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==";
+      };
+    };
     "@comandeer/babel-plugin-banner-5.0.0" = {
       name = "_at_comandeer_slash_babel-plugin-banner";
       packageName = "@comandeer/babel-plugin-banner";
@@ -2434,148 +2452,148 @@ let
         sha512 = "sR9Go0U6puXoXyW9UgIiIQhRcJ8jVOvGl4BptUiXAtheMs72WcakZ1udh6J0ZOivr3o8jAM+MTCHLP8FZMbVpQ==";
       };
     };
-    "@commitlint/config-validator-16.1.0" = {
+    "@commitlint/config-validator-16.2.1" = {
       name = "_at_commitlint_slash_config-validator";
       packageName = "@commitlint/config-validator";
-      version = "16.1.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-16.1.0.tgz";
-        sha512 = "2cHeZPNTuf1JWbMqyA46MkExor5HMSgv8JrdmzEakUbJHUreh35/wN00FJf57qGs134exQW2thiSQ1IJUsVx2Q==";
+        url = "https://registry.npmjs.org/@commitlint/config-validator/-/config-validator-16.2.1.tgz";
+        sha512 = "hogSe0WGg7CKmp4IfNbdNES3Rq3UEI4XRPB8JL4EPgo/ORq5nrGTVzxJh78omibNuB8Ho4501Czb1Er1MoDWpw==";
       };
     };
-    "@commitlint/ensure-16.0.0" = {
+    "@commitlint/ensure-16.2.1" = {
       name = "_at_commitlint_slash_ensure";
       packageName = "@commitlint/ensure";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/ensure/-/ensure-16.0.0.tgz";
-        sha512 = "WdMySU8DCTaq3JPf0tZFCKIUhqxaL54mjduNhu8v4D2AMUVIIQKYMGyvXn94k8begeW6iJkTf9cXBArayskE7Q==";
+        url = "https://registry.npmjs.org/@commitlint/ensure/-/ensure-16.2.1.tgz";
+        sha512 = "/h+lBTgf1r5fhbDNHOViLuej38i3rZqTQnBTk+xEg+ehOwQDXUuissQ5GsYXXqI5uGy+261ew++sT4EA3uBJ+A==";
       };
     };
-    "@commitlint/execute-rule-16.0.0" = {
+    "@commitlint/execute-rule-16.2.1" = {
       name = "_at_commitlint_slash_execute-rule";
       packageName = "@commitlint/execute-rule";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-16.0.0.tgz";
-        sha512 = "8edcCibmBb386x5JTHSPHINwA5L0xPkHQFY8TAuDEt5QyRZY/o5DF8OPHSa5Hx2xJvGaxxuIz4UtAT6IiRDYkw==";
+        url = "https://registry.npmjs.org/@commitlint/execute-rule/-/execute-rule-16.2.1.tgz";
+        sha512 = "oSls82fmUTLM6cl5V3epdVo4gHhbmBFvCvQGHBRdQ50H/690Uq1Dyd7hXMuKITCIdcnr9umyDkr8r5C6HZDF3g==";
       };
     };
-    "@commitlint/format-16.0.0" = {
+    "@commitlint/format-16.2.1" = {
       name = "_at_commitlint_slash_format";
       packageName = "@commitlint/format";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/format/-/format-16.0.0.tgz";
-        sha512 = "9yp5NCquXL1jVMKL0ZkRwJf/UHdebvCcMvICuZV00NQGYSAL89O398nhqrqxlbjBhM5EZVq0VGcV5+7r3D4zAA==";
+        url = "https://registry.npmjs.org/@commitlint/format/-/format-16.2.1.tgz";
+        sha512 = "Yyio9bdHWmNDRlEJrxHKglamIk3d6hC0NkEUW6Ti6ipEh2g0BAhy8Od6t4vLhdZRa1I2n+gY13foy+tUgk0i1Q==";
       };
     };
-    "@commitlint/is-ignored-16.0.0" = {
+    "@commitlint/is-ignored-16.2.1" = {
       name = "_at_commitlint_slash_is-ignored";
       packageName = "@commitlint/is-ignored";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.0.0.tgz";
-        sha512 = "gmAQcwIGC/R/Lp0CEb2b5bfGC7MT5rPe09N8kOGjO/NcdNmfFSZMquwrvNJsq9hnAP0skRdHIsqwlkENkN4Lag==";
+        url = "https://registry.npmjs.org/@commitlint/is-ignored/-/is-ignored-16.2.1.tgz";
+        sha512 = "exl8HRzTIfb1YvDJp2b2HU5z1BT+9tmgxR2XF0YEzkMiCIuEKh+XLeocPr1VcvAKXv3Cmv5X/OfNRp+i+/HIhQ==";
       };
     };
-    "@commitlint/lint-16.0.0" = {
+    "@commitlint/lint-16.2.1" = {
       name = "_at_commitlint_slash_lint";
       packageName = "@commitlint/lint";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-16.0.0.tgz";
-        sha512 = "HNl15bRC0h+pLzbMzQC3tM0j1aESXsLYhElqKnXcf5mnCBkBkHzu6WwJW8rZbfxX+YwJmNljN62cPhmdBo8x0A==";
+        url = "https://registry.npmjs.org/@commitlint/lint/-/lint-16.2.1.tgz";
+        sha512 = "fNINQ3X2ZqsCkNB3Z0Z8ElmhewqrS3gy2wgBTx97BkcjOWiyPAGwDJ752hwrsUnWAVBRztgw826n37xPzxsOgg==";
       };
     };
-    "@commitlint/load-16.1.0" = {
+    "@commitlint/load-16.2.1" = {
       name = "_at_commitlint_slash_load";
       packageName = "@commitlint/load";
-      version = "16.1.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/load/-/load-16.1.0.tgz";
-        sha512 = "MtlEhKjP8jAF85jjX4mw8DUUwCxKsCgAc865hhpnwxjrfBcmGP7Up2AFE/M3ZMGDmSl1X1TMybQk/zohj8Cqdg==";
+        url = "https://registry.npmjs.org/@commitlint/load/-/load-16.2.1.tgz";
+        sha512 = "oSpz0jTyVI/A1AIImxJINTLDOMB8YF7lWGm+Jg5wVWM0r7ucpuhyViVvpSRTgvL0z09oIxlctyFGWUQQpI42uw==";
       };
     };
-    "@commitlint/message-16.0.0" = {
+    "@commitlint/message-16.2.1" = {
       name = "_at_commitlint_slash_message";
       packageName = "@commitlint/message";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/message/-/message-16.0.0.tgz";
-        sha512 = "CmK2074SH1Ws6kFMEKOKH/7hMekGVbOD6vb4alCOo2+33ZSLUIX8iNkDYyrw38Jwg6yWUhLjyQLUxREeV+QIUA==";
+        url = "https://registry.npmjs.org/@commitlint/message/-/message-16.2.1.tgz";
+        sha512 = "2eWX/47rftViYg7a3axYDdrgwKv32mxbycBJT6OQY/MJM7SUfYNYYvbMFOQFaA4xIVZt7t2Alyqslbl6blVwWw==";
       };
     };
-    "@commitlint/parse-16.0.0" = {
+    "@commitlint/parse-16.2.1" = {
       name = "_at_commitlint_slash_parse";
       packageName = "@commitlint/parse";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/parse/-/parse-16.0.0.tgz";
-        sha512 = "F9EjFlMw4MYgBEqoRrWZZKQBzdiJzPBI0qFDFqwUvfQsMmXEREZ242T4R5bFwLINWaALFLHEIa/FXEPa6QxCag==";
+        url = "https://registry.npmjs.org/@commitlint/parse/-/parse-16.2.1.tgz";
+        sha512 = "2NP2dDQNL378VZYioLrgGVZhWdnJO4nAxQl5LXwYb08nEcN+cgxHN1dJV8OLJ5uxlGJtDeR8UZZ1mnQ1gSAD/g==";
       };
     };
-    "@commitlint/read-16.0.0" = {
+    "@commitlint/read-16.2.1" = {
       name = "_at_commitlint_slash_read";
       packageName = "@commitlint/read";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/read/-/read-16.0.0.tgz";
-        sha512 = "H4T2zsfmYQK9B+JtoQaCXWBHUhgIJyOzWZjSfuIV9Ce69/OgHoffNpLZPF2lX6yKuDrS1SQFhI/kUCjVc/e4ew==";
+        url = "https://registry.npmjs.org/@commitlint/read/-/read-16.2.1.tgz";
+        sha512 = "tViXGuaxLTrw2r7PiYMQOFA2fueZxnnt0lkOWqKyxT+n2XdEMGYcI9ID5ndJKXnfPGPppD0w/IItKsIXlZ+alw==";
       };
     };
-    "@commitlint/resolve-extends-16.1.0" = {
+    "@commitlint/resolve-extends-16.2.1" = {
       name = "_at_commitlint_slash_resolve-extends";
       packageName = "@commitlint/resolve-extends";
-      version = "16.1.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-16.1.0.tgz";
-        sha512 = "8182s6AFoUFX6+FT1PgQDt15nO2ogdR/EN8SYVAdhNXw1rLz8kT5saB/ICw567GuRAUgFTUMGCXy3ctMOXPEDg==";
+        url = "https://registry.npmjs.org/@commitlint/resolve-extends/-/resolve-extends-16.2.1.tgz";
+        sha512 = "NbbCMPKTFf2J805kwfP9EO+vV+XvnaHRcBy6ud5dF35dxMsvdJqke54W3XazXF1ZAxC4a3LBy4i/GNVBAthsEg==";
       };
     };
-    "@commitlint/rules-16.0.0" = {
+    "@commitlint/rules-16.2.1" = {
       name = "_at_commitlint_slash_rules";
       packageName = "@commitlint/rules";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/rules/-/rules-16.0.0.tgz";
-        sha512 = "AOl0y2SBTdJ1bvIv8nwHvQKRT/jC1xb09C5VZwzHoT8sE8F54KDeEzPCwHQFgUcWdGLyS10kkOTAH2MyA8EIlg==";
+        url = "https://registry.npmjs.org/@commitlint/rules/-/rules-16.2.1.tgz";
+        sha512 = "ZFezJXQaBBso+BOTre/+1dGCuCzlWVaeLiVRGypI53qVgPMzQqZhkCcrxBFeqB87qeyzr4A4EoG++IvITwwpIw==";
       };
     };
-    "@commitlint/to-lines-16.0.0" = {
+    "@commitlint/to-lines-16.2.1" = {
       name = "_at_commitlint_slash_to-lines";
       packageName = "@commitlint/to-lines";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-16.0.0.tgz";
-        sha512 = "iN/qU38TCKU7uKOg6RXLpD49wNiuI0TqMqybHbjefUeP/Jmzxa8ishryj0uLyVdrAl1ZjGeD1ukXGMTtvqz8iA==";
+        url = "https://registry.npmjs.org/@commitlint/to-lines/-/to-lines-16.2.1.tgz";
+        sha512 = "9/VjpYj5j1QeY3eiog1zQWY6axsdWAc0AonUUfyZ7B0MVcRI0R56YsHAfzF6uK/g/WwPZaoe4Lb1QCyDVnpVaQ==";
       };
     };
-    "@commitlint/top-level-16.0.0" = {
+    "@commitlint/top-level-16.2.1" = {
       name = "_at_commitlint_slash_top-level";
       packageName = "@commitlint/top-level";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/top-level/-/top-level-16.0.0.tgz";
-        sha512 = "/Jt6NLxyFkpjL5O0jxurZPCHURZAm7cQCqikgPCwqPAH0TLgwqdHjnYipl8J+AGnAMGDip4FNLoYrtgIpZGBYw==";
+        url = "https://registry.npmjs.org/@commitlint/top-level/-/top-level-16.2.1.tgz";
+        sha512 = "lS6GSieHW9y6ePL73ied71Z9bOKyK+Ib9hTkRsB8oZFAyQZcyRwq2w6nIa6Fngir1QW51oKzzaXfJL94qwImyw==";
       };
     };
-    "@commitlint/types-16.0.0" = {
+    "@commitlint/types-16.2.1" = {
       name = "_at_commitlint_slash_types";
       packageName = "@commitlint/types";
-      version = "16.0.0";
+      version = "16.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@commitlint/types/-/types-16.0.0.tgz";
-        sha512 = "+0FvYOAS39bJ4aKjnYn/7FD4DfWkmQ6G/06I4F0Gvu4KS5twirEg8mIcLhmeRDOOKn4Tp8PwpLwBiSA6npEMQA==";
+        url = "https://registry.npmjs.org/@commitlint/types/-/types-16.2.1.tgz";
+        sha512 = "7/z7pA7BM0i8XvMSBynO7xsB3mVQPUZbVn6zMIlp/a091XJ3qAXRXc+HwLYhiIdzzS5fuxxNIHZMGHVD4HJxdA==";
       };
     };
-    "@corestore/networker-1.2.0" = {
+    "@corestore/networker-1.2.1" = {
       name = "_at_corestore_slash_networker";
       packageName = "@corestore/networker";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@corestore/networker/-/networker-1.2.0.tgz";
-        sha512 = "ErfgH7yuwh6C7Y4AYM6A+Vv0lYV2c3sx9NNzCkIOB8pgp1cPmht4T4ZbLu0GiVj1XJ67AOPI0nhYfi4DB/h2rA==";
+        url = "https://registry.npmjs.org/@corestore/networker/-/networker-1.2.1.tgz";
+        sha512 = "5wNXodStZRIRYu5u5kXWtI4XIIEPhRrqSRza+A41mN/K6PA7i9aHdU08qIV+4DW4CDWOlwiQz1YUMeU1QlSBQA==";
       };
     };
     "@cronvel/get-pixels-3.4.0" = {
@@ -2587,49 +2605,58 @@ let
         sha512 = "do5jDoX9oCR/dGHE4POVQ3PYDCmQ2Fow4CA72UL4WoE8zUImA/0lChczjfl+ucNjE4sXFWUnzoO6j4WzrUvLnw==";
       };
     };
-    "@cspell/cspell-bundled-dicts-5.16.0" = {
+    "@cspell/cspell-bundled-dicts-5.18.5" = {
       name = "_at_cspell_slash_cspell-bundled-dicts";
       packageName = "@cspell/cspell-bundled-dicts";
-      version = "5.16.0";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.16.0.tgz";
-        sha512 = "7O8Y6FMzTn5pnHUDjnQJ3cgIAHT5jfN05NKGu9FFikmsXsMmDRikr/OeuhK5tDOWLRIxZwmFrVMMGgBe6mj26Q==";
+        url = "https://registry.npmjs.org/@cspell/cspell-bundled-dicts/-/cspell-bundled-dicts-5.18.5.tgz";
+        sha512 = "jFvwF8bb8HUYqMUPQiGZUHAf8zfriZRagzoCW8w4NLLJB1IZNGlQvQCQskQG9cYtOmKAYHCbOwm8SjA9FKwQow==";
       };
     };
-    "@cspell/cspell-types-5.16.0" = {
+    "@cspell/cspell-pipe-5.18.5" = {
+      name = "_at_cspell_slash_cspell-pipe";
+      packageName = "@cspell/cspell-pipe";
+      version = "5.18.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/cspell-pipe/-/cspell-pipe-5.18.5.tgz";
+        sha512 = "U/4e4Zm7Mm23SuJu6b49+9Do/2aS+c9sPQa1Z9ZZqHQ4BqswJagk5oZ0V45BjYJ/0acHSRpIxbndpVJ01cjf8A==";
+      };
+    };
+    "@cspell/cspell-types-5.18.5" = {
       name = "_at_cspell_slash_cspell-types";
       packageName = "@cspell/cspell-types";
-      version = "5.16.0";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.16.0.tgz";
-        sha512 = "pKBeOrUyZtp4DVNbikkpeAT/gob7gT2zun4v3jYdQEbDKYMRN7wTKlqfHJ4VxbF/yS45g7jizEc245xMUkxPHQ==";
+        url = "https://registry.npmjs.org/@cspell/cspell-types/-/cspell-types-5.18.5.tgz";
+        sha512 = "yvDFCUa1CbjBuMkFCh+yUAAaG6VW5WXoewzLwhMFsMV1GZmkbftOcvZq0YuZviNsjdBViDH0dhKdlzwC953upg==";
       };
     };
-    "@cspell/dict-ada-1.1.2" = {
+    "@cspell/dict-ada-2.0.0" = {
       name = "_at_cspell_slash_dict-ada";
       packageName = "@cspell/dict-ada";
-      version = "1.1.2";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-1.1.2.tgz";
-        sha512 = "UDrcYcKIVyXDz5mInJabRNQpJoehjBFvja5W+GQyu9pGcx3BS3cAU8mWENstGR0Qc/iFTxB010qwF8F3cHA/aA==";
+        url = "https://registry.npmjs.org/@cspell/dict-ada/-/dict-ada-2.0.0.tgz";
+        sha512 = "4gfJEYXVwz6IN2LBaT6QoUV4pqaR35i0z0u9O684vLuVczvNJIHa4vNaSEFBr9d6xxncUyqstgP9P73ajJjh9A==";
       };
     };
-    "@cspell/dict-aws-1.0.14" = {
+    "@cspell/dict-aws-2.0.0" = {
       name = "_at_cspell_slash_dict-aws";
       packageName = "@cspell/dict-aws";
-      version = "1.0.14";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-1.0.14.tgz";
-        sha512 = "K21CfB4ZpKYwwDQiPfic2zJA/uxkbsd4IQGejEvDAhE3z8wBs6g6BwwqdVO767M9NgZqc021yAVpr79N5pWe3w==";
+        url = "https://registry.npmjs.org/@cspell/dict-aws/-/dict-aws-2.0.0.tgz";
+        sha512 = "NKz7pDZ7pwj/b33i3f4WLpC1rOOUMmENwYgftxU+giU2YBeKM2wZbMTSEIzsrel56r0UlQYmdIVlP/B4nnVaoQ==";
       };
     };
-    "@cspell/dict-bash-1.0.17" = {
+    "@cspell/dict-bash-2.0.1" = {
       name = "_at_cspell_slash_dict-bash";
       packageName = "@cspell/dict-bash";
-      version = "1.0.17";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-1.0.17.tgz";
-        sha512 = "BlX+pnDlLmIf776C9d71QjXl4NOIz+yloeixx1ZZjrwvKPLF+ffE/Ez13eV+D9R2Ps1rW10UvW8u3Hbmwme+Fw==";
+        url = "https://registry.npmjs.org/@cspell/dict-bash/-/dict-bash-2.0.1.tgz";
+        sha512 = "pBx3T/5w7fPF8XD5cx3NwtRFvNpQYmYqzM043NKP2hDmlx4uFwbH599Lvt5mwCMZKfIoRXaNUQvq7se2gstQjw==";
       };
     };
     "@cspell/dict-companies-2.0.2" = {
@@ -2641,22 +2668,22 @@ let
         sha512 = "LPKwBMAWRz+p1R8q+TV6E1sGOOTvxJOaJeXNN++CZQ7i6JMn5Rf+BSxagwkeK6z3o9vIC5ZE4AcQ5BMkvyjqGw==";
       };
     };
-    "@cspell/dict-cpp-1.1.40" = {
+    "@cspell/dict-cpp-2.0.0" = {
       name = "_at_cspell_slash_dict-cpp";
       packageName = "@cspell/dict-cpp";
-      version = "1.1.40";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-1.1.40.tgz";
-        sha512 = "sscfB3woNDNj60/yGXAdwNtIRWZ89y35xnIaJVDMk5TPMMpaDvuk0a34iOPIq0g4V+Y8e3RyAg71SH6ADwSjGw==";
+        url = "https://registry.npmjs.org/@cspell/dict-cpp/-/dict-cpp-2.0.0.tgz";
+        sha512 = "EflHLs2pHEEXZM6jPfTGR/KHZKQtJlvzqgkg1zaA1YKv5HQNw9Wy5KVPGEV2bjPcFsZJO3xXjO1KBZcoOPjPmA==";
       };
     };
-    "@cspell/dict-cryptocurrencies-1.0.10" = {
+    "@cspell/dict-cryptocurrencies-2.0.0" = {
       name = "_at_cspell_slash_dict-cryptocurrencies";
       packageName = "@cspell/dict-cryptocurrencies";
-      version = "1.0.10";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-1.0.10.tgz";
-        sha512 = "47ABvDJOkaST/rXipNMfNvneHUzASvmL6K/CbOFpYKfsd0x23Jc9k1yaOC7JAm82XSC/8a7+3Yu+Fk2jVJNnsA==";
+        url = "https://registry.npmjs.org/@cspell/dict-cryptocurrencies/-/dict-cryptocurrencies-2.0.0.tgz";
+        sha512 = "nREysmmfOp7L2YCRAUufQahwD5/Punzb5AZ6eyg4zUamdRWHgBFphb5/9h2flt1vgdUfhc6hZcML21Ci7iXjaA==";
       };
     };
     "@cspell/dict-csharp-2.0.1" = {
@@ -2668,40 +2695,49 @@ let
         sha512 = "ZzAr+WRP2FUtXHZtfhe8f3j9vPjH+5i44Hcr5JqbWxmqciGoTbWBPQXwu9y+J4mbdC69HSWRrVGkNJ8rQk8pSw==";
       };
     };
-    "@cspell/dict-css-1.0.12" = {
+    "@cspell/dict-css-2.0.0" = {
       name = "_at_cspell_slash_dict-css";
       packageName = "@cspell/dict-css";
-      version = "1.0.12";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-1.0.12.tgz";
-        sha512 = "K6yuxej7n454O7dwKG6lHacHrAOMZ0PhMEbmV6qH2JH0U4TtWXfBASYugHvXZCDDx1UObpiJP+3tQJiBqfGpHA==";
+        url = "https://registry.npmjs.org/@cspell/dict-css/-/dict-css-2.0.0.tgz";
+        sha512 = "MrFyswFHnPh4H0u6IlV4eHy+ZCUrrHzeL161LyTOqCvaKpbZavMgNYXzZqTF9xafO0iLgwKrl+Gkclu1KVBg0Q==";
       };
     };
-    "@cspell/dict-django-1.0.26" = {
+    "@cspell/dict-dart-1.1.0" = {
+      name = "_at_cspell_slash_dict-dart";
+      packageName = "@cspell/dict-dart";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-dart/-/dict-dart-1.1.0.tgz";
+        sha512 = "bBqZINm+RVjMgUrAhRzv/xx3jc3dkIqO0higPbsK+63IAtMNY3EiQnEO4eapbU+qAhyvICY9hZQZXy5Ux4p+Pw==";
+      };
+    };
+    "@cspell/dict-django-2.0.0" = {
       name = "_at_cspell_slash_dict-django";
       packageName = "@cspell/dict-django";
-      version = "1.0.26";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-1.0.26.tgz";
-        sha512 = "mn9bd7Et1L2zuibc08GVHTiD2Go3/hdjyX5KLukXDklBkq06r+tb0OtKtf1zKodtFDTIaYekGADhNhA6AnKLkg==";
+        url = "https://registry.npmjs.org/@cspell/dict-django/-/dict-django-2.0.0.tgz";
+        sha512 = "GkJdJv6cmzrKcmq2/oxTXjKF5uv71r4eTqnFmgPbNBW1t+G4VYpzOf0QrVQrhx2RC4DdW5XfcTf+iS0FxHOTmw==";
       };
     };
-    "@cspell/dict-dotnet-1.0.32" = {
+    "@cspell/dict-dotnet-2.0.0" = {
       name = "_at_cspell_slash_dict-dotnet";
       packageName = "@cspell/dict-dotnet";
-      version = "1.0.32";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-1.0.32.tgz";
-        sha512 = "9H9vXrgJB4KF8xsyTToXO53cXD33iyfrpT4mhCds+YLUw3P3x3E9myszgJzshnrxYBvQZ+QMII57Qr6SjZVk4Q==";
+        url = "https://registry.npmjs.org/@cspell/dict-dotnet/-/dict-dotnet-2.0.0.tgz";
+        sha512 = "WOHfjwMuLbo76khDsDa1lJvP/dXcwXVwonWwfUFRt82BL/GtyMalh1HEtCWwKDuK/9f8PCEt/EZMkHT3D5ZV3w==";
       };
     };
-    "@cspell/dict-elixir-1.0.26" = {
+    "@cspell/dict-elixir-2.0.0" = {
       name = "_at_cspell_slash_dict-elixir";
       packageName = "@cspell/dict-elixir";
-      version = "1.0.26";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-1.0.26.tgz";
-        sha512 = "hz1yETUiRJM7yjN3mITSnxcmZaEyaBbyJhpZPpg+cKUil+xhHeZ2wwfbRc83QHGmlqEuDWbdCFqKSpCDJYpYhg==";
+        url = "https://registry.npmjs.org/@cspell/dict-elixir/-/dict-elixir-2.0.0.tgz";
+        sha512 = "NeDObcqiYuqWRrzMAQLZDSrZlChTEZwTA2zHdI2nPtpeDl4FQcTz2BHP8zVt6Lj6G2QHJmNGmQtSmDguX86NYA==";
       };
     };
     "@cspell/dict-en-gb-1.1.33" = {
@@ -2713,13 +2749,13 @@ let
         sha512 = "tKSSUf9BJEV+GJQAYGw5e+ouhEe2ZXE620S7BLKe3ZmpnjlNG9JqlnaBhkIMxKnNFkLY2BP/EARzw31AZnOv4g==";
       };
     };
-    "@cspell/dict-en_us-2.1.4" = {
+    "@cspell/dict-en_us-2.1.7" = {
       name = "_at_cspell_slash_dict-en_us";
       packageName = "@cspell/dict-en_us";
-      version = "2.1.4";
+      version = "2.1.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.1.4.tgz";
-        sha512 = "W4b+aIvZ637FqtTmrTe/T9i9748cuTQf82eWUgV9O296WzZj7rCxm+rzOrmRTAcCmU+9+6Cdsr0unETFQfuxww==";
+        url = "https://registry.npmjs.org/@cspell/dict-en_us/-/dict-en_us-2.1.7.tgz";
+        sha512 = "7IeAHZjXiWSIKFx/3CIlY6misvg2KyJ2KO3tSVSKuAlC3UXHGVOcbcY0kQ95IJeKbB6Ot6aW/Aaw73Nzhuurrg==";
       };
     };
     "@cspell/dict-filetypes-2.0.1" = {
@@ -2731,13 +2767,13 @@ let
         sha512 = "bQ7K3U/3hKO2lpQjObf0veNP/n50qk5CVezSwApMBckf/sAVvDTR1RGAvYdr+vdQnkdQrk6wYmhbshXi0sLDVg==";
       };
     };
-    "@cspell/dict-fonts-1.0.14" = {
+    "@cspell/dict-fonts-2.0.0" = {
       name = "_at_cspell_slash_dict-fonts";
       packageName = "@cspell/dict-fonts";
-      version = "1.0.14";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-1.0.14.tgz";
-        sha512 = "VhIX+FVYAnqQrOuoFEtya6+H72J82cIicz9QddgknsTqZQ3dvgp6lmVnsQXPM3EnzA8n1peTGpLDwHzT7ociLA==";
+        url = "https://registry.npmjs.org/@cspell/dict-fonts/-/dict-fonts-2.0.0.tgz";
+        sha512 = "AgkTalphfDPtKFPYmEExDcj8rRCh86xlOSXco8tehOEkYVYbksOk9XH0YVH34RFpy93YBd2nnVGLgyGVwagcPw==";
       };
     };
     "@cspell/dict-fullstack-2.0.4" = {
@@ -2749,112 +2785,112 @@ let
         sha512 = "+JtYO58QAXnetRN+MGVzI8YbkbFTLpYfl/Cw/tmNqy7U1IDVC4sTXQ2pZvbbeKQWFHBqYvBs0YASV+mTouXYBw==";
       };
     };
-    "@cspell/dict-golang-1.1.24" = {
+    "@cspell/dict-golang-2.0.0" = {
       name = "_at_cspell_slash_dict-golang";
       packageName = "@cspell/dict-golang";
-      version = "1.1.24";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-1.1.24.tgz";
-        sha512 = "qq3Cjnx2U1jpeWAGJL1GL0ylEhUMqyaR36Xij6Y6Aq4bViCRp+HRRqk0x5/IHHbOrti45h3yy7ii1itRFo+Xkg==";
+        url = "https://registry.npmjs.org/@cspell/dict-golang/-/dict-golang-2.0.0.tgz";
+        sha512 = "rUeZJR/S/ZjAsOURtxsAO6xDQhL0IzF458ScahaeOqe0zVL3tx7tCLikCgT92NWPs3BNqmsZGqYSDbn/1KsSIA==";
       };
     };
-    "@cspell/dict-haskell-1.0.13" = {
+    "@cspell/dict-haskell-2.0.0" = {
       name = "_at_cspell_slash_dict-haskell";
       packageName = "@cspell/dict-haskell";
-      version = "1.0.13";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-1.0.13.tgz";
-        sha512 = "kvl8T84cnYRPpND/P3D86P6WRSqebsbk0FnMfy27zo15L5MLAb3d3MOiT1kW3vEWfQgzUD7uddX/vUiuroQ8TA==";
+        url = "https://registry.npmjs.org/@cspell/dict-haskell/-/dict-haskell-2.0.0.tgz";
+        sha512 = "cjX1Br+gSWqtcmJD/IMHz1UoP3pUaKIIKy/JfhEs7ANtRt6hhfEKe9dl2kQzDkkKt4pXol+YgdYxL/sVc/nLgQ==";
       };
     };
-    "@cspell/dict-html-2.0.3" = {
+    "@cspell/dict-html-3.0.0" = {
       name = "_at_cspell_slash_dict-html";
       packageName = "@cspell/dict-html";
-      version = "2.0.3";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-2.0.3.tgz";
-        sha512 = "6sORumQ9E7YpJ4vzYb0hHBgiXpehPAawuqmueGmx/PSRkqzMNLEwhYZuTHuIZSO291RTirPMfCkUahRoKdXOOQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-html/-/dict-html-3.0.0.tgz";
+        sha512 = "VzZs/UtyRe4spdaH5SWakik+K3vB2fTyW3kdgGQbzjPGHyb5OXI5fmxQcX0yaSv5RkL0igVROHhu2ARUudoTpw==";
       };
     };
-    "@cspell/dict-html-symbol-entities-1.0.23" = {
+    "@cspell/dict-html-symbol-entities-2.0.0" = {
       name = "_at_cspell_slash_dict-html-symbol-entities";
       packageName = "@cspell/dict-html-symbol-entities";
-      version = "1.0.23";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-1.0.23.tgz";
-        sha512 = "PV0UBgcBFbBLf/m1wfkVMM8w96kvfHoiCGLWO6BR3Q9v70IXoE4ae0+T+f0CkxcEkacMqEQk/I7vuE9MzrjaNw==";
+        url = "https://registry.npmjs.org/@cspell/dict-html-symbol-entities/-/dict-html-symbol-entities-2.0.0.tgz";
+        sha512 = "71S5wGCe7dq6C+zGDwsEAe5msub/irrLi6SExeG11a/EkpA3RKAEheDGPk0hOY4+vOcIFHaApxOjLTtgQfYWfA==";
       };
     };
-    "@cspell/dict-java-1.0.23" = {
+    "@cspell/dict-java-2.0.0" = {
       name = "_at_cspell_slash_dict-java";
       packageName = "@cspell/dict-java";
-      version = "1.0.23";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-1.0.23.tgz";
-        sha512 = "LcOg9srYLDoNGd8n3kbfDBlZD+LOC9IVcnFCdua1b/luCHNVmlgBx7e677qPu7olpMYOD5TQIVW2OmM1+/6MFA==";
+        url = "https://registry.npmjs.org/@cspell/dict-java/-/dict-java-2.0.0.tgz";
+        sha512 = "9f5LDATlAiXRGqxLxgqbOLlQxuMW2zcN7tBgxwtN+4u90vM03ZUOR/gKIuDV/y0ZuAiWBIjA73cjk8DJ13Q1eA==";
       };
     };
-    "@cspell/dict-latex-1.0.25" = {
+    "@cspell/dict-latex-2.0.0" = {
       name = "_at_cspell_slash_dict-latex";
       packageName = "@cspell/dict-latex";
-      version = "1.0.25";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-1.0.25.tgz";
-        sha512 = "cEgg91Migqcp1SdVV7dUeMxbPDhxdNo6Fgq2eygAXQjIOFK520FFvh/qxyBvW90qdZbIRoU2AJpchyHfGuwZFA==";
+        url = "https://registry.npmjs.org/@cspell/dict-latex/-/dict-latex-2.0.0.tgz";
+        sha512 = "H6RRwbHhQ9ARoO1R57SDqB+q/J5jUDdVnkdfukJkA+HNlJBhCcDuzGOIJqr+GBkJYDkF3obZ3LEOk2lUfT+Eyg==";
       };
     };
-    "@cspell/dict-lorem-ipsum-1.0.22" = {
+    "@cspell/dict-lorem-ipsum-2.0.0" = {
       name = "_at_cspell_slash_dict-lorem-ipsum";
       packageName = "@cspell/dict-lorem-ipsum";
-      version = "1.0.22";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-1.0.22.tgz";
-        sha512 = "yqzspR+2ADeAGUxLTfZ4pXvPl7FmkENMRcGDECmddkOiuEwBCWMZdMP5fng9B0Q6j91hQ8w9CLvJKBz10TqNYg==";
+        url = "https://registry.npmjs.org/@cspell/dict-lorem-ipsum/-/dict-lorem-ipsum-2.0.0.tgz";
+        sha512 = "jKogAKtqvgPMleL6usyj3rZ0m8sVUR6drrD+wMnWSfdx1BmUyTsYiuh/mPEfLAebaYHELWSLQG3rDZRvV9Riqg==";
       };
     };
-    "@cspell/dict-lua-1.0.16" = {
+    "@cspell/dict-lua-2.0.0" = {
       name = "_at_cspell_slash_dict-lua";
       packageName = "@cspell/dict-lua";
-      version = "1.0.16";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-1.0.16.tgz";
-        sha512 = "YiHDt8kmHJ8nSBy0tHzaxiuitYp+oJ66ffCYuFWTNB3//Y0SI4OGHU3omLsQVeXIfCeVrO4DrVvRDoCls9B5zQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-lua/-/dict-lua-2.0.0.tgz";
+        sha512 = "7WUEBEspSKtsq104WdIys1+DLqAxpJPzw74Py1TuE3fI5GvlzeSZkRFP2ya54GB2lCO4C3mq4M8EnitpibVDfw==";
       };
     };
-    "@cspell/dict-node-1.0.12" = {
+    "@cspell/dict-node-2.0.0" = {
       name = "_at_cspell_slash_dict-node";
       packageName = "@cspell/dict-node";
-      version = "1.0.12";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-1.0.12.tgz";
-        sha512 = "RPNn/7CSkflAWk0sbSoOkg0ORrgBARUjOW3QjB11KwV1gSu8f5W/ij/S50uIXtlrfoBLqd4OyE04jyON+g/Xfg==";
+        url = "https://registry.npmjs.org/@cspell/dict-node/-/dict-node-2.0.0.tgz";
+        sha512 = "tPPl3liJORa/l6AoYqh/7rjoM7bdtaIXnIN6ox7CE0flZcBS5rWOB6mzEY3rpu/XJX0pjbBiIoqrolDkVl1RTQ==";
       };
     };
-    "@cspell/dict-npm-1.0.16" = {
+    "@cspell/dict-npm-2.0.1" = {
       name = "_at_cspell_slash_dict-npm";
       packageName = "@cspell/dict-npm";
-      version = "1.0.16";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-1.0.16.tgz";
-        sha512 = "RwkuZGcYBxL3Yux3cSG/IOWGlQ1e9HLCpHeyMtTVGYKAIkFAVUnGrz20l16/Q7zUG7IEktBz5O42kAozrEnqMQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-npm/-/dict-npm-2.0.1.tgz";
+        sha512 = "LRaJFSQfI0BIbbksPFE6fUjAyRFZRcknfOnYC/5c1wB/vsKH6KsqxTeCWNmHTYrk4KdBLZROhsHJXQIoqVTd4w==";
       };
     };
-    "@cspell/dict-php-1.0.25" = {
+    "@cspell/dict-php-2.0.0" = {
       name = "_at_cspell_slash_dict-php";
       packageName = "@cspell/dict-php";
-      version = "1.0.25";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-1.0.25.tgz";
-        sha512 = "RoBIP5MRdByyPaXcznZMfOY1JdCMYPPLua5E9gkq0TJO7bX5mC9hyAKfYBSWVQunZydd82HZixjb5MPkDFU1uw==";
+        url = "https://registry.npmjs.org/@cspell/dict-php/-/dict-php-2.0.0.tgz";
+        sha512 = "29WgU77eTO985LvMHwPi1pcpfopfCWfTdffDyqya0JIfOSaFUrlYKzGPkE4mRxcz2G3hXsaM0SRvBNdIRwEdUg==";
       };
     };
-    "@cspell/dict-powershell-1.0.19" = {
+    "@cspell/dict-powershell-2.0.0" = {
       name = "_at_cspell_slash_dict-powershell";
       packageName = "@cspell/dict-powershell";
-      version = "1.0.19";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-1.0.19.tgz";
-        sha512 = "zF/raM/lkhXeHf4I43OtK0gP9rBeEJFArscTVwLWOCIvNk21MJcNoTYoaGw+c056+Q+hJL0psGLO7QN+mxYH1A==";
+        url = "https://registry.npmjs.org/@cspell/dict-powershell/-/dict-powershell-2.0.0.tgz";
+        sha512 = "6uvEhLiGmG3u9TFkM1TYcky6aL9Yk7Sk3KJwoTYBaQJY2KqrprgyQtW6yxIw9oU52VRHlq3KKvSAA9Q26+SIkQ==";
       };
     };
     "@cspell/dict-public-licenses-1.0.4" = {
@@ -2866,76 +2902,85 @@ let
         sha512 = "h4xULfVEDUeWyvp1OO19pcGDqWcBEQ7WGMp3QBHyYpjsamlzsyYYjCRSY2ZvpM7wruDmywSRFmRHJ/+uNFT7nA==";
       };
     };
-    "@cspell/dict-python-2.0.5" = {
+    "@cspell/dict-python-2.0.6" = {
       name = "_at_cspell_slash_dict-python";
       packageName = "@cspell/dict-python";
-      version = "2.0.5";
+      version = "2.0.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-2.0.6.tgz";
+        sha512 = "54ICgMRiGwavorg8UJC38Fwx8tW8WKj8pimJmFUd0F/ImQ8wmeg4VrmyMach5MZVUaw1qUe2aP5uSyqA15Q0mg==";
+      };
+    };
+    "@cspell/dict-r-1.0.2" = {
+      name = "_at_cspell_slash_dict-r";
+      packageName = "@cspell/dict-r";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-python/-/dict-python-2.0.5.tgz";
-        sha512 = "WkyGYtNmUsOHsWixck7AxNvveDgVPqw0H51hzIY+/5u3c94wZUweIj0vfFOGIfOBq8e1ZxpjumKBxVDGXTmQkw==";
+        url = "https://registry.npmjs.org/@cspell/dict-r/-/dict-r-1.0.2.tgz";
+        sha512 = "Rp3d4sgD6izW9TW5yVI3D//3HTl9oOGBuzTvXRdoHksVPRvzIu2liVhj8MnQ3XIRe5Kc6IhLBAm6izuV2BpGwQ==";
       };
     };
-    "@cspell/dict-ruby-1.0.15" = {
+    "@cspell/dict-ruby-2.0.0" = {
       name = "_at_cspell_slash_dict-ruby";
       packageName = "@cspell/dict-ruby";
-      version = "1.0.15";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-1.0.15.tgz";
-        sha512 = "I76hJA///lc1pgmDTGUFHN/O8KLIZIU/8TgIYIGI6Ix/YzSEvWNdQYbANn6JbCynS0X+7IbZ2Ft+QqvmGtIWuA==";
+        url = "https://registry.npmjs.org/@cspell/dict-ruby/-/dict-ruby-2.0.0.tgz";
+        sha512 = "ux73GEIZrApxIG/BDnpdxWE7r9TY3n+3HFAEp+LDJjSjpwpn2VXopd7GsjwsvmlAv5F3Jch8tzgzujFZkvqdoA==";
       };
     };
-    "@cspell/dict-rust-1.0.23" = {
+    "@cspell/dict-rust-2.0.0" = {
       name = "_at_cspell_slash_dict-rust";
       packageName = "@cspell/dict-rust";
-      version = "1.0.23";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-1.0.23.tgz";
-        sha512 = "lR4boDzs79YD6+30mmiSGAMMdwh7HTBAPUFSB0obR3Kidibfc3GZ+MHWZXay5dxZ4nBKM06vyjtanF9VJ8q1Iw==";
+        url = "https://registry.npmjs.org/@cspell/dict-rust/-/dict-rust-2.0.0.tgz";
+        sha512 = "EWlQivTKXMU3TTcq/Pi6KPKTQADknasQ700UrxRPzxhwQ4sKVZ88GDu6VZJlsbFUz8Vko289KS6wjiox/7WpmQ==";
       };
     };
-    "@cspell/dict-scala-1.0.21" = {
+    "@cspell/dict-scala-2.0.0" = {
       name = "_at_cspell_slash_dict-scala";
       packageName = "@cspell/dict-scala";
-      version = "1.0.21";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-1.0.21.tgz";
-        sha512 = "5V/R7PRbbminTpPS3ywgdAalI9BHzcEjEj9ug4kWYvBIGwSnS7T6QCFCiu+e9LvEGUqQC+NHgLY4zs1NaBj2vA==";
+        url = "https://registry.npmjs.org/@cspell/dict-scala/-/dict-scala-2.0.0.tgz";
+        sha512 = "MUwA2YKpqaQOSR4V1/CVGRNk8Ii5kf6I8Ch+4/BhRZRQXuwWbi21rDRYWPqdQWps7VNzAbbMA+PQDWsD5YY38g==";
       };
     };
-    "@cspell/dict-software-terms-2.0.12" = {
+    "@cspell/dict-software-terms-2.1.1" = {
       name = "_at_cspell_slash_dict-software-terms";
       packageName = "@cspell/dict-software-terms";
-      version = "2.0.12";
+      version = "2.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.0.12.tgz";
-        sha512 = "zsgraHo5PIDY1mTaWGA2NsxhO8g85inD758pEQL1MeKTFlGiFHT4vW+faryzhvBT5LOMH4LnTs0yGrMyn7JlkQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-software-terms/-/dict-software-terms-2.1.1.tgz";
+        sha512 = "PmmqysKSvNwksjEfXrzD1wEVvctR6qppxDhwNc4IQQjwpjmtN8e+8HiXxIbCsBcll1rO0vOmnhpXUdl+d9apXQ==";
       };
     };
-    "@cspell/dict-swift-1.0.1" = {
+    "@cspell/dict-swift-1.0.2" = {
       name = "_at_cspell_slash_dict-swift";
       packageName = "@cspell/dict-swift";
-      version = "1.0.1";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-1.0.1.tgz";
-        sha512 = "M4onLt10Ptld8Q1BwBit8BBYVZ0d2ZEiBTW1AXekIVPQkPKkwa/RkGlR0GESWNTC2Zbmt/qge7trksVdaYVWFQ==";
+        url = "https://registry.npmjs.org/@cspell/dict-swift/-/dict-swift-1.0.2.tgz";
+        sha512 = "IrMcRO7AYB2qU5cj4ttZyEbd04DRNOG6Iha106qGGmn4P096m+Y7lOnSLJx/rZbD/cAT3Z/7i465Lr1J93j7yg==";
       };
     };
-    "@cspell/dict-typescript-1.0.19" = {
+    "@cspell/dict-typescript-2.0.0" = {
       name = "_at_cspell_slash_dict-typescript";
       packageName = "@cspell/dict-typescript";
-      version = "1.0.19";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-1.0.19.tgz";
-        sha512 = "qmJApzoVskDeJnLZzZMaafEDGbEg5Elt4c3Mpg49SWzIHm1N4VXCp5CcFfHsOinJ30dGrs3ARAJGJZIw56kK6A==";
+        url = "https://registry.npmjs.org/@cspell/dict-typescript/-/dict-typescript-2.0.0.tgz";
+        sha512 = "WFBahxsnD2y4Os14tE5Zxh31Ggn4DzGOAu3UoxYl1lLLxaszx4RH7LmAeFuznySboiaBeRBbpfJOjQA796O6VQ==";
       };
     };
-    "@cspell/dict-vue-2.0.1" = {
+    "@cspell/dict-vue-2.0.2" = {
       name = "_at_cspell_slash_dict-vue";
       packageName = "@cspell/dict-vue";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-2.0.1.tgz";
-        sha512 = "n9So2C2Zw+uSDRzb2h9wq3PjZBqoHx+vBvu6a34H2qpumNjZ6HaEronrzX5tXJJXzOtocIQYrLxdd128TAU3+g==";
+        url = "https://registry.npmjs.org/@cspell/dict-vue/-/dict-vue-2.0.2.tgz";
+        sha512 = "/MB0RS0Gn01s4pgmjy0FvsLfr3RRMrRphEuvTRserNcM8XVtoIVAtrjig/Gg0DPwDrN8Clm0L1j7iQay6S8D0g==";
       };
     };
     "@cspotcode/source-map-consumer-0.8.0" = {
@@ -3010,13 +3055,13 @@ let
         sha1 = "cbc4b9a68981bf0b501ccd06a9058acd65309bf7";
       };
     };
-    "@dabh/diagnostics-2.0.2" = {
+    "@dabh/diagnostics-2.0.3" = {
       name = "_at_dabh_slash_diagnostics";
       packageName = "@dabh/diagnostics";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.2.tgz";
-        sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
+        url = "https://registry.npmjs.org/@dabh/diagnostics/-/diagnostics-2.0.3.tgz";
+        sha512 = "hrlQOIi7hAfzsMqlGSFyVucrx38O+j6wiGOf//H2ecvIEqYN4ADBSS2iLMh5UFyDunCNniUIPk/q3riFv45xRA==";
       };
     };
     "@deltachat/message_parser_wasm-0.1.0" = {
@@ -3235,13 +3280,13 @@ let
         sha512 = "U5vkXDZ9DwXtkPqlB45tfYnnYBN8PePp1z/XDCupnSpdrxT8/ThCv9WCwPLf9oqiSGZTkH6dx2jDUPuoXpjkcA==";
       };
     };
-    "@emmetio/abbreviation-2.2.2" = {
+    "@emmetio/abbreviation-2.2.3" = {
       name = "_at_emmetio_slash_abbreviation";
       packageName = "@emmetio/abbreviation";
-      version = "2.2.2";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.2.2.tgz";
-        sha512 = "TtE/dBnkTCct8+LntkqVrwqQao6EnPAs1YN3cUgxOxTaBlesBCY37ROUAVZrRlG64GNnVShdl/b70RfAI3w5lw==";
+        url = "https://registry.npmjs.org/@emmetio/abbreviation/-/abbreviation-2.2.3.tgz";
+        sha512 = "87pltuCPt99aL+y9xS6GPZ+Wmmyhll2WXH73gG/xpGcQ84DRnptBsI2r0BeIQ0EB/SQTOe2ANPqFqj3Rj5FOGA==";
       };
     };
     "@emmetio/css-abbreviation-2.1.4" = {
@@ -3325,13 +3370,13 @@ let
         sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
       };
     };
-    "@eslint/eslintrc-1.0.5" = {
+    "@eslint/eslintrc-1.1.0" = {
       name = "_at_eslint_slash_eslintrc";
       packageName = "@eslint/eslintrc";
-      version = "1.0.5";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.0.5.tgz";
-        sha512 = "BLxsnmK3KyPunz5wmCCpqy0YelEoxxGmH73Is+Z74oOTMtExcjkr3dDR6quwrjh1YspA8DH9gnX1o069KiS9AQ==";
+        url = "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-1.1.0.tgz";
+        sha512 = "C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg==";
       };
     };
     "@exodus/schemasafe-1.0.0-rc.6" = {
@@ -3361,49 +3406,49 @@ let
         sha512 = "Ydf4LidRB/EBI+YrB+cVLqIseiRfjUI/AeHBgjGMtq3GroraDu81OV7zqophRgupngoL3iS3JUMDMnxO7g39qA==";
       };
     };
-    "@expo/config-6.0.14" = {
+    "@expo/config-6.0.18" = {
       name = "_at_expo_slash_config";
       packageName = "@expo/config";
-      version = "6.0.14";
+      version = "6.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.14.tgz";
-        sha512 = "CVnAGmXvAEYRYhXa7p1fZW9MzJtxE8cO0AGWdJIym4kyvxi6qkgeowmENEQUYKRk2s8Kq1+iY5krm2VXDqQV9w==";
+        url = "https://registry.npmjs.org/@expo/config/-/config-6.0.18.tgz";
+        sha512 = "60z0YICI9eJWlvajl/Wgq8+lKm0jfkZOMdATDQtWz6GvWshUxd+A8EYhtgjJ9eWMGqOYkwrCpRNLHz5TZtCKWA==";
       };
     };
-    "@expo/config-plugins-4.0.14" = {
+    "@expo/config-plugins-4.0.18" = {
       name = "_at_expo_slash_config-plugins";
       packageName = "@expo/config-plugins";
-      version = "4.0.14";
+      version = "4.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.0.14.tgz";
-        sha512 = "3UMo9STaIAQRAvtlXXIX83mrxWAh0prQYgVG+n2JRBwI9CWiRdj35W+jyXkTChtPYXGvW1JQF2xatjB8ituSvg==";
+        url = "https://registry.npmjs.org/@expo/config-plugins/-/config-plugins-4.0.18.tgz";
+        sha512 = "tW4bnrnKhn+PPHF8wf1KAoubICAVUHW8CcagvyFqaRIzeh6yavMIOsQShxOVTbgx7LzSyymZ1nEs45yCGAiMfA==";
       };
     };
-    "@expo/config-types-43.0.1" = {
+    "@expo/config-types-44.0.0" = {
       name = "_at_expo_slash_config-types";
       packageName = "@expo/config-types";
-      version = "43.0.1";
+      version = "44.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/config-types/-/config-types-43.0.1.tgz";
-        sha512 = "EtllpCGDdB/UdwAIs5YXJwBLpbFQNdlLLrxIvoILA9cXrpQMWkeDCT9lQPJzFRMFcLUaMuGvkzX2tR4tx5EQFQ==";
+        url = "https://registry.npmjs.org/@expo/config-types/-/config-types-44.0.0.tgz";
+        sha512 = "d+gpdKOAhqaD5RmcMzGgKzNtvE1w+GCqpFQNSXLliYlXjj+Tv0eL8EPeAdPtvke0vowpPFwd5McXLA90dgY6Jg==";
       };
     };
-    "@expo/dev-server-0.1.101" = {
+    "@expo/dev-server-0.1.105" = {
       name = "_at_expo_slash_dev-server";
       packageName = "@expo/dev-server";
-      version = "0.1.101";
+      version = "0.1.105";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.101.tgz";
-        sha512 = "VRL3sDJXGUiJK3dv+yY4QpK8b7FTk5Khxf0U96wrAFmsnTWh3EhH0kbOZa37+A+5rUm6jwAS3gUE58vE7Jaw8g==";
+        url = "https://registry.npmjs.org/@expo/dev-server/-/dev-server-0.1.105.tgz";
+        sha512 = "Glw+826+4eS3zCXAEg5ruQVK3fCk+aT5BG+AiOYW5Dzb6EmRVYcbkK93ZdXloiqarflum9bQY+rogItB0hjjrw==";
       };
     };
-    "@expo/dev-tools-0.13.138" = {
+    "@expo/dev-tools-0.13.145" = {
       name = "_at_expo_slash_dev-tools";
       packageName = "@expo/dev-tools";
-      version = "0.13.138";
+      version = "0.13.145";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.138.tgz";
-        sha512 = "ud8dVfrA5TGfa9QZTcXD09otT8VeNX0MqECl/1X229xbzmgMXRuBoTVoIV+yxGIp2WtPmZlOe1g6gMzZTq+X8g==";
+        url = "https://registry.npmjs.org/@expo/dev-tools/-/dev-tools-0.13.145.tgz";
+        sha512 = "GtqnA9rmmSqCrv893MWbzbAoDZnYaSXe4kKQ57tCWYeSTOKav74ofvZlUZalosPuPjE9yuMA47rH9XJY0YgC1g==";
       };
     };
     "@expo/devcert-1.0.0" = {
@@ -3433,13 +3478,13 @@ let
         sha512 = "ZxtBodAZGxdLtgKzmsC+8ViUxt1mhFW642Clu2OuG3f6PAyAFsU/SqEGag9wKFaD3x3Wt8VhL+3y5fMJmUFgPw==";
       };
     };
-    "@expo/metro-config-0.3.7" = {
+    "@expo/metro-config-0.3.11" = {
       name = "_at_expo_slash_metro-config";
       packageName = "@expo/metro-config";
-      version = "0.3.7";
+      version = "0.3.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.3.7.tgz";
-        sha512 = "ps5HXXYjAsEpG9qxzKG59YA1kItDp+XWPwOzPtqnBwffcuL1xFYPzBCLGvYlVg+6qKs7xvSMLWHzh89pv8oa0w==";
+        url = "https://registry.npmjs.org/@expo/metro-config/-/metro-config-0.3.11.tgz";
+        sha512 = "F0Oe3JbRjbPA7LvZW969/6PTn7EXvXaudJq4fL8Fs4xfLgNHFv+t+NvlnoTj+y8IyY3z2jOfJkwpq64rzhx+6g==";
       };
     };
     "@expo/osascript-2.0.31" = {
@@ -3451,31 +3496,31 @@ let
         sha512 = "5OE8+Fb1mLu9EJNUOx5RcetkJZMXJxthVuIzHPlEZFEAZa3f/zQtJ6vA/hnt1BLZ2X9BR3OzBMALrUzVo95L2w==";
       };
     };
-    "@expo/package-manager-0.0.48" = {
+    "@expo/package-manager-0.0.50" = {
       name = "_at_expo_slash_package-manager";
       packageName = "@expo/package-manager";
-      version = "0.0.48";
+      version = "0.0.50";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.48.tgz";
-        sha512 = "mR+UytJc26XE3aGp8ug3MsgDKiOs4Uy5ATbjmoiYQmppJmmT9w14MVP5Iwe7ATwrCkvwqYyQ9uD8UknzCGcBCA==";
+        url = "https://registry.npmjs.org/@expo/package-manager/-/package-manager-0.0.50.tgz";
+        sha512 = "rDa1MkXFxZb3jj/a1iX12A+6DpWsZgtX8H0d5j+sYeCqjOARTvuvgNS9anpNbdhbGEXSu+1m8YGXK/QmBAo51Q==";
       };
     };
-    "@expo/plist-0.0.16" = {
+    "@expo/plist-0.0.17" = {
       name = "_at_expo_slash_plist";
       packageName = "@expo/plist";
-      version = "0.0.16";
+      version = "0.0.17";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/plist/-/plist-0.0.16.tgz";
-        sha512 = "yQMt2CTm2VNLiHv2/EqHYrHvfflI2mFJd+DZIQQy569hvpZle0CxMPGH1p2KatbrO8htxJNvwrlR/4TIwhQJ5w==";
+        url = "https://registry.npmjs.org/@expo/plist/-/plist-0.0.17.tgz";
+        sha512 = "5Ul3d/YOYE6mfum0jCE25XUnkKHZ5vGlU/X2275ZmCtGrpRn1Fl8Nq+jQKSaks3NqTfxdyXROi/TgH8Zxeg2wg==";
       };
     };
-    "@expo/prebuild-config-3.0.14" = {
+    "@expo/prebuild-config-3.0.18" = {
       name = "_at_expo_slash_prebuild-config";
       packageName = "@expo/prebuild-config";
-      version = "3.0.14";
+      version = "3.0.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-3.0.14.tgz";
-        sha512 = "YpPcjgHsILWlXVl3txPJ6lQNCc8JWbMp3EkXdyi6/glXYAHbOI8snTFeV2GOJH5X2y88C24u0sAParcaNuapiQ==";
+        url = "https://registry.npmjs.org/@expo/prebuild-config/-/prebuild-config-3.0.18.tgz";
+        sha512 = "Eyb+HJCsxYba2sWlDi3rqXWQ3jDjN41rSiYmvApY121Zqdrrj/384ntHZh6cbz0LWPeHXjPZBM3SDbK0ri9FTw==";
       };
     };
     "@expo/rudder-sdk-node-1.1.1" = {
@@ -3514,13 +3559,13 @@ let
         sha512 = "LB7jWkqrHo+5fJHNrLAFdimuSXQ2MQ4lA7SQW5bf/HbsXuV2VrT/jN/M8f/KoWt0uJMGN4k/j7Opx4AvOOxSew==";
       };
     };
-    "@expo/webpack-config-0.16.14" = {
+    "@expo/webpack-config-0.16.18" = {
       name = "_at_expo_slash_webpack-config";
       packageName = "@expo/webpack-config";
-      version = "0.16.14";
+      version = "0.16.18";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.14.tgz";
-        sha512 = "yJQrnr1GBpVdE9xPMSOO2nsfbFieady0YT/RlB1tDUFGuZ4HJjN+h8vMx5n3eDnHRxZgiQSOHOFYLUQmVJ5IoA==";
+        url = "https://registry.npmjs.org/@expo/webpack-config/-/webpack-config-0.16.18.tgz";
+        sha512 = "zANXNW68EzQ5Q8FyEmfZz1z7050yOaqJOpByWOLJ3NE1TRzflyzjt55OXsggPxBz2wpmikq/NjlZuF92e18UGw==";
       };
     };
     "@expo/xcpretty-4.1.0" = {
@@ -3577,22 +3622,22 @@ let
         sha512 = "iT1bU56rKrKEOfODoW6fScY11qj3iaYrZ+z11T6fo5+TDm84UGkkXjLXJTE57ZJzg0/gbccHQWYv+chY7bJN8Q==";
       };
     };
-    "@fluentui/react-7.181.0" = {
+    "@fluentui/react-7.183.1" = {
       name = "_at_fluentui_slash_react";
       packageName = "@fluentui/react";
-      version = "7.181.0";
+      version = "7.183.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.181.0.tgz";
-        sha512 = "GZHYe0rCcWubW6OslY2JOMlM7Hotn3ZdzWJHO/64MHqi1cbCUJppMaA/8IfFF7P5eFr8ojvpVSy9D7CQPDVq3A==";
+        url = "https://registry.npmjs.org/@fluentui/react/-/react-7.183.1.tgz";
+        sha512 = "skyvnVfsy/pJWJf1Tksa2lf+gNHFQFVOwM95Z+or+auGPfdpxKUN0nHbCnqyMLYoKdmKEUyciUzrQ2LxMOcU0A==";
       };
     };
-    "@fluentui/react-focus-7.18.1" = {
+    "@fluentui/react-focus-7.18.2" = {
       name = "_at_fluentui_slash_react-focus";
       packageName = "@fluentui/react-focus";
-      version = "7.18.1";
+      version = "7.18.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.18.1.tgz";
-        sha512 = "WXXkMR3t5mr9m5hg5vRWH/JZ+kaZmbuTGpTA7E7uc+Ag/RZfG/uVN+ZwBdDpP6Xg7+6f3wlkGCBtY/UDcW6qmw==";
+        url = "https://registry.npmjs.org/@fluentui/react-focus/-/react-focus-7.18.2.tgz";
+        sha512 = "Pwk5TVIfannsSZI540ytvQxJCFi5Qgp54QqKbouv9+jUTtgiNRh5VcEkkhT+NKmtlAKhwPi77bU8WQRGRPV61w==";
       };
     };
     "@fluentui/react-window-provider-1.0.2" = {
@@ -3613,49 +3658,49 @@ let
         sha512 = "o4eo7lstLxxXl1g2RR9yz18Yt8yjQO/LbQuZjsiAfv/4Bf0CRnb+3j1F7gxIdBWAchKj9gzaMpIFijfI98pvYQ==";
       };
     };
-    "@gar/promisify-1.1.2" = {
+    "@gar/promisify-1.1.3" = {
       name = "_at_gar_slash_promisify";
       packageName = "@gar/promisify";
-      version = "1.1.2";
+      version = "1.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.2.tgz";
-        sha512 = "82cpyJyKRoQoRi+14ibCeGPu0CwypgtBAdBhq1WfvagpCZNKqwXbKwXllYSMG91DhmG4jt9gN8eP6lGOtozuaw==";
+        url = "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz";
+        sha512 = "k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==";
       };
     };
-    "@gitbeaker/core-35.1.0" = {
+    "@gitbeaker/core-35.4.0" = {
       name = "_at_gitbeaker_slash_core";
       packageName = "@gitbeaker/core";
-      version = "35.1.0";
+      version = "35.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-35.1.0.tgz";
-        sha512 = "DM9w3wgrS8GoXMLJb0DL2VSxTvP3yoaGDfX2d8n3wMGSjZbCknh3YnbVG/OfnaPbh9PH71kGll3SY5rJgz7XJg==";
+        url = "https://registry.npmjs.org/@gitbeaker/core/-/core-35.4.0.tgz";
+        sha512 = "VjRmC/j1umhn0+f+DbrbxXDAc0uvGd32tJ4MCFQYkxw9ndr/0Rlg8iYvYN/zWyqtgr3SeTxMyS3Z9MtbWWhjBA==";
       };
     };
-    "@gitbeaker/node-35.1.0" = {
+    "@gitbeaker/node-35.4.0" = {
       name = "_at_gitbeaker_slash_node";
       packageName = "@gitbeaker/node";
-      version = "35.1.0";
+      version = "35.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/node/-/node-35.1.0.tgz";
-        sha512 = "t0lXqSuY93jVffo6WMeo4tvZtkMQXPKuGb1qNh3HOuW4+KyEqmrdQnorGyyRYH7uRTmQeHEe33BL1Ttc5F5YrA==";
+        url = "https://registry.npmjs.org/@gitbeaker/node/-/node-35.4.0.tgz";
+        sha512 = "5isY4/ePtjIs7uFwVW8U5oNNwntyCa3eTs3+tb6CywtLGdlnenk0eNJjZ2Srn8xJOKsOCCpQkT5hP1AOKSAlAQ==";
       };
     };
-    "@gitbeaker/requester-utils-35.1.0" = {
+    "@gitbeaker/requester-utils-35.4.0" = {
       name = "_at_gitbeaker_slash_requester-utils";
       packageName = "@gitbeaker/requester-utils";
-      version = "35.1.0";
+      version = "35.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-35.1.0.tgz";
-        sha512 = "00aQYCxs3wBHrD5HGWh0l1FRsX1NYJ1GEq4Reyo1NpVgjwzO/T1jjMFy3jikjJ+UGeg0sfqV9h91mwtCQ4SmRA==";
+        url = "https://registry.npmjs.org/@gitbeaker/requester-utils/-/requester-utils-35.4.0.tgz";
+        sha512 = "NkJ55oMM7TNMWUNnzeYLdLOIUFv1LBBN/PCM2u7J5+67gpck03YfWAkgrODIqBePFyrfm19pdka3SUlNBP0G2g==";
       };
     };
-    "@google-cloud/paginator-3.0.6" = {
+    "@google-cloud/paginator-3.0.7" = {
       name = "_at_google-cloud_slash_paginator";
       packageName = "@google-cloud/paginator";
-      version = "3.0.6";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.6.tgz";
-        sha512 = "XCTm/GfQIlc1ZxpNtTSs/mnZxC2cePNhxU3X8EzHXKIJ2JFncmJj2Fcd2IP+gbmZaSZnY0juFxbUCkIeuu/2eQ==";
+        url = "https://registry.npmjs.org/@google-cloud/paginator/-/paginator-3.0.7.tgz";
+        sha512 = "jJNutk0arIQhmpUUQJPJErsojqo834KcyB6X7a1mxuic8i1tKXxde8E69IZxNZawRIlZdIK2QY4WALvlK5MzYQ==";
       };
     };
     "@google-cloud/precise-date-2.0.4" = {
@@ -3685,22 +3730,22 @@ let
         sha512 = "j8yRSSqswWi1QqUGKVEKOG03Q7qOoZP6/h2zN2YO+F5h2+DHU0bSrHCK9Y7lo2DI9fBd8qGAw795sf+3Jva4yA==";
       };
     };
-    "@google-cloud/pubsub-2.18.4" = {
+    "@google-cloud/pubsub-2.19.0" = {
       name = "_at_google-cloud_slash_pubsub";
       packageName = "@google-cloud/pubsub";
-      version = "2.18.4";
+      version = "2.19.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.18.4.tgz";
-        sha512 = "mgKZ7XdXN7MEGK+MCmRKuoq3GBiuYIa9ytYuV1DIHbd+eYqqyPYZHvL8g/73eogkNYK5TxSydja7TCRDzfJaxA==";
+        url = "https://registry.npmjs.org/@google-cloud/pubsub/-/pubsub-2.19.0.tgz";
+        sha512 = "aNgaS7zI6MkE4hrhmxrGiyFZHPvb0BW1djk0D5RoKDwPb8GTuYBfu8w/3twTvaf+HiM7NchvPtdFRbiETIaadw==";
       };
     };
-    "@grammyjs/types-2.5.1" = {
+    "@grammyjs/types-2.6.0" = {
       name = "_at_grammyjs_slash_types";
       packageName = "@grammyjs/types";
-      version = "2.5.1";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grammyjs/types/-/types-2.5.1.tgz";
-        sha512 = "ZJ+X+w5qo6YxCRDWt63+SD2iX+xitP3Z7ieLUWw1b7OanljAMjPRry2PvBRoA1Zg0nFqulxFtiAHxxN1v8BXiQ==";
+        url = "https://registry.npmjs.org/@grammyjs/types/-/types-2.6.0.tgz";
+        sha512 = "eWckBf25l6xwSS2YO6Ioyf2BDEO7tyNZhgRLl5PzsdvqlHQR+XYTdKwhevsqLG4Y+zmF6hEXnuNTYu+HF8W8Sg==";
       };
     };
     "@graphql-cli/common-4.1.0" = {
@@ -3748,13 +3793,13 @@ let
         sha512 = "bQu+hDd37e+FZ0CQGEEczmRSfQRnnXeUxI/0miDV+NV/zCbEdIJj5tYFNrKT03W6wgdqx8U06d8L23LxvGri/g==";
       };
     };
-    "@graphql-tools/delegate-8.4.3" = {
+    "@graphql-tools/delegate-8.5.0" = {
       name = "_at_graphql-tools_slash_delegate";
       packageName = "@graphql-tools/delegate";
-      version = "8.4.3";
+      version = "8.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.4.3.tgz";
-        sha512 = "hKTJdJXJnKL0+2vpU+Kt7OHQTIXZ9mBmNBwHsYiG5WNArz/vNI7910r6TC2XMf/e7zhyyK+mXxMDBmDQkkJagA==";
+        url = "https://registry.npmjs.org/@graphql-tools/delegate/-/delegate-8.5.0.tgz";
+        sha512 = "P2LLahWpv8eFrqXQi9v/NDLxLBKAugd3rmB8lxeTnCqma19ZM/VaSpvGAgGyjjHKQe097mAeBEkM/7uYbG/NFg==";
       };
     };
     "@graphql-tools/graphql-file-loader-6.2.7" = {
@@ -3829,13 +3874,13 @@ let
         sha512 = "G5YrOew39fZf16VIrc49q3c8dBqQDD0ax5LYPiNja00xsXDi0T9zsEWVt06ApjtSdSF6HDddlu5S12QjeN8Tow==";
       };
     };
-    "@graphql-tools/merge-8.2.1" = {
+    "@graphql-tools/merge-8.2.2" = {
       name = "_at_graphql-tools_slash_merge";
       packageName = "@graphql-tools/merge";
-      version = "8.2.1";
+      version = "8.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.1.tgz";
-        sha512 = "Q240kcUszhXiAYudjuJgNuLgy9CryDP3wp83NOZQezfA6h3ByYKU7xI6DiKrdjyVaGpYN3ppUmdj0uf5GaXzMA==";
+        url = "https://registry.npmjs.org/@graphql-tools/merge/-/merge-8.2.2.tgz";
+        sha512 = "2DyqhIOMUMKbCPqo8p6xSdll2OBcBxGdOrxlJJlFQvinsSaYqp/ct3dhAxNtzaIcvSVgXvttQqfD7O2ziFtE7Q==";
       };
     };
     "@graphql-tools/schema-7.1.5" = {
@@ -3865,13 +3910,13 @@ let
         sha512 = "DSDrbhQIv7fheQ60pfDpGD256ixUQIR6Hhf9Z5bRjVkXOCvO5XrkwoWLiU7iHL81GB1r0Ba31bf+sl+D4nyyfw==";
       };
     };
-    "@graphql-tools/url-loader-7.7.0" = {
+    "@graphql-tools/url-loader-7.7.1" = {
       name = "_at_graphql-tools_slash_url-loader";
       packageName = "@graphql-tools/url-loader";
-      version = "7.7.0";
+      version = "7.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.7.0.tgz";
-        sha512 = "mBBb+aJqI4E0MVEzyfi76Pi/G6lGxGTVt/tP1YtKJly7UnonNoWOtDusdL3zIVAGhGgLsNrLbGhLDbwSd6TV6A==";
+        url = "https://registry.npmjs.org/@graphql-tools/url-loader/-/url-loader-7.7.1.tgz";
+        sha512 = "K/5amdeHtKYI976HVd/AXdSNvLL7vx5QVjMlwN0OHeYyxSgC+UOH+KkS7cshYgL13SekGu0Mxbg9ABfgQ34ECA==";
       };
     };
     "@graphql-tools/utils-6.2.4" = {
@@ -3919,13 +3964,13 @@ let
         sha512 = "1NDUymworsOlb53Qfh7fonDi2STvqCtbeE68ntKY9K/Ju/be2ZNxrFSbrBHwnxWcN9PjISNnLcAyJ1L5tCUyhg==";
       };
     };
-    "@graphql-tools/wrap-8.3.3" = {
+    "@graphql-tools/wrap-8.4.0" = {
       name = "_at_graphql-tools_slash_wrap";
       packageName = "@graphql-tools/wrap";
-      version = "8.3.3";
+      version = "8.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.3.3.tgz";
-        sha512 = "TpXN1S4Cv+oMA1Zsg9Nu4N9yrFxLuJkX+CTtSRrrdfETGHIxqfyDkm5slPDCckxP+RILA00g8ny2jzsYyNvX1w==";
+        url = "https://registry.npmjs.org/@graphql-tools/wrap/-/wrap-8.4.0.tgz";
+        sha512 = "fPB3+UnxLIPWDfMvAfBQnGmm8rrejeQjmCy7h9avWHBbkEELcvtrSWnKAvoKowe+WR9PVDM15XQ/PQvcddV0kQ==";
       };
     };
     "@grpc/grpc-js-1.4.4" = {
@@ -3937,49 +3982,40 @@ let
         sha512 = "a6222b7Dl6fIlMgzVl7e+NiRoLiZFbpcwvBH2Oli56Bn7W4/3Ld+86hK4ffPn5rx2DlDidmIcvIJiOQXyhv9gA==";
       };
     };
-    "@grpc/grpc-js-1.4.5" = {
-      name = "_at_grpc_slash_grpc-js";
-      packageName = "@grpc/grpc-js";
-      version = "1.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.4.5.tgz";
-        sha512 = "A6cOzSu7dqXZ7rzvh/9JZf+Jg/MOpLEMP0IdT8pT8hrWJZ6TB4ydN/MRuqOtAugInJe/VQ9F8BPricUpYZSaZA==";
-      };
-    };
-    "@grpc/grpc-js-1.4.6" = {
+    "@grpc/grpc-js-1.5.1" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.4.6";
+      version = "1.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.4.6.tgz";
-        sha512 = "Byau4xiXfIixb1PnW30V/P9mkrZ05lknyNqiK+cVY9J5hj3gecxd/anwaUbAM8j834zg1x78NvAbwGnMfWEu7A==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.1.tgz";
+        sha512 = "ItOqQ4ff7JrR9W6KDQm+LdsVjuZtV7Qq64Oy3Hjx8ZPBDDwBx7rD8hOL0Vnde0RbnsqLG86WOgF+tQDzf/nSzQ==";
       };
     };
-    "@grpc/grpc-js-1.5.0" = {
+    "@grpc/grpc-js-1.5.3" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.5.0";
+      version = "1.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.0.tgz";
-        sha512 = "PDLazk94MFV5hFn/+aSrVj3d5UsOK9HU1xa0ywachvDh1jymBU/Cb+4nGa2NjpfcBoXlHioBC/qIB/XzELednw==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz";
+        sha512 = "q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==";
       };
     };
-    "@grpc/grpc-js-1.5.1" = {
+    "@grpc/grpc-js-1.5.4" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.5.1";
+      version = "1.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.1.tgz";
-        sha512 = "ItOqQ4ff7JrR9W6KDQm+LdsVjuZtV7Qq64Oy3Hjx8ZPBDDwBx7rD8hOL0Vnde0RbnsqLG86WOgF+tQDzf/nSzQ==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.4.tgz";
+        sha512 = "+nJTOsqpFAXnfFrMZ7Too4XXZ/J9O+8jYvSoaunupoC7I7b9H4iex1BRsbTdOmiowfPGJrWit7jUPmbENSUSpw==";
       };
     };
-    "@grpc/grpc-js-1.5.3" = {
+    "@grpc/grpc-js-1.5.5" = {
       name = "_at_grpc_slash_grpc-js";
       packageName = "@grpc/grpc-js";
-      version = "1.5.3";
+      version = "1.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.3.tgz";
-        sha512 = "q0xgaZ3ymUM+ZOhe1hdocVSdKHCnJ6llLSXcP+MqMXMyYPUZ3mzQOCxZ3Zkg+QZ7sZ950sn7hvueQrIJZumPZg==";
+        url = "https://registry.npmjs.org/@grpc/grpc-js/-/grpc-js-1.5.5.tgz";
+        sha512 = "FTd27ItHlsSG/7hp62xgI9YnqSwRbHRSVmDVR8DwOoC+6t8JhHRXe2JL0U8N9GLc0jS0HrtEbO/KP5+G0ebjLQ==";
       };
     };
     "@grpc/proto-loader-0.6.6" = {
@@ -3991,15 +4027,6 @@ let
         sha512 = "cdMaPZ8AiFz6ua6PUbP+LKbhwJbFXnrQ/mlnKGUyzDUZ3wp7vPLksnmLCBX6SHgSmjX7CbNVNLFYD5GmmjO4GQ==";
       };
     };
-    "@grpc/proto-loader-0.6.7" = {
-      name = "_at_grpc_slash_proto-loader";
-      packageName = "@grpc/proto-loader";
-      version = "0.6.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@grpc/proto-loader/-/proto-loader-0.6.7.tgz";
-        sha512 = "QzTPIyJxU0u+r2qGe8VMl3j/W2ryhEvBv7hc42OjYfthSj370fUrb7na65rG6w3YLZS/fb8p89iTBobfWGDgdw==";
-      };
-    };
     "@grpc/proto-loader-0.6.9" = {
       name = "_at_grpc_slash_proto-loader";
       packageName = "@grpc/proto-loader";
@@ -4036,33 +4063,6 @@ let
         sha512 = "maIyMJtYjA5e/R9nyA22Qd7Yw73MBSxClJvle0a8XWAS/5l6shc/OFpQqrmwMy4IXUCmywJ9ER0gOGz/YA720w==";
       };
     };
-    "@hapi/address-2.1.4" = {
-      name = "_at_hapi_slash_address";
-      packageName = "@hapi/address";
-      version = "2.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz";
-        sha512 = "QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==";
-      };
-    };
-    "@hapi/bourne-1.3.2" = {
-      name = "_at_hapi_slash_bourne";
-      packageName = "@hapi/bourne";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/bourne/-/bourne-1.3.2.tgz";
-        sha512 = "1dVNHT76Uu5N3eJNTYcvxee+jzX4Z9lfciqRRHCU27ihbUcYi+iSc2iml5Ke1LXe1SyJCLA0+14Jh4tXJgOppA==";
-      };
-    };
-    "@hapi/hoek-8.5.1" = {
-      name = "_at_hapi_slash_hoek";
-      packageName = "@hapi/hoek";
-      version = "8.5.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/hoek/-/hoek-8.5.1.tgz";
-        sha512 = "yN7kbciD87WzLGc5539Tn0sApjyiGHAJgKvG9W8C7O+6c7qmoQMfVs0W4bX17eqz6C78QJqqFrtgdK5EWf6Qow==";
-      };
-    };
     "@hapi/hoek-9.2.1" = {
       name = "_at_hapi_slash_hoek";
       packageName = "@hapi/hoek";
@@ -4072,24 +4072,6 @@ let
         sha512 = "gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==";
       };
     };
-    "@hapi/joi-15.1.1" = {
-      name = "_at_hapi_slash_joi";
-      packageName = "@hapi/joi";
-      version = "15.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/joi/-/joi-15.1.1.tgz";
-        sha512 = "entf8ZMOK8sc+8YfeOlM8pCfg3b5+WZIKBfUaaJT8UsjAAPjartzxIYm3TIbjvA4u+u++KbcXD38k682nVHDAQ==";
-      };
-    };
-    "@hapi/topo-3.1.6" = {
-      name = "_at_hapi_slash_topo";
-      packageName = "@hapi/topo";
-      version = "3.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@hapi/topo/-/topo-3.1.6.tgz";
-        sha512 = "tAag0jEcjwH+P2quUfipd7liWCNX2F8NvYjQp2wtInsZxnMlypdw0FtAOLxtvvkO+GSRRbmNi8m/5y42PQJYCQ==";
-      };
-    };
     "@hapi/topo-5.1.0" = {
       name = "_at_hapi_slash_topo";
       packageName = "@hapi/topo";
@@ -4108,13 +4090,13 @@ let
         sha512 = "2JYy//YE2YINTe21hpdVMBNc7aYFkgDeY9JUz/BCjFZmYLn0UjGaCc4BpTcMGXNJwuqoUenw2WGOFGHsJqlIDw==";
       };
     };
-    "@hpcc-js/wasm-1.4.1" = {
+    "@hpcc-js/wasm-1.12.8" = {
       name = "_at_hpcc-js_slash_wasm";
       packageName = "@hpcc-js/wasm";
-      version = "1.4.1";
+      version = "1.12.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-1.4.1.tgz";
-        sha512 = "WYeIuG/B1B1cTcM9D9bC6qDFSZnEcJ9R3SpTW5jh10sTh0hD1h1t/dZudfLwarJD+ce8q4/BP43BplbP3CeNkQ==";
+        url = "https://registry.npmjs.org/@hpcc-js/wasm/-/wasm-1.12.8.tgz";
+        sha512 = "n4q9ARKco2hpCLsuVaW6Az3cDVaua7B3DSONHkc49WtEzgY/btvcDG5Zr1P6PZDv0sQ7oPnAi9Y+W2DI++MgcQ==";
       };
     };
     "@humanwhocodes/config-array-0.5.0" = {
@@ -4126,22 +4108,13 @@ let
         sha512 = "FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==";
       };
     };
-    "@humanwhocodes/config-array-0.6.0" = {
+    "@humanwhocodes/config-array-0.9.3" = {
       name = "_at_humanwhocodes_slash_config-array";
       packageName = "@humanwhocodes/config-array";
-      version = "0.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.6.0.tgz";
-        sha512 = "JQlEKbcgEUjBFhLIF4iqM7u/9lwgHRBcpHrmUNCALK0Q3amXN6lxdoXLnF0sm11E9VqTmBALR87IlUg1bZ8A9A==";
-      };
-    };
-    "@humanwhocodes/config-array-0.9.2" = {
-      name = "_at_humanwhocodes_slash_config-array";
-      packageName = "@humanwhocodes/config-array";
-      version = "0.9.2";
+      version = "0.9.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.2.tgz";
-        sha512 = "UXOuFCGcwciWckOpmfKDq/GyhlTf9pN/BzG//x8p8zTOFEcGuA68ANXheFS0AGvy3qgZqLBUkMs7hqzqCKOVwA==";
+        url = "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.9.3.tgz";
+        sha512 = "3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ==";
       };
     };
     "@humanwhocodes/object-schema-1.2.1" = {
@@ -4378,6 +4351,24 @@ let
         sha512 = "4z6p4jLGSthc8gQ7wu4nHfGYn/IgCKFr+7hjuf80VdXUs7sm029mZGGDpS8sb29PVZWUBvMMTBCVGFhH2nN4Vw==";
       };
     };
+    "@jest/environment-27.5.1" = {
+      name = "_at_jest_slash_environment";
+      packageName = "@jest/environment";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/environment/-/environment-27.5.1.tgz";
+        sha512 = "/WQjhPJe3/ghaol/4Bq480JKXV/Rfw8nQdN7f41fM8VDHLcxKXou6QyXAh3EFr9/bVG3x74z1NWDkP87EiY8gA==";
+      };
+    };
+    "@jest/fake-timers-27.5.1" = {
+      name = "_at_jest_slash_fake-timers";
+      packageName = "@jest/fake-timers";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/fake-timers/-/fake-timers-27.5.1.tgz";
+        sha512 = "/aPowoolwa07k7/oM3aASneNeBGCmGQsc3ugN4u6s4C/+s5M64MFo/+djTdiwcbQlRfFElGuDXWzaWj6QgKObQ==";
+      };
+    };
     "@jest/transform-25.5.1" = {
       name = "_at_jest_slash_transform";
       packageName = "@jest/transform";
@@ -4405,6 +4396,15 @@ let
         sha512 = "fC6QCp7Sc5sX6g8Tvbmj4XUTbyrik0akgRy03yjXbQaBWWNWGE7SGtJk98m0N8nzegD/7SggrUlivxo5ax4KWQ==";
       };
     };
+    "@jest/types-27.5.1" = {
+      name = "_at_jest_slash_types";
+      packageName = "@jest/types";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jest/types/-/types-27.5.1.tgz";
+        sha512 = "Cx46iJ9QpwQTjIdq5VJu2QTMMs3QlEjI0x1QbBP5W1+nMzyc2XmimiRR/CbX9TO0cPTeUlxWMOu8mslYsJ8DEw==";
+      };
+    };
     "@joplin/fork-htmlparser2-4.1.39" = {
       name = "_at_joplin_slash_fork-htmlparser2";
       packageName = "@joplin/fork-htmlparser2";
@@ -4477,6 +4477,33 @@ let
         sha512 = "CtzORUwWTTOTqfVtHaKRJ0I1kNQd1bpn3sUh8I3nJDVY+5/M/Oe1DnEWzPQvqq/xPIIkzzzIP7mfCoAjFRvDhg==";
       };
     };
+    "@jridgewell/resolve-uri-3.0.5" = {
+      name = "_at_jridgewell_slash_resolve-uri";
+      packageName = "@jridgewell/resolve-uri";
+      version = "3.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.5.tgz";
+        sha512 = "VPeQ7+wH0itvQxnG+lIzWgkysKIr3L9sslimFW55rHMdGu/qCQ5z5h9zq4gI8uBtqkpHhsF4Z/OwExufUCThew==";
+      };
+    };
+    "@jridgewell/sourcemap-codec-1.4.11" = {
+      name = "_at_jridgewell_slash_sourcemap-codec";
+      packageName = "@jridgewell/sourcemap-codec";
+      version = "1.4.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.11.tgz";
+        sha512 = "Fg32GrJo61m+VqYSdRSjRXMjQ06j8YIYfcTqndLYVAaHmroZHLJZCydsWBOTDqXS2v+mjxohBWEMfg97GXmYQg==";
+      };
+    };
+    "@jridgewell/trace-mapping-0.3.4" = {
+      name = "_at_jridgewell_slash_trace-mapping";
+      packageName = "@jridgewell/trace-mapping";
+      version = "0.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.4.tgz";
+        sha512 = "vFv9ttIedivx0ux3QSjhgtCVjPZd5l46ZOMDSCwnH1yUO2e964gO8LZGyv2QkqcgR6TnBU1v+1IFqmeoG+0UJQ==";
+      };
+    };
     "@jsdevtools/ono-7.1.3" = {
       name = "_at_jsdevtools_slash_ono";
       packageName = "@jsdevtools/ono";
@@ -4486,22 +4513,22 @@ let
         sha512 = "4JQNk+3mVzK3xh2rqd6RB4J46qUR19azEHBneZyTZM+c456qOrbbM/5xcR8huNCCcbVt7+UmizG6GuUvPvKUYg==";
       };
     };
-    "@jsii/check-node-1.52.1" = {
+    "@jsii/check-node-1.54.0" = {
       name = "_at_jsii_slash_check-node";
       packageName = "@jsii/check-node";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.52.1.tgz";
-        sha512 = "B+vpPwXrKTWA1dBHuStp0sg+YpFZ9APjS6qeDiknMHPMatlT7VA0RVk/LmCLaPZhsfNzByJ+zhRFs0R83zTr1Q==";
+        url = "https://registry.npmjs.org/@jsii/check-node/-/check-node-1.54.0.tgz";
+        sha512 = "pogNR1vgiXgBK2DQF+RsCnJQ9QPe+y7lyoRlsTtUplIFB6ryWnSsmCyzkInSVoKAKCo5CHkuDy190MbYL4Ns4Q==";
       };
     };
-    "@jsii/spec-1.52.1" = {
+    "@jsii/spec-1.54.0" = {
       name = "_at_jsii_slash_spec";
       packageName = "@jsii/spec";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.52.1.tgz";
-        sha512 = "Mt5yzqR/DYZhxjOBTuQsstYh0gdlwSWvjTAfUGf5Rp76j8gddkADlrMRFeVrXBy/Y+ccJLUYWMSsEf1Ti6ERcQ==";
+        url = "https://registry.npmjs.org/@jsii/spec/-/spec-1.54.0.tgz";
+        sha512 = "IOspxWPC26+Re6DNJvaxCEkG1BYByiGSPlRxQpIpts+Hx2EZgAvuG+8rQoryNt7JqaAKpcJ6W3OdRmSw3x5Yrg==";
       };
     };
     "@kwsites/file-exists-1.1.1" = {
@@ -4522,6 +4549,123 @@ let
         sha512 = "GaHYm+c0O9MjZRu0ongGBRbinu8gVAMd2UZjji6jVmqKtZluZnptXGWhz1E8j8D2HJ3f/yMxKAUC0b+57wncIw==";
       };
     };
+    "@ledgerhq/devices-5.51.1" = {
+      name = "_at_ledgerhq_slash_devices";
+      packageName = "@ledgerhq/devices";
+      version = "5.51.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/devices/-/devices-5.51.1.tgz";
+        sha512 = "4w+P0VkbjzEXC7kv8T1GJ/9AVaP9I6uasMZ/JcdwZBS3qwvKo5A5z9uGhP5c7TvItzcmPb44b5Mw2kT+WjUuAA==";
+      };
+    };
+    "@ledgerhq/devices-6.24.1" = {
+      name = "_at_ledgerhq_slash_devices";
+      packageName = "@ledgerhq/devices";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/devices/-/devices-6.24.1.tgz";
+        sha512 = "6SNXWXxojUF6WKXMVIbRs15Mveg+9k0RKJK/PKlwZh929Lnr/NcbONWdwPjWKZAp1g82eEPT4jIkG6qc4QXlcA==";
+      };
+    };
+    "@ledgerhq/errors-5.50.0" = {
+      name = "_at_ledgerhq_slash_errors";
+      packageName = "@ledgerhq/errors";
+      version = "5.50.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/errors/-/errors-5.50.0.tgz";
+        sha512 = "gu6aJ/BHuRlpU7kgVpy2vcYk6atjB4iauP2ymF7Gk0ez0Y/6VSMVSJvubeEQN+IV60+OBK0JgeIZG7OiHaw8ow==";
+      };
+    };
+    "@ledgerhq/errors-6.10.0" = {
+      name = "_at_ledgerhq_slash_errors";
+      packageName = "@ledgerhq/errors";
+      version = "6.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/errors/-/errors-6.10.0.tgz";
+        sha512 = "fQFnl2VIXh9Yd41lGjReCeK+Q2hwxQJvLZfqHnKqWapTz68NHOv5QcI0OHuZVNEbv0xhgdLhi5b65kgYeQSUVg==";
+      };
+    };
+    "@ledgerhq/hw-transport-5.51.1" = {
+      name = "_at_ledgerhq_slash_hw-transport";
+      packageName = "@ledgerhq/hw-transport";
+      version = "5.51.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-5.51.1.tgz";
+        sha512 = "6wDYdbWrw9VwHIcoDnqWBaDFyviyjZWv6H9vz9Vyhe4Qd7TIFmbTl/eWs6hZvtZBza9K8y7zD8ChHwRI4s9tSw==";
+      };
+    };
+    "@ledgerhq/hw-transport-6.24.1" = {
+      name = "_at_ledgerhq_slash_hw-transport";
+      packageName = "@ledgerhq/hw-transport";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport/-/hw-transport-6.24.1.tgz";
+        sha512 = "cOhxkQJrN7DvPFLLXAS2nqAZ7NIDaFqnbgu9ugTccgbJm2/z7ClRZX/uQoI4FscswZ47MuJQdXqz4nK48phteQ==";
+      };
+    };
+    "@ledgerhq/hw-transport-node-hid-6.24.1" = {
+      name = "_at_ledgerhq_slash_hw-transport-node-hid";
+      packageName = "@ledgerhq/hw-transport-node-hid";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid/-/hw-transport-node-hid-6.24.1.tgz";
+        sha512 = "onbxunq8FsiY2sVRR+jRCjC1nx376ANuAtnQsmoHsgxONOVTb5asXWWOV4Cjm8y7RZTCtDw3d1fbziEGRhwiqA==";
+      };
+    };
+    "@ledgerhq/hw-transport-node-hid-noevents-6.24.1" = {
+      name = "_at_ledgerhq_slash_hw-transport-node-hid-noevents";
+      packageName = "@ledgerhq/hw-transport-node-hid-noevents";
+      version = "6.24.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-node-hid-noevents/-/hw-transport-node-hid-noevents-6.24.1.tgz";
+        sha512 = "z3uXCU13oayRX51MOaTREdrn83ujrBkccdXn3ljdMy4H3pmAvG6QGn4m30gursEUUJkogA6dkcXs3G8IRfOdxA==";
+      };
+    };
+    "@ledgerhq/hw-transport-u2f-5.36.0-deprecated" = {
+      name = "_at_ledgerhq_slash_hw-transport-u2f";
+      packageName = "@ledgerhq/hw-transport-u2f";
+      version = "5.36.0-deprecated";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-u2f/-/hw-transport-u2f-5.36.0-deprecated.tgz";
+        sha512 = "T/+mGHIiUK/ZQATad6DMDmobCMZ1mVST952009jKzhaE1Et2Uy2secU+QhRkx3BfEAkvwa0zSRSYCL9d20Iqjg==";
+      };
+    };
+    "@ledgerhq/hw-transport-webhid-5.51.1" = {
+      name = "_at_ledgerhq_slash_hw-transport-webhid";
+      packageName = "@ledgerhq/hw-transport-webhid";
+      version = "5.51.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-webhid/-/hw-transport-webhid-5.51.1.tgz";
+        sha512 = "w/2qSU0vwFY+D/4ucuYRViO7iS3Uuxmj9sI/Iiqkoiax9Xppb0/6H5m3ffKv6iPMmRYbgwCgXorqx4SLLSD8Kg==";
+      };
+    };
+    "@ledgerhq/hw-transport-webusb-5.53.1" = {
+      name = "_at_ledgerhq_slash_hw-transport-webusb";
+      packageName = "@ledgerhq/hw-transport-webusb";
+      version = "5.53.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/hw-transport-webusb/-/hw-transport-webusb-5.53.1.tgz";
+        sha512 = "A/f+xcrkIAZiJrvPpDvsrjxQX4cI2kbdiunQkwsYmOG3Bp4z89ZnsBiC7YBst4n2/g+QgTg0/KPVtODU5djooQ==";
+      };
+    };
+    "@ledgerhq/logs-5.50.0" = {
+      name = "_at_ledgerhq_slash_logs";
+      packageName = "@ledgerhq/logs";
+      version = "5.50.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/logs/-/logs-5.50.0.tgz";
+        sha512 = "swKHYCOZUGyVt4ge0u8a7AwNcA//h4nx5wIi0sruGye1IJ5Cva0GyK9L2/WdX+kWVTKp92ZiEo1df31lrWGPgA==";
+      };
+    };
+    "@ledgerhq/logs-6.10.0" = {
+      name = "_at_ledgerhq_slash_logs";
+      packageName = "@ledgerhq/logs";
+      version = "6.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@ledgerhq/logs/-/logs-6.10.0.tgz";
+        sha512 = "lLseUPEhSFUXYTKj6q7s2O3s2vW2ebgA11vMAlKodXGf5AFw4zUoEbTz9CoFOC9jS6xY4Qr8BmRnxP/odT4Uuw==";
+      };
+    };
     "@leichtgewicht/ip-codec-2.0.3" = {
       name = "_at_leichtgewicht_slash_ip-codec";
       packageName = "@leichtgewicht/ip-codec";
@@ -5242,139 +5386,139 @@ let
         sha512 = "7AQsO0hMmpqDledV7AhBuSYqYPFsKP9PaltMecX9nlnsyFxqtsqUg9/pvB2L/jxvskrDrNkdKYz2KTbQznCtng==";
       };
     };
-    "@mdn/browser-compat-data-4.0.11" = {
+    "@mdn/browser-compat-data-4.1.6" = {
       name = "_at_mdn_slash_browser-compat-data";
       packageName = "@mdn/browser-compat-data";
-      version = "4.0.11";
+      version = "4.1.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.0.11.tgz";
-        sha512 = "rmQPBLe3/DuJy0Bcr1KNuSiIcgV67R2AeLxagKMQTI0R8F9lLC894wJRYhA5ytV0CIi7dzxILqdFeuVbqrkoCA==";
+        url = "https://registry.npmjs.org/@mdn/browser-compat-data/-/browser-compat-data-4.1.6.tgz";
+        sha512 = "JbtcHGODAlkOT6eDV2rCyOguW3+o34ExMD9DOki6kxzeyN3IBtZ9PI0FlbKeD77Bm5U0UG5Heo4qnNbSajXUnw==";
       };
     };
-    "@medable/mdctl-api-1.0.62" = {
+    "@medable/mdctl-api-1.0.63" = {
       name = "_at_medable_slash_mdctl-api";
       packageName = "@medable/mdctl-api";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-api/-/mdctl-api-1.0.62.tgz";
-        sha512 = "kXyaE+UH34LIR0AiO4nve/byQGARc9N/Q9Opf9wsbHgChHBUvv67/2i04eQs5N2CauLBVfI6H8UoXqzLUm7qAA==";
+        url = "https://registry.npmjs.org/@medable/mdctl-api/-/mdctl-api-1.0.63.tgz";
+        sha512 = "B4AgY+HGy7nJpGCY1+88F74NeXEJbmKGud5sgWaBOXHnOweNHvqWb0c2Fkn5A2LxiYPXpDvmGmiypCHubqJlQg==";
       };
     };
-    "@medable/mdctl-core-1.0.62" = {
+    "@medable/mdctl-core-1.0.63" = {
       name = "_at_medable_slash_mdctl-core";
       packageName = "@medable/mdctl-core";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-core/-/mdctl-core-1.0.62.tgz";
-        sha512 = "1lRrAZw7gfaQF9iAlV5MgnOVzujetX7K5n/11wzCaIEZct9vBTSVNtI/zHNjWgyoud0LMC6w8qtRcjbgSgjcfQ==";
+        url = "https://registry.npmjs.org/@medable/mdctl-core/-/mdctl-core-1.0.63.tgz";
+        sha512 = "XDZS5TN6d7BuHmIFi83P8MPg1zioiOzPFkq/S27DZ0Oa7Z9tW+w29IG0ltYZ6/uFuo8Z0VPiu9MdwM2vmzIPKQ==";
       };
     };
-    "@medable/mdctl-core-schemas-1.0.62" = {
+    "@medable/mdctl-core-schemas-1.0.63" = {
       name = "_at_medable_slash_mdctl-core-schemas";
       packageName = "@medable/mdctl-core-schemas";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-core-schemas/-/mdctl-core-schemas-1.0.62.tgz";
-        sha512 = "nyq59XISru4gnueEk5mpU77TxuR9hsqtzpSo/I2IhA/ZbIjDoBatm+/HK3ttX9UA+rkueK1bngRLEanZFHjUeg==";
+        url = "https://registry.npmjs.org/@medable/mdctl-core-schemas/-/mdctl-core-schemas-1.0.63.tgz";
+        sha512 = "eoYyS0m4ZFE+q3QpkoHbl+HDxhDxx/xN0i6VeWhQsSMCeTeLffrXBWYIdZvi39QKLCL171m9uWr83yNKkvEp1w==";
       };
     };
-    "@medable/mdctl-core-utils-1.0.60" = {
+    "@medable/mdctl-core-utils-1.0.63" = {
       name = "_at_medable_slash_mdctl-core-utils";
       packageName = "@medable/mdctl-core-utils";
-      version = "1.0.60";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-core-utils/-/mdctl-core-utils-1.0.60.tgz";
-        sha512 = "1l53ieD4cukz/P4Y3COsWov4mVK/+StI0lcdMUJ50jKalpFZP6kOPBMD1HzqQ1zak59ebIACKWneAH19HGET2w==";
+        url = "https://registry.npmjs.org/@medable/mdctl-core-utils/-/mdctl-core-utils-1.0.63.tgz";
+        sha512 = "9Xx4Fku47H00F9K5cCbHE3ugz3PWyUxXBRp86ee1n3QVTvhoE2PdCHYH2RES24385uH+/BrYfclMtZ4pCfXVwg==";
       };
     };
-    "@medable/mdctl-credentials-provider-keychain-1.0.62" = {
+    "@medable/mdctl-credentials-provider-keychain-1.0.63" = {
       name = "_at_medable_slash_mdctl-credentials-provider-keychain";
       packageName = "@medable/mdctl-credentials-provider-keychain";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-credentials-provider-keychain/-/mdctl-credentials-provider-keychain-1.0.62.tgz";
-        sha512 = "pUG/9Ar7H2BGxoZl0SP2Z5y3WXFb600E7/YMY68SLYwR1Tp5a7whf4ttclAZyB73ukJ8cs7HcpAvg52Btd1vmg==";
+        url = "https://registry.npmjs.org/@medable/mdctl-credentials-provider-keychain/-/mdctl-credentials-provider-keychain-1.0.63.tgz";
+        sha512 = "Vr+VpZ9XrPdsg5+qW6YNikED+RUn/v8/RMvbZ78hsEFEjEHRYT0He7f/nbJVkrS7+zYX7cdmzlZnKPV5z5HiQQ==";
       };
     };
-    "@medable/mdctl-credentials-provider-pouchdb-1.0.62" = {
+    "@medable/mdctl-credentials-provider-pouchdb-1.0.63" = {
       name = "_at_medable_slash_mdctl-credentials-provider-pouchdb";
       packageName = "@medable/mdctl-credentials-provider-pouchdb";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-credentials-provider-pouchdb/-/mdctl-credentials-provider-pouchdb-1.0.62.tgz";
-        sha512 = "yed0zon0Smo80UmfkhVezcsehgM6w3XMmLtkyxRVUK0xQOVXfJQZloWZtG75Be2VA0RITbdHKstzE2raGdx1tw==";
+        url = "https://registry.npmjs.org/@medable/mdctl-credentials-provider-pouchdb/-/mdctl-credentials-provider-pouchdb-1.0.63.tgz";
+        sha512 = "FNIq2RxBd9NJPz4oBCs17sd3Zg2g0Y7zjAqu3G3I9LyEjbeJZLGwr7lu6NqmtG/F3e/TH2d6ecMK0zKPlpAJQg==";
       };
     };
-    "@medable/mdctl-docs-1.0.60" = {
+    "@medable/mdctl-docs-1.0.63" = {
       name = "_at_medable_slash_mdctl-docs";
       packageName = "@medable/mdctl-docs";
-      version = "1.0.60";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-docs/-/mdctl-docs-1.0.60.tgz";
-        sha512 = "9ytd1YTnsLd/hu9mGKYgsPGrTnR+5GzdbRNKFDnfBPwUsMwB1CCGE3nhb1hdjQAje9ggA4/1otnIrO/4mw8IWg==";
+        url = "https://registry.npmjs.org/@medable/mdctl-docs/-/mdctl-docs-1.0.63.tgz";
+        sha512 = "1DUsJFnpJNkwTZ65vx5rd+hzkuM3sfSJ3nxYfwcyOWw1bErloObXSEMw2iPIyt3ryYg3i9Jtt+d3AUuDpcT4PQ==";
       };
     };
-    "@medable/mdctl-export-adapter-console-1.0.60" = {
+    "@medable/mdctl-export-adapter-console-1.0.63" = {
       name = "_at_medable_slash_mdctl-export-adapter-console";
       packageName = "@medable/mdctl-export-adapter-console";
-      version = "1.0.60";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-export-adapter-console/-/mdctl-export-adapter-console-1.0.60.tgz";
-        sha512 = "k9KZqkV3d/2/8uYnt9/jMdF9jCNb1w/R6q2LPDZ0hNrt7UpvKKSF5RegRysW21p/xT6bvdjJhTphxXzO0qurVw==";
+        url = "https://registry.npmjs.org/@medable/mdctl-export-adapter-console/-/mdctl-export-adapter-console-1.0.63.tgz";
+        sha512 = "hPGbVYsWH/BVA9Q8cWuTMAeWtGvBg5TDE3pYWdVzaRMUqNt1af7weaieYX56h7jlOhkl4AtkKcW6S5AK0Q8w+w==";
       };
     };
-    "@medable/mdctl-export-adapter-tree-1.0.62" = {
+    "@medable/mdctl-export-adapter-tree-1.0.63" = {
       name = "_at_medable_slash_mdctl-export-adapter-tree";
       packageName = "@medable/mdctl-export-adapter-tree";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-export-adapter-tree/-/mdctl-export-adapter-tree-1.0.62.tgz";
-        sha512 = "2LlmAm3kaqL2DUy1ZUzEV7hwR1vDNKQc0ySlvmRY1WR3aFsEEfJJA6hJEfjhzsE03A1jZZpW6m7KUIbosqLYWQ==";
+        url = "https://registry.npmjs.org/@medable/mdctl-export-adapter-tree/-/mdctl-export-adapter-tree-1.0.63.tgz";
+        sha512 = "RfmHQUosT3qXnL0jFM2KPkc+JeHv7Ur9Qf16ffOAJCqopbJ+4ZAfUn/3IOUnlYZbeifWy3xU6gptSCqHITJokQ==";
       };
     };
-    "@medable/mdctl-import-adapter-1.0.62" = {
+    "@medable/mdctl-import-adapter-1.0.63" = {
       name = "_at_medable_slash_mdctl-import-adapter";
       packageName = "@medable/mdctl-import-adapter";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-import-adapter/-/mdctl-import-adapter-1.0.62.tgz";
-        sha512 = "mjf0sx9dzZVpKCotYBZyWZopeOdyu2VnwQmIVI8oxwdVRIEN5LR0ohThs9Ca/aQT4rwlL2uvAPde5dXB3kRzuQ==";
+        url = "https://registry.npmjs.org/@medable/mdctl-import-adapter/-/mdctl-import-adapter-1.0.63.tgz";
+        sha512 = "l3xxVPyMvruvbi5JL75TqcFnh1wa+enFnJT9lk6tESy858w57PQes3cqhWdMZHJlDDBvpKhus/UiIERSEfwRDA==";
       };
     };
-    "@medable/mdctl-manifest-1.0.62" = {
+    "@medable/mdctl-manifest-1.0.63" = {
       name = "_at_medable_slash_mdctl-manifest";
       packageName = "@medable/mdctl-manifest";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-manifest/-/mdctl-manifest-1.0.62.tgz";
-        sha512 = "PDmfThH3tb3XQo2ot5UJR2hHtFODcQb7PAFNWbx7kfu7Vjg6g8XHYOsWGwSzFzKn+78V6+ksC8kBBcBQJus+1g==";
+        url = "https://registry.npmjs.org/@medable/mdctl-manifest/-/mdctl-manifest-1.0.63.tgz";
+        sha512 = "lNepdPyMUTMNL87QrVoHklUOK8d0Nrv72y19gdO52yAM7IZPXG/UORlfip0JYFkFu/KSedrIVodjp6prm7+sgA==";
       };
     };
-    "@medable/mdctl-node-utils-1.0.62" = {
+    "@medable/mdctl-node-utils-1.0.63" = {
       name = "_at_medable_slash_mdctl-node-utils";
       packageName = "@medable/mdctl-node-utils";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-node-utils/-/mdctl-node-utils-1.0.62.tgz";
-        sha512 = "FtJId1P5hmZED6xv2SjMFb+wMswW2/7gjp4bRe21DmoCkcf4ryYUVUBzXRtfZmeMYh9zo71zRi485PHLpDylGw==";
+        url = "https://registry.npmjs.org/@medable/mdctl-node-utils/-/mdctl-node-utils-1.0.63.tgz";
+        sha512 = "wbC+fKBmdf0Zk1pB3x0T+4Z1fk3anSE3kcp8VznOZfpGD5UgYUzbhZzH8oPhT/3X1jx17XUS7XTURjqj6vTQew==";
       };
     };
-    "@medable/mdctl-sandbox-1.0.62" = {
+    "@medable/mdctl-sandbox-1.0.63" = {
       name = "_at_medable_slash_mdctl-sandbox";
       packageName = "@medable/mdctl-sandbox";
-      version = "1.0.62";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-sandbox/-/mdctl-sandbox-1.0.62.tgz";
-        sha512 = "xuRma0dvrtP0Su8BdWrZtdNVLeDAUIpwJ75mNAqNLK4vjxC6BJgFVHyD8pTgaDn/KYQoOZBLaY7LiMYXh8BSJw==";
+        url = "https://registry.npmjs.org/@medable/mdctl-sandbox/-/mdctl-sandbox-1.0.63.tgz";
+        sha512 = "GENimL772K2Udv4id+QqL6E66Oko4e2UOeN93tYiUrU92w3S3wvEu/UyXXKjS/rzgs2naBmo6T3K7gdu8HqF4Q==";
       };
     };
-    "@medable/mdctl-secrets-1.0.60" = {
+    "@medable/mdctl-secrets-1.0.63" = {
       name = "_at_medable_slash_mdctl-secrets";
       packageName = "@medable/mdctl-secrets";
-      version = "1.0.60";
+      version = "1.0.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@medable/mdctl-secrets/-/mdctl-secrets-1.0.60.tgz";
-        sha512 = "WgNIC0g3bGsy5u3a2tqdv+7RbsfmFr76vSlnkbsr/ZR4lzcXJes3qM37pvSqEZD+WN6HOPFRWTHQ0vO8biKqTw==";
+        url = "https://registry.npmjs.org/@medable/mdctl-secrets/-/mdctl-secrets-1.0.63.tgz";
+        sha512 = "ThRx3aSyKSEBYjsZcGnGPjrUhIesKnT41Os3Oa6OrgnEtym2wORyt1SSKCDhvJ2dte6tdqyfoFbmHOLOAbHylg==";
       };
     };
     "@medv/blessed-2.0.1" = {
@@ -5395,13 +5539,13 @@ let
         sha512 = "W6CLUJ2eBMw3Rec70qrsEW0jOm/3twwJv21mrmj2yORiaVmVYGS4sSS5yUwvQc1ZlDLYGPnClVWmUUMagKNsfA==";
       };
     };
-    "@microsoft/load-themed-styles-1.10.244" = {
+    "@microsoft/load-themed-styles-1.10.247" = {
       name = "_at_microsoft_slash_load-themed-styles";
       packageName = "@microsoft/load-themed-styles";
-      version = "1.10.244";
+      version = "1.10.247";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.244.tgz";
-        sha512 = "GjLRFH6tz77FvvgN+cjsJEX3muD/PYXJDu2Vcp+XwTOXqyGmg9HzHyunECuXZnk5zlInjI1ABcuMsQgds/yS1w==";
+        url = "https://registry.npmjs.org/@microsoft/load-themed-styles/-/load-themed-styles-1.10.247.tgz";
+        sha512 = "vKbuG3Mcbc4kkNAcIE13aIv5KoI2g+tHFFIZnFhtUilpYHc0VsMd4Fw7Jz81A8AB7L3wWu3OZB2CNiRnr1a3ew==";
       };
     };
     "@mitmaro/errors-1.0.0" = {
@@ -5422,13 +5566,13 @@ let
         sha512 = "cAm7w7S04aswBtsXAReyzHrq9EV7yNalYj8OObsnavCucDoxC10y14gE2Eg82UKnR5v2TWSJAVCLFea4gaiddQ==";
       };
     };
-    "@mozilla/readability-0.4.1" = {
+    "@mozilla/readability-0.4.2" = {
       name = "_at_mozilla_slash_readability";
       packageName = "@mozilla/readability";
-      version = "0.4.1";
+      version = "0.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@mozilla/readability/-/readability-0.4.1.tgz";
-        sha512 = "yar/f0w0fRUVM895s6yd5Z2oIxjG/6c3ROB/uQboSOBaDlri/nqI4aKtdqrldWciTLcdpjB2Z6MiVF2Bl9b8LA==";
+        url = "https://registry.npmjs.org/@mozilla/readability/-/readability-0.4.2.tgz";
+        sha512 = "48MJXzi4Dhy2fJ3lGjmwdEJKoMmn3oiYew9n/1OW6cZy78hAzRIyDJDBCGrg4PBFDyY4xos+H4LCFn5QVRDcfw==";
       };
     };
     "@mrmlnc/readdir-enhanced-2.2.1" = {
@@ -5440,13 +5584,13 @@ let
         sha512 = "bPHp6Ji8b41szTOcaP63VlnbbO5Ny6dwAATtY6JTjh5N2OLrb5Qk/Th5cRkRQhkWCt+EJsYrNB0MiL+Gpn6e3g==";
       };
     };
-    "@msgpack/msgpack-2.7.1" = {
+    "@msgpack/msgpack-2.7.2" = {
       name = "_at_msgpack_slash_msgpack";
       packageName = "@msgpack/msgpack";
-      version = "2.7.1";
+      version = "2.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.7.1.tgz";
-        sha512 = "ApwiSL2c9ObewdOE/sqt788P1C5lomBOHyO8nUBCr4ofErBCnYQ003NtJ8lS9OQZc11ximkbmgAZJjB8y6cCdA==";
+        url = "https://registry.npmjs.org/@msgpack/msgpack/-/msgpack-2.7.2.tgz";
+        sha512 = "rYEi46+gIzufyYUAoHDnRzkWGxajpD9vVXFQ3g1vbjrBm6P7MBmm+s/fqPa46sxa+8FOUdEuRQKaugo5a4JWpw==";
       };
     };
     "@n1ru4l/graphql-live-query-0.9.0" = {
@@ -5458,13 +5602,13 @@ let
         sha512 = "BTpWy1e+FxN82RnLz4x1+JcEewVdfmUhV1C6/XYD5AjS7PQp9QFF7K8bCD6gzPTr2l+prvqOyVueQhFJxB1vfg==";
       };
     };
-    "@nestjs/schematics-8.0.5" = {
+    "@nestjs/schematics-8.0.6" = {
       name = "_at_nestjs_slash_schematics";
       packageName = "@nestjs/schematics";
-      version = "8.0.5";
+      version = "8.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.5.tgz";
-        sha512 = "nK1hWQeLNbdhsiJDX/XJXLqq7nC6/xxC8CN+seFTQmly+H3gG2xaFnl6JPHURumuQaYJX8JEpC8m0+4tz+wvOg==";
+        url = "https://registry.npmjs.org/@nestjs/schematics/-/schematics-8.0.6.tgz";
+        sha512 = "IgWuplXg3I+2lzQqy5jR45C+EpBiOuPQwh8zWCjlQDYU9/X/2a8B8byJXw3nuguZS/huuuXx3ZhfHJKQYk6uIA==";
       };
     };
     "@netflix/nerror-1.1.3" = {
@@ -5476,58 +5620,58 @@ let
         sha512 = "b+MGNyP9/LXkapreJzNUzcvuzZslj/RGgdVVJ16P2wSlYatfLycPObImqVJSmNAdyeShvNeM/pl3sVZsObFueg==";
       };
     };
-    "@node-red/editor-api-2.1.6" = {
+    "@node-red/editor-api-2.2.2" = {
       name = "_at_node-red_slash_editor-api";
       packageName = "@node-red/editor-api";
-      version = "2.1.6";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-2.1.6.tgz";
-        sha512 = "rUxGWvanZg5c96i4uIJtSCIEH0nHBG5NK5Pl5rKKvo7pXp/O6TtX9k7y9JTNbFyVMihgToKvwI1vt60KEGkBTA==";
+        url = "https://registry.npmjs.org/@node-red/editor-api/-/editor-api-2.2.2.tgz";
+        sha512 = "5PUXtMCjsKevCiz8OjHqAckctOv/zzPcssH4yzTxMYEN4JtTng5lFfZzTFWZC/UnCGQMgwe/0e4iGHbMbN1pqg==";
       };
     };
-    "@node-red/editor-client-2.1.6" = {
+    "@node-red/editor-client-2.2.2" = {
       name = "_at_node-red_slash_editor-client";
       packageName = "@node-red/editor-client";
-      version = "2.1.6";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-2.1.6.tgz";
-        sha512 = "3HuULOqnreIYiccKqfR9Mk9Hy8JhTBZReQ9X432sfc0b8Jr4m9Qz40iTdJNY/XVQcWxHBZ0ikEH7J6RM77MG3w==";
+        url = "https://registry.npmjs.org/@node-red/editor-client/-/editor-client-2.2.2.tgz";
+        sha512 = "DivbfvVfoh4sRKHmOGucE9kV8MWwGczbxsJfaEVedCtVt9ZDX40N61+FzPVlf2FGDi8q21cIRV7klV1GWhDFxw==";
       };
     };
-    "@node-red/nodes-2.1.6" = {
+    "@node-red/nodes-2.2.2" = {
       name = "_at_node-red_slash_nodes";
       packageName = "@node-red/nodes";
-      version = "2.1.6";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-2.1.6.tgz";
-        sha512 = "qMWnfZPDMu7S4zfo5t1zHDrzqWFTDV0aXT1iyXDyF6PQ7OgZ4kP2At3dVA7h9lJUBwtZ3bhwzYbqORW8Onq0bA==";
+        url = "https://registry.npmjs.org/@node-red/nodes/-/nodes-2.2.2.tgz";
+        sha512 = "RJ8yR90e/tF0KIiS7ZDe8+q0Zk9uJQZDNUcheEeJKWXfIf3WcMo+5KhQ5HJfy8UedmPXzNLRX75FuTXwcd+NKA==";
       };
     };
-    "@node-red/registry-2.1.6" = {
+    "@node-red/registry-2.2.2" = {
       name = "_at_node-red_slash_registry";
       packageName = "@node-red/registry";
-      version = "2.1.6";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/registry/-/registry-2.1.6.tgz";
-        sha512 = "QQqhioy0rw7clY2wSwk0mmEMvGG7HOTNa4blnxMrE4JD+ZkcviwbMU4uQLv4J+pLTnFAd1i5xM1JwTH8gTJsyg==";
+        url = "https://registry.npmjs.org/@node-red/registry/-/registry-2.2.2.tgz";
+        sha512 = "zszKLaR2XpBE4wG4o8cwe+dtOvqlG/Cl0iRXg1wpJ9zC96WIPRq+UqAkVkZm6uRuNhW5ZjKk8f77Wh1+v6QBAw==";
       };
     };
-    "@node-red/runtime-2.1.6" = {
+    "@node-red/runtime-2.2.2" = {
       name = "_at_node-red_slash_runtime";
       packageName = "@node-red/runtime";
-      version = "2.1.6";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-2.1.6.tgz";
-        sha512 = "U+Hv+GwxxiOPgUdI3GPfzo/4Frm+szhCjlY/5FKU8WlD4tXU68+jNkm+LV/XFTj5VfKZABuz6t82ntRdwtqPpw==";
+        url = "https://registry.npmjs.org/@node-red/runtime/-/runtime-2.2.2.tgz";
+        sha512 = "PW+HGDmY7Q5nXx+zPVpbFaFpn59EyPLb2QYYL1T5MarCQpUfIaL44NMhSG//n0+vkGZBLi9T6ltapWgEYW4x9g==";
       };
     };
-    "@node-red/util-2.1.6" = {
+    "@node-red/util-2.2.2" = {
       name = "_at_node-red_slash_util";
       packageName = "@node-red/util";
-      version = "2.1.6";
+      version = "2.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@node-red/util/-/util-2.1.6.tgz";
-        sha512 = "ahlKYqJU9S0APpbiH6aRI+IpDE69N0I3P+moY1tz4Qcx3ymvwuXLCE40UlTX71Nae6+pqato51m85QL1DihhjA==";
+        url = "https://registry.npmjs.org/@node-red/util/-/util-2.2.2.tgz";
+        sha512 = "tUGLGj3fTgOjWwhp9uK6M+LUb3rxIrU61DbA0fVpANCEeqk5UNJpje4vOag9dWmJS7hn/ONcDK7dslHLyOQUIQ==";
       };
     };
     "@nodelib/fs.scandir-2.1.5" = {
@@ -5566,13 +5710,13 @@ let
         sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     };
-    "@npmcli/arborist-4.2.1" = {
+    "@npmcli/arborist-4.3.1" = {
       name = "_at_npmcli_slash_arborist";
       packageName = "@npmcli/arborist";
-      version = "4.2.1";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.2.1.tgz";
-        sha512 = "vAIfPwW6alsyjfv7wzGPMJv6Dun8xs9VugdqfwkWEyRajzOLjeifxeDqlJYQ8G8FTU38grIWjkoUmd9cAnJnPg==";
+        url = "https://registry.npmjs.org/@npmcli/arborist/-/arborist-4.3.1.tgz";
+        sha512 = "yMRgZVDpwWjplorzt9SFSaakWx6QIK248Nw4ZFgkrAy/GvJaFRaSZzE6nD7JBK5r8g/+PTxFq5Wj/sfciE7x+A==";
       };
     };
     "@npmcli/ci-detect-1.4.0" = {
@@ -5584,13 +5728,13 @@ let
         sha512 = "3BGrt6FLjqM6br5AhWRKTr3u5GIVkjRYeAFrMp3HjnfICrg4xOrVRwFavKT6tsp++bq5dluL5t8ME/Nha/6c1Q==";
       };
     };
-    "@npmcli/fs-1.1.0" = {
+    "@npmcli/fs-1.1.1" = {
       name = "_at_npmcli_slash_fs";
       packageName = "@npmcli/fs";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.0.tgz";
-        sha512 = "VhP1qZLXcrXRIaPoqb4YA55JQxLNF3jNR4T55IdOJa3+IFJKNYHtPvtXx8slmeMavj37vCzCfrqQM1vWLsYKLA==";
+        url = "https://registry.npmjs.org/@npmcli/fs/-/fs-1.1.1.tgz";
+        sha512 = "8KG5RD0GVP4ydEzRn/I4BNDuxDtqVbOdm8675T49OIG/NGhaK0pjPX7ZcDlvKYbA+ulvVK3ztfcF4uBdOxuJbQ==";
       };
     };
     "@npmcli/git-2.1.0" = {
@@ -5602,6 +5746,15 @@ let
         sha512 = "/hBFX/QG1b+N7PZBFs0bi+evgRZcK9nWBxQKZkGoXUT5hJSwl5c4d7y8/hm+NQZRPhQ67RzFaj5UM9YeyKoryw==";
       };
     };
+    "@npmcli/git-3.0.0" = {
+      name = "_at_npmcli_slash_git";
+      packageName = "@npmcli/git";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@npmcli/git/-/git-3.0.0.tgz";
+        sha512 = "xfSBJ+KBMZWWqRHFbEgIaXG/LtELHrQZMJ72Gkb3yWdHysu/7+VGOs8ME0c3td7QNQX57Ggo3kYL6ylcd70/kA==";
+      };
+    };
     "@npmcli/installed-package-contents-1.0.7" = {
       name = "_at_npmcli_slash_installed-package-contents";
       packageName = "@npmcli/installed-package-contents";
@@ -5611,13 +5764,13 @@ let
         sha512 = "9rufe0wnJusCQoLpV9ZPKIVP55itrM5BxOXs10DmdbRfgWtHy1LDyskbwRnBghuB0PrF7pNPOqREVtpz4HqzKw==";
       };
     };
-    "@npmcli/map-workspaces-2.0.0" = {
+    "@npmcli/map-workspaces-2.0.1" = {
       name = "_at_npmcli_slash_map-workspaces";
       packageName = "@npmcli/map-workspaces";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.0.tgz";
-        sha512 = "QBJfpCY1NOAkkW3lFfru9VTdqvMB2TN0/vrevl5xBCv5Fi0XDVcA6rqqSau4Ysi4Iw3fBzyXV7hzyTBDfadf7g==";
+        url = "https://registry.npmjs.org/@npmcli/map-workspaces/-/map-workspaces-2.0.1.tgz";
+        sha512 = "awwkB/tSWWaCD8F0IbawBdmoPFlbXMaEPN9LyTuJcyJz404/QhB4B/vhQntpk6uxOAkM+bxR7qWMJghYg0tcYQ==";
       };
     };
     "@npmcli/metavuln-calculator-2.0.0" = {
@@ -5728,6 +5881,15 @@ let
         sha512 = "cE3qfHWv8hGRCP31j7fIS7BfCflm/BNZ2HNqHexH+fDrdF2f1D5S8VmXWLC77ffv3oDvWyvE9AZeR0RfmHCCaA==";
       };
     };
+    "@oclif/config-1.18.3" = {
+      name = "_at_oclif_slash_config";
+      packageName = "@oclif/config";
+      version = "1.18.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@oclif/config/-/config-1.18.3.tgz";
+        sha512 = "sBpko86IrTscc39EvHUhL+c++81BVTsIZ3ETu/vG+cCdi0N6vb2DoahR67A9FI2CGnxRRHjnTfa3m6LulwNATA==";
+      };
+    };
     "@oclif/errors-1.3.4" = {
       name = "_at_oclif_slash_errors";
       packageName = "@oclif/errors";
@@ -5980,22 +6142,22 @@ let
         sha512 = "PffXX2AL8Sh0VHQ52jJC4u3T0H6wDK6N/4bg7xh4ngMYOIi13aR1kzVvX1sVDBgfGwDOkMbl4c54Xm3tlPx/+A==";
       };
     };
-    "@opentelemetry/api-1.0.4" = {
+    "@opentelemetry/api-1.1.0" = {
       name = "_at_opentelemetry_slash_api";
       packageName = "@opentelemetry/api";
-      version = "1.0.4";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.0.4.tgz";
-        sha512 = "BuJuXRSJNQ3QoKA6GWWDyuLpOUck+9hAXNMCnrloc1aWVoy6Xq6t9PUV08aBZ4Lutqq2LEHM486bpZqoViScog==";
+        url = "https://registry.npmjs.org/@opentelemetry/api/-/api-1.1.0.tgz";
+        sha512 = "hf+3bwuBwtXsugA2ULBc95qxrOqP2pOekLz34BJhcAKawt94vfeNyUKpYc0lZQ/3sCP6LqRa7UAdHA7i5UODzQ==";
       };
     };
-    "@opentelemetry/semantic-conventions-0.24.0" = {
+    "@opentelemetry/semantic-conventions-1.0.1" = {
       name = "_at_opentelemetry_slash_semantic-conventions";
       packageName = "@opentelemetry/semantic-conventions";
-      version = "0.24.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-0.24.0.tgz";
-        sha512 = "a/szuMQV0Quy0/M7kKdglcbRSoorleyyOwbTNNJ32O+RBN766wbQlMTvdimImTmwYWGr+NJOni1EcC242WlRcA==";
+        url = "https://registry.npmjs.org/@opentelemetry/semantic-conventions/-/semantic-conventions-1.0.1.tgz";
+        sha512 = "7XU1sfQ8uCVcXLxtAHA8r3qaLJ2oq7sKtEwzZhzuEXqYmjW+n+J4yM3kNo0HQo3Xp1eUe47UM6Wy6yuAvIyllg==";
       };
     };
     "@ot-builder/bin-composite-types-1.3.3" = {
@@ -6403,31 +6565,31 @@ let
         sha512 = "SXsM27SGH3yTWKc2fKR4SYNxsmnvuBQ9dd6QHtEWmiZ/VqaOYPAIlS8+vMcn27YLtAEBGvNRSh3TPNvtjZgfqA==";
       };
     };
-    "@primer/octicons-14.1.0" = {
+    "@primer/octicons-16.3.1" = {
       name = "_at_primer_slash_octicons";
       packageName = "@primer/octicons";
-      version = "14.1.0";
+      version = "16.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-14.1.0.tgz";
-        sha512 = "I/gRlM2meKPKXFN/1fxLoigPXvAUsivxRCih7vgeO7o4qrNNsl6Ah85l3UBbFi0t7ttjMde2+bS1A32a1Hu0BA==";
+        url = "https://registry.npmjs.org/@primer/octicons/-/octicons-16.3.1.tgz";
+        sha512 = "J3IlK0Ok88RQZVB//af7Lnl1Vw2buyyr5G3oEvK1wRSYTJi/E/HBm5JZUihmDAtm/unr85FC534DwA5e+4LR2w==";
       };
     };
-    "@prisma/engines-3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f" = {
+    "@prisma/engines-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009" = {
       name = "_at_prisma_slash_engines";
       packageName = "@prisma/engines";
-      version = "3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f";
+      version = "3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f.tgz";
-        sha512 = "bHYubuItSN/DGYo36aDu7xJiJmK52JOSHs4MK+KbceAtwS20BCWadRgtpQ3iZ2EXfN/B1T0iCXlNraaNwnpU2w==";
+        url = "https://registry.npmjs.org/@prisma/engines/-/engines-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009.tgz";
+        sha512 = "qM+uJbkelB21bnK44gYE049YTHIjHysOuj0mj5U2gDGyNLfmiazlggzFPCgEjgme4U5YB2tYs6Z5Hq08Kl8pjA==";
       };
     };
-    "@prisma/prisma-fmt-wasm-3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f" = {
+    "@prisma/prisma-fmt-wasm-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009" = {
       name = "_at_prisma_slash_prisma-fmt-wasm";
       packageName = "@prisma/prisma-fmt-wasm";
-      version = "3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f";
+      version = "3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f.tgz";
-        sha512 = "r3eqcIkyLMLGXMAO5anxDUlDjkJQLJ9WfVyBzaPDQICNw+506MWx3J3jllGSPEqifch17NLNEckfb9ox5gn7tA==";
+        url = "https://registry.npmjs.org/@prisma/prisma-fmt-wasm/-/prisma-fmt-wasm-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009.tgz";
+        sha512 = "D+1BlYjBpj3mUGrB/druJ1St43jmldcTqSZ1RIOOnB15r+ZtteMJk0PrhVGEVPHCK2Qmbz2PG0/gNooTJHwSAQ==";
       };
     };
     "@protobufjs/aspromise-1.1.2" = {
@@ -6520,13 +6682,31 @@ let
         sha1 = "a777360b5b39a1a2e5106f8e858f2fd2d060c570";
       };
     };
-    "@putdotio/api-client-8.23.2" = {
+    "@purest/config-1.0.1" = {
+      name = "_at_purest_slash_config";
+      packageName = "@purest/config";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@purest/config/-/config-1.0.1.tgz";
+        sha512 = "cEG7U0X26a25SVrHsja5TohAfnkd0jjkjNu0bPX6cQdrSe16j/WeOuX1+TXbkDuZcirIDv7gjHSMe5vfCnW2og==";
+      };
+    };
+    "@purest/providers-1.0.1" = {
+      name = "_at_purest_slash_providers";
+      packageName = "@purest/providers";
+      version = "1.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@purest/providers/-/providers-1.0.1.tgz";
+        sha512 = "1ekKViRit0jo1IzDLSRSziU/OpX9ckoj8uWvSWzHLASyTqhKZL9Pdq628guq7yT3qFcJeeaeaA5T97a4w7fpqA==";
+      };
+    };
+    "@putdotio/api-client-8.27.3" = {
       name = "_at_putdotio_slash_api-client";
       packageName = "@putdotio/api-client";
-      version = "8.23.2";
+      version = "8.27.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.23.2.tgz";
-        sha512 = "G5arIdtmFmg0J05dcoHxfNP4dEF/SU7SZmQEvbhXt1WCNkV+D/zSGM4C9YkPU2b9UWZxgYyYbz644dmW4KDG9A==";
+        url = "https://registry.npmjs.org/@putdotio/api-client/-/api-client-8.27.3.tgz";
+        sha512 = "i50+y+OTfqKdgE5QwrXDqzfQZKtpLqPYf6pr2u/xTTRS8/w8/nrWmE7N1Hh6WpTBa68XidgUBzqSjit7PYOyfA==";
       };
     };
     "@reach/router-1.3.4" = {
@@ -6583,13 +6763,13 @@ let
         sha512 = "y9qNj0//tZtWB2jfXNK3BX18BSBp9zNR7KE7lMysVHwbZtY392OJCjm6Rb/h4UHH2r1AqjNEHFD6bRn+DqU9Mw==";
       };
     };
-    "@redocly/openapi-core-1.0.0-beta.79" = {
+    "@redocly/openapi-core-1.0.0-beta.82" = {
       name = "_at_redocly_slash_openapi-core";
       packageName = "@redocly/openapi-core";
-      version = "1.0.0-beta.79";
+      version = "1.0.0-beta.82";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.79.tgz";
-        sha512 = "do79vGt3iiHsaVG9LKY8dH+d1E7TLHr+3T+CQ1lqagtWVjYOxqGaoxAT8tRD7R1W0z8BmS4e2poNON6c1sxP5g==";
+        url = "https://registry.npmjs.org/@redocly/openapi-core/-/openapi-core-1.0.0-beta.82.tgz";
+        sha512 = "bJ0WclpgkFv4aa5QWU83ARCv3VQJy9U94reb1chOTg9s2bsTHbYuUwRv6G370a7lFXX86AyB3dT5IzS6GytLlA==";
       };
     };
     "@redocly/react-dropdown-aria-2.0.12" = {
@@ -6601,6 +6781,24 @@ let
         sha512 = "feQEZlyBvQsbT/fvpJ4jJ5OLGaUPpnskHYDsY8DGpPymN+HUeDQrqkBEbbKRwMKidFTI2cxk2kJNNTnvdS9jyw==";
       };
     };
+    "@request/api-0.6.0" = {
+      name = "_at_request_slash_api";
+      packageName = "@request/api";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@request/api/-/api-0.6.0.tgz";
+        sha1 = "e46e4c32e21db9ca72639701cba1ebfee06c1666";
+      };
+    };
+    "@request/interface-0.1.0" = {
+      name = "_at_request_slash_interface";
+      packageName = "@request/interface";
+      version = "0.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@request/interface/-/interface-0.1.0.tgz";
+        sha1 = "c913504d3dc2810afad555b599aeaec2cc4c6768";
+      };
+    };
     "@sailshq/lodash-3.10.4" = {
       name = "_at_sailshq_slash_lodash";
       packageName = "@sailshq/lodash";
@@ -6628,13 +6826,13 @@ let
         sha512 = "c/qwwcHyafOQuVQJj0IlBjf5yYgBI7YPJ77k4fOJYesb41jio65eaJODRUmfYKhTOFBrIZ66kgvGPlNbjuoRdQ==";
       };
     };
-    "@schematics/angular-13.1.4" = {
+    "@schematics/angular-13.2.4" = {
       name = "_at_schematics_slash_angular";
       packageName = "@schematics/angular";
-      version = "13.1.4";
+      version = "13.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.1.4.tgz";
-        sha512 = "P1YsHn1LLAmdpB9X2TBuUgrvEW/KaoBbHr8ifYO8/uQEXyeiIF+So8h/dnegkYkdsr3OwQ2X/j3UF6/+HS0odg==";
+        url = "https://registry.npmjs.org/@schematics/angular/-/angular-13.2.4.tgz";
+        sha512 = "pAVuPmFklWVpNJkARs4aGYM5Mo4iez0eW0dDY+ugxZlt1KOLJQDmMK2Go60iEAQLlOw2pKO/jcmTttOP8PN0UQ==";
       };
     };
     "@segment/loosely-validate-event-2.0.0" = {
@@ -6646,49 +6844,22 @@ let
         sha512 = "ZMCSfztDBqwotkl848ODgVcAmN4OItEWDCkshcKz0/W6gGSQayuuCtWV/MlodFivAZD793d6UgANd6wCXUfrIw==";
       };
     };
-    "@serverless/cli-1.6.0" = {
-      name = "_at_serverless_slash_cli";
-      packageName = "@serverless/cli";
-      version = "1.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/cli/-/cli-1.6.0.tgz";
-        sha512 = "1Muw/KhS4sZ6+ZrXBdmVY9zAwZh03lF7v1DKtaZ0cmxjqQBwPLoO40rOGXlxR97pyufe2NS6rD/p+ri8NGqeXg==";
-      };
-    };
-    "@serverless/component-metrics-1.0.8" = {
-      name = "_at_serverless_slash_component-metrics";
-      packageName = "@serverless/component-metrics";
-      version = "1.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/component-metrics/-/component-metrics-1.0.8.tgz";
-        sha512 = "lOUyRopNTKJYVEU9T6stp2irwlTDsYMmUKBOUjnMcwGveuUfIJqrCOtFLtIPPj3XJlbZy5F68l4KP9rZ8Ipang==";
-      };
-    };
-    "@serverless/components-3.18.2" = {
-      name = "_at_serverless_slash_components";
-      packageName = "@serverless/components";
-      version = "3.18.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/components/-/components-3.18.2.tgz";
-        sha512 = "jQSgd3unajU94R6vjzD0l+PS5lVcky0vrE1DOfb28VPgmaS48+I/niavWR7+SOt0mYjIkUlwBI73a2ZuqeYK6Q==";
-      };
-    };
-    "@serverless/core-1.1.2" = {
-      name = "_at_serverless_slash_core";
-      packageName = "@serverless/core";
-      version = "1.1.2";
+    "@selderee/plugin-htmlparser2-0.6.0" = {
+      name = "_at_selderee_slash_plugin-htmlparser2";
+      packageName = "@selderee/plugin-htmlparser2";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/core/-/core-1.1.2.tgz";
-        sha512 = "PY7gH+7aQ+MltcUD7SRDuQODJ9Sav9HhFJsgOiyf8IVo7XVD6FxZIsSnpMI6paSkptOB7n+0Jz03gNlEkKetQQ==";
+        url = "https://registry.npmjs.org/@selderee/plugin-htmlparser2/-/plugin-htmlparser2-0.6.0.tgz";
+        sha512 = "J3jpy002TyBjd4N/p6s+s90eX42H2eRhK3SbsZuvTDv977/E8p2U3zikdiehyJja66do7FlxLomZLPlvl2/xaA==";
       };
     };
-    "@serverless/dashboard-plugin-5.5.4" = {
+    "@serverless/dashboard-plugin-6.1.0" = {
       name = "_at_serverless_slash_dashboard-plugin";
       packageName = "@serverless/dashboard-plugin";
-      version = "5.5.4";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-5.5.4.tgz";
-        sha512 = "qqZnT/RXhBcWXwYnpF+GMeNvSUi6mnyIqsAHj8+f7jJ7N9qa5Qrb14+dUh78sdgRBG5Peub3m3Mlx1n5V9yHDw==";
+        url = "https://registry.npmjs.org/@serverless/dashboard-plugin/-/dashboard-plugin-6.1.0.tgz";
+        sha512 = "rbIWKRoqTIMl0ZOt6f0VIaEj+6slV18iEkW7tIBOKq6eQTkX2tHvBgVXrTh3ZKFNnMePGn4rtfbwB5G9oZ0Wig==";
       };
     };
     "@serverless/event-mocks-1.1.1" = {
@@ -6700,67 +6871,22 @@ let
         sha512 = "YAV5V/y+XIOfd+HEVeXfPWZb8C6QLruFk9tBivoX2roQLWVq145s4uxf8D0QioCueuRzkukHUS4JIj+KVoS34A==";
       };
     };
-    "@serverless/platform-client-4.3.0" = {
+    "@serverless/platform-client-4.3.1" = {
       name = "_at_serverless_slash_platform-client";
       packageName = "@serverless/platform-client";
-      version = "4.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.3.0.tgz";
-        sha512 = "q2CMqCkKeBaKA/UwfJAZLkdUsbghSbiYPvAX4rl9rsR5APm4KWtjKQP9CTOtVO5JRMWYoysK6jF0d5VJOABRzQ==";
-      };
-    };
-    "@serverless/platform-client-china-2.3.4" = {
-      name = "_at_serverless_slash_platform-client-china";
-      packageName = "@serverless/platform-client-china";
-      version = "2.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/platform-client-china/-/platform-client-china-2.3.4.tgz";
-        sha512 = "JRrI3gnUZ0e6on8hHtVr4CwnhrU0jXd3iVfJknEE9tLS//syV77h7PhalZ79SemrboykRoSqhdu9qHf/wiFJ3A==";
-      };
-    };
-    "@serverless/template-1.1.4" = {
-      name = "_at_serverless_slash_template";
-      packageName = "@serverless/template";
-      version = "1.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/template/-/template-1.1.4.tgz";
-        sha512 = "LYC+RmSD4ozStdCxSHInpVWP8h+0sSa0lmPGjAb1Fw4Ppk+LCJqJTrohbhHmF2ixgaIBu6ceNtVTB4qM+2NvIA==";
-      };
-    };
-    "@serverless/utils-1.2.0" = {
-      name = "_at_serverless_slash_utils";
-      packageName = "@serverless/utils";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-1.2.0.tgz";
-        sha512 = "aI/cpGVUhWbJUR8QDMtPue28EU4ViG/L4/XKuZDfAN2uNQv3NRjwEFIBi/cxyfQnMTYVtMLe9wDjuwzOT4ENzA==";
-      };
-    };
-    "@serverless/utils-4.1.0" = {
-      name = "_at_serverless_slash_utils";
-      packageName = "@serverless/utils";
-      version = "4.1.0";
+      version = "4.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-4.1.0.tgz";
-        sha512 = "cl5uPaGg72z0sCUpF0zsOhwYYUV72Gxc1FwFfxltO8hSvMeFDvwD7JrNE4kHcIcKRjwPGbSH0fdVPUpErZ8Mog==";
+        url = "https://registry.npmjs.org/@serverless/platform-client/-/platform-client-4.3.1.tgz";
+        sha512 = "VPXeTTgXmWZtZmbzm9eh5FJcOoFgHkcwgfNA59FV3TE2Vcm5JZiXKtXl5AANu9LYcyOtJK7iBJXs8OUSwNbJZw==";
       };
     };
-    "@serverless/utils-5.20.3" = {
+    "@serverless/utils-6.0.2" = {
       name = "_at_serverless_slash_utils";
       packageName = "@serverless/utils";
-      version = "5.20.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils/-/utils-5.20.3.tgz";
-        sha512 = "MG3DQJdto+LaeVY9gh/z0xloAfT0h1Y3Pa4/yYcKe8Dy5HYtSujuav0MvTOH18+s2outjKKJDxTh6tZuyNqFDQ==";
-      };
-    };
-    "@serverless/utils-china-1.1.5" = {
-      name = "_at_serverless_slash_utils-china";
-      packageName = "@serverless/utils-china";
-      version = "1.1.5";
+      version = "6.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@serverless/utils-china/-/utils-china-1.1.5.tgz";
-        sha512 = "pykhxsI+TlEbZzDUq5dkJPVWceNpaLU2ILEMsjUwyqGPsSE/g8Lrf7AhXseKtNK/7le3lduNnPacmY4Jb+GT+g==";
+        url = "https://registry.npmjs.org/@serverless/utils/-/utils-6.0.2.tgz";
+        sha512 = "4vNv6nt4/w8wX79DN7OujR/Ih1wlJ9ZJnY28BtF69ehFwlGqnxlF2CXVGo3W7Xh4maK3hWnoc+L4akQX6nH+3g==";
       };
     };
     "@sideway/address-4.1.3" = {
@@ -6844,13 +6970,13 @@ let
         sha512 = "JiX9vxoKMmu8Y3Zr2RVathBL1Cdu4Nt4MuNWemt1Nc06A0RAin9c5FArkhGsyMBWfCu4zj+9b+GxtjAnE4qqLQ==";
       };
     };
-    "@sindresorhus/is-4.3.0" = {
+    "@sindresorhus/is-4.4.0" = {
       name = "_at_sindresorhus_slash_is";
       packageName = "@sindresorhus/is";
-      version = "4.3.0";
+      version = "4.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-4.3.0.tgz";
-        sha512 = "wwOvh0eO3PiTEivGJWiZ+b946SlMSb4pe+y+Ur/4S87cwo09pYi+FWHHnbrM3W9W7cBYKDqQXcrFYjYUCOJUEQ==";
+        url = "https://registry.npmjs.org/@sindresorhus/is/-/is-4.4.0.tgz";
+        sha512 = "QppPM/8l3Mawvh4rn9CNEYIU9bxpXUCRMaX9yUpvBk1nMKusLKpfXGDEKExKaPhLzcn3lzil7pR6rnJ11HgeRQ==";
       };
     };
     "@sindresorhus/jimp-0.3.0" = {
@@ -6862,6 +6988,24 @@ let
         sha512 = "ikwHOfJF0umx1eV/JpQDMsFxODvCSdD9zdIQVDEjcTNpfofz7+PZrjfKUFkG3iQ9mSUG3BwODv0XOEvTRNdovw==";
       };
     };
+    "@sinonjs/commons-1.8.3" = {
+      name = "_at_sinonjs_slash_commons";
+      packageName = "@sinonjs/commons";
+      version = "1.8.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sinonjs/commons/-/commons-1.8.3.tgz";
+        sha512 = "xkNcLAn/wZaX14RPlwizcKicDk9G3F8m2nU3L7Ukm5zBgTwiT0wsoFAHx9Jq56fJA1z/7uKGtCRu16sOUCLIHQ==";
+      };
+    };
+    "@sinonjs/fake-timers-8.1.0" = {
+      name = "_at_sinonjs_slash_fake-timers";
+      packageName = "@sinonjs/fake-timers";
+      version = "8.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-8.1.0.tgz";
+        sha512 = "OAPJUAtgeINhh/TAlUID4QTs53Njm7xzddaVlEs/SXwgtiD1tW22zAB/W1wdqfrpmikgaWQ9Fw6Ws+hsiRm5Vg==";
+      };
+    };
     "@slack/client-3.16.0" = {
       name = "_at_slack_slash_client";
       packageName = "@slack/client";
@@ -6880,13 +7024,13 @@ let
         sha512 = "dOlCBKnDw4iShaIsH/bxujKTM18+2TOAsYz+KSc11Am38H4q5Xw8Bbz97ZYdrVNM+um3p7w86Bvvmcn9q+5+eQ==";
       };
     };
-    "@squoosh/lib-0.4.0" = {
+    "@squoosh/lib-0.4.1" = {
       name = "_at_squoosh_slash_lib";
       packageName = "@squoosh/lib";
-      version = "0.4.0";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@squoosh/lib/-/lib-0.4.0.tgz";
-        sha512 = "O1LyugWLZjMI4JZeZMA5vzfhfPjfMZXH5/HmVkRagP8B70wH3uoR7tjxfGNdSavey357MwL8YJDxbGwBBdHp7Q==";
+        url = "https://registry.npmjs.org/@squoosh/lib/-/lib-0.4.1.tgz";
+        sha512 = "qAO4AXEpSnurikGFZwsG7DGi7QHBIaDpbumcDyUvJNOd652ksZSVXmFHwlEikc7hy0RQ9LczIURqfSDo/5oc5Q==";
       };
     };
     "@starptech/expression-parser-0.10.0" = {
@@ -7024,15 +7168,6 @@ let
         sha512 = "4BAffykYOgO+5nzBWYwE3W90sBgLJoUPRWWcL8wlyiM8IB8ipJz3UMJ9KXQd1RKQXpKp8Tutn80HZtWsu2u76w==";
       };
     };
-    "@tencent-sdk/capi-1.1.8" = {
-      name = "_at_tencent-sdk_slash_capi";
-      packageName = "@tencent-sdk/capi";
-      version = "1.1.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@tencent-sdk/capi/-/capi-1.1.8.tgz";
-        sha512 = "AmyMQndtxMsM59eDeA0gGiw8T2LzNvDhx/xl+ygFXXrsw+yb/mit73ndHkiHKcRA1EpNHTyD1PN9ATxghzplfg==";
-      };
-    };
     "@textlint/ast-node-types-12.1.0" = {
       name = "_at_textlint_slash_ast-node-types";
       packageName = "@textlint/ast-node-types";
@@ -7294,13 +7429,13 @@ let
         sha512 = "eZxlbI8GZscaGS7kkc/trHTT5xgrjH3/1n2JDwusC9iahPKWMRvRjJSAN5mCXviuTGQ/lHnhvv8Q1YTpnfz9gA==";
       };
     };
-    "@turist/fetch-7.1.7" = {
+    "@turist/fetch-7.2.0" = {
       name = "_at_turist_slash_fetch";
       packageName = "@turist/fetch";
-      version = "7.1.7";
+      version = "7.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@turist/fetch/-/fetch-7.1.7.tgz";
-        sha512 = "XP20kvfyMNlWdPVQXyuzA40LoCHbbJptikt7W+TlZ5sS+NNjk70xjXCtHBLEudp7li3JldXEFSIUzpW1a0WEhA==";
+        url = "https://registry.npmjs.org/@turist/fetch/-/fetch-7.2.0.tgz";
+        sha512 = "2x7EGw+6OJ29phunsbGvtxlNmSfcuPcyYudkMbi8gARCP9eJ1CtuMvnVUHL//O9Ixi9SJiug8wNt6lj86pN8XQ==";
       };
     };
     "@turist/time-0.0.2" = {
@@ -7627,13 +7762,13 @@ let
         sha512 = "n0zoEj/fMdMOvqbHxmqnza/kXyoGgJmEpsXjpP+gEqE1Ye4yNqc7xWipKnUoMpWhMuzJQSfK2gMrwlElly7OGQ==";
       };
     };
-    "@types/ejs-2.7.0" = {
+    "@types/ejs-3.1.0" = {
       name = "_at_types_slash_ejs";
       packageName = "@types/ejs";
-      version = "2.7.0";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/ejs/-/ejs-2.7.0.tgz";
-        sha512 = "kM2g9Fdk/du24fKuuQhA/LBleFR4Z4JP2MVKpLxQQSzofF1uJ06D+c05zfLDAkkDO55aEeNwJih0gHrE/Ci20A==";
+        url = "https://registry.npmjs.org/@types/ejs/-/ejs-3.1.0.tgz";
+        sha512 = "DCg+Ka+uDQ31lJ/UtEXVlaeV3d6t81gifaVWKJy4MYVVgvJttyX/viREy+If7fz+tK/gVxTGMtyrFPnm4gjrVA==";
       };
     };
     "@types/emoji-mart-3.0.9" = {
@@ -7681,15 +7816,6 @@ let
         sha512 = "PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==";
       };
     };
-    "@types/eslint-visitor-keys-1.0.0" = {
-      name = "_at_types_slash_eslint-visitor-keys";
-      packageName = "@types/eslint-visitor-keys";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/eslint-visitor-keys/-/eslint-visitor-keys-1.0.0.tgz";
-        sha512 = "OCutwjDZ4aFS6PB1UZ988C4YgwlBHJd6wCeQqaLdmadZ/7e+w79+hbMUFC1QXDNCmdyoRfAFdm0RypzwR+Qpag==";
-      };
-    };
     "@types/estree-0.0.50" = {
       name = "_at_types_slash_estree";
       packageName = "@types/estree";
@@ -7699,6 +7825,15 @@ let
         sha512 = "C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==";
       };
     };
+    "@types/estree-0.0.51" = {
+      name = "_at_types_slash_estree";
+      packageName = "@types/estree";
+      version = "0.0.51";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz";
+        sha512 = "CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==";
+      };
+    };
     "@types/estree-jsx-0.0.1" = {
       name = "_at_types_slash_estree-jsx";
       packageName = "@types/estree-jsx";
@@ -7879,6 +8014,15 @@ let
         sha512 = "rjaYQ9b9y/VFGOpqBEXRavc3jh0a+e6evAbI31tMda8VlPaSy0AZJfXsvmIe3wklc7W6C3zCSfleuMXR7NOyXw==";
       };
     };
+    "@types/inquirer-8.2.0" = {
+      name = "_at_types_slash_inquirer";
+      packageName = "@types/inquirer";
+      version = "8.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/inquirer/-/inquirer-8.2.0.tgz";
+        sha512 = "BNoMetRf3gmkpAlV5we+kxyZTle7YibdOntIZbU5pyIfMdcwy784KfeZDAcuyMznkh5OLa17RVXZOGA5LTlkgQ==";
+      };
+    };
     "@types/is-empty-1.2.1" = {
       name = "_at_types_slash_is-empty";
       packageName = "@types/is-empty";
@@ -8248,13 +8392,22 @@ let
         sha512 = "F0KIgDJfy2nA3zMLmWGKxcH2ZVEtCZXHHdOQs2gSaQ27+lNeEfGxzkIw90aXswATX7AZ33tahPbzy6KAfUreVw==";
       };
     };
-    "@types/node-12.20.42" = {
+    "@types/node-11.11.6" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "12.20.42";
+      version = "11.11.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-12.20.42.tgz";
-        sha512 = "aI3/oo5DzyiI5R/xAhxxRzfZlWlsbbqdgxfTPkqu/Zt+23GXiJvMCyPJT4+xKSXOnLqoL8jJYMLTwvK2M3a5hw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-11.11.6.tgz";
+        sha512 = "Exw4yUWMBXM3X+8oqzJNRqZSwUAaS4+7NdvHqQuFi/d+synz++xmX3QIf+BFqneW8N31R8Ky+sikfZUXq07ggQ==";
+      };
+    };
+    "@types/node-12.20.46" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "12.20.46";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-12.20.46.tgz";
+        sha512 = "cPjLXj8d6anFPzFvOPxS3fvly3Shm5nTfl6g8X5smexixbuGUf7hfr21J5tX9JW+UPStp/5P5R8qrKL5IyVJ+A==";
       };
     };
     "@types/node-13.13.52" = {
@@ -8284,13 +8437,13 @@ let
         sha512 = "USUftMYpmuMzeWobskoPfzDi+vkpe0dvcOBRNOscFrGxVp4jomnRxWuVohgqBow2xyIPC0S3gjxV/5079jhmDg==";
       };
     };
-    "@types/node-14.18.9" = {
+    "@types/node-14.18.12" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "14.18.9";
+      version = "14.18.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-14.18.9.tgz";
-        sha512 = "j11XSuRuAlft6vLDEX4RvhqC0KxNxx6QIyMXNb0vHHSNPXTPeiy3algESWmOOIzEtiEL0qiowPU3ewW9hHVa7Q==";
+        url = "https://registry.npmjs.org/@types/node/-/node-14.18.12.tgz";
+        sha512 = "q4jlIR71hUpWTnGhXWcakgkZeHa3CCjcQcnuzU8M891BAWA2jHiziiWEPEkdS5pFsz7H9HJiy8BrK7tBRNrY7A==";
       };
     };
     "@types/node-15.14.9" = {
@@ -8302,22 +8455,13 @@ let
         sha512 = "qjd88DrCxupx/kJD5yQgZdcYKZKSIGBVDIBE1/LTGcNm3d2Np/jxojkdePDdfnBHJc5W7vSMpbJ1aB7p/Py69A==";
       };
     };
-    "@types/node-16.11.12" = {
+    "@types/node-16.11.25" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.12";
+      version = "16.11.25";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.12.tgz";
-        sha512 = "+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==";
-      };
-    };
-    "@types/node-16.11.21" = {
-      name = "_at_types_slash_node";
-      packageName = "@types/node";
-      version = "16.11.21";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.21.tgz";
-        sha512 = "Pf8M1XD9i1ksZEcCP8vuSNwooJ/bZapNmIzpmsMaL+jMI+8mEYU3PKvs+xDNuQcJWF/x24WzY4qxLtB0zNow9A==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.25.tgz";
+        sha512 = "NrTwfD7L1RTc2qrHQD4RTTy4p0CO2LatKBEKEds3CaVuhoM/+DJzmWZl5f+ikR8cm8F5mfJxK+9rQq07gRiSjQ==";
       };
     };
     "@types/node-16.11.7" = {
@@ -8338,6 +8482,60 @@ let
         sha512 = "S/3xB4KzyFxYGCppyDt68yzBU9ysL88lSdIah4D6cptdcltc4NCPCAMc0+PCpg/lLIyC7IPvj2Z52OJWeIUkog==";
       };
     };
+    "@types/node-17.0.14" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.14";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.14.tgz";
+        sha512 = "SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==";
+      };
+    };
+    "@types/node-17.0.15" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.15";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.15.tgz";
+        sha512 = "zWt4SDDv1S9WRBNxLFxFRHxdD9tvH8f5/kg5/IaLFdnSNXsDY4eL3Q3XXN+VxUnWIhyVFDwcsmAprvwXoM/ClA==";
+      };
+    };
+    "@types/node-17.0.16" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.16";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.16.tgz";
+        sha512 = "ydLaGVfQOQ6hI1xK2A5nVh8bl0OGoIfYMxPWHqqYe9bTkWCfqiVvZoh2I/QF2sNSkZzZyROBoTefIEI+PB6iIA==";
+      };
+    };
+    "@types/node-17.0.17" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.17";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.17.tgz";
+        sha512 = "e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw==";
+      };
+    };
+    "@types/node-17.0.18" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.18.tgz";
+        sha512 = "eKj4f/BsN/qcculZiRSujogjvp5O/k4lOW5m35NopjZM/QwLOR075a8pJW5hD+Rtdm2DaCVPENS6KtSQnUD6BA==";
+      };
+    };
+    "@types/node-17.0.19" = {
+      name = "_at_types_slash_node";
+      packageName = "@types/node";
+      version = "17.0.19";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/node/-/node-17.0.19.tgz";
+        sha512 = "PfeQhvcMR4cPFVuYfBN4ifG7p9c+Dlh3yUZR6k+5yQK7wX3gDgVxBly4/WkBRs9x4dmcy1TVl08SY67wwtEvmA==";
+      };
+    };
     "@types/node-17.0.8" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
@@ -8374,13 +8572,13 @@ let
         sha512 = "/aKAdg5c8n468cYLy2eQrcR5k6chlbNwZNGUj3TboyPa2hcO2QAJcfymlqPzMiRj8B6nYKXjzQz36minFE0RwQ==";
       };
     };
-    "@types/node-fetch-2.5.12" = {
+    "@types/node-fetch-2.6.1" = {
       name = "_at_types_slash_node-fetch";
       packageName = "@types/node-fetch";
-      version = "2.5.12";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.5.12.tgz";
-        sha512 = "MKgC4dlq4kKNa/mYrwpKfzQMB5X3ee5U6fSprkKpToBqBmX4nFZL9cW5jl6sWn+xpRJ7ypWh2yyqqr8UUCstSw==";
+        url = "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.1.tgz";
+        sha512 = "oMqjURCaxoSIsHSr1E47QHzbmzNR5rK8McHuNb11BOM9cHcIK3Avy0s/b2JlXHoQGTYS3NsvWzV1M0iK7l0wbA==";
       };
     };
     "@types/normalize-package-data-2.4.1" = {
@@ -8509,13 +8707,13 @@ let
         sha512 = "eEQ6Hq0K0VShe00iDzG1DKxA5liTsk7jgcR5eDZ5d5cnivLjPqqcDgqurS5NlQJNfgTNg51dp7zFGWHomr5NJQ==";
       };
     };
-    "@types/react-16.14.21" = {
+    "@types/react-16.14.23" = {
       name = "_at_types_slash_react";
       packageName = "@types/react";
-      version = "16.14.21";
+      version = "16.14.23";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react/-/react-16.14.21.tgz";
-        sha512 = "rY4DzPKK/4aohyWiDRHS2fotN5rhBSK6/rz1X37KzNna9HJyqtaGAbq9fVttrEPWF5ywpfIP1ITL8Xi2QZn6Eg==";
+        url = "https://registry.npmjs.org/@types/react/-/react-16.14.23.tgz";
+        sha512 = "WngBZLuSkP4IAgPi0HOsGCHo6dn3CcuLQnCfC17VbA7YBgipZiZoTOhObwl/93DsFW0Y2a/ZXeonpW4DxirEJg==";
       };
     };
     "@types/react-dom-16.9.14" = {
@@ -8536,13 +8734,13 @@ let
         sha512 = "V9q3CvhC9Jk9bWBOysPGaWy/Z0lxYcTXLtLipkt2cnRj1JOSFNF7wqGpkScSXMgBwC+fnVRg/7shwgddBG5ICw==";
       };
     };
-    "@types/react-window-infinite-loader-1.0.5" = {
+    "@types/react-window-infinite-loader-1.0.6" = {
       name = "_at_types_slash_react-window-infinite-loader";
       packageName = "@types/react-window-infinite-loader";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/react-window-infinite-loader/-/react-window-infinite-loader-1.0.5.tgz";
-        sha512 = "3v45+4oBNJpSroULtb2EgTJyyK4pCjOMCg+RT/HnA3or5zY4jYufv6uH9NWPyLv0nx8dqt1s4nJqHilfthwKSw==";
+        url = "https://registry.npmjs.org/@types/react-window-infinite-loader/-/react-window-infinite-loader-1.0.6.tgz";
+        sha512 = "V8g8sBDLVeJJAfEENJS7VXZK+DRJ+jzPNtk8jpj2G+obhf+iqGNUDGwNWCbBhLiD+KpHhf3kWQlKBRi0tAeU4Q==";
       };
     };
     "@types/request-2.48.5" = {
@@ -8572,15 +8770,6 @@ let
         sha512 = "whjk1EDJPcAR2kYHRbFl/lKeeKYTi05A15K9bnLInCVroNDCtXce57xKdI0/rQaA3K+6q0eFyUBPmqfSndUZdQ==";
       };
     };
-    "@types/request-promise-native-1.0.18" = {
-      name = "_at_types_slash_request-promise-native";
-      packageName = "@types/request-promise-native";
-      version = "1.0.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/request-promise-native/-/request-promise-native-1.0.18.tgz";
-        sha512 = "tPnODeISFc/c1LjWyLuZUY+Z0uLB3+IMfNoQyDEi395+j6kTFTTRAqjENjoPJUid4vHRGEozoTrcTrfZM+AcbA==";
-      };
-    };
     "@types/resolve-0.0.8" = {
       name = "_at_types_slash_resolve";
       packageName = "@types/resolve";
@@ -8707,6 +8896,15 @@ let
         sha512 = "OBsK0KIGUICExQ/ZvnPY4cKx5Kz4NcrVyGTIvOL5y4ajXu7r++RfBajfpGfGDmDVCKcoCDX1dO84/oeyeITnxA==";
       };
     };
+    "@types/stack-utils-2.0.1" = {
+      name = "_at_types_slash_stack-utils";
+      packageName = "@types/stack-utils";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/stack-utils/-/stack-utils-2.0.1.tgz";
+        sha512 = "Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw==";
+      };
+    };
     "@types/structured-source-3.0.0" = {
       name = "_at_types_slash_structured-source";
       packageName = "@types/structured-source";
@@ -8797,13 +8995,13 @@ let
         sha512 = "awrJu8yML4E/xTwr2EMatC+HBnHGoDxc2+ImA9QyeUELI1S7dOCIZcyjki1rkwoA8P2D2NVgLAJLjnclkdLtAw==";
       };
     };
-    "@types/url-parse-1.4.7" = {
+    "@types/url-parse-1.4.8" = {
       name = "_at_types_slash_url-parse";
       packageName = "@types/url-parse";
-      version = "1.4.7";
+      version = "1.4.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.7.tgz";
-        sha512 = "EGfNfKmF21obwe37d2YFNcLYG67EifYO2B7Zl+N1uVjutZPQ8gSGOOozOu7KQEP8mqSl3X/wG5THZ/OLMotb1Q==";
+        url = "https://registry.npmjs.org/@types/url-parse/-/url-parse-1.4.8.tgz";
+        sha512 = "zqqcGKyNWgTLFBxmaexGUKQyWqeG7HjXj20EuQJSJWwXe54BjX0ihIo5cJB9yAQzH8dNugJ9GvkBYMjPXs/PJw==";
       };
     };
     "@types/vfile-3.0.2" = {
@@ -8833,13 +9031,13 @@ let
         sha512 = "ayJ0iOCDNHnKpKTgBG6Q6JOnHTj9zFta+3j2b8Ejza0e4cvRyMn0ZoLEmbPrTHe5YYRlDYPvPWVdV4cTaRyH7g==";
       };
     };
-    "@types/vscode-1.63.1" = {
+    "@types/vscode-1.64.0" = {
       name = "_at_types_slash_vscode";
       packageName = "@types/vscode";
-      version = "1.63.1";
+      version = "1.64.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.63.1.tgz";
-        sha512 = "Z+ZqjRcnGfHP86dvx/BtSwWyZPKQ/LBdmAVImY82TphyjOw2KgTKcp7Nx92oNwCTsHzlshwexAG/WiY2JuUm3g==";
+        url = "https://registry.npmjs.org/@types/vscode/-/vscode-1.64.0.tgz";
+        sha512 = "bSlAWz5WtcSL3cO9tAT/KpEH9rv5OBnm93OIIFwdCshaAiqr2bp1AUyEwW9MWeCvZBHEXc3V0fTYVdVyzDNwHA==";
       };
     };
     "@types/webpack-4.41.32" = {
@@ -8869,13 +9067,13 @@ let
         sha512 = "B5m9aq7cbbD/5/jThEr33nUY8WEfVi6A2YKCTOvw5Ldy7mtsOkqRvGjnzy6g7iMMDsgu7xREuCzqATLDLQVKcQ==";
       };
     };
-    "@types/websocket-1.0.4" = {
+    "@types/websocket-1.0.5" = {
       name = "_at_types_slash_websocket";
       packageName = "@types/websocket";
-      version = "1.0.4";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.4.tgz";
-        sha512 = "qn1LkcFEKK8RPp459jkjzsfpbsx36BBt3oC3pITYtkoBw/aVX+EZFa5j3ThCRTNpLFvIMr5dSTD4RaMdilIOpA==";
+        url = "https://registry.npmjs.org/@types/websocket/-/websocket-1.0.5.tgz";
+        sha512 = "NbsqiNX9CnEfC1Z0Vf4mE1SgAJ07JnRYcNex7AJ9zAVzmiGHmjKFEk7O4TJIsgv2B1sLEb6owKFZrACwdYngsQ==";
       };
     };
     "@types/ws-7.4.7" = {
@@ -8905,6 +9103,15 @@ let
         sha512 = "NOn5eIcgWLOo6qW8AcuLZ7G8PycXu0xTxxkS6Q18VWFxgPUSOwV0pBj2a/4viNZVu25i7RIB7GttdkAIUUXOOg==";
       };
     };
+    "@types/ws-8.2.3" = {
+      name = "_at_types_slash_ws";
+      packageName = "@types/ws";
+      version = "8.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/ws/-/ws-8.2.3.tgz";
+        sha512 = "ahRJZquUYCdOZf/rCsWg88S0/+cb9wazUBHv6HZEe3XdYaBe2zr/slM8J28X07Hn88Pnm4ezo7N8/ofnOgrPVQ==";
+      };
+    };
     "@types/yargs-15.0.14" = {
       name = "_at_types_slash_yargs";
       packageName = "@types/yargs";
@@ -8914,6 +9121,15 @@ let
         sha512 = "yEJzHoxf6SyQGhBhIYGXQDSCkJjB6HohDShto7m8vaKg9Yp0Yn8+71J9eakh2bnPg6BfsH9PRMhiRTZnd4eXGQ==";
       };
     };
+    "@types/yargs-16.0.4" = {
+      name = "_at_types_slash_yargs";
+      packageName = "@types/yargs";
+      version = "16.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/@types/yargs/-/yargs-16.0.4.tgz";
+        sha512 = "T8Yc9wt/5LbJyCaLiHPReJa0kApcIgJ7Bn735GjItUfh08Z1pJvu8QZqb9s+mMvKV6WUQRV7K2R46YbjMXTTJw==";
+      };
+    };
     "@types/yargs-parser-20.2.1" = {
       name = "_at_types_slash_yargs-parser";
       packageName = "@types/yargs-parser";
@@ -8950,15 +9166,6 @@ let
         sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
       };
     };
-    "@typescript-eslint/experimental-utils-3.10.1" = {
-      name = "_at_typescript-eslint_slash_experimental-utils";
-      packageName = "@typescript-eslint/experimental-utils";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-3.10.1.tgz";
-        sha512 = "DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==";
-      };
-    };
     "@typescript-eslint/experimental-utils-4.33.0" = {
       name = "_at_typescript-eslint_slash_experimental-utils";
       packageName = "@typescript-eslint/experimental-utils";
@@ -8968,15 +9175,6 @@ let
         sha512 = "zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==";
       };
     };
-    "@typescript-eslint/parser-3.10.1" = {
-      name = "_at_typescript-eslint_slash_parser";
-      packageName = "@typescript-eslint/parser";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-3.10.1.tgz";
-        sha512 = "Ug1RcWcrJP02hmtaXVS3axPPTTPnZjupqhgj+NnZ6BCkwSImWk/283347+x9wN+lqOdK9Eo3vsyiyDHgsmiEJw==";
-      };
-    };
     "@typescript-eslint/parser-4.33.0" = {
       name = "_at_typescript-eslint_slash_parser";
       packageName = "@typescript-eslint/parser";
@@ -8995,15 +9193,6 @@ let
         sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
       };
     };
-    "@typescript-eslint/types-3.10.1" = {
-      name = "_at_typescript-eslint_slash_types";
-      packageName = "@typescript-eslint/types";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/types/-/types-3.10.1.tgz";
-        sha512 = "+3+FCUJIahE9q0lDi1WleYzjCwJs5hIsbugIgnbB+dSCYUxl8L6PwmsyOPFZde2hc1DlTo/xnkOgiTLSyAbHiQ==";
-      };
-    };
     "@typescript-eslint/types-4.33.0" = {
       name = "_at_typescript-eslint_slash_types";
       packageName = "@typescript-eslint/types";
@@ -9013,15 +9202,6 @@ let
         sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
       };
     };
-    "@typescript-eslint/typescript-estree-3.10.1" = {
-      name = "_at_typescript-eslint_slash_typescript-estree";
-      packageName = "@typescript-eslint/typescript-estree";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-3.10.1.tgz";
-        sha512 = "QbcXOuq6WYvnB3XPsZpIwztBoquEYLXh2MtwVU+kO8jgYCiv4G5xrSP/1wg4tkvrEE+esZVquIPX/dxPlePk1w==";
-      };
-    };
     "@typescript-eslint/typescript-estree-4.33.0" = {
       name = "_at_typescript-eslint_slash_typescript-estree";
       packageName = "@typescript-eslint/typescript-estree";
@@ -9031,15 +9211,6 @@ let
         sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
       };
     };
-    "@typescript-eslint/visitor-keys-3.10.1" = {
-      name = "_at_typescript-eslint_slash_visitor-keys";
-      packageName = "@typescript-eslint/visitor-keys";
-      version = "3.10.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-3.10.1.tgz";
-        sha512 = "9JgC82AaQeglebjZMgYR5wgmfUdUc+EitGUUMW8u2nDckaeimzW+VsoLV6FoimPv2id3VQzfjwBxEMVz08ameQ==";
-      };
-    };
     "@typescript-eslint/visitor-keys-4.33.0" = {
       name = "_at_typescript-eslint_slash_visitor-keys";
       packageName = "@typescript-eslint/visitor-keys";
@@ -9121,13 +9292,13 @@ let
         sha512 = "sL/cEvJWAnClXw0wHk85/2L0G6Sj8UB0Ctc1TEMbKSsmpRosqhwj9gWgFRZSrBr2f9tiXISwNhCPmlfqUqyb9Q==";
       };
     };
-    "@unicode/unicode-13.0.0-1.2.1" = {
-      name = "_at_unicode_slash_unicode-13.0.0";
-      packageName = "@unicode/unicode-13.0.0";
+    "@unicode/unicode-14.0.0-1.2.1" = {
+      name = "_at_unicode_slash_unicode-14.0.0";
+      packageName = "@unicode/unicode-14.0.0";
       version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@unicode/unicode-13.0.0/-/unicode-13.0.0-1.2.1.tgz";
-        sha512 = "8NDE4zZASktxJe+hV13K795wefyx+wRhu3Wl7TJ8fzsKx95CHsgTFmYRTscqna90zpUz6YBjGyqXHBI2ubiMaw==";
+        url = "https://registry.npmjs.org/@unicode/unicode-14.0.0/-/unicode-14.0.0-1.2.1.tgz";
+        sha512 = "M7NfPQP0PsCRFIUnmtFMgMiC5CCB26YwURCWIE48RQKbtN61sXrDhuXNq9w/tkBOtVeU84IAB1MMK9c+d2iR7A==";
       };
     };
     "@uphold/request-logger-2.0.0" = {
@@ -9139,112 +9310,112 @@ let
         sha1 = "c585c0bdb94210198945c6597e4fe23d6e63e084";
       };
     };
-    "@vercel/build-utils-2.12.2" = {
+    "@vercel/build-utils-2.14.0" = {
       name = "_at_vercel_slash_build-utils";
       packageName = "@vercel/build-utils";
-      version = "2.12.2";
+      version = "2.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.12.2.tgz";
-        sha512 = "KbSgG2ZCVXhUsdbnpv6gC7buygd31jaKiKhrd4Lzv1NwjnoeDZAXlm4hzvSPYHVtCY2jirKJWP2rFtMW8iAh9g==";
+        url = "https://registry.npmjs.org/@vercel/build-utils/-/build-utils-2.14.0.tgz";
+        sha512 = "Jdl0FkEJbAdB5oqpolIK4m/FO9GtFK86gKpFJt5jdnd5tMLWdPf2vr8uZkxvfs8wW5KdYXt660OSoWHpfdYu5w==";
       };
     };
-    "@vercel/go-1.2.3" = {
+    "@vercel/go-1.3.0" = {
       name = "_at_vercel_slash_go";
       packageName = "@vercel/go";
-      version = "1.2.3";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/go/-/go-1.2.3.tgz";
-        sha512 = "BZCHRz43Qfr0DwZlZQCcofR+3cr+H+HK72/ZPkZy1Uq0NYjJMlmZ3ahuMgvJxT9lfC1RA6eOEUlUsZ+gqKcMCg==";
+        url = "https://registry.npmjs.org/@vercel/go/-/go-1.3.0.tgz";
+        sha512 = "eMt4xPq658dFEpmkpXLoj+PX6k15ovwvXX0FlCAcMiQW8JkQcHVXnROnWpngsyMOfTFocYciMAsebtavYwQ6gw==";
       };
     };
-    "@vercel/node-1.12.1" = {
+    "@vercel/node-1.13.0" = {
       name = "_at_vercel_slash_node";
       packageName = "@vercel/node";
-      version = "1.12.1";
+      version = "1.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/node/-/node-1.12.1.tgz";
-        sha512 = "NcawIY05BvVkWlsowaxF2hl/hJg475U8JvT2FnGykFPMx31q1/FtqyTw/awSrKfOSRXR0InrbEIDIelmS9NzPA==";
+        url = "https://registry.npmjs.org/@vercel/node/-/node-1.13.0.tgz";
+        sha512 = "AqdUuJC0+r3q1lcL+Knjb+dHsSDSCRfwFPJ7odRkHO7sfoAkhJI4RussIDFTF7Yvt0e+GmWuYGFAgwSiv4FWEg==";
       };
     };
-    "@vercel/python-2.0.5" = {
+    "@vercel/python-2.2.0" = {
       name = "_at_vercel_slash_python";
       packageName = "@vercel/python";
-      version = "2.0.5";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/python/-/python-2.0.5.tgz";
-        sha512 = "WCSTTw6He2COaSBiGDk2q5Q1ue+z5usRZcvUHCpsK6KvNkkV/PrY8JT73XQysMWKiXh6yQy19IUFAOqK/xwhig==";
+        url = "https://registry.npmjs.org/@vercel/python/-/python-2.2.0.tgz";
+        sha512 = "6DQxYZtB5IOkpeVSmjjKkTOLQcUmslVWwI+7GRNabairY0qqdoW7gfWctMQDNrJ3hy8vVdc9jOMBeRKWTyrDYQ==";
       };
     };
-    "@vercel/ruby-1.2.7" = {
+    "@vercel/ruby-1.3.0" = {
       name = "_at_vercel_slash_ruby";
       packageName = "@vercel/ruby";
-      version = "1.2.7";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.2.7.tgz";
-        sha512 = "ZG2VxMHHSKocL57UWsfNc9UsblwYGm55/ujqGIBnkNUURnRgtUrwtWlEts1eJ4VHD754Lc/0/R1pfJXoN5SbRw==";
+        url = "https://registry.npmjs.org/@vercel/ruby/-/ruby-1.3.0.tgz";
+        sha512 = "98PTOukChScYXekWbDxPQEUCoX66W4188yx4Q4qiLTJgYRHsvQ5oWtNL5N0sz80mmYCk6aJglwnPE1d7tvgAmQ==";
       };
     };
-    "@vue/cli-shared-utils-4.5.15" = {
+    "@vue/cli-shared-utils-5.0.1" = {
       name = "_at_vue_slash_cli-shared-utils";
       packageName = "@vue/cli-shared-utils";
-      version = "4.5.15";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-4.5.15.tgz";
-        sha512 = "SKaej9hHzzjKSOw1NlFmc6BSE0vcqUQMQiv1cxQ2DhVyy4QxZXBmzmiLBUBe+hYZZs1neXW7n//udeN9bCAY+Q==";
+        url = "https://registry.npmjs.org/@vue/cli-shared-utils/-/cli-shared-utils-5.0.1.tgz";
+        sha512 = "oL164c3yDhdLHgiFvSkXuP7z0eEY8gqTYzHHbvQJCIBtRZ/0H9Q7xICpAeMZ63lJvS2+fA5bQfv+kPII/kcjmQ==";
       };
     };
-    "@vue/cli-ui-4.5.15" = {
+    "@vue/cli-ui-5.0.1" = {
       name = "_at_vue_slash_cli-ui";
       packageName = "@vue/cli-ui";
-      version = "4.5.15";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-4.5.15.tgz";
-        sha512 = "n32NC8RxI5HSeDH6QoK5LxgTDSN9HOj7Ra1eHlxQDqN2ppz3OhUAhsSEUe4puCq97dReYQeW6zpvCZOAyZgsIg==";
+        url = "https://registry.npmjs.org/@vue/cli-ui/-/cli-ui-5.0.1.tgz";
+        sha512 = "ikUsGRPc5wW/zbXIpBAp3NwDbTnwJzyAcM0QZwpa6YJ5Rx6kqI2DeUAyRBap6nMAWGtqSeN9I522UwwUY48CEA==";
       };
     };
-    "@vue/cli-ui-addon-webpack-4.5.15" = {
+    "@vue/cli-ui-addon-webpack-5.0.1" = {
       name = "_at_vue_slash_cli-ui-addon-webpack";
       packageName = "@vue/cli-ui-addon-webpack";
-      version = "4.5.15";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-4.5.15.tgz";
-        sha512 = "WpMlsnu4rkQ2fb7lFnPoVtmT0pmCVJI6VkCa/bDMZjz5enLmGewGamJle/RWNwzTsvi59aroYMClXcTa2dQHBw==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-webpack/-/cli-ui-addon-webpack-5.0.1.tgz";
+        sha512 = "vaiILTed+6e1so1zqKMA6ej3gYszXJH9kuTdcU3vIYjQfYtSnwPEjNtraM9twsdZzI4zAVLS5nSHCG5fohOJlQ==";
       };
     };
-    "@vue/cli-ui-addon-widgets-4.5.15" = {
+    "@vue/cli-ui-addon-widgets-5.0.1" = {
       name = "_at_vue_slash_cli-ui-addon-widgets";
       packageName = "@vue/cli-ui-addon-widgets";
-      version = "4.5.15";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-4.5.15.tgz";
-        sha512 = "B4Rc4wGgxTAOivy0tmBEuPAbSYeTzv3dusoQUOW1CVT3N5zYkEuxVj8OXmUQ1YECWaK+IjvQQMFkBuXt//lp7g==";
+        url = "https://registry.npmjs.org/@vue/cli-ui-addon-widgets/-/cli-ui-addon-widgets-5.0.1.tgz";
+        sha512 = "PiNz7W7rkz1CuRIuj1aa6f6UaL1iN4CI427mfCjpwy5V50GV6OSnLsmG1KIP3b0ld0X56iUpKw4pb5d77jzuNA==";
       };
     };
-    "@vue/compiler-core-3.2.29" = {
+    "@vue/compiler-core-3.2.31" = {
       name = "_at_vue_slash_compiler-core";
       packageName = "@vue/compiler-core";
-      version = "3.2.29";
+      version = "3.2.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.29.tgz";
-        sha512 = "RePZ/J4Ub3sb7atQw6V6Rez+/5LCRHGFlSetT3N4VMrejqJnNPXKUt5AVm/9F5MJriy2w/VudEIvgscCfCWqxw==";
+        url = "https://registry.npmjs.org/@vue/compiler-core/-/compiler-core-3.2.31.tgz";
+        sha512 = "aKno00qoA4o+V/kR6i/pE+aP+esng5siNAVQ422TkBNM6qA4veXiZbSe8OTXHXquEi/f6Akc+nLfB4JGfe4/WQ==";
       };
     };
-    "@vue/compiler-dom-3.2.29" = {
+    "@vue/compiler-dom-3.2.31" = {
       name = "_at_vue_slash_compiler-dom";
       packageName = "@vue/compiler-dom";
-      version = "3.2.29";
+      version = "3.2.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.29.tgz";
-        sha512 = "y26vK5khdNS9L3ckvkqJk/78qXwWb75Ci8iYLb67AkJuIgyKhIOcR1E8RIt4mswlVCIeI9gQ+fmtdhaiTAtrBQ==";
+        url = "https://registry.npmjs.org/@vue/compiler-dom/-/compiler-dom-3.2.31.tgz";
+        sha512 = "60zIlFfzIDf3u91cqfqy9KhCKIJgPeqxgveH2L+87RcGU/alT6BRrk5JtUso0OibH3O7NXuNOQ0cDc9beT0wrg==";
       };
     };
-    "@vue/shared-3.2.29" = {
+    "@vue/shared-3.2.31" = {
       name = "_at_vue_slash_shared";
       packageName = "@vue/shared";
-      version = "3.2.29";
+      version = "3.2.31";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.2.29.tgz";
-        sha512 = "BjNpU8OK6Z0LVzGUppEk0CMYm/hKDnZfYdjSmPOs0N+TR1cLKJAkDwW8ASZUvaaSLEi6d3hVM7jnWnX+6yWnHw==";
+        url = "https://registry.npmjs.org/@vue/shared/-/shared-3.2.31.tgz";
+        sha512 = "ymN2pj6zEjiKJZbrf98UM2pfDd6F2H7ksKw7NDt/ZZ1fh5Ei39X5tABugtT03ZRlWd9imccoK0hE8hpjpU7irQ==";
       };
     };
     "@webassemblyjs/ast-1.11.1" = {
@@ -9742,31 +9913,31 @@ let
         sha512 = "2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==";
       };
     };
-    "@webpack-cli/configtest-1.1.0" = {
+    "@webpack-cli/configtest-1.1.1" = {
       name = "_at_webpack-cli_slash_configtest";
       packageName = "@webpack-cli/configtest";
-      version = "1.1.0";
+      version = "1.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.0.tgz";
-        sha512 = "ttOkEkoalEHa7RaFYpM0ErK1xc4twg3Am9hfHhL7MVqlHebnkYd2wuI/ZqTDj0cVzZho6PdinY0phFZV3O0Mzg==";
+        url = "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz";
+        sha512 = "1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==";
       };
     };
-    "@webpack-cli/info-1.4.0" = {
+    "@webpack-cli/info-1.4.1" = {
       name = "_at_webpack-cli_slash_info";
       packageName = "@webpack-cli/info";
-      version = "1.4.0";
+      version = "1.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.0.tgz";
-        sha512 = "F6b+Man0rwE4n0409FyAJHStYA5OIZERxmnUfLVwv0mc0V1wLad3V7jqRlMkgKBeAq07jUvglacNaa6g9lOpuw==";
+        url = "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz";
+        sha512 = "PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==";
       };
     };
-    "@webpack-cli/serve-1.6.0" = {
+    "@webpack-cli/serve-1.6.1" = {
       name = "_at_webpack-cli_slash_serve";
       packageName = "@webpack-cli/serve";
-      version = "1.6.0";
+      version = "1.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.0.tgz";
-        sha512 = "ZkVeqEmRpBV2GHvjjUZqEai2PpUbuq8Bqd//vEYsp63J8WyexI8ppCqVS3Zs0QADf6aWuPdU+0XsPI647PVlQA==";
+        url = "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz";
+        sha512 = "gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==";
       };
     };
     "@webtorrent/http-node-1.3.0" = {
@@ -9796,13 +9967,13 @@ let
         sha512 = "V3BIhmY36fXZ1OtVcI9W+FxQqxVLsPKcNjWigIaa81dLC9IolJl5Mt4Cvhmr0flUnjSpTdrbMTSbXqYqV5dT6A==";
       };
     };
-    "@xmldom/xmldom-0.8.0" = {
+    "@xmldom/xmldom-0.8.1" = {
       name = "_at_xmldom_slash_xmldom";
       packageName = "@xmldom/xmldom";
-      version = "0.8.0";
+      version = "0.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.0.tgz";
-        sha512 = "7wVnF+rKrVDEo1xjzkkidTG0grclaVnX0vKa0z9JSXcEdtftUJjvU33jLGg6SHyvs3eeqEsI7jZ6NxYfRypEEg==";
+        url = "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.1.tgz";
+        sha512 = "4wOae+5N2RZ+CZXd9ZKwkaDi55IxrSTOjHpxTvQQ4fomtOJmqVxbmICA9jE1jvnqNhpfgz8cnfFagG86wV/xLQ==";
       };
     };
     "@xmpp/base64-0.12.1" = {
@@ -10048,13 +10219,13 @@ let
         sha512 = "3SIr/jmyHDMkCzOtcH03YG9qTAJeE7auPg/V7e9tJrhiW329hNMhg8+VAO72Tp1AOi5bMhma09ACRS2Y9bMOKA==";
       };
     };
-    "@xstate/fsm-1.6.3" = {
+    "@xstate/fsm-1.6.4" = {
       name = "_at_xstate_slash_fsm";
       packageName = "@xstate/fsm";
-      version = "1.6.3";
+      version = "1.6.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@xstate/fsm/-/fsm-1.6.3.tgz";
-        sha512 = "Sf8o6JPbldmGx16J7WHgkkwo/R1ZvSK64nSA5i8Xh3W+UVH5MQJTWBxxaplNt8Qlw36SNJ+8Qry03GGrksWWKQ==";
+        url = "https://registry.npmjs.org/@xstate/fsm/-/fsm-1.6.4.tgz";
+        sha512 = "JvoozDB1ndz+byxXsQYW150gAJQIAKZt8MfU2a4dqGhhxfvHBKNj5e1rqb+adVCLtB+F/McyUBe4jRauFhTCTQ==";
       };
     };
     "@xtuc/ieee754-1.2.0" = {
@@ -10192,15 +10363,6 @@ let
         sha512 = "h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==";
       };
     };
-    "absolute-0.0.1" = {
-      name = "absolute";
-      packageName = "absolute";
-      version = "0.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/absolute/-/absolute-0.0.1.tgz";
-        sha1 = "c22822f87e1c939f579887504d9c109c4173829d";
-      };
-    };
     "abstract-extension-3.1.1" = {
       name = "abstract-extension";
       packageName = "abstract-extension";
@@ -10264,13 +10426,13 @@ let
         sha1 = "9a8eac8ff79866f3f9b4bb1443ca778f1598aeda";
       };
     };
-    "accepts-1.3.7" = {
+    "accepts-1.3.8" = {
       name = "accepts";
       packageName = "accepts";
-      version = "1.3.7";
+      version = "1.3.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz";
-        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+        url = "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz";
+        sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
       };
     };
     "ace.improved-0.2.1" = {
@@ -10507,13 +10669,13 @@ let
         sha1 = "6a7990437ca736d5e1288db92bd3266d5f5cb2aa";
       };
     };
-    "addons-linter-4.4.0" = {
+    "addons-linter-4.9.0" = {
       name = "addons-linter";
       packageName = "addons-linter";
-      version = "4.4.0";
+      version = "4.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-4.4.0.tgz";
-        sha512 = "2N8oo97y2w2MJX/bcvnSb5BG2s+0BOlOu/0Q06wp5bnyEwWbfKFOVX/CorivGkRteY0fbSUWvU55LXgIiLyH5w==";
+        url = "https://registry.npmjs.org/addons-linter/-/addons-linter-4.9.0.tgz";
+        sha512 = "dknaL2zU9faJHpObJSFhh7RKM7S2uUImQL0I/tIny862wp8u6O7EhFu1ktdFRLO3NirHOTdn0366EcRrbAt1yg==";
       };
     };
     "addons-moz-compare-1.2.0" = {
@@ -10525,13 +10687,13 @@ let
         sha512 = "COG8qk2/dubPqabfcoJW4E7pm2EQDI43iMrHnhlobvq/uRMEzx/PYJ1KaUZ97Vgg44R3QdRG5CvDsTRbMUHcDw==";
       };
     };
-    "addons-scanner-utils-6.1.0" = {
+    "addons-scanner-utils-6.3.0" = {
       name = "addons-scanner-utils";
       packageName = "addons-scanner-utils";
-      version = "6.1.0";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-6.1.0.tgz";
-        sha512 = "O9rObtOmnMI1qBmHH2RlV+H3vAJWm594bbxbFYEkYeqSUkXd0Ohzjwnv1af4GFDlrBK6wB8TS0+/2X/zB8+LnA==";
+        url = "https://registry.npmjs.org/addons-scanner-utils/-/addons-scanner-utils-6.3.0.tgz";
+        sha512 = "sD4U7TX/NFDUYVheydrcpHH9xG3E0eVBFDn1RuUkGpqRyay3SsOU75Pl2lWAbCmeE0Mh9inU1Fwl7Mm1VRWkZw==";
       };
     };
     "addr-to-ip-port-1.5.4" = {
@@ -10723,22 +10885,13 @@ let
         sha512 = "LqZ9wY+fx3UMiiPd741yB2pj3hhil+hQc8taf4o2QGRFpWgZ2V5C8HA165DY9sS3fJwsk7uT7ZlFEyC3Ig3lLg==";
       };
     };
-    "ajv-8.6.3" = {
+    "ajv-8.10.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "8.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.6.3.tgz";
-        sha512 = "SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==";
-      };
-    };
-    "ajv-8.8.2" = {
-      name = "ajv";
-      packageName = "ajv";
-      version = "8.8.2";
+      version = "8.10.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.8.2.tgz";
-        sha512 = "x9VuX+R/jcFj1DHo/fCp99esgGDWiHENrKxaCENuCxpoMCmAt/COCGVDwA7kleEpEzJjDnvh3yGoOuLu0Dtllw==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.10.0.tgz";
+        sha512 = "bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw==";
       };
     };
     "ajv-8.9.0" = {
@@ -11182,6 +11335,15 @@ let
         sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
       };
     };
+    "ansi-styles-5.2.0" = {
+      name = "ansi-styles";
+      packageName = "ansi-styles";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ansi-styles/-/ansi-styles-5.2.0.tgz";
+        sha512 = "Cxwpt2SfTzTtXcfOlzGEee8O+c+MmUgGrNiBcXnuWxuFJHe6a5Hz7qwhwe5OgaSYI0IJvkLqWX1ASG+cJOkEiA==";
+      };
+    };
     "ansi-styles-6.1.0" = {
       name = "ansi-styles";
       packageName = "ansi-styles";
@@ -11650,6 +11812,15 @@ let
         sha512 = "Ci/qENmwHnsYo9xKIcUJN5LeDKdJ6R1Z1j9V/J5wyq8nh/mYPEpIKJbBZXtZjG04HiK7zV/p6Vs9952MrMeUIw==";
       };
     };
+    "are-we-there-yet-3.0.0" = {
+      name = "are-we-there-yet";
+      packageName = "are-we-there-yet";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.0.tgz";
+        sha512 = "0GWpv50YSOcLXaN6/FAKY3vfRbllXWV2xvfA/oKJF8pzFhWXPV+yjhJXDBbjscDYowv7Yw1A3uigpzn5iEGTyw==";
+      };
+    };
     "arg-2.0.0" = {
       name = "arg";
       packageName = "arg";
@@ -12253,6 +12424,15 @@ let
         sha512 = "vyxPxP5arcAqN4F/ebHd/HhwnAiZtwhglvdmc7BR2f0ywbVNTOpSeyhLDbGXtE/y58hv1oC75TaNIXutnsOZsQ==";
       };
     };
+    "ascii-table-0.0.9" = {
+      name = "ascii-table";
+      packageName = "ascii-table";
+      version = "0.0.9";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ascii-table/-/ascii-table-0.0.9.tgz";
+        sha1 = "06a6604d6a55d4bf41a9a47d9872d7a78da31e73";
+      };
+    };
     "asciichart-1.5.25" = {
       name = "asciichart";
       packageName = "asciichart";
@@ -12406,15 +12586,6 @@ let
         sha512 = "H2izJAyT2xwew4TxShpmxe6f9R5hHgJQy1QloLiUC2yrJMtyraBWNJL7903rpeCY9keNUipORR/zIUC2XcYKng==";
       };
     };
-    "ast-types-0.13.3" = {
-      name = "ast-types";
-      packageName = "ast-types";
-      version = "0.13.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ast-types/-/ast-types-0.13.3.tgz";
-        sha512 = "XTZ7xGML849LkQP86sWdQzfhwbt3YwIO6MqbX9mUNYY98VKaaVZP7YNNm70IpwecbkkxmfC5IYAzOQ/2p29zRA==";
-      };
-    };
     "ast-types-0.13.4" = {
       name = "ast-types";
       packageName = "ast-types";
@@ -12568,13 +12739,13 @@ let
         sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     };
-    "async-append-only-log-3.1.2" = {
+    "async-append-only-log-3.1.4" = {
       name = "async-append-only-log";
       packageName = "async-append-only-log";
-      version = "3.1.2";
+      version = "3.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-append-only-log/-/async-append-only-log-3.1.2.tgz";
-        sha512 = "j0cRyJ7q7mOCoNa3eUJq7NDywTbZirGPdC8F11iEf5mw4YkL7v38wQCsA1wAZ+6oDYKjyjKruLCPVzFw7+3buw==";
+        url = "https://registry.npmjs.org/async-append-only-log/-/async-append-only-log-3.1.4.tgz";
+        sha512 = "mPh8K1iI2ysWCEXGFDnhFeRpkT4wl6mshO/KAzRpzU60oi2+RMGCVjTZ0hZAjIK5z+iDMj6NiITlt99qYmUScA==";
       };
     };
     "async-done-1.3.2" = {
@@ -12640,13 +12811,13 @@ let
         sha512 = "gpuo6xOyF4D5DE5WvyqZdPA3NGhiT6Qf07l7DCB0wwDEsLvDIbCr6j9S5aj5Ch96dLace5tXVzWBZkxU/c5ohw==";
       };
     };
-    "async-lock-1.3.0" = {
+    "async-lock-1.3.1" = {
       name = "async-lock";
       packageName = "async-lock";
-      version = "1.3.0";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/async-lock/-/async-lock-1.3.0.tgz";
-        sha512 = "8A7SkiisnEgME2zEedtDYPxUPzdv3x//E7n5IFktPAtMYSEAV7eNJF0rMwrVyUFj6d/8rgajLantbjcNRQYXIg==";
+        url = "https://registry.npmjs.org/async-lock/-/async-lock-1.3.1.tgz";
+        sha512 = "zK7xap9UnttfbE23JmcrNIyueAn6jWshihJqA33U/hEnKprF/lVGBDsBv/bqLm2YMMl1DnpHhUY044eA0t1TUw==";
       };
     };
     "async-mutex-0.1.4" = {
@@ -12856,15 +13027,6 @@ let
         sha1 = "ece7d92527ca37ea502f99e8f41fe44daf00dbce";
       };
     };
-    "autoprefixer-7.2.6" = {
-      name = "autoprefixer";
-      packageName = "autoprefixer";
-      version = "7.2.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/autoprefixer/-/autoprefixer-7.2.6.tgz";
-        sha512 = "Iq8TRIB+/9eQ8rbGhcP7ct5cYb/3qjNYAR2SnzLCEcwF6rvVOax8+9+fccgXk4bEhQGjOZd5TLhsksmAdsbGqQ==";
-      };
-    };
     "autoprefixer-9.8.8" = {
       name = "autoprefixer";
       packageName = "autoprefixer";
@@ -12910,13 +13072,13 @@ let
         sha1 = "00f35b2d27ac91b1f0d3ef2084c98cf1d1f0adc3";
       };
     };
-    "aws-sdk-2.1062.0" = {
+    "aws-sdk-2.1077.0" = {
       name = "aws-sdk";
       packageName = "aws-sdk";
-      version = "2.1062.0";
+      version = "2.1077.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1062.0.tgz";
-        sha512 = "QIU8jwi7Uqyvw2HjsXXXUZv3V/6TinUzLewrdl2EdvonqZCXhwMgnZx2F9I2x62IKH1RqnINwFWdoK+OTgcAjA==";
+        url = "https://registry.npmjs.org/aws-sdk/-/aws-sdk-2.1077.0.tgz";
+        sha512 = "orJvJROs8hJaQRfHsX7Zl5PxEgrD/uTXyqXz9Yu9Io5VVxzvnOty9oHmvEMSlgTIf1qd01gnev/vpvP1HgzKtw==";
       };
     };
     "aws-sdk-2.920.0" = {
@@ -12982,22 +13144,22 @@ let
         sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
       };
     };
-    "axios-0.22.0" = {
+    "axios-0.24.0" = {
       name = "axios";
       packageName = "axios";
-      version = "0.22.0";
+      version = "0.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.22.0.tgz";
-        sha512 = "Z0U3uhqQeg1oNcihswf4ZD57O3NrR1+ZXhxaROaWpDmsDTx7T2HNBV2ulBtie2hwJptu8UvgnJoK+BIqdzh/1w==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz";
+        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
       };
     };
-    "axios-0.24.0" = {
+    "axios-0.26.0" = {
       name = "axios";
       packageName = "axios";
-      version = "0.24.0";
+      version = "0.26.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz";
-        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
+        url = "https://registry.npmjs.org/axios/-/axios-0.26.0.tgz";
+        sha512 = "lKoGLMYtHvFrPVt3r+RBMp9nh34N0M8zEfCWqdWZx6phynIEhQqAdydpyBAAG211zlhX9Rgu08cOamy6XjE5Og==";
       };
     };
     "axios-cookiejar-support-0.5.1" = {
@@ -13018,13 +13180,13 @@ let
         sha512 = "4TVv2X7oNStT0vLaEfExmy3J4/CzfuXolEcQl/BRUmvGySqKStTG2O55/hUQ0kM7UJlZBLgniM0SBq4d/WkKow==";
       };
     };
-    "azure-devops-node-api-11.1.0" = {
+    "azure-devops-node-api-11.1.1" = {
       name = "azure-devops-node-api";
       packageName = "azure-devops-node-api";
-      version = "11.1.0";
+      version = "11.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.0.tgz";
-        sha512 = "6/2YZuf+lJzJLrjXNYEA5RXAkMCb8j/4VcHD0qJQRsgG/KsRMYo0HgDh0by1FGHyZkQWY5LmQyJqCwRVUB3Y7Q==";
+        url = "https://registry.npmjs.org/azure-devops-node-api/-/azure-devops-node-api-11.1.1.tgz";
+        sha512 = "XDG91XzLZ15reP12s3jFkKS8oiagSICjnLwxEYieme4+4h3ZveFOFRA4iYIG40RyHXsiI0mefFYYMFIJbMpWcg==";
       };
     };
     "b24.js-1.0.3" = {
@@ -13315,13 +13477,13 @@ let
         sha512 = "v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==";
       };
     };
-    "babel-plugin-polyfill-corejs3-0.5.1" = {
+    "babel-plugin-polyfill-corejs3-0.5.2" = {
       name = "babel-plugin-polyfill-corejs3";
       packageName = "babel-plugin-polyfill-corejs3";
-      version = "0.5.1";
+      version = "0.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.1.tgz";
-        sha512 = "TihqEe4sQcb/QcPJvxe94/9RZuLQuF1+To4WqQcRvc+3J3gLCPIPgDKzGLG6zmQLfH3nn25heRuDNkS2KR4I8A==";
+        url = "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz";
+        sha512 = "G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==";
       };
     };
     "babel-plugin-polyfill-regenerator-0.3.1" = {
@@ -13333,13 +13495,13 @@ let
         sha512 = "Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==";
       };
     };
-    "babel-plugin-styled-components-2.0.2" = {
+    "babel-plugin-styled-components-2.0.3" = {
       name = "babel-plugin-styled-components";
       packageName = "babel-plugin-styled-components";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.2.tgz";
-        sha512 = "7eG5NE8rChnNTDxa6LQfynwgHTVOYYaHJbUYSlOhk8QBXIQiMBKq4gyfHBBKPrxUcVBXVJL61ihduCpCQbuNbw==";
+        url = "https://registry.npmjs.org/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.3.tgz";
+        sha512 = "lMrl3GdPrTl9daQJ70eRCPM9fHlvQx6YJNM7RqojKGbRnvG2AL7qvURlZ3L0GzRGnGr19SjvBKWcnlZZkgQ8/Q==";
       };
     };
     "babel-plugin-syntax-flow-6.18.0" = {
@@ -14296,13 +14458,13 @@ let
         sha512 = "p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==";
       };
     };
-    "binet-0.3.6" = {
+    "binet-0.3.7" = {
       name = "binet";
       packageName = "binet";
-      version = "0.3.6";
+      version = "0.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/binet/-/binet-0.3.6.tgz";
-        sha512 = "6pm+Gc3uNiiJZEv0k8JDWqQlo9ki/o9UNAkLmr0EGm7hI5MboOJVIOlO1nw3YuDkLHWN78OPsaC4JhRkn2jMLw==";
+        url = "https://registry.npmjs.org/binet/-/binet-0.3.7.tgz";
+        sha512 = "GF+QD4ajs3GWabaVzso7Kn9aZEbwI0e54FKU2ID8bM/7rIk7BpSJytB1KS7SMpix+fWAi9MAGkOgSFljl0aaKg==";
       };
     };
     "bintrees-1.0.1" = {
@@ -14332,6 +14494,24 @@ let
         sha512 = "HpV5OMLLGTjSVblmrtYRfFFKuQB+GArM0+XP8HGWfJ5vxYBqo+DesvJwOdC2WJ3bCkZShGf0QIfoIpeomVzVdA==";
       };
     };
+    "bip39-3.0.2" = {
+      name = "bip39";
+      packageName = "bip39";
+      version = "3.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bip39/-/bip39-3.0.2.tgz";
+        sha512 = "J4E1r2N0tUylTKt07ibXvhpT2c5pyAFgvuA5q1H9uDy6dEGpjV8jmymh3MTYJDLCNbIVClSB9FbND49I6N24MQ==";
+      };
+    };
+    "bip39-light-1.0.7" = {
+      name = "bip39-light";
+      packageName = "bip39-light";
+      version = "1.0.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bip39-light/-/bip39-light-1.0.7.tgz";
+        sha512 = "WDTmLRQUsiioBdTs9BmSEmkJza+8xfJmptsNJjxnoq3EydSa/ZBXT6rm66KoT3PJIRYMnhSKNR7S9YL1l7R40Q==";
+      };
+    };
     "bip65-1.0.3" = {
       name = "bip65";
       packageName = "bip65";
@@ -14521,15 +14701,6 @@ let
         sha512 = "pvcNpa0UU69UT341rO6AYy4FVAIkUHuZXRIWbq+zHnsVcRzDDjIAhGuuYoi0d//cwIwtt4pkpKycWEfjdV+vww==";
       };
     };
-    "bl-2.2.1" = {
-      name = "bl";
-      packageName = "bl";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/bl/-/bl-2.2.1.tgz";
-        sha512 = "6Pesp1w0DEX1N550i/uGV/TqucVL4AM/pgThFSN/Qq9si1/DF9aIHs1BxD8V/QU0HoeHO6cQRTAuYnLPKq1e4g==";
-      };
-    };
     "bl-4.1.0" = {
       name = "bl";
       packageName = "bl";
@@ -14602,13 +14773,13 @@ let
         sha1 = "f962d687ec2c369570ae71af843256e6d0ca1129";
       };
     };
-    "blessed-contrib-4.10.1" = {
+    "blessed-contrib-4.11.0" = {
       name = "blessed-contrib";
       packageName = "blessed-contrib";
-      version = "4.10.1";
+      version = "4.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.10.1.tgz";
-        sha512 = "S3jE7riCbWnAK8OT+ta4Z8RX/X6nfISxzn0SDIMFYuY90qUwqx7w7e9fIsc2m2ODwma7dFcXNwGSjyayfKd1DQ==";
+        url = "https://registry.npmjs.org/blessed-contrib/-/blessed-contrib-4.11.0.tgz";
+        sha512 = "P00Xji3xPp53+FdU9f74WpvnOAn/SS0CKLy4vLAf5Ps7FGDOTY711ruJPZb3/7dpFuP+4i7f4a/ZTZdLlKG9WA==";
       };
     };
     "blgr-0.2.0" = {
@@ -14728,15 +14899,6 @@ let
         sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     };
-    "blueimp-md5-2.18.0" = {
-      name = "blueimp-md5";
-      packageName = "blueimp-md5";
-      version = "2.18.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/blueimp-md5/-/blueimp-md5-2.18.0.tgz";
-        sha512 = "vE52okJvzsVWhcgUHOv+69OG3Mdg151xyn41aVQN/5W5S+S43qZhxECtYLAEHMSFWX6Mv5IZrzj3T5+JqXfj5Q==";
-      };
-    };
     "blueimp-md5-2.19.0" = {
       name = "blueimp-md5";
       packageName = "blueimp-md5";
@@ -14881,6 +15043,15 @@ let
         sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
       };
     };
+    "body-parser-1.19.2" = {
+      name = "body-parser";
+      packageName = "body-parser";
+      version = "1.19.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.2.tgz";
+        sha512 = "SAAwOxgoCKMGs9uUAUFHygfLAyaniaoun6I8mFY9pRAJL9+Kec34aU+oIjDhTycub1jozEfEwx1W1IuOYxVSFw==";
+      };
+    };
     "bolt01-1.2.3" = {
       name = "bolt01";
       packageName = "bolt01";
@@ -14935,6 +15106,15 @@ let
         sha512 = "ON1CY0awM/VsOxcmCtz7WggxjGRH+G5rSEAdWp1UoU43BHiGw1T6eEt1t4gFvLi8eUSV0hB7vF1QOba65k/7FA==";
       };
     };
+    "bolt09-0.2.2" = {
+      name = "bolt09";
+      packageName = "bolt09";
+      version = "0.2.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bolt09/-/bolt09-0.2.2.tgz";
+        sha512 = "m533YWZ/R/p1buxEK/19v94Ay1vS1PJNwfP30BCVj6l96NGpOa9t40HYuMpoX+xFYwOx8kZs+GGTb9TbJund0w==";
+      };
+    };
     "bonjour-3.5.0" = {
       name = "bonjour";
       packageName = "bonjour";
@@ -14953,13 +15133,13 @@ let
         sha1 = "68dff5fbe60c51eb37725ea9e3ed310dcc1e776e";
       };
     };
-    "boolean-3.1.4" = {
+    "boolean-3.2.0" = {
       name = "boolean";
       packageName = "boolean";
-      version = "3.1.4";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/boolean/-/boolean-3.1.4.tgz";
-        sha512 = "3hx0kwU3uzG6ReQ3pnaFQPSktpBw6RHN3/ivDKEuU8g1XSfafowyvDnadjv1xp8IZqhtSukxlwv9bF6FhX8m0w==";
+        url = "https://registry.npmjs.org/boolean/-/boolean-3.2.0.tgz";
+        sha512 = "d0II/GO9uf9lfUHH2BQsjxzRJZBdsjgsBiW4BvhWk/3qoKwQFjIDVN19PfX8F2D/r9PCMTtLWjYVCFrpeYUzsw==";
       };
     };
     "boom-2.10.1" = {
@@ -14998,6 +15178,15 @@ let
         sha512 = "SiHJE2jEXjAL3TewN99wDl5Ehpm5DKA75oIyiY+2EMWWMPhIuZlQ/AvDzsLktNkwhylmAVLwiW+nuBPIU7kcoQ==";
       };
     };
+    "borsh-0.6.0" = {
+      name = "borsh";
+      packageName = "borsh";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/borsh/-/borsh-0.6.0.tgz";
+        sha512 = "sl5k89ViqsThXQpYa9XDtz1sBl3l1lI313cFUY1HKr+wvMILnb+58xpkqTNrYbelh99dY7K8usxoCusQmqix9Q==";
+      };
+    };
     "bottleneck-2.19.5" = {
       name = "bottleneck";
       packageName = "bottleneck";
@@ -15169,6 +15358,15 @@ let
         sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     };
+    "brace-expansion-2.0.1" = {
+      name = "brace-expansion";
+      packageName = "brace-expansion";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz";
+        sha512 = "XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==";
+      };
+    };
     "braces-1.8.5" = {
       name = "braces";
       packageName = "braces";
@@ -15421,15 +15619,6 @@ let
         sha512 = "Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==";
       };
     };
-    "browserslist-2.11.3" = {
-      name = "browserslist";
-      packageName = "browserslist";
-      version = "2.11.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-2.11.3.tgz";
-        sha512 = "yWu5cXT7Av6mVwzWc8lMsJMHWn4xyjSuGYi4IozbVTLUOEYPSagUB8kiMDUHA1fS3zjr8nkxkn9jdvug4BBRmA==";
-      };
-    };
     "browserslist-4.14.2" = {
       name = "browserslist";
       packageName = "browserslist";
@@ -15439,13 +15628,13 @@ let
         sha512 = "HI4lPveGKUR0x2StIz+2FXfDk9SfVMrxn6PLh1JeGUwcuoDkdKZebWiyLRJ68iIPDpMI4JLVDf7S7XzslgWOhw==";
       };
     };
-    "browserslist-4.19.1" = {
+    "browserslist-4.19.3" = {
       name = "browserslist";
       packageName = "browserslist";
-      version = "4.19.1";
+      version = "4.19.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.1.tgz";
-        sha512 = "u2tbbG5PdKRTUoctO3NBD8FQ5HdPh1ZXPHzp1rwaa5jTc+RV9/+RlWiAIKmjRPQF+xbGM9Kklj5bZQFa2s/38A==";
+        url = "https://registry.npmjs.org/browserslist/-/browserslist-4.19.3.tgz";
+        sha512 = "XK3X4xtKJ+Txj8G5c30B4gsm71s69lqXlkYui4s6EkKxuv49qjYlY6oVd+IFJ73d4YymtM3+djvvt/R/iJwwDg==";
       };
     };
     "brq-0.1.8" = {
@@ -15845,15 +16034,6 @@ let
         sha1 = "26e61ed1422fb70dd42e6e36729ed51d855fe8d9";
       };
     };
-    "buffermaker-1.2.1" = {
-      name = "buffermaker";
-      packageName = "buffermaker";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/buffermaker/-/buffermaker-1.2.1.tgz";
-        sha512 = "IdnyU2jDHU65U63JuVQNTHiWjPRH0CS3aYd/WPaEwyX84rFdukhOduAVb1jwUScmb5X0JWPw8NZOrhoLMiyAHQ==";
-      };
-    };
     "buffers-0.1.1" = {
       name = "buffers";
       packageName = "buffers";
@@ -16160,6 +16340,15 @@ let
         sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
       };
     };
+    "bytes-3.1.2" = {
+      name = "bytes";
+      packageName = "bytes";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz";
+        sha512 = "/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==";
+      };
+    };
     "bytesish-0.4.4" = {
       name = "bytesish";
       packageName = "bytesish";
@@ -16241,6 +16430,15 @@ let
         sha512 = "2/kNscPhpcxrOigMZzbiWF7dz8ilhb/nIHU3EyZiXWXpeq/au8qJ8VhdftMkty3n7Gj6HIGalQG8oiBNB3AJgA==";
       };
     };
+    "cacheable-lookup-6.0.4" = {
+      name = "cacheable-lookup";
+      packageName = "cacheable-lookup";
+      version = "6.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cacheable-lookup/-/cacheable-lookup-6.0.4.tgz";
+        sha512 = "mbcDEZCkv2CZF4G01kr8eBd/5agkt9oCqz75tJMSIsquvRZ2sL6Hi5zGVKi/0OSC9oO1GHfJ2AV0ZIOY9vye0A==";
+      };
+    };
     "cacheable-request-2.1.4" = {
       name = "cacheable-request";
       packageName = "cacheable-request";
@@ -16538,13 +16736,13 @@ let
         sha512 = "YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==";
       };
     };
-    "camelcase-keys-7.0.1" = {
+    "camelcase-keys-7.0.2" = {
       name = "camelcase-keys";
       packageName = "camelcase-keys";
-      version = "7.0.1";
+      version = "7.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.1.tgz";
-        sha512 = "P331lEls98pW8JLyodNWfzuz91BEDVA4VpW2/SwXnyv2K495tq1N777xzDbFgnEigfA7UIY0xa6PwR/H9jijjA==";
+        url = "https://registry.npmjs.org/camelcase-keys/-/camelcase-keys-7.0.2.tgz";
+        sha512 = "Rjs1H+A9R+Ig+4E/9oyB66UC5Mj9Xq3N//vcLf2WzgdTi/3gUu3Z9KoqmlrEG4VuuLK8wJHofxzdQXz/knhiYg==";
       };
     };
     "camelize-1.0.0" = {
@@ -16565,13 +16763,13 @@ let
         sha512 = "bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==";
       };
     };
-    "caniuse-lite-1.0.30001301" = {
+    "caniuse-lite-1.0.30001312" = {
       name = "caniuse-lite";
       packageName = "caniuse-lite";
-      version = "1.0.30001301";
+      version = "1.0.30001312";
       src = fetchurl {
-        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001301.tgz";
-        sha512 = "csfD/GpHMqgEL3V3uIgosvh+SVIQvCh43SNu9HRbP1lnxkKm1kjDG4f32PP571JplkLjfS+mg2p1gxR7MYrrIA==";
+        url = "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001312.tgz";
+        sha512 = "Wiz1Psk2MEK0pX3rUzWaunLTZzqS2JYZFzNKqAiJGiuxIjRPLgV6+VDPOg6lQOUxmDwhTlh198JsTTi8Hzw6aQ==";
       };
     };
     "canvas-2.9.0" = {
@@ -16592,6 +16790,15 @@ let
         sha512 = "4sq6iL5Q4VOXS3PL1BapiXIZItpxYyANVzsAKpTPS5oq4u3SKbGfUcbZh2gdLCQ3jWpG/y5wRkMlBBAJhXeiZA==";
       };
     };
+    "capability-0.2.5" = {
+      name = "capability";
+      packageName = "capability";
+      version = "0.2.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/capability/-/capability-0.2.5.tgz";
+        sha1 = "51ad87353f1936ffd77f2f21c74633a4dea88801";
+      };
+    };
     "capture-exit-2.0.0" = {
       name = "capture-exit";
       packageName = "capture-exit";
@@ -16718,31 +16925,31 @@ let
         sha512 = "eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==";
       };
     };
-    "cdk8s-1.4.10" = {
+    "cdk8s-1.5.22" = {
       name = "cdk8s";
       packageName = "cdk8s";
-      version = "1.4.10";
+      version = "1.5.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.4.10.tgz";
-        sha512 = "k0dLzCGg0i7MJFG6wr9mvaq3aaGS2nbwkOtwojiHiGj3wMNLPgZwrZ37s6ZRhquWdZqkOnAfgU7QgxRNmE6wgw==";
+        url = "https://registry.npmjs.org/cdk8s/-/cdk8s-1.5.22.tgz";
+        sha512 = "MVvvrRQPhQYK6EJ2RiyGZvGNihuqf//K03ga7R+otyTl8jDwEEoaOOfIXeemhXXqLixfqKOSUO1VJIALAt6/iQ==";
       };
     };
-    "cdk8s-plus-22-1.0.0-beta.96" = {
+    "cdk8s-plus-22-1.0.0-beta.123" = {
       name = "cdk8s-plus-22";
       packageName = "cdk8s-plus-22";
-      version = "1.0.0-beta.96";
+      version = "1.0.0-beta.123";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.96.tgz";
-        sha512 = "BM1ZtZrbITxki/AXXGAVXHbrxRsREnU/VddrtjOEaS04LLvjpoNuEXX8dANyBwTMdMU1gCP0ghwHCxTHaTTfwQ==";
+        url = "https://registry.npmjs.org/cdk8s-plus-22/-/cdk8s-plus-22-1.0.0-beta.123.tgz";
+        sha512 = "ZEtP1rIhgdHONpR3JyANQwoKT5TfcaFIo41C4SF/Cbd/TbRMQLPc2BT+/+oc+/i/6J1IYuqTiY6H7HLFci84IA==";
       };
     };
-    "cdktf-0.8.6" = {
+    "cdktf-0.9.1" = {
       name = "cdktf";
       packageName = "cdktf";
-      version = "0.8.6";
+      version = "0.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.8.6.tgz";
-        sha512 = "+zxInPEyPCb6zqPGMV0bOlVoiQ8rEtGEaRhB3BJF5guIa8X4gxAmFTAAYR//vW1Y4msxKOPYkF5RuN5LwSQLIg==";
+        url = "https://registry.npmjs.org/cdktf/-/cdktf-0.9.1.tgz";
+        sha512 = "GOt29nXb2eM7DoqnErp98m1j4crPcplhK+kjb5ACF2hHXSgK4VWNNIxoYLDZBB/FtPJRXDLWwuI7mugBi0vncQ==";
       };
     };
     "center-align-0.1.3" = {
@@ -16763,13 +16970,13 @@ let
         sha512 = "/IOxdWWNa7nRabfe7+oF+jVkGjlr2xUL4J8l/OvzZhj+c9RpMqoo3Dq+5nU1j/BflRV4BKnaQ4+4oH1yBpQG1Q==";
       };
     };
-    "chai-4.3.4" = {
+    "chai-4.3.6" = {
       name = "chai";
       packageName = "chai";
-      version = "4.3.4";
+      version = "4.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chai/-/chai-4.3.4.tgz";
-        sha512 = "yS5H68VYOCtN1cjfwumDSuzn/9c+yza4f3reKXlE5rUg7SFcCEy90gJvydNgOYtblyf4Zi6jIWRnXOgErta0KA==";
+        url = "https://registry.npmjs.org/chai/-/chai-4.3.6.tgz";
+        sha512 = "bbcp3YfHCUzMOvKqsztczerVgBKSsEijCySNlHHbX3VG1nskvqjz5Rfso1gGwD6w6oOV3eI60pKuMOV5MV7p3Q==";
       };
     };
     "chai-as-promised-7.1.1" = {
@@ -17042,13 +17249,13 @@ let
         sha512 = "+2jlOobSk52c1VU6fzkh3UwqHMdSlgH1xFv9FKMqHiNCpXsGPQa/+81AFa+i3jZ253Mq9aAycPwDjnn1XbRNNw==";
       };
     };
-    "chart.js-3.7.0" = {
+    "chart.js-3.7.1" = {
       name = "chart.js";
       packageName = "chart.js";
-      version = "3.7.0";
+      version = "3.7.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chart.js/-/chart.js-3.7.0.tgz";
-        sha512 = "31gVuqqKp3lDIFmzpKIrBeum4OpZsQjSIAqlOpgjosHDJZlULtvwLEZKtEhIAZc7JMPaHlYMys40Qy9Mf+1AAg==";
+        url = "https://registry.npmjs.org/chart.js/-/chart.js-3.7.1.tgz";
+        sha512 = "8knRegQLFnPQAheZV8MjxIXc5gQEfDFD897BJgv/klO/vtIyFFmgMXrNfgrXpbTr/XbTturxRgxIXx/Y+ASJBA==";
       };
     };
     "chartjs-color-2.4.1" = {
@@ -17249,15 +17456,6 @@ let
         sha512 = "9+s+Od+W0VJJzawDma/gvBNQqkTiqYTWLuZoyAsivsI4AaWTCzHG06/TMjsf1cYe9Cb97UCEhjz7HvnPk2p/tw==";
       };
     };
-    "chokidar-3.5.2" = {
-      name = "chokidar";
-      packageName = "chokidar";
-      version = "3.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz";
-        sha512 = "ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==";
-      };
-    };
     "chokidar-3.5.3" = {
       name = "chokidar";
       packageName = "chokidar";
@@ -17294,13 +17492,13 @@ let
         sha512 = "bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==";
       };
     };
-    "chroma-js-2.1.2" = {
+    "chroma-js-2.4.2" = {
       name = "chroma-js";
       packageName = "chroma-js";
-      version = "2.1.2";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.1.2.tgz";
-        sha512 = "ri/ouYDWuxfus3UcaMxC1Tfp3IE9K5iQzxc2hSxbBRVNQFut1UuGAsZmiAf2mOUubzGJwgMSv9lHg+XqLaz1QQ==";
+        url = "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz";
+        sha512 = "U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A==";
       };
     };
     "chrome-dgram-3.0.6" = {
@@ -17555,13 +17753,13 @@ let
         sha512 = "EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==";
       };
     };
-    "clean-css-5.2.2" = {
+    "clean-css-5.2.4" = {
       name = "clean-css";
       packageName = "clean-css";
-      version = "5.2.2";
+      version = "5.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.2.2.tgz";
-        sha512 = "/eR8ru5zyxKzpBLv9YZvMXgTSSQn7AdkMItMYynsFgGwTveCRVam9IUPFloE85B4vAIj05IuKmmEoV7/AQjT0w==";
+        url = "https://registry.npmjs.org/clean-css/-/clean-css-5.2.4.tgz";
+        sha512 = "nKseG8wCzEuji/4yrgM/5cthL9oTDc5UOQyFMvW/Q53oP6gLH690o1NbuTh6Y18nujr7BxlsFuS7gXLnLzKJGg==";
       };
     };
     "clean-git-ref-2.0.1" = {
@@ -18176,15 +18374,6 @@ let
         sha512 = "A5C0Cyf2H8sKsHqX0tvIWRXw5/PK++3Dc0lDbsugr90nOECLLuSPahVQBG8pgmgiXgm/TzBWMqI2rWdZwHduAw==";
       };
     };
-    "cmd-shim-3.0.3" = {
-      name = "cmd-shim";
-      packageName = "cmd-shim";
-      version = "3.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cmd-shim/-/cmd-shim-3.0.3.tgz";
-        sha512 = "DtGg+0xiFhQIntSBRzL2fRQBnmtAVwXIDo4Qq46HPpObYquxMaZS4sb82U9nH91qJrlosC1wa9gwr0QyL/HypA==";
-      };
-    };
     "cmd-shim-4.1.0" = {
       name = "cmd-shim";
       packageName = "cmd-shim";
@@ -18347,13 +18536,13 @@ let
         sha512 = "3WQV/Fpa77nvzjUlc+0u53uIroJyyMB2Qwl++aXpAiDIsrsiAQq4uCURwdRBRX+eLkOTIAmT0L4qna3T7+2pUg==";
       };
     };
-    "codemaker-1.52.1" = {
+    "codemaker-1.54.0" = {
       name = "codemaker";
       packageName = "codemaker";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.52.1.tgz";
-        sha512 = "yCEUas8OlyuAu3NZ9mKopBlEnwudUrxUokSjQkw3Zk4hYkgtYJEtu1ZXuPlXtTKQYCqTPEPsUiHayTeC1qZjUA==";
+        url = "https://registry.npmjs.org/codemaker/-/codemaker-1.54.0.tgz";
+        sha512 = "83iPWGyIa089xWAomeTOmBVqgTa0p3k5KGav4kIVZzTLXqh5JiPCjpJr89kuts4O9vLSuvkCBCl8n0MVYP6nlQ==";
       };
     };
     "codepage-1.4.0" = {
@@ -18518,15 +18707,6 @@ let
         sha512 = "hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==";
       };
     };
-    "colornames-1.1.1" = {
-      name = "colornames";
-      packageName = "colornames";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colornames/-/colornames-1.1.1.tgz";
-        sha1 = "f8889030685c7c4ff9e2a559f5077eb76a816f96";
-      };
-    };
     "colors-0.6.2" = {
       name = "colors";
       packageName = "colors";
@@ -18554,15 +18734,6 @@ let
         sha1 = "168a4701756b6a7f51a12ce0c97bfa28c084ed63";
       };
     };
-    "colors-1.3.3" = {
-      name = "colors";
-      packageName = "colors";
-      version = "1.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/colors/-/colors-1.3.3.tgz";
-        sha512 = "mmGt/1pZqYRjMxB1axhTo16/snVZ5krrKkcmMeVKxzECMMXoCgnvTPp10QgHfcbQZw8Dq2jMNG6je4JlWU0gWg==";
-      };
-    };
     "colors-1.4.0" = {
       name = "colors";
       packageName = "colors";
@@ -18599,6 +18770,15 @@ let
         sha1 = "4737ddf1c7b69a8a7c340570782e947eec8e78bb";
       };
     };
+    "columnify-1.6.0" = {
+      name = "columnify";
+      packageName = "columnify";
+      version = "1.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/columnify/-/columnify-1.6.0.tgz";
+        sha512 = "lomjuFZKfM6MSAnV9aCZC9sc0qGbmZdfygNv+nCpqVkSKdCxCklLtd16O0EILGkImHw9ZpHkAnHaB+8Zxq5W6Q==";
+      };
+    };
     "combine-errors-3.0.3" = {
       name = "combine-errors";
       packageName = "combine-errors";
@@ -18689,15 +18869,6 @@ let
         sha1 = "fa68a14f6a945d54dbbe50d8cdb3320e9e3b1a06";
       };
     };
-    "commander-1.0.0" = {
-      name = "commander";
-      packageName = "commander";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-1.0.0.tgz";
-        sha1 = "5e6a88e7070ff5908836ead19169548c30f90bcd";
-      };
-    };
     "commander-1.3.2" = {
       name = "commander";
       packageName = "commander";
@@ -18860,22 +19031,22 @@ let
         sha512 = "QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==";
       };
     };
-    "commander-8.0.0" = {
+    "commander-8.3.0" = {
       name = "commander";
       packageName = "commander";
-      version = "8.0.0";
+      version = "8.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-8.0.0.tgz";
-        sha512 = "Xvf85aAtu6v22+E5hfVoLHqyul/jyxh91zvqk/ioJTQuJR7Z78n7H558vMPKanPSRgIEeZemT92I2g9Y8LPbSQ==";
+        url = "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz";
+        sha512 = "OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==";
       };
     };
-    "commander-8.3.0" = {
+    "commander-9.0.0" = {
       name = "commander";
       packageName = "commander";
-      version = "8.3.0";
+      version = "9.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz";
-        sha512 = "OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==";
+        url = "https://registry.npmjs.org/commander/-/commander-9.0.0.tgz";
+        sha512 = "JJfP2saEKbQqvW+FI93OYUB4ByV5cizMpFMiiJI8xDbBvQvSkIk0VvQdn1CZ8mqAO8Loq2h0gYTYtDFUZUeERw==";
       };
     };
     "commandpost-1.4.0" = {
@@ -18887,13 +19058,13 @@ let
         sha512 = "aE2Y4MTFJ870NuB/+2z1cXBhSBBzRydVVjzhFC4gtenEhpnj15yu0qptWGJsO9YGrcPZ3ezX8AWb1VA391MKpQ==";
       };
     };
-    "comment-json-4.1.1" = {
+    "comment-json-4.2.2" = {
       name = "comment-json";
       packageName = "comment-json";
-      version = "4.1.1";
+      version = "4.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/comment-json/-/comment-json-4.1.1.tgz";
-        sha512 = "v8gmtPvxhBlhdRBLwdHSjGy9BgA23t9H1FctdQKyUrErPjSrJcdDMqBq9B4Irtm7w3TNYLQJNH6ARKnpyag1sA==";
+        url = "https://registry.npmjs.org/comment-json/-/comment-json-4.2.2.tgz";
+        sha512 = "H8T+kl3nZesZu41zO2oNXIJWojNeK3mHxCLrsBNu6feksBXsgb+PtYz5daP5P86A0F3sz3840KVYehr04enISQ==";
       };
     };
     "commist-1.1.0" = {
@@ -19337,6 +19508,15 @@ let
         sha1 = "b269b2bb82ddb1ac3db5099c0fb582aba99fb37a";
       };
     };
+    "connect-redis-4.0.3" = {
+      name = "connect-redis";
+      packageName = "connect-redis";
+      version = "4.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/connect-redis/-/connect-redis-4.0.3.tgz";
+        sha512 = "Php0P0ShNfilW6f2d/2v7Q0VAiFeBYsg0bIgu8ST3x26CcQ1JtzV6vxPLUwK0uiq10hQSMR+HzSNhWbcvx6nLg==";
+      };
+    };
     "console-browserify-1.1.0" = {
       name = "console-browserify";
       packageName = "console-browserify";
@@ -19400,22 +19580,22 @@ let
         sha1 = "c20b96d8c617748aaf1c16021760cd27fcb8cb75";
       };
     };
-    "constructs-10.0.42" = {
+    "constructs-10.0.68" = {
       name = "constructs";
       packageName = "constructs";
-      version = "10.0.42";
+      version = "10.0.68";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.42.tgz";
-        sha512 = "NC/OGRj9a+TCBAuJP6jV99CFMtKEhyRmfMmyKX2WDdbedmmjKk0C2TXgaqGUqsj9PbS0guGP8B4cMIRzmf/7Xg==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-10.0.68.tgz";
+        sha512 = "UoHYvlQDEXpSKHDJ5n5e2kcJwojswF0ASvuSyQDesziZN0QjSZBViylRknK1AJuWCelC9sad/ghk4E4a+D8axw==";
       };
     };
-    "constructs-3.3.197" = {
+    "constructs-3.3.223" = {
       name = "constructs";
       packageName = "constructs";
-      version = "3.3.197";
+      version = "3.3.223";
       src = fetchurl {
-        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.197.tgz";
-        sha512 = "s+sDpPt7JYyUixb6f89UIGfUp8cfSj9mJTvsbE1Kjc/ALZxpgg0yYwlV1UBoVVoKH0kzpX8S5EdbWkw1uLY7yw==";
+        url = "https://registry.npmjs.org/constructs/-/constructs-3.3.223.tgz";
+        sha512 = "WCCR/my4MohLT/OQWioU+0fOzXnMZMD5PHsxT4tnB3iKluGVJynDFCuQ7uNAfLs3rwSx09BIeJHc5B7ZUTVbbQ==";
       };
     };
     "consume-http-header-1.0.0" = {
@@ -19806,6 +19986,15 @@ let
         sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
       };
     };
+    "cookie-0.4.2" = {
+      name = "cookie";
+      packageName = "cookie";
+      version = "0.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz";
+        sha512 = "aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==";
+      };
+    };
     "cookie-parser-1.4.6" = {
       name = "cookie-parser";
       packageName = "cookie-parser";
@@ -19869,13 +20058,13 @@ let
         sha512 = "8aPsApQfebXnuI+537McwYsDtjVxGm8gTIzQI3FDW6t5t/DAhERxtnbEPN/8RX+uZthoz4eCOgloXaE5cYyNow==";
       };
     };
-    "copy-anything-2.0.3" = {
+    "copy-anything-2.0.6" = {
       name = "copy-anything";
       packageName = "copy-anything";
-      version = "2.0.3";
+      version = "2.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.3.tgz";
-        sha512 = "GK6QUtisv4fNS+XcI7shX0Gx9ORg7QqIznyfho79JTnX1XhLiyZHfftvGiziqzRiEi/Bjhgpi+D2o7HxJFPnDQ==";
+        url = "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz";
+        sha512 = "1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==";
       };
     };
     "copy-concurrently-1.0.5" = {
@@ -19977,40 +20166,40 @@ let
         sha512 = "Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==";
       };
     };
-    "core-js-3.18.0" = {
+    "core-js-3.21.0" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.18.0";
+      version = "3.21.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.18.0.tgz";
-        sha512 = "WJeQqq6jOYgVgg4NrXKL0KLQhi0CT4ZOCvFL+3CQ5o7I6J8HkT5wd53EadMfqTDp1so/MT1J+w2ujhWcCJtN7w==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.21.0.tgz";
+        sha512 = "YUdI3fFu4TF/2WykQ2xzSiTQdldLB4KVuL9WeAy5XONZYt5Cun/fpQvctoKbCgvPhmzADeesTk/j2Rdx77AcKQ==";
       };
     };
-    "core-js-3.20.3" = {
+    "core-js-3.21.1" = {
       name = "core-js";
       packageName = "core-js";
-      version = "3.20.3";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js/-/core-js-3.20.3.tgz";
-        sha512 = "vVl8j8ph6tRS3B8qir40H7yw7voy17xL0piAjlbBUsH7WIfzoedL/ZOr1OV9FyZQLWXsayOJyV4tnRyXR85/ag==";
+        url = "https://registry.npmjs.org/core-js/-/core-js-3.21.1.tgz";
+        sha512 = "FRq5b/VMrWlrmCzwRrpDYNxyHP9BcAZC+xHJaqTgIE5091ZV1NTmyh0sGOg5XqpnHvR0svdy0sv1gWA1zmhxig==";
       };
     };
-    "core-js-compat-3.20.3" = {
+    "core-js-compat-3.21.1" = {
       name = "core-js-compat";
       packageName = "core-js-compat";
-      version = "3.20.3";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.20.3.tgz";
-        sha512 = "c8M5h0IkNZ+I92QhIpuSijOxGAcj3lgpsWdkCqmUTZNwidujF4r3pi6x1DCN+Vcs5qTS2XWWMfWSuCqyupX8gw==";
+        url = "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.21.1.tgz";
+        sha512 = "gbgX5AUvMb8gwxC7FLVWYT7Kkgu/y7+h/h1X43yJkNqhlK2fuYyQimqvKGNZFAY6CKii/GFKJ2cp/1/42TN36g==";
       };
     };
-    "core-js-pure-3.20.3" = {
+    "core-js-pure-3.21.1" = {
       name = "core-js-pure";
       packageName = "core-js-pure";
-      version = "3.20.3";
+      version = "3.21.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.20.3.tgz";
-        sha512 = "Q2H6tQ5MtPtcC7f3HxJ48i4Q7T9ybPKgvWyuH7JXIoNa2pm0KuBnycsET/qw1SLLZYfbsbrZQNMeIOClb+6WIA==";
+        url = "https://registry.npmjs.org/core-js-pure/-/core-js-pure-3.21.1.tgz";
+        sha512 = "12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ==";
       };
     };
     "core-util-is-1.0.2" = {
@@ -20076,15 +20265,6 @@ let
         sha1 = "11a45bc47ab30c54d00bb869ea1802fbcd9a09d0";
       };
     };
-    "cosmiconfig-3.1.0" = {
-      name = "cosmiconfig";
-      packageName = "cosmiconfig";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-3.1.0.tgz";
-        sha512 = "zedsBhLSbPBms+kE7AH4vHg6JsKDz6epSv2/+5XHs8ILHlgDciSJfSWf8sX9aQ52Jb7KI7VswUTsLpR/G0cr2Q==";
-      };
-    };
     "cosmiconfig-5.2.1" = {
       name = "cosmiconfig";
       packageName = "cosmiconfig";
@@ -20130,13 +20310,13 @@ let
         sha512 = "H/2gurFWVi7xXvCyvsWRLCMekl4tITJcX0QEsDMpzxtuxDyM59xLatYNg4s/k9AA/HdtCYfj2su8mgA0GSDLDA==";
       };
     };
-    "cosmiconfig-typescript-loader-1.0.3" = {
+    "cosmiconfig-typescript-loader-1.0.5" = {
       name = "cosmiconfig-typescript-loader";
       packageName = "cosmiconfig-typescript-loader";
-      version = "1.0.3";
+      version = "1.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.3.tgz";
-        sha512 = "ARo21VjxdacJUcHxgVMEYNIoVPYiuKOEwWBIYej4M22+pEbe3LzKgmht2UPM+0u7/T/KnZf2r/5IzHv2Nwz+/w==";
+        url = "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-1.0.5.tgz";
+        sha512 = "FL/YR1nb8hyN0bAcP3MBaIoZravfZtVsN/RuPnoo6UVjqIrDxSNIpXHCGgJe0ZWy5yImpyD6jq5wCJ5f1nUv8g==";
       };
     };
     "couch-login-0.1.20" = {
@@ -20220,13 +20400,13 @@ let
         sha512 = "iX3mfgcTMIq3ZKLIsVFAbv7+Mc10kxabAGQb8HvjA1o3T1PIYprbakQ65d3I+2HGHt6nSKkM9PYjgoJO2KcFBQ==";
       };
     };
-    "crc-32-1.2.0" = {
+    "crc-32-1.2.1" = {
       name = "crc-32";
       packageName = "crc-32";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.0.tgz";
-        sha512 = "1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==";
+        url = "https://registry.npmjs.org/crc-32/-/crc-32-1.2.1.tgz";
+        sha512 = "Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==";
       };
     };
     "crc32-stream-3.0.1" = {
@@ -20265,13 +20445,13 @@ let
         sha1 = "06be7abef947a3f14a30fd610671d401bca8b7b6";
       };
     };
-    "create-gatsby-2.5.1" = {
+    "create-gatsby-2.7.0" = {
       name = "create-gatsby";
       packageName = "create-gatsby";
-      version = "2.5.1";
+      version = "2.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.5.1.tgz";
-        sha512 = "pI5zvUAtHPREzKQpYU4HcpnT/Q9F+pgY99xs8HT49ZphG7qy+g02Ec/7jCNHDxlre7u+7a6TXmDF9FYr4T7BYw==";
+        url = "https://registry.npmjs.org/create-gatsby/-/create-gatsby-2.7.0.tgz";
+        sha512 = "Le7r71ycNiPLq6RrOKXeONsotC57viwuajFuVfhAzXAgUmJSraHSeHT8S4Ydoa3nML1SyJiZaPB4CLC+Ju3gPQ==";
       };
     };
     "create-graphback-1.0.1" = {
@@ -20328,13 +20508,22 @@ let
         sha512 = "fVvg1YYSogo3TlU1WFeTt937nhGQlf5KtB6M2HyDa/U02dbeMBE2AY9PcPlMufXNQoM/UCO28y26EmuApM7ZmA==";
       };
     };
-    "cron-1.8.2" = {
-      name = "cron";
-      packageName = "cron";
-      version = "1.8.2";
+    "cron-parser-2.18.0" = {
+      name = "cron-parser";
+      packageName = "cron-parser";
+      version = "2.18.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/cron-parser/-/cron-parser-2.18.0.tgz";
+        sha512 = "s4odpheTyydAbTBQepsqd2rNWGa2iV3cyo8g7zbI2QQYGLVsfbhmwukayS1XHppe02Oy1fg7mg6xoaraVJeEcg==";
+      };
+    };
+    "croner-4.1.97" = {
+      name = "croner";
+      packageName = "croner";
+      version = "4.1.97";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cron/-/cron-1.8.2.tgz";
-        sha512 = "Gk2c4y6xKEO8FSAUTklqtfSr7oTq0CiPQeLBG5Fl0qoXpZyMcj1SG59YL+hqq04bu6/IuEA7lMkYDAplQNKkyg==";
+        url = "https://registry.npmjs.org/croner/-/croner-4.1.97.tgz";
+        sha512 = "/f6gpQuxDaqXu+1kwQYSckUglPaOrHdbIlBAu0YuW8/Cdb45XwXYNUBXg3r/9Mo6n540Kn/smKcZWko5x99KrQ==";
       };
     };
     "cronosjs-1.7.1" = {
@@ -20355,15 +20544,6 @@ let
         sha512 = "1yHhtcfAd1r4nwQgknowuUNfIT9E8dOMMspC36g45dN+iD1blloi7xp8X/xAIDnjHWyt1uQ8PHk2fkNaym7soQ==";
       };
     };
-    "cross-env-6.0.3" = {
-      name = "cross-env";
-      packageName = "cross-env";
-      version = "6.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/cross-env/-/cross-env-6.0.3.tgz";
-        sha512 = "+KqxF6LCvfhWvADcDPqo64yVIB31gv/jQulX2NGzKS/g3GEVz6/pt4wjHFtFWsHMddebWD/sDthJemzM4MaAag==";
-      };
-    };
     "cross-env-7.0.0" = {
       name = "cross-env";
       packageName = "cross-env";
@@ -20454,13 +20634,13 @@ let
         sha512 = "mkLtJJcYbDCxEG7Js6eUnUNndWjyUZwJ3H7bErmmtOYU/Zb99DyUkpamuIZE0b3bhmJyZ7D90uS6f+CGxRRjOw==";
       };
     };
-    "cross-undici-fetch-0.1.16" = {
+    "cross-undici-fetch-0.1.24" = {
       name = "cross-undici-fetch";
       packageName = "cross-undici-fetch";
-      version = "0.1.16";
+      version = "0.1.24";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.1.16.tgz";
-        sha512 = "VoL+4GLbq2R7cfpM3wc3RClV6boUAjbpZ485YHsIeBnWYUi4osdDZhh1ohk9+BjrLvAvwmvQwZC5rTEIVQ2eVQ==";
+        url = "https://registry.npmjs.org/cross-undici-fetch/-/cross-undici-fetch-0.1.24.tgz";
+        sha512 = "83KDV6+8pYCn51zSM2cFAwqQ5UQtDaPm89RkUwHxEMDq/cdqYgqo1q+2eM/Xhmd8HeAsGTtecsC4crrQkCn0zg==";
       };
     };
     "crossroads-0.12.2" = {
@@ -20535,49 +20715,49 @@ let
         sha512 = "v1plID3y9r/lPhviJ1wrXpLeyUIGAZ2SHNYTEapm7/8A9nLPoyvVp3RK/EPFqn5kEznyWgYZNsRtYYIWbuG8KA==";
       };
     };
-    "cspell-gitignore-5.16.0" = {
+    "cspell-gitignore-5.18.5" = {
       name = "cspell-gitignore";
       packageName = "cspell-gitignore";
-      version = "5.16.0";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.16.0.tgz";
-        sha512 = "G7yN0R2EqFSNpn3bQ4SGOmydaaYq5BHSiPqsX3vJSJn0wErZz3m/kpKcXrtLPw5/tAM0SfZWhAp1K3MEjrb6xQ==";
+        url = "https://registry.npmjs.org/cspell-gitignore/-/cspell-gitignore-5.18.5.tgz";
+        sha512 = "YKYFYMswkia0Uc5CMOapLwo8OKRfP+QbqyODTJ7IJACT7KCOSEj7A3B250LR2mWyvThyIUB+2c7+6ePdFCnh2g==";
       };
     };
-    "cspell-glob-5.16.0" = {
+    "cspell-glob-5.18.5" = {
       name = "cspell-glob";
       packageName = "cspell-glob";
-      version = "5.16.0";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.16.0.tgz";
-        sha512 = "u1cNhmNi5VC6QZ6W+FQEAFIowLdU+/fuh6811Hb//MfTNpe2HDbVrjredQrtaETpyImjy4VG/aA7iSWGGuUAcw==";
+        url = "https://registry.npmjs.org/cspell-glob/-/cspell-glob-5.18.5.tgz";
+        sha512 = "Tr/wMHpJ5zvD4qV4d5is1WJ6OQZSQSjiWoLCQ8pslpltGJhjYXPh3W9A8n4Ghr4AUUJNLKEQyCX+Z1kcA3hgOQ==";
       };
     };
-    "cspell-io-5.16.0" = {
+    "cspell-io-5.18.5" = {
       name = "cspell-io";
       packageName = "cspell-io";
-      version = "5.16.0";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.16.0.tgz";
-        sha512 = "nrRbNewf8PMEq8W7D1D0jEwxwJ1dH588EPPu9Q+iT+DItvcBL+mQmGlz8kS7KBh579ioW2vecWUekQ3HSmAgGg==";
+        url = "https://registry.npmjs.org/cspell-io/-/cspell-io-5.18.5.tgz";
+        sha512 = "Ar2shXmKtLP935Linv+162xY6SNqIrwLI3rBRXs0/KnD/YdcLJQB0iBgFqvfvg7TcPg+EZOf9Oc6EvTLg2eprg==";
       };
     };
-    "cspell-lib-5.16.0" = {
+    "cspell-lib-5.18.5" = {
       name = "cspell-lib";
       packageName = "cspell-lib";
-      version = "5.16.0";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.16.0.tgz";
-        sha512 = "IpTPseI4SounQEqfWupOLgEXPcbucWJdbCYkxKXWfl15xfWRo2seYV0RECkJ8pSZKqsCXo6x08i7CrKjvV5N5Q==";
+        url = "https://registry.npmjs.org/cspell-lib/-/cspell-lib-5.18.5.tgz";
+        sha512 = "yrUk3MbRXy/YGNIcLfURDnw4fRiXcbHo9K5B6IhwYfHKc3VM6QgvEQ0ce44uzZ+AEZzWuQ++GbhUih+bSJ87DQ==";
       };
     };
-    "cspell-trie-lib-5.16.0" = {
+    "cspell-trie-lib-5.18.5" = {
       name = "cspell-trie-lib";
       packageName = "cspell-trie-lib";
-      version = "5.16.0";
+      version = "5.18.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.16.0.tgz";
-        sha512 = "Dpxr0SManHi4D3sAJI1SA14lwTGdmubv88yrRuFd7TU5ihG39BIMxfoAoSRWkqXUEub5QLhAKhftOBUJIm4cIw==";
+        url = "https://registry.npmjs.org/cspell-trie-lib/-/cspell-trie-lib-5.18.5.tgz";
+        sha512 = "FifImmkcArPYiE8fLXcbB/yS15QyWwvHw/gpCPEkcuJMJH2gxC+HOE909JnBsyPyjCaX5gHWiIf7ePjdXlWsDg==";
       };
     };
     "csrf-3.1.0" = {
@@ -20643,6 +20823,15 @@ let
         sha512 = "BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==";
       };
     };
+    "css-functions-list-3.0.1" = {
+      name = "css-functions-list";
+      packageName = "css-functions-list";
+      version = "3.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.0.1.tgz";
+        sha512 = "PriDuifDt4u4rkDgnqRCLnjfMatufLmWNfQnGCq34xZwpY3oabwhB9SqRBmuvWUgndbemCFlKqg+nO7C2q0SBw==";
+      };
+    };
     "css-loader-2.1.1" = {
       name = "css-loader";
       packageName = "css-loader";
@@ -21021,15 +21210,6 @@ let
         sha512 = "5AIdl8l6n3iYQYxan5djB5eKDa+vBnhfWZtRpJTcrETWfVLYN0WSj3L9RwvgYt+psoO77juUr8TG8qpfGZifVQ==";
       };
     };
-    "csv-parser-1.12.1" = {
-      name = "csv-parser";
-      packageName = "csv-parser";
-      version = "1.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/csv-parser/-/csv-parser-1.12.1.tgz";
-        sha512 = "r45M92nLnGP246ot0Yo5RvbiiMF5Bw/OTIdWJ3OQ4Vbv4hpOeoXVIPxdSmUw+fPJlQOseY+iigJyLSfPMIrddQ==";
-      };
-    };
     "csv-stream-0.2.0" = {
       name = "csv-stream";
       packageName = "csv-stream";
@@ -21561,13 +21741,13 @@ let
         sha512 = "1JE+filVbkEX2bT25dJdQ05iA4QHvUwev6o0nIQHOSrNlHCAKfVss/U10vEM3pA4j5v7uQoFdQ4KLbx9BlEbWA==";
       };
     };
-    "d3-graphviz-4.0.0" = {
+    "d3-graphviz-4.1.0" = {
       name = "d3-graphviz";
       packageName = "d3-graphviz";
-      version = "4.0.0";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/d3-graphviz/-/d3-graphviz-4.0.0.tgz";
-        sha512 = "j+fRjPiLnMa3C2QLIWld13vJQzkd9uBhYXZJQSgKI7z2uTvCdMcrvvxJYg7vGdzqceMImKq5Is/oX8kDw+1xng==";
+        url = "https://registry.npmjs.org/d3-graphviz/-/d3-graphviz-4.1.0.tgz";
+        sha512 = "RtCGnEROcte5npTfjhiNR3kSbwhBl8LA6NNq0oFRXEIFB9N4xHQgGjZWfAHVsN9NQVctEEkRQ4H0GGdqfStlZQ==";
       };
     };
     "d3-hierarchy-1.1.9" = {
@@ -22128,6 +22308,15 @@ let
         sha512 = "WboRycPNsVw3B3TL559F7kuBUM4d8CgMEvk6xEJlOp7OBPjt6G7z8WMWlD2rOFZLk6OYfFIUGsCOWzcQH9K2og==";
       };
     };
+    "data-uri-to-buffer-4.0.0" = {
+      name = "data-uri-to-buffer";
+      packageName = "data-uri-to-buffer";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.0.tgz";
+        sha512 = "Vr3mLBA8qWmcuschSLAOogKgQ/Jwxulv3RNE4FXnYWRGujzrRWQI4m12fQqRkwX06C0KanhLr4hK+GydchZsaA==";
+      };
+    };
     "data-urls-1.1.0" = {
       name = "data-urls";
       packageName = "data-urls";
@@ -22686,6 +22875,15 @@ let
         sha1 = "bee5fb7c9e727d85dffa24590d10ec1ab1255305";
       };
     };
+    "deep-copy-1.4.2" = {
+      name = "deep-copy";
+      packageName = "deep-copy";
+      version = "1.4.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/deep-copy/-/deep-copy-1.4.2.tgz";
+        sha512 = "VxZwQ/1+WGQPl5nE67uLhh7OqdrmqI1OazrraO9Bbw/M8Bt6Mol/RxzDA6N6ZgRXpsG/W9PgUj8E1LHHBEq2GQ==";
+      };
+    };
     "deep-eql-3.0.1" = {
       name = "deep-eql";
       packageName = "deep-eql";
@@ -23019,13 +23217,13 @@ let
         sha512 = "aiQcQowF01RxFI4ZLFMpzyotbQonhNpBao6dkI8JPk5a+hmSjR5ErHp2CQySmQe8os3VBqLCIh87nDBgZXvsmg==";
       };
     };
-    "degenerator-3.0.1" = {
+    "degenerator-3.0.2" = {
       name = "degenerator";
       packageName = "degenerator";
-      version = "3.0.1";
+      version = "3.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/degenerator/-/degenerator-3.0.1.tgz";
-        sha512 = "LFsIFEeLPlKvAKXu7j3ssIG6RT0TbI7/GhsqrI0DnHASEQjXQ0LUSYcjJteGgRGmZbl1TnMSxpNQIAiJ7Du5TQ==";
+        url = "https://registry.npmjs.org/degenerator/-/degenerator-3.0.2.tgz";
+        sha512 = "c0mef3SNQo56t6urUU6tdQAs+ThoD0o9B9MJ8HEt7NQcGEILCRFqQb7ZbP9JAv+QF1Ky5plydhMR/IrqWDm+TQ==";
       };
     };
     "del-3.0.0" = {
@@ -23289,6 +23487,15 @@ let
         sha1 = "978857442c44749e4206613e37946205826abd80";
       };
     };
+    "destroy-1.1.0" = {
+      name = "destroy";
+      packageName = "destroy";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/destroy/-/destroy-1.1.0.tgz";
+        sha512 = "R5QZrOXxSs0JDUIU/VANvRJlQVMts9C0L76HToQdPdlftfZCE7W6dyH0G4GZ5UW9fRqUOhAoCE2aGekuu+3HjQ==";
+      };
+    };
     "detab-1.0.2" = {
       name = "detab";
       packageName = "detab";
@@ -23334,6 +23541,15 @@ let
         sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
       };
     };
+    "detect-libc-2.0.1" = {
+      name = "detect-libc";
+      packageName = "detect-libc";
+      version = "2.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.1.tgz";
+        sha512 = "463v3ZeIrcWtdgIg6vI6XUncguvr2TnGl4SzDXinkt9mSLpBJKXT3mW6xT3VQdDN11+WVs29pgvivTc4Lp8v+w==";
+      };
+    };
     "detect-newline-2.1.0" = {
       name = "detect-newline";
       packageName = "detect-newline";
@@ -23406,13 +23622,13 @@ let
         sha512 = "4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==";
       };
     };
-    "devtools-protocol-0.0.948846" = {
+    "devtools-protocol-0.0.960912" = {
       name = "devtools-protocol";
       packageName = "devtools-protocol";
-      version = "0.0.948846";
+      version = "0.0.960912";
       src = fetchurl {
-        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.948846.tgz";
-        sha512 = "5fGyt9xmMqUl2VI7+rnUkKCiAQIpLns8sfQtTENy5L70ktbNw0Z3TFJ1JoFNYdx/jffz4YXU45VF75wKZD7sZQ==";
+        url = "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.960912.tgz";
+        sha512 = "I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg==";
       };
     };
     "dezalgo-1.0.3" = {
@@ -23460,15 +23676,6 @@ let
         sha512 = "l126t01d2ZS9EreskvEtZPrcgstuvH3rbKy82oUhUrVmBaGx4hO9wECdl3cvZbKDYjMF3QJDB5z5dL9yWAjvZQ==";
       };
     };
-    "diagnostics-1.1.1" = {
-      name = "diagnostics";
-      packageName = "diagnostics";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/diagnostics/-/diagnostics-1.1.1.tgz";
-        sha512 = "8wn1PmdunLJ9Tqbx+Fx/ZEuHfJf4NKSN2ZBj7SJC/OWRWha843+WsTjqMe1B5E3p28jqBlp+mJ2fPVxPyNgYKQ==";
-      };
-    };
     "dicer-0.2.5" = {
       name = "dicer";
       packageName = "dicer";
@@ -23550,13 +23757,13 @@ let
         sha512 = "IayShXAgj/QMXgB0IWmKx+rOPuGMhqm5w6jvFxmVenXKIzRqTAAsbBPT3kWQeGANj3jGgvcvv4yK6SxqYmikgw==";
       };
     };
-    "diff2html-3.4.14" = {
+    "diff2html-3.4.16" = {
       name = "diff2html";
       packageName = "diff2html";
-      version = "3.4.14";
+      version = "3.4.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.14.tgz";
-        sha512 = "cMS7WYOELzSMuAmRMR0+vNwF8PjcFXOyutYEdXkcAXeA7l2AVEi3XdNnC1lk4bh2xSFKkoQ6Lhy+iqtcRonkww==";
+        url = "https://registry.npmjs.org/diff2html/-/diff2html-3.4.16.tgz";
+        sha512 = "KfkvEoZTJertjoGPYFLn8n0yRdvzJcHvFJpJwbIxUlHU9x6qqhRZEM+TlgtU09jdLqRZAQyWFoxPiP6HeT2IYA==";
       };
     };
     "diff3-0.0.3" = {
@@ -24054,13 +24261,22 @@ let
         sha512 = "3VdM/SXBZX2omc9JF9nOPCtDaYQ67BGp5CoLpIQlO2KCAPETs8TcDHacF26jXadGbvUteZzRTeos2fhID5+ucQ==";
       };
     };
-    "dompurify-2.3.4" = {
+    "dompurify-2.3.5" = {
       name = "dompurify";
       packageName = "dompurify";
-      version = "2.3.4";
+      version = "2.3.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.5.tgz";
+        sha512 = "kD+f8qEaa42+mjdOpKeztu9Mfx5bv9gVLO6K9jRx4uGvh6Wv06Srn4jr1wPNY2OOUGGSKHNFN+A8MA3v0E0QAQ==";
+      };
+    };
+    "dompurify-2.3.6" = {
+      name = "dompurify";
+      packageName = "dompurify";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.4.tgz";
-        sha512 = "6BVcgOAVFXjI0JTjEvZy901Rghm+7fDQOrNIcxB4+gdhj6Kwp6T9VBhBY/AbagKHJocRkDYGd6wvI+p4/10xtQ==";
+        url = "https://registry.npmjs.org/dompurify/-/dompurify-2.3.6.tgz";
+        sha512 = "OFP2u/3T1R5CEgWCEONuJ1a5+MFKnOYpkywpUSxv/dj1LeBT1erK+JwM7zK0ROy2BRhqVCf0LRw/kHqKuMkVGg==";
       };
     };
     "domutils-1.4.3" = {
@@ -24144,15 +24360,6 @@ let
         sha512 = "tE7ztYzXHIeyvc7N+hR3oi7FIbf/NIjVP9hmAt3yMXzrQ072/fpjGLx2GxNxGxUl5V73MEqYzioOMoVhGMJ5cA==";
       };
     };
-    "dot-qs-0.2.0" = {
-      name = "dot-qs";
-      packageName = "dot-qs";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/dot-qs/-/dot-qs-0.2.0.tgz";
-        sha1 = "d36517fe24b7cda61fce7a5026a0024afaf5a439";
-      };
-    };
     "dotenv-10.0.0" = {
       name = "dotenv";
       packageName = "dotenv";
@@ -24198,6 +24405,15 @@ let
         sha512 = "YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==";
       };
     };
+    "dotf-2.0.2" = {
+      name = "dotf";
+      packageName = "dotf";
+      version = "2.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/dotf/-/dotf-2.0.2.tgz";
+        sha512 = "4cN2fwEqHimE11jVc8uMNiEB2A2YOL5Fdyd1p14UbAvRh/5vAxjEaiVPx45zD5IQcwc/uQIxI9Jh18skB/uYFQ==";
+      };
+    };
     "dotignore-0.1.2" = {
       name = "dotignore";
       packageName = "dotignore";
@@ -24207,6 +24423,15 @@ let
         sha512 = "UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==";
       };
     };
+    "double-ended-queue-2.1.0-0" = {
+      name = "double-ended-queue";
+      packageName = "double-ended-queue";
+      version = "2.1.0-0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/double-ended-queue/-/double-ended-queue-2.1.0-0.tgz";
+        sha1 = "103d3527fd31528f40188130c841efdd78264e5c";
+      };
+    };
     "downgrade-root-1.2.2" = {
       name = "downgrade-root";
       packageName = "downgrade-root";
@@ -24585,13 +24810,13 @@ let
         sha512 = "9lt9Zse4hPucPkoP7FHDF0LQAlGyF9JVpnClFLFH3aSSbxmyoqINRpp/9wePWJTUl4KOQwRL72Iw3InHPDkoGw==";
       };
     };
-    "electron-13.6.7" = {
+    "electron-13.6.9" = {
       name = "electron";
       packageName = "electron";
-      version = "13.6.7";
+      version = "13.6.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron/-/electron-13.6.7.tgz";
-        sha512 = "gzCru/TpyCZ3yRjR/TVKph6Q/rmFZnLszxoeESaiijHjobB0xxr2oTHQLGVhpali2ddrM+4Pz6+MyZwS6Us+xA==";
+        url = "https://registry.npmjs.org/electron/-/electron-13.6.9.tgz";
+        sha512 = "Es/sBy85NIuqsO9MW41PUCpwIkeinlTQ7g0ainfnmRAM2rmog3GBxVCaoV5dzEjwTF7TKG1Yr/E7Z3qHmlfWAg==";
       };
     };
     "electron-notarize-1.1.1" = {
@@ -24630,13 +24855,13 @@ let
         sha512 = "WvaW1EgRinDQ61khHFZfx30rkPQG5ItaOT0wrI7iJv9A3SbghriQGfZQfHZs25fWLBe6/vkv05LOqg6aDw6Wzw==";
       };
     };
-    "electron-to-chromium-1.4.51" = {
+    "electron-to-chromium-1.4.71" = {
       name = "electron-to-chromium";
       packageName = "electron-to-chromium";
-      version = "1.4.51";
+      version = "1.4.71";
       src = fetchurl {
-        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.51.tgz";
-        sha512 = "JNEmcYl3mk1tGQmy0EvL5eik/CKSBuzAyGP0QFdG6LIgxQe3II0BL1m2zKc2MZMf3uGqHWE1TFddJML0RpjSHQ==";
+        url = "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.71.tgz";
+        sha512 = "Hk61vXXKRb2cd3znPE9F+2pLWdIOmP7GjiTj45y6L3W/lO+hSnUSUhq+6lEaERWBdZOHbk2s3YV5c9xVl3boVw==";
       };
     };
     "electrum-client-git://github.com/janoside/electrum-client" = {
@@ -24691,7 +24916,7 @@ let
       version = "1.0.1";
       src = fetchurl {
         name = "emitter-1.0.1.tar.gz";
-        url = "https://codeload.github.com/component/emitter/tar.gz/1.0.1";
+        url = "https://codeload.github.com/component/emitter/tar.gz/refs/tags/1.0.1";
         sha256 = "0eae744826723877457f7a7ac7f31d68a5a060673b3a883f6a8e325bf48f313d";
       };
     };
@@ -24704,13 +24929,13 @@ let
         sha512 = "Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ==";
       };
     };
-    "emmet-2.3.5" = {
+    "emmet-2.3.6" = {
       name = "emmet";
       packageName = "emmet";
-      version = "2.3.5";
+      version = "2.3.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/emmet/-/emmet-2.3.5.tgz";
-        sha512 = "LcWfTamJnXIdMfLvJEC5Ld3hY5/KHXgv1L1bp6I7eEvB0ZhacHZ1kX0BYovJ8FroEsreLcq7n7kZhRMsf6jkXQ==";
+        url = "https://registry.npmjs.org/emmet/-/emmet-2.3.6.tgz";
+        sha512 = "pLS4PBPDdxuUAmw7Me7+TcHbykTsBKN/S9XJbUOMFQrNv9MoshzyMFK/R57JBm94/6HSL4vHnDeEmxlC82NQ4A==";
       };
     };
     "emoji-js-clean-4.0.0" = {
@@ -24839,15 +25064,6 @@ let
         sha1 = "9eba6837d16d0982b59f87d889bf754443d52931";
       };
     };
-    "enabled-1.0.2" = {
-      name = "enabled";
-      packageName = "enabled";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/enabled/-/enabled-1.0.2.tgz";
-        sha1 = "965f6513d2c2d1c5f4652b64a2e3396467fc2f93";
-      };
-    };
     "enabled-2.0.0" = {
       name = "enabled";
       packageName = "enabled";
@@ -24992,15 +25208,6 @@ let
         sha512 = "t5z6zjXuVLhXDMiFJPYsPOWEER8B0tIsD3ETgw19S1yg9zryvUfY3Vhtk3Gf4sihw/bQGIqQ//gjvVlu+Ca0bQ==";
       };
     };
-    "engine.io-5.1.1" = {
-      name = "engine.io";
-      packageName = "engine.io";
-      version = "5.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/engine.io/-/engine.io-5.1.1.tgz";
-        sha512 = "aMWot7H5aC8L4/T8qMYbLdvKlZOdJTH54FxfdFunTGvhMx1BHkJOntWArsVfgAZVwAO9LC2sryPWRcEeUzCe5w==";
-      };
-    };
     "engine.io-6.1.2" = {
       name = "engine.io";
       packageName = "engine.io";
@@ -25109,13 +25316,13 @@ let
         sha512 = "Nv9m36S/vxpsI+Hc4/ZGRs0n9mXqSWGGq49zxb/cJfPAQMbUtttJAlNPS4AQzaBdw/pKskw5bMbekT/Y7W/Wlg==";
       };
     };
-    "enhanced-resolve-5.8.3" = {
+    "enhanced-resolve-5.9.0" = {
       name = "enhanced-resolve";
       packageName = "enhanced-resolve";
-      version = "5.8.3";
+      version = "5.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.8.3.tgz";
-        sha512 = "EGAbGvH7j7Xt2nc0E7D99La1OiEs8LnyimkRgwExpUMScN6O+3x9tIWs7PLQZVNx4YD+00skHXPXi1yQHpAmZA==";
+        url = "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.0.tgz";
+        sha512 = "weDYmzbBygL7HzGGS26M3hGQx68vehdEg6VUmqSOaFzXExFqlnKuSvsEJCVGQHScS8CQMbrAqftT+AzzHNt/YA==";
       };
     };
     "enquirer-2.3.6" = {
@@ -25217,15 +25424,6 @@ let
         sha512 = "+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==";
       };
     };
-    "env-variable-0.0.6" = {
-      name = "env-variable";
-      packageName = "env-variable";
-      version = "0.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/env-variable/-/env-variable-0.0.6.tgz";
-        sha512 = "bHz59NlBbtS0NhftmR8+ExBEekE7br0e01jw+kk0NDro7TtZzBYZ5ScGPs3OmwnpyfHTHOtr1Y6uedCdrIldtg==";
-      };
-    };
     "envinfo-7.8.1" = {
       name = "envinfo";
       packageName = "envinfo";
@@ -25307,6 +25505,15 @@ let
         sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     };
+    "error-polyfill-0.1.3" = {
+      name = "error-polyfill";
+      packageName = "error-polyfill";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/error-polyfill/-/error-polyfill-0.1.3.tgz";
+        sha512 = "XHJk60ufE+TG/ydwp4lilOog549iiQF2OAPhkk9DdiYWMrltz5yhDz/xnKuenNwP7gy3dsibssO5QpVhkrSzzg==";
+      };
+    };
     "error-stack-parser-2.0.6" = {
       name = "error-stack-parser";
       packageName = "error-stack-parser";
@@ -25451,15 +25658,6 @@ let
         sha1 = "5109d62f3e56ea967c4b63505aef08291c8a5203";
       };
     };
-    "es6-promisify-6.1.1" = {
-      name = "es6-promisify";
-      packageName = "es6-promisify";
-      version = "6.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promisify/-/es6-promisify-6.1.1.tgz";
-        sha512 = "HBL8I3mIki5C1Cc9QjKUenHtnG0A5/xA8Q/AllRcfiwl2CZFXGK7ddBiCoRwAix4i2KxcQfjtIVcrVbB3vbmwg==";
-      };
-    };
     "es6-promisify-7.0.0" = {
       name = "es6-promisify";
       packageName = "es6-promisify";
@@ -25703,13 +25901,13 @@ let
         sha512 = "VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==";
       };
     };
-    "eslint-8.3.0" = {
+    "eslint-8.8.0" = {
       name = "eslint";
       packageName = "eslint";
-      version = "8.3.0";
+      version = "8.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint/-/eslint-8.3.0.tgz";
-        sha512 = "aIay56Ph6RxOTC7xyr59Kt3ewX185SaGnAr8eWukoPLeriCrvGjvAubxuvaXOfsxhtwV5g0uBOsyhAom4qJdww==";
+        url = "https://registry.npmjs.org/eslint/-/eslint-8.8.0.tgz";
+        sha512 = "H3KXAzQGBH1plhYS3okDix2ZthuYJlQQEGE5k0IKuEqUSiyu4AmxxlJ2MtTYeJ3xB4jDhcYCwGOg2TXYdnDXlQ==";
       };
     };
     "eslint-formatter-pretty-4.1.0" = {
@@ -25721,13 +25919,13 @@ let
         sha512 = "IsUTtGxF1hrH6lMWiSl1WbGaiP01eT6kzywdY1U+zLc0MP+nwEnUiS9UI8IaOTUhTeQJLlCEWIbXINBH4YJbBQ==";
       };
     };
-    "eslint-plugin-no-unsanitized-4.0.0" = {
+    "eslint-plugin-no-unsanitized-4.0.1" = {
       name = "eslint-plugin-no-unsanitized";
       packageName = "eslint-plugin-no-unsanitized";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.0.tgz";
-        sha512 = "Wguc3EZS+7BJ/Pgu8C1/G86eXHUIRz4ZHEhPlwVkS42MbHEyfh8Wm+pDRVAg73EE0TR//SbjkPlHr93yLJT10g==";
+        url = "https://registry.npmjs.org/eslint-plugin-no-unsanitized/-/eslint-plugin-no-unsanitized-4.0.1.tgz";
+        sha512 = "y/lAMWnPPC7RYuUdxlEL/XiCL8FehN9h9s3Kjqbp/Kv0i9NZs+IXSC2kS546Fa4Bumwy31HlVS/OdWX0Kxb5Xg==";
       };
     };
     "eslint-plugin-vue-6.2.2" = {
@@ -25784,13 +25982,13 @@ let
         sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
       };
     };
-    "eslint-scope-7.1.0" = {
+    "eslint-scope-7.1.1" = {
       name = "eslint-scope";
       packageName = "eslint-scope";
-      version = "7.1.0";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.0.tgz";
-        sha512 = "aWwkhnS0qAXqNOgKOK0dJ2nvzEbhEvpy8OlJ9kZ0FeZnA6zpjv1/Vei+puGFFX7zkPCkHHXb7IDX3A+7yPrRWg==";
+        url = "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.1.1.tgz";
+        sha512 = "QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw==";
       };
     };
     "eslint-utils-1.4.3" = {
@@ -25838,22 +26036,22 @@ let
         sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
       };
     };
-    "eslint-visitor-keys-3.1.0" = {
+    "eslint-visitor-keys-3.2.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
-      version = "3.1.0";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.1.0.tgz";
-        sha512 = "yWJFpu4DtjsWKkt5GeNBBuZMlNcYVs6vRCLoCVEJrTjaSB6LC98gFipNK/erM2Heg/E8mIK+hXG/pJMLK+eRZA==";
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz";
+        sha512 = "IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==";
       };
     };
-    "eslint-visitor-keys-3.2.0" = {
+    "eslint-visitor-keys-3.3.0" = {
       name = "eslint-visitor-keys";
       packageName = "eslint-visitor-keys";
-      version = "3.2.0";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz";
-        sha512 = "IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==";
+        url = "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz";
+        sha512 = "mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA==";
       };
     };
     "esmangle-1.0.1" = {
@@ -25919,22 +26117,22 @@ let
         sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
       };
     };
-    "espree-9.1.0" = {
+    "espree-9.3.0" = {
       name = "espree";
       packageName = "espree";
-      version = "9.1.0";
+      version = "9.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.1.0.tgz";
-        sha512 = "ZgYLvCS1wxOczBYGcQT9DDWgicXwJ4dbocr9uYN+/eresBAUuBu+O4WzB21ufQ/JqQT8gyp7hJ3z8SHii32mTQ==";
+        url = "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz";
+        sha512 = "d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==";
       };
     };
-    "espree-9.3.0" = {
+    "espree-9.3.1" = {
       name = "espree";
       packageName = "espree";
-      version = "9.3.0";
+      version = "9.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/espree/-/espree-9.3.0.tgz";
-        sha512 = "d/5nCsb0JcqsSEeQzFZ8DH1RmxPcglRWh24EFTlUEmCKoehXGdpsx0RkHDubqUI8LSAIKMQp4r9SzQ3n+sm4HQ==";
+        url = "https://registry.npmjs.org/espree/-/espree-9.3.1.tgz";
+        sha512 = "bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ==";
       };
     };
     "esprima-1.1.1" = {
@@ -26180,13 +26378,13 @@ let
         sha512 = "w8/4x1SGGzc+tO97TASLja6SLd3fRIK2tLVcV2Gx4IB21hE19atll5Cq9o3d0ZmAYC/8aw0ipieTSiekAea4SQ==";
       };
     };
-    "ethereumjs-util-7.1.3" = {
+    "ethereumjs-util-7.1.4" = {
       name = "ethereumjs-util";
       packageName = "ethereumjs-util";
-      version = "7.1.3";
+      version = "7.1.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.3.tgz";
-        sha512 = "y+82tEbyASO0K0X1/SRhbJJoAlfcvq8JbrG4a5cjrOks7HS/36efU/0j2flxCPOUM++HFahk33kr/ZxyC4vNuw==";
+        url = "https://registry.npmjs.org/ethereumjs-util/-/ethereumjs-util-7.1.4.tgz";
+        sha512 = "p6KmuPCX4mZIqsQzXfmSx9Y0l2hqf+VkAiwSisW3UKUFdk8ZkAt+AYaor83z2nSi6CU2zSsXMlD80hAbNEGM0A==";
       };
     };
     "ethjs-unit-0.1.6" = {
@@ -26459,15 +26657,6 @@ let
         sha1 = "c7c5ad2eef3478d38390c6dd3acfe8af0efc8301";
       };
     };
-    "exec-sh-0.2.2" = {
-      name = "exec-sh";
-      packageName = "exec-sh";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/exec-sh/-/exec-sh-0.2.2.tgz";
-        sha512 = "FIUCJz1RbuS0FKTdaAafAByGS0CPvU3R0MeHxgtl+djzCc//F8HakL8GzmVNZanasTbTAY/3DRFA0KpVqj/eAw==";
-      };
-    };
     "exec-sh-0.3.6" = {
       name = "exec-sh";
       packageName = "exec-sh";
@@ -26513,15 +26702,6 @@ let
         sha1 = "d8d76bbc1b55217ed190fd6dd49d3c774ecfc8da";
       };
     };
-    "execa-0.9.0" = {
-      name = "execa";
-      packageName = "execa";
-      version = "0.9.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/execa/-/execa-0.9.0.tgz";
-        sha512 = "BbUMBiX4hqiHZUA5+JujIjNb6TyAlp2D5KLheMjMluwOuzcnylDL4AxZYLLn1n2AGB49eSWwyKvvEQoRpnAtmA==";
-      };
-    };
     "execa-1.0.0" = {
       name = "execa";
       packageName = "execa";
@@ -26702,22 +26882,22 @@ let
         sha1 = "a793d3ac0cad4c6ab571e9968fbbab6cb2532929";
       };
     };
-    "expo-modules-autolinking-0.4.0" = {
+    "expo-modules-autolinking-0.5.5" = {
       name = "expo-modules-autolinking";
       packageName = "expo-modules-autolinking";
-      version = "0.4.0";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-0.4.0.tgz";
-        sha512 = "GRGHbQ4b/aOtEup/oA6YVS7OOBKqU4sNLhoiTkEJWXmYDRERZiRvp8N2krQtn54y5PqucftqlBrMbdCinTouqg==";
+        url = "https://registry.npmjs.org/expo-modules-autolinking/-/expo-modules-autolinking-0.5.5.tgz";
+        sha512 = "bILEG0Fg+ZhIhdEaShHzsEN1WC0hUmXJ5Kcd4cd+8rVk1Ead9vRZxA/yLx1cNBDCOwMe0GAMrhF7TKT+A1P+YA==";
       };
     };
-    "expo-pwa-0.0.109" = {
+    "expo-pwa-0.0.113" = {
       name = "expo-pwa";
       packageName = "expo-pwa";
-      version = "0.0.109";
+      version = "0.0.113";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.109.tgz";
-        sha512 = "88zMIwMYqVYAwgA45fdlbENrZtoETXwfDruhiP5XdAH/SbR7atNEH45ccj/lcU8o9Rzo/cIxkpJnRxn0YJ9xjg==";
+        url = "https://registry.npmjs.org/expo-pwa/-/expo-pwa-0.0.113.tgz";
+        sha512 = "uKmNgSMrZs/dUy1yIqXBFELmjuVtvSJzNoscTMN1ehdBa8QJqz/d3QGdu/IVlYNWxqCvAaqHXY/x6WseA3X3dg==";
       };
     };
     "express-2.5.11" = {
@@ -26774,6 +26954,15 @@ let
         sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
       };
     };
+    "express-4.17.3" = {
+      name = "express";
+      packageName = "express";
+      version = "4.17.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express/-/express-4.17.3.tgz";
+        sha512 = "yuSQpz5I+Ch7gFrPCk4/c+dIBKlQUxtgwqzph132bsT6qhuzss6I8cLJQz7B3rFblzd6wtcI0ZbGltH/C4LjUg==";
+      };
+    };
     "express-async-handler-1.2.0" = {
       name = "express-async-handler";
       packageName = "express-async-handler";
@@ -26801,6 +26990,15 @@ let
         sha1 = "3a2ad27f7bebc90fc533d110d7c6d83097bcd057";
       };
     };
+    "express-interceptor-1.2.0" = {
+      name = "express-interceptor";
+      packageName = "express-interceptor";
+      version = "1.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-interceptor/-/express-interceptor-1.2.0.tgz";
+        sha1 = "33460a8e11dce7e5a022caf555d377e45ddb822a";
+      };
+    };
     "express-normalize-query-params-middleware-0.5.1" = {
       name = "express-normalize-query-params-middleware";
       packageName = "express-normalize-query-params-middleware";
@@ -26828,6 +27026,33 @@ let
         sha512 = "64YwTWpxgVGnwoLi4zvKaQ5RWIV0dkxVE4GGkBF7D89RI0/I6gTRUDL25Il4AK3cUqyLtxnX2X5BZ2YRvRx5uQ==";
       };
     };
+    "express-prom-bundle-6.3.0" = {
+      name = "express-prom-bundle";
+      packageName = "express-prom-bundle";
+      version = "6.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-prom-bundle/-/express-prom-bundle-6.3.0.tgz";
+        sha512 = "XeA9pzG+07X5JhR4SV0szQnb2pWBaeNMBb1jBox/d70204jPlcLPoNuCpaQs5kOEedoXJtJEbVJ2esivED1WyA==";
+      };
+    };
+    "express-request-id-1.4.1" = {
+      name = "express-request-id";
+      packageName = "express-request-id";
+      version = "1.4.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-request-id/-/express-request-id-1.4.1.tgz";
+        sha512 = "qpxK6XhDYtdx9FvxwCHkUeZVWtkGbWR87hBAzGECfwYF/QQCPXEwwB2/9NGkOR1tT7/aLs9mma3CT0vjSzuZVw==";
+      };
+    };
+    "express-session-1.17.1" = {
+      name = "express-session";
+      packageName = "express-session";
+      version = "1.17.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/express-session/-/express-session-1.17.1.tgz";
+        sha512 = "UbHwgqjxQZJiWRTMyhvWGvjBQduGCSBDhhZXYenziMFjxst5rMV+aJZ6hKPHZnPyHGsrqRICxtX8jtEbm/z36Q==";
+      };
+    };
     "express-session-1.17.2" = {
       name = "express-session";
       packageName = "express-session";
@@ -27224,6 +27449,15 @@ let
         sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
       };
     };
+    "fast-equals-3.0.0" = {
+      name = "fast-equals";
+      packageName = "fast-equals";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fast-equals/-/fast-equals-3.0.0.tgz";
+        sha512 = "Af7nSOpf7617idrFg0MJY6x7yVDPoO80aSwtKTC0afT8B/SsmvTpA+2a+uPLmhVF5IHmY5NPuBAA3dJrp55rJA==";
+      };
+    };
     "fast-fifo-1.1.0" = {
       name = "fast-fifo";
       packageName = "fast-fifo";
@@ -27395,15 +27629,6 @@ let
         sha512 = "On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==";
       };
     };
-    "fastify-warning-0.2.0" = {
-      name = "fastify-warning";
-      packageName = "fastify-warning";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fastify-warning/-/fastify-warning-0.2.0.tgz";
-        sha512 = "s1EQguBw/9qtc1p/WTY4eq9WMRIACkj+HTcOIK1in4MV5aFaQC9ZCIt0dJ7pr5bIf4lPpHvAtP2ywpTNgs7hqw==";
-      };
-    };
     "fastintcompression-0.0.4" = {
       name = "fastintcompression";
       packageName = "fastintcompression";
@@ -27458,13 +27683,13 @@ let
         sha512 = "WtySTkS4OKev5JtpHXnib4Gxiurzh5NCGvWrFaZ34m6JehfTUhKZvn9njTfw48t6JumVQOmrKqpmGcdwxnhqBQ==";
       };
     };
-    "faunadb-4.4.1" = {
+    "faunadb-4.5.2" = {
       name = "faunadb";
       packageName = "faunadb";
-      version = "4.4.1";
+      version = "4.5.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/faunadb/-/faunadb-4.4.1.tgz";
-        sha512 = "1V2ve22T4Q45C3PBB+LD7Fpk4lVajbtxDXDpENsujC+LMe88LqBQ9brl5v5uB3sCTSVAX0fsGtuZ+N5x15vdoQ==";
+        url = "https://registry.npmjs.org/faunadb/-/faunadb-4.5.2.tgz";
+        sha512 = "XQ2yDoPZc5/IqC4eS4tP5tjewFbAK8UdQYLDGlUiJy5E9F3rpvYCMdjlkRWcaxOMD2yPYr8NSoql10zy1CNoCA==";
       };
     };
     "faye-websocket-0.10.0" = {
@@ -27539,6 +27764,15 @@ let
         sha512 = "MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==";
       };
     };
+    "fetch-blob-3.1.4" = {
+      name = "fetch-blob";
+      packageName = "fetch-blob";
+      version = "3.1.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.1.4.tgz";
+        sha512 = "Eq5Xv5+VlSrYWEqKrusxY1C3Hm/hjeAsCGVG3ft7pZahlUAChpGZT/Ms1WmSLnEAisEXszjzu/s+ce6HZB2VHA==";
+      };
+    };
     "fetch-cookie-0.10.1" = {
       name = "fetch-cookie";
       packageName = "fetch-cookie";
@@ -28196,13 +28430,13 @@ let
         sha512 = "LNRvR4hr/S8cXXkIY5pTgVP7L3tq6LlYWcg9nWBuW7o1NMxKZo6oOVa/6GIekMGI0Iw7uC+HWimMe9u/VAeKqw==";
       };
     };
-    "fkill-6.2.0" = {
+    "fkill-7.2.1" = {
       name = "fkill";
       packageName = "fkill";
-      version = "6.2.0";
+      version = "7.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fkill/-/fkill-6.2.0.tgz";
-        sha512 = "VoPpKScAzvZ07jtciOY0bJieJwyd/VVCuo4fn3nBLh4iBagzYED7GLQeFBpMpy7HP5edEKTDo8yxaIrYrwb7hg==";
+        url = "https://registry.npmjs.org/fkill/-/fkill-7.2.1.tgz";
+        sha512 = "eN9cmsIlRdq06wu3m01OOEgQf5Xh/M7REm0jfZ4eL3V3XisjXzfRq3iyqtKS+FhO6wB36FvWRiRGdeSx5KpLAQ==";
       };
     };
     "fkill-8.0.0" = {
@@ -28295,13 +28529,13 @@ let
         sha512 = "r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==";
       };
     };
-    "flatted-3.2.4" = {
+    "flatted-3.2.5" = {
       name = "flatted";
       packageName = "flatted";
-      version = "3.2.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz";
-        sha512 = "8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     };
     "flatten-0.0.1" = {
@@ -28331,13 +28565,13 @@ let
         sha512 = "jlbUu0XkbpXeXhan5xyTqVK1jmEKNxE8hpzznI3TThHTr76GiFwK0iRzhDo4KNy+S9h/KxHaqVhTP86vA6wHCg==";
       };
     };
-    "flow-parser-0.169.0" = {
+    "flow-parser-0.172.0" = {
       name = "flow-parser";
       packageName = "flow-parser";
-      version = "0.169.0";
+      version = "0.172.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.169.0.tgz";
-        sha512 = "X1DFb6wxXpZLLqM9NX0Wm+4xoN6xAyJn8OwuiHsV0JJvLfD18Z+wbgJ1lM7ykTVINdu8v7Mu0gIzWMvnhKWBkA==";
+        url = "https://registry.npmjs.org/flow-parser/-/flow-parser-0.172.0.tgz";
+        sha512 = "WWqgvuJgD9Y1n2su9D73m0g5kQ4XVl8Dwk6DeW5V6bjt4XMtVLzSHg35s3iiZOvShY+7w7l8FzlK81PGXRcIYQ==";
       };
     };
     "fluent-ffmpeg-2.1.2" = {
@@ -28484,13 +28718,13 @@ let
         sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     };
-    "follow-redirects-1.14.7" = {
+    "follow-redirects-1.14.9" = {
       name = "follow-redirects";
       packageName = "follow-redirects";
-      version = "1.14.7";
+      version = "1.14.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.7.tgz";
-        sha512 = "+hbxoLbFMbRKDwohX8GkTataGqO6Jb7jGwpAlwgy2bIz25XtRm7KEzJM76R1WiNT5SwZkX4Y75SwBolkpmE7iQ==";
+        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.9.tgz";
+        sha512 = "MQDfihBQYMcyy5dhRDJUHcw7lb2Pv/TuE6xP1vyraLukNDHKbDxDNaOE3NbCAdKQApno+GPRyo1YAp89yCjK4w==";
       };
     };
     "follow-redirects-1.5.10" = {
@@ -28709,6 +28943,15 @@ let
         sha512 = "k7lYJyzDOSL6h917favP8j1L0/wNyylzU+x+1w4p5haGVHNlP58dbpdJhiCUsDbWsa9HwEtLp89obQgXl2e0qg==";
       };
     };
+    "formdata-polyfill-4.0.10" = {
+      name = "formdata-polyfill";
+      packageName = "formdata-polyfill";
+      version = "4.0.10";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz";
+        sha512 = "buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==";
+      };
+    };
     "formidable-1.0.11" = {
       name = "formidable";
       packageName = "formidable";
@@ -28772,13 +29015,13 @@ let
         sha512 = "WQT6rP6Jt3TxMdQB3IKzvfZKLuldumntgumLhIUhvPrukTHdWNI4JgEHY04Bd0LIOR9IQRpB+7RuxgUU0Vhmcg==";
       };
     };
-    "fraction.js-4.1.2" = {
+    "fraction.js-4.1.3" = {
       name = "fraction.js";
       packageName = "fraction.js";
-      version = "4.1.2";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.2.tgz";
-        sha512 = "o2RiJQ6DZaR/5+Si0qJUIy637QMRudSi9kU/FFzx9EZazrIdnBgpU+3sEWCxAVhH2RtxW2Oz+T4p2o8uOPVcgA==";
+        url = "https://registry.npmjs.org/fraction.js/-/fraction.js-4.1.3.tgz";
+        sha512 = "pUHWWt6vHzZZiQJcM6S/0PXfS+g6FM4BF5rj9wZyreivhQPdsh5PpE25VtSNxq80wHS5RfY51Ii+8Z0Zl/pmzg==";
       };
     };
     "fragment-cache-0.2.1" = {
@@ -28907,15 +29150,6 @@ let
         sha1 = "cf25554ca050dc49ae6656b41de42258989dcbce";
       };
     };
-    "fs-exists-sync-0.1.0" = {
-      name = "fs-exists-sync";
-      packageName = "fs-exists-sync";
-      version = "0.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz";
-        sha1 = "982d6893af918e72d08dec9e8673ff2b5a8d6add";
-      };
-    };
     "fs-extra-0.24.0" = {
       name = "fs-extra";
       packageName = "fs-extra";
@@ -29249,6 +29483,15 @@ let
         sha512 = "sA5etGE7yD/pOqivZRBvUBd/NaL2sjAu6QuSaFoe1H2BrJSkH/T/UXAJ8CdXdw7DvY3Hs8CXKYkDWX7RiP5KOg==";
       };
     };
+    "fuzzy-0.1.3" = {
+      name = "fuzzy";
+      packageName = "fuzzy";
+      version = "0.1.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/fuzzy/-/fuzzy-0.1.3.tgz";
+        sha1 = "4c76ec2ff0ac1a36a9dccf9a00df8623078d4ed8";
+      };
+    };
     "fuzzy-search-3.2.1" = {
       name = "fuzzy-search";
       packageName = "fuzzy-search";
@@ -29285,22 +29528,22 @@ let
         sha1 = "cbed2d20a40c1f5679a35908e2b9415733e78db9";
       };
     };
-    "gatsby-core-utils-3.5.2" = {
+    "gatsby-core-utils-3.7.0" = {
       name = "gatsby-core-utils";
       packageName = "gatsby-core-utils";
-      version = "3.5.2";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.5.2.tgz";
-        sha512 = "sY7BD6VlbWwrV892x9/yJPtXYaGC/GLyhabd9j2xP6zsIOW0XBHXZ4jJ+xEPaRn3CJxYgBd8KdCyoc4h1ZEFzg==";
+        url = "https://registry.npmjs.org/gatsby-core-utils/-/gatsby-core-utils-3.7.0.tgz";
+        sha512 = "CboIzpEFbaD4+WrozKl3fMpxUetcaDq0aWPfrfzAtc8l0JMlD3GS2Q/uW7HpcvTAlSGv2ZomTzd2ySLV/AgpTQ==";
       };
     };
-    "gatsby-telemetry-3.5.2" = {
+    "gatsby-telemetry-3.7.0" = {
       name = "gatsby-telemetry";
       packageName = "gatsby-telemetry";
-      version = "3.5.2";
+      version = "3.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.5.2.tgz";
-        sha512 = "nL33+AxawRqEjuvHAbyyxoDMZ5GXNMEMzCk5WQu7J/lA6od6cUmXpZMcr4AxwnNFJLfmYKlwalN7cuz5nBL6lw==";
+        url = "https://registry.npmjs.org/gatsby-telemetry/-/gatsby-telemetry-3.7.0.tgz";
+        sha512 = "jhtUGZynyHM3r9a7po/rKffj5AjacmU0rqqarsee9dxlDqsamqRtyFPTjn7JubRrc958M6qzNW+z/Zi0hoeFHg==";
       };
     };
     "gauge-1.2.7" = {
@@ -29330,13 +29573,13 @@ let
         sha512 = "+5J6MS/5XksCuXq++uFRsnUd7Ovu1XenbeuIuNRJxYWjgQbPuFhT14lAvsWfqfAmnwluf1OwMjz39HjfLPci0Q==";
       };
     };
-    "gauge-4.0.0" = {
+    "gauge-4.0.1" = {
       name = "gauge";
       packageName = "gauge";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gauge/-/gauge-4.0.0.tgz";
-        sha512 = "F8sU45yQpjQjxKkm1UOAhf0U/O0aFt//Fl7hsrNVto+patMHjs7dPI9mFOGUKbhrgKm0S3EjW3scMFuQmWSROw==";
+        url = "https://registry.npmjs.org/gauge/-/gauge-4.0.1.tgz";
+        sha512 = "zJ4jePUHR8cceduZ53b6temRalyGpkC2Kc2r3ecNphmL+uWNoJ3YcOcUjpbG6WwoE/Ef6/+aEZz63neI2WIa1Q==";
       };
     };
     "gaxios-2.3.4" = {
@@ -29402,15 +29645,6 @@ let
         sha1 = "336a98f81510f9ae0af2a494e17468a116a9dc04";
       };
     };
-    "generate-function-1.1.0" = {
-      name = "generate-function";
-      packageName = "generate-function";
-      version = "1.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/generate-function/-/generate-function-1.1.0.tgz";
-        sha1 = "54c21b080192b16d9877779c5bb81666e772365f";
-      };
-    };
     "generate-function-2.3.1" = {
       name = "generate-function";
       packageName = "generate-function";
@@ -29726,13 +29960,13 @@ let
         sha512 = "7yetJWqbS9sbn0vIfliPsFgoXMKn/YMF+Wuiog97x+urnSRRRZ7xB+uVkwGKzRgq9CDFfMQnE9ruL5DHv9c6Xg==";
       };
     };
-    "getmac-5.17.0" = {
+    "getmac-5.20.0" = {
       name = "getmac";
       packageName = "getmac";
-      version = "5.17.0";
+      version = "5.20.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/getmac/-/getmac-5.17.0.tgz";
-        sha512 = "hupD+ZCHVFRaH1wBDPgIil6KWL5p5Z6kG71nAcafwq72QaMxw9bhR2LPBk3jlw3I2F3oELNkx6Fccwiuy5fv0w==";
+        url = "https://registry.npmjs.org/getmac/-/getmac-5.20.0.tgz";
+        sha512 = "O9T855fb+Hx9dsTJHNv72ZUuA6Y18+BO/0ypPXf6s/tunzXqhc3kbQkNAl+9HVKVlwkWmglHS4LMoJ9YbymKYQ==";
       };
     };
     "getpass-0.1.6" = {
@@ -29762,13 +29996,13 @@ let
         sha1 = "0d76163778093aef7f1c30238f2a9ef3f07a2eb9";
       };
     };
-    "git-config-path-1.0.1" = {
+    "git-config-path-2.0.0" = {
       name = "git-config-path";
       packageName = "git-config-path";
-      version = "1.0.1";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/git-config-path/-/git-config-path-1.0.1.tgz";
-        sha1 = "6d33f7ed63db0d0e118131503bab3aca47d54664";
+        url = "https://registry.npmjs.org/git-config-path/-/git-config-path-2.0.0.tgz";
+        sha512 = "qc8h1KIQbJpp+241id3GuAtkdyJ+IK+LIVtkiFTRKRrmddDzs3SI9CvP1QYmWBFvm1I/PWRwj//of8bgAc0ltA==";
       };
     };
     "git-diff-tree-1.1.0" = {
@@ -30218,7 +30452,7 @@ let
       version = "2.0.1";
       src = fetchurl {
         name = "global-2.0.1.tar.gz";
-        url = "https://codeload.github.com/component/global/tar.gz/v2.0.1";
+        url = "https://codeload.github.com/component/global/tar.gz/refs/tags/v2.0.1";
         sha256 = "42be02b7148745447f6ba21137c972ca82d2cad92d30d63bd4fc310623901785";
       };
     };
@@ -30303,13 +30537,13 @@ let
         sha512 = "WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==";
       };
     };
-    "globals-13.12.0" = {
+    "globals-13.12.1" = {
       name = "globals";
       packageName = "globals";
-      version = "13.12.0";
+      version = "13.12.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/globals/-/globals-13.12.0.tgz";
-        sha512 = "uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==";
+        url = "https://registry.npmjs.org/globals/-/globals-13.12.1.tgz";
+        sha512 = "317dFlgY2pdJZ9rspXDks7073GpDmXdfbM3vYYp0HAMKGDh1FfWPleI2ljVNLQX5M5lXcAslTcPTrOrMEFOjyw==";
       };
     };
     "globals-9.18.0" = {
@@ -30375,6 +30609,15 @@ let
         sha512 = "wiSuFQLZ+urS9x2gGPl1H5drc5twabmm4m2gTR27XDFyjUHJUNsS8o/2aKyIF6IoBaR630atdher0XJ5g6OMmA==";
       };
     };
+    "globby-13.1.1" = {
+      name = "globby";
+      packageName = "globby";
+      version = "13.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/globby/-/globby-13.1.1.tgz";
+        sha512 = "XMzoDZbGZ37tufiv7g0N4F/zp3zkwdFtVbV3EHsVl1KQr4RPLfNoT068/97RPshz2J5xYNEjLKKBKaGHifBd3Q==";
+      };
+    };
     "globby-4.1.0" = {
       name = "globby";
       packageName = "globby";
@@ -30465,13 +30708,13 @@ let
         sha512 = "VZ0VPPIuiSO5/ZZr/UqFP3X3Yv04/TZxIe+SO+Ceqy43ulthPZcnrWsB8hYW2gqZzOPJeVJaYaX9FmL70kYITw==";
       };
     };
-    "goldengate-11.0.0" = {
+    "goldengate-11.0.1" = {
       name = "goldengate";
       packageName = "goldengate";
-      version = "11.0.0";
+      version = "11.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/goldengate/-/goldengate-11.0.0.tgz";
-        sha512 = "2hGoEY0KosJOgllqjzx1M7jQGC9a9YmDy4qznidhn4pUHPFfIYDp+Wdy58TnHH8mcGuaHd+uJdsZVaWMkA7S/w==";
+        url = "https://registry.npmjs.org/goldengate/-/goldengate-11.0.1.tgz";
+        sha512 = "4mu4FxLNkcyMfzH1cnarJ+0I5nkzuRO5AKZ0fcJ92vnBWC1M+MuYNozWV5jpqwHnpRLYgxOGDJnY0TcmQlmFHg==";
       };
     };
     "gonzales-pe-4.3.0" = {
@@ -30483,13 +30726,13 @@ let
         sha512 = "otgSPpUmdWJ43VXyiNgEYE4luzHCL2pz4wQ0OnDluC6Eg4Ko3Vexy/SrSynglw/eR+OhkzmqFCZa/OFa/RgAOQ==";
       };
     };
-    "google-auth-library-7.11.0" = {
+    "google-auth-library-7.13.0" = {
       name = "google-auth-library";
       packageName = "google-auth-library";
-      version = "7.11.0";
+      version = "7.13.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.11.0.tgz";
-        sha512 = "3S5jn2quRumvh9F/Ubf7GFrIq71HZ5a6vqosgdIu105kkk0WtSqc2jGCRqtWWOLRS8SX3AHACMOEDxhyWAQIcg==";
+        url = "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.13.0.tgz";
+        sha512 = "6Q2/ZijxVKt9I6TgljUa4oMiRvQcul0lm3g6faEvWHZ9ql9gOmlAJPAmV/BKQ/GiMFtD2llF6codS350d0GjlQ==";
       };
     };
     "google-closure-compiler-js-20170910.0.1" = {
@@ -30501,13 +30744,13 @@ let
         sha512 = "Vric7QFWxzHFxITZ10bmlG1H/5rhODb7hJuWyKWMD8GflpQzRmbMVqkFp3fKvN+U9tPwZItGVhkiOR+84PX3ew==";
       };
     };
-    "google-gax-2.28.1" = {
+    "google-gax-2.29.6" = {
       name = "google-gax";
       packageName = "google-gax";
-      version = "2.28.1";
+      version = "2.29.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.28.1.tgz";
-        sha512 = "2Xjd3FrjlVd6Cmw2B2Aicpc/q92SwTpIOvxPUlnRg9w+Do8nu7UR+eQrgoKlo2FIUcUuDTvppvcx8toND0pK9g==";
+        url = "https://registry.npmjs.org/google-gax/-/google-gax-2.29.6.tgz";
+        sha512 = "NsuGBpxOzvBS4rbaeicIpgZ1caU3vNcG04kJWb51rlcYJvzXwHgPof9w4UplR2WVqlFzLkDtEStQOKhS/QcLmA==";
       };
     };
     "google-p12-pem-3.1.3" = {
@@ -30519,6 +30762,24 @@ let
         sha512 = "MC0jISvzymxePDVembypNefkAQp+DRP7dBE+zNUPaIjEspIlYg0++OrsNr248V9tPbz6iqtZ7rX1hxWA5B8qBQ==";
       };
     };
+    "googleapis-76.0.0" = {
+      name = "googleapis";
+      packageName = "googleapis";
+      version = "76.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/googleapis/-/googleapis-76.0.0.tgz";
+        sha512 = "l/TFSW7IRFcb7wF641BlmuP8Ox1ncuzJk5Fcs2947otlGBm5ktDxFhPkmrcNDaG+LWPQsuDwP1ojL0xV39cpmw==";
+      };
+    };
+    "googleapis-common-5.0.5" = {
+      name = "googleapis-common";
+      packageName = "googleapis-common";
+      version = "5.0.5";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/googleapis-common/-/googleapis-common-5.0.5.tgz";
+        sha512 = "o2dgoW4x4fLIAN+IVAOccz3mEH8Lj1LP9c9BSSvkNJEn+U7UZh0WSr4fdH08x5VH7+sstIpd1lOYFZD0g7j4pw==";
+      };
+    };
     "goosig-0.10.0" = {
       name = "goosig";
       packageName = "goosig";
@@ -30681,13 +30942,22 @@ let
         sha1 = "4cafad76bc62f02fa039b2f94e9a3dd3a391a725";
       };
     };
-    "grammy-1.6.2" = {
+    "grammy-1.7.0" = {
       name = "grammy";
       packageName = "grammy";
-      version = "1.6.2";
+      version = "1.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/grammy/-/grammy-1.7.0.tgz";
+        sha512 = "Xs4vRzCkSO+8CrFP8BXXOo4BGfBGWTPoDcbj8V3kz/c01XLNXI738HWv6/qjQ+IuPLnd/Qegjy7MBogbymogUg==";
+      };
+    };
+    "grant-4.7.0" = {
+      name = "grant";
+      packageName = "grant";
+      version = "4.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/grammy/-/grammy-1.6.2.tgz";
-        sha512 = "STsZMwpde6dAoJnj6ejaKC7PvfTJz2onv6NbPEFsz+wG3l6ZVOrar2rT59/Qrr+xqrWqvjFhTU5mSCyMMvBowg==";
+        url = "https://registry.npmjs.org/grant/-/grant-4.7.0.tgz";
+        sha512 = "QGPjCYDrBnb/OIiTRxbK3TnNOE6Ycgfc/GcgPzI4vyNIr+b7yisEexYp7VM74zj6bxr+mDTzfGONRLzzsVPJIA==";
       };
     };
     "grapheme-breaker-0.3.2" = {
@@ -30717,22 +30987,22 @@ let
         sha512 = "jcLLfkpoVGmH7/InMC/1hIvOPSUh38oJtGhvrOFGzioE1DZ+0YW16RgmOJhHiuWTvGiJQ9Z1Ik43JvkRPRvE+A==";
       };
     };
-    "graphology-0.20.0" = {
+    "graphology-0.23.2" = {
       name = "graphology";
       packageName = "graphology";
-      version = "0.20.0";
+      version = "0.23.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphology/-/graphology-0.20.0.tgz";
-        sha512 = "h5mJWgZXpuZQzBAMWhVIOluGNIYUP043eh7BHcecRWhSkD4eiZAh+uM4XX2rGL1vig9XQ3JVYl9gmK+ajy+JPA==";
+        url = "https://registry.npmjs.org/graphology/-/graphology-0.23.2.tgz";
+        sha512 = "RHcLpAP4M+KPShLQEvgkT1Y4vxl+FFbmmy3D0mupO+VXIuYC8zdmMcHs40D9m3mmN067zGS+lUaHjDq06Td7PQ==";
       };
     };
-    "graphology-types-0.19.5" = {
+    "graphology-types-0.21.2" = {
       name = "graphology-types";
       packageName = "graphology-types";
-      version = "0.19.5";
+      version = "0.21.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphology-types/-/graphology-types-0.19.5.tgz";
-        sha512 = "zXJEDILlJ2JI+oUVjHkXZIRRZfWuwBEhOJagOARnt4eWuErBJZUJmiEOJjLDA0s0DQNFxIHD4+NRwsU4B0VxWw==";
+        url = "https://registry.npmjs.org/graphology-types/-/graphology-types-0.21.2.tgz";
+        sha512 = "KNdgwG0dbVjhJqRUw0OivJ5pkUHunbk4vDatwdfITfNvPugX0xR327ZKsaOcr3snbiBJfyGu7lCrXeYp4KF8YA==";
       };
     };
     "graphql-0.11.7" = {
@@ -30780,6 +31050,15 @@ let
         sha512 = "EB3zgGchcabbsU9cFe1j+yxdzKQKAbGUWRb13DsrsMN1yyfmmIq+2+L5MqVWcDCE4V89R5AyUOi7sMOGxdsYtA==";
       };
     };
+    "graphql-15.8.0" = {
+      name = "graphql";
+      packageName = "graphql";
+      version = "15.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphql/-/graphql-15.8.0.tgz";
+        sha512 = "5gghUc24tP9HRznNpV2+FIoq3xKkj5dTQqf4v0CpdPbFVwFkWoxOM+o+2OC9ZSvjEMTjfmG9QT+gcvggTwW1zw==";
+      };
+    };
     "graphql-config-3.0.3" = {
       name = "graphql-config";
       packageName = "graphql-config";
@@ -30798,6 +31077,15 @@ let
         sha512 = "Myqay6pmdcmX3KqoH+bMbeKZ1cTODpHS2CxF1ZzNnfTE+YUpGTcp01bOw6LpzamRb0T/WTYtGFbZeXGo9Hab2Q==";
       };
     };
+    "graphql-executor-0.0.18" = {
+      name = "graphql-executor";
+      packageName = "graphql-executor";
+      version = "0.0.18";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/graphql-executor/-/graphql-executor-0.0.18.tgz";
+        sha512 = "upUSl7tfZCZ5dWG1XkOvpG70Yk3duZKcCoi/uJso4WxJVT6KIrcK4nZ4+2X/hzx46pL8wAukgYHY6iNmocRN+g==";
+      };
+    };
     "graphql-extensions-0.15.0" = {
       name = "graphql-extensions";
       packageName = "graphql-extensions";
@@ -30915,22 +31203,22 @@ let
         sha512 = "sHkK9+lUm20/BGawNEWNtVAeJzhZeBg21VmvmLoT5NdGVeZWv5PdIhkcayQIAgjSyyQ17WMKmbDijIPG2On+Ag==";
       };
     };
-    "graphql-ws-5.5.5" = {
+    "graphql-ws-5.6.0" = {
       name = "graphql-ws";
       packageName = "graphql-ws";
-      version = "5.5.5";
+      version = "5.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.5.5.tgz";
-        sha512 = "hvyIS71vs4Tu/yUYHPvGXsTgo0t3arU820+lT5VjZS2go0ewp2LqyCgxEN56CzOG7Iys52eRhHBiD1gGRdiQtw==";
+        url = "https://registry.npmjs.org/graphql-ws/-/graphql-ws-5.6.0.tgz";
+        sha512 = "Kz/4z1u9yGKWMtzlvia9wW8AJGjx68OyCCV40dabYq1OeyUxgU9t8Ll43vLAje7TYiLwZSwGbvtHviHaPyGYxw==";
       };
     };
-    "gray-matter-2.1.1" = {
+    "gray-matter-4.0.3" = {
       name = "gray-matter";
       packageName = "gray-matter";
-      version = "2.1.1";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gray-matter/-/gray-matter-2.1.1.tgz";
-        sha1 = "3042d9adec2a1ded6a7707a9ed2380f8a17a430e";
+        url = "https://registry.npmjs.org/gray-matter/-/gray-matter-4.0.3.tgz";
+        sha512 = "5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==";
       };
     };
     "grid-index-1.1.0" = {
@@ -30996,13 +31284,13 @@ let
         sha512 = "GD7cTz0I4SAede1/+pAbmJRG44zFLPipVtdL9o3vqx9IEyb7b4/Y3s7r6ofI3CchR5GvYJ+8buCSioDv5dQLiA==";
       };
     };
-    "gtoken-5.3.1" = {
+    "gtoken-5.3.2" = {
       name = "gtoken";
       packageName = "gtoken";
-      version = "5.3.1";
+      version = "5.3.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/gtoken/-/gtoken-5.3.1.tgz";
-        sha512 = "yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==";
+        url = "https://registry.npmjs.org/gtoken/-/gtoken-5.3.2.tgz";
+        sha512 = "gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==";
       };
     };
     "guard-timeout-2.0.0" = {
@@ -31356,15 +31644,6 @@ let
         sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     };
-    "has-generators-1.0.1" = {
-      name = "has-generators";
-      packageName = "has-generators";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/has-generators/-/has-generators-1.0.1.tgz";
-        sha1 = "a6a2e55486011940482e13e2c93791c449acf449";
-      };
-    };
     "has-glob-1.0.0" = {
       name = "has-glob";
       packageName = "has-glob";
@@ -31842,6 +32121,15 @@ let
         sha512 = "n8aSFscI9r3gfhOcAECAtXFaQ1uy4QSke6bnaL+iymYZ/dWs9cqDqHM+rALfsHUwukUbxsdlECZ0pKmJdQ/4OA==";
       };
     };
+    "helmet-4.6.0" = {
+      name = "helmet";
+      packageName = "helmet";
+      version = "4.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz";
+        sha512 = "HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg==";
+      };
+    };
     "help-me-3.0.0" = {
       name = "help-me";
       packageName = "help-me";
@@ -32247,15 +32535,6 @@ let
         sha1 = "c78de65b5663aa597989dd2b7ab49200d7e4db98";
       };
     };
-    "html-tags-2.0.0" = {
-      name = "html-tags";
-      packageName = "html-tags";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/html-tags/-/html-tags-2.0.0.tgz";
-        sha1 = "10b30a386085f43cede353cc8fa7cb0deeea668b";
-      };
-    };
     "html-tags-3.1.0" = {
       name = "html-tags";
       packageName = "html-tags";
@@ -32265,13 +32544,13 @@ let
         sha512 = "1qYz89hW3lFDEazhjW0yVAV87lw8lVkrJocr72XmBkMKsoSVJCQx3W8BXsC7hO2qAt8BoVjYjtAcZ9perqGnNg==";
       };
     };
-    "html-to-text-6.0.0" = {
+    "html-to-text-8.1.0" = {
       name = "html-to-text";
       packageName = "html-to-text";
-      version = "6.0.0";
+      version = "8.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-6.0.0.tgz";
-        sha512 = "r0KNC5aqCAItsjlgtirW6RW25c92Ee3ybQj8z//4Sl4suE3HIPqM4deGpYCUJULLjtVPEP1+Ma+1ZeX1iMsCiA==";
+        url = "https://registry.npmjs.org/html-to-text/-/html-to-text-8.1.0.tgz";
+        sha512 = "Z9iYAqYK2c18GswSbnxJSeMs7lyJgwR2oIkDOyOHGBbYsPsG4HvT379jj3Lcbfko8A5ceyyMHAfkmp/BiXA9/Q==";
       };
     };
     "html-void-elements-1.0.5" = {
@@ -32553,13 +32832,13 @@ let
         sha512 = "yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==";
       };
     };
-    "http-proxy-middleware-2.0.2" = {
+    "http-proxy-middleware-2.0.3" = {
       name = "http-proxy-middleware";
       packageName = "http-proxy-middleware";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.2.tgz";
-        sha512 = "XtmDN5w+vdFTBZaYhdJAbMqn0DP/EhkUaAeo963mojwpKMMbw6nivtFKw07D7DDOH745L5k0VL0P8KRYNEVF/g==";
+        url = "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.3.tgz";
+        sha512 = "1bloEwnrHMnCoO/Gcwbz7eSVvW50KPES01PecpagI+YLNLci4AcuKJrujW4Mc3sBLpFxMSlsLNHS5Nl/lvrTPA==";
       };
     };
     "http-signature-0.11.0" = {
@@ -32976,13 +33255,13 @@ let
         sha512 = "FYz4wlXgkQwIPqhzC5TdNMLSE5+GS1IIDJZY/1ZiEPCT2S3COUVZeT5OW4BmW4r5LHLQuOosSwsvnroG9GR59Q==";
       };
     };
-    "i18next-21.6.6" = {
+    "i18next-21.6.11" = {
       name = "i18next";
       packageName = "i18next";
-      version = "21.6.6";
+      version = "21.6.11";
       src = fetchurl {
-        url = "https://registry.npmjs.org/i18next/-/i18next-21.6.6.tgz";
-        sha512 = "K1Pw8K+nHVco56PO6UrqNq4K/ZVbb2eqBQwPqmzYDm4tGQYXBjdz8jrnvuNvV5STaE8oGpWKQMxHOvh2zhVE7Q==";
+        url = "https://registry.npmjs.org/i18next/-/i18next-21.6.11.tgz";
+        sha512 = "tJ2+o0lVO+fhi8bPkCpBAeY1SgkqmQm5NzgPWCQssBrywJw98/o+Kombhty5nxQOpHtvMmsxcOopczUiH6bJxQ==";
       };
     };
     "iconv-lite-0.4.19" = {
@@ -33111,15 +33390,6 @@ let
         sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
       };
     };
-    "ignore-5.1.9" = {
-      name = "ignore";
-      packageName = "ignore";
-      version = "5.1.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ignore/-/ignore-5.1.9.tgz";
-        sha512 = "2zeMQpbKz5dhZ9IwL0gbxSW5w0NK/MSAMtNuhgIHEPmaU3vPdKPL0UdvUCXs5SS4JAwsBxysK5sFMW8ocFiVjQ==";
-      };
-    };
     "ignore-5.2.0" = {
       name = "ignore";
       packageName = "ignore";
@@ -33372,15 +33642,6 @@ let
         sha512 = "rKtvo6a868b5Hu3heneU+L4yEQ4jYKLtjpnPeUdK7h0yzXGmyBTypknlkCvHFBqfX9YlorEiMM6Dnq/5atfHkw==";
       };
     };
-    "import-local-0.1.1" = {
-      name = "import-local";
-      packageName = "import-local";
-      version = "0.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/import-local/-/import-local-0.1.1.tgz";
-        sha1 = "b1179572aacdc11c6a91009fb430dbcab5f668a8";
-      };
-    };
     "import-local-2.0.0" = {
       name = "import-local";
       packageName = "import-local";
@@ -33516,13 +33777,13 @@ let
         sha1 = "45e0e2ff7a9eb030b27d62b74b3744b7a7ac4216";
       };
     };
-    "inflection-1.13.1" = {
+    "inflection-1.13.2" = {
       name = "inflection";
       packageName = "inflection";
-      version = "1.13.1";
+      version = "1.13.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inflection/-/inflection-1.13.1.tgz";
-        sha512 = "dldYtl2WlN0QDkIDtg8+xFwOS2Tbmp12t1cHa5/YClU6ZQjTFm7B66UcVbh9NQB+HvT5BAd2t5+yKsBkw5pcqA==";
+        url = "https://registry.npmjs.org/inflection/-/inflection-1.13.2.tgz";
+        sha512 = "cmZlljCRTBFouT8UzMzrGcVEvkv6D/wBdcdKG7J1QH5cXjtU75Dm+P27v9EKu/Y43UYyCJd1WC4zLebRrC8NBw==";
       };
     };
     "inflight-1.0.6" = {
@@ -33642,13 +33903,13 @@ let
         sha512 = "uJ4nbH00MM9fjTJ5xdw0zzvtXMkeGb0WV6dzSWvFv2/+ks6FIhpkt+Ge/eLdh0Ah6Vjw5pLMyNfoHQpRDRVFbQ==";
       };
     };
-    "ink-text-input-4.0.2" = {
+    "ink-text-input-4.0.3" = {
       name = "ink-text-input";
       packageName = "ink-text-input";
-      version = "4.0.2";
+      version = "4.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ink-text-input/-/ink-text-input-4.0.2.tgz";
-        sha512 = "euuugcNExOx5E+qNM1c+pDF7V8yw/xzCRWEfFk1KjQT9CYtaVAYre13YbMFsYPkGD26dvX6XAffUgkwXme/p5Q==";
+        url = "https://registry.npmjs.org/ink-text-input/-/ink-text-input-4.0.3.tgz";
+        sha512 = "eQD01ik9ltmNoHmkeQ2t8LszYkv2XwuPSUz3ie/85qer6Ll/j0QSlSaLNl6ENHZakBHdCBVZY04iOXcLLXA0PQ==";
       };
     };
     "inline-process-browser-1.0.0" = {
@@ -33786,6 +34047,15 @@ let
         sha512 = "qHgHyJmbULt4hI+kCmwX92MnSxDs/Yhdt4wPA30qnoa01OF6uTXV8yvH4hKXgdaTNmkZ9D01MHjqKYEuJN+ONw==";
       };
     };
+    "inquirer-autocomplete-prompt-ipt-2.0.0" = {
+      name = "inquirer-autocomplete-prompt-ipt";
+      packageName = "inquirer-autocomplete-prompt-ipt";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/inquirer-autocomplete-prompt-ipt/-/inquirer-autocomplete-prompt-ipt-2.0.0.tgz";
+        sha512 = "2qkl1lWeXbFN/O3+xdqJUdMfnNirvWKqgsgmhOjpOiVCcnJf+XYSEjFfdTgk+MDTtVt5AZiWR9Ji+f4YsWBdUw==";
+      };
+    };
     "inquirer-autosubmit-prompt-0.2.0" = {
       name = "inquirer-autosubmit-prompt";
       packageName = "inquirer-autosubmit-prompt";
@@ -34020,15 +34290,6 @@ let
         sha512 = "Id0Fij0HsB/vKWGeBe9PxeY45ttRiBmhFyyt/geBdDHBYNctMRTE3dC1U3ujzz3lap+hVXlEcVaB56kZP/eEUg==";
       };
     };
-    "into-stream-2.0.1" = {
-      name = "into-stream";
-      packageName = "into-stream";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/into-stream/-/into-stream-2.0.1.tgz";
-        sha1 = "db9b003694453eae091d8a5c84cc11507b781d31";
-      };
-    };
     "into-stream-3.1.0" = {
       name = "into-stream";
       packageName = "into-stream";
@@ -34119,6 +34380,15 @@ let
         sha512 = "yCAFA3CtbRIiLOdybrZhV1UQ4Rjy20dXBL/5PzlqaZjDbz+RFWtuk3BWsUF12WJo1ikSeVhFXjp6hGAGIG690g==";
       };
     };
+    "invoices-2.0.4" = {
+      name = "invoices";
+      packageName = "invoices";
+      version = "2.0.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/invoices/-/invoices-2.0.4.tgz";
+        sha512 = "+Np4KWjNSlYm7Qp12zkRN5eu9tkA7FAFIP60bmpbMbwQbgz5gV9go3bkY8CpGj+Z1zifw5N8U+pH+wko/XSjpw==";
+      };
+    };
     "iota-array-1.0.0" = {
       name = "iota-array";
       packageName = "iota-array";
@@ -35046,6 +35316,15 @@ let
         sha512 = "1JQwulVNjx8UqkPE/bqDaxtH4PXCe/2VRh/y3p99heOV87HG4Id5/VfDswd+YiAfHcRTfDlWgISycnHuhZq1aw==";
       };
     };
+    "is-nan-1.3.2" = {
+      name = "is-nan";
+      packageName = "is-nan";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-nan/-/is-nan-1.3.2.tgz";
+        sha512 = "E+zBKpQ2t6MEo1VsonYmluk9NxGrbzpeeLC2xIViuO2EjU2xsXsBPwTr3Ykv9l08UYEVEdWeRZNouaZqF6RN0w==";
+      };
+    };
     "is-natural-number-4.0.1" = {
       name = "is-natural-number";
       packageName = "is-natural-number";
@@ -35334,6 +35613,15 @@ let
         sha512 = "SqU55C5gkitgOhl2ccd2v23MbkbcOFa5e4aPo8h8VGqOifh7iDwG44bQBWGW/lZulTjl9AWIKP0NiUWpa+TtWA==";
       };
     };
+    "is-port-reachable-3.1.0" = {
+      name = "is-port-reachable";
+      packageName = "is-port-reachable";
+      version = "3.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-port-reachable/-/is-port-reachable-3.1.0.tgz";
+        sha512 = "vjc0SSRNZ32s9SbZBzGaiP6YVB+xglLShhgZD/FHMZUXBvQWaV9CtzgeVhjccFJrI6RAMV+LX7NYxueW/A8W5A==";
+      };
+    };
     "is-posix-bracket-0.1.1" = {
       name = "is-posix-bracket";
       packageName = "is-posix-bracket";
@@ -35397,6 +35685,15 @@ let
         sha512 = "eCTBKm9K6nO3H1S3BrJBAqZJIVXKNdwDuGl6KHf1bnf/bn02BvEe+l+MypjsxbqZ7mt5oMhu+bS/mm7G2FRW3A==";
       };
     };
+    "is-reachable-5.1.1" = {
+      name = "is-reachable";
+      packageName = "is-reachable";
+      version = "5.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/is-reachable/-/is-reachable-5.1.1.tgz";
+        sha512 = "CIZlnpOha9mgqHjLaodY3OeYEX62ElsuYvtI8HmJz4uJEHfaeQ+vNBCAkUsyfCrYawSbCOSufUHM6lHaP4hG8Q==";
+      };
+    };
     "is-redirect-1.0.0" = {
       name = "is-redirect";
       packageName = "is-redirect";
@@ -35973,13 +36270,13 @@ let
         sha512 = "qvUtwJ3j6qwsF3jLxkZ72qCgjMysPzDfeV240JHiGZsANBYd+EEuu35v7dfrJ9Up0Ak07D7GGSkGhCHTqg/5wA==";
       };
     };
-    "isomorphic-git-1.10.4" = {
+    "isomorphic-git-1.10.5" = {
       name = "isomorphic-git";
       packageName = "isomorphic-git";
-      version = "1.10.4";
+      version = "1.10.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.10.4.tgz";
-        sha512 = "0nvws2N2pWX04AZPpYUyvgPmupKbklP/qSerP/A8yuoe8t4flhpOwYl8INdV6u8j24ALm5X3QBciOTz96ugT2Q==";
+        url = "https://registry.npmjs.org/isomorphic-git/-/isomorphic-git-1.10.5.tgz";
+        sha512 = "hcD5SkH36iv2ooM9VCY3kPOYtCgxjw52LmqB6sj5oWlDu/IbI3mYtPdok2lmR5dzmCoaUT7pCXz847AWW7Mv3w==";
       };
     };
     "isomorphic-textencoder-1.0.1" = {
@@ -36144,13 +36441,13 @@ let
         sha512 = "eLpKyrfG3mzvGE2Du8VoPbeSkRry093+tyNjdYaBbJS9v17knImYGNXQCUV0gLxQtF82m3E8iRb/wdSQZLoq7A==";
       };
     };
-    "javascript-stringify-1.6.0" = {
+    "javascript-stringify-2.1.0" = {
       name = "javascript-stringify";
       packageName = "javascript-stringify";
-      version = "1.6.0";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-1.6.0.tgz";
-        sha1 = "142d111f3a6e3dae8f4a9afd77d45855b5a9cce3";
+        url = "https://registry.npmjs.org/javascript-stringify/-/javascript-stringify-2.1.0.tgz";
+        sha512 = "JVAfqNPTvNq3sB/VHQJAFxN/sPgKnsKrCwyRt15zwNCdrMMJDdcEOdubuy+DuJYYdm0ox1J4uzEuYKkN+9yhVg==";
       };
     };
     "jed-1.1.1" = {
@@ -36162,6 +36459,15 @@ let
         sha1 = "7a549bbd9ffe1585b0cd0a191e203055bee574b4";
       };
     };
+    "jest-environment-node-27.5.1" = {
+      name = "jest-environment-node";
+      packageName = "jest-environment-node";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-environment-node/-/jest-environment-node-27.5.1.tgz";
+        sha512 = "Jt4ZUnxdOsTGwSRAfKEnE6BcwsSPNOijjwifq5sDFSA2kesnXTvNqKHYgM0hDq3549Uf/KzdXNYn4wMZJPlFLw==";
+      };
+    };
     "jest-haste-map-25.5.1" = {
       name = "jest-haste-map";
       packageName = "jest-haste-map";
@@ -36171,6 +36477,24 @@ let
         sha512 = "dddgh9UZjV7SCDQUrQ+5t9yy8iEgKc1AKqZR9YDww8xsVOtzPQSMVLDChc21+g29oTRexb9/B0bIlZL+sWmvAQ==";
       };
     };
+    "jest-message-util-27.5.1" = {
+      name = "jest-message-util";
+      packageName = "jest-message-util";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.5.1.tgz";
+        sha512 = "rMyFe1+jnyAAf+NHwTclDz0eAaLkVDdKVHHBFWsBWHnnh5YeJMNWWsv7AbFYXfK3oTqvL7VTWkhNLu1jX24D+g==";
+      };
+    };
+    "jest-mock-27.5.1" = {
+      name = "jest-mock";
+      packageName = "jest-mock";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-mock/-/jest-mock-27.5.1.tgz";
+        sha512 = "K4jKbY1d4ENhbrG2zuPWaQBvDly+iZ2yAW+T1fATN78hc0sInwn7wZB8XtlNnvHug5RMwV897Xm4LqmPM4e2Og==";
+      };
+    };
     "jest-regex-util-25.2.6" = {
       name = "jest-regex-util";
       packageName = "jest-regex-util";
@@ -36198,6 +36522,15 @@ let
         sha512 = "KVlX+WWg1zUTB9ktvhsg2PXZVdkI1NBevOJSkTKYAyXyH4QSvh+Lay/e/v+bmaFfrkfx43xD8QTfgobzlEXdIA==";
       };
     };
+    "jest-util-27.5.1" = {
+      name = "jest-util";
+      packageName = "jest-util";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/jest-util/-/jest-util-27.5.1.tgz";
+        sha512 = "Kv2o/8jNvX1MQ0KGtw480E/w4fBCDOnH6+6DmeKi6LZUIlKA5kwY0YNdlzaWTiVgxqAqik11QyxDOKk543aKXw==";
+      };
+    };
     "jest-worker-25.5.0" = {
       name = "jest-worker";
       packageName = "jest-worker";
@@ -36216,13 +36549,13 @@ let
         sha512 = "KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==";
       };
     };
-    "jest-worker-27.4.6" = {
+    "jest-worker-27.5.1" = {
       name = "jest-worker";
       packageName = "jest-worker";
-      version = "27.4.6";
+      version = "27.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.4.6.tgz";
-        sha512 = "gHWJF/6Xi5CTG5QCvROr6GcmpIqNYpDJyc8A1h/DyXqH1tD6SnRCM0d3U5msV31D2LB/U+E0M+W4oyvKV44oNw==";
+        url = "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz";
+        sha512 = "7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==";
       };
     };
     "jimp-compact-0.16.1" = {
@@ -36288,13 +36621,13 @@ let
         sha1 = "06d4912255093419477d425633606e0e90782967";
       };
     };
-    "joi-17.5.0" = {
+    "joi-17.6.0" = {
       name = "joi";
       packageName = "joi";
-      version = "17.5.0";
+      version = "17.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/joi/-/joi-17.5.0.tgz";
-        sha512 = "R7hR50COp7StzLnDi4ywOXHrBrgNXuUUfJWIR5lPY5Bm/pOD3jZaTwpluUXVLRWcoWZxkrHBBJ5hLxgnlehbdw==";
+        url = "https://registry.npmjs.org/joi/-/joi-17.6.0.tgz";
+        sha512 = "OX5dG6DTbcr/kbMFj0KGYxuew69HPcAE3K/sZpEV2nP6e/j/C0HV+HNiBPCASxdx5T7DMoa0s8UeHWMnb6n2zw==";
       };
     };
     "join-component-1.1.0" = {
@@ -36379,13 +36712,13 @@ let
         sha512 = "JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==";
       };
     };
-    "jquery-ui-1.12.1" = {
+    "jquery-ui-1.13.1" = {
       name = "jquery-ui";
       packageName = "jquery-ui";
-      version = "1.12.1";
+      version = "1.13.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz";
-        sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
+        url = "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.13.1.tgz";
+        sha512 = "2VlU59N5P4HaumDK1Z3XEVjSvegFbEOQRgpHUBaB2Ak98Axl3hFhJ6RFcNQNuk9SfL6WxIbuLst8dW/U56NSiA==";
       };
     };
     "jquery.terminal-2.31.1" = {
@@ -36397,6 +36730,15 @@ let
         sha512 = "JVCL3mOmE+NQ1SvwHyRtJ18ICEylHoLqh0mmi0HResjeE7v/85rREfoLDtYfJxDxCNpTrznGl3HEoUCfjHnycA==";
       };
     };
+    "js-base64-2.6.3" = {
+      name = "js-base64";
+      packageName = "js-base64";
+      version = "2.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-base64/-/js-base64-2.6.3.tgz";
+        sha512 = "fiUvdfCaAXoQTHdKMgTvg6IkecXDcVz6V5rlftUTclF9IKBjMizvSdQaCl/z/6TApDeby5NL+axYou3i0mu1Pg==";
+      };
+    };
     "js-base64-2.6.4" = {
       name = "js-base64";
       packageName = "js-base64";
@@ -36469,6 +36811,15 @@ let
         sha512 = "/Ew+CJWHNddr7sjwgxaVeIORIH4AMVC9dy0hPf540ZGMVgS9d3ajwuVdyhDt6/QUvT8ATjR3yuYBKsS79F+H4A==";
       };
     };
+    "js-sha256-0.9.0" = {
+      name = "js-sha256";
+      packageName = "js-sha256";
+      version = "0.9.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/js-sha256/-/js-sha256-0.9.0.tgz";
+        sha512 = "sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA==";
+      };
+    };
     "js-sha3-0.8.0" = {
       name = "js-sha3";
       packageName = "js-sha3";
@@ -36613,13 +36964,13 @@ let
         sha512 = "SdRK2C7jjs4k/kT2mwtO07KJN9RnjxtKn03d9JVj6c3j9WwaLcFYsICYDnLAzY0hp+wG2nxl+Cm2jWLiNVYb8g==";
       };
     };
-    "jsdoc-3.6.9" = {
+    "jsdoc-3.6.10" = {
       name = "jsdoc";
       packageName = "jsdoc";
-      version = "3.6.9";
+      version = "3.6.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.9.tgz";
-        sha512 = "bVrM2DT2iLmv6jd2IdTRk67tC4iaSDUicD+47y+cNCYlE8dccd4xZnlANG4M+OmGyV389bABSTKKfoPCOofbKw==";
+        url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz";
+        sha512 = "IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==";
       };
     };
     "jsdom-11.12.0" = {
@@ -36703,49 +37054,49 @@ let
         sha512 = "xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g==";
       };
     };
-    "jsii-1.52.1" = {
+    "jsii-1.54.0" = {
       name = "jsii";
       packageName = "jsii";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii/-/jsii-1.52.1.tgz";
-        sha512 = "kILHStPX3xeADtB/2Wda56Mzz/6KUw8xNr/k+dp84qn9YlZA81cW85tKK5biYCy/XAh5IPsWIZVFRqR8CSPMMw==";
+        url = "https://registry.npmjs.org/jsii/-/jsii-1.54.0.tgz";
+        sha512 = "XuqGpmGIxFcX2GvX3zjcHBzBeZ7+tJ7hr5tu/7qV6wQ/thXuZFdAoj2znSgBkpGOt6mjtRuqv01HIRl25Nys5g==";
       };
     };
-    "jsii-pacmak-1.52.1" = {
+    "jsii-pacmak-1.54.0" = {
       name = "jsii-pacmak";
       packageName = "jsii-pacmak";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.52.1.tgz";
-        sha512 = "6bIGCtfu8UAr3dmddbyqGGyFyz4TOr5aC1eo4Cqwl23v/elkzxYV8TFCra9HksVxDi6UtTYJuypnExb4gsOcgQ==";
+        url = "https://registry.npmjs.org/jsii-pacmak/-/jsii-pacmak-1.54.0.tgz";
+        sha512 = "1uvHzdrUiTL7Z6QLaoY5F4iK+JbVh8BL4dJrZRikd+ntVWW8sh0CIxAAtlwYgAMER8HihZ1AZUzngdZ/zO2AFw==";
       };
     };
-    "jsii-reflect-1.52.1" = {
+    "jsii-reflect-1.54.0" = {
       name = "jsii-reflect";
       packageName = "jsii-reflect";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.52.1.tgz";
-        sha512 = "OsTquiUJkgUu5jlK2VeshLFP9mBd1NU7vhHvcJZ+0xc/u2byfzPT0Irj2o6XLp30Vx/+uGGK6Nf6KyKtmUe82w==";
+        url = "https://registry.npmjs.org/jsii-reflect/-/jsii-reflect-1.54.0.tgz";
+        sha512 = "wB4hxHTAN4LEBVg/Y5sr3Sbh3Xe2+jrYIftnhT+2mmhMexHj3U0RhjPW/MFXxRTbiSgDad1fbw5VkJYDWnpGXw==";
       };
     };
-    "jsii-rosetta-1.52.1" = {
+    "jsii-rosetta-1.54.0" = {
       name = "jsii-rosetta";
       packageName = "jsii-rosetta";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.52.1.tgz";
-        sha512 = "iFpupZWQusVYGHaUPooaO6xVAtRp+o1EOMBS2FcJBZcWGbB8fRG3zzpeMSkoqu/Pjqtu7boh45V90CXtSmVfMQ==";
+        url = "https://registry.npmjs.org/jsii-rosetta/-/jsii-rosetta-1.54.0.tgz";
+        sha512 = "fxgx9L5eWzyMC1IEkDitxgcraHUuZbQQVQztJtZHw/QlZ9n0DUjfbKrefJQ2HpobtI9ZV2fDEYjuwZDBAVBdsA==";
       };
     };
-    "jsii-srcmak-0.1.454" = {
+    "jsii-srcmak-0.1.482" = {
       name = "jsii-srcmak";
       packageName = "jsii-srcmak";
-      version = "0.1.454";
+      version = "0.1.482";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.454.tgz";
-        sha512 = "TN0J2q2QQ92bzJuxKheb0NNSChy2AqDK9TBznBsbzYqPv5QwNZIMsnPrD1HVJRPVvS5Vz8+VttNjVniLw4QArg==";
+        url = "https://registry.npmjs.org/jsii-srcmak/-/jsii-srcmak-0.1.482.tgz";
+        sha512 = "Dr7eCmWXtYSPMODMxJxbzf6m5+iFH9WcKtmwWDFwcUke5bxTndovEKkK/GKHKD1sNZcF6FHX2Nak5Lib0bPUTw==";
       };
     };
     "json-bigint-1.0.0" = {
@@ -36829,13 +37180,13 @@ let
         sha1 = "13f14ce02eed4e981297b64eb9e3b932e2dd13dc";
       };
     };
-    "json-pointer-0.6.1" = {
+    "json-pointer-0.6.2" = {
       name = "json-pointer";
       packageName = "json-pointer";
-      version = "0.6.1";
+      version = "0.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.1.tgz";
-        sha512 = "3OvjqKdCBvH41DLpV4iSt6v2XhZXV1bPB4OROuknvUXI7ZQNofieCPkmE26stEJ9zdQuvIxDHCuYhfgxFAAs+Q==";
+        url = "https://registry.npmjs.org/json-pointer/-/json-pointer-0.6.2.tgz";
+        sha512 = "vLWcKbOaXlO+jvRy4qNd+TI1QUPZzfJj1tpJ3vAXDych5XJf93ftpUKe5pKCrzyIIwgBJcOcCVRUfqQP25afBw==";
       };
     };
     "json-ptr-1.3.2" = {
@@ -36847,13 +37198,13 @@ let
         sha512 = "tFH40YQ+lG7mgYYM1kGZOhQngO4SbOEHZJlA4W+NtetWZ20EUU3BPU+30uWRKumuAJoSo5eqrsXD2h72ioS8ew==";
       };
     };
-    "json-ptr-3.0.1" = {
+    "json-ptr-3.1.0" = {
       name = "json-ptr";
       packageName = "json-ptr";
-      version = "3.0.1";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-ptr/-/json-ptr-3.0.1.tgz";
-        sha512 = "hrZ4tElT8huJUH3OwOK+d7F8PRqw09QnGM3Mm3GmqKWDyCCPCG8lGHxXOwQAj0VOxzLirOds07Kz10B5F8M8EA==";
+        url = "https://registry.npmjs.org/json-ptr/-/json-ptr-3.1.0.tgz";
+        sha512 = "KMsG905wFbHHTnvd66MHCNo0E43UPalKt2zQUbBtWrDYKk/3vE/4u8lfWDdIyPEoMXxOFJO1lsBs6xPBXKxeVw==";
       };
     };
     "json-refs-2.1.7" = {
@@ -37036,13 +37387,13 @@ let
         sha512 = "0/4Lv6IenJV0qj2oBdgPIAmFiKKnh8qh7bmLFJ+/ZZHLjSeiL3fKKGX3UryvKPbxFbhV+JcYo9KUC19GJ/Z/4A==";
       };
     };
-    "json2jsii-0.2.114" = {
+    "json2jsii-0.2.142" = {
       name = "json2jsii";
       packageName = "json2jsii";
-      version = "0.2.114";
+      version = "0.2.142";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.114.tgz";
-        sha512 = "g1xBiPKcsTydLpeNXqe+HXD8gM/Wod5zrTwJqPpjFP+QNaDOjjMLPjmGa5R4gHwyapOT7GbqLH9bZhY+jnl1lw==";
+        url = "https://registry.npmjs.org/json2jsii/-/json2jsii-0.2.142.tgz";
+        sha512 = "voi+j4VtuhgI7aKq9WbGv8g4OiQd33JyCDyGHc+M/v+pp8mvzXja9sWvBa4F3zKRazwSERXvP1yS61CTztW8Xg==";
       };
     };
     "json3-3.2.6" = {
@@ -37099,13 +37450,13 @@ let
         sha512 = "oDPf7b6nFDKcX2qt5OLI/ZwGwH43qS/g2Z98UWo8ChoNtVMYdGa3Y48WHvjPqvNKnTUa2fOanvHFeE7ZxkiboQ==";
       };
     };
-    "jsonata-1.8.5" = {
+    "jsonata-1.8.6" = {
       name = "jsonata";
       packageName = "jsonata";
-      version = "1.8.5";
+      version = "1.8.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsonata/-/jsonata-1.8.5.tgz";
-        sha512 = "ilDyTBkg6qhNoNVr8PUPzz5GYvRK+REKOM5MdOGzH2y6V4yvPRMegSvbZLpbTtI0QAgz09QM7drDhSHUlwp9pA==";
+        url = "https://registry.npmjs.org/jsonata/-/jsonata-1.8.6.tgz";
+        sha512 = "ZH2TPYdNP2JecOl/HvrH47Xc+9imibEMQ4YqKy/F/FrM+2a6vfbGxeCX23dB9Fr6uvGwv+ghf1KxWB3iZk09wA==";
       };
     };
     "jsonc-parser-1.0.3" = {
@@ -37576,15 +37927,6 @@ let
         sha1 = "83cb748496ac491c7135104cbe56b88ca7392477";
       };
     };
-    "kafka-node-5.0.0" = {
-      name = "kafka-node";
-      packageName = "kafka-node";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kafka-node/-/kafka-node-5.0.0.tgz";
-        sha512 = "dD2ga5gLcQhsq1yNoQdy1MU4x4z7YnXM5bcG9SdQuiNr5KKuAmXixH1Mggwdah5o7EfholFbcNDPSVA6BIfaug==";
-      };
-    };
     "katex-0.13.24" = {
       name = "katex";
       packageName = "katex";
@@ -37675,13 +38017,13 @@ let
         sha512 = "qdyZ3XDuv11ANDXJ+shsmc+j/h5BHPDSn33MwkUMDg2EA++xEBleNkghr3Jg95cqVx5WgDYD8V/m3Q0y7kwQ2w==";
       };
     };
-    "keytar-7.7.0" = {
+    "keytar-7.9.0" = {
       name = "keytar";
       packageName = "keytar";
-      version = "7.7.0";
+      version = "7.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keytar/-/keytar-7.7.0.tgz";
-        sha512 = "YEY9HWqThQc5q5xbXbRwsZTh2PJ36OSYRjSv3NN2xf5s5dpLTjEZnC2YikR29OaVybf9nQ0dJ/80i40RS97t/A==";
+        url = "https://registry.npmjs.org/keytar/-/keytar-7.9.0.tgz";
+        sha512 = "VPD8mtVtm5JNtA2AErl6Chp06JBfy7diFQ7TQQhdpWOl6MrCRB+eRbvAZUsbGQS9kiMq0coJsy0W0vHpDCkWsQ==";
       };
     };
     "keyv-3.0.0" = {
@@ -37702,13 +38044,13 @@ let
         sha512 = "9ykJ/46SN/9KPM/sichzQ7OvXyGDYKGTaDlKMGCAlg2UK8KRy4jb0d8sFc+0Tt0YYnThq8X2RZgCg74RPxgcVA==";
       };
     };
-    "keyv-4.0.5" = {
+    "keyv-4.1.1" = {
       name = "keyv";
       packageName = "keyv";
-      version = "4.0.5";
+      version = "4.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/keyv/-/keyv-4.0.5.tgz";
-        sha512 = "531pkGLqV3BMg0eDqqJFI0R1mkK1Nm5xIP2mM6keP5P8WfFtCkg2IOwplTUmlGoTgIg9yQYZ/kdihhz89XH3vA==";
+        url = "https://registry.npmjs.org/keyv/-/keyv-4.1.1.tgz";
+        sha512 = "tGv1yP6snQVDSM4X6yxrv2zzq/EvpW+oYiUz6aueW1u9CtS8RzUQYxxmFwgZlO2jSgCxQbchhxaqXXp2hnKGpQ==";
       };
     };
     "khroma-1.4.1" = {
@@ -37855,15 +38197,6 @@ let
         sha512 = "RTSoaUAfLvpR357vWzAz/50Q/BmHfmE6ETSWfutT0AJiw10e6CmcdYRQJlLRd95B53D0Y2aD1jSxD3V3ySF+PA==";
       };
     };
-    "known-css-properties-0.5.0" = {
-      name = "known-css-properties";
-      packageName = "known-css-properties";
-      version = "0.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/known-css-properties/-/known-css-properties-0.5.0.tgz";
-        sha512 = "LOS0CoS8zcZnB1EjLw4LLqDXw8nvt3AGH5dXLQP3D9O1nLLA+9GC5GnPl5mmF+JiQAtSX4VyZC7KvEtcA4kUtA==";
-      };
-    };
     "koa-2.13.4" = {
       name = "koa";
       packageName = "koa";
@@ -37945,15 +38278,6 @@ let
         sha512 = "JGmxTuPWy4bH7bt6gD/OMWkhprawvRmzJSr8TWKmTL4N7+IMv3s0SedeQi5S4ilxM9Bo6ptkCyXj/7wf+VS5tg==";
       };
     };
-    "kuler-1.0.1" = {
-      name = "kuler";
-      packageName = "kuler";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/kuler/-/kuler-1.0.1.tgz";
-        sha512 = "J9nVUucG1p/skKul6DU3PUZrhs0LPulNaeUOox0IyXDi8S4CztTHs1gQphhuZmzXG7VOQSf6NJfKuzteQLv9gQ==";
-      };
-    };
     "kuler-2.0.0" = {
       name = "kuler";
       packageName = "kuler";
@@ -38062,6 +38386,15 @@ let
         sha512 = "weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==";
       };
     };
+    "latest-version-6.0.0" = {
+      name = "latest-version";
+      packageName = "latest-version";
+      version = "6.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/latest-version/-/latest-version-6.0.0.tgz";
+        sha512 = "zfTuGx4PwpoSJ1mABs58AkM6qMzu49LZ7LT5JHprKvpGpQ+cYtfSibi3tLLrH4z7UylYU42rfBdwN8YgqbTljA==";
+      };
+    };
     "launch-editor-2.3.0" = {
       name = "launch-editor";
       packageName = "launch-editor";
@@ -38548,40 +38881,67 @@ let
         sha512 = "5i0XgY+PSaGmMQTuVdtnzDg0LiTp1krfH4seefFLJNFb6Hunxic00D/roybGgd9hlbqeGmGYXZ+YQpATKQtblA==";
       };
     };
-    "lightning-5.2.1" = {
+    "lightning-5.3.3" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.2.1";
+      version = "5.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-5.2.1.tgz";
-        sha512 = "Mt9J8OvPC0A1xeNhT6mqWiBefer6hEVosLPiqBXJ1BsNPhGYAIEEuWCWT3Yy0biPm6FUotAdfb1IO6B4NILBhg==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.3.3.tgz";
+        sha512 = "/piN0cPoXe3wfKJxIwlclOEC3es0VhqFFKpPw5Z1AahpDs1UA/0+czaDiwUrwWPYnlM/6gh92Tu4iXDYNWipng==";
       };
     };
-    "lightning-5.3.1" = {
+    "lightning-5.3.4" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.3.1";
+      version = "5.3.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-5.3.1.tgz";
-        sha512 = "PbJJQJS9HOBfH8D99ejugmOur8K9MOdYXxep3eeq0GGof4dhO8gnQLcyvsBaxb25cVfFAiERJOMHheo9iCDkjg==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.3.4.tgz";
+        sha512 = "zUHlFFSS+KJhndoZkjkXPWpvlXAgYGWS2SxzXpiiwnXZKCNmT+IkQFQmp2oIpbF7K93oqlpxgafZMZDeReX5pQ==";
       };
     };
-    "lightning-5.3.3" = {
+    "lightning-5.6.1" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.3.3";
+      version = "5.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-5.3.3.tgz";
-        sha512 = "/piN0cPoXe3wfKJxIwlclOEC3es0VhqFFKpPw5Z1AahpDs1UA/0+czaDiwUrwWPYnlM/6gh92Tu4iXDYNWipng==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.6.1.tgz";
+        sha512 = "wUS82S4bhwlR8lwuQNiMX4T+LQ/mL2zNyXOiL7dzZBRpCr/65dyXBTsl3SZPwcm4miyvO4jJJ4jhgLgKRk35aQ==";
       };
     };
-    "lightning-5.3.4" = {
+    "lightning-5.6.2" = {
       name = "lightning";
       packageName = "lightning";
-      version = "5.3.4";
+      version = "5.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/lightning/-/lightning-5.3.4.tgz";
-        sha512 = "zUHlFFSS+KJhndoZkjkXPWpvlXAgYGWS2SxzXpiiwnXZKCNmT+IkQFQmp2oIpbF7K93oqlpxgafZMZDeReX5pQ==";
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.6.2.tgz";
+        sha512 = "1Bfrq+FK4/yuBStMzmiFnAG//YewN9Fznm2qn86z87/u6UcWqdpWvBCRS5njtq5bG6eWgxM4DOfaw9LptyXSog==";
+      };
+    };
+    "lightning-5.6.3" = {
+      name = "lightning";
+      packageName = "lightning";
+      version = "5.6.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.6.3.tgz";
+        sha512 = "esDBNfA2FoLiQrrOmAYrrjMfO7qz624m3X81aLODgqV4pNAIxEmXYD1fiDg3EBdAD1h07xoGna+xKT2oYDAuUw==";
+      };
+    };
+    "lightning-5.7.1" = {
+      name = "lightning";
+      packageName = "lightning";
+      version = "5.7.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.7.1.tgz";
+        sha512 = "cfVDw8LVhOQ067khkXkksk21uHFRX7lPnyBhQGkEMk7Udmu7hsmiQI464HG1YjpBOs6GkyT8jxf2RXPnbfLzYA==";
+      };
+    };
+    "lightning-5.8.1" = {
+      name = "lightning";
+      packageName = "lightning";
+      version = "5.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lightning/-/lightning-5.8.1.tgz";
+        sha512 = "j3m+M50fY9bZ+OSRKzJLon7dkxL+guAOp8ppDd3CLlvrba5ldbs8QbkXuYMXlwLi3Aw4ztSyEUyh69aaSfEXyg==";
       };
     };
     "lilconfig-2.0.4" = {
@@ -38755,13 +39115,13 @@ let
         sha512 = "q7Z71n3i4X0R9xthAryBdNGVGAO2R5X+/xXpmKeuPMrteg+W2U8VusTKV3YiJbXZwKsOlFlHe+go6uSNjfxrZw==";
       };
     };
-    "livereload-js-3.3.2" = {
+    "livereload-js-3.3.3" = {
       name = "livereload-js";
       packageName = "livereload-js";
-      version = "3.3.2";
+      version = "3.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.2.tgz";
-        sha512 = "w677WnINxFkuixAoUEXOStewzLYGI76XVag+0JWMMEyjJQKs0ibWZMxkTlB96Lm3EjZ7IeOxVziBEbtxVQqQZA==";
+        url = "https://registry.npmjs.org/livereload-js/-/livereload-js-3.3.3.tgz";
+        sha512 = "a7Jipme3XIBIryJluWP5LQrEAvhobDPyScBe+q+MYwxBiMT2Ck7msy4tAdF8TAa33FMdJqX4guP81Yhiu6BkmQ==";
       };
     };
     "ln-accounting-5.0.5" = {
@@ -38782,40 +39142,85 @@ let
         sha512 = "20ZIPPyGI4odh/Jxq6Lawtc+Zx7MkPuxnn34TuhZpM6ppwVbSGJSuJPctLrhZvWdaYYeboz3BITiqI/o4KvChQ==";
       };
     };
-    "ln-service-53.2.0" = {
+    "ln-service-53.5.0" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.2.0";
+      version = "53.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.2.0.tgz";
-        sha512 = "4qaKYQV6vRlIja7j5lo5G8srABzFmt/fY+8/EVYhU6hdLhAxNPDUZ8zSQky6bWOwtb2zZYejUZYT2GqI2tfq5w==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.5.0.tgz";
+        sha512 = "W6x/uM0K1hHEMadW4YvXcucUc2hjIm+jMIxs0ujNaeRH6uVFEtlfPmEwnYV9EzU3Ns+NOp/juuN/fvF0DqeXhQ==";
       };
     };
-    "ln-service-53.4.0" = {
+    "ln-service-53.5.1" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.4.0";
+      version = "53.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.4.0.tgz";
-        sha512 = "+KPin7a4zCVtYMoVmTEVQPNg7BZUm/5dRd/bI1hY1z+wiL7GE5CxvKNbEIyPgyxRYuLXf8nx/4vvFiSjfJKfug==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.5.1.tgz";
+        sha512 = "EXLhYeu1qvhk+yzuH6qBZyGvqBPWT71FnmsbOxKjWofW6SGQBbJuNru6Ub2NIMhJnXqD7qvMvswZ54ho/oPvGQ==";
       };
     };
-    "ln-service-53.5.0" = {
+    "ln-service-53.7.2" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.5.0";
+      version = "53.7.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.5.0.tgz";
-        sha512 = "W6x/uM0K1hHEMadW4YvXcucUc2hjIm+jMIxs0ujNaeRH6uVFEtlfPmEwnYV9EzU3Ns+NOp/juuN/fvF0DqeXhQ==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.7.2.tgz";
+        sha512 = "JrCr7yYX0m3Dus2ucsDmJJ7aVvyUtl+wUEIn1HdC8HpuwjZFARaeTG7Nm3qJk1jTaV14JrqyRPzvZ5/InwtPvg==";
       };
     };
-    "ln-service-53.5.1" = {
+    "ln-service-53.7.3" = {
       name = "ln-service";
       packageName = "ln-service";
-      version = "53.5.1";
+      version = "53.7.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.5.1.tgz";
-        sha512 = "EXLhYeu1qvhk+yzuH6qBZyGvqBPWT71FnmsbOxKjWofW6SGQBbJuNru6Ub2NIMhJnXqD7qvMvswZ54ho/oPvGQ==";
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.7.3.tgz";
+        sha512 = "iA+G0yn3j74BcGdKxhHRCDphMSgGg4NWzFNy9r484WPBjq6KQgCRcxE0I8A0Rgi73kqMckKZmYEKrJMUuJyNYw==";
+      };
+    };
+    "ln-service-53.8.0" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "53.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.8.0.tgz";
+        sha512 = "W7HReWocdZLSiQaVHvbzFvzEVyftnBuqcm8joEpxLnSpTU6qhJCuIVwEyLYKqhgDKWx2rn5rOnrZ0xKua8j6TQ==";
+      };
+    };
+    "ln-service-53.8.1" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "53.8.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.8.1.tgz";
+        sha512 = "yEKEsDRsPQyBNzS7kpEaYCIhsxSsQzpf+ABov44RvbDKJONf4qMZOiy+IkqhqLP5IwlHFuLdnz/aHCLMSYtuqA==";
+      };
+    };
+    "ln-service-53.9.1" = {
+      name = "ln-service";
+      packageName = "ln-service";
+      version = "53.9.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-service/-/ln-service-53.9.1.tgz";
+        sha512 = "0s0auOxItb5xFKA5yzAU+0eXKFLyWCbv9BrFnqxRrAIXY7wJYT8jFSL609BuFqwmUYkSdsIwe8EYr9WgPohWgQ==";
+      };
+    };
+    "ln-sync-3.10.0" = {
+      name = "ln-sync";
+      packageName = "ln-sync";
+      version = "3.10.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.10.0.tgz";
+        sha512 = "iRYFVwHF6gyBKO8/WJfR+6jlsjPSsevFz/cbOQbOwBzMVaCmXIyWw95SGHEJLcZR2jNadEfP3k10oYa+hWou3A==";
+      };
+    };
+    "ln-sync-3.10.1" = {
+      name = "ln-sync";
+      packageName = "ln-sync";
+      version = "3.10.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ln-sync/-/ln-sync-3.10.1.tgz";
+        sha512 = "mib9y2c36Gz6oQ7sUzAmLV3a8wt52Rm1zKo7ldxBN49Tnh0gGQXbM69jOhLsy7DbB2TCjUJEh1d8OGMsbGuBqg==";
       };
     };
     "ln-sync-3.7.0" = {
@@ -38827,13 +39232,13 @@ let
         sha512 = "1aTlSSLiIULG4AOhOLdMd/VQYhUBEvTdA+8Bp2xe1YolOralVW/x/50fzIxzkKolCwXQ6elecUuH4nw1z0tqkg==";
       };
     };
-    "ln-telegram-3.9.0" = {
+    "ln-telegram-3.17.3" = {
       name = "ln-telegram";
       packageName = "ln-telegram";
-      version = "3.9.0";
+      version = "3.17.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.9.0.tgz";
-        sha512 = "Desl/QCdnXwMh98n0p7KVY17X9W6hDDh+HrU+UaaNbAkjw8GN+VZRYSMTqLIPXCf5QhWDlpSA7EruTHzKOAwMw==";
+        url = "https://registry.npmjs.org/ln-telegram/-/ln-telegram-3.17.3.tgz";
+        sha512 = "zGapeGsiRaK308l1gSyz0Cq9xU/S4jf0leFwxI5jwlAjgNGYzRpakk3f8mJETw6uxw+Cgn1kdl4dcnCC8SjyUg==";
       };
     };
     "load-bmfont-1.4.1" = {
@@ -39061,22 +39466,13 @@ let
         sha1 = "53157499d1653b136ca66451071fca615703fa55";
       };
     };
-    "locks-0.2.2" = {
-      name = "locks";
-      packageName = "locks";
-      version = "0.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/locks/-/locks-0.2.2.tgz";
-        sha1 = "259933d1327cbaf0fd3662f8fffde36809d84ced";
-      };
-    };
-    "locutus-2.0.15" = {
+    "locutus-2.0.16" = {
       name = "locutus";
       packageName = "locutus";
-      version = "2.0.15";
+      version = "2.0.16";
       src = fetchurl {
-        url = "https://registry.npmjs.org/locutus/-/locutus-2.0.15.tgz";
-        sha512 = "2xWC4RkoAoCVXEb/stzEgG1TNgd+mrkLBj6TuEDNyUoKeQ2XzDTyJUC23sMiqbL6zJmJSP3w59OZo+zc4IBOmA==";
+        url = "https://registry.npmjs.org/locutus/-/locutus-2.0.16.tgz";
+        sha512 = "pGfl6Hb/1mXLzrX5kl5lH7gz25ey0vwQssZp8Qo2CEF59di6KrAgdFm+0pW8ghLnvNzzJGj5tlWhhv2QbK3jeQ==";
       };
     };
     "lodash-2.4.2" = {
@@ -39565,6 +39961,15 @@ let
         sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
       };
     };
+    "lodash.castarray-4.4.0" = {
+      name = "lodash.castarray";
+      packageName = "lodash.castarray";
+      version = "4.4.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lodash.castarray/-/lodash.castarray-4.4.0.tgz";
+        sha1 = "c02513515e309daddd4c24c60cfddcf5976d9115";
+      };
+    };
     "lodash.clone-4.5.0" = {
       name = "lodash.clone";
       packageName = "lodash.clone";
@@ -39628,15 +40033,6 @@ let
         sha1 = "9ccb4e505d486b91651345772885a2df27fd017c";
       };
     };
-    "lodash.differencewith-4.5.0" = {
-      name = "lodash.differencewith";
-      packageName = "lodash.differencewith";
-      version = "4.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/lodash.differencewith/-/lodash.differencewith-4.5.0.tgz";
-        sha1 = "bafafbc918b55154e179176a00bb0aefaac854b7";
-      };
-    };
     "lodash.escape-3.2.0" = {
       name = "lodash.escape";
       packageName = "lodash.escape";
@@ -40375,13 +40771,13 @@ let
         sha512 = "iUiYnXqAmNKiIZ1XSAitQ4TmNs8CdZYTAWINARF3LjnsLN8tY5m0vRwd6uuWj/yNY0YHxeZodnbmxKFUOM2rMg==";
       };
     };
-    "logform-2.3.2" = {
+    "logform-2.4.0" = {
       name = "logform";
       packageName = "logform";
-      version = "2.3.2";
+      version = "2.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/logform/-/logform-2.3.2.tgz";
-        sha512 = "V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==";
+        url = "https://registry.npmjs.org/logform/-/logform-2.4.0.tgz";
+        sha512 = "CPSJw4ftjf517EhXZGGvTHHkYobo7ZCc0kvwUoOYcjfR2UVrI66RHj8MCrfAdEitdmFqbu2BYdYs8FHHZSb6iw==";
       };
     };
     "logidrom-0.3.1" = {
@@ -40438,15 +40834,6 @@ let
         sha512 = "G2UKFT23/uueUnpUWYwB+uOlqcLvF6r1vNsMgTR6roJPpvpFQkgG75bkpAy/XYvaLpGs8XSgS24CUKC92Ap+jg==";
       };
     };
-    "long-1.1.2" = {
-      name = "long";
-      packageName = "long";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/long/-/long-1.1.2.tgz";
-        sha1 = "eaef5951ca7551d96926b82da242db9d6b28fb53";
-      };
-    };
     "long-2.4.0" = {
       name = "long";
       packageName = "long";
@@ -40465,6 +40852,15 @@ let
         sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
       };
     };
+    "long-timeout-0.1.1" = {
+      name = "long-timeout";
+      packageName = "long-timeout";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/long-timeout/-/long-timeout-0.1.1.tgz";
+        sha1 = "9721d788b47e0bcb5a24c2e2bee1a0da55dab514";
+      };
+    };
     "longest-1.0.1" = {
       name = "longest";
       packageName = "longest";
@@ -40573,6 +40969,15 @@ let
         sha512 = "S0FayMXku80toa5sZ6Ro4C+s+EtFDCsyJNG/AzFMfX3AxD5Si4dZsgzm/kKnbOxHl5Cv8jBlno8+3XYIh2pNjQ==";
       };
     };
+    "loupe-2.3.4" = {
+      name = "loupe";
+      packageName = "loupe";
+      version = "2.3.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/loupe/-/loupe-2.3.4.tgz";
+        sha512 = "OvKfgCC2Ndby6aSTREl5aCCPTNIzlDfQZvZxNUrBrihDhL3xcrYegTblhmEiCrg2kKQz4XsFIaemE5BF4ybSaQ==";
+      };
+    };
     "lowdb-0.13.1" = {
       name = "lowdb";
       packageName = "lowdb";
@@ -40717,6 +41122,15 @@ let
         sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     };
+    "lru-cache-7.3.1" = {
+      name = "lru-cache";
+      packageName = "lru-cache";
+      version = "7.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/lru-cache/-/lru-cache-7.3.1.tgz";
+        sha512 = "nX1x4qUrKqwbIAhv4s9et4FIUVzNOpeY07bsjGUy8gwJrXH/wScImSQqXErmo/b2jZY2r0mohbLA9zVj7u1cNw==";
+      };
+    };
     "lru-queue-0.1.0" = {
       name = "lru-queue";
       packageName = "lru-queue";
@@ -40970,6 +41384,15 @@ let
         sha512 = "s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==";
       };
     };
+    "make-fetch-happen-10.0.3" = {
+      name = "make-fetch-happen";
+      packageName = "make-fetch-happen";
+      version = "10.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.0.3.tgz";
+        sha512 = "CzarPHynPpHjhF5in/YapnO44rSZeYX5VCMfdXa99+gLwpbfFLh20CWa6dP/taV9Net9PWJwXNKtp/4ZTCQnag==";
+      };
+    };
     "make-fetch-happen-8.0.14" = {
       name = "make-fetch-happen";
       packageName = "make-fetch-happen";
@@ -41150,15 +41573,6 @@ let
         sha512 = "YWOP1j7UbDNz+TumYP1kpwnP0aEa711cJjrAQrzd0UXlbJfc5aAq0F/PZHjiioqDC1NKgvIMX+o+9Bk7yuM2dg==";
       };
     };
-    "markdown-it-12.2.0" = {
-      name = "markdown-it";
-      packageName = "markdown-it";
-      version = "12.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it/-/markdown-it-12.2.0.tgz";
-        sha512 = "Wjws+uCrVQRqOoJvze4HCqkKl1AsSh95iFAeQDwnyfxM09divCBSXlDR1uTvyUP3Grzpn4Ru8GeCxYPM8vkCQg==";
-      };
-    };
     "markdown-it-12.3.2" = {
       name = "markdown-it";
       packageName = "markdown-it";
@@ -41267,13 +41681,13 @@ let
         sha512 = "HyxjAu6BRsdt6Xcv6TKVQnkz/E70TdGXEFHRYBGLncRE9lBFwDNLVtFojKxjJWgJ+5XxUwLaHXy+2sGBbDn+4A==";
       };
     };
-    "markdown-it-multimd-table-4.1.2" = {
+    "markdown-it-multimd-table-4.1.3" = {
       name = "markdown-it-multimd-table";
       packageName = "markdown-it-multimd-table";
-      version = "4.1.2";
+      version = "4.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.1.2.tgz";
-        sha512 = "xeEYS8l6E1/EinMCvgvWuEcw3ujQX9jRK+RBc6iqqFzVSI9BiVSpfM31D/L0woDfCxrOiJaoEYTLeyTlB/FBgQ==";
+        url = "https://registry.npmjs.org/markdown-it-multimd-table/-/markdown-it-multimd-table-4.1.3.tgz";
+        sha512 = "cXvJ+l8dMRmUZLrn34W/8tfLYjC40R7S0wRwcb95emuvQ3uiWNf9vB/IyeRh6XqEq95eXh70+UDNZ29qcOI+Dg==";
       };
     };
     "markdown-it-sub-1.0.0" = {
@@ -41339,15 +41753,6 @@ let
         sha1 = "890c2c1b3bfe83fb00e4129b8e4cfe645270f9d1";
       };
     };
-    "markdown-table-1.1.3" = {
-      name = "markdown-table";
-      packageName = "markdown-table";
-      version = "1.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/markdown-table/-/markdown-table-1.1.3.tgz";
-        sha512 = "1RUZVgQlpJSPWYbFSpmudq5nHY1doEIv89gBtF0s4gW1GF2XorxcA/70M5vq7rLv0a6mhOUccRsqkwhwLCIQ2Q==";
-      };
-    };
     "markdown-table-2.0.0" = {
       name = "markdown-table";
       packageName = "markdown-table";
@@ -41366,15 +41771,6 @@ let
         sha512 = "y8j3a5/DkJCmS5x4dMCQL+OR0+2EAq3DOtio1COSHsmW2BGXnNCK3v12hJt1LrUz5iZH5g0LmuYOjDdI+czghA==";
       };
     };
-    "markdownlint-0.24.0" = {
-      name = "markdownlint";
-      packageName = "markdownlint";
-      version = "0.24.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/markdownlint/-/markdownlint-0.24.0.tgz";
-        sha512 = "OJIGsGFV/rC9irI5E1FMy6v9hdACSwaa+EN3224Y5KG8zj2EYzdHOw0pOJovIYmjNfEZ9BtxUY4P7uYHTSNnbQ==";
-      };
-    };
     "markdownlint-0.25.1" = {
       name = "markdownlint";
       packageName = "markdownlint";
@@ -41393,15 +41789,6 @@ let
         sha512 = "QEAJitT5eqX1SNboOD+SO/LNBpu4P4je8JlR02ug2cLQAqmIhh8IJnSK7AcaHBHhNADqdGydnPpQOpsNcEEqCw==";
       };
     };
-    "markdownlint-rule-helpers-0.15.0" = {
-      name = "markdownlint-rule-helpers";
-      packageName = "markdownlint-rule-helpers";
-      version = "0.15.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/markdownlint-rule-helpers/-/markdownlint-rule-helpers-0.15.0.tgz";
-        sha512 = "A+9mswc3m/kkqpJCqntmte/1VKhDJ+tjZsERLz5L4h/Qr7ht2/BkGkgY5E7/wsxIhcpl+ctIfz+oS3PQrMOB2w==";
-      };
-    };
     "markdownlint-rule-helpers-0.16.0" = {
       name = "markdownlint-rule-helpers";
       packageName = "markdownlint-rule-helpers";
@@ -41420,15 +41807,6 @@ let
         sha512 = "ea2eGWOqNxPcXv8dyERdSr/6FmzvWwzjMxpfGB/sbMccXoct+xY+YukPD+QTUZwyvK7BZwcr4m21WBOW41pAkg==";
       };
     };
-    "marked-0.7.0" = {
-      name = "marked";
-      packageName = "marked";
-      version = "0.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-0.7.0.tgz";
-        sha512 = "c+yYdCZJQrsRjTPhUx7VKkApw9bwDkNbHUKo1ovgcfDjb2kc8rLuRbIFyXL5WOEUwzSSKo3IXpph2K6DqB/KZg==";
-      };
-    };
     "marked-2.1.3" = {
       name = "marked";
       packageName = "marked";
@@ -41438,13 +41816,13 @@ let
         sha512 = "/Q+7MGzaETqifOMWYEA7HVMaZb4XbcRfaOzcSsHZEith83KGlvaSG33u0SKu89Mj5h+T8V2hM+8O45Qc5XTgwA==";
       };
     };
-    "marked-4.0.10" = {
+    "marked-4.0.12" = {
       name = "marked";
       packageName = "marked";
-      version = "4.0.10";
+      version = "4.0.12";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked/-/marked-4.0.10.tgz";
-        sha512 = "+QvuFj0nGgO970fySghXGmuw+Fd0gD2x3+MqCWLIPf5oxdv1Ka6b2q+z9RP01P/IaKPMEramy+7cNy/Lw8c3hw==";
+        url = "https://registry.npmjs.org/marked/-/marked-4.0.12.tgz";
+        sha512 = "hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ==";
       };
     };
     "marked-terminal-3.3.0" = {
@@ -41456,22 +41834,22 @@ let
         sha512 = "+IUQJ5VlZoAFsM5MHNT7g3RHSkA3eETqhRCdXv4niUMAKHQ7lb1yvAcuGPmm4soxhmtX13u4Li6ZToXtvSEH+A==";
       };
     };
-    "marked-terminal-4.2.0" = {
+    "marked-terminal-5.1.1" = {
       name = "marked-terminal";
       packageName = "marked-terminal";
-      version = "4.2.0";
+      version = "5.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marked-terminal/-/marked-terminal-4.2.0.tgz";
-        sha512 = "DQfNRV9svZf0Dm9Cf5x5xaVJ1+XjxQW6XjFJ5HFkVyK52SDpj5PCBzS5X5r2w9nHr3mlB0T5201UMLue9fmhUw==";
+        url = "https://registry.npmjs.org/marked-terminal/-/marked-terminal-5.1.1.tgz";
+        sha512 = "+cKTOx9P4l7HwINYhzbrBSyzgxO2HaHKGZGuB1orZsMIgXYaJyfidT81VXRdpelW/PcHEWxywscePVgI/oUF6g==";
       };
     };
-    "marky-1.2.2" = {
+    "marky-1.2.4" = {
       name = "marky";
       packageName = "marky";
-      version = "1.2.2";
+      version = "1.2.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/marky/-/marky-1.2.2.tgz";
-        sha512 = "k1dB2HNeaNyORco8ulVEhctyEGkKHb2YWAhDsxeFlW2nROIirsctBYzKwwS3Vza+sKTS1zO4Z+n9/+9WbGLIxQ==";
+        url = "https://registry.npmjs.org/marky/-/marky-1.2.4.tgz";
+        sha512 = "zd2/GiSn6U3/jeFVZ0J9CA1LzQ8RfIVvXkb/U0swFHF/zT+dVohTAWjmo2DcIuofmIIIROlwTbd+shSeXmxr0w==";
       };
     };
     "mastodon-api-1.3.0" = {
@@ -41645,15 +42023,6 @@ let
         sha512 = "/+Cfm8A83PjkqjQDB9iYqHESGuXlriCWAwRGPJjkYmxXrF4r6saxeUlOKNrf+SogTwg9E8uyHRCFHLG6/BAAdA==";
       };
     };
-    "mdast-util-compact-1.0.4" = {
-      name = "mdast-util-compact";
-      packageName = "mdast-util-compact";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-compact/-/mdast-util-compact-1.0.4.tgz";
-        sha512 = "3YDMQHI5vRiS2uygEFYaqckibpJtKq5Sj2c8JioeOQBU6INpKbdWzfyLqFFnDwEcEnRFIdMsguzs5pC1Jp4Isg==";
-      };
-    };
     "mdast-util-compact-2.0.1" = {
       name = "mdast-util-compact";
       packageName = "mdast-util-compact";
@@ -41762,13 +42131,13 @@ let
         sha512 = "FzopkOd4xTTBeGXhXSBU0OCDDh5lUj2rd+HQqG92Ld+jL4lpUfgX2AT2OHAVP9aEeDKp7G92fuooSZcYJA3cRg==";
       };
     };
-    "mdast-util-gfm-footnote-1.0.0" = {
+    "mdast-util-gfm-footnote-1.0.1" = {
       name = "mdast-util-gfm-footnote";
       packageName = "mdast-util-gfm-footnote";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.0.tgz";
-        sha512 = "qeg9YoS2YYP6OBmMyUFxKXb6BLwAsbGidIxgwDAXHIMYZQhIwe52L9BSJs+zP29Jp5nSERPkmG3tSwAN23/ZbQ==";
+        url = "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-1.0.1.tgz";
+        sha512 = "p+PrYlkw9DeCRkTVw1duWqPRHX6Ywh2BNKJQcZbCwAuP/59B0Lk9kakuAd7KbQprVO4GzdW8eS5++A9PUSqIyw==";
       };
     };
     "mdast-util-gfm-strikethrough-0.2.3" = {
@@ -41780,13 +42149,13 @@ let
         sha512 = "5OQLXpt6qdbttcDG/UxYY7Yjj3e8P7X16LzvpX8pIQPYJ/C2Z1qFGMmcw+1PZMUM3Z8wt8NRfYTvCni93mgsgA==";
       };
     };
-    "mdast-util-gfm-strikethrough-1.0.0" = {
+    "mdast-util-gfm-strikethrough-1.0.1" = {
       name = "mdast-util-gfm-strikethrough";
       packageName = "mdast-util-gfm-strikethrough";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.0.tgz";
-        sha512 = "gM9ipBUdRxYa6Yq1Hd8Otg6jEn/dRxFZ1F9ZX4QHosHOexLGqNZO2dh0A+YFbUEd10RcKjnjb4jOfJJzoXXUew==";
+        url = "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-1.0.1.tgz";
+        sha512 = "zKJbEPe+JP6EUv0mZ0tQUyLQOC+FADt0bARldONot/nefuISkaZFlmVK4tU6JgfyZGrky02m/I6PmehgAgZgqg==";
       };
     };
     "mdast-util-gfm-table-0.1.6" = {
@@ -41798,13 +42167,13 @@ let
         sha512 = "j4yDxQ66AJSBwGkbpFEp9uG/LS1tZV3P33fN1gkyRB2LoRL+RR3f76m0HPHaby6F4Z5xr9Fv1URmATlRRUIpRQ==";
       };
     };
-    "mdast-util-gfm-table-1.0.2" = {
+    "mdast-util-gfm-table-1.0.3" = {
       name = "mdast-util-gfm-table";
       packageName = "mdast-util-gfm-table";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.2.tgz";
-        sha512 = "pPekvCTChFBF8uCq8bVyQwar8NBU/TaXIy44jj/UzmjMgPBHIa1B1ge8a0JVgzhqgXQAMvGT+PgiKlicdLGfDQ==";
+        url = "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-1.0.3.tgz";
+        sha512 = "B/tgpJjND1qIZM2WZst+NYnb0notPE6m0J+YOe3NOHXyEmvK38ytxaOsgz4BvrRPQQcNbRrTzSHMPnBkj1fCjg==";
       };
     };
     "mdast-util-gfm-task-list-item-0.1.6" = {
@@ -41816,13 +42185,13 @@ let
         sha512 = "/d51FFIfPsSmCIRNp7E6pozM9z1GYPIkSy1urQ8s/o4TC22BZ7DqfHFWiqBD23bc7J3vV1Fc9O4QIHBlfuit8A==";
       };
     };
-    "mdast-util-gfm-task-list-item-1.0.0" = {
+    "mdast-util-gfm-task-list-item-1.0.1" = {
       name = "mdast-util-gfm-task-list-item";
       packageName = "mdast-util-gfm-task-list-item";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.0.tgz";
-        sha512 = "dwkzOTjQe8JCCHVE3Cb0pLHTYLudf7t9WCAnb20jI8/dW+VHjgWhjtIUVA3oigNkssgjEwX+i+3XesUdCnXGyA==";
+        url = "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-1.0.1.tgz";
+        sha512 = "KZ4KLmPdABXOsfnM6JHUIjxEvcx2ulk656Z/4Balw071/5qgnhz+H1uGtf2zIGnrnvDC8xR4Fj9uKbjAFGNIeA==";
       };
     };
     "mdast-util-heading-style-1.0.6" = {
@@ -41843,13 +42212,13 @@ let
         sha512 = "leKb9uG7laXdyFlTleYV4ZEaCpsxeU1LlkkR/xp35pgKrfV1Y0fNCuOw9vaRc2a9YDpH22wd145Wt7UY5yzeZw==";
       };
     };
-    "mdast-util-mdx-expression-1.1.1" = {
+    "mdast-util-mdx-expression-1.2.0" = {
       name = "mdast-util-mdx-expression";
       packageName = "mdast-util-mdx-expression";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.1.1.tgz";
-        sha512 = "RDLRkBFmBKCJl6/fQdxxKL2BqNtoPFoNBmQAlj5ZNKOijIWRKjdhPkeufsUOaexLj+78mhJc+L7d1MYka8/LdQ==";
+        url = "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-1.2.0.tgz";
+        sha512 = "wb36oi09XxqO9RVqgfD+xo8a7xaNgS+01+k3v0GKW0X0bYbeBmUZz22Z/IJ8SuphVlG+DNgNo9VoEaUJ3PKfJQ==";
       };
     };
     "mdast-util-mdx-jsx-1.2.0" = {
@@ -41861,13 +42230,13 @@ let
         sha512 = "5+ot/kfxYd3ChgEMwsMUO71oAfYjyRI3pADEK4I7xTmWLGQ8Y7ghm1CG36zUoUvDPxMlIYwQV/9DYHAUWdG4dA==";
       };
     };
-    "mdast-util-mdxjs-esm-1.1.1" = {
+    "mdast-util-mdxjs-esm-1.2.0" = {
       name = "mdast-util-mdxjs-esm";
       packageName = "mdast-util-mdxjs-esm";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.1.1.tgz";
-        sha512 = "IpHNNMubCt6ue2FIQasx1ByvETglnqc7A3XvIc0Yyql1hNI73SEGa044dZG6jeJQE8boBdTn8nxs3DjQLvVN1w==";
+        url = "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-1.2.0.tgz";
+        sha512 = "IPpX9GBzAIbIRCjbyeLDpMhACFb0wxTIujuR3YElB8LWbducUdMgRJuqs/Vg8xQ1bIAMm7lw8L+YNtua0xKXRw==";
       };
     };
     "mdast-util-to-markdown-0.6.5" = {
@@ -41879,13 +42248,13 @@ let
         sha512 = "XeV9sDE7ZlOQvs45C9UKMtfTcctcaj/pGwH8YLbMHoMOXNNCn2LsqVQOqrF1+/NU8lKDAqozme9SCXWyo9oAcQ==";
       };
     };
-    "mdast-util-to-markdown-1.2.6" = {
+    "mdast-util-to-markdown-1.3.0" = {
       name = "mdast-util-to-markdown";
       packageName = "mdast-util-to-markdown";
-      version = "1.2.6";
+      version = "1.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.2.6.tgz";
-        sha512 = "doJZmTEGagHypWvJ8ltinmwUsT9ZaNgNIQW6Gl7jNdsI1QZkTHTimYW561Niy2s8AEPAqEgV0dIh2UOVlSXUJA==";
+        url = "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-1.3.0.tgz";
+        sha512 = "6tUSs4r+KK4JGTTiQ7FfHmVOaDrLQJPmpjD6wPMlHGUVXoG9Vjc3jIeP+uyBWRf8clwB2blM+W7+KrlMYQnftA==";
       };
     };
     "mdast-util-to-nlcst-4.0.1" = {
@@ -42194,13 +42563,13 @@ let
         sha512 = "qVQ/CjkMyMInPaaRMrwWNDvf6boRZXaT/DbQeMYcCWuXPEBf1v8qChOc9OlEVQp2uOvRXa1Qu30fLmKhY6NipA==";
       };
     };
-    "memorystore-1.6.6" = {
+    "memorystore-1.6.7" = {
       name = "memorystore";
       packageName = "memorystore";
-      version = "1.6.6";
+      version = "1.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/memorystore/-/memorystore-1.6.6.tgz";
-        sha512 = "EbLl1xg9+DlnjXkZK/eMUoWyhZ1IxcWMpSuFyqyA/Z4BNuH7BR+E0yC40WbLZZ6G8LxHiUZ2DPhqV8DR8+9UQQ==";
+        url = "https://registry.npmjs.org/memorystore/-/memorystore-1.6.7.tgz";
+        sha512 = "OZnmNY/NDrKohPQ+hxp0muBcBKrzKNtHr55DbqSx9hLsYVNnomSAMRAtI7R64t3gf3ID7tHQA7mG4oL3Hu9hdw==";
       };
     };
     "memorystream-0.3.1" = {
@@ -42230,15 +42599,6 @@ let
         sha1 = "72cb668b425228290abbfa856892587308a801fb";
       };
     };
-    "meow-4.0.1" = {
-      name = "meow";
-      packageName = "meow";
-      version = "4.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/meow/-/meow-4.0.1.tgz";
-        sha512 = "xcSBHD5Z86zaOc+781KrupuHAzeGXSLtiAOmBsiLDiPSaYSB6hdew2ng9EBAnZ62jagG9MHAOdxpDi/lWBFJ/A==";
-      };
-    };
     "meow-5.0.0" = {
       name = "meow";
       packageName = "meow";
@@ -42284,15 +42644,6 @@ let
         sha512 = "+obSblOQmRhcyBt62furQqRAQpNyWXo8BuQ5bN7dG8wmwQ+vwHKp/rCFD4CrTP8CsDQD1sjoZ94K417XEUk8IQ==";
       };
     };
-    "merge-1.2.1" = {
-      name = "merge";
-      packageName = "merge";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/merge/-/merge-1.2.1.tgz";
-        sha512 = "VjFo4P5Whtj4vsLzsYBu5ayHhoHJ0UqNm7ibvShmbmoz7tGi0vXaoJbGdB+GmDMLUdg8DpQXEIeVDAe8MaABvQ==";
-      };
-    };
     "merge-descriptors-1.0.1" = {
       name = "merge-descriptors";
       packageName = "merge-descriptors";
@@ -42365,13 +42716,13 @@ let
         sha512 = "TIurLf/ustQNMXi5foClGTcEsRvH6DCvxeAKu68OrwHMOSM/M1pgPXb7qe52Svk1ClvmZuAVpLtP5FWKzPr/sw==";
       };
     };
-    "mermaid-8.13.10" = {
+    "mermaid-8.14.0" = {
       name = "mermaid";
       packageName = "mermaid";
-      version = "8.13.10";
+      version = "8.14.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.13.10.tgz";
-        sha512 = "2ANep359uML87+wiYaWSu83eg9Qc0xCLnNJdCh100m4v0orS3fp8SScsZLcDSElRGHi+1zuVJsEEVEWH05+COQ==";
+        url = "https://registry.npmjs.org/mermaid/-/mermaid-8.14.0.tgz";
+        sha512 = "ITSHjwVaby1Li738sxhF48sLTxcNyUAoWfoqyztL1f7J6JOLpHOuQPNLBb6lxGPUA0u7xP9IRULgvod0dKu35A==";
       };
     };
     "meros-1.1.4" = {
@@ -42392,13 +42743,13 @@ let
         sha512 = "AY9lGmUznFNsLr7Vm3hLCT7Ar0bN6Wninp3qA0E0/JBU4uRTRI4fIgM1I3+nbjLf23mwh+vrHut0ML63QB2acA==";
       };
     };
-    "metalsmith-2.3.0" = {
+    "metalsmith-2.4.2" = {
       name = "metalsmith";
       packageName = "metalsmith";
-      version = "2.3.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/metalsmith/-/metalsmith-2.3.0.tgz";
-        sha1 = "833afbb5a2a6385e2d9ae3d935e39e33eaea5231";
+        url = "https://registry.npmjs.org/metalsmith/-/metalsmith-2.4.2.tgz";
+        sha512 = "HS/MRADloJS3+O5V/+4f/khBkwtdYUQFWEGqeviLT/7wNgHWknMiIflV99JeYzj0hbw+L0aTb2spPlnWW4/Adg==";
       };
     };
     "method-missing-1.2.4" = {
@@ -42653,13 +43004,13 @@ let
         sha512 = "TjYtjEMszWze51NJCZmhv7MEBcgYRgb3tJeMAJ+HQCAaZHHRBaDCccqQzGizR/H4ODefP44wRTgOn2vE5I6nZA==";
       };
     };
-    "micromark-extension-mdx-jsx-1.0.2" = {
+    "micromark-extension-mdx-jsx-1.0.3" = {
       name = "micromark-extension-mdx-jsx";
       packageName = "micromark-extension-mdx-jsx";
-      version = "1.0.2";
+      version = "1.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.2.tgz";
-        sha512 = "MBppeDuXEBIL1uo4B/bL5eJ1q3m5pXzdzIWpOnJuzzBZF+S+9zbb5WnS2K/LEVQeoyiLzOuoteU4SFPuGJhhWw==";
+        url = "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-1.0.3.tgz";
+        sha512 = "VfA369RdqUISF0qGgv2FfV7gGjHDfn9+Qfiv5hEwpyr1xscRj/CiVRkU7rywGFCO7JwJ5L0e7CJz60lY52+qOA==";
       };
     };
     "micromark-extension-mdx-md-1.0.0" = {
@@ -42707,13 +43058,13 @@ let
         sha512 = "CTIwxlOnU7dEshXDQ+dsr2n+yxpP0+fn271pu0bwDIS8uqfFcumXpj5mLn3hSC8iw2MUr6Gx8EcKng1dD7i6hg==";
       };
     };
-    "micromark-factory-mdx-expression-1.0.5" = {
+    "micromark-factory-mdx-expression-1.0.6" = {
       name = "micromark-factory-mdx-expression";
       packageName = "micromark-factory-mdx-expression";
-      version = "1.0.5";
+      version = "1.0.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.5.tgz";
-        sha512 = "1DSMCBeCUj4m01P8uYbNWvOsv+FtpDTcBUcDCdE06sENTBX54lndRs9neWOgsNWfLDm2EzCyNKiUaoJ+mWa/WA==";
+        url = "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-1.0.6.tgz";
+        sha512 = "WRQIc78FV7KrCfjsEf/sETopbYjElh3xAmNpLkd1ODPqxEngP42eVRGbiPEQWpRV27LzqW+XVTvQAMIIRLPnNA==";
       };
     };
     "micromark-factory-space-1.0.0" = {
@@ -42986,15 +43337,6 @@ let
         sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     };
-    "mime-2.5.2" = {
-      name = "mime";
-      packageName = "mime";
-      version = "2.5.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz";
-        sha512 = "tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==";
-      };
-    };
     "mime-2.6.0" = {
       name = "mime";
       packageName = "mime";
@@ -43031,6 +43373,15 @@ let
         sha512 = "jYdeOMPy9vnxEqFRRo6ZvTZ8d9oPb+k18PKoYNYUe2stVEBPPwsln/qWzdbmaIvnhZ9v2P+CuecK+fpUfsV2mA==";
       };
     };
+    "mime-db-1.42.0" = {
+      name = "mime-db";
+      packageName = "mime-db";
+      version = "1.42.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-db/-/mime-db-1.42.0.tgz";
+        sha512 = "UbfJCR4UAVRNgMpfImz05smAXK7+c+ZntjaA26ANtkXLlOe947Aag5zdIcKQULAiF9Cq4WxBi9jUs5zkA84bYQ==";
+      };
+    };
     "mime-db-1.44.0" = {
       name = "mime-db";
       packageName = "mime-db";
@@ -43076,6 +43427,15 @@ let
         sha512 = "WaFHS3MCl5fapm3oLxU4eYDw77IQM2ACcxQ9RIxfaC3ooc6PFuBMGZZsYpvoXS5D5QTWPieo1jjLdAm3TBP3cQ==";
       };
     };
+    "mime-types-2.1.25" = {
+      name = "mime-types";
+      packageName = "mime-types";
+      version = "2.1.25";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mime-types/-/mime-types-2.1.25.tgz";
+        sha512 = "5KhStqB5xpTAeGqKBAMgwaYMnQik7teQN4IAzC7npDv6kzeU6prfkR67bc87J1kWMPGkoaZSq1npmexMgkmEVg==";
+      };
+    };
     "mime-types-2.1.27" = {
       name = "mime-types";
       packageName = "mime-types";
@@ -43193,6 +43553,15 @@ let
         sha512 = "IuaLjruM0vMKhUUT51fQdQzBYTX49dLj8w68ALEAe2A4iYNpIC4eMac67mt3NzycvjOlf07/kYxJDc0RTl1Wqw==";
       };
     };
+    "mini-svg-data-uri-1.4.3" = {
+      name = "mini-svg-data-uri";
+      packageName = "mini-svg-data-uri";
+      version = "1.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.3.tgz";
+        sha512 = "gSfqpMRC8IxghvMcxzzmMnWpXAChSA+vy4cia33RgerMS8Fex95akUyQZPbxJJmeBGiGmK7n/1OpUX8ksRjIdA==";
+      };
+    };
     "minicap-prebuilt-2.3.0" = {
       name = "minicap-prebuilt";
       packageName = "minicap-prebuilt";
@@ -43247,6 +43616,33 @@ let
         sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     };
+    "minimatch-3.0.8" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.0.8";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.0.8.tgz";
+        sha512 = "6FsRAQsxQ61mw+qP1ZzbL9Bc78x2p5OqNgNpnoAFLTrX8n5Kxph0CsnhmKKNXTWjXqU5L0pGPR7hYk+XWZr60Q==";
+      };
+    };
+    "minimatch-3.1.2" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "3.1.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz";
+        sha512 = "J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==";
+      };
+    };
+    "minimatch-5.0.0" = {
+      name = "minimatch";
+      packageName = "minimatch";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/minimatch/-/minimatch-5.0.0.tgz";
+        sha512 = "EU+GCVjXD00yOUf1TwAHVP7v3fBD3A8RkkPYsWWKGWesxM/572sL53wJQnHxquHlRhYUV36wHkqrN8cdikKc2g==";
+      };
+    };
     "minimist-0.0.10" = {
       name = "minimist";
       packageName = "minimist";
@@ -43499,6 +43895,15 @@ let
         sha512 = "WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==";
       };
     };
+    "mixpanel-0.13.0" = {
+      name = "mixpanel";
+      packageName = "mixpanel";
+      version = "0.13.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/mixpanel/-/mixpanel-0.13.0.tgz";
+        sha512 = "YOWmpr/o4+zJ8LPjuLUkWLc2ImFeIkX6hF1t62Wlvq6loC6e8EK8qieYO4gYPTPxxtjAryl7xmIvf/7qnPwjrQ==";
+      };
+    };
     "mkdirp-0.3.0" = {
       name = "mkdirp";
       packageName = "mkdirp";
@@ -43562,31 +43967,31 @@ let
         sha512 = "sdqtiFt3lkOaYvTXSRIUjkIdPTcxgv5+fgqYE/5qgwdw12cOrAuzzgzvVExIkH/ul1oeHN3bCLOWSG3XOqbKKw==";
       };
     };
-    "mobx-6.3.13" = {
+    "mobx-6.4.1" = {
       name = "mobx";
       packageName = "mobx";
-      version = "6.3.13";
+      version = "6.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx/-/mobx-6.3.13.tgz";
-        sha512 = "zDDKDhYUk9QCHQUdLG+wb4Jv/nXutSLt/P8kkwHyjdbrJO4OZS6QTEsrOnrKM39puqXSrJZHdB6+yRys2NBFFA==";
+        url = "https://registry.npmjs.org/mobx/-/mobx-6.4.1.tgz";
+        sha512 = "NFXx0uMbGBgsa0uxhH099L8cMuoRQWh01q6Sf0ZX/3hFU7svJ7yfTD+1LnLMa5wzY/b7gImAeMsR1p0wordDnA==";
       };
     };
-    "mobx-react-7.2.1" = {
+    "mobx-react-7.3.0" = {
       name = "mobx-react";
       packageName = "mobx-react";
-      version = "7.2.1";
+      version = "7.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.2.1.tgz";
-        sha512 = "LZS99KFLn75VWDXPdRJhILzVQ7qLcRjQbzkK+wVs0Qg4kWw5hOI2USp7tmu+9zP9KYsVBmKyx2k/8cTTBfsymw==";
+        url = "https://registry.npmjs.org/mobx-react/-/mobx-react-7.3.0.tgz";
+        sha512 = "RGEcwZokopqyJE5JPwXKB9FWMSqFM9NJVO2QPI+z6laJTJeBHqvPicjnKgY5mvihxTeXB1+72TnooqUePeGV1g==";
       };
     };
-    "mobx-react-lite-3.2.3" = {
+    "mobx-react-lite-3.3.0" = {
       name = "mobx-react-lite";
       packageName = "mobx-react-lite";
-      version = "3.2.3";
+      version = "3.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.2.3.tgz";
-        sha512 = "7exWp1FV0M9dP08H9PIeHlJqDw4IdkQVRMfLYaZFMmlbzSS6ZU6p/kx392KN+rVf81hH3IQYewvRGQ70oiwmbw==";
+        url = "https://registry.npmjs.org/mobx-react-lite/-/mobx-react-lite-3.3.0.tgz";
+        sha512 = "U/kMSFtV/bNVgY01FuiGWpRkaQVHozBq5CEBZltFvPt4FcV111hEWkgwqVg9GPPZSEuEdV438PEz8mk8mKpYlA==";
       };
     };
     "mocha-2.5.3" = {
@@ -43607,13 +44012,13 @@ let
         sha512 = "hJaO0mwDXmZS4ghXsvPVriOhsxQ7ofcpQdm8dE+jISUOKopitvnXFQmpRR7jd2K6VBG6E26gU3IAbXXGIbu4sQ==";
       };
     };
-    "mocha-9.1.4" = {
+    "mocha-9.2.1" = {
       name = "mocha";
       packageName = "mocha";
-      version = "9.1.4";
+      version = "9.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz";
-        sha512 = "+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz";
+        sha512 = "T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==";
       };
     };
     "mock-require-3.0.3" = {
@@ -43832,13 +44237,13 @@ let
         sha512 = "NOeCoW6AYc3hLi30npe7uzbD9b4FQZKH40YKABUCCvaKKL5agj6YzvHoNx8jQpDMNPgIa5bvSZQbQpWBAVD0Kw==";
       };
     };
-    "mqtt-4.3.4" = {
+    "mqtt-4.3.5" = {
       name = "mqtt";
       packageName = "mqtt";
-      version = "4.3.4";
+      version = "4.3.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.4.tgz";
-        sha512 = "yAVDfVHz3Cjn6K68z54mf7fTni/AWsPhiEsRwZSvet2wO47R6NFUn2psWxYIph2JxWtL3ZKa/da8pjJKSaXPdQ==";
+        url = "https://registry.npmjs.org/mqtt/-/mqtt-4.3.5.tgz";
+        sha512 = "l29WGHAc0EayK1cjb6moozc+rlgK6YRCPbP3zB1CrJw84Bjk4kG9EJCXojdn4r29lA80SCqxRKq1QJ87+Xevng==";
       };
     };
     "mqtt-packet-6.10.0" = {
@@ -43958,15 +44363,6 @@ let
         sha512 = "xY8pX7V+ybyUpbYMxtjM9KAiD9ixtg5/JkeKUTD6xilfDv0vzzOFcCp4Ljb1UU3tSOM3VTZtKo63OmzOrGi3Cg==";
       };
     };
-    "multer-1.4.3" = {
-      name = "multer";
-      packageName = "multer";
-      version = "1.4.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/multer/-/multer-1.4.3.tgz";
-        sha512 = "np0YLKncuZoTzufbkM6wEKp68EhWJXcU6fq6QqrSwkckd2LlMgd1UqhUJLj6NS/5sZ8dE8LYDWslsltJznnXlg==";
-      };
-    };
     "multer-1.4.4" = {
       name = "multer";
       packageName = "multer";
@@ -44102,13 +44498,13 @@ let
         sha1 = "2a8f2ddf70eed564dff2d57f1e1a137d9f05078b";
       };
     };
-    "multiserver-3.7.2" = {
+    "multiserver-3.8.2" = {
       name = "multiserver";
       packageName = "multiserver";
-      version = "3.7.2";
+      version = "3.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multiserver/-/multiserver-3.7.2.tgz";
-        sha512 = "RaRSN/g1QOujNkFtmLU52PCjjqUdhad7FO/aZRRTzWkpJuclk0jfWtvew9jKp0mNqC6RhriEm0U1L1qYiymF8Q==";
+        url = "https://registry.npmjs.org/multiserver/-/multiserver-3.8.2.tgz";
+        sha512 = "gmR/5dY+N81EN0yDaziSJXAJhJjG+3Rv3lJc74OSA1ySRKOMqZwEuGJjqG6ZcZiaqcHvhQZkZavDJsAwtmnvoA==";
       };
     };
     "multiserver-address-1.0.1" = {
@@ -44120,13 +44516,13 @@ let
         sha512 = "IfZMAGs9onCLkYNSnNBri3JxuvhQYllMyh3W9ry86iEDcfW9uPVsHTHDsjDxQtL+dPq3byshmA+Y4LN2wLHwNw==";
       };
     };
-    "multiserver-scopes-1.0.0" = {
+    "multiserver-scopes-2.0.0" = {
       name = "multiserver-scopes";
       packageName = "multiserver-scopes";
-      version = "1.0.0";
+      version = "2.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/multiserver-scopes/-/multiserver-scopes-1.0.0.tgz";
-        sha512 = "D3q4IujGRUIKETfR5s0kRtvXTjAMhyl7rtLEMXtvkg0lJPJyS5KYsAULFFy+dYv/+RC642aR1zo/RKNp6sdtQg==";
+        url = "https://registry.npmjs.org/multiserver-scopes/-/multiserver-scopes-2.0.0.tgz";
+        sha512 = "XWv9J617i3mWtZIZQNTpYI9iq4goUpsKy3GdUEDls23z1VaMzuRp2rL3S3IKrheVdgmrf0zHbErcXokGxqQfzw==";
       };
     };
     "multistream-4.1.0" = {
@@ -44255,13 +44651,13 @@ let
         sha512 = "pbYSsOrSB/AKN5h/WzzLRMFgZhClWccf2XIB4RSMC8JbquiB0e0/SH5AIfdQMdyHmYtv4seU7yV/TvAwPLJ1Yg==";
       };
     };
-    "muxrpc-6.5.4" = {
+    "muxrpc-6.7.0" = {
       name = "muxrpc";
       packageName = "muxrpc";
-      version = "6.5.4";
+      version = "6.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.5.4.tgz";
-        sha512 = "puQFQi0qxZIUvvaikpwOuGnxM7smTwjnSu9lf0WVmfsXMFE8F355jBhsZQ29KuSaogZq3HA4IRbk15Uvuypc/g==";
+        url = "https://registry.npmjs.org/muxrpc/-/muxrpc-6.7.0.tgz";
+        sha512 = "1jdziESUd2ajBUJ/tvLRdm9TJQiN+JuN0NHtvubposhVUi8T5PF6ODfit6lg30l4iDxK4/z52wvbnHbsfvzT/w==";
       };
     };
     "muxrpc-usage-2.1.0" = {
@@ -44453,22 +44849,22 @@ let
         sha512 = "a1cQNyczgKbLX9jwbS/+d7W8fX/RfgYR7lVWwWOGIPNgK2m0MWvrGF6/m4kk6U3QcFMnZf3RIhL0v2Jgh/0Uxw==";
       };
     };
-    "nanoid-3.1.25" = {
+    "nanoid-3.2.0" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.1.25";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz";
-        sha512 = "rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz";
+        sha512 = "fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==";
       };
     };
-    "nanoid-3.2.0" = {
+    "nanoid-3.3.1" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.2.0";
+      version = "3.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz";
-        sha512 = "fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.3.1.tgz";
+        sha512 = "n6Vs/3KGyxPQd6uO0eH4Bv0ojGSUvuLlIHtC3Y0kEO23YRge8H9x1GCzLn28YX0H66pMkxuaeESFq4tKISKwdw==";
       };
     };
     "nanoiterator-1.2.1" = {
@@ -44606,13 +45002,13 @@ let
         sha512 = "p7KTHxU0CUrcOXe62Zfrb5Z13nLvPhSWR/so3kFulUQU0sgUll2Z0LwpsLN351eOOD+hRGu/F1g+6xDfPeD++Q==";
       };
     };
-    "ncjsm-4.2.0" = {
+    "ncjsm-4.3.0" = {
       name = "ncjsm";
       packageName = "ncjsm";
-      version = "4.2.0";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ncjsm/-/ncjsm-4.2.0.tgz";
-        sha512 = "L2Qij4PTy7Bs4TB24zs7FLIAYJTaR5JPvSig5hIcO059LnMCNgy6MfHHNyg8s/aekPKrTqKX90gBGt3NNGvhdw==";
+        url = "https://registry.npmjs.org/ncjsm/-/ncjsm-4.3.0.tgz";
+        sha512 = "oah6YGwb4Ern2alojiMFcjPhE4wvQBw1Ur/kUr2P0ovKdzaF5pCIsGjs0f2y+iZeej0/5Y6OOhQ8j30cTDMEGw==";
       };
     };
     "nconf-0.10.0" = {
@@ -44687,6 +45083,42 @@ let
         sha1 = "ae603b36b134bcec347b452422b0bf98d5832ec8";
       };
     };
+    "near-api-js-0.44.2" = {
+      name = "near-api-js";
+      packageName = "near-api-js";
+      version = "0.44.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/near-api-js/-/near-api-js-0.44.2.tgz";
+        sha512 = "eMnc4V+geggapEUa3nU2p8HSHn/njtloI4P2mceHQWO8vDE1NGpnAw8FuTBrLmXSgIv9m6oocgFc9t3VNf5zwg==";
+      };
+    };
+    "near-hd-key-1.2.1" = {
+      name = "near-hd-key";
+      packageName = "near-hd-key";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/near-hd-key/-/near-hd-key-1.2.1.tgz";
+        sha512 = "SIrthcL5Wc0sps+2e1xGj3zceEa68TgNZDLuCx0daxmfTP7sFTB3/mtE2pYhlFsCxWoMn+JfID5E1NlzvvbRJg==";
+      };
+    };
+    "near-ledger-js-0.2.0" = {
+      name = "near-ledger-js";
+      packageName = "near-ledger-js";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/near-ledger-js/-/near-ledger-js-0.2.0.tgz";
+        sha512 = "6YcK7o+GcsUoGevjVqDotVZE3hvCcr9cRxFx/+PyR7JrDbzbVhavXQInqJxdZnqYC7K/dh/YZKhwhtXHXEF1iQ==";
+      };
+    };
+    "near-seed-phrase-0.2.0" = {
+      name = "near-seed-phrase";
+      packageName = "near-seed-phrase";
+      version = "0.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/near-seed-phrase/-/near-seed-phrase-0.2.0.tgz";
+        sha512 = "NpmrnejpY1AdlRpDZ0schJQJtfBaoUheRfiYtQpcq9TkwPgqKZCRULV5L3hHmLc0ep7KRtikbPQ9R2ztN/3cyQ==";
+      };
+    };
     "nearley-2.20.1" = {
       name = "nearley";
       packageName = "nearley";
@@ -44696,15 +45128,6 @@ let
         sha512 = "+Mc8UaAebFzgV+KpI5n7DasuuQCHA89dmwm7JXw3TV43ukfNQ9DnBH3Mdb2g/I4Fdxc26pwimBWvjIw0UAILSQ==";
       };
     };
-    "neat-csv-2.1.0" = {
-      name = "neat-csv";
-      packageName = "neat-csv";
-      version = "2.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/neat-csv/-/neat-csv-2.1.0.tgz";
-        sha1 = "06f58360c4c3b955bd467ddc85ae4511a3907a4c";
-      };
-    };
     "neat-input-1.11.1" = {
       name = "neat-input";
       packageName = "neat-input";
@@ -44795,15 +45218,6 @@ let
         sha1 = "269d5c476810ec92edbe7b6c2f28316384f9a7e8";
       };
     };
-    "negotiator-0.6.2" = {
-      name = "negotiator";
-      packageName = "negotiator";
-      version = "0.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz";
-        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
-      };
-    };
     "negotiator-0.6.3" = {
       name = "negotiator";
       packageName = "negotiator";
@@ -45129,13 +45543,13 @@ let
         sha512 = "/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==";
       };
     };
-    "node-abi-3.5.0" = {
+    "node-abi-3.8.0" = {
       name = "node-abi";
       packageName = "node-abi";
-      version = "3.5.0";
+      version = "3.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.5.0.tgz";
-        sha512 = "LtHvNIBgOy5mO8mPEUtkCW/YCRWYEKshIvqhe1GHHyXEHEB5mgICyYnAcl4qan3uFeRROErKGzatFHPf6kDxWw==";
+        url = "https://registry.npmjs.org/node-abi/-/node-abi-3.8.0.tgz";
+        sha512 = "tzua9qWWi7iW4I42vUPKM+SfaF0vQSLAm4yO5J83mSwB7GeoWrDKC/K+8YCnYNwqP5duwazbw2X9l4m8SC2cUw==";
       };
     };
     "node-abort-controller-3.0.1" = {
@@ -45336,22 +45750,22 @@ let
         sha512 = "V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==";
       };
     };
-    "node-fetch-2.6.5" = {
+    "node-fetch-2.6.7" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "2.6.5";
+      version = "2.6.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.5.tgz";
-        sha512 = "mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==";
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz";
+        sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     };
-    "node-fetch-2.6.7" = {
+    "node-fetch-3.2.0" = {
       name = "node-fetch";
       packageName = "node-fetch";
-      version = "2.6.7";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz";
-        sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
+        url = "https://registry.npmjs.org/node-fetch/-/node-fetch-3.2.0.tgz";
+        sha512 = "8xeimMwMItMw8hRrOl3C9/xzU49HV/yE6ORew/l+dxWimO5A4Ra8ld2rerlJvc/O7et5Z1zrWsPX43v1QBjCxw==";
       };
     };
     "node-fetch-h2-2.3.0" = {
@@ -45462,6 +45876,15 @@ let
         sha512 = "iWjXZvmboq0ja1pUGULQBexmxq8CV4xBhX7VDOTbL7ZR4FOowwY/VOtRxBN/yKxmdGoIp4j5ysNT4u3S2pDQ3Q==";
       };
     };
+    "node-hid-2.1.1" = {
+      name = "node-hid";
+      packageName = "node-hid";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-hid/-/node-hid-2.1.1.tgz";
+        sha512 = "Skzhqow7hyLZU93eIPthM9yjot9lszg9xrKxESleEs05V2NcbUptZc5HFqzjOkSmL0sFlZFr3kmvaYebx06wrw==";
+      };
+    };
     "node-html-parser-1.4.9" = {
       name = "node-html-parser";
       packageName = "node-html-parser";
@@ -45507,6 +45930,15 @@ let
         sha512 = "NMWCSWWc6JbHT5PyWlNT2i8r7PgGYXVntmKawY83k/M0UJScZ5jirb61TLnqKwd815DfBQu+lR3sRw08SPzIaQ==";
       };
     };
+    "node-notifier-10.0.1" = {
+      name = "node-notifier";
+      packageName = "node-notifier";
+      version = "10.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-10.0.1.tgz";
+        sha512 = "YX7TSyDukOZ0g+gmzjB6abKu+hTGvO8+8+gIFDsRCU2t8fLV/P2unmt+LGFaIa4y64aX98Qksa97rgz4vMNeLQ==";
+      };
+    };
     "node-notifier-8.0.2" = {
       name = "node-notifier";
       packageName = "node-notifier";
@@ -45525,15 +45957,6 @@ let
         sha512 = "SkwNwGnMMlSPrcoeH4CSo9XyWe72acAHEJGDdPdB+CyBVHsIYaTQ4U/1wk3URsyzC75xZLg2vzU2YaALlqDF1Q==";
       };
     };
-    "node-notifier-9.0.1" = {
-      name = "node-notifier";
-      packageName = "node-notifier";
-      version = "9.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz";
-        sha512 = "fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==";
-      };
-    };
     "node-object-hash-2.3.10" = {
       name = "node-object-hash";
       packageName = "node-object-hash";
@@ -45588,13 +46011,22 @@ let
         sha1 = "dbbd4af12134e2e635c245ef93ffcf6f60673a5d";
       };
     };
-    "node-red-admin-2.2.1" = {
+    "node-red-admin-2.2.3" = {
       name = "node-red-admin";
       packageName = "node-red-admin";
-      version = "2.2.1";
+      version = "2.2.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-red-admin/-/node-red-admin-2.2.1.tgz";
-        sha512 = "xYp6mZaRbAWLR8nO4HRVvthYZoPGBotPvetAGho4AXpRJW7fXw38XwK0KPSffvLSis6cxaskJq9nZBLp3PJtng==";
+        url = "https://registry.npmjs.org/node-red-admin/-/node-red-admin-2.2.3.tgz";
+        sha512 = "qKmnjR+TXJLk/aMUIW/x6I9P28b5BhlkvjNi1iZgfuVtI6wxRNpzpSUPtcOHvQTYxKdK6d5XGZdM6FD1Xy4nAg==";
+      };
+    };
+    "node-redis-pubsub-4.0.0" = {
+      name = "node-redis-pubsub";
+      packageName = "node-redis-pubsub";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-redis-pubsub/-/node-redis-pubsub-4.0.0.tgz";
+        sha512 = "sAUOzisio/8UYCRbjPo6+u7aTpBmxSBjTJYwu49x9KruIQgi//wbEnvbqGSH5JWViP7HyQSMtkHUcZXH7qGsOQ==";
       };
     };
     "node-releases-1.1.77" = {
@@ -45606,13 +46038,13 @@ let
         sha512 = "rB1DUFUNAN4Gn9keO2K1efO35IDK7yKHCdCaIMvFO7yUYmmZYeDjnGKle26G4rwj+LKRQpjyUUvMkPglwGCYNQ==";
       };
     };
-    "node-releases-2.0.1" = {
+    "node-releases-2.0.2" = {
       name = "node-releases";
       packageName = "node-releases";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.1.tgz";
-        sha512 = "CqyzN6z7Q6aMeF/ktcMVTzhAHCEpf8SOarwpzpf8pNBY2k5/oM34UHldUwp8VKI7uxct2HxSRdJjBaZeESzcxA==";
+        url = "https://registry.npmjs.org/node-releases/-/node-releases-2.0.2.tgz";
+        sha512 = "XxYDdcQ6eKqp/YjI+tb2C5WM2LgjnZrfYg4vgQt49EK268b6gYCHsBLrK2qvJo4FmCtqmKezb0WZFK4fkrZNsg==";
       };
     };
     "node-rsa-1.1.1" = {
@@ -45624,6 +46056,15 @@ let
         sha512 = "Jd4cvbJMryN21r5HgxQOpMEqv+ooke/korixNNK3mGqfGJmy0M77WDDzo/05969+OkMy3XW1UuZsSmW9KQm7Fw==";
       };
     };
+    "node-schedule-1.3.2" = {
+      name = "node-schedule";
+      packageName = "node-schedule";
+      version = "1.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-schedule/-/node-schedule-1.3.2.tgz";
+        sha512 = "GIND2pHMHiReSZSvS6dpZcDH7pGPGFfWBIEud6S00Q8zEIzAs9ommdyRK1ZbQt8y1LyZsJYZgPnyi7gpU2lcdw==";
+      };
+    };
     "node-ssdp-2.9.1" = {
       name = "node-ssdp";
       packageName = "node-ssdp";
@@ -45696,6 +46137,15 @@ let
         sha512 = "ma6oU4Sk0qOoKEAymVoTvk8EdXEobdS7m/mAGhDJ8Rouugho48crHBORAmy5BoOcv8wraPM6xumapQp5hl4iIQ==";
       };
     };
+    "node-watch-0.7.3" = {
+      name = "node-watch";
+      packageName = "node-watch";
+      version = "0.7.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/node-watch/-/node-watch-0.7.3.tgz";
+        sha512 = "3l4E8uMPY1HdMMryPRUAl+oIHtXtyiTlIiESNSVSNxcPfzAFzeTbXFQkZfAwBbo0B1qMSG8nUABx+Gd+YrbKrQ==";
+      };
+    };
     "node-wsfederation-0.1.1" = {
       name = "node-wsfederation";
       packageName = "node-wsfederation";
@@ -45786,6 +46236,15 @@ let
         sha512 = "K9nTVFOGUOYutaG8ywiKpCdVu458RFxSgSJ0rribUxtf5iLM9B2+raFJgkID3p5op0+twmoQqFaPnu9KYz6qzg==";
       };
     };
+    "non-private-ip-2.2.0" = {
+      name = "non-private-ip";
+      packageName = "non-private-ip";
+      version = "2.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/non-private-ip/-/non-private-ip-2.2.0.tgz";
+        sha512 = "NZ3Upr3K2whD6vdZ9k8gHsijsrQl5O6IARLIUDyvQwSuO/owM1kOMu8wDMMsIR8ujlLvhPNjlTZC2SXzWwWByQ==";
+      };
+    };
     "noop-fn-1.0.0" = {
       name = "noop-fn";
       packageName = "noop-fn";
@@ -45867,6 +46326,15 @@ let
         sha512 = "Tbj67rffqceeLpcRXrT7vKAN8CwfPeIBgM7E6iBkmKLV7bEMwpGgYLGv0jACUsECaa/vuxP0IjEont6umdMgtQ==";
       };
     };
+    "normalize-newline-4.1.0" = {
+      name = "normalize-newline";
+      packageName = "normalize-newline";
+      version = "4.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/normalize-newline/-/normalize-newline-4.1.0.tgz";
+        sha512 = "ff4jKqMI8Xl50/4Mms/9jPobzAV/UK+kXG2XJ/7AqOmxIx8mqfqTIHYxuAnEgJ2AQeBbLnlbmZ5+38Y9A0w/YA==";
+      };
+    };
     "normalize-package-data-2.5.0" = {
       name = "normalize-package-data";
       packageName = "normalize-package-data";
@@ -46119,6 +46587,15 @@ let
         sha512 = "LhgZrg0n0VgvzVdSm1oiZworPbTxYHUJCgtsJW8mGvlDpxTM1vSJc3m5QZeUkhAHIzbz3VCHd/R4osi1L1Tg/Q==";
       };
     };
+    "npm-package-arg-9.0.0" = {
+      name = "npm-package-arg";
+      packageName = "npm-package-arg";
+      version = "9.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-9.0.0.tgz";
+        sha512 = "yhzXxeor+Zfhe5MGwPdDumz6HtNlj2pMekWB95IX3CC6uDNgde0oPKHDCLDPoJqQfd0HqAWt+y4Hs5m7CK1+9Q==";
+      };
+    };
     "npm-packlist-1.4.8" = {
       name = "npm-packlist";
       packageName = "npm-packlist";
@@ -46155,6 +46632,15 @@ let
         sha512 = "dBsdBtORT84S8V8UTad1WlUyKIY9iMsAmqxHbLdeEeBNMLQDlDWWra3wYUx9EBEIiG/YwAy0XyNHDd2goAsfuA==";
       };
     };
+    "npm-pick-manifest-7.0.0" = {
+      name = "npm-pick-manifest";
+      packageName = "npm-pick-manifest";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-7.0.0.tgz";
+        sha512 = "njM1AcdioFaKd0JSGtLO09YA1WRwctjGQJbnHGmKS+u+uwP8oFvtZtOQWPYdxrnY5eJud3wn8OpH4sEIx6+GEQ==";
+      };
+    };
     "npm-prefix-1.2.0" = {
       name = "npm-prefix";
       packageName = "npm-prefix";
@@ -46191,6 +46677,24 @@ let
         sha512 = "jmlgSxoDNuhAtxUIG6pVwwtz840i994dL14FoNVZisrmZW5kWd63IUTNv1m/hyRSGSqWjCUp/YZlS1BJyNp9XA==";
       };
     };
+    "npm-registry-fetch-12.0.2" = {
+      name = "npm-registry-fetch";
+      packageName = "npm-registry-fetch";
+      version = "12.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-12.0.2.tgz";
+        sha512 = "Df5QT3RaJnXYuOwtXBXS9BWs+tHH2olvkCLh6jcR/b/u3DvPMlp3J0TvvYwplPKxHMOwfg287PYih9QqaVFoKA==";
+      };
+    };
+    "npm-registry-fetch-13.0.0" = {
+      name = "npm-registry-fetch";
+      packageName = "npm-registry-fetch";
+      version = "13.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-13.0.0.tgz";
+        sha512 = "MmiMuV9DU5gRuAU0jia952Qq+E4h7ZoUaeltCXivhClcqfOVKqNLZEQsRUOb6a8WQY+um8x97JcUuaWFoPoBBw==";
+      };
+    };
     "npm-registry-fetch-9.0.0" = {
       name = "npm-registry-fetch";
       packageName = "npm-registry-fetch";
@@ -46281,13 +46785,13 @@ let
         sha512 = "AqZtDUWOMKs1G/8lwylVjrdYgqA4d9nu8hc+0gzRxlDb1I10+FHBGMXs6aiQHFdCUUlqH99MUMuLfzWDNDtfxw==";
       };
     };
-    "npmlog-6.0.0" = {
+    "npmlog-6.0.1" = {
       name = "npmlog";
       packageName = "npmlog";
-      version = "6.0.0";
+      version = "6.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/npmlog/-/npmlog-6.0.0.tgz";
-        sha512 = "03ppFRGlsyUaQFbGC2C8QWJN/C/K7PsfyD9aQdhVKAQIH4sQBc8WASqFBP7O+Ut4d2oo5LoeoboB3cGdBZSp6Q==";
+        url = "https://registry.npmjs.org/npmlog/-/npmlog-6.0.1.tgz";
+        sha512 = "BTHDvY6nrRHuRfyjt1MAufLxYdVXZfd099H4+i1f0lPywNQyI4foeNXJRObB/uy+TYqUW0vAD9gbdSOXPst7Eg==";
       };
     };
     "nprogress-0.2.0" = {
@@ -46326,13 +46830,13 @@ let
         sha512 = "it1vE95zF6dTT9lBsYbxvqh0Soy4SPowchj0UBGj/V6cTPnXXtQOPUbhZ6CmGzAD/rW22LQK6E96pcdJXk4A4w==";
       };
     };
-    "nugget-2.0.1" = {
+    "nugget-2.0.2" = {
       name = "nugget";
       packageName = "nugget";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nugget/-/nugget-2.0.1.tgz";
-        sha1 = "201095a487e1ad36081b3432fa3cada4f8d071b0";
+        url = "https://registry.npmjs.org/nugget/-/nugget-2.0.2.tgz";
+        sha512 = "A8A8+PtlH937KWXJnfct6ubGPfgHOe3lwFkkmrT5xW8+aRBnDWqSiW5NRuiVuh/k/auLGsZdu+WrIU2epL/FHg==";
       };
     };
     "nullthrows-1.1.1" = {
@@ -46434,6 +46938,15 @@ let
         sha512 = "h2AatdwYH+JHiZpv7pt/gSX1XoRGb7L/qSIeuqA6GwYoF9w1vP1cw42TO0aI2pNyshRK5893hNSl+1//vHK7hQ==";
       };
     };
+    "o3-1.0.3" = {
+      name = "o3";
+      packageName = "o3";
+      version = "1.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/o3/-/o3-1.0.3.tgz";
+        sha1 = "192ce877a882dfa6751f0412a865fafb2da1dac0";
+      };
+    };
     "oas-kit-common-1.0.8" = {
       name = "oas-kit-common";
       packageName = "oas-kit-common";
@@ -46494,7 +47007,7 @@ let
       version = "0.9.15";
       src = fetchurl {
         name = "oauth-0.9.15.tar.gz";
-        url = "https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/master";
+        url = "https://codeload.github.com/ciaranj/node-oauth/legacy.tar.gz/refs/heads/master";
         sha256 = "9341c28772841acde618c778e85e381976f425824b816100792f697e68aec947";
       };
     };
@@ -46606,15 +47119,6 @@ let
         sha512 = "gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==";
       };
     };
-    "object-inspect-1.11.1" = {
-      name = "object-inspect";
-      packageName = "object-inspect";
-      version = "1.11.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/object-inspect/-/object-inspect-1.11.1.tgz";
-        sha512 = "If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==";
-      };
-    };
     "object-inspect-1.12.0" = {
       name = "object-inspect";
       packageName = "object-inspect";
@@ -46669,13 +47173,13 @@ let
         sha512 = "YJjNZrlXJFM42wTBn6zgOJVar9KFJvzx6sTWDte8sWZF//cnjl0BxHNpfZx+ZffXX63A9q0b1zsFiBX4g4X5KA==";
       };
     };
-    "object-sizeof-1.6.1" = {
+    "object-sizeof-1.6.3" = {
       name = "object-sizeof";
       packageName = "object-sizeof";
-      version = "1.6.1";
+      version = "1.6.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/object-sizeof/-/object-sizeof-1.6.1.tgz";
-        sha512 = "gNKGcRnDRXwEpAdwUY3Ef+aVZIrcQVXozSaVzHz6Pv4JxysH8vf5F+nIgsqW5T/YNwZNveh0mIW7PEH1O2MrDw==";
+        url = "https://registry.npmjs.org/object-sizeof/-/object-sizeof-1.6.3.tgz";
+        sha512 = "LGtilAKuDGKCcvu1Xg3UvAhAeJJlFmblo3faltmOQ80xrGwAHxnauIXucalKdTEksHp/Pq9tZGz1hfyEmjFJPQ==";
       };
     };
     "object-to-arguments-0.0.8" = {
@@ -46804,13 +47308,13 @@ let
         sha512 = "eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==";
       };
     };
-    "obliterator-1.6.1" = {
+    "obliterator-2.0.2" = {
       name = "obliterator";
       packageName = "obliterator";
-      version = "1.6.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/obliterator/-/obliterator-1.6.1.tgz";
-        sha512 = "9WXswnqINnnhOG/5SLimUlzuU1hFJUc8zkwyD59Sd+dPOMf05PmnYG/d6Q7HZ+KmgkZJa1PxRso6QdM3sTNHig==";
+        url = "https://registry.npmjs.org/obliterator/-/obliterator-2.0.2.tgz";
+        sha512 = "g0TrA7SbUggROhDPK8cEu/qpItwH2LSKcNl4tlfBNT54XY+nOsqrs0Q68h1V9b3HOSpIWv15jb1lax2hAggdIg==";
       };
     };
     "observ-0.2.0" = {
@@ -46858,13 +47362,13 @@ let
         sha512 = "rH3U4eLHsV+OgkOS29ULiC9JLspwMCyCIH/+BglLPXDxQs13IK8AGD+nVmkGXqGN5JefZu85YhfIi05CsOKWPw==";
       };
     };
-    "office-ui-fabric-react-7.181.0" = {
+    "office-ui-fabric-react-7.183.1" = {
       name = "office-ui-fabric-react";
       packageName = "office-ui-fabric-react";
-      version = "7.181.0";
+      version = "7.183.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.181.0.tgz";
-        sha512 = "d2M2H3p07VuQl8MtmVXIwulmDbHT1yuM2VR9xWNxqBy+p2gp1qhMLgYKCqTJ2PMpHyCZgGTQ8lc68Zgjg5+RfA==";
+        url = "https://registry.npmjs.org/office-ui-fabric-react/-/office-ui-fabric-react-7.183.1.tgz";
+        sha512 = "2C0fmVPYi7kuMa0e+0Cw37C5SxOb4I//e5zwoBgOPagODYO/yhxZAxOt6VTOkn1Nr3zTZeYAfN7mjUNrjfyvFA==";
       };
     };
     "omggif-1.0.10" = {
@@ -46984,15 +47488,6 @@ let
         sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
       };
     };
-    "one-time-0.0.4" = {
-      name = "one-time";
-      packageName = "one-time";
-      version = "0.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/one-time/-/one-time-0.0.4.tgz";
-        sha1 = "f8cdf77884826fe4dff93e3a9cc37b1e4480742e";
-      };
-    };
     "one-time-1.0.0" = {
       name = "one-time";
       packageName = "one-time";
@@ -47047,13 +47542,13 @@ let
         sha512 = "fvaSZRzprpwLFge/mcwE0CItfniNisVNamDdMK1FQUjh4ArQZ8ZWSkDaJbZc3XaANKZHq0xIa8NJpZ2HSe3oXA==";
       };
     };
-    "oo-ascii-tree-1.52.1" = {
+    "oo-ascii-tree-1.54.0" = {
       name = "oo-ascii-tree";
       packageName = "oo-ascii-tree";
-      version = "1.52.1";
+      version = "1.54.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.52.1.tgz";
-        sha512 = "hcQSkW/WkZFWqK878X+Bo8vD2Axo9FBQBGeTLANgWOay7IVFUvLmqbFUyfovzD+/L4ak1n/BdsWfSL/0a3NT2w==";
+        url = "https://registry.npmjs.org/oo-ascii-tree/-/oo-ascii-tree-1.54.0.tgz";
+        sha512 = "EAk5I5GHidk2lvqwcfR1bl/EeK1Pns8BMzzFKle6clapov3LX54l3k70VGHQDLsHo42dy9UJe23mJPVpg9iTcg==";
       };
     };
     "open-0.0.2" = {
@@ -47110,15 +47605,6 @@ let
         sha512 = "MVHddDVweXZF3awtlAS+6pgKLlm/JgxZ90+/NBurBoQctVOOB/zDdVjcyPzQ+0laDGbsWgrRkflI65sQeOgT9Q==";
       };
     };
-    "open-8.1.0" = {
-      name = "open";
-      packageName = "open";
-      version = "8.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/open/-/open-8.1.0.tgz";
-        sha512 = "jB5hAtsDOhCy/FNQJwQJOrGlxLUat482Yr14rbA5l2Zb1eOeoS+ccQPO036C1+z9VDBTmOZqzh1tBbI4myzIYw==";
-      };
-    };
     "open-8.4.0" = {
       name = "open";
       packageName = "open";
@@ -47236,13 +47722,13 @@ let
         sha512 = "Su8jA45PhegUgJnEAT15DYt2spPJgvjyTtXqg+Lw5AtGePfcQskV6ACEzsL0XPoAXIFf09Vx6sBor9pek+tl+Q==";
       };
     };
-    "openapi-sampler-1.1.1" = {
+    "openapi-sampler-1.2.0" = {
       name = "openapi-sampler";
       packageName = "openapi-sampler";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.1.1.tgz";
-        sha512 = "WAFsl5SPYuhQwaMTDFOcKhnEY1G1rmamrMiPmJdqwfl1lr81g63/befcsN9BNi0w5/R0L+hfcUj13PANEBeLgg==";
+        url = "https://registry.npmjs.org/openapi-sampler/-/openapi-sampler-1.2.0.tgz";
+        sha512 = "Y0tFg2iH7NWnNHYnesxhMfkXc7wWXyJXYMUTTxkGkfpl0U9u/ZOf6BxrdEXBD4sgs9uMlVWsbWLDLesVmSUU7Q==";
       };
     };
     "openapi-schema-validator-3.0.3" = {
@@ -47326,13 +47812,13 @@ let
         sha512 = "olbaNxz12R27+mTyJ/ZAFEfUruauHH27AkeQHDHRq5AF0LdNkK1SSV7EourXQDK+4aX7dv2HtyirAGK06WMAsA==";
       };
     };
-    "openapi3-ts-2.0.1" = {
+    "openapi3-ts-2.0.2" = {
       name = "openapi3-ts";
       packageName = "openapi3-ts";
-      version = "2.0.1";
+      version = "2.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.1.tgz";
-        sha512 = "v6X3iwddhi276siej96jHGIqTx3wzVfMTmpGJEQDt7GPI7pI6sywItURLzpEci21SBRpPN/aOWSF5mVfFVNmcg==";
+        url = "https://registry.npmjs.org/openapi3-ts/-/openapi3-ts-2.0.2.tgz";
+        sha512 = "TxhYBMoqx9frXyOgnRHufjQfPXomTIHYKhSKJ6jHfj13kS8OEIhvmE8CTuQyKtjjWttAjX5DPxM1vmalEpo8Qw==";
       };
     };
     "opencollective-1.0.3" = {
@@ -47488,15 +47974,6 @@ let
         sha512 = "mgFS1JdOtEGzD8l+EuISqL57cKO+We9GcoiQEmdCWRqqck+FGNmYJtx9qfAPzEz+lRrlThWMuGDaRkI/yWNx/Q==";
       };
     };
-    "optional-0.1.4" = {
-      name = "optional";
-      packageName = "optional";
-      version = "0.1.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/optional/-/optional-0.1.4.tgz";
-        sha512 = "gtvrrCfkE08wKcgXaVwQVgwEQ8vel2dc5DDBn9RLQZ3YtmtkBss6A2HY6BnJH4N/4Ku97Ri/SF8sNWE2225WJw==";
-      };
-    };
     "optionator-0.3.0" = {
       name = "optionator";
       packageName = "optionator";
@@ -47614,13 +48091,13 @@ let
         sha512 = "5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==";
       };
     };
-    "ora-6.0.1" = {
+    "ora-6.1.0" = {
       name = "ora";
       packageName = "ora";
-      version = "6.0.1";
+      version = "6.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ora/-/ora-6.0.1.tgz";
-        sha512 = "TDdKkKHdWE6jo/6pIa5U5AWcSVfpNRFJ8sdRJpioGNVPLAzZzHs/N+QhUfF7ZbyoC+rnDuNTKzeDJUbAza9g4g==";
+        url = "https://registry.npmjs.org/ora/-/ora-6.1.0.tgz";
+        sha512 = "CxEP6845hLK+NHFWZ+LplGO4zfw4QSfxTlqMfvlJ988GoiUeZDMzCvqsZkFHv69sPICmJH1MDxZoQFOKXerAVw==";
       };
     };
     "ordered-read-streams-1.0.1" = {
@@ -47794,6 +48271,15 @@ let
         sha512 = "JAERcaMBLYKMq+voYw36+x5Dgh47+/o7yuv2oQYuSSUml4YeqJEFznBrY2UeEkoSHqBua6hz518n/PsowTYLLg==";
       };
     };
+    "p-any-3.0.0" = {
+      name = "p-any";
+      packageName = "p-any";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-any/-/p-any-3.0.0.tgz";
+        sha512 = "5rqbqfsRWNb0sukt0awwgJMlaep+8jV45S15SKKB34z4UuzjcofIfnriCBhWjZP2jbVtjt9yRl7buB6RlKsu9w==";
+      };
+    };
     "p-cancelable-0.3.0" = {
       name = "p-cancelable";
       packageName = "p-cancelable";
@@ -47965,6 +48451,15 @@ let
         sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
       };
     };
+    "p-limit-4.0.0" = {
+      name = "p-limit";
+      packageName = "p-limit";
+      version = "4.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz";
+        sha512 = "5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==";
+      };
+    };
     "p-locate-2.0.0" = {
       name = "p-locate";
       packageName = "p-locate";
@@ -48037,6 +48532,15 @@ let
         sha512 = "/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==";
       };
     };
+    "p-map-5.3.0" = {
+      name = "p-map";
+      packageName = "p-map";
+      version = "5.3.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-map/-/p-map-5.3.0.tgz";
+        sha512 = "SRbIQFoLYNezHkqZslqeg963HYUtqOrfMCxjNrFOpJ19WTYuq26rQoOXeX8QQiMLUlLqdYV/7PuDsdYJ7hLE1w==";
+      };
+    };
     "p-map-series-2.1.0" = {
       name = "p-map-series";
       packageName = "p-map-series";
@@ -48136,6 +48640,15 @@ let
         sha512 = "MF/HIbq6GeBqTrTIl5OJubzkGU+qfFhAFi0gnTAK6rgEIJIknEiABHOTtQu4e6JiXjIwuMPMUFQzyHh5QjCl1g==";
       };
     };
+    "p-some-5.0.0" = {
+      name = "p-some";
+      packageName = "p-some";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/p-some/-/p-some-5.0.0.tgz";
+        sha512 = "Js5XZxo6vHjB9NOYAzWDYAIyyiPvva0DWESAIWIK7uhSpGsyg5FwUPxipU/SOQx5x9EqhOh545d1jo6cVkitig==";
+      };
+    };
     "p-timeout-1.2.1" = {
       name = "p-timeout";
       packageName = "p-timeout";
@@ -48307,6 +48820,15 @@ let
         sha512 = "k3bdm2n25tkyxcjSKzB5x8kfVxlMdgsbPr0GkZcwHsLpba6cBjqCt1KlcChKEvxHIcTB1FVMuwoijZ26xex5MQ==";
       };
     };
+    "package-json-7.0.0" = {
+      name = "package-json";
+      packageName = "package-json";
+      version = "7.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/package-json/-/package-json-7.0.0.tgz";
+        sha512 = "CHJqc94AA8YfSLHGQT3DbvSIuE12NLFekpM4n7LRrAd3dOJtA911+4xe9q6nC3/jcKraq7nNS9VxgtT0KC+diA==";
+      };
+    };
     "package-json-versionify-1.0.4" = {
       name = "package-json-versionify";
       packageName = "package-json-versionify";
@@ -48334,13 +48856,13 @@ let
         sha512 = "kSxHpoTqlgNEetMp77snCTVILwLw4dJX6pB/z1g1PRG5xylH8cf9upIPygt+epBC3l14XrcZH4/kQYSrzp2Ijg==";
       };
     };
-    "packet-stream-codec-1.1.3" = {
+    "packet-stream-codec-1.2.0" = {
       name = "packet-stream-codec";
       packageName = "packet-stream-codec";
-      version = "1.1.3";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.1.3.tgz";
-        sha512 = "LUL4NK7sz01jdSUdCu3z1LyphCiFdQaFouaEDsAWmJpzS0lbeNfvZoX4bi1Tm1ilzheK5VAoD96QskDCZQr+jA==";
+        url = "https://registry.npmjs.org/packet-stream-codec/-/packet-stream-codec-1.2.0.tgz";
+        sha512 = "3xoTsSVqCPd+0mPsQGlfYm2ecvJK9tS1HOxrjnKEiB1Ynq0fOJHEXcZV/hxW6BkOSGBsGX7dTN8bjdNTU3nKBA==";
       };
     };
     "pacote-11.3.5" = {
@@ -48352,13 +48874,22 @@ let
         sha512 = "fT375Yczn4zi+6Hkk2TBe1x1sP8FgFsEIZ2/iWaXY2r/NkhDJfxbcn5paz1+RTFCyNf+dPnaoBDJoAxXSU8Bkg==";
       };
     };
-    "pacote-12.0.2" = {
+    "pacote-12.0.3" = {
       name = "pacote";
       packageName = "pacote";
-      version = "12.0.2";
+      version = "12.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pacote/-/pacote-12.0.3.tgz";
+        sha512 = "CdYEl03JDrRO3x18uHjBYA9TyoW8gy+ThVcypcDkxPtKlw76e4ejhYB6i9lJ+/cebbjpqPW/CijjqxwDTts8Ow==";
+      };
+    };
+    "pacote-13.0.2" = {
+      name = "pacote";
+      packageName = "pacote";
+      version = "13.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pacote/-/pacote-12.0.2.tgz";
-        sha512 = "Ar3mhjcxhMzk+OVZ8pbnXdb0l8+pimvlsqBGRNkble2NVgyqOGE3yrCGi/lAYq7E7NRDMz89R1Wx5HIMCGgeYg==";
+        url = "https://registry.npmjs.org/pacote/-/pacote-13.0.2.tgz";
+        sha512 = "3LyfvDk2BSJNFQZIcDqnLNa7IsYb6KwX3H9uZPwaHJFIX6Gv5N9QHU+s7mEs/RbN4/ta6KUT39LAi2l6EkBi5A==";
       };
     };
     "pad-0.0.5" = {
@@ -48388,6 +48919,15 @@ let
         sha512 = "G0Enb7xcOpZlOmoK7h7Anym0nFG+t7JPMoTie5HoeUfwfm/mtNfUXyJvtom930Dg9l/g/rVk5CbivwzSS8ccUw==";
       };
     };
+    "paid-services-3.11.4" = {
+      name = "paid-services";
+      packageName = "paid-services";
+      version = "3.11.4";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/paid-services/-/paid-services-3.11.4.tgz";
+        sha512 = "f31e2RMh6LiLs+P+k1r/ZsN9SDTD4U3KmEtk2IMMAsUADjb9U9KkFA9fHmMBmVZyjsLDVa4CDKWY93OiNJ1n1A==";
+      };
+    };
     "pako-0.2.9" = {
       name = "pako";
       packageName = "pako";
@@ -48586,13 +49126,13 @@ let
         sha1 = "a632127f53aaf3d15876f5872f3ffac763d6c891";
       };
     };
-    "parse-git-config-2.0.3" = {
+    "parse-git-config-3.0.0" = {
       name = "parse-git-config";
       packageName = "parse-git-config";
-      version = "2.0.3";
+      version = "3.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/parse-git-config/-/parse-git-config-2.0.3.tgz";
-        sha512 = "Js7ueMZOVSZ3tP8C7E3KZiHv6QQl7lnJ+OkbxoaFazzSa2KyEHqApfGbU3XboUgUnq4ZuUmskUpYKTNx01fm5A==";
+        url = "https://registry.npmjs.org/parse-git-config/-/parse-git-config-3.0.0.tgz";
+        sha512 = "wXoQGL1D+2COYWCD35/xbiKma1Z15xvZL8cI25wvxzled58V51SJM04Urt/uznS900iQor7QO04SgdfT/XlbuA==";
       };
     };
     "parse-github-url-1.0.2" = {
@@ -48649,15 +49189,6 @@ let
         sha1 = "f480f40434ef80741f8469099f8dea18f55a4dc9";
       };
     };
-    "parse-json-3.0.0" = {
-      name = "parse-json";
-      packageName = "parse-json";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/parse-json/-/parse-json-3.0.0.tgz";
-        sha1 = "fa6f47b18e23826ead32f263e744d0e1e847fb13";
-      };
-    };
     "parse-json-4.0.0" = {
       name = "parse-json";
       packageName = "parse-json";
@@ -48883,6 +49414,15 @@ let
         sha1 = "9b10c6c0d825ab589e685153826de0a3ba278bcc";
       };
     };
+    "parseley-0.7.0" = {
+      name = "parseley";
+      packageName = "parseley";
+      version = "0.7.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/parseley/-/parseley-0.7.0.tgz";
+        sha512 = "xyOytsdDu077M3/46Am+2cGXEKM9U9QclBDv7fimY7e+BBlxh2JcBp2mgNsmkyA9uvgyTjVzDi7cP1v4hcFxbw==";
+      };
+    };
     "parseqs-0.0.2" = {
       name = "parseqs";
       packageName = "parseqs";
@@ -49000,15 +49540,6 @@ let
         sha1 = "9dd009f915e8fe095b0124a01b8f82da07510102";
       };
     };
-    "passport-0.4.1" = {
-      name = "passport";
-      packageName = "passport";
-      version = "0.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/passport/-/passport-0.4.1.tgz";
-        sha512 = "IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg==";
-      };
-    };
     "passport-0.5.2" = {
       name = "passport";
       packageName = "passport";
@@ -49108,13 +49639,13 @@ let
         sha512 = "nxl9nrnLQmh64iTzMfyylSlRozL7kAXIaxw1fVcLYdyhNkJCRUzirRZTikXGJsg+hc4fqpneTK6iU2H1Q8THSA==";
       };
     };
-    "patel-0.35.1" = {
+    "patel-0.37.1" = {
       name = "patel";
       packageName = "patel";
-      version = "0.35.1";
+      version = "0.37.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/patel/-/patel-0.35.1.tgz";
-        sha512 = "Em5Zh8t+oVnTNELwze1J9iQEeOBC+84B+UstU4hrmv16uvdunBzmMad6kY28nVxBxycqH6EYsDV2s1rO9IeZaw==";
+        url = "https://registry.npmjs.org/patel/-/patel-0.37.1.tgz";
+        sha512 = "7lIe3whu1gIJePlt8U+xmKCNXZgfBNNYdE4thvJTKfz8xZmmHC3+Oc7pI2qabtVLppXAjg5g3xnhDaLsD7dQ8w==";
       };
     };
     "path-browserify-0.0.1" = {
@@ -49360,13 +49891,13 @@ let
         sha512 = "Dp6zGqpTdETdR63lehJYPeIOqpiNBNtc7BpWSLrOje7UaIsE5aY92r/AunQA7rsXvet3lrJ3JnZX29UPTKXyKQ==";
       };
     };
-    "patrisika-0.23.0" = {
+    "patrisika-0.24.0" = {
       name = "patrisika";
       packageName = "patrisika";
-      version = "0.23.0";
+      version = "0.24.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/patrisika/-/patrisika-0.23.0.tgz";
-        sha512 = "bGxKK+XqO7Qfgv7WJSeytwZlbQsKXeuya+FD+6CB0iHat4tSbmN6eT0FEWGf0ulNguD0th/H3fa+VuXDDYQmLw==";
+        url = "https://registry.npmjs.org/patrisika/-/patrisika-0.24.0.tgz";
+        sha512 = "vIXRwNNZic/jMtMGCmWG0+b3vg2zKqeNgY4NHKHkevUc+eIY7iudIXMGwnDY45mavfHxmEhATxnpkMJvBwCCqA==";
       };
     };
     "patrisika-scopes-0.12.0" = {
@@ -49414,13 +49945,13 @@ let
         sha512 = "iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==";
       };
     };
-    "peek-readable-4.0.2" = {
+    "peek-readable-4.1.0" = {
       name = "peek-readable";
       packageName = "peek-readable";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-4.0.2.tgz";
-        sha512 = "9fMaz6zoxw9ypO1KZy5RDJgSupEtu0Q+g/OqqsVHX3rKGR8qehRLYzsFARZ4bVvdvfknKiXvuDbkMnO1g6cRpQ==";
+        url = "https://registry.npmjs.org/peek-readable/-/peek-readable-4.1.0.tgz";
+        sha512 = "ZI3LnwUv5nOGbQzD9c2iDG6toheuXSZP5esSHBjopsXH4dg19soufvpUGA3uohi5anFtGb2lhAVdHzH6R/Evvg==";
       };
     };
     "peek-stream-1.1.3" = {
@@ -49531,13 +50062,13 @@ let
         sha512 = "WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==";
       };
     };
-    "pg-pool-3.4.1" = {
+    "pg-pool-3.5.1" = {
       name = "pg-pool";
       packageName = "pg-pool";
-      version = "3.4.1";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.4.1.tgz";
-        sha512 = "TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==";
+        url = "https://registry.npmjs.org/pg-pool/-/pg-pool-3.5.1.tgz";
+        sha512 = "6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==";
       };
     };
     "pg-protocol-1.5.0" = {
@@ -49621,13 +50152,13 @@ let
         sha512 = "49/xq+wzbwDeI32aPvwQJldM8pr7dKDRuR76IjztrkmiCkAQDaWFJzkmfVqCHmt/iFoPFhHmI9L0oKhthrTOQw==";
       };
     };
-    "pid-from-port-1.1.3" = {
-      name = "pid-from-port";
-      packageName = "pid-from-port";
-      version = "1.1.3";
+    "pid-port-0.1.1" = {
+      name = "pid-port";
+      packageName = "pid-port";
+      version = "0.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pid-from-port/-/pid-from-port-1.1.3.tgz";
-        sha512 = "OlE82n3yMOE5dY9RMOwxhoWefeMlxwk5IVxoj0sSzSFIlmvhN4obzTvO3s/d/b5JhcgXikjaspsy/HuUDTqbBg==";
+        url = "https://registry.npmjs.org/pid-port/-/pid-port-0.1.1.tgz";
+        sha512 = "boqPJtSgZC6KOgXKNPC+/XR3xwVtpOtaLa7JLcdf8jfVe0ZM2TwllBXxxLUO8GQbOLJ4/hEtf2+L1QCKbaoHUg==";
       };
     };
     "pid-port-0.2.0" = {
@@ -49648,6 +50179,15 @@ let
         sha512 = "cv3xAQos+pugVX+BfXpHsbyz/dLzX+lr44zNMsYiGxUw+kV5sgQCIcLd1z+0vq+KyC7dJ+/ts2PsfgWfSC3WXA==";
       };
     };
+    "pidusage-3.0.0" = {
+      name = "pidusage";
+      packageName = "pidusage";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pidusage/-/pidusage-3.0.0.tgz";
+        sha512 = "8VJLToXhj+RYZGNVw8oxc7dS54iCQXUJ+MDFHezQ/fwF5B8W4OWodAMboc1wb08S/4LiHwAmkT4ohf/d3YPPsw==";
+      };
+    };
     "piece-length-2.0.1" = {
       name = "piece-length";
       packageName = "piece-length";
@@ -49729,22 +50269,13 @@ let
         sha1 = "2135d6dfa7a358c069ac9b178776288228450ffa";
       };
     };
-    "pino-7.4.0" = {
-      name = "pino";
-      packageName = "pino";
-      version = "7.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-7.4.0.tgz";
-        sha512 = "qEHLtKcmYcid6s2qjlGTxaLe9Lq1IiGmd74IZb9Obi/FRTaA+ymb8FD/cmOIL4vt6ug/EtmhGwxZbiGhI+7cuQ==";
-      };
-    };
-    "pino-7.6.4" = {
+    "pino-7.6.5" = {
       name = "pino";
       packageName = "pino";
-      version = "7.6.4";
+      version = "7.6.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pino/-/pino-7.6.4.tgz";
-        sha512 = "ktibPg3ttWONxYQ2Efk1zYbIvofD5zdd/ReoujK84ggEp0REflb9TsXavSjt8u1CdT2mMJe9QQ3ZpyOQxUKipA==";
+        url = "https://registry.npmjs.org/pino/-/pino-7.6.5.tgz";
+        sha512 = "38tAwlJ7HevMENHD5FZE+yxSlAH5Wg3FoOjbB3MX2j3/kgpOEkmDHhTVKkecR57qxD5doHo2yi9nac94gqqbiQ==";
       };
     };
     "pino-abstract-transport-0.5.0" = {
@@ -49792,13 +50323,13 @@ let
         sha1 = "f8436f8565ed1d97bf3a80632a5397bfd353385f";
       };
     };
-    "pirates-4.0.4" = {
+    "pirates-4.0.5" = {
       name = "pirates";
       packageName = "pirates";
-      version = "4.0.4";
+      version = "4.0.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.4.tgz";
-        sha512 = "ZIrVPH+A52Dw84R0L3/VS9Op04PuQ2SEoJL6bkshmiTic/HldyW9Tf7oH5mhJZBK7NmDx27vSMrYEXPXclpDKw==";
+        url = "https://registry.npmjs.org/pirates/-/pirates-4.0.5.tgz";
+        sha512 = "8V9+HQPupnaXMA23c5hvl69zXvTwTzyAYasnkb0Tts4XvO4CliqONMOnvlq26rkhLC3nWDFBJf73LU1e1VZLaQ==";
       };
     };
     "pixelmatch-4.0.2" = {
@@ -49828,15 +50359,6 @@ let
         sha1 = "378e56d6fd13e88bfb6f4a25df7a83faabddba5b";
       };
     };
-    "pkg-dir-2.0.0" = {
-      name = "pkg-dir";
-      packageName = "pkg-dir";
-      version = "2.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pkg-dir/-/pkg-dir-2.0.0.tgz";
-        sha1 = "f6d5d1109e19d63edf428e0bd57e12777615334b";
-      };
-    };
     "pkg-dir-3.0.0" = {
       name = "pkg-dir";
       packageName = "pkg-dir";
@@ -49918,6 +50440,15 @@ let
         sha1 = "b5418ef0439de5425fc4995042dced14fb2a84ff";
       };
     };
+    "platform-1.3.6" = {
+      name = "platform";
+      packageName = "platform";
+      version = "1.3.6";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/platform/-/platform-1.3.6.tgz";
+        sha512 = "fnWVljUchTro6RiCFvCXBbNhJc2NijN7oIQxbwsyL0buWJPG85v81ehlHI9fXrJsMNgTofEoWIQeClKpgxFLrg==";
+      };
+    };
     "playerui-1.3.0" = {
       name = "playerui";
       packageName = "playerui";
@@ -50225,15 +50756,6 @@ let
         sha256 = "0092766ac49279342f7d17677359880b44b245ad9d32237a11a5ea45cb0d03fa";
       };
     };
-    "postcss-5.2.18" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "5.2.18";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-5.2.18.tgz";
-        sha512 = "zrUjRRe1bpXKsX1qAJNJjqZViErVuyEkMTRrwu4ud4sbTtIBRmtaYDrHmcGgmrbsW3MHfmtIf+vJumgQn+PrXg==";
-      };
-    };
     "postcss-6.0.1" = {
       name = "postcss";
       packageName = "postcss";
@@ -50270,22 +50792,13 @@ let
         sha512 = "yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==";
       };
     };
-    "postcss-8.3.11" = {
+    "postcss-8.4.6" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.3.11";
+      version = "8.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz";
-        sha512 = "hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==";
-      };
-    };
-    "postcss-8.4.5" = {
-      name = "postcss";
-      packageName = "postcss";
-      version = "8.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz";
-        sha512 = "jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz";
+        sha512 = "OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==";
       };
     };
     "postcss-calc-7.0.5" = {
@@ -50360,15 +50873,6 @@ let
         sha512 = "9SiofaZ9CWpQWxOwRh1b/r85KD5y7GgvsNt1056k6OYLvWUun0czCvogfJgylC22uJTwW1KzY3Gz65NZRlvoiQ==";
       };
     };
-    "postcss-html-0.12.0" = {
-      name = "postcss-html";
-      packageName = "postcss-html";
-      version = "0.12.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-html/-/postcss-html-0.12.0.tgz";
-        sha512 = "KxKUpj7AY7nlCbLcTOYxdfJnGE7QFAfU2n95ADj1Q90RM/pOLdz8k3n4avOyRFs7MDQHcRzJQWM1dehCwJxisQ==";
-      };
-    };
     "postcss-html-0.36.0" = {
       name = "postcss-html";
       packageName = "postcss-html";
@@ -50387,15 +50891,6 @@ let
         sha512 = "77QESFBwgX4irogGVPgQ5s07vLvFqWr228qZY+w6lW599cRlK/HmnlivnnVUxkjHnCu4J16PDMHcH+e+2HbvTQ==";
       };
     };
-    "postcss-less-1.1.5" = {
-      name = "postcss-less";
-      packageName = "postcss-less";
-      version = "1.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-less/-/postcss-less-1.1.5.tgz";
-        sha512 = "QQIiIqgEjNnquc0d4b6HDOSFZxbFQoy4MPpli2lSLpKhMyBkKwwca2HFqu4xzxlKID/F2fxSOowwtKpgczhF7A==";
-      };
-    };
     "postcss-less-3.1.4" = {
       name = "postcss-less";
       packageName = "postcss-less";
@@ -50414,13 +50909,13 @@ let
         sha512 = "/rDeGV6vMUo3mwJZmeHfEDvwnTKKqQ0S7OHUi/kJvvtx3aWtyWG2/0ZWnzCt2keEclwN6Tf0DST2v9kITdOKYw==";
       };
     };
-    "postcss-load-config-3.1.1" = {
+    "postcss-load-config-3.1.3" = {
       name = "postcss-load-config";
       packageName = "postcss-load-config";
-      version = "3.1.1";
+      version = "3.1.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.1.tgz";
-        sha512 = "c/9XYboIbSEUZpiD1UQD0IKiUe8n9WHYV7YFe7X7J+ZwCsEKkUJSFWjS9hBU1RR9THR7jMXst8sxiqP0jjo2mg==";
+        url = "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.3.tgz";
+        sha512 = "5EYgaM9auHGtO//ljHH+v/aC/TQ5LHXtL7bQajNAUBKUVKiYE8rYpFms7+V26D9FncaGe2zwCoPQsFKb5zF/Hw==";
       };
     };
     "postcss-loader-3.0.0" = {
@@ -50702,15 +51197,6 @@ let
         sha512 = "EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==";
       };
     };
-    "postcss-reporter-5.0.0" = {
-      name = "postcss-reporter";
-      packageName = "postcss-reporter";
-      version = "5.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-reporter/-/postcss-reporter-5.0.0.tgz";
-        sha512 = "rBkDbaHAu5uywbCR2XE8a25tats3xSOsGNx6mppK6Q9kSFGKc/FyAzfci+fWM2l+K402p1D0pNcfDGxeje5IKg==";
-      };
-    };
     "postcss-reporter-7.0.5" = {
       name = "postcss-reporter";
       packageName = "postcss-reporter";
@@ -50729,15 +51215,6 @@ let
         sha1 = "29ccbc7c37dedfac304e9fff0bf1596b3f6a0e4e";
       };
     };
-    "postcss-safe-parser-3.0.1" = {
-      name = "postcss-safe-parser";
-      packageName = "postcss-safe-parser";
-      version = "3.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-safe-parser/-/postcss-safe-parser-3.0.1.tgz";
-        sha1 = "b753eff6c7c0aea5e8375fbe4cde8bf9063ff142";
-      };
-    };
     "postcss-safe-parser-4.0.2" = {
       name = "postcss-safe-parser";
       packageName = "postcss-safe-parser";
@@ -50756,15 +51233,6 @@ let
         sha512 = "FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ==";
       };
     };
-    "postcss-sass-0.2.0" = {
-      name = "postcss-sass";
-      packageName = "postcss-sass";
-      version = "0.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-sass/-/postcss-sass-0.2.0.tgz";
-        sha512 = "cUmYzkP747fPCQE6d+CH2l1L4VSyIlAzZsok3HPjb5Gzsq3jE+VjpAdGlPsnQ310WKWI42sw+ar0UNN59/f3hg==";
-      };
-    };
     "postcss-sass-0.4.4" = {
       name = "postcss-sass";
       packageName = "postcss-sass";
@@ -50774,15 +51242,6 @@ let
         sha512 = "BYxnVYx4mQooOhr+zer0qWbSPYnarAy8ZT7hAQtbxtgVf8gy+LSLT/hHGe35h14/pZDTw1DsxdbrwxBN++H+fg==";
       };
     };
-    "postcss-scss-1.0.6" = {
-      name = "postcss-scss";
-      packageName = "postcss-scss";
-      version = "1.0.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/postcss-scss/-/postcss-scss-1.0.6.tgz";
-        sha512 = "4EFYGHcEw+H3E06PT/pQQri06u/1VIIPjeJQaM8skB80vZuXMhp4cSNV5azmdNkontnOID/XYWEvEEELLFB1ww==";
-      };
-    };
     "postcss-scss-2.1.1" = {
       name = "postcss-scss";
       packageName = "postcss-scss";
@@ -51224,6 +51683,15 @@ let
         sha512 = "Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==";
       };
     };
+    "prebuild-install-7.0.1" = {
+      name = "prebuild-install";
+      packageName = "prebuild-install";
+      version = "7.0.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz";
+        sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
+      };
+    };
     "precond-0.2.3" = {
       name = "precond";
       packageName = "precond";
@@ -51341,15 +51809,6 @@ let
         sha1 = "994b02aa46f699c50b6257b5faaa7fe2557e62d6";
       };
     };
-    "prettier-eslint-12.0.0" = {
-      name = "prettier-eslint";
-      packageName = "prettier-eslint";
-      version = "12.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-12.0.0.tgz";
-        sha512 = "N8SGGQwAosISXTNl1E57sBbtnqUGlyRWjcfIUxyD3HF4ynehA9GZ8IfJgiep/OfYvCof/JEpy9ZqSl250Wia7A==";
-      };
-    };
     "prettier-eslint-8.8.2" = {
       name = "prettier-eslint";
       packageName = "prettier-eslint";
@@ -51368,15 +51827,6 @@ let
         sha512 = "NPSRf6Y5rufRlBleok/pqg4+1FyGsL0zYhkYP6hnueeL1J/uCm3OfOZPsLX4zqD9VAdcXfyEL2PYqGv8ZoOSfA==";
       };
     };
-    "prettier-stylelint-0.4.2" = {
-      name = "prettier-stylelint";
-      packageName = "prettier-stylelint";
-      version = "0.4.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettier-stylelint/-/prettier-stylelint-0.4.2.tgz";
-        sha512 = "CmatjDsW8xKMtWg/Tc6/W02wC59p50kkItrXmkgbhR4b2EKMU5Pm55x1WuCahkkZeZoNVReWRxA8VL/s69mkBg==";
-      };
-    };
     "prettier-tslint-0.4.2" = {
       name = "prettier-tslint";
       packageName = "prettier-tslint";
@@ -51386,15 +51836,6 @@ let
         sha512 = "urhX7U/F+fu8sztEs/Z7CxNS8PdEytEwGKhQaH5fxxCdRmHGT45FoClyDlcZrMk9cK/8JpX/asFmTOHtSGJfLg==";
       };
     };
-    "pretty-bytes-1.0.4" = {
-      name = "pretty-bytes";
-      packageName = "pretty-bytes";
-      version = "1.0.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-1.0.4.tgz";
-        sha1 = "0a22e8210609ad35542f8c8d5d2159aff0751c84";
-      };
-    };
     "pretty-bytes-4.0.2" = {
       name = "pretty-bytes";
       packageName = "pretty-bytes";
@@ -51440,6 +51881,15 @@ let
         sha512 = "7AeGuCYNGmycyQbCqd/3PWH4eOoX/OiCa0uphp57NVTeAGdJGaAliecxwBDHYQCIvrW7aDBZCYeNTP/WX69mkg==";
       };
     };
+    "pretty-format-27.5.1" = {
+      name = "pretty-format";
+      packageName = "pretty-format";
+      version = "27.5.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.5.1.tgz";
+        sha512 = "Qb1gy5OrP5+zDf2Bvnzdl3jsTf1qXVMazbvCoKhtKqVs4/YK4ozX4gKQJJVyNe+cajNPn0KoC0MC3FUmaHWEmQ==";
+      };
+    };
     "pretty-hash-1.0.1" = {
       name = "pretty-hash";
       packageName = "pretty-hash";
@@ -51476,15 +51926,6 @@ let
         sha512 = "rksPWtoZb2ZpT5OVgtmy0KHVM+Dca3iVwWY9ifwhcexfjebtgjg3wmrUt9PvJ59XIYBcknQeYHD8IAnVlh9lAw==";
       };
     };
-    "prettyoutput-1.2.0" = {
-      name = "prettyoutput";
-      packageName = "prettyoutput";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/prettyoutput/-/prettyoutput-1.2.0.tgz";
-        sha512 = "G2gJwLzLcYS+2m6bTAe+CcDpwak9YpcvpScI0tE4WYb2O3lEZD/YywkMNpGqsSx5wttGvh2UXaKROTKKCyM2dw==";
-      };
-    };
     "prfun-2.1.5" = {
       name = "prfun";
       packageName = "prfun";
@@ -51503,13 +51944,13 @@ let
         sha1 = "c438ca2ca33e3927671db4ab69c0e52f936a4f0f";
       };
     };
-    "printj-1.1.2" = {
+    "printj-1.3.1" = {
       name = "printj";
       packageName = "printj";
-      version = "1.1.2";
+      version = "1.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/printj/-/printj-1.1.2.tgz";
-        sha512 = "zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==";
+        url = "https://registry.npmjs.org/printj/-/printj-1.3.1.tgz";
+        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
       };
     };
     "prism-media-0.0.4" = {
@@ -51521,13 +51962,13 @@ let
         sha512 = "dG2w7WtovUa4SiYTdWn9H8Bd4JNdei2djtkP/Bk9fXq81j5Q15ZPHYSwhUVvBRbp5zMkGtu0Yk62HuMcly0pRw==";
       };
     };
-    "prismjs-1.26.0" = {
+    "prismjs-1.27.0" = {
       name = "prismjs";
       packageName = "prismjs";
-      version = "1.26.0";
+      version = "1.27.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.26.0.tgz";
-        sha512 = "HUoH9C5Z3jKkl3UunCyiD5jwk0+Hz0fIgQ2nbwU2Oo/ceuTAQAg+pPVnfdt2TJWRVLcxKh9iuoYDUSc8clb5UQ==";
+        url = "https://registry.npmjs.org/prismjs/-/prismjs-1.27.0.tgz";
+        sha512 = "t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA==";
       };
     };
     "private-0.1.8" = {
@@ -51557,13 +51998,13 @@ let
         sha512 = "99PZ5+RU4gqiTfK5ZDMDkZtn6eL4WlKfFyVJV7lFQvH3iGmQ85DqMTOdxorERO26LHkevR2qsxnHp0x/2UDJPA==";
       };
     };
-    "probing-2.0.2" = {
+    "probing-2.0.3" = {
       name = "probing";
       packageName = "probing";
-      version = "2.0.2";
+      version = "2.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/probing/-/probing-2.0.2.tgz";
-        sha512 = "M/gKs+NVTX4K7piUEs9geemQtyycv0UgOa4wiE4GkuudfZc/D+wd9W92juh1fK5noGzFhAYhxL0gNq9EFXL2wA==";
+        url = "https://registry.npmjs.org/probing/-/probing-2.0.3.tgz";
+        sha512 = "6PuKCNitH3pjTjHndVtSkb300EQCiYPKJCxfDHlu9uwEcjDc7Fipee8U9fTm5W8frVCB7Vo4V4dlwGL9WVL2OQ==";
       };
     };
     "proc-log-1.0.0" = {
@@ -51575,6 +52016,15 @@ let
         sha512 = "aCk8AO51s+4JyuYGg3Q/a6gnrlDO09NpVWePtjp7xwphcoQ04x5WAfCyugcsbLooWcMJ87CLkD4+604IckEdhg==";
       };
     };
+    "proc-log-2.0.0" = {
+      name = "proc-log";
+      packageName = "proc-log";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/proc-log/-/proc-log-2.0.0.tgz";
+        sha512 = "I/35MfCX2H8jBUhKN8JB8nmqvQo/nKdrBodBY7L3RhDSPPyvOHwLYNmPuhwuJq7a7C3vgFKWGQM+ecPStcvOHA==";
+      };
+    };
     "process-0.10.1" = {
       name = "process";
       packageName = "process";
@@ -51593,15 +52043,6 @@ let
         sha1 = "7332300e840161bda3e69a1d1d91a7d4bc16f182";
       };
     };
-    "process-exists-3.1.0" = {
-      name = "process-exists";
-      packageName = "process-exists";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/process-exists/-/process-exists-3.1.0.tgz";
-        sha512 = "X11vso1oNLtyDa2j8fsMol2fph1+5PoQ4vpEc1it/rM8eLuRTmrmTg4jfn82WhNur241AYitgjKCgmlgMRZesw==";
-      };
-    };
     "process-exists-4.1.0" = {
       name = "process-exists";
       packageName = "process-exists";
@@ -51719,13 +52160,22 @@ let
         sha512 = "iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==";
       };
     };
-    "prom-client-13.1.0" = {
+    "prom-client-12.0.0" = {
+      name = "prom-client";
+      packageName = "prom-client";
+      version = "12.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/prom-client/-/prom-client-12.0.0.tgz";
+        sha512 = "JbzzHnw0VDwCvoqf8y1WDtq4wSBAbthMB1pcVI/0lzdqHGJI3KBJDXle70XK+c7Iv93Gihqo0a5LlOn+g8+DrQ==";
+      };
+    };
+    "prom-client-14.0.1" = {
       name = "prom-client";
       packageName = "prom-client";
-      version = "13.1.0";
+      version = "14.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prom-client/-/prom-client-13.1.0.tgz";
-        sha512 = "jT9VccZCWrJWXdyEtQddCDszYsiuWj5T0ekrPszi/WEegj3IZy6Mm09iOOVM86A4IKMWq8hZkT2dD9MaSe+sng==";
+        url = "https://registry.npmjs.org/prom-client/-/prom-client-14.0.1.tgz";
+        sha512 = "HxTArb6fkOntQHoRGvv4qd/BkorjliiuO2uSWC2KC17MUTKYttWdDoXX/vxOhQdkoECEM9BBH0pj2l8G8kev6w==";
       };
     };
     "promiscuous-0.6.0" = {
@@ -51890,13 +52340,13 @@ let
         sha1 = "8e57123c396ab988897fb327fd3aedc3e735e4fe";
       };
     };
-    "prompt-1.2.1" = {
+    "prompt-1.2.2" = {
       name = "prompt";
       packageName = "prompt";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/prompt/-/prompt-1.2.1.tgz";
-        sha512 = "B4+2QeNDn5Cdp4kK2iOwV8qvrWpiPKlZKI9ZKkPl0C9KgeMW6DyWWqhqHiFq9vZf6zTniv+rYalK0ZlgktSwiw==";
+        url = "https://registry.npmjs.org/prompt/-/prompt-1.2.2.tgz";
+        sha512 = "XNXhNv3PUHJDcDkISpCwSJxtw9Bor4FZnlMUDW64N/KCPdxhfVlpD5+YUXI/Z8a9QWmOhs9KSiVtR8nzPS0BYA==";
       };
     };
     "promptly-2.2.0" = {
@@ -52124,15 +52574,6 @@ let
         sha1 = "d3fc114ba06995a45ec6893f484ceb1d78f5f476";
       };
     };
-    "ps-list-4.1.0" = {
-      name = "ps-list";
-      packageName = "ps-list";
-      version = "4.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ps-list/-/ps-list-4.1.0.tgz";
-        sha512 = "DSpMj8PI5W7v2G4+rE+BymTKZPjlu6t/M1N6rPAa6Hwn+/e8jDmFJaq8/kpoGCvwd75g2h5DbjF2MduOMNyrsQ==";
-      };
-    };
     "ps-list-6.3.0" = {
       name = "ps-list";
       packageName = "ps-list";
@@ -52169,6 +52610,24 @@ let
         sha512 = "LLyJcNVKRK8AUXKcpCrZA21+mlrjzlzTLQZp/Yu279hqqQrakAu9IusT7zEddhhkQrzm6UQ9cER3nhrIZqh0hw==";
       };
     };
+    "psbt-1.1.11" = {
+      name = "psbt";
+      packageName = "psbt";
+      version = "1.1.11";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psbt/-/psbt-1.1.11.tgz";
+        sha512 = "giKihT0fBfEFrCg9zr186s5v4urZ4tsnzLseJKcXJLl80Mw0ckeGa+Ama5pw5gSyXpoQGpakg+CS0aCJr99dSw==";
+      };
+    };
+    "psbt-2.0.0" = {
+      name = "psbt";
+      packageName = "psbt";
+      version = "2.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/psbt/-/psbt-2.0.0.tgz";
+        sha512 = "V3RueLeXhP/WZETCtUxFn9aaEjHKdJIp2jir1rgK3iU0fV4hC0f45wDRDrrtcFHIUyvudgzhg6Bcgr8cGaWXlA==";
+      };
+    };
     "pseudomap-1.0.2" = {
       name = "pseudomap";
       packageName = "pseudomap";
@@ -53087,13 +53546,22 @@ let
         sha512 = "2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w==";
       };
     };
-    "puppeteer-13.1.1" = {
+    "puppeteer-13.3.2" = {
       name = "puppeteer";
       packageName = "puppeteer";
-      version = "13.1.1";
+      version = "13.3.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.3.2.tgz";
+        sha512 = "TIt8/R0eaUwY1c0/O0sCJpSglvGEWVoWFfGZ2dNtxX3eHuBo1ln9abaWfxTjZfsrkYATLSs8oqEdRZpMNnCsvg==";
+      };
+    };
+    "purest-3.1.0" = {
+      name = "purest";
+      packageName = "purest";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/puppeteer/-/puppeteer-13.1.1.tgz";
-        sha512 = "GwdFy1JQ43Hhxj6MraXme+XfCX2CKe18MuwToXTMEAk0txg6vUEgwqBnzErTTqDVZ7sWYrDtDaRCfD2y7ZwgGw==";
+        url = "https://registry.npmjs.org/purest/-/purest-3.1.0.tgz";
+        sha512 = "9slCC5je2UNERS/YNcrs1/7K5Bh7Uvl6OY1S+XZ6iDNMCwk8Fio6VBdrklo7eMzt5M/Wt2fQlwXRjn4puBccRQ==";
       };
     };
     "purgecss-2.3.0" = {
@@ -53141,13 +53609,13 @@ let
         sha1 = "15931d3cd967ade52206f523aa7331aef7d43af7";
       };
     };
-    "pyright-1.1.214" = {
+    "pyright-1.1.223" = {
       name = "pyright";
       packageName = "pyright";
-      version = "1.1.214";
+      version = "1.1.223";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.214.tgz";
-        sha512 = "miNDlJV7pfaZuzRD6NKbUebcC2Ko9P1IjbqNd0wcnFepaVxdhHgxl544GkM59tjYlS/YgwuiiCAzW/icIFI/9g==";
+        url = "https://registry.npmjs.org/pyright/-/pyright-1.1.223.tgz";
+        sha512 = "EGLKMQRmSkKNe/eDy6MEkqq5lF91C5MCMYxvmCgKGUjZHIa+HByJIiRY2cOTm7g2CAv0eE7Ift701VxLM5Q0iQ==";
       };
     };
     "q-0.9.7" = {
@@ -53366,6 +53834,15 @@ let
         sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
       };
     };
+    "qs-6.9.7" = {
+      name = "qs";
+      packageName = "qs";
+      version = "6.9.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/qs/-/qs-6.9.7.tgz";
+        sha512 = "IhMFgUmuNpyRfxA90umL7ByLlgRXu6tIfKPpF5TmcfRLlLCckfP/g3IQmju6jjpu+Hh8rA+2p6A27ZSPOOHdKw==";
+      };
+    };
     "query-string-1.0.1" = {
       name = "query-string";
       packageName = "query-string";
@@ -53402,13 +53879,13 @@ let
         sha512 = "XDxAeVmpfu1/6IjyT/gXHOl+S0vQ9owggJ30hhWKdHAsNPOcasn5o9BW0eejZqL2e4vMjhAxoW3jVHcD6mbcYw==";
       };
     };
-    "query-string-7.1.0" = {
+    "query-string-7.1.1" = {
       name = "query-string";
       packageName = "query-string";
-      version = "7.1.0";
+      version = "7.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/query-string/-/query-string-7.1.0.tgz";
-        sha512 = "wnJ8covk+S9isYR5JIXPt93kFUmI2fQ4R/8130fuq+qwLiGVTurg7Klodgfw4NSz/oe7xnyi09y3lSrogUeM3g==";
+        url = "https://registry.npmjs.org/query-string/-/query-string-7.1.1.tgz";
+        sha512 = "MplouLRDHBZSG9z7fpuAAcI7aAYjDLhtsiVZsevsfaHWDS2IDdORKbSd1kWUA+V4zyva/HZoSfpwnYMMQDhb0w==";
       };
     };
     "querystring-0.2.0" = {
@@ -53609,15 +54086,6 @@ let
         sha512 = "GXpfrYVPwx3K7RQ6aYT8KPS8XViSXUVJT1ONhoKPE9VAleW42YE+U+8VEyGWt41EnEQW7gwecYJriTI0pKoecQ==";
       };
     };
-    "ramda-0.26.1" = {
-      name = "ramda";
-      packageName = "ramda";
-      version = "0.26.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ramda/-/ramda-0.26.1.tgz";
-        sha512 = "hLWjpy7EnsDBb0p+Z3B7rPi3GDeRG5ZtiI33kJhTt+ORCd38AbAIjB/9zRIUoeTbE/AVX5ZkU7m6bznsvrf8eQ==";
-      };
-    };
     "ramda-0.27.2" = {
       name = "ramda";
       packageName = "ramda";
@@ -53663,13 +54131,13 @@ let
         sha512 = "B744003Mj7v3EcuPl9hCiB2Ot4aZjgtU2mV6yFY1THiWU/XfGf1uSadR+SlQdJcwHgAWeG7Lbos0aUqjtj8FQg==";
       };
     };
-    "random-access-idb-1.2.1" = {
+    "random-access-idb-1.2.2" = {
       name = "random-access-idb";
       packageName = "random-access-idb";
-      version = "1.2.1";
+      version = "1.2.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-idb/-/random-access-idb-1.2.1.tgz";
-        sha512 = "5rZRPhjgfR222n+dmZtRYhu0CF9dDEwxaS+UgeWursIWPmNirR6BajzOB4wG5I7WAeYZea9HCqYKk/Tin3s9cA==";
+        url = "https://registry.npmjs.org/random-access-idb/-/random-access-idb-1.2.2.tgz";
+        sha512 = "NroFuBNVh5wVIHKN/jEYrgkkffppkfxNWFX9OEwC2VP7dYc3sa+Qxv7tMa1Gi9Jp/ObVfLeCZBt/8Sbn1WU1Xg==";
       };
     };
     "random-access-idb-mutable-file-0.3.0" = {
@@ -53699,13 +54167,13 @@ let
         sha512 = "pdS9Mcb9TB7oICypPRALlheaSuszuAKmLVEPKJMuYor7R/zDuHh5ALuQoS+ox31XRwQUL+tDwWH2GPdyspwelA==";
       };
     };
-    "random-access-storage-1.4.2" = {
+    "random-access-storage-1.4.3" = {
       name = "random-access-storage";
       packageName = "random-access-storage";
-      version = "1.4.2";
+      version = "1.4.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.4.2.tgz";
-        sha512 = "nW7UQGxcihvSLuK9PahoKL0jlmw2S6yGV8DsC85xHuUBLJrUoetRbQ5LzuXTt+FWp/iXgjp12x7zh55NNghaBg==";
+        url = "https://registry.npmjs.org/random-access-storage/-/random-access-storage-1.4.3.tgz";
+        sha512 = "D5e2iIC5dNENWyBxsjhEnNOMCwZZ64TARK6dyMN+3g4OTC4MJxyjh9hKLjTGoNhDOPrgjI+YlFEHFnrp/cSnzQ==";
       };
     };
     "random-access-web-2.0.3" = {
@@ -53807,15 +54275,6 @@ let
         sha512 = "PPYLwZ63lXi6Tv2EZ8w3M4FzC0rVqvxivaOVS8pXSp5FMIHFnvi4MWHL3UdFLhwSy50aNtJsgjY0mBC6oFL26Q==";
       };
     };
-    "raven-2.6.3" = {
-      name = "raven";
-      packageName = "raven";
-      version = "2.6.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/raven/-/raven-2.6.3.tgz";
-        sha512 = "bKre7qlDW+y1+G2bUtCuntdDYc8o5v1T233t0vmJfbj8ttGOgLrGRlYB8saelVMW9KUAJNLrhFkAKOwFWFJonw==";
-      };
-    };
     "raven-js-3.27.2" = {
       name = "raven-js";
       packageName = "raven-js";
@@ -53879,6 +54338,15 @@ let
         sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
       };
     };
+    "raw-body-2.4.3" = {
+      name = "raw-body";
+      packageName = "raw-body";
+      version = "2.4.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.3.tgz";
+        sha512 = "UlTNLIcu0uzb4D2f4WltY6cVjLi+/jEN4lgEUj3E04tpMDpUlkBo/eSn6zou9hum2VMNpCCUone0O0WeJim07g==";
+      };
+    };
     "raw-loader-3.1.0" = {
       name = "raw-loader";
       packageName = "raw-loader";
@@ -54005,13 +54473,13 @@ let
         sha512 = "dx0LvIGHcOPtKbeiSUM4jqpBl3TcY7CDjZdfOIcKeznE7BWr9dg0iPG90G5yfVQ+p/rGNMXdbfStvzQZEVEi4A==";
       };
     };
-    "react-devtools-core-4.22.1" = {
+    "react-devtools-core-4.23.0" = {
       name = "react-devtools-core";
       packageName = "react-devtools-core";
-      version = "4.22.1";
+      version = "4.23.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.22.1.tgz";
-        sha512 = "pvpNDHE7p0FtcCmIWGazoY8LLVfBI9sw0Kf10kdHhPI9Tzt3OG/qEt16GrAbE0keuna5WzX3r1qPKVjqOqsuUg==";
+        url = "https://registry.npmjs.org/react-devtools-core/-/react-devtools-core-4.23.0.tgz";
+        sha512 = "KkzneT1LczFtebbTJlvRphIRvzuHLhI9ghfrseVv9ktBs+l2cXy8Svw5U16lzQnwU9okVEcURmGPgH79WWrlaw==";
       };
     };
     "react-dom-16.14.0" = {
@@ -54662,15 +55130,6 @@ let
         sha512 = "YHFvn4rBXl8eIjALjUiOV/AP3xFpyGNGNHDw9mAncAWuIdgnBKjbZQ9+P3VlsKcNaNapRVFlTEX1dvDRlYwyxg==";
       };
     };
-    "recast-0.18.10" = {
-      name = "recast";
-      packageName = "recast";
-      version = "0.18.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/recast/-/recast-0.18.10.tgz";
-        sha512 = "XNvYvkfdAN9QewbrxeTOjgINkdY/odTgTS56ZNEWL9Ml0weT4T3sFtvnTuF+Gxyu46ANcRm1ntrF6F5LAJPAaQ==";
-      };
-    };
     "recast-0.20.5" = {
       name = "recast";
       packageName = "recast";
@@ -54698,13 +55157,13 @@ let
         sha512 = "/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==";
       };
     };
-    "record-cache-1.1.1" = {
+    "record-cache-1.2.0" = {
       name = "record-cache";
       packageName = "record-cache";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/record-cache/-/record-cache-1.1.1.tgz";
-        sha512 = "L5hZlgWc7CmGbztnemQoKE1bLu9rtI2skOB0ttE4C5+TVszLE8Rd0YLTROSgvXKLAqPumS/soyN5tJW5wJLmJQ==";
+        url = "https://registry.npmjs.org/record-cache/-/record-cache-1.2.0.tgz";
+        sha512 = "kyy3HWCez2WrotaL3O4fTn0rsIdfRKOdQQcEJ9KpvmKmbffKVvwsloX063EgRUlpJIXHiDQFhJcTbZequ2uTZw==";
       };
     };
     "recursive-readdir-2.2.2" = {
@@ -54779,6 +55238,24 @@ let
         sha1 = "8984b5815d99cb220469c99eeeffe38913e6cc0b";
       };
     };
+    "redis-2.8.0" = {
+      name = "redis";
+      packageName = "redis";
+      version = "2.8.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis/-/redis-2.8.0.tgz";
+        sha512 = "M1OkonEQwtRmZv4tEWF2VgpG0JWJ8Fv1PhlgT5+B+uNq2cA3Rt1Yt/ryoR+vQNOQcIEgdCdfH0jr3bDpihAw1A==";
+      };
+    };
+    "redis-3.1.1" = {
+      name = "redis";
+      packageName = "redis";
+      version = "3.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis/-/redis-3.1.1.tgz";
+        sha512 = "QhkKhOuzhogR1NDJfBD34TQJz2ZJwDhhIC6ZmvpftlmfYShHHQXjjNspAJ+Z2HH5NwSBVYBVganbiZ8bgFMHjg==";
+      };
+    };
     "redis-3.1.2" = {
       name = "redis";
       packageName = "redis";
@@ -54806,6 +55283,15 @@ let
         sha1 = "eb62d2adb15e4eaf4610c04afe1529384250abad";
       };
     };
+    "redis-parser-2.6.0" = {
+      name = "redis-parser";
+      packageName = "redis-parser";
+      version = "2.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/redis-parser/-/redis-parser-2.6.0.tgz";
+        sha1 = "52ed09dacac108f1a631c07e9b69941e7a19504b";
+      };
+    };
     "redis-parser-3.0.0" = {
       name = "redis-parser";
       packageName = "redis-parser";
@@ -54815,13 +55301,13 @@ let
         sha1 = "b66d828cdcafe6b4b8a428a7def4c6bcac31c8b4";
       };
     };
-    "redoc-2.0.0-rc.59" = {
+    "redoc-2.0.0-rc.63" = {
       name = "redoc";
       packageName = "redoc";
-      version = "2.0.0-rc.59";
+      version = "2.0.0-rc.63";
       src = fetchurl {
-        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.59.tgz";
-        sha512 = "1Wkj/HSCv5CdtwF7FSZc5L0EeBgI0N7YpAIsatMtfiMHEon0WhuArAkc5rMQ6mQXUPRrqq5Fs6QPc4GpNp6DuA==";
+        url = "https://registry.npmjs.org/redoc/-/redoc-2.0.0-rc.63.tgz";
+        sha512 = "PsoPqRyNqHi7+jKUyFBwJhHrzjMl4N5vieTeBloRGbhWuY3PPH2DJ3ihgrLfdEV0glzq/LMTaqfarm8WLqCc4Q==";
       };
     };
     "reduce-component-1.0.1" = {
@@ -54896,13 +55382,13 @@ let
         sha512 = "zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==";
       };
     };
-    "regenerate-unicode-properties-9.0.0" = {
+    "regenerate-unicode-properties-10.0.1" = {
       name = "regenerate-unicode-properties";
       packageName = "regenerate-unicode-properties";
-      version = "9.0.0";
+      version = "10.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-9.0.0.tgz";
-        sha512 = "3E12UeNSPfjrgwjkR81m5J7Aw/T55Tu7nUyZVQYCKEOs+2dkxEY+DpPtZzO4YruuiPb7NkYLVcyJC4+zCbk5pA==";
+        url = "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz";
+        sha512 = "vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==";
       };
     };
     "regenerator-runtime-0.10.5" = {
@@ -55004,13 +55490,13 @@ let
         sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
       };
     };
-    "regexpu-core-4.8.0" = {
+    "regexpu-core-5.0.1" = {
       name = "regexpu-core";
       packageName = "regexpu-core";
-      version = "4.8.0";
+      version = "5.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.8.0.tgz";
-        sha512 = "1F6bYsoYiz6is+oz70NWur2Vlh9KWtswuRuzJOfeYUrfPX2o8n74AnUVaOGDbUqVGO9fNHu48/pjJO4sNVwsOg==";
+        url = "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz";
+        sha512 = "CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==";
       };
     };
     "register-protocol-win32-1.1.0" = {
@@ -55067,22 +55553,22 @@ let
         sha512 = "8acYXXTI0AkQv6RAOjE3vOaIXZkT9wo4LOFbBKYQEEnnMNBpKqdUrI6S4NT0KPIo/WVvJ5tE/X5LF/TQUf0ekw==";
       };
     };
-    "regjsgen-0.5.2" = {
+    "regjsgen-0.6.0" = {
       name = "regjsgen";
       packageName = "regjsgen";
-      version = "0.5.2";
+      version = "0.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz";
-        sha512 = "OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==";
+        url = "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz";
+        sha512 = "ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==";
       };
     };
-    "regjsparser-0.7.0" = {
+    "regjsparser-0.8.4" = {
       name = "regjsparser";
       packageName = "regjsparser";
-      version = "0.7.0";
+      version = "0.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.7.0.tgz";
-        sha512 = "A4pcaORqmNMDVwUjWoTzuhwMGpP+NykpfqAsEgI1FSH/EzC7lrN5TMd+kN8YCovX+jMpu8eaqXgXPCa0g8FQNQ==";
+        url = "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz";
+        sha512 = "J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==";
       };
     };
     "rehype-parse-6.0.2" = {
@@ -55103,13 +55589,13 @@ let
         sha512 = "fOiR9a9xH+Le19i4fGzIEowAbwG7idy2Jzs4mOrFWBSJ0sNUgy0ev871dwWnbOo371SjgjG4pwzrbgSVrKxecw==";
       };
     };
-    "rehype-parse-8.0.3" = {
+    "rehype-parse-8.0.4" = {
       name = "rehype-parse";
       packageName = "rehype-parse";
-      version = "8.0.3";
+      version = "8.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.3.tgz";
-        sha512 = "RGw0CVt+0S6KdvpE8bbP2Db9WXclQcIX7A0ufM3QFqAhTo/ddJMQrrI2j3cijlRPZlGK8R3pRgC8U5HyV76IDw==";
+        url = "https://registry.npmjs.org/rehype-parse/-/rehype-parse-8.0.4.tgz";
+        sha512 = "MJJKONunHjoTh4kc3dsM1v3C9kGrrxvA3U8PxZlP2SjH8RNUSrb+lF7Y0KVaUDnGH2QZ5vAn7ulkiajM9ifuqg==";
       };
     };
     "rehype-retext-2.0.4" = {
@@ -55202,15 +55688,6 @@ let
         sha1 = "802a38c3aa98c9e1e3ea015eeba211d27cb65e1f";
       };
     };
-    "remark-8.0.0" = {
-      name = "remark";
-      packageName = "remark";
-      version = "8.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark/-/remark-8.0.0.tgz";
-        sha512 = "K0PTsaZvJlXTl9DN6qYlvjTkqSZBFELhROZMrblm2rB+085flN84nz4g/BscKRMqDvhzlK1oQ/xnWQumdeNZYw==";
-      };
-    };
     "remark-footnotes-3.0.0" = {
       name = "remark-footnotes";
       packageName = "remark-footnotes";
@@ -55760,15 +56237,6 @@ let
         sha512 = "1fUyHr2jLsVOkhbvPRBJ5zTKZZyD6yZzYaWCS6BPBdQ8vEMBCH+9zNCDA6tET/zHCi/jLqjCWtlJZUPk+DbnFw==";
       };
     };
-    "remark-parse-4.0.0" = {
-      name = "remark-parse";
-      packageName = "remark-parse";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-parse/-/remark-parse-4.0.0.tgz";
-        sha512 = "XZgICP2gJ1MHU7+vQaRM+VA9HEL3X253uwUM/BGgx3iv6TH2B3bF3B8q00DKcyP9YrJV+/7WOWEWBFF/u8cIsw==";
-      };
-    };
     "remark-parse-5.0.0" = {
       name = "remark-parse";
       packageName = "remark-parse";
@@ -55814,15 +56282,6 @@ let
         sha512 = "h3kOjKNy7oJfohqXlKp+W4YDigHD3rw01x91qvQP/cUkK5nJrDl6yEYwTujQCAXSLZrsBxywlK3ntzIX6c29aA==";
       };
     };
-    "remark-stringify-4.0.0" = {
-      name = "remark-stringify";
-      packageName = "remark-stringify";
-      version = "4.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/remark-stringify/-/remark-stringify-4.0.0.tgz";
-        sha512 = "xLuyKTnuQer3ke9hkU38SUYLiTmS078QOnoFavztmbt/pAJtNSkNtFgR0U//uCcmG0qnyxao+PDuatQav46F1w==";
-      };
-    };
     "remark-stringify-8.1.1" = {
       name = "remark-stringify";
       packageName = "remark-stringify";
@@ -55958,6 +56417,15 @@ let
         sha1 = "5214c53a926d3552707527fbab415dbc08d06dda";
       };
     };
+    "replace-buffer-1.2.1" = {
+      name = "replace-buffer";
+      packageName = "replace-buffer";
+      version = "1.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/replace-buffer/-/replace-buffer-1.2.1.tgz";
+        sha512 = "ly3OKwKu+3T55DjP5PjIMzxgz9lFx6dQnBmAIxryZyRKl8f22juy12ShOyuq8WrQE5UlFOseZgQZDua0iF9DHw==";
+      };
+    };
     "replace-ext-0.0.1" = {
       name = "replace-ext";
       packageName = "replace-ext";
@@ -55994,15 +56462,6 @@ let
         sha1 = "e87f6d513b928dde808260c12be7fec6ff6e798c";
       };
     };
-    "replaceall-0.1.6" = {
-      name = "replaceall";
-      packageName = "replaceall";
-      version = "0.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/replaceall/-/replaceall-0.1.6.tgz";
-        sha1 = "81d81ac7aeb72d7f5c4942adf2697a3220688d8e";
-      };
-    };
     "request-2.76.0" = {
       name = "request";
       packageName = "request";
@@ -56057,6 +56516,15 @@ let
         sha1 = "f017ac5b2060e1c4fc9677575c381a08249d5bf7";
       };
     };
+    "request-compose-1.2.3" = {
+      name = "request-compose";
+      packageName = "request-compose";
+      version = "1.2.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-compose/-/request-compose-1.2.3.tgz";
+        sha512 = "i2m8y3kEveoaAVTsTqig2LmWI10bUdakqzIVHkTEAK8kcsr4a/+iL93tsujsLaMiCZmnB1Osdk3WEMsB//H66A==";
+      };
+    };
     "request-light-0.2.5" = {
       name = "request-light";
       packageName = "request-light";
@@ -56084,6 +56552,15 @@ let
         sha512 = "i/wKzvcx7Er8tZnvqSxWuNO5ZGggu2UgZAqj/RyZ0si7lBTXL7kZiI/dWxzxnQjaY7s5HEy1qK21Do4Ncr6cVw==";
       };
     };
+    "request-oauth-0.0.3" = {
+      name = "request-oauth";
+      packageName = "request-oauth";
+      version = "0.0.3";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/request-oauth/-/request-oauth-0.0.3.tgz";
+        sha512 = "q7WdJlpIcPaIDac0FZSy/yH37FO3UkUuPDIsiLALiLjuC6vzvuKIU14YIC3Lm0wtQRXS9GqvSo/fCYj8n75xSw==";
+      };
+    };
     "request-progress-2.0.1" = {
       name = "request-progress";
       packageName = "request-progress";
@@ -56255,15 +56732,6 @@ let
         sha512 = "LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg==";
       };
     };
-    "resolve-1.20.0" = {
-      name = "resolve";
-      packageName = "resolve";
-      version = "1.20.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz";
-        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
-      };
-    };
     "resolve-1.22.0" = {
       name = "resolve";
       packageName = "resolve";
@@ -57236,13 +57704,13 @@ let
         sha512 = "hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==";
       };
     };
-    "rxjs-7.5.2" = {
+    "rxjs-7.5.4" = {
       name = "rxjs";
       packageName = "rxjs";
-      version = "7.5.2";
+      version = "7.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz";
-        sha512 = "PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==";
+        url = "https://registry.npmjs.org/rxjs/-/rxjs-7.5.4.tgz";
+        sha512 = "h5M3Hk78r6wAheJF0a5YahB1yRQKCsZ4MsGdZ5O9ETbVtjPcScGfrMmoOq7EBsCRzd4BDkvDJ7ogP8Sz5tTFiQ==";
       };
     };
     "s3-stream-upload-2.0.2" = {
@@ -57308,6 +57776,15 @@ let
         sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
+    "safe-buffer-5.2.0" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz";
+        sha512 = "fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==";
+      };
+    };
     "safe-buffer-5.2.1" = {
       name = "safe-buffer";
       packageName = "safe-buffer";
@@ -57335,15 +57812,6 @@ let
         sha1 = "40a3669f3b077d1e943d44629e157dd48023bf2e";
       };
     };
-    "safe-stable-stringify-1.1.1" = {
-      name = "safe-stable-stringify";
-      packageName = "safe-stable-stringify";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz";
-        sha512 = "ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==";
-      };
-    };
     "safe-stable-stringify-2.3.1" = {
       name = "safe-stable-stringify";
       packageName = "safe-stable-stringify";
@@ -57434,13 +57902,13 @@ let
         sha1 = "478be1429500fcfaa780be88b3343ced7d2a9182";
       };
     };
-    "sass-1.49.0" = {
+    "sass-1.49.8" = {
       name = "sass";
       packageName = "sass";
-      version = "1.49.0";
+      version = "1.49.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz";
-        sha512 = "TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==";
+        url = "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz";
+        sha512 = "NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==";
       };
     };
     "sax-0.5.8" = {
@@ -57596,15 +58064,6 @@ let
         sha512 = "jhXqQAQVM+8Xj5EjJGVweuEzgtGWb3tmEEpl3CLP3cStInSbVHSg0QWOGQzNq8pSID4JkpeV2mPqlMDLrm0/Vw==";
       };
     };
-    "sec-1.0.0" = {
-      name = "sec";
-      packageName = "sec";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sec/-/sec-1.0.0.tgz";
-        sha1 = "033d60a3ad20ecf2e00940d14f97823465774335";
-      };
-    };
     "secp256k1-4.0.2" = {
       name = "secp256k1";
       packageName = "secp256k1";
@@ -57650,6 +58109,15 @@ let
         sha512 = "5w3SlraZgFADOa5ScmJIXB/D/Qm2rFksmRNHSs913P9Z6s9ODsknAi85zni1v0KmTd4DovNKxHr3HCObYHes7Q==";
       };
     };
+    "section-matter-1.0.0" = {
+      name = "section-matter";
+      packageName = "section-matter";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/section-matter/-/section-matter-1.0.0.tgz";
+        sha512 = "vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==";
+      };
+    };
     "secure-compare-3.0.1" = {
       name = "secure-compare";
       packageName = "secure-compare";
@@ -57686,6 +58154,15 @@ let
         sha512 = "e1QtP3YL5tWww8uKaOCQ18UxIT2laNBXHjV/S2WYCiK4udiv8lkG89KRIoCjUagnAmCBurjF4zEVX2ByBbnCjQ==";
       };
     };
+    "selderee-0.6.0" = {
+      name = "selderee";
+      packageName = "selderee";
+      version = "0.6.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/selderee/-/selderee-0.6.0.tgz";
+        sha512 = "ibqWGV5aChDvfVdqNYuaJP/HnVBhlRGSRrlbttmlMpHcLuTqqbMH36QkSs9GEgj5M88JDYLI8eyP94JaQ8xRlg==";
+      };
+    };
     "select-hose-2.0.0" = {
       name = "select-hose";
       packageName = "select-hose";
@@ -58019,6 +58496,15 @@ let
         sha1 = "ae02af3a424793d8ccbf212d69174e0c54dffe38";
       };
     };
+    "serialize-error-2.1.0" = {
+      name = "serialize-error";
+      packageName = "serialize-error";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/serialize-error/-/serialize-error-2.1.0.tgz";
+        sha1 = "50b679d5635cdf84667bdc8e59af4e5b81d5f60a";
+      };
+    };
     "serialize-error-6.0.0" = {
       name = "serialize-error";
       packageName = "serialize-error";
@@ -58415,15 +58901,6 @@ let
         sha512 = "Vpfqwm4EnqGdlsBFNmHhxhElJYrdfcxPThu+ryKS5J8L/fhAwLazFZtq+S+TWZ9ANj2piSQLGj6NQg+lKPmxrw==";
       };
     };
-    "shelljs-0.3.0" = {
-      name = "shelljs";
-      packageName = "shelljs";
-      version = "0.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/shelljs/-/shelljs-0.3.0.tgz";
-        sha1 = "3596e6307a781544f591f37da618360f31db57b1";
-      };
-    };
     "shelljs-0.7.8" = {
       name = "shelljs";
       packageName = "shelljs";
@@ -58604,22 +59081,22 @@ let
         sha1 = "3ff21f198cad2175f9f3b781853fd94d0d19b590";
       };
     };
-    "sign-addon-3.9.0" = {
+    "sign-addon-3.11.0" = {
       name = "sign-addon";
       packageName = "sign-addon";
-      version = "3.9.0";
+      version = "3.11.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-3.9.0.tgz";
-        sha512 = "a8IzM3jNPSHcf2wSkhLgME4QrIe+rKTb8y/qYwGGzby5ktODAH+WBsKIgGZ9p5d2mpppPwbNEsA+YzcL117bbA==";
+        url = "https://registry.npmjs.org/sign-addon/-/sign-addon-3.11.0.tgz";
+        sha512 = "fcK2WzkMb8e8E9kvuccy+mrBTT81iR+1CowHLU594Elr4E9E9zZFr3itGlL0OoXcRouKmvt7rpXzoARu++tXRQ==";
       };
     };
-    "signal-exit-3.0.6" = {
+    "signal-exit-3.0.7" = {
       name = "signal-exit";
       packageName = "signal-exit";
-      version = "3.0.6";
+      version = "3.0.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.6.tgz";
-        sha512 = "sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==";
+        url = "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz";
+        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     };
     "signals-1.0.0" = {
@@ -58649,31 +59126,31 @@ let
         sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
       };
     };
-    "simple-get-2.8.1" = {
+    "simple-get-2.8.2" = {
       name = "simple-get";
       packageName = "simple-get";
-      version = "2.8.1";
+      version = "2.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-get/-/simple-get-2.8.1.tgz";
-        sha512 = "lSSHRSw3mQNUGPAYRqo7xy9dhKmxFXIjLjp4KHpf99GEH2VH7C3AM+Qfx6du6jhfUi6Vm7XnbEVEf7Wb6N8jRw==";
+        url = "https://registry.npmjs.org/simple-get/-/simple-get-2.8.2.tgz";
+        sha512 = "Ijd/rV5o+mSBBs4F/x9oDPtTx9Zb6X9brmnXvMW4J7IR15ngi9q5xxqWBKU744jTZiaXtxaPL7uHG6vtN8kUkw==";
       };
     };
-    "simple-get-3.1.0" = {
+    "simple-get-3.1.1" = {
       name = "simple-get";
       packageName = "simple-get";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-get/-/simple-get-3.1.0.tgz";
-        sha512 = "bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==";
+        url = "https://registry.npmjs.org/simple-get/-/simple-get-3.1.1.tgz";
+        sha512 = "CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==";
       };
     };
-    "simple-get-4.0.0" = {
+    "simple-get-4.0.1" = {
       name = "simple-get";
       packageName = "simple-get";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-get/-/simple-get-4.0.0.tgz";
-        sha512 = "ZalZGexYr3TA0SwySsr5HlgOOinS4Jsa8YB2GJ6lUNAazyAu4KG/VmzMTwAt2YVXzzVj8QmefmAonZIK2BSGcQ==";
+        url = "https://registry.npmjs.org/simple-get/-/simple-get-4.0.1.tgz";
+        sha512 = "brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==";
       };
     };
     "simple-git-1.132.0" = {
@@ -58748,13 +59225,13 @@ let
         sha1 = "4e421f485ac7b13b08077a4476934d52c5ba3bb3";
       };
     };
-    "simple-peer-9.11.0" = {
+    "simple-peer-9.11.1" = {
       name = "simple-peer";
       packageName = "simple-peer";
-      version = "9.11.0";
+      version = "9.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/simple-peer/-/simple-peer-9.11.0.tgz";
-        sha512 = "qvdNu/dGMHBm2uQ7oLhQBMhYlrOZC1ywXNCH/i8I4etxR1vrjCnU6ZSQBptndB1gcakjo2+w4OHo7Sjza1SHxg==";
+        url = "https://registry.npmjs.org/simple-peer/-/simple-peer-9.11.1.tgz";
+        sha512 = "D1SaWpOW8afq1CZGWB8xTfrT3FekjQmPValrqncJMX7QFl8YwhrPTZvMCANLtgBwwdS+7zURyqxDDEmY558tTw==";
       };
     };
     "simple-plist-1.3.0" = {
@@ -59126,15 +59603,6 @@ let
         sha512 = "mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==";
       };
     };
-    "snappy-6.3.5" = {
-      name = "snappy";
-      packageName = "snappy";
-      version = "6.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/snappy/-/snappy-6.3.5.tgz";
-        sha512 = "lonrUtdp1b1uDn1dbwgQbBsb5BbaiLeKq+AGwOk2No+en+VvJThwmtztwulEQsLinRF681pBqib0NUZaizKLIA==";
-      };
-    };
     "snapsvg-0.5.1" = {
       name = "snapsvg";
       packageName = "snapsvg";
@@ -59216,15 +59684,6 @@ let
         sha512 = "JubKZnTQ4Z8G4IZWtaAZSiRP3I/inpy8c/Bsx2jrwGrTbKeVU5xd6qkKMHpChYeM3dWZSO0QACiGK+obhBNwYw==";
       };
     };
-    "socket.io-4.1.3" = {
-      name = "socket.io";
-      packageName = "socket.io";
-      version = "4.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/socket.io/-/socket.io-4.1.3.tgz";
-        sha512 = "tLkaY13RcO4nIRh1K2hT5iuotfTaIQw7cVIe0FUykN3SuQi0cm7ALxuyT5/CtDswOMWUzMGTibxYNx/gU7In+Q==";
-      };
-    };
     "socket.io-4.4.1" = {
       name = "socket.io";
       packageName = "socket.io";
@@ -59396,13 +59855,13 @@ let
         sha512 = "ZzRxPBISQE7RpzlH4tKJMQbHM9pabHluk0WBaxAQ+wm/UieeBVBou0p4wVnSQGN9QmpAZygQ0cDIypWuqOFmFQ==";
       };
     };
-    "socks-2.6.1" = {
+    "socks-2.6.2" = {
       name = "socks";
       packageName = "socks";
-      version = "2.6.1";
+      version = "2.6.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/socks/-/socks-2.6.1.tgz";
-        sha512 = "kLQ9N5ucj8uIcxrDwjm0Jsqk06xdpBjGNQtpXy4Q8/QY2k+fY7nZH8CARy+hkbG+SGAovmzzuauCpBlb8FrnBA==";
+        url = "https://registry.npmjs.org/socks/-/socks-2.6.2.tgz";
+        sha512 = "zDZhHhZRY9PxRruRMR7kMhnf3I8hDs4S3f9RecfnGxvcBHQcKcIH/oUcEWffsfl1XxdYlA7nnlGbbTvPz9D8gA==";
       };
     };
     "socks-proxy-agent-5.0.1" = {
@@ -59423,6 +59882,15 @@ let
         sha512 = "t8J0kG3csjA4g6FTbsMOWws+7R7vuRC8aQ/wy3/1OWmsgwA68zs/+cExQ0koSitUDXqhufF/YJr9wtNMZHw5Ew==";
       };
     };
+    "socks-proxy-agent-6.2.0-beta.0" = {
+      name = "socks-proxy-agent";
+      packageName = "socks-proxy-agent";
+      version = "6.2.0-beta.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-6.2.0-beta.0.tgz";
+        sha512 = "vJVDGsyaBh7cP8BfynQV1sSqiZ045FkNTyaWLz1g4Ut3sCIuO52sxK0ix8yvqf5n0teDyY1Pw4NRclRiuGTV+w==";
+      };
+    };
     "socks5-client-1.2.8" = {
       name = "socks5-client";
       packageName = "socks5-client";
@@ -59495,13 +59963,13 @@ let
         sha512 = "Uk+JpqHEbzsEmiMxwL7TB/ndhMEpc52KdReYXXSIX2oRFPaI7ZDlDImF8KbkFWbYl9BJRtc82AZ/kNf4/0n9KA==";
       };
     };
-    "sodium-javascript-0.7.4" = {
+    "sodium-javascript-0.8.0" = {
       name = "sodium-javascript";
       packageName = "sodium-javascript";
-      version = "0.7.4";
+      version = "0.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.7.4.tgz";
-        sha512 = "YUkucU81C0SUYzxcFFLOupOj89BlKA8MU8iTc7vTtd9hwgM/Awxwzz3tuoLGLHhnMxotUBB7Xl0rBeSoIn2yGQ==";
+        url = "https://registry.npmjs.org/sodium-javascript/-/sodium-javascript-0.8.0.tgz";
+        sha512 = "rEBzR5mPxPES+UjyMDvKPIXy9ImF17KOJ32nJNi9uIquWpS/nfj+h6m05J5yLJaGXjgM72LmQoUbWZVxh/rmGg==";
       };
     };
     "sodium-native-2.4.9" = {
@@ -59531,13 +59999,13 @@ let
         sha512 = "csdVyakzHJRyCevY4aZC2Eacda8paf+4nmRGF2N7KxCLKY2Ajn72JsExaQlJQ2BiXJncp44p3T+b80cU+2TTsg==";
       };
     };
-    "sodium-universal-3.0.4" = {
+    "sodium-universal-3.1.0" = {
       name = "sodium-universal";
       packageName = "sodium-universal";
-      version = "3.0.4";
+      version = "3.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sodium-universal/-/sodium-universal-3.0.4.tgz";
-        sha512 = "WnBQ0GDo/82shKQHZBZT9h4q4miCtxkbzcwVLsCBPWNq4qbq8BXhKICt9nPwQAsJ43ct/rF61FKu4t0druUBug==";
+        url = "https://registry.npmjs.org/sodium-universal/-/sodium-universal-3.1.0.tgz";
+        sha512 = "N2gxk68Kg2qZLSJ4h0NffEhp4BjgWHCHXVlDi1aG1hA3y+ZeWEmHqnpml8Hy47QzfL1xLy5nwr9LcsWAg2Ep0A==";
       };
     };
     "sonic-boom-2.4.2" = {
@@ -59567,13 +60035,13 @@ let
         sha1 = "8ae90ad7d7cb05fc59f1ab0c637845d5c15a52b7";
       };
     };
-    "sort-json-2.0.0" = {
+    "sort-json-2.0.1" = {
       name = "sort-json";
       packageName = "sort-json";
-      version = "2.0.0";
+      version = "2.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sort-json/-/sort-json-2.0.0.tgz";
-        sha512 = "OgXPErPJM/rBK5OhzIJ+etib/BmLQ1JY55Nb/ElhoWUec62pXNF/X6DrecHq3NW5OAGX0KxYD7m0HtgB9dvGeA==";
+        url = "https://registry.npmjs.org/sort-json/-/sort-json-2.0.1.tgz";
+        sha512 = "s8cs2bcsQCzo/P2T/uoU6Js4dS/jnX8+4xunziNoq9qmSpZNCrRIAIvp4avsz0ST18HycV4z/7myJ7jsHWB2XQ==";
       };
     };
     "sort-keys-1.1.2" = {
@@ -59720,15 +60188,6 @@ let
         sha512 = "CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==";
       };
     };
-    "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-js-1.0.2" = {
       name = "source-map-js";
       packageName = "source-map-js";
@@ -59990,15 +60449,6 @@ let
         sha512 = "hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==";
       };
     };
-    "specificity-0.3.2" = {
-      name = "specificity";
-      packageName = "specificity";
-      version = "0.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/specificity/-/specificity-0.3.2.tgz";
-        sha512 = "Nc/QN/A425Qog7j9aHmwOrlwX2e7pNI47ciwxwy4jOlvbbMHkNNJchit+FX+UjF3IAdiaaV5BKeWuDUnws6G1A==";
-      };
-    };
     "specificity-0.4.1" = {
       name = "specificity";
       packageName = "specificity";
@@ -60116,6 +60566,15 @@ let
         sha512 = "8dv+1zKgTpfTkOy8XZLFyWrfxO0NV/bj/3EaQ+hBrBxGv2DwiroljPjU8NlCr+59nLnsVm9WYT7lXKwe4TC6bw==";
       };
     };
+    "split-lines-3.0.0" = {
+      name = "split-lines";
+      packageName = "split-lines";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/split-lines/-/split-lines-3.0.0.tgz";
+        sha512 = "d0TpRBL/VfKDXsk8JxPF7zgF5pCUDdBMSlEL36xBgVeaX448t+yGXcJaikUyzkoKOJ0l6KpMfygzJU9naIuivw==";
+      };
+    };
     "split-on-first-1.1.0" = {
       name = "split-on-first";
       packageName = "split-on-first";
@@ -60377,13 +60836,13 @@ let
         sha512 = "pJAFizB6OcuJLX4RJJuU9HWyPwM2CqLi/vs08lhVIR3TGxacxpavvK5LzbxT+Y3iWkBchOTKS5hHCigA5aaung==";
       };
     };
-    "ssb-db2-2.8.6" = {
+    "ssb-db2-2.8.9" = {
       name = "ssb-db2";
       packageName = "ssb-db2";
-      version = "2.8.6";
+      version = "2.8.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.8.6.tgz";
-        sha512 = "cL0FSxGvAxBhX3MMhsJG0wkhRaqF+OwiRPu/a/5QTmk3fYmlhSx51Qgmd9F13Iu90jZVhdOjmrw4RZQN00/stQ==";
+        url = "https://registry.npmjs.org/ssb-db2/-/ssb-db2-2.8.9.tgz";
+        sha512 = "0v6EIq+MrQbe5wO+0JGeNUY9fs8dA2/vcgGOQSqYKl2dkxKB4uu8g6z6GRtlcSP7iGxW+Zv7jk/09b3p1ahE4g==";
       };
     };
     "ssb-ebt-5.6.7" = {
@@ -60620,13 +61079,13 @@ let
         sha512 = "RcXRBLqQMwew+aKkaTZ2K0qq2kwe7he8ZUz8cX4bZ6Sr4+yszhRpxqnN6XeK1hA6TTvUltR0RNgOO/fqT3djRg==";
       };
     };
-    "ssb-typescript-2.5.0" = {
+    "ssb-typescript-2.6.0" = {
       name = "ssb-typescript";
       packageName = "ssb-typescript";
-      version = "2.5.0";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-typescript/-/ssb-typescript-2.5.0.tgz";
-        sha512 = "j0Q9nAbp5lKwmvIWEaaf+PT5ITHCCb83JeD3ywm/kHDWwcLGLYG8VuwMM5L3X8H1laIORXlQgZlHhK3nfn8LbA==";
+        url = "https://registry.npmjs.org/ssb-typescript/-/ssb-typescript-2.6.0.tgz";
+        sha512 = "igmpdzV0rpZq5L07maQlvKOidQWBbFC08ZqsqAnTEEyPOPH6ElQ4/n3dNnPj2UlSRRrqs9DdeCYTmKUckvTkVA==";
       };
     };
     "ssb-unix-socket-1.0.0" = {
@@ -60638,13 +61097,13 @@ let
         sha512 = "Z4jBj917W+dKAiDglwxCpWm8vINOMtkpHQIgk50NQTb5jHqHI5Rcyiy7EO0uRcWwRWqXi1ZwOTEFVyLyyuittA==";
       };
     };
-    "ssb-uri2-1.6.0" = {
+    "ssb-uri2-1.7.0" = {
       name = "ssb-uri2";
       packageName = "ssb-uri2";
-      version = "1.6.0";
+      version = "1.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ssb-uri2/-/ssb-uri2-1.6.0.tgz";
-        sha512 = "Iihj9z5g67NV5vwewvo1XdYS05Wu3I6MVIhruN+/zqlXUfLmpeKZzyKOgszfDgbpVJvADm4/0Dj/mj7uAEf9OQ==";
+        url = "https://registry.npmjs.org/ssb-uri2/-/ssb-uri2-1.7.0.tgz";
+        sha512 = "mdQEo4AT9cusd5+eXpS/rh8UjVVt0A9kLXfs/JMIVcMHEsOciK4ThIzQCqK8hVrxHRGpb09+t/DluVvXuN8/JQ==";
       };
     };
     "ssb-validate-4.1.4" = {
@@ -60683,13 +61142,13 @@ let
         sha512 = "zZ/Q1M+9ZWlrchgh4QauD/MEUFa6eC6H6FYq6T8Of/y82JqsQBLwN6YlzbO09evE7Rx6x0oliXDCnQSjwGwQRA==";
       };
     };
-    "sscaff-1.2.180" = {
+    "sscaff-1.2.208" = {
       name = "sscaff";
       packageName = "sscaff";
-      version = "1.2.180";
+      version = "1.2.208";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.180.tgz";
-        sha512 = "Cvyq1YACYkREBswBXckOPX31ega2XnRsDUqhKCWZwC+bI8UXBR2ijGnI+jW3x2tlFw7N+HyO3ZR2WfXqWjjS+Q==";
+        url = "https://registry.npmjs.org/sscaff/-/sscaff-1.2.208.tgz";
+        sha512 = "zZbWds7b7zh2x+TATQ4SM1Grqw9INsf4jB0pZ9CWtgGAFLM4aWGhSGscUMLqigCu2+MxCIAIwG2CRDOTVD4G+w==";
       };
     };
     "ssh-config-1.1.6" = {
@@ -60845,13 +61304,13 @@ let
         sha512 = "EeNzTVfj+1In7aSLPKDD03F/ly4RxEuF/EX0YcOG0cKoPXs+SLZxDawQbexQDBzwROs4VKLWTOaZQlZkGBFEIQ==";
       };
     };
-    "stackframe-1.2.0" = {
+    "stackframe-1.2.1" = {
       name = "stackframe";
       packageName = "stackframe";
-      version = "1.2.0";
+      version = "1.2.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stackframe/-/stackframe-1.2.0.tgz";
-        sha512 = "GrdeshiRmS1YLMYgzF16olf2jJ/IzxXY9lhKOskuVziubpTYcYqyOwYeJKzQkwy7uN0fYSsbsC4RQaXf9LCrYA==";
+        url = "https://registry.npmjs.org/stackframe/-/stackframe-1.2.1.tgz";
+        sha512 = "h88QkzREN/hy8eRdyNhhsO7RSJ5oyTqxxmmn0dzBIMUclZsjpfmrsg81vp8mjjAs2vAZ72nyWxRUwSwmh0e4xg==";
       };
     };
     "stampit-1.2.0" = {
@@ -60872,13 +61331,13 @@ let
         sha1 = "23e5168fa1c0820189e5812701a79058510d0d34";
       };
     };
-    "stat-mode-0.2.2" = {
+    "stat-mode-1.0.0" = {
       name = "stat-mode";
       packageName = "stat-mode";
-      version = "0.2.2";
+      version = "1.0.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stat-mode/-/stat-mode-0.2.2.tgz";
-        sha1 = "e6c80b623123d7d80cf132ce538f346289072502";
+        url = "https://registry.npmjs.org/stat-mode/-/stat-mode-1.0.0.tgz";
+        sha512 = "jH9EhtKIjuXZ2cWxmXS8ZP80XyC3iasQxMDV8jzhNJpfDb7VbQLVW4Wvsxz9QZvzV+G4YoSfBUVKDOyxLzi/sg==";
       };
     };
     "state-toggle-1.0.3" = {
@@ -61034,6 +61493,15 @@ let
         sha1 = "39413fee9d025c74a7e59ceecb23784cc0f17f02";
       };
     };
+    "stoppable-1.1.0" = {
+      name = "stoppable";
+      packageName = "stoppable";
+      version = "1.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/stoppable/-/stoppable-1.1.0.tgz";
+        sha512 = "KXDYZ9dszj6bzvnEMRYvxgeTHU74QBFL54XKtP3nyMuJ81CFYtABZ3bAzL2EdFUaEwJOBOgENyFj3R7oTzDyyw==";
+      };
+    };
     "stream-browserify-2.0.2" = {
       name = "stream-browserify";
       packageName = "stream-browserify";
@@ -61061,13 +61529,13 @@ let
         sha1 = "91d5f5130d1cef96dcfa7f726945188741d09ee4";
       };
     };
-    "stream-chain-2.2.4" = {
+    "stream-chain-2.2.5" = {
       name = "stream-chain";
       packageName = "stream-chain";
-      version = "2.2.4";
+      version = "2.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.4.tgz";
-        sha512 = "9lsl3YM53V5N/I1C2uJtc3Kavyi3kNYN83VkKb/bMWRk7D9imiFyUPYa0PoZbLohSVOX1mYE9YsmwObZUsth6Q==";
+        url = "https://registry.npmjs.org/stream-chain/-/stream-chain-2.2.5.tgz";
+        sha512 = "1TJmBx6aSWqZ4tx7aTpBDXK0/e2hhcNSTV8+CbFJtDjbb+I1mZ8lHit0Grw9GRT+6JbIrrDd8esncgBi8aBXGA==";
       };
     };
     "stream-collector-1.0.1" = {
@@ -61169,13 +61637,13 @@ let
         sha512 = "y+ChhCov2A5nDqC2aZ6HKXs3OvDlvAp0Ps3BF1P/Iv8tUZJQQsMVaSzk0WryVTVoGITKv01UYahCXMpAs7I0lQ==";
       };
     };
-    "stream-json-1.7.3" = {
+    "stream-json-1.7.4" = {
       name = "stream-json";
       packageName = "stream-json";
-      version = "1.7.3";
+      version = "1.7.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/stream-json/-/stream-json-1.7.3.tgz";
-        sha512 = "Y6dXn9KKWSwxOqnvHGcdZy1PK+J+7alBwHCeU3W9oRqm4ilLRA0XSPmd1tWwhg7tv9EIxJTMWh7KF15tYelKJg==";
+        url = "https://registry.npmjs.org/stream-json/-/stream-json-1.7.4.tgz";
+        sha512 = "ja2dde1v7dOlx5/vmavn8kLrxvNfs7r2oNc5DYmNJzayDDdudyCSuTB1gFjH4XBVTIwxiMxL4i059HX+ZiouXg==";
       };
     };
     "stream-meter-1.0.4" = {
@@ -61349,13 +61817,13 @@ let
         sha512 = "Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==";
       };
     };
-    "streamx-2.12.0" = {
+    "streamx-2.12.2" = {
       name = "streamx";
       packageName = "streamx";
-      version = "2.12.0";
+      version = "2.12.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/streamx/-/streamx-2.12.0.tgz";
-        sha512 = "PR93KgPkga2p27UhCI9lf096qPyRMDn/zemRQeAgr1azVLDMr8tZZGpgfEw2/cYY/8mTU4dshLMGNYBsNeQGQw==";
+        url = "https://registry.npmjs.org/streamx/-/streamx-2.12.2.tgz";
+        sha512 = "NjGPzm2tnLOOPvbE/yxFoAgdYzvgjZkb9i4LgJokAfhLinMv2M7jevpIja+aP/ridUIfge9DGbB223kVzdrEzA==";
       };
     };
     "strftime-0.10.1" = {
@@ -61799,6 +62267,15 @@ let
         sha512 = "3xurFv5tEgii33Zi8Jtp55wEIILR9eh34FAW00PZf+JnSsTmV/ioewSgQl97JHvgjoRGwPShsWm+IdrxB35d0w==";
       };
     };
+    "strip-bom-5.0.0" = {
+      name = "strip-bom";
+      packageName = "strip-bom";
+      version = "5.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/strip-bom/-/strip-bom-5.0.0.tgz";
+        sha512 = "p+byADHF7SzEcVnLvc/r3uognM1hUhObuHXxJcgLCfD194XAkaLbjq3Wzb0N5G2tgIjH0dgT708Z51QxMeu60A==";
+      };
+    };
     "strip-bom-buf-1.0.0" = {
       name = "strip-bom-buf";
       packageName = "strip-bom-buf";
@@ -62006,13 +62483,13 @@ let
         sha1 = "0fdedc68e91addcfcb2e6be9c262581a6e8c28aa";
       };
     };
-    "strtok3-6.2.4" = {
+    "strtok3-6.3.0" = {
       name = "strtok3";
       packageName = "strtok3";
-      version = "6.2.4";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.2.4.tgz";
-        sha512 = "GO8IcFF9GmFDvqduIspUBwCzCbqzegyVKIsSymcMgiZKeCfrN9SowtUoi8+b59WZMAjIzVZic/Ft97+pynR3Iw==";
+        url = "https://registry.npmjs.org/strtok3/-/strtok3-6.3.0.tgz";
+        sha512 = "fZtbhtvI9I48xDSywd/somNqgUHl2L2cstmXCCif0itOf96jeW18MBSyrLuNicYQVkvpOxkZtkzujiTJ9LW5Jw==";
       };
     };
     "structured-source-3.0.2" = {
@@ -62042,6 +62519,15 @@ let
         sha512 = "ByHSTQvHLkWE9Ir5+lGbVOXhxX10fbprhLvdg96wedFZb4NDekDPxVKv5Fwmio+QcMlkkNfuK+5W1peQ5CUhZg==";
       };
     };
+    "style-loader-3.3.1" = {
+      name = "style-loader";
+      packageName = "style-loader";
+      version = "3.3.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/style-loader/-/style-loader-3.3.1.tgz";
+        sha512 = "GPcQ+LDJbrcxHORTRes6Jy2sfvK2kS6hpSfI/fXhPt+spVzxF6LJ1dHLN9zIGmVaaP044YKaIatFaufENRiDoQ==";
+      };
+    };
     "style-search-0.1.0" = {
       name = "style-search";
       packageName = "style-search";
@@ -62078,15 +62564,6 @@ let
         sha512 = "Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==";
       };
     };
-    "stylelint-8.4.0" = {
-      name = "stylelint";
-      packageName = "stylelint";
-      version = "8.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stylelint/-/stylelint-8.4.0.tgz";
-        sha512 = "56hPH5mTFnk8LzlEuTWq0epa34fHuS54UFYQidBOFt563RJBNi1nz1F2HK2MoT1X1waq47milvRsRahFCCJs/Q==";
-      };
-    };
     "stylint-2.0.0" = {
       name = "stylint";
       packageName = "stylint";
@@ -62114,15 +62591,6 @@ let
         sha512 = "vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==";
       };
     };
-    "stylus-0.55.0" = {
-      name = "stylus";
-      packageName = "stylus";
-      version = "0.55.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/stylus/-/stylus-0.55.0.tgz";
-        sha512 = "MuzIIVRSbc8XxHH7FjkvWqkIcr1BvoMZoR/oFuAJDlh7VSaNJzrB4uJ38GRQa+mWjLXODAMzeDe0xi9GYbGwnw==";
-      };
-    };
     "stylus-supremacy-2.15.0" = {
       name = "stylus-supremacy";
       packageName = "stylus-supremacy";
@@ -62240,15 +62708,6 @@ let
         sha512 = "Mu7R0g4ig9TUuGSxJavny5Rv0egCEtpZRNMrZaYS1vxkiIxGiGUwoezU3LazIQ+KE04hTrTfNPgxU5gzi7F5Pw==";
       };
     };
-    "sugarss-1.0.1" = {
-      name = "sugarss";
-      packageName = "sugarss";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sugarss/-/sugarss-1.0.1.tgz";
-        sha512 = "3qgLZytikQQEVn1/FrhY7B68gPUUGY3R1Q1vTiD5xT+Ti1DP/8iZuwFet9ONs5+bmL8pZoDQ6JrQHVgrNlK6mA==";
-      };
-    };
     "sugarss-2.0.0" = {
       name = "sugarss";
       packageName = "sugarss";
@@ -62456,31 +62915,31 @@ let
         sha1 = "5a7f8a20a71188cf9e75a2cfe8eb182de90daf3b";
       };
     };
-    "svelte-3.46.2" = {
+    "svelte-3.46.4" = {
       name = "svelte";
       packageName = "svelte";
-      version = "3.46.2";
+      version = "3.46.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte/-/svelte-3.46.2.tgz";
-        sha512 = "RXSAtYNefe01Sb1lXtZ2I+gzn3t/h/59hoaRNeRrm8IkMIu6BSiAkbpi41xb+C44x54YKnbk9+dtfs3pM4hECA==";
+        url = "https://registry.npmjs.org/svelte/-/svelte-3.46.4.tgz";
+        sha512 = "qKJzw6DpA33CIa+C/rGp4AUdSfii0DOTCzj/2YpSKKayw5WGSS624Et9L1nU1k2OVRS9vaENQXp2CVZNU+xvIg==";
       };
     };
-    "svelte-preprocess-4.10.2" = {
+    "svelte-preprocess-4.10.3" = {
       name = "svelte-preprocess";
       packageName = "svelte-preprocess";
-      version = "4.10.2";
+      version = "4.10.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.2.tgz";
-        sha512 = "aPpkCreSo8EL/y8kJSa1trhiX0oyAtTjlNNM7BNjRAsMJ8Yy2LtqHt0zyd4pQPXt+D4PzbO3qTjjio3kwOxDlA==";
+        url = "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-4.10.3.tgz";
+        sha512 = "ttw17lJfb/dx2ZJT9sesaXT5l7mPQ9Apx1H496Kli3Hkk7orIRGpOw6rCPkRNzr6ueVPqb4vzodS5x7sBFhKHw==";
       };
     };
-    "svelte2tsx-0.4.14" = {
+    "svelte2tsx-0.5.5" = {
       name = "svelte2tsx";
       packageName = "svelte2tsx";
-      version = "0.4.14";
+      version = "0.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.4.14.tgz";
-        sha512 = "udF0Z/DA98OfjPFBU1GBJRpYHEvsxA8ozwYVN08AOWMnQyxoSyWWlYspiq2m9xAjLo/pWnhec9z1d6jc9umqjA==";
+        url = "https://registry.npmjs.org/svelte2tsx/-/svelte2tsx-0.5.5.tgz";
+        sha512 = "5n8jP721bM3vXPk36AM9diZg2aasLvsfP/Zt9CQVrcqcnzexOYVeS8kpGk+3mofOPvPvXnOCLdff62usI/KOMw==";
       };
     };
     "sver-compat-1.5.0" = {
@@ -62762,13 +63221,13 @@ let
         sha512 = "YPPlu67mdnHGTup2A8ff7BC2Pjq0e0Yp/IyTFN03zWO0RcK07uLcbi7C2KpGR2FvWbaB0+bfE27a+sBKebSo7w==";
       };
     };
-    "systeminformation-5.10.7" = {
+    "systeminformation-5.11.4" = {
       name = "systeminformation";
       packageName = "systeminformation";
-      version = "5.10.7";
+      version = "5.11.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.10.7.tgz";
-        sha512 = "elAv0h67BDuafy+zuS/yF9QCgQcROXaK9AXMnLz+NHq/LRv7p2/k5qWIwaVxwsSZE8r+dVyIw0BtFO/FoHtZaw==";
+        url = "https://registry.npmjs.org/systeminformation/-/systeminformation-5.11.4.tgz";
+        sha512 = "rh7bjpjP5whUaTknim5CiGdAiKZcgWhmbmxjzBRXDWqUc/k67bz2OP+03DdcX6/SN/CDSAi/NeUwM5o2gjHJoA==";
       };
     };
     "sywac-1.3.0" = {
@@ -62798,15 +63257,6 @@ let
         sha512 = "UUkEAPdSGxtRpiV9ozJ5cMTtYiqz7Ni1OGqLXRCynrvzdtR1p+cfOWe2RJLwvUG8hNanaSRjecIqwOjqeatDsA==";
       };
     };
-    "table-4.0.3" = {
-      name = "table";
-      packageName = "table";
-      version = "4.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-4.0.3.tgz";
-        sha512 = "S7rnFITmBH1EnyKcvxBh1LjYeQMmnZtCXSEbHcH6S0NoKit24ZuFO/T1vDcLdYsLQkM188PVVhQmzKIuThNkKg==";
-      };
-    };
     "table-5.4.6" = {
       name = "table";
       packageName = "table";
@@ -62852,15 +63302,6 @@ let
         sha1 = "7a047f143b010b4cbd31f857e82961512cbf4e14";
       };
     };
-    "tabtab-3.0.2" = {
-      name = "tabtab";
-      packageName = "tabtab";
-      version = "3.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tabtab/-/tabtab-3.0.2.tgz";
-        sha512 = "jANKmUe0sIQc/zTALTBy186PoM/k6aPrh3A7p6AaAfF6WPSbTx1JYeGIGH162btpH+mmVEXln+UxwViZHO2Jhg==";
-      };
-    };
     "tabtab-git+https://github.com/mixu/node-tabtab.git" = {
       name = "tabtab";
       packageName = "tabtab";
@@ -62943,13 +63384,13 @@ let
         sha1 = "2e7ce0a31df09f8d6851664a71842e0ca5057af7";
       };
     };
-    "tape-4.14.0" = {
+    "tape-4.15.0" = {
       name = "tape";
       packageName = "tape";
-      version = "4.14.0";
+      version = "4.15.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tape/-/tape-4.14.0.tgz";
-        sha512 = "z0+WrUUJuG6wIdWrl4W3rTte2CR26G6qcPOj3w1hfRdcmhF3kHBhOBW9VHsPVAkz08ZmGzp7phVpDupbLzrYKQ==";
+        url = "https://registry.npmjs.org/tape/-/tape-4.15.0.tgz";
+        sha512 = "SfRmG2I8QGGgJE/MCiLH8c11L5XxyUXxwK9xLRD0uiK5fehRkkSZGmR6Y1pxOt8vJ19m3sY+POTQpiaVv45/LQ==";
       };
     };
     "tar-0.1.17" = {
@@ -63087,15 +63528,6 @@ let
         sha512 = "h+BGQ8ExIUZ81h4iHRvatZY5eeBBl2WZk31MmMdFG9LBTc5eCH5u/bzZ7phaPH3bsiB7WhM7YTkOyB2dyFQfXg==";
       };
     };
-    "tasklist-3.1.1" = {
-      name = "tasklist";
-      packageName = "tasklist";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tasklist/-/tasklist-3.1.1.tgz";
-        sha512 = "G3I7QWUBSNWaekrJcDabydF6dcvy+vZ2PrX04JYq1p914TOLgpN+ryMtheGavs1LYVevTbTmwjQY8aeX8yLsyA==";
-      };
-    };
     "tcp-port-used-0.1.2" = {
       name = "tcp-port-used";
       packageName = "tcp-port-used";
@@ -63186,15 +63618,6 @@ let
         sha512 = "aoBAniQmmwtcKp/7BzsH8Cxzv8OL736p7v1ihGb5e9DJ9kTwGWHrQrVB5+lfVDzfGrdRzXch+ig7LHaY1JTOrg==";
       };
     };
-    "temp-write-3.4.0" = {
-      name = "temp-write";
-      packageName = "temp-write";
-      version = "3.4.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/temp-write/-/temp-write-3.4.0.tgz";
-        sha1 = "8cff630fb7e9da05f047c74ce4ce4d685457d492";
-      };
-    };
     "temp-write-4.0.0" = {
       name = "temp-write";
       packageName = "temp-write";
@@ -63258,15 +63681,6 @@ let
         sha512 = "biM9brNqxSc04Ee71hzFbryD11nX7VPhQQY32AdDmjFvodsRFz/3ufeoTZ6uYkRFfGo188tENcASNs3vTdsM0w==";
       };
     };
-    "tencent-serverless-http-1.3.2" = {
-      name = "tencent-serverless-http";
-      packageName = "tencent-serverless-http";
-      version = "1.3.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tencent-serverless-http/-/tencent-serverless-http-1.3.2.tgz";
-        sha512 = "HgIu9HuBdY0lx3jLKuicOSOrjmieklPh55x8ZmtuTnrZ5v1buAPUfLKBhTeBSz6e90ggyW+dPr5PWdz179kUkw==";
-      };
-    };
     "term-canvas-0.0.5" = {
       name = "term-canvas";
       packageName = "term-canvas";
@@ -63384,13 +63798,13 @@ let
         sha512 = "3qAQpykRTD5DReLu5/cwpsg7EZFzP3Q0Hp2XUWJUw2mpq2jfgOKTZr8IZKKnNieRVVo1UauROTdhbQJZveGKtQ==";
       };
     };
-    "terser-webpack-plugin-5.3.0" = {
+    "terser-webpack-plugin-5.3.1" = {
       name = "terser-webpack-plugin";
       packageName = "terser-webpack-plugin";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.0.tgz";
-        sha512 = "LPIisi3Ol4chwAaPP8toUJ3L4qCM1G0wao7L3qNv57Drezxj6+VEyySpPw4B1HSO2Eg/hDY/MNF5XihCAoqnsQ==";
+        url = "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz";
+        sha512 = "GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==";
       };
     };
     "test-exclude-6.0.0" = {
@@ -63411,6 +63825,15 @@ let
         sha1 = "11da6ff670f3471a73b625ca4f3fdcf7bb748291";
       };
     };
+    "text-encoding-utf-8-1.0.2" = {
+      name = "text-encoding-utf-8";
+      packageName = "text-encoding-utf-8";
+      version = "1.0.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/text-encoding-utf-8/-/text-encoding-utf-8-1.0.2.tgz";
+        sha512 = "8bw4MY9WjdsD2aMtO0OzOCY3pXGYNx2d2FfHRVUKkiCPDWjKuOlhLVASS+pD7VkLTVjW268LYJHwsnPFlBpbAg==";
+      };
+    };
     "text-extensions-1.9.0" = {
       name = "text-extensions";
       packageName = "text-extensions";
@@ -63915,13 +64338,13 @@ let
         sha512 = "FmqJZGduTyvsr2cF3375fqGHUovSwDi/QytexX1Se4BPuPZpTE5Ftp5fg+EFSuEf3lhZqgCRjEG3ydUQ/aNiwA==";
       };
     };
-    "tiny-secp256k1-2.1.2" = {
+    "tiny-secp256k1-2.2.0" = {
       name = "tiny-secp256k1";
       packageName = "tiny-secp256k1";
-      version = "2.1.2";
+      version = "2.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-2.1.2.tgz";
-        sha512 = "8qPw7zDK6Hco2tVGYGQeOmOPp/hZnREwy2iIkcq0ygAuqc9WHo29vKN94lNymh1QbB3nthtAMF6KTIrdbsIotA==";
+        url = "https://registry.npmjs.org/tiny-secp256k1/-/tiny-secp256k1-2.2.0.tgz";
+        sha512 = "2hPuUGCroLrxh6xxwoe+1RgPpOOK1w2uTnhgiHBpvoutBR+krNuT4hOXQyOaaYnZgoXBB6hBYkuAJHxyeBOPzQ==";
       };
     };
     "tinycolor-0.0.1" = {
@@ -64302,15 +64725,6 @@ let
         sha512 = "hD+QyuUAyI2spzsI0B7gf/jJ2ggR4RjkAo37j3StuePhApJUwcWDjnHDOFdIWYSwNR28H14hpwm4EI+V1Ted1w==";
       };
     };
-    "toml-2.3.6" = {
-      name = "toml";
-      packageName = "toml";
-      version = "2.3.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/toml/-/toml-2.3.6.tgz";
-        sha512 = "gVweAectJU3ebq//Ferr2JUY4WKSDe5N+z0FvjDncLGyHmIDoxgY/2Ie4qfEIDm4IS7OA6Rmdm7pdEEdMcV/xQ==";
-      };
-    };
     "too-hot-1.0.0" = {
       name = "too-hot";
       packageName = "too-hot";
@@ -64716,6 +65130,15 @@ let
         sha512 = "FnHq5sTMxC0sk957wHDzRnemFnNBvt/gSY99HzK8F7UP5WAbvP70yX5bd7CjEQkN+TjdxwI7g7lJ6podqrG2/w==";
       };
     };
+    "trough-2.1.0" = {
+      name = "trough";
+      packageName = "trough";
+      version = "2.1.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/trough/-/trough-2.1.0.tgz";
+        sha512 = "AqTiAOLcj85xS7vQ8QkAV41hPDIJ71XJB4RCUrzo/1GM2CQwhkJGaf9Hgr7BOugMRpgGUrqRg/DrBDl4H40+8g==";
+      };
+    };
     "truncate-2.1.0" = {
       name = "truncate";
       packageName = "truncate";
@@ -64815,13 +65238,13 @@ let
         sha512 = "WHXLtFDcIRwoqaiu0elAoZ/AmI+SwwDafnPKjgJmdwJ2gRVO0jMKBt88rV2liT/c6MTsXyuWbGFiHe9MRddWJw==";
       };
     };
-    "ts-node-10.4.0" = {
+    "ts-node-10.5.0" = {
       name = "ts-node";
       packageName = "ts-node";
-      version = "10.4.0";
+      version = "10.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ts-node/-/ts-node-10.4.0.tgz";
-        sha512 = "g0FlPvvCXSIO1JDF6S232P5jPYqBkRL9qly81ZgAOSU7rwI0stphCgd2kLiCrU9DjQCrJMWEqcNSjQL02s6d8A==";
+        url = "https://registry.npmjs.org/ts-node/-/ts-node-10.5.0.tgz";
+        sha512 = "6kEJKwVxAJ35W4akuiysfKwKmjkbYxwQMTBaAxo9KKAx/Yd26mPUyhGz3ji+EsJoAgrLqVsYHNuuYwQe22lbtw==";
       };
     };
     "ts-node-8.9.1" = {
@@ -64851,6 +65274,15 @@ let
         sha512 = "csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==";
       };
     };
+    "ts2gas-4.2.0" = {
+      name = "ts2gas";
+      packageName = "ts2gas";
+      version = "4.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/ts2gas/-/ts2gas-4.2.0.tgz";
+        sha512 = "5xZugaeM3wKQPj/vrWnrtYjNh4xnIz6cGSW/smCe9OTmkh1+KvHpm7M7HLq/OnBaljf4+yKctC4AYimBi4T1/Q==";
+      };
+    };
     "tsconfig-paths-3.12.0" = {
       name = "tsconfig-paths";
       packageName = "tsconfig-paths";
@@ -65076,6 +65508,15 @@ let
         sha512 = "G1FfxfR0mUNMeGjszLYl3kxtopC4O9DRRiMlMDDVHvU1jaBkGFg4qxIyjIk2aiKLHyDyZvZyu4qBO2guuYBy3Q==";
       };
     };
+    "tus-js-client-2.1.1" = {
+      name = "tus-js-client";
+      packageName = "tus-js-client";
+      version = "2.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/tus-js-client/-/tus-js-client-2.1.1.tgz";
+        sha512 = "ILpgHlR0nfKxmlkXfrZ2z61upkHEXhADOGbGyvXSPjp7bn1NhU50p/Mu59q577Xirayr9vlW4tmoFqUrHKcWeQ==";
+      };
+    };
     "tv4-1.3.0" = {
       name = "tv4";
       packageName = "tv4";
@@ -65175,13 +65616,13 @@ let
         sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
       };
     };
-    "type-2.5.0" = {
+    "type-2.6.0" = {
       name = "type";
       packageName = "type";
-      version = "2.5.0";
+      version = "2.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-2.5.0.tgz";
-        sha512 = "180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==";
+        url = "https://registry.npmjs.org/type/-/type-2.6.0.tgz";
+        sha512 = "eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==";
       };
     };
     "type-check-0.3.2" = {
@@ -65337,13 +65778,31 @@ let
         sha512 = "u2yreDMllFI3VCpWt0rKrGs/E2LO0YHBwiiOIj+ilQh9+ALMaa4lNBSdoDvuHN3cbKcYk9L1BXP49x9RT+o/SA==";
       };
     };
-    "type-fest-2.8.0" = {
+    "type-fest-2.11.1" = {
       name = "type-fest";
       packageName = "type-fest";
-      version = "2.8.0";
+      version = "2.11.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/type-fest/-/type-fest-2.8.0.tgz";
-        sha512 = "O+V9pAshf9C6loGaH0idwsmugI2LxVNR7DtS40gVo2EXZVYFgz9OuNtOhgHLdHdapOEWNdvz9Ob/eeuaWwwlxA==";
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-2.11.1.tgz";
+        sha512 = "fPcV5KLAqFfmhHobtAUwEpbpfYhVF7wSLVgbG/7mIGe/Pete7ky/bPAPRkzbWdrj0/EkswFAAR2feJCgigkUKg==";
+      };
+    };
+    "type-fest-2.11.2" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "2.11.2";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-2.11.2.tgz";
+        sha512 = "reW2Y2Mpn0QNA/5fvtm5doROLwDPu2zOm5RtY7xQQS05Q7xgC8MOZ3yPNaP9m/s/sNjjFQtHo7VCNqYW2iI+Ig==";
+      };
+    };
+    "type-fest-2.12.0" = {
+      name = "type-fest";
+      packageName = "type-fest";
+      version = "2.12.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/type-fest/-/type-fest-2.12.0.tgz";
+        sha512 = "Qe5GRT+n/4GoqCNGGVp5Snapg1Omq3V7irBJB3EaKsp7HWDo5Gv2d/67gfNyV+d5EXD+x/RF5l1h4yJ7qNkcGA==";
       };
     };
     "type-fest-2.9.0" = {
@@ -65427,13 +65886,13 @@ let
         sha512 = "7uc1O8h1M1g0rArakJdf0uLRSSgFcYexrVoKo+bzJd32gd4gDy2L/Z+8/FjPnU9ydY3pEnVPtr9FyscYY60K1g==";
       };
     };
-    "typegram-3.7.0" = {
+    "typegram-3.8.0" = {
       name = "typegram";
       packageName = "typegram";
-      version = "3.7.0";
+      version = "3.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typegram/-/typegram-3.7.0.tgz";
-        sha512 = "IafMO+GRi5H8CtWSNihuD56Bjpmj/ISbg6G8jdTkNxldrym+FOPlo/fxtaPs/LyWnS0l1Bm18MUDwOikZSKmJw==";
+        url = "https://registry.npmjs.org/typegram/-/typegram-3.8.0.tgz";
+        sha512 = "MdlbWu0HfmgFJf4+xj6eqGYuanV2LJxBYTzLrD0kTV+woQ5dxDD2k8UVVjYnbBGkAagAyxzQevPiFZRWLFHSBw==";
       };
     };
     "typescript-2.9.2" = {
@@ -65481,15 +65940,6 @@ let
         sha512 = "tEu6DGxGgRJPb/mVPIZ48e69xCn2yRmCgYmDugAVwmJ6o+0u1RI18eO7E7WBTLYLaEVVOhwQmcdhQHweux/WPg==";
       };
     };
-    "typescript-4.1.6" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.1.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.1.6.tgz";
-        sha512 = "pxnwLxeb/Z5SP80JDRzVjh58KsM6jZHRAOtTpS7sXLS4ogXNKC9ANxHHZqLLeVHZN35jCtI4JdmLLbLiC1kBow==";
-      };
-    };
     "typescript-4.3.4" = {
       name = "typescript";
       packageName = "typescript";
@@ -65499,15 +65949,6 @@ let
         sha512 = "uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==";
       };
     };
-    "typescript-4.5.4" = {
-      name = "typescript";
-      packageName = "typescript";
-      version = "4.5.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.4.tgz";
-        sha512 = "VgYs2A2QIRuGphtzFV7aQJduJ2gyfTljngLzjpfW9FoYZF6xuw1W0vW9ghCKLfcWrCFxK81CSGRAvS1pn4fIUg==";
-      };
-    };
     "typescript-4.5.5" = {
       name = "typescript";
       packageName = "typescript";
@@ -65571,6 +66012,24 @@ let
         sha512 = "W20RYp2OCEGMhEYayR0cAP67AUWiGRUufMs6Clul7MAmu5SpLuOG/RWk7+LkL65wsugcfhPQlFEJ231C2xHNQg==";
       };
     };
+    "u2f-api-0.2.7" = {
+      name = "u2f-api";
+      packageName = "u2f-api";
+      version = "0.2.7";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/u2f-api/-/u2f-api-0.2.7.tgz";
+        sha512 = "fqLNg8vpvLOD5J/z4B6wpPg4Lvowz1nJ9xdHcCzdUPKcFE/qNCceV2gNZxSJd5vhAZemHr/K/hbzVA0zxB5mkg==";
+      };
+    };
+    "u3-0.1.1" = {
+      name = "u3";
+      packageName = "u3";
+      version = "0.1.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/u3/-/u3-0.1.1.tgz";
+        sha512 = "+J5D5ir763y+Am/QY6hXNRlwljIeRMZMGs0cT6qqZVVzzT3X3nFPXVyPOFRMOR4kupB0T8JnCdpWdp6Q/iXn3w==";
+      };
+    };
     "ua-parser-js-0.7.20" = {
       name = "ua-parser-js";
       packageName = "ua-parser-js";
@@ -65634,13 +66093,13 @@ let
         sha1 = "29c5733148057bb4e1f75df35b7a9cb72e6a59dd";
       };
     };
-    "uglify-js-3.14.5" = {
+    "uglify-js-3.15.1" = {
       name = "uglify-js";
       packageName = "uglify-js";
-      version = "3.14.5";
+      version = "3.15.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz";
-        sha512 = "qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==";
+        url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.1.tgz";
+        sha512 = "FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==";
       };
     };
     "uglify-js-3.4.10" = {
@@ -65967,13 +66426,13 @@ let
         sha1 = "5e4bda308e4a8a2ae584f9b9a4359a499825cc50";
       };
     };
-    "undici-4.12.2" = {
+    "undici-4.14.1" = {
       name = "undici";
       packageName = "undici";
-      version = "4.12.2";
+      version = "4.14.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/undici/-/undici-4.12.2.tgz";
-        sha512 = "RZj6SbkQFs5O/pJCboGEo6l5DTCe3Zg4r/8Z/0/2qnIv08+s6zL4akohOPMYWKc3mzwv15WTvsfMWaafZcvYoQ==";
+        url = "https://registry.npmjs.org/undici/-/undici-4.14.1.tgz";
+        sha512 = "WJ+g+XqiZcATcBaUeluCajqy4pEDcQfK1vy+Fo+bC4/mqXI9IIQD/XWHLS70fkGUT6P52Drm7IFslO651OdLPQ==";
       };
     };
     "unherit-1.1.3" = {
@@ -66300,15 +66759,6 @@ let
         sha512 = "ft06UDYzqi9o9RmGP0sZWI/zvLLQiBW2/MD+rW6mDqbOWDcmknGX9orQPspfuGRYWr8eSJAmfsBcvOpfGRJseA==";
       };
     };
-    "unist-util-find-all-after-1.0.5" = {
-      name = "unist-util-find-all-after";
-      packageName = "unist-util-find-all-after";
-      version = "1.0.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/unist-util-find-all-after/-/unist-util-find-all-after-1.0.5.tgz";
-        sha512 = "lWgIc3rrTMTlK1Y0hEuL+k+ApzFk78h+lsaa2gHf63Gp5Ww+mt11huDniuaoq1H+XMK2lIIjjPkncxXcDp3QDw==";
-      };
-    };
     "unist-util-find-all-after-3.0.2" = {
       name = "unist-util-find-all-after";
       packageName = "unist-util-find-all-after";
@@ -66606,13 +67056,13 @@ let
         sha512 = "y+QVLcY5eR/YVpqDsLf/xh9R3Q2Y4HxkZTp7ViLDU6WtJCEcPmRzW1gpdWDCDIqIlhuPDXOgttqPlykrHYDekg==";
       };
     };
-    "universal-analytics-0.4.23" = {
+    "universal-analytics-0.5.3" = {
       name = "universal-analytics";
       packageName = "universal-analytics";
-      version = "0.4.23";
+      version = "0.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz";
-        sha512 = "lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==";
+        url = "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.5.3.tgz";
+        sha512 = "HXSMyIcf2XTvwZ6ZZQLfxfViRm/yTGoRgDeTbojtq6rezeyKB0sTBcKH2fhddnteAHRcHiKgr/ACpbgjGOC6RQ==";
       };
     };
     "universal-url-2.0.0" = {
@@ -66984,13 +67434,13 @@ let
         sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     };
-    "urijs-1.19.7" = {
+    "urijs-1.19.8" = {
       name = "urijs";
       packageName = "urijs";
-      version = "1.19.7";
+      version = "1.19.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.7.tgz";
-        sha512 = "Id+IKjdU0Hx+7Zx717jwLPsPeUqz7rAtuVBRLLs+qn+J2nf9NGITWVCxcijgYxBqe83C7sqsQPs6H1pyz3x9gA==";
+        url = "https://registry.npmjs.org/urijs/-/urijs-1.19.8.tgz";
+        sha512 = "iIXHrjomQ0ZCuDRy44wRbyTZVnfVNLVo3Ksz1yxNyE5wV1IDZW2S5Jszy45DTlw/UdsnRT7DyDhIz7Gy+vJumw==";
       };
     };
     "urix-0.1.0" = {
@@ -67083,13 +67533,13 @@ let
         sha512 = "3BTV812+AVHHOJQO8O5MkWgZ5aosP7GnROJwvzLS9hWDj00lZ6Z0wNak423Lp9PBZN05N+Jk/N5Si8jRAlGyWA==";
       };
     };
-    "url-parse-1.5.4" = {
+    "url-parse-1.5.9" = {
       name = "url-parse";
       packageName = "url-parse";
-      version = "1.5.4";
+      version = "1.5.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.4.tgz";
-        sha512 = "ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==";
+        url = "https://registry.npmjs.org/url-parse/-/url-parse-1.5.9.tgz";
+        sha512 = "HpOvhKBvre8wYez+QhHcYiVvVmeF6DVnuSOOPhe3cTum3BnqHhvKaZm8FU5yTiOu/Jut2ZpB2rA/SbBA1JIGlQ==";
       };
     };
     "url-parse-as-address-1.0.0" = {
@@ -67137,22 +67587,22 @@ let
         sha1 = "1505a03a289a48cbd7a434efbaeec5055f5633a9";
       };
     };
-    "url-toolkit-2.2.3" = {
+    "url-toolkit-2.2.5" = {
       name = "url-toolkit";
       packageName = "url-toolkit";
-      version = "2.2.3";
+      version = "2.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/url-toolkit/-/url-toolkit-2.2.3.tgz";
-        sha512 = "Da75SQoxsZ+2wXS56CZBrj2nukQ4nlGUZUP/dqUBG5E1su5GKThgT94Q00x81eVII7AyS1Pn+CtTTZ4Z0pLUtQ==";
+        url = "https://registry.npmjs.org/url-toolkit/-/url-toolkit-2.2.5.tgz";
+        sha512 = "mtN6xk+Nac+oyJ/PrI7tzfmomRVNFIWKUbG8jdYFt52hxbiReFAXIjYskvu64/dvuW71IcB7lV8l0HvZMac6Jg==";
       };
     };
-    "urlencode-1.1.0" = {
-      name = "urlencode";
-      packageName = "urlencode";
-      version = "1.1.0";
+    "url-value-parser-2.1.0" = {
+      name = "url-value-parser";
+      packageName = "url-value-parser";
+      version = "2.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/urlencode/-/urlencode-1.1.0.tgz";
-        sha1 = "1f2ba26f013c85f0133f7a3ad6ff2730adf7cbb7";
+        url = "https://registry.npmjs.org/url-value-parser/-/url-value-parser-2.1.0.tgz";
+        sha512 = "gIYPWXujdUdwd/9TGCHTf5Vvgw6lOxjE5Q/k+7WNByYyS0vW5WX0k+xuVlhvPq6gRNhzXVv/ezC+OfeAet5Kcw==";
       };
     };
     "urlsafe-base64-1.0.0" = {
@@ -67471,15 +67921,6 @@ let
         sha1 = "67e2e863797215530dff318e5bf9dcebfd47b21a";
       };
     };
-    "uuid-3.0.0" = {
-      name = "uuid";
-      packageName = "uuid";
-      version = "3.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/uuid/-/uuid-3.0.0.tgz";
-        sha1 = "6728fc0459c450d796a99c31837569bdf672d728";
-      };
-    };
     "uuid-3.2.1" = {
       name = "uuid";
       packageName = "uuid";
@@ -67570,6 +68011,15 @@ let
         sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
       };
     };
+    "v8-compile-cache-lib-3.0.0" = {
+      name = "v8-compile-cache-lib";
+      packageName = "v8-compile-cache-lib";
+      version = "3.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.0.tgz";
+        sha512 = "mpSYqfsFvASnSn5qMiwrr4VKfumbPyONLCOPmsR3A6pTY/r0+tSaVbgPWSAIuzbk3lCTa+FForeTiO+wBQGkjA==";
+      };
+    };
     "v8-debug-1.0.1" = {
       name = "v8-debug";
       packageName = "v8-debug";
@@ -67660,6 +68110,15 @@ let
         sha512 = "X/p3UZerAIsbBfN/IwahhYaBbY68EN/UQBWHtsbXGT5bfrH/p4NQzUCG1kF/rtKaNpnJ7jAu6NGTdSNtyNIXMw==";
       };
     };
+    "validator-12.2.0" = {
+      name = "validator";
+      packageName = "validator";
+      version = "12.2.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/validator/-/validator-12.2.0.tgz";
+        sha512 = "jJfE/DW6tIK1Ek8nCfNFqt8Wb3nzMoAbocBF6/Icgg1ZFSBpObdnwVY2jQj6qUqzhx5jc71fpvBWyLGO7Xl+nQ==";
+      };
+    };
     "validator-13.7.0" = {
       name = "validator";
       packageName = "validator";
@@ -68497,13 +68956,13 @@ let
         sha512 = "2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==";
       };
     };
-    "vm2-3.9.5" = {
+    "vm2-3.9.8" = {
       name = "vm2";
       packageName = "vm2";
-      version = "3.9.5";
+      version = "3.9.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.5.tgz";
-        sha512 = "LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng==";
+        url = "https://registry.npmjs.org/vm2/-/vm2-3.9.8.tgz";
+        sha512 = "/1PYg/BwdKzMPo8maOZ0heT7DLI0DAFTm7YQaz/Lim9oIaFZsJs3EdtalvXuBfZwczNwsYhju75NW4d6E+4q+w==";
       };
     };
     "voc-1.2.0" = {
@@ -68569,13 +69028,13 @@ let
         sha512 = "jWi+297PJUUWTHwlcrZz0zIuEXuHOBJIQMapXmEzbosWGv/gMnNSAMV4hTKnl5wzxvZKZzV6j+WFdrSlKQ5qnw==";
       };
     };
-    "vscode-css-languageservice-5.1.9" = {
+    "vscode-css-languageservice-5.1.13" = {
       name = "vscode-css-languageservice";
       packageName = "vscode-css-languageservice";
-      version = "5.1.9";
+      version = "5.1.13";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.9.tgz";
-        sha512 = "/tFOWeZBL3Oc9Zc+2MAi3rEwiXJTSZsvjB+M7nSjWLbGPUIjukUA7YzLgsBoUfR35sPJYnXWUkL56PdfIYM8GA==";
+        url = "https://registry.npmjs.org/vscode-css-languageservice/-/vscode-css-languageservice-5.1.13.tgz";
+        sha512 = "FA0foqMzMmEoO0WJP+MjoD4dRERhKS+Ag+yBrtmWQDmw2OuZ1R/5FkvI/XdTkCpHmTD9VMczugpHRejQyTXCNQ==";
       };
     };
     "vscode-debugadapter-testsupport-1.51.0" = {
@@ -68668,24 +69127,6 @@ let
         sha512 = "QxI+qV97uD7HHOCjh3MrM1TfbdwmTXrMckri5Tus1/FQiG3baDZb2C9Y0y8QThs7PwHYBIQXcAc59ZveCRZKPA==";
       };
     };
-    "vscode-json-languageservice-4.1.10" = {
-      name = "vscode-json-languageservice";
-      packageName = "vscode-json-languageservice";
-      version = "4.1.10";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.10.tgz";
-        sha512 = "IHliMEEYSY0tJjJt0ECb8ESx/nRXpoy9kN42WVQXgaqGyizFAf3jibSiezDQTrrY7f3kywXggCU+kkJEM+OLZQ==";
-      };
-    };
-    "vscode-json-languageservice-4.1.7" = {
-      name = "vscode-json-languageservice";
-      packageName = "vscode-json-languageservice";
-      version = "4.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.1.7.tgz";
-        sha512 = "cwG5TwZyHYthsk2aS3W1dVgVP6Vwn3o+zscwN58uMgZt/nKuyxd9vdEB1F58Ix+S5kSKAnkUCP6hvulcoImQQQ==";
-      };
-    };
     "vscode-json-languageservice-4.1.8" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
@@ -68695,13 +69136,13 @@ let
         sha512 = "0vSpg6Xd9hfV+eZAaYN63xVVMOTmJ4GgHxXnkLCh+9RsQBkWKIghzLhW2B9ebfG+LQQg8uLtsQ2aUKjTgE+QOg==";
       };
     };
-    "vscode-json-languageservice-4.2.0-next.2" = {
+    "vscode-json-languageservice-4.2.0" = {
       name = "vscode-json-languageservice";
       packageName = "vscode-json-languageservice";
-      version = "4.2.0-next.2";
+      version = "4.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.0-next.2.tgz";
-        sha512 = "P0sdiZS7bM8+bxrkpL7XPwwhmZj94pcJIAZUh/QeessvYtXFnRmOEybe20rC+CS7b7DfwFcVt0p4p93hGZQ5gg==";
+        url = "https://registry.npmjs.org/vscode-json-languageservice/-/vscode-json-languageservice-4.2.0.tgz";
+        sha512 = "XNawv0Vdy/sUK0S+hGf7cq/qsVAbIniGJr89TvZOqMCNJmpgKTy1e8PL1aWW0uy6BfWMG7vxa5lZb3ypuFtuGQ==";
       };
     };
     "vscode-jsonrpc-3.5.0" = {
@@ -68776,13 +69217,13 @@ let
         sha512 = "gxUyTBAjmwGkiHW/UaRScre2s4i98P8M7gnc3VB4DrVQUm3vQ0idi2cN9nbkfcjATx+uEt8C22j+MLN/8UzsJA==";
       };
     };
-    "vscode-jsonrpc-8.0.0-next.5" = {
+    "vscode-jsonrpc-8.0.0-next.6" = {
       name = "vscode-jsonrpc";
       packageName = "vscode-jsonrpc";
-      version = "8.0.0-next.5";
+      version = "8.0.0-next.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.5.tgz";
-        sha512 = "owRllqcFTnz5rXxcbmHPFGmpFmLqj9Z1V3Dzrv+s8ejOHLIT62Pyb5Uqzyl2/in2VP22DmzErPgZwrxjLCIKiQ==";
+        url = "https://registry.npmjs.org/vscode-jsonrpc/-/vscode-jsonrpc-8.0.0-next.6.tgz";
+        sha512 = "6Ld3RYjygn5Ih7CkAtcAwiDQC+rakj2O+PnASfNyYv3sLmm44eJpEKzuPUN30Iy2UB09AZg8T6LBKWTJTEJDVw==";
       };
     };
     "vscode-languageclient-4.0.1" = {
@@ -68884,13 +69325,13 @@ let
         sha512 = "/65lxR/CuLJoOdzTjOTYUPWS7k5qzaWese4PObnWc6jwLryUrSa7DslYfaRXigh5/xr1nlaUZCcJwkpgM0wFvw==";
       };
     };
-    "vscode-languageserver-8.0.0-next.6" = {
+    "vscode-languageserver-8.0.0-next.8" = {
       name = "vscode-languageserver";
       packageName = "vscode-languageserver";
-      version = "8.0.0-next.6";
+      version = "8.0.0-next.8";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.6.tgz";
-        sha512 = "RgGRAsXUksdtCrhtxFUeMXzqE4C/7AHSR6loIQY3GFDNIqrlEIkkQZg2Kkouf/i+eE/Iummn2ZB85VKNTBQgsQ==";
+        url = "https://registry.npmjs.org/vscode-languageserver/-/vscode-languageserver-8.0.0-next.8.tgz";
+        sha512 = "Gq0uqKbOgw7YNwPxMoNCeh7mHKMhG5j6EuoSh+w5pnKd7Eu9a74cagqf9aZDVFWW6GRpqR/Z+1o6EXqDK+g2Tg==";
       };
     };
     "vscode-languageserver-protocol-3.14.1" = {
@@ -68929,13 +69370,13 @@ let
         sha512 = "atmkGT/W6tF0cx4SaWFYtFs2UeSeC28RPiap9myv2YZTaTCFvTBEPNWrU5QRKfkyM0tbgtGo6T3UCQ8tkDpjzA==";
       };
     };
-    "vscode-languageserver-protocol-3.17.0-next.12" = {
+    "vscode-languageserver-protocol-3.17.0-next.14" = {
       name = "vscode-languageserver-protocol";
       packageName = "vscode-languageserver-protocol";
-      version = "3.17.0-next.12";
+      version = "3.17.0-next.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.12.tgz";
-        sha512 = "VLRcWKOpCXcx9UrqrS+NSF6pNxV498VGYGW+eyp9a79/F9ElUq3wdG6acXYlEfpWHuIxpm6MXps8FU88wqIgTg==";
+        url = "https://registry.npmjs.org/vscode-languageserver-protocol/-/vscode-languageserver-protocol-3.17.0-next.14.tgz";
+        sha512 = "iangobY8dL6sFZkOx4OhRPJM9gN0I1caUsOVR+MnPozsqQUtwMXmbIcfaIf0Akp0pd3KhJDPf/tdwRX68QGeeA==";
       };
     };
     "vscode-languageserver-protocol-3.17.0-next.5" = {
@@ -68983,13 +69424,13 @@ let
         sha512 = "N8bOS8i0xuQMn/y0bijyefDbOsMl6hiH6LDREYWavTLTM5jbj44EiQfStsbmAv/0eaFKkL/jf5hW7nWwBy2HBw==";
       };
     };
-    "vscode-languageserver-textdocument-1.0.3" = {
+    "vscode-languageserver-textdocument-1.0.4" = {
       name = "vscode-languageserver-textdocument";
       packageName = "vscode-languageserver-textdocument";
-      version = "1.0.3";
+      version = "1.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.3.tgz";
-        sha512 = "ynEGytvgTb6HVSUwPJIAZgiHQmPCx8bZ8w5um5Lz+q5DjP0Zj8wTFhQpyg8xaMvefDytw2+HH5yzqS+FhsR28A==";
+        url = "https://registry.npmjs.org/vscode-languageserver-textdocument/-/vscode-languageserver-textdocument-1.0.4.tgz";
+        sha512 = "/xhqXP/2A2RSs+J8JNXpiiNVvvNM0oTosNVmQnunlKvq9o4mupHOBAnnzH0lwIPKazXKvAKsVp1kr+H/K4lgoQ==";
       };
     };
     "vscode-languageserver-types-3.14.0" = {
@@ -69055,13 +69496,13 @@ let
         sha512 = "VQcXnhKYxUW6OiRMhG++SzmZYMJwusXknJGd+FfdOnS1yHAo734OHyR0e2eEHDlv0/oWc8RZPgx/VKSKyondVg==";
       };
     };
-    "vscode-languageserver-types-3.17.0-next.6" = {
+    "vscode-languageserver-types-3.17.0-next.7" = {
       name = "vscode-languageserver-types";
       packageName = "vscode-languageserver-types";
-      version = "3.17.0-next.6";
+      version = "3.17.0-next.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.6.tgz";
-        sha512 = "rHYeCotiabJHgvIYzWjV8g0dHCxyOQtcryTv1Xa1horaQ4jx2V+rjLBstc6zMpCyrnZcjorwEcAvGBDCd6wudw==";
+        url = "https://registry.npmjs.org/vscode-languageserver-types/-/vscode-languageserver-types-3.17.0-next.7.tgz";
+        sha512 = "KH4zdG1qBXxoso61ChgpeoZYyHGJo8bV7Jv4I+fwQ1Ryy59JAxoZ9GAbhR5TeeafHctLcg6RFvY3m8Jqfu17cg==";
       };
     };
     "vscode-languageserver-types-3.5.0" = {
@@ -69217,15 +69658,6 @@ let
         sha512 = "Bvjlx7rH1Ulvus56KHeLXOjEi3JMOYTa1GAqZr9lBQhd8weK8mV7U7V2l85yokBZEWHJQjLn6X3nosY8TzkOKg==";
       };
     };
-    "vue-eslint-parser-7.1.1" = {
-      name = "vue-eslint-parser";
-      packageName = "vue-eslint-parser";
-      version = "7.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-7.1.1.tgz";
-        sha512 = "8FdXi0gieEwh1IprIBafpiJWcApwrU+l2FEj8c1HtHFdNXMd0+2jUSjBVmcQYohf/E72irwAXEXLga6TQcB3FA==";
-      };
-    };
     "vue-eslint-parser-7.11.0" = {
       name = "vue-eslint-parser";
       packageName = "vue-eslint-parser";
@@ -69352,15 +69784,6 @@ let
         sha512 = "HUqwaodrQGaZgz1lZaNioIkog9tkeEJjrM3eq4aUL04whXOVDRc/o2EGb/8kV0QX411iAYWEqq7fMBmJ6dKS6w==";
       };
     };
-    "watch-1.0.2" = {
-      name = "watch";
-      packageName = "watch";
-      version = "1.0.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/watch/-/watch-1.0.2.tgz";
-        sha1 = "340a717bde765726fa0aa07d721e0147a551df0c";
-      };
-    };
     "watchpack-1.7.5" = {
       name = "watchpack";
       packageName = "watchpack";
@@ -69406,13 +69829,13 @@ let
         sha1 = "79331f666366b3b1c6ab02ceb04bad8dd2eebb0c";
       };
     };
-    "wavedrom-2.9.0" = {
+    "wavedrom-2.9.1" = {
       name = "wavedrom";
       packageName = "wavedrom";
-      version = "2.9.0";
+      version = "2.9.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/wavedrom/-/wavedrom-2.9.0.tgz";
-        sha512 = "PazQFmo/DFJU5AoZt+1LxKTEkgokK8Q1Nsc1s/6Y6LEY9z4WKv8RWn6uvh+p6Jh1sLezknACZTCrTasvpwEaiQ==";
+        url = "https://registry.npmjs.org/wavedrom/-/wavedrom-2.9.1.tgz";
+        sha512 = "IPv1bKVwh4Zo8dMMQfnNy4KFqU/v0buoPDwLkTrtHE2nr0dV4pHqryhWpqNCSUm7xTWroER+nE5xRkng96xLUA==";
       };
     };
     "wawoff2-2.0.1" = {
@@ -69649,13 +70072,13 @@ let
         sha512 = "NJNtGT7IKpGzdW7Iwpn/09OXz9inIkeIQ/ibY6B+MdV1x6+uReqz/5z1L89ezWnpPDWpXF0TY5PCYKQdWVn8Vg==";
       };
     };
-    "webpack-5.67.0" = {
+    "webpack-5.69.1" = {
       name = "webpack";
       packageName = "webpack";
-      version = "5.67.0";
+      version = "5.69.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack/-/webpack-5.67.0.tgz";
-        sha512 = "LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw==";
+        url = "https://registry.npmjs.org/webpack/-/webpack-5.69.1.tgz";
+        sha512 = "+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A==";
       };
     };
     "webpack-bundle-analyzer-3.9.0" = {
@@ -69676,13 +70099,13 @@ let
         sha512 = "NVWBaz9k839ZH/sinurM+HcDvJOTXwSjYp1ku+5XKeOC03z8v5QitnK/x+lAxGXFyhdayoIf/GOpv85z3/xPag==";
       };
     };
-    "webpack-cli-4.9.1" = {
+    "webpack-cli-4.9.2" = {
       name = "webpack-cli";
       packageName = "webpack-cli";
-      version = "4.9.1";
+      version = "4.9.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz";
-        sha512 = "JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==";
+        url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz";
+        sha512 = "m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==";
       };
     };
     "webpack-core-0.6.9" = {
@@ -69703,13 +70126,13 @@ let
         sha512 = "djelc/zGiz9nZj/U7PTBi2ViorGJXEWo/3ltkPbDyxCXhhEXkW0ce99falaok4TPj+AsxLiXJR0EBOb0zh9fKQ==";
       };
     };
-    "webpack-dev-middleware-5.3.0" = {
+    "webpack-dev-middleware-5.3.1" = {
       name = "webpack-dev-middleware";
       packageName = "webpack-dev-middleware";
-      version = "5.3.0";
+      version = "5.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.0.tgz";
-        sha512 = "MouJz+rXAm9B1OTOYaJnn6rtD/lWZPy2ufQCH3BPs8Rloh/Du6Jze4p7AeLYHkVi0giJnYLaSGDC7S+GM9arhg==";
+        url = "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.1.tgz";
+        sha512 = "81EujCKkyles2wphtdrnPg/QqegC/AtqNH//mQkBYSMqwFVCQrxM6ktB2O/SPlZy7LqeEfTbV3cZARGQz6umhg==";
       };
     };
     "webpack-dev-server-3.11.0" = {
@@ -69856,13 +70279,13 @@ let
         sha512 = "7iZ+u28Ljw5hCnMiq0BCOeSYf0vCFQe/ORY0HgscTiKjQed8WqugpBUggJ2NTnB9fahn1kEnPRX2jf8Px5PhJw==";
       };
     };
-    "webtorrent-1.7.1" = {
+    "webtorrent-1.8.2" = {
       name = "webtorrent";
       packageName = "webtorrent";
-      version = "1.7.1";
+      version = "1.8.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.7.1.tgz";
-        sha512 = "x7u7jtDDdPzSkwurZ1/mUZCcIBYrAQiPrnGSLi9jn9rlsnad4G5RXgsgBvVQR650Pqx9Id/4db/2ZTB4iRGh2w==";
+        url = "https://registry.npmjs.org/webtorrent/-/webtorrent-1.8.2.tgz";
+        sha512 = "rQfrYF/2pq81c8whgTEQtqMlp0HosA4yB7R4EUq+6Q0087bO2GbDxiBKTIZuBcMUgK+2jq/+TgTdXnZ9cBabcw==";
       };
     };
     "whatwg-encoding-1.0.5" = {
@@ -70063,13 +70486,13 @@ let
         sha512 = "Lhs9Pmyph0p5n5Z3mVnN0yWcbQYUAD7rbQUiMsQxOJ3T57k7RFe35SUwWMf7dsbDZks1uOmw4AecB/JMDj3v/w==";
       };
     };
-    "which-pm-runs-1.0.0" = {
+    "which-pm-runs-1.1.0" = {
       name = "which-pm-runs";
       packageName = "which-pm-runs";
-      version = "1.0.0";
+      version = "1.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.0.0.tgz";
-        sha1 = "670b3afbc552e0b55df6b7780ca74615f23ad1cb";
+        url = "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz";
+        sha512 = "n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==";
       };
     };
     "which-promise-1.0.0" = {
@@ -70189,15 +70612,6 @@ let
         sha1 = "f45f10d141086c5d94ae14c03b2098440a7e71b0";
       };
     };
-    "win-fork-1.1.1" = {
-      name = "win-fork";
-      packageName = "win-fork";
-      version = "1.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/win-fork/-/win-fork-1.1.1.tgz";
-        sha1 = "8f58e0656fca00adc8c86a2b89e3cd2d6a2d5e5e";
-      };
-    };
     "window-size-0.1.0" = {
       name = "window-size";
       packageName = "window-size";
@@ -70333,15 +70747,6 @@ let
         sha512 = "TWoamHt5yYvsMarGlGEQE59SbJHqGsZV8/lwC+iCcGeAe0vUaOh+Lv6SYM17ouzC/a/LB1/hz/7sxFBtlu1l4A==";
       };
     };
-    "winston-3.2.1" = {
-      name = "winston";
-      packageName = "winston";
-      version = "3.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.2.1.tgz";
-        sha512 = "zU6vgnS9dAWCEKg/QYigd6cgMVVNwyTzKs81XZtTFuRwJOcDdBg7AU0mXVyNbs7O5RH2zdv+BdNZUlx7mXPuOw==";
-      };
-    };
     "winston-3.3.3" = {
       name = "winston";
       packageName = "winston";
@@ -70351,31 +70756,31 @@ let
         sha512 = "oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==";
       };
     };
-    "winston-3.3.4" = {
+    "winston-3.5.1" = {
       name = "winston";
       packageName = "winston";
-      version = "3.3.4";
+      version = "3.5.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.3.4.tgz";
-        sha512 = "zWJrfmqE+2IXtVJ125vxpA2m303TjwchLhfRbcnma7c76Qd4pv80JIp37l8uGnWbCoG4X6PMz3vAQeh+vH1CtA==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.5.1.tgz";
+        sha512 = "tbRtVy+vsSSCLcZq/8nXZaOie/S2tPXPFt4be/Q3vI/WtYwm7rrwidxVw2GRa38FIXcJ1kUM6MOZ9Jmnk3F3UA==";
       };
     };
-    "winston-3.4.0" = {
+    "winston-3.6.0" = {
       name = "winston";
       packageName = "winston";
-      version = "3.4.0";
+      version = "3.6.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston/-/winston-3.4.0.tgz";
-        sha512 = "FqilVj+5HKwCfIHQzMxrrd5tBIH10JTS3koFGbLVWBODjiIYq7zir08rFyBT4rrTYG/eaTqDcfSIbcjSM78YSw==";
+        url = "https://registry.npmjs.org/winston/-/winston-3.6.0.tgz";
+        sha512 = "9j8T75p+bcN6D00sF/zjFVmPp+t8KMPB1MzbbzYjeN9VWxdsYnTB40TkbNUEXAmILEfChMvAMgidlX64OG3p6w==";
       };
     };
-    "winston-transport-4.4.2" = {
+    "winston-transport-4.5.0" = {
       name = "winston-transport";
       packageName = "winston-transport";
-      version = "4.4.2";
+      version = "4.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.4.2.tgz";
-        sha512 = "9jmhltAr5ygt5usgUTQbEiw/7RYXpyUbEAFRCSicIacpUzPkrnQsQZSPGEI12aLK9Jth4zNcYJx3Cvznwrl8pw==";
+        url = "https://registry.npmjs.org/winston-transport/-/winston-transport-4.5.0.tgz";
+        sha512 = "YpZzcUzBedhlTAfJg6vJDlyEai/IFMIVcaEZZyl3UXIl4gmqRpU7AE89AHLkbzLUsv0NVmw7ts+iztqKxxPW1Q==";
       };
     };
     "with-5.1.1" = {
@@ -70477,15 +70882,6 @@ let
         sha512 = "toV7q9rWNYha963Pl/qyeZ6wG+3nnsyvolaNUS8+R5Wtw6qJPTxIlOP1ZSvcGhEJw+l3HMMmtiNo9Gl61G4GVg==";
       };
     };
-    "workerpool-6.1.5" = {
-      name = "workerpool";
-      packageName = "workerpool";
-      version = "6.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz";
-        sha512 = "XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==";
-      };
-    };
     "workerpool-6.2.0" = {
       name = "workerpool";
       packageName = "workerpool";
@@ -70630,13 +71026,13 @@ let
         sha512 = "AvHcyZ5JnSfq3ioSyjrBkH9yW4m7Ayk8/9My/DD9onKeu/94fwrMocemO2QAJFAlnnDN+ZDS+ZjAR5ua1/PV/Q==";
       };
     };
-    "write-file-atomic-4.0.0" = {
+    "write-file-atomic-4.0.1" = {
       name = "write-file-atomic";
       packageName = "write-file-atomic";
-      version = "4.0.0";
+      version = "4.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.0.tgz";
-        sha512 = "JhcWoKffJNF7ivO9yflBhc7tn3wKnokMUfWpBriM9yCXj4ePQnRPcWglBkkg1AHC8nsW/EfxwwhqsLtOy59djA==";
+        url = "https://registry.npmjs.org/write-file-atomic/-/write-file-atomic-4.0.1.tgz";
+        sha512 = "nSKUxgAbyioruk6hU87QzVbY279oYT6uiwgDoujth2ju4mJ+TZau7SQBhtbTmUyuNYTuXnSyRn66FV0+eCgcrQ==";
       };
     };
     "write-good-1.0.8" = {
@@ -70765,22 +71161,22 @@ let
         sha512 = "YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==";
       };
     };
-    "ws-7.5.1" = {
+    "ws-7.5.6" = {
       name = "ws";
       packageName = "ws";
-      version = "7.5.1";
+      version = "7.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.1.tgz";
-        sha512 = "2c6faOUH/nhoQN6abwMloF7Iyl0ZS2E9HGtsiLrWn0zOOMWlhtDmdf/uihDt6jnuCxgtwGBNy6Onsoy2s2O2Ow==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz";
+        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
       };
     };
-    "ws-7.5.6" = {
+    "ws-7.5.7" = {
       name = "ws";
       packageName = "ws";
-      version = "7.5.6";
+      version = "7.5.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz";
-        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.7.tgz";
+        sha512 = "KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==";
       };
     };
     "ws-8.2.3" = {
@@ -70792,31 +71188,31 @@ let
         sha512 = "wBuoj1BDpC6ZQ1B7DWQBYVLphPWkm8i9Y0/3YdHjHKHiohOJ1ws+3OccDWtH+PoC9DZD5WOTrJvNbWvjS6JWaA==";
       };
     };
-    "ws-8.3.0" = {
+    "ws-8.4.2" = {
       name = "ws";
       packageName = "ws";
-      version = "8.3.0";
+      version = "8.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-8.3.0.tgz";
-        sha512 = "Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==";
+        url = "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz";
+        sha512 = "Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==";
       };
     };
-    "ws-8.4.0" = {
+    "ws-8.5.0" = {
       name = "ws";
       packageName = "ws";
-      version = "8.4.0";
+      version = "8.5.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-8.4.0.tgz";
-        sha512 = "IHVsKe2pjajSUIl4KYMQOdlyliovpEPquKkqbwswulszzI7r0SfQrxnXdWAEqOlDCLrVSJzo+O1hAwdog2sKSQ==";
+        url = "https://registry.npmjs.org/ws/-/ws-8.5.0.tgz";
+        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
       };
     };
-    "ws-8.4.2" = {
-      name = "ws";
-      packageName = "ws";
-      version = "8.4.2";
+    "wtfnode-0.8.4" = {
+      name = "wtfnode";
+      packageName = "wtfnode";
+      version = "0.8.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-8.4.2.tgz";
-        sha512 = "Kbk4Nxyq7/ZWqr/tarI9yIt/+iNNFOjBXEWgTb4ydaNHBNGgvf2QHbS9fdfsndfjFlFwEd4Al+mw83YkaD10ZA==";
+        url = "https://registry.npmjs.org/wtfnode/-/wtfnode-0.8.4.tgz";
+        sha512 = "64GEKtMt/MUBuAm+8kHqP74ojjafzu00aT0JKsmkIwYmjRQ/odO0yhbzKLm+Z9v1gMla+8dwITRKzTAlHsB+Og==";
       };
     };
     "x-default-browser-0.3.1" = {
@@ -70909,13 +71305,13 @@ let
         sha512 = "N1XQngeqMBoj9wM4ZFadVV2MymImeiFfYD+fJrNlcVcOHsJFFQe7n3b+aBoTPwARuq2HQxukfzVpQmAk1gN4sQ==";
       };
     };
-    "xdl-59.2.22" = {
+    "xdl-59.2.29" = {
       name = "xdl";
       packageName = "xdl";
-      version = "59.2.22";
+      version = "59.2.29";
       src = fetchurl {
-        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.22.tgz";
-        sha512 = "hKmLoA64vaCRprJUS0DiOF89ykKQ/Sm2haTdvfzli/9wJpoY+2ZAZ08LCaQtbqgmRiOUK7g94Q2WMW9YIIXCpQ==";
+        url = "https://registry.npmjs.org/xdl/-/xdl-59.2.29.tgz";
+        sha512 = "qwLdMdv7AR3Tz9rud/Dro2TQFlhZHLN9GIN4+TKKcz9M9mkeoqZAFbDEt+7MyDUKQ644iBpSvShjMdyRA7M+aQ==";
       };
     };
     "xenvar-0.5.1" = {
@@ -71405,15 +71801,6 @@ let
         sha512 = "FHV8s5ODFFQXX/enJEU2EkanNl1UDBUz8oa4k5Qo/sR+Iq7VmhCDkRMb0/mjJCNeAWQ31W8WV6PYStDE4d9EIw==";
       };
     };
-    "yaml-2.0.0-8" = {
-      name = "yaml";
-      packageName = "yaml";
-      version = "2.0.0-8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml/-/yaml-2.0.0-8.tgz";
-        sha512 = "QaYgJZMfWD6fKN/EYMk6w1oLWPCr1xj9QaPSZW5qkDb3y8nGCXhy2Ono+AF4F+CSL/vGcqswcAT0BaS//pgD2A==";
-      };
-    };
     "yaml-ast-parser-0.0.43" = {
       name = "yaml-ast-parser";
       packageName = "yaml-ast-parser";
@@ -71423,15 +71810,6 @@ let
         sha512 = "2PTINUwsRqSd+s8XxKaJWQlUuEMHJQyEuh2edBbW8KNJz0SJPwUSD2zRWqezFEdN7IzAgeuYHFUCF7o8zRdZ0A==";
       };
     };
-    "yaml-front-matter-3.4.1" = {
-      name = "yaml-front-matter";
-      packageName = "yaml-front-matter";
-      version = "3.4.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml-front-matter/-/yaml-front-matter-3.4.1.tgz";
-        sha1 = "e52e84fea6983b93755e9b1564dba989b006b5a5";
-      };
-    };
     "yaml-front-matter-4.1.1" = {
       name = "yaml-front-matter";
       packageName = "yaml-front-matter";
@@ -71459,15 +71837,6 @@ let
         sha1 = "87cfa5a9613f48e26005420d6a8ee0da6fe8daec";
       };
     };
-    "yaml-language-server-1.2.2" = {
-      name = "yaml-language-server";
-      packageName = "yaml-language-server";
-      version = "1.2.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.2.2.tgz";
-        sha512 = "wjMlqjhg6hNMT8EgYYkfUaM0aXwjWSQDmPO18doWLxIXG7LGBuzb+Vm/MjLrP9LPblSEhE2WWHQFfGW+Odb7vw==";
-      };
-    };
     "yamljs-0.3.0" = {
       name = "yamljs";
       packageName = "yamljs";
@@ -71558,15 +71927,6 @@ let
         sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
       };
     };
-    "yargs-17.0.1" = {
-      name = "yargs";
-      packageName = "yargs";
-      version = "17.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/yargs/-/yargs-17.0.1.tgz";
-        sha512 = "xBBulfCc8Y6gLFcrPvtqKz9hz8SO0l1Ni8GgDekvBX2ro0HRQImDGnikfc33cgzcYUSncapnNcZDjVFIH3f6KQ==";
-      };
-    };
     "yargs-17.1.1" = {
       name = "yargs";
       packageName = "yargs";
@@ -71918,6 +72278,15 @@ let
         sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
       };
     };
+    "yocto-queue-1.0.0" = {
+      name = "yocto-queue";
+      packageName = "yocto-queue";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz";
+        sha512 = "9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==";
+      };
+    };
     "yoga-layout-prebuilt-1.10.0" = {
       name = "yoga-layout-prebuilt";
       packageName = "yoga-layout-prebuilt";
@@ -72068,38 +72437,38 @@ in
   "@angular/cli" = nodeEnv.buildNodePackage {
     name = "_at_angular_slash_cli";
     packageName = "@angular/cli";
-    version = "13.1.4";
+    version = "13.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.1.4.tgz";
-      sha512 = "PP9xpvDDCHhLTIZjewQQzzf+JbpF2s5mXTW2AgIL/E53ukaVvXwwjFMt9dQvECwut/LDpThoc3OfqcGrmwtqnA==";
+      url = "https://registry.npmjs.org/@angular/cli/-/cli-13.2.4.tgz";
+      sha512 = "Llk0RzrpzCsAIgX4wk8QIB7xZInyLT07r6gF9dc9b0latHsJyRpeZXdPcFmT2wny0cin+1Y9q6HsBe4Srs19SA==";
     };
     dependencies = [
-      sources."@angular-devkit/architect-0.1301.4"
-      sources."@angular-devkit/core-13.1.4"
-      sources."@angular-devkit/schematics-13.1.4"
-      sources."@gar/promisify-1.1.2"
-      sources."@npmcli/fs-1.1.0"
+      sources."@angular-devkit/architect-0.1302.4"
+      sources."@angular-devkit/core-13.2.4"
+      sources."@angular-devkit/schematics-13.2.4"
+      sources."@gar/promisify-1.1.3"
+      sources."@npmcli/fs-1.1.1"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.3"
       sources."@npmcli/promise-spawn-1.3.2"
       sources."@npmcli/run-script-2.0.0"
-      sources."@schematics/angular-13.1.4"
+      sources."@schematics/angular-13.2.4"
       sources."@tootallnate/once-1.1.2"
       sources."@yarnpkg/lockfile-1.1.0"
       sources."abbrev-1.1.1"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.2.0"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.8.2"
+      sources."ajv-8.9.0"
       sources."ajv-formats-2.1.1"
       sources."ansi-colors-4.1.1"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-2.0.0"
+      sources."are-we-there-yet-3.0.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
@@ -72141,7 +72510,7 @@ in
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gauge-4.0.0"
+      sources."gauge-4.0.1"
       sources."glob-7.2.0"
       sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
@@ -72163,7 +72532,7 @@ in
       sources."ini-2.0.0"
       (sources."inquirer-8.2.0" // {
         dependencies = [
-          sources."rxjs-7.5.2"
+          sources."rxjs-7.5.4"
           sources."tslib-2.3.1"
         ];
       })
@@ -72186,7 +72555,7 @@ in
       sources."magic-string-0.25.7"
       sources."make-fetch-happen-9.1.0"
       sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
@@ -72207,15 +72576,22 @@ in
       sources."npm-package-arg-8.1.5"
       sources."npm-packlist-3.0.0"
       sources."npm-pick-manifest-6.1.1"
-      sources."npm-registry-fetch-11.0.0"
-      sources."npmlog-6.0.0"
+      (sources."npm-registry-fetch-12.0.2" // {
+        dependencies = [
+          sources."@tootallnate/once-2.0.0"
+          sources."http-proxy-agent-5.0.0"
+          sources."lru-cache-7.3.1"
+          sources."make-fetch-happen-10.0.3"
+        ];
+      })
+      sources."npmlog-6.0.1"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."open-8.4.0"
       sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-map-4.0.0"
-      sources."pacote-12.0.2"
+      sources."pacote-12.0.3"
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
       sources."promise-inflight-1.0.1"
@@ -72224,7 +72600,7 @@ in
       sources."read-package-json-fast-2.0.3"
       sources."readable-stream-3.6.0"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."restore-cursor-3.1.0"
       sources."retry-0.12.0"
       sources."rimraf-3.0.2"
@@ -72234,9 +72610,9 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-6.1.1"
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
@@ -72245,6 +72621,7 @@ in
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-4.0.0"
       sources."tar-6.1.11"
       sources."through-2.3.8"
@@ -72276,10 +72653,10 @@ in
   "@antfu/ni" = nodeEnv.buildNodePackage {
     name = "_at_antfu_slash_ni";
     packageName = "@antfu/ni";
-    version = "0.12.0";
+    version = "0.13.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.12.0.tgz";
-      sha512 = "f+uqWBuXoShLpLSaQKHeFUnoUdvMGx8xcXrtyfxK95RGx5guKJVo3kVb2JtLNWkzwYzQvtQ+q0hU9YwSDSTVSw==";
+      url = "https://registry.npmjs.org/@antfu/ni/-/ni-0.13.1.tgz";
+      sha512 = "n9frAWnm14iweBtISggohUVuU0bmE0i2wUgGWS1qUqqCNV9lUwYnhxU04OymrMeWpVTtKpk3MR6E+iQIi1i12w==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -72310,7 +72687,7 @@ in
       sources."args-5.0.1"
       sources."atomic-sleep-1.0.0"
       sources."camelcase-5.0.0"
-      (sources."camelcase-keys-7.0.1" // {
+      (sources."camelcase-keys-7.0.2" // {
         dependencies = [
           sources."camelcase-6.3.0"
         ];
@@ -72339,7 +72716,7 @@ in
       sources."mri-1.1.4"
       sources."on-exit-leak-free-0.2.0"
       sources."once-1.4.0"
-      sources."pino-7.6.4"
+      sources."pino-7.6.5"
       sources."pino-abstract-transport-0.5.0"
       sources."pino-pretty-7.3.0"
       sources."pino-std-serializers-4.0.0"
@@ -72411,7 +72788,7 @@ in
         ];
       })
       sources."asciidoctor-opal-runtime-0.3.3"
-      sources."async-lock-1.3.0"
+      sources."async-lock-1.3.1"
       sources."atomic-sleep-1.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
@@ -72421,7 +72798,7 @@ in
       sources."cache-directory-2.0.0"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."camelcase-keys-7.0.1"
+      sources."camelcase-keys-7.0.2"
       sources."chalk-2.4.2"
       sources."clean-git-ref-2.0.1"
       sources."clone-2.1.2"
@@ -72439,7 +72816,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."convict-6.2.1"
       sources."core-util-is-1.0.3"
-      sources."crc-32-1.2.0"
+      sources."crc-32-1.2.1"
       sources."dateformat-4.6.3"
       sources."decompress-response-4.2.1"
       sources."define-properties-1.1.3"
@@ -72491,9 +72868,9 @@ in
       sources."is-valid-glob-1.0.0"
       sources."is-windows-1.0.2"
       sources."isarray-1.0.0"
-      (sources."isomorphic-git-1.10.4" // {
+      (sources."isomorphic-git-1.10.5" // {
         dependencies = [
-          sources."simple-get-3.1.0"
+          sources."simple-get-3.1.1"
         ];
       })
       sources."joycon-3.1.1"
@@ -72512,7 +72889,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-response-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimisted-2.0.1"
       sources."mri-1.1.4"
@@ -72535,11 +72912,11 @@ in
       sources."pend-1.2.0"
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
-      sources."pino-7.6.4"
+      sources."pino-7.6.5"
       sources."pino-abstract-transport-0.5.0"
       sources."pino-pretty-7.3.0"
       sources."pino-std-serializers-4.0.0"
-      sources."printj-1.1.2"
+      sources."printj-1.3.1"
       sources."process-nextick-args-2.0.1"
       sources."process-warning-1.0.0"
       sources."progress-2.0.3"
@@ -72563,7 +72940,7 @@ in
       sources."sha.js-2.4.11"
       sources."should-proxy-1.0.4"
       sources."simple-concat-1.0.1"
-      (sources."simple-get-4.0.0" // {
+      (sources."simple-get-4.0.1" // {
         dependencies = [
           sources."decompress-response-6.0.0"
           sources."mimic-response-3.1.0"
@@ -72588,7 +72965,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."to-through-2.0.0"
       sources."type-fest-1.4.0"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."unc-path-regex-0.1.2"
       sources."unique-stream-2.3.1"
       sources."unxhr-1.0.1"
@@ -72634,7 +73011,7 @@ in
       sha512 = "XgBSVpqXEqGTdst+CnM03/nXYw9PYNAfTl27BaJuUhEtqA/iDlyM7wLnQMsJzwWVmoLqp0bCumHkb62NtfeDNA==";
     };
     dependencies = [
-      sources."@emmetio/abbreviation-2.2.2"
+      sources."@emmetio/abbreviation-2.2.3"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -72646,7 +73023,7 @@ in
       sources."braces-3.0.2"
       sources."code-block-writer-10.1.1"
       sources."concat-map-0.0.1"
-      sources."emmet-2.3.5"
+      sources."emmet-2.3.6"
       sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
       sources."fill-range-7.0.1"
@@ -72658,7 +73035,7 @@ in
       sources."lodash-4.17.21"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."mkdirp-1.0.4"
       sources."path-browserify-1.0.1"
       sources."picomatch-2.3.1"
@@ -72669,7 +73046,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."ts-morph-12.2.0"
       sources."typescript-4.5.5"
-      sources."vscode-css-languageservice-5.1.9"
+      sources."vscode-css-languageservice-5.1.13"
       (sources."vscode-emmet-helper-2.1.2" // {
         dependencies = [
           sources."vscode-uri-2.1.2"
@@ -72684,7 +73061,7 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-6.1.1"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-nls-5.0.0"
       sources."vscode-uri-3.0.3"
@@ -72700,14 +73077,15 @@ in
   "@bitwarden/cli" = nodeEnv.buildNodePackage {
     name = "_at_bitwarden_slash_cli";
     packageName = "@bitwarden/cli";
-    version = "1.20.0";
+    version = "1.21.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.20.0.tgz";
-      sha512 = "i6s9f4/aKhzG1Kbf9tk/1wAvF0Ng8PjQW0nSEzYcNlA4zPicHh4VLD8lsT3quNJABpIFIADEJE5pFqHSDUBFew==";
+      url = "https://registry.npmjs.org/@bitwarden/cli/-/cli-1.21.1.tgz";
+      sha512 = "xe0wxxqJzBkbIv38+5MfFdz+Av7zh2twomgivkm4wN0W69YQ6hAp7qpEVFpTqHwSjeQEarYJ3DEWGgV0BDaJvg==";
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
       sources."abab-2.0.5"
+      sources."accepts-1.3.8"
       sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
@@ -72715,14 +73093,25 @@ in
         ];
       })
       sources."acorn-walk-7.2.0"
-      sources."agent-base-6.0.2"
+      (sources."agent-base-6.0.2" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
+      sources."append-field-1.0.0"
+      sources."array-flatten-1.1.1"
       sources."asynckit-0.4.0"
       sources."big-integer-1.6.48"
+      sources."body-parser-1.19.2"
       sources."browser-hrtime-1.1.8"
       sources."browser-process-hrtime-1.0.0"
+      sources."buffer-from-1.1.2"
+      sources."busboy-0.2.14"
+      sources."bytes-3.1.2"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cli-cursor-3.1.0"
@@ -72731,6 +73120,19 @@ in
       sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
       sources."commander-7.2.0"
+      (sources."concat-stream-1.6.2" // {
+        dependencies = [
+          sources."isarray-1.0.0"
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."content-disposition-0.5.4"
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.2"
+      sources."cookie-signature-1.0.6"
+      sources."core-util-is-1.0.3"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -72738,38 +73140,63 @@ in
         ];
       })
       sources."data-urls-2.0.0"
-      sources."debug-4.3.3"
+      sources."debug-2.6.9"
       sources."decimal.js-10.3.1"
       sources."deep-is-0.1.4"
       sources."define-lazy-prop-2.0.0"
       sources."delayed-stream-1.0.0"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."dicer-0.2.5"
       (sources."domexception-2.0.1" // {
         dependencies = [
           sources."webidl-conversions-5.0.0"
         ];
       })
+      sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
+      sources."encodeurl-1.0.2"
+      sources."escape-html-1.0.3"
       sources."escape-string-regexp-1.0.5"
       sources."escodegen-2.0.0"
       sources."esprima-4.0.1"
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
+      sources."etag-1.8.1"
+      sources."express-4.17.3"
       sources."external-editor-3.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."figures-3.2.0"
+      sources."finalhandler-1.1.2"
       sources."form-data-4.0.0"
+      sources."forwarded-0.2.0"
+      sources."fresh-0.5.2"
       sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
       sources."html-encoding-sniffer-2.0.1"
-      sources."http-proxy-agent-4.0.1"
-      sources."https-proxy-agent-5.0.0"
+      sources."http-errors-1.8.1"
+      (sources."http-proxy-agent-4.0.1" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      (sources."https-proxy-agent-5.0.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."iconv-lite-0.4.24"
+      sources."inherits-2.0.4"
       sources."inquirer-8.0.0"
+      sources."ipaddr.js-1.9.1"
       sources."is-docker-2.2.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-potential-custom-element-name-1.0.1"
       sources."is-promise-2.2.2"
       sources."is-wsl-2.2.0"
+      sources."isarray-0.0.1"
       (sources."jsdom-16.7.0" // {
         dependencies = [
           sources."form-data-3.0.1"
@@ -72779,11 +73206,19 @@ in
       sources."lodash-4.17.21"
       sources."lowdb-1.0.0"
       sources."lunr-2.3.9"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
-      sources."ms-2.1.2"
+      sources."minimist-1.2.5"
+      sources."mkdirp-0.5.5"
+      sources."ms-2.0.0"
+      sources."multer-1.4.4"
       sources."mute-stream-0.0.8"
+      sources."negotiator-0.6.3"
       (sources."node-fetch-2.6.7" // {
         dependencies = [
           sources."tr46-0.0.3"
@@ -72793,25 +73228,48 @@ in
       })
       sources."node-forge-0.10.0"
       sources."nwsapi-2.2.0"
+      sources."object-assign-4.1.1"
+      sources."on-finished-2.3.0"
       sources."onetime-5.1.2"
       sources."open-8.4.0"
       sources."optionator-0.8.3"
       sources."os-tmpdir-1.0.2"
       sources."papaparse-5.3.1"
       sources."parse5-6.0.1"
+      sources."parseurl-1.3.3"
+      sources."path-to-regexp-0.1.7"
       sources."pify-3.0.0"
       sources."prelude-ls-1.1.2"
+      sources."process-nextick-args-2.0.1"
+      sources."proper-lockfile-4.1.2"
+      sources."proxy-addr-2.0.7"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
+      sources."qs-6.9.7"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.3"
+      sources."readable-stream-1.1.14"
       sources."restore-cursor-3.1.0"
+      sources."retry-0.12.0"
       sources."run-async-2.4.1"
       sources."rxjs-6.6.7"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."saxes-5.0.1"
-      sources."signal-exit-3.0.6"
+      (sources."send-0.17.2" // {
+        dependencies = [
+          sources."ms-2.1.3"
+        ];
+      })
+      sources."serve-static-1.14.2"
+      sources."setprototypeof-1.2.0"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
+      sources."statuses-1.5.0"
       sources."steno-0.4.4"
+      sources."streamsearch-0.1.2"
       sources."string-width-4.2.3"
+      sources."string_decoder-0.10.31"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
       sources."symbol-tree-3.2.4"
@@ -72822,12 +73280,19 @@ in
         ];
       })
       sources."tmp-0.0.33"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-2.1.0"
       sources."tslib-1.14.1"
       sources."type-check-0.3.2"
       sources."type-fest-0.21.3"
+      sources."type-is-1.6.18"
+      sources."typedarray-0.0.6"
       sources."universalify-0.1.2"
+      sources."unpipe-1.0.0"
+      sources."util-deprecate-1.0.2"
+      sources."utils-merge-1.0.1"
+      sources."vary-1.1.2"
       sources."w3c-hr-time-1.0.2"
       sources."w3c-xmlserializer-2.0.0"
       sources."webidl-conversions-6.1.0"
@@ -72835,9 +73300,10 @@ in
       sources."whatwg-mimetype-2.3.0"
       sources."whatwg-url-8.7.0"
       sources."word-wrap-1.2.3"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
+      sources."xtend-4.0.2"
       sources."zxcvbn-4.4.2"
     ];
     buildInputs = globalBuildInputs;
@@ -72853,10 +73319,10 @@ in
   "@commitlint/cli" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_cli";
     packageName = "@commitlint/cli";
-    version = "16.1.0";
+    version = "16.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-16.1.0.tgz";
-      sha512 = "x5L1knvA3isRWBRVQx+Q6D45pA9139a2aZQYpxkljMG0dj4UHZkCnsYWpnGalxPxASI7nrI0KedKfS2YeQ55cQ==";
+      url = "https://registry.npmjs.org/@commitlint/cli/-/cli-16.2.1.tgz";
+      sha512 = "zfKf+B9osuiDbxGMJ7bWFv7XFCW8wlQYPtCffNp7Ukdb7mdrep5R9e03vPUZysnwp8NX6hg05kPEvnD/wRIGWw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -72871,20 +73337,20 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@commitlint/config-validator-16.1.0"
-      sources."@commitlint/ensure-16.0.0"
-      sources."@commitlint/execute-rule-16.0.0"
-      sources."@commitlint/format-16.0.0"
-      sources."@commitlint/is-ignored-16.0.0"
-      sources."@commitlint/lint-16.0.0"
-      sources."@commitlint/load-16.1.0"
-      sources."@commitlint/message-16.0.0"
-      sources."@commitlint/parse-16.0.0"
-      sources."@commitlint/read-16.0.0"
-      sources."@commitlint/resolve-extends-16.1.0"
-      sources."@commitlint/rules-16.0.0"
-      sources."@commitlint/to-lines-16.0.0"
-      (sources."@commitlint/top-level-16.0.0" // {
+      sources."@commitlint/config-validator-16.2.1"
+      sources."@commitlint/ensure-16.2.1"
+      sources."@commitlint/execute-rule-16.2.1"
+      sources."@commitlint/format-16.2.1"
+      sources."@commitlint/is-ignored-16.2.1"
+      sources."@commitlint/lint-16.2.1"
+      sources."@commitlint/load-16.2.1"
+      sources."@commitlint/message-16.2.1"
+      sources."@commitlint/parse-16.2.1"
+      sources."@commitlint/read-16.2.1"
+      sources."@commitlint/resolve-extends-16.2.1"
+      sources."@commitlint/rules-16.2.1"
+      sources."@commitlint/to-lines-16.2.1"
+      (sources."@commitlint/top-level-16.2.1" // {
         dependencies = [
           sources."find-up-5.0.0"
           sources."locate-path-6.0.0"
@@ -72892,7 +73358,7 @@ in
           sources."p-locate-5.0.0"
         ];
       })
-      sources."@commitlint/types-16.0.0"
+      sources."@commitlint/types-16.2.1"
       sources."@cspotcode/source-map-consumer-0.8.0"
       sources."@cspotcode/source-map-support-0.7.0"
       sources."@tsconfig/node10-1.0.8"
@@ -72900,6 +73366,7 @@ in
       sources."@tsconfig/node14-1.0.1"
       sources."@tsconfig/node16-1.0.2"
       sources."@types/minimist-1.2.2"
+      sources."@types/node-17.0.18"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."JSONStream-1.3.5"
@@ -72922,7 +73389,7 @@ in
       sources."conventional-changelog-angular-5.0.13"
       sources."conventional-commits-parser-3.2.4"
       sources."cosmiconfig-7.0.1"
-      sources."cosmiconfig-typescript-loader-1.0.3"
+      sources."cosmiconfig-typescript-loader-1.0.5"
       sources."create-require-1.1.1"
       sources."cross-spawn-7.0.3"
       sources."dargs-7.0.0"
@@ -73025,7 +73492,7 @@ in
       sources."semver-7.3.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -73042,12 +73509,13 @@ in
       sources."through-2.3.8"
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
-      sources."ts-node-10.4.0"
+      sources."ts-node-10.5.0"
       sources."type-fest-0.18.1"
       sources."typescript-4.5.5"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
+      sources."v8-compile-cache-lib-3.0.0"
       sources."validate-npm-package-license-3.0.4"
       sources."which-2.0.2"
       sources."wrap-ansi-7.0.0"
@@ -73076,10 +73544,10 @@ in
   "@commitlint/config-conventional" = nodeEnv.buildNodePackage {
     name = "_at_commitlint_slash_config-conventional";
     packageName = "@commitlint/config-conventional";
-    version = "16.0.0";
+    version = "16.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.0.0.tgz";
-      sha512 = "mN7J8KlKFn0kROd+q9PB01sfDx/8K/R25yITspL1No8PB4oj9M1p77xWjP80hPydqZG9OvQq+anXK3ZWeR7s3g==";
+      url = "https://registry.npmjs.org/@commitlint/config-conventional/-/config-conventional-16.2.1.tgz";
+      sha512 = "cP9gArx7gnaj4IqmtCIcHdRjTYdRUi6lmGE+lOzGGjGe45qGOS8nyQQNvkNy2Ey2VqoSWuXXkD8zCUh6EHf1Ww==";
     };
     dependencies = [
       sources."array-ify-1.0.0"
@@ -73100,6 +73568,300 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@google/clasp" = nodeEnv.buildNodePackage {
+    name = "_at_google_slash_clasp";
+    packageName = "@google/clasp";
+    version = "2.4.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@google/clasp/-/clasp-2.4.1.tgz";
+      sha512 = "csjufiygKXa845N04Mp8DWxHx2GiGp2RviuKAvvanC/+NoU4Fmxo9aLKATpC7XL5mNSYqy+VhTikFTZEP2u9Kg==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      (sources."@babel/highlight-7.16.10" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."@sindresorhus/is-4.4.0"
+      sources."@szmarczak/http-timer-4.0.6"
+      sources."@types/cacheable-request-6.0.2"
+      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/keyv-3.1.3"
+      sources."@types/minimatch-3.0.5"
+      sources."@types/node-17.0.18"
+      sources."@types/normalize-package-data-2.4.1"
+      sources."@types/responselike-1.0.0"
+      sources."abort-controller-3.0.0"
+      sources."agent-base-6.0.2"
+      sources."aggregate-error-3.1.0"
+      sources."ansi-escapes-4.3.2"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-4.3.0"
+      sources."anymatch-3.1.2"
+      sources."array-differ-3.0.0"
+      sources."array-find-index-1.0.2"
+      sources."array-union-2.1.0"
+      sources."arrify-2.0.1"
+      sources."astral-regex-2.0.0"
+      sources."balanced-match-1.0.2"
+      sources."base64-js-1.5.1"
+      sources."bignumber.js-9.0.2"
+      sources."binary-extensions-2.2.0"
+      sources."bl-4.1.0"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
+      sources."buffer-5.7.1"
+      sources."buffer-equal-constant-time-1.0.1"
+      sources."cacheable-lookup-5.0.4"
+      sources."cacheable-request-7.0.2"
+      sources."call-bind-1.0.2"
+      sources."chalk-4.1.2"
+      sources."chardet-0.7.0"
+      sources."chokidar-3.5.3"
+      sources."clean-stack-2.2.0"
+      sources."cli-cursor-3.1.0"
+      sources."cli-spinners-2.6.1"
+      sources."cli-truncate-2.1.0"
+      sources."cli-width-3.0.0"
+      sources."clone-1.0.4"
+      sources."clone-response-1.0.2"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."commander-7.2.0"
+      sources."concat-map-0.0.1"
+      sources."currently-unhandled-0.4.1"
+      sources."debounce-1.2.1"
+      sources."debug-4.3.3"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
+      sources."defaults-1.0.3"
+      sources."defer-to-connect-2.0.1"
+      sources."define-lazy-prop-2.0.0"
+      sources."dotf-2.0.2"
+      sources."ecdsa-sig-formatter-1.0.11"
+      sources."emoji-regex-8.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."error-ex-1.3.2"
+      sources."escape-string-regexp-1.0.5"
+      sources."event-target-shim-5.0.1"
+      sources."extend-3.0.2"
+      sources."external-editor-3.1.0"
+      sources."fast-text-encoding-1.0.3"
+      sources."figures-3.2.0"
+      sources."fill-range-7.0.1"
+      sources."find-up-5.0.0"
+      sources."fs-extra-10.0.0"
+      sources."fsevents-2.3.2"
+      sources."function-bind-1.1.1"
+      sources."fuzzy-0.1.3"
+      sources."gaxios-4.3.2"
+      sources."gcp-metadata-4.3.1"
+      sources."get-intrinsic-1.1.1"
+      sources."get-stream-5.2.0"
+      sources."glob-parent-5.1.2"
+      sources."google-auth-library-7.13.0"
+      sources."google-p12-pem-3.1.3"
+      sources."googleapis-76.0.0"
+      sources."googleapis-common-5.0.5"
+      sources."got-11.8.3"
+      sources."graceful-fs-4.2.9"
+      sources."gtoken-5.3.2"
+      sources."has-1.0.3"
+      sources."has-flag-4.0.0"
+      sources."has-symbols-1.0.2"
+      sources."hosted-git-info-4.1.0"
+      sources."http-cache-semantics-4.1.0"
+      sources."http2-wrapper-1.0.3"
+      sources."https-proxy-agent-5.0.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.2.1"
+      sources."indent-string-4.0.0"
+      sources."inherits-2.0.4"
+      sources."inquirer-8.2.0"
+      (sources."inquirer-autocomplete-prompt-ipt-2.0.0" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."rxjs-6.6.7"
+          sources."supports-color-5.5.0"
+          sources."tslib-1.14.1"
+        ];
+      })
+      sources."is-arrayish-0.2.1"
+      sources."is-binary-path-2.1.0"
+      sources."is-core-module-2.8.1"
+      sources."is-docker-2.2.1"
+      sources."is-extglob-2.1.1"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-glob-4.0.3"
+      sources."is-interactive-1.0.0"
+      sources."is-number-7.0.0"
+      sources."is-port-reachable-3.1.0"
+      sources."is-reachable-5.1.1"
+      sources."is-stream-2.0.1"
+      sources."is-unicode-supported-1.1.0"
+      sources."is-wsl-2.2.0"
+      sources."js-tokens-4.0.0"
+      sources."json-bigint-1.0.0"
+      sources."json-buffer-3.0.1"
+      sources."json-parse-even-better-errors-2.3.1"
+      sources."jsonfile-6.1.0"
+      sources."jwa-2.0.0"
+      sources."jws-4.0.0"
+      sources."keyv-4.1.1"
+      sources."lines-and-columns-1.2.4"
+      sources."locate-path-6.0.0"
+      sources."lodash-4.17.21"
+      (sources."log-symbols-5.1.0" // {
+        dependencies = [
+          sources."chalk-5.0.0"
+        ];
+      })
+      sources."loud-rejection-2.2.0"
+      sources."lowercase-keys-2.0.0"
+      sources."lru-cache-6.0.0"
+      sources."make-dir-3.1.0"
+      sources."mimic-fn-2.1.0"
+      sources."mimic-response-1.0.1"
+      sources."minimatch-3.1.2"
+      sources."ms-2.1.2"
+      sources."multimatch-5.0.0"
+      sources."mute-stream-0.0.8"
+      sources."node-fetch-2.6.7"
+      sources."node-forge-1.2.1"
+      sources."normalize-newline-4.1.0"
+      (sources."normalize-package-data-3.0.3" // {
+        dependencies = [
+          sources."semver-7.3.5"
+        ];
+      })
+      sources."normalize-path-3.0.0"
+      sources."normalize-url-6.1.0"
+      sources."object-inspect-1.12.0"
+      sources."once-1.4.0"
+      sources."onetime-5.1.2"
+      sources."open-8.4.0"
+      (sources."ora-5.4.1" // {
+        dependencies = [
+          sources."is-unicode-supported-0.1.0"
+          sources."log-symbols-4.1.0"
+        ];
+      })
+      sources."os-tmpdir-1.0.2"
+      sources."p-any-3.0.0"
+      sources."p-cancelable-2.1.1"
+      sources."p-finally-1.0.0"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
+      (sources."p-map-5.3.0" // {
+        dependencies = [
+          sources."aggregate-error-4.0.0"
+          sources."clean-stack-4.1.0"
+          sources."escape-string-regexp-5.0.0"
+          sources."indent-string-5.0.0"
+        ];
+      })
+      sources."p-some-5.0.0"
+      sources."p-timeout-3.2.0"
+      sources."parse-json-5.2.0"
+      sources."path-exists-4.0.0"
+      sources."picomatch-2.3.1"
+      sources."prepend-http-3.0.1"
+      sources."pump-3.0.0"
+      sources."qs-6.10.3"
+      sources."querystringify-2.2.0"
+      sources."quick-lru-5.1.1"
+      (sources."read-pkg-6.0.0" // {
+        dependencies = [
+          sources."type-fest-1.4.0"
+        ];
+      })
+      (sources."read-pkg-up-8.0.0" // {
+        dependencies = [
+          sources."type-fest-1.4.0"
+        ];
+      })
+      sources."readable-stream-3.6.0"
+      sources."readdirp-3.6.0"
+      (sources."recursive-readdir-2.2.2" // {
+        dependencies = [
+          sources."minimatch-3.0.4"
+        ];
+      })
+      sources."replace-buffer-1.2.1"
+      sources."requires-port-1.0.0"
+      sources."resolve-alpn-1.2.1"
+      sources."responselike-2.0.0"
+      sources."restore-cursor-3.1.0"
+      sources."router-ips-1.0.0"
+      sources."run-async-2.4.1"
+      sources."rxjs-7.5.4"
+      sources."safe-buffer-5.2.1"
+      sources."safer-buffer-2.1.2"
+      sources."semver-6.3.0"
+      sources."server-destroy-1.0.1"
+      sources."side-channel-1.0.4"
+      sources."signal-exit-3.0.7"
+      sources."slice-ansi-3.0.0"
+      sources."spdx-correct-3.1.1"
+      sources."spdx-exceptions-2.3.0"
+      sources."spdx-expression-parse-3.0.1"
+      sources."spdx-license-ids-3.0.11"
+      sources."split-lines-3.0.0"
+      sources."string-width-4.2.3"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.1"
+      sources."strip-bom-5.0.0"
+      sources."supports-color-7.2.0"
+      sources."through-2.3.8"
+      sources."tmp-0.0.33"
+      sources."to-regex-range-5.0.1"
+      sources."tr46-0.0.3"
+      (sources."ts2gas-4.2.0" // {
+        dependencies = [
+          sources."type-fest-2.12.0"
+        ];
+      })
+      sources."tslib-2.3.1"
+      sources."type-fest-0.21.3"
+      sources."typescript-4.5.5"
+      sources."universalify-2.0.0"
+      sources."url-parse-1.5.9"
+      sources."url-template-2.0.8"
+      sources."util-deprecate-1.0.2"
+      sources."uuid-8.3.2"
+      sources."validate-npm-package-license-3.0.4"
+      sources."wcwidth-1.0.1"
+      sources."webidl-conversions-3.0.1"
+      sources."whatwg-url-5.0.0"
+      sources."wrappy-1.0.2"
+      sources."wtfnode-0.8.4"
+      sources."yallist-4.0.0"
+      sources."yocto-queue-0.1.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "Develop Apps Script Projects locally";
+      homepage = "https://github.com/google/clasp#readme";
+      license = "Apache-2.0";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@hyperspace/cli" = nodeEnv.buildNodePackage {
     name = "_at_hyperspace_slash_cli";
     packageName = "@hyperspace/cli";
@@ -73109,7 +73871,7 @@ in
       sha512 = "YWis7dhbGR5LkGYj7rV3BA/gUusfuugze3LIQUeoggPdF2rdeOZXewSPUydM3UBfsptt0qyw0bPQS+fKT0KDVw==";
     };
     dependencies = [
-      sources."@corestore/networker-1.2.0"
+      sources."@corestore/networker-1.2.1"
       sources."@hyperspace/client-1.18.0"
       sources."@hyperspace/migration-tool-1.2.1"
       sources."@hyperspace/rpc-1.15.1"
@@ -73118,9 +73880,11 @@ in
       sources."@hyperswarm/hypersign-2.1.1"
       sources."@hyperswarm/network-2.1.0"
       sources."@leichtgewicht/ip-codec-2.0.3"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."abstract-extension-3.1.1"
       sources."abstract-leveldown-6.2.3"
+      sources."acorn-8.7.0"
+      sources."acorn-walk-8.2.0"
       (sources."ansi-diff-stream-1.2.1" // {
         dependencies = [
           sources."through2-2.0.5"
@@ -73161,7 +73925,7 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."call-me-maybe-1.0.1"
       sources."chacha20-universal-1.0.4"
       sources."chalk-1.1.3"
@@ -73203,6 +73967,7 @@ in
       sources."es6-promise-4.2.8"
       sources."es6-promisify-5.0.0"
       sources."escape-string-regexp-1.0.5"
+      sources."events-3.3.0"
       sources."execa-0.4.0"
       sources."fast-bitfield-1.2.2"
       sources."fast-fifo-1.1.0"
@@ -73354,14 +74119,14 @@ in
       sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
       sources."random-access-memory-3.1.4"
-      sources."random-access-storage-1.4.2"
+      sources."random-access-storage-1.4.3"
       sources."random-words-1.1.2"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
       sources."reachdown-1.1.0"
       sources."readable-stream-2.3.7"
       sources."readdirp-3.6.0"
-      sources."record-cache-1.1.1"
+      sources."record-cache-1.2.0"
       sources."refpool-1.2.2"
       sources."remove-trailing-separator-1.1.0"
       sources."resolve-1.22.0"
@@ -73378,15 +74143,15 @@ in
       sources."simple-message-channels-1.2.1"
       sources."siphash24-1.3.0"
       sources."siphash24-universal-1.0.0"
-      sources."sodium-javascript-0.7.4"
+      sources."sodium-javascript-0.8.0"
       sources."sodium-native-3.3.0"
-      sources."sodium-universal-3.0.4"
+      sources."sodium-universal-3.1.0"
       sources."sparse-bitfield-3.0.3"
       sources."speedometer-1.1.0"
       sources."stream-collector-1.0.1"
       sources."stream-equal-1.1.1"
       sources."stream-shift-1.0.1"
-      sources."streamx-2.12.0"
+      sources."streamx-2.12.2"
       (sources."string-width-4.2.3" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
@@ -73440,7 +74205,7 @@ in
         ];
       })
       sources."varint-5.0.0"
-      sources."vm2-3.9.5"
+      sources."vm2-3.9.8"
       sources."which-1.3.1"
       (sources."wrap-ansi-7.0.0" // {
         dependencies = [
@@ -73476,30 +74241,30 @@ in
       sha512 = "7EpRhhrJqICbMGjLkdthQYLLGMXNCsrsq8/xxYX1cdRiNwoGb84yjL1WFBrnQtaM8rXShOvhf4lrM2W0K9m4lQ==";
     };
     dependencies = [
-      sources."@babel/parser-7.16.12"
-      sources."@medable/mdctl-api-1.0.62"
-      sources."@medable/mdctl-core-1.0.62"
-      sources."@medable/mdctl-core-schemas-1.0.62"
-      sources."@medable/mdctl-core-utils-1.0.60"
-      sources."@medable/mdctl-credentials-provider-keychain-1.0.62"
-      sources."@medable/mdctl-credentials-provider-pouchdb-1.0.62"
-      sources."@medable/mdctl-docs-1.0.60"
-      sources."@medable/mdctl-export-adapter-console-1.0.60"
-      (sources."@medable/mdctl-export-adapter-tree-1.0.62" // {
+      sources."@babel/parser-7.17.3"
+      sources."@medable/mdctl-api-1.0.63"
+      sources."@medable/mdctl-core-1.0.63"
+      sources."@medable/mdctl-core-schemas-1.0.63"
+      sources."@medable/mdctl-core-utils-1.0.63"
+      sources."@medable/mdctl-credentials-provider-keychain-1.0.63"
+      sources."@medable/mdctl-credentials-provider-pouchdb-1.0.63"
+      sources."@medable/mdctl-docs-1.0.63"
+      sources."@medable/mdctl-export-adapter-console-1.0.63"
+      (sources."@medable/mdctl-export-adapter-tree-1.0.63" // {
         dependencies = [
           sources."glob-7.2.0"
           sources."globby-10.0.2"
         ];
       })
-      sources."@medable/mdctl-import-adapter-1.0.62"
-      (sources."@medable/mdctl-manifest-1.0.62" // {
+      sources."@medable/mdctl-import-adapter-1.0.63"
+      (sources."@medable/mdctl-manifest-1.0.63" // {
         dependencies = [
           sources."pluralize-8.0.0"
         ];
       })
-      sources."@medable/mdctl-node-utils-1.0.62"
-      sources."@medable/mdctl-sandbox-1.0.62"
-      sources."@medable/mdctl-secrets-1.0.60"
+      sources."@medable/mdctl-node-utils-1.0.63"
+      sources."@medable/mdctl-sandbox-1.0.63"
+      sources."@medable/mdctl-secrets-1.0.63"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
@@ -73509,7 +74274,7 @@ in
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/tough-cookie-2.3.8"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
@@ -73730,7 +74495,7 @@ in
       })
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."for-in-1.0.2"
       sources."foreach-2.0.5"
       sources."forever-agent-0.6.1"
@@ -73815,7 +74580,7 @@ in
       sources."ignore-5.2.0"
       sources."ignore-walk-3.0.4"
       sources."immediate-3.0.6"
-      sources."inflection-1.13.1"
+      sources."inflection-1.13.2"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
@@ -73866,7 +74631,7 @@ in
       })
       sources."js2xmlparser-4.0.2"
       sources."jsbn-0.1.1"
-      (sources."jsdoc-3.6.9" // {
+      (sources."jsdoc-3.6.10" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."strip-json-comments-3.1.1"
@@ -73912,7 +74677,7 @@ in
       sources."map-visit-1.0.0"
       sources."markdown-it-12.3.2"
       sources."markdown-it-anchor-8.4.1"
-      sources."marked-4.0.10"
+      sources."marked-4.0.12"
       sources."md5.js-1.3.5"
       sources."mdurl-1.0.1"
       (sources."mem-4.3.0" // {
@@ -73927,7 +74692,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
@@ -74188,9 +74953,9 @@ in
           sources."glob-7.2.0"
         ];
       })
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-2.8.1"
+      sources."simple-get-2.8.2"
       sources."slash-3.0.0"
       sources."slugify-1.6.5"
       (sources."snapdragon-0.8.2" // {
@@ -74310,7 +75075,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uc.micro-1.0.6"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."underscore-1.13.2"
       sources."union-value-1.0.1"
       (sources."universal-url-2.0.0" // {
@@ -74354,7 +75119,7 @@ in
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
       sources."which-module-2.0.0"
-      sources."which-pm-runs-1.0.0"
+      sources."which-pm-runs-1.1.0"
       sources."wide-align-1.1.5"
       sources."word-wrap-1.2.3"
       sources."wordwrap-1.0.0"
@@ -74446,7 +75211,7 @@ in
       sources."is-plain-object-5.0.0"
       sources."is-unicode-supported-0.1.0"
       sources."isexe-2.0.0"
-      sources."joi-17.5.0"
+      sources."joi-17.6.0"
       sources."js-yaml-3.14.1"
       sources."jsonfile-6.1.0"
       sources."lodash-4.17.21"
@@ -74466,7 +75231,7 @@ in
       sources."readable-stream-3.6.0"
       sources."restore-cursor-3.1.0"
       sources."safe-buffer-5.2.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-git-2.48.0"
       sources."sprintf-js-1.0.3"
       sources."string_decoder-1.3.0"
@@ -74497,19 +75262,19 @@ in
   "@nestjs/cli" = nodeEnv.buildNodePackage {
     name = "_at_nestjs_slash_cli";
     packageName = "@nestjs/cli";
-    version = "8.2.0";
+    version = "8.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.0.tgz";
-      sha512 = "f5grQOgrRcfHfOUP94OWsMdVYy6bit0zRSxPZ5+tfsFWkiPWdcx5Ba2M2socTykkiNHruXBu07lYvcKh94do7Q==";
+      url = "https://registry.npmjs.org/@nestjs/cli/-/cli-8.2.1.tgz";
+      sha512 = "GnwpORSIkGl6N6yWPONq1wwZ8+zltr3vF1M/2qzupDnXOAvSSCh1otDQRAmeOf3uIIeCiCsJEEx79kRnT7Zdrw==";
     };
     dependencies = [
-      sources."@angular-devkit/core-13.1.2"
-      sources."@angular-devkit/schematics-13.1.2"
-      (sources."@angular-devkit/schematics-cli-13.1.2" // {
+      sources."@angular-devkit/core-13.2.3"
+      sources."@angular-devkit/schematics-13.2.3"
+      (sources."@angular-devkit/schematics-cli-13.2.3" // {
         dependencies = [
           sources."chalk-4.1.2"
           sources."inquirer-8.2.0"
-          sources."rxjs-7.5.2"
+          sources."rxjs-7.5.4"
           sources."tslib-2.3.1"
         ];
       })
@@ -74525,11 +75290,10 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      (sources."@nestjs/schematics-8.0.5" // {
+      (sources."@nestjs/schematics-8.0.6" // {
         dependencies = [
-          sources."@angular-devkit/core-13.0.2"
-          sources."@angular-devkit/schematics-13.0.2"
-          sources."ajv-8.6.3"
+          sources."@angular-devkit/core-13.2.2"
+          sources."@angular-devkit/schematics-13.2.2"
         ];
       })
       sources."@types/eslint-8.4.1"
@@ -74537,7 +75301,7 @@ in
       sources."@types/estree-0.0.50"
       sources."@types/json-schema-7.0.9"
       sources."@types/json5-0.0.29"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/parse-json-4.0.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
@@ -74558,7 +75322,7 @@ in
       sources."@xtuc/long-4.2.2"
       sources."acorn-8.7.0"
       sources."acorn-import-assertions-1.8.0"
-      sources."ajv-8.8.2"
+      sources."ajv-8.9.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-3.5.2"
       sources."ansi-colors-4.1.1"
@@ -74573,14 +75337,14 @@ in
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."callsites-3.1.0"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-3.0.0"
       sources."chardet-0.7.0"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."chrome-trace-event-1.0.3"
       sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.6.1"
@@ -74596,10 +75360,10 @@ in
       sources."cross-spawn-7.0.3"
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      (sources."enhanced-resolve-5.8.3" // {
+      (sources."enhanced-resolve-5.9.0" // {
         dependencies = [
           sources."tapable-2.2.1"
         ];
@@ -74663,7 +75427,7 @@ in
       sources."is-stream-2.0.1"
       sources."is-unicode-supported-0.1.0"
       sources."isexe-2.0.0"
-      (sources."jest-worker-27.4.6" // {
+      (sources."jest-worker-27.5.1" // {
         dependencies = [
           sources."supports-color-8.1.1"
         ];
@@ -74691,12 +75455,12 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mute-stream-0.0.8"
       sources."neo-async-2.6.2"
       sources."node-emoji-1.11.0"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."once-1.4.0"
@@ -74743,7 +75507,7 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."shelljs-0.8.5"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.7.3"
       (sources."source-map-support-0.5.21" // {
         dependencies = [
@@ -74765,7 +75529,7 @@ in
           sources."commander-2.20.3"
         ];
       })
-      (sources."terser-webpack-plugin-5.3.0" // {
+      (sources."terser-webpack-plugin-5.3.1" // {
         dependencies = [
           sources."ajv-6.12.6"
           sources."json-schema-traverse-0.4.1"
@@ -74785,7 +75549,7 @@ in
       })
       sources."tslib-1.14.1"
       sources."type-fest-0.21.3"
-      sources."typescript-4.5.4"
+      sources."typescript-4.5.5"
       sources."universalify-2.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
@@ -74826,7 +75590,7 @@ in
       sha512 = "uMnUWMx4S8UApO/EfPyRyvUmw+0jI9wwAfdHfGjvVg4DAIvEgsA+VWK2KOBnJiChvVd768K27g09ESzptyX93w==";
     };
     dependencies = [
-      sources."@squoosh/lib-0.4.0"
+      sources."@squoosh/lib-0.4.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."base64-js-1.5.1"
@@ -74855,7 +75619,7 @@ in
       sources."readable-stream-3.6.0"
       sources."restore-cursor-3.1.0"
       sources."safe-buffer-5.2.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
@@ -74874,6 +75638,45 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@tailwindcss/aspect-ratio" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_aspect-ratio";
+    packageName = "@tailwindcss/aspect-ratio";
+    version = "0.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/aspect-ratio/-/aspect-ratio-0.4.0.tgz";
+      sha512 = "WJu0I4PpqNPuutpaA9zDUq2JXR+lorZ7PbLcKNLmb6GL9/HLfC7w3CRsMhJF4BbYd/lkY6CfXOvkYpuGnZfkpQ==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A plugin that provides a composable API for giving elements a fixed aspect ratio.";
+      homepage = "https://github.com/tailwindlabs/tailwindcss-aspect-ratio#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "@tailwindcss/forms" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_forms";
+    packageName = "@tailwindcss/forms";
+    version = "0.4.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.4.0.tgz";
+      sha512 = "DeaQBx6EgEeuZPQACvC+mKneJsD8am1uiJugjgQK1+/Vt+Ai0GpFBC2T2fqnUad71WgOxyrZPE6BG1VaI6YqfQ==";
+    };
+    dependencies = [
+      sources."mini-svg-data-uri-1.4.3"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A plugin that provides a basic reset for form styles that makes form elements easy to override with utilities.";
+      homepage = "https://github.com/tailwindlabs/tailwindcss-forms#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@tailwindcss/language-server" = nodeEnv.buildNodePackage {
     name = "_at_tailwindcss_slash_language-server";
     packageName = "@tailwindcss/language-server";
@@ -74891,16 +75694,361 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  "@tailwindcss/line-clamp" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_line-clamp";
+    packageName = "@tailwindcss/line-clamp";
+    version = "0.3.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/line-clamp/-/line-clamp-0.3.1.tgz";
+      sha512 = "pNr0T8LAc3TUx/gxCfQZRe9NB2dPEo/cedPHzUGIPxqDMhgjwNm6jYxww4W5l0zAsAddxr+XfZcqttGiFDgrGg==";
+    };
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A plugin that provides utilities for visually truncating text after a fixed number of lines.";
+      homepage = "https://github.com/tailwindlabs/tailwindcss-line-clamp#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "@tailwindcss/typography" = nodeEnv.buildNodePackage {
+    name = "_at_tailwindcss_slash_typography";
+    packageName = "@tailwindcss/typography";
+    version = "0.5.2";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@tailwindcss/typography/-/typography-0.5.2.tgz";
+      sha512 = "coq8DBABRPFcVhVIk6IbKyyHUt7YTEC/C992tatFB+yEx5WGBQrCgsSFjxHUr8AWXphWckadVJbominEduYBqw==";
+    };
+    dependencies = [
+      sources."lodash.castarray-4.4.0"
+      sources."lodash.isplainobject-4.0.6"
+      sources."lodash.merge-4.6.2"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A Tailwind CSS plugin for automatically styling plain HTML content with beautiful typographic defaults.";
+      homepage = "https://github.com/tailwindcss/typography#readme";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
+  "@uppy/companion" = nodeEnv.buildNodePackage {
+    name = "_at_uppy_slash_companion";
+    packageName = "@uppy/companion";
+    version = "3.3.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/@uppy/companion/-/companion-3.3.0.tgz";
+      sha512 = "/TF95YAYNcuuyfxuYDm+82ployEafonT8MDP5oVZr1zdqRGjyrAiOfAWiCjONPWVKVa/mp6Jj8WPgnzLzuA13Q==";
+    };
+    dependencies = [
+      sources."@purest/config-1.0.1"
+      sources."@purest/providers-1.0.1"
+      sources."@request/api-0.6.0"
+      sources."@request/interface-0.1.0"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
+      sources."ajv-6.12.6"
+      sources."ansi-styles-3.2.1"
+      sources."array-flatten-1.1.1"
+      sources."asn1-0.2.6"
+      sources."assert-plus-1.0.0"
+      sources."async-limiter-1.0.1"
+      sources."asynckit-0.4.0"
+      sources."atob-2.1.2"
+      (sources."aws-sdk-2.1077.0" // {
+        dependencies = [
+          sources."uuid-3.3.2"
+        ];
+      })
+      sources."aws-sign2-0.7.0"
+      sources."aws4-1.11.0"
+      sources."base64-js-1.5.1"
+      sources."basic-auth-2.0.1"
+      sources."bcrypt-pbkdf-1.0.2"
+      sources."bintrees-1.0.1"
+      sources."body-parser-1.19.0"
+      sources."buffer-4.9.2"
+      sources."buffer-equal-constant-time-1.0.1"
+      sources."buffer-from-0.1.2"
+      sources."bytes-3.1.0"
+      sources."call-bind-1.0.2"
+      sources."caseless-0.12.0"
+      (sources."chalk-2.4.2" // {
+        dependencies = [
+          sources."escape-string-regexp-1.0.5"
+        ];
+      })
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."combine-errors-3.0.3"
+      sources."combined-stream-1.0.8"
+      sources."common-tags-1.8.0"
+      sources."connect-redis-4.0.3"
+      sources."content-disposition-0.5.3"
+      sources."content-type-1.0.4"
+      sources."cookie-0.4.1"
+      sources."cookie-parser-1.4.6"
+      sources."cookie-signature-1.0.6"
+      sources."core-util-is-1.0.2"
+      sources."cors-2.8.5"
+      sources."cron-parser-2.18.0"
+      sources."custom-error-instance-2.1.1"
+      sources."dashdash-1.14.1"
+      (sources."debug-2.6.9" // {
+        dependencies = [
+          sources."ms-2.0.0"
+        ];
+      })
+      sources."deep-copy-1.4.2"
+      sources."define-properties-1.1.3"
+      sources."delayed-stream-1.0.0"
+      sources."denque-1.5.1"
+      sources."depd-1.1.2"
+      sources."destroy-1.0.4"
+      sources."double-ended-queue-2.1.0-0"
+      sources."ecc-jsbn-0.1.2"
+      sources."ecdsa-sig-formatter-1.0.11"
+      sources."ee-first-1.1.1"
+      sources."encodeurl-1.0.2"
+      sources."escape-goat-3.0.0"
+      sources."escape-html-1.0.3"
+      sources."escape-string-regexp-2.0.0"
+      sources."etag-1.8.1"
+      sources."events-1.1.1"
+      (sources."express-4.17.1" // {
+        dependencies = [
+          sources."cookie-0.4.0"
+        ];
+      })
+      sources."express-interceptor-1.2.0"
+      sources."express-prom-bundle-6.3.0"
+      (sources."express-request-id-1.4.1" // {
+        dependencies = [
+          sources."uuid-3.4.0"
+        ];
+      })
+      (sources."express-session-1.17.1" // {
+        dependencies = [
+          sources."cookie-0.4.0"
+          sources."depd-2.0.0"
+          sources."safe-buffer-5.2.0"
+        ];
+      })
+      sources."extend-3.0.2"
+      sources."extsprintf-1.3.0"
+      sources."fast-deep-equal-3.1.3"
+      sources."fast-json-stable-stringify-2.1.0"
+      sources."finalhandler-1.1.2"
+      sources."forever-agent-0.6.1"
+      sources."form-data-2.3.3"
+      sources."forwarded-0.2.0"
+      sources."fresh-0.5.2"
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
+      sources."getpass-0.1.7"
+      sources."graceful-fs-4.2.9"
+      (sources."grant-4.7.0" // {
+        dependencies = [
+          sources."qs-6.10.3"
+        ];
+      })
+      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."helmet-4.6.0"
+      sources."http-errors-1.7.2"
+      sources."http-signature-1.2.0"
+      sources."iconv-lite-0.4.24"
+      sources."ieee754-1.1.13"
+      sources."inherits-2.0.3"
+      sources."ipaddr.js-2.0.1"
+      sources."is-nan-1.3.2"
+      sources."is-typedarray-1.0.0"
+      sources."isarray-1.0.0"
+      sources."isobject-3.0.1"
+      sources."isstream-0.1.2"
+      sources."jmespath-0.16.0"
+      sources."js-base64-2.6.4"
+      sources."jsbn-0.1.1"
+      sources."json-schema-0.4.0"
+      sources."json-schema-traverse-0.4.1"
+      sources."json-stringify-safe-5.0.1"
+      (sources."jsonwebtoken-8.5.1" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."jsprim-1.4.2"
+      sources."jwa-1.4.1"
+      sources."jws-3.2.2"
+      sources."lodash._baseiteratee-4.7.0"
+      sources."lodash._basetostring-4.12.0"
+      sources."lodash._baseuniq-4.6.0"
+      sources."lodash._createset-4.0.3"
+      sources."lodash._root-3.0.1"
+      sources."lodash._stringtopath-4.8.0"
+      sources."lodash.includes-4.3.0"
+      sources."lodash.isboolean-3.0.3"
+      sources."lodash.isinteger-4.0.4"
+      sources."lodash.isnumber-3.0.3"
+      sources."lodash.isplainobject-4.0.6"
+      sources."lodash.isstring-4.0.1"
+      sources."lodash.merge-4.6.2"
+      sources."lodash.once-4.1.1"
+      sources."lodash.throttle-4.1.1"
+      sources."lodash.uniqby-4.5.0"
+      sources."long-timeout-0.1.1"
+      sources."media-typer-0.3.0"
+      sources."merge-descriptors-1.0.1"
+      sources."methods-1.1.2"
+      sources."mime-1.6.0"
+      sources."mime-db-1.51.0"
+      (sources."mime-types-2.1.25" // {
+        dependencies = [
+          sources."mime-db-1.42.0"
+        ];
+      })
+      sources."moment-2.29.1"
+      sources."moment-timezone-0.5.34"
+      (sources."morgan-1.10.0" // {
+        dependencies = [
+          sources."depd-2.0.0"
+        ];
+      })
+      sources."ms-2.1.2"
+      sources."negotiator-0.6.3"
+      (sources."node-redis-pubsub-4.0.0" // {
+        dependencies = [
+          sources."redis-2.8.0"
+        ];
+      })
+      sources."node-schedule-1.3.2"
+      sources."oauth-sign-0.8.2"
+      sources."object-assign-4.1.1"
+      sources."object-inspect-1.12.0"
+      sources."object-keys-1.1.1"
+      sources."on-finished-2.3.0"
+      sources."on-headers-1.0.2"
+      sources."parseurl-1.3.3"
+      sources."path-to-regexp-0.1.7"
+      sources."performance-now-2.1.0"
+      sources."prom-client-12.0.0"
+      sources."proper-lockfile-2.0.1"
+      (sources."proxy-addr-2.0.7" // {
+        dependencies = [
+          sources."ipaddr.js-1.9.1"
+        ];
+      })
+      sources."psl-1.8.0"
+      sources."punycode-1.3.2"
+      sources."purest-3.1.0"
+      sources."qs-6.7.0"
+      sources."querystring-0.2.0"
+      sources."querystringify-2.2.0"
+      sources."random-bytes-1.0.0"
+      sources."randombytes-2.1.0"
+      sources."range-parser-1.2.1"
+      sources."raw-body-2.4.0"
+      (sources."redis-3.1.1" // {
+        dependencies = [
+          sources."redis-parser-3.0.0"
+        ];
+      })
+      sources."redis-commands-1.7.0"
+      sources."redis-errors-1.2.0"
+      sources."redis-parser-2.6.0"
+      (sources."request-2.88.2" // {
+        dependencies = [
+          sources."oauth-sign-0.9.0"
+          sources."qs-6.5.3"
+          sources."uuid-3.4.0"
+        ];
+      })
+      sources."request-compose-1.2.3"
+      (sources."request-oauth-0.0.3" // {
+        dependencies = [
+          sources."uuid-3.4.0"
+        ];
+      })
+      sources."requires-port-1.0.0"
+      sources."retry-0.10.1"
+      sources."safe-buffer-5.1.2"
+      sources."safer-buffer-2.1.2"
+      sources."sax-1.2.1"
+      sources."semver-6.3.0"
+      (sources."send-0.17.1" // {
+        dependencies = [
+          sources."ms-2.1.1"
+        ];
+      })
+      sources."serialize-error-2.1.0"
+      sources."serialize-javascript-6.0.0"
+      sources."serve-static-1.14.1"
+      sources."setprototypeof-1.1.1"
+      sources."side-channel-1.0.4"
+      sources."sorted-array-functions-1.3.0"
+      sources."sshpk-1.17.0"
+      sources."statuses-1.5.0"
+      sources."supports-color-5.5.0"
+      sources."tdigest-0.1.1"
+      sources."toidentifier-1.0.0"
+      (sources."tough-cookie-2.5.0" // {
+        dependencies = [
+          sources."punycode-2.1.1"
+        ];
+      })
+      sources."tunnel-agent-0.6.0"
+      sources."tus-js-client-2.1.1"
+      sources."tweetnacl-0.14.5"
+      sources."type-is-1.6.18"
+      sources."uid-safe-2.1.5"
+      sources."unpipe-1.0.0"
+      (sources."uri-js-4.4.1" // {
+        dependencies = [
+          sources."punycode-2.1.1"
+        ];
+      })
+      sources."url-0.10.3"
+      sources."url-parse-1.5.9"
+      sources."url-value-parser-2.1.0"
+      sources."utils-merge-1.0.1"
+      sources."uuid-8.1.0"
+      sources."validator-12.2.0"
+      sources."vary-1.1.2"
+      sources."verror-1.10.0"
+      sources."ws-6.2.2"
+      sources."xml2js-0.4.19"
+      sources."xmlbuilder-9.0.7"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "OAuth helper and remote fetcher for Uppy's (https://uppy.io) extensible file upload widget with support for drag&drop, resumable uploads, previews, restrictions, file processing/encoding, remote providers like Dropbox and Google Drive, S3 and more :dog:";
+      homepage = "https://github.com/transloadit/uppy#readme";
+      license = "ISC";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   "@vue/cli" = nodeEnv.buildNodePackage {
     name = "_at_vue_slash_cli";
     packageName = "@vue/cli";
-    version = "4.5.15";
+    version = "5.0.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@vue/cli/-/cli-4.5.15.tgz";
-      sha512 = "7YkT/xf1RjowIad8JSyerT+XIyja7SXfsHfPNdktUeTx5XAmiJiGsXb7ydq3rVHekaPsIkE2wIAgaGBrnRdTIA==";
+      url = "https://registry.npmjs.org/@vue/cli/-/cli-5.0.1.tgz";
+      sha512 = "h+htWyKCxzIwBTAr+Ni0vHjLbMmrVcjeU4QVB3t/VcwPgvHIL+MpLIcGEFqzROi9mXNeyYqrxl6MZd1gLHUibQ==";
     };
     dependencies = [
       sources."@akryum/winattr-3.0.0"
+      sources."@ampproject/remapping-2.1.2"
       (sources."@apollo/protobufjs-1.2.2" // {
         dependencies = [
           sources."@types/node-10.17.60"
@@ -74910,15 +76058,31 @@ in
       sources."@apollographql/graphql-playground-html-1.6.27"
       sources."@apollographql/graphql-upload-8-fork-8.1.3"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      sources."@babel/core-7.16.12"
-      sources."@babel/generator-7.16.8"
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      (sources."@babel/generator-7.17.3" // {
+        dependencies = [
+          sources."source-map-0.5.7"
+        ];
+      })
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
-      sources."@babel/helper-compilation-targets-7.16.7"
-      sources."@babel/helper-create-class-features-plugin-7.16.10"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.7"
-      sources."@babel/helper-define-polyfill-provider-0.3.1"
+      (sources."@babel/helper-compilation-targets-7.16.7" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."@babel/helper-create-class-features-plugin-7.17.1"
+      sources."@babel/helper-create-regexp-features-plugin-7.17.0"
+      (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-explode-assignable-expression-7.16.7"
       sources."@babel/helper-function-name-7.16.7"
@@ -74937,9 +76101,18 @@ in
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.16.7"
-      sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/helpers-7.17.2"
+      (sources."@babel/highlight-7.16.10" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."@babel/parser-7.17.3"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -74951,7 +76124,7 @@ in
       sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
       sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
       sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
       sources."@babel/plugin-proposal-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-private-methods-7.16.11"
@@ -74979,7 +76152,7 @@ in
       sources."@babel/plugin-transform-block-scoping-7.16.7"
       sources."@babel/plugin-transform-classes-7.16.7"
       sources."@babel/plugin-transform-computed-properties-7.16.7"
-      sources."@babel/plugin-transform-destructuring-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
       sources."@babel/plugin-transform-dotall-regex-7.16.7"
       sources."@babel/plugin-transform-duplicate-keys-7.16.7"
       sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
@@ -75007,34 +76180,33 @@ in
       sources."@babel/plugin-transform-typescript-7.16.8"
       sources."@babel/plugin-transform-unicode-escapes-7.16.7"
       sources."@babel/plugin-transform-unicode-regex-7.16.7"
-      sources."@babel/preset-env-7.16.11"
+      (sources."@babel/preset-env-7.16.11" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
       sources."@babel/preset-flow-7.16.7"
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-typescript-7.16.7"
-      (sources."@babel/register-7.16.9" // {
+      (sources."@babel/register-7.17.0" // {
         dependencies = [
           sources."make-dir-2.1.0"
           sources."pify-4.0.1"
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/runtime-7.17.2"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
-      sources."@hapi/address-2.1.4"
-      sources."@hapi/bourne-1.3.2"
-      sources."@hapi/hoek-8.5.1"
-      sources."@hapi/joi-15.1.1"
-      sources."@hapi/topo-3.1.6"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
+      sources."@hapi/hoek-9.2.1"
+      sources."@hapi/topo-5.1.0"
       sources."@josephg/resolvable-1.0.1"
-      sources."@mrmlnc/readdir-enhanced-2.2.1"
-      (sources."@nodelib/fs.scandir-2.1.5" // {
-        dependencies = [
-          sources."@nodelib/fs.stat-2.0.5"
-        ];
-      })
-      sources."@nodelib/fs.stat-1.1.3"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
@@ -75046,6 +76218,9 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
+      sources."@sideway/address-4.1.3"
+      sources."@sideway/formula-3.0.0"
+      sources."@sideway/pinpoint-2.0.0"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/accepts-1.3.5"
       sources."@types/body-parser-1.19.0"
@@ -75053,19 +76228,17 @@ in
       sources."@types/content-disposition-0.5.4"
       sources."@types/cookies-0.7.7"
       sources."@types/cors-2.8.10"
-      sources."@types/ejs-2.7.0"
+      sources."@types/ejs-3.1.0"
       sources."@types/express-4.17.13"
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/fs-capacitor-2.0.0"
-      sources."@types/glob-7.2.0"
       sources."@types/http-assert-1.5.3"
       sources."@types/http-errors-1.8.2"
-      sources."@types/inquirer-6.5.0"
+      sources."@types/inquirer-8.2.0"
       (sources."@types/jscodeshift-0.7.2" // {
         dependencies = [
           sources."ast-types-0.12.1"
           sources."recast-0.17.2"
-          sources."source-map-0.6.1"
         ];
       })
       sources."@types/keygrip-1.0.2"
@@ -75073,92 +76246,88 @@ in
       sources."@types/koa-compose-3.2.5"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/serve-static-1.13.10"
       sources."@types/through-0.0.30"
       sources."@types/ws-7.4.7"
-      sources."@vue/cli-shared-utils-4.5.15"
-      (sources."@vue/cli-ui-4.5.15" // {
+      sources."@vue/cli-shared-utils-5.0.1"
+      (sources."@vue/cli-ui-5.0.1" // {
         dependencies = [
           sources."clone-2.1.2"
         ];
       })
-      sources."@vue/cli-ui-addon-webpack-4.5.15"
-      sources."@vue/cli-ui-addon-widgets-4.5.15"
-      (sources."@vue/compiler-core-3.2.29" // {
+      sources."@vue/cli-ui-addon-webpack-5.0.1"
+      sources."@vue/cli-ui-addon-widgets-5.0.1"
+      sources."@vue/compiler-core-3.2.31"
+      sources."@vue/compiler-dom-3.2.31"
+      sources."@vue/shared-3.2.31"
+      (sources."@wry/equality-0.1.11" // {
         dependencies = [
-          sources."source-map-0.6.1"
+          sources."tslib-1.14.1"
         ];
       })
-      sources."@vue/compiler-dom-3.2.29"
-      sources."@vue/shared-3.2.29"
-      sources."@wry/equality-0.1.11"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."aggregate-error-3.1.0"
-      sources."ajv-6.12.6"
       sources."ansi-align-3.0.1"
       (sources."ansi-escapes-4.3.2" // {
         dependencies = [
           sources."type-fest-0.21.3"
         ];
       })
-      sources."ansi-regex-4.1.0"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-4.3.0"
       sources."apollo-cache-control-0.14.0"
       sources."apollo-datasource-0.9.0"
       sources."apollo-graphql-0.9.5"
-      sources."apollo-link-1.2.14"
-      sources."apollo-reporting-protobuf-0.8.0"
-      (sources."apollo-server-caching-0.7.0" // {
+      (sources."apollo-link-1.2.14" // {
         dependencies = [
-          sources."lru-cache-6.0.0"
-        ];
-      })
-      (sources."apollo-server-core-2.25.3" // {
-        dependencies = [
-          sources."lru-cache-6.0.0"
-          sources."uuid-8.3.2"
+          sources."tslib-1.14.1"
         ];
       })
+      sources."apollo-reporting-protobuf-0.8.0"
+      sources."apollo-server-caching-0.7.0"
+      sources."apollo-server-core-2.25.3"
       sources."apollo-server-env-3.1.0"
       sources."apollo-server-errors-2.5.0"
       sources."apollo-server-express-2.25.3"
       sources."apollo-server-plugin-base-0.13.0"
       sources."apollo-server-types-0.9.0"
       sources."apollo-tracing-0.15.0"
-      sources."apollo-utilities-1.3.4"
+      (sources."apollo-utilities-1.3.4" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
       (sources."archive-type-4.0.0" // {
         dependencies = [
           sources."file-type-4.4.0"
         ];
       })
-      sources."argparse-1.0.10"
+      sources."argparse-2.0.1"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
       sources."arr-union-3.1.0"
       sources."array-flatten-1.1.1"
-      sources."array-union-1.0.2"
-      sources."array-uniq-1.0.3"
+      sources."array-union-2.1.0"
       sources."array-unique-0.3.2"
       sources."arrify-2.0.1"
-      sources."asn1-0.2.6"
-      sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
-      sources."ast-types-0.13.3"
+      sources."ast-types-0.14.2"
       sources."async-2.6.3"
       sources."async-retry-1.3.3"
-      sources."asynckit-0.4.0"
+      sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
       sources."babel-core-7.0.0-bridge.0"
       sources."babel-plugin-dynamic-import-node-2.3.3"
-      sources."babel-plugin-polyfill-corejs2-0.3.1"
-      sources."babel-plugin-polyfill-corejs3-0.5.1"
+      (sources."babel-plugin-polyfill-corejs2-0.3.1" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
       sources."babel-plugin-polyfill-regenerator-0.3.1"
       sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
@@ -75168,28 +76337,20 @@ in
         ];
       })
       sources."base64-js-1.5.1"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."bl-1.2.3"
-      (sources."body-parser-1.19.1" // {
+      sources."bl-4.1.0"
+      (sources."body-parser-1.19.2" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."qs-6.9.6"
         ];
       })
-      (sources."boxen-4.2.0" // {
+      (sources."boxen-5.1.2" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-3.0.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-          sources."type-fest-0.8.1"
+          sources."type-fest-0.20.2"
         ];
       })
       sources."brace-expansion-1.1.11"
-      sources."braces-2.3.2"
-      sources."browserslist-4.19.1"
+      sources."braces-3.0.2"
+      sources."browserslist-4.19.3"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -75198,7 +76359,7 @@ in
       sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
       sources."busboy-0.3.1"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."cache-base-1.0.1"
       (sources."cacheable-request-2.1.4" // {
         dependencies = [
@@ -75207,12 +76368,10 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."call-me-maybe-1.0.1"
-      sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001301"
-      sources."caseless-0.12.0"
+      sources."camelcase-6.3.0"
+      sources."caniuse-lite-1.0.30001312"
       sources."caw-2.0.1"
-      sources."chalk-2.4.2"
+      sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       (sources."class-utils-0.3.6" // {
         dependencies = [
@@ -75233,24 +76392,26 @@ in
       })
       sources."clean-stack-2.2.0"
       sources."cli-boxes-2.2.1"
-      sources."cli-cursor-2.1.0"
+      sources."cli-cursor-3.1.0"
       sources."cli-spinners-2.6.1"
       sources."cli-width-3.0.0"
       sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-deep-4.0.1"
       sources."clone-response-1.0.2"
-      sources."cmd-shim-3.0.3"
       sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."colors-1.4.0"
-      sources."combined-stream-1.0.8"
-      sources."commander-2.20.3"
+      sources."commander-7.2.0"
       sources."commondir-1.0.1"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
-      sources."config-chain-1.1.13"
+      (sources."config-chain-1.1.13" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
       (sources."convert-source-map-1.8.0" // {
@@ -75258,16 +76419,16 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.20.3" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
       })
-      sources."core-js-pure-3.20.3"
-      sources."core-util-is-1.0.2"
+      sources."core-js-pure-3.21.1"
+      sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
@@ -75275,8 +76436,6 @@ in
         ];
       })
       sources."cssfilter-0.0.10"
-      sources."csv-parser-1.12.1"
-      sources."dashdash-1.14.1"
       (sources."debug-4.3.3" // {
         dependencies = [
           sources."ms-2.1.2"
@@ -75313,14 +76472,14 @@ in
       })
       sources."deepmerge-4.2.2"
       sources."defaults-1.0.3"
+      sources."define-lazy-prop-2.0.0"
       sources."define-properties-1.1.3"
       sources."define-property-2.0.2"
-      sources."delayed-stream-1.0.0"
       sources."depd-1.1.2"
       sources."deprecated-decorator-0.1.6"
       sources."destroy-1.0.4"
       sources."dicer-0.3.0"
-      sources."dir-glob-2.2.2"
+      sources."dir-glob-3.0.1"
       (sources."download-7.1.0" // {
         dependencies = [
           sources."get-stream-3.0.0"
@@ -75329,10 +76488,9 @@ in
       sources."download-git-repo-3.0.2"
       sources."duplexer3-0.1.4"
       sources."easy-stack-1.0.1"
-      sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.51"
+      sources."ejs-3.1.6"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."end-of-stream-1.4.4"
@@ -75350,12 +76508,12 @@ in
       sources."etag-1.8.1"
       sources."event-pubsub-4.3.0"
       sources."eventemitter3-3.1.2"
-      sources."exec-sh-0.2.2"
       sources."execa-1.0.0"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
           (sources."is-accessor-descriptor-0.1.6" // {
             dependencies = [
               sources."kind-of-3.2.2"
@@ -75370,35 +76528,36 @@ in
           sources."kind-of-5.1.0"
         ];
       })
-      sources."expand-tilde-2.0.2"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
-          sources."qs-6.9.6"
         ];
       })
       sources."express-history-api-fallback-2.2.1"
       sources."ext-list-2.2.2"
       sources."ext-name-5.0.0"
-      sources."extend-3.0.2"
-      sources."extend-shallow-2.0.1"
+      (sources."extend-shallow-3.0.2" // {
+        dependencies = [
+          sources."is-extendable-1.0.1"
+        ];
+      })
       sources."external-editor-3.1.0"
       (sources."extglob-2.0.4" // {
         dependencies = [
           sources."define-property-1.0.0"
+          sources."extend-shallow-2.0.1"
         ];
       })
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
-      sources."fast-glob-2.2.7"
+      sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
       sources."fd-slicer-1.1.0"
       sources."figures-3.2.0"
       sources."file-type-8.1.0"
+      sources."filelist-1.0.2"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
-      sources."fill-range-4.0.0"
+      sources."fill-range-7.0.1"
       (sources."finalhandler-1.1.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -75406,31 +76565,50 @@ in
       })
       (sources."find-cache-dir-2.1.0" // {
         dependencies = [
+          sources."find-up-3.0.0"
+          sources."locate-path-3.0.0"
           sources."make-dir-2.1.0"
+          sources."p-limit-2.3.0"
+          sources."p-locate-3.0.0"
+          sources."path-exists-3.0.0"
           sources."pify-4.0.1"
+          sources."pkg-dir-3.0.0"
           sources."semver-5.7.1"
         ];
       })
-      sources."find-up-3.0.0"
-      sources."fkill-6.2.0"
-      sources."flow-parser-0.169.0"
+      sources."find-up-5.0.0"
+      (sources."fkill-7.2.1" // {
+        dependencies = [
+          sources."cross-spawn-7.0.3"
+          sources."execa-5.1.1"
+          sources."get-stream-6.0.1"
+          sources."is-stream-2.0.1"
+          sources."npm-run-path-4.0.1"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
+        ];
+      })
+      sources."flow-parser-0.172.0"
       sources."for-each-0.3.3"
       sources."for-in-1.0.2"
-      sources."forever-agent-0.6.1"
-      sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
       sources."fresh-0.5.2"
-      sources."from2-2.3.0"
+      (sources."from2-2.3.0" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       sources."fs-capacitor-2.0.4"
       sources."fs-constants-1.0.0"
-      sources."fs-exists-sync-0.1.0"
-      sources."fs-extra-7.0.1"
+      sources."fs-extra-9.1.0"
       sources."fs.realpath-1.0.0"
       sources."fswin-2.17.1227"
       sources."function-bind-1.1.1"
-      sources."generate-function-1.1.0"
-      sources."generate-object-property-1.2.0"
       sources."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -75438,47 +76616,37 @@ in
       sources."get-stream-4.1.0"
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
-      sources."getpass-0.1.7"
       sources."git-clone-0.1.0"
-      sources."git-config-path-1.0.1"
+      sources."git-config-path-2.0.0"
       sources."glob-7.2.0"
-      (sources."glob-parent-3.1.0" // {
+      sources."glob-parent-5.1.2"
+      (sources."global-dirs-0.1.1" // {
         dependencies = [
-          sources."is-glob-3.1.0"
+          sources."ini-1.3.8"
         ];
       })
-      sources."glob-to-regexp-0.3.0"
-      sources."global-dirs-0.1.1"
       sources."globals-11.12.0"
-      (sources."globby-9.2.0" // {
-        dependencies = [
-          sources."pify-4.0.1"
-          sources."slash-2.0.0"
-        ];
-      })
+      sources."globby-11.1.0"
       (sources."got-8.3.2" // {
         dependencies = [
           sources."get-stream-3.0.0"
-          sources."into-stream-3.1.0"
         ];
       })
       sources."graceful-fs-4.2.9"
-      sources."graphql-14.7.0"
+      sources."graphql-15.8.0"
       sources."graphql-extensions-0.15.0"
       sources."graphql-subscriptions-1.2.1"
-      (sources."graphql-tag-2.12.6" // {
+      sources."graphql-tag-2.12.6"
+      (sources."graphql-tools-4.0.8" // {
         dependencies = [
-          sources."tslib-2.3.1"
+          sources."uuid-3.4.0"
         ];
       })
-      sources."graphql-tools-4.0.8"
       sources."graphql-type-json-0.3.2"
       sources."growly-1.3.0"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
-      sources."has-flag-3.0.0"
+      sources."has-flag-4.0.0"
       sources."has-symbol-support-x-1.4.2"
       sources."has-symbols-1.0.2"
       sources."has-to-string-tag-x-1.4.1"
@@ -75486,40 +76654,30 @@ in
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
+          (sources."is-number-3.0.0" // {
+            dependencies = [
+              sources."kind-of-3.2.2"
+            ];
+          })
           sources."kind-of-4.0.0"
         ];
       })
-      sources."homedir-polyfill-1.0.3"
       sources."hosted-git-info-2.8.9"
       sources."http-cache-semantics-3.8.1"
       sources."http-errors-1.8.1"
-      sources."http-signature-1.2.0"
-      sources."human-signals-1.1.1"
+      sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
-      sources."ignore-4.0.6"
+      sources."ignore-5.2.0"
       sources."import-global-0.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      (sources."inquirer-7.3.3" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."cli-cursor-3.1.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."mimic-fn-2.1.0"
-          sources."onetime-5.1.2"
-          sources."restore-cursor-3.1.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
+      sources."ini-2.0.0"
+      sources."inquirer-8.2.0"
       sources."internal-slot-1.0.3"
-      sources."into-stream-2.0.1"
+      sources."into-stream-3.1.0"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arrayish-0.2.1"
@@ -75536,101 +76694,103 @@ in
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
+      sources."is-interactive-1.0.0"
       sources."is-natural-number-4.0.1"
       sources."is-negative-zero-2.0.2"
-      (sources."is-number-3.0.0" // {
-        dependencies = [
-          sources."kind-of-3.2.2"
-        ];
-      })
+      sources."is-number-7.0.0"
       sources."is-number-object-1.0.6"
       sources."is-object-1.0.2"
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-2.0.4"
       sources."is-promise-2.2.2"
-      sources."is-property-1.0.2"
       sources."is-regex-1.1.4"
       sources."is-retry-allowed-1.2.0"
       sources."is-shared-array-buffer-1.0.1"
       sources."is-stream-1.1.0"
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typedarray-1.0.0"
+      sources."is-unicode-supported-0.1.0"
       sources."is-weakref-1.0.2"
       sources."is-windows-1.0.2"
-      sources."is-wsl-1.1.0"
+      sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isbinaryfile-4.0.8"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."isstream-0.1.2"
       sources."isurl-1.0.0"
       sources."iterall-1.3.0"
-      sources."javascript-stringify-1.6.0"
+      (sources."jake-10.8.2" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."async-0.9.2"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."javascript-stringify-2.1.0"
+      sources."joi-17.6.0"
       sources."js-message-1.0.7"
       sources."js-queue-2.0.2"
       sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.1"
-      sources."jsbn-0.1.1"
+      sources."js-yaml-4.1.0"
       (sources."jscodeshift-0.11.0" // {
         dependencies = [
-          sources."ast-types-0.14.2"
-          sources."recast-0.20.5"
-          sources."source-map-0.6.1"
-          sources."tslib-2.3.1"
+          (sources."braces-2.3.2" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          (sources."fill-range-4.0.0" // {
+            dependencies = [
+              sources."extend-shallow-2.0.1"
+            ];
+          })
+          sources."is-number-3.0.0"
+          sources."kind-of-3.2.2"
+          sources."micromatch-3.1.10"
+          sources."to-regex-range-2.1.1"
         ];
       })
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.0"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
       sources."json5-2.2.0"
-      sources."jsonfile-4.0.0"
-      sources."jsprim-1.4.2"
+      sources."jsonfile-6.1.0"
       sources."keyv-3.0.0"
       sources."kind-of-6.0.3"
       sources."launch-editor-2.3.0"
       sources."leven-3.1.0"
       sources."lines-and-columns-1.2.4"
-      sources."locate-path-3.0.0"
+      sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
       sources."lodash.clonedeep-4.5.0"
       sources."lodash.debounce-4.0.8"
       sources."lodash.merge-4.6.2"
       sources."lodash.sortby-4.7.0"
-      sources."log-symbols-2.2.0"
+      sources."log-symbols-4.1.0"
       sources."loglevel-1.8.0"
       sources."long-4.0.0"
       sources."lowdb-1.0.0"
       sources."lowercase-keys-1.0.1"
-      (sources."lru-cache-5.1.1" // {
-        dependencies = [
-          sources."yallist-3.1.1"
-        ];
-      })
+      sources."lru-cache-6.0.0"
       sources."make-dir-1.3.0"
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."media-typer-0.3.0"
-      sources."merge-1.2.1"
       sources."merge-descriptors-1.0.1"
       sources."merge-stream-2.0.0"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
-      (sources."micromatch-3.1.10" // {
-        dependencies = [
-          sources."extend-shallow-3.0.2"
-          sources."is-extendable-1.0.1"
-        ];
-      })
+      sources."micromatch-4.0.4"
       sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."mimic-fn-1.2.0"
+      sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -75641,34 +76801,19 @@ in
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       sources."nanoid-2.1.11"
-      (sources."nanomatch-1.2.13" // {
-        dependencies = [
-          sources."extend-shallow-3.0.2"
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      sources."ndjson-1.5.0"
-      (sources."neat-csv-2.1.0" // {
-        dependencies = [
-          sources."get-stream-2.3.1"
-        ];
-      })
-      sources."negotiator-0.6.2"
+      sources."nanomatch-1.2.13"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."nice-try-1.0.5"
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.7"
       sources."node-ipc-9.2.1"
-      (sources."node-notifier-9.0.1" // {
+      (sources."node-notifier-10.0.1" // {
         dependencies = [
-          sources."is-wsl-2.2.0"
-          sources."lru-cache-6.0.0"
-          sources."semver-7.3.5"
-          sources."uuid-8.3.2"
           sources."which-2.0.2"
         ];
       })
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -75681,7 +76826,6 @@ in
       })
       sources."npm-conf-1.1.3"
       sources."npm-run-path-2.0.2"
-      sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -75705,52 +76849,53 @@ in
       sources."object.pick-1.3.0"
       sources."on-finished-2.3.0"
       sources."once-1.4.0"
-      sources."onetime-2.0.1"
-      sources."open-6.4.0"
-      (sources."ora-3.4.0" // {
-        dependencies = [
-          sources."strip-ansi-5.2.0"
-        ];
-      })
+      sources."onetime-5.1.2"
+      sources."open-8.4.0"
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
       sources."p-cancelable-0.4.1"
       sources."p-event-2.3.1"
       sources."p-finally-1.0.0"
       sources."p-is-promise-1.1.0"
-      sources."p-limit-2.3.0"
-      sources."p-locate-3.0.0"
+      sources."p-limit-3.1.0"
+      sources."p-locate-5.0.0"
       sources."p-timeout-2.0.1"
       sources."p-try-2.2.0"
-      sources."parse-git-config-2.0.3"
+      (sources."parse-git-config-3.0.0" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
       sources."parse-json-5.2.0"
-      sources."parse-passwd-1.0.0"
       sources."parseurl-1.3.3"
       sources."pascalcase-0.1.1"
-      sources."path-dirname-1.0.2"
-      sources."path-exists-3.0.0"
+      sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
       sources."path-parse-1.0.7"
       sources."path-to-regexp-0.1.7"
-      sources."path-type-3.0.0"
+      sources."path-type-4.0.0"
       sources."pend-1.2.0"
-      sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      (sources."pid-from-port-1.1.3" // {
+      (sources."pid-port-0.1.1" // {
         dependencies = [
-          sources."cross-spawn-5.1.0"
-          sources."execa-0.9.0"
-          sources."get-stream-3.0.0"
-          sources."lru-cache-4.1.5"
-          sources."yallist-2.1.2"
+          sources."cross-spawn-7.0.3"
+          sources."execa-5.1.1"
+          sources."get-stream-6.0.1"
+          sources."is-stream-2.0.1"
+          sources."npm-run-path-4.0.1"
+          sources."path-key-3.1.1"
+          sources."shebang-command-2.0.0"
+          sources."shebang-regex-3.0.0"
+          sources."which-2.0.2"
         ];
       })
       sources."pify-3.0.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."pirates-4.0.4"
-      sources."pkg-dir-3.0.0"
+      sources."pirates-4.0.5"
+      sources."pkg-dir-5.0.0"
       (sources."portfinder-1.0.28" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -75759,58 +76904,45 @@ in
       })
       sources."posix-character-classes-0.1.1"
       sources."prepend-http-2.0.0"
-      sources."prismjs-1.26.0"
+      sources."prismjs-1.27.0"
       sources."private-0.1.8"
-      sources."process-exists-3.1.0"
+      (sources."process-exists-4.1.0" // {
+        dependencies = [
+          sources."ps-list-6.3.0"
+        ];
+      })
       sources."process-nextick-args-2.0.1"
       sources."proto-list-1.2.4"
       sources."proxy-addr-2.0.7"
-      sources."ps-list-4.1.0"
-      sources."pseudomap-1.0.2"
-      sources."psl-1.8.0"
+      sources."ps-list-7.2.0"
       sources."pump-3.0.0"
-      sources."punycode-2.1.1"
-      sources."qs-6.5.3"
+      sources."qs-6.9.7"
       sources."query-string-5.1.1"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."read-pkg-5.2.0"
-      (sources."readable-stream-2.3.7" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      (sources."recast-0.18.10" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."readable-stream-3.6.0"
+      sources."recast-0.20.5"
       sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-9.0.0"
+      sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
-      (sources."regex-not-1.0.2" // {
-        dependencies = [
-          sources."extend-shallow-3.0.2"
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      sources."regexpu-core-4.8.0"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.7.0" // {
+      sources."regex-not-1.0.2"
+      sources."regexpu-core-5.0.1"
+      sources."regjsgen-0.6.0"
+      (sources."regjsparser-0.8.4" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
       })
       sources."repeat-element-1.1.4"
       sources."repeat-string-1.6.1"
-      sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."resolve-1.22.0"
       sources."resolve-url-0.2.1"
       sources."responselike-1.0.2"
-      sources."restore-cursor-2.0.0"
+      sources."restore-cursor-3.1.0"
       sources."ret-0.1.15"
       sources."retry-0.13.1"
       sources."reusify-1.0.4"
@@ -75818,14 +76950,17 @@ in
       sources."rss-parser-3.12.0"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-6.6.7"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."sec-1.0.0"
-      sources."seek-bzip-1.0.6"
-      sources."semver-6.3.0"
+      (sources."seek-bzip-1.0.6" // {
+        dependencies = [
+          sources."commander-2.20.3"
+        ];
+      })
+      sources."semver-7.3.5"
       (sources."send-0.17.2" // {
         dependencies = [
           (sources."debug-2.6.9" // {
@@ -75837,7 +76972,11 @@ in
         ];
       })
       sources."serve-static-1.14.2"
-      sources."set-value-2.0.1"
+      (sources."set-value-2.0.1" // {
+        dependencies = [
+          sources."extend-shallow-2.0.1"
+        ];
+      })
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
       sources."shallow-clone-3.0.1"
@@ -75847,12 +76986,13 @@ in
       sources."shellwords-0.1.1"
       sources."shortid-2.2.16"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."define-property-0.2.5"
+          sources."extend-shallow-2.0.1"
           (sources."is-accessor-descriptor-0.1.6" // {
             dependencies = [
               sources."kind-of-3.2.2"
@@ -75865,6 +77005,7 @@ in
           })
           sources."is-descriptor-0.1.6"
           sources."kind-of-5.1.0"
+          sources."source-map-0.5.7"
         ];
       })
       (sources."snapdragon-node-2.1.1" // {
@@ -75879,27 +77020,16 @@ in
       })
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
-      sources."source-map-0.5.7"
+      sources."source-map-0.6.1"
       sources."source-map-resolve-0.5.3"
-      (sources."source-map-support-0.5.21" // {
-        dependencies = [
-          sources."source-map-0.6.1"
-        ];
-      })
+      sources."source-map-support-0.5.21"
       sources."source-map-url-0.4.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
       sources."spdx-license-ids-3.0.11"
-      (sources."split-string-3.1.0" // {
-        dependencies = [
-          sources."extend-shallow-3.0.2"
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      sources."split2-2.2.0"
+      sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.17.0"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -75924,34 +77054,32 @@ in
       sources."string-width-4.2.3"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
-      (sources."string_decoder-1.1.1" // {
-        dependencies = [
-          sources."safe-buffer-5.1.2"
-        ];
-      })
-      (sources."strip-ansi-6.0.1" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-        ];
-      })
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.1"
       sources."strip-dirs-2.1.0"
       sources."strip-eof-1.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-outer-1.0.1"
       sources."subscriptions-transport-ws-0.9.19"
-      sources."supports-color-5.5.0"
+      sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-observable-1.2.0"
-      sources."tar-stream-1.6.2"
+      (sources."tar-stream-1.6.2" // {
+        dependencies = [
+          sources."bl-1.2.3"
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
       (sources."taskkill-3.1.0" // {
         dependencies = [
           sources."cross-spawn-7.0.3"
           sources."execa-3.4.0"
           sources."get-stream-5.2.0"
+          sources."human-signals-1.1.1"
           sources."is-stream-2.0.1"
-          sources."mimic-fn-2.1.0"
           sources."npm-run-path-4.0.1"
-          sources."onetime-5.1.2"
           sources."p-finally-2.0.1"
           sources."path-key-3.1.1"
           sources."shebang-command-2.0.0"
@@ -75959,19 +77087,12 @@ in
           sources."which-2.0.2"
         ];
       })
-      (sources."tasklist-3.1.1" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
       (sources."temp-0.8.4" // {
         dependencies = [
           sources."rimraf-2.6.3"
         ];
       })
-      sources."term-size-2.2.1"
       sources."through-2.3.8"
-      sources."through2-2.0.5"
       sources."timed-out-4.0.1"
       sources."tmp-0.0.33"
       sources."to-buffer-1.1.1"
@@ -75981,24 +77102,21 @@ in
           sources."kind-of-3.2.2"
         ];
       })
-      (sources."to-regex-3.0.2" // {
-        dependencies = [
-          sources."extend-shallow-3.0.2"
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      sources."to-regex-range-2.1.1"
+      sources."to-regex-3.0.2"
+      sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
-      sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."trim-repeated-1.0.0"
-      sources."ts-invariant-0.4.4"
-      sources."tslib-1.14.1"
+      (sources."ts-invariant-0.4.4" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
+      sources."tslib-2.3.1"
       sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
       sources."type-fest-0.6.0"
       sources."type-is-1.6.18"
-      sources."typescript-4.1.6"
+      sources."typescript-4.5.5"
       sources."unbox-primitive-1.0.1"
       sources."unbzip2-stream-1.4.3"
       sources."unicode-canonical-property-names-ecmascript-2.0.0"
@@ -76006,7 +77124,7 @@ in
       sources."unicode-match-property-value-ecmascript-2.0.0"
       sources."unicode-property-aliases-ecmascript-2.0.0"
       sources."union-value-1.0.1"
-      sources."universalify-0.1.2"
+      sources."universalify-2.0.0"
       sources."unpipe-1.0.0"
       (sources."unset-value-1.0.0" // {
         dependencies = [
@@ -76018,7 +77136,6 @@ in
           sources."has-values-0.1.4"
         ];
       })
-      sources."uri-js-4.4.1"
       sources."urix-0.1.0"
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
@@ -76026,64 +77143,55 @@ in
       sources."util-deprecate-1.0.2"
       sources."util.promisify-1.1.1"
       sources."utils-merge-1.0.1"
-      sources."uuid-3.4.0"
+      sources."uuid-8.3.2"
       sources."validate-npm-package-license-3.0.4"
       sources."validate-npm-package-name-3.0.0"
       sources."vary-1.1.2"
-      sources."verror-1.10.0"
       sources."vue-2.6.14"
       (sources."vue-codemod-0.0.5" // {
         dependencies = [
-          sources."@nodelib/fs.stat-2.0.5"
-          sources."array-union-2.1.0"
-          sources."braces-3.0.2"
-          sources."dir-glob-3.0.1"
-          sources."fast-glob-3.2.11"
-          sources."fill-range-7.0.1"
-          sources."glob-parent-5.1.2"
-          sources."globby-11.1.0"
-          sources."ignore-5.2.0"
-          sources."is-number-7.0.0"
-          sources."lru-cache-6.0.0"
-          sources."micromatch-4.0.4"
-          sources."path-type-4.0.0"
-          sources."source-map-0.6.1"
-          sources."to-regex-range-5.0.1"
+          sources."inquirer-7.3.3"
+          sources."rxjs-6.6.7"
+          sources."tslib-1.14.1"
         ];
       })
-      sources."watch-1.0.2"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
       sources."which-boxed-primitive-1.0.2"
       sources."widest-line-3.1.0"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
-      sources."xss-1.0.10"
+      (sources."xss-1.0.10" // {
+        dependencies = [
+          sources."commander-2.20.3"
+        ];
+      })
       sources."xtend-4.0.2"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      (sources."yaml-front-matter-3.4.1" // {
+      (sources."yaml-front-matter-4.1.1" // {
         dependencies = [
-          sources."commander-1.0.0"
+          sources."argparse-1.0.10"
+          sources."commander-6.2.1"
+          sources."js-yaml-3.14.1"
         ];
       })
       sources."yargs-16.2.0"
       sources."yargs-parser-20.2.9"
       sources."yauzl-2.10.0"
+      sources."yocto-queue-0.1.0"
       sources."zen-observable-0.8.15"
-      sources."zen-observable-ts-0.8.21"
+      (sources."zen-observable-ts-0.8.21" // {
+        dependencies = [
+          sources."tslib-1.14.1"
+        ];
+      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -76220,12 +77328,12 @@ in
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/generator-7.16.8"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/types-7.16.8"
+      sources."@babel/types-7.17.0"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -76307,7 +77415,7 @@ in
       sources."@types/acorn-4.0.6"
       sources."@types/concat-stream-1.6.1"
       sources."@types/debug-4.1.7"
-      sources."@types/estree-0.0.50"
+      sources."@types/estree-0.0.51"
       sources."@types/estree-jsx-0.0.1"
       sources."@types/hast-2.3.4"
       sources."@types/is-empty-1.2.1"
@@ -76316,7 +77424,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/ms-0.7.31"
       sources."@types/nlcst-1.0.0"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse5-6.0.3"
       sources."@types/supports-color-8.1.1"
@@ -76354,7 +77462,7 @@ in
         ];
       })
       sources."camelcase-6.3.0"
-      sources."camelcase-keys-7.0.1"
+      sources."camelcase-keys-7.0.2"
       sources."ccount-2.0.1"
       sources."chalk-2.4.2"
       sources."character-entities-2.0.1"
@@ -76517,15 +77625,15 @@ in
       sources."mdast-util-frontmatter-1.0.0"
       sources."mdast-util-gfm-2.0.0"
       sources."mdast-util-gfm-autolink-literal-1.0.2"
-      sources."mdast-util-gfm-footnote-1.0.0"
-      sources."mdast-util-gfm-strikethrough-1.0.0"
-      sources."mdast-util-gfm-table-1.0.2"
-      sources."mdast-util-gfm-task-list-item-1.0.0"
+      sources."mdast-util-gfm-footnote-1.0.1"
+      sources."mdast-util-gfm-strikethrough-1.0.1"
+      sources."mdast-util-gfm-table-1.0.3"
+      sources."mdast-util-gfm-task-list-item-1.0.1"
       sources."mdast-util-mdx-1.1.0"
-      sources."mdast-util-mdx-expression-1.1.1"
+      sources."mdast-util-mdx-expression-1.2.0"
       sources."mdast-util-mdx-jsx-1.2.0"
-      sources."mdast-util-mdxjs-esm-1.1.1"
-      sources."mdast-util-to-markdown-1.2.6"
+      sources."mdast-util-mdxjs-esm-1.2.0"
+      sources."mdast-util-to-markdown-1.3.0"
       sources."mdast-util-to-nlcst-5.2.1"
       sources."mdast-util-to-string-3.1.0"
       sources."meow-10.1.2"
@@ -76540,13 +77648,13 @@ in
       sources."micromark-extension-gfm-tagfilter-1.0.1"
       sources."micromark-extension-gfm-task-list-item-1.0.3"
       sources."micromark-extension-mdx-expression-1.0.3"
-      sources."micromark-extension-mdx-jsx-1.0.2"
+      sources."micromark-extension-mdx-jsx-1.0.3"
       sources."micromark-extension-mdx-md-1.0.0"
       sources."micromark-extension-mdxjs-1.0.0"
       sources."micromark-extension-mdxjs-esm-1.0.2"
       sources."micromark-factory-destination-1.0.0"
       sources."micromark-factory-label-1.0.2"
-      sources."micromark-factory-mdx-expression-1.0.5"
+      sources."micromark-factory-mdx-expression-1.0.6"
       sources."micromark-factory-space-1.0.0"
       sources."micromark-factory-title-1.0.2"
       sources."micromark-factory-whitespace-1.0.0"
@@ -76557,7 +77665,11 @@ in
       sources."micromark-util-decode-numeric-character-reference-1.0.0"
       sources."micromark-util-decode-string-1.0.2"
       sources."micromark-util-encode-1.0.1"
-      sources."micromark-util-events-to-acorn-1.0.4"
+      (sources."micromark-util-events-to-acorn-1.0.4" // {
+        dependencies = [
+          sources."@types/estree-0.0.50"
+        ];
+      })
       sources."micromark-util-html-tag-name-1.0.0"
       sources."micromark-util-normalize-identifier-1.0.0"
       sources."micromark-util-resolve-all-1.0.0"
@@ -76567,7 +77679,7 @@ in
       sources."micromark-util-types-1.0.2"
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."mri-1.2.0"
@@ -76621,7 +77733,7 @@ in
       sources."redent-4.0.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
-      sources."rehype-parse-8.0.3"
+      sources."rehype-parse-8.0.4"
       sources."rehype-retext-3.0.2"
       sources."remark-frontmatter-4.0.1"
       sources."remark-gfm-3.0.1"
@@ -76641,7 +77753,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sliced-1.0.1"
       sources."space-separated-tokens-2.0.1"
       (sources."spawn-to-readstream-0.1.3" // {
@@ -76783,14 +77895,11 @@ in
       sha512 = "6Avt9pRA194Z/yN4hb7/6ZRhMtWLydsje2uP82b1VVFSBWwDlkswLTDFD0ngSEHlBSNR+bFnyOAGh+mpHQNYOQ==";
     };
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      (sources."@babel/core-7.16.12" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."@babel/generator-7.16.8" // {
+      sources."@babel/compat-data-7.17.0"
+      sources."@babel/core-7.17.5"
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
@@ -76806,21 +77915,24 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
-      sources."@xmldom/xmldom-0.8.0"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
+      sources."@xmldom/xmldom-0.8.1"
       sources."JSV-4.0.2"
       sources."ansi-styles-3.2.1"
       sources."array-unique-0.3.2"
       sources."async-3.2.3"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.19.1"
-      sources."caniuse-lite-1.0.30001301"
+      sources."browserslist-4.19.3"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-2.4.2"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
@@ -76830,7 +77942,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."debug-4.3.3"
       sources."ejs-3.1.6"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       sources."ensure-posix-path-1.1.1"
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
@@ -76872,11 +77984,11 @@ in
       sources."jsonlint-1.6.3"
       sources."lodash-4.17.21"
       sources."matcher-collection-1.1.2"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."ms-2.1.2"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."node.extend-2.0.2"
       (sources."nomnom-1.8.1" // {
         dependencies = [
@@ -76923,7 +78035,7 @@ in
       sha512 = "lqPoPSftBQyiIPFL2GNxvbHZrHTIL+iw9xhqwemUxB3ftcQRfpuWPE95MC1NSSFJ+dEAqtAkwh8tdNidK95yyQ==";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
@@ -76937,7 +78049,7 @@ in
       sources."aws4-1.11.0"
       sources."bcrypt-pbkdf-1.0.2"
       sources."bluebird-3.7.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."cache-content-type-1.0.1"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
@@ -76956,7 +78068,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-2.0.0"
-      sources."destroy-1.0.4"
+      sources."destroy-1.1.0"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
       sources."emoji-regex-8.0.0"
@@ -77030,7 +78142,7 @@ in
       sources."mime-types-2.1.34"
       sources."ms-2.1.2"
       sources."mz-2.7.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       (sources."node-ssdp-3.3.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -77079,7 +78191,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
       sources."uri-js-4.4.1"
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."uuid-3.4.0"
       sources."vary-1.1.2"
       sources."verror-1.10.0"
@@ -77116,7 +78228,7 @@ in
     dependencies = [
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."chromium-pickle-js-0.2.0"
@@ -77126,7 +78238,7 @@ in
       sources."glob-7.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
@@ -77161,7 +78273,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."isstream-0.1.2"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."once-1.4.0"
@@ -77200,12 +78312,12 @@ in
       sha512 = "9fOPpHKuDW1w/0EKfRmVnxTDt8166MAnLI3mgZ1JCnhNtYWxcJ6Ud5CO/AVOZi/AvFa8DY9RTy3h3+tFBlrrdQ==";
     };
     dependencies = [
-      sources."browserslist-4.19.1"
-      sources."caniuse-lite-1.0.30001301"
-      sources."electron-to-chromium-1.4.51"
+      sources."browserslist-4.19.3"
+      sources."caniuse-lite-1.0.30001312"
+      sources."electron-to-chromium-1.4.71"
       sources."escalade-3.1.1"
-      sources."fraction.js-4.1.2"
-      sources."node-releases-2.0.1"
+      sources."fraction.js-4.1.3"
+      sources."node-releases-2.0.2"
       sources."normalize-range-0.1.2"
       sources."picocolors-1.0.0"
       sources."postcss-value-parser-4.2.0"
@@ -77230,14 +78342,14 @@ in
     };
     dependencies = [
       sources."@tootallnate/once-1.1.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-escapes-4.3.2"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."ast-types-0.13.4"
-      (sources."aws-sdk-2.1062.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -77254,7 +78366,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."buffer-4.9.2"
       sources."buffer-crc32-0.2.13"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
       sources."cheerio-1.0.0-rc.10"
@@ -77336,7 +78448,7 @@ in
       sources."log-symbols-4.1.0"
       sources."lru-cache-5.1.1"
       sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
       sources."ms-2.1.2"
@@ -77372,19 +78484,19 @@ in
         ];
       })
       sources."querystring-0.2.0"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readable-stream-3.6.0"
       sources."restore-cursor-3.1.0"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.2"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
       sources."setprototypeof-1.2.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."statuses-1.5.0"
@@ -77461,7 +78573,7 @@ in
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/eslint-7.29.0"
-      sources."@types/estree-0.0.50"
+      sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.9"
       sources."@types/mdast-3.0.10"
       sources."@types/minimist-1.2.2"
@@ -77620,7 +78732,7 @@ in
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       (sources."minimist-options-4.1.0" // {
         dependencies = [
           sources."arrify-1.0.1"
@@ -77747,7 +78859,7 @@ in
       sources."semver-5.7.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."sliced-1.0.1"
       sources."spdx-correct-3.1.1"
@@ -77855,10 +78967,10 @@ in
   balanceofsatoshis = nodeEnv.buildNodePackage {
     name = "balanceofsatoshis";
     packageName = "balanceofsatoshis";
-    version = "11.33.0";
+    version = "11.53.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.33.0.tgz";
-      sha512 = "B0jG/bSjDBihGEpB4slDg/oxjOBbtmP91fOHTItfUuUTfNvGuWXMP707TlmqKlcCOq0rdzJWQD+3j+e2xD72HQ==";
+      url = "https://registry.npmjs.org/balanceofsatoshis/-/balanceofsatoshis-11.53.7.tgz";
+      sha512 = "ZvKd1pri9FOVt59imBWNLoY8GfP4Mld1Ci9SHFZF6VesRnkxYDvmnj+bNfCw9KDj/7EvkwlDM4PluN6YoDc67w==";
     };
     dependencies = [
       (sources."@alexbosworth/caporal-1.4.0" // {
@@ -77882,9 +78994,9 @@ in
           sources."string_decoder-1.3.0"
         ];
       })
-      sources."@grammyjs/types-2.5.1"
-      sources."@grpc/grpc-js-1.4.5"
-      sources."@grpc/proto-loader-0.6.7"
+      sources."@grammyjs/types-2.6.0"
+      sources."@grpc/grpc-js-1.5.4"
+      sources."@grpc/proto-loader-0.6.9"
       sources."@handsontable/formulajs-2.0.2"
       sources."@mitmaro/errors-1.0.0"
       sources."@mitmaro/http-authorization-header-1.0.0"
@@ -77907,16 +79019,22 @@ in
       sources."@types/express-serve-static-core-4.17.28"
       sources."@types/long-4.0.1"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
-      sources."@types/request-2.48.7"
+      sources."@types/request-2.48.8"
       sources."@types/serve-static-1.13.10"
       sources."@types/tough-cookie-4.0.1"
       sources."@types/ws-8.2.2"
       sources."abort-controller-3.0.0"
-      sources."accepts-1.3.7"
-      sources."ajv-8.9.0"
+      sources."accepts-1.3.8"
+      (sources."agent-base-6.0.2" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
+      sources."ajv-8.10.0"
       sources."ansi-0.3.1"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-1.4.0"
@@ -77959,7 +79077,7 @@ in
       sources."bolt01-1.2.3"
       sources."bolt03-1.2.13"
       sources."bolt07-1.8.0"
-      sources."bolt09-0.2.0"
+      sources."bolt09-0.2.1"
       (sources."boxen-5.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -77974,6 +79092,7 @@ in
       sources."buffer-5.7.1"
       sources."buffer-from-1.1.2"
       sources."bytes-3.1.1"
+      sources."cacheable-lookup-6.0.4"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -78007,9 +79126,13 @@ in
       sources."commander-6.2.1"
       sources."concat-stream-1.6.2"
       sources."configstore-5.0.1"
-      sources."content-disposition-0.5.3"
+      (sources."content-disposition-0.5.4" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.1"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
@@ -78048,16 +79171,9 @@ in
       sources."etag-1.8.1"
       sources."event-target-shim-5.0.1"
       sources."exit-hook-1.1.1"
-      (sources."express-4.17.1" // {
+      (sources."express-4.17.2" // {
         dependencies = [
-          sources."body-parser-1.19.0"
-          sources."bytes-3.1.0"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
-          sources."qs-6.7.0"
-          sources."raw-body-2.4.0"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
+          sources."safe-buffer-5.2.1"
         ];
       })
       sources."extend-3.0.2"
@@ -78075,22 +79191,15 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-stream-4.1.0"
       sources."global-dirs-3.0.0"
-      (sources."goldengate-11.0.0" // {
+      (sources."goldengate-11.0.1" // {
         dependencies = [
-          sources."async-3.2.2"
-          sources."asyncjs-util-1.2.7"
-          sources."bolt07-1.7.4"
-          (sources."invoices-2.0.2" // {
-            dependencies = [
-              sources."bitcoinjs-lib-6.0.0"
-            ];
-          })
-          sources."ln-service-53.2.0"
+          sources."invoices-2.0.3"
+          sources."ln-service-53.7.2"
         ];
       })
       sources."got-9.6.0"
       sources."graceful-fs-4.2.9"
-      (sources."grammy-1.6.2" // {
+      (sources."grammy-1.7.0" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -78138,12 +79247,8 @@ in
           sources."type-fest-0.21.3"
         ];
       })
-      (sources."invoices-2.0.3" // {
-        dependencies = [
-          sources."bolt09-0.2.1"
-          sources."secp256k1-4.0.3"
-        ];
-      })
+      sources."invoices-2.0.4"
+      sources."ip-1.1.5"
       sources."ipaddr.js-1.9.1"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-buffer-1.1.6"
@@ -78174,26 +79279,21 @@ in
       sources."keyv-3.1.0"
       sources."kind-of-6.0.3"
       sources."latest-version-5.1.0"
-      (sources."lightning-5.2.1" // {
+      (sources."lightning-5.6.1" // {
         dependencies = [
-          sources."@grpc/grpc-js-1.4.4"
-          sources."@types/node-16.11.12"
-          sources."async-3.2.2"
-          sources."asyncjs-util-1.2.7"
-          sources."body-parser-1.19.0"
-          sources."bolt07-1.7.4"
-          sources."bytes-3.1.0"
-          sources."http-errors-1.7.2"
-          sources."inherits-2.0.3"
-          (sources."invoices-2.0.2" // {
+          sources."@types/node-17.0.14"
+          sources."bech32-1.1.4"
+          sources."invoices-2.0.3"
+          (sources."psbt-1.1.11" // {
             dependencies = [
-              sources."bitcoinjs-lib-6.0.0"
+              sources."bitcoinjs-lib-5.2.0"
+            ];
+          })
+          (sources."tiny-secp256k1-1.1.6" // {
+            dependencies = [
+              sources."bn.js-4.12.0"
             ];
           })
-          sources."qs-6.7.0"
-          sources."raw-body-2.4.0"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
         ];
       })
       (sources."ln-accounting-5.0.5" // {
@@ -78201,9 +79301,11 @@ in
           sources."@grpc/grpc-js-1.4.4"
           sources."@grpc/proto-loader-0.6.6"
           sources."@types/node-16.11.7"
+          sources."@types/request-2.48.7"
           sources."@types/ws-8.2.0"
           sources."async-3.2.2"
           sources."asyncjs-util-1.2.7"
+          sources."bech32-1.1.4"
           sources."bitcoinjs-lib-6.0.0"
           sources."bn.js-4.12.0"
           sources."body-parser-1.19.0"
@@ -78212,18 +79314,24 @@ in
               sources."bn.js-5.2.0"
             ];
           })
+          sources."bolt09-0.2.0"
           sources."bytes-3.1.0"
+          sources."content-disposition-0.5.3"
+          sources."cookie-0.4.0"
           sources."ecpair-1.0.1"
+          sources."express-4.17.1"
           sources."goldengate-10.4.2"
           sources."http-errors-1.7.2"
           sources."inherits-2.0.3"
           (sources."invoices-2.0.2" // {
             dependencies = [
+              sources."bech32-2.0.0"
               sources."bn.js-5.2.0"
             ];
           })
           (sources."lightning-4.14.3" // {
             dependencies = [
+              sources."bech32-2.0.0"
               sources."bn.js-5.2.0"
               (sources."invoices-2.0.1" // {
                 dependencies = [
@@ -78237,53 +79345,91 @@ in
             ];
           })
           sources."ln-service-52.16.0"
+          sources."ms-2.1.1"
+          (sources."psbt-1.1.10" // {
+            dependencies = [
+              sources."bitcoinjs-lib-5.2.0"
+              sources."bn.js-5.2.0"
+            ];
+          })
           sources."qs-6.7.0"
           sources."raw-body-2.4.0"
+          sources."secp256k1-4.0.2"
+          sources."send-0.17.1"
+          sources."serve-static-1.14.1"
           sources."setprototypeof-1.1.1"
           sources."tiny-secp256k1-1.1.6"
           sources."toidentifier-1.0.0"
           sources."ws-8.2.3"
         ];
       })
-      (sources."ln-service-53.5.1" // {
+      (sources."ln-service-53.9.1" // {
         dependencies = [
-          sources."@grpc/grpc-js-1.5.3"
-          sources."@grpc/proto-loader-0.6.9"
-          sources."@types/request-2.48.8"
-          sources."bolt09-0.2.1"
-          sources."content-disposition-0.5.4"
-          sources."cookie-0.4.1"
-          sources."express-4.17.2"
-          sources."lightning-5.3.4"
-          sources."ms-2.1.3"
-          sources."safe-buffer-5.2.1"
-          sources."send-0.17.2"
-          sources."serve-static-1.14.2"
-          sources."type-fest-2.10.0"
-          sources."ws-8.4.2"
+          sources."@grpc/grpc-js-1.5.5"
+          sources."body-parser-1.19.2"
+          sources."bolt09-0.2.2"
+          sources."bytes-3.1.2"
+          sources."lightning-5.8.1"
+          sources."qs-6.9.7"
+          sources."raw-body-2.4.3"
+          sources."type-fest-2.11.2"
+          sources."ws-8.5.0"
         ];
       })
-      (sources."ln-sync-3.7.0" // {
+      (sources."ln-sync-3.10.1" // {
         dependencies = [
-          sources."@grpc/grpc-js-1.5.1"
-          sources."@grpc/proto-loader-0.6.9"
-          sources."@types/node-17.0.8"
-          sources."@types/request-2.48.8"
-          sources."bolt09-0.2.1"
-          sources."content-disposition-0.5.4"
-          sources."cookie-0.4.1"
-          sources."express-4.17.2"
-          sources."lightning-5.3.3"
-          sources."ln-service-53.5.0"
-          sources."ms-2.1.3"
-          sources."safe-buffer-5.2.1"
-          sources."send-0.17.2"
-          sources."serve-static-1.14.2"
-          sources."type-fest-2.9.0"
-          sources."ws-8.4.2"
+          sources."@grpc/grpc-js-1.5.5"
+          sources."@types/node-17.0.17"
+          sources."lightning-5.7.1"
+          sources."ln-service-53.8.1"
+          sources."type-fest-2.11.2"
+          sources."ws-8.5.0"
+        ];
+      })
+      (sources."ln-telegram-3.17.3" // {
+        dependencies = [
+          sources."@grpc/grpc-js-1.5.3"
+          sources."@types/node-17.0.16"
+          sources."bech32-1.1.4"
+          sources."bitcoinjs-lib-5.2.0"
+          sources."bn.js-4.12.0"
+          sources."invoices-2.0.3"
+          sources."lightning-5.6.3"
+          sources."ln-service-53.8.0"
+          (sources."ln-sync-3.10.0" // {
+            dependencies = [
+              sources."@types/node-17.0.15"
+              sources."lightning-5.6.2"
+              sources."ln-service-53.7.3"
+              sources."ws-8.4.2"
+            ];
+          })
+          (sources."paid-services-3.11.0" // {
+            dependencies = [
+              sources."@types/node-17.0.10"
+              sources."bech32-2.0.0"
+              sources."bitcoinjs-lib-6.0.1"
+              sources."bn.js-5.2.0"
+              sources."lightning-5.3.4"
+              sources."ln-service-53.5.1"
+              (sources."ln-sync-3.7.0" // {
+                dependencies = [
+                  sources."@grpc/grpc-js-1.5.1"
+                  sources."@types/node-17.0.8"
+                  sources."lightning-5.3.3"
+                  sources."ln-service-53.5.0"
+                  sources."type-fest-2.9.0"
+                ];
+              })
+              sources."ws-8.4.2"
+            ];
+          })
+          sources."psbt-1.1.10"
+          sources."tiny-secp256k1-1.1.6"
+          sources."type-fest-2.10.0"
+          sources."ws-8.5.0"
         ];
       })
-      sources."ln-telegram-3.9.0"
       sources."lodash-4.17.21"
       sources."lodash.camelcase-4.3.0"
       sources."lodash.difference-4.5.0"
@@ -78334,7 +79480,7 @@ in
       sources."ms-2.0.0"
       sources."mute-stream-0.0.6"
       sources."nan-2.15.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-addon-api-2.0.2"
       sources."node-fetch-2.6.7"
       sources."node-gyp-build-4.3.0"
@@ -78365,60 +79511,24 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."paid-services-3.11.0"
+      sources."paid-services-3.11.4"
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
       sources."prepend-http-2.0.0"
-      (sources."probing-2.0.2" // {
+      (sources."probing-2.0.3" // {
         dependencies = [
-          sources."@grpc/grpc-js-1.5.0"
-          sources."@grpc/proto-loader-0.6.9"
-          sources."@types/node-17.0.8"
-          sources."@types/request-2.48.8"
-          sources."bitcoinjs-lib-6.0.0"
-          sources."content-disposition-0.5.4"
-          sources."cookie-0.4.1"
-          sources."express-4.17.2"
-          (sources."invoices-2.0.2" // {
-            dependencies = [
-              sources."bolt07-1.7.4"
-            ];
-          })
-          (sources."lightning-5.3.1" // {
-            dependencies = [
-              (sources."asyncjs-util-1.2.7" // {
-                dependencies = [
-                  sources."async-3.2.2"
-                ];
-              })
-              sources."bitcoinjs-lib-6.0.1"
-            ];
-          })
-          sources."ln-service-53.4.0"
-          sources."ms-2.1.3"
-          sources."safe-buffer-5.2.1"
-          sources."send-0.17.2"
-          sources."serve-static-1.14.2"
-          sources."type-fest-2.9.0"
-          sources."ws-8.4.0"
+          sources."@types/node-17.0.15"
+          sources."invoices-2.0.3"
+          sources."lightning-5.6.2"
+          sources."ln-service-53.7.3"
         ];
       })
       sources."process-nextick-args-2.0.1"
       sources."protobufjs-6.11.2"
       sources."proxy-addr-2.0.7"
-      (sources."psbt-1.1.10" // {
-        dependencies = [
-          sources."bech32-1.1.4"
-          sources."bitcoinjs-lib-5.2.0"
-          (sources."tiny-secp256k1-1.1.6" // {
-            dependencies = [
-              sources."bn.js-4.12.0"
-            ];
-          })
-        ];
-      })
+      sources."psbt-2.0.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
@@ -78443,35 +79553,40 @@ in
       sources."ripemd160-2.0.2"
       sources."run-async-2.4.1"
       sources."rx-4.1.0"
-      sources."rxjs-7.5.2"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sanitize-filename-1.6.3"
-      sources."secp256k1-4.0.2"
+      sources."secp256k1-4.0.3"
       sources."semver-7.3.5"
       (sources."semver-diff-3.1.1" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
-          sources."http-errors-1.7.3"
-          sources."ms-2.1.1"
-          sources."setprototypeof-1.1.1"
-          sources."toidentifier-1.0.0"
+          sources."ms-2.1.3"
         ];
       })
-      sources."serve-static-1.14.1"
+      sources."serve-static-1.14.2"
       sources."setprototypeof-1.2.0"
       sources."sha.js-2.4.11"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sjcl-1.0.8"
       (sources."slice-ansi-4.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
         ];
       })
+      sources."smart-buffer-4.2.0"
+      sources."socks-2.6.2"
+      (sources."socks-proxy-agent-6.2.0-beta.0" // {
+        dependencies = [
+          sources."debug-4.3.3"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."spawn-sync-1.0.15"
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
@@ -78492,7 +79607,7 @@ in
       })
       sources."through-2.3.8"
       sources."tiny-emitter-2.1.0"
-      sources."tiny-secp256k1-2.1.2"
+      sources."tiny-secp256k1-2.2.0"
       sources."tmp-0.0.29"
       sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.1"
@@ -78501,7 +79616,7 @@ in
       sources."tslib-2.3.1"
       sources."tweetnacl-1.0.3"
       sources."tweetnacl-util-0.15.1"
-      sources."type-fest-2.8.0"
+      sources."type-fest-2.11.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
@@ -78543,7 +79658,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-8.3.0"
+      sources."ws-8.4.2"
       sources."xdg-basedir-4.0.0"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
@@ -78641,7 +79756,7 @@ in
       sources."lodash.sortby-4.7.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."nwsapi-2.2.0"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
@@ -78671,13 +79786,13 @@ in
       sources."tweetnacl-0.14.5"
       sources."type-check-0.3.2"
       sources."uri-js-4.4.1"
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-6.1.1"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."w3c-hr-time-1.0.2"
       sources."web-tree-sitter-0.19.4"
@@ -78803,9 +79918,9 @@ in
       sources."safe-buffer-5.1.2"
       sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      sources."simple-get-3.1.1"
       sources."state-toggle-1.0.3"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
@@ -78843,11 +79958,11 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-uri-2.1.2"
       sources."web-tree-sitter-0.17.1"
-      sources."which-pm-runs-1.0.0"
+      sources."which-pm-runs-1.1.0"
       sources."wide-align-1.1.5"
       sources."wrappy-1.0.2"
       sources."x-is-string-0.1.0"
@@ -78951,7 +80066,7 @@ in
       sources."map-obj-1.0.1"
       sources."meow-3.7.0"
       sources."mime-db-1.51.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
@@ -78985,7 +80100,7 @@ in
         ];
       })
       sources."semver-5.7.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sort-keys-1.1.2"
       sources."sort-keys-length-1.0.1"
       sources."spdx-correct-3.1.1"
@@ -79156,7 +80271,7 @@ in
       })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-classic-0.5.3"
       sources."module-deps-6.2.3"
@@ -79261,7 +80376,7 @@ in
       sha512 = "9ElnnA/u+s2Jd+IgY+2SImB+sAEIteHsMG0NR96m7Ph/wztpvJCUpyC2on1KqmG9iAp941j+5jfmd34tEguGbg==";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."after-0.8.2"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
@@ -79283,7 +80398,7 @@ in
       sources."browser-sync-ui-2.27.7"
       sources."bs-recipes-1.3.4"
       sources."bs-snippet-injector-2.0.1"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."camelcase-5.3.1"
       sources."chalk-1.1.3"
       sources."chokidar-3.5.3"
@@ -79306,7 +80421,7 @@ in
         ];
       })
       sources."connect-history-api-fallback-1.6.0"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."debug-3.1.0"
       sources."decamelize-1.2.0"
       sources."depd-1.1.2"
@@ -79338,7 +80453,7 @@ in
         ];
       })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."fresh-0.5.2"
       sources."fs-extra-3.0.1"
       sources."fsevents-2.3.2"
@@ -79382,10 +80497,10 @@ in
       sources."mime-1.4.1"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."mitt-1.2.0"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."on-finished-2.3.0"
       sources."openurl-1.1.1"
@@ -79401,7 +80516,7 @@ in
       sources."portscanner-2.1.1"
       sources."qs-6.2.3"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readdirp-3.6.0"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
@@ -79513,15 +80628,15 @@ in
       sources."@babel/code-frame-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
-      sources."@babel/types-7.16.8"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/types-7.17.0"
       sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
       sources."@types/minimist-1.2.2"
       sources."@types/node-10.12.18"
       sources."@types/normalize-package-data-2.4.1"
       sources."@uphold/request-logger-2.0.0"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-7.4.1"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
@@ -79557,7 +80672,7 @@ in
       })
       sources."bluebird-3.7.2"
       sources."bn.js-4.12.0"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
           sources."debug-2.6.9"
         ];
@@ -79569,7 +80684,7 @@ in
       sources."bs58check-2.1.2"
       sources."btc-rpc-client-git://github.com/btc21/btc-rpc-client"
       sources."bunyan-1.8.15"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
@@ -79577,7 +80692,7 @@ in
       sources."chalk-2.4.2"
       sources."character-parser-2.2.0"
       sources."charenc-0.0.2"
-      sources."chart.js-3.7.0"
+      sources."chart.js-3.7.1"
       sources."cipher-base-1.0.4"
       sources."cliui-6.0.0"
       sources."color-convert-1.9.3"
@@ -79654,8 +80769,9 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."event-loop-stats-1.4.1"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
+          sources."cookie-0.4.2"
           sources."debug-2.6.9"
           sources."safe-buffer-5.2.1"
         ];
@@ -79679,7 +80795,7 @@ in
         ];
       })
       sources."find-up-4.1.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."forwarded-0.2.0"
@@ -79764,7 +80880,7 @@ in
       sources."min-indent-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."mkdirp-0.5.5"
@@ -79780,7 +80896,7 @@ in
       sources."mv-2.1.1"
       sources."nan-2.15.0"
       sources."ncp-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-package-data-3.0.3"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
@@ -79821,12 +80937,12 @@ in
       sources."punycode-2.1.1"
       sources."pushdata-bitcoin-1.0.1"
       sources."qrcode-1.5.0"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."quick-lru-4.0.1"
       sources."random-bytes-1.0.0"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
           sources."hosted-git-info-2.8.9"
@@ -79974,7 +81090,7 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.2.16"
       sources."ajv-6.12.6"
@@ -80036,7 +81152,7 @@ in
       sources."co-3.1.0"
       sources."codepage-1.4.0"
       sources."combined-stream-1.0.8"
-      sources."commander-8.3.0"
+      sources."commander-9.0.0"
       sources."compact2string-1.4.1"
       sources."concat-map-0.0.1"
       (sources."concat-stream-2.0.0" // {
@@ -80069,6 +81185,7 @@ in
       })
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
+      sources."events-3.3.0"
       sources."exit-on-epipe-1.0.1"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
@@ -80158,7 +81275,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.3.5"
       sources."mkdirp-classic-0.5.3"
@@ -80233,7 +81350,7 @@ in
       sources."queue-microtask-1.2.3"
       sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
-      sources."random-access-storage-1.4.2"
+      sources."random-access-storage-1.4.3"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
@@ -80272,9 +81389,9 @@ in
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
       sources."semver-5.7.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-2.8.1"
+      sources."simple-get-2.8.2"
       (sources."simple-peer-6.4.4" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -80441,7 +81558,7 @@ in
       sources."buffer-crc32-0.2.13"
       sources."buffer-equal-0.0.1"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."cache-base-1.0.1"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-4.1.0"
@@ -80709,7 +81826,7 @@ in
       sources."mime-2.6.0"
       sources."mimic-fn-1.2.0"
       sources."min-document-2.19.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-3.0.2"
       (sources."mixin-deep-1.3.2" // {
@@ -80792,7 +81909,7 @@ in
       })
       sources."query-string-6.14.1"
       sources."quick-lru-1.1.0"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."read-pkg-3.0.0"
       sources."read-pkg-up-3.0.0"
@@ -80824,7 +81941,7 @@ in
       sources."setprototypeof-1.2.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-1.0.0"
       sources."slice-ansi-0.0.4"
       (sources."snapdragon-0.8.2" // {
@@ -80980,30 +82097,34 @@ in
   cdk8s-cli = nodeEnv.buildNodePackage {
     name = "cdk8s-cli";
     packageName = "cdk8s-cli";
-    version = "1.0.82";
+    version = "1.0.104";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.82.tgz";
-      sha512 = "lzvZVO555YM7Z39hA6Tyg28RMedCues7Wh3hv1RaAGZ7lyAkTT12kUELOg6jM+VQ0NZD+90sAcBk8NXNghuZkA==";
+      url = "https://registry.npmjs.org/cdk8s-cli/-/cdk8s-cli-1.0.104.tgz";
+      sha512 = "/JiR7ynoMTH8G3efHuzvdpWI2VX+3W2XRRWOILoSLquV97o4g2P9QD1ElpgLRysOarcxHHfb3hvbYSUAI6OYug==";
     };
     dependencies = [
-      sources."@jsii/check-node-1.52.1"
-      sources."@jsii/spec-1.52.1"
-      sources."@types/node-12.20.42"
-      sources."@xmldom/xmldom-0.8.0"
-      sources."ajv-8.9.0"
+      sources."@jsii/check-node-1.54.0"
+      sources."@jsii/spec-1.54.0"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
+      sources."@types/node-12.20.46"
+      sources."@xmldom/xmldom-0.8.1"
+      sources."ajv-8.10.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."at-least-node-1.0.0"
       sources."available-typed-arrays-1.0.5"
+      sources."braces-3.0.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdk8s-1.4.10"
-      sources."cdk8s-plus-22-1.0.0-beta.96"
+      sources."cdk8s-1.5.22"
+      sources."cdk8s-plus-22-1.0.0-beta.123"
       sources."chalk-4.1.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
-      (sources."codemaker-1.52.1" // {
+      (sources."codemaker-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
@@ -81012,7 +82133,7 @@ in
       sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."commonmark-0.30.0"
-      sources."constructs-3.3.197"
+      sources."constructs-3.3.223"
       sources."date-format-4.0.3"
       sources."debug-4.3.3"
       sources."decamelize-5.0.1"
@@ -81029,8 +82150,11 @@ in
       sources."escalade-3.1.1"
       sources."escape-string-regexp-4.0.0"
       sources."fast-deep-equal-3.1.3"
+      sources."fast-glob-3.2.11"
+      sources."fastq-1.13.0"
+      sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."foreach-2.0.5"
       (sources."fs-extra-8.1.0" // {
         dependencies = [
@@ -81042,6 +82166,7 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
+      sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.9"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
@@ -81054,9 +82179,12 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-callable-1.2.4"
       sources."is-date-object-1.0.5"
+      sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-glob-4.0.3"
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.2"
+      sources."is-number-7.0.0"
       sources."is-number-object-1.0.6"
       sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
@@ -81068,38 +82196,38 @@ in
       sources."is-weakref-1.0.2"
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
-      (sources."jsii-1.52.1" // {
+      (sources."jsii-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-pacmak-1.52.1" // {
+      (sources."jsii-pacmak-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-reflect-1.52.1" // {
+      (sources."jsii-reflect-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-rosetta-1.52.1" // {
+      (sources."jsii-rosetta-1.54.0" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."yargs-16.2.0"
         ];
       })
-      (sources."jsii-srcmak-0.1.454" // {
+      (sources."jsii-srcmak-0.1.482" // {
         dependencies = [
           sources."fs-extra-9.1.0"
         ];
       })
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-1.0.0"
-      sources."json2jsii-0.2.114"
+      sources."json2jsii-0.2.142"
       sources."jsonfile-6.1.0"
       sources."jsonschema-1.4.0"
       sources."locate-path-5.0.0"
@@ -81107,6 +82235,8 @@ in
       sources."lower-case-2.0.2"
       sources."lru-cache-6.0.0"
       sources."mdurl-1.0.1"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.4"
       sources."minimist-1.2.5"
       sources."ms-2.1.2"
       sources."ncp-2.0.0"
@@ -81115,17 +82245,21 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."oo-ascii-tree-1.52.1"
+      sources."oo-ascii-tree-1.54.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
       sources."path-exists-4.0.0"
+      sources."picomatch-2.3.1"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.3"
       sources."regexp.prototype.flags-1.4.1"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
       sources."require-main-filename-2.0.0"
+      sources."reusify-1.0.4"
       sources."rfdc-1.3.0"
+      sources."run-parallel-1.2.0"
       sources."semver-7.3.5"
       (sources."semver-intersect-1.4.0" // {
         dependencies = [
@@ -81135,9 +82269,9 @@ in
       sources."set-blocking-2.0.0"
       sources."side-channel-1.0.4"
       sources."snake-case-3.0.4"
-      sources."sort-json-2.0.0"
+      sources."sort-json-2.0.1"
       sources."spdx-license-list-6.4.0"
-      sources."sscaff-1.2.180"
+      sources."sscaff-1.2.208"
       (sources."streamroller-3.0.2" // {
         dependencies = [
           sources."fs-extra-10.0.0"
@@ -81149,6 +82283,7 @@ in
       sources."string.prototype.trimstart-1.0.4"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
+      sources."to-regex-range-5.0.1"
       sources."tslib-2.3.1"
       sources."typescript-3.9.10"
       sources."unbox-primitive-1.0.1"
@@ -81188,23 +82323,23 @@ in
   cdktf-cli = nodeEnv.buildNodePackage {
     name = "cdktf-cli";
     packageName = "cdktf-cli";
-    version = "0.8.6";
+    version = "0.9.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.8.6.tgz";
-      sha512 = "rUYylxYOSnZOVDON6ma/n12DGKz4jArtWkMeUseseRCh5Y8Q45Pi6gRETLMZzFYMxgDuJpt6az5NqAisue3Ryg==";
+      url = "https://registry.npmjs.org/cdktf-cli/-/cdktf-cli-0.9.1.tgz";
+      sha512 = "Qa542vXUXn8tzqGkcAvLWGSpFbhOXalOystXu8sSZn82eCpCTo2CxEpoHOFeUgNkymUOFwWawl5+CIMYr7V1+Q==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/generator-7.16.8"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/types-7.16.8"
-      sources."@cdktf/hcl2cdk-0.8.6"
-      sources."@cdktf/hcl2json-0.8.6"
-      sources."@cdktf/provider-generator-0.8.6"
-      (sources."@jsii/check-node-1.52.1" // {
+      sources."@babel/types-7.17.0"
+      sources."@cdktf/hcl2cdk-0.9.1"
+      sources."@cdktf/hcl2json-0.9.1"
+      sources."@cdktf/provider-generator-0.9.1"
+      (sources."@jsii/check-node-1.54.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -81214,10 +82349,13 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."@jsii/spec-1.52.1"
-      sources."@types/node-17.0.10"
-      sources."@types/node-fetch-2.5.12"
-      sources."@xmldom/xmldom-0.8.0"
+      sources."@jsii/spec-1.54.0"
+      sources."@nodelib/fs.scandir-2.1.5"
+      sources."@nodelib/fs.stat-2.0.5"
+      sources."@nodelib/fs.walk-1.2.8"
+      sources."@types/node-17.0.18"
+      sources."@types/node-fetch-2.6.1"
+      sources."@xmldom/xmldom-0.8.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."asynckit-0.4.0"
@@ -81225,10 +82363,11 @@ in
       sources."available-typed-arrays-1.0.5"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
       sources."case-1.6.3"
-      sources."cdktf-0.8.6"
+      sources."cdktf-0.9.1"
       sources."chalk-2.4.2"
       sources."cliui-6.0.0"
       sources."clone-2.1.2"
@@ -81239,11 +82378,10 @@ in
       })
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colors-1.4.0"
       sources."combined-stream-1.0.8"
       sources."commonmark-0.30.0"
       sources."concat-map-0.0.1"
-      sources."constructs-10.0.42"
+      sources."constructs-10.0.68"
       sources."date-format-4.0.3"
       sources."debug-4.3.3"
       sources."decamelize-1.2.0"
@@ -81260,8 +82398,11 @@ in
       sources."escalade-3.1.1"
       sources."escape-string-regexp-1.0.5"
       sources."events-3.3.0"
+      sources."fast-glob-3.2.11"
+      sources."fastq-1.13.0"
+      sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."foreach-2.0.5"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
@@ -81270,10 +82411,11 @@ in
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
       sources."get-symbol-description-1.0.0"
-      sources."glob-7.1.7"
+      sources."glob-7.2.0"
+      sources."glob-parent-5.1.2"
       sources."graceful-fs-4.2.9"
-      sources."graphology-0.20.0"
-      sources."graphology-types-0.19.5"
+      sources."graphology-0.23.2"
+      sources."graphology-types-0.21.2"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-flag-3.0.0"
@@ -81287,9 +82429,12 @@ in
       sources."is-boolean-object-1.1.2"
       sources."is-callable-1.2.4"
       sources."is-date-object-1.0.5"
+      sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
+      sources."is-glob-4.0.3"
       sources."is-map-2.0.2"
       sources."is-negative-zero-2.0.2"
+      sources."is-number-7.0.0"
       sources."is-number-object-1.0.6"
       sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
@@ -81304,14 +82449,17 @@ in
       sources."isarray-2.0.5"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
-      (sources."jsii-1.52.1" // {
+      (sources."jsii-1.54.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.2"
           sources."cliui-7.0.4"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."fs-extra-9.1.0"
+          sources."has-flag-4.0.0"
           sources."jsonfile-6.1.0"
+          sources."supports-color-7.2.0"
           sources."universalify-2.0.0"
           sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
@@ -81319,11 +82467,11 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-pacmak-1.52.1" // {
+      (sources."jsii-pacmak-1.54.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
-          sources."codemaker-1.52.1"
+          sources."codemaker-1.54.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."decamelize-5.0.1"
@@ -81337,14 +82485,17 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-reflect-1.52.1" // {
+      (sources."jsii-reflect-1.54.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.2"
           sources."cliui-7.0.4"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
           sources."fs-extra-9.1.0"
+          sources."has-flag-4.0.0"
           sources."jsonfile-6.1.0"
+          sources."supports-color-7.2.0"
           sources."universalify-2.0.0"
           sources."wrap-ansi-7.0.0"
           sources."y18n-5.0.8"
@@ -81352,7 +82503,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-rosetta-1.52.1" // {
+      (sources."jsii-rosetta-1.54.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."cliui-7.0.4"
@@ -81367,7 +82518,7 @@ in
           sources."yargs-parser-20.2.9"
         ];
       })
-      (sources."jsii-srcmak-0.1.454" // {
+      (sources."jsii-srcmak-0.1.482" // {
         dependencies = [
           sources."fs-extra-9.1.0"
           sources."jsonfile-6.1.0"
@@ -81381,9 +82532,11 @@ in
       sources."log4js-6.4.1"
       sources."lru-cache-6.0.0"
       sources."mdurl-1.0.1"
+      sources."merge2-1.4.1"
+      sources."micromatch-4.0.4"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."ms-2.1.2"
       sources."ncp-2.0.0"
@@ -81392,21 +82545,25 @@ in
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       sources."object.assign-4.1.2"
-      sources."obliterator-1.6.1"
+      sources."obliterator-2.0.2"
       sources."once-1.4.0"
-      sources."oo-ascii-tree-1.52.1"
+      sources."oo-ascii-tree-1.54.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
       sources."p-try-2.2.0"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
+      sources."picomatch-2.3.1"
       sources."prettier-2.5.1"
       sources."punycode-2.1.1"
+      sources."queue-microtask-1.2.3"
       sources."regexp.prototype.flags-1.4.1"
       sources."require-directory-2.1.1"
       sources."require-main-filename-2.0.0"
       sources."reserved-words-0.1.2"
+      sources."reusify-1.0.4"
       sources."rfdc-1.3.0"
+      sources."run-parallel-1.2.0"
       sources."semver-7.3.5"
       (sources."semver-intersect-1.4.0" // {
         dependencies = [
@@ -81415,7 +82572,7 @@ in
       })
       sources."set-blocking-2.0.0"
       sources."side-channel-1.0.4"
-      sources."sort-json-2.0.0"
+      sources."sort-json-2.0.1"
       sources."source-map-0.5.7"
       sources."spdx-license-list-6.4.0"
       (sources."streamroller-3.0.2" // {
@@ -81432,6 +82589,7 @@ in
       sources."strip-ansi-6.0.1"
       sources."supports-color-5.5.0"
       sources."to-fast-properties-2.0.0"
+      sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."typescript-3.9.10"
       sources."unbox-primitive-1.0.1"
@@ -81485,10 +82643,10 @@ in
   clean-css-cli = nodeEnv.buildNodePackage {
     name = "clean-css-cli";
     packageName = "clean-css-cli";
-    version = "5.5.0";
+    version = "5.5.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.5.0.tgz";
-      sha512 = "Vr9t8o59YaPcRw/4hyJjEh4zU/BlOtlJJ8465El6QMYWbkf5nN1mhAljX6FIb0bfpkGlYNFKPCyTz7oFCHOblQ==";
+      url = "https://registry.npmjs.org/clean-css-cli/-/clean-css-cli-5.5.2.tgz";
+      sha512 = "4y5FD+ayRz7IWqZRCCMvFxNUhluc1Yv8mNPmrHbrm2NjKsv9uaQZedZKN4L+QMkTqANL1RfOwhpe22neDEgEMA==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -81497,7 +82655,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."chokidar-3.5.3"
-      sources."clean-css-5.2.2"
+      sources."clean-css-5.2.4"
       sources."commander-7.2.0"
       sources."concat-map-0.0.1"
       sources."fill-range-7.0.1"
@@ -81511,7 +82669,7 @@ in
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
       sources."is-number-7.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -81549,7 +82707,7 @@ in
       sources."arch-2.2.0"
       sources."arrify-1.0.1"
       sources."camelcase-6.3.0"
-      sources."camelcase-keys-7.0.1"
+      sources."camelcase-keys-7.0.2"
       sources."chalk-2.4.2"
       sources."clipboardy-3.0.0"
       sources."color-convert-1.9.3"
@@ -81609,7 +82767,7 @@ in
       sources."semver-7.3.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
       sources."spdx-expression-parse-3.0.1"
@@ -81644,6 +82802,7 @@ in
       sha512 = "Vu0ZPruo16+CbH/kCEALHV3lQ4WnRoaqTb+HPy2fY9ywtdOxPCiT//3WSxv8YN5qFwMbI2Fu931mmU9sR/O0ZA==";
     };
     dependencies = [
+      sources."@colors/colors-1.5.0"
       sources."ansi-styles-3.2.1"
       sources."async-0.9.2"
       sources."chalk-2.4.2"
@@ -81651,7 +82810,7 @@ in
       sources."clubhouse-lib-0.10.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colors-1.4.0"
+      sources."colors-1.0.3"
       sources."commander-2.20.3"
       sources."cycle-1.0.3"
       sources."debug-4.3.3"
@@ -81670,7 +82829,7 @@ in
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."node-fetch-1.7.3"
-      sources."prompt-1.2.1"
+      sources."prompt-1.2.2"
       sources."punycode-2.1.1"
       sources."query-string-6.14.1"
       sources."read-1.0.7"
@@ -81688,7 +82847,6 @@ in
       (sources."winston-2.4.5" // {
         dependencies = [
           sources."async-1.0.0"
-          sources."colors-1.0.3"
         ];
       })
     ];
@@ -81705,10 +82863,10 @@ in
   coc-clangd = nodeEnv.buildNodePackage {
     name = "coc-clangd";
     packageName = "coc-clangd";
-    version = "0.19.0";
+    version = "0.20.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.19.0.tgz";
-      sha512 = "9y3FFXjLZeA93c/U8lEkbeidj6lo7AgkELsXlMlmDV/NiJPu8b/L+An2vwVXHxKODRCSGJYGjpJt283K1f6VJg==";
+      url = "https://registry.npmjs.org/coc-clangd/-/coc-clangd-0.20.1.tgz";
+      sha512 = "0c5ZTX97cOJPSbYaIvUo2fGn0sSB3ZIYdhfhnXAX51c86aUgYqVE0Us3VVfFAnLmVvoufu8uW4fmtZXTAWahBw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81799,10 +82957,10 @@ in
   coc-eslint = nodeEnv.buildNodePackage {
     name = "coc-eslint";
     packageName = "coc-eslint";
-    version = "1.5.2";
+    version = "1.5.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-eslint/-/coc-eslint-1.5.2.tgz";
-      sha512 = "Cg4Ys7D2EhxweGBdSJn75Q8nNxU41A6T1pWSc0gxmn+jodL98+jCkA2XGtdN41/c7/R+OJXr0scifwpugmWM3g==";
+      url = "https://registry.npmjs.org/coc-eslint/-/coc-eslint-1.5.6.tgz";
+      sha512 = "FXi6gZE0NpiPeFoc3BW4BBv33KA2Vl8JFltWb2i9TXS3zXWXfIilRFh7iQiFclIAYaQxO/i6qbaSqatd6+BksA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81817,10 +82975,10 @@ in
   coc-explorer = nodeEnv.buildNodePackage {
     name = "coc-explorer";
     packageName = "coc-explorer";
-    version = "0.21.1";
+    version = "0.22.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.21.1.tgz";
-      sha512 = "+J77if2qoBt1KWC2nu5/1KnRpydEnZX28rL0MQC1RFicxiwQ77WKrtcTkm/qgvWGWt/OuX+T5734Crbh0pRGog==";
+      url = "https://registry.npmjs.org/coc-explorer/-/coc-explorer-0.22.7.tgz";
+      sha512 = "GVDG9GbqbeZOXrU0gChJP5eFv29vbcV6QudUNq/fVSWLLV/wZPREoxYQCM4hWEreDPDfB/fkSddOEJHoF4F+Vg==";
     };
     dependencies = [
       sources."@sindresorhus/df-3.1.1"
@@ -81850,7 +83008,7 @@ in
       sources."make-dir-3.1.0"
       sources."merge-stream-2.0.0"
       sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       (sources."mount-point-3.0.0" // {
         dependencies = [
           sources."@sindresorhus/df-1.0.1"
@@ -81875,7 +83033,7 @@ in
       sources."semver-6.3.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-1.0.0"
       sources."strip-final-newline-2.0.0"
       sources."trash-7.2.0"
@@ -81899,10 +83057,10 @@ in
   coc-git = nodeEnv.buildNodePackage {
     name = "coc-git";
     packageName = "coc-git";
-    version = "2.4.6";
+    version = "2.4.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.4.6.tgz";
-      sha512 = "8FKQN7v+FcjRQkwspoVw/mWByhELFy9nLWu0/c24Y1AKj7yEkVlFTsoqwtOIaCD3r5D5S/dYT1DygIA1JIMwlQ==";
+      url = "https://registry.npmjs.org/coc-git/-/coc-git-2.4.7.tgz";
+      sha512 = "rtt2W7g8oTfg1ZAIu+Y3gDqI305j68edgJJjWpdTSQHZXq2i9T0keaWHZAIdgV819wxTcBoaghCLNjDf1rPHJA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -81927,7 +83085,7 @@ in
       sources."node-fetch-2.6.7"
       sources."tr46-0.0.3"
       sources."tslib-2.3.1"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-uri-3.0.3"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
@@ -81945,10 +83103,10 @@ in
   coc-highlight = nodeEnv.buildNodePackage {
     name = "coc-highlight";
     packageName = "coc-highlight";
-    version = "1.2.8";
+    version = "1.3.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-highlight/-/coc-highlight-1.2.8.tgz";
-      sha512 = "buElMyk/0st73HVkgcic9UJECACHsoTbyCwHiOo20P1sCk8tgQ6+iEY9KW7L4xZorRt1RthfxLqZwayog1SALQ==";
+      url = "https://registry.npmjs.org/coc-highlight/-/coc-highlight-1.3.0.tgz";
+      sha512 = "TBBQiFtYPXN7qWBmDi+FEWcLddON8s4rcEmQXUGE7uOfNysNKZ6yVUBCnJbS+n8S+7m5d3yqUyhoG5RUeHJxCg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -82071,10 +83229,10 @@ in
   coc-markdownlint = nodeEnv.buildNodePackage {
     name = "coc-markdownlint";
     packageName = "coc-markdownlint";
-    version = "1.12.3";
+    version = "1.12.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.12.3.tgz";
-      sha512 = "b/p24GkRScjkgejrxi/K8bqhK2nHjZgm2aCDi23mk7oWYb/o1M7W9IfC1zn2xR8PbbY3Zg2YT/y38AOD65tU6A==";
+      url = "https://registry.npmjs.org/coc-markdownlint/-/coc-markdownlint-1.12.4.tgz";
+      sha512 = "b7gBEE0pHp6GnkQYMEsI1Xdn8tqP7QbRpVMuSQ3AJzj0PIflBbk8v1HnriBfDPJBqU+9OQZyU2cm2rmKBw/8yA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -82095,7 +83253,7 @@ in
       sha512 = "mRjStj+wjmqp9Lb3cDYegz+cavykWNYQf1ecdwrF2HEtbKVIcc+k62NS5wM6QVB5Y6FD2OxjPNWcoQmIFM1cfQ==";
     };
     dependencies = [
-      sources."@chemzqm/neovim-5.6.4"
+      sources."@chemzqm/neovim-5.7.4"
       sources."@tootallnate/once-1.1.2"
       sources."agent-base-6.0.2"
       sources."arch-2.2.0"
@@ -82109,7 +83267,7 @@ in
       sources."bser-2.1.1"
       sources."buffer-indexof-polyfill-1.0.2"
       sources."buffers-0.1.1"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
       sources."chainsaw-0.1.0"
       sources."chownr-2.0.0"
@@ -82137,8 +83295,8 @@ in
       sources."execa-1.0.0"
       sources."fast-diff-1.2.0"
       sources."fb-watchman-2.0.1"
-      sources."flatted-3.2.4"
-      sources."follow-redirects-1.14.7"
+      sources."flatted-3.2.5"
+      sources."follow-redirects-1.14.9"
       sources."fp-ts-2.11.8"
       sources."fs-extra-10.0.0"
       sources."fs-minipass-2.1.0"
@@ -82196,7 +83354,7 @@ in
       sources."log4js-6.4.1"
       sources."lru-cache-6.0.0"
       sources."metals-languageclient-0.4.2"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
@@ -82242,7 +83400,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.7.3"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."streamroller-3.0.2"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
@@ -82268,7 +83426,7 @@ in
           sources."vscode-languageserver-types-3.15.1"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-uri-2.1.2"
       sources."webidl-conversions-3.0.1"
@@ -82290,10 +83448,10 @@ in
   coc-pairs = nodeEnv.buildNodePackage {
     name = "coc-pairs";
     packageName = "coc-pairs";
-    version = "1.3.1";
+    version = "1.3.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.3.1.tgz";
-      sha512 = "V9MlHr2TAdlCQKHuVLtz8rixh36HwRvKKtlhNuedhI/ljF5uzoNd2wFl345aRRzi6ceUcsDZ5QCwG9UzGkLFjw==";
+      url = "https://registry.npmjs.org/coc-pairs/-/coc-pairs-1.3.2.tgz";
+      sha512 = "dinOWxcKvSghIEyRHy0vfjIUturfX1HiRHZ+vyInHXP3lXFq1SQF3B9RzwHj1eXjfmqKMDVsgwjAftAx8j8Rbw==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -82308,980 +83466,18 @@ in
   coc-prettier = nodeEnv.buildNodePackage {
     name = "coc-prettier";
     packageName = "coc-prettier";
-    version = "1.1.25";
+    version = "9.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-1.1.25.tgz";
-      sha512 = "vF8FCWhSQ8RHSelzDsf34DrPPKeoYuWFbtoC+3qArm6rf5E02KY/vZDFt9MCLnzjLr8yVXz2eQ4BczNJvnQohw==";
+      url = "https://registry.npmjs.org/coc-prettier/-/coc-prettier-9.2.2.tgz";
+      sha512 = "0GjqQhdKO/5auaoZVnnUbgf1eyxfBcTmHJ7jj0eApzVCYwMLcXk52HVMfDSUpeB1ySEzhwQrxBbGZZyStdISjQ==";
     };
     dependencies = [
-      sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.16.7"
-      (sources."@babel/highlight-7.16.10" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-          sources."escape-string-regexp-1.0.5"
-        ];
-      })
-      sources."@eslint/eslintrc-0.4.3"
-      sources."@humanwhocodes/config-array-0.5.0"
-      sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@mrmlnc/readdir-enhanced-2.2.1"
-      sources."@nodelib/fs.stat-1.1.3"
-      sources."@types/eslint-visitor-keys-1.0.0"
-      sources."@types/json-schema-7.0.9"
-      sources."@typescript-eslint/experimental-utils-3.10.1"
-      sources."@typescript-eslint/parser-3.10.1"
-      sources."@typescript-eslint/types-3.10.1"
-      sources."@typescript-eslint/typescript-estree-3.10.1"
-      sources."@typescript-eslint/visitor-keys-3.10.1"
-      sources."acorn-7.4.1"
-      sources."acorn-jsx-5.3.2"
-      sources."ajv-6.12.6"
-      sources."ajv-keywords-3.5.2"
-      (sources."ansi-align-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
-      sources."ansi-colors-4.1.1"
-      sources."ansi-regex-5.0.1"
-      sources."ansi-styles-3.2.1"
-      sources."argparse-1.0.10"
-      sources."arr-diff-2.0.0"
-      sources."arr-flatten-1.1.0"
-      sources."arr-union-3.1.0"
-      sources."array-find-index-1.0.2"
-      sources."array-union-1.0.2"
-      sources."array-uniq-1.0.3"
-      sources."array-unique-0.2.1"
-      sources."arrify-1.0.1"
-      sources."assign-symbols-1.0.0"
-      sources."astral-regex-2.0.0"
-      sources."atob-2.1.2"
-      sources."autoprefixer-7.2.6"
-      sources."bail-1.0.5"
-      sources."balanced-match-1.0.2"
-      (sources."base-0.11.2" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."isobject-3.0.1"
-        ];
-      })
-      (sources."boxen-1.3.0" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."camelcase-4.1.0"
-          sources."chalk-2.4.2"
-          sources."escape-string-regexp-1.0.5"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
-      sources."brace-expansion-1.1.11"
-      sources."braces-1.8.5"
-      sources."browserslist-2.11.3"
-      sources."builtin-modules-1.1.1"
-      (sources."cache-base-1.0.1" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."call-me-maybe-1.0.1"
-      sources."callsites-3.1.0"
-      sources."camelcase-2.1.1"
-      sources."camelcase-keys-2.1.0"
-      sources."caniuse-lite-1.0.30001301"
-      sources."capture-stack-trace-1.0.1"
-      sources."ccount-1.1.0"
-      (sources."chalk-4.1.2" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
-      sources."character-entities-1.2.4"
-      sources."character-entities-html4-1.1.4"
-      sources."character-entities-legacy-1.1.4"
-      sources."character-reference-invalid-1.1.4"
-      sources."ci-info-1.6.0"
-      sources."circular-json-0.3.3"
-      (sources."class-utils-0.3.6" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."isobject-3.0.1"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."cli-boxes-1.0.0"
-      (sources."cliui-4.1.0" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
-      sources."clone-regexp-1.0.1"
-      sources."code-point-at-1.1.0"
-      sources."collapse-white-space-1.0.6"
-      sources."collection-visit-1.0.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."commander-2.20.3"
-      sources."common-tags-1.8.2"
-      sources."component-emitter-1.3.0"
-      sources."concat-map-0.0.1"
-      (sources."configstore-3.1.5" // {
-        dependencies = [
-          sources."dot-prop-4.2.1"
-          sources."is-obj-1.0.1"
-        ];
-      })
-      sources."copy-descriptor-0.1.1"
-      sources."core-js-3.20.3"
-      sources."cosmiconfig-3.1.0"
-      sources."create-error-class-3.0.2"
-      sources."cross-spawn-7.0.3"
-      sources."crypto-random-string-1.0.0"
-      sources."currently-unhandled-0.4.1"
-      sources."debug-4.3.3"
-      sources."decamelize-1.2.0"
-      sources."decamelize-keys-1.1.0"
-      sources."decode-uri-component-0.2.0"
-      sources."deep-extend-0.6.0"
-      sources."deep-is-0.1.4"
-      (sources."define-property-2.0.2" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."diff-4.0.2"
-      (sources."dir-glob-2.2.2" // {
-        dependencies = [
-          sources."path-type-3.0.0"
-        ];
-      })
-      sources."dlv-1.1.3"
-      sources."doctrine-3.0.0"
-      (sources."dom-serializer-0.2.2" // {
-        dependencies = [
-          sources."domelementtype-2.2.0"
-          sources."entities-2.2.0"
-        ];
-      })
-      sources."domelementtype-1.3.1"
-      sources."domhandler-2.4.2"
-      sources."domutils-1.7.0"
-      sources."dot-prop-5.3.0"
-      sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.51"
-      sources."emoji-regex-8.0.0"
-      sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
-      sources."entities-1.1.2"
-      sources."error-ex-1.3.2"
-      sources."escape-string-regexp-4.0.0"
-      (sources."eslint-7.32.0" // {
-        dependencies = [
-          sources."eslint-visitor-keys-2.1.0"
-        ];
-      })
-      sources."eslint-scope-5.1.1"
-      sources."eslint-utils-2.1.0"
-      sources."eslint-visitor-keys-1.3.0"
-      sources."espree-7.3.1"
-      sources."esprima-4.0.1"
-      (sources."esquery-1.4.0" // {
-        dependencies = [
-          sources."estraverse-5.3.0"
-        ];
-      })
-      (sources."esrecurse-4.3.0" // {
-        dependencies = [
-          sources."estraverse-5.3.0"
-        ];
-      })
-      sources."estraverse-4.3.0"
-      sources."esutils-2.0.3"
-      (sources."execa-0.7.0" // {
-        dependencies = [
-          sources."cross-spawn-5.1.0"
-          sources."lru-cache-4.1.5"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
-          sources."yallist-2.1.2"
-        ];
-      })
-      sources."execall-1.0.0"
-      sources."expand-brackets-0.1.5"
-      sources."expand-range-1.8.2"
-      sources."extend-3.0.2"
-      (sources."extend-shallow-3.0.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      (sources."extglob-0.3.2" // {
-        dependencies = [
-          sources."is-extglob-1.0.0"
-        ];
-      })
-      sources."fast-deep-equal-3.1.3"
-      (sources."fast-glob-2.2.7" // {
-        dependencies = [
-          sources."arr-diff-4.0.0"
-          sources."array-unique-0.3.2"
-          (sources."braces-2.3.2" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          sources."debug-2.6.9"
-          (sources."expand-brackets-2.1.4" // {
-            dependencies = [
-              sources."define-property-0.2.5"
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."extglob-2.0.4" // {
-            dependencies = [
-              sources."define-property-1.0.0"
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."fill-range-4.0.0" // {
-            dependencies = [
-              sources."extend-shallow-2.0.1"
-            ];
-          })
-          (sources."glob-parent-3.1.0" // {
-            dependencies = [
-              sources."is-glob-3.1.0"
-            ];
-          })
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."isobject-3.0.1"
-          sources."kind-of-6.0.3"
-          sources."micromatch-3.1.10"
-          sources."ms-2.0.0"
-        ];
-      })
-      sources."fast-json-stable-stringify-2.1.0"
-      sources."fast-levenshtein-2.0.6"
-      sources."file-entry-cache-6.0.1"
-      sources."filename-regex-2.0.1"
-      sources."fill-range-2.2.4"
-      sources."find-up-2.1.0"
-      sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
-      sources."for-in-1.0.2"
-      sources."for-own-0.1.5"
-      sources."fragment-cache-0.2.1"
-      sources."fs.realpath-1.0.0"
-      sources."function-bind-1.1.1"
-      sources."functional-red-black-tree-1.0.1"
-      sources."get-caller-file-1.0.3"
-      sources."get-stdin-5.0.1"
-      sources."get-stream-3.0.0"
-      sources."get-value-2.0.6"
-      sources."glob-7.2.0"
-      (sources."glob-base-0.3.0" // {
-        dependencies = [
-          sources."glob-parent-2.0.0"
-          sources."is-extglob-1.0.0"
-          sources."is-glob-2.0.1"
-        ];
-      })
-      sources."glob-parent-5.1.2"
-      sources."glob-to-regexp-0.3.0"
-      sources."global-dirs-0.1.1"
-      sources."globals-13.12.0"
-      (sources."globby-6.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."globjoin-0.1.4"
-      sources."gonzales-pe-4.3.0"
-      sources."got-6.7.1"
-      sources."graceful-fs-4.2.9"
-      sources."has-1.0.3"
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
-      sources."has-flag-3.0.0"
-      (sources."has-value-1.0.0" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      (sources."has-values-1.0.0" // {
-        dependencies = [
-          (sources."is-number-3.0.0" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."kind-of-4.0.0"
-        ];
-      })
-      sources."hosted-git-info-2.8.9"
-      sources."html-tags-2.0.0"
-      sources."htmlparser2-3.10.1"
-      sources."ignore-4.0.6"
-      sources."import-fresh-3.3.0"
-      sources."import-lazy-2.1.0"
-      sources."import-local-0.1.1"
-      sources."imurmurhash-0.1.4"
-      sources."indent-string-4.0.0"
-      sources."indexes-of-1.0.1"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      sources."invert-kv-2.0.0"
-      (sources."is-accessor-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.3"
-        ];
-      })
-      sources."is-alphabetical-1.0.4"
-      sources."is-alphanumeric-1.0.0"
-      sources."is-alphanumerical-1.0.4"
-      sources."is-arrayish-0.2.1"
-      sources."is-buffer-1.1.6"
-      sources."is-ci-1.2.1"
-      sources."is-core-module-2.8.1"
-      (sources."is-data-descriptor-1.0.0" // {
-        dependencies = [
-          sources."kind-of-6.0.3"
-        ];
-      })
-      sources."is-decimal-1.0.4"
-      (sources."is-descriptor-1.0.2" // {
-        dependencies = [
-          sources."kind-of-6.0.3"
-        ];
-      })
-      sources."is-directory-0.3.1"
-      sources."is-dotfile-1.0.3"
-      sources."is-equal-shallow-0.1.3"
-      sources."is-extendable-0.1.1"
-      sources."is-extglob-2.1.1"
-      sources."is-finite-1.1.0"
-      sources."is-fullwidth-code-point-3.0.0"
-      sources."is-glob-4.0.3"
-      sources."is-hexadecimal-1.0.4"
-      sources."is-installed-globally-0.1.0"
-      sources."is-npm-1.0.0"
-      sources."is-number-2.1.0"
-      sources."is-obj-2.0.0"
-      sources."is-path-inside-1.0.1"
-      sources."is-plain-obj-1.1.0"
-      (sources."is-plain-object-2.0.4" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."is-posix-bracket-0.1.1"
-      sources."is-primitive-2.0.0"
-      sources."is-redirect-1.0.0"
-      sources."is-regexp-1.0.0"
-      sources."is-retry-allowed-1.2.0"
-      sources."is-stream-1.1.0"
-      sources."is-supported-regexp-flag-1.0.1"
-      sources."is-utf8-0.2.1"
-      sources."is-whitespace-character-1.0.4"
-      sources."is-windows-1.0.2"
-      sources."is-word-character-1.0.4"
-      sources."isarray-1.0.0"
-      sources."isexe-2.0.0"
-      sources."isobject-2.1.0"
-      sources."js-base64-2.6.4"
-      sources."js-tokens-4.0.0"
-      sources."js-yaml-3.14.1"
-      sources."json-parse-better-errors-1.0.2"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."kind-of-3.2.2"
-      sources."known-css-properties-0.5.0"
-      sources."latest-version-3.1.0"
-      sources."lcid-2.0.0"
-      sources."levn-0.4.1"
-      (sources."load-json-file-1.1.0" // {
-        dependencies = [
-          sources."parse-json-2.2.0"
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."locate-path-2.0.0"
-      sources."lodash-4.17.21"
-      sources."lodash.merge-4.6.2"
-      sources."lodash.truncate-4.4.2"
-      (sources."log-symbols-2.2.0" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-          sources."escape-string-regexp-1.0.5"
-        ];
-      })
-      sources."loglevel-1.8.0"
-      (sources."loglevel-colored-level-prefix-1.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-2.2.1"
-          sources."chalk-1.1.3"
-          sources."escape-string-regexp-1.0.5"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
-        ];
-      })
-      sources."longest-streak-2.0.4"
-      sources."loud-rejection-1.6.0"
-      sources."lowercase-keys-1.0.1"
-      sources."lru-cache-6.0.0"
-      sources."make-dir-1.3.0"
-      sources."map-age-cleaner-0.1.3"
-      sources."map-cache-0.2.2"
-      sources."map-obj-1.0.1"
-      sources."map-visit-1.0.0"
-      sources."markdown-escapes-1.0.4"
-      sources."markdown-table-1.1.3"
-      sources."math-random-1.0.4"
-      sources."mathml-tag-names-2.1.3"
-      sources."mdast-util-compact-1.0.4"
-      sources."mem-4.3.0"
-      sources."meow-3.7.0"
-      sources."merge2-1.4.1"
-      (sources."micromatch-2.3.11" // {
-        dependencies = [
-          sources."is-extglob-1.0.0"
-          sources."is-glob-2.0.1"
-        ];
-      })
-      sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
-      sources."minimist-options-3.0.2"
-      (sources."mixin-deep-1.3.2" // {
-        dependencies = [
-          sources."is-extendable-1.0.1"
-        ];
-      })
-      sources."mkdirp-0.5.5"
-      sources."ms-2.1.2"
-      (sources."nanomatch-1.2.13" // {
-        dependencies = [
-          sources."arr-diff-4.0.0"
-          sources."array-unique-0.3.2"
-          sources."kind-of-6.0.3"
-        ];
-      })
-      sources."natural-compare-1.4.0"
-      sources."nice-try-1.0.5"
-      (sources."normalize-package-data-2.5.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."normalize-path-2.1.1"
-      sources."normalize-range-0.1.2"
-      sources."normalize-selector-0.2.0"
-      (sources."npm-run-path-2.0.2" // {
-        dependencies = [
-          sources."path-key-2.0.1"
-        ];
-      })
-      sources."num2fraction-1.2.2"
-      sources."number-is-nan-1.0.1"
-      sources."object-assign-4.1.1"
-      (sources."object-copy-0.1.0" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          sources."is-accessor-descriptor-0.1.6"
-          sources."is-data-descriptor-0.1.4"
-          (sources."is-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-5.1.0"
-            ];
-          })
-        ];
-      })
-      (sources."object-visit-1.0.1" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."object.omit-2.0.1"
-      (sources."object.pick-1.3.0" // {
-        dependencies = [
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."once-1.4.0"
-      sources."optionator-0.9.1"
-      (sources."os-locale-3.1.0" // {
-        dependencies = [
-          sources."cross-spawn-6.0.5"
-          sources."execa-1.0.0"
-          sources."get-stream-4.1.0"
-          sources."path-key-2.0.1"
-          sources."semver-5.7.1"
-          sources."shebang-command-1.2.0"
-          sources."shebang-regex-1.0.0"
-          sources."which-1.3.1"
-        ];
-      })
-      sources."p-defer-1.0.0"
-      sources."p-finally-1.0.0"
-      sources."p-is-promise-2.1.0"
-      sources."p-limit-1.3.0"
-      sources."p-locate-2.0.0"
-      sources."p-try-1.0.0"
-      (sources."package-json-4.0.1" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."parent-module-1.0.1"
-      sources."parse-entities-1.2.2"
-      (sources."parse-glob-3.0.4" // {
-        dependencies = [
-          sources."is-extglob-1.0.0"
-          sources."is-glob-2.0.1"
-        ];
-      })
-      sources."parse-json-3.0.0"
-      sources."pascalcase-0.1.1"
-      sources."path-dirname-1.0.2"
-      sources."path-exists-3.0.0"
-      sources."path-is-absolute-1.0.1"
-      sources."path-is-inside-1.0.2"
-      sources."path-key-3.1.1"
-      sources."path-parse-1.0.7"
-      (sources."path-type-1.1.0" // {
-        dependencies = [
-          sources."pify-2.3.0"
-        ];
-      })
-      sources."pify-3.0.0"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
-      sources."pkg-dir-2.0.0"
-      sources."posix-character-classes-0.1.1"
-      (sources."postcss-6.0.23" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-          sources."escape-string-regexp-1.0.5"
-        ];
-      })
-      sources."postcss-html-0.12.0"
-      (sources."postcss-less-1.1.5" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-2.2.1"
-          (sources."chalk-1.1.3" // {
-            dependencies = [
-              sources."supports-color-2.0.0"
-            ];
-          })
-          sources."escape-string-regexp-1.0.5"
-          sources."has-flag-1.0.0"
-          sources."postcss-5.2.18"
-          sources."source-map-0.5.7"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-3.2.3"
-        ];
-      })
-      sources."postcss-media-query-parser-0.2.3"
-      (sources."postcss-reporter-5.0.0" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-          sources."escape-string-regexp-1.0.5"
-        ];
-      })
-      sources."postcss-resolve-nested-selector-0.1.1"
-      sources."postcss-safe-parser-3.0.1"
-      sources."postcss-sass-0.2.0"
-      sources."postcss-scss-1.0.6"
-      sources."postcss-selector-parser-3.1.2"
-      sources."postcss-value-parser-3.3.1"
-      sources."prelude-ls-1.2.1"
-      sources."prepend-http-1.0.4"
-      sources."preserve-0.2.0"
       sources."prettier-2.5.1"
-      sources."prettier-eslint-12.0.0"
-      (sources."prettier-stylelint-0.4.2" // {
-        dependencies = [
-          sources."debug-3.2.7"
-          sources."ignore-3.3.10"
-          sources."prettier-1.19.1"
-        ];
-      })
-      (sources."prettier-tslint-0.4.2" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-          sources."dir-glob-2.0.0"
-          sources."escape-string-regexp-1.0.5"
-          sources."globby-8.0.2"
-          sources."ignore-3.3.10"
-          sources."path-type-3.0.0"
-        ];
-      })
-      (sources."pretty-format-23.6.0" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-        ];
-      })
-      sources."progress-2.0.3"
-      sources."pseudomap-1.0.2"
-      sources."pump-3.0.0"
-      sources."punycode-2.1.1"
-      sources."quick-lru-1.1.0"
-      (sources."randomatic-3.1.1" // {
-        dependencies = [
-          sources."is-number-4.0.0"
-          sources."kind-of-6.0.3"
-        ];
-      })
-      (sources."rc-1.2.8" // {
-        dependencies = [
-          sources."strip-json-comments-2.0.1"
-        ];
-      })
-      sources."read-pkg-1.1.0"
-      (sources."read-pkg-up-1.0.1" // {
-        dependencies = [
-          sources."find-up-1.1.2"
-          sources."path-exists-2.1.0"
-        ];
-      })
-      sources."readable-stream-3.6.0"
-      (sources."redent-1.0.0" // {
-        dependencies = [
-          sources."indent-string-2.1.0"
-        ];
-      })
-      sources."regex-cache-0.4.4"
-      sources."regex-not-1.0.2"
-      sources."regexpp-3.2.0"
-      sources."registry-auth-token-3.4.0"
-      sources."registry-url-3.1.0"
-      sources."remark-8.0.0"
-      sources."remark-parse-4.0.0"
-      sources."remark-stringify-4.0.0"
-      sources."remove-trailing-separator-1.1.0"
-      sources."repeat-element-1.1.4"
-      sources."repeat-string-1.6.1"
-      sources."repeating-2.0.1"
-      sources."replace-ext-1.0.0"
-      sources."require-directory-2.1.1"
-      sources."require-from-string-2.0.2"
-      sources."require-main-filename-1.0.1"
-      sources."require-relative-0.8.7"
-      sources."resolve-1.22.0"
-      (sources."resolve-cwd-2.0.0" // {
-        dependencies = [
-          sources."resolve-from-3.0.0"
-        ];
-      })
-      sources."resolve-from-4.0.0"
-      sources."resolve-url-0.2.1"
-      sources."ret-0.1.15"
-      sources."rimraf-3.0.2"
-      sources."safe-buffer-5.2.1"
-      sources."safe-regex-1.1.0"
-      sources."semver-7.3.5"
-      (sources."semver-diff-2.1.0" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."set-blocking-2.0.0"
-      (sources."set-value-2.0.1" // {
-        dependencies = [
-          sources."extend-shallow-2.0.1"
-        ];
-      })
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
-      sources."slash-1.0.0"
-      (sources."slice-ansi-4.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
-      (sources."snapdragon-0.8.2" // {
-        dependencies = [
-          sources."debug-2.6.9"
-          sources."define-property-0.2.5"
-          sources."extend-shallow-2.0.1"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-          sources."ms-2.0.0"
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."snapdragon-node-2.1.1" // {
-        dependencies = [
-          sources."define-property-1.0.0"
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."snapdragon-util-3.0.1"
-      sources."source-map-0.6.1"
-      sources."source-map-resolve-0.5.3"
-      sources."source-map-url-0.4.1"
-      sources."spdx-correct-3.1.1"
-      sources."spdx-exceptions-2.3.0"
-      sources."spdx-expression-parse-3.0.1"
-      sources."spdx-license-ids-3.0.11"
-      sources."specificity-0.3.2"
-      sources."split-string-3.1.0"
-      sources."sprintf-js-1.0.3"
-      sources."state-toggle-1.0.3"
-      (sources."static-extend-0.1.2" // {
-        dependencies = [
-          sources."define-property-0.2.5"
-          (sources."is-accessor-descriptor-0.1.6" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          (sources."is-data-descriptor-0.1.4" // {
-            dependencies = [
-              sources."kind-of-3.2.2"
-            ];
-          })
-          sources."is-descriptor-0.1.6"
-          sources."kind-of-5.1.0"
-        ];
-      })
-      sources."string-width-4.2.3"
-      sources."string_decoder-1.3.0"
-      sources."stringify-entities-1.3.2"
-      sources."strip-ansi-6.0.1"
-      sources."strip-bom-2.0.0"
-      sources."strip-eof-1.0.0"
-      (sources."strip-indent-1.0.1" // {
-        dependencies = [
-          sources."get-stdin-4.0.1"
-        ];
-      })
-      sources."strip-json-comments-3.1.1"
-      sources."style-search-0.1.0"
-      (sources."stylelint-8.4.0" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."camelcase-4.1.0"
-          sources."camelcase-keys-4.2.0"
-          sources."chalk-2.4.2"
-          sources."debug-3.2.7"
-          sources."escape-string-regexp-1.0.5"
-          sources."file-entry-cache-2.0.0"
-          sources."flat-cache-1.3.4"
-          sources."globby-7.1.1"
-          sources."ignore-3.3.10"
-          sources."indent-string-3.2.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."load-json-file-4.0.0"
-          sources."map-obj-2.0.0"
-          sources."meow-4.0.1"
-          sources."parse-json-4.0.0"
-          sources."path-type-3.0.0"
-          sources."read-pkg-3.0.0"
-          sources."read-pkg-up-3.0.0"
-          sources."redent-2.0.0"
-          sources."rimraf-2.6.3"
-          sources."slice-ansi-1.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-          sources."strip-bom-3.0.0"
-          sources."strip-indent-2.0.0"
-          sources."table-4.0.3"
-          sources."trim-newlines-2.0.0"
-        ];
-      })
-      sources."sugarss-1.0.1"
-      sources."supports-color-5.5.0"
-      sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."svg-tags-1.0.0"
-      (sources."table-6.8.0" // {
-        dependencies = [
-          sources."ajv-8.9.0"
-          sources."json-schema-traverse-1.0.0"
-        ];
-      })
-      sources."temp-dir-1.0.0"
-      sources."temp-write-3.4.0"
-      sources."tempy-0.2.1"
-      sources."term-size-1.2.0"
-      sources."text-table-0.2.0"
-      sources."timed-out-4.0.1"
-      sources."to-object-path-0.3.0"
-      sources."to-regex-3.0.2"
-      (sources."to-regex-range-2.1.1" // {
-        dependencies = [
-          sources."is-number-3.0.0"
-        ];
-      })
-      sources."trim-0.0.1"
-      sources."trim-newlines-1.0.0"
-      sources."trim-trailing-lines-1.1.4"
-      sources."trough-1.0.5"
-      sources."tslib-1.14.1"
-      (sources."tslint-5.20.1" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-          sources."escape-string-regexp-1.0.5"
-          sources."semver-5.7.1"
-          sources."tsutils-2.29.0"
-        ];
-      })
-      sources."tsutils-3.21.0"
-      sources."type-check-0.4.0"
-      sources."type-fest-0.20.2"
-      sources."typescript-3.9.10"
-      sources."unherit-1.1.3"
-      sources."unified-6.2.0"
-      sources."union-value-1.0.1"
-      sources."uniq-1.0.1"
-      sources."unique-string-1.0.0"
-      sources."unist-util-find-all-after-1.0.5"
-      sources."unist-util-is-3.0.0"
-      sources."unist-util-remove-position-1.1.4"
-      sources."unist-util-stringify-position-1.1.2"
-      sources."unist-util-visit-1.4.1"
-      sources."unist-util-visit-parents-2.1.2"
-      (sources."unset-value-1.0.0" // {
-        dependencies = [
-          (sources."has-value-0.3.1" // {
-            dependencies = [
-              sources."isobject-2.1.0"
-            ];
-          })
-          sources."has-values-0.1.4"
-          sources."isobject-3.0.1"
-        ];
-      })
-      sources."unzip-response-2.0.1"
-      (sources."update-notifier-2.5.0" // {
-        dependencies = [
-          sources."chalk-2.4.2"
-          sources."escape-string-regexp-1.0.5"
-        ];
-      })
-      sources."uri-js-4.4.1"
-      sources."urix-0.1.0"
-      sources."url-parse-lax-1.0.0"
-      sources."use-3.1.1"
-      sources."util-deprecate-1.0.2"
-      sources."uuid-3.4.0"
-      sources."v8-compile-cache-2.3.0"
-      sources."validate-npm-package-license-3.0.4"
-      sources."vfile-2.3.0"
-      sources."vfile-location-2.0.6"
-      sources."vfile-message-1.1.1"
-      (sources."vue-eslint-parser-7.1.1" // {
-        dependencies = [
-          sources."espree-6.2.1"
-        ];
-      })
-      sources."which-2.0.2"
-      sources."which-module-2.0.0"
-      (sources."widest-line-2.0.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
-      sources."word-wrap-1.2.3"
-      (sources."wrap-ansi-2.1.0" // {
-        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."wrappy-1.0.2"
-      sources."write-0.2.1"
-      sources."write-file-atomic-2.4.3"
-      sources."x-is-string-0.1.0"
-      sources."xdg-basedir-3.0.0"
-      sources."xtend-4.0.2"
-      sources."y18n-3.2.2"
-      sources."yallist-4.0.0"
-      (sources."yargs-11.1.1" // {
-        dependencies = [
-          sources."ansi-regex-3.0.0"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."string-width-2.1.1"
-          sources."strip-ansi-4.0.0"
-        ];
-      })
-      (sources."yargs-parser-9.0.2" // {
-        dependencies = [
-          sources."camelcase-4.1.0"
-        ];
-      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
       description = "prettier extension for coc.nvim";
+      homepage = "https://github.com/neoclide/coc-prettier#readme";
       license = "MIT";
     };
     production = true;
@@ -83291,13 +83487,13 @@ in
   coc-pyright = nodeEnv.buildNodePackage {
     name = "coc-pyright";
     packageName = "coc-pyright";
-    version = "1.1.210";
+    version = "1.1.220";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.210.tgz";
-      sha512 = "d+x38jGi3b0gD4axhYdHcS6TX9T/Q6qndVbn3TQMbLdQxiGmBBoy/hB/AouXwEByg/XyBtmyDiaWxm7r0UfgQw==";
+      url = "https://registry.npmjs.org/coc-pyright/-/coc-pyright-1.1.220.tgz";
+      sha512 = "M0GVuo8jgQxI/YqkExByeAkjwEvu8uqGicYD4zRctxU/THd1CQUvIWWFDKB1a7co8sCntZlMnhqqxAF4CLyYQw==";
     };
     dependencies = [
-      sources."pyright-1.1.214"
+      sources."pyright-1.1.223"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -83338,7 +83534,7 @@ in
     dependencies = [
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
     ];
     buildInputs = globalBuildInputs;
@@ -83371,10 +83567,10 @@ in
   coc-rust-analyzer = nodeEnv.buildNodePackage {
     name = "coc-rust-analyzer";
     packageName = "coc-rust-analyzer";
-    version = "0.59.1";
+    version = "0.60.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.59.1.tgz";
-      sha512 = "nd/vzaskA29qevdlU8SwoOaUSl5Qgcoh51HuD+8xxTWZ3Tt4LFuprVjvJ6DD3sgnguUN02wN090gh1ZihMrDJA==";
+      url = "https://registry.npmjs.org/coc-rust-analyzer/-/coc-rust-analyzer-0.60.0.tgz";
+      sha512 = "GbRP3O/ZmnjiAnPDtqoQ+jJIzgCwinENp8lxlQdSPkXjW2vwgd4DTkYLU2p3/0BMoHn9zNCzM5iBO+OLei5upA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -83407,10 +83603,10 @@ in
   coc-snippets = nodeEnv.buildNodePackage {
     name = "coc-snippets";
     packageName = "coc-snippets";
-    version = "2.4.7";
+    version = "2.4.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.7.tgz";
-      sha512 = "i7P14KzQVE9TILKAXW9+HW9ILZkFuBfCrwEvQmwF2ZFrKl1YgNSj9I5TJNqLfRynIeNmCuEELfEWMhl4kjvp0g==";
+      url = "https://registry.npmjs.org/coc-snippets/-/coc-snippets-2.4.8.tgz";
+      sha512 = "Ku7Hf2MYJwYGuGMz6Qt9k46NQd+9+VcF0MeKuVTpIPtVIaKqRtKg6alDL+less7r6U2twIKWQTdYeqRCZBLnag==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -83447,10 +83643,11 @@ in
       sha512 = "+GYR6KTvHQnqu0j1kXT30hRZMuCwG/G52wG/19LSPE+p9Q0i8XFH6582T0btTu39xz2TPsDOGjT1VgyRw2urug==";
     };
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      sources."@babel/core-7.16.12"
-      sources."@babel/generator-7.16.8"
+      sources."@babel/compat-data-7.17.0"
+      sources."@babel/core-7.17.5"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-compilation-targets-7.16.7"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-function-name-7.16.7"
@@ -83462,16 +83659,19 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       (sources."@babel/highlight-7.16.10" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
@@ -83482,7 +83682,7 @@ in
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/unist-2.0.6"
-      sources."ajv-8.9.0"
+      sources."ajv-8.10.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -83501,11 +83701,11 @@ in
         ];
       })
       sources."braces-3.0.2"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -83542,7 +83742,7 @@ in
       sources."domelementtype-1.3.1"
       sources."domhandler-2.4.2"
       sources."domutils-1.7.0"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."entities-1.1.2"
       sources."error-ex-1.3.2"
@@ -83559,7 +83759,7 @@ in
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."gensync-1.0.0-beta.2"
@@ -83630,7 +83830,7 @@ in
       sources."micromark-2.11.4"
       sources."micromatch-4.0.4"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minimist-options-4.1.0" // {
         dependencies = [
@@ -83638,7 +83838,7 @@ in
         ];
       })
       sources."ms-2.1.2"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -83707,7 +83907,7 @@ in
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.1.2"
       sources."semver-6.3.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       (sources."slice-ansi-4.0.0" // {
         dependencies = [
@@ -83760,7 +83960,7 @@ in
           sources."vscode-languageserver-types-3.16.0-next.1"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-uri-2.1.2"
       sources."which-1.3.1"
@@ -83850,7 +84050,7 @@ in
       sources."is-core-module-2.8.1"
       sources."js-tokens-4.0.0"
       sources."js-yaml-3.14.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."once-1.4.0"
@@ -83890,7 +84090,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."concat-map-0.0.1"
       sources."get-caller-file-1.0.3"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."mock-require-3.0.3"
       sources."normalize-path-2.1.1"
       sources."remove-trailing-separator-1.1.0"
@@ -83913,10 +84113,10 @@ in
   coc-tsserver = nodeEnv.buildNodePackage {
     name = "coc-tsserver";
     packageName = "coc-tsserver";
-    version = "1.9.8";
+    version = "1.9.12";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.9.8.tgz";
-      sha512 = "fbVD0V2ZWlX8471cqeILz0k1OfHd20WI9tmrLfZy1vsUZtAFVXtvwO9cuA6FZ1vm/vpoUHelQ70Yd6ENFIddRQ==";
+      url = "https://registry.npmjs.org/coc-tsserver/-/coc-tsserver-1.9.12.tgz";
+      sha512 = "6eLxc/n1kfGPZz6hQNr4rT2b8CYHOsYSdrylJ3bxhdjA9sUmzF5Rjutjyz/4WKY7saVu30wmvfjdtPZDTyQUFw==";
     };
     dependencies = [
       sources."typescript-4.5.5"
@@ -84040,14 +84240,14 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-intrinsic-1.1.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globals-13.12.0"
+      sources."globals-13.12.1"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
@@ -84073,7 +84273,7 @@ in
       sources."lodash.merge-4.6.2"
       sources."lodash.truncate-4.4.2"
       sources."lru-cache-6.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
@@ -84114,7 +84314,7 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -84176,10 +84376,10 @@ in
   coc-vimtex = nodeEnv.buildNodePackage {
     name = "coc-vimtex";
     packageName = "coc-vimtex";
-    version = "1.1.0";
+    version = "1.1.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.1.0.tgz";
-      sha512 = "1CFLycCS+gbvUzVnrdN9SU7clGaPckD8uj+1XFqfuRqh+m58rUd0+xchNSJZcVHMGXlH5fJMvaJyAgZNjU2m/g==";
+      url = "https://registry.npmjs.org/coc-vimtex/-/coc-vimtex-1.1.1.tgz";
+      sha512 = "mSnoYlb0J41LG6uTgGlLOj/jM4wEYKv1IhP0p7LUo+eZSzdlWuuP2r+zmNbd+MeN/k5ftcgahVSLaUv5QVtpsA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -84211,25 +84411,13 @@ in
   coc-yaml = nodeEnv.buildNodePackage {
     name = "coc-yaml";
     packageName = "coc-yaml";
-    version = "1.6.1";
+    version = "1.7.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.6.1.tgz";
-      sha512 = "YhsgTIFfCCExjxGK3/vEnR8oUmjEitMa2rvqCZZqjLD785XsLRZAbM14vJ5ZIxbdnjqu3uZ3y2d0tFmgrtuYew==";
+      url = "https://registry.npmjs.org/coc-yaml/-/coc-yaml-1.7.4.tgz";
+      sha512 = "fmn+qsWUwVTIxoAv0gH4rNZJKXmUZoaOpxomMzJJrQo0PN31cMXZzD55IV0eudk5VLos4ARUBhtsdcxBUfQ15w==";
     };
     dependencies = [
-      sources."jsonc-parser-3.0.0"
       sources."prettier-2.0.5"
-      sources."request-light-0.5.7"
-      sources."vscode-json-languageservice-4.1.7"
-      sources."vscode-jsonrpc-6.0.0"
-      sources."vscode-languageserver-7.0.0"
-      sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
-      sources."vscode-languageserver-types-3.16.0"
-      sources."vscode-nls-5.0.0"
-      sources."vscode-uri-3.0.3"
-      sources."yaml-2.0.0-8"
-      sources."yaml-language-server-1.2.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -84243,10 +84431,10 @@ in
   coc-yank = nodeEnv.buildNodePackage {
     name = "coc-yank";
     packageName = "coc-yank";
-    version = "1.2.0";
+    version = "1.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/coc-yank/-/coc-yank-1.2.0.tgz";
-      sha512 = "6Ene7ds4ZVfFLzihd3YaPussxNf0npGlPrlPpnGnCPeZ5bGDcEc3j++0Pl4yjo0sIb1QKR/WjrfA0/1Q8mi9yw==";
+      url = "https://registry.npmjs.org/coc-yank/-/coc-yank-1.2.1.tgz";
+      sha512 = "Eg5LmZtXqcACrGV6CiYzyUV3cL6JLmk43OLlXQu6wTFe8oC7aFi/sWAnL9oHSejki2iiNJqc50aLYfupxXRwOg==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -84267,7 +84455,7 @@ in
       sha512 = "uPhR9IKtN1z6gt9mpRH5OAdYjJQgQq7CCQpm5VmCpLe2QdGDzi4xfB3ybXGaBRX+UN4whtz3pZvgZssJvBwcqQ==";
     };
     dependencies = [
-      sources."@xstate/fsm-1.6.3"
+      sources."@xstate/fsm-1.6.4"
       sources."ansi-styles-3.2.1"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -84351,7 +84539,7 @@ in
           sources."pify-3.0.0"
         ];
       })
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."nice-try-1.0.5"
@@ -84391,7 +84579,7 @@ in
       sources."semver-5.7.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-2.0.0"
       (sources."string_decoder-1.1.1" // {
         dependencies = [
@@ -84470,7 +84658,7 @@ in
       sources."colors-1.4.0"
       sources."commander-2.20.3"
       sources."escape-string-regexp-1.0.5"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."has-flag-3.0.0"
       sources."is-fullwidth-code-point-2.0.0"
       sources."log-symbols-2.2.0"
@@ -84479,7 +84667,7 @@ in
       sources."onetime-2.0.1"
       sources."ora-1.4.0"
       sources."restore-cursor-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."string-width-2.1.1"
       sources."strip-ansi-4.0.0"
       sources."supports-color-5.5.0"
@@ -84546,40 +84734,40 @@ in
   configurable-http-proxy = nodeEnv.buildNodePackage {
     name = "configurable-http-proxy";
     packageName = "configurable-http-proxy";
-    version = "4.5.0";
+    version = "4.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.5.0.tgz";
-      sha512 = "iuaG85EDWIp02Dm1LZsi7vRE4CH5cRwo2+GaEEAi6fgX3dRLpt/jhQc7ylwXibi4kUjMvpV/xbMwjRRmGcg4NQ==";
+      url = "https://registry.npmjs.org/configurable-http-proxy/-/configurable-http-proxy-4.5.1.tgz";
+      sha512 = "SALL4kqMSKdpClQnFe2h8qSQyWrShXWepiQwci6PNc/7Le+L9RRiQc/X+YEY6hDhIkaAneUlApQfWfnW/JSdqg==";
     };
     dependencies = [
-      sources."@dabh/diagnostics-2.0.2"
+      sources."@colors/colors-1.5.0"
+      sources."@dabh/diagnostics-2.0.3"
       sources."async-3.2.3"
       sources."bintrees-1.0.1"
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.9.0"
-      sources."colors-1.4.0"
       sources."colorspace-1.1.4"
-      sources."commander-8.0.0"
+      sources."commander-7.2.0"
       sources."enabled-2.0.0"
       sources."eventemitter3-4.0.7"
       sources."fecha-4.2.1"
       sources."fn.name-1.1.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."http-proxy-1.18.1"
       sources."inherits-2.0.4"
       sources."is-arrayish-0.3.2"
       sources."is-stream-2.0.1"
       sources."kuler-2.0.0"
-      sources."logform-2.3.2"
+      sources."logform-2.4.0"
       sources."ms-2.1.3"
       sources."one-time-1.0.0"
-      sources."prom-client-13.1.0"
+      sources."prom-client-14.0.1"
       sources."readable-stream-3.6.0"
       sources."requires-port-1.0.0"
       sources."safe-buffer-5.2.1"
-      sources."safe-stable-stringify-1.1.1"
+      sources."safe-stable-stringify-2.3.1"
       sources."simple-swizzle-0.2.2"
       sources."stack-trace-0.0.10"
       sources."strftime-0.10.1"
@@ -84588,8 +84776,8 @@ in
       sources."text-hex-1.0.0"
       sources."triple-beam-1.3.0"
       sources."util-deprecate-1.0.2"
-      sources."winston-3.3.4"
-      sources."winston-transport-4.4.2"
+      sources."winston-3.5.1"
+      sources."winston-transport-4.5.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -84796,7 +84984,7 @@ in
       sources."through2-4.0.2"
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.18.1"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."validate-npm-package-license-3.0.4"
@@ -84827,12 +85015,12 @@ in
       sha512 = "Hu2YeT0naeP/1sEm/xfJYUsXN48XV6zagxbi1+4q0Ei9c5TKsIq8v4EWukvSHF4UO2pnh+9ViaDlGMcS1Wrnfg==";
     };
     dependencies = [
-      sources."@gar/promisify-1.1.2"
+      sources."@gar/promisify-1.1.3"
       sources."@netflix/nerror-1.1.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.1.0"
+      sources."@npmcli/fs-1.1.1"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
@@ -84843,18 +85031,14 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."@tootallnate/once-1.1.2"
       sources."abbrev-1.1.1"
-      (sources."accepts-1.3.7" // {
-        dependencies = [
-          sources."negotiator-0.6.2"
-        ];
-      })
+      sources."accepts-1.3.8"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.2.0"
       sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       (sources."ajv-formats-2.1.1" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -84887,13 +85071,13 @@ in
       sources."base64-js-1.5.1"
       sources."bcrypt-pbkdf-1.0.2"
       sources."big-integer-1.6.51"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
           sources."debug-2.6.9"
           sources."iconv-lite-0.4.24"
           sources."ms-2.0.0"
-          sources."qs-6.9.6"
+          sources."qs-6.9.7"
         ];
       })
       (sources."boxen-5.1.2" // {
@@ -84943,7 +85127,7 @@ in
       sources."concat-map-0.0.1"
       (sources."conf-10.1.1" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."dot-prop-6.0.1"
           sources."json-schema-traverse-1.0.0"
         ];
@@ -84956,7 +85140,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."cordova-app-hello-world-6.0.0"
       (sources."cordova-common-4.0.2" // {
@@ -85022,11 +85206,11 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."etag-1.8.1"
       sources."execa-5.1.1"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
-          sources."qs-6.9.6"
+          sources."qs-6.9.7"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -85193,7 +85377,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -85271,9 +85455,9 @@ in
       sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.2" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
           sources."iconv-lite-0.4.24"
         ];
       })
@@ -85330,10 +85514,10 @@ in
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-6.1.1"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -85351,7 +85535,7 @@ in
       sources."strip-json-comments-2.0.1"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.10.7"
+      sources."systeminformation-5.11.4"
       sources."tar-6.1.11"
       sources."through-2.3.8"
       sources."tmp-0.2.1"
@@ -85448,7 +85632,7 @@ in
       sources."@types/glob-7.2.0"
       sources."@types/minimatch-3.0.5"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/normalize-package-data-2.4.1"
       sources."aggregate-error-3.1.0"
       sources."ansi-styles-3.2.1"
@@ -85618,7 +85802,7 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-3.1.10"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       (sources."minimist-options-4.1.0" // {
         dependencies = [
           sources."arrify-1.0.1"
@@ -85820,7 +86004,7 @@ in
       sources."@cycle/run-3.4.0"
       sources."@cycle/time-0.10.1"
       sources."@types/cookiejar-2.1.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/superagent-3.8.2"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-2.1.1"
@@ -85864,7 +86048,7 @@ in
       sources."event-emitter-0.3.5"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."extend-3.0.2"
@@ -85930,7 +86114,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."snabbdom-0.7.0"
       sources."snabbdom-selector-1.2.1"
       sources."sorted-immutable-list-1.1.0"
@@ -86008,7 +86192,7 @@ in
       sources."jsonfile-6.1.0"
       sources."kleur-3.0.3"
       sources."lru-cache-6.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
@@ -86084,10 +86268,10 @@ in
   cspell = nodeEnv.buildNodePackage {
     name = "cspell";
     packageName = "cspell";
-    version = "5.16.0";
+    version = "5.18.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/cspell/-/cspell-5.16.0.tgz";
-      sha512 = "giK0IZz1cK51mTSTox51GUxgcbKy5Y5yXvyqVpfQ6m4nATSuiSRiMPvlxX3Er2uAiNkolyLTIgUxBAV/c8U3PQ==";
+      url = "https://registry.npmjs.org/cspell/-/cspell-5.18.5.tgz";
+      sha512 = "rfk7sSZO304olxBXUFfec3YZL0gIyvjggwicGEgsweuh0Efdeq0zMmUV2sMckSOH9TVJdxW/DxTqjG+DLz8w+A==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -86102,45 +86286,48 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@cspell/cspell-bundled-dicts-5.16.0"
-      sources."@cspell/cspell-types-5.16.0"
-      sources."@cspell/dict-ada-1.1.2"
-      sources."@cspell/dict-aws-1.0.14"
-      sources."@cspell/dict-bash-1.0.17"
+      sources."@cspell/cspell-bundled-dicts-5.18.5"
+      sources."@cspell/cspell-pipe-5.18.5"
+      sources."@cspell/cspell-types-5.18.5"
+      sources."@cspell/dict-ada-2.0.0"
+      sources."@cspell/dict-aws-2.0.0"
+      sources."@cspell/dict-bash-2.0.1"
       sources."@cspell/dict-companies-2.0.2"
-      sources."@cspell/dict-cpp-1.1.40"
-      sources."@cspell/dict-cryptocurrencies-1.0.10"
+      sources."@cspell/dict-cpp-2.0.0"
+      sources."@cspell/dict-cryptocurrencies-2.0.0"
       sources."@cspell/dict-csharp-2.0.1"
-      sources."@cspell/dict-css-1.0.12"
-      sources."@cspell/dict-django-1.0.26"
-      sources."@cspell/dict-dotnet-1.0.32"
-      sources."@cspell/dict-elixir-1.0.26"
+      sources."@cspell/dict-css-2.0.0"
+      sources."@cspell/dict-dart-1.1.0"
+      sources."@cspell/dict-django-2.0.0"
+      sources."@cspell/dict-dotnet-2.0.0"
+      sources."@cspell/dict-elixir-2.0.0"
       sources."@cspell/dict-en-gb-1.1.33"
-      sources."@cspell/dict-en_us-2.1.4"
+      sources."@cspell/dict-en_us-2.1.7"
       sources."@cspell/dict-filetypes-2.0.1"
-      sources."@cspell/dict-fonts-1.0.14"
+      sources."@cspell/dict-fonts-2.0.0"
       sources."@cspell/dict-fullstack-2.0.4"
-      sources."@cspell/dict-golang-1.1.24"
-      sources."@cspell/dict-haskell-1.0.13"
-      sources."@cspell/dict-html-2.0.3"
-      sources."@cspell/dict-html-symbol-entities-1.0.23"
-      sources."@cspell/dict-java-1.0.23"
-      sources."@cspell/dict-latex-1.0.25"
-      sources."@cspell/dict-lorem-ipsum-1.0.22"
-      sources."@cspell/dict-lua-1.0.16"
-      sources."@cspell/dict-node-1.0.12"
-      sources."@cspell/dict-npm-1.0.16"
-      sources."@cspell/dict-php-1.0.25"
-      sources."@cspell/dict-powershell-1.0.19"
+      sources."@cspell/dict-golang-2.0.0"
+      sources."@cspell/dict-haskell-2.0.0"
+      sources."@cspell/dict-html-3.0.0"
+      sources."@cspell/dict-html-symbol-entities-2.0.0"
+      sources."@cspell/dict-java-2.0.0"
+      sources."@cspell/dict-latex-2.0.0"
+      sources."@cspell/dict-lorem-ipsum-2.0.0"
+      sources."@cspell/dict-lua-2.0.0"
+      sources."@cspell/dict-node-2.0.0"
+      sources."@cspell/dict-npm-2.0.1"
+      sources."@cspell/dict-php-2.0.0"
+      sources."@cspell/dict-powershell-2.0.0"
       sources."@cspell/dict-public-licenses-1.0.4"
-      sources."@cspell/dict-python-2.0.5"
-      sources."@cspell/dict-ruby-1.0.15"
-      sources."@cspell/dict-rust-1.0.23"
-      sources."@cspell/dict-scala-1.0.21"
-      sources."@cspell/dict-software-terms-2.0.12"
-      sources."@cspell/dict-swift-1.0.1"
-      sources."@cspell/dict-typescript-1.0.19"
-      sources."@cspell/dict-vue-2.0.1"
+      sources."@cspell/dict-python-2.0.6"
+      sources."@cspell/dict-r-1.0.2"
+      sources."@cspell/dict-ruby-2.0.0"
+      sources."@cspell/dict-rust-2.0.0"
+      sources."@cspell/dict-scala-2.0.0"
+      sources."@cspell/dict-software-terms-2.1.1"
+      sources."@cspell/dict-swift-1.0.2"
+      sources."@cspell/dict-typescript-2.0.0"
+      sources."@cspell/dict-vue-2.0.2"
       sources."@types/parse-json-4.0.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -86153,28 +86340,29 @@ in
       sources."clear-module-4.1.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-8.3.0"
-      sources."comment-json-4.1.1"
+      sources."commander-9.0.0"
+      sources."comment-json-4.2.2"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
       sources."core-util-is-1.0.3"
       sources."cosmiconfig-7.0.1"
       sources."crypto-random-string-2.0.0"
-      sources."cspell-gitignore-5.16.0"
-      sources."cspell-glob-5.16.0"
-      sources."cspell-io-5.16.0"
-      sources."cspell-lib-5.16.0"
-      sources."cspell-trie-lib-5.16.0"
+      sources."cspell-gitignore-5.18.5"
+      sources."cspell-glob-5.18.5"
+      sources."cspell-io-5.18.5"
+      sources."cspell-lib-5.18.5"
+      sources."cspell-trie-lib-5.18.5"
       sources."dot-prop-5.3.0"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
       sources."esprima-4.0.1"
+      sources."fast-equals-3.0.0"
       sources."fast-json-stable-stringify-2.1.0"
       sources."file-entry-cache-6.0.1"
       sources."fill-range-7.0.1"
       sources."find-up-5.0.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fs-extra-10.0.0"
       sources."fs.realpath-1.0.0"
       sources."gensequence-3.1.1"
@@ -86210,7 +86398,7 @@ in
         ];
       })
       sources."micromatch-4.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
@@ -86225,7 +86413,7 @@ in
       sources."resolve-global-1.0.0"
       sources."rimraf-3.0.2"
       sources."semver-7.3.5"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."strip-ansi-6.0.1"
       sources."supports-color-7.2.0"
       sources."to-regex-range-5.0.1"
@@ -86281,6 +86469,7 @@ in
       sha512 = "3aU21K/7C0oviDjDNelk7Xl3UwPV3zJs6fzZa63BMpTrQPxxTN7OA7pp+oRy7thRlrBe+ZF5FHXkwYE4P2PFsA==";
     };
     dependencies = [
+      sources."@colors/colors-1.5.0"
       (sources."@hyperswarm/dht-4.0.1" // {
         dependencies = [
           sources."sodium-native-3.3.0"
@@ -86363,7 +86552,7 @@ in
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
       sources."bulk-write-stream-1.1.4"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."cache-base-1.0.1"
       sources."call-me-maybe-1.0.1"
       sources."camelcase-4.1.0"
@@ -86395,7 +86584,7 @@ in
       sources."collection-visit-1.0.0"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
-      sources."colors-1.4.0"
+      sources."colors-1.0.3"
       sources."combined-stream-1.0.8"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
@@ -86451,6 +86640,7 @@ in
       sources."ecc-jsbn-0.1.2"
       sources."end-of-stream-1.4.4"
       sources."escape-string-regexp-1.0.5"
+      sources."events-3.3.0"
       sources."execa-0.7.0"
       (sources."expand-brackets-2.1.4" // {
         dependencies = [
@@ -86602,7 +86792,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-response-2.1.0"
       sources."min-document-2.19.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mirror-folder-3.1.0"
       (sources."mixin-deep-1.3.2" // {
@@ -86665,7 +86855,7 @@ in
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."progress-string-1.2.2"
-      sources."prompt-1.2.1"
+      sources."prompt-1.2.2"
       (sources."protocol-buffers-encodings-1.1.1" // {
         dependencies = [
           sources."varint-5.0.0"
@@ -86679,7 +86869,7 @@ in
       sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
       sources."random-access-memory-3.1.4"
-      sources."random-access-storage-1.4.2"
+      sources."random-access-storage-1.4.3"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
       sources."rc-1.2.8"
@@ -86689,7 +86879,7 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."record-cache-1.1.1"
+      sources."record-cache-1.2.0"
       sources."recursive-watch-1.1.4"
       sources."regex-not-1.0.2"
       sources."registry-auth-token-3.4.0"
@@ -86716,10 +86906,10 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shuffled-priority-queue-2.1.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."signed-varint-2.0.1"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      sources."simple-get-3.1.1"
       (sources."siphash24-1.3.0" // {
         dependencies = [
           sources."nanoassert-2.0.0"
@@ -86874,7 +87064,6 @@ in
       (sources."winston-2.4.5" // {
         dependencies = [
           sources."async-1.0.0"
-          sources."colors-1.0.3"
         ];
       })
       sources."wrappy-1.0.2"
@@ -86920,14 +87109,11 @@ in
     version = "1.26.0";
     src = ../../applications/networking/instant-messengers/deltachat-desktop;
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      (sources."@babel/core-7.16.12" // {
-        dependencies = [
-          sources."source-map-0.5.7"
-        ];
-      })
-      (sources."@babel/generator-7.16.8" // {
+      sources."@babel/compat-data-7.17.0"
+      sources."@babel/core-7.17.5"
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
@@ -86935,8 +87121,8 @@ in
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
       sources."@babel/helper-compilation-targets-7.16.7"
-      sources."@babel/helper-create-class-features-plugin-7.16.10"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.7"
+      sources."@babel/helper-create-class-features-plugin-7.17.1"
+      sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       sources."@babel/helper-define-polyfill-provider-0.3.1"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-explode-assignable-expression-7.16.7"
@@ -86956,9 +87142,9 @@ in
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -86970,7 +87156,7 @@ in
       sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
       sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
       sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
       sources."@babel/plugin-proposal-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-private-methods-7.16.11"
@@ -86997,7 +87183,7 @@ in
       sources."@babel/plugin-transform-block-scoping-7.16.7"
       sources."@babel/plugin-transform-classes-7.16.7"
       sources."@babel/plugin-transform-computed-properties-7.16.7"
-      sources."@babel/plugin-transform-destructuring-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
       sources."@babel/plugin-transform-dotall-regex-7.16.7"
       sources."@babel/plugin-transform-duplicate-keys-7.16.7"
       sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
@@ -87015,7 +87201,7 @@ in
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-property-literals-7.16.7"
       sources."@babel/plugin-transform-react-display-name-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.16.7"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/plugin-transform-react-jsx-development-7.16.7"
       sources."@babel/plugin-transform-react-pure-annotations-7.16.7"
       sources."@babel/plugin-transform-regenerator-7.16.7"
@@ -87030,16 +87216,19 @@ in
       sources."@babel/preset-env-7.16.11"
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-react-7.16.7"
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/runtime-7.17.2"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
       sources."@blueprintjs/colors-4.0.0-beta.3"
-      sources."@blueprintjs/core-3.52.0"
-      sources."@blueprintjs/icons-3.31.0"
+      sources."@blueprintjs/core-3.53.0"
+      sources."@blueprintjs/icons-3.32.0"
       sources."@deltachat/message_parser_wasm-0.1.0"
       sources."@electron/get-1.13.1"
       sources."@hypnosphi/create-react-context-0.3.1"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@mapbox/extent-0.4.0"
       sources."@mapbox/geojson-coords-0.0.2"
       sources."@mapbox/geojson-extent-1.0.1"
@@ -87061,16 +87250,16 @@ in
       sources."@types/geojson-7946.0.8"
       sources."@types/mapbox-gl-0.54.5"
       sources."@types/mime-types-2.1.1"
-      sources."@types/node-14.18.9"
-      sources."@types/node-fetch-2.5.12"
+      sources."@types/node-14.18.12"
+      sources."@types/node-fetch-2.6.1"
       sources."@types/prop-types-15.7.4"
       sources."@types/rc-1.2.0"
-      sources."@types/react-16.14.21"
+      sources."@types/react-16.14.23"
       sources."@types/react-dom-16.9.14"
       sources."@types/react-window-1.8.5"
-      sources."@types/react-window-infinite-loader-1.0.5"
+      sources."@types/react-window-infinite-loader-1.0.6"
       sources."@types/scheduler-0.16.2"
-      sources."@types/url-parse-1.4.7"
+      sources."@types/url-parse-1.4.8"
       sources."ansi-styles-3.2.1"
       (sources."anymatch-2.0.0" // {
         dependencies = [
@@ -87092,7 +87281,7 @@ in
       sources."atob-2.1.2"
       sources."babel-plugin-dynamic-import-node-2.3.3"
       sources."babel-plugin-polyfill-corejs2-0.3.1"
-      sources."babel-plugin-polyfill-corejs3-0.5.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
       sources."babel-plugin-polyfill-regenerator-0.3.1"
       (sources."base-0.11.2" // {
         dependencies = [
@@ -87101,13 +87290,13 @@ in
       })
       sources."binary-extensions-1.13.1"
       sources."bindings-1.5.0"
-      sources."boolean-3.1.4"
+      sources."boolean-3.2.0"
       (sources."braces-2.3.2" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."cache-base-1.0.1"
@@ -87118,7 +87307,7 @@ in
         ];
       })
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
       (sources."class-utils-0.3.6" // {
@@ -87159,7 +87348,7 @@ in
         ];
       })
       sources."copy-descriptor-0.1.1"
-      (sources."core-js-compat-3.20.3" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -87184,8 +87373,8 @@ in
       sources."dom4-2.1.6"
       sources."duplexer3-0.1.4"
       sources."earcut-2.2.3"
-      sources."electron-13.6.7"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-13.6.9"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-js-clean-4.0.0"
       sources."emoji-mart-3.0.1"
       sources."emoji-regex-9.2.2"
@@ -87366,7 +87555,7 @@ in
       sources."napi-macros-2.0.0"
       sources."node-fetch-2.6.7"
       sources."node-gyp-build-4.3.0"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."normalize.css-8.0.1"
@@ -87438,14 +87627,14 @@ in
         ];
       })
       sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-9.0.0"
+      sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       sources."regex-not-1.0.2"
       sources."regexp.prototype.flags-1.4.1"
-      sources."regexpu-core-4.8.0"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.7.0" // {
+      sources."regexpu-core-5.0.1"
+      sources."regjsgen-0.6.0"
+      (sources."regjsparser-0.8.4" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -87465,7 +87654,7 @@ in
       sources."rw-0.1.4"
       sources."safe-buffer-5.2.1"
       sources."safe-regex-1.1.0"
-      (sources."sass-1.49.0" // {
+      (sources."sass-1.49.8" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -87534,7 +87723,7 @@ in
       sources."split-string-3.1.0"
       sources."split2-3.2.2"
       sources."sprintf-js-1.1.2"
-      sources."stackframe-1.2.0"
+      sources."stackframe-1.2.1"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -87598,7 +87787,7 @@ in
       })
       sources."upath-1.2.0"
       sources."urix-0.1.0"
-      sources."url-parse-1.5.4"
+      sources."url-parse-1.5.9"
       sources."url-parse-lax-3.0.0"
       sources."use-3.1.1"
       sources."use-debounce-3.4.3"
@@ -87687,7 +87876,7 @@ in
       sources."lodash-4.17.21"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
@@ -87712,7 +87901,7 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-6.1.1"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-uri-2.1.2"
       sources."wrappy-1.0.2"
@@ -87739,14 +87928,14 @@ in
       sources."dockerfile-ast-0.4.2"
       sources."dockerfile-language-service-0.8.1"
       sources."dockerfile-utils-0.9.4"
-      sources."vscode-jsonrpc-8.0.0-next.5"
-      sources."vscode-languageserver-8.0.0-next.6"
-      (sources."vscode-languageserver-protocol-3.17.0-next.12" // {
+      sources."vscode-jsonrpc-8.0.0-next.6"
+      sources."vscode-languageserver-8.0.0-next.8"
+      (sources."vscode-languageserver-protocol-3.17.0-next.14" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.0-next.6"
+          sources."vscode-languageserver-types-3.17.0-next.7"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.17.0-next.3"
     ];
     buildInputs = globalBuildInputs;
@@ -87762,15 +87951,15 @@ in
   elasticdump = nodeEnv.buildNodePackage {
     name = "elasticdump";
     packageName = "elasticdump";
-    version = "6.79.3";
+    version = "6.80.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.79.3.tgz";
-      sha512 = "u4NUMlGJjJXOnRfp6LXSVQdQzaVmjsXJwaUxvRBEUxjVhC2WEptTkyuCcsyLLOof3oEaEonC7gJC/+eXd1I+6g==";
+      url = "https://registry.npmjs.org/elasticdump/-/elasticdump-6.80.1.tgz";
+      sha512 = "s3E6aSo3DLkdrjuB4WhMDTzezvj/aLd+SBBQZMoZAX87u/2s/DnGjl9JLBJzhc+9zrhKAezYwu6d2p5lLF8WDQ==";
     };
     dependencies = [
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.9"
+      sources."@types/node-14.18.12"
       sources."JSONStream-1.3.5"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
@@ -87785,7 +87974,7 @@ in
       sources."big.js-5.2.2"
       sources."buffer-4.9.2"
       sources."buffer-queue-1.0.0"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."caseless-0.12.0"
       sources."combined-stream-1.0.8"
       sources."core-util-is-1.0.2"
@@ -87958,14 +88147,14 @@ in
           sources."universalify-0.1.2"
         ];
       })
-      sources."@gar/promisify-1.1.2"
+      sources."@gar/promisify-1.1.3"
       sources."@malept/cross-spawn-promise-2.0.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.1.0"
+      sources."@npmcli/fs-1.1.1"
       sources."@npmcli/move-file-1.1.2"
-      sources."@sindresorhus/is-4.3.0"
+      sources."@sindresorhus/is-4.4.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tootallnate/once-1.1.2"
       sources."@types/cacheable-request-6.0.2"
@@ -87973,7 +88162,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/responselike-1.0.0"
       sources."@types/yauzl-2.9.2"
       sources."abbrev-1.1.1"
@@ -87989,8 +88178,7 @@ in
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-2.0.0"
-      sources."array-find-index-1.0.2"
+      sources."are-we-there-yet-3.0.0"
       (sources."asar-3.1.0" // {
         dependencies = [
           sources."commander-5.1.0"
@@ -88008,7 +88196,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."bl-4.1.0"
       sources."bluebird-3.7.2"
-      sources."boolean-3.1.4"
+      sources."boolean-3.2.0"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
@@ -88020,8 +88208,6 @@ in
       sources."cacache-15.3.0"
       sources."cacheable-lookup-5.0.4"
       sources."cacheable-request-7.0.2"
-      sources."camelcase-2.1.1"
-      sources."camelcase-keys-2.1.0"
       sources."caseless-0.12.0"
       sources."chalk-4.1.2"
       sources."chardet-0.7.0"
@@ -88051,14 +88237,12 @@ in
           sources."@malept/cross-spawn-promise-1.1.1"
         ];
       })
-      sources."currently-unhandled-0.4.1"
       sources."dashdash-1.14.1"
       (sources."debug-4.3.3" // {
         dependencies = [
           sources."ms-2.1.2"
         ];
       })
-      sources."decamelize-1.2.0"
       (sources."decompress-response-6.0.0" // {
         dependencies = [
           sources."mimic-response-3.1.0"
@@ -88164,7 +88348,7 @@ in
           sources."universalify-0.1.2"
         ];
       })
-      sources."gauge-4.0.0"
+      sources."gauge-4.0.1"
       sources."get-caller-file-2.0.5"
       sources."get-installed-path-2.1.1"
       (sources."get-package-info-1.0.0" // {
@@ -88172,7 +88356,6 @@ in
           sources."debug-2.6.9"
         ];
       })
-      sources."get-stdin-4.0.1"
       sources."get-stream-5.2.0"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
@@ -88215,7 +88398,6 @@ in
       sources."is-core-module-2.8.1"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
-      sources."is-finite-1.1.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
       sources."is-interactive-1.0.0"
@@ -88224,7 +88406,6 @@ in
       sources."is-stream-1.1.0"
       sources."is-typedarray-1.0.0"
       sources."is-unicode-supported-0.1.0"
-      sources."is-utf8-0.2.1"
       sources."is-windows-1.0.2"
       sources."is-wsl-2.2.0"
       sources."isarray-0.0.1"
@@ -88239,43 +88420,30 @@ in
       sources."jsonfile-6.1.0"
       sources."jsprim-1.4.2"
       sources."junk-3.1.0"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."load-json-file-2.0.0"
       sources."locate-path-2.0.0"
       sources."lodash-4.17.21"
       sources."lodash.get-4.4.2"
       sources."log-symbols-4.1.0"
-      sources."loud-rejection-1.6.0"
       sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."lzma-native-8.0.6"
       sources."make-fetch-happen-9.1.0"
       sources."map-age-cleaner-0.1.3"
-      sources."map-obj-1.0.1"
       (sources."matcher-3.0.0" // {
         dependencies = [
           sources."escape-string-regexp-4.0.0"
         ];
       })
       sources."mem-4.3.0"
-      (sources."meow-3.7.0" // {
-        dependencies = [
-          sources."find-up-1.1.2"
-          sources."load-json-file-1.1.0"
-          sources."path-exists-2.1.0"
-          sources."path-type-1.1.0"
-          sources."read-pkg-1.1.0"
-          sources."read-pkg-up-1.0.1"
-          sources."strip-bom-2.0.0"
-        ];
-      })
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -88289,7 +88457,7 @@ in
       sources."mute-stream-0.0.8"
       sources."negotiator-0.6.3"
       sources."nice-try-1.0.5"
-      sources."node-abi-3.5.0"
+      sources."node-abi-3.8.0"
       sources."node-addon-api-3.2.1"
       sources."node-api-version-0.1.4"
       sources."node-fetch-2.6.7"
@@ -88312,15 +88480,14 @@ in
           sources."path-key-2.0.1"
         ];
       })
-      sources."npmlog-6.0.0"
-      (sources."nugget-2.0.1" // {
+      sources."npmlog-6.0.1"
+      (sources."nugget-2.0.2" // {
         dependencies = [
           sources."debug-2.6.9"
         ];
       })
       sources."number-is-nan-1.0.1"
       sources."oauth-sign-0.9.0"
-      sources."object-assign-4.1.1"
       sources."object-keys-0.4.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
@@ -88348,8 +88515,6 @@ in
       sources."performance-now-2.1.0"
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
-      sources."pinkie-2.0.4"
-      sources."pinkie-promise-2.0.1"
       (sources."pkg-dir-4.2.0" // {
         dependencies = [
           sources."find-up-4.1.0"
@@ -88362,7 +88527,7 @@ in
       })
       sources."plist-3.0.4"
       sources."prepend-http-2.0.0"
-      sources."pretty-bytes-1.0.4"
+      sources."pretty-bytes-4.0.2"
       sources."pretty-ms-7.0.1"
       sources."progress-2.0.3"
       sources."progress-stream-1.2.0"
@@ -88383,12 +88548,6 @@ in
         ];
       })
       sources."readable-stream-3.6.0"
-      (sources."redent-1.0.0" // {
-        dependencies = [
-          sources."indent-string-2.1.0"
-        ];
-      })
-      sources."repeating-2.0.1"
       sources."request-2.88.2"
       sources."require-directory-2.1.1"
       sources."resolve-1.22.0"
@@ -88403,7 +88562,7 @@ in
       sources."roarr-2.15.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.2"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -88412,7 +88571,7 @@ in
       sources."set-blocking-2.0.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."single-line-log-1.1.2" // {
         dependencies = [
           sources."ansi-regex-2.1.1"
@@ -88422,7 +88581,7 @@ in
         ];
       })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-6.1.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
@@ -88439,7 +88598,6 @@ in
       sources."strip-ansi-6.0.1"
       sources."strip-bom-3.0.0"
       sources."strip-eof-1.0.0"
-      sources."strip-indent-1.0.1"
       sources."strip-outer-1.0.1"
       sources."sudo-prompt-9.2.1"
       sources."sumchecker-3.0.1"
@@ -88459,7 +88617,6 @@ in
       sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
-      sources."trim-newlines-1.0.0"
       sources."trim-repeated-1.0.0"
       sources."tslib-2.3.1"
       sources."tunnel-0.0.6"
@@ -88547,14 +88704,15 @@ in
       sha512 = "ceJSyC2s1VCIqyzGkHeJkWBq/85QXaHM+0rZ1lRRtmcK9CsfRDyLSIZ7KJDZhPdIRUXBgBkdcOAW3AIu/yO/ew==";
     };
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      (sources."@babel/core-7.16.12" // {
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.16.8"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       (sources."@babel/helper-compilation-targets-7.16.7" // {
         dependencies = [
@@ -88572,18 +88730,21 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-transform-destructuring-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
       sources."@babel/plugin-transform-parameters-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.16.7"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yoga-layout-1.9.2"
@@ -88602,13 +88763,13 @@ in
       sources."auto-bind-4.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."caller-callsite-4.1.0"
       sources."caller-path-3.0.1"
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-2.4.2"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
@@ -88637,7 +88798,7 @@ in
         ];
       })
       sources."dot-prop-5.3.0"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."emojilib-2.4.0"
       sources."end-of-stream-1.4.4"
@@ -88674,7 +88835,7 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      (sources."ink-text-input-4.0.2" // {
+      (sources."ink-text-input-4.0.3" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."chalk-4.1.2"
@@ -88722,12 +88883,12 @@ in
       })
       sources."mimic-fn-3.1.0"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
       sources."nice-try-1.0.5"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-package-data-2.5.0"
       sources."npm-run-path-2.0.2"
       sources."object-assign-4.1.1"
@@ -88763,7 +88924,7 @@ in
       sources."punycode-2.1.1"
       sources."quick-lru-4.0.1"
       sources."react-16.14.0"
-      sources."react-devtools-core-4.22.1"
+      sources."react-devtools-core-4.23.0"
       sources."react-is-16.13.1"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
@@ -88791,7 +88952,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.7.3"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."skin-tone-1.0.0"
       (sources."slice-ansi-3.0.0" // {
         dependencies = [
@@ -88832,7 +88993,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."yallist-4.0.0"
       sources."yargs-parser-18.1.3"
       sources."yoga-layout-prebuilt-1.10.0"
@@ -88882,11 +89043,11 @@ in
       sources."@fluentui/date-time-utilities-7.9.1"
       sources."@fluentui/dom-utilities-1.1.2"
       sources."@fluentui/keyboard-key-0.2.17"
-      sources."@fluentui/react-7.181.0"
-      sources."@fluentui/react-focus-7.18.1"
+      sources."@fluentui/react-7.183.1"
+      sources."@fluentui/react-focus-7.18.2"
       sources."@fluentui/react-window-provider-1.0.2"
       sources."@fluentui/theme-1.7.4"
-      sources."@gar/promisify-1.1.2"
+      sources."@gar/promisify-1.1.3"
       (sources."@gulp-sourcemaps/identity-map-1.0.2" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -88897,11 +89058,11 @@ in
           sources."normalize-path-2.1.1"
         ];
       })
-      sources."@microsoft/load-themed-styles-1.10.244"
+      sources."@microsoft/load-themed-styles-1.10.247"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.1.0"
+      sources."@npmcli/fs-1.1.1"
       (sources."@npmcli/move-file-1.1.2" // {
         dependencies = [
           sources."rimraf-3.0.2"
@@ -88975,7 +89136,7 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-5.7.4"
       sources."after-0.8.2"
       sources."aggregate-error-3.1.0"
@@ -89412,7 +89573,7 @@ in
       sources."express-openapi-7.0.1"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."extend-3.0.2"
@@ -89766,7 +89927,7 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
         dependencies = [
@@ -89857,7 +90018,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."next-tick-1.0.0"
       sources."node-addon-api-2.0.0"
@@ -89926,7 +90087,7 @@ in
       sources."object.map-1.0.1"
       sources."object.pick-1.3.0"
       sources."object.reduce-1.0.1"
-      sources."office-ui-fabric-react-7.181.0"
+      sources."office-ui-fabric-react-7.183.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
@@ -90041,7 +90202,7 @@ in
       })
       sources."pg-connection-string-2.5.0"
       sources."pg-int8-1.0.1"
-      sources."pg-pool-3.4.1"
+      sources."pg-pool-3.5.1"
       sources."pg-protocol-1.5.0"
       sources."pg-types-2.2.0"
       sources."pgpass-1.0.5"
@@ -90153,7 +90314,7 @@ in
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
-      (sources."sass-1.49.0" // {
+      (sources."sass-1.49.8" // {
         dependencies = [
           sources."anymatch-3.1.2"
           sources."binary-extensions-2.2.0"
@@ -90185,7 +90346,7 @@ in
       sources."setprototypeof-1.1.1"
       sources."sha.js-2.4.11"
       sources."sift-7.0.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
@@ -90431,7 +90592,7 @@ in
       })
       sources."url-join-4.0.1"
       sources."url-parse-lax-3.0.0"
-      sources."url-toolkit-2.2.3"
+      sources."url-toolkit-2.2.5"
       sources."use-3.1.1"
       sources."util-0.11.1"
       sources."util-deprecate-1.0.2"
@@ -90530,7 +90691,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."xtend-4.0.2"
       sources."y18n-3.2.2"
@@ -90576,18 +90737,18 @@ in
   eslint = nodeEnv.buildNodePackage {
     name = "eslint";
     packageName = "eslint";
-    version = "8.7.0";
+    version = "8.9.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/eslint/-/eslint-8.7.0.tgz";
-      sha512 = "ifHYzkBGrzS2iDU7KjhCAVMGCvF6M3Xfs8X8b37cgrUlDt6bWRTpRh6T/gtSXv1HJ/BUGgmjvNvOEGu85Iif7w==";
+      url = "https://registry.npmjs.org/eslint/-/eslint-8.9.0.tgz";
+      sha512 = "PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q==";
     };
     dependencies = [
-      (sources."@eslint/eslintrc-1.0.5" // {
+      (sources."@eslint/eslintrc-1.1.0" // {
         dependencies = [
           sources."ignore-4.0.6"
         ];
       })
-      sources."@humanwhocodes/config-array-0.9.2"
+      sources."@humanwhocodes/config-array-0.9.3"
       sources."@humanwhocodes/object-schema-1.2.1"
       sources."acorn-8.7.0"
       sources."acorn-jsx-5.3.2"
@@ -90607,14 +90768,14 @@ in
       sources."deep-is-0.1.4"
       sources."doctrine-3.0.0"
       sources."escape-string-regexp-4.0.0"
-      sources."eslint-scope-7.1.0"
+      sources."eslint-scope-7.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
           sources."eslint-visitor-keys-2.1.0"
         ];
       })
-      sources."eslint-visitor-keys-3.2.0"
-      sources."espree-9.3.0"
+      sources."eslint-visitor-keys-3.3.0"
+      sources."espree-9.3.1"
       sources."esquery-1.4.0"
       sources."esrecurse-4.3.0"
       sources."estraverse-5.3.0"
@@ -90624,12 +90785,12 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.2.0"
       sources."glob-parent-6.0.2"
-      sources."globals-13.12.0"
+      sources."globals-13.12.1"
       sources."has-flag-4.0.0"
       sources."ignore-5.2.0"
       sources."import-fresh-3.3.0"
@@ -90644,7 +90805,7 @@ in
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."levn-0.4.1"
       sources."lodash.merge-4.6.2"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."ms-2.1.2"
       sources."natural-compare-1.4.0"
       sources."once-1.4.0"
@@ -90764,12 +90925,12 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fs.realpath-1.0.0"
       sources."functional-red-black-tree-1.0.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globals-13.12.0"
+      sources."globals-13.12.1"
       sources."has-flag-4.0.0"
       sources."ignore-4.0.6"
       sources."import-fresh-3.3.0"
@@ -90788,7 +90949,7 @@ in
       sources."lodash.merge-4.6.2"
       sources."lodash.truncate-4.4.2"
       sources."lru-cache-6.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."ms-2.1.2"
       sources."nanolru-1.0.0"
       sources."natural-compare-1.4.0"
@@ -90821,7 +90982,7 @@ in
       sources."supports-color-8.1.1"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -90865,10 +91026,10 @@ in
   expo-cli = nodeEnv.buildNodePackage {
     name = "expo-cli";
     packageName = "expo-cli";
-    version = "5.0.3";
+    version = "5.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.0.3.tgz";
-      sha512 = "Wou4IPj/V2VggX6k818WnU9Gz/JMgPln02282tQAvmouvkYInXwLG8IFkRqHJdt25nJvz9xrN7RATzn4IFcMWg==";
+      url = "https://registry.npmjs.org/expo-cli/-/expo-cli-5.2.0.tgz";
+      sha512 = "0zyZwv7mBmeeEMZ7ur5xHt/klu1CNiuMuTbsrbDOvQPqDxyLOKlQtvsJOn9VHCUt8sAlyN21Jmu7KI6lH7fSgQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.10.4"
@@ -90878,7 +91039,7 @@ in
           sources."semver-5.7.1"
         ];
       })
-      sources."@babel/generator-7.16.8"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-function-name-7.16.7"
       sources."@babel/helper-get-function-arity-7.16.7"
@@ -90888,36 +91049,36 @@ in
       sources."@babel/helper-simple-access-7.16.7"
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       (sources."@babel/highlight-7.16.10" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/runtime-7.9.0"
       (sources."@babel/template-7.16.7" // {
         dependencies = [
           sources."@babel/code-frame-7.16.7"
         ];
       })
-      (sources."@babel/traverse-7.16.10" // {
+      (sources."@babel/traverse-7.17.3" // {
         dependencies = [
           sources."@babel/code-frame-7.16.7"
         ];
       })
-      sources."@babel/types-7.16.8"
+      sources."@babel/types-7.17.0"
       sources."@expo/apple-utils-0.0.0-alpha.26"
       sources."@expo/bunyan-4.0.0"
-      sources."@expo/config-6.0.14"
-      (sources."@expo/config-plugins-4.0.14" // {
+      sources."@expo/config-6.0.18"
+      (sources."@expo/config-plugins-4.0.18" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
       })
-      sources."@expo/config-types-43.0.1"
-      sources."@expo/dev-server-0.1.101"
-      sources."@expo/dev-tools-0.13.138"
+      sources."@expo/config-types-44.0.0"
+      sources."@expo/dev-server-0.1.105"
+      sources."@expo/dev-tools-0.13.145"
       (sources."@expo/devcert-1.0.0" // {
         dependencies = [
           sources."debug-3.2.7"
@@ -90933,32 +91094,26 @@ in
         ];
       })
       sources."@expo/json-file-8.2.34"
-      sources."@expo/metro-config-0.3.7"
+      sources."@expo/metro-config-0.3.11"
       sources."@expo/osascript-2.0.31"
-      (sources."@expo/package-manager-0.0.48" // {
+      (sources."@expo/package-manager-0.0.50" // {
         dependencies = [
           sources."npm-package-arg-7.0.0"
           sources."rimraf-3.0.2"
           sources."semver-5.7.1"
         ];
       })
-      (sources."@expo/plist-0.0.16" // {
+      (sources."@expo/plist-0.0.17" // {
         dependencies = [
           sources."xmlbuilder-14.0.0"
         ];
       })
-      sources."@expo/prebuild-config-3.0.14"
+      sources."@expo/prebuild-config-3.0.18"
       sources."@expo/rudder-sdk-node-1.1.1"
-      (sources."@expo/schemer-1.3.33" // {
-        dependencies = [
-          sources."ajv-5.5.2"
-          sources."fast-deep-equal-1.1.0"
-          sources."json-schema-traverse-0.3.1"
-        ];
-      })
+      sources."@expo/schemer-1.3.33"
       sources."@expo/sdk-runtime-versions-1.0.0"
       sources."@expo/spawn-async-1.5.0"
-      (sources."@expo/webpack-config-0.16.14" // {
+      (sources."@expo/webpack-config-0.16.18" // {
         dependencies = [
           sources."is-wsl-2.2.0"
         ];
@@ -90968,35 +91123,24 @@ in
           sources."js-yaml-4.1.0"
         ];
       })
-      sources."@gar/promisify-1.1.2"
+      sources."@gar/promisify-1.1.3"
       sources."@hapi/hoek-9.2.1"
       sources."@hapi/topo-5.1.0"
       sources."@jest/types-26.6.2"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      (sources."@npmcli/fs-1.1.0" // {
-        dependencies = [
-          sources."semver-7.3.5"
-        ];
-      })
-      (sources."@npmcli/git-2.1.0" // {
+      (sources."@npmcli/fs-1.1.1" // {
         dependencies = [
-          sources."mkdirp-1.0.4"
           sources."semver-7.3.5"
-          sources."which-2.0.2"
         ];
       })
-      sources."@npmcli/installed-package-contents-1.0.7"
       (sources."@npmcli/move-file-1.1.2" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."rimraf-3.0.2"
         ];
       })
-      sources."@npmcli/node-gyp-1.0.3"
-      sources."@npmcli/promise-spawn-1.3.2"
-      sources."@npmcli/run-script-1.8.6"
       sources."@react-native-community/cli-debugger-ui-5.0.1"
       sources."@react-native-community/cli-server-api-5.0.1"
       (sources."@react-native-community/cli-tools-5.0.1" // {
@@ -91015,9 +91159,8 @@ in
       sources."@sideway/address-4.1.3"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
-      sources."@sindresorhus/is-4.3.0"
+      sources."@sindresorhus/is-4.4.0"
       sources."@szmarczak/http-timer-4.0.6"
-      sources."@tootallnate/once-1.1.2"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/glob-7.2.0"
       sources."@types/html-minifier-terser-5.1.2"
@@ -91028,7 +91171,7 @@ in
       sources."@types/json-schema-7.0.9"
       sources."@types/keyv-3.1.3"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.18"
       sources."@types/q-1.5.5"
       sources."@types/responselike-1.0.0"
       sources."@types/retry-0.12.1"
@@ -91073,14 +91216,11 @@ in
       sources."@xmldom/xmldom-0.7.5"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
-      sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-6.4.2"
       sources."address-1.1.2"
-      sources."agent-base-6.0.2"
-      sources."agentkeepalive-4.2.0"
       sources."aggregate-error-3.1.0"
-      sources."ajv-6.12.6"
+      sources."ajv-5.5.2"
       sources."ajv-errors-1.0.1"
       sources."ajv-keywords-3.5.2"
       sources."alphanum-sort-1.0.2"
@@ -91104,7 +91244,6 @@ in
       sources."apollo-utilities-1.3.4"
       sources."application-config-path-0.1.0"
       sources."aproba-1.2.0"
-      sources."are-we-there-yet-1.1.7"
       sources."argparse-2.0.1"
       sources."arr-diff-4.0.0"
       sources."arr-flatten-1.1.0"
@@ -91117,7 +91256,6 @@ in
       sources."array-uniq-1.0.3"
       sources."array-unique-0.3.2"
       sources."arrify-2.0.1"
-      sources."asn1-0.2.6"
       (sources."asn1.js-5.4.1" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -91129,7 +91267,6 @@ in
           sources."util-0.10.3"
         ];
       })
-      sources."assert-plus-1.0.0"
       sources."assign-symbols-1.0.0"
       sources."async-1.5.2"
       sources."async-each-1.0.3"
@@ -91137,11 +91274,12 @@ in
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
       sources."atob-2.1.2"
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
       sources."axios-0.21.1"
       (sources."babel-loader-8.1.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
+          sources."json-schema-traverse-0.4.1"
           sources."loader-utils-1.4.0"
           sources."schema-utils-2.7.1"
         ];
@@ -91156,7 +91294,6 @@ in
       sources."base64-js-1.5.1"
       sources."base64url-3.0.1"
       sources."batch-0.6.1"
-      sources."bcrypt-pbkdf-1.0.2"
       sources."better-opn-3.0.2"
       sources."big-integer-1.6.51"
       sources."big.js-5.2.2"
@@ -91202,7 +91339,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      (sources."browserslist-4.19.1" // {
+      (sources."browserslist-4.19.3" // {
         dependencies = [
           sources."picocolors-1.0.0"
         ];
@@ -91236,8 +91373,7 @@ in
       })
       sources."camelcase-6.3.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001301"
-      sources."caseless-0.12.0"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -91307,7 +91443,6 @@ in
           sources."chalk-2.4.2"
         ];
       })
-      sources."code-point-at-1.1.0"
       sources."collection-visit-1.0.0"
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
@@ -91337,7 +91472,6 @@ in
       })
       sources."connect-history-api-fallback-1.6.0"
       sources."console-browserify-1.2.0"
-      sources."console-control-strings-1.1.0"
       sources."constants-browserify-1.0.0"
       sources."content-disposition-0.5.2"
       sources."content-type-1.0.4"
@@ -91352,8 +91486,11 @@ in
       sources."copy-descriptor-0.1.1"
       (sources."copy-webpack-plugin-6.0.4" // {
         dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
           sources."find-cache-dir-3.3.2"
           sources."find-up-4.1.0"
+          sources."json-schema-traverse-0.4.1"
           sources."locate-path-5.0.0"
           sources."make-dir-3.1.0"
           (sources."p-locate-4.1.0" // {
@@ -91387,7 +91524,10 @@ in
       sources."css-declaration-sorter-4.0.1"
       (sources."css-loader-3.6.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
           sources."camelcase-5.3.1"
+          sources."fast-deep-equal-3.1.3"
+          sources."json-schema-traverse-0.4.1"
           sources."loader-utils-1.4.0"
           sources."schema-utils-2.7.1"
           sources."semver-6.3.0"
@@ -91421,7 +91561,6 @@ in
       })
       sources."cyclist-1.0.1"
       sources."dag-map-1.0.2"
-      sources."dashdash-1.14.1"
       sources."dateformat-3.0.3"
       sources."debug-4.3.3"
       sources."decache-4.4.0"
@@ -91447,7 +91586,6 @@ in
         ];
       })
       sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
       sources."depd-1.1.2"
       sources."deprecated-decorator-0.1.6"
       sources."des.js-1.0.1"
@@ -91492,9 +91630,8 @@ in
       sources."duplexer-0.1.2"
       sources."duplexer3-0.1.4"
       sources."duplexify-3.7.1"
-      sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -91503,11 +91640,6 @@ in
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
       sources."encodeurl-1.0.2"
-      (sources."encoding-0.1.13" // {
-        dependencies = [
-          sources."iconv-lite-0.6.3"
-        ];
-      })
       sources."end-of-stream-1.4.4"
       (sources."enhanced-resolve-4.5.0" // {
         dependencies = [
@@ -91516,10 +91648,8 @@ in
       })
       sources."entities-2.2.0"
       sources."env-editor-0.4.2"
-      sources."env-paths-2.2.1"
       sources."envinfo-7.8.1"
       sources."eol-0.9.1"
-      sources."err-code-2.0.3"
       sources."errno-0.1.8"
       sources."error-ex-1.3.2"
       sources."errorhandler-1.5.1"
@@ -91568,13 +91698,13 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."expo-modules-autolinking-0.4.0" // {
+      (sources."expo-modules-autolinking-0.5.5" // {
         dependencies = [
           sources."commander-7.2.0"
           sources."fs-extra-9.1.0"
         ];
       })
-      (sources."expo-pwa-0.0.109" // {
+      (sources."expo-pwa-0.0.113" // {
         dependencies = [
           sources."commander-2.20.0"
         ];
@@ -91597,7 +91727,6 @@ in
           sources."statuses-1.4.0"
         ];
       })
-      sources."extend-3.0.2"
       (sources."extend-shallow-3.0.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
@@ -91609,8 +91738,7 @@ in
           sources."extend-shallow-2.0.1"
         ];
       })
-      sources."extsprintf-1.3.0"
-      sources."fast-deep-equal-3.1.3"
+      sources."fast-deep-equal-1.1.0"
       sources."fast-glob-3.2.11"
       sources."fast-json-stable-stringify-2.1.0"
       sources."fastq-1.13.0"
@@ -91619,6 +91747,9 @@ in
       sources."figgy-pudding-3.5.2"
       (sources."file-loader-6.0.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
+          sources."json-schema-traverse-0.4.1"
           sources."schema-utils-2.7.1"
         ];
       })
@@ -91635,9 +91766,8 @@ in
       sources."find-up-5.0.0"
       sources."find-yarn-workspace-root-2.0.0"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."for-in-1.0.2"
-      sources."forever-agent-0.6.1"
       (sources."fork-ts-checker-webpack-plugin-4.1.6" // {
         dependencies = [
           (sources."braces-2.3.2" // {
@@ -91661,7 +91791,7 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."form-data-2.3.3"
+      sources."form-data-2.5.1"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
       sources."freeport-async-2.0.0"
@@ -91681,14 +91811,6 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."function-bind-1.1.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."gensync-1.0.0-beta.2"
       sources."get-caller-file-2.0.5"
       sources."get-intrinsic-1.1.1"
@@ -91697,7 +91819,6 @@ in
       sources."get-symbol-description-1.0.0"
       sources."get-value-2.0.6"
       sources."getenv-1.0.0"
-      sources."getpass-0.1.7"
       sources."glob-7.1.6"
       sources."glob-parent-5.1.2"
       sources."global-modules-2.0.0"
@@ -91714,14 +91835,11 @@ in
       })
       sources."gzip-size-5.1.1"
       sources."handle-thing-2.0.1"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
       sources."has-1.0.3"
       sources."has-bigints-1.0.1"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
       sources."has-tostringtag-1.0.0"
-      sources."has-unicode-2.0.1"
       sources."has-value-1.0.0"
       (sources."has-values-1.0.0" // {
         dependencies = [
@@ -91752,6 +91870,9 @@ in
       sources."html-entities-1.4.0"
       (sources."html-loader-1.1.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
+          sources."json-schema-traverse-0.4.1"
           sources."schema-utils-2.7.1"
         ];
       })
@@ -91774,7 +91895,6 @@ in
           sources."eventemitter3-4.0.7"
         ];
       })
-      sources."http-proxy-agent-4.0.1"
       (sources."http-proxy-middleware-0.19.1" // {
         dependencies = [
           sources."braces-2.3.2"
@@ -91786,17 +91906,13 @@ in
           sources."to-regex-range-2.1.1"
         ];
       })
-      sources."http-signature-1.2.0"
       sources."http2-wrapper-1.0.3"
       sources."https-browserify-1.0.0"
-      sources."https-proxy-agent-5.0.0"
-      sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.4.24"
       sources."icss-utils-4.1.1"
       sources."ieee754-1.2.1"
       sources."iferr-0.1.5"
       sources."ignore-5.2.0"
-      sources."ignore-walk-3.0.4"
       sources."image-size-1.0.1"
       sources."immer-8.0.1"
       (sources."import-fresh-2.0.0" // {
@@ -91843,7 +91959,6 @@ in
           sources."is-glob-2.0.1"
         ];
       })
-      sources."is-lambda-1.0.1"
       sources."is-negative-zero-2.0.2"
       sources."is-number-7.0.0"
       sources."is-number-object-1.0.6"
@@ -91887,7 +92002,6 @@ in
       sources."is-stream-2.0.1"
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
-      sources."is-typedarray-1.0.0"
       sources."is-valid-path-0.1.1"
       sources."is-weakref-1.0.2"
       sources."is-windows-1.0.2"
@@ -91895,7 +92009,6 @@ in
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."isstream-0.1.2"
       sources."iterall-1.2.2"
       (sources."jest-worker-26.6.2" // {
         dependencies = [
@@ -91904,7 +92017,7 @@ in
         ];
       })
       sources."jimp-compact-0.16.1"
-      sources."joi-17.5.0"
+      sources."joi-17.6.0"
       sources."join-component-1.1.0"
       sources."js-tokens-4.0.0"
       (sources."js-yaml-3.14.1" // {
@@ -91912,28 +92025,22 @@ in
           sources."argparse-1.0.10"
         ];
       })
-      sources."jsbn-0.1.1"
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.1"
       sources."json-parse-better-errors-1.0.2"
-      sources."json-parse-even-better-errors-2.3.1"
-      sources."json-schema-0.4.0"
       (sources."json-schema-deref-sync-0.13.0" // {
         dependencies = [
           sources."clone-2.1.2"
           sources."md5-2.2.1"
         ];
       })
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
+      sources."json-schema-traverse-0.3.1"
       sources."json3-3.3.3"
       sources."json5-1.0.1"
       sources."jsonfile-6.1.0"
       sources."jsonify-0.0.0"
-      sources."jsonparse-1.3.1"
-      sources."jsprim-1.4.2"
       sources."keychain-1.3.0"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."killable-1.0.1"
       sources."kind-of-6.0.3"
       sources."kleur-3.0.3"
@@ -91972,11 +92079,6 @@ in
           sources."semver-5.7.1"
         ];
       })
-      (sources."make-fetch-happen-9.1.0" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
       sources."map-cache-0.2.2"
       sources."map-visit-1.0.0"
       sources."md5-2.3.0"
@@ -92004,13 +92106,16 @@ in
       sources."mimic-response-1.0.1"
       (sources."mini-css-extract-plugin-0.5.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
+          sources."json-schema-traverse-0.4.1"
           sources."loader-utils-1.4.0"
           sources."schema-utils-1.0.0"
         ];
       })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.3.5" // {
         dependencies = [
@@ -92022,31 +92127,16 @@ in
           sources."minipass-3.1.6"
         ];
       })
-      (sources."minipass-fetch-1.4.1" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
       (sources."minipass-flush-1.0.5" // {
         dependencies = [
           sources."minipass-3.1.6"
         ];
       })
-      (sources."minipass-json-stream-1.0.1" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
       (sources."minipass-pipeline-1.2.4" // {
         dependencies = [
           sources."minipass-3.1.6"
         ];
       })
-      (sources."minipass-sized-1.0.3" // {
-        dependencies = [
-          sources."minipass-3.1.6"
-        ];
-      })
       (sources."minizlib-2.1.2" // {
         dependencies = [
           sources."minipass-3.1.6"
@@ -92077,7 +92167,7 @@ in
           sources."debug-3.2.7"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."nested-error-stacks-2.0.1"
       sources."nice-try-1.0.5"
@@ -92089,53 +92179,24 @@ in
       sources."nocache-2.1.0"
       sources."node-fetch-2.6.7"
       sources."node-forge-0.10.0"
-      (sources."node-gyp-7.1.2" // {
-        dependencies = [
-          sources."rimraf-3.0.2"
-          sources."which-2.0.2"
-        ];
-      })
       sources."node-html-parser-1.4.9"
       (sources."node-libs-browser-2.2.1" // {
         dependencies = [
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.1"
-      sources."nopt-5.0.0"
+      sources."node-releases-2.0.2"
       sources."normalize-path-3.0.0"
       sources."normalize-url-6.1.0"
-      sources."npm-bundled-1.1.2"
-      sources."npm-install-checks-4.0.0"
-      sources."npm-normalize-package-bin-1.0.1"
       (sources."npm-package-arg-6.1.0" // {
         dependencies = [
           sources."hosted-git-info-2.8.9"
           sources."semver-5.7.1"
         ];
       })
-      sources."npm-packlist-2.2.2"
-      (sources."npm-pick-manifest-6.1.1" // {
-        dependencies = [
-          sources."hosted-git-info-4.1.0"
-          sources."npm-package-arg-8.1.5"
-          sources."semver-7.3.5"
-        ];
-      })
-      (sources."npm-registry-fetch-11.0.0" // {
-        dependencies = [
-          sources."hosted-git-info-4.1.0"
-          sources."minipass-3.1.6"
-          sources."npm-package-arg-8.1.5"
-          sources."semver-7.3.5"
-        ];
-      })
       sources."npm-run-path-2.0.2"
-      sources."npmlog-4.1.2"
       sources."nth-check-2.0.1"
       sources."nullthrows-1.1.1"
-      sources."number-is-nan-1.0.1"
-      sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
         dependencies = [
@@ -92223,16 +92284,6 @@ in
           sources."semver-6.3.0"
         ];
       })
-      (sources."pacote-11.3.5" // {
-        dependencies = [
-          sources."hosted-git-info-4.1.0"
-          sources."minipass-3.1.6"
-          sources."mkdirp-1.0.4"
-          sources."npm-package-arg-8.1.5"
-          sources."rimraf-3.0.2"
-          sources."semver-7.3.5"
-        ];
-      })
       sources."pako-1.0.11"
       sources."parallel-transform-1.2.0"
       (sources."param-case-3.0.4" // {
@@ -92266,13 +92317,12 @@ in
       sources."path-to-regexp-0.1.7"
       sources."path-type-4.0.0"
       sources."pbkdf2-3.1.2"
-      sources."performance-now-2.1.0"
       sources."picocolors-0.2.1"
       sources."picomatch-2.3.1"
       sources."pify-4.0.1"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."pirates-4.0.4"
+      sources."pirates-4.0.5"
       (sources."pkg-dir-3.0.0" // {
         dependencies = [
           sources."find-up-3.0.0"
@@ -92432,11 +92482,9 @@ in
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
-      sources."promise-retry-2.0.1"
       sources."prompts-2.4.2"
       sources."proxy-addr-2.0.7"
       sources."prr-1.0.1"
-      sources."psl-1.8.0"
       (sources."public-encrypt-4.0.3" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -92461,11 +92509,6 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.1"
-      (sources."raven-2.6.3" // {
-        dependencies = [
-          sources."uuid-3.0.0"
-        ];
-      })
       (sources."raw-body-2.4.0" // {
         dependencies = [
           sources."bytes-3.1.0"
@@ -92509,10 +92552,13 @@ in
       sources."react-is-17.0.2"
       sources."read-chunk-3.2.0"
       sources."read-last-lines-1.6.0"
-      sources."read-package-json-fast-2.0.3"
       sources."readable-stream-2.3.7"
       sources."readdirp-3.6.0"
-      sources."recursive-readdir-2.2.2"
+      (sources."recursive-readdir-2.2.2" // {
+        dependencies = [
+          sources."minimatch-3.0.4"
+        ];
+      })
       sources."regenerator-runtime-0.13.9"
       sources."regex-not-1.0.2"
       sources."regexp.prototype.flags-1.4.1"
@@ -92531,12 +92577,6 @@ in
       })
       sources."repeat-element-1.1.4"
       sources."repeat-string-1.6.1"
-      (sources."request-2.88.2" // {
-        dependencies = [
-          sources."qs-6.5.3"
-          sources."uuid-3.4.0"
-        ];
-      })
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
       sources."require-main-filename-2.0.0"
@@ -92576,7 +92616,13 @@ in
       sources."safe-regex-1.1.0"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.4"
-      sources."schema-utils-3.1.1"
+      (sources."schema-utils-3.1.1" // {
+        dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
+          sources."json-schema-traverse-0.4.1"
+        ];
+      })
       sources."select-hose-2.0.0"
       sources."selfsigned-1.10.14"
       sources."semver-7.3.2"
@@ -92616,7 +92662,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.6.1"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."simple-plist-1.3.0" // {
         dependencies = [
           sources."bplist-parser-0.3.0"
@@ -92630,7 +92676,6 @@ in
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
       sources."slugify-1.6.5"
-      sources."smart-buffer-4.2.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."debug-2.6.9"
@@ -92672,8 +92717,6 @@ in
           sources."faye-websocket-0.11.4"
         ];
       })
-      sources."socks-2.6.1"
-      sources."socks-proxy-agent-6.1.1"
       sources."source-list-map-2.0.1"
       sources."source-map-0.5.7"
       sources."source-map-resolve-0.5.3"
@@ -92688,14 +92731,12 @@ in
       sources."split-1.0.1"
       sources."split-string-3.1.0"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.17.0"
       (sources."ssri-8.0.1" // {
         dependencies = [
           sources."minipass-3.1.6"
         ];
       })
       sources."stable-0.1.8"
-      sources."stack-trace-0.0.10"
       (sources."static-extend-0.1.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -92734,6 +92775,9 @@ in
       sources."strip-json-comments-2.0.1"
       (sources."style-loader-1.2.1" // {
         dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
+          sources."json-schema-traverse-0.4.1"
           sources."schema-utils-2.7.1"
         ];
       })
@@ -92803,8 +92847,11 @@ in
       })
       (sources."terser-webpack-plugin-3.1.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
+          sources."fast-deep-equal-3.1.3"
           sources."find-cache-dir-3.3.2"
           sources."find-up-4.1.0"
+          sources."json-schema-traverse-0.4.1"
           sources."locate-path-5.0.0"
           sources."make-dir-3.1.0"
           (sources."p-locate-4.1.0" // {
@@ -92824,7 +92871,6 @@ in
       sources."through-2.3.8"
       sources."through2-2.0.5"
       sources."thunky-1.1.0"
-      sources."timed-out-4.0.1"
       sources."timers-browserify-2.0.12"
       sources."timsort-0.3.0"
       sources."tmp-0.0.33"
@@ -92839,7 +92885,6 @@ in
       sources."to-regex-3.0.2"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
-      sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."traverse-0.6.6"
       sources."tree-kill-1.2.2"
@@ -92848,9 +92893,7 @@ in
       sources."ts-pnp-1.2.0"
       sources."tslib-1.14.1"
       sources."tty-browserify-0.0.0"
-      sources."tunnel-agent-0.6.0"
       sources."turndown-7.0.0"
-      sources."tweetnacl-0.14.5"
       sources."type-fest-0.12.0"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
@@ -92887,7 +92930,7 @@ in
       })
       sources."url-join-4.0.0"
       sources."url-loader-4.1.1"
-      sources."url-parse-1.5.4"
+      sources."url-parse-1.5.9"
       (sources."url-parse-lax-3.0.0" // {
         dependencies = [
           sources."prepend-http-2.0.0"
@@ -92908,11 +92951,6 @@ in
       sources."validate-npm-package-name-3.0.0"
       sources."vary-1.1.2"
       sources."vendors-1.0.4"
-      (sources."verror-1.10.0" // {
-        dependencies = [
-          sources."core-util-is-1.0.2"
-        ];
-      })
       sources."vm-browserify-1.1.2"
       sources."watchpack-1.7.5"
       (sources."watchpack-chokidar2-2.0.1" // {
@@ -92940,12 +92978,15 @@ in
       sources."webidl-conversions-3.0.1"
       (sources."webpack-4.43.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
           sources."braces-2.3.2"
           sources."cacache-12.0.4"
           sources."chownr-1.1.4"
           sources."extend-shallow-2.0.1"
+          sources."fast-deep-equal-3.1.3"
           sources."fill-range-4.0.0"
           sources."is-number-3.0.0"
+          sources."json-schema-traverse-0.4.1"
           sources."kind-of-3.2.2"
           sources."loader-utils-1.4.0"
           sources."lru-cache-5.1.1"
@@ -92962,27 +93003,29 @@ in
       sources."webpack-dev-middleware-3.7.3"
       (sources."webpack-dev-server-3.11.0" // {
         dependencies = [
+          sources."ajv-6.12.6"
           sources."ansi-regex-2.1.1"
           sources."anymatch-2.0.0"
           sources."array-union-1.0.2"
           sources."binary-extensions-1.13.1"
-          (sources."body-parser-1.19.1" // {
+          (sources."body-parser-1.19.2" // {
             dependencies = [
               sources."debug-2.6.9"
             ];
           })
           sources."braces-2.3.2"
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
           sources."chokidar-2.1.8"
           sources."content-disposition-0.5.4"
-          sources."cookie-0.4.1"
+          sources."cookie-0.4.2"
           sources."del-4.1.1"
-          (sources."express-4.17.2" // {
+          (sources."express-4.17.3" // {
             dependencies = [
               sources."debug-2.6.9"
             ];
           })
           sources."extend-shallow-2.0.1"
+          sources."fast-deep-equal-3.1.3"
           sources."fill-range-4.0.0"
           sources."fsevents-1.2.13"
           sources."glob-parent-3.1.0"
@@ -92991,6 +93034,7 @@ in
           sources."is-binary-path-1.0.1"
           sources."is-glob-3.1.0"
           sources."is-number-3.0.0"
+          sources."json-schema-traverse-0.4.1"
           sources."kind-of-3.2.2"
           sources."micromatch-3.1.10"
           sources."ms-2.0.0"
@@ -92998,8 +93042,8 @@ in
           sources."p-map-2.1.0"
           sources."p-retry-3.0.1"
           sources."pify-2.3.0"
-          sources."qs-6.9.6"
-          sources."raw-body-2.4.2"
+          sources."qs-6.9.7"
+          sources."raw-body-2.4.3"
           sources."readdirp-2.2.1"
           sources."rimraf-2.7.1"
           sources."safe-buffer-5.2.1"
@@ -93034,7 +93078,6 @@ in
       sources."which-1.3.1"
       sources."which-boxed-primitive-1.0.2"
       sources."which-module-2.0.0"
-      sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
       sources."with-open-file-0.1.7"
       sources."worker-farm-1.7.0"
@@ -93054,11 +93097,12 @@ in
           sources."uuid-7.0.3"
         ];
       })
-      (sources."xdl-59.2.22" // {
+      (sources."xdl-59.2.29" // {
         dependencies = [
           sources."bplist-parser-0.3.1"
           sources."chownr-1.1.4"
           sources."fs-minipass-1.2.7"
+          sources."minimatch-3.0.4"
           sources."minipass-2.9.0"
           sources."minizlib-1.3.3"
           sources."p-map-3.0.0"
@@ -93111,16 +93155,17 @@ in
   fast-cli = nodeEnv.buildNodePackage {
     name = "fast-cli";
     packageName = "fast-cli";
-    version = "3.1.0";
+    version = "3.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fast-cli/-/fast-cli-3.1.0.tgz";
-      sha512 = "vpRrhwFHZGzf/cGKbl1m/JUx+H27zmeUMaOsCknEmKHPvDlL+HQL6YTxK4XYRCUEQmxOGYOUSGG4udBpprG7gg==";
+      url = "https://registry.npmjs.org/fast-cli/-/fast-cli-3.2.0.tgz";
+      sha512 = "sA4bbCHFe8DqtRjlIVD5Hga+tDpYOgoOOG+NKyLFYJfLrxlmU28RmSjr+pC15q0xU67g7Ut3jDskasmjeLgRsg==";
     };
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      sources."@babel/core-7.16.12"
-      sources."@babel/generator-7.16.8"
+      sources."@babel/compat-data-7.17.0"
+      sources."@babel/core-7.17.5"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-compilation-targets-7.16.7"
       sources."@babel/helper-environment-visitor-7.16.7"
@@ -93134,20 +93179,23 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-syntax-jsx-7.16.7"
       sources."@babel/plugin-syntax-object-rest-spread-7.8.3"
-      sources."@babel/plugin-transform-destructuring-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
       sources."@babel/plugin-transform-parameters-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.16.7"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/yauzl-2.9.2"
       sources."@types/yoga-layout-1.9.2"
@@ -93166,7 +93214,7 @@ in
       sources."base64-js-1.5.1"
       sources."bl-4.1.0"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."buffer-5.7.1"
       sources."buffer-crc32-0.2.13"
       sources."caller-callsite-4.1.0"
@@ -93174,7 +93222,7 @@ in
       sources."callsites-3.1.0"
       sources."camelcase-5.3.1"
       sources."camelcase-keys-6.2.2"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."chalk-2.4.2"
       sources."chownr-1.1.4"
       sources."ci-info-2.0.0"
@@ -93189,6 +93237,7 @@ in
       sources."concat-map-0.0.1"
       sources."convert-source-map-1.8.0"
       sources."convert-to-spaces-1.0.2"
+      sources."cross-fetch-3.1.5"
       sources."debug-4.3.3"
       sources."decamelize-1.2.0"
       (sources."decamelize-keys-1.1.0" // {
@@ -93197,8 +93246,8 @@ in
         ];
       })
       sources."delay-5.0.0"
-      sources."devtools-protocol-0.0.948846"
-      sources."electron-to-chromium-1.4.51"
+      sources."devtools-protocol-0.0.960912"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
@@ -93260,13 +93309,13 @@ in
       })
       sources."mimic-fn-2.1.0"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."mkdirp-classic-0.5.3"
       sources."ms-2.1.2"
-      sources."node-fetch-2.6.5"
-      sources."node-releases-2.0.1"
+      sources."node-fetch-2.6.7"
+      sources."node-releases-2.0.2"
       (sources."normalize-package-data-3.0.3" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -93289,15 +93338,14 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      (sources."puppeteer-13.1.1" // {
+      (sources."puppeteer-13.3.2" // {
         dependencies = [
-          sources."debug-4.3.2"
-          sources."ws-8.2.3"
+          sources."ws-8.5.0"
         ];
       })
       sources."quick-lru-4.0.1"
       sources."react-17.0.2"
-      sources."react-devtools-core-4.22.1"
+      sources."react-devtools-core-4.23.0"
       sources."react-reconciler-0.26.2"
       (sources."read-pkg-5.2.0" // {
         dependencies = [
@@ -93322,7 +93370,7 @@ in
       sources."scheduler-0.20.2"
       sources."semver-6.3.0"
       sources."shell-quote-1.7.3"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."slice-ansi-3.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -93371,7 +93419,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."yallist-4.0.0"
       sources."yargs-parser-20.2.9"
       sources."yauzl-2.10.0"
@@ -93391,10 +93439,10 @@ in
   fauna-shell = nodeEnv.buildNodePackage {
     name = "fauna-shell";
     packageName = "fauna-shell";
-    version = "0.13.0";
+    version = "0.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fauna-shell/-/fauna-shell-0.13.0.tgz";
-      sha512 = "v+BnCDJ3lla19bPcPfrMhPLjDlite6sdejhz9lhUck0dO1cFeSDtSw3+4Nbo18BzHFOEm3GN3GCwHeUyQtwipQ==";
+      url = "https://registry.npmjs.org/fauna-shell/-/fauna-shell-0.14.0.tgz";
+      sha512 = "BkerCVGNYE81YUaXK1N4Zv9Sppa1KqfdaqDF03o+B1fnDrQLeCftN+8j8P/z9iFH8ZDrDR9E1qgWNA5NvjHbAw==";
     };
     dependencies = [
       (sources."@heroku-cli/color-1.1.14" // {
@@ -93413,10 +93461,11 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@oclif/command-1.8.16"
-      sources."@oclif/config-1.18.2"
+      sources."@oclif/config-1.18.3"
       sources."@oclif/errors-1.3.5"
       (sources."@oclif/help-1.0.1" // {
         dependencies = [
+          sources."@oclif/config-1.18.2"
           sources."wrap-ansi-6.2.0"
         ];
       })
@@ -93451,7 +93500,6 @@ in
       })
       sources."@oclif/screen-1.0.4"
       sources."@sindresorhus/is-0.7.0"
-      sources."abort-controller-3.0.0"
       sources."ajv-6.12.6"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-3.2.0"
@@ -93546,7 +93594,6 @@ in
       sources."esprima-4.0.1"
       sources."estraverse-4.3.0"
       sources."esutils-2.0.3"
-      sources."event-target-shim-5.0.1"
       sources."execa-0.10.0"
       sources."extend-3.0.2"
       sources."external-editor-3.1.0"
@@ -93557,7 +93604,7 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fastq-1.13.0"
-      sources."faunadb-4.4.1"
+      sources."faunadb-4.5.2"
       (sources."figures-3.2.0" // {
         dependencies = [
           sources."escape-string-regexp-1.0.5"
@@ -93657,12 +93704,13 @@ in
         ];
       })
       sources."nice-try-1.0.5"
+      sources."node-abort-controller-3.0.1"
       sources."node-fetch-2.6.7"
       sources."normalize-url-2.0.1"
       sources."npm-run-path-2.0.2"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
-      sources."object-sizeof-1.6.1"
+      sources."object-sizeof-1.6.3"
       sources."onetime-5.1.2"
       sources."opn-3.0.3"
       sources."optionator-0.8.3"
@@ -93701,20 +93749,20 @@ in
       sources."reusify-1.0.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
-      sources."rxjs-7.5.2"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."sort-keys-2.0.0"
       sources."source-map-0.6.1"
       sources."sshpk-1.17.0"
       sources."stealthy-require-1.1.1"
-      sources."stream-chain-2.2.4"
-      sources."stream-json-1.7.3"
+      sources."stream-chain-2.2.5"
+      sources."stream-json-1.7.4"
       sources."strict-uri-encode-1.1.0"
       sources."string-width-4.2.3"
       (sources."string_decoder-1.1.1" // {
@@ -93775,10 +93823,10 @@ in
   firebase-tools = nodeEnv.buildNodePackage {
     name = "firebase-tools";
     packageName = "firebase-tools";
-    version = "10.1.2";
+    version = "10.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.1.2.tgz";
-      sha512 = "Z8TA9wGeN5vbl/NJBhiwrm2RLmZgHPvv9G4mQhqyWkfcrlglWwqxgA4KsmZABwtyE7A4teDC4yBdw4K7d6JTcw==";
+      url = "https://registry.npmjs.org/firebase-tools/-/firebase-tools-10.2.1.tgz";
+      sha512 = "MBAN5fMMiP8eUfh3pNXREOPzsjp6VpOLAWxD/h2+qLGqzmS3A1S/PQA+VCx46+ebkeo8oilNaVbNLAN/+yAbLw==";
     };
     dependencies = [
       (sources."@apidevtools/json-schema-ref-parser-9.0.9" // {
@@ -93786,17 +93834,18 @@ in
           sources."js-yaml-4.1.0"
         ];
       })
-      sources."@dabh/diagnostics-2.0.2"
-      sources."@gar/promisify-1.1.2"
-      sources."@google-cloud/paginator-3.0.6"
+      sources."@colors/colors-1.5.0"
+      sources."@dabh/diagnostics-2.0.3"
+      sources."@gar/promisify-1.1.3"
+      sources."@google-cloud/paginator-3.0.7"
       sources."@google-cloud/precise-date-2.0.4"
       sources."@google-cloud/projectify-2.1.1"
       sources."@google-cloud/promisify-2.0.4"
-      sources."@google-cloud/pubsub-2.18.4"
-      sources."@grpc/grpc-js-1.4.6"
+      sources."@google-cloud/pubsub-2.19.0"
+      sources."@grpc/grpc-js-1.5.5"
       sources."@grpc/proto-loader-0.6.9"
       sources."@jsdevtools/ono-7.1.3"
-      (sources."@npmcli/fs-1.1.0" // {
+      (sources."@npmcli/fs-1.1.1" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
@@ -93806,8 +93855,8 @@ in
           sources."mkdirp-1.0.4"
         ];
       })
-      sources."@opentelemetry/api-1.0.4"
-      sources."@opentelemetry/semantic-conventions-0.24.0"
+      sources."@opentelemetry/api-1.1.0"
+      sources."@opentelemetry/semantic-conventions-1.0.1"
       sources."@protobufjs/aspromise-1.1.2"
       sources."@protobufjs/base64-1.1.2"
       sources."@protobufjs/codegen-2.0.4"
@@ -93824,17 +93873,19 @@ in
       sources."@types/duplexify-3.6.1"
       sources."@types/json-schema-7.0.9"
       sources."@types/long-4.0.1"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."abbrev-1.1.1"
       sources."abort-controller-3.0.0"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
+      sources."acorn-8.7.0"
+      sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."agentkeepalive-4.2.0"
       sources."aggregate-error-3.1.0"
       sources."ajv-6.12.6"
       (sources."ajv-formats-2.1.1" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -93853,7 +93904,7 @@ in
           sources."string_decoder-1.1.1"
         ];
       })
-      sources."are-we-there-yet-2.0.0"
+      sources."are-we-there-yet-3.0.0"
       sources."argparse-2.0.1"
       sources."array-flatten-1.1.1"
       sources."arrify-2.0.1"
@@ -93881,7 +93932,7 @@ in
       sources."bl-4.1.0"
       sources."blakejs-1.1.1"
       sources."bluebird-3.4.7"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -93900,7 +93951,7 @@ in
       sources."buffer-equal-constant-time-1.0.1"
       sources."buffer-indexof-polyfill-1.0.2"
       sources."buffers-0.1.1"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       (sources."cacache-15.3.0" // {
         dependencies = [
           sources."mkdirp-1.0.4"
@@ -93973,11 +94024,11 @@ in
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cors-2.8.5"
-      sources."crc-32-1.2.0"
+      sources."crc-32-1.2.1"
       sources."crc32-stream-4.0.2"
       (sources."cross-env-5.2.1" // {
         dependencies = [
@@ -94004,7 +94055,7 @@ in
       sources."deep-is-0.1.4"
       sources."defaults-1.0.3"
       sources."defer-to-connect-1.1.3"
-      sources."degenerator-3.0.1"
+      sources."degenerator-3.0.2"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
@@ -94052,7 +94103,7 @@ in
       sources."events-listener-1.1.0"
       (sources."exegesis-4.1.0" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
           sources."semver-7.3.5"
         ];
@@ -94060,7 +94111,7 @@ in
       sources."exegesis-express-4.0.0"
       sources."exit-code-1.0.2"
       sources."exit-on-epipe-1.0.1"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -94068,7 +94119,7 @@ in
       })
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."extend-3.0.2"
@@ -94127,7 +94178,7 @@ in
           sources."string_decoder-0.10.31"
         ];
       })
-      sources."gauge-4.0.0"
+      sources."gauge-4.0.1"
       sources."gaxios-4.3.2"
       sources."gcp-metadata-4.3.1"
       sources."get-caller-file-2.0.5"
@@ -94143,12 +94194,12 @@ in
       sources."glob-slash-1.0.0"
       sources."glob-slasher-1.0.1"
       sources."global-dirs-2.1.0"
-      sources."google-auth-library-7.11.0"
-      sources."google-gax-2.28.1"
+      sources."google-auth-library-7.13.0"
+      sources."google-gax-2.29.6"
       sources."google-p12-pem-3.1.3"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.9"
-      sources."gtoken-5.3.1"
+      sources."gtoken-5.3.2"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       (sources."has-ansi-2.0.0" // {
@@ -94216,7 +94267,7 @@ in
       sources."json-bigint-1.0.0"
       sources."json-buffer-3.0.0"
       sources."json-parse-helpfulerror-1.0.3"
-      sources."json-ptr-3.0.1"
+      sources."json-ptr-3.1.0"
       sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stringify-safe-5.0.1"
@@ -94265,11 +94316,7 @@ in
       sources."lodash.union-4.6.0"
       sources."lodash.values-2.4.1"
       sources."log-symbols-4.1.0"
-      (sources."logform-2.3.2" // {
-        dependencies = [
-          sources."colors-1.4.0"
-        ];
-      })
+      sources."logform-2.4.0"
       sources."long-4.0.0"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -94284,7 +94331,7 @@ in
           sources."socks-proxy-agent-6.1.1"
         ];
       })
-      sources."marked-4.0.10"
+      sources."marked-4.0.12"
       (sources."marked-terminal-3.3.0" // {
         dependencies = [
           sources."ansi-escapes-3.2.0"
@@ -94309,7 +94356,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -94334,7 +94381,7 @@ in
           sources."async-1.5.2"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."netmask-2.0.2"
       sources."next-tick-1.0.0"
       sources."nice-try-1.0.5"
@@ -94350,7 +94397,7 @@ in
       sources."nopt-5.0.0"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
-      sources."npmlog-6.0.0"
+      sources."npmlog-6.0.1"
       sources."oauth-sign-0.9.0"
       sources."object-assign-4.1.1"
       sources."object-hash-2.2.0"
@@ -94360,7 +94407,7 @@ in
       sources."one-time-1.0.0"
       sources."onetime-5.1.2"
       sources."open-6.4.0"
-      sources."openapi3-ts-2.0.1"
+      sources."openapi3-ts-2.0.2"
       sources."optionator-0.8.3"
       sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
@@ -94388,12 +94435,16 @@ in
       })
       sources."prelude-ls-1.1.2"
       sources."prepend-http-2.0.0"
-      sources."printj-1.1.2"
+      sources."printj-1.3.1"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
       sources."promise-breaker-5.0.0"
       sources."promise-inflight-1.0.1"
-      sources."promise-retry-2.0.1"
+      (sources."promise-retry-2.0.1" // {
+        dependencies = [
+          sources."retry-0.12.0"
+        ];
+      })
       sources."proto3-json-serializer-0.1.8"
       sources."protobufjs-6.11.2"
       sources."proxy-addr-2.0.7"
@@ -94408,9 +94459,9 @@ in
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."re2-1.17.3"
       sources."readable-stream-3.6.0"
@@ -94429,7 +94480,7 @@ in
       sources."require-from-string-2.0.2"
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
-      sources."retry-0.12.0"
+      sources."retry-0.13.1"
       sources."retry-request-4.2.2"
       sources."rimraf-3.0.2"
       (sources."router-1.3.6" // {
@@ -94441,9 +94492,9 @@ in
       })
       sources."rsvp-4.8.5"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.2"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
-      sources."safe-stable-stringify-1.1.1"
+      sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.1"
       (sources."semver-diff-3.1.1" // {
@@ -94468,10 +94519,10 @@ in
       sources."setprototypeof-1.2.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-swizzle-0.2.2"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
@@ -94479,8 +94530,8 @@ in
       sources."ssri-8.0.1"
       sources."stack-trace-0.0.10"
       sources."statuses-1.5.0"
-      sources."stream-chain-2.2.4"
-      sources."stream-json-1.7.3"
+      sources."stream-chain-2.2.5"
+      sources."stream-json-1.7.4"
       sources."stream-shift-1.0.1"
       (sources."string-length-1.0.1" // {
         dependencies = [
@@ -94562,11 +94613,7 @@ in
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-2.0.0"
-      (sources."universal-analytics-0.4.23" // {
-        dependencies = [
-          sources."uuid-3.4.0"
-        ];
-      })
+      sources."universal-analytics-0.5.3"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
       (sources."unzipper-0.10.11" // {
@@ -94601,20 +94648,20 @@ in
           sources."core-util-is-1.0.2"
         ];
       })
-      sources."vm2-3.9.5"
+      sources."vm2-3.9.8"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
       sources."wide-align-1.1.5"
       sources."widest-line-3.1.0"
-      sources."winston-3.4.0"
-      sources."winston-transport-4.4.2"
+      sources."winston-3.6.0"
+      sources."winston-transport-4.5.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xdg-basedir-4.0.0"
       sources."xregexp-2.0.0"
       sources."y18n-5.0.8"
@@ -94661,7 +94708,7 @@ in
       sources."inherits-2.0.4"
       sources."is-fullwidth-code-point-3.0.0"
       sources."json5-relaxed-0.5.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."require-directory-2.1.1"
@@ -94686,10 +94733,10 @@ in
   fkill-cli = nodeEnv.buildNodePackage {
     name = "fkill-cli";
     packageName = "fkill-cli";
-    version = "7.0.0";
+    version = "7.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/fkill-cli/-/fkill-cli-7.0.0.tgz";
-      sha512 = "iLv/+0qHQjqnj9Pa9gA0TQ6vhV9eRn4fKxbiOPKL7uGs2Zth7iIGvNnpHmJfQ7OV7TTgR53yolY2DS1vWE/FjQ==";
+      url = "https://registry.npmjs.org/fkill-cli/-/fkill-cli-7.1.0.tgz";
+      sha512 = "EkJbYwI1Wt3oujxNlFF0Mq3hqdkDtQz7cPhZnXzUxmNhaxVopDqiwnB3zZmVvt2t6uKvplh21kLTTJ11hWH+0w==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -94716,7 +94763,7 @@ in
       sources."bl-4.1.0"
       sources."buffer-5.7.1"
       sources."camelcase-6.3.0"
-      (sources."camelcase-keys-7.0.1" // {
+      (sources."camelcase-keys-7.0.2" // {
         dependencies = [
           sources."type-fest-1.4.0"
         ];
@@ -94755,6 +94802,7 @@ in
       sources."find-up-5.0.0"
       sources."fkill-8.0.0"
       sources."function-bind-1.1.1"
+      sources."fuzzy-search-3.2.1"
       sources."get-stream-6.0.1"
       sources."hard-rejection-2.1.0"
       sources."has-1.0.3"
@@ -94849,13 +94897,13 @@ in
       sources."redent-4.0.0"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.2"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."slice-ansi-5.0.0" // {
         dependencies = [
           sources."ansi-styles-6.1.0"
@@ -94907,7 +94955,7 @@ in
       sources."@types/atob-2.1.2"
       sources."@types/bn.js-5.1.0"
       sources."@types/inquirer-6.5.0"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/pbkdf2-3.1.0"
       sources."@types/secp256k1-4.0.3"
       sources."@types/through-0.0.30"
@@ -94962,7 +95010,7 @@ in
       sources."esprima-4.0.1"
       sources."ethereum-bloom-filters-1.0.10"
       sources."ethereum-cryptography-0.1.3"
-      (sources."ethereumjs-util-7.1.3" // {
+      (sources."ethereumjs-util-7.1.4" // {
         dependencies = [
           sources."bn.js-5.2.0"
         ];
@@ -95074,7 +95122,7 @@ in
       sources."set-blocking-2.0.0"
       sources."setimmediate-1.0.5"
       sources."sha.js-2.4.11"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.17.0"
       sources."stealthy-require-1.1.1"
@@ -95139,12 +95187,14 @@ in
   forever = nodeEnv.buildNodePackage {
     name = "forever";
     packageName = "forever";
-    version = "4.0.2";
+    version = "4.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/forever/-/forever-4.0.2.tgz";
-      sha512 = "4m31xy8+Rszy1Dq6grPF1dDoEXW5su94JLT3cH0RJcgt+htu9NKVdeNMUeNtUbJ9iSYfuAL3ZpKW8/WTFXu2Sg==";
+      url = "https://registry.npmjs.org/forever/-/forever-4.0.3.tgz";
+      sha512 = "N8aVtvB3bdh3lXPE9Rb+ErISSnJsAkv0GgZ0h6qtN8UXFgcSqJNMyBst9r3SBNk6+n4iBVaZso16mr1SUVvG3Q==";
     };
     dependencies = [
+      sources."@colors/colors-1.5.0"
+      sources."@dabh/diagnostics-2.0.3"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -95205,12 +95255,23 @@ in
       })
       (sources."cliff-0.1.10" // {
         dependencies = [
+          sources."async-0.2.10"
           sources."colors-1.0.3"
+          (sources."winston-0.8.3" // {
+            dependencies = [
+              sources."colors-0.6.2"
+            ];
+          })
         ];
       })
       sources."clone-2.1.2"
       sources."collection-visit-1.0.0"
+      sources."color-3.2.1"
+      sources."color-convert-1.9.3"
+      sources."color-name-1.1.3"
+      sources."color-string-1.9.0"
       sources."colors-0.6.2"
+      sources."colorspace-1.1.4"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
       sources."configstore-4.0.0"
@@ -95227,6 +95288,7 @@ in
       sources."director-1.2.7"
       sources."dot-prop-4.2.1"
       sources."duplexer-0.1.2"
+      sources."enabled-2.0.0"
       sources."es-abstract-1.19.1"
       sources."es-get-iterator-1.1.2"
       sources."es-to-primitive-1.2.1"
@@ -95260,6 +95322,7 @@ in
         ];
       })
       sources."eyes-0.1.8"
+      sources."fecha-4.2.1"
       sources."file-uri-to-path-1.0.0"
       (sources."fill-range-4.0.0" // {
         dependencies = [
@@ -95268,6 +95331,7 @@ in
         ];
       })
       sources."flatiron-0.4.3"
+      sources."fn.name-1.1.0"
       sources."for-in-1.0.2"
       sources."foreach-2.0.5"
       sources."forever-monitor-3.0.3"
@@ -95304,6 +95368,7 @@ in
       sources."internal-slot-1.0.3"
       sources."is-accessor-descriptor-1.0.0"
       sources."is-arguments-1.1.1"
+      sources."is-arrayish-0.3.2"
       sources."is-bigint-1.0.4"
       sources."is-binary-path-1.0.1"
       sources."is-boolean-object-1.1.2"
@@ -95328,6 +95393,7 @@ in
       sources."is-regex-1.1.4"
       sources."is-set-2.0.2"
       sources."is-shared-array-buffer-1.0.1"
+      sources."is-stream-2.0.1"
       sources."is-string-1.0.7"
       sources."is-symbol-1.0.4"
       sources."is-typed-array-1.1.8"
@@ -95340,13 +95406,19 @@ in
       sources."isstream-0.1.2"
       sources."jsonify-0.0.0"
       sources."kind-of-6.0.3"
+      sources."kuler-2.0.0"
       sources."lazy-1.0.11"
+      (sources."logform-2.4.0" // {
+        dependencies = [
+          sources."ms-2.1.3"
+        ];
+      })
       sources."make-dir-1.3.0"
       sources."map-cache-0.2.2"
       sources."map-stream-0.1.0"
       sources."map-visit-1.0.0"
       sources."micromatch-3.1.10"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-0.0.10"
       sources."mixin-deep-1.3.2"
       (sources."mkdirp-0.5.5" // {
@@ -95391,6 +95463,7 @@ in
       sources."object.assign-4.1.2"
       sources."object.pick-1.3.0"
       sources."once-1.4.0"
+      sources."one-time-1.0.0"
       sources."optimist-0.6.0"
       sources."pascalcase-0.1.1"
       sources."path-dirname-1.0.2"
@@ -95406,7 +95479,12 @@ in
         ];
       })
       sources."process-nextick-args-2.0.1"
-      sources."prompt-0.2.14"
+      (sources."prompt-0.2.14" // {
+        dependencies = [
+          sources."async-0.2.10"
+          sources."winston-0.8.3"
+        ];
+      })
       sources."ps-tree-1.2.0"
       sources."read-1.0.7"
       (sources."readable-stream-2.3.7" // {
@@ -95427,6 +95505,7 @@ in
       sources."rimraf-2.7.1"
       sources."safe-buffer-5.1.2"
       sources."safe-regex-1.1.0"
+      sources."safe-stable-stringify-2.3.1"
       (sources."set-value-2.0.1" // {
         dependencies = [
           sources."extend-shallow-2.0.1"
@@ -95435,7 +95514,8 @@ in
       })
       sources."shush-1.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
+      sources."simple-swizzle-0.2.2"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
           sources."define-property-0.2.5"
@@ -95498,6 +95578,7 @@ in
           sources."deep-equal-0.1.2"
         ];
       })
+      sources."text-hex-1.0.0"
       sources."through-2.3.8"
       (sources."to-object-path-0.3.0" // {
         dependencies = [
@@ -95506,6 +95587,7 @@ in
       })
       sources."to-regex-3.0.2"
       sources."to-regex-range-2.1.1"
+      sources."triple-beam-1.3.0"
       sources."unbox-primitive-1.0.1"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -95536,9 +95618,15 @@ in
       sources."which-boxed-primitive-1.0.2"
       sources."which-collection-1.0.1"
       sources."which-typed-array-1.1.7"
-      (sources."winston-0.8.3" // {
+      (sources."winston-3.6.0" // {
         dependencies = [
-          sources."async-0.2.10"
+          sources."async-3.2.3"
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      (sources."winston-transport-4.5.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
         ];
       })
       sources."wordwrap-0.0.3"
@@ -95611,21 +95699,21 @@ in
   gatsby-cli = nodeEnv.buildNodePackage {
     name = "gatsby-cli";
     packageName = "gatsby-cli";
-    version = "4.5.2";
+    version = "4.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.5.2.tgz";
-      sha512 = "AAltHfDTqOq4RL0oBgsmZb+IIDiV1zMdEzCgYIeEqWtc7nesKwHs4myYqhQV8wmXwyWKKWuXuTAqSoxuQT+X5w==";
+      url = "https://registry.npmjs.org/gatsby-cli/-/gatsby-cli-4.7.0.tgz";
+      sha512 = "y5L+h7dtFjiKeBiiNtNw0HsgcMcTMokpfXHbXfIV7khCS1dxN9xtYx6lKvsxLX3ytxs3OsWTxeqfNhEB87wrNw==";
     };
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      (sources."@babel/core-7.16.12" // {
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."semver-6.3.0"
-          sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.16.8" // {
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
@@ -95646,33 +95734,36 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       (sources."@babel/highlight-7.16.10" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.16.12"
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/runtime-7.17.2"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
       sources."@hapi/hoek-9.2.1"
       sources."@hapi/topo-5.1.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@sideway/address-4.1.3"
       sources."@sideway/formula-3.0.0"
       sources."@sideway/pinpoint-2.0.0"
-      sources."@sindresorhus/is-4.3.0"
+      sources."@sindresorhus/is-4.4.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tokenizer/token-0.3.0"
-      sources."@turist/fetch-7.1.7"
+      sources."@turist/fetch-7.2.0"
       sources."@turist/time-0.0.2"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/common-tags-1.8.1"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.10"
-      sources."@types/node-fetch-2.5.12"
+      sources."@types/node-17.0.19"
+      sources."@types/node-fetch-2.6.1"
       sources."@types/responselike-1.0.0"
       sources."@types/yoga-layout-1.9.2"
       sources."ansi-align-3.0.1"
@@ -95681,7 +95772,7 @@ in
           sources."type-fest-0.21.3"
         ];
       })
-      sources."ansi-regex-5.0.1"
+      sources."ansi-regex-2.1.1"
       sources."ansi-styles-3.2.1"
       sources."arch-2.2.0"
       sources."async-retry-ng-2.0.1"
@@ -95691,7 +95782,7 @@ in
       sources."boolbase-1.0.0"
       sources."boxen-5.1.2"
       sources."brace-expansion-1.1.11"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."cacheable-lookup-5.0.4"
       (sources."cacheable-request-7.0.2" // {
         dependencies = [
@@ -95700,7 +95791,7 @@ in
       })
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -95725,7 +95816,6 @@ in
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."strip-ansi-6.0.1"
           sources."wrap-ansi-6.2.0"
         ];
       })
@@ -95738,7 +95828,7 @@ in
       sources."configstore-5.0.1"
       sources."convert-hrtime-3.0.0"
       sources."convert-source-map-1.8.0"
-      sources."create-gatsby-2.5.1"
+      sources."create-gatsby-2.7.0"
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -95765,7 +95855,7 @@ in
       sources."domutils-2.8.0"
       sources."dot-prop-5.3.0"
       sources."duplexer3-0.1.4"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
       sources."entities-2.2.0"
@@ -95790,6 +95880,7 @@ in
           sources."tmp-0.0.33"
         ];
       })
+      sources."fastq-1.13.0"
       sources."figures-3.2.0"
       sources."file-type-16.5.3"
       sources."filter-obj-1.1.0"
@@ -95799,8 +95890,8 @@ in
       sources."fs-extra-10.0.0"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
-      sources."gatsby-core-utils-3.5.2"
-      (sources."gatsby-telemetry-3.5.2" // {
+      sources."gatsby-core-utils-3.7.0"
+      (sources."gatsby-telemetry-3.7.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
           sources."boxen-4.2.0"
@@ -95839,11 +95930,7 @@ in
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
-      (sources."inquirer-7.3.3" // {
-        dependencies = [
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."inquirer-7.3.3"
       sources."is-ci-2.0.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-1.0.0"
@@ -95861,13 +95948,13 @@ in
       sources."is-wsl-2.2.0"
       sources."is-yarn-global-0.3.0"
       sources."isexe-2.0.0"
-      sources."joi-17.5.0"
+      sources."joi-17.6.0"
       sources."js-tokens-4.0.0"
       sources."jsesc-2.5.2"
       sources."json-buffer-3.0.1"
       sources."json5-2.2.0"
       sources."jsonfile-6.1.0"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."kleur-3.0.3"
       sources."latest-version-5.1.0"
       sources."locate-path-5.0.0"
@@ -95886,14 +95973,14 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       sources."nice-try-1.0.5"
       sources."node-fetch-2.6.7"
       sources."node-object-hash-2.3.10"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-url-6.1.0"
       sources."npm-run-path-2.0.2"
       sources."nth-check-2.0.1"
@@ -95935,7 +96022,7 @@ in
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
-      sources."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."picocolors-1.0.0"
       sources."prepend-http-2.0.0"
       sources."pretty-error-2.1.2"
@@ -95962,7 +96049,6 @@ in
       sources."registry-url-5.1.0"
       (sources."renderkid-2.0.7" // {
         dependencies = [
-          sources."ansi-regex-2.1.1"
           sources."strip-ansi-3.0.1"
         ];
       })
@@ -95974,6 +96060,7 @@ in
       sources."responselike-2.0.0"
       sources."restore-cursor-3.1.0"
       sources."retry-0.12.0"
+      sources."reusify-1.0.4"
       sources."rimraf-3.0.2"
       sources."run-async-2.4.1"
       sources."rxjs-6.6.7"
@@ -95989,31 +96076,27 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sisteransi-1.0.5"
       sources."source-map-0.7.3"
       sources."split-on-first-1.1.0"
       sources."stack-trace-0.0.10"
       sources."strict-uri-encode-2.0.0"
-      (sources."string-width-4.2.3" // {
-        dependencies = [
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."string-width-4.2.3"
       (sources."string_decoder-1.3.0" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
         ];
       })
-      (sources."strip-ansi-5.2.0" // {
+      (sources."strip-ansi-6.0.1" // {
         dependencies = [
-          sources."ansi-regex-4.1.0"
+          sources."ansi-regex-5.0.1"
         ];
       })
       sources."strip-eof-1.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-json-comments-2.0.1"
-      sources."strtok3-6.2.4"
+      sources."strtok3-6.3.0"
       sources."supports-color-5.5.0"
       sources."term-size-2.2.1"
       sources."through-2.3.8"
@@ -96042,7 +96125,6 @@ in
           sources."ansi-styles-4.3.0"
           sources."color-convert-2.0.1"
           sources."color-name-1.1.4"
-          sources."strip-ansi-6.0.1"
         ];
       })
       sources."wrappy-1.0.2"
@@ -96059,7 +96141,9 @@ in
       sources."yoga-layout-prebuilt-1.10.0"
       (sources."yurnalist-2.1.0" // {
         dependencies = [
+          sources."ansi-regex-4.1.0"
           sources."chalk-2.4.2"
+          sources."strip-ansi-5.2.0"
         ];
       })
     ];
@@ -96076,10 +96160,10 @@ in
   generator-code = nodeEnv.buildNodePackage {
     name = "generator-code";
     packageName = "generator-code";
-    version = "1.6.6";
+    version = "1.6.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.6.tgz";
-      sha512 = "cSSf/fBruT8zs12vg5X2rSpmwjnq/u9vpRrUPjxudm8T6a268NEe6JlphRAES3SpO65SZs7XI11UIY8NMJSqZg==";
+      url = "https://registry.npmjs.org/generator-code/-/generator-code-1.6.7.tgz";
+      sha512 = "T6i3kosKqbzgVP99cFpGyovKpNHpTmxPIZjfbNMlyCinj1oIclZ3qcHnI7jttJbXb/XHfNPqDLKQEHL+jCHTZQ==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -96157,7 +96241,7 @@ in
       sources."lru-cache-6.0.0"
       sources."merge-stream-2.0.0"
       sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."ms-2.1.2"
       sources."node-fetch-2.6.7"
@@ -96195,7 +96279,7 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."shelljs-0.8.5"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sort-keys-4.2.0"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -96371,17 +96455,17 @@ in
       sources."moo-0.5.1"
       sources."ms-2.1.2"
       sources."multicb-1.2.2"
-      sources."multiserver-3.7.2"
+      sources."multiserver-3.8.2"
       sources."multiserver-address-1.0.1"
-      sources."multiserver-scopes-1.0.0"
-      sources."muxrpc-6.5.4"
+      sources."multiserver-scopes-2.0.0"
+      sources."muxrpc-6.7.0"
       sources."nearley-2.20.1"
       sources."node-gyp-build-4.3.0"
       sources."node-polyglot-1.0.0"
-      sources."non-private-ip-1.4.4"
+      sources."non-private-ip-2.2.0"
       sources."os-homedir-1.0.2"
       sources."packet-stream-2.0.6"
-      sources."packet-stream-codec-1.1.3"
+      sources."packet-stream-codec-1.2.0"
       sources."pako-1.0.11"
       sources."private-box-0.3.1"
       sources."progress-1.1.8"
@@ -96442,7 +96526,7 @@ in
       sources."separator-escape-0.0.1"
       sources."sha.js-2.4.5"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -96464,7 +96548,11 @@ in
           })
         ];
       })
-      sources."ssb-config-2.3.9"
+      (sources."ssb-config-2.3.9" // {
+        dependencies = [
+          sources."non-private-ip-1.4.4"
+        ];
+      })
       sources."ssb-git-0.5.0"
       sources."ssb-git-repo-2.8.3"
       sources."ssb-issues-1.0.0"
@@ -96493,7 +96581,7 @@ in
       sources."tweetnacl-0.14.5"
       sources."tweetnacl-auth-0.3.1"
       sources."typedarray-to-buffer-4.0.0"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xtend-4.0.2"
     ];
     buildInputs = globalBuildInputs;
@@ -96527,21 +96615,21 @@ in
   "@gitbeaker/cli" = nodeEnv.buildNodePackage {
     name = "_at_gitbeaker_slash_cli";
     packageName = "@gitbeaker/cli";
-    version = "35.1.0";
+    version = "35.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-35.1.0.tgz";
-      sha512 = "hQ+sXT//GPp5ZwqujZ6p5O7MmvO4sgF8D5mhnRCBmp5oPGyJ3+1r9pfFnWI+BIFOpO9pi0+L1ZljNJS3175SfA==";
+      url = "https://registry.npmjs.org/@gitbeaker/cli/-/cli-35.4.0.tgz";
+      sha512 = "dJVO3nIliMrxB+OoRvyzU0iMSUkTw2J2Iil23of4oOPkveHBksk8Nds+kfx/0HdEdPVQ19hHF5sxjvDxicucUg==";
     };
     dependencies = [
-      sources."@gitbeaker/core-35.1.0"
-      sources."@gitbeaker/node-35.1.0"
-      sources."@gitbeaker/requester-utils-35.1.0"
-      sources."@sindresorhus/is-4.3.0"
+      sources."@gitbeaker/core-35.4.0"
+      sources."@gitbeaker/node-35.4.0"
+      sources."@gitbeaker/requester-utils-35.4.0"
+      sources."@sindresorhus/is-4.4.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."ansi-regex-6.0.1"
       sources."ansi-styles-4.3.0"
@@ -96587,7 +96675,7 @@ in
       sources."is-interactive-2.0.0"
       sources."is-unicode-supported-1.1.0"
       sources."json-buffer-3.0.1"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."li-1.3.0"
       (sources."log-symbols-5.1.0" // {
         dependencies = [
@@ -96604,11 +96692,15 @@ in
       sources."object-inspect-1.12.0"
       sources."once-1.4.0"
       sources."onetime-5.1.2"
-      sources."ora-6.0.1"
+      (sources."ora-6.1.0" // {
+        dependencies = [
+          sources."chalk-5.0.0"
+        ];
+      })
       sources."p-cancelable-2.1.1"
       sources."pump-3.0.0"
       sources."qs-6.10.3"
-      sources."query-string-7.1.0"
+      sources."query-string-7.1.1"
       sources."quick-lru-5.1.1"
       sources."readable-stream-3.6.0"
       sources."resolve-alpn-1.2.1"
@@ -96616,7 +96708,7 @@ in
       sources."restore-cursor-4.0.0"
       sources."safe-buffer-5.2.1"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."split-on-first-1.1.0"
       sources."strict-uri-encode-2.0.0"
       sources."string_decoder-1.3.0"
@@ -96641,10 +96733,10 @@ in
   gitmoji-cli = nodeEnv.buildNodePackage {
     name = "gitmoji-cli";
     packageName = "gitmoji-cli";
-    version = "4.7.0";
+    version = "4.8.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.7.0.tgz";
-      sha512 = "8PVebGkXGXlNE2T7You4gzX4SFiULZja38LInfmnJQFfMgmeOT8br/WpirCkqhBVA28tTMYflQj5QGoeGLfTUQ==";
+      url = "https://registry.npmjs.org/gitmoji-cli/-/gitmoji-cli-4.8.0.tgz";
+      sha512 = "ZsO1OzFXEM53+K5yUUHRg7fwJqomkq2YLfgrKUr4rbIccQAybNNyp2x91GjDhnky7I/hkeiio5iImtTLr23KEw==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -96664,8 +96756,10 @@ in
       sources."@tootallnate/once-1.1.2"
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
+      sources."acorn-8.7.0"
+      sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
-      sources."ajv-8.9.0"
+      sources."ajv-8.10.0"
       sources."ajv-formats-2.1.1"
       sources."ansi-align-3.0.1"
       sources."ansi-escapes-4.3.2"
@@ -96683,7 +96777,7 @@ in
         ];
       })
       sources."buffer-5.7.1"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -96726,7 +96820,7 @@ in
       sources."deep-is-0.1.4"
       sources."defaults-1.0.3"
       sources."defer-to-connect-1.1.3"
-      sources."degenerator-3.0.1"
+      sources."degenerator-3.0.2"
       sources."depd-1.1.2"
       sources."dot-prop-6.0.1"
       sources."duplexer3-0.1.4"
@@ -96888,7 +96982,7 @@ in
       sources."punycode-2.1.1"
       sources."pupa-2.1.1"
       sources."quick-lru-4.0.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
@@ -96919,7 +97013,7 @@ in
       sources."responselike-1.0.2"
       sources."restore-cursor-3.1.0"
       sources."run-async-2.4.1"
-      sources."rxjs-7.5.2"
+      sources."rxjs-7.5.4"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
@@ -96931,9 +97025,9 @@ in
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."spdx-correct-3.1.1"
@@ -96967,7 +97061,7 @@ in
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
       sources."validate-npm-package-license-3.0.4"
-      sources."vm2-3.9.5"
+      sources."vm2-3.9.8"
       sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
@@ -97007,7 +97101,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
@@ -97105,7 +97199,7 @@ in
           sources."pify-3.0.0"
         ];
       })
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.3"
@@ -97125,7 +97219,7 @@ in
           sources."kleur-3.0.3"
         ];
       })
-      sources."query-string-7.1.0"
+      sources."query-string-7.1.1"
       (sources."readable-stream-2.3.7" // {
         dependencies = [
           sources."safe-buffer-5.1.2"
@@ -97263,7 +97357,7 @@ in
       })
       (sources."@graphql-tools/schema-8.3.1" // {
         dependencies = [
-          sources."@graphql-tools/merge-8.2.1"
+          sources."@graphql-tools/merge-8.2.2"
           sources."@graphql-tools/utils-8.6.1"
           sources."tslib-2.3.1"
         ];
@@ -97295,7 +97389,7 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/parse-json-4.0.0"
       sources."@types/websocket-1.0.2"
       sources."abort-controller-3.0.0"
@@ -97443,6 +97537,7 @@ in
       (sources."graphql-config-3.0.3" // {
         dependencies = [
           sources."cosmiconfig-6.0.0"
+          sources."minimatch-3.0.4"
         ];
       })
       sources."graphql-subscriptions-1.2.1"
@@ -97566,7 +97661,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
@@ -97682,7 +97777,7 @@ in
       sources."should-type-adaptors-1.1.0"
       sources."should-util-1.0.1"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-git-2.21.0"
       sources."slash-3.0.0"
       sources."sprintf-js-1.0.3"
@@ -97785,25 +97880,25 @@ in
       sources."@cronvel/get-pixels-3.4.0"
       sources."@endemolshinegroup/cosmiconfig-typescript-loader-3.0.2"
       sources."@graphql-tools/batch-execute-8.3.1"
-      sources."@graphql-tools/delegate-8.4.3"
+      sources."@graphql-tools/delegate-8.5.0"
       sources."@graphql-tools/graphql-file-loader-7.3.3"
       sources."@graphql-tools/import-6.6.5"
       sources."@graphql-tools/json-file-loader-7.3.3"
       sources."@graphql-tools/load-7.5.1"
-      sources."@graphql-tools/merge-8.2.1"
+      sources."@graphql-tools/merge-8.2.2"
       sources."@graphql-tools/schema-8.3.1"
-      (sources."@graphql-tools/url-loader-7.7.0" // {
+      (sources."@graphql-tools/url-loader-7.7.1" // {
         dependencies = [
           (sources."subscriptions-transport-ws-0.11.0" // {
             dependencies = [
-              sources."ws-7.5.6"
+              sources."ws-7.5.7"
             ];
           })
-          sources."ws-8.4.2"
+          sources."ws-8.5.0"
         ];
       })
       sources."@graphql-tools/utils-8.6.1"
-      sources."@graphql-tools/wrap-8.3.3"
+      sources."@graphql-tools/wrap-8.4.0"
       sources."@iarna/toml-2.2.5"
       sources."@n1ru4l/graphql-live-query-0.9.0"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -97835,12 +97930,12 @@ in
       })
       sources."@oclif/screen-1.0.4"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/parse-json-4.0.0"
-      sources."@types/websocket-1.0.4"
-      sources."@types/ws-8.2.2"
+      sources."@types/websocket-1.0.5"
+      sources."@types/ws-8.2.3"
       sources."abort-controller-3.0.0"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ansi-escapes-3.2.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -97866,7 +97961,7 @@ in
       sources."callsites-3.1.0"
       sources."cardinal-2.1.1"
       sources."chalk-4.1.2"
-      sources."chroma-js-2.1.2"
+      sources."chroma-js-2.4.2"
       sources."clean-stack-3.0.1"
       (sources."cli-ux-4.9.3" // {
         dependencies = [
@@ -97897,21 +97992,12 @@ in
       sources."cosmiconfig-7.0.1"
       sources."cosmiconfig-toml-loader-1.0.0"
       sources."create-require-1.1.1"
-      (sources."cross-env-6.0.3" // {
-        dependencies = [
-          sources."cross-spawn-7.0.3"
-          sources."path-key-3.1.1"
-          sources."shebang-command-2.0.0"
-          sources."shebang-regex-3.0.0"
-          sources."which-2.0.2"
-        ];
-      })
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
         ];
       })
-      sources."cross-undici-fetch-0.1.16"
+      sources."cross-undici-fetch-0.1.24"
       sources."cwise-compiler-1.1.3"
       sources."dataloader-2.0.0"
       sources."debug-4.3.3"
@@ -97961,6 +98047,7 @@ in
       sources."graceful-fs-4.2.9"
       sources."graphql-15.4.0"
       sources."graphql-config-4.1.0"
+      sources."graphql-executor-0.0.18"
       (sources."graphql-language-service-interface-2.10.2" // {
         dependencies = [
           sources."graphql-language-service-utils-2.7.1"
@@ -97970,7 +98057,7 @@ in
       sources."graphql-language-service-types-1.8.7"
       sources."graphql-language-service-utils-2.5.1"
       sources."graphql-sse-1.0.6"
-      sources."graphql-ws-5.5.5"
+      sources."graphql-ws-5.6.0"
       sources."has-flag-4.0.0"
       sources."http-errors-1.6.3"
       sources."hyperlinker-1.0.0"
@@ -98024,7 +98111,7 @@ in
       sources."ms-2.1.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."nextgen-events-1.5.2"
       sources."nice-try-1.0.5"
       sources."node-bitmap-0.0.1"
@@ -98109,7 +98196,7 @@ in
       sources."ts-node-9.1.1"
       sources."tslib-2.3.1"
       sources."type-is-1.6.18"
-      sources."undici-4.12.2"
+      sources."undici-4.14.1"
       sources."uniq-1.0.1"
       sources."universalify-0.1.2"
       sources."unixify-1.0.0"
@@ -98247,13 +98334,13 @@ in
       sha512 = "aTPHEnqnIDzsCcL7O7FPnMmKN0Z9Sy5rl58atknikYbLISiu3LHESWUFvFGHHodSs0NVCGM/m5OR5BIVWYxnMg==";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."array-flatten-1.1.1"
-      sources."body-parser-1.19.1"
-      sources."bytes-3.1.1"
+      sources."body-parser-1.19.2"
+      sources."bytes-3.1.2"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."debug-2.6.9"
       sources."depd-1.1.2"
@@ -98262,7 +98349,7 @@ in
       sources."encodeurl-1.0.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.17.2"
+      sources."express-4.17.3"
       sources."express-ws-2.0.0"
       sources."finalhandler-1.1.2"
       sources."forwarded-0.2.0"
@@ -98279,15 +98366,15 @@ in
       sources."mime-types-2.1.34"
       sources."minimist-1.2.5"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."on-finished-2.3.0"
       sources."options-0.0.6"
       sources."parseurl-1.3.3"
       sources."path-to-regexp-0.1.7"
       sources."proxy-addr-2.0.7"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
       (sources."send-0.17.2" // {
@@ -98370,21 +98457,19 @@ in
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."ansi-escapes-4.3.2"
+      sources."ansi-escapes-5.0.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."ansi-term-0.0.2"
       sources."ansicolors-0.3.2"
       sources."blessed-0.1.81"
-      sources."blessed-contrib-4.10.1"
+      sources."blessed-contrib-4.11.0"
       sources."bresenham-0.0.3"
       sources."buffers-0.1.1"
       sources."cardinal-2.1.1"
       sources."chalk-1.1.3"
       sources."charm-0.1.2"
       sources."cli-table3-0.6.1"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
       sources."colors-1.4.0"
       sources."core-util-is-1.0.3"
       sources."drawille-blessed-contrib-1.0.0"
@@ -98406,12 +98491,10 @@ in
       sources."isarray-0.0.1"
       sources."lodash-4.17.21"
       sources."map-canvas-0.1.5"
-      sources."marked-2.1.3"
-      (sources."marked-terminal-4.2.0" // {
+      sources."marked-4.0.12"
+      (sources."marked-terminal-5.1.1" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."supports-color-7.2.0"
+          sources."chalk-5.0.0"
         ];
       })
       sources."memory-streams-0.1.3"
@@ -98439,9 +98522,9 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."systeminformation-5.10.7"
+      sources."systeminformation-5.11.4"
       sources."term-canvas-0.0.5"
-      sources."type-fest-0.21.3"
+      sources."type-fest-1.4.0"
       sources."wordwrap-0.0.3"
       sources."x256-0.0.2"
       sources."xml2js-0.4.23"
@@ -98605,7 +98688,7 @@ in
       sources."expand-tilde-2.0.2"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."extend-3.0.2"
@@ -98718,7 +98801,7 @@ in
         ];
       })
       sources."micromatch-3.1.10"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
           sources."is-extendable-1.0.1"
@@ -99016,7 +99099,7 @@ in
       sources."expand-tilde-2.0.2"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."extend-3.0.2"
@@ -99337,7 +99420,7 @@ in
       sources."param-case-2.1.1"
       sources."relateurl-0.2.7"
       sources."source-map-0.6.1"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."upper-case-1.1.3"
     ];
     buildInputs = globalBuildInputs;
@@ -99353,10 +99436,10 @@ in
   htmlhint = nodeEnv.buildNodePackage {
     name = "htmlhint";
     packageName = "htmlhint";
-    version = "1.1.1";
+    version = "1.1.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/htmlhint/-/htmlhint-1.1.1.tgz";
-      sha512 = "d6k9QnjrLDl7FXNqyXHaEV5voTuaJYZ/iWkub1gMBwG40CvGJpxMbLb1vcw4eGxV1DOLNRk81WSkgHsjj6RVyA==";
+      url = "https://registry.npmjs.org/htmlhint/-/htmlhint-1.1.2.tgz";
+      sha512 = "3rUS4ROXjyRidMiThTXhwtAotmGvOOof3uUk1X0YWjJF63qOP0sorogfgvo+XFcp5Q6IWhiFcZqd3giCrKHg+g==";
     };
     dependencies = [
       sources."ansi-styles-4.3.0"
@@ -99378,7 +99461,7 @@ in
       sources."is-dotfile-1.0.3"
       sources."is-extglob-1.0.0"
       sources."is-glob-2.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."node-fetch-2.6.7"
       sources."once-1.4.0"
       sources."parse-glob-3.0.4"
@@ -99420,7 +99503,7 @@ in
       sources."corser-2.0.1"
       sources."debug-3.2.7"
       sources."eventemitter3-4.0.7"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
       sources."has-1.0.3"
@@ -99477,7 +99560,7 @@ in
       sources."bfile-0.2.2"
       sources."bfilter-1.0.5"
       sources."bheep-0.1.5"
-      sources."binet-0.3.6"
+      sources."binet-0.3.7"
       sources."blgr-0.2.0"
       sources."blru-0.1.6"
       sources."blst-0.1.5"
@@ -99596,7 +99679,7 @@ in
       sources."inherits-2.0.4"
       sources."latest-0.2.0"
       sources."lstream-0.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."mired-0.0.0"
       sources."npm-2.15.12"
       sources."once-1.4.0"
@@ -99630,9 +99713,10 @@ in
       sha512 = "VavhoS9dr44WPPdtuBgHAge1uM/elPo8fAI6fMJ4Bs1NsOCgMOFg4g7FBo7ODgzmAaa2CjAFQGu1hIaY5UIqPg==";
     };
     dependencies = [
+      sources."@colors/colors-1.5.0"
       sources."@fast-csv/format-4.3.5"
       sources."@fast-csv/parse-4.3.6"
-      sources."@types/node-14.18.9"
+      sources."@types/node-14.18.12"
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -99641,7 +99725,7 @@ in
       sources."assert-plus-1.0.0"
       sources."async-2.6.3"
       sources."asynckit-0.4.0"
-      sources."aws-sdk-2.1062.0"
+      sources."aws-sdk-2.1077.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
       sources."base64-js-1.5.1"
@@ -99758,7 +99842,7 @@ in
       sources."optionator-0.8.3"
       sources."performance-now-2.1.0"
       sources."prelude-ls-1.1.2"
-      (sources."prompt-1.2.1" // {
+      (sources."prompt-1.2.2" // {
         dependencies = [
           sources."async-0.9.2"
         ];
@@ -100105,7 +100189,7 @@ in
       sources."inherits-2.0.4"
       sources."isarray-0.0.1"
       sources."isstream-0.1.2"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-0.0.10"
       (sources."mkdirp-0.5.5" // {
         dependencies = [
@@ -100216,7 +100300,7 @@ in
       sources."jsonfile-2.4.0"
       sources."keyboardevent-key-polyfill-1.1.0"
       sources."line-reader-0.4.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."nice-try-1.0.5"
       sources."npm-run-path-2.0.2"
       sources."once-1.4.0"
@@ -100224,14 +100308,14 @@ in
       sources."p-finally-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
-      sources."prismjs-1.26.0"
+      sources."prismjs-1.27.0"
       sources."pump-3.0.0"
       sources."rimraf-2.7.1"
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."strip-eof-1.0.0"
       sources."wcwidth-1.0.1"
       sources."which-1.3.1"
@@ -100251,10 +100335,10 @@ in
   intelephense = nodeEnv.buildNodePackage {
     name = "intelephense";
     packageName = "intelephense";
-    version = "1.8.0";
+    version = "1.8.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/intelephense/-/intelephense-1.8.0.tgz";
-      sha512 = "DigAEcRfvGX1f/FExvvHTuImCu9EC7XtvAFDISsXvMTFTnMlAnNKcQvcVcZDWREa9NRKXSH5HD8a7lV+a25eBg==";
+      url = "https://registry.npmjs.org/intelephense/-/intelephense-1.8.1.tgz";
+      sha512 = "fbyGBN90QJX4cRkCQtxWltYp/8c/0QCPZrHCQmZJX9iGN91bq/QmggjPbh5/jdHB6johHGxB/LamJIyFFwOVxQ==";
     };
     dependencies = [
       sources."@bmewburn/js-beautify-1.13.0"
@@ -100281,6 +100365,7 @@ in
       sources."@protobufjs/path-1.1.2"
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
+      sources."@selderee/plugin-htmlparser2-0.6.0"
       sources."@types/long-4.0.1"
       sources."@types/node-13.13.52"
       sources."abbrev-1.1.1"
@@ -100323,18 +100408,11 @@ in
         ];
       })
       sources."diagnostic-channel-publishers-0.4.4"
-      (sources."dom-serializer-1.3.2" // {
-        dependencies = [
-          sources."domhandler-4.3.0"
-        ];
-      })
+      sources."discontinuous-range-1.0.0"
+      sources."dom-serializer-1.3.2"
       sources."domelementtype-2.2.0"
-      sources."domhandler-3.3.0"
-      (sources."domutils-2.8.0" // {
-        dependencies = [
-          sources."domhandler-4.3.0"
-        ];
-      })
+      sources."domhandler-4.3.0"
+      sources."domutils-2.8.0"
       sources."ecc-jsbn-0.1.2"
       (sources."editorconfig-0.15.3" // {
         dependencies = [
@@ -100362,8 +100440,8 @@ in
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
       sources."he-1.2.0"
-      sources."html-to-text-6.0.0"
-      sources."htmlparser2-4.1.0"
+      sources."html-to-text-8.1.0"
+      sources."htmlparser2-6.1.0"
       sources."http-signature-1.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
@@ -100379,7 +100457,6 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-6.1.0"
       sources."jsprim-1.4.2"
-      sources."lodash-4.17.21"
       sources."long-4.0.0"
       (sources."lru-cache-6.0.0" // {
         dependencies = [
@@ -100390,13 +100467,16 @@ in
       sources."micromatch-4.0.4"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
+      sources."moo-0.5.1"
+      sources."nearley-2.20.1"
       sources."nopt-5.0.0"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."parse5-5.1.1"
+      sources."parseley-0.7.0"
       sources."path-is-absolute-1.0.1"
       sources."performance-now-2.1.0"
       sources."picomatch-2.3.1"
@@ -100407,11 +100487,15 @@ in
       sources."punycode-2.1.1"
       sources."qs-6.5.3"
       sources."queue-microtask-1.2.3"
+      sources."railroad-diagrams-1.0.0"
+      sources."randexp-0.4.6"
       sources."request-2.88.2"
+      sources."ret-0.1.15"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
+      sources."selderee-0.6.0"
       sources."semver-7.3.5"
       sources."shimmer-1.2.1"
       sources."sigmund-1.0.1"
@@ -100426,7 +100510,7 @@ in
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
-      (sources."vscode-css-languageservice-5.1.9" // {
+      (sources."vscode-css-languageservice-5.1.13" // {
         dependencies = [
           sources."vscode-languageserver-types-3.16.0"
         ];
@@ -100448,7 +100532,7 @@ in
           sources."vscode-languageserver-types-3.16.0"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.17.0-next.1"
       sources."vscode-nls-5.0.0"
       sources."vscode-uri-3.0.3"
@@ -100499,7 +100583,7 @@ in
       sources."asynckit-0.4.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
       (sources."chalk-3.0.0" // {
         dependencies = [
@@ -100639,7 +100723,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-1.2.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
@@ -100675,7 +100759,7 @@ in
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
       sources."qs-6.10.3"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readable-stream-3.6.0"
       sources."restore-cursor-2.0.0"
       sources."rimraf-3.0.2"
@@ -100690,7 +100774,7 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."slice-ansi-3.0.0" // {
         dependencies = [
           sources."ansi-styles-4.3.0"
@@ -100700,7 +100784,7 @@ in
         ];
       })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."split2-3.2.2"
@@ -100760,7 +100844,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xregexp-2.0.0"
       sources."yallist-3.1.1"
     ];
@@ -100774,30 +100858,21 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "iosevka-https://github.com/be5invis/Iosevka/archive/v11.0.1.tar.gz" = nodeEnv.buildNodePackage {
+  "iosevka-https://github.com/be5invis/Iosevka/archive/v14.0.1.tar.gz" = nodeEnv.buildNodePackage {
     name = "iosevka";
     packageName = "iosevka";
-    version = "11.0.1";
+    version = "14.0.1";
     src = fetchurl {
-      name = "iosevka-11.0.1.tar.gz";
-      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/v11.0.1";
-      sha256 = "5f19c33cf90a4d4b0e6b14aa5866a81fa724042e934811b618d5f4e74e310043";
+      name = "iosevka-14.0.1.tar.gz";
+      url = "https://codeload.github.com/be5invis/Iosevka/tar.gz/refs/tags/v14.0.1";
+      sha256 = "f17c312d63df74a34f3a72b52f4ceff39e708a6ba674e5605bcadbf7e1e2c2f7";
     };
     dependencies = [
       sources."@iarna/toml-2.2.5"
-      sources."@msgpack/msgpack-2.7.1"
+      sources."@msgpack/msgpack-2.7.2"
       sources."@ot-builder/bin-composite-types-1.3.3"
       sources."@ot-builder/bin-util-1.3.3"
-      (sources."@ot-builder/cli-help-shower-1.3.3" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
-        ];
-      })
+      sources."@ot-builder/cli-help-shower-1.3.3"
       sources."@ot-builder/cli-proc-1.3.3"
       sources."@ot-builder/cli-shared-1.3.3"
       sources."@ot-builder/common-impl-1.3.3"
@@ -100831,34 +100906,24 @@ in
       sources."@ot-builder/trace-1.3.3"
       sources."@ot-builder/var-store-1.3.3"
       sources."@ot-builder/variance-1.3.3"
-      sources."@unicode/unicode-13.0.0-1.2.1"
+      sources."@unicode/unicode-14.0.0-1.2.1"
       sources."@xmldom/xmldom-0.7.5"
       sources."aglfn-1.0.2"
       sources."amdefine-1.0.1"
       sources."ansi-regex-5.0.1"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-styles-4.3.0"
       sources."argparse-2.0.1"
-      sources."async-0.9.2"
-      sources."atob-2.1.2"
-      sources."balanced-match-1.0.2"
-      sources."brace-expansion-1.1.11"
       sources."chainsaw-0.0.9"
-      sources."chalk-2.4.2"
+      sources."chalk-4.1.2"
       sources."cldr-7.1.1"
       sources."cli-cursor-3.1.0"
       sources."clipper-lib-6.4.2"
       sources."cliui-7.0.4"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."concat-map-0.0.1"
-      sources."css-3.0.0"
-      sources."debug-3.1.0"
-      sources."decode-uri-component-0.2.0"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."deep-is-0.1.4"
-      sources."ejs-3.1.6"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
-      sources."escape-string-regexp-1.0.5"
       sources."escodegen-2.0.0"
       (sources."escope-1.0.3" // {
         dependencies = [
@@ -100887,37 +100952,26 @@ in
       sources."esutils-2.0.3"
       sources."fast-deep-equal-3.1.3"
       sources."fast-levenshtein-2.0.6"
-      sources."filelist-1.0.2"
       sources."fs-extra-10.0.0"
-      sources."fs.realpath-1.0.0"
       sources."get-caller-file-2.0.5"
-      sources."glob-7.2.0"
       sources."graceful-fs-4.2.9"
-      sources."has-flag-3.0.0"
+      sources."has-flag-4.0.0"
       sources."hashish-0.0.4"
       sources."iconv-lite-0.6.3"
-      sources."inflight-1.0.6"
-      sources."inherits-2.0.4"
       sources."is-fullwidth-code-point-3.0.0"
       sources."isexe-2.0.0"
-      sources."jake-10.8.2"
       sources."jsonfile-6.1.0"
       sources."levn-0.3.0"
       sources."lru-cache-2.5.0"
       sources."memoizeasync-1.1.0"
       sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
-      sources."mkdirp-1.0.4"
-      sources."ms-2.0.0"
-      sources."once-1.4.0"
       sources."onetime-5.1.2"
       sources."optionator-0.8.3"
       sources."ot-builder-1.3.3"
       sources."otb-ttc-bundle-1.3.3"
       sources."passerror-1.1.1"
-      sources."patel-0.35.1"
-      sources."path-is-absolute-1.0.1"
-      sources."patrisika-0.23.0"
+      sources."patel-0.37.1"
+      sources."patrisika-0.24.0"
       sources."patrisika-scopes-0.12.0"
       sources."pegjs-0.10.0"
       sources."prelude-ls-1.1.2"
@@ -100925,7 +100979,6 @@ in
       sources."restore-cursor-3.1.0"
       sources."resumer-0.0.0"
       sources."safer-buffer-2.1.2"
-      sources."sax-1.2.4"
       sources."semaphore-async-await-1.5.1"
       (sources."semver-7.3.5" // {
         dependencies = [
@@ -100933,19 +100986,12 @@ in
         ];
       })
       sources."seq-0.3.5"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
-      sources."source-map-resolve-0.6.0"
       sources."spiro-3.0.0"
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
-      (sources."stylus-0.55.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-          sources."source-map-0.7.3"
-        ];
-      })
-      sources."supports-color-5.5.0"
+      sources."supports-color-7.2.0"
       sources."through-2.3.8"
       sources."toposort-2.0.2"
       sources."traverse-0.3.9"
@@ -100956,12 +101002,6 @@ in
       sources."universalify-2.0.0"
       (sources."verda-1.5.0" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."chalk-4.1.2"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."has-flag-4.0.0"
-          sources."supports-color-7.2.0"
           sources."yargs-17.3.1"
           sources."yargs-parser-21.0.0"
         ];
@@ -100970,14 +101010,7 @@ in
       sources."which-2.0.2"
       sources."word-wrap-1.2.3"
       sources."wordwrap-0.0.3"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
-      sources."wrappy-1.0.2"
+      sources."wrap-ansi-7.0.0"
       sources."xpath-0.0.32"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
@@ -101011,7 +101044,7 @@ in
       sources."escape-string-regexp-1.0.5"
       sources."filelist-1.0.2"
       sources."has-flag-3.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."supports-color-5.5.0"
     ];
     buildInputs = globalBuildInputs;
@@ -101040,7 +101073,7 @@ in
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."bufrw-1.3.0"
-      sources."chai-4.3.4"
+      sources."chai-4.3.6"
       sources."chai-as-promised-7.1.1"
       sources."chalk-2.4.2"
       sources."check-error-1.0.2"
@@ -101064,7 +101097,8 @@ in
       sources."jaeger-client-3.19.0"
       sources."lodash-4.17.21"
       sources."long-2.4.0"
-      sources."minimatch-3.0.4"
+      sources."loupe-2.3.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mz-2.7.0"
       sources."node-int64-0.4.0"
@@ -101149,86 +101183,86 @@ in
           sources."tslib-1.14.1"
         ];
       })
-      sources."@aws-sdk/abort-controller-3.47.2"
-      sources."@aws-sdk/chunked-blob-reader-3.47.1"
-      sources."@aws-sdk/chunked-blob-reader-native-3.47.2"
-      sources."@aws-sdk/client-s3-3.48.0"
-      sources."@aws-sdk/client-sso-3.48.0"
-      sources."@aws-sdk/client-sts-3.48.0"
-      sources."@aws-sdk/config-resolver-3.47.2"
-      sources."@aws-sdk/credential-provider-env-3.47.2"
-      sources."@aws-sdk/credential-provider-imds-3.47.2"
-      sources."@aws-sdk/credential-provider-ini-3.48.0"
-      sources."@aws-sdk/credential-provider-node-3.48.0"
-      sources."@aws-sdk/credential-provider-process-3.47.2"
-      sources."@aws-sdk/credential-provider-sso-3.48.0"
-      sources."@aws-sdk/credential-provider-web-identity-3.47.2"
-      sources."@aws-sdk/eventstream-marshaller-3.47.2"
-      sources."@aws-sdk/eventstream-serde-browser-3.47.2"
-      sources."@aws-sdk/eventstream-serde-config-resolver-3.47.2"
-      sources."@aws-sdk/eventstream-serde-node-3.47.2"
-      sources."@aws-sdk/eventstream-serde-universal-3.47.2"
-      sources."@aws-sdk/fetch-http-handler-3.47.2"
-      sources."@aws-sdk/hash-blob-browser-3.47.2"
-      sources."@aws-sdk/hash-node-3.47.2"
-      sources."@aws-sdk/hash-stream-node-3.47.2"
-      sources."@aws-sdk/invalid-dependency-3.47.2"
-      sources."@aws-sdk/is-array-buffer-3.47.1"
-      sources."@aws-sdk/md5-js-3.47.2"
-      sources."@aws-sdk/middleware-apply-body-checksum-3.47.2"
-      sources."@aws-sdk/middleware-bucket-endpoint-3.47.2"
-      sources."@aws-sdk/middleware-content-length-3.47.2"
-      sources."@aws-sdk/middleware-expect-continue-3.47.2"
-      sources."@aws-sdk/middleware-header-default-3.47.2"
-      sources."@aws-sdk/middleware-host-header-3.47.2"
-      sources."@aws-sdk/middleware-location-constraint-3.47.2"
-      sources."@aws-sdk/middleware-logger-3.47.2"
-      (sources."@aws-sdk/middleware-retry-3.47.2" // {
+      sources."@aws-sdk/abort-controller-3.52.0"
+      sources."@aws-sdk/chunked-blob-reader-3.52.0"
+      sources."@aws-sdk/chunked-blob-reader-native-3.52.0"
+      sources."@aws-sdk/client-s3-3.52.0"
+      sources."@aws-sdk/client-sso-3.52.0"
+      sources."@aws-sdk/client-sts-3.52.0"
+      sources."@aws-sdk/config-resolver-3.52.0"
+      sources."@aws-sdk/credential-provider-env-3.52.0"
+      sources."@aws-sdk/credential-provider-imds-3.52.0"
+      sources."@aws-sdk/credential-provider-ini-3.52.0"
+      sources."@aws-sdk/credential-provider-node-3.52.0"
+      sources."@aws-sdk/credential-provider-process-3.52.0"
+      sources."@aws-sdk/credential-provider-sso-3.52.0"
+      sources."@aws-sdk/credential-provider-web-identity-3.52.0"
+      sources."@aws-sdk/eventstream-marshaller-3.52.0"
+      sources."@aws-sdk/eventstream-serde-browser-3.52.0"
+      sources."@aws-sdk/eventstream-serde-config-resolver-3.52.0"
+      sources."@aws-sdk/eventstream-serde-node-3.52.0"
+      sources."@aws-sdk/eventstream-serde-universal-3.52.0"
+      sources."@aws-sdk/fetch-http-handler-3.52.0"
+      sources."@aws-sdk/hash-blob-browser-3.52.0"
+      sources."@aws-sdk/hash-node-3.52.0"
+      sources."@aws-sdk/hash-stream-node-3.52.0"
+      sources."@aws-sdk/invalid-dependency-3.52.0"
+      sources."@aws-sdk/is-array-buffer-3.52.0"
+      sources."@aws-sdk/md5-js-3.52.0"
+      sources."@aws-sdk/middleware-apply-body-checksum-3.52.0"
+      sources."@aws-sdk/middleware-bucket-endpoint-3.52.0"
+      sources."@aws-sdk/middleware-content-length-3.52.0"
+      sources."@aws-sdk/middleware-expect-continue-3.52.0"
+      sources."@aws-sdk/middleware-header-default-3.52.0"
+      sources."@aws-sdk/middleware-host-header-3.52.0"
+      sources."@aws-sdk/middleware-location-constraint-3.52.0"
+      sources."@aws-sdk/middleware-logger-3.52.0"
+      (sources."@aws-sdk/middleware-retry-3.52.0" // {
         dependencies = [
           sources."uuid-8.3.2"
         ];
       })
-      sources."@aws-sdk/middleware-sdk-s3-3.47.2"
-      sources."@aws-sdk/middleware-sdk-sts-3.47.2"
-      sources."@aws-sdk/middleware-serde-3.47.2"
-      sources."@aws-sdk/middleware-signing-3.47.2"
-      sources."@aws-sdk/middleware-ssec-3.47.2"
-      sources."@aws-sdk/middleware-stack-3.47.2"
-      sources."@aws-sdk/middleware-user-agent-3.47.2"
-      sources."@aws-sdk/node-config-provider-3.47.2"
-      sources."@aws-sdk/node-http-handler-3.47.2"
-      sources."@aws-sdk/property-provider-3.47.2"
-      sources."@aws-sdk/protocol-http-3.47.2"
-      sources."@aws-sdk/querystring-builder-3.47.2"
-      sources."@aws-sdk/querystring-parser-3.47.2"
-      sources."@aws-sdk/s3-request-presigner-3.48.0"
-      sources."@aws-sdk/service-error-classification-3.47.2"
-      sources."@aws-sdk/shared-ini-file-loader-3.47.1"
-      sources."@aws-sdk/signature-v4-3.47.2"
-      sources."@aws-sdk/smithy-client-3.47.2"
-      sources."@aws-sdk/types-3.47.1"
-      sources."@aws-sdk/url-parser-3.47.2"
-      sources."@aws-sdk/util-arn-parser-3.47.1"
-      sources."@aws-sdk/util-base64-browser-3.47.1"
-      sources."@aws-sdk/util-base64-node-3.47.2"
-      sources."@aws-sdk/util-body-length-browser-3.47.1"
-      sources."@aws-sdk/util-body-length-node-3.47.1"
-      sources."@aws-sdk/util-buffer-from-3.47.2"
-      sources."@aws-sdk/util-config-provider-3.47.1"
-      sources."@aws-sdk/util-create-request-3.47.2"
-      sources."@aws-sdk/util-credentials-3.47.2"
-      sources."@aws-sdk/util-defaults-mode-browser-3.47.2"
-      sources."@aws-sdk/util-defaults-mode-node-3.47.2"
-      sources."@aws-sdk/util-format-url-3.47.2"
-      sources."@aws-sdk/util-hex-encoding-3.47.1"
-      sources."@aws-sdk/util-locate-window-3.47.1"
-      sources."@aws-sdk/util-uri-escape-3.47.1"
-      sources."@aws-sdk/util-user-agent-browser-3.47.2"
-      sources."@aws-sdk/util-user-agent-node-3.47.2"
-      sources."@aws-sdk/util-utf8-browser-3.47.1"
-      sources."@aws-sdk/util-utf8-node-3.47.2"
-      sources."@aws-sdk/util-waiter-3.47.2"
-      sources."@aws-sdk/xml-builder-3.47.1"
+      sources."@aws-sdk/middleware-sdk-s3-3.52.0"
+      sources."@aws-sdk/middleware-sdk-sts-3.52.0"
+      sources."@aws-sdk/middleware-serde-3.52.0"
+      sources."@aws-sdk/middleware-signing-3.52.0"
+      sources."@aws-sdk/middleware-ssec-3.52.0"
+      sources."@aws-sdk/middleware-stack-3.52.0"
+      sources."@aws-sdk/middleware-user-agent-3.52.0"
+      sources."@aws-sdk/node-config-provider-3.52.0"
+      sources."@aws-sdk/node-http-handler-3.52.0"
+      sources."@aws-sdk/property-provider-3.52.0"
+      sources."@aws-sdk/protocol-http-3.52.0"
+      sources."@aws-sdk/querystring-builder-3.52.0"
+      sources."@aws-sdk/querystring-parser-3.52.0"
+      sources."@aws-sdk/s3-request-presigner-3.52.0"
+      sources."@aws-sdk/service-error-classification-3.52.0"
+      sources."@aws-sdk/shared-ini-file-loader-3.52.0"
+      sources."@aws-sdk/signature-v4-3.52.0"
+      sources."@aws-sdk/smithy-client-3.52.0"
+      sources."@aws-sdk/types-3.52.0"
+      sources."@aws-sdk/url-parser-3.52.0"
+      sources."@aws-sdk/util-arn-parser-3.52.0"
+      sources."@aws-sdk/util-base64-browser-3.52.0"
+      sources."@aws-sdk/util-base64-node-3.52.0"
+      sources."@aws-sdk/util-body-length-browser-3.52.0"
+      sources."@aws-sdk/util-body-length-node-3.52.0"
+      sources."@aws-sdk/util-buffer-from-3.52.0"
+      sources."@aws-sdk/util-config-provider-3.52.0"
+      sources."@aws-sdk/util-create-request-3.52.0"
+      sources."@aws-sdk/util-credentials-3.52.0"
+      sources."@aws-sdk/util-defaults-mode-browser-3.52.0"
+      sources."@aws-sdk/util-defaults-mode-node-3.52.0"
+      sources."@aws-sdk/util-format-url-3.52.0"
+      sources."@aws-sdk/util-hex-encoding-3.52.0"
+      sources."@aws-sdk/util-locate-window-3.52.0"
+      sources."@aws-sdk/util-uri-escape-3.52.0"
+      sources."@aws-sdk/util-user-agent-browser-3.52.0"
+      sources."@aws-sdk/util-user-agent-node-3.52.0"
+      sources."@aws-sdk/util-utf8-browser-3.52.0"
+      sources."@aws-sdk/util-utf8-node-3.52.0"
+      sources."@aws-sdk/util-waiter-3.52.0"
+      sources."@aws-sdk/xml-builder-3.52.0"
       sources."@braintree/sanitize-url-3.1.0"
       sources."@cronvel/get-pixels-3.4.0"
       sources."@joplin/fork-htmlparser2-4.1.39"
@@ -101288,7 +101322,7 @@ in
       sources."async-mutex-0.1.4"
       sources."asynckit-0.4.0"
       sources."atob-2.1.2"
-      (sources."aws-sdk-2.1062.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."sax-1.2.1"
           sources."uuid-3.3.2"
@@ -101324,7 +101358,7 @@ in
       sources."charenc-0.0.2"
       sources."chokidar-3.5.3"
       sources."chownr-1.1.4"
-      sources."chroma-js-2.1.2"
+      sources."chroma-js-2.4.2"
       sources."clean-css-4.2.4"
       sources."cliss-0.0.2"
       sources."code-point-at-1.1.0"
@@ -101340,8 +101374,6 @@ in
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
       sources."core-util-is-1.0.2"
-      sources."cross-env-6.0.3"
-      sources."cross-spawn-7.0.3"
       sources."crypt-0.0.2"
       (sources."css-3.0.0" // {
         dependencies = [
@@ -101433,7 +101465,7 @@ in
       sources."datauri-4.1.0"
       sources."debug-0.7.4"
       sources."decode-uri-component-0.2.0"
-      sources."decompress-response-4.2.1"
+      sources."decompress-response-6.0.0"
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."deepmerge-2.2.1"
@@ -101441,7 +101473,7 @@ in
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."depd-1.1.2"
-      sources."detect-libc-1.0.3"
+      sources."detect-libc-2.0.1"
       sources."diff-match-patch-1.0.5"
       (sources."dom-serializer-1.3.2" // {
         dependencies = [
@@ -101451,7 +101483,7 @@ in
       sources."domelementtype-2.2.0"
       sources."domexception-1.0.1"
       sources."domhandler-3.3.0"
-      sources."dompurify-2.3.4"
+      sources."dompurify-2.3.5"
       (sources."domutils-2.8.0" // {
         dependencies = [
           sources."domhandler-4.3.0"
@@ -101492,7 +101524,7 @@ in
       sources."file-type-10.11.0"
       sources."fill-range-7.0.1"
       sources."find-up-2.1.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."font-awesome-filetypes-2.1.0"
       sources."for-each-property-0.0.4"
       sources."for-each-property-deep-0.0.3"
@@ -101620,7 +101652,7 @@ in
           sources."commander-8.3.0"
         ];
       })
-      sources."keytar-7.7.0"
+      sources."keytar-7.9.0"
       sources."khroma-1.4.1"
       sources."klaw-1.3.1"
       sources."lazyness-1.2.0"
@@ -101657,25 +101689,19 @@ in
       sources."markdown-it-footnote-3.0.3"
       sources."markdown-it-ins-3.0.1"
       sources."markdown-it-mark-3.0.1"
-      (sources."markdown-it-multimd-table-4.1.2" // {
-        dependencies = [
-          sources."entities-2.1.0"
-          sources."linkify-it-3.0.3"
-          sources."markdown-it-12.3.2"
-        ];
-      })
+      sources."markdown-it-multimd-table-4.1.3"
       sources."markdown-it-sub-1.0.0"
       sources."markdown-it-sup-1.0.0"
       sources."markdown-it-toc-done-right-4.2.0"
       sources."md5-2.3.0"
       sources."md5-file-4.0.0"
       sources."mdurl-1.0.1"
-      sources."mermaid-8.13.10"
+      sources."mermaid-8.14.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimer-2.0.2"
-      sources."mimic-response-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."mimic-response-3.1.0"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
         dependencies = [
@@ -101690,7 +101716,7 @@ in
       sources."ms-2.1.3"
       sources."multiparty-4.2.3"
       sources."mustache-4.2.0"
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."napi-build-utils-1.0.2"
       sources."ndarray-1.0.19"
       sources."ndarray-pack-1.2.1"
@@ -101701,12 +101727,8 @@ in
       })
       sources."nextgen-events-1.5.2"
       sources."no-case-2.3.2"
-      (sources."node-abi-2.30.1" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."node-addon-api-3.2.1"
+      sources."node-abi-3.8.0"
+      sources."node-addon-api-4.3.0"
       sources."node-bitmap-0.0.1"
       sources."node-emoji-1.11.0"
       sources."node-fetch-1.7.3"
@@ -101726,6 +101748,7 @@ in
       sources."node-persist-2.1.0"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
+          sources."detect-libc-1.0.3"
           sources."semver-5.7.1"
         ];
       })
@@ -101760,14 +101783,13 @@ in
       sources."parse5-5.1.0"
       sources."path-exists-3.0.0"
       sources."path-is-absolute-1.0.1"
-      sources."path-key-3.1.1"
       sources."performance-now-2.1.0"
       sources."picomatch-2.3.1"
       sources."pify-3.0.0"
       sources."pipe-functions-1.3.0"
       sources."pn-1.1.0"
       sources."pngjs-5.0.0"
-      sources."prebuild-install-6.1.4"
+      sources."prebuild-install-7.0.1"
       sources."prelude-ls-1.1.2"
       sources."process-nextick-args-2.0.1"
       sources."promise-7.3.1"
@@ -101827,17 +101849,26 @@ in
       (sources."sharp-0.26.3" // {
         dependencies = [
           sources."color-3.2.1"
-          sources."decompress-response-6.0.0"
-          sources."mimic-response-3.1.0"
-          sources."simple-get-4.0.0"
+          sources."decompress-response-4.2.1"
+          sources."detect-libc-1.0.3"
+          sources."mimic-response-2.1.0"
+          (sources."node-abi-2.30.1" // {
+            dependencies = [
+              sources."semver-5.7.1"
+            ];
+          })
+          sources."node-addon-api-3.2.1"
+          (sources."prebuild-install-6.1.4" // {
+            dependencies = [
+              sources."simple-get-3.1.1"
+            ];
+          })
         ];
       })
-      sources."shebang-command-2.0.0"
-      sources."shebang-regex-3.0.0"
       sources."shellwords-0.1.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      sources."simple-get-4.0.1"
       sources."simple-swizzle-0.2.2"
       (sources."slice-ansi-1.0.0" // {
         dependencies = [
@@ -101849,7 +101880,11 @@ in
       sources."source-map-url-0.4.1"
       sources."split-skip-0.0.2"
       sources."sprintf-js-1.1.2"
-      sources."sqlite3-5.0.2"
+      (sources."sqlite3-5.0.2" // {
+        dependencies = [
+          sources."node-addon-api-3.2.1"
+        ];
+      })
       sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
       sources."stealthy-require-1.1.1"
@@ -101941,7 +101976,7 @@ in
           sources."punycode-1.3.2"
         ];
       })
-      sources."url-parse-1.5.4"
+      sources."url-parse-1.5.9"
       sources."uslug-git+https://github.com/laurent22/uslug.git#emoji-support"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
@@ -101964,7 +101999,7 @@ in
         ];
       })
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xml-name-validator-3.0.0"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
@@ -102004,7 +102039,7 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."lru-cache-4.1.5"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."nopt-5.0.0"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -102049,13 +102084,13 @@ in
   jsdoc = nodeEnv.buildNodePackage {
     name = "jsdoc";
     packageName = "jsdoc";
-    version = "3.6.9";
+    version = "3.6.10";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.9.tgz";
-      sha512 = "bVrM2DT2iLmv6jd2IdTRk67tC4iaSDUicD+47y+cNCYlE8dccd4xZnlANG4M+OmGyV389bABSTKKfoPCOofbKw==";
+      url = "https://registry.npmjs.org/jsdoc/-/jsdoc-3.6.10.tgz";
+      sha512 = "IdQ8ppSo5LKZ9o3M+LKIIK8i00DIe5msDvG3G81Km+1dhy0XrOWD0Ji8H61ElgyEj/O9KRLokgKbAM9XX9CJAg==";
     };
     dependencies = [
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@types/linkify-it-3.0.2"
       sources."@types/markdown-it-12.2.3"
       sources."@types/mdurl-1.0.2"
@@ -102070,7 +102105,7 @@ in
       sources."lodash-4.17.21"
       sources."markdown-it-12.3.2"
       sources."markdown-it-anchor-8.4.1"
-      sources."marked-4.0.10"
+      sources."marked-4.0.12"
       sources."mdurl-1.0.1"
       sources."mkdirp-1.0.4"
       sources."requizzle-0.2.3"
@@ -102093,10 +102128,10 @@ in
   jshint = nodeEnv.buildNodePackage {
     name = "jshint";
     packageName = "jshint";
-    version = "2.13.3";
+    version = "2.13.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.3.tgz";
-      sha512 = "zlVQz8XAl1ODXEOVMPkDNuntPebPIE39Xn7ex/JAI9+TmBIf/fcUuj58FaLCC88rOHy8leq0N5ChBB+V5fmpzA==";
+      url = "https://registry.npmjs.org/jshint/-/jshint-2.13.4.tgz";
+      sha512 = "HO3bosL84b2qWqI0q+kpT/OpRJwo0R4ivgmxaO848+bo10rc50SkPnrtwSFXttW0ym4np8jbJvLwk5NziB7jIw==";
     };
     dependencies = [
       sources."balanced-match-1.0.2"
@@ -102124,11 +102159,10 @@ in
       sources."inherits-2.0.4"
       sources."isarray-0.0.1"
       sources."lodash-4.17.21"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.0.8"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."readable-stream-1.1.14"
-      sources."shelljs-0.3.0"
       sources."string_decoder-0.10.31"
       sources."strip-json-comments-1.0.4"
       sources."wrappy-1.0.2"
@@ -102180,7 +102214,7 @@ in
       sources."event-emitter-0.3.5"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."heap-0.2.7"
@@ -102280,15 +102314,15 @@ in
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."array-flatten-1.1.1"
       sources."basic-auth-2.0.1"
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.19.2"
       sources."boxen-5.1.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       (sources."cacheable-request-6.1.0" // {
         dependencies = [
           sources."get-stream-5.2.0"
@@ -102317,7 +102351,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."cors-2.8.5"
       sources."crypto-random-string-2.0.0"
@@ -102338,7 +102372,7 @@ in
       sources."escape-goat-2.1.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
         ];
@@ -102410,8 +102444,8 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."nanoid-3.2.0"
-      sources."negotiator-0.6.2"
+      sources."nanoid-3.3.1"
+      sources."negotiator-0.6.3"
       sources."normalize-url-4.5.1"
       sources."object-assign-4.1.1"
       sources."on-finished-2.3.0"
@@ -102432,9 +102466,9 @@ in
       sources."proxy-addr-2.0.7"
       sources."pump-3.0.0"
       sources."pupa-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       (sources."rc-1.2.8" // {
         dependencies = [
           sources."ini-1.3.8"
@@ -102461,7 +102495,7 @@ in
       sources."serve-static-1.14.2"
       sources."server-destroy-1.0.1"
       sources."setprototypeof-1.2.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."statuses-1.5.0"
       sources."steno-0.4.4"
       sources."string-width-4.2.3"
@@ -102534,7 +102568,7 @@ in
       sha1 = "f2de92d8c2f9211e7b4e859ef73d44d32b1b5bfd";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ajv-6.12.6"
       sources."ansi-align-1.1.0"
       sources."ansi-regex-2.1.1"
@@ -102563,10 +102597,10 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-1.13.1"
       sources."bindings-1.5.0"
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.19.2"
       sources."boxen-0.6.0"
       sources."braces-1.8.5"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       (sources."cache-base-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -102620,7 +102654,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.3"
@@ -102651,7 +102685,7 @@ in
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
         ];
@@ -102811,7 +102845,7 @@ in
           sources."kind-of-6.0.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-status-codes-1.0.0"
       sources."node-uuid-1.4.8"
       sources."normalize-package-data-2.5.0"
@@ -102870,7 +102904,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       (sources."randomatic-3.1.1" // {
         dependencies = [
           sources."is-number-4.0.0"
@@ -102878,7 +102912,7 @@ in
         ];
       })
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."read-all-stream-3.1.0"
       sources."read-pkg-1.1.0"
@@ -103113,10 +103147,11 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@oclif/command-1.8.16"
-      sources."@oclif/config-1.18.2"
+      sources."@oclif/config-1.18.3"
       sources."@oclif/errors-1.3.5"
       (sources."@oclif/help-1.0.1" // {
         dependencies = [
+          sources."@oclif/config-1.18.2"
           sources."wrap-ansi-6.2.0"
         ];
       })
@@ -103124,11 +103159,12 @@ in
       sources."@oclif/parser-3.8.6"
       (sources."@oclif/plugin-help-3.3.1" // {
         dependencies = [
+          sources."@oclif/config-1.18.2"
           sources."wrap-ansi-6.2.0"
         ];
       })
       sources."@oclif/screen-1.0.4"
-      (sources."@putdotio/api-client-8.23.2" // {
+      (sources."@putdotio/api-client-8.27.3" // {
         dependencies = [
           sources."axios-0.21.4"
         ];
@@ -103208,7 +103244,7 @@ in
       })
       sources."fill-range-7.0.1"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."form-data-3.0.1"
       sources."fs-extra-8.1.0"
       sources."function-bind-1.1.1"
@@ -103234,7 +103270,7 @@ in
       sources."is-typedarray-1.0.0"
       sources."is-wsl-2.2.0"
       sources."isexe-2.0.0"
-      sources."js-base64-2.6.4"
+      sources."js-base64-2.6.3"
       sources."js-yaml-3.14.1"
       sources."json-schema-traverse-0.4.1"
       sources."json-schema-typed-7.0.3"
@@ -103294,7 +103330,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."sprintf-js-1.0.3"
       sources."string-width-4.2.3"
@@ -103305,12 +103341,12 @@ in
       sources."tmp-0.0.33"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.3.1"
-      sources."type-2.5.0"
+      sources."type-2.6.0"
       sources."type-fest-0.21.3"
       sources."typedarray-to-buffer-3.1.5"
       sources."universalify-0.1.2"
       sources."uri-js-4.4.1"
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."uuid-8.3.2"
       sources."which-1.3.1"
       sources."widest-line-3.1.0"
@@ -103352,28 +103388,28 @@ in
   karma = nodeEnv.buildNodePackage {
     name = "karma";
     packageName = "karma";
-    version = "6.3.11";
+    version = "6.3.16";
     src = fetchurl {
-      url = "https://registry.npmjs.org/karma/-/karma-6.3.11.tgz";
-      sha512 = "QGUh4yXgizzDNPLB5nWTvP+wysKexngbyLVWFOyikB661hpa2RZLf5anZQzqliWtAQuYVep0ot0D1U7UQKpsxQ==";
+      url = "https://registry.npmjs.org/karma/-/karma-6.3.16.tgz";
+      sha512 = "nEU50jLvDe5yvXqkEJRf8IuvddUkOY2x5Xc4WXHz6dxINgGDrgD2uqQWeVrJs4hbfNaotn+HQ1LZJ4yOXrL7xQ==";
     };
     dependencies = [
       sources."@socket.io/base64-arraybuffer-1.0.2"
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.10"
-      sources."accepts-1.3.7"
+      sources."@types/node-17.0.19"
+      sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."balanced-match-1.0.2"
       sources."base64id-2.0.0"
       sources."binary-extensions-2.2.0"
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.19.2"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."chokidar-3.5.3"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
@@ -103383,7 +103419,7 @@ in
       sources."concat-map-0.0.1"
       sources."connect-3.7.0"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cors-2.8.5"
       sources."custom-event-1.0.1"
       sources."date-format-4.0.3"
@@ -103408,8 +103444,8 @@ in
       sources."extend-3.0.2"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."flatted-3.2.4"
-      sources."follow-redirects-1.14.7"
+      sources."flatted-3.2.5"
+      sources."follow-redirects-1.14.9"
       sources."fs-extra-10.0.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -103440,9 +103476,11 @@ in
       sources."mime-2.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.5"
+      sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."object-assign-4.1.1"
       sources."on-finished-2.3.0"
@@ -103451,9 +103489,9 @@ in
       sources."path-is-absolute-1.0.1"
       sources."picomatch-2.3.1"
       sources."qjobs-1.2.0"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readdirp-3.6.0"
       sources."require-directory-2.1.1"
       sources."requires-port-1.0.0"
@@ -103520,15 +103558,16 @@ in
       sha512 = "ffn0F9o3Yy6E9UFAS/vzOpsYxbVwk/pbSWrS3YPIZs+PtUv6zmwrkZ+71xSSb6tHBkJw5k93vOdkbo4cViFdFA==";
     };
     dependencies = [
-      sources."@babel/cli-7.16.8"
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/cli-7.17.3"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      (sources."@babel/core-7.16.12" // {
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.16.8"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       (sources."@babel/helper-compilation-targets-7.16.7" // {
         dependencies = [
@@ -103546,16 +103585,19 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       sources."@babel/highlight-7.16.10"
       sources."@babel/node-7.16.8"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/plugin-syntax-jsx-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.16.7"
-      sources."@babel/register-7.16.9"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
+      sources."@babel/register-7.17.0"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@tootallnate/once-1.1.2"
       sources."@xmpp/base64-0.12.1"
       sources."@xmpp/client-0.12.1"
@@ -103585,7 +103627,7 @@ in
       sources."@xmpp/websocket-0.12.1"
       sources."@xmpp/xml-0.12.1"
       sources."abab-2.0.5"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
@@ -103607,7 +103649,7 @@ in
       sources."bent-7.3.12"
       sources."bitwise-xor-0.0.0"
       sources."bn.js-4.12.0"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -103616,12 +103658,12 @@ in
       sources."brace-expansion-1.1.11"
       sources."browser-or-node-1.3.0"
       sources."browser-process-hrtime-1.0.0"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."bytesish-0.4.4"
       sources."call-bind-1.0.2"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chardet-1.4.0"
@@ -103641,9 +103683,9 @@ in
       })
       sources."content-type-1.0.4"
       sources."convert-source-map-1.8.0"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."cors-2.8.5"
       sources."create-hash-1.2.0"
       sources."create-hmac-1.1.7"
@@ -103676,7 +103718,7 @@ in
       })
       sources."dotenv-8.6.0"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."encodeurl-1.0.2"
       sources."enquirer-2.3.6"
@@ -103695,7 +103737,7 @@ in
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
       sources."events-3.3.0"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -103776,7 +103818,7 @@ in
           sources."tr46-2.1.0"
           sources."webidl-conversions-6.1.0"
           sources."whatwg-url-8.7.0"
-          sources."ws-7.5.6"
+          sources."ws-7.5.7"
         ];
       })
       sources."jsesc-2.5.2"
@@ -103797,14 +103839,14 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."ms-2.1.2"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-environment-flags-1.0.6"
       sources."node-fetch-2.6.7"
       sources."node-localstorage-1.3.1"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."nwsapi-2.2.0"
       sources."object-assign-4.1.1"
       sources."object-inspect-1.12.0"
@@ -103826,17 +103868,17 @@ in
       sources."path-to-regexp-0.1.7"
       sources."picocolors-1.0.0"
       sources."pify-4.0.1"
-      sources."pirates-4.0.4"
+      sources."pirates-4.0.5"
       sources."pkg-dir-3.0.0"
       sources."prelude-ls-1.1.2"
       sources."proxy-addr-2.0.7"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."query-string-6.14.1"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readable-stream-3.6.0"
       sources."regenerator-runtime-0.13.9"
       sources."require-directory-2.1.1"
@@ -103918,7 +103960,7 @@ in
       })
       sources."wrappy-1.0.2"
       sources."write-file-atomic-1.3.4"
-      sources."ws-8.4.2"
+      sources."ws-8.5.0"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -103987,7 +104029,7 @@ in
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."lazystream-1.0.1"
       sources."lead-1.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."normalize-path-2.1.1"
       sources."now-and-later-2.0.1"
       sources."object-keys-1.1.1"
@@ -104152,7 +104194,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-1.2.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."moment-2.29.1"
@@ -104218,7 +104260,7 @@ in
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
       sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
@@ -104402,7 +104444,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-1.2.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
       sources."moment-2.29.1"
@@ -104458,7 +104500,7 @@ in
       sources."sax-1.2.4"
       sources."secure-keys-1.0.0"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
       sources."sshpk-1.17.0"
       sources."stack-trace-0.0.10"
@@ -104555,7 +104597,7 @@ in
           sources."supports-color-5.5.0"
         ];
       })
-      sources."@gar/promisify-1.1.2"
+      sources."@gar/promisify-1.1.3"
       sources."@hutson/parse-repository-url-3.0.2"
       sources."@lerna/add-4.0.0"
       sources."@lerna/bootstrap-4.0.0"
@@ -104655,7 +104697,7 @@ in
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@npmcli/ci-detect-1.4.0"
-      sources."@npmcli/fs-1.1.0"
+      sources."@npmcli/fs-1.1.1"
       sources."@npmcli/git-2.1.0"
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
@@ -104700,7 +104742,7 @@ in
           sources."type-fest-0.21.3"
         ];
       })
-      sources."ansi-regex-2.1.1"
+      sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-2.0.0"
       (sources."are-we-there-yet-1.1.7" // {
@@ -104743,19 +104785,14 @@ in
       sources."clean-stack-2.2.0"
       sources."cli-cursor-3.1.0"
       sources."cli-width-3.0.0"
-      (sources."cliui-7.0.4" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-deep-4.0.1"
       sources."cmd-shim-4.1.0"
       sources."code-point-at-1.1.0"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."columnify-1.5.4"
+      sources."columnify-1.6.0"
       sources."combined-stream-1.0.8"
       (sources."compare-func-2.0.0" // {
         dependencies = [
@@ -104844,9 +104881,11 @@ in
       sources."function-bind-1.1.1"
       (sources."gauge-2.7.4" // {
         dependencies = [
+          sources."ansi-regex-2.1.1"
           sources."aproba-1.2.0"
           sources."is-fullwidth-code-point-1.0.0"
           sources."string-width-1.0.2"
+          sources."strip-ansi-3.0.1"
         ];
       })
       sources."get-caller-file-2.0.5"
@@ -104919,12 +104958,7 @@ in
           sources."read-package-json-4.1.1"
         ];
       })
-      (sources."inquirer-7.3.3" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."inquirer-7.3.3"
       sources."internal-slot-1.0.3"
       sources."ip-1.1.5"
       sources."is-arrayish-0.2.1"
@@ -105020,7 +105054,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minimist-options-4.1.0" // {
         dependencies = [
@@ -105186,11 +105220,11 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."slide-1.1.6"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-6.1.1"
       sources."sort-keys-2.0.0"
       sources."source-map-0.6.1"
@@ -105204,16 +105238,11 @@ in
       sources."sshpk-1.17.0"
       sources."ssri-8.0.1"
       sources."strict-uri-encode-2.0.0"
-      (sources."string-width-4.2.3" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."string-width-4.2.3"
       sources."string.prototype.trimend-1.0.4"
       sources."string.prototype.trimstart-1.0.4"
       sources."string_decoder-1.3.0"
-      sources."strip-ansi-3.0.1"
+      sources."strip-ansi-6.0.1"
       sources."strip-bom-4.0.0"
       sources."strip-final-newline-2.0.0"
       sources."strip-indent-3.0.0"
@@ -105242,7 +105271,7 @@ in
       sources."type-fest-0.4.1"
       sources."typedarray-0.0.6"
       sources."typedarray-to-buffer-3.1.5"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."uid-number-0.0.6"
       sources."umask-1.1.0"
       sources."unbox-primitive-1.0.1"
@@ -105265,12 +105294,7 @@ in
       sources."which-boxed-primitive-1.0.2"
       sources."wide-align-1.1.5"
       sources."wordwrap-1.0.0"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-2.4.3"
       (sources."write-json-file-4.3.0" // {
@@ -105314,7 +105338,7 @@ in
       sha512 = "EoQp/Et7OSOVu0aJknJOtlXZsnr8XE8KwuzTHOLeVSEx8pVWUICc8Q0VYRHgzyjX78nMEyC/oztWFbgyhtNfDA==";
     };
     dependencies = [
-      sources."copy-anything-2.0.3"
+      sources."copy-anything-2.0.6"
       sources."debug-3.2.7"
       sources."errno-0.1.8"
       sources."graceful-fs-4.2.9"
@@ -105377,7 +105401,7 @@ in
       sha512 = "Yn2XCVjErTkqnM3FfTmM7/kWy3zP7+cEtC7x6u+wUzlQ+1UW3zEYbbyJrc0jNDwiMDZI0m4a0i3dxlGHVyXczw==";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       (sources."anymatch-2.0.0" // {
         dependencies = [
           sources."normalize-path-2.1.1"
@@ -105538,7 +105562,7 @@ in
       sources."ms-2.0.0"
       sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."object-assign-4.1.1"
       (sources."object-copy-0.1.0" // {
@@ -105708,7 +105732,7 @@ in
       sha512 = "C5x12+bwk7m2Sx3U27VZ7h5KP7vIlKfZGCabMi73nBGp0zPHtCaxQTPXDRoX5479EZUvycYJI0aD4h1d4+ds7w==";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."after-0.8.2"
       sources."ajv-6.12.6"
       sources."anymatch-1.3.2"
@@ -105740,9 +105764,9 @@ in
       sources."binary-extensions-1.13.1"
       sources."bindings-1.5.0"
       sources."blob-0.0.5"
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.19.2"
       sources."braces-1.8.5"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       (sources."cache-base-1.0.1" // {
         dependencies = [
           sources."isobject-3.0.1"
@@ -105779,7 +105803,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."copy-descriptor-0.1.1"
       sources."core-util-is-1.0.3"
@@ -105814,7 +105838,7 @@ in
       sources."etag-1.8.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
         ];
@@ -105951,7 +105975,7 @@ in
           sources."kind-of-6.0.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-path-2.1.1"
       sources."oauth-sign-0.9.0"
       (sources."object-copy-0.1.0" // {
@@ -105993,7 +106017,7 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       (sources."randomatic-3.1.1" // {
         dependencies = [
           sources."is-number-4.0.0"
@@ -106001,7 +106025,7 @@ in
         ];
       })
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."readable-stream-2.3.7"
       (sources."readdirp-2.2.1" // {
         dependencies = [
@@ -106230,15 +106254,16 @@ in
     version = "1.10.1";
     src = ../interpreters/clojurescript/lumo;
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      sources."@babel/core-7.16.12"
-      sources."@babel/generator-7.16.8"
+      sources."@babel/compat-data-7.17.0"
+      sources."@babel/core-7.17.5"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
       sources."@babel/helper-compilation-targets-7.16.7"
-      sources."@babel/helper-create-class-features-plugin-7.16.10"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.7"
+      sources."@babel/helper-create-class-features-plugin-7.17.1"
+      sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       sources."@babel/helper-define-polyfill-provider-0.3.1"
       sources."@babel/helper-environment-visitor-7.16.7"
       sources."@babel/helper-explode-assignable-expression-7.16.7"
@@ -106258,13 +106283,13 @@ in
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       (sources."@babel/highlight-7.16.10" // {
         dependencies = [
           sources."chalk-2.4.2"
         ];
       })
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-external-helpers-7.8.3"
@@ -106277,7 +106302,7 @@ in
       sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
       sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
       sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
       sources."@babel/plugin-proposal-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-private-methods-7.16.11"
@@ -106305,7 +106330,7 @@ in
       sources."@babel/plugin-transform-block-scoping-7.16.7"
       sources."@babel/plugin-transform-classes-7.16.7"
       sources."@babel/plugin-transform-computed-properties-7.16.7"
-      sources."@babel/plugin-transform-destructuring-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
       sources."@babel/plugin-transform-dotall-regex-7.16.7"
       sources."@babel/plugin-transform-duplicate-keys-7.16.7"
       sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
@@ -106324,7 +106349,7 @@ in
       sources."@babel/plugin-transform-property-literals-7.16.7"
       sources."@babel/plugin-transform-regenerator-7.16.7"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
-      sources."@babel/plugin-transform-runtime-7.16.10"
+      sources."@babel/plugin-transform-runtime-7.17.0"
       sources."@babel/plugin-transform-shorthand-properties-7.16.7"
       sources."@babel/plugin-transform-spread-7.16.7"
       sources."@babel/plugin-transform-sticky-regex-7.16.7"
@@ -106335,10 +106360,10 @@ in
       sources."@babel/preset-env-7.16.11"
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-stage-2-7.8.3"
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/runtime-7.17.2"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
       sources."@cnakazawa/watch-1.0.4"
       sources."@comandeer/babel-plugin-banner-5.0.0"
       sources."@istanbuljs/load-nyc-config-1.1.0"
@@ -106349,17 +106374,20 @@ in
         ];
       })
       sources."@jest/types-25.5.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@types/babel__core-7.1.18"
       sources."@types/babel__generator-7.6.4"
       sources."@types/babel__template-7.4.1"
       sources."@types/babel__traverse-7.14.2"
-      sources."@types/estree-0.0.50"
+      sources."@types/estree-0.0.51"
       sources."@types/graceful-fs-4.1.5"
       sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-1.1.2"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/resolve-0.0.8"
       sources."@types/yargs-15.0.14"
@@ -106449,7 +106477,7 @@ in
       sources."babel-plugin-minify-simplify-0.5.1"
       sources."babel-plugin-minify-type-constructors-0.4.3"
       sources."babel-plugin-polyfill-corejs2-0.3.1"
-      sources."babel-plugin-polyfill-corejs3-0.5.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
       sources."babel-plugin-polyfill-regenerator-0.3.1"
       sources."babel-plugin-syntax-flow-6.18.0"
       sources."babel-plugin-transform-flow-strip-types-6.22.0"
@@ -106516,7 +106544,7 @@ in
         ];
       })
       sources."browserify-zlib-0.2.0"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."bser-2.1.1"
       sources."buffer-5.2.1"
       sources."buffer-from-1.1.2"
@@ -106532,7 +106560,7 @@ in
       sources."cached-path-relative-1.1.0"
       sources."call-bind-1.0.2"
       sources."camelcase-5.3.1"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."capture-exit-2.0.0"
       sources."caseless-0.12.0"
       (sources."chalk-3.0.0" // {
@@ -106603,7 +106631,7 @@ in
       })
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.20.3" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -106655,7 +106683,7 @@ in
       sources."duplexer2-0.1.4"
       sources."duplexify-3.7.1"
       sources."ecc-jsbn-0.1.2"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -106921,7 +106949,7 @@ in
       sources."mime-types-2.1.34"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mississippi-3.0.0"
       (sources."mixin-deep-1.3.2" // {
@@ -106957,7 +106985,7 @@ in
           sources."util-0.11.1"
         ];
       })
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       (sources."normalize-package-data-2.5.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -107013,7 +107041,7 @@ in
       sources."pify-4.0.1"
       sources."pinkie-1.0.0"
       sources."pinkie-promise-1.0.0"
-      sources."pirates-4.0.4"
+      sources."pirates-4.0.5"
       sources."pkg-dir-4.2.0"
       sources."posix-character-classes-0.1.1"
       sources."posix-getopt-git://github.com/anmonteiro/node-getopt#master"
@@ -107051,13 +107079,13 @@ in
       sources."readdirp-3.6.0"
       sources."realpath-native-2.0.0"
       sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-9.0.0"
+      sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       sources."regex-not-1.0.2"
-      sources."regexpu-core-4.8.0"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.7.0" // {
+      sources."regexpu-core-5.0.1"
+      sources."regjsgen-0.6.0"
+      (sources."regjsparser-0.8.4" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -107121,7 +107149,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."shell-quote-1.7.3"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
       sources."slash-3.0.0"
       (sources."snapdragon-0.8.2" // {
@@ -107393,7 +107421,7 @@ in
       sources."@types/commander-2.12.2"
       sources."@types/diff-3.5.5"
       sources."@types/get-stdin-5.0.1"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."commander-2.20.3"
       sources."diff-3.5.0"
       sources."get-stdin-5.0.1"
@@ -107426,7 +107454,7 @@ in
       sources."glob-7.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."mkdirp-0.3.5"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -107512,7 +107540,7 @@ in
       sources."lru-cache-4.1.5"
       sources."lstream-0.0.4"
       sources."mime-1.2.11"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-2.29.1"
@@ -107635,36 +107663,34 @@ in
   markdownlint-cli = nodeEnv.buildNodePackage {
     name = "markdownlint-cli";
     packageName = "markdownlint-cli";
-    version = "0.30.0";
+    version = "0.31.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.30.0.tgz";
-      sha512 = "NiG8iERjwsRZtJAIyLMDdYL2O3bJVn3fUxzDl+6Iv61/YYz9H9Nzgke/v0/cW9HfGvgZHhbfI19LFMp6gbKdyw==";
+      url = "https://registry.npmjs.org/markdownlint-cli/-/markdownlint-cli-0.31.1.tgz";
+      sha512 = "keIOMwQn+Ch7MoBwA+TdkyVMuxAeZFEGmIIlvwgV0Z1TGS5MxPnRr29XCLhkNzCHU+uNKGjU+VEjLX+Z9kli6g==";
     };
     dependencies = [
       sources."argparse-2.0.1"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
-      sources."commander-8.3.0"
+      sources."commander-9.0.0"
       sources."concat-map-0.0.1"
       sources."deep-extend-0.6.0"
       sources."entities-2.1.0"
       sources."fs.realpath-1.0.0"
-      sources."get-stdin-8.0.0"
+      sources."get-stdin-9.0.0"
       sources."glob-7.2.0"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-2.0.0"
       sources."js-yaml-4.1.0"
       sources."jsonc-parser-3.0.0"
       sources."linkify-it-3.0.3"
-      sources."lodash.differencewith-4.5.0"
-      sources."lodash.flatten-4.4.0"
-      sources."markdown-it-12.2.0"
-      sources."markdownlint-0.24.0"
-      sources."markdownlint-rule-helpers-0.15.0"
+      sources."markdown-it-12.3.2"
+      sources."markdownlint-0.25.1"
+      sources."markdownlint-rule-helpers-0.16.0"
       sources."mdurl-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.0.8"
       sources."minimist-1.2.5"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -107741,10 +107767,10 @@ in
   markdown-link-check = nodeEnv.buildNodePackage {
     name = "markdown-link-check";
     packageName = "markdown-link-check";
-    version = "3.9.2";
+    version = "3.9.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.9.2.tgz";
-      sha512 = "f6ZZaFIFe6lviqzWglHgzPg7xeIJ+7QnaJZosPRaJyeZigRiG03WDjcChuV6k21kdyDhCwBO9HoISh2oxP4Hjw==";
+      url = "https://registry.npmjs.org/markdown-link-check/-/markdown-link-check-3.9.3.tgz";
+      sha512 = "eXW4jTs0z7MBnTnpgaM+jRNtEwBjKCW3yldNCE4v7kHqpm4BTGPaBbXqzt/Kdz1/fZl91hIXgBE/21yps1PtIQ==";
     };
     dependencies = [
       sources."ansi-styles-4.3.0"
@@ -107762,7 +107788,7 @@ in
       sources."link-check-5.0.2"
       sources."lodash-4.17.21"
       sources."markdown-link-extractor-1.3.1"
-      sources."marked-4.0.10"
+      sources."marked-4.0.12"
       sources."ms-2.1.3"
       sources."needle-3.0.0"
       sources."progress-2.0.3"
@@ -107781,13 +107807,13 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "markdown-preview-nvim-../../misc/vim-plugins/markdown-preview-nvim" = nodeEnv.buildNodePackage {
+  "markdown-preview-nvim-../../applications/editors/vim/plugins/markdown-preview-nvim" = nodeEnv.buildNodePackage {
     name = "markdown-preview-vim";
     packageName = "markdown-preview-vim";
     version = "0.0.1";
-    src = ../../misc/vim-plugins/markdown-preview-nvim;
+    src = ../../applications/editors/vim/plugins/markdown-preview-nvim;
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."after-0.8.2"
       sources."arraybuffer.slice-0.0.7"
       sources."async-1.0.0"
@@ -107843,7 +107869,7 @@ in
       sources."mkdirp-0.5.5"
       sources."ms-2.1.3"
       sources."msgpack-lite-0.1.26"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neovim-4.2.1"
       sources."object-component-0.0.3"
       sources."parseqs-0.0.5"
@@ -107899,10 +107925,10 @@ in
   mastodon-bot = nodeEnv.buildNodePackage {
     name = "mastodon-bot";
     packageName = "mastodon-bot";
-    version = "1.13.7-20211027152950";
+    version = "1.13.8-20220129172727";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.13.7-20211027152950.tgz";
-      sha512 = "M+/MOAADju8toJAvN03Gj5KkR42Ud2SKkm183uWuO0DcWBJxjT60GYwbgdLeDAc8V0YC8F0ee6oR9yxJ4H9LZg==";
+      url = "https://registry.npmjs.org/mastodon-bot/-/mastodon-bot-1.13.8-20220129172727.tgz";
+      sha512 = "uBYlTnpHrVQ6+K9qQHaoLfvUKL8W5RLjdPmIzSC48+F0TSwDv+zAq19Sv5kx4Rxv4K+3c9j15xMI+mEs3bD7Lg==";
     };
     dependencies = [
       sources."acorn-5.7.4"
@@ -107999,7 +108025,7 @@ in
       sources."exit-hook-1.1.1"
       (sources."ext-1.6.0" // {
         dependencies = [
-          sources."type-2.5.0"
+          sources."type-2.6.0"
         ];
       })
       sources."extend-3.0.2"
@@ -108087,7 +108113,7 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
@@ -108255,14 +108281,14 @@ in
   "@mermaid-js/mermaid-cli" = nodeEnv.buildNodePackage {
     name = "_at_mermaid-js_slash_mermaid-cli";
     packageName = "@mermaid-js/mermaid-cli";
-    version = "8.13.8";
+    version = "8.14.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.13.8.tgz";
-      sha512 = "T2IGxPOVrzFaO4jl1ADUa1X6AmR3RwTI8nC3c3EBEg3mJVM4/DP0TDO7wfdGFTJEle3WtPvO6oNILffTckHjwQ==";
+      url = "https://registry.npmjs.org/@mermaid-js/mermaid-cli/-/mermaid-cli-8.14.0.tgz";
+      sha512 = "NHuFVPINakXJlAX0DHl3Bvcrz664ZblHfvB7M2X9fwTZNMZzoFTO2k0Q79Rh9QTmZTmmMjj0JmKMg7LiP+pFCA==";
     };
     dependencies = [
       sources."@braintree/sanitize-url-3.1.0"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/yauzl-2.9.2"
       sources."agent-base-6.0.2"
       sources."ansi-styles-4.3.0"
@@ -108276,8 +108302,9 @@ in
       sources."chownr-1.1.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."commander-8.3.0"
+      sources."commander-9.0.0"
       sources."concat-map-0.0.1"
+      sources."cross-fetch-3.1.5"
       sources."d3-7.3.0"
       sources."d3-array-3.1.1"
       sources."d3-axis-3.0.0"
@@ -108352,10 +108379,10 @@ in
           sources."iconv-lite-0.4.24"
         ];
       })
-      sources."debug-4.3.2"
+      sources."debug-4.3.3"
       sources."delaunator-5.0.0"
-      sources."devtools-protocol-0.0.948846"
-      sources."dompurify-2.3.4"
+      sources."devtools-protocol-0.0.960912"
+      sources."dompurify-2.3.5"
       sources."end-of-stream-1.4.4"
       sources."extract-zip-2.0.1"
       sources."fd-slicer-1.1.0"
@@ -108375,12 +108402,12 @@ in
       sources."khroma-1.4.1"
       sources."locate-path-5.0.0"
       sources."lodash-4.17.21"
-      sources."mermaid-8.13.10"
-      sources."minimatch-3.0.4"
+      sources."mermaid-8.14.0"
+      sources."minimatch-3.1.2"
       sources."mkdirp-classic-0.5.3"
       sources."moment-mini-2.24.0"
       sources."ms-2.1.2"
-      sources."node-fetch-2.6.5"
+      sources."node-fetch-2.6.7"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
       sources."p-locate-4.1.0"
@@ -108392,7 +108419,7 @@ in
       sources."progress-2.0.3"
       sources."proxy-from-env-1.1.0"
       sources."pump-3.0.0"
-      sources."puppeteer-13.1.1"
+      sources."puppeteer-13.3.2"
       sources."readable-stream-3.6.0"
       sources."rimraf-3.0.2"
       sources."robust-predicates-3.0.1"
@@ -108411,7 +108438,7 @@ in
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-8.2.3"
+      sources."ws-8.5.0"
       sources."yauzl-2.10.0"
     ];
     buildInputs = globalBuildInputs;
@@ -108427,10 +108454,10 @@ in
   mocha = nodeEnv.buildNodePackage {
     name = "mocha";
     packageName = "mocha";
-    version = "9.1.4";
+    version = "9.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/mocha/-/mocha-9.1.4.tgz";
-      sha512 = "+q2aV5VlJZuLgCWoBvGI5zEwPF9eEI0kr/sAA9Jm4xMND7RfIEyF8JE7C0JIg8WXRG+P1sdIAb5ccoHPlXLzcw==";
+      url = "https://registry.npmjs.org/mocha/-/mocha-9.2.1.tgz";
+      sha512 = "T7uscqjJVS46Pq1XDXyo9Uvey9gd3huT/DD9cYBb4K2Xc/vbKRPUWK067bxDQRK0yIz6Jxk73IrnimvASzBNAQ==";
     };
     dependencies = [
       sources."@ungap/promise-all-settled-1.1.2"
@@ -108450,12 +108477,12 @@ in
           sources."supports-color-7.2.0"
         ];
       })
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
       sources."concat-map-0.0.1"
-      (sources."debug-4.3.2" // {
+      (sources."debug-4.3.3" // {
         dependencies = [
           sources."ms-2.1.2"
         ];
@@ -108471,7 +108498,7 @@ in
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
       sources."get-caller-file-2.0.5"
-      sources."glob-7.1.7"
+      sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."growl-1.10.5"
       sources."has-flag-4.0.0"
@@ -108491,7 +108518,7 @@ in
       sources."log-symbols-4.1.0"
       sources."minimatch-3.0.4"
       sources."ms-2.1.3"
-      sources."nanoid-3.1.25"
+      sources."nanoid-3.2.0"
       sources."normalize-path-3.0.0"
       sources."once-1.4.0"
       sources."p-limit-3.1.0"
@@ -108510,7 +108537,7 @@ in
       sources."supports-color-8.1.1"
       sources."to-regex-range-5.0.1"
       sources."which-2.0.2"
-      sources."workerpool-6.1.5"
+      sources."workerpool-6.2.0"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."y18n-5.0.8"
@@ -108649,7 +108676,7 @@ in
       sources."rxjs-6.6.7"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
@@ -108675,6 +108702,372 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  near-cli = nodeEnv.buildNodePackage {
+    name = "near-cli";
+    packageName = "near-cli";
+    version = "3.2.0";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/near-cli/-/near-cli-3.2.0.tgz";
+      sha512 = "5bnSY2xzH3v0bEBX0+rNadLdjrScLZfcUnqmaJqhXofaJH67pL/qo+x7MS8MG8yPaJ8y702E5PPvrp/maAhsDw==";
+    };
+    dependencies = [
+      sources."@babel/code-frame-7.16.7"
+      sources."@babel/helper-validator-identifier-7.16.7"
+      (sources."@babel/highlight-7.16.10" // {
+        dependencies = [
+          sources."ansi-styles-3.2.1"
+          sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
+          sources."has-flag-3.0.0"
+          sources."supports-color-5.5.0"
+        ];
+      })
+      sources."@jest/environment-27.5.1"
+      sources."@jest/fake-timers-27.5.1"
+      sources."@jest/types-27.5.1"
+      sources."@ledgerhq/devices-6.24.1"
+      sources."@ledgerhq/errors-6.10.0"
+      sources."@ledgerhq/hw-transport-6.24.1"
+      sources."@ledgerhq/hw-transport-node-hid-6.24.1"
+      sources."@ledgerhq/hw-transport-node-hid-noevents-6.24.1"
+      (sources."@ledgerhq/hw-transport-u2f-5.36.0-deprecated" // {
+        dependencies = [
+          sources."@ledgerhq/devices-5.51.1"
+          sources."@ledgerhq/errors-5.50.0"
+          sources."@ledgerhq/hw-transport-5.51.1"
+          sources."@ledgerhq/logs-5.50.0"
+        ];
+      })
+      (sources."@ledgerhq/hw-transport-webhid-5.51.1" // {
+        dependencies = [
+          sources."@ledgerhq/devices-5.51.1"
+          sources."@ledgerhq/errors-5.50.0"
+          sources."@ledgerhq/hw-transport-5.51.1"
+          sources."@ledgerhq/logs-5.50.0"
+        ];
+      })
+      (sources."@ledgerhq/hw-transport-webusb-5.53.1" // {
+        dependencies = [
+          sources."@ledgerhq/devices-5.51.1"
+          sources."@ledgerhq/errors-5.50.0"
+          sources."@ledgerhq/hw-transport-5.51.1"
+          sources."@ledgerhq/logs-5.50.0"
+        ];
+      })
+      sources."@ledgerhq/logs-6.10.0"
+      sources."@sindresorhus/is-0.14.0"
+      sources."@sinonjs/commons-1.8.3"
+      sources."@sinonjs/fake-timers-8.1.0"
+      sources."@szmarczak/http-timer-1.1.2"
+      sources."@types/istanbul-lib-coverage-2.0.4"
+      sources."@types/istanbul-lib-report-3.0.0"
+      sources."@types/istanbul-reports-3.0.1"
+      sources."@types/node-17.0.19"
+      sources."@types/stack-utils-2.0.1"
+      sources."@types/yargs-16.0.4"
+      sources."@types/yargs-parser-20.2.1"
+      sources."agent-base-6.0.2"
+      sources."ansi-align-3.0.1"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-4.3.0"
+      sources."aproba-1.2.0"
+      (sources."are-we-there-yet-1.1.7" // {
+        dependencies = [
+          sources."readable-stream-2.3.7"
+          sources."safe-buffer-5.1.2"
+          sources."string_decoder-1.1.1"
+        ];
+      })
+      sources."ascii-table-0.0.9"
+      sources."balanced-match-1.0.2"
+      sources."base-x-3.0.9"
+      sources."base64-js-1.5.1"
+      sources."bindings-1.5.0"
+      (sources."bip39-3.0.2" // {
+        dependencies = [
+          sources."@types/node-11.11.6"
+        ];
+      })
+      sources."bip39-light-1.0.7"
+      sources."bl-4.1.0"
+      sources."bn.js-5.2.0"
+      sources."borsh-0.6.0"
+      sources."boxen-5.1.2"
+      sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
+      sources."bs58-4.0.1"
+      sources."buffer-5.7.1"
+      (sources."cacheable-request-6.1.0" // {
+        dependencies = [
+          sources."get-stream-5.2.0"
+          sources."lowercase-keys-2.0.0"
+        ];
+      })
+      sources."camelcase-6.3.0"
+      sources."capability-0.2.5"
+      sources."chalk-4.1.2"
+      sources."chownr-1.1.4"
+      sources."ci-info-2.0.0"
+      sources."cipher-base-1.0.4"
+      sources."cli-boxes-2.2.1"
+      sources."cliui-7.0.4"
+      sources."clone-response-1.0.2"
+      sources."code-point-at-1.1.0"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
+      sources."concat-map-0.0.1"
+      sources."configstore-5.0.1"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.3"
+      sources."create-hash-1.2.0"
+      sources."create-hmac-1.1.7"
+      sources."crypto-random-string-2.0.0"
+      sources."debug-4.3.3"
+      sources."decompress-response-3.3.0"
+      sources."deep-extend-0.6.0"
+      sources."deep-is-0.1.4"
+      sources."defer-to-connect-1.1.3"
+      sources."define-lazy-prop-2.0.0"
+      sources."delegates-1.0.0"
+      sources."depd-2.0.0"
+      sources."detect-libc-1.0.3"
+      sources."dot-prop-5.3.0"
+      sources."duplexer3-0.1.4"
+      sources."emoji-regex-8.0.0"
+      sources."end-of-stream-1.4.4"
+      sources."error-polyfill-0.1.3"
+      sources."escalade-3.1.1"
+      sources."escape-goat-2.1.1"
+      sources."escape-string-regexp-1.0.5"
+      sources."events-3.3.0"
+      sources."expand-template-2.0.3"
+      sources."file-uri-to-path-1.0.0"
+      sources."fill-range-7.0.1"
+      sources."flagged-respawn-1.0.1"
+      sources."fs-constants-1.0.0"
+      sources."fs.realpath-1.0.0"
+      (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."get-caller-file-2.0.5"
+      sources."get-stream-4.1.0"
+      sources."github-from-package-0.0.0"
+      sources."glob-7.2.0"
+      sources."global-dirs-3.0.0"
+      sources."got-9.6.0"
+      sources."graceful-fs-4.2.9"
+      sources."has-flag-4.0.0"
+      sources."has-unicode-2.0.1"
+      sources."has-yarn-2.1.0"
+      sources."hash-base-3.1.0"
+      sources."homedir-polyfill-1.0.3"
+      sources."http-cache-semantics-4.1.0"
+      (sources."http-errors-1.8.1" // {
+        dependencies = [
+          sources."depd-1.1.2"
+        ];
+      })
+      sources."https-proxy-agent-5.0.0"
+      sources."ieee754-1.2.1"
+      sources."import-lazy-2.1.0"
+      sources."imurmurhash-0.1.4"
+      sources."inflight-1.0.6"
+      sources."inherits-2.0.4"
+      sources."ini-2.0.0"
+      sources."ip-regex-4.3.0"
+      sources."is-ci-2.0.0"
+      sources."is-docker-2.2.1"
+      sources."is-fullwidth-code-point-3.0.0"
+      sources."is-installed-globally-0.4.0"
+      sources."is-npm-5.0.0"
+      sources."is-number-7.0.0"
+      sources."is-obj-2.0.0"
+      sources."is-path-inside-3.0.3"
+      sources."is-typedarray-1.0.0"
+      sources."is-url-1.2.4"
+      sources."is-wsl-2.2.0"
+      sources."is-yarn-global-0.3.0"
+      sources."is2-2.0.7"
+      sources."isarray-1.0.0"
+      sources."jest-environment-node-27.5.1"
+      sources."jest-message-util-27.5.1"
+      sources."jest-mock-27.5.1"
+      (sources."jest-util-27.5.1" // {
+        dependencies = [
+          sources."ci-info-3.3.0"
+        ];
+      })
+      sources."js-sha256-0.9.0"
+      sources."js-tokens-4.0.0"
+      sources."json-buffer-3.0.0"
+      sources."keyv-3.1.0"
+      sources."latest-version-5.1.0"
+      sources."lodash-4.17.21"
+      sources."lowercase-keys-1.0.1"
+      sources."lru-cache-6.0.0"
+      (sources."make-dir-3.1.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."md5.js-1.3.5"
+      sources."micromatch-4.0.4"
+      sources."mimic-response-1.0.1"
+      sources."minimatch-3.1.2"
+      sources."minimist-1.2.5"
+      sources."mixpanel-0.13.0"
+      sources."mkdirp-classic-0.5.3"
+      sources."ms-2.1.2"
+      sources."mustache-4.2.0"
+      sources."napi-build-utils-1.0.2"
+      sources."ncp-2.0.0"
+      sources."near-api-js-0.44.2"
+      sources."near-hd-key-1.2.1"
+      sources."near-ledger-js-0.2.0"
+      sources."near-seed-phrase-0.2.0"
+      (sources."node-abi-2.30.1" // {
+        dependencies = [
+          sources."semver-5.7.1"
+        ];
+      })
+      sources."node-addon-api-3.2.1"
+      sources."node-fetch-2.6.7"
+      sources."node-gyp-build-4.3.0"
+      sources."node-hid-2.1.1"
+      sources."normalize-url-4.5.1"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."o3-1.0.3"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."open-8.4.0"
+      sources."p-cancelable-1.1.0"
+      (sources."package-json-6.5.0" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."parse-passwd-1.0.0"
+      sources."path-is-absolute-1.0.1"
+      sources."pbkdf2-3.1.2"
+      sources."picomatch-2.3.1"
+      sources."platform-1.3.6"
+      sources."prebuild-install-6.1.4"
+      sources."prepend-http-2.0.0"
+      (sources."pretty-format-27.5.1" // {
+        dependencies = [
+          sources."ansi-styles-5.2.0"
+        ];
+      })
+      sources."process-nextick-args-2.0.1"
+      sources."pump-3.0.0"
+      sources."pupa-2.1.1"
+      sources."randombytes-2.1.0"
+      (sources."rc-1.2.8" // {
+        dependencies = [
+          sources."ini-1.3.8"
+        ];
+      })
+      sources."react-is-17.0.2"
+      sources."readable-stream-3.6.0"
+      sources."registry-auth-token-4.2.1"
+      sources."registry-url-5.1.0"
+      sources."require-directory-2.1.1"
+      sources."responselike-1.0.2"
+      sources."rimraf-3.0.2"
+      sources."ripemd160-2.0.2"
+      sources."rxjs-6.6.7"
+      sources."safe-buffer-5.2.1"
+      sources."semver-7.3.5"
+      (sources."semver-diff-3.1.1" // {
+        dependencies = [
+          sources."semver-6.3.0"
+        ];
+      })
+      sources."set-blocking-2.0.0"
+      sources."setprototypeof-1.2.0"
+      sources."sha.js-2.4.11"
+      sources."signal-exit-3.0.7"
+      sources."simple-concat-1.0.1"
+      (sources."simple-get-3.1.1" // {
+        dependencies = [
+          sources."decompress-response-4.2.1"
+          sources."mimic-response-2.1.0"
+        ];
+      })
+      sources."slash-3.0.0"
+      (sources."stack-utils-2.0.5" // {
+        dependencies = [
+          sources."escape-string-regexp-2.0.0"
+        ];
+      })
+      sources."statuses-1.5.0"
+      sources."stoppable-1.1.0"
+      sources."string-width-4.2.3"
+      sources."string_decoder-1.3.0"
+      sources."strip-ansi-6.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."supports-color-7.2.0"
+      sources."tar-fs-2.1.1"
+      sources."tar-stream-2.2.0"
+      (sources."tcp-port-used-1.0.2" // {
+        dependencies = [
+          sources."debug-4.3.1"
+        ];
+      })
+      sources."text-encoding-utf-8-1.0.2"
+      sources."to-readable-stream-1.0.0"
+      sources."to-regex-range-5.0.1"
+      sources."toidentifier-1.0.1"
+      sources."tr46-0.0.3"
+      sources."tslib-1.14.1"
+      sources."tunnel-agent-0.6.0"
+      sources."tweetnacl-1.0.3"
+      sources."type-detect-4.0.8"
+      sources."type-fest-0.20.2"
+      sources."typedarray-to-buffer-3.1.5"
+      sources."u2f-api-0.2.7"
+      sources."u3-0.1.1"
+      sources."unique-string-2.0.0"
+      sources."update-notifier-5.1.0"
+      sources."url-parse-lax-3.0.0"
+      (sources."usb-1.9.2" // {
+        dependencies = [
+          sources."node-addon-api-4.3.0"
+        ];
+      })
+      sources."util-deprecate-1.0.2"
+      sources."uuid-8.3.2"
+      sources."v8flags-3.2.0"
+      sources."webidl-conversions-3.0.1"
+      sources."whatwg-url-5.0.0"
+      sources."wide-align-1.1.5"
+      sources."widest-line-3.1.0"
+      sources."wrap-ansi-7.0.0"
+      sources."wrappy-1.0.2"
+      sources."write-file-atomic-3.0.3"
+      sources."xdg-basedir-4.0.0"
+      sources."y18n-5.0.8"
+      sources."yallist-4.0.0"
+      sources."yargs-16.2.0"
+      sources."yargs-parser-20.2.9"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "General purpose command line tools for interacting with NEAR Protocol";
+      homepage = "https://github.com/near/near-cli#readme";
+      license = "(MIT AND Apache-2.0)";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   neovim = nodeEnv.buildNodePackage {
     name = "neovim";
     packageName = "neovim";
@@ -108684,14 +109077,14 @@ in
       sha512 = "H46Jl2bh/LAFJsitv2MiIK3oCxvQnEK9t3efNMUUkKzsTYlLIikVxGWVk/vJnHzvxoHYBIRB/KHwPAOm+9UStg==";
     };
     dependencies = [
-      sources."@dabh/diagnostics-2.0.2"
-      sources."@msgpack/msgpack-2.7.1"
+      sources."@colors/colors-1.5.0"
+      sources."@dabh/diagnostics-2.0.3"
+      sources."@msgpack/msgpack-2.7.2"
       sources."async-3.2.3"
       sources."color-3.2.1"
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.9.0"
-      sources."colors-1.4.0"
       sources."colorspace-1.1.4"
       sources."enabled-2.0.0"
       sources."fecha-4.2.1"
@@ -108700,13 +109093,13 @@ in
       sources."is-arrayish-0.3.2"
       sources."is-stream-2.0.1"
       sources."kuler-2.0.0"
-      sources."logform-2.3.2"
+      sources."logform-2.4.0"
       sources."lru-cache-6.0.0"
       sources."ms-2.1.3"
       sources."one-time-1.0.0"
       sources."readable-stream-3.6.0"
       sources."safe-buffer-5.2.1"
-      sources."safe-stable-stringify-1.1.1"
+      sources."safe-stable-stringify-2.3.1"
       sources."semver-7.3.5"
       sources."simple-swizzle-0.2.2"
       sources."stack-trace-0.0.10"
@@ -108715,7 +109108,7 @@ in
       sources."triple-beam-1.3.0"
       sources."util-deprecate-1.0.2"
       sources."winston-3.3.3"
-      sources."winston-transport-4.4.2"
+      sources."winston-transport-4.5.0"
       sources."yallist-4.0.0"
     ];
     buildInputs = globalBuildInputs;
@@ -108759,8 +109152,8 @@ in
       sha512 = "olTJRgUtAb/hOXG0E93wZDs5YiJlgbXxTwQAFHyNlRsXQnYzUaF2aGgujZbw+hR8aF4ZG/rST57bWMWD16jr9w==";
     };
     dependencies = [
-      sources."@gar/promisify-1.1.2"
-      sources."@npmcli/fs-1.1.0"
+      sources."@gar/promisify-1.1.3"
+      sources."@npmcli/fs-1.1.1"
       sources."@npmcli/move-file-1.1.2"
       sources."@tootallnate/once-1.1.2"
       sources."abbrev-1.1.1"
@@ -108769,7 +109162,7 @@ in
       sources."aggregate-error-3.1.0"
       sources."ansi-regex-5.0.1"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-2.0.0"
+      sources."are-we-there-yet-3.0.0"
       sources."balanced-match-1.0.2"
       sources."brace-expansion-1.1.11"
       sources."cacache-15.3.0"
@@ -108787,7 +109180,7 @@ in
       sources."err-code-2.0.3"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
-      sources."gauge-4.0.0"
+      sources."gauge-4.0.1"
       sources."glob-7.2.0"
       sources."graceful-fs-4.2.9"
       sources."has-unicode-2.0.1"
@@ -108807,7 +109200,7 @@ in
       sources."isexe-2.0.0"
       sources."lru-cache-6.0.0"
       sources."make-fetch-happen-9.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
       sources."minipass-fetch-1.4.1"
@@ -108819,7 +109212,7 @@ in
       sources."ms-2.1.2"
       sources."negotiator-0.6.3"
       sources."nopt-5.0.0"
-      sources."npmlog-6.0.0"
+      sources."npmlog-6.0.1"
       sources."once-1.4.0"
       sources."p-map-4.0.0"
       sources."path-is-absolute-1.0.1"
@@ -108832,9 +109225,9 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-6.1.1"
       sources."ssri-8.0.1"
       sources."string-width-4.2.3"
@@ -108887,7 +109280,7 @@ in
     };
     dependencies = [
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."after-0.8.2"
       sources."ajv-4.11.8"
       sources."ansi-regex-2.1.1"
@@ -108907,12 +109300,12 @@ in
       sources."biased-opener-0.2.8"
       sources."big-integer-1.6.51"
       sources."block-stream-0.0.9"
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.19.2"
       sources."boom-2.10.1"
       sources."bplist-parser-0.1.1"
       sources."brace-expansion-1.1.11"
       sources."browser-launcher2-0.4.6"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."camelcase-2.1.1"
       sources."camelcase-keys-2.1.0"
       sources."caseless-0.12.0"
@@ -108924,7 +109317,7 @@ in
       sources."console-control-strings-1.1.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cryptiles-2.0.5"
@@ -108949,7 +109342,7 @@ in
       sources."error-ex-1.3.2"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      sources."express-4.17.2"
+      sources."express-4.17.3"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."finalhandler-1.1.2"
@@ -109019,12 +109412,12 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
       sources."nan-2.15.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       (sources."node-pre-gyp-0.6.39" // {
         dependencies = [
           sources."glob-7.2.0"
@@ -109060,9 +109453,9 @@ in
       sources."process-nextick-args-2.0.1"
       sources."proxy-addr-2.0.7"
       sources."punycode-1.4.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."read-pkg-1.1.0"
       sources."read-pkg-up-1.0.1"
@@ -109097,7 +109490,7 @@ in
       sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sntp-1.0.9"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -109221,7 +109614,7 @@ in
       sources."ini-1.3.8"
       sources."is-fullwidth-code-point-1.0.0"
       sources."isarray-1.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
@@ -109249,7 +109642,7 @@ in
       sources."sax-1.2.4"
       sources."semver-5.7.1"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."string-width-1.0.2"
       sources."string_decoder-1.1.1"
       sources."strip-ansi-3.0.1"
@@ -109277,34 +109670,41 @@ in
   node-red = nodeEnv.buildNodePackage {
     name = "node-red";
     packageName = "node-red";
-    version = "2.1.6";
+    version = "2.2.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/node-red/-/node-red-2.1.6.tgz";
-      sha512 = "R65ZWxAnZtcPfvDtc/+pk5ilb8CoT4TYc0Ze5TRvewsC56TcwHfka8t1pFvXsc855GbcD4Ky49hfocwZTuJXMA==";
+      url = "https://registry.npmjs.org/node-red/-/node-red-2.2.2.tgz";
+      sha512 = "DAx4v9/W2MEBb/tHNO94bmjeELdAg7CVZlPJX+UBH1RsmXB0q/3ZYW1Zi55NVMVN/0sBBO1g+dI/L0NWCG8s9A==";
     };
     dependencies = [
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/runtime-7.17.2"
       sources."@mapbox/node-pre-gyp-1.0.8"
-      sources."@node-red/editor-api-2.1.6"
-      sources."@node-red/editor-client-2.1.6"
-      (sources."@node-red/nodes-2.1.6" // {
+      sources."@node-red/editor-api-2.2.2"
+      sources."@node-red/editor-client-2.2.2"
+      (sources."@node-red/nodes-2.2.2" // {
         dependencies = [
+          sources."bytes-3.1.2"
+          sources."cookie-0.4.2"
           sources."iconv-lite-0.6.3"
           sources."media-typer-1.1.0"
+          (sources."raw-body-2.4.3" // {
+            dependencies = [
+              sources."iconv-lite-0.4.24"
+            ];
+          })
         ];
       })
-      sources."@node-red/registry-2.1.6"
-      sources."@node-red/runtime-2.1.6"
-      sources."@node-red/util-2.1.6"
-      sources."@sindresorhus/is-4.3.0"
+      sources."@node-red/registry-2.2.2"
+      sources."@node-red/runtime-2.2.2"
+      sources."@node-red/util-2.2.2"
+      sources."@sindresorhus/is-4.4.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-8.7.0"
       sources."acorn-walk-8.2.0"
       (sources."agent-base-6.0.2" // {
@@ -109313,7 +109713,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."ajv-8.8.2"
+      sources."ajv-8.10.0"
       sources."ansi-colors-4.1.1"
       sources."ansi-regex-5.0.1"
       sources."append-field-1.0.0"
@@ -109329,7 +109729,7 @@ in
       sources."async-0.1.22"
       sources."async-mutex-0.3.2"
       sources."asynckit-0.4.0"
-      sources."axios-0.22.0"
+      sources."axios-0.26.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       (sources."basic-auth-2.0.1" // {
@@ -109425,7 +109825,7 @@ in
       })
       sources."fast-deep-equal-3.1.3"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."form-data-4.0.0"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
@@ -109461,7 +109861,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."i18next-21.6.6"
+      sources."i18next-21.6.11"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."inflight-1.0.6"
@@ -109475,13 +109875,13 @@ in
       sources."json-buffer-3.0.1"
       sources."json-schema-traverse-1.0.0"
       sources."json-stringify-safe-5.0.1"
-      sources."jsonata-1.8.5"
+      sources."jsonata-1.8.6"
       (sources."jsonfile-6.1.0" // {
         dependencies = [
           sources."universalify-2.0.0"
         ];
       })
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."leven-2.1.0"
       sources."lodash.clonedeep-4.5.0"
       sources."lowercase-keys-2.0.0"
@@ -109492,7 +109892,7 @@ in
         ];
       })
       sources."media-typer-0.3.0"
-      (sources."memorystore-1.6.6" // {
+      (sources."memorystore-1.6.7" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -109500,11 +109900,11 @@ in
       })
       sources."merge-descriptors-1.0.1"
       sources."methods-1.1.2"
-      sources."mime-2.5.2"
+      sources."mime-3.0.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-3.1.6" // {
         dependencies = [
@@ -109519,7 +109919,7 @@ in
       sources."mkdirp-0.5.5"
       sources."moment-2.29.1"
       sources."moment-timezone-0.5.34"
-      (sources."mqtt-4.3.4" // {
+      (sources."mqtt-4.3.5" // {
         dependencies = [
           sources."concat-stream-2.0.0"
           sources."debug-4.3.3"
@@ -109527,7 +109927,6 @@ in
           sources."ms-2.1.2"
           sources."readable-stream-3.6.0"
           sources."string_decoder-1.3.0"
-          sources."ws-7.5.6"
           sources."yallist-4.0.0"
         ];
       })
@@ -109538,13 +109937,13 @@ in
         ];
       })
       sources."ms-2.0.0"
-      sources."multer-1.4.3"
+      sources."multer-1.4.4"
       sources."mustache-4.2.0"
       sources."mute-stream-0.0.8"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-addon-api-3.2.1"
       sources."node-fetch-2.6.7"
-      sources."node-red-admin-2.2.1"
+      sources."node-red-admin-2.2.3"
       sources."nopt-5.0.0"
       sources."normalize-url-6.1.0"
       sources."npmlog-5.0.1"
@@ -109610,7 +110009,7 @@ in
       sources."serve-static-1.14.2"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.2.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."split2-3.2.2" // {
         dependencies = [
           sources."readable-stream-3.6.0"
@@ -109636,7 +110035,7 @@ in
       sources."tslib-2.3.1"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."uid-safe-2.1.5"
       sources."uid2-0.0.4"
       sources."universalify-0.1.2"
@@ -109650,7 +110049,7 @@ in
       sources."whatwg-url-5.0.0"
       sources."wide-align-1.1.5"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.1"
+      sources."ws-7.5.6"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xtend-4.0.2"
@@ -109744,7 +110143,7 @@ in
       sources."lru-cache-6.0.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
@@ -109804,7 +110203,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slasp-0.0.4"
       sources."slide-1.1.6"
       sources."spdx-correct-3.1.1"
@@ -109951,7 +110350,7 @@ in
         ];
       })
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."ms-2.1.3"
       sources."nopt-1.0.10"
@@ -109984,7 +110383,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
       sources."strip-json-comments-2.0.1"
@@ -110055,7 +110454,7 @@ in
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
       sources."@types/responselike-1.0.0"
@@ -110258,7 +110657,7 @@ in
       sources."js-tokens-4.0.0"
       sources."json-buffer-3.0.1"
       sources."json-parse-even-better-errors-2.3.1"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."kind-of-6.0.3"
       sources."latest-version-5.1.0"
       sources."lines-and-columns-1.2.4"
@@ -110331,7 +110730,7 @@ in
       sources."mimic-fn-1.2.0"
       sources."mimic-response-2.1.0"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."mute-stream-0.0.8"
@@ -110365,7 +110764,7 @@ in
       sources."os-tmpdir-1.0.2"
       (sources."ow-0.21.0" // {
         dependencies = [
-          sources."@sindresorhus/is-4.3.0"
+          sources."@sindresorhus/is-4.4.0"
           sources."type-fest-0.20.2"
         ];
       })
@@ -110480,7 +110879,7 @@ in
       })
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."slice-ansi-0.0.4"
       sources."spdx-correct-3.1.1"
@@ -110549,10 +110948,10 @@ in
   npm = nodeEnv.buildNodePackage {
     name = "npm";
     packageName = "npm";
-    version = "8.3.2";
+    version = "8.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm/-/npm-8.3.2.tgz";
-      sha512 = "xZAC9GpWNOyiS1TtBqBy0HJpjIVI8zsVXEOEwcmgqYFtqOy7sXUL0ByOrkhfcGmf+akSXz3uOxLYB8aLlYivQQ==";
+      url = "https://registry.npmjs.org/npm/-/npm-8.5.1.tgz";
+      sha512 = "zHrOHAatEPJ59o2JIPlhgc9LX9mb8xFrqu4kiiul4w1IGMTtKn2lqRiGIRKU0or69NSLXNmqbCP9bNJIr/wB6Q==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -110567,18 +110966,22 @@ in
   npm-check-updates = nodeEnv.buildNodePackage {
     name = "npm-check-updates";
     packageName = "npm-check-updates";
-    version = "12.2.1";
+    version = "12.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.2.1.tgz";
-      sha512 = "fqfH2USwTLgho8HaC79i5Bl+RH3zV15AbdtJQTCaOAp9L3D2W8k+jsfuwee2vSTUrt6IUTXPbzwUIYo4/TQdYA==";
+      url = "https://registry.npmjs.org/npm-check-updates/-/npm-check-updates-12.4.0.tgz";
+      sha512 = "X14H74M8SVFkStmP1NDOMh0OjLB3mU2dwUeM71zyITJHkm08MASwwTcydW6YuGcNW1RUlVq1cQY2yWijv4zKUQ==";
     };
     dependencies = [
-      sources."@gar/promisify-1.1.2"
+      sources."@gar/promisify-1.1.3"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@npmcli/fs-1.1.0"
-      sources."@npmcli/git-2.1.0"
+      sources."@npmcli/fs-1.1.1"
+      (sources."@npmcli/git-3.0.0" // {
+        dependencies = [
+          sources."lru-cache-7.3.1"
+        ];
+      })
       sources."@npmcli/installed-package-contents-1.0.7"
       sources."@npmcli/move-file-1.1.2"
       sources."@npmcli/node-gyp-1.0.3"
@@ -110595,12 +110998,12 @@ in
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-2.0.0"
+      sources."are-we-there-yet-3.0.0"
       sources."argparse-2.0.1"
       sources."array-union-2.1.0"
       sources."balanced-match-1.0.2"
       sources."boxen-5.1.2"
-      sources."brace-expansion-1.1.11"
+      sources."brace-expansion-2.0.1"
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
       sources."builtins-1.0.3"
@@ -110624,7 +111027,7 @@ in
       sources."color-name-1.1.4"
       sources."color-support-1.1.3"
       sources."colors-1.0.3"
-      sources."commander-8.3.0"
+      sources."commander-9.0.0"
       sources."concat-map-0.0.1"
       sources."configstore-5.0.1"
       sources."console-control-strings-1.1.0"
@@ -110653,10 +111056,16 @@ in
       sources."fp-and-or-0.1.3"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
-      sources."gauge-4.0.0"
+      sources."function-bind-1.1.1"
+      sources."gauge-4.0.1"
       sources."get-stdin-8.0.0"
       sources."get-stream-4.1.0"
-      sources."glob-7.2.0"
+      (sources."glob-7.2.0" // {
+        dependencies = [
+          sources."brace-expansion-1.1.11"
+          sources."minimatch-3.1.2"
+        ];
+      })
       sources."glob-parent-5.1.2"
       (sources."global-dirs-3.0.0" // {
         dependencies = [
@@ -110666,6 +111075,7 @@ in
       sources."globby-11.1.0"
       sources."got-9.6.0"
       sources."graceful-fs-4.2.9"
+      sources."has-1.0.3"
       sources."has-flag-4.0.0"
       sources."has-unicode-2.0.1"
       sources."has-yarn-2.1.0"
@@ -110676,7 +111086,12 @@ in
       sources."humanize-ms-1.2.1"
       sources."iconv-lite-0.6.3"
       sources."ignore-5.2.0"
-      sources."ignore-walk-4.0.1"
+      (sources."ignore-walk-4.0.1" // {
+        dependencies = [
+          sources."brace-expansion-1.1.11"
+          sources."minimatch-3.1.2"
+        ];
+      })
       sources."import-lazy-2.1.0"
       sources."imurmurhash-0.1.4"
       sources."indent-string-4.0.0"
@@ -110686,6 +111101,7 @@ in
       sources."ini-1.3.8"
       sources."ip-1.1.5"
       sources."is-ci-2.0.0"
+      sources."is-core-module-2.8.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -110731,7 +111147,7 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-5.0.0"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -110746,15 +111162,23 @@ in
       sources."negotiator-0.6.3"
       sources."node-gyp-8.4.1"
       sources."nopt-5.0.0"
+      sources."normalize-package-data-3.0.3"
       sources."normalize-url-4.5.1"
       sources."npm-bundled-1.1.2"
       sources."npm-install-checks-4.0.0"
       sources."npm-normalize-package-bin-1.0.1"
-      sources."npm-package-arg-8.1.5"
+      sources."npm-package-arg-9.0.0"
       sources."npm-packlist-3.0.0"
-      sources."npm-pick-manifest-6.1.1"
-      sources."npm-registry-fetch-11.0.0"
-      sources."npmlog-6.0.0"
+      sources."npm-pick-manifest-7.0.0"
+      (sources."npm-registry-fetch-13.0.0" // {
+        dependencies = [
+          sources."@tootallnate/once-2.0.0"
+          sources."http-proxy-agent-5.0.0"
+          sources."lru-cache-7.3.1"
+          sources."make-fetch-happen-10.0.3"
+        ];
+      })
+      sources."npmlog-6.0.1"
       sources."once-1.4.0"
       sources."p-cancelable-1.1.0"
       sources."p-limit-3.1.0"
@@ -110766,13 +111190,14 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."pacote-12.0.2"
+      sources."pacote-13.0.2"
       sources."parse-github-url-1.0.2"
       sources."path-exists-4.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-type-4.0.0"
       sources."picomatch-2.3.1"
       sources."prepend-http-2.0.0"
+      sources."proc-log-2.0.0"
       sources."progress-2.0.3"
       sources."promise-inflight-1.0.1"
       sources."promise-retry-2.0.1"
@@ -110782,6 +111207,7 @@ in
       sources."queue-microtask-1.2.3"
       sources."rc-1.2.8"
       sources."rc-config-loader-4.0.0"
+      sources."read-package-json-4.1.1"
       sources."read-package-json-fast-2.0.3"
       sources."readable-stream-3.6.0"
       sources."registry-auth-token-4.2.1"
@@ -110803,15 +111229,19 @@ in
       })
       sources."semver-utils-1.1.4"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sisteransi-1.0.5"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-6.1.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."spawn-please-1.0.0"
+      sources."spdx-correct-3.1.1"
+      sources."spdx-exceptions-2.3.0"
+      sources."spdx-expression-parse-3.0.1"
+      sources."spdx-license-ids-3.0.11"
       sources."ssri-8.0.1"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
@@ -110829,6 +111259,7 @@ in
       sources."update-notifier-5.1.0"
       sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
+      sources."validate-npm-package-license-3.0.4"
       sources."validate-npm-package-name-3.0.0"
       sources."which-2.0.2"
       sources."wide-align-1.1.5"
@@ -110838,6 +111269,7 @@ in
       sources."write-file-atomic-3.0.3"
       sources."xdg-basedir-4.0.0"
       sources."yallist-4.0.0"
+      sources."yaml-1.10.2"
       sources."yocto-queue-0.1.0"
     ];
     buildInputs = globalBuildInputs;
@@ -110882,7 +111314,7 @@ in
       sources."ajv-6.12.6"
       sources."ansi-regex-5.0.1"
       sources."aproba-2.0.0"
-      sources."are-we-there-yet-2.0.0"
+      sources."are-we-there-yet-3.0.0"
       sources."argparse-0.1.15"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
@@ -110933,7 +111365,7 @@ in
           sources."mkdirp-0.5.5"
         ];
       })
-      sources."gauge-4.0.0"
+      sources."gauge-4.0.1"
       sources."getpass-0.1.7"
       sources."glob-7.2.0"
       sources."graceful-fs-2.0.3"
@@ -110955,7 +111387,7 @@ in
       sources."jsprim-1.4.2"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.3.5"
       sources."natives-1.1.6"
@@ -110973,7 +111405,7 @@ in
           sources."semver-2.3.2"
         ];
       })
-      sources."npmlog-6.0.0"
+      sources."npmlog-6.0.1"
       sources."oauth-sign-0.9.0"
       sources."once-1.4.0"
       sources."osenv-0.0.3"
@@ -110991,7 +111423,7 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-4.3.6"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slide-1.1.6"
       sources."sshpk-1.17.0"
       sources."string-width-4.2.3"
@@ -111127,7 +111559,7 @@ in
       sources."inherits-2.0.4"
       sources."lodash-4.17.5"
       sources."lokijs-1.5.3"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."pegjs-0.10.0"
@@ -111158,16 +111590,16 @@ in
       sha512 = "hpku8mW67U6PXQIenW6NBbphBOMb8XzW6B9r093DUhYj5GN2FUB/CXCiz5hKoPYUsusZ35BpProH8AUF9bh5IQ==";
     };
     dependencies = [
+      sources."@ampproject/remapping-2.1.2"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      (sources."@babel/core-7.16.12" // {
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."json5-2.2.0"
           sources."semver-6.3.0"
-          sources."source-map-0.5.7"
         ];
       })
-      (sources."@babel/generator-7.16.8" // {
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
@@ -111179,8 +111611,8 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.16.10"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.7"
+      sources."@babel/helper-create-class-features-plugin-7.17.1"
+      sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -111204,9 +111636,9 @@ in
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -111218,7 +111650,7 @@ in
       sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
       sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
       sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
       sources."@babel/plugin-proposal-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-private-methods-7.16.11"
@@ -111246,7 +111678,7 @@ in
       sources."@babel/plugin-transform-block-scoping-7.16.7"
       sources."@babel/plugin-transform-classes-7.16.7"
       sources."@babel/plugin-transform-computed-properties-7.16.7"
-      sources."@babel/plugin-transform-destructuring-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
       sources."@babel/plugin-transform-dotall-regex-7.16.7"
       sources."@babel/plugin-transform-duplicate-keys-7.16.7"
       sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
@@ -111264,7 +111696,7 @@ in
       sources."@babel/plugin-transform-object-super-7.16.7"
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-property-literals-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.16.7"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/plugin-transform-regenerator-7.16.7"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
       sources."@babel/plugin-transform-shorthand-properties-7.16.7"
@@ -111280,11 +111712,14 @@ in
         ];
       })
       sources."@babel/preset-modules-0.1.5"
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/runtime-7.17.2"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
       sources."@iarna/toml-2.2.5"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@mrmlnc/readdir-enhanced-2.2.1"
       sources."@nodelib/fs.stat-1.1.3"
       sources."@parcel/fs-1.11.0"
@@ -111343,7 +111778,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.5.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
       sources."babel-plugin-polyfill-regenerator-0.3.1"
       (sources."babel-runtime-6.26.0" // {
         dependencies = [
@@ -111388,7 +111823,7 @@ in
           sources."pako-1.0.11"
         ];
       })
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       (sources."buffer-4.9.2" // {
         dependencies = [
           sources."isarray-1.0.0"
@@ -111405,7 +111840,7 @@ in
       sources."caller-path-2.0.0"
       sources."callsites-2.0.0"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."caseless-0.12.0"
       sources."chalk-2.4.2"
       sources."chokidar-2.1.8"
@@ -111431,7 +111866,7 @@ in
       sources."convert-source-map-1.8.0"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.20.3" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -111542,7 +111977,7 @@ in
       sources."duplexer2-0.1.4"
       sources."ecc-jsbn-0.1.2"
       sources."ee-first-1.1.1"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -111783,7 +112218,7 @@ in
       sources."mimic-fn-1.2.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -111809,7 +112244,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-path-3.0.0"
       sources."normalize-url-3.3.0"
       sources."nth-check-1.0.2"
@@ -111956,7 +112391,7 @@ in
       })
       sources."readdirp-2.2.1"
       sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-9.0.0"
+      sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       (sources."regex-not-1.0.2" // {
@@ -111965,9 +112400,9 @@ in
           sources."is-extendable-1.0.1"
         ];
       })
-      sources."regexpu-core-4.8.0"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.7.0" // {
+      sources."regexpu-core-5.0.1"
+      sources."regjsgen-0.6.0"
+      (sources."regjsparser-0.8.4" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -112018,7 +112453,7 @@ in
           sources."object-inspect-1.12.0"
         ];
       })
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."simple-swizzle-0.2.2" // {
         dependencies = [
           sources."is-arrayish-0.3.2"
@@ -112188,9 +112623,9 @@ in
       sha512 = "t29ujC7jgKzuA25yXritkuF/rFGduN08c2CLOeSAjlKAzc/BUamZgvPWFqU/UVSRubnMYawJIQDX3m/RqKz7Xw==";
     };
     dependencies = [
-      (sources."accepts-1.3.7" // {
+      (sources."accepts-1.3.8" // {
         dependencies = [
-          sources."negotiator-0.6.2"
+          sources."negotiator-0.6.3"
         ];
       })
       sources."ajv-6.12.6"
@@ -112212,9 +112647,9 @@ in
       sources."bintrees-1.0.1"
       sources."bl-1.2.3"
       sources."bluebird-3.7.2"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
           sources."content-type-1.0.4"
         ];
       })
@@ -112242,7 +112677,7 @@ in
         ];
       })
       sources."content-type-git+https://github.com/wikimedia/content-type.git#master"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-js-2.6.12"
       sources."core-util-is-1.0.2"
@@ -112266,7 +112701,7 @@ in
       sources."escape-html-1.0.3"
       sources."esprima-4.0.1"
       sources."etag-1.8.1"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."content-type-1.0.4"
           sources."safe-buffer-5.2.1"
@@ -112336,7 +112771,7 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."moment-2.29.1"
@@ -112370,11 +112805,11 @@ in
       sources."prr-1.0.1"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.2" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
         ];
       })
       sources."readable-stream-2.3.7"
@@ -112429,7 +112864,7 @@ in
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
       sources."type-is-1.6.18"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."unix-dgram-2.0.4"
       sources."unpipe-1.0.0"
       sources."uri-js-4.4.1"
@@ -112507,7 +112942,7 @@ in
       sources."jsonfile-4.0.0"
       sources."klaw-sync-6.0.0"
       sources."micromatch-4.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."nice-try-1.0.5"
       sources."once-1.4.0"
@@ -112623,6 +113058,7 @@ in
       sources."end-of-stream-1.4.4"
       sources."error-ex-1.3.2"
       sources."escape-string-regexp-1.0.5"
+      sources."events-3.3.0"
       sources."external-editor-2.2.0"
       sources."fifo-0.1.4"
       sources."figures-2.0.0"
@@ -112697,7 +113133,7 @@ in
       sources."mime-2.6.0"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.3.5"
       sources."mkdirp-classic-0.5.3"
@@ -112756,7 +113192,7 @@ in
       sources."queue-microtask-1.2.3"
       sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
-      sources."random-access-storage-1.4.2"
+      sources."random-access-storage-1.4.3"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
@@ -112781,9 +113217,9 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-5.7.1"
       sources."server-destroy-1.0.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-2.8.1"
+      sources."simple-get-2.8.2"
       sources."simple-peer-6.4.4"
       sources."simple-sha1-2.1.2"
       (sources."simple-websocket-4.3.1" // {
@@ -112862,7 +113298,7 @@ in
       sha512 = "NGLR8G6SP7WriloFrS5JDU8Rx1Ia1OlbJOpqGeAzMKxhrajnAdPza8VeXozMUk0oBCS8hr+cuLQ7stprgzISXg==";
     };
     dependencies = [
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."addr-to-ip-port-1.5.4"
       sources."after-0.8.2"
       sources."ajv-6.12.6"
@@ -112901,7 +113337,7 @@ in
       sources."blob-0.0.5"
       sources."bn.js-4.12.0"
       sources."bncode-0.5.3"
-      sources."body-parser-1.19.1"
+      sources."body-parser-1.19.2"
       sources."brace-expansion-1.1.11"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
@@ -112911,7 +113347,7 @@ in
       sources."buffer-equals-1.0.4"
       sources."buffer-fill-1.0.0"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."caseless-0.12.0"
       sources."chrome-dgram-3.0.6"
       sources."chrome-dns-1.0.1"
@@ -112941,7 +113377,7 @@ in
         ];
       })
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."crc-3.8.0"
@@ -112971,7 +113407,8 @@ in
       sources."engine.io-parser-2.2.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
-      (sources."express-4.17.2" // {
+      sources."events-3.3.0"
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."safe-buffer-5.2.1"
         ];
@@ -113055,7 +113492,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mkdirp-classic-0.5.3"
@@ -113070,7 +113507,7 @@ in
           sources."safe-buffer-5.2.1"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."oauth-sign-0.9.0"
       sources."on-finished-2.3.0"
@@ -113103,16 +113540,16 @@ in
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."queue-microtask-1.2.3"
       sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
-      sources."random-access-storage-1.4.2"
+      sources."random-access-storage-1.4.3"
       sources."random-bytes-1.0.0"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."re-emitter-1.1.4"
       sources."read-torrent-1.3.1"
       sources."readable-stream-3.6.0"
@@ -113135,7 +113572,7 @@ in
       sources."serve-static-1.14.2"
       sources."setprototypeof-1.2.0"
       sources."simple-concat-1.0.1"
-      sources."simple-get-2.8.1"
+      sources."simple-get-2.8.2"
       (sources."simple-peer-6.4.4" // {
         dependencies = [
           sources."readable-stream-2.3.7"
@@ -113366,9 +113803,9 @@ in
       sources."safe-buffer-5.1.2"
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      sources."simple-get-3.1.1"
       sources."slash-3.0.0"
       sources."source-map-0.6.1"
       sources."stream-meter-1.0.4"
@@ -113416,10 +113853,10 @@ in
   pm2 = nodeEnv.buildNodePackage {
     name = "pm2";
     packageName = "pm2";
-    version = "5.1.2";
+    version = "5.2.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pm2/-/pm2-5.1.2.tgz";
-      sha512 = "2nJQeCWjkN0WnTkWctaoZpqrJTiUN/Icw76IMVHHzPhr/p7yQYlEQgHzlL5IFWxO2N1HdBNXNdZft2p4HUmUcA==";
+      url = "https://registry.npmjs.org/pm2/-/pm2-5.2.0.tgz";
+      sha512 = "PO5hMVhQ85cTszFM++6v07Me9hPJMkFbHjkFigtMMk+La8ty2wCi2dlBTeZYJDhPUSjK8Ccltpq2buNRcyMOTw==";
     };
     dependencies = [
       (sources."@opencensus/core-0.0.9" // {
@@ -113454,6 +113891,8 @@ in
       })
       sources."@pm2/pm2-version-check-1.0.4"
       sources."@tootallnate/once-1.1.2"
+      sources."acorn-8.7.0"
+      sources."acorn-walk-8.2.0"
       sources."agent-base-6.0.2"
       sources."amp-0.3.1"
       sources."amp-message-0.1.2"
@@ -113480,7 +113919,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-from-1.1.2"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."chalk-3.0.0"
       sources."charm-0.1.2"
       sources."chokidar-3.5.3"
@@ -113491,13 +113930,13 @@ in
       sources."concat-map-0.0.1"
       sources."continuation-local-storage-3.2.1"
       sources."core-util-is-1.0.3"
-      sources."cron-1.8.2"
+      sources."croner-4.1.97"
       sources."culvert-0.1.2"
       sources."data-uri-to-buffer-3.0.1"
       sources."dayjs-1.8.36"
       sources."debug-4.3.3"
       sources."deep-is-0.1.4"
-      sources."degenerator-3.0.1"
+      sources."degenerator-3.0.2"
       sources."depd-1.1.2"
       sources."emitter-listener-1.1.2"
       sources."enquirer-2.3.6"
@@ -113512,7 +113951,7 @@ in
       sources."fclone-1.0.11"
       sources."file-uri-to-path-2.0.0"
       sources."fill-range-7.0.1"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."fs-extra-8.1.0"
       sources."fs.realpath-1.0.0"
       sources."fsevents-2.3.2"
@@ -113548,11 +113987,9 @@ in
       sources."lodash-4.17.21"
       sources."log-driver-1.2.7"
       sources."lru-cache-5.1.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."mkdirp-1.0.4"
       sources."module-details-from-path-1.0.3"
-      sources."moment-2.29.1"
-      sources."moment-timezone-0.5.34"
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
       (sources."needle-2.4.0" // {
@@ -113575,17 +114012,21 @@ in
       sources."path-is-absolute-1.0.1"
       sources."path-parse-1.0.7"
       sources."picomatch-2.3.1"
-      sources."pidusage-2.0.21"
+      sources."pidusage-3.0.0"
       sources."pm2-axon-4.0.1"
       sources."pm2-axon-rpc-0.7.1"
       sources."pm2-deploy-1.0.2"
       sources."pm2-multimeter-0.1.2"
-      sources."pm2-sysmonit-1.2.8"
+      (sources."pm2-sysmonit-1.2.8" // {
+        dependencies = [
+          sources."pidusage-2.0.21"
+        ];
+      })
       sources."prelude-ls-1.1.2"
       sources."promptly-2.2.0"
       sources."proxy-agent-5.0.0"
       sources."proxy-from-env-1.1.0"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       sources."readdirp-3.6.0"
@@ -113603,9 +114044,9 @@ in
       })
       sources."setprototypeof-1.2.0"
       sources."shimmer-1.2.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-5.0.1"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.19"
@@ -113614,7 +114055,7 @@ in
       sources."string_decoder-0.10.31"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
-      sources."systeminformation-5.10.7"
+      sources."systeminformation-5.11.4"
       sources."to-regex-range-5.0.1"
       sources."toidentifier-1.0.1"
       sources."tslib-2.3.1"
@@ -113629,7 +114070,7 @@ in
           sources."async-2.6.3"
         ];
       })
-      sources."vm2-3.9.5"
+      sources."vm2-3.9.8"
       sources."word-wrap-1.2.3"
       sources."wrappy-1.0.2"
       sources."ws-7.4.6"
@@ -113650,10 +114091,10 @@ in
   pnpm = nodeEnv.buildNodePackage {
     name = "pnpm";
     packageName = "pnpm";
-    version = "6.27.1";
+    version = "6.31.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.27.1.tgz";
-      sha512 = "aW+oDXiMk9mzInmIaRv9v9+FSNkXBs60rVUO6QBpalPja0eO3J5ePSyBxAbLsuhGGbEOpwRq0aNywFq8yIi9HQ==";
+      url = "https://registry.npmjs.org/pnpm/-/pnpm-6.31.0.tgz";
+      sha512 = "YUCyLI2J2wQsHWgcRYR8wUrTWsE0E8GX46XKtdXcUiE0GJJYi5saRy2Y8BMfLtlDHshHLs2U/KO1e5gsftJTFA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -113696,13 +114137,13 @@ in
   postcss = nodeEnv.buildNodePackage {
     name = "postcss";
     packageName = "postcss";
-    version = "8.4.5";
+    version = "8.4.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/postcss/-/postcss-8.4.5.tgz";
-      sha512 = "jBDboWM8qpaqwkMwItqTQTiFikhs/67OYVvblFFTM7MrZjt6yMKd6r2kgXizEbTTljacm4NldIlZnhbjr84QYg==";
+      url = "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz";
+      sha512 = "OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==";
     };
     dependencies = [
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."picocolors-1.0.0"
       sources."source-map-js-1.0.2"
     ];
@@ -113767,7 +114208,7 @@ in
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
-      sources."postcss-load-config-3.1.1"
+      sources."postcss-load-config-3.1.3"
       sources."postcss-reporter-7.0.5"
       sources."pretty-hrtime-1.0.3"
       sources."queue-microtask-1.2.3"
@@ -113798,6 +114239,90 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
+  prebuild-install = nodeEnv.buildNodePackage {
+    name = "prebuild-install";
+    packageName = "prebuild-install";
+    version = "7.0.1";
+    src = fetchurl {
+      url = "https://registry.npmjs.org/prebuild-install/-/prebuild-install-7.0.1.tgz";
+      sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
+    };
+    dependencies = [
+      sources."ansi-regex-2.1.1"
+      sources."aproba-1.2.0"
+      sources."are-we-there-yet-1.1.7"
+      sources."base64-js-1.5.1"
+      (sources."bl-4.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."buffer-5.7.1"
+      sources."chownr-1.1.4"
+      sources."code-point-at-1.1.0"
+      sources."console-control-strings-1.1.0"
+      sources."core-util-is-1.0.3"
+      sources."decompress-response-6.0.0"
+      sources."deep-extend-0.6.0"
+      sources."delegates-1.0.0"
+      sources."detect-libc-2.0.1"
+      sources."end-of-stream-1.4.4"
+      sources."expand-template-2.0.3"
+      sources."fs-constants-1.0.0"
+      sources."gauge-2.7.4"
+      sources."github-from-package-0.0.0"
+      sources."has-unicode-2.0.1"
+      sources."ieee754-1.2.1"
+      sources."inherits-2.0.4"
+      sources."ini-1.3.8"
+      sources."is-fullwidth-code-point-1.0.0"
+      sources."isarray-1.0.0"
+      sources."lru-cache-6.0.0"
+      sources."mimic-response-3.1.0"
+      sources."minimist-1.2.5"
+      sources."mkdirp-classic-0.5.3"
+      sources."napi-build-utils-1.0.2"
+      sources."node-abi-3.8.0"
+      sources."npmlog-4.1.2"
+      sources."number-is-nan-1.0.1"
+      sources."object-assign-4.1.1"
+      sources."once-1.4.0"
+      sources."process-nextick-args-2.0.1"
+      sources."pump-3.0.0"
+      sources."rc-1.2.8"
+      sources."readable-stream-2.3.7"
+      sources."safe-buffer-5.1.2"
+      sources."semver-7.3.5"
+      sources."set-blocking-2.0.0"
+      sources."signal-exit-3.0.7"
+      sources."simple-concat-1.0.1"
+      sources."simple-get-4.0.1"
+      sources."string-width-1.0.2"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-3.0.1"
+      sources."strip-json-comments-2.0.1"
+      sources."tar-fs-2.1.1"
+      (sources."tar-stream-2.2.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
+      sources."tunnel-agent-0.6.0"
+      sources."util-deprecate-1.0.2"
+      sources."wide-align-1.1.5"
+      sources."wrappy-1.0.2"
+      sources."yallist-4.0.0"
+    ];
+    buildInputs = globalBuildInputs;
+    meta = {
+      description = "A command line tool to easily install prebuilt binaries for multiple version of node/iojs on a specific platform";
+      homepage = "https://github.com/prebuild/prebuild-install";
+      license = "MIT";
+    };
+    production = true;
+    bypassCache = true;
+    reconstructLock = true;
+  };
   prettier = nodeEnv.buildNodePackage {
     name = "prettier";
     packageName = "prettier";
@@ -113843,13 +114368,13 @@ in
   prisma = nodeEnv.buildNodePackage {
     name = "prisma";
     packageName = "prisma";
-    version = "3.8.1";
+    version = "3.9.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/prisma/-/prisma-3.8.1.tgz";
-      sha512 = "Q8zHwS9m70TaD7qI8u+8hTAmiTpK+IpvRYF3Rgb/OeWGQJOMgZCFFvNCiSfoLEQ95wilK7ctW3KOpc9AuYnRUA==";
+      url = "https://registry.npmjs.org/prisma/-/prisma-3.9.2.tgz";
+      sha512 = "i9eK6cexV74OgeWaH3+e6S07kvC9jEZTl6BqtBH398nlCU0tck7mE9dicY6YQd+euvMjjCtY89q4NgmaPnUsSg==";
     };
     dependencies = [
-      sources."@prisma/engines-3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f"
+      sources."@prisma/engines-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -113864,20 +114389,35 @@ in
   "@prisma/language-server" = nodeEnv.buildNodePackage {
     name = "_at_prisma_slash_language-server";
     packageName = "@prisma/language-server";
-    version = "3.8.1";
+    version = "3.9.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.8.1.tgz";
-      sha512 = "u2gbnek4HU4p/LzCX1FRsrHHGBWh+5T/PyNUwC9if2wQmdTnurqBziPNY7jtJenWw6nEWG/38VlyNfnzGjXt0Q==";
+      url = "https://registry.npmjs.org/@prisma/language-server/-/language-server-3.9.2.tgz";
+      sha512 = "lAe5mPD18PPpVlVmHQqj2ky11N9n6nGI32vuu2RbLHK4mRgkA/sLn8kBg81zs3WIdBLzCX+dYSpM8UFviZrlgA==";
     };
     dependencies = [
-      sources."@prisma/prisma-fmt-wasm-3.8.0-43.34df67547cf5598f5a6cd3eb45f14ee70c3fb86f"
+      sources."@prisma/prisma-fmt-wasm-3.9.0-58.bcc2ff906db47790ee902e7bbc76d7ffb1893009"
       sources."@types/js-levenshtein-1.1.1"
+      sources."anymatch-3.1.2"
+      sources."binary-extensions-2.2.0"
+      sources."braces-3.0.2"
+      sources."chokidar-3.5.3"
+      sources."fill-range-7.0.1"
+      sources."fsevents-2.3.2"
+      sources."glob-parent-5.1.2"
+      sources."is-binary-path-2.1.0"
+      sources."is-extglob-2.1.1"
+      sources."is-glob-4.0.3"
+      sources."is-number-7.0.0"
       sources."js-levenshtein-1.1.6"
       sources."klona-2.0.5"
+      sources."normalize-path-3.0.0"
+      sources."picomatch-2.3.1"
+      sources."readdirp-3.6.0"
+      sources."to-regex-range-5.0.1"
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
     ];
     buildInputs = globalBuildInputs;
@@ -113915,7 +114455,7 @@ in
       sources."isexe-2.0.0"
       sources."keypress-0.2.1"
       sources."lodash-4.17.21"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.0.8"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."which-2.0.2"
@@ -114082,7 +114622,7 @@ in
       sources."mime-1.6.0"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.0.8"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mkdirp-classic-0.5.3"
@@ -114204,20 +114744,20 @@ in
   purescript-language-server = nodeEnv.buildNodePackage {
     name = "purescript-language-server";
     packageName = "purescript-language-server";
-    version = "0.16.3";
+    version = "0.16.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.16.3.tgz";
-      sha512 = "wD3xxZUwPqZTG1OZNEq6kr/yKpKjCTY4JDYLlj5wyippho3cvABhf6INxlzA8h2+ZM3G4+pDmdjQOmp5UWw6rA==";
+      url = "https://registry.npmjs.org/purescript-language-server/-/purescript-language-server-0.16.5.tgz";
+      sha512 = "M9Ktn2/hVjWMN9vK+q8i8i4r0gnnhT0u+GpKPsrdjPjJFcTqKaH49TQNwf07eD8Sd+xlcuU3PSu5CRgXwH3gag==";
     };
     dependencies = [
       sources."isexe-2.0.0"
       sources."shell-quote-1.7.3"
       sources."uuid-3.4.0"
-      sources."vscode-jsonrpc-8.0.0-next.5"
-      sources."vscode-languageserver-8.0.0-next.6"
-      sources."vscode-languageserver-protocol-3.17.0-next.12"
-      sources."vscode-languageserver-textdocument-1.0.3"
-      sources."vscode-languageserver-types-3.17.0-next.6"
+      sources."vscode-jsonrpc-8.0.0-next.6"
+      sources."vscode-languageserver-8.0.0-next.8"
+      sources."vscode-languageserver-protocol-3.17.0-next.14"
+      sources."vscode-languageserver-textdocument-1.0.4"
+      sources."vscode-languageserver-types-3.17.0-next.7"
       sources."vscode-uri-2.1.2"
       sources."which-2.0.2"
     ];
@@ -114300,7 +114840,7 @@ in
       sources."define-lazy-prop-2.0.0"
       sources."duplexer3-0.1.4"
       sources."end-of-stream-1.4.4"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."fs-extra-10.0.0"
       sources."function-bind-1.1.1"
       sources."get-intrinsic-1.1.1"
@@ -114353,7 +114893,7 @@ in
       sources."side-channel-1.0.4"
       sources."sisteransi-1.0.5"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."socks-proxy-agent-5.0.1"
       sources."strip-json-comments-2.0.1"
       sources."to-readable-stream-1.0.0"
@@ -114375,10 +114915,10 @@ in
   pyright = nodeEnv.buildNodePackage {
     name = "pyright";
     packageName = "pyright";
-    version = "1.1.214";
+    version = "1.1.223";
     src = fetchurl {
-      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.214.tgz";
-      sha512 = "miNDlJV7pfaZuzRD6NKbUebcC2Ko9P1IjbqNd0wcnFepaVxdhHgxl544GkM59tjYlS/YgwuiiCAzW/icIFI/9g==";
+      url = "https://registry.npmjs.org/pyright/-/pyright-1.1.223.tgz";
+      sha512 = "EGLKMQRmSkKNe/eDy6MEkqq5lF91C5MCMYxvmCgKGUjZHIa+HByJIiRY2cOTm7g2CAv0eE7Ift701VxLM5Q0iQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -114487,7 +115027,7 @@ in
         ];
       })
       sources."mimic-fn-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."moment-2.29.1"
       sources."nice-try-1.0.5"
@@ -114533,7 +115073,7 @@ in
       sources."shallow-copy-0.0.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
       (sources."static-eval-2.1.0" // {
         dependencies = [
@@ -114547,7 +115087,7 @@ in
           sources."readable-stream-2.3.7"
         ];
       })
-      sources."stream-chain-2.2.4"
+      sources."stream-chain-2.2.5"
       sources."stream-json-1.1.3"
       sources."string-to-stream-1.1.1"
       (sources."string-width-2.1.1" // {
@@ -114583,7 +115123,7 @@ in
           sources."pako-0.2.9"
         ];
       })
-      sources."urijs-1.19.7"
+      sources."urijs-1.19.8"
       sources."util-deprecate-1.0.2"
       sources."uuid-3.4.0"
       sources."vlq-0.2.3"
@@ -114680,7 +115220,7 @@ in
       sources."is-weakset-2.0.2"
       sources."isarray-2.0.5"
       sources."isstream-0.1.2"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mute-stream-0.0.8"
@@ -114735,15 +115275,16 @@ in
       sha512 = "JQACM+3GgF1vkUH6E6w1k0Qut6IbcfXjU37shGUWM9tIs3F9e/33saXK4G/uSl1kc8qjI+RekAQs/qyjMlUKlg==";
     };
     dependencies = [
-      sources."@babel/cli-7.16.8"
+      sources."@ampproject/remapping-2.1.2"
+      sources."@babel/cli-7.17.3"
       sources."@babel/code-frame-7.16.7"
-      sources."@babel/compat-data-7.16.8"
-      (sources."@babel/core-7.16.12" // {
+      sources."@babel/compat-data-7.17.0"
+      (sources."@babel/core-7.17.5" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/generator-7.16.8"
+      sources."@babel/generator-7.17.3"
       sources."@babel/helper-annotate-as-pure-7.16.7"
       sources."@babel/helper-builder-binary-assignment-operator-visitor-7.16.7"
       (sources."@babel/helper-compilation-targets-7.16.7" // {
@@ -114751,8 +115292,8 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."@babel/helper-create-class-features-plugin-7.16.10"
-      sources."@babel/helper-create-regexp-features-plugin-7.16.7"
+      sources."@babel/helper-create-class-features-plugin-7.17.1"
+      sources."@babel/helper-create-regexp-features-plugin-7.17.0"
       (sources."@babel/helper-define-polyfill-provider-0.3.1" // {
         dependencies = [
           sources."semver-6.3.0"
@@ -114776,9 +115317,9 @@ in
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/helper-validator-option-7.16.7"
       sources."@babel/helper-wrap-function-7.16.8"
-      sources."@babel/helpers-7.16.7"
+      sources."@babel/helpers-7.17.2"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
+      sources."@babel/parser-7.17.3"
       sources."@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.16.7"
       sources."@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-async-generator-functions-7.16.8"
@@ -114791,7 +115332,7 @@ in
       sources."@babel/plugin-proposal-logical-assignment-operators-7.16.7"
       sources."@babel/plugin-proposal-nullish-coalescing-operator-7.16.7"
       sources."@babel/plugin-proposal-numeric-separator-7.16.7"
-      sources."@babel/plugin-proposal-object-rest-spread-7.16.7"
+      sources."@babel/plugin-proposal-object-rest-spread-7.17.3"
       sources."@babel/plugin-proposal-optional-catch-binding-7.16.7"
       sources."@babel/plugin-proposal-optional-chaining-7.16.7"
       sources."@babel/plugin-proposal-private-methods-7.16.11"
@@ -114819,7 +115360,7 @@ in
       sources."@babel/plugin-transform-block-scoping-7.16.7"
       sources."@babel/plugin-transform-classes-7.16.7"
       sources."@babel/plugin-transform-computed-properties-7.16.7"
-      sources."@babel/plugin-transform-destructuring-7.16.7"
+      sources."@babel/plugin-transform-destructuring-7.17.3"
       sources."@babel/plugin-transform-dotall-regex-7.16.7"
       sources."@babel/plugin-transform-duplicate-keys-7.16.7"
       sources."@babel/plugin-transform-exponentiation-operator-7.16.7"
@@ -114837,12 +115378,12 @@ in
       sources."@babel/plugin-transform-parameters-7.16.7"
       sources."@babel/plugin-transform-property-literals-7.16.7"
       sources."@babel/plugin-transform-react-display-name-7.16.7"
-      sources."@babel/plugin-transform-react-jsx-7.16.7"
+      sources."@babel/plugin-transform-react-jsx-7.17.3"
       sources."@babel/plugin-transform-react-jsx-development-7.16.7"
       sources."@babel/plugin-transform-react-pure-annotations-7.16.7"
       sources."@babel/plugin-transform-regenerator-7.16.7"
       sources."@babel/plugin-transform-reserved-words-7.16.7"
-      (sources."@babel/plugin-transform-runtime-7.16.10" // {
+      (sources."@babel/plugin-transform-runtime-7.17.0" // {
         dependencies = [
           sources."semver-6.3.0"
         ];
@@ -114862,17 +115403,20 @@ in
       sources."@babel/preset-modules-0.1.5"
       sources."@babel/preset-react-7.16.7"
       sources."@babel/preset-stage-0-7.8.3"
-      sources."@babel/register-7.16.9"
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/register-7.17.0"
+      sources."@babel/runtime-7.17.2"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
+      sources."@jridgewell/resolve-uri-3.0.5"
+      sources."@jridgewell/sourcemap-codec-1.4.11"
+      sources."@jridgewell/trace-mapping-0.3.4"
       sources."@reach/router-1.3.4"
       sources."@sindresorhus/is-0.7.0"
       sources."@types/glob-7.2.0"
       sources."@types/json-schema-7.0.9"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/parse-json-4.0.0"
       sources."@types/q-1.5.5"
       sources."@webassemblyjs/ast-1.9.0"
@@ -114896,7 +115440,7 @@ in
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."@zeit/schemas-2.6.0"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-6.4.2"
       sources."acorn-walk-7.2.0"
       sources."after-0.8.2"
@@ -114970,7 +115514,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."babel-plugin-polyfill-corejs3-0.5.1"
+      sources."babel-plugin-polyfill-corejs3-0.5.2"
       sources."babel-plugin-polyfill-regenerator-0.3.1"
       sources."babel-plugin-transform-react-remove-prop-types-0.4.24"
       sources."babel-plugin-universal-import-4.0.2"
@@ -114998,9 +115542,9 @@ in
       sources."blob-0.0.5"
       sources."bluebird-3.7.2"
       sources."bn.js-5.2.0"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
           sources."debug-2.6.9"
           sources."ms-2.0.0"
         ];
@@ -115030,7 +115574,7 @@ in
         ];
       })
       sources."browserify-zlib-0.1.4"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -115064,7 +115608,7 @@ in
       sources."camel-case-3.0.0"
       sources."camelcase-5.3.1"
       sources."caniuse-api-3.0.0"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."case-sensitive-paths-webpack-plugin-2.4.0"
       sources."caw-2.0.1"
       sources."chalk-2.4.2"
@@ -115143,12 +115687,12 @@ in
       })
       sources."content-type-1.0.4"
       sources."convert-source-map-1.8.0"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."copy-concurrently-1.0.5"
       sources."copy-descriptor-0.1.1"
       sources."core-js-2.6.12"
-      (sources."core-js-compat-3.20.3" // {
+      (sources."core-js-compat-3.21.1" // {
         dependencies = [
           sources."semver-7.0.0"
         ];
@@ -115292,7 +115836,7 @@ in
       sources."duplexify-3.7.1"
       sources."ee-first-1.1.1"
       sources."ejs-2.7.4"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -115363,7 +115907,7 @@ in
           sources."ms-2.0.0"
         ];
       })
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."debug-2.6.9"
           sources."ms-2.0.0"
@@ -115426,7 +115970,7 @@ in
       sources."find-cache-dir-2.1.0"
       sources."find-up-3.0.0"
       sources."flush-write-stream-1.1.1"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."for-in-1.0.2"
       sources."forwarded-0.2.0"
       sources."fragment-cache-0.2.1"
@@ -115697,7 +116241,7 @@ in
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."mississippi-3.0.0" // {
         dependencies = [
@@ -115719,7 +116263,7 @@ in
       sources."mute-stream-0.0.7"
       sources."nan-2.15.0"
       sources."nanomatch-1.2.13"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."neo-async-2.6.2"
       sources."nice-try-1.0.5"
       sources."no-case-2.3.2"
@@ -115732,7 +116276,7 @@ in
           sources."punycode-1.4.1"
         ];
       })
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-path-3.0.0"
       sources."normalize-range-0.1.2"
       (sources."normalize-url-2.0.1" // {
@@ -115819,7 +116363,7 @@ in
       sources."pify-4.0.1"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      sources."pirates-4.0.4"
+      sources."pirates-4.0.5"
       sources."pkg-dir-3.0.0"
       (sources."portfinder-1.0.28" // {
         dependencies = [
@@ -115981,7 +116525,7 @@ in
       sources."pumpify-1.5.1"
       sources."punycode-2.1.1"
       sources."q-1.5.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."query-string-5.1.1"
       sources."querystring-0.2.0"
       sources."querystring-es3-0.2.1"
@@ -115990,9 +116534,9 @@ in
       sources."randombytes-2.1.0"
       sources."randomfill-1.0.4"
       sources."range-parser-1.2.0"
-      (sources."raw-body-2.4.2" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
         ];
       })
       sources."raw-loader-3.1.0"
@@ -116006,16 +116550,16 @@ in
       sources."readable-stream-2.3.7"
       sources."readdirp-3.6.0"
       sources."regenerate-1.4.2"
-      sources."regenerate-unicode-properties-9.0.0"
+      sources."regenerate-unicode-properties-10.0.1"
       sources."regenerator-runtime-0.13.9"
       sources."regenerator-transform-0.14.5"
       sources."regex-not-1.0.2"
       sources."regexp.prototype.flags-1.4.1"
-      sources."regexpu-core-4.8.0"
+      sources."regexpu-core-5.0.1"
       sources."registry-auth-token-3.3.2"
       sources."registry-url-3.1.0"
-      sources."regjsgen-0.5.2"
-      (sources."regjsparser-0.7.0" // {
+      sources."regjsgen-0.6.0"
+      (sources."regjsparser-0.8.4" // {
         dependencies = [
           sources."jsesc-0.5.0"
         ];
@@ -116096,6 +116640,7 @@ in
           sources."content-disposition-0.5.2"
           sources."mime-db-1.33.0"
           sources."mime-types-2.1.18"
+          sources."minimatch-3.0.4"
         ];
       })
       (sources."serve-index-1.9.1" // {
@@ -116122,7 +116667,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."shorthash-0.0.2"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."simple-swizzle-0.2.2" // {
         dependencies = [
           sources."is-arrayish-0.3.2"
@@ -116353,7 +116898,7 @@ in
         ];
       })
       sources."url-loader-2.3.0"
-      sources."url-parse-1.5.4"
+      sources."url-parse-1.5.9"
       sources."url-parse-lax-3.0.0"
       sources."url-to-options-1.0.1"
       sources."use-3.1.1"
@@ -116523,7 +117068,7 @@ in
           sources."source-map-0.1.31"
         ];
       })
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."once-1.4.0"
@@ -116554,7 +117099,7 @@ in
       sha512 = "xSnTf4ik+hAY57CKk7lWvtumDbvfDKEHrzveXbIeoaLhEDE2+7qfjgrCK0DcCLFRfOKS6rsrYEZewfOYU+YfpQ==";
     };
     dependencies = [
-      sources."@mozilla/readability-0.4.1"
+      sources."@mozilla/readability-0.4.2"
       sources."@tootallnate/once-2.0.0"
       sources."abab-2.0.5"
       sources."acorn-8.7.0"
@@ -116585,7 +117130,7 @@ in
       sources."deep-is-0.1.4"
       sources."delayed-stream-1.0.0"
       sources."domexception-4.0.0"
-      sources."dompurify-2.3.4"
+      sources."dompurify-2.3.6"
       sources."emoji-regex-8.0.0"
       sources."escalade-3.1.1"
       sources."escodegen-2.0.0"
@@ -116631,7 +117176,7 @@ in
       sources."whatwg-url-10.0.0"
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
-      sources."ws-8.4.2"
+      sources."ws-8.5.0"
       sources."xml-name-validator-4.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -116651,14 +117196,14 @@ in
   redoc-cli = nodeEnv.buildNodePackage {
     name = "redoc-cli";
     packageName = "redoc-cli";
-    version = "0.13.2";
+    version = "0.13.7";
     src = fetchurl {
-      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.2.tgz";
-      sha512 = "eRGRmAKPvm8ozCb8TxaBlHF0BjeFOXYUKDTx7RD3ABkPKsDamle776GwMrrf1ojgl5i+RSSJfP62k1gTP7Owaw==";
+      url = "https://registry.npmjs.org/redoc-cli/-/redoc-cli-0.13.7.tgz";
+      sha512 = "MkRGhBJfEESAhNnH+duJIkcS+PO5CRPzfJuHjd8tJEfdSXeCu+6UfBVyX4zrstbNGPtZkLn+ZV+bBl5obIcMIA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
-      (sources."@babel/generator-7.16.8" // {
+      (sources."@babel/generator-7.17.3" // {
         dependencies = [
           sources."source-map-0.5.7"
         ];
@@ -116672,21 +117217,21 @@ in
       sources."@babel/helper-split-export-declaration-7.16.7"
       sources."@babel/helper-validator-identifier-7.16.7"
       sources."@babel/highlight-7.16.10"
-      sources."@babel/parser-7.16.12"
-      sources."@babel/runtime-7.16.7"
+      sources."@babel/parser-7.17.3"
+      sources."@babel/runtime-7.17.2"
       sources."@babel/template-7.16.7"
-      sources."@babel/traverse-7.16.10"
-      sources."@babel/types-7.16.8"
+      sources."@babel/traverse-7.17.3"
+      sources."@babel/types-7.17.0"
       sources."@emotion/is-prop-valid-0.8.8"
       sources."@emotion/memoize-0.7.4"
       sources."@emotion/stylis-0.8.5"
       sources."@emotion/unitless-0.7.5"
       sources."@exodus/schemasafe-1.0.0-rc.6"
       sources."@redocly/ajv-8.6.4"
-      sources."@redocly/openapi-core-1.0.0-beta.79"
+      sources."@redocly/openapi-core-1.0.0-beta.82"
       sources."@redocly/react-dropdown-aria-2.0.12"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-14.18.9"
+      sources."@types/node-14.18.12"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."anymatch-3.1.2"
@@ -116701,7 +117246,7 @@ in
           sources."util-0.10.3"
         ];
       })
-      sources."babel-plugin-styled-components-2.0.2"
+      sources."babel-plugin-styled-components-2.0.3"
       sources."babel-plugin-syntax-jsx-6.18.0"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
@@ -116762,7 +117307,7 @@ in
         ];
       })
       sources."domain-browser-1.2.0"
-      sources."dompurify-2.3.4"
+      sources."dompurify-2.3.6"
       (sources."elliptic-6.5.4" // {
         dependencies = [
           sources."bn.js-4.12.0"
@@ -116813,14 +117358,14 @@ in
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."jsesc-2.5.2"
-      sources."json-pointer-0.6.1"
+      sources."json-pointer-0.6.2"
       sources."json-schema-traverse-1.0.0"
       sources."lodash-4.17.21"
       sources."lodash.isequal-4.5.0"
       sources."loose-envify-1.4.0"
       sources."lunr-2.3.9"
       sources."mark.js-8.11.1"
-      sources."marked-0.7.0"
+      sources."marked-4.0.12"
       sources."md5.js-1.3.5"
       (sources."miller-rabin-4.0.1" // {
         dependencies = [
@@ -116829,12 +117374,12 @@ in
       })
       sources."minimalistic-assert-1.0.1"
       sources."minimalistic-crypto-utils-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
-      sources."mobx-6.3.13"
-      sources."mobx-react-7.2.1"
-      sources."mobx-react-lite-3.2.3"
+      sources."mobx-6.4.1"
+      sources."mobx-react-7.3.0"
+      sources."mobx-react-lite-3.3.0"
       sources."ms-2.1.2"
       sources."neo-async-2.6.2"
       sources."node-fetch-2.6.7"
@@ -116848,7 +117393,7 @@ in
       sources."oas-schema-walker-1.1.5"
       sources."oas-validator-5.0.8"
       sources."object-assign-4.1.1"
-      sources."openapi-sampler-1.1.1"
+      sources."openapi-sampler-1.2.0"
       sources."os-browserify-0.3.0"
       sources."pako-1.0.11"
       sources."parse-asn1-5.1.6"
@@ -116859,7 +117404,7 @@ in
       sources."pluralize-8.0.0"
       sources."polished-4.1.4"
       sources."postcss-value-parser-4.2.0"
-      sources."prismjs-1.26.0"
+      sources."prismjs-1.27.0"
       sources."process-0.11.10"
       sources."process-nextick-args-2.0.1"
       sources."prop-types-15.8.1"
@@ -116886,7 +117431,7 @@ in
         ];
       })
       sources."readdirp-3.6.0"
-      (sources."redoc-2.0.0-rc.59" // {
+      (sources."redoc-2.0.0-rc.63" // {
         dependencies = [
           sources."path-browserify-1.0.1"
         ];
@@ -116916,6 +117461,7 @@ in
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
+      sources."style-loader-3.3.1"
       sources."styled-components-5.3.3"
       sources."supports-color-5.5.0"
       sources."swagger2openapi-7.0.8"
@@ -116925,7 +117471,7 @@ in
       sources."to-regex-range-5.0.1"
       sources."tr46-0.0.3"
       sources."tty-browserify-0.0.0"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       (sources."uri-js-4.4.1" // {
         dependencies = [
           sources."punycode-2.1.1"
@@ -117076,7 +117622,7 @@ in
       sources."restore-cursor-3.1.0"
       sources."scheduler-0.18.0"
       sources."semver-5.7.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slice-ansi-3.0.0"
       sources."spdx-correct-3.1.1"
       sources."spdx-exceptions-2.3.0"
@@ -117141,7 +117687,7 @@ in
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."agent-base-4.3.0"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
@@ -117276,7 +117822,7 @@ in
       sources."keyv-3.1.0"
       sources."latest-version-5.1.0"
       sources."livereload-0.9.3"
-      sources."livereload-js-3.3.2"
+      sources."livereload-js-3.3.3"
       sources."lodash-4.17.21"
       sources."lowercase-keys-1.0.1"
       sources."lru-cache-6.0.0"
@@ -117292,12 +117838,12 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
       sources."mustache-4.2.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."normalize-path-3.0.0"
       sources."normalize-url-4.5.1"
       sources."on-finished-2.3.0"
@@ -117373,7 +117919,7 @@ in
       })
       sources."serve-static-1.14.2"
       sources."setprototypeof-1.2.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sprintf-js-1.0.3"
       sources."statuses-1.5.0"
       sources."string-width-4.2.3"
@@ -117405,7 +117951,7 @@ in
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xdg-basedir-4.0.0"
       sources."yallist-4.0.0"
       sources."yaml-front-matter-4.1.1"
@@ -117438,7 +117984,7 @@ in
       sources."glob-7.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
       sources."wrappy-1.0.2"
@@ -117456,10 +118002,10 @@ in
   rollup = nodeEnv.buildNodePackage {
     name = "rollup";
     packageName = "rollup";
-    version = "2.66.0";
+    version = "2.67.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/rollup/-/rollup-2.66.0.tgz";
-      sha512 = "L6mKOkdyP8HK5kKJXaiWG7KZDumPJjuo1P+cfyHOJPNNTK3Moe7zCH5+fy7v8pVmHXtlxorzaBjvkBMB23s98g==";
+      url = "https://registry.npmjs.org/rollup/-/rollup-2.67.3.tgz";
+      sha512 = "G/x1vUwbGtP6O5ZM8/sWr8+p7YfZhI18pPqMRtMYMWSbHjKZ/ajHGiM+GWNTlWyOR0EHIdT8LHU+Z4ciIZ1oBw==";
     };
     dependencies = [
       sources."fsevents-2.3.2"
@@ -117474,17 +118020,20 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "rust-analyzer-build-deps-../../misc/vscode-extensions/rust-analyzer/build-deps" = nodeEnv.buildNodePackage {
+  "rust-analyzer-build-deps-../../applications/editors/vscode/extensions/rust-analyzer/build-deps" = nodeEnv.buildNodePackage {
     name = "rust-analyzer";
     packageName = "rust-analyzer";
     version = "0.2.834";
-    src = ../../misc/vscode-extensions/rust-analyzer/build-deps;
+    src = ../../applications/editors/vscode/extensions/rust-analyzer/build-deps;
     dependencies = [
       sources."@babel/code-frame-7.12.11"
       sources."@babel/helper-validator-identifier-7.16.7"
       (sources."@babel/highlight-7.16.10" // {
         dependencies = [
+          sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
           sources."escape-string-regexp-1.0.5"
         ];
       })
@@ -117493,7 +118042,7 @@ in
           sources."ignore-4.0.6"
         ];
       })
-      sources."@hpcc-js/wasm-1.4.1"
+      sources."@hpcc-js/wasm-1.12.8"
       sources."@humanwhocodes/config-array-0.5.0"
       sources."@humanwhocodes/object-schema-1.2.1"
       sources."@nodelib/fs.scandir-2.1.5"
@@ -117505,8 +118054,8 @@ in
       sources."@types/minimatch-3.0.5"
       sources."@types/mocha-8.2.3"
       sources."@types/node-14.17.34"
-      sources."@types/node-fetch-2.5.12"
-      sources."@types/vscode-1.63.1"
+      sources."@types/node-fetch-2.6.1"
+      sources."@types/vscode-1.64.0"
       sources."@typescript-eslint/eslint-plugin-4.33.0"
       sources."@typescript-eslint/experimental-utils-4.33.0"
       sources."@typescript-eslint/parser-4.33.0"
@@ -117521,7 +118070,7 @@ in
       sources."ajv-6.12.6"
       sources."ansi-colors-4.1.1"
       sources."ansi-regex-5.0.1"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
       sources."aproba-1.2.0"
       sources."are-we-there-yet-1.1.7"
@@ -117529,7 +118078,7 @@ in
       sources."array-union-2.1.0"
       sources."astral-regex-2.0.0"
       sources."asynckit-0.4.0"
-      sources."azure-devops-node-api-11.1.0"
+      sources."azure-devops-node-api-11.1.1"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."big-integer-1.6.51"
@@ -117555,21 +118104,18 @@ in
       sources."chainsaw-0.1.0"
       (sources."chalk-4.1.2" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
         ];
       })
       sources."cheerio-1.0.0-rc.10"
       sources."cheerio-select-1.5.0"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."chownr-1.1.4"
       sources."cliui-7.0.4"
       sources."code-point-at-1.1.0"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
       sources."commander-7.2.0"
       sources."commandpost-1.4.0"
@@ -117595,7 +118141,7 @@ in
       sources."d3-force-3.0.0"
       sources."d3-format-3.1.0"
       sources."d3-geo-3.0.1"
-      (sources."d3-graphviz-4.0.0" // {
+      (sources."d3-graphviz-4.1.0" // {
         dependencies = [
           sources."d3-color-2.0.0"
           sources."d3-dispatch-2.0.0"
@@ -117627,14 +118173,14 @@ in
       sources."d3-zoom-3.0.0"
       sources."debug-4.3.3"
       sources."decamelize-4.0.0"
-      sources."decompress-response-4.2.1"
+      sources."decompress-response-6.0.0"
       sources."deep-extend-0.6.0"
       sources."deep-is-0.1.4"
       sources."delaunator-5.0.0"
       sources."delayed-stream-1.0.0"
       sources."delegates-1.0.0"
       sources."denodeify-1.2.1"
-      sources."detect-libc-1.0.3"
+      sources."detect-libc-2.0.1"
       sources."diff-5.0.0"
       sources."dir-glob-3.0.1"
       sources."doctrine-3.0.0"
@@ -117700,7 +118246,7 @@ in
       sources."find-up-5.0.0"
       sources."flat-5.0.2"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."form-data-3.0.1"
       sources."fs-constants-1.0.0"
       sources."fs.realpath-1.0.0"
@@ -117725,7 +118271,7 @@ in
       sources."github-from-package-0.0.0"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globals-13.12.0"
+      sources."globals-13.12.1"
       sources."globby-11.1.0"
       sources."graceful-fs-4.2.9"
       sources."growl-1.10.5"
@@ -117760,7 +118306,7 @@ in
       sources."js-yaml-3.14.1"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
-      sources."keytar-7.7.0"
+      sources."keytar-7.9.0"
       sources."leven-3.1.0"
       sources."levn-0.4.1"
       sources."linkify-it-2.2.0"
@@ -117782,37 +118328,30 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."mimic-response-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."mimic-response-3.1.0"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mkdirp-classic-0.5.3"
-      (sources."mocha-9.1.4" // {
+      (sources."mocha-9.2.1" // {
         dependencies = [
           sources."argparse-2.0.1"
-          (sources."debug-4.3.2" // {
-            dependencies = [
-              sources."ms-2.1.2"
-            ];
-          })
-          sources."glob-7.1.7"
           sources."has-flag-4.0.0"
           sources."js-yaml-4.1.0"
+          sources."minimatch-3.0.4"
           sources."ms-2.1.3"
           sources."supports-color-8.1.1"
+          sources."yargs-16.2.0"
+          sources."yargs-parser-20.2.4"
         ];
       })
       sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."nanoid-3.1.25"
+      sources."nanoid-3.2.0"
       sources."napi-build-utils-1.0.2"
       sources."natural-compare-1.4.0"
-      (sources."node-abi-2.30.1" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
-      sources."node-addon-api-3.2.1"
+      sources."node-abi-3.8.0"
+      sources."node-addon-api-4.3.0"
       sources."node-fetch-2.6.7"
       sources."normalize-path-3.0.0"
       sources."npmlog-4.1.2"
@@ -117841,7 +118380,7 @@ in
       sources."path-type-4.0.0"
       sources."pend-1.2.0"
       sources."picomatch-2.3.1"
-      sources."prebuild-install-6.1.4"
+      sources."prebuild-install-7.0.1"
       sources."prelude-ls-1.2.1"
       sources."process-nextick-args-2.0.1"
       sources."progress-2.0.3"
@@ -117883,17 +118422,11 @@ in
       sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
       sources."sigmund-1.0.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      sources."simple-get-4.0.1"
       sources."slash-3.0.0"
-      (sources."slice-ansi-4.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
+      sources."slice-ansi-4.0.0"
       sources."sprintf-js-1.0.3"
       sources."string-width-4.2.3"
       (sources."string_decoder-1.1.1" // {
@@ -117906,7 +118439,7 @@ in
       sources."supports-color-5.5.0"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -117943,7 +118476,10 @@ in
       sources."v8-compile-cache-2.3.0"
       (sources."vsce-1.103.1" // {
         dependencies = [
+          sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
+          sources."color-convert-1.9.3"
+          sources."color-name-1.1.3"
           sources."commander-6.2.1"
           sources."escape-string-regexp-1.0.5"
           sources."semver-5.7.1"
@@ -117959,21 +118495,15 @@ in
       sources."which-2.0.2"
       sources."wide-align-1.1.5"
       sources."word-wrap-1.2.3"
-      sources."workerpool-6.1.5"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-        ];
-      })
+      sources."workerpool-6.2.0"
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.4"
+      sources."yargs-17.3.1"
+      sources."yargs-parser-21.0.0"
       sources."yargs-unparser-2.0.0"
       sources."yauzl-2.10.0"
       sources."yazl-2.5.1"
@@ -117997,12 +118527,12 @@ in
     dependencies = [
       sources."find-up-5.0.0"
       sources."locate-path-6.0.0"
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
       sources."path-exists-4.0.0"
       sources."picocolors-1.0.0"
-      sources."postcss-8.4.5"
+      sources."postcss-8.4.6"
       sources."source-map-js-1.0.2"
       sources."strip-json-comments-3.1.1"
       sources."yocto-queue-0.1.0"
@@ -118062,7 +118592,7 @@ in
           sources."commander-1.3.2"
         ];
       })
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."formidable-1.0.11"
       sources."fresh-0.2.0"
       sources."function-bind-1.1.1"
@@ -118116,10 +118646,10 @@ in
   sass = nodeEnv.buildNodePackage {
     name = "sass";
     packageName = "sass";
-    version = "1.49.0";
+    version = "1.49.8";
     src = fetchurl {
-      url = "https://registry.npmjs.org/sass/-/sass-1.49.0.tgz";
-      sha512 = "TVwVdNDj6p6b4QymJtNtRS2YtLJ/CqZriGg0eIAbAKMlN8Xy6kbv33FsEZSF7FufFFM705SQviHjjThfaQ4VNw==";
+      url = "https://registry.npmjs.org/sass/-/sass-1.49.8.tgz";
+      sha512 = "NoGOjvDDOU9og9oAxhRnap71QaTjjlzrvLnKecUJ3GxhaQBrV6e7gPuSPF28u1OcVAArVojPAe4ZhOXwwC4tGw==";
     };
     dependencies = [
       sources."anymatch-3.1.2"
@@ -118182,7 +118712,7 @@ in
     };
     dependencies = [
       sources."@zeit/schemas-2.6.0"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ajv-6.12.6"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
@@ -118243,7 +118773,7 @@ in
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."nice-try-1.0.5"
       sources."npm-run-path-2.0.2"
       sources."on-headers-1.0.2"
@@ -118268,7 +118798,7 @@ in
       })
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."string-width-4.2.3"
       sources."strip-ansi-6.0.1"
       sources."strip-eof-1.0.0"
@@ -118296,127 +118826,47 @@ in
   serverless = nodeEnv.buildNodePackage {
     name = "serverless";
     packageName = "serverless";
-    version = "2.72.1";
+    version = "3.2.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/serverless/-/serverless-2.72.1.tgz";
-      sha512 = "SxmxyBgWQvcKvEXdP0fR3Y+nljOQ+nWCPDZXnhic//w+k0kNQ/bHcd3S1VZQqU3m7nZZwMsdC5lxB26EpUFELA==";
+      url = "https://registry.npmjs.org/serverless/-/serverless-3.2.1.tgz";
+      sha512 = "ocCfLKt+C8rZaalzkbdnxenPZBjS78wnZxJYqDdXx3EYr4e9KND2WyTKUhB8g/f3FPSWjGW35R9e3/Mfd/ceTw==";
     };
     dependencies = [
       sources."2-thenable-1.0.0"
-      (sources."@kwsites/file-exists-1.1.1" // {
-        dependencies = [
-          sources."debug-4.3.3"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."@kwsites/file-exists-1.1.1"
       sources."@kwsites/promise-deferred-1.1.1"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@protobufjs/aspromise-1.1.2"
-      sources."@protobufjs/base64-1.1.2"
-      sources."@protobufjs/codegen-2.0.4"
-      sources."@protobufjs/eventemitter-1.1.0"
-      sources."@protobufjs/fetch-1.1.0"
-      sources."@protobufjs/float-1.0.2"
-      sources."@protobufjs/inquire-1.1.0"
-      sources."@protobufjs/path-1.1.2"
-      sources."@protobufjs/pool-1.1.0"
-      sources."@protobufjs/utf8-1.1.0"
-      (sources."@serverless/cli-1.6.0" // {
-        dependencies = [
-          sources."@serverless/utils-1.2.0"
-          sources."chalk-2.4.2"
-          sources."dotenv-8.6.0"
-          sources."uuid-3.4.0"
-        ];
-      })
-      sources."@serverless/component-metrics-1.0.8"
-      (sources."@serverless/components-3.18.2" // {
-        dependencies = [
-          (sources."@serverless/utils-4.1.0" // {
-            dependencies = [
-              sources."js-yaml-4.1.0"
-            ];
-          })
-          sources."argparse-2.0.1"
-          sources."dotenv-8.6.0"
-          (sources."js-yaml-3.14.1" // {
-            dependencies = [
-              sources."argparse-1.0.10"
-            ];
-          })
-          sources."ramda-0.27.2"
-          sources."write-file-atomic-3.0.3"
-        ];
-      })
-      (sources."@serverless/core-1.1.2" // {
-        dependencies = [
-          sources."fs-extra-7.0.1"
-          sources."js-yaml-3.14.1"
-          sources."semver-6.3.0"
-        ];
-      })
-      sources."@serverless/dashboard-plugin-5.5.4"
+      sources."@serverless/dashboard-plugin-6.1.0"
       sources."@serverless/event-mocks-1.1.1"
-      (sources."@serverless/platform-client-4.3.0" // {
+      (sources."@serverless/platform-client-4.3.1" // {
         dependencies = [
           sources."js-yaml-3.14.1"
-          sources."jwt-decode-2.2.0"
         ];
       })
-      (sources."@serverless/platform-client-china-2.3.4" // {
+      (sources."@serverless/utils-6.0.2" // {
         dependencies = [
-          sources."dotenv-8.6.0"
-          sources."js-yaml-3.14.1"
-        ];
-      })
-      sources."@serverless/template-1.1.4"
-      (sources."@serverless/utils-5.20.3" // {
-        dependencies = [
-          sources."get-stream-6.0.1"
-          sources."has-flag-4.0.0"
-          sources."supports-color-8.1.1"
-          sources."write-file-atomic-3.0.3"
+          sources."jwt-decode-3.1.2"
         ];
       })
-      sources."@serverless/utils-china-1.1.5"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
-      sources."@tencent-sdk/capi-1.1.8"
+      sources."@sindresorhus/is-4.4.0"
+      sources."@szmarczak/http-timer-4.0.6"
       sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
-      sources."@types/caseless-0.12.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
       sources."@types/lodash-4.14.178"
-      sources."@types/long-4.0.1"
-      sources."@types/node-17.0.10"
-      sources."@types/request-2.48.8"
-      sources."@types/request-promise-native-1.0.18"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
-      sources."@types/tough-cookie-4.0.1"
       sources."adm-zip-0.5.9"
-      sources."after-0.8.2"
-      (sources."agent-base-6.0.2" // {
-        dependencies = [
-          sources."debug-4.3.3"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."ajv-6.12.6"
-      sources."ajv-keywords-3.5.2"
-      (sources."ansi-align-3.0.1" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-        ];
-      })
+      sources."agent-base-6.0.2"
+      sources."ajv-8.10.0"
+      sources."ajv-formats-2.1.1"
       sources."ansi-escapes-4.3.2"
-      sources."ansi-regex-2.1.1"
-      sources."ansi-styles-3.2.1"
+      sources."ansi-regex-5.0.1"
+      sources."ansi-styles-4.3.0"
       sources."anymatch-3.1.2"
-      sources."aproba-1.2.0"
       (sources."archive-type-4.0.0" // {
         dependencies = [
           sources."file-type-4.4.0"
@@ -118424,34 +118874,16 @@ in
       })
       (sources."archiver-5.3.0" // {
         dependencies = [
-          sources."async-3.2.3"
-          sources."bl-4.1.0"
-          sources."tar-stream-2.2.0"
-        ];
-      })
-      (sources."archiver-utils-2.1.0" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      (sources."are-we-there-yet-1.1.7" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
+          sources."readable-stream-3.6.0"
         ];
       })
+      sources."archiver-utils-2.1.0"
       sources."argparse-1.0.10"
       sources."array-union-2.1.0"
-      sources."arraybuffer.slice-0.0.7"
-      sources."asn1-0.2.6"
-      sources."assert-plus-1.0.0"
-      sources."async-2.6.3"
+      sources."async-3.2.3"
       sources."asynckit-0.4.0"
       sources."at-least-node-1.0.0"
-      (sources."aws-sdk-2.1062.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."buffer-4.9.2"
           sources."ieee754-1.1.13"
@@ -118459,40 +118891,16 @@ in
           sources."uuid-3.3.2"
         ];
       })
-      sources."aws-sign2-0.7.0"
-      sources."aws4-1.11.0"
       sources."axios-0.21.4"
-      sources."backo2-1.0.2"
       sources."balanced-match-1.0.2"
-      sources."base64-arraybuffer-0.1.4"
       sources."base64-js-1.5.1"
-      sources."bcrypt-pbkdf-1.0.2"
-      sources."binary-0.3.0"
       sources."binary-extensions-2.2.0"
-      sources."bindings-1.5.0"
-      (sources."bl-2.2.1" // {
+      (sources."bl-4.1.0" // {
         dependencies = [
-          (sources."readable-stream-2.3.7" // {
-            dependencies = [
-              sources."safe-buffer-5.1.2"
-            ];
-          })
-          (sources."string_decoder-1.1.1" // {
-            dependencies = [
-              sources."safe-buffer-5.1.2"
-            ];
-          })
+          sources."readable-stream-3.6.0"
         ];
       })
-      sources."blob-0.0.5"
       sources."bluebird-3.7.2"
-      (sources."boxen-5.1.2" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-          sources."type-fest-0.20.2"
-        ];
-      })
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."buffer-5.7.1"
@@ -118500,29 +118908,17 @@ in
       sources."buffer-alloc-unsafe-1.1.0"
       sources."buffer-crc32-0.2.13"
       sources."buffer-fill-1.0.0"
-      sources."buffermaker-1.2.1"
-      sources."buffers-0.1.1"
       sources."builtin-modules-3.2.0"
       sources."cacheable-lookup-5.0.4"
-      (sources."cacheable-request-6.1.0" // {
+      (sources."cacheable-request-7.0.2" // {
         dependencies = [
           sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
         ];
       })
       sources."cachedir-2.3.0"
-      sources."camelcase-6.3.0"
-      sources."caseless-0.12.0"
-      (sources."chainsaw-0.1.0" // {
-        dependencies = [
-          sources."traverse-0.3.9"
-        ];
-      })
+      sources."call-bind-1.0.2"
       (sources."chalk-4.1.2" // {
         dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
           sources."has-flag-4.0.0"
           sources."supports-color-7.2.0"
         ];
@@ -118530,40 +118926,44 @@ in
       sources."chardet-0.7.0"
       sources."child-process-ext-2.1.1"
       sources."chokidar-3.5.3"
-      sources."chownr-1.1.4"
+      sources."chownr-2.0.0"
       sources."ci-info-3.3.0"
-      sources."cli-boxes-2.2.1"
       sources."cli-color-2.0.1"
       sources."cli-cursor-3.1.0"
       sources."cli-progress-footer-2.3.0"
+      sources."cli-spinners-2.6.1"
       (sources."cli-sprintf-format-1.1.1" // {
         dependencies = [
           sources."supports-color-6.1.0"
         ];
       })
       sources."cli-width-3.0.0"
+      sources."clone-1.0.4"
       sources."clone-response-1.0.2"
-      sources."code-point-at-1.1.0"
-      sources."color-3.2.1"
-      sources."color-convert-1.9.3"
-      sources."color-name-1.1.3"
-      sources."color-string-1.9.0"
-      sources."colornames-1.1.1"
-      sources."colors-1.3.3"
-      sources."colorspace-1.1.4"
+      sources."color-convert-2.0.1"
+      sources."color-name-1.1.4"
       sources."combined-stream-1.0.8"
-      sources."commander-2.19.0"
-      sources."component-bind-1.0.0"
+      sources."commander-2.20.3"
       sources."component-emitter-1.3.0"
-      sources."component-inherit-0.0.3"
-      sources."compress-commons-4.1.1"
+      (sources."compress-commons-4.1.1" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
       sources."concat-map-0.0.1"
-      sources."console-control-strings-1.1.0"
-      sources."content-disposition-0.5.4"
+      (sources."content-disposition-0.5.4" // {
+        dependencies = [
+          sources."safe-buffer-5.2.1"
+        ];
+      })
       sources."cookiejar-2.1.3"
-      sources."core-util-is-1.0.2"
-      sources."crc-32-1.2.0"
-      sources."crc32-stream-4.0.2"
+      sources."core-util-is-1.0.3"
+      sources."crc-32-1.2.1"
+      (sources."crc32-stream-4.0.2" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
       (sources."cross-spawn-6.0.5" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -118574,9 +118974,8 @@ in
           sources."type-1.2.0"
         ];
       })
-      sources."dashdash-1.14.1"
       sources."dayjs-1.10.7"
-      sources."debug-2.6.9"
+      sources."debug-4.3.3"
       (sources."decompress-4.2.1" // {
         dependencies = [
           (sources."make-dir-1.3.0" // {
@@ -118586,10 +118985,16 @@ in
           })
         ];
       })
-      sources."decompress-response-3.3.0"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
       (sources."decompress-tar-4.1.1" // {
         dependencies = [
+          sources."bl-1.2.3"
           sources."file-type-5.2.0"
+          sources."tar-stream-1.6.2"
         ];
       })
       (sources."decompress-tarbz2-4.1.1" // {
@@ -118608,37 +119013,22 @@ in
           sources."get-stream-2.3.1"
         ];
       })
-      sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.1.3"
+      sources."defaults-1.0.3"
+      sources."defer-to-connect-2.0.1"
       sources."deferred-0.7.11"
       sources."delayed-stream-1.0.0"
-      sources."delegates-1.0.0"
-      sources."denque-1.5.1"
-      sources."detect-libc-1.0.3"
-      sources."diagnostics-1.1.1"
-      sources."dijkstrajs-1.0.2"
       sources."dir-glob-3.0.1"
-      sources."dot-qs-0.2.0"
       sources."dotenv-10.0.0"
       sources."dotenv-expand-5.1.0"
-      sources."duplexer3-0.1.4"
-      sources."duplexify-4.1.2"
       sources."duration-0.2.2"
-      sources."ecc-jsbn-0.1.2"
       sources."emoji-regex-8.0.0"
-      sources."enabled-1.0.2"
       sources."end-of-stream-1.4.4"
-      (sources."engine.io-client-3.5.2" // {
+      (sources."es5-ext-0.10.53" // {
         dependencies = [
-          sources."debug-3.1.0"
-          sources."ws-7.4.6"
+          sources."next-tick-1.0.0"
         ];
       })
-      sources."engine.io-parser-2.2.1"
-      sources."env-variable-0.0.6"
-      sources."es5-ext-0.10.53"
       sources."es6-iterator-2.0.3"
-      sources."es6-promisify-6.1.1"
       (sources."es6-set-0.1.5" // {
         dependencies = [
           sources."es6-symbol-3.1.1"
@@ -118653,135 +119043,80 @@ in
       sources."event-emitter-0.3.5"
       sources."events-1.1.1"
       sources."exit-on-epipe-1.0.1"
-      sources."expand-template-2.0.3"
       sources."ext-1.6.0"
       sources."ext-list-2.2.2"
       sources."ext-name-5.0.0"
       sources."extend-3.0.2"
       sources."external-editor-3.1.0"
-      sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
       sources."fast-glob-3.2.11"
-      sources."fast-json-stable-stringify-2.1.0"
       sources."fastest-levenshtein-1.0.12"
       sources."fastq-1.13.0"
       sources."fd-slicer-1.1.0"
-      sources."fecha-4.2.1"
       sources."figures-3.2.0"
       sources."file-type-16.5.3"
-      sources."file-uri-to-path-1.0.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-4.3.0"
       sources."filesize-8.0.7"
       sources."fill-range-7.0.1"
       sources."find-requires-1.0.0"
       sources."flat-5.0.2"
-      sources."follow-redirects-1.14.7"
-      sources."forever-agent-0.6.1"
+      sources."follow-redirects-1.14.9"
       sources."form-data-2.5.1"
       sources."formidable-1.2.6"
       sources."fs-constants-1.0.0"
-      (sources."fs-extra-9.1.0" // {
-        dependencies = [
-          sources."jsonfile-6.1.0"
-          sources."universalify-2.0.0"
-        ];
-      })
+      sources."fs-extra-9.1.0"
       sources."fs-minipass-2.1.0"
       sources."fs.realpath-1.0.0"
       sources."fs2-0.3.9"
       sources."fsevents-2.3.2"
-      (sources."gauge-2.7.4" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-        ];
-      })
+      sources."function-bind-1.1.1"
+      sources."get-intrinsic-1.1.1"
       sources."get-stdin-8.0.0"
-      sources."get-stream-4.1.0"
-      sources."getpass-0.1.7"
-      sources."github-from-package-0.0.0"
+      sources."get-stream-6.0.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
       sources."globby-11.1.0"
-      (sources."got-11.8.3" // {
-        dependencies = [
-          sources."@sindresorhus/is-4.3.0"
-          sources."@szmarczak/http-timer-4.0.6"
-          sources."cacheable-request-7.0.2"
-          sources."decompress-response-6.0.0"
-          sources."defer-to-connect-2.0.1"
-          sources."get-stream-5.2.0"
-          sources."json-buffer-3.0.1"
-          sources."keyv-4.0.5"
-          sources."lowercase-keys-2.0.0"
-          sources."mimic-response-3.1.0"
-          sources."normalize-url-6.1.0"
-          sources."p-cancelable-2.1.1"
-          sources."responselike-2.0.0"
-        ];
-      })
+      sources."got-11.8.3"
       sources."graceful-fs-4.2.9"
       sources."graphlib-2.1.8"
-      sources."har-schema-2.0.0"
-      sources."har-validator-5.1.5"
-      (sources."has-binary2-1.0.3" // {
-        dependencies = [
-          sources."isarray-2.0.1"
-        ];
-      })
-      sources."has-cors-1.1.0"
+      sources."has-1.0.3"
       sources."has-flag-3.0.0"
-      sources."has-unicode-2.0.1"
+      sources."has-symbols-1.0.2"
       sources."http-cache-semantics-4.1.0"
-      sources."http-signature-1.2.0"
       sources."http2-wrapper-1.0.3"
-      (sources."https-proxy-agent-5.0.0" // {
-        dependencies = [
-          sources."debug-4.3.3"
-          sources."ms-2.1.2"
-        ];
-      })
+      sources."https-proxy-agent-5.0.0"
       sources."iconv-lite-0.4.24"
       sources."ieee754-1.2.1"
       sources."ignore-5.2.0"
       sources."immediate-3.0.6"
       sources."imurmurhash-0.1.4"
-      sources."indexof-0.0.1"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."ini-1.3.8"
-      (sources."inquirer-7.3.3" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-        ];
-      })
-      sources."inquirer-autocomplete-prompt-1.4.0"
-      sources."is-arrayish-0.3.2"
+      sources."inquirer-8.2.0"
       sources."is-binary-path-2.1.0"
       sources."is-docker-2.2.1"
       sources."is-extglob-2.1.1"
-      sources."is-fullwidth-code-point-1.0.0"
+      sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
+      sources."is-interactive-1.0.0"
       sources."is-natural-number-4.0.1"
       sources."is-number-7.0.0"
       sources."is-plain-obj-1.1.0"
       sources."is-promise-2.2.2"
       sources."is-stream-1.1.0"
-      sources."is-typedarray-1.0.0"
+      sources."is-unicode-supported-0.1.0"
       sources."is-wsl-2.2.0"
       sources."isarray-1.0.0"
       sources."isexe-2.0.0"
       sources."isomorphic-ws-4.0.1"
-      sources."isstream-0.1.2"
       sources."jmespath-0.16.0"
       (sources."js-yaml-4.1.0" // {
         dependencies = [
           sources."argparse-2.0.1"
         ];
       })
-      sources."jsbn-0.1.1"
-      sources."json-buffer-3.0.0"
+      sources."json-buffer-3.0.1"
       sources."json-cycle-1.3.0"
       (sources."json-refs-3.0.15" // {
         dependencies = [
@@ -118789,33 +119124,12 @@ in
           sources."js-yaml-3.14.1"
         ];
       })
-      sources."json-schema-0.4.0"
-      sources."json-schema-traverse-0.4.1"
-      sources."json-stringify-safe-5.0.1"
-      sources."jsonfile-4.0.0"
-      sources."jsprim-1.4.2"
-      (sources."jszip-3.7.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."jwt-decode-3.1.2"
-      (sources."kafka-node-5.0.0" // {
-        dependencies = [
-          sources."uuid-3.4.0"
-        ];
-      })
-      sources."keyv-3.1.0"
-      sources."kuler-1.0.1"
-      (sources."lazystream-1.0.1" // {
-        dependencies = [
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
+      sources."json-schema-traverse-1.0.0"
+      sources."jsonfile-6.1.0"
+      sources."jszip-3.7.1"
+      sources."jwt-decode-2.2.0"
+      sources."keyv-4.1.1"
+      sources."lazystream-1.0.1"
       sources."lie-3.3.0"
       sources."lodash-4.17.21"
       sources."lodash.defaults-4.2.0"
@@ -118824,21 +119138,9 @@ in
       sources."lodash.isplainobject-4.0.6"
       sources."lodash.union-4.6.0"
       sources."log-6.3.1"
-      (sources."log-node-8.0.3" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."has-flag-4.0.0"
-          sources."supports-color-8.1.1"
-        ];
-      })
-      (sources."logform-2.3.2" // {
-        dependencies = [
-          sources."colors-1.4.0"
-          sources."ms-2.1.3"
-        ];
-      })
-      sources."long-1.1.2"
-      sources."lowercase-keys-1.0.1"
+      sources."log-node-8.0.3"
+      sources."log-symbols-4.1.0"
+      sources."lowercase-keys-2.0.0"
       sources."lru-cache-6.0.0"
       sources."lru-queue-0.1.0"
       (sources."make-dir-3.1.0" // {
@@ -118846,12 +119148,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."media-typer-0.3.0"
-      (sources."memoizee-0.4.15" // {
-        dependencies = [
-          sources."next-tick-1.1.0"
-        ];
-      })
+      sources."memoizee-0.4.15"
       sources."merge2-1.4.1"
       sources."methods-1.1.2"
       sources."micromatch-4.0.4"
@@ -118860,260 +119157,131 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
-      sources."minimist-1.2.5"
+      sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
-      sources."mkdirp-0.5.5"
-      sources."ms-2.0.0"
+      sources."mkdirp-1.0.4"
+      sources."ms-2.1.2"
       sources."mute-stream-0.0.8"
-      sources."nan-2.15.0"
-      sources."nanoid-2.1.11"
-      sources."napi-build-utils-1.0.2"
       sources."native-promise-only-0.8.1"
-      sources."ncjsm-4.2.0"
-      sources."nested-error-stacks-2.1.0"
-      sources."next-tick-1.0.0"
+      sources."ncjsm-4.3.0"
+      sources."next-tick-1.1.0"
       sources."nice-try-1.0.5"
-      (sources."node-abi-2.30.1" // {
-        dependencies = [
-          sources."semver-5.7.1"
-        ];
-      })
       sources."node-dir-0.1.17"
       sources."node-fetch-2.6.7"
-      sources."noop-logger-0.1.1"
       sources."normalize-path-3.0.0"
-      sources."normalize-url-4.5.1"
-      sources."npmlog-4.1.2"
-      sources."number-is-nan-1.0.1"
-      sources."oauth-sign-0.9.0"
+      sources."normalize-url-6.1.0"
       sources."object-assign-4.1.1"
+      sources."object-hash-2.2.0"
+      sources."object-inspect-1.12.0"
       sources."once-1.4.0"
-      sources."one-time-0.0.4"
       sources."onetime-5.1.2"
       sources."open-7.4.2"
-      sources."optional-0.1.4"
-      sources."os-homedir-1.0.2"
+      sources."ora-5.4.1"
       sources."os-tmpdir-1.0.2"
-      sources."p-cancelable-1.1.0"
+      sources."p-cancelable-2.1.1"
       sources."p-event-4.2.0"
       sources."p-finally-1.0.0"
       sources."p-timeout-3.2.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."got-9.6.0"
-          sources."semver-6.3.0"
-        ];
-      })
       sources."pako-1.0.11"
-      sources."parseqs-0.0.6"
-      sources."parseuri-0.0.6"
       sources."path-is-absolute-1.0.1"
       sources."path-key-2.0.1"
       sources."path-loader-1.0.10"
       sources."path-type-4.0.0"
       sources."path2-0.1.0"
-      sources."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."pend-1.2.0"
-      sources."performance-now-2.1.0"
       sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
-      (sources."prebuild-install-5.3.0" // {
-        dependencies = [
-          sources."pump-2.0.1"
-        ];
-      })
-      sources."prepend-http-2.0.0"
-      sources."prettyoutput-1.2.0"
-      sources."printj-1.1.2"
+      sources."printj-1.3.1"
       sources."process-nextick-args-2.0.1"
       sources."process-utils-4.0.0"
       sources."promise-queue-2.2.5"
-      (sources."protobufjs-6.11.2" // {
-        dependencies = [
-          sources."long-4.0.0"
-        ];
-      })
-      sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
-      sources."qrcode-terminal-0.12.0"
-      sources."qs-6.5.3"
+      sources."qs-6.10.3"
       sources."querystring-0.2.1"
       sources."queue-microtask-1.2.3"
       sources."quick-lru-5.1.1"
-      sources."ramda-0.26.1"
-      sources."rc-1.2.8"
-      sources."readable-stream-3.6.0"
-      sources."readable-web-to-node-stream-3.0.2"
-      sources."readdir-glob-1.1.1"
-      sources."readdirp-3.6.0"
-      sources."registry-auth-token-4.2.1"
-      sources."registry-url-5.1.0"
-      sources."replaceall-0.1.6"
-      (sources."request-2.88.2" // {
+      sources."readable-stream-2.3.7"
+      (sources."readable-web-to-node-stream-3.0.2" // {
         dependencies = [
-          sources."form-data-2.3.3"
-          sources."uuid-3.4.0"
+          sources."readable-stream-3.6.0"
         ];
       })
-      sources."request-promise-core-1.1.4"
-      sources."request-promise-native-1.0.9"
+      sources."readdir-glob-1.1.1"
+      sources."readdirp-3.6.0"
+      sources."require-from-string-2.0.2"
       sources."resolve-alpn-1.2.1"
-      sources."responselike-1.0.2"
+      sources."responselike-2.0.0"
       sources."restore-cursor-3.1.0"
-      sources."retry-0.10.1"
       sources."reusify-1.0.4"
       sources."run-async-2.4.1"
       sources."run-parallel-1.2.0"
       sources."run-parallel-limit-1.1.0"
-      sources."rxjs-6.6.7"
-      sources."safe-buffer-5.2.1"
-      sources."safe-stable-stringify-1.1.1"
+      sources."rxjs-7.5.4"
+      sources."safe-buffer-5.1.2"
       sources."safer-buffer-2.1.2"
       sources."sax-1.2.1"
       sources."seek-bzip-1.0.6"
       sources."semver-7.3.5"
-      sources."set-blocking-2.0.0"
       sources."set-immediate-shim-1.0.1"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."shortid-2.2.16"
-      sources."signal-exit-3.0.6"
-      sources."simple-concat-1.0.1"
-      sources."simple-get-2.8.1"
-      (sources."simple-git-2.48.0" // {
-        dependencies = [
-          sources."debug-4.3.3"
-          sources."ms-2.1.2"
-        ];
-      })
-      sources."simple-swizzle-0.2.2"
+      sources."side-channel-1.0.4"
+      sources."signal-exit-3.0.7"
+      sources."simple-git-2.48.0"
       sources."slash-3.0.0"
-      sources."snappy-6.3.5"
-      (sources."socket.io-client-2.4.0" // {
-        dependencies = [
-          sources."debug-3.1.0"
-        ];
-      })
-      (sources."socket.io-parser-3.3.2" // {
+      sources."sort-keys-1.1.2"
+      sources."sort-keys-length-1.0.1"
+      (sources."split2-3.2.2" // {
         dependencies = [
-          sources."debug-3.1.0"
-          sources."isarray-2.0.1"
+          sources."readable-stream-3.6.0"
         ];
       })
-      sources."sort-keys-1.1.2"
-      sources."sort-keys-length-1.0.1"
-      sources."split2-3.2.2"
       sources."sprintf-js-1.0.3"
       sources."sprintf-kit-2.0.1"
-      sources."sshpk-1.17.0"
-      sources."stack-trace-0.0.10"
-      sources."stealthy-require-1.1.1"
       sources."stream-promise-3.2.0"
-      sources."stream-shift-1.0.1"
-      (sources."string-width-1.0.2" // {
-        dependencies = [
-          sources."strip-ansi-3.0.1"
-        ];
-      })
-      sources."string_decoder-1.3.0"
-      (sources."strip-ansi-6.0.1" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-        ];
-      })
+      sources."string-width-4.2.3"
+      sources."string_decoder-1.1.1"
+      sources."strip-ansi-6.0.1"
       sources."strip-dirs-2.1.0"
-      sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.2.4"
+      sources."strtok3-6.3.0"
       (sources."superagent-3.8.3" // {
         dependencies = [
           sources."debug-3.2.7"
-          sources."ms-2.1.3"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
-        ];
-      })
-      sources."supports-color-5.5.0"
-      (sources."tabtab-3.0.2" // {
-        dependencies = [
-          sources."ansi-escapes-3.2.0"
-          sources."ansi-regex-3.0.0"
-          sources."chalk-2.4.2"
-          sources."cli-cursor-2.1.0"
-          sources."cli-width-2.2.1"
-          sources."debug-4.3.3"
-          sources."figures-2.0.0"
-          sources."inquirer-6.5.2"
-          sources."is-fullwidth-code-point-2.0.0"
-          sources."mimic-fn-1.2.0"
-          sources."ms-2.1.2"
-          sources."mute-stream-0.0.7"
-          sources."onetime-2.0.1"
-          sources."restore-cursor-2.0.0"
-          (sources."string-width-2.1.1" // {
-            dependencies = [
-              sources."strip-ansi-4.0.0"
-            ];
-          })
-          (sources."strip-ansi-5.2.0" // {
-            dependencies = [
-              sources."ansi-regex-4.1.0"
-            ];
-          })
-          sources."untildify-3.0.3"
         ];
       })
-      (sources."tar-6.1.11" // {
+      (sources."supports-color-8.1.1" // {
         dependencies = [
-          sources."chownr-2.0.0"
-          sources."mkdirp-1.0.4"
-        ];
-      })
-      (sources."tar-fs-1.16.3" // {
-        dependencies = [
-          sources."pump-1.0.3"
+          sources."has-flag-4.0.0"
         ];
       })
-      (sources."tar-stream-1.6.2" // {
+      sources."tar-6.1.11"
+      (sources."tar-stream-2.2.0" // {
         dependencies = [
-          sources."bl-1.2.3"
-          sources."readable-stream-2.3.7"
-          sources."safe-buffer-5.1.2"
-          sources."string_decoder-1.1.1"
+          sources."readable-stream-3.6.0"
         ];
       })
-      sources."tencent-serverless-http-1.3.2"
-      sources."text-hex-1.0.0"
       sources."throat-5.0.0"
       sources."through-2.3.8"
       sources."timers-ext-0.1.7"
       sources."tmp-0.0.33"
-      sources."to-array-0.1.4"
       sources."to-buffer-1.1.1"
-      sources."to-readable-stream-1.0.0"
       sources."to-regex-range-5.0.1"
       sources."token-types-4.1.1"
-      sources."tough-cookie-2.5.0"
       sources."tr46-0.0.3"
       sources."traverse-0.6.6"
       sources."trim-repeated-1.0.0"
-      sources."triple-beam-1.3.0"
-      sources."tslib-1.14.1"
-      sources."tunnel-agent-0.6.0"
-      sources."tweetnacl-0.14.5"
-      sources."type-2.5.0"
+      sources."tslib-2.3.1"
+      sources."type-2.6.0"
       sources."type-fest-0.21.3"
-      sources."type-is-1.6.18"
-      sources."typedarray-to-buffer-3.1.5"
       sources."unbzip2-stream-1.4.3"
       sources."uni-global-1.0.0"
-      sources."universalify-0.1.2"
+      sources."universalify-2.0.0"
       sources."untildify-4.0.0"
       sources."uri-js-4.4.1"
       (sources."url-0.10.3" // {
@@ -119122,46 +119290,27 @@ in
           sources."querystring-0.2.0"
         ];
       })
-      sources."url-parse-lax-3.0.0"
-      sources."urlencode-1.1.0"
       sources."util-deprecate-1.0.2"
       sources."uuid-8.3.2"
-      sources."verror-1.10.0"
+      sources."wcwidth-1.0.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-url-5.0.0"
       sources."which-1.3.1"
-      sources."which-pm-runs-1.0.0"
-      sources."wide-align-1.1.5"
-      (sources."widest-line-3.1.0" // {
-        dependencies = [
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-        ];
-      })
-      sources."winston-3.2.1"
-      sources."winston-transport-4.4.2"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-styles-4.3.0"
-          sources."color-convert-2.0.1"
-          sources."color-name-1.1.4"
-          sources."is-fullwidth-code-point-3.0.0"
-          sources."string-width-4.2.3"
-        ];
-      })
       sources."wrappy-1.0.2"
-      sources."write-file-atomic-2.4.3"
-      sources."ws-7.5.6"
+      sources."write-file-atomic-4.0.1"
+      sources."ws-7.5.7"
       sources."xml2js-0.4.19"
       sources."xmlbuilder-9.0.7"
-      sources."xmlhttprequest-ssl-1.6.3"
       sources."xtend-4.0.2"
       sources."yallist-4.0.0"
       sources."yaml-ast-parser-0.0.43"
       sources."yamljs-0.3.0"
       sources."yauzl-2.10.0"
-      sources."yeast-0.1.2"
-      sources."zip-stream-4.1.0"
+      (sources."zip-stream-4.1.0" // {
+        dependencies = [
+          sources."readable-stream-3.6.0"
+        ];
+      })
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -119184,7 +119333,7 @@ in
     dependencies = [
       sources."CSSselect-0.4.1"
       sources."CSSwhat-0.4.7"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."after-0.8.1"
       sources."ajv-6.12.6"
       sources."array-flatten-1.1.1"
@@ -119200,8 +119349,8 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       sources."better-assert-1.0.2"
       sources."blob-0.0.2"
-      sources."body-parser-1.19.1"
-      sources."bytes-3.1.1"
+      sources."body-parser-1.19.2"
+      sources."bytes-3.1.2"
       sources."callsite-1.0.0"
       sources."caseless-0.12.0"
       sources."cheerio-0.17.0"
@@ -119212,7 +119361,7 @@ in
       sources."component-inherit-0.0.3"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."dashdash-1.14.1"
@@ -119248,7 +119397,7 @@ in
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."event-stream-3.3.5"
-      sources."express-4.17.2"
+      sources."express-4.17.3"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
@@ -119302,7 +119451,7 @@ in
       sources."ms-2.0.0"
       sources."mute-stream-0.0.8"
       sources."nan-0.3.2"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."oauth-sign-0.9.0"
       sources."object-component-0.0.3"
       sources."on-finished-2.3.0"
@@ -119317,9 +119466,9 @@ in
       sources."proxy-addr-2.0.7"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."read-1.0.7"
       sources."readable-stream-1.1.14"
       (sources."request-2.88.2" // {
@@ -119700,7 +119849,7 @@ in
       sources."keep-alive-agent-0.0.1"
       sources."lru-cache-2.2.0"
       sources."mime-1.6.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mv-2.1.1"
@@ -119801,15 +119950,14 @@ in
   snyk = nodeEnv.buildNodePackage {
     name = "snyk";
     packageName = "snyk";
-    version = "1.834.0";
+    version = "1.855.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/snyk/-/snyk-1.834.0.tgz";
-      sha512 = "0XKshpV1azNRxOKwFV+NuR/ukT0OAhsUZI/jSN6O2XIQ5lYWXC8wNgvtpJ4pmhekMjBCj4rH6mxYDo2USWEZ1g==";
+      url = "https://registry.npmjs.org/snyk/-/snyk-1.855.0.tgz";
+      sha512 = "LZ8tXVleYHPW2GL3UWfaswKatNY1rTQ7aUNOD1rboD4cWydJsHCnSHzoMQcXq+06XBLw//LxL0G2YhdZhPz2mA==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "snyk library and cli utility";
-      homepage = "https://github.com/snyk/snyk#readme";
       license = "Apache-2.0";
     };
     production = true;
@@ -119829,11 +119977,11 @@ in
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-17.0.10"
-      sources."accepts-1.3.7"
+      sources."@types/node-17.0.19"
+      sources."accepts-1.3.8"
       sources."base64id-2.0.0"
       sources."component-emitter-1.3.0"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cors-2.8.5"
       sources."debug-4.3.3"
       sources."engine.io-6.1.2"
@@ -119841,7 +119989,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."ms-2.1.2"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."object-assign-4.1.1"
       sources."socket.io-adapter-2.3.3"
       sources."socket.io-parser-4.0.4"
@@ -119890,7 +120038,7 @@ in
       sources."bl-5.0.0"
       sources."buffer-6.0.3"
       sources."camelcase-6.3.0"
-      sources."camelcase-keys-7.0.1"
+      sources."camelcase-keys-7.0.2"
       sources."chalk-4.1.2"
       sources."cli-cursor-4.0.0"
       sources."cli-spinners-2.6.1"
@@ -119950,7 +120098,11 @@ in
       sources."ms-2.0.0"
       sources."normalize-package-data-3.0.3"
       sources."onetime-5.1.2"
-      sources."ora-6.0.1"
+      (sources."ora-6.1.0" // {
+        dependencies = [
+          sources."chalk-5.0.0"
+        ];
+      })
       sources."p-limit-3.1.0"
       sources."p-locate-5.0.0"
       sources."parse-json-5.2.0"
@@ -119965,7 +120117,7 @@ in
       sources."safe-buffer-5.2.1"
       sources."sax-1.2.4"
       sources."semver-7.3.5"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."slice-ansi-5.0.0" // {
         dependencies = [
           sources."ansi-styles-6.1.0"
@@ -120067,7 +120219,7 @@ in
       sources."array-unique-0.2.1"
       sources."arrify-1.0.1"
       sources."assign-symbols-1.0.0"
-      (sources."async-append-only-log-3.1.2" // {
+      (sources."async-append-only-log-3.1.4" // {
         dependencies = [
           sources."push-stream-11.0.1"
         ];
@@ -120210,6 +120362,7 @@ in
       })
       sources."es-to-primitive-1.2.1"
       sources."escape-string-regexp-1.0.5"
+      sources."events-3.3.0"
       sources."exit-hook-1.1.1"
       sources."expand-brackets-0.1.5"
       sources."expand-range-1.8.2"
@@ -120430,7 +120583,7 @@ in
       sources."math-random-1.0.4"
       sources."mdmanifest-1.0.8"
       sources."micromatch-2.3.11"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."mixin-deep-1.3.2" // {
         dependencies = [
@@ -120445,11 +120598,11 @@ in
       sources."multiblob-1.13.7"
       sources."multiblob-http-1.2.0"
       sources."multicb-1.2.2"
-      sources."multiserver-3.7.2"
+      sources."multiserver-3.8.2"
       sources."multiserver-address-1.0.1"
-      sources."multiserver-scopes-1.0.0"
+      sources."multiserver-scopes-2.0.0"
       sources."mutexify-1.4.0"
-      sources."muxrpc-6.5.4"
+      sources."muxrpc-6.7.0"
       sources."muxrpc-usage-2.1.0"
       sources."muxrpc-validation-3.0.2"
       sources."muxrpcli-3.1.2"
@@ -120473,7 +120626,7 @@ in
       sources."nice-try-1.0.5"
       sources."node-bindgen-loader-1.0.1"
       sources."node-gyp-build-4.3.0"
-      sources."non-private-ip-1.4.4"
+      sources."non-private-ip-2.2.0"
       sources."normalize-path-2.1.1"
       sources."normalize-uri-1.1.3"
       sources."npm-prefix-1.2.0"
@@ -120491,7 +120644,7 @@ in
           })
         ];
       })
-      sources."object-inspect-1.11.1"
+      sources."object-inspect-1.12.0"
       sources."object-is-1.1.5"
       sources."object-keys-1.1.1"
       (sources."object-visit-1.0.1" // {
@@ -120520,7 +120673,7 @@ in
       sources."osenv-0.1.5"
       sources."p-defer-3.0.0"
       sources."packet-stream-2.0.6"
-      sources."packet-stream-codec-1.1.3"
+      sources."packet-stream-codec-1.2.0"
       sources."parse-entities-1.2.2"
       sources."parse-glob-3.0.4"
       sources."pascalcase-0.1.1"
@@ -120611,7 +120764,7 @@ in
       sources."randexp-0.4.6"
       sources."random-access-chrome-file-1.2.0"
       sources."random-access-file-2.2.0"
-      (sources."random-access-idb-1.2.1" // {
+      (sources."random-access-idb-1.2.2" // {
         dependencies = [
           sources."buffer-from-0.1.2"
         ];
@@ -120623,7 +120776,7 @@ in
         ];
       })
       sources."random-access-memory-3.1.4"
-      sources."random-access-storage-1.4.2"
+      sources."random-access-storage-1.4.3"
       sources."random-access-web-2.0.3"
       (sources."randomatic-3.1.1" // {
         dependencies = [
@@ -120702,7 +120855,7 @@ in
       sources."repeat-element-1.1.4"
       sources."repeat-string-1.6.1"
       sources."requires-port-1.0.0"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-url-0.2.1"
       sources."restore-cursor-1.0.1"
       sources."resumer-0.0.0"
@@ -120760,7 +120913,7 @@ in
         ];
       })
       sources."snapdragon-util-3.0.1"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."sodium-browserify-1.3.0"
       (sources."sodium-browserify-tweetnacl-0.2.6" // {
         dependencies = [
@@ -120791,7 +120944,7 @@ in
         ];
       })
       sources."ssb-db-19.2.0"
-      (sources."ssb-db2-2.8.6" // {
+      (sources."ssb-db2-2.8.9" // {
         dependencies = [
           sources."abstract-leveldown-6.2.3"
           (sources."flumecodec-0.0.1" // {
@@ -120845,9 +120998,9 @@ in
       sources."ssb-query-2.4.5"
       sources."ssb-ref-2.16.0"
       sources."ssb-replicate-1.3.3"
-      sources."ssb-typescript-2.5.0"
+      sources."ssb-typescript-2.6.0"
       sources."ssb-unix-socket-1.0.0"
-      sources."ssb-uri2-1.6.0"
+      sources."ssb-uri2-1.7.0"
       (sources."ssb-validate-4.1.4" // {
         dependencies = [
           sources."ssb-keys-8.2.0"
@@ -120889,9 +121042,10 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."supports-color-2.0.0"
-      (sources."tape-4.14.0" // {
+      sources."supports-preserve-symlinks-flag-1.0.0"
+      (sources."tape-4.15.0" // {
         dependencies = [
-          sources."glob-7.1.7"
+          sources."glob-7.2.0"
         ];
       })
       sources."text-table-0.2.0"
@@ -120940,7 +121094,7 @@ in
       })
       sources."untildify-2.1.0"
       sources."urix-0.1.0"
-      sources."url-parse-1.5.4"
+      sources."url-parse-1.5.9"
       sources."use-3.1.1"
       sources."user-home-2.0.0"
       sources."utf8-byte-length-1.0.4"
@@ -120959,7 +121113,7 @@ in
       sources."word-wrap-1.2.3"
       sources."wrap-fn-0.1.5"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xtend-4.0.2"
       sources."zerr-1.0.4"
     ];
@@ -121011,7 +121165,7 @@ in
       })
       sources."@types/babel-types-7.0.11"
       sources."@types/babylon-6.16.6"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."acorn-3.3.0"
       (sources."acorn-globals-3.1.0" // {
         dependencies = [
@@ -121059,7 +121213,7 @@ in
       sources."async-1.5.2"
       sources."async-limiter-1.0.1"
       sources."asynckit-0.4.0"
-      (sources."aws-sdk-2.1062.0" // {
+      (sources."aws-sdk-2.1077.0" // {
         dependencies = [
           sources."uuid-3.3.2"
         ];
@@ -121087,9 +121241,9 @@ in
       sources."bindings-1.2.1"
       sources."blob-0.0.5"
       sources."bluebird-2.11.0"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."qs-6.9.6"
+          sources."qs-6.9.7"
         ];
       })
       sources."boom-2.10.1"
@@ -121103,7 +121257,7 @@ in
       sources."bunyan-1.8.15"
       sources."busboy-0.2.14"
       sources."bytebuffer-3.5.5"
-      sources."bytes-3.1.1"
+      sources."bytes-3.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-1.2.1"
       sources."caseless-0.11.0"
@@ -121203,7 +121357,7 @@ in
       sources."end-of-stream-1.4.4"
       (sources."engine.io-3.5.0" // {
         dependencies = [
-          sources."cookie-0.4.1"
+          sources."cookie-0.4.2"
           sources."debug-4.1.1"
           sources."ws-7.4.6"
         ];
@@ -121229,11 +121383,11 @@ in
           sources."cross-spawn-6.0.5"
         ];
       })
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
-          sources."cookie-0.4.1"
+          sources."cookie-0.4.2"
           sources."proxy-addr-2.0.7"
-          sources."qs-6.9.6"
+          sources."qs-6.9.7"
           sources."safe-buffer-5.2.1"
         ];
       })
@@ -121252,7 +121406,7 @@ in
       sources."fd-slicer-1.1.0"
       sources."finalhandler-1.1.2"
       sources."find-up-3.0.0"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."forever-agent-0.6.1"
       sources."form-data-2.1.4"
       sources."formidable-1.2.6"
@@ -121425,7 +121579,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."minicap-prebuilt-2.3.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minitouch-prebuilt-1.2.0"
       sources."mkdirp-0.5.5"
@@ -121439,7 +121593,7 @@ in
       sources."native-promise-only-0.8.1"
       sources."ncp-2.0.0"
       sources."needle-1.6.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."nice-try-1.0.5"
       sources."node-forge-0.7.6"
       sources."node-uuid-1.4.8"
@@ -121529,7 +121683,7 @@ in
       sources."randexp-0.4.9"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."read-pkg-1.1.0"
       (sources."read-pkg-up-1.0.1" // {
         dependencies = [
@@ -121593,7 +121747,7 @@ in
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-1.0.0"
       sources."sntp-1.0.9"
       (sources."socket.io-2.4.1" // {
@@ -121837,10 +121991,10 @@ in
   stylelint = nodeEnv.buildNodePackage {
     name = "stylelint";
     packageName = "stylelint";
-    version = "14.3.0";
+    version = "14.5.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.3.0.tgz";
-      sha512 = "PZXSwtJe4f4qBPWBwAbHL0M0Qjrv8iHN+cLpUNsffaVMS3YzpDDRI73+2lsqLAYfQEzxRwpll6BDKImREbpHWA==";
+      url = "https://registry.npmjs.org/stylelint/-/stylelint-14.5.1.tgz";
+      sha512 = "8Hf4HtnhxlWlf7iXF9zFfhSc3X0teRnVzl6PqPs2JEFx+dy/mhMhghZfiTDW4QG0ihDw9+WP7GZw5Nzx7cQF5A==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -121852,7 +122006,7 @@ in
       sources."@types/minimist-1.2.2"
       sources."@types/normalize-package-data-2.4.1"
       sources."@types/parse-json-4.0.0"
-      sources."ajv-8.9.0"
+      sources."ajv-8.10.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-3.2.1"
       sources."array-union-2.1.0"
@@ -121875,6 +122029,7 @@ in
       sources."colord-2.9.2"
       sources."concat-map-0.0.1"
       sources."cosmiconfig-7.0.1"
+      sources."css-functions-list-3.0.1"
       sources."cssesc-3.0.0"
       sources."debug-4.3.3"
       sources."decamelize-1.2.0"
@@ -121896,7 +122051,7 @@ in
       sources."fill-range-7.0.1"
       sources."find-up-4.1.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."get-stdin-8.0.0"
@@ -121932,7 +122087,6 @@ in
       sources."is-plain-obj-1.1.0"
       sources."is-plain-object-5.0.0"
       sources."is-regexp-2.1.0"
-      sources."is-typedarray-1.0.0"
       sources."isexe-2.0.0"
       sources."js-tokens-4.0.0"
       sources."json-parse-even-better-errors-2.3.1"
@@ -121949,10 +122103,10 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."normalize-package-data-3.0.3"
       sources."normalize-path-3.0.0"
       sources."normalize-selector-0.2.0"
@@ -121968,7 +122122,7 @@ in
       sources."path-type-4.0.0"
       sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
-      sources."postcss-8.4.5"
+      sources."postcss-8.4.6"
       sources."postcss-media-query-parser-0.2.3"
       sources."postcss-resolve-nested-selector-0.1.1"
       sources."postcss-safe-parser-6.0.0"
@@ -121998,7 +122152,7 @@ in
       sources."rimraf-3.0.2"
       sources."run-parallel-1.2.0"
       sources."semver-7.3.5"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       (sources."slice-ansi-4.0.0" // {
         dependencies = [
@@ -122030,14 +122184,13 @@ in
       sources."to-regex-range-5.0.1"
       sources."trim-newlines-3.0.1"
       sources."type-fest-0.18.1"
-      sources."typedarray-to-buffer-4.0.0"
       sources."uri-js-4.4.1"
       sources."util-deprecate-1.0.2"
       sources."v8-compile-cache-2.3.0"
       sources."validate-npm-package-license-3.0.4"
       sources."which-1.3.1"
       sources."wrappy-1.0.2"
-      sources."write-file-atomic-4.0.0"
+      sources."write-file-atomic-4.0.1"
       sources."yallist-4.0.0"
       sources."yaml-1.10.2"
       sources."yargs-parser-20.2.9"
@@ -122129,7 +122282,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-1.2.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.3"
       (sources."mkdirp-0.5.5" // {
         dependencies = [
@@ -122158,7 +122311,7 @@ in
       sources."rxjs-6.6.7"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."split-0.3.1"
       sources."sshpk-1.17.0"
       sources."string-width-2.1.1"
@@ -122192,16 +122345,16 @@ in
   svelte-check = nodeEnv.buildNodePackage {
     name = "svelte-check";
     packageName = "svelte-check";
-    version = "2.3.0";
+    version = "2.4.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.3.0.tgz";
-      sha512 = "SBKdJyUmxzPmJf/ZPqDSQOoa9JzOcgEpV7u3UaYcgVn7fA0veZ3FA5JgLU8KYtf84Gp6guBVcrC7XKLjJa5SXQ==";
+      url = "https://registry.npmjs.org/svelte-check/-/svelte-check-2.4.5.tgz";
+      sha512 = "nRft8BbG2wcxyCdHDZ7X43xLcvDzua3xLwq6wzHGcAF3ka3Jyhv2rvgq0+SF9NwHLMefp9C2XkM6etzsxK/cMQ==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -122234,7 +122387,7 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."mri-1.2.0"
@@ -122256,7 +122409,7 @@ in
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
       sources."strip-indent-3.0.0"
-      sources."svelte-preprocess-4.10.2"
+      sources."svelte-preprocess-4.10.3"
       sources."to-regex-range-5.0.1"
       sources."typescript-4.5.5"
       sources."wrappy-1.0.2"
@@ -122274,19 +122427,19 @@ in
   svelte-language-server = nodeEnv.buildNodePackage {
     name = "svelte-language-server";
     packageName = "svelte-language-server";
-    version = "0.14.18";
+    version = "0.14.22";
     src = fetchurl {
-      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.18.tgz";
-      sha512 = "/qHEz7D2MUZVpUk8biYx6Xfk2W8SHeWOsQdrKLcJ5SH7MrwgxcIg5RRAEgMrrT4WyTNzD9IOQWVSokd+yS84Ww==";
+      url = "https://registry.npmjs.org/svelte-language-server/-/svelte-language-server-0.14.22.tgz";
+      sha512 = "zE/lE7aBagckw9ZIV+zySd3/LbU5tEw2f+WEjvrr74AHGW0DuTHdj9x6Hx1N0LbnQ7/OVkhCCxsRfbvLUL724Q==";
     };
     dependencies = [
-      sources."@emmetio/abbreviation-2.2.2"
+      sources."@emmetio/abbreviation-2.2.3"
       sources."@emmetio/css-abbreviation-2.1.4"
       sources."@emmetio/scanner-1.0.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/pug-2.0.6"
       sources."@types/sass-1.43.1"
       sources."anymatch-3.1.2"
@@ -122299,7 +122452,7 @@ in
       sources."concat-map-0.0.1"
       sources."dedent-js-1.0.1"
       sources."detect-indent-6.1.0"
-      sources."emmet-2.3.5"
+      sources."emmet-2.3.6"
       sources."es6-promise-3.3.1"
       sources."estree-walker-2.0.2"
       sources."fast-glob-3.2.11"
@@ -122323,7 +122476,7 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."no-case-3.0.4"
@@ -122344,13 +122497,13 @@ in
       sources."source-map-0.7.3"
       sources."sourcemap-codec-1.4.8"
       sources."strip-indent-3.0.0"
-      sources."svelte-3.46.2"
-      sources."svelte-preprocess-4.10.2"
-      sources."svelte2tsx-0.4.14"
+      sources."svelte-3.46.4"
+      sources."svelte-preprocess-4.10.3"
+      sources."svelte2tsx-0.5.5"
       sources."to-regex-range-5.0.1"
       sources."tslib-2.3.1"
       sources."typescript-4.5.5"
-      sources."vscode-css-languageservice-5.1.9"
+      sources."vscode-css-languageservice-5.1.13"
       (sources."vscode-emmet-helper-2.6.4" // {
         dependencies = [
           sources."vscode-uri-2.1.2"
@@ -122369,7 +122522,7 @@ in
           sources."vscode-jsonrpc-6.0.0"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-nls-5.0.0"
       sources."vscode-uri-3.0.3"
@@ -122757,7 +122910,7 @@ in
       sources."mime-1.6.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-0.0.8"
       sources."mixin-deep-1.3.2"
       sources."mkdirp-0.5.1"
@@ -122894,7 +123047,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."side-channel-1.0.4"
       sources."sigmund-1.0.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-1.0.0"
       (sources."snapdragon-0.8.2" // {
         dependencies = [
@@ -123006,7 +123159,7 @@ in
       sources."truncate-utf8-bytes-1.0.2"
       sources."type-is-1.6.18"
       sources."typedarray-0.0.6"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."undefsafe-2.0.5"
       (sources."union-value-1.0.1" // {
         dependencies = [
@@ -123066,10 +123219,10 @@ in
   tailwindcss = nodeEnv.buildNodePackage {
     name = "tailwindcss";
     packageName = "tailwindcss";
-    version = "3.0.15";
+    version = "3.0.23";
     src = fetchurl {
-      url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.15.tgz";
-      sha512 = "bT2iy7FtjwgsXik4ZoJnHXR+SRCiGR1W95fVqpLZebr64m4ahwUwRbIAc5w5+2fzr1YF4Ct2eI7dojMRRl8sVQ==";
+      url = "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.0.23.tgz";
+      sha512 = "+OZOV9ubyQ6oI2BXEhzw4HrqvgcARY38xv3zKcjnWtMIZstEsXdI9xftd1iB7+RbOnj2HOEzkA0OyB5BaSxPQA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -123140,15 +123293,18 @@ in
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
       sources."minimist-1.2.5"
+      sources."nanoid-3.3.1"
       sources."normalize-path-3.0.0"
       sources."object-hash-2.2.0"
       sources."parent-module-1.0.1"
       sources."parse-json-5.2.0"
       sources."path-parse-1.0.7"
       sources."path-type-4.0.0"
+      sources."picocolors-1.0.0"
       sources."picomatch-2.3.1"
+      sources."postcss-8.4.6"
       sources."postcss-js-4.0.0"
-      sources."postcss-load-config-3.1.1"
+      sources."postcss-load-config-3.1.3"
       sources."postcss-nested-5.0.6"
       sources."postcss-selector-parser-6.0.9"
       sources."postcss-value-parser-4.2.0"
@@ -123159,6 +123315,7 @@ in
       sources."resolve-from-4.0.0"
       sources."reusify-1.0.4"
       sources."run-parallel-1.2.0"
+      sources."source-map-js-1.0.2"
       sources."supports-color-7.2.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."to-regex-range-5.0.1"
@@ -123280,7 +123437,7 @@ in
       sources."tr46-0.0.3"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-1.0.3"
-      sources."typegram-3.7.0"
+      sources."typegram-3.8.0"
       sources."uri-js-4.4.1"
       sources."uuid-3.4.0"
       sources."verror-1.10.0"
@@ -123351,7 +123508,7 @@ in
       sources."inherits-2.0.4"
       sources."isarray-1.0.0"
       sources."memory-fs-0.3.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."object-assign-4.1.1"
       sources."once-1.4.0"
       sources."path-is-absolute-1.0.1"
@@ -123431,7 +123588,7 @@ in
       sources."@textlint/utils-12.1.0"
       sources."@types/mdast-3.0.10"
       sources."@types/unist-2.0.6"
-      sources."ajv-8.9.0"
+      sources."ajv-8.10.0"
       sources."ansi-regex-2.1.1"
       sources."ansi-styles-2.2.1"
       sources."argparse-1.0.10"
@@ -123541,7 +123698,7 @@ in
       sources."micromark-extension-gfm-table-0.4.3"
       sources."micromark-extension-gfm-tagfilter-0.3.0"
       sources."micromark-extension-gfm-task-list-item-0.3.3"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
@@ -123904,7 +124061,7 @@ in
       sources."meow-7.1.1"
       sources."mimic-response-1.0.1"
       sources."min-indent-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-4.1.0"
       sources."ms-2.1.2"
@@ -123980,7 +124137,7 @@ in
           sources."semver-6.3.0"
         ];
       })
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sliced-1.0.1"
       sources."space-separated-tokens-1.1.5"
       (sources."spawn-to-readstream-0.1.3" // {
@@ -124489,7 +124646,7 @@ in
       sha512 = "dkVdH21q9vipV7UU10qQQprPuP8rG+IDJSHUtmOC0WDYvwYTiUC9IYLIpkyWdgfwFYegDTnnR4duHNZynqOXTA==";
     };
     dependencies = [
-      sources."@sindresorhus/is-4.3.0"
+      sources."@sindresorhus/is-4.4.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
@@ -124498,11 +124655,15 @@ in
       sources."@types/cors-2.8.12"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
-      sources."accepts-1.3.7"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
       (sources."agent-base-6.0.2" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -124564,7 +124725,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.2.1"
@@ -124597,7 +124758,7 @@ in
       sources."end-of-stream-1.4.4"
       (sources."engine.io-4.1.2" // {
         dependencies = [
-          sources."cookie-0.4.1"
+          sources."cookie-0.4.2"
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
@@ -124706,7 +124867,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.3.1"
       sources."linkify-it-3.0.3"
@@ -124718,11 +124879,15 @@ in
       sources."methods-1.1.2"
       sources."middleware-handler-0.2.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.50.0"
-      sources."mime-types-2.1.33"
+      sources."mime-db-1.51.0"
+      (sources."mime-types-2.1.33" // {
+        dependencies = [
+          sources."mime-db-1.50.0"
+        ];
+      })
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
         dependencies = [
@@ -124739,7 +124904,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-addon-api-3.2.1"
       sources."node-forge-0.10.0"
       (sources."node-gyp-3.8.0" // {
@@ -124803,7 +124968,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
       sources."pify-4.0.1"
       sources."precond-0.2.3"
@@ -124847,7 +125012,7 @@ in
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
       (sources."socket.io-3.1.2" // {
         dependencies = [
@@ -124862,7 +125027,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."sqlite3-5.0.2"
       sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
@@ -124883,7 +125048,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.2.4"
+      sources."strtok3-6.3.0"
       sources."supports-color-7.2.0"
       (sources."tar-4.4.19" // {
         dependencies = [
@@ -124954,7 +125119,7 @@ in
       sha512 = "o24rZwvzeMbbvuara2bGaX6eHw925aQw1BZhl7VHtY6xlWrJ9Sy7P29/Q2GQNIP4Otzcf09TX29zTBbRjKbrSA==";
     };
     dependencies = [
-      sources."@sindresorhus/is-4.3.0"
+      sources."@sindresorhus/is-4.4.0"
       sources."@szmarczak/http-timer-4.0.6"
       sources."@tokenizer/token-0.3.0"
       sources."@types/cacheable-request-6.0.2"
@@ -124963,11 +125128,15 @@ in
       sources."@types/cors-2.8.12"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
-      sources."accepts-1.3.7"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
       (sources."agent-base-6.0.2" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -125029,7 +125198,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
       sources."cors-2.8.5"
       sources."css-select-4.2.1"
@@ -125062,7 +125231,7 @@ in
       sources."end-of-stream-1.4.4"
       (sources."engine.io-4.1.2" // {
         dependencies = [
-          sources."cookie-0.4.1"
+          sources."cookie-0.4.2"
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
@@ -125171,7 +125340,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.3.1"
       sources."linkify-it-3.0.3"
@@ -125183,11 +125352,15 @@ in
       sources."methods-1.1.2"
       sources."middleware-handler-0.2.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.50.0"
-      sources."mime-types-2.1.33"
+      sources."mime-db-1.51.0"
+      (sources."mime-types-2.1.33" // {
+        dependencies = [
+          sources."mime-db-1.50.0"
+        ];
+      })
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       (sources."minipass-2.9.0" // {
         dependencies = [
@@ -125204,7 +125377,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-addon-api-3.2.1"
       sources."node-forge-0.10.0"
       (sources."node-gyp-3.8.0" // {
@@ -125268,7 +125441,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
       sources."pify-4.0.1"
       sources."precond-0.2.3"
@@ -125312,7 +125485,7 @@ in
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."smart-buffer-4.2.0"
       (sources."socket.io-3.1.2" // {
         dependencies = [
@@ -125327,7 +125500,7 @@ in
           sources."ms-2.1.2"
         ];
       })
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."sqlite3-5.0.2"
       sources."sshpk-1.17.0"
       sources."statuses-1.5.0"
@@ -125348,7 +125521,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.2.4"
+      sources."strtok3-6.3.0"
       sources."supports-color-7.2.0"
       (sources."tar-4.4.19" // {
         dependencies = [
@@ -125424,7 +125597,11 @@ in
       sources."@szmarczak/http-timer-1.1.2"
       sources."abbrev-1.1.1"
       sources."abstract-logging-1.0.0"
-      sources."accepts-1.3.7"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
       sources."after-0.8.2"
       sources."agent-base-4.3.0"
       sources."ajv-6.12.6"
@@ -125501,7 +125678,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -125655,11 +125832,15 @@ in
       sources."methods-1.1.2"
       sources."middleware-handler-0.2.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.40.0"
-      sources."mime-types-2.1.24"
+      sources."mime-db-1.51.0"
+      (sources."mime-types-2.1.24" // {
+        dependencies = [
+          sources."mime-db-1.40.0"
+        ];
+      })
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
@@ -125673,7 +125854,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       (sources."node-pre-gyp-0.11.0" // {
         dependencies = [
           sources."semver-5.7.1"
@@ -125749,7 +125930,7 @@ in
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."socket.io-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -125824,7 +126005,7 @@ in
       sources."wide-align-1.1.5"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.19.1"
@@ -125861,15 +126042,15 @@ in
   thelounge-theme-abyss = nodeEnv.buildNodePackage {
     name = "thelounge-theme-abyss";
     packageName = "thelounge-theme-abyss";
-    version = "1.1.0";
+    version = "2.0.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/thelounge-theme-abyss/-/thelounge-theme-abyss-1.1.0.tgz";
-      sha512 = "wNrWWjWKE7C4Ws3CK/s7B2OKf1kG3ZASFwwQErQ0pJT0ggY1VKVWCU8ywz2Ps+rY9V/X1ygaWhMJeYC84U8feg==";
+      url = "https://registry.npmjs.org/thelounge-theme-abyss/-/thelounge-theme-abyss-2.0.2.tgz";
+      sha512 = "1TrJGKqrk+zltLhythNDfEScgt1FL8b1j+3+tPno1yN06vm3yn8dRQlNesMP52op5jX+xJqA5jBFQGMQYSS19g==";
     };
     buildInputs = globalBuildInputs;
     meta = {
       description = "A theme for The Lounge";
-      homepage = "https://github.com/sometoby/thelounge-theme-abyss";
+      homepage = "https://github.com/rj45man/thelounge-theme-abyss";
       license = "GPL-3";
     };
     production = true;
@@ -126089,11 +126270,15 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
-      sources."accepts-1.3.7"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
       sources."after-0.8.2"
       (sources."agent-base-6.0.2" // {
         dependencies = [
@@ -126165,7 +126350,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -126299,7 +126484,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.1.1"
       sources."linkify-it-3.0.2"
@@ -126310,11 +126495,15 @@ in
       sources."methods-1.1.2"
       sources."middleware-handler-0.2.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.51.0"
+      (sources."mime-types-2.1.27" // {
+        dependencies = [
+          sources."mime-db-1.44.0"
+        ];
+      })
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
@@ -126327,7 +126516,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-addon-api-2.0.0"
       sources."node-forge-0.9.1"
       (sources."node-gyp-3.8.0" // {
@@ -126390,7 +126579,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
       sources."pify-4.0.1"
       sources."precond-0.2.3"
@@ -126433,7 +126622,7 @@ in
       sources."serve-static-1.14.1"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."socket.io-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -126475,7 +126664,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.2.4"
+      sources."strtok3-6.3.0"
       sources."supports-color-7.2.0"
       sources."tar-4.4.19"
       sources."thelounge-4.2.0"
@@ -126515,7 +126704,7 @@ in
       sources."wide-align-1.1.5"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.22.4"
@@ -126546,11 +126735,15 @@ in
       sources."@types/cacheable-request-6.0.2"
       sources."@types/http-cache-semantics-4.0.1"
       sources."@types/keyv-3.1.3"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
       sources."abstract-logging-2.0.1"
-      sources."accepts-1.3.7"
+      (sources."accepts-1.3.8" // {
+        dependencies = [
+          sources."mime-types-2.1.34"
+        ];
+      })
       sources."after-0.8.2"
       (sources."agent-base-6.0.2" // {
         dependencies = [
@@ -126622,7 +126815,7 @@ in
       sources."content-type-1.0.4"
       sources."cookie-0.4.0"
       sources."cookie-signature-1.0.6"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.2"
       sources."css-select-1.2.0"
       sources."css-what-2.1.3"
@@ -126756,7 +126949,7 @@ in
       })
       sources."jwa-2.0.0"
       sources."jws-4.0.0"
-      sources."keyv-4.0.5"
+      sources."keyv-4.1.1"
       sources."ldap-filter-0.3.3"
       sources."ldapjs-2.1.1"
       sources."linkify-it-3.0.2"
@@ -126767,11 +126960,15 @@ in
       sources."methods-1.1.2"
       sources."middleware-handler-0.2.0"
       sources."mime-1.6.0"
-      sources."mime-db-1.44.0"
-      sources."mime-types-2.1.27"
+      sources."mime-db-1.51.0"
+      (sources."mime-types-2.1.27" // {
+        dependencies = [
+          sources."mime-db-1.44.0"
+        ];
+      })
       sources."mimic-response-1.0.1"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-2.9.0"
       sources."minizlib-1.3.3"
@@ -126784,7 +126981,7 @@ in
           sources."ms-2.1.3"
         ];
       })
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-addon-api-2.0.0"
       sources."node-forge-0.9.1"
       (sources."node-gyp-3.8.0" // {
@@ -126847,7 +127044,7 @@ in
       sources."parseurl-1.3.3"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
-      sources."peek-readable-4.0.2"
+      sources."peek-readable-4.1.0"
       sources."performance-now-2.1.0"
       sources."pify-4.0.1"
       sources."precond-0.2.3"
@@ -126890,7 +127087,7 @@ in
       sources."serve-static-1.14.1"
       sources."set-blocking-2.0.0"
       sources."setprototypeof-1.1.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       (sources."socket.io-2.3.0" // {
         dependencies = [
           sources."debug-4.1.1"
@@ -126932,7 +127129,7 @@ in
       sources."strip-ansi-3.0.1"
       sources."strip-json-comments-2.0.1"
       sources."strip-outer-1.0.1"
-      sources."strtok3-6.2.4"
+      sources."strtok3-6.3.0"
       sources."supports-color-7.2.0"
       sources."tar-4.4.19"
       sources."thelounge-4.2.0"
@@ -126972,7 +127169,7 @@ in
       sources."wide-align-1.1.5"
       sources."with-open-file-0.1.7"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xmlhttprequest-ssl-1.5.5"
       sources."yallist-3.1.1"
       sources."yarn-1.22.4"
@@ -127387,10 +127584,10 @@ in
   three = nodeEnv.buildNodePackage {
     name = "three";
     packageName = "three";
-    version = "0.136.0";
+    version = "0.137.5";
     src = fetchurl {
-      url = "https://registry.npmjs.org/three/-/three-0.136.0.tgz";
-      sha512 = "+fEMX7nYLz2ZesVP/dyifli5Jf8gR3XPAnFJveQ80aMhibFduzrADnjMbARXh8+W9qLK7rshJCjAIL/6cDxC+A==";
+      url = "https://registry.npmjs.org/three/-/three-0.137.5.tgz";
+      sha512 = "rTyr+HDFxjnN8+N/guZjDgfVxgHptZQpf6xfL/Mo7a5JYIFwK6tAq3bzxYYB4Ae0RosDZlDuP+X5aXDXz+XnHQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -127441,7 +127638,7 @@ in
       sources."@octokit/request-error-2.1.0"
       sources."@octokit/rest-18.12.0"
       sources."@octokit/types-6.34.0"
-      sources."@xmldom/xmldom-0.8.0"
+      sources."@xmldom/xmldom-0.8.1"
       sources."ajv-6.12.6"
       sources."asn1-0.2.6"
       sources."assert-plus-1.0.0"
@@ -127502,7 +127699,7 @@ in
       sources."lru-cache-6.0.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."node-appc-1.1.3"
@@ -127634,7 +127831,7 @@ in
       sources."lru-cache-4.1.5"
       sources."lstream-0.0.4"
       sources."mime-1.6.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-0.0.8"
       sources."mkdirp-0.5.1"
       sources."moment-2.29.1"
@@ -127786,7 +127983,7 @@ in
       sources."has-ansi-2.0.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-0.0.10"
       sources."node-color-readline-1.0.1"
       sources."once-1.4.0"
@@ -127813,10 +128010,10 @@ in
   ttf2eot = nodeEnv.buildNodePackage {
     name = "ttf2eot";
     packageName = "ttf2eot";
-    version = "3.0.0";
+    version = "3.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ttf2eot/-/ttf2eot-3.0.0.tgz";
-      sha512 = "Y/ymhhYr/lLkf66BnLQBs3LjttPDE+1BJcFHq/oJN5SnZTacMWVdPfGLB5eIVnC2iT9gZ2ls/Bre2zbKq6hNsA==";
+      url = "https://registry.npmjs.org/ttf2eot/-/ttf2eot-3.1.0.tgz";
+      sha512 = "aHTbcYosNHVqb2Qtt9Xfta77ae/5y0VfdwNLUS6sGBeGr22cX2JDMo/i5h3uuOf+FAD3akYOr17+fYd5NK8aXw==";
     };
     dependencies = [
       sources."argparse-2.0.1"
@@ -127852,10 +128049,10 @@ in
   typescript-language-server = nodeEnv.buildNodePackage {
     name = "typescript-language-server";
     packageName = "typescript-language-server";
-    version = "0.9.4";
+    version = "0.9.6";
     src = fetchurl {
-      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.9.4.tgz";
-      sha512 = "Ku40l2JQyj4rB/qHLRMm/k2nqAppR6equ4LCqiLSOH/tDypsSPjgQfeYJ+gterQbdYOpCqLimiL2AP1BeHpTQw==";
+      url = "https://registry.npmjs.org/typescript-language-server/-/typescript-language-server-0.9.6.tgz";
+      sha512 = "nLB9qvCFq/jRj21tC6SPZgde8JkNbCQZVjoeBHYsCZvzBgSyNh1A1k5puAM9g/kWlEvAlN/G4J8tETbnJySVpg==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -127867,7 +128064,7 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."clean-stack-2.2.0"
-      sources."commander-8.3.0"
+      sources."commander-9.0.0"
       sources."concat-map-0.0.1"
       sources."crypto-random-string-2.0.0"
       sources."del-6.0.0"
@@ -127898,7 +128095,7 @@ in
       sources."lru-cache-6.0.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."once-1.4.0"
       sources."p-debounce-2.1.0"
       sources."p-limit-2.3.0"
@@ -127925,7 +128122,7 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-uri-3.0.3"
       sources."which-2.0.2"
@@ -127944,10 +128141,10 @@ in
   uglify-js = nodeEnv.buildNodePackage {
     name = "uglify-js";
     packageName = "uglify-js";
-    version = "3.14.5";
+    version = "3.15.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.14.5.tgz";
-      sha512 = "qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==";
+      url = "https://registry.npmjs.org/uglify-js/-/uglify-js-3.15.1.tgz";
+      sha512 = "FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==";
     };
     buildInputs = globalBuildInputs;
     meta = {
@@ -127980,22 +128177,28 @@ in
   ungit = nodeEnv.buildNodePackage {
     name = "ungit";
     packageName = "ungit";
-    version = "1.5.18";
+    version = "1.5.19";
     src = fetchurl {
-      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.18.tgz";
-      sha512 = "E8fuVzs7KhfqWyk+MQ+LqP2A0IXFW643Xu2BJCw4iLpmFBoKHl+7AUZ5q4o2qefe1DFoAMijmbFsxbIcmDuvWg==";
+      url = "https://registry.npmjs.org/ungit/-/ungit-1.5.19.tgz";
+      sha512 = "ryOJUymx7IUm7H9Y/3O+amMhhqjfQjkr+cuf2cwYm0UzF+GeBMP8ZtdsnEgi0SjKiwVBCpQkYMNgtSmHAIiukg==";
     };
     dependencies = [
-      sources."@dabh/diagnostics-2.0.2"
-      sources."@primer/octicons-14.1.0"
-      sources."@sindresorhus/is-0.14.0"
-      sources."@szmarczak/http-timer-1.1.2"
+      sources."@colors/colors-1.5.0"
+      sources."@dabh/diagnostics-2.0.3"
+      sources."@primer/octicons-16.3.1"
+      sources."@sindresorhus/is-4.4.0"
+      sources."@socket.io/base64-arraybuffer-1.0.2"
+      sources."@szmarczak/http-timer-4.0.6"
+      sources."@types/cacheable-request-6.0.2"
       sources."@types/component-emitter-1.2.11"
       sources."@types/cookie-0.4.1"
       sources."@types/cors-2.8.12"
-      sources."@types/node-14.18.9"
+      sources."@types/http-cache-semantics-4.0.1"
+      sources."@types/keyv-3.1.3"
+      sources."@types/node-16.11.25"
+      sources."@types/responselike-1.0.0"
       sources."abbrev-1.1.1"
-      sources."accepts-1.3.7"
+      sources."accepts-1.3.8"
       sources."ansi-regex-5.0.1"
       (sources."ansi-styles-4.3.0" // {
         dependencies = [
@@ -128006,19 +128209,14 @@ in
       sources."array-flatten-1.1.1"
       sources."async-3.2.3"
       sources."balanced-match-1.0.2"
-      sources."base64-arraybuffer-0.1.4"
       sources."base64id-2.0.0"
-      sources."blueimp-md5-2.18.0"
-      sources."body-parser-1.19.1"
+      sources."blueimp-md5-2.19.0"
+      sources."body-parser-1.19.2"
       sources."bootstrap-3.4.1"
       sources."brace-expansion-1.1.11"
-      sources."bytes-3.1.1"
-      (sources."cacheable-request-6.1.0" // {
-        dependencies = [
-          sources."get-stream-5.2.0"
-          sources."lowercase-keys-2.0.0"
-        ];
-      })
+      sources."bytes-3.1.2"
+      sources."cacheable-lookup-5.0.4"
+      sources."cacheable-request-7.0.2"
       sources."cliui-7.0.4"
       sources."clone-2.1.2"
       sources."clone-response-1.0.2"
@@ -128026,7 +128224,6 @@ in
       sources."color-convert-1.9.3"
       sources."color-name-1.1.3"
       sources."color-string-1.9.0"
-      sources."colors-1.4.0"
       sources."colorspace-1.1.4"
       sources."component-emitter-1.3.0"
       sources."concat-map-0.0.1"
@@ -128038,33 +128235,40 @@ in
       sources."cors-2.8.5"
       sources."crossroads-0.12.2"
       sources."debug-2.6.9"
-      sources."decompress-response-3.3.0"
+      (sources."decompress-response-6.0.0" // {
+        dependencies = [
+          sources."mimic-response-3.1.0"
+        ];
+      })
       sources."deep-extend-0.6.0"
-      sources."defer-to-connect-1.1.3"
+      sources."defer-to-connect-2.0.1"
       sources."define-lazy-prop-2.0.0"
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."diff-5.0.0"
-      sources."diff2html-3.4.14"
+      sources."diff2html-3.4.16"
       sources."dnd-page-scroll-0.0.4"
-      sources."duplexer3-0.1.4"
       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."engine.io-5.1.1" // {
+      (sources."engine.io-6.1.2" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
-      sources."engine.io-parser-4.0.3"
+      sources."engine.io-parser-5.0.3"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
       sources."etag-1.8.1"
       sources."eve-0.5.4"
-      sources."express-4.17.2"
+      (sources."express-4.17.3" // {
+        dependencies = [
+          sources."cookie-0.4.2"
+        ];
+      })
       (sources."express-session-1.17.2" // {
         dependencies = [
           sources."depd-2.0.0"
@@ -128077,10 +128281,10 @@ in
       sources."fresh-0.5.2"
       sources."fs.realpath-1.0.0"
       sources."get-caller-file-2.0.5"
-      sources."get-stream-4.1.0"
-      sources."getmac-5.17.0"
+      sources."get-stream-5.2.0"
+      sources."getmac-5.20.0"
       sources."glob-7.2.0"
-      sources."got-9.6.0"
+      sources."got-11.8.3"
       sources."hasher-1.2.0"
       (sources."hogan.js-3.0.2" // {
         dependencies = [
@@ -128089,8 +128293,9 @@ in
       })
       sources."http-cache-semantics-4.1.0"
       sources."http-errors-1.8.1"
+      sources."http2-wrapper-1.0.3"
       sources."iconv-lite-0.4.24"
-      sources."ignore-5.1.9"
+      sources."ignore-5.2.0"
       sources."inflight-1.0.6"
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
@@ -128101,24 +128306,23 @@ in
       sources."is-stream-2.0.1"
       sources."is-wsl-2.2.0"
       sources."jquery-3.6.0"
-      sources."jquery-ui-1.12.1"
-      sources."json-buffer-3.0.0"
+      sources."jquery-ui-1.13.1"
+      sources."json-buffer-3.0.1"
       sources."just-detect-adblock-1.1.0"
-      sources."keyv-3.1.0"
+      sources."keyv-4.1.1"
       sources."knockout-3.5.1"
       sources."kuler-2.0.0"
-      sources."latest-version-5.1.0"
-      sources."locks-0.2.2"
+      sources."latest-version-6.0.0"
       sources."lodash-4.17.21"
-      (sources."logform-2.3.2" // {
+      (sources."logform-2.4.0" // {
         dependencies = [
           sources."ms-2.1.3"
         ];
       })
-      sources."lowercase-keys-1.0.1"
+      sources."lowercase-keys-2.0.0"
       sources."lru-cache-4.1.5"
       sources."media-typer-0.3.0"
-      (sources."memorystore-1.6.6" // {
+      (sources."memorystore-1.6.7" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -128130,53 +128334,52 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
       sources."moment-2.29.1"
       sources."ms-2.0.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-cache-5.1.2"
+      sources."node-watch-0.7.3"
       sources."nopt-1.0.10"
-      sources."normalize-url-4.5.1"
+      sources."normalize-url-6.1.0"
       sources."nprogress-0.2.0"
       sources."object-assign-4.1.1"
       sources."on-finished-2.3.0"
       sources."on-headers-1.0.2"
       sources."once-1.4.0"
       sources."one-time-1.0.0"
-      sources."open-8.1.0"
-      sources."p-cancelable-1.1.0"
-      (sources."package-json-6.5.0" // {
-        dependencies = [
-          sources."semver-6.3.0"
-        ];
-      })
+      sources."open-8.4.0"
+      sources."p-cancelable-2.1.1"
+      sources."p-limit-4.0.0"
+      sources."package-json-7.0.0"
       sources."parseurl-1.3.3"
-      sources."passport-0.4.1"
+      sources."passport-0.5.2"
       sources."passport-local-1.0.0"
       sources."passport-strategy-1.0.0"
       sources."path-is-absolute-1.0.1"
       sources."path-to-regexp-0.1.7"
       sources."pause-0.0.1"
-      sources."prepend-http-2.0.0"
       sources."proxy-addr-2.0.7"
       sources."pseudomap-1.0.2"
       sources."pump-3.0.0"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
+      sources."quick-lru-5.1.1"
       sources."random-bytes-1.0.0"
       sources."range-parser-1.2.1"
       sources."raven-js-3.27.2"
-      sources."raw-body-2.4.2"
+      sources."raw-body-2.4.3"
       sources."rc-1.2.8"
       sources."readable-stream-3.6.0"
       sources."registry-auth-token-4.2.1"
       sources."registry-url-5.1.0"
       sources."require-directory-2.1.1"
-      sources."responselike-1.0.2"
+      sources."resolve-alpn-1.2.1"
+      sources."responselike-2.0.0"
       sources."rimraf-3.0.2"
       sources."safe-buffer-5.2.1"
-      sources."safe-stable-stringify-1.1.1"
+      sources."safe-stable-stringify-2.3.1"
       sources."safer-buffer-2.1.2"
       (sources."semver-7.3.5" // {
         dependencies = [
@@ -128194,7 +128397,7 @@ in
       sources."signals-1.0.0"
       sources."simple-swizzle-0.2.2"
       sources."snapsvg-0.5.1"
-      (sources."socket.io-4.1.3" // {
+      (sources."socket.io-4.4.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -128220,25 +128423,24 @@ in
         ];
       })
       sources."text-hex-1.0.0"
-      sources."to-readable-stream-1.0.0"
       sources."toidentifier-1.0.1"
       sources."triple-beam-1.3.0"
       sources."type-is-1.6.18"
       sources."uid-safe-2.1.5"
       sources."unpipe-1.0.0"
-      sources."url-parse-lax-3.0.0"
       sources."util-deprecate-1.0.2"
       sources."utils-merge-1.0.1"
       sources."vary-1.1.2"
-      sources."winston-3.3.4"
-      sources."winston-transport-4.4.2"
+      sources."winston-3.5.1"
+      sources."winston-transport-4.5.0"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.4.6"
+      sources."ws-8.2.3"
       sources."y18n-5.0.8"
       sources."yallist-2.1.2"
-      sources."yargs-17.0.1"
-      sources."yargs-parser-20.2.9"
+      sources."yargs-17.3.1"
+      sources."yargs-parser-21.0.0"
+      sources."yocto-queue-1.0.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -128253,10 +128455,10 @@ in
   unified-language-server = nodeEnv.buildNodePackage {
     name = "unified-language-server";
     packageName = "unified-language-server";
-    version = "2.0.0";
+    version = "2.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-2.0.0.tgz";
-      sha512 = "TYqgb2zdbbbEI4vI78HEdPx7UQx2EmN59sZAdL/Cf5dF5yzLMGA2v0LpozY3wLYEqPY/z0ChKK8jjZXeFMWYrw==";
+      url = "https://registry.npmjs.org/unified-language-server/-/unified-language-server-2.1.0.tgz";
+      sha512 = "OJA4rcB3hVvJ4tOYN9YW9EcmRyjTJTzZfbDfSTLy/86CFE8P/LoNEv5GeNR+cdy1+wrJj74jc9yuesB735ml8g==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -128267,7 +128469,7 @@ in
       sources."@types/is-empty-1.2.1"
       sources."@types/js-yaml-4.0.5"
       sources."@types/ms-0.7.31"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/supports-color-8.1.1"
       sources."@types/unist-2.0.6"
       sources."ansi-regex-6.0.1"
@@ -128311,7 +128513,7 @@ in
       sources."load-plugin-4.0.1"
       sources."locate-path-3.0.0"
       sources."lru-cache-6.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."ms-2.1.2"
       sources."once-1.4.0"
       sources."p-limit-2.3.0"
@@ -128328,7 +128530,7 @@ in
       sources."strip-ansi-7.0.1"
       sources."supports-color-5.5.0"
       sources."to-vfile-7.2.3"
-      sources."trough-2.0.2"
+      sources."trough-2.1.0"
       sources."typedarray-0.0.6"
       sources."unified-engine-9.0.5"
       sources."unist-util-inspect-7.0.0"
@@ -128346,7 +128548,7 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."wrappy-1.0.2"
       sources."yallist-4.0.0"
@@ -128436,7 +128638,7 @@ in
         ];
       })
       sources."mimic-response-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
       sources."mkdirp-1.0.4"
@@ -128458,9 +128660,9 @@ in
       sources."safer-buffer-2.1.2"
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      sources."simple-get-3.1.1"
       sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
       sources."strip-ansi-6.0.1"
@@ -128569,20 +128771,20 @@ in
   vercel = nodeEnv.buildNodePackage {
     name = "vercel";
     packageName = "vercel";
-    version = "23.1.2";
+    version = "24.0.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/vercel/-/vercel-23.1.2.tgz";
-      sha512 = "uS1k7wuXI6hbxiW+kn9vdAWL0bBi4jjVxc7Jwp8NhJjcRuzlydtt3gUEnhnC9AOIKQ4LxoAgmg50lSyYkrC8Hg==";
+      url = "https://registry.npmjs.org/vercel/-/vercel-24.0.0.tgz";
+      sha512 = "RMIfXipcbyONxWCUgzh6yaDEFlzMFLV+3ug+mGeQg45F9JmUfwXHiiLUDEWDnt9598CEN0V0P0DcKUCOQNNX6w==";
     };
     dependencies = [
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.10"
-      sources."@vercel/build-utils-2.12.2"
-      sources."@vercel/go-1.2.3"
-      sources."@vercel/node-1.12.1"
-      sources."@vercel/python-2.0.5"
-      sources."@vercel/ruby-1.2.7"
+      sources."@types/node-17.0.19"
+      sources."@vercel/build-utils-2.14.0"
+      sources."@vercel/go-1.3.0"
+      sources."@vercel/node-1.13.0"
+      sources."@vercel/python-2.2.0"
+      sources."@vercel/ruby-1.3.0"
       sources."ansi-align-3.0.1"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
@@ -128652,7 +128854,7 @@ in
       sources."responselike-1.0.2"
       sources."semver-6.3.0"
       sources."semver-diff-3.1.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."string-width-4.2.3"
@@ -128793,14 +128995,14 @@ in
       sources."fast-levenshtein-2.0.6"
       sources."file-entry-cache-6.0.1"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fs.realpath-1.0.0"
       sources."function-bind-1.1.1"
       sources."functional-red-black-tree-1.0.1"
       sources."get-intrinsic-1.1.1"
       sources."glob-7.2.0"
       sources."glob-parent-5.1.2"
-      sources."globals-13.12.0"
+      sources."globals-13.12.1"
       sources."has-1.0.3"
       sources."has-flag-3.0.0"
       sources."has-symbols-1.0.2"
@@ -128826,7 +129028,7 @@ in
       sources."lodash.merge-4.6.2"
       sources."lodash.truncate-4.4.2"
       sources."lru-cache-6.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.1.2"
@@ -128867,7 +129069,7 @@ in
       sources."supports-preserve-symlinks-flag-1.0.0"
       (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.9.0"
+          sources."ajv-8.10.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
@@ -128992,7 +129194,7 @@ in
       sources."jsonc-parser-3.0.0"
       sources."ms-2.0.0"
       sources."request-light-0.4.0"
-      (sources."vscode-json-languageservice-4.1.10" // {
+      (sources."vscode-json-languageservice-4.2.0" // {
         dependencies = [
           sources."vscode-nls-5.0.0"
         ];
@@ -129000,7 +129202,7 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-nls-4.1.2"
       sources."vscode-uri-3.0.3"
@@ -129050,7 +129252,7 @@ in
           sources."vscode-languageserver-types-3.5.0"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0-next.2"
       sources."vscode-nls-2.0.2"
       sources."vscode-uri-1.0.8"
@@ -129074,22 +129276,22 @@ in
       sha512 = "DTFhpzUhP3M5WA62WT/SVSxtq47R5rbIEznA7svxWD19/+D1iGBrrzAa8LrDCkLUMxyG3gbya99LczV4F9m6Yg==";
     };
     dependencies = [
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."jsonc-parser-3.0.0"
       sources."regenerator-runtime-0.13.9"
       sources."request-light-0.5.7"
       sources."typescript-4.5.5"
-      sources."vscode-css-languageservice-5.1.9"
+      sources."vscode-css-languageservice-5.1.13"
       sources."vscode-html-languageservice-4.2.1"
-      sources."vscode-json-languageservice-4.2.0-next.2"
-      sources."vscode-jsonrpc-8.0.0-next.5"
-      sources."vscode-languageserver-8.0.0-next.6"
-      (sources."vscode-languageserver-protocol-3.17.0-next.12" // {
+      sources."vscode-json-languageservice-4.2.0"
+      sources."vscode-jsonrpc-8.0.0-next.6"
+      sources."vscode-languageserver-8.0.0-next.8"
+      (sources."vscode-languageserver-protocol-3.17.0-next.14" // {
         dependencies = [
-          sources."vscode-languageserver-types-3.17.0-next.6"
+          sources."vscode-languageserver-types-3.17.0-next.7"
         ];
       })
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-nls-5.0.0"
       sources."vscode-uri-3.0.3"
@@ -129105,20 +129307,20 @@ in
     bypassCache = true;
     reconstructLock = true;
   };
-  "vscode-lldb-build-deps-../../misc/vscode-extensions/vscode-lldb/build-deps" = nodeEnv.buildNodePackage {
+  "vscode-lldb-build-deps-../../applications/editors/vscode/extensions/vscode-lldb/build-deps" = nodeEnv.buildNodePackage {
     name = "vscode-lldb";
     packageName = "vscode-lldb";
     version = "1.6.8";
-    src = ../../misc/vscode-extensions/vscode-lldb/build-deps;
+    src = ../../applications/editors/vscode/extensions/vscode-lldb/build-deps;
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.6"
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
-      sources."@types/estree-0.0.50"
+      sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.9"
       sources."@types/mocha-7.0.2"
       sources."@types/node-8.10.66"
-      sources."@types/vscode-1.63.1"
+      sources."@types/vscode-1.64.0"
       sources."@types/yauzl-2.9.2"
       sources."@ungap/promise-all-settled-1.1.2"
       sources."@webassemblyjs/ast-1.11.1"
@@ -129136,9 +129338,9 @@ in
       sources."@webassemblyjs/wasm-opt-1.11.1"
       sources."@webassemblyjs/wasm-parser-1.11.1"
       sources."@webassemblyjs/wast-printer-1.11.1"
-      sources."@webpack-cli/configtest-1.1.0"
-      sources."@webpack-cli/info-1.4.0"
-      sources."@webpack-cli/serve-1.6.0"
+      sources."@webpack-cli/configtest-1.1.1"
+      sources."@webpack-cli/info-1.4.1"
+      sources."@webpack-cli/serve-1.6.1"
       sources."@xtuc/ieee754-1.2.0"
       sources."@xtuc/long-4.2.2"
       sources."acorn-8.7.0"
@@ -129158,12 +129360,12 @@ in
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-stdout-1.3.1"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."buffer-crc32-0.2.13"
       sources."buffer-from-1.1.2"
       sources."call-bind-1.0.2"
       sources."camelcase-6.3.0"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       (sources."chalk-4.1.2" // {
         dependencies = [
           sources."supports-color-7.2.0"
@@ -129203,10 +129405,10 @@ in
       sources."domelementtype-2.2.0"
       sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
-      sources."electron-to-chromium-1.4.51"
+      sources."electron-to-chromium-1.4.71"
       sources."emoji-regex-8.0.0"
       sources."emojis-list-3.0.0"
-      sources."enhanced-resolve-5.8.3"
+      sources."enhanced-resolve-5.9.0"
       sources."entities-2.2.0"
       sources."envinfo-7.8.1"
       sources."errno-0.1.8"
@@ -129262,7 +129464,7 @@ in
       sources."isarray-0.0.1"
       sources."isexe-2.0.0"
       sources."isobject-3.0.1"
-      sources."jest-worker-27.4.6"
+      sources."jest-worker-27.5.1"
       sources."js-yaml-4.0.0"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
@@ -129305,7 +129507,7 @@ in
       sources."mute-stream-0.0.8"
       sources."nanoid-3.1.20"
       sources."neo-async-2.6.2"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
       sources."nth-check-2.0.1"
@@ -129357,7 +129559,7 @@ in
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."side-channel-1.0.4"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
       sources."source-map-support-0.5.21"
       sources."sprintf-js-1.0.3"
@@ -129376,7 +129578,7 @@ in
           sources."source-map-0.7.3"
         ];
       })
-      (sources."terser-webpack-plugin-5.3.0" // {
+      (sources."terser-webpack-plugin-5.3.1" // {
         dependencies = [
           sources."serialize-javascript-6.0.0"
         ];
@@ -129413,8 +129615,8 @@ in
       sources."vscode-debugadapter-testsupport-1.51.0"
       sources."vscode-debugprotocol-1.51.0"
       sources."watchpack-2.3.1"
-      sources."webpack-5.67.0"
-      (sources."webpack-cli-4.9.1" // {
+      sources."webpack-5.69.1"
+      (sources."webpack-cli-4.9.2" // {
         dependencies = [
           sources."commander-7.2.0"
         ];
@@ -129467,13 +129669,10 @@ in
       sha512 = "swQ0bfyJSWfFr42IXr8A774yA1n+YudhzsaHBKhWSkczSqjvgZvSvM8NEnx6QKnfOHBXbdNR5vhahjNUMlftQQ==";
     };
     dependencies = [
-      sources."absolute-0.0.1"
       sources."ajv-6.12.6"
       sources."ansi-escapes-3.2.0"
-      sources."ansi-red-0.1.1"
       sources."ansi-regex-3.0.0"
       sources."ansi-styles-3.2.1"
-      sources."ansi-wrap-0.1.0"
       sources."argparse-1.0.10"
       sources."array-differ-1.0.0"
       sources."array-union-1.0.2"
@@ -129491,6 +129690,7 @@ in
       sources."bl-1.2.3"
       sources."bluebird-3.7.2"
       sources."brace-expansion-1.1.11"
+      sources."braces-3.0.2"
       sources."buffer-5.7.1"
       sources."buffer-alloc-1.2.0"
       sources."buffer-alloc-unsafe-1.1.0"
@@ -129505,7 +129705,7 @@ in
       sources."cli-cursor-2.1.0"
       sources."cli-spinners-1.3.1"
       sources."cli-width-2.2.1"
-      sources."clone-1.0.4"
+      sources."clone-2.1.2"
       sources."co-3.1.0"
       sources."co-from-stream-0.0.0"
       sources."co-fs-extra-1.2.1"
@@ -129520,6 +129720,7 @@ in
       sources."consolidate-0.14.5"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
+      sources."cross-spawn-7.0.3"
       sources."dashdash-1.14.1"
       sources."decompress-4.2.1"
       sources."decompress-tar-4.1.1"
@@ -129555,6 +129756,7 @@ in
       sources."file-type-5.2.0"
       sources."filename-reserved-regex-2.0.0"
       sources."filenamify-2.1.0"
+      sources."fill-range-7.0.1"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
       sources."fs-constants-1.0.0"
@@ -129567,17 +129769,11 @@ in
       sources."glob-7.2.0"
       sources."got-6.7.1"
       sources."graceful-fs-4.2.9"
-      sources."gray-matter-2.1.1"
+      sources."gray-matter-4.0.3"
       sources."handlebars-4.7.7"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
-      (sources."has-ansi-2.0.0" // {
-        dependencies = [
-          sources."ansi-regex-2.1.1"
-        ];
-      })
       sources."has-flag-3.0.0"
-      sources."has-generators-1.0.1"
       sources."has-symbol-support-x-1.4.2"
       sources."has-to-string-tag-x-1.4.1"
       sources."http-signature-1.2.0"
@@ -129587,10 +129783,10 @@ in
       sources."inherits-2.0.4"
       sources."ini-1.3.8"
       sources."inquirer-6.5.2"
-      sources."is-3.3.0"
       sources."is-extendable-0.1.1"
       sources."is-fullwidth-code-point-2.0.0"
       sources."is-natural-number-4.0.1"
+      sources."is-number-7.0.0"
       sources."is-object-1.0.2"
       sources."is-redirect-1.0.0"
       sources."is-retry-allowed-1.2.0"
@@ -129598,6 +129794,7 @@ in
       sources."is-typedarray-1.0.0"
       sources."is-utf8-0.2.1"
       sources."isarray-1.0.0"
+      sources."isexe-2.0.0"
       sources."isstream-0.1.2"
       sources."isurl-1.0.0"
       sources."js-yaml-3.14.1"
@@ -129607,6 +129804,7 @@ in
       sources."json-stringify-safe-5.0.1"
       sources."jsonfile-2.4.0"
       sources."jsprim-1.4.2"
+      sources."kind-of-6.0.3"
       sources."klaw-1.3.1"
       sources."lodash-4.17.21"
       sources."log-symbols-2.2.0"
@@ -129616,19 +129814,23 @@ in
           sources."pify-3.0.0"
         ];
       })
-      (sources."metalsmith-2.3.0" // {
+      (sources."metalsmith-2.4.2" // {
         dependencies = [
-          sources."ansi-regex-2.1.1"
-          sources."ansi-styles-2.2.1"
-          sources."chalk-1.1.3"
-          sources."strip-ansi-3.0.1"
-          sources."supports-color-2.0.0"
+          sources."ansi-styles-4.3.0"
+          sources."chalk-4.1.2"
+          sources."color-convert-2.0.1"
+          sources."color-name-1.1.4"
+          sources."commander-6.2.1"
+          sources."has-flag-4.0.0"
+          sources."rimraf-3.0.2"
+          sources."supports-color-7.2.0"
         ];
       })
+      sources."micromatch-4.0.4"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-1.2.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."multimatch-2.1.0"
@@ -129647,8 +129849,10 @@ in
       sources."os-homedir-1.0.2"
       sources."os-tmpdir-1.0.2"
       sources."path-is-absolute-1.0.1"
+      sources."path-key-3.1.1"
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
+      sources."picomatch-2.3.1"
       sources."pify-2.3.0"
       sources."pinkie-2.0.4"
       sources."pinkie-promise-2.0.1"
@@ -129664,7 +129868,6 @@ in
           sources."safe-buffer-5.1.2"
         ];
       })
-      sources."recursive-readdir-2.2.2"
       sources."request-2.88.2"
       sources."restore-cursor-2.0.0"
       sources."rimraf-2.7.1"
@@ -129672,13 +129875,16 @@ in
       sources."rxjs-6.6.7"
       sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
+      sources."section-matter-1.0.0"
       sources."seek-bzip-1.0.6"
       sources."semver-5.7.1"
-      sources."signal-exit-3.0.6"
+      sources."shebang-command-2.0.0"
+      sources."shebang-regex-3.0.0"
+      sources."signal-exit-3.0.7"
       sources."source-map-0.6.1"
       sources."sprintf-js-1.0.3"
       sources."sshpk-1.17.0"
-      sources."stat-mode-0.2.2"
+      sources."stat-mode-1.0.0"
       (sources."string-width-2.1.1" // {
         dependencies = [
           sources."strip-ansi-4.0.0"
@@ -129694,6 +129900,7 @@ in
           sources."ansi-regex-4.1.0"
         ];
       })
+      sources."strip-bom-string-1.0.0"
       sources."strip-dirs-2.1.0"
       sources."strip-outer-1.0.1"
       sources."supports-color-5.5.0"
@@ -129705,13 +129912,13 @@ in
       sources."timed-out-4.0.1"
       sources."tmp-0.0.33"
       sources."to-buffer-1.1.1"
-      sources."toml-2.3.6"
+      sources."to-regex-range-5.0.1"
       sources."tough-cookie-2.5.0"
       sources."trim-repeated-1.0.0"
       sources."tslib-1.14.1"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."uglify-js-3.14.5"
+      sources."uglify-js-3.15.1"
       sources."uid-0.0.2"
       sources."unbzip2-stream-1.4.3"
       sources."unyield-0.0.1"
@@ -129729,7 +129936,7 @@ in
         ];
       })
       sources."ware-1.3.0"
-      sources."win-fork-1.1.1"
+      sources."which-2.0.2"
       sources."wordwrap-1.0.0"
       sources."wrap-fn-0.1.5"
       sources."wrappy-1.0.2"
@@ -129774,7 +129981,7 @@ in
       sources."@starptech/rehype-webparser-0.10.0"
       sources."@starptech/webparser-0.10.0"
       sources."@szmarczak/http-timer-1.1.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/unist-2.0.6"
       sources."@types/vfile-3.0.2"
       sources."@types/vfile-message-2.0.0"
@@ -130218,7 +130425,7 @@ in
       sources."micromatch-3.1.10"
       sources."mimic-fn-1.2.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minimist-options-3.0.2"
       (sources."mixin-deep-1.3.2" // {
@@ -130408,7 +130615,7 @@ in
       sources."shebang-regex-1.0.0"
       sources."shellsubstitute-1.2.0"
       sources."sigmund-1.0.1"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-1.0.0"
       sources."slice-ansi-2.1.0"
       (sources."snapdragon-0.8.2" // {
@@ -130639,7 +130846,7 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-5.3.0-next.10"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-nls-5.0.0"
       sources."vscode-textbuffer-1.0.0"
@@ -130700,7 +130907,7 @@ in
       sha512 = "slGcIXCA/j5d2uzQ7flA4/veF0P0eE+Om/Bw7uEO2LC9a3mVNdB+2bSR1CILMjvgyFy9Q9D6eseomQgp7UW5Dg==";
     };
     dependencies = [
-      sources."@babel/runtime-corejs3-7.16.8"
+      sources."@babel/runtime-corejs3-7.17.2"
       sources."@mapbox/node-pre-gyp-1.0.8"
       sources."@tootallnate/once-1.1.2"
       sources."@types/raf-3.4.0"
@@ -130735,7 +130942,7 @@ in
       sources."combined-stream-1.0.8"
       sources."concat-map-0.0.1"
       sources."console-control-strings-1.1.0"
-      sources."core-js-pure-3.20.3"
+      sources."core-js-pure-3.21.1"
       sources."cssom-0.4.4"
       (sources."cssstyle-2.3.0" // {
         dependencies = [
@@ -130806,7 +131013,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-response-2.1.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minizlib-2.1.2"
@@ -130839,9 +131046,9 @@ in
       sources."saxes-5.0.1"
       sources."semver-7.3.5"
       sources."set-blocking-2.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."simple-concat-1.0.1"
-      sources."simple-get-3.1.0"
+      sources."simple-get-3.1.1"
       sources."source-map-0.6.1"
       sources."stackblur-canvas-2.5.0"
       sources."string-width-4.2.3"
@@ -130863,7 +131070,7 @@ in
       sources."util-deprecate-1.0.2"
       sources."w3c-hr-time-1.0.2"
       sources."w3c-xmlserializer-2.0.0"
-      sources."wavedrom-2.9.0"
+      sources."wavedrom-2.9.1"
       sources."webidl-conversions-3.0.1"
       sources."whatwg-encoding-1.0.5"
       sources."whatwg-mimetype-2.3.0"
@@ -130872,7 +131079,7 @@ in
       sources."word-wrap-1.2.3"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
@@ -130893,10 +131100,10 @@ in
   web-ext = nodeEnv.buildNodePackage {
     name = "web-ext";
     packageName = "web-ext";
-    version = "6.6.0";
+    version = "6.7.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/web-ext/-/web-ext-6.6.0.tgz";
-      sha512 = "ja9kuCleKQLesUEx+tEl6ByxwVF1CVCjSc3V0ag78S40NWDRTBJhXwc4c+qlyZ0h/XefXc3waxnsq1izUBe/Nw==";
+      url = "https://registry.npmjs.org/web-ext/-/web-ext-6.7.0.tgz";
+      sha512 = "QN+ufUPMNhLbrEqwFDOuoHy4m2OOPAp8NDMKJaWIByZRh8VPH+JoJ6/NAaIEcs9TPKnkA2018TNIJAfYN9EerA==";
     };
     dependencies = [
       sources."@babel/code-frame-7.16.7"
@@ -130916,46 +131123,43 @@ in
       sources."@devicefarmer/adbkit-2.11.3"
       sources."@devicefarmer/adbkit-logcat-1.1.0"
       sources."@devicefarmer/adbkit-monkey-1.0.1"
-      (sources."@eslint/eslintrc-1.0.5" // {
+      (sources."@eslint/eslintrc-1.1.0" // {
         dependencies = [
           sources."debug-4.3.3"
-          sources."espree-9.3.0"
+          sources."eslint-visitor-keys-3.3.0"
+          sources."espree-9.3.1"
+          sources."ignore-4.0.6"
           sources."ms-2.1.2"
         ];
       })
-      (sources."@humanwhocodes/config-array-0.6.0" // {
+      (sources."@humanwhocodes/config-array-0.9.3" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@mdn/browser-compat-data-4.0.11"
+      sources."@mdn/browser-compat-data-4.1.6"
       sources."@sindresorhus/is-0.14.0"
       sources."@szmarczak/http-timer-1.1.2"
       sources."@types/minimatch-3.0.5"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/yauzl-2.9.2"
       sources."acorn-8.7.0"
       sources."acorn-jsx-5.3.2"
-      (sources."addons-linter-4.4.0" // {
+      (sources."addons-linter-4.9.0" // {
         dependencies = [
           sources."source-map-support-0.5.21"
-          sources."yargs-17.2.1"
+          sources."yargs-17.3.1"
         ];
       })
       sources."addons-moz-compare-1.2.0"
-      (sources."addons-scanner-utils-6.1.0" // {
-        dependencies = [
-          sources."common-tags-1.8.0"
-        ];
-      })
+      sources."addons-scanner-utils-6.3.0"
       sources."adm-zip-0.5.9"
       sources."ajv-6.12.6"
       sources."ajv-merge-patch-4.1.0"
       sources."ansi-align-3.0.1"
-      sources."ansi-colors-4.1.1"
-      sources."ansi-regex-2.1.1"
+      sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
       sources."any-promise-1.3.0"
       sources."argparse-2.0.1"
@@ -130995,17 +131199,12 @@ in
       sources."chrome-launcher-0.15.0"
       sources."ci-info-2.0.0"
       sources."cli-boxes-2.2.1"
-      (sources."cliui-7.0.4" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."cliui-7.0.4"
       sources."clone-1.0.4"
       sources."clone-response-1.0.2"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
-      sources."columnify-1.5.4"
+      sources."columnify-1.6.0"
       sources."combined-stream-1.0.8"
       sources."commander-2.20.3"
       sources."common-tags-1.8.2"
@@ -131018,7 +131217,7 @@ in
         ];
       })
       sources."configstore-5.0.1"
-      sources."core-js-3.18.0"
+      sources."core-js-3.21.0"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
       sources."crypto-random-string-2.0.0"
@@ -131051,7 +131250,6 @@ in
       sources."ecdsa-sig-formatter-1.0.11"
       sources."emoji-regex-8.0.0"
       sources."end-of-stream-1.4.4"
-      sources."enquirer-2.3.6"
       sources."entities-2.2.0"
       sources."error-ex-1.3.2"
       sources."es6-error-4.1.1"
@@ -131059,23 +131257,21 @@ in
       sources."escalade-3.1.1"
       sources."escape-goat-2.1.1"
       sources."escape-string-regexp-4.0.0"
-      (sources."eslint-8.3.0" // {
+      (sources."eslint-8.8.0" // {
         dependencies = [
-          sources."ansi-regex-5.0.1"
           sources."debug-4.3.3"
           sources."ms-2.1.2"
-          sources."strip-ansi-6.0.1"
         ];
       })
-      sources."eslint-plugin-no-unsanitized-4.0.0"
-      sources."eslint-scope-7.1.0"
+      sources."eslint-plugin-no-unsanitized-4.0.1"
+      sources."eslint-scope-7.1.1"
       (sources."eslint-utils-3.0.0" // {
         dependencies = [
           sources."eslint-visitor-keys-2.1.0"
         ];
       })
-      sources."eslint-visitor-keys-3.1.0"
-      sources."espree-9.1.0"
+      sources."eslint-visitor-keys-3.2.0"
+      sources."espree-9.3.0"
       sources."esprima-4.0.1"
       sources."esquery-1.4.0"
       sources."esrecurse-4.3.0"
@@ -131094,7 +131290,6 @@ in
       sources."fast-json-stable-stringify-2.1.0"
       sources."fast-levenshtein-2.0.6"
       sources."fast-redact-3.1.0"
-      sources."fastify-warning-0.2.0"
       sources."fd-slicer-1.1.0"
       sources."file-entry-cache-6.0.1"
       (sources."firefox-profile-4.2.2" // {
@@ -131104,7 +131299,7 @@ in
       })
       sources."first-chunk-stream-3.0.0"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
+      sources."flatted-3.2.5"
       sources."fluent-syntax-0.13.0"
       sources."forever-agent-0.6.1"
       sources."form-data-2.3.3"
@@ -131131,7 +131326,7 @@ in
       sources."glob-parent-6.0.2"
       sources."glob-to-regexp-0.4.1"
       sources."global-dirs-3.0.0"
-      sources."globals-13.12.0"
+      sources."globals-13.12.1"
       (sources."got-9.6.0" // {
         dependencies = [
           sources."get-stream-4.1.0"
@@ -131151,8 +131346,8 @@ in
       sources."http-cache-semantics-4.1.0"
       sources."http-signature-1.2.0"
       sources."human-signals-1.1.1"
-      sources."ignore-4.0.6"
-      sources."image-size-1.0.0"
+      sources."ignore-5.2.0"
+      sources."image-size-1.0.1"
       sources."immediate-3.0.6"
       sources."import-fresh-3.3.0"
       sources."import-lazy-2.1.0"
@@ -131240,14 +131435,14 @@ in
         ];
       })
       sources."map-age-cleaner-0.1.3"
-      sources."marky-1.2.2"
+      sources."marky-1.2.4"
       sources."mem-5.1.1"
       sources."merge-stream-2.0.0"
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
       sources."moment-2.29.1"
@@ -131262,7 +131457,7 @@ in
       })
       sources."mz-2.7.0"
       sources."nan-2.15.0"
-      sources."nanoid-3.2.0"
+      sources."nanoid-3.3.1"
       sources."natural-compare-1.4.0"
       sources."ncp-2.0.0"
       sources."node-forge-0.10.0"
@@ -131299,14 +131494,14 @@ in
       sources."pend-1.2.0"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."pino-7.4.0"
+      sources."pino-7.6.5"
       sources."pino-abstract-transport-0.5.0"
       sources."pino-std-serializers-4.0.0"
-      sources."postcss-8.3.11"
+      sources."postcss-8.4.6"
       sources."prelude-ls-1.2.1"
       sources."prepend-http-2.0.0"
       sources."process-nextick-args-2.0.1"
-      sources."progress-2.0.3"
+      sources."process-warning-1.0.0"
       sources."psl-1.8.0"
       sources."pump-3.0.0"
       sources."punycode-2.1.1"
@@ -131364,15 +131559,15 @@ in
       sources."shebang-regex-3.0.0"
       sources."shell-quote-1.7.3"
       sources."shellwords-0.1.1"
-      (sources."sign-addon-3.9.0" // {
+      (sources."sign-addon-3.11.0" // {
         dependencies = [
-          sources."common-tags-1.8.0"
+          sources."source-map-support-0.5.21"
         ];
       })
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."sonic-boom-2.6.0"
       sources."source-map-0.6.1"
-      sources."source-map-js-0.6.2"
+      sources."source-map-js-1.0.2"
       sources."source-map-support-0.5.20"
       sources."spawn-sync-1.0.15"
       sources."split-0.3.3"
@@ -131381,14 +131576,9 @@ in
       sources."stream-shift-1.0.1"
       sources."stream-to-array-2.3.0"
       sources."stream-to-promise-3.0.0"
-      (sources."string-width-4.2.3" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."string-width-4.2.3"
       sources."string_decoder-1.3.0"
-      sources."strip-ansi-3.0.1"
+      sources."strip-ansi-6.0.1"
       sources."strip-bom-4.0.0"
       sources."strip-bom-buf-2.0.0"
       sources."strip-bom-stream-4.0.0"
@@ -131433,12 +131623,7 @@ in
       sources."widest-line-3.1.0"
       sources."winreg-0.0.12"
       sources."word-wrap-1.2.3"
-      (sources."wrap-ansi-7.0.0" // {
-        dependencies = [
-          sources."ansi-regex-5.0.1"
-          sources."strip-ansi-6.0.1"
-        ];
-      })
+      sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
       sources."write-file-atomic-3.0.3"
       sources."ws-7.4.6"
@@ -131447,8 +131632,12 @@ in
       sources."xmlbuilder-11.0.1"
       sources."y18n-5.0.8"
       sources."yallist-4.0.0"
-      sources."yargs-16.2.0"
-      sources."yargs-parser-20.2.9"
+      (sources."yargs-16.2.0" // {
+        dependencies = [
+          sources."yargs-parser-20.2.9"
+        ];
+      })
+      sources."yargs-parser-21.0.0"
       sources."yauzl-2.10.0"
       (sources."zip-dir-2.0.0" // {
         dependencies = [
@@ -131469,17 +131658,17 @@ in
   webpack = nodeEnv.buildNodePackage {
     name = "webpack";
     packageName = "webpack";
-    version = "5.67.0";
+    version = "5.69.1";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack/-/webpack-5.67.0.tgz";
-      sha512 = "LjFbfMh89xBDpUMgA1W9Ur6Rn/gnr2Cq1jjHFPo4v6a79/ypznSYbAyPgGhwsxBtMIaEmDD1oJoA7BEYw/Fbrw==";
+      url = "https://registry.npmjs.org/webpack/-/webpack-5.69.1.tgz";
+      sha512 = "+VyvOSJXZMT2V5vLzOnDuMz5GxEqLk7hKWQ56YxPW/PQRUuKimPqmEIJOx8jHYeyo65pKbapbW464mvsKbaj4A==";
     };
     dependencies = [
       sources."@types/eslint-8.4.1"
       sources."@types/eslint-scope-3.7.3"
-      sources."@types/estree-0.0.50"
+      sources."@types/estree-0.0.51"
       sources."@types/json-schema-7.0.9"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@webassemblyjs/ast-1.11.1"
       sources."@webassemblyjs/floating-point-hex-parser-1.11.1"
       sources."@webassemblyjs/helper-api-error-1.11.1"
@@ -131501,13 +131690,13 @@ in
       sources."acorn-import-assertions-1.8.0"
       sources."ajv-6.12.6"
       sources."ajv-keywords-3.5.2"
-      sources."browserslist-4.19.1"
+      sources."browserslist-4.19.3"
       sources."buffer-from-1.1.2"
-      sources."caniuse-lite-1.0.30001301"
+      sources."caniuse-lite-1.0.30001312"
       sources."chrome-trace-event-1.0.3"
       sources."commander-2.20.3"
-      sources."electron-to-chromium-1.4.51"
-      sources."enhanced-resolve-5.8.3"
+      sources."electron-to-chromium-1.4.71"
+      sources."enhanced-resolve-5.9.0"
       sources."es-module-lexer-0.9.3"
       sources."escalade-3.1.1"
       sources."eslint-scope-5.1.1"
@@ -131523,7 +131712,7 @@ in
       sources."glob-to-regexp-0.4.1"
       sources."graceful-fs-4.2.9"
       sources."has-flag-4.0.0"
-      sources."jest-worker-27.4.6"
+      sources."jest-worker-27.5.1"
       sources."json-parse-better-errors-1.0.2"
       sources."json-schema-traverse-0.4.1"
       sources."loader-runner-4.2.0"
@@ -131531,7 +131720,7 @@ in
       sources."mime-db-1.51.0"
       sources."mime-types-2.1.34"
       sources."neo-async-2.6.2"
-      sources."node-releases-2.0.1"
+      sources."node-releases-2.0.2"
       sources."picocolors-1.0.0"
       sources."punycode-2.1.1"
       sources."randombytes-2.1.0"
@@ -131547,7 +131736,7 @@ in
           sources."source-map-0.7.3"
         ];
       })
-      sources."terser-webpack-plugin-5.3.0"
+      sources."terser-webpack-plugin-5.3.1"
       sources."uri-js-4.4.1"
       sources."watchpack-2.3.1"
       sources."webpack-sources-3.2.3"
@@ -131565,16 +131754,16 @@ in
   webpack-cli = nodeEnv.buildNodePackage {
     name = "webpack-cli";
     packageName = "webpack-cli";
-    version = "4.9.1";
+    version = "4.9.2";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.1.tgz";
-      sha512 = "JYRFVuyFpzDxMDB+v/nanUdQYcZtqFPGzmlW4s+UkPMFhSpfRNmf1z4AwYcHJVdvEFAM7FFCQdNTpsBYhDLusQ==";
+      url = "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz";
+      sha512 = "m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==";
     };
     dependencies = [
       sources."@discoveryjs/json-ext-0.5.6"
-      sources."@webpack-cli/configtest-1.1.0"
-      sources."@webpack-cli/info-1.4.0"
-      sources."@webpack-cli/serve-1.6.0"
+      sources."@webpack-cli/configtest-1.1.1"
+      sources."@webpack-cli/info-1.4.1"
+      sources."@webpack-cli/serve-1.6.1"
       sources."clone-deep-4.0.1"
       sources."colorette-2.0.16"
       sources."commander-7.2.0"
@@ -131614,7 +131803,7 @@ in
       sources."shallow-clone-3.0.1"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."strip-final-newline-2.0.0"
       sources."supports-preserve-symlinks-flag-1.0.0"
       sources."webpack-merge-5.8.0"
@@ -131634,10 +131823,10 @@ in
   webpack-dev-server = nodeEnv.buildNodePackage {
     name = "webpack-dev-server";
     packageName = "webpack-dev-server";
-    version = "4.7.3";
+    version = "4.7.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.3.tgz";
-      sha512 = "mlxq2AsIw2ag016nixkzUkdyOE8ST2GTy34uKSABp1c4nhjZvH90D5ZRR+UOLSsG4Z3TFahAi72a3ymRtfRm+Q==";
+      url = "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.7.4.tgz";
+      sha512 = "nfdsb02Zi2qzkNmgtZjkrMOcXnYZ6FLKcQwpxT7MvmHKc+oTtDsBju8j+NMyAygZ9GW1jMEUpy3itHtqgEhe1A==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -131652,17 +131841,17 @@ in
       sources."@types/http-proxy-1.17.8"
       sources."@types/json-schema-7.0.9"
       sources."@types/mime-1.3.2"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/retry-0.12.1"
       sources."@types/serve-index-1.9.1"
       sources."@types/serve-static-1.13.10"
       sources."@types/sockjs-0.3.33"
-      sources."@types/ws-8.2.2"
-      sources."accepts-1.3.7"
+      sources."@types/ws-8.2.3"
+      sources."accepts-1.3.8"
       sources."aggregate-error-3.1.0"
-      sources."ajv-8.9.0"
+      sources."ajv-8.10.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-5.1.0"
       sources."ansi-html-community-0.0.8"
@@ -131674,9 +131863,9 @@ in
       sources."balanced-match-1.0.2"
       sources."batch-0.6.1"
       sources."binary-extensions-2.2.0"
-      (sources."body-parser-1.19.1" // {
+      (sources."body-parser-1.19.2" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
         ];
       })
       sources."bonjour-3.5.0"
@@ -131698,7 +131887,7 @@ in
       sources."connect-history-api-fallback-1.6.0"
       sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.1"
+      sources."cookie-0.4.2"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.3"
       sources."cross-spawn-7.0.3"
@@ -131721,7 +131910,7 @@ in
       sources."etag-1.8.1"
       sources."eventemitter3-4.0.7"
       sources."execa-5.1.1"
-      (sources."express-4.17.2" // {
+      (sources."express-4.17.3" // {
         dependencies = [
           sources."array-flatten-1.1.1"
         ];
@@ -131732,7 +131921,7 @@ in
       sources."faye-websocket-0.11.4"
       sources."fill-range-7.0.1"
       sources."finalhandler-1.1.2"
-      sources."follow-redirects-1.14.7"
+      sources."follow-redirects-1.14.9"
       sources."forwarded-0.2.0"
       sources."fresh-0.5.2"
       sources."fs-monkey-1.0.3"
@@ -131760,7 +131949,7 @@ in
       sources."http-errors-1.8.1"
       sources."http-parser-js-0.5.5"
       sources."http-proxy-1.18.1"
-      sources."http-proxy-middleware-2.0.2"
+      sources."http-proxy-middleware-2.0.3"
       sources."human-signals-2.1.0"
       sources."iconv-lite-0.4.24"
       sources."ignore-5.2.0"
@@ -131798,13 +131987,13 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."minimalistic-assert-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-0.5.5"
       sources."ms-2.0.0"
       sources."multicast-dns-6.2.3"
       sources."multicast-dns-service-types-1.1.0"
-      sources."negotiator-0.6.2"
+      sources."negotiator-0.6.3"
       sources."node-forge-1.2.1"
       sources."normalize-path-3.0.0"
       sources."npm-run-path-4.0.1"
@@ -131837,12 +132026,12 @@ in
         ];
       })
       sources."punycode-2.1.1"
-      sources."qs-6.9.6"
+      sources."qs-6.9.7"
       sources."queue-microtask-1.2.3"
       sources."range-parser-1.2.1"
-      (sources."raw-body-2.4.2" // {
+      (sources."raw-body-2.4.3" // {
         dependencies = [
-          sources."bytes-3.1.1"
+          sources."bytes-3.1.2"
         ];
       })
       sources."readable-stream-3.6.0"
@@ -131875,7 +132064,7 @@ in
       sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."sockjs-0.3.24"
       (sources."spdy-4.0.2" // {
@@ -131909,12 +132098,12 @@ in
       sources."uuid-8.3.2"
       sources."vary-1.1.2"
       sources."wbuf-1.7.3"
-      sources."webpack-dev-middleware-5.3.0"
+      sources."webpack-dev-middleware-5.3.1"
       sources."websocket-driver-0.7.4"
       sources."websocket-extensions-0.1.4"
       sources."which-2.0.2"
       sources."wrappy-1.0.2"
-      sources."ws-8.4.2"
+      sources."ws-8.5.0"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -131929,17 +132118,17 @@ in
   copy-webpack-plugin = nodeEnv.buildNodePackage {
     name = "copy-webpack-plugin";
     packageName = "copy-webpack-plugin";
-    version = "10.2.1";
+    version = "10.2.4";
     src = fetchurl {
-      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.1.tgz";
-      sha512 = "nr81NhCAIpAWXGCK5thrKmfCQ6GDY0L5RN0U+BnIn/7Us55+UCex5ANNsNKmIVtDRnk0Ecf+/kzp9SUVrrBMLg==";
+      url = "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-10.2.4.tgz";
+      sha512 = "xFVltahqlsRcyyJqQbDY6EYTtyQZF9rf+JPjwHObLdPFMEISqkFkr7mFoVOC6BfYS/dNThyoQKvziugm+OnwBg==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/json-schema-7.0.9"
-      sources."ajv-8.9.0"
+      sources."ajv-8.10.0"
       sources."ajv-formats-2.1.1"
       sources."ajv-keywords-5.1.0"
       sources."array-union-3.0.1"
@@ -131991,10 +132180,10 @@ in
   webtorrent-cli = nodeEnv.buildNodePackage {
     name = "webtorrent-cli";
     packageName = "webtorrent-cli";
-    version = "4.0.2";
+    version = "4.0.3";
     src = fetchurl {
-      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-4.0.2.tgz";
-      sha512 = "GQ+iobyUrnRqBdQRqZHghj6qOz3WHDDoq028N7NcUKgU7eaDBgu2m3hBfpCmIvn9mNlRRGk6utNh++tNVdTmnQ==";
+      url = "https://registry.npmjs.org/webtorrent-cli/-/webtorrent-cli-4.0.3.tgz";
+      sha512 = "UuAv33TkzZGpGYgWH8rLWkvebd91UWid6tueQhUj6eGxfLUpAEl6uFyRMLAEmg2/kskKQzI2YPl8+tgex3TWxg==";
     };
     dependencies = [
       sources."@leichtgewicht/ip-codec-2.0.3"
@@ -132009,12 +132198,13 @@ in
       sources."@protobufjs/pool-1.1.0"
       sources."@protobufjs/utf8-1.1.0"
       sources."@types/long-4.0.1"
-      sources."@types/node-17.0.10"
+      sources."@types/node-17.0.19"
       sources."@webtorrent/http-node-1.3.0"
       sources."addr-to-ip-port-1.5.4"
       sources."airplay-js-0.3.0"
       sources."ansi-regex-5.0.1"
       sources."ansi-styles-4.3.0"
+      sources."b4a-1.3.1"
       sources."balanced-match-1.0.2"
       sources."base64-js-1.5.1"
       sources."bencode-2.0.2"
@@ -132046,7 +132236,7 @@ in
           sources."decompress-response-6.0.0"
           sources."mimic-response-3.1.0"
           sources."ms-2.1.2"
-          sources."simple-get-4.0.0"
+          sources."simple-get-4.0.1"
         ];
       })
       sources."blob-to-buffer-1.2.9"
@@ -132107,7 +132297,11 @@ in
       })
       sources."dns-packet-5.3.1"
       sources."dns-txt-2.0.2"
-      sources."ecstatic-4.1.4"
+      (sources."ecstatic-4.1.4" // {
+        dependencies = [
+          sources."mime-2.6.0"
+        ];
+      })
       sources."ee-first-1.1.1"
       sources."elementtree-0.1.7"
       sources."emoji-regex-8.0.0"
@@ -132115,6 +132309,7 @@ in
       sources."err-code-3.0.1"
       sources."escalade-3.1.1"
       sources."escape-html-1.0.3"
+      sources."events-3.3.0"
       sources."fast-fifo-1.1.0"
       sources."filestream-5.0.0"
       sources."freelist-1.0.3"
@@ -132155,7 +132350,7 @@ in
         dependencies = [
           sources."decompress-response-6.0.0"
           sources."mimic-response-3.1.0"
-          sources."simple-get-4.0.0"
+          sources."simple-get-4.0.1"
         ];
       })
       sources."long-4.0.0"
@@ -132171,9 +132366,9 @@ in
       sources."mdns-js-packet-0.2.0"
       sources."mediasource-2.4.0"
       sources."memory-chunk-store-1.3.5"
-      sources."mime-2.6.0"
+      sources."mime-3.0.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."mkdirp-classic-0.5.3"
       sources."moment-2.29.1"
@@ -132201,7 +132396,7 @@ in
         dependencies = [
           sources."decompress-response-6.0.0"
           sources."mimic-response-3.1.0"
-          sources."simple-get-4.0.0"
+          sources."simple-get-4.0.1"
         ];
       })
       sources."path-is-absolute-1.0.1"
@@ -132219,14 +132414,14 @@ in
       sources."queue-microtask-1.2.3"
       sources."queue-tick-1.0.0"
       sources."random-access-file-2.2.0"
-      sources."random-access-storage-1.4.2"
+      sources."random-access-storage-1.4.3"
       sources."random-iterate-1.0.1"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
       sources."range-slice-stream-2.0.0"
       sources."rc4-0.1.5"
       sources."readable-stream-3.6.0"
-      sources."record-cache-1.1.1"
+      sources."record-cache-1.2.0"
       (sources."render-media-4.1.0" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -132243,8 +132438,8 @@ in
       sources."sax-1.1.4"
       sources."semver-5.1.1"
       sources."simple-concat-1.0.1"
-      sources."simple-get-2.8.1"
-      (sources."simple-peer-9.11.0" // {
+      sources."simple-get-2.8.2"
+      (sources."simple-peer-9.11.1" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."ms-2.1.2"
@@ -132258,14 +132453,14 @@ in
         ];
       })
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       sources."speed-limiter-1.0.2"
       sources."speedometer-1.1.0"
       sources."split-1.0.1"
       sources."stream-to-blob-2.0.1"
       sources."stream-to-blob-url-3.0.2"
       sources."stream-with-known-length-to-buffer-1.0.4"
-      sources."streamx-2.12.0"
+      sources."streamx-2.12.2"
       sources."string-width-4.2.3"
       sources."string2compact-1.3.2"
       sources."string_decoder-1.3.0"
@@ -132303,20 +132498,19 @@ in
       sources."utp-native-2.5.3"
       sources."videostream-3.2.2"
       sources."vlc-command-1.2.0"
-      (sources."webtorrent-1.7.1" // {
+      (sources."webtorrent-1.8.2" // {
         dependencies = [
           sources."debug-4.3.3"
           sources."decompress-response-6.0.0"
-          sources."mime-3.0.0"
           sources."mimic-response-3.1.0"
           sources."ms-2.1.2"
-          sources."simple-get-4.0.0"
+          sources."simple-get-4.0.1"
         ];
       })
       sources."winreg-1.2.4"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.6"
+      sources."ws-7.5.7"
       sources."xml2js-0.4.23"
       sources."xmlbuilder-11.0.1"
       sources."xmldom-0.1.31"
@@ -132382,10 +132576,10 @@ in
   yaml-language-server = nodeEnv.buildNodePackage {
     name = "yaml-language-server";
     packageName = "yaml-language-server";
-    version = "1.3.0";
+    version = "1.4.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.3.0.tgz";
-      sha512 = "4F6NSkS6np7oUU3uM5ZIfNmKD33RuOaqQ+3kf/2oCotfJ3MYUH8NFofpBBsOvyXdrzA4KkOJ+ZU/FeC96HjncA==";
+      url = "https://registry.npmjs.org/yaml-language-server/-/yaml-language-server-1.4.0.tgz";
+      sha512 = "NgUzbSbRQvIH++P303a6Y20qLRqM8qhPESoJ/n26NBXA+GITozV1/JRl2FLEt9oPSR9WkQ1a9J3EsToHfKGQWA==";
     };
     dependencies = [
       sources."jsonc-parser-3.0.0"
@@ -132394,11 +132588,11 @@ in
       sources."vscode-jsonrpc-6.0.0"
       sources."vscode-languageserver-7.0.0"
       sources."vscode-languageserver-protocol-3.16.0"
-      sources."vscode-languageserver-textdocument-1.0.3"
+      sources."vscode-languageserver-textdocument-1.0.4"
       sources."vscode-languageserver-types-3.16.0"
       sources."vscode-nls-5.0.0"
       sources."vscode-uri-3.0.3"
-      sources."yaml-2.0.0-8"
+      sources."yaml-2.0.0-10"
     ];
     buildInputs = globalBuildInputs;
     meta = {
@@ -132443,7 +132637,7 @@ in
       sources."ini-2.0.0"
       sources."is-fullwidth-code-point-3.0.0"
       sources."jsonfile-4.0.0"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."npm-bundled-1.1.2"
       sources."npm-normalize-package-bin-1.0.1"
       sources."npm-packlist-2.2.2"
@@ -132497,19 +132691,19 @@ in
       sha512 = "0V5CpR62BY1EOevIxXq5BL84YJeIunEzRsFlqb00tc7D77I51/0bvgdGRZhEwhNI2rFxKZ1i77eoisT56gfMTQ==";
     };
     dependencies = [
-      sources."@babel/runtime-7.16.7"
-      sources."@gar/promisify-1.1.2"
+      sources."@babel/runtime-7.17.2"
+      sources."@gar/promisify-1.1.3"
       sources."@isaacs/string-locale-compare-1.1.0"
       sources."@nodelib/fs.scandir-2.1.5"
       sources."@nodelib/fs.stat-2.0.5"
       sources."@nodelib/fs.walk-1.2.8"
-      (sources."@npmcli/arborist-4.2.1" // {
+      (sources."@npmcli/arborist-4.3.1" // {
         dependencies = [
           sources."mkdirp-1.0.4"
           sources."semver-7.3.5"
         ];
       })
-      (sources."@npmcli/fs-1.1.0" // {
+      (sources."@npmcli/fs-1.1.1" // {
         dependencies = [
           sources."semver-7.3.5"
         ];
@@ -132522,7 +132716,12 @@ in
         ];
       })
       sources."@npmcli/installed-package-contents-1.0.7"
-      sources."@npmcli/map-workspaces-2.0.0"
+      (sources."@npmcli/map-workspaces-2.0.1" // {
+        dependencies = [
+          sources."brace-expansion-2.0.1"
+          sources."minimatch-5.0.0"
+        ];
+      })
       (sources."@npmcli/metavuln-calculator-2.0.0" // {
         dependencies = [
           sources."semver-7.3.5"
@@ -132588,7 +132787,7 @@ in
       sources."bcrypt-pbkdf-1.0.2"
       (sources."bin-links-3.0.0" // {
         dependencies = [
-          sources."write-file-atomic-4.0.0"
+          sources."write-file-atomic-4.0.1"
         ];
       })
       sources."bin-version-3.1.0"
@@ -132599,7 +132798,7 @@ in
           sources."readable-stream-3.6.0"
         ];
       })
-      sources."boolean-3.1.4"
+      sources."boolean-3.2.0"
       (sources."boxen-1.3.0" // {
         dependencies = [
           sources."camelcase-4.1.0"
@@ -132658,7 +132857,7 @@ in
       sources."config-chain-1.1.13"
       sources."configstore-3.1.5"
       sources."console-control-strings-1.1.0"
-      sources."core-js-3.20.3"
+      sources."core-js-3.21.1"
       sources."core-util-is-1.0.3"
       sources."create-error-class-3.0.2"
       sources."cross-spawn-6.0.5"
@@ -132875,7 +133074,7 @@ in
         ];
       })
       sources."locate-path-2.0.0"
-      sources."locutus-2.0.15"
+      sources."locutus-2.0.16"
       sources."lodash-4.17.21"
       sources."lodash.debounce-4.0.8"
       sources."lodash.pad-4.5.1"
@@ -132916,7 +133115,7 @@ in
       sources."mime-types-2.1.34"
       sources."mimic-fn-2.1.0"
       sources."mimic-response-1.0.1"
-      sources."minimatch-3.0.4"
+      sources."minimatch-3.1.2"
       sources."minimist-1.2.5"
       sources."minipass-3.1.6"
       sources."minipass-collect-1.0.2"
@@ -132940,11 +133139,11 @@ in
       (sources."node-gyp-8.4.1" // {
         dependencies = [
           sources."ansi-regex-5.0.1"
-          sources."are-we-there-yet-2.0.0"
+          sources."are-we-there-yet-3.0.0"
           sources."env-paths-2.2.1"
-          sources."gauge-4.0.0"
+          sources."gauge-4.0.1"
           sources."is-fullwidth-code-point-3.0.0"
-          sources."npmlog-6.0.0"
+          sources."npmlog-6.0.1"
           sources."readable-stream-3.6.0"
           sources."semver-7.3.5"
           sources."string-width-4.2.3"
@@ -132986,7 +133185,17 @@ in
           sources."semver-7.3.5"
         ];
       })
-      sources."npm-registry-fetch-11.0.0"
+      (sources."npm-registry-fetch-12.0.2" // {
+        dependencies = [
+          sources."@tootallnate/once-2.0.0"
+          sources."debug-4.3.3"
+          sources."http-cache-semantics-4.1.0"
+          sources."http-proxy-agent-5.0.0"
+          sources."lru-cache-7.3.1"
+          sources."make-fetch-happen-10.0.3"
+          sources."ms-2.1.2"
+        ];
+      })
       sources."npm-run-path-2.0.2"
       sources."npmlog-2.0.4"
       sources."number-is-nan-1.0.1"
@@ -133043,7 +133252,7 @@ in
       })
       sources."p-try-1.0.0"
       sources."package-json-5.0.0"
-      (sources."pacote-12.0.2" // {
+      (sources."pacote-12.0.3" // {
         dependencies = [
           sources."mkdirp-1.0.4"
         ];
@@ -133173,10 +133382,10 @@ in
       sources."set-blocking-2.0.0"
       sources."shebang-command-1.2.0"
       sources."shebang-regex-1.0.0"
-      sources."signal-exit-3.0.6"
+      sources."signal-exit-3.0.7"
       sources."slash-3.0.0"
       sources."smart-buffer-4.2.0"
-      sources."socks-2.6.1"
+      sources."socks-2.6.2"
       (sources."socks-proxy-agent-6.1.1" // {
         dependencies = [
           sources."debug-4.3.3"
@@ -133285,10 +133494,13 @@ in
       sources."tunnel-0.0.6"
       sources."tunnel-agent-0.6.0"
       sources."tweetnacl-0.14.5"
-      sources."twig-1.15.4"
+      (sources."twig-1.15.4" // {
+        dependencies = [
+          sources."minimatch-3.0.8"
+        ];
+      })
       sources."type-fest-0.3.1"
       sources."typedarray-0.0.6"
-      sources."typedarray-to-buffer-4.0.0"
       sources."unique-filename-1.1.1"
       sources."unique-slug-2.0.2"
       sources."unique-string-1.0.0"
@@ -133389,7 +133601,7 @@ in
           sources."path-key-3.1.1"
           sources."readable-stream-3.6.0"
           sources."restore-cursor-3.1.0"
-          sources."rxjs-7.5.2"
+          sources."rxjs-7.5.4"
           sources."semver-7.3.5"
           sources."shebang-command-2.0.0"
           sources."shebang-regex-3.0.0"
@@ -133428,10 +133640,10 @@ in
   zx = nodeEnv.buildNodePackage {
     name = "zx";
     packageName = "zx";
-    version = "4.3.0";
+    version = "5.1.0";
     src = fetchurl {
-      url = "https://registry.npmjs.org/zx/-/zx-4.3.0.tgz";
-      sha512 = "KuEjpu5QFIMx0wWfzknDRhY98s7a3tWNRmYt19XNmB7AfOmz5zISA4+3Q8vlJc2qguxMn89uSxhPDCldPa3YLA==";
+      url = "https://registry.npmjs.org/zx/-/zx-5.1.0.tgz";
+      sha512 = "J62b/7sFwqt4zbmPbeKJGwZlvW2X3ynyfWHZPr+xLAGF80h4aY4SgXaadMjljpvIbWGOwRmK38vwEdi5XgUpcQ==";
     };
     dependencies = [
       sources."@nodelib/fs.scandir-2.1.5"
@@ -133439,30 +133651,23 @@ in
       sources."@nodelib/fs.walk-1.2.8"
       sources."@types/fs-extra-9.0.13"
       sources."@types/minimist-1.2.2"
-      sources."@types/node-16.11.21"
-      sources."@types/node-fetch-2.5.12"
-      sources."ansi-styles-4.3.0"
-      sources."array-union-3.0.1"
-      sources."asynckit-0.4.0"
+      sources."@types/node-17.0.19"
       sources."braces-3.0.2"
-      sources."chalk-4.1.2"
-      sources."color-convert-2.0.1"
-      sources."color-name-1.1.4"
-      sources."combined-stream-1.0.8"
-      sources."delayed-stream-1.0.0"
+      sources."chalk-5.0.0"
+      sources."data-uri-to-buffer-4.0.0"
       sources."dir-glob-3.0.1"
       sources."duplexer-0.1.2"
       sources."event-stream-3.3.4"
       sources."fast-glob-3.2.11"
       sources."fastq-1.13.0"
+      sources."fetch-blob-3.1.4"
       sources."fill-range-7.0.1"
-      sources."form-data-3.0.1"
+      sources."formdata-polyfill-4.0.10"
       sources."from-0.1.7"
       sources."fs-extra-10.0.0"
       sources."glob-parent-5.1.2"
-      sources."globby-12.2.0"
+      sources."globby-13.1.1"
       sources."graceful-fs-4.2.9"
-      sources."has-flag-4.0.0"
       sources."ignore-5.2.0"
       sources."is-extglob-2.1.1"
       sources."is-glob-4.0.3"
@@ -133472,10 +133677,9 @@ in
       sources."map-stream-0.1.0"
       sources."merge2-1.4.1"
       sources."micromatch-4.0.4"
-      sources."mime-db-1.51.0"
-      sources."mime-types-2.1.34"
       sources."minimist-1.2.5"
-      sources."node-fetch-2.6.7"
+      sources."node-domexception-1.0.0"
+      sources."node-fetch-3.2.0"
       sources."path-type-4.0.0"
       sources."pause-stream-0.0.11"
       sources."picomatch-2.3.1"
@@ -133486,18 +133690,16 @@ in
       sources."slash-4.0.0"
       sources."split-0.3.3"
       sources."stream-combiner-0.0.4"
-      sources."supports-color-7.2.0"
       sources."through-2.3.8"
       sources."to-regex-range-5.0.1"
-      sources."tr46-0.0.3"
       sources."universalify-2.0.0"
-      sources."webidl-conversions-3.0.1"
-      sources."whatwg-url-5.0.0"
+      sources."web-streams-polyfill-3.2.0"
       sources."which-2.0.2"
+      sources."yaml-1.10.2"
     ];
     buildInputs = globalBuildInputs;
     meta = {
-      description = "A tool for writing better scripts";
+      description = "A tool for writing better scripts.";
       homepage = "https://github.com/google/zx#readme";
       license = "Apache-2.0";
     };
diff --git a/pkgs/development/node-packages/package-tests/tailwindcss.nix b/pkgs/development/node-packages/package-tests/tailwindcss.nix
index d5c9fdeff36..1f986d8bb09 100644
--- a/pkgs/development/node-packages/package-tests/tailwindcss.nix
+++ b/pkgs/development/node-packages/package-tests/tailwindcss.nix
@@ -1,15 +1,47 @@
-{ runCommand, tailwindcss }:
+{ runCommand, tailwindcss, nodePackages }:
 
 let
+
   inherit (tailwindcss) packageName version;
+
+  tailwindcssInput = builtins.toFile "input.css" ''
+    @tailwind base;
+    @tailwind components;
+    @tailwind utilities;
+  '';
+
+  tailwindcssWithPlugins = tailwindcss.overrideAttrs (oldAttrs: {
+    plugins = [
+      nodePackages."@tailwindcss/typography"
+    ];
+  });
+
+  tailwindcssWithPluginsConfig = builtins.toFile "tailwind.config.js" ''
+    module.exports = {
+      content: ["./with-typography.input"],
+      plugins: [
+        require('@tailwindcss/typography'),
+      ],
+    }
+  '';
+
 in
 
 runCommand "${packageName}-tests" { meta.timeout = 60; }
   ''
+    mkdir $out
+
     # Ensure CLI runs
     ${tailwindcss}/bin/tailwind --help > /dev/null
     ${tailwindcss}/bin/tailwindcss --help > /dev/null
 
-    # Needed for Nix to register the command as successful
-    touch $out
+    # Ensure CLI with plugins runs
+    echo '"ml-4 prose"' > ./with-typography.input
+    ${tailwindcssWithPlugins}/bin/tailwind \
+      --config ${tailwindcssWithPluginsConfig} \
+      --input ${tailwindcssInput} \
+      --output $out/with-typography.css
+
+    grep -q ml-4 $out/with-typography.css
+    grep -q prose $out/with-typography.css
   ''
diff --git a/pkgs/development/ocaml-modules/apron/default.nix b/pkgs/development/ocaml-modules/apron/default.nix
index 959a7203dfa..c9edfd62e06 100644
--- a/pkgs/development/ocaml-modules/apron/default.nix
+++ b/pkgs/development/ocaml-modules/apron/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, perl, gmp, mpfr, ppl, ocaml, findlib, camlidl, mlgmpidl }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-apron-${version}";
+  pname = "ocaml${ocaml.version}-apron";
   version = "0.9.13";
   src = fetchFromGitHub {
     owner = "antoinemine";
diff --git a/pkgs/development/ocaml-modules/astring/default.nix b/pkgs/development/ocaml-modules/astring/default.nix
index ba8cd98327f..8ecac1c124d 100644
--- a/pkgs/development/ocaml-modules/astring/default.nix
+++ b/pkgs/development/ocaml-modules/astring/default.nix
@@ -14,7 +14,7 @@ let
 in
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-astring-${param.version}";
+  pname = "ocaml${ocaml.version}-astring";
   inherit (param) version;
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/bap/default.nix b/pkgs/development/ocaml-modules/bap/default.nix
index c1cb7de2d18..f8e07fd1265 100644
--- a/pkgs/development/ocaml-modules/bap/default.nix
+++ b/pkgs/development/ocaml-modules/bap/default.nix
@@ -15,7 +15,7 @@ then throw "BAP is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-bap-${version}";
+  pname = "ocaml${ocaml.version}-bap";
   version = "2.2.0";
   src = fetchFromGitHub {
     owner = "BinaryAnalysisPlatform";
@@ -32,8 +32,8 @@ stdenv.mkDerivation rec {
   createFindlibDestdir = true;
 
   setupHook = writeText "setupHook.sh" ''
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}/"
-    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/${name}-llvm-plugins/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}/"
+    export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/ocaml${ocaml.version}-bap-${version}-llvm-plugins/"
   '';
 
   nativeBuildInputs = [ which makeWrapper ];
@@ -49,6 +49,7 @@ stdenv.mkDerivation rec {
                             piqi-ocaml uuidm frontc yojson ];
 
   installPhase = ''
+    runHook preInstall
     export OCAMLPATH=$OCAMLPATH:$OCAMLFIND_DESTDIR;
     export PATH=$PATH:$out/bin
     export CAML_LD_LIBRARY_PATH=''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}$OCAMLFIND_DESTDIR/bap-plugin-llvm/:$OCAMLFIND_DESTDIR/bap/
@@ -58,6 +59,7 @@ stdenv.mkDerivation rec {
     makeWrapper ${utop}/bin/utop $out/bin/baptop --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH --add-flags "-ppx ppx-bap -short-paths -require \"bap.top\""
     wrapProgram $out/bin/bapbuild --prefix OCAMLPATH : $OCAMLPATH --prefix PATH : $PATH
     ln -s $sigs $out/share/bap/sigs.zip
+    runHook postInstall
   '';
 
   disableIda = "--disable-ida";
diff --git a/pkgs/development/ocaml-modules/batteries/default.nix b/pkgs/development/ocaml-modules/batteries/default.nix
index d2edb69e1b9..69e8289df2c 100644
--- a/pkgs/development/ocaml-modules/batteries/default.nix
+++ b/pkgs/development/ocaml-modules/batteries/default.nix
@@ -6,10 +6,9 @@ if !lib.versionAtLeast ocaml.version "4.02"
 then throw "batteries is not available for OCaml ${ocaml.version}"
 else
 
-let version = "3.4.0"; in
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-batteries-${version}";
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-batteries";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "ocaml-batteries-team";
diff --git a/pkgs/development/ocaml-modules/benchmark/default.nix b/pkgs/development/ocaml-modules/benchmark/default.nix
index 07432dd7c6e..3397821319e 100644
--- a/pkgs/development/ocaml-modules/benchmark/default.nix
+++ b/pkgs/development/ocaml-modules/benchmark/default.nix
@@ -1,9 +1,8 @@
 { stdenv, lib, fetchzip, ocaml, findlib, ocamlbuild, ocaml_pcre }:
 
-let version = "1.4"; in
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-benchmark-${version}";
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-benchmark";
+  version = "1.4";
 
   src = fetchzip {
     url = "https://github.com/Chris00/ocaml-benchmark/releases/download/${version}/benchmark-${version}.tar.gz";
diff --git a/pkgs/development/ocaml-modules/bos/default.nix b/pkgs/development/ocaml-modules/bos/default.nix
index 62438526d70..17a0185829e 100644
--- a/pkgs/development/ocaml-modules/bos/default.nix
+++ b/pkgs/development/ocaml-modules/bos/default.nix
@@ -3,8 +3,9 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-bos-${version}";
+  pname = "ocaml${ocaml.version}-bos";
   version = "0.2.0";
+
   src = fetchurl {
     url = "https://erratique.ch/software/bos/releases/bos-${version}.tbz";
     sha256 = "1s10iqx8rgnxr5n93lf4blwirjf8nlm272yg5sipr7lsr35v49wc";
diff --git a/pkgs/development/ocaml-modules/camlimages/4.2.4.nix b/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
index 8ed562a27e6..b44fd7db6b3 100644
--- a/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
+++ b/pkgs/development/ocaml-modules/camlimages/4.2.4.nix
@@ -15,7 +15,8 @@
 , ghostscript
 }:
 
-assert lib.versionOlder ocaml.version "4.06";
+lib.throwIfNot (lib.versionAtLeast ocaml.version "4.02" && lib.versionOlder ocaml.version "4.10")
+  "camlimages 4.2.4 is not available for OCaml ${ocaml.version}"
 
 stdenv.mkDerivation rec {
   name = "ocaml${ocaml.version}-${pname}-${version}";
@@ -54,9 +55,9 @@ stdenv.mkDerivation rec {
   '';
 
   installPhase = ''
-    runHook preBuild
+    runHook preInstall
     omake install
-    runHook postBuild
+    runHook postInstall
   '';
 
   createFindlibDestdir = true;
diff --git a/pkgs/development/ocaml-modules/camlpdf/default.nix b/pkgs/development/ocaml-modules/camlpdf/default.nix
index 3d79fa377a5..42c27f15a5b 100644
--- a/pkgs/development/ocaml-modules/camlpdf/default.nix
+++ b/pkgs/development/ocaml-modules/camlpdf/default.nix
@@ -6,7 +6,8 @@ else
 
 stdenv.mkDerivation rec {
   version = "2.5";
-  name = "ocaml${ocaml.version}-camlpdf-${version}";
+  pname = "ocaml${ocaml.version}-camlpdf";
+
   src = fetchFromGitHub {
     owner = "johnwhitington";
     repo = "camlpdf";
diff --git a/pkgs/development/ocaml-modules/cpdf/default.nix b/pkgs/development/ocaml-modules/cpdf/default.nix
index 2da2b12b5b3..632430fe4f7 100644
--- a/pkgs/development/ocaml-modules/cpdf/default.nix
+++ b/pkgs/development/ocaml-modules/cpdf/default.nix
@@ -4,10 +4,9 @@ if !lib.versionAtLeast ocaml.version "4.10"
 then throw "cpdf is not available for OCaml ${ocaml.version}"
 else
 
-let version = "2.5"; in
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-cpdf-${version}";
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-cpdf";
+  version = "2.5";
 
   src = fetchFromGitHub {
     owner = "johnwhitington";
diff --git a/pkgs/development/ocaml-modules/crowbar/default.nix b/pkgs/development/ocaml-modules/crowbar/default.nix
index e114e7d8433..3557c22bc14 100644
--- a/pkgs/development/ocaml-modules/crowbar/default.nix
+++ b/pkgs/development/ocaml-modules/crowbar/default.nix
@@ -14,7 +14,10 @@ buildDunePackage rec {
     sha256 = "0wjfc9irvirfkic32ivvj6qb7r838w08b0d3vmngigbjpjyc9b14";
   };
 
-  minimumOCamlVersion = "4.08";
+  minimalOCamlVersion = "4.08";
+
+  # Fix tests with pprint ≥ 20220103
+  patches = [ ./pprint.patch ];
 
   # disable xmldiff tests, so we don't need to package unmaintained and legacy pkgs
   postPatch = "rm -rf examples/xmldiff";
diff --git a/pkgs/development/ocaml-modules/crowbar/pprint.patch b/pkgs/development/ocaml-modules/crowbar/pprint.patch
new file mode 100644
index 00000000000..77fc073b77f
--- /dev/null
+++ b/pkgs/development/ocaml-modules/crowbar/pprint.patch
@@ -0,0 +1,22 @@
+commit 77b5e54d33a66445f45ddc48577d835207be8cef
+Author: Stephen Dolan <stephen.dolan@cl.cam.ac.uk>
+Date:   Fri Jun 12 19:34:51 2020 +0100
+
+    Unbreak small example logic
+
+diff --git a/examples/pprint/test_pprint.ml b/examples/pprint/test_pprint.ml
+index 77789ef..44124e7 100644
+--- a/examples/pprint/test_pprint.ml
++++ b/examples/pprint/test_pprint.ml
+@@ -1,9 +1,9 @@
+-open Crowbar
+ open PPrint
++open Crowbar
+ type t = (string * PPrint.document)
+ let doc = fix (fun doc -> choose [
+   const ("", empty);
+-  const ("a", char 'a');
++  const ("a", PPrint.char 'a');
+   const ("123", string "123");
+   const ("Hello", string "Hello");
+   const ("awordwhichisalittlebittoolong",
diff --git a/pkgs/development/ocaml-modules/dose3/default.nix b/pkgs/development/ocaml-modules/dose3/default.nix
index 733427cdb91..daf5b3779d7 100644
--- a/pkgs/development/ocaml-modules/dose3/default.nix
+++ b/pkgs/development/ocaml-modules/dose3/default.nix
@@ -6,13 +6,13 @@
 
 buildDunePackage rec {
   pname = "dose3";
-  version = "6.1";
+  version = "7.0.0";
 
   src = fetchFromGitLab {
     owner = "irill";
     repo = "dose3";
     rev = version;
-    sha256 = "sha256-RFChY7VH2pVD4u5U1qng46h9aAv8I/3yXVaNmFDmKFI=";
+    sha256 = "sha256-K0fYSAWV48Rers/foDrEIqieyJ0PvpXkuYrFrZGBkkE=";
   };
 
   minimalOCamlVersion = "4.03";
diff --git a/pkgs/development/ocaml-modules/dum/default.nix b/pkgs/development/ocaml-modules/dum/default.nix
index d8aa1f371f3..7bdaf2dfad9 100644
--- a/pkgs/development/ocaml-modules/dum/default.nix
+++ b/pkgs/development/ocaml-modules/dum/default.nix
@@ -3,7 +3,7 @@
 }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-dum-${version}";
+  pname = "ocaml${ocaml.version}-dum";
   version = "1.0.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/elina/default.nix b/pkgs/development/ocaml-modules/elina/default.nix
index 4eff6c2957d..2ddef0f4052 100644
--- a/pkgs/development/ocaml-modules/elina/default.nix
+++ b/pkgs/development/ocaml-modules/elina/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "1.1";
-  name = "ocaml${ocaml.version}-elina-${version}";
+  pname = "ocaml${ocaml.version}-elina";
   src = fetchurl {
     url = "http://files.sri.inf.ethz.ch/elina-${version}.tar.gz";
     sha256 = "1nymykskq1yx87y4xl6hl9i4q6kv0qaq25rniqgl1bfn883p1ysc";
diff --git a/pkgs/development/ocaml-modules/elpi/default.nix b/pkgs/development/ocaml-modules/elpi/default.nix
index 4412f568508..0770f3a48d4 100644
--- a/pkgs/development/ocaml-modules/elpi/default.nix
+++ b/pkgs/development/ocaml-modules/elpi/default.nix
@@ -2,11 +2,12 @@
 , re, perl, ncurses
 , ppxlib, ppx_deriving
 , ppxlib_0_15, ppx_deriving_0_15
-, version ? "1.13.7"
+, version ? "1.14.1"
 }:
 with lib;
 let fetched = import ../../../build-support/coq/meta-fetch/default.nix
   {inherit lib stdenv fetchzip; } ({
+    release."1.14.1".sha256 = "sha256-BZPVL8ymjrE9kVGyf6bpc+GA2spS5JBpkUtZi04nPis=";
     release."1.13.7".sha256 = "10fnwz30bsvj7ii1vg4l1li5pd7n0qqmwj18snkdr5j9gk0apc1r";
     release."1.13.5".sha256 = "02a6r23mximrdvs6kgv6rp0r2dgk7zynbs99nn7lphw2c4189kka";
     release."1.13.1".sha256 = "12a9nbdvg9gybpw63lx3nw5wnxfznpraprb0wj3l68v1w43xq044";
diff --git a/pkgs/development/ocaml-modules/erm_xmpp/default.nix b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
index 9eaad7575ec..3447d590ea2 100644
--- a/pkgs/development/ocaml-modules/erm_xmpp/default.nix
+++ b/pkgs/development/ocaml-modules/erm_xmpp/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.3+20200317";
-  name = "ocaml${ocaml.version}-erm_xmpp-${version}";
+  pname = "ocaml${ocaml.version}-erm_xmpp";
 
   src = fetchFromGitHub {
     owner  = "hannesm";
diff --git a/pkgs/development/ocaml-modules/expat/default.nix b/pkgs/development/ocaml-modules/expat/default.nix
index 1812473e78b..e951acaa71a 100644
--- a/pkgs/development/ocaml-modules/expat/default.nix
+++ b/pkgs/development/ocaml-modules/expat/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, expat, ocaml, findlib, ounit }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-expat-${version}";
+  pname = "ocaml${ocaml.version}-expat";
   version = "1.1.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/farfadet/default.nix b/pkgs/development/ocaml-modules/farfadet/default.nix
index 77eef7f29a9..79b742da575 100644
--- a/pkgs/development/ocaml-modules/farfadet/default.nix
+++ b/pkgs/development/ocaml-modules/farfadet/default.nix
@@ -7,7 +7,7 @@ then throw "farfadet is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-farfadet-${version}";
+  pname = "ocaml${ocaml.version}-farfadet";
   version = "0.3";
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/frontc/default.nix b/pkgs/development/ocaml-modules/frontc/default.nix
index e68f6a28cb4..bc74a5b58a0 100644
--- a/pkgs/development/ocaml-modules/frontc/default.nix
+++ b/pkgs/development/ocaml-modules/frontc/default.nix
@@ -8,13 +8,13 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-FrontC-${version}";
+  pname = "ocaml${ocaml.version}-FrontC";
   version = "3.4.1";
 
   src = fetchFromGitHub {
     owner = "BinaryAnalysisPlatform";
     repo = "FrontC";
-    rev = "V_3_4_1";
+    rev = "V_${lib.replaceStrings ["."] ["_"] version}";
     sha256 = "1dq5nks0c9gsbr1m8k39m1bniawr5hqcy1r8x5px7naa95ch06ak";
   };
 
diff --git a/pkgs/development/ocaml-modules/functory/default.nix b/pkgs/development/ocaml-modules/functory/default.nix
index 2f11001874f..959963c4752 100644
--- a/pkgs/development/ocaml-modules/functory/default.nix
+++ b/pkgs/development/ocaml-modules/functory/default.nix
@@ -13,8 +13,8 @@ let param =
 in
 
 stdenv.mkDerivation {
-
-  name = "ocaml${ocaml.version}-functory-${param.version}";
+  pname = "ocaml${ocaml.version}-functory";
+  inherit (param) version;
 
   src = fetchurl {
     url = "https://www.lri.fr/~filliatr/functory/download/functory-${param.version}.tar.gz";
diff --git a/pkgs/development/ocaml-modules/gg/default.nix b/pkgs/development/ocaml-modules/gg/default.nix
index 58e2b67eacc..fb192077690 100644
--- a/pkgs/development/ocaml-modules/gg/default.nix
+++ b/pkgs/development/ocaml-modules/gg/default.nix
@@ -1,31 +1,26 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild, opaline }:
+{ lib, stdenv, fetchurl, ocaml, findlib, topkg, ocamlbuild }:
 
 let
-  inherit (lib) getVersion versionAtLeast;
-
-  pname = "gg";
-  version = "0.9.1";
-  webpage = "https://erratique.ch/software/${pname}";
+  homepage = "https://erratique.ch/software/gg";
+  version = "1.0.0";
 in
 
-assert versionAtLeast (getVersion ocaml) "4.01.0";
+lib.throwIfNot (lib.versionAtLeast ocaml.version "4.08")
+  "gg is not available for OCaml ${ocaml.version}"
 
 stdenv.mkDerivation {
 
-  name = "ocaml-${pname}-${version}";
+  pname = "ocaml${ocaml.version}-gg";
+  inherit version;
 
   src = fetchurl {
-    url = "${webpage}/releases/${pname}-${version}.tbz";
-    sha256 = "0czj41sr8jsivl3z8wyblf9k971j3kx2wc3s0c1nhzcc8allg9i2";
+    url = "${homepage}/releases/gg-${version}.tbz";
+    sha256 = "sha256:0j7bpj8k17csnz6v6frkz9aycywsb7xmznnb31g8rbfk3626f3ci";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild opaline ];
-
-  createFindlibDestdir = true;
-
-  buildPhase = "ocaml pkg/build.ml native=true native-dynlink=true";
+  buildInputs = [ ocaml findlib ocamlbuild topkg ];
 
-  installPhase = "opaline -libdir $OCAMLFIND_DESTDIR";
+  inherit (topkg) buildPhase installPhase;
 
   meta = with lib; {
     description = "Basic types for computer graphics in OCaml";
@@ -35,8 +30,8 @@ stdenv.mkDerivation {
       matrices, quaternions, axis aligned boxes, colors, color spaces, and
       raster data.
     '';
-    homepage = webpage;
-    platforms = ocaml.meta.platforms or [];
+    inherit homepage;
+    inherit (ocaml.meta) platforms;
     license = licenses.bsd3;
     maintainers = [ maintainers.jirkamarsik ];
   };
diff --git a/pkgs/development/ocaml-modules/inotify/default.nix b/pkgs/development/ocaml-modules/inotify/default.nix
index 8910b720a84..e8289d92963 100644
--- a/pkgs/development/ocaml-modules/inotify/default.nix
+++ b/pkgs/development/ocaml-modules/inotify/default.nix
@@ -5,7 +5,7 @@
 
 stdenv.mkDerivation rec {
   version = "2.3";
-  name = "ocaml${ocaml.version}-inotify-${version}";
+  pname = "ocaml${ocaml.version}-inotify";
 
   src = fetchFromGitHub {
     owner = "whitequark";
diff --git a/pkgs/development/ocaml-modules/janestreet/default.nix b/pkgs/development/ocaml-modules/janestreet/default.nix
index 679ef4a58e4..ee906a72250 100644
--- a/pkgs/development/ocaml-modules/janestreet/default.nix
+++ b/pkgs/development/ocaml-modules/janestreet/default.nix
@@ -299,9 +299,9 @@ with self;
   };
 
   core = janePackage {
-    version = "0.11.2";
+    version = "0.11.3";
     pname = "core";
-    hash = "0vpsvd75lxb09il2rnzyib9mlr51v1hzqdc9fdxgx353pb5agh8a";
+    hash = "0pzl8n09z4f3i7z2wq4cjxfqrr8mj6xcdp7rbg0nxap2zdhjgvrq";
     propagatedBuildInputs = [ core_kernel spawn ];
     meta.description = "Jane Street's standard library overlay";
   };
diff --git a/pkgs/development/ocaml-modules/jsonm/default.nix b/pkgs/development/ocaml-modules/jsonm/default.nix
index 78a081619b2..c228242fda9 100644
--- a/pkgs/development/ocaml-modules/jsonm/default.nix
+++ b/pkgs/development/ocaml-modules/jsonm/default.nix
@@ -1,9 +1,8 @@
 { stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, uutf }:
 
-let version = "1.0.1"; in
-
-stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-jsonm-${version}";
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-jsonm";
+  version = "1.0.1";
 
   src = fetchurl {
     url = "https://erratique.ch/software/jsonm/releases/jsonm-${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
index 373e5ded952..d97f2f5bffd 100644
--- a/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
+++ b/pkgs/development/ocaml-modules/lablgtk-extras/default.nix
@@ -7,7 +7,7 @@ else
 
 stdenv.mkDerivation rec {
   version = "1.6";
-  name = "ocaml${ocaml.version}-lablgtk-extras-${version}";
+  pname = "ocaml${ocaml.version}-lablgtk-extras";
   src = fetchFromGitLab {
     domain = "framagit.org";
     owner = "zoggy";
diff --git a/pkgs/development/ocaml-modules/labltk/default.nix b/pkgs/development/ocaml-modules/labltk/default.nix
index bef06975ac5..971668ce0e1 100644
--- a/pkgs/development/ocaml-modules/labltk/default.nix
+++ b/pkgs/development/ocaml-modules/labltk/default.nix
@@ -49,7 +49,7 @@ in
 
 stdenv.mkDerivation rec {
   inherit (param) version src;
-  name = "ocaml${ocaml.version}-labltk-${version}";
+  pname = "ocaml${ocaml.version}-labltk";
 
   buildInputs = [ ocaml findlib tcl tk makeWrapper ];
 
diff --git a/pkgs/development/ocaml-modules/luv/default.nix b/pkgs/development/ocaml-modules/luv/default.nix
index fec487aeac2..4b11e8df985 100644
--- a/pkgs/development/ocaml-modules/luv/default.nix
+++ b/pkgs/development/ocaml-modules/luv/default.nix
@@ -6,12 +6,12 @@
 
 buildDunePackage rec {
   pname = "luv";
-  version = "0.5.10";
+  version = "0.5.11";
   useDune2 = true;
 
   src = fetchurl {
     url = "https://github.com/aantron/luv/releases/download/${version}/luv-${version}.tar.gz";
-    sha256 = "0zygir01d6vglfs4b3klnbg90glvyl9agq5xnzn8hmsb6d8z0jqp";
+    sha256 = "sha256-zOz0cxGzhLi3Q36qyStNCz8JGXHtECQfZysMKiyKOkM=";
   };
 
   postConfigure = ''
diff --git a/pkgs/development/ocaml-modules/lwt_react/default.nix b/pkgs/development/ocaml-modules/lwt_react/default.nix
index 5513935133e..f6f2bc0f4ef 100644
--- a/pkgs/development/ocaml-modules/lwt_react/default.nix
+++ b/pkgs/development/ocaml-modules/lwt_react/default.nix
@@ -1,22 +1,24 @@
-{ stdenv, fetchzip, ocaml, findlib, ocamlbuild, lwt, react }:
+{ lib, buildDunePackage, fetchFromGitHub, cppo, lwt, react }:
 
-stdenv.mkDerivation rec {
-  version = "1.0.1";
-  name = "ocaml${ocaml.version}-lwt_react-${version}";
-  src = fetchzip {
-    url = "https://github.com/ocsigen/lwt/releases/download/3.0.0/lwt_react-1.0.1.tar.gz";
-    sha256 = "1bbz7brvdskf4angzn3q2s2s6qdnx7x8m8syayysh23gwv4c7v31";
+buildDunePackage {
+  pname = "lwt_react";
+  version = "1.1.5";
+
+  useDune2 = true;
+
+  src = fetchFromGitHub {
+    owner = "ocsigen";
+    repo = "lwt";
+    rev = "5.5.0";
+    sha256 = "sha256:1jbjz2rsz3j56k8vh5qlmm87hhkr250bs2m3dvpy9vsri8rkzj9z";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
+  nativeBuildInputs = [ cppo ];
 
   propagatedBuildInputs = [ lwt react ];
 
-  createFindlibDestdir = true;
-
   meta = {
     description = "Helpers for using React with Lwt";
     inherit (lwt.meta) homepage license maintainers;
-    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/ocaml-modules/mdx/default.nix b/pkgs/development/ocaml-modules/mdx/default.nix
index e5132d64d4d..09f505c0e25 100644
--- a/pkgs/development/ocaml-modules/mdx/default.nix
+++ b/pkgs/development/ocaml-modules/mdx/default.nix
@@ -5,12 +5,14 @@
 
 buildDunePackage rec {
   pname = "mdx";
-  version = "1.11.1";
+  version = "2.1.0";
   useDune2 = true;
 
+  minimalOCamlVersion = "4.08";
+
   src = fetchurl {
     url = "https://github.com/realworldocaml/mdx/releases/download/${version}/mdx-${version}.tbz";
-    sha256 = "sha256:1q6169gmynnbrvlnzlmx7lpd6hwv6vwxg5j8ibc88wgs5s0r0fb0";
+    sha256 = "sha256-ol1zy8LODDYdcnv/jByE0pnqJ5ujQuMALq3v9y7td/o=";
   };
 
   nativeBuildInputs = [ cppo ];
diff --git a/pkgs/development/ocaml-modules/mlgmpidl/default.nix b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
index a0026e3a8ca..4e27c8ff3bb 100644
--- a/pkgs/development/ocaml-modules/mlgmpidl/default.nix
+++ b/pkgs/development/ocaml-modules/mlgmpidl/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, perl, ocaml, findlib, camlidl, gmp, mpfr }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-mlgmpidl-${version}";
+  pname = "ocaml${ocaml.version}-mlgmpidl";
   version = "1.2.12";
   src = fetchFromGitHub {
     owner = "nberth";
diff --git a/pkgs/development/ocaml-modules/mtime/default.nix b/pkgs/development/ocaml-modules/mtime/default.nix
index 9fa302947e9..3e4438f6da5 100644
--- a/pkgs/development/ocaml-modules/mtime/default.nix
+++ b/pkgs/development/ocaml-modules/mtime/default.nix
@@ -16,7 +16,8 @@ let param =
 in
 
 stdenv.mkDerivation {
-  name = "ocaml${ocaml.version}-mtime-${param.version}";
+  pname = "ocaml${ocaml.version}-mtime";
+  inherit (param) version;
 
   src = fetchurl {
     url = "https://erratique.ch/software/mtime/releases/mtime-${param.version}.tbz";
diff --git a/pkgs/development/ocaml-modules/nocrypto/default.nix b/pkgs/development/ocaml-modules/nocrypto/default.nix
index 055e6db3a64..fdd24094c17 100644
--- a/pkgs/development/ocaml-modules/nocrypto/default.nix
+++ b/pkgs/development/ocaml-modules/nocrypto/default.nix
@@ -20,7 +20,7 @@ then throw "nocrypto is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-nocrypto-${version}";
+  pname = "ocaml${ocaml.version}-nocrypto";
   version = "0.5.4";
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/notty/default.nix b/pkgs/development/ocaml-modules/notty/default.nix
index 8e1c5f38cb5..94342bb3128 100644
--- a/pkgs/development/ocaml-modules/notty/default.nix
+++ b/pkgs/development/ocaml-modules/notty/default.nix
@@ -12,7 +12,7 @@ let withLwt = lwt != null; in
 
 stdenv.mkDerivation rec {
   version = "0.2.2";
-  name = "ocaml${ocaml.version}-notty-${version}";
+  pname = "ocaml${ocaml.version}-notty";
 
   src = fetchurl {
     url = "https://github.com/pqwy/notty/releases/download/v${version}/notty-${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/num/default.nix b/pkgs/development/ocaml-modules/num/default.nix
index e2c7b439c69..b1293a2ab55 100644
--- a/pkgs/development/ocaml-modules/num/default.nix
+++ b/pkgs/development/ocaml-modules/num/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   version = "1.1";
-  name = "ocaml${ocaml.version}-num-${version}";
+  pname = "ocaml${ocaml.version}-num";
   src = fetchFromGitHub {
     owner = "ocaml";
     repo = "num";
diff --git a/pkgs/development/ocaml-modules/ocamlnet/default.nix b/pkgs/development/ocaml-modules/ocamlnet/default.nix
index 5c3ca95bb0d..d6e8f83968a 100644
--- a/pkgs/development/ocaml-modules/ocamlnet/default.nix
+++ b/pkgs/development/ocaml-modules/ocamlnet/default.nix
@@ -7,7 +7,7 @@ then throw "ocamlnet is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-ocamlnet-${version}";
+  pname = "ocaml${ocaml.version}-ocamlnet";
   version = "4.1.9";
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
index be217812834..7635f3a686c 100644
--- a/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
+++ b/pkgs/development/ocaml-modules/ocp-ocamlres/default.nix
@@ -5,7 +5,7 @@ then throw "ocp-ocamlres is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-ocp-ocamlres-${version}";
+  pname = "ocaml${ocaml.version}-ocp-ocamlres";
   version = "0.4";
   src = fetchFromGitHub {
     owner = "OCamlPro";
diff --git a/pkgs/development/ocaml-modules/parmap/default.nix b/pkgs/development/ocaml-modules/parmap/default.nix
index d79999087dd..521c1c40671 100644
--- a/pkgs/development/ocaml-modules/parmap/default.nix
+++ b/pkgs/development/ocaml-modules/parmap/default.nix
@@ -2,11 +2,11 @@
 
 buildDunePackage rec {
   pname = "parmap";
-  version = "1.2.3";
+  version = "1.2.4";
 
   src = fetchurl {
     url = "https://github.com/rdicosmo/${pname}/releases/download/${version}/${pname}-${version}.tbz";
-    sha256 = "1wg81slp453jci0gi0rzvdjx74110mlf1n5qpsmxic6fqsyz9d2v";
+    sha256 = "sha256-BTkSEjIK3CVNloJACFo6eQ6Ob9o/cdrA9xuv87NKas4=";
   };
 
   minimalOCamlVersion = "4.03";
diff --git a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
index 9899bfc4bdf..590c001c419 100644
--- a/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
+++ b/pkgs/development/ocaml-modules/piqi-ocaml/default.nix
@@ -16,7 +16,11 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  installPhase = "DESTDIR=$out make install";
+  installPhase = ''
+    runHook preInstall
+    DESTDIR=$out make install
+    runHook postInstall
+  '';
 
   meta = with lib; {
     homepage = "https://piqi.org";
diff --git a/pkgs/development/ocaml-modules/piqi/default.nix b/pkgs/development/ocaml-modules/piqi/default.nix
index 84ccc469f6e..faeb804d8aa 100644
--- a/pkgs/development/ocaml-modules/piqi/default.nix
+++ b/pkgs/development/ocaml-modules/piqi/default.nix
@@ -19,15 +19,9 @@ stdenv.mkDerivation rec {
 
   createFindlibDestdir = true;
 
-  buildPhase = ''
-    make
-    make -C piqilib piqilib.cma
-  '';
-
-  installPhase = ''
-    make install;
-    make ocaml-install;
-  '';
+  postBuild = "make -C piqilib piqilib.cma";
+
+  installTargets = [ "install" "ocaml-install" ];
 
   meta = with lib; {
     homepage = "https://piqi.org";
diff --git a/pkgs/development/ocaml-modules/pprint/default.nix b/pkgs/development/ocaml-modules/pprint/default.nix
index 0cdde114709..e0c5c269767 100644
--- a/pkgs/development/ocaml-modules/pprint/default.nix
+++ b/pkgs/development/ocaml-modules/pprint/default.nix
@@ -1,38 +1,22 @@
-{ lib, stdenv, fetchurl, ocaml, findlib, ocamlbuild }:
+{ lib, fetchFromGitHub, buildDunePackage }:
 
-assert lib.versionAtLeast (lib.getVersion ocaml) "3.12";
+buildDunePackage rec {
+  pname = "pprint";
+  version = "20220103";
 
-let param =
-  if lib.versionAtLeast ocaml.version "4.02"
-  then {
-    version = "20171003";
-    sha256 = "06zwsskri8kaqjdszj9360nf36zvwh886xwf033aija8c9k4w6cx";
-  } else {
-    version = "20140424";
-    sha256 = "0sc9q89dnyarcg24czyhr6ams0ylqvia3745s6rfwd2nldpygsdk";
-}; in
+  useDune2 = true;
 
-stdenv.mkDerivation {
-
-  name = "ocaml${ocaml.version}-pprint-${param.version}";
-
-  src = fetchurl {
-    url = "http://gallium.inria.fr/~fpottier/pprint/pprint-${param.version}.tar.gz";
-    inherit (param) sha256;
+  src = fetchFromGitHub {
+    owner = "fpottier";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256:09y6nwnjldifm47406q1r9987njlk77g4ifqg6qs54dckhr64vax";
   };
 
-  buildInputs = [ ocaml findlib ocamlbuild ];
-
-  createFindlibDestdir = true;
-
-  dontBuild = true;
-  installFlags = [ "-C" "src" ];
-
   meta = with lib; {
-    homepage = "http://gallium.inria.fr/~fpottier/pprint/";
-    description = "An OCaml adaptation of Wadler’s and Leijen’s prettier printer";
-    license = licenses.cecill-c;
+    inherit (src.meta) homepage;
+    description = "An OCaml library for pretty-printing textual documents";
+    license = licenses.lgpl2Only;
     maintainers = [ maintainers.vbgl ];
-    platforms = ocaml.meta.platforms or [];
   };
 }
diff --git a/pkgs/development/ocaml-modules/printbox/default.nix b/pkgs/development/ocaml-modules/printbox/default.nix
index b42df087a9a..179e559d72f 100644
--- a/pkgs/development/ocaml-modules/printbox/default.nix
+++ b/pkgs/development/ocaml-modules/printbox/default.nix
@@ -17,8 +17,8 @@ buildDunePackage rec {
 
   checkInputs = [ mdx.bin ];
 
-  # mdx is not available for OCaml < 4.07
-  doCheck = lib.versionAtLeast ocaml.version "4.07";
+  # mdx is not available for OCaml < 4.08
+  doCheck = lib.versionAtLeast ocaml.version "4.08";
 
   meta = {
     homepage = "https://github.com/c-cube/printbox/";
diff --git a/pkgs/development/ocaml-modules/process/default.nix b/pkgs/development/ocaml-modules/process/default.nix
index aecf03987ab..89faf40c3be 100644
--- a/pkgs/development/ocaml-modules/process/default.nix
+++ b/pkgs/development/ocaml-modules/process/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib, ocamlbuild }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-process-${version}";
+  pname = "ocaml${ocaml.version}-process";
   version = "0.2.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/ptime/default.nix b/pkgs/development/ocaml-modules/ptime/default.nix
index d99ec7ed320..7015c6058b4 100644
--- a/pkgs/development/ocaml-modules/ptime/default.nix
+++ b/pkgs/development/ocaml-modules/ptime/default.nix
@@ -4,7 +4,7 @@
 
 stdenv.mkDerivation rec {
   version = "0.8.5";
-  name = "ocaml${ocaml.version}-ptime-${version}";
+  pname = "ocaml${ocaml.version}-ptime";
 
   src = fetchurl {
     url = "https://erratique.ch/software/ptime/releases/ptime-${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/pyml/default.nix b/pkgs/development/ocaml-modules/pyml/default.nix
index 7bc794fa248..4f7c4b1b2a2 100644
--- a/pkgs/development/ocaml-modules/pyml/default.nix
+++ b/pkgs/development/ocaml-modules/pyml/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pyml";
-  version = "20210226";
+  version = "20211015";
 
   src = fetchFromGitHub {
     owner  = "thierry-martinez";
     repo   = pname;
     rev    = version;
-    sha256 = "15xk6bgdzsf04d6wdjpr3s1ci2g7d7qnbq3102avkz179d5n62h7";
+    sha256 = "sha256-GCO6KlRhJmADFjQ5QF4naMQBskF63yqnJnLnuQsagEk=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/ocaml-modules/rope/default.nix b/pkgs/development/ocaml-modules/rope/default.nix
index f29219e30c2..9410ab21ea3 100644
--- a/pkgs/development/ocaml-modules/rope/default.nix
+++ b/pkgs/development/ocaml-modules/rope/default.nix
@@ -23,7 +23,8 @@ let param =
 in
 
 stdenv.mkDerivation ({
-  name = "ocaml${ocaml.version}-rope-${param.version}";
+  pname = "ocaml${ocaml.version}-rope";
+  inherit (param) version;
 
   src = fetchurl {
     inherit (param) url sha256;
diff --git a/pkgs/development/ocaml-modules/rresult/default.nix b/pkgs/development/ocaml-modules/rresult/default.nix
index 04631cc3b4b..1198ca957f0 100644
--- a/pkgs/development/ocaml-modules/rresult/default.nix
+++ b/pkgs/development/ocaml-modules/rresult/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, ocaml, findlib, ocamlbuild, topkg, result }:
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-rresult-${version}";
+  pname = "ocaml${ocaml.version}-rresult";
   version = "0.6.0";
   src = fetchurl {
     url = "https://erratique.ch/software/rresult/releases/rresult-${version}.tbz";
diff --git a/pkgs/development/ocaml-modules/sosa/default.nix b/pkgs/development/ocaml-modules/sosa/default.nix
index f244ad550bf..1605a15bea8 100644
--- a/pkgs/development/ocaml-modules/sosa/default.nix
+++ b/pkgs/development/ocaml-modules/sosa/default.nix
@@ -7,7 +7,7 @@ then throw "sosa is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-sosa-${version}";
+  pname = "ocaml${ocaml.version}-sosa";
   version = "0.3.0";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/stdcompat/default.nix b/pkgs/development/ocaml-modules/stdcompat/default.nix
index 2e626695714..0f3b5377fc5 100644
--- a/pkgs/development/ocaml-modules/stdcompat/default.nix
+++ b/pkgs/development/ocaml-modules/stdcompat/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ocaml${ocaml.version}-stdcompat";
-  version = "15";
+  version = "18";
 
   src = fetchurl {
     url = "https://github.com/thierry-martinez/stdcompat/releases/download/v${version}/stdcompat-${version}.tar.gz";
-    sha256 = "1xcwb529m4lg9cbnxa9m3x2nnl9nxzz1x5lxpvdfflg4zxl6yx2y";
+    sha256 = "sha256:01y67rndjlzfp5zq0gbqpg9skqq2hfbvhbq9lfhhk5xidr98sfj8";
   };
 
   buildInputs = [ ocaml findlib ];
diff --git a/pkgs/development/ocaml-modules/topkg/default.nix b/pkgs/development/ocaml-modules/topkg/default.nix
index 97052115da6..9e1369a8567 100644
--- a/pkgs/development/ocaml-modules/topkg/default.nix
+++ b/pkgs/development/ocaml-modules/topkg/default.nix
@@ -27,7 +27,7 @@ let
 in
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-topkg-${version}";
+  pname = "ocaml${ocaml.version}-topkg";
   inherit (param) version;
 
   src = fetchurl {
diff --git a/pkgs/development/ocaml-modules/torch/default.nix b/pkgs/development/ocaml-modules/torch/default.nix
index 1cf84dd4938..7a0c6bdadef 100644
--- a/pkgs/development/ocaml-modules/torch/default.nix
+++ b/pkgs/development/ocaml-modules/torch/default.nix
@@ -17,7 +17,7 @@
 
 buildDunePackage rec {
   pname = "torch";
-  version = "0.13";
+  version = "0.14";
 
   useDune2 = true;
 
@@ -27,7 +27,7 @@ buildDunePackage rec {
     owner = "LaurentMazare";
     repo   = "ocaml-${pname}";
     rev    = version;
-    sha256 = "0528h1mkrqbmbf7hy91dsnxcg0k55m3jgharr71c652xyd847yz7";
+    sha256 = "sha256:039anfvzsalbqi5cdp95bbixcwr2ngharihgd149hcr0wa47y700";
   };
 
   buildInputs = [ dune-configurator ];
diff --git a/pkgs/development/ocaml-modules/wasm/default.nix b/pkgs/development/ocaml-modules/wasm/default.nix
index 4befff2721b..bf7fcb66fe5 100644
--- a/pkgs/development/ocaml-modules/wasm/default.nix
+++ b/pkgs/development/ocaml-modules/wasm/default.nix
@@ -5,7 +5,7 @@ then throw "wasm is not available for OCaml ${ocaml.version}"
 else
 
 stdenv.mkDerivation rec {
-  name = "ocaml${ocaml.version}-wasm-${version}";
+  pname = "ocaml${ocaml.version}-wasm";
   version = "1.1.1";
 
   src = fetchFromGitHub {
diff --git a/pkgs/development/ocaml-modules/xml-light/default.nix b/pkgs/development/ocaml-modules/xml-light/default.nix
index 248b3f12407..683d2ec214f 100644
--- a/pkgs/development/ocaml-modules/xml-light/default.nix
+++ b/pkgs/development/ocaml-modules/xml-light/default.nix
@@ -1,10 +1,8 @@
 { stdenv, lib, fetchFromGitHub, ocaml, findlib }:
-let
-  pname = "xml-light";
+
+stdenv.mkDerivation rec {
+  pname = "ocaml${ocaml.version}-xml-light";
   version = "2.4";
-in
-stdenv.mkDerivation {
-  name = "ocaml-${pname}-${version}";
 
   src = fetchFromGitHub {
     owner = "ncannasse";
@@ -17,15 +15,12 @@ stdenv.mkDerivation {
 
   createFindlibDestdir = true;
 
-  buildPhase = ''
-    make all
-    make opt
-  '';
-
   installPhase = ''
+    runHook preInstall
     make install_ocamlfind
     mkdir -p $out/share
     cp -vai doc $out/share/
+    runHook postInstall
   '';
 
   meta = {
@@ -40,6 +35,6 @@ stdenv.mkDerivation {
     homepage = "http://tech.motion-twin.com/xmllight.html";
     license = lib.licenses.lgpl21;
     maintainers = [ lib.maintainers.romildo ];
-    platforms = ocaml.meta.platforms or [ ];
+    inherit (ocaml.meta) platforms;
   };
 }
diff --git a/pkgs/development/octave-modules/symbolic/default.nix b/pkgs/development/octave-modules/symbolic/default.nix
index e40d27e7c38..51382653992 100644
--- a/pkgs/development/octave-modules/symbolic/default.nix
+++ b/pkgs/development/octave-modules/symbolic/default.nix
@@ -1,38 +1,27 @@
 { buildOctavePackage
 , lib
-, fetchurl
+, fetchFromGitHub
 # Octave's Python (Python 3)
 , python
-# Needed only to get the correct version of sympy needed
-, python2Packages
 }:
 
 let
-  # Need to use sympy 1.5.1 for https://github.com/cbm755/octsympy/issues/1023
-  # It has been addressed, but not merged yet.
-  # In the meantime, we create a Python environment with Python 3, its mpmath
-  # version and sympy 1.5 from python2Packages.
-  pythonEnv = (let
-      overridenPython = let
-        packageOverrides = self: super: {
-          sympy = super.sympy.overridePythonAttrs (old: rec {
-            version = python2Packages.sympy.version;
-            src = python2Packages.sympy.src;
-          });
-        };
-      in python.override {inherit packageOverrides; self = overridenPython; };
-    in overridenPython.withPackages (ps: [
+  pythonEnv = python.withPackages (ps: [
       ps.sympy
       ps.mpmath
-    ]));
+    ]);
 
 in buildOctavePackage rec {
   pname = "symbolic";
-  version = "2.9.0";
+  version = "unstable-2021-10-16";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/octave/${pname}-${version}.tar.gz";
-    sha256 = "1jr3kg9q6r4r4h3hiwq9fli6wsns73rqfzkrg25plha9195c97h8";
+  # https://github.com/cbm755/octsympy/issues/1023 has been resolved, however
+  # a new release has not been made
+  src = fetchFromGitHub {
+    owner = "cbm755";
+    repo = "octsympy";
+    rev = "5b58530f4ada78c759829ae703a0e5d9832c32d4";
+    sha256 = "sha256-n6P1Swjl4RfgxfLY0ZuN3pcL8PcoknA6yxbnw96OZ2k=";
   };
 
   propagatedBuildInputs = [ pythonEnv ];
diff --git a/pkgs/development/perl-modules/generic/default.nix b/pkgs/development/perl-modules/generic/default.nix
index 9beacd65a64..6de9685715d 100644
--- a/pkgs/development/perl-modules/generic/default.nix
+++ b/pkgs/development/perl-modules/generic/default.nix
@@ -1,46 +1,60 @@
 { lib, stdenv, perl, buildPerl, toPerlModule }:
 
-{ buildInputs ? [], nativeBuildInputs ? [], ... } @ attrs:
+{ buildInputs ? []
+, nativeBuildInputs ? []
+, outputs ? [ "out" "devdoc" ]
+, src ? null
 
-assert attrs?pname -> attrs?version;
-assert attrs?pname -> !(attrs?name);
+, doCheck ? true
+, checkTarget ? "test"
 
-lib.warnIf (attrs ? name) "builtPerlPackage: `name' (\"${attrs.name}\") is deprecated, use `pname' and `version' instead"
+# Prevent CPAN downloads.
+, PERL_AUTOINSTALL ? "--skipdeps"
 
-toPerlModule(stdenv.mkDerivation (
-  (
-  lib.recursiveUpdate
-  {
-    outputs = [ "out" "devdoc" ];
+# From http://wiki.cpantesters.org/wiki/CPANAuthorNotes: "allows
+# authors to skip certain tests (or include certain tests) when
+# the results are not being monitored by a human being."
+, AUTOMATED_TESTING ? true
 
-    doCheck = true;
+# current directory (".") is removed from @INC in Perl 5.26 but many old libs rely on it
+# https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC
+, PERL_USE_UNSAFE_INC ? "1"
 
-    checkTarget = "test";
+, ...
+}@attrs:
 
-    # Prevent CPAN downloads.
-    PERL_AUTOINSTALL = "--skipdeps";
+assert attrs?pname -> attrs?version;
+assert attrs?pname -> !(attrs?name);
+
+lib.warnIf (attrs ? name) "builtPerlPackage: `name' (\"${attrs.name}\") is deprecated, use `pname' and `version' instead"
 
-    # From http://wiki.cpantesters.org/wiki/CPANAuthorNotes: "allows
-    # authors to skip certain tests (or include certain tests) when
-    # the results are not being monitored by a human being."
-    AUTOMATED_TESTING = true;
+(let
+  defaultMeta = {
+    homepage = "https://metacpan.org/release/${lib.getName attrs}"; # TODO: phase-out `attrs.name`
+    platforms = perl.meta.platforms;
+  };
 
-    # current directory (".") is removed from @INC in Perl 5.26 but many old libs rely on it
-    # https://metacpan.org/pod/release/XSAWYERX/perl-5.26.0/pod/perldelta.pod#Removal-of-the-current-directory-%28%22.%22%29-from-@INC
-    PERL_USE_UNSAFE_INC = "1";
+  cleanedAttrs = builtins.removeAttrs attrs [
+    "meta" "builder" "version" "pname" "fullperl"
+    "buildInputs" "nativeBuildInputs" "buildInputs"
+    "PERL_AUTOINSTALL" "AUTOMATED_TESTING" "PERL_USE_UNSAFE_INC"
+    ];
 
-    meta.homepage = "https://metacpan.org/release/${lib.getName attrs}"; # TODO: phase-out `attrs.name`
-    meta.platforms = perl.meta.platforms;
-  }
-  attrs
-  )
-  //
-  {
+  package = stdenv.mkDerivation ({
     pname = "perl${perl.version}-${lib.getName attrs}"; # TODO: phase-out `attrs.name`
     version = lib.getVersion attrs;                     # TODO: phase-out `attrs.name`
+
     builder = ./builder.sh;
+
     buildInputs = buildInputs ++ [ perl ];
     nativeBuildInputs = nativeBuildInputs ++ [ (perl.mini or perl) ];
+
     fullperl = buildPerl;
-  }
-))
+
+    inherit outputs src doCheck checkTarget;
+    inherit PERL_AUTOINSTALL AUTOMATED_TESTING PERL_USE_UNSAFE_INC;
+
+    meta = defaultMeta // (attrs.meta or { });
+  } // cleanedAttrs);
+
+in toPerlModule package)
diff --git a/pkgs/development/pharo/launcher/default.nix b/pkgs/development/pharo/launcher/default.nix
index 23afd44b67d..d8d3bcb2cdd 100644
--- a/pkgs/development/pharo/launcher/default.nix
+++ b/pkgs/development/pharo/launcher/default.nix
@@ -17,7 +17,7 @@ stdenv.mkDerivation rec {
     comment = "Launcher for Pharo distributions";
     desktopName = "Pharo";
     genericName = "Pharo";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
   # because upstream tarball has no top-level directory.
diff --git a/pkgs/development/pharo/wrapper/default.nix b/pkgs/development/pharo/wrapper/default.nix
index 1f089295072..1202b2dce6d 100644
--- a/pkgs/development/pharo/wrapper/default.nix
+++ b/pkgs/development/pharo/wrapper/default.nix
@@ -11,11 +11,9 @@ stdenv.mkDerivation rec {
     genericName = "Pharo Virtual Machine";
     exec = "pharo %F";
     icon = "pharo";
-    terminal = "false";
-    type="Application";
-    startupNotify = "false";
-    categories = "Development;";
-    mimeType = "application/x-pharo-image";
+    startupNotify = false;
+    categories = [ "Development" ];
+    mimeTypes = [ "application/x-pharo-image" ];
   };
   unpackPhase = ''
     cp $src ./pharo-vm.sh
diff --git a/pkgs/development/php-packages/composer/default.nix b/pkgs/development/php-packages/composer/default.nix
index 9247f984d43..a3920691a8d 100644
--- a/pkgs/development/php-packages/composer/default.nix
+++ b/pkgs/development/php-packages/composer/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, unzip, lib, php }:
 let
   pname = "composer";
-  version = "2.2.3";
+  version = "2.2.6";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://getcomposer.org/download/${version}/composer.phar";
-    sha256 = "sha256-chzCf4HGSF//cOb1a58qra53Ch+JdKOEw041mHojDYw=";
+    sha256 = "sha256-HVhIa4keWengZMDVS7OFOPdNYBT3VIFULGmthNTpdwQ=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/php-packages/couchbase/default.nix b/pkgs/development/php-packages/couchbase/default.nix
index 1b90e71fd20..84f30720431 100644
--- a/pkgs/development/php-packages/couchbase/default.nix
+++ b/pkgs/development/php-packages/couchbase/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPecl, fetchFromGitHub, writeText, libcouchbase, zlib, php, substituteAll }:
 let
   pname = "couchbase";
-  version = "3.2.1";
+  version = "3.2.2";
 in
 buildPecl {
   inherit pname version;
@@ -10,7 +10,7 @@ buildPecl {
     owner = "couchbase";
     repo = "php-couchbase";
     rev = "v${version}";
-    sha256 = "sha256-Ti1jo1do0xiY/FAfyG/YI/TTcgFTMWy8cuhorDodUko=";
+    sha256 = "sha256-JpzLR4NcyShl2VTivj+15iAsTTsZmdMIdZYc3dLCbIA=";
   };
 
   configureFlags = [ "--with-couchbase" ];
diff --git a/pkgs/development/php-packages/igbinary/default.nix b/pkgs/development/php-packages/igbinary/default.nix
index 886f75ecc9f..15d3d1b7086 100644
--- a/pkgs/development/php-packages/igbinary/default.nix
+++ b/pkgs/development/php-packages/igbinary/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "igbinary";
 
-  version = "3.2.6";
-  sha256 = "sha256-yjLjlezbREemnV6lGzX+sZw7xXWbRolv729+LKQajkM=";
+  version = "3.2.7";
+  sha256 = "sha256-0NwNC1aphfT1LOogcXEz09oFNoh2vA+UMXweYOAxnn0=";
 
   configureFlags = [ "--enable-igbinary" ];
   makeFlags = [ "phpincludedir=$(dev)/include" ];
diff --git a/pkgs/development/php-packages/imagick/default.nix b/pkgs/development/php-packages/imagick/default.nix
index 280ad28f8f6..5150833945b 100644
--- a/pkgs/development/php-packages/imagick/default.nix
+++ b/pkgs/development/php-packages/imagick/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "imagick";
 
-  version = "3.6.0";
-  sha256 = "sha256-Till8tcN1ZpA55V9VuWQ5zHK0maen4ng/KFZ10jSlH4=";
+  version = "3.7.0";
+  sha256 = "sha256-WjZDVBCQKdIkvLsuguFbJIvptkEif0XmNCXAZTF5LT4=";
 
   configureFlags = [ "--with-imagick=${imagemagick.dev}" ];
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/php-packages/mailparse/default.nix b/pkgs/development/php-packages/mailparse/default.nix
index f3796eb3b6c..de3ec2d11d4 100644
--- a/pkgs/development/php-packages/mailparse/default.nix
+++ b/pkgs/development/php-packages/mailparse/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "mailparse";
 
-  version = "3.1.2";
-  sha256 = "sha256-sGR6sH6kgPzBNTM2jjj9tPS7RdMNzmX8kGUqZwpPQBA=";
+  version = "3.1.3";
+  sha256 = "sha256-hlnKYtyaTX0V8H+XoOIULLWCUcjncs02Zp7HQNIpJHE=";
 
   internalDeps = [ php.extensions.mbstring ];
   postConfigure = ''
diff --git a/pkgs/development/php-packages/php-cs-fixer/default.nix b/pkgs/development/php-packages/php-cs-fixer/default.nix
index 8e3329ae0b1..bf1c806dfc3 100644
--- a/pkgs/development/php-packages/php-cs-fixer/default.nix
+++ b/pkgs/development/php-packages/php-cs-fixer/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "php-cs-fixer";
-  version = "3.4.0";
+  version = "3.6.0";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/FriendsOfPHP/PHP-CS-Fixer/releases/download/v${version}/php-cs-fixer.phar";
-    sha256 = "sha256-UlZ3L5JaFN988WaHeZZRdl9yif29zFO0LMiFDGkMFuQ=";
+    sha256 = "sha256-sbz8uq6nJ6dEL6FHJ01VTrovaJa8bwQ9Ic+dLr7yPnA=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/php-packages/phpstan/default.nix b/pkgs/development/php-packages/phpstan/default.nix
index 55d3570dfb7..b00da4972f6 100644
--- a/pkgs/development/php-packages/phpstan/default.nix
+++ b/pkgs/development/php-packages/phpstan/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "phpstan";
-  version = "1.3.0";
+  version = "1.4.6";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/phpstan/phpstan/releases/download/${version}/phpstan.phar";
-    sha256 = "sha256-3B7mYuK4k8l6YPMMHRd2yRdCr69VsYXnAZZYIDDDIMM=";
+    sha256 = "sha256-h19rFEs7VrdlxGS1qeYJnO5aQaKzpFZTdsN2h3Hmm0w=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/php-packages/protobuf/default.nix b/pkgs/development/php-packages/protobuf/default.nix
index 2d4a1af9af6..b24a8f025e5 100644
--- a/pkgs/development/php-packages/protobuf/default.nix
+++ b/pkgs/development/php-packages/protobuf/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "protobuf";
 
-  version = "3.19.1";
-  sha256 = "sha256-kAPNPnvbCrmGITM3Hjpsn62TASV8eNCizFN8+1+I6bY=";
+  version = "3.19.4";
+  sha256 = "sha256-ijo+UZz+Hh3F8FUJmcUIbKBLkv4t4CWIrbRUfUp7Zbo=";
 
   buildInputs = [ pcre2 ];
 
diff --git a/pkgs/development/php-packages/psysh/default.nix b/pkgs/development/php-packages/psysh/default.nix
index b3ca5edebf9..a9a5a007d94 100644
--- a/pkgs/development/php-packages/psysh/default.nix
+++ b/pkgs/development/php-packages/psysh/default.nix
@@ -1,14 +1,14 @@
 { mkDerivation, fetchurl, makeWrapper, lib, php }:
 let
   pname = "psysh";
-  version = "0.11.0";
+  version = "0.11.1";
 in
 mkDerivation {
   inherit pname version;
 
   src = fetchurl {
     url = "https://github.com/bobthecow/psysh/releases/download/v${version}/psysh-v${version}.tar.gz";
-    sha256 = "sha256-UIAeOVbKWcfNV3bXaBhkK06wezhtig8aBZfB27umwFU=";
+    sha256 = "sha256-OiEXI7AVcC5udISfJ41285OBL82mSd1Xb5qhVtG4p9I=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/php-packages/rdkafka/default.nix b/pkgs/development/php-packages/rdkafka/default.nix
index 6ac94b8eb02..04e6df329a1 100644
--- a/pkgs/development/php-packages/rdkafka/default.nix
+++ b/pkgs/development/php-packages/rdkafka/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "rdkafka";
 
-  version = "5.0.2";
-  sha256 = "sha256-slCwtt8ySE5Zk2tnaYO6E0N20VZS8CVSsr8EgqssvOk=";
+  version = "6.0.1";
+  sha256 = "sha256-ikq+cB5ZPRBCwhB0YQT0sEsVrJjbYzGEju2RrK388ZI=";
 
   buildInputs = [ rdkafka pcre2 ];
 
diff --git a/pkgs/development/php-packages/redis/default.nix b/pkgs/development/php-packages/redis/default.nix
index 025c2a38ab0..070112ba655 100644
--- a/pkgs/development/php-packages/redis/default.nix
+++ b/pkgs/development/php-packages/redis/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "redis";
 
-  version = "5.3.5";
-  sha256 = "sha256-1V+lzGmRmJF7or3IJ9pjKtd/AJuiZC0nUEVql22+WYk=";
+  version = "5.3.7";
+  sha256 = "sha256-uVgWbM2k9AvRfGmY+eIjkCGuZERnzYrVwV3vQgqtZbA=";
 
   internalDeps = with php.extensions; [
     session
diff --git a/pkgs/development/php-packages/swoole/default.nix b/pkgs/development/php-packages/swoole/default.nix
index d017bc86f1a..99b2b53f7ee 100644
--- a/pkgs/development/php-packages/swoole/default.nix
+++ b/pkgs/development/php-packages/swoole/default.nix
@@ -3,8 +3,8 @@
 buildPecl {
   pname = "swoole";
 
-  version = "4.8.5";
-  sha256 = "sha256-FCda91vO79Y1O1Pojv710VLzwwVUPHwn0O1kliOyKPg=";
+  version = "4.8.6";
+  sha256 = "sha256-4ot8LXpWcjMmD3e/EzrYNMxqUPPupQQkv2ibLkZoWxs=";
 
   buildInputs = [ pcre2 ] ++ lib.optionals (!stdenv.isDarwin) [ valgrind ];
   internalDeps = lib.optionals (lib.versionOlder php.version "7.4") [ php.extensions.hash ];
diff --git a/pkgs/development/python-modules/Markups/default.nix b/pkgs/development/python-modules/Markups/default.nix
deleted file mode 100644
index 1fa304f57a8..00000000000
--- a/pkgs/development/python-modules/Markups/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, python-markdown-math
-, markdown
-, docutils
-, pygments
-, pyyaml
-}:
-
-buildPythonPackage rec {
-  pname = "Markups";
-  version = "3.1.3";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "ab9747a72c1c6457418eb4276c79871977c13a654618e4f12e2a1f0990fbf2fc";
-  };
-
-  checkInputs = [ markdown docutils pygments pyyaml ];
-  propagatedBuildInputs = [ python-markdown-math ];
-
-  meta = {
-    description = "A wrapper around various text markup languages.";
-    homepage = "https://github.com/retext-project/pymarkups";
-    license = lib.licenses.bsd3;
-    maintainers = with lib.maintainers; [ klntsky ];
-  };
-}
diff --git a/pkgs/development/python-modules/Pygments/default.nix b/pkgs/development/python-modules/Pygments/default.nix
index bb17af144cb..af125e1f40e 100644
--- a/pkgs/development/python-modules/Pygments/default.nix
+++ b/pkgs/development/python-modules/Pygments/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "Pygments";
-  version = "2.10.0";
+  version = "2.11.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f398865f7eb6874156579fdf36bc840a03cab64d1cde9e93d68f46a425ec52c6";
+    sha256 = "4e426f72023d88d03b2fa258de560726ce890ff3b630f88c21cbb8b2503b8c6a";
   };
 
   propagatedBuildInputs = [ docutils ];
diff --git a/pkgs/development/python-modules/absl-py/default.nix b/pkgs/development/python-modules/absl-py/default.nix
index 30a0e68dea0..bda6c950d59 100644
--- a/pkgs/development/python-modules/absl-py/default.nix
+++ b/pkgs/development/python-modules/absl-py/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "absl-py";
-  version = "0.15.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "72d782fbeafba66ba3e525d46bccac949b9a174dbf66233e50ece09ee688dc81";
+    sha256 = "ac511215c01ee9ae47b19716599e8ccfa746f2e18de72bdf641b79b22afa27ea";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/adafruit-platformdetect/default.nix b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
index c8caf18aa17..da4ac528d1a 100644
--- a/pkgs/development/python-modules/adafruit-platformdetect/default.nix
+++ b/pkgs/development/python-modules/adafruit-platformdetect/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "adafruit-platformdetect";
-  version = "3.19.4";
+  version = "3.20.0";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "Adafruit-PlatformDetect";
     inherit version;
-    sha256 = "sha256-b/uAmrFdAtmXUjaW038mKeZgWHCSIEzCZvCy/9Z3ghw=";
+    sha256 = "sha256-bbzEI/Ig7yQn4/fRmX8tIe6UL+J8iV1TbrCXBU+oLms=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/adguardhome/default.nix b/pkgs/development/python-modules/adguardhome/default.nix
index 8521aa91d7c..134132f9931 100644
--- a/pkgs/development/python-modules/adguardhome/default.nix
+++ b/pkgs/development/python-modules/adguardhome/default.nix
@@ -23,6 +23,15 @@ buildPythonPackage rec {
     sha256 = "sha256-HAgt52Bo2NOUkpr5xvWTcRyrLKpfcBDlVAZxgDNI7hY=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "--cov" "" \
+      --replace '"0.0.0"' '"${version}"'
+
+    substituteInPlace tests/test_adguardhome.py \
+      --replace 0.0.0 ${version}
+  '';
+
   nativeBuildInputs = [ poetry-core ];
 
   propagatedBuildInputs = [
@@ -36,10 +45,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace pyproject.toml --replace "--cov" ""
-  '';
-
   pythonImportsCheck = [ "adguardhome" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/advantage-air/default.nix b/pkgs/development/python-modules/advantage-air/default.nix
index b720a4e4cc2..d8a8cf57973 100644
--- a/pkgs/development/python-modules/advantage-air/default.nix
+++ b/pkgs/development/python-modules/advantage-air/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "advantage-air";
-  version = "0.2.6";
+  version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "advantage_air";
     inherit version;
-    hash = "sha256-n7Vl5fLEpkAEi4NrsoJlwwdaGcxnXURLdGN0etHgmOE=";
+    hash = "sha256-C+cB6oHmbr9mHZKnbls42yenQy3+L8huLk9wKazIWfU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aesara/default.nix b/pkgs/development/python-modules/aesara/default.nix
new file mode 100644
index 00000000000..3e2e9cb2cf3
--- /dev/null
+++ b/pkgs/development/python-modules/aesara/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, numpy
+, scipy
+, filelock
+, etuples
+, logical-unification
+, minikanren
+, cons
+, numba
+, numba-scipy
+, libgpuarray
+, sympy
+, cython
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "aesara";
+  version = "2.4.0";
+
+  src = fetchFromGitHub {
+    owner = "aesara-devs";
+    repo = "aesara";
+    rev = "38d7a813646c1e350170c46bafade0e7d0e2427c";
+    sha256 = "sha256-933bM15BZi4sTjnIOGAg5dc5tXVWQ9lFzktOtzj5DNQ=";
+  };
+
+  nativeBuildInputs = [
+    cython
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    scipy
+    filelock
+    etuples
+    logical-unification
+    minikanren
+    cons
+    numba
+    numba-scipy
+    libgpuarray
+    sympy
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  pythonImportsCheck = [ "aesara" ];
+
+  meta = with lib; {
+    description = "Python library to define, optimize, and efficiently evaluate mathematical expressions involving multi-dimensional arrays";
+    homepage = "https://github.com/aesara-devs/aesara";
+    changelog = "https://github.com/aesara-devs/aesara/releases";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ Etjean ];
+  };
+}
diff --git a/pkgs/development/python-modules/aio-geojson-client/default.nix b/pkgs/development/python-modules/aio-geojson-client/default.nix
index f347ed5cd1b..f00a75961b9 100644
--- a/pkgs/development/python-modules/aio-geojson-client/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-client/default.nix
@@ -8,17 +8,21 @@
 , haversine
 , pytest-asyncio
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aio-geojson-client";
-  version = "0.15";
+  version = "0.16";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-geojson-client";
     rev = "v${version}";
-    sha256 = "0sbzrzmny7x4bkbg6z0cjn4d10r50nxdyaq7g6lagwd8ijpkg8l3";
+    hash = "sha256-u3SwrSxeBJrBTHfqKY/mAb2p1jqW2AvRsHomKsI81gM=";
   };
 
   propagatedBuildInputs = [
@@ -34,7 +38,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "aio_geojson_client" ];
+  pythonImportsCheck = [
+    "aio_geojson_client"
+  ];
 
   meta = with lib; {
     description = "Python module for accessing GeoJSON feeds";
diff --git a/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix b/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
index b42ba55bfa7..f3076160f9c 100644
--- a/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-geonetnz-quakes/default.nix
@@ -7,17 +7,21 @@
 , pytest-asyncio
 , pytestCheckHook
 , pytz
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aio-geojson-geonetnz-quakes";
-  version = "0.13";
+  version = "0.14";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-geojson-geonetnz-quakes";
     rev = "v${version}";
-    sha256 = "sha256-M1QleYVPqLFjxBmOlNJdydxDTk0JJf+GYVtOTC3YUTA=";
+    hash = "sha256-T3vQodb0/3YEjsyHLSI8DBKK75J8hvsaBqyQI7GkT3U=";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +36,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "aio_geojson_geonetnz_quakes" ];
+  pythonImportsCheck = [
+    "aio_geojson_geonetnz_quakes"
+  ];
 
   meta = with lib; {
     description = "Python module for accessing the GeoNet NZ Quakes GeoJSON feeds";
diff --git a/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix b/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
index 3cc46ae3afb..3ba2b430801 100644
--- a/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-geonetnz-volcano/default.nix
@@ -8,17 +8,21 @@
 , pytest-asyncio
 , pytestCheckHook
 , pytz
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aio-geojson-geonetnz-volcano";
-  version = "0.6";
+  version = "0.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-geojson-geonetnz-volcano";
     rev = "v${version}";
-    sha256 = "0n97kij2fprzajh57sy1z57kaqiil7pd5y67lq2hqm2cnvkar5ci";
+    sha256 = "sha256-2iVUHMk4ydmGmmGS6lJV5pvxJHyP9bRSeh/dOXbquE0=";
   };
 
   propagatedBuildInputs = [
@@ -34,7 +38,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "aio_geojson_geonetnz_volcano" ];
+  pythonImportsCheck = [
+    "aio_geojson_geonetnz_volcano"
+  ];
 
   meta = with lib; {
     description = "Python module for accessing the GeoNet NZ Volcanic GeoJSON feeds";
diff --git a/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix b/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
index 792f91bc7f1..c790188ea26 100644
--- a/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
+++ b/pkgs/development/python-modules/aio-geojson-nsw-rfs-incidents/default.nix
@@ -8,17 +8,21 @@
 , pytest-asyncio
 , pytestCheckHook
 , pytz
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aio-geojson-nsw-rfs-incidents";
-  version = "0.4";
+  version = "0.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-geojson-nsw-rfs-incidents";
     rev = "v${version}";
-    sha256 = "sha256-o9tuoJ7VZ6bg0rYeRWClKxdbxxj6wPgkSF7ZdOfmJew=";
+    sha256 = "sha256-rWlt4MYnuY+CzszFVDniWBnqpQW3WldSEl00ns3ko3U=";
   };
 
   propagatedBuildInputs = [
@@ -34,7 +38,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "aio_geojson_nsw_rfs_incidents" ];
+  pythonImportsCheck = [
+    "aio_geojson_nsw_rfs_incidents"
+  ];
 
   meta = with lib; {
     description = "Python module for accessing the NSW Rural Fire Service incidents feeds";
diff --git a/pkgs/development/python-modules/aio-georss-client/default.nix b/pkgs/development/python-modules/aio-georss-client/default.nix
index 2b40028721a..586cc6b74a8 100644
--- a/pkgs/development/python-modules/aio-georss-client/default.nix
+++ b/pkgs/development/python-modules/aio-georss-client/default.nix
@@ -15,14 +15,16 @@
 
 buildPythonPackage rec {
   pname = "aio-georss-client";
-  version = "0.8";
+  version = "0.9";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-georss-client";
     rev = "v${version}";
-    sha256 = "0447scp5n906p8kfzy0lwdq06f6hkq71r2zala6g3vr6b3kla6h8";
+    sha256 = "sha256-cnOW9Ey6WdL2bAqPop5noETn12OeeKsMkWHKGmYCjJU=";
   };
 
   propagatedBuildInputs = [
@@ -40,7 +42,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "aio_georss_client" ];
+  pythonImportsCheck = [
+    "aio_georss_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing GeoRSS feeds";
diff --git a/pkgs/development/python-modules/aio-georss-gdacs/default.nix b/pkgs/development/python-modules/aio-georss-gdacs/default.nix
index 6b6d295f8b8..b33e2e35ee1 100644
--- a/pkgs/development/python-modules/aio-georss-gdacs/default.nix
+++ b/pkgs/development/python-modules/aio-georss-gdacs/default.nix
@@ -11,14 +11,16 @@
 
 buildPythonPackage rec {
   pname = "aio-georss-gdacs";
-  version = "0.5";
+  version = "0.6";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-aio-georss-gdacs";
     rev = "v${version}";
-    sha256 = "sha256-CIQoQRk5KIPEa/Y/7C1NPctuHvoiZ/o2bDa5YSWY+9M=";
+    sha256 = "sha256-sUHVmueu70ZnXP8KoJ2mDzzEedzXYHM2yeGC4oVsZZU=";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +34,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "aio_georss_gdacs" ];
+  pythonImportsCheck = [
+    "aio_georss_gdacs"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing GeoRSS feeds";
diff --git a/pkgs/development/python-modules/aioaseko/default.nix b/pkgs/development/python-modules/aioaseko/default.nix
index ca05910511e..1c31dac5f59 100644
--- a/pkgs/development/python-modules/aioaseko/default.nix
+++ b/pkgs/development/python-modules/aioaseko/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aioaseko";
-  version = "0.0.1";
+  version = "0.0.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "milanmeu";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-dfU2J4aDKNR+GoEmdq/NhX4Mrmm9tmCkse1tb+V5EFQ=";
+    hash = "sha256-nJRVNBYfBcLYnBsTpQZYMHYWh0+hQObVKJ7sOXFwDjc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioazuredevops/default.nix b/pkgs/development/python-modules/aioazuredevops/default.nix
index 3568e98a59e..4c8cd7a45dc 100644
--- a/pkgs/development/python-modules/aioazuredevops/default.nix
+++ b/pkgs/development/python-modules/aioazuredevops/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "aioazuredevops";
-  version = "1.3.5";
+  version = "1.4.3";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4c98a995d0516f502ba191fa3ac973ee72b93425e7eab3cdf770516c6e93c780";
+    sha256 = "sha256-vNTvSQYjjptdPsHz0zM9paq3iodZrhcEralPm6YRZJE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiobotocore/default.nix b/pkgs/development/python-modules/aiobotocore/default.nix
index 9fbbbac43ef..ef39f451d59 100644
--- a/pkgs/development/python-modules/aiobotocore/default.nix
+++ b/pkgs/development/python-modules/aiobotocore/default.nix
@@ -10,18 +10,18 @@
 
 buildPythonPackage rec {
   pname = "aiobotocore";
-  version = "1.4.2";
+  version = "2.1.1";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2f4ef325aaa839e9e2a53346b4c1c203656783a4985ab36fd4c2a9ef2dc1d2b";
+    sha256 = "sha256-2+mrmXhRwkWLB6hfaCvizPNdZ51d4Pj1cSKfdArXunE=";
   };
 
   # relax version constraints: aiobotocore works with newer botocore versions
   # the pinning used to match some `extras_require` we're not using.
   postPatch = ''
-    substituteInPlace setup.py --replace 'botocore>=1.20.106,<1.20.107' 'botocore'
+    sed -i "s/'botocore>=.*'/'botocore'/" setup.py
   '';
 
   propagatedBuildInputs = [ wrapt aiohttp aioitertools botocore ];
diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix
index a10a84a0425..06389d50677 100644
--- a/pkgs/development/python-modules/aioesphomeapi/default.nix
+++ b/pkgs/development/python-modules/aioesphomeapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aioesphomeapi";
-  version = "10.8.1";
+  version = "10.8.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "esphome";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1hi312gvkrmcxhrc8s3zxwbh87hakd42k5hk7c3xqilc4in3d5dv";
+    sha256 = "sha256-zvilMBx9H2VDmu13IiAiCqXEGkbpAJpGnt4Ea7FlGVI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiogithubapi/default.nix b/pkgs/development/python-modules/aiogithubapi/default.nix
index 08ff1c92dd0..747aa3f4d47 100644
--- a/pkgs/development/python-modules/aiogithubapi/default.nix
+++ b/pkgs/development/python-modules/aiogithubapi/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "aiogithubapi";
-  version = "22.2.0";
+  version = "22.2.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2M0EcDs3WmgG2tusvnXK750+ALE93RktlPyQO36+Ojw=";
+    sha256 = "sha256-oeUcyClTmOYF6vdhwiOp2L7x27DXEbujdtRV4NwGcYo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiohttp-apispec/default.nix b/pkgs/development/python-modules/aiohttp-apispec/default.nix
new file mode 100644
index 00000000000..ffd8e698c58
--- /dev/null
+++ b/pkgs/development/python-modules/aiohttp-apispec/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, aiohttp
+, apispec
+, buildPythonPackage
+, callPackage
+, fetchFromGitHub
+, fetchPypi
+, jinja2
+, packaging
+, pytest-aiohttp
+, pytestCheckHook
+, pythonOlder
+, webargs
+}:
+
+buildPythonPackage rec {
+  pname = "aiohttp-apispec";
+  version = "3.0.0b1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "maximdanilchenko";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-LGdi5ZhJ1G0GxUJVBZnwW3Q+x3Yo9FRV9b6REPlq7As=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+    apispec
+    jinja2
+    packaging
+    webargs
+  ];
+
+  checkInputs = [
+    pytest-aiohttp
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "jinja2<3.0" "jinja2"
+  '';
+
+  pythonImportsCheck = [
+    "aiohttp_apispec"
+  ];
+
+  meta = with lib; {
+    description = "Build and document REST APIs with aiohttp and apispec";
+    homepage = "https://github.com/maximdanilchenko/aiohttp-apispec/";
+    license = licenses.mit;
+    maintainers = with maintainers; [ viric ];
+  };
+}
diff --git a/pkgs/development/python-modules/aiohttp-remotes/default.nix b/pkgs/development/python-modules/aiohttp-remotes/default.nix
index 1867567178e..be33becb26c 100644
--- a/pkgs/development/python-modules/aiohttp-remotes/default.nix
+++ b/pkgs/development/python-modules/aiohttp-remotes/default.nix
@@ -10,15 +10,15 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-remotes";
-  version = "1.1.0";
-  format = "setuptools";
+  version = "1.2.0";
+  format = "flit";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "aiohttp_remotes";
     inherit version;
-    sha256 = "e44f2c5fd5fc3305477c89bb25f14570589100cc58c48b36745d4239839d3174";
+    sha256 = "f95c3a6be5e2de746a85ce9af49ec548da6db8378d7e81bb171ec77b13562a6c";
   };
 
   propagatedBuildInputs = [
@@ -42,7 +42,7 @@ buildPythonPackage rec {
   ];
 
   meta = with lib; {
-    description = "A set of useful tools for aiohttp.web server";
+    description = "Set of useful tools for aiohttp.web server";
     homepage = "https://github.com/wikibusiness/aiohttp-remotes";
     license = licenses.mit;
     maintainers = with maintainers; [ qyliss ];
diff --git a/pkgs/development/python-modules/aiohttp-wsgi/default.nix b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
index 1e476345320..1f01a7b57e5 100644
--- a/pkgs/development/python-modules/aiohttp-wsgi/default.nix
+++ b/pkgs/development/python-modules/aiohttp-wsgi/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "aiohttp-wsgi";
-  version = "0.9.1";
+  version = "0.10.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "etianen";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-lQ0mAUqsOmozUIMd6nwRATaq8C5SUFGoyQu1v0RBnas=";
+    rev = "v${version}";
+    sha256 = "sha256-3Q00FidZWV1KueuHyHKQf1PsDJGOaRW6v/kBy7lzD4Q=";
   };
 
   propagatedBuildInputs = [
@@ -26,12 +26,6 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # makes http request to another server
-    # https://github.com/etianen/aiohttp-wsgi/issues/32
-    "testEnviron"
-  ];
-
   pythonImportsCheck = [ "aiohttp_wsgi" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aiohue/default.nix b/pkgs/development/python-modules/aiohue/default.nix
index 2b0061875b7..ece6d6140b3 100644
--- a/pkgs/development/python-modules/aiohue/default.nix
+++ b/pkgs/development/python-modules/aiohue/default.nix
@@ -3,15 +3,19 @@
 , fetchPypi
 , aiohttp
 , asyncio-throttle
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aiohue";
-  version = "4.0.1";
+  version = "4.2.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-wPqEubd+vUpdj7tM0CTPkW5kV4qlF19T+djlGrtA5h8=";
+    hash = "sha256-bcSCYNJt9xYBMmuZYM6s+PWV0TAUFOn3ibHE0KRX+iw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aioitertools/default.nix b/pkgs/development/python-modules/aioitertools/default.nix
index 4349bf4fccd..cae0b10ea69 100644
--- a/pkgs/development/python-modules/aioitertools/default.nix
+++ b/pkgs/development/python-modules/aioitertools/default.nix
@@ -1,20 +1,26 @@
 { lib
-
 , buildPythonPackage
 , fetchpatch
 , fetchPypi
 , pythonAtLeast
 , pythonOlder
+
+# native
+, flit-core
+
+# propagates
 , typing-extensions
-, coverage
+
+# tests
 , python
-, toml
 }:
 
 buildPythonPackage rec {
   pname = "aioitertools";
   version = "0.8.0";
-  disabled = pythonOlder "3.7";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
@@ -30,11 +36,20 @@ buildPythonPackage rec {
     })
   ];
 
-  propagatedBuildInputs = [ typing-extensions ];
-  checkInputs = [ coverage toml ];
+  nativeBuildInputs = [
+    flit-core
+  ];
+
+  propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  pythonImportsCheck = [
+    "aioitertools"
+  ];
 
   checkPhase = ''
-    ${python.interpreter} -m coverage run -m aioitertools.tests
+    ${python.interpreter} -m unittest discover
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aiolyric/default.nix b/pkgs/development/python-modules/aiolyric/default.nix
index 44e532a6149..855748f665c 100644
--- a/pkgs/development/python-modules/aiolyric/default.nix
+++ b/pkgs/development/python-modules/aiolyric/default.nix
@@ -8,25 +8,34 @@
 
 buildPythonPackage rec {
   pname = "aiolyric";
-  version = "1.0.8";
+  version = "1.0.10";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "timmo001";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-A4EkqSIQ5p4E4DPLYu9a/lmb1sFhwDqFLhjhZS6Zf5c=";
+    hash = "sha256-yKeG0UCQ8haT1hvywoIwKQ519GK2wFg0wXaRTFeKYIk=";
   };
 
-  propagatedBuildInputs = [ aiohttp ];
+  propagatedBuildInputs = [
+    aiohttp
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   disabledTests = [
     # AssertionError, https://github.com/timmo001/aiolyric/issues/5
     "test_location"
   ];
-  pythonImportsCheck = [ "aiolyric" ];
+
+  pythonImportsCheck = [
+    "aiolyric"
+  ];
 
   meta = with lib; {
     description = "Python module for the Honeywell Lyric Platform";
diff --git a/pkgs/development/python-modules/aiomusiccast/default.nix b/pkgs/development/python-modules/aiomusiccast/default.nix
index 6d1116bfefa..02d7f565c3c 100644
--- a/pkgs/development/python-modules/aiomusiccast/default.nix
+++ b/pkgs/development/python-modules/aiomusiccast/default.nix
@@ -11,7 +11,6 @@ buildPythonPackage rec {
   version = "0.14.3";
 
   format = "pyproject";
-
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
@@ -21,6 +20,11 @@ buildPythonPackage rec {
     hash = "sha256-ELdNxeU9dajWr4VeOyuvNrSi7B+ImVJM/BlZsw3tcKE=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"'
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/pkgs/development/python-modules/aionanoleaf/default.nix b/pkgs/development/python-modules/aionanoleaf/default.nix
index 61b958d8448..40686bf7d11 100644
--- a/pkgs/development/python-modules/aionanoleaf/default.nix
+++ b/pkgs/development/python-modules/aionanoleaf/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aionanoleaf";
-  version = "0.1.1";
+  version = "0.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "milanmeu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "10gi8fpv3xkdjaqig84723m3j0kxgxvqwqvjxmysq2sw4cjmsvz6";
+    sha256 = "sha256-bz568DlodWtSu2WTTd/QMhdiX9IkllW7UYVXuNlKFaY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiooncue/default.nix b/pkgs/development/python-modules/aiooncue/default.nix
index f1d71e77d4b..3e9cc46b16b 100644
--- a/pkgs/development/python-modules/aiooncue/default.nix
+++ b/pkgs/development/python-modules/aiooncue/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aiooncue";
-  version = "0.3.2";
+  version = "0.3.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = version;
-    hash = "sha256-6GnXuYpggUMisfeOnl52xvWFIZRV+oCwsFKAjPwscTU=";
+    hash = "sha256-rzgSvgVfpz2AVwqnat+TO+QhA3KcXV/a1HDNAP1fNPM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiopyarr/default.nix b/pkgs/development/python-modules/aiopyarr/default.nix
new file mode 100644
index 00000000000..b1618081b87
--- /dev/null
+++ b/pkgs/development/python-modules/aiopyarr/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiopyarr";
+  version = "22.2.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "tkdrob";
+    repo = pname;
+    rev = version;
+    hash = "sha256-gkiUPznAJ5nkrdbDKAvODsf6UStsxFugCfkZ0fCJkng=";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "aiopyarr"
+  ];
+
+  meta = with lib; {
+    description = "Python API client for Lidarr/Radarr/Readarr/Sonarr";
+    homepage = "https://github.com/tkdrob/aiopyarr";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioredis/default.nix b/pkgs/development/python-modules/aioredis/default.nix
index 807b112772c..5ea48227894 100644
--- a/pkgs/development/python-modules/aioredis/default.nix
+++ b/pkgs/development/python-modules/aioredis/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "aioredis";
-  version = "2.0.0";
+  version = "2.0.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a2de4b614e6a5f8e104238924294dc4e811aefbe17ddf52c04a93cbf06e67db";
+    sha256 = "eaa51aaf993f2d71f54b70527c440437ba65340588afeb786cd87c55c89cd98e";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiosenseme/default.nix b/pkgs/development/python-modules/aiosenseme/default.nix
new file mode 100644
index 00000000000..ff90bed8e5a
--- /dev/null
+++ b/pkgs/development/python-modules/aiosenseme/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, ifaddr
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "aiosenseme";
+  version = "0.6.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-ShK4DP1lAtAFI6z2kf5T1ecbNTKUn2kqUjps2ABRegg=";
+  };
+
+  propagatedBuildInputs = [
+    ifaddr
+  ];
+
+  pythonImportsCheck = [
+    "aiosenseme"
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Module to interact with SenseME fans and lights by Big Ass Fans";
+    homepage = "https://github.com/bdraco/aiosenseme";
+    license = with licenses; [ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioshelly/default.nix b/pkgs/development/python-modules/aioshelly/default.nix
index f2bd2f0d36d..66bcc5f0ea4 100644
--- a/pkgs/development/python-modules/aioshelly/default.nix
+++ b/pkgs/development/python-modules/aioshelly/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "aioshelly";
-  version = "1.0.9";
+  version = "1.0.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = version;
-    hash = "sha256-XGmhLc64efQ1eIgCYN1Wkp4sPXvYXlR7/9WF5cWZyys=";
+    hash = "sha256-YHdHh7uC9QF+dj+SI2Y4rEkBq+gGalNBmuWFVgq7XOM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/aiosignal/default.nix b/pkgs/development/python-modules/aiosignal/default.nix
index acf106ab3c6..1fd619a846a 100644
--- a/pkgs/development/python-modules/aiosignal/default.nix
+++ b/pkgs/development/python-modules/aiosignal/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "aiosignal";
-  version = "1.2.0";
+  version = "1.2.0"; # re-enable tests after 1.2.0
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -23,6 +23,8 @@ buildPythonPackage rec {
     frozenlist
   ];
 
+  # not compatible w ith latest asyncio
+  doCheck = false;
   checkInputs = [
     pytest-asyncio
     pytestCheckHook
diff --git a/pkgs/development/python-modules/aiosmtpd/default.nix b/pkgs/development/python-modules/aiosmtpd/default.nix
index c19e39bcd48..254f1bfa4fe 100644
--- a/pkgs/development/python-modules/aiosmtpd/default.nix
+++ b/pkgs/development/python-modules/aiosmtpd/default.nix
@@ -35,6 +35,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # Fixes for Python 3.10 can't be applied easily, https://github.com/aio-libs/aiosmtpd/pull/294
+  doCheck = pythonOlder "3.10";
+
   disabledTests = [
     # Requires git
     "test_ge_master"
diff --git a/pkgs/development/python-modules/aiosteamist/default.nix b/pkgs/development/python-modules/aiosteamist/default.nix
new file mode 100644
index 00000000000..aa7edc001de
--- /dev/null
+++ b/pkgs/development/python-modules/aiosteamist/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, aiohttp
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pythonOlder
+, xmltodict
+}:
+
+buildPythonPackage rec {
+  pname = "aiosteamist";
+  version = "0.3.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    rev = version;
+    hash = "sha256-VoIJh3EDBPKmvEmM3gP2pyt/0oz4i6Y0zIkkprTcFLg=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    xmltodict
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace "--cov=aiosteamist" ""
+  '';
+
+  pythonImportsCheck = [
+    "aiosteamist"
+  ];
+
+  # Modules doesn't have test suite
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Module to control Steamist steam systems";
+    homepage = "https://github.com/bdraco/aiosteamist";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/aioswitcher/default.nix b/pkgs/development/python-modules/aioswitcher/default.nix
index be6a0cca00f..d42f242438b 100644
--- a/pkgs/development/python-modules/aioswitcher/default.nix
+++ b/pkgs/development/python-modules/aioswitcher/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "aioswitcher";
-  version = "2.0.7";
+  version = "2.0.8";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "TomerFi";
     repo = pname;
     rev = version;
-    sha256 = "05m5jgn8g3kwrp92x3mdfpnpga1jc4whlxx9vlymg0r9s5y84lz5";
+    sha256 = "sha256-4+XGSaHZNYjId0bTOwCkYpb1K/pM8WtN5/NI+GVaI7M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/aiounifi/default.nix b/pkgs/development/python-modules/aiounifi/default.nix
index 7bd56482ed7..1294f8dade6 100644
--- a/pkgs/development/python-modules/aiounifi/default.nix
+++ b/pkgs/development/python-modules/aiounifi/default.nix
@@ -33,6 +33,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    "--asyncio-mode=auto"
+  ];
+
   pythonImportsCheck = [ "aiounifi" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/aiowebostv/default.nix b/pkgs/development/python-modules/aiowebostv/default.nix
index ab16c2d1e49..db9fbba25b7 100644
--- a/pkgs/development/python-modules/aiowebostv/default.nix
+++ b/pkgs/development/python-modules/aiowebostv/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "aiowebostv";
-  version = "0.1.2";
+  version = "0.1.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "home-assistant-libs";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-YSrttPoU5XQ9tqNxhHBUqZqKaEZdUdYYJ2CsSREVbbg=";
+    hash = "sha256-UKDcIo0jhI84WDcSK3fciRqzKjHwbZXkqHjdo7Xt4iE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/altair/default.nix b/pkgs/development/python-modules/altair/default.nix
index 6e686d9fc90..e4bec8fafa4 100644
--- a/pkgs/development/python-modules/altair/default.nix
+++ b/pkgs/development/python-modules/altair/default.nix
@@ -6,7 +6,7 @@
 , jsonschema
 , numpy
 , pandas
-, pytest
+, pytestCheckHook
 , pythonOlder
 , recommonmark
 , six
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "altair";
-  version = "4.1.0";
+  version = "4.2.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0c99q5dy6f275yg1f137ird08wmwc1z8wmvjickkf2mvyka31p9y";
+    sha256 = "d87d9372e63b48cd96b2a6415f0cf9457f50162ab79dc7a31cd7e024dd840026";
   };
 
   propagatedBuildInputs = [
@@ -39,7 +39,7 @@ buildPythonPackage rec {
   checkInputs = [
     glibcLocales
     ipython
-    pytest
+    pytestCheckHook
     recommonmark
     sphinx
     vega_datasets
@@ -47,11 +47,9 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [ "altair" ];
 
-  checkPhase = ''
-    export LANG=en_US.UTF-8
-    # histogram_responsive.py attempt network access, and cannot be disabled through pytest flags
-    rm altair/examples/histogram_responsive.py
-    pytest --doctest-modules altair
+  # avoid examples directory, which fetches web resources
+  preCheck = ''
+    cd altair/tests
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/amcrest/default.nix b/pkgs/development/python-modules/amcrest/default.nix
index d050a7563a7..697b9bba00f 100644
--- a/pkgs/development/python-modules/amcrest/default.nix
+++ b/pkgs/development/python-modules/amcrest/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "amcrest";
-  version = "1.9.3";
+  version = "1.9.4";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "tchellomello";
     repo = "python-amcrest";
     rev = version;
-    sha256 = "0f9l8xbn40xwx2zzssx5qmkpmv82j6syj8ncnmm6z9dc5wpr6sw7";
+    sha256 = "sha256-smwPKZLevolNvpkLxoFR3NGL9YFPlBk3WYQqJXBaS7s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/androidtv/default.nix b/pkgs/development/python-modules/androidtv/default.nix
index c9eb73c7f04..d09daa273b8 100644
--- a/pkgs/development/python-modules/androidtv/default.nix
+++ b/pkgs/development/python-modules/androidtv/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "androidtv";
-  version = "0.0.63";
+  version = "0.0.64";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "JeffLIrion";
     repo = "python-androidtv";
     rev = "v${version}";
-    hash = "sha256-Peg/agAb1lUBUBK1OkYVovE4pzM8iaQHVaSk/hr1plw=";
+    hash = "sha256-CJJ+mWAX9XG1/E2PljUZ8oz/la3hYXF1tMfuKt0Zvjw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/anonip/default.nix b/pkgs/development/python-modules/anonip/default.nix
index 0663fddd6fb..96115aaee43 100644
--- a/pkgs/development/python-modules/anonip/default.nix
+++ b/pkgs/development/python-modules/anonip/default.nix
@@ -1,24 +1,45 @@
-{ lib, buildPythonPackage, fetchFromGitHub, ipaddress, isPy27 }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "anonip";
-  version = "1.0.0";
+  version = "1.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "DigitaleGesellschaft";
     repo = "Anonip";
     rev = "v${version}";
-    sha256 = "0y5xqivcinp6pwx4whc8ca1n2wxrvff7a2lpbz2dhivilfanmljs";
+    sha256 = "0cssdcridadjzichz1vv1ng7jwphqkn8ihh83hpz9mcjmxyb94qc";
   };
 
-  propagatedBuildInputs = lib.optionals isPy27 [ ipaddress ];
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace " --cov=anonip --cov-report=term-missing --no-cov-on-fail" ""
+  '';
+
+  pytestFlagsArray = [
+    "tests.py"
+  ];
 
-  checkPhase = "python tests.py";
+  pythonImportsCheck = [
+    "anonip"
+  ];
 
   meta = with lib; {
+    description = "Tool to anonymize IP addresses in log files";
     homepage = "https://github.com/DigitaleGesellschaft/Anonip";
-    description = "A tool to anonymize IP-addresses in log-files";
     license = licenses.bsd3;
-    maintainers = [ maintainers.mmahut ];
+    maintainers = with maintainers; [ mmahut ];
   };
 }
diff --git a/pkgs/development/python-modules/ansible-kernel/default.nix b/pkgs/development/python-modules/ansible-kernel/default.nix
index 670b6330eaa..5901e8f56ab 100644
--- a/pkgs/development/python-modules/ansible-kernel/default.nix
+++ b/pkgs/development/python-modules/ansible-kernel/default.nix
@@ -24,11 +24,11 @@ let
 in
 buildPythonPackage rec {
   pname = "ansible-kernel";
-  version = "0.9.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a59039a1724c0f4f4435316e2ad3383f2328ae61f190e74414a66cc8c4637636";
+    sha256 = "sha256-UJjm9FpmXSznXtaIR2rVv5YJS/H83FvRkNz09vwoe0c=";
   };
 
   propagatedBuildInputs = [ ipywidgets six docopt tqdm jupyter psutil pyyaml ansible-runner ansible ];
diff --git a/pkgs/development/python-modules/ansible-runner/default.nix b/pkgs/development/python-modules/ansible-runner/default.nix
index 92d377d0886..7cfe51e29c8 100644
--- a/pkgs/development/python-modules/ansible-runner/default.nix
+++ b/pkgs/development/python-modules/ansible-runner/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "ansible-runner";
-  version = "2.1.1";
+  version = "2.1.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-doRhL3VDxfB/PoE1Zn7rIqnb2Y9iXMaZAbqZJDKe8k8=";
+    hash = "sha256-GK/CqmMm67VmvzlhMV6ow+40m0DYUpXCFkP+9NgR/e4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/anyjson/default.nix b/pkgs/development/python-modules/anyjson/default.nix
deleted file mode 100644
index 1d0d02988f8..00000000000
--- a/pkgs/development/python-modules/anyjson/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k, nose }:
-
-buildPythonPackage rec {
-  pname = "anyjson";
-  version = "0.3.3";
-
-  # The tests are written in a python2 syntax but anyjson is python3 valid
-  doCheck = !isPy3k;
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "37812d863c9ad3e35c0734c42e0bf0320ce8c3bed82cd20ad54cb34d158157ba";
-  };
-
-  buildInputs = [ nose ];
-
-  meta = with lib; {
-    homepage = "https://bitbucket.org/runeh/anyjson/";
-    description = "Wrapper that selects the best available JSON implementation";
-    license = licenses.bsd2;
-  };
-}
diff --git a/pkgs/development/python-modules/apache-airflow/default.nix b/pkgs/development/python-modules/apache-airflow/default.nix
index 2fe6fe08ef1..4ac03a8820f 100644
--- a/pkgs/development/python-modules/apache-airflow/default.nix
+++ b/pkgs/development/python-modules/apache-airflow/default.nix
@@ -65,13 +65,13 @@
 , mkYarnPackage
 }:
 let
-  version = "2.1.4";
+  version = "2.2.3";
 
   airflow-src = fetchFromGitHub rec {
     owner = "apache";
     repo = "airflow";
     rev = version;
-    sha256 = "12nxjaz4afkq30s42x3rbsci8jiw2k5zjngsc8i190fasbacbnbs";
+    sha256 = "02y3az7yj4g4qaamq5s1bcvy3knd6xmvnhbfqs3kbm51irkba1zq";
   };
 
   # airflow bundles a web interface, which is built using webpack by an undocumented shell script in airflow's source tree.
diff --git a/pkgs/development/python-modules/apache-beam/default.nix b/pkgs/development/python-modules/apache-beam/default.nix
index f3e47bfc901..2eeebaaea7f 100644
--- a/pkgs/development/python-modules/apache-beam/default.nix
+++ b/pkgs/development/python-modules/apache-beam/default.nix
@@ -29,6 +29,7 @@
 , pytest-xdist
 , pytestCheckHook
 , python
+, pythonAtLeast
 , python-dateutil
 , pytz
 , pyyaml
@@ -43,6 +44,7 @@
 buildPythonPackage rec {
   pname = "apache-beam";
   version = "2.35.0";
+  disabled = pythonAtLeast "3.10";
 
   src = fetchFromGitHub {
     owner = "apache";
@@ -60,7 +62,8 @@ buildPythonPackage rec {
   # See https://github.com/NixOS/nixpkgs/issues/156957.
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "typing-extensions>=3.7.0,<4" "typing-extensions"
+      --replace "typing-extensions>=3.7.0,<4" "typing-extensions" \
+      --replace "pyarrow>=0.15.1,<7.0.0" "pyarrow"
   '';
 
   sourceRoot = "source/sdks/python";
diff --git a/pkgs/development/python-modules/apipkg/default.nix b/pkgs/development/python-modules/apipkg/default.nix
index 5e7ae3860a9..241ddfaa11a 100644
--- a/pkgs/development/python-modules/apipkg/default.nix
+++ b/pkgs/development/python-modules/apipkg/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "apipkg";
-  version = "1.5";
+  version = "2.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "37228cda29411948b422fae072f57e31d3396d2ee1c9783775980ee9c9990af6";
+    sha256 = "a4be31cf8081e660d2cdea6edfb8a0f39f385866abdcfcfa45e5a0887345cb70";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/approvaltests/default.nix b/pkgs/development/python-modules/approvaltests/default.nix
index 35e6c90f216..b74533e0d44 100644
--- a/pkgs/development/python-modules/approvaltests/default.nix
+++ b/pkgs/development/python-modules/approvaltests/default.nix
@@ -1,21 +1,34 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pyperclip }:
+{ lib, buildPythonPackage, fetchFromGitHub
+, beautifulsoup4
+, empty-files
+, numpy
+, pyperclip
+, pytest
+}:
 
 buildPythonPackage rec {
-  version = "0.2.6";
+  version = "3.6.0";
   pname = "approvaltests";
 
   # no tests included in PyPI tarball
   src = fetchFromGitHub {
     owner = "approvals";
     repo = "ApprovalTests.Python";
-    rev = version;
-    sha256 = "1k1bj8q1qm89a8xm4az6qk4qswwmgxw5jpdjcxmf93zh5hrcy9h9";
+    rev = "v${version}";
+    sha256 = "sha256-pgGuIoYV6JRM9h7hR8IeNduqsGm+UrKq+P/T1LM30NE=";
   };
 
-  propagatedBuildInputs = [ pyperclip ];
+  propagatedBuildInputs = [
+    beautifulsoup4
+    empty-files
+    numpy
+    pyperclip
+    pytest
+  ];
 
   postPatch = ''
     substituteInPlace setup.py \
+      --replace bs4 beautifulsoup4 \
       --replace "pyperclip==1.5.27" "pyperclip>=1.5.27"
   '';
 
diff --git a/pkgs/development/python-modules/apsw/default.nix b/pkgs/development/python-modules/apsw/default.nix
index 034e3e0df25..46ae3fc34e5 100644
--- a/pkgs/development/python-modules/apsw/default.nix
+++ b/pkgs/development/python-modules/apsw/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "apsw";
-  version = "3.36.0-r1";
+  version = "3.37.0-r1";
   format = "setuptools";
 
   disabled = isPyPy;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "rogerbinns";
     repo = "apsw";
     rev = version;
-    sha256 = "sha256-kQqJqDikvEC0+PNhQxSNTcjQc+RwvaOSGz9VL3FCetg=";
+    sha256 = "0p6rlbk7p6hj5mbmk1a8phazw3ym6hf5103zkxzg4p1jgjgi0xpl";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/argcomplete/default.nix b/pkgs/development/python-modules/argcomplete/default.nix
index cf2f9255720..0aa3e8c1b94 100644
--- a/pkgs/development/python-modules/argcomplete/default.nix
+++ b/pkgs/development/python-modules/argcomplete/default.nix
@@ -7,11 +7,11 @@
 }:
 buildPythonPackage rec {
   pname = "argcomplete";
-  version = "1.12.3";
+  version = "2.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2c7dbffd8c045ea534921e63b0be6fe65e88599990d8dc408ac8c542b72a5445";
+    sha256 = "6372ad78c89d662035101418ae253668445b391755cfe94ea52f1b9d22425b20";
   };
 
   doCheck = false; # meant to be ran with interactive interpreter
diff --git a/pkgs/development/python-modules/argon2-cffi-bindings/default.nix b/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
new file mode 100644
index 00000000000..3f1f3f86666
--- /dev/null
+++ b/pkgs/development/python-modules/argon2-cffi-bindings/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cffi
+, setuptools-scm
+}:
+
+buildPythonPackage rec {
+  pname = "argon2-cffi-bindings";
+  version = "21.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "bb89ceffa6c791807d1305ceb77dbfacc5aa499891d2c55661c6459651fc39e3";
+  };
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    cffi
+  ];
+
+  # tarball doesn't include tests, but the upstream tests are minimal
+  doCheck = false;
+  pythonImportsCheck = [ "_argon2_cffi_bindings" ];
+
+  meta = with lib; {
+    description = "Low-level CFFI bindings for Argon2";
+    homepage = "https://github.com/hynek/argon2-cffi-bindings";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/argon2_cffi/default.nix b/pkgs/development/python-modules/argon2_cffi/default.nix
index a40fb806845..839429bc948 100644
--- a/pkgs/development/python-modules/argon2_cffi/default.nix
+++ b/pkgs/development/python-modules/argon2_cffi/default.nix
@@ -9,21 +9,26 @@
 , isPy3k
 , lib
 , stdenv
+, argon2-cffi-bindings
 }:
 
 buildPythonPackage rec {
   pname = "argon2_cffi";
-  version = "21.1.0";
+  version = "21.3.0";
+  format = "flit";
 
   src = fetchPypi {
     pname = "argon2-cffi";
     inherit version;
-    sha256 = "sha256-9xC2EQPRofaSyj7L0Tc+KKpeVFrGJboGf/L+yhsruHA=";
+    sha256 = "d384164d944190a7dd7ef22c6aa3ff197da12962bd04b17f64d4e93d934dba5b";
   };
 
   propagatedBuildInputs = [ cffi six ] ++ lib.optional (!isPy3k) enum34;
 
-  propagatedNativeBuildInputs = [ cffi ];
+  propagatedNativeBuildInputs = [
+    argon2-cffi-bindings
+    cffi
+  ];
 
   ARGON2_CFFI_USE_SSE2 = lib.optionals (stdenv.hostPlatform != stdenv.buildPlatform) "0";
 
diff --git a/pkgs/development/python-modules/asdf/default.nix b/pkgs/development/python-modules/asdf/default.nix
index 363d8900163..1a9ba2dd096 100644
--- a/pkgs/development/python-modules/asdf/default.nix
+++ b/pkgs/development/python-modules/asdf/default.nix
@@ -17,13 +17,13 @@
 
 buildPythonPackage rec {
   pname = "asdf";
-  version = "2.8.1";
+  version = "2.8.3";
   disabled = pythonOlder "3.6";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-bp3fME3FTa5vcj7qUoUEGqvuI2uwSpI13zDcFgWvbJw=";
+    sha256 = "de0f70ffb2e0d539461940d6f7529c3548541fa098d8edc37af256af61c09b44";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/asterisk-mbox/default.nix b/pkgs/development/python-modules/asterisk-mbox/default.nix
new file mode 100644
index 00000000000..0da70911a17
--- /dev/null
+++ b/pkgs/development/python-modules/asterisk-mbox/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "asterisk-mbox";
+  version = "0.5.0";
+
+  src = fetchPypi {
+    pname = "asterisk_mbox";
+    inherit version;
+    sha256 = "0624f9ab85ce9c4d43655f8653e8539fa10c81b60fd7b94b1a15dce306c20888";
+  };
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [ "asterisk_mbox" ];
+
+  meta = with lib; {
+    description = "The client side of a client/server to interact with Asterisk voicemail mailboxes";
+    homepage = "https://github.com/PhracturedBlue/asterisk_mbox";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/astroid/default.nix b/pkgs/development/python-modules/astroid/default.nix
index 101f84b4fce..ab62a565ce6 100644
--- a/pkgs/development/python-modules/astroid/default.nix
+++ b/pkgs/development/python-modules/astroid/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "astroid";
-  version = "2.9.0"; # Check whether the version is compatible with pylint
+  version = "2.9.3"; # Check whether the version is compatible with pylint
 
   disabled = pythonOlder "3.6.2";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sImWiWULZ1HS3JyQHfEhc4ZRZ6anOUTqZZGNIYj2MaY=";
+    sha256 = "1x77faggk1dgxy48ng31xj9h6p51w312kvk5zqgvd5f19nvznxyi";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/astropy-extension-helpers/default.nix b/pkgs/development/python-modules/astropy-extension-helpers/default.nix
index a3ea5cd4cf2..8e5a2fda330 100644
--- a/pkgs/development/python-modules/astropy-extension-helpers/default.nix
+++ b/pkgs/development/python-modules/astropy-extension-helpers/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , findutils
 , pytestCheckHook
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -15,6 +16,10 @@ buildPythonPackage rec {
     sha256 = "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   patches = [ ./permissions.patch ];
 
   checkInputs = [ findutils pytestCheckHook ];
diff --git a/pkgs/development/python-modules/astropy/default.nix b/pkgs/development/python-modules/astropy/default.nix
index 889c69d5313..78f02e2870c 100644
--- a/pkgs/development/python-modules/astropy/default.nix
+++ b/pkgs/development/python-modules/astropy/default.nix
@@ -1,49 +1,55 @@
 { lib
 , fetchPypi
-, setuptools-scm
 , buildPythonPackage
-, isPy3k
+, pythonOlder
+
+# build time
+, astropy-extension-helpers
+, astropy-helpers
 , cython
 , jinja2
+, setuptools-scm
+
+# runtime
 , numpy
-, pytest
-, pytest-astropy
-, astropy-helpers
-, astropy-extension-helpers
+, packaging
 , pyerfa
+, pyyaml
 }:
 
-buildPythonPackage rec {
+let
   pname = "astropy";
-  version = "4.3.1";
+  version = "5.0";
+in
+buildPythonPackage {
+  inherit pname version;
   format = "pyproject";
 
-  disabled = !isPy3k; # according to setup.py
+  disabled = pythonOlder "3.8"; # according to setup.cfg
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-LTlRIjtOt/No/K2Mg0DSc3TF2OO2NaY2J1rNs481zVE=";
+    sha256 = "70203e151e13292586a817b4069ce1aad4643567aff38b1d191c173bc54f3927";
   };
 
-  nativeBuildInputs = [ setuptools-scm astropy-helpers astropy-extension-helpers cython jinja2 ];
-  propagatedBuildInputs = [ numpy pyerfa ];
-  checkInputs = [ pytest pytest-astropy ];
-
-  preBuild = ''
-    export SETUPTOOLS_SCM_PRETEND_VERSION="${version}"
-  '';
-
-  # Tests must be run from the build directory.  astropy/samp tests
-  # require a network connection, so we ignore them. For some reason
-  # pytest --ignore does not work, so we delete the tests instead.
-  checkPhase = ''
-    cd build/lib.*
-    rm -f astropy/samp/tests/*
-    pytest
-  '';
-
-  # 368 failed, 10889 passed, 978 skipped, 69 xfailed in 196.24s
-  # doCheck = false;
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    astropy-extension-helpers
+    astropy-helpers
+    cython
+    jinja2
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    numpy
+    packaging
+    pyerfa
+    pyyaml
+  ];
+
+  # infinite recursion with pytest-astropy (pytest-astropy-header depends on astropy itself)
   doCheck = false;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/astroquery/default.nix b/pkgs/development/python-modules/astroquery/default.nix
index f7764149a66..8853b1e9e08 100644
--- a/pkgs/development/python-modules/astroquery/default.nix
+++ b/pkgs/development/python-modules/astroquery/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "astroquery";
-  version = "0.4.1";
+  version = "0.4.5";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0xpqrl9h7sg55mql38xsfpbz9rxsm3mxfha1biqyly1gmxpmd47a";
+    sha256 = "20002f84b61fb11ceeae408a4cd23b379490e174054ec777f946df8a3f06be1b";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/async-lru/default.nix b/pkgs/development/python-modules/async-lru/default.nix
index 8a5694ffde7..9dc412ccde8 100644
--- a/pkgs/development/python-modules/async-lru/default.nix
+++ b/pkgs/development/python-modules/async-lru/default.nix
@@ -8,19 +8,19 @@
 
 buildPythonPackage rec {
   pname = "async-lru";
-  version = "unstable-2020-10-24";
+  version = "unstable-2022-02-03";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aio-libs";
     repo = "async-lru";
-    rev = "ae252508f9c5aecf9c02ddeb879d06c28dbffc42";
-    sha256 = "1gk5qzdvhl2j1mw7xzchbw7bcgk9mzhvqa62nwwmvlbnx88pkwnc";
+    rev = "3574af7691371015c47faf77e0abf8c7b06a3cdc";
+    hash = "sha256-EsadpQlRNnebp0UUybzQwzyK4zwFlortutv3VTUsprU=";
   };
 
   postPatch = ''
-    sed -i '/^addopts/d' setup.cfg
+    sed -i -e '/^addopts/d' -e '/^filterwarnings/,+2d' setup.cfg
   '';
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/async-upnp-client/default.nix b/pkgs/development/python-modules/async-upnp-client/default.nix
index 12d1e3d098a..1c818d2724e 100644
--- a/pkgs/development/python-modules/async-upnp-client/default.nix
+++ b/pkgs/development/python-modules/async-upnp-client/default.nix
@@ -14,14 +14,16 @@
 
 buildPythonPackage rec {
   pname = "async-upnp-client";
-  version = "0.23.4";
-  disabled = pythonOlder "3.6";
+  version = "0.23.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "StevenLooman";
     repo = "async_upnp_client";
     rev = version;
-    sha256 = "sha256-FrH5PwNpXZpNk7mUnMBGA9MQUPBqBEOoMd9T5ond2WA=";
+    sha256 = "sha256-fMlP8LX+OFiw6o1rpz8J0sEsACk5x9dQko1oGEaZFuc=";
   };
 
   propagatedBuildInputs = [
@@ -59,7 +61,9 @@ buildPythonPackage rec {
     "test_deferred_callback_url"
   ];
 
-  pythonImportsCheck = [ "async_upnp_client" ];
+  pythonImportsCheck = [
+    "async_upnp_client"
+  ];
 
   meta = with lib; {
     description = "Asyncio UPnP Client library for Python";
diff --git a/pkgs/development/python-modules/async_generator/default.nix b/pkgs/development/python-modules/async_generator/default.nix
index dfbd0dbb996..fb7dec6d6ed 100644
--- a/pkgs/development/python-modules/async_generator/default.nix
+++ b/pkgs/development/python-modules/async_generator/default.nix
@@ -1,25 +1,25 @@
 { lib, buildPythonPackage, fetchPypi, pythonOlder, isPy35, pytest, pytest-asyncio }:
 
 buildPythonPackage rec {
-  pname = "async_generator";
+  pname = "async-generator";
   version = "1.10";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
-    inherit pname version;
+    pname = "async_generator";
+    inherit version;
     sha256 = "6ebb3d106c12920aaae42ccb6f787ef5eefdcdd166ea3d628fa8476abe712144";
   };
 
+  # no longer compatible with pytest-asyncio
+  doCheck = false;
   checkInputs = [ pytest pytest-asyncio ];
 
   checkPhase = ''
     pytest -W error -ra -v --pyargs async_generator
   '';
 
-  # disable tests on python3.5 to avoid circular dependency with pytest-asyncio
-  doCheck = !isPy35;
-
   meta = with lib; {
     description = "Async generators and context managers for Python 3.5+";
     homepage = "https://github.com/python-trio/async_generator";
diff --git a/pkgs/development/python-modules/async_timeout/default.nix b/pkgs/development/python-modules/async_timeout/default.nix
index ae8bacc9441..2a67ed1d671 100644
--- a/pkgs/development/python-modules/async_timeout/default.nix
+++ b/pkgs/development/python-modules/async_timeout/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "async-timeout";
-  version = "4.0.1";
+  version = "4.0.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uTDLFho5BC+SIvbvtzATmch+6rOUcn7FQ3kko21u71E=";
+    sha256 = "2163e1640ddb52b7a8c80d0a67a08587e5d245cc9c553a74a847056bc2976b15";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncio-dgram/default.nix b/pkgs/development/python-modules/asyncio-dgram/default.nix
index 324e4ec823a..a01e9389f43 100644
--- a/pkgs/development/python-modules/asyncio-dgram/default.nix
+++ b/pkgs/development/python-modules/asyncio-dgram/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "asyncio-dgram";
-  version = "2.1.1";
+  version = "2.1.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.5";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "jsbronder";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3K9VpX6JWCgz+Lx+5ZKqXG53B/uJCtI0x4pHy2pJdZg=";
+    sha256 = "sha256-Eb/9JtgPT2yOlfnn5Ox8M0kcQhSlRCuX8+Rq6amki8Q=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/asyncio_mqtt/default.nix b/pkgs/development/python-modules/asyncio_mqtt/default.nix
index fd8a52f5a6a..c0ae1cea95f 100644
--- a/pkgs/development/python-modules/asyncio_mqtt/default.nix
+++ b/pkgs/development/python-modules/asyncio_mqtt/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "asyncio-mqtt";
-  version = "0.11.0";
+  version = "0.12.1";
   format = "setuptools";
 
   src = fetchPypi {
     pname = "asyncio_mqtt";
     inherit version;
-    sha256 = "sha256-uJown3bNA+pLJlorJcCjpMMFosX94gt/2tLAjIkuXLA=";
+    sha256 = "sha256-bb+FpF+U0m50ZUEWgK2jlHtQVG6YII1dUuegp+16fDg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/asyncwhois/default.nix b/pkgs/development/python-modules/asyncwhois/default.nix
index 4bb201b251e..a607fe96582 100644
--- a/pkgs/development/python-modules/asyncwhois/default.nix
+++ b/pkgs/development/python-modules/asyncwhois/default.nix
@@ -1,9 +1,9 @@
 { lib
-, aiodns
 , asynctest
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, python-socks
 , pythonOlder
 , tldextract
 , whodap
@@ -11,7 +11,8 @@
 
 buildPythonPackage rec {
   pname = "asyncwhois";
-  version = "0.4.1";
+  version = "1.0.0";
+  format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
@@ -19,11 +20,11 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mKKN2IuveOE+3mZGS5LFa15lJPA9y7KgLd0FoRuEMH0=";
+    hash = "sha256-9tSGfF/Ezuya4pEyr1XolWXvSO/F/UrobRVlyHITNTU=";
   };
 
   propagatedBuildInputs = [
-    aiodns
+    python-socks
     tldextract
     whodap
   ];
@@ -33,8 +34,13 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Disable tests that require network access
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "python-socks[asyncio]" "python-socks"
+  '';
+
   disabledTests = [
+    # Tests require network access
     "test_pywhois_aio_get_hostname_from_ip"
     "test_pywhois_get_hostname_from_ip"
     "test_pywhois_aio_lookup_ipv4"
@@ -44,9 +50,13 @@ buildPythonPackage rec {
     "test_from_whois_cmd"
     "test_get_hostname_from_ip"
     "test_whois_query_run"
+    "test_whois_query_create_connection"
+    "test_whois_query_send_and_recv"
   ];
 
-  pythonImportsCheck = [ "asyncwhois" ];
+  pythonImportsCheck = [
+    "asyncwhois"
+  ];
 
   meta = with lib; {
     description = "Python module for retrieving WHOIS information";
diff --git a/pkgs/development/python-modules/atlassian-python-api/default.nix b/pkgs/development/python-modules/atlassian-python-api/default.nix
index 4186ad210c9..468dac55661 100755
--- a/pkgs/development/python-modules/atlassian-python-api/default.nix
+++ b/pkgs/development/python-modules/atlassian-python-api/default.nix
@@ -7,29 +7,43 @@
 , requests_oauthlib
 , six
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "atlassian-python-api";
-  version = "3.18.1";
+  version = "3.20.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "atlassian-api";
     repo = pname;
     rev = version;
-    sha256 = "09xvkbdfhkrdkn8axb6bhi7p12lm2z1z84rx1wksfw9mffqk90v9";
+    sha256 = "sha256-yTRJz5zLt5eV+IHrVVLmVZnkbf0FBLM7CiCQ28X1cgc=";
   };
 
+  propagatedBuildInputs = [
+    deprecated
+    oauthlib
+    requests
+    requests_oauthlib
+    six
+  ];
+
   checkInputs = [
     pytestCheckHook
   ];
 
-  propagatedBuildInputs = [ deprecated oauthlib requests requests_oauthlib six ];
+  pythonImportsCheck = [
+    "atlassian"
+  ];
 
   meta = with lib; {
     description = "Python Atlassian REST API Wrapper";
     homepage = "https://github.com/atlassian-api/atlassian-python-api";
     license = licenses.asl20;
-    maintainers = [ maintainers.arnoldfarkas ];
+    maintainers = with maintainers; [ arnoldfarkas ];
   };
 }
diff --git a/pkgs/development/python-modules/atpublic/default.nix b/pkgs/development/python-modules/atpublic/default.nix
index 8bf81556770..16f0f0ddffd 100644
--- a/pkgs/development/python-modules/atpublic/default.nix
+++ b/pkgs/development/python-modules/atpublic/default.nix
@@ -3,22 +3,27 @@
 , fetchPypi
 , pytestCheckHook
 , pythonOlder
+, pdm-pep517
 , sybil
 , typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "atpublic";
-  version = "2.3";
-  format = "setuptools";
+  version = "3.0.1";
+  format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6b9167fc3e09a2de2d2adcfc9a1b48d84eab70753c97de3800362e1703e3367";
+    sha256 = "bb072b50e6484490404e5cb4034e782aaa339fdd6ac36434e53c10791aef18bf";
   };
 
+  nativeBuildInputs = [
+    pdm-pep517
+  ];
+
   propagatedBuildInputs = lib.optionals (pythonOlder "3.8") [
     typing-extensions
   ];
@@ -29,8 +34,7 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace setup.cfg \
-      --replace "--cov=public" ""
+    sed -i '/cov=public/d' pyproject.toml
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/augmax/default.nix b/pkgs/development/python-modules/augmax/default.nix
new file mode 100644
index 00000000000..cda3ff5fbcd
--- /dev/null
+++ b/pkgs/development/python-modules/augmax/default.nix
@@ -0,0 +1,36 @@
+{ buildPythonPackage
+, einops
+, fetchFromGitHub
+, jax
+, jaxlib
+, lib
+}:
+
+buildPythonPackage rec {
+  pname = "augmax";
+  version = "unstable-2022-02-19";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "khdlr";
+    repo = pname;
+    # augmax does not have releases tagged. See https://github.com/khdlr/augmax/issues/5.
+    rev = "3e5d85d6921a1e519987d33f226bc13f61e04d04";
+    sha256 = "046n43v7161w7najzlbi0443q60436xv24nh1mv23yw6psqqhx5i";
+  };
+
+  propagatedBuildInputs = [ einops jax ];
+
+  # augmax does not have any tests at the time of writing (2022-02-19), but
+  # jaxlib is necessary for the pythonImportsCheckPhase.
+  checkInputs = [ jaxlib ];
+
+  pythonImportsCheck = [ "augmax" ];
+
+  meta = with lib; {
+    description = "Efficiently Composable Data Augmentation on the GPU with Jax";
+    homepage = "https://github.com/khdlr/augmax";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/autarco/default.nix b/pkgs/development/python-modules/autarco/default.nix
new file mode 100644
index 00000000000..7ff630376c0
--- /dev/null
+++ b/pkgs/development/python-modules/autarco/default.nix
@@ -0,0 +1,59 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "autarco";
+  version = "0.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "klaasnicolaas";
+    repo = "python-autarco";
+    rev = "v${version}";
+    hash = "sha256-ID1lCGfF6XHVv8Azd34a30hcsX17uMXo22stAhYH1Uo=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    # Upstream doesn't set a version for the pyproject.toml
+    substituteInPlace pyproject.toml \
+      --replace "0.0.0" "${version}" \
+      --replace "--cov" ""
+  '';
+
+  pythonImportsCheck = [
+    "autarco"
+  ];
+
+  meta = with lib; {
+    description = "Module for the Autarco Inverter";
+    homepage = "https://github.com/klaasnicolaas/python-autarco";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/auth0-python/default.nix b/pkgs/development/python-modules/auth0-python/default.nix
index 224b8bec401..94a0044d3ac 100644
--- a/pkgs/development/python-modules/auth0-python/default.nix
+++ b/pkgs/development/python-modules/auth0-python/default.nix
@@ -4,16 +4,20 @@
 , mock
 , pyjwt
 , pytestCheckHook
+, pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "auth0-python";
-  version = "3.19.0";
+  version = "3.20.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ed33557f252cf8b022b788ebd2b851c681979f200171498acde2b92d760db026";
+    sha256 = "sha256-WIH2lMPehrqkXCh+JbEI5nf99nt61OwLhP/pF6BbsnQ=";
   };
 
   propagatedBuildInputs = [
@@ -33,7 +37,9 @@ buildPythonPackage rec {
     "test_options_are_used_and_override"
   ];
 
-  pythonImportsCheck = [ "auth0" ];
+  pythonImportsCheck = [
+    "auth0"
+  ];
 
   meta = with lib; {
     description = "Auth0 Python SDK";
diff --git a/pkgs/development/python-modules/autopage/default.nix b/pkgs/development/python-modules/autopage/default.nix
index 9a2ca722a62..0bb5c09f410 100644
--- a/pkgs/development/python-modules/autopage/default.nix
+++ b/pkgs/development/python-modules/autopage/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "autopage";
-  version = "0.4.0";
+  version = "0.5.0";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18f511d8ef2e4d3cc22a986d345eab0e03f95b9fa80b74ca63b7fb001551dc42";
+    sha256 = "sha256-UwW0PMB5gXDXEk5aL+7Plp5F9KC691yzUROBFOr3a4M=";
   };
 
   pythonImportsCheck = [ "autopage" ];
diff --git a/pkgs/development/python-modules/awesomeversion/default.nix b/pkgs/development/python-modules/awesomeversion/default.nix
index 84a3aec05b3..f74a6af8475 100644
--- a/pkgs/development/python-modules/awesomeversion/default.nix
+++ b/pkgs/development/python-modules/awesomeversion/default.nix
@@ -1,14 +1,15 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, poetry-core
 , pytestCheckHook
 , pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "awesomeversion";
-  version = "22.1.0";
-  format = "setuptools";
+  version = "22.2.0";
+  format = "pyproject";
 
   disabled = pythonOlder "3.8";
 
@@ -16,19 +17,23 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-eoY920c8mgunvZd0M/vR7+bMCPFqqCm3F/fq0vo6K/0=";
+    sha256 = "sha256-FlJrk/PH3nBLakQfS+ruDwAPH/oo16JcfrtVRFgbUXY=";
   };
 
-  postPatch = ''
-    # Upstream doesn't set a version
-    substituteInPlace setup.py \
-      --replace "main" ${version}
-  '';
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
   checkInputs = [
     pytestCheckHook
   ];
 
+  postPatch = ''
+    # Upstream doesn't set a version
+    substituteInPlace pyproject.toml \
+      --replace 'version = "0"' 'version = "${version}"'
+  '';
+
   pythonImportsCheck = [
     "awesomeversion"
   ];
diff --git a/pkgs/development/python-modules/aws-lambda-builders/default.nix b/pkgs/development/python-modules/aws-lambda-builders/default.nix
index b127ad2410e..db168c9b325 100644
--- a/pkgs/development/python-modules/aws-lambda-builders/default.nix
+++ b/pkgs/development/python-modules/aws-lambda-builders/default.nix
@@ -2,32 +2,29 @@
 , buildPythonPackage
 , fetchFromGitHub
 , six
-, pathlib
 , pytest
 , mock
 , parameterized
-, isPy27
-, isPy35
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "aws-lambda-builders";
-  version = "1.10.0";
+  version = "1.13.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # No tests available in PyPI tarball
   src = fetchFromGitHub {
     owner = "awslabs";
     repo = "aws-lambda-builders";
     rev = "v${version}";
-    sha256 = "0nrqxgl24c6lknxhmmf7vkhvdy54dhnr9qcm1r1gwxzdsymq2l54";
+    sha256 = "sha256-t04g65TPeOYgEQw6kPJrlJN1ssQrsN9kl7g69J4pPwo=";
   };
 
-  # Package is not compatible with Python 3.5
-  disabled = isPy35;
-
   propagatedBuildInputs = [
     six
-  ] ++ lib.optionals isPy27 [ pathlib ];
+  ];
 
   checkInputs = [
     pytest
diff --git a/pkgs/development/python-modules/aws-sam-translator/default.nix b/pkgs/development/python-modules/aws-sam-translator/default.nix
index 4ca5df17109..ca01e35a3c5 100644
--- a/pkgs/development/python-modules/aws-sam-translator/default.nix
+++ b/pkgs/development/python-modules/aws-sam-translator/default.nix
@@ -1,7 +1,6 @@
 { lib
 , boto3
 , buildPythonPackage
-, enum34
 , fetchFromGitHub
 , jsonschema
 , mock
@@ -15,6 +14,9 @@
 buildPythonPackage rec {
   pname = "aws-sam-translator";
   version = "1.42.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "aws";
@@ -27,11 +29,11 @@ buildPythonPackage rec {
     boto3
     jsonschema
     six
-  ] ++ lib.optionals (pythonOlder "3.4") [
-    enum34
   ];
 
   postPatch = ''
+    substituteInPlace requirements/base.txt \
+      --replace "jsonschema~=3.2" "jsonschema>=3.2"
     substituteInPlace pytest.ini \
       --replace " --cov samtranslator --cov-report term-missing --cov-fail-under 95" ""
   '';
@@ -43,7 +45,14 @@ buildPythonPackage rec {
     pyyaml
   ];
 
-  pythonImportsCheck = [ "samtranslator" ];
+  disabledTests = [
+    # AssertionError: Expected 7 errors, found 9:
+    "test_errors_13_error_definitionuri"
+  ];
+
+  pythonImportsCheck = [
+    "samtranslator"
+  ];
 
   meta = with lib; {
     description = "Python library to transform SAM templates into AWS CloudFormation templates";
diff --git a/pkgs/development/python-modules/awscrt/default.nix b/pkgs/development/python-modules/awscrt/default.nix
index 4ca232a2a81..6bc4c63aefb 100644
--- a/pkgs/development/python-modules/awscrt/default.nix
+++ b/pkgs/development/python-modules/awscrt/default.nix
@@ -1,30 +1,56 @@
-{ lib, buildPythonPackage, fetchPypi, cmake, perl, stdenv, gcc10, CoreFoundation, Security }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, cmake
+, perl
+, stdenv
+, gcc10
+, CoreFoundation
+, Security
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "awscrt";
-  version = "0.13.1";
+  version = "0.13.3";
+  format = "setuptools";
 
-  buildInputs = lib.optionals stdenv.isDarwin [ CoreFoundation Security ];
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-1GaKDpOGX/YbM4rByTw0nYgwHYFvOLHZ0GRvanX3vAU=";
+  };
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    CoreFoundation
+    Security
+  ];
 
   # Required to suppress -Werror
   # https://github.com/NixOS/nixpkgs/issues/39687
-  hardeningDisable = lib.optional stdenv.cc.isClang "strictoverflow";
-
-  nativeBuildInputs = [ cmake ] ++
-    # gcc <10 is not supported, LLVM on darwin is just fine
-    lib.optionals (!stdenv.isDarwin && stdenv.isAarch64) [ gcc10 perl ];
+  hardeningDisable = lib.optionals stdenv.cc.isClang [
+    "strictoverflow"
+  ];
+
+  # gcc <10 is not supported, LLVM on darwin is just fine
+  nativeBuildInputs = [
+    cmake
+  ] ++ lib.optionals (!stdenv.isDarwin && stdenv.isAarch64) [
+    gcc10
+    perl
+  ];
 
   dontUseCmakeConfigure = true;
 
+  pythonImportsCheck = [
+    "awscrt"
+  ];
+
   # Unable to import test module
   # https://github.com/awslabs/aws-crt-python/issues/281
   doCheck = false;
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-1Qx3fcZ0I9RONLpFPDyXHkUEAF09KBgXV64NvepmDm8=";
-  };
-
   meta = with lib; {
     homepage = "https://github.com/awslabs/aws-crt-python";
     description = "Python bindings for the AWS Common Runtime";
diff --git a/pkgs/development/python-modules/azure-applicationinsights/default.nix b/pkgs/development/python-modules/azure-applicationinsights/default.nix
index e43e3772021..f3f395b6f78 100644
--- a/pkgs/development/python-modules/azure-applicationinsights/default.nix
+++ b/pkgs/development/python-modules/azure-applicationinsights/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "azure-applicationinsights";
-  version = "0.1.0";
+  version = "0.1.1";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "6e1839169bb6ffd2d2c21ee3f4afbdd068ea428ad47cf884ea3167ecf7fd0859";
+    sha256 = "sha256-qIRbgDZbfyALrR9xqA0NMfO+wB7f1GfftsE+or1xupY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-compute/default.nix b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
index 8e7d1b20309..3038f8720e7 100644
--- a/pkgs/development/python-modules/azure-mgmt-compute/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-compute/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "25.0.0";
+  version = "26.0.0";
   pname = "azure-mgmt-compute";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "sha256-Y0WNBtQ9v0yhTVFfTvfcudWHOjzGagGB+/b++3Ie5Kk=";
+    sha256 = "sha256-nGot8UIeL0DNuw5+v7XmLjrNiJMfpsk1z2K2Tdo4Q+s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
index b9e75eca44c..57fe4655aee 100644
--- a/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-containerservice/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-containerservice";
-  version = "16.4.0";
+  version = "17.0.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "23a8047668ebd1fa7c3c2445eba4e69c07675306e2a94ae6a3e455df162bd008";
+    sha256 = "sha256-oUbWdZryabCCg/gTujchT7p1nS7IDoU5W9MQ4ekJYH8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix b/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
index bfd0b619695..9c6e9e2d80f 100644
--- a/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-datafactory/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-datafactory";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "bc2560b4de1528292883b53a337b89f04a5ceab7c3500b6bc388e3a77ff093cc";
+    sha256 = "sha256-/YmFlK5xl3HjaKGAhQu0JUVeujzPkAb8gNik4Lzp470=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
index 39f09b28241..dfd8581af1a 100644
--- a/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-iothubprovisioningservices/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-iothubprovisioningservices";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e5871b03488b5ae6dfc441cdbda40cb39c000635ee57c513053792b3c15826a9";
+    sha256 = "sha256-04OoJuff93L62G6IozpmHpEaUbHHHD6nKlkMHVoJvJ4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
index eeec10b5ead..26bc4064fb2 100644
--- a/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-kusto/default.nix
@@ -6,13 +6,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.1.0";
+  version = "2.2.0";
   pname = "azure-mgmt-kusto";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "171ea8719f543bd0dd4f3d6fa2277162d763182fe8e61b4db03f02668c1685b5";
+    sha256 = "sha256-A369Y5cqKthMz43QUvWQHq5ggz93plGObl7K4xnUdnc=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
index 0d3a4bfb2b3..5baf84c1c39 100644
--- a/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-recoveryservicesbackup/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "azure-mgmt-recoveryservicesbackup";
-  version = "4.0.0";
+  version = "4.1.1";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "a848ac1d99c935e61dfb91ca3e1577904a3eff5820fce179eb6937df8e1019ec";
+    sha256 = "sha256-9xF2TIAzydmviOwfveA0ZGP7Qj0HWLL6rXp4V4IDS6A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/azure-mgmt-storage/default.nix b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
index ed5b19bd80d..cd7e96049d1 100644
--- a/pkgs/development/python-modules/azure-mgmt-storage/default.nix
+++ b/pkgs/development/python-modules/azure-mgmt-storage/default.nix
@@ -7,14 +7,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "19.0.0";
+  version = "19.1.0";
   pname = "azure-mgmt-storage";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "f05963e5a8696d0fd4dcadda4feecb9b382a380d2e461b3647704ac787d79876";
+    sha256 = "sha256-Seoi8A4JZaNVCvNKQcGh06SBaQ9lAMeOhUCIAvVtdBY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/b2sdk/default.nix b/pkgs/development/python-modules/b2sdk/default.nix
index 5f9eb41bf82..2adc8b784f1 100644
--- a/pkgs/development/python-modules/b2sdk/default.nix
+++ b/pkgs/development/python-modules/b2sdk/default.nix
@@ -3,7 +3,6 @@
 , buildPythonPackage
 , fetchPypi
 , importlib-metadata
-, isPy27
 , logfury
 , pytestCheckHook
 , pytest-lazy-fixture
@@ -16,12 +15,14 @@
 
 buildPythonPackage rec {
   pname = "b2sdk";
-  version = "1.14.0";
-  disabled = isPy27;
+  version = "1.14.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "900da60f9e569e02405b85db35541a79e1cac776ace5d054498b107982ea443c";
+    hash = "sha256-fYOeyhKm9mRT61NcQVaXFKeRC8AS9lfIZMO/s6iFaeg=";
   };
 
   nativeBuildInputs = [
@@ -65,5 +66,6 @@ buildPythonPackage rec {
     description = "Client library and utilities for access to B2 Cloud Storage (backblaze)";
     homepage = "https://github.com/Backblaze/b2-sdk-python";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/basemap/default.nix b/pkgs/development/python-modules/basemap/default.nix
index c3d29d93244..30ca58fed31 100644
--- a/pkgs/development/python-modules/basemap/default.nix
+++ b/pkgs/development/python-modules/basemap/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "basemap";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "matplotlib";
     repo = "basemap";
-    rev = "v${version}rel";
-    sha256 = "13lw1iwa8hadpvqdgb06nh881l8c17awzvvwbfwblvb9q9s0lnzp";
+    rev = "v${version}";
+    sha256 = "0nwpd6zx2q2fc556ppz71ra6ad9z0d5bz8hcld64i91dcy0f0zs3";
   };
 
   propagatedBuildInputs = [ numpy matplotlib pillow pyproj pyshp six ];
diff --git a/pkgs/development/python-modules/bc-python-hcl2/default.nix b/pkgs/development/python-modules/bc-python-hcl2/default.nix
index e889fff9688..42203a43da4 100644
--- a/pkgs/development/python-modules/bc-python-hcl2/default.nix
+++ b/pkgs/development/python-modules/bc-python-hcl2/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchPypi
 , nose
+, pythonOlder
 }:
 
 let
@@ -19,11 +20,14 @@ let
 in
 buildPythonPackage rec {
   pname = "bc-python-hcl2";
-  version = "0.3.24";
+  version = "0.3.30";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-YsiMkTPRSKR4511csJOv9/Jf1b3TVUM7N2lInejdNrQ=";
+    hash = "sha256-wfcTIPKbMPa7xpXzkFtxnxG2ZRFzTw35EP7f4zwHxcs=";
   };
 
   # Nose is required during build process, so can not use `checkInputs`.
diff --git a/pkgs/development/python-modules/beancount/default.nix b/pkgs/development/python-modules/beancount/default.nix
index 665fd6806bf..d4ced793f83 100644
--- a/pkgs/development/python-modules/beancount/default.nix
+++ b/pkgs/development/python-modules/beancount/default.nix
@@ -17,14 +17,14 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.3.4";
+  version = "2.3.5";
   pname = "beancount";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-K/CM5qldmAAPTXM5WYXNHeuBwNUu1aduYQusd9gvhsA=";
+    sha256 = "sha256-FONWJaLpy9Q8rmF42gjLPxIk9iYeVBymcm3zXZjpw2o=";
   };
 
   # Tests require files not included in the PyPI archive.
diff --git a/pkgs/development/python-modules/beartype/default.nix b/pkgs/development/python-modules/beartype/default.nix
new file mode 100644
index 00000000000..097971c9ce3
--- /dev/null
+++ b/pkgs/development/python-modules/beartype/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "beartype";
+  version = "0.10.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-Lo1AUxj+QR7N2Tdif58zGBMSp5Pr0jmz2nacRDnLS5g=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "beartype"
+  ];
+
+  meta = with lib; {
+    description = "Fast runtime type checking for Python";
+    homepage = "https://github.com/beartype/beartype";
+    license = licenses.mit;
+    maintainers = with maintainers; [ bcdarwin ];
+  };
+}
diff --git a/pkgs/development/python-modules/bids-validator/default.nix b/pkgs/development/python-modules/bids-validator/default.nix
index 49952b4f5f1..4a0bd988c1e 100644
--- a/pkgs/development/python-modules/bids-validator/default.nix
+++ b/pkgs/development/python-modules/bids-validator/default.nix
@@ -4,12 +4,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.8.9";
+  version = "1.9.2";
   pname = "bids-validator";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01fcb5a8fe6de1280cdfd5b37715103ffa0bafb3c739ca7f5ffc41e46549612e";
+    sha256 = "sha256-JxPOHeK8glWwAhYwlCVJtfWeMtU6KHgvNg5b2DgGxGc=";
   };
 
   # needs packages which are not available in nixpkgs
diff --git a/pkgs/development/python-modules/bimmer-connected/default.nix b/pkgs/development/python-modules/bimmer-connected/default.nix
index 0f6334d2792..8f754b213e8 100644
--- a/pkgs/development/python-modules/bimmer-connected/default.nix
+++ b/pkgs/development/python-modules/bimmer-connected/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "bimmer-connected";
-  version = "0.8.10";
+  version = "0.8.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "bimmerconnected";
     repo = "bimmer_connected";
     rev = version;
-    hash = "sha256-xt21mcXcucUhJlqwDLrAHvQLg9++uc/cX5Sy+Sppsbo=";
+    hash = "sha256-Ufx9Tl0PmV3AEig3UvejJBVxhewzPN6IRsji5MzVxG8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bip_utils/default.nix b/pkgs/development/python-modules/bip_utils/default.nix
index 3d3c85eea3b..a4430b655ce 100644
--- a/pkgs/development/python-modules/bip_utils/default.nix
+++ b/pkgs/development/python-modules/bip_utils/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "bip_utils";
-  version = "1.11.1";
+  version = "2.1.0";
 
   disabled = pythonOlder "3.6";
 
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "ebellocchia";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0r8h979rklq7cvl0b449mfrx62dv367s31zgwfqn81kj72i3ndg4";
+    sha256 = "1n677z6rvcny1vyfzwnvcmzbqp9m4kfpdjfvkf1q6310zr2ybp7m";
   };
 
   propagatedBuildInputs = [ ecdsa pysha3 ];
diff --git a/pkgs/development/python-modules/bitarray/default.nix b/pkgs/development/python-modules/bitarray/default.nix
index 9372248fede..ea2c20df205 100644
--- a/pkgs/development/python-modules/bitarray/default.nix
+++ b/pkgs/development/python-modules/bitarray/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "bitarray";
-  version = "2.3.5";
+  version = "2.3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "60285184cb02fdba5e1cc8605ac84e150a50f940e9383ab43564e5258d1f47bb";
+    sha256 = "sha256-TaeQqxk+mTEH8/8K68T41q1RlqGQcfuvrRawKJikT9c=";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/bleak/default.nix b/pkgs/development/python-modules/bleak/default.nix
index 431edac75df..7db587ed58b 100644
--- a/pkgs/development/python-modules/bleak/default.nix
+++ b/pkgs/development/python-modules/bleak/default.nix
@@ -4,13 +4,13 @@
 
 buildPythonPackage rec {
   pname = "bleak";
-  version = "0.14.0";
+  version = "0.14.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b449cc63f769c2d219c67e23ffb9f3a5b5f23eb2d68d05878743dbed83a14360";
+    sha256 = "1fkq8q54s9apqiamdd8vgrhk5p02w5w281q93dfnrd37xv7ysk6h";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/blis/default.nix b/pkgs/development/python-modules/blis/default.nix
index 6f0370f044c..e8e9962f9b4 100644
--- a/pkgs/development/python-modules/blis/default.nix
+++ b/pkgs/development/python-modules/blis/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "blis";
-  version = "0.7.5";
+  version = "0.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "833e01e9eaff4c01aa6e049bbc1e6acb9eca6ee513d7b35b5bf135d49705ad33";
+    sha256 = "sha256-/pexD2ihx7VMDlS+rahOGPTvto3UDJBvuHSPURR0PsY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/bme280spi/default.nix b/pkgs/development/python-modules/bme280spi/default.nix
new file mode 100644
index 00000000000..a7a1e0fb920
--- /dev/null
+++ b/pkgs/development/python-modules/bme280spi/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchPypi
+, spidev
+}:
+
+buildPythonPackage rec {
+  pname = "bme280spi";
+  version = "0.2.0";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "51682acefda6f29eaaf9f37815edbfdd48ef0e9f1509419eceafe7b440eddc6e";
+  };
+
+  propagatedBuildInputs = [
+    spidev
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Library for BME280 sensor through spidev";
+    homepage = "https://github.com/Kuzj/bme280spi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/boost-histogram/default.nix b/pkgs/development/python-modules/boost-histogram/default.nix
index f428dc788bf..109487b88b9 100644
--- a/pkgs/development/python-modules/boost-histogram/default.nix
+++ b/pkgs/development/python-modules/boost-histogram/default.nix
@@ -1,17 +1,20 @@
-{ lib, fetchPypi, buildPythonPackage, isPy3k, boost, numpy, pytestCheckHook, pytest-benchmark }:
+{ lib, fetchPypi, buildPythonPackage, isPy3k, boost, numpy, pytestCheckHook, pytest-benchmark, setuptools-scm }:
 
 buildPythonPackage rec {
   pname = "boost-histogram";
-  version = "1.2.1";
+  version = "1.3.1";
   disabled = !isPy3k;
 
   src = fetchPypi {
     pname = "boost_histogram";
     inherit version;
-    sha256 = "a27842b2f1cfecc509382da2b25b03056354696482b38ec3c0220af0fc9b7579";
+    sha256 = "sha256-Mc05Zlbzo3g04H0wTNuE2ZBrwhcmJqPZL+V30IvPQQ8=";
   };
 
+  nativeBuildInputs = [ setuptools-scm ];
+
   buildInputs = [ boost ];
+
   propagatedBuildInputs = [ numpy ];
 
   checkInputs = [ pytestCheckHook pytest-benchmark ];
@@ -20,7 +23,6 @@ buildPythonPackage rec {
     description = "Python bindings for the C++14 Boost::Histogram library";
     homepage = "https://github.com/scikit-hep/boost-histogram";
     license = licenses.bsd3;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ veprbl ];
   };
 }
diff --git a/pkgs/development/python-modules/boto3/default.nix b/pkgs/development/python-modules/boto3/default.nix
index af358a61f18..c6fdc8c9981 100644
--- a/pkgs/development/python-modules/boto3/default.nix
+++ b/pkgs/development/python-modules/boto3/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "boto3";
-  version = "1.20.21"; # N.B: if you change this, change botocore and awscli to a matching version
+  version = "1.20.35"; # N.B: if you change this, change botocore and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2fb05cbe81b9ce11d9394fc6c4ffa5fd1cceb114dc1d2887dc61081707e44522";
+    sha256 = "42dd9fcb9e033ab19c9dfaeaba745ef9d2db6efe4e9f1e1f547b3e3e0b1f4a82";
   };
 
   propagatedBuildInputs = [ botocore jmespath s3transfer ] ++ lib.optionals (!isPy3k) [ futures ];
diff --git a/pkgs/development/python-modules/botocore/default.nix b/pkgs/development/python-modules/botocore/default.nix
index 43fad712455..6d5c11665c2 100644
--- a/pkgs/development/python-modules/botocore/default.nix
+++ b/pkgs/development/python-modules/botocore/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "botocore";
-  version = "1.23.21"; # N.B: if you change this, change boto3 and awscli to a matching version
+  version = "1.23.35"; # N.B: if you change this, change boto3 and awscli to a matching version
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d7f8e82cba38aa1e66015cab0a5ca3204503e90afc4695e97228e28329a14c04";
+    sha256 = "5be6ba6c5ea71c256da8a5023bf9c278847c4b90fdb40f2c4c3bdb21ca11ff28";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/braintree/default.nix b/pkgs/development/python-modules/braintree/default.nix
index 8cf820edbfe..c88f6712f79 100644
--- a/pkgs/development/python-modules/braintree/default.nix
+++ b/pkgs/development/python-modules/braintree/default.nix
@@ -1,22 +1,43 @@
-{ lib,
-  fetchPypi,
-  requests,
-  buildPythonPackage
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, nose
+, pytestCheckHook
+, pythonOlder
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "braintree";
-  version = "4.13.1";
+  version = "4.14.0";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "4f6addf89f5cd6123243ddc89db325e50fceec825845901dad553fde115bd938";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = "braintree_python";
+    rev = version;
+    hash = "sha256-qeqQX+qyy78sLe+46CA4D6VAxNHUVahS4LMYdGDzc2k=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  checkInputs = [
+    nose
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "braintree"
+  ];
 
-  # pypi release does not include tests
-  doCheck = false;
+  disabledTestPaths = [
+    # Don't test integrations
+    "tests/integration"
+  ];
 
   meta = with lib; {
     description = "Python library for integration with Braintree";
diff --git a/pkgs/development/python-modules/breathe/default.nix b/pkgs/development/python-modules/breathe/default.nix
index 9d1324053b3..976a8b60dfb 100644
--- a/pkgs/development/python-modules/breathe/default.nix
+++ b/pkgs/development/python-modules/breathe/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "breathe";
-  version = "4.32.0";
+  version = "4.33.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "michaeljones";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-U85iLVS6bmA2Ty0AC4z2qODy9u4rWg6Nb42/k2Ix+kk=";
+    hash = "sha256-S4wxlxluRjwlRGCa5Os/J3EpdekI/CEPMWw6j/wlZbw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/brotli/default.nix b/pkgs/development/python-modules/brotli/default.nix
index 0556c5b4e2a..d4cff163a0b 100644
--- a/pkgs/development/python-modules/brotli/default.nix
+++ b/pkgs/development/python-modules/brotli/default.nix
@@ -12,9 +12,9 @@ buildPythonPackage rec {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1rdp9rx197q467ixp53g4cgc3jbsdaxr62pz0a8ayv2lvm944azh";
+    sha256 = "sha256-tFnXSXv8t3l3HX6GwWLhEtgpqz0c7Yom5U3k47pWM7o=";
     # for some reason, the test data isn't captured in releases, force a git checkout
-    deepClone = true;
+    forceFetchGit = true;
   };
 
   dontConfigure = true;
diff --git a/pkgs/development/python-modules/bugsnag/default.nix b/pkgs/development/python-modules/bugsnag/default.nix
index f157f291f7f..ace2e2166d7 100644
--- a/pkgs/development/python-modules/bugsnag/default.nix
+++ b/pkgs/development/python-modules/bugsnag/default.nix
@@ -2,29 +2,36 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
-, six
 , webob
 }:
 
 buildPythonPackage rec {
   pname = "bugsnag";
-  version = "4.1.1";
+  version = "4.2.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cdbdb3e02ef0c0655bb55be8b05ec1cb830b5ec629923ccb24bfd71dede3d1c3";
+    hash = "sha256-NnTn4m9we40Ww2abP7mbz1CtdypZyN2GYBvj8zxhOpI=";
   };
 
-  propagatedBuildInputs = [ six webob ];
+  propagatedBuildInputs = [
+    webob
+  ];
+
+  pythonImportsCheck = [
+    "bugsnag"
+  ];
 
   # no tests
   doCheck = false;
 
   meta = with lib; {
-    description = "Automatic error monitoring for django, flask, etc.";
-    homepage = "https://www.bugsnag.com";
+    description = "Automatic error monitoring for Python applications";
+    homepage = "https://github.com/bugsnag/bugsnag-python";
     license = licenses.mit;
-    platforms = platforms.unix;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/buildbot/default.nix b/pkgs/development/python-modules/buildbot/default.nix
index a6ae6e87036..2836ee24c34 100644
--- a/pkgs/development/python-modules/buildbot/default.nix
+++ b/pkgs/development/python-modules/buildbot/default.nix
@@ -31,11 +31,11 @@ let
 
   package = buildPythonPackage rec {
     pname = "buildbot";
-    version = "3.4.0";
+    version = "3.4.1";
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "sha256-14w1sF1aOpfUW76uhAIUpdrjAEhQkEWcRGg9Osc+qFk=";
+      sha256 = "sha256-GmKMqejHjtEiEtlZffze7PGNjVwUKB/ZcvUgJ4DoeDQ=";
     };
 
     propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/buildbot/pkg.nix b/pkgs/development/python-modules/buildbot/pkg.nix
index a1d2fa59cb5..a35506c89b8 100644
--- a/pkgs/development/python-modules/buildbot/pkg.nix
+++ b/pkgs/development/python-modules/buildbot/pkg.nix
@@ -6,7 +6,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-NAc85JomnxS052SjCu8+UQ/hik2gbq1u7/gc21Nj67Q=";
+    sha256 = "sha256-A2a5rEL5MN9jlu5vVnUIKx9ma2H6wuJAWjkqLpQgcfc=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/buildbot/plugins.nix b/pkgs/development/python-modules/buildbot/plugins.nix
index 797395205a0..5b64f4c51ab 100644
--- a/pkgs/development/python-modules/buildbot/plugins.nix
+++ b/pkgs/development/python-modules/buildbot/plugins.nix
@@ -7,7 +7,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "sha256-65ZbCiNtxH3YjAcdhv5cwSUNrLT65jlQh/2oL8342Tw=";
+      sha256 = "sha256-Hly1dwUbWblHoP+ufjxyz4boXby8kxeFSHLMHcCpc1o=";
     };
 
     # Remove unneccessary circular dependency on buildbot
@@ -34,7 +34,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "sha256-2wu6rE5tgjPXxlcIND8s+DAmX9CF29M3ElonV0L8WOs=";
+      sha256 = "sha256-QuV808Wg9epCgjehuUaMKCLLTLfFJVWBdKPy8sZfBYg=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -56,7 +56,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "sha256-Vu4CouTuVyxpmx5C4fthQJPdFBAtN1jliQjy4pLYAzc=";
+      sha256 = "sha256-p8PRQaWrPb63RrF4FtTX65qM3HdzI4Gl4tR0zTOBFEI=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -78,7 +78,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "sha256-BDzI4VBbNGCKRxv6294IIVkDXZV0KHauvUYDjIVovvE=";
+      sha256 = "sha256-cNYptEp98padbyoY1DmZbpaED7O5pfck9oMjst4RHnI=";
     };
 
     buildInputs = [ buildbot-pkg ];
@@ -100,7 +100,7 @@
 
     src = fetchPypi {
       inherit pname version;
-      sha256 = "sha256-hkcxwZWFJOLHMIRJfzzMTEoH6oc2UblJEKFjYthFfDc=";
+      sha256 = "sha256-o747SIyqJom4ucZ7hmODcP0VC7i+ydgvi+oMxn/vupc=";
     };
 
     buildInputs = [ buildbot-pkg ];
diff --git a/pkgs/development/python-modules/buildbot/worker.nix b/pkgs/development/python-modules/buildbot/worker.nix
index 0c7e2f33716..97a3eec770b 100644
--- a/pkgs/development/python-modules/buildbot/worker.nix
+++ b/pkgs/development/python-modules/buildbot/worker.nix
@@ -7,7 +7,7 @@ buildPythonPackage (rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SFZ0Q51hrBb7eBMGzvVOhc/ogFCIO/Mo7U9652WJ2GU=";
+    sha256 = "sha256-9wdUvp00vuP7peJ+Oo4guHLfIz0YWHwp6q/zlKOOoXg=";
   };
 
   propagatedBuildInputs = [ twisted future ];
diff --git a/pkgs/development/python-modules/cachelib/default.nix b/pkgs/development/python-modules/cachelib/default.nix
index 0838558e116..9c0620c8740 100644
--- a/pkgs/development/python-modules/cachelib/default.nix
+++ b/pkgs/development/python-modules/cachelib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "cachelib";
-  version = "0.3.0";
+  version = "0.6.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "pallets";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ssyHNlrSrG8YHRS131jJtmgl6eMTNdet1Hf0nTxL8sM=";
+    sha256 = "sha256-1msDiNYxaETJfVBTaMuNJbSxhOpyRdHkb5CQ+1+ZbbQ=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/cachetools/default.nix b/pkgs/development/python-modules/cachetools/default.nix
index 1bff572b603..f38eb328e3d 100644
--- a/pkgs/development/python-modules/cachetools/default.nix
+++ b/pkgs/development/python-modules/cachetools/default.nix
@@ -7,16 +7,16 @@
 
 buildPythonPackage rec {
   pname = "cachetools";
-  version = "4.2.4";
+  version = "5.0.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "tkem";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-doPLl7Ooc2cKlTiS/dqLTKSkTlSgPFztIumAzciM0bc=";
+    hash = "sha256-urTkls1S83m7Eo7chPaQc5gxz0omZBToNYa8upQEiOo=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/canopen/default.nix b/pkgs/development/python-modules/canopen/default.nix
index 51a6d0d11c0..ccb3626e2f4 100644
--- a/pkgs/development/python-modules/canopen/default.nix
+++ b/pkgs/development/python-modules/canopen/default.nix
@@ -5,15 +5,19 @@
 , can
 , canmatrix
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "canopen";
-  version = "1.2.1";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18d01d56ff0023795cb336cafd4810a76cf402b98b42139b201fa8c5d4ba8c06";
+    hash = "sha256-vMiqnqg/etpdoNregQOJd75SqTgCwmV2SXKesfggZdk=";
   };
 
   nativeBuildInputs = [
@@ -29,7 +33,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "canopen" ];
+  pythonImportsCheck = [
+    "canopen"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/christiansandberg/canopen/";
diff --git a/pkgs/development/python-modules/carrot/default.nix b/pkgs/development/python-modules/carrot/default.nix
deleted file mode 100644
index a772535ad82..00000000000
--- a/pkgs/development/python-modules/carrot/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi
-, nose, amqplib, anyjson }:
-
-buildPythonPackage rec {
-  pname = "carrot";
-  version = "0.10.7";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0s14rs2fgp1s2qa0avn8gj33lwc3k1hd4y9a2h6mhg487i7kfinb";
-  };
-
-  buildInputs = [ nose ];
-  propagatedBuildInputs = [ amqplib anyjson ];
-
-  doCheck = false; # depends on the network
-
-  meta = with lib; {
-    homepage = "https://pypi.python.org/pypi/carrot";
-    description = "AMQP Messaging Framework for Python";
-  };
-}
diff --git a/pkgs/development/python-modules/cartopy/default.nix b/pkgs/development/python-modules/cartopy/default.nix
index d55c1e9b0c5..d233cf03164 100644
--- a/pkgs/development/python-modules/cartopy/default.nix
+++ b/pkgs/development/python-modules/cartopy/default.nix
@@ -1,6 +1,6 @@
 { buildPythonPackage, lib, fetchPypi
 , pytestCheckHook, filelock, mock, pep8
-, cython
+, cython, setuptools-scm
 , six, pyshp, shapely, geos, numpy
 , gdal, pillow, matplotlib, pyepsg, pykdtree, scipy, owslib, fiona
 , proj, flufl_lock
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "cartopy";
-  version = "0.20.1";
+  version = "0.20.2";
 
   src = fetchPypi {
     inherit version;
     pname = "Cartopy";
-    sha256 = "91f87b130e2574547a20cd634498df97d797abd12dcfd0235bc0cdbcec8b05e3";
+    sha256 = "4d08c198ecaa50a6a6b109d0f14c070e813defc046a83ac5d7ab494f85599e35";
   };
 
   postPatch = ''
@@ -23,6 +23,13 @@ buildPythonPackage rec {
       --replace "test_epsg(" "dont_test_epsg("
   '';
 
+  nativeBuildInputs = [
+    cython
+    geos # for geos-config
+    proj
+    setuptools-scm
+  ];
+
   buildInputs = [
     geos proj
   ];
@@ -48,12 +55,6 @@ buildPythonPackage rec {
     "test_gridliner_labels_bbox_style"
   ];
 
-  nativeBuildInputs = [
-    cython
-    geos # for geos-config
-    proj
-  ];
-
   meta = with lib; {
     description = "Process geospatial data to create maps and perform analyses";
     license = licenses.lgpl3Plus;
diff --git a/pkgs/development/python-modules/casa-formats-io/default.nix b/pkgs/development/python-modules/casa-formats-io/default.nix
index 53ee89c5f94..beb6dc35142 100644
--- a/pkgs/development/python-modules/casa-formats-io/default.nix
+++ b/pkgs/development/python-modules/casa-formats-io/default.nix
@@ -4,6 +4,7 @@
 , astropy
 , dask
 , numpy
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -16,6 +17,8 @@ buildPythonPackage rec {
     sha256 = "16rypj65wdfxxrilxfhbk563lxv86if4vvs9zfq3f8bkzdr8xl9s";
   };
 
+  nativeBuildInputs = [ setuptools-scm ];
+
   propagatedBuildInputs = [ astropy dask numpy ];
 
   # Tests require a large (800 Mb) dataset
@@ -25,7 +28,7 @@ buildPythonPackage rec {
 
   meta = {
     description = "Dask-based reader for CASA data";
-    homepage = "http://radio-astro-tools.github.io";
+    homepage = "https://casa-formats-io.readthedocs.io/";
     license = lib.licenses.lgpl2Only;
     maintainers = with lib.maintainers; [ smaret ];
   };
diff --git a/pkgs/development/python-modules/casbin/default.nix b/pkgs/development/python-modules/casbin/default.nix
index 815bc8ae36c..12ea06a5c4f 100644
--- a/pkgs/development/python-modules/casbin/default.nix
+++ b/pkgs/development/python-modules/casbin/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "casbin";
-  version = "1.15.2";
+  version = "1.15.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "pycasbin";
     rev = "v${version}";
-    sha256 = "0mrk6b16f4ds666qa4884kjjbmb55kpfvvqsznfmyg9iii6dir50";
+    sha256 = "0vczml14dvvrj401r08d6b0rfn5p5kfm1wr0vrfi8rqk2z5x1w0g";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cchardet/default.nix b/pkgs/development/python-modules/cchardet/default.nix
index b93ea9c3bd7..e1c27d9e4fb 100644
--- a/pkgs/development/python-modules/cchardet/default.nix
+++ b/pkgs/development/python-modules/cchardet/default.nix
@@ -14,9 +14,27 @@ buildPythonPackage rec {
     sha256 = "c428b6336545053c2589f6caf24ea32276c6664cb86db817e03a94c60afa0eaf";
   };
 
+  pythonImportsCheck = [
+    "cchardet"
+  ];
+
   checkInputs = [ nose ];
+
+  preCheck = ''
+    cp -R src/tests $TMPDIR
+    pushd $TMPDIR
+  '';
+
   checkPhase = ''
-    ${python.interpreter} setup.py nosetests
+    runHook preCheck
+
+    nosetests
+
+    runHook postCheck
+  '';
+
+  postCheck = ''
+    popd
   '';
 
   meta = {
diff --git a/pkgs/development/python-modules/cdcs/default.nix b/pkgs/development/python-modules/cdcs/default.nix
index 9dd8a272395..ec11019cc9a 100644
--- a/pkgs/development/python-modules/cdcs/default.nix
+++ b/pkgs/development/python-modules/cdcs/default.nix
@@ -9,7 +9,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.1.5";
+  version = "0.1.6";
   pname = "cdcs";
   format = "setuptools";
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "usnistgov";
     repo = "pycdcs";
     rev = "v${version}";
-    sha256 = "0sd0s0mka2bvpxxiz98cjc2h5ncsb7d03af1q3w9w8pmvfsgj7pc";
+    sha256 = "sha256-w9CBNOK9oXTIUa+SsnepRN0wAz7WPZGfUNDSbtVn1L8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/censys/default.nix b/pkgs/development/python-modules/censys/default.nix
index 8bf70f95c0f..4a00155a4ec 100644
--- a/pkgs/development/python-modules/censys/default.nix
+++ b/pkgs/development/python-modules/censys/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "censys";
-  version = "2.1.1";
+  version = "2.1.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "censys";
     repo = "censys-python";
     rev = "v${version}";
-    sha256 = "sha256-S3sxYCGMg/O5ICr9z4NqjmpPCF7e5F8G2q2EX4bRN+8=";
+    sha256 = "0qxqd5ip98d6q1d48vcprpr38sa47ky3cr6lprd01nzibdmf2r2d";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/cfn-lint/default.nix b/pkgs/development/python-modules/cfn-lint/default.nix
index 94a4ea5e10f..354f90f12b6 100644
--- a/pkgs/development/python-modules/cfn-lint/default.nix
+++ b/pkgs/development/python-modules/cfn-lint/default.nix
@@ -3,16 +3,12 @@
 , fetchFromGitHub
 , pythonOlder
 , aws-sam-translator
-, importlib-metadata
-, importlib-resources
 , jschema-to-python
 , jsonpatch
 , jsonschema
 , junit-xml
 , networkx
-, pathlib2
 , pyyaml
-, requests
 , sarif-om
 , setuptools
 , six
@@ -23,18 +19,18 @@
 
 buildPythonPackage rec {
   pname = "cfn-lint";
-  version = "0.56.3";
+  version = "0.56.4";
 
   src = fetchFromGitHub {
     owner = "aws-cloudformation";
     repo = "cfn-python-lint";
     rev = "v${version}";
-    sha256 = "12r0zxwidf4vdbbpzlhlmgc2as5bn45yf663f00iv6px0glq02zs";
+    sha256 = "0li8zkdvmgfxqzqs1rvd48mwim0bhjwmxlywqxjix0a43kvkvh77";
   };
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace 'importlib_resources~=1.4;python_version<"3.7" and python_version!="3.4"' 'importlib_resources;python_version<"3.7"'
+      --replace "jsonschema~=3.0" "jsonschema>=3.0"
   '';
 
   propagatedBuildInputs = [
@@ -44,13 +40,10 @@ buildPythonPackage rec {
     jsonschema
     junit-xml
     networkx
-    pathlib2
     pyyaml
-    requests
     sarif-om
-    setuptools
     six
-  ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata importlib-resources ];
+  ];
 
   checkInputs = [
     mock
diff --git a/pkgs/development/python-modules/chalice/default.nix b/pkgs/development/python-modules/chalice/default.nix
index 07259d5e59c..762846ab34c 100644
--- a/pkgs/development/python-modules/chalice/default.nix
+++ b/pkgs/development/python-modules/chalice/default.nix
@@ -24,13 +24,13 @@
 
 buildPythonPackage rec {
   pname = "chalice";
-  version = "1.26.2";
+  version = "1.26.4";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zF7wmrJTMX0Cr3wpJECUqhH58G2SLiVoC4Z2XbblQdQ=";
+    sha256 = "sha256-Xn8OqeEihLxZS9QZtrhzau2zLg9SzQrrigK70PoImhU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cheroot/default.nix b/pkgs/development/python-modules/cheroot/default.nix
index 6e9256ffacf..436669d9209 100644
--- a/pkgs/development/python-modules/cheroot/default.nix
+++ b/pkgs/development/python-modules/cheroot/default.nix
@@ -1,16 +1,16 @@
 { lib
 , stdenv
-, fetchPypi
 , buildPythonPackage
-, isPy3k
+, fetchPypi
 , jaraco_functools
 , jaraco_text
 , more-itertools
 , portend
 , pyopenssl
-, pytestCheckHook
-, pytest-cov
+, pypytools
 , pytest-mock
+, pytestCheckHook
+, pythonOlder
 , requests
 , requests-toolbelt
 , requests-unixsocket
@@ -22,21 +22,22 @@
 
 buildPythonPackage rec {
   pname = "cheroot";
-  version = "8.5.2";
+  version = "8.6.0";
 
-  disabled = !isPy3k;
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f137d03fd5155b1364bea557a7c98168665c239f6c8cedd8f80e81cdfac01567";
+    hash = "sha256-NmrfbnyslVVIbC0b5il5kwIu/2+MRlXBRDJozKPwjiU=";
   };
 
-  nativeBuildInputs = [ setuptools-scm setuptools-scm-git-archive ];
+  nativeBuildInputs = [
+    setuptools-scm
+    setuptools-scm-git-archive
+  ];
 
   propagatedBuildInputs = [
-    # install_requires
     jaraco_functools
-
     more-itertools
     six
   ];
@@ -45,9 +46,9 @@ buildPythonPackage rec {
     jaraco_text
     portend
     pyopenssl
-    pytestCheckHook
-    pytest-cov
+    pypytools
     pytest-mock
+    pytestCheckHook
     requests
     requests-toolbelt
     requests-unixsocket
@@ -79,6 +80,10 @@ buildPythonPackage rec {
     "cheroot/test/test_wsgi.py"
   ];
 
+  pythonImportsCheck = [
+    "cheroot"
+  ];
+
   # Some of the tests use localhost networking.
   __darwinAllowLocalNetworking = true;
 
@@ -86,5 +91,6 @@ buildPythonPackage rec {
     description = "High-performance, pure-Python HTTP";
     homepage = "https://github.com/cherrypy/cheroot";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/chirpstack-api/default.nix b/pkgs/development/python-modules/chirpstack-api/default.nix
index a019dd65199..c939022a29b 100644
--- a/pkgs/development/python-modules/chirpstack-api/default.nix
+++ b/pkgs/development/python-modules/chirpstack-api/default.nix
@@ -1,27 +1,38 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , google-api-core
 , grpcio
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "chirpstack-api";
-  version = "3.9.4";
+  version = "3.12.4";
+  format = "setuptools";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "08djidy3fyhghyzvndcjas3hb1s9d7719gvmgbl8bzxjm4h2c433";
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "brocaar";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-69encHMk0eXE2Av87ysKvxoiXog5o68qCUlOx/lgHFU=";
   };
 
+  sourceRoot = "source/python/src";
+
   propagatedBuildInputs = [
     google-api-core
     grpcio
   ];
 
-  # Project has no tests
+  # Module has no tests
   doCheck = false;
-  pythonImportsCheck = [ "chirpstack_api" ];
+
+  pythonImportsCheck = [
+    "chirpstack_api"
+  ];
 
   meta = with lib; {
     description = "ChirpStack gRPC API message and service wrappers for Python";
diff --git a/pkgs/development/python-modules/chispa/default.nix b/pkgs/development/python-modules/chispa/default.nix
new file mode 100644
index 00000000000..3410789c21c
--- /dev/null
+++ b/pkgs/development/python-modules/chispa/default.nix
@@ -0,0 +1,27 @@
+{ buildPythonPackage, fetchFromGitHub, lib, poetry-core, pyspark }:
+
+buildPythonPackage rec {
+  pname = "chispa";
+  version = "0.8.3";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    repo = "chispa";
+    owner = "MrPowers";
+    rev = "v${version}";
+    sha256 = "sha256-1ePx8VbU8pMd5EsZhFp6qyMptlUxpoCvJfuDm9xXOdc=";
+  };
+
+  checkInputs = [ pyspark ];
+
+  nativeBuildInputs = [ poetry-core ];
+
+  pythonImportsCheck = [ "chispa" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/MrPowers/chispa";
+    description = "PySpark test helper methods with beautiful error messages";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ratsclub ];
+  };
+}
diff --git a/pkgs/development/python-modules/cirq-rigetti/default.nix b/pkgs/development/python-modules/cirq-rigetti/default.nix
index 70333fb47a9..f33ce69fc55 100644
--- a/pkgs/development/python-modules/cirq-rigetti/default.nix
+++ b/pkgs/development/python-modules/cirq-rigetti/default.nix
@@ -42,6 +42,8 @@ buildPythonPackage rec {
       --replace "pyjwt~=1.7.1" "pyjwt" \
       --replace "qcs-api-client~=0.8.0" "qcs-api-client" \
       --replace "iso8601~=0.1.14" "iso8601" \
+      --replace "rfc3986~=1.5.0" "rfc3986" \
+      --replace "pyquil~=3.0.0" "pyquil" \
       --replace "pydantic~=1.8.2" "pydantic"
     # Remove outdated test
     rm cirq_rigetti/service_test.py
diff --git a/pkgs/development/python-modules/ciscoconfparse/default.nix b/pkgs/development/python-modules/ciscoconfparse/default.nix
new file mode 100644
index 00000000000..e6db689a45c
--- /dev/null
+++ b/pkgs/development/python-modules/ciscoconfparse/default.nix
@@ -0,0 +1,60 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, passlib
+, dnspython
+, loguru
+, toml
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "ciscoconfparse";
+  version = "1.6.36";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "mpenning";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-nIuuqAxz8eHEQRuH8nfYVQ+vGMmcDcARJLizoI5Mty8=";
+  };
+
+  postPatch = ''
+    patchShebangs tests
+  '';
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    passlib
+    dnspython
+    loguru
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTestPaths = [
+    "tests/parse_test.py"
+  ];
+
+  disabledTests = [
+    "test_dns_lookup"
+    "test_reverse_dns_lookup"
+  ];
+
+  pythonImportsCheck = [ "ciscoconfparse" ];
+
+  meta = with lib; {
+    description =
+      "Parse, Audit, Query, Build, and Modify Cisco IOS-style configurations";
+    homepage = "https://github.com/mpenning/ciscoconfparse";
+    license = licenses.gpl3Only;
+    maintainers = [ maintainers.astro ];
+  };
+}
diff --git a/pkgs/development/python-modules/click-completion/default.nix b/pkgs/development/python-modules/click-completion/default.nix
index 19fdac37615..dcfcab597b9 100644
--- a/pkgs/development/python-modules/click-completion/default.nix
+++ b/pkgs/development/python-modules/click-completion/default.nix
@@ -1,18 +1,38 @@
-{ lib, buildPythonPackage, fetchPypi, isPy3k,
-  click, jinja2, shellingham, six
+{ lib
+, buildPythonPackage
+, fetchPypi
+, isPy27
+
+# propagates
+, click
+, jinja2
+, shellingham
+, six
 }:
 
 buildPythonPackage rec {
   pname = "click-completion";
   version = "0.5.2";
-  disabled = (!isPy3k);
+  disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "5bf816b81367e638a190b6e91b50779007d14301b3f9f3145d68e3cade7bce86";
   };
 
-  propagatedBuildInputs = [ click jinja2 shellingham six ];
+  propagatedBuildInputs = [
+    click
+    jinja2
+    shellingham
+    six
+  ];
+
+  pythonImportsCheck = [
+    "click_completion"
+  ];
+
+  # has no tests
+  doCheck = false;
 
   meta = with lib; {
     description = "Add or enhance bash, fish, zsh and powershell completion in Click";
diff --git a/pkgs/development/python-modules/click-configfile/default.nix b/pkgs/development/python-modules/click-configfile/default.nix
index 0d87aa890d2..62e0ed2d3b6 100644
--- a/pkgs/development/python-modules/click-configfile/default.nix
+++ b/pkgs/development/python-modules/click-configfile/default.nix
@@ -4,15 +4,19 @@
 , click
 , six
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "click-configfile";
   version = "0.2.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "lb7sE77pUOmPQ8gdzavvT2RAkVWepmKY+drfWTUdkNE=";
+    hash = "sha256-lb7sE77pUOmPQ8gdzavvT2RAkVWepmKY+drfWTUdkNE=";
   };
 
   propagatedBuildInputs = [
@@ -24,6 +28,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "install_requires=install_requires," 'install_requires=["click >= 6.6", "six >= 1.10"],'
+  '';
+
+  pythonImportsCheck = [
+    "click_configfile"
+  ];
+
   disabledTests = [
     "test_configfile__with_unbound_section"
     "test_matches_section__with_bad_arg"
diff --git a/pkgs/development/python-modules/cliff/default.nix b/pkgs/development/python-modules/cliff/default.nix
index ce229665c65..39c5a497c8d 100644
--- a/pkgs/development/python-modules/cliff/default.nix
+++ b/pkgs/development/python-modules/cliff/default.nix
@@ -3,21 +3,24 @@
 , fetchPypi
 , autopage
 , cmd2
+, installShellFiles
+, openstackdocstheme
 , pbr
 , prettytable
 , pyparsing
 , pyyaml
 , stevedore
+, sphinx
 , callPackage
 }:
 
 buildPythonPackage rec {
   pname = "cliff";
-  version = "3.10.0";
+  version = "3.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c68aac08d0d25853234a38fdbf1f33503849af3d5d677a4d0aacd42b0be6a4a1";
+    sha256 = "sha256-BFruPzxkRxll161QfOhHSk4vIIFfu1QFp3D4WWoqAKA=";
   };
 
   postPatch = ''
@@ -26,6 +29,12 @@ buildPythonPackage rec {
     rm test-requirements.txt
   '';
 
+  nativeBuildInputs = [
+    installShellFiles
+    openstackdocstheme
+    sphinx
+  ];
+
   propagatedBuildInputs = [
     autopage
     cmd2
@@ -36,6 +45,11 @@ buildPythonPackage rec {
     stevedore
   ];
 
+  postInstall = ''
+    sphinx-build -a -E -d doc/build/doctrees -b man doc/source doc/build/man
+    installManPage doc/build/man/cliff.1
+  '';
+
   # check in passthru.tests.pytest to escape infinite recursion with stestr
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/clint/default.nix b/pkgs/development/python-modules/clint/default.nix
index 66e2d5f52f3..45733c4ae7f 100644
--- a/pkgs/development/python-modules/clint/default.nix
+++ b/pkgs/development/python-modules/clint/default.nix
@@ -22,12 +22,18 @@ buildPythonPackage rec {
 
   LC_ALL="en_US.UTF-8";
 
+  propagatedBuildInputs = [ pillow blessings args ];
+
+  # nose-progressive and clint are not actively maintained
+  # no longer compatible as behavior demand 2to3, which was removed
+  # in setuptools>=58
+  doCheck  = false;
+  checkInputs = [ mock nose nose_progressive pkgs.glibcLocales ];
   checkPhase = ''
     ${python.interpreter} test_clint.py
   '';
 
-  buildInputs = [ mock nose nose_progressive pkgs.glibcLocales ];
-  propagatedBuildInputs = [ pillow blessings args ];
+  pythonImportsCheck = [ "clint" ];
 
   meta = with lib; {
     homepage = "https://github.com/kennethreitz/clint";
diff --git a/pkgs/development/python-modules/cloudflare/default.nix b/pkgs/development/python-modules/cloudflare/default.nix
index a21faa492df..39e3fe9d84c 100644
--- a/pkgs/development/python-modules/cloudflare/default.nix
+++ b/pkgs/development/python-modules/cloudflare/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, attrs
 , beautifulsoup4
 , requests
 , future
@@ -18,6 +19,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
+    attrs
     beautifulsoup4
     requests
     future
diff --git a/pkgs/development/python-modules/cloudpickle/default.nix b/pkgs/development/python-modules/cloudpickle/default.nix
index f525b6e7f1d..0e0debe9329 100644
--- a/pkgs/development/python-modules/cloudpickle/default.nix
+++ b/pkgs/development/python-modules/cloudpickle/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "cloudpickle";
-  version = "1.6.0";
+  version = "2.0.0";
   disabled = isPy27; # abandoned upstream
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9bc994f9e9447593bd0a45371f0e7ac7333710fcf64a4eb9834bf149f4ef2f32";
+    sha256 = "5cd02f3b417a783ba84a4ec3e290ff7929009fe51f6405423cfccfadd43ba4a4";
   };
 
   buildInputs = [ pytest mock ];
diff --git a/pkgs/development/python-modules/cloudsmith-api/default.nix b/pkgs/development/python-modules/cloudsmith-api/default.nix
index 0e1aca73522..517f3b99bef 100644
--- a/pkgs/development/python-modules/cloudsmith-api/default.nix
+++ b/pkgs/development/python-modules/cloudsmith-api/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "cloudsmith-api";
-  version = "1.8.2";
+  version = "1.30.0";
 
   format = "wheel";
 
   src = fetchPypi {
     pname = "cloudsmith_api";
     inherit format version;
-    sha256 = "f00410210f0efa1af7a2d344deafc12b946e3efc7d5c8374b27dc67ed8580183";
+    sha256 = "sha256-IKxeNAMJTMCpP/jz7lHuetHCpddypgYdCKQcI/9pIj8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cloudsplaining/default.nix b/pkgs/development/python-modules/cloudsplaining/default.nix
index 13720f9d88b..20d822d8ee7 100644
--- a/pkgs/development/python-modules/cloudsplaining/default.nix
+++ b/pkgs/development/python-modules/cloudsplaining/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "cloudsplaining";
-  version = "0.4.10";
+  version = "0.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "salesforce";
     repo = pname;
     rev = version;
-    hash = "sha256-zTsqrHu8eQsQ4ZFocvHdVsgCjWE6JVrlyaztFNir2fk=";
+    hash = "sha256-HdZHRK/Q544z9ySbjNIjqiXzel0UTsnb9tuXawbkwZg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cocotb/default.nix b/pkgs/development/python-modules/cocotb/default.nix
index 7cf357cc4c6..d24d3bc7982 100644
--- a/pkgs/development/python-modules/cocotb/default.nix
+++ b/pkgs/development/python-modules/cocotb/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "cocotb";
-  version = "1.6.1";
+  version = "1.6.2";
 
   # - we need to use the tarball from PyPi
   #   or the full git checkout (with .git)
@@ -20,7 +20,7 @@ buildPythonPackage rec {
   #   because it does not include required metadata
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b644a15ea1e62c55041176468976541cba30a8a5e99a5e9a2c07ee595c2b4e95";
+    sha256 = "sha256-SY+1727DbWMg6CnmHw8k/VP0dwBRYszn+YyyvZXgvUs=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/commentjson/default.nix b/pkgs/development/python-modules/commentjson/default.nix
index 2aefb51d481..c1d3b8916d9 100644
--- a/pkgs/development/python-modules/commentjson/default.nix
+++ b/pkgs/development/python-modules/commentjson/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchFromGitHub, six, lark-parser, pytestCheckHook }:
+{ lib, buildPythonPackage, fetchFromGitHub, six, lark, pytestCheckHook }:
 
 buildPythonPackage rec {
   pname = "commentjson";
@@ -13,13 +13,13 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "lark-parser>=0.7.1,<0.8.0" "lark-parser"
+      --replace "lark-parser>=0.7.1,<0.8.0" "lark"
 
     # NixOS is missing test.test_json module
     rm -r commentjson/tests/test_json
   '';
 
-  propagatedBuildInputs = [ lark-parser six ];
+  propagatedBuildInputs = [ lark six ];
 
   checkInputs = [ pytestCheckHook ];
 
diff --git a/pkgs/development/python-modules/concurrent-log-handler/default.nix b/pkgs/development/python-modules/concurrent-log-handler/default.nix
index 5880cdf961e..d75df29421d 100644
--- a/pkgs/development/python-modules/concurrent-log-handler/default.nix
+++ b/pkgs/development/python-modules/concurrent-log-handler/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "concurrent-log-handler";
-  version = "0.9.19";
+  version = "0.9.20";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-sS95q+0/lBIcJc6cJM21fYiSguxv9h9VNasgaNw31Ak=";
+    hash = "sha256-n6KtYUdKE3tWQnAr0z8hgVWYqsuh51E5s3zrLO3aj58=";
   };
 
   propagatedBuildInputs = [
@@ -25,7 +25,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python logging handler that allows multiple processes to safely write to the same log file concurrently";
-    homepage = "https://www.chia.net/";
+    homepage = "https://pypi.org/project/concurrent-log-handler";
     license = licenses.asl20;
     maintainers = teams.chia.members;
   };
diff --git a/pkgs/development/python-modules/configargparse/default.nix b/pkgs/development/python-modules/configargparse/default.nix
index 1bb036b97df..7c1594e9e80 100644
--- a/pkgs/development/python-modules/configargparse/default.nix
+++ b/pkgs/development/python-modules/configargparse/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "configargparse";
-  version = "1.5.2";
+  version = "1.5.3";
 
   src = fetchFromGitHub {
     owner = "bw2";
     repo = "ConfigArgParse";
-    rev = version;
-    sha256 = "1hgd0gfxycfnlddwsr8sl6ybxzp8rqhin16vphbl8q32wp5hhjd2";
+    rev = "v${version}";
+    sha256 = "1dsai4bilkp2biy9swfdx2z0k4akw4lpvx12flmk00r80hzgbglz";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/configshell/default.nix b/pkgs/development/python-modules/configshell/default.nix
index 9f67aacf2d4..2cd66636b01 100644
--- a/pkgs/development/python-modules/configshell/default.nix
+++ b/pkgs/development/python-modules/configshell/default.nix
@@ -1,4 +1,10 @@
-{ lib, fetchFromGitHub, buildPythonPackage, pyparsing, six, urwid }:
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, pyparsing
+, six
+, urwid
+}:
 
 buildPythonPackage rec {
   pname = "configshell";
@@ -11,11 +17,28 @@ buildPythonPackage rec {
     sha256 = "0mjj3c9335sph8rhwww7j4zvhyk896fbmx887vibm89w3jpvjjr9";
   };
 
-  propagatedBuildInputs = [ pyparsing six urwid ];
+  propagatedBuildInputs = [
+    pyparsing
+    six
+    urwid
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pyparsing >=2.0.2,<3.0" "pyparsing >=2.0.2"
+  '';
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "configshell"
+  ];
 
   meta = with lib; {
-    description = "A Python library for building configuration shells";
+    description = "Python library for building configuration shells";
     homepage = "https://github.com/open-iscsi/configshell-fb";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/confuse/default.nix b/pkgs/development/python-modules/confuse/default.nix
index 2b350be0046..e28621f26a9 100644
--- a/pkgs/development/python-modules/confuse/default.nix
+++ b/pkgs/development/python-modules/confuse/default.nix
@@ -1,24 +1,24 @@
-{ buildPythonPackage
-, enum34
+{ lib
+, buildPythonPackage
 , fetchFromGitHub
 , flit-core
-, isPy27
-, lib
-, pathlib
 , pyyaml
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "confuse";
-  version = "1.5.0";
+  version = "1.7.0";
   format = "flit";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "beetbox";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kvilxhjifvz6ra64jadf9jiwphrah5rcb9ryq0v7w1dywgn4qp7";
+    sha256 = "sha256-zdH5DNXnuAfYTuaG9EIKiXL2EbLSfzYjPSkC3G06bU8=";
   };
 
   nativeBuildInputs = [
@@ -27,16 +27,15 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     pyyaml
-  ] ++ lib.optionals isPy27 [
-    enum34
-    pathlib
-  ] ;
+  ];
 
   checkInputs = [
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "confuse" ];
+  pythonImportsCheck = [
+    "confuse"
+  ];
 
   meta = with lib; {
     description = "Python configuration library for Python that uses YAML";
diff --git a/pkgs/development/python-modules/connexion/default.nix b/pkgs/development/python-modules/connexion/default.nix
index bfe4fc22144..6ccd3c98c21 100644
--- a/pkgs/development/python-modules/connexion/default.nix
+++ b/pkgs/development/python-modules/connexion/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "connexion";
-  version = "2.10.0";
+  version = "2.12.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "zalando";
     repo = pname;
     rev = version;
-    sha256 = "sha256-a1wj72XpjXvhWCxRLrGeDatS8a4ij9YAm9FGhTBq/i8=";
+    sha256 = "sha256-JMuI3h0Pg7nCXrJtF0fhSFJTOWelEqcvmqv3ooIfkqM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cons/default.nix b/pkgs/development/python-modules/cons/default.nix
new file mode 100644
index 00000000000..2977051d87b
--- /dev/null
+++ b/pkgs/development/python-modules/cons/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, logical-unification
+, pytestCheckHook
+, pytest-html
+}:
+
+buildPythonPackage rec {
+  pname = "cons";
+  version = "0.4.5";
+
+  src = fetchFromGitHub {
+    owner = "pythological";
+    repo = "python-cons";
+    rev = "fbeedfc8a3d1bff4ba179d492155cdd55538365e";
+    sha256 = "sha256-ivHFep9iYPvyiBIZKMAzqrLGnQkeuxd0meYMZwZFFH0=";
+  };
+
+  propagatedBuildInputs = [
+    logical-unification
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-html
+  ];
+
+  pytestFlagsArray = [
+    "--html=testing-report.html"
+    "--self-contained-html"
+  ];
+
+  pythonImportsCheck = [ "cons" ];
+
+  meta = with lib; {
+    description = "An implementation of Lisp/Scheme-like cons in Python";
+    homepage = "https://github.com/pythological/python-cons";
+    changelog = "https://github.com/pythological/python-cons/releases";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ Etjean ];
+  };
+}
diff --git a/pkgs/development/python-modules/coqpit/default.nix b/pkgs/development/python-modules/coqpit/default.nix
index c36e353e3bf..e19255c4479 100644
--- a/pkgs/development/python-modules/coqpit/default.nix
+++ b/pkgs/development/python-modules/coqpit/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "coqpit";
-  version = "0.0.14";
+  version = "0.0.15";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "coqui-ai";
     repo = pname;
     rev = "v${version}";
-    sha256 = "041sx7ph8vfx8ivvm6hjj6s83p9lni2agwyrrncqwhcbjy9pbdf1";
+    sha256 = "sha256-i2Lf7YQ9Ht4AlmfIBvJTWNPgEk8Kv92rs5VxuPgvR5U=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/coverage/default.nix b/pkgs/development/python-modules/coverage/default.nix
index f93d32d392f..f1930b88fb8 100644
--- a/pkgs/development/python-modules/coverage/default.nix
+++ b/pkgs/development/python-modules/coverage/default.nix
@@ -2,15 +2,18 @@
 , buildPythonPackage
 , fetchPypi
 , mock
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "coverage";
-  version = "5.5";
+  version = "6.2";
+  # uses f strings
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c";
+    sha256 = "e2cad8093172b7d1595b4ad66f24270808658e11acf43a8f95b41276162eb5b8";
   };
 
   # No tests in archive
diff --git a/pkgs/development/python-modules/croniter/default.nix b/pkgs/development/python-modules/croniter/default.nix
index d73ee597adc..1b122f9b5e4 100644
--- a/pkgs/development/python-modules/croniter/default.nix
+++ b/pkgs/development/python-modules/croniter/default.nix
@@ -4,22 +4,21 @@
 , python-dateutil
 , pytestCheckHook
 , pytz
-, natsort
 , tzlocal
 }:
 
 buildPythonPackage rec {
   pname = "croniter";
-  version = "1.1.0";
+  version = "1.3.4";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4023e4d18ced979332369964351e8f4f608c1f7c763e146b1d740002c4245247";
+    hash = "sha256-MWk2WRaDS+ZUwsrFfqFNcQ50L464pfzoBPbOVI2oC/I=";
   };
 
   propagatedBuildInputs = [
     python-dateutil
-    natsort
   ];
 
   checkInputs = [
@@ -28,12 +27,14 @@ buildPythonPackage rec {
     tzlocal
   ];
 
-  pythonImportsCheck = [ "croniter" ];
+  pythonImportsCheck = [
+    "croniter"
+  ];
 
   meta = with lib; {
-    description = "croniter provides iteration for datetime object with cron like format";
+    description = "Library to iterate over datetime object with cron like format";
     homepage = "https://github.com/kiorky/croniter";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/crownstone-uart/default.nix b/pkgs/development/python-modules/crownstone-uart/default.nix
index b8ed7721f06..12aa1590742 100644
--- a/pkgs/development/python-modules/crownstone-uart/default.nix
+++ b/pkgs/development/python-modules/crownstone-uart/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "crownstone-uart";
-  version = "2.2.0";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "crownstone";
     repo = "crownstone-lib-python-uart";
     rev = version;
-    sha256 = "sha256-5K7NzJ7fKOW4Uh1XIlicVkRZuM84qTM5RQc/DfP9OEc=";
+    sha256 = "sha256-temf+uvGWMMtnhBpbYtTj6OzKqo3Xaa11Q2VX2+HTZc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/cssutils/default.nix b/pkgs/development/python-modules/cssutils/default.nix
index 6c1c5de2c56..265504938df 100644
--- a/pkgs/development/python-modules/cssutils/default.nix
+++ b/pkgs/development/python-modules/cssutils/default.nix
@@ -4,6 +4,7 @@
 , pythonOlder
 , fetchpatch
 , fetchPypi
+, setuptools
 , setuptools-scm
 , toml
 , importlib-metadata
@@ -11,28 +12,24 @@
 , lxml
 , mock
 , pytestCheckHook
+, importlib-resources
 }:
 
 buildPythonPackage rec {
   pname = "cssutils";
-  version = "2.3.0";
+  version = "2.4.0";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
+
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-stOxYEfKroLlxZADaTW6+htiHPRcLziIWvS+SDjw/QA=";
+    hash = "sha256-LZchCoOwo/4eRGn1/5pkILB4VyA1GIsbq3EDw6NtyJs=";
   };
 
-  patches = lib.optionals (pythonAtLeast "3.10") [
-    # fix tests for python3.10
-    (fetchpatch {
-      url = "https://github.com/jaraco/cssutils/pull/17/commits/355b1795dde77bd4b49d8df35377230fdb503802.patch";
-      sha256 = "sha256-hwe8oeZO2rq00cs079lje3wjQDEczAu3Tfy/X/M9+GQ=";
-    })
-  ];
-
   nativeBuildInputs = [
+    setuptools
     setuptools-scm
     toml
   ];
@@ -46,6 +43,8 @@ buildPythonPackage rec {
     lxml
     mock
     pytestCheckHook
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
   ];
 
   disabledTests = [
@@ -53,11 +52,6 @@ buildPythonPackage rec {
     "test_parseUrl"
     "encutils"
     "website.logging"
-  ] ++ lib.optionals (pythonOlder "3.9") [
-    # AttributeError: module 'importlib.resources' has no attribute 'files'
-    "test_parseFile"
-    "test_parseString"
-    "test_combine"
   ];
 
   pythonImportsCheck = [ "cssutils" ];
diff --git a/pkgs/development/python-modules/csvw/default.nix b/pkgs/development/python-modules/csvw/default.nix
index 67342d9eccc..7ae79f4ec59 100644
--- a/pkgs/development/python-modules/csvw/default.nix
+++ b/pkgs/development/python-modules/csvw/default.nix
@@ -1,13 +1,13 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, pythonAtLeast
 , pythonOlder
 , attrs
 , isodate
 , python-dateutil
 , rfc3986
 , uritemplate
-, mock
 , pytestCheckHook
 , pytest-mock
 }:
@@ -15,6 +15,8 @@
 buildPythonPackage rec {
   pname = "csvw";
   version = "1.11.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -24,10 +26,6 @@ buildPythonPackage rec {
     sha256 = "1393xwqawaxsflbq62vks92vv4zch8p6dd1mdvdi7j4vvf0zljkg";
   };
 
-  patchPhase = ''
-    substituteInPlace setup.cfg --replace "--cov" ""
-  '';
-
   propagatedBuildInputs = [
     attrs
     isodate
@@ -37,15 +35,28 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    mock
     pytestCheckHook
     pytest-mock
   ];
 
+  patchPhase = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov" ""
+  '';
+
   disabledTests = [
     # this test is flaky on darwin because it depends on the resolution of filesystem mtimes
     # https://github.com/cldf/csvw/blob/45584ad63ff3002a9b3a8073607c1847c5cbac58/tests/test_db.py#L257
     "test_write_file_exists"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
+    # https://github.com/cldf/csvw/issues/58
+    "test_roundtrip_escapechar"
+    "test_escapequote_escapecharquotechar_final"
+    "test_doubleQuote"
+  ];
+
+  pythonImportsCheck = [
+    "csvw"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/cwcwidth/default.nix b/pkgs/development/python-modules/cwcwidth/default.nix
index ede96fc3b41..c3778415e57 100644
--- a/pkgs/development/python-modules/cwcwidth/default.nix
+++ b/pkgs/development/python-modules/cwcwidth/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "cwcwidth";
-  version = "0.1.4";
+  version = "0.1.6";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1azrphpkcyggg38xvkfb9dpc4xmmm90p02kf8dkqd4d6j5w96aj8";
+    sha256 = "1b31da599c9f0cf41f39ed10c1ceaa01d6024e31c6cd9aea2885b1f2a6d15fba";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/dasbus/default.nix b/pkgs/development/python-modules/dasbus/default.nix
new file mode 100644
index 00000000000..96a4eccbc58
--- /dev/null
+++ b/pkgs/development/python-modules/dasbus/default.nix
@@ -0,0 +1,21 @@
+{ lib, buildPythonPackage, fetchPypi, pygobject3, dbus }:
+
+buildPythonPackage rec {
+  pname = "dasbus";
+  version = "1.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-FJrY/Iw9KYMhq1AVm1R6soNImaieR+IcbULyyS5W6U0=";
+  };
+
+  propagatedBuildInputs = [ pygobject3 ];
+  checkInputs = [ dbus ];
+
+  meta = with lib; {
+    homepage = "https://github.com/rhinstaller/dasbus";
+    description = "DBus library in Python3";
+    license = licenses.lgpl21Only;
+    maintainers = with maintainers; [ fortuneteller2k ];
+  };
+}
diff --git a/pkgs/development/python-modules/dash/default.nix b/pkgs/development/python-modules/dash/default.nix
index 5fcdd02aa8f..004d42a81df 100644
--- a/pkgs/development/python-modules/dash/default.nix
+++ b/pkgs/development/python-modules/dash/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "dash";
-  version = "2.1.0";
+  version = "2.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "plotly";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-qEHB90xzettkX/9ojCQ8AZYnTJaL+8n87SmlBOBSDWQ=";
+    sha256 = "sha256-Ul3j1BJd3lKzGCEhPFYxZG0CcAqAZqmOEDi8vGPFItw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dask/default.nix b/pkgs/development/python-modules/dask/default.nix
index 39d01559d46..7af0eca747e 100644
--- a/pkgs/development/python-modules/dask/default.nix
+++ b/pkgs/development/python-modules/dask/default.nix
@@ -18,12 +18,11 @@
 , pythonOlder
 , pyyaml
 , toolz
-, withExtraComplete ? false
 }:
 
 buildPythonPackage rec {
   pname = "dask";
-  version = "2021.10.0";
+  version = "2022.02.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -32,19 +31,9 @@ buildPythonPackage rec {
     owner = "dask";
     repo = pname;
     rev = version;
-    sha256 = "07ysrs46x5w8rc2df0j06rsw58ahcysd6lwjk5riqpjlpwdfmg7p";
+    hash = "sha256-tDqpIS8j6a16YbJak+P1GkCEZvJyheWV5vkUrkhScRY=";
   };
 
-  patches = [
-    # remove with next bump
-    (fetchpatch {
-      name = "fix-tests-against-distributed-2021.10.0.patch";
-      url = "https://github.com/dask/dask/commit/cd65507841448ad49001cf27564102e2fb964d0a.patch";
-      includes = [ "dask/tests/test_distributed.py" ];
-      sha256 = "1i4i4k1lzxcydq9l80jyifq21ny0j3i47rviq07ai488pvx1r2al";
-    })
-  ];
-
   propagatedBuildInputs = [
     cloudpickle
     fsspec
@@ -56,9 +45,6 @@ buildPythonPackage rec {
     jinja2
     bokeh
     numpy
-  ] ++ lib.optionals (withExtraComplete) [
-    # infinite recursion between distributed and dask
-    distributed
   ];
 
   doCheck = true;
@@ -82,7 +68,7 @@ buildPythonPackage rec {
 
   pytestFlagsArray = [
     # parallelize
-    "--numprocesses auto"
+    "--numprocesses $NIX_BUILD_CORES"
     # rerun failed tests up to three times
     "--reruns 3"
     # don't run tests that require network access
@@ -114,6 +100,10 @@ buildPythonPackage rec {
     "dask.diagnostics"
   ];
 
+  passthru.extras-require = {
+    complete = [ distributed ];
+  };
+
   meta = with lib; {
     description = "Minimal task scheduling abstraction";
     homepage = "https://dask.org/";
diff --git a/pkgs/development/python-modules/databases/default.nix b/pkgs/development/python-modules/databases/default.nix
index 2facff6c840..518d2066853 100644
--- a/pkgs/development/python-modules/databases/default.nix
+++ b/pkgs/development/python-modules/databases/default.nix
@@ -14,7 +14,8 @@
 
 buildPythonPackage rec {
   pname = "databases";
-  version = "0.5.3";
+  version = "0.5.5";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-67ykx7HKGgRvJ+GRVEI/e2+x51kfHHFjh/iI4tY+6aE=";
+    hash = "sha256-NOXK1UCQzqvJRfzsgIfpihuD9oF52sMD+BxqUHWF8Rk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/databricks-connect/default.nix b/pkgs/development/python-modules/databricks-connect/default.nix
index 9b001f743ae..d242c59acdb 100644
--- a/pkgs/development/python-modules/databricks-connect/default.nix
+++ b/pkgs/development/python-modules/databricks-connect/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "databricks-connect";
-  version = "9.1.8";
+  version = "9.1.10";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-gSclZatH5r3r6o8K2gXaNlkowQxFT7h0t/0ubr3d0n0=";
+    sha256 = "sha256-OR3TXO6IzqwqbBbfFf+FGIUbwTa0DoKry84e1hL0I3Q=";
   };
 
   sourceRoot = ".";
diff --git a/pkgs/development/python-modules/datamodeldict/default.nix b/pkgs/development/python-modules/datamodeldict/default.nix
index b87ce1803c0..145342a60a3 100644
--- a/pkgs/development/python-modules/datamodeldict/default.nix
+++ b/pkgs/development/python-modules/datamodeldict/default.nix
@@ -1,27 +1,38 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 , xmltodict
 }:
 
 buildPythonPackage rec {
-  version = "0.9.8";
-  pname = "DataModelDict";
+  pname = "datamodeldict";
+  version = "0.9.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "65c36954efa17449c69a4d8cb11c9273593ef01428cd77a609ee134eba771550";
+    pname = "DataModelDict";
+    inherit version;
+    hash = "sha256-DadBRsc8qEu9PWgMNllGS2ESKL7kgBLDhg4yDr87WRk=";
   };
 
-  propagatedBuildInputs = [ xmltodict ];
+  propagatedBuildInputs = [
+    xmltodict
+  ];
 
   # no tests
   doCheck = false;
 
+  pythonImportsCheck = [
+    "DataModelDict"
+  ];
+
   meta = with lib; {
-    homepage = "https://github.com/usnistgov/DataModelDict/";
     description = "Class allowing for data models equivalently represented as Python dictionaries, JSON, and XML";
+    homepage = "https://github.com/usnistgov/DataModelDict/";
     license = licenses.mit;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/datasets/default.nix b/pkgs/development/python-modules/datasets/default.nix
index b4b60da17f9..ab5e929818c 100644
--- a/pkgs/development/python-modules/datasets/default.nix
+++ b/pkgs/development/python-modules/datasets/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "datasets";
-  version = "1.16.1";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = version;
-    sha256 = "sha256-5J2hhy52eZqVSaeJNIOM9RzZatq3aewAulS3OX76+Io=";
+    sha256 = "0bsk3jldvcxak64dhlxkqax7mf83z6qpwfgfk32rni1gpnz5pqbd";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/datasette/default.nix b/pkgs/development/python-modules/datasette/default.nix
index 7908b3c6b49..481f4c58b3f 100644
--- a/pkgs/development/python-modules/datasette/default.nix
+++ b/pkgs/development/python-modules/datasette/default.nix
@@ -18,7 +18,6 @@
 , httpx
 # Check Inputs
 , pytestCheckHook
-, pytest-runner
 , pytest-asyncio
 , pytest-timeout
 , aiohttp
@@ -31,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "datasette";
-  version = "0.59.4";
+  version = "0.60.2";
 
   disabled = pythonOlder "3.6";
 
@@ -39,11 +38,9 @@ buildPythonPackage rec {
     owner = "simonw";
     repo = pname;
     rev = version;
-    sha256 = "sha256-bH/VREo2f84wloA2jgXnQkGNSRRRYmSvUXmI0wMfmYM=";
+    sha256 = "sha256-GehtjukmSVHffAnDeDwjopgnuycD1CLQRHzLtO1iLsE=";
   };
 
-  nativeBuildInputs = [ pytest-runner ];
-
   propagatedBuildInputs = [
     aiofiles
     asgi-csrf
@@ -75,6 +72,8 @@ buildPythonPackage rec {
 
   postConfigure = ''
     substituteInPlace setup.py \
+      --replace '"pytest-runner"' ""
+    substituteInPlace setup.py \
       --replace "click-default-group~=1.2.2" "click-default-group" \
       --replace "hupper~=1.9" "hupper" \
       --replace "pint~=0.9" "pint" \
diff --git a/pkgs/development/python-modules/datashader/default.nix b/pkgs/development/python-modules/datashader/default.nix
index d4515b06483..152582f6716 100644
--- a/pkgs/development/python-modules/datashader/default.nix
+++ b/pkgs/development/python-modules/datashader/default.nix
@@ -46,7 +46,7 @@ buildPythonPackage rec {
     param
     pyct
     scipy
-  ];
+  ] ++ dask.extras-require.complete;
 
   checkInputs = [
     pytestCheckHook
diff --git a/pkgs/development/python-modules/dbutils/default.nix b/pkgs/development/python-modules/dbutils/default.nix
index bbfa60f03b6..8994e1d28cd 100644
--- a/pkgs/development/python-modules/dbutils/default.nix
+++ b/pkgs/development/python-modules/dbutils/default.nix
@@ -2,21 +2,29 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  version = "3.0.1";
   pname = "dbutils";
+  version = "3.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit version;
     pname = "DBUtils";
-    sha256 = "6ec83f4d75d7a7b42a92e86b775f251e2671639b3b2123fe13a5d8d8fe7c5643";
+    hash = "sha256-+t65eeFAbcEj4tuZVfMU4NU2DzBOC9bPBHqqX8P99bM=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "dbutils" ];
+  pythonImportsCheck = [
+    "dbutils"
+  ];
 
   meta = with lib; {
     description = "Database connections for multi-threaded environments";
diff --git a/pkgs/development/python-modules/deap/default.nix b/pkgs/development/python-modules/deap/default.nix
index f260727b87a..5efad065011 100644
--- a/pkgs/development/python-modules/deap/default.nix
+++ b/pkgs/development/python-modules/deap/default.nix
@@ -9,11 +9,19 @@ buildPythonPackage rec {
     sha256 = "0bvshly83c4h5jhxaa97z192viczymz5fxp6vl8awjmmrs9l9x8i";
   };
 
+  postPatch = ''
+    sed -i '/use_2to3=True/d' setup.py
+  '';
+
   propagatedBuildInputs = [ numpy matplotlib ];
 
+  preBuild = ''
+    2to3 -wn deap
+  '';
+
   checkInputs = [ nose ];
   checkPhase = ''
-    ${python.interpreter} setup.py nosetests --verbosity=3
+    nosetests --verbosity=3
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/debtcollector/default.nix b/pkgs/development/python-modules/debtcollector/default.nix
index df3d7839460..1915b64aca8 100644
--- a/pkgs/development/python-modules/debtcollector/default.nix
+++ b/pkgs/development/python-modules/debtcollector/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "debtcollector";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c7a9fac814ab5904e23905516b18356cc907e7d27c05da58d37103f001967846";
+    sha256 = "sha256-G8A+LZAX3kgMQc8+Wg2MyV8bDI8TOSgbTsqKIqz3aiM=";
   };
 
   nativeBuildInputs = [ pbr ];
diff --git a/pkgs/development/python-modules/decopatch/default.nix b/pkgs/development/python-modules/decopatch/default.nix
index 7fa3c6465db..92c2c27de2f 100644
--- a/pkgs/development/python-modules/decopatch/default.nix
+++ b/pkgs/development/python-modules/decopatch/default.nix
@@ -3,31 +3,42 @@
 , fetchPypi
 , makefun
 , setuptools-scm
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "decopatch";
-  version = "1.4.8";
+  version = "1.4.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0i6i811s2j1z0cl6y177dwsbfxib8dvb5c2jpgklvc2xy4ahhsy6";
+    hash = "sha256-tYgsjPDVsB0hi04E9nYtB7ModCDqUJcG9Zlxw9b+xW8=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  propagatedBuildInputs = [ makefun ];
+  propagatedBuildInputs = [
+    makefun
+  ];
 
   postPatch = ''
-    substituteInPlace setup.py --replace "'pytest-runner', " ""
+    substituteInPlace setup.cfg \
+      --replace "pytest-runner" ""
   '';
 
+  pythonImportsCheck = [
+    "decopatch"
+  ];
+
   # Tests would introduce multiple cirucular dependencies
   # Affected: makefun, pytest-cases
   doCheck = false;
 
-  pythonImportsCheck = [ "decopatch" ];
-
   meta = with lib; {
     description = "Python helper for decorators";
     homepage = "https://github.com/smarie/python-decopatch";
diff --git a/pkgs/development/python-modules/decorator/default.nix b/pkgs/development/python-modules/decorator/default.nix
index 0c188996315..e26c1a10818 100644
--- a/pkgs/development/python-modules/decorator/default.nix
+++ b/pkgs/development/python-modules/decorator/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "decorator";
-  version = "5.1.0";
+  version = "5.1.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e59913af105b9860aa2c8d3272d9de5a56a4e608db9a2f167a8480b323d529a7";
+    sha256 = "637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/deep-translator/default.nix b/pkgs/development/python-modules/deep-translator/default.nix
index cdc18f159fb..0f67b2ae352 100644
--- a/pkgs/development/python-modules/deep-translator/default.nix
+++ b/pkgs/development/python-modules/deep-translator/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "deep-translator";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2611c54209b234730f3e5e6481cb875e120e49d9ec1a27a1fa89850150485975";
+    sha256 = "sha256-k4RhUZN/aC9D1NKkmCGZGZNU9In577RobBnDagMYHbo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/deezer-python/default.nix b/pkgs/development/python-modules/deezer-python/default.nix
index 0e2a465843c..0f01ebab4a5 100644
--- a/pkgs/development/python-modules/deezer-python/default.nix
+++ b/pkgs/development/python-modules/deezer-python/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "deezer-python";
-  version = "5.1.0";
+  version = "5.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "browniebroke";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hBZBbREPxfAkGf2KRZtO3BpscFGlYiecQjM5l1/Edo0=";
+    sha256 = "sha256-jaF5vQx8/qP9pGLfilx86v1GxHbjxaRghjjI5Me0pU0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/demjson/default.nix b/pkgs/development/python-modules/demjson/default.nix
deleted file mode 100644
index a25ecd74b5d..00000000000
--- a/pkgs/development/python-modules/demjson/default.nix
+++ /dev/null
@@ -1,34 +0,0 @@
-{ lib
-, python
-, buildPythonPackage
-, fetchPypi
-, isPy3k
-}:
-
-buildPythonPackage rec {
-  pname = "demjson";
-  version = "2.2.4";
-  format = "setuptools";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0ygbddpnvp5lby6mr5kz60la3hkvwwzv3wwb3z0w9ngxl0w21pii";
-  };
-
-  doCheck = !(isPy3k);
-
-  checkPhase = ''
-    ${python.interpreter} test/test_demjson.py
-  '';
-
-  pythonImportsCheck = [
-    "demjson"
-  ];
-
-  meta = with lib; {
-    description = "Encoder/decoder and lint/validator for JSON (JavaScript Object Notation)";
-    homepage = "https://github.com/dmeranda/demjson";
-    license = licenses.lgpl3Plus;
-    maintainers = with maintainers; [ bjornfor ];
-  };
-}
diff --git a/pkgs/development/python-modules/dendropy/default.nix b/pkgs/development/python-modules/dendropy/default.nix
index be1b705dc02..08c79468271 100644
--- a/pkgs/development/python-modules/dendropy/default.nix
+++ b/pkgs/development/python-modules/dendropy/default.nix
@@ -2,17 +2,21 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "dendropy";
   version = "4.5.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "jeetsukumaran";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FP0+fJkkFtSysPxoHXjyMgF8pPin7aRyzmHe9bH8LlM=";
+    hash = "sha256-FP0+fJkkFtSysPxoHXjyMgF8pPin7aRyzmHe9bH8LlM=";
   };
 
   checkInputs = [
@@ -27,9 +31,13 @@ buildPythonPackage rec {
     "test_group1"
     # AssertionError: 6 != 5
     "test_by_num_lineages"
+    # AttributeError: module 'collections' has no attribute 'Iterable'
+    "test_findall_multiple"
   ];
 
-  pythonImportsCheck = [ "dendropy" ];
+  pythonImportsCheck = [
+    "dendropy"
+  ];
 
   meta = with lib; {
     description = "Python library for phylogenetic computing";
diff --git a/pkgs/development/python-modules/devolo-home-control-api/default.nix b/pkgs/development/python-modules/devolo-home-control-api/default.nix
index b71ce7c6c27..badbd3afbdb 100644
--- a/pkgs/development/python-modules/devolo-home-control-api/default.nix
+++ b/pkgs/development/python-modules/devolo-home-control-api/default.nix
@@ -5,6 +5,7 @@
 , pytestCheckHook
 , pythonOlder
 , requests
+, setuptools-scm
 , websocket-client
 , zeroconf
 }:
@@ -21,6 +22,12 @@ buildPythonPackage rec {
     sha256 = "sha256-N/48Q2IEL194vCzrPPuy+mRNejXfkoXy2t2oe0Y6ug4=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     requests
     zeroconf
@@ -32,13 +39,6 @@ buildPythonPackage rec {
     pytest-mock
   ];
 
-  postPatch = ''
-    # setup.py is not able to detect the version with setuptools_scm
-    substituteInPlace setup.py \
-      --replace "setuptools_scm" "" \
-      --replace 'use_scm_version=True' 'use_scm_version="${version}"'
-  '';
-
   # Disable test that requires network access
   disabledTests = [
     "test__on_pong"
diff --git a/pkgs/development/python-modules/diagrams/default.nix b/pkgs/development/python-modules/diagrams/default.nix
index d6173494e8d..84d98d09135 100644
--- a/pkgs/development/python-modules/diagrams/default.nix
+++ b/pkgs/development/python-modules/diagrams/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "diagrams";
-  version = "0.21.0";
+  version = "0.21.1";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "mingrammer";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1vj14kqffpafykyr9x5dcfhmqqvxq08lrp94lhqpdzikh6a0a0jx";
+    sha256 = "sha256-YoXV5ikkBCSVyGmzEqp+7JLy82d7z9sbwS+U/EN3BFk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/diceware/default.nix b/pkgs/development/python-modules/diceware/default.nix
index d519aa76c8b..5655e18bae1 100644
--- a/pkgs/development/python-modules/diceware/default.nix
+++ b/pkgs/development/python-modules/diceware/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "diceware";
-  version = "0.9.6";
+  version = "0.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0klb0ysybzlh2wihvir82hgq62v0jjmlcqklwajyms7c0p529yby";
+    sha256 = "sha256-srTMm1n1aNLvUb/fn34a+UHSX7j1wl8XAZHburzpZWk=";
   };
 
   nativeBuildInputs = [ pytest-runner ];
diff --git a/pkgs/development/python-modules/dict2xml/default.nix b/pkgs/development/python-modules/dict2xml/default.nix
index 457e9d3e530..a51ec5303cd 100644
--- a/pkgs/development/python-modules/dict2xml/default.nix
+++ b/pkgs/development/python-modules/dict2xml/default.nix
@@ -1,18 +1,27 @@
-{ lib, fetchPypi, buildPythonPackage, six }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "dict2xml";
-  version = "1.7.0";
+  version = "1.7.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0bfn8n8sb3slwx7ra8m8fbfy65k20h2qxcqfq99hwqrrkgcffihl";
+    hash = "sha256-ZgCqMx8X7uODNhH3GJmkOnZhLKdVoVdpzyBJLEsaoBY=";
   };
 
-  propagatedBuildInputs = [ six ];
+  pythonImportsCheck = [
+    "dict2xml"
+  ];
 
   meta = with lib; {
-    description = "Super simple library to convert a Python dictionary into an xml string";
+    description = "Library to convert a Python dictionary into an XML string";
     homepage = "https://github.com/delfick/python-dict2xml";
     license = licenses.mit;
     maintainers = with maintainers; [ johnazoidberg ];
diff --git a/pkgs/development/python-modules/diff-cover/default.nix b/pkgs/development/python-modules/diff-cover/default.nix
index 1751271a222..5414f7522db 100644
--- a/pkgs/development/python-modules/diff-cover/default.nix
+++ b/pkgs/development/python-modules/diff-cover/default.nix
@@ -2,51 +2,61 @@
 , buildPythonPackage
 , chardet
 , fetchPypi
-, inflect
 , jinja2
 , jinja2_pluralize
+, pluggy
 , pycodestyle
 , pyflakes
 , pygments
 , pylint
+, pytest-datadir
 , pytest-mock
 , pytestCheckHook
 , pythonOlder
+, tomli
 }:
 
 buildPythonPackage rec {
   pname = "diff-cover";
-  version = "5.5.0";
+  version = "6.4.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "diff_cover";
     inherit version;
-    sha256 = "e2d36131c13f571d9f5c4109b9e08b71ed00757eabec0156de74e33f6ef5627f";
+    sha256 = "b1d782c1ce53ad4b2c5545f8b7aa799eb61a0b12a62b376a18e2313c6f2d77f1";
   };
 
   propagatedBuildInputs = [
     chardet
-    inflect
     jinja2
     jinja2_pluralize
+    pluggy
     pygments
+    tomli
   ];
 
   checkInputs = [
     pycodestyle
     pyflakes
     pylint
+    pytest-datadir
     pytest-mock
     pytestCheckHook
   ];
 
   disabledTests = [
-    "added_file_pylint_console"
+    # Tests check for flake8
     "file_does_not_exist"
+    # AssertionError: assert '.c { color:...
+    "test_style_defs"
   ];
 
-  pythonImportsCheck = [ "diff_cover" ];
+  pythonImportsCheck = [
+    "diff_cover"
+  ];
 
   meta = with lib; {
     description = "Automatically find diff lines that need test coverage";
diff --git a/pkgs/development/python-modules/discovery30303/default.nix b/pkgs/development/python-modules/discovery30303/default.nix
new file mode 100644
index 00000000000..49de32439d1
--- /dev/null
+++ b/pkgs/development/python-modules/discovery30303/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pythonOlder
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "discovery30303";
+  version = "0.2.1";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "bdraco";
+    repo = pname;
+    # Commit points to 0.2.1, https://github.com/bdraco/discovery30303/issues/1
+    rev = "0d0b0fdca1a98662dd2e6174d25853703bd6bf07";
+    hash = "sha256-WSVMhiJxASxAkxs6RGuAVvEFS8TPxDKE9M99Rp8HKGM=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace " --cov=discovery30303" ""
+  '';
+
+  pythonImportsCheck = [
+    "discovery30303"
+  ];
+
+  meta = with lib; {
+    description = "Module to discover devices that respond on port 30303";
+    homepage = "https://github.com/bdraco/discovery30303";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/distlib/default.nix b/pkgs/development/python-modules/distlib/default.nix
index 1c565b3f158..ec4e8ecdc6f 100644
--- a/pkgs/development/python-modules/distlib/default.nix
+++ b/pkgs/development/python-modules/distlib/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "distlib";
-  version = "0.3.3";
+  version = "0.3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d982d0751ff6eaaab5e2ec8e691d949ee80eddf01a62eaa96ddb11531fe16b05";
+    sha256 = "e4b58818180336dc9c529bfb9a0b58728ffc09ad92027a3f30b7cd91e3458579";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/distributed/default.nix b/pkgs/development/python-modules/distributed/default.nix
index 6dfb531a78b..ee86418a665 100644
--- a/pkgs/development/python-modules/distributed/default.nix
+++ b/pkgs/development/python-modules/distributed/default.nix
@@ -19,20 +19,17 @@
 
 buildPythonPackage rec {
   pname = "distributed";
-  version = "2021.11.2";
-  disabled = pythonOlder "3.6";
+  version = "2022.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   # get full repository need conftest.py to run tests
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f86a01a2e1e678865d2e42300c47552b5012cd81a2d354e47827a1fd074cc302";
+    hash = "sha256-Gi9u7JczpnAEg53E7N5tXBfAeWZaLBVzRU3SpbU3bZU=";
   };
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "dask == 2021.11.2" "dask"
-  '';
-
   propagatedBuildInputs = [
     bokeh
     click
@@ -49,10 +46,17 @@ buildPythonPackage rec {
     zict
   ];
 
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "dask == 2022.02.0" "dask"
+  '';
+
   # when tested random tests would fail and not repeatably
   doCheck = false;
 
-  pythonImportsCheck = [ "distributed" ];
+  pythonImportsCheck = [
+    "distributed"
+  ];
 
   meta = with lib; {
     description = "Distributed computation in Python";
diff --git a/pkgs/development/python-modules/django-auth-ldap/default.nix b/pkgs/development/python-modules/django-auth-ldap/default.nix
index ab329cd37ab..ffd4796f2a5 100644
--- a/pkgs/development/python-modules/django-auth-ldap/default.nix
+++ b/pkgs/development/python-modules/django-auth-ldap/default.nix
@@ -1,25 +1,51 @@
 { lib
 , buildPythonPackage
-, fetchPypi, isPy27
-, ldap , django
-, mock
+, fetchPypi
+, isPy27
+
+# buildtime
+, setuptools-scm
+
+# runtime
+, ldap
+, django
+
+# tests
+, python
+, pkgs
 }:
 
 buildPythonPackage rec {
   pname = "django-auth-ldap";
-  version = "3.0.0";
+  version = "4.0.0";
+  format = "pyproject";
+
   disabled = isPy27;
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1f2d5c562d9ba9a5e9a64099ae9798e1a63840a11afe4d1c4a9c74121f066eaa";
+    sha256 = "276f79e624ce083ce13f161387f65ff1c0efe83ef8a42f2b9830d43317b15239";
   };
 
-  propagatedBuildInputs = [ ldap django ];
-  checkInputs = [ mock ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    django
+    ldap
+  ];
 
-  # django.core.exceptions.ImproperlyConfigured: Requested setting INSTALLED_APPS, but settings are not configured. You must either define the environment variable DJANGO_SETTINGS_MODULE or call settings.configure() before accessing settings
+  # ValueError: SCHEMADIR is None, ldap schemas are missing.
   doCheck = false;
 
+  checkPhase = ''
+    runHook preCheck
+    export PATH=${pkgs.openldap}/bin:${pkgs.openldap}/libexec:$PATH
+    ${python.interpreter} -m django test --settings tests.settings
+    runHook postCheck
+  '';
+
   pythonImportsCheck = [ "django_auth_ldap" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/django-configurations/default.nix b/pkgs/development/python-modules/django-configurations/default.nix
index 4cb23d989fa..4bddb62bdd1 100644
--- a/pkgs/development/python-modules/django-configurations/default.nix
+++ b/pkgs/development/python-modules/django-configurations/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "django-configurations";
-  version = "2.3.1";
+  version = "2.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e2ca25530e184f0ee3b7f5ae69563461a93a8914493306ee0bf6d71e7d8ad1d0";
+    sha256 = "bd1a77a60735839b7d105912cc3977735fa005ea06544c632fbd322d1e021677";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/django-timezone-field/default.nix b/pkgs/development/python-modules/django-timezone-field/default.nix
index 0bbdac356cd..5d43afc7794 100644
--- a/pkgs/development/python-modules/django-timezone-field/default.nix
+++ b/pkgs/development/python-modules/django-timezone-field/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "django-timezone-field";
-  version = "4.2.1";
+  version = "4.2.3";
   format = "setuptools";
   disabled = pythonOlder "3.5";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "mfogel";
     repo = pname;
     rev = version;
-    sha256 = "0swld4168pfhppr9q3i9r062l832cmmx792kkvlcvxfbdhk6qz9h";
+    sha256 = "sha256-purzXzPvnYNVsASsK6s9m4XieUL80FOjeSbUP4bpRj8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/django-widget-tweaks/default.nix b/pkgs/development/python-modules/django-widget-tweaks/default.nix
index 853e12327d3..63e575b6345 100644
--- a/pkgs/development/python-modules/django-widget-tweaks/default.nix
+++ b/pkgs/development/python-modules/django-widget-tweaks/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "django-widget-tweaks";
-  version = "1.4.8";
+  version = "1.4.12";
 
   src = fetchFromGitHub { # package from Pypi missing runtests.py
     owner = "jazzband";
     repo = pname;
     rev = version;
-    sha256 = "00w1ja56dc7cyw7a3mph69ax6mkch1lsh4p98ijdhzfpjdy36rbg";
+    sha256 = "1rhn2skx287k6nnkxlwvl9snbia6w6z4c2rqg22hwzbz5w05b24h";
   };
 
   checkPhase = "${python.interpreter} runtests.py";
diff --git a/pkgs/development/python-modules/django/2.nix b/pkgs/development/python-modules/django/2.nix
index f20eb49c023..c4df27beaaa 100644
--- a/pkgs/development/python-modules/django/2.nix
+++ b/pkgs/development/python-modules/django/2.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "2.2.26";
+  version = "2.2.27";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-36U3Jn1SxiQ6YrMoVadEyoPDfHBgCqz/v9mLxdbYUY8=";
+    sha256 = "sha256-HuNwRrC/K2HoOzoB0GcyNRbsO28rF81JsTJt1LqdyRM=";
   };
 
   patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/django/3.nix b/pkgs/development/python-modules/django/3.nix
index a7bafcfb270..3ed7024c349 100644
--- a/pkgs/development/python-modules/django/3.nix
+++ b/pkgs/development/python-modules/django/3.nix
@@ -13,13 +13,13 @@
 
 buildPythonPackage rec {
   pname = "Django";
-  version = "3.2.11";
+  version = "3.2.12";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-aclKvl1rGwiL9HXgm3t0QD+UPjTaEH55hGXSBF2ifnU=";
+    sha256 = "sha256-l3Lmk1cD5Z6ZOWCDLWamFM8CM6HFEjvGIk7MataeQeI=";
   };
 
   patches = lib.optional withGdal
diff --git a/pkgs/development/python-modules/django/4.nix b/pkgs/development/python-modules/django/4.nix
new file mode 100644
index 00000000000..eb24edb4bff
--- /dev/null
+++ b/pkgs/development/python-modules/django/4.nix
@@ -0,0 +1,107 @@
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, substituteAll
+
+# patched in
+, geos
+, gdal
+, withGdal ? false
+
+# propagated
+, asgiref
+, backports-zoneinfo
+, sqlparse
+
+# tests
+, aiosmtpd
+, argon2_cffi
+, bcrypt
+, docutils
+, geoip2
+, jinja2
+, memcached
+, numpy
+, pillow
+, pylibmc
+, pymemcache
+, python
+, pytz
+, pywatchman
+, pyyaml
+, redis
+, selenium
+, tblib
+, tzdata
+}:
+
+buildPythonPackage rec {
+  pname = "Django";
+  version = "4.0.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.8";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-EQ+1j7Euylngcq1Z/ELXcc1kLdei8kFlgqqdp6jvlUo=";
+  };
+
+  patches = lib.optional withGdal
+    (substituteAll {
+      src = ./django_4_set_geos_gdal_lib.patch;
+      geos = geos;
+      gdal = gdal;
+      extension = stdenv.hostPlatform.extensions.sharedLibrary;
+    });
+
+  propagatedBuildInputs = [
+    asgiref
+    sqlparse
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    backports-zoneinfo
+  ];
+
+  # Fails to import asgiref in ~200 tests
+  # ModuleNotFoundError: No module named 'asgiref'
+  doCheck = false;
+
+  checkInputs = [
+    aiosmtpd
+    argon2_cffi
+    asgiref
+    bcrypt
+    docutils
+    geoip2
+    jinja2
+    memcached
+    numpy
+    pillow
+    pylibmc
+    pymemcache
+    pytz
+    pywatchman
+    pyyaml
+    redis
+    selenium
+    tblib
+    tzdata
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+
+    ${python.interpreter} tests/runtests.py
+
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "A high-level Python Web framework that encourages rapid development and clean, pragmatic design.";
+    homepage = "https://www.djangoproject.com";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ hexa ];
+  };
+}
diff --git a/pkgs/development/python-modules/django/django_4_set_geos_gdal_lib.patch b/pkgs/development/python-modules/django/django_4_set_geos_gdal_lib.patch
new file mode 100644
index 00000000000..da73a93e8f2
--- /dev/null
+++ b/pkgs/development/python-modules/django/django_4_set_geos_gdal_lib.patch
@@ -0,0 +1,26 @@
+diff --git a/django/contrib/gis/gdal/libgdal.py b/django/contrib/gis/gdal/libgdal.py
+index 05b5732..91fafee 100644
+--- a/django/contrib/gis/gdal/libgdal.py
++++ b/django/contrib/gis/gdal/libgdal.py
+@@ -14,7 +14,7 @@ try:
+     from django.conf import settings
+     lib_path = settings.GDAL_LIBRARY_PATH
+ except (AttributeError, ImportError, ImproperlyConfigured, OSError):
+-    lib_path = None
++    lib_path = ""@gdal@/lib/libgdal@extension@"
+ 
+ if lib_path:
+     lib_names = None
+diff --git a/django/contrib/gis/geos/libgeos.py b/django/contrib/gis/geos/libgeos.py
+index 2cdb5d3..fac2d04 100644
+--- a/django/contrib/gis/geos/libgeos.py
++++ b/django/contrib/gis/geos/libgeos.py
+@@ -24,7 +24,7 @@ def load_geos():
+         from django.conf import settings
+         lib_path = settings.GEOS_LIBRARY_PATH
+     except (AttributeError, ImportError, ImproperlyConfigured, OSError):
+-        lib_path = None
++        lib_path = "@geos@/lib/libgeos_c@extension@"
+ 
+     # Setting the appropriate names for the GEOS-C library.
+     if lib_path:
diff --git a/pkgs/development/python-modules/djangoql/default.nix b/pkgs/development/python-modules/djangoql/default.nix
index facfc2fafcd..f0550a296aa 100644
--- a/pkgs/development/python-modules/djangoql/default.nix
+++ b/pkgs/development/python-modules/djangoql/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "djangoql";
-  version = "0.16.0";
+  version = "0.17.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "23cea52eca76e605fa2f34b13ae8d2bf60240737ee9ed3f60c667a4f64d28adf";
+    sha256 = "sha256-TwU9ASjij0EpJuLakCc19L3Lq1wI1Dvk3+/XR/yi6W4=";
   };
 
   propagatedBuildInputs = [ ply ];
diff --git a/pkgs/development/python-modules/dnspython/default.nix b/pkgs/development/python-modules/dnspython/default.nix
index e4a319b31a8..40b3d7a36de 100644
--- a/pkgs/development/python-modules/dnspython/default.nix
+++ b/pkgs/development/python-modules/dnspython/default.nix
@@ -2,26 +2,40 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+, setuptools-scm
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "dnspython";
-  version = "2.1.0";
+  version = "2.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    extension = "zip";
-    sha256 = "e4a87f0b573201a0f3727fa18a516b055fd1107e0e5477cded4a2de497df1dd4";
+    extension = "tar.gz";
+    sha256 = "1mi6l2n766y1gic3x1swp2jk2nr7wbkb191qinwhddnh6bh534z7";
   };
 
-  # needs networking for some tests
-  doCheck = false;
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # dns.exception.SyntaxError: protocol not found
+    "test_misc_good_WKS_text"
+  ];
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   pythonImportsCheck = [ "dns" ];
 
   meta = with lib; {
     description = "A DNS toolkit for Python";
     homepage = "https://www.dnspython.org";
     license = with licenses; [ isc ];
+    maintainers = with maintainers; [ gador ];
   };
 }
diff --git a/pkgs/development/python-modules/doc8/default.nix b/pkgs/development/python-modules/doc8/default.nix
index dbfb857614e..61c4ca6890a 100644
--- a/pkgs/development/python-modules/doc8/default.nix
+++ b/pkgs/development/python-modules/doc8/default.nix
@@ -8,6 +8,7 @@
 , pytestCheckHook
 , pythonOlder
 , restructuredtext_lint
+, setuptools-scm
 , stevedore
 }:
 
@@ -23,6 +24,10 @@ buildPythonPackage rec {
     sha256 = "376e50f4e70a1ae935416ddfcf93db35dd5d4cc0e557f2ec72f0667d0ace4548";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   buildInputs = [
     pbr
   ];
diff --git a/pkgs/development/python-modules/doit/default.nix b/pkgs/development/python-modules/doit/default.nix
index c1d26bac0f4..c7c66fceaa7 100644
--- a/pkgs/development/python-modules/doit/default.nix
+++ b/pkgs/development/python-modules/doit/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "doit";
-  version = "0.34.1";
+  version = "0.34.2";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "49467c1bf8850a292e5fd0254ee1b219f6fd8202a0d3d4bf33af3c2dfb58d688";
+    sha256 = "sha256-OIER+Kals7RGIM7rKH0FhZJ8hdDW0/h5DTT7tFwM9sM=";
   };
 
   propagatedBuildInputs = [ cloudpickle ]
diff --git a/pkgs/development/python-modules/dragonfly/default.nix b/pkgs/development/python-modules/dragonfly/default.nix
index fb3feaae63e..82e1a645c85 100644
--- a/pkgs/development/python-modules/dragonfly/default.nix
+++ b/pkgs/development/python-modules/dragonfly/default.nix
@@ -5,7 +5,7 @@
 , packaging
 , pynput
 , regex
-, lark-parser
+, lark
 , enum34
 , pyperclip
 , six
@@ -34,7 +34,7 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    substituteInPlace setup.py --replace 'lark-parser == 0.8.*' 'lark-parser'
+    substituteInPlace setup.py --replace 'lark-parser == 0.8.*' 'lark'
     substituteInPlace dragonfly/actions/keyboard/_x11_xdotool.py \
       --replace 'xdotool = "xdotool"'${" "}'xdotool = "${xdotool}/bin/xdotool"'
     substituteInPlace dragonfly/windows/x11_window.py \
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     packaging
     pynput
     regex
-    lark-parser
+    lark
     enum34
     pyperclip
     six
diff --git a/pkgs/development/python-modules/drms/default.nix b/pkgs/development/python-modules/drms/default.nix
index 1bc5d380b08..a081a7445c4 100644
--- a/pkgs/development/python-modules/drms/default.nix
+++ b/pkgs/development/python-modules/drms/default.nix
@@ -8,6 +8,7 @@
 , pytestCheckHook
 , pytest-doctestplus
 , pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -21,6 +22,10 @@ buildPythonPackage rec {
     sha256 = "sha256-Id8rPK8qq71gHn5DKnEi7Lp081GFbcFtGU+v89Vlt9o=";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     numpy
     pandas
diff --git a/pkgs/development/python-modules/dsinternals/default.nix b/pkgs/development/python-modules/dsinternals/default.nix
new file mode 100644
index 00000000000..53d5e5acc9f
--- /dev/null
+++ b/pkgs/development/python-modules/dsinternals/default.nix
@@ -0,0 +1,47 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pycryptodomex
+, pyopenssl
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "dsinternals";
+  version = "1.2.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "p0dalirius";
+    repo = "pydsinternals";
+    rev = version;
+    hash = "sha256-C1ar9c4F4WI5ICX7PJe8FzVwK8bxZds+kMBpttEp9Ko=";
+  };
+
+  propagatedBuildInputs = [
+    pyopenssl
+    pycryptodomex
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "dsinternals"
+  ];
+
+  pytestFlagsArray = [
+    "tests/*.py"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with Windows Active Directory";
+    homepage = "https://github.com/p0dalirius/pydsinternals";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/dsmr-parser/default.nix b/pkgs/development/python-modules/dsmr-parser/default.nix
index b666e4c210f..e8a94fb5e85 100644
--- a/pkgs/development/python-modules/dsmr-parser/default.nix
+++ b/pkgs/development/python-modules/dsmr-parser/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "dsmr-parser";
-  version = "0.31";
+  version = "0.32";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "ndokter";
     repo = "dsmr_parser";
     rev = "v${version}";
-    sha256 = "sha256-A+fyAAV62Dg28RDiivKEjrC1bCXzkuIvpATR+oUytRU=";
+    sha256 = "0hi69gdcmsp5yaspsfbpc3x76iybg20cylxyaxm131fpd5wwan9l";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/dufte/default.nix b/pkgs/development/python-modules/dufte/default.nix
index 00628037681..92081e08067 100644
--- a/pkgs/development/python-modules/dufte/default.nix
+++ b/pkgs/development/python-modules/dufte/default.nix
@@ -16,8 +16,8 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "nschloe";
     repo = pname;
-    rev = version;
-    sha256 = "0ccsmpj160xj6w503a948aw8icj55mw9414xnmijmmjvlwhm0p48";
+    rev = "v${version}";
+    hash = "sha256:0ccsmpj160xj6w503a948aw8icj55mw9414xnmijmmjvlwhm0p48";
   };
   format = "pyproject";
 
diff --git a/pkgs/development/python-modules/dynalite-devices/default.nix b/pkgs/development/python-modules/dynalite-devices/default.nix
new file mode 100644
index 00000000000..dafbcfc2f5c
--- /dev/null
+++ b/pkgs/development/python-modules/dynalite-devices/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, asynctest
+, pytest-asyncio
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "dynalite-devices";
+  version = "0.1.46";
+
+  src = fetchFromGitHub {
+    owner = "ziv1234";
+    repo = "python-dynalite-devices";
+    rev = "v0.46"; # https://github.com/ziv1234/python-dynalite-devices/issues/2
+    hash = "sha256-Fju2JpFkQBCbOln7r3L+crv82TI2SkdPJ1oaK7PEifo=";
+  };
+
+  postPatch = ''
+    sed -i '/^addopts/d' setup.cfg
+  '';
+
+  checkInputs = [
+    asynctest
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "dynalite_devices_lib" ];
+
+  meta = with lib; {
+    description = "An unofficial Dynalite DyNET interface creating devices";
+    homepage = "https://github.com/ziv1234/python-dynalite-devices";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/eiswarnung/default.nix b/pkgs/development/python-modules/eiswarnung/default.nix
new file mode 100644
index 00000000000..87ff2a4287a
--- /dev/null
+++ b/pkgs/development/python-modules/eiswarnung/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "eiswarnung";
+  version = "1.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "klaasnicolaas";
+    repo = "python-eiswarnung";
+    rev = "v${version}";
+    hash = "sha256-Cw/xRypErasdrOZJ/0dWLl4eYH01vBI9mYm98teIdRc=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"' \
+      --replace 'addopts = "--cov"' ""
+  '';
+
+  pythonImportsCheck = [
+    "eiswarnung"
+  ];
+
+  meta = with lib; {
+    description = "Module for getting Eiswarning API forecasts";
+    homepage = "https://github.com/klaasnicolaas/python-eiswarnung";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/elasticsearch/default.nix b/pkgs/development/python-modules/elasticsearch/default.nix
index 601c5b68864..73a3882927c 100644
--- a/pkgs/development/python-modules/elasticsearch/default.nix
+++ b/pkgs/development/python-modules/elasticsearch/default.nix
@@ -12,11 +12,11 @@ buildPythonPackage (rec {
   # there's a clear path forward. See
   # https://github.com/elastic/elasticsearch-py/issues/1639 for more
   # info.
-  version = "7.16.2";
+  version = "7.16.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "23ac0afb4398c48990e359ac73ab6963741bd05321345299c62d9d23e209eee2";
+    sha256 = "8adf8bc351ed55df7296be1009d38a1c999c0abc7d8700fa88533f1ad6087c5e";
   };
 
   # Check is disabled because running them destroy the content of the local cluster!
diff --git a/pkgs/development/python-modules/empty-files/default.nix b/pkgs/development/python-modules/empty-files/default.nix
new file mode 100644
index 00000000000..b6c31519efc
--- /dev/null
+++ b/pkgs/development/python-modules/empty-files/default.nix
@@ -0,0 +1,33 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "empty-files";
+  version = "0.0.3";
+
+  src = fetchFromGitHub {
+    owner = "approvals";
+    repo = "EmptyFiles.Python";
+    rev = "v${version}";
+    sha256 = "sha256-K4rlVO1X1AWxYI3EqLsyQ5/Ist/jlwFrmOM4aMojtKU=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  # cyclic dependency with approvaltests
+  doCheck = false;
+
+  pythonImportsCheck = [ "empty_files" ];
+
+  meta = with lib; {
+    description = "Null Object pattern for files";
+    homepage = "https://github.com/approvals/EmptyFiles.Python";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/emv/default.nix b/pkgs/development/python-modules/emv/default.nix
index 62dcc44ca59..a4834a84656 100644
--- a/pkgs/development/python-modules/emv/default.nix
+++ b/pkgs/development/python-modules/emv/default.nix
@@ -40,6 +40,7 @@ buildPythonPackage rec {
       --replace '"argparse==1.4.0",' "" \
       --replace "click==7.1.2" "click" \
       --replace "pyscard==2.0.0" "pyscard" \
+      --replace "pycountry==20.7.3" "pycountry" \
       --replace "terminaltables==3.1.0" "terminaltables"
   '';
 
diff --git a/pkgs/development/python-modules/enaml/default.nix b/pkgs/development/python-modules/enaml/default.nix
index cc162317734..9e6a910b2ba 100644
--- a/pkgs/development/python-modules/enaml/default.nix
+++ b/pkgs/development/python-modules/enaml/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "enaml";
-  version = "0.14.0";
+  version = "0.14.1";
 
   src = fetchFromGitHub {
     owner = "nucleic";
     repo = pname;
     rev = version;
-    sha256 = "sha256-u+T3jD/rulfWunWkCa02XKXYvDaB9oAnohgqrJXgtJw=";
+    sha256 = "sha256-QfI7cwl2c5HOlFNNdG+oOv48X9jJZnZNU/kWgutWe6k=";
   };
 
   # qt bindings cannot be found during tests
diff --git a/pkgs/development/python-modules/enlighten/default.nix b/pkgs/development/python-modules/enlighten/default.nix
index 8f58720bd26..b6d31ddaf94 100644
--- a/pkgs/development/python-modules/enlighten/default.nix
+++ b/pkgs/development/python-modules/enlighten/default.nix
@@ -5,28 +5,41 @@
 , blessed
 , prefixed
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "enlighten";
-  version = "1.10.1";
+  version = "1.10.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3391916586364aedced5d6926482b48745e4948f822de096d32258ba238ea984";
+    hash = "sha256-eluDzQ9NCV5Z2Axkjrtff/ygzYvPeuZjmCjuGtAAYyo=";
   };
 
   propagatedBuildInputs = [
     blessed
     prefixed
   ];
-  checkInputs = [ pytestCheckHook ];
 
-  pythonImportsCheck = [ "enlighten" ];
-  disabledTests =
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "enlighten"
+  ];
+
+  disabledTests = [
+    # AssertionError: <_io.TextIOWrapper name='<stdout>' mode='w' encoding='utf-8'> is not...
+    "test_init"
+  ] ++ lib.optional stdenv.isDarwin [
     # https://github.com/Rockhopper-Technologies/enlighten/issues/44
-    lib.optional stdenv.isDarwin "test_autorefresh"
-    ;
+    "test_autorefresh"
+  ];
 
   meta = with lib; {
     description = "Enlighten Progress Bar for Python Console Apps";
diff --git a/pkgs/development/python-modules/eth-typing/default.nix b/pkgs/development/python-modules/eth-typing/default.nix
index 66ff1ddc10e..c98a0fc5152 100644
--- a/pkgs/development/python-modules/eth-typing/default.nix
+++ b/pkgs/development/python-modules/eth-typing/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonPackage rec {
   pname = "eth-typing";
-  version = "2.2.2";
+  version = "3.0.0";
 
   # Tests are missing from the PyPI source tarball so let's use GitHub
   # https://github.com/ethereum/eth-typing/issues/8
@@ -10,7 +10,7 @@ buildPythonPackage rec {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rkvkacxla4y2blkkfdsq1ywnyqsvg8pwhvadznbag1bfzja4xhv";
+    sha256 = "sha256-9rrnDFPWAmrUkr2mVTVi/8DTJdg4hzGaU0UbpwG5mtY=";
   };
 
   # setuptools-markdown uses pypandoc which is broken at the moment
diff --git a/pkgs/development/python-modules/eth-utils/default.nix b/pkgs/development/python-modules/eth-utils/default.nix
index 172647f0da7..9b26fb7024c 100644
--- a/pkgs/development/python-modules/eth-utils/default.nix
+++ b/pkgs/development/python-modules/eth-utils/default.nix
@@ -3,7 +3,7 @@
 
 buildPythonPackage rec {
   pname = "eth-utils";
-  version = "1.10.0";
+  version = "2.0.0";
 
   # Tests are missing from the PyPI source tarball so let's use GitHub
   # https://github.com/ethereum/eth-utils/issues/130
@@ -11,7 +11,7 @@ buildPythonPackage rec {
     owner = "ethereum";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-sq3H4HmUFUipqVYleZxWLG1gBsQEoNwcZAXiKckacek=";
+    sha256 = "sha256-E2vUROc2FcAv00k50YpdxaaYIRDk1yGSPB8cHHw+7Yw=";
   };
 
   checkInputs = [ pytestCheckHook hypothesis ];
diff --git a/pkgs/development/python-modules/etuples/default.nix b/pkgs/development/python-modules/etuples/default.nix
new file mode 100644
index 00000000000..bfb4552732b
--- /dev/null
+++ b/pkgs/development/python-modules/etuples/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, cons
+, multipledispatch
+, pytestCheckHook
+, pytest-html
+}:
+
+buildPythonPackage rec {
+  pname = "etuples";
+  version = "0.3.4";
+
+  src = fetchFromGitHub {
+    owner = "pythological";
+    repo = "etuples";
+    rev = "35d760ceb64ec318f302a6e4d3a4a80feda97a9e";
+    sha256 = "sha256-CXD8MhsdWYAcG5WDVTT/A2HDtiO1xfQbrwlYVnxXpBU=";
+  };
+
+  propagatedBuildInputs = [
+    cons
+    multipledispatch
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-html
+  ];
+
+  pytestFlagsArray = [
+    "--html=testing-report.html"
+    "--self-contained-html"
+  ];
+
+  pythonImportsCheck = [ "etuples" ];
+
+  meta = with lib; {
+    description = "Python S-expression emulation using tuple-like objects";
+    homepage = "https://github.com/pythological/etuples";
+    changelog = "https://github.com/pythological/etuples/releases";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ Etjean ];
+  };
+}
diff --git a/pkgs/development/python-modules/ev3dev2/default.nix b/pkgs/development/python-modules/ev3dev2/default.nix
index f6233db68db..5afbb7da655 100644
--- a/pkgs/development/python-modules/ev3dev2/default.nix
+++ b/pkgs/development/python-modules/ev3dev2/default.nix
@@ -32,6 +32,6 @@ buildPythonPackage rec {
     description = "Python language bindings for ev3dev";
     homepage = "https://github.com/ev3dev/ev3dev-lang-python";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/python-modules/faker/default.nix b/pkgs/development/python-modules/faker/default.nix
index 28caec986dc..048edf64d38 100644
--- a/pkgs/development/python-modules/faker/default.nix
+++ b/pkgs/development/python-modules/faker/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "faker";
-  version = "9.9.0";
+  version = "11.3.0";
 
   src = fetchPypi {
     pname = "Faker";
     inherit version;
-    hash = "sha256-cidwOj2zbtgkEQhUdUREX0WqRdsvP2PohcubVpk4Pw4=";
+    hash = "sha256-rb5WfmTaahCX/qyraZAA4a0W4Xplkqjwrh7gt/vxmIc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fakeredis/default.nix b/pkgs/development/python-modules/fakeredis/default.nix
index 451a993c22f..3127ac0dcdb 100644
--- a/pkgs/development/python-modules/fakeredis/default.nix
+++ b/pkgs/development/python-modules/fakeredis/default.nix
@@ -2,7 +2,7 @@
 , aioredis
 , async_generator
 , buildPythonPackage
-, fetchFromGitHub
+, fetchPypi
 , fetchpatch
 , hypothesis
 , lupa
@@ -18,17 +18,28 @@
 buildPythonPackage rec {
   pname = "fakeredis";
   version = "1.7.0";
-  format = "setuptools";
+
+  format = "pyproject";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchFromGitHub {
-    owner = "jamesls";
-    repo = pname;
-    rev = version;
-    hash = "sha256-P6PUg9SY0Qshlvj+iV1xdrzVLJ9JXUV4cGHUynKO3m0=";
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-yb0S5DAzbL0+GJ+uDpHrmZl7k+dtv91u1n+jUtxoTHE=";
   };
 
+  patches = [
+    (fetchpatch {
+      # redis 4.1.0 compatibility
+      # https://github.com/jamesls/fakeredis/pull/324
+      url = "https://github.com/jamesls/fakeredis/commit/8ef8dc6dacc9baf571d66a25ffbf0fadd7c70f78.patch";
+      sha256 = "sha256:03xlqmwq8nkzisrjk7y51j2jd6qdin8nbj5n9hc4wjabbvlgx4qr";
+      excludes = [
+        "setup.cfg"
+      ];
+    })
+  ];
+
   propagatedBuildInputs = [
     aioredis
     lupa
@@ -45,24 +56,15 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  patches = [
-    # Support for redis <= 4.1.0, https://github.com/jamesls/fakeredis/pull/324
-    (fetchpatch {
-      name = "support-redis-4.1.0.patch";
-      url = "https://github.com/jamesls/fakeredis/commit/8ef8dc6dacc9baf571d66a25ffbf0fadd7c70f78.patch";
-      sha256 = "sha256-4DrF/5WEWQWlJZtAi4qobMDyRAAcO/weHIaK9waN00k=";
-    })
-  ];
-
-  disabledTestPaths = [
-    # AttributeError: 'AsyncGenerator' object has no attribute XXXX
-    "test/test_aioredis2.py"
-  ];
-
   pythonImportsCheck = [
     "fakeredis"
   ];
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "redis<4.1.0" "redis"
+  '';
+
   meta = with lib; {
     description = "Fake implementation of Redis API";
     homepage = "https://github.com/jamesls/fakeredis";
diff --git a/pkgs/development/python-modules/fastapi/default.nix b/pkgs/development/python-modules/fastapi/default.nix
index ec14e956c3f..b8cce5808cc 100644
--- a/pkgs/development/python-modules/fastapi/default.nix
+++ b/pkgs/development/python-modules/fastapi/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "fastapi";
-  version = "0.73.0";
+  version = "0.74.0";
   format = "flit";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "tiangolo";
     repo = pname;
     rev = version;
-    sha256 = "0v3w9b8107b3g2rgy5y58f0p64inhwl1j9cybp627myypwpqx4b7";
+    sha256 = "sha256-pA+oaZpyRDeQ+b9jrzpYdm3LZQ5QWNjvfFRtUe8eDSo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fastcore/default.nix b/pkgs/development/python-modules/fastcore/default.nix
index 4783b8d33c7..9d0ce4f2ec7 100644
--- a/pkgs/development/python-modules/fastcore/default.nix
+++ b/pkgs/development/python-modules/fastcore/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "fastcore";
-  version = "1.3.27";
+  version = "1.3.29";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "fastai";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ogCNDh18FHP9KY0q0BIbsjPH5vGGioGh4FFUUb3c3Jc=";
+    sha256 = "sha256-V5mJJqWsCy8Wes8VzEkCKeb2/1ahvtbUO80R8IFLvNU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/fastnumbers/default.nix b/pkgs/development/python-modules/fastnumbers/default.nix
index 12c3175424d..779949b38fd 100644
--- a/pkgs/development/python-modules/fastnumbers/default.nix
+++ b/pkgs/development/python-modules/fastnumbers/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fastnumbers
 , fetchFromGitHub
@@ -26,6 +27,10 @@ buildPythonPackage rec {
     typing-extensions
   ];
 
+  # Tests fail due to numeric precision differences on ARM
+  # See https://github.com/SethMMorton/fastnumbers/issues/28
+  doCheck = !(stdenv.isAarch64 || stdenv.isAarch32);
+
   checkInputs = [
     hypothesis
     pytestCheckHook
diff --git a/pkgs/development/python-modules/fastprogress/default.nix b/pkgs/development/python-modules/fastprogress/default.nix
index 2164bc93f62..cd1b4e3bbac 100644
--- a/pkgs/development/python-modules/fastprogress/default.nix
+++ b/pkgs/development/python-modules/fastprogress/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "fastprogress";
-  version = "1.0.0";
+  version = "1.0.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zhv37q6jkqd1pfhlkd4yzrc3dg83vyksgzf32mjlhd5sb0qmql9";
+    sha256 = "sha256-lga6RCUFo6RFgdY97dzlv/HfF6y9w3JS98PxvlLB0kM=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/feedgenerator/default.nix b/pkgs/development/python-modules/feedgenerator/default.nix
index c1e988ca769..53f2c15401e 100644
--- a/pkgs/development/python-modules/feedgenerator/default.nix
+++ b/pkgs/development/python-modules/feedgenerator/default.nix
@@ -10,14 +10,18 @@
 
 buildPythonPackage rec {
   pname = "feedgenerator";
-  version = "1.9.2";
+  version = "2.0.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-sG1pQej9aiyecXkQeehsvno3iMciRKzAbwWTtJzaN5s=";
+    sha256 = "6836d456b8b0edbc5b6d3a42d1be852cebd43d2f28af4ff51789eb295f1860e2";
   };
 
+  postPatch = ''
+    sed -i '/cov/d' setup.cfg
+  '';
+
   buildInputs = [
     glibcLocales
   ];
diff --git a/pkgs/development/python-modules/ffcv/default.nix b/pkgs/development/python-modules/ffcv/default.nix
new file mode 100644
index 00000000000..2aee132e294
--- /dev/null
+++ b/pkgs/development/python-modules/ffcv/default.nix
@@ -0,0 +1,53 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, libjpeg
+, numba
+, opencv4
+, pandas
+, pkgconfig
+, pytorch-pfn-extras
+, terminaltables
+, tqdm
+}:
+
+buildPythonPackage rec {
+  pname = "ffcv";
+  version = "0.0.3";
+
+  src = fetchFromGitHub {
+    owner = "libffcv";
+    repo = pname;
+    # See https://github.com/libffcv/ffcv/issues/158.
+    rev = "131d56235eca3f1497bb84eeaec82c3434ef25d8";
+    sha256 = "0f7q2x48lknnf98mqaa35my05qwvdgv0h8l9lpagdw6yhx0a6p2x";
+  };
+
+  # See https://github.com/libffcv/ffcv/issues/159.
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'assertpy'," "" \
+      --replace "'fastargs'," "" \
+      --replace "'imgcat'," "" \
+      --replace "'matplotlib'," "" \
+      --replace "'psutil'," "" \
+      --replace "'sklearn'," "" \
+      --replace "'webdataset'," ""
+  '';
+
+  buildInputs = [ libjpeg pkgconfig ];
+  propagatedBuildInputs = [ opencv4 numba pandas pytorch-pfn-extras terminaltables tqdm ];
+
+  # `ffcv._libffcv*.so` cannot be loaded in the nix build environment for some
+  # reason. See https://github.com/NixOS/nixpkgs/pull/160441#issuecomment-1045204722.
+  doCheck = false;
+
+  pythonImportsCheck = [ "ffcv" ];
+
+  meta = with lib; {
+    description = "FFCV: Fast Forward Computer Vision";
+    homepage = "https://ffcv.io";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/fiblary3-fork/default.nix b/pkgs/development/python-modules/fiblary3-fork/default.nix
new file mode 100644
index 00000000000..e2c53c3e417
--- /dev/null
+++ b/pkgs/development/python-modules/fiblary3-fork/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchPypi
+, fixtures
+, jsonpatch
+, netaddr
+, prettytable
+, python-dateutil
+, pytestCheckHook
+, requests
+, requests-mock
+, six
+, sphinx
+, testtools
+}:
+
+buildPythonPackage rec {
+  pname = "fiblary3-fork";
+  version = "0.1.12";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "001wqh7gx2dv3sf7a5xsbppz9r88f5qwrp05jzjsjcm6cbcvmsz0";
+  };
+
+  propagatedBuildInputs = [
+    jsonpatch
+    netaddr
+    prettytable
+    python-dateutil
+    requests
+    six
+  ];
+
+  checkInputs = [
+    fixtures
+    pytestCheckHook
+    requests-mock
+    testtools
+  ];
+
+  pythonImportsCheck = [ "fiblary3" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/graham33/fiblary";
+    description = "Fibaro Home Center API Python Library";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ graham33 ];
+  };
+}
diff --git a/pkgs/development/python-modules/filelock/default.nix b/pkgs/development/python-modules/filelock/default.nix
index d5ccc117bef..8eaed65ca73 100644
--- a/pkgs/development/python-modules/filelock/default.nix
+++ b/pkgs/development/python-modules/filelock/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "filelock";
-  version = "3.3.0";
+  version = "3.4.2";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c7eab13dc442dc249e95158bcc12dec724465919bdc9831fdbf0660f03d1785";
+    sha256 = "38b4f4c989f9d06d44524df1b24bd19e167d851f19b50bf3e3559952dddc5b80";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/findimports/default.nix b/pkgs/development/python-modules/findimports/default.nix
new file mode 100644
index 00000000000..44f1a29a8f2
--- /dev/null
+++ b/pkgs/development/python-modules/findimports/default.nix
@@ -0,0 +1,38 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, python
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "findimports";
+  version = "2.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
+
+  src = fetchFromGitHub {
+    owner = "mgedmin";
+    repo = pname;
+    rev = version;
+    hash = "sha256-p13GVDXDOzOiTnRgtF7UxN1vwZRMa7wVEXJQrFQV7RU=";
+  };
+
+  pythonImportsCheck = [
+    "findimports"
+  ];
+
+  checkPhase = ''
+    runHook preCheck
+    ${python.interpreter} testsuite.py
+    runHook postCheck
+  '';
+
+  meta = with lib; {
+    description = "Module for the analysis of Python import statements";
+    homepage = "https://github.com/mgedmin/findimports";
+    license = with licenses; [ gpl2Only /* or */ gpl3Only ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/fiona/default.nix b/pkgs/development/python-modules/fiona/default.nix
index 0c1a3bd2c65..3cd8eef9327 100644
--- a/pkgs/development/python-modules/fiona/default.nix
+++ b/pkgs/development/python-modules/fiona/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "fiona";
-  version = "1.8.20";
+  version = "1.8.21";
 
   src = fetchPypi {
     pname = "Fiona";
     inherit version;
-    sha256 = "a70502d2857b82f749c09cb0dea3726787747933a2a1599b5ab787d74e3c143b";
+    sha256 = "sha256-Og7coqegcNtAXXEYchSkPSMzpXtAl1RKP8woIGali/w=";
   };
 
   CXXFLAGS = lib.optionalString stdenv.cc.isClang "-std=c++11";
@@ -49,14 +49,6 @@ buildPythonPackage rec {
   disabledTests = [
     # Some tests access network, others test packaging
     "http" "https" "wheel"
-    # Assert not true
-    "test_no_append_driver_cannot_append"
-  ] ++ lib.optionals stdenv.isAarch64 [
-    # https://github.com/Toblerity/Fiona/issues/1012 the existence of this
-    # as a bug hasn't been challenged and other distributors seem to also
-    # be skipping these tests on aarch64, so this is not unique to nixpkgs.
-    "test_write_or_driver_error"
-    "test_append_or_driver_error"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/flake8-bugbear/default.nix b/pkgs/development/python-modules/flake8-bugbear/default.nix
new file mode 100644
index 00000000000..083abcaf6b8
--- /dev/null
+++ b/pkgs/development/python-modules/flake8-bugbear/default.nix
@@ -0,0 +1,44 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, attrs
+, flake8
+, pytestCheckHook
+, hypothesis
+, hypothesmith
+}:
+
+buildPythonPackage rec {
+  pname = "flake8-bugbear";
+  version = "22.1.11";
+
+  src = fetchFromGitHub {
+    owner = "PyCQA";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-sTg69Hgvi77wtLWEH4JtcIAMFk7exr5CBXmyS0nE5Vc=";
+  };
+
+  propagatedBuildInputs = [
+    attrs
+    flake8
+  ];
+
+  checkInputs = [
+    flake8
+    pytestCheckHook
+    hypothesis
+    hypothesmith
+  ];
+
+  meta = with lib; {
+    homepage = "https://github.com/PyCQA/flake8-bugbear";
+    changelog = "https://github.com/PyCQA/flake8-bugbear/blob/${version}/README.rst#change-log";
+    description = ''
+      A plugin for flake8 finding likely bugs and design problems in your
+      program.
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ newam ];
+  };
+}
diff --git a/pkgs/development/python-modules/flask-appbuilder/default.nix b/pkgs/development/python-modules/flask-appbuilder/default.nix
index 8c7ae7d51b2..0129c987723 100644
--- a/pkgs/development/python-modules/flask-appbuilder/default.nix
+++ b/pkgs/development/python-modules/flask-appbuilder/default.nix
@@ -18,6 +18,7 @@
 , marshmallow-enum
 , marshmallow-sqlalchemy
 , python-dateutil
+, pythonOlder
 , prison
 , pyjwt
 , pyyaml
@@ -26,12 +27,15 @@
 
 buildPythonPackage rec {
   pname = "flask-appbuilder";
-  version = "3.4.1";
+  version = "3.4.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "Flask-AppBuilder";
     inherit version;
-    sha256 = "c0830935077c4d06d57237ca4791fcabfc682fe3e315c1c9444a2bd6f94e7514";
+    sha256 = "sha256-uZzuvNusqMzAS/vmg3CuZ+D442J4LbFwsBboVIx/srE=";
   };
 
   # See here: https://github.com/dpgaspar/Flask-AppBuilder/commit/7097a7b133f27c78d2b54d2a46e4a4c24478a066.patch
@@ -83,7 +87,7 @@ buildPythonPackage rec {
       --replace "Flask-Babel>=1, <2" "Flask-Babel >=1, <3" \
       --replace "Flask-WTF>=0.14.2, <0.15.0" "Flask-WTF" \
       --replace "WTForms<3.0.0" "WTForms" \
-      --replace "marshmallow-sqlalchemy>=0.22.0, <0.24.0" "marshmallow-sqlalchemy" \
+      --replace "marshmallow-sqlalchemy>=0.22.0, <0.27.0" "marshmallow-sqlalchemy" \
       --replace "Flask-JWT-Extended>=3.18, <4" "Flask-JWT-Extended>=4.1.0" \
       --replace "PyJWT>=1.7.1, <2.0.0" "PyJWT>=2.0.1" \
       --replace "prison>=0.2.1, <1.0.0" "prison" \
@@ -93,10 +97,12 @@ buildPythonPackage rec {
   # Majority of tests require network access or mongo
   doCheck = false;
 
-  pythonImportsCheck = [ "flask_appbuilder" ];
+  pythonImportsCheck = [
+    "flask_appbuilder"
+  ];
 
   meta = with lib; {
-    description = "Simple and rapid application development framework, built on top of Flask";
+    description = "Application development framework, built on top of Flask";
     homepage = "https://github.com/dpgaspar/flask-appbuilder/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ costrouc ];
diff --git a/pkgs/development/python-modules/flask/default.nix b/pkgs/development/python-modules/flask/default.nix
index 2fe71c2d6db..cf1079166b0 100644
--- a/pkgs/development/python-modules/flask/default.nix
+++ b/pkgs/development/python-modules/flask/default.nix
@@ -7,6 +7,7 @@
 , jinja2
 , python-dotenv
 , werkzeug
+, setuptools
 , pytestCheckHook
 }:
 
@@ -26,6 +27,10 @@ buildPythonPackage rec {
     itsdangerous
     jinja2
     werkzeug
+
+    # required for CLI subcommand autodiscovery
+    # see: https://github.com/pallets/flask/blob/fdac8a5404e3e3a316568107a293f134707c75bb/src/flask/cli.py#L498
+    setuptools
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/flexmock/default.nix b/pkgs/development/python-modules/flexmock/default.nix
index ae52c31b577..434f9409dbb 100644
--- a/pkgs/development/python-modules/flexmock/default.nix
+++ b/pkgs/development/python-modules/flexmock/default.nix
@@ -1,26 +1,42 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, pytest
+, pytestCheckHook
+, pythonOlder
+, teamcity-messages
+, testtools
 }:
 
 buildPythonPackage rec {
   pname = "flexmock";
-  version = "0.11.1";
+  version = "0.11.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c51371767f968e1d2f505138de72b07704ecebc9b34e0b52ffdeeb510685c3f";
+    hash = "sha256-sf419qXzJUe1zTGhXAYNmrhj3Aiv8BjNc9x40bZR7dQ=";
   };
 
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    py.test
-  '';
+  checkInputs = [
+    pytestCheckHook
+    teamcity-messages
+    testtools
+  ];
+
+  disabledTests = [
+    "test_failed_test_case"
+  ];
+
+  pythonImportsCheck = [
+    "flexmock"
+  ];
 
   meta = with lib; {
-    description = "flexmock is a testing library for Python that makes it easy to create mocks,stubs and fakes.";
+    description = "Testing library that makes it easy to create mocks,stubs and fakes";
     homepage = "https://flexmock.readthedocs.org";
     license = licenses.bsdOriginal;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/flowlogs_reader/default.nix b/pkgs/development/python-modules/flowlogs_reader/default.nix
index 885c688225c..7045841245d 100644
--- a/pkgs/development/python-modules/flowlogs_reader/default.nix
+++ b/pkgs/development/python-modules/flowlogs_reader/default.nix
@@ -1,32 +1,48 @@
 { lib
-, buildPythonPackage
-, fetchPypi
-, isPy27
-, botocore
 , boto3
-, docutils
-, unittest2
-, mock
+, botocore
+, buildPythonPackage
+, fetchFromGitHub
+, parquet
+, pytestCheckHook
+, python-dateutil
+, pythonOlder
 }:
 
 buildPythonPackage rec {
-  pname = "flowlogs_reader";
-  version = "3.1.0";
-  disabled = isPy27;
+  pname = "flowlogs-reader";
+  version = "3.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "d99636423abc83bb4042d63edd56852ede9e2949cadcc3339eda8f3367826dd4";
+  src = fetchFromGitHub {
+    owner = "obsrvbl";
+    repo = pname;
+    # https://github.com/obsrvbl/flowlogs-reader/issues/57
+    rev = "fac4c6c63348ff67fd0a8f51d391ba7c9f59e5ed";
+    hash = "sha256-bGb2CLp33aIr0R/lBPWAF3CbtVTWpqmcvYgZ6bcARTc=";
   };
 
-  propagatedBuildInputs = [ botocore boto3 docutils ];
-  buildInputs = [ unittest2 mock ];
+  propagatedBuildInputs = [
+    botocore
+    boto3
+    parquet
+    python-dateutil
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "flowlogs_reader"
+  ];
 
   meta = with lib; {
     description = "Python library to make retrieving Amazon VPC Flow Logs from CloudWatch Logs a bit easier";
     homepage = "https://github.com/obsrvbl/flowlogs-reader";
-    maintainers = with maintainers; [ cransom ];
     license = licenses.asl20;
+    maintainers = with maintainers; [ cransom ];
   };
-
 }
diff --git a/pkgs/development/python-modules/flufl/i18n.nix b/pkgs/development/python-modules/flufl/i18n.nix
index 70b97a083d8..a670b4a9ba1 100644
--- a/pkgs/development/python-modules/flufl/i18n.nix
+++ b/pkgs/development/python-modules/flufl/i18n.nix
@@ -1,9 +1,14 @@
-{ buildPythonPackage, fetchPypi, atpublic }:
+{ buildPythonPackage, fetchPypi
+, atpublic
+, pdm-pep517
+}:
 
 buildPythonPackage rec {
   pname = "flufl.i18n";
-  version = "3.2";
+  version = "4.0";
+  format = "pyproject";
 
+  nativeBuildInputs = [ pdm-pep517 ];
   propagatedBuildInputs = [ atpublic ];
 
   doCheck = false;
@@ -12,6 +17,6 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-w1yPjqtmrbf9ZKFCCGAQUGbSs2y2VbM/+xSv6OIj7WI=";
+    sha256 = "sha256-MTq0djhFp/cEx0Ezt5EaMz3MzrAWjxZ0HQSkfFuasWY=";
   };
 }
diff --git a/pkgs/development/python-modules/flufl/lock.nix b/pkgs/development/python-modules/flufl/lock.nix
index c0f3ec60cf3..c2cc5723e4d 100644
--- a/pkgs/development/python-modules/flufl/lock.nix
+++ b/pkgs/development/python-modules/flufl/lock.nix
@@ -1,16 +1,19 @@
 { lib, buildPythonPackage, fetchPypi, pytestCheckHook
 , atpublic, psutil, pytest-cov, sybil
+, pdm-pep517
 }:
 
 buildPythonPackage rec {
   pname = "flufl.lock";
-  version = "6.0";
+  version = "7.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-/HSO5gnshktIOO9knb0RcPp53rDCE8L9URUb7mp/wkI=";
+    sha256 = "sha256-FBX30Z2N2WpYJC4O+5DOPLGHf7VFB0rYwcrky3GR/gE=";
   };
 
+  nativeBuildInputs = [ pdm-pep517 ];
   propagatedBuildInputs = [ atpublic psutil ];
   checkInputs = [ pytestCheckHook pytest-cov sybil ];
 
diff --git a/pkgs/development/python-modules/flux-led/default.nix b/pkgs/development/python-modules/flux-led/default.nix
index a35f95d9e8f..f07efbee7f3 100644
--- a/pkgs/development/python-modules/flux-led/default.nix
+++ b/pkgs/development/python-modules/flux-led/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "flux-led";
-  version = "0.28.21";
+  version = "0.28.27";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "Danielhiversen";
     repo = "flux_led";
     rev = version;
-    sha256 = "sha256-Vt+vlJlOznGShPUUQUt4zL9ht52TvNWbRRO9v9C0cqg=";
+    sha256 = "sha256-Z1NgQo4BrfdPAwoELzyjZphmuvPK/c09j/BvDOWaD9I=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/folium/default.nix b/pkgs/development/python-modules/folium/default.nix
index ff8c097d6ff..48b98a8e101 100644
--- a/pkgs/development/python-modules/folium/default.nix
+++ b/pkgs/development/python-modules/folium/default.nix
@@ -1,37 +1,60 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , pythonOlder
-, pytest
-, numpy
+, pytestCheckHook
+, branca
+, jinja2
 , nbconvert
+, numpy
 , pandas
-, mock
-, jinja2
-, branca
+, pillow
 , requests
+, selenium
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "folium";
   version = "0.12.1.post1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "e91e57d8298f3ccf4cce3c5e065bea6eb17033e3c5432b8a22214009c266b2ab";
+  disabled = pythonOlder "3.5";
+
+  src = fetchFromGitHub {
+    owner = "python-visualization";
+    repo = "folium";
+    rev = "v${version}";
+    sha256 = "sha256-4UseN/3ojZdDUopwZLpHZEBon1qDDvCWfdzxodi/BeA=";
   };
 
-  disabled = pythonOlder "3.5";
+  SETUPTOOLS_SCM_PRETEND_VERSION = "v${version}";
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  checkInputs = [ pytest nbconvert pandas mock ];
-  propagatedBuildInputs = [ jinja2 branca requests numpy ];
+  propagatedBuildInputs = [
+    branca
+    jinja2
+    numpy
+    requests
+  ];
 
-  # No tests in archive
-  doCheck = false;
+  checkInputs = [
+    nbconvert
+    pytestCheckHook
+    pandas
+    pillow
+    selenium
+  ];
 
-  checkPhase = ''
-    py.test
-  '';
+  disabledTests = [
+    # requires internet connection
+    "test_geojson"
+    "test_heat_map_with_weights"
+    "test_json_request"
+    "test_notebook"
+  ];
 
   meta = {
     description = "Make beautiful maps with Leaflet.js & Python";
diff --git a/pkgs/development/python-modules/forecast-solar/default.nix b/pkgs/development/python-modules/forecast-solar/default.nix
index 3f776c97065..6a77f57acf9 100644
--- a/pkgs/development/python-modules/forecast-solar/default.nix
+++ b/pkgs/development/python-modules/forecast-solar/default.nix
@@ -18,6 +18,8 @@ buildPythonPackage rec {
     sha256 = "sha256-UrLy+j8YDWuS9pciEDKb/+UoCcw54XWiIUAEYC72/W0=";
   };
 
+  PACKAGE_VERSION = version;
+
   propagatedBuildInputs = [
     aiodns
     aiohttp
diff --git a/pkgs/development/python-modules/frozendict/default.nix b/pkgs/development/python-modules/frozendict/default.nix
index 139a4c562bb..d7e12cc061d 100644
--- a/pkgs/development/python-modules/frozendict/default.nix
+++ b/pkgs/development/python-modules/frozendict/default.nix
@@ -8,21 +8,16 @@
 
 buildPythonPackage rec {
   pname = "frozendict";
-  version = "2.1.1";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "655b879217dd445a2023e16154cc231febef802b5c812d5c2e822280ad69e1dc";
+    sha256 = "1dd0bqhai4k3fj9ydcwmc9hvbmrsklk349ys21w8x4n5xynk2hns";
   };
 
-  postPatch = ''
-    # fixes build on non-x86_64 architectures
-    rm frozendict/src/3_9/cpython_src/Include/pyconfig.h
-  '';
-
   pythonImportsCheck = [
     "frozendict"
   ];
@@ -32,24 +27,12 @@ buildPythonPackage rec {
   ];
 
   preCheck = ''
-    rm -r frozendict
-    export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
+    pushd test
   '';
 
-  disabledTests = [
-    # TypeError: unsupported operand type(s) for |=: 'frozendict.frozendict' and 'dict'
-    "test_union"
-    # non-standard assertions
-    "test_repr"
-    "test_format"
-    "test_str"
-  ];
-
-  disabledTestPaths = [
-    # unpackaged test dependency: coold
-    "test/test_coold.py"
-    "test/test_coold_subclass.py"
-  ];
+  postCheck = ''
+    popd
+  '';
 
   meta = with lib; {
     homepage = "https://github.com/slezica/python-frozendict";
diff --git a/pkgs/development/python-modules/fsspec/default.nix b/pkgs/development/python-modules/fsspec/default.nix
index 9d538214c4b..fb84371e203 100644
--- a/pkgs/development/python-modules/fsspec/default.nix
+++ b/pkgs/development/python-modules/fsspec/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "fsspec";
-  version = "2021.10.1";
+  version = "2022.01.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "intake";
     repo = "filesystem_spec";
     rev = version;
-    sha256 = "sha256-LgrOHBXKs2bEgtgrdHb1OEhOeQ5Rbgr6X5YtgiqiCH0=";
+    sha256 = "sha256-iPe2q9hY3ZRIKQGpxrHda3t9G0AtbtohVcWdnAzlzCo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/funcsigs/default.nix b/pkgs/development/python-modules/funcsigs/default.nix
index 8a7335accda..115d358cb78 100644
--- a/pkgs/development/python-modules/funcsigs/default.nix
+++ b/pkgs/development/python-modules/funcsigs/default.nix
@@ -1,5 +1,5 @@
 { lib, buildPythonPackage, fetchPypi
-, isPyPy, isPy3k, unittest2
+, isPyPy, isPy3k
 }:
 
 buildPythonPackage rec {
@@ -11,11 +11,14 @@ buildPythonPackage rec {
     sha256 = "0l4g5818ffyfmfs1a924811azhjj8ax9xd1cffr1mzd3ycn0zfx7";
   };
 
-  buildInputs = [ unittest2 ];
-
   # https://github.com/testing-cabal/funcsigs/issues/10
   patches = lib.optional (isPyPy && isPy3k) [ ./fix-pypy3-tests.patch ];
 
+  # requires, unittest2 and package hasn't been maintained since 2013
+  doCheck = false;
+
+  pythonImportsCheck = [ "funcsigs" ];
+
   meta = with lib; {
     description = "Python function signatures from PEP362 for Python 2.6, 2.7 and 3.2+";
     homepage = "https://github.com/aliles/funcsigs";
diff --git a/pkgs/development/python-modules/furo/default.nix b/pkgs/development/python-modules/furo/default.nix
index 956c7da9358..ab196d23c2d 100644
--- a/pkgs/development/python-modules/furo/default.nix
+++ b/pkgs/development/python-modules/furo/default.nix
@@ -8,13 +8,15 @@
 
 buildPythonPackage rec {
   pname = "furo";
-  version = "2021.10.9";
-  format = "flit";
+  version = "2022.2.23";
+  format = "wheel";
   disable = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-K6pCoi7ePm6Vxhgqs2S6wuwVt5vH+cp/sJ/ZrsSzVAw=";
+    inherit pname version format;
+    dist = "py3";
+    python = "py3";
+    sha256 = "sha256-v+1OagURq3uvIRsxlbhRkUvxGnLlkH4HOx3pKW3jkfY=";
   };
 
   propagatedBuildInputs = [
@@ -22,6 +24,17 @@ buildPythonPackage rec {
     beautifulsoup4
   ];
 
+  installCheckPhase = ''
+    # furo was built incorrectly if this directory is empty
+    # Ignore the hidden file .gitignore
+    cd "$out/lib/python"*
+    if [ "$(ls 'site-packages/furo/theme/furo/static/' | wc -l)" -le 0 ]; then
+      echo 'static directory must not be empty'
+      exit 1
+    fi
+    cd -
+  '';
+
   pythonImportsCheck = [ "furo" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/gaphas/default.nix b/pkgs/development/python-modules/gaphas/default.nix
index a6351aeeadd..c3541bcc30a 100644
--- a/pkgs/development/python-modules/gaphas/default.nix
+++ b/pkgs/development/python-modules/gaphas/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "gaphas";
-  version = "3.1.9";
+  version = "3.5.0";
   disabled = pythonOlder "3.7";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-S6cRsfqXYM4mSVSs2M8fET5ShFClKkGkod2w2y6F2gc=";
+    sha256 = "526f1943dd54efe91fbf45db38049103611fbac5939c42ad172ba9d2dce71fe1";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/garages-amsterdam/default.nix b/pkgs/development/python-modules/garages-amsterdam/default.nix
index 3276934e65b..01ff36e6379 100644
--- a/pkgs/development/python-modules/garages-amsterdam/default.nix
+++ b/pkgs/development/python-modules/garages-amsterdam/default.nix
@@ -19,6 +19,11 @@ buildPythonPackage rec {
     sha256 = "16f2742r9p3mrg2nz8lnkgsxabbjga2qnp9vzq59026q6mmfwkm9";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"'
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
@@ -34,7 +39,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Python client for getting garage occupancy in Amsterdam";
-    homepage = "https://github.com/klaasnicolaas/garages_amsterdam";
+    homepage = "https://github.com/klaasnicolaas/python-garages-amsterdam";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/garminconnect-aio/default.nix b/pkgs/development/python-modules/garminconnect-aio/default.nix
index bb754118e07..abdd1f9f2f2 100644
--- a/pkgs/development/python-modules/garminconnect-aio/default.nix
+++ b/pkgs/development/python-modules/garminconnect-aio/default.nix
@@ -3,18 +3,22 @@
 , brotlipy
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 , yarl
 }:
 
 buildPythonPackage rec {
   pname = "garminconnect-aio";
   version = "0.1.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "cyberjunky";
     repo = "python-garminconnect-aio";
     rev = version;
-    sha256 = "0s2gpy5hciv9akqqhxy0d2ywp6jp9mmdngx34q7fq3xn668kcrhr";
+    hash = "sha256-GWY2kTG2D+wOJqM/22pNV5rLvWjAd4jxVGlHBou/T2g=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +30,9 @@ buildPythonPackage rec {
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "garminconnect_aio" ];
+  pythonImportsCheck = [
+    "garminconnect_aio"
+  ];
 
   meta = with lib; {
     description = "Python module to interact with Garmin Connect";
diff --git a/pkgs/development/python-modules/garminconnect-ha/default.nix b/pkgs/development/python-modules/garminconnect/default.nix
index c88af9b230e..62a85ea8bc3 100644
--- a/pkgs/development/python-modules/garminconnect-ha/default.nix
+++ b/pkgs/development/python-modules/garminconnect/default.nix
@@ -2,18 +2,22 @@
 , buildPythonPackage
 , cloudscraper
 , fetchFromGitHub
+, pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
-  pname = "garminconnect-ha";
-  version = "0.1.13";
+  pname = "garminconnect";
+  version = "0.1.44";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "cyberjunky";
-    repo = "python-garminconnect-ha";
+    repo = "python-garminconnect";
     rev = version;
-    sha256 = "sha256-1O1EcG5FvpwUvI8rwcdlQLzEEStyFAwvmkaL97u6hZ4=";
+    hash = "sha256-CUjMbh3eGPwoHW+oOjaVyr0g/txWmzGuP1usq2WCwZg=";
   };
 
   propagatedBuildInputs = [
@@ -21,14 +25,16 @@ buildPythonPackage rec {
     requests
   ];
 
-  # Project has no tests
+  # Module has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "garminconnect_ha" ];
+  pythonImportsCheck = [
+    "garminconnect"
+  ];
 
   meta = with lib; {
-    description = "Minimal Garmin Connect Python 3 API wrapper for Home Assistant";
-    homepage = "https://github.com/cyberjunky/python-garminconnect-ha";
+    description = "Garmin Connect Python API wrapper";
+    homepage = "https://github.com/cyberjunky/python-garminconnect";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/gast/default.nix b/pkgs/development/python-modules/gast/default.nix
index f374378d986..110363b3832 100644
--- a/pkgs/development/python-modules/gast/default.nix
+++ b/pkgs/development/python-modules/gast/default.nix
@@ -1,24 +1,36 @@
 { lib
-, fetchFromGitHub
-, buildPythonPackage
 , astunparse
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gast";
-  version = "0.5.1";
+  version = "0.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "serge-sans-paille";
-    repo = "gast";
+    repo = pname;
     rev = version;
-    sha256 = "1gph45frnj47lfr6idiyxrb3gk7vzc9rni9cijmcyz10dyx5kgwa";
+    sha256 = "sha256-0y2bHT7YEfTvDxTm6yLl3GmnPUYEieoGEnwkzfA6mOg=";
   };
 
-  checkInputs = [ astunparse ];
+  checkInputs = [
+    astunparse
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "gast"
+  ];
 
   meta = with lib; {
-    description = "GAST provides a compatibility layer between the AST of various Python versions, as produced by ast.parse from the standard ast module.";
+    description = "Compatibility layer between the AST of various Python versions";
     homepage = "https://github.com/serge-sans-paille/gast/";
     license = licenses.bsd3;
     maintainers = with maintainers; [ jyp cpcloud ];
diff --git a/pkgs/development/python-modules/gcsfs/default.nix b/pkgs/development/python-modules/gcsfs/default.nix
index 66d05f2a355..518226f34dd 100644
--- a/pkgs/development/python-modules/gcsfs/default.nix
+++ b/pkgs/development/python-modules/gcsfs/default.nix
@@ -18,15 +18,16 @@
 
 buildPythonPackage rec {
   pname = "gcsfs";
-  version = "2021.10.1";
+  version = "2022.01.0";
+  format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "fsspec";
     repo = pname;
     rev = version;
-    sha256 = "sha256-cpV+HKE39Yct1yu5xW9HZftx2Wy9ydFL2YLvPD3YM2M=";
+    hash = "sha256-wNeK1GdjK9GKaaECcFeBLjFf/h3MbLI5e4MX0UNoTqE=";
   };
 
   propagatedBuildInputs = [
@@ -47,11 +48,15 @@ buildPythonPackage rec {
     vcrpy
   ];
 
-  disabledTests = [
-    # Tests wants to communicate with the Link-local address
-    "test_GoogleCredentials_None"
+  disabledTestPaths = [
+    # Tests require a running Docker instance
+    "gcsfs/tests/test_core.py"
+    "gcsfs/tests/test_mapping.py"
+    "gcsfs/tests/test_retry.py"
   ];
 
+  pytestFlagsArray = [ "-x" ];
+
   pythonImportsCheck = [
     "gcsfs"
   ];
diff --git a/pkgs/development/python-modules/gdown/default.nix b/pkgs/development/python-modules/gdown/default.nix
index 37cd3629db4..9ac5b03a12a 100644
--- a/pkgs/development/python-modules/gdown/default.nix
+++ b/pkgs/development/python-modules/gdown/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonApplication rec {
   pname = "gdown";
-  version = "4.2.1";
+  version = "4.3.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-X3onSr8PN3D24lMtKG2Y/RiKbD1qSq2n0YVO8Y5H5K4=";
+    sha256 = "sha256-ZFy1/3ZI+Zu/fZbOhswNoRlKFCUSXcPO/bJetSkiyHE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gdtoolkit/default.nix b/pkgs/development/python-modules/gdtoolkit/default.nix
new file mode 100644
index 00000000000..5323e12e4c5
--- /dev/null
+++ b/pkgs/development/python-modules/gdtoolkit/default.nix
@@ -0,0 +1,46 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pythonOlder, lark, docopt, pyyaml, setuptools }:
+
+let lark080 = lark.overrideAttrs (old: rec {
+  # gdtoolkit needs exactly this lark version
+  version = "0.8.0";
+  src = fetchFromGitHub {
+    owner = "lark-parser";
+    repo = "lark";
+    rev = version;
+    sha256 = "su7kToZ05OESwRCMPG6Z+XlFUvbEb3d8DgsTEcPJMg4=";
+  };
+});
+
+in
+buildPythonPackage rec {
+  pname = "gdtoolkit";
+  version = "3.3.1";
+
+  propagatedBuildInputs = [
+    lark080
+    docopt
+    pyyaml
+    setuptools
+  ];
+
+  # If we try to get using fetchPypi it requires GeoIP (but the package dont has that dep!?)
+  src = fetchFromGitHub {
+    owner = "Scony";
+    repo = "godot-gdscript-toolkit";
+    rev = version;
+    sha256 = "13nnpwy550jf5qnm9ixpxl1bwfnhhbiys8vqfd25g3aim4bm3gnn";
+  };
+
+  disabled = pythonOlder "3.7";
+
+  # Tests cannot be run because they need network to install additional dependencies using pip and tox
+  doCheck = false;
+  pythonImportsCheck = [ "gdtoolkit" "gdtoolkit.formatter" "gdtoolkit.linter" "gdtoolkit.parser" ];
+
+  meta = with lib; {
+    description = "Independent set of tools for working with Godot's GDScript - parser, linter and formatter";
+    homepage = "https://github.com/Scony/godot-gdscript-toolkit";
+    license = licenses.mit;
+    maintainers = with maintainers; [ shiryel ];
+  };
+}
diff --git a/pkgs/development/python-modules/gehomesdk/default.nix b/pkgs/development/python-modules/gehomesdk/default.nix
index 855b671d2b6..a4c9d2d7460 100644
--- a/pkgs/development/python-modules/gehomesdk/default.nix
+++ b/pkgs/development/python-modules/gehomesdk/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "gehomesdk";
-  version = "0.4.22";
+  version = "0.4.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-3HErbW9/YD8Jd6zr5O2hjoLZ9x5P/vzZLjqPmSm09EM=";
+    sha256 = "sha256-20l3zNOvZVGucm1SFzmSjkj3iOXPQhp4T5sInTGO/aQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/geniushub-client/default.nix b/pkgs/development/python-modules/geniushub-client/default.nix
new file mode 100644
index 00000000000..019c1e1a21b
--- /dev/null
+++ b/pkgs/development/python-modules/geniushub-client/default.nix
@@ -0,0 +1,31 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, aiohttp
+}:
+
+buildPythonPackage rec {
+  pname = "geniushub-client";
+  version = "0.6.30";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "390932b6e5051e221d104b2683d9deb6e352172c4ec4eeede0954bf2f9680211";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # tests only implemented after 0.6.30
+  doCheck = false;
+
+  pythonImportsCheck = [ "geniushubclient" ];
+
+  meta = with lib; {
+    description = "Aiohttp-based client for Genius Hub systems";
+    homepage = "https://github.com/zxdavb/geniushub-client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/georss-client/default.nix b/pkgs/development/python-modules/georss-client/default.nix
index 2e5fc5da9e8..09365ff5858 100644
--- a/pkgs/development/python-modules/georss-client/default.nix
+++ b/pkgs/development/python-modules/georss-client/default.nix
@@ -11,14 +11,16 @@
 
 buildPythonPackage rec {
   pname = "georss-client";
-  version = "0.14";
+  version = "0.15";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-client";
     rev = "v${version}";
-    sha256 = "sha256-rviXXNmDLEVNYOCkqvLT9EXSuVpI5wMlCXnlpUUl1P0=";
+    sha256 = "sha256-D1ggfEDU+vlFmi1USwdHj1due0PrCQCpKF4zaarHCFs=";
   };
 
   propagatedBuildInputs = [
@@ -32,7 +34,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "georss_client" ];
+  pythonImportsCheck = [
+    "georss_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing GeoRSS feeds";
diff --git a/pkgs/development/python-modules/georss-generic-client/default.nix b/pkgs/development/python-modules/georss-generic-client/default.nix
index 4f2e317c52e..4345505f310 100644
--- a/pkgs/development/python-modules/georss-generic-client/default.nix
+++ b/pkgs/development/python-modules/georss-generic-client/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "georss-generic-client";
-  version = "0.6";
+  version = "0.7";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-generic-client";
     rev = "v${version}";
-    sha256 = "sha256-XVejBbVilq8zrmuyBUd0mNPZ4qysSg9lAe/lhbKT+qs=";
+    sha256 = "sha256-58NpACrJK29NUnx3RrsLFPPo+6A/JlIlkrv8N9juMu0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix b/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
index e87c766c0ca..ae923138d29 100644
--- a/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
+++ b/pkgs/development/python-modules/georss-ign-sismologia-client/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "georss-ign-sismologia-client";
-  version = "0.4";
+  version = "0.5";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-ign-sismologia-client";
     rev = "v${version}";
-    sha256 = "sha256-g7lZC5ZiJV8dNZJceLROqyBRZSuqaivGFhaQrKe4B7g=";
+    hash = "sha256-i3VdxntFwieCmB4ihHRSCV5YKDyYytl3XnU/G1LwLhg=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "georss_ign_sismologia_client" ];
+  pythonImportsCheck = [
+    "georss_ign_sismologia_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing the IGN Sismologia GeoRSS feed";
diff --git a/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix b/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
index dc253dafe1e..512db4d8dee 100644
--- a/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
+++ b/pkgs/development/python-modules/georss-ingv-centro-nazionale-terremoti-client/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "georss-ingv-centro-nazionale-terremoti-client";
-  version = "0.5";
+  version = "0.6";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-ingv-centro-nazionale-terremoti-client";
     rev = "v${version}";
-    sha256 = "1pd0qsr0n8f1169p2nz8s0zrbrxh0rdzaxdb3jmdymzp4xz28wb0";
+    sha256 = "sha256-zqjo70NzpUt5zNEar0P1sl/gMb+ZcS+7GX7QGuFjMYY=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "georss_ingv_centro_nazionale_terremoti_client" ];
+  pythonImportsCheck = [
+    "georss_ingv_centro_nazionale_terremoti_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing the INGV Centro Nazionale Terremoti GeoRSS feed";
diff --git a/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix b/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix
index 089a72ef811..344c74b057f 100644
--- a/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix
+++ b/pkgs/development/python-modules/georss-nrcan-earthquakes-client/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "georss-nrcan-earthquakes-client";
-  version = "0.3";
+  version = "0.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-nrcan-earthquakes-client";
     rev = "v${version}";
-    sha256 = "1brn6ycsw3d3znbqi2w2cxjw8hyfb44p2lra18rx2gyvgnkxg19l";
+    hash = "sha256-FFm37+dCkdoZXgvAjYhcHOYFf0oQ37bxJb7vzbWDTro=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "georss_nrcan_earthquakes_client" ];
+  pythonImportsCheck = [
+    "georss_nrcan_earthquakes_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing Natural Resources Canada Earthquakes feed";
diff --git a/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix b/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix
index 954e4a6237f..fb4b0e753ab 100644
--- a/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix
+++ b/pkgs/development/python-modules/georss-qld-bushfire-alert-client/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "georss-qld-bushfire-alert-client";
-  version = "0.5";
+  version = "0.6";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-qld-bushfire-alert-client";
     rev = "v${version}";
-    sha256 = "sha256-G7rIoG48MTWngtXCT5xzcjntzsYxtVWVhXflLsWY/dk=";
+    hash = "sha256-7KVR0hdLwyCj7MYJoRvQ6wTeJQAmCUarYxJXEFaN8Pc=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "georss_qld_bushfire_alert_client" ];
+  pythonImportsCheck = [
+    "georss_qld_bushfire_alert_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing Queensland Bushfire Alert feed";
diff --git a/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix b/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix
index 5428dfcbc53..fc19ea105c6 100644
--- a/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix
+++ b/pkgs/development/python-modules/georss-tfs-incidents-client/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "georss-tfs-incidents-client";
-  version = "0.3";
+  version = "0.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-tfs-incidents-client";
     rev = "v${version}";
-    sha256 = "11nvwrjzax4yy6aj971yym05yyizwfafy4ccsyy1qpwbs6dwbw7m";
+    hash = "sha256-Cz0PRcGReAE0mg04ktCUaoLqPTjvyU1TiB/Pdz7o7zo=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "georss_tfs_incidents_client" ];
+  pythonImportsCheck = [
+    "georss_tfs_incidents_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing Tasmania Fire Service Incidents feed";
diff --git a/pkgs/development/python-modules/georss-wa-dfes-client/default.nix b/pkgs/development/python-modules/georss-wa-dfes-client/default.nix
index ec6a5cd5f2e..74c1a999498 100644
--- a/pkgs/development/python-modules/georss-wa-dfes-client/default.nix
+++ b/pkgs/development/python-modules/georss-wa-dfes-client/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "georss-wa-dfes-client";
-  version = "0.3";
+  version = "0.4";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "exxamalte";
     repo = "python-georss-wa-dfes-client";
     rev = "v${version}";
-    sha256 = "01fk67kc6ww88yzsans8g81i6j7s0276gma5fk76la1c8vj2ifs7";
+     hash = "sha256-s7qGTlWFdOtw0eMK7idld7HPOxO8CjODCmUi0WmRLdI=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "georss_wa_dfes_client" ];
+  pythonImportsCheck = [
+    "georss_wa_dfes_client"
+  ];
 
   meta = with lib; {
     description = "Python library for accessing WA Department of Fire and Emergency Services (DFES) feed";
diff --git a/pkgs/development/python-modules/gevent-socketio/default.nix b/pkgs/development/python-modules/gevent-socketio/default.nix
index 4a25e0d7e14..33839871449 100644
--- a/pkgs/development/python-modules/gevent-socketio/default.nix
+++ b/pkgs/development/python-modules/gevent-socketio/default.nix
@@ -1,29 +1,48 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, versiontools
+, gevent
 , gevent-websocket
 , mock
-, pytest
-, gevent
+, versiontools
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gevent-socketio";
   version = "0.3.6";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1zra86hg2l1jcpl9nsnqagy3nl3akws8bvrbpgdxk15x7ywllfak";
+    hash = "sha256-UzlKuT+9hNnbuyvvhTSfalA7/FPYapvoZTJQ8aBBKv8=";
   };
 
-  buildInputs = [ versiontools gevent-websocket mock pytest ];
-  propagatedBuildInputs = [ gevent ];
+  nativeBuildInputs = [
+    versiontools
+  ];
+
+  buildInputs = [
+    gevent-websocket
+  ];
+
+  propagatedBuildInputs = [
+    gevent
+  ];
+
+  # Tests are not ported to Python 3
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "socketio"
+  ];
 
   meta = with lib; {
+    description = "SocketIO server based on the Gevent pywsgi server";
     homepage = "https://github.com/abourget/gevent-socketio";
-    description = "SocketIO server based on the Gevent pywsgi server, a Python network library";
     license = licenses.bsd0;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/gevent-websocket/default.nix b/pkgs/development/python-modules/gevent-websocket/default.nix
index 5e93fb32b9e..66709d8fafa 100644
--- a/pkgs/development/python-modules/gevent-websocket/default.nix
+++ b/pkgs/development/python-modules/gevent-websocket/default.nix
@@ -3,29 +3,37 @@
 , fetchPypi
 , gevent
 , gunicorn
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gevent-websocket";
   version = "0.10.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c2zv2rahp1gil3cj66hfsqgy0n35hz9fny3ywhr2319d0lz7bky";
+    hash = "sha256-fq7zKWgpDJEh98Nblz4swwL/sHbQGMkGjS9cqLLYX7A=";
   };
 
-  propagatedBuildInputs = [ gevent gunicorn ];
+  propagatedBuildInputs = [
+    gevent
+    gunicorn
+  ];
 
-  # zero tests run
+  # Module has no test
   doCheck = false;
 
-  pythonImportsCheck = [ "geventwebsocket" ];
+  pythonImportsCheck = [
+    "geventwebsocket"
+  ];
 
   meta = with lib; {
+    description = "Websocket handler for the gevent pywsgi server";
     homepage = "https://www.gitlab.com/noppo/gevent-websocket";
-    description = "Websocket handler for the gevent pywsgi server, a Python network library";
     license = licenses.asl20;
     maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/gevent/default.nix b/pkgs/development/python-modules/gevent/default.nix
index 3fe9e648ce3..e2b1e11278b 100644
--- a/pkgs/development/python-modules/gevent/default.nix
+++ b/pkgs/development/python-modules/gevent/default.nix
@@ -1,35 +1,50 @@
-{ lib, fetchPypi, buildPythonPackage, isPyPy, python, libev, greenlet
+{ lib
+, fetchPypi
+, buildPythonPackage
+, isPyPy
+, python
+, libev
+, greenlet
+, zope_event
 , zope_interface
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "gevent";
-  version = "20.9.0";
+  version = "21.12.0";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "13aw9x6imsy3b369kfjblqiwfni69pp32m4r13n62r9k3l2lhvaz";
+    hash = "sha256-9ItkV4w2e5H6eTv46qr0mVy5PIvEWGDkc7+GgHCtCU4=";
   };
 
-  buildInputs = [ libev ];
+  buildInputs = [
+    libev
+  ];
+
   propagatedBuildInputs = [
+    zope_event
     zope_interface
-  ] ++ lib.optionals (!isPyPy) [ greenlet ];
-
-  checkPhase = ''
-    cd greentest
-    ${python.interpreter} testrunner.py
-  '';
+  ] ++ lib.optionals (!isPyPy) [
+    greenlet
+  ];
 
   # Bunch of failures.
   doCheck = false;
 
+  pythonImportsCheck = [
+    "gevent"
+  ];
+
   meta = with lib; {
     description = "Coroutine-based networking library";
     homepage = "http://www.gevent.org/";
     license = licenses.mit;
-    platforms = platforms.unix;
     maintainers = with maintainers; [ bjornfor ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/geventhttpclient/default.nix b/pkgs/development/python-modules/geventhttpclient/default.nix
index 7e30b8e83f4..4a349106ac3 100644
--- a/pkgs/development/python-modules/geventhttpclient/default.nix
+++ b/pkgs/development/python-modules/geventhttpclient/default.nix
@@ -1,23 +1,25 @@
 { lib
-, buildPythonPackage
-, pythonOlder
-, fetchPypi
-, backports_ssl_match_hostname
 , brotli
+, buildPythonPackage
 , certifi
-, gevent
-, six
 , dpkt
+, fetchPypi
+, gevent
 , pytestCheckHook
+, pythonOlder
+, six
 }:
 
 buildPythonPackage rec {
   pname = "geventhttpclient";
   version = "1.5.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d80ec9ff42b7219f33558185499d0b4365597fc55ff886207b45f5632e099780";
+    hash = "sha256-2A7J/0K3IZ8zVYGFSZ0LQ2VZf8Vf+IYge0X1Yy4Jl4A=";
   };
 
   propagatedBuildInputs = [
@@ -25,8 +27,6 @@ buildPythonPackage rec {
     certifi
     gevent
     six
-  ] ++ lib.optionals (pythonOlder "3.7") [
-    backports_ssl_match_hostname
   ];
 
   checkInputs = [
@@ -45,11 +45,14 @@ buildPythonPackage rec {
     "test_multi_queries_greenlet_safe"
   ];
 
+  pythonImportsCheck = [
+    "geventhttpclient"
+  ];
+
   meta = with lib; {
     homepage = "https://github.com/gwik/geventhttpclient";
     description = "HTTP client library for gevent";
     license = licenses.mit;
     maintainers = with maintainers; [ koral ];
   };
-
 }
diff --git a/pkgs/development/python-modules/gigalixir/default.nix b/pkgs/development/python-modules/gigalixir/default.nix
index 99a878700d7..e1ca84e2186 100644
--- a/pkgs/development/python-modules/gigalixir/default.nix
+++ b/pkgs/development/python-modules/gigalixir/default.nix
@@ -1,9 +1,9 @@
-{ buildPythonApplication
+{ lib
+, buildPythonApplication
 , click
 , fetchPypi
 , git
 , httpretty
-, lib
 , qrcode
 , pygments
 , pyopenssl
@@ -11,42 +11,53 @@
 , requests
 , rollbar
 , stripe
+, pythonOlder
 , sure
 }:
 
 buildPythonApplication rec {
   pname = "gigalixir";
   version = "1.2.5";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-P70xsI/zwsoSgK1XCPzJSI5NQ58M431kmgo5gHXbaNw=";
+    hash = "sha256-P70xsI/zwsoSgK1XCPzJSI5NQ58M431kmgo5gHXbaNw=";
   };
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace "'pytest-runner'," "" \
-      --replace "cryptography==" "cryptography>="
-  '';
-
   propagatedBuildInputs = [
     click
-    requests
-    stripe
-    rollbar
     pygments
-    qrcode
     pyopenssl
+    qrcode
+    requests
+    rollbar
+    stripe
   ];
 
   checkInputs = [
+    git
     httpretty
-    sure
     pytestCheckHook
-    git
+    sure
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'pytest-runner'," "" \
+      --replace "cryptography==" "cryptography>="
+  '';
+
+  disabledTests = [
+    # Test requires network access
+    "test_rollback_without_version"
   ];
 
-  pythonImportsCheck = [ "gigalixir" ];
+  pythonImportsCheck = [
+    "gigalixir"
+  ];
 
   meta = with lib; {
     description = "Gigalixir Command-Line Interface";
diff --git a/pkgs/development/python-modules/gipc/default.nix b/pkgs/development/python-modules/gipc/default.nix
index a059495d00f..2bab62fbcb1 100644
--- a/pkgs/development/python-modules/gipc/default.nix
+++ b/pkgs/development/python-modules/gipc/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "gipc";
-  version = "1.3.0";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a25ccfd2f8c94b24d2113fa50a0de5c7a44499ca9f2ab7c91c3bec0ed96ddeb1";
+    sha256 = "sha256-P8d2GIxFAAHeXjXgIxKGwahiH1TW/9fE+V0f9Ra54wo=";
   };
 
   propagatedBuildInputs = [ gevent ];
diff --git a/pkgs/development/python-modules/glean-parser/default.nix b/pkgs/development/python-modules/glean-parser/default.nix
index 469c0d613b9..52fdf6745c9 100644
--- a/pkgs/development/python-modules/glean-parser/default.nix
+++ b/pkgs/development/python-modules/glean-parser/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "glean_parser";
-  version = "4.4.0";
+  version = "5.0.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3ae1435b183936a49368806421df27ab944f1802e86a02b38b8e08e53ff0aac5";
+    sha256 = "sha256-MJ827VXy8e2CRyq4sY4d0B7etxBgRk4/hZybYOOLh9Q=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/glean-sdk/default.nix b/pkgs/development/python-modules/glean-sdk/default.nix
index e52f2def395..f2c2f92c9f0 100644
--- a/pkgs/development/python-modules/glean-sdk/default.nix
+++ b/pkgs/development/python-modules/glean-sdk/default.nix
@@ -12,17 +12,17 @@
 
 buildPythonPackage rec {
   pname = "glean-sdk";
-  version = "43.0.2";
+  version = "44.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9LLE7cUJhJ+0/rFtVkSdiXUohrXW0JFy3XcYMAAivfw=";
+    sha256 = "sha256-gzLsBwq3wrFde5cEb5+oFLW4KrwoiZpr22JbJhNr1yk=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "sha256:1qi7zn2278jpry466w3xj1wpyy5f82bffi55i6nva591i3r1z4am";
+    sha256 = "sha256-lWFv8eiA3QHp5bhcg4qon/dvKUbFbtH1Q2oXGkk0Me0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/globus-sdk/default.nix b/pkgs/development/python-modules/globus-sdk/default.nix
index d251ec75ff5..98339c851cd 100644
--- a/pkgs/development/python-modules/globus-sdk/default.nix
+++ b/pkgs/development/python-modules/globus-sdk/default.nix
@@ -1,42 +1,60 @@
 { lib
 , buildPythonPackage
+, cryptography
 , fetchFromGitHub
-, requests
+, mypy
 , pyjwt
 , pytestCheckHook
+, pythonOlder
+, requests
 , responses
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "globus-sdk";
-  version = "2.0.1";
+  version = "3.4.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "globus";
     repo = "globus-sdk-python";
     rev = version;
-    sha256 = "1kqnr50iwcq9nx40lblbqzf327cdcbkrir6vh70067hk33rq0gm9";
+    hash = "sha256-QdeEaOP+gPWMqtUofTwrHRqLBtjG8Kta0LfZtccTjCQ=";
   };
 
   propagatedBuildInputs = [
+    cryptography
     requests
     pyjwt
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    typing-extensions
   ];
 
   checkInputs = [
+    mypy
     pytestCheckHook
     responses
   ];
 
   postPatch = ''
     substituteInPlace setup.py \
-    --replace "pyjwt[crypto]>=1.5.3,<2.0.0" "pyjwt[crypto] >=1.5.3, <3.0.0"
+    --replace "pyjwt[crypto]>=2.0.0,<3.0.0" "pyjwt[crypto]>=2.0.0,<3.0.0"
   '';
 
-  pythonImportsCheck = [ "globus_sdk" ];
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
+  pythonImportsCheck = [
+    "globus_sdk"
+  ];
 
   meta = with lib; {
-    description = "A convenient Pythonic interface to Globus REST APIs, including the Transfer API and the Globus Auth API";
+    description = "Interface to Globus REST APIs, including the Transfer API and the Globus Auth API";
     homepage =  "https://github.com/globus/globus-sdk-python";
     license = licenses.asl20;
     maintainers = with maintainers; [ ixxie ];
diff --git a/pkgs/development/python-modules/goodwe/default.nix b/pkgs/development/python-modules/goodwe/default.nix
index 0fb91f75dda..27c70c78a66 100644
--- a/pkgs/development/python-modules/goodwe/default.nix
+++ b/pkgs/development/python-modules/goodwe/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "goodwe";
-  version = "0.2.15";
+  version = "0.2.16";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "marcelblijleven";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0di4w3sgl86hjj8yvhx430w6b2fkdzxyjb1147k7py4lqpw7snjj";
+    sha256 = "sha256-qW1wD6QVLqGhEnpGqNjZ50jb/3HHooohfHz+p4/ZH74=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/google-api-core/default.nix b/pkgs/development/python-modules/google-api-core/default.nix
index d6dedff38e7..468b2476de9 100644
--- a/pkgs/development/python-modules/google-api-core/default.nix
+++ b/pkgs/development/python-modules/google-api-core/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-core";
-  version = "2.4.0";
+  version = "2.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uoeHt8YWMs0DQPCV4cA2vvlCayWU8Qr7KQujEa6Msss=";
+    sha256 = "sha256-8zhjpnCWUXA7ixi2cJNRSDjHnysE0CqlASAwefJLgBg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-api-python-client/default.nix b/pkgs/development/python-modules/google-api-python-client/default.nix
index e5bbbc8cbcd..772f45411d3 100644
--- a/pkgs/development/python-modules/google-api-python-client/default.nix
+++ b/pkgs/development/python-modules/google-api-python-client/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "google-api-python-client";
-  version = "2.32.0";
+  version = "2.35.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "619fe50155e73342c17aba4bbb2a08be8ce6ae00b795af383de7d6616b485c94";
+    sha256 = "038b12979ea86ef0e33962bd33f955c337bc28f0471522bd27a801d52bfb4ae2";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-auth/default.nix b/pkgs/development/python-modules/google-auth/default.nix
index b51a5569a59..c7fcb1a48ed 100644
--- a/pkgs/development/python-modules/google-auth/default.nix
+++ b/pkgs/development/python-modules/google-auth/default.nix
@@ -18,13 +18,18 @@
 
 buildPythonPackage rec {
   pname = "google-auth";
-  version = "2.3.3";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d83570a664c10b97a1dc6f8df87e5fdfff012f48f62be131e449c20dfc32630e";
+    sha256 = "sha256-rRYPweqPGeMxoWoUp589ZD2BOmlTS6lhHSyA3BBDna0=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "cachetools>=2.0.0,<5.0" "cachetools"
+  '';
+
   propagatedBuildInputs = [
     cachetools
     pyasn1-modules
diff --git a/pkgs/development/python-modules/google-cloud-automl/default.nix b/pkgs/development/python-modules/google-cloud-automl/default.nix
index 6cb405d3c14..43e5b196109 100644
--- a/pkgs/development/python-modules/google-cloud-automl/default.nix
+++ b/pkgs/development/python-modules/google-cloud-automl/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-automl";
-  version = "2.6.0";
+  version = "2.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bcd3b2913c2eb83e356a457ad6e89a2a9505b2e9cb7be37055d6ce1f0fef20cf";
+    sha256 = "sha256-hUaxA9QZ0M9klmTAN71OvY4xsRdZuic7V8TeZWzcdMc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
index a06bf326e0c..35c082e0563 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery-datatransfer/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery-datatransfer";
-  version = "3.5.0";
+  version = "3.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6e93c134669bbb7b79be4bd73329842c5e5f071f1fde624fc82233da42677021";
+    sha256 = "sha256-1syubhGCY8sYgV2mdneAV/8YOdplf5YZNEeZ0RAJC6E=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus pytz ];
diff --git a/pkgs/development/python-modules/google-cloud-bigquery/default.nix b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
index 96a10e1a222..1d5d1b9a689 100644
--- a/pkgs/development/python-modules/google-cloud-bigquery/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigquery/default.nix
@@ -18,12 +18,12 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigquery";
-  version = "2.32.0";
+  version = "2.34.0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-84Y6xCk/CkWF5ERh2CuR+SOXIe8z/JV11AG02n3BJ70=";
+    sha256 = "sha256-K3XhnlPIWSRBIBgMcqGqmehJFW48BBMHGkv7rgt0xTA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-bigtable/default.nix b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
index 747fdd07b04..6ef36c17796 100644
--- a/pkgs/development/python-modules/google-cloud-bigtable/default.nix
+++ b/pkgs/development/python-modules/google-cloud-bigtable/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-bigtable";
-  version = "2.4.0";
+  version = "2.5.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b8472c91b05159f20121fcca6ebdc2a3b5648d68158ec747860914279b6b983b";
+    sha256 = "sha256-zqyLJX3ufjIpdiS7Qw85R6K/2p2m1KbYtmH2DH/r0nE=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-container/default.nix b/pkgs/development/python-modules/google-cloud-container/default.nix
index 7eb9808c7a2..c99d5d0a8bf 100644
--- a/pkgs/development/python-modules/google-cloud-container/default.nix
+++ b/pkgs/development/python-modules/google-cloud-container/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-container";
-  version = "2.10.1";
+  version = "2.10.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "939970cd09384dde6d6f6758b03648fd8f52fe5c2f83f73300575f7e4e3b2ee0";
+    sha256 = "sha256-doxO6Q8SaRqXNNMQow8kPp2BawpiTtSm2yuzyaOl7RY=";
   };
 
   propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-error-reporting/default.nix b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
index c8edb677c64..06c4d9e2369 100644
--- a/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
+++ b/pkgs/development/python-modules/google-cloud-error-reporting/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-error-reporting";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4a72a65586178daaacf6bbc4b718db0765b99a719fce88a95c2be4f82689b7c1";
+    sha256 = "sha256-qvhZU7T2fHA2uRyXJjRxqeEAFwShH+TpGwICczgX7Sk=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/google-cloud-iot/default.nix b/pkgs/development/python-modules/google-cloud-iot/default.nix
index 507ba6aef18..063ba066602 100644
--- a/pkgs/development/python-modules/google-cloud-iot/default.nix
+++ b/pkgs/development/python-modules/google-cloud-iot/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-iot";
-  version = "2.3.0";
+  version = "2.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb31a864be75c47880748b6c81f0c57cbce190a87e402ce32b2b772be2dba5fa";
+    sha256 = "sha256-5AOurJ/XIggFo3QZOQKiRNpbcHwdrIuMBbHeYDA001M=";
   };
 
   propagatedBuildInputs = [ grpc-google-iam-v1 google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-org-policy/default.nix b/pkgs/development/python-modules/google-cloud-org-policy/default.nix
index 5bada28d01d..f30c3f35aa3 100644
--- a/pkgs/development/python-modules/google-cloud-org-policy/default.nix
+++ b/pkgs/development/python-modules/google-cloud-org-policy/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-org-policy";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cdb2d6878c426ed34af8950b052845a76b0f5fab3f96a2ec5dc80be994ca5cf8";
+    sha256 = "sha256-IbQP2/XMdwzmY3UgINiUvdd1Y1ABJkhh7x7x3kiR4Is=";
   };
 
   propagatedBuildInputs = [ google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-os-config/default.nix b/pkgs/development/python-modules/google-cloud-os-config/default.nix
index 3ce5f92fe7b..893eda8e096 100644
--- a/pkgs/development/python-modules/google-cloud-os-config/default.nix
+++ b/pkgs/development/python-modules/google-cloud-os-config/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-os-config";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "872774c4791b15d59d866fd965c780beac2772f335ded4a0047e2d844d988f30";
+    sha256 = "sha256-ng1XmHQ4h32cyz68PjHSzfSmCB2vrwkGkzCtz4vZmcM=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-redis/default.nix b/pkgs/development/python-modules/google-cloud-redis/default.nix
index aa49340f24a..25ff1dd984d 100644
--- a/pkgs/development/python-modules/google-cloud-redis/default.nix
+++ b/pkgs/development/python-modules/google-cloud-redis/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-redis";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ad81fed19af6af68426e76891e4acc8a021a8bc475e2ce4be51bf28a610a9713";
+    sha256 = "sha256-CaD/pMQeEdQtcQKBCW1/e42oof9KTpA0IFvCsOaD5zU=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-spanner/default.nix b/pkgs/development/python-modules/google-cloud-spanner/default.nix
index 62bba685417..d7876690719 100644
--- a/pkgs/development/python-modules/google-cloud-spanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-spanner/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-spanner";
-  version = "3.12.1";
+  version = "3.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "98e53298a7c79f0af351c80e6fc0b57bc735afdec764424e459179ef04f5a40f";
+    sha256 = "sha256-Y+MA7Nlx3+8eaBptI6eZgSPGc4MvxSrA9YA+K+VSblw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/google-cloud-storage/default.nix b/pkgs/development/python-modules/google-cloud-storage/default.nix
index a90f9c73cc1..f77c718ed8b 100644
--- a/pkgs/development/python-modules/google-cloud-storage/default.nix
+++ b/pkgs/development/python-modules/google-cloud-storage/default.nix
@@ -40,6 +40,7 @@ buildPythonPackage rec {
     "download"
     "get"
     "post"
+    "upload"
     "test_build_api_url"
     "test_ctor_mtls"
     "test_hmac_key_crud"
diff --git a/pkgs/development/python-modules/google-cloud-tasks/default.nix b/pkgs/development/python-modules/google-cloud-tasks/default.nix
index c1b58c0e1c2..341990868ee 100644
--- a/pkgs/development/python-modules/google-cloud-tasks/default.nix
+++ b/pkgs/development/python-modules/google-cloud-tasks/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-tasks";
-  version = "2.7.2";
+  version = "2.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-h/lmrrT8fu1YLDYF6s856EAB8+k7CMFfIMGZPDxC7Ys=";
+    sha256 = "sha256-/iEexbBw/lBhD+7BawaYHQpDB98jxqJB4hkmUaFHJN8=";
   };
 
   propagatedBuildInputs = [ google-api-core grpc-google-iam-v1 libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-trace/default.nix b/pkgs/development/python-modules/google-cloud-trace/default.nix
index 4032de9d7c4..6c17d6cb99a 100644
--- a/pkgs/development/python-modules/google-cloud-trace/default.nix
+++ b/pkgs/development/python-modules/google-cloud-trace/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-trace";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd4cb8a9efa20598c35a4e6f7ac013a04868e37d7d4ff4ec3080f528b06f8a0e";
+    sha256 = "sha256-MXbuSWVezxsXGrRgGqhLWFF5iByiYRKA1/qbqYawPRQ=";
   };
 
   propagatedBuildInputs = [ google-api-core google-cloud-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
index db6027f3a1f..629220fe37a 100644
--- a/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
+++ b/pkgs/development/python-modules/google-cloud-videointelligence/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-videointelligence";
-  version = "2.5.1";
+  version = "2.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7b735f623d6c3c80d1d40fa491bfe1776a5369d7b240dddab522fd0076d97b1d";
+    sha256 = "sha256-blkNMdh9ehRM9sidgGajIkrHgrJCT96hzG3nVU0DBo4=";
   };
 
   propagatedBuildInputs = [ google-api-core proto-plus ];
diff --git a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
index 521d6c49f15..c7730e5138b 100644
--- a/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
+++ b/pkgs/development/python-modules/google-cloud-websecurityscanner/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "google-cloud-websecurityscanner";
-  version = "1.6.1";
+  version = "1.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "392a21dd238958eb7f480d056ed24110be22808cf4474939db40df0ade2910f3";
+    sha256 = "sha256-FBTJlr4mN5qW3BvA1l/glRaqdcJGFFjqPea3KQjwUqQ=";
   };
 
   propagatedBuildInputs = [ google-api-core libcst proto-plus ];
diff --git a/pkgs/development/python-modules/google-nest-sdm/default.nix b/pkgs/development/python-modules/google-nest-sdm/default.nix
index 2b076f4cae0..ac40e446530 100644
--- a/pkgs/development/python-modules/google-nest-sdm/default.nix
+++ b/pkgs/development/python-modules/google-nest-sdm/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "google-nest-sdm";
-  version = "1.6.0";
+  version = "1.7.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "allenporter";
     repo = "python-google-nest-sdm";
     rev = version;
-    sha256 = "sha256-qgowVCsSNa+Gt+fWnR1eMfkbtpZD7DS4ALZYz6KZZTM=";
+    sha256 = "sha256-c/Btc2CiYGb9ZGzNYDd1xJoGID6amTyv/Emdh1M6e/U=";
   };
 
   propagatedBuildInputs = [
@@ -44,17 +44,17 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  postPatch = ''
-    substituteInPlace tests/event_media_test.py \
-      --replace "/bin/echo" "${coreutils}/bin/echo"
-  '';
-
   pythonImportsCheck = [
     "google_nest_sdm"
   ];
 
+  disabledTests = [
+    "test_clip_preview_transcode"
+    "test_event_manager_event_expiration_with_transcode"
+  ];
+
   meta = with lib; {
-    description = "Python module for Google Nest Device Access using the Smart Device Management API";
+    description = "Module for Google Nest Device Access using the Smart Device Management API";
     homepage = "https://github.com/allenporter/python-google-nest-sdm";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/google-resumable-media/default.nix b/pkgs/development/python-modules/google-resumable-media/default.nix
index 0b10fbab29b..ff545339da8 100644
--- a/pkgs/development/python-modules/google-resumable-media/default.nix
+++ b/pkgs/development/python-modules/google-resumable-media/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "google-resumable-media";
-  version = "2.1.0";
+  version = "2.3.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "725b989e0dd387ef2703d1cc8e86217474217f4549593c477fd94f4024a0f911";
+    sha256 = "sha256-Gn3OV5CwRRjtwCws4zllVWZg1klXEG1mqUUIbitkJXI=";
   };
 
   propagatedBuildInputs = [ google-auth google-crc32c requests ];
diff --git a/pkgs/development/python-modules/gql/default.nix b/pkgs/development/python-modules/gql/default.nix
index 65e4bbde319..3df5f4c8458 100644
--- a/pkgs/development/python-modules/gql/default.nix
+++ b/pkgs/development/python-modules/gql/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "gql";
-  version = "3.0.0rc0";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "graphql-python";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-yr1DyMj/0C9XPTyGdbQbn7nMRKr4JwItFDsqvl/goqU=";
+    hash = "sha256-c2OVBOIwQlwyqET8Q22O65VtWduVzQjYOhkE8GpD6LQ=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/graphene/default.nix b/pkgs/development/python-modules/graphene/default.nix
index 7a28bc08cda..e975bff8fee 100644
--- a/pkgs/development/python-modules/graphene/default.nix
+++ b/pkgs/development/python-modules/graphene/default.nix
@@ -1,14 +1,16 @@
 { lib
+, aniso8601
 , buildPythonPackage
 , fetchFromGitHub
-, aniso8601
 , graphql-core
 , graphql-relay
 , promise
-, pytestCheckHook
 , pytest-asyncio
 , pytest-benchmark
 , pytest-mock
+, pytestCheckHook
+, pythonAtLeast
+, pythonOlder
 , pytz
 , snapshottest
 }:
@@ -16,6 +18,9 @@
 buildPythonPackage rec {
   pname = "graphene";
   version = "3.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "graphql-python";
@@ -40,15 +45,22 @@ buildPythonPackage rec {
     snapshottest
   ];
 
-  pytestFlagsArray = [ "--benchmark-disable" ];
+  pytestFlagsArray = [
+    "--benchmark-disable"
+  ];
 
   disabledTests = [
     # Expects different Exeception classes, but receives none of them
     # https://github.com/graphql-python/graphene/issues/1346
     "test_unexpected_error"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
+    "test_objecttype_as_container_extra_args"
+    "test_objecttype_as_container_invalid_kwargs"
   ];
 
-  pythonImportsCheck = [ "graphene" ];
+  pythonImportsCheck = [
+    "graphene"
+  ];
 
   meta = with lib; {
     description = "GraphQL Framework for Python";
diff --git a/pkgs/development/python-modules/graphql-core/default.nix b/pkgs/development/python-modules/graphql-core/default.nix
index 6a33cfd7b35..75583cdbfe3 100644
--- a/pkgs/development/python-modules/graphql-core/default.nix
+++ b/pkgs/development/python-modules/graphql-core/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "graphql-core";
-  version = "3.1.7";
+  version = "3.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "graphql-python";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1mwwh55qd5bcpvgy6pyliwn8jkmj4yk4d2pqb6mdkgqhdic2081l";
+    sha256 = "sha256-71Z+5nVvg+aozJAKmBGJg5Gqq1OIVH7Xv33Q82IHhXg=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/greeclimate/default.nix b/pkgs/development/python-modules/greeclimate/default.nix
index 5a17b4679e1..6fbefe827b4 100644
--- a/pkgs/development/python-modules/greeclimate/default.nix
+++ b/pkgs/development/python-modules/greeclimate/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "greeclimate";
-  version = "1.0.2";
+  version = "1.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "cmroche";
     repo = "greeclimate";
     rev = "v${version}";
-    hash = "sha256-Y8IgqrU8zzV020qwyyb57Tp2j7laQ3JsCOCYBuf8vsQ=";
+    hash = "sha256-z8X/AZx5Vam7nqYTjhhyXz7E23Crf5vLlNhWXLGSMcs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/growattserver/default.nix b/pkgs/development/python-modules/growattserver/default.nix
index 18d6cd4dabb..6347d9f55b8 100644
--- a/pkgs/development/python-modules/growattserver/default.nix
+++ b/pkgs/development/python-modules/growattserver/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "growattserver";
-  version = "1.1.0";
+  version = "1.2.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "indykoning";
     repo = "PyPi_GrowattServer";
     rev = version;
-    sha256 = "sha256-Vooy+czqhrsWVw35zJb5paC5G0WwOlI5hF8PXxJG0cY=";
+    sha256 = "0v9clmz4qg6krmbsbfsrhsan824y2mqvwxsxb0fzfgaszxwkpm30";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gruut/default.nix b/pkgs/development/python-modules/gruut/default.nix
index 4718d8244d0..f1e490a65cb 100644
--- a/pkgs/development/python-modules/gruut/default.nix
+++ b/pkgs/development/python-modules/gruut/default.nix
@@ -18,12 +18,15 @@
 
 let
   langPkgs = [
+    "ar"
     "cs"
     "de"
-    "es"
     "en"
+    "es"
+    "fa"
     "fr"
     "it"
+    "lb"
     "nl"
     "pt"
     "ru"
@@ -45,9 +48,9 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace requirements.txt \
-      --replace "Babel~=2.8.0" "Babel" \
       --replace "dateparser~=1.0.0" "dateparser" \
-      --replace "gruut_lang_en~=2.0.0" "gruut_lang_en"
+      --replace "gruut_lang_en~=2.0.0" "gruut_lang_en" \
+      --replace "jsonlines~=1.2.0" "jsonlines"
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/gssapi/default.nix b/pkgs/development/python-modules/gssapi/default.nix
index 330172f56ce..d500c645321 100644
--- a/pkgs/development/python-modules/gssapi/default.nix
+++ b/pkgs/development/python-modules/gssapi/default.nix
@@ -67,7 +67,7 @@ buildPythonPackage rec {
     echo $'\ndel TestBaseUtilities.test_add_cred_impersonate_name' >> gssapi/tests/test_raw.py
 
     export PYTHONPATH="$out/${python.sitePackages}:$PYTHONPATH"
-    ${python.interpreter} setup.py nosetests -e 'ext_test_\d.*'
+    nosetests -e 'ext_test_\d.*'
   '';
   pythonImportsCheck = [ "gssapi" ];
 
diff --git a/pkgs/development/python-modules/gst-python/default.nix b/pkgs/development/python-modules/gst-python/default.nix
index a391d993cf0..c02e3b593b8 100644
--- a/pkgs/development/python-modules/gst-python/default.nix
+++ b/pkgs/development/python-modules/gst-python/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "gst-python";
-  version = "1.18.4";
+  version = "1.20.0";
 
   format = "other";
 
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchurl {
     url = "${meta.homepage}/src/gst-python/${pname}-${version}.tar.xz";
-    sha256 = "13h9qzfz8s1gyj2ar9q2gf5346sgdv6jv8hj7aw0hpl2gs5f0s6b";
+    sha256 = "j2e9xWBrozYGxryJbonefc2M9PykWfcTibG2/gdbXlQ=";
   };
 
   # Python 2.x is not supported.
diff --git a/pkgs/development/python-modules/gym/default.nix b/pkgs/development/python-modules/gym/default.nix
index 5bcfb64a184..1616343f8b4 100644
--- a/pkgs/development/python-modules/gym/default.nix
+++ b/pkgs/development/python-modules/gym/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "gym";
-  version = "0.19.0";
+  version = "0.21.0";
 
   src = fetchFromGitHub {
     owner = "openai";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-0O/s9OVNGQmeX9j8B1x63RxdI6dhqfTEJcgDH2jtCv4=";
+    rev = "v${version}";
+    sha256 = "12b545xz0r2g4z5r7f8amxl7nm0lqymkzwcwhg1bni9h0sxwpv6c";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/h2/default.nix b/pkgs/development/python-modules/h2/default.nix
index fcd28362149..a73d9960f69 100644
--- a/pkgs/development/python-modules/h2/default.nix
+++ b/pkgs/development/python-modules/h2/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, fetchpatch
 , hpack
 , hyperframe
 , pytestCheckHook
@@ -11,24 +10,16 @@
 
 buildPythonPackage rec {
   pname = "h2";
-  version = "4.0.0";
+  version = "4.1.0";
   format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bb7ac7099dd67a857ed52c815a6192b6b1f5ba6b516237fc24a085341340593d";
+    sha256 = "sha256-qDrKCPvnqst5/seIycC6yTY0NWDtnsGLgqE6EsKNKrs=";
   };
 
-  patches = [
-    # Workaround issues with hypothesis 6.6
-    # https://github.com/python-hyper/h2/pull/1248
-    (fetchpatch {
-      url = "https://github.com/python-hyper/h2/commit/0646279dab694a89562846c810202ce2c0b49be3.patch";
-      sha256 = "1k0fsxwq9wbv15sc9ixls4qmxxghlzpflf3awm66ar9m2ikahiak";
-    })
-  ];
-
   propagatedBuildInputs = [
     hpack
     hyperframe
@@ -46,7 +37,8 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "HTTP/2 State-Machine based protocol implementation";
-    homepage = "http://hyper.rtfd.org/";
+    homepage = "https://github.com/python-hyper/h2";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/h5py/default.nix b/pkgs/development/python-modules/h5py/default.nix
index 701b8f78f83..36b1322a88b 100644
--- a/pkgs/development/python-modules/h5py/default.nix
+++ b/pkgs/development/python-modules/h5py/default.nix
@@ -20,7 +20,8 @@ in buildPythonPackage rec {
   # avoid strict pinning of numpy
   postPatch = ''
     substituteInPlace setup.py \
-      --replace "numpy ==" "numpy >="
+      --replace "numpy ==" "numpy >=" \
+      --replace "mpi4py ==" "mpi4py >="
   '';
 
   HDF5_DIR = "${hdf5}";
diff --git a/pkgs/development/python-modules/ha-av/default.nix b/pkgs/development/python-modules/ha-av/default.nix
index af5f5f31ab6..78735b67d44 100644
--- a/pkgs/development/python-modules/ha-av/default.nix
+++ b/pkgs/development/python-modules/ha-av/default.nix
@@ -3,7 +3,7 @@
 , pythonOlder
 , fetchPypi
 , pkg-config
-, ffmpeg
+, ffmpeg_4
 }:
 
 buildPythonPackage rec {
@@ -23,7 +23,7 @@ buildPythonPackage rec {
   ];
 
   buildInputs = [
-    ffmpeg
+    ffmpeg_4
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/habanero/default.nix b/pkgs/development/python-modules/habanero/default.nix
index e24f2fc0969..9dc3193957f 100644
--- a/pkgs/development/python-modules/habanero/default.nix
+++ b/pkgs/development/python-modules/habanero/default.nix
@@ -1,24 +1,32 @@
 { buildPythonPackage, lib, fetchFromGitHub
 , requests, tqdm
 , nose, vcrpy
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "habanero";
-  version = "0.7.4";
+  version = "1.0.0";
 
   # Install from Pypi is failing because of a missing file (Changelog.rst)
   src = fetchFromGitHub {
     owner = "sckott";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1d8yj9xz5qabcj57rpjzvg0jcscvzrpb0739mll29nijbsaimfr1";
+    sha256 = "0lhbd5c4sypcd65nh4cgxddsqrxwg89nn1qiii6m5l4fzsvblggv";
   };
 
   propagatedBuildInputs = [ requests tqdm ];
 
-  checkInputs = [ nose vcrpy ];
-  checkPhase = "make test";
+  # almost the entirety of the test suite makes network calls
+  pytestFlagsArray = [
+    "test/test-filters.py"
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    vcrpy
+  ];
 
   meta = {
     description = "Python interface to Library Genesis";
diff --git a/pkgs/development/python-modules/hahomematic/default.nix b/pkgs/development/python-modules/hahomematic/default.nix
index 249f0b2f302..c1baa8a3ca3 100644
--- a/pkgs/development/python-modules/hahomematic/default.nix
+++ b/pkgs/development/python-modules/hahomematic/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "hahomematic";
-  version = "0.28.1";
+  version = "0.36.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.9";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "sha256-zYSJMP/uwgyIHdI8E7NHLaHrpAQeLpaEcXXXlzIO5ns=";
+    sha256 = "sha256-yBkWBIT+FsOk9g3NgBTI3q4hN/dL6gI5UkoZnRcS3Jw=";
   };
 
   propagatedBuildInputs = [
@@ -38,6 +38,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  # Starting with 0.30 the tests are broken, check with the next major release
+  doCheck = false;
+
   pythonImportsCheck = [
     "hahomematic"
   ];
diff --git a/pkgs/development/python-modules/hdlparse/default.nix b/pkgs/development/python-modules/hdlparse/default.nix
deleted file mode 100644
index 4257f9b2e9a..00000000000
--- a/pkgs/development/python-modules/hdlparse/default.nix
+++ /dev/null
@@ -1,22 +0,0 @@
-{ lib, buildPythonPackage, fetchPypi }:
-
-buildPythonPackage rec {
-  pname = "hdlparse";
-  version = "1.0.4";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "fb6230ed1e7a04a8f82f8d3fb59791d0751ae35e5b8e58dbbf2cbcf100d0d0f2";
-  };
-
-  #This module does not contain any tests.
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "https://kevinpt.github.io/hdlparse/";
-    description = "Rudimentary parser for VHDL and Verilog";
-    license = licenses.mit;
-    maintainers = with maintainers; [ elliottvillars ];
-  };
-}
-
diff --git a/pkgs/development/python-modules/heatzypy/default.nix b/pkgs/development/python-modules/heatzypy/default.nix
index 39d970272b1..578a359778a 100644
--- a/pkgs/development/python-modules/heatzypy/default.nix
+++ b/pkgs/development/python-modules/heatzypy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "heatzypy";
-  version = "2.0.1";
+  version = "2.0.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Cyr-ius";
     repo = pname;
     rev = version;
-    sha256 = "sha256-PnDsgTfr2F/fgbONP2qvuPhbw3X50AqriEmsFFjll2Y=";
+    sha256 = "sha256-i5tGV9nJrLRqZwJZ3y5c65MHykz34bnr3yz+OdaQEoM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/hijri-converter/default.nix b/pkgs/development/python-modules/hijri-converter/default.nix
index ba9511a078d..450eee10237 100644
--- a/pkgs/development/python-modules/hijri-converter/default.nix
+++ b/pkgs/development/python-modules/hijri-converter/default.nix
@@ -2,20 +2,28 @@
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "hijri-converter";
-  version = "2.2.2";
+  version = "2.2.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1KENsAnBQXWSu/s96+yt+gTY2NXVG2Spcelp12Gp8+E=";
+    sha256 = "sha256-5xSc7OzKZHv0Bonsib9ZPHJSsx1pnqWHrQvOkbpC04I=";
   };
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "hijri_converter" ];
+  pythonImportsCheck = [
+    "hijri_converter"
+  ];
 
   meta = with lib; {
     description = "Accurate Hijri-Gregorian date converter based on the Umm al-Qura calendar";
diff --git a/pkgs/development/python-modules/holoviews/default.nix b/pkgs/development/python-modules/holoviews/default.nix
index 89d86ee4eb4..18a5f0cd82a 100644
--- a/pkgs/development/python-modules/holoviews/default.nix
+++ b/pkgs/development/python-modules/holoviews/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "holoviews";
-  version = "1.14.7";
+  version = "1.14.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8d8d171227e9c9eaadd4b037b3ddaa01055a33bacbdbeb57a5efbd273986665f";
+    sha256 = "sha256-bDZVmaLLFnk7tifJtcVDCYK7WRyd6IhQAv+RtTm2ETM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/html-sanitizer/default.nix b/pkgs/development/python-modules/html-sanitizer/default.nix
index ef029586beb..111d7e00d1b 100644
--- a/pkgs/development/python-modules/html-sanitizer/default.nix
+++ b/pkgs/development/python-modules/html-sanitizer/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "html-sanitizer";
-  version = "1.9.2";
+  version = "1.9.3";
 
   src = fetchFromGitHub {
     owner = "matthiask";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZPyGF7N+EZHfgqZfRQx4x1r83BMur+Zg2kdtVISn3I8=";
+    sha256 = "sha256-1JSdi1PFM+N+UuEPfgWkOZw8S2PZ4ntadU0wnVJNnjw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/httpbin/default.nix b/pkgs/development/python-modules/httpbin/default.nix
index ace9a7041e3..8359fcf0a09 100644
--- a/pkgs/development/python-modules/httpbin/default.nix
+++ b/pkgs/development/python-modules/httpbin/default.nix
@@ -1,33 +1,65 @@
 { lib
+, brotlipy
 , buildPythonPackage
+, decorator
 , fetchPypi
 , flask
 , flask-limiter
-, markupsafe
-, decorator
 , itsdangerous
+, markupsafe
 , raven
 , six
-, brotlipy
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "httpbin";
   version = "0.7.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1yldvf3585zcwj4vxvfm4yr9wwlz3pa2mx2pazqz8x8mr687gcyb";
+    hash = "sha256-y7N3kMkVdfTxV1f0KtQdn3KesifV7b6J5OwXVIbbjfo=";
   };
 
-  propagatedBuildInputs = [ brotlipy flask flask-limiter markupsafe decorator itsdangerous raven six ];
+  propagatedBuildInputs = [
+    brotlipy
+    flask
+    flask-limiter
+    markupsafe
+    decorator
+    itsdangerous
+    raven
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "test_httpbin.py"
+  ];
+
+  disabledTests = [
+    # Tests seems to be outdated
+    "test_anything"
+    "test_get"
+    "test_redirect_n_equals_to_1"
+    "test_redirect_n_higher_than_1"
+    "test_redirect_to_post"
+    "test_relative_redirect_n_equals_to_1"
+    "test_relative_redirect_n_higher_than_1"
+  ];
 
-  # No tests
-  doCheck = false;
+  pythonImportsCheck = [
+    "httpbin"
+  ];
 
   meta = with lib; {
+    description = "HTTP Request and Response Service";
     homepage = "https://github.com/kennethreitz/httpbin";
-    description = "HTTP Request & Response Service";
     license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/httpcore/default.nix b/pkgs/development/python-modules/httpcore/default.nix
index 99eb08a35a9..79d979b10a9 100644
--- a/pkgs/development/python-modules/httpcore/default.nix
+++ b/pkgs/development/python-modules/httpcore/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "httpcore";
-  version = "0.14.3";
+  version = "0.14.4";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-jPsbMhY1lWKBXlh6hsX6DGKXi/g7VQSU00tF6H7qkOo=";
+    sha256 = "19zsg8ijw0s1722ka67mjxx5z07lx9jq36z97l1fa6z1129wq240";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/httpx-ntlm/default.nix b/pkgs/development/python-modules/httpx-ntlm/default.nix
index b3ac17cf7f0..40ef250401b 100644
--- a/pkgs/development/python-modules/httpx-ntlm/default.nix
+++ b/pkgs/development/python-modules/httpx-ntlm/default.nix
@@ -3,29 +3,35 @@
 , cryptography
 , fetchPypi
 , httpx
-, ntlm-auth
+, pyspnego
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "httpx-ntlm";
-  version = "0.0.10";
+  version = "1.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "httpx_ntlm";
     inherit version;
-    sha256 = "1rar6smz56y8k5qbgrpabpr639nwvf6whdi093hyakf0m3h9cpfz";
+    sha256 = "sha256-pv/OxgcO0JWk2nCZp+bKlOdX7NqV6V5xZRDy5dd13qQ=";
   };
 
   propagatedBuildInputs = [
     cryptography
     httpx
-    ntlm-auth
+    pyspnego
   ];
 
   # https://github.com/ulodciv/httpx-ntlm/issues/5
   doCheck = false;
 
-  pythonImportsCheck = [ "httpx_ntlm" ];
+  pythonImportsCheck = [
+    "httpx_ntlm"
+  ];
 
   meta = with lib; {
     description = "NTLM authentication support for HTTPX";
diff --git a/pkgs/development/python-modules/httpx-socks/default.nix b/pkgs/development/python-modules/httpx-socks/default.nix
index 3600e173f94..e45e6a85487 100644
--- a/pkgs/development/python-modules/httpx-socks/default.nix
+++ b/pkgs/development/python-modules/httpx-socks/default.nix
@@ -56,6 +56,12 @@ buildPythonPackage rec {
     "httpx_socks"
   ];
 
+  disabledTests = [
+    # Tests don't work in the sandbox
+    "test_proxy"
+    "test_secure_proxy"
+  ];
+
   meta = with lib; {
     description = "Proxy (HTTP, SOCKS) transports for httpx";
     homepage = "https://github.com/romis2012/httpx-socks";
diff --git a/pkgs/development/python-modules/httpx/default.nix b/pkgs/development/python-modules/httpx/default.nix
index 543308a3fdc..d479cc1f13c 100644
--- a/pkgs/development/python-modules/httpx/default.nix
+++ b/pkgs/development/python-modules/httpx/default.nix
@@ -1,11 +1,11 @@
 { lib
+, async_generator
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
 , brotlicffi
 , certifi
 , charset-normalizer
-, h2
 , httpcore
 , rfc3986
 , sniffio
@@ -20,24 +20,27 @@
 
 buildPythonPackage rec {
   pname = "httpx";
-  version = "0.21.1";
+  version = "0.21.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ayhLP+1hPWAx2ds227CKp5cebVkD5B2Z59L+3dzdINc=";
+    sha256 = "01069b0kj6vnb26xazlz06rj4yncy5nkq76pajvzx0pmpjkniiz9";
   };
 
   propagatedBuildInputs = [
     brotlicffi
     certifi
     charset-normalizer
-    h2
     httpcore
     rfc3986
     sniffio
+  ] ++ lib.optionals (pythonOlder "3.7") [
+    async_generator
   ];
 
   checkInputs = [
@@ -49,13 +52,21 @@ buildPythonPackage rec {
     uvicorn
   ];
 
-  pythonImportsCheck = [ "httpx" ];
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "rfc3986[idna2008]>=1.3,<2" "rfc3986>=1.3"
+  '';
 
   # testsuite wants to find installed packages for testing entrypoint
   preCheck = ''
     export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
   '';
 
+  pytestFlagsArray = [
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
   disabledTests = [
     # httpcore.ConnectError: [Errno 101] Network is unreachable
     "test_connect_timeout"
@@ -71,6 +82,10 @@ buildPythonPackage rec {
     "tests/test_main.py"
   ];
 
+  pythonImportsCheck = [
+    "httpx"
+  ];
+
   __darwinAllowLocalNetworking = true;
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/huey/default.nix b/pkgs/development/python-modules/huey/default.nix
index 28a801de71a..38c25fa1b0c 100644
--- a/pkgs/development/python-modules/huey/default.nix
+++ b/pkgs/development/python-modules/huey/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "huey";
-  version = "2.2.0";
+  version = "2.4.2";
 
   src = fetchFromGitHub {
     owner = "coleifer";
     repo = pname;
     rev = version;
-    sha256 = "1hgic7qrmb1kxvfgf2qqiw39nqyknf17pjvli8jfzvd9mv7cb7hh";
+    sha256 = "00fi04991skq61gjrmig8ry6936pc8zs7p8py8spfipbxf1irkjg";
   };
 
   propagatedBuildInputs = [ redis ];
diff --git a/pkgs/development/python-modules/hwi/default.nix b/pkgs/development/python-modules/hwi/default.nix
index 1bd1e6650c8..332521d0704 100644
--- a/pkgs/development/python-modules/hwi/default.nix
+++ b/pkgs/development/python-modules/hwi/default.nix
@@ -39,7 +39,8 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace setup.py \
       --replace 'libusb1>=1.7,<2.0' 'libusb1>=1.7' \
-      --replace "'python_requires': '>=3.6,<3.10'," "'python_requires': '>=3.6,<4',"
+      --replace "'python_requires': '>=3.6,<3.10'," "'python_requires': '>=3.6,<4'," \
+      --replace 'typing-extensions>=3.7,<4.0' 'typing-extensions>=3.7'
   '';
 
   # tests require to clone quite a few firmwares
diff --git a/pkgs/development/python-modules/hypercorn/default.nix b/pkgs/development/python-modules/hypercorn/default.nix
index 5f384283536..dc165f2b2cc 100644
--- a/pkgs/development/python-modules/hypercorn/default.nix
+++ b/pkgs/development/python-modules/hypercorn/default.nix
@@ -8,6 +8,7 @@
 , h2
 , priority
 , mock
+, poetry-core
 , pytest-asyncio
 , pytest-cov
 , pytest-sugar
@@ -17,16 +18,21 @@
 
 buildPythonPackage rec {
   pname = "Hypercorn";
-  version = "0.11.2";
+  version = "0.13.2";
   disabled = pythonOlder "3.7";
+  format = "pyproject";
 
   src = fetchFromGitLab {
     owner = "pgjones";
     repo = pname;
     rev = version;
-    sha256 = "0v80v6l2xqac5mgrmh2im7y23wpvz4yc2v4h9ryhvl88c2jk9mvh";
+    sha256 = "sha256-fIjw5A6SvFUv8cU7xunVlPYphv+glypY4pzvHNifYLQ=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [ wsproto toml h2 priority ]
     ++ lib.optionals (pythonOlder "3.8") [ typing-extensions ];
 
diff --git a/pkgs/development/python-modules/hyperion-py/default.nix b/pkgs/development/python-modules/hyperion-py/default.nix
index c282be29c65..719efb92d1d 100644
--- a/pkgs/development/python-modules/hyperion-py/default.nix
+++ b/pkgs/development/python-modules/hyperion-py/default.nix
@@ -36,6 +36,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    # pytest-asyncio 0.17.0 compat
+    "--asyncio-mode=auto"
+  ];
+
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace " --timeout=9 --cov=hyperion" ""
diff --git a/pkgs/development/python-modules/hypothesis/default.nix b/pkgs/development/python-modules/hypothesis/default.nix
index 9d9c6b6c91f..89aac153172 100644
--- a/pkgs/development/python-modules/hypothesis/default.nix
+++ b/pkgs/development/python-modules/hypothesis/default.nix
@@ -9,6 +9,7 @@
 , pytest-xdist
 , sortedcontainers
 , tzdata
+, pythonOlder
 }:
 buildPythonPackage rec {
   # https://hypothesis.readthedocs.org/en/latest/packaging.html
@@ -18,14 +19,16 @@ buildPythonPackage rec {
   # If you need these, you can just add them to your environment.
 
   pname = "hypothesis";
-  version = "6.30.1";
+  version = "6.35.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # Use github tarballs that includes tests
   src = fetchFromGitHub {
     owner = "HypothesisWorks";
     repo = "hypothesis-python";
     rev = "hypothesis-python-${version}";
-    sha256 = "0nk57v03q7ss7dbsfd9gi3lzl6ngplk7axbiksm26dgkhh4swk8y";
+    sha256 = "08wph7q3c08480ma2p7m7mamy0g7g7r5jqpwdyhdga4cfg734527";
   };
 
   postUnpack = "sourceRoot=$sourceRoot/hypothesis-python";
@@ -35,8 +38,13 @@ buildPythonPackage rec {
     sortedcontainers
   ];
 
-  checkInputs = [ pytestCheckHook pytest-xdist pexpect ]
-    ++ lib.optional (pythonAtLeast "3.9") tzdata;
+  checkInputs = [
+    pexpect
+    pytest-xdist
+    pytestCheckHook
+  ] ++ lib.optional (pythonAtLeast "3.9") [
+    tzdata
+  ];
 
   inherit doCheck;
 
@@ -45,10 +53,16 @@ buildPythonPackage rec {
     rm tox.ini
   '';
 
-  pytestFlagsArray = [ "tests/cover" ];
+  pytestFlagsArray = [
+    "tests/cover"
+  ];
+
+  pythonImportsCheck = [
+    "hypothesis"
+  ];
 
   meta = with lib; {
-    description = "A Python library for property based testing";
+    description = "Library for property based testing";
     homepage = "https://github.com/HypothesisWorks/hypothesis";
     license = licenses.mpl20;
     maintainers = with maintainers; [ SuperSandro2000 ];
diff --git a/pkgs/development/python-modules/hypothesmith/default.nix b/pkgs/development/python-modules/hypothesmith/default.nix
index 776ff77fce2..3ce0f068fec 100644
--- a/pkgs/development/python-modules/hypothesmith/default.nix
+++ b/pkgs/development/python-modules/hypothesmith/default.nix
@@ -1,4 +1,4 @@
-{ lib, buildPythonPackage, fetchPypi, hypothesis, lark-parser, libcst, black, parso, pytestCheckHook, pytest-cov, pytest-xdist }:
+{ lib, buildPythonPackage, fetchPypi, hypothesis, lark, libcst, black, parso, pytestCheckHook, pytest-cov, pytest-xdist }:
 
 buildPythonPackage rec {
   pname = "hypothesmith";
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     sha256 = "0fb7b3fd03d76eddd4474b0561e1c2662457593a74cc300fd27e5409cd4d7922";
   };
 
-  propagatedBuildInputs = [ hypothesis lark-parser libcst ];
+  propagatedBuildInputs = [ hypothesis lark libcst ];
 
   checkInputs = [ black parso pytestCheckHook pytest-cov pytest-xdist ];
 
diff --git a/pkgs/development/python-modules/i2csense/default.nix b/pkgs/development/python-modules/i2csense/default.nix
new file mode 100644
index 00000000000..475e77c2184
--- /dev/null
+++ b/pkgs/development/python-modules/i2csense/default.nix
@@ -0,0 +1,35 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, smbus-cffi
+}:
+
+buildPythonPackage rec {
+  pname = "i2csense";
+  version = "0.0.4";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6f9c0a37d971e5b8a60c54982bd580cff84bf94fedc08c097e603a8e5609c33f";
+  };
+
+  propagatedBuildInputs = [
+    smbus-cffi
+  ];
+
+  # no tests implemented
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "i2csense.bme280"
+    "i2csense.bh1750"
+    "i2csense.htu21d"
+  ];
+
+  meta = with lib; {
+    description = "A library to handle i2c sensors with the Raspberry Pi";
+    homepage = "https://github.com/azogue/i2csense";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/ibis-framework/default.nix b/pkgs/development/python-modules/ibis-framework/default.nix
index 17f4553297f..61b944b4883 100644
--- a/pkgs/development/python-modules/ibis-framework/default.nix
+++ b/pkgs/development/python-modules/ibis-framework/default.nix
@@ -14,6 +14,7 @@
 , numpy
 , pandas
 , parsy
+, poetry-core
 , pyarrow
 , pytest
 , pytest-mock
@@ -49,6 +50,8 @@ in
 buildPythonPackage rec {
   pname = "ibis-framework";
   version = "2.1.1";
+  format = "pyproject";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
@@ -58,6 +61,8 @@ buildPythonPackage rec {
     sha256 = "sha256-n3fR6wvcSfIo7760seB+5SxtoYSqQmqkzZ9VlNQF200=";
   };
 
+  nativeBuildInputs = [ poetry-core ];
+
   propagatedBuildInputs = [
     atpublic
     cached-property
@@ -75,7 +80,9 @@ buildPythonPackage rec {
     sqlalchemy
     tables
     toolz
-  ] ++ lib.optionals (pythonOlder "3.8") [ importlib-metadata ];
+  ] ++ lib.optionals (pythonOlder "3.8" && lib.versionOlder version "3.0.0") [
+    importlib-metadata
+  ];
 
   checkInputs = [
     pytestCheckHook
@@ -85,8 +92,18 @@ buildPythonPackage rec {
     pytest-xdist
   ];
 
-  # these tests are broken upstream: https://github.com/ibis-project/ibis/issues/3291
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'atpublic = ">=2.3,<3"' 'atpublic = ">=2.3"'
+  '';
+
+  preBuild = ''
+    # setup.py exists only for developer convenience and is automatically generated
+    rm setup.py
+  '';
+
   disabledTests = [
+    # These tests are broken upstream: https://github.com/ibis-project/ibis/issues/3291
     "test_summary_numeric"
     "test_summary_non_numeric"
     "test_batting_most_hits"
@@ -126,11 +143,13 @@ buildPythonPackage rec {
     done
 
     wait
-
+  '' + lib.optionalString (lib.versionOlder version "3.0.0") ''
     export PYTEST_BACKENDS="${backendsString}"
   '';
 
-  pythonImportsCheck = [ "ibis" ] ++ (map (backend: "ibis.backends.${backend}") backends);
+  pythonImportsCheck = [
+    "ibis"
+  ] ++ (map (backend: "ibis.backends.${backend}") backends);
 
   meta = with lib; {
     description = "Productivity-centric Python Big Data Framework";
diff --git a/pkgs/development/python-modules/icecream/default.nix b/pkgs/development/python-modules/icecream/default.nix
index 28fed3bcb78..81fd7c8a693 100644
--- a/pkgs/development/python-modules/icecream/default.nix
+++ b/pkgs/development/python-modules/icecream/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "icecream";
-  version = "2.1.1";
+  version = "2.1.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "47e00e3f4e8477996e7dc420b6fa8ba53f8ced17de65320fedb5b15997b76589";
+    sha256 = "sha256-CTALLRxnhxJBDL1HyVGY6xtYD2bzEaVUzNa551js4O4=";
   };
 
   propagatedBuildInputs = [ asttokens colorama executing pygments ];
diff --git a/pkgs/development/python-modules/icmplib/default.nix b/pkgs/development/python-modules/icmplib/default.nix
index 82033321f88..aae5785fccf 100644
--- a/pkgs/development/python-modules/icmplib/default.nix
+++ b/pkgs/development/python-modules/icmplib/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "icmplib";
-  version = "3.0.2";
+  version = "3.0.3";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ValentinBELYN";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4aq89Nw55OL7JQx3Ra6Ppp5yKLdS6Lc0YA8UJxVhz84=";
+    sha256 = "sha256-EQyu7lV8F/U8cZklYYIMk9ut1FTcoBvGc8Ggx6JerDk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/identify/default.nix b/pkgs/development/python-modules/identify/default.nix
index d5805e94e79..9f2a066ebdf 100644
--- a/pkgs/development/python-modules/identify/default.nix
+++ b/pkgs/development/python-modules/identify/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "identify";
-  version = "2.4.8";
+  version = "2.4.11";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pre-commit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-MrlFTUNisT5VG8IUIk/qejkM7tV6qrU4ASBzAUCLWpQ=";
+    sha256 = "sha256-Q86n2uAjmA05h+0NE77TBkbPiKoRYqB1b2H3MbOVmMY=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/ignite/default.nix b/pkgs/development/python-modules/ignite/default.nix
index c027eba9874..897b5975c90 100644
--- a/pkgs/development/python-modules/ignite/default.nix
+++ b/pkgs/development/python-modules/ignite/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "ignite";
-  version = "0.4.7";
+  version = "0.4.8";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = pname;
     rev = "v${version}";
-    sha256 = "11gvw0yqb3y5ddifs5f38bgslvfmw1bmd9rga1ynlrmmgmhxym6h";
+    sha256 = "sha256-S4wL1RyQ6aDW16wbSl+86VhSJ2S9oanYhNtPQdBtdrA=";
   };
 
   checkInputs = [ pytestCheckHook matplotlib mock pytest-xdist torchvision ];
diff --git a/pkgs/development/python-modules/ilua/default.nix b/pkgs/development/python-modules/ilua/default.nix
index b5010be728c..5b5c129c274 100644
--- a/pkgs/development/python-modules/ilua/default.nix
+++ b/pkgs/development/python-modules/ilua/default.nix
@@ -1,5 +1,5 @@
 { lib
-, buildPythonApplication
+, buildPythonPackage
 , fetchPypi
 , jupyter_console
 , jupyter_core
@@ -8,7 +8,7 @@
 , txzmq
 }:
 
-buildPythonApplication rec {
+buildPythonPackage rec {
   pname = "ilua";
   version = "0.2.1";
   format = "pyproject";
diff --git a/pkgs/development/python-modules/imageio-ffmpeg/default.nix b/pkgs/development/python-modules/imageio-ffmpeg/default.nix
index a249b2dbfe1..6998ff330af 100644
--- a/pkgs/development/python-modules/imageio-ffmpeg/default.nix
+++ b/pkgs/development/python-modules/imageio-ffmpeg/default.nix
@@ -3,7 +3,7 @@
 , isPy3k
 , fetchPypi
 , substituteAll
-, ffmpeg
+, ffmpeg_4
 , python
 }:
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
   patches = [
     (substituteAll {
       src = ./ffmpeg-path.patch;
-      ffmpeg = "${ffmpeg}/bin/ffmpeg";
+      ffmpeg = "${ffmpeg_4}/bin/ffmpeg";
     })
   ];
 
@@ -30,7 +30,7 @@ buildPythonPackage rec {
 
     ${python.interpreter} << EOF
     from imageio_ffmpeg import get_ffmpeg_version
-    assert get_ffmpeg_version() == '${ffmpeg.version}'
+    assert get_ffmpeg_version() == '${ffmpeg_4.version}'
     EOF
 
     runHook postCheck
diff --git a/pkgs/development/python-modules/imageio/default.nix b/pkgs/development/python-modules/imageio/default.nix
index 5727b52755a..98495932fda 100644
--- a/pkgs/development/python-modules/imageio/default.nix
+++ b/pkgs/development/python-modules/imageio/default.nix
@@ -13,23 +13,14 @@
 
 buildPythonPackage rec {
   pname = "imageio";
-  version = "2.13.5";
+  version = "2.14.1";
   disabled = isPy27;
 
   src = fetchPypi {
-    sha256 = "0gc41aiz2i0napk1y00v9bgb4m7dd21sz3lghfm6w6s0ivjjpv67";
+    sha256 = "sha256-cJwY+ACYHkKGq+S9hrbJtbtuKFtrkztboJYu+OeZQFg=";
     inherit pname version;
   };
 
-  patches = [
-    # already present in master, remove on next bump
-    (fetchpatch {
-      name = "pillow-9-gif-rgba.patch";
-      url = "https://github.com/imageio/imageio/commit/836b7a9b077a96de8adab5b67ea53b1292048275.patch";
-      sha256 = "0rlyppa4w16n6qn5hr4wrg8xiy7ifs8c5dhmq8a9yncypx87glpv";
-    })
-  ];
-
   propagatedBuildInputs = [
     imageio-ffmpeg
     numpy
diff --git a/pkgs/development/python-modules/imap-tools/default.nix b/pkgs/development/python-modules/imap-tools/default.nix
index 3437dd902bc..866721b09f5 100644
--- a/pkgs/development/python-modules/imap-tools/default.nix
+++ b/pkgs/development/python-modules/imap-tools/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "imap-tools";
-  version = "0.50.2";
+  version = "0.51.1";
 
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "ikvk";
     repo = "imap_tools";
     rev = "v${version}";
-    hash = "sha256-ki38Kr+eDEIQPRuoQePR7dCRDSgq2ZLXws1pq2gtQrI=";
+    hash = "sha256-ppxQtFK7U006z7qonm3B5gN99CHB9mEX3l0XjrhZQo8=";
   };
 
   checkInputs = [
@@ -25,9 +25,10 @@ buildPythonPackage rec {
   disabledTests = [
     # tests require a network connection
     "test_action"
-    "test_folders"
-    "test_connection"
     "test_attributes"
+    "test_connection"
+    "test_folders"
+    "test_idle"
     "test_live"
   ];
 
diff --git a/pkgs/development/python-modules/importlib-metadata/default.nix b/pkgs/development/python-modules/importlib-metadata/default.nix
index a607de5eb11..13b26e337ac 100644
--- a/pkgs/development/python-modules/importlib-metadata/default.nix
+++ b/pkgs/development/python-modules/importlib-metadata/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "importlib-metadata";
-  version = "4.10.0";
+  version = "4.10.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "importlib_metadata";
     inherit version;
-    hash = "sha256-kqi1jOc0sqRJSHjg7PfXnM16EotfxgFMQB4LYfAG8PY=";
+    hash = "sha256-lR8NiltyYOnbXkHUKShbX0UekoR58Z2AgYh4Un026V4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/influxdb-client/default.nix b/pkgs/development/python-modules/influxdb-client/default.nix
index 9eb9bd48d47..85456fcc15f 100644
--- a/pkgs/development/python-modules/influxdb-client/default.nix
+++ b/pkgs/development/python-modules/influxdb-client/default.nix
@@ -14,14 +14,16 @@
 
 buildPythonPackage rec {
   pname = "influxdb-client";
-  version = "1.25.0";
+  version = "1.26.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "influxdata";
     repo = "influxdb-client-python";
     rev = "v${version}";
-    sha256 = "0anziqlczzc9qmz1mrk8yapn0pc18wz2pknyghyj5qpym3w2azas";
+    hash = "sha256-9MI6AgFTEw9dnBWdry3FnPERXnXZJhbYX4tXj9sGMkg=";
   };
 
   propagatedBuildInputs = [
@@ -38,12 +40,14 @@ buildPythonPackage rec {
   # requires influxdb server
   doCheck = false;
 
-  pythonImportsCheck = [ "influxdb_client" ];
+  pythonImportsCheck = [
+    "influxdb_client"
+  ];
 
   meta = with lib; {
     description = "InfluxDB 2.0 Python client library";
     homepage = "https://github.com/influxdata/influxdb-client-python";
     license = licenses.mit;
-    maintainers = [ maintainers.mic92 ];
+    maintainers = with maintainers; [ mic92 ];
   };
 }
diff --git a/pkgs/development/python-modules/inquirer/default.nix b/pkgs/development/python-modules/inquirer/default.nix
index 84e381f0b8c..dd2db106ace 100644
--- a/pkgs/development/python-modules/inquirer/default.nix
+++ b/pkgs/development/python-modules/inquirer/default.nix
@@ -1,30 +1,48 @@
-{ lib, buildPythonPackage, fetchFromGitHub, python-editor, readchar, blessed, pytest, pytest-cov, pexpect, pytest-mock }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# native
+, poetry-core
+
+# propagated
+, blessed
+, python-editor
+, readchar
+
+# tests
+, pytest-mock
+, pytestCheckHook
+, pexpect
+}:
 
 buildPythonPackage rec {
   pname = "inquirer";
-  version = "2.7.0";
+  version = "2.9.1";
+  format = "pyproject";
 
-  # PyPi archive currently broken: https://github.com/magmax/python-inquirer/issues/106
   src = fetchFromGitHub rec {
     owner = "magmax";
     repo = "python-inquirer";
-    rev = version;
-    sha256 = "152l5qjgkag8zkr69ax2i5s8xcac1qvyngisrplbnbzwbpf77d0d";
+    rev = "v${version}";
+    sha256 = "sha256:0vdly2k4i7bfcqc8zh2miv9dbpmqvayxk72qn9d4hr7z15wph233";
   };
 
-  propagatedBuildInputs = [ blessed python-editor readchar ];
-
-  postPatch = ''
-   substituteInPlace requirements.txt \
-     --replace "blessed==1.17.6" "blessed~=1.17" \
-     --replace "readchar==2.0.1" "readchar>=2.0.0"
-  '';
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
-  checkInputs = [ pytest pytest-cov pexpect pytest-mock ];
+  propagatedBuildInputs = [
+    blessed
+    python-editor
+    readchar
+  ];
 
-  checkPhase = ''
-    pytest --cov-report=term-missing  --cov inquirer --no-cov-on-fail tests/unit tests/integration
-  '';
+  checkInputs = [
+    pexpect
+    pytest-mock
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/magmax/python-inquirer";
diff --git a/pkgs/development/python-modules/intellifire4py/default.nix b/pkgs/development/python-modules/intellifire4py/default.nix
index cd8dfe3fb6f..5418b237d1b 100644
--- a/pkgs/development/python-modules/intellifire4py/default.nix
+++ b/pkgs/development/python-modules/intellifire4py/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "intellifire4py";
-  version = "0.7.3";
+  version = "0.9.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "jeeftor";
     repo = pname;
     rev = version;
-    hash = "sha256-vOARk7TZrpsJLt8Ofur1NxknejmmxmH4Z+30mev4++o=";
+    hash = "sha256-oI4iGnfitou8/Jhe7K4rnSPnmddfO+6FLZzqgNmaPV8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ipaddr/default.nix b/pkgs/development/python-modules/ipaddr/default.nix
new file mode 100644
index 00000000000..41ef6faa7c3
--- /dev/null
+++ b/pkgs/development/python-modules/ipaddr/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi }:
+
+buildPythonPackage rec {
+  pname = "ipaddr";
+  version = "2.2.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1ml8r8z3f0mnn381qs1snbffa920i9ycp6mm2am1d3aqczkdz4j0";
+  };
+
+  checkPhase = ''
+    python ipaddr_test.py
+  '';
+
+  meta = with lib; {
+    description = "IP address manipulation library";
+    homepage = "https://github.com/google/ipaddr-py";
+    license = licenses.asl20;
+    maintainers = [ maintainers.astro ];
+  };
+}
diff --git a/pkgs/development/python-modules/ipykernel/default.nix b/pkgs/development/python-modules/ipykernel/default.nix
index 1a34dfaf65b..0827e611679 100644
--- a/pkgs/development/python-modules/ipykernel/default.nix
+++ b/pkgs/development/python-modules/ipykernel/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "ipykernel";
-  version = "6.6.0";
+  version = "6.7.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3a227788216b43982d9ac28195949467627b0d16e6b8af9741d95dcaa8c41a89";
+    sha256 = "d82b904fdc2fd8c7b1fbe0fa481c68a11b4cd4c8ef07e6517da1f10cc3114d24";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ipyparallel/default.nix b/pkgs/development/python-modules/ipyparallel/default.nix
index 4c64fca34b7..51b76fc532b 100644
--- a/pkgs/development/python-modules/ipyparallel/default.nix
+++ b/pkgs/development/python-modules/ipyparallel/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "ipyparallel";
-  version = "6.3.0";
+  version = "8.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0a97b276c62db633e9e97a816282bdd166f9df74e28204f0c8fa54b71944cfdc";
+    sha256 = "63f7e136e88f890e9802522fa5475dd81e7614ba06a8cfe4f80cc3056fdb7d73";
   };
 
   buildInputs = [ nose ];
diff --git a/pkgs/development/python-modules/ipython/default.nix b/pkgs/development/python-modules/ipython/default.nix
index 73ead288ee4..cee9868cfac 100644
--- a/pkgs/development/python-modules/ipython/default.nix
+++ b/pkgs/development/python-modules/ipython/default.nix
@@ -3,63 +3,77 @@
 , buildPythonPackage
 , fetchPypi
 , pythonOlder
+
 # Build dependencies
 , glibcLocales
-# Test dependencies
-, nose
-, pygments
+
 # Runtime dependencies
-, jedi
+, appnope
+, backcall
+, black
 , decorator
+, jedi
 , matplotlib-inline
+, pexpect
 , pickleshare
-, traitlets
 , prompt-toolkit
-, pexpect
-, appnope
-, backcall
+, pygments
+, stack-data
+, traitlets
+
+# Test dependencies
+, pytestCheckHook
+, testpath
 }:
 
 buildPythonPackage rec {
   pname = "ipython";
-  version = "7.30.1";
-  disabled = pythonOlder "3.7";
+  version = "8.0.1";
+  format = "pyproject";
+  disabled = pythonOlder "3.8";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cb6aef731bf708a7727ab6cde8df87f0281b1427d41e65d62d4b68934fa54e97";
+    sha256 = "0x19sj4dlq7r4p1mqnpx9245r8dwvpjwd8n34snfm37a452lsmmb";
   };
 
-  prePatch = lib.optionalString stdenv.isDarwin ''
-    substituteInPlace setup.py --replace "'gnureadline'" " "
-  '';
-
-  buildInputs = [ glibcLocales ];
-
-  checkInputs = [ nose pygments ];
+  buildInputs = [
+    glibcLocales
+  ];
 
   propagatedBuildInputs = [
-    jedi
+    backcall
+    black
     decorator
+    jedi
     matplotlib-inline
+    pexpect
     pickleshare
-    traitlets
     prompt-toolkit
     pygments
-    pexpect
-    backcall
-  ] ++ lib.optionals stdenv.isDarwin [appnope];
+    stack-data
+    traitlets
+  ] ++ lib.optionals stdenv.isDarwin [
+    appnope
+  ];
 
   LC_ALL="en_US.UTF-8";
 
-  doCheck = false; # Circular dependency with ipykernel
+  pythonImportsCheck = [
+    "IPython"
+  ];
+
+  preCheck = ''
+    export HOME=$TMPDIR
 
-  checkPhase = ''
-    nosetests
+    # doctests try to fetch an image from the internet
+    substituteInPlace pytest.ini \
+      --replace "--ipdoctest-modules" "--ipdoctest-modules --ignore=IPython/core/display.py"
   '';
 
-  pythonImportsCheck = [
-    "IPython"
+  checkInputs = [
+    pytestCheckHook
+    testpath
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/ipyvuetify/default.nix b/pkgs/development/python-modules/ipyvuetify/default.nix
index 61fd8d269ba..567c033e243 100644
--- a/pkgs/development/python-modules/ipyvuetify/default.nix
+++ b/pkgs/development/python-modules/ipyvuetify/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "ipyvuetify";
-  version = "1.8.1";
+  version = "1.8.2";
 
   # GitHub version tries to run npm (Node JS)
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2d17367ce7da45a2622107d55c8b4c5475aace99ed5d95e5d7d3f93aa4c0c566";
+    sha256 = "sha256-uFjS7lv8kDRultRqqu2++1eieLs67dLolVurTXWls8A=";
   };
 
   propagatedBuildInputs = [ ipyvue ];
diff --git a/pkgs/development/python-modules/irctokens/default.nix b/pkgs/development/python-modules/irctokens/default.nix
index 037a5f0520f..3cd86abb0b2 100644
--- a/pkgs/development/python-modules/irctokens/default.nix
+++ b/pkgs/development/python-modules/irctokens/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "irctokens";
-  version = "2.0.0";
+  version = "2.0.1";
   disabled = pythonOlder "3.6";  # f-strings
 
   src = fetchFromGitHub {
     owner = "jesopo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0kpxn5paailm4xpdlnzxrhjrfgvvg5pp327wd8kl41a0wbqkj4zb";
+    sha256 = "sha256-FgcLngS11U9eBNV/8jllwdrm89tCmthA1sUaFDovk6U=";
   };
 
   checkInputs = [ pyyaml ];
diff --git a/pkgs/development/python-modules/islpy/default.nix b/pkgs/development/python-modules/islpy/default.nix
index d6e4332fdea..67b547b724e 100644
--- a/pkgs/development/python-modules/islpy/default.nix
+++ b/pkgs/development/python-modules/islpy/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "islpy";
-  version = "2021.1";
+  version = "2022.1.1";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b3f49de925149dbf2482e648016507cd66d0dce6668a1bc4de5e7a937e9c576d";
+    sha256 = "sha256-eWNc1xxOqEmPdSC1Ha6tfM8ofgkudfOGjvp3ZyM4pxE=";
   };
 
   postConfigure = ''
diff --git a/pkgs/development/python-modules/iso4217/default.nix b/pkgs/development/python-modules/iso4217/default.nix
index b1438f29a01..12cf40a6764 100644
--- a/pkgs/development/python-modules/iso4217/default.nix
+++ b/pkgs/development/python-modules/iso4217/default.nix
@@ -16,14 +16,16 @@ let
 in
 buildPythonPackage rec {
   pname = "iso4217";
-  version = "1.7";
+  version = "1.8";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "dahlia";
     repo = pname;
     rev = version;
-    hash = "sha256-Ih2l6bGM7i5TUkzJPkgx8EOOL4a3/qE28SUZS6M4sQc=";
+    hash = "sha256-L0vx6Aan6D1lusgBh/pcT373ZTxbtWpQnFKB2V0dxlA=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.9") [
diff --git a/pkgs/development/python-modules/isort/default.nix b/pkgs/development/python-modules/isort/default.nix
index f708391cba2..d21f79b6ba9 100644
--- a/pkgs/development/python-modules/isort/default.nix
+++ b/pkgs/development/python-modules/isort/default.nix
@@ -8,14 +8,14 @@
 
 buildPythonPackage rec {
   pname = "isort";
-  version = "5.9.3";
+  version = "5.10.1";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = "isort";
     rev = version;
-    sha256 = "sha256-JbRZ/3Xz35tGoCNnQesR08Sjoz3yimxZyxhhOXGvmXw=";
+    sha256 = "09spgl2k9xrprr5gbpfc91a8p7mx7a0c64ydgc91b3jhrmnd9jg1";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/janus/default.nix b/pkgs/development/python-modules/janus/default.nix
index c8a9efdb54f..f4c52db722c 100644
--- a/pkgs/development/python-modules/janus/default.nix
+++ b/pkgs/development/python-modules/janus/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "janus";
-  version = "0.7.0";
+  version = "1.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f10dcf5776e8d49cc30ec86d5eb7268eeec39abaa24fe0332ee8fb8fa3611845";
+    sha256 = "df976f2cdcfb034b147a2d51edfc34ff6bfb12d4e2643d3ad0e10de058cb1612";
   };
 
   disabled = pythonOlder "3.6";
diff --git a/pkgs/development/python-modules/jaraco_collections/default.nix b/pkgs/development/python-modules/jaraco_collections/default.nix
index 46f2bfdff3f..d45d354b38e 100644
--- a/pkgs/development/python-modules/jaraco_collections/default.nix
+++ b/pkgs/development/python-modules/jaraco_collections/default.nix
@@ -4,10 +4,10 @@
 
 buildPythonPackage rec {
   pname = "jaraco.collections";
-  version = "3.4.0";
+  version = "3.5.1";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "344d14769d716e7496af879ac71b3c6ebdd46abc64bd9ec21d15248365aa3ac9";
+    sha256 = "b04f00bd4b3c4fc4ba5fe1baf8042c0efd192b13e386830ea23fff77bb69dc88";
   };
 
   pythonNamespaces = [ "jaraco" ];
diff --git a/pkgs/development/python-modules/jaraco_functools/default.nix b/pkgs/development/python-modules/jaraco_functools/default.nix
index 1316c2b4e72..73aa7708cf2 100644
--- a/pkgs/development/python-modules/jaraco_functools/default.nix
+++ b/pkgs/development/python-modules/jaraco_functools/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "jaraco.functools";
-  version = "3.4.0";
+  version = "3.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "659a64743047d00c6ae2a2aa60573c62cfc0b4b70eaa14fa50c80360ada32aa8";
+    sha256 = "31e0e93d1027592b7b0bec6ad468db850338981ebee76ba5e212e235f4c7dda0";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/jax/default.nix b/pkgs/development/python-modules/jax/default.nix
index 0af64fcf480..c91b6e48522 100644
--- a/pkgs/development/python-modules/jax/default.nix
+++ b/pkgs/development/python-modules/jax/default.nix
@@ -6,6 +6,7 @@
 , numpy
 , opt-einsum
 , pytestCheckHook
+, pytest-xdist
 , pythonOlder
 , scipy
 , typing-extensions
@@ -13,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "jax";
-  version = "0.2.28";
+  version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +23,7 @@ buildPythonPackage rec {
     owner = "google";
     repo = pname;
     rev = "${pname}-v${version}";
-    sha256 = "1ky442zi5i8b5mk284s0i7dk8rh6vi9dvyqfscpij88g37clgpp0";
+    sha256 = "0bpqmyc4hg25i8cfnrx3y2bwgp6h5rri2a1q9i8gb6r0id97zvcn";
   };
 
   patches = [
@@ -45,6 +46,7 @@ buildPythonPackage rec {
   checkInputs = [
     jaxlib
     pytestCheckHook
+    pytest-xdist
   ];
 
   # NOTE: Don't run the tests in the expiremental directory as they require flax
@@ -52,6 +54,7 @@ buildPythonPackage rec {
   # Not a big deal, this is how the JAX docs suggest running the test suite
   # anyhow.
   pytestFlagsArray = [
+    "-n auto"
     "-W ignore::DeprecationWarning"
     "tests/"
   ];
diff --git a/pkgs/development/python-modules/jaxlib/bin.nix b/pkgs/development/python-modules/jaxlib/bin.nix
index 52e673eb362..3504c6bf320 100644
--- a/pkgs/development/python-modules/jaxlib/bin.nix
+++ b/pkgs/development/python-modules/jaxlib/bin.nix
@@ -13,11 +13,20 @@
 #   * https://github.com/google/jax/issues/971#issuecomment-508216439
 #   * https://github.com/google/jax/issues/5723#issuecomment-913038780
 
-{ addOpenGLRunpath, autoPatchelfHook, buildPythonPackage, config
-, fetchurl, isPy39, lib, stdenv
-# propagatedBuildInputs
-, absl-py, flatbuffers, scipy, cudatoolkit_11, cudnn
-# Options:
+{ absl-py
+, addOpenGLRunpath
+, autoPatchelfHook
+, buildPythonPackage
+, config
+, cudatoolkit_11
+, cudnn
+, fetchurl
+, flatbuffers
+, isPy39
+, lib
+, scipy
+, stdenv
+  # Options:
 , cudaSupport ? config.cudaSupport or false
 }:
 
@@ -32,7 +41,7 @@ let
 in
 buildPythonPackage rec {
   pname = "jaxlib";
-  version = "0.1.75";
+  version = "0.3.0";
   format = "wheel";
 
   # At the time of writing (8/19/21), there are releases for 3.7-3.9. Supporting
@@ -44,7 +53,7 @@ buildPythonPackage rec {
   src = {
     cpu = fetchurl {
       url = "https://storage.googleapis.com/jax-releases/nocuda/jaxlib-${version}-cp39-none-manylinux2010_x86_64.whl";
-      sha256 = "1davmx9dvai8dq3h5ac82634gjhv6l46kq6baajrxjqczbp0w7m6";
+      sha256 = "151p4vqli8x0iqgrzrr8piqk7d76a2xq2krf23jlb142iam5bw01";
     };
     gpu = fetchurl {
       # Note that there's also a release targeting cuDNN 8.2, but unfortunately
@@ -52,7 +61,7 @@ buildPythonPackage rec {
       # Check pkgs/development/libraries/science/math/cudnn/default.nix for more
       # details.
       url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn805-cp39-none-manylinux2010_x86_64.whl";
-      sha256 = "1mk618lq1q5x0dc3xbid8bim59l9j6l47xq232gdbn401ykrid7r";
+      sha256 = "0z15rdw3a8sq51rpjmfc41ix1q095aasl79rvlib85ir6f3wh2h8";
 
       # This is what the cuDNN 8.2 download looks like for future reference:
       # url = "https://storage.googleapis.com/jax-releases/cuda11/jaxlib-${version}+cuda11.cudnn82-cp39-none-manylinux2010_x86_64.whl";
@@ -88,15 +97,16 @@ buildPythonPackage rec {
     done
   '';
 
-  # pip dependencies and optionally cudatoolkit.
+  # pip dependencies and optionally cudatoolkit. Note that cudatoolkit is
+  # necessary since jaxlib looks for "ptxas" in $PATH.
   propagatedBuildInputs = [ absl-py flatbuffers scipy ] ++ lib.optional cudaSupport cudatoolkit_11;
 
   pythonImportsCheck = [ "jaxlib" ];
 
   meta = with lib; {
     description = "XLA library for JAX";
-    homepage    = "https://github.com/google/jax";
-    license     = licenses.asl20;
+    homepage = "https://github.com/google/jax";
+    license = licenses.asl20;
     maintainers = with maintainers; [ samuela ];
     platforms = [ "x86_64-linux" ];
   };
diff --git a/pkgs/development/python-modules/jaxlib/default.nix b/pkgs/development/python-modules/jaxlib/default.nix
index bfb7f494ce1..664e109719a 100644
--- a/pkgs/development/python-modules/jaxlib/default.nix
+++ b/pkgs/development/python-modules/jaxlib/default.nix
@@ -4,7 +4,7 @@
 
   # Build-time dependencies:
 , addOpenGLRunpath
-, bazel_4
+, bazel_5
 , binutils
 , buildBazelPackage
 , buildPythonPackage
@@ -50,7 +50,7 @@
 let
 
   pname = "jaxlib";
-  version = "0.1.75";
+  version = "0.3.0";
 
   meta = with lib; {
     description = "JAX is Autograd and XLA, brought together for high-performance machine learning research.";
@@ -82,13 +82,13 @@ let
   bazel-build = buildBazelPackage {
     name = "bazel-build-${pname}-${version}";
 
-    bazel = bazel_4;
+    bazel = bazel_5;
 
     src = fetchFromGitHub {
       owner = "google";
       repo = "jax";
       rev = "${pname}-v${version}";
-      sha256 = "01ks4djbpjsxjy2zwdwv3h00sgwi4ps3jz75swddrw2f56zjdmw4";
+      sha256 = "0ndpngx5k6lf6jqjck82bbp0gs943z0wh7vs9gwbyk2bw0da7w72";
     };
 
     nativeBuildInputs = [
@@ -216,9 +216,9 @@ let
     fetchAttrs = {
       sha256 =
         if cudaSupport then
-          "1lyipbflqd1y5cdj4hdml5h1inbr0wwfgp6xw5p5623qv3im16lh"
+          "1k0rjxqjm703gd9navwzx5x3874b4dxamr62m1fxhm79d271zxis"
         else
-          "09kapzpfwnlr6ghmgwac232bqf2a57mm1brz4cvfx8mlg8bbaw63";
+          "0ivah1w41jcj13jm740qzwx5h0ia8vbj71pjgd0zrfk3c92kll41";
     };
 
     buildAttrs = {
@@ -229,12 +229,17 @@ let
       # 2) Force static protobuf linkage to prevent crashes on loading multiple extensions
       #    in the same python program due to duplicate protobuf DBs.
       # 3) Patch python path in the compiler driver.
+      # 4) Patch tensorflow sources to work with later versions of protobuf. See
+      #    https://github.com/google/jax/issues/9534. Note that this should be
+      #    removed on the next release after 0.3.0.
       preBuild = ''
         for src in ./jaxlib/*.{cc,h}; do
           sed -i 's@include/pybind11@pybind11@g' $src
         done
         sed -i 's@-lprotobuf@-l:libprotobuf.a@' ../output/external/org_tensorflow/third_party/systemlibs/protobuf.BUILD
         sed -i 's@-lprotoc@-l:libprotoc.a@' ../output/external/org_tensorflow/third_party/systemlibs/protobuf.BUILD
+        substituteInPlace ../output/external/org_tensorflow/tensorflow/compiler/xla/python/pprof_profile_builder.cc \
+          --replace "status.message()" "std::string{status.message()}"
       '' + lib.optionalString cudaSupport ''
         patchShebangs ../output/external/org_tensorflow/third_party/gpus/crosstool/clang/bin/crosstool_wrapper_driver_is_not_gcc.tpl
       '';
diff --git a/pkgs/development/python-modules/jc/default.nix b/pkgs/development/python-modules/jc/default.nix
index 5318f2fd189..ba70918cde1 100644
--- a/pkgs/development/python-modules/jc/default.nix
+++ b/pkgs/development/python-modules/jc/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jc";
-  version = "1.18.2";
+  version = "1.18.3";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kellyjonbrazil";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5GGY23MDsUbSC2tYGVqwwtFi5vnSldozMR4HuY+h+l4=";
+    sha256 = "sha256-OMFW2xR6X/6H8ouHAe5qX8ltuwkNG9esjdosac+MiNw=";
   };
 
   propagatedBuildInputs = [ ruamel-yaml xmltodict pygments ];
diff --git a/pkgs/development/python-modules/jdatetime/default.nix b/pkgs/development/python-modules/jdatetime/default.nix
index 97e500eebcf..f2e9b66b7b3 100644
--- a/pkgs/development/python-modules/jdatetime/default.nix
+++ b/pkgs/development/python-modules/jdatetime/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "jdatetime";
-  version = "3.8.2";
+  version = "4.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c685687e3f39e1b9a3ba9c00ed9d8e88603bc8994413e84623e6c5d43214e6f8";
+    sha256 = "sha256-01uuou0hPk6Hu4QMYWNwAVQL0h6ORFS9EjUrBlkewI4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jira/default.nix b/pkgs/development/python-modules/jira/default.nix
index c7d8207aa3d..b22f5ccd73a 100644
--- a/pkgs/development/python-modules/jira/default.nix
+++ b/pkgs/development/python-modules/jira/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "jira";
-  version = "3.0.1";
+  version = "3.1.1";
 
   src = fetchFromGitHub {
     owner = "pycontribs";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hAUAzkHPXFDlKEom+dkzr8GQ+sqK2Ci1/k+QuSNvifE=";
+    sha256 = "04s2zgwxip54g894hps2cm081cp07mbi7qipmsv4dvailhsg43nn";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/johnnycanencrypt/default.nix b/pkgs/development/python-modules/johnnycanencrypt/default.nix
index 2f7921374e7..9f247c2d756 100644
--- a/pkgs/development/python-modules/johnnycanencrypt/default.nix
+++ b/pkgs/development/python-modules/johnnycanencrypt/default.nix
@@ -18,20 +18,20 @@
 
 buildPythonPackage rec {
   pname = "johnnycanencrypt";
-  version = "0.5.0";
+  version = "0.6.0";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "kushaldas";
     repo = "johnnycanencrypt";
     rev = "v${version}";
-    sha256 = "192wfrlyylrpzq70yki421mi1smk8q2cyki2a1d03q7h6apib3j4";
+    sha256 = "0b1yfddf38dicmjgnw9mk5g0iisa5yq6l9cj6kfskhyrznasvz3g";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit patches src;
     name = "${pname}-${version}";
-    hash = "sha256-2XhXCKyXVlFgbcOoMy/A5ajiIVxBii56YeI29mO720U=";
+    hash = "sha256-1dRFC59GY7M99LvQWy2eXPesmLX5k46rN8l4suLYkQY=";
   };
 
   format = "pyproject";
diff --git a/pkgs/development/python-modules/josepy/default.nix b/pkgs/development/python-modules/josepy/default.nix
index c091480f63c..036b60e9eca 100644
--- a/pkgs/development/python-modules/josepy/default.nix
+++ b/pkgs/development/python-modules/josepy/default.nix
@@ -1,28 +1,25 @@
 { lib
-, fetchPypi
 , buildPythonPackage
 , cryptography
+, fetchPypi
 , pyopenssl
-, setuptools
-, mock
 , pytestCheckHook
+, pythonOlder
+, setuptools
 }:
 
 buildPythonPackage rec {
   pname = "josepy";
-  version = "1.11.0";
+  version = "1.12.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "40ef59f2f537ec01bafe698dad66281f6ccf4642f747411647db403ab8fa9a2d";
+    sha256 = "267004a64f08c016cd54b7aaf7c323fa3ef3679fb62f4b086cd56448d0fecb25";
   };
 
-  postPatch = ''
-    # remove coverage flags
-    sed -i '/addopts/d' pytest.ini
-    sed -i '/flake8-ignore/d' pytest.ini
-  '';
-
   propagatedBuildInputs = [
     pyopenssl
     cryptography
@@ -30,15 +27,23 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    mock
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --flake8 --cov-report xml --cov-report=term-missing --cov=josepy --cov-config .coveragerc" ""
+    sed -i '/flake8-ignore/d' pytest.ini
+  '';
+
+  pythonImportsCheck = [
+    "josepy"
+  ];
+
   meta = with lib; {
     description = "JOSE protocol implementation in Python";
     homepage = "https://github.com/jezdez/josepy";
     license = licenses.asl20;
-    maintainers = with maintainers; [  ];
+    maintainers = with maintainers; [ ];
   };
 }
-
diff --git a/pkgs/development/python-modules/jpylyzer/default.nix b/pkgs/development/python-modules/jpylyzer/default.nix
index 442267b52ea..92c78895eb6 100644
--- a/pkgs/development/python-modules/jpylyzer/default.nix
+++ b/pkgs/development/python-modules/jpylyzer/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "jpylyzer";
-  version = "2.0.0";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "openpreserve";
     repo = pname;
     rev = version;
-    sha256 = "01wfbb1bgby9b7m6q7483kvpyc1qhj80dg8d5a6smcxvmy8y6x5n";
+    sha256 = "1cd9klq83g9p4nkg7x78axqid5vcsqzggp431hcfdiixa50yjxjg";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/jq/default.nix b/pkgs/development/python-modules/jq/default.nix
index 3833bf9850f..ed80bc9f81f 100644
--- a/pkgs/development/python-modules/jq/default.nix
+++ b/pkgs/development/python-modules/jq/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "jq";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "73ce588025495e6ebcda20bb9e64b6d9f3f1657c22895143ae243899ac710cbc";
+    sha256 = "sha256-hqzixD8XtaZKOIh+3nLHuM4qsLz6ge4o/2Q06TUBCr4=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/json-schema-for-humans/default.nix b/pkgs/development/python-modules/json-schema-for-humans/default.nix
index aa70a35bd07..a9faf437f80 100644
--- a/pkgs/development/python-modules/json-schema-for-humans/default.nix
+++ b/pkgs/development/python-modules/json-schema-for-humans/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "json-schema-for-humans";
-  version = "0.39.5";
+  version = "0.40";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "coveooss";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-gaholnLO5oIQaXgliuvlU2MfpjiCMgAPplOPgvMYim8=";
+    hash = "sha256-H0jvOnrWE4/xxRYNehshHBRNc/qLX1+sCV7O1ACCdew=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jsonlines/default.nix b/pkgs/development/python-modules/jsonlines/default.nix
index d16fa89a97c..4892d72aae9 100644
--- a/pkgs/development/python-modules/jsonlines/default.nix
+++ b/pkgs/development/python-modules/jsonlines/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "jsonlines";
-  version = "1.2.0";
+  version = "3.0.0";
 
   src = fetchFromGitHub {
     owner = "wbolster";
     repo = pname;
     rev = version;
-    sha256 = "1f8zsqy8p9a41gqg2a5x7sppc5qhhq7gw58id2aigb270yxzs7jw";
+    sha256 = "1242bvk208vjaw8zl1d7ydb0i05v8fwdgi92d3bi1vaji9s2hv65";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
index 0ad388db329..f049e2a09d3 100644
--- a/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
+++ b/pkgs/development/python-modules/jsonrpclib-pelix/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "jsonrpclib-pelix";
-  version = "0.4.3.1";
+  version = "0.4.3.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f6f376c72ec1c0dfd69fcc2721d711f6ca1fe22bf71f99e6884c5e43e9b58c95";
+    sha256 = "sha256-6eCzPvqPog2BfdeN/Z5M2zlnyKXTy1p4O+HugcSonHw=";
   };
 
   doCheck = false; # test_suite="tests" in setup.py but no tests in pypi.
diff --git a/pkgs/development/python-modules/jsonschema/default.nix b/pkgs/development/python-modules/jsonschema/default.nix
index b78165fc4f3..dd2a47f1bcb 100644
--- a/pkgs/development/python-modules/jsonschema/default.nix
+++ b/pkgs/development/python-modules/jsonschema/default.nix
@@ -1,38 +1,59 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
+{ lib
 , attrs
-, functools32
+, buildPythonPackage
+, fetchPypi
 , importlib-metadata
-, mock
-, nose
+, importlib-resources
 , pyperf
 , pyrsistent
+, pytestCheckHook
+, pythonOlder
 , setuptools-scm
 , twisted
-, vcversioner
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "jsonschema";
-  version = "3.2.0";
+  version = "4.4.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c8a85b28d377cc7737e46e2d9f2b4f44ee3c0e1deac6bf46ddefc7187d30797a";
+    sha256 = "636694eb41b3535ed608fe04129f26542b59ed99808b4f688aa32dcf55317a83";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
-  propagatedBuildInputs = [ attrs importlib-metadata functools32 pyrsistent ];
-  checkInputs = [ nose mock pyperf twisted vcversioner ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    pyrsistent
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+    typing-extensions
+  ] ++ lib.optionals (pythonOlder "3.9") [
+    importlib-resources
+  ];
 
-  # zope namespace collides on py27
-  doCheck = !isPy27;
-  checkPhase = ''
-    nosetests
-  '';
+  checkInputs = [
+    pyperf
+    pytestCheckHook
+    twisted
+  ];
+
+  pythonImportsCheck = [
+    "jsonschema"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/Julian/jsonschema";
     description = "An implementation of JSON Schema validation for Python";
+    homepage = "https://github.com/Julian/jsonschema";
     license = licenses.mit;
     maintainers = with maintainers; [ domenkozar ];
   };
diff --git a/pkgs/development/python-modules/jupyter-repo2docker/default.nix b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
index c3971c68750..b1389889b59 100644
--- a/pkgs/development/python-modules/jupyter-repo2docker/default.nix
+++ b/pkgs/development/python-modules/jupyter-repo2docker/default.nix
@@ -16,7 +16,7 @@
 }:
 
 buildPythonPackage rec {
-  version = "2021.08.0";
+  version = "2022.02.0";
   pname = "jupyter-repo2docker";
   format = "setuptools";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "jupyterhub";
     repo = "repo2docker";
     rev = version;
-    sha256 = "10hcdag7ivyqyiqrmr9c48zynp8d81ic3px1ffgnaysih7lvkwb6";
+    sha256 = "sha256-L7jUaGRea5HJnb/SX2K2qfvtFwkq9jfhrpvsu+LHH3M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyter-server-mathjax/default.nix b/pkgs/development/python-modules/jupyter-server-mathjax/default.nix
index 47f5f8e5840..cd5e1e0f762 100644
--- a/pkgs/development/python-modules/jupyter-server-mathjax/default.nix
+++ b/pkgs/development/python-modules/jupyter-server-mathjax/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "jupyter-server-mathjax";
-  version = "0.2.3";
+  version = "0.2.5";
 
   src = fetchPypi {
     inherit version;
     pname = "jupyter_server_mathjax";
-    sha256 = "564e8d1272019c6771208f577b5f9f2b3afb02b9e2bff3b34c042cef8ed84451";
+    sha256 = "sha256-ZNlsjm3+btunN5ArLcOi3AWPF1FndsJfTTDKJGF+57M=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterhub/default.nix b/pkgs/development/python-modules/jupyterhub/default.nix
index a90fa0eb9a1..66344e408a8 100644
--- a/pkgs/development/python-modules/jupyterhub/default.nix
+++ b/pkgs/development/python-modules/jupyterhub/default.nix
@@ -149,6 +149,8 @@ buildPythonPackage rec {
     "test_upgrade"
     # Testcase fails to find requests import
     "test_external_service"
+    # attempts to do ssl connection
+    "test_connection_notebook_wrong_certs"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/jupyterlab-git/default.nix b/pkgs/development/python-modules/jupyterlab-git/default.nix
index 46c76ebfe20..9d2907072e6 100644
--- a/pkgs/development/python-modules/jupyterlab-git/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-git/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-git";
-  version = "0.34.0";
+  version = "0.34.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "jupyterlab_git";
     inherit version;
-    sha256 = "3b9ee3a577834c0f021d41069be7b03068297ce0c2a73c76b17e8018eb3eb62f";
+    sha256 = "c7a03f526eb19175df73fedd5dee3cdae2d39e0474eef8f55c1c55b219ab26d9";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterlab-widgets/default.nix b/pkgs/development/python-modules/jupyterlab-widgets/default.nix
index 92b341a591c..26794fbc77b 100644
--- a/pkgs/development/python-modules/jupyterlab-widgets/default.nix
+++ b/pkgs/development/python-modules/jupyterlab-widgets/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab-widgets";
-  version = "1.0.2";
+  version = "2.0.0b1";
 
   src = fetchPypi {
     pname = "jupyterlab_widgets";
     inherit version;
-    sha256 = "7885092b2b96bf189c3a705cc3c412a4472ec5e8382d0b47219a66cccae73cfa";
+    sha256 = "1xinfk3bhqmfp9ygfpi8b87h4ky8dv3sdr96035psx1jjgyyw8bi";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupyterlab/default.nix b/pkgs/development/python-modules/jupyterlab/default.nix
index 88c3d39ccf0..21158ebb539 100644
--- a/pkgs/development/python-modules/jupyterlab/default.nix
+++ b/pkgs/development/python-modules/jupyterlab/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "jupyterlab";
-  version = "3.2.6";
+  version = "3.2.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04e763974010f0f424ee889238fa488ee11708d0546e6df6e2cad9e0fc724bdb";
+    sha256 = "sha256-Zd3DTl2hp2RgbjjE9wz51KwcBRgoE88Kst/qMSxwESQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/jupytext/default.nix b/pkgs/development/python-modules/jupytext/default.nix
index 777f82a3e5a..6e0668de147 100644
--- a/pkgs/development/python-modules/jupytext/default.nix
+++ b/pkgs/development/python-modules/jupytext/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , GitPython
+, isort
 , jupyter-client
 , jupyter-packaging
 , jupyterlab
@@ -17,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "jupytext";
-  version = "1.13.5";
+  version = "1.13.7";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +27,7 @@ buildPythonPackage rec {
     owner = "mwouts";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0rapp2baqml1z3n8k7ijf5461b3p8wgr45y3njz54q75v0jk7v45";
+    sha256 = "sha256-DWK5ZoPL6Ek3dXHOlZfecQKLNwBqDjMZ77XZ7YLCXKI=";
   };
 
   buildInputs = [
@@ -44,6 +45,7 @@ buildPythonPackage rec {
 
   checkInputs = [
     GitPython
+    isort
     jupyter-client
     notebook
     pytestCheckHook
@@ -65,6 +67,10 @@ buildPythonPackage rec {
     "--ignore-glob='tests/test_pre_commit_*.py'"
   ];
 
+  disabledTests = [
+    "test_apply_black_through_jupytext" # we can't do anything about ill-formatted notebooks
+  ];
+
   pythonImportsCheck = [
     "jupytext"
     "jupytext.cli"
diff --git a/pkgs/development/python-modules/kaldi-active-grammar/default.nix b/pkgs/development/python-modules/kaldi-active-grammar/default.nix
index f7d4738ebca..d5a906dd733 100644
--- a/pkgs/development/python-modules/kaldi-active-grammar/default.nix
+++ b/pkgs/development/python-modules/kaldi-active-grammar/default.nix
@@ -17,13 +17,13 @@ let
 in
 buildPythonPackage rec {
   pname = "kaldi-active-grammar";
-  version = "2.1.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "daanzu";
     repo = pname;
     rev = "v${version}";
-    sha256 = "ArbwduoH7mMmIjlFfYAFvcpR39rrkVUJhYEyQzZqsbY=";
+    sha256 = "0lilk6yjzcy31avy2z36bl9lr60gzwhmyqwqn8akq11qc3mbffsk";
   };
 
   KALDI_BRANCH = "foo";
diff --git a/pkgs/development/python-modules/karton-config-extractor/default.nix b/pkgs/development/python-modules/karton-config-extractor/default.nix
index 71170ac5342..ab092fc2560 100644
--- a/pkgs/development/python-modules/karton-config-extractor/default.nix
+++ b/pkgs/development/python-modules/karton-config-extractor/default.nix
@@ -3,17 +3,21 @@
 , fetchFromGitHub
 , karton-core
 , malduck
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "karton-config-extractor";
-  version = "2.0.1";
+  version = "2.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1kq0gbfz9y0n0bcblyrmwv4la3lcf86lf80794sdvyvn49g0brny";
+    sha256 = "sha256-r0WMtfau5zeVDSjxy2h96INQl8bm4EP0IAcgnGPhTtk=";
   };
 
   propagatedBuildInputs = [
@@ -28,7 +32,10 @@ buildPythonPackage rec {
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "karton.config_extractor" ];
+
+  pythonImportsCheck = [
+    "karton.config_extractor"
+  ];
 
   meta = with lib; {
     description = "Static configuration extractor for the Karton framework";
diff --git a/pkgs/development/python-modules/karton-mwdb-reporter/default.nix b/pkgs/development/python-modules/karton-mwdb-reporter/default.nix
index 65bb683be2b..f976e3fedba 100644
--- a/pkgs/development/python-modules/karton-mwdb-reporter/default.nix
+++ b/pkgs/development/python-modules/karton-mwdb-reporter/default.nix
@@ -3,17 +3,21 @@
 , fetchFromGitHub
 , karton-core
 , mwdblib
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "karton-mwdb-reporter";
-  version = "1.0.1";
+  version = "unstable-2022-02-22";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "0jrn5c83nhcjny4bc879wrsgcr7mbazm51jzdkxmxyqf543cc841";
+    rev = "1afa32251b4826eac4386596b4a20f295699faec";
+    hash = "sha256-dbtIjWSNIRMccrGJspZMOBUD2EzuvW7xESlEwiOhKfQ=";
   };
 
   propagatedBuildInputs = [
@@ -21,14 +25,12 @@ buildPythonPackage rec {
     mwdblib
   ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "mwdblib==3.4.0" "mwdblib"
-  '';
-
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "karton.mwdb_reporter" ];
+
+  pythonImportsCheck = [
+    "karton.mwdb_reporter"
+  ];
 
   meta = with lib; {
     description = "Karton service that uploads analyzed artifacts and metadata to MWDB Core";
diff --git a/pkgs/development/python-modules/labelbox/default.nix b/pkgs/development/python-modules/labelbox/default.nix
index ba7579d1067..c89782d4027 100644
--- a/pkgs/development/python-modules/labelbox/default.nix
+++ b/pkgs/development/python-modules/labelbox/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "labelbox";
-  version = "3.10.0";
+  version = "3.11.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Labelbox";
     repo = "labelbox-python";
     rev = "v${version}";
-    sha256 = "0afrzxy8hmsvqp84mf89k7sqlzzyh6xwp2pz5abj0981mqlzf2x9";
+    sha256 = "114h9phvbdknyvqdnjba3pd7i4iznffhgx9d569lq0hfla3hl61a";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/lark-parser/default.nix b/pkgs/development/python-modules/lark/default.nix
index c1c67fd4c1e..6c29a662524 100644
--- a/pkgs/development/python-modules/lark-parser/default.nix
+++ b/pkgs/development/python-modules/lark/default.nix
@@ -6,19 +6,26 @@
 }:
 
 buildPythonPackage rec {
-  pname = "lark-parser";
-  version = "0.12.0";
+  pname = "lark";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "lark-parser";
     repo = "lark";
     rev = version;
-    sha256 = "sha256-zcMGCn3ixD3dJg3GlC/ijs+U1JN1BodHLTXZc/5UR7Y=";
+    sha256 = "0pfvjh4ydc49gs6m8b3ip85c8nd4da2bhz9714fwcyl3hdp33q7n";
   };
 
   # Optional import, but fixes some re known bugs & allows advanced regex features
   propagatedBuildInputs = [ regex ];
 
+  pythonImportsCheck = [
+    "lark"
+    "lark.parsers"
+    "lark.tools"
+    "lark.grammars"
+  ];
+
   checkPhase = ''
     runHook preCheck
 
diff --git a/pkgs/development/python-modules/lazy-object-proxy/default.nix b/pkgs/development/python-modules/lazy-object-proxy/default.nix
index 09232cbc624..0619a62fa32 100644
--- a/pkgs/development/python-modules/lazy-object-proxy/default.nix
+++ b/pkgs/development/python-modules/lazy-object-proxy/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "lazy-object-proxy";
-  version = "1.6.0";
+  version = "1.7.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "489000d368377571c6f982fba6497f2aa13c6d1facc40660963da62f5c379726";
+    sha256 = "d609c75b986def706743cdebe5e47553f4a5a1da9c5ff66d76013ef396b5a8a4";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/lektor/default.nix b/pkgs/development/python-modules/lektor/default.nix
index a094bf6b37e..f88e14d0a3e 100644
--- a/pkgs/development/python-modules/lektor/default.nix
+++ b/pkgs/development/python-modules/lektor/default.nix
@@ -24,13 +24,13 @@
 
 buildPythonPackage rec {
   pname = "lektor";
-  version = "3.1.3";
+  version = "3.3.1";
 
   src = fetchFromGitHub {
     owner = "lektor";
     repo = "lektor";
     rev = version;
-    sha256 = "16qw68rz5q77w84lwyhjpfd3bm4mfrhcjrnxwwnz3vmi610h68hx";
+    sha256 = "04gn3jybqf9wc6l9mi0djpki60adnk7gppmv987ik676k5x8f1kk";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/librosa/default.nix b/pkgs/development/python-modules/librosa/default.nix
index cb8f4c023bc..21a58e7e981 100644
--- a/pkgs/development/python-modules/librosa/default.nix
+++ b/pkgs/development/python-modules/librosa/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "librosa";
-  version = "0.8.1";
+  version = "0.9.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c53d05e768ae4a3e553ae21c2e5015293e5efbfd5c12d497f1104cb519cca6b3";
+    sha256 = "sha256-ftXW4/RUbl48KEBpH53cVoePkUo1pQBg31/KKybUthQ=";
   };
 
   propagatedBuildInputs = [ joblib matplotlib six scikit-learn decorator audioread resampy soundfile pooch ];
diff --git a/pkgs/development/python-modules/libtmux/default.nix b/pkgs/development/python-modules/libtmux/default.nix
index 5b251f842bf..7a7e116aa22 100644
--- a/pkgs/development/python-modules/libtmux/default.nix
+++ b/pkgs/development/python-modules/libtmux/default.nix
@@ -1,21 +1,32 @@
-{ lib, fetchPypi, buildPythonPackage, pytest }:
+{ lib
+, fetchFromGitHub
+, buildPythonPackage
+, poetry-core
+, pytestCheckHook
+, pkgs
+}:
 
 buildPythonPackage rec {
   pname = "libtmux";
-  version = "0.10.2";
+  version = "0.10.3";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a0e958b85ec14cdaabecfa738a0dd51846f05e5c5e9d6749a2bf5160b9f7e1d2";
+  src = fetchFromGitHub {
+    owner = "tmux-python";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256:0syj8m4x2mcq96b76b7h75dsmcai22m15pfgkk90rpg7rp6sn772";
   };
 
-  checkInputs = [ pytest ];
-  postPatch = ''
-    sed -i 's/==.*$//' requirements/test.txt
-  '';
+  nativeBuildInputs = [
+    poetry-core
+  ];
 
-  # No tests in archive
-  doCheck = false;
+  checkInputs = [
+    pkgs.procps
+    pkgs.tmux
+    pytestCheckHook
+  ];
 
   meta = with lib; {
     description = "Scripting library for tmux";
diff --git a/pkgs/development/python-modules/libusb1/default.nix b/pkgs/development/python-modules/libusb1/default.nix
index f1b474b960f..da84d890ece 100644
--- a/pkgs/development/python-modules/libusb1/default.nix
+++ b/pkgs/development/python-modules/libusb1/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "libusb1";
-  version = "2.0.1";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d3ba82ecf7ab6a48d21dac6697e26504670cc3522b8e5941bd28fb56cf3f6c46";
+    sha256 = "5792a9defee40f15d330a40d9b1800545c32e47ba7fc66b6f28f133c9fcc8538";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/lightwave/default.nix b/pkgs/development/python-modules/lightwave/default.nix
new file mode 100644
index 00000000000..ba937f7700d
--- /dev/null
+++ b/pkgs/development/python-modules/lightwave/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "lightwave";
+  version = "0.20";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-jhffMDhgQ257ZQxvidiRgBSnZvzLJFKNU2NZ8AyGTGc=";
+  };
+
+  pythonImportsCheck = [
+    "lightwave"
+  ];
+
+  # Requires phyiscal hardware
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Module for interacting with LightwaveRF hubs";
+    homepage = "https://github.com/GeoffAtHome/lightwave";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/limiter/default.nix b/pkgs/development/python-modules/limiter/default.nix
index 1d496c2cf08..f550651c104 100644
--- a/pkgs/development/python-modules/limiter/default.nix
+++ b/pkgs/development/python-modules/limiter/default.nix
@@ -2,12 +2,13 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, strenum
 , token-bucket
 }:
 
 buildPythonPackage rec {
   pname = "limiter";
-  version = "0.2.0";
+  version = "0.3.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.10";
@@ -16,19 +17,15 @@ buildPythonPackage rec {
     owner = "alexdelorenzo";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-h3XiCR/8rcCBwdhO6ExrrUE9piba5mssad3+t41scSk=";
+    hash = "sha256-2Et4ozVf9t+tp2XtLbDk/LgLIU+jQAEAlU8hA5lpxdk=";
   };
 
   propagatedBuildInputs = [
+    strenum
     token-bucket
   ];
 
-  postPatch = ''
-    substituteInPlace requirements.txt \
-      --replace "token-bucket==0.2.0" "token-bucket>=0.2.0"
-  '';
-
-  # Project has no tests
+  # Module has no tests
   doCheck = false;
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/limits/default.nix b/pkgs/development/python-modules/limits/default.nix
index 4c4f7a32133..9a19dda1578 100644
--- a/pkgs/development/python-modules/limits/default.nix
+++ b/pkgs/development/python-modules/limits/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "limits";
-  version = "1.6";
+  version = "2.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6c0a57b42647f1141f5a7a0a8479b49e4367c24937a01bd9d4063a595c2dd48a";
+    sha256 = "da6346f0dcf85f17f0f1cc709c3408a3058cf6fee68313c288127c287237b411";
   };
 
   propagatedBuildInputs = [ six ];
diff --git a/pkgs/development/python-modules/llvmlite/default.nix b/pkgs/development/python-modules/llvmlite/default.nix
index e3b9e3bb7c8..637a4deb3ab 100644
--- a/pkgs/development/python-modules/llvmlite/default.nix
+++ b/pkgs/development/python-modules/llvmlite/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "llvmlite";
-  version = "0.37.0";
+  version = "0.38.0";
 
   disabled = isPyPy || !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6392b870cd018ec0c645d6bbb918d6aa0eeca8c62674baaee30862d6b6865b15";
+    sha256 = "a99d166ccf3b116f3b9ed23b9b70ba2415640a9c978f3aaa13fad49c58f4965c";
   };
 
   nativeBuildInputs = [ llvm ];
diff --git a/pkgs/development/python-modules/localimport/default.nix b/pkgs/development/python-modules/localimport/default.nix
index 3c41618d5b8..c5bc45aae4f 100644
--- a/pkgs/development/python-modules/localimport/default.nix
+++ b/pkgs/development/python-modules/localimport/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "localimport";
-  version = "1.7.3";
+  version = "1.7.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-p7ACOzJRwH9hICMcxtVt/r+twEoFsDxPKGuarFnFIbo=";
+    hash = "sha256-8UhaZyGdN/N6UwR7pPYQR2hZCz3TrBxr1KOBJRx28ok=";
   };
 
   pythonImportsCheck = [ "localimport" ];
diff --git a/pkgs/development/python-modules/locationsharinglib/default.nix b/pkgs/development/python-modules/locationsharinglib/default.nix
index 42cf477ca16..2004f962098 100644
--- a/pkgs/development/python-modules/locationsharinglib/default.nix
+++ b/pkgs/development/python-modules/locationsharinglib/default.nix
@@ -6,7 +6,6 @@
 , emoji
 , fetchPypi
 , nose
-, python
 , pythonOlder
 , pytz
 , requests
@@ -46,7 +45,7 @@ buildPythonPackage rec {
   checkPhase = ''
     runHook preCheck
     # Only coverage no real unit tests
-    ${python.interpreter} setup.py nosetests
+    nosetests
     runHook postCheck
   '';
 
diff --git a/pkgs/development/python-modules/logical-unification/default.nix b/pkgs/development/python-modules/logical-unification/default.nix
new file mode 100644
index 00000000000..b89fcb25339
--- /dev/null
+++ b/pkgs/development/python-modules/logical-unification/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, toolz
+, multipledispatch
+, pytestCheckHook
+, pytest-html
+, pytest-benchmark
+}:
+
+buildPythonPackage rec {
+  pname = "logical-unification";
+  version = "0.4.5";
+
+  src = fetchFromGitHub {
+    owner = "pythological";
+    repo = "unification";
+    rev = "707cf4a39e27a4a8bf06b7e7dce7223085574e65";
+    sha256 = "sha256-3wqO0pWWFRQeoGNvbSDdLNYFyjNnv+O++F7+vTBUJoI=";
+  };
+
+  propagatedBuildInputs = [
+    toolz
+    multipledispatch
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-html
+    pytest-benchmark  # Needed for the `--benchmark-skip` flag
+  ];
+
+  pytestFlagsArray = [
+    "--benchmark-skip"
+    "--html=testing-report.html"
+    "--self-contained-html"
+  ];
+
+  pythonImportsCheck = [ "unification" ];
+
+  meta = with lib; {
+    description = "Straightforward unification in Python that's extensible via generic functions";
+    homepage = "https://github.com/pythological/unification";
+    changelog = "https://github.com/pythological/unification/releases";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ Etjean ];
+  };
+}
diff --git a/pkgs/development/python-modules/loo-py/default.nix b/pkgs/development/python-modules/loo-py/default.nix
index 16060c1c030..d16b06a284a 100644
--- a/pkgs/development/python-modules/loo-py/default.nix
+++ b/pkgs/development/python-modules/loo-py/default.nix
@@ -15,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "loo-py";
-  version = "2017.2";
+  version = "2020.2";
 
   src = fetchPypi {
     pname = "loo.py";
     inherit version;
-    sha256 = "c656992de48b328cdaccd7d1f14eb522b9dd5a1d0d15f54623f4ab18fd219abc";
+    sha256 = "c0aba31f8b61f6487e84120a154fab862d19c3b374ad4285b987c4f2d746d51f";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/luddite/default.nix b/pkgs/development/python-modules/luddite/default.nix
index 7e8a1c5dfed..46a5f295290 100644
--- a/pkgs/development/python-modules/luddite/default.nix
+++ b/pkgs/development/python-modules/luddite/default.nix
@@ -32,6 +32,6 @@ buildPythonPackage rec {
     description = "Checks for out-of-date package versions";
     homepage = "https://github.com/jumptrading/luddite";
     license = licenses.asl20;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/python-modules/mailchecker/default.nix b/pkgs/development/python-modules/mailchecker/default.nix
index c78d5c7baee..ab609b597a4 100644
--- a/pkgs/development/python-modules/mailchecker/default.nix
+++ b/pkgs/development/python-modules/mailchecker/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "mailchecker";
-  version = "4.1.11";
+  version = "4.1.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-PmPl2P72K9VYby+Kkt4LOGXYPt7nhu43LEmuv4ha1yA=";
+    hash = "sha256-4ez18K9ksVGjzspHHcw/Ja6hxoKTkYLBFn65m7VBWYk=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/manimpango/default.nix b/pkgs/development/python-modules/manimpango/default.nix
index 91e0303b4f0..b717b449117 100644
--- a/pkgs/development/python-modules/manimpango/default.nix
+++ b/pkgs/development/python-modules/manimpango/default.nix
@@ -32,6 +32,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/ManimCommunity/ManimPango";
     license = licenses.mit;
     description = "Binding for Pango";
-    maintainers = [ maintainers.angustrau ];
+    maintainers = [ maintainers.emilytrau ];
   };
 }
diff --git a/pkgs/development/python-modules/mariadb/default.nix b/pkgs/development/python-modules/mariadb/default.nix
index 251b69e8e67..987fe203edb 100644
--- a/pkgs/development/python-modules/mariadb/default.nix
+++ b/pkgs/development/python-modules/mariadb/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "mariadb";
-  version = "1.0.9";
+  version = "1.0.10";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-Aqmz0KB26aDQ6hxItF7Qm2R14rak6Mge2fHoLK87/Ck=";
+    hash = "sha256-eQKLpgURc9rRrQvnUYOJyrcCOfkrT/i4gT2uVcPyxT0=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/markups/default.nix b/pkgs/development/python-modules/markups/default.nix
new file mode 100644
index 00000000000..2a0db14d96e
--- /dev/null
+++ b/pkgs/development/python-modules/markups/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, buildPythonPackage
+, docutils
+, fetchPypi
+, importlib-metadata
+, markdown
+, pygments
+, pytestCheckHook
+, python-markdown-math
+, pythonOlder
+, pyyaml
+, textile
+}:
+
+buildPythonPackage rec {
+  pname = "markups";
+  version = "3.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "Markups";
+    inherit version;
+    hash = "sha256-q5dHpywcZFdBjrQnbHmHGXfBOmVGGOTxLiofCZD78vw=";
+  };
+
+  propagatedBuildInputs = [
+    docutils
+    markdown
+    pygments
+    python-markdown-math
+    pyyaml
+    textile
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # AssertionError: '.selector .ch { color: #408080' not found in 'pre...
+    "test_get_pygments_stylesheet"
+  ];
+
+  pythonImportsCheck = [
+    "markups"
+  ];
+
+  meta = with lib; {
+    description = "Wrapper around various text markup languages";
+    homepage = "https://github.com/retext-project/pymarkups";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ klntsky ];
+  };
+}
diff --git a/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix b/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
index 1aeaa04e172..9887f42bd8f 100644
--- a/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/marshmallow-sqlalchemy/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "marshmallow-sqlalchemy";
-  version = "0.26.1";
+  version = "0.27.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d8525f74de51554b5c8491effe036f60629a426229befa33ff614c8569a16a73";
+    sha256 = "1521b129564444648c523a38f6446c137f1aae5c9c7de1ec151d5ebf03fd407d";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mat2/default.nix b/pkgs/development/python-modules/mat2/default.nix
index 31bf90f7f0a..97b52855f6b 100644
--- a/pkgs/development/python-modules/mat2/default.nix
+++ b/pkgs/development/python-modules/mat2/default.nix
@@ -7,7 +7,7 @@
 , bubblewrap
 , exiftool
 , ffmpeg
-, mime-types
+, mailcap
 , wrapGAppsHook
 , gdk-pixbuf
 , gobject-introspection
@@ -47,6 +47,11 @@ buildPythonPackage rec {
     ./executable-name.patch
     # hardcode path to mat2 executable
     ./tests.patch
+    # fix gobject-introspection typelib path for Nautilus extension
+    (substituteAll {
+      src = ./fix_poppler.patch;
+      poppler_path = "${poppler_gi}/lib/girepository-1.0";
+    })
   ];
 
   postPatch = ''
@@ -76,7 +81,7 @@ buildPythonPackage rec {
     install -Dm 444 data/mat2.svg -t "$out/share/icons/hicolor/scalable/apps"
     install -Dm 444 doc/mat2.1 -t "$out/share/man/man1"
     install -Dm 444 nautilus/mat2.py -t "$out/share/nautilus-python/extensions"
-    buildPythonPath "$out $pythonPath"
+    buildPythonPath "$out $pythonPath $propagatedBuildInputs"
     patchPythonScript "$out/share/nautilus-python/extensions/mat2.py"
   '' + lib.optionalString dolphinIntegration ''
     install -Dm 444 dolphin/mat2.desktop -t "$out/share/kservices5/ServiceMenus"
diff --git a/pkgs/development/python-modules/mat2/fix_poppler.patch b/pkgs/development/python-modules/mat2/fix_poppler.patch
new file mode 100644
index 00000000000..02bdbb6345d
--- /dev/null
+++ b/pkgs/development/python-modules/mat2/fix_poppler.patch
@@ -0,0 +1,14 @@
+diff --git a/nautilus/mat2.py b/nautilus/mat2.py
+index 11e6986..5a0e68f 100644
+--- a/nautilus/mat2.py
++++ b/nautilus/mat2.py
+@@ -22,6 +22,9 @@ import gi
+ gi.require_version('Nautilus', '3.0')
+ gi.require_version('Gtk', '3.0')
+ gi.require_version('GdkPixbuf', '2.0')
++gi.require_version('GIRepository', '2.0')
++from gi.repository import GIRepository
++GIRepository.Repository.prepend_search_path('@poppler_path@')
+ from gi.repository import Nautilus, GObject, Gtk, Gio, GLib, GdkPixbuf
+ 
+ from libmat2 import parser_factory
diff --git a/pkgs/development/python-modules/matrix-common/default.nix b/pkgs/development/python-modules/matrix-common/default.nix
index 44d37b988a7..b1dd247987c 100644
--- a/pkgs/development/python-modules/matrix-common/default.nix
+++ b/pkgs/development/python-modules/matrix-common/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "matrix_common";
-  version = "1.0.0";
+  version = "1.1.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ZmiKRoJ8hv1USuJBDzV2U1uIFt2lRxmT+iAOqOShJK4=";
+    sha256 = "sha256-qCOHSK/Cs3B5gYNn/tUVbzVXcbB8j/ChdZNPR+D/MnY=";
   };
 
   propagatedBuildInputs = [ attrs ];
diff --git a/pkgs/development/python-modules/matrix-nio/default.nix b/pkgs/development/python-modules/matrix-nio/default.nix
index 69721aeb828..665167e290e 100644
--- a/pkgs/development/python-modules/matrix-nio/default.nix
+++ b/pkgs/development/python-modules/matrix-nio/default.nix
@@ -28,22 +28,21 @@
 
 buildPythonPackage rec {
   pname = "matrix-nio";
-  version = "0.18.7";
+  version = "0.19.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "poljar";
     repo = "matrix-nio";
     rev = version;
-    hash = "sha256-eti9kvfv3y7m+mJzcxftyn8OyVSd2Ehqd3eU2ezMV5Q=";
+    hash = "sha256-+WZk2m05y/bYj8zSuWTzm+rnCC0L9H9WNQ2RLXv7hDk=";
   };
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'aiofiles = "^0.6.0"' 'aiofiles = "*"'
-    # Remove after https://github.com/poljar/matrix-nio/pull/288
-    substituteInPlace pyproject.toml \
-      --replace 'aiohttp-socks = "^0.6.0"' 'aiohttp-socks = "^0.7.0"'
+      --replace 'aiofiles = "^0.6.0"' 'aiofiles = "*"' \
+      --replace 'jsonschema = "^3.2.0"' 'jsonschema = "*"' \
+      --replace 'cachetools = { version = "^4.2.1", optional = true }' 'cachetools = { version = "*", optional = true }'
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/mcstatus/default.nix b/pkgs/development/python-modules/mcstatus/default.nix
index 7aeb0ee2c69..5045964ffde 100644
--- a/pkgs/development/python-modules/mcstatus/default.nix
+++ b/pkgs/development/python-modules/mcstatus/default.nix
@@ -46,6 +46,7 @@ buildPythonPackage rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace 'asyncio-dgram = "1.2.0"' 'asyncio-dgram = ">=1.2.0"' \
+      --replace 'dnspython = "2.1.0"' 'dnspython = "^2.1.0"' \
       --replace 'six = "1.14.0"' 'six = ">=1.14.0"' \
       --replace 'click = "7.1.2"' 'click = ">=7.1.2"'
   '';
diff --git a/pkgs/development/python-modules/mecab-python3/default.nix b/pkgs/development/python-modules/mecab-python3/default.nix
index ad717e9d0c8..1b452850161 100644
--- a/pkgs/development/python-modules/mecab-python3/default.nix
+++ b/pkgs/development/python-modules/mecab-python3/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "mecab-python3";
-  version = "1.0.4";
+  version = "1.0.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b150ad5fe4260539b4ef184657e552ef81307fbbe60ae1f258bc814549ea90f8";
+    sha256 = "sha256-5wPXjIimcau4FwNRZEhQAV2bv6sxUwo7QNEkgaZ3mhE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/meshio/default.nix b/pkgs/development/python-modules/meshio/default.nix
index e9b74d02b07..54f8431ba27 100644
--- a/pkgs/development/python-modules/meshio/default.nix
+++ b/pkgs/development/python-modules/meshio/default.nix
@@ -10,12 +10,12 @@
 
 buildPythonPackage rec {
   pname = "meshio";
-  version = "4.4.6";
+  version = "5.2.2";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy";
+    sha256 = "209885ac31b00155e43c27859d1aff0ba7f97f319ee7bed453a8b9e1677a4e52";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/meshtastic/default.nix b/pkgs/development/python-modules/meshtastic/default.nix
index c8df80596f5..0af337bc13f 100644
--- a/pkgs/development/python-modules/meshtastic/default.nix
+++ b/pkgs/development/python-modules/meshtastic/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "meshtastic";
-  version = "1.2.81";
+  version = "1.2.85";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "meshtastic";
     repo = "Meshtastic-python";
     rev = version;
-    sha256 = "sha256-ITE3gtcvXMisARlmnhlSzkZr/tGLiDq8aSO6d6jmlOw=";
+    sha256 = "sha256-DFRnyWBQ3/g5NwZH5hoVYJfj3gN/UP57JvNSnNaqws4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mezzanine/default.nix b/pkgs/development/python-modules/mezzanine/default.nix
index c157cd2a6be..2c78575d370 100644
--- a/pkgs/development/python-modules/mezzanine/default.nix
+++ b/pkgs/development/python-modules/mezzanine/default.nix
@@ -20,12 +20,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.3.1";
+  version = "5.1.0";
   pname = "Mezzanine";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "42c7909953cc5aea91921b47d804b61e14893bf48a2a476ce49a96559a0fa1d3";
+    sha256 = "ce1117c81416d2e0a77981419312e200aec1cf3cb3ea9630083bd29e74bbb265";
   };
 
   disabled = isPyPy || lib.versionOlder django.version "1.11"
diff --git a/pkgs/development/python-modules/mido/default.nix b/pkgs/development/python-modules/mido/default.nix
index 909c224685c..25d8d492dd7 100644
--- a/pkgs/development/python-modules/mido/default.nix
+++ b/pkgs/development/python-modules/mido/default.nix
@@ -4,9 +4,7 @@
 , fetchPypi
 , substituteAll
 , portmidi
-, pygame
 , python-rtmidi
-, rtmidi-python
 , pytestCheckHook
 }:
 
@@ -27,9 +25,7 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    pygame
     python-rtmidi
-    rtmidi-python
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/minikanren/default.nix b/pkgs/development/python-modules/minikanren/default.nix
new file mode 100644
index 00000000000..7452148e8e4
--- /dev/null
+++ b/pkgs/development/python-modules/minikanren/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, toolz
+, cons
+, multipledispatch
+, etuples
+, logical-unification
+, pytestCheckHook
+, pytest-html
+}:
+
+buildPythonPackage rec {
+  pname = "minikanren";
+  version = "1.0.3";
+
+  src = fetchFromGitHub {
+    owner = "pythological";
+    repo = "kanren";
+    rev = "5aa9b1734cbb3fe072a7c72b46e1b72a174d28ac";
+    sha256 = "sha256-daAtREgm91634Q0mc0/WZivDiyZHC7TIRoGRo8hMnGE=";
+  };
+
+  propagatedBuildInputs = [
+    toolz
+    cons
+    multipledispatch
+    etuples
+    logical-unification
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-html
+  ];
+
+  pytestFlagsArray = [
+    "--html=testing-report.html"
+    "--self-contained-html"
+  ];
+
+  pythonImportsCheck = [ "kanren" ];
+
+  meta = with lib; {
+    description = "Relational programming in Python";
+    homepage = "https://github.com/pythological/kanren";
+    changelog = "https://github.com/pythological/kanren/releases";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ Etjean ];
+  };
+}
diff --git a/pkgs/development/python-modules/mistletoe/default.nix b/pkgs/development/python-modules/mistletoe/default.nix
index 0de5077ebee..814a93e9c54 100644
--- a/pkgs/development/python-modules/mistletoe/default.nix
+++ b/pkgs/development/python-modules/mistletoe/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "mistletoe";
-  version = "0.8.1";
+  version = "0.8.2";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "468c6a42fd98b85e05b318033f63d76e02712e1ea1328a7ebcba7e47fb6f1e41";
+    sha256 = "sha256-ouNU5lPym8r1WZ2JSFEhGaxgN+nC+O53851VRQ59Gmw=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/mlxtend/default.nix b/pkgs/development/python-modules/mlxtend/default.nix
index 4692dc61c22..05fc6b4bb59 100644
--- a/pkgs/development/python-modules/mlxtend/default.nix
+++ b/pkgs/development/python-modules/mlxtend/default.nix
@@ -13,14 +13,14 @@
 
 buildPythonPackage rec {
   pname = "mlxtend";
-  version = "0.17.3";
+  version = "0.19.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rasbt";
     repo = pname;
     rev = version;
-    sha256 = "1515wgmj5rhwpmky7apmmvys1630sfg534fai6559s13hp11pdcl";
+    sha256 = "0qawzlzv4zf612n9n03fxnz6gxmzschq0ykh9dgv70l33ihmjbaw";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/mocket/default.nix b/pkgs/development/python-modules/mocket/default.nix
index afef1cb5724..1a0b7ee907b 100644
--- a/pkgs/development/python-modules/mocket/default.nix
+++ b/pkgs/development/python-modules/mocket/default.nix
@@ -19,12 +19,12 @@
 
 buildPythonPackage rec {
   pname = "mocket";
-  version = "3.10.3";
+  version = "3.10.4";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "82634f7d1a39f6a340ff9c7486e37bf3698e6510fdcfa7b378b5fbb256a42cda";
+    sha256 = "831c23bf891c525828b7da49a358c6e0698481e4c8b3a61a69e87f36d06ef969";
   };
 
   propagatedBuildInputs = [
@@ -45,6 +45,8 @@ buildPythonPackage rec {
     pook
   ];
 
+  # skip http tests
+  SKIP_TRUE_HTTP = true;
   pytestFlagsArray = [
     # Requires a live Redis instance
     "--ignore=tests/main/test_redis.py"
diff --git a/pkgs/development/python-modules/monty/default.nix b/pkgs/development/python-modules/monty/default.nix
index 36d798e5504..ea95e2b2d85 100644
--- a/pkgs/development/python-modules/monty/default.nix
+++ b/pkgs/development/python-modules/monty/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "monty";
-  version = "2021.12.1";
+  version = "2022.1.19";
   disabled = pythonOlder "3.5"; # uses type annotations
 
   src = fetchFromGitHub {
     owner = "materialsvirtuallab";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0zcbdh7pqv4dq3fan0zh912w9bvmf2p0zj1fhp0ayhdsc50cwldh";
+    sha256 = "sha256-CGYYPpXRBvqf6GJYYZUARpzt4XFc5uAw91n21UInYpU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/moonraker-api/default.nix b/pkgs/development/python-modules/moonraker-api/default.nix
index 2888ff1e06d..9f6ca7e91a7 100644
--- a/pkgs/development/python-modules/moonraker-api/default.nix
+++ b/pkgs/development/python-modules/moonraker-api/default.nix
@@ -21,6 +21,12 @@ buildPythonPackage rec {
     sha256 = "1hhm3jnl9qm44y4k927fzw1n32c3551kgsk7i57qw25nca9x3k61";
   };
 
+  postPatch = ''
+    # see comment on https://github.com/cmroche/moonraker-api/commit/e5ca8ab60d2839e150a81182fbe65255d84b4e4e
+    substituteInPlace setup.py \
+      --replace 'name="moonraker-api",' 'name="moonraker-api",version="${version}",'
+  '';
+
   propagatedBuildInputs = [
     aiohttp
   ];
diff --git a/pkgs/development/python-modules/motionblinds/default.nix b/pkgs/development/python-modules/motionblinds/default.nix
index 6e9946cce16..f6f176dcd57 100644
--- a/pkgs/development/python-modules/motionblinds/default.nix
+++ b/pkgs/development/python-modules/motionblinds/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "motionblinds";
-  version = "0.5.10";
+  version = "0.5.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
     owner = "starkillerOG";
     repo = "motion-blinds";
     rev = version;
-    sha256 = "0zz5ardnik370pdfpl77m0hln8rj7ikkvrkyc6fm0vd0w12sihmm";
+    sha256 = "sha256-7o8mov8uV5ZrEYvX1qPSMT2T8Jb/1eV2MytU+1SEYfY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/moto/default.nix b/pkgs/development/python-modules/moto/default.nix
index 4d9156349e4..a998e7b74b4 100644
--- a/pkgs/development/python-modules/moto/default.nix
+++ b/pkgs/development/python-modules/moto/default.nix
@@ -6,6 +6,7 @@
 , cfn-lint
 , docker
 , flask
+, flask-cors
 , freezegun
 , jinja2
 , jsondiff
@@ -24,15 +25,16 @@
 , idna
 , nose
 , pytestCheckHook
+, pytest-xdist
 }:
 
 buildPythonPackage rec {
   pname = "moto";
-  version = "1.3.16";
+  version = "3.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zy0prsyip264i6h03lxsn1qg1n3dc8c4iyfawckjqvm24gnns3c";
+    sha256 = "sha256-vZ1oofOYUkFETDFKwSmifvvn+bCi/6NQAxu950NYk5k=";
   };
 
   postPatch = ''
@@ -42,22 +44,6 @@ buildPythonPackage rec {
       --replace "MarkupSafe<2.0" "MarkupSafe" \
   '';
 
-  patches = [
-    # Remove dependence on boto. The boto library  (long ago superseded by boto3)
-    # has not had an official release in over two years or even a commit in the
-    # last 18 months. These patches should be included in the next moto release
-    # after 1.3.16
-    (fetchpatch {
-      url = "https://github.com/spulec/moto/pull/3503/commits/ae85c539fd57034c4d5cfd0f95af41ff19862dd1.patch";
-      sha256 = "16hr2py6q701d8ih6zcvs3lbanshpbk15ixckgdqngjf160k5m9p";
-      excludes = ["tests/test_ec2/test_ec2_cloudformation.py"];
-    })
-    (fetchpatch {
-      url = "https://github.com/spulec/moto/pull/3468/commits/6ee39bd7fda4d3623569e10dcd9561bf2cd1d0bd.patch";
-      sha256 = "10m3xdqxgys7spav9mkbhcn4z0124rlprwxnw6ysb10610xlna0i";
-    })
-  ];
-
   propagatedBuildInputs = [
     aws-xray-sdk
     boto3
@@ -80,8 +66,15 @@ buildPythonPackage rec {
     idna
   ] ++ lib.optionals isPy27 [ backports_tempfile ];
 
-  # Next release after 1.3.16 will not require `nose`
-  checkInputs = [ boto3 nose freezegun pytestCheckHook sure parameterized ];
+  checkInputs = [
+    boto3
+    flask-cors
+    freezegun
+    parameterized
+    pytestCheckHook
+    pytest-xdist
+    sure
+  ];
 
   # Multiple test files still import boto, rather than boto3 like
   # boto is long-deprecated and broken on python3.9
@@ -89,6 +82,7 @@ buildPythonPackage rec {
   # NOTE: This should change to use disabledTestFiles / disabledTestPaths once that
   # feature stabalizes: see #113153 (mostly the discussion therein), #113167, #110700
   pytestFlagsArray = [
+    "-n $NIX_BUILD_CORES"
     "--ignore=tests/test_awslambda/test_policy.py"
     "--ignore=tests/test_autoscaling/test_autoscaling.py"
     "--ignore=tests/test_autoscaling/test_cloudformation.py"
@@ -226,6 +220,12 @@ buildPythonPackage rec {
     "--ignore=tests/test_swf/responses/test_timeouts.py"
     "--ignore=tests/test_swf/responses/test_workflow_executions.py"
     "--ignore=tests/test_swf/responses/test_workflow_types.py"
+    # attempts web connections
+    "--ignore=tests/test_appsync/test_appsync_schema.py"
+    "--ignore=tests/test_awslambda/test_lambda_eventsourcemapping.py"
+    "--ignore=tests/test_awslambda/test_lambda_invoke.py"
+    "--ignore=tests/test_batch/test_batch_jobs.py"
+    "--ignore=tests/**/*_integration.py"
   ];
 
   disabledTests = [
@@ -256,6 +256,14 @@ buildPythonPackage rec {
     "test_get_records_seq"
     "test_stream_with_range_key"
     "test_create_notebook_instance_bad_volume_size"
+    "http_destination"
+    "test_invoke_function_from_sqs_exception"
+    "test_state_machine_list_executions_with_pagination"
+    "test_put_subscription_filter_with_lambda"
+    "test_create_custom_lambda_resource__verify_cfnresponse_failed"
+    "test_state_machine_creation_fails_with_invalid_names"
+    # needs graphql
+    "test_get_schema_creation_status"
   ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/mpd2/default.nix b/pkgs/development/python-modules/mpd2/default.nix
index 8d17d8b3b0c..282d4a71c96 100644
--- a/pkgs/development/python-modules/mpd2/default.nix
+++ b/pkgs/development/python-modules/mpd2/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "python-mpd2";
-  version = "3.0.4";
+  version = "3.0.5";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1r8saq1460yfa0sxfrvxqs2r453wz2xchlc9gzbpqznr49786rvs";
+    sha256 = "sha256-bxv/2TuaMvwBipu/NIdQW1Lg11fsNAZpBcYKkS1JI4Q=";
   };
 
   buildInputs = [ mock ];
diff --git a/pkgs/development/python-modules/mpi4py/default.nix b/pkgs/development/python-modules/mpi4py/default.nix
index 6e8fd896d91..aa5a74c2cfe 100644
--- a/pkgs/development/python-modules/mpi4py/default.nix
+++ b/pkgs/development/python-modules/mpi4py/default.nix
@@ -2,19 +2,13 @@
 
 buildPythonPackage rec {
   pname = "mpi4py";
-  version = "3.0.3";
+  version = "3.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "012d716c8b9ed1e513fcc4b18e5af16a8791f51e6d1716baccf988ad355c5a1f";
+    sha256 = "sha256-8en64QefQ+r92fgXzbP9MNcJ7cCTtdXa2lekYbLbMAg=";
   };
 
-  patches = [ (fetchpatch {
-    name = "disable-broken-test"; # upstream patch
-    url = "https://github.com/mpi4py/mpi4py/commit/e13cc3ee59ec6ec2c6ee20e384e1e649d5027e8a.patch";
-    sha256 = "0iwknrhxnfmsqjj8ahpn50c8pcdyv9p3wmcqi1jhr4i5y7lnmvvx";
-  })];
-
   passthru = {
     inherit mpi;
   };
diff --git a/pkgs/development/python-modules/msal/default.nix b/pkgs/development/python-modules/msal/default.nix
index aca7def34a1..95b5bbf7ce9 100644
--- a/pkgs/development/python-modules/msal/default.nix
+++ b/pkgs/development/python-modules/msal/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "msal";
-  version = "1.16.0";
+  version = "1.17.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "240fb04dba46a27fd6a3178db8334412d0d02e0be85166f9e05bb45d03399084";
+    sha256 = "sha256-BOPLe7dcUfVtKQOB8jBWIH3x8+tZTtA9OFUfOxbSo24=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/multiset/default.nix b/pkgs/development/python-modules/multiset/default.nix
index fa2fa87d0e8..e511ab10045 100644
--- a/pkgs/development/python-modules/multiset/default.nix
+++ b/pkgs/development/python-modules/multiset/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "multiset";
-  version = "2.1.1";
+  version = "3.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4801569c08bfcecfe7b0927b17f079c90f8607aca8fecaf42ded92b737162bc7";
+    sha256 = "e45671cae8385a8e6248a9b07a3a83280c2d0cc4312713058cfbacdc5ec9973e";
   };
 
   buildInputs = [ setuptools-scm pytest-runner ];
diff --git a/pkgs/development/python-modules/mwdblib/default.nix b/pkgs/development/python-modules/mwdblib/default.nix
index 53ca11459ef..96c3f193396 100644
--- a/pkgs/development/python-modules/mwdblib/default.nix
+++ b/pkgs/development/python-modules/mwdblib/default.nix
@@ -8,18 +8,22 @@
 , keyring
 , python
 , python-dateutil
+, pythonOlder
 , requests
 }:
 
 buildPythonPackage rec {
   pname = "mwdblib";
-  version = "3.4.1";
+  version = "4.1.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "CERT-Polska";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jCtK3Fk725EaA26GG6j6xqEMFH4Qq92QWrJ7sxcWRaY=";
+    sha256 = "sha256-afqE6zL1uwsLNAuy5XY7OduP1e3W2ueteOOVaFJg3b0=";
   };
 
   propagatedBuildInputs = [
@@ -38,7 +42,9 @@ buildPythonPackage rec {
     runHook postCheck
   '';
 
-  pythonImportsCheck = [ "mwdblib" ];
+  pythonImportsCheck = [
+    "mwdblib"
+  ];
 
   meta = with lib; {
     description = "Python client library for the mwdb service";
diff --git a/pkgs/development/python-modules/mwparserfromhell/default.nix b/pkgs/development/python-modules/mwparserfromhell/default.nix
index 2ea41e61541..b8399bebef4 100644
--- a/pkgs/development/python-modules/mwparserfromhell/default.nix
+++ b/pkgs/development/python-modules/mwparserfromhell/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "mwparserfromhell";
-  version = "0.6.3";
+  version = "0.6.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1ad779f1bc0808d280ec1026c9de74f424de535568e21debd12830b5b0fa097e";
+    sha256 = "sha256-kr7JUorjTScok8yvK1J9+FwxT/KM+7MFY0BGewldg0w=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/mypy-boto3-builder/default.nix b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
index 0a825223456..4bb37145637 100644
--- a/pkgs/development/python-modules/mypy-boto3-builder/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-builder/default.nix
@@ -7,6 +7,7 @@
 , jinja2
 , md-toc
 , mdformat
+, newversion
 , poetry-core
 , pyparsing
 , pytestCheckHook
@@ -15,16 +16,16 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-builder";
-  version = "5.5.0";
+  version = "7.1.2";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.10";
 
   src = fetchFromGitHub {
     owner = "vemel";
     repo = "mypy_boto3_builder";
     rev = version;
-    sha256 = "sha256-cFe8d6w28VFTNyj/ABWHkFQDfnM4aTrNZ+WUw5g8H5I=";
+    hash = "sha256-p81Dk6Kv0MzHvexhM8Su5/yIpB+ZGBFqOtm0D18l26s=";
   };
 
   nativeBuildInputs = [
@@ -38,6 +39,7 @@ buildPythonPackage rec {
     jinja2
     md-toc
     mdformat
+    newversion
     pyparsing
   ];
 
@@ -45,12 +47,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  disabledTests = [
-    # Should be fixed with 5.x
-    "test_get_types"
+  pythonImportsCheck = [
+    "mypy_boto3_builder"
   ];
 
-  pythonImportsCheck = [ "mypy_boto3_builder" ];
+  disabledTests = [
+    # Tests require network access
+    "TestBotocoreChangelogChangelog"
+  ];
 
   meta = with lib; {
     description = "Type annotations builder for boto3";
diff --git a/pkgs/development/python-modules/mypy-boto3-s3/default.nix b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
index e7aa7de0c9d..4f33912d3df 100644
--- a/pkgs/development/python-modules/mypy-boto3-s3/default.nix
+++ b/pkgs/development/python-modules/mypy-boto3-s3/default.nix
@@ -8,13 +8,14 @@
 
 buildPythonPackage rec {
   pname = "mypy-boto3-s3";
-  version = "1.20.28";
+  version = "1.21.7";
+  format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "85ac23d06f9d0d794f60041b4c4f271d2bb8f5a83375c963e4a9e73e51ba9ca5";
+    hash = "sha256-SWzL6AMXoZzYw3LwrBdvbe9JzLMudZioKZWo7HtHM8U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/mypy-protobuf/default.nix b/pkgs/development/python-modules/mypy-protobuf/default.nix
index fdcfed839c7..f1c7d83a6ba 100644
--- a/pkgs/development/python-modules/mypy-protobuf/default.nix
+++ b/pkgs/development/python-modules/mypy-protobuf/default.nix
@@ -2,14 +2,14 @@
 
 buildPythonApplication rec {
   pname = "mypy-protobuf";
-  version = "2.10";
+  version = "3.2.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1fed214e16351b09946770794a321a818abb744078b1d863a479da070028684c";
+    sha256 = "sha256-cwqhUzfDjwRG++CPbGwjcO4B05USU2nUtw4IseLuMO4=";
   };
 
   propagatedBuildInputs = [ protobuf types-protobuf grpcio-tools ];
diff --git a/pkgs/development/python-modules/nagiosplugin/default.nix b/pkgs/development/python-modules/nagiosplugin/default.nix
index 6b6e889b5d5..fab05cd4acd 100644
--- a/pkgs/development/python-modules/nagiosplugin/default.nix
+++ b/pkgs/development/python-modules/nagiosplugin/default.nix
@@ -1,31 +1,45 @@
 { lib
 , buildPythonPackage
-, twine
-, numpy
-, pytest
 , fetchPypi
+, numpy
+, pytestCheckHook
+, pythonOlder
+, twine
 }:
 
 buildPythonPackage rec {
   pname = "nagiosplugin";
-  version = "1.3.2";
+  version = "1.3.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1vr3zy0zfvbrqc4nf81zxv4gs2q82sv5sjamdm4573ld529mk2nv";
+    hash = "sha256-vOr67DWfAyOT3dVgrizI0WNhODPsY8k85xifhZBOU9Y=";
   };
 
-  nativeBuildInputs = [ twine ];
-  checkInputs = [ pytest numpy ];
+  nativeBuildInputs = [
+    twine
+  ];
+
+  checkInputs = [
+    numpy
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # Test relies on who, which does not work in the sandbox
+    "test_check_users"
+  ];
 
-  checkPhase = ''
-    # this test relies on who, which does not work in the sandbox
-    pytest -k "not test_check_users" tests/
-  '';
+  pythonImportsCheck = [
+    "nagiosplugin"
+  ];
 
   meta = with lib; {
-    description = "A Python class library which helps with writing Nagios (Icinga) compatible plugins";
-    homepage =  "https://github.com/mpounsett/nagiosplugin";
+    description = "Python class library which helps with writing Nagios (Icinga) compatible plugins";
+    homepage = "https://github.com/mpounsett/nagiosplugin";
     license = licenses.zpl21;
     maintainers = with maintainers; [ symphorien ];
   };
diff --git a/pkgs/development/python-modules/napalm/default.nix b/pkgs/development/python-modules/napalm/default.nix
new file mode 100644
index 00000000000..2266283cc53
--- /dev/null
+++ b/pkgs/development/python-modules/napalm/default.nix
@@ -0,0 +1,44 @@
+{ lib, buildPythonPackage, fetchFromGitHub, callPackage, setuptools, cffi
+, paramiko, requests, future, textfsm, jinja2, netaddr, pyyaml, pyeapi, netmiko
+, junos-eznc, ciscoconfparse, scp, lxml, ncclient, pytestCheckHook, ddt, mock }:
+
+buildPythonPackage rec {
+  pname = "napalm";
+  version = "3.3.1";
+
+  src = fetchFromGitHub {
+    owner = "napalm-automation";
+    repo = "napalm";
+    rev = version;
+    sha256 = "15h1h1a3avv48i14x96b8v7zkhmwg7dnzxycxr18f9530j237rq6";
+  };
+
+  buildInputs = [ setuptools ];
+  propagatedBuildInputs = [
+    cffi
+    paramiko
+    requests
+    future
+    textfsm
+    jinja2
+    netaddr
+    pyyaml
+    pyeapi
+    netmiko
+    junos-eznc
+    ciscoconfparse
+    scp
+    lxml
+    ncclient
+  ];
+
+  checkInputs = [ pytestCheckHook mock ddt ];
+
+  meta = with lib; {
+    description =
+      "Network Automation and Programmability Abstraction Layer with Multivendor support";
+    homepage = "https://github.com/napalm-automation/napalm";
+    license = licenses.asl20;
+    maintainers = [ maintainers.astro ];
+  };
+}
diff --git a/pkgs/development/python-modules/napalm/hp-procurve.nix b/pkgs/development/python-modules/napalm/hp-procurve.nix
new file mode 100644
index 00000000000..774fdd2299c
--- /dev/null
+++ b/pkgs/development/python-modules/napalm/hp-procurve.nix
@@ -0,0 +1,41 @@
+{ lib, buildPythonPackage, fetchFromGitHub, setuptools, napalm, netmiko
+, pytestCheckHook }:
+
+buildPythonPackage rec {
+  pname = "napalm-hp-procurve";
+  version = "0.7.0";
+
+  src = fetchFromGitHub {
+    owner = "napalm-automation-community";
+    repo = pname;
+    rev = version;
+    sha256 = "1lspciddkd1w5lfyz35i0qwgpbn5jq9cbqkwjbsvi4kliz229vkh";
+  };
+
+  # dependency installation in setup.py doesn't work
+  patchPhase = ''
+    echo -n > requirements.txt
+  '';
+
+  buildInputs = [ setuptools napalm ];
+  propagatedBuildInputs = [ netmiko ];
+
+  # setup.cfg seems to contain invalid pytest parameters
+  preCheck = ''
+    rm setup.cfg
+  '';
+  checkInputs = [ pytestCheckHook ];
+  disabledTests = [
+    # AssertionError: Some methods vary.
+    "test_method_signatures"
+    # AttributeError: 'PatchedProcurveDriver' object has no attribute 'platform'
+    "test_get_config_filtered"
+  ];
+
+  meta = with lib; {
+    description = "HP ProCurve Driver for NAPALM automation frontend";
+    homepage =
+      "https://github.com/napalm-automation-community/napalm-hp-procurve";
+    license = licenses.asl20;
+  };
+}
diff --git a/pkgs/development/python-modules/asyncio-nats-client/default.nix b/pkgs/development/python-modules/nats-py/default.nix
index 46dbcdbacd5..f87eb269da7 100644
--- a/pkgs/development/python-modules/asyncio-nats-client/default.nix
+++ b/pkgs/development/python-modules/nats-py/default.nix
@@ -9,15 +9,17 @@
 }:
 
 buildPythonPackage rec {
-  pname = "asyncio-nats-client";
-  version = "0.11.5";
-  disabled = pythonOlder "3.6";
+  pname = "nats-py";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = "nats.py";
     rev = "v${version}";
-    sha256 = "0zwiijaswmfdk71diqmdpb6nx54fmgi8hy0vwx2m3ihhsyjxj82h";
+    hash = "sha256-BraT30J7OIcW2NXAwjcg9PYu+kgf8f1iDjKiN9J6l7Y=";
   };
 
   propagatedBuildInputs = [
@@ -38,12 +40,24 @@ buildPythonPackage rec {
   disabledTests = [
     # RuntimeError: Event loop is closed
     "test_subscribe_no_echo"
-    "test_reconnect_to_new_server_with_auth"
-    "test_drain_connection"
-    "test_discover_servers_on_first_connect"
+    "test_publish"
+    "test_publish_verbose"
+    "test_fetch_max_waiting_fetch_one"
+    "test_fetch_n"
+    "test_consumer_management"
+    "test_ephemeral_subscribe"
+    "test_queue_subscribe_deliver_group"
+    "test_subscribe_push_bound"
+    "test_double_acking_subscribe"
+    "test_flow_control"
+    "test_ordered_consumer"
+    "test_ordered_consumer_single_loss"
+    "test_kv_simple"
   ];
 
-  pythonImportsCheck = [ "nats.aio" ];
+  pythonImportsCheck = [
+    "nats"
+  ];
 
   meta = with lib; {
     description = "Python client for NATS.io";
diff --git a/pkgs/development/python-modules/natsort/default.nix b/pkgs/development/python-modules/natsort/default.nix
index 33ff7f4371c..3b3682b335e 100644
--- a/pkgs/development/python-modules/natsort/default.nix
+++ b/pkgs/development/python-modules/natsort/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "natsort";
-  version = "8.0.2";
+  version = "8.1.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-/rh+DOHcH48/IeGKhSFseQ50bXal/2iJVjOUYF9QSis=";
+    hash = "sha256-x8Hz8nw3Vxmk38qzU5Cf458mwgMqBiqMgMyETqrKBEU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nbclassic/default.nix b/pkgs/development/python-modules/nbclassic/default.nix
index 0e6630281c0..2c062d3ff99 100644
--- a/pkgs/development/python-modules/nbclassic/default.nix
+++ b/pkgs/development/python-modules/nbclassic/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, python
 , notebook
 , pythonOlder
 , jupyter_server
@@ -10,19 +11,26 @@
 
 buildPythonPackage rec {
   pname = "nbclassic";
-  version = "0.3.1";
+  version = "0.3.5";
   disabled = pythonOlder "3.6";
 
   # tests only on github
   src = fetchFromGitHub {
     owner = "jupyterlab";
     repo = pname;
-    rev = version;
-    sha256 = "sha256-gx086w/qYB02UFEDly+0mUsV5BvAVAuhqih4wev2p/w=";
+    rev = "v${version}";
+    sha256 = "1d0x7nwsaw5qjw4iaylc2sxlpiq3hlg9sy3i2nh7sn3wckwl76lc";
   };
 
   propagatedBuildInputs = [ jupyter_server notebook ];
 
+  preCheck = ''
+    cd nbclassic
+    mv conftest.py tests
+    cd tests
+
+    export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
+  '';
   checkInputs = [
     pytestCheckHook
     pytest-tornasync
diff --git a/pkgs/development/python-modules/nbclient/default.nix b/pkgs/development/python-modules/nbclient/default.nix
index c10b442bac9..c5e3facc062 100644
--- a/pkgs/development/python-modules/nbclient/default.nix
+++ b/pkgs/development/python-modules/nbclient/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "nbclient";
-  version = "0.5.9";
-  disabled = pythonOlder "3.6";
+  version = "0.5.10";
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-meRt2vrNC4YSk78kb+2FQKGErfo6p9ZB+JAx7AcHAeA=";
+    sha256 = "b5fdea88d6fa52ca38de6c2361401cfe7aaa7cd24c74effc5e489cec04d79088";
   };
 
   inherit doCheck;
diff --git a/pkgs/development/python-modules/nbconvert/default.nix b/pkgs/development/python-modules/nbconvert/default.nix
index 400d59272ee..ab91f22acc4 100644
--- a/pkgs/development/python-modules/nbconvert/default.nix
+++ b/pkgs/development/python-modules/nbconvert/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "nbconvert";
-  version = "6.3.0";
+  version = "6.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5e77d6203854944520105e38f2563a813a4a3708e8563aa598928a3b5ee1081a";
+    sha256 = "5412ec774c6db4fccecb8c4ba07ec5d37d6dcf5762593cb3d6ecbbeb562ebbe5";
   };
 
   # Add $out/share/jupyter to the list of paths that are used to search for
diff --git a/pkgs/development/python-modules/nbsmoke/default.nix b/pkgs/development/python-modules/nbsmoke/default.nix
index a7c5425963a..7d1d827cc20 100644
--- a/pkgs/development/python-modules/nbsmoke/default.nix
+++ b/pkgs/development/python-modules/nbsmoke/default.nix
@@ -14,11 +14,11 @@
 
 buildPythonPackage rec {
   pname = "nbsmoke";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2400d7878e97714e822ab200a71fc71ede487e671f42b4b411745dba95f9cb32";
+    sha256 = "8b55333e2face27bc7ff80c266c468ca5633947cb0697727348020dd445b0874";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/net2grid/default.nix b/pkgs/development/python-modules/net2grid/default.nix
new file mode 100644
index 00000000000..05b5321a69c
--- /dev/null
+++ b/pkgs/development/python-modules/net2grid/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, aiohttp
+, aresponses
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, yarl
+}:
+
+buildPythonPackage rec {
+  pname = "net2grid";
+  version = "3.0.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.9";
+
+  src = fetchFromGitHub {
+    owner = "klaasnicolaas";
+    repo = "python-net2grid";
+    rev = "v${version}";
+    hash = "sha256-nT9qMv4Zr7SjNwHRN3HRR11yl+Oue8VVCfJr2n1D02Q=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    aiohttp
+    yarl
+  ];
+
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"' \
+      --replace 'addopts = "--cov"' ""
+  '';
+
+  pythonImportsCheck = [
+    "net2grid"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with NET2GRID devices";
+    homepage = "https://github.com/klaasnicolaas/python-net2grid";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/netio/default.nix b/pkgs/development/python-modules/netio/default.nix
new file mode 100644
index 00000000000..dbc98819184
--- /dev/null
+++ b/pkgs/development/python-modules/netio/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, requests
+, pyopenssl
+}:
+
+buildPythonPackage rec {
+  pname = "netio";
+  version = "1.0.6";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    pname = "Netio";
+    inherit version;
+    hash = "sha256-G1NSCchoRjgX2K9URNXsxpp9jxrQo0RgZ00tzWdexGU=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    pyopenssl
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "import py2exe" ""
+  '';
+
+  pythonImportsCheck = [
+    "Netio"
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Module for interacting with NETIO devices";
+    homepage = "https://github.com/netioproducts/PyNetio";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/netmiko/default.nix b/pkgs/development/python-modules/netmiko/default.nix
new file mode 100644
index 00000000000..0934439f747
--- /dev/null
+++ b/pkgs/development/python-modules/netmiko/default.nix
@@ -0,0 +1,27 @@
+{ lib, buildPythonPackage, fetchPypi, setuptools, paramiko, scp, tenacity
+, textfsm, ntc-templates, pyserial, pytestCheckHook, pyyaml }:
+
+buildPythonPackage rec {
+  pname = "netmiko";
+  version = "3.4.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "14s9c6ws32swizcmfdqmlkkk2yqw6071ybq3w94fhkl6jzfvkbdc";
+  };
+
+  buildInputs = [ setuptools ];
+  propagatedBuildInputs =
+    [ paramiko scp tenacity textfsm ntc-templates pyserial ];
+
+  # tests require closed-source pyats and genie packages
+  doCheck = false;
+
+  meta = with lib; {
+    description =
+      "Multi-vendor library to simplify Paramiko SSH connections to network devices";
+    homepage = "https://github.com/ktbyers/netmiko/";
+    license = licenses.mit;
+    maintainers = [ maintainers.astro ];
+  };
+}
diff --git a/pkgs/development/python-modules/newversion/default.nix b/pkgs/development/python-modules/newversion/default.nix
new file mode 100644
index 00000000000..f340dc3a1b3
--- /dev/null
+++ b/pkgs/development/python-modules/newversion/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, packaging
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "newversion";
+  version = "1.8.2";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "vemel";
+    repo = pname;
+    rev = version;
+    hash = "sha256-27HWMzSzyAbiOW7OUhlupRWIVJG6DrpXObXmxlCsmxU=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    packaging
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "newversion"
+  ];
+
+  meta = with lib; {
+    description = "PEP 440 version manager";
+    homepage = "https://github.com/vemel/newversion";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/nibabel/default.nix b/pkgs/development/python-modules/nibabel/default.nix
index 91195abce1c..60f5fcde63f 100644
--- a/pkgs/development/python-modules/nibabel/default.nix
+++ b/pkgs/development/python-modules/nibabel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "nibabel";
-  version = "3.2.1";
+  version = "3.2.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4d2ff9426b740011a1c916b54fc25da9348282e727eaa2ea163f42e00f1fc29e";
+    sha256 = "sha256-sNzBdLMEBc6ej+weqzy7sg9cXkkgl2wIsi4FC3wST5Q=";
   };
 
   propagatedBuildInputs = [ numpy scipy h5py packaging pydicom ];
diff --git a/pkgs/development/python-modules/nltk/default.nix b/pkgs/development/python-modules/nltk/default.nix
index 27e17daa372..9beeb4cb0a6 100644
--- a/pkgs/development/python-modules/nltk/default.nix
+++ b/pkgs/development/python-modules/nltk/default.nix
@@ -1,4 +1,7 @@
-{ fetchPypi, buildPythonPackage, lib, isPy3k
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pythonOlder
 , click
 , joblib
 , regex
@@ -6,13 +9,16 @@
 }:
 
 buildPythonPackage rec {
-  version = "3.6.7";
   pname = "nltk";
+  version = "3.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "51bf1aef5304740a708be7c8e683f7798f03dc5c7a7e7feb758be9e95f4585e3";
+    hash = "sha256-1lB9ZGDOx21wr+pCQqImp1QvhcZpF3ucf1YrfPGwVQI=";
   };
 
   propagatedBuildInputs = [
@@ -30,10 +36,14 @@ buildPythonPackage rec {
   # best.
   doCheck = false;
 
-  meta = {
+  pythonImportsCheck = [
+    "nltk"
+  ];
+
+  meta = with lib; {
     description = "Natural Language Processing ToolKit";
     homepage = "http://nltk.org/";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ lheckemann ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ lheckemann ];
   };
 }
diff --git a/pkgs/development/python-modules/nose/default.nix b/pkgs/development/python-modules/nose/default.nix
index 456bbfd9aed..451c71897da 100644
--- a/pkgs/development/python-modules/nose/default.nix
+++ b/pkgs/development/python-modules/nose/default.nix
@@ -14,6 +14,19 @@ buildPythonPackage rec {
     sha256 = "f1bffef9cbc82628f6e7d7b40d7e255aefaa1adb6a1b1d26c69a8b79e6208a98";
   };
 
+  # 2to3 was removed in setuptools 58
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "'use_2to3': True," ""
+
+    substituteInPlace setup3lib.py \
+      --replace "from setuptools.command.build_py import Mixin2to3" "from distutils.util import Mixin2to3"
+  '';
+
+  preBuild = ''
+    2to3 -wn nose functional_tests unit_tests
+  '';
+
   propagatedBuildInputs = [ coverage ];
 
   doCheck = false;  # lot's of transient errors, too much hassle
diff --git a/pkgs/development/python-modules/nose2/default.nix b/pkgs/development/python-modules/nose2/default.nix
index 004991e1ce9..15850119c84 100644
--- a/pkgs/development/python-modules/nose2/default.nix
+++ b/pkgs/development/python-modules/nose2/default.nix
@@ -9,26 +9,33 @@
 
 buildPythonPackage rec {
   pname = "nose2";
-  version = "0.10.0";
+  version = "0.11.0";
+  format = "setuptools";
 
-  # Requires mock 2.0.0 if python < 3.6, but NixPkgs has mock 3.0.5.
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "886ba617a96de0130c54b24479bd5c2d74d5c940d40f3809c3a275511a0c4a60";
+    hash = "sha256-bSCNfW7J+dVcdNrIHJOUvDkG2++BqMpUILK5t/jmnek=";
   };
 
-  propagatedBuildInputs = [ six coverage ];
+  propagatedBuildInputs = [
+    coverage
+    six
+  ];
 
   checkPhase = ''
     ${python.interpreter} -m unittest
   '';
 
+  pythonImportsCheck = [
+    "nose2"
+  ];
+
   meta = with lib; {
-    description = "nose2 is the next generation of nicer testing for Python";
+    description = "Test runner for Python";
     homepage = "https://github.com/nose-devs/nose2";
     license = licenses.bsd0;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/notebook/default.nix b/pkgs/development/python-modules/notebook/default.nix
index 1cb5f1b7570..7a1902cb211 100644
--- a/pkgs/development/python-modules/notebook/default.nix
+++ b/pkgs/development/python-modules/notebook/default.nix
@@ -27,12 +27,12 @@
 
 buildPythonPackage rec {
   pname = "notebook";
-  version = "6.4.6";
+  version = "6.4.7";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7bcdf79bd1cda534735bd9830d2cbedab4ee34d8fe1df6e7b946b3aab0902ba3";
+    sha256 = "b01da66f11a203b3839d6afa4013674bcfff41c36552f9ad0fbcb2d93c92764a";
   };
 
   LC_ALL = "en_US.utf8";
diff --git a/pkgs/development/python-modules/numba-scipy/default.nix b/pkgs/development/python-modules/numba-scipy/default.nix
new file mode 100644
index 00000000000..c8f84cbf43f
--- /dev/null
+++ b/pkgs/development/python-modules/numba-scipy/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, scipy
+, numba
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "numba-scipy";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-qJeoWiG1LdtFB9cME1d8xVaC0BXGDJEYjCOEdHvSkmQ=";
+  };
+
+  propagatedBuildInputs = [
+    scipy
+    numba
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py --replace "scipy>=0.16,<=1.6.2" "scipy>=0.16,<=1.7.3"
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [ "numba" ];
+
+  meta = with lib; {
+    description = "Extends Numba to make it aware of SciPy";
+    homepage = "https://github.com/numba/numba-scipy";
+    changelog = "https://github.com/numba/numba-scipy/blob/master/CHANGE_LOG";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ Etjean ];
+  };
+}
diff --git a/pkgs/development/python-modules/numba/default.nix b/pkgs/development/python-modules/numba/default.nix
index c45419c5c88..8bead014e34 100644
--- a/pkgs/development/python-modules/numba/default.nix
+++ b/pkgs/development/python-modules/numba/default.nix
@@ -12,13 +12,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "0.54.1";
+  version = "0.55.0";
   pname = "numba";
   disabled = pythonOlder "3.6" || pythonAtLeast "3.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f9dfc803c864edcc2381219b800abf366793400aea55e26d4d5b7d953e14f43f";
+    sha256 = "sha256-siHr2ZdmKh3Ld+TwkUDgIvv+dXetB4H8LgIUE126bL0=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/numexpr/default.nix b/pkgs/development/python-modules/numexpr/default.nix
index 31b529c83da..ffc422e9b42 100644
--- a/pkgs/development/python-modules/numexpr/default.nix
+++ b/pkgs/development/python-modules/numexpr/default.nix
@@ -1,32 +1,38 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, python
 , numpy
+, packaging
+, python
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "numexpr";
-  version = "2.8.0";
+  version = "2.8.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9fec076b76c90a5f3929373f548834bb203c6d23a81a895e60d0fe9cca075e99";
+    hash = "sha256-zXeapE3ZhsTvEBY1GSOWArAnvgalJ5RmViB6zx9YETs=";
   };
 
-  # Remove existing site.cfg, use the one we built for numpy.
-  preBuild = ''
-    ln -s ${numpy.cfg} site.cfg
-  '';
-
   nativeBuildInputs = [
     numpy
   ];
 
   propagatedBuildInputs = [
     numpy
+    packaging
   ];
 
+  preBuild = ''
+    # Remove existing site.cfg, use the one we built for numpy
+    ln -s ${numpy.cfg} site.cfg
+  '';
+
   checkPhase = ''
     runtest="$(pwd)/numexpr/tests/test_numexpr.py"
     pushd "$out"
@@ -34,9 +40,14 @@ buildPythonPackage rec {
     popd
   '';
 
-  meta = {
+  pythonImportsCheck = [
+    "numexpr"
+  ];
+
+  meta = with lib; {
     description = "Fast numerical array expression evaluator for NumPy";
     homepage = "https://github.com/pydata/numexpr";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/numpy/default.nix b/pkgs/development/python-modules/numpy/default.nix
index 945828fbc19..2fbe1a7a694 100644
--- a/pkgs/development/python-modules/numpy/default.nix
+++ b/pkgs/development/python-modules/numpy/default.nix
@@ -40,14 +40,19 @@ let
   };
 in buildPythonPackage rec {
   pname = "numpy";
-  version = "1.21.4";
+
+  # Attention! v1.22.0 breaks scipy and by extension scikit-learn, so
+  # build both to verify they don't break.
+  # https://github.com/scipy/scipy/issues/15414
+  version = "1.21.5";
+
   format = "pyproject.toml";
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
     extension = "zip";
-    sha256 = "e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0";
+    sha256 = "sha256-alkovGJBJk3OXtUJ5m8zZ2/Jf0ZOepGe3GcvtVMiIe4=";
   };
 
   patches = lib.optionals python.hasDistutilsCxxPatch [
diff --git a/pkgs/development/python-modules/nunavut/default.nix b/pkgs/development/python-modules/nunavut/default.nix
index 8c4c8e1fbc5..f4cc9d3140e 100644
--- a/pkgs/development/python-modules/nunavut/default.nix
+++ b/pkgs/development/python-modules/nunavut/default.nix
@@ -8,13 +8,13 @@
 
  buildPythonPackage rec {
   pname = "nunavut";
-  version = "1.5.2";
+  version = "1.6.2";
 
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12703306872404be556648ab2282dc1566f4e77bfb9f14747fb13294c9235081";
+    sha256 = "c6f99eaa65935b2c8a3f004025fb3c0309e11655c391d0fcd318d2a8665ca5c4";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/nvchecker/default.nix b/pkgs/development/python-modules/nvchecker/default.nix
index f8b434a7a12..d4d9cf1811e 100644
--- a/pkgs/development/python-modules/nvchecker/default.nix
+++ b/pkgs/development/python-modules/nvchecker/default.nix
@@ -1,40 +1,59 @@
 { lib
+, aiohttp
+, appdirs
 , buildPythonPackage
+, docutils
 , fetchFromGitHub
-, pythonOlder
+, flaky
+, installShellFiles
+, packaging
+, pycurl
+, pytest-asyncio
+, pytest-httpbin
 , pytestCheckHook
+, pythonOlder
 , setuptools
-, packaging
-, toml
 , structlog
-, appdirs
-, pytest-asyncio
-, flaky
+, tomli
 , tornado
-, pycurl
-, aiohttp
-, pytest-httpbin
-, docutils
-, installShellFiles
 }:
 
 buildPythonPackage rec {
   pname = "nvchecker";
-  version = "2.5";
+  version = "2.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  # Tests not included in PyPI tarball
   src = fetchFromGitHub {
     owner = "lilydjwg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0jzmpra87dlj88d20ihnva9fj81wqbbd9qbzsjwwvzdx062136mg";
+    hash = "sha256-OPUqkHLG8PUlD5NP7q/BpKUvmAA8Jk1NvsPPVbImv0A=";
   };
 
-  nativeBuildInputs = [ installShellFiles docutils ];
-  propagatedBuildInputs = [ setuptools packaging toml structlog appdirs tornado pycurl aiohttp ];
-  checkInputs = [ pytestCheckHook pytest-asyncio flaky pytest-httpbin ];
+  nativeBuildInputs = [
+    docutils
+    installShellFiles
+  ];
 
-  disabled = pythonOlder "3.7";
+  propagatedBuildInputs = [
+    aiohttp
+    appdirs
+    packaging
+    pycurl
+    setuptools
+    structlog
+    tomli
+    tornado
+  ];
+
+  checkInputs = [
+    flaky
+    pytest-asyncio
+    pytest-httpbin
+    pytestCheckHook
+  ];
 
   postBuild = ''
     patchShebangs docs/myrst2man.py
@@ -45,7 +64,13 @@ buildPythonPackage rec {
     installManPage docs/_build/man/nvchecker.1
   '';
 
-  pytestFlagsArray = [ "-m 'not needs_net'" ];
+  pythonImportsCheck = [
+    "nvchecker"
+  ];
+
+  pytestFlagsArray = [
+    "-m 'not needs_net'"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/lilydjwg/nvchecker";
diff --git a/pkgs/development/python-modules/oci/default.nix b/pkgs/development/python-modules/oci/default.nix
index 2278133582c..8da783dbdb2 100644
--- a/pkgs/development/python-modules/oci/default.nix
+++ b/pkgs/development/python-modules/oci/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "oci";
-  version = "2.53.1";
+  version = "2.56.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "oracle";
     repo = "oci-python-sdk";
     rev = "v${version}";
-    hash = "sha256-TnLKT/F36jHEfT9K6DFM2GmPRccXz1GJWIF+EEQYRls=";
+    hash = "sha256-olrWv4c2DoZ7ddm58Wpb5jZntw8WEKJ6IzAND11tdjk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ocrmypdf/default.nix b/pkgs/development/python-modules/ocrmypdf/default.nix
index e3dcfafb958..ed672b7d01c 100644
--- a/pkgs/development/python-modules/ocrmypdf/default.nix
+++ b/pkgs/development/python-modules/ocrmypdf/default.nix
@@ -27,7 +27,7 @@
 
 buildPythonPackage rec {
   pname = "ocrmypdf";
-  version = "13.3.0";
+  version = "13.4.0";
 
   src = fetchFromGitHub {
     owner = "jbarlow83";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    sha256 = "sha256-8QOxHka2kl/keYbsP1zOZ8hrZ+15ZGJaw91F+cpWvcA=";
+    sha256 = "sha256-LgHhF+vztXPCn71d87OMn0umLvps7We6vyjdRJZw+3E=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/od/default.nix b/pkgs/development/python-modules/od/default.nix
index e2dd2f4bf99..de64e2f8fdc 100644
--- a/pkgs/development/python-modules/od/default.nix
+++ b/pkgs/development/python-modules/od/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "od";
-  version = "2.0.1";
+  version = "2.0.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "180fb0d13c3af1384047b8296c95683816b5d0c68a60c22d07c703be8bd755cb";
+    sha256 = "sha256-uGkj2Z8mLg51IV+FOqwZl1hT7zVyjmD1CcY/VbH4tKk=";
   };
 
   # repeated_test no longer exists in nixpkgs
diff --git a/pkgs/development/python-modules/oletools/default.nix b/pkgs/development/python-modules/oletools/default.nix
index 54c5c6c165b..76019730eb7 100644
--- a/pkgs/development/python-modules/oletools/default.nix
+++ b/pkgs/development/python-modules/oletools/default.nix
@@ -39,6 +39,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "pyparsing>=2.1.0,<3" "pyparsing>=2.1.0"
+  '';
+
   disabledTests = [
     # Test fails with AssertionError: Tuples differ: ('MS Word 2007+...
     "test_all"
diff --git a/pkgs/development/python-modules/omnikinverter/default.nix b/pkgs/development/python-modules/omnikinverter/default.nix
index 6f347d9672a..a992f14616a 100644
--- a/pkgs/development/python-modules/omnikinverter/default.nix
+++ b/pkgs/development/python-modules/omnikinverter/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "omnikinverter";
-  version = "0.6.2";
+  version = "0.7.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-omnikinverter";
     rev = "v${version}";
-    sha256 = "sha256-NnwjiaFUi2vzORu8sndtfdVpZEAIMCvT+9VEr2ZOx3k=";
+    sha256 = "sha256-IiU7nhwH0Mc6s+g9WtJugpORuL0qGNJFKDY5hvxIZAU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/onvif-zeep-async/default.nix b/pkgs/development/python-modules/onvif-zeep-async/default.nix
new file mode 100644
index 00000000000..5e9a86acc6b
--- /dev/null
+++ b/pkgs/development/python-modules/onvif-zeep-async/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, httpx
+, pythonOlder
+, zeep
+}:
+
+buildPythonPackage rec {
+  pname = "onvif-zeep-async";
+  version = "1.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-O4H6oL9cFvgX6whoESA7eRI6+VoT1ncRk/tehQT1WcM=";
+  };
+
+  propagatedBuildInputs = [
+    httpx
+    zeep
+  ];
+
+  pythonImportsCheck = [
+    "onvif"
+  ];
+
+  # Tests are not shipped
+  doCheck = false;
+
+  meta = with lib; {
+    description = "ONVIF Client Implementation in Python";
+    homepage = "https://github.com/hunterjm/python-onvif-zeep-async";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/openapi-schema-validator/default.nix b/pkgs/development/python-modules/openapi-schema-validator/default.nix
index 18e357c1f2d..8251c2cd017 100644
--- a/pkgs/development/python-modules/openapi-schema-validator/default.nix
+++ b/pkgs/development/python-modules/openapi-schema-validator/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
+, poetry-core
 , pytestCheckHook
 , isodate
 , jsonschema
@@ -13,13 +14,20 @@
 
 buildPythonPackage rec {
   pname = "openapi-schema-validator";
-  version = "0.1.5";
+  version = "0.2.0";
+  format = "pyproject";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a4b2712020284cee880b4c55faa513fbc2f8f07f365deda6098f8ab943c9f0df";
+  src = fetchFromGitHub {
+    owner = "p1c2u";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-HoXtDlXOoYqzsM4FxVfLQdIlpJXaNUcQo8//B4JqJoA=";
   };
 
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
   propagatedBuildInputs = [ isodate jsonschema six strict-rfc3339 rfc3339-validator ];
 
   checkInputs = [ pytestCheckHook pytest-cov pytest-flake8 ];
diff --git a/pkgs/development/python-modules/openevsewifi/default.nix b/pkgs/development/python-modules/openevsewifi/default.nix
new file mode 100644
index 00000000000..b42e9c86bbe
--- /dev/null
+++ b/pkgs/development/python-modules/openevsewifi/default.nix
@@ -0,0 +1,65 @@
+{ lib
+, buildPythonPackage
+, deprecated
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, requests
+, requests-mock
+}:
+
+buildPythonPackage rec {
+  pname = "openevsewifi";
+  version = "1.1.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "miniconfig";
+    repo = "python-openevse-wifi";
+    rev = "v${version}";
+    sha256 = "sha256-pNm+zupBGijCXIkdanMk7nE/+SFvSEFp9/Ht5OoxQrU=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    deprecated
+    requests
+  ];
+
+  checkInputs = [
+    requests-mock
+    pytestCheckHook
+  ];
+
+  patches = [
+    # Switch to poetry-core, https://github.com/miniconfig/python-openevse-wifi/pull/31
+    (fetchpatch {
+      name = "switch-to-poetry-core.patch";
+      url = "https://github.com/miniconfig/python-openevse-wifi/commit/1083868dd9f39a8ad7bb17f02cea1b8458e5b82d.patch";
+      sha256 = "sha256-XGeyi/PchBju1ICgL/ZCDGCbWwIJmLAcHuKaj+kDsI0=";
+    })
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'pytest-cov = "^2.8.1"' ""
+  '';
+
+  pythonImportsCheck = [
+    "openevsewifi"
+  ];
+
+  meta = with lib; {
+    description = "Module for communicating with the wifi module from OpenEVSE";
+    homepage = "https://github.com/miniconfig/python-openevse-wifi";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/opensimplex/default.nix b/pkgs/development/python-modules/opensimplex/default.nix
index 6832266b87a..a813c1bf95e 100644
--- a/pkgs/development/python-modules/opensimplex/default.nix
+++ b/pkgs/development/python-modules/opensimplex/default.nix
@@ -1,24 +1,25 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, nose
+, numpy
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "opensimplex";
-  version = "0.3";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "lmas";
     repo = pname;
     rev = "v${version}";
-    sha256 = "idF5JQGnAye6z3c3YU9rsHaebB3rlHJfA8vSpjDnFeM=";
+    sha256 = "zljS0yu3cHF2Vz3rFkwLXiHnKjo970MDIrC/56FoHa4=";
   };
 
-  checkInputs = [ nose ];
-  checkPhase = ''
-    nosetests tests/
-  '';
+  propagatedBuildInputs = [ numpy ];
+
+  checkInputs = [ pytestCheckHook ];
+  pytestFlagsArray = [ "tests/test_opensimplex.py" ];
   pythonImportsCheck = [ "opensimplex" ];
 
   meta = with lib; {
@@ -31,6 +32,6 @@ buildPythonPackage rec {
     '';
     homepage = "https://github.com/lmas/opensimplex";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/python-modules/openstackdocstheme/default.nix b/pkgs/development/python-modules/openstackdocstheme/default.nix
new file mode 100644
index 00000000000..797a524e017
--- /dev/null
+++ b/pkgs/development/python-modules/openstackdocstheme/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, dulwich
+, pbr
+, sphinx
+}:
+
+buildPythonPackage rec {
+  pname = "openstackdocstheme";
+  version = "2.3.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-zzWgAozJrYMFyGWzoDLYbeoY+IPlgzmVhnX7lgM6BXs=";
+  };
+
+  postPatch = ''
+    # only a small portion of the listed packages are actually needed for running the tests
+    # so instead of removing them one by one remove everything
+    rm test-requirements.txt
+  '';
+
+  propagatedBuildInputs = [ dulwich pbr sphinx ];
+
+  # no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "openstackdocstheme" ];
+
+  meta = with lib; {
+    description = "Sphinx theme for RST-sourced documentation published to docs.openstack.org";
+    homepage = "https://github.com/openstack/openstackdocstheme";
+    license = licenses.asl20;
+    maintainers = teams.openstack.members;
+  };
+}
diff --git a/pkgs/development/python-modules/orjson/default.nix b/pkgs/development/python-modules/orjson/default.nix
index 98fc412869d..d639f656729 100644
--- a/pkgs/development/python-modules/orjson/default.nix
+++ b/pkgs/development/python-modules/orjson/default.nix
@@ -15,20 +15,20 @@
 
 buildPythonPackage rec {
   pname = "orjson";
-  version = "3.6.6";
+  version = "3.6.7";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "ijl";
     repo = pname;
     rev = version;
-    sha256 = "00s8pwvq830h2y77pwx1i2vfvnzisvp41qhzqcp1piyc3pwxfc13";
+    sha256 = "1a55f1ipii7hg42bvsii053xczbgwwv8w6wgdb14qyirm5c9szd3";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    sha256 = "0l1zvkr06kwclgxy1qz9fxa1gjrpf5nnx6hb12j4ymyyxpcmn8rz";
+    sha256 = "1piy0b1gh56n8srzhyd1n971a6pqpgmwhr4v9a81wg0xkbva8gdk";
   };
 
   format = "pyproject";
diff --git a/pkgs/development/python-modules/ormar/default.nix b/pkgs/development/python-modules/ormar/default.nix
index fee9af14715..d5b9b7cf88e 100644
--- a/pkgs/development/python-modules/ormar/default.nix
+++ b/pkgs/development/python-modules/ormar/default.nix
@@ -1,37 +1,39 @@
 { lib
-, buildPythonPackage
-, pythonOlder
-, fetchFromGitHub
-, poetry-core
-, databases
-, pydantic
-, sqlalchemy
-, asyncpg
-, psycopg2
 , aiomysql
+, aiopg
 , aiosqlite
+, asyncpg
+, buildPythonPackage
 , cryptography
-, orjson
-, typing-extensions
+, databases
+, fastapi
+, fetchFromGitHub
 , importlib-metadata
-, aiopg
 , mysqlclient
+, orjson
+, poetry-core
+, psycopg2
+, pydantic
 , pymysql
-, pytestCheckHook
 , pytest-asyncio
-, fastapi
+, pytestCheckHook
+, pythonOlder
+, sqlalchemy
+, typing-extensions
 }:
 
 buildPythonPackage rec {
   pname = "ormar";
-  version = "0.10.23";
+  version = "0.10.24";
   format = "pyproject";
+
   disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "collerek";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ILJvJyd56lqlKq7+mUz26LvusYb5AOOfoA7OgNq2fT0=";
+    hash = "sha256-zKugeGDcYDI4VKspJPWeZCBubTqMxxfOVQCuF4pC49E=";
   };
 
   nativeBuildInputs = [
@@ -39,16 +41,15 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    databases
-    pydantic
-    sqlalchemy
-    asyncpg
-    psycopg2
     aiomysql
     aiosqlite
+    asyncpg
     cryptography
-
+    databases
     orjson
+    psycopg2
+    pydantic
+    sqlalchemy
   ] ++ lib.optionals (pythonOlder "3.8") [
     typing-extensions
     importlib-metadata
@@ -56,24 +57,35 @@ buildPythonPackage rec {
 
   checkInputs = [
     aiomysql
-    aiosqlite
     aiopg
+    aiosqlite
     asyncpg
-
-    psycopg2
+    fastapi
     mysqlclient
+    psycopg2
     pymysql
-
-    pytestCheckHook
     pytest-asyncio
-    fastapi
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'SQLAlchemy = ">=1.3.18,<=1.4.29"' 'SQLAlchemy = ">=1.3.18"' \
+      --replace 'databases = ">=0.3.2,!=0.5.0,!=0.5.1,!=0.5.2,!=0.5.3,<0.5.5"' 'databases = ">=0.5.5"'
+  '';
+
+  disabledTests = [
+    # TypeError: Object of type bytes is not JSON serializable
+    "test_bulk_operations_with_json"
   ];
 
-  pythonImportsCheck = [ "ormar" ];
+  pythonImportsCheck = [
+    "ormar"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/collerek/ormar";
-    description = "A simple async ORM with fastapi in mind and pydantic validation.";
+    description = "Async ORM with fastapi in mind and pydantic validation";
     license = licenses.mit;
     maintainers = with maintainers; [ andreasfelix ];
   };
diff --git a/pkgs/development/python-modules/osc-lib/default.nix b/pkgs/development/python-modules/osc-lib/default.nix
index 560c8869b00..95c5e5d6a32 100644
--- a/pkgs/development/python-modules/osc-lib/default.nix
+++ b/pkgs/development/python-modules/osc-lib/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "osc-lib";
-  version = "2.4.2";
+  version = "2.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d6b530e3e50646840a6a5ef134e00f285cc4a04232c163f28585226ed40cc968";
+    sha256 = "sha256-2PikUPqyoSlOCu+M3JolWhvMW1jhsvYJjjXm2x4T6dE=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/oslo-config/default.nix b/pkgs/development/python-modules/oslo-config/default.nix
index 125481d1e02..f7e09692945 100644
--- a/pkgs/development/python-modules/oslo-config/default.nix
+++ b/pkgs/development/python-modules/oslo-config/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-config";
-  version = "8.7.1";
+  version = "8.8.0";
 
   src = fetchPypi {
     pname = "oslo.config";
     inherit version;
-    sha256 = "a0c346d778cdc8870ab945e438bea251b5f45fae05d6d99dfe4953cca2277b60";
+    sha256 = "sha256-lpM9MBHa4VYIoRYWv7ANlH4i2jywm2/zfd11dqvUdkw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/oslo-log/default.nix b/pkgs/development/python-modules/oslo-log/default.nix
index dd2d69a0c23..a2e6eac8e38 100644
--- a/pkgs/development/python-modules/oslo-log/default.nix
+++ b/pkgs/development/python-modules/oslo-log/default.nix
@@ -10,7 +10,7 @@
 , pbr
 , pyinotify
 , python-dateutil
-, stestr
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
@@ -36,12 +36,13 @@ buildPythonPackage rec {
 
   checkInputs = [
     oslotest
-    stestr
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    stestr run
-  '';
+  disabledTests = [
+    # not compatible with sandbox
+    "test_logging_handle_error"
+  ];
 
   pythonImportsCheck = [ "oslo_log" ];
 
diff --git a/pkgs/development/python-modules/oslo-serialization/default.nix b/pkgs/development/python-modules/oslo-serialization/default.nix
index e6b8d0d0c42..e59258dda78 100644
--- a/pkgs/development/python-modules/oslo-serialization/default.nix
+++ b/pkgs/development/python-modules/oslo-serialization/default.nix
@@ -11,12 +11,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-serialization";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchPypi {
     pname = "oslo.serialization";
     inherit version;
-    sha256 = "3007e1b017ad3754cce54def894054cbcd05887e85928556657434b0fc7e4d83";
+    sha256 = "sha256-OqRy9DSu6LvMByUxK39AmqH6VLvBNJBBJM9JsOhrkRU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/oslo-utils/default.nix b/pkgs/development/python-modules/oslo-utils/default.nix
index 35a3447243f..aeea9b742a9 100644
--- a/pkgs/development/python-modules/oslo-utils/default.nix
+++ b/pkgs/development/python-modules/oslo-utils/default.nix
@@ -23,12 +23,12 @@
 
 buildPythonPackage rec {
   pname = "oslo-utils";
-  version = "4.12.1";
+  version = "4.12.2";
 
   src = fetchPypi {
     pname = "oslo.utils";
     inherit version;
-    sha256 = "sha256-zzEhx2/jwpY+1WOo68PJ/TvDy6XUT76K7LVAfUMMMJI=";
+    sha256 = "sha256-Qf0sT/bS6No4qttaW/JCWKhlDg4KaYprI51IuOQXfDs=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/osqp/default.nix b/pkgs/development/python-modules/osqp/default.nix
index 1db266e116d..865bd45c61b 100644
--- a/pkgs/development/python-modules/osqp/default.nix
+++ b/pkgs/development/python-modules/osqp/default.nix
@@ -5,6 +5,7 @@
 , future
 , numpy
 , qdldl
+, setuptools-scm
 , scipy
 # check inputs
 , pytestCheckHook
@@ -13,14 +14,16 @@
 
 buildPythonPackage rec {
   pname = "osqp";
-  version = "0.6.2.post0";
+  version = "0.6.2.post5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5f0695f26a3bef0fae91254bc283fab790dcca0064bfe0f425167f9c9e8b4cbc";
+    sha256 = "b2fa17aae42a7ed498ec261b33f262bb4b3605e7e8464062159d9fae817f0d61";
   };
 
-  nativeBuildInputs = [ cmake ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [ cmake setuptools-scm ];
   dontUseCmakeConfigure = true;
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ovoenergy/default.nix b/pkgs/development/python-modules/ovoenergy/default.nix
index 42615fa664d..1e60872b2c1 100644
--- a/pkgs/development/python-modules/ovoenergy/default.nix
+++ b/pkgs/development/python-modules/ovoenergy/default.nix
@@ -8,14 +8,16 @@
 
 buildPythonPackage rec {
   pname = "ovoenergy";
-  version = "1.1.12";
+  version = "1.2.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "timmo001";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1430k699gblxwspsbgxnha8afk6npqharhz2jyjw5gir9pi6g9cz";
+    hash = "sha256-OSK74uvpHuEtWgbLVFrz1NO7lvtHbt690smGQ+GlsOI=";
   };
 
   propagatedBuildInputs = [
@@ -26,7 +28,9 @@ buildPythonPackage rec {
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "ovoenergy" ];
+  pythonImportsCheck = [
+    "ovoenergy"
+  ];
 
   meta = with lib; {
     description = "Python client for getting data from OVO's API";
diff --git a/pkgs/development/python-modules/p1monitor/default.nix b/pkgs/development/python-modules/p1monitor/default.nix
index d1530c79719..7a8bc9fd050 100644
--- a/pkgs/development/python-modules/p1monitor/default.nix
+++ b/pkgs/development/python-modules/p1monitor/default.nix
@@ -1,8 +1,11 @@
 { lib
 , aiohttp
+, aresponses
 , buildPythonPackage
 , fetchFromGitHub
 , poetry-core
+, pytest-asyncio
+, pytestCheckHook
 , pythonOlder
 , yarl
 }:
@@ -12,13 +15,13 @@ buildPythonPackage rec {
   version = "1.1.0";
   format = "pyproject";
 
-  disabled = pythonOlder "3.8";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "klaasnicolaas";
     repo = "python-p1monitor";
     rev = "v${version}";
-    sha256 = "1ciaclgq4aknldjqlqa08jcab28sbqrjxy5nqqwlnb2wlprg5ijz";
+    hash = "sha256-X8by8qVcLEs5xrb4LjNeGomlmERAYYplo3Yqgh9lKrI=";
   };
 
   nativeBuildInputs = [
@@ -30,13 +33,24 @@ buildPythonPackage rec {
     yarl
   ];
 
-  # Project has no tests
-  doCheck = false;
+  checkInputs = [
+    aresponses
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace '"0.0.0"' '"${version}"' \
+      --replace 'addopts = "--cov"' ""
+  '';
 
-  pythonImportsCheck = [ "p1monitor" ];
+  pythonImportsCheck = [
+    "p1monitor"
+  ];
 
   meta = with lib; {
-    description = "Python client for the P1 Monitor";
+    description = "Module for interacting with the P1 Monitor";
     homepage = "https://github.com/klaasnicolaas/python-p1monitor";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/packageurl-python/default.nix b/pkgs/development/python-modules/packageurl-python/default.nix
index 564a08b4eb7..5236cc7bbf8 100644
--- a/pkgs/development/python-modules/packageurl-python/default.nix
+++ b/pkgs/development/python-modules/packageurl-python/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "packageurl-python";
-  version = "0.9.6";
+  version = "0.9.8.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c01fbaf62ad2eb791e97158d1f30349e830bee2dd3e9503a87f6c3ffae8d1cf0";
+    sha256 = "sha256-Z14OyAWPoIN6BAUEcXi96mp9C0aWaYP6eeHAoa+rHJ4=";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/pandas/default.nix b/pkgs/development/python-modules/pandas/default.nix
index 880a5afdce6..536f883f29a 100644
--- a/pkgs/development/python-modules/pandas/default.nix
+++ b/pkgs/development/python-modules/pandas/default.nix
@@ -27,12 +27,12 @@
 
 buildPythonPackage rec {
   pname = "pandas";
-  version = "1.3.4";
+  version = "1.3.5";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a2aa18d3f0b7d538e21932f637fbfe8518d085238b429e4790a35e1e44a96ffc";
+    sha256 = "1e4285f5de1012de20ca46b188ccf33521bff61ba5c5ebd78b4fb28e5416a9f1";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/panel/default.nix b/pkgs/development/python-modules/panel/default.nix
index 8673c637eda..c5da10a30b0 100644
--- a/pkgs/development/python-modules/panel/default.nix
+++ b/pkgs/development/python-modules/panel/default.nix
@@ -9,40 +9,23 @@
 , pyct
 , testpath
 , tqdm
-, callPackage
+, nodejs
 }:
 
-let
-  node = callPackage ./node { };
-in
 buildPythonPackage rec {
   pname = "panel";
   version = "0.12.6";
 
-  # Don't forget to also update the node packages
-  # 1. retrieve the package.json file
-  # 2. nix shell nixpkgs#nodePackages.node2nix
-  # 3. node2nix
+  format = "wheel";
+
+  # We fetch a wheel because while we can fetch the node
+  # artifacts using npm, the bundling invoked in setup.py
+  # tries to fetch even more artifacts
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "97e158e8eb941f88d71929407f9455c903b5e18d89969db8ce8af66036f46b53";
+    inherit pname version format;
+    hash = "sha256-ARAbBM0QYZlZqV51lMRoEZEQH1jlHRhlon3nfTi7dnM=";
   };
 
-  # Since 0.10.0 panel attempts to fetch from the web.
-  # We avoid this:
-  # - we use node2nix to fetch assets
-  # - we disable bundling (which also tries to fetch assets)
-  # Downside of disabling bundling is that in an airgapped environment
-  # one may miss assets.
-  # https://github.com/holoviz/panel/issues/1819
-  preBuild = ''
-    substituteInPlace setup.py --replace "bundle_resources()" ""
-    pushd panel
-    ln -s ${node.nodeDependencies}/lib/node_modules
-    export PATH="${node.nodeDependencies}/bin:$PATH"
-    popd
-  '';
-
   propagatedBuildInputs = [
     bleach
     bokeh
@@ -58,7 +41,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   passthru = {
-    inherit node; # For convenience
+    inherit nodejs; # For convenience
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/panel/node/default.nix b/pkgs/development/python-modules/panel/node/default.nix
deleted file mode 100644
index 64326c6b216..00000000000
--- a/pkgs/development/python-modules/panel/node/default.nix
+++ /dev/null
@@ -1,17 +0,0 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
-
-{pkgs ? import <nixpkgs> {
-    inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
-
-let
-  nodeEnv = import ./node-env.nix {
-    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
-    inherit pkgs nodejs;
-    libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
-  };
-in
-import ./node-packages.nix {
-  inherit (pkgs) fetchurl nix-gitignore stdenv lib fetchgit;
-  inherit nodeEnv;
-}
diff --git a/pkgs/development/python-modules/panel/node/node-env.nix b/pkgs/development/python-modules/panel/node/node-env.nix
deleted file mode 100644
index 21089c4d545..00000000000
--- a/pkgs/development/python-modules/panel/node/node-env.nix
+++ /dev/null
@@ -1,573 +0,0 @@
-# This file originates from node2nix
-
-{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
-
-let
-  # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
-  utillinux = if pkgs ? utillinux then pkgs.utillinux else pkgs.util-linux;
-
-  python = if nodejs ? python then nodejs.python else python2;
-
-  # Create a tar wrapper that filters all the 'Ignoring unknown extended header keyword' noise
-  tarWrapper = runCommand "tarWrapper" {} ''
-    mkdir -p $out/bin
-
-    cat > $out/bin/tar <<EOF
-    #! ${stdenv.shell} -e
-    $(type -p tar) "\$@" --warning=no-unknown-keyword --delay-directory-restore
-    EOF
-
-    chmod +x $out/bin/tar
-  '';
-
-  # Function that generates a TGZ file from a NPM project
-  buildNodeSourceDist =
-    { name, version, src, ... }:
-
-    stdenv.mkDerivation {
-      name = "node-tarball-${name}-${version}";
-      inherit src;
-      buildInputs = [ nodejs ];
-      buildPhase = ''
-        export HOME=$TMPDIR
-        tgzFile=$(npm pack | tail -n 1) # Hooks to the pack command will add output (https://docs.npmjs.com/misc/scripts)
-      '';
-      installPhase = ''
-        mkdir -p $out/tarballs
-        mv $tgzFile $out/tarballs
-        mkdir -p $out/nix-support
-        echo "file source-dist $out/tarballs/$tgzFile" >> $out/nix-support/hydra-build-products
-      '';
-    };
-
-  includeDependencies = {dependencies}:
-    lib.optionalString (dependencies != [])
-      (lib.concatMapStrings (dependency:
-        ''
-          # Bundle the dependencies of the package
-          mkdir -p node_modules
-          cd node_modules
-
-          # Only include dependencies if they don't exist. They may also be bundled in the package.
-          if [ ! -e "${dependency.name}" ]
-          then
-              ${composePackage dependency}
-          fi
-
-          cd ..
-        ''
-      ) dependencies);
-
-  # Recursively composes the dependencies of a package
-  composePackage = { name, packageName, src, dependencies ? [], ... }@args:
-    builtins.addErrorContext "while evaluating node package '${packageName}'" ''
-      DIR=$(pwd)
-      cd $TMPDIR
-
-      unpackFile ${src}
-
-      # Make the base dir in which the target dependency resides first
-      mkdir -p "$(dirname "$DIR/${packageName}")"
-
-      if [ -f "${src}" ]
-      then
-          # Figure out what directory has been unpacked
-          packageDir="$(find . -maxdepth 1 -type d | tail -1)"
-
-          # Restore write permissions to make building work
-          find "$packageDir" -type d -exec chmod u+x {} \;
-          chmod -R u+w "$packageDir"
-
-          # Move the extracted tarball into the output folder
-          mv "$packageDir" "$DIR/${packageName}"
-      elif [ -d "${src}" ]
-      then
-          # Get a stripped name (without hash) of the source directory.
-          # On old nixpkgs it's already set internally.
-          if [ -z "$strippedName" ]
-          then
-              strippedName="$(stripHash ${src})"
-          fi
-
-          # Restore write permissions to make building work
-          chmod -R u+w "$strippedName"
-
-          # Move the extracted directory into the output folder
-          mv "$strippedName" "$DIR/${packageName}"
-      fi
-
-      # Unset the stripped name to not confuse the next unpack step
-      unset strippedName
-
-      # Include the dependencies of the package
-      cd "$DIR/${packageName}"
-      ${includeDependencies { inherit dependencies; }}
-      cd ..
-      ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-    '';
-
-  pinpointDependencies = {dependencies, production}:
-    let
-      pinpointDependenciesFromPackageJSON = writeTextFile {
-        name = "pinpointDependencies.js";
-        text = ''
-          var fs = require('fs');
-          var path = require('path');
-
-          function resolveDependencyVersion(location, name) {
-              if(location == process.env['NIX_STORE']) {
-                  return null;
-              } else {
-                  var dependencyPackageJSON = path.join(location, "node_modules", name, "package.json");
-
-                  if(fs.existsSync(dependencyPackageJSON)) {
-                      var dependencyPackageObj = JSON.parse(fs.readFileSync(dependencyPackageJSON));
-
-                      if(dependencyPackageObj.name == name) {
-                          return dependencyPackageObj.version;
-                      }
-                  } else {
-                      return resolveDependencyVersion(path.resolve(location, ".."), name);
-                  }
-              }
-          }
-
-          function replaceDependencies(dependencies) {
-              if(typeof dependencies == "object" && dependencies !== null) {
-                  for(var dependency in dependencies) {
-                      var resolvedVersion = resolveDependencyVersion(process.cwd(), dependency);
-
-                      if(resolvedVersion === null) {
-                          process.stderr.write("WARNING: cannot pinpoint dependency: "+dependency+", context: "+process.cwd()+"\n");
-                      } else {
-                          dependencies[dependency] = resolvedVersion;
-                      }
-                  }
-              }
-          }
-
-          /* Read the package.json configuration */
-          var packageObj = JSON.parse(fs.readFileSync('./package.json'));
-
-          /* Pinpoint all dependencies */
-          replaceDependencies(packageObj.dependencies);
-          if(process.argv[2] == "development") {
-              replaceDependencies(packageObj.devDependencies);
-          }
-          replaceDependencies(packageObj.optionalDependencies);
-
-          /* Write the fixed package.json file */
-          fs.writeFileSync("package.json", JSON.stringify(packageObj, null, 2));
-        '';
-      };
-    in
-    ''
-      node ${pinpointDependenciesFromPackageJSON} ${if production then "production" else "development"}
-
-      ${lib.optionalString (dependencies != [])
-        ''
-          if [ -d node_modules ]
-          then
-              cd node_modules
-              ${lib.concatMapStrings (dependency: pinpointDependenciesOfPackage dependency) dependencies}
-              cd ..
-          fi
-        ''}
-    '';
-
-  # Recursively traverses all dependencies of a package and pinpoints all
-  # dependencies in the package.json file to the versions that are actually
-  # being used.
-
-  pinpointDependenciesOfPackage = { packageName, dependencies ? [], production ? true, ... }@args:
-    ''
-      if [ -d "${packageName}" ]
-      then
-          cd "${packageName}"
-          ${pinpointDependencies { inherit dependencies production; }}
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-      fi
-    '';
-
-  # Extract the Node.js source code which is used to compile packages with
-  # native bindings
-  nodeSources = runCommand "node-sources" {} ''
-    tar --no-same-owner --no-same-permissions -xf ${nodejs.src}
-    mv node-* $out
-  '';
-
-  # Script that adds _integrity fields to all package.json files to prevent NPM from consulting the cache (that is empty)
-  addIntegrityFieldsScript = writeTextFile {
-    name = "addintegrityfields.js";
-    text = ''
-      var fs = require('fs');
-      var path = require('path');
-
-      function augmentDependencies(baseDir, dependencies) {
-          for(var dependencyName in dependencies) {
-              var dependency = dependencies[dependencyName];
-
-              // Open package.json and augment metadata fields
-              var packageJSONDir = path.join(baseDir, "node_modules", dependencyName);
-              var packageJSONPath = path.join(packageJSONDir, "package.json");
-
-              if(fs.existsSync(packageJSONPath)) { // Only augment packages that exist. Sometimes we may have production installs in which development dependencies can be ignored
-                  console.log("Adding metadata fields to: "+packageJSONPath);
-                  var packageObj = JSON.parse(fs.readFileSync(packageJSONPath));
-
-                  if(dependency.integrity) {
-                      packageObj["_integrity"] = dependency.integrity;
-                  } else {
-                      packageObj["_integrity"] = "sha1-000000000000000000000000000="; // When no _integrity string has been provided (e.g. by Git dependencies), add a dummy one. It does not seem to harm and it bypasses downloads.
-                  }
-
-                  if(dependency.resolved) {
-                      packageObj["_resolved"] = dependency.resolved; // Adopt the resolved property if one has been provided
-                  } else {
-                      packageObj["_resolved"] = dependency.version; // Set the resolved version to the version identifier. This prevents NPM from cloning Git repositories.
-                  }
-
-                  if(dependency.from !== undefined) { // Adopt from property if one has been provided
-                      packageObj["_from"] = dependency.from;
-                  }
-
-                  fs.writeFileSync(packageJSONPath, JSON.stringify(packageObj, null, 2));
-              }
-
-              // Augment transitive dependencies
-              if(dependency.dependencies !== undefined) {
-                  augmentDependencies(packageJSONDir, dependency.dependencies);
-              }
-          }
-      }
-
-      if(fs.existsSync("./package-lock.json")) {
-          var packageLock = JSON.parse(fs.readFileSync("./package-lock.json"));
-
-          if(![1, 2].includes(packageLock.lockfileVersion)) {
-             process.stderr.write("Sorry, I only understand lock file versions 1 and 2!\n");
-             process.exit(1);
-          }
-
-          if(packageLock.dependencies !== undefined) {
-              augmentDependencies(".", packageLock.dependencies);
-          }
-      }
-    '';
-  };
-
-  # Reconstructs a package-lock file from the node_modules/ folder structure and package.json files with dummy sha1 hashes
-  reconstructPackageLock = writeTextFile {
-    name = "addintegrityfields.js";
-    text = ''
-      var fs = require('fs');
-      var path = require('path');
-
-      var packageObj = JSON.parse(fs.readFileSync("package.json"));
-
-      var lockObj = {
-          name: packageObj.name,
-          version: packageObj.version,
-          lockfileVersion: 1,
-          requires: true,
-          dependencies: {}
-      };
-
-      function augmentPackageJSON(filePath, dependencies) {
-          var packageJSON = path.join(filePath, "package.json");
-          if(fs.existsSync(packageJSON)) {
-              var packageObj = JSON.parse(fs.readFileSync(packageJSON));
-              dependencies[packageObj.name] = {
-                  version: packageObj.version,
-                  integrity: "sha1-000000000000000000000000000=",
-                  dependencies: {}
-              };
-              processDependencies(path.join(filePath, "node_modules"), dependencies[packageObj.name].dependencies);
-          }
-      }
-
-      function processDependencies(dir, dependencies) {
-          if(fs.existsSync(dir)) {
-              var files = fs.readdirSync(dir);
-
-              files.forEach(function(entry) {
-                  var filePath = path.join(dir, entry);
-                  var stats = fs.statSync(filePath);
-
-                  if(stats.isDirectory()) {
-                      if(entry.substr(0, 1) == "@") {
-                          // When we encounter a namespace folder, augment all packages belonging to the scope
-                          var pkgFiles = fs.readdirSync(filePath);
-
-                          pkgFiles.forEach(function(entry) {
-                              if(stats.isDirectory()) {
-                                  var pkgFilePath = path.join(filePath, entry);
-                                  augmentPackageJSON(pkgFilePath, dependencies);
-                              }
-                          });
-                      } else {
-                          augmentPackageJSON(filePath, dependencies);
-                      }
-                  }
-              });
-          }
-      }
-
-      processDependencies("node_modules", lockObj.dependencies);
-
-      fs.writeFileSync("package-lock.json", JSON.stringify(lockObj, null, 2));
-    '';
-  };
-
-  prepareAndInvokeNPM = {packageName, bypassCache, reconstructLock, npmFlags, production}:
-    let
-      forceOfflineFlag = if bypassCache then "--offline" else "--registry http://www.example.com";
-    in
-    ''
-        # Pinpoint the versions of all dependencies to the ones that are actually being used
-        echo "pinpointing versions of dependencies..."
-        source $pinpointDependenciesScriptPath
-
-        # Patch the shebangs of the bundled modules to prevent them from
-        # calling executables outside the Nix store as much as possible
-        patchShebangs .
-
-        # Deploy the Node.js package by running npm install. Since the
-        # dependencies have been provided already by ourselves, it should not
-        # attempt to install them again, which is good, because we want to make
-        # it Nix's responsibility. If it needs to install any dependencies
-        # anyway (e.g. because the dependency parameters are
-        # incomplete/incorrect), it fails.
-        #
-        # The other responsibilities of NPM are kept -- version checks, build
-        # steps, postprocessing etc.
-
-        export HOME=$TMPDIR
-        cd "${packageName}"
-        runHook preRebuild
-
-        ${lib.optionalString bypassCache ''
-          ${lib.optionalString reconstructLock ''
-            if [ -f package-lock.json ]
-            then
-                echo "WARNING: Reconstruct lock option enabled, but a lock file already exists!"
-                echo "This will most likely result in version mismatches! We will remove the lock file and regenerate it!"
-                rm package-lock.json
-            else
-                echo "No package-lock.json file found, reconstructing..."
-            fi
-
-            node ${reconstructPackageLock}
-          ''}
-
-          node ${addIntegrityFieldsScript}
-        ''}
-
-        npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} rebuild
-
-        if [ "''${dontNpmInstall-}" != "1" ]
-        then
-            # NPM tries to download packages even when they already exist if npm-shrinkwrap is used.
-            rm -f npm-shrinkwrap.json
-
-            npm ${forceOfflineFlag} --nodedir=${nodeSources} ${npmFlags} ${lib.optionalString production "--production"} install
-        fi
-    '';
-
-  # Builds and composes an NPM package including all its dependencies
-  buildNodePackage =
-    { name
-    , packageName
-    , version
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , preRebuild ? ""
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , meta ? {}
-    , ... }@args:
-
-    let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" "dontStrip" "dontNpmInstall" "preRebuild" "unpackPhase" "buildPhase" "meta" ];
-    in
-    stdenv.mkDerivation ({
-      name = "${name}-${version}";
-      buildInputs = [ tarWrapper python nodejs ]
-        ++ lib.optional (stdenv.isLinux) utillinux
-        ++ lib.optional (stdenv.isDarwin) libtool
-        ++ buildInputs;
-
-      inherit nodejs;
-
-      inherit dontStrip; # Stripping may fail a build for some package deployments
-      inherit dontNpmInstall preRebuild unpackPhase buildPhase;
-
-      compositionScript = composePackage args;
-      pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-
-      passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
-
-      installPhase = ''
-        # Create and enter a root node_modules/ folder
-        mkdir -p $out/lib/node_modules
-        cd $out/lib/node_modules
-
-        # Compose the package and all its dependencies
-        source $compositionScriptPath
-
-        ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
-
-        # Create symlink to the deployed executable folder, if applicable
-        if [ -d "$out/lib/node_modules/.bin" ]
-        then
-            ln -s $out/lib/node_modules/.bin $out/bin
-        fi
-
-        # Create symlinks to the deployed manual page folders, if applicable
-        if [ -d "$out/lib/node_modules/${packageName}/man" ]
-        then
-            mkdir -p $out/share
-            for dir in "$out/lib/node_modules/${packageName}/man/"*
-            do
-                mkdir -p $out/share/man/$(basename "$dir")
-                for page in "$dir"/*
-                do
-                    ln -s $page $out/share/man/$(basename "$dir")
-                done
-            done
-        fi
-
-        # Run post install hook, if provided
-        runHook postInstall
-      '';
-
-      meta = {
-        # default to Node.js' platforms
-        platforms = nodejs.meta.platforms;
-      } // meta;
-    } // extraArgs);
-
-  # Builds a node environment (a node_modules folder and a set of binaries)
-  buildNodeDependencies =
-    { name
-    , packageName
-    , version
-    , src
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , ... }@args:
-
-    let
-      extraArgs = removeAttrs args [ "name" "dependencies" "buildInputs" ];
-    in
-      stdenv.mkDerivation ({
-        name = "node-dependencies-${name}-${version}";
-
-        buildInputs = [ tarWrapper python nodejs ]
-          ++ lib.optional (stdenv.isLinux) utillinux
-          ++ lib.optional (stdenv.isDarwin) libtool
-          ++ buildInputs;
-
-        inherit dontStrip; # Stripping may fail a build for some package deployments
-        inherit dontNpmInstall unpackPhase buildPhase;
-
-        includeScript = includeDependencies { inherit dependencies; };
-        pinpointDependenciesScript = pinpointDependenciesOfPackage args;
-
-        passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
-
-        installPhase = ''
-          mkdir -p $out/${packageName}
-          cd $out/${packageName}
-
-          source $includeScriptPath
-
-          # Create fake package.json to make the npm commands work properly
-          cp ${src}/package.json .
-          chmod 644 package.json
-          ${lib.optionalString bypassCache ''
-            if [ -f ${src}/package-lock.json ]
-            then
-                cp ${src}/package-lock.json .
-            fi
-          ''}
-
-          # Go to the parent folder to make sure that all packages are pinpointed
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-
-          ${prepareAndInvokeNPM { inherit packageName bypassCache reconstructLock npmFlags production; }}
-
-          # Expose the executables that were installed
-          cd ..
-          ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
-
-          mv ${packageName} lib
-          ln -s $out/lib/node_modules/.bin $out/bin
-        '';
-      } // extraArgs);
-
-  # Builds a development shell
-  buildNodeShell =
-    { name
-    , packageName
-    , version
-    , src
-    , dependencies ? []
-    , buildInputs ? []
-    , production ? true
-    , npmFlags ? ""
-    , dontNpmInstall ? false
-    , bypassCache ? false
-    , reconstructLock ? false
-    , dontStrip ? true
-    , unpackPhase ? "true"
-    , buildPhase ? "true"
-    , ... }@args:
-
-    let
-      nodeDependencies = buildNodeDependencies args;
-    in
-    stdenv.mkDerivation {
-      name = "node-shell-${name}-${version}";
-
-      buildInputs = [ python nodejs ] ++ lib.optional (stdenv.isLinux) utillinux ++ buildInputs;
-      buildCommand = ''
-        mkdir -p $out/bin
-        cat > $out/bin/shell <<EOF
-        #! ${stdenv.shell} -e
-        $shellHook
-        exec ${stdenv.shell}
-        EOF
-        chmod +x $out/bin/shell
-      '';
-
-      # Provide the dependencies in a development shell through the NODE_PATH environment variable
-      inherit nodeDependencies;
-      shellHook = lib.optionalString (dependencies != []) ''
-        export NODE_PATH=${nodeDependencies}/lib/node_modules
-        export PATH="${nodeDependencies}/bin:$PATH"
-      '';
-    };
-in
-{
-  buildNodeSourceDist = lib.makeOverridable buildNodeSourceDist;
-  buildNodePackage = lib.makeOverridable buildNodePackage;
-  buildNodeDependencies = lib.makeOverridable buildNodeDependencies;
-  buildNodeShell = lib.makeOverridable buildNodeShell;
-}
diff --git a/pkgs/development/python-modules/panel/node/node-packages.nix b/pkgs/development/python-modules/panel/node/node-packages.nix
deleted file mode 100644
index 78c7c4ac37d..00000000000
--- a/pkgs/development/python-modules/panel/node/node-packages.nix
+++ /dev/null
@@ -1,562 +0,0 @@
-# This file has been generated by node2nix 1.9.0. Do not edit!
-
-{nodeEnv, fetchurl, fetchgit, nix-gitignore, stdenv, lib, globalBuildInputs ? []}:
-
-let
-  sources = {
-    "@babel/runtime-7.15.3" = {
-      name = "_at_babel_slash_runtime";
-      packageName = "@babel/runtime";
-      version = "7.15.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.3.tgz";
-        sha512 = "OvwMLqNXkCXSz1kSm58sEsNuhqOx/fKpnUnKnFB5v8uDda5bLNEHNgKPvhDN6IU0LDcnHQ90LlJ0Q6jnyBSIBA==";
-      };
-    };
-    "@bokeh/bokehjs-2.3.3" = {
-      name = "_at_bokeh_slash_bokehjs";
-      packageName = "@bokeh/bokehjs";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@bokeh/bokehjs/-/bokehjs-2.3.3.tgz";
-        sha512 = "Zev3p5xnS47YsZo5hcGGNUdISH3mkVLKSc6LMVqEIRlnc7Ay79TD9bnApeYh90k0JU1pcMh0gEqHgwVOGPTZ/w==";
-      };
-    };
-    "@bokeh/numbro-1.6.2" = {
-      name = "_at_bokeh_slash_numbro";
-      packageName = "@bokeh/numbro";
-      version = "1.6.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@bokeh/numbro/-/numbro-1.6.2.tgz";
-        sha512 = "owIECPc3T3QXHCb2v5Ez+/uE9SIxI7N4nd9iFlWnfBrOelr0/omvFn09VisRn37AAFAY39sJiCVgECwryHWUPA==";
-      };
-    };
-    "@bokeh/slickgrid-2.4.2702" = {
-      name = "_at_bokeh_slash_slickgrid";
-      packageName = "@bokeh/slickgrid";
-      version = "2.4.2702";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@bokeh/slickgrid/-/slickgrid-2.4.2702.tgz";
-        sha512 = "W9tm8Qdw5BrylbZbaVWaQMgLfW/klesnj6J3FnyWpo18hCCOFApccUD8iOnRv7bF6PHlgWk84mW3JT5RSzYKjA==";
-      };
-    };
-    "@luma.gl/constants-8.5.5" = {
-      name = "_at_luma.gl_slash_constants";
-      packageName = "@luma.gl/constants";
-      version = "8.5.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@luma.gl/constants/-/constants-8.5.5.tgz";
-        sha512 = "3pDC7jFaXliDP7Gvr6pPkorLFBXDnuakNeN87aEYcIM+p3XrkF0rPnDQJEzwScWS9RIopXT858xmL3vG7IYsDw==";
-      };
-    };
-    "@types/debounce-1.2.0" = {
-      name = "_at_types_slash_debounce";
-      packageName = "@types/debounce";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/debounce/-/debounce-1.2.0.tgz";
-        sha512 = "bWG5wapaWgbss9E238T0R6bfo5Fh3OkeoSt245CM7JJwVwpw6MEBCbIxLq5z8KzsE3uJhzcIuQkyiZmzV3M/Dw==";
-      };
-    };
-    "@types/gl-matrix-2.4.5" = {
-      name = "_at_types_slash_gl-matrix";
-      packageName = "@types/gl-matrix";
-      version = "2.4.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/gl-matrix/-/gl-matrix-2.4.5.tgz";
-        sha512 = "0L8Mq1+oaIW0oVzGUDbSW+HnTjCNb4CmoIQE5BkoHt/A7x20z0MJ1PnwfH3atty/vbWLGgvJwVu2Mz3SKFiEFw==";
-      };
-    };
-    "@types/jquery-3.5.6" = {
-      name = "_at_types_slash_jquery";
-      packageName = "@types/jquery";
-      version = "3.5.6";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jquery/-/jquery-3.5.6.tgz";
-        sha512 = "SmgCQRzGPId4MZQKDj9Hqc6kSXFNWZFHpELkyK8AQhf8Zr6HKfCzFv9ZC1Fv3FyQttJZOlap3qYb12h61iZAIg==";
-      };
-    };
-    "@types/sizzle-2.3.3" = {
-      name = "_at_types_slash_sizzle";
-      packageName = "@types/sizzle";
-      version = "2.3.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/sizzle/-/sizzle-2.3.3.tgz";
-        sha512 = "JYM8x9EGF163bEyhdJBpR2QX1R5naCJHC8ucJylJ3w9/CVBaskdQ8WqBf8MmQrd1kRvp/a4TS8HJ+bxzR7ZJYQ==";
-      };
-    };
-    "@types/slickgrid-2.1.31" = {
-      name = "_at_types_slash_slickgrid";
-      packageName = "@types/slickgrid";
-      version = "2.1.31";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/slickgrid/-/slickgrid-2.1.31.tgz";
-        sha512 = "t/LodOkh8yP+o2jKcHsC0hAjDh1kl4RSFXKWmR9+U5FwXE7VpipqiAkE1W3NnGNA3ni5xnKQJt/CNXurJWTQ6w==";
-      };
-    };
-    "choices.js-9.0.1" = {
-      name = "choices.js";
-      packageName = "choices.js";
-      version = "9.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/choices.js/-/choices.js-9.0.1.tgz";
-        sha512 = "JgpeDY0Tmg7tqY6jaW/druSklJSt7W68tXFJIw0GSGWmO37SDAL8o60eICNGbzIODjj02VNNtf5h6TgoHDtCsA==";
-      };
-    };
-    "d-1.0.1" = {
-      name = "d";
-      packageName = "d";
-      version = "1.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/d/-/d-1.0.1.tgz";
-        sha512 = "m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==";
-      };
-    };
-    "debounce-1.2.1" = {
-      name = "debounce";
-      packageName = "debounce";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/debounce/-/debounce-1.2.1.tgz";
-        sha512 = "XRRe6Glud4rd/ZGQfiV1ruXSfbvfJedlV9Y6zOlP+2K04vBYiJEte6stfFkCP03aMnY5tsipamumUjL14fofug==";
-      };
-    };
-    "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==";
-      };
-    };
-    "es5-ext-0.10.53" = {
-      name = "es5-ext";
-      packageName = "es5-ext";
-      version = "0.10.53";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz";
-        sha512 = "Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==";
-      };
-    };
-    "es6-iterator-2.0.3" = {
-      name = "es6-iterator";
-      packageName = "es6-iterator";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz";
-        sha1 = "a7de889141a05a94b0854403b2d0a0fbfa98f3b7";
-      };
-    };
-    "es6-map-0.1.5" = {
-      name = "es6-map";
-      packageName = "es6-map";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-map/-/es6-map-0.1.5.tgz";
-        sha1 = "9136e0503dcc06a301690f0bb14ff4e364e949f0";
-      };
-    };
-    "es6-promise-4.2.8" = {
-      name = "es6-promise";
-      packageName = "es6-promise";
-      version = "4.2.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz";
-        sha512 = "HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==";
-      };
-    };
-    "es6-set-0.1.5" = {
-      name = "es6-set";
-      packageName = "es6-set";
-      version = "0.1.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-set/-/es6-set-0.1.5.tgz";
-        sha1 = "d2b3ec5d4d800ced818db538d28974db0a73ccb1";
-      };
-    };
-    "es6-symbol-3.1.1" = {
-      name = "es6-symbol";
-      packageName = "es6-symbol";
-      version = "3.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.1.tgz";
-        sha1 = "bf00ef4fdab6ba1b46ecb7b629b4c7ed5715cc77";
-      };
-    };
-    "es6-symbol-3.1.3" = {
-      name = "es6-symbol";
-      packageName = "es6-symbol";
-      version = "3.1.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz";
-        sha512 = "NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==";
-      };
-    };
-    "es6-weak-map-2.0.3" = {
-      name = "es6-weak-map";
-      packageName = "es6-weak-map";
-      version = "2.0.3";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/es6-weak-map/-/es6-weak-map-2.0.3.tgz";
-        sha512 = "p5um32HOTO1kP+w7PRnB+5lQ43Z6muuMuIMffvDN8ZB4GcnjLBV6zGStpbASIMk4DCAvEaamhe2zhyCb/QXXsA==";
-      };
-    };
-    "event-emitter-0.3.5" = {
-      name = "event-emitter";
-      packageName = "event-emitter";
-      version = "0.3.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/event-emitter/-/event-emitter-0.3.5.tgz";
-        sha1 = "df8c69eef1647923c7157b9ce83840610b02cc39";
-      };
-    };
-    "ext-1.5.0" = {
-      name = "ext";
-      packageName = "ext";
-      version = "1.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ext/-/ext-1.5.0.tgz";
-        sha512 = "+ONcYoWj/SoQwUofMr94aGu05Ou4FepKi7N7b+O8T4jVfyIsZQV1/xeS8jpaBzF0csAk0KLXoHCxU7cKYZjo1Q==";
-      };
-    };
-    "fast-deep-equal-2.0.1" = {
-      name = "fast-deep-equal";
-      packageName = "fast-deep-equal";
-      version = "2.0.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz";
-        sha1 = "7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49";
-      };
-    };
-    "fast-json-patch-2.2.1" = {
-      name = "fast-json-patch";
-      packageName = "fast-json-patch";
-      version = "2.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fast-json-patch/-/fast-json-patch-2.2.1.tgz";
-        sha512 = "4j5uBaTnsYAV5ebkidvxiLUYOwjQ+JSFljeqfTxCrH9bDmlCQaOJFS84oDJ2rAXZq2yskmk3ORfoP9DCwqFNig==";
-      };
-    };
-    "flatbush-3.3.0" = {
-      name = "flatbush";
-      packageName = "flatbush";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatbush/-/flatbush-3.3.0.tgz";
-        sha512 = "F3EzQvKpdmXUbFwWxLKBpytOFEGYQMCTBLuqZ4GEajFOEAvnOIBiyxW3OFSZXIOtpCS8teN6bFEpNZtnVXuDQA==";
-      };
-    };
-    "flatpickr-4.6.9" = {
-      name = "flatpickr";
-      packageName = "flatpickr";
-      version = "4.6.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatpickr/-/flatpickr-4.6.9.tgz";
-        sha512 = "F0azNNi8foVWKSF+8X+ZJzz8r9sE1G4hl06RyceIaLvyltKvDl6vqk9Lm/6AUUCi5HWaIjiUbk7UpeE/fOXOpw==";
-      };
-    };
-    "flatqueue-1.2.1" = {
-      name = "flatqueue";
-      packageName = "flatqueue";
-      version = "1.2.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/flatqueue/-/flatqueue-1.2.1.tgz";
-        sha512 = "X86TpWS1rGuY7m382HuA9vngLeDuWA9lJvhEG+GfgKMV5onSvx5a71cl7GMbXzhWtlN9dGfqOBrpfqeOtUfGYQ==";
-      };
-    };
-    "fuse.js-3.6.1" = {
-      name = "fuse.js";
-      packageName = "fuse.js";
-      version = "3.6.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/fuse.js/-/fuse.js-3.6.1.tgz";
-        sha512 = "hT9yh/tiinkmirKrlv4KWOjztdoZo1mx9Qh4KvWqC7isoXwdUY3PNWUxceF4/qO9R6riA2C29jdTOeQOIROjgw==";
-      };
-    };
-    "gl-matrix-3.3.0" = {
-      name = "gl-matrix";
-      packageName = "gl-matrix";
-      version = "3.3.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.3.0.tgz";
-        sha512 = "COb7LDz+SXaHtl/h4LeaFcNdJdAQSDeVqjiIihSXNrkWObZLhDI4hIkZC11Aeqp7bcE72clzB0BnDXr2SmslRA==";
-      };
-    };
-    "hammerjs-2.0.8" = {
-      name = "hammerjs";
-      packageName = "hammerjs";
-      version = "2.0.8";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/hammerjs/-/hammerjs-2.0.8.tgz";
-        sha1 = "04ef77862cff2bb79d30f7692095930222bf60f1";
-      };
-    };
-    "htm-3.1.0" = {
-      name = "htm";
-      packageName = "htm";
-      version = "3.1.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/htm/-/htm-3.1.0.tgz";
-        sha512 = "L0s3Sid5r6YwrEvkig14SK3Emmc+kIjlfLhEGn2Vy3bk21JyDEes4MoDsbJk6luaPp8bugErnxPz86ZuAw6e5Q==";
-      };
-    };
-    "jquery-3.6.0" = {
-      name = "jquery";
-      packageName = "jquery";
-      version = "3.6.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz";
-        sha512 = "JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==";
-      };
-    };
-    "jquery-ui-1.12.1" = {
-      name = "jquery-ui";
-      packageName = "jquery-ui";
-      version = "1.12.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jquery-ui/-/jquery-ui-1.12.1.tgz";
-        sha1 = "bcb4045c8dd0539c134bc1488cdd3e768a7a9e51";
-      };
-    };
-    "json-formatter-js-2.3.4" = {
-      name = "json-formatter-js";
-      packageName = "json-formatter-js";
-      version = "2.3.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/json-formatter-js/-/json-formatter-js-2.3.4.tgz";
-        sha512 = "gmAzYRtPRmYzeAT4T7+t3NhTF89JOAIioCVDddl9YDb3ls3kWcskirafw/MZGJaRhEU6fRimGJHl7CC7gaAI2Q==";
-      };
-    };
-    "mgrs-1.0.0" = {
-      name = "mgrs";
-      packageName = "mgrs";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/mgrs/-/mgrs-1.0.0.tgz";
-        sha1 = "fb91588e78c90025672395cb40b25f7cd6ad1829";
-      };
-    };
-    "next-tick-1.0.0" = {
-      name = "next-tick";
-      packageName = "next-tick";
-      version = "1.0.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz";
-        sha1 = "ca86d1fe8828169b0120208e3dc8424b9db8342c";
-      };
-    };
-    "nouislider-14.7.0" = {
-      name = "nouislider";
-      packageName = "nouislider";
-      version = "14.7.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nouislider/-/nouislider-14.7.0.tgz";
-        sha512 = "4RtQ1+LHJKesDCNJrXkQcwXAWCrC2aggdLYMstS/G5fEWL+fXZbUA9pwVNHFghMGuFGRATlDLNInRaPeRKzpFQ==";
-      };
-    };
-    "preact-10.5.14" = {
-      name = "preact";
-      packageName = "preact";
-      version = "10.5.14";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/preact/-/preact-10.5.14.tgz";
-        sha512 = "KojoltCrshZ099ksUZ2OQKfbH66uquFoxHSbnwKbTJHeQNvx42EmC7wQVWNuDt6vC5s3nudRHFtKbpY4ijKlaQ==";
-      };
-    };
-    "proj4-2.7.5" = {
-      name = "proj4";
-      packageName = "proj4";
-      version = "2.7.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/proj4/-/proj4-2.7.5.tgz";
-        sha512 = "5ecXUXbHAfvdhfBQpU7EhUfPCQGUCPmVup/4gnZA3bJY3JcK/xxzm4QQDz1xiXokN6ux65VDczlCtBtKrTSpAQ==";
-      };
-    };
-    "redux-4.1.1" = {
-      name = "redux";
-      packageName = "redux";
-      version = "4.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/redux/-/redux-4.1.1.tgz";
-        sha512 = "hZQZdDEM25UY2P493kPYuKqviVwZ58lEmGQNeQ+gXa+U0gYPUBf7NKYazbe3m+bs/DzM/ahN12DbF+NG8i0CWw==";
-      };
-    };
-    "regenerator-runtime-0.13.9" = {
-      name = "regenerator-runtime";
-      packageName = "regenerator-runtime";
-      version = "0.13.9";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz";
-        sha512 = "p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==";
-      };
-    };
-    "sprintf-js-1.1.2" = {
-      name = "sprintf-js";
-      packageName = "sprintf-js";
-      version = "1.1.2";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz";
-        sha512 = "VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==";
-      };
-    };
-    "timezone-1.0.23" = {
-      name = "timezone";
-      packageName = "timezone";
-      version = "1.0.23";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/timezone/-/timezone-1.0.23.tgz";
-        sha512 = "yhQgk6qmSLB+TF8HGmApZAVI5bfzR1CoKUGr+WMZWmx75ED1uDewAZA8QMGCQ70TEv4GmM8pDB9jrHuxdaQ1PA==";
-      };
-    };
-    "tslib-1.14.1" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "1.14.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz";
-        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
-      };
-    };
-    "tslib-2.3.1" = {
-      name = "tslib";
-      packageName = "tslib";
-      version = "2.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz";
-        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
-      };
-    };
-    "type-1.2.0" = {
-      name = "type";
-      packageName = "type";
-      version = "1.2.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-1.2.0.tgz";
-        sha512 = "+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==";
-      };
-    };
-    "type-2.5.0" = {
-      name = "type";
-      packageName = "type";
-      version = "2.5.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/type/-/type-2.5.0.tgz";
-        sha512 = "180WMDQaIMm3+7hGXWf12GtdniDEy7nYcyFMKJn/eZz/6tSLXrUN9V0wKSbMjej0I1WHWbpREDEKHtqPQa9NNw==";
-      };
-    };
-    "underscore.template-0.1.7" = {
-      name = "underscore.template";
-      packageName = "underscore.template";
-      version = "0.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/underscore.template/-/underscore.template-0.1.7.tgz";
-        sha1 = "3013e0ea181756306f1609e959cafbc722adb3e9";
-      };
-    };
-    "wkt-parser-1.3.1" = {
-      name = "wkt-parser";
-      packageName = "wkt-parser";
-      version = "1.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/wkt-parser/-/wkt-parser-1.3.1.tgz";
-        sha512 = "XK5qV+Y5gsygQfHx2/cS5a7Zxsgleaw8iX5UPC5eOXPc0TgJAu1JB9lr0iYYX3zAnN3p0aNiaN5c+1Bdblxwrg==";
-      };
-    };
-  };
-  args = {
-    name = "_at_holoviz_slash_panel";
-    packageName = "@holoviz/panel";
-    version = "0.12.1";
-    src = ./.;
-    dependencies = [
-      sources."@babel/runtime-7.15.3"
-      sources."@bokeh/bokehjs-2.3.3"
-      sources."@bokeh/numbro-1.6.2"
-      (sources."@bokeh/slickgrid-2.4.2702" // {
-        dependencies = [
-          sources."tslib-1.14.1"
-        ];
-      })
-      sources."@luma.gl/constants-8.5.5"
-      sources."@types/debounce-1.2.0"
-      sources."@types/gl-matrix-2.4.5"
-      sources."@types/jquery-3.5.6"
-      sources."@types/sizzle-2.3.3"
-      sources."@types/slickgrid-2.1.31"
-      sources."choices.js-9.0.1"
-      sources."d-1.0.1"
-      sources."debounce-1.2.1"
-      sources."deepmerge-4.2.2"
-      sources."es5-ext-0.10.53"
-      sources."es6-iterator-2.0.3"
-      sources."es6-map-0.1.5"
-      sources."es6-promise-4.2.8"
-      (sources."es6-set-0.1.5" // {
-        dependencies = [
-          sources."es6-symbol-3.1.1"
-        ];
-      })
-      sources."es6-symbol-3.1.3"
-      sources."es6-weak-map-2.0.3"
-      sources."event-emitter-0.3.5"
-      (sources."ext-1.5.0" // {
-        dependencies = [
-          sources."type-2.5.0"
-        ];
-      })
-      sources."fast-deep-equal-2.0.1"
-      sources."fast-json-patch-2.2.1"
-      sources."flatbush-3.3.0"
-      sources."flatpickr-4.6.9"
-      sources."flatqueue-1.2.1"
-      sources."fuse.js-3.6.1"
-      sources."gl-matrix-3.3.0"
-      sources."hammerjs-2.0.8"
-      sources."htm-3.1.0"
-      sources."jquery-3.6.0"
-      sources."jquery-ui-1.12.1"
-      sources."json-formatter-js-2.3.4"
-      sources."mgrs-1.0.0"
-      sources."next-tick-1.0.0"
-      sources."nouislider-14.7.0"
-      sources."preact-10.5.14"
-      sources."proj4-2.7.5"
-      sources."redux-4.1.1"
-      sources."regenerator-runtime-0.13.9"
-      sources."sprintf-js-1.1.2"
-      sources."timezone-1.0.23"
-      sources."tslib-2.3.1"
-      sources."type-1.2.0"
-      sources."underscore.template-0.1.7"
-      sources."wkt-parser-1.3.1"
-    ];
-    buildInputs = globalBuildInputs;
-    meta = {
-      description = "A high level dashboarding library for python visualization libraries.";
-      license = "BSD-3-Clause";
-    };
-    production = true;
-    bypassCache = true;
-    reconstructLock = true;
-  };
-in
-{
-  args = args;
-  sources = sources;
-  tarball = nodeEnv.buildNodeSourceDist args;
-  package = nodeEnv.buildNodePackage args;
-  shell = nodeEnv.buildNodeShell args;
-  nodeDependencies = nodeEnv.buildNodeDependencies (lib.overrideExisting args {
-    src = stdenv.mkDerivation {
-      name = args.name + "-package-json";
-      src = nix-gitignore.gitignoreSourcePure [
-        "*"
-        "!package.json"
-        "!package-lock.json"
-      ] args.src;
-      dontBuild = true;
-      installPhase = "mkdir -p $out; cp -r ./* $out;";
-    };
-  });
-}
diff --git a/pkgs/development/python-modules/panel/node/package.json b/pkgs/development/python-modules/panel/node/package.json
deleted file mode 100644
index dc1d13ab487..00000000000
--- a/pkgs/development/python-modules/panel/node/package.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
-  "name": "@holoviz/panel",
-  "version": "0.12.1",
-  "description": "A high level dashboarding library for python visualization libraries.",
-  "license": "BSD-3-Clause",
-  "repository": {
-    "type": "git",
-    "url": "https://github.com/holoviz/panel.git"
-  },
-  "dependencies": {
-    "@bokeh/bokehjs": "^2.3.3",
-    "@luma.gl/constants": "^8.0.3",
-    "@types/debounce": "^1.2.0",
-    "@types/gl-matrix": "^2.4.5",
-    "debounce": "^1.2.0",
-    "fast-json-patch": "^2.2.1",
-    "gl-matrix": "^3.1.0",
-    "htm": "^3.0.4",
-    "json-formatter-js": "^2.2.1",
-    "preact": "^10.5.12"
-  },
-  "devDependencies": {},
-  "files": [
-    "dist/**/*.{js,js.map,d.ts,json,css}"
-  ],
-  "main": "dist/panel.min.js"
-}
diff --git a/pkgs/development/python-modules/paramiko/default.nix b/pkgs/development/python-modules/paramiko/default.nix
index d271111d58f..d7be0348d54 100644
--- a/pkgs/development/python-modules/paramiko/default.nix
+++ b/pkgs/development/python-modules/paramiko/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "paramiko";
-  version = "2.9.1";
+  version = "2.9.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-of3e07VfYdIzieT+UtmuQolgrJWNLt9QNz+qXYkm7dA=";
+    sha256 = "944a9e5dbdd413ab6c7951ea46b0ab40713235a9c4c5ca81cfe45c6f14fa677b";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pc-ble-driver-py/default.nix b/pkgs/development/python-modules/pc-ble-driver-py/default.nix
index 093e3e67ab2..6dec8d2308f 100644
--- a/pkgs/development/python-modules/pc-ble-driver-py/default.nix
+++ b/pkgs/development/python-modules/pc-ble-driver-py/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "pc-ble-driver-py";
-  version = "0.16.2";
+  version = "0.16.3";
 
   disabled = pythonOlder "3.7" || pythonAtLeast "3.10";
 
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "NordicSemiconductor";
     repo = "pc-ble-driver-py";
     rev = "v${version}";
-    sha256 = "013kpj2df5grkrzxak22k01mskpmwf7g3aa1fmxdwi90bb1sabs5";
+    sha256 = "sha256-X21GQsyRZu1xdoTlD9DjceIWKpcuTLdIDf8UahntS3s=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pelican/default.nix b/pkgs/development/python-modules/pelican/default.nix
index e39993194a8..436192e18b8 100644
--- a/pkgs/development/python-modules/pelican/default.nix
+++ b/pkgs/development/python-modules/pelican/default.nix
@@ -28,14 +28,14 @@
 
 buildPythonPackage rec {
   pname = "pelican";
-  version = "4.6.0";
+  version = "4.7.1";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "getpelican";
     repo = pname;
     rev = version;
-    sha256 = "0xrz0cmjyaylr81rmy5i3qbp4ms1iwh0gpb07q1dwljffb8xzbhr";
+    sha256 = "0w3r4ifbrl6mhfphabqs048qys7x6k164ds63jr10l3namljm8ad";
     # Remove unicode file names which leads to different checksums on HFS+
     # vs. other filesystems because of unicode normalisation.
     extraPostFetch = ''
diff --git a/pkgs/development/python-modules/pep257/default.nix b/pkgs/development/python-modules/pep257/default.nix
index c168e087fc5..d6205fc6e72 100644
--- a/pkgs/development/python-modules/pep257/default.nix
+++ b/pkgs/development/python-modules/pep257/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pep257";
-  version = "0.7.0";
+  version = "6.1.1";
 
   src = fetchFromGitHub {
     owner = "GreenSteam";
     repo = "pep257";
     rev = version;
-    sha256 = "sha256-RkE9kkNkRTmZ8zJVwQzMsxU1hcjlxX6UA+ehnareynQ=";
+    sha256 = "0hcf3nyvzl8kd6gmc9qsiigz7vpwrjxcd1bd50dd63cad87qqicg";
   };
 
   checkInputs = [ pytestCheckHook mock ];
diff --git a/pkgs/development/python-modules/pep517/default.nix b/pkgs/development/python-modules/pep517/default.nix
index 90dc5046199..ad58cdb72d4 100644
--- a/pkgs/development/python-modules/pep517/default.nix
+++ b/pkgs/development/python-modules/pep517/default.nix
@@ -2,11 +2,12 @@
 , buildPythonPackage
 , fetchPypi
 , flit-core
-, toml
+, tomli
 , pythonOlder
 , importlib-metadata
 , zipp
 , pytestCheckHook
+, setuptools
 , testpath
 , mock
 , pip
@@ -14,12 +15,12 @@
 
 buildPythonPackage rec {
   pname = "pep517";
-  version = "0.9.1";
+  version = "0.12.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0zqidxah03qpnp6zkg3zd1kmd5f79hhdsfmlc0cldaniy80qddxf";
+    sha256 = "931378d93d11b298cf511dd634cf5ea4cb249a28ef84160b3247ee9afb4e8ab0";
   };
 
   nativeBuildInputs = [
@@ -27,18 +28,24 @@ buildPythonPackage rec {
   ];
 
   propagatedBuildInputs = [
-    toml
+    tomli
   ] ++ lib.optionals (pythonOlder "3.8") [
     importlib-metadata zipp
   ];
 
   checkInputs = [
     pytestCheckHook
+    setuptools
     testpath
     mock
     pip
   ];
 
+  disabledTests = [
+    "test_setup_py"
+    "test_issue_104"
+  ];
+
   preCheck = ''
     rm pytest.ini # wants flake8
     rm tests/test_meta.py # wants to run pip
diff --git a/pkgs/development/python-modules/perfplot/default.nix b/pkgs/development/python-modules/perfplot/default.nix
index af653ed0c8d..ca8f867e6e3 100644
--- a/pkgs/development/python-modules/perfplot/default.nix
+++ b/pkgs/development/python-modules/perfplot/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flit-core
 , dufte
 , matplotlib
 , numpy
@@ -13,16 +14,20 @@
 
 buildPythonPackage rec {
   pname = "perfplot";
-  version = "0.9.8";
+  version = "0.9.13";
+  format = "pyproject";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nschloe";
     repo = pname;
-    rev = version;
-    sha256 = "17dpgd27ik7ka7xpk3mj3anbjj62lwygy1vxlmrmk8xbhrqkim8d";
+    rev = "v${version}";
+    sha256 = "0ry5x38sv8gh505z6ip90jymm7kfgyf80y3vjb2i6z567bnblam6";
   };
-  format = "pyproject";
+
+  nativeBuildInputs = [
+    flit-core
+  ];
 
   propagatedBuildInputs = [
     dufte
@@ -44,5 +49,6 @@ buildPythonPackage rec {
     homepage = "https://github.com/nschloe/perfplot";
     license = licenses.mit;
     maintainers = with maintainers; [ costrouc ];
+    broken = true; # missing matplotx dependency
   };
 }
diff --git a/pkgs/development/python-modules/pex/default.nix b/pkgs/development/python-modules/pex/default.nix
index 43836026082..5e47b69ac77 100644
--- a/pkgs/development/python-modules/pex/default.nix
+++ b/pkgs/development/python-modules/pex/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pex";
-  version = "2.1.56";
+  version = "2.1.67";
   format = "flit";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8dfb7ef551cc9d3d03a6e2dc1b1ba6183cd94f3cde7431836f017d60cc992d53";
+    sha256 = "sha256-rtxHRuZ30S81pdWUvQnSImcEX6/vCY/pvKFNY7sJaBw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/phonemizer/default.nix b/pkgs/development/python-modules/phonemizer/default.nix
index 54a81664381..29f7266b691 100644
--- a/pkgs/development/python-modules/phonemizer/default.nix
+++ b/pkgs/development/python-modules/phonemizer/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonApplication rec {
   pname = "phonemizer";
-  version = "2.2.2";
+  version = "3.0.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ae252f0bc7633e172b08622f318e7e112cde847e9281d4675ea7210157325146";
+    sha256 = "1b4ea53b8da9a156361dff1d0c04ac1a8e65e6966d1cb9a8147c200960b32296";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/phonenumbers/default.nix b/pkgs/development/python-modules/phonenumbers/default.nix
index fbd22e7f39a..9faad1e96de 100644
--- a/pkgs/development/python-modules/phonenumbers/default.nix
+++ b/pkgs/development/python-modules/phonenumbers/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "phonenumbers";
-  version = "8.12.42";
+  version = "8.12.43";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-i1SHHtZOz85JSgeOnVazY8I+JMWRbf2J6EuYWhiVW+4=";
+    sha256 = "sha256-HIJwouJX1sZUWKQig/gtPsp/e52SVFSmlm4vBN914c8=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/phonopy/default.nix b/pkgs/development/python-modules/phonopy/default.nix
index dec86d16611..3c45c602ae5 100644
--- a/pkgs/development/python-modules/phonopy/default.nix
+++ b/pkgs/development/python-modules/phonopy/default.nix
@@ -12,11 +12,11 @@
 
 buildPythonPackage rec {
   pname = "phonopy";
-  version = "2.12.0";
+  version = "2.13.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ff65065f418ccbff9fbc1186b9a65581e83b42789aa4a656f45badfff9bd3f61";
+    sha256 = "sha256-D7pBtcMbxMpt4XJVYDkslRDU4Uyk83AtbIIztUbji6A=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pi1wire/default.nix b/pkgs/development/python-modules/pi1wire/default.nix
new file mode 100644
index 00000000000..993c715999b
--- /dev/null
+++ b/pkgs/development/python-modules/pi1wire/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
+
+buildPythonPackage rec {
+  pname = "pi1wire";
+  version = "0.2.0";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "ushiboy";
+    repo = "pi1wire";
+    rev = "v${version}";
+    hash = "sha256-70w71heHWR5yArl+HuNAlzL2Yq/CL0iMNMiQw5qovls=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    "test_find_all_sensors" # flaky
+  ];
+
+  pythonImportsCheck = [ "pi1wire" ];
+
+  meta = with lib; {
+    description = "1Wire Sensor Library for Raspberry PI";
+    homepage = "https://github.com/ushiboy/pi1wire";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pijuice/default.nix b/pkgs/development/python-modules/pijuice/default.nix
index f46ddfca1be..59f898f7906 100644
--- a/pkgs/development/python-modules/pijuice/default.nix
+++ b/pkgs/development/python-modules/pijuice/default.nix
@@ -14,10 +14,10 @@ buildPythonPackage rec {
   src = fetchFromGitHub {
     owner = "PiSupply";
     repo = "PiJuice";
-    # rev hash retrieved from the latest modification on file Software/Source/VERSION, as this project
-    # does not use Github tags facility
-    rev = "3ba6719ab614a3dc7495d5d9c900dd4ea977c7e3";
-    sha256 = "GoNN07YgVaktpeY5iYDbfpy5fxkU1x0V3Sb1hgGAQt4=";
+    # Latest commit that fixes using the library against python 3.9 by renaming
+    # isAlive() to is_alive(). The former function was removed in python 3.9.
+    rev = "e2dca1f8dcfa12e009952a882c0674a545d193d6";
+    sha256 = "07Jr7RSjqI8j0tT0MNAjrN1sjF1+mI+V0vtKInvtxj8=";
   };
 
   patches = [
@@ -28,6 +28,7 @@ buildPythonPackage rec {
   ];
 
   PIJUICE_BUILD_BASE = 1;
+  PIJUICE_VERSION = version;
 
   preBuild = ''
     cd Software/Source
@@ -50,7 +51,10 @@ buildPythonPackage rec {
     rm $out/bin/pijuice_sys.py
     rm $out/bin/pijuiceboot
     mv $out/bin/pijuice_cli.py $out/bin/pijuice_cli
-   '';
+  '';
+
+  # no tests
+  doCheck = false;
 
   meta = with lib; {
     description = "Library and resources for PiJuice HAT for Raspberry Pi";
diff --git a/pkgs/development/python-modules/pikepdf/default.nix b/pkgs/development/python-modules/pikepdf/default.nix
index c02e5c5ce0d..bef67237a89 100644
--- a/pkgs/development/python-modules/pikepdf/default.nix
+++ b/pkgs/development/python-modules/pikepdf/default.nix
@@ -25,7 +25,7 @@
 
 buildPythonPackage rec {
   pname = "pikepdf";
-  version = "4.4.1";
+  version = "5.0.1";
   disabled = ! isPy3k;
 
   src = fetchFromGitHub {
@@ -38,7 +38,7 @@ buildPythonPackage rec {
     extraPostFetch = ''
       rm "$out/.git_archival.txt"
     '';
-    hash = "sha256-8yYqyXz4ZqZxsk2Ka8S0rDsHaqO4l6cZTyNuVQuHkew=";
+    hash = "sha256-PlfVvCEutWaNQyhP4j44viAmjvBzUlZUvUbYQPcNL24=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/pikepdf/paths.patch b/pkgs/development/python-modules/pikepdf/paths.patch
index 17349f7ac20..7db73bb1a6d 100644
--- a/pkgs/development/python-modules/pikepdf/paths.patch
+++ b/pkgs/development/python-modules/pikepdf/paths.patch
@@ -1,5 +1,5 @@
 diff --git a/src/pikepdf/_methods.py b/src/pikepdf/_methods.py
-index 9db6b49..4020bcf 100644
+index 87e99fe..253a701 100644
 --- a/src/pikepdf/_methods.py
 +++ b/src/pikepdf/_methods.py
 @@ -204,7 +204,7 @@ def _mudraw(buffer, fmt) -> bytes:
@@ -12,15 +12,33 @@ index 9db6b49..4020bcf 100644
              check=True,
          )
 diff --git a/src/pikepdf/jbig2.py b/src/pikepdf/jbig2.py
-index 80cc910..64f6d31 100644
+index 04c762d..924727c 100644
 --- a/src/pikepdf/jbig2.py
 +++ b/src/pikepdf/jbig2.py
-@@ -25,7 +25,7 @@ def extract_jbig2(
-         global_path = Path(tmpdir) / "global"
+@@ -26,7 +26,7 @@ def extract_jbig2(
          output_path = Path(tmpdir) / "outfile"
  
--        args = ["jbig2dec", "-e", "-o", os.fspath(output_path)]
-+        args = ["@jbig2dec@", "-e", "-o", os.fspath(output_path)]
+         args = [
+-            "jbig2dec",
++            "@jbig2dec@",
+             "--embedded",
+             "--format",
+             "png",
+@@ -59,7 +59,7 @@ def extract_jbig2_bytes(jbig2: bytes, jbig2_globals: bytes) -> bytes:
+         output_path = Path(tmpdir) / "outfile"
+ 
+         args = [
+-            "jbig2dec",
++            "@jbig2dec@",
+             "--embedded",
+             "--format",
+             "png",
+@@ -84,7 +84,7 @@ def extract_jbig2_bytes(jbig2: bytes, jbig2_globals: bytes) -> bytes:
  
-         # Get the raw stream, because we can't decode im_obj - that is why we are here
-         # (Strictly speaking we should remove any non-JBIG2 filters if double encoded)
+ def jbig2dec_available() -> bool:
+     try:
+-        proc = run(['jbig2dec', '--version'], stdout=PIPE, check=True, encoding='ascii')
++        proc = run(['@jbig2dec@', '--version'], stdout=PIPE, check=True, encoding='ascii')
+     except (CalledProcessError, FileNotFoundError):
+         return False
+     else:
diff --git a/pkgs/development/python-modules/pip-tools/default.nix b/pkgs/development/python-modules/pip-tools/default.nix
index cd7d8f0cce7..307e99c04d8 100644
--- a/pkgs/development/python-modules/pip-tools/default.nix
+++ b/pkgs/development/python-modules/pip-tools/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "pip-tools";
-  version = "6.5.0";
+  version = "6.5.1";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-0U6k/CwRjbKmr2WkNFqLmzVeeSrtrWv2TdPrl8X8X+4=";
+    sha256 = "sha256-gPViqmmfx2pCRTlpfgvvQeSQoFDlemohRoUxmBqdQZ4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix b/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix
new file mode 100644
index 00000000000..6f359d3bc9a
--- /dev/null
+++ b/pkgs/development/python-modules/pipenv-poetry-migrate/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, poetry
+, rich
+, setuptools
+}:
+
+buildPythonPackage rec {
+  version = "0.2.0";
+  pname = "pipenv-poetry-migrate";
+  format = "pyproject";
+
+  src = fetchFromGitHub {
+    owner = "yhino";
+    repo = "pipenv-poetry-migrate";
+    rev = "v${version}";
+    hash = "sha256-2/e6uGwpUvzxXlz+51gUriE054bgNeJNyLDCIyiGflM=";
+  };
+
+  propagatedBuildInputs = [
+    poetry
+    rich
+    setuptools
+  ];
+
+  postPatch = ''
+  substituteInPlace pyproject.toml --replace 'rich = "^9.6.1"' 'rich = ">9"'
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  meta = with lib; {
+    description = "This is simple migration script, migrate pipenv to poetry";
+    homepage = "https://github.com/yhino/pipenv-poetry-migrate";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ gador ];
+  };
+}
diff --git a/pkgs/development/python-modules/pivy/default.nix b/pkgs/development/python-modules/pivy/default.nix
index 7645fdaec8a..092bcbfcfd9 100644
--- a/pkgs/development/python-modules/pivy/default.nix
+++ b/pkgs/development/python-modules/pivy/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "pivy";
-  version = "0.6.5";
+  version = "0.6.6";
 
   src = fetchFromGitHub {
     owner = "coin3d";
     repo = "pivy";
     rev = version;
-    sha256 = "0vids7sxk8w5vr73xdnf8xdci71a7syl6cd35aiisppbqyyfmykx";
+    sha256 = "1xlynrbq22pb252r37r80b3myzap8hzhvknz4zfznfrsg9ykh8k2";
   };
 
   dontUseCmakeConfigure = true;
@@ -35,7 +35,7 @@ buildPythonPackage rec {
   doCheck = false;
 
   postPatch = ''
-    substituteInPlace CMakeLists.txt --replace \$'{SoQt_INCLUDE_DIRS}' \
+    substituteInPlace distutils_cmake/CMakeLists.txt --replace \$'{SoQt_INCLUDE_DIRS}' \
       \$'{Coin_INCLUDE_DIR}'\;\$'{SoQt_INCLUDE_DIRS}'
   '';
 
diff --git a/pkgs/development/python-modules/plexapi/default.nix b/pkgs/development/python-modules/plexapi/default.nix
index 4a21cebcabd..ef702b93adb 100644
--- a/pkgs/development/python-modules/plexapi/default.nix
+++ b/pkgs/development/python-modules/plexapi/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "plexapi";
-  version = "4.9.1";
+  version = "4.9.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pkkid";
     repo = "python-plexapi";
     rev = version;
-    sha256 = "0c0zhbq6ggn5ck4cgbr92440xhfk3iz5a8fm25909idlx8vw0s3q";
+    sha256 = "sha256-93qMSOnCl18dRZQB8v2Cxv21vsdFzHefQ7zttQAuPKk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plotly/default.nix b/pkgs/development/python-modules/plotly/default.nix
index c4811044ae2..fbe869b0703 100644
--- a/pkgs/development/python-modules/plotly/default.nix
+++ b/pkgs/development/python-modules/plotly/default.nix
@@ -9,11 +9,11 @@
 
 buildPythonPackage rec {
   pname = "plotly";
-  version = "5.4.0";
+  version = "5.5.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "735d50738c760ecbf3a38e2336b8c1b119bff2d857096e4f68af31089b798161";
+    sha256 = "20b8a1a0f0434f9b8d10eb7caa66e947a9a1d698e5a53d40d447bbc0d2ae41f0";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/plugwise/default.nix b/pkgs/development/python-modules/plugwise/default.nix
index b65f8b5f84c..cc2601e4a22 100644
--- a/pkgs/development/python-modules/plugwise/default.nix
+++ b/pkgs/development/python-modules/plugwise/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "plugwise";
-  version = "0.16.1";
+  version = "0.16.6";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "python-plugwise";
     rev = "v${version}";
-    sha256 = "sha256-95b2PliBlCNHzl9oTu0Mv6e30WE8lXwlAjzwqX2dNZI=";
+    sha256 = "sha256-hAYbYsLpiiJYdg9Rx5BjqNA9JTtKGu3DE0SpwOxlTWw=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/plumbum/default.nix b/pkgs/development/python-modules/plumbum/default.nix
index e571f276f28..ae3c4941f68 100644
--- a/pkgs/development/python-modules/plumbum/default.nix
+++ b/pkgs/development/python-modules/plumbum/default.nix
@@ -1,19 +1,61 @@
-{ buildPythonPackage
-, fetchPypi
-, pytest
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, openssh
+, ps
+, psutil
+, pytest-mock
+, pytest-timeout
+, pytestCheckHook
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "plumbum";
   version = "1.7.2";
 
-  checkInputs = [ pytest ];
+  src = fetchFromGitHub {
+    owner = "tomerfiliba";
+    repo = "plumbum";
+    rev = "v${version}";
+    sha256 = "sha256-bCCcNFz+ZsbKSF7aCfy47lBHb873tDYN0qFuSCxJp1w=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov-config=setup.cfg" ""
+  '';
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    openssh
+    ps
+    psutil
+    pytest-mock
+    pytest-timeout
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export HOME=$TMP
+  '';
 
-  # No tests in archive
-  doCheck = false;
+  disabledTests = [
+    # broken in nix env
+    "test_change_env"
+    "test_dictlike"
+    "test_local"
+  ];
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0d1bf908076bbd0484d16412479cb97d6843069ee19f99e267e11dd980040523";
+  meta = with lib; {
+    description = " Plumbum: Shell Combinators ";
+    homepage = " https://github.com/tomerfiliba/plumbum ";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pontos/default.nix b/pkgs/development/python-modules/pontos/default.nix
index a3aabdc568a..d36c5d7e7ae 100644
--- a/pkgs/development/python-modules/pontos/default.nix
+++ b/pkgs/development/python-modules/pontos/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pontos";
-  version = "22.2.1";
+  version = "22.2.4";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "greenbone";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-VMfvlqpmA2Mg/llVNcY3Enuuq3mwV0G1GYrpbvzo8pU=";
+    hash = "sha256-RmMlwnAJlCTDnTyim0MdAeW3NA8r2IiqrE0YeWgxUk4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/portalocker/default.nix b/pkgs/development/python-modules/portalocker/default.nix
index abe7ce69820..357ca815407 100644
--- a/pkgs/development/python-modules/portalocker/default.nix
+++ b/pkgs/development/python-modules/portalocker/default.nix
@@ -5,12 +5,12 @@
 }:
 
 buildPythonPackage rec {
-  version = "2.3.2";
+  version = "2.4.0";
   pname = "portalocker";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "75cfe02f702737f1726d83e04eedfa0bda2cc5b974b1ceafb8d6b42377efbd5f";
+    sha256 = "sha256-pkitdhuOonNwy1kVNQEizYB7gg0hk+1cnMKPFj32N/Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/portend/default.nix b/pkgs/development/python-modules/portend/default.nix
index 52e46cec75a..a3cb25624f7 100644
--- a/pkgs/development/python-modules/portend/default.nix
+++ b/pkgs/development/python-modules/portend/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "portend";
-  version = "2.7.2";
+  version = "3.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3fbc0df9e4970b661e4d7386a91fc7bcf34ebeaf0333ce15d819d515a71ba8b2";
+    sha256 = "239e3116045ea823f6df87d6168107ad75ccc0590e37242af0cc1e98c5d224e4";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/portpicker/default.nix b/pkgs/development/python-modules/portpicker/default.nix
index 90ed4b34b70..fd7bf7bc09c 100644
--- a/pkgs/development/python-modules/portpicker/default.nix
+++ b/pkgs/development/python-modules/portpicker/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "portpicker";
-  version = "1.4.0";
+  version = "1.5.0";
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c2831ff4328a21e928ffc9e52124bcafacaf5816d38a1a72dc329680dc1bb7ba";
+    sha256 = "e13b148008adeb2793cf8b55bcd20fdcec4f763f2d3bf3c45f5e5e5d1df7d228";
   };
 
   meta = {
diff --git a/pkgs/development/python-modules/pot/default.nix b/pkgs/development/python-modules/pot/default.nix
index 86c7b61ae27..8bc7ecb7f35 100644
--- a/pkgs/development/python-modules/pot/default.nix
+++ b/pkgs/development/python-modules/pot/default.nix
@@ -16,12 +16,12 @@
 
 buildPythonPackage rec {
   pname = "pot";
-  version = "0.8.0";
+  version = "0.8.1.0";
 
   src = fetchPypi {
     pname = "POT";
     inherit version;
-    sha256 = "a70e092ddc5a29a4b526192750604a634dfc2faa1641664b4c2c1c00b3cd63cf";
+    sha256 = "ff2974418fbf35b18072555c2a9e7e4f6876eddfb6791179ddb8f0f6d6032505";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/prance/default.nix b/pkgs/development/python-modules/prance/default.nix
index cbc931d5c59..26cfada4296 100644
--- a/pkgs/development/python-modules/prance/default.nix
+++ b/pkgs/development/python-modules/prance/default.nix
@@ -4,6 +4,7 @@
 , chardet
 , requests
 , ruamel-yaml
+, setuptools-scm
 , six
 , semver
 , pytestCheckHook
@@ -22,6 +23,12 @@ buildPythonPackage rec {
     sha256 = "sha256-kGANMHfWwhW3ZBw2ZVCJZR/bV2EPhcydMKhDeDTVwcQ=";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     chardet
     requests
@@ -51,7 +58,7 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "Resolving Swagger/OpenAPI 2.0 and 3.0.0 Parser";
-    homepage = "https://github.com/jfinkhaeuser/prance";
+    homepage = "https://github.com/RonnyPfannschmidt/prance";
     license = licenses.mit;
     maintainers = [ maintainers.costrouc ];
   };
diff --git a/pkgs/development/python-modules/prettytable/default.nix b/pkgs/development/python-modules/prettytable/default.nix
index 85aaa1e656d..f914a0f3df4 100644
--- a/pkgs/development/python-modules/prettytable/default.nix
+++ b/pkgs/development/python-modules/prettytable/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "prettytable";
-  version = "2.4.0";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "18e56447f636b447096977d468849c1e2d3cfa0af8e7b5acfcf83a64790c0aca";
+    sha256 = "69fe75d78ac8651e16dd61265b9e19626df5d630ae294fc31687aa6037b97a58";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/progressbar2/default.nix b/pkgs/development/python-modules/progressbar2/default.nix
index 766b7090f90..3f4f49d4299 100644
--- a/pkgs/development/python-modules/progressbar2/default.nix
+++ b/pkgs/development/python-modules/progressbar2/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "progressbar2";
-  version = "3.55.0";
+  version = "4.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "86835d1f1a9317ab41aeb1da5e4184975e2306586839d66daf63067c102f8f04";
+    sha256 = "14d3165a1781d053ffaa117daf27cc706128d2ec1d2977fdb05b6bb079888013";
   };
 
   propagatedBuildInputs = [ python-utils ];
diff --git a/pkgs/development/python-modules/prompt-toolkit/default.nix b/pkgs/development/python-modules/prompt-toolkit/default.nix
index 418e63ec933..e38560be2eb 100644
--- a/pkgs/development/python-modules/prompt-toolkit/default.nix
+++ b/pkgs/development/python-modules/prompt-toolkit/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "prompt-toolkit";
-  version = "3.0.23";
+  version = "3.0.24";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -16,7 +16,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "prompt_toolkit";
     inherit version;
-    sha256 = "7053aba00895473cb357819358ef33f11aa97e4ac83d38efb123e5649ceeecaf";
+    sha256 = "1bb05628c7d87b645974a1bad3f17612be0c29fa39af9f7688030163f680bad6";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/protego/default.nix b/pkgs/development/python-modules/protego/default.nix
index ad7e4aa4af6..a881292ada2 100644
--- a/pkgs/development/python-modules/protego/default.nix
+++ b/pkgs/development/python-modules/protego/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "Protego";
-  version = "0.1.16";
+  version = "0.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a682771bc7b51b2ff41466460896c1a5a653f9a1e71639ef365a72e66d8734b4";
+    sha256 = "sha256-32ZtQwTat3Ti3J/rIIuxrI1x6lzuwS9MmeujD71kL/I=";
   };
   propagatedBuildInputs = [ six ];
 
diff --git a/pkgs/development/python-modules/psutil/default.nix b/pkgs/development/python-modules/psutil/default.nix
index ba17c5eca73..581e83ddf1a 100644
--- a/pkgs/development/python-modules/psutil/default.nix
+++ b/pkgs/development/python-modules/psutil/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "psutil";
-  version = "5.8.0";
+  version = "5.9.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1immnj532bnnrh1qmk5q3lsw3san8qfk9kxy1cpmy0knmfcwp70c";
+    sha256 = "869842dbd66bb80c3217158e629d6fceaecc3a3166d3d1faee515b05dd26ca25";
   };
 
   # We have many test failures on various parts of the package:
diff --git a/pkgs/development/python-modules/psycopg2/default.nix b/pkgs/development/python-modules/psycopg2/default.nix
index 34660a84cd6..bdf2b65cb50 100644
--- a/pkgs/development/python-modules/psycopg2/default.nix
+++ b/pkgs/development/python-modules/psycopg2/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "psycopg2";
-  version = "2.9.2";
+  version = "2.9.3";
 
   # Extension modules don't work well with PyPy. Use psycopg2cffi instead.
   # c.f. https://github.com/NixOS/nixpkgs/pull/104151#issuecomment-729750892
@@ -18,7 +18,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a84da9fa891848e0270e8e04dcca073bc9046441eeb47069f5c0e36783debbea";
+    sha256 = "8e841d1bf3434da985cc5ef13e6f75c8981ced601fd70cc6bf33351b91562981";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/psygnal/default.nix b/pkgs/development/python-modules/psygnal/default.nix
index 6ac20798e0c..94cfaaa78c5 100644
--- a/pkgs/development/python-modules/psygnal/default.nix
+++ b/pkgs/development/python-modules/psygnal/default.nix
@@ -13,12 +13,12 @@
 }: buildPythonPackage rec
 {
   pname = "psygnal";
-  version = "0.2.0";
+  version = "0.3.0";
   src = fetchFromGitHub {
     owner = "tlambert03";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SiG2ywNEw3aNrRXyEMFTnvHKtKowO8yqoCaNI8PT4/Y=";
+    sha256 = "sha256-vrGym/V0cSGIjBWMWpDrPBijEOFayK1vdR02gsWzRvo=";
   };
   buildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ typing-extensions ];
diff --git a/pkgs/development/python-modules/pulsectl/default.nix b/pkgs/development/python-modules/pulsectl/default.nix
index 6e35cb57358..584ef5538a0 100644
--- a/pkgs/development/python-modules/pulsectl/default.nix
+++ b/pkgs/development/python-modules/pulsectl/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pulsectl";
-  version = "21.10.5";
+  version = "22.1.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b347983fb78baab168f4dc4804ab2c59ca5b813bf62f8146dfb5fcb6ab6c8ba2";
+    sha256 = "sha256-8o/kuIHdLMFE0tlPg+xg2MWaUmQqCtNjXMTQ+EBvSFg=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/puremagic/default.nix b/pkgs/development/python-modules/puremagic/default.nix
index 25c79a83c43..e5d91f38fa2 100644
--- a/pkgs/development/python-modules/puremagic/default.nix
+++ b/pkgs/development/python-modules/puremagic/default.nix
@@ -1,26 +1,32 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "puremagic";
-  version = "1.11";
+  version = "1.12";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "09d762b9d83c65a83617ee57a3532eb10663f394c1caf81390516c5b1cc0fc6b";
+    sha256 = "sha256-jAuuwImSExc2KjD6yi6WeMkdXpfOAE3Gp8HGaeBUeDg=";
   };
 
   # test data not included on pypi
   doCheck = false;
 
-  pythonImportsCheck = [ "puremagic" ];
+  pythonImportsCheck = [
+    "puremagic"
+  ];
 
   meta = with lib; {
-    description = "Pure python implementation of magic file detection";
-    license = licenses.mit;
+    description = "Implementation of magic file detection";
     homepage = "https://github.com/cdgriffith/puremagic";
+    license = licenses.mit;
     maintainers = with maintainers; [ globin ];
   };
 }
diff --git a/pkgs/development/python-modules/pvo/default.nix b/pkgs/development/python-modules/pvo/default.nix
index a49465e1e34..0b107f15506 100644
--- a/pkgs/development/python-modules/pvo/default.nix
+++ b/pkgs/development/python-modules/pvo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pvo";
-  version = "0.2.1";
+  version = "0.2.2";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "frenck";
     repo = "python-pvoutput";
     rev = "v${version}";
-    sha256 = "sha256-IXK4DvmwSLdxyW4418pe1/UOeQELUBSnTO+P6TzPnKw=";
+    sha256 = "sha256-2/O81MnFYbdOrzLiTSoX7IW+3ZGyyE/tIqgKr/sEaHI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/py-synologydsm-api/default.nix b/pkgs/development/python-modules/py-synologydsm-api/default.nix
index e363cd412d6..3d2e1b05e10 100644
--- a/pkgs/development/python-modules/py-synologydsm-api/default.nix
+++ b/pkgs/development/python-modules/py-synologydsm-api/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "py-synologydsm-api";
-  version = "1.0.5";
+  version = "1.0.6";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "mib1185";
     repo = "synologydsm-api";
     rev = "v${version}";
-    sha256 = "sha256-mm5N2RKn2KP2dV7+dw0sNWlCDT5X/fRmH8POQqJIoZY=";
+    sha256 = "sha256-jAdD6FCbsBocJNX7o+dpthgHaPLIueFWJMzBNoKAq7w=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
index f55c869a7a2..391afabf931 100644
--- a/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
+++ b/pkgs/development/python-modules/pyTelegramBotAPI/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pyTelegramBotAPI";
-  version = "4.3.0";
+  version = "4.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "a0405d1c6c60e6603594e9319c28d31b97abe49afe9af21d230f5072a1d38976";
+    sha256 = "sha256-5vIjVqvr/+Cok9z3L+CaDIve2tb0mMVaMMPdMs5Ijmo=";
   };
 
   propagatedBuildInputs = [ aiohttp requests ];
diff --git a/pkgs/development/python-modules/py_scrypt/default.nix b/pkgs/development/python-modules/py_scrypt/default.nix
index 01fae999cf4..acfab6791a2 100644
--- a/pkgs/development/python-modules/py_scrypt/default.nix
+++ b/pkgs/development/python-modules/py_scrypt/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "scrypt";
-  version = "0.8.19";
+  version = "0.8.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ad143035ae0cf5e97c4b399f4e4686adf442c5f0f06f9f198a0cc6c091335fb7";
+    sha256 = "sha256-DSJsHGdE+y4wizkUEGabHfXP6CY3/8te1Im/grLS63g=";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/development/python-modules/pyamg/default.nix b/pkgs/development/python-modules/pyamg/default.nix
index 6ca3166fb19..59e807f11fc 100644
--- a/pkgs/development/python-modules/pyamg/default.nix
+++ b/pkgs/development/python-modules/pyamg/default.nix
@@ -5,17 +5,22 @@
 , scipy
 , pytest
 , pybind11
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pyamg";
-  version = "4.1.0";
+  version = "4.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b4cacfcfd13379762a4551ac059a2e52a093b476ca1ad44b9202e736490a8863";
+    sha256 = "48d9be622049d8363cda84125c45d18b89e0ab7d99be5a93c0246f375ebad344";
   };
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     numpy
     scipy
@@ -23,9 +28,17 @@ buildPythonPackage rec {
     pybind11
   ];
 
-  preBuild = ''
-    export HOME=$(mktemp -d)
-  '';
+  # failed with "ModuleNotFoundError: No module named 'pyamg.amg_core.evolution_strength'"
+  doCheck = false;
+  # taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=python-pyamg#n27
+  # checkPhase = ''
+  #   PYTHONPATH="$PWD/build/lib.linux-*:$PYTHONPATH" ${python3.interpreter} -c "import pyamg; pyamg.test()"
+  # '';
+
+  pythonImportsCheck = [
+    "pyamg"
+    "pyamg.amg_core.evolution_strength"
+  ];
 
   meta = with lib; {
     description = "Algebraic Multigrid Solvers in Python";
diff --git a/pkgs/development/python-modules/pyarrow/default.nix b/pkgs/development/python-modules/pyarrow/default.nix
index c47cdaa02b7..cfe63a34d85 100644
--- a/pkgs/development/python-modules/pyarrow/default.nix
+++ b/pkgs/development/python-modules/pyarrow/default.nix
@@ -1,4 +1,24 @@
-{ lib, stdenv, buildPythonPackage, python, isPy3k, arrow-cpp, cmake, cython, hypothesis, numpy, pandas, pytestCheckHook, pytest-lazy-fixture, pkg-config, setuptools-scm, six }:
+{ lib
+, stdenv
+, buildPythonPackage
+, python
+, isPy3k
+, arrow-cpp
+, cffi
+, cloudpickle
+, cmake
+, cython
+, fsspec
+, hypothesis
+, numpy
+, pandas
+, pytestCheckHook
+, pytest-lazy-fixture
+, pkg-config
+, scipy
+, setuptools-scm
+, six
+}:
 
 let
   zero_or_one = cond: if cond then 1 else 0;
@@ -15,21 +35,23 @@ buildPythonPackage rec {
   sourceRoot = "apache-arrow-${version}/python";
 
   nativeBuildInputs = [ cmake cython pkg-config setuptools-scm ];
-  propagatedBuildInputs = [ numpy six ];
-  checkInputs = [ hypothesis pandas pytestCheckHook pytest-lazy-fixture ];
+  propagatedBuildInputs = [ numpy six cloudpickle scipy fsspec cffi ];
+  checkInputs = [
+    hypothesis
+    pandas
+    pytestCheckHook
+    pytest-lazy-fixture
+  ];
 
   PYARROW_BUILD_TYPE = "release";
 
   PYARROW_WITH_DATASET = zero_or_one true;
   PYARROW_WITH_FLIGHT = zero_or_one _arrow-cpp.enableFlight;
   PYARROW_WITH_PARQUET = zero_or_one true;
+  PYARROW_WITH_HDFS = zero_or_one true;
 
   PYARROW_CMAKE_OPTIONS = [
     "-DCMAKE_INSTALL_RPATH=${ARROW_HOME}/lib"
-
-    # This doesn't use setup hook to call cmake so we need to workaround #54606
-    # ourselves
-    "-DCMAKE_POLICY_DEFAULT_CMP0025=NEW"
   ];
 
   ARROW_HOME = _arrow-cpp;
@@ -51,9 +73,6 @@ buildPythonPackage rec {
     # enabled in nixpkgs.
     # Upstream Issue: https://issues.apache.org/jira/browse/ARROW-11393
     "--deselect=pyarrow/tests/test_memory.py::test_env_var"
-    # Deselect a parquet dataset test because it erroneously fails to find the
-    # pyarrow._dataset module.
-    "--deselect=pyarrow/tests/parquet/test_dataset.py::test_parquet_dataset_deprecated_properties"
   ] ++ lib.optionals stdenv.isDarwin [
     # Requires loopback networking
     "--deselect=pyarrow/tests/test_ipc.py::test_socket_"
@@ -61,12 +80,21 @@ buildPythonPackage rec {
 
   dontUseSetuptoolsCheck = true;
   preCheck = ''
-    mv pyarrow/tests tests
-    rm -rf pyarrow
-    mkdir pyarrow
-    mv tests pyarrow/tests
+    shopt -s extglob
+    rm -r pyarrow/!(tests)
   '';
 
+  pythonImportsCheck = map (module: "pyarrow.${module}") [
+    "compute"
+    "csv"
+    "dataset"
+    "flight"
+    "fs"
+    "hdfs"
+    "json"
+    "parquet"
+  ];
+
   meta = with lib; {
     description = "A cross-language development platform for in-memory data";
     homepage = "https://arrow.apache.org/";
diff --git a/pkgs/development/python-modules/pyasn/default.nix b/pkgs/development/python-modules/pyasn/default.nix
new file mode 100644
index 00000000000..b180226ec46
--- /dev/null
+++ b/pkgs/development/python-modules/pyasn/default.nix
@@ -0,0 +1,22 @@
+{ lib, buildPythonPackage, fetchPypi, }:
+
+buildPythonPackage rec {
+  pname = "pyasn";
+  version = "1.6.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-6UK1SRY2Pse4tw6urs0OtOQe8bz0ojl7KabXFfzN+SU=";
+  };
+
+  doCheck = false; # Tests require internet connection which wont work
+
+  pythonImportsCheck = [ "pyasn" ];
+
+  meta = with lib; {
+    description = "Offline IP address to Autonomous System Number lookup module";
+    homepage = "https://github.com/hadiasghari/pyasn";
+    license = with licenses; [ bsdOriginal mit ];
+    maintainers = with maintainers; [ onny ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyatag/default.nix b/pkgs/development/python-modules/pyatag/default.nix
index d2ed7d6ff34..a06d2a05fb4 100644
--- a/pkgs/development/python-modules/pyatag/default.nix
+++ b/pkgs/development/python-modules/pyatag/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pyatag";
-  version = "0.3.5.3";
+  version = "3.5.1";
 
   disabled = isPy27;
 
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "MatsNl";
     repo = "pyatag";
     rev = version;
-    sha256 = "00ly4injmgrj34p0lyx7cz2crgnfcijmzc0540gf7hpwha0marf6";
+    sha256 = "17x2m7icbby1y2zfc79jpbir2kvyqlrkix9pvvxanm658arsh8c7";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pybind11/default.nix b/pkgs/development/python-modules/pybind11/default.nix
index d93bfe149cb..46c1307826e 100644
--- a/pkgs/development/python-modules/pybind11/default.nix
+++ b/pkgs/development/python-modules/pybind11/default.nix
@@ -8,18 +8,18 @@
 , python
 , catch
 , numpy
-, pytest
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pybind11";
-  version = "2.9.0";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "pybind";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zYDgXXpn8Z1Zti8Eje8qxDvbQV70/LmezG3AtxzDG+o=";
+    hash = "sha256-wBvEWQlZhHoSCMbGgYtB3alWBLA8mA8Mz6JPLhXa3Pc=";
   };
 
   nativeBuildInputs = [ cmake ];
@@ -49,16 +49,18 @@ buildPythonPackage rec {
   checkInputs = [
     catch
     numpy
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    runHook preCheck
-
-    make check
-
-    runHook postCheck
-  '';
+  disabledTestPaths = [
+    # require dependencies not available in nixpkgs
+    "tests/test_embed/test_trampoline.py"
+    "tests/test_embed/test_interpreter.py"
+    # numpy changed __repr__ output of numpy dtypes
+    "tests/test_numpy_dtypes.py"
+    # no need to test internal packaging
+    "tests/extra_python_package/test_files.py"
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/pybind/pybind11";
diff --git a/pkgs/development/python-modules/pycallgraph/default.nix b/pkgs/development/python-modules/pycallgraph/default.nix
deleted file mode 100644
index af9f18aad2c..00000000000
--- a/pkgs/development/python-modules/pycallgraph/default.nix
+++ /dev/null
@@ -1,28 +0,0 @@
-{ lib
-, buildPythonPackage
-, fetchPypi
-, pytest
-}:
-
-buildPythonPackage rec {
-  pname = "pycallgraph";
-  version = "1.0.1";
-
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0w8yr43scnckqcv5nbyd2dq4kpv74ai856lsdsf8iniik07jn9mi";
-  };
-
-  buildInputs = [ pytest ];
-
-  # Tests do not work due to this bug: https://github.com/gak/pycallgraph/issues/118
-  doCheck = false;
-
-  meta = with lib; {
-    homepage = "http://pycallgraph.slowchop.com";
-    description = "Call graph visualizations for Python applications";
-    maintainers = with maintainers; [ auntie ];
-    license = licenses.gpl2;
-  };
-
-}
diff --git a/pkgs/development/python-modules/pycfmodel/default.nix b/pkgs/development/python-modules/pycfmodel/default.nix
index 320e6d51c7a..1385b415613 100644
--- a/pkgs/development/python-modules/pycfmodel/default.nix
+++ b/pkgs/development/python-modules/pycfmodel/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "pycfmodel";
-  version = "0.13.0";
+  version = "0.16.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "Skyscanner";
     repo = pname;
     rev = version;
-    hash = "sha256-BlnLf0C/wxPXhoAH0SRB22eGWbbZ05L20rNy6qfOI+A=";
+    hash = "sha256-/0JSnJy/OUbYX26wTZ3RloVy74bU2D4Z6NOLq6IkI7o=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +33,10 @@ buildPythonPackage rec {
   disabledTests = [
     # Test require network access
     "test_cloudformation_actions"
+    "test_auxiliar_cast"
+    "test_valid_es_domain_from_aws_documentation_examples_resource_can_be_built"
+    "test_valid_opensearch_domain_from_aws_documentation_examples_resource_can_be_built"
+    "test_resolve_booleans_different_properties_for_generic_resource"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/pychromecast/default.nix b/pkgs/development/python-modules/pychromecast/default.nix
index f9a4b24ffcd..f5921d0dfd2 100644
--- a/pkgs/development/python-modules/pychromecast/default.nix
+++ b/pkgs/development/python-modules/pychromecast/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pychromecast";
-  version = "10.2.2";
+  version = "10.2.3";
   format = "setuptools";
 
   disabled = !isPy3k;
@@ -18,7 +18,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PyChromecast";
     inherit version;
-    sha256 = "bd1dbb9383ed549d42d12f337a6c664a9088b4910ebb3f11de6fe15f397e7efd";
+    sha256 = "ddb86c5acdc13e8bdadd2b7f5738fda36b32c1750548f7b629ca8d178f05e0da";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pycoin/default.nix b/pkgs/development/python-modules/pycoin/default.nix
index eb57096b981..fc930d0e119 100644
--- a/pkgs/development/python-modules/pycoin/default.nix
+++ b/pkgs/development/python-modules/pycoin/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "pycoin";
-  version = "0.91.20210515";
+  version = "0.92.20220213";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d2231a8d11b2524c26472d08cf1b76569849ab44507495d0510165ae0af4858e";
+    sha256 = "sha256-qb2jtb/bHJSmtnQbYTFgCgBY0OCsrxsWJ7SJFeEDytc=";
   };
 
   propagatedBuildInputs = [ setuptools ];
diff --git a/pkgs/development/python-modules/pycountry/default.nix b/pkgs/development/python-modules/pycountry/default.nix
index 868504e3994..560c5a70812 100644
--- a/pkgs/development/python-modules/pycountry/default.nix
+++ b/pkgs/development/python-modules/pycountry/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "pycountry";
-  version = "20.7.3";
+  version = "22.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hnbabsmqimx5hqh0jbd2f64i8fhzhhbrvid57048hs5sd9ll241";
+    sha256 = "b9a6d9cdbf53f81ccdf73f6f5de01b0d8493cab2213a230af3e34458de85ea32";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pycritty/default.nix b/pkgs/development/python-modules/pycritty/default.nix
index 3e5f2429025..e02a69933f6 100644
--- a/pkgs/development/python-modules/pycritty/default.nix
+++ b/pkgs/development/python-modules/pycritty/default.nix
@@ -2,12 +2,12 @@
 
 buildPythonPackage rec {
   pname = "pycritty";
-  version = "0.3.5";
+  version = "0.4.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1lrmd4a1ps3h9z0pndfjfrd2qa7v3abd6np75fd2q2ffsqv7ar6x";
+    sha256 = "sha256-Lh2zAEJTyzI8dJTNuyaf7gzhySMpui+CF9qRiubwFhE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pydal/default.nix b/pkgs/development/python-modules/pydal/default.nix
index 5457e44dc3b..f1aacb1c312 100644
--- a/pkgs/development/python-modules/pydal/default.nix
+++ b/pkgs/development/python-modules/pydal/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pydal";
-  version = "20220114.1";
+  version = "20220213.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8c872f1fd6759eef497d72cf33fe57537be86ccf23515bd47e1f8a04d862236e";
+    sha256 = "sha256-7DBLcHSEkoT8wV6824TGWRLi9vK2t+r1RwwWmRBYD9I=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pydantic/default.nix b/pkgs/development/python-modules/pydantic/default.nix
index 1072a4e2442..8ac9eeca2a8 100644
--- a/pkgs/development/python-modules/pydantic/default.nix
+++ b/pkgs/development/python-modules/pydantic/default.nix
@@ -1,5 +1,7 @@
 { lib
 , buildPythonPackage
+, cython
+, devtools
 , email_validator
 , fetchFromGitHub
 , pytest-mock
@@ -7,7 +9,6 @@
 , python-dotenv
 , pythonOlder
 , typing-extensions
-, ujson
 }:
 
 buildPythonPackage rec {
@@ -22,11 +23,15 @@ buildPythonPackage rec {
     sha256 = "sha256-C4WP8tiMRFmkDkQRrvP3yOSM2zN8pHJmX9cdANIckpM=";
   };
 
+  nativeBuildInputs = [
+    cython
+  ];
+
   propagatedBuildInputs = [
+    devtools
     email_validator
     python-dotenv
     typing-extensions
-    ujson
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pydevccu/default.nix b/pkgs/development/python-modules/pydevccu/default.nix
index f6d1fbeeaa2..212a245b328 100644
--- a/pkgs/development/python-modules/pydevccu/default.nix
+++ b/pkgs/development/python-modules/pydevccu/default.nix
@@ -6,7 +6,7 @@
 
 buildPythonPackage rec {
   pname = "pydevccu";
-  version = "0.1.1";
+  version = "0.1.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
     owner = "danielperna84";
     repo = pname;
     rev = version;
-    sha256 = "sha256-awTy1yQdiKvqcUb8ecgOMhgpzpF7HvFZw/W8urA92LU=";
+    sha256 = "sha256-rbxYTpB6ieZBYbbE1AKVEc/lapWlOUMOrSHCkuwkzLg=";
   };
 
   # Module has no tests
diff --git a/pkgs/development/python-modules/pydexcom/default.nix b/pkgs/development/python-modules/pydexcom/default.nix
index c2f8953bbce..f79cfc9493d 100644
--- a/pkgs/development/python-modules/pydexcom/default.nix
+++ b/pkgs/development/python-modules/pydexcom/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "pydexcom";
-  version = "0.2.2";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "gagebenne";
     repo = pname;
     rev = version;
-    sha256 = "sha256-8PE+MFQkuwYey82jNSRjMaK8kAhYSBbjqnsbGJHGW9I=";
+    sha256 = "sha256-ItDGnUUUTwCz4ZJtFVlMYjjoBPn2h8QZgLzgnV2T/Qk=";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/pydot/default.nix b/pkgs/development/python-modules/pydot/default.nix
index 00e36ec3731..8dccfbc2610 100644
--- a/pkgs/development/python-modules/pydot/default.nix
+++ b/pkgs/development/python-modules/pydot/default.nix
@@ -4,19 +4,33 @@
 , substituteAll
 , graphviz
 , python
+, pytestCheckHook
 , chardet
+, pythonOlder
 , pyparsing
 }:
 
 buildPythonPackage rec {
   pname = "pydot";
   version = "1.4.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
     sha256 = "248081a39bcb56784deb018977e428605c1c758f10897a339fce1dd728ff007d";
   };
 
+  propagatedBuildInputs = [
+    pyparsing
+  ];
+
+  checkInputs = [
+    chardet
+    pytestCheckHook
+  ];
+
   patches = [
     (substituteAll {
       src = ./hardcode-graphviz-path.patch;
@@ -27,21 +41,31 @@ buildPythonPackage rec {
   postPatch = ''
     # test_graphviz_regression_tests also fails upstream: https://github.com/pydot/pydot/pull/198
     substituteInPlace test/pydot_unittest.py \
-      --replace "test_graphviz_regression_tests" "no_test_graphviz_regression_tests"
+      --replace "test_graphviz_regression_tests" "no_test_graphviz_regression_tests" \
+    # Patch path for pytestCheckHook
+    substituteInPlace test/pydot_unittest.py \
+      --replace "shapefile_dir = os.path.join(test_dir, 'from-past-to-future')" "shapefile_dir = 'test/from-past-to-future'" \
+      --replace "path = os.path.join(test_dir, TESTS_DIR_1)" "path = os.path.join('test/', TESTS_DIR_1)"
   '';
 
-  propagatedBuildInputs = [ pyparsing ];
+  pytestFlagsArray = [
+    "test/pydot_unittest.py"
+  ];
 
-  checkInputs = [ chardet ];
+  disabledTests = [
+    "test_exception_msg"
+    # Hash mismatch
+    "test_my_regression_tests"
+  ];
 
-  checkPhase = ''
-    cd test
-    ${python.interpreter} pydot_unittest.py
-  '';
+  pythonImportsCheck = [
+    "pydot"
+  ];
 
-  meta = {
+  meta = with lib; {
+    description = "Allows to create both directed and non directed graphs from Python";
     homepage = "https://github.com/erocarrera/pydot";
-    description = "Allows to easily create both directed and non directed graphs from Python";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pyeapi/default.nix b/pkgs/development/python-modules/pyeapi/default.nix
new file mode 100644
index 00000000000..a31123492d4
--- /dev/null
+++ b/pkgs/development/python-modules/pyeapi/default.nix
@@ -0,0 +1,42 @@
+{ lib
+, buildPythonPackage
+, pythonAtLeast
+, fetchFromGitHub
+, netaddr
+, pytestCheckHook
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "pyeapi";
+  version = "0.8.4";
+  format = "pyproject";
+
+  # https://github.com/arista-eosplus/pyeapi/issues/189
+  disabled = pythonAtLeast "3.10";
+
+  src = fetchFromGitHub {
+    owner = "arista-eosplus";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "13chya6wix5jb82k67gr44bjx35gcdwz80nsvpv0gvzs6shn4d7b";
+  };
+
+  propagatedBuildInputs = [ netaddr ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [ "test/unit" ];
+
+  pythonImportsCheck = [ "pyeapi" ];
+
+  meta = with lib; {
+    description = "Client for Arista eAPI";
+    homepage = "https://github.com/arista-eosplus/pyeapi";
+    license = licenses.bsd3;
+    maintainers = [ maintainers.astro ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyeconet/default.nix b/pkgs/development/python-modules/pyeconet/default.nix
index bf878fd5acb..581238c90ac 100644
--- a/pkgs/development/python-modules/pyeconet/default.nix
+++ b/pkgs/development/python-modules/pyeconet/default.nix
@@ -3,15 +3,19 @@
 , buildPythonPackage
 , fetchPypi
 , aiohttp
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyeconet";
-  version = "0.1.14";
+  version = "0.1.15";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-x0mkC2k65VrDhv7UavgDUuRWIQoAJMDtA7jNXNUJuVg=";
+    sha256 = "sha256-zxD2sjKWB/bmxwpVFgkKTngMhr4bVuW+qkSt+pbxqPY=";
   };
 
   propagatedBuildInputs = [
@@ -21,7 +25,10 @@ buildPythonPackage rec {
 
   # Tests require credentials
   doCheck = false;
-  pythonImportsCheck = [ "pyeconet" ];
+
+  pythonImportsCheck = [
+    "pyeconet"
+  ];
 
   meta = with lib; {
     description = "Python interface to the EcoNet API";
diff --git a/pkgs/development/python-modules/pyenvisalink/default.nix b/pkgs/development/python-modules/pyenvisalink/default.nix
index d107d8e1300..2bcbc753a9a 100644
--- a/pkgs/development/python-modules/pyenvisalink/default.nix
+++ b/pkgs/development/python-modules/pyenvisalink/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pyenvisalink";
-  version = "4.3";
+  version = "4.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "151a9bdefa2772cc9d2f913a32792625a4dc80c6c08086783ebc57de355e68a1";
+    sha256 = "sha256-YUYiCid+XAlfytkyz4Td5CG1zBOrsLx4/nuRubRE14w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyerfa/default.nix b/pkgs/development/python-modules/pyerfa/default.nix
index b59aa56c48e..7f51f435ada 100644
--- a/pkgs/development/python-modules/pyerfa/default.nix
+++ b/pkgs/development/python-modules/pyerfa/default.nix
@@ -10,13 +10,13 @@
 buildPythonPackage rec {
   pname = "pyerfa";
   format = "pyproject";
-  version = "2.0.0";
+  version = "2.0.0.1";
 
   doCheck = false;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-+QQjHhpXD5REDgYUB5lZCJUQf5QoR7UqdTzoHJYJFi0=";
+    sha256 = "2fd4637ffe2c1e6ede7482c13f583ba7c73119d78bef90175448ce506a0ede30";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pyexcel/default.nix b/pkgs/development/python-modules/pyexcel/default.nix
index c6bc3cf0777..83b5254d398 100644
--- a/pkgs/development/python-modules/pyexcel/default.nix
+++ b/pkgs/development/python-modules/pyexcel/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pyexcel";
-  version = "0.6.7";
+  version = "0.7.0";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cbbd9875729767564b3b64b6ed6a9870b14631184943d13646833d94157dd10f";
+    sha256 = "sha256-+/Du5dk7ls728ZqfAHA/IsCmTxlyjZG5VCgAmlISlwk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyfakefs/default.nix b/pkgs/development/python-modules/pyfakefs/default.nix
index eb5eb993ef4..29803793fd6 100644
--- a/pkgs/development/python-modules/pyfakefs/default.nix
+++ b/pkgs/development/python-modules/pyfakefs/default.nix
@@ -7,13 +7,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "4.5.3";
+  version = "4.5.4";
   pname = "pyfakefs";
   disabled = pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f49db689c1d5db6172131479ca77bd474ba2cb886c869b9867fb89cdab2df397";
+    sha256 = "5b5951e873f73bf12e3a19d8e4470c4b7962c51df753cf8c4caaf64e24a0a323";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyfakewebcam/default.nix b/pkgs/development/python-modules/pyfakewebcam/default.nix
index 1ef1d2df474..c130accd40c 100644
--- a/pkgs/development/python-modules/pyfakewebcam/default.nix
+++ b/pkgs/development/python-modules/pyfakewebcam/default.nix
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     description = "A library for writing RGB frames to a fake webcam device on Linux";
     homepage = "https://github.com/jremmons/pyfakewebcam";
     license = licenses.lgpl3Only;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/python-modules/pyfcm/default.nix b/pkgs/development/python-modules/pyfcm/default.nix
index 8fdb051a484..77ddabe2057 100644
--- a/pkgs/development/python-modules/pyfcm/default.nix
+++ b/pkgs/development/python-modules/pyfcm/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "pyfcm";
-  version = "1.4.7";
+  version = "1.4.8";
 
   src = fetchFromGitHub {
     owner = "olucurious";
     repo = "pyfcm";
     rev = version;
-    sha256 = "0aj10yvjsc04j15zbn403i83j7ra5yg35pi3ywkyakk8n1s0s3qg";
+    sha256 = "15q6p21wsjm75ccmzcsgad1w9fgk6189hbrp7pawpxl7l3qxn2p7";
   };
 
   propagatedBuildInputs = [ requests ];
diff --git a/pkgs/development/python-modules/pyflunearyou/default.nix b/pkgs/development/python-modules/pyflunearyou/default.nix
index 99506de1026..a481e9a97a8 100644
--- a/pkgs/development/python-modules/pyflunearyou/default.nix
+++ b/pkgs/development/python-modules/pyflunearyou/default.nix
@@ -27,6 +27,11 @@ buildPythonPackage rec {
     sha256 = "sha256-Q65OSE4qckpvaIvZULBR434i7hwuVM97eSq1Blb1oIU=";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'ujson = ">=1.35,<5.0"' 'ujson = "*"'
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/pkgs/development/python-modules/pygame-gui/default.nix b/pkgs/development/python-modules/pygame-gui/default.nix
index 58f65b6d0f4..f56591efdad 100644
--- a/pkgs/development/python-modules/pygame-gui/default.nix
+++ b/pkgs/development/python-modules/pygame-gui/default.nix
@@ -3,21 +3,23 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pygame
+, python-i18n
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pygame-gui";
-  version = "0.5.7";
+  version = "0.6.4";
+  # nixpkgs-update: no auto update
 
   src = fetchFromGitHub {
     owner = "MyreMylar";
     repo = "pygame_gui";
     rev = "v_${lib.replaceStrings ["."] [""] version}";
-    sha256 = "4P2PT8/7oA5Q7H4+pm7BOET7w05pQYQltXVV3+YVrVE=";
+    sha256 = "13+fK1hYxiMh0T+xbbmHViZjyBoQfRyIDc05fIJ/46U=";
   };
 
-  propagatedBuildInputs = [ pygame ];
+  propagatedBuildInputs = [ pygame python-i18n ];
 
   postPatch = ''
     substituteInPlace pygame_gui/core/utility.py \
@@ -44,10 +46,14 @@ buildPythonPackage rec {
     "test_process_event_text_ctrl_x"
   ];
 
+  disabledTestPaths = [
+    "tests/test_performance/test_text_performance.py"
+  ];
+
   meta = with lib; {
     description = "A GUI system for pygame";
     homepage = "https://github.com/MyreMylar/pygame_gui";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/python-modules/pygame/default.nix b/pkgs/development/python-modules/pygame/default.nix
index 60a1fece63a..68e5a90d0cf 100644
--- a/pkgs/development/python-modules/pygame/default.nix
+++ b/pkgs/development/python-modules/pygame/default.nix
@@ -5,7 +5,7 @@
 
 buildPythonPackage rec {
   pname = "pygame";
-  version = "2.1.0";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = pname;
@@ -14,7 +14,7 @@ buildPythonPackage rec {
     # Unicode file names lead to different checksums on HFS+ vs. other
     # filesystems because of unicode normalisation. The documentation
     # has such files and will be removed.
-    sha256 = "sha256-Pe7BJ+8rXw+hhRv64fI+79gJcU1npQFFAXxECx2+Trw=";
+    sha256 = "sha256-v1z6caEMJNXqbcbTmFXoy3KQewHiz6qK4vhNU6Qbukk=";
     extraPostFetch = "rm -rf $out/docs/reST";
   };
 
@@ -72,7 +72,7 @@ buildPythonPackage rec {
     description = "Python library for games";
     homepage = "https://www.pygame.org/";
     license = licenses.lgpl21Plus;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pygit2/default.nix b/pkgs/development/python-modules/pygit2/default.nix
index 6f8a9fa6968..b8b405a8ecf 100644
--- a/pkgs/development/python-modules/pygit2/default.nix
+++ b/pkgs/development/python-modules/pygit2/default.nix
@@ -25,12 +25,12 @@ buildPythonPackage rec {
 
   checkInputs = [ pytestCheckHook ];
 
-  preCheck = ''
+  disabledTestPaths = [
     # disable tests that require networking
-    rm test/test_repository.py
-    rm test/test_credentials.py
-    rm test/test_submodule.py
-  '';
+    "test/test_repository.py"
+    "test/test_credentials.py"
+    "test/test_submodule.py"
+  ];
 
   # Tests require certificates
   # https://github.com/NixOS/nixpkgs/pull/72544#issuecomment-582674047
@@ -44,11 +44,10 @@ buildPythonPackage rec {
   # https://github.com/NixOS/nixpkgs/pull/72544#issuecomment-582681068
   doCheck = false;
 
-  disabled = !isPy3k;
-
   meta = with lib; {
     description = "A set of Python bindings to the libgit2 shared library";
     homepage = "https://pypi.python.org/pypi/pygit2";
     license = licenses.gpl2;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pygraphviz/default.nix b/pkgs/development/python-modules/pygraphviz/default.nix
index 3c0552ef4d3..3780122f19f 100644
--- a/pkgs/development/python-modules/pygraphviz/default.nix
+++ b/pkgs/development/python-modules/pygraphviz/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "pygraphviz";
-  version = "1.8";
+  version = "1.9";
 
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-6y4losZHBE57ZrWhWb5k2q7yS1Sfz1NcJBNp1ubgnEU=";
+    hash = "sha256-+hj3xs6ig0Gk5GbtDPBWgrCmgoiv6N18lCZ4L3wa4Bw=";
     extension = "zip";
   };
 
diff --git a/pkgs/development/python-modules/pyhamcrest/default.nix b/pkgs/development/python-modules/pyhamcrest/default.nix
index fd6ba2f2df9..a4c04ce79ee 100644
--- a/pkgs/development/python-modules/pyhamcrest/default.nix
+++ b/pkgs/development/python-modules/pyhamcrest/default.nix
@@ -4,11 +4,11 @@
 }:
 buildPythonPackage rec {
   pname = "PyHamcrest";
-  version = "2.0.2";
+  version = "2.0.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "412e00137858f04bde0729913874a48485665f2d36fe9ee449f26be864af9316";
+    sha256 = "dfb19cf6d71743e086fbb761ed7faea5aacbc8ec10c17a08b93ecde39192a3db";
   };
 
   checkInputs = [ mock pytest ];
diff --git a/pkgs/development/python-modules/pyhaversion/default.nix b/pkgs/development/python-modules/pyhaversion/default.nix
index 6fe9df51965..6028f19bdab 100644
--- a/pkgs/development/python-modules/pyhaversion/default.nix
+++ b/pkgs/development/python-modules/pyhaversion/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pyhaversion";
-  version = "21.11.1";
+  version = "22.02.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-wh6NJRDgOrEHYEN3QlC4lOZHPnPeiPCJFF1xLoixQ14=";
+    sha256 = "sha256-7cBUsTEZ9yVlWsUdKs4YWm647baN09AQJI+7CTORhLc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyhiveapi/default.nix b/pkgs/development/python-modules/pyhiveapi/default.nix
index fb0b22cd444..0218b77e116 100644
--- a/pkgs/development/python-modules/pyhiveapi/default.nix
+++ b/pkgs/development/python-modules/pyhiveapi/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pyhiveapi";
-  version = "0.4.6";
+  version = "0.5.1";
 
   format = "pyproject";
 
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "Pyhass";
     repo = "Pyhiveapi";
     rev = "v${version}";
-    hash = "sha256-muUVZYBUloKRnAx7H8ry72eg85GzmnpTG8M/MfKcnGM=";
+    hash = "sha256-/M1OjApc0l0EzNI4hs4KO6woCOmTPveTFCyj5MjM5EE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pyhocon/default.nix b/pkgs/development/python-modules/pyhocon/default.nix
index f69a21115f2..aa967b76954 100644
--- a/pkgs/development/python-modules/pyhocon/default.nix
+++ b/pkgs/development/python-modules/pyhocon/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "pyhocon";
-  version = "0.3.58";
+  version = "0.3.59";
 
   src = fetchFromGitHub {
     owner = "chimpler";
     repo = "pyhocon";
     rev = version;
-    sha256 = "sha256-ddspVDKy9++cISWH6R95r+gJrzNGqMTybI04OgVtIUU=";
+    sha256 = "1yr24plg3d4girg27ajjkf9mndig706fs8b2kmnmhi4l2xi866yh";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyhumps/default.nix b/pkgs/development/python-modules/pyhumps/default.nix
new file mode 100644
index 00000000000..51d5b8bce5e
--- /dev/null
+++ b/pkgs/development/python-modules/pyhumps/default.nix
@@ -0,0 +1,51 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, fetchpatch
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pyhumps";
+  version = "3.5.3";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "nficano";
+    repo = "humps";
+    rev = "v${version}";
+    hash = "sha256-6F61y0niPPuZBci15j68MFXzzBBimvbZ24+i9AZ7XJs=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  patches = [
+    # Fix naming, https://github.com/nficano/humps/pull/246
+    (fetchpatch {
+      name = "fix-naming.patch";
+      url = "https://github.com/nficano/humps/commit/118f6bce785d170b10dd3afee467d26dcc8b425d.patch";
+      sha256 = "sha256-oQxkLsihnHZlHiZEupwG9Dr1Ss1w+KjDsBtbEVDced4=";
+    })
+  ];
+
+  pythonImportsCheck = [
+    "humps"
+  ];
+
+  meta = with lib; {
+    description = "Module to convert strings (and dictionary keys) between snake case, camel case and pascal case";
+    homepage = "https://github.com/nficano/humps";
+    license = with licenses; [ unlicense ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyicloud/default.nix b/pkgs/development/python-modules/pyicloud/default.nix
index 039d6259f36..56f4e423621 100644
--- a/pkgs/development/python-modules/pyicloud/default.nix
+++ b/pkgs/development/python-modules/pyicloud/default.nix
@@ -16,13 +16,13 @@
 
 buildPythonPackage rec {
   pname = "pyicloud";
-  version = "0.10.2";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "picklepete";
     repo = pname;
     rev = version;
-    sha256 = "0bxbhvimwbj2jm8dg7sil8yvln17xgjhvpwr4m783vwfcf76kdmy";
+    sha256 = "sha256-2E1pdHHt8o7CGpdG+u4xy5OyNCueUGVw5CY8oicYd5w=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyinsteon/default.nix b/pkgs/development/python-modules/pyinsteon/default.nix
index 869cb06a57a..0dc1c5be49c 100644
--- a/pkgs/development/python-modules/pyinsteon/default.nix
+++ b/pkgs/development/python-modules/pyinsteon/default.nix
@@ -1,36 +1,36 @@
 { lib
-, buildPythonPackage
-, fetchFromGitHub
 , aiofiles
 , aiohttp
 , async_generator
+, buildPythonPackage
+, fetchFromGitHub
 , pypubsub
 , pyserial
 , pyserial-asyncio
-, pyyaml
-, pytestCheckHook
-, pythonOlder
-, pytest-cov
 , pytest-asyncio
 , pytest-timeout
+, pytestCheckHook
+, pythonOlder
+, pyyaml
 }:
 
 buildPythonPackage rec {
   pname = "pyinsteon";
-  version = "1.0.14";
+  version = "1.0.16";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-1ByCd7PymRLm67msNu6TXSm37C9KnmEl0v/+flfqz1A=";
+    hash = "sha256-V0niLQAplN/uZ0YeN6g8uax3U/d0LUT4aXxe3ENXIHc=";
   };
 
   propagatedBuildInputs = [
     aiofiles
     aiohttp
-    async_generator
     pypubsub
     pyserial
     pyserial-asyncio
@@ -38,13 +38,15 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    async_generator
     pytest-asyncio
-    pytest-cov
     pytest-timeout
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "pyinsteon" ];
+  pythonImportsCheck = [
+    "pyinsteon"
+  ];
 
   meta = with lib; {
     description = "Python library to support Insteon home automation projects";
diff --git a/pkgs/development/python-modules/pylint-django/default.nix b/pkgs/development/python-modules/pylint-django/default.nix
index c93c8d4207f..291ef8fba62 100644
--- a/pkgs/development/python-modules/pylint-django/default.nix
+++ b/pkgs/development/python-modules/pylint-django/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "pylint-django";
-  version = "2.4.4";
+  version = "2.5.0";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "PyCQA";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bFcb5GhC7jc7jEpNlyjWa2CuCSMvQLJdnag+7mHwSb8=";
+    sha256 = "1r48dss9qnzlifwy5ylkffdw35aaajmil0486mav056jm1vmi2pr";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pylsp-mypy/default.nix b/pkgs/development/python-modules/pylsp-mypy/default.nix
index e1d7ddff298..a4725c4781c 100644
--- a/pkgs/development/python-modules/pylsp-mypy/default.nix
+++ b/pkgs/development/python-modules/pylsp-mypy/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pylsp-mypy";
-  version = "0.5.1";
+  version = "0.5.7";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "Richardk2n";
     repo = "pylsp-mypy";
     rev = version;
-    sha256 = "1d119csj1k5m9j0f7wdvpvnd02h548css6ybxqah92nk2v0rjscr";
+    sha256 = "0am16z9kmj57r5pi32jhzlbdngzmvzzaiqjm7cba1izh7w5m6dvc";
   };
 
   disabledTests = [
diff --git a/pkgs/development/python-modules/pylxd/default.nix b/pkgs/development/python-modules/pylxd/default.nix
index 64232f760fa..5e8016ddaee 100644
--- a/pkgs/development/python-modules/pylxd/default.nix
+++ b/pkgs/development/python-modules/pylxd/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "pylxd";
-  version = "2.3.0";
+  version = "2.3.1";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "pylxd";
     rev = version;
-    sha256 = "144frnlsb21mglgyisms790hyrdfx1l91lcd7incch4m4a1cbpp6";
+    sha256 = "sha256-eDRCJYjmBndMnSNuS6HD/2p/KhzqJq2qPAzMk7kC5UM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pymatgen/default.nix b/pkgs/development/python-modules/pymatgen/default.nix
index 5354efacb4d..be13f77490a 100644
--- a/pkgs/development/python-modules/pymatgen/default.nix
+++ b/pkgs/development/python-modules/pymatgen/default.nix
@@ -1,4 +1,5 @@
-{ lib, buildPythonPackage, fetchPypi
+{ lib, buildPythonPackage, fetchFromGitHub
+, cython
 , enum34
 , glibcLocales
 , matplotlib
@@ -8,6 +9,7 @@
 , palettable
 , pandas
 , plotly
+, pybtex
 , pydispatcher
 , requests
 , ruamel-yaml
@@ -21,14 +23,20 @@
 
 buildPythonPackage rec {
   pname = "pymatgen";
-  version = "2022.0.17";
+  version = "2022.2.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "7103b89b889bb940709eea53226d3c9298584ad9ab42ab8c8f9de3872d7d969b";
+  # sdist doesn't include c files
+  src = fetchFromGitHub {
+    owner = "materialsproject";
+    repo = "pymatgen";
+    rev= "v${version}";
+    sha256 = "sha256-92Dxmo1Z9LR2caSOftIf1I6jeZmqDe3SqhhoCofWraw=";
   };
 
-  nativeBuildInputs = [ glibcLocales ];
+  nativeBuildInputs = [
+    cython
+    glibcLocales
+  ];
 
   propagatedBuildInputs = [
     enum34
@@ -39,6 +47,7 @@ buildPythonPackage rec {
     palettable
     pandas
     plotly
+    pybtex
     pydispatcher
     requests
     ruamel-yaml
diff --git a/pkgs/development/python-modules/pymavlink/default.nix b/pkgs/development/python-modules/pymavlink/default.nix
index 4bb3cabac38..6f846481b03 100644
--- a/pkgs/development/python-modules/pymavlink/default.nix
+++ b/pkgs/development/python-modules/pymavlink/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pymavlink";
-  version = "2.4.19";
+  version = "2.4.20";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8518f71c221c263770322355d0745da2fffc48238d04eb48bcf3ef6c35e5f722";
+    sha256 = "sha256-QdYlmlDZzVH8tErGdgAz6FjT/L7jexduvrffKVEqMfY=";
   };
 
   propagatedBuildInputs = [ future lxml ];
diff --git a/pkgs/development/python-modules/pymunk/default.nix b/pkgs/development/python-modules/pymunk/default.nix
index c98fb6dddcf..f1cc51ec0aa 100644
--- a/pkgs/development/python-modules/pymunk/default.nix
+++ b/pkgs/development/python-modules/pymunk/default.nix
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     description = "2d physics library";
     homepage = "https://www.pymunk.org";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pymupdf/default.nix b/pkgs/development/python-modules/pymupdf/default.nix
index f7555d48ebb..ad862feaf52 100644
--- a/pkgs/development/python-modules/pymupdf/default.nix
+++ b/pkgs/development/python-modules/pymupdf/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "pymupdf";
-  version = "1.19.2";
+  version = "1.19.5";
 
   src = fetchPypi {
     pname = "PyMuPDF";
     inherit version;
-    sha256 = "964bbacddab9cba6cd2c8f388429fe4a97c0775b3096a13ac15724f5a1a2c58d";
+    sha256 = "sha256-OTybnLJmmoaRoBew/bmuDs86Smbypc6jfQqqGikKVaU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pymysensors/default.nix b/pkgs/development/python-modules/pymysensors/default.nix
index 9506e150483..d071743d748 100644
--- a/pkgs/development/python-modules/pymysensors/default.nix
+++ b/pkgs/development/python-modules/pymysensors/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "pymysensors";
-  version = "0.22.1";
+  version = "0.23.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "theolind";
     repo = pname;
     rev = version;
-    sha256 = "sha256-n4khOQspJBeq0w+epdXYZh6I1lI1drB1JewZ6GfzVHs=";
+    sha256 = "0a09w1bzz2pn0w11f7kx8052914kdpgfb7w6hc9s50x8wl9q604h";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pynacl/default.nix b/pkgs/development/python-modules/pynacl/default.nix
index 91a197e7cf6..f34956d7280 100644
--- a/pkgs/development/python-modules/pynacl/default.nix
+++ b/pkgs/development/python-modules/pynacl/default.nix
@@ -1,4 +1,5 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchPypi
 , pytestCheckHook
@@ -6,19 +7,19 @@
 , libsodium
 , cffi
 , hypothesis
-, stdenv
-, six
 }:
 
 buildPythonPackage rec {
   pname = "pynacl";
-  version = "1.4.0";
+  version = "1.5.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit version;
     pname = "PyNaCl";
-    sha256 = "01b56hxrbif3hx8l6rwz5kljrgvlbj7shmmd2rjh0hn7974a5sal";
+    sha256 = "8ac7448f09ab85811607bdd21ec2464495ac8b7c66d146bf545b0f08fb9220ba";
   };
 
   buildInputs = [
@@ -31,7 +32,6 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [
     cffi
-    six
   ];
 
   checkInputs = [
@@ -41,11 +41,14 @@ buildPythonPackage rec {
 
   SODIUM_INSTALL = "system";
 
-  pythonImportsCheck = [ "nacl" ];
+  pythonImportsCheck = [
+    "nacl"
+  ];
 
   meta = with lib; {
     description = "Python binding to the Networking and Cryptography (NaCl) library";
     homepage = "https://github.com/pyca/pynacl/";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/pynamodb/default.nix b/pkgs/development/python-modules/pynamodb/default.nix
index 46bc5d49cae..d3b39457438 100644
--- a/pkgs/development/python-modules/pynamodb/default.nix
+++ b/pkgs/development/python-modules/pynamodb/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "pynamodb";
-  version = "5.2.0";
+  version = "5.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6c9bec5946949d07c76230187cdb9126e8247c94499bbc8e79ded11d17060a60";
+    sha256 = "sha256-x6nFV7UjZLwJJX7dADeO68dSWLvaoP4FD8ziNWFJ+Qo=";
   };
 
   propagatedBuildInputs = [ python-dateutil botocore ];
diff --git a/pkgs/development/python-modules/pynetbox/default.nix b/pkgs/development/python-modules/pynetbox/default.nix
index 54fb270a176..14c74cc8669 100644
--- a/pkgs/development/python-modules/pynetbox/default.nix
+++ b/pkgs/development/python-modules/pynetbox/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "pynetbox";
-  version = "6.5.0";
+  version = "6.6.1";
 
   src = fetchFromGitHub {
     owner = "netbox-community";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1fk64bi7aswsmfqsciamml2wydgfg464h6i7479xfim4mwmkkik4";
+    sha256 = "sha256-8oqbnCAMq29QIp9ETbMa3Ve8tTuJzQ0D8KlOYnLdUgQ=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pynetgear/default.nix b/pkgs/development/python-modules/pynetgear/default.nix
new file mode 100644
index 00000000000..e1d87cdcae3
--- /dev/null
+++ b/pkgs/development/python-modules/pynetgear/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pynetgear";
+  version = "0.9.1";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "MatMaul";
+    repo = pname;
+    rev = version;
+    sha256 = "sha256-sLGr8I0LcLPrmQZ6dI+hwRAiNCrnLtr2WU04rPoG4x4=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "pynetgear"
+  ];
+
+  # Tests don't pass
+  # https://github.com/MatMaul/pynetgear/issues/109
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Module for interacting with Netgear wireless routers";
+    homepage = "https://github.com/MatMaul/pynetgear";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pynndescent/default.nix b/pkgs/development/python-modules/pynndescent/default.nix
index 4173987a7f6..f15cfef63c6 100644
--- a/pkgs/development/python-modules/pynndescent/default.nix
+++ b/pkgs/development/python-modules/pynndescent/default.nix
@@ -7,16 +7,19 @@
 , scikit-learn
 , scipy
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pynndescent";
-  version = "0.5.5";
+  version = "0.5.6";
   format = "setuptools";
 
+  disabled = pythonOlder "3.6";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7a7df8412b19cfb3596060faf5a8c5d0bf5b3bd504f8efd900fc4e3918c6f882";
+    hash = "sha256-YfsxiFuqxGnWeTPix8k1tu3rsG7kmOLw+d/JfFnTclw=";
   };
 
   propagatedBuildInputs = [
@@ -31,6 +34,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "pynndescent"
+  ];
+
   meta = with lib; {
     description = "Nearest Neighbor Descent";
     homepage = "https://github.com/lmcinnes/pynndescent";
diff --git a/pkgs/development/python-modules/pynuki/default.nix b/pkgs/development/python-modules/pynuki/default.nix
index 641165cedd3..58c7f1df15b 100644
--- a/pkgs/development/python-modules/pynuki/default.nix
+++ b/pkgs/development/python-modules/pynuki/default.nix
@@ -3,6 +3,7 @@
 , fetchFromGitHub
 , poetry-core
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
@@ -10,6 +11,8 @@ buildPythonPackage rec {
   version = "1.5.2";
   format = "pyproject";
 
+  disabled = pythonOlder "3.8";
+
   src = fetchFromGitHub {
     owner = "pschmitt";
     repo = pname;
@@ -24,11 +27,16 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [ poetry-core ];
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "pynuki" ];
+
+  pythonImportsCheck = [
+    "pynuki"
+  ];
 
   meta = with lib; {
     description = "Python bindings for nuki.io bridges";
diff --git a/pkgs/development/python-modules/pyoctoprintapi/default.nix b/pkgs/development/python-modules/pyoctoprintapi/default.nix
index 323d2c092f8..a61f38ebc8c 100644
--- a/pkgs/development/python-modules/pyoctoprintapi/default.nix
+++ b/pkgs/development/python-modules/pyoctoprintapi/default.nix
@@ -12,7 +12,7 @@
 
 let
   pname = "pyoctoprintapi";
-  version = "0.1.7";
+  version = "0.1.8";
 in
 buildPythonPackage {
   inherit pname version;
@@ -22,7 +22,7 @@ buildPythonPackage {
     owner = "rfleming71";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-XAMHQ7n03e10hFcPIUqyCDlRk2uO8dX8Iq0mdY7wRGE=";
+    hash = "sha256-TeMgEwKVZd0gq8J0kYsg0/v6A2BVTOE0/VmyiyrjV5c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyopencl/default.nix b/pkgs/development/python-modules/pyopencl/default.nix
index d657efd707f..934d5fb8114 100644
--- a/pkgs/development/python-modules/pyopencl/default.nix
+++ b/pkgs/development/python-modules/pyopencl/default.nix
@@ -2,18 +2,19 @@
 , stdenv
 , fetchPypi
 , buildPythonPackage
-, Mako
-, pytest
-, numpy
+, appdirs
 , cffi
-, pytools
 , decorator
-, appdirs
-, six
-, opencl-headers
+, Mako
+, mesa_drivers
+, numpy
 , ocl-icd
+, opencl-headers
+, platformdirs
 , pybind11
-, mesa_drivers
+, pytest
+, pytools
+, six
 }:
 
 let
@@ -21,16 +22,25 @@ let
     if stdenv.isDarwin then [ mesa_drivers.dev ] else [ ocl-icd ];
 in buildPythonPackage rec {
   pname = "pyopencl";
-  version = "2021.2.10";
+  version = "2022.1";
 
   checkInputs = [ pytest ];
   buildInputs = [ opencl-headers pybind11 ] ++ os-specific-buildInputs;
 
-  propagatedBuildInputs = [ numpy cffi pytools decorator appdirs six Mako ];
+  propagatedBuildInputs = [
+    appdirs
+    cffi
+    decorator
+    Mako
+    numpy
+    platformdirs
+    pytools
+    six
+  ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "75a1f202741bace9606a8680bbbfac69bf8a73d4e7511fb1a6ce3e48185996ae";
+    sha256 = "sha256-JMbZoKH/dgnz1zZevYd4YWpUM8QmVmwsjjX/qwDvIsQ=";
   };
 
   # py.test is not needed during runtime, so remove it from `install_requires`
diff --git a/pkgs/development/python-modules/pyopenssl/default.nix b/pkgs/development/python-modules/pyopenssl/default.nix
index 688731033a9..16bfddc8340 100644
--- a/pkgs/development/python-modules/pyopenssl/default.nix
+++ b/pkgs/development/python-modules/pyopenssl/default.nix
@@ -47,6 +47,8 @@ let
     "test_fallback_default_verify_paths"
     # https://github.com/pyca/pyopenssl/issues/768
     "test_wantWriteError"
+    # https://github.com/pyca/pyopenssl/issues/1043
+    "test_alpn_call_failure"
   ] ++ (
     lib.optionals (lib.hasPrefix "libressl" openssl.meta.name) failingLibresslTests
   ) ++ (
@@ -64,12 +66,12 @@ in
 
 buildPythonPackage rec {
   pname = "pyopenssl";
-  version = "20.0.1";
+  version = "21.0.0";
 
   src = fetchPypi {
     pname = "pyOpenSSL";
     inherit version;
-    sha256 = "4c231c759543ba02560fcd2480c48dcec4dae34c9da7d3747c508227e0624b51";
+    sha256 = "5e2d8c5e46d0d865ae933bef5230090bdaf5506281e9eec60fa250ee80600cb3";
   };
 
   outputs = [ "out" "dev" ];
diff --git a/pkgs/development/python-modules/pyoverkiz/default.nix b/pkgs/development/python-modules/pyoverkiz/default.nix
new file mode 100644
index 00000000000..c4e80575801
--- /dev/null
+++ b/pkgs/development/python-modules/pyoverkiz/default.nix
@@ -0,0 +1,58 @@
+{ lib
+, aiohttp
+, attrs
+, backoff
+, boto3
+, buildPythonPackage
+, fetchFromGitHub
+, poetry-core
+, pyhumps
+, pytest-asyncio
+, pytestCheckHook
+, pythonOlder
+, warrant-lite
+}:
+
+buildPythonPackage rec {
+  pname = "pyoverkiz";
+  version = "1.3.8";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "iMicknl";
+    repo = "python-overkiz-api";
+    rev = "v${version}";
+    hash = "sha256-U/Yf+PZdggqfd9b/fuPoLKOACooobjSaqhsXcIcOKSU=";
+  };
+
+  nativeBuildInputs = [
+    poetry-core
+  ];
+
+  propagatedBuildInputs = [
+    attrs
+    aiohttp
+    backoff
+    pyhumps
+    boto3
+    warrant-lite
+  ];
+
+  checkInputs = [
+    pytest-asyncio
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "pyoverkiz"
+  ];
+
+  meta = with lib; {
+    description = "Module to interact with the Somfy TaHoma API or other OverKiz APIs";
+    homepage = "https://github.com/iMicknl/python-overkiz-api";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyowm/default.nix b/pkgs/development/python-modules/pyowm/default.nix
index 3cfb70e7b87..b5b8a100ba2 100644
--- a/pkgs/development/python-modules/pyowm/default.nix
+++ b/pkgs/development/python-modules/pyowm/default.nix
@@ -10,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "pyowm";
-  version = "3.2.0";
+  version = "3.3.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "csparpa";
     repo = pname;
     rev = version;
-    sha256 = "0sq8rxcgdiayl5gy4qhkvvsdq1d93sbzn0nfg8f1vr8qxh8qkfq4";
+    sha256 = "sha256-cSOhm3aDksLBChZzgw1gjUjLQkElR2/xGFMOb9K9RME=";
   };
 
   propagatedBuildInputs = [
@@ -26,12 +28,18 @@ buildPythonPackage rec {
     requests
   ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   # Run only tests which don't require network access
-  pytestFlagsArray = [ "tests/unit" ];
+  pytestFlagsArray = [
+    "tests/unit"
+  ];
 
-  pythonImportsCheck = [ "pyowm" ];
+  pythonImportsCheck = [
+    "pyowm"
+  ];
 
   meta = with lib; {
     description = "Python wrapper around the OpenWeatherMap web API";
diff --git a/pkgs/development/python-modules/pyownet/default.nix b/pkgs/development/python-modules/pyownet/default.nix
new file mode 100644
index 00000000000..2bdc18e1e24
--- /dev/null
+++ b/pkgs/development/python-modules/pyownet/default.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pyownet";
+  version = "0.10.0.post1";
+
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "4f2fa4471c2f806b35090bdc6c092305c6eded3ff3736f8b586d35bdb157de62";
+  };
+
+  # tests access network
+  doCheck = false;
+
+  pythonImportsCheck = [ "pyownet.protocol" ];
+
+  meta = with lib; {
+    description = "Python OWFS client library (owserver protocol)";
+    homepage = "https://github.com/miccoli/pyownet";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyparsing/default.nix b/pkgs/development/python-modules/pyparsing/default.nix
index 5ecfdfb8883..27047cf6eab 100644
--- a/pkgs/development/python-modules/pyparsing/default.nix
+++ b/pkgs/development/python-modules/pyparsing/default.nix
@@ -2,34 +2,47 @@
 , fetchFromGitHub
 , lib
 
-# pythonPackages
-, coverage
+# since this is a dependency of pytest, we need to avoid
+# circular dependencies
+, jinja2
+, railroad-diagrams
 }:
 
-buildPythonPackage rec {
-  pname = "pyparsing";
-  version = "2.4.7";
+let
+  pyparsing = buildPythonPackage rec {
+    pname = "pyparsing";
+    version = "3.0.6";
 
-  src = fetchFromGitHub {
-    owner = "pyparsing";
-    repo = pname;
-    rev = "pyparsing_${version}";
-    sha256 = "14pfy80q2flgzjcx8jkracvnxxnr59kjzp3kdm5nh232gk1v6g6h";
-  };
-
-  # https://github.com/pyparsing/pyparsing/blob/847af590154743bae61a32c3dc1a6c2a19009f42/tox.ini#L6
-  checkInputs = [ coverage ];
-  checkPhase = ''
-    coverage run --branch simple_unit_tests.py
-    coverage run --branch unitTests.py
-  '';
+    src = fetchFromGitHub {
+      owner = "pyparsing";
+      repo = pname;
+      rev = "pyparsing_${version}";
+      sha256 = "0n89ky7rx5yg09ssji8liahnyxip08hz7syc2k4pmlgs4978181a";
+    };
 
-  meta = with lib; {
-    homepage = "https://github.com/pyparsing/pyparsing";
-    description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions";
-    license = licenses.mit;
-    maintainers = with maintainers; [
-      kamadorueda
+    # circular dependencies if enabled by default
+    doCheck = false;
+    checkInputs = [
+      jinja2
+      railroad-diagrams
     ];
+
+    checkPhase = ''
+      python -m unittest
+    '';
+
+    passthru.tests = {
+      check = pyparsing.overridePythonAttrs (_: { doCheck = true; });
+    };
+
+    meta = with lib; {
+      homepage = "https://github.com/pyparsing/pyparsing";
+      description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions";
+      license = licenses.mit;
+      maintainers = with maintainers; [
+        kamadorueda
+      ];
+    };
   };
-}
+in
+  pyparsing
diff --git a/pkgs/development/python-modules/pypck/default.nix b/pkgs/development/python-modules/pypck/default.nix
index 76146f3c15d..724be70163a 100644
--- a/pkgs/development/python-modules/pypck/default.nix
+++ b/pkgs/development/python-modules/pypck/default.nix
@@ -1,23 +1,25 @@
 { lib
+, stdenv
 , buildPythonPackage
 , fetchFromGitHub
 , pytest-asyncio
 , pytest-timeout
 , pytestCheckHook
 , pythonOlder
-, stdenv
 }:
 
 buildPythonPackage rec {
   pname = "pypck";
-  version = "0.7.13";
+  version = "0.7.14";
+  format = "setuptools";
+
   disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "alengwenus";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Gbz+3Hq4yStlTI7UxB4NBZigUzZjSJFFcwdzWtbGnio=";
+    sha256 = "sha256-v8eCCbSnAmJUmHSNS+lz8JRhDFrqyxgAkgcZ2bzfOTg=";
   };
 
   checkInputs = [
@@ -32,7 +34,9 @@ buildPythonPackage rec {
 
   __darwinAllowLocalNetworking = true;
 
-  pythonImportsCheck = [ "pypck" ];
+  pythonImportsCheck = [
+    "pypck"
+  ];
 
   meta = with lib; {
     description = "LCN-PCK library written in Python";
diff --git a/pkgs/development/python-modules/pyphen/default.nix b/pkgs/development/python-modules/pyphen/default.nix
index 74581ba7e33..7bb46b115e0 100644
--- a/pkgs/development/python-modules/pyphen/default.nix
+++ b/pkgs/development/python-modules/pyphen/default.nix
@@ -1,18 +1,24 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, flit
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pyphen";
-  version = "0.11.0";
+  version = "0.12.0";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e2c3ed82c3a04317df5102addafe89652b0876bc6c6265f5dd4c3efaf02315e8";
+    sha256 = "b7d3dfc24b6f2178cdb2b1757ace0bd5d222de3e62c28d22ac578c5f22a13e9b";
   };
 
+  nativeBuildInputs = [
+    flit
+  ];
+
   preCheck = ''
     sed -i '/addopts/d' pyproject.toml
   '';
diff --git a/pkgs/development/python-modules/pypinyin/default.nix b/pkgs/development/python-modules/pypinyin/default.nix
index 4cac927341d..210e6129199 100644
--- a/pkgs/development/python-modules/pypinyin/default.nix
+++ b/pkgs/development/python-modules/pypinyin/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "pypinyin";
-  version = "0.44.0";
+  version = "0.46.0";
 
   src = fetchFromGitHub {
     owner = "mozillazg";
     repo = "python-pinyin";
     rev = "v${version}";
-    sha256 = "sha256-LYiiZvpM/V3QRyTUXGWGnSnR0AnqWfTW0xJB4Vnw7lI=";
+    sha256 = "sha256-KPyFvO6TR0mg09xcraHFaWklJgzF5oqk3d8H+G4gh3I=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pypytools/default.nix b/pkgs/development/python-modules/pypytools/default.nix
new file mode 100644
index 00000000000..e88891172de
--- /dev/null
+++ b/pkgs/development/python-modules/pypytools/default.nix
@@ -0,0 +1,53 @@
+{ lib
+, buildPythonPackage
+, fetchpatch
+, fetchPypi
+, freezegun
+, numpy
+, py
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "pypytools";
+  version = "0.6.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-oUDAU+TRwLroNfQGYusAQKdRkHcazysqiDLfp77v5Sk=";
+  };
+
+  propagatedBuildInputs = [
+    py
+  ];
+
+  checkInputs = [
+    freezegun
+    numpy
+    pytestCheckHook
+  ];
+
+  patches = [
+    # Support for later Python releases, https://github.com/antocuni/pypytools/pull/2
+    (fetchpatch {
+      name = "support-later-python.patch";
+      url = "https://github.com/antocuni/pypytools/commit/c6aed496ec35a6ef7ce9e95084849eebc16bafef.patch";
+      sha256 = "sha256-YoYRZmgueQmxRtGaeP4zEVxuA0U7TB0PmoYHHVI7ICQ=";
+    })
+  ];
+
+  pythonImportsCheck = [
+    "pypytools"
+  ];
+
+  meta = with lib; {
+    description = "Collection of tools to use PyPy-specific features";
+    homepage = "https://github.com/antocuni/pypytools";
+    license = licenses.mit;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyqt/5.x.nix b/pkgs/development/python-modules/pyqt/5.x.nix
index f6b84972324..c604e61a2c3 100644
--- a/pkgs/development/python-modules/pyqt/5.x.nix
+++ b/pkgs/development/python-modules/pyqt/5.x.nix
@@ -7,6 +7,7 @@
 , lndir
 , dbus-python
 , sip
+, pyqt5_sip
 , pyqt-builder
 , libsForQt5
 , withConnectivity ? false
@@ -16,21 +17,7 @@
 , withLocation ? false
 }:
 
-let
-  pyqt5_sip = buildPythonPackage rec {
-    pname = "PyQt5_sip";
-    version = "12.9.0";
-
-    src = fetchPypi {
-      inherit pname version;
-      sha256 = "0cmfxb7igahxy74qkq199l6zdxrr75bnxris42fww3ibgjflir6k";
-    };
-
-    # There is no test code and the check phase fails with:
-    # > error: could not create 'PyQt5/sip.cpython-38-x86_64-linux-gnu.so': No such file or directory
-    doCheck = false;
-  };
-in buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "PyQt5";
   version = "5.15.4";
   format = "pyproject";
@@ -88,7 +75,7 @@ in buildPythonPackage rec {
   ];
 
   passthru = {
-    inherit sip;
+    inherit sip pyqt5_sip;
     multimediaEnabled = withMultimedia;
     webKitEnabled = withWebKit;
     WebSocketsEnabled = withWebSockets;
diff --git a/pkgs/development/python-modules/pyqt/sip.nix b/pkgs/development/python-modules/pyqt/sip.nix
new file mode 100644
index 00000000000..aa29d9ad9d3
--- /dev/null
+++ b/pkgs/development/python-modules/pyqt/sip.nix
@@ -0,0 +1,28 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "pyqt5-sip";
+  version = "12.9.1";
+
+  src = fetchPypi {
+    pname = "PyQt5_sip";
+    inherit version;
+    sha256 = "LyTymbRMURwjeWqvu7WBv96/eNCQVle3zuIUG0mCAw4=";
+  };
+
+  # There is no test code and the check phase fails with:
+  # > error: could not create 'PyQt5/sip.cpython-38-x86_64-linux-gnu.so': No such file or directory
+  doCheck = false;
+  pythonImportsCheck = ["PyQt5.sip"];
+
+  meta = with lib; {
+    description = "Python bindings for Qt5";
+    homepage    = "https://www.riverbankcomputing.com/software/sip/";
+    license     = licenses.gpl3Only;
+    platforms   = platforms.mesaPlatforms;
+    maintainers = with maintainers; [ sander ];
+  };
+}
diff --git a/pkgs/development/python-modules/pyquil/default.nix b/pkgs/development/python-modules/pyquil/default.nix
index f984bcc2dea..c1aa5d56040 100644
--- a/pkgs/development/python-modules/pyquil/default.nix
+++ b/pkgs/development/python-modules/pyquil/default.nix
@@ -1,10 +1,9 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , importlib-metadata
 , ipython
-, lark-parser
+, lark
 , networkx
 , numpy
 , poetry-core
@@ -23,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "pyquil";
-  version = "3.0.1";
+  version = "3.1.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -32,23 +31,15 @@ buildPythonPackage rec {
     owner = "rigetti";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-OU7/LjcpCxvqlcfdlm5ll4f0DYXf0yxNprM8Muu2wyg=";
+    sha256 = "sha256-ejfzxCf2NucK/hfzswHu3h4DPPZQY8vkMAQ51XDRWKU=";
   };
 
-  patches = [
-    (fetchpatch {
-      name = "pyquil-pr-1404-unpin-qcs-api-client-version-pyproject.patch";
-      url = "https://github.com/rigetti/pyquil/commit/2e35a4fdf65262fdf39c5091aeddfa3f3564925a.patch";
-      sha256 = "sha256-KGDNU2wpzsuifQSbbkoMwaFXspHW6zyIJ5GRZbw+lUY=";
-    })
-  ];
-
   nativeBuildInputs = [
     poetry-core
   ];
 
   propagatedBuildInputs = [
-    lark-parser
+    lark
     networkx
     numpy
     qcs-api-client
@@ -71,7 +62,7 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace 'lark = "^0.11.1"' 'lark-parser = ">=0.11.1"'
+      --replace 'lark = "^0.11.1"' 'lark = "*"'
   '';
 
   disabledTestPaths = [
@@ -92,9 +83,14 @@ buildPythonPackage rec {
   disabledTests = [
     "test_compile_with_quilt_calibrations"
     "test_sets_timeout_on_requests"
+    # sensitive to lark parser output
+    "test_memory_commands"
+    "test_classical"
   ];
 
-  pythonImportsCheck = [ "pyquil" ];
+  pythonImportsCheck = [
+    "pyquil"
+  ];
 
   meta = with lib; {
     description = "Python library for creating Quantum Instruction Language (Quil) programs";
diff --git a/pkgs/development/python-modules/pyrfxtrx/default.nix b/pkgs/development/python-modules/pyrfxtrx/default.nix
index 6b63ac8f9fe..7e1fb8876cb 100644
--- a/pkgs/development/python-modules/pyrfxtrx/default.nix
+++ b/pkgs/development/python-modules/pyrfxtrx/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "pyrfxtrx";
-  version = "0.27.0";
+  version = "0.27.1";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pyRFXtrx";
     rev = version;
-    sha256 = "0nzgy56b2v3bnn9idlb67qkzj4cj5j9v1436ri1y305fqwjy48nm";
+    hash = "sha256-JBU/ApBumdW87fQqMAopzv+UV0f6VsHMiyNqG7BRLgo=";
   };
 
   propagatedBuildInputs = [
@@ -24,6 +24,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTestPaths = [
+    # https://github.com/Danielhiversen/pyRFXtrx/issues/130
+    "tests/test_rollertrol.py"
+  ];
+
   meta = with lib; {
     description = "Library to communicate with the RFXtrx family of devices";
     homepage = "https://github.com/Danielhiversen/pyRFXtrx";
diff --git a/pkgs/development/python-modules/pyrogram/default.nix b/pkgs/development/python-modules/pyrogram/default.nix
index 982b83eb52b..b89b0dc0264 100644
--- a/pkgs/development/python-modules/pyrogram/default.nix
+++ b/pkgs/development/python-modules/pyrogram/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyrogram";
-  version = "1.3.7";
+  version = "1.4.7";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     pname = "Pyrogram";
     inherit version;
-    hash = "sha256-OwjlZIuwbrmaCe/2lz+flr8sAyJZYXixjhtPylgExKQ=";
+    hash = "sha256-2kBlTaP2tkUgP4TiP+9zv5pgCap9VnyB8BEHI6SY+uc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-core/default.nix b/pkgs/development/python-modules/pyroute2-core/default.nix
index fe92d88beae..d8820e6d9d0 100644
--- a/pkgs/development/python-modules/pyroute2-core/default.nix
+++ b/pkgs/development/python-modules/pyroute2-core/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pyroute2-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2-core";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "pyroute2.core";
     inherit version;
-    sha256 = "sha256-Jm10Dq5A+mTdBFQfAH0022ls7PMVTLpb4w+nWmfUOFI=";
+    hash = "sha256-N74cQcWx57lYIPiQTL+/Ec5Kf1rgdMrRkkYIdyaLjN4=";
   };
 
   # pyroute2 sub-modules have no tests
diff --git a/pkgs/development/python-modules/pyroute2-ethtool/default.nix b/pkgs/development/python-modules/pyroute2-ethtool/default.nix
index 6f269550786..fe4eac24870 100644
--- a/pkgs/development/python-modules/pyroute2-ethtool/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ethtool/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pyroute2-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2-ethtool";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "pyroute2.ethtool";
     inherit version;
-    sha256 = "sha256-yvgBS2dlIRNcR2DXLPWu72q7x/onUhD36VMzBzzHcVo=";
+    hash = "sha256-jwPg7xcmQU3F4cVrs2GVUxBXV6waMkrnmyZkHo2kLR0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-ipdb/default.nix b/pkgs/development/python-modules/pyroute2-ipdb/default.nix
index 7411f49cb52..cb40f0b4eff 100644
--- a/pkgs/development/python-modules/pyroute2-ipdb/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ipdb/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pyroute2-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2-ipdb";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "pyroute2.ipdb";
     inherit version;
-    sha256 = "sha256-8gKP0QE9iviIFQ0DPuz3U3ZXpL434MzOqYAICZYetXc=";
+    hash = "sha256-uMEPUleEBIaIV4bCejTmeHYhKeaN9SNcUMzBAODNBEU=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-ipset/default.nix b/pkgs/development/python-modules/pyroute2-ipset/default.nix
index 5ab21f8f22c..300b1d21fa1 100644
--- a/pkgs/development/python-modules/pyroute2-ipset/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ipset/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pyroute2-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2-ipset";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "pyroute2.ipset";
     inherit version;
-    sha256 = "sha256-rlJ8D5mXSCMKH2iNmit8JXst9tdDafROylMNAHeTt50=";
+    hash = "sha256-roNLNXmnW27a+TgxtMi8HO5hF4agxdjQ0DMsYW6O44c=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-ndb/default.nix b/pkgs/development/python-modules/pyroute2-ndb/default.nix
index 7caa902dfa7..2564e460119 100644
--- a/pkgs/development/python-modules/pyroute2-ndb/default.nix
+++ b/pkgs/development/python-modules/pyroute2-ndb/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pyroute2-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2-ndb";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "pyroute2.ndb";
     inherit version;
-    sha256 = "sha256-pNMJWE6e9seEKvT4MrSPxTRKsiXnDjhLrtG3/iuU2fg=";
+    hash = "sha256-o/rmbOwfRUPw/g1Cc/5otqKvGe3Br3y4iSXad/PfTPw=";
   };
 
   propagatedBuildInputs = [
@@ -21,7 +25,9 @@ buildPythonPackage rec {
   # pyroute2 sub-modules have no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "pr2modules.ndb" ];
+  pythonImportsCheck = [
+    "pr2modules.ndb"
+  ];
 
   meta = with lib; {
     description = "NDB module for pyroute2";
diff --git a/pkgs/development/python-modules/pyroute2-nftables/default.nix b/pkgs/development/python-modules/pyroute2-nftables/default.nix
index ec5ada77dd2..6b0b4bc35c9 100644
--- a/pkgs/development/python-modules/pyroute2-nftables/default.nix
+++ b/pkgs/development/python-modules/pyroute2-nftables/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pyroute2-nftables";
-  version = "0.6.5";
+  version = "0.6.7";
 
   src = fetchPypi {
     pname = "pyroute2.nftables";
     inherit version;
-    sha256 = "sha256-sUVaY6PvwFDRCNVQ0cr9AR7d7W6JTZnnvfoC1ZK/bxY=";
+    sha256 = "sha256-d9LdXxBQGa40MmGuK2cFOOEI7X4Y1pPv0ObW9n7ZUjo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-nslink/default.nix b/pkgs/development/python-modules/pyroute2-nslink/default.nix
index 722ea0a12f9..0050c4aa795 100644
--- a/pkgs/development/python-modules/pyroute2-nslink/default.nix
+++ b/pkgs/development/python-modules/pyroute2-nslink/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pyroute2-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2-nslink";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "pyroute2.nslink";
     inherit version;
-    sha256 = "sha256-KS5sKDKnNUTBxtW6cn9xF6qEflX4jXjpS31GB7KZmZ4=";
+    hash = "sha256-p+U3Y5vKCxuvMl/yNKlay57tlU4GKttCJrAwctKa5TY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2-protocols/default.nix b/pkgs/development/python-modules/pyroute2-protocols/default.nix
index ec3226f0cd9..39308e162e2 100644
--- a/pkgs/development/python-modules/pyroute2-protocols/default.nix
+++ b/pkgs/development/python-modules/pyroute2-protocols/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , pyroute2-core
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2-protocols";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "pyroute2.protocols";
     inherit version;
-    sha256 = "sha256-lj9Q8ew+44m+Y72miQyuZhzjHmdLqYB+c2FK+ph1d84=";
+    hash = "sha256-GdququbQcU+exzxifb8UGamkSUMhR94j+auF8I6e7/Q=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyroute2/default.nix b/pkgs/development/python-modules/pyroute2/default.nix
index 9afea342e6d..1fda8265428 100644
--- a/pkgs/development/python-modules/pyroute2/default.nix
+++ b/pkgs/development/python-modules/pyroute2/default.nix
@@ -1,6 +1,7 @@
 { lib
 , buildPythonPackage
 , fetchPypi
+, importlib-metadata
 , mitogen
 , pyroute2-core
 , pyroute2-ethtool
@@ -9,15 +10,19 @@
 , pyroute2-ndb
 , pyroute2-nftables
 , pyroute2-nslink
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyroute2";
-  version = "0.6.5";
+  version = "0.6.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-0JlciuuWwOTu1NYul8nXlQAKGjO3R9bcVDJmZYV88Rw=";
+    hash = "sha256-qBv9jshyg0S9IThdrXHTFcb2neQPDmURmtSbqYCKlWo=";
   };
 
   propagatedBuildInputs = [
@@ -29,18 +34,22 @@ buildPythonPackage rec {
     pyroute2-ndb
     pyroute2-nftables
     pyroute2-nslink
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
   ];
 
   # Requires root privileges, https://github.com/svinota/pyroute2/issues/778
   doCheck = false;
 
-  pythonImportsCheck = [ "pyroute2" ];
+  pythonImportsCheck = [
+    "pyroute2"
+  ];
 
   meta = with lib; {
     description = "Python Netlink library";
     homepage = "https://github.com/svinota/pyroute2";
     license = licenses.asl20;
-    maintainers = with maintainers; [ mic92 ];
+    maintainers = with maintainers; [ fab mic92 ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/python-modules/pysaml2/default.nix b/pkgs/development/python-modules/pysaml2/default.nix
index bc21b0a309d..e658ca40be7 100644
--- a/pkgs/development/python-modules/pysaml2/default.nix
+++ b/pkgs/development/python-modules/pysaml2/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "pysaml2";
-  version = "7.1.0";
+  version = "7.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "IdentityPython";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3Yl6j6KAlw7QQYnwU7+naY6D97IqX766zguekKAuic8=";
+    sha256 = "sha256-uRfcn3nCK+tx6ol6ZFarOSrDOh0cfC9gZXBZ7EICQzw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pysatochip/default.nix b/pkgs/development/python-modules/pysatochip/default.nix
index 81c0d8bda20..8c1401c2a7c 100644
--- a/pkgs/development/python-modules/pysatochip/default.nix
+++ b/pkgs/development/python-modules/pysatochip/default.nix
@@ -12,12 +12,12 @@
 
 buildPythonPackage rec {
   pname = "pysatochip";
-  version = "0.14.1";
+  version = "0.14.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "eba800c82ea45e2524c0773a71c36e525d7c18148e6066e336950cef484555f5";
+    sha256 = "sha256-+Z3D6ITZouhLbEotvJ9MDfg6QOhjGVKrLi1QL1kOdkE=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/pysiaalarm/default.nix b/pkgs/development/python-modules/pysiaalarm/default.nix
index 2345529b118..c06e1ed32ac 100644
--- a/pkgs/development/python-modules/pysiaalarm/default.nix
+++ b/pkgs/development/python-modules/pysiaalarm/default.nix
@@ -4,7 +4,7 @@
 , fetchPypi
 , dataclasses-json
 , pycryptodome
-, setuptools
+, setuptools-scm
 , pytest-asyncio
 , pytest-cases
 , pytestCheckHook
@@ -28,10 +28,13 @@ buildPythonPackage rec {
       --replace "--cov pysiaalarm --cov-report term-missing" ""
   '';
 
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     dataclasses-json
     pycryptodome
-    setuptools
   ];
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/pysignalclirestapi/default.nix b/pkgs/development/python-modules/pysignalclirestapi/default.nix
new file mode 100644
index 00000000000..023b6dde3eb
--- /dev/null
+++ b/pkgs/development/python-modules/pysignalclirestapi/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, requests
+, future
+}:
+
+buildPythonPackage rec {
+  pname = "pysignalclirestapi";
+  version = "0.3.18";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "bbernhard";
+    repo = "pysignalclirestapi";
+    rev = version;
+    hash = "sha256-BF4BmnQVfrj7f0N+TN/d7GNuDTbDQfwsCkUn2pVmMWo=";
+  };
+
+  propagatedBuildInputs = [
+    requests
+    future
+  ];
+
+  # upstream has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "pysignalclirestapi" ];
+
+  meta = with lib; {
+    description = "Small python library for the Signal Cli REST API";
+    homepage = "https://github.com/bbernhard/pysignalclirestapi";
+    license = licenses.mit;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/pysimplegui/default.nix b/pkgs/development/python-modules/pysimplegui/default.nix
index ecc396d1b0f..d645a068d29 100644
--- a/pkgs/development/python-modules/pysimplegui/default.nix
+++ b/pkgs/development/python-modules/pysimplegui/default.nix
@@ -7,7 +7,7 @@
 
 buildPythonPackage rec {
   pname = "pysimplegui";
-  version = "4.56.0";
+  version = "4.57.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -15,7 +15,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "PySimpleGUI";
     inherit version;
-    sha256 = "1a13a19282f92626cc6a823cbe9f4aa08aa558870f03441a1c4e8b6cef27c9d5";
+    sha256 = "sha256-+Dcrv+esnthI74AFLK47sS2qI4sPvihuQlL54Zo32RM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyskyqremote/default.nix b/pkgs/development/python-modules/pyskyqremote/default.nix
index 85fc1846369..a971751c9ea 100644
--- a/pkgs/development/python-modules/pyskyqremote/default.nix
+++ b/pkgs/development/python-modules/pyskyqremote/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyskyqremote";
-  version = "0.2.54";
+  version = "0.3.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "RogerSelwyn";
     repo = "skyq_remote";
     rev = version;
-    sha256 = "sha256-Z3fcihyK8QHtdREXWt2ESqjwAwxFZFEI9OXf3Y9onmw=";
+    sha256 = "sha256-R/HmkVbVKbO54lDSw1tLYs2mXi/XqZX9GGXozv+96iI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyswitchbot/default.nix b/pkgs/development/python-modules/pyswitchbot/default.nix
index 96037d51283..38e7e2733ea 100644
--- a/pkgs/development/python-modules/pyswitchbot/default.nix
+++ b/pkgs/development/python-modules/pyswitchbot/default.nix
@@ -2,18 +2,21 @@
 , bluepy
 , buildPythonPackage
 , fetchFromGitHub
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pyswitchbot";
-  version = "0.13.2";
+  version = "0.13.3";
   format = "setuptools";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pySwitchbot";
     rev = version;
-    sha256 = "0pdmssd5dr364p3lrkxqryjc0rbaw6xp724zwqf3i87qs6ljs928";
+    hash = "sha256-Zgpnw4It3yyy9RQqt5SxeJXl1Z3J3Rp9baLfiw5Bgow=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-arraydiff/default.nix b/pkgs/development/python-modules/pytest-arraydiff/default.nix
index bfbec757b1d..95e22510d8a 100644
--- a/pkgs/development/python-modules/pytest-arraydiff/default.nix
+++ b/pkgs/development/python-modules/pytest-arraydiff/default.nix
@@ -2,35 +2,48 @@
 , buildPythonPackage
 , fetchPypi
 , numpy
-, six
 , pytest
+, pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pytest-arraydiff";
-  version = "0.3";
+  version = "0.5.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "de2d62f53ecc107ed754d70d562adfa7573677a263216a7f19aa332f20dc6c15";
+    sha256 = "714149beffd0dfa085477c65791c1139b619602b049536353ce1a91397fb3bd2";
   };
 
-  buildInputs = [ pytest ];
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    pytest
+  ];
 
   propagatedBuildInputs = [
     numpy
-    six
   ];
 
-  # The tests requires astropy, which itself requires
-  # pytest-arraydiff. This causes an infinite recursion if the tests
-  # are enabled.
+  # The tests requires astropy, which itself requires pytest-arraydiff
   doCheck = false;
 
+  pythonImportsCheck = [
+    "pytest_arraydiff"
+  ];
+
   meta = with lib; {
     description = "Pytest plugin to help with comparing array output from tests";
     homepage = "https://github.com/astrofrog/pytest-arraydiff";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-asyncio/default.nix b/pkgs/development/python-modules/pytest-asyncio/default.nix
index 4059a3c12fb..6401e1ce2c9 100644
--- a/pkgs/development/python-modules/pytest-asyncio/default.nix
+++ b/pkgs/development/python-modules/pytest-asyncio/default.nix
@@ -1,15 +1,17 @@
 { lib
 , buildPythonPackage
 , fetchFromGitHub
+, flaky
 , hypothesis
 , pytest
 , pytestCheckHook
 , pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "pytest-asyncio";
-  version = "0.16.0";
+  version = "0.17.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,14 +20,21 @@ buildPythonPackage rec {
     owner = "pytest-dev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4zMbzdDtiLRKo5C12wZRoBNguXLn3f26NuDwQ+pHA0I=";
+    sha256 = "sha256-4wDXvO6pDK0dQLnyfJTTa+GXf9Qtsi6ywYDUIdhkgGo=";
   };
 
-  buildInputs = [
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = [
     pytest
   ];
 
   checkInputs = [
+    flaky
     hypothesis
     pytestCheckHook
   ];
diff --git a/pkgs/development/python-modules/pytest-bdd/default.nix b/pkgs/development/python-modules/pytest-bdd/default.nix
index b087cd6f459..6ca95bca4c0 100644
--- a/pkgs/development/python-modules/pytest-bdd/default.nix
+++ b/pkgs/development/python-modules/pytest-bdd/default.nix
@@ -1,4 +1,6 @@
-{ lib, buildPythonPackage, fetchFromGitHub, fetchpatch
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , execnet
 , glob2
 , Mako
@@ -8,41 +10,51 @@
 , py
 , pytest
 , pytestCheckHook
-, six
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-bdd";
-  version = "4.0.2";
+  version = "5.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
-  # tests are not included in pypi tarball
   src = fetchFromGitHub {
     owner = "pytest-dev";
     repo = pname;
     rev = version;
-    sha256 = "0pxx4c8lm68rw0jshbr09fnadg8zz8j73q0qi49yw9s7yw86bg5l";
+    sha256 = "sha256-3P9ongMAsLITOCRPmME492xnkdVc8IdOVrINK57gfOY=";
   };
 
-  patches = [
-    # Fixed compatibility with pytest > 6.1
-    (fetchpatch {
-      url = "https://github.com/pytest-dev/pytest-bdd/commit/e1dc0cad9a1c1ba563ccfbc24f9993d83ac59293.patch";
-      sha256 = "1p3gavh6nir2a8crd5wdf0prfrg0hmgar9slvn8a21ils3k5pm5y";
-    })
+  buildInputs = [
+    pytest
   ];
 
+  propagatedBuildInputs = [
+    glob2
+    Mako
+    parse
+    parse-type
+    py
+  ];
 
-  buildInputs = [ pytest ];
-
-  propagatedBuildInputs = [ glob2 Mako parse parse-type py six ];
+  checkInputs = [
+    pytestCheckHook
+    execnet
+    mock
+  ];
 
-  checkInputs = [ pytestCheckHook execnet mock ];
   preCheck = ''
     export PATH=$PATH:$out/bin
   '';
 
+  pythonImportsCheck = [
+    "pytest_bdd"
+  ];
+
   meta = with lib; {
-    description = "BDD library for the py.test runner";
+    description = "BDD library for the pytest";
     homepage = "https://github.com/pytest-dev/pytest-bdd";
     license = licenses.mit;
     maintainers = with maintainers; [ jm2dev ];
diff --git a/pkgs/development/python-modules/pytest-cases/default.nix b/pkgs/development/python-modules/pytest-cases/default.nix
index c3374032d33..766e0754387 100644
--- a/pkgs/development/python-modules/pytest-cases/default.nix
+++ b/pkgs/development/python-modules/pytest-cases/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-cases";
-  version = "3.6.8";
+  version = "3.6.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d423e87b30e1080cc162d86c72bfa35861cccfe3539125e81c68ba142ab974bc";
+    sha256 = "sha256-Bf9favhlHcGj8nf1JxTkMjpo8hMyfBHgMCilOcIL2Sk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-celery/default.nix b/pkgs/development/python-modules/pytest-celery/default.nix
index 77de2d9698b..9efd9f49f2b 100644
--- a/pkgs/development/python-modules/pytest-celery/default.nix
+++ b/pkgs/development/python-modules/pytest-celery/default.nix
@@ -1,21 +1,30 @@
-{ lib, buildPythonPackage, fetchPypi }:
+{ lib, buildPythonPackage, fetchFromGitHub }:
 
 buildPythonPackage rec {
   pname = "pytest-celery";
-  version = "0.0.0";
+  version = "0.1.0";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "cfd060fc32676afa1e4f51b2938f903f7f75d952186b8c6cf631628c4088f406";
+  format = "flit";
+
+  src = fetchFromGitHub {
+    owner = "celery";
+    repo = "pytest-celery";
+    rev = "v${version}";
+    sha256 = "sha256-vzWwkOS3BLOInaFDk+PegvEmC88ZZ1sG1CmHwhn7r9w=";
   };
 
-  patches = [ ./no-celery.patch ];
+  postPatch = ''
+    # avoid infinite recursion with celery
+    substituteInPlace pyproject.toml \
+      --replace '"celery >= 4.4.0"' ""
+  '';
 
-  doCheck = false; # This package has nothing to test or import.
+  # This package has nothing to test or import.
+  doCheck = false;
 
   meta = with lib; {
-    description = "pytest plugin for unittest subTest() support and subtests fixture";
-    homepage = "https://github.com/pytest-dev/pytest-subtests";
+    description = "Pytest plugin to enable celery.contrib.pytest";
+    homepage = "https://github.com/celery/pytest-celery";
     license = licenses.mit;
     maintainers = [ ];
   };
diff --git a/pkgs/development/python-modules/pytest-celery/no-celery.patch b/pkgs/development/python-modules/pytest-celery/no-celery.patch
deleted file mode 100644
index 65337489883..00000000000
--- a/pkgs/development/python-modules/pytest-celery/no-celery.patch
+++ /dev/null
@@ -1,9 +0,0 @@
-This plugin is needed to test celery itself, so it can't depend on celery.
-
---- a/setup.py
-+++ b/setup.py
-@@ -6,3 +6,3 @@ from distutils.core import setup
- install_requires = \
--['celery >= 4.4.0']
-+[]
- 
diff --git a/pkgs/development/python-modules/pytest-click/default.nix b/pkgs/development/python-modules/pytest-click/default.nix
index 887fe7fe7b5..82e6409c9b7 100644
--- a/pkgs/development/python-modules/pytest-click/default.nix
+++ b/pkgs/development/python-modules/pytest-click/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-click";
-  version = "1.0.2";
+  version = "1.1.0";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "Stranger6667";
     repo = "pytest-click";
     rev = "v${version}";
-    sha256 = "197nvlqlyfrqpy5lrkmfh1ywpr6j9zipxl9d7syg2a2n7jz3a8rj";
+    sha256 = "sha256-A/RF+SgPu2yYF3eHEFiZwKJW2VwQ185Ln6S3wn2cS0k=";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pytest-console-scripts/default.nix b/pkgs/development/python-modules/pytest-console-scripts/default.nix
index 609ed9cc343..6bc6fb22b03 100644
--- a/pkgs/development/python-modules/pytest-console-scripts/default.nix
+++ b/pkgs/development/python-modules/pytest-console-scripts/default.nix
@@ -5,28 +5,41 @@
 , python
 , mock
 , setuptools-scm
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "pytest-console-scripts";
-  version = "1.2.2";
+  version = "1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "caeaaaf57f3a99e4482127e8a18467a1cfd49c92f4b37e5578d0bc40bf1b3394";
+    hash = "sha256-w8rb9nz7MKHrHMHp5py23kTDpkhCbxub9j6F2XNX/H8=";
   };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
   postPatch = ''
-    # setuptools-scm is pinned to <6 because it dropped Python 3.5
-    # support.  That's not something that affects us.
-    substituteInPlace setup.py --replace "'setuptools_scm<6'" "'setuptools_scm'"
     # Patch the shebang of a script generated during test.
-    substituteInPlace tests/test_run_scripts.py --replace "#!/usr/bin/env python" "#!${python.interpreter}"
+    substituteInPlace tests/test_run_scripts.py \
+      --replace "#!/usr/bin/env python" "#!${python.interpreter}"
   '';
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
-  nativeBuildInputs = [ setuptools-scm ];
-
-  checkInputs = [ mock pytestCheckHook ];
+  pythonImportsCheck = [
+    "pytest_console_scripts"
+  ];
 
   meta = with lib; {
     description = "Pytest plugin for testing console scripts";
diff --git a/pkgs/development/python-modules/pytest-cov/default.nix b/pkgs/development/python-modules/pytest-cov/default.nix
index 87f5972a747..971b12dc01c 100644
--- a/pkgs/development/python-modules/pytest-cov/default.nix
+++ b/pkgs/development/python-modules/pytest-cov/default.nix
@@ -4,20 +4,21 @@
 , pytest
 , coverage
 , toml
+, tomli
 }:
 
 buildPythonPackage rec {
   pname = "pytest-cov";
-  version = "2.12.1";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1mzl06m8qcgsac1r2krixrkqdwq0nqk8asrpkcj2ddr7qawfw716";
+    sha256 = "e7f0f5b1617d2210a2cabc266dfe2f4c75a8d32fb89eafb7ad9d06f6d076d470";
   };
 
   buildInputs = [ pytest ];
 
-  propagatedBuildInputs = [ coverage toml ];
+  propagatedBuildInputs = [ coverage toml tomli ];
 
   # xdist related tests fail with the following error
   # OSError: [Errno 13] Permission denied: 'py/_code'
diff --git a/pkgs/development/python-modules/pytest-django/default.nix b/pkgs/development/python-modules/pytest-django/default.nix
index d3b2bc66aae..c4668def279 100644
--- a/pkgs/development/python-modules/pytest-django/default.nix
+++ b/pkgs/development/python-modules/pytest-django/default.nix
@@ -10,11 +10,11 @@
 }:
 buildPythonPackage rec {
   pname = "pytest-django";
-  version = "4.5.1";
+  version = "4.5.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "01fe1242e706375d7c942d206a30826bd9c0dffde99bfac627050cdc91f0d792";
+    sha256 = "d9076f759bb7c36939dbdd5ae6633c18edfc2902d1a69fdbefd2426b970ce6c2";
   };
 
   nativeBuildInputs = [ pytest setuptools-scm ];
diff --git a/pkgs/development/python-modules/pytest-httpbin/default.nix b/pkgs/development/python-modules/pytest-httpbin/default.nix
index 836da1e157f..0069eb6f179 100644
--- a/pkgs/development/python-modules/pytest-httpbin/default.nix
+++ b/pkgs/development/python-modules/pytest-httpbin/default.nix
@@ -1,35 +1,46 @@
-{ buildPythonPackage
-, lib
-, fetchPypi
-, pytest
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
 , httpbin
+, pytest
+, pytestCheckHook
+, requests
 , six
 }:
 
 buildPythonPackage rec {
   pname = "pytest-httpbin";
-  version = "1.0.0";
+  version = "1.0.1";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "0wlvw5qgkax7f0i5ks1562s37h2hdmn5yxnp1rajcc2289zm9knq";
+  src = fetchFromGitHub {
+    owner = "kevin1024";
+    repo = "pytest-httpbin";
+    rev = "v${version}";
+    hash = "sha256-Vngd8Vum96+rdG8Nz1+aHrO6WZjiAz+0CeIovaH8N+s=";
   };
 
-  checkInputs = [ pytest ];
+  buildInputs = [
+    pytest
+  ];
 
-  propagatedBuildInputs = [ httpbin six ];
+  propagatedBuildInputs = [
+    httpbin
+    six
+  ];
 
-  checkPhase = ''
-    py.test
-  '';
+  checkInputs = [
+    pytestCheckHook
+    requests
+  ];
 
-  # https://github.com/kevin1024/pytest-httpbin/pull/51
-  doCheck = false;
+  pythonImportsCheck = [
+    "pytest_httpbin"
+  ];
 
-  meta = {
-    description = "Easily test your HTTP library against a local copy of httpbin.org";
+  meta = with lib; {
+    description = "Test your HTTP library against a local copy of httpbin.org";
     homepage = "https://github.com/kevin1024/pytest-httpbin";
-    license = lib.licenses.mit;
+    license = licenses.mit;
+    maintainers = with maintainers; [ ];
   };
 }
-
diff --git a/pkgs/development/python-modules/pytest-localserver/default.nix b/pkgs/development/python-modules/pytest-localserver/default.nix
index e5008af9ef2..e3823c18d89 100644
--- a/pkgs/development/python-modules/pytest-localserver/default.nix
+++ b/pkgs/development/python-modules/pytest-localserver/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-localserver";
-  version = "0.5.1";
+  version = "0.5.1.post0";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "ef6f04193dc0f7e8df5b27b3a8834318fa12eaf025436d2a99afff1b73cde761";
+    sha256 = "5ec7f8e6534cf03887af2cb59e577f169ac0e8b2fd2c3e3409280035f386d407";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-mock/default.nix b/pkgs/development/python-modules/pytest-mock/default.nix
index a8127e276f4..7f07ed2b6dd 100644
--- a/pkgs/development/python-modules/pytest-mock/default.nix
+++ b/pkgs/development/python-modules/pytest-mock/default.nix
@@ -22,6 +22,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # output of pytest has changed
+    "test_used_with_"
+    "test_plain_stopall"
+  ];
+
   pythonImportsCheck = [ "pytest_mock" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
index 38b2168e13f..806c12c0e4f 100644
--- a/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
+++ b/pkgs/development/python-modules/pytest-mypy-plugins/default.nix
@@ -1,27 +1,57 @@
 { lib
 , buildPythonPackage
-, fetchFromGitHub
 , chevron
-, pyyaml
+, decorator
+, fetchFromGitHub
 , mypy
 , pytest
-, decorator
+, pytestCheckHook
+, pythonOlder
+, pyyaml
 , regex
 }:
 
 buildPythonPackage rec {
   pname = "pytest-mypy-plugins";
-  version = "1.9.2";
+  version = "1.9.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
   src = fetchFromGitHub {
     owner = "typeddjango";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Me5P4Q2M+gGEWlUVgQ0L048rVUOlUzVMgZZcqZPeE4Q=";
+    sha256 = "sha256-4hG3atahb+dH2dRGAxguJW3vvEf0TUGUJ3G5ymrf3Vg=";
   };
-  propagatedBuildInputs = [ chevron pyyaml mypy pytest decorator regex ];
+
+  buildInputs = [
+    pytest
+  ];
+
+  propagatedBuildInputs = [
+    chevron
+    pyyaml
+    mypy
+    decorator
+    regex
+  ];
+
+  checkInputs = [
+    mypy
+    pytestCheckHook
+  ];
+
+  preCheck = ''
+    export PATH="$PATH:$out/bin";
+  '';
+
+  pythonImportsCheck = [
+    "pytest_mypy_plugins"
+  ];
 
   meta = with lib; {
-    description = "pytest plugin for testing mypy types, stubs, and plugins";
+    description = "Pytest plugin for testing mypy types, stubs, and plugins";
     homepage = "https://github.com/TypedDjango/pytest-mypy-plugins";
     license = licenses.mit;
     maintainers = with maintainers; [ SomeoneSerge ];
diff --git a/pkgs/development/python-modules/pytest-pythonpath/default.nix b/pkgs/development/python-modules/pytest-pythonpath/default.nix
index 117471aa8df..8c3fb48b430 100644
--- a/pkgs/development/python-modules/pytest-pythonpath/default.nix
+++ b/pkgs/development/python-modules/pytest-pythonpath/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "pytest-pythonpath";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0qhxh0z2b3p52v3i0za9mrmjnb1nlvvyi2g23rf88b3xrrm59z33";
+    sha256 = "sha256-ZOGVsjqPjAxjH7Fogtmtb6QTftHylh3dFdUgZc1DXbY=";
   };
 
   buildInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/pytest-raisin/default.nix b/pkgs/development/python-modules/pytest-raisin/default.nix
index 7412928062d..1dc250da2ac 100644
--- a/pkgs/development/python-modules/pytest-raisin/default.nix
+++ b/pkgs/development/python-modules/pytest-raisin/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-raisin";
-  version = "0.3";
+  version = "0.4";
   format = "flit";
 
   src = fetchFromGitHub {
     owner = "wimglenn";
     repo = "pytest-raisin";
     rev = "v${version}";
-    sha256 = "73cOrsqlE04m6X3a6VwtRzfi24oqkdO3HjKQH61bU88=";
+    sha256 = "sha256-BI0SWy671DYDTPH4iO811ku6SzpH4ho7eQFUA8PmxW8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pytest-randomly/default.nix b/pkgs/development/python-modules/pytest-randomly/default.nix
index a2fe0c6f25c..5aae59bc605 100644
--- a/pkgs/development/python-modules/pytest-randomly/default.nix
+++ b/pkgs/development/python-modules/pytest-randomly/default.nix
@@ -12,16 +12,16 @@
 
 buildPythonPackage rec {
   pname = "pytest-randomly";
-  version = "3.10.3";
+  version = "3.11.0";
   format = "setuptools";
 
-  disabled = pythonOlder "3.6";
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     repo = pname;
     owner = "pytest-dev";
     rev = version;
-    sha256 = "sha256-NoYpMpFWz52Z0+KIUumUFp3xMPA1jGw8COojU+bsgHc=";
+    hash = "sha256-NoYpMpFWz52Z0+KIUumUFp3xMPA1jGw8COojU+bsgHc=";
   };
 
   propagatedBuildInputs = lib.optionals (pythonOlder "3.10") [
@@ -49,7 +49,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Pytest plugin to randomly order tests and control random.seed";
     homepage = "https://github.com/pytest-dev/pytest-randomly";
-    license = licenses.bsd3;
+    license = licenses.mit;
     maintainers = with maintainers; [ sternenseemann ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-regressions/default.nix b/pkgs/development/python-modules/pytest-regressions/default.nix
index 90b72c886ea..6866df7b712 100644
--- a/pkgs/development/python-modules/pytest-regressions/default.nix
+++ b/pkgs/development/python-modules/pytest-regressions/default.nix
@@ -1,6 +1,5 @@
 { lib
 , buildPythonPackage
-, fetchpatch
 , fetchPypi
 , pythonOlder
 , matplotlib
@@ -16,33 +15,44 @@
 
 buildPythonPackage rec {
   pname = "pytest-regressions";
-  version = "2.2.0";
+  version = "2.3.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "15a71f77cb266dd4ca94331abe4c339ad056b2b2175e47442711c98cf6d65716";
+    sha256 = "sha256-STWtZzbvhQ0NsSvl7jh0CjmYjmtRA/LTUQAAaze5Tg4=";
   };
 
-  patches = [
-    # Make pytest-regressions compatible with NumPy 1.20.
-    # Should be part of the next release.
-    (fetchpatch {
-      url = "https://github.com/ESSS/pytest-regressions/commit/ffad2c7fd1d110f420f4e3ca3d39d90cae18a972.patch";
-      sha256 = "sha256-bUna7MnMV6u9oEaZMsFnr4gE28rz/c0O2+Hyk291+l0=";
-    })
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
   ];
 
-  nativeBuildInputs = [ setuptools-scm ];
-  buildInputs = [ pytest ];
-  propagatedBuildInputs = [ numpy pandas pillow pytest-datadir pyyaml ];
+  buildInputs = [
+    pytest
+  ];
 
-  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+  propagatedBuildInputs = [
+    numpy
+    pandas
+    pillow
+    pytest-datadir
+    pyyaml
+  ];
 
-  checkInputs = [ pytestCheckHook matplotlib ];
-  pythonImportsCheck = [ "pytest_regressions" "pytest_regressions.plugin" ];
+
+  checkInputs = [
+    pytestCheckHook
+    matplotlib
+  ];
+
+  pythonImportsCheck = [
+    "pytest_regressions"
+    "pytest_regressions.plugin"
+  ];
 
   meta = with lib; {
     description = "Pytest fixtures to write regression tests";
diff --git a/pkgs/development/python-modules/pytest-remotedata/default.nix b/pkgs/development/python-modules/pytest-remotedata/default.nix
index fb91f461329..fc9b5e6f9c1 100644
--- a/pkgs/development/python-modules/pytest-remotedata/default.nix
+++ b/pkgs/development/python-modules/pytest-remotedata/default.nix
@@ -1,38 +1,54 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, six
 , pytest
+, pytestCheckHook
+, pythonOlder
+, setuptools-scm
+, six
 }:
 
 buildPythonPackage rec {
   pname = "pytest-remotedata";
-  version = "0.3.2";
+  version = "0.3.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e20c58d4b7c359c4975dc3c3d3d67be0905180d2368be0be3ae09b15a136cfc0";
+    sha256 = "66920bf1c62928b079d0e611379111a0d49f10a9509ced54c8269514ccce6ee3";
   };
 
-  buildInputs = [ pytest ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
+  buildInputs = [
+    pytest
+  ];
 
   propagatedBuildInputs = [
     six
   ];
 
   checkInputs = [
-    pytest
+    pytestCheckHook
   ];
 
-  checkPhase = ''
-    # these tests require a network connection
-    pytest --ignore tests/test_strict_check.py
-  '';
+  disabledTestPaths = [
+    # These tests require a network connection
+    "tests/test_strict_check.py"
+  ];
+
+  pythonImportsCheck = [
+    "pytest_remotedata"
+  ];
 
   meta = with lib; {
     description = "Pytest plugin for controlling remote data access";
-    homepage = "https://astropy.org";
+    homepage = "https://github.com/astropy/pytest-remotedata";
     license = licenses.bsd3;
-    maintainers = [ maintainers.costrouc ];
+    maintainers = with maintainers; [ costrouc ];
   };
 }
diff --git a/pkgs/development/python-modules/pytest-snapshot/default.nix b/pkgs/development/python-modules/pytest-snapshot/default.nix
index cb58e101be7..34833bcc30a 100644
--- a/pkgs/development/python-modules/pytest-snapshot/default.nix
+++ b/pkgs/development/python-modules/pytest-snapshot/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "pytest-snapshot";
-  version = "0.8.0";
+  version = "0.8.1";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "joseph-roitman";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xnfsB4wmsvqq5FfhLasSpxZh7+vhQsND6+Lxu0OuCvs=";
+    sha256 = "sha256-ymB9h3Mc6GSMRsxIh6uuf111qLvIkNAnFsxR6O2SF7s=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pytest-subprocess/default.nix b/pkgs/development/python-modules/pytest-subprocess/default.nix
index f095cbb9973..cc890096f79 100644
--- a/pkgs/development/python-modules/pytest-subprocess/default.nix
+++ b/pkgs/development/python-modules/pytest-subprocess/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pytest-subprocess";
-  version = "1.4.0";
+  version = "1.4.1";
 
   disabled = pythonOlder "3.6";
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "aklajnert";
     repo = "pytest-subprocess";
     rev = version;
-    hash = "sha256-+bsxoOsY0yf77EivImrfqxgVW0T/VnFIJXvy8X5pmEY=";
+    hash = "sha256-xNkOXBCQ4AH/JVmxFzI3VSouA6jkCbUom7AdckfjGiE=";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/pytest-subtests/default.nix b/pkgs/development/python-modules/pytest-subtests/default.nix
index 6b556abeaa4..d5e379b524d 100644
--- a/pkgs/development/python-modules/pytest-subtests/default.nix
+++ b/pkgs/development/python-modules/pytest-subtests/default.nix
@@ -8,22 +8,30 @@
 
 buildPythonPackage rec {
   pname = "pytest-subtests";
-  version = "0.5.0";
-  disabled = pythonOlder "3.5";
+  version = "0.6.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5bd1e4bf0eda4c89a6cd42b0ee28e1d2ca0848de3fd67ad8cdd6d559ed00f120";
+    sha256 = "sha256-Pr0wao3PdRM/F0LyiMgvNkJuvPihMtTuiXgtIOhPwTo=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "pytest_subtests" ];
+  pythonImportsCheck = [
+    "pytest_subtests"
+  ];
 
   meta = with lib; {
-    description = "pytest plugin for unittest subTest() support and subtests fixture";
+    description = "Pytest plugin for unittest subTest() support and subtests fixture";
     homepage = "https://github.com/pytest-dev/pytest-subtests";
     license = licenses.mit;
     maintainers = with maintainers; [ fab ];
diff --git a/pkgs/development/python-modules/pytest-timeout/default.nix b/pkgs/development/python-modules/pytest-timeout/default.nix
index f504bd80868..f99340e48b3 100644
--- a/pkgs/development/python-modules/pytest-timeout/default.nix
+++ b/pkgs/development/python-modules/pytest-timeout/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "pytest-timeout";
-  version = "2.0.1";
+  version = "2.0.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-pexOzt246nJpEYSFk9ZoWUEH55diHpf5Oh0dvG+7kIA=";
+    sha256 = "e6f98b54dafde8d70e4088467ff621260b641eb64895c4195b6e5c8f45638112";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/python-dbusmock/default.nix b/pkgs/development/python-modules/python-dbusmock/default.nix
index d643603a067..60e6f2e7455 100644
--- a/pkgs/development/python-modules/python-dbusmock/default.nix
+++ b/pkgs/development/python-modules/python-dbusmock/default.nix
@@ -5,13 +5,13 @@
 
 buildPythonPackage rec {
   pname = "python-dbusmock";
-  version = "0.19";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "martinpitt";
     repo = pname;
     rev = version;
-    sha256 = "09j338lmrjabbd3fpajr4piz4r20sl33030szfsqfzlwrrmvkyi0";
+    sha256 = "0zg2aib0k6hc1vvlbdcmp003m85dvkv7pndzgkc4vv2y9qpi0jp9";
   };
 
   prePatch = ''
@@ -38,6 +38,10 @@ buildPythonPackage rec {
     "test_cli"
     "test_timedated"
     "test_upower"
+    # needs glib
+    "test_accounts_service"
+    # needs dbus-daemon active
+    "test_systemd"
     # Very slow, consider disabling?
     # "test_networkmanager"
   ];
diff --git a/pkgs/development/python-modules/python-http-client/default.nix b/pkgs/development/python-modules/python-http-client/default.nix
index 3a8ad2188fc..aa2c4d020e5 100644
--- a/pkgs/development/python-modules/python-http-client/default.nix
+++ b/pkgs/development/python-modules/python-http-client/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "python_http_client";
-  version = "3.3.5";
+  version = "3.3.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "sendgrid";
     repo = "python-http-client";
     rev = version;
-    sha256 = "sha256-VSrh6t9p7Xb8HqAwcuDSUD2Pj3NcXeg7ygKLG2MHFxk=";
+    sha256 = "sha256-Xchf/jVkQ7SYOzI9f81iS/G72k//6wkl2bMvHprOP9Y=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/python-i18n/default.nix b/pkgs/development/python-modules/python-i18n/default.nix
new file mode 100644
index 00000000000..8e7f8f880e2
--- /dev/null
+++ b/pkgs/development/python-modules/python-i18n/default.nix
@@ -0,0 +1,24 @@
+{ lib, buildPythonPackage, fetchFromGitHub, pytestCheckHook, pyyaml }:
+
+buildPythonPackage rec {
+  pname = "python-i18n";
+  version = "0.3.9";
+
+  src = fetchFromGitHub {
+    owner = "danhper";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "6FahoHZqaOWYGaT9RqLARCm2kLfUIlYuauB6+0eX7jA=";
+  };
+
+  checkInputs = [ pytestCheckHook pyyaml ];
+
+  pytestFlagsArray = [ "i18n/tests/run_tests.py" ];
+
+  meta = with lib; {
+    description = "Easy to use i18n library";
+    homepage = "https://github.com/danhper/python-i18n";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ emilytrau ];
+  };
+}
diff --git a/pkgs/development/python-modules/python-ipmi/default.nix b/pkgs/development/python-modules/python-ipmi/default.nix
index 7f8b8fe58a7..cbd68f38765 100644
--- a/pkgs/development/python-modules/python-ipmi/default.nix
+++ b/pkgs/development/python-modules/python-ipmi/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "python-ipmi";
-  version = "0.5.1";
+  version = "0.5.2";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "kontron";
     repo = pname;
     rev = version;
-    sha256 = "0rcix3q845zsmfj5857kq1r5b8m7m3sad34i23k65m0p58clwdqm";
+    sha256 = "sha256-VXWSoVRfgJWf9rOT4SE1mTJdeNmzR3TRc2pc6Pp1M5U=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-keycloak/default.nix b/pkgs/development/python-modules/python-keycloak/default.nix
index 8e436b4eb7e..6425869243e 100644
--- a/pkgs/development/python-modules/python-keycloak/default.nix
+++ b/pkgs/development/python-modules/python-keycloak/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "python-keycloak";
-  version = "0.26.1";
+  version = "0.27.0";
 
   src = fetchFromGitHub {
     owner = "marcospereirampj";
     repo = "python-keycloak";
     rev = version;
-    sha256 = "sha256-YWDj/dLN72XMxDXpSPQvkxHF5xJ15xWJjw3vtfmxlwo=";
+    sha256 = "sha256-XCOfzzUs0K5/peprgpEXY2pX6wYOF7hg9ec1XPEYHCI=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-magic/default.nix b/pkgs/development/python-modules/python-magic/default.nix
index d8a0f638d96..381ea671384 100644
--- a/pkgs/development/python-modules/python-magic/default.nix
+++ b/pkgs/development/python-modules/python-magic/default.nix
@@ -3,7 +3,6 @@
 , python
 , buildPythonPackage
 , fetchFromGitHub
-, fetchpatch
 , substituteAll
 , file
 , glibcLocales
@@ -11,23 +10,16 @@
 
 buildPythonPackage rec {
   pname = "python-magic";
-  version = "0.4.24";
+  version = "0.4.25";
 
   src = fetchFromGitHub {
     owner = "ahupp";
     repo = "python-magic";
     rev = version;
-    sha256 = "17jalhjbfd600lzfz296m0nvgp6c7vx1mgz82jbzn8hgdzknf4w0";
+    sha256 = "sha256-h7YQVH5Z7zunT6AdLPBh3TWpxLpZ5unSHDhkVDFOWDI=";
   };
 
   patches = [
-    # pull upstream patch to support file-5.41
-    (fetchpatch {
-      name = "file-5.41-compat.patch";
-      url = "https://github.com/ahupp/python-magic/commit/0ae7e7ceac0e80e03adc75c858bb378c0427331a.patch";
-      sha256 = "0vclaamb56nza1mcy88wjbkh81hnish2gzvl8visa2cknhgdmk50";
-    })
-
     (substituteAll {
       src = ./libmagic-path.patch;
       libmagic = "${file}/lib/libmagic${stdenv.hostPlatform.extensions.sharedLibrary}";
diff --git a/pkgs/development/python-modules/python-manilaclient/default.nix b/pkgs/development/python-modules/python-manilaclient/default.nix
index 21f29efb28f..a2da2e4f4a7 100644
--- a/pkgs/development/python-modules/python-manilaclient/default.nix
+++ b/pkgs/development/python-modules/python-manilaclient/default.nix
@@ -1,7 +1,9 @@
 { lib
 , buildPythonApplication
 , fetchPypi
+, installShellFiles
 , pbr
+, openstackdocstheme
 , oslo-config
 , oslo-log
 , oslo-serialization
@@ -9,6 +11,8 @@
 , prettytable
 , requests
 , simplejson
+, sphinx
+, sphinxcontrib-programoutput
 , Babel
 , osc-lib
 , python-keystoneclient
@@ -25,6 +29,13 @@ buildPythonApplication rec {
     sha256 = "sha256-6iAed0mtEYHguYq4Rlh4YWT8E5hNqBYPcnG9/8RMspo=";
   };
 
+  nativeBuildInputs = [
+    installShellFiles
+    openstackdocstheme
+    sphinx
+    sphinxcontrib-programoutput
+  ];
+
   propagatedBuildInputs = [
     pbr
     oslo-config
@@ -40,6 +51,12 @@ buildPythonApplication rec {
     debtcollector
   ];
 
+  postInstall = ''
+    export PATH=$out/bin:$PATH
+    sphinx-build -a -E -d doc/build/doctrees -b man doc/source doc/build/man
+    installManPage doc/build/man/python-manilaclient.1
+  '';
+
   # Checks moved to 'passthru.tests' to workaround infinite recursion
   doCheck = false;
 
diff --git a/pkgs/development/python-modules/python-miio/default.nix b/pkgs/development/python-modules/python-miio/default.nix
index 24c51af4fb2..4095ff9285c 100644
--- a/pkgs/development/python-modules/python-miio/default.nix
+++ b/pkgs/development/python-modules/python-miio/default.nix
@@ -2,7 +2,7 @@
 , buildPythonPackage
 , pythonOlder
 , fetchPypi
-, poetry
+, poetry-core
 , click
 , cryptography
 , construct
@@ -24,22 +24,18 @@
 
 buildPythonPackage rec {
   pname = "python-miio";
-  version = "0.5.9.2";
-  disabled = pythonOlder "3.6.5";
+  version = "0.5.10";
   format = "pyproject";
 
+  disabled = pythonOlder "3.7";
+
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-AFwarRhFknfwTSvSDGoWE+/mv1KUD2XnWK/xCBqrN4o=";
+    sha256 = "sha256-6iV+uIdVi0Z3FeM9xnp1Ss3VzFVEOm7wykxjSTXUIGM=";
   };
 
-  postPatch = ''
-    substituteInPlace pyproject.toml \
-      --replace 'defusedxml = "^0"' 'defusedxml = "*"' \
-  '';
-
   nativeBuildInputs = [
-    poetry
+    poetry-core
   ];
 
   propagatedBuildInputs = [
@@ -56,14 +52,27 @@ buildPythonPackage rec {
     pyyaml
     tqdm
     zeroconf
-  ] ++ lib.optional (pythonOlder "3.8") importlib-metadata;
+  ] ++ lib.optional (pythonOlder "3.8") [
+    importlib-metadata
+  ];
 
   checkInputs = [
     pytestCheckHook
     pytest-mock
   ];
 
-  pythonImportsCheck = [ "miio" ];
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'defusedxml = "^0"' 'defusedxml = "*"' \
+  '';
+
+  pythonImportsCheck = [
+    "miio"
+  ];
+
+  disabledTestPaths = [
+    "miio/tests/test_vacuums.py"
+  ];
 
   meta = with lib; {
     description = "Python library for interfacing with Xiaomi smart appliances";
diff --git a/pkgs/development/python-modules/python-nest/default.nix b/pkgs/development/python-modules/python-nest/default.nix
index 8caa61517c6..1cbdd2837a7 100644
--- a/pkgs/development/python-modules/python-nest/default.nix
+++ b/pkgs/development/python-modules/python-nest/default.nix
@@ -1,23 +1,41 @@
-{ buildPythonPackage, fetchPypi, lib, python-dateutil, requests
-, six, sseclient-py }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python-dateutil
+, requests
+, six
+, sseclient-py
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "python-nest";
-  version = "4.1.0";
+  version = "4.2.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12iyypbl92ybh8w1bf4z0c2g0sb9id2c07c89vzvnlxgjylw3wbi";
+    hash = "sha256-01hoZbDssbJ10NA72gOtlzjZMGjsUBUoVDVM35uAOLU=";
   };
 
-  propagatedBuildInputs = [ python-dateutil requests six sseclient-py ];
-  # has no tests
+  propagatedBuildInputs = [
+    python-dateutil
+    requests
+    six
+    sseclient-py
+  ];
+
+  # Module has no tests
   doCheck = false;
-  pythonImportsCheck = [ "nest" ];
+
+  pythonImportsCheck = [
+    "nest"
+  ];
 
   meta = with lib; {
-    description =
-      "Python API and command line tool for talking to the Nest™ Thermostat";
+    description = "Python API and command line tool for talking to the Nest™ Thermostat";
     homepage = "https://github.com/jkoelker/python-nest";
     license = licenses.cc-by-nc-sa-40;
     maintainers = with maintainers; [ jamiemagee ];
diff --git a/pkgs/development/python-modules/python-openstackclient/default.nix b/pkgs/development/python-modules/python-openstackclient/default.nix
index 8e446d6b990..05efc97b644 100644
--- a/pkgs/development/python-modules/python-openstackclient/default.nix
+++ b/pkgs/development/python-modules/python-openstackclient/default.nix
@@ -2,12 +2,15 @@
 , buildPythonPackage
 , fetchPypi
 , ddt
+, installShellFiles
+, openstackdocstheme
 , osc-lib
 , pbr
 , python-cinderclient
 , python-keystoneclient
 , python-novaclient
 , requests-mock
+, sphinx
 , stestr
 }:
 
@@ -20,6 +23,12 @@ buildPythonPackage rec {
     sha256 = "c65e3d51018f193cce2daf3d0fd69daa36003bdb2b85df6b07b973e4c39e2f92";
   };
 
+  nativeBuildInputs = [
+    installShellFiles
+    openstackdocstheme
+    sphinx
+  ];
+
   propagatedBuildInputs = [
     osc-lib
     pbr
@@ -28,6 +37,11 @@ buildPythonPackage rec {
     python-novaclient
   ];
 
+  postInstall = ''
+    sphinx-build -a -E -d doc/build/doctrees -b man doc/source doc/build/man
+    installManPage doc/build/man/openstack.1
+  '';
+
   checkInputs = [
     ddt
     stestr
diff --git a/pkgs/development/python-modules/python-rapidjson/default.nix b/pkgs/development/python-modules/python-rapidjson/default.nix
index 0655d29f6af..35d11e981e4 100644
--- a/pkgs/development/python-modules/python-rapidjson/default.nix
+++ b/pkgs/development/python-modules/python-rapidjson/default.nix
@@ -8,13 +8,13 @@
 }:
 
 buildPythonPackage rec {
-  version = "1.5";
+  version = "1.6";
   pname = "python-rapidjson";
   disabled = pythonOlder "3.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "04323e63cf57f7ed927fd9bcb1861ef5ecb0d4d7213f2755969d4a1ac3c2de6f";
+    sha256 = "sha256-GJzxqWv5/NhtADYPFa12qDzgiJuK6NHLD9srKZXlocg=";
   };
 
   LC_ALL="en_US.utf-8";
diff --git a/pkgs/development/python-modules/python-rtmidi/default.nix b/pkgs/development/python-modules/python-rtmidi/default.nix
index 335a085277a..58d6a1e72f5 100644
--- a/pkgs/development/python-modules/python-rtmidi/default.nix
+++ b/pkgs/development/python-modules/python-rtmidi/default.nix
@@ -1,5 +1,17 @@
-{ lib, buildPythonPackage, fetchPypi, isPy27
-, pkg-config, alsa-lib, libjack2, tox, flake8, alabaster
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, isPy27
+, pkg-config
+, alsa-lib
+, libjack2
+, tox
+, flake8
+, alabaster
+, CoreAudio
+, CoreMIDI
+, CoreServices
 }:
 
 buildPythonPackage rec {
@@ -13,7 +25,15 @@ buildPythonPackage rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ alsa-lib libjack2 ];
+  buildInputs = [
+    libjack2
+  ] ++ lib.optionals stdenv.isLinux [
+    alsa-lib
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreAudio
+    CoreMIDI
+    CoreServices
+  ];
   checkInputs = [
     tox
     flake8
diff --git a/pkgs/development/python-modules/python-snap7/default.nix b/pkgs/development/python-modules/python-snap7/default.nix
index b494d2e442e..0d34262ea3b 100644
--- a/pkgs/development/python-modules/python-snap7/default.nix
+++ b/pkgs/development/python-modules/python-snap7/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "python-snap7";
-  version = "1.0";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "gijzelaerr";
     repo = "python-snap7";
     rev = version;
-    sha256 = "103drdwf4v3yqvd7sscxx154mmmshb6x19v9yqmkj2lj76m0619s";
+    sha256 = "18z13wb2q5q3msp9w3wddg1byp7picczw4ng8w1ccj4npidxsqv8";
   };
 
   propagatedBuildInputs = [ setuptools six ];
diff --git a/pkgs/development/python-modules/python-socketio/default.nix b/pkgs/development/python-modules/python-socketio/default.nix
index 0484a75eaea..e41942317f9 100644
--- a/pkgs/development/python-modules/python-socketio/default.nix
+++ b/pkgs/development/python-modules/python-socketio/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "python-socketio";
-  version = "5.5.1";
+  version = "5.5.2";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "miguelgrinberg";
     repo = "python-socketio";
     rev = "v${version}";
-    sha256 = "sha256-mtXGSd7Y+frT22EL3QmiBNatwc6IrJqGBRfsQlD8LLk=";
+    sha256 = "sha256-ZTjh9gtnJwFG2qWH6FBrvLHKsEuTjkcKL6j6Mdos6zo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/python-socks/default.nix b/pkgs/development/python-modules/python-socks/default.nix
index e6c2d016bb0..5254a6cbab2 100644
--- a/pkgs/development/python-modules/python-socks/default.nix
+++ b/pkgs/development/python-modules/python-socks/default.nix
@@ -14,7 +14,7 @@
 
 buildPythonPackage rec {
   pname = "python-socks";
-  version = "2.0.0";
+  version = "2.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6.1";
@@ -23,7 +23,7 @@ buildPythonPackage rec {
     owner = "romis2012";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iTwlUyfTD2ZhOvBX3IDqjkeW4Z2tfKxvQjIV7GGBVJA=";
+    sha256 = "sha256-tVoBon9HF9MTOK+dN9g58fQO706ElNlCeULx//7hPWA=";
   };
 
   propagatedBuildInputs = [
@@ -48,6 +48,6 @@ buildPythonPackage rec {
     description = "Core proxy client (SOCKS4, SOCKS5, HTTP) functionality for Python";
     homepage = "https://github.com/romis2012/python-socks";
     license = licenses.asl20;
-    maintainers = with maintainers; [ mjlbach ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/python-modules/python-songpal/default.nix b/pkgs/development/python-modules/python-songpal/default.nix
index ba17dd81166..715bf164a4b 100644
--- a/pkgs/development/python-modules/python-songpal/default.nix
+++ b/pkgs/development/python-modules/python-songpal/default.nix
@@ -2,7 +2,6 @@
 , buildPythonPackage
 , pythonOlder
 , fetchFromGitHub
-, fetchpatch
 , poetry-core
 , aiohttp
 , async-upnp-client
@@ -13,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "python-songpal";
-  version = "0.13";
+  version = "0.14";
 
   format = "pyproject";
 
@@ -23,24 +22,9 @@ buildPythonPackage rec {
     owner = "rytilahti";
     repo = "python-songpal";
     rev = version;
-    sha256 = "124w6vfn992845k09bjv352havk8pg590b135m37h1x1m7fmbpwa";
+    hash = "sha256-yuCtz1B5bj3mWz4eP2GXzoaHuIQ47tIWn19jkZN54lw=";
   };
 
-  patches = [
-    # https://github.com/rytilahti/python-songpal/pull/90
-    (fetchpatch {
-      name = "switch-to-poetry-core.patch";
-      url = "https://github.com/rytilahti/python-songpal/commit/56b634790d94b2f9788d5af3d5cedff47f1e42c2.patch";
-      sha256 = "0yc0mrb91ywk77nd4mxvyc0p2kjz2w1p395755a32ls30zw2bs27";
-    })
-  ];
-
-  postPatch = ''
-    # https://github.com/rytilahti/python-songpal/issues/91
-    substituteInPlace pyproject.toml \
-      --replace 'click = "^7"' 'click = "*"'
-  '';
-
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/pkgs/development/python-modules/python-utils/default.nix b/pkgs/development/python-modules/python-utils/default.nix
index d79f357e50e..3a47e107df6 100644
--- a/pkgs/development/python-modules/python-utils/default.nix
+++ b/pkgs/development/python-modules/python-utils/default.nix
@@ -3,17 +3,19 @@
 , fetchFromGitHub
 , pytestCheckHook
 , six
+, pytest-mypy
 }:
 
 buildPythonPackage rec {
   pname = "python-utils";
-  version = "2.7.0";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "WoLpH";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gns9v5144cj03p7qbb3822scb6pwrlgr6niixpkynwqkcwjfg4c";
+    sha256 = "sha256-+NgcVIDM9f2OKBpJNWlSyFxEONltPWJSWIu400/5RkQ=
+";
   };
 
   # disable coverage and linting
@@ -27,6 +29,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    pytest-mypy
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pythonfinder/default.nix b/pkgs/development/python-modules/pythonfinder/default.nix
index bf9cb69721c..9500a42a916 100644
--- a/pkgs/development/python-modules/pythonfinder/default.nix
+++ b/pkgs/development/python-modules/pythonfinder/default.nix
@@ -14,14 +14,14 @@
 
 buildPythonPackage rec {
   pname = "pythonfinder";
-  version = "1.2.9";
+  version = "1.2.10";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "sarugaku";
     repo = pname;
     rev = version;
-    sha256 = "sha256-tPMqVKbYwBRvb8/GyYNxO8lwJLcUUQyRoCoF5tg6rxs=";
+    sha256 = "sha256-4a648wOh+ASeocevFVh/4Fkq0CEhkFbt+2mWVmb9Bhw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pythonocc-core/default.nix b/pkgs/development/python-modules/pythonocc-core/default.nix
index 9039c52a8a4..8a9433ec898 100644
--- a/pkgs/development/python-modules/pythonocc-core/default.nix
+++ b/pkgs/development/python-modules/pythonocc-core/default.nix
@@ -1,15 +1,29 @@
-{ lib, stdenv, python, fetchFromGitHub, cmake, swig, opencascade, smesh, freetype, libGL, libGLU, libX11
-, Cocoa }:
+{ lib, stdenv, python, fetchFromGitHub
+, cmake
+, Cocoa
+, fontconfig
+, freetype
+, libGL
+, libGLU
+, libX11
+, libXext
+, libXi
+, libXmu
+, opencascade-occt
+, rapidjson
+, smesh
+, swig
+}:
 
 stdenv.mkDerivation rec {
   pname = "pythonocc-core";
-  version = "0.18.1";
+  version = "7.5.1";
 
   src = fetchFromGitHub {
     owner = "tpaviot";
     repo = "pythonocc-core";
     rev = version;
-    sha256 = "1jk4y7f75z9lyawffpfkr50qw5452xzi1imcdlw9pdvf4i0y86k3";
+    sha256 = "1md6x60pnfq0qv4lsnmjv6i96mzdrcpxcgpb316i7wmv9b5ci01s";
   };
 
   postPatch = ''
@@ -20,8 +34,9 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ cmake swig ];
   buildInputs = [
-    python opencascade smesh
-    freetype libGL libGLU libX11
+    python opencascade-occt smesh
+    freetype libGL libGLU libX11 libXext libXmu libXi
+    fontconfig rapidjson
   ] ++ lib.optionals stdenv.isDarwin [ Cocoa ];
 
   cmakeFlags = [
diff --git a/pkgs/development/python-modules/pytibber/default.nix b/pkgs/development/python-modules/pytibber/default.nix
index 784f73f7181..e2c788f1b3e 100644
--- a/pkgs/development/python-modules/pytibber/default.nix
+++ b/pkgs/development/python-modules/pytibber/default.nix
@@ -7,21 +7,22 @@
 , graphql-subscription-manager
 , python-dateutil
 , pytz
+, pytest-asyncio
 , pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "pytibber";
-  version = "0.22.0";
+  version = "0.22.1";
   format = "setuptools";
 
-  disabled = pythonOlder "3.7";
+  disabled = pythonOlder "3.9";
 
   src = fetchFromGitHub {
     owner = "Danielhiversen";
     repo = "pyTibber";
     rev = version;
-    hash = "sha256-4eARNxVXtJtUC0oxym1kv5z+WkxgCHJZtN3MrIMA8+s=";
+    hash = "sha256-kzKY9ixsAkfee5En0IzYl5izeXq3xY/8bc5Kz/qkE7U=";
   };
 
   propagatedBuildInputs = [
@@ -33,6 +34,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    pytest-asyncio
     pytestCheckHook
   ];
 
diff --git a/pkgs/development/python-modules/pytorch-lightning/default.nix b/pkgs/development/python-modules/pytorch-lightning/default.nix
index 63991752a8a..de75aa0ae8f 100644
--- a/pkgs/development/python-modules/pytorch-lightning/default.nix
+++ b/pkgs/development/python-modules/pytorch-lightning/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "pytorch-lightning";
-  version = "0.8.5";
+  version = "1.5.8";
 
   disabled = isPy27;
 
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "PyTorchLightning";
     repo = pname;
     rev = version;
-    sha256 = "12zhq4pnfcwbgcx7cs99c751gp3w0ysaf5ykv2lv8f4i360w3r5a";
+    sha256 = "161mz66l11z4350q93fmmq3x0jzbp5761lf4fx3yvz17qzp7ygkn";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytorch-metric-learning/default.nix b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
index 0c1ca751eb1..e9728b3d676 100644
--- a/pkgs/development/python-modules/pytorch-metric-learning/default.nix
+++ b/pkgs/development/python-modules/pytorch-metric-learning/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname   = "pytorch-metric-learning";
-  version = "0.9.99";
+  version = "1.1.0";
 
   disabled = isPy27;
 
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "KevinMusgrave";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ahs2b7q3hxi6yv4g2fjy7mvl899h56dvlpc2r9301440qsgkdzr";
+    sha256 = "0qvlxgdml22fzrs47yzqpfzak8lfdrzayvapawfz93cq8903h7qp";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pytorch-pfn-extras/default.nix b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
new file mode 100644
index 00000000000..46bd35b9cfb
--- /dev/null
+++ b/pkgs/development/python-modules/pytorch-pfn-extras/default.nix
@@ -0,0 +1,55 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+, numpy
+, onnx
+, pytestCheckHook
+, pytorch
+, typing-extensions
+}:
+
+buildPythonPackage rec {
+  pname = "pytorch-pfn-extras";
+  version = "0.5.6";
+
+  src = fetchFromGitHub {
+    owner = "pfnet";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "1ch4vhz3zjanj5advqsj51yy7idrp8yvydvcg4ymwa3wsfjrx58g";
+  };
+
+  propagatedBuildInputs = [ numpy pytorch typing-extensions ];
+
+  checkInputs = [ onnx pytestCheckHook ];
+
+  pythonImportsCheck = [ "pytorch_pfn_extras" ];
+
+  disabledTestPaths = [
+    # Requires optuna which is currently (2022-02-16) marked as broken.
+    "tests/pytorch_pfn_extras_tests/test_config_types.py"
+
+    # Requires CUDA access which is not possible in the nix environment.
+    "tests/pytorch_pfn_extras_tests/cuda_tests/test_allocator.py"
+    "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy_batchnorm.py"
+    "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy_conv.py"
+    "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy_linear.py"
+    "tests/pytorch_pfn_extras_tests/nn_tests/modules_tests/test_lazy.py"
+    "tests/pytorch_pfn_extras_tests/profiler_tests/test_record.py"
+    "tests/pytorch_pfn_extras_tests/runtime_tests/test_to.py"
+    "tests/pytorch_pfn_extras_tests/test_handler.py"
+    "tests/pytorch_pfn_extras_tests/test_logic.py"
+    "tests/pytorch_pfn_extras_tests/test_reporter.py"
+    "tests/pytorch_pfn_extras_tests/training_tests/test_trainer.py"
+    "tests/pytorch_pfn_extras_tests/utils_tests/test_checkpoint.py"
+    "tests/pytorch_pfn_extras_tests/utils_tests/test_comparer.py"
+    "tests/pytorch_pfn_extras_tests/utils_tests/test_new_comparer.py"
+  ];
+
+  meta = with lib; {
+    description = "Supplementary components to accelerate research and development in PyTorch";
+    homepage = "https://github.com/pfnet/pytorch-pfn-extras";
+    license = licenses.mit;
+    maintainers = with maintainers; [ samuela ];
+  };
+}
diff --git a/pkgs/development/python-modules/pytorch/default.nix b/pkgs/development/python-modules/pytorch/default.nix
index 564087769ac..c370eaf6a94 100644
--- a/pkgs/development/python-modules/pytorch/default.nix
+++ b/pkgs/development/python-modules/pytorch/default.nix
@@ -117,7 +117,7 @@ let
 in buildPythonPackage rec {
   pname = "pytorch";
   # Don't forget to update pytorch-bin to the same version.
-  version = "1.9.0";
+  version = "1.10.2";
 
   disabled = !isPy3k;
 
@@ -132,7 +132,7 @@ in buildPythonPackage rec {
     repo   = "pytorch";
     rev    = "v${version}";
     fetchSubmodules = true;
-    sha256 = "sha256-gZmEhV1zzfr/5T2uNfS+8knzyJIxnv2COWVyiAzU9jM=";
+    sha256 = "sha256-QcvoJqpZJXPSc9HLCJHetrp/hMESuC5kYl90d7Id0ZU=";
   };
 
   patches = lib.optionals stdenv.isDarwin [
@@ -304,7 +304,7 @@ in buildPythonPackage rec {
   passthru = {
     inherit cudaSupport;
     cudaArchList = final_cudaArchList;
-    # At least for 1.9.0 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability.
+    # At least for 1.10.2 `torch.fft` is unavailable unless BLAS provider is MKL. This attribute allows for easy detection of its availability.
     blasProvider = blas.provider;
   };
 
diff --git a/pkgs/development/python-modules/pytube/default.nix b/pkgs/development/python-modules/pytube/default.nix
index d2c8be795f1..d00d26f1bae 100644
--- a/pkgs/development/python-modules/pytube/default.nix
+++ b/pkgs/development/python-modules/pytube/default.nix
@@ -7,21 +7,30 @@
 
 buildPythonPackage rec {
   pname = "pytube";
-  version = "11.0.2";
+  version = "12.0.0";
 
   disabled = pythonOlder "3.6";
 
+  format = "setuptools";
+
   src = fetchFromGitHub {
     owner = "pytube";
     repo = "pytube";
     rev = "v${version}";
-    hash = "sha256-3HrkhlwV8OLqbzC6QgddLB1fQxWbwCQ6STCgUXlr5So=";
+    hash = "sha256-1zoLd4J7aCR5omMpCZhlttWDu7mYyKCypH3JEB4VGXg=";
   };
 
   checkInputs = [
     pytestCheckHook
   ];
 
+  disabledTestPaths = [
+    "tests/test_extract.py"
+    "tests/test_query.py"
+    "tests/test_streams.py"
+    "tests/test_main.py"
+  ];
+
   pythonImportsCheck = [ "pytube" ];
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/pytwitchapi/default.nix b/pkgs/development/python-modules/pytwitchapi/default.nix
index 27289a13d5d..9777f333130 100644
--- a/pkgs/development/python-modules/pytwitchapi/default.nix
+++ b/pkgs/development/python-modules/pytwitchapi/default.nix
@@ -10,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "pytwitchapi";
-  version = "2.5.1";
+  version = "2.5.2";
+  format = "setuptools";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Teekeks";
     repo = "pyTwitchAPI";
     rev = "v${version}";
-    sha256 = "091p9yx0cc7aclj76s1n1jdzkypicy9b2mxgmk2fym5viqlgpbkk";
+    hash = "sha256-i+oAx23bMu+jaXHPWElD5GJH6vSytW/9N1amsmma4Lc=";
   };
 
   propagatedBuildInputs = [
@@ -30,7 +32,9 @@ buildPythonPackage rec {
   # Project has no tests.
   doCheck = false;
 
-  pythonImportsCheck = [ "twitchAPI" ];
+  pythonImportsCheck = [
+    "twitchAPI"
+  ];
 
   meta = with lib; {
     description = "Python implementation of the Twitch Helix API, its Webhook and PubSub";
diff --git a/pkgs/development/python-modules/pyuptimerobot/default.nix b/pkgs/development/python-modules/pyuptimerobot/default.nix
index 6334c3f64c0..601faccb37f 100644
--- a/pkgs/development/python-modules/pyuptimerobot/default.nix
+++ b/pkgs/development/python-modules/pyuptimerobot/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyuptimerobot";
-  version = "21.11.0";
+  version = "22.2.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "ludeeus";
     repo = pname;
     rev = version;
-    sha256 = "1nmmwp9m38b75lz51ypcj0qxnxm9wq4id5cggl0pn2rx6gwnbw9n";
+    sha256 = "sha256-QZm8FlUm17Vv80hB3iai54QcVlhSrq2AvbdBaRWDyok=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyuseragents/default.nix b/pkgs/development/python-modules/pyuseragents/default.nix
index ffa3a5302ae..9ab48ebf59d 100644
--- a/pkgs/development/python-modules/pyuseragents/default.nix
+++ b/pkgs/development/python-modules/pyuseragents/default.nix
@@ -23,6 +23,6 @@ buildPythonPackage rec {
     description = "Giving you a random User-Agent Header";
     homepage = "https://github.com/Animenosekai/useragents";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/python-modules/pyvera/default.nix b/pkgs/development/python-modules/pyvera/default.nix
index 70392eda7b1..9a8ef3043ab 100644
--- a/pkgs/development/python-modules/pyvera/default.nix
+++ b/pkgs/development/python-modules/pyvera/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "pyvera";
-  version = "0.3.14";
+  version = "0.3.15";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "pavoni";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CuXsyHlRw5zqDrQfMT4BzHsmox8MLRKxFKwR5M0XoEM=";
+    sha256 = "sha256-1+xIqOogRUt+blX7AZSKIiU8lpR4AzKIIW/smCSft94=";
   };
 
   nativeBuildInputs = [ poetry-core ];
diff --git a/pkgs/development/python-modules/pyvesync/default.nix b/pkgs/development/python-modules/pyvesync/default.nix
index 50a412768c0..1cd6de8ef41 100644
--- a/pkgs/development/python-modules/pyvesync/default.nix
+++ b/pkgs/development/python-modules/pyvesync/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "pyvesync";
-  version = "1.4.2";
+  version = "1.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-O5zt1FiCQAlCaGaiEyrannqZjm4oGq36d4Fa77ys+HE=";
+    sha256 = "sha256-DEDgZXMQrINYImXaWmv/7W7q8RvqK8oMG/B2XsDdZDM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pyvicare/default.nix b/pkgs/development/python-modules/pyvicare/default.nix
index a47a46c338a..bd3daf7bfb0 100644
--- a/pkgs/development/python-modules/pyvicare/default.nix
+++ b/pkgs/development/python-modules/pyvicare/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pyvicare";
-  version = "2.14.0";
+  version = "2.16.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "somm15";
     repo = "PyViCare";
     rev = version;
-    sha256 = "sha256-+Rjs5PwsjcE8vsCS9gHmEj2Hy2OSH/YxNjYgjrBXHPk=";
+    sha256 = "sha256-fBqFvMb6/dg8PU2JYrXbOonXnS64d4ij81dRb30bVRc=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/pyvlx/default.nix b/pkgs/development/python-modules/pyvlx/default.nix
index 1a78aefa6da..10e07f4e22a 100644
--- a/pkgs/development/python-modules/pyvlx/default.nix
+++ b/pkgs/development/python-modules/pyvlx/default.nix
@@ -2,25 +2,35 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pytestCheckHook
+, pythonOlder
 , pyyaml
 }:
 
 buildPythonPackage rec {
   pname = "pyvlx";
-  version = "0.2.19";
+  version = "0.2.20";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "Julius2342";
     repo = pname;
     rev = version;
-    sha256 = "031gp3sjagvmgdhfpdqlawva425ja1n3bmxk6jyn4zx54szj9zwf";
+    sha256 = "1irjix9kr6qih84gii7k1a9c67n8133gpnmwfd09550jsqdmg006";
   };
 
-  propagatedBuildInputs = [ pyyaml ];
+  propagatedBuildInputs = [
+    pyyaml
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  pythonImportsCheck = [ "pyvlx" ];
+  pythonImportsCheck = [
+    "pyvlx"
+  ];
 
   meta = with lib; {
     description = "Python client to work with Velux units";
diff --git a/pkgs/development/python-modules/pywayland/default.nix b/pkgs/development/python-modules/pywayland/default.nix
index f1dbd72cef0..5be70423390 100644
--- a/pkgs/development/python-modules/pywayland/default.nix
+++ b/pkgs/development/python-modules/pywayland/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "pywayland";
-  version = "0.4.9";
+  version = "0.4.11";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "EJ/Ul1ZpIQa5Mw6UmkRi7GC+b+mCMqhto6EsfNjpCdg=";
+    sha256 = "coUNrPcHLBDamgKiZ08ysg2maQ2wLRSijfNRblKMIZk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/python-modules/pywemo/default.nix b/pkgs/development/python-modules/pywemo/default.nix
index 1e2f8db96cd..15545acf2f6 100644
--- a/pkgs/development/python-modules/pywemo/default.nix
+++ b/pkgs/development/python-modules/pywemo/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "pywemo";
-  version = "0.7.0";
+  version = "0.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-NwhKrk5cQT7kk4VCr0BMQz0yTP/vuBA6MjTRuk2LM5Y=";
+    hash = "sha256-bGoqhrjoRKUGPBNfmr2XP+1HL5mdRi6XoCi0BdvY9x8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/pywizlight/default.nix b/pkgs/development/python-modules/pywizlight/default.nix
index 620463c9863..707a82054cb 100644
--- a/pkgs/development/python-modules/pywizlight/default.nix
+++ b/pkgs/development/python-modules/pywizlight/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "pywizlight";
-  version = "0.5";
+  version = "0.5.13";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "sbidy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hw8fNguIqQslea44hiLgh6FntfKHFG1UeVYIvmu5nTw=";
+    sha256 = "sha256-UePrG49Q2tJq3f2QaW4BjbWHHif6cTFGdiO/DZfpMFA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/pywlroots/default.nix b/pkgs/development/python-modules/pywlroots/default.nix
index 8c2d660158b..7dc17cf74ec 100644
--- a/pkgs/development/python-modules/pywlroots/default.nix
+++ b/pkgs/development/python-modules/pywlroots/default.nix
@@ -18,18 +18,13 @@
 
 buildPythonPackage rec {
   pname = "pywlroots";
-  version = "0.15.7";
+  version = "0.15.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "EJAqtzFKx9Zripspv3lXIDj54pqHV0in6RrOCgFUyU8=";
+    sha256 = "VWfcDhMAuUkYObRiaXRfcB7dI75SM7zVwWWvnlrxV0k=";
   };
 
-  # The XWayland detection uses some hard-coded FHS paths. Since we
-  # know wlroots was built with xwayland support, replace its
-  # detection with `return True`.
-  patches = [ ./xwayland.patch ];
-
   nativeBuildInputs = [ pkg-config ];
   propagatedNativeBuildInputs = [ cffi ];
   buildInputs = [ libinput libxkbcommon pixman xorg.libxcb udev wayland wlroots ];
diff --git a/pkgs/development/python-modules/pywlroots/xwayland.patch b/pkgs/development/python-modules/pywlroots/xwayland.patch
deleted file mode 100644
index f3aaecca264..00000000000
--- a/pkgs/development/python-modules/pywlroots/xwayland.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-diff --git a/wlroots/ffi_build.py b/wlroots/ffi_build.py
-index bb07ff8..f19efe3 100644
---- a/wlroots/ffi_build.py
-+++ b/wlroots/ffi_build.py
-@@ -55,19 +55,7 @@ def has_xwayland() -> bool:
-     Check for XWayland headers. If present, wlroots was built with XWayland support, so
-     pywlroots can be too.
-     """
--    try:
--        FFI().verify(
--            "#include <wlr/xwayland.h>",
--            define_macros=[("WLR_USE_UNSTABLE", 1)],
--            include_dirs=["/usr/include/pixman-1", include_dir.as_posix()],
--        )
--        return True
--    except VerificationError:
--        print("If XWayland support is not required, ignore the above error message.")
--        print(
--            "If support is required, ensure wlroots was built with -Dxwayland=enabled."
--        )
--        return False
-+    return True
- 
- 
- # backend.h
diff --git a/pkgs/development/python-modules/qdarkstyle/default.nix b/pkgs/development/python-modules/qdarkstyle/default.nix
index 6b9b94b603f..6e3b6064fcb 100644
--- a/pkgs/development/python-modules/qdarkstyle/default.nix
+++ b/pkgs/development/python-modules/qdarkstyle/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "qdarkstyle";
-  version = "2.8.1";
+  version = "3.0.3";
 
   src = fetchPypi {
     inherit version;
     pname = "QDarkStyle";
-    sha256 = "0883vzg35fzpyl1aiijzpfcdfvpq5vi325w0m7xkx7nxplh02fym";
+    sha256 = "936d2d35b552f429803a985dbc17fc879a2f966faa9fbf8983896ccfa33e68f6";
   };
 
   # No tests available
diff --git a/pkgs/development/python-modules/qiling/default.nix b/pkgs/development/python-modules/qiling/default.nix
index 3576f5b7366..51c762c8107 100644
--- a/pkgs/development/python-modules/qiling/default.nix
+++ b/pkgs/development/python-modules/qiling/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "qiling";
-  version = "1.4.0";
+  version = "1.4.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-xUoNHMyGN0G2itVcKLsk+7QKxZdguzyh6OZCqCHNB4Y=";
+    sha256 = "e72dc5856cbda975f962ddf063063a32bd6c3b825f75e0795e94ba6840a7d45f";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qimage2ndarray/default.nix b/pkgs/development/python-modules/qimage2ndarray/default.nix
index 0bb9ed2199a..431b5c9bfa1 100644
--- a/pkgs/development/python-modules/qimage2ndarray/default.nix
+++ b/pkgs/development/python-modules/qimage2ndarray/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "qimage2ndarray";
-  version = "1.8.3";
+  version = "1.9.0";
   disabled = !isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b02bd2dc7de774f954544312ec1020cf2d7e03fdd23ec9eb79901da55ccb3365";
+    sha256 = "sha256-p5B1xtDYRDxEIu6WmlQJ5E/QJUVxYEzOqHXGyV4/Veo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-aer/default.nix b/pkgs/development/python-modules/qiskit-aer/default.nix
index b2e708d586f..d7b195f1deb 100644
--- a/pkgs/development/python-modules/qiskit-aer/default.nix
+++ b/pkgs/development/python-modules/qiskit-aer/default.nix
@@ -30,7 +30,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-aer";
-  version = "0.9.1";
+  version = "0.10.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -39,7 +39,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit-aer";
     rev = version;
-    sha256 = "sha256-SAJjU2zYz6UabOPV1KI2JB7CbJfUJcjbPKbo6iiCk/g=";
+    sha256 = "sha256-COvJCj18qRNQJUXKrtlYJQGLjna44IgtNZeNVJJaIHg=";
   };
 
   postPatch = ''
@@ -88,9 +88,11 @@ buildPythonPackage rec {
   ];
   # Slow tests
   disabledTests = [
-    "test_clifford" # fails on cvxpy >= 1.1.15. https://github.com/Qiskit/qiskit-aer/pull/1318. Remove in future.
     "test_snapshot" # TODO: these ~30 tests fail on setup due to pytest fixture issues?
     "test_initialize_2" # TODO: simulations appear incorrect, off by >10%.
+    # These tests fail on cvxpy >= 1.1.15
+    "test_clifford"
+    "test_approx_random"
 
     # these fail for some builds. Haven't been able to reproduce error locally.
     "test_kraus_gate_noise"
diff --git a/pkgs/development/python-modules/qiskit-aqua/default.nix b/pkgs/development/python-modules/qiskit-aqua/default.nix
deleted file mode 100644
index 88365e0f8b7..00000000000
--- a/pkgs/development/python-modules/qiskit-aqua/default.nix
+++ /dev/null
@@ -1,185 +0,0 @@
-{ lib
-, pythonOlder
-, buildPythonPackage
-, fetchFromGitHub
-, cvxpy
-, dlx
-, docplex
-, fastdtw
-, h5py
-, networkx
-, numpy
-, psutil
-, qiskit-ignis
-, qiskit-terra
-, quandl
-, scikit-learn
-, yfinance
-  # Optional inputs
-, withTorch ? false
-, pytorch
-, withPyscf ? false
-, pyscf
-, withScikitQuant ? false
-, scikit-quant ? null
-, withCplex ? false
-, cplex ? null
-  # Check Inputs
-, ddt
-, pytestCheckHook
-, pytest-timeout
-, qiskit-aer
-}:
-
-buildPythonPackage rec {
-  pname = "qiskit-aqua";
-  version = "0.9.5";
-
-  disabled = pythonOlder "3.6";
-
-  # Pypi's tarball doesn't contain tests
-  src = fetchFromGitHub {
-    owner = "Qiskit";
-    repo = "qiskit-aqua";
-    rev = version;
-    sha256 = "sha256-7QmRwlbAVAR5KfM7tuObkb6+UgiuIm82iGWBuqfve08=";
-  };
-
-  # Optional packages: pyscf (see below NOTE) & pytorch. Can install via pip/nix if needed.
-  propagatedBuildInputs = [
-    cvxpy
-    docplex
-    dlx # Python Dancing Links package
-    fastdtw
-    h5py
-    networkx
-    numpy
-    psutil
-    qiskit-terra
-    qiskit-ignis
-    quandl
-    scikit-learn
-    yfinance
-  ] ++ lib.optionals (withTorch) [ pytorch ]
-  ++ lib.optionals (withPyscf) [ pyscf ]
-  ++ lib.optionals (withScikitQuant) [ scikit-quant ]
-  ++ lib.optionals (withCplex) [ cplex ];
-
-  # *** NOTE ***
-  # We make pyscf optional in this package, due to difficulties packaging it in Nix (test failures, complicated flags, etc).
-  # See nixpkgs#78772, nixpkgs#83447. You are welcome to try to package it yourself,
-  # or use the Nix User Repository version (https://github.com/drewrisinger/nur-packages).
-  # It can also be installed at runtime from the pip wheel.
-  # We disable appropriate tests below to allow building without pyscf installed
-
-  postPatch = ''
-    # Because this is a legacy/final release, the maintainers restricted the maximum
-    # versions of all dependencies to the latest current version. That will not
-    # work with nixpkgs' rolling release/update system.
-    # Unlock all versions for compatibility
-    substituteInPlace setup.py --replace "<=" ">="
-    sed -i 's/\(\w\+-*\w*\).*/\1/' requirements.txt
-    substituteInPlace requirements.txt --replace "dataclasses" ""
-
-    # Add ImportWarning when running qiskit.chemistry (pyscf is a chemistry package) that pyscf is not included
-    echo -e "\nimport warnings\ntry: import pyscf;\nexcept ImportError:\n    " \
-      "warnings.warn('pyscf is not supported on Nixpkgs so some qiskit features will fail." \
-        "You must install it yourself via pip or add it to your environment from the Nix User Repository." \
-        "See https://github.com/NixOS/nixpkgs/pull/83447 for details', ImportWarning)\n" \
-      >> qiskit/chemistry/__init__.py
-
-    # Add ImportWarning when running qiskit.optimization that cplex (optimization package) is not included
-    echo -e "\nimport warnings\ntry: import cplex;\nexcept ImportError:\n    " \
-      "warnings.warn('cplex is not supported on Nixpkgs so some qiskit features will fail." \
-        "You must install it yourself via pip or add it to your environment from the Nix User Repository." \
-        "', ImportWarning)\n" \
-      >> qiskit/optimization/__init__.py
-  '';
-
-  checkInputs = [
-    pytestCheckHook
-    ddt
-    pytest-timeout
-    qiskit-aer
-  ];
-  pythonImportsCheck = [
-    "qiskit.aqua"
-    "qiskit.aqua.algorithms"
-    "qiskit.chemistry"
-    "qiskit.finance"
-    "qiskit.ml"
-    "qiskit.optimization"
-  ];
-  pytestFlagsArray = [
-    "--timeout=30"  # limit test duration to 30 seconds. Some tests previously would run indefinitely
-    "--durations=10"
-  ];
-  disabledTestPaths = lib.optionals (!withPyscf) [
-    "test/chemistry/test_qeom_ee.py"
-    "test/chemistry/test_qeom_vqe.py"
-    "test/chemistry/test_vqe_uccsd_adapt.py"
-    "test/chemistry/test_bopes_sampler.py"
-  ];
-  disabledTests = [
-    # TODO: figure out why failing, only fail with upgrade to qiskit-terra > 0.16.1 & qiskit-aer > 0.7.2
-    # In test.aqua.test_amplitude_estimation.TestSineIntegral
-    "test_confidence_intervals_1"
-    "test_statevector_1"
-
-    # fails due to approximation error with latest qiskit-aer?
-    "test_application"
-
-    # Fail on CI for some reason, not locally
-    "test_binary"
-
-    # Online tests
-    "test_exchangedata"
-    "test_yahoo"
-
-    # Disabling slow tests > 10 seconds
-    "TestVQE"
-    "TestOOVQE"
-    "TestVQC"
-    "TestQSVM"
-    "TestOptimizerAQGD"
-    "test_graph_partition_vqe"
-    "TestLookupRotation"
-    "_vqe"
-    "TestHHL"
-    "TestQGAN"
-    "test_evaluate_qasm_mode"
-    "test_measurement_error_mitigation_auto_refresh"
-    "test_wikipedia"
-    "test_shor_factoring_1__15___qasm_simulator____3__5__"
-    "test_readme_sample"
-    "test_ecev"
-    "test_expected_value"
-    "test_qubo_gas_int_paper_example"
-    "test_shor_no_factors_1_5"
-    "test_shor_no_factors_2_7"
-    "test_evolve_2___suzuki___1__3_"
-    "test_delta"
-    "test_swaprz"
-    "test_deprecated_algo_result"
-    "test_unsorted_grouping"
-    "test_ad_hoc_data"
-    "test_nft"
-    "test_oh"
-    "test_confidence_intervals_00001"
-    "test_eoh"
-    "test_qasm_5"
-    "test_uccsd_hf"
-    "test_lih"
-    "test_lih_freeze_core"
-  ] ++ lib.optionals (!withPyscf) [
-    "test_validate" # test/chemistry/test_inputparser.py
-  ];
-
-  meta = with lib; {
-    description = "An extensible library of quantum computing algorithms";
-    homepage = "https://github.com/QISKit/qiskit-aqua";
-    changelog = "https://qiskit.org/documentation/release_notes.html";
-    license = licenses.asl20;
-    maintainers = with maintainers; [ drewrisinger ];
-  };
-}
diff --git a/pkgs/development/python-modules/qiskit-finance/default.nix b/pkgs/development/python-modules/qiskit-finance/default.nix
index d4eaa58e7af..1fc98361ad0 100644
--- a/pkgs/development/python-modules/qiskit-finance/default.nix
+++ b/pkgs/development/python-modules/qiskit-finance/default.nix
@@ -22,7 +22,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-finance";
-  version = "0.2.1";
+  version = "0.3.1";
 
   disabled = pythonOlder "3.6";
 
@@ -30,7 +30,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-fEhc/01j6iYYwS6mLle+TpX9j0DVn12oPUFamEecoAY=";
+    sha256 = "sha256-wnto3IqrJFAqIv6QAXe3BB9fvXQXe2fw/iUZe3+198M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
index 5b304bf3898..0c8f74cf66d 100644
--- a/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
+++ b/pkgs/development/python-modules/qiskit-ibmq-provider/default.nix
@@ -40,7 +40,7 @@ let
 in
 buildPythonPackage rec {
   pname = "qiskit-ibmq-provider";
-  version = "0.18.1";
+  version = "0.18.3";
 
   disabled = pythonOlder "3.6";
 
@@ -48,7 +48,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-rySSCyI+62G7kL1ZRtjX1WeWj3LPXECvrlXAcIDINF4=";
+    sha256 = "1n1w1lnq2xw94hhhn6kdvw8dqlxk5fxwpm8ng31gxbp1s3qgni17";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-ignis/default.nix b/pkgs/development/python-modules/qiskit-ignis/default.nix
index f7ebbee39f8..a8f45b73e49 100644
--- a/pkgs/development/python-modules/qiskit-ignis/default.nix
+++ b/pkgs/development/python-modules/qiskit-ignis/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-ignis";
-  version = "0.6.0";
+  version = "0.7.0";
 
   disabled = pythonOlder "3.6";
 
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "qiskit-ignis";
     rev = version;
-    hash = "sha256-L5fwCMsN03ojiDvKIyqsGfUnwej1P7bpyHlL6mu7nh0=";
+    hash = "sha256-5dsRKsz/nruWKuox/WJBghp2CWSDuYvax+G5ZxjZG4s=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-machine-learning/default.nix b/pkgs/development/python-modules/qiskit-machine-learning/default.nix
index a2006079c19..511bc0b2a0b 100644
--- a/pkgs/development/python-modules/qiskit-machine-learning/default.nix
+++ b/pkgs/development/python-modules/qiskit-machine-learning/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-machine-learning";
-  version = "0.2.1";
+  version = "0.3.0";
 
   disabled = pythonOlder "3.6";
 
@@ -31,7 +31,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2dfrkNZYSaXwiOCaRrPckq4BllANgc6BogyBcP0vosY=";
+    sha256 = "0jycs18apnwrksarpwpmp7scndyx91vnv6fchil4jyx4kym8mnf9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qiskit-nature/default.nix b/pkgs/development/python-modules/qiskit-nature/default.nix
index 09941fcdd44..2693daa6ead 100644
--- a/pkgs/development/python-modules/qiskit-nature/default.nix
+++ b/pkgs/development/python-modules/qiskit-nature/default.nix
@@ -16,11 +16,12 @@
 , pytestCheckHook
 , ddt
 , pylatexenc
+, qiskit-aer
 }:
 
 buildPythonPackage rec {
   pname = "qiskit-nature";
-  version = "0.2.2";
+  version = "0.3.1";
 
   disabled = pythonOlder "3.6";
 
@@ -28,13 +29,9 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nQbvH911Gt4KddG23qwmiXfRJTWwVEsrzPvuTQfy4FY=";
+    sha256 = "sha256-EkYppEOQGmRIxKC4ArXZb0b+p1gPGnP6AU8LbEbOpPo=";
   };
 
-  postPatch = ''
-    substituteInPlace requirements.txt --replace "h5py<3.3" "h5py"
-  '';
-
   propagatedBuildInputs = [
     h5py
     numpy
@@ -49,30 +46,23 @@ buildPythonPackage rec {
     pytestCheckHook
     ddt
     pylatexenc
+    qiskit-aer
   ];
 
   pythonImportsCheck = [ "qiskit_nature" ];
 
   pytestFlagsArray = [
     "--durations=10"
-  ] ++ lib.optionals (!withPyscf) [
-    "--ignore=test/algorithms/excited_state_solvers/test_excited_states_eigensolver.py"
   ];
 
   disabledTests = [
-    # small math error < 0.05 (< 9e-6 %)
-    "test_vqe_uvccsd_factory"
-    # unsure of failure reason. Might be related to recent cvxpy update?
-    "test_two_qubit_reduction"
-  ] ++ lib.optionals (!withPyscf) [
-    "test_h2_bopes_sampler"
-    "test_potential_interface"
+    "test_two_qubit_reduction"  # unsure of failure reason. Might be related to recent cvxpy update?
   ];
 
   meta = with lib; {
     description = "Software for developing quantum computing programs";
     homepage = "https://qiskit.org";
-    downloadPage = "https://github.com/QISKit/qiskit-optimization/releases";
+    downloadPage = "https://github.com/QISKit/qiskit-nature/releases";
     changelog = "https://qiskit.org/documentation/release_notes.html";
     license = licenses.asl20;
     maintainers = with maintainers; [ drewrisinger ];
diff --git a/pkgs/development/python-modules/qiskit-optimization/default.nix b/pkgs/development/python-modules/qiskit-optimization/default.nix
index 5d9ae3d4375..d2b87d9cfea 100644
--- a/pkgs/development/python-modules/qiskit-optimization/default.nix
+++ b/pkgs/development/python-modules/qiskit-optimization/default.nix
@@ -18,7 +18,7 @@
 
 buildPythonPackage rec {
   pname = "qiskit-optimization";
-  version = "0.2.3";
+  version = "0.3.1";
 
   disabled = pythonOlder "3.6";
 
@@ -26,7 +26,7 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-y/j/cerzMAKVjehh1LUqYe1Juoa4lIxH2qS165S9img=";
+    sha256 = "sha256-6oqhM5sEu0id0qYrhdVyx0xXUvwxBgZSPvrlAnmtY5A=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/qiskit-terra/default.nix b/pkgs/development/python-modules/qiskit-terra/default.nix
index da31f86500f..1a5aa516c52 100644
--- a/pkgs/development/python-modules/qiskit-terra/default.nix
+++ b/pkgs/development/python-modules/qiskit-terra/default.nix
@@ -1,13 +1,10 @@
 { lib
-, stdenv
 , pythonOlder
 , buildPythonPackage
 , fetchFromGitHub
   # Python requirements
 , cython
 , dill
-, fastjsonschema
-, jsonschema
 , numpy
 , networkx
 , ply
@@ -17,6 +14,7 @@
 , retworkx
 , scipy
 , scikit-quant ? null
+, stevedore
 , symengine
 , sympy
 , tweedledum
@@ -56,23 +54,21 @@ in
 
 buildPythonPackage rec {
   pname = "qiskit-terra";
-  version = "0.18.3";
+  version = "0.19.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
-    owner = "Qiskit";
+    owner = "qiskit";
     repo = pname;
     rev = version;
-    sha256 = "sha256-w/EnkdlC1hvmLqm4I8ajEYADxqMYGdHKrySLcb/yWGs=";
+    sha256 = "sha256-P2QTdt1H9I5T/ONNoo7XEVnoHweOdq3p2NH3l3/yAn4=";
   };
 
   nativeBuildInputs = [ cython ];
 
   propagatedBuildInputs = [
     dill
-    fastjsonschema
-    jsonschema
     numpy
     networkx
     ply
@@ -82,6 +78,7 @@ buildPythonPackage rec {
     retworkx
     scipy
     scikit-quant
+    stevedore
     symengine
     sympy
     tweedledum
@@ -112,6 +109,9 @@ buildPythonPackage rec {
   ];
   pytestFlagsArray = [ "--durations=10" ];
   disabledTests = [
+    "TestUnitarySynthesisPlugin" # uses unittest mocks for transpiler.run(), seems incompatible somehow w/ pytest infrastructure
+    "test_copy" # assertNotIn doesn't seem to work as expected w/ pytest vs unittest
+
     # Flaky tests
     "test_pulse_limits" # Fails on GitHub Actions, probably due to minor floating point arithmetic error.
     "test_cx_equivalence"  # Fails due to flaky test
@@ -154,6 +154,17 @@ buildPythonPackage rec {
     "test_sample_counts_memory_superposition"
     "test_piecewise_polynomial_function"
     "test_vqe_qasm"
+    "test_piecewise_chebyshev_mutability"
+    "test_bit_conditional_no_cregbundle"
+    "test_gradient_wrapper2"
+    "test_two_qubit_weyl_decomposition_abmb"
+    "test_two_qubit_weyl_decomposition_abb"
+    "test_two_qubit_weyl_decomposition_aac"
+    "test_aqc"
+    "test_gradient"
+    "test_piecewise_polynomial_rotations_mutability"
+    "test_confidence_intervals_1"
+    "test_trotter_from_bound"
   ];
 
   # Moves tests to $PACKAGEDIR/test. They can't be run from /build because of finding
@@ -163,7 +174,6 @@ buildPythonPackage rec {
     echo "Moving Qiskit test files to package directory"
     cp -r $TMP/$sourceRoot/test $PACKAGEDIR
     cp -r $TMP/$sourceRoot/examples $PACKAGEDIR
-    cp -r $TMP/$sourceRoot/qiskit/schemas/examples $PACKAGEDIR/qiskit/schemas/
 
     # run pytest from Nix's $out path
     pushd $PACKAGEDIR
diff --git a/pkgs/development/python-modules/qiskit/default.nix b/pkgs/development/python-modules/qiskit/default.nix
index 9d050606006..aa81ba00a8c 100644
--- a/pkgs/development/python-modules/qiskit/default.nix
+++ b/pkgs/development/python-modules/qiskit/default.nix
@@ -4,7 +4,6 @@
 , fetchFromGitHub
   # Python Inputs
 , qiskit-aer
-, qiskit-aqua
 , qiskit-ibmq-provider
 , qiskit-ignis
 , qiskit-terra
@@ -29,7 +28,7 @@ in
 buildPythonPackage rec {
   pname = "qiskit";
   # NOTE: This version denotes a specific set of subpackages. See https://qiskit.org/documentation/release_notes.html#version-history
-  version = "0.32.1";
+  version = "0.34.2";
 
   disabled = pythonOlder "3.6";
 
@@ -37,12 +36,11 @@ buildPythonPackage rec {
     owner = "qiskit";
     repo = "qiskit";
     rev = version;
-    sha256 = "sha256-0L4TlolvL1akHhWSJ0GRQ/Cu/rZ+Es00jjNM5Ho2uEA=";
+    sha256 = "sha256-weL65IQs6vbjJiPJdaizU0ST6u9qDYb0LhTwC6yAdhY=";
   };
 
   propagatedBuildInputs = [
     qiskit-aer
-    qiskit-aqua
     qiskit-ibmq-provider
     qiskit-ignis
     qiskit-terra
@@ -52,7 +50,6 @@ buildPythonPackage rec {
 
   pythonImportsCheck = [
     "qiskit"
-    "qiskit.aqua"
     "qiskit.circuit"
     "qiskit.ignis"
     "qiskit.providers.aer"
diff --git a/pkgs/development/python-modules/qtpy/default.nix b/pkgs/development/python-modules/qtpy/default.nix
index 4bcb536ad82..5c4984ca3f8 100644
--- a/pkgs/development/python-modules/qtpy/default.nix
+++ b/pkgs/development/python-modules/qtpy/default.nix
@@ -1,21 +1,49 @@
-{ lib, buildPythonPackage, fetchPypi, pyside, pytest }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+
+# propagates
+, packaging
+
+# tests
+, pyqt5
+, pyside
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "QtPy";
-  version = "1.11.3";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d427addd37386a8d786db81864a5536700861d95bf085cb31d1bea855d699557";
+    sha256 = "777e333df4d711b2ec9743117ab319dadfbd743a5a0eee35923855ca3d35cd9d";
   };
 
-  # no concrete propagatedBuildInputs as multiple backends are supposed
-  checkInputs = [ pyside pytest ];
+  propagatedBuildInputs = [
+    packaging
+  ];
+
+  doCheck = false; # ModuleNotFoundError: No module named 'PyQt5.QtConnectivity'
+  checkInputs = [
+    pyside
+    (pyqt5.override {
+      withConnectivity = true;
+      withMultimedia = true;
+      withWebKit = true;
+      withWebSockets = true;
+    })
+    pytestCheckHook
+  ];
 
-  doCheck = false; # require X
-  checkPhase = ''
-    py.test qtpy/tests
-  '';
+  disabledTestPaths = [
+    # Fatal error in python on x86_64
+    "qtpy/tests/test_uic.py"
+  ];
 
   meta = with lib; {
     description = "Abstraction layer for PyQt5/PyQt4/PySide2/PySide";
diff --git a/pkgs/development/python-modules/quantities/default.nix b/pkgs/development/python-modules/quantities/default.nix
index 28e08eade43..48cc70d5f2a 100644
--- a/pkgs/development/python-modules/quantities/default.nix
+++ b/pkgs/development/python-modules/quantities/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "quantities";
-  version = "0.12.5";
+  version = "0.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "67546963cb2a519b1a4aa43d132ef754360268e5d551b43dd1716903d99812f0";
+    sha256 = "0fde20115410de21cefa786f3aeae69c1b51bb19ee492190324c1da705e61a81";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/qutip/default.nix b/pkgs/development/python-modules/qutip/default.nix
index 38cf79e1904..8d19e360ca4 100644
--- a/pkgs/development/python-modules/qutip/default.nix
+++ b/pkgs/development/python-modules/qutip/default.nix
@@ -3,13 +3,13 @@
 
 buildPythonPackage rec {
   pname = "qutip";
-  version = "4.6.2";
+  version = "4.6.3";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "04g7ixq1yrrid4lliqbcamnzyw5r0fjbl8ipklps234hvsjfwmxb";
+    sha256 = "sha256-11K7Tl7PE98nM2vGsa+OKIJYu0Wmv8dT700PDt9RRVk=";
   };
 
   # QuTiP says it needs specific (old) Numpy versions. We overwrite them here
diff --git a/pkgs/development/python-modules/radish-bdd/default.nix b/pkgs/development/python-modules/radish-bdd/default.nix
index ac01b853c87..f75e5cc19ee 100644
--- a/pkgs/development/python-modules/radish-bdd/default.nix
+++ b/pkgs/development/python-modules/radish-bdd/default.nix
@@ -6,7 +6,7 @@
 , fetchFromGitHub
 , freezegun
 , humanize
-, lark-parser
+, lark
 , parse-type
 , pysingleton
 , pytestCheckHook
@@ -29,7 +29,7 @@ buildPythonPackage rec {
   };
 
   propagatedBuildInputs = [
-    lark-parser
+    lark
     click
     colorful
     tag-expressions
diff --git a/pkgs/development/python-modules/railroad-diagrams/default.nix b/pkgs/development/python-modules/railroad-diagrams/default.nix
new file mode 100644
index 00000000000..57c07e0dc48
--- /dev/null
+++ b/pkgs/development/python-modules/railroad-diagrams/default.nix
@@ -0,0 +1,26 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "railroad-diagrams";
+  version = "1.1.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8a1ec227666be2000e76794aa740f77987f1586077aae4d090d2633b3064c976";
+  };
+
+  # this is a dependency of pyparsing, which is a dependency of pytest
+  doCheck = false;
+
+  pythonImportsCheck = [ "railroad" ];
+
+  meta = with lib; {
+    description = "Generate SVG railroad syntax diagrams, like on JSON.org";
+    homepage = "https://github.com/tabatkins/railroad-diagrams";
+    license = licenses.cc0;
+    maintainers = with maintainers; [ jonringer ];
+  };
+}
diff --git a/pkgs/development/python-modules/rdflib/default.nix b/pkgs/development/python-modules/rdflib/default.nix
index 2ffe190a472..73f170b90b1 100644
--- a/pkgs/development/python-modules/rdflib/default.nix
+++ b/pkgs/development/python-modules/rdflib/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
-, fetchPypi
+, fetchFromGitHub
 , html5lib
 , isodate
 , networkx
@@ -16,14 +16,16 @@
 
 buildPythonPackage rec {
   pname = "rdflib";
-  version = "6.0.2";
+  version = "6.1.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "sha256-YTauBWABR07ir/X8W5VuYqEcOpxmuw89nAqqX7tWhU4=";
+  src = fetchFromGitHub {
+    owner = "RDFLib";
+    repo = pname;
+    rev = version;
+    hash = "sha256:1ih7vx4i16np1p8ig5faw74apmbm7kgyj9alya521yvzid6d7pzd";
   };
 
   propagatedBuildInputs = [
@@ -41,6 +43,12 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    # requires network access
+    "--deselect rdflib/__init__.py::rdflib"
+    "--deselect test/jsonld/test_onedotone.py::test_suite"
+  ];
+
   disabledTests = [
     # Requires network access
     "api_key"
diff --git a/pkgs/development/python-modules/readchar/default.nix b/pkgs/development/python-modules/readchar/default.nix
index c83a2bba1cd..81c489bd8c0 100644
--- a/pkgs/development/python-modules/readchar/default.nix
+++ b/pkgs/development/python-modules/readchar/default.nix
@@ -1,19 +1,41 @@
-{ lib, buildPythonPackage, fetchFromGitHub, flake8, pytest, pytest-cov, pexpect }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+
+# native
+, flake8
+
+# tests
+, pytestCheckHook
+, pexpect
+}:
 
 buildPythonPackage rec {
   pname = "readchar";
-  version = "2.0.0";
+  version = "3.0.5";
+  format = "setuptools";
 
   # Don't use wheels on PyPI
   src = fetchFromGitHub {
     owner = "magmax";
     repo = "python-${pname}";
-    rev = version;
-    sha256 = "0j1vj4f2j8x5f40rs6h8qplklcxcdbvkkvjpkpmr1xagw05i12bm";
+    rev = "v${version}";
+    sha256 = "sha256:01bjw3ipdzxq1ijn9354nlya625i26ri7jac1dnlj1d1gdd8m5lx";
   };
 
-  nativeBuildInputs = [ flake8 ];
-  checkInputs = [ pytest pytest-cov pexpect ];
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "--cov readchar" ""
+  '';
+
+  nativeBuildInputs = [
+    flake8
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pexpect
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/magmax/python-readchar";
diff --git a/pkgs/development/python-modules/readme_renderer/default.nix b/pkgs/development/python-modules/readme_renderer/default.nix
index f64faaf82ca..65ab0cb2682 100644
--- a/pkgs/development/python-modules/readme_renderer/default.nix
+++ b/pkgs/development/python-modules/readme_renderer/default.nix
@@ -40,6 +40,11 @@ buildPythonPackage rec {
       --replace "cmarkgfm>=0.5.0,<0.7.0" "cmarkgfm>=0.5.0,<1"
   '';
 
+  disabledTests = [
+    # https://github.com/pypa/readme_renderer/issues/221
+    "test_GFM_"
+  ];
+
   pythonImportsCheck = [
     "readme_renderer"
   ];
diff --git a/pkgs/development/python-modules/remarshal/default.nix b/pkgs/development/python-modules/remarshal/default.nix
index fc888c2379e..99c868eb0b8 100644
--- a/pkgs/development/python-modules/remarshal/default.nix
+++ b/pkgs/development/python-modules/remarshal/default.nix
@@ -31,7 +31,8 @@ buildPythonApplication rec {
   postPatch = ''
     substituteInPlace pyproject.toml \
       --replace "poetry.masonry.api" "poetry.core.masonry.api" \
-      --replace 'PyYAML = "^5.3"' 'PyYAML = "*"'
+      --replace 'PyYAML = "^5.3"' 'PyYAML = "*"' \
+      --replace 'tomlkit = "^0.7"' 'tomlkit = "*"'
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/renault-api/default.nix b/pkgs/development/python-modules/renault-api/default.nix
index 8ebf9a2d26a..2ddd65790fa 100644
--- a/pkgs/development/python-modules/renault-api/default.nix
+++ b/pkgs/development/python-modules/renault-api/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "renault-api";
-  version = "0.1.8";
+  version = "0.1.9";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "hacf-fr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gGr9yzcEgcte2uYhHzgmqT80JRJyRia31bK/v+42teU=";
+    sha256 = "sha256-CZDxJ5vgk9I1cRDXoqcrUHu+buPWYVrEcHaRXcyts7I=";
   };
 
   nativeBuildInputs = [
@@ -47,7 +47,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "renault_api" ];
+  pythonImportsCheck = [
+    "renault_api"
+  ];
 
   meta = with lib; {
     description = "Python library to interact with the Renault API";
diff --git a/pkgs/development/python-modules/reolink/default.nix b/pkgs/development/python-modules/reolink/default.nix
index 71f94d489aa..69a1b11fea4 100644
--- a/pkgs/development/python-modules/reolink/default.nix
+++ b/pkgs/development/python-modules/reolink/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "reolink";
-  version = "0.56";
+  version = "0053";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "fwestenberg";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ld1KDWweaG7y7EPN6Y19PzQRGCIFAPEb6AmlXXbjgCU=";
+    sha256 = "0qjp7n2qa9n9fdhfcgfgw89hy19z5144cxhkhmhv1xnfdiz175qd";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/reportlab/default.nix b/pkgs/development/python-modules/reportlab/default.nix
index 9fac4f0c241..82d84dc26a9 100644
--- a/pkgs/development/python-modules/reportlab/default.nix
+++ b/pkgs/development/python-modules/reportlab/default.nix
@@ -11,11 +11,11 @@ let
   ft = freetype.overrideAttrs (oldArgs: { dontDisableStatic = true; });
 in buildPythonPackage rec {
   pname = "reportlab";
-  version = "3.6.3";
+  version = "3.6.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "be4f05230eb17b9c9c61a180ab0c89c30112da2823c77807a2a5ddba19365865";
+    sha256 = "d8fe27ad312671c9347cf5997f7c1017833fac17233f33296281ba9fa0de189a";
   };
 
   checkInputs = [ glibcLocales ];
diff --git a/pkgs/development/python-modules/requests-cache/default.nix b/pkgs/development/python-modules/requests-cache/default.nix
index f095cf00a28..6f11559aad4 100644
--- a/pkgs/development/python-modules/requests-cache/default.nix
+++ b/pkgs/development/python-modules/requests-cache/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "requests-cache";
-  version = "0.9.0";
+  version = "0.9.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.7";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "reclosedev";
     repo = "requests-cache";
     rev = "v${version}";
-    sha256 = "0gz6fyc6lgbab9k92cihrp3711r1wcp4xhs25qp176zbzgccbj43";
+    hash = "sha256-9eA2fx+j6WLbEkLaemwEuoWLUWlS0iF5AkR2YienN5g=";
   };
 
   nativeBuildInputs = [
@@ -55,6 +55,10 @@ buildPythonPackage rec {
     timeout-decorator
   ];
 
+  preCheck = ''
+    export HOME=$(mktemp -d);
+  '';
+
   pytestFlagsArray = [
     # Integration tests require local DBs
     "tests/unit"
diff --git a/pkgs/development/python-modules/requests-file/default.nix b/pkgs/development/python-modules/requests-file/default.nix
index 374627a1bb9..d8cd9d81c94 100644
--- a/pkgs/development/python-modules/requests-file/default.nix
+++ b/pkgs/development/python-modules/requests-file/default.nix
@@ -1,22 +1,38 @@
-{ lib, fetchPypi, buildPythonPackage, pytestCheckHook, requests, six }:
+{ lib
+, fetchPypi
+, buildPythonPackage
+, pytestCheckHook
+, requests
+, six
+}:
 
 buildPythonPackage rec {
-  pname   = "requests-file";
+  pname = "requests-file";
   version = "1.5.1";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "07d74208d3389d01c38ab89ef403af0cfec63957d53a0081d8eca738d0247d8e";
+    hash = "sha256-B9dCCNM4nQHDirie9AOvDP7GOVfVOgCB2OynONAkfY4=";
   };
 
-  propagatedBuildInputs = [ requests six ];
+  propagatedBuildInputs = [
+    requests
+    six
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  meta = {
-    homepage = "https://github.com/dashea/requests-file";
+  pythonImportsCheck = [
+    "requests_file"
+  ];
+
+  meta = with lib; {
     description = "Transport adapter for fetching file:// URLs with the requests python library";
-    license = lib.licenses.asl20;
+    homepage = "https://github.com/dashea/requests-file";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/requests-http-signature/default.nix b/pkgs/development/python-modules/requests-http-signature/default.nix
index 7a27055aba2..c51e24e0ac9 100644
--- a/pkgs/development/python-modules/requests-http-signature/default.nix
+++ b/pkgs/development/python-modules/requests-http-signature/default.nix
@@ -9,13 +9,13 @@
 buildPythonPackage rec {
   pname = "requests-http-signature";
   version = "0.2.0";
+  format = "setuptools";
 
-  # .pem files for tests aren't present on PyPI
   src = fetchFromGitHub {
     owner = "pyauth";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jsplqrxadjsc86f0kb6dgpblgwplxrpi0ql1a714w8pbbz4z3h7";
+    hash = "sha256-B45P/loXcRKOChSDeHOnlz+67mtmTeAMYlo21TOmV8s=";
   };
 
   propagatedBuildInputs = [
@@ -27,17 +27,21 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "test/test.py" ];
+  pytestFlagsArray = [
+    "test/test.py"
+  ];
 
   disabledTests = [
     # Test require network access
     "test_readme_example"
   ];
 
-  pythonImportsCheck = [ "requests_http_signature" ];
+  pythonImportsCheck = [
+    "requests_http_signature"
+  ];
 
   meta = with lib; {
-    description = "A Requests auth module for HTTP Signature";
+    description = "Requests authentication module for HTTP Signature";
     homepage = "https://github.com/kislyuk/requests-http-signature";
     license = licenses.asl20;
     maintainers = with maintainers; [ mmai ];
diff --git a/pkgs/development/python-modules/requests-kerberos/default.nix b/pkgs/development/python-modules/requests-kerberos/default.nix
index 40bbb1aa6cb..3a1382061bd 100644
--- a/pkgs/development/python-modules/requests-kerberos/default.nix
+++ b/pkgs/development/python-modules/requests-kerberos/default.nix
@@ -1,33 +1,29 @@
 { lib
-, fetchFromGitHub
 , buildPythonPackage
 , cryptography
-, requests
+, fetchFromGitHub
 , pykerberos
 , pyspnego
-, pytestCheckHook
 , pytest-mock
-, mock
+, pytestCheckHook
+, pythonOlder
+, requests
 }:
 
 buildPythonPackage rec {
   pname = "requests-kerberos";
   version = "0.14.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
-  # tests are not present in the PyPI version
   src = fetchFromGitHub {
     owner = "requests";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0s30pcnlir3j2jmf7yh065f294cf3x0x5i3ldskn8mm0a3657mv3";
+    hash = "sha256-Y9dTzFCgVmSnbnTE0kEfjpEkXDEA+uOqFHLkSC27YGg=";
   };
 
-  # avoid needing to package krb5
-  postPatch = ''
-    substituteInPlace setup.py \
-    --replace "pyspnego[kerberos]" "pyspnego"
-  '';
-
   propagatedBuildInputs = [
     cryptography
     requests
@@ -36,12 +32,19 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    mock
     pytestCheckHook
     pytest-mock
   ];
 
-  pythonImportsCheck = [ "requests_kerberos" ];
+  # avoid needing to package krb5
+  postPatch = ''
+    substituteInPlace setup.py \
+    --replace "pyspnego[kerberos]" "pyspnego"
+  '';
+
+  pythonImportsCheck = [
+    "requests_kerberos"
+  ];
 
   meta = with lib; {
     description = "An authentication handler for using Kerberos with Python Requests";
diff --git a/pkgs/development/python-modules/requests-unixsocket/default.nix b/pkgs/development/python-modules/requests-unixsocket/default.nix
index 946e406c8bf..57f4d5787c6 100644
--- a/pkgs/development/python-modules/requests-unixsocket/default.nix
+++ b/pkgs/development/python-modules/requests-unixsocket/default.nix
@@ -9,26 +9,35 @@
 
 buildPythonPackage rec {
   pname = "requests-unixsocket";
-  version = "0.2.0";
+  version = "0.3.0";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e5c1a20afc3cf786197ae59c79bcdb0e7565f218f27df5f891307ee8817c1ea";
+    hash = "sha256-KDBCg+qTV9Rf/1itWxHkdwjPv1gGgXqlmyo2Mijulx4=";
   };
 
-  nativeBuildInputs = [ pbr ];
-  propagatedBuildInputs = [ requests ];
+  nativeBuildInputs = [
+    pbr
+  ];
 
-  checkInputs = [ pytestCheckHook waitress ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
-  preCheck = ''
-    rm pytest.ini
-  '';
+  checkInputs = [
+    pytestCheckHook
+    waitress
+  ];
+
+  pythonImportsCheck = [
+    "requests_unixsocket"
+  ];
 
   meta = with lib; {
     description = "Use requests to talk HTTP via a UNIX domain socket";
     homepage = "https://github.com/msabramo/requests-unixsocket";
     license = licenses.asl20;
-    maintainers = [ maintainers.catern ];
+    maintainers = with maintainers; [ catern ];
   };
 }
diff --git a/pkgs/development/python-modules/requests/default.nix b/pkgs/development/python-modules/requests/default.nix
index 8ba7aef4607..f5b021801f4 100644
--- a/pkgs/development/python-modules/requests/default.nix
+++ b/pkgs/development/python-modules/requests/default.nix
@@ -7,22 +7,23 @@
 , charset-normalizer
 , fetchPypi
 , idna
+, isPy27
+, isPy3k
+, pysocks
 , pytest-mock
 , pytest-xdist
 , pytestCheckHook
-, urllib3
-, isPy27
-, isPy3k
 , trustme
+, urllib3
 }:
 
 buildPythonPackage rec {
   pname = "requests";
-  version = "2.26.0";
+  version = "2.27.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-uKpY+M95P/2HgtPYyxnmbvNverpDU+7IWedGeLAbB6c=";
+    hash = "sha256-aNfFb9WomZiHco7zBKbRLtx7508c+kdxT8i0FFJcmmE=";
   };
 
   patches = [
@@ -32,7 +33,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     # Use latest idna
-    substituteInPlace setup.py --replace ",<3" ""
+    substituteInPlace setup.py \
+      --replace ",<3" ""
   '';
 
   propagatedBuildInputs = [
@@ -48,6 +50,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    pysocks
     pytest-mock
     pytest-xdist
     pytestCheckHook
@@ -73,11 +76,13 @@ buildPythonPackage rec {
     "TestTimeout"
   ];
 
-  pythonImportsCheck = [ "requests" ];
+  pythonImportsCheck = [
+    "requests"
+  ];
 
   meta = with lib; {
-    description = "Simple HTTP library for Python";
-    homepage = "http://docs.python-requests.org/en/latest/";
+    description = "HTTP library for Python";
+    homepage = "http://docs.python-requests.org/";
     license = licenses.asl20;
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/requirements-parser/default.nix b/pkgs/development/python-modules/requirements-parser/default.nix
index 71cb33560e0..3d51f4741af 100644
--- a/pkgs/development/python-modules/requirements-parser/default.nix
+++ b/pkgs/development/python-modules/requirements-parser/default.nix
@@ -1,31 +1,44 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, nose
+, fetchFromGitHub
+, poetry-core
+, pytestCheckHook
+, pythonOlder
+, types-setuptools
 }:
+
 buildPythonPackage rec {
   pname = "requirements-parser";
-  version = "0.2.0";
+  version = "0.5.0";
+  format = "pyproject";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "5963ee895c2d05ae9f58d3fc641082fb38021618979d6a152b6b1398bd7d4ed4";
+  src = fetchFromGitHub {
+    owner = "madpah";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-e2dfVBMh1uGRMDw7OdPefO4/eRxc3BGwvy/D7u5ipkk=";
   };
 
-  checkInputs = [
-    nose
+  nativeBuildInputs = [
+    poetry-core
   ];
 
-  checkPhase = ''
-    nosetests
-  '';
+  propagatedBuildInputs = [
+    types-setuptools
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
   pythonImportsCheck = [
     "requirements"
   ];
 
   meta = with lib; {
-    description = "A Pip requirements file parser";
+    description = "Pip requirements file parser";
     homepage = "https://github.com/davidfischer/requirements-parser";
     license = licenses.bsd2;
     maintainers = teams.determinatesystems.members;
diff --git a/pkgs/development/python-modules/resolvelib/default.nix b/pkgs/development/python-modules/resolvelib/default.nix
index f5c1f435726..30345ae654e 100644
--- a/pkgs/development/python-modules/resolvelib/default.nix
+++ b/pkgs/development/python-modules/resolvelib/default.nix
@@ -26,6 +26,10 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pythonImportsCheck = [
+    "resolvelib"
+  ];
+
   meta = with lib; {
     description = "Resolve abstract dependencies into concrete ones";
     homepage = "https://github.com/sarugaku/resolvelib";
diff --git a/pkgs/development/python-modules/responses/default.nix b/pkgs/development/python-modules/responses/default.nix
index cff31f782c5..86e37419c72 100644
--- a/pkgs/development/python-modules/responses/default.nix
+++ b/pkgs/development/python-modules/responses/default.nix
@@ -1,8 +1,6 @@
 { lib
 , buildPythonPackage
-, cookies
 , fetchPypi
-, mock
 , pytest-localserver
 , pytestCheckHook
 , pythonOlder
@@ -13,21 +11,20 @@
 
 buildPythonPackage rec {
   pname = "responses";
-  version = "0.16.0";
+  version = "0.17.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-ouOsoqgnfmElfNOxwVSx3Q14Kxrj04t/o3y+P+tTF5E=";
+    hash = "sha256-7GdeCA0Gv40fteWmih5c0N9GsJx4IwMV9lCvXkA2vsc=";
   };
 
   propagatedBuildInputs = [
     requests
-    urllib3
     six
-  ] ++ lib.optionals (pythonOlder "3.4") [
-    cookies
-  ] ++ lib.optionals (pythonOlder "3.3") [
-    mock
+    urllib3
   ];
 
   checkInputs = [
@@ -35,7 +32,9 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pythonImportsCheck = [ "responses" ];
+  pythonImportsCheck = [
+    "responses"
+  ];
 
   meta = with lib; {
     description = "Python module for mocking out the requests Python library";
diff --git a/pkgs/development/python-modules/respx/default.nix b/pkgs/development/python-modules/respx/default.nix
index d085d43008b..51d88446c0b 100644
--- a/pkgs/development/python-modules/respx/default.nix
+++ b/pkgs/development/python-modules/respx/default.nix
@@ -12,13 +12,13 @@
 
 buildPythonPackage rec {
   pname = "respx";
-  version = "0.19.0";
+  version = "0.19.1";
 
   src = fetchFromGitHub {
     owner = "lundberg";
     repo = pname;
     rev = version;
-    sha256 = "sha256-xiAt42kc1+rro99KMwzYKi3XC+wxYVqOY11tM+M/uV8=";
+    sha256 = "134h9526md242p7ql0cpknqvkpd3fhxk2vridkvswg91f532w180";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/retworkx/default.nix b/pkgs/development/python-modules/retworkx/default.nix
index f4490c72876..62b419def88 100644
--- a/pkgs/development/python-modules/retworkx/default.nix
+++ b/pkgs/development/python-modules/retworkx/default.nix
@@ -17,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "retworkx";
-  version = "0.9.0";
+  version = "0.11.0";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
@@ -25,13 +25,13 @@ buildPythonPackage rec {
     owner = "Qiskit";
     repo = "retworkx";
     rev = version;
-    hash = "sha256-1W7DexS+ECAPsxyZAF36xcEguFkjUMX9lDBylNVPqyk=";
+    hash = "sha256-o3XPMTaiFH5cBtyqtW650wiDBElLvCmERr2XwwdPO1c=";
   };
 
   cargoDeps = rustPlatform.fetchCargoTarball {
     inherit src;
     name = "${pname}-${version}";
-    hash = "sha256-y5l7jqrlk3ONHefZPS31IvcaO9ttXWLM7fIUmNVwbco=";
+    hash = "sha256-Zhk4m+HNtimhPWfiBLi9dqJ0fp2D8d0u9k6ROG0/jBo=";
   };
 
   nativeBuildInputs = with rustPlatform; [ cargoSetupHook maturinBuildHook ];
diff --git a/pkgs/development/python-modules/rfc3986/default.nix b/pkgs/development/python-modules/rfc3986/default.nix
index 71a7d0730bd..f8fcc9aef7a 100644
--- a/pkgs/development/python-modules/rfc3986/default.nix
+++ b/pkgs/development/python-modules/rfc3986/default.nix
@@ -1,17 +1,34 @@
-{ lib, buildPythonPackage, fetchPypi, idna, pytestCheckHook }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, idna
+, pytestCheckHook
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "rfc3986";
-  version = "1.5.0";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "270aaf10d87d0d4e095063c65bf3ddbc6ee3d0b226328ce21e036f946e421835";
+    sha256 = "sha256-l6rPnb1L/YKbqtbmMJ+mVzqvG+P2+nNcirBeRs7LJhw=";
   };
 
-  propagatedBuildInputs = [ idna ];
+  propagatedBuildInputs = [
+    idna
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  checkInputs = [ pytestCheckHook ];
+  pythonImportsCheck = [
+    "rfc3986"
+  ];
 
   meta = with lib; {
     description = "Validating URI References per RFC 3986";
diff --git a/pkgs/development/python-modules/rki-covid-parser/default.nix b/pkgs/development/python-modules/rki-covid-parser/default.nix
index ec201fcd9f5..928723897b5 100644
--- a/pkgs/development/python-modules/rki-covid-parser/default.nix
+++ b/pkgs/development/python-modules/rki-covid-parser/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "rki-covid-parser";
-  version = "1.3.1";
+  version = "1.3.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "thebino";
     repo = pname;
     rev = "v${version}";
-    sha256 = "UTLWBbNjvRuBwc5JD8l+izJu5vODLwS16ExdxUPT14A=";
+    sha256 = "sha256-e0MJjE4zgBPL+vt9EkgsdGrgqUyKK/1S9ZFxy56PUjc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/rlp/default.nix b/pkgs/development/python-modules/rlp/default.nix
index eca38c08f01..ec735c057ab 100644
--- a/pkgs/development/python-modules/rlp/default.nix
+++ b/pkgs/development/python-modules/rlp/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "rlp";
-  version = "2.0.1";
+  version = "3.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "665e8312750b3fc5f7002e656d05b9dcb6e93b6063df40d95c49ad90c19d1f0e";
+    sha256 = "63b0465d2948cd9f01de449d7adfb92d207c1aef3982f20310f8009be4a507e8";
   };
 
   checkInputs = [ pytest hypothesis ];
diff --git a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
index ed2ba7155c7..012d899ef2a 100644
--- a/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
+++ b/pkgs/development/python-modules/robotframework-seleniumlibrary/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub, python, robotframework, selenium, mockito, robotstatuschecker, approvaltests }:
 
 buildPythonPackage rec {
-  version = "5.1.3";
+  version = "6.0.0";
   pname = "robotframework-seleniumlibrary";
 
   # no tests included in PyPI tarball
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "robotframework";
     repo = "SeleniumLibrary";
     rev = "v${version}";
-    sha256 = "1djlrbrgd7v15xk5w90xk7iy98cr1p2g57k614gvbd298dmnf2wd";
+    sha256 = "1rjzz6mrx4zavcck2ry8269rf3dkvvs1qfa9ra7dkppbarrjin3f";
   };
 
   propagatedBuildInputs = [ robotframework selenium ];
diff --git a/pkgs/development/python-modules/robotstatuschecker/default.nix b/pkgs/development/python-modules/robotstatuschecker/default.nix
index 81226a23452..63e87609ac2 100644
--- a/pkgs/development/python-modules/robotstatuschecker/default.nix
+++ b/pkgs/development/python-modules/robotstatuschecker/default.nix
@@ -1,7 +1,7 @@
 { lib, buildPythonPackage, fetchFromGitHub, python, robotframework }:
 
 buildPythonPackage rec {
-  version = "1.3";
+  version = "2.1.0";
   pname = "robotstatuschecker";
 
   # no tests included in PyPI tarball
@@ -9,7 +9,7 @@ buildPythonPackage rec {
     owner = "robotframework";
     repo = "statuschecker";
     rev = version;
-    sha256 = "0rppwwpp4djn5c43x7icwslnxbzcfnnn3c6awpg1k97j69d2nmln";
+    sha256 = "0hy1390j3l4kkfna9x9xax4y5mqaa3hdndv3fiyg9wr5f7sx3wnz";
   };
 
   propagatedBuildInputs = [ robotframework ];
diff --git a/pkgs/development/python-modules/rokuecp/default.nix b/pkgs/development/python-modules/rokuecp/default.nix
index c350f1df7d3..32c5d552ff3 100644
--- a/pkgs/development/python-modules/rokuecp/default.nix
+++ b/pkgs/development/python-modules/rokuecp/default.nix
@@ -16,7 +16,7 @@
 
 buildPythonPackage rec {
   pname = "rokuecp";
-  version = "0.13.1";
+  version = "0.14.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.9";
@@ -25,7 +25,7 @@ buildPythonPackage rec {
     owner = "ctalkington";
     repo = "python-rokuecp";
     rev = version;
-    hash = "sha256-6bHEg7bpqldLDr3UX42GUg7kIDHVxtnVnrFr8CvTJU4=";
+    hash = "sha256-K9R//xbyXaJ+AHmt42Fv40j43UkvKVyAFiXAq+P4mh8=";
   };
 
   nativeBuildInputs = [
@@ -56,6 +56,8 @@ buildPythonPackage rec {
   disabledTests = [
     # https://github.com/ctalkington/python-rokuecp/issues/249
     "test_resolve_hostname"
+    # Assertion issue
+    "test_guess_stream_format"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/roonapi/default.nix b/pkgs/development/python-modules/roonapi/default.nix
index ccc5749387b..84909ca0565 100644
--- a/pkgs/development/python-modules/roonapi/default.nix
+++ b/pkgs/development/python-modules/roonapi/default.nix
@@ -11,15 +11,16 @@
 
 buildPythonPackage rec {
   pname = "roonapi";
-  version = "0.0.38";
+  version = "0.1.1";
   format = "pyproject";
+
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "pavoni";
     repo = "pyroon";
     rev = version;
-    sha256 = "sha256-vXx7MgoGjBPdx7uKUtAVqlXphPJYt5SyuTo2JlKia60=";
+    sha256 = "sha256-GEgm250uALTXIEMBWmluqGw/dw2TfGmUIcItfzonGkU=";
   };
 
   nativeBuildInputs = [
@@ -36,7 +37,9 @@ buildPythonPackage rec {
   # Tests require access to the Roon API
   doCheck = false;
 
-  pythonImportsCheck = [ "roonapi" ];
+  pythonImportsCheck = [
+    "roonapi"
+  ];
 
   meta = with lib; {
     description = "Python library to interface with the Roon API";
diff --git a/pkgs/development/python-modules/rtmidi-python/default.nix b/pkgs/development/python-modules/rtmidi-python/default.nix
index e1565fa6c30..02bb45fd6bc 100644
--- a/pkgs/development/python-modules/rtmidi-python/default.nix
+++ b/pkgs/development/python-modules/rtmidi-python/default.nix
@@ -1,4 +1,13 @@
-{ lib, buildPythonPackage, fetchPypi, cython, alsa-lib }:
+{ lib
+, stdenv
+, buildPythonPackage
+, fetchPypi
+, cython
+, alsa-lib
+, CoreAudio
+, CoreMIDI
+, CoreServices
+}:
 
 buildPythonPackage rec {
   pname = "rtmidi-python";
@@ -14,7 +23,13 @@ buildPythonPackage rec {
   '';
 
   nativeBuildInputs = [ cython ];
-  buildInputs = [ alsa-lib ];
+  buildInputs = lib.optionals stdenv.isLinux [
+    alsa-lib
+  ] ++ lib.optionals stdenv.isDarwin [
+    CoreAudio
+    CoreMIDI
+    CoreServices
+  ];
 
   setupPyBuildFlags = [ "--from-cython" ];
 
diff --git a/pkgs/development/python-modules/ruamel-yaml-clib/default.nix b/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
index b12920fc764..143452274ab 100644
--- a/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
+++ b/pkgs/development/python-modules/ruamel-yaml-clib/default.nix
@@ -5,12 +5,13 @@
 
 buildPythonPackage rec {
   pname = "ruamel-yaml-clib";
-  version = "0.2.4";
+  version = "0.2.6";
+  format = "setuptools";
 
   src = fetchhg {
     url = "http://hg.code.sf.net/p/ruamel-yaml-clib/code";
     rev = version;
-    sha256 = "sha256-HQZY1opUvVQdXUHmsZmcYX2vfgjKsl6xATmVIXjnBlc=";
+    sha256 = "sha256-mpkh9JhYKRX47jfKprjt1Vpm9DMz8LcWzkotJ+/xoxY=";
   };
 
   # no tests
diff --git a/pkgs/development/python-modules/ruamel-yaml/default.nix b/pkgs/development/python-modules/ruamel-yaml/default.nix
index 4b6774a4f9f..79f21ba6aab 100644
--- a/pkgs/development/python-modules/ruamel-yaml/default.nix
+++ b/pkgs/development/python-modules/ruamel-yaml/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "ruamel-yaml";
-  version = "0.17.17";
+  version = "0.17.20";
 
   src = fetchPypi {
     pname = "ruamel.yaml";
     inherit version;
-    sha256 = "9751de4cbb57d4bfbf8fc394e125ed4a2f170fbff3dc3d78abf50be85924f8be";
+    sha256 = "sha256-S4ozwe+ytEOpP8qvz6TS5EX46MKcUo2fXNr7fMnkAEw=";
   };
 
   # Tests use relative paths
diff --git a/pkgs/development/python-modules/rxv/default.nix b/pkgs/development/python-modules/rxv/default.nix
index 728d56527bb..9d59efd9bd3 100644
--- a/pkgs/development/python-modules/rxv/default.nix
+++ b/pkgs/development/python-modules/rxv/default.nix
@@ -10,6 +10,7 @@
 , pythonOlder
 , requests
 , requests-mock
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -26,6 +27,12 @@ buildPythonPackage rec {
     sha256 = "0jldnlzbfg5jm1nbgv91mlvcqkswd9f2n3qj9aqlbmj1cxq19yz8";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     defusedxml
     requests
diff --git a/pkgs/development/python-modules/s3fs/default.nix b/pkgs/development/python-modules/s3fs/default.nix
index 22d7eb1a09f..d90d1052282 100644
--- a/pkgs/development/python-modules/s3fs/default.nix
+++ b/pkgs/development/python-modules/s3fs/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "s3fs";
-  version = "2021.11.1";
+  version = "2022.1.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1a9ea7596663cda3a5dc6802f11eb468b397de35a8793750e9a98c65abd1a114";
+    sha256 = "6bafc1f6b4e935ea59512c0f38d5cb9c299dbbfe738e40c3d1de8f67b4ee1fd4";
   };
 
   buildInputs = [
diff --git a/pkgs/development/python-modules/sagemaker/default.nix b/pkgs/development/python-modules/sagemaker/default.nix
index 20da548c0e6..80c4bd92a38 100644
--- a/pkgs/development/python-modules/sagemaker/default.nix
+++ b/pkgs/development/python-modules/sagemaker/default.nix
@@ -17,14 +17,14 @@
 
 buildPythonPackage rec {
   pname = "sagemaker";
-  version = "2.74.0";
+  version = "2.75.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "14215f5077151a7f32ca048ff7fad63c977d7cdeadc93d93c8957efbe3c89ba6";
+    sha256 = "sha256-MN/F7TWaKsQpKMR7Pxx0Vam1+O+PFEJ/H5jLJh3zpe4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sanic-testing/default.nix b/pkgs/development/python-modules/sanic-testing/default.nix
index c99a78e0cc1..4bc446c2e14 100644
--- a/pkgs/development/python-modules/sanic-testing/default.nix
+++ b/pkgs/development/python-modules/sanic-testing/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "sanic-testing";
-  version = "0.7.0";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "sanic-org";
     repo = "sanic-testing";
     rev = "v${version}";
-    sha256 = "0ib6rf1ly1059lfprc3hpmy377c3wfgfhnar6n4jgbxiyin7vzm7";
+    sha256 = "17fbb78gvic5s9nlcgwj817fq1f9j9d1d7z6n2ahhinmvyzl9gc8";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sanic/default.nix b/pkgs/development/python-modules/sanic/default.nix
index 2fab2a3df88..660ca5de80b 100644
--- a/pkgs/development/python-modules/sanic/default.nix
+++ b/pkgs/development/python-modules/sanic/default.nix
@@ -23,7 +23,7 @@
 
 buildPythonPackage rec {
   pname = "sanic";
-  version = "21.9.3";
+  version = "21.12.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -32,7 +32,7 @@ buildPythonPackage rec {
     owner = "sanic-org";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0m18jdw1mvf7jhpnrxhm96p24pxvv0h9m71a8c7sqqkwnnpa3p5i";
+    sha256 = "0jyl23q7b7fyqzan97qflkqcvmfpzbxbzv0qgygxasrzh80zx67g";
   };
 
   postPatch = ''
@@ -73,9 +73,24 @@ buildPythonPackage rec {
   preCheck = ''
     # Some tests depends on sanic on PATH
     PATH="$out/bin:$PATH"
+    PYTHONPATH=$PWD:$PYTHONPATH
+
+    # needed for relative paths for some packages
+    cd tests
   '';
 
+  # uvloop usage is buggy
+  #SANIC_NO_UVLOOP = true;
+
+  pytestFlagsArray = [
+    "--asyncio-mode=auto"
+  ];
+
   disabledTests = [
+    # Lack of uvloop setup through fixtures
+    "test_create_asyncio_server"
+    "test_listeners_triggered_async"
+    "test_tls_options"
     # Tests are flaky
     "test_keep_alive_client_timeout"
     "test_check_timeouts_request_timeout"
@@ -103,6 +118,14 @@ buildPythonPackage rec {
     "test_version"
   ];
 
+  disabledTestPaths = [
+    # unable to create async loop
+    "test_app.py"
+    "test_asgi.py"
+    # occasionally hangs
+    "test_multiprocessing.py"
+  ];
+
   # avoid usage of nixpkgs-review in darwin since tests will compete usage
   # for the same local port
   __darwinAllowLocalNetworking = true;
diff --git a/pkgs/development/python-modules/sapi-python-client/default.nix b/pkgs/development/python-modules/sapi-python-client/default.nix
index 58cdfe646c6..8375c62e979 100644
--- a/pkgs/development/python-modules/sapi-python-client/default.nix
+++ b/pkgs/development/python-modules/sapi-python-client/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
     pname = "sapi-python-client";
-    version = "0.1.3";
+    version = "0.4.1";
 
     src = fetchFromGitHub {
         owner = "keboola";
         repo = pname;
         rev  = version;
-        sha256 = "1xja4v5d30hy26lfys21vcz1lcs88v8mvjxwl2dc3wxx2pzdvcf6";
+        sha256 = "189dzj06vzp7366h2qsfvbjmw9qgl7jbp8syhynn9yvrjqp4k8h3";
     };
 
     postPatch = ''
diff --git a/pkgs/development/python-modules/scikit-fmm/default.nix b/pkgs/development/python-modules/scikit-fmm/default.nix
index c18f2934c23..4f823a54580 100644
--- a/pkgs/development/python-modules/scikit-fmm/default.nix
+++ b/pkgs/development/python-modules/scikit-fmm/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "scikit-fmm";
-  version = "2021.10.29";
+  version = "2022.2.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "799f36e918a2b64ed8434d6c4fef3a1a47757055955c240fba0d4aadccca26b2";
+    sha256 = "sha256-0Pvm6Sn0OWOwEX7E4OhBwo2hxzQmGzV2Yvytkm14+ls=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-survival/default.nix b/pkgs/development/python-modules/scikit-survival/default.nix
index e490d502943..69b9bf05467 100644
--- a/pkgs/development/python-modules/scikit-survival/default.nix
+++ b/pkgs/development/python-modules/scikit-survival/default.nix
@@ -8,6 +8,7 @@
 , numpy
 , osqp
 , pandas
+, setuptools-scm
 , scikit-learn
 , scipy
 , pytestCheckHook
@@ -24,6 +25,7 @@ buildPythonPackage rec {
 
   nativeBuildInputs = [
     cython
+    setuptools-scm
   ];
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scikit-tda/default.nix b/pkgs/development/python-modules/scikit-tda/default.nix
index bf3e1d1ef46..cf2e524337d 100644
--- a/pkgs/development/python-modules/scikit-tda/default.nix
+++ b/pkgs/development/python-modules/scikit-tda/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "scikit-tda";
-  version = "0.0.4";
+  version = "1.0.0";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "scikit-tda";
     repo = "scikit-tda";
-    rev = version;
-    sha256 = "0a90k6i9fkmc9gf250b4fidx2fzd2qrn025l74mjk51fvf23q13a";
+    rev = "v${version}";
+    sha256 = "0yhmf5jmxywyj6l9q0rfv9r8wpdk063fvvfnb4azwwccblgz37rj";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/scp/default.nix b/pkgs/development/python-modules/scp/default.nix
index e62581057d0..a8a152b0a34 100644
--- a/pkgs/development/python-modules/scp/default.nix
+++ b/pkgs/development/python-modules/scp/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "scp";
-  version = "0.14.2";
+  version = "0.14.4";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "713f117413bbd616a1a7da8f07db9adcd835ce73d8585fb469ea5b5785f92e4d";
+    sha256 = "sha256-VGmbkstorjS1koxIqIjquXIqISUCy6iap5W9Vll1Bb0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/seatconnect/default.nix b/pkgs/development/python-modules/seatconnect/default.nix
index bc02e81e2ba..25b1773472f 100644
--- a/pkgs/development/python-modules/seatconnect/default.nix
+++ b/pkgs/development/python-modules/seatconnect/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "seatconnect";
-  version = "1.1.5";
+  version = "1.1.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "farfar";
     repo = pname;
     rev = version;
-    hash = "sha256-NA/UiapJ/SyUmrj9hd2xGV5WWy1KhxwQtqGLV73TfHk=";
+    hash = "sha256-8ZqqNDLygHgtUzTgdb34+4BHuStXJXnl9fBfo0WSNZw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/secp256k1/default.nix b/pkgs/development/python-modules/secp256k1/default.nix
index 1637814cadd..cfcc235f150 100644
--- a/pkgs/development/python-modules/secp256k1/default.nix
+++ b/pkgs/development/python-modules/secp256k1/default.nix
@@ -36,7 +36,8 @@ buildPythonPackage rec {
   '';
 
   postPatch = ''
-    sed -i '38,45d' setup.py
+    # don't do hacky tarball download + setuptools check
+    sed -i '38,54d' setup.py
     substituteInPlace setup.py --replace ", 'pytest-runner==2.6.2'" ""
   '';
 
diff --git a/pkgs/development/python-modules/sendgrid/default.nix b/pkgs/development/python-modules/sendgrid/default.nix
index 4b1d79d0e57..c9b6d7c9680 100644
--- a/pkgs/development/python-modules/sendgrid/default.nix
+++ b/pkgs/development/python-modules/sendgrid/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "sendgrid";
-  version = "6.9.5";
+  version = "6.9.6";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = "sendgrid-python";
     rev = version;
-    sha256 = "1r8xh0c6wivrajj6gl1hv25vsb9i79n19nd4x53207i5vz9d55g5";
+    sha256 = "sha256-6MkAtkbKVoa8UatG92RzbCdAM+WsQN2WnOIh4pRoUVk=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sense-energy/default.nix b/pkgs/development/python-modules/sense-energy/default.nix
index 31ae4879e26..57a7e367d72 100644
--- a/pkgs/development/python-modules/sense-energy/default.nix
+++ b/pkgs/development/python-modules/sense-energy/default.nix
@@ -9,14 +9,14 @@
 
 buildPythonPackage rec {
   pname = "sense-energy";
-  version = "0.9.6";
+  version = "0.10.2";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "scottbonline";
     repo = "sense";
     rev = version;
-    hash = "sha256-A4FSL+T2tWGEYmjOFsf99Sn17IT7HP7/ILQjUiPUl0A=";
+    hash = "sha256-0D0AagmLozF5nLbdcmtE9q65vG2WxWv+hZLTnjmmfEY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sentry-sdk/default.nix b/pkgs/development/python-modules/sentry-sdk/default.nix
index a2c8ea95849..dbb85c91110 100644
--- a/pkgs/development/python-modules/sentry-sdk/default.nix
+++ b/pkgs/development/python-modules/sentry-sdk/default.nix
@@ -40,14 +40,14 @@
 
 buildPythonPackage rec {
   pname = "sentry-sdk";
-  version = "1.5.4";
+  version = "1.5.6";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-python";
     rev = version;
-    sha256 = "sha256-MZ1J2Stq+pRoeJ05hv8cSpxtaeRGaJEWAtidbr8YP88=";
+    sha256 = "sha256-PxoxOeFdmmfpXBnGs9D5aKP6vlGKx9nPO3ngYuTa+Rs=";
   };
 
   propagatedBuildInputs = [
@@ -107,8 +107,9 @@ buildPythonPackage rec {
     "test_start_sentry_listener"
     # Failing threading test
     "test_circular_references"
-    # Failing wsgi test
+    # Failing wsgi tests
     "test_session_mode_defaults_to_request_mode_in_wsgi_handler"
+    "test_auto_session_tracking_with_aggregates"
     # Network requests to public web
     "test_crumb_capture"
   ];
diff --git a/pkgs/development/python-modules/setupmeta/default.nix b/pkgs/development/python-modules/setupmeta/default.nix
index 07b521ee949..c42565082cf 100644
--- a/pkgs/development/python-modules/setupmeta/default.nix
+++ b/pkgs/development/python-modules/setupmeta/default.nix
@@ -23,14 +23,25 @@ buildPythonPackage rec {
     sha256 = "21hABRiY8CTKkpFjePgBAtjs4/G5eFS3aPNMCBC41CY=";
   };
 
+  preBuild = ''
+    export PYGRADLE_PROJECT_VERSION=${version};
+  '';
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   checkInputs = [
     git
     mock
     pep440
     pytestCheckHook
-    setuptools-scm
   ];
 
+  preCheck = ''
+    unset PYGRADLE_PROJECT_VERSION
+  '';
+
   disabledTests = [
     # Tests want to scan site-packages
     "test_check_dependencies"
diff --git a/pkgs/development/python-modules/setuptools-rust/default.nix b/pkgs/development/python-modules/setuptools-rust/default.nix
index 81276f4e338..2ab609c7d0c 100644
--- a/pkgs/development/python-modules/setuptools-rust/default.nix
+++ b/pkgs/development/python-modules/setuptools-rust/default.nix
@@ -6,22 +6,23 @@
 , semantic-version
 , setuptools
 , setuptools-scm
+, typing-extensions
 , toml
 }:
 
 buildPythonPackage rec {
   pname = "setuptools-rust";
-  version = "0.12.1";
+  version = "1.1.2";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "647009e924f0ae439c7f3e0141a184a69ad247ecb9044c511dabde232d3d570e";
+    sha256 = "a0adb9b503c0ffc4e8fe80b7c617898cefa78049983aaaea7f747e153a3e65d1";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
 
-  propagatedBuildInputs = [ semantic-version setuptools toml ];
+  propagatedBuildInputs = [ semantic-version setuptools toml typing-extensions ];
 
   doCheck = false;
   pythonImportsCheck = [ "setuptools_rust" ];
diff --git a/pkgs/development/python-modules/setuptools-scm/default.nix b/pkgs/development/python-modules/setuptools-scm/default.nix
index 62568869b7b..c175cfb4c60 100644
--- a/pkgs/development/python-modules/setuptools-scm/default.nix
+++ b/pkgs/development/python-modules/setuptools-scm/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "setuptools-scm";
-  version = "6.3.2";
+  version = "6.4.2";
 
   src = fetchPypi {
     pname = "setuptools_scm";
     inherit version;
-    sha256 = "1wm0i27siyy1yqr9rv7lqvb65agay9051yi8jzmi8dgb3q4ai6m4";
+    sha256 = "sha256-aDOsZcbtlxGk1dImb4Akz6B8UzoOVfTBL27/KApanjA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/shodan/default.nix b/pkgs/development/python-modules/shodan/default.nix
index 772b38be30f..800bb0f2f4c 100644
--- a/pkgs/development/python-modules/shodan/default.nix
+++ b/pkgs/development/python-modules/shodan/default.nix
@@ -11,14 +11,14 @@
 
 buildPythonPackage rec {
   pname = "shodan";
-  version = "1.26.1";
+  version = "1.27.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-8oJ7QNaRiYjvn18W3LihM4OqrhooRYmPcBLqyJBru4c=";
+    sha256 = "sha256-XkrnBuALYxZ6n/f34PM0QvxqxvC08mKci9Mswwf41VA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/simple-di/default.nix b/pkgs/development/python-modules/simple-di/default.nix
index 612d913b7b6..c79b58f8a62 100644
--- a/pkgs/development/python-modules/simple-di/default.nix
+++ b/pkgs/development/python-modules/simple-di/default.nix
@@ -8,13 +8,16 @@
 }:
 
 buildPythonPackage rec {
-  pname = "simple_di";
-  version = "0.1.4";
+  pname = "simple-di";
+  version = "0.1.5";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
-    inherit pname version;
-    sha256 = "2667f2b9095e86c7726b3853c30b37f527f7d247282c7dd0b3428a7fb5d1a8a9";
+    pname = "simple_di";
+    inherit version;
+    hash = "sha256-GSuZne5M1PsRpdhhFlyq0C2PBhfA+Ab8Wwn5BfGgPKA=";
   };
 
   propagatedBuildInputs = [
@@ -31,10 +34,10 @@ buildPythonPackage rec {
   # pypi distribution contains no tests
   doCheck = false;
 
-  meta = {
+  meta = with lib; {
     description = "Simple dependency injection library";
     homepage = "https://github.com/bentoml/simple_di";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ sauyon ];
+    license = licenses.asl20;
+    maintainers = with maintainers; [ sauyon ];
   };
 }
diff --git a/pkgs/development/python-modules/simplefix/default.nix b/pkgs/development/python-modules/simplefix/default.nix
index 6e498ebeaea..fc241ce278a 100644
--- a/pkgs/development/python-modules/simplefix/default.nix
+++ b/pkgs/development/python-modules/simplefix/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "simplefix";
-  version = "1.0.14";
+  version = "1.0.15";
 
   src = fetchFromGitHub {
     repo = "simplefix";
     owner = "da4089";
     rev = "v${version}";
-    sha256 = "1qccb63w6swq7brp0zinkkngpazmb25r21adry5cq6nniqs5g5zx";
+    sha256 = "sha256-GQHMotxNRuRv6zXhrD02T+aFgfYe3RnvUGADsBeSPbA=";
   };
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/simplisafe-python/default.nix b/pkgs/development/python-modules/simplisafe-python/default.nix
index 30d6610f773..fa813c4b5fd 100644
--- a/pkgs/development/python-modules/simplisafe-python/default.nix
+++ b/pkgs/development/python-modules/simplisafe-python/default.nix
@@ -19,7 +19,7 @@
 
 buildPythonPackage rec {
   pname = "simplisafe-python";
-  version = "2022.02.0";
+  version = "2022.02.1";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
     owner = "bachya";
     repo = pname;
     rev = version;
-    sha256 = "sha256-f3kRBqBQQwo74fDFVLE5pZArsmc8iFgU/onifKy2vNQ=";
+    sha256 = "sha256-r+TcSzFkEGRsuTtEHBT/GMNa9r6GsIyvbLaF32cFfeQ=";
   };
 
   nativeBuildInputs = [
@@ -40,7 +40,6 @@ buildPythonPackage rec {
     backoff
     docutils
     pytz
-    types-pytz
     voluptuous
     websockets
   ];
@@ -51,6 +50,7 @@ buildPythonPackage rec {
     pytest-aiohttp
     pytest-asyncio
     pytestCheckHook
+    types-pytz
   ];
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/skodaconnect/default.nix b/pkgs/development/python-modules/skodaconnect/default.nix
index 16ffaf9393a..7fe887d3ea1 100644
--- a/pkgs/development/python-modules/skodaconnect/default.nix
+++ b/pkgs/development/python-modules/skodaconnect/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "skodaconnect";
-  version = "1.1.17";
+  version = "1.1.19";
   format = "setuptools";
 
   disabled = pythonOlder "3.8";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "lendy007";
     repo = pname;
     rev = version;
-    hash = "sha256-aMyowz5+4Iu7bb8FSnHzx6QGp1WzzMXQZI23OZcr/kM=";
+    hash = "sha256-IbCGveRcn6Kn0kGw+/kWTBTqCdWqsPTv6aPq71vc1mw=";
   };
 
   SETUPTOOLS_SCM_PRETEND_VERSION = version;
diff --git a/pkgs/development/python-modules/slack-sdk/default.nix b/pkgs/development/python-modules/slack-sdk/default.nix
index 8a8957459ee..7b94067aeee 100644
--- a/pkgs/development/python-modules/slack-sdk/default.nix
+++ b/pkgs/development/python-modules/slack-sdk/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "slack-sdk";
-  version = "3.13.0";
+  version = "3.15.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -29,7 +29,7 @@ buildPythonPackage rec {
     owner = "slackapi";
     repo = "python-slack-sdk";
     rev = "v${version}";
-    sha256 = "sha256-L12faNLwjlEkJZ9s9aIyUHSk7x3n908EHCYU9jECiYQ=";
+    sha256 = "sha256-N8JvNK1ddlCabzCmEv9TItqXDT7A4Dt8dhMLBICWXHA=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/slowapi/default.nix b/pkgs/development/python-modules/slowapi/default.nix
index 9ae293e455c..430c17dfb61 100644
--- a/pkgs/development/python-modules/slowapi/default.nix
+++ b/pkgs/development/python-modules/slowapi/default.nix
@@ -7,6 +7,7 @@
 , hiro
 , poetry-core
 , pytestCheckHook
+, pythonAtLeast
 , pythonOlder
 , redis
 , starlette
@@ -16,6 +17,7 @@ buildPythonPackage rec {
   pname = "slowapi";
   version = "0.1.5";
   format = "pyproject";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
@@ -42,13 +44,23 @@ buildPythonPackage rec {
     starlette
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'limits = "^1.5"' 'limits = "*"' \
+      --replace 'redis = "^3.4.1"' 'redis = "*"'
+  '';
+
   disabledTests = [
-    # E       AssertionError: Regex pattern 'parameter `request` must be an instance of starlette.requests.Request' does not match 'This portal is not running'.
+    # AssertionError: Regex pattern 'parameter `request` must be an instance of starlette.requests.Request' does not match 'This portal is not running'.
     "test_endpoint_request_param_invalid"
     "test_endpoint_response_param_invalid"
+  ] ++ lib.optionals (pythonAtLeast "3.10") [
+    "test_multiple_decorators"
   ];
 
-  pythonImportsCheck = [ "slowapi" ];
+  pythonImportsCheck = [
+    "slowapi"
+  ];
 
   meta = with lib; {
     description = "Python library for API rate limiting";
diff --git a/pkgs/development/python-modules/smmap/default.nix b/pkgs/development/python-modules/smmap/default.nix
index 800cf084258..5e8344e3d63 100644
--- a/pkgs/development/python-modules/smmap/default.nix
+++ b/pkgs/development/python-modules/smmap/default.nix
@@ -2,10 +2,10 @@
 
 buildPythonPackage rec {
   pname = "smmap";
-  version = "4.0.0";
+  version = "5.0.0";
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7e65386bd122d45405ddf795637b7f7d2b532e7e401d46bbe3fb49b9986d5182";
+    sha256 = "c840e62059cd3be204b0c9c9f74be2c09d5648eddd4580d9314c3ecde0b30936";
   };
 
   checkInputs = [ nosexcover ];
diff --git a/pkgs/development/python-modules/soco/default.nix b/pkgs/development/python-modules/soco/default.nix
index ac95384fb6c..0922f8c10d2 100644
--- a/pkgs/development/python-modules/soco/default.nix
+++ b/pkgs/development/python-modules/soco/default.nix
@@ -15,14 +15,16 @@
 
 buildPythonPackage rec {
   pname = "soco";
-  version = "0.26.2";
+  version = "0.26.3";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "SoCo";
     repo = "SoCo";
     rev = "v${version}";
-    sha256 = "sha256-VOGdv3g11OzNeTlBwm8hRy6fThDKVKIlgQxR4b07y/8=";
+    hash = "sha256-tMW5SCsO1XMQdbasMw3qIMwj+Y6wTQHAmTZ+9r8Mffs=";
   };
 
   propagatedBuildInputs = [
@@ -39,15 +41,17 @@ buildPythonPackage rec {
     requests-mock
   ];
 
-  pythonImportsCheck = [ "soco" ];
+  pythonImportsCheck = [
+    "soco"
+  ];
 
   passthru.updateScript = nix-update-script {
     attrPath = "python3Packages.${pname}";
   };
 
   meta = with lib; {
+    description = "CLI and library to control Sonos speakers";
     homepage = "http://python-soco.com/";
-    description = "A CLI and library to control Sonos speakers";
     license = licenses.mit;
     maintainers = with maintainers; [ lovesegfault ];
   };
diff --git a/pkgs/development/python-modules/sopel/default.nix b/pkgs/development/python-modules/sopel/default.nix
index bc39bb998e8..bbc3f8edbf2 100644
--- a/pkgs/development/python-modules/sopel/default.nix
+++ b/pkgs/development/python-modules/sopel/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "sopel";
-  version = "7.1.7";
+  version = "7.1.8";
   disabled = isPyPy;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4eb12e9753162e4c19a1bfdd42aea9eb7f5f15e316a6609b925350792fb454fd";
+    sha256 = "sha256-zxb95GVcDrd3FG/k+0PLg+dVlMgQpf1ntG8jF/zpHH4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sorl_thumbnail/default.nix b/pkgs/development/python-modules/sorl_thumbnail/default.nix
index 4a6f1c1ae9d..61150ac45bb 100644
--- a/pkgs/development/python-modules/sorl_thumbnail/default.nix
+++ b/pkgs/development/python-modules/sorl_thumbnail/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "sorl-thumbnail";
-  version = "12.7.0";
+  version = "12.8.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fbe6dfd66a1aceb7e0203895ff5622775e50266f8d8cfd841fe1500bd3e19018";
+    sha256 = "sha256-7io8nwuInlmRk4PTeB8TF9ycSSf7RLIvsUN/b+cFS5Y=";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/spacy-transformers/default.nix b/pkgs/development/python-modules/spacy-transformers/default.nix
index 757c945f3f0..2f70732caa3 100644
--- a/pkgs/development/python-modules/spacy-transformers/default.nix
+++ b/pkgs/development/python-modules/spacy-transformers/default.nix
@@ -22,7 +22,7 @@ buildPythonPackage rec {
   };
 
   postPatch = ''
-    sed -i 's/transformers>=3.4.0,<4.12.0/transformers/' setup.cfg
+    sed -i 's/transformers>=3.4.0,<4.13.0/transformers/' setup.cfg
   '';
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/spacy/default.nix b/pkgs/development/python-modules/spacy/default.nix
index 05561e995a5..e8b46e99cc1 100644
--- a/pkgs/development/python-modules/spacy/default.nix
+++ b/pkgs/development/python-modules/spacy/default.nix
@@ -31,13 +31,13 @@
 
 buildPythonPackage rec {
   pname = "spacy";
-  version = "3.2.1";
+  version = "3.2.2";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9uusURYndAqMorEXuR71UVyPCy+xF6aevgHQEN1PxTw=";
+    sha256 = "sha256-s9mjYeHjwcGtD38kTyaH+s5CD+LWQtkpic01eUSn1w8=";
   };
 
   propagatedBuildInputs = [
@@ -64,6 +64,11 @@ buildPythonPackage rec {
     langcodes
   ] ++ lib.optional (pythonOlder "3.8") typing-extensions;
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pydantic>=1.7.4,!=1.8,!=1.8.1,<1.9.0" "pydantic~=1.2"
+  '';
+
   checkInputs = [
     pytest
   ];
diff --git a/pkgs/development/python-modules/spectral-cube/default.nix b/pkgs/development/python-modules/spectral-cube/default.nix
index b11ca178fc7..fae812319ec 100644
--- a/pkgs/development/python-modules/spectral-cube/default.nix
+++ b/pkgs/development/python-modules/spectral-cube/default.nix
@@ -12,6 +12,7 @@
 , pytestCheckHook
 , pytest-astropy
 , astropy-helpers
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -24,6 +25,12 @@ buildPythonPackage rec {
     sha256 = "1c0pp82wgl680w2vcwlrrz46sy83z1qs74w5bd691wg0512hv2jx";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [ astropy casa-formats-io radio_beam joblib six dask ];
   checkInputs = [ pytestCheckHook aplpy pytest-astropy ];
 
diff --git a/pkgs/development/python-modules/sphinx-copybutton/default.nix b/pkgs/development/python-modules/sphinx-copybutton/default.nix
index 8d408d300c7..259a7dde28b 100644
--- a/pkgs/development/python-modules/sphinx-copybutton/default.nix
+++ b/pkgs/development/python-modules/sphinx-copybutton/default.nix
@@ -6,13 +6,13 @@
 
 buildPythonPackage rec {
   pname = "sphinx-copybutton";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "executablebooks";
     repo = "sphinx-copybutton";
     rev = "v${version}";
-    sha256 = "sha256-vrEIvQeP7AMXSme1PBp0ox5k8Q1rz+1cbHIO+o17Jqc=";
+    sha256 = "sha256-W27kCU/8NHoBtiAyA+CgNa00j6ck3CAaq1hLLGo60Ro=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/python-modules/sphinx-jinja/default.nix b/pkgs/development/python-modules/sphinx-jinja/default.nix
index 6f721ad1a8f..7f5ea8c4241 100644
--- a/pkgs/development/python-modules/sphinx-jinja/default.nix
+++ b/pkgs/development/python-modules/sphinx-jinja/default.nix
@@ -2,11 +2,11 @@
 
 buildPythonPackage rec {
   pname = "sphinx-jinja";
-  version = "1.1.1";
+  version = "1.4.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "0hz13vc65zi4zmay40nz8wzxickv1q9zzl6x03qc7rvvapz0c91p";
+    sha256 = "e6614d986c0289cb85b016c25eb8cb9781ceb841e70bee639c5123f39ad90b38";
   };
 
   buildInputs = [ pbr ];
diff --git a/pkgs/development/python-modules/sphinx/default.nix b/pkgs/development/python-modules/sphinx/default.nix
index 75693f3657e..19961cc2ec1 100644
--- a/pkgs/development/python-modules/sphinx/default.nix
+++ b/pkgs/development/python-modules/sphinx/default.nix
@@ -8,12 +8,13 @@
 , alabaster
 , docutils
 , imagesize
+, importlib-metadata
 , jinja2
 , packaging
 , pygments
 , requests
-, setuptools
 , snowballstemmer
+, sphinxcontrib-apidoc
 , sphinxcontrib-applehelp
 , sphinxcontrib-devhelp
 , sphinxcontrib-htmlhelp
@@ -29,14 +30,14 @@
 
 buildPythonPackage rec {
   pname = "sphinx";
-  version = "4.3.1";
+  version = "4.4.0";
   disabled = pythonOlder "3.5";
 
   src = fetchFromGitHub {
     owner = "sphinx-doc";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8Yj6cPZFG8ycbbZtMR+fsIAOX0brxroi6nYjP+WhnxA=";
+    sha256 = "sha256-Q4CqPO08AfR+CDB02al65A+FHRFUDUfFTba0u8YQx+8=";
     extraPostFetch = ''
       cd $out
       mv tests/roots/test-images/testimäge.png \
@@ -54,7 +55,6 @@ buildPythonPackage rec {
     packaging
     pygments
     requests
-    setuptools
     snowballstemmer
     sphinxcontrib-applehelp
     sphinxcontrib-devhelp
@@ -64,6 +64,11 @@ buildPythonPackage rec {
     sphinxcontrib-serializinghtml
     # extra[docs]
     sphinxcontrib-websupport
+
+    # extra plugins which are otherwise not found by sphinx-build
+    sphinxcontrib-apidoc
+  ] ++ lib.optionals (pythonOlder "3.10") [
+    importlib-metadata
   ];
 
   checkInputs = [
@@ -114,6 +119,6 @@ buildPythonPackage rec {
     '';
     homepage = "https://www.sphinx-doc.org";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ ];
+    maintainers = teams.sphinx.members;
   };
 }
diff --git a/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix b/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
new file mode 100644
index 00000000000..c7bdb26b000
--- /dev/null
+++ b/pkgs/development/python-modules/sphinxcontrib-apidoc/default.nix
@@ -0,0 +1,34 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pbr
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-apidoc";
+  version = "0.3.0";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-cpv1ks97fdV8TAV5T3MtwCYScnXXhcKlSUUh/d53P7k=";
+  };
+
+  postPatch = ''
+    # break infite recursion, remove pytest 4 requirement
+    rm test-requirements.txt requirements.txt
+  '';
+
+  propagatedBuildInputs = [
+    pbr
+  ];
+
+  # Check is disabled due to circular dependency of sphinx
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Sphinx extension for running sphinx-apidoc on each build";
+    homepage = "https://github.com/sphinx-contrib/apidoc";
+    license = licenses.bsd2;
+    maintainers = teams.openstack.members;
+  };
+}
diff --git a/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix b/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix
index 9c3c16657f2..ef7a50382c6 100644
--- a/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-applehelp/default.nix
@@ -14,14 +14,13 @@ buildPythonPackage rec {
     sha256 = "a072735ec80e7675e3f432fcae8610ecf509c5f1869d17e2eecff44389cdbc58";
   };
 
-
   # Check is disabled due to circular dependency of sphinx
   doCheck = false;
 
   meta = with lib; {
     description = "sphinxcontrib-applehelp is a sphinx extension which outputs Apple help books";
-    homepage = "http://sphinx-doc.org/";
+    homepage = "https://github.com/sphinx-doc/sphinxcontrib-applehelp";
     license = licenses.bsd0;
+    maintainers = teams.sphinx.members;
   };
-
 }
diff --git a/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix b/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix
index 1f33c06b984..293f4c856ef 100644
--- a/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-devhelp/default.nix
@@ -12,14 +12,13 @@ buildPythonPackage rec {
     sha256 = "ff7f1afa7b9642e7060379360a67e9c41e8f3121f2ce9164266f61b9f4b338e4";
   };
 
-
   # Check is disabled due to circular dependency of sphinx
   doCheck = false;
 
   meta = with lib; {
     description = "sphinxcontrib-devhelp is a sphinx extension which outputs Devhelp document.";
-    homepage = "http://sphinx-doc.org/";
+    homepage = "https://github.com/sphinx-doc/sphinxcontrib-devhelp";
     license = licenses.bsd0;
+    maintainers = teams.sphinx.members;
   };
-
 }
diff --git a/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix b/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
index 51084adf6ed..901132176ed 100644
--- a/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-htmlhelp/default.nix
@@ -14,14 +14,13 @@ buildPythonPackage rec {
     sha256 = "f5f8bb2d0d629f398bf47d0d69c07bc13b65f75a81ad9e2f71a63d4b7a2f6db2";
   };
 
-
   # Check is disabled due to circular dependency of sphinx
   doCheck = false;
 
   meta = with lib; {
     description = "Sphinx extension which renders HTML help files";
-    homepage = "http://sphinx-doc.org/";
+    homepage = "https://github.com/sphinx-doc/sphinxcontrib-htmlhelp";
     license = licenses.bsd0;
+    maintainers = teams.sphinx.members;
   };
-
 }
diff --git a/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix b/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
index cd67732605b..da630c6ee96 100644
--- a/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-jsmath/default.nix
@@ -14,14 +14,13 @@ buildPythonPackage rec {
     sha256 = "a9925e4a4587247ed2191a22df5f6970656cb8ca2bd6284309578f2153e0c4b8";
   };
 
-
   # Check is disabled due to circular dependency of sphinx
   doCheck = false;
 
   meta = with lib; {
     description = "sphinxcontrib-jsmath is a sphinx extension which renders display math in HTML via JavaScript.";
-    homepage = "http://sphinx-doc.org/";
+    homepage = "https://github.com/sphinx-doc/sphinxcontrib-jsmath";
     license = licenses.bsd0;
+    maintainers = teams.sphinx.members;
   };
-
 }
diff --git a/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix b/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix
new file mode 100644
index 00000000000..676f72c3f14
--- /dev/null
+++ b/pkgs/development/python-modules/sphinxcontrib-programoutput/default.nix
@@ -0,0 +1,32 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, sphinx
+, sphinxcontrib-serializinghtml
+}:
+
+buildPythonPackage rec {
+  pname = "sphinxcontrib-programoutput";
+  version = "0.17";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-MA7puMrug1XSXMdLTRx+/RLmCNKtFl4xQdMeb7wVK38=";
+  };
+
+  buildInputs = [
+    sphinx
+  ];
+
+  # fails to import sphinxcontrib.serializinghtml
+  doCheck = false;
+
+  pythonImportsCheck = [ "sphinxcontrib.programoutput" ];
+
+  meta = with lib; {
+    description = "Sphinx extension to include program output";
+    homepage = "https://github.com/NextThought/sphinxcontrib-programoutput";
+    license = licenses.bsd2;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix b/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix
index 9d16ede62a2..4364fcb99dc 100644
--- a/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-qthelp/default.nix
@@ -14,14 +14,13 @@ buildPythonPackage rec {
     sha256 = "4c33767ee058b70dba89a6fc5c1892c0d57a54be67ddd3e7875a18d14cba5a72";
   };
 
-
   # Check is disabled due to circular dependency of sphinx
   doCheck = false;
 
   meta = with lib; {
     description = "sphinxcontrib-qthelp is a sphinx extension which outputs QtHelp document.";
-    homepage = "http://sphinx-doc.org/";
+    homepage = "https://github.com/sphinx-doc/sphinxcontrib-qthelp";
     license = licenses.bsd0;
+    maintainers = teams.sphinx.members;
   };
-
 }
diff --git a/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix b/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix
index a238c0191a7..85ed3cdc596 100644
--- a/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-serializinghtml/default.nix
@@ -14,14 +14,13 @@ buildPythonPackage rec {
     sha256 = "aa5f6de5dfdf809ef505c4895e51ef5c9eac17d0f287933eb49ec495280b6952";
   };
 
-
   # Check is disabled due to circular dependency of sphinx
   doCheck = false;
 
   meta = with lib; {
     description = "sphinxcontrib-serializinghtml is a sphinx extension which outputs \"serialized\" HTML files (json and pickle).";
-    homepage = "http://sphinx-doc.org/";
+    homepage = "https://github.com/sphinx-doc/sphinxcontrib-serializinghtml";
     license = licenses.bsd0;
+    maintainers = teams.sphinx.members;
   };
-
 }
diff --git a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
index dcb96f317d4..95926b569a0 100644
--- a/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
+++ b/pkgs/development/python-modules/sphinxcontrib-tikz/default.nix
@@ -8,11 +8,11 @@
 
 buildPythonPackage rec {
   pname = "sphinxcontrib-tikz";
-  version = "0.4.15";
+  version = "0.4.16";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "27f9a7a6a64f1bf3ea4dd0e963b7da7c7778948856c8d557a71d64ace086519f";
+    sha256 = "sha256-8f9FNx6WMopcqihUzNlQoPBGYoW2YkFi6W1iaFLD4qU=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/sphinxext-opengraph/default.nix b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
index 8b8cb4cdbb5..f77ee113bb0 100644
--- a/pkgs/development/python-modules/sphinxext-opengraph/default.nix
+++ b/pkgs/development/python-modules/sphinxext-opengraph/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "sphinxext-opengraph";
-  version = "0.5.1";
+  version = "0.6.1";
 
   src = fetchFromGitHub {
     owner = "wpilibsuite";
     repo = "sphinxext-opengraph";
     rev = "v${version}";
-    sha256 = "sha256-US0UXxcTlN7x5v2ilpL+umTr7tadqthqhvfaQnm7tCc=";
+    sha256 = "sha256-kaKOKeztP89SLF4yrUFW1TTAEyAaCTm2XCcOH0b+Dzc=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/spyder-kernels/default.nix b/pkgs/development/python-modules/spyder-kernels/default.nix
index 4c43ce2f161..4ddacc91190 100644
--- a/pkgs/development/python-modules/spyder-kernels/default.nix
+++ b/pkgs/development/python-modules/spyder-kernels/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonPackage rec {
   pname = "spyder-kernels";
-  version = "2.2.0";
+  version = "2.2.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "6b19ea224f183dbff8ff0031bee35ae6b5b3a6eef4aa84cfab04e3bc3e304b91";
+    sha256 = "574ee1bd03f7236b9f9dacae34936a0625cd67ccfe3df11fec69f26889a0b866";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/spyder/default.nix b/pkgs/development/python-modules/spyder/default.nix
index 38558f00498..cfeaf08fb33 100644
--- a/pkgs/development/python-modules/spyder/default.nix
+++ b/pkgs/development/python-modules/spyder/default.nix
@@ -8,13 +8,13 @@
 
 buildPythonPackage rec {
   pname = "spyder";
-  version = "5.2.0";
+  version = "5.2.1";
 
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "cd04acc88426acee9c4ce6bb91f50c13fc161a437e68bca701243b3415ce9d08";
+    sha256 = "b318a70a75acd200018a547d2ff2d2f55e7507054469d0c77ec6f967ac3c2d28";
   };
 
   nativeBuildInputs = [ pyqtwebengine.wrapQtAppsHook ];
@@ -37,7 +37,7 @@ buildPythonPackage rec {
     comment = "Scientific Python Development Environment";
     desktopName = "Spyder";
     genericName = "Python IDE";
-    categories = "Development;IDE;";
+    categories = [ "Development" "IDE" ];
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/spyse-python/default.nix b/pkgs/development/python-modules/spyse-python/default.nix
index 71dbf63bda0..bd73edc61e7 100644
--- a/pkgs/development/python-modules/spyse-python/default.nix
+++ b/pkgs/development/python-modules/spyse-python/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , dataclasses-json
 , fetchFromGitHub
+, fetchpatch
 , limiter
 , pythonOlder
 , requests
@@ -32,11 +33,21 @@ buildPythonPackage rec {
   # Tests requires an API token
   doCheck = false;
 
+  patches = [
+    # Update limiter import and rate limit, https://github.com/spyse-com/spyse-python/pull/11
+    (fetchpatch {
+      name = "support-later-limiter.patch";
+      url = "https://github.com/spyse-com/spyse-python/commit/ff68164c514dfb28ab77d8690b3a5153962dbe8c.patch";
+      sha256 = "sha256-PoWPJCK/Scsh4P7lr97u4JpVHXNlY0C9rJgY4TDYmv0=";
+    })
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace "'dataclasses~=0.6'," "" \
       --replace "responses~=0.13.3" "responses>=0.13.3" \
-      --replace "limiter~=0.1.2" "limiter>=0.1.2"
+      --replace "limiter~=0.1.2" "limiter>=0.1.2" \
+      --replace "requests~=2.26.0" "requests>=2.26.0"
   '';
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/sqlalchemy-utils/default.nix b/pkgs/development/python-modules/sqlalchemy-utils/default.nix
index 685bb829dd3..05ef00dae0e 100644
--- a/pkgs/development/python-modules/sqlalchemy-utils/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy-utils/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "sqlalchemy-utils";
-  version = "0.37.9";
+  version = "0.38.2";
 
   src = fetchPypi {
     inherit version;
     pname = "SQLAlchemy-Utils";
-    sha256 = "4667edbdcb1ece011076b69772ef524bfbb17cc97e03f11ee6b85d98e7741d61";
+    sha256 = "9e01d6d3fb52d3926fcd4ea4a13f3540701b751aced0316bff78264402c2ceb4";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlalchemy/default.nix b/pkgs/development/python-modules/sqlalchemy/default.nix
index 085195f5a75..1d6406c5db1 100644
--- a/pkgs/development/python-modules/sqlalchemy/default.nix
+++ b/pkgs/development/python-modules/sqlalchemy/default.nix
@@ -13,11 +13,11 @@
 
 buildPythonPackage rec {
   pname = "SQLAlchemy";
-  version = "1.4.29";
+  version = "1.4.31";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256:+iutFOFHS6ZJz8lpwdLskV3T55Z380a7/gjpPvkCCzk=";
+    sha256 = "sha256-WCtZ0eV4CkR6raIrRh5QtASp3AV2jaHYc2itgZBGhBg=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlite-utils/default.nix b/pkgs/development/python-modules/sqlite-utils/default.nix
index 07a7fa04485..439f1554912 100644
--- a/pkgs/development/python-modules/sqlite-utils/default.nix
+++ b/pkgs/development/python-modules/sqlite-utils/default.nix
@@ -14,12 +14,12 @@
 
 buildPythonPackage rec {
   pname = "sqlite-utils";
-  version = "3.23";
+  version = "3.24";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-BNlOP/gWDERh4Rzth5zjeghHr7ozyAGeRJxoeE6baWY=";
+    sha256 = "sha256-0bkvh1L+HqyH5/GKaw4J+OPJ/yR882JgWI4vBH6v0lM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sqlitedict/default.nix b/pkgs/development/python-modules/sqlitedict/default.nix
index 1c28d6a0976..178617e18de 100644
--- a/pkgs/development/python-modules/sqlitedict/default.nix
+++ b/pkgs/development/python-modules/sqlitedict/default.nix
@@ -1,22 +1,28 @@
-{ lib, buildPythonPackage, fetchFromGitHub, pytest }:
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+}:
 
 buildPythonPackage rec {
   pname = "sqlitedict";
-  version = "1.6.0";
+  version = "1.7.0";
 
   src = fetchFromGitHub {
     owner = "RaRe-Technologies";
     repo = "sqlitedict";
     rev = version;
-    sha256 = "1yq94lgpny9qcfbsl39npjvrsjfggi3lj2kpzcsxcfdfgxag6m2m";
+    sha256 = "08fr81rz1fz35d35kravg7vl234aqagr9wqb09x6wi9lx9zkkh28";
   };
 
-  checkInputs = [ pytest ];
-
-  checkPhase = ''
-    pytest tests
+  preCheck = ''
+    mkdir tests/db
   '';
 
+  checkInputs = [
+    pytestCheckHook
+  ];
+
   meta = with lib; {
     description = "Persistent, thread-safe dict";
     homepage = "https://github.com/RaRe-Technologies/sqlitedict";
diff --git a/pkgs/development/python-modules/sqlmap/default.nix b/pkgs/development/python-modules/sqlmap/default.nix
index 2abfaef9ab3..18dac082f06 100644
--- a/pkgs/development/python-modules/sqlmap/default.nix
+++ b/pkgs/development/python-modules/sqlmap/default.nix
@@ -7,11 +7,11 @@
 
 buildPythonPackage rec {
   pname = "sqlmap";
-  version = "1.6";
+  version = "1.6.2";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-gYr/+sgkFT24JXNDHgmT4ee5b977Iax9TLZ9/nh7PP0=";
+    sha256 = "sha256-X8FpGnrF0aHuf3yIzRrxoNAu77UASTL36CQpcuxESV8=";
   };
 
   postPatch = ''
@@ -31,6 +31,7 @@ buildPythonPackage rec {
   meta = with lib; {
     description = "Automatic SQL injection and database takeover tool";
     homepage = "https://sqlmap.org";
+    changelog = "https://github.com/sqlmapproject/sqlmap/releases/tag/${version}";
     license = licenses.gpl2Plus;
     maintainers = with maintainers; [ bennofs ];
   };
diff --git a/pkgs/development/python-modules/srpenergy/default.nix b/pkgs/development/python-modules/srpenergy/default.nix
index c5d20436a09..d0ac3602445 100644
--- a/pkgs/development/python-modules/srpenergy/default.nix
+++ b/pkgs/development/python-modules/srpenergy/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "srpenergy";
-  version = "1.3.5";
+  version = "1.3.6";
 
   disabled = pythonOlder "3.6";
 
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "lamoreauxlab";
     repo = "srpenergy-api-client-python";
     rev = version;
-    sha256 = "sha256-s90+gzjcG27pUcMGpzf2rf+mR8/fmpvwBXGfvv3rNGI=";
+    hash = "sha256-aZnqGtfklWgigac2gdkQv29Qy5HC34zGGY2iWr2cOMo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sshtunnel/default.nix b/pkgs/development/python-modules/sshtunnel/default.nix
index 90e4962d3e8..3c53864ec33 100644
--- a/pkgs/development/python-modules/sshtunnel/default.nix
+++ b/pkgs/development/python-modules/sshtunnel/default.nix
@@ -1,6 +1,6 @@
 { lib, buildPythonPackage, fetchPypi
 , paramiko
-, pytest
+, pytestCheckHook
 , mock
 }:
 
@@ -15,12 +15,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ paramiko ];
 
-  checkInputs = [ pytest mock ];
+  checkInputs = [ pytestCheckHook mock ];
 
   # disable impure tests
-  checkPhase = ''
-    pytest -k 'not connect_via_proxy and not read_ssh_config'
-  '';
+  disabledTests = [
+    "test_get_keys"
+    "connect_via_proxy"
+    "read_ssh_config"
+  ];
 
   meta = with lib; {
     description = "Pure python SSH tunnels";
diff --git a/pkgs/development/python-modules/sslyze/default.nix b/pkgs/development/python-modules/sslyze/default.nix
index 587572646ab..f76ba96a5b8 100644
--- a/pkgs/development/python-modules/sslyze/default.nix
+++ b/pkgs/development/python-modules/sslyze/default.nix
@@ -16,14 +16,14 @@
 
 buildPythonPackage rec {
   pname = "sslyze";
-  version = "5.0.0";
+  version = "5.0.2";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "nabla-c0d3";
     repo = pname;
     rev = version;
-    hash = "sha256-7kUriEMHcGCXKs42KVWxXvM+JEEWf/8tnuoGujHbqHY=";
+    hash = "sha256-8xtnE5oFxH3wo2Smt65/xGDHxivexN6ggUpyUg42Cjk=";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/python-modules/starlette/default.nix b/pkgs/development/python-modules/starlette/default.nix
index 9612ac999cc..1084a50be77 100644
--- a/pkgs/development/python-modules/starlette/default.nix
+++ b/pkgs/development/python-modules/starlette/default.nix
@@ -12,7 +12,6 @@
 , requests
 , aiosqlite
 , databases
-, pytest-asyncio
 , pytestCheckHook
 , pythonOlder
 , trio
@@ -58,7 +57,6 @@ buildPythonPackage rec {
   checkInputs = [
     aiosqlite
     databases
-    pytest-asyncio
     pytestCheckHook
     trio
     typing-extensions
diff --git a/pkgs/development/python-modules/staticjinja/default.nix b/pkgs/development/python-modules/staticjinja/default.nix
index 44cd64821d9..ac3c173c09a 100644
--- a/pkgs/development/python-modules/staticjinja/default.nix
+++ b/pkgs/development/python-modules/staticjinja/default.nix
@@ -27,7 +27,7 @@ buildPythonPackage rec {
     owner = "staticjinja";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YHhGohA24D4O/Bj7JZTj8qaEGEZAupvxWcZYjWFTHmM=";
+    sha256 = "0qqyadhqsn66b7qrpfj08qc899pjwfa2byqqzh73xq1n22i4cy30";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/statsmodels/default.nix b/pkgs/development/python-modules/statsmodels/default.nix
index 173458a634b..0f01870c41b 100644
--- a/pkgs/development/python-modules/statsmodels/default.nix
+++ b/pkgs/development/python-modules/statsmodels/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "statsmodels";
-  version = "0.13.1";
+  version = "0.13.2";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "006ec8d896d238873af8178d5475203844f2c391194ed8d42ddac37f5ff77a69";
+    sha256 = "sha256-d9wpLJk5wDakdvF3D50Il2sFQ32qIpko2nMjEUfN59Q=";
   };
 
   nativeBuildInputs = [ cython ];
diff --git a/pkgs/development/python-modules/strenum/default.nix b/pkgs/development/python-modules/strenum/default.nix
new file mode 100644
index 00000000000..f287b2623a6
--- /dev/null
+++ b/pkgs/development/python-modules/strenum/default.nix
@@ -0,0 +1,43 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "strenum";
+  version = "0.4.7";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "irgeek";
+    repo = "StrEnum";
+    rev = "v${version}";
+    hash = "sha256-ktsPROIv/BbPinZfrBknI4c/WwRYGhWgmw209Hfg8EQ=";
+  };
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace '"pytest-runner"' ""
+    substituteInPlace pytest.ini \
+      --replace " --cov=strenum --cov-report term-missing --black --pylint" ""
+  '';
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "strenum"
+  ];
+
+  meta = with lib; {
+    description = "MOdule for enum that inherits from str";
+    homepage = "https://github.com/irgeek/StrEnum";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/stripe/default.nix b/pkgs/development/python-modules/stripe/default.nix
index c808fe6acd2..5b1ff139ff9 100644
--- a/pkgs/development/python-modules/stripe/default.nix
+++ b/pkgs/development/python-modules/stripe/default.nix
@@ -1,20 +1,32 @@
-{ lib, buildPythonPackage, fetchPypi, requests }:
+{ lib
+, buildPythonPackage
+, fetchPypi
+, requests
+, pythonOlder
+}:
 
 buildPythonPackage rec {
   pname = "stripe";
-  version = "2.65.0";
+  version = "2.66.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "2e55d4d7262085de9cef2228f14581925c35350ba58a332352b1ec9e19a7b7a6";
+    hash = "sha256-d8YDIjD3cUsaG0WQdPCMYNYMIpucO+rDcnGQY+PRQJw=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  propagatedBuildInputs = [
+    requests
+  ];
 
   # Tests require network connectivity and there's no easy way to disable them
   doCheck = false;
 
-  pythonImportsCheck = [ "stripe" ];
+  pythonImportsCheck = [
+    "stripe"
+  ];
 
   meta = with lib; {
     description = "Stripe Python bindings";
diff --git a/pkgs/development/python-modules/striprtf/default.nix b/pkgs/development/python-modules/striprtf/default.nix
index 0e884a09b44..52fe3769e22 100644
--- a/pkgs/development/python-modules/striprtf/default.nix
+++ b/pkgs/development/python-modules/striprtf/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "striprtf";
-  version = "0.0.19";
+  version = "0.0.20";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b7f15e11306e466dbe91665409233a06d9fdb4ee156489a3d879579891b04c25";
+    sha256 = "sha256-8eMeMrazl1o9XcIyWICDg6ycRMtFMfgTUNz51w9hAmc=";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/structlog/default.nix b/pkgs/development/python-modules/structlog/default.nix
index 2e90d3350db..b6eb0c2672a 100644
--- a/pkgs/development/python-modules/structlog/default.nix
+++ b/pkgs/development/python-modules/structlog/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "structlog";
-  version = "21.4.0";
+  version = "21.5.0";
   format = "flit";
 
   # sdist is missing conftest.py
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "hynek";
     repo = "structlog";
     rev = version;
-    sha256 = "sha256-uXFSrC1TvQV46uu0sadC3eMq7yk5TnrpQE8m6NSv1Bg=";
+    sha256 = "0bc5lj0732j0hjq89llgrncyzs6k3aaffvg07kr3la44w0hlrb4l";
   };
 
   checkInputs = [ pytestCheckHook pytest-asyncio pretend freezegun simplejson twisted ];
diff --git a/pkgs/development/python-modules/stups-pierone/default.nix b/pkgs/development/python-modules/stups-pierone/default.nix
index 92cd344edb6..4757cd32318 100644
--- a/pkgs/development/python-modules/stups-pierone/default.nix
+++ b/pkgs/development/python-modules/stups-pierone/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "stups-pierone";
-  version = "1.1.45";
+  version = "1.1.49";
   disabled = !isPy3k;
 
   src = fetchFromGitHub {
     owner = "zalando-stups";
     repo = "pierone-cli";
     rev = version;
-    sha256 = "1ggfizw27wpcagbbk15xpfrhq6b250cx4278b5d7y8s438g128cs";
+    sha256 = "1kb1lpnxbcq821mx75vzapndvxfvsdrplyhsqjq4vdhyqrx2dn3q";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/subarulink/default.nix b/pkgs/development/python-modules/subarulink/default.nix
index 24678319b04..ab514735ec2 100644
--- a/pkgs/development/python-modules/subarulink/default.nix
+++ b/pkgs/development/python-modules/subarulink/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "subarulink";
-  version = "0.4.2";
+  version = "0.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "G-Two";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-EI7m2SFa1eAtncMA0g1OmXumzub4UvE6ssGfUGtLO2Q=";
+    sha256 = "sha256-q+a+OFFMAGl8KQi+KZ8h21+Pj0XEqP9ZIJii2PCgD6E=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/sumo/default.nix b/pkgs/development/python-modules/sumo/default.nix
index 299d8446cfb..68f298de108 100644
--- a/pkgs/development/python-modules/sumo/default.nix
+++ b/pkgs/development/python-modules/sumo/default.nix
@@ -2,6 +2,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pythonOlder
+, cython
 , h5py
 , matplotlib
 , numpy
@@ -28,6 +29,10 @@ buildPythonPackage rec {
     sha256 = "1vwqyv215yf51j1278cn7l8mpqmy1grm9j7z3hxjlz4w65cff324";
   };
 
+  nativeBuildInputs = [
+    cython
+  ];
+
   propagatedBuildInputs = [
     spglib
     numpy
@@ -44,6 +49,11 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  disabledTests = [
+    # slight disagreement between caastepxbin versions
+    "test_castep_phonon_read_bands"
+  ];
+
   postPatch = ''
     substituteInPlace setup.py \
       --replace "castepxbin==0.1.0" "castepxbin>=0.1.0"
diff --git a/pkgs/development/python-modules/swagger-spec-validator/default.nix b/pkgs/development/python-modules/swagger-spec-validator/default.nix
index 71c9cf16780..ce67e6689ac 100644
--- a/pkgs/development/python-modules/swagger-spec-validator/default.nix
+++ b/pkgs/development/python-modules/swagger-spec-validator/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "swagger-spec-validator";
-  version = "2.5.0";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "Yelp";
     repo = "swagger_spec_validator";
     rev = "v" + version;
-    sha256 = "0qlkiyncdh7cdyjvnwjpv9i7y75ghwnpyqkkpfaa8hg698na13pw";
+    sha256 = "sha256-7+kFmtzeze0QlGf6z/M4J4F7z771a5NWewB1S3+bxn4=";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/swift/default.nix b/pkgs/development/python-modules/swift/default.nix
index 592e083567a..b61e998c3c9 100644
--- a/pkgs/development/python-modules/swift/default.nix
+++ b/pkgs/development/python-modules/swift/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "swift";
-  version = "2.28.0";
+  version = "2.29.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "79a216498a842226f71e9dfbbce4dba4a5718cda9b2be92b6e0aa21df977f70d";
+    sha256 = "sha256-sGHARvi1PAFajz82GAegDVpy6A98QEyMfrDHZjNtDGQ=";
   };
 
   postPatch = ''
diff --git a/pkgs/development/python-modules/swspotify/default.nix b/pkgs/development/python-modules/swspotify/default.nix
index df2c00ad7c0..b1fc4d128cf 100644
--- a/pkgs/development/python-modules/swspotify/default.nix
+++ b/pkgs/development/python-modules/swspotify/default.nix
@@ -1,26 +1,24 @@
 { lib, stdenv, buildPythonPackage, fetchFromGitHub, requests
-, pytestCheckHook, flask, flask-cors, dbus-python, mock, isPy27 }:
+, pytestCheckHook, flask, flask-cors, dbus-python, mock, isPy27
+, poetry-core }:
 
 buildPythonPackage rec {
   pname = "SwSpotify";
-  version = "1.2.2";
+  version = "1.2.3";
   disabled = isPy27;
+  format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "SwagLyrics";
     repo = "SwSpotify";
     rev = "v${version}";
-    sha256 = "sha256-571knnY8LegIbqyPeKUfl+d0suTWAMQHYLN7edKFNdI=";
+    sha256 = "sha256-xGLvc154xnje45Akf7H1qqQRUc03gGVt8AhGlkcP3kY=";
   };
 
-  propagatedBuildInputs = [
-    requests flask flask-cors dbus-python
-  ];
+  nativeBuildInputs = [ poetry-core ];
 
-  postPatch = ''
-    substituteInPlace setup.py \
-      --replace 'flask==2.0.1' 'flask'
-  '';
+  propagatedBuildInputs = [ requests flask flask-cors ]
+    ++ lib.optionals stdenv.isLinux [ dbus-python ];
 
   doCheck = !stdenv.isDarwin;
 
diff --git a/pkgs/development/python-modules/sybil/default.nix b/pkgs/development/python-modules/sybil/default.nix
index 7114f0aeba4..55cea70924e 100644
--- a/pkgs/development/python-modules/sybil/default.nix
+++ b/pkgs/development/python-modules/sybil/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonApplication rec {
   pname = "sybil";
-  version = "2.0.1";
+  version = "3.0.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "597d71e246690b9223c132f0ed7dcac470dcbe9ad022004a801e108a00dc3524";
+    sha256 = "sha256-dpLtZueT5eea5qcM8s+GGRftSOr/DYrfgl5k2Fgg8lE=";
   };
 
   checkInputs = [
@@ -22,9 +22,9 @@ buildPythonApplication rec {
   ];
 
   disabledTests = [
-    # Will be fixed with 3.0.0, https://github.com/simplistix/sybil/pull/27
-    "test_future_imports"
-    "test_pytest"
+    # sensitive to output of other commands
+    "test_namespace"
+    "test_unittest"
   ];
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/symengine/default.nix b/pkgs/development/python-modules/symengine/default.nix
index 673e2682660..c2c22358661 100644
--- a/pkgs/development/python-modules/symengine/default.nix
+++ b/pkgs/development/python-modules/symengine/default.nix
@@ -11,13 +11,13 @@
 
 buildPythonPackage rec {
   pname = "symengine";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "symengine";
     repo = "symengine.py";
     rev = "v${version}";
-    sha256 = "0yyi3w03fk19i32jmns1baq3rpmf7xfykzkivc7dmnxmjmxvq2gr";
+    sha256 = "sha256-kz4M4ghR9Mi8Ig5K+pZC4zHt8XxoP3vU4ATImejqbgg=";
   };
 
   postConfigure = ''
diff --git a/pkgs/development/python-modules/tappy/default.nix b/pkgs/development/python-modules/tappy/default.nix
index 9e0b83bc925..4652ea99f6d 100644
--- a/pkgs/development/python-modules/tappy/default.nix
+++ b/pkgs/development/python-modules/tappy/default.nix
@@ -7,13 +7,13 @@
 
 buildPythonPackage rec {
   pname = "tap.py";
-  version = "3.0";
+  version = "3.1";
 
-  disabled = pythonOlder "3.5";
+  disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-9e7u6/1k5T0yZhdSu0wohYmjuru5bbPzkaTsKfE1nHA=";
+    sha256 = "3c0cd45212ad5a25b35445964e2517efa000a118a1bfc3437dae828892eaf1e1";
   };
 
   checkInputs = [ pytestCheckHook ];
diff --git a/pkgs/development/python-modules/teamcity-messages/default.nix b/pkgs/development/python-modules/teamcity-messages/default.nix
new file mode 100644
index 00000000000..4f2b7f76de8
--- /dev/null
+++ b/pkgs/development/python-modules/teamcity-messages/default.nix
@@ -0,0 +1,40 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "teamcity-messages";
+  version = "1.31";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "JetBrains";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-oYXP9HWdgmEq48rYyuX6zHf+cp835C0BtHUAME+5S+k=";
+  };
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  pytestFlagsArray = [
+    "tests/unit-tests/"
+  ];
+
+  pythonImportsCheck = [
+    "teamcity"
+  ];
+
+  meta = with lib; {
+    description = "Python unit test reporting to TeamCity";
+    homepage = "https://github.com/JetBrains/teamcity-messages";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/temescal/default.nix b/pkgs/development/python-modules/temescal/default.nix
new file mode 100644
index 00000000000..429b0a23d18
--- /dev/null
+++ b/pkgs/development/python-modules/temescal/default.nix
@@ -0,0 +1,37 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, pycryptodome
+}:
+
+buildPythonPackage rec {
+  pname = "temescal";
+  version = "0.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-V1wsncIm4f6NPa6lwlO9pkDIFBG1K3VhmOQCwyrPGm4=";
+  };
+
+  propagatedBuildInputs = [
+    pycryptodome
+  ];
+
+  # Module has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "temescal"
+  ];
+
+  meta = with lib; {
+    description = "Module for interacting with LG speaker systems";
+    homepage = "https://github.com/google/python-temescal";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/tempora/default.nix b/pkgs/development/python-modules/tempora/default.nix
index e9cd3e84fee..6999655c5dc 100644
--- a/pkgs/development/python-modules/tempora/default.nix
+++ b/pkgs/development/python-modules/tempora/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "tempora";
-  version = "4.1.2";
+  version = "5.0.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "fd6cafd66b01390d53a760349cf0b3123844ec6ae3d1043d7190473ea9459138";
+    sha256 = "aa21dd1956e29559ecb2f2f2e14fcdb950085222fbbf86e6c946b5e1a8c36b26";
   };
 
   disabled = pythonOlder "3.2";
diff --git a/pkgs/development/python-modules/tensorflow/default.nix b/pkgs/development/python-modules/tensorflow/default.nix
index 776fbaa1801..47acd1f53c7 100644
--- a/pkgs/development/python-modules/tensorflow/default.nix
+++ b/pkgs/development/python-modules/tensorflow/default.nix
@@ -413,8 +413,10 @@ let
       license = licenses.asl20;
       maintainers = with maintainers; [ jyp abbradar ];
       platforms = with platforms; linux ++ darwin;
-      timeout = 86400; # 24 hours, needed for darwin
       broken = !(xlaSupport -> cudaSupport);
+    } // lib.optionalAttrs stdenv.isDarwin {
+      timeout = 86400; # 24 hours
+      maxSilent = 14400; # 4h, double the default of 7200s
     };
   };
 
diff --git a/pkgs/development/python-modules/terminaltables/default.nix b/pkgs/development/python-modules/terminaltables/default.nix
index cb528b5b4e9..7b548b763fd 100644
--- a/pkgs/development/python-modules/terminaltables/default.nix
+++ b/pkgs/development/python-modules/terminaltables/default.nix
@@ -5,11 +5,11 @@
 
 buildPythonPackage rec {
   pname = "terminaltables";
-  version = "3.1.7";
+  version = "3.1.10";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "5dab2f33927c0a020b8011c81b92830ff9fd4ba701657da5d7bfdc41048360a6";
+    sha256 = "ba6eca5cb5ba02bba4c9f4f985af80c54ec3dccf94cfcd190154386255e47543";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/teslajsonpy/default.nix b/pkgs/development/python-modules/teslajsonpy/default.nix
index 132e0810d3d..4809fde718d 100644
--- a/pkgs/development/python-modules/teslajsonpy/default.nix
+++ b/pkgs/development/python-modules/teslajsonpy/default.nix
@@ -15,7 +15,7 @@
 
 buildPythonPackage rec {
   pname = "teslajsonpy";
-  version = "1.6.0";
+  version = "1.8.0";
   format = "pyproject";
 
   disabled = pythonOlder "3.6";
@@ -24,7 +24,7 @@ buildPythonPackage rec {
     owner = "zabuldon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1jxdfk2ka131spnfkl35lnzvkgwgsbs5xl3hsjj03q1nfjcqvx9l";
+    sha256 = "sha256-9EFbsJPn543fVGQ46cikEE9rE4qBr/2q6vX7u4tui7I=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/test-tube/default.nix b/pkgs/development/python-modules/test-tube/default.nix
index f0c26292c84..1cc20cc2cca 100644
--- a/pkgs/development/python-modules/test-tube/default.nix
+++ b/pkgs/development/python-modules/test-tube/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "test-tube";
-  version = "0.7.5";
+  version = "0.628";
 
   disabled = isPy27;
 
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = "williamFalcon";
     repo = pname;
     rev = version;
-    sha256 = "0zpvlp1ybp2dhgap8jsalpfdyg8ycjhlfi3xrdf5dqffqvh2yhp2";
+    sha256 = "0w60xarmcw06gc4002sy7bjfykdz34gbgniswxkl0lw8a1v0xn2m";
   };
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/testfixtures/default.nix b/pkgs/development/python-modules/testfixtures/default.nix
index b582bf4bc7f..93fc92bd632 100644
--- a/pkgs/development/python-modules/testfixtures/default.nix
+++ b/pkgs/development/python-modules/testfixtures/default.nix
@@ -14,6 +14,12 @@ buildPythonPackage rec {
   pname = "testfixtures";
   version = "6.18.3";
   format = "setuptools";
+  # DO NOT CONTACT upstream.
+  # https://github.com/simplistix/ is only concerned with internal CI process.
+  # Any attempt by non-standard pip workflows to comment on issues will
+  # be met with hostility.
+  # https://github.com/simplistix/testfixtures/issues/169
+  # https://github.com/simplistix/testfixtures/issues/168
 
   disabled = pythonOlder "3.6";
 
@@ -22,6 +28,9 @@ buildPythonPackage rec {
     sha256 = "sha256-JgAQCulv/QgjNLN441VVD++LSlKab6TDT0cTCQXHQm0=";
   };
 
+  # no longer compatible with sybil
+  # https://github.com/simplistix/testfixtures/issues/169
+  doCheck = false;
   checkInputs = [
     mock
     pytestCheckHook
diff --git a/pkgs/development/python-modules/textacy/default.nix b/pkgs/development/python-modules/textacy/default.nix
index ee2e2bb2c99..2eae44aeeb2 100644
--- a/pkgs/development/python-modules/textacy/default.nix
+++ b/pkgs/development/python-modules/textacy/default.nix
@@ -23,6 +23,7 @@ buildPythonPackage rec {
   pname = "textacy";
   version = "0.12.0";
   disabled = pythonOlder "3.7";
+  format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
diff --git a/pkgs/development/python-modules/textile/default.nix b/pkgs/development/python-modules/textile/default.nix
new file mode 100644
index 00000000000..a8acf346cd6
--- /dev/null
+++ b/pkgs/development/python-modules/textile/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, buildPythonPackage
+, fetchFromGitHub
+, html5lib
+, pytestCheckHook
+, pythonOlder
+, regex
+}:
+
+buildPythonPackage rec {
+  pname = "textile";
+  version = "4.0.2";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = "python-textile";
+    rev = version;
+    hash = "sha256-WwX7h07Bq8sNsViHwmfhrrqleXacmrIY4ZBBaP2kKnI=";
+  };
+
+  propagatedBuildInputs = [
+    html5lib
+    regex
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  postPatch = ''
+    substituteInPlace pytest.ini \
+      --replace " --cov=textile --cov-report=html --cov-append --cov-report=term-missing" ""
+  '';
+
+  pythonImportsCheck = [
+    "textile"
+  ];
+
+  meta = with lib; {
+    description = "MOdule for generating web text";
+    homepage = "https://github.com/textile/python-textile";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/thinc/default.nix b/pkgs/development/python-modules/thinc/default.nix
index 9524f7e4497..55bf72aec76 100644
--- a/pkgs/development/python-modules/thinc/default.nix
+++ b/pkgs/development/python-modules/thinc/default.nix
@@ -1,6 +1,7 @@
 { lib
 , stdenv
 , buildPythonPackage
+, python
 , fetchPypi
 , pytestCheckHook
 , blis
@@ -39,6 +40,11 @@ buildPythonPackage rec {
     sha256 = "sha256-R2YqOuM9RFp3tup7dyREgFx7uomR8SLjUNr3Le3IFxo=";
   };
 
+  postPatch = ''
+    substituteInPlace setup.cfg \
+      --replace "pydantic>=1.7.4,!=1.8,!=1.8.1,<1.9.0" "pydantic"
+  '';
+
   buildInputs = [
     cython
   ] ++ lib.optionals stdenv.isDarwin [
@@ -73,12 +79,14 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  # Cannot find cython modules.
-  doCheck = false;
+  # Add native extensions.
+  preCheck = ''
+    export PYTHONPATH=$out/${python.sitePackages}:$PYTHONPATH
 
-  pytestFlagsArray = [
-    "thinc/tests"
-  ];
+    # avoid local paths, relative imports wont resolve correctly
+    mv thinc/tests tests
+    rm -r thinc
+  '';
 
   pythonImportsCheck = [
     "thinc"
diff --git a/pkgs/development/python-modules/tifffile/default.nix b/pkgs/development/python-modules/tifffile/default.nix
index fdd4c2bf0b2..01294ff5007 100644
--- a/pkgs/development/python-modules/tifffile/default.nix
+++ b/pkgs/development/python-modules/tifffile/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "tifffile";
-  version = "2021.11.2";
+  version = "2022.2.9";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-FT4x+h2JL0gvq7KunyVh+kKe5C0BpvZ+WM7hNjfZKFs=";
+    hash = "sha256-ftp0EXZDaBuyyqaVtI854iQ7SIf3z5kdWt/9gT5cg3M=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tiledb/default.nix b/pkgs/development/python-modules/tiledb/default.nix
index bdd6ad24115..b310defa45d 100644
--- a/pkgs/development/python-modules/tiledb/default.nix
+++ b/pkgs/development/python-modules/tiledb/default.nix
@@ -15,14 +15,14 @@
 
 buildPythonPackage rec {
   pname = "tiledb";
-  version = "0.6.6";
+  version = "0.12.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "TileDB-Inc";
     repo = "TileDB-Py";
     rev = version;
-    sha256 = "0b2kn1xyf7d994kz29dpqiaf8yzvx0axw4yqi854c54pl22ddgzl";
+    sha256 = "0iz16sgr5dpwc1jvb6brcmgvvg0npjdd98q4wgkqmvg7qif92zls";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/timetagger/default.nix b/pkgs/development/python-modules/timetagger/default.nix
index 8ad393bd35f..1da2887a12f 100644
--- a/pkgs/development/python-modules/timetagger/default.nix
+++ b/pkgs/development/python-modules/timetagger/default.nix
@@ -9,13 +9,13 @@
 
 python3Packages.buildPythonPackage rec {
   pname = "timetagger";
-  version = "22.2.1";
+  version = "22.2.3";
 
   src = fetchFromGitHub {
     owner = "almarklein";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-2Yne9gTMyuwqBNYz7elzW09olmgIKeRyuO0LdrtYt5c=";
+    sha256 = "sha256-tQel+IVqP+MngAvFgr7Yh+XCSIPWpzCBXHOj9b0Os98=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/python-modules/tinydb/default.nix b/pkgs/development/python-modules/tinydb/default.nix
index 0e7bcb303f3..ae08cceab1e 100644
--- a/pkgs/development/python-modules/tinydb/default.nix
+++ b/pkgs/development/python-modules/tinydb/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "tinydb";
-  version = "4.6.1";
+  version = "4.7.0";
   disabled = pythonOlder "3.5";
   format = "pyproject";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "msiemens";
     repo = pname;
     rev = "v${version}";
-    sha256 = "17m8g6xzwa0k8qb4k4p9hjcyv58gmxz1lkvr2ckc5csa0ydvv91a";
+    sha256 = "sha256-cAIo/qdIOIpPt9vPan5oJfKtH2Gmrm03aLuAHpfUfLY=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/titlecase/default.nix b/pkgs/development/python-modules/titlecase/default.nix
index 0b9e6547dee..33fe952ad2a 100644
--- a/pkgs/development/python-modules/titlecase/default.nix
+++ b/pkgs/development/python-modules/titlecase/default.nix
@@ -4,6 +4,7 @@
 , pytestCheckHook
 , pythonOlder
 , regex
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -20,6 +21,12 @@ buildPythonPackage rec {
     sha256 = "169ywzn5wfzwyknqavspkdpwbx31nycxsxkl7iywwk71gs1lskkw";
   };
 
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
+
   propagatedBuildInputs = [
     regex
   ];
diff --git a/pkgs/development/python-modules/tldextract/default.nix b/pkgs/development/python-modules/tldextract/default.nix
index d39b4fa82c8..f2f15c8bb7f 100644
--- a/pkgs/development/python-modules/tldextract/default.nix
+++ b/pkgs/development/python-modules/tldextract/default.nix
@@ -14,15 +14,19 @@
 
 buildPythonPackage rec {
   pname   = "tldextract";
-  version = "3.1.2";
+  version = "3.2.0";
+  format = "setuptools";
+
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-0gNMNVhlH32P2t6oP7aBBQstZi3GegDZUDJtyQIClEQ=";
+    sha256 = "sha256-PUtqIQVgC30CkOoje/MLaw3HY+UPy+QOhJoBm9bby/8=";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
   propagatedBuildInputs = [
     filelock
@@ -38,10 +42,13 @@ buildPythonPackage rec {
   ];
 
   postPatch = ''
-    substituteInPlace pytest.ini --replace " --pylint" ""
+    substituteInPlace pytest.ini \
+      --replace " --pylint" ""
   '';
 
-  pythonImportsCheck = [ "tldextract" ];
+  pythonImportsCheck = [
+    "tldextract"
+  ];
 
   meta = with lib; {
     description = "Python module to accurately separate the TLD from the domain of an URL";
diff --git a/pkgs/development/python-modules/tmb/default.nix b/pkgs/development/python-modules/tmb/default.nix
index 713cf613928..10a6e3b00d5 100644
--- a/pkgs/development/python-modules/tmb/default.nix
+++ b/pkgs/development/python-modules/tmb/default.nix
@@ -2,28 +2,39 @@
 , buildPythonPackage
 , fetchFromGitHub
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "tmb";
-  version = "0.1.1";
+  version = "0.1.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "alemuro";
     repo = pname;
     rev = version;
-    sha256 = "sha256-xwzaJuiQxExUA5W4kW7t1713S6NOvDNagcD3/dwA+DE=";
+    hash = "sha256-/syHSu9LKLDe3awrgSIHh0hV+raWqKd53f43WagHn9c=";
   };
 
-  propagatedBuildInputs = [ requests ];
+  VERSION = version;
+
+  propagatedBuildInputs = [
+    requests
+  ];
+
+  pythonImportsCheck = [
+    "tmb"
+  ];
 
   # Project has no tests
   doCheck = false;
-  pythonImportsCheck = [ "tmb" ];
 
   meta = with lib; {
-    homepage = "https://github.com/alemuro/tmb";
     description = "Python library that interacts with TMB API";
+    homepage = "https://github.com/alemuro/tmb";
     license = with licenses; [ mit ];
     maintainers = with maintainers; [ fab ];
   };
diff --git a/pkgs/development/python-modules/toggl-cli/default.nix b/pkgs/development/python-modules/toggl-cli/default.nix
index 1bbac9ce9da..30c3f08f52e 100644
--- a/pkgs/development/python-modules/toggl-cli/default.nix
+++ b/pkgs/development/python-modules/toggl-cli/default.nix
@@ -20,7 +20,7 @@
 
 buildPythonPackage rec {
   pname = "toggl-cli";
-  version = "2.4.2";
+  version = "2.4.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -28,7 +28,7 @@ buildPythonPackage rec {
   src = fetchPypi {
     pname = "togglCli";
     inherit version;
-    sha256 = "1wgh231r16jyvaj1ch1pajvl9szflb4srs505pfdwdlqvz7rzww8";
+    sha256 = "sha256-ncMwiMwYivaFu5jrAsm1oCuXP/PZ2ALT+M+CmV6dtFo=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/tomli/default.nix b/pkgs/development/python-modules/tomli/default.nix
index c593e1e4cb1..551655eebf0 100644
--- a/pkgs/development/python-modules/tomli/default.nix
+++ b/pkgs/development/python-modules/tomli/default.nix
@@ -3,6 +3,12 @@
 , callPackage
 , fetchFromGitHub
 , flit-core
+
+# important downstream dependencies
+, flit
+, black
+, mypy
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
@@ -41,6 +47,7 @@ buildPythonPackage rec {
 
   passthru.tests = {
     pytest = callPackage ./tests.nix { };
+    inherit flit black mypy setuptools-scm;
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tomlkit/default.nix b/pkgs/development/python-modules/tomlkit/default.nix
index fd6cec70f06..6c8455f060e 100644
--- a/pkgs/development/python-modules/tomlkit/default.nix
+++ b/pkgs/development/python-modules/tomlkit/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "tomlkit";
-  version = "0.7.2";
+  version = "0.8.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d7a454f319a7e9bd2e249f239168729327e4dd2d27b17dc68be264ad1ce36754";
+    sha256 = "29e84a855712dfe0e88a48f6d05c21118dbafb283bb2eed614d46f80deb8e9a1";
   };
 
   propagatedBuildInputs =
diff --git a/pkgs/development/python-modules/torchvision/default.nix b/pkgs/development/python-modules/torchvision/default.nix
index 4774e09f0b6..7b6384966ab 100644
--- a/pkgs/development/python-modules/torchvision/default.nix
+++ b/pkgs/development/python-modules/torchvision/default.nix
@@ -24,13 +24,13 @@ let
   cudaArchStr = lib.optionalString cudaSupport lib.strings.concatStringsSep ";" pytorch.cudaArchList;
 in buildPythonPackage rec {
   pname = "torchvision";
-  version = "0.11.2";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "pytorch";
     repo = "vision";
     rev = "v${version}";
-    sha256 = "136w9pqyfdsxxc7337q3x42gsr17gs0i0af2swfhzqhz6hd5139i";
+    sha256 = "sha256-nJV0Jr6Uc+ALodAiekM6YpM6IbmIb4w+Jlc3bJRqayI=";
   };
 
   nativeBuildInputs = [ libpng ninja which ]
diff --git a/pkgs/development/python-modules/tornado/4.nix b/pkgs/development/python-modules/tornado/4.nix
index b4343b5d5ff..3be82e40a29 100644
--- a/pkgs/development/python-modules/tornado/4.nix
+++ b/pkgs/development/python-modules/tornado/4.nix
@@ -8,7 +8,7 @@
 buildPythonPackage rec {
   pname = "tornado";
   version = "4.5.3";
-  disabled = isPy27;
+  disabled = isPy27 || python.pythonAtLeast "3.10";
 
   # We specify the name of the test files to prevent
   # https://github.com/NixOS/nixpkgs/issues/14634
diff --git a/pkgs/development/python-modules/total-connect-client/default.nix b/pkgs/development/python-modules/total-connect-client/default.nix
index e602041cf4a..7846525f65f 100644
--- a/pkgs/development/python-modules/total-connect-client/default.nix
+++ b/pkgs/development/python-modules/total-connect-client/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "total-connect-client";
-  version = "2022.1";
+  version = "2022.2.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "craigjmidwinter";
     repo = "total-connect-client";
     rev = version;
-    hash = "sha256-sFVjAIFhTZf1z9XUTukHvNl8/ITL6FMOnZMMDKP7X30=";
+    hash = "sha256-1/uqOxaJqrT+E+0ikNZX9AfIRRbpBSjh2nINrqGWxbY=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tox/default.nix b/pkgs/development/python-modules/tox/default.nix
index 8940a57196a..2307073c322 100644
--- a/pkgs/development/python-modules/tox/default.nix
+++ b/pkgs/development/python-modules/tox/default.nix
@@ -13,7 +13,7 @@
 
 buildPythonPackage rec {
   pname = "tox";
-  version = "3.24.4";
+  version = "3.24.5";
 
   buildInputs = [ setuptools-scm ];
   propagatedBuildInputs = [ packaging pluggy py six virtualenv toml filelock ];
@@ -22,7 +22,7 @@ buildPythonPackage rec {
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "c30b57fa2477f1fb7c36aa1d83292d5c2336cd0018119e1b1c17340e2c2708ca";
+    sha256 = "67e0e32c90e278251fea45b696d0fef3879089ccbe979b0c556d35d5a70e2993";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/python-modules/tqdm/default.nix b/pkgs/development/python-modules/tqdm/default.nix
index 606308f8896..3973d68b6c3 100644
--- a/pkgs/development/python-modules/tqdm/default.nix
+++ b/pkgs/development/python-modules/tqdm/default.nix
@@ -37,6 +37,11 @@ buildPythonPackage rec {
     # pandas is not supported on i686 or risc-v
     lib.optional (!stdenv.isi686 && !stdenv.hostPlatform.isRiscV) pandas;
 
+  pytestFlagsArray = [
+    # pytest-asyncio 0.17.0 compat; https://github.com/tqdm/tqdm/issues/1289
+    "--asyncio-mode=strict"
+  ];
+
   # Remove performance testing.
   # Too sensitive for on Hydra.
   disabledTests = [
diff --git a/pkgs/development/python-modules/transformers/default.nix b/pkgs/development/python-modules/transformers/default.nix
index 917aef54b6b..814eb164029 100644
--- a/pkgs/development/python-modules/transformers/default.nix
+++ b/pkgs/development/python-modules/transformers/default.nix
@@ -19,13 +19,13 @@
 
 buildPythonPackage rec {
   pname = "transformers";
-  version = "4.15.0";
+  version = "4.16.2";
 
   src = fetchFromGitHub {
     owner = "huggingface";
     repo = pname;
     rev = "v${version}";
-    sha256 = "05qwrs040sqxk5fi44rjx0s5ba4897iw8l7yk8f1xzv314df05fg";
+    sha256 = "sha256-XF29JKIaOqZ/PdU+zu+wX7TAl1TKz+HcOutHDABc/PY=";
   };
 
   nativeBuildInputs = [ packaging ];
diff --git a/pkgs/development/python-modules/transitions/default.nix b/pkgs/development/python-modules/transitions/default.nix
index 76a82e7c621..e50dec28ef5 100644
--- a/pkgs/development/python-modules/transitions/default.nix
+++ b/pkgs/development/python-modules/transitions/default.nix
@@ -13,12 +13,12 @@
 
 buildPythonPackage rec {
   pname = "transitions";
-  version = "0.8.10";
+  version = "0.8.11";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "b0385975a842e885c1a55c719d2f90164471665794d39d51f9eb3f11e1d9c8ac";
+    sha256 = "sha256-eyDTKQbqTWDub2wfXcnJ8XiAJCXFsVUhPrDyXCd/BOQ=";
   };
 
   propagatedBuildInputs = [
@@ -38,12 +38,6 @@ buildPythonPackage rec {
     export HOME=$TMPDIR
   '';
 
-  disabledTests = lib.optionals (pythonAtLeast "3.10") [
-    # https://github.com/pytransitions/transitions/issues/563
-    "test_multiple_models"
-    "test_timeout"
-  ];
-
   pythonImportsCheck = [
     "transitions"
   ];
diff --git a/pkgs/development/python-modules/translatepy/default.nix b/pkgs/development/python-modules/translatepy/default.nix
index 986a16db702..44191bcab80 100644
--- a/pkgs/development/python-modules/translatepy/default.nix
+++ b/pkgs/development/python-modules/translatepy/default.nix
@@ -38,6 +38,6 @@ buildPythonPackage rec {
     description = "A module grouping multiple translation APIs";
     homepage = "https://github.com/Animenosekai/translate";
     license = with licenses; [ agpl3Only ];
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/python-modules/transmission-rpc/default.nix b/pkgs/development/python-modules/transmission-rpc/default.nix
index 0732f062b38..1e510db9722 100644
--- a/pkgs/development/python-modules/transmission-rpc/default.nix
+++ b/pkgs/development/python-modules/transmission-rpc/default.nix
@@ -18,10 +18,10 @@ buildPythonPackage rec {
   format = "pyproject";
 
   src = fetchFromGitHub {
-      owner = "Trim21";
-      repo = "transmission-rpc";
-      rev = "v${version}";
-      sha256 = "sha256-Ys9trQMCHqxBSaTobWt8WZwi1F8HKTUKaIxvyo6ZPP0=";
+    owner = "Trim21";
+    repo = "transmission-rpc";
+    rev = "v${version}";
+    sha256 = "sha256-Ys9trQMCHqxBSaTobWt8WZwi1F8HKTUKaIxvyo6ZPP0=";
   };
 
   # remove once upstream has tagged version with dumped typing-extensions
diff --git a/pkgs/development/python-modules/treeo/default.nix b/pkgs/development/python-modules/treeo/default.nix
index 4eac9ddeae1..f3271b9a3bb 100644
--- a/pkgs/development/python-modules/treeo/default.nix
+++ b/pkgs/development/python-modules/treeo/default.nix
@@ -8,16 +8,21 @@
 
 buildPythonPackage rec {
   pname = "treeo";
-  version = "0.0.9";
+  version = "0.4.0";
   format = "pyproject";
 
   src = fetchFromGitHub {
     owner = "cgarciae";
     repo = pname;
     rev = version;
-    sha256 = "0jfqj5150braj4ybnifc6b8mp0w2j93li6bm20lcd7a19qs0lkk2";
+    sha256 = "176r1kgsdlylvdrxmhnzni81p8m9cfnsn4wwn6fnmsgam2qbp76j";
   };
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'typing-extensions = "^3.10.0"' 'typing-extensions = "*"'
+  '';
+
   nativeBuildInputs = [
     poetry-core
   ];
diff --git a/pkgs/development/python-modules/treq/default.nix b/pkgs/development/python-modules/treq/default.nix
index bdbe7180989..f566fda6f8a 100644
--- a/pkgs/development/python-modules/treq/default.nix
+++ b/pkgs/development/python-modules/treq/default.nix
@@ -4,11 +4,11 @@
 
 buildPythonPackage rec {
   pname = "treq";
-  version = "22.1.0";
+  version = "22.2.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-d1WBYEkZo9echFQBWYoP0HDKvG3oOEBHLY6fpxXy02w=";
+    sha256 = "sha256-33V+PxQfx4Lt4HamBFIRlP/LQPomRc9I5aNwYDB/Uuw=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/trimesh/default.nix b/pkgs/development/python-modules/trimesh/default.nix
index 31459b2afb5..c479f1e2c1c 100644
--- a/pkgs/development/python-modules/trimesh/default.nix
+++ b/pkgs/development/python-modules/trimesh/default.nix
@@ -6,11 +6,11 @@
 
 buildPythonPackage rec {
   pname = "trimesh";
-  version = "3.9.43";
+  version = "3.10.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f7d4adf2df0fe19ea49c5f3268c33ffe28b3be818d280bb4c113d7463c58ddf9";
+    sha256 = "sha256-4i1pSpCydU/SzoMSkW5NN5rOVd9J09/cBOLE6WQCUE0=";
   };
 
   propagatedBuildInputs = [ numpy ];
diff --git a/pkgs/development/python-modules/trio-asyncio/default.nix b/pkgs/development/python-modules/trio-asyncio/default.nix
index f6feb789690..25caa3e965f 100644
--- a/pkgs/development/python-modules/trio-asyncio/default.nix
+++ b/pkgs/development/python-modules/trio-asyncio/default.nix
@@ -6,11 +6,15 @@
 , sniffio
 , pytest-trio
 , pytestCheckHook
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "trio-asyncio";
   version = "0.12.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "trio_asyncio";
@@ -34,10 +38,20 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
+  pytestFlagsArray = [
+    # https://github.com/python-trio/trio-asyncio/issues/112
+    "-W"
+    "ignore::DeprecationWarning"
+  ];
+
   disabledTestPaths = [
     "tests/python" # tries to import internal API test.test_asyncio
   ];
 
+  pythonImportsCheck = [
+    "trio_asyncio"
+  ];
+
   meta = with lib; {
     description = "Re-implementation of the asyncio mainloop on top of Trio";
     homepage = "https://github.com/python-trio/trio-asyncio";
diff --git a/pkgs/development/python-modules/ttls/default.nix b/pkgs/development/python-modules/ttls/default.nix
index a389135bc35..9f5917749e6 100644
--- a/pkgs/development/python-modules/ttls/default.nix
+++ b/pkgs/development/python-modules/ttls/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "ttls";
-  version = "1.4.2";
+  version = "1.4.3";
   format = "pyproject";
 
   disabled = pythonOlder "3.8";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "jschlyter";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-zDMgH9o9obfuihX8pXj226T1eMiKx33xyYOGKjdB1wk=";
+    hash = "sha256-lBmkfB7HXB+1xLbfOl4wVtsOVfKhztoDBqzV8i6bFAg=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/ttp/default.nix b/pkgs/development/python-modules/ttp/default.nix
index 38faa10a928..2157af31811 100644
--- a/pkgs/development/python-modules/ttp/default.nix
+++ b/pkgs/development/python-modules/ttp/default.nix
@@ -19,14 +19,14 @@ let
 in
 buildPythonPackage rec {
   pname = "ttp";
-  version = "0.7.2";
+  version = "0.8.4";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "dmulyalin";
     repo = pname;
     rev = version;
-    sha256 = "sha256-dYjE+EMfCVHLRAqT1KM7o8VEopJ/TwAEMphYXuj38Wk=";
+    sha256 = "sha256-vuKlddqm8KirqAJyvBPfRb5Nw9zo4Fl1bwbfVMhmH9g=";
   };
 
   propagatedBuildInputs = [
@@ -57,6 +57,8 @@ buildPythonPackage rec {
   disabledTestPaths = [
     # missing package n2g
     "test/pytest/test_N2G_formatter.py"
+    # missing test file
+    "test/pytest/test_extend_tag.py"
   ];
 
   disabledTests = [
@@ -81,6 +83,10 @@ buildPythonPackage rec {
     "test_excel_formatter_update_using_result_kwargs"
     # missing package n2g
     "test_n2g_formatter"
+    # missing test files
+    "test_TTP_CACHE_FOLDER_env_variable_usage"
+    # requires additional network setup
+    "test_child_group_do_not_start_if_no_parent_started"
   ];
 
   pytestFlagsArray = [
diff --git a/pkgs/development/python-modules/tumpa/default.nix b/pkgs/development/python-modules/tumpa/default.nix
index 236cfbb7ba0..6309e8937a3 100644
--- a/pkgs/development/python-modules/tumpa/default.nix
+++ b/pkgs/development/python-modules/tumpa/default.nix
@@ -10,14 +10,14 @@
 
 buildPythonPackage rec {
   pname = "tumpa";
-  version = "0.1.1";
+  version = "0.1.2";
   disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "kushaldas";
     repo = "tumpa";
     rev = "v${version}";
-    sha256 = "1wvs64s0jxn4p8zr643d2hcczw3a175r6ib3481gdhjx38kgxjbq";
+    sha256 = "17nhdildapgic5l05f3q1wf5jvz3qqdjv543c8gij1x9rdm8hgxi";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/tweepy/default.nix b/pkgs/development/python-modules/tweepy/default.nix
index a98911da58d..a3526eb707b 100644
--- a/pkgs/development/python-modules/tweepy/default.nix
+++ b/pkgs/development/python-modules/tweepy/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "tweepy";
-  version = "4.4.0";
+  version = "4.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -21,7 +21,7 @@ buildPythonPackage rec {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-GUo8uvShyIOWWcO5T1JvV7DMC1W70YILx/hvHIGQg0o=";
+    sha256 = "sha256-mRpYPuj2B/kEaaeZlNYYnViGxWiK1xtWfDObHNduIK8=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twentemilieu/default.nix b/pkgs/development/python-modules/twentemilieu/default.nix
index a8a0fd0c99a..425b7eddfe9 100644
--- a/pkgs/development/python-modules/twentemilieu/default.nix
+++ b/pkgs/development/python-modules/twentemilieu/default.nix
@@ -26,7 +26,8 @@ buildPythonPackage rec {
 
   postPatch = ''
     substituteInPlace pyproject.toml \
-      --replace "--cov" ""
+      --replace "--cov" "" \
+      --replace '"0.0.0"' '"${version}"'
   '';
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/twilio/default.nix b/pkgs/development/python-modules/twilio/default.nix
index 12859fae86c..ddc94541422 100644
--- a/pkgs/development/python-modules/twilio/default.nix
+++ b/pkgs/development/python-modules/twilio/default.nix
@@ -11,7 +11,7 @@
 
 buildPythonPackage rec {
   pname = "twilio";
-  version = "7.4.0";
+  version = "7.5.0";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -20,7 +20,7 @@ buildPythonPackage rec {
     owner = "twilio";
     repo = "twilio-python";
     rev = version;
-    sha256 = "sha256-gN9cVBhiO34uj2ZGqXrnlvOlSaGxry0tMxaTK4SYhjM=";
+    sha256 = "0h6r9nz7dcvagrjhzvnirpnjazcy9r64cwlr2bnmlrbjhwdni9rq";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/twine/default.nix b/pkgs/development/python-modules/twine/default.nix
index f5809b0a9b9..82c157722d2 100644
--- a/pkgs/development/python-modules/twine/default.nix
+++ b/pkgs/development/python-modules/twine/default.nix
@@ -14,13 +14,13 @@
 
 buildPythonPackage rec {
   pname = "twine";
-  version = "3.4.2";
+  version = "3.7.1";
   format = "pyproject";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "4caec0f1ed78dc4c9b83ad537e453d03ce485725f2aea57f1bb3fdde78dae936";
+    sha256 = "28460a3db6b4532bde6a5db6755cf2dce6c5020bada8a641bb2c5c7a9b1f35b8";
   };
 
   nativeBuildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/twitterapi/default.nix b/pkgs/development/python-modules/twitterapi/default.nix
index 01a905d55bf..acaf3bf640e 100644
--- a/pkgs/development/python-modules/twitterapi/default.nix
+++ b/pkgs/development/python-modules/twitterapi/default.nix
@@ -8,7 +8,7 @@
 
 buildPythonPackage rec {
   pname = "twitterapi";
-  version = "2.7.11";
+  version = "2.7.12";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -17,7 +17,7 @@ buildPythonPackage rec {
     owner = "geduldig";
     repo = "TwitterAPI";
     rev = "v${version}";
-    sha256 = "sha256-Rxc0ld0U8fhE3yJV+rgGsOfOdN6xGk0NQuHscpvergs=";
+    sha256 = "sha256-WqeoIZt2OGDXKPAbjm3cHI1kgiCEJC6+ROXXx4TR4b4=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/typeguard/default.nix b/pkgs/development/python-modules/typeguard/default.nix
index 63e1502226d..8b2ff2de512 100644
--- a/pkgs/development/python-modules/typeguard/default.nix
+++ b/pkgs/development/python-modules/typeguard/default.nix
@@ -10,11 +10,11 @@
 
 buildPythonPackage rec {
   pname = "typeguard";
-  version = "2.13.2";
+  version = "2.13.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "7e50071590ab997509aa0977609eb5cf9d73d84c1f416cb4fab78b77a9d15326";
+    sha256 = "00edaa8da3a133674796cf5ea87d9f4b4c367d77476e185e80251cc13dfbb8c4";
   };
 
   buildInputs = [ setuptools-scm ];
diff --git a/pkgs/development/python-modules/types-dateutil/default.nix b/pkgs/development/python-modules/types-dateutil/default.nix
new file mode 100644
index 00000000000..4614a92ae64
--- /dev/null
+++ b/pkgs/development/python-modules/types-dateutil/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+}:
+
+buildPythonPackage rec {
+  pname = "types-python-dateutil";
+  version = "2.8.9";
+  format = "setuptools";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-kPlaa21Pq6NZKH8XosrlEczJ1KvImwGWm9rBGFgVwF0=";
+  };
+
+  pythonImportsCheck = [ "dateutil-stubs" ];
+
+  meta = with lib; {
+    description = "Typing stubs for python-dateutil";
+    homepage = "https://github.com/python/typeshed";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ milibopp ];
+  };
+}
diff --git a/pkgs/development/python-modules/types-protobuf/default.nix b/pkgs/development/python-modules/types-protobuf/default.nix
index d4708e58706..1055a91b675 100644
--- a/pkgs/development/python-modules/types-protobuf/default.nix
+++ b/pkgs/development/python-modules/types-protobuf/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-protobuf";
-  version = "3.19.5";
+  version = "3.19.12";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "9e3d954de5f5693817514b8da3476daa22f035d2b8060217c78c3831a1a49c23";
+    sha256 = "sha256-sCIkc0dHEhmsvi/mjS82I9eIJS6Z6blzWLerkE0ming=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-pytz/default.nix b/pkgs/development/python-modules/types-pytz/default.nix
index faf5ee8bdcb..1fc7dd5f9b6 100644
--- a/pkgs/development/python-modules/types-pytz/default.nix
+++ b/pkgs/development/python-modules/types-pytz/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-pytz";
-  version = "2021.3.4";
+  version = "2021.3.5";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "101da53091013bb07403468c20d36930d749d3918054ac46f9c1bfc607dadf7d";
+    sha256 = "sha256-/vjeI47pUTWVIimiojv7h71j1abIWYEGpGz89I8Gnqg=";
   };
 
   # 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 c45b2532989..165c65f3a9e 100644
--- a/pkgs/development/python-modules/types-requests/default.nix
+++ b/pkgs/development/python-modules/types-requests/default.nix
@@ -6,12 +6,12 @@
 
 buildPythonPackage rec {
   pname = "types-requests";
-  version = "2.27.8";
+  version = "2.27.11";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-wvTkdU0HygqI/YqJu8bIqfkPtEH5ybVy/VxITwSBdIY=";
+    sha256 = "sha256-an7SSyF4CvSlteJMMQss2IX7YS31/ZVYTQPYfl8qGVo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/types-setuptools/default.nix b/pkgs/development/python-modules/types-setuptools/default.nix
index 7e602b2d3c1..24ee2ce5b29 100644
--- a/pkgs/development/python-modules/types-setuptools/default.nix
+++ b/pkgs/development/python-modules/types-setuptools/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-setuptools";
-  version = "57.4.8";
+  version = "57.4.9";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-1VRfKrPa0k9cscAbp0way3QHqzGyYY1CMVj8hAhRYPE=";
+    sha256 = "sha256-U273R0T44eS+T8cZiH+IbnTkzzx5K0oGmEMgvk30ULU=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-toml/default.nix b/pkgs/development/python-modules/types-toml/default.nix
index c8f52052418..affdbbb2b44 100644
--- a/pkgs/development/python-modules/types-toml/default.nix
+++ b/pkgs/development/python-modules/types-toml/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-toml";
-  version = "0.10.3";
+  version = "0.10.4";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "215a7a79198651ec5bdfd66193c1e71eb681a42f3ef7226c9af3123ced62564a";
+    sha256 = "sha256-k0DnwVh3FVgbsTkFs68wt5/mivrM/KN3Zl1eY7aUEpo=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/types-typed-ast/default.nix b/pkgs/development/python-modules/types-typed-ast/default.nix
index 4962f2d02e3..e08450c6a3e 100644
--- a/pkgs/development/python-modules/types-typed-ast/default.nix
+++ b/pkgs/development/python-modules/types-typed-ast/default.nix
@@ -5,12 +5,12 @@
 
 buildPythonPackage rec {
   pname = "types-typed-ast";
-  version = "1.5.1";
+  version = "1.5.2";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-UQ876qlUkrNUTWfoFYGvopA8dktwiJ/82yhubGJn0pc=";
+    hash = "sha256-bY/S6pCDbLQxEayKrnzYZOCYWTyT7M66kP5G1rewxz4=";
   };
 
   # Module doesn't have tests
diff --git a/pkgs/development/python-modules/ufoLib2/default.nix b/pkgs/development/python-modules/ufoLib2/default.nix
index 6697e0b705f..21894203d1a 100644
--- a/pkgs/development/python-modules/ufoLib2/default.nix
+++ b/pkgs/development/python-modules/ufoLib2/default.nix
@@ -9,13 +9,13 @@
 
 buildPythonPackage rec {
   pname = "ufoLib2";
-  version = "0.13.0";
+  version = "0.13.1";
 
   format = "pyproject";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "xJfvyNE+30BgNirX8u1xhKcD8pM3owRAVC4WX+qFqEM=";
+    sha256 = "sha256-MnWi2mI+bUt+4pyYTNs6W4a7wj8KHOlEhti7XDCKpHs=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/ujson/default.nix b/pkgs/development/python-modules/ujson/default.nix
index 4d12af0689d..0d7faf93f93 100644
--- a/pkgs/development/python-modules/ujson/default.nix
+++ b/pkgs/development/python-modules/ujson/default.nix
@@ -9,12 +9,12 @@
 
 buildPythonPackage rec {
   pname = "ujson";
-  version = "4.3.0";
+  version = "5.1.0";
   disabled = isPyPy || pythonOlder "3.5";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "baee56eca35cb5fbe02c28bd9c0936be41a96fa5c0812d9d4b7edeb5c3d568a0";
+    sha256 = "a88944d2f99db71a3ca0c63d81f37e55b660edde0b07216fb65a3e46403ef004";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/uncertainties/default.nix b/pkgs/development/python-modules/uncertainties/default.nix
index c132f50dbea..180baf0d4dd 100644
--- a/pkgs/development/python-modules/uncertainties/default.nix
+++ b/pkgs/development/python-modules/uncertainties/default.nix
@@ -14,7 +14,9 @@ buildPythonPackage rec {
   propagatedBuildInputs = [ future ];
   checkInputs = [ nose numpy ];
 
-  checkPhase = "python setup.py nosetests -sv";
+  checkPhase = ''
+    nosetests -sv
+  '';
 
   meta = with lib; {
     homepage = "https://pythonhosted.org/uncertainties/";
diff --git a/pkgs/development/python-modules/unittest2/default.nix b/pkgs/development/python-modules/unittest2/default.nix
index ae8cab53b0c..e044176242d 100644
--- a/pkgs/development/python-modules/unittest2/default.nix
+++ b/pkgs/development/python-modules/unittest2/default.nix
@@ -3,6 +3,7 @@
 , fetchPypi
 , six
 , traceback2
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
@@ -16,14 +17,14 @@ buildPythonPackage rec {
 
   propagatedBuildInputs = [ six traceback2 ];
 
-  # # 1.0.0 and up create a circle dependency with traceback2/pbr
+  # 1.0.0 and up create a circle dependency with traceback2/pbr
   doCheck = false;
 
   postPatch = ''
     # argparse is needed for python < 2.7, which we do not support anymore.
     substituteInPlace setup.py --replace "argparse" ""
 
-    # # fixes a transient error when collecting tests, see https://bugs.launchpad.net/python-neutronclient/+bug/1508547
+    # fixes a transient error when collecting tests, see https://bugs.launchpad.net/python-neutronclient/+bug/1508547
     sed -i '510i\        return None, False' unittest2/loader.py
     # https://github.com/pypa/packaging/pull/36
     sed -i 's/version=VERSION/version=str(VERSION)/' setup.py
@@ -31,8 +32,9 @@ buildPythonPackage rec {
 
   meta = with lib; {
     description = "A backport of the new features added to the unittest testing framework";
-    homepage = "https://pypi.python.org/pypi/unittest2";
+    homepage = "https://pypi.org/project/unittest2/";
     license = licenses.bsd0;
+    # AttributeError: module 'collections' has no attribute 'MutableMapping'
+    broken = pythonAtLeast "3.10";
   };
-
 }
diff --git a/pkgs/development/python-modules/uproot/default.nix b/pkgs/development/python-modules/uproot/default.nix
index ef262e057e2..bf523046c61 100644
--- a/pkgs/development/python-modules/uproot/default.nix
+++ b/pkgs/development/python-modules/uproot/default.nix
@@ -12,14 +12,14 @@
 
 buildPythonPackage rec {
   pname = "uproot";
-  version = "4.1.5";
+  version = "4.1.9";
 
   # fetch from github for tests
   src = fetchFromGitHub {
     owner = "scikit-hep";
     repo = "uproot4";
     rev = version;
-    sha256 = "sha256-zsmAdqoWvFhRRRw4fdbRhhKkDV5oP/eYsfpA0AVqAnI=";
+    sha256 = "035gljxm18hvpfvc7nsd7lhawwq3np5sg1y86pzcxc680c6rj6lx";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/urllib3/default.nix b/pkgs/development/python-modules/urllib3/default.nix
index 91bc6e68eb3..4c1a61b09fc 100644
--- a/pkgs/development/python-modules/urllib3/default.nix
+++ b/pkgs/development/python-modules/urllib3/default.nix
@@ -18,11 +18,12 @@
 
 buildPythonPackage rec {
   pname = "urllib3";
-  version = "1.26.7";
+  version = "1.26.8";
+  format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-SYfGVVT3otvzDBj9SHeO8SSvb6t3GjdxA9oFheIzbs4=";
+    hash = "sha256-Dnwz2aY+fd/LhngKrIe+/C+930bFjbtIfghV987sKDw=";
   };
 
   propagatedBuildInputs = [
@@ -61,7 +62,9 @@ buildPythonPackage rec {
     export CI # Increases LONG_TIMEOUT
   '';
 
-  pythonImportsCheck = [ "urllib3" ];
+  pythonImportsCheck = [
+    "urllib3"
+  ];
 
   meta = with lib; {
     description = "Powerful, sanity-friendly HTTP client for Python";
diff --git a/pkgs/development/python-modules/uvicorn/default.nix b/pkgs/development/python-modules/uvicorn/default.nix
index 57c6bf92535..4ce9228efee 100644
--- a/pkgs/development/python-modules/uvicorn/default.nix
+++ b/pkgs/development/python-modules/uvicorn/default.nix
@@ -19,14 +19,14 @@
 
 buildPythonPackage rec {
   pname = "uvicorn";
-  version = "0.14.0";
+  version = "0.16.0";
   disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "encode";
     repo = pname;
     rev = version;
-    sha256 = "164x92k3rs47ihkmwq5av396576dxp4rzv6557pwgc1ign2ikqy1";
+    sha256 = "14jih6j4q2qp5c9rgl798i5p51b4y6zkkj434q2l1naw0csphk4s";
   };
 
   outputs = [
diff --git a/pkgs/development/python-modules/uvloop/default.nix b/pkgs/development/python-modules/uvloop/default.nix
index 41a0972a315..72ede5dc171 100644
--- a/pkgs/development/python-modules/uvloop/default.nix
+++ b/pkgs/development/python-modules/uvloop/default.nix
@@ -53,6 +53,8 @@ buildPythonPackage rec {
   ] ++ lib.optionals (stdenv.isDarwin && stdenv.isAarch64) [
     # Flaky test: https://github.com/MagicStack/uvloop/issues/412
     "--deselect" "tests/test_tcp.py::Test_UV_TCPSSL::test_shutdown_timeout_handler_not_set"
+    # Broken: https://github.com/NixOS/nixpkgs/issues/160904
+    "--deselect" "tests/test_context.py::Test_UV_Context::test_create_ssl_server_manual_connection_lost"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/python-modules/vega/default.nix b/pkgs/development/python-modules/vega/default.nix
index 50fc4275c9b..9bc87596316 100644
--- a/pkgs/development/python-modules/vega/default.nix
+++ b/pkgs/development/python-modules/vega/default.nix
@@ -3,12 +3,12 @@
 
 buildPythonPackage rec {
   pname = "vega";
-  version = "3.5.0";
+  version = "3.6.0";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "1c22877758cef97e81dbb665c83d31f7427bbc804a01503fa2845a35403c54ad";
+    sha256 = "sha256-cO+7Ynbv/+uoNUOPQvDNZji04llHUBlm95Cyfy+Ny80=";
   };
 
   propagatedBuildInputs = [ jupyter jupyter_core pandas ipywidgets ];
diff --git a/pkgs/development/python-modules/velbus-aio/default.nix b/pkgs/development/python-modules/velbus-aio/default.nix
index d9622cc1513..efa5a0fc29f 100644
--- a/pkgs/development/python-modules/velbus-aio/default.nix
+++ b/pkgs/development/python-modules/velbus-aio/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "velbus-aio";
-  version = "2022.02.1";
+  version = "2022.2.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -19,7 +19,7 @@ buildPythonPackage rec {
     owner = "Cereal2nd";
     repo = pname;
     rev = version;
-    sha256 = "sha256-YVihR7XSI2Ve1Tur4mnNfFKzs8PN1DWO8JYUrYTL4xo=";
+    sha256 = "sha256-oWHyEw1DjMynLPAARcVaqsFccpnTk1/7gpq+8TU95d0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/python-modules/versiontag/default.nix b/pkgs/development/python-modules/versiontag/default.nix
index aebf40a40f5..8c4bb49ebaf 100644
--- a/pkgs/development/python-modules/versiontag/default.nix
+++ b/pkgs/development/python-modules/versiontag/default.nix
@@ -11,6 +11,11 @@ buildPythonPackage rec {
     sha256 = "1axv2214ykgv5adajv10v2zy5fr9v77db54rkik6ja29p66zl90n";
   };
 
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "get_version(pypi=True)" '"${version}"'
+  '';
+
   checkInputs = [ git ];
 
   pythonImportsCheck = [ "versiontag" ];
diff --git a/pkgs/development/python-modules/videocr/default.nix b/pkgs/development/python-modules/videocr/default.nix
new file mode 100644
index 00000000000..a6ac156b706
--- /dev/null
+++ b/pkgs/development/python-modules/videocr/default.nix
@@ -0,0 +1,46 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, python-Levenshtein
+, pytesseract
+, opencv4
+, fuzzywuzzy
+}:
+
+buildPythonPackage rec {
+  pname = "videocr";
+  version = "0.1.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "1clifwczvhvbaw2spgxkkyqsbqh21vyfw3rh094pxfmq89ylyj63";
+  };
+
+  propagatedBuildInputs = [
+    python-Levenshtein
+    pytesseract
+    opencv4
+    fuzzywuzzy
+  ];
+
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "opencv-python" "opencv"
+    substituteInPlace videocr/constants.py \
+      --replace "master" "main"
+    substituteInPlace videocr/video.py \
+      --replace '--tessdata-dir "{}"' '--tessdata-dir="{}"'
+  '';
+
+  # Project has no tests
+  doCheck = false;
+
+  pythonImportsCheck = [ "videocr" ];
+
+  meta = with lib; {
+    description = "Extract hardcoded subtitles from videos using machine learning";
+    homepage = "https://github.com/apm1467/videocr";
+    license = licenses.mit;
+    maintainers = with maintainers; [ ozkutuk ];
+  };
+}
diff --git a/pkgs/development/python-modules/virtual-display/default.nix b/pkgs/development/python-modules/virtual-display/default.nix
index f2f6dd31a50..bc7469e1d61 100644
--- a/pkgs/development/python-modules/virtual-display/default.nix
+++ b/pkgs/development/python-modules/virtual-display/default.nix
@@ -2,13 +2,13 @@
 
 buildPythonPackage rec {
   pname = "PyVirtualDisplay";
-  version = "2.2";
+  version = "3.0";
 
   propagatedBuildInputs = [ EasyProcess ];
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "3ecda6b183b03ba65dcfdf0019809722480d7b7e10eea6e3a40bf1ba3146bab7";
+    sha256 = "sha256-CXVbw86263JfsH7KVCX0PyNY078I4A0qm3kqGu3RYVk=";
   };
 
   # requires X server
diff --git a/pkgs/development/python-modules/virtualenv/default.nix b/pkgs/development/python-modules/virtualenv/default.nix
index d51b3d78379..c463c37747e 100644
--- a/pkgs/development/python-modules/virtualenv/default.nix
+++ b/pkgs/development/python-modules/virtualenv/default.nix
@@ -23,11 +23,11 @@
 
 buildPythonPackage rec {
   pname = "virtualenv";
-  version = "20.10.0";
+  version = "20.13.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "576d05b46eace16a9c348085f7d0dc8ef28713a2cabaa1cf0aea41e8f12c9218";
+    sha256 = "d8458cf8d59d0ea495ad9b34c2599487f8a7772d796f9910858376d1600dd2dd";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/vispy/default.nix b/pkgs/development/python-modules/vispy/default.nix
index 5967b9b9abb..47a96633254 100644
--- a/pkgs/development/python-modules/vispy/default.nix
+++ b/pkgs/development/python-modules/vispy/default.nix
@@ -16,11 +16,11 @@
 
 buildPythonPackage rec {
   pname = "vispy";
-  version = "0.9.4";
+  version = "0.9.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "8561e41bbcca5fadce4a8d974ca2f96cbe7710d835bfed6a55ed6d10900ef5d5";
+    sha256 = "sha256-ISzVtQgkSZu84+LXQaray3nAt3GsVm+THGE1WXYCi8s=";
   };
 
   patches = [
diff --git a/pkgs/development/python-modules/vivisect/default.nix b/pkgs/development/python-modules/vivisect/default.nix
index d664cf1d27f..ddf6ce54b25 100644
--- a/pkgs/development/python-modules/vivisect/default.nix
+++ b/pkgs/development/python-modules/vivisect/default.nix
@@ -10,12 +10,12 @@
 }:
 buildPythonPackage rec {
   pname = "vivisect";
-  version = "1.0.5";
+  version = "1.0.7";
   disabled = isPy3k;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "f629dc0143656b06b64e2da1772deda67d37a3e048e74bd728de4a4f24bf877b";
+    sha256 = "727a27ac1eb95d5a41f4430f6912e79940525551314fe68a2811fc9d51eaf2e9";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/volvooncall/default.nix b/pkgs/development/python-modules/volvooncall/default.nix
new file mode 100644
index 00000000000..9fe43d16f92
--- /dev/null
+++ b/pkgs/development/python-modules/volvooncall/default.nix
@@ -0,0 +1,57 @@
+{ lib
+, buildPythonPackage
+, pythonOlder
+, fetchFromGitHub
+, setuptools
+, geopy
+, docopt
+, pyyaml
+, certifi
+, amqtt
+, websockets
+, aiohttp
+, pytestCheckHook
+, asynctest
+, pytest-asyncio
+}:
+
+buildPythonPackage rec {
+  pname = "volvooncall";
+  version = "0.9.2";
+
+  disabled = pythonOlder "3.8";
+
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "molobrakos";
+    repo = "volvooncall";
+    rev = "v${version}";
+    hash = "sha256-OTs282z7qzILl/xxM3whaxiQr8FZOfgceO2EY3NJKbA=";
+  };
+
+  propagatedBuildInputs = [
+    geopy
+    docopt
+    pyyaml
+    certifi
+    amqtt
+    websockets
+    aiohttp
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    asynctest
+    pytest-asyncio
+  ];
+
+  pythonImportsCheck = [ "volvooncall" ];
+
+  meta = with lib; {
+    description = "Retrieve information from the Volvo On Call web service";
+    homepage = "https://github.com/molobrakos/volvooncall";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ dotlambda ];
+  };
+}
diff --git a/pkgs/development/python-modules/waitress-django/default.nix b/pkgs/development/python-modules/waitress-django/default.nix
index e76d1f11029..4e40980d917 100644
--- a/pkgs/development/python-modules/waitress-django/default.nix
+++ b/pkgs/development/python-modules/waitress-django/default.nix
@@ -1,11 +1,16 @@
-{ buildPythonPackage, django, waitress }:
+{ lib, buildPythonPackage, django, waitress }:
 
 buildPythonPackage {
   pname = "waitress-django";
-  version = "0.0.0";
+  version = "1.0.0";
 
   src = ./.;
   pythonPath = [ django waitress ];
   doCheck = false;
-  meta.description = "A waitress WSGI server serving django";
+
+  meta = with lib; {
+    description = "A waitress WSGI server serving django";
+    license = licenses.mit;
+    maintainers = with maintainers; [ basvandijk ];
+  };
 }
diff --git a/pkgs/development/python-modules/waitress-django/setup.py b/pkgs/development/python-modules/waitress-django/setup.py
index 07f7b326fda..16fde78f42a 100644
--- a/pkgs/development/python-modules/waitress-django/setup.py
+++ b/pkgs/development/python-modules/waitress-django/setup.py
@@ -3,7 +3,7 @@
 from distutils.core import setup
 
 setup( name         = "waitress-django"
-     , version      = "0.0.0"
+     , version      = "1.0.0"
      , description  = "A waitress WSGI server serving django"
      , author       = "Bas van Dijk"
      , author_email = "v.dijk.bas@gmail.com"
diff --git a/pkgs/development/python-modules/warlock/default.nix b/pkgs/development/python-modules/warlock/default.nix
index 1b62c918f33..c20723e8d6e 100644
--- a/pkgs/development/python-modules/warlock/default.nix
+++ b/pkgs/development/python-modules/warlock/default.nix
@@ -1,27 +1,56 @@
 { lib
 , buildPythonPackage
-, fetchPypi
-, six
+, fetchFromGitHub
+, pythonOlder
 , jsonpatch
 , jsonschema
-, jsonpointer
+, six
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "warlock";
   version = "1.3.3";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
-  src = fetchPypi {
-    inherit pname version;
-    sha256 = "a093c4d04b42b7907f69086e476a766b7639dca50d95edc83aef6aeab9db2090";
+  src = fetchFromGitHub {
+    owner = "bcwaldon";
+    repo = pname;
+    rev = version;
+    hash = "sha256-59V4KOwjs/vhA3F3E0j3p5L4JnKPgcExN+mgSWs0Cn0=";
   };
 
-  propagatedBuildInputs = [ six jsonpatch jsonschema jsonpointer ];
+  postPatch = ''
+    substituteInPlace requirements.txt \
+      --replace "jsonschema>=0.7,<4" "jsonschema"
+    sed -i "/--cov/d" pytest.ini
+  '';
+
+  propagatedBuildInputs = [
+    jsonpatch
+    jsonschema
+    six
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+  ];
+
+  disabledTests = [
+    # https://github.com/bcwaldon/warlock/issues/64
+    "test_recursive_models"
+  ];
+
+  pythonImportsCheck = [
+    "warlock"
+  ];
 
   meta = with lib; {
-    homepage = "https://github.com/bcwaldon/warlock";
     description = "Python object model built on JSON schema and JSON patch";
+    homepage = "https://github.com/bcwaldon/warlock";
     license = licenses.asl20;
+    maintainers = with maintainers; [ ];
   };
-
 }
diff --git a/pkgs/development/python-modules/warrant-lite/default.nix b/pkgs/development/python-modules/warrant-lite/default.nix
new file mode 100644
index 00000000000..4d5d77c2e84
--- /dev/null
+++ b/pkgs/development/python-modules/warrant-lite/default.nix
@@ -0,0 +1,49 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pythonOlder
+, boto3
+, envs
+, python-jose
+, requests
+}:
+
+buildPythonPackage rec {
+  pname = "warrant-lite";
+  version = "1.0.4";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    hash = "sha256-FunWoslZn3o0WHet2+LtggO3bbbe2ULMXW93q07GxJ4=";
+  };
+
+  propagatedBuildInputs = [
+    boto3
+    envs
+    python-jose
+    requests
+  ];
+
+  postPatch = ''
+    # requirements.txt is not part of the source
+    substituteInPlace setup.py \
+      --replace "parse_requirements('requirements.txt')," "[],"
+  '';
+
+  # Tests require credentials
+  doCheck = false;
+
+  pythonImportsCheck = [
+    "warrant_lite"
+  ];
+
+  meta = with lib; {
+    description = "Module for process SRP requests for AWS Cognito";
+    homepage = "https://github.com/capless/warrant-lite";
+    license = with licenses; [ asl20 ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/wasmer/default.nix b/pkgs/development/python-modules/wasmer/default.nix
index dff14d15b90..4a99f048d1a 100644
--- a/pkgs/development/python-modules/wasmer/default.nix
+++ b/pkgs/development/python-modules/wasmer/default.nix
@@ -5,7 +5,6 @@
 , fetchFromGitHub
 , buildPythonPackage
 , libiconv
-, llvm_11
 , libffi
 , libxml2
 , ncurses
@@ -21,7 +20,7 @@ let
     , extraBuildInputs ? [ ]
     }: buildPythonPackage rec {
       inherit pname;
-      version = "1.0.0";
+      version = "1.1.0";
       format = "pyproject";
 
       outputs = [ "out" ] ++ lib.optional (pname == "wasmer") "testsout";
@@ -30,7 +29,7 @@ let
         owner = "wasmerio";
         repo = "wasmer-python";
         rev = version;
-        hash = "sha256-I1GfjLaPYMIHKh2m/5IQepUsJNiVUEJg49wyuuzUYtY=";
+        hash = "sha256-nOeOhQ1XY+9qmLGURrI5xbgBUgWe5XRpV38f73kKX2s=";
       };
 
       cargoDeps = rustPlatform.fetchCargoTarball {
@@ -74,26 +73,26 @@ rec {
   wasmer = common {
     pname = "wasmer";
     buildAndTestSubdir = "packages/api";
-    cargoHash = "sha256-txOOia1C4W+nsXuXp4EytEn82CFfSmiOYwRLC4WPImc=";
+    cargoHash = "sha256-twoog8LjQtoli+TlDipSuB7yLFkXQJha9BqobqgZW3Y=";
   };
 
   wasmer-compiler-cranelift = common {
     pname = "wasmer-compiler-cranelift";
     buildAndTestSubdir = "packages/compiler-cranelift";
-    cargoHash = "sha256-cHgAUwqnbQV3E5nUYGYQ48ntbIFfq4JXfU5IrSFZ3zI=";
+    cargoHash = "sha256-IqeMOY6emhIC7ekH8kIOZCr3JVkjxUg/lQli+ZZpdq4=";
   };
 
   wasmer-compiler-llvm = common {
     pname = "wasmer-compiler-llvm";
     buildAndTestSubdir = "packages/compiler-llvm";
-    cargoHash = "sha256-Jm22CC5S3pN/vdVvsGZdvtoAgPzWVLto8wavSJdxY3A=";
-    extraNativeBuildInputs = [ llvm_11 ];
+    cargoHash = "sha256-xawbf5gXXV+7I2F2fDSaMvjtFvGDBtqX7wL3c28TSbA=";
+    extraNativeBuildInputs = [ rustPlatform.rust.rustc.llvm ];
     extraBuildInputs = [ libffi libxml2.out ncurses zlib ];
   };
 
   wasmer-compiler-singlepass = common {
     pname = "wasmer-compiler-singlepass";
     buildAndTestSubdir = "packages/compiler-singlepass";
-    cargoHash = "sha256-lmqEo3+jYoN+4EEYphcoE4b84jdFcvYVycjrJ956Bh8=";
+    cargoHash = "sha256-4nZHMCNumNhdGPOmHXlJ5POYP7K+VPjwhEUMgzGb/Rk=";
   };
 }
diff --git a/pkgs/development/python-modules/wazeroutecalculator/default.nix b/pkgs/development/python-modules/wazeroutecalculator/default.nix
index dd840962464..dd561d1c056 100644
--- a/pkgs/development/python-modules/wazeroutecalculator/default.nix
+++ b/pkgs/development/python-modules/wazeroutecalculator/default.nix
@@ -2,16 +2,20 @@
 , buildPythonPackage
 , fetchPypi
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "wazeroutecalculator";
-  version = "0.13";
+  version = "0.15";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     pname = "WazeRouteCalculator";
     inherit version;
-    sha256 = "sha256-Ex9yglaJkk0+Uo3Y+xpimb5boXz+4QdbJS2O75U6dUg=";
+    sha256 = "sha256-DB5oWthWNwamFG3kNxA/kmUBOVogoSg5LI2KrI39s4M=";
   };
 
   propagatedBuildInputs = [
@@ -21,7 +25,9 @@ buildPythonPackage rec {
   # there are no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "WazeRouteCalculator" ];
+  pythonImportsCheck = [
+    "WazeRouteCalculator"
+  ];
 
   meta = with lib; {
     description = "Calculate actual route time and distance with Waze API";
diff --git a/pkgs/development/python-modules/webargs/default.nix b/pkgs/development/python-modules/webargs/default.nix
index e92b47d2093..31cedc7b403 100644
--- a/pkgs/development/python-modules/webargs/default.nix
+++ b/pkgs/development/python-modules/webargs/default.nix
@@ -4,12 +4,12 @@
 
 buildPythonPackage rec {
   pname = "webargs";
-  version = "8.0.1";
+  version = "8.1.0";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "bcce022250ee97cfbb0ad07b02388ac90a226ef4b479ec84317152345a565614";
+    sha256 = "f1f0b7f054a22263cf750529fc0926709ca47da9a2c417d423ad88d9fa6a5d33";
   };
 
   pythonImportsCheck = [
diff --git a/pkgs/development/python-modules/websocket-client/default.nix b/pkgs/development/python-modules/websocket-client/default.nix
index 9622f10168f..116f45f16dd 100644
--- a/pkgs/development/python-modules/websocket-client/default.nix
+++ b/pkgs/development/python-modules/websocket-client/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "websocket-client";
-  version = "1.2.2";
+  version = "1.2.3";
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "21861f8645eb5725d1becfe86d7e7ae1a31d98b72556f9d44fcc5100976353cf";
+    sha256 = "1315816c0acc508997eb3ae03b9d3ff619c9d12d544c9a9b553704b1cc4f6af5";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/websockets/default.nix b/pkgs/development/python-modules/websockets/default.nix
index 2e13d95c382..7d6f78902d0 100644
--- a/pkgs/development/python-modules/websockets/default.nix
+++ b/pkgs/development/python-modules/websockets/default.nix
@@ -23,11 +23,25 @@ buildPythonPackage rec {
   # Tests fail on Darwin with `OSError: AF_UNIX path too long`
   doCheck = !stdenv.isDarwin;
 
-  # Disable all tests that need to terminate within a predetermined amount of
-  # time. This is nondeterministic.
   patchPhase = ''
+    # Disable all tests that need to terminate within a predetermined amount of
+    # time. This is nondeterministic.
     sed -i 's/with self.assertCompletesWithin.*:/if True:/' \
       tests/legacy/test_protocol.py
+
+    # Disables tests relying on tight timeouts to avoid failures like:
+    #   File "/build/source/tests/legacy/test_protocol.py", line 1270, in test_keepalive_ping_with_no_ping_timeout
+    #     ping_1_again, ping_2 = tuple(self.protocol.pings)
+    #   ValueError: too many values to unpack (expected 2)
+    for t in \
+             test_keepalive_ping_stops_when_connection_closing \
+             test_keepalive_ping_does_not_crash_when_connection_lost \
+             test_keepalive_ping \
+             test_keepalive_ping_not_acknowledged_closes_connection \
+             test_keepalive_ping_with_no_ping_timeout \
+      ; do
+      sed -i "s/def $t(/def skip_$t(/" tests/legacy/test_protocol.py
+    done
   '';
 
   checkPhase = ''
diff --git a/pkgs/development/python-modules/webtest/default.nix b/pkgs/development/python-modules/webtest/default.nix
index 999d2560591..8ec42598ee6 100644
--- a/pkgs/development/python-modules/webtest/default.nix
+++ b/pkgs/development/python-modules/webtest/default.nix
@@ -2,26 +2,25 @@
 , buildPythonPackage
 , fetchPypi
 , isPy27
-, nose
 , webob
 , six
 , beautifulsoup4
 , waitress
-, mock
 , pyquery
 , wsgiproxy2
 , pastedeploy
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
-  version = "2.0.35";
+  version = "3.0.0";
   pname = "webtest";
   disabled = isPy27; # paste.deploy is not longer a valid import
 
   src = fetchPypi {
     pname = "WebTest";
     inherit version;
-    sha256 = "sha256-qsFotbK08gCvTjWGfPMWcSIQ49XbgcHL3/OHImR7sIc=";
+    sha256 = "54bd969725838d9861a9fa27f8d971f79d275d94ae255f5c501f53bb6d9929eb";
   };
 
   postPatch = ''
@@ -36,8 +35,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
-    nose
-    mock
+    pytestCheckHook
     pastedeploy
     wsgiproxy2
     pyquery
diff --git a/pkgs/development/python-modules/weconnect-mqtt/default.nix b/pkgs/development/python-modules/weconnect-mqtt/default.nix
index 0e00a08145e..82bf024c824 100644
--- a/pkgs/development/python-modules/weconnect-mqtt/default.nix
+++ b/pkgs/development/python-modules/weconnect-mqtt/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "weconnect-mqtt";
-  version = "0.21.0";
+  version = "0.29.1";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-mqtt";
     rev = "v${version}";
-    sha256 = "sha256-wagFjVXTjYFryaUiVeqU+T9ya+NzUFMX3uPlRZGe1v0=";
+    sha256 = "sha256-/hFlH0naE62d2dyYIJD/+TuSQDOVgS8tQsSX8JuReC0=";
   };
 
   propagatedBuildInputs = [
@@ -32,6 +32,8 @@ buildPythonPackage rec {
     substituteInPlace pytest.ini \
       --replace "--cov=weconnect_mqtt --cov-config=.coveragerc --cov-report html" "" \
       --replace "pytest-cov" ""
+    substituteInPlace requirements.txt \
+      --replace "weconnect[Images]~=0.35.1" "weconnect"
   '';
 
   checkInputs = [
diff --git a/pkgs/development/python-modules/weconnect/default.nix b/pkgs/development/python-modules/weconnect/default.nix
index 70da78edb60..794fde43167 100644
--- a/pkgs/development/python-modules/weconnect/default.nix
+++ b/pkgs/development/python-modules/weconnect/default.nix
@@ -7,11 +7,12 @@
 , pytestCheckHook
 , pythonOlder
 , requests
+, oauthlib
 }:
 
 buildPythonPackage rec {
   pname = "weconnect";
-  version = "0.28.0";
+  version = "0.36.4";
   format = "setuptools";
 
   disabled = pythonOlder "3.7";
@@ -20,11 +21,12 @@ buildPythonPackage rec {
     owner = "tillsteinbach";
     repo = "WeConnect-python";
     rev = "v${version}";
-    sha256 = "sha256-J7T62L6wT9rkl/Ukf2y5kBbJEdzh2XnGgCgedkxVEmA=";
+    sha256 = "sha256-B4RZftGngV85Trm0iPj50WAv1M0H+sjQ9ABiGh070/M=";
   };
 
   propagatedBuildInputs = [
     ascii-magic
+    oauthlib
     pillow
     requests
   ];
@@ -40,6 +42,8 @@ buildPythonPackage rec {
     substituteInPlace setup.py \
       --replace "setup_requires=SETUP_REQUIRED," "setup_requires=[]," \
       --replace "tests_require=TEST_REQUIRED," "tests_require=[],"
+    substituteInPlace requirements.txt \
+      --replace "pillow~=9.0.0" "pillow"
     substituteInPlace pytest.ini \
       --replace "--cov=weconnect --cov-config=.coveragerc --cov-report html" "" \
       --replace "pytest-cov" ""
diff --git a/pkgs/development/python-modules/werkzeug/1.nix b/pkgs/development/python-modules/werkzeug/1.nix
new file mode 100644
index 00000000000..ae7ce1f2b90
--- /dev/null
+++ b/pkgs/development/python-modules/werkzeug/1.nix
@@ -0,0 +1,62 @@
+{ lib, stdenv, buildPythonPackage, fetchPypi
+, itsdangerous, hypothesis
+, pytestCheckHook, requests
+, pytest-timeout
+, isPy3k
+ }:
+
+buildPythonPackage rec {
+  pname = "Werkzeug";
+  version = "1.0.1";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "6c80b1e5ad3665290ea39320b91e1be1e0d5f60652b964a3070216de83d2e47c";
+  };
+
+  propagatedBuildInputs = [ itsdangerous ];
+  checkInputs = [ pytestCheckHook requests hypothesis pytest-timeout ];
+
+  postPatch = ''
+    # ResourceWarning causes tests to fail
+    rm tests/test_routing.py
+  '';
+
+  disabledTests = [
+    "test_save_to_pathlib_dst"
+    "test_cookie_maxsize"
+    "test_cookie_samesite_attribute"
+    "test_cookie_samesite_invalid"
+    "test_range_parsing"
+    "test_content_range_parsing"
+    "test_http_date_lt_1000"
+    "test_best_match_works"
+    "test_date_to_unix"
+    "test_easteregg"
+
+    # Seems to be a problematic test-case:
+    #
+    # > warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
+    # E pytest.PytestUnraisableExceptionWarning: Exception ignored in: <_io.FileIO [closed]>
+    # E
+    # E Traceback (most recent call last):
+    # E   File "/nix/store/cwv8aj4vsqvimzljw5dxsxy663vjgibj-python3.9-Werkzeug-1.0.1/lib/python3.9/site-packages/werkzeug/formparser.py", line 318, in parse_multipart_headers
+    # E     return Headers(result)
+    # E ResourceWarning: unclosed file <_io.FileIO name=11 mode='rb+' closefd=True>
+    "test_basic_routing"
+    "test_merge_slashes_match"
+    "test_merge_slashes_build"
+    "TestMultiPart"
+    "TestHTTPUtility"
+  ] ++ lib.optionals stdenv.isDarwin [
+    "test_get_machine_id"
+  ];
+
+  meta = with lib; {
+    homepage = "https://palletsprojects.com/p/werkzeug/";
+    description = "A WSGI utility library for Python";
+    license = licenses.bsd3;
+    maintainers = [ ];
+  };
+}
+
diff --git a/pkgs/development/python-modules/wheel/default.nix b/pkgs/development/python-modules/wheel/default.nix
index 1b899b59897..62298b0d6ac 100644
--- a/pkgs/development/python-modules/wheel/default.nix
+++ b/pkgs/development/python-modules/wheel/default.nix
@@ -7,14 +7,14 @@
 
 buildPythonPackage rec {
   pname = "wheel";
-  version = "0.36.2";
+  version = "0.37.1";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pypa";
     repo = pname;
     rev = version;
-    sha256 = "13bj49psan1s1fxfrq613dm2l7jvrg2dpgb36lz81z3b1h7zig6j";
+    sha256 = "sha256-JlTmUPY3yo/uROyd3nW1dJa23zbLhgQTwcmqZkPOrHs=";
     name = "${pname}-${version}-source";
     extraPostFetch = ''
       cd $out
@@ -37,7 +37,7 @@ buildPythonPackage rec {
   pipInstallFlags = [ "--ignore-installed" ];
 
   meta = with lib; {
-    homepage = "https://bitbucket.org/pypa/wheel/";
+    homepage = "https://github.com/pypa/wheel";
     description = "A built-package format for Python";
     longDescription = ''
       This library is the reference implementation of the Python wheel packaging standard,
diff --git a/pkgs/development/python-modules/whitenoise/default.nix b/pkgs/development/python-modules/whitenoise/default.nix
index 5598b189afa..d4d95611940 100644
--- a/pkgs/development/python-modules/whitenoise/default.nix
+++ b/pkgs/development/python-modules/whitenoise/default.nix
@@ -1,6 +1,7 @@
 { lib
 , brotli
 , buildPythonPackage
+, django
 , fetchFromGitHub
 , pytestCheckHook
 , pythonOlder
@@ -9,14 +10,16 @@
 
 buildPythonPackage rec {
   pname = "whitenoise";
-  version = "5.3.0";
-  disabled = pythonOlder "3.5";
+  version = "6.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "evansd";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "17j1rml1hb43c7fs7kf4ygkpmnjppzgsbnyw3plq9w3yh9w5hkhg";
+    rev = version;
+    hash = "sha256-mUjyX4eQOiMweje6UPyfyJsiHwzF5OQ93KuxFedWxbQ=";
   };
 
   propagatedBuildInputs = [
@@ -24,6 +27,7 @@ buildPythonPackage rec {
   ];
 
   checkInputs = [
+    django
     pytestCheckHook
     requests
   ];
@@ -40,7 +44,9 @@ buildPythonPackage rec {
     "test_modified"
   ];
 
-  pythonImportsCheck = [ "whitenoise" ];
+  pythonImportsCheck = [
+    "whitenoise"
+  ];
 
   meta = with lib; {
     description = "Radically simplified static file serving for WSGI applications";
diff --git a/pkgs/development/python-modules/whodap/default.nix b/pkgs/development/python-modules/whodap/default.nix
index 6bd22c56b95..d4f6913105f 100644
--- a/pkgs/development/python-modules/whodap/default.nix
+++ b/pkgs/development/python-modules/whodap/default.nix
@@ -10,7 +10,7 @@
 
 buildPythonPackage rec {
   pname = "whodap";
-  version = "0.1.3";
+  version = "0.1.4";
 
   disabled = pythonOlder "3.6";
 
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "pogzyb";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pcn2jwqfvp67wz19lcpwnw0dkbc61bnbkzxlmac1yf2pz9ndn6l";
+    sha256 = "sha256-L8fSf9AhmWbRvLKvf0aowKoal+5dG1SJXcA7Ssrhj6o=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/whois/default.nix b/pkgs/development/python-modules/whois/default.nix
index ef69283e6db..b2875819646 100644
--- a/pkgs/development/python-modules/whois/default.nix
+++ b/pkgs/development/python-modules/whois/default.nix
@@ -2,25 +2,34 @@
 , buildPythonPackage
 , fetchFromGitHub
 , inetutils
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "whois";
-  version = "0.9.13";
+  version = "0.9.14";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitHub {
     owner = "DannyCork";
     repo = "python-whois";
     rev = version;
-    sha256 = "0y2sfs6nkr2j2crrn81wkfdzn9aphb3iaddya5zd2midlgdqq7bw";
+    sha256 = "1df4r2pr356y1c2ys6pzdl93fmx9ci4y75xphc95xn27zvqbpvix";
   };
 
-  # whois is needed
-  propagatedBuildInputs = [ inetutils ];
+  propagatedBuildInputs = [
+    # whois is needed
+    inetutils
+  ];
 
   # tests require network access
   doCheck = false;
-  pythonImportsCheck = [ "whois" ];
+
+  pythonImportsCheck = [
+    "whois"
+  ];
 
   meta = with lib; {
     description = "Python module/library for retrieving WHOIS information";
diff --git a/pkgs/development/python-modules/wsdiscovery/default.nix b/pkgs/development/python-modules/wsdiscovery/default.nix
new file mode 100644
index 00000000000..8ba79744949
--- /dev/null
+++ b/pkgs/development/python-modules/wsdiscovery/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, buildPythonPackage
+, click
+, fetchFromGitHub
+, mock
+, netifaces
+, pytestCheckHook
+, pythonOlder
+}:
+
+buildPythonPackage rec {
+  pname = "wsdiscovery";
+  version = "2.0.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
+
+  src = fetchFromGitHub {
+    owner = "andreikop";
+    repo = "python-ws-discovery";
+    rev = version;
+    hash = "sha256-6LGZogNRCnmCrRXvHq9jmHwqW13KQPpaGaao/52JPtk=";
+  };
+
+  propagatedBuildInputs = [
+    click
+    netifaces
+  ];
+
+  checkInputs = [
+    mock
+    pytestCheckHook
+  ];
+
+  pythonImportsCheck = [
+    "wsdiscovery"
+  ];
+
+  meta = with lib; {
+    description = "WS-Discovery implementation for Python";
+    homepage = "https://github.com/andreikop/python-ws-discovery";
+    license = with licenses; [ lgpl3Plus ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/python-modules/wxPython/4.1.nix b/pkgs/development/python-modules/wxPython/4.1.nix
index 89796500e04..71f8b2847e3 100644
--- a/pkgs/development/python-modules/wxPython/4.1.nix
+++ b/pkgs/development/python-modules/wxPython/4.1.nix
@@ -13,29 +13,59 @@
 , wxGTK
 , pillow
 , numpy
+, libXinerama
+, libSM
+, libXxf86vm
+, libXtst
+, libGLU
+, libGL
+, xorgproto
+, gst_all_1
+, libglvnd
+, mesa
+, webkitgtk
+, autoPatchelfHook
 }:
 let
   dynamic-linker = stdenv.cc.bintools.dynamicLinker;
 in
 buildPythonPackage rec {
   pname = "wxPython";
-  version = "4.1.0";
+  version = "4.1.1";
   disabled = isPy27;
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "12x4ci5q7qni4rkfiq6lnpn1fk8b0sfc6dck5wyxkj2sfp5pa91f";
+    sha256 = "0a1mdhdkda64lnwm1dg0dlrf9rs4gkal3lra6hpqbwn718cf7r80";
   };
 
   # https://github.com/NixOS/nixpkgs/issues/75759
   # https://github.com/wxWidgets/Phoenix/issues/1316
   doCheck = false;
 
-  nativeBuildInputs = [ which doxygen wxGTK pkg-config ];
+  nativeBuildInputs = [
+    which
+    doxygen
+    wxGTK.gtk
+    pkg-config
+    autoPatchelfHook
+  ];
 
   buildInputs = [
     wxGTK.gtk
     ncurses
+    libXinerama
+    libSM
+    libXxf86vm
+    libXtst
+    xorgproto
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    libGLU
+    libGL
+    libglvnd
+    mesa
+    webkitgtk
   ];
 
   propagatedBuildInputs = [ pillow numpy ];
@@ -44,22 +74,16 @@ buildPythonPackage rec {
 
   preConfigure = lib.optionalString (!stdenv.isDarwin) ''
     substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
-      --replace 'cairoLib = None' 'cairoLib = ctypes.CDLL("${cairo}/lib/libcairo.so")'
-    substituteInPlace wx/lib/wxcairo/wx_pycairo.py \
       --replace '_dlls = dict()' '_dlls = {k: ctypes.CDLL(v) for k, v in [
         ("gdk",        "${wxGTK.gtk}/lib/libgtk-x11-3.0.so"),
         ("pangocairo", "${pango.out}/lib/libpangocairo-1.0.so"),
+        ("cairoLib = None", "cairoLib = ctypes.CDLL('${cairo}/lib/libcairo.so')"),
         ("appsvc",     None)
       ]}'
-
-    # https://github.com/wxWidgets/Phoenix/pull/1584
-    # It'll be not needed in next version because https://github.com/wxWidgets/Phoenix/pull/1699
-    substituteInPlace build.py --replace "os.environ['PYTHONPATH'] = phoenixDir()" \
-      "os.environ['PYTHONPATH'] = os.environ['PYTHONPATH'] + os.pathsep + phoenixDir()"
   '';
 
   buildPhase = ''
-    ${python.interpreter} build.py -v --use_syswx dox etg --nodoc build_py
+    ${python.interpreter} build.py -v build_wx dox etg --nodoc sip build_py
   '';
 
   installPhase = ''
@@ -67,8 +91,6 @@ buildPythonPackage rec {
     wrapPythonPrograms
   '';
 
-  passthru = { inherit wxGTK; };
-
   meta = with lib; {
     description = "Cross platform GUI toolkit for Python, Phoenix version";
     homepage = "http://wxpython.org/";
diff --git a/pkgs/development/python-modules/xdis/default.nix b/pkgs/development/python-modules/xdis/default.nix
index c916f8d7ec2..ca339b7a443 100644
--- a/pkgs/development/python-modules/xdis/default.nix
+++ b/pkgs/development/python-modules/xdis/default.nix
@@ -6,14 +6,14 @@
 
 buildPythonPackage rec {
   pname = "xdis";
-  version = "6.0.2";
+  version = "6.0.3";
   disabled = isPy27;
 
   src = fetchFromGitHub {
     owner = "rocky";
     repo = "python-xdis";
     rev = version;
-    sha256 = "sha256-P8mUkAO3usFCE+E9cna2x1iA2uyHVPX9FHDpX+kTFWQ=";
+    sha256 = "1qvg3bwqzqxlzlixz2di3si7siy0ismq93wd57r8cqmxl54gva6h";
   };
 
   checkInputs = [ pytest ];
diff --git a/pkgs/development/python-modules/xlib/default.nix b/pkgs/development/python-modules/xlib/default.nix
index cfb72680fa8..edb4761af3a 100644
--- a/pkgs/development/python-modules/xlib/default.nix
+++ b/pkgs/development/python-modules/xlib/default.nix
@@ -7,30 +7,39 @@
 , python
 , mock
 , nose
+, pytestCheckHook
 , util-linux
 }:
 
 buildPythonPackage rec {
   pname = "xlib";
-  version = "0.29";
+  version = "0.31";
 
   src = fetchFromGitHub {
     owner = "python-xlib";
     repo = "python-xlib";
     rev = version;
-    sha256 = "sha256-zOG1QzRa5uN36Ngv8i5s3mq+VIoRzxFj5ltUbKdonJ0=";
+    sha256 = "155p9xhsk01z9vdml74h07svlqy6gljnx9c6qbydcr14lwghwn06";
   };
 
-  checkPhase = ''
-    ${python.interpreter} runtests.py
-  '';
-
-  checkInputs = [ mock nose util-linux /* mcookie */ xorg.xauth xorg.xorgserver /* xvfb */ ];
   nativeBuildInputs = [ setuptools-scm ];
   buildInputs = [ xorg.libX11 ];
   propagatedBuildInputs = [ six ];
 
   doCheck = !stdenv.isDarwin;
+  checkInputs = [
+    pytestCheckHook
+    mock
+    nose
+    util-linux
+    xorg.xauth
+    xorg.xorgserver
+  ];
+
+  disabledTestPaths = [
+    # requires x session
+    "test/test_xlib_display.py"
+  ];
 
   meta = with lib; {
     description = "Fully functional X client library for Python programs";
diff --git a/pkgs/development/python-modules/xml2rfc/default.nix b/pkgs/development/python-modules/xml2rfc/default.nix
index 5ba54f20317..c9cf286b6cc 100644
--- a/pkgs/development/python-modules/xml2rfc/default.nix
+++ b/pkgs/development/python-modules/xml2rfc/default.nix
@@ -22,13 +22,13 @@
 
 buildPythonPackage rec {
   pname = "xml2rfc";
-  version = "3.12.1";
+  version = "3.12.3";
 
   disabled = pythonOlder "3.6";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-xIStWb03CygnqB92AXf0uxMLw7pLhSE3mLQ8l1J6dZM=";
+    sha256 = "sha256-YUrcD3Q1fkDW+nwf6k2T/aBL8+W9iWkPYW/TqdTiuA0=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yalesmartalarmclient/default.nix b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
index e9a8ae0323d..1a8d561d5de 100644
--- a/pkgs/development/python-modules/yalesmartalarmclient/default.nix
+++ b/pkgs/development/python-modules/yalesmartalarmclient/default.nix
@@ -3,17 +3,21 @@
 , buildPythonPackage
 , fetchFromGitHub
 , requests
+, pythonOlder
 }:
 
 buildPythonPackage rec {
   pname = "yalesmartalarmclient";
-  version = "0.3.7";
+  version = "0.3.8";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.8";
 
   src = fetchFromGitHub {
     owner = "domwillcode";
     repo = "yale-smart-alarm-client";
     rev = "v${version}";
-    sha256 = "sha256-LcHXw4rZhQ942EhiGrRTf3MpT7G5OFSX8QbpxVjvTTo=";
+    sha256 = "sha256-CWL1uvmUGLaa2Ho0Ka4wTWstebhe1nQr9R821mweE60=";
   };
 
   propagatedBuildInputs = [
@@ -24,7 +28,9 @@ buildPythonPackage rec {
   # Project has no tests
   doCheck = false;
 
-  pythonImportsCheck = [ "yalesmartalarmclient" ];
+  pythonImportsCheck = [
+    "yalesmartalarmclient"
+  ];
 
   meta = with lib; {
     description = "Python module to interface with Yale Smart Alarm Systems";
diff --git a/pkgs/development/python-modules/yalexs/default.nix b/pkgs/development/python-modules/yalexs/default.nix
index c19a145b494..22440766fd0 100644
--- a/pkgs/development/python-modules/yalexs/default.nix
+++ b/pkgs/development/python-modules/yalexs/default.nix
@@ -7,6 +7,7 @@
 , buildPythonPackage
 , fetchFromGitHub
 , pubnub
+, pyjwt
 , pytestCheckHook
 , python-dateutil
 , pythonOlder
@@ -16,7 +17,7 @@
 
 buildPythonPackage rec {
   pname = "yalexs";
-  version = "1.1.20";
+  version = "1.1.22";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -25,13 +26,14 @@ buildPythonPackage rec {
     owner = "bdraco";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0wcvlgKlWhj9jZ53c+uEk9F28+m7BwsmlwTRlBMPoho=";
+    sha256 = "sha256-qtJSGvvYcdGYUUHnRnKe+z+twFqLGAn1Zl47F4CGnvc=";
   };
 
   propagatedBuildInputs = [
     aiofiles
     aiohttp
     pubnub
+    pyjwt
     python-dateutil
     requests
   ];
diff --git a/pkgs/development/python-modules/yamale/default.nix b/pkgs/development/python-modules/yamale/default.nix
index 670e46f9805..7444d8d24ac 100644
--- a/pkgs/development/python-modules/yamale/default.nix
+++ b/pkgs/development/python-modules/yamale/default.nix
@@ -9,7 +9,7 @@
 
 buildPythonPackage rec {
   pname = "yamale";
-  version = "4.0.2";
+  version = "4.0.3";
   format = "setuptools";
 
   disabled = pythonOlder "3.6";
@@ -18,7 +18,7 @@ buildPythonPackage rec {
     owner = "23andMe";
     repo = pname;
     rev = version;
-    sha256 = "sha256-hFBU3o3HpL0Schgzcx3oYq0IAUVGKThIfEteYcFbLnk=";
+    sha256 = "sha256-EkCKUSPRrj3g2AY17tquBDxf+nWfpdnILu5AS/2SsLo=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yangson/default.nix b/pkgs/development/python-modules/yangson/default.nix
index fec15464bd9..a82bf972546 100644
--- a/pkgs/development/python-modules/yangson/default.nix
+++ b/pkgs/development/python-modules/yangson/default.nix
@@ -8,12 +8,12 @@
 
 buildPythonPackage rec {
   pname = "yangson";
-  version = "1.4.10";
+  version = "1.4.13";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-R7ZcG4FStESPDWnFD6WIDD8sugvil9ybVK0J2qQC+zU=";
+    sha256 = "sha256-SuKpSwIjZioyqmxlcKJ+UXP+ADfJwUwCCttmMAiEkZ4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/python-modules/yeelight/default.nix b/pkgs/development/python-modules/yeelight/default.nix
index 6c40f266f34..b64bd929f13 100644
--- a/pkgs/development/python-modules/yeelight/default.nix
+++ b/pkgs/development/python-modules/yeelight/default.nix
@@ -9,14 +9,16 @@
 
 buildPythonPackage rec {
   pname = "yeelight";
-  version = "0.7.8";
-  disabled = pythonOlder "3.4";
+  version = "0.7.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchFromGitLab {
     owner = "stavros";
     repo = "python-yeelight";
     rev = "v${version}";
-    sha256 = "sha256-fKtG0D256bK1hIcQiLdzCM+IdD/mmcFpcoE3DEFt7r0=";
+    sha256 = "sha256-8N+HOhUX3BXecS/kaAfLoge+NYzKLKPyoTthu+useJA=";
   };
 
   propagatedBuildInputs = [
@@ -28,9 +30,13 @@ buildPythonPackage rec {
     pytestCheckHook
   ];
 
-  pytestFlagsArray = [ "yeelight/tests.py" ];
+  pytestFlagsArray = [
+    "yeelight/tests.py"
+  ];
 
-  pythonImportsCheck = [ "yeelight" ];
+  pythonImportsCheck = [
+    "yeelight"
+  ];
 
   meta = with lib; {
     description = "Python library for controlling YeeLight RGB bulbs";
diff --git a/pkgs/development/python-modules/yfinance/default.nix b/pkgs/development/python-modules/yfinance/default.nix
index db27afcfe6c..26ddf9354df 100644
--- a/pkgs/development/python-modules/yfinance/default.nix
+++ b/pkgs/development/python-modules/yfinance/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "yfinance";
-  version = "0.1.68";
+  version = "0.1.70";
 
   src = fetchFromGitHub {
     owner = "ranaroussi";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ubOC56DUViClARzMSRtDFrtxhilmVkhKMx9SxLbYFiA=";
+    sha256 = "sha256-Anvt+ag0PysGynQv4q+2IrQmCPZViGqWI4dgfLQWGds=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/yowsup/default.nix b/pkgs/development/python-modules/yowsup/default.nix
index 0ff3212f48c..30c056db934 100644
--- a/pkgs/development/python-modules/yowsup/default.nix
+++ b/pkgs/development/python-modules/yowsup/default.nix
@@ -1,10 +1,18 @@
-{ buildPythonPackage, lib, fetchFromGitHub, six, python-axolotl, pytest
-, isPy3k, consonance, appdirs
+{ lib
+, buildPythonPackage
+, isPy3k
+, fetchFromGitHub
+, appdirs
+, consonance
+, protobuf
+, python-axolotl
+, six
+, pytestCheckHook
 }:
 
 buildPythonPackage rec {
   pname = "yowsup";
-  version = "3.2.3";
+  version = "3.3.0";
 
   # The Python 2.x support of this package is incompatible with `six==1.11`:
   # https://github.com/tgalal/yowsup/issues/2416#issuecomment-365113486
@@ -14,22 +22,31 @@ buildPythonPackage rec {
     owner = "tgalal";
     repo = "yowsup";
     rev = "v${version}";
-    sha256 = "0wb8yl685nr1i3vx89hwan5m6a482x8g48f5ksvdlph538p720pm";
+    sha256 = "1pz0r1gif15lhzdsam8gg3jm6zsskiv2yiwlhaif5rl7lv3p0v7q";
   };
 
-  checkInputs = [ pytest ];
-  checkPhase = ''
-    HOME=$(mktemp -d) py.test yowsup
+  postPatch = ''
+    substituteInPlace setup.py \
+      --replace "argparse" "" \
+      --replace "==" ">=" \
   '';
 
-  patches = [ ./dependency-fixes.patch ];
+  checkInputs = [
+    pytestCheckHook
+  ];
 
-  propagatedBuildInputs = [ six python-axolotl consonance appdirs ];
+  propagatedBuildInputs = [
+    appdirs
+    consonance
+    protobuf
+    python-axolotl
+    six
+  ];
 
   meta = with lib; {
     homepage = "https://github.com/tgalal/yowsup";
     description = "The python WhatsApp library";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = with maintainers; [ SuperSandro2000 ];
   };
 }
diff --git a/pkgs/development/python-modules/yowsup/dependency-fixes.patch b/pkgs/development/python-modules/yowsup/dependency-fixes.patch
deleted file mode 100644
index eab56332d49..00000000000
--- a/pkgs/development/python-modules/yowsup/dependency-fixes.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/setup.py b/setup.py
-index e3871a7..930bd6a 100755
---- a/setup.py
-+++ b/setup.py
-@@ -5,7 +5,7 @@ import yowsup
- import platform
- import sys
- 
--deps = ['consonance==0.1.2', 'argparse', 'python-axolotl==0.2.2', 'six==1.10', 'appdirs', 'protobuf>=3.6.0']
-+deps = ['consonance>=0.1', 'python-axolotl>=0.2', 'six>=1.10', 'appdirs', 'protobuf>=3.6.0']
- 
- if sys.version_info < (2, 7):
-     deps.append('importlib')
diff --git a/pkgs/development/python-modules/zetup/default.nix b/pkgs/development/python-modules/zetup/default.nix
index 3862a8e757d..c2e707347b3 100644
--- a/pkgs/development/python-modules/zetup/default.nix
+++ b/pkgs/development/python-modules/zetup/default.nix
@@ -5,12 +5,16 @@
 , pathpy
 , pytestCheckHook
 , setuptools-scm
+, pythonAtLeast
 }:
 
 buildPythonPackage rec {
   pname = "zetup";
   version = "0.2.64";
 
+  # https://github.com/zimmermanncode/zetup/issues/4
+  disabled = pythonAtLeast "3.10";
+
   src = fetchPypi {
     inherit pname version;
     sha256 = "b8a9bdcfa4b705d72b55b218658bc9403c157db7b57a14158253c98d03ab713d";
diff --git a/pkgs/development/python-modules/zigpy-zigate/default.nix b/pkgs/development/python-modules/zigpy-zigate/default.nix
index 5ebb17dd498..b44a385fd93 100644
--- a/pkgs/development/python-modules/zigpy-zigate/default.nix
+++ b/pkgs/development/python-modules/zigpy-zigate/default.nix
@@ -12,7 +12,7 @@
 
 buildPythonPackage rec {
   pname = "zigpy-zigate";
-  version = "0.7.4";
+  version = "0.8.0";
   # https://github.com/Martiusweb/asynctest/issues/152
   # broken by upstream python bug with asynctest and
   # is used exclusively by home-assistant with python 3.8
@@ -22,7 +22,7 @@ buildPythonPackage rec {
     owner = "zigpy";
     repo = "zigpy-zigate";
     rev = version;
-    sha256 = "0xl8qgljvmypi602f52m89iv9pcrzsdal3jw619vrcavp40rc04d";
+    sha256 = "sha256-rFmcgfn87XS1fvbSdJG6pItXRMkeogp4faKMe7pCxkM=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/development/python-modules/zimports/default.nix b/pkgs/development/python-modules/zimports/default.nix
index 338dd93150b..d350e204089 100644
--- a/pkgs/development/python-modules/zimports/default.nix
+++ b/pkgs/development/python-modules/zimports/default.nix
@@ -10,13 +10,13 @@
 
 buildPythonPackage rec {
   pname = "zimports";
-  version = "0.2.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "sqlalchemyorg";
     repo = "zimports";
-    rev = version;
-    sha256 = "0a5axflkk0wv0rdnrh8l2rgj8gh2pfkg5lrvr8x4yxxiifawrafc";
+    rev = "v${version}";
+    sha256 = "11mg7j7xiypv9hki4qbnp9jsgwgfdrgdzfqyrzk5x0s4hycgi4q0";
   };
 
   disabled = !isPy3k;
diff --git a/pkgs/development/python-modules/zipp/default.nix b/pkgs/development/python-modules/zipp/default.nix
index dc30128c9ea..0f64df2a56a 100644
--- a/pkgs/development/python-modules/zipp/default.nix
+++ b/pkgs/development/python-modules/zipp/default.nix
@@ -1,26 +1,38 @@
 { lib
 , buildPythonPackage
 , fetchPypi
-, setuptools-scm
 , more-itertools
+, pythonOlder
+, setuptools-scm
 }:
 
 buildPythonPackage rec {
   pname = "zipp";
-  version = "3.6.0";
+  version = "3.7.0";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.7";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "71c644c5369f4a6e07636f0aa966270449561fcea2e3d6747b8d23efaa9d7832";
+    sha256 = "9f50f446828eb9d45b267433fd3e9da8d801f614129124863f9c51ebceafb87d";
   };
 
-  nativeBuildInputs = [ setuptools-scm ];
+  nativeBuildInputs = [
+    setuptools-scm
+  ];
 
-  propagatedBuildInputs = [ more-itertools ];
+  propagatedBuildInputs = [
+    more-itertools
+  ];
 
   # Prevent infinite recursion with pytest
   doCheck = false;
 
+  pythonImportsCheck = [
+    "zipp"
+  ];
+
   meta = with lib; {
     description = "Pathlib-compatible object wrapper for zip files";
     homepage = "https://github.com/jaraco/zipp";
diff --git a/pkgs/development/python-modules/zope-deferredimport/default.nix b/pkgs/development/python-modules/zope-deferredimport/default.nix
index 0b5d3103b64..e1cba0ebc02 100644
--- a/pkgs/development/python-modules/zope-deferredimport/default.nix
+++ b/pkgs/development/python-modules/zope-deferredimport/default.nix
@@ -7,12 +7,12 @@
 
 buildPythonPackage rec {
   pname = "zope-deferredimport";
-  version = "4.3.1";
+  version = "4.4";
 
   src = fetchPypi {
     pname = "zope.deferredimport";
     inherit version;
-    sha256 = "57b2345e7b5eef47efcd4f634ff16c93e4265de3dcf325afc7315ade48d909e1";
+    sha256 = "2ae3257256802787e52ad840032f39c1496d3ce0b7e11117f663420e4a4c9add";
   };
 
   propagatedBuildInputs = [ zope_proxy ];
diff --git a/pkgs/development/python2-modules/coverage/default.nix b/pkgs/development/python2-modules/coverage/default.nix
new file mode 100644
index 00000000000..f93d32d392f
--- /dev/null
+++ b/pkgs/development/python2-modules/coverage/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, mock
+}:
+
+buildPythonPackage rec {
+  pname = "coverage";
+  version = "5.5";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "ebe78fe9a0e874362175b02371bdfbee64d8edc42a044253ddf4ee7d3c15212c";
+  };
+
+  # No tests in archive
+  doCheck = false;
+  checkInputs = [ mock ];
+
+  meta = {
+    description = "Code coverage measurement for python";
+    homepage = "https://coverage.readthedocs.io/";
+    license = lib.licenses.bsd3;
+  };
+}
diff --git a/pkgs/development/python2-modules/gtkme/default.nix b/pkgs/development/python2-modules/gtkme/default.nix
new file mode 100644
index 00000000000..bc23854d95c
--- /dev/null
+++ b/pkgs/development/python2-modules/gtkme/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, buildPythonPackage
+, fetchPypi
+, pkg-config
+, gobject-introspection
+, pygobject3
+, gtk3
+, glib
+}:
+
+buildPythonPackage rec {
+  pname = "gtkme";
+  version = "1.5.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-NIUgnbfcHjbPfsH3CF2Bywo8owrdsi1wqDoMxOa+2U4=";
+  };
+
+  nativeBuildInputs = [ pkg-config gobject-introspection gtk3 ];
+  buildInputs = [ pygobject3 glib ];
+  propagatedBuildInputs = [ gtk3 ];
+
+  pythonImportsCheck = [
+    "gtkme"
+  ];
+
+  meta = with lib; {
+    description = "Manages an Application with Gtk windows, forms, lists and other complex items easily";
+    homepage = "https://gitlab.com/doctormo/gtkme";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [
+      revol-xut
+    ];
+  };
+}
diff --git a/pkgs/development/python2-modules/pyparsing/default.nix b/pkgs/development/python2-modules/pyparsing/default.nix
new file mode 100644
index 00000000000..d51032a154a
--- /dev/null
+++ b/pkgs/development/python2-modules/pyparsing/default.nix
@@ -0,0 +1,45 @@
+{ buildPythonPackage
+, fetchFromGitHub
+, lib
+
+# since this is a dependency of pytest, we need to avoid
+# circular dependencies
+, jinja2
+, railroad-diagrams
+}:
+
+let
+  pyparsing = buildPythonPackage rec {
+    pname = "pyparsing";
+    version = "2.4.7";
+
+    src = fetchFromGitHub {
+      owner = "pyparsing";
+      repo = pname;
+      rev = "pyparsing_${version}";
+      sha256 = "14pfy80q2flgzjcx8jkracvnxxnr59kjzp3kdm5nh232gk1v6g6h";
+    };
+
+    # circular dependencies if enabled by default
+    doCheck = false;
+    checkInputs = [
+      jinja2
+      railroad-diagrams
+    ];
+
+    checkPhase = ''
+      python -m unittest
+    '';
+
+    passthru.tests = {
+      check = pyparsing.overridePythonAttrs (_: { doCheck = true; });
+    };
+
+    meta = with lib; {
+      homepage = "https://github.com/pyparsing/pyparsing";
+      description = "An alternative approach to creating and executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions";
+      license = licenses.mit;
+    };
+  };
+in
+  pyparsing
diff --git a/pkgs/development/r-modules/bioc-annotation-packages.nix b/pkgs/development/r-modules/bioc-annotation-packages.nix
index d3aef448dc9..e8da5771d4e 100644
--- a/pkgs/development/r-modules/bioc-annotation-packages.nix
+++ b/pkgs/development/r-modules/bioc-annotation-packages.nix
@@ -330,7 +330,7 @@ in with self; {
   excluderanges = derive2 { name="excluderanges"; version="0.99.6"; sha256="1ryp2ghbx1b1268fpgza5rn6brhalff9hsr6fxpr5x5mc35hkd68"; depends=[]; };
   fitCons_UCSC_hg19 = derive2 { name="fitCons.UCSC.hg19"; version="3.7.1"; sha256="19isa4x8js0pdb4k8a11bw3bzmzv6jc4jphzrvav7piqkvrgykzx"; depends=[BSgenome GenomeInfoDb GenomicRanges GenomicScores IRanges S4Vectors]; };
   fly_db0 = derive2 { name="fly.db0"; version="3.14.0"; sha256="0jk5k5zpr4r9yn2l7vpb01xdmhi0pm3jg333jr7rv0c6fzjq5279"; depends=[AnnotationDbi]; };
-  geneplast_data = derive2 { name="geneplast.data"; version="0.99.4"; sha256="070g5a1xh1m3yar6dk3p1m86hpw8ll4xjir2n6sh2rfjw5kijmld"; depends=[]; };
+  geneplast_data = derive2 { name="geneplast.data"; version="0.99.5"; sha256="0bwhc20jkjs3n1n4xv7xmkgjzf6ghssvbsmx3dm347smk54wgjsw"; depends=[]; };
   geneplast_data_string_v91 = derive2 { name="geneplast.data.string.v91"; version="0.99.6"; sha256="0mc26d0sgmpmfmqsqinqv5k6vhg0hlc8hsjkcnvf369yav224nq1"; depends=[]; };
   genomewidesnp5Crlmm = derive2 { name="genomewidesnp5Crlmm"; version="1.0.6"; sha256="06dmwnjy3gb53y6nr02dmp22qzfl5d63wppazrabcqbzwimhnvp8"; depends=[]; };
   genomewidesnp6Crlmm = derive2 { name="genomewidesnp6Crlmm"; version="1.0.7"; sha256="16qcxa32fmbdcv5dck0grsnqyfcqql7wpxa1l6andv9hrvabv2jx"; depends=[]; };
diff --git a/pkgs/development/r-modules/bioc-experiment-packages.nix b/pkgs/development/r-modules/bioc-experiment-packages.nix
index 57f5f22ba2a..46c8c0e069f 100644
--- a/pkgs/development/r-modules/bioc-experiment-packages.nix
+++ b/pkgs/development/r-modules/bioc-experiment-packages.nix
@@ -314,7 +314,7 @@ in with self; {
   humanStemCell = derive2 { name="humanStemCell"; version="0.34.0"; sha256="0lvy1n389wsc85yi7kmwq2qda0nl3hpl5bqak01fr3d6040v7g27"; depends=[Biobase hgu133plus2_db]; };
   imcdatasets = derive2 { name="imcdatasets"; version="1.2.0"; sha256="1qgg2cnalx9kiv73g0n9axc6y5b25kwxbmn7cg9syvlrfn0iynlz"; depends=[cytomapper DelayedArray ExperimentHub HDF5Array S4Vectors SingleCellExperiment]; };
   kidpack = derive2 { name="kidpack"; version="1.36.0"; sha256="094b1jhyal4h3k4ilmayz77mbjqkmn7b5bsw799jmsqyg93f4r7g"; depends=[Biobase]; };
-  leeBamViews = derive2 { name="leeBamViews"; version="1.30.0"; sha256="1f0lc8k14canmp124qqys6pwp9v88z7cwr7kgxi5mrzk92r2jiz6"; depends=[Biobase BSgenome GenomicAlignments GenomicRanges IRanges Rsamtools S4Vectors]; };
+  leeBamViews = derive2 { name="leeBamViews"; version="1.30.1"; sha256="1pa1i7mb7ixs7zrj9h93s4kgbc1dq3nx40knsm5i7a43jxsl6ggw"; depends=[Biobase BSgenome GenomicAlignments GenomicRanges IRanges Rsamtools S4Vectors]; };
   leukemiasEset = derive2 { name="leukemiasEset"; version="1.30.0"; sha256="0hnqi0qm7caipjkp3asabby5jrjl57vvshnwiwqnjsf87xx19cjx"; depends=[Biobase]; };
   lumiBarnes = derive2 { name="lumiBarnes"; version="1.34.0"; sha256="103iz7vjhh1w8zyb4n3kf1w9qfa7li9p2jql48cjsadvil4bfl09"; depends=[Biobase lumi]; };
   lungExpression = derive2 { name="lungExpression"; version="0.32.1"; sha256="00dm271n1lnj5myscmkm9g4a361lfsfg8cl7ii5z8br9v4wyw2y8"; depends=[Biobase]; };
@@ -374,7 +374,7 @@ in with self; {
   restfulSEData = derive2 { name="restfulSEData"; version="1.16.0"; sha256="1bx41xwxnvx6712wsy5qljji2w3wiybvddkxic8xc9l2hrcmfhrz"; depends=[ExperimentHub SummarizedExperiment]; };
   rheumaticConditionWOLLBOLD = derive2 { name="rheumaticConditionWOLLBOLD"; version="1.32.0"; sha256="0k2klx4rpyzcq346c3ak2lf6w47zkhnhiqn4rs70xnxnsbjn2ca5"; depends=[]; };
   sampleClassifierData = derive2 { name="sampleClassifierData"; version="1.18.0"; sha256="12k7xhd2axmcpmv970xbhx5r9b0jdmkxxqm01a0v2jfx3imzz9jb"; depends=[SummarizedExperiment]; };
-  scATAC_Explorer = derive2 { name="scATAC.Explorer"; version="1.0.0"; sha256="16qscpjbbphrd1qfp85r9bw8v98866kzsf20fk270m2aq378y4i8"; depends=[BiocFileCache data_table Matrix S4Vectors SingleCellExperiment]; };
+  scATAC_Explorer = derive2 { name="scATAC.Explorer"; version="1.0.1"; sha256="0iz0i58afr58y4mc6iyajzdblpd1s2mng693nhb49rka4bf1fx0j"; depends=[BiocFileCache data_table Matrix S4Vectors SingleCellExperiment]; };
   scRNAseq = derive2 { name="scRNAseq"; version="2.8.0"; sha256="19caas79yarf3vww60bnn92v9ns82pawqbbw78kmy0x94hvsfdbk"; depends=[AnnotationDbi AnnotationHub BiocGenerics ensembldb ExperimentHub GenomicFeatures GenomicRanges S4Vectors SingleCellExperiment SummarizedExperiment]; };
   scTHI_data = derive2 { name="scTHI.data"; version="1.6.0"; sha256="0n794kicpylibqgi4z9mwdgmk5ni3yhqzaqcdr2mij844s079fx4"; depends=[]; };
   scanMiRData = derive2 { name="scanMiRData"; version="1.0.0"; sha256="0z6nl4w4r8m1mara0zyzlg7xx6y9fa8psvln0695wvpxzmps4y9h"; depends=[scanMiR]; };
@@ -389,7 +389,7 @@ in with self; {
   signatureSearchData = derive2 { name="signatureSearchData"; version="1.8.4"; sha256="0k5j35jsdfk3qza3kzp2ih9irz4d4xbwr64wd4ibmzydkjrjdrcz"; depends=[affy Biobase dplyr ExperimentHub limma magrittr R_utils rhdf5]; };
   simpIntLists = derive2 { name="simpIntLists"; version="1.30.0"; sha256="0q2lqfhsjncdj42hblrh389j2m47x26nn58s31s1448pddhrp7z1"; depends=[]; };
   spatialDmelxsim = derive2 { name="spatialDmelxsim"; version="1.0.0"; sha256="1h5crcjrzapj5j31285ana48g3b2iscxwlzxxdx9i03jsl39dlp8"; depends=[ExperimentHub SummarizedExperiment]; };
-  spatialLIBD = derive2 { name="spatialLIBD"; version="1.6.4"; sha256="0lpp5w04szgqs0nvlhc6a7hsybsvpy9vdx4dqs9ncrb4qg6fxchp"; depends=[AnnotationHub benchmarkme BiocFileCache BiocGenerics cowplot DT ExperimentHub fields GenomicRanges ggplot2 golem IRanges jsonlite magick Matrix plotly png Polychrome RColorBrewer rtracklayer S4Vectors scater sessioninfo shiny shinyWidgets SingleCellExperiment SpatialExperiment SummarizedExperiment tibble viridisLite]; };
+  spatialLIBD = derive2 { name="spatialLIBD"; version="1.6.5"; sha256="1m25wk2np5yj0wygw3gg3kq8ykzx14jqj73aqs0yhsr04pp7qm8x"; depends=[AnnotationHub benchmarkme BiocFileCache BiocGenerics cowplot DT ExperimentHub fields GenomicRanges ggplot2 golem IRanges jsonlite magick Matrix plotly png Polychrome RColorBrewer rtracklayer S4Vectors scater sessioninfo shiny shinyWidgets SingleCellExperiment SpatialExperiment SummarizedExperiment tibble viridisLite]; };
   spqnData = derive2 { name="spqnData"; version="1.6.0"; sha256="0dwmgwz88g8fzpa2nl2zs4y32wrlf4ca142d8siak14wl089nm4y"; depends=[SummarizedExperiment]; };
   stemHypoxia = derive2 { name="stemHypoxia"; version="1.30.0"; sha256="05jly60gg5xr9511jlymzbpjysapfz2qq81rxhdz7cjbjkkgvykr"; depends=[]; };
   stjudem = derive2 { name="stjudem"; version="1.34.0"; sha256="005wy7b8naaph9krsdw234sk8fprccclnj7y4rfrs2f3lbrw4b2g"; depends=[]; };
diff --git a/pkgs/development/r-modules/bioc-packages.nix b/pkgs/development/r-modules/bioc-packages.nix
index ca1f5fe4d98..5358d3e5804 100644
--- a/pkgs/development/r-modules/bioc-packages.nix
+++ b/pkgs/development/r-modules/bioc-packages.nix
@@ -50,8 +50,8 @@ in with self; {
   AnnotationDbi = derive2 { name="AnnotationDbi"; version="1.56.2"; sha256="01zwq14msbbwzxv8rgpmyr74ymvhq0vnmxkxxwd886iac5vjlgi8"; depends=[Biobase BiocGenerics DBI IRanges KEGGREST RSQLite S4Vectors]; };
   AnnotationFilter = derive2 { name="AnnotationFilter"; version="1.18.0"; sha256="15fp1228yb06jm5cblvhw3qv9mlpbjfggaz2nvi3p46mby1vs64w"; depends=[GenomicRanges lazyeval]; };
   AnnotationForge = derive2 { name="AnnotationForge"; version="1.36.0"; sha256="02wvni5q560idi6677g5f4md73z4qzjl5yycxv5dbvgbl2picisz"; depends=[AnnotationDbi Biobase BiocGenerics DBI RCurl RSQLite S4Vectors XML]; };
-  AnnotationHub = derive2 { name="AnnotationHub"; version="3.2.0"; sha256="0ks8yzvvs2r66pb9687mkskf0n3wgvp7h92k83b0a1q32sca5wng"; depends=[AnnotationDbi BiocFileCache BiocGenerics BiocManager BiocVersion curl dplyr httr interactiveDisplayBase rappdirs RSQLite S4Vectors yaml]; };
-  AnnotationHubData = derive2 { name="AnnotationHubData"; version="1.24.1"; sha256="008jkpqzk1dxrkmbpzyjnqyrdw7rb4ci88fmnn27arx6psbl096g"; depends=[AnnotationDbi AnnotationForge AnnotationHub Biobase BiocCheck BiocGenerics BiocManager biocViews Biostrings DBI futile_logger GenomeInfoDb GenomicFeatures GenomicRanges graph IRanges jsonlite OrganismDbi RCurl Rsamtools RSQLite rtracklayer S4Vectors XML]; };
+  AnnotationHub = derive2 { name="AnnotationHub"; version="3.2.1"; sha256="08d9hfjj79c1rrmq3gf132zfx0gld5q0jwmqgghfvmn8zrppz8sf"; depends=[AnnotationDbi BiocFileCache BiocGenerics BiocManager BiocVersion curl dplyr httr interactiveDisplayBase rappdirs RSQLite S4Vectors yaml]; };
+  AnnotationHubData = derive2 { name="AnnotationHubData"; version="1.24.2"; sha256="00n195xbja01r64mjsjvk3xpwx9mwj5x8n4l810jspf4cdjv5cbl"; depends=[AnnotationDbi AnnotationForge AnnotationHub Biobase BiocCheck BiocGenerics BiocManager biocViews Biostrings DBI futile_logger GenomeInfoDb GenomicFeatures GenomicRanges graph IRanges jsonlite OrganismDbi RCurl Rsamtools RSQLite rtracklayer S4Vectors XML]; };
   ArrayExpress = derive2 { name="ArrayExpress"; version="1.54.0"; sha256="1rfvycrjlw0x1sqjrmiyf8i7yjiwjqf8x83i7pfg78yg9k5sh9vi"; depends=[Biobase limma oligo XML]; };
   ArrayExpressHTS = derive2 { name="ArrayExpressHTS"; version="1.44.0"; sha256="1mjnddy05y06bn25xcjdx8kz538z3k4gvyqrb1lg4z8593xaw40i"; depends=[Biobase BiocGenerics biomaRt Biostrings bitops edgeR GenomicRanges Hmisc IRanges R2HTML RColorBrewer Rhtslib rJava Rsamtools sampling sendmailR ShortRead snow svMisc XML]; };
   AssessORF = derive2 { name="AssessORF"; version="1.12.0"; sha256="0rn2ijnpa8a6w2zv3cvm1s5bhcvzmb4xk18d96wjc60gxk51i5wy"; depends=[Biostrings DECIPHER GenomicRanges IRanges]; };
@@ -108,7 +108,7 @@ in with self; {
   Biobase = derive2 { name="Biobase"; version="2.54.0"; sha256="0kar2kgaayp5l7xv9zcxj61l01m8jlwnppql6qf01wsz36dacgww"; depends=[BiocGenerics]; };
   BiocCheck = derive2 { name="BiocCheck"; version="1.30.0"; sha256="0w9ddicyp9i8rxf92n9pghd9s6bb8jdjikaylrmkydhb7jbhan0y"; depends=[BiocManager biocViews codetools graph httr knitr optparse stringdist]; };
   BiocDockerManager = derive2 { name="BiocDockerManager"; version="1.6.0"; sha256="1kpdmpcngnl667bfffp9bkf8c31ipmhsncq0h9bf3a4k8b83pi0w"; depends=[dplyr httr memoise readr whisker]; };
-  BiocFileCache = derive2 { name="BiocFileCache"; version="2.2.0"; sha256="11qayqmgv274hc4h1v222sma07wkxjm8002fl6w3yvi225zq1qc1"; depends=[curl DBI dbplyr dplyr filelock httr rappdirs RSQLite]; };
+  BiocFileCache = derive2 { name="BiocFileCache"; version="2.2.1"; sha256="0gaj0z6dk2p2vhvqz685xwd5q2mkvpimh2493p3w04s2rlsvi3jb"; depends=[curl DBI dbplyr dplyr filelock httr rappdirs RSQLite]; };
   BiocGenerics = derive2 { name="BiocGenerics"; version="0.40.0"; sha256="0nr5x4r8f2krnfrxm7wrzgzr7nbljypi985cbwx5hxhn95zmfifh"; depends=[]; };
   BiocIO = derive2 { name="BiocIO"; version="1.4.0"; sha256="1qg6v961sbj7qwyjx4z720f6h0kq693p7gc8q99my7gqkbbcxrfr"; depends=[BiocGenerics S4Vectors]; };
   BiocNeighbors = derive2 { name="BiocNeighbors"; version="1.12.0"; sha256="04in8l6j7frgm0a5dzphazfhn9cm8w775z5yir712jxa37mh1agr"; depends=[BiocParallel Matrix Rcpp RcppHNSW S4Vectors]; };
@@ -137,7 +137,7 @@ in with self; {
   CAGEr = derive2 { name="CAGEr"; version="2.0.2"; sha256="0s959bqgmafc2hwh42fwildq8h8wxvdiciimgpr71ka2p1vg9sk7"; depends=[BiocGenerics BiocParallel BSgenome data_table DelayedArray DelayedMatrixStats formula_tools GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 gtools IRanges KernSmooth memoise MultiAssayExperiment plyr reshape2 Rsamtools rtracklayer S4Vectors som stringdist stringi SummarizedExperiment vegan VGAM]; };
   CAMERA = derive2 { name="CAMERA"; version="1.50.0"; sha256="1mgdmzlbj8yhk6jmnqaw4xmss77v7csdajd240kiswvm1f317z3h"; depends=[Biobase graph Hmisc igraph RBGL xcms]; };
   CARNIVAL = derive2 { name="CARNIVAL"; version="2.4.0"; sha256="10wbdjripgndfaqx2aysmqhc9v8i94db8bf0bb89csmvmnia68c6"; depends=[dplyr igraph lpSolve readr rjson rmarkdown stringr]; };
-  CATALYST = derive2 { name="CATALYST"; version="1.18.0"; sha256="15lah45lf16zh1ankbpjvz8zp38lldvq074nmvb99rhhqys2gbgi"; depends=[circlize ComplexHeatmap ConsensusClusterPlus cowplot data_table dplyr drc flowCore FlowSOM ggplot2 ggrepel ggridges gridExtra magrittr Matrix matrixStats nnls purrr RColorBrewer reshape2 Rtsne S4Vectors scales scater SingleCellExperiment SummarizedExperiment]; };
+  CATALYST = derive2 { name="CATALYST"; version="1.18.1"; sha256="0dvcs7nz1yawcrsf9lqiwdcrvjmbs8ajrmvj0ji4qq2a86n3dkg0"; depends=[circlize ComplexHeatmap ConsensusClusterPlus cowplot data_table dplyr drc flowCore FlowSOM ggplot2 ggrepel ggridges gridExtra magrittr Matrix matrixStats nnls purrr RColorBrewer reshape2 Rtsne S4Vectors scales scater SingleCellExperiment SummarizedExperiment]; };
   CAnD = derive2 { name="CAnD"; version="1.26.0"; sha256="19c47m0i8sfp2frw6mnzr1bz3n196kgd53bisil6nix1pqsgjqba"; depends=[ggplot2 reshape]; };
   CCPROMISE = derive2 { name="CCPROMISE"; version="1.20.0"; sha256="0wkwgm85kkf7p3vwjvsaq6p7cb2qfzjfqcaba2wgkh8lzjjrglw9"; depends=[Biobase CCP GSEABase PROMISE]; };
   CEMiTool = derive2 { name="CEMiTool"; version="1.18.1"; sha256="0w2y7wkz9r75jblh5mvx096lxlsbx8hn0jp85sfqhnq6ngvil99a"; depends=[clusterProfiler data_table dplyr DT fastcluster fgsea ggdendro ggplot2 ggpmisc ggrepel ggthemes gridExtra gtable htmltools igraph intergraph knitr matrixStats network pracma rmarkdown scales sna stringr WGCNA]; };
@@ -193,7 +193,7 @@ in with self; {
   CellScore = derive2 { name="CellScore"; version="1.14.0"; sha256="17zs6y08z1l4s51ishb5cp2k70yc1cinh211r76mrdlpdp9rxx5c"; depends=[Biobase gplots lsa RColorBrewer squash]; };
   CellTrails = derive2 { name="CellTrails"; version="1.12.0"; sha256="0rwirbvrfn03xrc0jjiw24dg9c49wznckhjm9kibd10n135x6l4g"; depends=[Biobase BiocGenerics cba dendextend dtw EnvStats ggplot2 ggrepel igraph maptree mgcv reshape2 Rtsne SingleCellExperiment SummarizedExperiment]; };
   CellaRepertorium = derive2 { name="CellaRepertorium"; version="1.4.0"; sha256="1gqr12dbm1g2gz4ixx3r8f9as7m5nd0vcj0k3hsk9njs938lfzk4"; depends=[BiocGenerics Biostrings dplyr forcats Matrix progress purrr Rcpp reshape2 rlang S4Vectors stringr tibble tidyr]; };
-  CelliD = derive2 { name="CelliD"; version="1.2.0"; sha256="06jdqxa38pjvx0z1yqmhghn6x3dkq0zinc84kvxs9ls81hi6h20l"; depends=[BiocParallel data_table fastmatch fgsea ggplot2 glue irlba Matrix matrixStats pbapply Rcpp RcppArmadillo reticulate Rtsne scater Seurat SingleCellExperiment stringr SummarizedExperiment tictoc umap]; };
+  CelliD = derive2 { name="CelliD"; version="1.2.1"; sha256="1q03kv0m8v7w2ycgln86xshr0c7v14hiw56szxljgby9p3bxz85g"; depends=[BiocParallel data_table fastmatch fgsea ggplot2 glue irlba Matrix matrixStats pbapply Rcpp RcppArmadillo reticulate Rtsne scater Seurat SingleCellExperiment stringr SummarizedExperiment tictoc umap]; };
   Cepo = derive2 { name="Cepo"; version="1.0.0"; sha256="091hbppf6jmsw7bh3m1xasf9vwh4xf6m6sgqrqi8hvvp37vb7k67"; depends=[BiocParallel DelayedArray DelayedMatrixStats ggplot2 GSEABase HDF5Array patchwork reshape2 rlang S4Vectors SingleCellExperiment SummarizedExperiment]; };
   CexoR = derive2 { name="CexoR"; version="1.32.0"; sha256="18x5qj2z4nxbgj0i7si0rk57hlqwxmmz97dvsfvbkw1akcw8psb9"; depends=[genomation GenomeInfoDb GenomicRanges idr IRanges RColorBrewer Rsamtools rtracklayer S4Vectors]; };
   ChAMP = derive2 { name="ChAMP"; version="2.24.0"; sha256="10wyfcc36qfcwpzgsj2vnmjy694igk81zd35aij51fs4s1mhmf2k"; depends=[bumphunter ChAMPdata combinat dendextend DMRcate DNAcopy doParallel DT GenomicRanges ggplot2 globaltest goseq Hmisc Illumina450ProbeVariants_db IlluminaHumanMethylation450kmanifest IlluminaHumanMethylationEPICanno_ilm10b4_hg19 IlluminaHumanMethylationEPICmanifest illuminaio impute isva kpmt limma marray matrixStats minfi missMethyl plotly plyr preprocessCore prettydoc quadprog qvalue RColorBrewer rmarkdown RPMM shiny shinythemes sva wateRmelon]; };
@@ -203,7 +203,7 @@ in with self; {
   ChIPXpress = derive2 { name="ChIPXpress"; version="1.38.0"; sha256="1wypkh9pq3v9lwmhwdrnf6a2jm2i2nc7kv9nppcyknf9qhpkn97z"; depends=[affy biganalytics bigmemory Biobase ChIPXpressData frma GEOquery]; };
   ChIPanalyser = derive2 { name="ChIPanalyser"; version="1.16.0"; sha256="1ibbfsl2gz5634rljy4bin9h9g5bxzig3z65bvayp4ldmfiz91dm"; depends=[BiocManager Biostrings BSgenome GenomeInfoDb GenomicRanges IRanges RcppRoll ROCR rtracklayer S4Vectors]; };
   ChIPexoQual = derive2 { name="ChIPexoQual"; version="1.18.0"; sha256="1hh3mhfcngyx7cpzns8mjqviy8vfzrvxpv6nyizflpfmsr39mxfk"; depends=[BiocParallel biovizBase broom data_table dplyr GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 hexbin IRanges RColorBrewer rmarkdown Rsamtools S4Vectors scales viridis]; };
-  ChIPpeakAnno = derive2 { name="ChIPpeakAnno"; version="3.28.0"; sha256="05fbq8zvww1nlyykrri0hf4248i1i7w5cr453giagmjq7lgg4v3b"; depends=[AnnotationDbi BiocGenerics biomaRt Biostrings DBI dplyr ensembldb GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggplot2 graph InteractionSet IRanges KEGGREST matrixStats multtest RBGL regioneR Rsamtools rtracklayer S4Vectors SummarizedExperiment VennDiagram]; };
+  ChIPpeakAnno = derive2 { name="ChIPpeakAnno"; version="3.28.1"; sha256="0v2qz3rp5lmj3s1ziahjqym6cjlh4wdvf050k1x6dx8404jhi8kw"; depends=[AnnotationDbi BiocGenerics biomaRt Biostrings DBI dplyr ensembldb GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggplot2 graph InteractionSet IRanges KEGGREST matrixStats multtest RBGL regioneR Rsamtools rtracklayer S4Vectors SummarizedExperiment VennDiagram]; };
   ChIPseeker = derive2 { name="ChIPseeker"; version="1.30.3"; sha256="1f9m1p1viiigkmv15r2mknjrfw047jw1fylpqz5ipigc3jrphj1g"; depends=[AnnotationDbi BiocGenerics boot dplyr enrichplot GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 gplots gtools IRanges magrittr plotrix RColorBrewer rtracklayer S4Vectors TxDb_Hsapiens_UCSC_hg19_knownGene]; };
   ChIPseqR = derive2 { name="ChIPseqR"; version="1.48.0"; sha256="05hxxqmjxpry0j80kyz2400azni0dc64ps7cxfi11h243japhbsf"; depends=[BiocGenerics Biostrings fBasics GenomicRanges HilbertVis IRanges S4Vectors ShortRead timsac]; };
   ChIPsim = derive2 { name="ChIPsim"; version="1.48.0"; sha256="1pdsfsk8c92pz22qz2x5rsmk7j9v3dw9c1p96il533ycjafq1xqd"; depends=[Biostrings IRanges ShortRead XVector]; };
@@ -252,7 +252,7 @@ in with self; {
   DESeq2 = derive2 { name="DESeq2"; version="1.34.0"; sha256="0whk29zrmv9mrlc4w5ghy0fd29v8hfr8jccwgrn59mf3mkmfb2b9"; depends=[Biobase BiocGenerics BiocParallel genefilter geneplotter GenomicRanges ggplot2 IRanges locfit Rcpp RcppArmadillo S4Vectors SummarizedExperiment]; };
   DEWSeq = derive2 { name="DEWSeq"; version="1.8.0"; sha256="1ggj4in0sj9wb367s19v56f0jnfdcsylndjwpp4j02kwmc2wfl0j"; depends=[BiocGenerics BiocParallel data_table DESeq2 GenomeInfoDb GenomicRanges R_utils S4Vectors SummarizedExperiment]; };
   DEXSeq = derive2 { name="DEXSeq"; version="1.40.0"; sha256="1wd4bjd0a53s689yvb2lxzdiy0synh6ncfcly3cfw37kpdj8lds1"; depends=[AnnotationDbi Biobase BiocGenerics BiocParallel biomaRt DESeq2 genefilter geneplotter GenomicRanges hwriter IRanges RColorBrewer Rsamtools S4Vectors statmod stringr SummarizedExperiment]; };
-  DEqMS = derive2 { name="DEqMS"; version="1.11.1"; sha256="0nm49sxxi0j4czly8rjyxp41wlcihbn802qmljs8x6y6wvp3464l"; depends=[ggplot2 limma matrixStats]; };
+  DEqMS = derive2 { name="DEqMS"; version="1.12.1"; sha256="07klzl8qb121c3jk7g16fx4g5a89m8iv8mjhqcc7f4501bpbkyb2"; depends=[ggplot2 limma matrixStats]; };
   DEsingle = derive2 { name="DEsingle"; version="1.14.0"; sha256="0x0xnylf036k320r59pqa273i59jcwxiwsw4fyfqqrliyw7fxa4c"; depends=[bbmle BiocParallel gamlss MASS Matrix maxLik pscl VGAM]; };
   DEsubs = derive2 { name="DEsubs"; version="1.20.0"; sha256="1b11hhs7r1r24z7w9mimj1bpj7y5j7i9vq9sw6ll2dlghyazc7di"; depends=[circlize DESeq2 EBSeq edgeR ggplot2 graph igraph jsonlite limma locfit Matrix NBPSeq pheatmap RBGL]; };
   DExMA = derive2 { name="DExMA"; version="1.2.1"; sha256="1afxv356bkswnbyh3mkf98xqq1arcgak980hkryn4i69531kkc0w"; depends=[Biobase bnstruct DExMAdata GEOquery impute limma pheatmap plyr scales snpStats sva swamp]; };
@@ -262,7 +262,7 @@ in with self; {
   DMCHMM = derive2 { name="DMCHMM"; version="1.16.0"; sha256="0r12m3ldbi1h0fdg4hgxfq1f0lrz49a08i7kr6imdspzm8hl2j65"; depends=[BiocParallel calibrate fdrtool GenomicRanges IRanges multcomp rtracklayer S4Vectors SummarizedExperiment]; };
   DMRScan = derive2 { name="DMRScan"; version="1.16.0"; sha256="0iza3yyjmggkxgn24raiwzppf4lvdj1lgq34lpk08mf6p5v0v601"; depends=[GenomeInfoDb GenomicRanges IRanges MASS Matrix mvtnorm RcppRoll]; };
   DMRcaller = derive2 { name="DMRcaller"; version="1.26.0"; sha256="0qn3y2nj0pyy9kqpbv8nwsiypwl6kixxs2yj3bvhkhb5dgqj6p6w"; depends=[betareg GenomicRanges IRanges Rcpp RcppRoll S4Vectors]; };
-  DMRcate = derive2 { name="DMRcate"; version="2.8.1"; sha256="12i5h9m4xgxlxs3n48rbqlk622qi8jx7vfnn6qhib0f3m73rws1i"; depends=[bsseq DSS edgeR ExperimentHub GenomeInfoDb GenomicRanges Gviz IRanges limma minfi missMethyl plyr S4Vectors SummarizedExperiment]; };
+  DMRcate = derive2 { name="DMRcate"; version="2.8.4"; sha256="03nh7q8mlpc2ffs5gh3aqvks2wd20zyq9vqhkhxq69xxi53wrbm3"; depends=[bsseq DMRcatedata DSS edgeR ExperimentHub GenomeInfoDb GenomicRanges Gviz IRanges limma minfi missMethyl plyr S4Vectors SummarizedExperiment]; };
   DMRforPairs = derive2 { name="DMRforPairs"; version="1.30.0"; sha256="1f8b63chg3jrqbf669l2nk3a8wy5rya545zbypgzr2r51s284k7b"; depends=[GenomicRanges Gviz R2HTML]; };
   DNABarcodeCompatibility = derive2 { name="DNABarcodeCompatibility"; version="1.10.0"; sha256="1dj4c8h648ckzrz0k6qrzvfgqz00wj0pdahhp35nlrldcavp90p6"; depends=[DNABarcodes dplyr numbers purrr stringr tidyr]; };
   DNABarcodes = derive2 { name="DNABarcodes"; version="1.24.0"; sha256="07yaz98r18mjny1ilmfnjxcra7xpklnd183pw0kasvsri01ccwxg"; depends=[BH Matrix Rcpp]; };
@@ -285,7 +285,7 @@ in with self; {
   DelayedRandomArray = derive2 { name="DelayedRandomArray"; version="1.2.0"; sha256="1hi9pvxny8nm4akhshicksd04p7vflqa3m38k6kcs50slhgdp5ys"; depends=[BH DelayedArray dqrng Rcpp]; };
   DelayedTensor = derive2 { name="DelayedTensor"; version="1.0.0"; sha256="0yg7r6j7r1sikc4wi6khh3dsbflzpj51sdh41q337lkmlxagwpbb"; depends=[BiocSingular DelayedArray DelayedRandomArray einsum HDF5Array irlba Matrix rTensor]; };
   DepecheR = derive2 { name="DepecheR"; version="1.10.0"; sha256="1500jivij7zdycdd0i0b7mgp44w4z0hqnpzqbq8nhvzzdigic8x9"; depends=[beanplot doSNOW dplyr FNN foreach ggplot2 gmodels gplots MASS matrixStats mixOmics moments Rcpp RcppEigen reshape2 robustbase viridis]; };
-  DiffBind = derive2 { name="DiffBind"; version="3.4.3"; sha256="1bz03ls7pkb09p6nkz7gfnhjlh06mgbp3j98ppnzibiar3cjrnfj"; depends=[amap apeglm ashr BiocParallel DESeq2 dplyr GenomicAlignments GenomicRanges ggplot2 ggrepel gplots GreyListChIP IRanges lattice limma locfit RColorBrewer Rcpp Rhtslib Rsamtools S4Vectors SummarizedExperiment systemPipeR]; };
+  DiffBind = derive2 { name="DiffBind"; version="3.4.9"; sha256="1fpr96hfi7hy3pzf4rgnmrz2fk3qajwgsy32yqr839vjfsvw532z"; depends=[amap apeglm ashr BiocParallel DESeq2 dplyr GenomicAlignments GenomicRanges ggplot2 ggrepel gplots GreyListChIP IRanges lattice limma locfit RColorBrewer Rcpp Rhtslib Rsamtools S4Vectors SummarizedExperiment systemPipeR]; };
   DiffLogo = derive2 { name="DiffLogo"; version="2.18.0"; sha256="1axpyjr86a176rgv9wnrk04dv9llgkw9vr7h00scr6jw77wqya4n"; depends=[cba]; };
   Dino = derive2 { name="Dino"; version="1.0.0"; sha256="1k83rhva7bxk1w6qvvdhx0r95p9nbzfdm3m7g6wpyq3qp0ifx5xp"; depends=[BiocParallel BiocSingular Matrix matrixStats S4Vectors scran Seurat SingleCellExperiment SummarizedExperiment]; };
   Director = derive2 { name="Director"; version="1.20.0"; sha256="1f0a8rkpz698c5a41j7ii7ahxxaqn92rhx8sh3q66gpv0br8h44g"; depends=[htmltools]; };
@@ -294,7 +294,7 @@ in with self; {
   DominoEffect = derive2 { name="DominoEffect"; version="1.14.0"; sha256="13lksli177d11rw5692bc5qmp0x5bfkasriccaa28hklnqmbyjsc"; depends=[AnnotationDbi biomaRt Biostrings data_table GenomeInfoDb GenomicRanges IRanges SummarizedExperiment VariantAnnotation]; };
   Doscheda = derive2 { name="Doscheda"; version="1.16.0"; sha256="0lpmxnid43fvi41mc5r89mvvxn19baja8f4zr38j3dkb126dr476"; depends=[affy calibrate corrgram drc DT ggplot2 gridExtra httr jsonlite limma matrixStats prodlim readxl reshape2 shiny shinydashboard stringr vsn]; };
   DriverNet = derive2 { name="DriverNet"; version="1.34.0"; sha256="1qfjg5x3m2z5yjm0lgnw7rqhclic2fgzcdnq0nnwlqyp4i5na10q"; depends=[]; };
-  DropletUtils = derive2 { name="DropletUtils"; version="1.14.1"; sha256="1nfv5d04jzbd5nv1fazj5qchv59s4cds698r44zfw36z6v83w2d6"; depends=[beachmat BH BiocGenerics BiocParallel DelayedArray DelayedMatrixStats dqrng edgeR GenomicRanges HDF5Array IRanges Matrix R_utils Rcpp rhdf5 Rhdf5lib S4Vectors scuttle SingleCellExperiment SummarizedExperiment]; };
+  DropletUtils = derive2 { name="DropletUtils"; version="1.14.2"; sha256="0vljd0zlafqr0g5d14jf8qwahjc56i7i1xan00ql351y8hmi4qmi"; depends=[beachmat BH BiocGenerics BiocParallel DelayedArray DelayedMatrixStats dqrng edgeR GenomicRanges HDF5Array IRanges Matrix R_utils Rcpp rhdf5 Rhdf5lib S4Vectors scuttle SingleCellExperiment SummarizedExperiment]; };
   DrugVsDisease = derive2 { name="DrugVsDisease"; version="2.36.0"; sha256="19plcigawh4c4z1dxn1c0kxbdnrsz2fgfyvmcnj0025xscdk4zay"; depends=[affy annotate ArrayExpress BiocGenerics biomaRt cMap2data DrugVsDiseasedata GEOquery hgu133a_db hgu133a2_db hgu133plus2_db limma qvalue RUnit xtable]; };
   Dune = derive2 { name="Dune"; version="1.6.0"; sha256="0n267fw1yna1fpg5gcilmf0ijavy2c1ry0wcccp2cdzhs77cx7fi"; depends=[aricode BiocParallel dplyr gganimate ggplot2 magrittr purrr RColorBrewer SummarizedExperiment tidyr]; };
   DynDoc = derive2 { name="DynDoc"; version="1.72.0"; sha256="1ix1kcjrmbv7hqsmihgazh7igrh13bxhgw36ibihh07sflrgf1hm"; depends=[]; };
@@ -322,7 +322,7 @@ in with self; {
   EventPointer = derive2 { name="EventPointer"; version="3.2.0"; sha256="0kg5psygc410gx6prb8as00csh6v3s1psbcn2ym4i4k5wnyzmbn3"; depends=[abind affxparser Biostrings BSgenome cobs doParallel foreach GenomeInfoDb GenomicFeatures GenomicRanges glmnet graph igraph IRanges iterators limma lpSolve MASS Matrix matrixStats nnls poibin prodlim qvalue RBGL rhdf5 S4Vectors SGSeq speedglm stringr SummarizedExperiment tximport]; };
   ExCluster = derive2 { name="ExCluster"; version="1.12.0"; sha256="1fmijpvkn2qjwl8cqzwclybnfqyrdckxwfc6f1zird770bqyagjv"; depends=[GenomicRanges IRanges matrixStats Rsubread rtracklayer]; };
   ExiMiR = derive2 { name="ExiMiR"; version="2.36.0"; sha256="1vf1241n6f0w7p8m8vwb30dlhybw5ddhp2bgwmn7ml6rfbkidmnk"; depends=[affy affyio Biobase limma preprocessCore]; };
-  ExperimentHub = derive2 { name="ExperimentHub"; version="2.2.0"; sha256="15las4qmqvrn81hczxa3ylikqh54kp1lg9r8rcyfvrx5l0kgwlfq"; depends=[AnnotationHub BiocFileCache BiocGenerics BiocManager curl rappdirs S4Vectors]; };
+  ExperimentHub = derive2 { name="ExperimentHub"; version="2.2.1"; sha256="0lvd6hyqdfsn5ji714v46qdrb8vr1y38lv0pgw8priab0hpqrbm5"; depends=[AnnotationHub BiocFileCache BiocGenerics BiocManager curl rappdirs S4Vectors]; };
   ExperimentHubData = derive2 { name="ExperimentHubData"; version="1.20.1"; sha256="12gnp7zh0ligpmgnd59gp6c3cdq9sz0nzzpskjkdf7kzn08mk41m"; depends=[AnnotationHubData BiocGenerics BiocManager curl DBI ExperimentHub httr S4Vectors]; };
   ExperimentSubset = derive2 { name="ExperimentSubset"; version="1.4.0"; sha256="1ccz555f5mfvii99w66f076cb22f0ksjxmq9f6bsfxjzsbc7ssnh"; depends=[Matrix S4Vectors SingleCellExperiment SpatialExperiment SummarizedExperiment TreeSummarizedExperiment]; };
   ExploreModelMatrix = derive2 { name="ExploreModelMatrix"; version="1.6.0"; sha256="162g6zfdhr6gibyqkfwk4y2fd4wmbzwx1frf8rkw6m7ny3mc7s3g"; depends=[cowplot dplyr DT ggplot2 limma magrittr MASS rintrojs S4Vectors scales shiny shinydashboard shinyjs tibble tidyr]; };
@@ -354,14 +354,14 @@ in with self; {
   GCSFilesystem = derive2 { name="GCSFilesystem"; version="1.4.0"; sha256="0k2dmiyxfpdr1jzrkkkpj0rqd1s13rwmqfrbc5xkanc5z6wqd8hc"; depends=[]; };
   GCSscore = derive2 { name="GCSscore"; version="1.8.0"; sha256="0zb2fcwqbxl59bvhj73yrb9sq2zld451abb1nmxj92yipbmwjgn6"; depends=[affxparser Biobase BiocManager data_table devtools dplR RSQLite stringr]; };
   GDCRNATools = derive2 { name="GDCRNATools"; version="1.14.0"; sha256="1h0gfi6mhr5kzwhqxkzgxz12abkn7svnbbzga70pp7az8m8vxmnn"; depends=[BiocParallel biomaRt clusterProfiler DESeq2 DOSE DT edgeR GenomicDataCommons ggplot2 gplots jsonlite limma org_Hs_eg_db pathview rjson shiny survival survminer XML]; };
-  GDSArray = derive2 { name="GDSArray"; version="1.14.0"; sha256="07b3025fcjrq1kvpb7g6kxqwmk6pwibnv8krmn11ddgl2606k8c3"; depends=[BiocGenerics DelayedArray gdsfmt S4Vectors SeqArray SNPRelate]; };
+  GDSArray = derive2 { name="GDSArray"; version="1.14.1"; sha256="0v8kxy7xfhgghz4qg2djc4nxh2w3bk48b0cx1jx7lc45hm2qsdfx"; depends=[BiocGenerics DelayedArray gdsfmt S4Vectors SeqArray SNPRelate]; };
   GEM = derive2 { name="GEM"; version="1.20.0"; sha256="19jars2vajfgy2v9xrgp45gc2yn2hq31d9ikdpnkd9gvpqm99nkv"; depends=[ggplot2]; };
   GENESIS = derive2 { name="GENESIS"; version="2.24.0"; sha256="1n1h9aiyn8f8cznm8dkvndm3708nls2xr4v21sspz4vj8ahwvgaz"; depends=[Biobase BiocGenerics BiocParallel data_table gdsfmt GenomicRanges GWASTools igraph IRanges Matrix reshape2 S4Vectors SeqArray SeqVarTools SNPRelate]; };
   GENIE3 = derive2 { name="GENIE3"; version="1.16.0"; sha256="0ms769267pimrx3xwwkgjy03qilkxxs7xwhzfca01f65i4n3l6fw"; depends=[dplyr reshape2]; };
   GEOexplorer = derive2 { name="GEOexplorer"; version="1.0.0"; sha256="01hgjdp14b9r2044h0sd136f0px983n0il08wiii41vq1jgisvhb"; depends=[Biobase DT factoextra GEOquery ggplot2 heatmaply htmltools impute limma maptools pheatmap plotly scales shiny shinyBS shinybusy shinyHeatmaply stringr umap]; };
   GEOfastq = derive2 { name="GEOfastq"; version="1.2.0"; sha256="03ya7x7dph6g97aa3gf3d7dinjcy8qipd0dyxqpdhdm1w1gx83by"; depends=[doParallel foreach plyr RCurl rvest stringr xml2]; };
   GEOmetadb = derive2 { name="GEOmetadb"; version="1.56.0"; sha256="18v3h7518cc4fzdi7ivng81316012mry4ihyrldm85zgm4c5dign"; depends=[GEOquery RSQLite]; };
-  GEOquery = derive2 { name="GEOquery"; version="2.62.1"; sha256="0plmh4x37r848g6ilvl1x8cim90rp85gikfc5m8lgi2i4xkq7hbq"; depends=[Biobase data_table dplyr httr limma magrittr R_utils readr tidyr xml2]; };
+  GEOquery = derive2 { name="GEOquery"; version="2.62.2"; sha256="1hncr0p54qdg82a771yjjm4w1k2myrc26jzvci3g37mq7bgv3mxw"; depends=[Biobase data_table dplyr httr limma magrittr R_utils readr tidyr xml2]; };
   GEOsubmission = derive2 { name="GEOsubmission"; version="1.46.0"; sha256="0p0w55j7ij1242sa76bhgqwnj5zi0bh7s7qa14iga4ldigpxr63b"; depends=[affy Biobase]; };
   GEWIST = derive2 { name="GEWIST"; version="1.38.0"; sha256="0xcywidrs6jvps93iv3qvr9ai1bdzn95icvswy8ganx09v5hfpy9"; depends=[car]; };
   GGPA = derive2 { name="GGPA"; version="1.6.0"; sha256="0spiix8vlncrc2h1chmkfz8k79lpvq3qya33yyg7avf8dqdqaw31"; depends=[GGally matrixStats network Rcpp RcppArmadillo scales sna]; };
@@ -414,11 +414,11 @@ in with self; {
   GeneTonic = derive2 { name="GeneTonic"; version="1.6.1"; sha256="1kcl87bjjy933z8xkqc3nx5yy6b89f62iaf7p6hc69z4vw5xrydf"; depends=[AnnotationDbi backbone bs4Dash circlize colorspace colourpicker ComplexHeatmap dendextend DESeq2 dplyr DT dynamicTreeCut expm ggforce ggplot2 ggrepel GO_db igraph matrixStats plotly RColorBrewer rintrojs rlang rmarkdown S4Vectors scales shiny shinyAce shinycssloaders shinyWidgets SummarizedExperiment tidyr tippy viridis visNetwork]; };
   GeneticsPed = derive2 { name="GeneticsPed"; version="1.56.0"; sha256="1gvk3wg5mqyc8j95l4djfc55ymv4i08az67znnly3r8376m07mqw"; depends=[gdata genetics MASS]; };
   GenoGAM = derive2 { name="GenoGAM"; version="2.11.0"; sha256="058qix2h0zm2k9csmbdhci2wqih3lyggjj591cqn0ls2nv7bnyvj"; depends=[BiocParallel Biostrings data_table DelayedArray DESeq2 futile_logger GenomeInfoDb GenomicAlignments GenomicRanges HDF5Array IRanges Matrix Rcpp RcppArmadillo rhdf5 Rsamtools S4Vectors sparseinv SummarizedExperiment]; };
-  GenomeInfoDb = derive2 { name="GenomeInfoDb"; version="1.30.0"; sha256="1r0wblz9w4hqxm15wdssz0invx7hxhg3bnblkia6w3aazh30s6ns"; depends=[BiocGenerics GenomeInfoDbData IRanges RCurl S4Vectors]; };
+  GenomeInfoDb = derive2 { name="GenomeInfoDb"; version="1.30.1"; sha256="1ly851w6xy144qvmpdv7p64yc45bqxmvny2rzgz691h3qbin3x55"; depends=[BiocGenerics GenomeInfoDbData IRanges RCurl S4Vectors]; };
   GenomicAlignments = derive2 { name="GenomicAlignments"; version="1.30.0"; sha256="1jwksis94mk8bmdggk0w3kvxqwp4di6x78xgsjk6ij54710adyq9"; depends=[BiocGenerics BiocParallel Biostrings GenomeInfoDb GenomicRanges IRanges Rsamtools S4Vectors SummarizedExperiment]; };
   GenomicDataCommons = derive2 { name="GenomicDataCommons"; version="1.18.0"; sha256="1nr504dchiifbagrjq0cck5rzd23dcfnvx6bsw9wikw5mg4gib9l"; depends=[dplyr GenomicRanges httr IRanges jsonlite magrittr rappdirs readr rlang S4Vectors SummarizedExperiment tibble xml2]; };
   GenomicDistributions = derive2 { name="GenomicDistributions"; version="1.2.0"; sha256="07c3rxvgm2abs01kzczbpy7kmn3yzcdf5z35dlk1bc2ry3s5dsd1"; depends=[Biostrings data_table dplyr GenomeInfoDb GenomicRanges ggplot2 IRanges plyr reshape2]; };
-  GenomicFeatures = derive2 { name="GenomicFeatures"; version="1.46.3"; sha256="0a3shdzc1r0f12q9w679hgj8ywrwbg36z7k0yp47dgfjl14lachk"; depends=[AnnotationDbi Biobase BiocGenerics BiocIO biomaRt Biostrings DBI GenomeInfoDb GenomicRanges IRanges RCurl RSQLite rtracklayer S4Vectors XVector]; };
+  GenomicFeatures = derive2 { name="GenomicFeatures"; version="1.46.4"; sha256="0r0vi6hkp5yhgdw1df2y8ivz7fbcbxs9zqpavlkyklpfbrs32yay"; depends=[AnnotationDbi Biobase BiocGenerics BiocIO biomaRt Biostrings DBI GenomeInfoDb GenomicRanges IRanges RCurl RSQLite rtracklayer S4Vectors XVector]; };
   GenomicFiles = derive2 { name="GenomicFiles"; version="1.30.0"; sha256="0i5y6dk6z18yqj5k4zy756c6l57z9jq2w5a5dksh2di4qgdgjx3x"; depends=[BiocGenerics BiocParallel GenomeInfoDb GenomicAlignments GenomicRanges IRanges MatrixGenerics Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation]; };
   GenomicInteractions = derive2 { name="GenomicInteractions"; version="1.28.0"; sha256="090kxq5jn1jfr9fgbkvbjr5g4bcxzgsaal3gc9yx1n7pgmhccfmb"; depends=[Biobase BiocGenerics data_table dplyr GenomeInfoDb GenomicRanges ggplot2 gridExtra Gviz igraph InteractionSet IRanges Rsamtools rtracklayer S4Vectors stringr]; };
   GenomicOZone = derive2 { name="GenomicOZone"; version="1.8.0"; sha256="1dx72y7kmj7ng3r6qn9bzlmgq9pf7g738myhgrnmk4ivjl6f615w"; depends=[biomaRt Ckmeans_1d_dp GenomeInfoDb GenomicRanges ggbio ggplot2 gridExtra IRanges lsr plyr Rdpack S4Vectors]; };
@@ -437,13 +437,13 @@ in with self; {
   GraphPAC = derive2 { name="GraphPAC"; version="1.36.0"; sha256="19925ha3mr7j399nlwb2vjvsrf7s4xjbq8b6z1k304kxk7d13yp5"; depends=[igraph iPAC RMallow TSP]; };
   GreyListChIP = derive2 { name="GreyListChIP"; version="1.26.0"; sha256="1h7h27q6l9d8j0shklyrh135zrwx56v4zzmm21cj1b7dvmwvpbcv"; depends=[BSgenome GenomeInfoDb GenomicAlignments GenomicRanges MASS Rsamtools rtracklayer SummarizedExperiment]; };
   Guitar = derive2 { name="Guitar"; version="2.10.0"; sha256="082yja4mmsq77sllv3c88agxjbb6jxwil2krb8fkfsijvyyx11c9"; depends=[AnnotationDbi dplyr GenomicFeatures GenomicRanges ggplot2 knitr magrittr rtracklayer]; };
-  Gviz = derive2 { name="Gviz"; version="1.38.0"; sha256="0nqa7m300d7gpsayb6c6rv64d3y8c390wvwgz7v29zs9c025s9a8"; depends=[AnnotationDbi Biobase BiocGenerics biomaRt Biostrings biovizBase BSgenome digest ensembldb GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges IRanges lattice latticeExtra matrixStats RColorBrewer Rsamtools rtracklayer S4Vectors XVector]; };
+  Gviz = derive2 { name="Gviz"; version="1.38.3"; sha256="0fmykq3b697n6lf33n5ldv2zxp7ccihpad1n95dqmrgfq4919kis"; depends=[AnnotationDbi Biobase BiocGenerics biomaRt Biostrings biovizBase BSgenome digest ensembldb GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges IRanges lattice latticeExtra matrixStats RColorBrewer Rsamtools rtracklayer S4Vectors XVector]; };
   HDF5Array = derive2 { name="HDF5Array"; version="1.22.1"; sha256="1al4a88pgdl7hfhphsnwl1gg1c1kmw37wcdr4v4pfsw5l8ff7nx4"; depends=[BiocGenerics DelayedArray IRanges Matrix rhdf5 rhdf5filters Rhdf5lib S4Vectors]; };
   HDTD = derive2 { name="HDTD"; version="1.28.0"; sha256="1pd0bbni121b5yq3j3sn8n67xgjfm4zygcpx7zgddcnq250544vl"; depends=[Rcpp RcppArmadillo]; };
   HELP = derive2 { name="HELP"; version="1.52.0"; sha256="17bhh9phny0cw3n61582wywl395ls0ak68y8fqv1ibbqiip193ag"; depends=[Biobase]; };
   HEM = derive2 { name="HEM"; version="1.66.0"; sha256="1jv8fwqsk05g7l7bbl7z928m83gk0gw70pix0dp901j9hm1xqjpb"; depends=[Biobase]; };
   HGC = derive2 { name="HGC"; version="1.2.0"; sha256="0skvfx81xvfi8bwlskq1ylr6c5sblh3qzidbz1nb2xa2m4pck2q0"; depends=[ape dendextend dplyr ggplot2 Matrix mclust patchwork RANN Rcpp RcppEigen]; };
-  HIBAG = derive2 { name="HIBAG"; version="1.30.1"; sha256="1ca0gin0hd2vh2pvx4xrca6iqr2nncfzsk5s7az8v2mwm9q6i09s"; depends=[RcppParallel]; };
+  HIBAG = derive2 { name="HIBAG"; version="1.30.2"; sha256="0wg0p650dlnky62rbhfs1gg4hmq93dkmmxswkhdqkkbdqi62d107"; depends=[RcppParallel]; };
   HIPPO = derive2 { name="HIPPO"; version="1.6.0"; sha256="0fr1zhavdzf7rmf0diy4r9qphfcphzbcqcs4370fyd4vyz5bid6l"; depends=[dplyr ggplot2 ggrepel gridExtra irlba magrittr Matrix reshape2 rlang Rtsne SingleCellExperiment umap]; };
   HIREewas = derive2 { name="HIREewas"; version="1.12.0"; sha256="0bjj5h9vc1fhzcn31hvkpcmnx6gzmz3fhczgy21q0ngp26ny10yd"; depends=[gplots quadprog]; };
   HMMcopy = derive2 { name="HMMcopy"; version="1.36.0"; sha256="0kbvdsvvrrzy05a5qiybc9chjfiidcz5mk09nj9s2x6vsj2whwxi"; depends=[data_table]; };
@@ -459,7 +459,7 @@ in with self; {
   HelloRanges = derive2 { name="HelloRanges"; version="1.20.0"; sha256="1f9fyafp3spxb76xl8ncww0dzfi4dbzh9ijqzs89dc7m10saq89p"; depends=[BiocGenerics Biostrings BSgenome docopt GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges IRanges Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation]; };
   Herper = derive2 { name="Herper"; version="1.3.0"; sha256="038cavnbz7gvmv9mpnf88n8dzrg7yl306y68zsq5hpkrj6qax9vr"; depends=[reticulate rjson withr]; };
   HiCBricks = derive2 { name="HiCBricks"; version="1.11.0"; sha256="12s01r9z569pp6amlvcs7fqmwivw9jb2ahnnyq6nzflsyn5277kl"; depends=[BiocParallel curl data_table digest GenomeInfoDb GenomicRanges ggplot2 IRanges jsonlite R_utils R6 RColorBrewer readr reshape2 rhdf5 S4Vectors scales stringr tibble viridis]; };
-  HiCDCPlus = derive2 { name="HiCDCPlus"; version="1.2.0"; sha256="0csm0ffbn3ya8fb936dy9g5sbvszsn274wszm871n248s9vqn8k7"; depends=[bbmle Biostrings BSgenome data_table dplyr GenomeInfoDb GenomicInteractions GenomicRanges InteractionSet IRanges MASS pscl R_utils Rcpp rlang rtracklayer S4Vectors tibble tidyr]; };
+  HiCDCPlus = derive2 { name="HiCDCPlus"; version="1.2.1"; sha256="0ywy0xwymrd9pknnz654vz31463js3rl3f1avmzjzd4krkf2vdgh"; depends=[bbmle Biostrings BSgenome data_table dplyr GenomeInfoDb GenomicInteractions GenomicRanges InteractionSet IRanges MASS pscl R_utils Rcpp rlang rtracklayer S4Vectors tibble tidyr]; };
   HiCcompare = derive2 { name="HiCcompare"; version="1.16.0"; sha256="0g2gsy27prk8b4anywim0qskishc52zh0p3854v04l6jax26675r"; depends=[BiocParallel data_table dplyr GenomicRanges ggplot2 gridExtra gtools InteractionSet IRanges KernSmooth mgcv pheatmap QDNAseq rhdf5 S4Vectors]; };
   HiLDA = derive2 { name="HiLDA"; version="1.8.0"; sha256="02yss2nr6f9zb6kd11id4p3zcgdvr66zlf4s404nh1aag221bc7h"; depends=[abind BiocGenerics Biostrings BSgenome_Hsapiens_UCSC_hg19 cowplot forcats GenomicFeatures GenomicRanges ggplot2 R2jags Rcpp S4Vectors stringr tidyr TxDb_Hsapiens_UCSC_hg19_knownGene XVector]; };
   HiTC = derive2 { name="HiTC"; version="1.38.0"; sha256="1ckiwqfq86k8p3y36iwr7k3y6g4z80n8hb047c0i2491lrn23rhx"; depends=[Biostrings GenomeInfoDb GenomicRanges IRanges Matrix RColorBrewer rtracklayer]; };
@@ -481,7 +481,7 @@ in with self; {
   IPO = derive2 { name="IPO"; version="1.20.0"; sha256="0cmdz3d5ayjgk4dwdscczxz1zcrfcsq2ajj5rzwhz9jxh8j272c9"; depends=[BiocParallel CAMERA rsm xcms]; };
   IRISFGM = derive2 { name="IRISFGM"; version="1.2.0"; sha256="1yqn4yy7bi6xkywr8pr742a87vxfynwxk67ddld7642dz0mfcb85"; depends=[AdaptGauss AnnotationDbi anocva clusterProfiler colorspace DEsingle DrImpute ggplot2 ggpubr ggraph igraph knitr Matrix MCL mixtools org_Hs_eg_db org_Mm_eg_db pheatmap Polychrome RColorBrewer Rcpp scater scran Seurat SingleCellExperiment]; };
   IRanges = derive2 { name="IRanges"; version="2.28.0"; sha256="07zs231wbfwwc1c1165rhp711fbss40p9l8kyjjv9flzpr3hr1pg"; depends=[BiocGenerics S4Vectors]; };
-  ISAnalytics = derive2 { name="ISAnalytics"; version="1.4.2"; sha256="0czvf3r4aj6xdfny28irkf8k0jrkjvmdxzrcdfqnm0mh7vmqbgaq"; depends=[BiocParallel data_table dplyr fs ggplot2 ggrepel lifecycle lubridate magrittr psych purrr Rcapture readr readxl rlang stringr tibble tidyr zip]; };
+  ISAnalytics = derive2 { name="ISAnalytics"; version="1.4.3"; sha256="1ki8b92qd361pmb9azy2kd4nsxjr9rz3cvxg5ih92k0ps4yhadak"; depends=[BiocParallel data_table dplyr fs ggplot2 ggrepel lifecycle lubridate magrittr psych purrr Rcapture readr readxl rlang stringr tibble tidyr zip]; };
   ISoLDE = derive2 { name="ISoLDE"; version="1.22.0"; sha256="16qfv44341n1l69zh86k445kspaygy0y4by7jms8fhnyiw7pd261"; depends=[]; };
   ITALICS = derive2 { name="ITALICS"; version="2.54.0"; sha256="17d12vcbwmvqfg5bfp5854g2n3c6mg30gdm5cm07k29h1y6q25h7"; depends=[affxparser DBI GLAD ITALICSData oligo oligoClasses pd_mapping50k_xba240]; };
   IVAS = derive2 { name="IVAS"; version="2.14.0"; sha256="02cwi01iamig91hwjsx481l61cxxzrhazxfnw2p1q18ydkc9w6fv"; depends=[AnnotationDbi Biobase BiocGenerics BiocParallel doParallel foreach GenomeInfoDb GenomicFeatures GenomicRanges ggfortify ggplot2 IRanges lme4 Matrix S4Vectors]; };
@@ -575,7 +575,7 @@ in with self; {
   MSGFplus = derive2 { name="MSGFplus"; version="1.28.0"; sha256="1k0qm049gk4gjhd88zhxxrpc944r7ndq8dys08ai2kbaqignvb7y"; depends=[mzID ProtGenerics]; };
   MSPrep = derive2 { name="MSPrep"; version="1.4.0"; sha256="0nkmmjzkdxizk2yv1ahgsp8zsr4jjazpzqqwcsx86dhrgf5jk5cz"; depends=[crmn ddpcr dplyr magrittr missForest pcaMethods preprocessCore rlang S4Vectors stringr SummarizedExperiment sva tibble tidyr VIM]; };
   MSnID = derive2 { name="MSnID"; version="1.28.0"; sha256="0dks5h3vp9ly8x24px2rl5blqicxybpxjnxvg2p1bwq8zvjkm38p"; depends=[AnnotationDbi AnnotationHub Biobase BiocGenerics BiocStyle Biostrings data_table doParallel dplyr foreach ggplot2 iterators msmsTests MSnbase mzID mzR ProtGenerics purrr R_cache Rcpp reshape2 rlang RUnit stringr tibble xtable]; };
-  MSnbase = derive2 { name="MSnbase"; version="2.20.1"; sha256="0ip614mdwisz2hlmyfgngysq1s3hajb88cgdmygfc8i6kyxjkjzl"; depends=[affy Biobase BiocGenerics BiocParallel digest ggplot2 impute IRanges lattice MALDIquant MASS MsCoreUtils mzID mzR pcaMethods plyr ProtGenerics Rcpp S4Vectors scales vsn XML]; };
+  MSnbase = derive2 { name="MSnbase"; version="2.20.4"; sha256="0d3b0i154dyz1wvy2jwf5831bzbmalw7rzvxj8rd7658zjhghgzc"; depends=[affy Biobase BiocGenerics BiocParallel digest ggplot2 impute IRanges lattice MALDIquant MASS MsCoreUtils mzID mzR pcaMethods plyr ProtGenerics Rcpp S4Vectors scales vsn XML]; };
   MSstats = derive2 { name="MSstats"; version="4.2.0"; sha256="1i36a0vhqb2sjllyh6ascfm5fbzf8awazbk1vjq5n8mh2cq72ri9"; depends=[checkmate data_table ggplot2 ggrepel gplots limma lme4 marray MASS MSstatsConvert preprocessCore Rcpp RcppArmadillo survival]; };
   MSstatsConvert = derive2 { name="MSstatsConvert"; version="1.4.0"; sha256="0p44g7kv2zyknmiki94w0v4zq1qpa2ly17hbfqkfy9c1xql7b38g"; depends=[checkmate data_table log4r stringi]; };
   MSstatsLOBD = derive2 { name="MSstatsLOBD"; version="1.2.0"; sha256="0d78hd9ip2amkj5pjmwy376qhzfd46wqmzl38rbm52d946c69sb8"; depends=[ggplot2 minpack_lm Rcpp]; };
@@ -621,7 +621,7 @@ in with self; {
   MiPP = derive2 { name="MiPP"; version="1.66.0"; sha256="1m42rv20f9cwnr97ckx4lm193zf0kjr2v33fisymyaq5rrl7ppfn"; depends=[Biobase e1071 MASS]; };
   MiRaGE = derive2 { name="MiRaGE"; version="1.36.0"; sha256="10laq0b1acsirykb5cjxlpj91lqvmhsd3ammk331njaaczh4mjrx"; depends=[AnnotationDbi Biobase BiocGenerics BiocManager S4Vectors]; };
   MicrobiomeProfiler = derive2 { name="MicrobiomeProfiler"; version="1.0.0"; sha256="13awswgm1n30fy73xxlph5aay8a4nkb1gjjzhqy9w7djpm99nw8g"; depends=[clusterProfiler config DT enrichplot ggplot2 golem htmltools magrittr shiny shinycustomloader shinyWidgets]; };
-  MicrobiotaProcess = derive2 { name="MicrobiotaProcess"; version="1.6.3"; sha256="0k67ajgz87lanfkg38zhihnfvq31n7x4093a42bh0dx69m92rcbh"; depends=[ape Biostrings coin dplyr dtplyr foreach ggplot2 ggrepel ggsignif ggstar ggtree ggtreeExtra magrittr MASS patchwork pillar rlang SummarizedExperiment tibble tidyr tidyselect tidytree treeio vegan zoo]; };
+  MicrobiotaProcess = derive2 { name="MicrobiotaProcess"; version="1.6.4"; sha256="0vfmsdbn5czz90kg6mzgrfgrv1y5l9vxplj1j17k0s19z525w1kj"; depends=[ape Biostrings coin dplyr dtplyr foreach ggplot2 ggrepel ggsignif ggstar ggtree ggtreeExtra magrittr MASS patchwork pillar rlang SummarizedExperiment tibble tidyr tidyselect tidytree treeio vegan zoo]; };
   MineICA = derive2 { name="MineICA"; version="1.34.0"; sha256="00pbhbz44dx5gfzzf1drwny4a779zxk4hjavb1fkpg15cm7c152x"; depends=[annotate AnnotationDbi Biobase BiocGenerics biomaRt cluster colorspace fastICA foreach fpc ggplot2 GOstats graph gtools Hmisc igraph JADE lumi lumiHumanAll_db marray mclust plyr RColorBrewer Rgraphviz scales xtable]; };
   MinimumDistance = derive2 { name="MinimumDistance"; version="1.38.0"; sha256="077prww1k374czkd8dlpy081ki101vpl2gpi4dmjbzzq5q45ld7f"; depends=[Biobase BiocGenerics data_table DNAcopy ff foreach GenomeInfoDb GenomicRanges IRanges lattice MatrixGenerics matrixStats oligoClasses S4Vectors SummarizedExperiment VanillaICE]; };
   ModCon = derive2 { name="ModCon"; version="1.2.0"; sha256="1pgvkscvsacm7ag6yyqlpxs6c5vyb3hlmk6gzkiarsc1b29iqhm4"; depends=[data_table]; };
@@ -671,7 +671,7 @@ in with self; {
   OMICsPCA = derive2 { name="OMICsPCA"; version="1.12.0"; sha256="0d5hplm94k7hz6lap31jsb5pdh8lb7xl9i0swznm5vzrxrjdifyd"; depends=[cluster clValid corrplot cowplot data_table factoextra FactoMineR fpc GenomeInfoDb ggplot2 HelloRanges IRanges kableExtra magick MASS MultiAssayExperiment NbClust OMICsPCAdata pdftools PerformanceAnalytics reshape2 rgl rmarkdown rtracklayer tidyr]; };
   OPWeight = derive2 { name="OPWeight"; version="1.16.0"; sha256="1zkbhb70aam3g1arfb8bc8z4c4bd1qyr1zidz6srx1n25pkhp4ii"; depends=[MASS qvalue tibble]; };
   ORFhunteR = derive2 { name="ORFhunteR"; version="1.2.0"; sha256="0jkpq3hiv6n5c4hy3khs59020p98ig91w78ab37jam3sibykr0c6"; depends=[Biostrings BSgenome_Hsapiens_UCSC_hg38 data_table Peptides randomForest Rcpp rtracklayer stringr xfun]; };
-  ORFik = derive2 { name="ORFik"; version="1.14.6"; sha256="11f0p5m0r0qhf86n56s6pwiswn3sp1x8pz4gksa5yvhqrkbq6q8q"; depends=[AnnotationDbi BiocGenerics BiocParallel biomartr Biostrings BSgenome cowplot data_table DESeq2 fst GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges GGally ggplot2 gridExtra httr IRanges jsonlite R_utils Rcpp Rsamtools rtracklayer S4Vectors SummarizedExperiment xml2]; };
+  ORFik = derive2 { name="ORFik"; version="1.14.7"; sha256="0n04h94jdq99rggq4bydric0f957kd34yzfqpgafn7hy15p23a7z"; depends=[AnnotationDbi BiocGenerics BiocParallel biomartr Biostrings BSgenome cowplot data_table DESeq2 fst GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges GGally ggplot2 gridExtra httr IRanges jsonlite R_utils Rcpp Rsamtools rtracklayer S4Vectors SummarizedExperiment xml2]; };
   OSAT = derive2 { name="OSAT"; version="1.42.0"; sha256="1ibhrrlfjjils0w6n586s5ws0ybv7ija2p2f0jq3m3m9l324iyx9"; depends=[]; };
   OTUbase = derive2 { name="OTUbase"; version="1.44.0"; sha256="18wmllkc3h8x9ihrg0lzk4jvxjwrccl1jr37inkdmzv4aq5b7ygs"; depends=[Biobase Biostrings IRanges S4Vectors ShortRead vegan]; };
   OUTRIDER = derive2 { name="OUTRIDER"; version="1.12.0"; sha256="0ygsk0q1n8h02y4x3ccajkyyryn8gq0dz397l3jryb248g564a4h"; depends=[BBmisc BiocGenerics BiocParallel data_table DESeq2 generics GenomicFeatures GenomicRanges ggplot2 heatmaply IRanges matrixStats pcaMethods pheatmap plotly plyr PRROC RColorBrewer Rcpp RcppArmadillo reshape2 S4Vectors scales SummarizedExperiment]; };
@@ -680,7 +680,7 @@ in with self; {
   OmicCircos = derive2 { name="OmicCircos"; version="1.32.0"; sha256="1lkncbdq93azp1gv0z4bwdi6l1gpywm096hhn45q7w6f0dy5ydqs"; depends=[GenomicRanges]; };
   OmicsLonDA = derive2 { name="OmicsLonDA"; version="1.10.0"; sha256="1vdnpsbpm4zyc17nah5qnlw66bihc7svqvbwgbxmyfp84c2vbxjy"; depends=[BiocGenerics BiocParallel ggplot2 gss plyr pracma SummarizedExperiment zoo]; };
   Omixer = derive2 { name="Omixer"; version="1.4.0"; sha256="1pdsxcih642csqga7wy93bbhib2v08pywa8aw67zy7p62hvrxwim"; depends=[dplyr forcats ggplot2 gridExtra magrittr readr stringr tibble tidyselect]; };
-  OmnipathR = derive2 { name="OmnipathR"; version="3.2.0"; sha256="1q89mxnp8cig9r1499g7fb9p9x9ryz1dmc3w6ps5ww9n6rl8jqk8"; depends=[checkmate crayon curl digest dplyr httr igraph jsonlite later logger magrittr progress purrr rappdirs readr readxl rlang stringr tibble tidyr tidyselect xml2 yaml]; };
+  OmnipathR = derive2 { name="OmnipathR"; version="3.2.5"; sha256="0kmkbgkn6dw4jc0kd8p6pb2qvwyz1is24qld22h018v4rry3xa9s"; depends=[checkmate crayon curl digest dplyr httr igraph jsonlite later logger magrittr progress purrr rappdirs readr readxl rlang stringr tibble tidyr tidyselect xml2 yaml]; };
   OncoScore = derive2 { name="OncoScore"; version="1.22.0"; sha256="0pva48qjbxibgk2wxpaxr4xfq9i8dxbml418wx2nrjj20dn2dhcv"; depends=[biomaRt]; };
   OncoSimulR = derive2 { name="OncoSimulR"; version="3.2.0"; sha256="0dcx1qg42pxlcdpl07f53zkk32qpa8hd7fzdz5acvq3zm8yjmhlk"; depends=[car data_table dplyr ggplot2 ggrepel graph gtools igraph RColorBrewer Rcpp Rgraphviz smatr stringr]; };
   OpenStats = derive2 { name="OpenStats"; version="1.6.0"; sha256="17gvfvii7z8w9l6w5p0i05374d6sw704w627fnasbrcmkfqnvwka"; depends=[AICcmodavg car Hmisc jsonlite knitr MASS nlme rlist summarytools]; };
@@ -724,7 +724,7 @@ in with self; {
   PhenStat = derive2 { name="PhenStat"; version="2.30.0"; sha256="0b423kkbyyjk4ns4pdwh1lag2k0v7wn17h4l4aca3zkjrsf5522n"; depends=[car corrplot ggplot2 graph knitr lme4 logistf MASS msgps nlme nortest pingr reshape SmoothWin]; };
   PhenoGeneRanker = derive2 { name="PhenoGeneRanker"; version="1.2.0"; sha256="1x5fbipgsiz2ipg9yh2r8wr8w1s6q01vq4149gjjxgx779xz250n"; depends=[doParallel dplyr foreach igraph Matrix]; };
   PhosR = derive2 { name="PhosR"; version="1.4.0"; sha256="0ssfvc9qqj25j48srjjissq034f7giddx45w236yssaynw3ykslr"; depends=[BiocGenerics circlize dendextend dplyr e1071 GGally ggdendro ggplot2 ggpubr ggtext igraph limma network pcaMethods pheatmap preprocessCore RColorBrewer reshape2 rlang ruv S4Vectors SummarizedExperiment tidyr]; };
-  PhyloProfile = derive2 { name="PhyloProfile"; version="1.8.3"; sha256="0mnfqbyarknjh6zxq399msl2kbqa1rnw7gqw6k3z2slal2x53ris"; depends=[ape BiocStyle bioDist Biostrings colourpicker data_table DT energy ExperimentHub ggplot2 gridExtra OmaDB pbapply plyr RColorBrewer RCurl shiny shinyBS shinyjs xml2 yaml zoo]; };
+  PhyloProfile = derive2 { name="PhyloProfile"; version="1.8.5"; sha256="06ky4bhhmk251j1rfa0l9vsy9zvc99l6b280l7p8zfhj2kbpr6h1"; depends=[ape BiocStyle bioDist Biostrings colourpicker data_table DT energy ExperimentHub ggplot2 gridExtra OmaDB pbapply plyr RColorBrewer RCurl shiny shinyBS shinyFiles shinyjs xml2 yaml zoo]; };
   Pi = derive2 { name="Pi"; version="2.6.0"; sha256="14bpqzwx59shx5467nj0g6wj58qh9zqhy1i9l1n1gk7wd52ig5ql"; depends=[BiocGenerics caret dnet dplyr GenomeInfoDb GenomicRanges ggnetwork ggplot2 ggrepel glmnet igraph IRanges lattice MASS Matrix osfr plot3D purrr randomForest RCircos readr ROCR scales supraHex tibble tidyr]; };
   Pigengene = derive2 { name="Pigengene"; version="1.20.0"; sha256="1rdz2d5fy6gpdvzv5vfgxngwkag062i6bvvjqkyflabn0yijjpmi"; depends=[BiocStyle bnlearn C50 clusterProfiler DBI dplyr gdata ggplot2 GO_db graph impute MASS matrixStats openxlsx partykit pheatmap preprocessCore ReactomePA Rgraphviz WGCNA]; };
   PloGO2 = derive2 { name="PloGO2"; version="1.6.0"; sha256="0i5b7nfifjx1ywvdq4mhvy3wzdg8cqdcc7sw1awsz9xfnrjnhcdp"; depends=[GO_db GOstats httr lattice openxlsx xtable]; };
@@ -732,7 +732,7 @@ in with self; {
   PoTRA = derive2 { name="PoTRA"; version="1.10.0"; sha256="0qqr9mjqhfk76pnpzd0hzxw180swqr9b1dhakj65lha5mha4vgid"; depends=[BiocGenerics graph graphite igraph org_Hs_eg_db]; };
   PrInCE = derive2 { name="PrInCE"; version="1.10.0"; sha256="09fvk96zxj0bglbs8kgnbg3xxri2pial14g4kcsynaac0m2lmdyk"; depends=[Biobase dplyr forecast Hmisc LiblineaR magrittr MSnbase naivebayes progress purrr ranger Rdpack robustbase speedglm tester tidyr]; };
   PrecisionTrialDrawer = derive2 { name="PrecisionTrialDrawer"; version="1.10.0"; sha256="1zr1jpbnjjrgrbm99n8182akp7xg75bf54gy0wc66r7dxj4vivfl"; depends=[BiocParallel biomaRt brglm cgdsr data_table DT GenomicRanges ggplot2 ggrepel googleVis httr IRanges jsonlite LowMACAAnnotation magrittr matrixStats RColorBrewer reshape2 S4Vectors shiny shinyBS stringr XML]; };
-  Prostar = derive2 { name="Prostar"; version="1.26.2"; sha256="0wm9kmd3f4zwwn80b13n0am9vl2786pm9gl620qdc7s2pva9y1vc"; depends=[BiocManager colourpicker DAPAR DAPARdata data_table DT future highcharter htmlwidgets later promises R_utils rclipboard rhandsontable sass shiny shinyAce shinyBS shinycssloaders shinyjqui shinyjs shinythemes shinyTree shinyWidgets tibble webshot XML]; };
+  Prostar = derive2 { name="Prostar"; version="1.26.4"; sha256="0488x3dsbfydymc7bvh70v77rc3gfqkc56ykvfalrzl85r9zmlk0"; depends=[BiocManager colourpicker DAPAR DAPARdata data_table DT future highcharter htmlwidgets later promises R_utils rclipboard rhandsontable sass shiny shinyAce shinyBS shinycssloaders shinyjqui shinyjs shinythemes shinyTree shinyWidgets tibble webshot XML]; };
   ProtGenerics = derive2 { name="ProtGenerics"; version="1.26.0"; sha256="0x53pk7h47gjza1q5pz7jb1qqhwa9z2rr5fr61qc92zl3mqk57m0"; depends=[]; };
   ProteoDisco = derive2 { name="ProteoDisco"; version="1.0.0"; sha256="14rizjlwf87qhi929b4vafjzvx7p112bsq0zb2wppxh3m7izs4zp"; depends=[BiocGenerics BiocParallel Biostrings checkmate cleaver dplyr GenomeInfoDb GenomicFeatures GenomicRanges IRanges ParallelLogger plyr rlang S4Vectors tibble tidyr VariantAnnotation XVector]; };
   ProteoMM = derive2 { name="ProteoMM"; version="1.12.0"; sha256="1y7w6rs11kclh5nipnrh02ny12bgf2rkb2dghqcybl80s6r8m6bm"; depends=[biomaRt gdata ggplot2 ggrepel gtools matrixStats]; };
@@ -803,7 +803,7 @@ in with self; {
   RTN = derive2 { name="RTN"; version="2.18.0"; sha256="0yjbvcaci77xbxkl35i03vdmd2ascaphv2lpagcib4wlj2qsg57y"; depends=[car data_table igraph IRanges limma minet mixtools pheatmap pwr RedeR S4Vectors snow SummarizedExperiment viper]; };
   RTNduals = derive2 { name="RTNduals"; version="1.18.0"; sha256="1h646yysi879v1w60sc1f6wckyz788cq2psyihnp873k001yzgv9"; depends=[RTN]; };
   RTNsurvival = derive2 { name="RTNsurvival"; version="1.18.0"; sha256="158ffqrysprfx5g5m9mc645bjcpdjr3cksl521jc4ak401va7l7l"; depends=[data_table dunn_test egg ggplot2 pheatmap RColorBrewer RTN RTNduals scales survival]; };
-  RTopper = derive2 { name="RTopper"; version="1.40.0"; sha256="18x3qmqxh6y64bmp2a8d7f794inglx7mvaiva5rs04y26qlwww9s"; depends=[Biobase limma multtest]; };
+  RTopper = derive2 { name="RTopper"; version="1.40.1"; sha256="1mdp498x90rvlq8v1mfs067r4vprliiqf30f3smqh1b2bljcfpcc"; depends=[Biobase limma multtest]; };
   RUVSeq = derive2 { name="RUVSeq"; version="1.28.0"; sha256="1a19klscykdgsd7izcxyr45ml7g0gpdj65gvbaw124mal2p4zi9q"; depends=[Biobase EDASeq edgeR MASS]; };
   RUVcorr = derive2 { name="RUVcorr"; version="1.26.0"; sha256="0va76nl1j4f5cs1d7cxz2gx7v80r42ia178c9nb2fb91lmahalsn"; depends=[BiocParallel bladderbatch corrplot gridExtra lattice MASS psych reshape2 snowfall]; };
   RUVnormalize = derive2 { name="RUVnormalize"; version="1.28.0"; sha256="1yqnp1fpln7g4h20fikr9hh7x80s93pdip9g612m0djp5p2xlvlx"; depends=[Biobase RUVnormalizeData]; };
@@ -868,7 +868,7 @@ in with self; {
   SCAN_UPC = derive2 { name="SCAN.UPC"; version="2.36.0"; sha256="16d161x1npa4lh6ckp0p9ykdrj3x36gsylmq1kjm2vw8g4zknszv"; depends=[affy affyio Biobase Biostrings foreach GEOquery IRanges MASS oligo sva]; };
   SCANVIS = derive2 { name="SCANVIS"; version="1.8.0"; sha256="08cpq7cklv1z108cy0d6abv8xq8ins4ihdwzr04fr8bg2ikbi21z"; depends=[IRanges plotrix RCurl rtracklayer]; };
   SCATE = derive2 { name="SCATE"; version="1.4.0"; sha256="1b04bggi0rw9jmgak5j2ca6msqdrq1qdphg3g9w77a1rqyxza86s"; depends=[GenomicAlignments GenomicRanges mclust preprocessCore Rtsne SCATEData splines2 xgboost]; };
-  SCArray = derive2 { name="SCArray"; version="1.2.0"; sha256="1jji2cikxkc40zaqwcknrpz5a6nyrqhbirx5ivsdnwslm8l79xmk"; depends=[BiocGenerics DelayedArray DelayedMatrixStats gdsfmt IRanges S4Vectors SingleCellExperiment SummarizedExperiment]; };
+  SCArray = derive2 { name="SCArray"; version="1.2.1"; sha256="1p69m8jp3fz71a726h2r8zjgxj01bbsnnjz9714siz6awswm816l"; depends=[BiocGenerics DelayedArray DelayedMatrixStats gdsfmt IRanges S4Vectors SingleCellExperiment SummarizedExperiment]; };
   SCBN = derive2 { name="SCBN"; version="1.12.0"; sha256="19jpbr5nr59dc9khbbx60gzbsg8llfd1zqwb9v88nr43v059k13f"; depends=[]; };
   SCFA = derive2 { name="SCFA"; version="1.4.0"; sha256="1850c78niv5hp3c6axi5nmv4qawqca1ip3xppp2nar8f9xiqjd6l"; depends=[BiocParallel cluster clusterCrit glmnet igraph keras Matrix matrixStats psych RhpcBLASctl survival tensorflow]; };
   SCOPE = derive2 { name="SCOPE"; version="1.6.0"; sha256="01sj416q0qzpji7k34xz37l4955fa3l2imms96k8zz1gs2a1xm3j"; depends=[BiocGenerics Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 DescTools DNAcopy doParallel foreach GenomeInfoDb GenomicRanges gplots IRanges RColorBrewer Rsamtools S4Vectors]; };
@@ -905,7 +905,7 @@ in with self; {
   SRAdb = derive2 { name="SRAdb"; version="1.56.0"; sha256="18z62c2w6spsmnyqcmc57w41vli5vrcrl3hpy1al1n1yy9fgil0y"; depends=[GEOquery graph RCurl RSQLite]; };
   STAN = derive2 { name="STAN"; version="2.22.0"; sha256="1inqjw11a791c6svw0y4p3m8rd09fjcna3j4p5950f975aph1q4g"; depends=[BiocGenerics GenomeInfoDb GenomicRanges Gviz IRanges poilog Rsolnp S4Vectors]; };
   STATegRa = derive2 { name="STATegRa"; version="1.30.0"; sha256="10a230bvfjvjwsjkh0v3fjbrjkwcvsdch8bfv1s6h4yav1m4wca7"; depends=[affy Biobase calibrate edgeR foreach ggplot2 gplots gridExtra limma MASS]; };
-  STRINGdb = derive2 { name="STRINGdb"; version="2.6.0"; sha256="1hvb73anhbf1g82nn5m11s783z6ihvlavf7p30w29qggxggnl6lm"; depends=[gplots hash igraph plotrix plyr png RColorBrewer RCurl sqldf]; };
+  STRINGdb = derive2 { name="STRINGdb"; version="2.6.1"; sha256="14yn0fi6ghlv41z5vk4wvrx51hlpx7z9k5fk5jyb50l2g8wwzjhi"; depends=[gplots hash igraph plotrix plyr png RColorBrewer RCurl sqldf]; };
   STROMA4 = derive2 { name="STROMA4"; version="1.18.0"; sha256="10v8kgmx79zd2vgzwij3il80l724sdl0k4a3rm73kd4jw2wvhkrh"; depends=[Biobase BiocParallel cluster matrixStats]; };
   SWATH2stats = derive2 { name="SWATH2stats"; version="1.24.0"; sha256="0ifl1y3rs0r2zqkpcpiibyv12mjqz6wxs296f691k1qfz9qvx8kg"; depends=[biomaRt data_table ggplot2 reshape2]; };
   SamSPECTRAL = derive2 { name="SamSPECTRAL"; version="1.48.0"; sha256="1xxz5ggxj10psrz5rm0xjr8mxwc3cfyl9chsa9w2wxrrixypdnah"; depends=[]; };
@@ -929,7 +929,7 @@ in with self; {
   SingleCellExperiment = derive2 { name="SingleCellExperiment"; version="1.16.0"; sha256="01075vbs8hy399pxalav9rbkz4djvl84ip559jkz51fypd0m4i39"; depends=[BiocGenerics DelayedArray GenomicRanges S4Vectors SummarizedExperiment]; };
   SingleCellSignalR = derive2 { name="SingleCellSignalR"; version="1.6.0"; sha256="1iw9yis5d6m2bzqkyncz5cy49rncnjrbzwah4c3il8aq5a21hrfh"; depends=[BiocManager circlize data_table edgeR foreach gplots igraph limma multtest pheatmap Rtsne scran SIMLR stringr]; };
   SingleMoleculeFootprinting = derive2 { name="SingleMoleculeFootprinting"; version="1.2.0"; sha256="0abaxk5ck81libsfhy1w9jx1jjf7cix7znl2gydh2fd5qaafzfd3"; depends=[BiocGenerics Biostrings BSgenome data_table GenomeInfoDb GenomicRanges IRanges plyr QuasR RColorBrewer]; };
-  SingleR = derive2 { name="SingleR"; version="1.8.0"; sha256="19lsn3cpghkhfbx4jqgbwwrnacrl7vj3r91ymd1gk02c9pn5dmci"; depends=[beachmat BiocNeighbors BiocParallel BiocSingular DelayedArray DelayedMatrixStats Matrix Rcpp S4Vectors SummarizedExperiment]; };
+  SingleR = derive2 { name="SingleR"; version="1.8.1"; sha256="0j0h6ipm65wv38qx40z16h01mfirpshfn4lhlwlg2nri4vmihlpi"; depends=[beachmat BiocNeighbors BiocParallel BiocSingular DelayedArray DelayedMatrixStats Matrix Rcpp S4Vectors SummarizedExperiment]; };
   SomaticSignatures = derive2 { name="SomaticSignatures"; version="2.30.0"; sha256="1dxzfkvljnydv7kfybfa52dwcbkkci2r8gjspjf90k2bxf10phql"; depends=[Biobase Biostrings GenomeInfoDb GenomicRanges ggbio ggplot2 IRanges NMF pcaMethods proxy reshape2 S4Vectors VariantAnnotation]; };
   SpacePAC = derive2 { name="SpacePAC"; version="1.32.0"; sha256="1pgpfxyw621f7ljwy4y6q9fdlk263b4rwz9vg1f2h61nz097nk2l"; depends=[iPAC]; };
   Spaniel = derive2 { name="Spaniel"; version="1.8.0"; sha256="0js302hgxn0q9xy7s6pdxidvhfcvm711bci6cw3a3bwhq2kacvnc"; depends=[dplyr DropletUtils ggplot2 igraph jpeg jsonlite magrittr png S4Vectors scater scran Seurat shiny SingleCellExperiment SummarizedExperiment]; };
@@ -959,7 +959,7 @@ in with self; {
   TAPseq = derive2 { name="TAPseq"; version="1.6.0"; sha256="0y40z1xpqif09yins9jf4k0h7wljdf3qwgzykxcq5lfgns66cx91"; depends=[BiocGenerics BiocParallel Biostrings BSgenome dplyr GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges IRanges S4Vectors tidyr]; };
   TBSignatureProfiler = derive2 { name="TBSignatureProfiler"; version="1.6.0"; sha256="0sdgbkg0mv742y9b7frp4i2zrknfw87ghz6wvw4w0y0gjrbasj9r"; depends=[ASSIGN BiocGenerics BiocParallel ComplexHeatmap DESeq2 DT edgeR gdata ggplot2 GSVA magrittr RColorBrewer reshape2 rlang ROCit S4Vectors singscore SummarizedExperiment]; };
   TCC = derive2 { name="TCC"; version="1.34.0"; sha256="0298zfvrs7x6050s3222fg5yp60siz85pfh6541wmah7j0wzpgsd"; depends=[baySeq DESeq2 edgeR ROC]; };
-  TCGAbiolinks = derive2 { name="TCGAbiolinks"; version="2.22.2"; sha256="0l7hfwgd8aiqv2k98jchkr3sdp9hwdg7pzm3bnvr6k7p93ifr6wc"; depends=[biomaRt data_table downloader dplyr GenomicRanges ggplot2 httr IRanges jsonlite knitr plyr purrr R_utils readr rvest S4Vectors stringr SummarizedExperiment TCGAbiolinksGUI_data tibble tidyr XML xml2]; };
+  TCGAbiolinks = derive2 { name="TCGAbiolinks"; version="2.22.4"; sha256="071wz6dm6dypbfzvxd6j67l1iawlb6d5sfzq871zh06fzaxjm332"; depends=[biomaRt data_table downloader dplyr GenomicRanges ggplot2 httr IRanges jsonlite knitr plyr purrr R_utils readr rvest S4Vectors stringr SummarizedExperiment TCGAbiolinksGUI_data tibble tidyr XML xml2]; };
   TCGAbiolinksGUI = derive2 { name="TCGAbiolinksGUI"; version="1.20.0"; sha256="0941xcd42kz72vlhlm93681dwgi4afli5j8cfs331fpddpv7l4af"; depends=[caret clusterProfiler colourpicker data_table downloader DT ELMER ggplot2 ggrepel maftools pathview plotly readr sesame shiny shinyBS shinydashboard shinyFiles shinyjs stringr SummarizedExperiment TCGAbiolinks TCGAbiolinksGUI_data]; };
   TCGAutils = derive2 { name="TCGAutils"; version="1.14.0"; sha256="0gjmgz20hmy8c7igy5xvwql37k0v7662qkxwsc2vi01x6y781bcj"; depends=[AnnotationDbi BiocGenerics GenomeInfoDb GenomicDataCommons GenomicFeatures GenomicRanges IRanges MultiAssayExperiment RaggedExperiment rvest S4Vectors stringr SummarizedExperiment xml2]; };
   TCseq = derive2 { name="TCseq"; version="1.18.0"; sha256="1kzz3fl19d1ivb6l55xadwg202vq4wza3r7wgf6fx196s20vnvng"; depends=[BiocGenerics cluster e1071 edgeR GenomicAlignments GenomicRanges ggplot2 IRanges locfit reshape2 Rsamtools SummarizedExperiment]; };
@@ -985,7 +985,7 @@ in with self; {
   TarSeqQC = derive2 { name="TarSeqQC"; version="1.24.0"; sha256="0303kqwgs442vf0j0rpw15qjk6snvayd9rrjbll8gjnv34xzmw7d"; depends=[BiocGenerics BiocParallel Biostrings cowplot GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 Hmisc IRanges openxlsx plyr reshape2 Rsamtools S4Vectors]; };
   TargetDecoy = derive2 { name="TargetDecoy"; version="1.0.0"; sha256="0bvby24gqwkxmcq0d9c5ix5kx1svc59vcil5xv0fmsdzp9bgv4c4"; depends=[ggplot2 ggpubr mzID mzR]; };
   TargetScore = derive2 { name="TargetScore"; version="1.32.0"; sha256="15yh0ms1i38541kf7lxjk3xs9gpm4ixaykq6mhn572slkxdx737y"; depends=[Matrix pracma]; };
-  TargetSearch = derive2 { name="TargetSearch"; version="1.50.0"; sha256="0ikwbgrjp8i5g27acs4qzr8v7gzky209w3zdb6877y9hpvl5kvyv"; depends=[assertthat ncdf4]; };
+  TargetSearch = derive2 { name="TargetSearch"; version="1.50.1"; sha256="1l84lajyrx9x6b3spbjc3zf83bmy4s5qv1a3hz8i56pc9wmqpfyz"; depends=[assertthat ncdf4]; };
   TileDBArray = derive2 { name="TileDBArray"; version="1.4.0"; sha256="007qdq6w0i9b2mbcdbdjm62nzwy15scsxml6fqr0fwgzjfzvzb0z"; depends=[DelayedArray Rcpp S4Vectors tiledb]; };
   TimeSeriesExperiment = derive2 { name="TimeSeriesExperiment"; version="1.12.0"; sha256="0fphnkkd3i7zf33a9lhw95n80vzv1z7fmn7mhrfb949yz4jdvk7d"; depends=[DESeq2 dplyr dynamicTreeCut edgeR ggplot2 Hmisc limma magrittr proxy S4Vectors SummarizedExperiment tibble tidyr vegan viridis]; };
   TimiRGeN = derive2 { name="TimiRGeN"; version="1.4.0"; sha256="1lpvw24gnm1rdl4p2vxh07z82x7wcwcpmak7rjh3yq409lwi72i0"; depends=[biomaRt clusterProfiler dplyr FreqProf ggdendro gghighlight ggplot2 gplots gtools igraph Mfuzz MultiAssayExperiment RCy3 readxl reshape2 rWikiPathways scales stringr tidyr]; };
@@ -1060,7 +1060,7 @@ in with self; {
   amplican = derive2 { name="amplican"; version="1.16.0"; sha256="1p4n0bm4hsw20iyxghnc7k06q2w3hs044zsyl5ysd9xxiggi628l"; depends=[BiocGenerics BiocParallel Biostrings clusterCrit data_table dplyr GenomeInfoDb GenomicRanges ggplot2 ggthemes gridExtra gtable IRanges knitr Matrix matrixStats Rcpp rmarkdown S4Vectors ShortRead stringr waffle]; };
   animalcules = derive2 { name="animalcules"; version="1.10.0"; sha256="0l7lyw1a51piq20lh49ss4c2i75lrs1xq532jgf65n8vkm8asc88"; depends=[ape assertthat biomformat caret covr DESeq2 dplyr DT forcats ggplot2 glmnet GUniFrac lattice limma magrittr Matrix MultiAssayExperiment plotly plotROC rentrez reshape2 S4Vectors scales shiny shinyjs SummarizedExperiment tibble tsne umap vegan XML]; };
   annaffy = derive2 { name="annaffy"; version="1.66.0"; sha256="0crj37v571005brdd0ypfx2a7d1f829xxj2hahp2gy8aj9xm4s8l"; depends=[AnnotationDbi Biobase BiocManager DBI GO_db]; };
-  annmap = derive2 { name="annmap"; version="1.36.0"; sha256="0j8zvg3670dg0smyrdwsc42h64n4c6rm855zawlwgchx3vdgb8gn"; depends=[Biobase BiocGenerics DBI digest genefilter GenomicRanges IRanges lattice RMySQL Rsamtools]; };
+  annmap = derive2 { name="annmap"; version="1.36.99"; sha256="1q129ah96d1vz5d73a5xngz0fzh2zvq793xxha80r3lx2bgld7an"; depends=[Biobase BiocGenerics DBI digest genefilter GenomicRanges IRanges lattice RMySQL Rsamtools]; };
   annotate = derive2 { name="annotate"; version="1.72.0"; sha256="0p7q5hdk7003q72vg4hrgdzn463spybxhrkvcq3a6l6jkgy9sf84"; depends=[AnnotationDbi Biobase BiocGenerics DBI httr XML xtable]; };
   annotationTools = derive2 { name="annotationTools"; version="1.68.0"; sha256="0grdswbf8nj0qwl0n5pqsir9242dry85j6m688j81gwwjgmzidvh"; depends=[Biobase]; };
   annotatr = derive2 { name="annotatr"; version="1.20.0"; sha256="1ha2wn56cdab4p3wdwv4xlqjsgl7sd8phbx71qbclrbdwpq2mi7i"; depends=[AnnotationDbi AnnotationHub dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 IRanges readr regioneR reshape2 rtracklayer S4Vectors]; };
@@ -1082,7 +1082,7 @@ in with self; {
   awst = derive2 { name="awst"; version="1.2.0"; sha256="0qxi4f7ngfsx17q9szhl95bhihcfx36bw4n175zyfdnac6cb9kap"; depends=[SummarizedExperiment]; };
   bacon = derive2 { name="bacon"; version="1.22.0"; sha256="13dhma34j9ggryainn4x6qvd3hphpxks5gf0mysia00r9hhpwwlc"; depends=[BiocParallel ellipse ggplot2]; };
   ballgown = derive2 { name="ballgown"; version="2.26.0"; sha256="0fiky82arvgzgxrm4bqn74m5kngqpdaqf6ks4cr89nlnhfq0v6rf"; depends=[Biobase GenomeInfoDb GenomicRanges IRanges limma RColorBrewer rtracklayer S4Vectors sva]; };
-  bambu = derive2 { name="bambu"; version="2.0.1"; sha256="0bzbaw57syaw2c8d4484dl229brw2d33105ak6krjpl9kd6av9y9"; depends=[BiocGenerics BiocParallel data_table dplyr GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges IRanges Rcpp RcppArmadillo Rsamtools S4Vectors SummarizedExperiment tidyr xgboost]; };
+  bambu = derive2 { name="bambu"; version="2.0.3"; sha256="0yfkmihy8gn55hps2cmldhq26f8lp2ad4iyp601rrmim6s7axwsc"; depends=[BiocGenerics BiocParallel data_table dplyr GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges IRanges Rcpp RcppArmadillo Rsamtools S4Vectors SummarizedExperiment tidyr xgboost]; };
   bamsignals = derive2 { name="bamsignals"; version="1.26.0"; sha256="03m3yaagplh7j4q5hp3cfcdqwsnh1pwrlla9cv3ajnfd83s8ncqv"; depends=[BiocGenerics GenomicRanges IRanges Rcpp Rhtslib zlibbioc]; };
   banocc = derive2 { name="banocc"; version="1.18.0"; sha256="0p5v601j1lkgh9prlvalp3xpqw87xq7ql0bak212443n15pfj3a4"; depends=[coda mvtnorm rstan stringr]; };
   barcodetrackR = derive2 { name="barcodetrackR"; version="1.2.0"; sha256="1z7sj2ykp34g9bf0x0s3qavrprbiaksgk5r4hsakb24jjbi65jnh"; depends=[circlize cowplot dplyr ggdendro ggplot2 ggridges magrittr plyr proxy RColorBrewer rlang S4Vectors scales shiny SummarizedExperiment tibble tidyr vegan viridis]; };
@@ -1114,7 +1114,7 @@ in with self; {
   biodbKegg = derive2 { name="biodbKegg"; version="1.0.0"; sha256="16xmm3ymzd4jf55plahbxi844hpv0hpqq6v2ygcjf6wrs0yy2mhd"; depends=[biodb chk lifecycle R6]; };
   biodbLipidmaps = derive2 { name="biodbLipidmaps"; version="1.0.1"; sha256="14086f88r7mavpzp823mhpi4b9zq8q2kqxlwnmp02i03jj8mjnr8"; depends=[biodb lifecycle R6]; };
   biodbUniprot = derive2 { name="biodbUniprot"; version="1.0.0"; sha256="1aydkqqb8vs5b844ff1j09a7g8rmf7qr6rg2aw8nqshihq510v4d"; depends=[biodb R6]; };
-  biomaRt = derive2 { name="biomaRt"; version="2.50.1"; sha256="1lm8axjmi2k1d2x0gdlvs0fzsd68xvxx7sn1wn6v4wr0pv85qhkz"; depends=[AnnotationDbi BiocFileCache digest httr progress rappdirs stringr XML xml2]; };
+  biomaRt = derive2 { name="biomaRt"; version="2.50.3"; sha256="01mv05fj5iqvjb5xz9k92kx1a9d95mprb6isy57n0x20vd3cxdx1"; depends=[AnnotationDbi BiocFileCache digest httr progress rappdirs stringr XML xml2]; };
   biomformat = derive2 { name="biomformat"; version="1.22.0"; sha256="0xf99j4lhf8kh9h1317hrbzxdv6rljs1fn68r8s40x6y4db3l817"; depends=[jsonlite Matrix plyr rhdf5]; };
   biomvRCNS = derive2 { name="biomvRCNS"; version="1.34.0"; sha256="01nhjhfyzs67p97bk9bjqdxk239ckl8sgfj55azk1zmw92aw2hfy"; depends=[GenomicRanges Gviz IRanges mvtnorm]; };
   biosigner = derive2 { name="biosigner"; version="1.22.0"; sha256="189018qahyw33dmg73wa7k4rp8nzrx6ai8f2dr6vhbpcdc1gnm0z"; depends=[Biobase e1071 MultiDataSet randomForest ropls]; };
@@ -1134,7 +1134,7 @@ in with self; {
   bsseq = derive2 { name="bsseq"; version="1.30.0"; sha256="1i30zf6457a0qd64s89x9l544y1h0hj9rfgf1m8l4krd487a9b9d"; depends=[beachmat Biobase BiocGenerics BiocParallel Biostrings BSgenome data_table DelayedArray DelayedMatrixStats GenomeInfoDb GenomicRanges gtools HDF5Array IRanges limma locfit permute R_utils Rcpp rhdf5 S4Vectors scales SummarizedExperiment]; };
   bugsigdbr = derive2 { name="bugsigdbr"; version="1.0.1"; sha256="1wrk9m4ja129d4al3w286hzg2gjcnq5riaa99q35psqcwm1bp94f"; depends=[BiocFileCache vroom]; };
   bumphunter = derive2 { name="bumphunter"; version="1.36.0"; sha256="0d5cz9xy7vhcaj5n3h4cfiv08sn7wn83458525pdwvdzzm449xgv"; depends=[AnnotationDbi BiocGenerics doRNG foreach GenomeInfoDb GenomicFeatures GenomicRanges IRanges iterators limma locfit matrixStats S4Vectors]; };
-  cBioPortalData = derive2 { name="cBioPortalData"; version="2.6.0"; sha256="0bapc4c9x328l0wrnm6zzq1byf1l33rza8xmadrfqfiq6j56qakq"; depends=[AnVIL BiocFileCache digest dplyr GenomeInfoDb GenomicRanges httr IRanges MultiAssayExperiment RaggedExperiment readr RTCGAToolbox S4Vectors SummarizedExperiment TCGAutils tibble tidyr]; };
+  cBioPortalData = derive2 { name="cBioPortalData"; version="2.6.1"; sha256="1sscczza5a2drm5h8h628nc8ajxx20gr48j2srli8a7c47lzyv6f"; depends=[AnVIL BiocFileCache digest dplyr GenomeInfoDb GenomicRanges httr IRanges MultiAssayExperiment RaggedExperiment readr RTCGAToolbox S4Vectors SummarizedExperiment TCGAutils tibble tidyr]; };
   cTRAP = derive2 { name="cTRAP"; version="1.12.0"; sha256="13q0pyc6vvxl41hg8cz4rdqrq0vppnna5fw2cin58dm2mayhd6p9"; depends=[AnnotationDbi AnnotationHub binr cowplot data_table dplyr DT fastmatch fgsea ggplot2 ggrepel highcharter htmltools httr limma pbapply purrr qs R_utils readxl reshape2 rhdf5 rlang scales shiny shinycssloaders tibble]; };
   caOmicsV = derive2 { name="caOmicsV"; version="1.24.0"; sha256="0snr67g9bqwyvrr1gxmgdjhrybgcpl38dwik583752sgdyf84c6p"; depends=[bc3net igraph]; };
   cageminer = derive2 { name="cageminer"; version="1.0.0"; sha256="140w8ccm5j5kl3gyn6437a2zqlzf5277k3g3c9i22n1jkdp947yn"; depends=[BioNERO GenomeInfoDb GenomicRanges ggbio ggplot2 ggtext IRanges reshape2]; };
@@ -1183,7 +1183,7 @@ in with self; {
   clstutils = derive2 { name="clstutils"; version="1.42.0"; sha256="0zbyppajhkzims3cb631ylfl132a07b1w91kp3ba6hg4f7zxw06q"; depends=[ape clst lattice rjson RSQLite]; };
   clustComp = derive2 { name="clustComp"; version="1.22.0"; sha256="0n1qpjxffx8jm8m3gw891irpzagpi91r46xa6iznsskh8nhmh44y"; depends=[sm]; };
   clusterExperiment = derive2 { name="clusterExperiment"; version="2.14.0"; sha256="0riray1f841d5fx6mbcki5xmqz21kg5q5l0qz4pkgg9c1d9f7mbc"; depends=[ape BiocGenerics BiocSingular cluster DelayedArray edgeR HDF5Array howmany kernlab limma locfdr Matrix matrixStats mbkmeans NMF phylobase pracma RColorBrewer Rcpp S4Vectors scales SingleCellExperiment stringr SummarizedExperiment zinbwave]; };
-  clusterProfiler = derive2 { name="clusterProfiler"; version="4.2.1"; sha256="08jhcbanz24x7zdkxznxz787g0nk3jfzd7zsap13sra7qnwaswq4"; depends=[AnnotationDbi DOSE downloader dplyr enrichplot GO_db GOSemSim magrittr plyr qvalue rlang tidyr yulab_utils]; };
+  clusterProfiler = derive2 { name="clusterProfiler"; version="4.2.2"; sha256="1y8ay3fxvcc7a7yqvfc95jfn800ikvs56j17byyp6v08w2j00y76"; depends=[AnnotationDbi DOSE downloader dplyr enrichplot GO_db GOSemSim magrittr plyr qvalue rlang tidyr yulab_utils]; };
   clusterSeq = derive2 { name="clusterSeq"; version="1.18.0"; sha256="1qyycc8wrik54bc2rvzisv6p05jnh1kf68jafqgw9lqpp5gk40bl"; depends=[baySeq BiocGenerics BiocParallel]; };
   clusterStab = derive2 { name="clusterStab"; version="1.66.0"; sha256="1863jpdwx27snpil38waj3zr0w2m0q7xj8g1zm8c5cbx9as1cwkd"; depends=[Biobase]; };
   clustifyr = derive2 { name="clustifyr"; version="1.6.0"; sha256="1jz6wfv1b585yf6m9f265ig29p5qxilri40lnpry6h0am2s72xr3"; depends=[cowplot dplyr entropy fgsea ggplot2 httr Matrix matrixStats proxy readr rlang S4Vectors scales SingleCellExperiment stringr SummarizedExperiment tibble tidyr]; };
@@ -1217,7 +1217,7 @@ in with self; {
   coseq = derive2 { name="coseq"; version="1.18.0"; sha256="0g3bningjbnjys7ksdxx68lnp7qfg2fwpp2m82s61rpyb06j5v4r"; depends=[BiocParallel capushe compositions corrplot DESeq2 e1071 edgeR ggplot2 HTSCluster HTSFilter mvtnorm Rmixmod S4Vectors scales SummarizedExperiment]; };
   cosmiq = derive2 { name="cosmiq"; version="1.28.0"; sha256="0b0d7d7fdf0rgkrpp92n6k1vkxswm63p1qmqb3b2c0nwpj68ybph"; depends=[faahKO MassSpecWavelet pracma Rcpp xcms]; };
   cosmosR = derive2 { name="cosmosR"; version="1.2.0"; sha256="0y1a3yr23zbyg0b7yl7rbbfn930g72fpw8dz6vcfz73yjj6psxv1"; depends=[AnnotationDbi biomaRt CARNIVAL dorothea dplyr ggplot2 GSEABase igraph magrittr org_Hs_eg_db plyr purrr readr rlang scales stringr tibble visNetwork]; };
-  countsimQC = derive2 { name="countsimQC"; version="1.12.0"; sha256="0ldjav5wsj1shjiyxi0mh3yxhmpwgwfvp9ijml6jii60hnbkrqck"; depends=[caTools DESeq2 dplyr DT edgeR genefilter GenomeInfoDbData ggplot2 randtests rmarkdown SummarizedExperiment tidyr]; };
+  countsimQC = derive2 { name="countsimQC"; version="1.12.1"; sha256="1ayjhbh6dc8grnizgc77460qn24ll3brybp8p7j2wmpc97dhs6kr"; depends=[caTools DESeq2 dplyr DT edgeR genefilter GenomeInfoDbData ggplot2 randtests rmarkdown SummarizedExperiment tidyr]; };
   covEB = derive2 { name="covEB"; version="1.20.0"; sha256="0r0b1hih0wijcpn2xxjq56z185a5ij3l49g6wxbp5kcd7w5apmhp"; depends=[Biobase gsl igraph LaplacesDemon Matrix mvtnorm]; };
   covRNA = derive2 { name="covRNA"; version="1.20.0"; sha256="16d5pdq2zhymxpv1xx66bb8kn037559mbp3lrcmhddy46xb519cv"; depends=[ade4 Biobase genefilter]; };
   cpvSNP = derive2 { name="cpvSNP"; version="1.26.0"; sha256="1z3lzj2izqmy1m8y73za4pfk158rfxbs8janvq776aqzcaa5pf0k"; depends=[BiocParallel corpcor GenomicFeatures ggplot2 GSEABase plyr]; };
@@ -1243,7 +1243,7 @@ in with self; {
   daMA = derive2 { name="daMA"; version="1.66.0"; sha256="0m7192md5956mbklw0j7z0b82inr6h0p2c9vvjsmd5ivlbz1zdri"; depends=[MASS]; };
   dada2 = derive2 { name="dada2"; version="1.22.0"; sha256="1mj2fiqanr8lp1883bali00la38d9g1krqz9v7f396s1f5x8yll6"; depends=[BiocGenerics Biostrings ggplot2 IRanges Rcpp RcppParallel reshape2 ShortRead XVector]; };
   dagLogo = derive2 { name="dagLogo"; version="1.32.0"; sha256="1gqb56zg11cl7ldww15zmn09f1f5i60mshwrv7gsb3yc79zs48s1"; depends=[BiocGenerics biomaRt Biostrings motifStack pheatmap UniProt_ws]; };
-  dasper = derive2 { name="dasper"; version="1.4.0"; sha256="02gfagylbmpylq0cszppyxindiw3swm5n36cnfc9w08jfyisz571"; depends=[basilisk BiocFileCache BiocParallel data_table dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggpubr ggrepel IRanges magrittr megadepth plyranges readr reticulate rtracklayer S4Vectors stringr SummarizedExperiment tidyr]; };
+  dasper = derive2 { name="dasper"; version="1.4.1"; sha256="03k6gw6csllqysx6mcn8h5a2wq01r3pmk6b0jvqr4iwppn8jspry"; depends=[basilisk BiocFileCache BiocParallel data_table dplyr GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggpubr ggrepel IRanges magrittr megadepth plyranges readr reticulate rtracklayer S4Vectors stringr SummarizedExperiment tidyr]; };
   dcGSA = derive2 { name="dcGSA"; version="1.22.0"; sha256="0j697q02zys9brmc7xn1yh7lir7k1m7hlr752ykydqx9qzzw0m77"; depends=[BiocParallel Matrix]; };
   dcanr = derive2 { name="dcanr"; version="1.10.0"; sha256="0xrfdwcs4qxgasm318nd2cdqmr9ksaxig1frs8h6a7lg8wvh5f2x"; depends=[circlize doRNG foreach igraph Matrix plyr RColorBrewer reshape2 stringr]; };
   dce = derive2 { name="dce"; version="1.2.0"; sha256="0wzi9hv975ib7nvd6qqnlhzfzgx9wydxxs1pkklzzgwlwm4gr971"; depends=[assertthat CombinePValue dplyr edgeR epiNEM expm ggplot2 ggraph glm2 glue graph graphite harmonicmeanp igraph logger MASS Matrix metap mnem naturalsort org_Hs_eg_db pcalg ppcor purrr reshape2 Rgraphviz rlang tidygraph tidyverse]; };
@@ -1264,7 +1264,7 @@ in with self; {
   derfinder = derive2 { name="derfinder"; version="1.28.0"; sha256="1hxf40ijrlmyrv3rprv5wx3am2vraplbsfg77kk9qd3gjq6q3ylp"; depends=[AnnotationDbi BiocGenerics BiocParallel bumphunter derfinderHelper GenomeInfoDb GenomicAlignments GenomicFeatures GenomicFiles GenomicRanges Hmisc IRanges qvalue Rsamtools rtracklayer S4Vectors]; };
   derfinderHelper = derive2 { name="derfinderHelper"; version="1.28.0"; sha256="06x0wy2wzpngak1pnrj2p0xzlx1nbcz0hs3p9q5ic6ib2rgwrh35"; depends=[IRanges Matrix S4Vectors]; };
   derfinderPlot = derive2 { name="derfinderPlot"; version="1.28.1"; sha256="021w4vb8al3gc6rsc6qgywd5wxmysf2jif7cazxl4xhh37g1anni"; depends=[derfinder GenomeInfoDb GenomicFeatures GenomicRanges ggbio ggplot2 IRanges limma plyr RColorBrewer reshape2 S4Vectors scales]; };
-  destiny = derive2 { name="destiny"; version="3.8.0"; sha256="01662p5j9l12ylf5a5djg4cjppd2n3chrygzw8nnrcf1806xn58y"; depends=[Biobase BiocGenerics ggplot_multistats ggplot2 ggthemes irlba knn_covertree Matrix pcaMethods proxy Rcpp RcppEigen RcppHNSW RSpectra scales scatterplot3d SingleCellExperiment smoother SummarizedExperiment tidyr tidyselect VIM]; };
+  destiny = derive2 { name="destiny"; version="3.8.1"; sha256="1f2mp2sxbf1zi61npj5rl5pl7z30rkj5953521iiv0w99mdfwhsc"; depends=[Biobase BiocGenerics ggplot_multistats ggplot2 ggthemes irlba knn_covertree Matrix pcaMethods proxy Rcpp RcppEigen RcppHNSW RSpectra scales scatterplot3d SingleCellExperiment smoother SummarizedExperiment tidyr tidyselect VIM]; };
   diffGeneAnalysis = derive2 { name="diffGeneAnalysis"; version="1.76.0"; sha256="1aprngqc2aqdw91q9c57y15xpkm4da4czf8ki55vnyngb9nlpabp"; depends=[minpack_lm]; };
   diffHic = derive2 { name="diffHic"; version="1.26.0"; sha256="0xhm6jgalgb2v8k99k1z99rwhcaqjhhklm5ih8b6ayfmgmf6x7ih"; depends=[BiocGenerics Biostrings BSgenome csaw edgeR GenomeInfoDb GenomicRanges InteractionSet IRanges limma locfit Rcpp rhdf5 Rhtslib Rsamtools rtracklayer S4Vectors SummarizedExperiment zlibbioc]; };
   diffUTR = derive2 { name="diffUTR"; version="1.2.0"; sha256="0lmsbaaqzzvk25bxjb8ngvx0l5aqsmk7nng5kv4nghm7y7ipp1gf"; depends=[ComplexHeatmap DEXSeq dplyr edgeR ensembldb GenomeInfoDb GenomicRanges ggplot2 ggrepel IRanges limma matrixStats Rsubread rtracklayer S4Vectors stringi SummarizedExperiment viridisLite]; };
@@ -1301,12 +1301,12 @@ in with self; {
   enrichTF = derive2 { name="enrichTF"; version="1.10.0"; sha256="0ssjsl5vh0wdq0584yl6c61d8bp5n3qvkgfrqdlpjfwb7b7gh4xv"; depends=[BiocGenerics BSgenome clusterProfiler GenomeInfoDb GenomicRanges ggplot2 ggpubr heatmap3 IRanges JASPAR2018 magrittr motifmatchr pipeFrame R_utils rmarkdown rtracklayer S4Vectors TFBSTools]; };
   enrichplot = derive2 { name="enrichplot"; version="1.14.1"; sha256="0nsx96mkcg0hhg3x8jndzq3xvq9bq7m4yf1b3ry73b17ladx81ch"; depends=[aplot DOSE ggplot2 ggraph ggtree GOSemSim igraph magrittr plyr purrr RColorBrewer reshape2 scatterpie shadowtext yulab_utils]; };
   ensemblVEP = derive2 { name="ensemblVEP"; version="1.36.0"; sha256="1b9i8qv16mrr31qpvvcimcd80nkykky8dygi90jinkzgvkzdxi64"; depends=[BiocGenerics Biostrings GenomeInfoDb GenomicRanges S4Vectors SummarizedExperiment VariantAnnotation]; };
-  ensembldb = derive2 { name="ensembldb"; version="2.18.2"; sha256="0q56gv0isa9ayw505py7i7x65pvcshmd2j1mna1wpbk66wqj4qzx"; depends=[AnnotationDbi AnnotationFilter Biobase BiocGenerics Biostrings curl DBI GenomeInfoDb GenomicFeatures GenomicRanges IRanges ProtGenerics Rsamtools RSQLite rtracklayer S4Vectors]; };
+  ensembldb = derive2 { name="ensembldb"; version="2.18.3"; sha256="0rbd8ycvl1aydbd8xcbkhgqxqkrflymgah3wm6nx76csapbzh4q9"; depends=[AnnotationDbi AnnotationFilter Biobase BiocGenerics Biostrings curl DBI GenomeInfoDb GenomicFeatures GenomicRanges IRanges ProtGenerics Rsamtools RSQLite rtracklayer S4Vectors]; };
   epiNEM = derive2 { name="epiNEM"; version="1.18.0"; sha256="0xs9jzy0d9iv45d5ina7ki79wix96318yp17mxhp1l4vdkpm3fk7"; depends=[BoolNet e1071 graph gtools igraph latex2exp lattice latticeExtra minet mnem pcalg RColorBrewer]; };
   epialleleR = derive2 { name="epialleleR"; version="1.2.0"; sha256="1zgwwzrg9ngsfq186qsmvgwxcz0b9avr8wk1yadjlrjc9avgh2d3"; depends=[BH BiocGenerics data_table GenomeInfoDb GenomicRanges Rcpp Rhtslib stringi SummarizedExperiment VariantAnnotation zlibbioc]; };
   epidecodeR = derive2 { name="epidecodeR"; version="1.2.0"; sha256="1fy3i7djpj2inlcpa2h4n5hzp0q6a555sc5axg1jwxiala9l8siv"; depends=[dplyr EnvStats GenomicRanges ggplot2 ggpubr IRanges rstatix rtracklayer]; };
   epigenomix = derive2 { name="epigenomix"; version="1.34.0"; sha256="0yyxm97cqyy9r6bxsw40dl8nh2f1lxw41w3i3av8lixp72wxy3ml"; depends=[beadarray Biobase BiocGenerics GenomeInfoDb GenomicRanges IRanges MCMCpack Rsamtools S4Vectors SummarizedExperiment]; };
-  epigraHMM = derive2 { name="epigraHMM"; version="1.2.1"; sha256="1cxj50wfvgcajxgnhk3gpdhql6z6jbmdaarw09ls0wvnga9sn24p"; depends=[bamsignals csaw data_table GenomeInfoDb GenomicRanges ggplot2 ggpubr GreyListChIP IRanges limma magrittr MASS Matrix pheatmap Rcpp RcppArmadillo rhdf5 Rhdf5lib Rsamtools rtracklayer S4Vectors scales SummarizedExperiment]; };
+  epigraHMM = derive2 { name="epigraHMM"; version="1.2.2"; sha256="0cymyvhcv9msrkbh0sp3wr02924arrls3id9563givkrzl48gab3"; depends=[bamsignals csaw data_table GenomeInfoDb GenomicRanges ggplot2 ggpubr GreyListChIP IRanges limma magrittr MASS Matrix pheatmap Rcpp RcppArmadillo rhdf5 Rhdf5lib Rsamtools rtracklayer S4Vectors scales SummarizedExperiment]; };
   epihet = derive2 { name="epihet"; version="1.10.0"; sha256="086x87yzjmg0l95kd0mdxysqgdj7bmc4mr95h6mkyv70nsdfyfs4"; depends=[data_table doParallel EntropyExplorer foreach GenomicRanges ggplot2 igraph IRanges pheatmap qvalue ReactomePA Rtsne S4Vectors WGCNA]; };
   epistack = derive2 { name="epistack"; version="1.0.0"; sha256="0g5v30v7afx5wppg1fxpqba0inn6k25ljy7x3fim6vcwdhdnl95n"; depends=[BiocGenerics GenomicRanges IRanges plotrix S4Vectors viridisLite]; };
   epivizr = derive2 { name="epivizr"; version="2.24.0"; sha256="1xxs34580gm2l222qf9m63id8282n2vg41s8ng6mrrd239pxpv2f"; depends=[bumphunter epivizrData epivizrServer GenomeInfoDb GenomicRanges IRanges S4Vectors]; };
@@ -1450,7 +1450,7 @@ in with self; {
   hierGWAS = derive2 { name="hierGWAS"; version="1.24.0"; sha256="1mxlk73p4vhnhs5yv5fbxdz3i8d425535r0zwinpi1jhshimr1mw"; depends=[fastcluster fmsb glmnet]; };
   hierinf = derive2 { name="hierinf"; version="1.12.0"; sha256="1qmpxajvclk3m7yl6h5hp4yixgf1v5whiaqh8k7z8g9kz148hi45"; depends=[fmsb glmnet]; };
   hipathia = derive2 { name="hipathia"; version="2.10.0"; sha256="1w14rgl96xssijjgzqdjjs15p33nrqg2wnvv70z5k2i7xzrjwfff"; depends=[AnnotationHub coin DelayedArray igraph limma matrixStats MultiAssayExperiment preprocessCore S4Vectors servr SummarizedExperiment]; };
-  hmdbQuery = derive2 { name="hmdbQuery"; version="1.14.0"; sha256="07xvfxpajwchi570739a2ax25bam852q1ifa8w5a02zb32rfbb6l"; depends=[S4Vectors XML]; };
+  hmdbQuery = derive2 { name="hmdbQuery"; version="1.14.2"; sha256="0q741bwana06i4l07h1ckkfkhmhxqshkq94brd1ym6kvayaqrxb5"; depends=[S4Vectors XML]; };
   hopach = derive2 { name="hopach"; version="2.54.0"; sha256="1mj8glhsxkhfbj8mlghplz1dghdr7041r48njzzprx06x94aandi"; depends=[Biobase BiocGenerics cluster]; };
   hpar = derive2 { name="hpar"; version="1.36.0"; sha256="1inajapdhjxg0vwhsdnhfq22h3fv7ad7m1lv58y5v41p59av1w76"; depends=[]; };
   hummingbird = derive2 { name="hummingbird"; version="1.4.0"; sha256="1cp3agr0nzsqgs4s253vwdbzw5fkjdkas03svy8iwlzncgd000j5"; depends=[GenomicRanges IRanges Rcpp SummarizedExperiment]; };
@@ -1481,7 +1481,7 @@ in with self; {
   idr2d = derive2 { name="idr2d"; version="1.8.1"; sha256="1cbzyf9nwqgqvz03526v3hxgkrrpfs4m8ajw186cxa4h6kdm232x"; depends=[dplyr futile_logger GenomeInfoDb GenomicRanges ggplot2 idr IRanges magrittr reticulate scales stringr]; };
   igvR = derive2 { name="igvR"; version="1.14.0"; sha256="0i55zx2y92cl22d4x4h4gjdaknyxidsxqz22fpgyfd5abryx5ni3"; depends=[BiocGenerics BrowserViz GenomicAlignments GenomicRanges httpuv MotifDb RColorBrewer rtracklayer seqLogo VariantAnnotation]; };
   illuminaio = derive2 { name="illuminaio"; version="0.36.0"; sha256="0icsp610am5vrd8x2h9c450phn4vl9c5wnzqmkix5hkqzrykk34m"; depends=[base64]; };
-  imageHTS = derive2 { name="imageHTS"; version="1.44.0"; sha256="1dg4p6qdhyhqdnpf3gaa1nlnw7d01yxhbhsbaiqnw9q9aprgi8hk"; depends=[Biobase cellHTS2 e1071 EBImage hwriter vsn]; };
+  imageHTS = derive2 { name="imageHTS"; version="1.44.1"; sha256="0m64d9csya84s2vsbmkflys03a27z8r9pa6mdd28aqaqwv0ww9dr"; depends=[Biobase cellHTS2 e1071 EBImage hwriter vsn]; };
   imcRtools = derive2 { name="imcRtools"; version="1.0.2"; sha256="05xw15d0sbjnrb8ffnajzz4wd1fygn3092za9y9sz3pcmkzbmhkf"; depends=[abind BiocNeighbors BiocParallel concaveman cytomapper data_table dplyr DT EBImage ggplot2 ggraph igraph magrittr pheatmap readr RTriangle S4Vectors scuttle sf SingleCellExperiment SpatialExperiment stringr SummarizedExperiment tidygraph viridis vroom]; };
   immunoClust = derive2 { name="immunoClust"; version="1.26.0"; sha256="0vqn8455spray252b6kg771mwz4b6f51d4k7srg2i3rn7kyp7r38"; depends=[flowCore lattice]; };
   immunotation = derive2 { name="immunotation"; version="1.2.0"; sha256="1rdmy46grqjf8ydgq0pgaja3jv4jna0yffw7fmiirfh96m2qvb00"; depends=[curl ggplot2 maps ontologyIndex readr rlang rvest stringr tidyr xml2]; };
@@ -1501,8 +1501,8 @@ in with self; {
   iterativeBMAsurv = derive2 { name="iterativeBMAsurv"; version="1.52.0"; sha256="0jrjyrg2kfmgiybwdglrbfvfziy8i6jnkzb2ddr8z0670bmv8wxw"; depends=[BMA leaps survival]; };
   iteremoval = derive2 { name="iteremoval"; version="1.14.0"; sha256="15ls501y27lc9iyvz9fmk8w09512bg7cxl763amck1f6r3qnm8hl"; depends=[GenomicRanges ggplot2 magrittr SummarizedExperiment]; };
   ivygapSE = derive2 { name="ivygapSE"; version="1.16.0"; sha256="1a35z2ndvdqj84g5327cpz3s6aqn953ycwgglcqxpaabf2jh18sq"; depends=[ggplot2 hwriter plotly S4Vectors shiny SummarizedExperiment survival survminer UpSetR]; };
-  karyoploteR = derive2 { name="karyoploteR"; version="1.20.0"; sha256="0x3mld9q55r2fy452wxq5sjzmms10zmpkzs71c3w1fdli5hwszdq"; depends=[AnnotationDbi bamsignals bezier biovizBase digest GenomeInfoDb GenomicFeatures GenomicRanges IRanges memoise regioneR Rsamtools rtracklayer S4Vectors VariantAnnotation]; };
-  kebabs = derive2 { name="kebabs"; version="1.28.0"; sha256="0454drbsl9fz0s7k00qd56wj0lwvwmyzn4nlsww7nfgszw95ac4q"; depends=[apcluster Biostrings e1071 IRanges kernlab LiblineaR Matrix Rcpp S4Vectors XVector]; };
+  karyoploteR = derive2 { name="karyoploteR"; version="1.20.3"; sha256="0bcc1ln7602lrbm9wckgyfd9slsqiljjmymj28rfpax1n8rbq44m"; depends=[AnnotationDbi bamsignals bezier biovizBase digest GenomeInfoDb GenomicFeatures GenomicRanges IRanges memoise regioneR Rsamtools rtracklayer S4Vectors VariantAnnotation]; };
+  kebabs = derive2 { name="kebabs"; version="1.28.1"; sha256="19i62ga793vza60bzq0hpr5y85vrrcsmjckyyasjzfipn3nwf98f"; depends=[apcluster Biostrings e1071 IRanges kernlab LiblineaR Matrix Rcpp S4Vectors XVector]; };
   keggorthology = derive2 { name="keggorthology"; version="2.46.0"; sha256="1rckw5yg9swf86cmh4nmrzb37w8m023c7q0pis1nqbcx9lgdgiw5"; depends=[AnnotationDbi DBI graph hgu95av2_db]; };
   kissDE = derive2 { name="kissDE"; version="1.14.0"; sha256="1k6aljlhj3k06a95imnna1jmx1xwvnbc72sbp2jqn2hc69pkyi2j"; depends=[aod Biobase DESeq2 doParallel DSS foreach ggplot2 gplots matrixStats]; };
   lapmix = derive2 { name="lapmix"; version="1.60.0"; sha256="17niykbr8c388qbvjix2hc3zmpa5335bhmwsvnna4qa9v9fi9ln2"; depends=[Biobase]; };
@@ -1549,7 +1549,7 @@ in with self; {
   mdp = derive2 { name="mdp"; version="1.14.0"; sha256="0q721w901pxyjygz63d7a39h762ngqk8dqhn0grad82n90bywx0m"; depends=[ggplot2 gridExtra]; };
   mdqc = derive2 { name="mdqc"; version="1.56.0"; sha256="06yvmgn8qhh1lmm338sdp50jfw7v148sn2mwmcps3l56vh4bci74"; depends=[cluster MASS]; };
   megadepth = derive2 { name="megadepth"; version="1.4.0"; sha256="0mg7n3990qv65rg624473ssccka0yjpgc20glrdc5saci891j44r"; depends=[cmdfun dplyr fs GenomicRanges magrittr readr xfun]; };
-  memes = derive2 { name="memes"; version="1.2.4"; sha256="1bdgxhy2w5yg3j41zrc7mcrgi5plc9dxg7w40skh8kdpa5s3dvmz"; depends=[Biostrings cmdfun dplyr GenomicRanges ggplot2 ggseqlogo magrittr matrixStats patchwork processx purrr readr rlang tibble tidyr universalmotif usethis xml2]; };
+  memes = derive2 { name="memes"; version="1.2.5"; sha256="1524h2qq8ymy1vdqpja1yjn0wj07aawfiwjgc4lmclpjbkn57yhg"; depends=[Biostrings cmdfun dplyr GenomicRanges ggplot2 ggseqlogo magrittr matrixStats patchwork processx purrr readr rlang tibble tidyr universalmotif usethis xml2]; };
   meshes = derive2 { name="meshes"; version="1.20.0"; sha256="1mwdrpqj7vphb30ii958hglzr0h4z7nv99v5sqvgjql76m8z0hcg"; depends=[AnnotationDbi AnnotationHub DOSE enrichplot GOSemSim MeSHDbi yulab_utils]; };
   meshr = derive2 { name="meshr"; version="2.0.2"; sha256="030wxk7aj6d5wkfmzdji4dharmwhh9hx6rgy0igjb4lp4ih6wram"; depends=[BiocGenerics BiocStyle Category fdrtool knitr markdown MeSHDbi rmarkdown RSQLite S4Vectors]; };
   messina = derive2 { name="messina"; version="1.30.0"; sha256="1k00l4qq5jn6lkna7ch9dyycrgfs446hajwki836hm1bvdfsz2q9"; depends=[foreach ggplot2 plyr Rcpp survival]; };
@@ -1620,7 +1620,7 @@ in with self; {
   monaLisa = derive2 { name="monaLisa"; version="1.0.0"; sha256="0idfq3l3sxx2gxcksvvk6ayyv2zb9hb5bls6dkincv7mraa20max"; depends=[BiocGenerics BiocParallel Biostrings BSgenome circlize ComplexHeatmap GenomeInfoDb GenomicRanges glmnet IRanges S4Vectors stabs SummarizedExperiment TFBSTools vioplot XVector]; };
   monocle = derive2 { name="monocle"; version="2.22.0"; sha256="0wb2c1jf502lrfx3d0amb09fvhalrwxvpsp99jsab162v4hddg85"; depends=[Biobase BiocGenerics biocViews cluster combinat DDRTree densityClust dplyr fastICA ggplot2 HSMMSingleCell igraph irlba limma MASS Matrix matrixStats pheatmap plyr proxy qlcMatrix RANN Rcpp reshape2 Rtsne slam stringr tibble VGAM viridis]; };
   mosaics = derive2 { name="mosaics"; version="2.32.0"; sha256="09qz4xl9xhzidw0w41bp0adkbhnasa309yn8rdi9nsfpswhaiysb"; depends=[GenomeInfoDb GenomicAlignments GenomicRanges IRanges lattice MASS Rcpp Rsamtools S4Vectors]; };
-  mosbi = derive2 { name="mosbi"; version="1.0.1"; sha256="1sazkkwm95j6yrnmin22dh0ir08d6l3i85imqzlvyf1qigqgyk2d"; depends=[akmbiclust BH biclust fabia igraph isa2 QUBIC RColorBrewer Rcpp RcppParallel xml2]; };
+  mosbi = derive2 { name="mosbi"; version="1.0.3"; sha256="1l3zvc2pwd0z37v28fabrxnzfq53fmg58p3jhwb6mzi8rdmq6vak"; depends=[akmbiclust BH biclust fabia igraph isa2 QUBIC RColorBrewer Rcpp RcppParallel xml2]; };
   motifStack = derive2 { name="motifStack"; version="1.38.0"; sha256="1ck6bbnrab8mbf70alfdsrcv6lq0fkvcy3klhcwyxxir7r9sgbaz"; depends=[ade4 Biostrings ggplot2 htmlwidgets XML]; };
   motifbreakR = derive2 { name="motifbreakR"; version="2.8.0"; sha256="0lrgy64sv2ma6kylp4lsbwkg6ci1kn6qkk0cvzw3m4k3bgia1npj"; depends=[BiocGenerics BiocParallel Biostrings BSgenome GenomeInfoDb GenomicRanges grImport Gviz IRanges matrixStats MotifDb motifStack rtracklayer S4Vectors stringr SummarizedExperiment TFMPvalue VariantAnnotation]; };
   motifcounter = derive2 { name="motifcounter"; version="1.18.0"; sha256="17yhhg423yjhaix9x2w2484l22vj6ra086ymzdfhygnjz5vanpmd"; depends=[Biostrings]; };
@@ -1643,7 +1643,7 @@ in with self; {
   multiscan = derive2 { name="multiscan"; version="1.54.0"; sha256="0qjh302hpld7zdrfqkbx8a5hrp3bwfn539pv36mwizjigjznnsi9"; depends=[Biobase]; };
   multtest = derive2 { name="multtest"; version="2.50.0"; sha256="03z71r7g318nwwgiz0k8qwbhghw1hhdhh1an4qnb0nc62c5x9kns"; depends=[Biobase BiocGenerics MASS survival]; };
   mumosa = derive2 { name="mumosa"; version="1.2.0"; sha256="093mzbkx7sf5gg5qcvyzgkfzzdpjm8pd6hb7dwavcjxf90y14l1h"; depends=[batchelor beachmat BiocGenerics BiocNeighbors BiocParallel BiocSingular DelayedArray DelayedMatrixStats igraph IRanges Matrix metapod S4Vectors ScaledMatrix scran scuttle SingleCellExperiment SummarizedExperiment uwot]; };
-  muscat = derive2 { name="muscat"; version="1.8.0"; sha256="0m5i1sqi3nzxlja9nvz9msmic9mf8y9s6f60c9b2mgbfp2kyf55w"; depends=[BiocParallel blme ComplexHeatmap data_table DESeq2 dplyr edgeR ggplot2 glmmTMB limma lme4 lmerTest Matrix matrixStats progress purrr S4Vectors scales scater sctransform scuttle SingleCellExperiment SummarizedExperiment variancePartition viridis]; };
+  muscat = derive2 { name="muscat"; version="1.8.1"; sha256="0dpzid0zxcyb395yaz4gbgqlv7ngfxw1i5rfybp6cf37cfrk4m70"; depends=[BiocParallel blme ComplexHeatmap data_table DESeq2 dplyr edgeR ggplot2 glmmTMB limma lme4 lmerTest Matrix matrixStats progress purrr S4Vectors scales scater sctransform scuttle SingleCellExperiment SummarizedExperiment variancePartition viridis]; };
   muscle = derive2 { name="muscle"; version="3.36.0"; sha256="0a081ay0360h0r9731d145prdg15d1g96s7zzcn411qa8fwg7rv0"; depends=[Biostrings]; };
   musicatk = derive2 { name="musicatk"; version="1.4.0"; sha256="168578fg6gmg48gwd6944ln30g75nyq16yzyjw175yanj09g9qfs"; depends=[Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 BSgenome_Hsapiens_UCSC_hg38 BSgenome_Mmusculus_UCSC_mm10 BSgenome_Mmusculus_UCSC_mm9 cluster ComplexHeatmap cowplot data_table decompTumor2Sig deconstructSigs dplyr factoextra GenomeInfoDb GenomicFeatures GenomicRanges ggplot2 ggrepel gridExtra gtools IRanges maftools magrittr MASS matrixTests MCMCprecision NMF philentropy plotly rlang S4Vectors shiny shinyalert shinyBS shinybusy shinydashboard shinyjqui shinyjs sortable stringi stringr SummarizedExperiment TCGAbiolinks tibble tidyr topicmodels TxDb_Hsapiens_UCSC_hg19_knownGene TxDb_Hsapiens_UCSC_hg38_knownGene uwot VariantAnnotation withr]; };
   mygene = derive2 { name="mygene"; version="1.30.0"; sha256="1s9hlcj9g2a3q2aa3ahjk3j2ksk4v9mpax1cxm739gywaf4sbknp"; depends=[GenomicFeatures Hmisc httr jsonlite plyr S4Vectors sqldf]; };
@@ -1731,7 +1731,7 @@ in with self; {
   phemd = derive2 { name="phemd"; version="1.9.0"; sha256="0hqivlc9hzcfcprng1499nas84fwvgisg8976vsjciyn903355jr"; depends=[Biobase BiocGenerics cluster cowplot destiny ggplot2 igraph maptree monocle phateR pheatmap pracma RANN RColorBrewer reticulate Rtsne S4Vectors scatterplot3d Seurat SingleCellExperiment SummarizedExperiment transport VGAM]; };
   phenoTest = derive2 { name="phenoTest"; version="1.42.0"; sha256="0ci44hwicvz32sgv6mywawyygd1wzz2bayx6rshwvpmz1mixncq6"; depends=[annotate AnnotationDbi Biobase biomaRt BMA Category ellipse genefilter ggplot2 gplots GSEABase Heatplus hgu133a_db Hmisc hopach limma mgcv survival xtable]; };
   phenopath = derive2 { name="phenopath"; version="1.18.0"; sha256="1c0cxm3cwxprjkkwimzgjz0h67dykx2jy7jin13h7vzpwwvphh2p"; depends=[dplyr ggplot2 Rcpp SummarizedExperiment tibble tidyr]; };
-  philr = derive2 { name="philr"; version="1.20.0"; sha256="0dndab3wsj9mvgjpkmazd55w72cjh5xwjqs0xzjbfmkx7786rk09"; depends=[ape ggplot2 ggtree phangorn tidyr]; };
+  philr = derive2 { name="philr"; version="1.20.1"; sha256="1ra7wnnn0blxvxvsa570cf6jiqd9fh0ki90j2vbckrzh33z6plyv"; depends=[ape ggplot2 ggtree phangorn tidyr]; };
   phosphonormalizer = derive2 { name="phosphonormalizer"; version="1.18.0"; sha256="0qbls06h7fkqsg8yhnc8dmbqhkgxxxa29j3h7cwxdq4nvg66frjl"; depends=[matrixStats plyr]; };
   phyloseq = derive2 { name="phyloseq"; version="1.38.0"; sha256="0k0aj8f7g1vr7l0qcc507b3w67zc1k9x7sdblm7mjb20zqr3916s"; depends=[ade4 ape Biobase BiocGenerics biomformat Biostrings cluster data_table foreach ggplot2 igraph multtest plyr reshape2 scales vegan]; };
   piano = derive2 { name="piano"; version="2.10.0"; sha256="13nnysbr2ljh0r303aja797bjxppksc6ac0qms8qy8nkn155gcw3"; depends=[Biobase BiocGenerics DT fgsea gplots htmlwidgets igraph marray relations scales shiny shinydashboard shinyjs visNetwork]; };
@@ -1744,7 +1744,7 @@ in with self; {
   plgem = derive2 { name="plgem"; version="1.66.0"; sha256="06w8xlw4j1fc9ipdgw55dvhp07f04icmhr20lqzwwhqd5pskrra3"; depends=[Biobase MASS]; };
   plier = derive2 { name="plier"; version="1.64.0"; sha256="1sw89kici1h2xfg7zvrfdm7b7iw5n3mzwhyz82676w2vk0lgkpn4"; depends=[affy Biobase]; };
   plotGrouper = derive2 { name="plotGrouper"; version="1.12.0"; sha256="191grbs8sy8jfxz9a6vsp9qf3zaqppp23fcl5qdrmfzims9krhlw"; depends=[colourpicker dplyr egg ggplot2 ggpubr gridExtra gtable Hmisc magrittr readr readxl rlang scales shiny shinythemes stringr tibble tidyr]; };
-  plotgardener = derive2 { name="plotgardener"; version="1.0.9"; sha256="0xv1ygbk0hv57jqfjbya85wjilyang8hbfh3fv1zpy143khmy8di"; depends=[curl data_table dplyr ggplotify plyranges purrr RColorBrewer Rcpp rlang strawr]; };
+  plotgardener = derive2 { name="plotgardener"; version="1.0.12"; sha256="0rayzw2bkkkv3rvgsdv8zmm3j9vflasf8wdrf4yz5hacshr3ng7i"; depends=[curl data_table dplyr ggplotify IRanges plyranges purrr RColorBrewer Rcpp rlang strawr]; };
   plyranges = derive2 { name="plyranges"; version="1.14.0"; sha256="1s4zyr57x71v9ywdz6s27z158nhazwhmhkx3944l8zsqd5ciwnnc"; depends=[BiocGenerics dplyr GenomeInfoDb GenomicAlignments GenomicRanges IRanges magrittr rlang Rsamtools rtracklayer S4Vectors tidyselect]; };
   pmm = derive2 { name="pmm"; version="1.26.0"; sha256="0vmkpqxf0lfgkbmyvham128201d33dv3wf9g31nrlwnxd0jcxszn"; depends=[lme4]; };
   pmp = derive2 { name="pmp"; version="1.6.0"; sha256="15yggymqh329f2ibhmg9wmh76hbyn0gpz9k1cxzkvh787lss1w72"; depends=[ggplot2 impute matrixStats missForest pcaMethods reshape2 S4Vectors SummarizedExperiment]; };
@@ -1772,7 +1772,7 @@ in with self; {
   progeny = derive2 { name="progeny"; version="1.16.0"; sha256="0zhr5i5v87akzqjb6wid67nhg2icrw6w0awdy87x848c6c1i6j9y"; depends=[Biobase dplyr ggplot2 ggrepel gridExtra tidyr]; };
   projectR = derive2 { name="projectR"; version="1.10.0"; sha256="1ny6fdjqc4smd2b7s5zknm0m8mi1wrapcbzlj4n8d1mhd1xxms0d"; depends=[cluster CoGAPS dplyr ggalluvial ggplot2 limma NMF RColorBrewer reshape2 ROCR scales viridis]; };
   proteinProfiles = derive2 { name="proteinProfiles"; version="1.34.0"; sha256="049q579x3m1sw0l5n22ldsrdkmcx61j8jlabq8kydwdhr6d9mbli"; depends=[]; };
-  psichomics = derive2 { name="psichomics"; version="1.20.0"; sha256="158a9v201z1ad3fm572nz57l8czs8d5nhk9ig162cl1mpfhfrh35"; depends=[AnnotationDbi AnnotationHub BiocFileCache cluster colourpicker data_table digest dplyr DT edgeR fastICA fastmatch ggplot2 ggrepel highcharter htmltools httr jsonlite limma pairsD3 plyr purrr R_utils Rcpp recount reshape2 Rfast shiny shinyBS shinyjs stringr SummarizedExperiment survival XML xtable]; };
+  psichomics = derive2 { name="psichomics"; version="1.20.1"; sha256="1ycsazxm3ghjwawsxjyk5jm1m7nrk03y77x1lfzyqy87s1vzfy9i"; depends=[AnnotationDbi AnnotationHub BiocFileCache cluster colourpicker data_table digest dplyr DT edgeR fastICA fastmatch ggplot2 ggrepel highcharter htmltools httr jsonlite limma pairsD3 plyr purrr R_utils Rcpp recount reshape2 Rfast shiny shinyBS shinyjs stringr SummarizedExperiment survival XML xtable]; };
   psygenet2r = derive2 { name="psygenet2r"; version="1.26.0"; sha256="1fs2ljshqfyq4hnlm882fc0vd7x4sif5k3qlliqbxai6k5sdh3li"; depends=[BgeeDB Biobase biomaRt ggplot2 GO_db igraph labeling RCurl reshape2 stringr topGO]; };
   ptairMS = derive2 { name="ptairMS"; version="1.2.0"; sha256="1y6wpg85058migpgyankns5v84jv4fk8n7raxxfryn85bqsn0ida"; depends=[Biobase bit64 chron data_table doParallel DT enviPat foreach ggplot2 ggpubr gridExtra Hmisc minpack_lm MSnbase plotly Rcpp rhdf5 rlang scales shiny shinyscreenshot signal]; };
   pulsedSilac = derive2 { name="pulsedSilac"; version="1.8.0"; sha256="0k2rq76bxg9cq6vjvwwx51hph6s0z1xmka62x6hv19qwakc64qnn"; depends=[cowplot ggplot2 ggridges MuMIn R_utils robustbase S4Vectors SummarizedExperiment taRifx UpSetR]; };
@@ -1824,7 +1824,7 @@ in with self; {
   recountmethylation = derive2 { name="recountmethylation"; version="1.4.0"; sha256="14b06842a97q9cggz6l7kfrlal1kaiq49j2f8sql4b2p6qdh4dpn"; depends=[BiocFileCache HDF5Array minfi R_utils RCurl rhdf5 S4Vectors]; };
   recoup = derive2 { name="recoup"; version="1.22.0"; sha256="00qxkjjb4bx6vak50jjpl2l9y7myri9x7m17h01j2v2cncg48s55"; depends=[BiocGenerics biomaRt Biostrings circlize ComplexHeatmap GenomeInfoDb GenomicAlignments GenomicFeatures GenomicRanges ggplot2 httr IRanges Rsamtools RSQLite rtracklayer S4Vectors stringr]; };
   regionReport = derive2 { name="regionReport"; version="1.28.1"; sha256="03d7nbfsk55mrlhzzr81mx3ndswkfj7fajyh1yz4jakjdclvzlxm"; depends=[BiocStyle DEFormats derfinder DESeq2 GenomeInfoDb GenomicRanges knitr knitrBootstrap RefManageR rmarkdown S4Vectors SummarizedExperiment]; };
-  regioneR = derive2 { name="regioneR"; version="1.26.0"; sha256="0y1mawzfvxrympc47q3isk96sl9d1bc8kdsxpm8rnhqg5bmgwya6"; depends=[Biostrings BSgenome GenomeInfoDb GenomicRanges IRanges memoise rtracklayer S4Vectors]; };
+  regioneR = derive2 { name="regioneR"; version="1.26.1"; sha256="0k500fdmv5l0v7b9pj73bjk3h9k261mfqi6vl52khlw0fafn9b6p"; depends=[Biostrings BSgenome GenomeInfoDb GenomicRanges IRanges memoise rtracklayer S4Vectors]; };
   regsplice = derive2 { name="regsplice"; version="1.20.0"; sha256="1vm1vvi5gfw5ssyi0qng3jmanvyl2mx08w9bi5990pj0j6ycc70y"; depends=[edgeR glmnet limma pbapply S4Vectors SummarizedExperiment]; };
   regutools = derive2 { name="regutools"; version="1.6.0"; sha256="03gjlpn1pk2xkcbg4i1az505nq2gi6ajplq3asbg1fl9p2dbw8kh"; depends=[AnnotationDbi AnnotationHub BiocFileCache Biostrings DBI GenomicRanges Gviz IRanges RCy3 RSQLite S4Vectors]; };
   restfulSE = derive2 { name="restfulSE"; version="1.16.0"; sha256="118zmj9jhgblkgi1arwndrigc1gl37q6gydhw3xfdiml4lp2zags"; depends=[AnnotationDbi AnnotationHub bigrquery Biobase DBI DelayedArray dplyr ExperimentHub GO_db magrittr reshape2 rhdf5client rlang S4Vectors SummarizedExperiment]; };
@@ -1844,8 +1844,8 @@ in with self; {
   rnaseqcomp = derive2 { name="rnaseqcomp"; version="1.24.0"; sha256="0asx51fxg9hc0brbqlxl0jyfyidh4fbwyclrvczzzqasf277f23w"; depends=[RColorBrewer]; };
   roar = derive2 { name="roar"; version="1.30.0"; sha256="0hqh4vsnxl2sn1bf6s6wxl2nskb40rhvrysdvb6dr60zkih3g347"; depends=[BiocGenerics GenomeInfoDb GenomicAlignments GenomicRanges IRanges rtracklayer S4Vectors SummarizedExperiment]; };
   rols = derive2 { name="rols"; version="2.22.0"; sha256="08asfjl6smdg05m41m0bdc2awiqbhyb016z9f77adx3vc73mh613"; depends=[Biobase BiocGenerics httr jsonlite progress]; };
-  ropls = derive2 { name="ropls"; version="1.26.0"; sha256="0mz5lrdsihx66sgx9klnvpxvw1mjjcbijcsdbgxwaimzl9k1kr05"; depends=[Biobase MultiDataSet]; };
-  rpx = derive2 { name="rpx"; version="2.1.12"; sha256="0ykafx304g8gdry2r1l91zbnr6zv7jkknjyv5p0dkf0wvpqy82iy"; depends=[BiocFileCache curl jsonlite RCurl xml2]; };
+  ropls = derive2 { name="ropls"; version="1.26.4"; sha256="19f3wd55860x959h5n7mrivyjdas5b3jmx74lf24xnx23g26f8rn"; depends=[Biobase MultiDataSet]; };
+  rpx = derive2 { name="rpx"; version="2.2.2"; sha256="05qgfchg4pyff0xqrnycxzpan0w5ry1f9w30irhpjiglp7ggf882"; depends=[BiocFileCache curl jsonlite RCurl xml2]; };
   rqt = derive2 { name="rqt"; version="1.20.0"; sha256="0v2bm774y2ikwppp0w0ydqzak96ax7ga1d303vgll13xan50d391"; depends=[car CompQuadForm glmnet Matrix metap pls ropls RUnit SummarizedExperiment]; };
   rqubic = derive2 { name="rqubic"; version="1.40.0"; sha256="0drzggalrvijqvq2x38r2l07rr2248rrw8lvhnfkszabb5qg4a71"; depends=[biclust Biobase BiocGenerics]; };
   rrvgo = derive2 { name="rrvgo"; version="1.6.0"; sha256="0sxybvvbgrxpddfr80cla6pmf8q3kiqrd9r9ca0hq8m4av9nv9cc"; depends=[AnnotationDbi ggplot2 ggrepel GO_db GOSemSim pheatmap shiny tm treemap wordcloud]; };
@@ -1917,7 +1917,7 @@ in with self; {
   seqbias = derive2 { name="seqbias"; version="1.42.0"; sha256="1q608c1madij8l52ljl3w52vi3cssr6ikny84yj6n8s7yvpx5jpr"; depends=[Biostrings GenomicRanges Rhtslib]; };
   seqcombo = derive2 { name="seqcombo"; version="1.16.0"; sha256="0xyrjbvgrld5sy6g6sp79f43j93jnyccwg21il65fqrzb7z4d7xk"; depends=[Biostrings cowplot dplyr ggplot2 igraph magrittr yulab_utils]; };
   seqsetvis = derive2 { name="seqsetvis"; version="1.14.1"; sha256="1ja286qz7m15k97ms7rm81l0picsjjpm7fmsdpbklc66y3syl089"; depends=[data_table eulerr GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 ggplotify IRanges limma pbapply pbmcapply png RColorBrewer Rsamtools rtracklayer S4Vectors UpSetR]; };
-  sesame = derive2 { name="sesame"; version="1.12.7"; sha256="1gcf761alh6b86ncg8nknfshqg34102zgwcy3xjapjn37ncl7qan"; depends=[BiocParallel DNAcopy e1071 fgsea GenomicRanges ggplot2 ggrepel illuminaio IRanges KernSmooth MASS matrixStats preprocessCore randomForest reshape2 S4Vectors sesameData stringr SummarizedExperiment tibble wheatmap]; };
+  sesame = derive2 { name="sesame"; version="1.12.8"; sha256="047wpk7lvl5fik7iy0bf8jhqf3yp86gka0pkr0y9xl0a17gd5imz"; depends=[BiocParallel DNAcopy e1071 fgsea GenomicRanges ggplot2 ggrepel illuminaio IRanges KernSmooth MASS matrixStats preprocessCore randomForest reshape2 S4Vectors sesameData stringr SummarizedExperiment tibble wheatmap]; };
   sevenC = derive2 { name="sevenC"; version="1.14.0"; sha256="06m6479ps7896zaks8jnnak8l7c6abbsdx56k3l5ir78681g4bq1"; depends=[BiocGenerics boot data_table GenomeInfoDb GenomicRanges InteractionSet IRanges purrr readr rtracklayer S4Vectors]; };
   sevenbridges = derive2 { name="sevenbridges"; version="1.24.0"; sha256="03p7p1mwa3m8zvyz5761xmqhch6cfgy42cv0swwgj0n9jr83sc23"; depends=[curl data_table docopt httr jsonlite objectProperties S4Vectors stringr uuid yaml]; };
   shinyMethyl = derive2 { name="shinyMethyl"; version="1.30.0"; sha256="0ihs4l4r46qyv7j8a2g590x86y0dwki2gzllwq2a31il34jrbgq5"; depends=[BiocGenerics IlluminaHumanMethylation450kmanifest matrixStats minfi RColorBrewer shiny]; };
@@ -1935,7 +1935,7 @@ in with self; {
   singleCellTK = derive2 { name="singleCellTK"; version="2.4.0"; sha256="1a3j012jgysfbrknv1pp1az0zsk48yj1sjcjjchakl6lm7anzvhz"; depends=[AnnotationDbi ape batchelor Biobase BiocParallel celda celldex circlize cluster colorspace colourpicker ComplexHeatmap cowplot data_table DelayedArray DelayedMatrixStats DESeq2 dplyr DropletUtils DT enrichR ExperimentHub fields fishpond ggplot2 ggplotify ggrepel ggtree gridExtra GSEABase GSVA GSVAdata igraph KernSmooth limma magrittr MAST Matrix matrixStats metap msigdbr multtest plotly R_utils RColorBrewer reshape2 reticulate rlang rmarkdown ROCR Rtsne S4Vectors scater scDblFinder scds scMerge scran scRNAseq Seurat shiny shinyalert shinycssloaders shinyjs SingleCellExperiment SingleR SummarizedExperiment sva TENxPBMCData tibble tximport VAM withr yaml zinbwave]; };
   singscore = derive2 { name="singscore"; version="1.14.0"; sha256="1mmp0sgx684d1yxpminllzb6pnl66jlrqhxifvv7g5iivqqsrm2p"; depends=[Biobase BiocParallel edgeR ggplot2 ggrepel GSEABase magrittr matrixStats plotly plyr RColorBrewer reshape reshape2 S4Vectors SummarizedExperiment tidyr]; };
   sitadela = derive2 { name="sitadela"; version="1.2.0"; sha256="14r07kxj0fy1i2zmm1v8i7cwx5ff14xlmg5cdrjyzi6zws09vdp8"; depends=[Biobase BiocGenerics biomaRt Biostrings GenomeInfoDb GenomicFeatures GenomicRanges IRanges Rsamtools RSQLite rtracklayer S4Vectors]; };
-  sitePath = derive2 { name="sitePath"; version="1.10.0"; sha256="063nry7xxnic984qm29axki5rrp2dmp7kgdcjkvh8bi6y41a58sj"; depends=[ape aplot ggplot2 ggrepel ggtree gridExtra RColorBrewer Rcpp seqinr tidytree]; };
+  sitePath = derive2 { name="sitePath"; version="1.10.2"; sha256="0xwv469sb0zyhzn62ps4hfbsh2vivghlflhm16l9fkaix1mgmd4j"; depends=[ape aplot ggplot2 ggrepel ggtree gridExtra RColorBrewer Rcpp seqinr tidytree]; };
   sizepower = derive2 { name="sizepower"; version="1.64.0"; sha256="1jcv4hy4gq5javqvdla122d36m3gfpwwa5qv5d21fh2s90ycm3rm"; depends=[]; };
   skewr = derive2 { name="skewr"; version="1.26.0"; sha256="10mfb1yklns9zhy3p9gxxdk3gihlszynilb8b20gb7522yrd124x"; depends=[IlluminaHumanMethylation450kmanifest methylumi minfi mixsmsn RColorBrewer S4Vectors wateRmelon]; };
   slalom = derive2 { name="slalom"; version="1.16.0"; sha256="130qqbm63iwymwk0lwlp8sns62853l1fabij7iy30ax8hgi681kc"; depends=[BH ggplot2 GSEABase Rcpp RcppArmadillo rsvd SingleCellExperiment SummarizedExperiment]; };
@@ -1954,13 +1954,13 @@ in with self; {
   sparsenetgls = derive2 { name="sparsenetgls"; version="1.12.0"; sha256="0g8vbzhzyccyi77x49c8idhwy357a2azywvllinjapgwiy88s02a"; depends=[glmnet huge MASS Matrix]; };
   spatialDE = derive2 { name="spatialDE"; version="1.0.0"; sha256="01dqrs8a23b0j5a0zk31g1ld5783dd6fsjiaj1vgc767mjwh0vsx"; depends=[basilisk checkmate ggplot2 ggrepel gridExtra Matrix reticulate S4Vectors scales SpatialExperiment SummarizedExperiment]; };
   spatialHeatmap = derive2 { name="spatialHeatmap"; version="2.0.0"; sha256="0a67dk5jvww8lrjqq8yxbqnm2lasjhypi1k16qa7gwd2x84phghf"; depends=[av BiocFileCache data_table DESeq2 distinct dynamicTreeCut edgeR flashClust genefilter ggdendro ggplot2 ggplotify gplots gridExtra grImport HDF5Array htmlwidgets igraph limma magick plotly rappdirs reshape2 rols rsvg S4Vectors shiny shinydashboard SummarizedExperiment UpSetR visNetwork WGCNA xml2 yaml]; };
-  spatzie = derive2 { name="spatzie"; version="1.0.0"; sha256="1k88ibhm8k19i1jb1xsp6xqva8gdmgcp6gqmza7snh2hk5a4r9ll"; depends=[BiocGenerics BSgenome GenomeInfoDb GenomicFeatures GenomicInteractions GenomicRanges ggplot2 IRanges matrixStats motifmatchr S4Vectors SummarizedExperiment TFBSTools]; };
+  spatzie = derive2 { name="spatzie"; version="1.0.1"; sha256="08fk50y10pkpwq5cvlafs24kvzha9p6nk982vhjl0dbhlysa86vc"; depends=[BiocGenerics BSgenome GenomeInfoDb GenomicFeatures GenomicInteractions GenomicRanges ggplot2 IRanges matrixStats motifmatchr S4Vectors SummarizedExperiment TFBSTools]; };
   specL = derive2 { name="specL"; version="1.28.0"; sha256="1fsv1vi7wghrn6xgkdfsr5c53jv1kfpxygzpvnc8pa37l6jfzdfg"; depends=[DBI protViz RSQLite seqinr]; };
   spicyR = derive2 { name="spicyR"; version="1.6.0"; sha256="1a7nidfa0vq7qbs5j1yl429q1adic8p3pagrvw3362b59j36ryxx"; depends=[BiocGenerics BiocParallel concaveman data_table dplyr ggplot2 IRanges lme4 lmerTest mgcv pheatmap rlang S4Vectors scam spatstat_core spatstat_geom tidyr]; };
   spikeLI = derive2 { name="spikeLI"; version="2.54.0"; sha256="1ndxvamn2q6ad86dfql1qa7c87xfg8q3zk6f33ip458ikmx16h3f"; depends=[]; };
   spiky = derive2 { name="spiky"; version="1.0.0"; sha256="0r8n6icjkhwaq395ikcw64wgks89s84a97xc8lwgrb4lkmnlkgyj"; depends=[bamlss Biostrings BlandAltmanLeh BSgenome GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 IRanges Rsamtools S4Vectors scales]; };
   spkTools = derive2 { name="spkTools"; version="1.50.0"; sha256="1fbh8lfhl3j7dgx7my3ajjfvzfl0x5rm3m0hszm9dk7zvn6zl67x"; depends=[Biobase gtools RColorBrewer]; };
-  splatter = derive2 { name="splatter"; version="1.18.1"; sha256="1cbq3yfgpv54xkgax1m4c4vh29afdfffs7f8xi7fp7acvp365azx"; depends=[BiocGenerics BiocParallel checkmate crayon edgeR fitdistrplus ggplot2 locfit matrixStats S4Vectors scales scater SingleCellExperiment SummarizedExperiment]; };
+  splatter = derive2 { name="splatter"; version="1.18.2"; sha256="1azcn3fckqaz8kyqzlmb25fbncyyk9ai7d9gj9bq9xnqhjr5ni1a"; depends=[BiocGenerics BiocParallel checkmate crayon edgeR fitdistrplus ggplot2 locfit matrixStats S4Vectors scales scater SingleCellExperiment SummarizedExperiment]; };
   splineTimeR = derive2 { name="splineTimeR"; version="1.22.0"; sha256="0pbfflicb2zpiddslivyh9i2vly6h8jfbmpm38ljijzshmsvra6v"; depends=[Biobase FIs GeneNet GSEABase gtools igraph limma longitudinal]; };
   splots = derive2 { name="splots"; version="1.60.0"; sha256="0ng1shqpjmgbfs4hlcfncq4ipl59a9xwv42h7zcc45hzm7013fq9"; depends=[RColorBrewer]; };
   spqn = derive2 { name="spqn"; version="1.6.0"; sha256="081b87w4gsrqp9ny9gqc85g4nm17kxrs2bagxgja280hf7ry2f08"; depends=[BiocGenerics ggplot2 ggridges matrixStats SummarizedExperiment]; };
@@ -1977,7 +1977,7 @@ in with self; {
   stepNorm = derive2 { name="stepNorm"; version="1.66.0"; sha256="1v5a5zcczd65kzmpkjhr793z74f1758mbql0izwavc609ai5a241"; depends=[marray MASS]; };
   strandCheckR = derive2 { name="strandCheckR"; version="1.12.0"; sha256="1j7h8psn90zdz78j2115gwpdikkvpcfbv8izpwazawgl59byb4w8"; depends=[BiocGenerics dplyr GenomeInfoDb GenomicAlignments GenomicRanges ggplot2 gridExtra IRanges magrittr reshape2 rmarkdown Rsamtools S4Vectors stringr TxDb_Hsapiens_UCSC_hg38_knownGene]; };
   struct = derive2 { name="struct"; version="1.6.0"; sha256="1vnszdh24f8hh2kcpxr9whbpbws3qnm0zldjg5pdvkfvnsq6fa00"; depends=[knitr ontologyIndex rols S4Vectors SummarizedExperiment]; };
-  structToolbox = derive2 { name="structToolbox"; version="1.6.0"; sha256="06b29kxi0gsai959vpqaknpccb20r7ij1dhj73nwcy9a0lc92n0z"; depends=[ggplot2 ggthemes gridExtra scales sp struct]; };
+  structToolbox = derive2 { name="structToolbox"; version="1.6.1"; sha256="1p39d2w0q1hi7jm6chm29pf68wp241hzr0p65hjfqdcq4bq39jkp"; depends=[ggplot2 ggthemes gridExtra scales sp struct]; };
   subSeq = derive2 { name="subSeq"; version="1.24.0"; sha256="1yyj74cff2zjl7i5ms44805jb65f1xbd0f9yh084n4f3qn0vp7jh"; depends=[Biobase data_table digest dplyr ggplot2 magrittr qvalue tidyr]; };
   supersigs = derive2 { name="supersigs"; version="1.2.0"; sha256="0g622ci7761nk8baxi3w4m9qfalv2l97irkrpjsglmqf3rnc1h47"; depends=[assertthat Biostrings caret dplyr rlang rsample SummarizedExperiment tidyr]; };
   supraHex = derive2 { name="supraHex"; version="1.32.0"; sha256="00z4dir261xr5v2ajs8vifhyy35agcqjph9jlwg8q9f3s2n89c6x"; depends=[ape dplyr hexbin igraph magrittr MASS purrr readr stringr tibble tidyr]; };
@@ -1991,7 +1991,7 @@ in with self; {
   switchBox = derive2 { name="switchBox"; version="1.30.0"; sha256="09z9wi8yzjq49rjmn707a1kvf7c203lbxcnc7znwhy7lv51svj67"; depends=[gplots pROC]; };
   switchde = derive2 { name="switchde"; version="1.20.0"; sha256="1n815zwj5znddgc3pz87089q8bvb14n2g61zfang8d8pna4zbf7v"; depends=[dplyr ggplot2 SingleCellExperiment SummarizedExperiment]; };
   synapsis = derive2 { name="synapsis"; version="1.0.0"; sha256="1kqapzcd2zvmyaqshcrfxkkaf6k7kwaqnd6g4dhnjcf2wqnf6fs5"; depends=[EBImage]; };
-  synergyfinder = derive2 { name="synergyfinder"; version="3.2.2"; sha256="0kpvp0lamchbgs4p34pbq14y3zrmgk0pgil0qhsrm3kv1pizk1w8"; depends=[dplyr drc furrr future ggforce ggplot2 ggrepel gstat kriging lattice magrittr metR mice nleqslv pbapply plotly purrr reshape2 sp SpatialExtremes stringr tidyr tidyverse vegan]; };
+  synergyfinder = derive2 { name="synergyfinder"; version="3.2.6"; sha256="05jzj18lc0dznq32g5jp14dpqx816yqln8kfk7mayqx7rfwh52lf"; depends=[dplyr drc furrr future ggforce ggplot2 ggrepel gstat kriging lattice magrittr metR mice nleqslv pbapply plotly purrr reshape2 sp SpatialExtremes stringr tidyr tidyverse vegan]; };
   synlet = derive2 { name="synlet"; version="1.24.0"; sha256="1xidxlkppap0x8h9iiyl78lcx50ckpg46n8pl49vz4435vd6grp2"; depends=[doBy dplyr ggplot2 magrittr RankProd RColorBrewer reshape2]; };
   systemPipeR = derive2 { name="systemPipeR"; version="2.0.5"; sha256="1j91pyfjsqngxxlxjqc477pznlfax4vayrks2q12rxw76ija80hf"; depends=[BiocGenerics Biostrings crayon GenomicRanges ggplot2 htmlwidgets magrittr Rsamtools S4Vectors ShortRead stringr SummarizedExperiment yaml]; };
   systemPipeShiny = derive2 { name="systemPipeShiny"; version="1.4.0"; sha256="0h803ijajf32igfknkaivlzrc323apzligq1j8ghpf02q7f5q830"; depends=[assertthat bsplus crayon dplyr drawer DT ggplot2 glue htmltools magrittr openssl plotly R6 rlang RSQLite rstudioapi shiny shinyAce shinydashboard shinydashboardPlus shinyFiles shinyjqui shinyjs shinytoastr shinyWidgets spsComps spsUtil stringr styler tibble vroom yaml]; };
@@ -2037,7 +2037,7 @@ in with self; {
   trio = derive2 { name="trio"; version="3.32.0"; sha256="16bnh1q53b2pkw4v7why5b1srl39zw6iza34yxynv34b8529sl46"; depends=[LogicReg siggenes survival]; };
   triplex = derive2 { name="triplex"; version="1.34.0"; sha256="0niyiafps242y9gnrc85ncb28c1q9ny1b20la53397h5w46sqq6i"; depends=[Biostrings GenomicRanges IRanges S4Vectors XVector]; };
   tripr = derive2 { name="tripr"; version="1.0.0"; sha256="0lcyjqn2my782hq8bmab08hpp0sgaz3c6wbcywn3pidcc0zqr56p"; depends=[config data_table dplyr DT golem gridExtra plot3D plotly plyr pryr RColorBrewer shiny shinyBS shinyFiles shinyjs stringdist stringr]; };
-  tscR = derive2 { name="tscR"; version="1.6.0"; sha256="0mbyl00mylw0cvlbh93vxbc86y7fgn6n0zw7k0ix9cx7dx7kjwfm"; depends=[class cluster dplyr dtw GenomicRanges ggplot2 gridExtra IRanges kmlShape knitr latex2exp prettydoc RColorBrewer rmarkdown S4Vectors SummarizedExperiment]; };
+  tscR = derive2 { name="tscR"; version="1.6.1"; sha256="1k9f79gy0ickf8mizkmxzazkrbpl0rssdjafpcvx37a1ykgn9qax"; depends=[class cluster dplyr dtw GenomicRanges ggplot2 gridExtra IRanges kmlShape knitr latex2exp prettydoc RColorBrewer rmarkdown S4Vectors SummarizedExperiment]; };
   tspair = derive2 { name="tspair"; version="1.52.0"; sha256="0pm1rdiiza2737nar790zi2b37n25gpdxbg8ljg3a84mlji5jsws"; depends=[Biobase]; };
   ttgsea = derive2 { name="ttgsea"; version="1.2.1"; sha256="0b6c55vzay7jaacff3nrd0ks6l4qsmhjja38rs2qlabzqhyrfzi4"; depends=[data_table DiagrammeR keras purrr stopwords text2vec textstem tm tokenizers]; };
   tweeDEseq = derive2 { name="tweeDEseq"; version="1.40.0"; sha256="0xqd0i5d5q5fm58gxpxac24zpqpyj5dgab0kziwyn8pfyp1w5s4h"; depends=[cqn edgeR limma MASS]; };
@@ -2049,7 +2049,7 @@ in with self; {
   uSORT = derive2 { name="uSORT"; version="1.20.0"; sha256="0y6a6ksvbrxyqri0mc01nbls107sacs66zmbjs4qxq52rmy5xvcd"; depends=[Biobase BiocGenerics cluster fpc gplots igraph Matrix monocle plyr RANN RSpectra VGAM]; };
   uncoverappLib = derive2 { name="uncoverappLib"; version="1.4.0"; sha256="0nh5z1iirqdiv5q66k1r8byv9dasnzyinl0plan68gxvia770cnb"; depends=[BiocFileCache BSgenome_Hsapiens_UCSC_hg19 condformat DT EnsDb_Hsapiens_v75 EnsDb_Hsapiens_v86 GenomicRanges Gviz Homo_sapiens markdown openxlsx org_Hs_eg_db OrganismDbi processx rappdirs rlist Rsamtools shiny shinyBS shinycssloaders shinyjs shinyWidgets stringr TxDb_Hsapiens_UCSC_hg19_knownGene TxDb_Hsapiens_UCSC_hg38_knownGene]; };
   unifiedWMWqPCR = derive2 { name="unifiedWMWqPCR"; version="1.30.0"; sha256="0kw26bm2yyna38q5r4zb2alpa3j4gx7v970419mnjlif4g0hmggk"; depends=[BiocGenerics HTqPCR]; };
-  universalmotif = derive2 { name="universalmotif"; version="1.12.2"; sha256="1p9zdrsxqn4ayvbj05xgpzpbzkzrh7k0d62x10069687vfl6dlxg"; depends=[BiocGenerics Biostrings ggplot2 IRanges MASS Rcpp RcppThread rlang S4Vectors yaml]; };
+  universalmotif = derive2 { name="universalmotif"; version="1.12.3"; sha256="00kdhjyjgxjiab4n9lxagc1bb629xnwc68cqy2gc0wnxx1j3v262"; depends=[BiocGenerics Biostrings ggplot2 IRanges MASS Rcpp RcppThread rlang S4Vectors yaml]; };
   variancePartition = derive2 { name="variancePartition"; version="1.24.0"; sha256="0f5y61dpzwmr8v7npim18zvxa8n49rbzclb9j72haba0px6ibhvw"; depends=[Biobase BiocParallel doParallel foreach ggplot2 gplots iterators limma lme4 lmerTest MASS Matrix pbkrtest progress reshape2 rlang scales]; };
   vbmp = derive2 { name="vbmp"; version="1.62.0"; sha256="0yavhi3n9nlgq2s0xvglsnfi9yxdl0di8vs30h9p6a0hh3d1c8ql"; depends=[]; };
   velociraptor = derive2 { name="velociraptor"; version="1.4.0"; sha256="16v1qxl8z5pr3ygvby5n2klw0wm468fbsch1b9a67il8bjxslg0j"; depends=[basilisk BiocGenerics BiocParallel BiocSingular DelayedArray Matrix reticulate S4Vectors scuttle SingleCellExperiment SummarizedExperiment zellkonverter]; };
diff --git a/pkgs/development/r-modules/cran-packages.nix b/pkgs/development/r-modules/cran-packages.nix
index dec48149e93..62f68de9091 100644
--- a/pkgs/development/r-modules/cran-packages.nix
+++ b/pkgs/development/r-modules/cran-packages.nix
@@ -4,7 +4,7 @@
 # Rscript generate-r-packages.R cran >new && mv new cran-packages.nix
 
 { self, derive }:
-let derive2 = derive { snapshot = "2022-01-05"; };
+let derive2 = derive { snapshot = "2022-02-08"; };
 in with self; {
   A3 = derive2 { name="A3"; version="1.0.0"; sha256="017hq9pjsv1h9i7cqk5cfx27as54shlhdsdvr6jkhb8jfkpdb6cw"; depends=[pbapply xtable]; };
   AATtools = derive2 { name="AATtools"; version="0.0.1"; sha256="08is383xhs2lc9wfffykcwqyl8mwcxfpk3lnvlpkp96hq9m9ikbf"; depends=[doParallel dplyr foreach magrittr]; };
@@ -17,6 +17,7 @@ in with self; {
   ABPS = derive2 { name="ABPS"; version="0.3"; sha256="0n3f66nmfi5v94il1mxy026mi84w01ph2aljk60vn3mrz8kwf2ll"; depends=[kernlab]; };
   ACA = derive2 { name="ACA"; version="1.1"; sha256="1i3hm27nvnkvc39xlh0d1blq8q0q02czmvgi3cazmjx3jvxay0vq"; depends=[]; };
   ACD = derive2 { name="ACD"; version="1.5.3"; sha256="1a67bi3hklq8nlc50r0qnyr4k7m9kpvijy8sqqpm54by5hsysfd6"; depends=[]; };
+  ACDC = derive2 { name="ACDC"; version="1.0.0"; sha256="11nlg6pcmfa8pl1f5fxxcig1z1j74yizllh5y9rcdbdfzcasvnzn"; depends=[colorspace deSolve dplyr ggplot2 latex2exp magrittr patchwork tibble tidyr]; };
   ACDm = derive2 { name="ACDm"; version="1.0.4"; sha256="0b4f02ga5ra66mbrm79g0bnlzmii82rks9kmxixxqgf18yhlyjil"; depends=[dplyr ggplot2 plyr Rsolnp zoo]; };
   ACEsearch = derive2 { name="ACEsearch"; version="1.0.0"; sha256="1ssq8avj20dk2mal0j5dvshf7qgk0as90sgl71cn91cq8lbiilpn"; depends=[httr testthat]; };
   ACEt = derive2 { name="ACEt"; version="1.8.1"; sha256="0b5lfpnppyk0237phr2aybhx29nhm8ngwk2qa1y4lshrvsw97wg4"; depends=[BH MASS Rcpp RcppArmadillo]; };
@@ -60,6 +61,7 @@ in with self; {
   ALSCPC = derive2 { name="ALSCPC"; version="1.0"; sha256="0ippxzq5qwb9dnpvm1kxhc0fxh83rs9ny5rcvd30w2bp632q9qdx"; depends=[]; };
   ALSM = derive2 { name="ALSM"; version="0.2.0"; sha256="1g7zk8q462j4faq5wzzghkjc003ny6rj8hrymsgvh3fg3a72lvy3"; depends=[car leaps SuppDists]; };
   ALTopt = derive2 { name="ALTopt"; version="0.1.2"; sha256="1nbbvniramajg6k83xqgx7r0abjrfja8zz0y3g3j8qmvbcqmjx13"; depends=[cubature lattice]; };
+  ALUES = derive2 { name="ALUES"; version="0.2.1"; sha256="12fayxz0cb8wibccgz62gzrbkwzw2y4xljixrh02i1lbfwgsky14"; depends=[Rcpp]; };
   ALassoSurvIC = derive2 { name="ALassoSurvIC"; version="0.1.0"; sha256="0q02rz947bp6i7sbb5nzxq8ky74iprdnpbwnmnn7vg29vhca4b09"; depends=[Rcpp]; };
   AMAP_Seq = derive2 { name="AMAP.Seq"; version="1.0"; sha256="0z0rrzps6rm58k4m1ybg77s3w05m5zfya4x8ril78ksxsjwi3636"; depends=[]; };
   AMAPVox = derive2 { name="AMAPVox"; version="0.1.0"; sha256="1c91ghjyaxqc23bvq3n4drjpqskbnr32d988hsbph44ypj0n2acj"; depends=[data_table stringr]; };
@@ -69,7 +71,7 @@ in with self; {
   AMModels = derive2 { name="AMModels"; version="0.1.4"; sha256="18h075bzk8s75b3zmjd0x8c6dpl40445d4kv8n0p4ldnx80b1aha"; depends=[unmarked]; };
   AMOEBA = derive2 { name="AMOEBA"; version="1.1"; sha256="1npzh3rpfnxd4r1pj1hm214sfgbw4wmq4ws093lnl7pvsl0q37xn"; depends=[rlecuyer snowfall spdep]; };
   AMPLE = derive2 { name="AMPLE"; version="1.0.0"; sha256="1lcwwf41i0mkg2bv8z5mzrj6h3pa31h33mrmbxbndjgb3ivz2wf5"; depends=[ggplot2 markdown R6 RColorBrewer scales shiny shinyjs shinyscreenshot]; };
-  AMR = derive2 { name="AMR"; version="1.7.1"; sha256="1ggd3lwiimlb6qrd444jcx0capkq5rxr7m8wb9q663z1332grv1b"; depends=[]; };
+  AMR = derive2 { name="AMR"; version="1.8.0"; sha256="0vxm8rd2c4v4v0xq3h1yfxdjibz72pv9a8z43f3ii2ymgdwg5d31"; depends=[]; };
   ANN2 = derive2 { name="ANN2"; version="2.3.4"; sha256="1izljhz3rkzq05dkvg9q3fdyj7q871j8lsky67d5r8ffpzm1lk3z"; depends=[ggplot2 Rcpp RcppArmadillo reshape2 testthat viridisLite]; };
   ANOM = derive2 { name="ANOM"; version="0.5"; sha256="14nfy9xplbabfprwxz5fvx26nmqhp657vr6d90dc8vk8ds63ckiz"; depends=[ggplot2 MCPAN multcomp nparcomp SimComp]; };
   ANOVAIREVA = derive2 { name="ANOVAIREVA"; version="0.1.0"; sha256="04z2g79nnh5yhn4aqw0i7ck2b1z5dbasf1zp1sj6rjjrp9aqmaa6"; depends=[car dplyr ggplot2 plotly rmarkdown shiny]; };
@@ -81,9 +83,10 @@ in with self; {
   APAtree = derive2 { name="APAtree"; version="1.0.1"; sha256="0vhvx2xp62avyq405jqn4i3z8awlifcs1lb527brxxhybrhnk4rv"; depends=[BH FD lwgeom raster Rcpp sf units]; };
   APCI = derive2 { name="APCI"; version="1.0.5"; sha256="0wkpcjsgzk01x4qc395wwqr856fr096v8vhydcw84yrmp8w3clxx"; depends=[data_table dplyr gee ggplot2 ggpubr magrittr stringr survey]; };
   APCanalysis = derive2 { name="APCanalysis"; version="1.0"; sha256="11snn5i8zyjpzf58ica762fpp14v7x5h8a8iwx4s4v81pgvlx862"; depends=[]; };
+  APCtools = derive2 { name="APCtools"; version="1.0.1"; sha256="1aq55a3glsqyp7gzly1nfaxxlyiq2ki6h9i5qwgz7dbni4vwggd4"; depends=[checkmate colorspace dplyr ggplot2 ggpubr knitr mgcv scales tidyr]; };
   APFr = derive2 { name="APFr"; version="1.0.2"; sha256="1vax7rfccds6qz3bi6n1h3nzl9jnxpwk331wmpsbqlk23md3m4g4"; depends=[]; };
   APIS = derive2 { name="APIS"; version="1.0.1"; sha256="1af82mixamllly7v1jfvn1anpm1pafkv5mshwp6nmc27vaq201z5"; depends=[doParallel foreach ggplot2 gridExtra]; };
-  APML = derive2 { name="APML"; version="0.0.2"; sha256="08krjwc807k72ir27p6rpipk8am8q4cj8nblc15mf6i234rg1s88"; depends=[dplyr dummies ggplot2 h2o performanceEstimation pROC survival tidyverse]; };
+  APML = derive2 { name="APML"; version="0.0.4"; sha256="1zvrl73fhq4lbxdjxg0kxl44qqc7692q3k05lrrz5bkajz4c4ikr"; depends=[dplyr dummies ggplot2 h2o performanceEstimation pROC survival]; };
   APML0 = derive2 { name="APML0"; version="0.10"; sha256="1l6mw1mqb7qnsvfv9w6yydqjsrwrsrqx3bpifyp43cf2q71yx5gp"; depends=[Matrix Rcpp RcppEigen]; };
   APPEstimation = derive2 { name="APPEstimation"; version="0.1.1"; sha256="1bg9ma4i3k3xdgyk2h4f368gqnczvlhvjw4114iznmrv1wl4g25c"; depends=[densratio]; };
   APSIMBatch = derive2 { name="APSIMBatch"; version="0.1.0.2374"; sha256="0j44ijq1v1k60lka9nmw8m1jfjw7pidny9bvswqy5v82gzmwl29d"; depends=[]; };
@@ -115,6 +118,7 @@ in with self; {
   AST = derive2 { name="AST"; version="0.1.0"; sha256="0z5dw5qw0i61v4796ms7pp66f9y4ylxrcls31ixzcmkklh3rcnp3"; depends=[]; };
   ATAforecasting = derive2 { name="ATAforecasting"; version="0.0.56"; sha256="1gqqs0jf6wwiza0wncyymjigz5010c3i6rl8zlwvylgwpby1p9rj"; depends=[forecast Rcpp RcppArmadillo Rdpack seasonal stlplus stR timeSeries TSA tseries xts]; };
   ATE = derive2 { name="ATE"; version="0.2.0"; sha256="1i46ivb7q61kq11z9v1rlnwad914nsdjcz9bagqx17vjk160mc0a"; depends=[]; };
+  ATNr = derive2 { name="ATNr"; version="1.0.1"; sha256="1ryh99yifldml6fpprz01lap1nzlifjb2w8wgnmx95byz7gayrm9"; depends=[deSolve Rcpp RcppArmadillo]; };
   ATR = derive2 { name="ATR"; version="0.1-1"; sha256="0via7zm3byzbdgrfw351fqvx0g5cj2z31bqfwh7kr99nqgjh0dyn"; depends=[partykit]; };
   ATbounds = derive2 { name="ATbounds"; version="0.1.0"; sha256="007gc9yjxwlhkb0mibxaa394xdiilfm8z6jbbqdn6wl986p07pg3"; depends=[mgcv]; };
   ATmet = derive2 { name="ATmet"; version="1.2.1"; sha256="17lzb4qnxgvlwy5zaz250mb0c4ayk509700k8mj8zf4dgv51kxa3"; depends=[DiceDesign lhs metRology msm sensitivity]; };
@@ -134,10 +138,10 @@ in with self; {
   ActFrag = derive2 { name="ActFrag"; version="0.1.1"; sha256="08r3gwjz4fkyy85dxqix0ffm5xyq45032qv3snnzxnlqxslxbqn1"; depends=[accelerometry dplyr ineq survival tidyr]; };
   ActiveDriver = derive2 { name="ActiveDriver"; version="1.0.0"; sha256="10c7ga48fwvpd5mc4dqiyw4kc2l0iz5qn4hg7xk15r1qmm5rsipa"; depends=[MASS]; };
   ActiveDriverWGS = derive2 { name="ActiveDriverWGS"; version="1.1.2"; sha256="13b5yazgv9kckcp6gck183mh1m0q8lc5ixagmcy9s8kv2wz7wq45"; depends=[Biostrings BSgenome BSgenome_Hsapiens_UCSC_hg19 BSgenome_Hsapiens_UCSC_hg38 BSgenome_Mmusculus_UCSC_mm10 BSgenome_Mmusculus_UCSC_mm9 GenomeInfoDb GenomicRanges IRanges S4Vectors]; };
-  ActivePathways = derive2 { name="ActivePathways"; version="1.0.3"; sha256="0xcn2ymxb4npk1q8hap1ckj27mrkici44wjckc9v42mija29n8wk"; depends=[data_table ggplot2]; };
+  ActivePathways = derive2 { name="ActivePathways"; version="1.0.4"; sha256="1prhwx0nnwy2q62l2r0z31mhk4mq6xdr6mjihdlwpwgwq4rfi60y"; depends=[data_table ggplot2]; };
   ActivityIndex = derive2 { name="ActivityIndex"; version="0.3.7"; sha256="1zj2b6x31a1kxl80rarmkrlm7ack4154mrkbqs3fpi48zpmjbgd5"; depends=[data_table matrixStats R_utils]; };
   AcuityView = derive2 { name="AcuityView"; version="0.1"; sha256="0f0iclmnwdc8ixiiai4svk4x1g3pjy7dhm3cm58fv6ckx12d3d2l"; depends=[fftwtools imager plotrix]; };
-  AdMit = derive2 { name="AdMit"; version="2.1.8"; sha256="0fp2y6cxl9iklvd4w6igmwr2qi5vpqyl7rzli48cxz1pvgb9qz4x"; depends=[mvtnorm]; };
+  AdMit = derive2 { name="AdMit"; version="2.1.9"; sha256="0dlmqpwqfhhc4z2xr44f00xsg0hbmw2c5z2d4pbifv36jlrdxbip"; depends=[mvtnorm]; };
   AdaSampling = derive2 { name="AdaSampling"; version="1.3"; sha256="1c8dh8lxyb076317n4qk2g3qv5j4mc1dszbh3k1p2b0nxiprqk5i"; depends=[caret class e1071 MASS]; };
   AdapEnetClass = derive2 { name="AdapEnetClass"; version="1.2"; sha256="01k3mj4g1ckbng7wkzzn9h0k9yf01cpnnkly0sjda574c5jhj0rc"; depends=[glmnet imputeYn lars quadprog]; };
   AdapSamp = derive2 { name="AdapSamp"; version="1.1.1"; sha256="1jayjrsiib2ij4rxxj59g71r3xhzl5yqh0lhi8k6cfy03i7dkvis"; depends=[pracma]; };
@@ -155,8 +159,9 @@ in with self; {
   AeroSampleR = derive2 { name="AeroSampleR"; version="0.1.12"; sha256="0p9mnmvr3mq41a39b8gcj99f4nh7wxwv4xly3c7bwwy2mi5c4qm5"; depends=[dplyr ggplot2 ggthemes magrittr purrr stringr tidyr tidyselect]; };
   AggregateR = derive2 { name="AggregateR"; version="0.1.1"; sha256="1s2q888bqx6ilisv5s4g8ryja97nz6cz4ycm4sw1i63l5wjrwljc"; depends=[data_table NCmisc tibble]; };
   AgreementInterval = derive2 { name="AgreementInterval"; version="0.1.1"; sha256="1bvinzylvsaipa8mq15f45b6h37znavlrdl0rbrx1pqw52r7z8kv"; depends=[psych]; };
-  AgroR = derive2 { name="AgroR"; version="1.2.5"; sha256="1j0snk71i0kwq5zjagi3ksk2nqprdg0ff711r01nr7gxaznn1rzx"; depends=[cowplot crayon drc dunn_test emmeans ggplot2 ggrepel lme4 lmtest MASS multcomp multcompView nortest RColorBrewer]; };
+  AgroR = derive2 { name="AgroR"; version="1.2.7"; sha256="0fk1q9pqqxmllk0462nlbijg61qixbfqv78r0gf3y9ch5njj0hgh"; depends=[cowplot crayon drc dunn_test emmeans ggplot2 ggrepel lme4 lmtest MASS multcomp multcompView nortest RColorBrewer]; };
   AgroReg = derive2 { name="AgroReg"; version="1.2.1"; sha256="0pdr39vimd749h4khw9jj48k3k6ysi50ppc8jcca4sr7rmq138dc"; depends=[boot broom dplyr drc egg ggplot2 minpack_lm rcompanion]; };
+  AgroTech = derive2 { name="AgroTech"; version="1.0.1"; sha256="1r04ns77axjm1nfhxbdq2zwr8gkbxrxblh9kicpv8jznc7ngb8mi"; depends=[crayon ggplot2 ggrepel gridExtra lmtest nortest readxl xlsx]; };
   AhoCorasickTrie = derive2 { name="AhoCorasickTrie"; version="0.1.2"; sha256="0zh3y5jd8m0xbj6lqr01zvwj9qd1xr3iq7vd6sgr3g3qh4kqm5pq"; depends=[Rcpp]; };
   AirSensor = derive2 { name="AirSensor"; version="1.0.8"; sha256="0wpfg3mry1vdyd9v1981hasizj1mn5wy60ig9swxlqdm7j11wxan"; depends=[countrycode cowplot dplyr dygraphs geodist geosphere GGally ggmap ggplot2 gridExtra httpcode httr jsonlite leaflet lubridate magrittr MazamaCoreUtils MazamaLocationUtils MazamaSpatialUtils openair PWFSLSmoke RColorBrewer readr rlang scales seismicRoll sp stringr tibble tidyr tidyselect worldmet xts zoo]; };
   Ake = derive2 { name="Ake"; version="1.0"; sha256="1dj598xfdyjqvysc39a0d5gizgk367c5lkddmwmsqa8zjmvpr15a"; depends=[]; };
@@ -165,7 +170,7 @@ in with self; {
   AllPossibleSpellings = derive2 { name="AllPossibleSpellings"; version="1.1"; sha256="0ksfm2pfjka3yjgcd257v7sns1niaylsfxvhhh2jwdi016cpdw10"; depends=[]; };
   AlleleRetain = derive2 { name="AlleleRetain"; version="2.0.2"; sha256="0b6h5giskqbjbrk8nf29i75wrhxsjw1c87laiqzrpbp9n717bl20"; depends=[]; };
   AlleleShift = derive2 { name="AlleleShift"; version="1.0-2"; sha256="0pmjh5nq67fxnwlszp5rlmnmzg4gdjkr9dzaz6b0p7vh2cfy9m45"; depends=[adegenet BiodiversityR vegan]; };
-  AlphaPart = derive2 { name="AlphaPart"; version="0.8.4"; sha256="177208h034xzjkn965si83v92qaniayhdl1bpvrvmp6q8anmywp4"; depends=[directlabels gdata ggplot2 pedigree Rcpp reshape]; };
+  AlphaPart = derive2 { name="AlphaPart"; version="0.9.0"; sha256="0k9fk1kks4sghv7b7bip2jrwy944b6fcgmaxwgrbanw9q16i309n"; depends=[directlabels dplyr gdata ggplot2 magrittr pedigree Rcpp reshape]; };
   AlphaSimR = derive2 { name="AlphaSimR"; version="1.0.4"; sha256="115rn03dgpgcb5h9f2f5rz7kmlrfqdr0xdw7l9f4v7wkbdmr9h0l"; depends=[BH R6 Rcpp RcppArmadillo]; };
   Amelia = derive2 { name="Amelia"; version="1.8.0"; sha256="0plrnmlwn91bmrx8ip83nqb15ykjxjl6m49788sinq5cinkdbh9y"; depends=[foreign Rcpp RcppArmadillo]; };
   AmericanCallOpt = derive2 { name="AmericanCallOpt"; version="0.95"; sha256="1nhy44j5bmmjsp6g79nrn741rzzxikhdnxk4wwbdj9igcc1bs573"; depends=[]; };
@@ -180,7 +185,7 @@ in with self; {
   AnalyzeFMRI = derive2 { name="AnalyzeFMRI"; version="1.1-24"; sha256="0qkhw6bik6s82h4yb5bashqjl8wfxarivvz6r5ffn9cgrvlwyahd"; depends=[fastICA R_matlab]; };
   AncestryMapper = derive2 { name="AncestryMapper"; version="2.0"; sha256="1fr2y1a5rn7rq8aly94f618kywix32jwysi70nfhaqx8hf4zzprb"; depends=[svd]; };
   AnchorRegression = derive2 { name="AnchorRegression"; version="0.1.3"; sha256="1bmlxk5j3i9mm71cwz785q5sysp8hsyy0080kgd3ksx78p68ara5"; depends=[glmnet mgcv selectiveInference]; };
-  Andromeda = derive2 { name="Andromeda"; version="0.5.0"; sha256="1cr4lhaf6h2albipn23ly4h9d84krva92kdj36a8z0m646273rlp"; depends=[cli DBI dbplyr dplyr hms pillar rlang RSQLite tidyselect zip]; };
+  Andromeda = derive2 { name="Andromeda"; version="0.6.0"; sha256="0q102bspkbx0nh80q92c8841fqz1y4rh1w29sw8shd5jplbfp5af"; depends=[cli DBI dbplyr dplyr hms pillar rlang RSQLite tidyselect zip]; };
   AnglerCreelSurveySimulation = derive2 { name="AnglerCreelSurveySimulation"; version="1.0.2"; sha256="1nhd0i30g5wb5jh96gfaa0lgnbnj0m2vy4gz7v2c3142396zalnx"; depends=[dplyr ggplot2]; };
   AnimalHabitatNetwork = derive2 { name="AnimalHabitatNetwork"; version="0.1.0"; sha256="1bhqypkiw5v9w26jbdmhndqj5hjfmf7zwivrq2hgs0zcjxwa8gfn"; depends=[ggplot2 igraph]; };
   AnnoProbe = derive2 { name="AnnoProbe"; version="0.1.6"; sha256="182m711l5m037mfyvr6334pmv338fxb3007j6713abvylsh6x06q"; depends=[Biobase DT ggplot2 ggpubr pheatmap]; };
@@ -238,7 +243,7 @@ in with self; {
   AzureKusto = derive2 { name="AzureKusto"; version="1.0.6"; sha256="02wj1nzbs9l6aapk94p89gahbffmk3gy80l57bd1l0afpw0y3jr8"; depends=[AzureAuth AzureRMR DBI dplyr httr jsonlite openssl R6 rlang tibble tidyselect]; };
   AzureQstor = derive2 { name="AzureQstor"; version="1.0.1"; sha256="1z7j8kakiarpw3q2rii7gl9zc2nsb49nzs1nxg1hgfyvcdhw2fcg"; depends=[AzureRMR AzureStor httr openssl]; };
   AzureRMR = derive2 { name="AzureRMR"; version="2.4.3"; sha256="076hgxx2d6jf24fhysxk3mnp22ns8i6cqp3mzd64rafl1clqy3l1"; depends=[AzureAuth AzureGraph httr jsonlite R6 uuid]; };
-  AzureStor = derive2 { name="AzureStor"; version="3.6.0"; sha256="0yghwrhapamwfa4rbqmkk0ng68sl3f4jr0h3zr2lb4bqa4mc9nam"; depends=[AzureRMR httr mime openssl R6 vctrs xml2]; };
+  AzureStor = derive2 { name="AzureStor"; version="3.6.1"; sha256="090nkkg30s2fzxkywjy5c82x76pmg53affyin0xq2fbxxg3gp5vi"; depends=[AzureRMR httr mime openssl R6 vctrs xml2]; };
   AzureTableStor = derive2 { name="AzureTableStor"; version="1.0.0"; sha256="0xrfpi9psn1h21g4mvcbqsjav56s8cha381vsjkp1swilrxhmk5l"; depends=[AzureRMR AzureStor httr jsonlite openssl uuid vctrs]; };
   AzureVM = derive2 { name="AzureVM"; version="2.2.2"; sha256="0766a4y17qgq3vgb398n6zn8sdjrv65gpvrnr9b9g89zdsdy9fc4"; depends=[AzureRMR jsonlite R6]; };
   AzureVMmetadata = derive2 { name="AzureVMmetadata"; version="1.0.1"; sha256="15ghijzva6qzq2riq8ci4bh6ssknnp15yyy1fql0k4878wkf7vs0"; depends=[httr openssl]; };
@@ -259,6 +264,7 @@ in with self; {
   BASIX = derive2 { name="BASIX"; version="1.1"; sha256="18dkvv1iwskfnlpl6xridcgqpalbbpm2616mvc3hfrc0b26v01id"; depends=[]; };
   BASS = derive2 { name="BASS"; version="1.2.2"; sha256="14zimfdkpsil22n1z4ldpi9smmja5kf7qqlklr5sr7y5avnh0hd9"; depends=[hypergeo truncdist]; };
   BASiNET = derive2 { name="BASiNET"; version="0.0.4"; sha256="0pmn4znqhpav729ai7zr027a7sx6bz2lmlk086crmwm1fnwipqq4"; depends=[Biostrings igraph randomForest rJava rmcfs RWeka]; };
+  BASiNETEntropy = derive2 { name="BASiNETEntropy"; version="0.99.1"; sha256="1jacfcnl86frnrnhil4xx8hi7v2l0na7ldb8nfhic1cdrmz323jr"; depends=[Biostrings igraph randomForest]; };
   BAT = derive2 { name="BAT"; version="2.7.1"; sha256="03p2nfws16ya9zxqdnx7v02pvd0hqh34j6g0xk72wa2kpx4lv0jr"; depends=[ape geometry hypervolume MASS nls2 raster vegan]; };
   BAYSTAR = derive2 { name="BAYSTAR"; version="0.2-9"; sha256="0crillww1f1jvhjw639sf09lpc3wpzd69milah143gk9zlrkhmz2"; depends=[coda mvtnorm]; };
   BAwiR = derive2 { name="BAwiR"; version="1.2.7"; sha256="1vvym7bbfbi1x91962nfcqql0fiyv4svdk5329rq43nnh188i456"; depends=[Anthropometry dplyr ggplot2 ggthemes httr lubridate magrittr plyr purrr reshape2 rvest rworldmap scales stringi stringr tibble tidyr xml2]; };
@@ -294,10 +300,11 @@ in with self; {
   BED = derive2 { name="BED"; version="1.4.4"; sha256="1hbdjxh695607ppmk39xclh26k1bq9hrysyp8nc5axhhg1drpiff"; depends=[dplyr DT htmltools miniUI neo2R readr rstudioapi shiny stringr visNetwork]; };
   BEDASSLE = derive2 { name="BEDASSLE"; version="1.5"; sha256="1bz3lr0waly9vj9adwhmgs3lq7zjdkcbvm3y9rnn72qlrwmv5fbn"; depends=[emdbook MASS matrixcalc]; };
   BEDMatrix = derive2 { name="BEDMatrix"; version="2.0.3"; sha256="1pq333x1shxw3wcqgcb4gqg6rwa0hyc24rib235q4zg10r2gyrbm"; depends=[crochet]; };
+  BEKKs = derive2 { name="BEKKs"; version="1.0.1"; sha256="0r8hcbkby9b60qyc0hjr1hi0k1zyzg546ggx8hfm83z0507qsdj0"; depends=[expm forecast future future_apply ggfortify ggplot2 gridExtra mathjaxr Rcpp RcppArmadillo reshape2 xts]; };
   BENMMI = derive2 { name="BENMMI"; version="4.3-7"; sha256="1v96g4l1zkpvvx8jdifnafyaz4ml8v1bxbl97r1n5n6mgw88gk77"; depends=[benthos dplyr ggplot2 jsonlite knitr markdown purrr readr tidyr xtable]; };
   BEST = derive2 { name="BEST"; version="0.5.4"; sha256="109zl99bz1bndan1pm3hm0f1da86a18lcyzl0741z14l0m0d91a9"; depends=[coda HDInterval rjags]; };
   BESTree = derive2 { name="BESTree"; version="0.5.2"; sha256="0yij6xdlvhbqifckaylgbhszwwp38d9x6vbpr1nl40mwwnv4bswz"; depends=[plyr]; };
-  BET = derive2 { name="BET"; version="0.4.1"; sha256="1jaqsj3gyl1jdpl9m2jm10s9zpwr25s70nxn4yg14aik5grccd6r"; depends=[Rcpp]; };
+  BET = derive2 { name="BET"; version="0.4.2"; sha256="14d5b90rnf0hh2jsyagm3lg5fk3iri4jw9zwxjfbqhqmsf5hkqi7"; depends=[Rcpp]; };
   BETS = derive2 { name="BETS"; version="0.4.9"; sha256="0daixk7mqmk2jq35i7mjaslz11gxbnnjgwxfvj8x1s88vz9l74sm"; depends=[DBI digest dplyr DT dygraphs forecast foreign ggplot2 grnn htmltools httr lubridate miniUI plotly rjson rmarkdown RMySQL rstudioapi rvest seasonal shiny sqldf stringr urca webshot xml2 zoo]; };
   BFS = derive2 { name="BFS"; version="0.4.1"; sha256="1crlx3v6bsd5gi0f1hhlcykydbpqn9fryfw5k0ynlcivgif0ll9z"; depends=[janitor jsonlite lifecycle magrittr pxweb rvest tibble tidyRSS xml2]; };
   BFpack = derive2 { name="BFpack"; version="1.0.0"; sha256="1z5j6gd8zv39advb4xmpcbixbg8n516h0gpqkblb8dnb4mbh6d1s"; depends=[bain extraDistr lme4 MASS Matrix mvtnorm pracma]; };
@@ -316,7 +323,6 @@ in with self; {
   BHTSpack = derive2 { name="BHTSpack"; version="0.6"; sha256="01y3ly83i70lkg2kgbw1r7r1g4k9rk41qyzzscbp8zgc9z63ll8z"; depends=[R2HTML xtable]; };
   BI = derive2 { name="BI"; version="1.0.0"; sha256="192qdw2ag8sdw5v7xsc19y2a6w7gs58lnlh0yakc2i0jjad3iyw5"; depends=[]; };
   BICORN = derive2 { name="BICORN"; version="0.1.0"; sha256="0mqk8vgp6jdk7f0paa06yqlibkd1y3vs69pg7i9mkvxmda7p4nkq"; depends=[]; };
-  BIEN = derive2 { name="BIEN"; version="1.2.4"; sha256="1dagrs54ciagm2mgqrvxl6k2akahr0qk63ifxqnks7iljm0x1gw6"; depends=[ape DBI doParallel fasterize foreach raster rgdal rgeos RPostgreSQL sf sp]; };
   BIFIEsurvey = derive2 { name="BIFIEsurvey"; version="3.3-12"; sha256="1kphczvj3rxyjvi93cx2j714scvmmpqv5wrg5pdyy8l891jxsr89"; depends=[miceadds Rcpp RcppArmadillo]; };
   BIGDAWG = derive2 { name="BIGDAWG"; version="3.0.3"; sha256="1zbikvhyaksbddv2kz8nqkidjy4qsfp6a8wwyxjy5a0wcnqnwsxf"; depends=[haplo_stats httr XML]; };
   BIGL = derive2 { name="BIGL"; version="1.6.5"; sha256="1ksp88nspjd2si0kicv3j6fvb8i46phgpf6mw8ihfxkn9mrjbs2v"; depends=[ggplot2 MASS minpack_lm nleqslv numDeriv progress rgl robustbase scales]; };
@@ -345,7 +351,7 @@ in with self; {
   BMT = derive2 { name="BMT"; version="0.1.0.3"; sha256="1vdah5bsn41s2qriq15xi7dw9qzngaacmn5gk6yc7hi89dwyy3yj"; depends=[fitdistrplus partitions]; };
   BMTAR = derive2 { name="BMTAR"; version="0.1.1"; sha256="0c70vkgv2sdci33yrk2n297k105wnlxj1qchskdparkiipf47xsh"; depends=[Brobdingnag doParallel expm ggplot2 ks MASS MCMCpack mvtnorm]; };
   BMTME = derive2 { name="BMTME"; version="1.0.19"; sha256="07iw6aqcwn4a29b85cavfw6hp66csdzlaqwas40zr5ga3kp72j51"; depends=[BGLR doSNOW dplyr foreach matrixcalc mvtnorm progress Rcpp RcppArmadillo snow tidyr]; };
-  BMisc = derive2 { name="BMisc"; version="1.4.3"; sha256="1v7869kppbavr6y57bsafw8qc92p6ap1gkgzk8vgq3qj7blirpw6"; depends=[Rcpp RcppArmadillo tidyr]; };
+  BMisc = derive2 { name="BMisc"; version="1.4.4"; sha256="0ppi3yfk4ll16njj4d25cckk4g5b989zn49hk2if8yimqhmhgnsx"; depends=[data_table Rcpp RcppArmadillo]; };
   BNDataGenerator = derive2 { name="BNDataGenerator"; version="1.0"; sha256="17zi83jhpn9ygavkpr9haffvd4622sca18jzzxxxmfq0ilrj201g"; depends=[]; };
   BNPMIXcluster = derive2 { name="BNPMIXcluster"; version="1.3"; sha256="1dnylvag24zqp93acdbn0ilbdzbn250pjjp6hjdd9d1zvla2ck85"; depends=[gplots MASS matrixcalc mvtnorm plyr Rcpp RcppArmadillo truncnorm]; };
   BNPTSclust = derive2 { name="BNPTSclust"; version="2.0"; sha256="1ymvklv6d9684xzwdkvaxdjd1q20xmsf6kkfibn2wphlaqs2rh2n"; depends=[MASS mvtnorm]; };
@@ -373,7 +379,7 @@ in with self; {
   BSDA = derive2 { name="BSDA"; version="1.2.1"; sha256="0vcf3h1rkgs0mr6rri2zjkb3c62dmndm281zh4ddz2vyw27wpwg2"; depends=[e1071 lattice]; };
   BSGS = derive2 { name="BSGS"; version="2.0"; sha256="08m8g4zbsp55msqbic4f17lcry07mdn0f5a61zdcy2msn2ihzzf9"; depends=[batchmeans MASS plyr pscl]; };
   BSGW = derive2 { name="BSGW"; version="0.9.2"; sha256="1q6qvm9yxh35wywrzs3kr31jsa0bmbwrqh0r3qjc0dzi6q8n6pjy"; depends=[doParallel foreach MfUSampler survival]; };
-  BSL = derive2 { name="BSL"; version="3.2.2"; sha256="0yn0ay7f9214d8f5ghrpn4bzwfxv5gk13ip10f1mpkhqv0cjbham"; depends=[coda copula DBI doRNG foreach ggplot2 glasso gridExtra MASS mvtnorm Rcpp RcppArmadillo Rdpack stringr whitening]; };
+  BSL = derive2 { name="BSL"; version="3.2.3"; sha256="14114fwvvjzd5h17kzdgcfbm16m00g9iqzdfjvbq74ydy5jh3bm1"; depends=[coda copula DBI doRNG foreach ggplot2 glasso gridExtra MASS mvtnorm Rcpp RcppArmadillo Rdpack stringr whitening]; };
   BSPADATA = derive2 { name="BSPADATA"; version="1.0"; sha256="1g709i0icxlxq2ljb2sm5iyc8ljqxadi62xc4mg702fsgl0x5ny9"; depends=[mvtnorm pscl spdep]; };
   BSS = derive2 { name="BSS"; version="0.1.0"; sha256="1lxmrdmr6c0niqz61kc9ybzszprn66jyinfy4dr9r6i161gvs4qg"; depends=[hypergeo MASS phangorn]; };
   BSSasymp = derive2 { name="BSSasymp"; version="1.2-3"; sha256="1nqj8w8ilyhladjzhjp1rhi3ff7ik1m76pdhgs16ph7pzdw36w6i"; depends=[fICA JADE]; };
@@ -417,7 +423,7 @@ in with self; {
   BayesBEKK = derive2 { name="BayesBEKK"; version="0.1.0"; sha256="0fykcmf54820krwy7q573gmlcrx96i94knx7rgzc83i287lnpnfg"; depends=[coda MTS mvtnorm]; };
   BayesBP = derive2 { name="BayesBP"; version="1.1"; sha256="043msccrins1smaizmf7qc6q1cyjdzirw2ygnvi56lskib1cls7m"; depends=[iterators openxlsx]; };
   BayesBinMix = derive2 { name="BayesBinMix"; version="1.4.1"; sha256="1b18qg0mjbmrilwqffrq33gw04fzask2xgj1bp4cli51cjf2slf7"; depends=[coda doParallel foreach label_switching]; };
-  BayesCACE = derive2 { name="BayesCACE"; version="1.0"; sha256="0j7j9ir7x892mc53b16grb8l7q52d7ynk1d4la05bw92z28nfjrg"; depends=[coda forestplot lme4 MASS metafor mvtnorm Rdpack rjags]; };
+  BayesCACE = derive2 { name="BayesCACE"; version="1.2"; sha256="0rzjnhjvcnfy7dffq2jpybg6ybgkzfibz5kbd2qwbflj62h3v899"; depends=[coda forestplot lme4 metafor Rdpack rjags]; };
   BayesCR = derive2 { name="BayesCR"; version="2.1"; sha256="1qav7l64iqqdvr1v6c7hlzvbx7zbvsa55pyisvkq5rsayy1rdsl1"; depends=[mnormt mvtnorm rootSolve truncdist]; };
   BayesCTDesign = derive2 { name="BayesCTDesign"; version="0.6.1"; sha256="1277w6cv6b1s0wm492a79qrj9a4jzq1gizlpwkvwnvxzdl9f84r3"; depends=[eha ggplot2 reshape2 survival]; };
   BayesCombo = derive2 { name="BayesCombo"; version="1.0"; sha256="01rzjja0xzvqyjivl8a9da13v13ylm4dwv4f27cmgz2znakfg5y8"; depends=[]; };
@@ -430,7 +436,7 @@ in with self; {
   BayesGESM = derive2 { name="BayesGESM"; version="1.4"; sha256="0qw2byb48f67461m1k8a1rqh6a0c3zq1rc4ni9xzxv8dih4wkq0f"; depends=[Formula GIGrvg normalp]; };
   BayesGOF = derive2 { name="BayesGOF"; version="5.2"; sha256="17wm0228xq3db431abyi9jr0q1q86nnajsn7hmy4dwzgvrlz5s0i"; depends=[Bolstad2 nleqslv orthopolynom VGAM]; };
   BayesGPfit = derive2 { name="BayesGPfit"; version="0.1.0"; sha256="1sz0bb102h5fj1yz0k89cvcy0pvsh6rfm06i6lfz3pdhdjszsx00"; depends=[lattice]; };
-  BayesGWQS = derive2 { name="BayesGWQS"; version="0.0.2"; sha256="0xy71d121hl8mg71cfyqw3j0sjx46qj5bifdk55h7jyfynr80pax"; depends=[coda rjags]; };
+  BayesGWQS = derive2 { name="BayesGWQS"; version="0.1.1"; sha256="1vxln01194ipfhzid48x95hrpzkwylhr3nx1dh38rkfsg9fpl2af"; depends=[coda plyr rjags stringr]; };
   BayesLCA = derive2 { name="BayesLCA"; version="1.9"; sha256="11ji5s1njip57zkr4bxwp3agx1ddv7yagm5prn9ckcbasan4rbx1"; depends=[coda e1071 fields MCMCpack nlme]; };
   BayesLN = derive2 { name="BayesLN"; version="0.2.2"; sha256="1vxbc365g32q6b1rg68fg6dgzavzbq5wzhnwmnygn8pqk9malnxj"; depends=[coda data_table fAsianOptions ghyp lme4 MASS Matrix optimx Rcpp RcppEigen]; };
   BayesLogit = derive2 { name="BayesLogit"; version="2.1"; sha256="0w3bzk39sxdskwikcz5i0xwfsll4sqgkpr8vw8jvzlcy6dl3yhis"; depends=[]; };
@@ -440,7 +446,7 @@ in with self; {
   BayesMassBal = derive2 { name="BayesMassBal"; version="1.0.0"; sha256="158vwfp5wn9g28fg48zmd95lfsr6flmcdm4igfw4cmgp4w0w69lq"; depends=[coda HDInterval LaplacesDemon Matrix pracma Rdpack tmvtnorm]; };
   BayesMixSurv = derive2 { name="BayesMixSurv"; version="0.9.1"; sha256="19kf39881q00pap9afwvvggk4s4w3qpz17b7065nig1mvk8dnp8r"; depends=[survival]; };
   BayesNI = derive2 { name="BayesNI"; version="0.1"; sha256="0zvr6rkb5zxgl53xby69d0j3yrfnlcmac6kwkxz77q5616w9dwq0"; depends=[]; };
-  BayesNSGP = derive2 { name="BayesNSGP"; version="0.1.1"; sha256="11c83iafhl8yasyy8xwk9wladbj986xpmgc8d3yd9dxkic71flw8"; depends=[FNN Matrix nimble StatMatch]; };
+  BayesNSGP = derive2 { name="BayesNSGP"; version="0.1.2"; sha256="0va4gvyfwfdk3yvhdyxc49qlmzxfblwlmwqh79b93zkv8239kkk1"; depends=[FNN Matrix nimble StatMatch]; };
   BayesNetBP = derive2 { name="BayesNetBP"; version="1.5.9"; sha256="05khqmsr7p9x6s4h7ffkh1sa2aqj42f00z6xkxwm0xlxa6ji6v4s"; depends=[bnlearn doBy fields graph igraph RColorBrewer]; };
   BayesOrdDesign = derive2 { name="BayesOrdDesign"; version="0.1.0"; sha256="19fgx66r0hxm4ybjj9pw0xy4a6bw1rgfl0kjz6xwdyh9y9m3c8c6"; depends=[coda fda ggplot2 gsDesign madness ordinal R2jags rjags rjmcmc schoolmath superdiag tidyverse]; };
   BayesPPD = derive2 { name="BayesPPD"; version="1.0.4"; sha256="1kyr9f1r6m3zb095x88hgbma51si5b2vzddi7zkzl02ildkqghgl"; depends=[Rcpp RcppArmadillo RcppEigen RcppNumerical]; };
@@ -469,14 +475,15 @@ in with self; {
   BayesX = derive2 { name="BayesX"; version="0.3-1"; sha256="0g4cdkvicqzg75qgr62j89dc9mni38ai7705j6jbfx59vn6dbrr5"; depends=[coda colorspace maptools shapefiles sp]; };
   BayesXsrc = derive2 { name="BayesXsrc"; version="3.0-1.1"; sha256="00q7hwan8db1a3wxczksl52bghyhfql3wj7sjvq50zsp0pjr6vng"; depends=[]; };
   BayesianAnimalTracker = derive2 { name="BayesianAnimalTracker"; version="1.2"; sha256="1pgjijqznfdpvw296h5vksnxgspxs7qhy6s84ww7abnlhg59bz5s"; depends=[TrackReconstruction]; };
-  BayesianFROC = derive2 { name="BayesianFROC"; version="0.5.0"; sha256="0v19rpk8i0jrb3za6lsdwb97f2qkn3ja8sym8q43nqg5sfwsp5fw"; depends=[bridgesampling car crayon fastDummies ggplot2 knitr pracma Rcpp rhandsontable rstan shiny shinydashboard shinyjs shinythemes]; };
+  BayesianFROC = derive2 { name="BayesianFROC"; version="1.0.0"; sha256="03f0cj528cb4rhkzs4vw4k1wq4gxb3zq121pamjwhbal93b8mz7a"; depends=[bridgesampling car crayon fastDummies ggplot2 knitr pracma Rcpp rhandsontable rstan shiny shinydashboard shinyjs shinythemes]; };
   BayesianGLasso = derive2 { name="BayesianGLasso"; version="0.2.0"; sha256="09yb1qqx6qlsspk3ndrcqxy0956iqznw0rmyvqxgxxp3zd3y21xp"; depends=[MASS statmod]; };
   BayesianLaterality = derive2 { name="BayesianLaterality"; version="0.1.1"; sha256="1b8ndwnwsj2wzbjp3rivdsx5nsfg2rgv6mnlyp7jxaksxvf4ray7"; depends=[dplyr purrr Rdpack rlang tidyr tmvtnorm]; };
   BayesianNetwork = derive2 { name="BayesianNetwork"; version="0.1.5"; sha256="0vnnxzxz68dkfwr9wif8lam3a4khgbslbf49xkygqm8n1swysx2x"; depends=[bnlearn heatmaply lattice networkD3 plotly rintrojs shiny shinyAce shinydashboard shinytest shinyWidgets testthat]; };
   BayesianPower = derive2 { name="BayesianPower"; version="0.2.3"; sha256="00rn3wmqrhk2pssbq5j2prl8m6cgfarr49672pnksp2dcbi47p20"; depends=[]; };
-  BayesianReasoning = derive2 { name="BayesianReasoning"; version="0.4.0"; sha256="1lxrsqsm1p69liy6114hkdpn395f4ggxvq7sas2vrbfy7vhscs82"; depends=[dplyr ggforce ggplot2 magrittr reshape2 tibble tidyr]; };
+  BayesianReasoning = derive2 { name="BayesianReasoning"; version="0.4.1"; sha256="0j8fzn6xza3vg7qbfxwhjncll9yx985660dr75y9qhhz84jis3dv"; depends=[dplyr ggforce ggplot2 magrittr reshape2 tibble tidyr]; };
   BayesianTools = derive2 { name="BayesianTools"; version="0.1.7"; sha256="0330bbnny35h4gsmwg31p3n3i511wrckzmp174ydm55pvsdkhjdg"; depends=[bridgesampling coda DHARMa ellipse emulator gap IDPmisc MASS Matrix msm mvtnorm numDeriv Rcpp tmvtnorm]; };
   Bayesiangammareg = derive2 { name="Bayesiangammareg"; version="0.1.0"; sha256="0b0fqmig7vgmlrq2884q0apfd89nn5k4dj8rqjizkkbw4qpzmylb"; depends=[mvtnorm]; };
+  Bayesiantreg = derive2 { name="Bayesiantreg"; version="1.0"; sha256="0m8snwhjskwxdm0a2wsmf1j7d0xxvg4sh0ix64zss71l610wica7"; depends=[MASS Matrix mvtnorm]; };
   Bayesrel = derive2 { name="Bayesrel"; version="0.7.1"; sha256="080wxv9ik1ph7h74xfsa57dsddsvlvag0iybgrdajkn0svc5qb9m"; depends=[coda LaplacesDemon lavaan MASS Rcpp RcppArmadillo Rdpack]; };
   BcDiag = derive2 { name="BcDiag"; version="1.0.10"; sha256="1gyinmx5wn2kk70hiy28ghilkhfirfjbfqdrqq5h3wfb4khnq6pz"; depends=[fabia]; };
   Bchron = derive2 { name="Bchron"; version="4.7.6"; sha256="1s8bx9a5rpcrw0msnjf565crz3d2fykvy5fj1chbqxzjh7qm865w"; depends=[checkmate coda dplyr ggforce ggplot2 ggridges magrittr MASS mclust purrr scales stringr]; };
@@ -486,7 +493,7 @@ in with self; {
   BenfordTests = derive2 { name="BenfordTests"; version="1.2.0"; sha256="1nnj0w0zwcmg7maqmmpixx7alvsyxva370ssc26ahg6kxy5a621w"; depends=[]; };
   Bergm = derive2 { name="Bergm"; version="5.0.3"; sha256="0wi8l2xwfiw8slg37z2milck6js26iy0yaj7m6sxgfh16j3n2gwx"; depends=[coda ergm Matrix matrixcalc MCMCpack mvtnorm network statnet_common]; };
   Bessel = derive2 { name="Bessel"; version="0.6-0"; sha256="0iwm08nhlivi4zwcqdi296a1l4n4lfanfxhaysh9vcsyk1kpiacf"; depends=[Rmpfr]; };
-  Bestie = derive2 { name="Bestie"; version="0.1.3"; sha256="08999wvz0zm55b2yg2f4qdizl83fyppsij5lk20cwr60awbqc3gx"; depends=[BiDAG mvtnorm Rcpp]; };
+  Bestie = derive2 { name="Bestie"; version="0.1.4"; sha256="1w8d1zrxp5v0wlldzj0kmcrdwyn5f2klbdpkhd79hvpf3lpq6h68"; depends=[BiDAG mvtnorm Rcpp]; };
   BetaBit = derive2 { name="BetaBit"; version="1.4"; sha256="11cvl9m20ycc0zsxbdapjflgsiaxx4dzaygjhv948adjfi5fycbn"; depends=[digest]; };
   BetaPASS = derive2 { name="BetaPASS"; version="1.1-1"; sha256="17q1bfmijv38zyaj5fxlylf5zmkqry4ca9wm5km6zpksgsg2kjjq"; depends=[betareg ggplot2 pbapply]; };
   BeviMed = derive2 { name="BeviMed"; version="5.8"; sha256="12ngw3b05mqsf95svvkk5s8w0fs1yfbpbfk8x9a9v2yva5n65y7a"; depends=[Matrix Rcpp]; };
@@ -502,18 +509,16 @@ in with self; {
   BiasedUrn = derive2 { name="BiasedUrn"; version="1.07"; sha256="13i2lgfnjhlbbm2yxfc2l5hswqw6x03pwba5csjmirv8kpjw4xr3"; depends=[]; };
   BibPlots = derive2 { name="BibPlots"; version="0.0.8"; sha256="0zvbyh8spr0ywj64b2rc8jcq4fgn87858km4mkkh17g30ympg767"; depends=[]; };
   BifactorIndicesCalculator = derive2 { name="BifactorIndicesCalculator"; version="0.2.2"; sha256="1vnwksw0j4lc2knlcmm5748pf4d7r44sn34s1mrv9p50hlnkk85p"; depends=[lavaan mirt mnormt MplusAutomation tidyr]; };
-  BigDataStatMeth = derive2 { name="BigDataStatMeth"; version="0.99.14"; sha256="05mmi12wn0xis4vwjn9zi3gcpxm9jmp7kpfazxsasbwgvrdd9k3q"; depends=[beachmat BH data_table Rcpp RcppEigen RcppParallel RCurl rhdf5 Rhdf5lib RSpectra]; };
-  BigQuic = derive2 { name="BigQuic"; version="1.1-9.1"; sha256="0b1vi06zakxcw045h6dnx6sy1fxzsmh69zh0m34vwr0rd18rrj5j"; depends=[Matrix Rcpp scalreg]; };
-  BigTSP = derive2 { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[gbm glmnet randomForest tree]; };
+  BigQuic = derive2 { name="BigQuic"; version="1.1-10"; sha256="0gq55419vwd52k626igjjvb6fwmq3q5sc57x0r56qippzgljqlwv"; depends=[Matrix Rcpp scalreg]; };
   BigVAR = derive2 { name="BigVAR"; version="1.0.6"; sha256="03d5a61clkngq67mkf2pyjj3k633kxp7g37myfplbxi55bdfmdlz"; depends=[lattice MASS Rcpp RcppArmadillo RcppEigen zoo]; };
   BimodalIndex = derive2 { name="BimodalIndex"; version="1.1.9"; sha256="1m1dcj0ryjicaqjlkch7aymsklmvjvn2dvnbssi1cpi54bzn8l7g"; depends=[mclust oompaBase]; };
   BinGSD = derive2 { name="BinGSD"; version="0.0.1"; sha256="0ygr5na7s82xa6vv9f3j6ns5sfhdacyykl1fg422lpkwbss39dnn"; depends=[mvtnorm]; };
-  BinMat = derive2 { name="BinMat"; version="0.1.2"; sha256="17f5aaz8csfs1x1x7dxvbi4g97cp75kz7ikijsyk4pgpalld58a4"; depends=[magrittr MASS pvclust]; };
+  BinMat = derive2 { name="BinMat"; version="0.1.3"; sha256="0wfvi02srdjchnsyi0vd8ym1jck68xmysfqn97d7h6psnxngq9vi"; depends=[ggpubr magrittr MASS pvclust tibble]; };
   BinNonNor = derive2 { name="BinNonNor"; version="1.5.3"; sha256="0ijjv2w4bx0i3mks7s4vii21hc9iq69p3jld1qg68a6115njsm24"; depends=[BB corpcor Matrix mvtnorm]; };
   BinNor = derive2 { name="BinNor"; version="2.3.3"; sha256="07r7nf4ygilp470z93x9dc5zddc96m2dkw6d2s4an8fbr4pljc1y"; depends=[corpcor Matrix mvtnorm psych]; };
   BinOrdNonNor = derive2 { name="BinOrdNonNor"; version="1.5.2"; sha256="17981jfjjgsfzjwbv9cjgqdha846rf03nfd8kgj4wiljgz855mz9"; depends=[BB corpcor GenOrd Matrix mvtnorm OrdNor]; };
   BinQuasi = derive2 { name="BinQuasi"; version="0.1-6"; sha256="0jf7zf3yqr2kgcm6h35234x2dqf65d2dzsh63b4q8m5l36r77k59"; depends=[BiocGenerics csaw edgeR GenomicAlignments GenomicRanges IRanges mgcv pracma quadprog RMySQL Rsamtools S4Vectors SummarizedExperiment]; };
-  BinSegBstrap = derive2 { name="BinSegBstrap"; version="1.0"; sha256="0iia9sbpnqp07h591d7ifvxq74nvnv0xspka2479qy7il9p65d3r"; depends=[Rcpp]; };
+  BinSegBstrap = derive2 { name="BinSegBstrap"; version="1.0-1"; sha256="1ikaqhcymy27qrpf85a23dpazy8gd407yi0z0w3nl5l38clz4h8w"; depends=[Rcpp]; };
   Binarize = derive2 { name="Binarize"; version="1.3"; sha256="0xmgxlfyvgkv7xpngy9am6ihzwbjbfgp7psfnyhb1v0kj9iy7ids"; depends=[diptest]; };
   BinaryDosage = derive2 { name="BinaryDosage"; version="1.0.0"; sha256="10nf11c57j0ls4znm137w831s7zmihg7bybrfg666hx7c9amspjw"; depends=[digest prodlim Rcpp]; };
   BinaryEMVS = derive2 { name="BinaryEMVS"; version="0.1"; sha256="1ainp6pg481yqhjc4f1pkxzxczbi3qm0kgq280vndq859ldfkpnh"; depends=[]; };
@@ -531,12 +536,12 @@ in with self; {
   BiocManager = derive2 { name="BiocManager"; version="1.30.16"; sha256="0m9qxwqajg8lp0z06blbpgk3zw0z73aly1cvmjk6mvwja6jm99vm"; depends=[]; };
   Biocomb = derive2 { name="Biocomb"; version="0.4"; sha256="0jqfac81r5731m0i9jq7v5ns9263p8r7i03jyz10y915kfr6ikh6"; depends=[arules class e1071 FSelector gtools MASS nnet pamr pROC randomForest Rcpp rgl ROCR rpart RWeka]; };
   Biodem = derive2 { name="Biodem"; version="0.5"; sha256="1phnq6zq96i6z7jj196png3spjpbbx5p2s8iya0vvbfik12ivzkc"; depends=[]; };
-  BiodiversityR = derive2 { name="BiodiversityR"; version="2.13-1"; sha256="0x9z9v79mxzqsvi6v93ffm440fkbfqb1x6wd8csy6zwrg5xyj8cb"; depends=[Rcmdr vegan]; };
+  BiodiversityR = derive2 { name="BiodiversityR"; version="2.14-1"; sha256="1pla3jqjawcii7skpc3yc2pmkc8r8cm507b50r2lg2criy0xf4fx"; depends=[Rcmdr vegan]; };
   Bioi = derive2 { name="Bioi"; version="0.2.10"; sha256="1ay8889490nfhxhh72fvk9z4h58xknm2b145xhbx2wbzj65zf9ib"; depends=[assertthat dplyr igraph Rcpp]; };
   Biolinv = derive2 { name="Biolinv"; version="0.1-3"; sha256="1c081rhbgl6n76p2knaiyvjx0l02slix92vgfl2spss5cb9qzkln"; depends=[classInt fields raster sp spatstat spatstat_core spatstat_geom]; };
   Biopeak = derive2 { name="Biopeak"; version="1.0"; sha256="1l08m1jl8yygbdfzk8klpj1q2m7icvxi98vmk7akxs0sswjc6wd2"; depends=[cluster dbscan factoextra gplots RColorBrewer]; };
   Bios2cor = derive2 { name="Bios2cor"; version="2.2"; sha256="1wkj9vr33m9jilidil9jpw5rzr3pf7gkimxdvch22ks4bgkx7l1w"; depends=[bigmemory bio3d circular igraph]; };
-  Biostatistics = derive2 { name="Biostatistics"; version="1.0.3"; sha256="1005i99gaj2qj1qgpxz1i4yhd9h5y1dixvh70pr1a2igqf88cziv"; depends=[learnr]; };
+  Biostatistics = derive2 { name="Biostatistics"; version="1.0.4"; sha256="1fcrj53rqg7mdhrrsl95l0n6hycb0863isch2f6zzsqdqbxhq7dh"; depends=[learnr]; };
   BiplotML = derive2 { name="BiplotML"; version="1.0.1"; sha256="08n5cxylzj9d3x2b9pbs14viw63wn1k7kdgayp017v6mj9s09wpl"; depends=[optimr optimx shapes]; };
   BisRNA = derive2 { name="BisRNA"; version="0.2.2"; sha256="11jl5109nlm272vncprwplkz4kpvg7yx6yfnbjg47lfrsxcj8n0g"; depends=[MASS]; };
   BisqueRNA = derive2 { name="BisqueRNA"; version="1.0.5"; sha256="0p3p5lp69gri7vs6qfpm7br4ksbs4l7clm4nj8ki99wpqiqni23n"; depends=[Biobase limSolve]; };
@@ -582,7 +587,7 @@ in with self; {
   Branching = derive2 { name="Branching"; version="0.9.4"; sha256="1c209gdasm7qipv2gg4d1hr0jmhnzz5rddgjxb7xacazc0c2mhff"; depends=[]; };
   BrazilMet = derive2 { name="BrazilMet"; version="0.1.0"; sha256="0yrc0ha7ysmad7l0kwylgmmd0b5zy86dsba4lrj8qa294lgxl5fa"; depends=[dplyr readxl stringr tidyr]; };
   BreakPoints = derive2 { name="BreakPoints"; version="1.2"; sha256="125fvzkmfnriyd4y4nywj5ihm766xlsyi7dpnq57fa9d38ffbyf2"; depends=[MASS zoo]; };
-  Brobdingnag = derive2 { name="Brobdingnag"; version="1.2-6"; sha256="1m3ajvcksqfck5l5hj5xiflj4ry6d896ybv4f0xxks8chgnwmv0r"; depends=[]; };
+  Brobdingnag = derive2 { name="Brobdingnag"; version="1.2-7"; sha256="0hnp5nrpnscykvgrrbgp7987660hcbv92zc2q8lmpnin4ws399vk"; depends=[]; };
   BrownDog = derive2 { name="BrownDog"; version="0.2.1"; sha256="0wnf1jcf4cakbvj9j1l7jk9mq7gd4j1il1ha2vglghqn04f27938"; depends=[httpuv jsonlite RCurl]; };
   Brq = derive2 { name="Brq"; version="3.0"; sha256="1gppp959i9kr8pdvn336v28gg9h0jl8qg6pqvzvp5wf257z8m4l8"; depends=[]; };
   Brundle = derive2 { name="Brundle"; version="1.0.9"; sha256="0z17wgmi272738n8pn6r60v5gbg8cbmwhc94s8f3vipa44h690bc"; depends=[DESeq2 DiffBind lattice Rsamtools]; };
@@ -593,10 +598,10 @@ in with self; {
   BurStFin = derive2 { name="BurStFin"; version="1.02"; sha256="16w2s0bg73swdps9r0i8lwvf1najiqyx7w7f91xrsfhmnqkkjzka"; depends=[]; };
   BurStMisc = derive2 { name="BurStMisc"; version="1.1"; sha256="0cyi42zkn2dby162x9f95b3hpqxbzx25s7nahb4p86r60xj3a5c0"; depends=[]; };
   BusinessDuration = derive2 { name="BusinessDuration"; version="0.2.0"; sha256="17923n1r3n8kp7qqzr2dv8ffax355yyc3b9f6mv2hxy6k31hrrb8"; depends=[chron]; };
-  BuyseTest = derive2 { name="BuyseTest"; version="2.3.9"; sha256="0qvwv1yg18f4q3k5iad25zl3ww8zqas1miamk456wlqb345rfakx"; depends=[data_table doParallel foreach ggplot2 lava prodlim Rcpp RcppArmadillo riskRegression]; };
+  BuyseTest = derive2 { name="BuyseTest"; version="2.3.10"; sha256="19mp6hyj4fdq7gmpd9jfg6rgf7mazbgxzpf9fs258s91pm35vljp"; depends=[data_table doParallel foreach ggplot2 lava prodlim Rcpp RcppArmadillo riskRegression]; };
   Bvalue = derive2 { name="Bvalue"; version="1.0"; sha256="17zlllzjrcq4grggal3hlg384990n62wnflr2g21fa6hcnglwy7d"; depends=[]; };
   C443 = derive2 { name="C443"; version="3.2.2"; sha256="0fs8pcqwhb9wqwharghr05v6jvgsqln3mya2v0zzcmir6qql33v2"; depends=[cluster ggplot2 gridExtra igraph MASS partykit plyr qgraph RColorBrewer reshape2 rpart]; };
-  C50 = derive2 { name="C50"; version="0.1.5"; sha256="1mqn7xzl9sbx61jhhkiq1gllwf8s6l1cgz7mck53461p6147phgh"; depends=[Cubist partykit]; };
+  C50 = derive2 { name="C50"; version="0.1.6"; sha256="1d4cy6xps17c97r5hipa2ar9hrw17iq1ld7afv5fd1v2cpic086c"; depends=[Cubist partykit]; };
   CA3variants = derive2 { name="CA3variants"; version="3.0"; sha256="0n0a4rxaskz94kibcycrsg46w8r515r4pzadvlv6b43qpgwrqh92"; depends=[checkmate ggforce ggplot2 ggrepel gridExtra multichull plotly]; };
   CADFtest = derive2 { name="CADFtest"; version="0.3-3"; sha256="06bwv728ckalzibxginzfica24w18m4g87i0i064m3q89ghmnlqm"; depends=[dynlm sandwich tseries urca]; };
   CADStat = derive2 { name="CADStat"; version="3.0.8"; sha256="0wdglw1vyd5gz70r9ma0mwshvizv39nb4ahp8pvr70c4qqzsfhc0"; depends=[bio_infer car gdata gmodels JavaGD JGR lattice MASS quantreg rJava rpart XML]; };
@@ -625,7 +630,7 @@ in with self; {
   CB2 = derive2 { name="CB2"; version="1.3.4"; sha256="0431bd956hmkrhs9x845vjwbzzwzd7n9nfx9y95mv6qv84zd4wv2"; depends=[dplyr ggplot2 glue magrittr metap pheatmap R_utils Rcpp RcppArmadillo readr stringr tibble tidyr]; };
   CBCgrps = derive2 { name="CBCgrps"; version="2.8.2"; sha256="0z34vcdq5lp1l15l3a67lpvfla0g0qsb5ijbc9h575h7fpf28jqf"; depends=[nortest]; };
   CBDA = derive2 { name="CBDA"; version="1.0.0"; sha256="0qm77vvqjgi83i8izly995ziv9ski8kgzqyq4g81i2k7a5dp8vxv"; depends=[doParallel foreach prettydoc SuperLearner]; };
-  CBPS = derive2 { name="CBPS"; version="0.22"; sha256="1vws60xfn8hnh9hsmps0wxm21rr4ms3fx8m02myp60jzfvk4g4ni"; depends=[glmnet MASS MatchIt nnet numDeriv]; };
+  CBPS = derive2 { name="CBPS"; version="0.23"; sha256="0bdkx7phi58200jgijqmv5d7v2kiksj07sxx2sjmkd1dcjdy13zd"; depends=[glmnet MASS MatchIt nnet numDeriv]; };
   CBSr = derive2 { name="CBSr"; version="1.0.5"; sha256="175xx7igxpx2s9jl9ncjabqr6n05v5ipwm7shpqm19qfqxb4ygrz"; depends=[NlcOptim rJava]; };
   CBT = derive2 { name="CBT"; version="1.0"; sha256="13h6sf7w03nfq2arqymwww13ywnv9xnqbqazlzn856mj3ggaqda7"; depends=[]; };
   CC = derive2 { name="CC"; version="1.0"; sha256="189si37ggichqmzy8m686zw1cijix7yfy8ma5iqpnq1q9vm3pcvy"; depends=[]; };
@@ -635,7 +640,6 @@ in with self; {
   CCP = derive2 { name="CCP"; version="1.1"; sha256="07jxh33pb8llk1gx4rc80ppi35z8y1gwsf19zrca9w91aahcs8cx"; depends=[]; };
   CCTpack = derive2 { name="CCTpack"; version="1.5.2"; sha256="1kkxsk9x4jz2bvldmba7fsri3zc1cjz15z0xicjmfc7lj72ngdig"; depends=[MASS mvtnorm polycor psych R2jags rjags]; };
   CCWeights = derive2 { name="CCWeights"; version="0.1.6"; sha256="0in3pl1n48jal6f7kiyw60by11vbga8vr45x0wywghd7dz60ppfv"; depends=[bs4Dash dplyr DT fresh magrittr plotly readr readxl rmarkdown shiny]; };
-  CCpop = derive2 { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; };
   CDFt = derive2 { name="CDFt"; version="1.2"; sha256="19axaf3bh9gasnsfamd5ych1jn751scaplgwpmsf3liazcqqpa61"; depends=[]; };
   CDLasso = derive2 { name="CDLasso"; version="1.1"; sha256="0n699y18ia2yqpk78mszgggy7jz5dybwsi2y56kdyblddcmz1yv7"; depends=[]; };
   CDM = derive2 { name="CDM"; version="7.5-15"; sha256="159ny2dz0rf1r3k1mqlfwambffc8rx425sggf5bn51nybpzanq3l"; depends=[mvtnorm polycor Rcpp RcppArmadillo]; };
@@ -645,6 +649,7 @@ in with self; {
   CDVineCopulaConditional = derive2 { name="CDVineCopulaConditional"; version="0.1.1"; sha256="1wyy324vrwipdsq0p021bj1gdhyxg09g3dkw8wv5v6rfrrs84m9k"; depends=[combinat VineCopula]; };
   CDatanet = derive2 { name="CDatanet"; version="0.0.1"; sha256="05nh56w18bf1yk2i74ppslvd3307b6pqif7bbjcgm8q6nha2mrfq"; depends=[ddpcr Formula formula_tools Matrix Rcpp RcppArmadillo RcppProgress]; };
   CEC = derive2 { name="CEC"; version="0.10.3"; sha256="0yypiy5xxrlckly4qpnf1wxg4hwza4y4da6y0jz4ldz918vskaci"; depends=[]; };
+  CEDA = derive2 { name="CEDA"; version="1.0.2"; sha256="1nsflq7bnrakf564cazskdmba5xfamjyvm0gd5ws51qlxl1ajxv1"; depends=[ggplot2 limma mixtools]; };
   CEDARS = derive2 { name="CEDARS"; version="1.90"; sha256="1fngyc08kvilfd2d75gjg0s6c5zvjywym35sk568yzxnsz89b7yy"; depends=[fastmatch jsonlite mongolite readr shiny udpipe]; };
   CEGO = derive2 { name="CEGO"; version="2.4.2"; sha256="00nc6c1b6ylqlh6hm8lh8nasz7q12pqckdqbf1yq21khki9ldbll"; depends=[DEoptim fastmatch MASS Matrix ParamHelpers quadprog]; };
   CENFA = derive2 { name="CENFA"; version="1.1.1"; sha256="0b1zpazbqynlnmf8k25r5bjmidymskqc96xpmwqkl23xlz1f2x3s"; depends=[doSNOW foreach magrittr pbapply raster Rcpp snow sp]; };
@@ -656,6 +661,7 @@ in with self; {
   CGE = derive2 { name="CGE"; version="0.3.3"; sha256="0q1fv62159cx9z25488fxf6a6fi1m59hdh60ldypsjwil77q0s3i"; depends=[]; };
   CGGP = derive2 { name="CGGP"; version="1.0.3"; sha256="1g70hjpc33dnr6yw42kjhy9ngba05qzk5mr7md6pqhmbx0ykhr6g"; depends=[Rcpp RcppArmadillo]; };
   CGManalyzer = derive2 { name="CGManalyzer"; version="1.3"; sha256="1wmp5im18s447rjkj891skrm7558xkqlbx43n9hyxiqg49zq1ng9"; depends=[]; };
+  CGNM = derive2 { name="CGNM"; version="0.1.1"; sha256="0i43pqvyz1brzlypmqsiynw997x8rh8im65yvh4zlnh3bjwrvcrs"; depends=[ggplot2]; };
   CGP = derive2 { name="CGP"; version="2.1-1"; sha256="05a6gydlb99yk2jpy2hyg4c30hqyp8dg2i9dmbjc1n5cmgpg3im9"; depends=[]; };
   CGPfunctions = derive2 { name="CGPfunctions"; version="0.6.3"; sha256="12l3ww9wfrk8i0a63wv5h4ayqj6fj5fz5yvkiskvaaida32vds2m"; depends=[BayesFactor DescTools dplyr forcats ggmosaic ggplot2 ggrepel paletteer partykit purrr rlang scales sjstats stringr tidyr]; };
   CHCN = derive2 { name="CHCN"; version="1.5"; sha256="18n8f002w0p0l1s5mrrsyjddn10kdbb6b7jx1v9h1m81ifdbv0xb"; depends=[bitops RCurl]; };
@@ -675,6 +681,7 @@ in with self; {
   CINID = derive2 { name="CINID"; version="1.3-0"; sha256="06n5bwjr44rx0m12xradzaca26rvh01mlimbn0gr3jfzkmyj2f1g"; depends=[]; };
   CINNA = derive2 { name="CINNA"; version="1.1.55"; sha256="0xw3ndjy262ljv6mk43ysb7mf4m02kcb5kzz1gzdxdwhj3v7ylgb"; depends=[centiserve circlize corrplot dendextend factoextra FactoMineR GGally ggplot2 igraph intergraph network pheatmap plyr qdapTools Rtsne sna viridis]; };
   CINmetrics = derive2 { name="CINmetrics"; version="0.1.0"; sha256="1csh22b7ap7isnrjak7yp32hasxq8x4j094i9shrnzsz6sxcmc28"; depends=[]; };
+  CIS_DGLM = derive2 { name="CIS.DGLM"; version="0.1.0"; sha256="0c7jxfb8gaklf6p83152wb2nszm2p806p3n523xajf4ha368d3kq"; depends=[dglm dplyr ggplot2 RColorBrewer]; };
   CISE = derive2 { name="CISE"; version="0.1.0"; sha256="10mbi4v8dfdc9ngnrrmxpng8fnig5m8nv7799jksbcf6pnj8yv51"; depends=[far gdata glmnet MASS Matrix rARPACK]; };
   CITAN = derive2 { name="CITAN"; version="2021.11-1"; sha256="15dy0n8yms8c01wp38wnn6541a9gq8q7x4sb76ggm9y4bldj6xj3"; depends=[agop DBI hash RSQLite stringi]; };
   CIplot = derive2 { name="CIplot"; version="1.0"; sha256="0hx3dn7d8hvsh75747d9046iqriy3bjnchph8xllnvlhkrm4di1f"; depends=[MASS multcomp]; };
@@ -687,7 +694,7 @@ in with self; {
   CLONETv2 = derive2 { name="CLONETv2"; version="2.2.1"; sha256="1axkkagydpxdrz7ypw3x7bavaxk34lzj9bsdn1nah9nfr3cdia6h"; depends=[arules dbscan ggplot2 ggrepel sets]; };
   CLSOCP = derive2 { name="CLSOCP"; version="1.0"; sha256="0rkwq9rl2ph4h5zwb2i3yphjyzxmh6b6k23a8gcczycx6xdq4yhw"; depends=[Matrix]; };
   CLUSTShiny = derive2 { name="CLUSTShiny"; version="0.1.0"; sha256="19mh5g1ylvlab4xjxw7girxk9zkpxxczhbfijf11b592hbw0qxqk"; depends=[cluster dplyr klaR MASS psycho rmarkdown shiny]; };
-  CLVTools = derive2 { name="CLVTools"; version="0.8.1"; sha256="0c1wsfgzq8w4q0zg7cg2j1yhljqjcnx93qf0w4xdwvbam96pb4z6"; depends=[data_table ggplot2 lubridate MASS Matrix optimx Rcpp RcppArmadillo RcppGSL]; };
+  CLVTools = derive2 { name="CLVTools"; version="0.9.0"; sha256="11vifpsq3acdkrkjpssd29w69rwxccv7848rd71375dc26x22sw1"; depends=[data_table ggplot2 lubridate MASS Matrix optimx Rcpp RcppArmadillo RcppGSL]; };
   CMAPSS = derive2 { name="CMAPSS"; version="0.1.1"; sha256="1rig2v1cl9ybnbikqfwbp4ji1jcxm6383xbdf8wz2f3lxk7iis8z"; depends=[Rdpack]; };
   CMC = derive2 { name="CMC"; version="1.0"; sha256="1r9a5k79fyw01yiwxq02327hpn4l1v2lp0958jj9217wxmhn3pr5"; depends=[]; };
   CMF = derive2 { name="CMF"; version="1.0.2"; sha256="0hm6srsylg1syz86iz93qyxr7xgh1qvmp27k2hgkj1z1z8lsw1ca"; depends=[Rcpp]; };
@@ -695,7 +702,7 @@ in with self; {
   CMShiny = derive2 { name="CMShiny"; version="0.1.0"; sha256="0ciis3930yhn4dmazsg2yp7wi9hdfj5slr032x8qfllxis7m4k0w"; depends=[caret e1071 epitools Matrix rmarkdown shiny shinyMatrix]; };
   CMapViz = derive2 { name="CMapViz"; version="0.1.0"; sha256="1s7xyp13p7fpbq0bghk07dfv90339kxs7k3343jqhrn8djf3as67"; depends=[dplyr ggplot2 readxl reshape2 scales stringr]; };
   CMatching = derive2 { name="CMatching"; version="2.3.0"; sha256="0q0hplhsamj46z7g6pa7yg1bap5822ka1419yhcip551djhvnpmv"; depends=[lme4 lmtest Matching multiwayvcov]; };
-  CMplot = derive2 { name="CMplot"; version="3.7.0"; sha256="0d6ww8pdrawdg5acbhiyi2jpmapf2ghixy9mi4kmsq8yg36pksfh"; depends=[]; };
+  CMplot = derive2 { name="CMplot"; version="4.0.0"; sha256="0xyh75y0c84nnkrv6c8xrvla54w51phgdwn8a69799f2r87z7c81"; depends=[]; };
   CNAIM = derive2 { name="CNAIM"; version="1.0.1"; sha256="1k1n4a60mslkrazarn12yaj54kibqsdhj44himpcjvf4kzv8k7vd"; depends=[dplyr htmltools htmlwidgets jsonlite magrittr plyr r2d3 readxl stringr testthat tibble widgetframe]; };
   CNLTreg = derive2 { name="CNLTreg"; version="0.1-2"; sha256="07yi0ajil1113663v3gp5d3453r4l9qm442jnpydx4ygvjk7m2ha"; depends=[adlift miscTools nlt]; };
   CNLTtsa = derive2 { name="CNLTtsa"; version="0.1-2"; sha256="1vy0jjg6s8yvsvkx4pin183y5bnikm5cmjcpa9znz9dj1w6hwr5r"; depends=[adlift CNLTreg fields nlt]; };
@@ -724,6 +731,7 @@ in with self; {
   CP = derive2 { name="CP"; version="1.6"; sha256="18zblf13riiz3mq3hkvg6vhiwjzpsn6mvgc2p0bqyldy98v4aisd"; depends=[survival]; };
   CPAT = derive2 { name="CPAT"; version="0.1.0"; sha256="0zygncwww3cazwmx06bhzq0g41xcqfpw307azdhygc8jmcy6qj71"; depends=[purrr Rcpp RcppArmadillo Rdpack]; };
   CPBayes = derive2 { name="CPBayes"; version="1.1.0"; sha256="1kw0r8spqm0s7cb3w5gplw67mhfmcbbf3ligngbary77ghkzirnb"; depends=[forestplot MASS mvtnorm purrr]; };
+  CPE = derive2 { name="CPE"; version="1.5.2"; sha256="1m6v104hhxl12zc6lmwm2g5jh3ppyi0m18m1zl30xcid6agayq6v"; depends=[rms survival]; };
   CPGLIB = derive2 { name="CPGLIB"; version="1.0.1"; sha256="18gf0l7fqfi4vl0aylna6s7n6f4kwlaxkqnbdy2qgrvr5vs2j0qn"; depends=[Rcpp RcppArmadillo]; };
   CPMCGLM = derive2 { name="CPMCGLM"; version="1.2"; sha256="07hx2ik5zg05w1h6i94398mp54q958phws9ydgp6syjqlp9dpf1p"; depends=[abind mvtnorm plyr]; };
   CPNCoverageAnalysis = derive2 { name="CPNCoverageAnalysis"; version="1.1.0"; sha256="0w4yw6d41sgl1ypcmp3bxgz4p3cpnbqx73id17zklid4avr3y9yi"; depends=[]; };
@@ -789,11 +797,12 @@ in with self; {
   CatDataAnalysis = derive2 { name="CatDataAnalysis"; version="0.1-3"; sha256="15wz7yjb83rd6d3xx0lb0p4x3ccnqpdkfanmbhykia50y8y32k5n"; depends=[]; };
   CatDyn = derive2 { name="CatDyn"; version="1.1-1"; sha256="0gkaxs7apqhq7mp3chjsyhrnk3qkk11f8p7smmyj6h73888ry8jn"; depends=[BB optimx]; };
   CatEncoders = derive2 { name="CatEncoders"; version="0.1.1"; sha256="1q9wzq06lac8z9y8b65alsxpb48bw8wqmifd893kknk51xq6r9kl"; depends=[data_table Matrix]; };
+  CatPredi = derive2 { name="CatPredi"; version="1.3"; sha256="0wj37pav20s273ha8pwmzypcdl8frakrxn5k149lg6vkgl6qmj8x"; depends=[mgcv rgenoud rms survival]; };
   CatReg = derive2 { name="CatReg"; version="2.0.3"; sha256="02pxarc4v45w8ncx8hq084m69qgl9s2lkrv1biz60vrvl99dg016"; depends=[Rcpp Rdpack]; };
   CateSelection = derive2 { name="CateSelection"; version="1.0"; sha256="194lk6anrb05gaarwdg8lj5wm6k61b4r702cja3nf3z91i8paqi7"; depends=[]; };
   CauchyCP = derive2 { name="CauchyCP"; version="0.1.0"; sha256="012aw8cgrwwcsbs93nfsdlv1j72mc96gaxvdrhs9njqd9anamsgl"; depends=[survival]; };
   CausalGAM = derive2 { name="CausalGAM"; version="0.1-4"; sha256="1riz11hfg96iks7734rg692l75nfrd3hmr9gw563j27rkk1nfkl6"; depends=[gam]; };
-  CausalGPS = derive2 { name="CausalGPS"; version="0.2.6"; sha256="0ynqyjm3a9cqq3dfkcfc5bj0gj6idrhibmfq1vyllai5v19s8p28"; depends=[data_table earth gam ggplot2 gnm KernSmooth logger MASS polycor ranger Rcpp rlang SuperLearner tidyr wCorr xgboost]; };
+  CausalGPS = derive2 { name="CausalGPS"; version="0.2.7"; sha256="07izwbz9j664p9c210d21i86w41ql5fs5fwmm7kbwbczdzx7kh7q"; depends=[data_table earth gam ggplot2 gnm KernSmooth logger MASS polycor ranger Rcpp rlang SuperLearner tidyr wCorr xgboost]; };
   CausalImpact = derive2 { name="CausalImpact"; version="1.2.7"; sha256="1sbi58zs39cxyq4h8d9h9w2s2qbnj5jkpc68cibwxlzkyllaks52"; depends=[assertthat Boom bsts dplyr ggplot2 zoo]; };
   CausalKinetiX = derive2 { name="CausalKinetiX"; version="0.2.1"; sha256="0haxw4vvbw48hlvsl1d1y3xm48qm5vl0d3k5lj89ajwc618nk5jg"; depends=[cvTools deSolve fda glmnet pspline quadprog randomForest sundialr]; };
   CausalMBSTS = derive2 { name="CausalMBSTS"; version="0.1.1"; sha256="1mjw2zyddkci6vkbyz3d94l5z1aj3rc2w6lag5igbfv4q0n5qcrp"; depends=[CholWishart forecast KFAS MASS Matrix MixMatrix]; };
@@ -810,16 +819,16 @@ in with self; {
   CerioliOutlierDetection = derive2 { name="CerioliOutlierDetection"; version="1.1.9"; sha256="0s3pd4y165v69m4wmg9jlc7dl4gz64la9yic67l3n4242wa84p19"; depends=[robustbase]; };
   CfEstimateQuantiles = derive2 { name="CfEstimateQuantiles"; version="1.0"; sha256="1qf85pnl81r0ym1mmsrhbshwi4h1iv19a2wjnghbylpjaslgxp6i"; depends=[]; };
   ChIPtest = derive2 { name="ChIPtest"; version="1.0"; sha256="1yn5b5s56k2dbhw6damxj18xbaiz180ym7fiq2i3p2gkcgwpddbz"; depends=[]; };
-  ChainLadder = derive2 { name="ChainLadder"; version="0.2.14"; sha256="02zy3aj03mi6a2kb9g8bm2v8dhmswxp5b2d0mald28sa188cnp21"; depends=[actuar cplm ggplot2 lattice MASS Matrix statmod systemfit tweedie]; };
+  ChainLadder = derive2 { name="ChainLadder"; version="0.2.15"; sha256="1csi6hbbxnm4ilss2qganimh2sqgk2xb8dxa6fz0bdh0s5f6x79j"; depends=[actuar cplm ggplot2 lattice MASS Matrix statmod systemfit tweedie]; };
   ChangePointTaylor = derive2 { name="ChangePointTaylor"; version="0.1.1"; sha256="1jfymyqdcyxfgn15y0iff7midkfd69fh3amz201idg6248g1y6n8"; depends=[bench dplyr ggplot2 magrittr purrr Rcpp rlang tidyr]; };
   ChangepointTesting = derive2 { name="ChangepointTesting"; version="1.0"; sha256="1nb78b1jpp0wpy9ah2fxkh53hlmb2f82b68msbfhancb8zp2lclv"; depends=[]; };
-  ChannelAttribution = derive2 { name="ChannelAttribution"; version="2.0.4"; sha256="1m9fwlkd39q5dmlw71rasj2cjnlj03295ck9lgb7yl72v7sws22d"; depends=[Rcpp RcppArmadillo]; };
+  ChannelAttribution = derive2 { name="ChannelAttribution"; version="2.0.5"; sha256="09qdj93al6r7pg9s2xvwks7d73bgjsn1k7h8rcdzf245r89l8726"; depends=[Rcpp RcppArmadillo]; };
   ChannelAttributionApp = derive2 { name="ChannelAttributionApp"; version="1.3"; sha256="0n9g8wwvc8p5clypl7z23w8fs6d0c47bblijwd4pjwy26bcb4m8h"; depends=[ChannelAttribution data_table ggplot2 shiny]; };
   Chaos01 = derive2 { name="Chaos01"; version="1.2.1"; sha256="1wk70l1y0yzbjcjp0r334l1q3hzki0vzn6wbza97mq9pz8wp050r"; depends=[]; };
   ChaosGame = derive2 { name="ChaosGame"; version="1.1"; sha256="1gwrym3vjcqlj0ih479ipbajypajy9ga9sr3laj7g5zxx3cm4y4c"; depends=[colorRamps ggplot2 gridExtra plot3D RColorBrewer rgl sphereplot]; };
   ChargeTransport = derive2 { name="ChargeTransport"; version="1.0.2"; sha256="0mq06ckp3yyj5g1z2sla79fiqdk2nlbclm618frhqcgmq93h0vha"; depends=[]; };
   CheckDigit = derive2 { name="CheckDigit"; version="0.1-1"; sha256="0091q9f77a0n701n668zaghi6b2k3n2jlb1y91nghijkv32a7d0j"; depends=[]; };
-  ChemoSpec = derive2 { name="ChemoSpec"; version="6.0.1"; sha256="1kcvfd0vhpn81bw4a46jnfrfn6nhsllxc7bfh4i0qwbp2wr1gaf5"; depends=[ChemoSpecUtils ggplot2 magrittr patchwork plotly plyr readJDX reshape2]; };
+  ChemoSpec = derive2 { name="ChemoSpec"; version="6.1.0"; sha256="01g0jlg77j5aw9jraghn5vpx7bb13wc2h6c8002xmd65j0vxsxig"; depends=[ChemoSpecUtils ggplot2 magrittr patchwork plotly plyr readJDX reshape2]; };
   ChemoSpec2D = derive2 { name="ChemoSpec2D"; version="0.5.0"; sha256="05k46fn2i0ipn14zignxvykr8018wxql26x2r5b479hbkg1rk5s4"; depends=[ChemoSpecUtils colorspace ggplot2 readJDX]; };
   ChemoSpecUtils = derive2 { name="ChemoSpecUtils"; version="1.0.0"; sha256="15w9v4g7myw0ygd9dvalz900yzgz5j2jnmw4j3zfp04fgm3wgbfq"; depends=[ggplot2 ggrepel magrittr plotly plyr]; };
   ChillModels = derive2 { name="ChillModels"; version="1.0.2"; sha256="06hgg893anh5z8an4l1xl4liz7d0m79n21h116vkdlymayccydbr"; depends=[]; };
@@ -835,7 +844,7 @@ in with self; {
   CircularDDM = derive2 { name="CircularDDM"; version="0.1.0"; sha256="1wxdjj7dndvhvl00cykcrwmw9f7halsg3a0db56kp2mhf54rj37z"; depends=[Rcpp RcppArmadillo]; };
   CityPlot = derive2 { name="CityPlot"; version="2.0"; sha256="0lskgxmagqjglvpq39hgbygkf4qp28i2bj6b4m2av1s3pzb4465g"; depends=[]; };
   CityWaterBalance = derive2 { name="CityWaterBalance"; version="0.1.0"; sha256="0nvm6bv2cxszjf33xgn1xcvhrgrgbdcar0jahwf7bs03gdlpmgi1"; depends=[dataRetrieval dplyr EcoHydRology geoknife lubridate reshape2 tgp xts zoo]; };
-  Ckmeans_1d_dp = derive2 { name="Ckmeans.1d.dp"; version="4.3.3"; sha256="0k08smvgplzcjq1rdbxyalw6iynr129bhdq0wcdn95baqpb5w556"; depends=[Rcpp Rdpack]; };
+  Ckmeans_1d_dp = derive2 { name="Ckmeans.1d.dp"; version="4.3.4"; sha256="1lr9pang73hzmwlak9hc9sgsnqkw06ipfarfdbxz5ycibasvb4a6"; depends=[Rcpp Rdpack]; };
   Claddis = derive2 { name="Claddis"; version="0.6.3"; sha256="0wq34n6vj5sdc22yf9p4g9iy8ssgr4kkrsr2ak4sqahadwgngl8i"; depends=[ape clipr geoscale phytools strap]; };
   ClaimsProblems = derive2 { name="ClaimsProblems"; version="0.1.0"; sha256="1v2bs6mz2jfsv4v3p3gmmpv8fg565nbqcnfcg6clgs9d54w6qrnm"; depends=[geometry rgl]; };
   ClamR = derive2 { name="ClamR"; version="2.1-1"; sha256="0raz1n79g24a9mc93zj49r20xcmdziw6vvcw5sd3qyjp1ycia13c"; depends=[]; };
@@ -846,9 +855,7 @@ in with self; {
   ClickClustCont = derive2 { name="ClickClustCont"; version="0.1.7"; sha256="1caymvpwvxq4rirnjm2kwzvqm1pl01rdc3785k8mq4k2m0n6l2rz"; depends=[gtools]; };
   CliftLRD = derive2 { name="CliftLRD"; version="0.1-1"; sha256="0qsdv568klxg6chgw329jbfjmf6w61hly2vxp90yzdfkca03z2s4"; depends=[CNLTreg liftLRD]; };
   ClimClass = derive2 { name="ClimClass"; version="2.1.0"; sha256="1r836md31z2r5d9xckkbalzbhm4kf5paljv71kxpy53q92k7yi91"; depends=[geosphere ggplot2 reshape2]; };
-  ClimDown = derive2 { name="ClimDown"; version="1.0.8"; sha256="0qcag9jwvhi9yss55wy5jxabrvym9hljn1fs5gfkzjs5hiwv3gxv"; depends=[abind fields foreach ncdf4 PCICt seas udunits2]; };
   ClimInd = derive2 { name="ClimInd"; version="0.1-3"; sha256="0n5kd001nkpks16c3msvn2qvzyrjawa2rqwh8zph2qr5hgpwcpg7"; depends=[chron SPEI weathermetrics]; };
-  ClimMobTools = derive2 { name="ClimMobTools"; version="0.4.2"; sha256="0y0x5h281xr7bcwqzl19x5azysnf8f2bwqcncm2bnka1wvlckjby"; depends=[climatrends httr jsonlite Matrix PlackettLuce RSpectra sf]; };
   ClimProjDiags = derive2 { name="ClimProjDiags"; version="0.1.3"; sha256="1grhg0ajf5lfm7pi5mm0hgp0cmln1jwrgkrfb4ci85fpqn96ddji"; depends=[climdex_pcic multiApply PCICt plyr]; };
   ClinSigMeasures = derive2 { name="ClinSigMeasures"; version="1.0"; sha256="0fw89a1q92ck32z6w4zn1ldvky6ag1gi7b9bbv10mhmqhq4w3k58"; depends=[]; };
   ClinicalTrialSummary = derive2 { name="ClinicalTrialSummary"; version="1.1.1"; sha256="0b5by4sn9yvrvxr9921yqsgp8ma3g1hi2qbp5j9m836db1zjhyla"; depends=[Rcpp]; };
@@ -862,7 +869,7 @@ in with self; {
   ClusTorus = derive2 { name="ClusTorus"; version="0.2.2"; sha256="052jq96xr9qrc203ib11qsni50j0jzdpfwmbnd5rypfvff6w5kxc"; depends=[BAMBI cowplot ggplot2 igraph purrr rlang]; };
   ClusVis = derive2 { name="ClusVis"; version="1.2.0"; sha256="06yckdl3gxjia1gjjqpc29lvy4f7qf47fncslng9ggjnks6il145"; depends=[MASS mgcv mvtnorm Rcpp RcppArmadillo Rmixmod VarSelLCM]; };
   ClussCluster = derive2 { name="ClussCluster"; version="0.1.0"; sha256="1436849m2mnm8j7lf653zv8lcvvg2ch8kkks4bvr39kx21wxy8ss"; depends=[ggplot2 reshape2 rlang scales VennDiagram]; };
-  ClustAssess = derive2 { name="ClustAssess"; version="0.1.1"; sha256="1was06w9glqg8dgawx40jkxngcr04bm58yjqyi9fy0qzvcf9m78x"; depends=[dplyr fastcluster ggplot2 igraph magrittr Matrix Rcpp rlang]; };
+  ClustAssess = derive2 { name="ClustAssess"; version="0.3.0"; sha256="0b8p5dpb843rv8q1hsc74zhxyn9wjgdxwpwrbq2yx4jmy8v65gzq"; depends=[doParallel dplyr fastcluster foreach ggplot2 igraph irlba magrittr Matrix progress Rcpp reshape2 rlang stringr uwot]; };
   ClustBlock = derive2 { name="ClustBlock"; version="2.4.0"; sha256="1bl0a32il4ai181q5s2fvmpm4jbqwxjvrrxwkaqxb7dnb846cmv0"; depends=[FactoMineR]; };
   ClustGeo = derive2 { name="ClustGeo"; version="2.1"; sha256="03f7appg9n90ahzjhh5si9iv1vm06im9qmhgfc72fvqrmvqy2alh"; depends=[sp spdep]; };
   ClustImpute = derive2 { name="ClustImpute"; version="0.2.4"; sha256="0ss7zsnamh8ir2wpgy6swxck93yr4dd7g7hvyzc1cv6g3k28fb49"; depends=[ClusterR copula dplyr ggplot2 knitr magrittr rlang tidyr]; };
@@ -871,7 +878,7 @@ in with self; {
   ClustVarLV = derive2 { name="ClustVarLV"; version="2.0.1"; sha256="1wl4kkhf17fi3vgbv0ph0yii2l93cgisxm3s0g9w8zhyn60dwwb0"; depends=[doParallel foreach iterators plyr Rcpp RcppEigen]; };
   Cluster_OBeu = derive2 { name="Cluster.OBeu"; version="1.2.3"; sha256="10i7mnaq968my1c5hi8bdsj05m64wlmrf4n4m118is5h1q7zss8r"; depends=[car cluster clValid data_tree dendextend jsonlite mclust RCurl reshape reshape2 stringr]; };
   ClusterBootstrap = derive2 { name="ClusterBootstrap"; version="1.1.2"; sha256="1ha50yzc2arlz4c2g7r9w891fk775xfbhz0gky3zxawlsa02213s"; depends=[dplyr magrittr]; };
-  ClusterR = derive2 { name="ClusterR"; version="1.2.5"; sha256="1fsb9pzs1paw1cbyr5a56lfh8h2d50232p6isk0xg5sl110ql7kx"; depends=[ggplot2 gmp gtools Rcpp RcppArmadillo]; };
+  ClusterR = derive2 { name="ClusterR"; version="1.2.6"; sha256="00mha8madcba83ix4fc04rb7sagfm0lxlh1wvs7dvjdrngps41jr"; depends=[ggplot2 gmp gtools Rcpp RcppArmadillo]; };
   ClusterRankTest = derive2 { name="ClusterRankTest"; version="1.0"; sha256="01gzalhibqcdx3a6yc2cm1v77rscva73v5m5m0qkrgqdp9c8ph2a"; depends=[]; };
   ClusterStability = derive2 { name="ClusterStability"; version="1.0.3"; sha256="1laa5m3y1rc7jr8q3i9qb3izs7qmadz169w9xm8q3mm3834ngn9b"; depends=[cluster clusterCrit copula Rcpp WeightedCluster]; };
   ClusteredMutations = derive2 { name="ClusteredMutations"; version="1.0.1"; sha256="1n31nnvpjh1faw751k8m3ga3wfl0yhdpnszwckqhfzlma1jr8z04"; depends=[seriation]; };
@@ -885,7 +892,7 @@ in with self; {
   CoOL = derive2 { name="CoOL"; version="1.0.3"; sha256="0iigndir0saxaxw233bfb31if6v9fm95fxxw43bqamfmk6g7b8r4"; depends=[ClustGeo data_table ggplot2 mltools plyr pROC Rcpp RcppArmadillo wesanderson]; };
   CoRpower = derive2 { name="CoRpower"; version="1.0.4"; sha256="08chsbbl74rskinp68pwzpvnxx5lkfqf71j7ryp1cwy7199h3jyw"; depends=[osDesign survival]; };
   CoSMoS = derive2 { name="CoSMoS"; version="2.1.0"; sha256="149mybfxaqssawp8fqhjiv3xljzflc02y4pfvavz7rklfplidqkb"; depends=[animation cowplot data_table directlabels ggplot2 ggquiver mAr Matrix matrixcalc MBA mvtnorm nloptr plot3D pracma]; };
-  CoTiMA = derive2 { name="CoTiMA"; version="0.5.2"; sha256="1q0pd6vrlgsnrrdv4xc6rv26jabnvj3fyzav6qyb0k7df9pdshn3"; depends=[abind crayon ctsem doParallel foreach lavaan MASS MBESS OpenMx openxlsx psych rootSolve RPushbullet scholar stringi zcurve]; };
+  CoTiMA = derive2 { name="CoTiMA"; version="0.5.4"; sha256="02bg0bckg5h8bk4plxjni5kya9rmqhz5d9dvfa19hmyd384hdxhv"; depends=[abind crayon ctsem doParallel foreach lavaan MASS MBESS OpenMx openxlsx psych rootSolve RPushbullet scholar stringi zcurve]; };
   CodataGS = derive2 { name="CodataGS"; version="1.43"; sha256="1bjn6s1f5jn64gwrvjz5kvwfkbqrqhavib6dj9k37rb5nzqkwhp6"; depends=[Matrix]; };
   CodeDepends = derive2 { name="CodeDepends"; version="0.6.5"; sha256="0l7kiv3awx50glf5cs841b4zzsff1ml90f0zr868ygvwsr4ps1hq"; depends=[codetools graph XML]; };
   CohortPlat = derive2 { name="CohortPlat"; version="1.0.3"; sha256="0na4idcckfqwwynx3kbfyqimzl46pna24aa9xlyjwbczf441gafm"; depends=[doParallel dplyr epitools forcats foreach ggplot2 openxlsx plotly purrr tidyr zoo]; };
@@ -920,7 +927,7 @@ in with self; {
   ComparisonSurv = derive2 { name="ComparisonSurv"; version="1.0.9"; sha256="1xvxkj0i59fq05df6szx4k32w2447mxcx3877l2myag4x6i6c74l"; depends=[muhaz survival survRM2 TSHRC]; };
   Compind = derive2 { name="Compind"; version="2.3"; sha256="0im7wpgigkd3nwg6crnp4c3ndd3b6763f0f4v512r9a13hm48ms0"; depends=[Benchmarking boot GPArotation Hmisc lpSolve MASS nonparaeff np psych smaa spdep]; };
   ComplexUpset = derive2 { name="ComplexUpset"; version="1.3.3"; sha256="1sk4v5kc2wkgfaws0hjlp30mngm907r5gz1iglf68j46lfs9jbsv"; depends=[colorspace ggplot2 patchwork scales]; };
-  Compositional = derive2 { name="Compositional"; version="5.3"; sha256="1h5xv85r3vw3b62d8rbjx43cag4krldivfn09faga1lmg0zvbjwa"; depends=[codalm Directional doParallel emplik energy FlexDir foreach glmnet MASS mda mixture NlcOptim nnet pchc RANN Rfast Rfast2 sn]; };
+  Compositional = derive2 { name="Compositional"; version="5.4"; sha256="0nh4b6wkydx97sxan3w8fx8i75n5xnl4hmhvcnvzpp7v1gdsx89c"; depends=[codalm Directional doParallel emplik energy FlexDir foreach glmnet MASS mda mixture NlcOptim nnet pchc RANN Rfast Rfast2 sn]; };
   CompoundEvents = derive2 { name="CompoundEvents"; version="0.1.0"; sha256="03shw3016xc41a6by8pnpqs7mmnhs0qmg5aqd4hlfcy3dv2w9wkf"; depends=[]; };
   Compounding = derive2 { name="Compounding"; version="1.0.2"; sha256="1xlb3ylwjv70850agir0mx79kcvs43h0n1sm22zcny3509s2r7lf"; depends=[hypergeo]; };
   ConConPiWiFun = derive2 { name="ConConPiWiFun"; version="0.4.6.1"; sha256="1ziy646lbx297kia797xjxa8hyl826x1hiighyjslvnlvrhapx08"; depends=[Rcpp]; };
@@ -931,6 +938,7 @@ in with self; {
   ConcordanceTest = derive2 { name="ConcordanceTest"; version="1.0.0"; sha256="03d780y7wik2j9l4bq50j8c3g4j3zh8wzq4al6zjch9g9krdankz"; depends=[Rglpk]; };
   CondIndTests = derive2 { name="CondIndTests"; version="0.1.5"; sha256="0km4z8wnj5msg1pmphk2fccbw1cidsxv174817lwcyii9nf5iwsm"; depends=[caTools kernlab lawstat MASS mgcv mize pracma quantregForest randomForest RPtests]; };
   CondReg = derive2 { name="CondReg"; version="0.20"; sha256="1ffnrjfjcb66i9nyvidkcn4k9pcj4r7xanjwzcxcrj2qm39apkqx"; depends=[]; };
+  CondiS = derive2 { name="CondiS"; version="0.1.1"; sha256="16nhqbcmq1swlhbal3q7i11y6kk7r48nxfqgzgbyrqf9qwc7jfpd"; depends=[caret kernlab purrr survival survminer tidyverse]; };
   ConfIntVariance = derive2 { name="ConfIntVariance"; version="1.0.2"; sha256="0xm3vh3vmf16faa3934100rnrg4rvlqkgjlsqa2smzcvy5vb86z4"; depends=[]; };
   ConfigParser = derive2 { name="ConfigParser"; version="1.0.0"; sha256="0jjh6gz5qcqhirzkmg7a4lnf8n3mjly15x2mvbvdpjkk7iv3w9m3"; depends=[ini R6]; };
   ConformalSmallest = derive2 { name="ConformalSmallest"; version="1.0"; sha256="0r74hbz0dmz69zsw2vdl858vj27p6f2xcpv1l1il4r52cmshg1h8"; depends=[glmnet MASS mvtnorm quantregForest]; };
@@ -950,7 +958,7 @@ in with self; {
   CoopGame = derive2 { name="CoopGame"; version="0.2.2"; sha256="0i4yw2nznmcps9s9f592nbs8dvncb0w2bynvsfkp21lzd4pfsp4n"; depends=[geometry gtools rcdd]; };
   CoordinateCleaner = derive2 { name="CoordinateCleaner"; version="2.0-20"; sha256="1n1k97imcg3n8nvl9759nqbzirxs011micx4qj2sf1d0bvnlrzs1"; depends=[dplyr geosphere ggplot2 raster rgbif rgdal rgeos rnaturalearth sp tidyselect]; };
   CopCTS = derive2 { name="CopCTS"; version="1.0.0"; sha256="1j0bhkjk181y9k69442diswgwax5whmh5vfqydhf3b1r5ll1wkm3"; depends=[copBasic copula msm]; };
-  CopernicusDEM = derive2 { name="CopernicusDEM"; version="1.0.1"; sha256="0pf3y335agfkdnxjyfcfkbrk2999p5h0by959ahc1wxyrxdghxsl"; depends=[doParallel foreach gdalUtils glue sf]; };
+  CopernicusDEM = derive2 { name="CopernicusDEM"; version="1.0.2"; sha256="1jgvq1c86xgdyp17z1pmz01lfw5nsfc2x71pcn399vcgij5j1jrf"; depends=[doParallel foreach glue sf]; };
   Copula_Markov = derive2 { name="Copula.Markov"; version="2.9"; sha256="18krq0q5i3j211g88sl153f1fa5crdcgclvl5lqawm7zykyzblh2"; depends=[]; };
   Copula_Markov_survival = derive2 { name="Copula.Markov.survival"; version="1.0.0"; sha256="1sxg0ir39f4hj4m6imija0c88j513j6fflcp7xc0599iglwsrbvs"; depends=[survival]; };
   Copula_surv = derive2 { name="Copula.surv"; version="1.1"; sha256="1zs2jvb07948g2aspy8877j4hdzavd57lmv4x2yrf6gb4xzs3x3n"; depends=[]; };
@@ -992,14 +1000,15 @@ in with self; {
   CrossVA = derive2 { name="CrossVA"; version="1.0.0"; sha256="16ahw8h27acvqqixmwmsyl6rbjzxbn4pfyh2ls9rq852mc7mdg9b"; depends=[stringi]; };
   CrossValidate = derive2 { name="CrossValidate"; version="2.3.4"; sha256="1q5wnw2llvlw3hbjg0zccipk3ns31m2339x1aj6m526zhvgl2wvx"; depends=[Modeler oompaBase]; };
   Crossover = derive2 { name="Crossover"; version="0.1-20"; sha256="1mm8zc845v077rnhijammpq72dsm9smwiixr0iygcadb5vbkfpib"; depends=[CommonJavaJars crossdes digest ggplot2 JavaGD MASS Matrix multcomp Rcpp RcppArmadillo rJava xtable]; };
-  CruzPlot = derive2 { name="CruzPlot"; version="1.4.6"; sha256="12q0cs11kkpb6p5msjalffx8ni4qx9fw4kj8zjm9n446xx53yb4k"; depends=[dplyr DT geosphere mapdata maps marmap shiny shinydashboard shinyjs stringr swfscDAS]; };
+  CruzPlot = derive2 { name="CruzPlot"; version="1.4.7"; sha256="0ywa0wqwcapnxjhd5hw9cnxss8rjj31lxn9j2g19c3mfxkqpqc29"; depends=[dplyr DT geosphere mapdata maps marmap shiny shinydashboard shinyjs stringr swfscDAS]; };
   CrypticIBDcheck = derive2 { name="CrypticIBDcheck"; version="0.3-3"; sha256="1c7n020i9lxp0fam05k9v4az4rvx8fakhzi9fkma82smpl709x8q"; depends=[car chopsticks ellipse rJPSGCS]; };
   CsChange = derive2 { name="CsChange"; version="0.1.6"; sha256="0ahgzir1rz5hh2jkgabp9vccg527vbvmkdyxf9lyz5yxkig3jv2s"; depends=[boot Hmisc rms survival]; };
-  Cubist = derive2 { name="Cubist"; version="0.3.0"; sha256="0qxjkv7lswzg5j3cwfbva64xh0a2a2iycz59ff59g3lahmznx9w8"; depends=[lattice reshape2]; };
+  Cubist = derive2 { name="Cubist"; version="0.4.0"; sha256="0y2mjqg8285vprm42z1dsqhs5k6g3703ysg3225a7qq08ga787rs"; depends=[lattice reshape2]; };
   CustomerScoringMetrics = derive2 { name="CustomerScoringMetrics"; version="1.0.0"; sha256="166v0hbxy4xgbfqh7sx6zsrv4pghqpimx5xry3h2qwynnvr4ng1a"; depends=[]; };
   CustosAscensor = derive2 { name="CustosAscensor"; version="0.1.0"; sha256="1axyhwf9rc9dvrrcrpmx69kp49nwb0an7csn9qbjmx9jwwav11l5"; depends=[]; };
   CutpointsOEHR = derive2 { name="CutpointsOEHR"; version="0.1.2"; sha256="0r772zb7g10akcfnf2hnyvpvba4px9pgslyns7drmijdsh0ncnvj"; depends=[survival]; };
   Cyclops = derive2 { name="Cyclops"; version="3.1.2"; sha256="13nwcksfxvjz2wh7dr500y0xy69hfl4k0ddsr6m24qh2km8spp6n"; depends=[Andromeda BH bit64 dplyr Matrix Rcpp RcppEigen rlang survival]; };
+  CytOpT = derive2 { name="CytOpT"; version="0.9.2"; sha256="0cmdn0sjymz9cx3ja4yh4pa010h9sjsbib19nj9fn7dpkkblp40z"; depends=[ggplot2 MetBrewer patchwork reshape2 reticulate testthat]; };
   CytobankAPI = derive2 { name="CytobankAPI"; version="1.4.0"; sha256="19jlpx914sqiqfba9ypylnaiswvbn641wkgzaihbjj1h61jjzihk"; depends=[curl httr jsonlite]; };
   CytobankBridgeR = derive2 { name="CytobankBridgeR"; version="1.0.0"; sha256="0m8gxbm3p9gvdszymqx10n5rzb406r4f70a0in798c56mp2rcsl4"; depends=[CytobankAPI]; };
   D2MCS = derive2 { name="D2MCS"; version="1.0.0"; sha256="14c02p9shfhvpafvm10xpy2r5x1h2pqrbj07dnz7pviqndxjp7ma"; depends=[caret devtools dplyr FSelector ggplot2 ggrepel gridExtra infotheo mccr mltools ModelMetrics questionr R6 recipes tictoc varhandle]; };
@@ -1016,9 +1025,8 @@ in with self; {
   DALEXtra = derive2 { name="DALEXtra"; version="2.1.1"; sha256="1xqqisrqal0spzkbc1x5rj3xpycfqj4g87wc3nl2j76frj8mnmdy"; depends=[DALEX ggplot2 reticulate]; };
   DALY = derive2 { name="DALY"; version="1.5.0"; sha256="1v7ld01xcn5jiygl1c3xhd5h71ip90lks87fs9gmpnivp8jz5cr5"; depends=[]; };
   DAMOCLES = derive2 { name="DAMOCLES"; version="2.3"; sha256="0pk9gq82qa18fl7zp74d47bgy8lhj9rkvfq23w8844nz9kn58s1f"; depends=[ape caper DDD deSolve expm Hmisc Matrix matrixStats picante]; };
-  DAMisc = derive2 { name="DAMisc"; version="1.6.2"; sha256="0arazw6pjgd9xgsdnyz8ccwyrpakyqzraw6j08zlrnn6hv7p29mr"; depends=[AICcmodavg boot car clarkeTest coda dplyr DT effects gamlss ggplot2 glue haven janitor jtools lattice latticeExtra magrittr MASS nnet optiscale rlang rstan survey tibble tidyr tidyselect xtable]; };
+  DAMisc = derive2 { name="DAMisc"; version="1.7.2"; sha256="1mg40fqb0bj8jlw50dkkby67rj83g6pjhw9vbqvfxq30a1pq9inm"; depends=[AICcmodavg boot car clarkeTest coda dplyr DT effects ggplot2 haven janitor jtools lattice latticeExtra magrittr MASS nnet optiscale rlang srvyr survey tibble tidyr tidyselect xtable]; };
   DAP = derive2 { name="DAP"; version="1.0"; sha256="0zzb05yxfaqp6qnr979q20rqy8sl5l825mxs0x9366qr7mz5k5ws"; depends=[MASS]; };
-  DArand = derive2 { name="DArand"; version="0.0.1.1"; sha256="0cmwqbhi073zj8ipgib6a6ss6h4r0x2w541xl24jyk5xz3c6s697"; depends=[]; };
   DBEST = derive2 { name="DBEST"; version="1.8"; sha256="1a598g02hpfgv572gchllqkppynnsp4lx764jg0g66w3b66k0kdy"; depends=[zoo]; };
   DBGSA = derive2 { name="DBGSA"; version="1.2"; sha256="04zqh9y3nqcdzs5jn8aaq5idy9zl450ikvl788xs860wlg692qv2"; depends=[fdrtool]; };
   DBI = derive2 { name="DBI"; version="1.1.2"; sha256="0n2gf5flmcrkad7p0pzsnsgwjl5006yi7lyz9lisqxhw8xykgv2n"; depends=[]; };
@@ -1027,7 +1035,7 @@ in with self; {
   DCA = derive2 { name="DCA"; version="2.0"; sha256="1acy33vyf814kr0aj6kdvi9f1qzgynwwzv57ll01gd0iqq36374f"; depends=[coin elasticnet GPArotation locfdr modeest mvtnorm PMA]; };
   DCCA = derive2 { name="DCCA"; version="0.1.1"; sha256="06xdx79r7dr14dlk5vgcyd8ar4sc72imlyk66bnia1kvlynvdy69"; depends=[checkmate]; };
   DCD = derive2 { name="DCD"; version="0.1.0"; sha256="0p6vk8fdvpcvb1bb5fwy3h1v8y3djlvcm5jl5lnx30ngqj6d7rcj"; depends=[data_table doParallel foreach ggplot2 igraph lattice lsa Matrix plyr qlcMatrix Rdpack ROCR WGCNA]; };
-  DCEM = derive2 { name="DCEM"; version="2.0.4"; sha256="1g4c7h02rv467sgvjv19s0w4xcm11mwfamfs3sdy44ra9dgaf1af"; depends=[MASS matrixcalc mvtnorm Rcpp]; };
+  DCEM = derive2 { name="DCEM"; version="2.0.5"; sha256="04z0lya1dbkdzjbgn8g6p16969kc6s4zrk87wy0i42h2hx0yx1zv"; depends=[MASS matrixcalc mvtnorm Rcpp]; };
   DCEmgmt = derive2 { name="DCEmgmt"; version="0.0.1"; sha256="1vv212baycn0xkk2caj1f00ps1512261h21akmyqjhij3q4lxikx"; depends=[mlogit survival]; };
   DCEtool = derive2 { name="DCEtool"; version="0.3.1"; sha256="05pmdd5ryv0jyqkqknjb33lvfcv4vqfqw46q231l5ixxcwapfvxr"; depends=[bslib commonmark DT htmltools idefix MASS mlogit readxl shiny shinycssloaders shinyglide shinyhelper shinyjs shinythemes stringr survival writexl]; };
   DCG = derive2 { name="DCG"; version="0.9.3"; sha256="08718x6v3g7kpfv0gpgm19cn3d3ynj7yagzs0jic1j5rwvn04pfb"; depends=[]; };
@@ -1065,9 +1073,9 @@ in with self; {
   DGCA = derive2 { name="DGCA"; version="1.0.2"; sha256="0k2a24ycagyxdx54dh9w8km25xhmmmhyyl26g76z4g5gqvcw092k"; depends=[matrixStats WGCNA]; };
   DGEobj = derive2 { name="DGEobj"; version="1.0.3"; sha256="0n2i6y2vhhypn3sgsysvfpxdfvhb3fq7pz2lv71bnn1fz3lghbsx"; depends=[assertthat GenomicRanges magrittr stringr]; };
   DGEobj_utils = derive2 { name="DGEobj.utils"; version="1.0.4"; sha256="0mad5cph7bszb7xykgsd9gk5d2zb0kwvb4yjrh84zfdnxgw8799w"; depends=[assertthat DGEobj dplyr edgeR limma qvalue stringr sva]; };
-  DGLMExtPois = derive2 { name="DGLMExtPois"; version="0.1.3"; sha256="1prsnkkhb61y01flxz57875a9arvyy2qxjl0lz5ajpmf8dhr08j8"; depends=[COMPoissonReg nloptr progress]; };
+  DGLMExtPois = derive2 { name="DGLMExtPois"; version="0.2.0"; sha256="0d0c2pv4srb20ly5i43zy3h1y9yng2lz5djpprhbqxim80lv05wc"; depends=[COMPoissonReg nloptr]; };
   DGM = derive2 { name="DGM"; version="1.7.4"; sha256="1f59spd4bwx4d1gbjaizjxccaslw1fvf8pxa9nrxi07j6kq9mg0h"; depends=[coin data_table ggplot2 Rcpp RcppArmadillo reshape2]; };
-  DHARMa = derive2 { name="DHARMa"; version="0.4.4"; sha256="1jpda8jpjpkkjh1cl28fzcx7fr7jz0czchsa0zr48wdg9zw7785m"; depends=[ape gap lme4 lmtest Matrix qgam]; };
+  DHARMa = derive2 { name="DHARMa"; version="0.4.5"; sha256="1gw8kpa0lrcdifpqgfwxhbmwqc56xzw0bznq23qdzgmsk84l3k8g"; depends=[ape gap lme4 lmtest Matrix qgam]; };
   DHBins = derive2 { name="DHBins"; version="1.1"; sha256="1g69acac7pxw8x0d9czyds7xljhbv9d686c99a3y8b4vh7dnx62s"; depends=[ggplot2]; };
   DHS_rates = derive2 { name="DHS.rates"; version="0.9.1"; sha256="1mbp38kbs22wr1aq1gs2m7xcsk3gadik7yxlandhvhnrnacc4pd7"; depends=[crayon dplyr haven matrixStats reshape rlang survey]; };
   DICOMread = derive2 { name="DICOMread"; version="0.0.0.3"; sha256="1wrgx5b9w476g8s3jmccc027xdqbmcmnlhwf02g6j213rgy87p73"; depends=[matlabr]; };
@@ -1082,7 +1090,7 @@ in with self; {
   DIMORA = derive2 { name="DIMORA"; version="0.2.0"; sha256="1ig2h2v199r5ryia35fx2540px7n2qshpma73599l82dr7k9hb33"; depends=[deSolve forecast minpack_lm numDeriv reshape2]; };
   DIRECT = derive2 { name="DIRECT"; version="1.0.1"; sha256="00z4xlc9kxn19lw2b8xq6krsf5v3wfbr1ghl5ah5shr9dnv84lc1"; depends=[]; };
   DISTRIB = derive2 { name="DISTRIB"; version="1.0"; sha256="0whwmmdx2k2vrjjkz4ww9v7z9ad3835819pby91119lyic27w727"; depends=[]; };
-  DIZutils = derive2 { name="DIZutils"; version="0.0.9"; sha256="1vl8qyp3f5dw5f7qv1738gg7qvr43i29svapd62smb064cb9plld"; depends=[config data_table DBI Hmisc parsedate psych rapportools RJDBC RJSONIO RPostgres shiny shinyjs xml2]; };
+  DIZutils = derive2 { name="DIZutils"; version="0.0.12"; sha256="06c1iz2ji4jn32kwkfiagq7y2zhy97cm5a0mjb8a6fki8658ly31"; depends=[config data_table DBI Hmisc magrittr parsedate psych rapportools RJDBC RJSONIO RPostgres shiny shinyjs xml2]; };
   DIconvex = derive2 { name="DIconvex"; version="1.0.0"; sha256="0bnrq9nmryshir6ll43nz20aaqmmw0zjvfml72cpwbvrma8a3qmz"; depends=[lpSolveAPI]; };
   DImodels = derive2 { name="DImodels"; version="1.1"; sha256="0767xanj4dck6hxx392fcavwsjz8d30wymxnabr5v8s7pcsmv18p"; depends=[hnp rootSolve]; };
   DIscBIO = derive2 { name="DIscBIO"; version="1.2.0"; sha256="1m1c9ivblk3sir6lfq0msx2vlrx37dd5v7y6003k6fmsgrfpi9fs"; depends=[AnnotationDbi boot cluster fpc ggplot2 httr igraph impute mclust NetIndices org_Hs_eg_db philentropy png RColorBrewer rpart rpart_plot RWeka SingleCellExperiment statmod TSCAN tsne]; };
@@ -1115,7 +1123,8 @@ in with self; {
   DPQmpfr = derive2 { name="DPQmpfr"; version="0.3-1"; sha256="0f3l6dhiqnlix5vdz65pnxic43hcd4xiz64sh3cp8xs8cbmlnqcw"; depends=[DPQ gmp Rmpfr]; };
   DPWeibull = derive2 { name="DPWeibull"; version="1.8"; sha256="05sasi42cakq0k3syvn2hnvb0sl2dflw6x98riwgrjvsmnw6bh2g"; depends=[binaryLogic prodlim Rcpp RcppArmadillo survival truncdist]; };
   DPtree = derive2 { name="DPtree"; version="1.0.1"; sha256="0d7zf695lwkx4gv50f08cbi3p3mjjay0qgrbmvybf9m15i4zmyd7"; depends=[MASS MCMCpack plyr Rdpack]; };
-  DR_SC = derive2 { name="DR.SC"; version="2.3"; sha256="0hrp2d6frivj2q8js103gla5wrzqy814izzji6n8lc4x088dwrjg"; depends=[CompQuadForm cowplot ggplot2 GiRaF MASS Matrix mclust purrr RColorBrewer Rcpp RcppArmadillo Seurat spatstat_geom]; };
+  DQAstats = derive2 { name="DQAstats"; version="0.2.3"; sha256="0fxa9xpjjgab3wsaqnkh1v31gsb8zzsg3g18376w3cy4j8np6x2z"; depends=[data_table DIZutils future future_apply jsonlite kableExtra knitr magrittr parsedate rmarkdown tinytex]; };
+  DR_SC = derive2 { name="DR.SC"; version="2.5"; sha256="0s19vrzf8xyfqdssg5makj45fm08p2shgplqfdvgmzvb7hwfalr7"; depends=[CompQuadForm cowplot ggplot2 GiRaF MASS Matrix mclust purrr RColorBrewer Rcpp RcppArmadillo S4Vectors Seurat spatstat_geom]; };
   DRAYL = derive2 { name="DRAYL"; version="1.0"; sha256="0cf5pyx6nwh8srdylpnmymv3dr67fm6qqpwd1hvj1wmyfc8fznpp"; depends=[cubature pracma RConics rmutil]; };
   DRDID = derive2 { name="DRDID"; version="1.0.3"; sha256="1xlz4vc43myxximzcf87bk52pd5rplcbi5655m18xk7jx2l95ksb"; depends=[BMisc trust]; };
   DRDRtest = derive2 { name="DRDRtest"; version="0.1"; sha256="1vrvwr441w526a80s0r2fwqlllvn05ir8v2152jz2wxrwhnpq1s0"; depends=[KernSmooth SuperLearner]; };
@@ -1124,7 +1133,7 @@ in with self; {
   DRIP = derive2 { name="DRIP"; version="1.6"; sha256="08qyv2xwl3a70jrpmyxq37g0cryzc0ca904znyhzidmjgy13d18i"; depends=[]; };
   DRR = derive2 { name="DRR"; version="0.0.4"; sha256="1y70si1gig4l7jx5jiqsqliyywfsvimkx53x3zh1lc3yj2j6bqwk"; depends=[CVST kernlab Matrix]; };
   DRaWR = derive2 { name="DRaWR"; version="1.0.1"; sha256="1pfdczwzd236c64yw94bgbk0hbl4dhlgjfjwkljmqgqrzsddvgqh"; depends=[Matrix ROCR]; };
-  DRomics = derive2 { name="DRomics"; version="2.3-0"; sha256="0jkiz7018az7gjv38diwxgfgyd6a0k004mb6xb917qpd56ng4rjs"; depends=[DESeq2 ggplot2 limma SummarizedExperiment]; };
+  DRomics = derive2 { name="DRomics"; version="2.4-0"; sha256="1ld83nwslbxcd63s1xhkc4380q87wnmgzx3kx5nv978zh9dqc92x"; depends=[DESeq2 ggplot2 limma SummarizedExperiment]; };
   DRviaSPCN = derive2 { name="DRviaSPCN"; version="0.1.0"; sha256="1h8wy577q5fy1pjnyr7cfk33yg0cvw59ppky8gml2ir6hggyd88p"; depends=[ChemmineR clusterProfiler GSVA igraph pheatmap rvest xml2]; };
   DSAIDE = derive2 { name="DSAIDE"; version="0.9.3"; sha256="11sz57a0mmhk3lj621wnccmcbbrxp0ipg99phfk3wb927985p0zv"; depends=[adaptivetau deSolve dplyr ggplot2 gridExtra lhs nloptr plotly rlang shiny XML]; };
   DSAIRM = derive2 { name="DSAIRM"; version="0.9.3"; sha256="1igwm6zm987xjyfvwakxa5ckb1chiaykcjcambkxpjyi1b6gg6gf"; depends=[adaptivetau boot deSolve dplyr ggplot2 gridExtra lhs nloptr plotly rlang shiny XML]; };
@@ -1134,7 +1143,7 @@ in with self; {
   DSLite = derive2 { name="DSLite"; version="1.3.0"; sha256="05wm02bwa4kcbg0q95368pnmnm0lpn6abk4ffliygha19d0pgpsf"; depends=[DSI R6]; };
   DSMolgenisArmadillo = derive2 { name="DSMolgenisArmadillo"; version="1.4.0"; sha256="036ha5m6q2i8s13mdgzs7r35j88z6xk2c8bdwn090akb0fqwq52y"; depends=[base64enc DSI httr MolgenisAuth stringr urltools]; };
   DSOpal = derive2 { name="DSOpal"; version="1.3.1"; sha256="1f5lh3j7yfxa5rpcfknwqralnn108mg8813k8sclav8f2y3qh9pi"; depends=[DSI opalr]; };
-  DSSAT = derive2 { name="DSSAT"; version="0.0.5"; sha256="0sqd0ma6cx1pj92l28xr2zhqv8i9vphvyvzvyb6vpcy2wrgs9h8h"; depends=[dplyr glue lubridate purrr readr rlang stringr tidyr]; };
+  DSSAT = derive2 { name="DSSAT"; version="0.0.6"; sha256="13h2vslghy0127ycd9s1fynfqxh52vr3zbrryh20r7q0fzlka3fi"; depends=[dplyr glue lubridate purrr readr rlang stringr tidyr]; };
   DSWE = derive2 { name="DSWE"; version="1.5.1"; sha256="129dx5sf938pqpbqbar6zwma58m59if45pp7x6zwvnh2n03gaxy8"; depends=[BayesTree e1071 FNN gss KernSmooth matrixStats mixtools Rcpp RcppArmadillo]; };
   DSjobtracker = derive2 { name="DSjobtracker"; version="0.1.1"; sha256="1vi07n7ygsdjj4830rnx7kvacmnizl146c6bfw2fnby47apg38f9"; depends=[]; };
   DSpoty = derive2 { name="DSpoty"; version="0.1.0"; sha256="18z8gk3zj7k2szxg9579qy5klrqjw6zsk5x9jmwrv4qhb98fyji6"; depends=[dplyr httr purrr stringr]; };
@@ -1146,7 +1155,7 @@ in with self; {
   DTAXG = derive2 { name="DTAXG"; version="0.1.0"; sha256="1jxa0ix0z35i0xdnjl698j8iqjmp6nz8ckah9bap5ay9rkq0xd7f"; depends=[]; };
   DTAplots = derive2 { name="DTAplots"; version="1.0.2.5"; sha256="1jwfh8j8ahaj2z19g2f70r652j77q4f0b7j91mggsb0dgk449342"; depends=[]; };
   DTComPair = derive2 { name="DTComPair"; version="1.0.3"; sha256="1af2293ckkpz0gjcibgzzvz37852cav4wa4girpc87yn3p4ajlri"; depends=[gee PropCIs]; };
-  DTDA = derive2 { name="DTDA"; version="3.0"; sha256="1agra6qsdqxjra8kdw5y1ya2l32xrg11py5sr18ddyf3gp5g3w98"; depends=[doParallel foreach]; };
+  DTDA = derive2 { name="DTDA"; version="3.0.1"; sha256="1x65ahrci7n8v5d6nfz2p3p1x0zjam3a2mvw9m1rpdmfgbalpim7"; depends=[doParallel foreach]; };
   DTDA_cif = derive2 { name="DTDA.cif"; version="1.0.2"; sha256="12vkhqxdhir06s35kr76dwns9m02wyicz3mv4r56fqglsfyw77xr"; depends=[doParallel foreach Rcpp]; };
   DTDA_ni = derive2 { name="DTDA.ni"; version="1.0"; sha256="0c45cz4y629bc0jnf3m35ywqkrnjcdqbssbb6m10j8b4gszdi35i"; depends=[]; };
   DTK = derive2 { name="DTK"; version="3.5"; sha256="0nxcvx25by2nfi47samzpfrd65qpgvcgd5hnq9psx83gv502g55l"; depends=[]; };
@@ -1188,10 +1197,10 @@ in with self; {
   DatabionicSwarm = derive2 { name="DatabionicSwarm"; version="1.1.5"; sha256="1m5ydlyj54ybw38b6i78krrvqj29bp24x19xbqz9fgwpqimnv79y"; depends=[deldir GeneralizedUmatrix Rcpp RcppArmadillo]; };
   DatastreamDSWS2R = derive2 { name="DatastreamDSWS2R"; version="1.8.2"; sha256="018733gm5z90qhbci6khxx27pn074si176mwnlq53bd6r722jiwm"; depends=[dplyr foreach httr jsonlite stringi stringr xts zoo]; };
   Davies = derive2 { name="Davies"; version="1.1-9"; sha256="19n2szki2dc8z01zh5a7bq4scgisnpd2qqbiimgrswjrykgh2fpm"; depends=[]; };
-  DeCAFS = derive2 { name="DeCAFS"; version="3.2.3"; sha256="1sc9wx33lhdwp5ql4cq3jrqilrykhn44p9idccsn702pyf9xy4lq"; depends=[ggplot2 Rcpp robustbase]; };
+  DeCAFS = derive2 { name="DeCAFS"; version="3.3.1"; sha256="1508pl1jwp9ypfg31ygyrx1abckivv3xb69qd7hq6w1xvlkc83qr"; depends=[ggplot2 Rcpp robustbase]; };
   DeLorean = derive2 { name="DeLorean"; version="1.5.0"; sha256="1ry6j4mvxms9hddi9c56p9yhjh66fzss41wqkf6xq398h1wbn4q1"; depends=[BH broom coda dplyr fastICA functional ggplot2 kernlab lattice MASS memoise Rcpp RcppEigen reshape2 rstan rstantools seriation StanHeaders stringr]; };
   DeRezende_Ferreira = derive2 { name="DeRezende.Ferreira"; version="0.1.0"; sha256="05c99z3hlwwm0p02cl9z6gjwfxfq2b2qn90l85270bi16llgf42h"; depends=[xts]; };
-  DeclareDesign = derive2 { name="DeclareDesign"; version="0.28.0"; sha256="0ggqagmcqsw7g5pqyzpxzy5r8kn0q3i4b4kzywvshln95gdwliwj"; depends=[estimatr fabricatr generics randomizr rlang]; };
+  DeclareDesign = derive2 { name="DeclareDesign"; version="0.30.0"; sha256="1p6nazfja6lmlxlinr84a1gp48vzwypydjxiqd6a1kqr73m90kj3"; depends=[estimatr fabricatr generics randomizr rlang]; };
   DecomposeR = derive2 { name="DecomposeR"; version="1.0.4"; sha256="0px999jzxnsl9mg4nch0zwzfjpm5mfj1yk5q42vbb7q42iv1ifbf"; depends=[colorRamps dplyr hexbin hht StratigrapheR tictoc usethis]; };
   DecorateR = derive2 { name="DecorateR"; version="0.1.2"; sha256="1za2qvdq96f75rmnm421xmq8s01ny4666ghv14i72iy3s4ml2hq9"; depends=[rJava RWeka RWekajars]; };
   Deducer = derive2 { name="Deducer"; version="0.7-9"; sha256="14kakyf28i654pndlswjzp6h3h7szpznrg6xznqg150mmn0bs3s6"; depends=[car e1071 effects foreign ggplot2 JGR MASS multcomp plyr rJava scales]; };
@@ -1201,7 +1210,7 @@ in with self; {
   DeducerSurvival = derive2 { name="DeducerSurvival"; version="0.1-0"; sha256="03qk3y4pibvrxbnxbm5rlksw807dvbilip1jbpn1r7k02ibzq676"; depends=[Deducer]; };
   DeducerText = derive2 { name="DeducerText"; version="0.1-2"; sha256="0if2p9j74wa5rva4iv0i8iax22grl9j7lqcqzqlywjgqwnlzxa05"; depends=[Deducer RColorBrewer SnowballC tm wordcloud]; };
   DeductiveR = derive2 { name="DeductiveR"; version="1.0.0"; sha256="0bx1ad2gw0pf03z0im31mzaa26jxwws6fkbcj319kd8b4s4wp92y"; depends=[dplyr ggplot2 moments reshape2]; };
-  Delaporte = derive2 { name="Delaporte"; version="8.0.1"; sha256="0ijhmwclpg5czs2sl2vykcw8qj2pxy26xf6knh62rqq6p6sm43f4"; depends=[]; };
+  Delaporte = derive2 { name="Delaporte"; version="8.0.2"; sha256="10xsmms2jfw7x4hmgpd35dv4n4azpjzmfid6585kg6qfh2zg23g5"; depends=[]; };
   DelayedEffect_Design = derive2 { name="DelayedEffect.Design"; version="0.0.4"; sha256="0n1dw9bqisfarg7him49mzqn60gcfr660d5x9k6b37r12dnmy48v"; depends=[msm survival]; };
   Delta = derive2 { name="Delta"; version="0.2.0.3"; sha256="0bi9qca4ky481zycp8r7ihvqfjkpvi7hb9wrjsw9avawqa6ck9bv"; depends=[]; };
   Demerelate = derive2 { name="Demerelate"; version="0.9-3"; sha256="1bsf09di6nh0hznqx829jnbn3092rya03hnc82cns6rm8d3bn0a9"; depends=[fts mlogit sfsmisc vegan]; };
@@ -1212,11 +1221,11 @@ in with self; {
   DensParcorr = derive2 { name="DensParcorr"; version="1.1"; sha256="1ifkg7cpimf27yhr60rks77r16kmhwa5h10wv7b64sbfncnyzfmj"; depends=[clime gplots]; };
   Density_T_HoldOut = derive2 { name="Density.T.HoldOut"; version="2.00"; sha256="0kh5nns1kqyiqqfsgvxhx774i2mf4gcim8fp5jjyq577x4679r31"; depends=[histogram]; };
   DepLogo = derive2 { name="DepLogo"; version="1.2"; sha256="13y3akmrj5x1mn1sgha1jryzswg4kqxwswbm3m5z92mcm2zw4r9l"; depends=[]; };
-  DepthProc = derive2 { name="DepthProc"; version="2.1.4"; sha256="0fa15qcga72db040rscmvp31jdi477wxyyx4c3mwmpjhf81a5978"; depends=[colorspace geometry ggplot2 lattice MASS np Rcpp RcppArmadillo rrcov sm zoo]; };
+  DepthProc = derive2 { name="DepthProc"; version="2.1.5"; sha256="0i7fks5hglf3xj8cj3sghjf0xcldhiqwf0jlpyk2a3mj9gaszc76"; depends=[colorspace geometry ggplot2 lattice MASS np Rcpp RcppArmadillo rrcov sm zoo]; };
   Deriv = derive2 { name="Deriv"; version="4.1.3"; sha256="130g3mv0z9sqs6y23a0a94512iiw05yr6fp378vhdxxbignzbnyv"; depends=[]; };
   DescTools = derive2 { name="DescTools"; version="0.99.44"; sha256="04wp3sp6sahgq167465y38y13h1ia5a4zqazysacpjxd1if0578j"; depends=[BH boot data_table Exact expm gld MASS mvtnorm Rcpp rstudioapi]; };
   DescToolsAddIns = derive2 { name="DescToolsAddIns"; version="1.9"; sha256="12zwhy05wkwxldjyjxqcfsww73pxyni17c5g3b0slrxk6ag13wl7"; depends=[DescTools foreign manipulate rstudioapi writexl]; };
-  DescrTab2 = derive2 { name="DescrTab2"; version="2.1.7"; sha256="09lsz4cqfkp75cc00vif3373wcd1qlzpjv6kl2i6hrk28lmnnwx8"; depends=[cli DescTools dplyr exact2x2 flextable forcats haven Hmisc kableExtra knitr magrittr nlme officer rlang rmarkdown scales stringr tibble tidyselect]; };
+  DescrTab2 = derive2 { name="DescrTab2"; version="2.1.9"; sha256="0742xawfawc16vm3xhrmpjgazzfgdgzfhhadrcgmch019z1ls9cr"; depends=[cli DescTools dplyr exact2x2 flextable forcats haven Hmisc kableExtra knitr magrittr nlme officer rlang rmarkdown scales stringr tibble tidyselect]; };
   DescribeDisplay = derive2 { name="DescribeDisplay"; version="0.2.7"; sha256="0241mbz0y3ala7fsb4fwjd0xigsk0wq77hfrjyvnnp97rfjfzmcv"; depends=[GGally ggplot2 plyr reshape2 scales]; };
   DescriptiveStats_OBeu = derive2 { name="DescriptiveStats.OBeu"; version="1.3.2"; sha256="0f2inlfkwl2q9ll5lh0ynpsbf6zci149s5nj0s0x0g98z72z8mly"; depends=[dplyr jsonlite magrittr RCurl reshape]; };
   DescriptiveWH = derive2 { name="DescriptiveWH"; version="1.0.3"; sha256="17baga9vs8959bzm7qs11zj35a6glh1ig5qz8kwq7m69h51l2gar"; depends=[]; };
@@ -1234,7 +1243,7 @@ in with self; {
   DiPhiSeq = derive2 { name="DiPhiSeq"; version="0.2.0"; sha256="11l2inf99vxz9k292307j8c2b25kc1066svy3vxrfl72rrm4fqa7"; depends=[]; };
   DiPs = derive2 { name="DiPs"; version="0.6.2"; sha256="13n50wakvh7ny342xl007k1dfbwmgzg8kxvgcpfblaypqn48q09f"; depends=[liqueueR mvnfast plyr]; };
   DiSSMod = derive2 { name="DiSSMod"; version="1.0.0"; sha256="199yipbc2sx2lsl51rpfyh80bfxaahfd2llqmfsp946gvj7339hv"; depends=[MASS matrixcalc psych sfsmisc]; };
-  DiagrammeR = derive2 { name="DiagrammeR"; version="1.0.6.1"; sha256="0gb7ccdrh7jlyqafdk8zs465ygczxxd25s05whn914in1994qkmy"; depends=[downloader dplyr glue htmltools htmlwidgets igraph influenceR magrittr purrr RColorBrewer readr rlang rstudioapi scales stringr tibble tidyr viridis visNetwork]; };
+  DiagrammeR = derive2 { name="DiagrammeR"; version="1.0.8"; sha256="0cyj9mc7rf4kylr9h2k6grfimc6mjyjk14qv1bza9pay44k7n5dr"; depends=[downloader dplyr glue htmltools htmlwidgets igraph influenceR magrittr purrr RColorBrewer readr rlang rstudioapi scales stringr tibble tidyr viridis visNetwork]; };
   DiagrammeRsvg = derive2 { name="DiagrammeRsvg"; version="0.1"; sha256="0j2cm1mx3zrb2k3pcrb96z2z3kws61gyyjsjjv5rqcb5lzdgi65k"; depends=[V8]; };
   DiallelAnalysisR = derive2 { name="DiallelAnalysisR"; version="0.4.0"; sha256="087kzxdvhabl1f9q5mbr4dllrpsx86a08bs34xsam2g2x63vmdxq"; depends=[ggplot2]; };
   DiceDesign = derive2 { name="DiceDesign"; version="1.9"; sha256="1a8ixa65xgyfri03cviic8qi2plbhdyz8m02bwif8w94w0q3ghlk"; depends=[]; };
@@ -1260,6 +1269,7 @@ in with self; {
   DirichletReg = derive2 { name="DirichletReg"; version="0.7-1"; sha256="1ql5mwb7zb06y9j6inrlngq7c15as4j17wd8kc71fxs0a2jdj7xi"; depends=[Formula maxLik]; };
   DisHet = derive2 { name="DisHet"; version="1.0.0"; sha256="056jcs1qpiyadnmlzd0cj4kp0qzkichxi0pdnxypyq1fsqnpvan3"; depends=[gtools matrixStats]; };
   DisImpact = derive2 { name="DisImpact"; version="0.0.15"; sha256="1cksc68gqvlah6rzlh1h7glsl55v9kxkayvv05hz6fkcds01qkga"; depends=[dplyr purrr rlang tidyr tidyselect]; };
+  DisaggregateTS = derive2 { name="DisaggregateTS"; version="1.0"; sha256="1r55ipjssyxp8frw02587mmpmsgi169hbsj6c5bccd9agcys9h5s"; depends=[lars Matrix Rdpack withr zoo]; };
   DiscreteFDR = derive2 { name="DiscreteFDR"; version="1.3.6"; sha256="06z9phxg3wjxvndcl3fnh99wbs2j8j2m7wndm0hskhcgijab5cgg"; depends=[Rcpp]; };
   DiscreteInverseWeibull = derive2 { name="DiscreteInverseWeibull"; version="1.0.2"; sha256="0vjsvl4m4zccfgizv7mzidbbpzqcm101x448vllcdcrn2xlnkmnq"; depends=[Rsolnp]; };
   DiscreteLaplace = derive2 { name="DiscreteLaplace"; version="1.1.1"; sha256="17w4vjvsm7jacvwckjczyah3hglq044r3m6vqdcrg8haz884rav2"; depends=[]; };
@@ -1347,17 +1357,17 @@ in with self; {
   EEMDelm = derive2 { name="EEMDelm"; version="0.1.0"; sha256="18m4b22sar14admlhagjdxzq16ynvam2c0cv3z168x8xh6zv2xpr"; depends=[forecast nnfor Rlibeemd]; };
   EESPCA = derive2 { name="EESPCA"; version="0.5.0"; sha256="1vkyds5mpiaccg18i6483zymikadxb7mq4gsqh85r291zvllb7wl"; depends=[MASS PMA rifle]; };
   EFA_MRFA = derive2 { name="EFA.MRFA"; version="1.1.2"; sha256="0p1zkfwjch9y39r7hjccjk7vfbnfwpdak6jfjs1sdpqkjqiw3r86"; depends=[ggplot2 PCovR psych reshape2 scales]; };
-  EFA_dimensions = derive2 { name="EFA.dimensions"; version="0.1.7.3"; sha256="0pvdssdcqxynqpwvy0cfw9pgq5m9g3bhn2s57s5qfnf606xal0jy"; depends=[EFAtools polycor psych]; };
+  EFA_dimensions = derive2 { name="EFA.dimensions"; version="0.1.7.4"; sha256="0798kmgh1d7k389kgw31qg617vhqqgz3ychw7ji4xqkxjadvm34n"; depends=[EFAtools polycor psych]; };
   EFAtools = derive2 { name="EFAtools"; version="0.3.1"; sha256="1s0x8vp18yixn1vscmad8bgmp6nvn8zxx8xx435bmdlxml73c8xd"; depends=[checkmate cli crayon dplyr future future_apply ggplot2 GPArotation lavaan magrittr progress progressr psych Rcpp RcppArmadillo rlang stringr tibble tidyr viridisLite]; };
   EFAutilities = derive2 { name="EFAutilities"; version="2.1.1"; sha256="0kdwdjv4c9rfy49qs7a4134vwa2sm2pcam17a3xii2dq8mghg1za"; depends=[GPArotation MASS mvtnorm plyr]; };
   EFDR = derive2 { name="EFDR"; version="1.2"; sha256="1k6y2qxfw5py1brh25apmzqm00y3a458x0wrrmdg604g1m9zlkg5"; depends=[copula doParallel dplyr foreach gstat Matrix sp tidyr waveslim]; };
   EFS = derive2 { name="EFS"; version="1.0.3"; sha256="1q8cf8dnxpv5s3lr9145y0wjhak4rz18dzah4xfs5qr4c8nlpl54"; depends=[party pROC randomForest ROCR]; };
   EGAnet = derive2 { name="EGAnet"; version="1.0.0"; sha256="0mr63x5gx8yy9gp19glvqcsdmxbd29mnv4v29kjpfr21ij46h60a"; depends=[dplyr fitdistrplus GGally ggplot2 ggpubr glasso igraph lavaan Matrix network NetworkToolbox qgraph semPlot wTO]; };
-  EGRET = derive2 { name="EGRET"; version="3.0.6"; sha256="0klpfrq2392s56x5q5pxvli4m7ivn146dwyh1svqz9pngqnwbif3"; depends=[dataRetrieval fields foreach MASS survival truncnorm]; };
+  EGRET = derive2 { name="EGRET"; version="3.0.7"; sha256="1fxpcdsq7njf1hjy3a4i0fx0ah9v7jzmdwg4c7009nikyhx5ri6x"; depends=[dataRetrieval fields foreach MASS survival truncnorm]; };
   EGRETci = derive2 { name="EGRETci"; version="2.0.4"; sha256="1g01a03smn5yp261cyk3x310m1mcv4bqyh8y123wam9gpa7dxrp6"; depends=[binom EGRET]; };
   EHR = derive2 { name="EHR"; version="0.4-4"; sha256="0b42ny3xc936qgbfgibywpmancrbdvkcwwhy55lbqlm8xhzyr6s8"; depends=[data_table lubridate pkdata]; };
   EHRtemporalVariability = derive2 { name="EHRtemporalVariability"; version="1.1.4"; sha256="02izrgl526znn4xs10c5l3gv0b5chmgr376i26nli988cypmf32h"; depends=[dplyr lubridate MASS plotly RColorBrewer scales viridis xts zoo]; };
-  EIAdata = derive2 { name="EIAdata"; version="0.1.1"; sha256="06xq17x3zdk5q9zjvw3lxvayyggnz4ck4wpzzpsdd3s6j1b0fmhz"; depends=[XML xts zoo]; };
+  EIAdata = derive2 { name="EIAdata"; version="0.1.2"; sha256="0yssiylp516a7jbxzjsf28abm3d8rab03f2b93jy8vh1mmvpi2lg"; depends=[XML xts zoo]; };
   EILA = derive2 { name="EILA"; version="0.1-2"; sha256="0wxl9k4fa0f7jadw3lvn97iwy7n2d02m8wvm9slnhr2n8r8sx3hb"; depends=[class quantreg]; };
   EIX = derive2 { name="EIX"; version="1.2.0"; sha256="02ry0aqqnd0zh6zbvx1dbq3sdahyqcgabhkvbbw4ig0qk70w62aj"; depends=[DALEX data_table ggiraphExtra ggplot2 ggrepel iBreakDown MASS purrr scales tidyr xgboost]; };
   EKMCMC = derive2 { name="EKMCMC"; version="1.1.2"; sha256="0filw1xikbv55h7xswlqifd30d43b9y3h2m6i0zv8v54y8mmszfg"; depends=[numDeriv]; };
@@ -1384,17 +1394,17 @@ in with self; {
   EMP = derive2 { name="EMP"; version="2.0.5"; sha256="0piagbxk8siagmvzqv2bh12g1y0hy3c0vkxpddlmp7gm3i304rpi"; depends=[ROCR]; };
   EMSC = derive2 { name="EMSC"; version="0.9.3"; sha256="0mk7plkp1mfgi6krxn90vyah4x42960wh9v8k81wvxhyg67wc0ml"; depends=[pracma]; };
   EMSNM = derive2 { name="EMSNM"; version="1.0"; sha256="0rhaadzhq9jfpnwxfqcsb3yz96rqlwkm165k5n5jxzwxpg1rg2n0"; depends=[]; };
-  EMSS = derive2 { name="EMSS"; version="1.1.0"; sha256="0rvpi1kymvqcls9fp88dir4jwfqk0823km81wxngy0yi1cxg6va5"; depends=[mvtnorm sampleSelection]; };
+  EMSS = derive2 { name="EMSS"; version="1.1.1"; sha256="0zkr2xfvwlqxcfj59801vm54l38agipbkd9qgq6jkmqkdbkfv3yr"; depends=[mvtnorm sampleSelection]; };
   EMSaov = derive2 { name="EMSaov"; version="2.3"; sha256="1hpvwimhkl7za5s8j9n4a8883vy89jrxrhlh0k3cfprnndh4zz05"; depends=[shiny]; };
   EMT = derive2 { name="EMT"; version="1.2"; sha256="07c25nw8n6294f7q1axwraqp4x2p5dprgd8f9sldn2w6jslzvvc8"; depends=[]; };
   EMVS = derive2 { name="EMVS"; version="1.2.1"; sha256="1aikms2i77hwv6hrk8kn9wrh1v5j5zm918cwdwm5s6cy8fcqf406"; depends=[Rcpp RcppArmadillo]; };
   EMbC = derive2 { name="EMbC"; version="2.0.3"; sha256="0ns6jmshblf00n4harhls03q9c6h1wvgvjzn8jvr3kf4gm2iz2jd"; depends=[maptools mnormt RColorBrewer Rcpp RcppArmadillo sp]; };
   EMpeaksR = derive2 { name="EMpeaksR"; version="0.2.0"; sha256="1f8s6p3h5594aajrvrx8iv5x8m97xbc1pynsrk6i13aw5r73ysb1"; depends=[]; };
   ENMTools = derive2 { name="ENMTools"; version="1.0.5"; sha256="1lvvby77j3abf3gmm12091mcgijxcg7vilr2j9q3fi5n87wqhl12"; depends=[dismo ENMeval forcats ggplot2 ggpubr gridExtra knitr lhs magrittr raster rgdal rgeos sp spatstat spatstat_core spatstat_geom]; };
-  ENMeval = derive2 { name="ENMeval"; version="2.0.2"; sha256="00557sjrf0fmdddqgppfcambpi1z3j61mi9pdqrslr7rjpdcaha7"; depends=[dismo doParallel doSNOW dplyr foreach ggplot2 glmnet magrittr maxnet rangeModelMetadata raster rlang sp testthat tidyr]; };
+  ENMeval = derive2 { name="ENMeval"; version="2.0.3"; sha256="0h9wikxs01xhpkp1khhxnnqvg4fgmdvh37jh15nz7i4xilx1ffab"; depends=[dismo doParallel doSNOW dplyr foreach ggplot2 glmnet magrittr maxnet rangeModelMetadata raster rlang sp testthat tidyr]; };
   EPGMr = derive2 { name="EPGMr"; version="1.0.0"; sha256="1ii4lccv4hyydy3sd5l7c22pgx27x3mdml20sfbdj85pmpyab6q9"; depends=[]; };
-  EPP = derive2 { name="EPP"; version="0.3.5"; sha256="15zncf1ydkrhckdpsghk29csccdkpb1rvxfd510qs52w2k6rjgpp"; depends=[assertthat clipr cpp11 curl deldir dplyr flexclust httr leaflet leaflet_extras maptools nngeo osrm plyr rgdal rgeos s2 sf sp tibble]; };
-  EPT = derive2 { name="EPT"; version="0.7.5"; sha256="1llypf8600mk62cqxnwv5fds8ypfx5is2qkpbp4bh70l3s3lvj31"; depends=[]; };
+  EPP = derive2 { name="EPP"; version="0.3.6.1"; sha256="015hp5f3nrf0hqi11cgsi43a97h9cvny4d75hfjd10zf0fj261h9"; depends=[assertthat curl deldir dplyr flexclust httr leaflet leaflet_extras maptools nngeo osrm plyr rgdal rgeos sf sp]; };
+  EPT = derive2 { name="EPT"; version="0.7.6"; sha256="1hkisfisi63dd9lai662y387av1g77fkbai0p2a346n8zgahysji"; depends=[]; };
   EPX = derive2 { name="EPX"; version="1.0.4"; sha256="0d0qddk4c835gkh4lydaypxzakjz3qw9ai7y35kbaflj08fismc6"; depends=[doParallel doRNG foreach nnet randomForest rngtools]; };
   EQL = derive2 { name="EQL"; version="1.0-1"; sha256="0pa33h0f30l352m6ix296l55lvqxdaib666x2dwy9zx0lmk23w8m"; depends=[lattice ttutils]; };
   EQUIVNONINF = derive2 { name="EQUIVNONINF"; version="1.0.2"; sha256="08d74jm9my2p9r491v1hya7w2m9b4mf3vk812jsmrdfzdw3x47ab"; depends=[BiasedUrn]; };
@@ -1416,7 +1426,7 @@ in with self; {
   EZtune = derive2 { name="EZtune"; version="3.1.1"; sha256="0scslbgbbwma7sr0w9awg58ly5jwn877xsk6q1gq0ss3rd17pmfk"; depends=[ada BiocStyle e1071 GA gbm glmnet optimx ROCR rpart]; };
   Eagle = derive2 { name="Eagle"; version="2.5"; sha256="18y0hc5461gh7kp095xfpwpfnl7k3v545r8w6nrhabrhwsflrrij"; depends=[data_table fontawesome ggplot2 ggthemes mmap plotly R_utils Rcpp RcppEigen shiny shinyBS shinyFiles shinyjs shinythemes]; };
   EasyABC = derive2 { name="EasyABC"; version="1.5"; sha256="17qv6y8sf2iwwqcv5wfg6sii259gv5jyr72dnfpir2bw78wb3mqx"; depends=[abc lhs MASS mnormt pls tensorA]; };
-  EasyDescribe = derive2 { name="EasyDescribe"; version="0.1.0"; sha256="0is3j7myj4vjkg5hjwd1yzwyf1y8pxyn6710rphhaw85y86ba2mh"; depends=[CATT FSA gmodels multiCA psych rcompanion trend]; };
+  EasyDescribe = derive2 { name="EasyDescribe"; version="0.1.1"; sha256="15g37m28l40w71bvj02cbhfc6x77bjvr8mjr89iipdqzndp23g1i"; depends=[CATT fitdistrplus FSA gmodels multiCA nortest psych rcompanion]; };
   EasyHTMLReport = derive2 { name="EasyHTMLReport"; version="0.1.1"; sha256="1hgg8i7py7bx48cldyc7yydf0bggmbj3fx3kwiv9jh1x5wyh929z"; depends=[base64enc ggplot2 knitr markdown reshape2 scales xtable]; };
   EasyMx = derive2 { name="EasyMx"; version="0.2-12"; sha256="00wj08nwv5zi5d4a1fss40f4cms4svam1hmmxvh60hvc55ygsc3z"; depends=[OpenMx]; };
   EbayesThresh = derive2 { name="EbayesThresh"; version="1.4-12"; sha256="07a2dd3za2dc81n6m2xy794sclp3yw7f46lg1igaflh7m9407198"; depends=[wavethresh]; };
@@ -1439,8 +1449,9 @@ in with self; {
   EffectTreat = derive2 { name="EffectTreat"; version="1.1"; sha256="1kw1vq9y1q3xyiqsk855wjn9jqkzdh6h4xklbl9kvbqsvvhhsgkz"; depends=[]; };
   EffectsRelBaseline = derive2 { name="EffectsRelBaseline"; version="0.5"; sha256="1dsnakcrgmlx44599ii92wvhxbxrh0hij59709wsskx1x1152zvh"; depends=[]; };
   EfficientMaxEigenpair = derive2 { name="EfficientMaxEigenpair"; version="0.1.4"; sha256="1s0i9a2vk2g4f5gadsvzjfkw91hcjsrbyjg2vgnj1v17xrwgp40w"; depends=[]; };
-  EigenR = derive2 { name="EigenR"; version="1.1.0"; sha256="0382xjbw3hz2w0mnrjazwxkj06r7jci4rc10shic28wwyv0icnmy"; depends=[Rcpp RcppEigen]; };
+  EigenR = derive2 { name="EigenR"; version="1.2.2"; sha256="02cg898hm2byhnbfihg8mnygjsfpyrpq4y3lw2dnrglcj75qr71b"; depends=[Rcpp RcppEigen]; };
   EleChemr = derive2 { name="EleChemr"; version="1.2.0"; sha256="1wr2lkaf56qxsnqi7mgbgzy72lhkr0xlr1w1l9hy1dpmmqcqw7l3"; depends=[ggplot2]; };
+  ElliptCopulas = derive2 { name="ElliptCopulas"; version="0.1.1"; sha256="00cxyn6w9zy993lqyyn9yjvpw7h4wckp63s3apf1jv8b09l0kdn5"; depends=[Matrix pcaPP Runuran]; };
   EloChoice = derive2 { name="EloChoice"; version="0.29.4"; sha256="1g8ivvnv16c2gniwd9xa9z89bm4rac0nrg3mcg1risgf9yk4rgm5"; depends=[psychotools Rcpp RcppArmadillo Rdpack]; };
   EloOptimized = derive2 { name="EloOptimized"; version="0.3.1"; sha256="09bg1gm8jhjj0r7yzdgi2zlyavrizgiljwh26mpb6ng6p5mkliid"; depends=[BAMMtools dplyr lubridate magrittr reshape2 rlang]; };
   EloRating = derive2 { name="EloRating"; version="0.46.11"; sha256="09nh3ia4s3c9yjhw0f0haqb26fryfc4lf9rgfcbqqzzwgdr1invj"; depends=[network Rcpp RcppArmadillo Rdpack sna zoo]; };
@@ -1464,7 +1475,7 @@ in with self; {
   EnvExpInd = derive2 { name="EnvExpInd"; version="0.1.0"; sha256="063f3c10a7k9j3f85xilj1s6dd9ky5sw8sbvhzkhg5hg92c9dpns"; depends=[dplyr gstat maptools RCurl sp stringi zoo]; };
   EnvNJ = derive2 { name="EnvNJ"; version="0.1.3"; sha256="1wxb4zhhn7iahgsi7rg1vmfaa3vypifqx7kkcvmmgk0263z4sj5v"; depends=[ape bio3d phangorn philentropy seqinr stringr]; };
   EnvNicheR = derive2 { name="EnvNicheR"; version="1.4"; sha256="0hxx9wmzlw0clvdgdsy8msc78nvm81j3naxr57i7lqqa360sjy3a"; depends=[IDPmisc]; };
-  EnvStats = derive2 { name="EnvStats"; version="2.4.0"; sha256="0505j1hh1xky6hm2i8m22pkw62ql7plkxn0v0bcb6dr085v9wia9"; depends=[ggplot2 MASS nortest]; };
+  EnvStats = derive2 { name="EnvStats"; version="2.5.0"; sha256="1xx7cn6jdr5917fdknmwdd8da8s8a6g5ppd6f09l3gnvr5kalxsg"; depends=[ggplot2 MASS nortest]; };
   EnviroPRA = derive2 { name="EnviroPRA"; version="1.0"; sha256="0yirh3vy7wap0qmm3kvjz9y68gcvp9i8qshv80wh8aijxwklpr8n"; depends=[fitdistrplus kSamples MASS truncdist]; };
   EnviroStat = derive2 { name="EnviroStat"; version="0.4-2"; sha256="0ckax6vkx0vwczn21nm1dr8skvpm59xs3dgsa5bs54a3xhn5z9hs"; depends=[MASS]; };
   Epi = derive2 { name="Epi"; version="2.44"; sha256="1wcxr1f7irgfdwzz4vf67114yhxrhxxxnhy4hfaww0zy91vzxx10"; depends=[cmprsk data_table dplyr etm MASS Matrix mgcv numDeriv plyr purrr survival zoo]; };
@@ -1475,7 +1486,7 @@ in with self; {
   EpiILM = derive2 { name="EpiILM"; version="1.5.2"; sha256="0drs4qywx9axs7k5qk7sp5r3g8pykn4lqqbm0hxyl24r6b5l3d6b"; depends=[adaptMCMC coda LaplacesDemon]; };
   EpiILMCT = derive2 { name="EpiILMCT"; version="1.1.7"; sha256="1yjcjxf5m1qbb6p09g34wkr4q13g65ly11kxh95r22cdl85jmlq3"; depends=[coda igraph]; };
   EpiLPS = derive2 { name="EpiLPS"; version="1.0.2"; sha256="1fjy7rdqmf2crlhr5bbm5h25wskmw6yh8mb9isp0dc33r9pn2iwf"; depends=[coda crayon EpiEstim ggplot2 gridExtra MASS progress Rcpp RcppArmadillo]; };
-  EpiModel = derive2 { name="EpiModel"; version="2.2.0"; sha256="1hpar16srsz0jnf44iqh376kd0qb4zfidkf09zzby9iicij7rv64"; depends=[ape deSolve doParallel dplyr ergm foreach ggplot2 lazyeval network networkDynamic RColorBrewer Rcpp statnet_common tergm tibble]; };
+  EpiModel = derive2 { name="EpiModel"; version="2.2.1"; sha256="0gykqk9n3i4779zm1npsq9q07230nrxk0cm48gmnq587yf7n6fa2"; depends=[ape deSolve doParallel dplyr ergm foreach ggplot2 lazyeval network networkDynamic RColorBrewer Rcpp statnet_common tergm tibble]; };
   EpiNow2 = derive2 { name="EpiNow2"; version="1.3.2"; sha256="1rcyhk0f18asrym9zd7hr5ss7aw2dd2m5wrjcsqkr8q7x6apwh3g"; depends=[BH cowplot data_table futile_logger future future_apply ggplot2 lifecycle lubridate patchwork progressr purrr R_utils Rcpp RcppEigen rlang rstan runner scales StanHeaders truncnorm]; };
   EpiReport = derive2 { name="EpiReport"; version="1.0.2"; sha256="1dh9rjdjgmwzvfslzgnmd37ipj7ydbn4pnngz4sw7nknqy7r4dpx"; depends=[dplyr flextable ggplot2 officer png tidyr tidyselect zoo]; };
   EpiSignalDetection = derive2 { name="EpiSignalDetection"; version="0.1.2"; sha256="17mawnx3c87kgfa7aj42a7db9c1ciyxdfgka9sgx6lc0yw5249as"; depends=[dplyr ISOweek rmarkdown shiny surveillance]; };
@@ -1498,7 +1509,7 @@ in with self; {
   EvalEst = derive2 { name="EvalEst"; version="2021.2-1"; sha256="0ws7x0dkzb3h2m801dkzx2as146whm63mcipy4iia90jd9944zir"; depends=[dse setRNG tfplot tframe]; };
   EvaluateCore = derive2 { name="EvaluateCore"; version="0.1.2"; sha256="0yqv5srnbczdx8h3cxvj6hfas0436xc8hz698zi7ypms34r9c1ly"; depends=[agricolae car cluster dplyr entropy ggcorrplot ggplot2 gridExtra kSamples mathjaxr psych Rdpack reshape2 vegan]; };
   EvaluationMeasures = derive2 { name="EvaluationMeasures"; version="1.1.0"; sha256="0b65y4rb650hhlgc18z0sm0danrrawqkazzdl9krl877djrgx87g"; depends=[]; };
-  Evapotranspiration = derive2 { name="Evapotranspiration"; version="1.15"; sha256="1hvvlc8qwgal4lhlccf4dk817xgpyyiqzzlzk7w3ydnczr8pk4bk"; depends=[zoo]; };
+  Evapotranspiration = derive2 { name="Evapotranspiration"; version="1.16"; sha256="0mdy9f20fwhak1a830mq2dnvkal0whgfdr8bqkkg2hb9351ahl15"; depends=[zoo]; };
   EventDetectGUI = derive2 { name="EventDetectGUI"; version="0.3.0"; sha256="02gwgbp692cfmf933jg1f7h4gghhc1v2cswz7rpcazm8h39mc4wh"; depends=[DT EventDetectR ggplot2 plotly shiny shinyBS shinydashboard shinyjs XML]; };
   EventDetectR = derive2 { name="EventDetectR"; version="0.3.5"; sha256="0wx3bcs8n95fmyc5vnlrwd75bzqqvy6czb9bsbp04g3770c5ja0r"; depends=[forecast ggplot2 gridExtra imputeTS neuralnet]; };
   EventStudy = derive2 { name="EventStudy"; version="0.37"; sha256="1bf7ngwl3gxq3gi2s9z2c4pd0d2gjh9y9vrwzay6x66981sa84h9"; depends=[curl data_table dplyr ggplot2 httr jsonlite magrittr miniUI openxlsx purrr RColorBrewer readr rlang rstudioapi scales shiny stringr testthat tidyquant tidyr]; };
@@ -1524,7 +1535,7 @@ in with self; {
   ExpDE = derive2 { name="ExpDE"; version="0.1.4"; sha256="0yjsap92dd1sb23fhw69i0ddk3lyj5f4kwp9rvz4k0vxry10hx7g"; depends=[assertthat]; };
   ExpDes = derive2 { name="ExpDes"; version="1.2.2"; sha256="145x7zzhgs7rqbamsfwcxlhppxmy9l6v4a1wximac8qgp7i0wdpi"; depends=[stargazer]; };
   ExpDes_pt = derive2 { name="ExpDes.pt"; version="1.2.2"; sha256="05s7j3afs97x0k4w9rsjic1519ilzri250x5rl6l6smqivjaplci"; depends=[stargazer]; };
-  ExpImage = derive2 { name="ExpImage"; version="0.3.0"; sha256="0rakxpgfmpn1x3jvvkhlzpqx2pwvcbwz4cazci5c1gw5flvb63ka"; depends=[crayon doParallel foreach raster]; };
+  ExpImage = derive2 { name="ExpImage"; version="0.4.0"; sha256="1nikj1hqpd57x3ra6kmql23qp037mn7y9njx51fcgjiw23k37gys"; depends=[crayon doParallel foreach ggplot2 progress raster rstudioapi]; };
   ExpRep = derive2 { name="ExpRep"; version="1.0"; sha256="0spv3wd9c8sr338n5kdzrs28yh7s90fl70wsdnkibmlxhnh3ay3g"; depends=[]; };
   ExpertChoice = derive2 { name="ExpertChoice"; version="0.2.0"; sha256="1pd4v240ywc4wzh249axxb4kz5dccizc08jdjnaygz35hjdg5hvj"; depends=[DoE_base dplyr far purrr rlist]; };
   ExplainPrediction = derive2 { name="ExplainPrediction"; version="1.3.0"; sha256="14m3b9fsrpfpr8avsnhl8b3bzk2xlhwgkwag5iq8bj7bzvv4yck1"; depends=[CORElearn semiArtificial]; };
@@ -1541,12 +1552,13 @@ in with self; {
   FAIRmaterials = derive2 { name="FAIRmaterials"; version="0.0.2"; sha256="169hcwjm0plhkqbhz3b5cqgc2nnkibn94cimrs39sn9z62radb7x"; depends=[dplyr glue stringr]; };
   FAMILY = derive2 { name="FAMILY"; version="0.1.19"; sha256="1912l2zj2cmh8yx8lkg8fpgvfddn6wbi1vrr4yx04mh73gk1s5mk"; depends=[pheatmap pROC]; };
   FAMT = derive2 { name="FAMT"; version="2.5"; sha256="0mn85yy9zmiklfwqjbhbhzbawwp2yqrm9pvm8jhasn9c3kw1pcp2"; depends=[impute mnormt]; };
-  FAMetA = derive2 { name="FAMetA"; version="0.1.1"; sha256="1w99pl47ljdhqdjqw6cdx4jqm40wzy601wm6rbnwws37iwq0pj76"; depends=[accucor gplots gtools knitr LipidMS minpack_lm plyr rmarkdown scales tidyr]; };
+  FAMetA = derive2 { name="FAMetA"; version="0.1.2"; sha256="1ik3dl9sfcnba9kg0mbgnjiny1zvs3cmqgixi04yypmyqxs4d2mq"; depends=[accucor gplots gtools knitr LipidMS minpack_lm plyr rmarkdown scales tidyr]; };
   FAMoS = derive2 { name="FAMoS"; version="0.3.0"; sha256="14gr9wv9bpibk0rrzzwijvdncx1fgnpbv55nqzbb4jhq7fdckmsa"; depends=[future R_utils]; };
   FAO56 = derive2 { name="FAO56"; version="0.1.0"; sha256="0dl56gdsmx3ixxakz2xqrirss5xxbz62mvp7jdrgaizrn8xd802i"; depends=[]; };
-  FAOSTAT = derive2 { name="FAOSTAT"; version="2.2.1"; sha256="1i1zd62qv1zrrnpkrchhk3maj9pfabvbc960gck3ry8l0ns926q9"; depends=[classInt data_table ggplot2 labeling MASS plyr RJSONIO XML]; };
+  FAOSTAT = derive2 { name="FAOSTAT"; version="2.2.3"; sha256="12wjcjyjdw8jgla9yqddr3ibi6v47lfdlnyf5s5d8ms3ck6ic8sl"; depends=[classInt data_table ggplot2 labeling MASS plyr RJSONIO XML]; };
   FARDEEP = derive2 { name="FARDEEP"; version="1.0.1"; sha256="0blvjakcpkh9vpxryk7qyaqnija0r375ckv37kjlr34xg8pg9qnm"; depends=[nnls preprocessCore]; };
   FASeg = derive2 { name="FASeg"; version="0.1.9"; sha256="0lazx8dyycyycr8467m9rkxkxhp4r2w737kpkb40y59wncmbvkik"; depends=[]; };
+  FAVAR = derive2 { name="FAVAR"; version="0.1.0"; sha256="04ajrq5wii4mccnaxn3wsn7kdfd2pydxaygk6dnbhc6610xs8bc5"; depends=[bvartools coda doParallel dplyr foreach ggplot2 magrittr matlab Matrix MCMCpack]; };
   FAdist = derive2 { name="FAdist"; version="2.3"; sha256="0vy9yavg5apawjfvch5a7abrmsnx36zhlk8jff3dvcx409lykrrn"; depends=[]; };
   FAmle = derive2 { name="FAmle"; version="1.3.5"; sha256="1j6x5bbxnrwp9d6xlxc861xslawzfqhi3d11nphyc97afsz0ymnr"; depends=[mvtnorm]; };
   FAwR = derive2 { name="FAwR"; version="1.1.2"; sha256="1x90wvp0w7fhid7i5160b4fiv4xn5mpvy33zjzy0mvqvp0yp8xf0"; depends=[glpkAPI lattice MASS]; };
@@ -1562,7 +1574,7 @@ in with self; {
   FDRestimation = derive2 { name="FDRestimation"; version="1.0.0"; sha256="1m4k71bsfj2sbsnyqi1s9p5wxbvvn24w98lqwms6z4irc0sk6r3g"; depends=[Rdpack]; };
   FDRreg = derive2 { name="FDRreg"; version="0.1"; sha256="17hppvyncbmyqpi7sin9qsrgffrnx8xjcla2ra6y0sqzam1145y4"; depends=[fda mosaic Rcpp RcppArmadillo]; };
   FDRsampsize = derive2 { name="FDRsampsize"; version="1.0"; sha256="0g8kawzyi9x5yndvh330wzqw6rvcnprwq56ngd0j6z51hvvw8qhw"; depends=[]; };
-  FDX = derive2 { name="FDX"; version="1.0.3"; sha256="1bwads0w8g2w4vb78rq6j4gy5i9f12pcb4y1l540y1acb7d1dsji"; depends=[DiscreteFDR PoissonBinomial pracma Rcpp]; };
+  FDX = derive2 { name="FDX"; version="1.0.4"; sha256="15qjy216n87ylk8kwjhgz0mwdhgy57xn2l8x38ffgff3n3v0gwcn"; depends=[DiscreteFDR PoissonBinomial pracma Rcpp]; };
   FDboost = derive2 { name="FDboost"; version="1.0-0"; sha256="1227fda2m8lsq3cndv0xgbgbcfdxhc4fjiyj2dmha1z4sycd7a28"; depends=[gamboostLSS MASS Matrix mboost mgcv stabs zoo]; };
   FENmlm = derive2 { name="FENmlm"; version="2.4.3"; sha256="1a205a4iv54haixanyzx210lzqg7cnryjvqayvkdj1lhmdql4anw"; depends=[Formula MASS numDeriv Rcpp]; };
   FER = derive2 { name="FER"; version="0.94"; sha256="0319dz0qvk8s9cfngqas3j212bw0f4rzw3gqcd7r7sl0249dla7p"; depends=[statmod]; };
@@ -1581,7 +1593,7 @@ in with self; {
   FITSio = derive2 { name="FITSio"; version="2.1-6"; sha256="1qch6z9r8h95jijjdwsi81majgacl42ryzlkn0m1wifkly9mjjrb"; depends=[]; };
   FKF = derive2 { name="FKF"; version="0.2.3"; sha256="0hw8gfmnx05cajbfiffqsbgq164qaf16qsa7wa133pzkpl6b0f0f"; depends=[]; };
   FKF_SP = derive2 { name="FKF.SP"; version="0.1.3"; sha256="0pbqpaddk5yhh0lycqncfc029md4if93p07jvnixjn0mrraxj6b5"; depends=[curl mathjaxr Rdpack]; };
-  FKSUM = derive2 { name="FKSUM"; version="0.1.4"; sha256="02nicfw0wcprdg0p2p44g740j6bjf6xgzjxcvyfcbcsbr6bpjknx"; depends=[MASS rARPACK Rcpp RcppArmadillo]; };
+  FKSUM = derive2 { name="FKSUM"; version="1.0.0"; sha256="1a0fk3k5mmkv26lmf14wiaj0hq19m92681a1p5ldnzpqr54w9igz"; depends=[MASS Matrix rARPACK Rcpp RcppArmadillo]; };
   FLAME = derive2 { name="FLAME"; version="2.1.1"; sha256="013kxp6zjw8qzdq3750x109rhbmjn10q32wgxsh7ajiflwhj3f1i"; depends=[glmnet gmp]; };
   FLLat = derive2 { name="FLLat"; version="1.2-1"; sha256="0306bpwp2az4x4m5sv88hlh7vs0y5isfby7lxrn2gjnk76gg6mw1"; depends=[gplots]; };
   FLR = derive2 { name="FLR"; version="1.0"; sha256="0k50vi73qj7sjps0s6b2hq1cmpa4qr2vwkpd2wv2w1hhhrj8lm0n"; depends=[combinat]; };
@@ -1600,7 +1612,7 @@ in with self; {
   FORTLS = derive2 { name="FORTLS"; version="1.0.6"; sha256="0w6a17n1f9vq7j9ajlqkrbxgajhh4qrj5lwfqfkk9g1h5vsr8xn2"; depends=[dbscan Distance ggvoronoi htmlwidgets lidR moments plotly progress raster Rcpp RcppEigen RCSF scales sp tidyr vroom]; };
   FPCA2D = derive2 { name="FPCA2D"; version="1.0"; sha256="18bb90ppd9gd8pg9jxfyfkmlsaqk8w25fgaj9fk18ybm2nhsxqm6"; depends=[corpcor]; };
   FPCA3D = derive2 { name="FPCA3D"; version="1.0"; sha256="1hrk9caad2s76dx59clxhia45a85khk1y2ii7955f336x55q34a5"; depends=[]; };
-  FPDclustering = derive2 { name="FPDclustering"; version="2.0"; sha256="04anczbml5mpxi65qalafs5q4pign6abhqsc2birvvg23r3hhhfh"; depends=[cluster ExPosition GGally ggplot2 klaR MASS mvtnorm rootSolve ThreeWay]; };
+  FPDclustering = derive2 { name="FPDclustering"; version="2.1"; sha256="0p5rx3js5sdmdabdplhkl5hgainspj63iz0wgns4jxb4lhs825sa"; depends=[cluster ExPosition GGally ggplot2 klaR MASS mvtnorm rootSolve ThreeWay]; };
   FPLdata = derive2 { name="FPLdata"; version="0.1.0"; sha256="0f5j6h4v0a9jk798m02mdq57v8rlkhrpgcrnj1rna34lrz83m51q"; depends=[dplyr readr]; };
   FPV = derive2 { name="FPV"; version="0.5"; sha256="0pxa8lbcxw2hx2n0frkx0pdndlcfm7gnh9qay9q53cf5gqzzwvvc"; depends=[FuzzyNumbers FuzzyNumbers_Ext_2]; };
   FRACTION = derive2 { name="FRACTION"; version="1.0"; sha256="0g25dzsbharsq8bzfka96zccaqppdclax24mz5m080ddg4y8zj49"; depends=[]; };
@@ -1609,7 +1621,7 @@ in with self; {
   FREEtree = derive2 { name="FREEtree"; version="0.1.0"; sha256="1i2liqbcg993snj5vq341mmafzhn1yrwljvx4f3kyzy0pa59k6rn"; depends=[glmertree MASS pre WGCNA]; };
   FREQ = derive2 { name="FREQ"; version="1.0"; sha256="01nra30pbnqdd63pa87lcws3hnhhzybcjvx2jqyxjghn6khz47j0"; depends=[]; };
   FRESA_CAD = derive2 { name="FRESA.CAD"; version="3.3.1"; sha256="1d8ya1pqy1zc9hxp7s211n0wa3n63jgpxh5ngysbh0dn488l8vgg"; depends=[Hmisc miscTools pROC Rcpp RcppArmadillo stringr]; };
-  FRK = derive2 { name="FRK"; version="2.0.2"; sha256="0i54qq0vadxjaxh7x7k1i325cczyxrs97cm41nwzqr2zcl2nji6w"; depends=[digest dplyr ggplot2 ggpubr Hmisc Matrix plyr Rcpp RcppEigen reshape2 scales sp spacetime sparseinv statmod TMB]; };
+  FRK = derive2 { name="FRK"; version="2.0.3"; sha256="0xyb3sb22vvsa8ymlcpagjml66ykyny8jgd4rq31k4fsq4ki5xsp"; depends=[digest dplyr ggplot2 ggpubr Hmisc Matrix plyr Rcpp RcppEigen reshape2 scales sp spacetime sparseinv statmod TMB]; };
   FSA = derive2 { name="FSA"; version="0.9.1"; sha256="19acr6cwy4qh78d0zyawwrpkl6kkv88bqzyz4a40b3ajyg69cqbn"; depends=[car dplyr dunn_test lmtest plotrix sciplot withr]; };
   FSAdata = derive2 { name="FSAdata"; version="0.3.8"; sha256="0i7wkz0baxcf1dv6qvc891b4ja4x65p4qicil472k6a9gcf5d4qm"; depends=[]; };
   FSDAM = derive2 { name="FSDAM"; version="2020.11-18"; sha256="09l7zvmbvmbcr5pxizdhs5fn79r6cl4ic0hsz2bazdymsqv3s3nm"; depends=[kyotil reticulate]; };
@@ -1646,6 +1658,7 @@ in with self; {
   FastGP = derive2 { name="FastGP"; version="1.2"; sha256="120qai1yw3yhwm762zridk78n4qclpivwm9f2hkij4bz851qibqv"; depends=[MASS mvtnorm rbenchmark Rcpp RcppEigen]; };
   FastGaSP = derive2 { name="FastGaSP"; version="0.5.2"; sha256="1i54gxnc27fjgdbcrf2n1s5p6jgadcz2v4g0hq4xay0kfr593a7g"; depends=[Rcpp RcppEigen RobustGaSP]; };
   FastHCS = derive2 { name="FastHCS"; version="0.0.7"; sha256="0l3fi3siwg2jhsj0jbhgccx8pnwd8h8f4z37g1najb41hw8dwn8d"; depends=[matrixStats Rcpp RcppEigen]; };
+  FastJM = derive2 { name="FastJM"; version="1.0.1"; sha256="1l2m4spma6p146wp2fi4gd0hpn8bfhrawvlscm05mxzfr405f15k"; depends=[dplyr MASS mvtnorm nlme Rcpp RcppEigen statmod survival]; };
   FastKM = derive2 { name="FastKM"; version="1.0"; sha256="0sqxd2pg9y6yn1lnxni32ca3bgbmz04k9z37q9pzgijvf9qvik3f"; depends=[rARPACK]; };
   FastKNN = derive2 { name="FastKNN"; version="0.0.1"; sha256="1iz8ybzkvbyqwb00s7cp1zvy9xlmyjid441mf62dq08a0zncnyss"; depends=[assertthat pdist]; };
   FastLZeroSpikeInference = derive2 { name="FastLZeroSpikeInference"; version="2018.12.10"; sha256="0ybpmns7bc1j5xzqjl7734grihmvvpa3h52gixv3h70l0r89d8ys"; depends=[]; };
@@ -1692,10 +1705,11 @@ in with self; {
   FixSeqMTP = derive2 { name="FixSeqMTP"; version="0.1.2"; sha256="0v1cwq8gapgandm7wiw8p6av6qigydlpmwi6w02p1y7f0hf5ifnp"; depends=[]; };
   FixedPoint = derive2 { name="FixedPoint"; version="0.6.2"; sha256="1jgqc7m3cvyvxlpkvcqqyfmjl8harsb4kl7msk3qd8mn4qjvvyms"; depends=[MASS]; };
   FlexDir = derive2 { name="FlexDir"; version="1.0"; sha256="1gb5alv9jsnw0135g63cy757pxhdw6cgwfm8dpcm8dj9zqg10dkm"; depends=[]; };
+  FlexDotPlot = derive2 { name="FlexDotPlot"; version="0.2.1"; sha256="1h5mxddvxqqbi3mzyk8hblviyw55s6ly6vqqcilznh328wl0qg85"; depends=[bsplus colourpicker dendextend DT FactoMineR ggdendro ggforce ggplot2 gridExtra grImport2 htmltools magrittr reshape2 scales shiny shinydashboard shinyWidgets sisal]; };
   FlexGAM = derive2 { name="FlexGAM"; version="0.7.2"; sha256="04xbglg9vli18fd24k1qyvbl7svp70k67ig3jiss96fgkgbi6w7c"; depends=[MASS Matrix mgcv scam]; };
   FlexParamCurve = derive2 { name="FlexParamCurve"; version="1.5-5"; sha256="1404cn3bhcdr3mjhpr072zcyl0wnksarsg2sry5d1scsmrn4xq83"; depends=[nlme]; };
-  FlexReg = derive2 { name="FlexReg"; version="1.0"; sha256="0zwm9jd7idakmf344fh7bgwyl20cl5iszxh7rk1iw94yjcq3g06l"; depends=[bayesplot BH Formula ggplot2 loo Rcpp RcppEigen rstan rstantools StanHeaders]; };
-  FlexScan = derive2 { name="FlexScan"; version="0.2.1"; sha256="1p9kzj58zzkkxjq4gnhln1av53an05m3qbyzh5i92vcgnn3z1s79"; depends=[smerc sp spdep]; };
+  FlexReg = derive2 { name="FlexReg"; version="1.1"; sha256="0p52qszn5vvci57f4jxynm1kiwdd105cg096ijg6w481v24a0qb3"; depends=[bayesplot BH faraway Formula ggplot2 loo Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  FlexScan = derive2 { name="FlexScan"; version="0.2.2"; sha256="1887r2nxpv89rizzj0j1p5shfmbyhchjzaszbxd7mlswqkqazb53"; depends=[smerc sp spatialreg spdep]; };
   FlickrAPI = derive2 { name="FlickrAPI"; version="0.1.0.0"; sha256="0bbk7ac4s3gbcjhfg3yz06pxjid3hpd0mqzxzlj5sghn95f479h9"; depends=[jsonlite magrittr RCurl stringr]; };
   FlowRegEnvCost = derive2 { name="FlowRegEnvCost"; version="0.1.1"; sha256="0lw4kv4z0s23jy11y53rxxh7zxa7vajxrcnjgxd74xxs64vjlj88"; depends=[zoo]; };
   FlowScreen = derive2 { name="FlowScreen"; version="1.2.6"; sha256="1s9xyrvfsgrl2zxm2an5qj3rs1qx7v7j8wc83jzl28pkwa5xr351"; depends=[changepoint evir zyp]; };
@@ -1730,7 +1744,7 @@ in with self; {
   FunCC = derive2 { name="FunCC"; version="1.0"; sha256="0n8fnrq3grsxxcz1841d3d643nyrwc7y15na1205zxq6rmdjx7wa"; depends=[biclust ggplot2 narray RColorBrewer reshape]; };
   FunChisq = derive2 { name="FunChisq"; version="2.5.2"; sha256="0ds8gx86bi882nmdlivvigr53kq1dcq4cqj03szg44j8p6q3vhkx"; depends=[BH dqrng Rcpp Rdpack]; };
   FunCluster = derive2 { name="FunCluster"; version="1.09"; sha256="0i73asn1w4s6ydf2ddn5wpr0mwbbxzgmaly1pslarzkx71wk03fz"; depends=[cluster Hmisc]; };
-  FunWithNumbers = derive2 { name="FunWithNumbers"; version="1.0"; sha256="0kzmfy2dn41v7991crshxjcycp1s432ip0ivw8bq6x9v638skwkk"; depends=[gmp Rmpfr]; };
+  FunWithNumbers = derive2 { name="FunWithNumbers"; version="1.1"; sha256="16w5hna0dm89alkch9wf7n8mqqz75scwg0g84qf57bl6sihnp750"; depends=[gmp Rmpfr]; };
   FuncMap = derive2 { name="FuncMap"; version="1.0.10"; sha256="0iaay6qz9a2s77xjfpp7wm37y7xwnvmlw6s5k5riccmqzc6dcjs7"; depends=[mvbutils]; };
   FuncNN = derive2 { name="FuncNN"; version="1.0"; sha256="0kcr7c54igzi0imp8w9a0mnrqaa2qcls9777scsjz5sbcxdy3if3"; depends=[caret doParallel fda fda_usc flux foreach ggplot2 ggpubr keras Matrix pbapply reshape2 tensorflow]; };
   FunnelPlotR = derive2 { name="FunnelPlotR"; version="0.4.1"; sha256="0cfvg47fwxwjhgxd5if81jg9nkj42i1yvykqd7g01n7ymirp7kf6"; depends=[dplyr ggplot2 ggrepel scales]; };
@@ -1743,7 +1757,7 @@ in with self; {
   FuzzyNumbers_Ext_2 = derive2 { name="FuzzyNumbers.Ext.2"; version="3.2"; sha256="0gldq0bg1p1vmrn35prha44d7lyymz0jzshdyp2c5rx433mny7h5"; depends=[FuzzyNumbers]; };
   FuzzyQ = derive2 { name="FuzzyQ"; version="0.1.0"; sha256="1camdw7rnzf02nqjlmkr7mqpc38dafq9nw8x7pzwi1lh5xwv5dia"; depends=[cluster]; };
   FuzzyR = derive2 { name="FuzzyR"; version="2.3.2"; sha256="0d0zf8diw7m10zfx0r5zg5arhf4a90sva77h6rvfywixldwrnk7s"; depends=[plyr shiny]; };
-  FuzzyResampling = derive2 { name="FuzzyResampling"; version="0.3.1"; sha256="1k3n91dlc9zigfj61hqlifw5851n6m54dbwg3nz43s1pkcvdjdj1"; depends=[ttutils]; };
+  FuzzyResampling = derive2 { name="FuzzyResampling"; version="0.4.0"; sha256="1gn4a7vk799n622g2hry5j07hylqk69isr9yplj3af1yl9fpc8ym"; depends=[ttutils]; };
   FuzzySTs = derive2 { name="FuzzySTs"; version="0.2"; sha256="0zs1pyn9apysspxa0glqc96h6npmvvhiqvqpcm0brslz0b6xnilp"; depends=[FuzzyNumbers polynom]; };
   FuzzyStatProb = derive2 { name="FuzzyStatProb"; version="2.0.4"; sha256="1jpqb8xczi1d4g306vrwpi02f9h59aki1pgnckvfmiclr306prpb"; depends=[DEoptim FuzzyNumbers MultinomialCI]; };
   FuzzyStatTra = derive2 { name="FuzzyStatTra"; version="1.0"; sha256="1ijrlnlmq9d5ahgrpzba6kzkaq1zq59zqdgcizybsf9alsswcm00"; depends=[]; };
@@ -1764,7 +1778,7 @@ in with self; {
   GARCHIto = derive2 { name="GARCHIto"; version="0.1.0"; sha256="1rh9da9gb1krxasx1apldns5k3wl2xjjqc8bidsd5c0h5jlqdvr6"; depends=[Rsolnp]; };
   GARCHSK = derive2 { name="GARCHSK"; version="0.1.0"; sha256="0fwzv8js3d9klbzs58m946k7q50yxpf0cxia3r2z2gy85xphrsm0"; depends=[Rsolnp]; };
   GARCOM = derive2 { name="GARCOM"; version="1.2.0"; sha256="1fgr03gw86fjrj6hx32qvl6jsc6ax9i1ss4bbfmi8iz2f1nq43wi"; depends=[data_table vcfR]; };
-  GAS = derive2 { name="GAS"; version="0.3.3"; sha256="0w5rgx3f965jxl2r6rhsj5ad4bbbwir8hbki3q0cs2z9hc4g6vh9"; depends=[cubature MASS numDeriv Rcpp RcppArmadillo Rsolnp xts zoo]; };
+  GAS = derive2 { name="GAS"; version="0.3.4"; sha256="014b2y9qrv44j5v559bnw7yiacs9aarsgpbrj3clxm4n0srhv843"; depends=[cubature MASS numDeriv Rcpp RcppArmadillo Rsolnp xts zoo]; };
   GAabbreviate = derive2 { name="GAabbreviate"; version="1.3"; sha256="0cq6bg3w0ji44rsz1p4j17fk0jg8rafbjixwi3fjdndc3yd874r5"; depends=[GA psych]; };
   GAparsimony = derive2 { name="GAparsimony"; version="0.9.4"; sha256="1p1s5q1basy9v3jy1qxpx5g8mzpkwdfarxmmf7s06c6wq0dl9vp8"; depends=[foreach iterators]; };
   GB2 = derive2 { name="GB2"; version="2.1"; sha256="06rcck97pdm1rsb02cy0jd9fknv0mz5jwk364gsaahdk56ddk18a"; depends=[cubature hypergeo laeken numDeriv survey]; };
@@ -1782,11 +1796,12 @@ in with self; {
   GDAdata = derive2 { name="GDAdata"; version="0.93"; sha256="13ks97i289rc4i7gpqrifwbj0m9rx8csjhnfg8mad10qmjwz7p8b"; depends=[]; };
   GDAtools = derive2 { name="GDAtools"; version="1.7"; sha256="1fsx2kxilvfvm9nccn1a9ly6kavz9l8np6az2ax9dd00rbvqjcjl"; depends=[FactoMineR GGally ggplot2 ggrepel MASS nleqslv nnet RColorBrewer rlang wdm]; };
   GDELTtools = derive2 { name="GDELTtools"; version="1.5"; sha256="1lhsyf7kd1lnx2dgifmrd89yl95sf9k6ay19dll2p8b9h3vs7hci"; depends=[dplyr plyr TimeWarp]; };
-  GDINA = derive2 { name="GDINA"; version="2.8.7"; sha256="08cdjp4mqn81j3wa770v7n8zkslys9jqqb3d3c09dkfmgdk6hga4"; depends=[alabama ggplot2 MASS nloptr numDeriv Rcpp RcppArmadillo Rsolnp shiny shinydashboard]; };
+  GDINA = derive2 { name="GDINA"; version="2.8.8"; sha256="1slq1npsq8s8aghnrpm6vvc6kxj4svz0kr2x0akblndrcr25wxjr"; depends=[alabama ggplot2 MASS numDeriv Rcpp RcppArmadillo Rsolnp shiny shinydashboard]; };
   GDPuc = derive2 { name="GDPuc"; version="0.5.1"; sha256="1pdhl8mccxb613994f3y59a89rvksi8kb7j2aaf7msnh67rndrrn"; depends=[cli crayon dplyr glue lifecycle magrittr rlang stringr tibble tidyselect]; };
-  GE = derive2 { name="GE"; version="0.2.3"; sha256="1gjni9kpa9s5yp1pyn87v3k2ckzb0v65310piy1lfj7pz0cjmkgg"; depends=[CGE data_tree DiagrammeR]; };
+  GE = derive2 { name="GE"; version="0.2.6"; sha256="0vxrw08851n6vfqsvr11746l36n8m4sq5qyhgw1yrcj5g4qwnbf9"; depends=[CGE data_tree DiagrammeR]; };
   GEEaSPU = derive2 { name="GEEaSPU"; version="1.0.2"; sha256="02pwjqd94kranc1f69bx9rzk27kchavhvhl9fygjhrr40nwq3pbg"; depends=[gee Rcpp RcppArmadillo]; };
   GEEmediate = derive2 { name="GEEmediate"; version="1.1.3"; sha256="1xprkpjp1pkq4ci1n32d3yy80hx3r4xf2j7f6hv7dvsn4cvdp417"; depends=[gee]; };
+  GEInfo = derive2 { name="GEInfo"; version="1.0"; sha256="08ha9w3c64x9ib2fbh4djbhg7y6lykibx93mbm7i3gdvpajqk0jx"; depends=[dplyr glmnet MASS pheatmap rvest]; };
   GEInter = derive2 { name="GEInter"; version="0.3.1"; sha256="10f2s2w8kh35aidg4ixb71v1j9817k5y6dmddm2kvxhzk6b6f7gn"; depends=[ggplot2 Hmisc MASS pcaPP quantreg reshape2 survAUC survival]; };
   GENEAclassify = derive2 { name="GENEAclassify"; version="1.5.2"; sha256="1rddzf1qdi2xslb7qbrb60940ccq6a17wzsbmvwl2wliv183xhwm"; depends=[changepoint GENEAread MASS rpart signal]; };
   GENEAread = derive2 { name="GENEAread"; version="2.0.9"; sha256="00whn2xqlcdcgmrifng04j2csxynfb1dmj9wkx981ylz13jsnwm9"; depends=[bitops mmap]; };
@@ -1796,21 +1811,20 @@ in with self; {
   GEOmap = derive2 { name="GEOmap"; version="2.4-4"; sha256="0wk2v0fwcwcm59k711fg829h2w58wkd36im4mg974iai6mqif7qh"; depends=[fields MBA RPMG splancs]; };
   GESE = derive2 { name="GESE"; version="2.0.1"; sha256="0h3s2sbnv5wilr2mj6bnl2892p16pxrs341gg6jql1a540p669sk"; depends=[kinship2]; };
   GESTr = derive2 { name="GESTr"; version="0.1"; sha256="1q12l2vcq6bcyybnknrmfbm6rpzcmxgq2vyj33xwhkmm9g2ii9k6"; depends=[gtools mclust]; };
-  GET = derive2 { name="GET"; version="0.2-4"; sha256="15vn970jsx1iysrx5bva0zbhhlzsjcz62651pply095jkn4z5mdg"; depends=[ggplot2 gridExtra viridisLite]; };
+  GET = derive2 { name="GET"; version="0.2-5"; sha256="1mh8afgzz4yq4hpx0f0fiw1j6jmaq5b24ja2d5krvm5s83gi356r"; depends=[cluster ggplot2 gridExtra viridisLite]; };
   GEVACO = derive2 { name="GEVACO"; version="1.0.1"; sha256="0zkan4w96g3qc1hgla90mh32b55bk58gax095p4nxrfi46f8w3rf"; depends=[nlme RLRsim]; };
   GEVcdn = derive2 { name="GEVcdn"; version="1.1.6-2"; sha256="0vmm9fhyrk5m0zwy7fpq5j9zinws0gn2saf4j9plqc9gj1gphjn0"; depends=[]; };
   GEint = derive2 { name="GEint"; version="0.1.5"; sha256="179gpq4qjhgx1fhyjdb80rf2ip80zhhfyn8xjgwq1a425163q1y7"; depends=[bindata geepack mvtnorm nleqslv pracma rje speedglm]; };
   GExMap = derive2 { name="GExMap"; version="1.1.3"; sha256="1a6i2z9ndgia4v96nkr77cjqnbgxigqbqlibg82gwa0a6pl7r7nz"; depends=[Biobase multtest]; };
   GFA = derive2 { name="GFA"; version="1.0.3"; sha256="10sivsqxliwcrp0ay3n2my28zki6f8vpv8i9lbld8qinx1iv2mq3"; depends=[]; };
-  GFD = derive2 { name="GFD"; version="0.3.2"; sha256="15chm0r9sgdvjg0f4cayqj92blxkj5949mwhpx72bqcwzh3h8f4x"; depends=[magic MASS Matrix plotrix plyr shiny shinyjs shinythemes shinyWidgets tippy]; };
+  GFD = derive2 { name="GFD"; version="0.3.3"; sha256="1d40fwk367ww544z25jwlx2kdm1gv7y6ijl8vnpi198n7k1hdgpl"; depends=[magic MASS Matrix plotrix plyr shiny shinyjs shinythemes shinyWidgets tippy]; };
   GFDsurv = derive2 { name="GFDsurv"; version="0.1.0"; sha256="1kyazvyz9rgjklh63aq70f3jsv1fpy3ws5wbg4vdah52p8fk35j9"; depends=[gridExtra magic MASS plyr shiny shinyjs shinythemes survival survminer tippy]; };
   GFE = derive2 { name="GFE"; version="0.1.0"; sha256="0ywrg23z13kp8ggw4wbm4jvr2rvb6kra7ma0mgfj8xzkrxs6vi6m"; depends=[data_table dplyr TeachingSampling]; };
   GFGM_copula = derive2 { name="GFGM.copula"; version="1.0.4"; sha256="0cw8ih9dj86cvks0qcpffzjx8lv6qiwvk3f1wri8zashj8lk9am6"; depends=[cmprsk compound_Cox joint_Cox]; };
+  GFM = derive2 { name="GFM"; version="1.1.0"; sha256="02k1g2rq32ghd3yivjrfz0wjid1kbkraqrb5cmc8640lv7k8l0xr"; depends=[doSNOW MASS]; };
   GFisher = derive2 { name="GFisher"; version="0.1.0"; sha256="1k5ik1q78gy2x0qr15shdr9rry93dh68876l6ifh21ppqw3y1x9j"; depends=[Matrix mvtnorm]; };
   GGClassification = derive2 { name="GGClassification"; version="0.1"; sha256="03wis5ng2mnfhp33xrag8xbmvjagzr1909a6x94wv7s2spji00rp"; depends=[Rcpp RcppEigen]; };
-  GGEBiplotGUI = derive2 { name="GGEBiplotGUI"; version="1.0-9"; sha256="0nd0ky3m1avy82z48g7hcysq0y0agxjxdn0g624dkm2w99avxw3j"; depends=[rgl tkrplot]; };
-  GGEBiplots = derive2 { name="GGEBiplots"; version="0.1.2"; sha256="0zizc8xz16hfcw7jfwn8lmv1mqnnzrj0dx1dk0ak8j7svfkskw0y"; depends=[ggforce ggplot2 scales]; };
-  GGIR = derive2 { name="GGIR"; version="2.5-0"; sha256="1w34hiandjq8xakybw6khdgqb7xwav3s7rp4pvxr330d6nazz9k9"; depends=[bitops data_table doParallel foreach GENEAread ineq matlab Rcpp signal tuneR unisensR zoo]; };
+  GGIR = derive2 { name="GGIR"; version="2.6-0"; sha256="1pzgmly9zda3m9k8dm31qar4md4mknxnpjf389818jih8v9a7ihf"; depends=[activityCounts bitops data_table doParallel foreach GENEAread ineq matlab R_utils Rcpp read_gt3x signal tuneR unisensR zoo]; };
   GGMncv = derive2 { name="GGMncv"; version="2.1.1"; sha256="0lih9dyb5aqrawhiy2vhv63b132hhzq6zq0x6rbrhy8kbkldhigr"; depends=[GGally ggplot2 glassoFast MASS mathjaxr network numDeriv pbapply Rcpp RcppArmadillo Rdpack reshape sna]; };
   GGMnonreg = derive2 { name="GGMnonreg"; version="1.0.0"; sha256="1bhqk172ddc7xq1hqj1i6q8np6jvmf2xypvd8kp3w1bcsafsbms8"; depends=[bestglm corpcor doParallel foreach GGally GGMncv ggplot2 MASS Matrix network poibin psych Rdpack sna]; };
   GGMridge = derive2 { name="GGMridge"; version="1.1"; sha256="0zbfvvp7l836m118m8nmdvw1w7xq6d3b7qirskjsq1dkk23j41hs"; depends=[MASS mvtnorm]; };
@@ -1830,9 +1844,9 @@ in with self; {
   GK2011 = derive2 { name="GK2011"; version="0.1.3"; sha256="13vafhbgcsj485f12qv962y07v3hil3pla51vkl2b030amzy86jv"; depends=[]; };
   GLDEX = derive2 { name="GLDEX"; version="2.0.0.7"; sha256="1w5ahwbnz9xsn3rdxzcxxvc6m5cgq46nln3i5v8vp4imrs8aafb3"; depends=[cluster]; };
   GLDreg = derive2 { name="GLDreg"; version="1.0.7"; sha256="1wjrr4x1k0fz8nx9idb4ysamldypriiypj96b5v028lx38jwsk3l"; depends=[ddst GLDEX]; };
-  GLIDE = derive2 { name="GLIDE"; version="1.0.3"; sha256="0jy3l1c2wls3hq63jny9zg2mjkn332ki6dk7pfcqyk0nfxi5grw7"; depends=[doParallel foreach MASS]; };
+  GLIDE = derive2 { name="GLIDE"; version="1.0.4"; sha256="0270dsilmmm7llk1dchy4bvps4jbb5zkb1kg8ndgsbl12gsmwx3z"; depends=[doParallel foreach MASS]; };
   GLMMRR = derive2 { name="GLMMRR"; version="0.5.0"; sha256="072zwi1rs6d84iszn09v5g19bkpla19nfqk4pq40ad8368zkbhcm"; depends=[lattice lme4 RColorBrewer]; };
-  GLMMadaptive = derive2 { name="GLMMadaptive"; version="0.8-2"; sha256="12lz7rkd4jfwp3gpwp2awzdkdw1qpbdi2l1b48s1drzjymjk0m0g"; depends=[MASS matrixStats nlme]; };
+  GLMMadaptive = derive2 { name="GLMMadaptive"; version="0.8-5"; sha256="1vzqyw2wkhjc0gj25pf9hbc8lii8bjv10391b9g0qv6w3bpgsnkn"; depends=[MASS matrixStats nlme]; };
   GLMaSPU = derive2 { name="GLMaSPU"; version="1.0"; sha256="0zx2bza5v5cfp9v7hf42s57522b6prawcwl77aa3kvjcnb0ish6g"; depends=[MASS mnormt mvtnorm Rcpp RcppArmadillo]; };
   GLMcat = derive2 { name="GLMcat"; version="0.2.4"; sha256="0m9vl7x9r68w4dgz29sg3rpmggqpgzfsrhsn8f2q6i184g73cvng"; depends=[BH Rcpp RcppEigen stringr]; };
   GLMpack = derive2 { name="GLMpack"; version="0.1.0"; sha256="15bpw42y999ljdw8ka2ysrrm0y73xz37wwi3j67i01wafipq82xy"; depends=[AER censReg effects foreign lme4 lmtest MASS Matrix nnet pBrackets plm pscl sandwich]; };
@@ -1864,6 +1878,7 @@ in with self; {
   GPBayes = derive2 { name="GPBayes"; version="0.1.0-3"; sha256="0zihn6489xk5ckah6ax5dmzqsdwhpdfwm1zv8ihrrhk93z5fgzar"; depends=[Rcpp RcppEigen RcppProgress]; };
   GPCMlasso = derive2 { name="GPCMlasso"; version="0.1-5"; sha256="0v4n8m3pcqxjyvli2wag3frzbqxpk9bjl8zkyz6sq2cwypv5wvyv"; depends=[caret cubature ltm mirt mvtnorm Rcpp RcppArmadillo statmod TeachingDemos]; };
   GPFDA = derive2 { name="GPFDA"; version="3.1.1"; sha256="1yivqyk8wlrpfxpnqdjkyzbbykfpmk5qg7cy6kxv469fhadccybc"; depends=[fda fda_usc fields interp mgcv Rcpp RcppArmadillo]; };
+  GPGame = derive2 { name="GPGame"; version="1.2.0"; sha256="1xxilr1ify9ip3vs000jawxplcbf1vqli40frhnwwjqf01kj8jq5"; depends=[DiceDesign DiceKriging GPareto KrigInv MASS matrixStats mnormt mvtnorm Rcpp]; };
   GPIC = derive2 { name="GPIC"; version="0.1.0"; sha256="1v44hkzf3wh09j5pcfmsc8h5jzmqa501bwkmdwwjb7pz64976r23"; depends=[]; };
   GPL2025 = derive2 { name="GPL2025"; version="1.0.1"; sha256="0af42g3v91fbcmla2yq98v8rd4ifaznb1xvw7ny41r3843d8appc"; depends=[dplyr]; };
   GPLTR = derive2 { name="GPLTR"; version="1.2"; sha256="0b4s090jlp2qpqqr0b1ifwyf2fal156y7vg9mjkw53y623ms5pix"; depends=[rpart]; };
@@ -1883,6 +1898,7 @@ in with self; {
   GRANCore = derive2 { name="GRANCore"; version="0.2.7"; sha256="0xnm7jb2s4ag4qvsfs1fq0f2ikvfqm3bvxhj8kmmxwynwl5pw287"; depends=[switchr]; };
   GRAPE = derive2 { name="GRAPE"; version="0.1.1"; sha256="1jzvf45ch8x8f2x9kmvv02xz9bix5vplh8143vc4m1yyq42x09c6"; depends=[]; };
   GRCdata = derive2 { name="GRCdata"; version="1.0"; sha256="0nshii6kfvffncgcrmm7wvniq94j9djj84jikcb6ck49viikkrky"; depends=[cubature nloptr]; };
+  GREENeR = derive2 { name="GREENeR"; version="0.1.0"; sha256="0m66k1g9lci3csxpcdx80lhip94iazlfpr29qa02h574c03drwya"; depends=[classInt data_table dplyr FME ggplot2 gridExtra hydroGOF magrittr networkD3 parallelly reshape2 sf tidyselect tmap]; };
   GREMLINS = derive2 { name="GREMLINS"; version="0.2.0"; sha256="0wdqikz6k5d2cxcb347lhy7rj54blgf1m4sjv64zd4nx6c4r0ai8"; depends=[aricode blockmodels igraph mclust pbmcapply R6]; };
   GRNNs = derive2 { name="GRNNs"; version="0.1.0"; sha256="1c36km6g4fcsvpirlh88fl3zq9pdpdyfilahfx949salj0gnqsn6"; depends=[cvTools rdist scales vegan]; };
   GROAN = derive2 { name="GROAN"; version="1.2.1"; sha256="07419rpd6492gwzn3lgxl37hdfama7wpzni1gj7dy8bvhn8l1m2a"; depends=[plyr rrBLUP]; };
@@ -1906,12 +1922,13 @@ in with self; {
   GUIDE = derive2 { name="GUIDE"; version="1.2.7"; sha256="0klaczmn3jnlzyh45yaqlc897irjfk467f4w03awmflaiwan3h6v"; depends=[rpanel tkrplot]; };
   GUILDS = derive2 { name="GUILDS"; version="1.3"; sha256="0zl6x0vn93ybps63fqazvd93f2zwdq0rqqrp7d6n5rnamx99mm8d"; depends=[pracma Rcpp]; };
   GUIProfiler = derive2 { name="GUIProfiler"; version="2.0.1"; sha256="10m4d7f2rhw6cmkrnw3jh4iqlkfphf4v7mpfwzw17laq0ncmsx5r"; depends=[graph MASS Nozzle_R1 proftools Rgraphviz rstudioapi]; };
+  GUTS = derive2 { name="GUTS"; version="1.2.2"; sha256="1782qqnxp7r2s228cwyx064h4kva859jym7gipq3l913v9n9l45h"; depends=[Rcpp]; };
   GUniFrac = derive2 { name="GUniFrac"; version="1.4"; sha256="1dya9shxcd1xbwhlk1vqpxag2vnwzca2lddcy1kfn8yjrws8slk8"; depends=[ape dirmult foreach ggplot2 ggrepel lmerTest MASS Matrix matrixStats modeest Rcpp rmutil statmod vegan]; };
   GVARX = derive2 { name="GVARX"; version="1.3"; sha256="00iqwkshp1i9338x9khh8hyszad6150qb11jlvky5fm488wcw1y3"; depends=[lmtest lubridate sandwich strucchange tsDyn urca vars xts]; };
   GWASExactHW = derive2 { name="GWASExactHW"; version="1.01"; sha256="19qmk8h7kxmn9kzw0x4xns5p3qqz27xkqq4q6zmh4jzizd0fsl78"; depends=[]; };
   GWASbyCluster = derive2 { name="GWASbyCluster"; version="0.1.7"; sha256="0ivlkxbh8m23vbnjfmhk0vfczd5b8lzy9w4gm1m6jpvdm40kn70x"; depends=[Biobase limma rootSolve snpStats]; };
   GWASinlps = derive2 { name="GWASinlps"; version="1.2"; sha256="036lv8f58kz6qdwaviyk1q1qsgcj9cimipq1cjrfpn8snkn7s1gh"; depends=[horseshoe mombf speedglm]; };
-  GWASinspector = derive2 { name="GWASinspector"; version="1.5.2"; sha256="13biq6mln2nwddvzy5ng45wbdpa0r98ydr5ra42vx1aw0d1f96wd"; depends=[data_table futile_logger ggplot2 gridExtra hash ini kableExtra knitr R_utils rmarkdown RSQLite]; };
+  GWASinspector = derive2 { name="GWASinspector"; version="1.5.7.1"; sha256="0sz4c5qimsqchjy9659h7436zim2f10hf1aw861iyxbjl81srfhp"; depends=[data_table futile_logger ggplot2 gridExtra hash ini kableExtra knitr R_utils rmarkdown RSQLite]; };
   GWEX = derive2 { name="GWEX"; version="1.0.2"; sha256="0iykciifbskcrx1qv4874nxli1sq6nbmlfinq4ksir3p93y7ds87"; depends=[abind doParallel EnvStats fGarch foreach lmomco MASS mvtnorm nleqslv Renext]; };
   GWG = derive2 { name="GWG"; version="1.0"; sha256="1va0cd229dhhi1lmrkpwapcm96hrdmxilrmba02xnl7ikhisw0my"; depends=[]; };
   GWI = derive2 { name="GWI"; version="1.0.2"; sha256="0gwbidvdzk7b1w880baa338h7cikvlzvqmbmdxca4r83jzzwxlj1"; depends=[]; };
@@ -1924,7 +1941,7 @@ in with self; {
   GWpcor = derive2 { name="GWpcor"; version="0.1.7"; sha256="0q43673pmm2c6kss688fpz10b39y3jn1kblv13p8ky0bk82hmcvi"; depends=[corpcor doParallel dplyr foreach geodist pracma sf sp]; };
   GWsignif = derive2 { name="GWsignif"; version="1.2"; sha256="0bss5s3ijnlckz44p7jj49bn2r8nwqckpzwzcv0vci915q8jfsj2"; depends=[]; };
   GaDiFPT = derive2 { name="GaDiFPT"; version="1.0"; sha256="15fnj1w30h0zdj032f3js0bbb1qlyk4b54a4aclykwzicqdgalkg"; depends=[]; };
-  GaSP = derive2 { name="GaSP"; version="1.0.0"; sha256="0jm9fqlfxkl5pfr1ijbj8qci5xb974wk660xvh488xfwdwj02fnc"; depends=[]; };
+  GaSP = derive2 { name="GaSP"; version="1.0.1"; sha256="0l1a5w3wphm1748qmh3abv9yd1w92wg7irqpgdg6pc7598dvlkr9"; depends=[]; };
   GameTheory = derive2 { name="GameTheory"; version="2.7"; sha256="0vb7sjia5s58gw9zpkzddps8knxvbrz7fbi3m6digl8bf5vwhxxw"; depends=[combinat gtools ineq kappalab lpSolveAPI]; };
   GameTheoryAllocation = derive2 { name="GameTheoryAllocation"; version="1.0"; sha256="0733vmyr0d9scjd5ixpnggr548snd7nj70knf5hbzc59nmbc5y11"; depends=[e1071 lpSolveAPI]; };
   Gammareg = derive2 { name="Gammareg"; version="3.0"; sha256="1wh5k3nazycki0h094m4d0nnign8yksgnrrnrm3yka1s7mqzv781"; depends=[]; };
@@ -1958,7 +1975,6 @@ in with self; {
   GeneticSubsetter = derive2 { name="GeneticSubsetter"; version="0.8"; sha256="0bd4snv3dwabc7mknmd2rjmffj67xq535x0bycajhd83d1jhjars"; depends=[]; };
   GenoScan = derive2 { name="GenoScan"; version="0.1"; sha256="0p98imfvvz7l94kim3pxypyjs2pbxng4a2nagbafbady82ylr2vi"; depends=[data_table MASS Matrix seqminer SKAT]; };
   GenomeAdapt = derive2 { name="GenomeAdapt"; version="1.0.0"; sha256="0jsxqhx62vbsr0hcqk9wrfsg3l3wbnx64pzxx18ps366vg7fxmii"; depends=[gdsfmt qvalue robust SNPRelate]; };
-  GenomeAdmixR = derive2 { name="GenomeAdmixR"; version="2.1.1"; sha256="1c8d2s13hibwymxxra2gbma78d44zx9cbwm4901iz1prdn4p8vl6"; depends=[ggplot2 ggridges hierfstat Rcpp RcppArmadillo RcppParallel rlang stringr tibble vcfR]; };
   GenomicMating = derive2 { name="GenomicMating"; version="2.0"; sha256="02v1pkarmardf7g8hf2n4jj4cq4707g5lcc7gnwsiyyh7pknd1y6"; depends=[dplyr emoa kohonen LowRankQP magrittr plotly qtl Rcpp RcppArmadillo scatterplot3d SOMbrero]; };
   GenomicTools = derive2 { name="GenomicTools"; version="0.2.9.7"; sha256="196shxbrcgiwaa7aav2aipsbj1smrkbhinn44aw9qfvz2x9zdz0m"; depends=[circlize data_table GenomicTools_fileHandler gMWT Rcpp RcppArmadillo snpStats stringr]; };
   GenomicTools_fileHandler = derive2 { name="GenomicTools.fileHandler"; version="0.1.5.9"; sha256="09l87wf78bj49cdh7r3x81hn15c4pihxih8l59xxrpgdhp69268c"; depends=[data_table snpStats]; };
@@ -1968,6 +1984,7 @@ in with self; {
   GeoMongo = derive2 { name="GeoMongo"; version="1.0.3"; sha256="0m5nz5q81jz2v2bl2dbgdbdprrkckxr2c67qn0cg9vms0pi3fawr"; depends=[data_table geojsonR R6 reticulate]; };
   GeoRange = derive2 { name="GeoRange"; version="0.1.0"; sha256="0krj9570wkhdvpaqkq3nf0maglqd44mpwn4v1bymvgpk1i1wf5p3"; depends=[moments proj4 raster sp velociraptr]; };
   GeoTcgaData = derive2 { name="GeoTcgaData"; version="1.0.2"; sha256="1s3l445igzf1xirfxjkp34djcfipbpcgyd5fd3icnsy2dkfkc787"; depends=[cqn data_table magrittr plyr]; };
+  GeoWeightedModel = derive2 { name="GeoWeightedModel"; version="0.9.1"; sha256="0fg41vn6k47ib8y4hdywi3nmn25i6ldqib5v7bhcrkzsvcqj7l5n"; depends=[beepr cartography dplyr DT GWmodel raster readxl shiny shinyalert shinyBS shinybusy shinydashboard shinyjs shinyWidgets sp]; };
   GeodRegr = derive2 { name="GeodRegr"; version="0.2.0"; sha256="029yclgi4np000yh42j68v32m32lq2hmkh94q33hh1qkx8rilfa7"; depends=[MASS zipfR]; };
   GeodesiCL = derive2 { name="GeodesiCL"; version="1.0.0"; sha256="1i3i6vlh3nnb7z6qzh2cd6cqka78bfdly952x5ryl7cb2590a4pc"; depends=[dplyr htmltools leaflet leafpop magrittr mapview profvis readr rgdal sp tibble]; };
   GeomComb = derive2 { name="GeomComb"; version="1.0"; sha256="05xb6m2ciszxd13yhqdkildh9nsq19ss8885ngj6ynvbchqkii7r"; depends=[forecast ForecastCombinations ggplot2 Matrix mtsdi psych]; };
@@ -2002,7 +2019,7 @@ in with self; {
   Gmedian = derive2 { name="Gmedian"; version="1.2.6"; sha256="1kb60f9r9lq5blv07jjln1j5fq1whjcc54zn7bglpp4hl4f74j5d"; depends=[Rcpp RcppArmadillo robustbase RSpectra]; };
   Gmisc = derive2 { name="Gmisc"; version="3.0.0"; sha256="051bcp15xpxpdq2r2d29wgm49c0n5r0vikwgzciclxs64j1a57ip"; depends=[abind checkmate forestplot glue Hmisc htmlTable knitr lattice lubridate magrittr Rcpp rlang rmarkdown stringr XML yaml]; };
   GoFKernel = derive2 { name="GoFKernel"; version="2.1-1"; sha256="0xygsdmggl35fafyp431mkwalwixw2r3f32qll1pf72dfwd8y8d3"; depends=[KernSmooth]; };
-  GofCens = derive2 { name="GofCens"; version="0.91"; sha256="1imf52isvvyf0p1mbj4cbwn3d6gn02vnmzw7biwmy29r45s6wghx"; depends=[actuar eha fitdistrplus ggplot2 gridExtra survival survsim]; };
+  GofCens = derive2 { name="GofCens"; version="0.92"; sha256="09qy8rsgywdlq04kn6dzdzahhminnx39ih9i84399kn2pnr9vlzi"; depends=[actuar fitdistrplus ggplot2 gridExtra survival survsim]; };
   GofKmt = derive2 { name="GofKmt"; version="2.2.0"; sha256="1v9n1hfracincgaip7pym2l9h54azajw4fmsld0ff2rsd5np362z"; depends=[ggplot2 Rcpp RcppArmadillo Rsolnp]; };
   GomoGomonoMi = derive2 { name="GomoGomonoMi"; version="0.1.0"; sha256="16kvf355yzpv0z2rndc5f50pxjnav6ld48j40vyip4h353wpwaks"; depends=[glue htmltools]; };
   GoodmanKruskal = derive2 { name="GoodmanKruskal"; version="0.0.3"; sha256="1d0xkmkcfcwx0qs8m4b9dgrbkg1qpb859mmzg4d1rww8rc0wxh9h"; depends=[classInt corrplot]; };
@@ -2019,11 +2036,11 @@ in with self; {
   GreedyExperimentalDesignJARs = derive2 { name="GreedyExperimentalDesignJARs"; version="1.0"; sha256="14i6m5qlh1fca9xmzid01hicd3bkf6rzl139ss78gvw544zrapw7"; depends=[rJava]; };
   Greg = derive2 { name="Greg"; version="1.4.0"; sha256="0n5w4z4czrgp8mdbpxiw3ha41dax4nns8na5xzq2qc94nig8k97m"; depends=[Epi forestplot Gmisc Hmisc htmlTable knitr magrittr nlme rms sandwich stringr]; };
   GreyModel = derive2 { name="GreyModel"; version="0.1.0"; sha256="0vxl4kgihcyl96qiz6sz5icznaa1jpsqqbn1irwmzyngwsh1qvzw"; depends=[]; };
-  GridOnClusters = derive2 { name="GridOnClusters"; version="0.0.8"; sha256="16wr7zssiy6y0hvg2s7vhy30qxq5ja8yplv8xncn6iz8giy1wdww"; depends=[cluster dqrng fossil plotrix Rcpp Rdpack]; };
+  GridOnClusters = derive2 { name="GridOnClusters"; version="0.1.0"; sha256="11jir34jdq2kkkgm0rsdn2ivy4r1pkzj0681hxzy9v388lb3icym"; depends=[Ckmeans_1d_dp cluster dqrng fossil mclust plotrix Rcpp Rdpack]; };
   GrimR = derive2 { name="GrimR"; version="0.5"; sha256="005ywc31yn1cs54kjlkrryw0s7zm8dqqfjkdlkm4s1sbc9r3mssz"; depends=[car]; };
   GroupBN = derive2 { name="GroupBN"; version="1.2.0"; sha256="0x41x7npaawnh6nxh4d4vmv2zwzc6c5ijrhh6fdpwzl4p75qlh1x"; depends=[arules bnlearn ClustOfVar magrittr MLmetrics PCAmixdata plyr PRROC rlist stringr visNetwork zoo]; };
   GroupComparisons = derive2 { name="GroupComparisons"; version="0.1.0"; sha256="0fxgh1mksrfmd4yjrpxg3nfby5wyx75lj0shb5xrdzl7pxzh56ai"; depends=[car]; };
-  GroupSeq = derive2 { name="GroupSeq"; version="1.3.5"; sha256="0c74nlsqa5ly0kf6p4n7gfvd0ygkq78bx851ryniwpnnalvsq8l7"; depends=[]; };
+  GroupSeq = derive2 { name="GroupSeq"; version="1.4.0"; sha256="0dgm53wagwfsmv308ipx7v29qh7p5xwvbnni5zrc3a575ch1b7hb"; depends=[container mvtnorm tcltk2]; };
   GroupTest = derive2 { name="GroupTest"; version="1.0.1"; sha256="1v2230mw0irsr5y8n45g8sd362jp7f6dy2r532mhflfdqy6i2khs"; depends=[]; };
   GrpString = derive2 { name="GrpString"; version="0.3.2"; sha256="14ss6assqk6s9kv4bvzlydm8qrbnslm4vj876q5dn2dw4k50dai1"; depends=[cluster plyr Rcpp]; };
   GsymPoint = derive2 { name="GsymPoint"; version="1.1.1"; sha256="1fg8vqd86kcpciphmlcxlm0rk01iza7md5y8kcxp9i732n4zn7r8"; depends=[ROCR Rsolnp truncnorm]; };
@@ -2043,6 +2060,7 @@ in with self; {
   HCD = derive2 { name="HCD"; version="0.1"; sha256="158szwhpxwj2dj7sibyh8l92dk9cmy6acapmk8wf5hmfybdpgbsh"; depends=[data_table data_tree dendextend irlba Matrix randnet RSpectra stringr]; };
   HCR = derive2 { name="HCR"; version="0.1.1"; sha256="14s46dyw3ifp3pwwlcwbbl47i6hy2whjj1n65i28am5a33nycgha"; depends=[data_table]; };
   HCTR = derive2 { name="HCTR"; version="0.1.1"; sha256="1hg8mpallwxpmamk6q8x87w5hlqqwvbahfw5zmr9pisiagbwcsay"; depends=[glmnet harmonicmeanp MASS ncvreg Rdpack]; };
+  HCV = derive2 { name="HCV"; version="1.1.0"; sha256="09jmrwgzwih08cwjk1rgmn4ssraq4a41fk9fq1qjbjgbsbkkihj8"; depends=[BLSM cluster geometry M3C MASS Matrix rgeos sp]; };
   HCmodelSets = derive2 { name="HCmodelSets"; version="1.1.2"; sha256="05w742g89r0hr90awwjqlszib2jjfly52l9c7ag3n22vg4d1ixw1"; depends=[ggplot2 mvtnorm survival]; };
   HDBRR = derive2 { name="HDBRR"; version="1.1.3"; sha256="1awz9s7g5fcy2anrq3fmyjcvi3kr2b3vmky63nv964821b8x9vh1"; depends=[bigstatsr MASS numDeriv]; };
   HDCI = derive2 { name="HDCI"; version="1.0-2"; sha256="0wxbv54kbygymhh4r7052vnbj603c1kya01ykvmqzzkjyyfzidkz"; depends=[doParallel foreach glmnet iterators lattice Matrix mvtnorm slam]; };
@@ -2050,9 +2068,9 @@ in with self; {
   HDDesign = derive2 { name="HDDesign"; version="1.1"; sha256="1jim4h9bwn8r637va7m81kwwsfwyzs9pzn5a9i7c8xz8b1x191bj"; depends=[]; };
   HDGLM = derive2 { name="HDGLM"; version="0.1"; sha256="0a5lnh3780lsczj8339sp97c5y64a2gsdf77i56fvpxpphq0dnf8"; depends=[]; };
   HDInterval = derive2 { name="HDInterval"; version="0.2.2"; sha256="1vb5fn9zfig0jqs3mvkpik4wvrndj4qmxqx8rg0iv8nvqc4fnzh4"; depends=[]; };
-  HDLSSkST = derive2 { name="HDLSSkST"; version="2.0.0"; sha256="17s3xa33c7671fraw56jsc2wqnkxzl0sjjhgkiryma3q0f01dczf"; depends=[Rcpp]; };
+  HDLSSkST = derive2 { name="HDLSSkST"; version="2.1.0"; sha256="19snvpgiq8kxzqv6yimzn7nfxkch2xkm0sk41m7g4xwr412dn49j"; depends=[Rcpp]; };
   HDMD = derive2 { name="HDMD"; version="1.2"; sha256="0na0z08fdf47ghfl2r3fp9qg5pi99kvp7liymwxym2wglkwl4chq"; depends=[MASS psych]; };
-  HDMT = derive2 { name="HDMT"; version="1.0.4"; sha256="1smzbly1jfb38jgl2f8jf6f4by1nr6zwf4xhqwhv5xfw6ina9q6a"; depends=[fdrtool]; };
+  HDMT = derive2 { name="HDMT"; version="1.0.5"; sha256="11wr7n6gj75k3a339h9hm167pni3vdbbnwwblc2b0wfljxsif6hf"; depends=[fdrtool qvalue]; };
   HDPenReg = derive2 { name="HDPenReg"; version="0.94.7"; sha256="16kmx3lddjvz8k7sric0s9ajhlgp62gf1zkyiscaf7w0pjwzin28"; depends=[Matrix Rcpp rtkore]; };
   HDShOP = derive2 { name="HDShOP"; version="0.1.2"; sha256="0qnxgp7fjinj9c96w724nxvmb2xbihj2wd6ysibr5dk4rvlq16p0"; depends=[Rdpack]; };
   HDSpatialScan = derive2 { name="HDSpatialScan"; version="1.0.2"; sha256="0j6frhnxbchy2r425zhx952vvdivrpcrq0440rr4mbr4rla2ci4s"; depends=[DT fmsb matrixStats plotrix purrr Rcpp RcppArmadillo rgdal rgeos sp SpatialNP swfscMisc TeachingDemos]; };
@@ -2070,10 +2088,10 @@ in with self; {
   HGMND = derive2 { name="HGMND"; version="0.1.0"; sha256="1iwqssj66q9dfgddzwqmnnpvxnvlrq7p1axm95lpkf3vrpn5rp6b"; depends=[genscore]; };
   HGNChelper = derive2 { name="HGNChelper"; version="0.8.1"; sha256="0qwkk5658j4j6w2wgvxkp38cyvscjp93d3zc7gb97vcihqx0ngxa"; depends=[]; };
   HGSL = derive2 { name="HGSL"; version="1.0.0"; sha256="1p453xr3d1bmqc6mrmzb0hz9p0gp25m6v6qr0l3bapcf71vzbvq1"; depends=[]; };
-  HH = derive2 { name="HH"; version="3.1-43"; sha256="0nr3sa6di06cjmljdxfq7bcpnp9d6kna4f9lrv9fk4khr67mrlrf"; depends=[abind colorspace gridExtra Hmisc lattice latticeExtra leaps multcomp RColorBrewer reshape2 Rmpfr shiny vcd]; };
+  HH = derive2 { name="HH"; version="3.1-47"; sha256="1h47s1rp49p3fy4ssh4jxyxp87306lsl2hkfdksjs4j9vv3hm4ah"; depends=[abind colorspace gridExtra Hmisc lattice latticeExtra leaps multcomp RColorBrewer reshape2 Rmpfr shiny vcd]; };
   HHG = derive2 { name="HHG"; version="2.3.4"; sha256="1ghw1rpf7n0dfclvxm3p02ym247p3rsncj9f9f97892lk9yin29c"; depends=[Rcpp rmarkdown]; };
   HI = derive2 { name="HI"; version="0.4"; sha256="0i7y4zcdr6wcjy43lz9h8glzpdv0pz7livr95xb1j4p8zafykday"; depends=[]; };
-  HIMA = derive2 { name="HIMA"; version="1.1.0"; sha256="0xdi9vc8k9k9ixg9n18lb3k0zpavx0z0076la5bvazlkjkz8rfv6"; depends=[doParallel foreach glmnet HDMT iterators MASS ncvreg survival]; };
+  HIMA = derive2 { name="HIMA"; version="2.0.0"; sha256="0r6hb3hi0z7mzw7m8qafbk6qqw9fs5119fnsnbinmfwx1w9wci2v"; depends=[doParallel foreach glmnet HDMT hommel iterators MASS ncvreg survival]; };
   HIV_LifeTables = derive2 { name="HIV.LifeTables"; version="0.1"; sha256="0qa5n9w5d5l1kr4827a34581q380xmpyzmmhhl300z1jwr0j94df"; depends=[]; };
   HIest = derive2 { name="HIest"; version="2.0"; sha256="0ik55kxhzjyg6z6072iz9nfaj7x1nvf91l1kysgvkjccr6jf3y86"; depends=[nnet]; };
   HK80 = derive2 { name="HK80"; version="0.0.2"; sha256="0c8scpzl5xgqm9rlsvh5nl3bz42i5pzvb873j9bn3bi15gcknbny"; depends=[]; };
@@ -2096,10 +2114,8 @@ in with self; {
   HPLB = derive2 { name="HPLB"; version="1.0.0"; sha256="1xxckjz90sdmng0sm9dlhwpzj79pxa3vd1cidxc44wjk4h25rq7q"; depends=[data_table]; };
   HPbayes = derive2 { name="HPbayes"; version="0.1"; sha256="1kpqnv7ymf95sgb0ik7npc4qfkzc1zb483vwnjpba4f42jhf508y"; depends=[boot corpcor MASS mvtnorm numDeriv]; };
   HRM = derive2 { name="HRM"; version="1.2.1"; sha256="0qsxwi0v61k1waw21nrz86jazd5wgq2drhan3w8pmb35q2z20s35"; depends=[data_table doBy ggplot2 MASS matrixcalc mvtnorm plyr pseudorank Rcpp reshape2 xtable]; };
-  HRM_curve = derive2 { name="HRM.curve"; version="0.0.1"; sha256="0p3kvldpz347c0cdjkrdm0x2nfj85hm5cp59lirqhq77hf1zfnd5"; depends=[]; };
   HRW = derive2 { name="HRW"; version="1.0-5"; sha256="08fh9504cck1ffrwim27nkrm9y1in6jl1s7zs8h8x3ik54p9jb0k"; depends=[KernSmooth]; };
   HS = derive2 { name="HS"; version="1.1"; sha256="1vhbchc446j49jj7jgmy4l59n8ahk5l8jp1rl5xwsmn9iqir62mp"; depends=[data_table ggplot2 ggpubr partitions reshape2 tidyr zoo]; };
-  HSAR = derive2 { name="HSAR"; version="0.5.1"; sha256="03ryscvgiiwjcqk6gy3251nqqk43x508kz3ibw35hi84m2s7fsxj"; depends=[Rcpp RcppArmadillo spatialreg spdep]; };
   HSAUR = derive2 { name="HSAUR"; version="1.3-9"; sha256="0b2hyn59lr2pma87fcj7mli3qmrbnfhgd8fv02fa317rj52399qz"; depends=[]; };
   HSAUR2 = derive2 { name="HSAUR2"; version="1.1-18"; sha256="0ggya24clwydi7aligdayds3jpq2ckr4xfm4nik0r6j97x4gl1mj"; depends=[]; };
   HSAUR3 = derive2 { name="HSAUR3"; version="1.0-12"; sha256="002vrxrdhi328ngb7ijz67bbjsg4zapv2gy08xnn9l5idgpnly6q"; depends=[]; };
@@ -2128,13 +2144,13 @@ in with self; {
   HazardDiff = derive2 { name="HazardDiff"; version="0.1.0"; sha256="048lvhb4545a487kyknf5b5v8q3a9nsipbh0ii2k3pcc5vfql1h4"; depends=[ahaz Rdpack rootSolve survival]; };
   HeckmanEM = derive2 { name="HeckmanEM"; version="0.1.2"; sha256="1q9sad19ccq30ggvcj1byhka4dwa94k6z31ig56vi3031nx2424n"; depends=[MomTrunc mvtnorm PerformanceAnalytics sampleSelection]; };
   HellCor = derive2 { name="HellCor"; version="1.3"; sha256="1bzc2ipm7vw7s849d43lcs0xrk2rs67h223dn9kahqg152mmknza"; depends=[energy FNN orthopolynom]; };
-  HelpersMG = derive2 { name="HelpersMG"; version="4.8"; sha256="1n349vmywd2n1gw7arl2qrs06gz9zm5y5mmn1gmp7y7nq987kdi3"; depends=[coda lme4 MASS Matrix]; };
+  HelpersMG = derive2 { name="HelpersMG"; version="5.0"; sha256="03ad9p0z5ggsv7s2yzid4jrxgqiwrdm588snwgny91vc0n7xzixx"; depends=[coda lme4 MASS Matrix]; };
   HeritSeq = derive2 { name="HeritSeq"; version="1.0.2"; sha256="0jzf3pq43lllxvvmf0rqzxz9fx6931mgb0ipminlw1iakz8wa6w3"; depends=[cplm DESeq2 lme4 MASS pbapply SummarizedExperiment tweedie]; };
   HeterFunctionalData = derive2 { name="HeterFunctionalData"; version="0.1.0"; sha256="0qrfmxwrxn0rd2ncy3afhraf7m0010nf9739jkj19h1j5vksi9n1"; depends=[]; };
   HeteroGGM = derive2 { name="HeteroGGM"; version="0.1.0"; sha256="0cfzqhbnsy2254m1n6vbpcxlmiqw7cs26v81f5wyawlyyvdydmxi"; depends=[igraph MASS Matrix]; };
   HextractoR = derive2 { name="HextractoR"; version="1.4"; sha256="1wp7n92wgrjyklq159ymrw8y5ads6lhj2fcz54rzdnccdyx5naxi"; depends=[doParallel foreach seqinr]; };
   HiCfeat = derive2 { name="HiCfeat"; version="1.4"; sha256="1imz7zfax74aakzk8457jww9r66qxpr2ncyvjj0y5paxdn76lnnq"; depends=[GenomeInfoDb GenomicRanges glmnet IRanges Matrix rtracklayer]; };
-  HiClimR = derive2 { name="HiClimR"; version="2.2.0"; sha256="0pq2rlxqm0jip9fyyqlqnxig5s886fk31g0c2plvddg139q2sd6z"; depends=[ncdf4]; };
+  HiClimR = derive2 { name="HiClimR"; version="2.2.1"; sha256="11aip68cjyy70xr0la1apk6gbkabg8vnc3s5cbydyz7yl4v80nn8"; depends=[ncdf4]; };
   HiCseg = derive2 { name="HiCseg"; version="1.1"; sha256="19581k3g71wrznyqrp4hmspqyzcbcfbc48xgjlq13zmqii45hcn6"; depends=[]; };
   HiDimDA = derive2 { name="HiDimDA"; version="0.2-4"; sha256="0gxkxzys9mcy33xvsim8klaqmb2xwvy5bvgkn9r400j4qfjd3cgg"; depends=[]; };
   HiLMM = derive2 { name="HiLMM"; version="1.1"; sha256="09135cwi6kqrvzdlivm86q1dqn6cbbi6nspdm0c2s700jl49pl5z"; depends=[]; };
@@ -2165,7 +2181,7 @@ in with self; {
   HydroMe = derive2 { name="HydroMe"; version="2.0-1"; sha256="1pzf3z3f2xqmj7ixdg01k8552l4vz7yaf2mb53q59ihfhlbqchni"; depends=[]; };
   HyperG = derive2 { name="HyperG"; version="1.0.0"; sha256="0w84ph0vd03i22s8g52jf2w96yd80ynbh6x0p88apg92jdsapcrc"; depends=[gtools igraph Matrix mclust proxy RSpectra]; };
   HyperbolicDist = derive2 { name="HyperbolicDist"; version="0.6-2"; sha256="1wgqbx9ascyk6gw1dmvfz6hljvbh49gb9shr9qgf22qbq83waiva"; depends=[]; };
-  HypergeoMat = derive2 { name="HypergeoMat"; version="3.1.0"; sha256="1pnwj0mqzangjvxnp5yq1ll4qhkpkvv427nzq3sqwpn9qd8gisvf"; depends=[gsl Rcpp RcppArmadillo]; };
+  HypergeoMat = derive2 { name="HypergeoMat"; version="4.0.1"; sha256="0l000hanjlyz76vvvp7sh6d03m3mj7wld4ph9dzhf1z9b4x9i2bz"; depends=[EigenR gsl JuliaConnectoR Rcpp RcppEigen]; };
   IASD = derive2 { name="IASD"; version="1.1"; sha256="1slhd42k639mbyxccl7n69p7ng2qx6pqag8wz3kdwn479spkavzn"; depends=[]; };
   IAT = derive2 { name="IAT"; version="0.3"; sha256="110rn2q09gspfd4msyh30dllxdxdraffkr18h1nm72brzhmx9cfi"; depends=[dplyr ggplot2 lazyeval]; };
   IATScore = derive2 { name="IATScore"; version="0.1.1"; sha256="0sg4apj1sp0xc311cbkvflhv9kw1jxvjhdr0xjw79s662mnhkhgz"; depends=[]; };
@@ -2218,12 +2234,13 @@ in with self; {
   IDSA = derive2 { name="IDSA"; version="2.1"; sha256="0ld2359ksnw9jrjicnqikh5r321mfy2i7vzlhh9phm60k0qf5j98"; depends=[GD ggplot2 kableExtra reshape2]; };
   IDSL_IPA = derive2 { name="IDSL.IPA"; version="1.3"; sha256="1lmmr43cblxi0652hi6nk08c8yv3s6m1aqyysmk4xh2mhnr8hqpb"; depends=[BiocManager doSNOW foreach ggplot2 gridExtra mzR png Rcpp readxl]; };
   IDSL_UFA = derive2 { name="IDSL.UFA"; version="1.0"; sha256="0digl6s13mnknihpg5zy0b2ak9rmwz40ya9bym10bsam86rx3r93"; depends=[BiocManager doParallel doSNOW foreach GA ggplot2 gridExtra IDSL_IPA mzR Rcpp readxl stringi]; };
+  IDSL_UFAx = derive2 { name="IDSL.UFAx"; version="1.0.1"; sha256="11jc1np6b22qr33rilvb557c0aphvb07601a3hw9zmf8s31xs2dg"; depends=[BiocManager doSNOW foreach IDSL_IPA IDSL_UFA mzR Rcpp RcppAlgos readxl stringr]; };
   IDSpatialStats = derive2 { name="IDSpatialStats"; version="0.3.12"; sha256="0gkicafnzq8aq9bmbbr9n868sh91dwkhs1dk4wry5vkbfaawfxis"; depends=[doParallel foreach igraph spatstat_core spatstat_geom]; };
   IDetect = derive2 { name="IDetect"; version="0.1.0"; sha256="1q1jwgildhx6sp883ni7vcsa3gj997855v5ky41dyf34kv7hvdl1"; depends=[]; };
   IDmeasurer = derive2 { name="IDmeasurer"; version="1.0.0"; sha256="0n7rziaaxm9dqixmw6rxgq9dwnwdl3dsdnpd9s59k5skdlaxnl5m"; depends=[infotheo lme4 MASS]; };
   IDmining = derive2 { name="IDmining"; version="1.0.7"; sha256="1yv8lclkb1ws2n4yd3l561lqhp25vlw0f6d073yg04pidr2dpg2a"; depends=[data_table doParallel foreach]; };
   IETD = derive2 { name="IETD"; version="1.0.0"; sha256="0avhyw0zcb8vj0nqfy41yq5kcd8yf9rmaawdvfcy5rqwxmi1mw9l"; depends=[doParallel dplyr foreach ggplot2 lubridate Rdpack]; };
-  IFAA = derive2 { name="IFAA"; version="1.0.3"; sha256="05hib1nc2w2fjypvbqjp92j0463k79fpj0l4068x876nhnx3ms2a"; depends=[doParallel expm foreach future glmnet HDCI mathjaxr Matrix picasso qlcMatrix rlecuyer]; };
+  IFAA = derive2 { name="IFAA"; version="1.0.4"; sha256="0lqppf8sd7b82g8qp0ijwl3jn4idxvgz4zhia6kh936sq27qicx6"; depends=[doParallel expm foreach future glmnet HDCI mathjaxr Matrix picasso qlcMatrix rlecuyer]; };
   IFC = derive2 { name="IFC"; version="0.1.2"; sha256="1g5l85mjnf08dxszbybwg5z1k2dwgvhbrls8r37iq45rcb31pmyh"; depends=[DT gridExtra jpeg KernSmooth lattice latticeExtra png Rcpp RcppProgress tiff visNetwork xml2]; };
   IFP = derive2 { name="IFP"; version="0.2.4"; sha256="066wz6bjqcvq22gjg2wcmglp798f87rsc8yhm13p0dic3arb5ph6"; depends=[coda haplo_stats]; };
   IGG = derive2 { name="IGG"; version="1.0"; sha256="1cibb9z18xc1zx1813lk14n6p5am84hm7w0hkrsif4j3p89lrwif"; depends=[GIGrvg glmnet MASS Matrix pscl]; };
@@ -2232,6 +2249,7 @@ in with self; {
   IHSEP = derive2 { name="IHSEP"; version="0.2"; sha256="1qb6mn9bsd69pifmphywmj6j71v14wklydw23pbj5980c5hrlwsj"; depends=[lpint Rcpp]; };
   IIVpredictor = derive2 { name="IIVpredictor"; version="0.1.0"; sha256="15361j8b60jj3bh8cjxs39d9bir1aywy9bd254s5w94cakhy0ld5"; depends=[lavaan R2jags]; };
   ILS = derive2 { name="ILS"; version="0.2"; sha256="0lj3ripkaq6jn00lpxjihjhm8g1gbkppmb1y9kkrymphg80k1by7"; depends=[depthTools fda_usc lattice MASS multcomp]; };
+  ILSE = derive2 { name="ILSE"; version="1.1.7"; sha256="0jx0f7lk18k0wsypi4ynq1zqbb9hsmcmf0chxyrpqkadfqb6mgwr"; depends=[pbapply Rcpp RcppArmadillo]; };
   IMAGE = derive2 { name="IMAGE"; version="1.0"; sha256="0xgrja7qhklcmbm0zz5xg94gw5kl05nk3v77l7vxq2d5sk0435g3"; depends=[doParallel foreach Matrix Rcpp RcppArmadillo]; };
   IMD = derive2 { name="IMD"; version="1.0.2"; sha256="13l15gdwib09gs5bqga1hr5z9vym0f9jiki4il22mrzkhw34y2j8"; depends=[devtools dplyr Hmisc httr janitor readODS readr readxl rlang tibble tidyr]; };
   IMEC = derive2 { name="IMEC"; version="0.2.0"; sha256="1k85pr6s6lysn53n59i8rcdhyg7r3il5avbckvvz43p6lh0fgxpy"; depends=[igraph IsingSampler qgraph]; };
@@ -2252,7 +2270,7 @@ in with self; {
   IOHexperimenter = derive2 { name="IOHexperimenter"; version="0.1.4"; sha256="0aacliznncl488rjsnx02pfj1mchhcyb36v816g959ll38pvc6bk"; depends=[assertthat BH magrittr Rcpp]; };
   IPCAPS = derive2 { name="IPCAPS"; version="1.1.8"; sha256="17ifkgjjnvvcc8dp065ng4ad9lr85lcdcb401vi84yy8m2llbypw"; depends=[apcluster expm fpc KRIS LPCM MASS Matrix Rmixmod]; };
   IPCWK = derive2 { name="IPCWK"; version="1.0"; sha256="0hah1xl6zli0346jh57rjc5x8vynhaysj0l481rmvznsghv6im23"; depends=[MASS survival]; };
-  IPDFileCheck = derive2 { name="IPDFileCheck"; version="0.7.2"; sha256="1xz020w2cx83wcadnjsqlpfyir2apj7bsjpka77pwyg2h2fqc76m"; depends=[dplyr eeptools effsize gtsummary hash kableExtra lubridate stringr testthat tidyverse]; };
+  IPDFileCheck = derive2 { name="IPDFileCheck"; version="0.7.5"; sha256="1y0qq6q98lq1srsp1mlb7mr9zn2v4j7gpzim9fgh3xarw6a89i0h"; depends=[dplyr eeptools effsize gmodels gtsummary hash kableExtra lmtest lubridate stringr testthat tidyselect tidyverse zoo]; };
   IPDfromKM = derive2 { name="IPDfromKM"; version="0.1.10"; sha256="1pqi6cshiha4gnra25fgpggyi42mn2hg25s9m9mh091rn5km44q0"; depends=[dplyr ggplot2 gridExtra readbitmap survival]; };
   IPEC = derive2 { name="IPEC"; version="0.1.3"; sha256="0h1b9h33zxx23rj8c9790nsqykwhznavy8hfkgv9gx7nphrsy5ma"; depends=[MASS numDeriv]; };
   IPLGP = derive2 { name="IPLGP"; version="2.0.0"; sha256="0vzppfc42p51a7rjg6w02w45kh0rymqjfgb6979g9pm35dpppbgz"; depends=[ggplot2 sommer]; };
@@ -2276,9 +2294,9 @@ in with self; {
   ISBF = derive2 { name="ISBF"; version="0.2.1"; sha256="12mk4d0m5rk4m5bskkkng5j6a9dzh8l1d74wh8lnamq7kf9ai9if"; depends=[]; };
   ISCO08ConveRsions = derive2 { name="ISCO08ConveRsions"; version="0.1.1"; sha256="1vqg28alpjb1m33hzh4ixfd6f3gzc6l9989gpszvl3ishki05xqf"; depends=[]; };
   ISLR = derive2 { name="ISLR"; version="1.4"; sha256="1hr0r00m9y39gzb4q7nip07mhxmaly12zwmwkisyx641h0vcclbi"; depends=[]; };
-  ISLR2 = derive2 { name="ISLR2"; version="1.3"; sha256="1153s2zgiq242jrf45hnbv092y5g8hy3nhnx34xhdhl9v1wp4lly"; depends=[]; };
+  ISLR2 = derive2 { name="ISLR2"; version="1.3-1"; sha256="1hmcpw3nrldxayklp0whlgd5xi1zap8j5g2231i5hp3lsqh6skg6"; depends=[]; };
   ISM = derive2 { name="ISM"; version="0.1.0"; sha256="0by0w6zgnwcwzbmxx16s8mb1avhc6aiavqp0qkxx6hr70vrgb997"; depends=[rJava xlsx xlsxjars]; };
-  ISOcodes = derive2 { name="ISOcodes"; version="2021.02.24"; sha256="19irnn2yi1bzhf03g666la84kj8040f5913kfrmd16dfnjy6j9qm"; depends=[]; };
+  ISOcodes = derive2 { name="ISOcodes"; version="2022.01.10"; sha256="0gy7n5bgxnl4rawry0pg078bkks9lzsbsrwjq8q5cvxl4k3dwpdj"; depends=[]; };
   ISOpureR = derive2 { name="ISOpureR"; version="1.1.3"; sha256="1ydhsh3v6n7prrg0dm7hsg8wx1244g791xnz1sjyhljhm31hgwc0"; depends=[futile_logger Rcpp RcppEigen]; };
   ISOweek = derive2 { name="ISOweek"; version="0.6-2"; sha256="1f1h8pgjaa14cvaj8ldl87b4vslxwvyfj46m0hkylwp73sv3g2mm"; depends=[stringr]; };
   ISR = derive2 { name="ISR"; version="2021.9.24"; sha256="0y1hggkb3d2nvnadr9qg83lsrzzwdnzywpqjkjf460lrmazki5dq"; depends=[MASS]; };
@@ -2290,6 +2308,7 @@ in with self; {
   IUPS = derive2 { name="IUPS"; version="1.0"; sha256="01pv03ink668fi2vxqybli0kgva13gxhqfdxkwz6qk5rnpzwvf5w"; depends=[boot Matching R2jags]; };
   IVYplot = derive2 { name="IVYplot"; version="0.1.0"; sha256="1v739xlim3mcw09cyp4z3cbb25ipkpwm9h378fwy2ycp8lmq32gy"; depends=[plyr]; };
   Iboot = derive2 { name="Iboot"; version="0.1-1"; sha256="1fahh86kgv2axj2qg14n87v888sc0kb567s6zr3fh5zv361phwkq"; depends=[]; };
+  IceSat2R = derive2 { name="IceSat2R"; version="1.0.0"; sha256="196wwzf2sd2xh21grbqgjrq5sn7g4b6bp7i4v64p7ddqz7v8l7h6"; depends=[data_table doParallel foreach glue httr leafgl leaflet leaflet_extras leafsync lwgeom magrittr miniUI rnaturalearth sf shiny units]; };
   IgAScores = derive2 { name="IgAScores"; version="0.1.2"; sha256="0ckqjbn0xc894dc23gbaqzr6z6rl5h0k8gc5gjhbhwvrc2zlyfsp"; depends=[]; };
   ImaginR = derive2 { name="ImaginR"; version="0.1.7"; sha256="12ypfrqw6xym84i1axd3h0qd2md96rc0glas3rgzpdhdyw4lbfmn"; depends=[imager jpeg]; };
   Imap = derive2 { name="Imap"; version="1.32"; sha256="0b4w0mw9ljw6zxwvi0qzb08yq9n169lzgkdcwizrd07x9k9xjxs7"; depends=[]; };
@@ -2305,7 +2324,7 @@ in with self; {
   IndTestPP = derive2 { name="IndTestPP"; version="3.0"; sha256="1z48pr8znbk1gdvjfdvszxlzhj7v88p3y7zhi1f0xw75dkfpnwwy"; depends=[]; };
   IndepTest = derive2 { name="IndepTest"; version="0.2.0"; sha256="017jasqsxm5m13rhfy9gxvd8nfib5k5y5c8520p3hcffqrxr683p"; depends=[FNN mvtnorm Rdpack]; };
   IndexConstruction = derive2 { name="IndexConstruction"; version="0.1-3"; sha256="08bi3x7a9plxshgj6hq58mzkf1117a7p0fd1akqjh7k8mgywifwf"; depends=[fGarch KernSmooth lubridate RcppBDT xts zoo]; };
-  IndexNumR = derive2 { name="IndexNumR"; version="0.4.0"; sha256="1jvwfrjjhl9b3siifyzxnchd0nhb8d4shsaaxmxgn6xl5cifm0j2"; depends=[]; };
+  IndexNumR = derive2 { name="IndexNumR"; version="0.5.0"; sha256="15rjhzwygs4an51lxn66jlfww4j361b1jw4a6q3dz31bmlc9i5pg"; depends=[]; };
   IndexNumber = derive2 { name="IndexNumber"; version="1.3.2"; sha256="0ff6fnkgbfwn3sasglr1aygvm9bawrvcj432xgka1vk28qnns0if"; depends=[]; };
   IndianTaxCalc = derive2 { name="IndianTaxCalc"; version="1.0.2"; sha256="1fxw884wj9n8drk2xz3rgr4f7b4fckh5firrf5gdz6d1nk9hdvc1"; depends=[]; };
   InfDim = derive2 { name="InfDim"; version="1.0"; sha256="0rh3ch0m015xjkxy08vf9pc6q7azjc6sgicd2j6cwh611pqq39wq"; depends=[]; };
@@ -2334,7 +2353,6 @@ in with self; {
   InteractiveIGraph = derive2 { name="InteractiveIGraph"; version="1.0.6.1"; sha256="0srxlp77xqq0vw2phfv7zcnqswi2i5nzkpqbpa5limqx00jd12zy"; depends=[igraph]; };
   Interatrix = derive2 { name="Interatrix"; version="1.1.3"; sha256="1pjyfg5p6081hng9h6wcmfnlfkcs300c3x9ksdj01587b97ph9s1"; depends=[MASS]; };
   InterfaceqPCR = derive2 { name="InterfaceqPCR"; version="1.0"; sha256="12nmkv6qnzh2dnbhk1656dla6mrznh24gqblmn4xai7wg4p92fbx"; depends=[plyr reshape2 tkrplot xlsx]; };
-  Interpol_T = derive2 { name="Interpol.T"; version="2.1.1"; sha256="1fbsl1ypkc65y6c0p32gpi2a2aal8jg02mclz7ri57hf4c1k09gz"; depends=[chron date]; };
   InterpretMSSpectrum = derive2 { name="InterpretMSSpectrum"; version="1.2"; sha256="1iaw4i14l2vp1f163g2q4pwv9cnqrx14ik4s8zw0iha4zwcrc3ja"; depends=[DBI doParallel enviPat foreach plyr Rdisop RSQLite]; };
   IntervalSurgeon = derive2 { name="IntervalSurgeon"; version="1.1"; sha256="0dhsy40wx47g7h8ivriscyvxwl991lfal4nq0j476kamxax0yzbw"; depends=[Rcpp]; };
   InvariantCausalPrediction = derive2 { name="InvariantCausalPrediction"; version="0.8"; sha256="01ckyvjl9lxdpkr0v1da4n4lw3b5z1bxlmf0v6ibqly1mhfwybjl"; depends=[glmnet mboost]; };
@@ -2364,12 +2382,12 @@ in with self; {
   JFE = derive2 { name="JFE"; version="2.5.2"; sha256="15y8l2cdw8g4abwiv1ddxb42kcpajp0azzpbqcj4h95ibr4j61i2"; depends=[caret fPortfolio magrittr tcltk2 xts zoo]; };
   JGEE = derive2 { name="JGEE"; version="1.1"; sha256="078348n623hlyc3n9yh67vv5acsnxapmbwybvrb1i7kawmqw5msi"; depends=[gee MASS]; };
   JGL = derive2 { name="JGL"; version="2.3.1"; sha256="02p9z32f8j60wnh1szkjr2zfa9zwyw0gqinpsvll4dymf8cjawpw"; depends=[igraph]; };
-  JGR = derive2 { name="JGR"; version="1.9-0"; sha256="1h885gbcb6pq0ipzc4lai0crfm0plhvanlirn76v4sq8h9l6gn31"; depends=[JavaGD rJava]; };
-  JM = derive2 { name="JM"; version="1.4-8"; sha256="1nq07hw30fqnag1h08b7crl2yfs85gyrn70aaw11bdbjv06r2x55"; depends=[MASS nlme survival]; };
+  JGR = derive2 { name="JGR"; version="1.9-1"; sha256="0zh9v16ymq68xv1canfh0hafizb722632pv7r5xb1fsc230hbcc7"; depends=[JavaGD rJava]; };
+  JM = derive2 { name="JM"; version="1.5-1"; sha256="1nx4dcd3p8f30kryp09iylnnlrvhx0dbx4f51ag7ij5m4ml80zxc"; depends=[MASS nlme survival]; };
   JMI = derive2 { name="JMI"; version="0.1.0"; sha256="05phkwfb9v4g9jixlvbj6br7sbi64zvrgjwfr0v87ijddkxc9si9"; depends=[Rcpp RcppArmadillo]; };
   JMbayes = derive2 { name="JMbayes"; version="0.8-85"; sha256="0s11jpzflc2zg60g4ffcw23c2f4zz3mzddrc2cl5y43xl2v304lb"; depends=[doParallel foreach Hmisc jagsUI MASS nlme Rcpp RcppArmadillo rstan shiny survival xtable]; };
   JMbayes2 = derive2 { name="JMbayes2"; version="0.1-8"; sha256="16fy3j52xd3d1bjpzrs0qaajiw9fvpdvm19jx0nbwh16npid494f"; depends=[coda ggplot2 GLMMadaptive gridExtra matrixStats nlme Rcpp RcppArmadillo survival]; };
-  JMdesign = derive2 { name="JMdesign"; version="1.1"; sha256="0w5nzhp82g0k7j5704fif16sf95rpckd76jjz9fbd71pp2d80vlh"; depends=[]; };
+  JMdesign = derive2 { name="JMdesign"; version="1.2"; sha256="0l3cc7dacjx78l81v0fxda20jd8mlbaaf6vflbn6y42aq79s1yyq"; depends=[]; };
   JOPS = derive2 { name="JOPS"; version="0.1.15"; sha256="01yaw657826vfsfdscv3aqgswb5s2054s755agfxqm7g6sswpa13"; depends=[boot colorspace fds fields ggplot2 MASS rpart SemiPar spam SpATS]; };
   JOUSBoost = derive2 { name="JOUSBoost"; version="2.1.0"; sha256="0f3rr7aw20nvmlpqrq3wzgmr55lqdqhk3wphpqq7msgvaf1zrcl7"; depends=[doParallel foreach Rcpp rpart]; };
   JPEN = derive2 { name="JPEN"; version="1.0"; sha256="12rvp5bmlkwyr1gg336k655hp09gym0d2wwry70c1rz30x1sf2zs"; depends=[mvtnorm]; };
@@ -2393,9 +2411,9 @@ in with self; {
   JointAI = derive2 { name="JointAI"; version="1.0.3"; sha256="1dg685lpqxs1a2mf584a0l0a6zz6bkp06n3ydvgnvngrclhv18zj"; depends=[coda foreach future MASS mathjaxr mcmcse rjags rlang survival]; };
   JointModel = derive2 { name="JointModel"; version="1.0"; sha256="1zgs5c7saqyqxvxmhw5sxy5w67abq344aid6igw1da05bfy2az6h"; depends=[lme4 statmod survival]; };
   JointNets = derive2 { name="JointNets"; version="2.0.1"; sha256="18n9dsy0w0nh7dznp6gw6g5fhhjhf5y589nb49hri0721kq1h3rb"; depends=[brainR igraph JGL lpSolve MASS misc3d oro_nifti pcaPP rgl shiny]; };
-  Julia = derive2 { name="Julia"; version="1.1"; sha256="0i1n150d89pkds7qyr0xycz6h07zikb2y07d5fcpaqs4446a8prg"; depends=[]; };
+  Julia = derive2 { name="Julia"; version="1.3.1"; sha256="0wkpz6i29mg3hls4gk09ik6s3dxmn4g8lrgflcjwgkglnwzl9r9v"; depends=[]; };
   JuliaCall = derive2 { name="JuliaCall"; version="0.17.4"; sha256="0ys2sm8yf41zqkvwz9cavkqk8br338w93wq0h8lggfq4q0l85n21"; depends=[knitr Rcpp]; };
-  JuliaConnectoR = derive2 { name="JuliaConnectoR"; version="1.1.0"; sha256="0dqgrhnfcwx7gprvxm8kqcmmrgs5zpi23b8aiy46s9i9b59y8kmw"; depends=[]; };
+  JuliaConnectoR = derive2 { name="JuliaConnectoR"; version="1.1.1"; sha256="0chbax02l1p3qr0skvnxw1b8g7kf6s7sk2f3gj0ddl5kj6ls1p5n"; depends=[]; };
   JumpTest = derive2 { name="JumpTest"; version="1.1"; sha256="0y375m5477nq0ybnjmfnd8hi45d8jmdnprqvw5f70llpd7bcghh0"; depends=[MASS Rcpp RcppEigen]; };
   JumpeR = derive2 { name="JumpeR"; version="0.3.0"; sha256="1bh2448462xgiv4k19qgm3dc4wa00ad8v3l6v22pg0l5kpmlx5i2"; depends=[dplyr magrittr pdftools purrr rvest stringr SwimmeR xml2]; };
   JustifyAlpha = derive2 { name="JustifyAlpha"; version="0.1.1"; sha256="0bd7sn4sn95kal5q2x1q78fsk1mhakr5fax3z6ny2yda2h266af9"; depends=[BayesFactor ggplot2 pwr qpdf shiny shinydashboard stringr Superpower]; };
@@ -2406,7 +2424,7 @@ in with self; {
   KERE = derive2 { name="KERE"; version="1.0.0"; sha256="1b16cb3ihcsp9jffmd45sd7ia4pibikmj62ad344wmq22q4fpliy"; depends=[]; };
   KFAS = derive2 { name="KFAS"; version="1.4.6"; sha256="1395xqm8rbg0i2vrd9n83fslf8v40csh0h17wczdnwnff3z3gpfy"; depends=[]; };
   KFKSDS = derive2 { name="KFKSDS"; version="1.6"; sha256="1g11f936p554bfxlm4slxhfxki5vqkks1mrbqw4w83v2rcb50f8d"; depends=[]; };
-  KFPCA = derive2 { name="KFPCA"; version="1.0"; sha256="1v76rgmg2ww5784jpcd7mg68n1r0vczrisfw1c59cpnmgr365hsy"; depends=[fda fdapace kader pracma]; };
+  KFPCA = derive2 { name="KFPCA"; version="2.0"; sha256="1dzywxnp3ywg3zbvmacj3a1i7w5cg1g93a9ncl7ddwb7wqpzg6x1"; depends=[fda fdapace kader pracma]; };
   KGode = derive2 { name="KGode"; version="1.0.3"; sha256="0r5664vwq3nsjg08xxsx3lrvc4z2758fc013j8djwz5ydaas7xxs"; depends=[mvtnorm pracma pspline R6]; };
   KHQ = derive2 { name="KHQ"; version="0.2.0"; sha256="1vg0p3igbw81fbp2gli9msqbvymbn0qf3g3y0nb3q51d7wfax0qd"; depends=[magrittr openxlsx]; };
   KLexp = derive2 { name="KLexp"; version="1.0.0"; sha256="1knnqzzywh6zcj60133a5bfzqqxmf86gn4m1kggm7gzv1k9mx90b"; depends=[glmnet]; };
@@ -2436,9 +2454,8 @@ in with self; {
   Kendall = derive2 { name="Kendall"; version="2.2"; sha256="0z2yr3x2nvdm81w2imb61hxwcbmg14kfb2bxgh3wmkmv3wfjwkwn"; depends=[boot]; };
   KernSmooth = derive2 { name="KernSmooth"; version="2.23-20"; sha256="0fgclmzk3ksjsh3j47jqzm3jhqrwn12rkp7f84yr6wr43q2pbsr0"; depends=[]; };
   KernSmoothIRT = derive2 { name="KernSmoothIRT"; version="6.4"; sha256="0qqlmcd04m89pmhrbmxxx4lzzb6sksgrm0j8x7fs5r0sxdqy6rcp"; depends=[plotrix Rcpp rgl]; };
-  KernelICA = derive2 { name="KernelICA"; version="0.1.0"; sha256="1yq7w24qq23c81a9y0jn36iw7zjbxsj3b3p1rq6yl0lanzda9bsr"; depends=[ICtest inline JADE ManifoldOptim Rcpp RcppArmadillo RcppEigen]; };
   KernelKnn = derive2 { name="KernelKnn"; version="1.1.4"; sha256="07sjf3ambfih34gm2gkall4h60jy9am8dvakr71wk0lsabih3wqx"; depends=[Rcpp RcppArmadillo]; };
-  Kernelheaping = derive2 { name="Kernelheaping"; version="2.2.8"; sha256="0abv5cq9vjdb8jy3niv6xj3gyz4i1l9h7227lrldq43w049i04jx"; depends=[fastmatch fitdistrplus GB2 ks magrittr MASS mvtnorm plyr sp sparr]; };
+  Kernelheaping = derive2 { name="Kernelheaping"; version="2.3.0"; sha256="0nd8kbprpm2jrpnqr4xb4z8wklv5js2y3kdpjc2q0ay229hf85j8"; depends=[dplyr fastmatch fitdistrplus GB2 ks magrittr MASS mvtnorm plyr sp sparr]; };
   Keyboard = derive2 { name="Keyboard"; version="0.1.0"; sha256="12i9zfpbh2297j78yrz6nnbmj926n3xdkbzmy1p9z7g9bi4cqrp1"; depends=[Iso Rcpp]; };
   KingCountyHouses = derive2 { name="KingCountyHouses"; version="0.1.0"; sha256="17l415v290lm99rsifpk6324mm1sk79ns4cvjkyh9ibj8n7l44c1"; depends=[]; };
   KnapsackSampling = derive2 { name="KnapsackSampling"; version="0.1.0"; sha256="17yzmd11k1n5iy54vbcvpzvkm8ypbl6n1kfi931wwrrcq9y7hg22"; depends=[lpSolve]; };
@@ -2446,7 +2463,6 @@ in with self; {
   KnockoffScreen = derive2 { name="KnockoffScreen"; version="0.3.0"; sha256="01r04d9ha9l5pkz3lwdcb5x5qqwk8vil9avnbnfn76wg63mdfhbk"; depends=[bigmemory CompQuadForm data_table irlba Matrix seqminer SPAtest]; };
   Knoema = derive2 { name="Knoema"; version="0.1.19"; sha256="16izh1viaqxvhgfxy2g6b9hhvm1n6nbjsj2xd45qwdibl3ly8d0f"; depends=[base64enc digest httr jsonlite lubridate xts zoo]; };
   KnowBR = derive2 { name="KnowBR"; version="2.0"; sha256="0i934gff8ldg0lm5cfcf3ip7abnparaaviq8avs7cbnacs6nw8i1"; depends=[fossil mgcv plotrix sp vegan]; };
-  KnowGRRF = derive2 { name="KnowGRRF"; version="1.0"; sha256="0nk0baibd184rsg23jx1wg4c2fcaqf8ww7822xrs3w5ym6vwd0rs"; depends=[MASS PRROC randomForest RRF]; };
   KoulMde = derive2 { name="KoulMde"; version="3.2.1"; sha256="0yx04my2vwjpi4l35h1i5xwqckca8b72divww39y1frcvia33g08"; depends=[expm Rcpp RcppArmadillo]; };
   Kpart = derive2 { name="Kpart"; version="1.2.2"; sha256="02df0pr8a0gm8558gbw9svxf5sybmg27grymy71ar9hjnhw5xlf2"; depends=[leaps]; };
   KraljicMatrix = derive2 { name="KraljicMatrix"; version="0.2.1"; sha256="0yzilmiiyzd2x3v0cnjphf0wdwiblh37kgrvmfrdy49qly48pvi2"; depends=[dplyr ggplot2 magrittr tibble]; };
@@ -2455,14 +2471,15 @@ in with self; {
   L0Learn = derive2 { name="L0Learn"; version="2.0.3"; sha256="1lfbggh2bal8a6krg262v2pd90cd49aaxmz7crcdws4mx82srzmk"; depends=[ggplot2 MASS Matrix Rcpp RcppArmadillo reshape2]; };
   L1mstate = derive2 { name="L1mstate"; version="1.0.1"; sha256="1nkx2h1fl32h0sx03f23x3sfxj5mnarbnpy0wmjji90chff7m2vz"; depends=[colorspace MASS Matrix mstate Rcpp RcppEigen]; };
   L1pack = derive2 { name="L1pack"; version="0.38.196"; sha256="1cayk11wp6f2vpyz14j7my8wpd8hny2mxpjsdsw4wlz0mmwml70l"; depends=[fastmatrix]; };
-  L2DensityGoFtest = derive2 { name="L2DensityGoFtest"; version="0.3.0"; sha256="1zdvqprgdfbrabqgfqjg965rs7hnj387jk33p571zd7svgn1lngv"; depends=[fGarch kedd nor1mix]; };
+  L2DensityGoFtest = derive2 { name="L2DensityGoFtest"; version="0.4.0"; sha256="0gxn8w6dycnvi30zxwz60s0jmsrcy0f7nwssqlm14q418mwn21j2"; depends=[boot fGarch kedd nor1mix]; };
+  L2E = derive2 { name="L2E"; version="1.0"; sha256="1y1cm4fsb1yf9nqvhz7i2bg3f8ds461bkn3cbrx87d66j43pdi2f"; depends=[cobs isotone]; };
   LA = derive2 { name="LA"; version="0.1.3"; sha256="0yvgrm64g910h4zgavinj6ri5gvy5yjd3ydr9gqm7qdj05dsgz66"; depends=[LHD]; };
   LAGOSNE = derive2 { name="LAGOSNE"; version="2.0.2"; sha256="0fhy590mnkypknxk34c7vrhwrgsjrkf1f0yvfbjy1kvzvla0hjkl"; depends=[curl dplyr lazyeval magrittr memoise progress purrr qs rappdirs rlang sf stringr tibble tidyr]; };
   LAM = derive2 { name="LAM"; version="0.5-15"; sha256="18p8w2n2k4788vpxhdxnmcafwj7a5bvihk530fiynkra3xrn1cr4"; depends=[CDM Rcpp RcppArmadillo sirt]; };
   LANDD = derive2 { name="LANDD"; version="1.1.0"; sha256="13szkww9nw8zywfrqd8mwgj9csgragm0bx8ia52rcpakpc3hv3hx"; depends=[BH doParallel fdrtool foreach GGally ggplot2 GOSemSim GOstats igraph intergraph Matrix modeest mvtnorm pROC Rcpp]; };
   LARF = derive2 { name="LARF"; version="1.4"; sha256="1sqib7smgjacn07ishwls1nlbvcb6fpp1vhrjwf9g4xf9jk30i8h"; depends=[Formula]; };
   LARGB = derive2 { name="LARGB"; version="0.1.0"; sha256="0ksyagp4wy1rm7kll6rgdx2735k6ywlaf08d6yys9cv090rpc8l3"; depends=[dplyr imager]; };
-  LARisk = derive2 { name="LARisk"; version="0.1.0"; sha256="05pszgm53dndq114qqb3kcddbvc16a9mgalxjsyh56aa2a4wh7q6"; depends=[Rcpp]; };
+  LARisk = derive2 { name="LARisk"; version="1.0.0"; sha256="13d008v8aypqlx35bf16y7rcfcv5qnbsi8q0zpfcl03rzxmqpb8b"; depends=[dplyr Rcpp]; };
   LAWBL = derive2 { name="LAWBL"; version="1.4.0"; sha256="13drqwyg6avmsn3s2d521x1cvlqg85qv999lwnvnyszvz8grahcr"; depends=[coda MASS]; };
   LBSPR = derive2 { name="LBSPR"; version="0.1.6"; sha256="075wcjhvp90fj37ihrplnrc0vy8wpav5qivkw1rgv00fa8xj7pw0"; depends=[dplyr ggplot2 gridExtra plotrix RColorBrewer Rcpp shiny tidyr]; };
   LCA = derive2 { name="LCA"; version="0.1.1"; sha256="014kih33y8b9nls0pcigw68jbz7vgnq8w1xbwm2d37g1m5y6xlyw"; depends=[]; };
@@ -2487,7 +2504,7 @@ in with self; {
   LEANR = derive2 { name="LEANR"; version="1.4.9"; sha256="053xy13ys5hibafdnbkwqdk36hw7dhanp4frfacpfpn5f9nfh95r"; depends=[foreach igraph]; };
   LEAP = derive2 { name="LEAP"; version="0.2"; sha256="1yrhanxvr7krvllqzv17qkc4wvmd7mgl57am8sn53773dbfipfc4"; depends=[]; };
   LEAPFrOG = derive2 { name="LEAPFrOG"; version="1.0.7"; sha256="0z9ahkk4qzc45h1r806frv9cd84vvshvn5mr84gx7qdxljfkfq6h"; depends=[alabama MASS]; };
-  LEGIT = derive2 { name="LEGIT"; version="1.3.1"; sha256="19wkqj7wj8lpni2i2bbfa8l77xb0wbb121fb82srsi6hn76i392g"; depends=[boot doSNOW foreach formula_tools glmnet Hmisc iterators pROC RColorBrewer snow]; };
+  LEGIT = derive2 { name="LEGIT"; version="1.4.0"; sha256="1ynzm630c3wl8y9j058qgdkss5ngmmylhdw13032v53pss0vwlx3"; depends=[boot doSNOW foreach formula_tools glmnet Hmisc iterators lme4 pROC RColorBrewer snow]; };
   LFApp = derive2 { name="LFApp"; version="1.3"; sha256="0jyzn5k1h629ybx8f09vsnvdmc2qbigaqy6rrcica2sh5if2b4w4"; depends=[DT EBImage fs ggplot2 mgcv shiny shinyFiles shinyjs shinyMobile shinythemes]; };
   LFDR_MLE = derive2 { name="LFDR.MLE"; version="1.0.1"; sha256="0ykcd24w71zxb53nch041g7xh83gmg1ia3sysdpn0yzkhm0w7cdl"; depends=[]; };
   LFDR_MME = derive2 { name="LFDR.MME"; version="1.0"; sha256="1ln0s3ki37cz1a7r96xn0zqw42im7fcanmz2vjk5zycshb423y22"; depends=[]; };
@@ -2544,6 +2561,7 @@ in with self; {
   LSD = derive2 { name="LSD"; version="4.1-0"; sha256="17pbdlcbhzf3v7l42mjikln1ga5xjp5r78gjg6a88iahk0lwwlvm"; depends=[]; };
   LSDinterface = derive2 { name="LSDinterface"; version="1.1.0"; sha256="0mr4d7l7hvn4m2ny8zz6ffyxxmlgqjg5v7pc83q4gq1fzvxs2bhy"; depends=[abind boot]; };
   LSDsensitivity = derive2 { name="LSDsensitivity"; version="1.1.2"; sha256="10654gc46szavgw2nzg3s6bid57jgd291qbb6xl0wprzwsg006j5"; depends=[abind car DiceKriging diptest kSamples lawstat LSDinterface randtoolbox rgenoud sensitivity tseries]; };
+  LSE = derive2 { name="LSE"; version="1.0.0"; sha256="01qj0zasv7dbwg0qxryz1d5jp4rapvnm9i6a4jd7c4pxqdm11j7y"; depends=[MASS pracma]; };
   LSMRealOptions = derive2 { name="LSMRealOptions"; version="0.2.1"; sha256="0paa5yahpyr8jpgy8aqk2fcixdny6ip09vqm8varvpiqfxrjd6ww"; depends=[]; };
   LSMonteCarlo = derive2 { name="LSMonteCarlo"; version="1.0"; sha256="0w5042phkba5dw92r67ppp2s4khjpw5mm701dh9dya9lhj88bz6s"; depends=[fBasics mvtnorm]; };
   LSPFP = derive2 { name="LSPFP"; version="1.0.3"; sha256="0wxqpwfyyhk9dig9ji5na7czk19jx14lr9iqb2rllggz4cji9y65"; depends=[bit64 data_table R_utils RCurl seqinr]; };
@@ -2588,6 +2606,7 @@ in with self; {
   LearnBayes = derive2 { name="LearnBayes"; version="2.15.1"; sha256="0ch54v2zz2yyyk0lvn5rfikdmyz1qh9j1wk3585wl8v58mc0h4cv"; depends=[]; };
   LearnClust = derive2 { name="LearnClust"; version="1.1"; sha256="0r2ns1bnsygc6jhr83v1ylfp8fkn3j76233zk5cwsxrq0grx5iqs"; depends=[magick]; };
   LearnGeom = derive2 { name="LearnGeom"; version="1.5"; sha256="1pnxiwjkdj78p4hkl1lqagmd937q63yncb45fcra28sa9v9psrcs"; depends=[]; };
+  LearnPCA = derive2 { name="LearnPCA"; version="0.1.1"; sha256="0crsgpzha1pqg0iqwqp4bqsbl6cg3x8qqkg1qkdyzkl19f3mdgnq"; depends=[]; };
   LearningRlab = derive2 { name="LearningRlab"; version="2.2"; sha256="15lkcrdfdrip1s4rpsn6kshjzsg1hfryh6lgbiqw9x2h0xvfj4da"; depends=[crayon magick]; };
   LearningStats = derive2 { name="LearningStats"; version="0.1.0"; sha256="0xrrb6jws4zj2nwnn30g338bib49b7j26v52ym7p2variwllz068"; depends=[data_table haven readODS readxl]; };
   LexFindR = derive2 { name="LexFindR"; version="1.0.2"; sha256="16ikw3s034zqgfcp2hiyhv1nq5kp65wpq1d8fclrlqiabilyk7x4"; depends=[]; };
@@ -2600,7 +2619,7 @@ in with self; {
   LifeInsuranceContracts = derive2 { name="LifeInsuranceContracts"; version="0.0.3"; sha256="0qdwz7fm5y3nvmqnw20jghzi0qm9bx52rnk4di74j60x2y13wf4m"; depends=[abind dplyr kableExtra lubridate MortalityTables objectProperties openxlsx pander R6 rlang scales stringr tidyr]; };
   LifeTables = derive2 { name="LifeTables"; version="1.0"; sha256="1dyivvi5cjsnbhncj3arkrndadg7v81nzdf6p6mpgqwqvwn5li8x"; depends=[mclust]; };
   LightningR = derive2 { name="LightningR"; version="1.0.2"; sha256="1va673aw2hgir8ybbjad6dhbs8izs1z4jcikwa7qp3mkv0zqd0vq"; depends=[httr R6 RCurl RJSONIO]; };
-  LilRhino = derive2 { name="LilRhino"; version="1.2.0"; sha256="1d1mg77k67b5ddlp41haygagash48b6jy30q20lb231lbiss9ncp"; depends=[beepr data_table dplyr e1071 fastmatch FNN ggplot2 keras neuralnet readr SnowballC stringi textclean tm]; };
+  LilRhino = derive2 { name="LilRhino"; version="1.2.1"; sha256="1ml0b2d5agjjvn0wk7j1bjh4bazp1qh2x8zccdvk19q4cf28v4qm"; depends=[beepr data_table dplyr e1071 fastmatch FNN ggplot2 keras neuralnet readr SnowballC stringi textclean tm]; };
   LimnoPalettes = derive2 { name="LimnoPalettes"; version="0.1.0"; sha256="0qzcx182nn5ygqlsqmxl1r4r0gg89q0qqgk6hk5lvgb5ghf91z3y"; depends=[]; };
   LinCal = derive2 { name="LinCal"; version="1.0"; sha256="1xr9jnna20hh78dh9wjg70jm8fhaxvdwql894kdp0y5h4pchkdph"; depends=[]; };
   LinRegInteractive = derive2 { name="LinRegInteractive"; version="0.3-3"; sha256="1rkxvkv3ls0cgqcvs74dy6qabh62cjc0xh89dlk88bpc8mz76k8z"; depends=[rpanel xtable]; };
@@ -2612,7 +2631,7 @@ in with self; {
   LinkageMapView = derive2 { name="LinkageMapView"; version="2.1.2"; sha256="101g4djzkxgxbn87an2vz4s9nwn8gwz7a3p3wg0y4zpdd1pdp716"; depends=[plotrix qtl RColorBrewer]; };
   LinkedGASP = derive2 { name="LinkedGASP"; version="1.0"; sha256="1win1yd8y677rmic531dyd29f49p7pr1r3kbjysvv9syi5nkydyj"; depends=[nloptr spBayes]; };
   LinkedMatrix = derive2 { name="LinkedMatrix"; version="1.4.0"; sha256="0p6qjnrljxnj3c5nynmx563vcqhxj4jf7czqdg750h38gjy8qzxi"; depends=[crochet]; };
-  LipidMS = derive2 { name="LipidMS"; version="3.0.1"; sha256="1cphi3qflalszyyi9sah05gbvapir44yg0iqhhrwx170khywmskl"; depends=[CHNOSZ doParallel foreach iterators readMzXmlData scales shiny shinythemes]; };
+  LipidMS = derive2 { name="LipidMS"; version="3.0.2"; sha256="02h60gqbm6dp553m68zjf5vwwxnlym6k5qi2r6r5s5mpsd4vlp0l"; depends=[CHNOSZ doParallel foreach iterators readMzXmlData scales shiny shinythemes]; };
   Lmoments = derive2 { name="Lmoments"; version="1.3-1"; sha256="0pc63bj9a8hzr5m3yssrc4kin39fffwkl8rggs3sagzr12d4i7bw"; depends=[Rcpp RcppArmadillo]; };
   LncFinder = derive2 { name="LncFinder"; version="1.1.5"; sha256="0mb41fjph4svn2amdx6fb2j8pzgll17c0xxwnsan9vjipnmj59hi"; depends=[caret e1071 seqinr]; };
   LncPath = derive2 { name="LncPath"; version="1.1"; sha256="1cpsy681yq96867nr9g75xb0dilb016shqlhxpdn5xyiakrgjl4v"; depends=[igraph]; };
@@ -2621,13 +2640,14 @@ in with self; {
   LocalControlStrategy = derive2 { name="LocalControlStrategy"; version="1.3.3"; sha256="05vggk5d0w3f9w5217c9hzy5jhwv24p2g8pcj0l6zxkhic01nbrl"; depends=[cluster lattice]; };
   Lock5Data = derive2 { name="Lock5Data"; version="3.0.0"; sha256="1407vkcdphy5pb4sgy2ms36vjffiwg2l2753gbszm9wv2m0wrnv4"; depends=[]; };
   Lock5withR = derive2 { name="Lock5withR"; version="1.2.2"; sha256="10x3i11pb4cig4pgfmw9984na5zjbg7d41y6crakiimf53ihx0c2"; depends=[]; };
-  LogConcDEAD = derive2 { name="LogConcDEAD"; version="1.6-4"; sha256="0lfpsm9iqjl8hmagbd26ks7pwngn5z57s6iiy2l6n8xbnvaax2x8"; depends=[MASS mclust mvtnorm]; };
+  LogConcDEAD = derive2 { name="LogConcDEAD"; version="1.6-5"; sha256="0pwq1bdmn040bkwal7xsmjv2asvpyshipbglqb16h2z7yq0vwmv7"; depends=[MASS mclust mvtnorm]; };
   LogRegEquiv = derive2 { name="LogRegEquiv"; version="0.1.2"; sha256="158glnha6vl8kc2g6rg8m8xi400pyqgrh2scmb3bsxbbbqd5z1p8"; depends=[]; };
   LogicReg = derive2 { name="LogicReg"; version="1.6.4"; sha256="0517rp55c1h8hwrz3dmnkdc6wzs6ialzdpw50icadcg9q8d0h9i0"; depends=[survival]; };
   LogisticDx = derive2 { name="LogisticDx"; version="0.3"; sha256="1hry32grqwlarp0cplx8szf4pf7ml1nxd11ahffmr72ihcv5ckga"; depends=[aod data_table pROC RColorBrewer rms speedglm statmod]; };
   LogitNet = derive2 { name="LogitNet"; version="0.1-1"; sha256="08xi5rpbqkc1b3qj24blv3l0r68wcqbsbjcqxiypm75f3c2irc4i"; depends=[]; };
   LogrankA = derive2 { name="LogrankA"; version="1.0"; sha256="005zkpzi8h03qvqlpkygrf9xv4q77klafkfxw47x04jvkhklwigb"; depends=[]; };
   LongCART = derive2 { name="LongCART"; version="3.1"; sha256="0f6kzlswxb1jb8hg4c3966ihwcqbkd5mkfqjjkzviq8idpyhsk4x"; depends=[Formula magic nlme rpart survival survminer]; };
+  LongDat = derive2 { name="LongDat"; version="1.0.1"; sha256="05xjazgr3ms0bl8lrca920bd835h9562zb30hkqlv7q5i09z4rha"; depends=[bestNormalize car dplyr effsize emmeans ggplot2 glmmTMB lme4 magrittr MASS patchwork reshape2 rlang rstatix stringr tibble tidyr]; };
   LongMemoryTS = derive2 { name="LongMemoryTS"; version="0.1.0"; sha256="0n378sad8i283vs7q63spdhwpwjly2d5zj15d4v2085j7sc7z8vi"; depends=[fracdiff longmemo mvtnorm partitions Rcpp RcppArmadillo]; };
   LongituRF = derive2 { name="LongituRF"; version="0.9"; sha256="0h70g0qhv0rgz40i58ykrcak1wibbvya7fql0v79xkd21217y1av"; depends=[latex2exp mvtnorm randomForest rpart]; };
   LoopAnalyst = derive2 { name="LoopAnalyst"; version="1.2-6"; sha256="1gy9v6qiwkwbwp4snif2imf6zn50ffjrig54ln57c5v5pk3phnvv"; depends=[nlme]; };
@@ -2637,7 +2657,7 @@ in with self; {
   LowRankQP = derive2 { name="LowRankQP"; version="1.0.4"; sha256="0cg8f42s15vphnifw6gnrhxaj6j5hmgbq8xki5mkwjsizd0ch5na"; depends=[]; };
   LowWAFOMNX = derive2 { name="LowWAFOMNX"; version="1.1.1"; sha256="0f75qsv6pisgvk39yagzfxscnyfsgh63rmhp4gpybpl0pqmjp48x"; depends=[Rcpp RSQLite]; };
   LowWAFOMSobol = derive2 { name="LowWAFOMSobol"; version="1.1.1"; sha256="1ym3i2m1am356di9lcp5nfmxq0np3c4bwsv6bbmf7hg02j7dhwi4"; depends=[Rcpp RSQLite]; };
-  Luminescence = derive2 { name="Luminescence"; version="0.9.17"; sha256="078jdq0f0kihadjgggqlzq3pdgkbaajjn4d3ffnl2iiwbw9rx6ms"; depends=[bbmle data_table DEoptim httr lamW matrixStats mclust minpack_lm plotrix raster Rcpp RcppArmadillo readxl shape XML zoo]; };
+  Luminescence = derive2 { name="Luminescence"; version="0.9.18"; sha256="1jv6pdc1i8vwnbq17qvyj0rvjlyr5xdgbgx5z4cib32z2v1xygw6"; depends=[bbmle data_table DEoptim httr lamW matrixStats mclust minpack_lm plotrix Rcpp RcppArmadillo readxl shape XML zoo]; };
   M2SMF = derive2 { name="M2SMF"; version="2.0"; sha256="160qjrb3mxybvr4z6zra6rzf6scyrb9mplw36gqlfxj418ndnmm1"; depends=[dplyr MASS]; };
   M2SMJF = derive2 { name="M2SMJF"; version="1.0"; sha256="0v4sg5h3h2pjp996jspv206c8cymjpn1fg38ivaw12s7bmx8j409"; depends=[dplyr MASS]; };
   M3 = derive2 { name="M3"; version="0.3"; sha256="1l40alk166lshckqp72k5zmsgm7s5mgyzxlp11l64mgncjwkw2r3"; depends=[mapdata maps ncdf4 rgdal]; };
@@ -2645,15 +2665,17 @@ in with self; {
   MABOUST = derive2 { name="MABOUST"; version="1.0.1"; sha256="044k29nibl5zc32zz2696kbhrz5dafgaikgmjqznsq25p48si453"; depends=[Rcpp RcppArmadillo]; };
   MACER = derive2 { name="MACER"; version="0.1.1"; sha256="006f15s75hnyacc31ni4gf1r4j32hlv5bqmnnl9fkcgf9jxs9hw4"; depends=[ape httr rentrez]; };
   MADPop = derive2 { name="MADPop"; version="1.1.2"; sha256="0hwnkjrc3w9x3gha0y70fidfc587b6gfdhzwzdzrfvxrhsdy05yd"; depends=[BH Rcpp RcppEigen rstan StanHeaders]; };
-  MAGEE = derive2 { name="MAGEE"; version="1.0.1"; sha256="09csg35kmq8i5hg8vpnjsss1h007kznkysb38jkhzcps5j9hxccx"; depends=[CompQuadForm foreach GMMAT MASS Matrix Rcpp RcppArmadillo SeqArray SeqVarTools]; };
+  MAFDash = derive2 { name="MAFDash"; version="0.2.0"; sha256="0hb5dqjncb5if15l9215v0p5rkywg7vld1gdbjhgj8xjqjg9mhki"; depends=[bsplus canvasXpress circlize ComplexHeatmap crosstalk data_table dplyr DT ensurer flexdashboard GenomicRanges ggbeeswarm ggplot2 htmltools IRanges knitr maftools pheatmap plotly readr reshape2 rmarkdown TCGAbiolinks tibble tidyr]; };
+  MAGEE = derive2 { name="MAGEE"; version="1.0.2"; sha256="1kmh7hdgk7p5blh9kfid7h3iaa5cjl1m0kfky8fjfnnjsid2f4b7"; depends=[CompQuadForm foreach GMMAT MASS Matrix Rcpp RcppArmadillo SeqArray SeqVarTools]; };
   MAGNAMWAR = derive2 { name="MAGNAMWAR"; version="2.0.4"; sha256="1asr18byrgy6bkpxpmnkczgr3dam6ymf30lw6izq112krc891bg4"; depends=[ape coxme doParallel dplyr foreach iterators lme4 multcomp plyr qqman seqinr survival]; };
   MAINT_Data = derive2 { name="MAINT.Data"; version="2.6.2"; sha256="0c2llzjhrv1jn5zna654bjgyq5q0hqwzfv9kda9mfjf20pfc34my"; depends=[GGally ggplot2 MASS mclust miscTools pcaPP Rcpp RcppArmadillo robustbase rrcov sn withr]; };
+  MAKL = derive2 { name="MAKL"; version="1.0.0"; sha256="0x0b7jpx3hiipmy7jgh8dnz1rnbh512g81fv62049c8v6wg47pd7"; depends=[AUC grplasso]; };
   MALDIquant = derive2 { name="MALDIquant"; version="1.21"; sha256="1y1g3819ss06dry70kfhg2syddw71682qmzkcyppfsma6hhghw87"; depends=[]; };
-  MALDIquantForeign = derive2 { name="MALDIquantForeign"; version="0.12"; sha256="1r37x1hnhq246dazc76d17jfjc57khxayswbzvc4md39z8dnbihx"; depends=[base64enc digest MALDIquant readBrukerFlexData readMzXmlData XML]; };
+  MALDIquantForeign = derive2 { name="MALDIquantForeign"; version="0.13"; sha256="0xxdvfg9h6vl2g2wlxfmrskn8576rd958mn5jblryyqg9xbanlhr"; depends=[base64enc digest MALDIquant readBrukerFlexData readMzXmlData XML]; };
   MALDIrppa = derive2 { name="MALDIrppa"; version="1.0.5-1"; sha256="0wchd0g5bl4hd1y8a6ic13n35l9b68rlzx8sa745grj3bnb2a955"; depends=[lattice MALDIquant robustbase signal]; };
-  MAMS = derive2 { name="MAMS"; version="1.4.2"; sha256="026np007p4n70dgwgr4ighkcdbyhsisfczxba90vm8hggh5qr2v1"; depends=[mvtnorm]; };
+  MAMS = derive2 { name="MAMS"; version="2.0.0"; sha256="05pnrxziwsgnhy05fac8smxcm65zxi2dl7lar2jakiamd2hxv3c2"; depends=[future future_apply mvtnorm]; };
   MANCIE = derive2 { name="MANCIE"; version="1.4"; sha256="0940xl3z5bca6hcnj2bj341l79wajilxlxzmyz3dlgrz0b3bbdmm"; depends=[]; };
-  MANOVA_RM = derive2 { name="MANOVA.RM"; version="0.5.2"; sha256="02wf071xl3bk5550qwzk8bpv8zaphrpdx52xkhw36np6j5qgp779"; depends=[data_table ellipse magic MASS Matrix multcomp plotrix plyr]; };
+  MANOVA_RM = derive2 { name="MANOVA.RM"; version="0.5.3"; sha256="0gdyd7avdc7jh1hp03wlbqi5krijxrgargkivq97qyk83zf387dx"; depends=[data_table ellipse magic MASS Matrix multcomp plotrix plyr]; };
   MAP = derive2 { name="MAP"; version="0.1.3"; sha256="19d0m30jh50ibbdgvcvq1vsz5i1vf8qvl0d0nbqklvnndch61jhk"; depends=[flexmix Matrix]; };
   MAPA = derive2 { name="MAPA"; version="2.0.4"; sha256="02s223s58k2jk49m0xlz3q9m3nip3h4dl4v58j18z2vgi54dwnjr"; depends=[forecast RColorBrewer smooth]; };
   MAPITR = derive2 { name="MAPITR"; version="1.1.2"; sha256="0vmsdspja4qfs2z14p835g78zggk8h54v25cn268z1hg2p6zxish"; depends=[CompQuadForm doParallel Rcpp RcppArmadillo]; };
@@ -2662,7 +2684,7 @@ in with self; {
   MARSS = derive2 { name="MARSS"; version="3.11.4"; sha256="10mf1vs51yqqg6s2435j84xbaxvr6wdraha07mqlr2rmprgl5a0r"; depends=[KFAS mvtnorm nlme]; };
   MARSSVRhybrid = derive2 { name="MARSSVRhybrid"; version="0.1.0"; sha256="10b8d75q5hiqf8id1qsvjx379xyx4vphq5r1iwvykjaw4zxbyx65"; depends=[e1071 earth]; };
   MARX = derive2 { name="MARX"; version="0.2"; sha256="1rc87hz719khl8mclbkfdix499nsc4nyihaaavd73nany7iprm02"; depends=[fBasics matlab metRology stabledist tseries]; };
-  MASS = derive2 { name="MASS"; version="7.3-54"; sha256="08g8ashbcas3ac98kxvchbwc8da9dq9anpngb4arnw62npawq05q"; depends=[]; };
+  MASS = derive2 { name="MASS"; version="7.3-55"; sha256="191i1iylvh2w2hi99fnm06731lma7z5snpjknfff1m9ziyy9qab5"; depends=[]; };
   MASSExtra = derive2 { name="MASSExtra"; version="1.1.2"; sha256="0jzzm3ahn1iisdp632hcn8lnk6hhh699jqfj6v0164qxd6487xvs"; depends=[demoKde MASS]; };
   MASSTIMATE = derive2 { name="MASSTIMATE"; version="2.0-1"; sha256="1dvidwjw4zgflms5njbd9n85g1gbgfg6hk0fb63q5n65iyxxfmyh"; depends=[]; };
   MAT = derive2 { name="MAT"; version="2.2"; sha256="093axw2zp4i3f6s9621zwibcxrracp77xrc0q5q0m4yv3m35x908"; depends=[Rcpp RcppArmadillo]; };
@@ -2680,7 +2702,7 @@ in with self; {
   MBCbook = derive2 { name="MBCbook"; version="0.1.1"; sha256="0jmvgyzrahnxfkwdn86k3ffk0zfbbd34ya4zmlnsmp2m9xds7lgn"; depends=[MASS mclust mvtnorm Rmixmod]; };
   MBCluster_Seq = derive2 { name="MBCluster.Seq"; version="1.0"; sha256="0xbi2r0g0gzsy05qrq1ljr5f5s3glwxj204vk2f1lgwdx3fd116m"; depends=[]; };
   MBESS = derive2 { name="MBESS"; version="4.8.1"; sha256="09r9rkyprajrq30v671xsf1q5nmy2fijw19dd73rpnfmdg3nqiyf"; depends=[boot lavaan MASS mnormt nlme OpenMx sem semTools]; };
-  MBHdesign = derive2 { name="MBHdesign"; version="2.1.11"; sha256="0qybdkzmgfpsrqpmxa91kbq2cxhalj3vfvxjj31lic6kk56dllj4"; depends=[class geometry mgcv mvtnorm randtoolbox]; };
+  MBHdesign = derive2 { name="MBHdesign"; version="2.2.2"; sha256="1z5jg4gb9jkc7cjy0413zj3lszqb28zx39bfmk59lls9d016iaak"; depends=[class geometry mgcv mvtnorm randtoolbox raster]; };
   MBI = derive2 { name="MBI"; version="1.0"; sha256="1lb0sjwa6x360n9a9pagz6yhxh37gxq1fk0f5c3i2sd56ny9jpns"; depends=[]; };
   MBNMAdose = derive2 { name="MBNMAdose"; version="0.3.0"; sha256="12ij19828nd1r0x1vp7clkwr0zfksk3f755xghzylz0ryjjb716d"; depends=[checkmate dplyr formatR igraph magrittr R2jags Rdpack reshape2 rgeos rjags scales utf8]; };
   MBNMAtime = derive2 { name="MBNMAtime"; version="0.2.1"; sha256="1qm8g9hljl3qsnh434dzg2y0iyq635ym1ygfzr0q8l6h76qr7p1j"; depends=[checkmate dplyr knitr magrittr R2jags Rdpack reshape2 rjags]; };
@@ -2695,11 +2717,11 @@ in with self; {
   MCI = derive2 { name="MCI"; version="1.3.3"; sha256="1wn8lcr5sq3697nsmly6syb9jv7p99ks0fy933ff5rx54x3rf9hz"; depends=[]; };
   MCID = derive2 { name="MCID"; version="0.1.0"; sha256="034r4qxbqnl9hhkpv9r79p26lzj5qh0379ya43ynyvbbi8b8z3rl"; depends=[]; };
   MCL = derive2 { name="MCL"; version="1.0"; sha256="1w36h4vhd525h57pz6ik3abbsrvxnkcqypl2aj1ijb6wm7nfp4ri"; depends=[expm]; };
-  MCM = derive2 { name="MCM"; version="0.1.4"; sha256="0m5gc8qbdf04nkhkx5k3wzz2c32g7pzwi8x7jlrf55cb1nyfgrnv"; depends=[dplyr gee lme4 parameters stringr survey]; };
+  MCM = derive2 { name="MCM"; version="0.1.5"; sha256="1yi0p766vky1b7xyn47v5a7dd4dnmrhr9rbsnsrsyf0sym0q8bdr"; depends=[dplyr gee lme4 parameters stringr survey]; };
   MCMC_OTU = derive2 { name="MCMC.OTU"; version="1.0.10"; sha256="15k3y4bm4cxjb6r30afpw9gksflsxigzb17zwm1ipygq0d0h0zkg"; depends=[coda ggplot2 MCMCglmm]; };
   MCMC_qpcr = derive2 { name="MCMC.qpcr"; version="1.2.4"; sha256="0v0d43wnq3swbrcsbg9qmwkmk4s50grd6cik4ng5baj2i6i4hd2n"; depends=[coda ggplot2 MCMCglmm]; };
   MCMC4Extremes = derive2 { name="MCMC4Extremes"; version="1.1"; sha256="06p6xdbja7vrdq4vnhybpkmyf4rkaihcmy9sc81sb0h2wa21vcq0"; depends=[evir]; };
-  MCMCglmm = derive2 { name="MCMCglmm"; version="2.32"; sha256="1czhsgb5pc2xxkkinf03z60c8qfwcn3xqxll4cpjz48g1lg6w5d9"; depends=[ape coda corpcor cubature Matrix tensorA]; };
+  MCMCglmm = derive2 { name="MCMCglmm"; version="2.33"; sha256="1z6l2lbirjrdvvkd6yp55p6gjlc0bcz79k2yl2i5zvgqk7kp4vdm"; depends=[ape coda corpcor cubature Matrix tensorA]; };
   MCMChybridGP = derive2 { name="MCMChybridGP"; version="5.4"; sha256="19nbch76g7jf53nrb1lyzr3zd0z6rpz2k86mq1r9aidwwxh81g7p"; depends=[MASS]; };
   MCMCpack = derive2 { name="MCMCpack"; version="1.6-0"; sha256="16zjx8yz29ii75wfxj3p562l657bng8jnwzp2b54s7fiaws4kfdm"; depends=[coda lattice MASS mcmc quantreg]; };
   MCMCprecision = derive2 { name="MCMCprecision"; version="0.4.0"; sha256="0r0qchiv61sk3drrb0rhwsk55gci4w343hd2gsvclrlyb8r9qhaf"; depends=[combinat Matrix Rcpp RcppArmadillo RcppEigen RcppProgress]; };
@@ -2740,7 +2762,7 @@ in with self; {
   MFDFA = derive2 { name="MFDFA"; version="1.1"; sha256="0nr78p6y4jpg1hrl0h7b7hyvwbr61paf85y3f2dx815x5hscmdhy"; depends=[numbers]; };
   MFHD = derive2 { name="MFHD"; version="0.0.1"; sha256="0gb8y297y1x03wy46530psmlawyv4z5dydilk36qcmadlk1wx02k"; depends=[deldir depth depthTools fda_usc matrixStats]; };
   MFPCA = derive2 { name="MFPCA"; version="1.3-9"; sha256="1cajh9aiirngc8p68kfll17mf2a874pk55cjrmxzr1l8p3ipd7s5"; depends=[abind foreach funData irlba Matrix mgcv plyr]; };
-  MFSIS = derive2 { name="MFSIS"; version="0.1.1"; sha256="0yx6bc154yb11i7cs5jzcr3bw82qkv9ws5lnak7k37bpzaajiglr"; depends=[Ball cli crayon dr fs MASS pkgdown reticulate survival]; };
+  MFSIS = derive2 { name="MFSIS"; version="0.1.2"; sha256="0s4rswhc5aigp7f0yq91f131ghx2jjsmxikp9i2ycqg8bcza17nv"; depends=[Ball cli crayon doParallel dr foreach fs MASS reticulate survival]; };
   MFT = derive2 { name="MFT"; version="2.0"; sha256="0n1xws3dw0650037qyqgp600p8cf098qa5hkbncdfdbl0w34qamy"; depends=[]; };
   MGBT = derive2 { name="MGBT"; version="1.0.7"; sha256="0wrw5yjaw3sgsw0l8q5gq95i5q1wxwgcffkxkxaa1cygblrrz12y"; depends=[]; };
   MGDrivE = derive2 { name="MGDrivE"; version="1.6.0"; sha256="0ynn7iwxi5yfpjyrvfr6ym4ns7h8qfy8c10clab7i72pv90jqqlr"; depends=[R6 Rcpp Rdpack]; };
@@ -2784,10 +2806,11 @@ in with self; {
   ML_MSBD = derive2 { name="ML.MSBD"; version="1.2.1"; sha256="1cpwq0vilbyz837d8k8pjipw3cwdsggbs88nwp827s4w2f1m7pap"; depends=[ape foreach]; };
   ML2Pvae = derive2 { name="ML2Pvae"; version="1.0.0"; sha256="0laazb78qz6348kdyivb062nrmiz45imr3l3ck338a230avy4w4d"; depends=[keras reticulate tensorflow tfprobability]; };
   MLCIRTwithin = derive2 { name="MLCIRTwithin"; version="2.1.1"; sha256="1x0xmka7kkbjnh3yv4zxxyl17cpmf0rb9hxmdl1srb6ijld4np1b"; depends=[limSolve MASS MultiLCIRT]; };
-  MLCM = derive2 { name="MLCM"; version="0.4.2"; sha256="14sd9ybwyilympnbyaqmwdrbip4vyn1p93rh9mlxls3bmk6nc4hv"; depends=[]; };
+  MLCM = derive2 { name="MLCM"; version="0.4.3"; sha256="1sz5c3wxvnyxd3bf53i8x2jw591phx2np6c6bj4cqppb98ab83f3"; depends=[]; };
   MLDAShiny = derive2 { name="MLDAShiny"; version="0.1.0"; sha256="14n8pffzw5y7lq3qx1xly4jwm05cyvs14gn838h6y9yssb16xnmr"; depends=[caret DiscriMiner dplyr e1071 klaR MASS rhandsontable rmarkdown shiny]; };
   MLDAShiny2 = derive2 { name="MLDAShiny2"; version="0.1.0"; sha256="1mx8js54mrrf16jriy467dysxpkcsza9fvdmpdbmxr5m3y564sc7"; depends=[caret DiscriMiner dplyr e1071 klaR MASS rhandsontable rmarkdown shiny]; };
-  MLDS = derive2 { name="MLDS"; version="0.4.7"; sha256="0j19zfjd74xxckv749wn2r536bq4h0sj1z51zqf4msxa728mzp9q"; depends=[MASS]; };
+  MLDS = derive2 { name="MLDS"; version="0.4.901"; sha256="0zswlng1vksnx1m6ycna2hbqmzzcfpqz1wgy519fr0j87bqxks69"; depends=[MASS]; };
+  MLDataR = derive2 { name="MLDataR"; version="0.1.2"; sha256="1b35rsd1scjkw0j7rbx5kn2p8h1g2i3bq84cj3sgf77cmc22cgb2"; depends=[caret ConfusionTableR dplyr parsnip ranger recipes rsample workflows]; };
   MLEcens = derive2 { name="MLEcens"; version="0.1-4"; sha256="0zlmrcjraypscgs2v0w4s4hm7qccsmaz4hjsgqpn0058vx622945"; depends=[]; };
   MLGL = derive2 { name="MLGL"; version="0.6.5"; sha256="1qrqw39hghdlbrs0dkv38awrgwdf8lj95rhb3hixcc6nfb2lkr8j"; depends=[FactoMineR fastcluster gglasso MASS Matrix parallelDist]; };
   MLGdata = derive2 { name="MLGdata"; version="0.1.0"; sha256="0ysvrnx8m903h99wr40zgg1c6d26m9vsh62zjxh8mvndh69ikzid"; depends=[]; };
@@ -2795,6 +2818,7 @@ in with self; {
   MLML2R = derive2 { name="MLML2R"; version="0.3.3"; sha256="1jgk0h3chab831g5nsppgc6p0xplv11j82491iymnxixqfswb08w"; depends=[]; };
   MLMOI = derive2 { name="MLMOI"; version="0.1.1"; sha256="0fliax6ajacm2i416xi26qlwg3y7iw8y6hykkz0mcwp7djyn3n6s"; depends=[Rdpack rJava Rmpfr XLConnect]; };
   MLModelSelection = derive2 { name="MLModelSelection"; version="1.0"; sha256="1qfy2rfx2nvkwisl9wwllqsq2qhqzsdmrh90z5zn5qs07d0305wn"; depends=[MASS Rcpp RcppArmadillo RcppDist]; };
+  MLMusingR = derive2 { name="MLMusingR"; version="0.1.0"; sha256="1yq5ifp12k1pd59s5m1306934f4f2l9vlhqlfg22vcr7l9pqkw9s"; depends=[lme4 Matrix nlme]; };
   MLPUGS = derive2 { name="MLPUGS"; version="0.2.0"; sha256="1yda37073g640g1qrkjrwa8hbyq6bjlcw3wpznx0bk5h0639bc0s"; depends=[]; };
   MLRShiny = derive2 { name="MLRShiny"; version="0.1.0"; sha256="06zcyz8l4754sjbcql3jd3nq1d2lgj92p5h2bh708z52mww71isw"; depends=[corrgram dplyr forecast psych QuantPsyc shiny shinyAce]; };
   MLRShiny2 = derive2 { name="MLRShiny2"; version="0.1.0"; sha256="1ygamp0ldz1i0w2xyi205rpd1gd5asw61l36z06j41ghdyiz1lww"; depends=[corrgram dplyr forecast psych QuantPsyc shiny shinyAce]; };
@@ -2845,7 +2869,7 @@ in with self; {
   MPN = derive2 { name="MPN"; version="0.3.0"; sha256="0rrigkq5bkarncswv8kgvvwd1vrq5cqnb5vypa9d39q2ksqf8j3d"; depends=[]; };
   MPR_genotyping = derive2 { name="MPR.genotyping"; version="0.8"; sha256="0lsrbks7nhfnrmk8kclh09rc132j3divjxrzjfrg8zijbzkfx1pn"; depends=[qtl]; };
   MPS = derive2 { name="MPS"; version="2.3.1"; sha256="08yzynznf33y7y3pf7fayks5hi3cdvzwzn8axg7aky5kvi2bfv22"; depends=[]; };
-  MPSEM = derive2 { name="MPSEM"; version="0.3-6"; sha256="0kw3aixhl5j8nq4lcx65l80v4lihvpa4qd12n2jrc96lnm6mw00b"; depends=[ape MASS]; };
+  MPSEM = derive2 { name="MPSEM"; version="0.4-1"; sha256="0cq7vyyif7gxywrj420msscjf1aq427g88x8yvxf3a5a6mqapkr8"; depends=[ape MASS]; };
   MPTinR = derive2 { name="MPTinR"; version="1.14.1"; sha256="0jywv5kim3vdfq0dfaxjksq8l2i6ny45rn5ibmb7ximwfjm3syp0"; depends=[Brobdingnag numDeriv Rcpp RcppEigen]; };
   MPTmultiverse = derive2 { name="MPTmultiverse"; version="0.4-2"; sha256="0fjfj8jk0dk1s3jc9rl9kza6gm5pm6dgsqyk0aq7pir2hrsr3qwy"; depends=[coda dplyr ggplot2 limSolve magrittr MPTinR purrr readr reshape2 rlang runjags tibble tidyr TreeBUGS]; };
   MPV = derive2 { name="MPV"; version="1.57"; sha256="1b2xxkh55lzz9addjxa0jjp3lrpf6c31knah4xwhgbmrg4r6rl0n"; depends=[KernSmooth lattice]; };
@@ -2869,9 +2893,9 @@ in with self; {
   MSCMT = derive2 { name="MSCMT"; version="1.3.4"; sha256="1vh0i9nxqiy3qdnb7z7cn5kpp2jahdmaqpnv7q5650pkswhwmfpc"; depends=[ggplot2 lpSolve lpSolveAPI Rdpack Rglpk]; };
   MSCquartets = derive2 { name="MSCquartets"; version="1.1.0"; sha256="1rik3ma537qkj63j5v0gcf6g3qi68z49w21z96mm88b7nq15xpjh"; depends=[ape doParallel foreach phangorn RandomFieldsUtils Rdpack zipfR]; };
   MSCsimtester = derive2 { name="MSCsimtester"; version="1.0.0"; sha256="0k04fdprwa56vm6n372lipybgq1plhmjbxvp58wqmpgzpnhcxkvd"; depends=[ape kSamples Rdpack]; };
-  MSEtool = derive2 { name="MSEtool"; version="3.3.0"; sha256="0sgiwfjc24c49w4vblasy84clgwjgzcgii1fi4jkc940k6vcz4kf"; depends=[abind dplyr ggplot2 Rcpp RcppArmadillo snowfall]; };
+  MSEtool = derive2 { name="MSEtool"; version="3.4.0"; sha256="1v3qld7gnsvf5aa0vmfiaj48irkawsl1nbxxi4rqbhbg60kb7zzm"; depends=[abind dplyr ggplot2 Rcpp RcppArmadillo snowfall]; };
   MSG = derive2 { name="MSG"; version="0.8"; sha256="178209p30fmh3c03w8iakz306h2xswcj4ffxg1s9s8md156rbj7s"; depends=[RColorBrewer]; };
-  MSGARCH = derive2 { name="MSGARCH"; version="2.42"; sha256="1n5fvj6yx8sfi1vizw89410hc0d37w8mpqfsksdv01pgnfdcs11a"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
+  MSGARCH = derive2 { name="MSGARCH"; version="2.50"; sha256="0gq0n9v2vdsg899bic24hdp72sr39xcmc3iam4h4yx2b8bl7mxdb"; depends=[coda expm fanplot MASS numDeriv Rcpp RcppArmadillo zoo]; };
   MSGARCHelm = derive2 { name="MSGARCHelm"; version="0.1.0"; sha256="172xpvs98b9ay44ffb8bp9k4zsjzhy92pp7bv3d1j186pqhl13ib"; depends=[forecast MSGARCH nnfor]; };
   MSGLasso = derive2 { name="MSGLasso"; version="2.1"; sha256="1k17vnvzr647pwfbdxrpqcsp34iygq86wf0ns4rq8cj6q5mik1bv"; depends=[]; };
   MSMwRA = derive2 { name="MSMwRA"; version="1.5"; sha256="062d37h47p3sx65k5jh8n900dfzm1mvi18ikral3ajdhy7x2cif9"; depends=[]; };
@@ -2880,7 +2904,8 @@ in with self; {
   MSRDT = derive2 { name="MSRDT"; version="0.1.0"; sha256="1i35zsip6p177k9pnbmvkjdc1hpr6nclhbx2sfah95ls5v6xnzz8"; depends=[dplyr gtools reshape2]; };
   MSSQL = derive2 { name="MSSQL"; version="1.0.0"; sha256="15glgn2dr1yygxps0mx68435zqc2hi4hvgr4rvgrwyxdnlm5g35y"; depends=[RODBC]; };
   MST = derive2 { name="MST"; version="2.2"; sha256="0p833nyq9p0r0hy02f4sy6gv1wm9flj3dxkv73ihy8503r89bbzz"; depends=[Formula MASS partykit survival]; };
-  MSbox = derive2 { name="MSbox"; version="1.4.0"; sha256="0v0prgrnvfr57934lra9w15danzygqnm3mi9n2k2jrkmcdj8dsrm"; depends=[crayon ggfortify ggplot2 plotly reshape2 stringr xml2]; };
+  MSbox = derive2 { name="MSbox"; version="1.4.4"; sha256="00fh7qb8yj8b8yfipwvrly2340il3aygzm44sqbwq2684p8ivw36"; depends=[crayon ggfortify ggplot2 plotly reshape2 stringr xml2]; };
+  MSclassifR = derive2 { name="MSclassifR"; version="0.1.0"; sha256="1b5giaqspnw6blpmmnvx9gzqa7hk006qhrmam6xz6716m2ay6ns0"; depends=[caret dplyr e1071 fuzzyjoin ggplot2 glmnet MALDIquant MALDIquantForeign MALDIrppa metap mixOmics nnet reshape2 VSURF xgboost]; };
   MScombine = derive2 { name="MScombine"; version="1.4"; sha256="0s3gbf3s5mf00d5mkbqhd9wwnyps7qb4r3zbal8j8nsaspql9nd3"; depends=[plyr]; };
   MSiP = derive2 { name="MSiP"; version="1.3.7"; sha256="1n8yl5icd3qkpmx2knxsp4g6jvkbg6hl82jxg9apxkx4nmsvkawz"; depends=[caret dplyr e1071 magrittr mice plyr pROC PRROC ranger tibble tidyr]; };
   MSwM = derive2 { name="MSwM"; version="1.5"; sha256="0ny5apvww1537qhiwb3f8x173rh7mypvgpw0i46dkvn897i0dq36"; depends=[nlme]; };
@@ -2902,7 +2927,7 @@ in with self; {
   MVNtestchar = derive2 { name="MVNtestchar"; version="1.1.3"; sha256="0w5008zknrl5r7l4dmj2fbm7vvg2f1wynzf38kabns4j7hb1nmxw"; depends=[ggplot2 Hmisc knitr]; };
   MVQuickGraphs = derive2 { name="MVQuickGraphs"; version="0.1.2"; sha256="1937w8y866bsn9kn6a98c91akhm9ddc5dr9wqm51lkbjyz1zm0j1"; depends=[plotrix]; };
   MVR = derive2 { name="MVR"; version="1.33.0"; sha256="1ygz47a2p5r5axql5zsxvsn25pcqyxz6mpw50zfmzrcqdrfa3bg8"; depends=[statmod]; };
-  MVTests = derive2 { name="MVTests"; version="2.0.8"; sha256="00r23jxijsid67qdqaxgmq148njkbd6d5lbsfgzazx1v7scqih3x"; depends=[mvtnorm rrcov]; };
+  MVTests = derive2 { name="MVTests"; version="2.1.1"; sha256="10zybrcwyq37z8pk0ck4bravbrryx705vd7v4mb4c2vavnshxfq3"; depends=[mvtnorm robustbase rrcov]; };
   MVar = derive2 { name="MVar"; version="2.1.8"; sha256="00mn0aqj2yvspi9jzx01d6aiwsxkfa7rp1ahh6p86bmf5j8rqanj"; depends=[MASS]; };
   MVar_pt = derive2 { name="MVar.pt"; version="2.1.8"; sha256="1hs39rybs3yih0nc0xhn3c1ip8z6pzdzvfki6fpx981f41lk9cwg"; depends=[MASS]; };
   MVisAGe = derive2 { name="MVisAGe"; version="0.2.1"; sha256="1plrzzj7cr2hxk1npadvjnk7sanhilh99l5vrkjjh3l6li2ym09b"; depends=[]; };
@@ -2937,7 +2962,7 @@ in with self; {
   MatManlyMix = derive2 { name="MatManlyMix"; version="1.1.1"; sha256="1d2vd5b9lirdybjclxh0nn4mghq64qjj4l8vnj95cni5pfa18a2c"; depends=[]; };
   MatSkew = derive2 { name="MatSkew"; version="0.1.5"; sha256="019v2b1r0bvw84xs50smjb3jdz7gd2adz5d84xd8zq43lnml96d1"; depends=[]; };
   MatTransMix = derive2 { name="MatTransMix"; version="0.1.15"; sha256="1s2wmhiqn024x9l217xak3wp3dbd3mfrih70xc5mc1b4555f2fbm"; depends=[mvtnorm]; };
-  MatchIt = derive2 { name="MatchIt"; version="4.3.2"; sha256="1fw1lb3w27652bvy612f9c09dzb02w3nrjzr1gn3svkldsaic4bg"; depends=[backports Rcpp RcppProgress]; };
+  MatchIt = derive2 { name="MatchIt"; version="4.3.3"; sha256="1gqcfzicvwd8j9snky0alsx6rmwjjchg1qz41lfqkdpf5cx90zkx"; depends=[backports Rcpp RcppProgress]; };
   MatchLinReg = derive2 { name="MatchLinReg"; version="0.7.3"; sha256="1si0zn6vlgyj08841hfjx8an96a8ipnawl4zbalabmpy7r5bfwx8"; depends=[Hmisc Matching]; };
   MatchThem = derive2 { name="MatchThem"; version="1.0.1"; sha256="1g3vzbxrbmgmxlnn6i2i1wdk949i547ywgxcw05na71kc1nvwvfd"; depends=[MatchIt mice rlang survey WeightIt]; };
   Matching = derive2 { name="Matching"; version="4.9-11"; sha256="123np8gwjrbmkl65kj7qfa52i9msnkjyhvj4pwwqh5mkca2clw8w"; depends=[MASS]; };
@@ -2955,7 +2980,7 @@ in with self; {
   MaxentVariableSelection = derive2 { name="MaxentVariableSelection"; version="1.0-3"; sha256="1cmxfdkm5k85b4ivlfy5521hkfj0gq2pb1qlxxklh0fprw87kp9c"; depends=[ggplot2 raster]; };
   MaximinInfer = derive2 { name="MaximinInfer"; version="1.0.0"; sha256="1m6xb4blpahgm7b4h96rdg2qakgn893sfjk45flxnvn8gipbwlrh"; depends=[CVXR glmnet intervals MASS SIHR]; };
   MazamaCoreUtils = derive2 { name="MazamaCoreUtils"; version="0.4.10"; sha256="0085miwwda387k33hf6l8p3f0pp8714nq0whzmf89l3yn932ai33"; depends=[devtools digest dplyr futile_logger lubridate magrittr purrr rlang rvest stringr tibble xml2]; };
-  MazamaLocationUtils = derive2 { name="MazamaLocationUtils"; version="0.2.7"; sha256="12ghd0h9127isbxkaapnl94r2snfpa8dcmp9j9h51knfqjaj6qmw"; depends=[digest dplyr geodist httr jsonlite leaflet lubridate magrittr MazamaCoreUtils MazamaSpatialUtils readr rlang stringr]; };
+  MazamaLocationUtils = derive2 { name="MazamaLocationUtils"; version="0.3.1"; sha256="1aiyaz2svh93dp076hvib25agiwq7vydmj6gqqjxbknhx63kj769"; depends=[dplyr geodist httr jsonlite leaflet lubridate magrittr MazamaCoreUtils MazamaSpatialUtils readr rlang stringr tidygeocoder]; };
   MazamaRollUtils = derive2 { name="MazamaRollUtils"; version="0.1.3"; sha256="1433xy64n3wpxg9d0jlwdfp8hlvmq0ndg3fv6kfxq3pasm600jgc"; depends=[Rcpp]; };
   MazamaSpatialPlots = derive2 { name="MazamaSpatialPlots"; version="0.1.2"; sha256="1gkxq6lnvdv24nvc34fmxz4qilzljxcls1lq29a5ag67dffz7kcj"; depends=[dplyr magrittr MazamaCoreUtils MazamaSpatialUtils rlang sf sp tmap]; };
   MazamaSpatialUtils = derive2 { name="MazamaSpatialUtils"; version="0.7.6"; sha256="07qr6cwa29brsp567vjhfv8pkqijxhhz98bxvagrpjj5gbx1179s"; depends=[cleangeo countrycode dplyr magrittr MazamaCoreUtils rgdal rgeos rlang rmapshaper sp stringr]; };
@@ -2972,6 +2997,8 @@ in with self; {
   MendelianRandomization = derive2 { name="MendelianRandomization"; version="0.5.1"; sha256="1qi5v4m19025zcigl6wxmj3vi6zjlzgsm6cj75kywq2qabrzk2fw"; depends=[ggplot2 glmnet iterpc knitr Matrix plotly quantreg rjson rmarkdown robustbase]; };
   Mercator = derive2 { name="Mercator"; version="1.1.1"; sha256="0jg5dm65smq67k35p8acqd5kdsv7py8plaamagbsc84617r0iaik"; depends=[ClassDiscovery cluster dendextend flexmix igraph KernSmooth kohonen Polychrome Rtsne Thresher umap]; };
   MetABEL = derive2 { name="MetABEL"; version="0.2-0"; sha256="0rqjv85mgswrbbp8b8ip6cdmz0cvfy9lm5mcr8a7h38rzgx3g3i3"; depends=[]; };
+  MetAlyzer = derive2 { name="MetAlyzer"; version="0.1.0"; sha256="1mqc2037q71n1k7ncym52vn0cc5ndsxq4r87k492lp1b3i7h1wi3"; depends=[agricolae dplyr openxlsx rlang tibble tidyr]; };
+  MetBrewer = derive2 { name="MetBrewer"; version="0.1.0"; sha256="1wf8bpsj9py69x7k4i18na0rr2d1f3bw3jds94jr13g7m70i6js7"; depends=[]; };
   MetFns = derive2 { name="MetFns"; version="3.2.2"; sha256="15fd2d0yysibi2x43qv6b8i1pa18l7z4n0zpmrqhsmvqkgy8sla0"; depends=[astroFns lubridate plotrix pracma]; };
   MetGen = derive2 { name="MetGen"; version="0.5"; sha256="00yzaicrpwfnxi5mdzwx1ai721vczkkf2yl50q9wwpxhmfx0xbbh"; depends=[chron glmnet MASS]; };
   MetNorm = derive2 { name="MetNorm"; version="0.1"; sha256="0vfi3k0yp2dz47gwj1n1avs3ji0a2nlrrljz5d0l66zfh4474jb4"; depends=[]; };
@@ -2984,10 +3011,10 @@ in with self; {
   MetaDBparse = derive2 { name="MetaDBparse"; version="2.0.0"; sha256="0ssbjm9x3f7j2blpjdjfcsrp2486g55rwkw7xhlkrw307q6i40gq"; depends=[ChemmineR cmmr data_table DBI enviPat gsubfn Hmisc httr jsonlite KEGGREST pacman pbapply progress R_utils rcdk RCurl Rdisop readxl reshape2 rJava RJSONIO rlist RSQLite rvest SPARQL stringi stringr webchem WikidataQueryServiceR XML xml2 zip]; };
   MetaIntegration = derive2 { name="MetaIntegration"; version="0.1.2"; sha256="0dbmpls6gipd81c79lvxqgyhzl3nmi0ma4szv8fcrh50jbwfvsql"; depends=[corpcor knitr MASS Rsolnp]; };
   MetaIntegrator = derive2 { name="MetaIntegrator"; version="2.1.3"; sha256="1763in7zcfr4abhwc0sy27c1qbzbhkyjsasrhwdjjmsc645sqxlx"; depends=[AnnotationDbi Biobase BiocManager boot COCONUT data_table DBI dplyr DT GEOmetadb GEOquery ggplot2 ggpubr gplots HGNChelper httpuv magrittr manhattanly Metrics multtest pheatmap plotly plyr pracma preprocessCore readr reshape2 rmarkdown rmeta Rmisc RMySQL ROCR RSQLite stringr zoo]; };
-  MetaLandSim = derive2 { name="MetaLandSim"; version="1.0.8"; sha256="1p182792vx1nix385kpgvdl0yff12xy5v1k6giaj0cxgfvhrqqar"; depends=[coda e1071 fgui googleVis igraph knitr maptools minpack_lm raster rgeos rgrass7 sp spatstat_core spatstat_geom zipfR]; };
+  MetaLandSim = derive2 { name="MetaLandSim"; version="1.0.9"; sha256="0x418csk1bcg1ld5rwlrd3qr95bp10q5nzix1n23ss550sn527ml"; depends=[coda e1071 fgui googleVis igraph knitr maptools minpack_lm raster rgeos rgrass7 sp spatstat_geom spatstat_random zipfR]; };
   MetaLonDA = derive2 { name="MetaLonDA"; version="1.1.8"; sha256="0nalkmsii2anw07r16zcpgafb01l87hgpfr1mwc7nggvhdfp3w2g"; depends=[DESeq2 doParallel edgeR ggplot2 gss metagenomeSeq plyr pracma zoo]; };
   MetaPath = derive2 { name="MetaPath"; version="1.0"; sha256="1vvpfv6yc4rd4apqfs2yzm97xxsv43ghwqnjq6w1xrc4pdx2p634"; depends=[Biobase genefilter GSEABase impute]; };
-  MetaStan = derive2 { name="MetaStan"; version="0.4.0"; sha256="1qdb1y4hwkrhdyhjvig7vfybz0ixmm6w85yq0bmapxj10qs8ars9"; depends=[BH Rcpp RcppEigen rstan rstantools StanHeaders]; };
+  MetaStan = derive2 { name="MetaStan"; version="1.0.0"; sha256="00rj11q20apw7f5s6vw8fh7qxgfksndyiks1w907zzjlxhy9b4pj"; depends=[BH coda forestplot HDInterval loo metafor Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
   MetaSubtract = derive2 { name="MetaSubtract"; version="1.60"; sha256="19xg95g2qgyi90pz3733l596gzdj6dmb0k9i4qmhaq4yck69rrhj"; depends=[]; };
   MetaUtility = derive2 { name="MetaUtility"; version="2.1.2"; sha256="0pddp4h7jk2y140yiw4j5661011v1ym1dnb4ds9ai6i3iic23373"; depends=[dplyr metadat metafor purrr rlang stringr tidyr]; };
   MetaboList = derive2 { name="MetaboList"; version="2.0"; sha256="10skvf14ls4qll0l9p6cig4lmj7138khcksyjvd1pqym9axk3wxn"; depends=[dplyr enviPick ggplot2 scales]; };
@@ -2999,11 +3026,11 @@ in with self; {
   Metatron = derive2 { name="Metatron"; version="0.1-1"; sha256="0apz2k3za19px1bcg4ls0axaljrpxnqhs86b6s862c370sspc1x8"; depends=[lme4 Matrix mpt]; };
   Meth27QC = derive2 { name="Meth27QC"; version="1.1"; sha256="0ad30svs2kjzmmyvcm0jmv64iyq7slp1x1xl35h2rv1b6zbd4658"; depends=[gplots]; };
   MethComp = derive2 { name="MethComp"; version="1.30.0"; sha256="1vmwb4zw4gm2x0j2nzm2vjfj7x19ws8njr6dcglzjpbbha7nxjp6"; depends=[coda nlme rjags]; };
-  MethodCompare = derive2 { name="MethodCompare"; version="0.1.1"; sha256="1akp4azjnia142bdjjdfaj55jipmrcbwcy3jx27l765biaqws97c"; depends=[nlme]; };
+  MethodCompare = derive2 { name="MethodCompare"; version="0.1.2"; sha256="1nxr2fgmfixjkdparavi156qqqchjwaxpjk9i2xgc1yhp1p01pll"; depends=[nlme]; };
   Methplot = derive2 { name="Methplot"; version="1.0"; sha256="0aaqss9zfn55qi45jffxkksnkw510npjnkygafx49vl77bkagqh5"; depends=[ggplot2 reshape]; };
   MethylCapSig = derive2 { name="MethylCapSig"; version="1.0.1"; sha256="16ch9aldr6a9jn42h387n7qvnzs0yx28f2yj6xq0kp476q7rf4ql"; depends=[geepack]; };
   Metrics = derive2 { name="Metrics"; version="0.1.4"; sha256="0fh8qbjlwzagh272lgwr4bxcqcjb1qpz53mgs8rzlvncax6nk5bk"; depends=[]; };
-  MetricsWeighted = derive2 { name="MetricsWeighted"; version="0.5.3"; sha256="0wi83gk3rrvfkl48x0sml3k0bazsm6ycb4kdk3y1kp83pxdls43p"; depends=[]; };
+  MetricsWeighted = derive2 { name="MetricsWeighted"; version="0.5.4"; sha256="1hv2bgd64km303l09kva0pa9wx95f82qa9c4zl8nrmfhi2dvckqh"; depends=[]; };
   MfUSampler = derive2 { name="MfUSampler"; version="1.0.4"; sha256="0i5siq1jacxbfvakb97qnj3h7pk471rrx8ckwm0d8nl3j586s36y"; depends=[ars coda HI]; };
   MiDA = derive2 { name="MiDA"; version="0.1.2"; sha256="144gxsxqljzskxsw5k0y69ix0pxlfvyyznxkjpf2ng4l47pg11z5"; depends=[caret gbm genefilter limma preprocessCore pROC SQN]; };
   MiRKAT = derive2 { name="MiRKAT"; version="1.2.1"; sha256="1ypxs6p8jzd2y5rxbfrr2z1xib6im9i58wvcz4cqcgpw298w7ard"; depends=[CompQuadForm GUniFrac lme4 MASS Matrix mixtools PearsonDS permute quantreg survival]; };
@@ -3011,14 +3038,15 @@ in with self; {
   MiRSEA = derive2 { name="MiRSEA"; version="1.1"; sha256="0jpl6ws5yx1qjzdnip9a37nmvx81az4cbsjm57x613qjpwmg6by3"; depends=[]; };
   MiSPU = derive2 { name="MiSPU"; version="1.0"; sha256="1l6q0fm5z5i6gigr940h8kc5rka08psmhcprp8grmsxk3qy2kply"; depends=[ape aSPU cluster Rcpp RcppArmadillo vegan]; };
   MiST = derive2 { name="MiST"; version="1.0"; sha256="0gqln792gixqfh201xciaygmxbafa0wyv5gpbg9w5zkbbv44wrfk"; depends=[CompQuadForm]; };
-  MicSim = derive2 { name="MicSim"; version="1.0.15"; sha256="0nbrl013i1jz5hsq5a6526rlsp0qvvrbs86md6yrvhh90bsnf65p"; depends=[chron rlecuyer snowfall]; };
+  MicSim = derive2 { name="MicSim"; version="1.1.0"; sha256="0nkprbb9lgnfzl1bj0k4rkd7v8g35cvhl9bqa91q2lc2rimzfl20"; depends=[chron rlecuyer snowfall]; };
   MicroDatosEs = derive2 { name="MicroDatosEs"; version="0.8.2"; sha256="0k0hmi3ciipizmgjw1i5rrsg34yx21s1msn40vc4qc9s1n4wd8dl"; depends=[readr]; };
   MicroMacroMultilevel = derive2 { name="MicroMacroMultilevel"; version="0.4.0"; sha256="1q5cyqr4hdl1wp2isk6p4p084i83kg6hd406wdp1nj9lv5i0xvgw"; depends=[]; };
+  MicroMoB = derive2 { name="MicroMoB"; version="0.0.9"; sha256="1a4abp2mb13dknqb7j0p0ch6insh3q15255zgf84ws5a70wn5rwf"; depends=[abind extraDistr]; };
   MicroNiche = derive2 { name="MicroNiche"; version="1.0.0"; sha256="166ci4crkwnnh05rhs5hyrljgm4cdf7gp0ff8kjxjmd60byw80mz"; depends=[ggplot2 reshape2]; };
   MicroSEC = derive2 { name="MicroSEC"; version="1.1.3"; sha256="1imdxm15f792xw5kc9lhry5jsw739j6y3f2fs64abj22hqxfwypi"; depends=[BiocGenerics Biostrings data_table dplyr GenomeInfoDb GenomicAlignments gtools magrittr openxlsx R_utils Rsamtools stringr tidyr]; };
-  MicrobiomeStat = derive2 { name="MicrobiomeStat"; version="1.0"; sha256="1pi1lvy6lqdm3niw69p6j86z1nbix4bc1846rz06qfss0s5yas0q"; depends=[foreach ggplot2 ggrepel lmerTest MASS Matrix matrixStats modeest statmod]; };
-  Microsoft365R = derive2 { name="Microsoft365R"; version="2.3.2"; sha256="1qc4716mvkfvxwkzjihf00my6y4va3day3lnh5iwpb5k9kgrnhgm"; depends=[AzureAuth AzureGraph curl httr jsonlite mime R6 vctrs]; };
-  MinBAR = derive2 { name="MinBAR"; version="1.1.2"; sha256="099afazil0gfs5yq92clc7ahis5azyvlql4zs7fhp82v9m6b80qj"; depends=[dismo ecospat geosphere lattice latticeExtra maxnet raster rgdal sp]; };
+  MicrobiomeStat = derive2 { name="MicrobiomeStat"; version="1.1"; sha256="1j5sar85a1gksc83pc4ypxwb0c7whxglx069zarphrgqfazcr1m4"; depends=[foreach ggplot2 ggrepel lmerTest MASS Matrix matrixStats modeest phyloseq statmod]; };
+  Microsoft365R = derive2 { name="Microsoft365R"; version="2.3.3"; sha256="17zlkbap7svj7g3jk1jb7582crkfsgh4xka4nmzaj3lzkwwx429k"; depends=[AzureAuth AzureGraph curl httr jsonlite mime R6 vctrs]; };
+  MinBAR = derive2 { name="MinBAR"; version="1.1.3"; sha256="0d0l7sr99kg6s0pxw10zrnwz699kzqaylawymd7kggc3dag9frbx"; depends=[dismo ecospat geosphere lattice latticeExtra maxnet raster rgdal sp]; };
   MinEDfind = derive2 { name="MinEDfind"; version="0.1.3"; sha256="1y0iv92mp7hf14vrj54qd0yvmjrv52jv3vg25kc5q7pml63njkqa"; depends=[ggplot2 gridExtra Iso]; };
   MindOnStats = derive2 { name="MindOnStats"; version="0.11"; sha256="13995v4n0hfb53w02jk81pl7nazkvqwwv87y1sr99jr9ppzc08mz"; depends=[]; };
   Miney = derive2 { name="Miney"; version="0.1"; sha256="0sgln0653rgglinr8rns5s2az0lgyp9slmynyhhhs265grkhrfj0"; depends=[]; };
@@ -3041,7 +3069,7 @@ in with self; {
   MixedTS = derive2 { name="MixedTS"; version="1.0.4"; sha256="0gwcg115idbcm5llgzqsygvqgshq8dywawxkaddsmw4sbbhj4555"; depends=[MASS]; };
   MixfMRI = derive2 { name="MixfMRI"; version="0.1-2"; sha256="1ngqn2chjii94f7413ydbzmws083mp0hc5ys3lwi2mgqqmpi3pah"; depends=[EMCluster fftw MASS Matrix MixSim RColorBrewer]; };
   MixtureInf = derive2 { name="MixtureInf"; version="1.1"; sha256="12qcflmrpzh4w5b40xq5qicks6p0cwqpf5k84pwabkjb168afddv"; depends=[quadprog]; };
-  MixtureMissing = derive2 { name="MixtureMissing"; version="1.0.0"; sha256="1sqpv8ysn0y28x8pbz75lqc066sdbpmfmxzb1q39aa83siysc06q"; depends=[cluster ContaminatedMixt GGally ggplot2 mnormt mvtnorm rootSolve]; };
+  MixtureMissing = derive2 { name="MixtureMissing"; version="1.0.2"; sha256="03ql591891jvhycagkjl5gj83mjlrv5m95kpgkgph8gim71q2di1"; depends=[cluster ContaminatedMixt MASS mnormt mvtnorm rootSolve]; };
   MixtureRegLTIC = derive2 { name="MixtureRegLTIC"; version="1.0.0"; sha256="052gyk4gqv49fa2rxbxnib29f1vjxiw4q8llkfhsv8kw5pw38699"; depends=[]; };
   MoBPS = derive2 { name="MoBPS"; version="1.6.64"; sha256="12czwx362pn0crj047rqb9ambl1fw73k474i7vcxhz53kbw21wj0"; depends=[]; };
   MoEClust = derive2 { name="MoEClust"; version="1.4.2"; sha256="13bc5ypq95f56mimqgmvvzhbsgm2j6j6bwigk6kx68l2qvzj12vl"; depends=[lattice matrixStats mclust mvnfast nnet vcd]; };
@@ -3071,11 +3099,11 @@ in with self; {
   MonteCarlo = derive2 { name="MonteCarlo"; version="1.0.6"; sha256="1jwq3by8zfy6sbzahcj5l0vicqn7yyqpb7xhfsaymfspm7xyq6pj"; depends=[abind codetools reshape rlecuyer snow snowfall]; };
   MonteCarloSEM = derive2 { name="MonteCarloSEM"; version="0.0.3"; sha256="1kamhwqw3px5l4pz50zksfsfhjv03wc31xi8v6fl6h9xxmvw52gd"; depends=[lavaan Matrix]; };
   Morpho = derive2 { name="Morpho"; version="2.9"; sha256="1gsns3ab9x24czl53p15cja9vw881iwnhc0ix50i8vzkx184wsib"; depends=[bezier colorRamps doParallel foreach jsonlite MASS Matrix Rcpp RcppArmadillo rgl Rvcg]; };
-  MorphoTools2 = derive2 { name="MorphoTools2"; version="0.9.1.1"; sha256="0s5ll7lrhrvkj9vig90j33q1kfskzwqiqmf8cjd22r6dlajp9gg2"; depends=[ade4 candisc car class ellipse fpc heplots MASS plot3D StatMatch vegan]; };
+  MorphoTools2 = derive2 { name="MorphoTools2"; version="0.9.1.2"; sha256="0ddjk39jz46xnig1b6iv5qdpxmwh76i4axfchghiy17hbpacbdlg"; depends=[ade4 candisc car class ellipse heplots MASS plot3D StatMatch vegan]; };
   MorseGen = derive2 { name="MorseGen"; version="1.2"; sha256="1kq35n00ky70zmxb20g4mwx0hn8c5g1hw3csmd5n6892mbrri8s9"; depends=[]; };
   MortCast = derive2 { name="MortCast"; version="2.6-1"; sha256="0w7fd5n3wafix4l29svnja0l675pdpj64vgh113mzsn08h3kpwid"; depends=[wpp2017]; };
   MortalityGaps = derive2 { name="MortalityGaps"; version="1.0.0"; sha256="0nfm8xa7gnshrl8hsvmvr3za8nbppp7f7i5h4ni204w7xwvh8jxc"; depends=[crch forecast MASS pbapply]; };
-  MortalityLaws = derive2 { name="MortalityLaws"; version="1.8.5"; sha256="1kkf2blrv68s7rjcmcq6nbaxlizxqnrsy69cqk077ga0arlzjq1i"; depends=[minpack_lm pbapply RCurl tidyr]; };
+  MortalityLaws = derive2 { name="MortalityLaws"; version="1.9.3"; sha256="12sfc4lhp01caknpw25gmchh8gv2wjlgpq0lby7iayl9lnsg1x92"; depends=[minpack_lm pbapply RCurl tidyr]; };
   MortalityTables = derive2 { name="MortalityTables"; version="2.0.3"; sha256="0ldj8gq5xpbxkjcvdysrcq7a0xv7caz1rc8v6bpn5hkr866lqnmw"; depends=[ggplot2 pracma scales]; };
   MplusAutomation = derive2 { name="MplusAutomation"; version="1.0.0"; sha256="0hkz76gmmz1cpsjmz7jscwvdc8aar1g9468b5cr21zyl5slna0cg"; depends=[boot checkmate coda data_table digest fastDummies ggplot2 gsubfn lattice pander plyr rlang texreg xtable]; };
   MplusTrees = derive2 { name="MplusTrees"; version="0.1.1"; sha256="1s119p1fgr27rkh671zpzbfnd368m0s1607r8xwgjm0y5ncxwkv7"; depends=[MplusAutomation nlme rpart rpart_plot]; };
@@ -3098,8 +3126,9 @@ in with self; {
   MultiATSM = derive2 { name="MultiATSM"; version="0.0.1"; sha256="0p35is4kgpwxhmnmjsmphgy33dbj4f4jmysjmi75dbxbns129lig"; depends=[ggplot2 hablar pracma wrapr zoo]; };
   MultiBD = derive2 { name="MultiBD"; version="0.2.0"; sha256="1qjfr8hx8sr5m8370yzi09r8jnh3i6907wzj3v4h83vmjh81db71"; depends=[BH Rcpp RcppParallel]; };
   MultiCNVDetect = derive2 { name="MultiCNVDetect"; version="0.1-1"; sha256="0mfisblw3skm4y8phfg4wa0rdchl01wccarsq79hv63y78pfhh13"; depends=[]; };
-  MultiFit = derive2 { name="MultiFit"; version="1.0.1"; sha256="1hy2xsmdcsn4jwa06ffymhhd4prxjnqw0jxl77sxq8yb1fc2vk64"; depends=[data_table Rcpp RcppArmadillo]; };
+  MultiFit = derive2 { name="MultiFit"; version="1.1.1"; sha256="086bnqp61mfanrhi7dqaq5j2ddg3rfiyms0f5wj34svcjal9wjvc"; depends=[data_table Rcpp RcppArmadillo]; };
   MultiGHQuad = derive2 { name="MultiGHQuad"; version="1.2.0"; sha256="00prkn5awxrh365j1jz312har1x4p8v52a0sqfy00pqr44ncmqqq"; depends=[fastGHQuad Matrix mvtnorm]; };
+  MultiGroupO = derive2 { name="MultiGroupO"; version="0.1.0"; sha256="18d7wfsfyqzrjicp2grfgh582pr6a1fqx7xbnqaj93x3w30pxscg"; depends=[cowplot expm ggplot2 ggrepel gplots gridExtra mgm mvtnorm plsgenomics qgraph rlist]; };
   MultiHorizonSPA = derive2 { name="MultiHorizonSPA"; version="1.0.0"; sha256="04361yz2l3zwg30m5i3zd6lsclxis9shy9hi17x4s62hskjav12h"; depends=[matlab]; };
   MultiJoin = derive2 { name="MultiJoin"; version="0.1.1"; sha256="0cfk6yc5jagj9y8xybw6yg0yph4zah2vzaxv0384ad6r0r3x3nm8"; depends=[]; };
   MultiKink = derive2 { name="MultiKink"; version="0.1.0"; sha256="0vi629mjmyrh03g3kx4vl47s52bggdxbq2wrdcf892g7xasbmv2b"; depends=[MASS quantreg]; };
@@ -3125,7 +3154,7 @@ in with self; {
   MulvariateRandomForestVarImp = derive2 { name="MulvariateRandomForestVarImp"; version="0.0.2"; sha256="0gbr44rwwb4nq2s4ix1ckfdjahsfx9sjfbww5wjcm1v68w6bk5ca"; depends=[MASS MultivariateRandomForest]; };
   MvBinary = derive2 { name="MvBinary"; version="1.1"; sha256="1lrrxvphxv4gmlazx67q4bck9373nqylqgkwcjzwb52291a3zyiv"; depends=[mgcv]; };
   My_stepwise = derive2 { name="My.stepwise"; version="0.1.0"; sha256="10wka6kzk8krwdsyjfnn78dfqflq4zg3vjkk0i2ywjm5vap6aqa5"; depends=[car lmtest survival]; };
-  N2R = derive2 { name="N2R"; version="1.0.0"; sha256="1pxxj8s0ybydsm1x9s4841arqwhxvi1b6nyd8j7gs4b08b9n6yxm"; depends=[Matrix Rcpp RcppEigen RcppSpdlog]; };
+  N2R = derive2 { name="N2R"; version="1.0.1"; sha256="12bv7xx6j6222qgpv6g61i68017fz0x6fjg9a9k5yhgw3zk05hpk"; depends=[Matrix Rcpp RcppEigen RcppSpdlog]; };
   NACHO = derive2 { name="NACHO"; version="1.1.0"; sha256="0ji9kcfbnsrn6h4p0y0ly5nwyfwh3y01wm80a7syg4mjj0nd4z0g"; depends=[cli crayon dplyr ggbeeswarm ggforce ggplot2 ggrepel knitr magrittr purrr rlang rmarkdown rstudioapi scales sessioninfo shiny shinyWidgets tibble tidyr]; };
   NADA = derive2 { name="NADA"; version="1.6-1.1"; sha256="0jp4mqr77cx7q5lff84s6wb0dwjy9mi0jyhbjc5fsx50bdczc3v7"; depends=[survival]; };
   NADA2 = derive2 { name="NADA2"; version="1.0.1"; sha256="01x3ylrp3kizq9aa0wyaj4jbyr4si2vi8rc3b8r0bllnsl2ia2ix"; depends=[cenGAM coin EnvStats fitdistrplus Kendall mgcv multcomp NADA perm survival survminer vegan]; };
@@ -3133,16 +3162,17 @@ in with self; {
   NAEPirtparams = derive2 { name="NAEPirtparams"; version="1.0.0"; sha256="0qhfmkhi38z27ky3xbkvra5r6lw3kj9p3xrblm9j2657rj9kxc9j"; depends=[]; };
   NAEPprimer = derive2 { name="NAEPprimer"; version="1.0.1"; sha256="19p1livdnayfcl88f8r9x1vg30x522q8lgx66pfgwpkxjzvrqa2l"; depends=[]; };
   NAM = derive2 { name="NAM"; version="1.7.3"; sha256="12d2yjl0af2ailvwk30fswalx1wzyj500qbrhiczsg1vr4rcqhkh"; depends=[Rcpp]; };
-  NAP = derive2 { name="NAP"; version="1.0"; sha256="00ym7pqzksc9263mv98cxzi3d0qg5pbyfwyznl648fdca2fqjlay"; depends=[doParallel foreach]; };
+  NAP = derive2 { name="NAP"; version="1.1"; sha256="19j1ngl92vqjqsk893zfsgk6fard2aswcm1553kh9fzv2idvr36s"; depends=[doParallel foreach]; };
   NB = derive2 { name="NB"; version="0.9"; sha256="1gh42z7lp6g09fsfmikxqzyvqp2874cx3a6vr96w43jfwmgi2diq"; depends=[]; };
   NB_MClust = derive2 { name="NB.MClust"; version="1.1.1"; sha256="0hzmrszxgx3pylf9pjjwk2ryjhwz7naxxkhcqpnfjv337vv5dg0i"; depends=[MASS]; };
   NBAloveR = derive2 { name="NBAloveR"; version="0.1.3.3"; sha256="0k1f14srzks26x5wnhj8mrfwcq7wgbywcklr804lxsh04h4d6pwp"; depends=[dplyr magrittr tidyr]; };
+  NBBDesigns = derive2 { name="NBBDesigns"; version="1.0.0"; sha256="0fm7i6cvwy7b29d1ig3s7akpb2kqf5xm5nqarhwmy79c1kll9jyb"; depends=[MASS]; };
   NBBttest = derive2 { name="NBBttest"; version="1.0.0"; sha256="165j4smwqz4yra3946nd7ssgfwf7wjpysn22yj0bml36qk9y6vs7"; depends=[gplots gtools]; };
   NBDdirichlet = derive2 { name="NBDdirichlet"; version="1.3"; sha256="1657mqwn5i1b0g0gva387zl02vpymn98f71b0p7i7xv033mqnpqw"; depends=[]; };
   NBDesign = derive2 { name="NBDesign"; version="2.0.0"; sha256="0593rh2lf8wlxzjmwh2xx3jsb6miqx0wipqw9di10cbxbf6binb1"; depends=[MASS PWEALL]; };
   NBLDA = derive2 { name="NBLDA"; version="1.0.0"; sha256="0sw84h1mgzhr6vmvxi4smk57r4gplg3kxq38gydcy6ckv2g8nzz2"; depends=[ggplot2]; };
   NBPSeq = derive2 { name="NBPSeq"; version="0.3.0"; sha256="0l4ylxhs2k9ww21jjqs67fygk92avdchhx2y1ixzl7yr2yh1y9by"; depends=[qvalue]; };
-  NBR = derive2 { name="NBR"; version="0.1.3"; sha256="1bh1xwr80qz7qvk3m5ilk9ci03wmjb1bm8qq8kzbg35six6n4har"; depends=[nlme]; };
+  NBR = derive2 { name="NBR"; version="0.1.4"; sha256="1dkrknml2nkgya5hm4iai6ivxp4jmr8s794xiqcm7ih6mk8a0wj0"; depends=[nlme]; };
   NBShiny = derive2 { name="NBShiny"; version="0.1.0"; sha256="0hcmdhj26hc3c8d5nb6yb7amv0rbdxywima0l0jqkxipx56idlcx"; depends=[caret dplyr e1071 rhandsontable rmarkdown shiny]; };
   NBShiny2 = derive2 { name="NBShiny2"; version="0.1.0"; sha256="0w4f19av8zl220zq3flmlqn86ivikclnsnkd7bc1wafhr12hmygp"; depends=[caret dplyr e1071 rhandsontable rmarkdown shiny]; };
   NBShiny3 = derive2 { name="NBShiny3"; version="0.1.0"; sha256="1p0n4jpzdaqwpidxairwpgc8qrdvr1r7cammpgnzc6a9ar2hcw1g"; depends=[caret dplyr e1071 rhandsontable rmarkdown shiny]; };
@@ -3189,10 +3219,10 @@ in with self; {
   NMMIPW = derive2 { name="NMMIPW"; version="0.1.0"; sha256="13mv6dpmlldqxkxq6kiydsfwyys5w7i8ws80a5l3377i5chdqi2c"; depends=[lava nloptr numDeriv]; };
   NMOF = derive2 { name="NMOF"; version="2.5-0"; sha256="1ix3jkhivq2xmyn7dc216cp3q2sgd6d1f9n0rds2zil6dp418jgl"; depends=[]; };
   NMVANOVA = derive2 { name="NMVANOVA"; version="1.1.0"; sha256="1jlqyg5vn7j8srvifjghd5a7820kadl8kbwib4qxalrfprq81h8p"; depends=[]; };
-  NMdata = derive2 { name="NMdata"; version="0.0.9"; sha256="0ldab8brzhxpjgswh9fgla9xb2k703vf8syd5im3ixjz6ngmkn2m"; depends=[data_table]; };
+  NMdata = derive2 { name="NMdata"; version="0.0.11"; sha256="0yzjrx885zq7pnajm3s2nxjcza8pcxbn0ni60bwvr85havcs1wpj"; depends=[data_table]; };
   NMproject = derive2 { name="NMproject"; version="0.6.7"; sha256="0sri85n5i5w56bmbcg3yca3r5lh9j59gwwjidwhvxvxbg6czw6n7"; depends=[crayon diffobj dplyr DT dygraphs git2r htmltools lifecycle magrittr miniUI reshape2 rlang rmarkdown rprojroot rstudioapi shiny stringr tidyr usethis]; };
   NNMIS = derive2 { name="NNMIS"; version="1.0.1"; sha256="1w2i4xlx249p589yqdgbx1ra406ycxw729vbk1lqadbn71m6blaz"; depends=[survival]; };
-  NNS = derive2 { name="NNS"; version="0.8.3"; sha256="0pg848qdf2sg6qldym3wxxi60bngwb63gagx0xw4wlwr15p0i02h"; depends=[caret data_table doParallel dtw dynlm meboot Quandl Rfast rgl stringr tdigest tseries zoo]; };
+  NNS = derive2 { name="NNS"; version="0.8.4.1"; sha256="0dlsdmbrcgiz16vj2kljcw1h7ds63mij2nqrczqfl3fkxsfkp5ir"; depends=[caret data_table doParallel dtw dynlm meboot Quandl Rfast rgl stringr tdigest tseries zoo]; };
   NNTbiomarker = derive2 { name="NNTbiomarker"; version="0.29.11"; sha256="0sqlf7vzhpmq2g98c2qlrcqn3ba4ycfxbczgcjiqqhqsvgkpacc1"; depends=[magrittr mvbutils shiny stringr xtable]; };
   NNbenchmark = derive2 { name="NNbenchmark"; version="3.2.0"; sha256="086smk3xy6p6ianw41h3gx806q7h28v1dg9d3khsrwyyf9gn8xyp"; depends=[pkgload R6]; };
   NO_PING_PONG = derive2 { name="NO.PING.PONG"; version="0.1.4"; sha256="10q5h9kafni3wlnn1gdsgd9a90km5snrjz1nr0ilafmdvw9vg6v1"; depends=[MASS MCMCglmm metafor]; };
@@ -3230,13 +3260,13 @@ in with self; {
   NestedCategBayesImpute = derive2 { name="NestedCategBayesImpute"; version="1.2.1"; sha256="15j54whvhqy26v1iikpk8ys75d7m5b188ggdzrlgzhjg0f9j45fl"; depends=[coda dplyr Rcpp RcppParallel]; };
   NetCluster = derive2 { name="NetCluster"; version="0.2"; sha256="0aby8kfniw07jap795cwk69z83p45q5rap73zp1qbmkm3qcb31g4"; depends=[sna]; };
   NetComp = derive2 { name="NetComp"; version="1.6"; sha256="11rxpdihn575diqfvc7yvxhlr2c19fig4v4a5c6jhqyfdsd60fsv"; depends=[gdata]; };
+  NetDA = derive2 { name="NetDA"; version="0.1.0"; sha256="01wrngk0cdlz3qf1kj2z75p2b4q0lhkpyjgaskn6vldsdgh94wri"; depends=[glasso]; };
   NetData = derive2 { name="NetData"; version="0.3"; sha256="1jf05zwy0c6gmm7kvxlwvai61bz4wpsw7cl0h4i21ipzn1rqxmqj"; depends=[]; };
   NetExplorer = derive2 { name="NetExplorer"; version="0.0.2"; sha256="0k8jhl0p2dp45lx4h77r0bkcff8vn1f9gvr475cshpmyipziiwnq"; depends=[]; };
-  NetFACS = derive2 { name="NetFACS"; version="0.3.0"; sha256="1pkwgszjcgqbn397nlmr2blngbf6xbhwkr5qzlnhm142vixknxha"; depends=[arrangements doParallel dplyr ggplot2 ggraph igraph magrittr patchwork picante Rfast rlang tibble tidygraph tidyr]; };
+  NetFACS = derive2 { name="NetFACS"; version="0.3.1"; sha256="0z4smbh8dcb0nffyzn0yyndzniw6wh026hvdj18bz5qqv32pcq1b"; depends=[arrangements doParallel dplyr ggplot2 ggraph igraph magrittr patchwork picante Rfast rlang tibble tidygraph tidyr]; };
   NetIndices = derive2 { name="NetIndices"; version="1.4.4"; sha256="0ydivbri8l8zkxi18ghj9h66915scyhca8i9mcyq4b06mjfigss8"; depends=[MASS]; };
-  NetLogoR = derive2 { name="NetLogoR"; version="0.3.9"; sha256="035nsxgzh7dg9bjcwqbf5228ph90ff629di4ff3pdvr40jki60f1"; depends=[abind car CircStats data_table Hmisc matrixStats plyr quickPlot raster rgeos sp SpaDES_tools]; };
   NetMix = derive2 { name="NetMix"; version="0.2.0"; sha256="097cyk0lf3h4v3ff0icqj7a80yvs06damw1sc4hdqf2f21d6qihh"; depends=[clue gtools igraph lda MASS Matrix poisbinom Rcpp RcppArmadillo]; };
-  NetOrigin = derive2 { name="NetOrigin"; version="1.1-2"; sha256="0jm1iqv3ljplf38zxrxh4hjvz30m7i18vizr9pcrx010fcgqxqhp"; depends=[colorspace corpcor Hmisc igraph mvtnorm]; };
+  NetOrigin = derive2 { name="NetOrigin"; version="1.1-4"; sha256="061hfllic8z3ps4znk3c7qjhzqdifk99ikvczxacih5hw86a9j4m"; depends=[colorspace corpcor Hmisc igraph mvtnorm plyr]; };
   NetPreProc = derive2 { name="NetPreProc"; version="1.1"; sha256="0r51dqymf2nqm86py4zwdlf7qf120j0bg9r6a9c0gsyyijh4z40p"; depends=[graph]; };
   NetRep = derive2 { name="NetRep"; version="1.2.4"; sha256="1swlb2k9bc7whvslxbklz864j9ynvna73hvq5rhv61cv5vy05ksd"; depends=[abind BH foreach RColorBrewer Rcpp RcppArmadillo RhpcBLASctl statmod]; };
   NetSci = derive2 { name="NetSci"; version="0.1.2"; sha256="187gg3h8wkcvh9wrrjgyaqja0fib3xks9vr3z1jsr70i2jdx7r0f"; depends=[binr BiRewire CoDiNA cubature dplyr igraph magrittr Rfast wTO]; };
@@ -3251,8 +3281,8 @@ in with self; {
   NetworkReg = derive2 { name="NetworkReg"; version="1.0"; sha256="0ymbigvl1n5348g77jqs1bcda00kdqrm7zifc0ibh5mwsrx6cmds"; depends=[Matrix randnet RSpectra]; };
   NetworkRiskMeasures = derive2 { name="NetworkRiskMeasures"; version="0.1.4"; sha256="1121ma43jxc4p9rw0sc8w32shf9xrmn5qd1xsqgzr8diymc49zhg"; depends=[dplyr expm ggplot2 Matrix]; };
   NetworkToolbox = derive2 { name="NetworkToolbox"; version="1.4.2"; sha256="026gizms1xsmlpzgssgqi2y5lfhvvbqkwy5q3a0d4xvzbmyan3y7"; depends=[corrplot doParallel fdrtool foreach igraph IsingFit MASS pbapply ppcor psych pwr qgraph R_matlab]; };
-  NeuralNetTools = derive2 { name="NeuralNetTools"; version="1.5.2"; sha256="0d73rbp8v0k0j8dp4yigan7krhglx6qfbadvyg7nsj67xc00vbfd"; depends=[ggplot2 nnet reshape2 scales tidyr]; };
-  NeuralSens = derive2 { name="NeuralSens"; version="0.2.2"; sha256="17i4dyd487wnvw1zj3jciw684spc62hmjxkcy5scjbpvjv1ymn4y"; depends=[caret fastDummies ggforce ggnewscale ggplot2 gridExtra Hmisc NeuralNetTools reshape2 scales stringr]; };
+  NeuralNetTools = derive2 { name="NeuralNetTools"; version="1.5.3"; sha256="1q3q3vc1f0lglyx5ydv5nx6ywpvz50a9w7cql2j7cjvh4pd3pibs"; depends=[ggplot2 nnet reshape2 scales tidyr]; };
+  NeuralSens = derive2 { name="NeuralSens"; version="0.2.3"; sha256="11m2bpkdn2p7fay3p208jsifad470aq4paagyh335nzgsmp47jgb"; depends=[caret fastDummies ggforce ggnewscale ggplot2 gridExtra Hmisc magrittr NeuralNetTools reshape2 scales stringr]; };
   Newdistns = derive2 { name="Newdistns"; version="2.1"; sha256="1b5njkzj8b0wrvvfv904di0933k9d320gadmfm5zl6pzdp34bh1i"; depends=[AdequacyModel]; };
   NewmanOmics = derive2 { name="NewmanOmics"; version="1.0.4"; sha256="1ny1w4kwdgfzm4jsj6mf3k0c10bwzwz4gmpb5vg3qffddly9wfaz"; depends=[oompaBase]; };
   NicheBarcoding = derive2 { name="NicheBarcoding"; version="1.0"; sha256="16jkznc4624ww7vwid6f3m90wm2ds2c7zf1j1sw16dyrqmlyk9w3"; depends=[ape dismo e1071 maps pROC randomForest raster rJava spider vegan]; };
@@ -3262,6 +3292,7 @@ in with self; {
   NlcOptim = derive2 { name="NlcOptim"; version="0.6"; sha256="121njnbfww6qijbc9x6prw35glyzm18di01qvvjn62z4kgq4f7vi"; depends=[MASS quadprog]; };
   NlinTS = derive2 { name="NlinTS"; version="1.4.5"; sha256="045gqsy9q64mh10swm9a1bh8jvr41rjks3024cc195lad6jhj441"; depends=[Rcpp Rdpack timeSeries]; };
   Nmisc = derive2 { name="Nmisc"; version="0.3.7"; sha256="1k43cp63h96xv3f28fpvw7p2yh3lv1jbhq9bdp3yk6cg0870vya7"; depends=[dplyr magrittr purrr rappdirs rlang stringr tibble tidyselect]; };
+  Nmix = derive2 { name="Nmix"; version="1.2.1"; sha256="1jjzwcrb41m0jjfcylcgqv53psw88kmm3kq13n5c1s2nl3isk1i8"; depends=[]; };
   NobBS = derive2 { name="NobBS"; version="0.1.0"; sha256="0i0jyny1c29knpcl4szqwyxvdc3dqjfk5lf2xvwjdx3qas92w03l"; depends=[coda dplyr magrittr rjags]; };
   NoiseFiltersR = derive2 { name="NoiseFiltersR"; version="0.1.0"; sha256="0y90si8f5hsi273g10hw700r72la30hwqlwg59gaq76wqlkm8j0p"; depends=[caret e1071 kknn MASS nnet randomForest rJava rpart RWeka]; };
   NominalLogisticBiplot = derive2 { name="NominalLogisticBiplot"; version="0.2"; sha256="0m9442d9i78x57gdwyl3ckwp1m6j27cam774zkb358dw5nmwxbmz"; depends=[gmodels MASS mirt]; };
@@ -3271,7 +3302,7 @@ in with self; {
   NonProbEst = derive2 { name="NonProbEst"; version="0.2.4"; sha256="1w2ihnwwdnxlnphyd26261lsxaknpi51c15rmn9m183djz9gsvdv"; depends=[caret e1071 glmnet Matrix sampling]; };
   NonlinearTSA = derive2 { name="NonlinearTSA"; version="0.5.0"; sha256="1z3fqw19kksadc31f1idrj37gzajrx91pprd07xdar7j6hddf4sn"; depends=[car minpack_lm tsDyn]; };
   NonpModelCheck = derive2 { name="NonpModelCheck"; version="4.1"; sha256="0yd30gy1145zizdvy2zh73ppbiz3awg8j1h7j6iabqxy61h0llnw"; depends=[dr]; };
-  Nonpareil = derive2 { name="Nonpareil"; version="3.3.4"; sha256="1hhshcggfv92ll5zqh8hd3pldp07n0684yh1252z2jv2vbl87v3z"; depends=[]; };
+  Nonpareil = derive2 { name="Nonpareil"; version="3.4.0"; sha256="130aags0pgry0d34mj1n4lavc8q43hls7c3jhmkr8k6vyg3ij372"; depends=[]; };
   NormExpression = derive2 { name="NormExpression"; version="0.1.0"; sha256="1j4q8mb70ig40acfd9kfy12vxdvq3qpf53rxh47kkw8mywnd0449"; depends=[]; };
   NormPsy = derive2 { name="NormPsy"; version="1.0.8"; sha256="13w4xjdjjg9mzmfaflc0gp306kazyvxshpj4vnl6gym3vpi9qax8"; depends=[lcmm]; };
   NormalBetaPrime = derive2 { name="NormalBetaPrime"; version="2.2"; sha256="03il9c57dbwgw38rzckkk0wkc37z8kfdrb7b4k471gm7mqhsm3m3"; depends=[GIGrvg glmnet HyperbolicDist MASS Matrix pracma pscl truncnorm]; };
@@ -3292,6 +3323,7 @@ in with self; {
   ODB = derive2 { name="ODB"; version="1.2.1"; sha256="0frkbl99ilpmppm4fm97lbkqhmjgcwlz9j5vh5nzzcsxrh8qwicn"; depends=[DBI RJDBC]; };
   ODEnetwork = derive2 { name="ODEnetwork"; version="1.3.2"; sha256="0wicp0xxqq3jl0kjhc26iqpk8rwa9nv2aiwf18pkgnqxbyw6lgnp"; depends=[checkmate deSolve]; };
   ODEsensitivity = derive2 { name="ODEsensitivity"; version="1.1.2"; sha256="0yddv5h3y0xfviqjgrbixawd00jc1rh9ngckfqka5j855vhchh66"; depends=[checkmate deSolve ODEnetwork sensitivity]; };
+  ODMeans = derive2 { name="ODMeans"; version="0.1.0"; sha256="1f8difw0npidsnn9sis8pf73i8p4p5cl63g4v02jaxmlmm184wvf"; depends=[geosphere ggplot2]; };
   ODS = derive2 { name="ODS"; version="0.2.0"; sha256="0i7giibass7hadvv6mb7k9xrykgfss57jmm6gpbym8qcywhzq4ny"; depends=[cubature survival]; };
   OData = derive2 { name="OData"; version="0.6"; sha256="10r4kfhdabramjmkgc4fl0bljaiqbvc7rq4byas7q8cmji2czw6f"; depends=[RJSONIO XML]; };
   ODataQuery = derive2 { name="ODataQuery"; version="0.5.3"; sha256="058j3rc5kh134ndsxn5gck2xh6llrs73cyxpa5z8zkmsw9am22qj"; depends=[httr jsonlite R6 rlang]; };
@@ -3308,12 +3340,13 @@ in with self; {
   OOS = derive2 { name="OOS"; version="1.0.0"; sha256="0jnj5y26rv0i2561mywcxb7aavmpq16ippq6rblb8jiqjd05nhib"; depends=[caret dplyr forecast furrr future ggplot2 glmnet imputeTS lmtest lubridate magrittr purrr sandwich tidyr vars xts zoo]; };
   OOmisc = derive2 { name="OOmisc"; version="1.2"; sha256="09vaxn5czsgn6wpr27lka40kzd76jzqgqxavf26ms3m9kkdf83g4"; depends=[]; };
   OPDOE = derive2 { name="OPDOE"; version="1.0-10"; sha256="04z944i4f3i0cjnxh32wf7n2dfyynnvkz4lxdkn90flam2np58yv"; depends=[crossdes gmp mvtnorm nlme orthopolynom polynom]; };
-  OPI = derive2 { name="OPI"; version="2.9"; sha256="0nkdzl4c6k77phiig3mjwp9dkyarcr4k07mxc6ff72yr776s2pma"; depends=[]; };
+  OPI = derive2 { name="OPI"; version="2.10.0"; sha256="05vxk30hrbikfrd07g39qvxzp9zl1dlgi6fqblwxpyhnp3pn4ckf"; depends=[]; };
   ORCI = derive2 { name="ORCI"; version="1.1"; sha256="0xy5lvz2scz06fphjyhqbdhp4bizmv87a8xykp9dbgx8b4ssnqgz"; depends=[BiasedUrn BlakerCI PropCIs]; };
   ORCME = derive2 { name="ORCME"; version="2.0.2"; sha256="1pm8ajj24qqj2fir0gjzq5f4mfpl1cnj6fm2z5qg6g3sbnm57ayk"; depends=[Iso]; };
   ORDER2PARENT = derive2 { name="ORDER2PARENT"; version="1.0"; sha256="04c80vk6z227w6qsnfls89ig4vqyiiymdarhq1pxa0gpr8j2ssx5"; depends=[Matrix]; };
   ORIClust = derive2 { name="ORIClust"; version="1.0-1"; sha256="1biddddyls2zsg71w4innxl0ckfb80q2j9pmd56wvbc0qnbm0w3q"; depends=[]; };
-  ORION = derive2 { name="ORION"; version="1.0.2"; sha256="04wlrn9w2wmm8cz1ifjxdv00iy4r5ghk3syq1d5c350bisr3fkrz"; depends=[doParallel e1071 foreach igraph knitr randomForest rmarkdown TunePareto]; };
+  ORION = derive2 { name="ORION"; version="1.0.3"; sha256="0zzlvx1yd3hy8dy7nbmkj7d2k6609ys91s894qcgx5n7jirqviy3"; depends=[doParallel e1071 foreach igraph knitr randomForest rmarkdown TunePareto]; };
+  ORKM = derive2 { name="ORKM"; version="0.0.0.3"; sha256="12pgiwnay2fgi6wdx4a4m1x2kaqw9jgdy2lnvh4r9x4rldz1skjb"; depends=[MASS Matrix]; };
   ORMDR = derive2 { name="ORMDR"; version="1.3-2"; sha256="0y7b2aja3zvsd6lm7jal9pabcfxv16r2wh0kyzjkdfanvvgk3wmm"; depends=[]; };
   ORTSC = derive2 { name="ORTSC"; version="1.0.0"; sha256="0byja1gi44ymn68cfai8apcimlxmnflqr1pj8k4y7l8lqd3fyz60"; depends=[googleAuthR googleCloudVisionR]; };
   ORdensity = derive2 { name="ORdensity"; version="1.0"; sha256="1g9d85dyfhlqmwsigdn64hifasbvw70g3wpph2h9v2ksvia0cd31"; depends=[cluster distances doParallel doRNG foreach plyr Rfast]; };
@@ -3356,10 +3389,10 @@ in with self; {
   OpVaR = derive2 { name="OpVaR"; version="1.2"; sha256="1923p60yzh8fycwl1fwy01r7ml5yx0kx01ckhgii7slm4cachf5f"; depends=[actuar evmix MASS pracma ReIns tea truncnorm VineCopula]; };
   OpasnetUtils = derive2 { name="OpasnetUtils"; version="1.3"; sha256="0mmn4dpk1wl8slg55xzhpk7jdwhkrka53rwmrsr73sikkh3mcyfn"; depends=[digest ggplot2 httpRequest igraph plyr RCurl reshape2 rgdal rjson sp triangle xtable]; };
   OpenCL = derive2 { name="OpenCL"; version="0.2-2"; sha256="0gxzda615f67nbljancb8kixzdzkjsy8i0345mlnmlr8kqv4qyhw"; depends=[]; };
-  OpenImageR = derive2 { name="OpenImageR"; version="1.2.0"; sha256="161bic7vjknv0hnf8qkkwqbxjcb9mhg62kp7dqrxxrgmgcvazb6g"; depends=[jpeg png R6 Rcpp RcppArmadillo shiny tiff]; };
+  OpenImageR = derive2 { name="OpenImageR"; version="1.2.1"; sha256="16c80b62f2cinvhr5v3rdhkx2s69nvjq25szbnj5ipky31ap5aif"; depends=[jpeg png R6 Rcpp RcppArmadillo shiny tiff]; };
   OpenLand = derive2 { name="OpenLand"; version="1.0.2"; sha256="02d1dflcbjvm9hgvsm5gpc3s0n0njf4w3224yqk9nc0i49nw01fi"; depends=[circlize dplyr ggplot2 gridExtra networkD3 raster tidyr]; };
   OpenML = derive2 { name="OpenML"; version="1.10"; sha256="132swv22ymm0wxq8y65y2niq8chmga1mnl1lgn6m3cgljvwad47r"; depends=[backports BBmisc checkmate curl data_table digest httr jsonlite memoise stringi XML]; };
-  OpenMx = derive2 { name="OpenMx"; version="2.19.8"; sha256="0q37mwxqhgdi05rwdfwfapgazfp541xsvw3yskf21lv11y2yjjyb"; depends=[BH digest lifecycle MASS Matrix Rcpp RcppEigen RcppParallel rpf StanHeaders]; };
+  OpenMx = derive2 { name="OpenMx"; version="2.20.3"; sha256="1jv22mldcxzbk0karwiih909sx2z139l2588a86ifj83fah7f36s"; depends=[BH digest lifecycle MASS Matrix Rcpp RcppEigen RcppParallel rpf StanHeaders]; };
   OpenRepGrid = derive2 { name="OpenRepGrid"; version="0.1.12"; sha256="02p9b2y99z9yrrm2pl86p0yqwah0yjic2wdcd4k0mhccimmmkaip"; depends=[abind colorspace GPArotation openxlsx plyr psych pvclust rgl stringr XML]; };
   OpenRepGrid_ic = derive2 { name="OpenRepGrid.ic"; version="0.5.1"; sha256="06yy2c64lrqj6h36swbxqsmphsglynxlbb76s5rc79d1627hsmdc"; depends=[dplyr DT formattable igraph magrittr openxlsx RColorBrewer reshape2 rintrojs scales shiny shinyBS shinycssloaders shinydashboard shinydashboardPlus shinyFeedback shinyjs shinythemes shinyWidgets stringr testthat tidyr tidyverse withr]; };
   OpenSpecy = derive2 { name="OpenSpecy"; version="0.9.3"; sha256="1wm720g21x0f79ayrjm46vp08zkapjk78p9b5m2ch11vs9blxkd5"; depends=[digest dplyr hexView hyperSpec osfr rlang shiny signal]; };
@@ -3390,18 +3423,18 @@ in with self; {
   OutlierDM = derive2 { name="OutlierDM"; version="1.1.1"; sha256="0n8iq464ryc3v4wms7cdka39870w5pg29z9v8gmdsp4d9cfsx9v4"; depends=[MatrixModels outliers pcaPP quantreg]; };
   OutliersO3 = derive2 { name="OutliersO3"; version="0.6.3"; sha256="165v572w9bnvay9f0xyxzbhgj1i86ndia4rzqy98i48dfdbdb990"; depends=[cellWise dplyr FastPCS forcats GGally ggplot2 HDoutliers memisc rlist robustbase robustX tidyr]; };
   OutrankingTools = derive2 { name="OutrankingTools"; version="1.0"; sha256="0z7pslkkinn7flc4xwjg0bsfswf8ad4jv9rmglaj3fmjcx9b6wgj"; depends=[igraph]; };
-  OwenQ = derive2 { name="OwenQ"; version="1.0.4"; sha256="18hqwp7cj0fdvvqn0bd2grrp80qsm989mwc6vna4fj75a8xpvcqn"; depends=[BH Rcpp RcppEigen RcppNumerical]; };
+  OwenQ = derive2 { name="OwenQ"; version="1.0.5"; sha256="02x21ab8yifv1lpk45njmvqawnrch0mrnabav414b7qsaihvg364"; depends=[BH Rcpp RcppEigen RcppNumerical]; };
   OxyBS = derive2 { name="OxyBS"; version="1.5"; sha256="11l3gm0jvw993jb13f6kpv77m6z0d1jswscma2v28qzkw053r3dc"; depends=[]; };
   PAC = derive2 { name="PAC"; version="1.1.4"; sha256="0h7381mr3jgzl7fi6v7amgmkf5agpkgy068c6ysgh3adlwsh6gs6"; depends=[dplyr ggplot2 ggrepel igraph infotheo parmigene Rcpp Rtsne]; };
   PACLasso = derive2 { name="PACLasso"; version="1.0.0"; sha256="1qzzymhfsjy8mk0r0xpd5h4wrx4wk8gq3vi6fnawkq5xkrg26rld"; depends=[lars limSolve MASS penalized quadprog]; };
   PACVr = derive2 { name="PACVr"; version="0.9.4"; sha256="0sj5ibqaw452lncxxbm6xkgmmh9ny6hx4b9hppzwglpgk6vvb5f3"; depends=[BiocGenerics Biostrings genbankr GenomicAlignments GenomicRanges IRanges optparse RCircos]; };
-  PAFit = derive2 { name="PAFit"; version="1.2.4"; sha256="13zhlh6fbrlqh6w6bdmlqrwynyk4fbxk0wbkgvrm2pp8cyyv509a"; depends=[igraph knitr magicaxis mapproj MASS network networkDynamic plyr RColorBrewer Rcpp VGAM]; };
+  PAFit = derive2 { name="PAFit"; version="1.2.5"; sha256="07n27g2yy2lskna7qa4j6am3prdcwfnx98ppvcarsxgzvywz0scv"; depends=[ggplot2 igraph knitr magicaxis mapproj MASS network networkDynamic plyr RColorBrewer Rcpp VGAM]; };
   PAGI = derive2 { name="PAGI"; version="1.0"; sha256="01j1dz5ihqslpwp9yidmhw86l112l7rfkswmf03vss872mpvyp3f"; depends=[igraph]; };
   PAGWAS = derive2 { name="PAGWAS"; version="2.0"; sha256="0bz47ivd32kx1amgqllqbxyyvj773q7wasgk924hmibabiixa8nx"; depends=[foreach lars mnormt]; };
   PAMA = derive2 { name="PAMA"; version="1.2.0"; sha256="12fvkcdkn66gzr193fq9byf64qlq2x9dkjv9hpfw770l4yw496jn"; depends=[ExtMallows mc2d PerMallows rankdist Rcpp]; };
   PAMhm = derive2 { name="PAMhm"; version="0.1.2"; sha256="0k0n3ni0ypcizri39v76x1vv7hlxlmbpfi7w81yxy9inz7zz4zfw"; depends=[cluster heatmapFlex plyr R_utils RColorBrewer readmoRe readxl robustHD]; };
-  PAMmisc = derive2 { name="PAMmisc"; version="1.7.0"; sha256="1ghhipx42g7s3aplk6c9qwsvr78dzl88czrmhavxfvv5vmdm9n02"; depends=[dplyr geosphere ggplot2 hoardr httr lubridate magrittr ncdf4 PamBinaries purrr RcppRoll rerddap RSQLite seewave stringr tuneR viridis viridisLite xml2]; };
-  PAMpal = derive2 { name="PAMpal"; version="0.14.4"; sha256="01fxypdsgshv1bkyqqkd68xnmyz3mcv2hhy2nzfvddfyly7ixys8"; depends=[data_table dplyr gam ggplot2 knitr lubridate magrittr manipulate PamBinaries PAMmisc purrr readr reticulate rjson rlang RSQLite rstudioapi seewave signal stringr tidyr tuneR xml2]; };
+  PAMmisc = derive2 { name="PAMmisc"; version="1.8.0"; sha256="0r3p9bys4mdnf145frsvq3gdyq7xxd0yshiqbz65yyybc8di26fw"; depends=[dplyr geosphere ggplot2 hoardr httr lubridate magrittr ncdf4 PamBinaries purrr RcppRoll rerddap RSQLite seewave stringr tuneR viridis viridisLite xml2]; };
+  PAMpal = derive2 { name="PAMpal"; version="0.15.0"; sha256="0blcxwbax8j7glz28pncs6l4c0gfgc2k1166prh5w6l30l30h5pi"; depends=[data_table dplyr gam ggplot2 knitr lubridate manipulate PamBinaries PAMmisc purrr reticulate rlang RSQLite rstudioapi seewave signal stringr tidyr tuneR xml2]; };
   PAS = derive2 { name="PAS"; version="1.2.5"; sha256="175p3bnpnhknfsc29hri0l2ipz1x6qcxs2bq7awns8lccam466r2"; depends=[glmnet]; };
   PASSED = derive2 { name="PASSED"; version="1.1-1"; sha256="06dr5q14lyam6ywn6bg6vfkb68jqb6hw2phd10jcpdzcjvhsbz0r"; depends=[betareg rootSolve]; };
   PASWR = derive2 { name="PASWR"; version="1.1"; sha256="1rxymnqvflypc6m62f5vw65l8x1m2yah7r11hhpmzdq2l2sg8fci"; depends=[e1071 lattice MASS]; };
@@ -3433,6 +3466,7 @@ in with self; {
   PCMBase = derive2 { name="PCMBase"; version="1.2.12"; sha256="0p18g660yax8mmnhq1pd4nax4saf8syqj7c1xpspjbfkr78kh15q"; depends=[ape data_table expm ggplot2 mvtnorm xtable]; };
   PCMBaseCpp = derive2 { name="PCMBaseCpp"; version="0.1.9"; sha256="0k40mxs8w1vk7qwpkv8gnq6cq3kpj7wvf0i6f1qn1wmm2vvz1kfy"; depends=[abind data_table PCMBase Rcpp RcppArmadillo]; };
   PCMRS = derive2 { name="PCMRS"; version="0.1-3"; sha256="02dkszfaqkwksyf0wics4lldyqlwviw2mpc8kb04nhxnwh50vy1g"; depends=[cubature ltm mvtnorm Rcpp RcppArmadillo statmod]; };
+  PCObw = derive2 { name="PCObw"; version="0.0.0"; sha256="1mz9fpd8k0fs14gvs9bhzrpydz200fsg52njaw2nr08184q78r4y"; depends=[Rcpp RcppEigen]; };
   PCPS = derive2 { name="PCPS"; version="1.0.7"; sha256="0gxymz0yws1q1bxkpxi0lmbv57xx62h3dl7z3i2cnbagswkax3zh"; depends=[ape nlme phylobase picante RcppArmadillo SYNCSA vegan]; };
   PCRedux = derive2 { name="PCRedux"; version="1.1"; sha256="0714q5afki3i8vja3qakzjx7r082m99zhsimzlsqjhq4fa3jb8q2"; depends=[bcp changepoint chipPCR ecp fda_usc MBmca pbapply pracma qpcR robustbase segmented shiny zoo]; };
   PCS = derive2 { name="PCS"; version="1.2"; sha256="0488h6s1yz6fwiqf88z2vgckn6i0kwls8cazmpw3wspnaqvl2n4s"; depends=[multtest statmod]; };
@@ -3445,7 +3479,7 @@ in with self; {
   PDQutils = derive2 { name="PDQutils"; version="0.1.6"; sha256="0mmfi0ifwbkjm0274sddpwkj27cvdkwngnka8vdmfm4b2nn7vgsp"; depends=[moments orthopolynom]; };
   PDSCE = derive2 { name="PDSCE"; version="1.2"; sha256="17lc6d8ly6jbvjijpzg45dvqrzrh5s1sp415nycazgpbg9ypwr2h"; depends=[]; };
   PDShiny = derive2 { name="PDShiny"; version="0.1.0"; sha256="0s09sywvy83dj06rkxzyi06wfymwnfpgf3lpgjbb8ps8q3byd4vs"; depends=[shiny]; };
-  PDtoolkit = derive2 { name="PDtoolkit"; version="0.0.9"; sha256="1hlnivz67i2ifs38ky2dr3n02hpjx62iqlnw7vfxnx0jj23bchg6"; depends=[dplyr monobin rpart]; };
+  PDtoolkit = derive2 { name="PDtoolkit"; version="0.1.0"; sha256="0am2plgl8hvkgnm9lcldyrypp2c0p700xbbp8m679pd9h1pc1888"; depends=[dplyr monobin rpart]; };
   PEACH = derive2 { name="PEACH"; version="0.1.1"; sha256="0ciq2cci35rv39pgpp7i30jxlmr85726kh07ww22ryq3bm04ylg8"; depends=[MASS metap mnormt]; };
   PEGroupTesting = derive2 { name="PEGroupTesting"; version="1.0"; sha256="1z863ard0cc2g8ibxnmxhiqhvs53r6b8gpnavnfchm9432ifcbwi"; depends=[]; };
   PEIP = derive2 { name="PEIP"; version="2.2-3"; sha256="1ljalgffgrn9l3q914jjxrn1j740jqk4j8q1vzn3si4np9mz92vp"; depends=[bvls fields geigen Matrix pracma RSEIS]; };
@@ -3478,7 +3512,7 @@ in with self; {
   PLFD = derive2 { name="PLFD"; version="0.1.1"; sha256="0zzvrhjv7jxil326sqp0xmna0lc708wx1wv33qf0jf1ggr4hhqqm"; depends=[mathjaxr Rcpp RcppArmadillo]; };
   PLIS = derive2 { name="PLIS"; version="1.1"; sha256="0b81s7677wglqvv1b5lx8k2iaks09kz0wrl07245a7j2pk9nxv7p"; depends=[]; };
   PLMIX = derive2 { name="PLMIX"; version="2.1.1"; sha256="05mnzsi7y71cvg50qx8hp4m31gqslldl34k41r1f8npyb6ldpdca"; depends=[abind coda foreach ggmcmc ggplot2 gridExtra gtools label_switching MCMCpack PlackettLuce pmr prefmod radarchart rankdist rcdd Rcpp reshape2 StatRank]; };
-  PLNmodels = derive2 { name="PLNmodels"; version="0.11.4"; sha256="13yv6jwayl9d6iwllidn7hh52nybajvwfxg71dy4dh5y3lxpr0ib"; depends=[corrplot dplyr future future_apply ggplot2 glassoFast gridExtra igraph magrittr MASS Matrix nloptr purrr R6 Rcpp RcppArmadillo rlang tidyr]; };
+  PLNmodels = derive2 { name="PLNmodels"; version="0.11.6"; sha256="1vmcwh81cfkifbirqk2zs8pxn9ng1934q6cw478px9gaqgxfsyaa"; depends=[corrplot dplyr future future_apply ggplot2 glassoFast gridExtra igraph magrittr MASS Matrix nloptr purrr R6 Rcpp RcppArmadillo rlang tidyr]; };
   PLRModels = derive2 { name="PLRModels"; version="1.1"; sha256="0dwnzfw7a1cxz9s00kxf19jmjsc8cy6cc9q2mjqf8z7690wrg7hb"; depends=[]; };
   PLSiMCpp = derive2 { name="PLSiMCpp"; version="1.0.1"; sha256="0dxfv2l2bbg0wfybk6w8p0m5skc9kx7i3ch72j9cvzvza0zqp2ln"; depends=[crayon Rcpp RcppArmadillo]; };
   PLmixed = derive2 { name="PLmixed"; version="0.1.5"; sha256="03ivginsg1zhdxv5bzzmh6mxjz2b6qi8p4cq7sfm5q4llkld46x6"; depends=[lme4 Matrix numDeriv optimx]; };
@@ -3499,7 +3533,7 @@ in with self; {
   POMaSPU = derive2 { name="POMaSPU"; version="1.0.0"; sha256="0jz3jgzdykv0xvfw3ix0hbs32as6dp7p5v8bj5nddknx10d0siya"; depends=[MASS matrixStats Rcpp RcppArmadillo]; };
   POSTm = derive2 { name="POSTm"; version="1.1"; sha256="0ax0ky2xbaymw4fdipxvy1gh5wfnnm8hwxcg6hksasaz366widhm"; depends=[ape CompQuadForm]; };
   POSetR = derive2 { name="POSetR"; version="1.0.4"; sha256="1fxs741rb4x9b92c1x5i1ngxwaa0r5j2x1x5i4k3y71x67pklmf8"; depends=[igraph Rcpp Rdpack]; };
-  POT = derive2 { name="POT"; version="1.1-7"; sha256="1xxm293lmj22dsiaimivpd90xpwnrr36xa371zg6k6w05q4jjfn3"; depends=[]; };
+  POT = derive2 { name="POT"; version="1.1-8"; sha256="1j117ld9qww6miz3g8mqhdmznar9ki23pgdz8rzm4mnbkw4vsdpy"; depends=[]; };
   POUMM = derive2 { name="POUMM"; version="2.1.7"; sha256="0pwa97sffb571nfqnbc35dj9lr8z07wjsjnwibj9dhj2dr5b2cfp"; depends=[adaptMCMC ape coda data_table foreach ggplot2 lamW Rcpp]; };
   POV = derive2 { name="POV"; version="0.1.4"; sha256="0mqhi410rwpgr6x5h57wqg0f5k01vva0c280zlfpmf8php121x7j"; depends=[broom formula_tools]; };
   PP = derive2 { name="PP"; version="0.6.3-11"; sha256="1z7v5jiljm534lhr92vz9z3cafwcp6hdxyrr1nhli2arxc1nin76"; depends=[Rcpp]; };
@@ -3549,6 +3583,7 @@ in with self; {
   PSweight = derive2 { name="PSweight"; version="1.1.6"; sha256="1llb6x30gn230qvgmfzd1fz7f8g6dgjy9mq0x8820mprpd9sjyxs"; depends=[gbm ggplot2 MASS nnet numDeriv SuperLearner]; };
   PTAk = derive2 { name="PTAk"; version="1.4-0"; sha256="0hm1xij32wgirj7k7qv162zl5r7aj1iyyhpnlbm9wx1mbw72ccbc"; depends=[tensor]; };
   PTE = derive2 { name="PTE"; version="1.7"; sha256="1azkrij4kfmvp03lnzm88gwgvz8g54jq94j0qg8ynxvyjzrppc98"; depends=[doParallel foreach survival]; };
+  PTSR = derive2 { name="PTSR"; version="0.1.1"; sha256="17l0sg72a2yjb4wz0rkpv5lq1hrgzznaqk4abshddf0mm211n0fp"; depends=[actuar extraDistr numDeriv SuppDists]; };
   PTXQC = derive2 { name="PTXQC"; version="1.0.12"; sha256="0k9qvaf2dxfy2lcqnw0zyi17l682rma4c4hhh56m4bycwl2prmv2"; depends=[data_table ggdendro ggplot2 gtable jsonlite kableExtra knitr ontologyIndex plyr R6 R6P RColorBrewer reshape2 rmarkdown seqinr UpSetR xml2 yaml]; };
   PTwins = derive2 { name="PTwins"; version="0.1.1"; sha256="166mc7w52n9d3n72h5jvvhbki87prkils3yigdf57dn9pyixrd66"; depends=[]; };
   PUPAIM = derive2 { name="PUPAIM"; version="0.2.0"; sha256="1ky6f4yhm3hjrfxwk8vfalzzjgkq1922my26w457q8nfng7f2m53"; depends=[Metrics minpack_lm nls2]; };
@@ -3560,8 +3595,8 @@ in with self; {
   PWEALL = derive2 { name="PWEALL"; version="1.3.0"; sha256="0nb0v6wvj9ay90qcbrr9drg2g84fb7a9m78pzb69wp8789i8ixhk"; depends=[survival]; };
   PWFSLSmoke = derive2 { name="PWFSLSmoke"; version="1.2.117"; sha256="0140j2bg6mqxsg86ndq3c0ls1kdvd33r2qrwih2cjgmnfq31adkj"; depends=[cluster curl dplyr dygraphs geosphere ggmap glue httr jsonlite leaflet lubridate magrittr mapproj maps maptools MazamaCoreUtils MazamaSpatialUtils openair png purrr raster RColorBrewer readr reshape2 rgdal RgoogleMaps rlang sf slippymath sp stringr tibble tidyr xts]; };
   PabonLasso = derive2 { name="PabonLasso"; version="1.0"; sha256="158xg9i13nqy1bnpch8r6a7yas01hsdidmcypgccmyh7d7l52mr1"; depends=[]; };
-  Pade = derive2 { name="Pade"; version="1.0.3"; sha256="0q4pk2qk7v9wn5sdlvrwn9ir01jxy9nlzygnwkjzhq5vfa720d1k"; depends=[]; };
-  PairViz = derive2 { name="PairViz"; version="1.3.4"; sha256="1jd99b4bc2yiv91z7szhrgqhrbh6h6qwacvwf1cl6r8nrv5kqd13"; depends=[graph gtools TSP]; };
+  Pade = derive2 { name="Pade"; version="1.0.4"; sha256="0v1ymsmsj3mabq825ciib9mgaszml5iglixhihibd72qj52vg798"; depends=[]; };
+  PairViz = derive2 { name="PairViz"; version="1.3.5"; sha256="1fyyfpdsrl75mh0ypzvwcbg95yz6j2v15f30anrc9p8ngdxqwq4a"; depends=[graph gtools TSP]; };
   PairedData = derive2 { name="PairedData"; version="1.1.1"; sha256="07y5fd4fkwfp0lbacf41ya8cn7x4n1haxl0cln9iibjffc1mbr5q"; depends=[ggplot2 gld lattice MASS mvtnorm]; };
   PakPC2017 = derive2 { name="PakPC2017"; version="1.0.0"; sha256="196jvhv7pv4pvnnz9izk6icxv3aml26mif0w6g4907izyszf8cal"; depends=[dplyr magrittr]; };
   PakPMICS2014Ch = derive2 { name="PakPMICS2014Ch"; version="0.1.0"; sha256="0gjrx34613d9wzal292zfzh8hmkav271fqb0skdxd1f8rs2c79dg"; depends=[data_table]; };
@@ -3585,7 +3620,7 @@ in with self; {
   ParBayesianOptimization = derive2 { name="ParBayesianOptimization"; version="1.2.4"; sha256="0x6r54gawbfa75qmadhbxw9mgbinwxl84h54w6j6iwg3jbyrnzp8"; depends=[crayon data_table dbscan DiceKriging foreach ggplot2 ggpubr lhs]; };
   ParDNAcopy = derive2 { name="ParDNAcopy"; version="2.0"; sha256="017xwznhfibi8kp0ifww02c0qcq0vxs06rjww4kcp2bvdmld8kc4"; depends=[DNAcopy]; };
   ParallelDSM = derive2 { name="ParallelDSM"; version="0.3.1"; sha256="02m7hvjjzwxz1apw4dv8ypxkd8i41if5s83fp2algf4kyv2s44nx"; depends=[caret geoR gstat pryr quantregForest randomForest raster rgdal snowfall sp stringr]; };
-  ParallelLogger = derive2 { name="ParallelLogger"; version="2.0.2"; sha256="03wpcdafxfg2k25qdm043brp72qpypzzps4ayzdar85khi5g7znj"; depends=[jsonlite snow xml2]; };
+  ParallelLogger = derive2 { name="ParallelLogger"; version="3.0.0"; sha256="1vvh1kzdq3bz7s3yg8kr3zc15qj0qy3d4k13ygd546374w1ywn0k"; depends=[jsonlite snow xml2]; };
   ParallelPC = derive2 { name="ParallelPC"; version="1.2"; sha256="07y7xb16865khxkvwsk1yglzyy7ja4aj2wpkipaz48i77c3x8bi2"; depends=[]; };
   ParallelTree = derive2 { name="ParallelTree"; version="0.1.3"; sha256="1h53qwhc63fglm452b3by7f3g6f3hyqwkmwmbdqdb9rv3j4gvnvg"; depends=[ggplot2]; };
   ParamHelpers = derive2 { name="ParamHelpers"; version="1.14"; sha256="1sx2ddm8hwvvmk0z65wa689w80py3fny82zjd4d29qwxlv854xmi"; depends=[backports BBmisc checkmate fastmatch]; };
@@ -3594,13 +3629,12 @@ in with self; {
   PartCensReg = derive2 { name="PartCensReg"; version="1.39"; sha256="0blzv57cbxqghkz4fc3plvrcw80g0kx17dzmajkfv598m1wm6hc8"; depends=[Matrix optimx ssym]; };
   Partiallyoverlapping = derive2 { name="Partiallyoverlapping"; version="2.0"; sha256="0pb0digyigqyzb0zqikgz002kqf1xprcjhxr62a7iqbzy1yycayf"; depends=[]; };
   PathSelectMP = derive2 { name="PathSelectMP"; version="1.1"; sha256="036b70bpylmibny6dny79f7gdzn78arqgl2hfs031vygw63yyh9b"; depends=[mice MplusAutomation]; };
-  PatternClass = derive2 { name="PatternClass"; version="2.0.1"; sha256="1xwlk6shms38nqxad3d15254wgnkfzy7jyf5w9bbm96kg05mndbz"; depends=[landscapemetrics raster]; };
   Patterns = derive2 { name="Patterns"; version="1.3"; sha256="1jmj7jr7q5f6iqrrlv6dz0n2igbppnxfvbdh5nwf5bndyxlldqxn"; depends=[abind gplots igraph jetset KernSmooth lars lattice limma magic Mfuzz movMF msgps nnls plotrix SelectBoost survival tnet VGAM WGCNA]; };
   PdPDB = derive2 { name="PdPDB"; version="2.0.1"; sha256="05aqg0rqrnlmvjxa32ms1vywgwhw5zlfkyf2ij0fn06rp8l2z3lv"; depends=[dendextend plyr tseries]; };
   Peacock_test = derive2 { name="Peacock.test"; version="1.0"; sha256="0ypvwywipyh8lm8xkazsfjgjpvvyi2g8kid63qff11372p33m6xs"; depends=[]; };
   PeakError = derive2 { name="PeakError"; version="2021.7.1"; sha256="0rsh81p0w11zp8rgxx9cm8537gxhf9hx6xizpbflfx60xhr96is5"; depends=[]; };
   PeakSegDP = derive2 { name="PeakSegDP"; version="2017.08.15"; sha256="1ndf4d4ikcyqi0k51kil2jw777z4c1m4pda3dahrjmjyz0jhrhkw"; depends=[]; };
-  PeakSegDisk = derive2 { name="PeakSegDisk"; version="2020.8.13"; sha256="11nw8x0fr6474yvcf3fhyjql91vknmdsdvx1q1dwblyqd10f120h"; depends=[data_table]; };
+  PeakSegDisk = derive2 { name="PeakSegDisk"; version="2022.2.1"; sha256="1wvsg87frdyi7q58b438n331irlgm7wnfd3rf3ca5m636xz6cnr9"; depends=[data_table]; };
   PeakSegJoint = derive2 { name="PeakSegJoint"; version="2018.10.3"; sha256="0f0dw6swhhf301j4ci3rs8cmzd39dcjlb0kqxpdh7f00gp3qn7da"; depends=[PeakError penaltyLearning]; };
   PeakSegOptimal = derive2 { name="PeakSegOptimal"; version="2018.05.25"; sha256="0j39jzy4r0h787vs3klgbpcmb096ds3hzhvv5w3xs53kl0qkypj4"; depends=[penaltyLearning]; };
   PearsonDS = derive2 { name="PearsonDS"; version="1.2.1"; sha256="094q0vxqkm8r30rhgck3vh44qbaj00liddn23cnl7rglil5y6jrm"; depends=[]; };
@@ -3618,6 +3652,7 @@ in with self; {
   PerformanceAnalytics = derive2 { name="PerformanceAnalytics"; version="2.0.4"; sha256="0ci26hsj4wnw9g0mh4vrn0cg986cpcpx169rvw6v6rbnjxq718bq"; depends=[quadprog xts zoo]; };
   PeriodicTable = derive2 { name="PeriodicTable"; version="0.1.2"; sha256="133rwbvapk99dmh3vi8p7sa81d7hjmy0g4a5hcmwr3mdq8jzgwrj"; depends=[]; };
   PermAlgo = derive2 { name="PermAlgo"; version="1.1"; sha256="16fhdgr4nza9yknsbwiv8pgljfwp8hhva0crs4dbfd0w4j97n5fp"; depends=[]; };
+  PermutationR = derive2 { name="PermutationR"; version="0.1.0"; sha256="1rxz5zkl99bkx6zw8mkr4zr02g7w8wkc9sz3z2wwvgb8rmb7vyir"; depends=[]; };
   PerseusR = derive2 { name="PerseusR"; version="0.3.4"; sha256="1k03flbnjndx5mm26hysk64z89858m50kjs8gyldm4s5f09iny6p"; depends=[Biobase plyr stringr XML]; };
   PersianStemmer = derive2 { name="PersianStemmer"; version="1.0"; sha256="1dpfkafijg7g7hzka93l1ymq5rcnjsfgvkvbpdx3vjnid05kh4v1"; depends=[]; };
   PersomicsArray = derive2 { name="PersomicsArray"; version="1.0"; sha256="1d5gxd65b01m13rgbdhk6w3l43vqcbdk0s1pbgc8h6cnipj55z0i"; depends=[jpeg raster stringr tiff]; };
@@ -3634,7 +3669,7 @@ in with self; {
   PheVis = derive2 { name="PheVis"; version="1.0.2"; sha256="0pb6lxyz0ikgl64872dqjk1zj7pa793ggrp53hrg2y5m76wn8drr"; depends=[dplyr ggplot2 glmnet knitr lme4 purrr randomForest Rcpp tidyr viridis zoo]; };
   Phenotype = derive2 { name="Phenotype"; version="0.1.0"; sha256="0bfg2vk35hrfzmpjpnv3yhnsfr17505c49msbppqrrbpw5wgawy5"; depends=[lme4 tidyr]; };
   PhenotypeSimulator = derive2 { name="PhenotypeSimulator"; version="0.3.4"; sha256="19c79kls6i1qpsk41lp8whva5in47m2wlr0v3ggw5bblp4fkd43m"; depends=[cowplot data_table dplyr ggplot2 Hmisc mvtnorm optparse R_utils Rcpp reshape2 snpStats zoo]; };
-  PhitestR = derive2 { name="PhitestR"; version="0.1.0"; sha256="0xk1jpxmqvqqfiaxd43xf5h9g7yxirkqji1g2sa8avd1h5bfqyk8"; depends=[fitdistrplus Seurat]; };
+  PhitestR = derive2 { name="PhitestR"; version="0.2.0"; sha256="113f176q9kaghmqivqcg9l6zczx7dmawhybb8hwb2xpb0mhcgh4l"; depends=[fitdistrplus]; };
   PhotosynQ = derive2 { name="PhotosynQ"; version="0.2.3"; sha256="10n06sfbwv5w96m3yv5ws7yddfv2n8pp1rc730870wiavl6cbn63"; depends=[getPass httr]; };
   Phxnlme = derive2 { name="Phxnlme"; version="1.0.0"; sha256="0h9mi8p95rp1s8xsdv38j9fpy2cy9zvjnldjmnj0n469kimp2782"; depends=[ggplot2 gridExtra lattice manipulate testthat]; };
   PhySortR = derive2 { name="PhySortR"; version="1.0.8"; sha256="19426xjdii74qds0wmq5sa88zys81nyqb9lvf9pfihbjgrjr770a"; depends=[ape phytools]; };
@@ -3646,12 +3681,12 @@ in with self; {
   Pijavski = derive2 { name="Pijavski"; version="1.0.3"; sha256="0jspc19fn1mqv3zjr89sy7rqbbyjk3ij3rhrg2dsw167w63lpykx"; depends=[Rcpp]; };
   PivotalR = derive2 { name="PivotalR"; version="0.1.18.5"; sha256="1xcr7769d9jixq0lbc89jqzzxnnzxb8gjlws2l6cjm40hcid2yc9"; depends=[Matrix semver]; };
   PlackettLuce = derive2 { name="PlackettLuce"; version="0.4.1"; sha256="1l3lh4nvadr4qrpx8mdw7bgaq1w9fhkkaz42pc9hkwbp76brb52i"; depends=[CVXR igraph Matrix matrixStats partykit psychotools psychotree qvcalc R6 RSpectra sandwich]; };
-  PlaneGeometry = derive2 { name="PlaneGeometry"; version="1.3.0"; sha256="0sy6hcm8yqr6pfazr19apbpqpwl9nfxmai2q0jipz1h59ha57c8y"; depends=[gsl R6 sdpt3r stringr uniformly]; };
+  PlaneGeometry = derive2 { name="PlaneGeometry"; version="1.3.1"; sha256="1ylf7770pz16gh823kf3r2lh5cipkm81s1d9nwp01rapi4zzb6cd"; depends=[fitConic gsl R6 sdpt3r stringr uniformly]; };
   Planesmuestra = derive2 { name="Planesmuestra"; version="0.1"; sha256="0v7l4hrfckcf7zmk0ihq2ij0qli7x12j17vd6752d1yjk27fgk57"; depends=[]; };
-  PlanetNICFI = derive2 { name="PlanetNICFI"; version="1.0.3"; sha256="03nm6lrn0gm3fl8v7mz2pglr9gbh7vfh03j1pfqyfk0k58a92a48"; depends=[data_table gdalUtils glue httr raster sf]; };
+  PlanetNICFI = derive2 { name="PlanetNICFI"; version="1.0.4"; sha256="0xjvdz1vk8wkq8b58l9rm2x4nci76k09kx3vdjhqjgcq0a4kyvql"; depends=[data_table glue httr sf terra]; };
   PlasmaMutationDetector = derive2 { name="PlasmaMutationDetector"; version="1.7.2"; sha256="0qra7q2pzw212qylyrfhv6zjcsldfw84b93cari0qjqnw4gyfph2"; depends=[GenomicRanges ggplot2 robustbase Rsamtools rtracklayer S4Vectors SummarizedExperiment VariantAnnotation]; };
   Plasmidprofiler = derive2 { name="Plasmidprofiler"; version="0.1.6"; sha256="10m3knmz0596rm30ncyfprar6l42bjm7r34n4pjz1biqmiz6yz6k"; depends=[ape dplyr gdata ggdendro ggplot2 gridExtra gtable htmlwidgets magrittr plotly plyr RColorBrewer reshape2 stringr]; };
-  Platypus = derive2 { name="Platypus"; version="3.2.3"; sha256="1idmarx9r2iyp1wpcw46kfjgjzdws75kdiaz9vg6m618fj4n88cl"; depends=[BiocGenerics Biostrings dplyr ggplot2 jsonlite knitr Matrix plyr reshape2 rmarkdown seqinr Seurat SeuratObject stringr tibble tidyr useful]; };
+  Platypus = derive2 { name="Platypus"; version="3.3.2"; sha256="0k0c8i0an9pvk4j185s7dacp43fi5439mri4liy42h62kwkf0sl9"; depends=[BiocGenerics Biostrings dplyr ggplot2 jsonlite knitr Matrix plyr reshape2 seqinr Seurat SeuratObject stringr tibble tidyr useful]; };
   PlayerRatings = derive2 { name="PlayerRatings"; version="1.1-0"; sha256="04hdjv1gb5b3zym2ryjpqrqhs823nlkmbimfnxw1cfn921ljjgpj"; depends=[]; };
   PlotContour = derive2 { name="PlotContour"; version="0.1.0"; sha256="0jjzrxmx1k1s8fyfs9m5a864pmvjh2bdklbhrc3nbhb0c7wd3h9z"; depends=[KernSmooth MASS]; };
   PlotPrjNetworks = derive2 { name="PlotPrjNetworks"; version="1.0.0"; sha256="13kbyx2phxb3kss6l32f7krf4k5i350indlsmbhav686v0h3nsgp"; depends=[ggplot2 reshape2]; };
@@ -3670,6 +3705,7 @@ in with self; {
   PoisNonNor = derive2 { name="PoisNonNor"; version="1.6.3"; sha256="1572ma1vk17gp2j9fvmbiaxmnmb773mw15z6mlcf1slgpayp1ldb"; depends=[BB corpcor MASS Matrix]; };
   PoisNor = derive2 { name="PoisNor"; version="1.3.3"; sha256="1qi54fg2b1qc305kaihfwr2dkh3b3dd6l67yp9gi61n29kfxaqmf"; depends=[corpcor Matrix mvtnorm]; };
   PoissonBinomial = derive2 { name="PoissonBinomial"; version="1.2.4"; sha256="0nx1xqqwsxrfyzrxl3lqmd7d7ljgp6k3z3cw49xbc2z6gbizgm7g"; depends=[Rcpp]; };
+  PoissonMultinomial = derive2 { name="PoissonMultinomial"; version="1.0"; sha256="0h8486f5a74yik340ghg6mwb80sj38r02lzjsm0wvv07kb7zq9zp"; depends=[mvtnorm Rcpp RcppArmadillo]; };
   PoissonPCA = derive2 { name="PoissonPCA"; version="1.0.3"; sha256="0hdfnq427cywkpb34nj8kdjrc3yligzqag0729qnhh90si0ad036"; depends=[]; };
   PoissonSeq = derive2 { name="PoissonSeq"; version="1.1.2"; sha256="1hhx0gv06cp6hm6h36mqy411qn9x15y45crpzbyf8crfs85c6gbg"; depends=[combinat]; };
   PolicyPortfolios = derive2 { name="PolicyPortfolios"; version="0.2.2"; sha256="1mfhyy4qyadk389jj6q8livfj45qdwb57wx74cg85jiqd2g19d90"; depends=[dplyr ggplot2 ineq mgcv reshape2 vegan]; };
@@ -3679,7 +3715,7 @@ in with self; {
   Polychrome = derive2 { name="Polychrome"; version="1.3.1"; sha256="044vbylgbqf0ccv4r15nmbw1vz0j95g67i6blw73hvbvbm6w5x4d"; depends=[colorspace scatterplot3d]; };
   PolynomF = derive2 { name="PolynomF"; version="2.0-3"; sha256="067l71i2zjv6gvd0br2m034ls3r5lcmc0amml1qbj4wchd7mqlw9"; depends=[Rcpp]; };
   Pomic = derive2 { name="Pomic"; version="1.0.4"; sha256="0xy5fgimbgqqac3n7akhwyvnrvd9fpvx9h8nk4spxrxc8x0km1w7"; depends=[]; };
-  PoolTestR = derive2 { name="PoolTestR"; version="0.1.1"; sha256="1p6gg8npdw426irsai8y2bzblbpn4zjca3pyfzzgigy4hz89y1db"; depends=[BH brms dplyr lme4 progress Rcpp RcppEigen rstan rstantools StanHeaders stringr]; };
+  PoolTestR = derive2 { name="PoolTestR"; version="0.1.2"; sha256="0bl8zgfdaff9h77cnv8y7y152pq930svr0jwhpnz7a4ig446n66g"; depends=[BH brms dplyr lme4 progress Rcpp RcppEigen rstan rstantools StanHeaders stringr]; };
   PooledCohort = derive2 { name="PooledCohort"; version="0.0.1"; sha256="1zf8waqiw4282iyr30byd7czrdnf9rvp3mra6b7slqqs1z53lhr2"; depends=[glue]; };
   PooledMeanGroup = derive2 { name="PooledMeanGroup"; version="1.0"; sha256="0i9s7qskjnji3mf6clsi69rnni57v8cysgr9gh3hvxjzlf1sq8y7"; depends=[]; };
   PopED = derive2 { name="PopED"; version="0.6.0"; sha256="0s8lr17s6w8isjig4z8jzgpnpsb1kg98d32y7kslbwzl08cbnza0"; depends=[boot codetools dplyr ggplot2 gtools magrittr MASS mvtnorm purrr stringr tibble]; };
@@ -3697,12 +3733,11 @@ in with self; {
   PostcodesioR = derive2 { name="PostcodesioR"; version="0.3.1"; sha256="0mxfcc913l6mhijzfn5rqmri7qbdg1g94g4nqadyxkzw067w7drh"; depends=[httr]; };
   PosteriorBootstrap = derive2 { name="PosteriorBootstrap"; version="0.1.1"; sha256="12ial0bcrh3k3z5927zh0bvd413jrz606b07jgbym87kb3n1fxbi"; depends=[dplyr e1071 ggplot2 gridExtra MASS Rcpp rstan StanHeaders tibble]; };
   PottsUtils = derive2 { name="PottsUtils"; version="0.3-3"; sha256="165k4sjh3kqkb8bzi68wx00yl77yfbgs70fcbpzmsmcw4g4hdpzn"; depends=[miscF]; };
-  PoweR = derive2 { name="PoweR"; version="1.0.7"; sha256="040wc7hxa8y6bm1rs7ip2skdxmmwksxkyb6xzqgdjp8m7a25fppb"; depends=[Rcpp RcppArmadillo]; };
   Power2Stage = derive2 { name="Power2Stage"; version="0.5-4"; sha256="1g4zrprbd5q1dn4jfq5c9ayss4p0ljhbsfr3h8h9sjbmcg62rsal"; depends=[cubature mvtnorm PowerTOST]; };
   PowerNormal = derive2 { name="PowerNormal"; version="1.2.0"; sha256="1kryqcjvgwk0l4z3gqxdiz47mha3jw5583jlb9z7ml6v7cam06sm"; depends=[]; };
   PowerTOST = derive2 { name="PowerTOST"; version="1.5-3"; sha256="0473vm267hsq7s8ggm4m01jig067qcpm30cza0j1kx9cw6ghq68d"; depends=[cubature mvtnorm TeachingDemos]; };
   PowerUpR = derive2 { name="PowerUpR"; version="1.1.0"; sha256="0bnkngdqhzhsbkzp4cxhgm8rzn83q4vm3fj2gkp7z4qznp37lh3j"; depends=[]; };
-  PracTools = derive2 { name="PracTools"; version="1.2.4"; sha256="1w53wszn133zvj6bpfr6kkjyx0rqfb7hz93414dn7fwa5x7mczh2"; depends=[]; };
+  PracTools = derive2 { name="PracTools"; version="1.2.5"; sha256="1ysp8cwfmr9hihvb59y7gc74gw2a3bgbh57h99xp246i7d12bbhn"; depends=[]; };
   PracticalEquiDesign = derive2 { name="PracticalEquiDesign"; version="0.0.3"; sha256="0jms5j9vg5g1llwkzjglj6k26wgj16jxdigllra4gjzk0azbgn9q"; depends=[dplyr ggplot2 numDeriv Temporal tidyr]; };
   PreKnitPostHTMLRender = derive2 { name="PreKnitPostHTMLRender"; version="0.1.0"; sha256="1749cd734f4bf0n4068s2m617k6as8h9bwp44mm3la2xy3vjf5g1"; depends=[knitr rmarkdown XML]; };
   PreProcess = derive2 { name="PreProcess"; version="3.1.7"; sha256="1fxzkmrj76mc94xdj7a0nq450021i1jxkigmh5jhrmamkp5581jf"; depends=[oompaBase]; };
@@ -3732,7 +3767,7 @@ in with self; {
   ProbReco = derive2 { name="ProbReco"; version="0.1.0.1"; sha256="0ck5jvbgmf2j4qr4rsamjdrds5jzcggwcvs2hqzhh23ildk7hj7h"; depends=[BH mvtnorm purrr Rcpp RcppEigen Rdpack StanHeaders]; };
   ProbSamplingI = derive2 { name="ProbSamplingI"; version="0.1.0"; sha256="1s72jvzayrscn5k43gwip28lax4k24b6piy1wmwvkmpf2xx57wiv"; depends=[]; };
   ProbYX = derive2 { name="ProbYX"; version="1.1-0"; sha256="0dphf6jr72l235v3yjhwi8bqmv6ac7yrbyfwhx4qjrrcdnsb7qhl"; depends=[rootSolve]; };
-  ProbeDeveloper = derive2 { name="ProbeDeveloper"; version="1.0.0"; sha256="1d2zr8ikia3mspp2arpx7iwf4a4pq1ywl82pxbxrw6xpz313d5x9"; depends=[Biostrings TmCalculator]; };
+  ProbeDeveloper = derive2 { name="ProbeDeveloper"; version="1.1.0"; sha256="0ixmxa8sndd16062xd4vivagzd0ghb8d3n153i2wg7rq7g85c1dg"; depends=[Biostrings TmCalculator]; };
   ProbitSpatial = derive2 { name="ProbitSpatial"; version="1.1"; sha256="1wa020hb02zjf4shzb345nyjkxm38wf67knvnl9iyh6n2sc34975"; depends=[Matrix numDeriv RANN Rcpp RcppEigen]; };
   ProcData = derive2 { name="ProcData"; version="0.3.2"; sha256="1a0rbj57rbxf5axfyd1j9j1mh7ara3rlq31lysaprwaymig94mml"; depends=[keras Rcpp]; };
   ProcMod = derive2 { name="ProcMod"; version="1.0.8"; sha256="0rxh135gs9gq9sag1cmvywdgnax7n989gmffbxil71fy49kxpwdg"; depends=[foreach MASS Matrix permute Rdpack]; };
@@ -3768,7 +3803,7 @@ in with self; {
   QAIG = derive2 { name="QAIG"; version="0.1.7"; sha256="04ygizvplvrzhf1p0vwj75x7k8sl0ym5zbrsvn63y983awih2p6i"; depends=[Formula stringr]; };
   QBAsyDist = derive2 { name="QBAsyDist"; version="0.1.2"; sha256="1yql29npaq9yz02bv3hqf5m2mhscjms7qqf4vlaxm8s665rxcxad"; depends=[ald Deriv GoFKernel locpol nloptr quantreg scdensity zipfR]; };
   QBMS = derive2 { name="QBMS"; version="0.6"; sha256="083asm4qck29n7mm0b39h1gv7mbsa62w7xn16vy7cmyim9si5h3z"; depends=[httr jsonlite]; };
-  QCA = derive2 { name="QCA"; version="3.13"; sha256="1v85bcir1jpkm61zpv9zyf79qv3nb4z0z5lh1r10b9idffddcjws"; depends=[admisc shiny venn]; };
+  QCA = derive2 { name="QCA"; version="3.14"; sha256="1c4fkrvr066hf5kl1s1l02gcjcxfjsfs7blwamgmjdk6hq4hgsyh"; depends=[admisc shiny venn]; };
   QCAcluster = derive2 { name="QCAcluster"; version="0.1.0"; sha256="094p11c9arry793zibr8x3xhpbrym9bfky95nds53g3yliprdd63"; depends=[data_table magrittr plyr purrr QCA rlist stringi testit UpSetR]; };
   QCAfalsePositive = derive2 { name="QCAfalsePositive"; version="1.1.1"; sha256="03qzb6vdnbri52gfx3laz14988p2swdv9m8i5z7gpsv3f3bjrxbp"; depends=[]; };
   QCApro = derive2 { name="QCApro"; version="1.1-2"; sha256="1glfb1x1h05cs07nq5glqvlil58wp3c0kaxi1l7k94y797i8r7hq"; depends=[lpSolve]; };
@@ -3799,11 +3834,13 @@ in with self; {
   QTL_gCIMapping = derive2 { name="QTL.gCIMapping"; version="3.3.1"; sha256="01lxa52fm6pzicjg252fxqy9hcj0rf511nzc3fcq25cfi9cly0v1"; depends=[data_table doParallel foreach glmnet MASS openxlsx qtl Rcpp stringr]; };
   QTL_gCIMapping_GUI = derive2 { name="QTL.gCIMapping.GUI"; version="2.1.1"; sha256="0a155vl869i3li2i67b89p056x50ycqp9yk0ll5g3fp3xcdl80zs"; depends=[data_table doParallel foreach glmnet MASS openxlsx qtl QTL_gCIMapping Rcpp shiny stringr]; };
   QTLEMM = derive2 { name="QTLEMM"; version="1.1.0"; sha256="0gwxrsbpbn1v3z0yal8qrnamzq1gjax9d9nja8bbcgw8cbf3gamf"; depends=[mvtnorm]; };
-  QTLRel = derive2 { name="QTLRel"; version="1.7"; sha256="00k0kwxy9jnxk56a87xra5gbgrhdhpyhyvghmsq3lxb7iim91qgw"; depends=[gdata lattice]; };
+  QTLRel = derive2 { name="QTLRel"; version="1.8"; sha256="0lalxscwyih6657ir4c24gsc09a70pkmd2s6li603bk75i8lx5vl"; depends=[gdata lattice]; };
   QTOCen = derive2 { name="QTOCen"; version="0.1.1"; sha256="0wlbxk1rd56k02jf3pfzbx6xx5mmf6sb7gvds0067cvb7m42ghcr"; depends=[MatrixModels quantreg Rdpack rgenoud survival]; };
   QUALYPSO = derive2 { name="QUALYPSO"; version="1.2"; sha256="0hp99hhlv7rijn34ncshpvbnmhbx3f5km7bzr0z7yr7l3j1vx3sc"; depends=[doParallel expm foreach MASS Rfast]; };
-  QWDAP = derive2 { name="QWDAP"; version="1.1.10"; sha256="1cq5cnap4hbzaswcy9ld4q9jkx3cxgs3mysh30fwq8xmf56hh7dy"; depends=[CORElearn MTS pls progress StepReg]; };
+  QWDAP = derive2 { name="QWDAP"; version="1.1.11"; sha256="1kin58d2kaxy1zyzln95xxj8lrjir3zq9gfc2c026sq2pcaqlxkv"; depends=[CORElearn MTS pls progress StepReg]; };
+  QZ = derive2 { name="QZ"; version="0.2-2"; sha256="13s9yp9dz95iar2s8mhyi1sfba4wsdddpjard01665s34cvf1xw9"; depends=[Matrix]; };
   Qapprox = derive2 { name="Qapprox"; version="0.2.0"; sha256="0mv3xfy847lqh95mpccjiw5jjbml7dwrna7i16532sdqcxaq4m02"; depends=[]; };
+  QoLMiss = derive2 { name="QoLMiss"; version="0.1.0"; sha256="00g1ykwlmc4w0bmzj0jg9ckr2bvkl8qcxd67wdc12alccqqd584v"; depends=[dplyr missMethods survival]; };
   Qtools = derive2 { name="Qtools"; version="1.5.5"; sha256="0kmd5cd299gjw5qbk8yhlzxcwa3ykrr36zcpk773mykyz57q46hb"; depends=[boot glmx gtools MASS Matrix np numDeriv quantreg Rcpp RcppArmadillo]; };
   QuACN = derive2 { name="QuACN"; version="1.8.0"; sha256="1597blp8gqc5djvbgpfzi8wamvy0x50wh5amxj9cy99qa0jlglxi"; depends=[combinat graph igraph RBGL]; };
   QuClu = derive2 { name="QuClu"; version="0.1.0"; sha256="0a2malh9vz5jcjgdx4d98k0c61vz3ip8ynqh5i85x8hzcby11qgj"; depends=[]; };
@@ -3813,7 +3850,7 @@ in with self; {
   QuantNorm = derive2 { name="QuantNorm"; version="1.0.5"; sha256="1hds9ybwsgnmcpa22vlmgdq02ilhn0c6a7z1qjiq4i5iqjd4gwf6"; depends=[]; };
   QuantPsyc = derive2 { name="QuantPsyc"; version="1.5"; sha256="1i9bh88r8zxndzjqsj14qw64gnvm5a9kvhjhzk3qsrvl3qzjgh93"; depends=[boot MASS]; };
   QuantTools = derive2 { name="QuantTools"; version="0.5.7.1"; sha256="1nkf7ihzfwgz7svh1jybgcvqwbim2dqzi00l4m9pma463va4q19d"; depends=[data_table fasttime R6 Rcpp RCurl readxl]; };
-  QuantileGH = derive2 { name="QuantileGH"; version="0.1.0"; sha256="0mg5fd5673kgaq3zjfbk17awni9xyn5dxivkql76ac2cbfg6dxy2"; depends=[ggplot2 rstpm2 scales tclust]; };
+  QuantileGH = derive2 { name="QuantileGH"; version="0.1.1"; sha256="0ah1l5zzlsda2s6x0i4rcln8smg52jwpxcaf52zfarfbw30a88jp"; depends=[ggplot2 goftest LaplacesDemon rstpm2 scales tclust]; };
   QuantileGradeR = derive2 { name="QuantileGradeR"; version="0.1.1"; sha256="1zwc6bg636gk8zll7wpznd3pzl611hcj2fmzp8b9505rra13p0g2"; depends=[]; };
   QuantileNPCI = derive2 { name="QuantileNPCI"; version="0.9.0"; sha256="043lkg1pyaja7a4f9lmcwrvdjpfly2z378s15snwnxj8vb5pgr38"; depends=[]; };
   QuantumOps = derive2 { name="QuantumOps"; version="3.0.1"; sha256="0gl1myf7q444imyvsjvxiaxaahf0n0bsggwbd0z3az73l6yf1gjh"; depends=[]; };
@@ -3860,8 +3897,8 @@ in with self; {
   RADanalysis = derive2 { name="RADanalysis"; version="0.5.5"; sha256="1py07p24i1pky8wwyy8ajmkg6h2n7nbpxp1w6lrkiyl0p2kgjm20"; depends=[scales sfsmisc]; };
   RADstackshelpR = derive2 { name="RADstackshelpR"; version="0.1.0"; sha256="0j2vazbji8xqb8xkd9jrpi10iqj30rvkdjfs4snavl9nsbra99yf"; depends=[ggplot2 ggridges gridExtra vcfR]; };
   RAEN = derive2 { name="RAEN"; version="0.2"; sha256="098d990qa987hx2llqwdw2bmi5nmrlda23j1rgmw5nirllk28d30"; depends=[boot doParallel fastcmprsk foreach glmnet lars]; };
-  RAINBOWR = derive2 { name="RAINBOWR"; version="0.1.26"; sha256="1x2gdx9fk28r7q6i5b8x0kald2qfiljqm62fpwhg57vz0q53pl51"; depends=[ape cluster expm ggplot2 ggtree haplotypes here htmlwidgets MASS Matrix optimx pbmcapply pegas phylobase Rcpp RcppEigen Rfast rrBLUP scatterpie stringr]; };
-  RALSA = derive2 { name="RALSA"; version="1.0.2"; sha256="066m08v3kd5y3cw3s9d8ijchwfd4fw8ps4mgh4q3zy2y7g0wda97"; depends=[data_table DT foreign Hmisc openxlsx readr shiny shinydashboard shinyFiles shinyjs stringi stringr]; };
+  RAINBOWR = derive2 { name="RAINBOWR"; version="0.1.29"; sha256="0g82wi0bffkkb86axsa814dbqhscs9mlgk43j3j375v9kbd4136c"; depends=[ape cluster expm gaston here htmlwidgets MASS Matrix MM4LMM optimx pbmcapply pegas Rcpp RcppEigen Rfast rrBLUP stringr]; };
+  RALSA = derive2 { name="RALSA"; version="1.1.0"; sha256="01c4l18mkk59px11fcdc5hqmbm7ycsq519y89zvlbw22qnawi6l6"; depends=[data_table DT foreign Hmisc openxlsx readr shiny shinydashboard shinyFiles shinyjs stringi stringr]; };
   RAM = derive2 { name="RAM"; version="1.2.1.7"; sha256="0aalswivpjs1glwf4yh3b79lch3n32fyj5xda55h3v7gzs7p0d7f"; depends=[ade4 ape data_table FD ggmap ggplot2 gplots gridExtra labdsv lattice MASS permute phangorn phytools plyr RColorBrewer reshape reshape2 RgoogleMaps scales vegan VennDiagram]; };
   RAMClustR = derive2 { name="RAMClustR"; version="1.2.2"; sha256="0v75dxwn1bybjw3zybvz60j01nffl0nzybw5k0a7kqhbcb7cdpqw"; depends=[BiocManager dynamicTreeCut e1071 fastcluster ff ggplot2 gplots httr InterpretMSSpectrum jsonlite MSnbase pcaMethods preprocessCore RCurl stringi stringr webchem xml2]; };
   RAMP = derive2 { name="RAMP"; version="2.0.2"; sha256="0836fiycrsxiwdw7srz1rvsf639iqh2rk89gavx4kvn0i0sc8d2x"; depends=[]; };
@@ -3871,14 +3908,14 @@ in with self; {
   RAP = derive2 { name="RAP"; version="1.1"; sha256="18dclijs72p6gxawpg8hk7n512ah4by5jfg2jnrp8mz79ajmdgir"; depends=[]; };
   RAPIDR = derive2 { name="RAPIDR"; version="0.1.1"; sha256="14cnw4jjs5anb55zlg1yj6qc9yr51rsamigq2q7h8ypj2ggnna1d"; depends=[Biostrings data_table GenomicAlignments GenomicRanges PropCIs Rsamtools]; };
   RAPTOR = derive2 { name="RAPTOR"; version="1.0.1"; sha256="1bj3xsl83mb8zwap8icywrfdld382fram79b0n14jbk1l87rj9r4"; depends=[mgcv]; };
-  RAQSAPI = derive2 { name="RAQSAPI"; version="2.0.2"; sha256="0325s4b62a1kpq8r4bcxa0njbih71aywbvpzxf0w0qsrbrk4wdq7"; depends=[dplyr glue gtools httr jsonlite lifecycle lubridate magrittr purrr rlang stringr tibble]; };
+  RAQSAPI = derive2 { name="RAQSAPI"; version="2.0.3"; sha256="0y9x5s1r5qfxx93wvcpa62s486d6yrrn56ks5wfgpx18jlm39q8d"; depends=[dplyr glue httr jsonlite lifecycle lubridate magrittr purrr rlang stringr tibble]; };
   RAT = derive2 { name="RAT"; version="0.1.1"; sha256="02cd7lp9dzabmb1ll59xflyhlhhfnzhbdwcn68vrdjmxyppw6crl"; depends=[ggplot2 mapproj wosr]; };
   RATest = derive2 { name="RATest"; version="0.1.9"; sha256="02673wbss90c192rxbzxfsbnirl63k7d8fq989chmjc5z2xjzajj"; depends=[ggplot2 gridExtra quantreg]; };
   RAdwords = derive2 { name="RAdwords"; version="0.1.18"; sha256="1c3m2j2cf1s51p783rdng5ns913bv7rbjc1vpmrmsxg2kf5f6qyq"; depends=[RCurl rjson]; };
   RApiDatetime = derive2 { name="RApiDatetime"; version="0.0.6"; sha256="15j6vb6rm4ykwjachqyyfvjshiilyjqnpj8x6qc93savk04rf279"; depends=[]; };
   RApiSerialize = derive2 { name="RApiSerialize"; version="0.1.0"; sha256="0gm2j8kh40imhncwwx1sx9kmraaxcxycvgwls53lcyy2ap344k9j"; depends=[]; };
   RAppArmor = derive2 { name="RAppArmor"; version="3.2.2"; sha256="0l0f4k666nh00db94sjxz60anr4l9vm0259pcc2a4whk2pmjcq5n"; depends=[unix]; };
-  RAthena = derive2 { name="RAthena"; version="2.4.0"; sha256="10zg9df5n9il6w7088l6kkzd4g9clvc98l5cppci41vn6smsswr4"; depends=[data_table DBI reticulate uuid]; };
+  RAthena = derive2 { name="RAthena"; version="2.5.1"; sha256="1hnw7p0hzx1y3x4qpg7ry1yy9bf58q9d5yfya7h1dl1cw2qj1jkx"; depends=[data_table DBI reticulate uuid]; };
   RBF = derive2 { name="RBF"; version="2.1.0"; sha256="0062ckvrjfkkl5lfrshrr2cynrxsrp4zpdpl8nij06hm00i3gfs5"; depends=[]; };
   RBMRB = derive2 { name="RBMRB"; version="2.1.7"; sha256="09x7zaigflc0d3pbdrvfv1kdklrlzgd4v2ma3dcr96l36n1iqqns"; depends=[data_table ggplot2 httr plotly rjson]; };
   RBNZ = derive2 { name="RBNZ"; version="1.1.0"; sha256="11fdnc2pmw5nq3lswid078l307ln6853a3b9d383msvrkz6yms26"; depends=[httr lubridate readxl rvest xml2]; };
@@ -3897,6 +3934,7 @@ in with self; {
   RCGLS = derive2 { name="RCGLS"; version="1.0.3"; sha256="12mmfs91fmhdxdxr7q16hnjlg7bz2bbkf8chld4cyf8clnflzvsj"; depends=[ncdf4 raster RCurl sp]; };
   RCLabels = derive2 { name="RCLabels"; version="0.1.0"; sha256="0p41i2cxv81g57xv1vba2dzn2xqpv7gy04wpyaxg325xh3zf1mf0"; depends=[assertthat Hmisc magrittr purrr]; };
   RCMinification = derive2 { name="RCMinification"; version="1.0"; sha256="1n8rb5lz0bansggma8gs45xbmmzh98xcsg1vcwwviv2zgq8ww7jf"; depends=[]; };
+  RCPA3 = derive2 { name="RCPA3"; version="1.0.1"; sha256="07avk7m8w8ky72c5dq8bkr44vlvgglhfzgvx7s8cjbjn01m7l64j"; depends=[beepr car descr haven Hmisc knitr lmtest survey weights]; };
   RCPmod = derive2 { name="RCPmod"; version="2.190"; sha256="1r24g8fcizyqzgp0da90sxpwalgcsgz2b168j2smpylxraiqb037"; depends=[fishMod glmnet gtools MASS]; };
   RCRnorm = derive2 { name="RCRnorm"; version="0.0.2"; sha256="1mz1jb7mc9c47hbk9flnddny4zir6r2k5qis30iynwqny521l6ln"; depends=[truncnorm]; };
   RCSF = derive2 { name="RCSF"; version="1.0.2"; sha256="1hjl7qsdgcddn3nh2likndhfhnw9gj3453xqq96gddgb1y0m3bh1"; depends=[Rcpp]; };
@@ -3906,7 +3944,6 @@ in with self; {
   RChest = derive2 { name="RChest"; version="1.0.3"; sha256="112y6g1lyk3wky825g77sy49wgqs8vqdi90lrp0qza6cqjg381mq"; depends=[Rdpack reticulate]; };
   RChronoModel = derive2 { name="RChronoModel"; version="0.4"; sha256="0haqxwic160pnnm90bgchzxmsdwmi6m97i9xrh8js8bp2xn76l5f"; depends=[hdrcde]; };
   RCircos = derive2 { name="RCircos"; version="1.2.2"; sha256="1z0aam60p1b6q7csn50rrwdilm07myr05bw54s9ah8idzyxc7gav"; depends=[]; };
-  RClickhouse = derive2 { name="RClickhouse"; version="0.5.2"; sha256="1ii4d1nh15km1savahpwgvdn3lb2y7sa44izqydckw1xawwgf7xr"; depends=[bit64 DBI dbplyr dplyr Rcpp]; };
   RClimacell = derive2 { name="RClimacell"; version="0.1.4"; sha256="03w2psiix74d2cbaz06bk77pclc6lfjhfdi057rdmw4nv3xv1fqi"; depends=[assertthat dplyr httr lubridate magrittr rlang stringr tibble tidyr tidyselect]; };
   RClone = derive2 { name="RClone"; version="1.0.3"; sha256="1zcb7s88qkpcbkhvawggsckzs5d9s9l9kr2c2njrr86ymq7lgwdj"; depends=[]; };
   RColetum = derive2 { name="RColetum"; version="0.2.1"; sha256="1hgk9p234m3w49sw2j2rg8c14z3gz1mabvb69b1bxrg7f1mz9slg"; depends=[dplyr httr jsonlite]; };
@@ -3955,15 +3992,15 @@ in with self; {
   RFishBC = derive2 { name="RFishBC"; version="0.2.3"; sha256="1xhjsinb6dfr1zzzyvawc6bb10dnr3nbx86mi6lrzav42sbq31ni"; depends=[cli clisymbols crayon readbitmap rlang settings stringr tidyr withr]; };
   RFmerge = derive2 { name="RFmerge"; version="0.1-10"; sha256="1gcdd0a0czimzmzq2izskdaj26cc7qchrwlhssvnh5k59yx54r4l"; depends=[pbapply randomForest raster sf sp zoo]; };
   RFormatter = derive2 { name="RFormatter"; version="0.1.1"; sha256="0jmzdc2cl4vvffsyfwp493fiygh9xinhv970qxp1667rw8wlap8l"; depends=[formatR]; };
-  RFpredInterval = derive2 { name="RFpredInterval"; version="1.0.4"; sha256="0p1plszxqy6xxngrgzr6m0724rjz3caynipdb2r5sd9d2yc7cs3z"; depends=[data_table data_tree DiagrammeR hdrcde ranger]; };
+  RFpredInterval = derive2 { name="RFpredInterval"; version="1.0.5"; sha256="1ri62dfgwsbgrvjx7qn4mbv1p0mk2ynkrnw9s1klv31p2431rli5"; depends=[data_table data_tree DiagrammeR hdrcde ranger]; };
   RFreak = derive2 { name="RFreak"; version="0.3-0"; sha256="1dmllxb6yjkfkn34f07j2g7w5m63b5d10lh9xsmxyfk23b8l3x0x"; depends=[rJava]; };
   RGA = derive2 { name="RGA"; version="0.4.2"; sha256="0pjizgvrh0gbjlyxlb3v93nhigg8rpq3mziv1qlp6r0s5y7cmpi9"; depends=[httr jsonlite lubridate plyr]; };
   RGBM = derive2 { name="RGBM"; version="1.0-8"; sha256="0xd64g07y808nzs4zvbx6bxdpbj2ndqg6yzc3p0l43pxm4hyxva0"; depends=[doParallel foreach plyr]; };
   RGCCA = derive2 { name="RGCCA"; version="2.1.2"; sha256="0zcxakqnmih0243y5b6r9nmcfanzxd6q344pd5bca5pnm3y43wr0"; depends=[Deriv MASS]; };
   RGCxGC = derive2 { name="RGCxGC"; version="1.1-2"; sha256="03ihqra8q50a98adgxrx8l7js963f41kg2fy3lxzh9zma4gzj62q"; depends=[colorRamps mixOmics ptw Rdpack RNetCDF]; };
   RGE = derive2 { name="RGE"; version="1.0"; sha256="1ild1if10xicfapfcmydz1cgvn5fyydrik8qclb90i95bl9bs4ia"; depends=[coda Matrix MatrixModels]; };
-  RGENERATE = derive2 { name="RGENERATE"; version="1.3.6"; sha256="08jx52bfiy1mzcrps93sx4c8swnc0v8n62wqws527mvbblihfn05"; depends=[magrittr RMAWGEN]; };
-  RGENERATEPREC = derive2 { name="RGENERATEPREC"; version="1.2.8"; sha256="1y70fs8d7vldwijgzny3awcvx97sghclyrb40dzvffli2q15ym9f"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN stringr]; };
+  RGENERATE = derive2 { name="RGENERATE"; version="1.3.7"; sha256="0w6hqrf2lr6qz79skml2vjpfwfv5vxj94rghxxa3rp9dqzhi7rc0"; depends=[magrittr RMAWGEN]; };
+  RGENERATEPREC = derive2 { name="RGENERATEPREC"; version="1.2.9"; sha256="0bnw77vny61pkhp9pb3v3ckz6immm4pp9f7qzyhc97646fci9ysl"; depends=[blockmatrix copula Matrix RGENERATE RMAWGEN stringr]; };
   RGF = derive2 { name="RGF"; version="1.0.8"; sha256="0nd38cn3248kgzknr0ba3wg5y1g15vh74y9y94i2bqr1vchf6xsm"; depends=[Matrix R6 reticulate]; };
   RGIFT = derive2 { name="RGIFT"; version="0.1-5"; sha256="1745fs4bq0ss39fiwljspvrmnkgbbpc1fjvhvcrsmp2iizq12sgn"; depends=[]; };
   RGISTools = derive2 { name="RGISTools"; version="1.0.2"; sha256="0pildj5pmc34f58bv39gxl3p2g0cr32przdhjnss37kcdlcv5zlb"; depends=[curl fields httr mapview raster Rdpack rjson rvest sf sp stars tmap urltools XML xml2]; };
@@ -4005,7 +4042,7 @@ in with self; {
   RJSONIO = derive2 { name="RJSONIO"; version="1.3-1.6"; sha256="17x0ayk7daprbc8w2hvb2jl9mfnw4dic9yc3sr5adcjqfzmcklc2"; depends=[]; };
   RJSplot = derive2 { name="RJSplot"; version="2.7"; sha256="02q5isc137nx7qil2p3903xfsjwk54507rs72dfaiy6a8scys5j9"; depends=[]; };
   RJafroc = derive2 { name="RJafroc"; version="2.0.1"; sha256="1vrjnqn1lv10945ba29zjlbkh3zyw28ppv4093v24lirw8vzmjp4"; depends=[bbmle binom dplyr ggplot2 mvtnorm numDeriv openxlsx Rcpp readxl stringr]; };
-  RJcluster = derive2 { name="RJcluster"; version="3.2.2"; sha256="16p7c3c63kyqfkjrblf9p2nhaf03aq8ffn0pyah7rpv2qdvj7iyc"; depends=[foreach infotheo matrixStats mclust profvis Rcpp RcppArmadillo rlang]; };
+  RJcluster = derive2 { name="RJcluster"; version="3.2.3"; sha256="01cbq49iiyqhb6xdln0h1mv4bcx4sphb75xbd8q0d1m37zd01v56"; depends=[foreach infotheo matrixStats mclust profvis Rcpp RcppArmadillo rlang]; };
   RKEA = derive2 { name="RKEA"; version="0.0-6"; sha256="1dncplg83b4zznh1zh90wr8jv5259cy93imrry86c5kqdijmhrrp"; depends=[rJava RKEAjars tm]; };
   RKEAjars = derive2 { name="RKEAjars"; version="5.0-4"; sha256="1j4643xc8k3zy4rv0h8dd154jafihnjr43wzz3d93j11g2w9xhq3"; depends=[rJava]; };
   RKEEL = derive2 { name="RKEEL"; version="1.3.3"; sha256="1m9jxi7nwkjaq172rx28fk73i144bny2h4aliqkvg2ffsdjyi685"; depends=[arules doParallel foreach gdata Matrix pmml R6 rJava RKEELdata RKEELjars XML]; };
@@ -4016,12 +4053,12 @@ in with self; {
   RKelly = derive2 { name="RKelly"; version="1.0"; sha256="0mkpc95j67rg2gcj2fc4w8kv4v31cpiyvh660y8kc2fjr5q4aj3l"; depends=[]; };
   RKorAPClient = derive2 { name="RKorAPClient"; version="0.7.1"; sha256="0caqj4dj6pnjzkaa3xjxblwwypff3fksv6cgkg7dxg0qznkyac7g"; depends=[broom dplyr ggplot2 highcharter httr jsonlite keyring lubridate magrittr PTXQC purrr R_cache stringr tibble tidyr urltools]; };
   RLRsim = derive2 { name="RLRsim"; version="3.1-6"; sha256="1wkkibr250frsbfq70m9jdrylxb492zibf5w03z6zis98pjffssp"; depends=[lme4 mgcv nlme Rcpp]; };
-  RLT = derive2 { name="RLT"; version="3.2.3"; sha256="0zaha6fgj3j5524w8mym0p4dyg1z8z9mkz4hm9xbjz0ybrmfqr8h"; depends=[]; };
+  RLT = derive2 { name="RLT"; version="3.2.4"; sha256="1vycsi213pcy5x9qpvim0nbsx4sk2125bficssv9v154w2xrgvf8"; depends=[]; };
   RLeafAngle = derive2 { name="RLeafAngle"; version="1.0"; sha256="1anks22hn6qpac556p99kilkhc80h572dvcyz3wj1nqffdrhgrh3"; depends=[]; };
   RLogicalOps = derive2 { name="RLogicalOps"; version="0.1"; sha256="1qyn80x3x3bb5wgzyzw6pxs8a6q26yq1fkmkz7f5wywsnrj8hzfj"; depends=[rstackdeque stringr]; };
   RLumCarlo = derive2 { name="RLumCarlo"; version="0.1.7"; sha256="1r70d68y3l43pb47wxhhbgbirnnx0hyaklvphlqrhnlkxp04r4xk"; depends=[abind doParallel foreach khroma magrittr Rcpp RcppArmadillo scatterplot3d]; };
   RLumModel = derive2 { name="RLumModel"; version="0.2.9"; sha256="15cllm4iywa74bmxlvasy7xkr86c4ghw2ii0656q0413dgasygjr"; depends=[deSolve Luminescence Rcpp RcppArmadillo]; };
-  RLumShiny = derive2 { name="RLumShiny"; version="0.2.2"; sha256="0rwl555564ccw4pdzya88s3h3q30iq5dmi77141ji8ir91x4rz3g"; depends=[data_table DT googleVis knitr Luminescence RCarb readxl rhandsontable rmarkdown shiny shinydashboard shinyjs]; };
+  RLumShiny = derive2 { name="RLumShiny"; version="0.2.3"; sha256="12dc30q41b1vha52mn9rr1m86ykp3yfsyxcxxwklavd60g76b8vd"; depends=[data_table DT googleVis knitr Luminescence markdown RCarb readxl rhandsontable shiny shinydashboard]; };
   RM_weights = derive2 { name="RM.weights"; version="2.0"; sha256="1by1z7gwwx0jjhhvsjkr7f6m7n0x43bj080ah5275cja7xqr5nm6"; depends=[Hmisc psychotools]; };
   RM2 = derive2 { name="RM2"; version="0.0"; sha256="1v57nhwg8jrpv4zi22fhrphw0p0haynq13pg9k992sb0c72dx70a"; depends=[msm]; };
   RM2006 = derive2 { name="RM2006"; version="0.1.1"; sha256="1bx2y58c8fkpv0d1sn5abxbajks3sbz2v00idnvbp7rw1i05i5q4"; depends=[]; };
@@ -4037,7 +4074,7 @@ in with self; {
   RMTL = derive2 { name="RMTL"; version="0.9"; sha256="08da67wvzmibziqhnlzh43sydaihk4rsq2k5hs6ih3jkkidrhlgv"; depends=[corpcor doParallel foreach MASS psych]; };
   RMThreshold = derive2 { name="RMThreshold"; version="1.1"; sha256="0wkc42vcggib002ad6ch43h6avpdgl12szrrrfd2p0wl72cwn5n1"; depends=[Matrix png]; };
   RMTstat = derive2 { name="RMTstat"; version="0.3"; sha256="1nn25q4kmh9kj975sxkrpa97vh5irqrlqhwsfinbck6h6ia4rsw1"; depends=[]; };
-  RMVL = derive2 { name="RMVL"; version="0.0.4.1"; sha256="1ms06bxak9vf5a1nf9r0mvzg51468j1wghvcwkpv1ad112h90g0l"; depends=[]; };
+  RMVL = derive2 { name="RMVL"; version="0.0.4.3"; sha256="039xcwyk3mb9ns5kp6cdp06di9f77a65gfx04rah7qdnfvr7zirg"; depends=[]; };
   RMaCzek = derive2 { name="RMaCzek"; version="1.3.5"; sha256="19hb25rl4fmyyaklj0jlvdh41zg9k2d6hkmm4ixvh8y9dbp675c8"; depends=[GA seriation]; };
   RMallow = derive2 { name="RMallow"; version="1.1"; sha256="1s6a3347739rfc8rrh2773b278gcbp8hf5j5psm61fz7bavy9gcj"; depends=[combinat]; };
   RMariaDB = derive2 { name="RMariaDB"; version="1.2.1"; sha256="032zrwqf2w1cfkm0ryblc4sms2y5cl0fzyp0ijlk7kjld04nl5y9"; depends=[bit64 blob DBI hms lubridate plogr Rcpp rlang]; };
@@ -4045,7 +4082,7 @@ in with self; {
   RMediation = derive2 { name="RMediation"; version="1.1.4"; sha256="19idqx0hwljbcfrpqwa81k7cxbd8kv77ji8yi4n4p7517jbkzma6"; depends=[e1071 lavaan MASS]; };
   RMixpanel = derive2 { name="RMixpanel"; version="0.7-1"; sha256="1xwmmfvky49n1l0w3kwcyaf2h4rhzz4k5icjwvpc90fqk8sxib6a"; depends=[base64enc jsonlite RCurl uuid]; };
   RMixtComp = derive2 { name="RMixtComp"; version="4.1.3"; sha256="0v1qhqvl0s2b93xhykjr99h5gbz48l9npp0vyazh0ncx8gnxrzfl"; depends=[ggplot2 plotly RMixtCompIO RMixtCompUtilities scales]; };
-  RMixtCompIO = derive2 { name="RMixtCompIO"; version="4.0.6"; sha256="1r0za8s31mk9d3vgvsj930qpy5xnzdfgz06fjg5qzzc2l6jp96k3"; depends=[BH doParallel foreach Rcpp RcppEigen]; };
+  RMixtCompIO = derive2 { name="RMixtCompIO"; version="4.0.7"; sha256="1z2jw89xrin1hh6scfkvvxag57w558rd8vdf08wzhp2glwdqrfr8"; depends=[BH doParallel foreach Rcpp RcppEigen]; };
   RMixtCompUtilities = derive2 { name="RMixtCompUtilities"; version="4.1.4"; sha256="1rhdmiap7xm96igclas67dz8naywjkddydbk9m3hp0d0zhgblc5i"; depends=[ggplot2 plotly scales]; };
   RMySQL = derive2 { name="RMySQL"; version="0.10.23"; sha256="05aavyggyjv46awa7ggbxlfcy9707vak5kh7kj0ljdx8zga7xb7l"; depends=[DBI]; };
   RNAseqNet = derive2 { name="RNAseqNet"; version="0.1.4"; sha256="16ab0p0378j4vvcazynffsgx1rq32llf1sz4h4pp5lrx820j6qvx"; depends=[ggplot2 glmnet hot_deck igraph PoiClaClu]; };
@@ -4081,7 +4118,6 @@ in with self; {
   ROI_models_miplib = derive2 { name="ROI.models.miplib"; version="1.0-0"; sha256="12yxra45s9f14dn12wibxrz598g3s39lm3af4dxmw9jnlfb8z84b"; depends=[R_utils Rglpk ROI]; };
   ROI_models_netlib = derive2 { name="ROI.models.netlib"; version="1.1-1"; sha256="1h59i7mc21kgwi4mz0qpfj855bp6d2qkrp40lm02dqhf79sps26k"; depends=[ROI]; };
   ROI_plugin_alabama = derive2 { name="ROI.plugin.alabama"; version="1.0-0"; sha256="1h4154w730y06zak0s199lafwnip4xqnnh33ghkyg39y71sn9nfz"; depends=[alabama ROI]; };
-  ROI_plugin_clp = derive2 { name="ROI.plugin.clp"; version="0.4"; sha256="0fzrb4q2mcf3j4d4j8r354n6fyv2rik0ypp01l54zbm8s2r29bwb"; depends=[Matrix ROI slam]; };
   ROI_plugin_cplex = derive2 { name="ROI.plugin.cplex"; version="0.3-0"; sha256="1ipwvclrxws7nvirvns58gpakg23ldiphyl6g0akxk5hczr0lazf"; depends=[Rcplex ROI slam]; };
   ROI_plugin_deoptim = derive2 { name="ROI.plugin.deoptim"; version="1.0-0"; sha256="1v093r6d14w12p2lmzcnlja9q5lhfvrmfbd3ws7x4igs0fmcdq2y"; depends=[DEoptim DEoptimR ROI]; };
   ROI_plugin_ecos = derive2 { name="ROI.plugin.ecos"; version="1.0-0"; sha256="0wdb86r0z0ck27mn0rfb5l72xq7km2annyk5c5n8nk460j0kygqf"; depends=[ECOSolveR Matrix ROI slam]; };
@@ -4135,9 +4171,8 @@ in with self; {
   RPushbullet = derive2 { name="RPushbullet"; version="0.3.4"; sha256="1mx433hvx660a63s5dzn655zmqv1c1qij0hzddl9z38032brc4ii"; depends=[curl jsonlite]; };
   RPyGeo = derive2 { name="RPyGeo"; version="1.0.0"; sha256="1alqgx6blqqwxm76w05g82kc2icx8nvjw7qkdz73gf9ckgza5bb3"; depends=[magrittr purrr raster reticulate rmarkdown sf stringr]; };
   RQEntangle = derive2 { name="RQEntangle"; version="0.1.3"; sha256="178haddk8nnscy2vym3k2a3ca9lf6nl7rpjja8lxqdjninvhvwb2"; depends=[iterators itertools]; };
-  RQuantLib = derive2 { name="RQuantLib"; version="0.4.14"; sha256="0lwpm6059s5k2qi44b1h6ys28syc4h0i3yk42qa1ya4zj5clj3y1"; depends=[Rcpp zoo]; };
+  RQuantLib = derive2 { name="RQuantLib"; version="0.4.15"; sha256="18j3bm5imxbx888pywqhzfbc19b8xlll18jy0g4g8bskqycfqh69"; depends=[Rcpp zoo]; };
   RRBoost = derive2 { name="RRBoost"; version="0.1"; sha256="0zp3csrpi0awk88m6sq5sf5v7j32q5sd4mwv61x6bblg991k404k"; depends=[RobStatTM rpart]; };
-  RRF = derive2 { name="RRF"; version="1.9.1"; sha256="135adnf7cfs8gddmmmgmzarjzg0qfrd7l67367yhy2b1k0s5ng1w"; depends=[]; };
   RRI = derive2 { name="RRI"; version="1.1"; sha256="0msdc5j5vx4snl8r3q5nn0mw2i80jds5pjykhmigcrx6jzg6h6i7"; depends=[Rcpp RcppArmadillo]; };
   RRMLRfMC = derive2 { name="RRMLRfMC"; version="0.4.0"; sha256="0y8gs9rirrcjb89jqxr7rrp89pjal7lzcscnh4kmabhih3f2d729"; depends=[nnet]; };
   RRNA = derive2 { name="RRNA"; version="1.0"; sha256="14rcqh95ygybci8hb8ays8ikb22g3850s9f3sgx3r4f0ky52dcba"; depends=[]; };
@@ -4146,7 +4181,7 @@ in with self; {
   RRTCS = derive2 { name="RRTCS"; version="0.0.4"; sha256="16v6f5yvfq9l1b4h5mr4y0i2k404vdv354yz4k780w79qib7g39p"; depends=[sampling samplingVarEst]; };
   RRate = derive2 { name="RRate"; version="1.0"; sha256="1q3f2gphdf50aijnk5xqfpxcqfd4jq7byb1gpb0vcnaxgi3a9lwm"; depends=[]; };
   RRedshiftSQL = derive2 { name="RRedshiftSQL"; version="0.1.2"; sha256="03jbml8d19hcg6achnyc4hcnl5j10yvsx59j80r46zyn0flsnizq"; depends=[DBI RPostgreSQL]; };
-  RRphylo = derive2 { name="RRphylo"; version="2.5.9"; sha256="0w6h1k3jp6kvws7yh0fnsw7xf8yyxk9mxhxi8l9qbhvvrm9dxabr"; depends=[ape doParallel emmeans foreach geiger phytools]; };
+  RRphylo = derive2 { name="RRphylo"; version="2.6.0"; sha256="1m75g8d9081a2cpjnypklrd9qmbbxsq0gsg6kyr5jngb42qcqcf2"; depends=[ape doParallel emmeans foreach geiger phytools]; };
   RRreg = derive2 { name="RRreg"; version="0.7.3"; sha256="1nk2gg41bdhfnz7plkj4rnzl40sd6jd5z9843kxijp9ymagimwx4"; depends=[doParallel foreach lme4]; };
   RSA = derive2 { name="RSA"; version="0.10.4"; sha256="0i0li587i6bjnmz9d1j1dyhpy7bfnq6298wr67fygcxfaszij16b"; depends=[aplpack ggplot2 lattice lavaan plyr RColorBrewer]; };
   RSADBE = derive2 { name="RSADBE"; version="1.0"; sha256="1nzpm88rrzavk0n8iflsx8r3s1xcry15n80zqdw6jijjycz10w1q"; depends=[]; };
@@ -4165,7 +4200,7 @@ in with self; {
   RSPS = derive2 { name="RSPS"; version="1.0"; sha256="0ynxhgnxsf27qm8r5d9lyd59zksnc3kvx35hy25vff8j3bg7fqgi"; depends=[gridExtra lattice plyr]; };
   RSQL = derive2 { name="RSQL"; version="0.1.4"; sha256="0zda6cgsx1bd3xw2r9flsphbkrgma95qqv5vz70f234y9gkmc6v3"; depends=[DBI knitr lgr R6 RSQLite]; };
   RSQLite = derive2 { name="RSQLite"; version="2.2.9"; sha256="075vsnbkcwpwnn87b06mhbg2fflqhjvbylhbkg0d3v3rl7zg28s4"; depends=[bit64 blob DBI memoise pkgconfig plogr Rcpp]; };
-  RSSL = derive2 { name="RSSL"; version="0.9.3"; sha256="10rrgxc0ddnd4b4g7qqgpjkc8gh07bnc94xwmgdp1lx7v7ypcziv"; depends=[cluster dplyr ggplot2 kernlab MASS Matrix quadprog Rcpp RcppArmadillo reshape2 scales tidyr]; };
+  RSSL = derive2 { name="RSSL"; version="0.9.5"; sha256="1h94dhs5yl1i7n153rbmj883iz3hql0b0cr12357nk4nvf36yih8"; depends=[cluster dplyr ggplot2 kernlab MASS Matrix quadprog Rcpp RcppArmadillo reshape2 scales tidyr]; };
   RSSOP = derive2 { name="RSSOP"; version="1.1"; sha256="119xrxpaf68qdb2kj2pbaja6im2nbxsgibb1bnlpnc3fcxkmqcsf"; depends=[]; };
   RSSampling = derive2 { name="RSSampling"; version="1.0"; sha256="0p10l7qmksx4ysz1jb84f9nbqzig8wxhwy33yk8hq29nb5i4c9ik"; depends=[LearnBayes]; };
   RSarules = derive2 { name="RSarules"; version="1.0"; sha256="0lrql4q45hyhqbix86ixl12mknnjbz3137gx2zkvqpz91bsk145j"; depends=[arules Matrix]; };
@@ -4196,7 +4231,7 @@ in with self; {
   RTD = derive2 { name="RTD"; version="0.4.1"; sha256="0zsv62hx1y9q5a6rd8ri91ff64671b84jr3f88h0q4yni2mribhr"; depends=[dplyr httr jsonlite purrr RcppMsgPack readr urltools uuid]; };
   RTDE = derive2 { name="RTDE"; version="0.2-1"; sha256="1dkv0g760384jmyypffl5kbnsancjx272j91ffpgmg3lmsy8nhqq"; depends=[]; };
   RTIGER = derive2 { name="RTIGER"; version="0.99.0"; sha256="0g1qccjslf90lsc965klnkdkij16frfk3ig6yjpldh8j2yv66zg3"; depends=[e1071 GenomeInfoDb GenomicRanges ggplot2 IRanges JuliaCall qpdf reshape2 TailRank]; };
-  RTL = derive2 { name="RTL"; version="0.1.8"; sha256="0rvwgw1cx7y9rxlnc0ijgyjp0raxslaqkxipi0183l0idlc4as53"; depends=[dplyr fabletools feasts forecast ggplot2 httr jsonlite lubridate magrittr plotly purrr RCurl readr rlang stringr tibble tibbletime tidyquant tidyr tidyverse timetk tsibble xts zoo]; };
+  RTL = derive2 { name="RTL"; version="0.1.91"; sha256="0950mpm6vx2kbx7fgin7131l1icmbibkm0nwcbxggspz4lw0rsrp"; depends=[dplyr fabletools feasts ggplot2 httr jsonlite lubridate magrittr plotly purrr RCurl readr rlang stringr tibble tidyquant tidyr timetk tsibble xts zoo]; };
   RTOMO = derive2 { name="RTOMO"; version="1.1-6"; sha256="03jb96ahzgp662vj2v65giv8ss61vad5w26kvq8hg9q06z879jza"; depends=[GEOmap RPMG RSEIS splancs]; };
   RTTWebClient = derive2 { name="RTTWebClient"; version="0.1.2"; sha256="0r5nkaypym79h5r7n8h932i08awkpzn5fygww0z5q7y5m6kchbmx"; depends=[base64enc data_table digest httr jsonlite withr]; };
   RTaxometrics = derive2 { name="RTaxometrics"; version="3.2"; sha256="0nrj5iccxqj3nk28s9z6bncpih5zq2nz4pylmm0pkpl5dfz923m4"; depends=[]; };
@@ -4255,8 +4290,8 @@ in with self; {
   RandPro = derive2 { name="RandPro"; version="0.2.2"; sha256="092mm9gybvcby2n161nldlq8s2ja2bc43jnkln6ss3lr29rmi9b3"; depends=[caret e1071]; };
   RandVar = derive2 { name="RandVar"; version="1.2.1"; sha256="17c6bx644n604zpggmwx1z3krgd9v7c88il45cf5yhp7zf7cc718"; depends=[distr distrEx startupmsg]; };
   RandomCoefficients = derive2 { name="RandomCoefficients"; version="0.0.2"; sha256="04l0aczrlbkjk0687w2gxs85ia71yy69mgankwkl37ksznh6y81m"; depends=[fourierin ks orthopolynom polynom RCEIM rdetools robustbase sfsmisc snowfall statmod tmvtnorm VGAM]; };
-  RandomFields = derive2 { name="RandomFields"; version="3.3.13"; sha256="0j9z7m4i6kc5v6xn6806735srxsqvmf3ghk56sss37577652my6v"; depends=[RandomFieldsUtils sp]; };
-  RandomFieldsUtils = derive2 { name="RandomFieldsUtils"; version="0.5.6"; sha256="02s837ka3dl7anbmb1b3d1vyfnbsdviz2mhfagxm7azz7m289x07"; depends=[]; };
+  RandomFields = derive2 { name="RandomFields"; version="3.3.14"; sha256="0c5r7l642cw56km56ijachnqhjh5k0izy03cl14rvbwkpywh09i4"; depends=[RandomFieldsUtils sp]; };
+  RandomFieldsUtils = derive2 { name="RandomFieldsUtils"; version="1.1.0"; sha256="17aa29ll1wminzpdl2lq6m1pc6wcdj5ap1sp5rd516j4xlpn0wpl"; depends=[]; };
   RandomForestsGLS = derive2 { name="RandomForestsGLS"; version="0.1.3"; sha256="1xqzpfgs6hdkaf99xgrxc4m5k73vpvkhpgb4bw01rhhay08zzv4g"; depends=[BRISC matrixStats pbapply randomForest]; };
   Randomuseragent = derive2 { name="Randomuseragent"; version="0.0.1"; sha256="1ym272z5a2wnprz59db8knszzqglmrdmk77r7cfyzy5jwcqzy4jn"; depends=[]; };
   RanglaPunjab = derive2 { name="RanglaPunjab"; version="2.3.4"; sha256="01j3gww9kil02d44jwlkz6j7lwn2him830bnshkly0s7mgh22pgr"; depends=[jpeg shiny tidyverse]; };
@@ -4264,7 +4299,7 @@ in with self; {
   RankAggregator = derive2 { name="RankAggregator"; version="0.0.1"; sha256="0j4s4fv28fbc6ij6fzpmza9n5lfrql8ll33fi65vhczz9pjhpjii"; depends=[]; };
   RankResponse = derive2 { name="RankResponse"; version="3.1.1"; sha256="04s588zbxcjgvpmbb2x46bbf5l15xm7pwiaxjgc1kn1pn6g1080c"; depends=[]; };
   Rankcluster = derive2 { name="Rankcluster"; version="0.94.5"; sha256="1ddfcmiqy20s7sfjbxax0rvc9vb1ckr46icy1zsa103hhbp5pjqb"; depends=[Rcpp RcppEigen]; };
-  RankingProject = derive2 { name="RankingProject"; version="0.3.1"; sha256="11n5v8hnpldwkb5fz3y0nfjcrshns49yrrdf9205y7g80r34wmg7"; depends=[]; };
+  RankingProject = derive2 { name="RankingProject"; version="0.4.0"; sha256="11i47arl3r32iky29wjawb26g0hiji0ddl70gcrcy8v9j0h01vap"; depends=[]; };
   RapidPolygonLookup = derive2 { name="RapidPolygonLookup"; version="0.1.1"; sha256="0h4snn3haa4a5rkafg98419by4nnz219wsm3y0dqgm4hw4bvha0g"; depends=[PBSmapping RANN RgoogleMaps sp]; };
   RapidoPGS = derive2 { name="RapidoPGS"; version="2.1.0"; sha256="038x4q6h0pf062nhjivfbb74f43li35pgjl8w8rzwr5pcsbjsif8"; depends=[bigreadr bigsnpr coloc curl data_table dplyr GenomicRanges IRanges RCurl]; };
   Raquifer = derive2 { name="Raquifer"; version="0.1.0"; sha256="148inkn6yiyvicw0b4kw99n172xsvhrrdx1khghqs966smjw54wy"; depends=[dplyr gsl magrittr pracma Rdpack]; };
@@ -4276,14 +4311,14 @@ in with self; {
   RatingScaleReduction = derive2 { name="RatingScaleReduction"; version="1.4"; sha256="1d37l4xgg1iba2rbhp4c5i7igrcy0zgbdvzk3yc0wj2x1mm5dayk"; depends=[ggplot2 pROC]; };
   RationalExp = derive2 { name="RationalExp"; version="0.2.2"; sha256="0a51sfps3sfb71m93jdsmbvj6kafbyfrq790ix238j570f5xafpg"; depends=[snowfall]; };
   Ravages = derive2 { name="Ravages"; version="1.0.0"; sha256="1967s8hp6nd1a1d385rx6sp4hd01h0gcd7hvdakc2lh7xbdnlj8i"; depends=[bedr BH curl dfidx Formula gaston mlogit Rcpp RcppEigen RcppParallel]; };
-  RavenR = derive2 { name="RavenR"; version="2.1.4"; sha256="09gz4n1rvzzrmc1wszkyxa1zs6mj6sg9b997yiszlk89nvcbyr2v"; depends=[colorspace cowplot DiagrammeR dplyr dygraphs gdata ggplot2 igraph lubridate magrittr purrr Rcpp RCurl scales stringr tidyr xts zoo]; };
+  RavenR = derive2 { name="RavenR"; version="2.1.7"; sha256="1aapipzsy389zl0b8p0p0zfm72syki8vv9n2zr54drb8vm33ipjs"; depends=[colorspace cowplot DiagrammeR dplyr dygraphs gdata ggplot2 igraph lubridate magrittr purrr Rcpp RCurl scales stringr tidyr visNetwork xts zoo]; };
   RawHummus = derive2 { name="RawHummus"; version="0.2.1"; sha256="1x23mzqj13mns80pac4zmxj7c571y9k4qss2zmz6fza7hvarkdcf"; depends=[data_table dplyr kableExtra markdown plotly purrr RaMS RColorBrewer rmarkdown shiny shinycustomloader shinydashboard shinydashboardPlus shinyFiles shinyMatrix shinyvalidate]; };
   Rbeast = derive2 { name="Rbeast"; version="0.9.2"; sha256="1vmnmyj6470mm3wvb6dy5hb39hdjrm12lzwizlqvh9pjkvi339v3"; depends=[]; };
   Rbent = derive2 { name="Rbent"; version="0.1.0"; sha256="0xkb57dhhfd3342rv0xwbhbhn4zp5fbfch84fbh0sickm09l9vrj"; depends=[Rfit]; };
   Rbgs = derive2 { name="Rbgs"; version="0.2"; sha256="1q0dnbcpgx7x9klr6z33z6g2p9p8mrmhnsqjy6qw15ch720rrgn3"; depends=[imager magrittr rJava]; };
   Rbitcoin = derive2 { name="Rbitcoin"; version="0.9.2"; sha256="0ndq4kg1jq6h0jxwhpdp8sw1n5shg53lwa1x0bi7rifmy0gnh66f"; depends=[data_table digest RCurl RJSONIO]; };
   RblDataLicense = derive2 { name="RblDataLicense"; version="0.2.4"; sha256="0if4xwjkh4hw8mhfyw6sz0lpb3wcaz7kcx00axi035yf63bmplzg"; depends=[RCurl xts]; };
-  Rblpapi = derive2 { name="Rblpapi"; version="0.3.12"; sha256="0c3b7viiyffk8vzgmbbbw3sz5n3j24sqcf70skfqrqccr4wpacpv"; depends=[BH Rcpp]; };
+  Rblpapi = derive2 { name="Rblpapi"; version="0.3.13"; sha256="0xqlh441bvvag8xafhyxrgsfydw1rqiv9mzki5z6m94dfbxscf0y"; depends=[BH Rcpp]; };
   Rborist = derive2 { name="Rborist"; version="0.2-3"; sha256="0qf4m6ibr4mlrmsybb5b8f1hkmp9n6ksjsxc4msd3q4rr99zkczk"; depends=[data_table digest Rcpp]; };
   Rcan = derive2 { name="Rcan"; version="1.3.82"; sha256="0asmlhh786c9gfgxkqybv8xzz8bqzirxvq8nr4gglx1pc812idkb"; depends=[data_table ggplot2 scales]; };
   Rcapture = derive2 { name="Rcapture"; version="1.4-3"; sha256="1rk1zgab6zi7hcmyqlb18kycv3cd15c7lwhw5kig96f2n3xymzig"; depends=[]; };
@@ -4295,8 +4330,8 @@ in with self; {
   RchivalTag = derive2 { name="RchivalTag"; version="0.1.2"; sha256="0285n5mxs643546qhyqkccaq1fkn1hxagrhj2abahskfl53i9rsw"; depends=[dygraphs mapdata maps maptools ncdf4 oceanmap PBSmapping plyr pracma raster readr rgeos sp xts]; };
   Rchoice = derive2 { name="Rchoice"; version="0.3-3"; sha256="09fssba9wi290i9nd0vxbhz29bgm7rj4aanvxkma2pdk6impcvfq"; depends=[Formula maxLik memisc miscTools msm numDeriv plm plotrix sandwich]; };
   RclusTool = derive2 { name="RclusTool"; version="0.91.3"; sha256="0f6v2p6dg3fq3vzys6hgwmmgyrxfj2kb4wpbywd7f9p5yd9cfd88"; depends=[class cluster conclust corrplot e1071 factoextra FactoMineR ggplot2 jpeg MASS mclust mda mmand nnet png randomForest reshape sp stringi stringr tcltk2 tkrplot]; };
-  Rcmdr = derive2 { name="Rcmdr"; version="2.7-1"; sha256="1rqj5xdafiqks42ai5rdmvk6szjn1b8yrpssx969d6pdv2pxv96j"; depends=[abind car effects lme4 RcmdrMisc relimp tcltk2]; };
-  RcmdrMisc = derive2 { name="RcmdrMisc"; version="2.7-1"; sha256="1djm21mfk1l8zmaz6p51li0swpvzs05z9p11ad83d5rbbkdpwl7w"; depends=[abind car colorspace e1071 foreign haven Hmisc lattice MASS nortest readstata13 readxl sandwich]; };
+  Rcmdr = derive2 { name="Rcmdr"; version="2.7-2"; sha256="16sx43887zb30j1c8f4xlf4jy5ij8v5kfr3mlsymj99v0i3dq4fs"; depends=[abind car effects lme4 RcmdrMisc relimp tcltk2]; };
+  RcmdrMisc = derive2 { name="RcmdrMisc"; version="2.7-2"; sha256="0r5vrnpd6zs2a2cnab15k6143kdwizaivb3dznjb59kv2aawg3w3"; depends=[abind car colorspace e1071 foreign haven Hmisc lattice MASS nortest readstata13 readxl sandwich]; };
   RcmdrPlugin_BWS1 = derive2 { name="RcmdrPlugin.BWS1"; version="0.1-5"; sha256="1rwfmkpalyhmdfhwszk9q21l362qwq305b3jqh0nrwmmnr09v34w"; depends=[crossdes Rcmdr support_BWS support_CEs survival]; };
   RcmdrPlugin_BiclustGUI = derive2 { name="RcmdrPlugin.BiclustGUI"; version="1.1.3"; sha256="1v0vdr6rffcq5qjqwmnmxbjwcf01zp7lrj81grnjxwqg4xjrcj69"; depends=[BcDiag BiBitR BicARE biclust fabia gplots iBBiG Rcmdr s4vd superbiclust viridis]; };
   RcmdrPlugin_DCCV = derive2 { name="RcmdrPlugin.DCCV"; version="0.1-1"; sha256="1snlzffs9f300iyxsbarykc53pfa8h9qsk354xki7n0wz5jp1lc3"; depends=[DCchoice Rcmdr]; };
@@ -4336,24 +4371,24 @@ in with self; {
   RcmdrPlugin_sampling = derive2 { name="RcmdrPlugin.sampling"; version="1.1"; sha256="0fx0s63wq0si1jydl9xyj9ny7iglg91zpvkyrnc05i5pan9l3xd9"; depends=[lpSolve MASS Rcmdr sampling]; };
   RcmdrPlugin_sos = derive2 { name="RcmdrPlugin.sos"; version="0.3-0"; sha256="1r9jxzmf5ks62b5jbw0pkf388i1lnld6i27xhfzysjqdxcnzdsdz"; depends=[Rcmdr sos tcltk2]; };
   RcmdrPlugin_steepness = derive2 { name="RcmdrPlugin.steepness"; version="0.3-2"; sha256="1na98sl42896y7yklaj07sn88lj6p6ik7gwy9ffaxzicqaa8plgf"; depends=[Rcmdr steepness]; };
-  RcmdrPlugin_survival = derive2 { name="RcmdrPlugin.survival"; version="1.2-1"; sha256="15hjcp9bmn410mzd7vk47l1163vsjck09gw8smvw1xlhczr4a4y6"; depends=[date Rcmdr survival]; };
+  RcmdrPlugin_survival = derive2 { name="RcmdrPlugin.survival"; version="1.2-2"; sha256="1c5xm1h2lza6bxwxn7q4999x4gykn7v04wkx6vs799g4wqlby2dz"; depends=[date Rcmdr survival]; };
   RcmdrPlugin_sutteForecastR = derive2 { name="RcmdrPlugin.sutteForecastR"; version="1.0.0"; sha256="1np42kizkk572vharki84ka34lr7bdlckn4227bnq2l37c0zsq5y"; depends=[Rcmdr sutteForecastR]; };
   RcmdrPlugin_temis = derive2 { name="RcmdrPlugin.temis"; version="0.7.10"; sha256="02rs5xdj6g57frndc87fly0ans16584j4d0rfpy1h72655cz66ab"; depends=[ca lattice latticeExtra NLP R2HTML Rcmdr RColorBrewer slam stringi tcltk2 tm zoo]; };
   Rcolombos = derive2 { name="Rcolombos"; version="2.0.2"; sha256="0l92icjqqm5fxafqwd09lnmv5x6kvjdg8cphlm37q86nslwr5rkk"; depends=[httr]; };
   Rcompadre = derive2 { name="Rcompadre"; version="1.1.0"; sha256="025r6dq5qs3ri5nkg4mr76jzps2p9y56i8514m97amq8lzrxl8h4"; depends=[popdemo tibble]; };
   Rcplex = derive2 { name="Rcplex"; version="0.3-5"; sha256="10z5akab66d8a3rcs5dbqq1w59hhyn52mq8vpjhcxpzqqc3c7442"; depends=[slam]; };
-  Rcpp = derive2 { name="Rcpp"; version="1.0.7"; sha256="07fwlgmx0ib4nziqbrylla2dlakw04vzny9w4qbfvnhn49rs9r8m"; depends=[]; };
+  Rcpp = derive2 { name="Rcpp"; version="1.0.8"; sha256="1vkqyqly6lzr1h3szaihmayvpjkzscxp4y258vnw8nh4pjb957w7"; depends=[]; };
   Rcpp11 = derive2 { name="Rcpp11"; version="3.1.2.0.1"; sha256="0vw41plcl7hbi0af3la0sb4x8zqnhxjpjslx8r8cllfamy9dixki"; depends=[]; };
   RcppAPT = derive2 { name="RcppAPT"; version="0.0.8"; sha256="19814v7gi01dqjm7lrrhw4c5ww69zj20qfli4530qzsq7v6rapzp"; depends=[Rcpp]; };
   RcppAlgos = derive2 { name="RcppAlgos"; version="2.4.3"; sha256="1vclvkd9gikx9n7cvgbf8j9sahmy0wfrgzb1hcpsdj8l6ymjc91k"; depends=[gmp Rcpp RcppThread]; };
   RcppAnnoy = derive2 { name="RcppAnnoy"; version="0.0.19"; sha256="12k8ny981dmky5js8yl6bih5r5mq3w43f2f9admhkwqn0n80kcl9"; depends=[Rcpp]; };
-  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.10.7.5.0"; sha256="0516j6n657kxm8sdbxf3jd9z40px9mv7zza4fz8nih63f5iiw1kw"; depends=[Rcpp]; };
+  RcppArmadillo = derive2 { name="RcppArmadillo"; version="0.10.8.1.0"; sha256="1x7mk85rc4pmn17nm63k6rbkarsmghjapznias268545nfpib97g"; depends=[Rcpp]; };
   RcppBDT = derive2 { name="RcppBDT"; version="0.2.4"; sha256="11xq2lz4n4gyqk4pz8c3zr5ll8jlh1qlbf9rbqd3q6s3qzphpybd"; depends=[BH Rcpp]; };
   RcppBigIntAlgos = derive2 { name="RcppBigIntAlgos"; version="1.0.1"; sha256="157a14kqcf0q3z01mn4w1194k2l39dd4qmqs0i115p8bvkjc6ncd"; depends=[gmp Rcpp RcppThread]; };
   RcppCCTZ = derive2 { name="RcppCCTZ"; version="0.2.10"; sha256="0jj4w8141xl3yvr4ss8c48kiib5d0rsj7f6csn3hq9viqy71hy1s"; depends=[Rcpp]; };
-  RcppCGAL = derive2 { name="RcppCGAL"; version="5.3.1"; sha256="1652741qzfspnljp48y4ccsgh1sycxr38c5ailcs6349faykgamd"; depends=[]; };
+  RcppCGAL = derive2 { name="RcppCGAL"; version="5.3.1.1"; sha256="0pxfvcpizvqlixz8547m7wf7haza5ca9bslvg8wwwmnpwrifz4fy"; depends=[Rcpp]; };
   RcppCNPy = derive2 { name="RcppCNPy"; version="0.2.10"; sha256="175bn75akwgz3vcp0n59kiqqz7q9cwkvih241nj8v810cp4gpmkp"; depends=[Rcpp]; };
-  RcppCWB = derive2 { name="RcppCWB"; version="0.4.4"; sha256="1jzfpqgr339f6qrbvxv8zlhfw56vvr18gm6a8ik1w138s1xanh6f"; depends=[Rcpp]; };
+  RcppCWB = derive2 { name="RcppCWB"; version="0.5.0"; sha256="0zywvljyg9vfdg6qkwc7xl2b5wc5m3jw1dfg4r6wvl8lgq06ihcr"; depends=[Rcpp]; };
   RcppCensSpatial = derive2 { name="RcppCensSpatial"; version="0.1.0"; sha256="0ckyl88b81l58dkk0s40mcanjqaibi106q6jsrak79as93g1dbh1"; depends=[ggplot2 gridExtra MomTrunc mvtnorm Rcpp RcppArmadillo RcppProgress Rdpack roptim tlrmvnmvt]; };
   RcppClassic = derive2 { name="RcppClassic"; version="0.9.12"; sha256="0v9v34i1c4dkplavdl14kz1k2rnk4hsaiyv6rkc9403z9isvzzr0"; depends=[Rcpp]; };
   RcppClassicExamples = derive2 { name="RcppClassicExamples"; version="0.1.2"; sha256="0dr2104miy7psr73nicfs84652ai0d5liw6wxcwyrx7fmys3p638"; depends=[Rcpp RcppClassic]; };
@@ -4375,13 +4410,13 @@ in with self; {
   RcppGreedySetCover = derive2 { name="RcppGreedySetCover"; version="0.1.0"; sha256="1v84i9gsmvpkmgd4niqnzp58nhrgn2j4rggsrnlh391ikdfrl51x"; depends=[BH data_table Rcpp]; };
   RcppHMM = derive2 { name="RcppHMM"; version="1.2.2"; sha256="0scdzmns1yw2gbarblzd6cbvndlysz54ff17qijiz17ql5cyzly6"; depends=[Rcpp RcppArmadillo]; };
   RcppHNSW = derive2 { name="RcppHNSW"; version="0.3.0"; sha256="01z0plf1i6dyibw4ica8shmijyk1grpqb886hcga72z2cpm4xsx0"; depends=[Rcpp]; };
-  RcppHungarian = derive2 { name="RcppHungarian"; version="0.1"; sha256="1yx7kjjampjk47l8cqpv727g0nv23dnld9n8iwf7h1myfrl3yb6h"; depends=[Rcpp]; };
+  RcppHungarian = derive2 { name="RcppHungarian"; version="0.2"; sha256="0x8jnlc49yng555sl7nvs19x3ydx1bhz0d7ym2igam4xx89hsh9k"; depends=[Rcpp]; };
   RcppML = derive2 { name="RcppML"; version="0.3.7"; sha256="1ih8i7i6m221iw227mnl3rvnaw2l53h8fpnc4f8yn9sm10anap1j"; depends=[Matrix Rcpp RcppEigen]; };
   RcppMeCab = derive2 { name="RcppMeCab"; version="0.0.1.2"; sha256="0varavfbrqzma176rw0dr9v5chh7pxh5y9g0rs3v7hqnlghp22y2"; depends=[BH Rcpp RcppParallel]; };
   RcppMsgPack = derive2 { name="RcppMsgPack"; version="0.2.3"; sha256="0ffdw5ckkax8j87q0ykjhyp45l7gvxjppdi73kc4r5qxvijll2g3"; depends=[BH Rcpp]; };
   RcppNLoptExample = derive2 { name="RcppNLoptExample"; version="0.0.1"; sha256="1fml6hpa12q0lgg5fg6fi9lz6mckwh345pbh95mld2qagzvmg01n"; depends=[nloptr Rcpp]; };
   RcppNumerical = derive2 { name="RcppNumerical"; version="0.4-0"; sha256="1a92fql6mijhnr1kxkcxwivf95pk9lhgmhzkshs51h0ybfv5krik"; depends=[Rcpp RcppEigen]; };
-  RcppParallel = derive2 { name="RcppParallel"; version="5.1.4"; sha256="10pa9vaz7p4m6hjca2cpy6vj7rvgly4zv0q1g2xfsmcchyk4bdbn"; depends=[]; };
+  RcppParallel = derive2 { name="RcppParallel"; version="5.1.5"; sha256="1sn211ajlb1p12sglxqns175rg078yvww268m8cp0vvd7cmk55k3"; depends=[]; };
   RcppProgress = derive2 { name="RcppProgress"; version="0.4.2"; sha256="0j2b37gwjpgmrnr00srdzm751hzlpsjb54ph63xxmcdfnwhlnqmi"; depends=[]; };
   RcppQuantuccia = derive2 { name="RcppQuantuccia"; version="0.1.0"; sha256="0nclclhrhvdma8s07jly0xrmaf8iqigln137wmjnsmj6hg7r8ph9"; depends=[BH Rcpp]; };
   RcppRedis = derive2 { name="RcppRedis"; version="0.1.11"; sha256="0aill5ng6ifcafsij1nsqcchca8sxdd87645c45sx7dznpsgrhvj"; depends=[BH RApiSerialize Rcpp]; };
@@ -4392,7 +4427,7 @@ in with self; {
   RcppStreams = derive2 { name="RcppStreams"; version="0.1.3"; sha256="06il7q3afaws57m0fxf04f2p5dvs23l1f7gl78pxwzclacdy3839"; depends=[BH Rcpp]; };
   RcppTN = derive2 { name="RcppTN"; version="0.2-2"; sha256="0m2wc5n1fzxv56s4gqqnygb24dbadgrpgjm4bs4hr6qazgjapymf"; depends=[Rcpp]; };
   RcppTOML = derive2 { name="RcppTOML"; version="0.1.7"; sha256="0h8517ipwqhqkhcfiyqmvsb585g01p0ra0azbpzyxip6pq6g029g"; depends=[Rcpp]; };
-  RcppThread = derive2 { name="RcppThread"; version="1.0.0"; sha256="1xfcxrny779kgknlvnc4j02ifprnakndnkhx8bhy50d39vp4hjjl"; depends=[]; };
+  RcppThread = derive2 { name="RcppThread"; version="2.0.2"; sha256="1hkv4074b1lm60rgryhl6167axbc54ci2qxlsan079ak6vzlx31b"; depends=[]; };
   RcppUUID = derive2 { name="RcppUUID"; version="1.0.0"; sha256="0sx25z71bkjsf3ggljqkv1pji5kc32i3lkq28igiwixxfl2kj89b"; depends=[BH Rcpp]; };
   RcppXPtrUtils = derive2 { name="RcppXPtrUtils"; version="0.1.1"; sha256="0jh64c46gp99d2nsih14vx34pamc8i7gkmiy2nj94rx3sxq62yh5"; depends=[Rcpp]; };
   RcppXsimd = derive2 { name="RcppXsimd"; version="7.1.6"; sha256="1iwiz4964dw015cbxcanks8xkjan39hfzf8x6bhvf6dqqwkc4bh7"; depends=[Rcpp]; };
@@ -4408,7 +4443,7 @@ in with self; {
   Rdca = derive2 { name="Rdca"; version="0.1.0"; sha256="06s4n5xpla937q9f55xmsickvdiwiapxmwqvn6k0zsacisscaagl"; depends=[dplyr magrittr minpack_lm Rcpp RcppArmadillo Rdpack]; };
   Rdiagnosislist = derive2 { name="Rdiagnosislist"; version="1.0"; sha256="0f7dikc23z7gyhi29dg2l4l1q178d16nad98xvmdbygah8k1b377"; depends=[bit64 data_table]; };
   Rdice = derive2 { name="Rdice"; version="1.0.0"; sha256="1xibvm690808p2g3jch7rh1825yrpgln2hjfclgxjwn822qvs4xr"; depends=[data_table]; };
-  Rdimtools = derive2 { name="Rdimtools"; version="1.0.8"; sha256="0hzr8yiiwjik0ppr7lak864nngr9i68ib01x9v4g86ixmgakha0w"; depends=[CVXR maotai MASS mclustcomp RANN Rcpp RcppArmadillo RcppDE RcppDist Rcsdp Rdpack RSpectra]; };
+  Rdimtools = derive2 { name="Rdimtools"; version="1.0.9"; sha256="1fb5daizc615g58yai6p4lqczwi8kq6fyyifnyn8izxjdpqh0ivm"; depends=[CVXR maotai MASS mclustcomp RANN Rcpp RcppArmadillo RcppDE RcppDist Rcsdp Rdpack RSpectra]; };
   Rdistance = derive2 { name="Rdistance"; version="2.1.3"; sha256="03wh6y9h5jgfc6xdncpgyz0v7lqavikp3pf5wwfmm2rqfj7yjr8c"; depends=[]; };
   Rdpack = derive2 { name="Rdpack"; version="2.1.3"; sha256="1f2m9pxm4s4gkrqh58jznkqj2fcw6f29c1l05k5mmkwsdf3ai0c3"; depends=[rbibutils]; };
   Rdroolsjars = derive2 { name="Rdroolsjars"; version="1.0.1"; sha256="1l9bc1bwpj10irr973hzkhr04i1f3g998n8hcl2k2i9kgv1naqmz"; depends=[rJava]; };
@@ -4419,7 +4454,7 @@ in with self; {
   Rdtq = derive2 { name="Rdtq"; version="0.1"; sha256="114pyf95nl132014ygn84xi41c2zf1ii2wfgd1acwnnmfzvdw24s"; depends=[Matrix Rcpp]; };
   Rduino = derive2 { name="Rduino"; version="0.1"; sha256="0r1yy3a2n8a4niasfjn77gv130a062i802r7xhbg0abljv5m6ra5"; depends=[serial]; };
   ReCiPa = derive2 { name="ReCiPa"; version="3.0"; sha256="019vlvgxnqqlwghxygfqggzp2b4x2pqzdrbhaa703zdhm58k0n1g"; depends=[]; };
-  ReDaMoR = derive2 { name="ReDaMoR"; version="0.4.3"; sha256="0dpqa1j43zgrbp77hyymnw6llqfii95q9ivsxidslkdrj3bqb5dc"; depends=[colourpicker crayon dplyr DT igraph jsonlite magrittr markdown readr rintrojs rstudioapi shiny shinyjs visNetwork]; };
+  ReDaMoR = derive2 { name="ReDaMoR"; version="0.5.2"; sha256="0yc1jh2ashgy9zcns7dcd5zgnpgigmzrcxi28xwkgjzaidsc7lm7"; depends=[colourpicker crayon dplyr DT igraph jsonlite magrittr markdown readr rintrojs rstudioapi shiny shinyjs visNetwork]; };
   ReDirection = derive2 { name="ReDirection"; version="1.0.1"; sha256="0hcl09drgr93yjssw2mpdpvr084ifzylsi6140hafjpm9f9pmvkm"; depends=[gtools MASS pracma]; };
   ReIns = derive2 { name="ReIns"; version="1.0.10"; sha256="04rqb2jhmgq1az1c1rbs6jfg6gpxjs34k0m4w3a8gnq48l6dwqi8"; depends=[doParallel foreach Rcpp survival]; };
   ReacTran = derive2 { name="ReacTran"; version="1.4.3.1"; sha256="05c9jfvj134gy3by7m3r1fbar0m39vaydr7d2py9cakzs44fqfpj"; depends=[deSolve rootSolve shape]; };
@@ -4429,7 +4464,7 @@ in with self; {
   RecAssoRules = derive2 { name="RecAssoRules"; version="1.0"; sha256="0jvl9yl1rg69bqb1cimi8r0bry73jhsq73fxfyy33ljwym2cdgv6"; depends=[Rcpp]; };
   Recocrop = derive2 { name="Recocrop"; version="0.3-2"; sha256="1kcw0qkxwa58yk6iclbg5c0m3q2ylqwra24y9vxjpr2ajmsr5lf8"; depends=[meteor Rcpp terra]; };
   Recon = derive2 { name="Recon"; version="0.3.0.0"; sha256="11gag2bl00pcy7ysfycaa58qarh6aigznldkc4kkn2178bl4ii62"; depends=[rootSolve]; };
-  RecordLinkage = derive2 { name="RecordLinkage"; version="0.4-12.1"; sha256="0l837hmcn1gwisn1y9q745grg1fyrdbx44jhj81475h2zdn8dbs4"; depends=[ada data_table DBI e1071 evd ff ipred nnet rpart RSQLite xtable]; };
+  RecordLinkage = derive2 { name="RecordLinkage"; version="0.4-12.3"; sha256="11nlmg1hcf4nv69ampc4mdq2lz27mq9yn4q7c0k45g0ilydb0pg3"; depends=[ada data_table DBI e1071 evd ff ipred nnet rpart RSQLite xtable]; };
   RecordTest = derive2 { name="RecordTest"; version="2.1.0"; sha256="0a5hbhqx97kllwf5k6lrhcqixhqqj8ndklcvpmsp9jdf011b1100"; depends=[ggplot2]; };
   Records = derive2 { name="Records"; version="1.0"; sha256="08y1g2m6bdrvv4rpkhd5v2lh7vprxy9bcx9ahp1f7p062bn2lwji"; depends=[]; };
   RedditExtractoR = derive2 { name="RedditExtractoR"; version="3.0.5"; sha256="09f815av0sn9cz5n3l02k1rrl91d4f67xkwqpdpadw7hnv516pwf"; depends=[RJSONIO rlang]; };
@@ -4457,7 +4492,7 @@ in with self; {
   RepertoiR = derive2 { name="RepertoiR"; version="0.0.1"; sha256="1m7n7p40n3djy91z8z3gqqwscqgij63rjrj2bqbl3baqz16nf4hc"; depends=[circlize igraph reshape2 stringdist stringi stringr]; };
   Replicate = derive2 { name="Replicate"; version="1.2.0"; sha256="0kqy248c8n7qr5hwzvqm7flnjlwd60c577r1d4vzgfxn7azd5v3v"; depends=[ggplot2 metafor]; };
   Replication = derive2 { name="Replication"; version="0.1.2"; sha256="1za7zcdaf839xf8hxy4rcrr1p80n6a3ywb2bsl3wikwa0pxdvvbh"; depends=[blavaan lavaan MASS mice quadprog rjags runjags]; };
-  ReplicationSuccess = derive2 { name="ReplicationSuccess"; version="1.1.1"; sha256="169zdf6hb7g9699w5izs149v79f3jbvrq82vq71ri8k07kzbshlk"; depends=[]; };
+  ReplicationSuccess = derive2 { name="ReplicationSuccess"; version="1.2"; sha256="0x470102sr819jgm1h5b228qcckghnfv8badgb53jy05ral7lrc2"; depends=[]; };
   Repliscope = derive2 { name="Repliscope"; version="1.1.0"; sha256="0hij4ng77bkd979ndbhx1nqq2rfb69q23ghyd7illgvgrc79y9mr"; depends=[colourpicker ggplot2 shiny]; };
   RepoGenerator = derive2 { name="RepoGenerator"; version="0.0.1"; sha256="0d6s2sqyycaqrg32xdkp3pr5i7qmvwrfrjcd7f94a9y3lz4bz5b5"; depends=[git2r httr rmarkdown rstudioapi]; };
   Require = derive2 { name="Require"; version="0.0.13"; sha256="09i5pq0qx1n10sbby0jqgs7arw46a31c4wn9mnz71gjad5kv375d"; depends=[data_table remotes]; };
@@ -4479,9 +4514,9 @@ in with self; {
   Rfit = derive2 { name="Rfit"; version="0.24.2"; sha256="1b3pza2xdpifvrcqbdp5r2wy82ws1844bnpna01hqj65xbw2iix8"; depends=[]; };
   Rfmtool = derive2 { name="Rfmtool"; version="4.1.4"; sha256="0vli7n957vrxs47nq5h4aqd9nwq7alj47q91zqc009rfx7wgx2k5"; depends=[]; };
   Rfolding = derive2 { name="Rfolding"; version="1.0"; sha256="15lf73zxr1slin9faj9k0z8qkb1g9nb7h080nfv99gsi2ks68ssg"; depends=[]; };
-  Rforestry = derive2 { name="Rforestry"; version="0.9.0.57"; sha256="1sm45ivij3pdgr5n2mqz25613nq7865d0mk9c2k33sb3z1lbfi73"; depends=[dplyr glmnet onehot Rcpp RcppArmadillo RcppThread visNetwork]; };
+  Rforestry = derive2 { name="Rforestry"; version="0.9.0.72"; sha256="02azafn8rbni4jxjvnrr7gyg2s0j6zl9059xdwvdwh3dj3m2cx2z"; depends=[dplyr glmnet onehot Rcpp RcppArmadillo RcppThread visNetwork]; };
   Rfractran = derive2 { name="Rfractran"; version="1.0"; sha256="0cwc069f7rhkxkr5kn0n43mdy8m47gh0q6d5ijwzkhncrijb10cy"; depends=[gmp]; };
-  Rfssa = derive2 { name="Rfssa"; version="2.0.0"; sha256="13pp2nw14pivjnxw69j9hdqhsf980xjr94ccxi48ak2hvh4za2zg"; depends=[dplyr fda ggplot2 hrbrthemes httr lattice markdown plotly Rcpp RcppArmadillo RcppEigen RSpectra Rssa shiny tibble]; };
+  Rfssa = derive2 { name="Rfssa"; version="2.0.1"; sha256="07aj8gmr6sjrmx82g2g6xn40c3kb8i9bknsd0db0av6kfd8x6giy"; depends=[dplyr fda ggplot2 hrbrthemes httr lattice markdown plotly Rcpp RcppArmadillo RcppEigen RSpectra Rssa shiny tibble]; };
   Rga4gh = derive2 { name="Rga4gh"; version="0.1.1"; sha256="0h5y722blkkwn6ask6vjnhl22v9l6511chdm50ig6xcs5dvjam2m"; depends=[httr jsonlite]; };
   Rgb = derive2 { name="Rgb"; version="1.6.1"; sha256="0qs3dlv4g45dqphqjm23ky3w6rxh8ff2q6b17kvf57skyf1b1yn8"; depends=[]; };
   Rgbp = derive2 { name="Rgbp"; version="1.1.4"; sha256="1y51sms321sbrl3rgzp5hq4y5mqkrjxsyrq75gkcbwfvlakjcfrg"; depends=[mnormt sn]; };
@@ -4499,7 +4534,7 @@ in with self; {
   Rirt = derive2 { name="Rirt"; version="0.0.2"; sha256="0npd2g3a4dh5hlj6l06k1pf0j4731ybqqd4mpi4id16nf81cg104"; depends=[ggplot2 Rcpp reshape2]; };
   Risk = derive2 { name="Risk"; version="1.0"; sha256="1i42xcc699syj108mvgklwb30wkf9c9jrg5rmd2ypnqk9mnyg2fg"; depends=[]; };
   RiskPortfolios = derive2 { name="RiskPortfolios"; version="2.1.7"; sha256="07mhn8imn4y8kf50x2g7i55dyksh0sryjkzb09rkf64x49vq7ban"; depends=[MASS nloptr quadprog]; };
-  Rita = derive2 { name="Rita"; version="1.0.0"; sha256="05zk2akr35zlwpylgmg67m4gizdkxydds2isjmaj1bnz848s2dmd"; depends=[lattice]; };
+  Rita = derive2 { name="Rita"; version="1.1.0"; sha256="1kpnb8dk81w6gi8wmp1qfjkg9bqzbsniax4hdr6qg921rqaxwack"; depends=[lattice]; };
   Ritc = derive2 { name="Ritc"; version="1.0.2"; sha256="03smhxjhjfkc9pxhlgg54b6v2jznpmnws8373qpvn9a9ky5bcq2l"; depends=[minpack_lm]; };
   RiverBuilder = derive2 { name="RiverBuilder"; version="0.1.1"; sha256="06cd1m4liv2bsh2sxplq2zl45g9zq8gsgvh14d0zr0pqm8z4dsyw"; depends=[]; };
   RiverLoad = derive2 { name="RiverLoad"; version="1.0.3"; sha256="01nrkj75smnsfrl0x82dif67q9xs15ngksz0p73i7xf6dqprjjcf"; depends=[imputeTS]; };
@@ -4529,7 +4564,7 @@ in with self; {
   Rnmr1D = derive2 { name="Rnmr1D"; version="1.3.0"; sha256="1x06a2bsfpx27pgpxj0dih72pav26g3j0lmh0fa8gjw45jc64f4a"; depends=[base64enc doParallel foreach ggplot2 igraph impute MASS MassSpecWavelet Matrix minqa plotly plyr ptw Rcpp signal speaq XML]; };
   Rnumerai = derive2 { name="Rnumerai"; version="2.1.4"; sha256="0zxpim1wgymdhdyl7dcvc16iic57wmn8qvxicps9kgr8wxgic0p8"; depends=[arrow data_table dplyr ggplot2 httr lubridate purrr tidyr]; };
   Rnvd3 = derive2 { name="Rnvd3"; version="1.0.0"; sha256="13l5vcbcm88jfsc11ijkvr1s8qk8fflclazs4kl1k2wzpnlr6z6a"; depends=[data_table htmltools htmlwidgets jsonlite lazyeval lubridate viridisLite]; };
-  RoBMA = derive2 { name="RoBMA"; version="2.1.1"; sha256="0i4pawqsa4iy0xa1sahnbchbrip2cbqklfks29ffjwa511h8g510"; depends=[BayesTools bridgesampling callr coda extraDistr ggplot2 psych Rdpack rjags runjags scales]; };
+  RoBMA = derive2 { name="RoBMA"; version="2.1.2"; sha256="0qp2rs6wvkfprzi3rwb32wfnjvp7fs74a6mxl4bzfwgpv2ai4g33"; depends=[BayesTools bridgesampling callr coda extraDistr ggplot2 psych Rdpack rjags runjags scales]; };
   RobAStBase = derive2 { name="RobAStBase"; version="1.2.1"; sha256="0dn93bcyz9kxbj38sc1wisfa6v0666v9gk6y3zq0ihjkkhkmdwq3"; depends=[distr distrEx distrMod RandVar rrcov startupmsg]; };
   RobAStRDA = derive2 { name="RobAStRDA"; version="1.2.0"; sha256="1s84j5in4av9zbbszv8j2rpigrd9ws9h4hz64jw7xagsj3xb49kz"; depends=[]; };
   RobExtremes = derive2 { name="RobExtremes"; version="1.2.0"; sha256="150p94f0g75g54qcaq4x45lk4sxiyvv1zs4hxkicf46raybvsv89"; depends=[actuar distr distrEx distrMod evd RandVar RobAStBase RobAStRDA robustbase ROptEst startupmsg]; };
@@ -4542,18 +4577,18 @@ in with self; {
   RobRSVD = derive2 { name="RobRSVD"; version="1.0"; sha256="07z5fw8j5lq7nyxgkvb9i4iwb5inddz2ib4m2bjx6q4c1ricpqz9"; depends=[]; };
   RobRex = derive2 { name="RobRex"; version="1.2.0"; sha256="1npgbdvdzb0p0w77fsngrwg968y621p3lx8qw69ns8qgxjkismqp"; depends=[distr RandVar RobAStBase ROptRegTS]; };
   RobStatTM = derive2 { name="RobStatTM"; version="1.0.3"; sha256="12m10jcy929143kl6v9x45vqcsjvpqhwsnd9sfn2bfb30v31335r"; depends=[pyinit robustbase rrcov]; };
-  RobinHood = derive2 { name="RobinHood"; version="1.6"; sha256="1513z92kk7p1d25zlm597yfswdx4x2w880366cs06j7nfg32izir"; depends=[dplyr httr jsonlite lubridate magrittr profvis uuid]; };
+  RobinHood = derive2 { name="RobinHood"; version="1.6.2"; sha256="0sqqsakqg05dc7g0l1ypx5xkvy5bnk7m4bdpcfxgbshry7402kh3"; depends=[dplyr httr jsonlite lubridate magrittr profvis uuid]; };
   Robocoap = derive2 { name="Robocoap"; version="0.1-1"; sha256="0aj6iv85a1zfaknjhrzf6lnf0qn726dvnj4dywg9nii1kkqrkq2w"; depends=[data_table igraph markovchain tm]; };
   RobustAFT = derive2 { name="RobustAFT"; version="1.4-5"; sha256="1i119qqlavfj7k0srb8fbbyy2nhsjv9rgrni854liizr9m51cgac"; depends=[robustbase survival]; };
   RobustBF = derive2 { name="RobustBF"; version="0.2.0"; sha256="137lsk72sx29lhkc1s698k015vvbmdzb23i8pnlk5204bjfqzch8"; depends=[]; };
   RobustBayesianCopas = derive2 { name="RobustBayesianCopas"; version="2.0"; sha256="0cbibfp4y45cc1disp2r37v0jln0cd9gy3d77z3k9ybj1gg8wa88"; depends=[rjags statip]; };
-  RobustCalibration = derive2 { name="RobustCalibration"; version="0.5.1"; sha256="0wsnvryvrl37acljrda2dm1d8aynqiy66yd2i857m035whixfpqa"; depends=[Rcpp RcppEigen RobustGaSP]; };
-  RobustGaSP = derive2 { name="RobustGaSP"; version="0.6.3"; sha256="14frbm41f75664ik520724psnh6h24qhp09fbwbcm6waqavs3q12"; depends=[nloptr Rcpp RcppEigen]; };
+  RobustCalibration = derive2 { name="RobustCalibration"; version="0.5.2"; sha256="0004rjgdl4g6ghn29zzvz6q877njxwr4cvc2r6i6cmsdjav9kqis"; depends=[nloptr Rcpp RcppEigen RobustGaSP]; };
+  RobustGaSP = derive2 { name="RobustGaSP"; version="0.6.4"; sha256="04l6glx7ys4v3z96h0sfcxfcdnq5aj5z7qyxljgjal91rgxbmn9j"; depends=[nloptr Rcpp RcppEigen]; };
   RobustLinearReg = derive2 { name="RobustLinearReg"; version="1.2.0"; sha256="06137f516gyj64qdmwby7m1xnvj4hxzpqj454jn0xcinvl89380w"; depends=[]; };
   RobustRankAggreg = derive2 { name="RobustRankAggreg"; version="1.1"; sha256="1pslqyr1lji1zvcrwyax4zg2s81p1jnhfldz8mdfhsp5y7v8iar3"; depends=[]; };
   RockFab = derive2 { name="RockFab"; version="1.2"; sha256="1b5mhfll5vmqwl4pblmclyx9604vn07jyza02rm0jcsx915ms8sc"; depends=[EBImage rgl]; };
   Rodam = derive2 { name="Rodam"; version="0.1.12"; sha256="01pjyz4sjdvmjicvajvhryv9b3kzwdyba0vwj0gvyrf6wiahv4qx"; depends=[httr]; };
-  Rogue = derive2 { name="Rogue"; version="2.0.0"; sha256="1dxyxgwy0hylbbgi9vc6g8cll2qxim2wl9zva643g4aq4da5wwsg"; depends=[ape cli fastmatch matrixStats Rdpack Rfast TreeDist TreeTools]; };
+  Rogue = derive2 { name="Rogue"; version="2.1.0"; sha256="1dr7rknvkrwkd53ah92wkrn1k3jr3bkzkp5r90v9mq0vlq9hvvn2"; depends=[ape cli fastmatch matrixStats Rdpack Rfast TreeDist TreeTools]; };
   RolWinMulCor = derive2 { name="RolWinMulCor"; version="1.2.0"; sha256="0vfsgp0qvv6pnpai8nyy0xzzlzyjwx98xrhlwlks9dbm84wg8vqr"; depends=[colorspace gtools pracma scales zoo]; };
   RonFHIR = derive2 { name="RonFHIR"; version="0.4.0"; sha256="1ajpgpp300m0zzqzzwsn8sfy8x751hrr8py9n9xvzjmkgyrh4hhw"; depends=[httr jsonlite R6 stringr]; };
   Rook = derive2 { name="Rook"; version="1.1-1"; sha256="00s9a0kr9rwxvlq433daxjk4ji8m0w60hjdprf502msw9kxfrx00"; depends=[brew]; };
@@ -4579,6 +4614,7 @@ in with self; {
   Rquefts = derive2 { name="Rquefts"; version="1.2-1"; sha256="1v548wys8fd6xqz4hfvqkckl6szjf6zr383n1x0kc6f2pfrc6jnf"; depends=[meteor Rcpp]; };
   Rramas = derive2 { name="Rramas"; version="0.1-6"; sha256="16aapvz9j81lvi5ryj41bvn3wf51b0gynnzs0jpvva4m3mvzw6an"; depends=[diagram]; };
   Rraven = derive2 { name="Rraven"; version="1.0.13"; sha256="0nlqr1hzbzbz4rb3hjy01iw8czhaqvwmy9hh728fgl5vajwqwn8g"; depends=[NatureSounds pbapply seewave tuneR warbleR]; };
+  Rrdap = derive2 { name="Rrdap"; version="1.0.1"; sha256="1mnk1s1nyrj9cz9j2gkw6p9wdj79jajb2hjzynanfw1zmgmnd45g"; depends=[curl rjson stringr]; };
   Rrdrand = derive2 { name="Rrdrand"; version="0.1-16"; sha256="0j9yyvq8r1cgwj3kw1ak6hyazr67f2q0c1m651wdm0wcvm1ajx7f"; depends=[]; };
   RsSimulx = derive2 { name="RsSimulx"; version="1.0.1"; sha256="0fg19mmgcqz39mxhnxlsd1l1qmkjrvbc3149hrib0mayy1b1fqw4"; depends=[ggplot2 gridExtra]; };
   Rsagacmd = derive2 { name="Rsagacmd"; version="0.1.2"; sha256="0zj9a63hq8pm592lvf3n62pzn0lfkh02d4v4mkqhgixx7jaxyz2x"; depends=[foreign generics processx raster rgdal rlang rvest sf stars stringr terra tibble]; };
@@ -4600,12 +4636,12 @@ in with self; {
   Rsymphony = derive2 { name="Rsymphony"; version="0.1-33"; sha256="1y2jcpzi8zn6rxwmp3gxyyk8nq204ri8vv6p4552hb55nnvqvc8s"; depends=[]; };
   RtD3 = derive2 { name="RtD3"; version="0.0.1"; sha256="0zbm9pf1z8xl99aj64xy8q3hly98c2rzy34fzkbjyndysvxf9032"; depends=[data_table geojsonsf htmlwidgets jsonlite purrr]; };
   Rtauchen = derive2 { name="Rtauchen"; version="1.0"; sha256="09282k6qsjxgm26682npfjymmbx5g8flcc44awmkjl2k4fa1q9ha"; depends=[]; };
-  Rthingsboard = derive2 { name="Rthingsboard"; version="0.2.4"; sha256="0577fb7f1dm5a3xz6q9gmg97i2080hv2qpq944wilfmfzz0xa4h1"; depends=[dplyr httr logger]; };
+  Rthingsboard = derive2 { name="Rthingsboard"; version="0.2.7"; sha256="165yx215vmsx3r5zqzh0awf5jzznxsapq49c3q5qrhcircbnjfcg"; depends=[dplyr httr logger]; };
   Rtnmin = derive2 { name="Rtnmin"; version="2016-7.7"; sha256="0f8ii87v29v61b93hx2yxdppp3nvgnl5imp80sbb4bjsdg0mf989"; depends=[]; };
   Rtrack = derive2 { name="Rtrack"; version="1.0.0"; sha256="01xgbz37rsbjkix9nlx64qyimsbbgsmyswcv4jbpqasvkp6d480q"; depends=[crayon Hmisc KernSmooth openxlsx pbapply randomForest raster readxl rgeos rjson sp]; };
   Rtropical = derive2 { name="Rtropical"; version="1.2.1"; sha256="1r4585z1fna9s8whaq1w0drndg9cpqmrmqylj3m2ahfppb0xr3ic"; depends=[ape caret lpSolve lpSolveAPI RcppAlgos Rfast]; };
   Rtsne = derive2 { name="Rtsne"; version="0.15"; sha256="0v17vxizrs1msay24xl2bckfajr2c82wpqj07lyssbrq197nwdsn"; depends=[Rcpp]; };
-  Rttf2pt1 = derive2 { name="Rttf2pt1"; version="1.3.9"; sha256="0w9ybqvr4bvpa2dyfkrscg4in0x2dkzmxdn1n6003j1rss7f8rw6"; depends=[]; };
+  Rttf2pt1 = derive2 { name="Rttf2pt1"; version="1.3.10"; sha256="1fp1y0kxa5xg8w0dplm12wfm8h78az4k6ql1758wwhb3d17np241"; depends=[]; };
   RtutoR = derive2 { name="RtutoR"; version="1.2"; sha256="19wmi30b5i6zj673d76gxl6j0k3ppfyl5fqrcs0dwmmadrrvbajq"; depends=[colourpicker devtools dplyr DT FSelector ggplot2 ggthemes officer plotly rlang rmarkdown shiny shinyBS shinydashboard shinyjs tidyr]; };
   Rtwalk = derive2 { name="Rtwalk"; version="1.8.0"; sha256="0zxf66lsfq8by40flv34xzd5yy0wa1ah9li1d0h7f0yh9nbwhxl5"; depends=[]; };
   Runiversal = derive2 { name="Runiversal"; version="1.0.2"; sha256="0667mspsjydmxi848c6wsf14gz72bmdj9b3lilma92b7fhqnv7ai"; depends=[]; };
@@ -4615,13 +4651,13 @@ in with self; {
   Rvoterdistance = derive2 { name="Rvoterdistance"; version="1.1"; sha256="16il36hkq1j6gyl5d8bx5khiiv6fy2m8vkhwiaaiqsliw2sspy4j"; depends=[Rcpp]; };
   Rwave = derive2 { name="Rwave"; version="2.6-0"; sha256="1si4iambn5kxagc24gy83hlvv5zgypz6dqxbzk24qxzfwglkhqzb"; depends=[]; };
   RweaveExtra = derive2 { name="RweaveExtra"; version="1.0-0"; sha256="1jg4dn2x8d74z0wy9j9azvb8f1g0449ji5yl6g964lv2g3fpq6qh"; depends=[]; };
-  Rwhois = derive2 { name="Rwhois"; version="1.0.8"; sha256="0czsxqvr07676jsxv4bnjfyr9n2zj34pdirhd259113ypv542590"; depends=[stringr]; };
+  Rwhois = derive2 { name="Rwhois"; version="1.0.9"; sha256="0jf7byg5ah4djj4b3l0760x9bk9yh6b23aa3w0q1cqlx4j9drf2w"; depends=[stringr]; };
   Rwinsteps = derive2 { name="Rwinsteps"; version="1.0-1.1"; sha256="0kaxhaa65k1hkhl4kqfxyyk6v967xncrdr5hy8b808zlbqriankc"; depends=[]; };
   Rwofost = derive2 { name="Rwofost"; version="0.8-3"; sha256="1x6ia49xrdqcxilq12g47gd00smm5jdrq7xavndd3dcnvl1nqk1y"; depends=[meteor Rcpp]; };
   Rwordseg = derive2 { name="Rwordseg"; version="0.3-2"; sha256="10jhfalh45rrcm76hwz4b5yl408ndx2wkr0i3q1avx6z6i45d8s6"; depends=[HMM tmcn]; };
   Rwtss = derive2 { name="Rwtss"; version="0.9.1"; sha256="0ihpn96l0bj34ph747q7rfq78sbjjb4hhdjr2a7agc97rrggcr94"; depends=[assertthat dplyr geosphere ggplot2 httr jsonlite lubridate magrittr purrr reshape2 stringr tibble zoo]; };
   RxCEcolInf = derive2 { name="RxCEcolInf"; version="0.1-5"; sha256="01n74xnhz1fdvb63g0lxkzsdp1frspin4a764l358immjivdrx2v"; depends=[coda lattice MASS MCMCpack mvtnorm]; };
-  RxODE = derive2 { name="RxODE"; version="1.1.2"; sha256="12x8mi2d4s1qpqic8fp2axgn1gj4nfylsp4i5wkl1if6876kl3ip"; depends=[assertthat backports BH checkmate cli dparser ggplot2 inline lotri magrittr memoise PreciseSums qs Rcpp RcppArmadillo RcppEigen rex sitmo StanHeaders sys]; };
+  RxODE = derive2 { name="RxODE"; version="1.1.4"; sha256="108anb3zyyr378qwnsf1mdxsmkl3h333b4fzclr9xc351x0j1rdm"; depends=[assertthat backports BH checkmate cli dparser ggplot2 inline lotri magrittr memoise PreciseSums qs Rcpp RcppArmadillo RcppEigen rex sitmo StanHeaders sys]; };
   RxnSim = derive2 { name="RxnSim"; version="1.0.3"; sha256="0fi4aic2brfbl6rsnnfwqq7l8ygvlmr98w0v749l3djpgn7sfrig"; depends=[data_table fingerprint rcdk rJava]; };
   Ryacas = derive2 { name="Ryacas"; version="1.1.3.1"; sha256="0c258p7ibas4xbq1wh8c1nfqf6r9d0hicrf8mkkyriw4mb6wmzqq"; depends=[magrittr Rcpp]; };
   Ryacas0 = derive2 { name="Ryacas0"; version="0.4.3"; sha256="1qsj6hbydi923bvc8qy1k34nl73xf3fsmr5ww3dw9gzn1kzg2470"; depends=[Rcpp settings xml2]; };
@@ -4643,7 +4679,7 @@ in with self; {
   SAMTx = derive2 { name="SAMTx"; version="0.3.0"; sha256="18r03w74fcra3c0xa76jnkkms9pjirdmgb2k1dnz7symqf9cvc5l"; depends=[BART]; };
   SAMUR = derive2 { name="SAMUR"; version="0.6"; sha256="0iyv7ljjrgakgdmpylcxk3m3xbm2xwc6lbjvl7sk1pmxvpx3hhhc"; depends=[Matching]; };
   SAMURAI = derive2 { name="SAMURAI"; version="1.2.1"; sha256="02fipbjcsbp2b2957x6183z20icv1yly2pd1747nyww9bmpa7ycm"; depends=[metafor]; };
-  SAMtool = derive2 { name="SAMtool"; version="1.2.4"; sha256="04c6z00bxa3isfvav2s2wsgw8dvv1ym32hj2h4xwf608fsbrqar5"; depends=[corpcor dplyr gplots MSEtool RcppEigen rmarkdown snowfall TMB vars]; };
+  SAMtool = derive2 { name="SAMtool"; version="1.2.5"; sha256="0br63g50x2pldf1xy72ji57ajkzil4jvw118bjarqjkjz68yk2ak"; depends=[corpcor dplyr gplots MSEtool RcppEigen rmarkdown snowfall TMB vars]; };
   SAPP = derive2 { name="SAPP"; version="1.0.8"; sha256="1lb148s8rdx1phmx8ihncgb45iqxzracxznys7zyzs8qcf6hm5wq"; depends=[]; };
   SAR = derive2 { name="SAR"; version="1.0.3"; sha256="1cnf0hsq82lzssvz5xs2abvnrjxda0g6mjx70a1j223zdwjqmw64"; depends=[AzureRMR AzureStor dplyr httr jsonlite Matrix R6 Rcpp RcppArmadillo RcppParallel]; };
   SARP_compo = derive2 { name="SARP.compo"; version="0.1.5"; sha256="17pvgc7alv59lxnrz1rj5gdl2lg90jxfwkyn8j802n22r3bmzcsm"; depends=[car igraph]; };
@@ -4659,6 +4695,7 @@ in with self; {
   SBAGM = derive2 { name="SBAGM"; version="0.1.0"; sha256="0vb1679016b0bhz2xlka9wgr2fxwa0447ymfncm1n5fks60rrnnf"; depends=[forecast MSGARCH rugarch]; };
   SBICgraph = derive2 { name="SBICgraph"; version="1.0.0"; sha256="04c9xb9fdxz62qdsfkdkckvfpccrc7n5j3j5v1lgjywxq6l78wsm"; depends=[glmnet MASS network]; };
   SBMSplitMerge = derive2 { name="SBMSplitMerge"; version="1.1.1"; sha256="1h44qwz9gkwwgkac25h4vn0kq3mjvjsyq99yfd8v8g6g8fkkclaq"; depends=[ggplot2 reshape2 scales]; };
+  SBN = derive2 { name="SBN"; version="1.0.0"; sha256="1k4x8hzjrzvaxnq9z9rykc65lfp4x75nhjrfpk6llq9hqjms2n06"; depends=[igraph]; };
   SBRect = derive2 { name="SBRect"; version="0.26"; sha256="16g0ciy9q9irypsl8x36i0lavl41j3af13r2si0by8q6wj56pxi4"; depends=[rJava]; };
   SBSA = derive2 { name="SBSA"; version="0.2.3"; sha256="1v23lzzziyjlvgn5p2n1qcq2zv9hsyz2w15lbnfi5wvinxhlg8sc"; depends=[Rcpp RcppArmadillo]; };
   SBSDiff = derive2 { name="SBSDiff"; version="0.1.0"; sha256="0mw1646dmhxw6zz4pq7j0g3mf9bjn72g43sq7m72r8ma8ciqj7r2"; depends=[]; };
@@ -4698,7 +4735,7 @@ in with self; {
   SDD = derive2 { name="SDD"; version="1.2"; sha256="0wzgm1hgjv5s00bpd7j387qbvn5zvyrrd5fr2rgyll4cw9p4sd33"; depends=[Hmisc rgl rpanel sm tseries]; };
   SDDE = derive2 { name="SDDE"; version="1.0.1"; sha256="14vql1bypn409w9xcx1jdzff6apiagcz2wng3y24h3mk7yjv9bzy"; depends=[doParallel foreach igraph iterators]; };
   SDEFSR = derive2 { name="SDEFSR"; version="0.7.22"; sha256="10rxq2y7a9rbzgl5s5fdh93jm4w5kqbyyflw5xfsdwymjj9p4b7m"; depends=[foreign ggplot2 shiny]; };
-  SDLfilter = derive2 { name="SDLfilter"; version="2.1.2"; sha256="17h3s2giczcisvpcf7am5kh3nrh70gn58mlfc0x91d34awbn1z2z"; depends=[data_table dplyr ggmap ggplot2 ggsn gridExtra lubridate maps plotKML plyr pracma raster sp trip]; };
+  SDLfilter = derive2 { name="SDLfilter"; version="2.2.0"; sha256="150rc426q8axf3f1i50k1bjdbac9mcm8yb6zqg6b82qhf2hbb4c4"; depends=[data_table dplyr emmeans ggmap ggplot2 ggsn gridExtra lubridate maps plotKML plyr pracma raster sp trip]; };
   SDMPlay = derive2 { name="SDMPlay"; version="2.0"; sha256="1qdvpa57p4p3949rjmvvvz41a3hm3jb34dnn8s2pi04rzrjkys0f"; depends=[dismo raster]; };
   SDMtune = derive2 { name="SDMtune"; version="1.1.5"; sha256="1nfxm1g7kyvn7j7zkjwsn6bi5xz77bjna1dcbak9k8xnk627kxjw"; depends=[dismo gbm ggplot2 jsonlite maxnet nnet progress randomForest raster Rcpp rlang rstudioapi stringr whisker]; };
   SDT = derive2 { name="SDT"; version="1.0.0"; sha256="1jwpfd1pnzy9wcl90qv5bgwi19shsw9064dvml9zwbif8yw8dzjj"; depends=[quadprog]; };
@@ -4713,7 +4750,7 @@ in with self; {
   SEIRfansy = derive2 { name="SEIRfansy"; version="1.1.1"; sha256="0xnyrsv04n22s71v1wajwpccwk78q27fgry9dhxxzw8a6yd082x8"; depends=[arm DescTools dplyr ggplot2 ggpubr knitr magrittr patchwork pbapply rlang scales]; };
   SEL = derive2 { name="SEL"; version="1.0-2"; sha256="1nrk0fx6ff330abq8askvp0790xnfv00m3sraqcr32hciw6ks421"; depends=[lattice quadprog]; };
   SELF = derive2 { name="SELF"; version="0.1.1"; sha256="1yafjhxwsanr33dqy7w9x61ghldr29s8k6h68idq6nnfb77ghjyx"; depends=[bnlearn CompareCausalNetworks data_table Rcpp xgboost]; };
-  SEMID = derive2 { name="SEMID"; version="0.3.2"; sha256="0v1zrx5xxramsg2zzk7b2fyv6kky7xb1q1cg8vi6zg6ln9vgm2dk"; depends=[igraph R_methodsS3 R_oo R_utils]; };
+  SEMID = derive2 { name="SEMID"; version="0.4.0"; sha256="1888l4m7d944j4cmh6l19fjmrsh6r6xlfwjzpvyanxd769xmyfzc"; depends=[igraph R_methodsS3 R_oo R_utils]; };
   SEMModComp = derive2 { name="SEMModComp"; version="1.0"; sha256="1za67470f13z8jsy3z588c7iiiz993d3vjqrb8v9fann2r6sf1md"; depends=[mvtnorm]; };
   SEMgraph = derive2 { name="SEMgraph"; version="1.0.5"; sha256="1yr77c46y009h7ra842flvlmi7q1n9bk6ji9wlwkyl62caqn5ksi"; depends=[boot cate corpcor dagitty diffusr flip gdata ggm GGMncv glmnet graph igraph lavaan Matrix pbapply protoclust RcppEigen Rgraphviz]; };
   SEMrushR = derive2 { name="SEMrushR"; version="0.1.0"; sha256="19prwbh429ra69nz3nx4vzqmb46xssci74rk9mhpnzbi52ycg5gd"; depends=[]; };
@@ -4722,7 +4759,7 @@ in with self; {
   SEchart = derive2 { name="SEchart"; version="0.1"; sha256="19gqcd6xzwg37nzc67p88ip4i0v2f59ds85xfw9qq8lybvdm76k2"; depends=[JM]; };
   SEofM = derive2 { name="SEofM"; version="0.1.0"; sha256="0662f4ayr05h33myxbfal682fxfwpl3a94kv4bzc8hil9bcqcznf"; depends=[]; };
   SFS = derive2 { name="SFS"; version="0.1.4"; sha256="1pig64pj30yyfzyv97f74gshw4lnklrx0npp4da3absk6anb3iv7"; depends=[Rcpp RcppArmadillo]; };
-  SFSI = derive2 { name="SFSI"; version="1.0.0"; sha256="19bazsxkl7nv71spkgk18b3cq94xaw63s6jzai2lg1rnhz14yf6j"; depends=[float]; };
+  SFSI = derive2 { name="SFSI"; version="1.0.1"; sha256="1k2bshl8grivzy1rmwlp4f2v994zv83rkw3ia72fa1q85wrwdhab"; depends=[float]; };
   SFtools = derive2 { name="SFtools"; version="0.1.0"; sha256="08k2ywkpk1pzp0qcwm7qx9gnv9hglspl9hrsrrfblagdpkw6rm2x"; depends=[doParallel ff wordspace]; };
   SGB = derive2 { name="SGB"; version="1.0.1"; sha256="0j48fx9bf2k8k3ykp629jfi1jbs23673nz6rg54rvcrrsl6hb9v3"; depends=[alabama Formula MASS numDeriv]; };
   SGL = derive2 { name="SGL"; version="1.3"; sha256="055mx876ydg4kzvcm6rxfkxqz849zgzkzsskvrfgwj9fs1k6ja2v"; depends=[]; };
@@ -4742,8 +4779,9 @@ in with self; {
   SII = derive2 { name="SII"; version="1.0.3.1"; sha256="1xvk04b7725ksfd7h4p7px5zanbf6s7xlmjpb7w0nvbi6km2f7ri"; depends=[]; };
   SILGGM = derive2 { name="SILGGM"; version="1.0.0"; sha256="1lhmisgg2zbfksl7czz0fqag3732gkjc44n615ipxbdi2pvnc7m0"; depends=[glasso MASS Rcpp reshape]; };
   SILM = derive2 { name="SILM"; version="1.0.0"; sha256="1iaivpdx18djfm5dqak0q9kfl1xfrnx3gk5x9a4y53h1d7jhl9p6"; depends=[glmnet hdi scalreg SIS]; };
+  SIMEXBoost = derive2 { name="SIMEXBoost"; version="0.1.0"; sha256="0gxw8xb2hvsizawfd863c268q5wq1cdsmdsand5iys2b9gry1pmq"; depends=[MASS]; };
   SIMMS = derive2 { name="SIMMS"; version="1.3.1"; sha256="0kgaky1hpvvbs2hbzaili9h9pv34c5drfh0d1rc8vf9099xw8575"; depends=[doParallel foreach glmnet MASS randomForestSRC survival]; };
-  SIMPLE_REGRESSION = derive2 { name="SIMPLE.REGRESSION"; version="0.1.2"; sha256="128ljx9pzpy812z9ni60k6xynm64z9aijmr7rp9ap9ifmhyv914v"; depends=[nlme]; };
+  SIMPLE_REGRESSION = derive2 { name="SIMPLE.REGRESSION"; version="0.1.3"; sha256="1qs9avqsa3k6gw757k8jq9aq3dwhiq74jbblvdd3g46srma5z9ry"; depends=[nlme]; };
   SIN = derive2 { name="SIN"; version="0.6"; sha256="0vq80m3vl8spdnlkwvwy0gk3ziyybqzjp3scnfdcpn942ds7sgg9"; depends=[]; };
   SIPDIBGE = derive2 { name="SIPDIBGE"; version="0.1.6"; sha256="1g8sz5jcndx33456cxciq85lq1jf8sbny649rzq1figbwvcz83ih"; depends=[cli COVIDIBGE PNADcIBGE png PNSIBGE POFIBGE purrr rstudioapi tibble]; };
   SIRE = derive2 { name="SIRE"; version="1.1.0"; sha256="0f624j087k7krg73bqn2qxdgzq66jyhvzz8n024vz3h4hwagxs5n"; depends=[dplyr igraph magrittr MASS Matrix matrixcalc numDeriv psych Rsolnp stringr systemfit]; };
@@ -4754,15 +4792,16 @@ in with self; {
   SIfEK = derive2 { name="SIfEK"; version="0.1.0"; sha256="037ps6yfy7w6i8vm0b78c8w9kdmw312dl5nc2qz86rfk8kjg7w27"; depends=[MASS numDeriv ramcmc smfsb]; };
   SK = derive2 { name="SK"; version="1.1"; sha256="19yg7yc2k4zz29bh42lw2jpjvkdj33f26xkfs8vz8lpp98yjf2vx"; depends=[FitAR GD MASS RColorBrewer rgeos rtop sp]; };
   SKAT = derive2 { name="SKAT"; version="2.0.1"; sha256="1iz8s2r295w36m44s2frrz00q4zm78fyzx7kprmnz4kbg3spqqy8"; depends=[Matrix SPAtest]; };
-  SKNN = derive2 { name="SKNN"; version="2.0"; sha256="021mc20mp1p87l48fy1v4lji0qg2cx5mzirv8c77q1x6378zjcfw"; depends=[]; };
+  SKNN = derive2 { name="SKNN"; version="3.0"; sha256="1zcsyc8x4cfkj5im9hsv091f2hca3y09fra3y0rl19jiwzvpjgy9"; depends=[]; };
   SLBDD = derive2 { name="SLBDD"; version="0.0.2"; sha256="1ixynzrj6vdxn406zcisrkhf9yr172s80k70dishrainkpw2dk58"; depends=[cluster corpcor fGarch forecast glmnet gsarima imputeTS MASS Matrix matrixcalc MTS rnn TSclust tsoutliers]; };
   SLC = derive2 { name="SLC"; version="0.3"; sha256="0l0y1sjj0glsb7vwla99ijclcgaq2y85bgz1wqm348n4shsmm2rs"; depends=[]; };
   SLDAssay = derive2 { name="SLDAssay"; version="1.8"; sha256="04ykj7s9kpvg5bmf7x16154kfpdy45b7y7hhyh31sxlscv7c5bbp"; depends=[]; };
   SLEMI = derive2 { name="SLEMI"; version="1.0.1"; sha256="07bsy0v8grx1l5837jr8mdab08521kxivhwr59q3s0v6f08683yd"; depends=[caret corrplot doParallel e1071 foreach ggplot2 ggthemes gridExtra Hmisc nnet reshape2 stringr]; };
-  SLFPCA = derive2 { name="SLFPCA"; version="1.0"; sha256="171pqh3lv1zk508ny2qymryq58w0d6fpcl7jj1n7xwclf9sk5037"; depends=[fda fdapace psych]; };
+  SLFPCA = derive2 { name="SLFPCA"; version="2.0"; sha256="1lcyqxqjpzw6zcyhr8c1wb6j10l2z341fma5pmmii8lc6y0qmd14"; depends=[fda fdapace psych]; };
   SLHD = derive2 { name="SLHD"; version="2.1-1"; sha256="0y3ilxd0phmks8zkmpgw7p5zrkwq4k95h976cwk58pavvhfwj9kb"; depends=[]; };
   SLICER = derive2 { name="SLICER"; version="0.2.0"; sha256="10i0hfl6js26n8xwk9pldzm9vv7hmii6gzj04lhqy0g3njds25kp"; depends=[alphahull igraph lle]; };
   SLIDE = derive2 { name="SLIDE"; version="1.0.0"; sha256="0x4fm29r7icg33k8gw3vqvxib8n9a1xwg484x9yffybips9ka22c"; depends=[]; };
+  SLModels = derive2 { name="SLModels"; version="0.1.2"; sha256="1c9r4kd2kfh2cn82kngzcqhdmxc4i7djp436s116gy9xs2gd2042"; depends=[ROCR]; };
   SLOPE = derive2 { name="SLOPE"; version="0.4.0"; sha256="18lw7csji9n10zk4lhcvy9193sra08pwvh1yrhl33bl17m026nkv"; depends=[foreach lattice Matrix Rcpp RcppArmadillo]; };
   SLTCA = derive2 { name="SLTCA"; version="0.1.0"; sha256="0pq87fbi79srgjblv40yyj3w1dzf115kfidp8gi564l8xf0qilqg"; depends=[geepack Matrix mvtnorm VGAM]; };
   SMARTAR = derive2 { name="SMARTAR"; version="1.1.0"; sha256="0ymhka4pjlqlnpv47abmc76ggijfw83i3jp9mrspnzcnb4d378xm"; depends=[MASS]; };
@@ -4789,7 +4828,7 @@ in with self; {
   SNFtool = derive2 { name="SNFtool"; version="2.3.1"; sha256="05hz230aq5wbzhknxzr4iqv3nqjhbpf66n6bp1rc5h2jgz2yfbwq"; depends=[alluvial ExPosition]; };
   SNPMClust = derive2 { name="SNPMClust"; version="1.3"; sha256="1gad1jfla4qpczh8vpwyss5cckzgpffsyj0d71r8drbspr4i3r90"; depends=[MASS mclust]; };
   SNPassoc = derive2 { name="SNPassoc"; version="2.0-11"; sha256="13njyhz4qk9kx9jv1hspzh1y8j8v8igxg9jcmlkfljvniam5cf6g"; depends=[BiocStyle Biostrings GenomicRanges ggplot2 haplo_stats IRanges mvtnorm org_Hs_eg_db plyr poisbinom S4Vectors survival tidyr TxDb_Hsapiens_UCSC_hg19_knownGene VariantAnnotation]; };
-  SNPfiltR = derive2 { name="SNPfiltR"; version="0.1.0"; sha256="1s6yj71yz4rkbpp27by5sb4lkcwcvyw7zj10wlzgfrm8sy3vv2wj"; depends=[adegenet cluster ggplot2 ggridges gridExtra Rtsne vcfR]; };
+  SNPfiltR = derive2 { name="SNPfiltR"; version="0.1.1"; sha256="1g0hj277cfx6n21zic2n96xlrg9dhziwmvk9hh1gx1vxr6qxb2zf"; depends=[adegenet cluster ggplot2 ggridges gridExtra Rtsne vcfR]; };
   SNPknock = derive2 { name="SNPknock"; version="0.8.2"; sha256="121pdgvdffj61hw8x8m76na0cg5iw5gb586q05ikw5d959mmbzrs"; depends=[Rcpp RcppArmadillo RcppProgress Rdpack]; };
   SNPmaxsel = derive2 { name="SNPmaxsel"; version="1.0-3"; sha256="0pjvixwqzjd3jwccc8yqq9c76afvbmfq0z1w0cwyj8bblrjpx13z"; depends=[combinat mvtnorm]; };
   SNSchart = derive2 { name="SNSchart"; version="1.4.0"; sha256="18rpg2zkqa6bxnbq3s0hlsg4wizz6iw3vckf5z66q3awxqycabg9"; depends=[MASS]; };
@@ -4885,11 +4924,11 @@ in with self; {
   STraTUS = derive2 { name="STraTUS"; version="1.1.2"; sha256="0n3i7gbycp1f10058h9xlh3yk21w2izdb3xgs793mmh1i1sjy394"; depends=[ape ggplot2 ggtree gmp igraph phangorn RcppAlgos]; };
   SUE = derive2 { name="SUE"; version="1.0"; sha256="0akv724s84v2zixvwywj1ydfnfvcjnaabv6gm0601nsrh6ij1mi6"; depends=[]; };
   SUMMER = derive2 { name="SUMMER"; version="1.2.0"; sha256="1y9mq6smpnhwl6ah6z57z0rcm4jqyi82076w0xb9ghwidncpszz4"; depends=[data_table ggplot2 ggridges Matrix RColorBrewer reshape2 shadowtext sp spdep survey survival viridis]; };
-  SUNGEO = derive2 { name="SUNGEO"; version="0.2.27"; sha256="1hbww2n7vm689rf2vfjyzlgr1s3dc56dmkbx4bkihwd6560qajs4"; depends=[automap cartogram data_table dplyr fasterize httr jsonlite measurements packcircles purrr RANN raster Rcpp RCurl rlang rmapshaper sf sp spdep]; };
+  SUNGEO = derive2 { name="SUNGEO"; version="0.2.288"; sha256="0c8y0ngx1020rw2v00rxmq8syd72f41ckik5sg7gigg7d80gi31w"; depends=[automap cartogram data_table dplyr fasterize httr jsonlite measurements packcircles purrr RANN raster Rcpp RCurl rlang rmapshaper sf sp spdep]; };
   SVMMaj = derive2 { name="SVMMaj"; version="0.2.9"; sha256="1405gigyjfp8by8nfx4g3rhw9x6r6g7dkpgw52jllv6n4036xa3h"; depends=[dplyr ggplot2 gridExtra kernlab reshape2 scales]; };
   SVMMatch = derive2 { name="SVMMatch"; version="1.1"; sha256="1ykwrhlid4hs466xh3kv6y2qdhgk0jiglg0l3zwk5qlni6p26zc9"; depends=[Rcpp RcppArmadillo]; };
   SVN = derive2 { name="SVN"; version="1.0.1"; sha256="0n93lqb1f2s2qvzc8lrcqmr0fhd57xqbi0ymrqqmll31ns679m92"; depends=[data_table igraph memoise]; };
-  SWIM = derive2 { name="SWIM"; version="0.2.2"; sha256="18w7rgs9i9flzayy9rvqx447wjhxqbglcjqcmajmywgajwdzbrrf"; depends=[ggplot2 Hmisc nleqslv plyr Rdpack reshape2]; };
+  SWIM = derive2 { name="SWIM"; version="1.0.0"; sha256="1pfrwxn4rha7a68b82lq18x6acyhjy9d8nn2hdwd9hhf576vkvhg"; depends=[ggplot2 Hmisc nleqslv plyr Rdpack reshape2]; };
   SWMPr = derive2 { name="SWMPr"; version="2.4.1"; sha256="1dqhsqigfbfj167mp2h0wfybaymj9zlywh5d3syrrmpr694f9kz5"; depends=[data_table dplyr ggplot2 gridExtra httr lattice maptools oce openair RColorBrewer reshape2 tictoc tidyr XML zoo]; };
   SWMPrExtension = derive2 { name="SWMPrExtension"; version="2.1.0"; sha256="1vb3gj3hpyr8cadgz01c151akyr4w6ss37hr9rz2fjdr8xq5ihp7"; depends=[broom dplyr EnvStats flextable ggplot2 ggthemes lubridate magrittr officer purrr RColorBrewer rlang scales sf SWMPr tidyr tidyselect]; };
   SWTools = derive2 { name="SWTools"; version="0.2.2.0"; sha256="07cp2v7njzzclq3x6wl55y8ymv5f55g1b31ss26xbiwsc4ri5z8k"; depends=[dplyr forcats ggmap ggplot2 ggrepel httr hydroTSM jsonlite lubridate magrittr RColorBrewer reshape2 rlang rmarkdown segmented sf stringr tibble tidyr zoo]; };
@@ -4901,8 +4940,9 @@ in with self; {
   SampleSizeProportions = derive2 { name="SampleSizeProportions"; version="1.0"; sha256="0mvkvx3nni0l8ys68sq3h2zlbjvksdcdzxqlf03k0ca5bbcmdf9l"; depends=[]; };
   SamplerCompare = derive2 { name="SamplerCompare"; version="1.3.2"; sha256="09j06ycr749dbr6xbn5pxw7rp1p3cri40z38hf1kp5kvjxkkpy2w"; depends=[mvtnorm]; };
   SamplingBigData = derive2 { name="SamplingBigData"; version="1.0.0"; sha256="0khrh7vfqqzpfp16x0ic5ml854wr2fj28cx95s6c0pz91hzlxkns"; depends=[]; };
-  SamplingStrata = derive2 { name="SamplingStrata"; version="1.5-1"; sha256="01kjm45pc1zfy2xlp9fhynv4x2mzsgjwymr5j7narpmdsm14mxcx"; depends=[doParallel formattable memoise pbapply]; };
+  SamplingStrata = derive2 { name="SamplingStrata"; version="1.5-2"; sha256="1wqqcqka2an5ily91c2z8qw061xfbxgnxr783h584lbyx6ckzj4a"; depends=[doParallel glue memoise pbapply SamplingBigData]; };
   SanFranBeachWater = derive2 { name="SanFranBeachWater"; version="0.1.0"; sha256="18w2q3hzcrbmagnjyrn1ikwiyjh723mjb2vy0d8p1a6za0460p9w"; depends=[dplyr lubridate magrittr readr rvest tibble xml2]; };
+  SangerTools = derive2 { name="SangerTools"; version="1.0.1"; sha256="01r8nfpwspsrcxix536c4kc139vn2214hgn38qriz9l5giwfa7r3"; depends=[DBI dplyr ggplot2 ggtext ggthemes janitor magrittr odbc readr readxl scales]; };
   Scalelink = derive2 { name="Scalelink"; version="1.0"; sha256="0likfjw5999zd0kv1ykby78bl0x3xgh0v1yjssk7fnw1ghkxgdib"; depends=[Rcpp RcppParallel]; };
   SciViews = derive2 { name="SciViews"; version="0.9-13.1"; sha256="0wm4vnjh65jxyg82m8l08kanl414qiaz0cc6srshb8sdx2sixkfi"; depends=[ellipse]; };
   ScoreEB = derive2 { name="ScoreEB"; version="0.1.1"; sha256="0lvdywkw2g0xdgf7zj39h1903rd0jg2lzgqq7cfni11pniv6265n"; depends=[data_table]; };
@@ -4931,7 +4971,7 @@ in with self; {
   SelvarMix = derive2 { name="SelvarMix"; version="1.2.1"; sha256="02d16ffw5syq0d3yiim9jgrjlz99n956zxp23idpsmq6lb2whq66"; depends=[glasso Rcpp RcppArmadillo Rmixmod]; };
   SemNeT = derive2 { name="SemNeT"; version="1.4.3"; sha256="1qjjbx86sh2gk91bnx0rn3wszlf1w8wxyda5k2mqn4gzgpfplcsp"; depends=[broom car dplyr effects ggplot2 igraph magrittr pbapply philentropy plyr purrr qgraph RColorBrewer scales]; };
   SemNetCleaner = derive2 { name="SemNetCleaner"; version="1.3.4"; sha256="1fll6i4bz2z07h23z5m3x8hqw5rkianh0w6v8gnnkjqlrnacpfp9"; depends=[easycsv editData foreign miniUI R_matlab readxl rstudioapi searcher SemNetDictionaries shiny stringdist stringi]; };
-  SemNetDictionaries = derive2 { name="SemNetDictionaries"; version="0.1.9"; sha256="03wgdjw6raf2a15g5a6lp6id537zzvjf0k0gzmycyzpxvifa8ryv"; depends=[easycsv knitr]; };
+  SemNetDictionaries = derive2 { name="SemNetDictionaries"; version="0.2.0"; sha256="1yhhva79hhj1imzw0n8wkyrb6pmxcqs7kq9czs392xzc6lqk9xr2"; depends=[easycsv knitr]; };
   Semblance = derive2 { name="Semblance"; version="1.1.0"; sha256="1kzrg5z3244nx9y37p092wpangni3fxpx04i5fb4dhrmav4rvgab"; depends=[DescTools fields msos PerformanceAnalytics]; };
   SemiCompRisks = derive2 { name="SemiCompRisks"; version="3.4"; sha256="0xxdb3k7d9rqq94d2x862jl67s3pkzwigwlcvrybclm6b5gb86x4"; depends=[Formula MASS survival]; };
   SemiEstimate = derive2 { name="SemiEstimate"; version="1.1.3"; sha256="0zqxy50glx3xkzz6z41nifqxjgva5fk2x6fbbhdm39fham2yb34f"; depends=[]; };
@@ -4950,13 +4990,13 @@ in with self; {
   SeqKat = derive2 { name="SeqKat"; version="0.0.8"; sha256="09b5zrp41241ha5q8bxll9n12sn11hsbv46g2ld1lqsy2razivr4"; depends=[doParallel foreach Rcpp]; };
   SeqMADE = derive2 { name="SeqMADE"; version="1.0"; sha256="0nf1xjhk0kpmmzgcxycg3ccxvwq6gydjq7xq6n9m7k7v35v9v3qf"; depends=[MASS]; };
   SeqNet = derive2 { name="SeqNet"; version="1.1.3"; sha256="1ix3c249q758si6670hqa56g1snqqwqdrwshfwajvynl7k2zqzmv"; depends=[fitdistrplus ggplot2 igraph mvtnorm purrr Rcpp Rdpack rlang tibble]; };
-  SequenceSpikeSlab = derive2 { name="SequenceSpikeSlab"; version="0.1.1"; sha256="079qm4klgaml99j4cshy3n54pg7q537zlagib4xd8mswdmqdvll6"; depends=[Rcpp RcppProgress selectiveInference]; };
+  SequenceSpikeSlab = derive2 { name="SequenceSpikeSlab"; version="1.0.0"; sha256="1aa89qnx43ia6lkaaz26jcrx8i9yxjsx5dpz8rpa0hv1h12g5ani"; depends=[Rcpp RcppProgress selectiveInference]; };
   Sequential = derive2 { name="Sequential"; version="4.1"; sha256="1wl499i18nkxjwv27c030jsxij2wa68c99h2wa445wa5xrhn6kvx"; depends=[boot]; };
   SequentialDesign = derive2 { name="SequentialDesign"; version="1.0"; sha256="1gi37pixwbpy7358id1c75rckr352hs8vjs8sk8qgsr97pkm5xdq"; depends=[Sequential]; };
   SetMethods = derive2 { name="SetMethods"; version="3.0"; sha256="14hh1rb8bma0cx3v9dmn58mkv6sky7xcnhwxwij5x8hp93a1i9is"; depends=[admisc betareg fmsb ggplot2 ggrepel QCA scatterplot3d stargazer]; };
   SetRank = derive2 { name="SetRank"; version="1.1.0"; sha256="0p7vwsw05s5hfw1mfh3fbm9nfzsymnxzrdjin7k21dx7asb618wy"; depends=[data_table igraph XML]; };
   SetTest = derive2 { name="SetTest"; version="0.2.0"; sha256="08wc6cbnannmwkncqhpcw6l0y7c1v7z3awk5j7fd853nszfmpbk0"; depends=[]; };
-  Seurat = derive2 { name="Seurat"; version="4.0.6"; sha256="15lja989mlr4ar5pk1bagbfwv1v9n9646vja4kahcghgkgrn15l9"; depends=[cluster cowplot fitdistrplus future future_apply ggplot2 ggrepel ggridges httr ica igraph irlba jsonlite KernSmooth leiden lmtest MASS Matrix matrixStats miniUI patchwork pbapply plotly png RANN RColorBrewer Rcpp RcppAnnoy RcppEigen RcppProgress reticulate rlang ROCR Rtsne scales scattermore sctransform SeuratObject shiny spatstat_core spatstat_geom tibble uwot]; };
+  Seurat = derive2 { name="Seurat"; version="4.1.0"; sha256="0p9i3fnkqa3vranr7c7ckzp1kq42d7p0gcfi9ml4kr334yd84195"; depends=[cluster cowplot fitdistrplus future future_apply ggplot2 ggrepel ggridges httr ica igraph irlba jsonlite KernSmooth leiden lmtest MASS Matrix matrixStats miniUI patchwork pbapply plotly png RANN RColorBrewer Rcpp RcppAnnoy RcppEigen RcppProgress reticulate rlang ROCR Rtsne scales scattermore sctransform SeuratObject shiny spatstat_core spatstat_geom tibble uwot]; };
   SeuratObject = derive2 { name="SeuratObject"; version="4.0.4"; sha256="1308hjbs8br3gp9vwm65awgp6vimwgi2jyl1ryn96l84savn2ljq"; depends=[Matrix Rcpp RcppEigen rlang]; };
   ShapeChange = derive2 { name="ShapeChange"; version="1.4"; sha256="1ch7avx8mxjk8vrp17inaihmbsv968wflyk1n4fbjvacbl24vn2b"; depends=[coneproj quadprog]; };
   ShapePattern = derive2 { name="ShapePattern"; version="2.2.0"; sha256="0x4a9qg5g44kdras8j7f0yyw44qfpizpmj657xgmbrwcai4ic1dh"; depends=[igraph landscapemetrics raster rgdal rgeos sp]; };
@@ -5005,9 +5045,9 @@ in with self; {
   SimSCRPiecewise = derive2 { name="SimSCRPiecewise"; version="0.1.1"; sha256="0mhlx9m5db8a40wf275qh59345676m8bpjjmyx1v22f6m9p3b2n4"; depends=[]; };
   SimSeq = derive2 { name="SimSeq"; version="1.4.0"; sha256="068gg484w07qb4wajik2s3z79xfj0jg5l4pz69267dxi5kzd9fas"; depends=[fdrtool]; };
   SimSurvNMarker = derive2 { name="SimSurvNMarker"; version="0.1.1"; sha256="0jncq5q3ijczpa4h1i74035w36grjy2p8x71gx58v69ab3ca62k6"; depends=[Rcpp RcppArmadillo]; };
-  SimSurvey = derive2 { name="SimSurvey"; version="0.1.3"; sha256="0l0592ah6mqz8gyvlcnw8642dganvg4h6isv6swmgaz49pvq63pf"; depends=[data_table doParallel foreach magrittr plotly progress raster rgeos rlang sp]; };
+  SimSurvey = derive2 { name="SimSurvey"; version="0.1.4"; sha256="0n3acx279qrw5bxx77b1rpq12hrm26di2csxkhdv8c0mbwv4p2pf"; depends=[data_table doParallel foreach magrittr plotly progress raster rlang sp]; };
   SimTimeVar = derive2 { name="SimTimeVar"; version="1.0.0"; sha256="1x0lkgqwx1vz1gbyvy0hx20n638n30j0dny1iz5vs0cvviq3cdv8"; depends=[car corpcor ICC metafor miscTools mvtnorm plyr psych]; };
-  SimVitD = derive2 { name="SimVitD"; version="1.0"; sha256="1mbvn8s557wmdsdr0q6pdvmzma2yd0mi7x01kdwpym6n2sh7szjc"; depends=[wBoot]; };
+  SimVitD = derive2 { name="SimVitD"; version="1.0.1"; sha256="1rpsvi5pdj4njvbdz1xpq6qhplk07p4qsm4dmbbbkl648674bqb0"; depends=[wBoot]; };
   SimilaR = derive2 { name="SimilaR"; version="1.0.8"; sha256="1wlxscl94r3gxwsc9yw0y4z5nj28nxilijp0pbzv4z2n4aqc7vy6"; depends=[BH Rcpp stringi]; };
   SimilarityMeasures = derive2 { name="SimilarityMeasures"; version="1.4"; sha256="1w4klcln4hy9vcik9csg7b3b8kk4raxgckwfrhqg089d80xbqsxj"; depends=[]; };
   Simile = derive2 { name="Simile"; version="1.3.3"; sha256="1izyjp18m1inac3svkf59z3lddrv44m7pdkhisgkr987xs8gdch4"; depends=[]; };
@@ -5050,8 +5090,8 @@ in with self; {
   SocialPosition = derive2 { name="SocialPosition"; version="1.0.1"; sha256="1rrrjlq6czzhzipvkisbq024ca22v2vzx7wa4ddr9j7hnyyzzpic"; depends=[]; };
   Sofi = derive2 { name="Sofi"; version="0.16.4.8"; sha256="0h9ir0xrwmsabfhwsr9hbpwabh1fsb3p51y8qcgm92iyvc6dl3mf"; depends=[foreign sampling shiny]; };
   SoftClustering = derive2 { name="SoftClustering"; version="1.1902.2"; sha256="1r709r96ra9knkprjw6c227r7w6wygfpwc9pwwsjyw166305pxfs"; depends=[]; };
-  SoftRandomForest = derive2 { name="SoftRandomForest"; version="0.1.0"; sha256="1k439hcp53yg6f2x4bgafsri4jjgpva97dphzsdk5icfs5d38bh8"; depends=[boot]; };
   SoilHyP = derive2 { name="SoilHyP"; version="0.1.5"; sha256="0mpsy1fzy33vhb1la2y87c95bhc0ci4jfwzbsd47jz1s3pw6vzrl"; depends=[data_table lubridate]; };
+  SoilR = derive2 { name="SoilR"; version="1.2.105"; sha256="0liygb46900i6x4y6vhav7w7g4jw5chi4372jwdhn1kxp2g8zgfa"; depends=[assertthat deSolve expm igraph purrr sets]; };
   SoilTaxonomy = derive2 { name="SoilTaxonomy"; version="0.1.4"; sha256="061m4di9h03phhx78xx3w8hvcssvkw96vz3szyghkmf7ill15w1n"; depends=[stringr]; };
   Sojourn = derive2 { name="Sojourn"; version="1.1.0"; sha256="0dy3xb6nazify29xir2krj9509bqa68b1jwq3lvvhfakxjqm0j05"; depends=[dplyr lubridate magrittr nnet PAutilities rlang svDialogs zoo]; };
   Sojourn_Data = derive2 { name="Sojourn.Data"; version="0.3.0"; sha256="1flxiga9szhifndrhmf4blgms477gnnf4gd6wkxqgv3vgisc4q4i"; depends=[]; };
@@ -5069,10 +5109,9 @@ in with self; {
   SpNMF = derive2 { name="SpNMF"; version="0.1.1"; sha256="1xybxx47i3ww5d7chwl38xc48fbsclgyxcki8h85c6dkm49dxy8i"; depends=[NMF]; };
   SpNetPrep = derive2 { name="SpNetPrep"; version="1.2"; sha256="1jhjyrb0k5z21vn9bc444rxax3lxsyzyhggrcy7zl9ps7p4ra990"; depends=[leaflet maptools prodlim raster rgdal shiny shinythemes sp spatstat spatstat_core spatstat_geom spatstat_linnet]; };
   SpaCCr = derive2 { name="SpaCCr"; version="0.1.0"; sha256="0qm1fr6nnax3i1i77fi73x1z8db557avh6kivs0nskb1dfj8ri4m"; depends=[abind dplyr ggplot2 Rcpp RcppArmadillo tidyr]; };
-  SpaDES = derive2 { name="SpaDES"; version="2.0.7"; sha256="186qds86nnlcq754mk9xpnhr75rw0ifrldi2gzjqn5xa07byjqjv"; depends=[quickPlot reproducible SpaDES_core SpaDES_tools]; };
   SpaDES_addins = derive2 { name="SpaDES.addins"; version="0.1.3"; sha256="0bhn9rj9p5rkcxz0pn2n1l3vij6khxhla0vgzrazh9f7s4hyyymp"; depends=[devtools magrittr miniUI reproducible rstudioapi shiny SpaDES_core stringi]; };
-  SpaDES_core = derive2 { name="SpaDES.core"; version="1.0.9"; sha256="1p9p4l263565k3bi9ynibsxhf07klvclxzqn3f63hd7k38da8xhi"; depends=[crayon data_table fastdigest igraph qs quickPlot raster reproducible Require whisker]; };
-  SpaDES_tools = derive2 { name="SpaDES.tools"; version="0.3.9"; sha256="1wq09r2zhk4in6d98i9g3lp8ajsazabxwgwlrdnp8n7dbpslgp44"; depends=[backports checkmate CircStats data_table fastmatch fpCompare magrittr quickPlot raster Rcpp reproducible rgeos sp]; };
+  SpaDES_core = derive2 { name="SpaDES.core"; version="1.0.10"; sha256="0yg3fdw1m7gfr9g3zy73qnpqb33v0brkx68fwmlbmygfk9yhzqh5"; depends=[crayon data_table fastdigest igraph qs quickPlot raster reproducible Require whisker]; };
+  SpaDES_tools = derive2 { name="SpaDES.tools"; version="0.3.10"; sha256="151csnabpckzl3jgxj26jnfnghkmahdp35rf7r0wmajcaddhfk5s"; depends=[backports checkmate CircStats data_table fastmatch fpCompare magrittr quickPlot raster Rcpp Require rgeos sp]; };
   SpaTimeClus = derive2 { name="SpaTimeClus"; version="1.0.1"; sha256="0w2jxaz2kxfksyss5vy6xy499p8jg8lpqlykwgm2srp1fd2l3rs9"; depends=[Rcpp RcppArmadillo]; };
   SpadeR = derive2 { name="SpadeR"; version="0.1.1"; sha256="0iy2rkq4vvps1a73kqq37zpsyl4pvl3vh07dwvpfhvp7f8nxbx99"; depends=[]; };
   SparseBiplots = derive2 { name="SparseBiplots"; version="4.0.1"; sha256="0jiyafhsddqa3llrp62lf8bgcvs3wp2pxc8ppaxx4zphkifw2yhr"; depends=[ggplot2 ggrepel gtable rlang sparsepca testthat]; };
@@ -5102,7 +5141,7 @@ in with self; {
   SpatialRoMLE = derive2 { name="SpatialRoMLE"; version="0.1.0"; sha256="1m80vcd27g11v0gxnjz6p4ghljpxdb8jpkns8ry5yzhfvcpf29jc"; depends=[]; };
   SpatialTools = derive2 { name="SpatialTools"; version="1.0.4"; sha256="0jgbrzsx2klvihv65y1ycqyr8awp5kqqz4qwfyfibx3b56lzna1q"; depends=[Rcpp RcppArmadillo spBayes]; };
   SpatialVS = derive2 { name="SpatialVS"; version="1.1"; sha256="1xghfiz9wmmx11ssms7zjy3ggkjmc6kkbdwp3v5wjwpwapafzdk3"; depends=[fields MASS nlme]; };
-  SpatialVx = derive2 { name="SpatialVx"; version="0.8"; sha256="10l1f9cs5h2sy8i5wy96vwh0ypwkx9xzidlg96qc3qg1ww7dlsiw"; depends=[boot CircStats distillery fastcluster fields maps smatr smoothie spatstat spatstat_core spatstat_geom spatstat_linnet turboEM waveslim]; };
+  SpatialVx = derive2 { name="SpatialVx"; version="0.9"; sha256="0dbjllcfay8iaqmw4xmf5axpa4xd34qqf6x7p4fn02kwjzivc12x"; depends=[boot CircStats distillery fastcluster fields maps smatr smoothie spatstat spatstat_core spatstat_geom spatstat_linnet turboEM waveslim]; };
   Spbsampling = derive2 { name="Spbsampling"; version="1.3.4"; sha256="1rsgrfhipx743qdcpii727hxwg9wqcavy67z5b3kwawss8gf8arc"; depends=[Rcpp RcppArmadillo]; };
   SpecDetec = derive2 { name="SpecDetec"; version="1.0.0"; sha256="1940pl4vm1kzszq0hwhqkwbk1xmrimjdf03acpdndy089mdg9avc"; depends=[abind]; };
   SpecHelpers = derive2 { name="SpecHelpers"; version="0.2.7"; sha256="1v3v717ah2fkx9225860dwppdf5m6nnnaaa4iwmj30rn17nqr4jh"; depends=[gsubfn splancs]; };
@@ -5122,7 +5161,7 @@ in with self; {
   SportsAnalytics = derive2 { name="SportsAnalytics"; version="0.2"; sha256="1vb080ak1mfvr6d0q9i3r8hd547ba80bavjdcri0gclqqcjf1ach"; depends=[]; };
   SportsTour = derive2 { name="SportsTour"; version="0.1.0"; sha256="06d66yv0b7c3mg1bcnrlg576njxgri107ni0vnl27hzf46fyidwa"; depends=[]; };
   SpotSampling = derive2 { name="SpotSampling"; version="0.1.0"; sha256="0s47dvigzkcl9ynrdiwrjzwap18dpkb29jngi8ddvf9m4xywj4al"; depends=[BalancedSampling MASS pracma sampling WaveSampling]; };
-  SqlRender = derive2 { name="SqlRender"; version="1.8.1"; sha256="1yar1pfdzk1x14x6x5l94ygvqh3gki77gwgnw6z6pn2kzzk367bf"; depends=[rJava rlang]; };
+  SqlRender = derive2 { name="SqlRender"; version="1.8.3"; sha256="0j03lrxv3pakfyay8hnjk4523f22ch5v6hfvwjpyqvcdw0ip4v8q"; depends=[rJava rlang]; };
   Sshaped = derive2 { name="Sshaped"; version="1.0"; sha256="0zvbgn9hxp2a23g3q028k8ywrwkbzx17a3szvmbj0gcn3kcafvdi"; depends=[Rcpp RcppArmadillo]; };
   Sstack = derive2 { name="Sstack"; version="1.0.1"; sha256="137vsas2kw3l37c141g51sgx0j6z8ys6hbxjmsdymz1fxsjr4adg"; depends=[doParallel dplyr foreach randomForest]; };
   StAMPP = derive2 { name="StAMPP"; version="1.6.3"; sha256="0yqvy4yw9ccsbpjm6z1b9lh3435minfl7acnc1ha0zgiw8bvs2n2"; depends=[adegenet doParallel foreach pegas]; };
@@ -5148,7 +5187,8 @@ in with self; {
   SteinerNet = derive2 { name="SteinerNet"; version="3.1.0"; sha256="03wr746dkwp8vg91y986q0xvgz1y9b5q25g0kig2sx6m75li3yif"; depends=[igraph]; };
   Stem = derive2 { name="Stem"; version="1.0"; sha256="1fr02mi5qyxbqavdh2hg8ggw4nfjh3vs7g0vh834h6y0v53l71r5"; depends=[MASS mvtnorm]; };
   StempCens = derive2 { name="StempCens"; version="1.1.0"; sha256="0jphyikfggx0yj5f5k3fykf3fdv9msppymzpyin1m7xfmfi5cwia"; depends=[distances ggplot2 MCMCglmm mvtnorm Rcpp RcppArmadillo Rdpack tmvtnorm]; };
-  StepReg = derive2 { name="StepReg"; version="1.4.2"; sha256="0phabq5miri0zbbnmgb06k21z0kjrv9n88vfnaj4d0js7b973r9j"; depends=[Rcpp RcppEigen]; };
+  StepBeta = derive2 { name="StepBeta"; version="0.1.0"; sha256="1z19adh5ldcpx3g473f6j5kv2s37wbsrv36g0ss09c87z89zp5wz"; depends=[betareg glue]; };
+  StepReg = derive2 { name="StepReg"; version="1.4.3"; sha256="0c9zxrm5nrxnibrg59gzlz4axnj1c9m6y5wawpak6k41c61q6x2y"; depends=[survival]; };
   StepSignalMargiLike = derive2 { name="StepSignalMargiLike"; version="2.6.0"; sha256="0j85lvs2bljfhf482r31sq3xgk8l73hcw22wgxxp8z8nla38cwf9"; depends=[Rcpp]; };
   SteppedPower = derive2 { name="SteppedPower"; version="0.3.1"; sha256="1iaaih7pwrs9icn0x7zpqicwnbpgb4azsy0dh238aq2ghawx0p2s"; depends=[Matrix plotly Rfast]; };
   StepwiseTest = derive2 { name="StepwiseTest"; version="1.0"; sha256="1fdm4s9l6grgd45r98ybbsh40rnmnn16c0id6lv28cpmssi0iphi"; depends=[Rcpp RcppArmadillo]; };
@@ -5169,6 +5209,7 @@ in with self; {
   StroupGLMM = derive2 { name="StroupGLMM"; version="0.1.0"; sha256="1w0xizdmwqflfhqwygyq7fw5ci7pdzmr8dfv3j0g3ljbj84kndzd"; depends=[aod broom car ggplot2 lme4 lmerTest lsmeans MASS mutoss nlme pbkrtest phia survey]; };
   StructFDR = derive2 { name="StructFDR"; version="1.3"; sha256="1y0wj7y36iq0lznc4qpsr2yis3an34iilpabkaxxmas2q4abg0qb"; depends=[ape cluster dirmult matrixStats nlme]; };
   StructureMC = derive2 { name="StructureMC"; version="1.0"; sha256="1pj3inznw6flvmk22dzjcfjnwjhx7r98ngckz0axf6ipp3hb85jn"; depends=[MASS matrixcalc]; };
+  SuRF_vs = derive2 { name="SuRF.vs"; version="1.1.0.1"; sha256="0yhd6wsifmlr39fxs46b93y0bpqrv5c0zc4sjs2jpdrzivwfq1j5"; depends=[dplyr glmnet survival]; };
   SubCultCon = derive2 { name="SubCultCon"; version="1.0"; sha256="08q6k4nsv3gl5qk87s87smdg047yc2a4i7kg0fp08i7q7h62jkvz"; depends=[]; };
   SubTite = derive2 { name="SubTite"; version="4.0.5"; sha256="13fh24w7nvx5xqb0yvn8cackj576dspnrszdqv1gd0i3irzlyqya"; depends=[Rcpp RcppArmadillo]; };
   SubVis = derive2 { name="SubVis"; version="2.0.2"; sha256="1nb3zgm6i5lwfwdrn8mk3wkg8a4ldfvs27ai8v46l4316qc1fa9p"; depends=[Biostrings shiny]; };
@@ -5188,7 +5229,7 @@ in with self; {
   SuperLearner = derive2 { name="SuperLearner"; version="2.0-28"; sha256="00any24msgflyagy87nznpfjz5g9v15frqda6c679wa8plx26hjz"; depends=[cvAUC gam nnls]; };
   SuperPCA = derive2 { name="SuperPCA"; version="0.4.0"; sha256="0bpcxg9rh3ig5fzml026glws13daf5hiqbvdy7hsriv8y8qlxnfk"; depends=[fBasics glmnet MASS matlab matlabr Matrix matrixStats pracma psych R_matlab RSpectra spls timeSeries]; };
   SuperRanker = derive2 { name="SuperRanker"; version="1.2.0"; sha256="01wilk3cy33z50yhg4i4gci298fj8s4xbrkb7k3i9gn8q13vviin"; depends=[prodlim Rcpp]; };
-  SuperpixelImageSegmentation = derive2 { name="SuperpixelImageSegmentation"; version="1.0.4"; sha256="0s6cizdxbv56sn2cijl7sdnvk4cpkmndmv01v4kvh1lwcfq8zz76"; depends=[ClusterR lattice OpenImageR R6 Rcpp RcppArmadillo]; };
+  SuperpixelImageSegmentation = derive2 { name="SuperpixelImageSegmentation"; version="1.0.5"; sha256="01j8p1vfnswy41b7nzmwml4aq8s00xwdk3zjcc1b6n9bqv0cgnaz"; depends=[ClusterR lattice OpenImageR R6 Rcpp RcppArmadillo]; };
   Superpower = derive2 { name="Superpower"; version="0.1.2"; sha256="0nas4mha5m2vk210g52pk5n1y4vy3pzmbxysmkvjl0slwavi9gsi"; depends=[afex dplyr emmeans ggplot2 gridExtra Hmisc magrittr MASS mvtnorm reshape2 tidyr tidyselect]; };
   SuppDists = derive2 { name="SuppDists"; version="1.1-9.7"; sha256="025b9nlxz62wk84295csyzbncpn80i3iby3sxdigf3swcgi2fmbb"; depends=[]; };
   SurfaceTortoise = derive2 { name="SurfaceTortoise"; version="1.0.2"; sha256="1l586x9np5rclqdrnv8b72ixlppzlnsq4yf99ny6aq5a9lwzmcgm"; depends=[gstat raster rgeos sp]; };
@@ -5202,8 +5243,8 @@ in with self; {
   SurvHiDim = derive2 { name="SurvHiDim"; version="0.1.1"; sha256="1kix00zfrbx11pwx2dfag8vz5nvf8siw2kbxi8g4fb7xib9wh2na"; depends=[factoextra glmnet igraph Rdpack readr survival tidyverse useful]; };
   SurvLong = derive2 { name="SurvLong"; version="1.1"; sha256="1lkbz5wa6ggwvg2aq13bc4hm6lqsj3wal5c33kamnrg9pk2cssj8"; depends=[]; };
   SurvMI = derive2 { name="SurvMI"; version="0.1.0"; sha256="0qgsgz11vz73v83bkxrrjwk7i26rllkxk97if3nw2rgl9jnmiih0"; depends=[survival zoo]; };
-  SurvMetrics = derive2 { name="SurvMetrics"; version="0.3.5"; sha256="06wzzg20p7nmnmbkzkh3xs82g328ad1cws1jqywsv0mzd2a3wcvx"; depends=[MASS survival survminer]; };
-  SurvRegCensCov = derive2 { name="SurvRegCensCov"; version="1.4"; sha256="0ipr7lajnrklk963lrlgx946l6r191q3bfif4njkdmw0x797nzm2"; depends=[numDeriv survival]; };
+  SurvMetrics = derive2 { name="SurvMetrics"; version="0.4.0"; sha256="1z5m46f5yl4iiczbhbygvwfl7iklhna7cvqwf9sdl39cfljhfk2c"; depends=[MASS survival survminer]; };
+  SurvRegCensCov = derive2 { name="SurvRegCensCov"; version="1.5"; sha256="0p39xqrnx2x0fgdfdr9ffv2x9zcgi53kqya821gpbnn3ccjzxx58"; depends=[numDeriv survival]; };
   SurvTrunc = derive2 { name="SurvTrunc"; version="0.1.0"; sha256="0b6s7llljp75agd57lmc1yq5acnfwy113khrfjcbm1l5ply6pz7f"; depends=[survival]; };
   Survgini = derive2 { name="Survgini"; version="1.0"; sha256="1gxkdv2j1njbgnwb52vyhz7p2lrcg3hp6sry3kyhp4wkvf6gnhxi"; depends=[survival]; };
   SurviMChd = derive2 { name="SurviMChd"; version="0.1.1"; sha256="1sj3i950nmam3r70as85kdx6nd88iidb5jpiz2a5a39i5lb7mgf7"; depends=[dplyr ICBayes icenReg R2jags Rdpack readr rjags rlang survival tidyverse]; };
@@ -5241,7 +5282,7 @@ in with self; {
   TCGAretriever = derive2 { name="TCGAretriever"; version="1.5"; sha256="1xg1rz2h5jbpdd5axli3ripqxb0bj64yrd4y5nzr8axajiaybkj9"; depends=[httr]; };
   TCIApathfinder = derive2 { name="TCIApathfinder"; version="1.0.6"; sha256="15f3w6vhbqy4xzidxasjnqigxchd3jbr2kpm3gggjnkp7rzsfgaf"; depends=[httr jsonlite]; };
   TCIU = derive2 { name="TCIU"; version="1.2.0"; sha256="0cyagbvcb8x1bszwq8id75838n53l1kcdah7hhm679j2wm4i487s"; depends=[AnalyzeFMRI cubature doParallel dplyr DT extraDistr fancycut fmri foreach forecast geometry ggplot2 ggpubr gridExtra ICSNP MultiwayRegression plotly pracma RColorBrewer reshape2 rrcov scales spatstat_core spatstat_geom tidyr zoo]; };
-  TDA = derive2 { name="TDA"; version="1.7.7"; sha256="1vrpqzswhjwqc4rsvapzfd92cmkvnibibiiac44i8ic50nryw00j"; depends=[BH FNN igraph Rcpp RcppEigen scales]; };
+  TDA = derive2 { name="TDA"; version="1.8.5"; sha256="16dpbgwkp58ibjck3yjziv5p852vn8qxv4v77z17r18909a0j8lp"; depends=[BH FNN igraph Rcpp RcppEigen scales]; };
   TDAkit = derive2 { name="TDAkit"; version="0.1.2"; sha256="1gvcv3016kjk98qm07i972fi66bcljj1avmagyc8qxs29cq3ngg3"; depends=[energy ggplot2 maotai Rcpp RcppArmadillo Rdpack T4cluster TDAstats]; };
   TDAmapper = derive2 { name="TDAmapper"; version="1.0"; sha256="0cxgr2888v8azgdr3sg4vlcdyivkrxkk6dsp1ahv4frrwvg2z09k"; depends=[]; };
   TDAstats = derive2 { name="TDAstats"; version="0.4.1"; sha256="1zmickqk60vm9rzy67hib835v3c45aqjk441p31vpbvhbiy58nq5"; depends=[ggplot2 Rcpp]; };
@@ -5256,7 +5297,7 @@ in with self; {
   TELP = derive2 { name="TELP"; version="1.0"; sha256="0wzm3dz0489ha7dd6lkashvvjydck9jw2pavlx9plpksvzr4q9ph"; depends=[arules arulesViz ggplot2 gridExtra RColorBrewer tcltk2 tm wordcloud]; };
   TEQR = derive2 { name="TEQR"; version="6.0-0"; sha256="112znsz36jqh3krnr4j05xl70picih8qpmqky2gllgyr8nky39fr"; depends=[]; };
   TERAplusB = derive2 { name="TERAplusB"; version="1.0"; sha256="0mshx615awcf2arm39mgw2gzgpyn7a3f767484g7z4nqqlikwpgc"; depends=[]; };
-  TESS = derive2 { name="TESS"; version="2.1.0"; sha256="05xsz2v847pwj4ja7hmg3zfbfqrwwzpf0ri0gjzb8snm2a7xm23y"; depends=[ape coda deSolve Rcpp]; };
+  TESS = derive2 { name="TESS"; version="2.1.1"; sha256="0cbrs4x026pbnclfz584gaj42d4gvma68cd6cgx2my54j42jcn73"; depends=[ape coda deSolve Rcpp]; };
   TExPosition = derive2 { name="TExPosition"; version="2.6.10.1"; sha256="0psdm35g7h7d8cr3xlyq8akr0qrbl44d5pnsaf535cs5pmqdp87b"; depends=[ExPosition prettyGraphs]; };
   TFMPvalue = derive2 { name="TFMPvalue"; version="0.0.8"; sha256="0h9qkl15k8v17v3g9bdnfwvh2s04ywjgg5y0xn2077dmywlja1bd"; depends=[Rcpp]; };
   TFX = derive2 { name="TFX"; version="0.1.0"; sha256="0xrjdbvg0ng4i0s8ql1pfyma10x4n045spilkb05750677r5j44p"; depends=[XML]; };
@@ -5264,11 +5305,10 @@ in with self; {
   TGS = derive2 { name="TGS"; version="1.0.1"; sha256="01mwdlgfjlxy0q5lxcmzk6lsb806987va7yag0zpjjd2bzmdh70k"; depends=[bnstruct doParallel foreach ggm minet rjson]; };
   TGST = derive2 { name="TGST"; version="1.0"; sha256="1xnb41ksggdi57gnkjaab98c4nfdkxqx53rv9pyh3j0cg0kbkk9v"; depends=[ggplot2 knitr]; };
   TH_data = derive2 { name="TH.data"; version="1.1-0"; sha256="0ghihfpk5d8gsdlzf6phw7dwwz3adx64pxk82vlmlqx53ljpxcr1"; depends=[MASS survival]; };
-  TIGERr = derive2 { name="TIGERr"; version="0.1.0"; sha256="1m9hbiflg6m7nvqklsnm027c4spspda1xmb69667nlnw0yvksqnm"; depends=[caret pbapply ppcor randomForest]; };
+  TIGERr = derive2 { name="TIGERr"; version="1.0.0"; sha256="04nnm0adf0sbgv7a2ikaq2a5kb9j1xmdfmssizm49q5j457rrl7d"; depends=[pbapply ppcor randomForest]; };
   TIMP = derive2 { name="TIMP"; version="1.13.2"; sha256="1y1bc6wsd32792apsc6qncxbw5y8ww9xlhy9v49mhwbffgzn6llg"; depends=[colorspace deSolve fields gclus gplots minpack_lm nnls]; };
   TITAN2 = derive2 { name="TITAN2"; version="2.4.1"; sha256="16zf42s1as2xrvyhd0lnv36mgnr5w19xv11pkl0k8imb5bdkhxa2"; depends=[cowplot dplyr ggplot2 ggridges glue purrr snow tibble]; };
   TInPosition = derive2 { name="TInPosition"; version="0.13.6.1"; sha256="1c0h9zg71whmsjn5rnzv5kdrabl9kqrq627caznvrpa74c7pjks9"; depends=[ExPosition InPosition prettyGraphs TExPosition]; };
-  TKCat = derive2 { name="TKCat"; version="0.5.4"; sha256="061xdb5gqdxik3wwp9daz3kj9kjd77dzq7h5q883nqdlg4gzksp3"; depends=[base64enc DBI dplyr DT future getPass jsonlite jsonvalidate magrittr markdown promises RClickhouse readr ReDaMoR rlang shiny shinydashboard tidyselect visNetwork]; };
   TLMoments = derive2 { name="TLMoments"; version="0.7.5.2"; sha256="0l9d4yafkkn3qdg9ypy3fiqnzxzv8yzxkq6mh1j28g94s4h6lybh"; depends=[ggplot2 hypergeo lmomco Rcpp]; };
   TMB = derive2 { name="TMB"; version="1.7.22"; sha256="116k7ffgadhkqq4lckfd4403qvybcls1hcs1ap1b7lkylghjahf2"; depends=[Matrix RcppEigen]; };
   TMDb = derive2 { name="TMDb"; version="1.1"; sha256="062n9mi2f9g2xxpnymja57xnpl855d8mwyfwci7a8cq4c7w7avj7"; depends=[httr jsonlite stringi]; };
@@ -5276,7 +5316,7 @@ in with self; {
   TNC = derive2 { name="TNC"; version="0.1.0"; sha256="0639wvylmk9mapvmz79ij65g1phv3ylc683awi4pgaf9yfwlmjkn"; depends=[]; };
   TOC = derive2 { name="TOC"; version="0.0-5"; sha256="0zk6j1yc4gpvkswnfrlyfvqc69wr4q3ys59y7v03fhzwasqj0an2"; depends=[bit raster rgdal]; };
   TOHM = derive2 { name="TOHM"; version="1.4"; sha256="15i9hrvxlnwbs9vrsyrfhnm4xwmi97hss2da0xqs1xj5nmzwymqh"; depends=[EQL igraph Matrix nloptr Rmpfr]; };
-  TOSTER = derive2 { name="TOSTER"; version="0.3.4"; sha256="1pxcvlw2nhh1sv0d662xc61rykf7kz7f4xjq3yrqf119gjcmps5s"; depends=[ggplot2 jmvcore R6]; };
+  TOSTER = derive2 { name="TOSTER"; version="0.4.0"; sha256="0zfalngjjg1p4516r60ma03d2ndw2w417p7bp3b9l4cyv5jy5qjv"; depends=[cowplot distributional ggdist ggplot2 jmv jmvcore R6 tidyr]; };
   TP_idm = derive2 { name="TP.idm"; version="1.5"; sha256="07rxn0mpar3p6blg8fd3kbvdngyz9h9n0r0lcljnfdajfzbysv7h"; depends=[]; };
   TPD = derive2 { name="TPD"; version="1.1.0"; sha256="1ppj6ppi0lhlz079ygjnwx1l5f36bsi8zax23ssr1w6h4csw748m"; depends=[ggplot2 gridExtra ks mvtnorm]; };
   TPEA = derive2 { name="TPEA"; version="3.1.0"; sha256="1yyc3q4dyf4d8m7wi851dnxf3xnvvfnvj28kl8z8py4r4jsb2hfy"; depends=[foreach igraph Matrix MESS RCurl XML]; };
@@ -5285,7 +5325,7 @@ in with self; {
   TPmsm = derive2 { name="TPmsm"; version="1.2.5"; sha256="1aj0gj74w7ak2csdybfmzwq873kj12jhs0rnqa0lbw6627h0g7pc"; depends=[KernSmooth]; };
   TR8 = derive2 { name="TR8"; version="0.9.22"; sha256="12miq65yl39pngpsa30qjcwp21vn93a4wvid03pmbf6x6hq0v4k7"; depends=[dplyr plyr rappdirs RCurl readxl reshape shiny taxize XML]; };
   TRADER = derive2 { name="TRADER"; version="1.2-3"; sha256="1w9m2b866dyj82s118m64q8j9a1chpq2km2pnn9mfwwj8sivgdgn"; depends=[dplR]; };
-  TRAMPR = derive2 { name="TRAMPR"; version="1.0-9"; sha256="16fbzp6b6y25k9h7m4qpmbgj10przywm2rh8kvw8a8p0xkskc9k5"; depends=[]; };
+  TRAMPR = derive2 { name="TRAMPR"; version="1.0-10"; sha256="0nndacpj1bnj6klvf8z4hl05krlnmyc9h9f813kmypk5fqjnhh38"; depends=[]; };
   TRD = derive2 { name="TRD"; version="1.1"; sha256="0bhn4bcrq39f5dgqc74jqsfhs1iqfxhawacqqyncbk2372013nqp"; depends=[Rlab]; };
   TRES = derive2 { name="TRES"; version="1.1.5"; sha256="0hrlqr6va7f17i4zizc2val2jxl151h8dbp4f97g0ixlqnv39qjl"; depends=[ManifoldOptim MASS pracma rTensor]; };
   TREXr = derive2 { name="TREXr"; version="1.0.0"; sha256="1dkp3l5cix06bhidmr9npd2f2my9hcm0qmdar0hwkcm1zrl1ha4w"; depends=[boot chron doParallel doSNOW dplyr foreach lhs lubridate magrittr msm randtoolbox sensitivity solaR tibble zoo]; };
@@ -5304,6 +5344,7 @@ in with self; {
   TSGS = derive2 { name="TSGS"; version="1.0"; sha256="0lsl6lmyg57bbw0pm22clxvzgwz44r8pizjqn1g67c76vmrsgpd4"; depends=[caret e1071 edgeR fastmatch genalg kernlab]; };
   TSGSIS = derive2 { name="TSGSIS"; version="0.1"; sha256="0zrlin6xi6sv5qb18a0wi8lzldqlwa9lbwnra44w3jza3kakff7n"; depends=[glmnet MASS]; };
   TSHRC = derive2 { name="TSHRC"; version="0.1-6"; sha256="13x5l0y0nh972p39s32dv8byds19g8265s2mphbrzz1v59aq0xk3"; depends=[]; };
+  TSLSTM = derive2 { name="TSLSTM"; version="0.1.0"; sha256="0q00h8hf5xdwvpw1z7f2zxsbwynby1qdzbafdlsrxi0l51mz5r76"; depends=[keras tensorflow tsutils]; };
   TSMCP = derive2 { name="TSMCP"; version="1.0"; sha256="1wzi6wzd8l5bkm0qc1mfvj067xywm208xl6r87a4svcn1ydr4vl4"; depends=[lars plus]; };
   TSMN = derive2 { name="TSMN"; version="1.0.0"; sha256="12wgcc7szbcbk3d1a17wz96rlwp5l39cn0i03hjsb0sbrs7mjwg5"; depends=[]; };
   TSMSN = derive2 { name="TSMSN"; version="0.0.1"; sha256="0zy9r6i1p161h1zh0vnz1npsh48q3nc2c5hcgzvf78nfznnn6wg1"; depends=[mvtnorm numDeriv progress sn]; };
@@ -5332,6 +5373,7 @@ in with self; {
   TSsmoothing = derive2 { name="TSsmoothing"; version="0.1.0"; sha256="1m4y6hfw5ghqmvbnha05w6k0abbr08xdcahmh897g68b06vcrjsl"; depends=[ggplot2 gridExtra MASS Matrix]; };
   TSsql = derive2 { name="TSsql"; version="2017.4-1"; sha256="0f71q6gqfx4r3ghsmr572cvkpmf2xf7kipf10ii99z1y23dxmsdn"; depends=[DBI tframe tframePlus TSdbi zoo]; };
   TSstudio = derive2 { name="TSstudio"; version="0.1.6"; sha256="1r45s4xgc9a2rdh225xzmwr7g6qahmjj7v1a6g7haghnhaq6hv4s"; depends=[data_table dplyr forecast forecastHybrid future future_apply lubridate magrittr plotly purrr RColorBrewer reshape2 scales tidyr tsibble viridis xts zoo]; };
+  TT = derive2 { name="TT"; version="0.92"; sha256="0r9cr2jfjxz0sw17whls4m6ilqn5gs1fc9vy2i66abkd95ix73wn"; depends=[data_tree dplyr DT htmlwidgets magrittr purrr]; };
   TTAinterfaceTrendAnalysis = derive2 { name="TTAinterfaceTrendAnalysis"; version="1.5.8"; sha256="14bws9z57prnbb30ivl8zzyqi9hrj0nhm3m5i249rn2kyzw70gw1"; depends=[e1071 multcomp mvtnorm nlme pastecs relimp reshape rkt stlplus tcltk2 zoo]; };
   TTCA = derive2 { name="TTCA"; version="0.1.1"; sha256="16slr4c2nwbchsg6fk5prq22p2v4cjxzk93wd3xggav2lzrf8a5h"; depends=[MASS Matrix quantreg RISmed tcltk2 VennDiagram]; };
   TTR = derive2 { name="TTR"; version="0.24.3"; sha256="11xsmbvmxq2j119j2z58bx1fkkb2xlhmzc35z5fbwr3nchrfz6jd"; depends=[curl xts zoo]; };
@@ -5350,7 +5392,7 @@ in with self; {
   TailRank = derive2 { name="TailRank"; version="3.2.1"; sha256="142m0cq9j8y5g9wh4plxya1jqi0dv6p6praxx3jb84kwqspi91xr"; depends=[Biobase oompaBase oompaData]; };
   TanB = derive2 { name="TanB"; version="0.1"; sha256="05y9j1a5nzqfpsw48gix5c4ds1cm80liad9wnwmddhbx4fda6p32"; depends=[fdrtool pracma]; };
   TangPoemR = derive2 { name="TangPoemR"; version="0.1.0"; sha256="06w5gg36mx0vdagkhy7rskgjv2d3irr0d3nkjw26vxp25x1py4sf"; depends=[jiebaR]; };
-  TapeR = derive2 { name="TapeR"; version="0.3.3"; sha256="0q5j7pn05z7hinwl5ypnrgh9ibsw6hvdfszjbnvavzab3bx8l6nn"; depends=[nlme pracma]; };
+  TapeR = derive2 { name="TapeR"; version="0.5.0"; sha256="161qwwqcq94j3h49k6fn6g146hczpaq6vygai5kwl6i8wpdfzc5a"; depends=[nlme pracma]; };
   TargomoR = derive2 { name="TargomoR"; version="0.2.0"; sha256="0dzlqv8v36cm5b9hc9am4351nigknq7vr0mki9kzk2979c18if6b"; depends=[geojsonsf httr jsonlite leaflet magrittr sf tibble xml2]; };
   Tariff = derive2 { name="Tariff"; version="1.0.5"; sha256="1mdbc6yyaddkyj617kx93d2737gijh063v8w8jqw4lwmbwyc4a4w"; depends=[]; };
   TauP_R = derive2 { name="TauP.R"; version="1.5"; sha256="02vk9rj8yx4n2pihgk93bs2f9wkpkyfqm2kp7ixj4wpa29a0iq6v"; depends=[]; };
@@ -5372,9 +5414,10 @@ in with self; {
   TensorComplete = derive2 { name="TensorComplete"; version="0.1.0"; sha256="06lr0blkf5pv1zwlffn7m0xxscjii4jg930nkzrh2k7dnbka6vsx"; depends=[MASS pracma tensorregress]; };
   TensorTest2D = derive2 { name="TensorTest2D"; version="1.1.1"; sha256="1yx1ggsbximbsrwimyg7jblbqr0f75z278f38hg61qjxzf9m4ndk"; depends=[]; };
   Ternary = derive2 { name="Ternary"; version="2.0.0"; sha256="1qkf54h3pg2zjbmhas8b2jxizqd2z626qivdpirjypvzp9243458"; depends=[shiny viridisLite]; };
+  TesiproV = derive2 { name="TesiproV"; version="0.9.1"; sha256="0a2rr2i7skbg5fdwhcz0wqx7y5cdw6kjgxrml27p2r15q3lvz808"; depends=[edfun ggplot2 gridExtra nloptr pracma]; };
   TestCor = derive2 { name="TestCor"; version="0.0.2.2"; sha256="01ndiqi0z672ymm2bid0r0cqz8fqd9268xgmmq74z3agj81l5c5j"; depends=[MASS Rcpp RcppArmadillo]; };
   TestDataImputation = derive2 { name="TestDataImputation"; version="2.3"; sha256="11acpw9vjar6g8n9cifpfs4208j1hqqp15j59mr9pnfwq747hw2z"; depends=[Amelia mice]; };
-  TestDesign = derive2 { name="TestDesign"; version="1.2.6"; sha256="19kaqvlghiwgfnr53f7grj2bsih743i3mls57sblzwzwr3p59qkd"; depends=[crayon foreach logitnorm lpSolve Rcpp RcppArmadillo]; };
+  TestDesign = derive2 { name="TestDesign"; version="1.2.7"; sha256="195j5l6axphkwbjdpj26k2fzs7nbj0kb8gw6271jzwb94b2xfgrb"; depends=[crayon foreach logitnorm lpSolve Rcpp RcppArmadillo]; };
   TestDimorph = derive2 { name="TestDimorph"; version="0.4.1"; sha256="09r265mmr3bk78pqca30n9bz62p6822mg0nhrfaip2lxhl3bfqcw"; depends=[caret corrplot cutpointr dplyr ggplot2 Morpho multcompView tidyr tmvtnorm truncnorm]; };
   TestFunctions = derive2 { name="TestFunctions"; version="0.2.0"; sha256="018nkz8r6vqahrzq3d588i3ffb1bmd1pdk87j4ivcdsx99mq15sn"; depends=[]; };
   TestGardener = derive2 { name="TestGardener"; version="2.0.0"; sha256="1n38y2b3r0xf44jasga67cg820f1llb52farkv8dnp4v7bzld6zs"; depends=[dplyr fda ggplot2 ggpubr knitr pracma rgl rmarkdown stringr tidyr utf8]; };
@@ -5393,7 +5436,7 @@ in with self; {
   ThreeWiseMonkeys = derive2 { name="ThreeWiseMonkeys"; version="0.1.0"; sha256="1qdb3m15q0gg8dk2znc2syy2jdqsp2893a7ilfa8rg3r2vps86yg"; depends=[stringr tuneR]; };
   Thresher = derive2 { name="Thresher"; version="1.1.3"; sha256="16zf5cwc2c5j61xcrqsycwrsc162spyqgk9mac7n37mymn5agbwp"; depends=[ade4 ClassDiscovery colorspace MASS movMF oompaBase PCDimension]; };
   ThresholdROC = derive2 { name="ThresholdROC"; version="2.9.0"; sha256="1mzz05aqq6crcfm5bbv0gbpvndk0yy1lf4fxz8zva790g16cilq0"; depends=[ks MASS numDeriv pROC]; };
-  TiPS = derive2 { name="TiPS"; version="1.1.0"; sha256="08xa0xg8kgjccd8qhplpxyfikrm1yfx2spn6y381p7z08985vnsk"; depends=[gtools inline Rcpp stringr]; };
+  TiPS = derive2 { name="TiPS"; version="1.1.1"; sha256="1bdkd7x4g1dfiw6bs59gz79kdqkz02hvqbh3bgcd5gxwad5ka5zp"; depends=[gtools inline Rcpp stringr]; };
   TickExec = derive2 { name="TickExec"; version="1.1"; sha256="0v0m0wi49yw0ply19vnirl2zwnk61sxalx24l8cadvkssgs13509"; depends=[]; };
   TiddlyWikiR = derive2 { name="TiddlyWikiR"; version="1.0.1"; sha256="0vwwjdmfc8c0y2gfa8gls1mzvp29y39c9sxryrgpk253jj9px1kr"; depends=[]; };
   TideCurves = derive2 { name="TideCurves"; version="0.0.5"; sha256="1cnfnmwmlicsi243058zq3302niwk2l1agrrjy4k7rf1v7gfy6xx"; depends=[chron data_table fields]; };
@@ -5401,14 +5444,17 @@ in with self; {
   TideTables = derive2 { name="TideTables"; version="0.0.3"; sha256="0xfwikz9f58pw1j5vp45wp44lbr8b8ijlac474nzahq46d411afp"; depends=[chron data_table]; };
   Tides = derive2 { name="Tides"; version="2.1"; sha256="0da3z010ali83qf8mf1znicqv8vvsa5r93mc40ax60ln2w33nlrm"; depends=[]; };
   TidyConsultant = derive2 { name="TidyConsultant"; version="0.1.0"; sha256="1ipv0nx0xmba62c7qjgadpjsr850d9dl0z5zjkh1rj6kfxdgiis2"; depends=[autostats badger framecleaner pacman presenter tidybins validata]; };
+  TidyDensity = derive2 { name="TidyDensity"; version="0.0.1"; sha256="159931aa5m7g1w6g7wyka6fvxhfzlsrwi5iid4xz7ixpq68c3b3k"; depends=[dplyr ggplot2 healthyR_ai magrittr plotly purrr rlang stringr tidyr]; };
   TidyMultiqc = derive2 { name="TidyMultiqc"; version="1.0.0"; sha256="1dbkn6vgzkmp3vs528f1vf10hk4ph381z6bq8nshim5ggmvl4wvy"; depends=[assertthat dplyr jsonlite magrittr purrr rlang stringr tibble]; };
+  TileManager = derive2 { name="TileManager"; version="0.4.1"; sha256="0pcskdqxxm07j47bw1j4d3jqf64pk0jqwcp5379hnpi6kr7f5gvh"; depends=[APfun raster rgeos sp XML]; };
   TimeProjection = derive2 { name="TimeProjection"; version="0.2.0"; sha256="04yr4cg2khkw9n3y3qk0ni1327k4pxm09zz2xg8mpjdvgi4p9yi3"; depends=[lubridate Matrix timeDate]; };
   TimeSeries_OBeu = derive2 { name="TimeSeries.OBeu"; version="1.2.4"; sha256="0ihigrbdkfbqqjxqfx3y5q8ii8n60301s7190jr50a88l1xzgmh8"; depends=[forecast jsonlite locfit trend tseries]; };
   TimeVTree = derive2 { name="TimeVTree"; version="0.3.1"; sha256="124kg9zcq4b2j4qvg9f6gykbmzf69qjnnw54nv213ip2h4rdkv32"; depends=[survival]; };
   TimeWarp = derive2 { name="TimeWarp"; version="1.0.15"; sha256="1v6f6d1h9dc8npdy0ph5hhc4jjkzh8kac48lz4ahgngi9n0xwql9"; depends=[]; };
   Tinflex = derive2 { name="Tinflex"; version="1.8"; sha256="053w4l5j499brlbbh1bc41nj01j1533ixd9vggmvpkzk7zgdsasy"; depends=[]; };
   TipDatingBeast = derive2 { name="TipDatingBeast"; version="1.1-0"; sha256="07lw6jnr76qrxwrwv90hi5ih2xf6g4sz4hfapk5vf1y3ayfskkl0"; depends=[DescTools mclust TeachingDemos]; };
-  TmCalculator = derive2 { name="TmCalculator"; version="1.0.1"; sha256="1h1dk4kq6zi3a9wi6bxsqz3b9jk740811dp65sb6lqc668xy5mps"; depends=[]; };
+  Tlasso = derive2 { name="Tlasso"; version="1.0.2"; sha256="1svjl2va3vpa1m13wmyy3bpx76xxivalwprzbaavwxf8lgk34wgr"; depends=[expm huge igraph rTensor]; };
+  TmCalculator = derive2 { name="TmCalculator"; version="1.0.2"; sha256="10simpmvf3gb20vp6k3gzn0qy9989yg9zddz2xns7ab4fhksgf40"; depends=[]; };
   Tmisc = derive2 { name="Tmisc"; version="1.0.0"; sha256="1zs7zxawl13pils9hff0i5aplxy32ccp27jcmjdh39lgf083s3v3"; depends=[dplyr magrittr rstudioapi tibble]; };
   TooManyCellsR = derive2 { name="TooManyCellsR"; version="0.1.1.0"; sha256="0cypjf4a9q2kw4gwxlr59nbwn25wrrhrcmpksxi2yhd3qhk71q8n"; depends=[cowplot ggplot2 imager jsonlite Matrix]; };
   ToolsForCoDa = derive2 { name="ToolsForCoDa"; version="1.0.6"; sha256="1c37xv8h4jycnn9cnxlvby3p8hl3gfp4bdsbxm06bb323qj774pd"; depends=[calibrate HardyWeinberg MASS]; };
@@ -5418,15 +5464,15 @@ in with self; {
   TotalCopheneticIndex = derive2 { name="TotalCopheneticIndex"; version="2.0.1"; sha256="0i21g7zzad973802kfp8s638d3g70c4vkrm59i9frb71apvkljk2"; depends=[TreeTools]; };
   TouRnament = derive2 { name="TouRnament"; version="0.2.5"; sha256="09i0frzzxi5ymjlvh81rmisxh35amrvhxbkjq5351fhlpf1n977z"; depends=[]; };
   ToxCrit = derive2 { name="ToxCrit"; version="1.0"; sha256="1jxi10b733k3djfykyqnpcp2fapsmaszsd7lkwcwmwq62v73rhax"; depends=[]; };
-  Tplyr = derive2 { name="Tplyr"; version="0.4.3"; sha256="0lick8z4fbalzhqrhh5a5bjq74rwb0hy2g7z91g2xlr49ihi51av"; depends=[assertthat dplyr forcats lifecycle magrittr purrr rlang stringr tibble tidyr tidyselect]; };
-  TraMineR = derive2 { name="TraMineR"; version="2.2-2"; sha256="1acpfgapaid4wii9vj0gnbgy5ln0k4hw5niniygndfwiypi2620c"; depends=[boot cluster cNORM colorspace Hmisc psych RColorBrewer]; };
-  TraMineRextras = derive2 { name="TraMineRextras"; version="0.6.2"; sha256="0j39sxd3x447lnn2sxhn3z6qp5spfsfvpy4w0438pw55w8djxs33"; depends=[cluster colorspace doParallel foreach gtools RColorBrewer survival TraMineR]; };
+  Tplyr = derive2 { name="Tplyr"; version="0.4.4"; sha256="1lvr04c3apqk3h191qghyk4lx5axc0rh9skzf42dl6prxqc5wbg0"; depends=[assertthat dplyr forcats lifecycle magrittr purrr rlang stringr tibble tidyr tidyselect]; };
+  TraMineR = derive2 { name="TraMineR"; version="2.2-3"; sha256="1jvjidkfisxvfp3ldnk8cljj6b67z5srqrwb6mqbwpsmg57qws9w"; depends=[boot cluster cNORM colorspace RColorBrewer weights]; };
+  TraMineRextras = derive2 { name="TraMineRextras"; version="0.6.3"; sha256="1lw89h24h9aqrf0pxv6fm0fpiykv1qawfyjsp9afq2ygins8p4xc"; depends=[cluster colorspace doParallel foreach gtools RColorBrewer survival TraMineR]; };
   TraceAssist = derive2 { name="TraceAssist"; version="0.1.0"; sha256="03x071nsfgz1z2qp1zn1y3hfx8ydpj0z4rcfk2i588ad53z86w4c"; depends=[glmnet keras Matrix quadprog]; };
   TrackReconstruction = derive2 { name="TrackReconstruction"; version="1.3"; sha256="0x2wydp9qj2r2rsv0kmwlq4y7mr391ya13rpnj3mdgl0pjdp445s"; depends=[fields RColorBrewer]; };
   Trading = derive2 { name="Trading"; version="2.2"; sha256="0g2jcfp2yp3x6rbf1wvbmq7mkf0r6ssj6j4r1b41f2llw2pgqnnr"; depends=[PerformanceAnalytics reticulate]; };
   TraitStats = derive2 { name="TraitStats"; version="1.0.1"; sha256="00la8ix8wskn1354anx0zd70q1rj65a3407sq25b04hif340liyg"; depends=[gridExtra lattice qpdf rlist]; };
   TrajDataMining = derive2 { name="TrajDataMining"; version="0.1.6"; sha256="1n5qcyc1kb8rdrqaji7pp63l2gyr6jim8spm8ydb4lnqfcnrin9g"; depends=[geosphere rgdal RPostgreSQL sp spacetime trajectories xts]; };
-  TransModel = derive2 { name="TransModel"; version="2.1"; sha256="0brlr4w5k8xsgbrizm7ha0cmq0kqzd2fcjpszq7gym844jj93csi"; depends=[MASS survival]; };
+  TransModel = derive2 { name="TransModel"; version="2.3"; sha256="1wyg3cn7wp1jird16n88ygikf7qpqv3xhnyj3sv4l7gmwvjp5v5a"; depends=[MASS survival]; };
   TransP = derive2 { name="TransP"; version="0.1"; sha256="0p6pfcp8qjdah0lfhx0a396nxjzp3ckpda9hl3snpppx79iyww55"; depends=[]; };
   TransPhylo = derive2 { name="TransPhylo"; version="1.4.5"; sha256="0g92kwi1nlmpc8m4pc9kv9xhczryr2kn9icfr3js7da7vy8g50xy"; depends=[ape Rcpp]; };
   Tratamentos_ad = derive2 { name="Tratamentos.ad"; version="0.2.2"; sha256="0w8bgkinnawdp3h6nhqypc7xg93y4nnk5hczijys713a4bv26gb2"; depends=[crayon]; };
@@ -5434,12 +5480,13 @@ in with self; {
   TreeBUGS = derive2 { name="TreeBUGS"; version="1.4.7"; sha256="0cwhgphdk0zndnqx0qcq42zajhwvgs9myg9dmm6dnp0ik0g5syqa"; depends=[coda hypergeo logspline MASS Rcpp RcppArmadillo rjags runjags]; };
   TreeDep = derive2 { name="TreeDep"; version="0.1.3"; sha256="0ja2hp9sxzybac6dqdsns5q1rj12swl240znsnsffg9mkvzhq6rl"; depends=[ggplot2 lubridate]; };
   TreeDiagram = derive2 { name="TreeDiagram"; version="0.1.1"; sha256="03kn9h37wgx300szzxmg21zc5iz3a9v8f2ydzv6dv6rhpa7yn0v5"; depends=[ape cowplot ggplot2 stringr tree]; };
+  TreeDimensionTest = derive2 { name="TreeDimensionTest"; version="0.0.1"; sha256="08r3lj6jryisskgfzv4yaawmghqx3sk8cjmk0rm2q46ajcf2dihd"; depends=[fitdistrplus igraph mlpack nFactors RColorBrewer Rcpp Rdpack]; };
   TreeDist = derive2 { name="TreeDist"; version="2.3.0"; sha256="1rmd0j8pa7i3q4dqx40gk3kvm0gv8yyrh98ssbslzqsbll84q0y1"; depends=[ape cli colorspace memoise phangorn Rcpp Rdpack shiny shinyjs TreeTools]; };
   TreePar = derive2 { name="TreePar"; version="3.3"; sha256="1sm518b1b4b1p0n5979qzvi2nacxpp3znbg9n75pf2a8z8wy6p4l"; depends=[ape deSolve Matrix subplex TreeSim]; };
-  TreeSearch = derive2 { name="TreeSearch"; version="1.0.1"; sha256="0if768mwnrh56srn1y669gwgn0r5cpgqgpa18zqyf8vangzq60yl"; depends=[ape cli cluster fastmatch future phangorn promises protoclust Rcpp Rdpack Rogue shiny shinyjs TreeDist TreeTools]; };
+  TreeSearch = derive2 { name="TreeSearch"; version="1.1.0"; sha256="0fhkfbq3f4m6lm0kw81wwl809lwv6dq8l9k461v76vqvh7xgs7nl"; depends=[ape cli cluster fastmatch future phangorn promises protoclust Rcpp Rdpack Rogue shiny shinyjs TreeDist TreeTools]; };
   TreeSim = derive2 { name="TreeSim"; version="2.4"; sha256="0nmzx2723n1f5lr951zz2ih2gnpfim5qzihlayhpf181z1qijv93"; depends=[ape geiger]; };
   TreeSimGM = derive2 { name="TreeSimGM"; version="2.5"; sha256="125c9rim272h0dfyygmmijz8dcnch3g9wy1ngki77dyrmdl77yfx"; depends=[ape TreeSim]; };
-  TreeTools = derive2 { name="TreeTools"; version="1.5.1"; sha256="19xl9qn82zs3mxws7mygrz16rsqw92an5aasfdrpn3jvrlcpc4i4"; depends=[ape bit64 colorspace fastmatch phangorn R_cache Rcpp Rdpack]; };
+  TreeTools = derive2 { name="TreeTools"; version="1.6.0"; sha256="0a6q2fr9frk38378zvd1njkrwwmw943plxmi337wrdvgaikkg5jj"; depends=[ape bit64 colorspace fastmatch lifecycle R_cache Rcpp Rdpack]; };
   TrendInTrend = derive2 { name="TrendInTrend"; version="1.1.3"; sha256="0ijkijyhxhjc7202qssa9wnrmwgv4miv5n8jbml4qqj80kcsbdwp"; depends=[nleqslv pracma pROC rms]; };
   TrendSLR = derive2 { name="TrendSLR"; version="1.0"; sha256="1x8j2dg3m7b22gva33y4s318a41wl60sz93y868z4j65hp13jb5k"; depends=[changepoint forecast imputeTS plyr Rssa tseries zoo]; };
   Trendtwosub = derive2 { name="Trendtwosub"; version="0.0.2"; sha256="12ibxxq58h9w7hlrsxwdirh02casj495rxbfknaggwfx3w30nm56"; depends=[magrittr usethis]; };
@@ -5469,11 +5516,11 @@ in with self; {
   UBCRM = derive2 { name="UBCRM"; version="1.0.1"; sha256="1h9f8wlxdgb67qqqnfhd9gfs4l2cq84vajhcb0psva0gwdd1yf6i"; depends=[]; };
   UBL = derive2 { name="UBL"; version="0.0.7"; sha256="1zppc8mgmj4ymxfdvhqiirlf80wh65y58wqm92fgjdn7s06v5skf"; depends=[automap gstat MBA randomForest sp]; };
   UCR_ColumnNames = derive2 { name="UCR.ColumnNames"; version="0.1.0"; sha256="1nwwq93f60r9aik51l7mzckg81f81nz5kgzynyzp5sm4y2wmpzwn"; depends=[]; };
-  UCSCXenaShiny = derive2 { name="UCSCXenaShiny"; version="1.1.4"; sha256="1ixiy1zdrxnp7srp2ak765v640xxfwlx609z0zdk9akavj4w0crf"; depends=[dplyr ezcox forcats ggplot2 ggpubr magrittr ppcor psych purrr shiny stringr tibble tidyr UCSCXenaTools]; };
+  UCSCXenaShiny = derive2 { name="UCSCXenaShiny"; version="1.1.5"; sha256="0x2nlf5s4456yq2k0m1m12mngln9ny65vjm4c7jmdk4ldq14x37s"; depends=[dplyr ezcox forcats ggplot2 ggpubr magrittr ppcor psych purrr shiny stringr tibble tidyr UCSCXenaTools]; };
   UCSCXenaTools = derive2 { name="UCSCXenaTools"; version="1.4.7"; sha256="1s3x9vmvnb0g3fmrgjw636g3nhshbgkv0g2dyrk347bv7bdj52zg"; depends=[digest dplyr httr jsonlite magrittr readr rlang]; };
   UComp = derive2 { name="UComp"; version="2.2.2"; sha256="024fmarngqmj8db7rkah2cnsix3m0zqz153j5585caij302v8rkl"; depends=[Rcpp RcppArmadillo]; };
   UKB_COVID19 = derive2 { name="UKB.COVID19"; version="0.1.3"; sha256="053hsdaa7xnzk95bdp0i1jr6pzq50zvfn1m5sm0znsrk59m5xhgm"; depends=[data_table dplyr here magrittr questionr tidyverse]; };
-  UKFE = derive2 { name="UKFE"; version="0.2.0"; sha256="1v54qmqr05z64ls3vih0iinxax76vz3cas2b0sbgqxf0mgif07s9"; depends=[]; };
+  UKFE = derive2 { name="UKFE"; version="0.2.2"; sha256="1cgs6ma0k3v8m9x3s9d0kiddcmw2q7f5258dh32y07jm9m6aqqpi"; depends=[]; };
   UKgrid = derive2 { name="UKgrid"; version="0.1.3"; sha256="1x44iry2j5qbvd8ac9rv9dmg60hbhry2v4jj9hmm49bx10iwl9h2"; depends=[data_table dplyr lubridate magrittr tsibble xts zoo]; };
   UMR = derive2 { name="UMR"; version="1.1.0"; sha256="05g2gk7bmhzyill6fgq396yk0yi7qz4mdcy3cfzzx5nyr11rc8a7"; depends=[decon distr trust]; };
   UNCLES = derive2 { name="UNCLES"; version="2.0"; sha256="0c61sm09dh0yfrjrjjnizg7qrf8xgc1zdldwhjh64kq8k8g5wa69"; depends=[class kohonen pdist]; };
@@ -5483,6 +5530,7 @@ in with self; {
   UPG = derive2 { name="UPG"; version="0.2.2"; sha256="01w54qbbyiwlw1dymi5gmxd26vds1am7r32p3gpq2ybfghk9kxbw"; depends=[coda ggplot2 knitr matrixStats mnormt pgdraw Rcpp RcppArmadillo RcppProgress reshape2]; };
   UPMASK = derive2 { name="UPMASK"; version="1.2"; sha256="160rsb0nbndf61khcs3s8xv9nj7ln8zl6l11157ywdcjqd2q5qnq"; depends=[DBI dimRed loe MASS RSQLite]; };
   UPSvarApprox = derive2 { name="UPSvarApprox"; version="0.1.2"; sha256="0kgbpk2wc7zsiln7301z8fa1fp4911kpg1zfpjyfw3cv7dqaznv2"; depends=[]; };
+  USA_state_boundaries = derive2 { name="USA.state.boundaries"; version="1.0.0"; sha256="1zxycl0dkwa0bc1axj9s4yw1ld4zkxgbvdzrwwwr3iwddpk8mrdf"; depends=[sp]; };
   USAboundaries = derive2 { name="USAboundaries"; version="0.4.0"; sha256="0wwaywg01vz8hmwm58bnf86m8yqivi53bww5y3ycg891msnjwrgr"; depends=[]; };
   USP = derive2 { name="USP"; version="0.1.2"; sha256="1fngs82r1xbym8qa1lj9jv1i57r3nx9rr093nfpjl82f7r0kr3sn"; depends=[Rdpack]; };
   UScancer = derive2 { name="UScancer"; version="0.1-2"; sha256="0p1kxw1phqq598ljk3njznc9kmgscc8gmwdrvx1scba9rr6n61kl"; depends=[rgdal]; };
@@ -5502,15 +5550,15 @@ in with self; {
   UncDecomp = derive2 { name="UncDecomp"; version="1.0.1"; sha256="1m44pgk7nffay09m4gkwb0khq0qjd7bq1p72blsmib46wmnwqfsa"; depends=[dplyr ggplot2]; };
   UniIsoRegression = derive2 { name="UniIsoRegression"; version="0.0-0"; sha256="0lmrmb9sbk41ak7sbcrzhfnijb1skgb4lqg9m9imc98lcp69h7z0"; depends=[Rcpp]; };
   Unicode = derive2 { name="Unicode"; version="14.0.0-1"; sha256="11jsbpkqg80a8657arklz1ixmc0shk8s5ggb9q8a39nmwk0j536z"; depends=[]; };
-  UnifiedDoseFinding = derive2 { name="UnifiedDoseFinding"; version="0.1.8"; sha256="1mkqfdbjk3yk5clad9vlhzr5ab8v14ywz9jvrvk9m4yjh43p2h3i"; depends=[]; };
+  UnifiedDoseFinding = derive2 { name="UnifiedDoseFinding"; version="0.1.9"; sha256="173mlgrq5xi2rsrx3k56rmawlwc92wbch028vgvp9zsf1nd52r1n"; depends=[]; };
   UniprotR = derive2 { name="UniprotR"; version="2.1.0"; sha256="1ykdfl8qi1sjv1algpmcp6fg5llnbggm963iqkk23cm7fz98pzr3"; depends=[alakazam curl data_tree dplyr ggplot2 ggpubr ggsci gprofiler2 gridExtra htmlwidgets httr magick magrittr networkD3 plyr progress qdapRegex scales stringr tidyverse]; };
   UnitCircle = derive2 { name="UnitCircle"; version="0.1.3"; sha256="0z5ssps8l5ka4aw4984qml15scw4pfssara5dls82afhfhpkszsr"; depends=[]; };
   UnitStat = derive2 { name="UnitStat"; version="1.1.0"; sha256="185ivm4kg6hzqx3srk1shvpd5vlc0akn1sbg3wqcdsk2i2x6vhhm"; depends=[lmtest]; };
   UnivRNG = derive2 { name="UnivRNG"; version="1.2.3"; sha256="14z2yqv14sv16ycf7jf2kkp8pqn12d9lq4l568vmdm10qrl5x39d"; depends=[]; };
   UpSetR = derive2 { name="UpSetR"; version="1.4.0"; sha256="007i0njnjjy7vbrxabwav7a1kk2n0hn2mkvqsdzzfk10ckp5y7im"; depends=[ggplot2 gridExtra plyr scales]; };
-  UsingR = derive2 { name="UsingR"; version="2.0-6"; sha256="1lr8z45r5s7fxrd42rswm6w7s3k5nds244b9d525jb5v4n8w9kpw"; depends=[HistData Hmisc MASS]; };
+  UsingR = derive2 { name="UsingR"; version="2.0-7"; sha256="17ljllslhfmi80yj1336lx9pmzy2i8zdb6byky5yay1lry7s1g30"; depends=[HistData Hmisc MASS]; };
   UtilityFrailtyPH12 = derive2 { name="UtilityFrailtyPH12"; version="1.0"; sha256="06f5gmwwk1r14ab6v5jcxz0pmdph7ffi4y57mjg9byn7pjnibflk"; depends=[bindata mvtnorm Phase123 Rcpp RcppArmadillo]; };
-  V8 = derive2 { name="V8"; version="4.0.0"; sha256="1j5vknhq12kfzda46y7nwiqdzqipzgympqzjq9d8ckr6f6v4qshl"; depends=[curl jsonlite Rcpp]; };
+  V8 = derive2 { name="V8"; version="4.1.0"; sha256="15ylzcxlhkba99cccw5rvhwhg9i4zcax2fhmr03w8g4fdhbd3n89"; depends=[curl jsonlite Rcpp]; };
   VALERIE = derive2 { name="VALERIE"; version="1.1.0"; sha256="15z8234jhh7hv3gijrvy8hap6gdgvm6qll9b00qbji7vyc3dg4pg"; depends=[GenomicAlignments GenomicRanges ggplot2 ggplotify ggpubr IRanges pheatmap plyr Rsamtools scales]; };
   VAM = derive2 { name="VAM"; version="1.0.0"; sha256="04lq8i4zwdc9a4n4hvabdyv4a4cmmqbf534cdnnck7jc0dk5rphr"; depends=[MASS Matrix]; };
   VAR_etp = derive2 { name="VAR.etp"; version="0.7"; sha256="0py5my3ilhcmz44m15hh0d219l9cz7rda4a9gbmf8wh9cgvvj1s3"; depends=[]; };
@@ -5523,14 +5571,14 @@ in with self; {
   VBLPCM = derive2 { name="VBLPCM"; version="2.4.8"; sha256="1yqwhmk0ziy0l3hvvpi2s62p43gm4lavl3dagn3647lrx99nmngn"; depends=[ergm mclust network sna]; };
   VBTree = derive2 { name="VBTree"; version="0.1.0"; sha256="0g0lyvclnfmd3zc8yhcibhli0hyxrba6wb3hx039fsg80q7y02h4"; depends=[tensorA]; };
   VBsparsePCA = derive2 { name="VBsparsePCA"; version="0.1.0"; sha256="0h1kzz7rjh4wn4nbq1v3r4f6nrmlh0lscww2vwfz886x1w2c9sys"; depends=[MASS pracma]; };
-  VC2copula = derive2 { name="VC2copula"; version="0.1.1"; sha256="1ylfsszf98b3sp0zr8z67ag8gsa5614ikbv4p1gnhssxrc8s6rwx"; depends=[copula VineCopula]; };
+  VC2copula = derive2 { name="VC2copula"; version="0.1.2"; sha256="1kbzscdblb3n7mkkhvd75h8hyd6xbfb0lcjgysvyip4v7zc7whvc"; depends=[copula VineCopula]; };
   VCA = derive2 { name="VCA"; version="1.4.3"; sha256="0hqvqq8kvqgrli9426x9npy86nzgc3mhfgq45d8vm7ns3fc6zsay"; depends=[lme4 Matrix numDeriv]; };
   VDAP = derive2 { name="VDAP"; version="2.0.0"; sha256="134x4aisaim72xkyzb1vb8vhl2m4i12yzh6cj858a1ag7b0ing3n"; depends=[drc ggplot2 reshape2 stringr]; };
   VDJgermlines = derive2 { name="VDJgermlines"; version="0.1"; sha256="1aqjhkcj3bd5hk7iz0f2cy5nfp23gvhqsmg6nzlxd9klwc6xpq2h"; depends=[ape stringdist]; };
   VDSM = derive2 { name="VDSM"; version="0.1.1"; sha256="09h09av2yydq1vwd77lgfjjk87432sas60905sxkw0mjixf6hq22"; depends=[dplyr ggplot2 gridExtra knitr plyr viridis]; };
   VDSPCalibration = derive2 { name="VDSPCalibration"; version="1.0"; sha256="1hrmmhvk3mhd3bdl0msnm5shcj4cjgd3pn1rkfkv8fh4llqvz7w8"; depends=[]; };
   VEwaning = derive2 { name="VEwaning"; version="1.1"; sha256="176f0y60pcw29iq6rs636mybbnxq9fhgwhsxaykiijz5d0jhkmbn"; depends=[ggplot2 survival]; };
-  VEwaningVariant = derive2 { name="VEwaningVariant"; version="1.1"; sha256="1jchs1ddvdmha7ivxi99mvr4vl7jggpv6mnv7d6xcrfyw3gh1bj1"; depends=[ggplot2 Rcpp RcppArmadillo survival]; };
+  VEwaningVariant = derive2 { name="VEwaningVariant"; version="1.2"; sha256="1zhyjyp3vdlpjvx7q3zdf4c8gdfpwphqhl6vzpfl12486nlxlv2q"; depends=[ggplot2 Rcpp RcppArmadillo survival]; };
   VFP = derive2 { name="VFP"; version="1.4"; sha256="0p964fag5a0p23x6jgyc5bx4kp3ar9jdh88n4nybiv884sdfbk90"; depends=[gnm MASS VCA]; };
   VFS = derive2 { name="VFS"; version="1.0.2"; sha256="1b8sl8id2gj4iqkpjzd3giybbix2jvskwsbw1kqj3zqr77hygxwg"; depends=[e1071 nleqslv]; };
   VGAM = derive2 { name="VGAM"; version="1.1-5"; sha256="1fx123h4x5awzshv0m4jqbbllrdjfpslb2i8gl9phm1y1wahn69h"; depends=[]; };
@@ -5545,7 +5593,7 @@ in with self; {
   VIRF = derive2 { name="VIRF"; version="0.1.0"; sha256="0bdkmbmkmmj78h9x025qsdzjzcx8xr2s98wlspcsghlz4hxkzcas"; depends=[BigVAR expm gnm ks matlib matrixcalc mgarchBEKK rmgarch]; };
   VLF = derive2 { name="VLF"; version="1.0"; sha256="1il8zhm80mc22zj16dpsy4s6s9arj21l9ik0vccyrpnlr8ws3d3l"; depends=[]; };
   VLMC = derive2 { name="VLMC"; version="1.4-3-1"; sha256="0cwfpxcj8g68j9z9fl66i0amj8ypf199iv3yyxzsmniqv4w5x4ar"; depends=[MASS]; };
-  VLTimeCausality = derive2 { name="VLTimeCausality"; version="0.1.3"; sha256="1a5v2yp2pmnx0h0k2kvpw0cpn1bwz3c68vwdj7sz8r85c7mw326d"; depends=[dtw ggplot2 RTransferEntropy tseries]; };
+  VLTimeCausality = derive2 { name="VLTimeCausality"; version="0.1.4"; sha256="09fpjskdc3bz1qjqvcivk873jyl0mcjm4zds2xa6bd82ka8rb4b8"; depends=[dtw ggplot2 RTransferEntropy tseries]; };
   VOSONDash = derive2 { name="VOSONDash"; version="0.5.7"; sha256="1qivx5ddl9jsn6q6ic2w8jrczxlx23z087k5arfz2rixgj7rndyg"; depends=[data_table httpuv httr igraph lattice magrittr RColorBrewer shiny SnowballC systemfonts syuzhet textutils tm vosonSML wordcloud]; };
   VSURF = derive2 { name="VSURF"; version="1.1.0"; sha256="1azfd4sb89mp27l86k293qj81x94gfiy1ihwnb6c558p8h69xsgf"; depends=[doParallel foreach randomForest ranger Rborist rpart]; };
   VSdecomp = derive2 { name="VSdecomp"; version="0.1.1"; sha256="1vx68rhsxvi3kkrwr98hqhivhdmb9dm9rnmgspx74dskhkysjwbg"; depends=[ggplot2 Hmisc lfe reshape rlang]; };
@@ -5591,12 +5639,12 @@ in with self; {
   WCE = derive2 { name="WCE"; version="1.0.2"; sha256="105pwpd9ikm0gwz4r12jl6cgs1riwsk9pn5qk9cn3msgwa0sdynx"; depends=[plyr survival]; };
   WCM = derive2 { name="WCM"; version="0.2.2"; sha256="0w1m2vcxc64ksw3dm94wdigil2fpv3cvzyqmkhs2zrfjlgrdchcd"; depends=[pracma raster]; };
   WCQ = derive2 { name="WCQ"; version="0.2"; sha256="1yhkr2iazd7lh9r68xz1lh32z6r1sdnmqrjshcrm4rbwai0j3lkr"; depends=[]; };
-  WDI = derive2 { name="WDI"; version="2.7.4"; sha256="153ddpjhi8d88i2p5mrzg9fpg9ixvssg6qfk49y8qsfm3qy2k6pp"; depends=[RJSONIO]; };
+  WDI = derive2 { name="WDI"; version="2.7.5"; sha256="0ipka3mhm0jciq1fb3qsp1cl2k53vihwq2ja9xw2ps6rjply5rii"; depends=[RJSONIO]; };
   WEE = derive2 { name="WEE"; version="1.0"; sha256="0i3h67p72lr708mwdw3rbzr1lqqr8n2dxv7f0bwyqzxv41sx1iz3"; depends=[doParallel foreach quantreg]; };
   WEGE = derive2 { name="WEGE"; version="0.1.0"; sha256="17g4cgx0ajgj7lgxzi467cjbmbc47skyarcm88vqjc3i1j55dw12"; depends=[raster sf sp]; };
   WGCNA = derive2 { name="WGCNA"; version="1.70-3"; sha256="1m6b4a2xpb02c1ajndhk8qlqnhwxa7lkkwj6nzv3l618jy1kp15r"; depends=[AnnotationDbi doParallel dynamicTreeCut fastcluster foreach GO_db Hmisc impute matrixStats preprocessCore Rcpp survival]; };
   WGScan = derive2 { name="WGScan"; version="0.1"; sha256="0jma6di9hbdimswdfm58568vahcjy46hbhb78idjsdz4bl9apvq3"; depends=[data_table MASS Matrix seqminer SKAT]; };
-  WINS = derive2 { name="WINS"; version="1.0"; sha256="0v32fvhyavbrk57jsdfm2xmg6hhlxpxyj4syj3qgzxqqpw5rpk2m"; depends=[copula ggplot2 ggpubr reshape2 stringr survival viridis]; };
+  WINS = derive2 { name="WINS"; version="1.1"; sha256="0vsvrs74n1jkgsw2razfj207hin3yv60r05m6ypv9qqf1835s3rq"; depends=[copula ggplot2 ggpubr reshape2 stringr survival viridis]; };
   WLasso = derive2 { name="WLasso"; version="1.0"; sha256="0q44ljdsqsnnwfnnsmyn3p65inbw0y71v7v5pp7cz2dzbhhpfzpw"; depends=[genlasso ggplot2 MASS Matrix tibble]; };
   WLinfer = derive2 { name="WLinfer"; version="1.1.0"; sha256="0vz5vxn4915z5061iczpl51d7vdz28ss6ghfnllrg4lagn4m1mh6"; depends=[bbmle boot cubature goftest LindleyR nleqslv pracma]; };
   WLreg = derive2 { name="WLreg"; version="1.0.0"; sha256="0paghjcshhrr6y1gm98d6gr78zvgzhl678g9f96hppfa4q3lfpr7"; depends=[inline survival]; };
@@ -5620,9 +5668,11 @@ in with self; {
   WaveletArima = derive2 { name="WaveletArima"; version="0.1.1"; sha256="19hz2q280m41qh3m9lx3i9p6p5fl6pw8r9b06xk6sn04hxbim8xx"; depends=[forecast fracdiff wavelets]; };
   WaveletComp = derive2 { name="WaveletComp"; version="1.1"; sha256="07w2aa0jiflvxyqhgh48705hg8hjspd103jd00i2pcw2v42hwmf8"; depends=[]; };
   WaveletGARCH = derive2 { name="WaveletGARCH"; version="0.1.1"; sha256="0dj5bmvzfhj1cpn8qi2ax3iipr7jlq0f9vk4b1idqgh5dmdi8lh6"; depends=[FinTS forecast fracdiff rugarch wavelets]; };
+  WaveletSVR = derive2 { name="WaveletSVR"; version="0.1.0"; sha256="05sqvqklbz7barf1jfrhd7n4mj60z57sqpikl3lykigl3m9ravhm"; depends=[e1071 forecast fracdiff tsutils wavelets]; };
   WaverR = derive2 { name="WaverR"; version="1.0"; sha256="084fhzggzm075w6wp2lqd3j0an21idhw8z5l8ynz4y96mpmn204a"; depends=[kimisc MASS]; };
   Wcompo = derive2 { name="Wcompo"; version="1.0"; sha256="1rd7y86q8qi7w9878ng0zdk3zpxnjyzpmrm2mj5lm60hkd72xyrw"; depends=[survival]; };
   WeMix = derive2 { name="WeMix"; version="3.2.1"; sha256="0y7xw7ardij56x4s2ls1vfa8a3pjl14jj5y987p3xx8pca409pp6"; depends=[lme4 Matrix minqa NPflow numDeriv Rmpfr statmod]; };
+  WebAnalytics = derive2 { name="WebAnalytics"; version="0.9.1"; sha256="1nllvrwk7lqdvghfzjvvjihsymn36rphfpfwn3j6mlzq2v2vawra"; depends=[brew digest fs ggplot2 scales testthat xtable]; };
   WebGestaltR = derive2 { name="WebGestaltR"; version="0.4.4"; sha256="1rgf9s80hk35baiknrwgnqnhxssrcxdansgpvpyhqv07bqd472nn"; depends=[apcluster doParallel doRNG dplyr foreach httr igraph jsonlite Rcpp readr rlang svglite whisker]; };
   WebPower = derive2 { name="WebPower"; version="0.6"; sha256="1gw6191v9sgycis3vyjznaaiyhmp0j23h9k8g8adchpyss7017ab"; depends=[lavaan lme4 MASS PearsonDS]; };
   WeibullFit = derive2 { name="WeibullFit"; version="0.1.0"; sha256="1a80gcqbmvb1rz2dr2syy16wn6ixjn6l40gayys9zy8302hky9ir"; depends=[e1071 FAdist glue kSamples mixdist optimx R_methodsS3 R_oo sqldf xtable]; };
@@ -5695,7 +5745,6 @@ in with self; {
   aCRM = derive2 { name="aCRM"; version="0.1.1"; sha256="0kzp568hd9c9a9qgniia5s5gv0q5f89xfvvwpzb197gqhs3x092v"; depends=[ada dummies kernelFactory randomForest]; };
   aGE = derive2 { name="aGE"; version="0.0.9"; sha256="17niwni6sd2mdvhskq6vfwplynh67hwq9ijrlgjvhkcslpb2ilp3"; depends=[MASS nlme survey]; };
   aLFQ = derive2 { name="aLFQ"; version="1.3.6"; sha256="0kphpvhz36859f5l0k8mbf59g9871mynbs4ybdi0h5nm2cdjy9vx"; depends=[bio3d caret data_table lattice plyr randomForest reshape2 ROCR seqinr]; };
-  aMNLFA = derive2 { name="aMNLFA"; version="1.1.1"; sha256="1vghwkz14j8vwnkf54ykqgm4vk84wm260pnmaa66xh1466qf4i55"; depends=[devtools dplyr ggplot2 gridExtra MplusAutomation plyr reshape2 stringi stringr]; };
   aPCoA = derive2 { name="aPCoA"; version="1.3"; sha256="0ybp7jd1q0md4wbal5cmcl6hg3c1wkdz5mi1w5qddgi472vv1z83"; depends=[ape car cluster randomcoloR vegan]; };
   aRchi = derive2 { name="aRchi"; version="1.0.5"; sha256="1sn321d2qh7vvwfbr62lg3c5ggg8df0w0q6mwcg5pr3jqhiif076"; depends=[circular data_table DiceKriging dplyr FNN gtools lidR pkgcond plyr progress rgl stringr]; };
   aRpsDCA = derive2 { name="aRpsDCA"; version="1.1.1"; sha256="0ghg43rd6bnv4jp8pkpd1ixp5l6kq5pr0mxq61q24s24g0m3s64p"; depends=[]; };
@@ -5723,7 +5772,8 @@ in with self; {
   abf2 = derive2 { name="abf2"; version="0.7-1"; sha256="0d65mc1w4pbiv7xaqzdlw1bfsxf25587rv597hh41vs0j0zlfpxx"; depends=[]; };
   abglasso = derive2 { name="abglasso"; version="0.1.1"; sha256="0h8p912l0202wyr5vjsbzw5mr70m56ab39wv833g6c4c3187479y"; depends=[MASS pracma statmod]; };
   abind = derive2 { name="abind"; version="1.4-5"; sha256="0b1zd8jbnl6l292cr9rb50m09fy3ylxvzkpgi5lfb1nbzddcwfis"; depends=[]; };
-  abjutils = derive2 { name="abjutils"; version="0.3.1"; sha256="18mmlkqsrjfclk8islfjdsp8sbw6dpjj5x45kqilxdiss69gg5zd"; depends=[dplyr magrittr purrr rlang rstudioapi stringi stringr tidyr]; };
+  abjutils = derive2 { name="abjutils"; version="0.3.2"; sha256="0lmf4va8qnzwg698i2h4fcwvd6dhsgdkqsfh41aa3wg1flimhsr7"; depends=[dplyr magrittr purrr rlang rstudioapi stringi stringr tidyr]; };
+  abn = derive2 { name="abn"; version="2.6-0"; sha256="0fr5pyc43hly5ry5bbygibbh9mnql7vl4r5qz42d0ry4hahyxa4w"; depends=[doParallel foreach lme4 nnet Rcpp RcppArmadillo Rgraphviz rjags]; };
   abnormality = derive2 { name="abnormality"; version="0.1.0"; sha256="1fzfskl9akl06nliy8hkv2a0pznpj8pwcypg3gj5r2nzvr3kan9v"; depends=[MASS Matrix]; };
   abodOutlier = derive2 { name="abodOutlier"; version="0.1"; sha256="1pvhgxmh23br84r0fbmv7g53z2427birdja96a67vqgz18r3fdvj"; depends=[cluster]; };
   abstr = derive2 { name="abstr"; version="0.4.1"; sha256="0ykds1l7bi0h06fjp0d6xshl8ar05n7ccmjbl7hz02l2v7ncfa6v"; depends=[jsonlite lwgeom magrittr od sf tibble tidyr]; };
@@ -5733,6 +5783,7 @@ in with self; {
   academictwitteR = derive2 { name="academictwitteR"; version="0.3.0"; sha256="07fmkrh90ji04qkcad6f3xk4ndin38w1w5ywygv588in1psqfjci"; depends=[dplyr httr jsonlite lubridate magrittr purrr rlang tibble tidyr tidyselect usethis]; };
   acc = derive2 { name="acc"; version="1.3.3"; sha256="1ii2vm47djxbixa75h690q1s2f9m9x6i8nkygik93j6dayr6kr1m"; depends=[circlize DBI ggplot2 iterators mhsmm nleqslv PhysicalActivity plyr R_utils Rcpp RcppArmadillo RSQLite zoo]; };
   accSDA = derive2 { name="accSDA"; version="1.0.0"; sha256="0sgxy5y8kkc1n35657kifwfjsba7y5m1vbr7rkk5lmbpkzahqm61"; depends=[ggplot2 ggthemes gridExtra MASS rARPACK sparseLDA]; };
+  acca = derive2 { name="acca"; version="0.2"; sha256="0h9dyzd1pbr4rvxqz69vlfmbibcd1n72qqgjvci7fdjjvfq2mc9p"; depends=[ggplot2 plyr]; };
   accelerometry = derive2 { name="accelerometry"; version="3.1.2"; sha256="13xzrwhr4i1nj9c8vrmfdg2rmrc8n446iihcyxmy99sm99hpzyip"; depends=[dvmisc Rcpp]; };
   accelmissing = derive2 { name="accelmissing"; version="1.4"; sha256="1nql9inx6azdzi3z4sfm2vdml2mms6krl8wzlf1dn1c97ahn57fy"; depends=[mice pscl]; };
   accept = derive2 { name="accept"; version="0.8.3"; sha256="0qn4lm6bk0z2iijwsfbymx1c9y39988fw124ncgmlrgw5kv80b7x"; depends=[dplyr reldist]; };
@@ -5763,7 +5814,7 @@ in with self; {
   activityCounts = derive2 { name="activityCounts"; version="0.1.2"; sha256="0zgxr2sk3a8kmygfxx1p5hnrfwdkxx7php6jlrhm8wv6052ck8jz"; depends=[lubridate magrittr seewave signal tibble]; };
   activityGCMM = derive2 { name="activityGCMM"; version="1.1.1"; sha256="0r11z61h8fs5dcm3yfr2njbrbh4pv7xlbqx5zngmrknhv407498z"; depends=[circular mclust overlap runjags]; };
   actogrammr = derive2 { name="actogrammr"; version="0.2.3"; sha256="1jzvarmd41yqlrkagzlc8m19n5mn0w0b36fy50lyvgrfsafjfbqa"; depends=[dplyr ggplot2 lubridate readr tidyr]; };
-  actuar = derive2 { name="actuar"; version="3.2-0"; sha256="015brjjgmkwmjajdjdw8gs02jrd96if425pk9a97d499hzsq3xds"; depends=[expint]; };
+  actuar = derive2 { name="actuar"; version="3.2-1"; sha256="1avqgkls4xvwgfr6j7g2f7p474rlpi82q5aksw8nzf8wcyp7592f"; depends=[expint]; };
   actuaryr = derive2 { name="actuaryr"; version="1.1.1"; sha256="08dzn565ax2l2hrn2m32k6magjbskybywl0hsgkg11nrjvkznwnx"; depends=[crayon dplyr lubridate magrittr purrr tibble]; };
   acumos = derive2 { name="acumos"; version="0.4-4"; sha256="15i4xbcdk5vxjrgac32zh4439v0vmabnw3jvsmxiipap5frp7rpi"; depends=[httr jsonlite RestRserve RProtoBuf Rserve yaml]; };
   ada = derive2 { name="ada"; version="2.0-5"; sha256="1h3a07czp0w3hrhjcg1fz721y8vsfclzqi3rq8qfzgpfb4h1f06r"; depends=[rpart]; };
@@ -5787,7 +5838,7 @@ in with self; {
   addinsJoaoMelo = derive2 { name="addinsJoaoMelo"; version="0.1.0"; sha256="1slx9vfcpb468asvgcj0vh7djc5rndzdpcp96qmnis77fx67xj5s"; depends=[dplyr purrr rstudioapi stringr]; };
   addinsOutline = derive2 { name="addinsOutline"; version="0.1.6"; sha256="125qfqbpv5xflw8qlyh8m3iyd6biyp3arls3z7y8bqkbghifl730"; depends=[dplyr DT fs miniUI rmarkdown rstudioapi shiny shinyFiles stringr tibble yaml]; };
   addinslist = derive2 { name="addinslist"; version="0.4.0"; sha256="0dg91lcb2xgsg6sim9fi9m2p203g2dp5bm5q7k0hy084057c22a5"; depends=[curl DT miniUI rappdirs remotes rmarkdown rvest shiny shinyjs xml2]; };
-  additive = derive2 { name="additive"; version="0.0.3"; sha256="15ib1j62dmb48k26snmf5fjzl2slsj1j0bsjbrrc5aciz30zhyml"; depends=[dplyr mgcv parsnip purrr rlang tibble]; };
+  additive = derive2 { name="additive"; version="0.0.4"; sha256="1m3ns6fxis6wh0dly7dcvsg02d0bbs98w7jldxxp7kn30ihdmfc3"; depends=[dplyr mgcv parsnip purrr rlang tibble]; };
   additiveDEA = derive2 { name="additiveDEA"; version="1.1"; sha256="15nxpdybsda6yhjk23bpafr8v1zdx8332pcxf26k795q3ypjpiy2"; depends=[Benchmarking lpSolveAPI]; };
   additivityTests = derive2 { name="additivityTests"; version="1.1-4"; sha256="048ds90wqjdjy1nyhna3m06asdklbh8sx1n556kss2j1r1pma1sw"; depends=[]; };
   addreg = derive2 { name="addreg"; version="3.0"; sha256="13bwmgxylwi02g60j1rr51cr5jvvkl2nvf2lnnhnq46fhvs2ma7s"; depends=[combinat glm2 turboEM]; };
@@ -5815,7 +5866,7 @@ in with self; {
   adjustedcranlogs = derive2 { name="adjustedcranlogs"; version="0.1.0"; sha256="08apfvpqvnnalx230p4qf5ckrwm1sgzras4zfrysgym5d4map9ci"; depends=[cranlogs dplyr lubridate rvest xml2]; };
   adklakedata = derive2 { name="adklakedata"; version="0.6.1"; sha256="1lzj3ib4bgfkq5lq12n47pwc52h7k35xbbwj6brwsgx1gd4fx3x6"; depends=[httr rappdirs]; };
   adlift = derive2 { name="adlift"; version="1.4-1"; sha256="14q7fnhlqvxdhnfjhdhfmadz241srplbm069a7ybbsql21cphpf3"; depends=[EbayesThresh]; };
-  admisc = derive2 { name="admisc"; version="0.21"; sha256="196m4cf1fjn221jblrimzn3pjhlgqha1cyzs0hks7qbyrv95vwr5"; depends=[]; };
+  admisc = derive2 { name="admisc"; version="0.23"; sha256="0md0sygwdglyw7ss0dw6h235n70vpf25npp1q5b5nmb4db0fq80c"; depends=[]; };
   admix = derive2 { name="admix"; version="0.3.2"; sha256="0si2avjqw6rmv2ndsj1ppmqkafnsjx06m2h4jxfrwf2kxfp2rrn1"; depends=[fdrtool Iso latex2exp MASS orthopolynom pracma Rcpp]; };
   admixr = derive2 { name="admixr"; version="0.9.1"; sha256="0wszpzs53cbnha13g2ldpq6z5ndw2v2xgrzadqkjm3hsp6akv4bl"; depends=[dplyr magrittr readr rlang stringr tibble]; };
   admmDensestSubmatrix = derive2 { name="admmDensestSubmatrix"; version="0.1.0"; sha256="1a5lfm10aj6wdjibdnmffn75zvy6x69w8nqcx2i23gxg6v0xlqcl"; depends=[Rdpack]; };
@@ -5834,7 +5885,7 @@ in with self; {
   afex = derive2 { name="afex"; version="1.0-1"; sha256="1k04n6gwk2n8kg0l3yk5j3wrqgkv5f6w04yjpif9y451hx5w7svg"; depends=[car lme4 lmerTest pbkrtest reshape2]; };
   affinity = derive2 { name="affinity"; version="0.2.5"; sha256="0nfh3g8nifv5773pihgzxh62wa837i2dk1kgf15z28cb5xfj2y8h"; depends=[raster reproj]; };
   affinitymatrix = derive2 { name="affinitymatrix"; version="0.1.0"; sha256="10i7wzl4xiphj5f466ga7c4ha3mkyqn63x1z0jyx50m0b84sggq1"; depends=[expm ggplot2 ggrepel Hmisc MASS]; };
-  affluenceIndex = derive2 { name="affluenceIndex"; version="2.0"; sha256="0icr4rlass7vgcyy5q4nbsf4ck79vm25whycwmndxypp3289r3aw"; depends=[spatstat spatstat_geom]; };
+  affluenceIndex = derive2 { name="affluenceIndex"; version="2.1"; sha256="0vcg4gphs0yxdxsgw7kj9r3hvjpfs2z8sjvllvfw9ki3y7jy5jb8"; depends=[spatstat spatstat_geom]; };
   afmToolkit = derive2 { name="afmToolkit"; version="0.0.1"; sha256="1pm3xyh9vq10mmfgknlvlfr9f027xprrgy1dvbbxpi7f111hv1gl"; depends=[assertthat DBI dplyr ggplot2 gridExtra minpack_lm scales tibble]; };
   afpt = derive2 { name="afpt"; version="1.1.0.1"; sha256="0cg5cdm9nl1hs6f3j0ljpw4bkqvh3ksyj615b9nnbqs5k28lyds9"; depends=[]; };
   aftgee = derive2 { name="aftgee"; version="1.1.6"; sha256="1sq6d6zkr4whg61phz22gb5zh7wxg2il39w2g5s812i4hiipqj4r"; depends=[BB geepack MASS survival]; };
@@ -5854,7 +5905,8 @@ in with self; {
   agrostab = derive2 { name="agrostab"; version="0.1.0"; sha256="0mcskv3144j594wqljzn5pwbhkxh6sb76b1c2wabzjvi61zrapiv"; depends=[dplyr ggplot2 rlang]; };
   agsemisc = derive2 { name="agsemisc"; version="1.3-1"; sha256="1905q35jgjhghlawql43yh296kbpysp927x3hj750yshz5zayzyr"; depends=[lattice MASS]; };
   agtboost = derive2 { name="agtboost"; version="0.9.3"; sha256="1z2ys4cn859vas3q1if50k46cryn7wwy1pjqbc8n9dhdn5zxn3sk"; depends=[Rcpp RcppEigen]; };
-  ahMLE = derive2 { name="ahMLE"; version="1.18"; sha256="1yf8v2im13lsa6qadxws9cxvqf0fq17s27ran9lr1bbmxh84prpr"; depends=[invGauss Matrix Rcpp RcppArmadillo survival]; };
+  agvgd = derive2 { name="agvgd"; version="0.1.1"; sha256="015izbi0f208ff0b6n2h4vjkdvi7wjzx8qkcyh7c556ikhijaxk5"; depends=[crayon dplyr grantham magrittr purrr rlang seqinr stringr tibble tidyr vctrs]; };
+  ahMLE = derive2 { name="ahMLE"; version="1.20"; sha256="1hxbl5hgflkbz18h2zjjpjvhpy4zwdiap1699ypj06s4a2a18nxj"; depends=[invGauss Matrix Rcpp RcppArmadillo survival]; };
   ahaz = derive2 { name="ahaz"; version="1.14"; sha256="1z7w5rxd5cya7kxhgxqvn72k87y33ginxra9g7j9wrfs5jgx6kvx"; depends=[Matrix survival]; };
   ahnr = derive2 { name="ahnr"; version="0.3.1"; sha256="1g8m3q108ricfyn4fjjaihpr93xz7fm2sfzg3i0fz1n1i703jwm8"; depends=[ggplot2 magrittr matrixcalc pdist pracma purrr visNetwork]; };
   ahpsurvey = derive2 { name="ahpsurvey"; version="0.4.1"; sha256="1r7x4c318nzbx0ppm9272kfpz2bln1cafkv9irnj85nsdcravr33"; depends=[dplyr knitr magrittr randomNames Rdpack tidyr]; };
@@ -5876,7 +5928,7 @@ in with self; {
   airr = derive2 { name="airr"; version="1.3.0"; sha256="1lpzd8qz1dr6kkrbc8lnqbknxyamv4y6ahad5w9q5dgwdwn0kpym"; depends=[readr stringi yaml]; };
   airt = derive2 { name="airt"; version="0.2.1"; sha256="1az5fd9zr6lgmcim4v6rzckl9yyw9myvhmzs76n71864gnzkbna4"; depends=[dplyr EstCRM magrittr mirt pracma rlang tibble tidyr]; };
   ajv = derive2 { name="ajv"; version="1.0.0"; sha256="1qd5ncb7rdnnvqfknsvq9nrpxrh0zv3jyh4b91dcvfvhp262vfrm"; depends=[RJSONIO V8 yaml]; };
-  akc = derive2 { name="akc"; version="0.9.5"; sha256="0mjqz5csckdnl9wb2lypcj907qbkvppwbzvmfcl1a06431pj8zgv"; depends=[data_table dplyr ggforce ggplot2 ggraph ggwordcloud igraph magrittr rlang stringr textstem tibble tidygraph tidytext widyr]; };
+  akc = derive2 { name="akc"; version="0.9.6"; sha256="0q2qvr1qq0vmc8hv7ryzw6z2c9vsk78xrx2dzyw0jd4yk0vxiaf7"; depends=[data_table dplyr ggforce ggplot2 ggraph ggwordcloud igraph magrittr rlang stringr textstem tibble tidyfst tidygraph tidytext]; };
   akiFlagger = derive2 { name="akiFlagger"; version="0.3.0"; sha256="08z5jvigzvl3af17dd8l6zil0s694i22x0a7xvb3n4fvg6fargz4"; depends=[data_table dplyr shiny zoo]; };
   akima = derive2 { name="akima"; version="0.6-2.3"; sha256="0hvaa2n1r82fd60ksx4n4ia02fbm67fqdijfy2b2xywq8861i6rv"; depends=[sp]; };
   akmbiclust = derive2 { name="akmbiclust"; version="0.1.0"; sha256="19dj12vlry6f3agzrnshx2c4rpa2h7dlx2138r49jjy9sm48pyfw"; depends=[]; };
@@ -5929,7 +5981,7 @@ in with self; {
   ammistability = derive2 { name="ammistability"; version="0.1.2"; sha256="0ak20y5iv1cg5y06srdlfk5qp5c463ky41l350shnqpq550azy11"; depends=[agricolae ggcorrplot ggplot2 mathjaxr Rdpack reshape2]; };
   ampd = derive2 { name="ampd"; version="0.2"; sha256="0bi8qngd37n60ym516yjcahxc536vdwm60rq5ld32170hww69j7c"; depends=[]; };
   ampir = derive2 { name="ampir"; version="1.1.0"; sha256="0nnsxrnq3m1frrjp3i8bhm67x6xnl0scyb67wxgm5x7b187svhfj"; depends=[caret kernlab Peptides Rcpp]; };
-  amt = derive2 { name="amt"; version="0.1.5"; sha256="0j74h6s4c7j15hnkfpak6shds818g09qg3s9snys3s87hxf78vb9"; depends=[checkmate circular ctmm dplyr fitdistrplus lubridate magrittr purrr raster Rcpp Rdpack rgeos rlang sf sp survival tibble tidyr]; };
+  amt = derive2 { name="amt"; version="0.1.6"; sha256="1jcv21n95xh7gl86fh9k1vjn9qxadcd4nf521fidwavih2lhwmfi"; depends=[checkmate circular ctmm dplyr fitdistrplus lubridate magrittr purrr raster Rcpp Rdpack rgeos rlang sf sp survival tibble tidyr]; };
   anMC = derive2 { name="anMC"; version="0.2.2"; sha256="0ab215nrqn535g9ayqzvgdckhwcrij1mc1296pvlj3grn3f8rhws"; depends=[mvtnorm Rcpp RcppArmadillo]; };
   anacor = derive2 { name="anacor"; version="1.1-3"; sha256="0mj8g9p4fla0ax9jvcq7kii4lrhj8g872p11nys06anva22qjp51"; depends=[car colorspace fda]; };
   analogsea = derive2 { name="analogsea"; version="1.0.3"; sha256="1mf9baniria2vq5k5djm8jfj3lyr2p9q9idcy0ifcrmzyrmgwwi3"; depends=[httr jsonlite magrittr yaml]; };
@@ -5950,6 +6002,7 @@ in with self; {
   animalTrack = derive2 { name="animalTrack"; version="1.0.0"; sha256="0jlvfflpaq64s48sblzh1n1vx8g3870iss97whigri29s6hn79ry"; depends=[rgl]; };
   animaltracker = derive2 { name="animaltracker"; version="0.2.0"; sha256="1zv2nj4wfskz1lxfgw8l4gyrlv418drk8zl4cw55i5na6a39shcv"; depends=[dplyr forcats geosphere ggplot2 httr leaflet leaflet_extras lubridate maptools raster rgdal scales shiny shinyBS shinycssloaders shinyjs shinythemes shinyWidgets sp tibble tidyr zoo]; };
   animation = derive2 { name="animation"; version="2.7"; sha256="0sg4sz5lkn85yzpcg22xkr7921cbnh7g74nlp9imjy7c0hdqyhc8"; depends=[magick]; };
+  animint2 = derive2 { name="animint2"; version="2022.1.25"; sha256="0c4pb0wzd84a79lbqwjl87q5d3vainhxr9ifq5k05rxhdizpjwd0"; depends=[digest gtable knitr lazyeval MASS plyr reshape2 RJSONIO scales tibble]; };
   anipaths = derive2 { name="anipaths"; version="0.10.1"; sha256="14shy474795mivxvn0vyfgzwabvhxafgjazcwhz2250smjzdhw03"; depends=[animation crawl dplyr ellipse ggmap ggplot2 igraph lubridate magrittr mgcv raster RColorBrewer scales sp stringr tidyr tidyselect]; };
   aniview = derive2 { name="aniview"; version="0.1.0"; sha256="1klakkmdk4xllaxd0pllvxi4396n6rz2idz55niy91mp0fhcjhwf"; depends=[htmltools jsonlite]; };
   anndata = derive2 { name="anndata"; version="0.7.5.3"; sha256="115v7gdilayd18hd519vzkixp2s6rvvrd1inc1i6amn7d0spy8r1"; depends=[assertthat Matrix R6 reticulate]; };
@@ -5976,7 +6029,6 @@ in with self; {
   aods3 = derive2 { name="aods3"; version="0.4-1.1"; sha256="1kdmgzd5nkzm0awdjls6fc8p9hxsph9ha9k1jxbppdi4i6f0i7rv"; depends=[boot lme4]; };
   aof = derive2 { name="aof"; version="0.1.2"; sha256="0552i5wvm04dq8a8y1x36sprc9cbx6k7c3bmsgqxm71dpsxajb0i"; depends=[bcpa]; };
   aoos = derive2 { name="aoos"; version="0.5.0"; sha256="0y92vs27i0mkpjdclqzq4j9g1axkymhi3v8xp1v6hazh35yzjkfj"; depends=[magrittr roxygen2]; };
-  aopdata = derive2 { name="aopdata"; version="0.2.2"; sha256="1i62c119zxbn7qaywis99njjyqy17cgvdsng5sqm6ibnz2w0qzri"; depends=[crul curl data_table httr sf]; };
   aoristic = derive2 { name="aoristic"; version="1.1.0"; sha256="1i4bihdl4d0ihxf61xdqsb9k8j6im5dfqczy9nlc4xyn68b9m0l8"; depends=[dplyr ggplot2 lubridate openxlsx plyr scales tidyr]; };
   aos = derive2 { name="aos"; version="0.1.0"; sha256="0nkl7dkqjfp4ahwmn3vs0akx6x2brf0m5gzzzx6pf54j1qwypbhf"; depends=[htmltools jsonlite]; };
   apTreeshape = derive2 { name="apTreeshape"; version="1.5-0.1"; sha256="1wxhfp21ir9yv4wnbh7ay2x05k822nsyd5smlxmk67wm5w4vr1v1"; depends=[ape coda cubature pbapply quantreg]; };
@@ -5986,22 +6038,24 @@ in with self; {
   apache_sedona = derive2 { name="apache.sedona"; version="1.1.1"; sha256="1bsxyb1303s907w5h7m7wacgsjjgb1y35zvkpmn1ymz0zsfbad4p"; depends=[DBI dbplyr dplyr rlang sparklyr]; };
   apc = derive2 { name="apc"; version="2.0.0"; sha256="0vh6iyxm46k8sfa1xgz0y6m619snnm8s072kml5qgiiw5s7bqnpq"; depends=[AER car ChainLadder ggplot2 ISLR lattice lmtest plm plyr reshape survey]; };
   apcf = derive2 { name="apcf"; version="0.1.7"; sha256="071gax2w9b0l74vls59y6syg2swiagz5xkab1x2wmmxk16y49l1s"; depends=[Rcpp]; };
-  apcluster = derive2 { name="apcluster"; version="1.4.8"; sha256="0lzf2jqm56i74wif6x5sw3j0w2qc4sni49zq2fgbl89b7lwkvchj"; depends=[Matrix Rcpp]; };
+  apcluster = derive2 { name="apcluster"; version="1.4.9"; sha256="0wnbb3kj9m7rfq63xr43jjf6n8jxm1r2wvvx6g0qkss0wvipbb1s"; depends=[Matrix Rcpp]; };
   apdesign = derive2 { name="apdesign"; version="1.0.0"; sha256="041zyd7ih9nnj92jj9vb9ya1ij9lmj1dzx64q74vyiadw1ix5l66"; depends=[Matrix]; };
-  ape = derive2 { name="ape"; version="5.6"; sha256="075d446jh337zg7w47bvxcbc942wy7jw8gych4ffmkqw7khjavyf"; depends=[lattice nlme Rcpp]; };
+  ape = derive2 { name="ape"; version="5.6-1"; sha256="1xzpq3a4q5hmksc8nl530c9n31fdkj3nigqm1qhd3vkncl1iwh15"; depends=[lattice nlme Rcpp]; };
   apercu = derive2 { name="apercu"; version="0.2.4"; sha256="046gf4dzypl6mmq7xqkyrdasq9rsjxzsii7w4nxkbn4c40kh7bf7"; depends=[pls]; };
   apex = derive2 { name="apex"; version="1.0.4"; sha256="1ddzbzpnc17yvbl5yfyp0widqlx48qwlh80xcmyzhv045s680rdk"; depends=[adegenet ape phangorn]; };
   apexcharter = derive2 { name="apexcharter"; version="0.3.0"; sha256="1ds2qil4jwvfbiv39agpiwq3r54pbi4963n6i25nzfkdclw3hbjl"; depends=[ggplot2 htmltools htmlwidgets jsonlite magrittr rlang shiny]; };
   aphid = derive2 { name="aphid"; version="1.3.3"; sha256="1jqpn7w5sgy4k49qd9ci6yj89s55gzwl5w5ldw793mzpg6if7lfn"; depends=[kmer openssl Rcpp]; };
+  aphylo = derive2 { name="aphylo"; version="0.2-1"; sha256="0kvxz5r1z63610k127ji7dangrq7pd0zfgf5yqsvn0v7j4c9c5v5"; depends=[ape coda fmcmc MASS Matrix Rcpp xml2]; };
   apisensr = derive2 { name="apisensr"; version="0.3.0"; sha256="1mis266s4m0hp34m7b7p008dvw7780r8rypgbpk7h5hgd1w5d7m0"; depends=[config episensr ggplot2 ggraph glue golem htmltools igraph rhandsontable rmarkdown shiny shinyjs shinymaterial]; };
   aplore3 = derive2 { name="aplore3"; version="0.9"; sha256="0af6klscsxvh4amp519b6r41bzysf61p040fj4l5706bbya1arhw"; depends=[]; };
-  aplot = derive2 { name="aplot"; version="0.1.1"; sha256="067yzy35spvs6jbccqpmvnjilglxzda6qqlqhjv311kfvnppzsyf"; depends=[ggfun ggplot2 ggplotify magrittr patchwork yulab_utils]; };
+  aplot = derive2 { name="aplot"; version="0.1.2"; sha256="1w09flb6a4fxibfrm1z24pg672r80b7phgc0m7mv3vfw3l84v749"; depends=[ggfun ggplot2 ggplotify magrittr patchwork yulab_utils]; };
   aplpack = derive2 { name="aplpack"; version="1.3.5"; sha256="0kv6sbw8832hlfc6164bfvg1ga4hkfw4c7i11dlz7mbhrw2vqm24"; depends=[]; };
   apng = derive2 { name="apng"; version="1.1"; sha256="0g1rs8wdcbqhyjis2r1a4d96jf0486ncnap97yjv08nk574d42wp"; depends=[bitops]; };
-  apollo = derive2 { name="apollo"; version="0.2.6"; sha256="1qnh5r885myirqrrpwfxkbim1bsaqnkghgc8issd794r64ji2kpw"; depends=[coda Deriv matrixStats maxLik mnormt mvtnorm numDeriv randtoolbox Rcpp RcppArmadillo RcppEigen RSGHB tibble]; };
+  apollo = derive2 { name="apollo"; version="0.2.7"; sha256="05c3wkvpg3n44k9lbrsd0i4l1q554mqfcx7cqph60ngqfbrkvlcg"; depends=[coda Deriv matrixStats maxLik mnormt mvtnorm numDeriv randtoolbox Rcpp RcppArmadillo RcppEigen RSGHB stringr tibble]; };
   appler = derive2 { name="appler"; version="0.1.2"; sha256="03sivpv12ssn7dzq780rb4fg4nc7da7nlk6cijzq9yadxgv53svm"; depends=[glue httr jsonlite rvest xml2]; };
   applicable = derive2 { name="applicable"; version="0.0.1.2"; sha256="0yzfk4ajdx4l3xivf6v9vn7fqvzfma4842cvjixrng83p2v25sdq"; depends=[dplyr ggplot2 glue hardhat Matrix proxyC purrr rlang tibble tidyr tidyselect]; };
   appnn = derive2 { name="appnn"; version="1.0-0"; sha256="0wkpr6lcd68wlzk6n622ab7sd99l837073czn4k56hw8bw9v68j3"; depends=[]; };
+  approxOT = derive2 { name="approxOT"; version="1.0.1"; sha256="0gp2p8biq2c7n3gasvwk72zqs5b623gphqh82n3j6sg9bm0i7r17"; depends=[BH Rcpp RcppCGAL RcppEigen]; };
   approximator = derive2 { name="approximator"; version="1.2-7"; sha256="0smqjdla9mvzy164nsb0pw0sgal3w2wnyhqidp74h0smyczrr1zw"; depends=[emulator mvtnorm]; };
   approxmatch = derive2 { name="approxmatch"; version="2.0"; sha256="1n6v1h4zf1nf8j1a5d0h95v6q8dff39v9061i7zzi9ci3lw04748"; depends=[]; };
   aprean3 = derive2 { name="aprean3"; version="1.0.1"; sha256="17rnq02sncl6rzwyln10200s43b8z1s2j0kdi9kgcb6qr51v12rv"; depends=[]; };
@@ -6022,7 +6076,7 @@ in with self; {
   archetyper = derive2 { name="archetyper"; version="0.1.0"; sha256="1d4vz7kj7n5j81fwfxvr47if8c7fdycci6n33wf8paac0v2paqli"; depends=[bannerCommenter config feather here knitr log4r ps readr rmarkdown skimr snakecase stringr testthat tidyverse]; };
   archetypes = derive2 { name="archetypes"; version="2.2-0.1"; sha256="0ibxsr173ib77gjhid91m85s8gjii4mi2w3d52q5301igv20p7r0"; depends=[modeltools nnls]; };
   archiDART = derive2 { name="archiDART"; version="3.4"; sha256="1wvjlg2rwy39czf3qqh9igk9rmk9i7pxa9yl5x9yqmsagwd1av3n"; depends=[geometry gtools sp XML]; };
-  archive = derive2 { name="archive"; version="1.1.3"; sha256="0nrd8b5q0fjyrayn9lh5hznr40gjfb6a9z92zvh5sp3w4b0qdj8v"; depends=[cli cpp11 glue rlang tibble]; };
+  archive = derive2 { name="archive"; version="1.1.4"; sha256="1bhw3k1fwvvvacgsz1qgzc513lsz3y62cnvnvgabl6aqpn6fs29n"; depends=[cli cpp11 glue rlang tibble]; };
   archiveRetriever = derive2 { name="archiveRetriever"; version="0.1.0"; sha256="1pfq63db0g818vavf9syf2psqvj7xk9n243hqilf21ijgqwfh165"; depends=[anytime dplyr ggplot2 gridExtra httr jsonlite lubridate rvest stringr tibble tidyr xml2]; };
   archivist = derive2 { name="archivist"; version="2.3.6"; sha256="0q1qysack30xzxdbvvi56rk7r85hsj4ghls9r70ki7bl3rqwr4c9"; depends=[DBI digest flock httr lubridate magrittr RCurl RSQLite]; };
   archivist_github = derive2 { name="archivist.github"; version="0.2.6"; sha256="092fzi505vx9xbk41m86d0isxna42iflp7q2kjiqa6z1ccvim2yx"; depends=[archivist digest git2r httr jsonlite]; };
@@ -6064,7 +6118,7 @@ in with self; {
   arse = derive2 { name="arse"; version="1.0.0"; sha256="0ssaalc058m09gfcr1n0s729rx2plia3zkhlynj67drclyvhyb0i"; depends=[dplyr pracma]; };
   arsenal = derive2 { name="arsenal"; version="3.6.3"; sha256="0qvs3ld28djnjnggdhqjwq8sbv8zz322qahlvf7dnx35yqf6xkms"; depends=[knitr]; };
   artfima = derive2 { name="artfima"; version="1.5"; sha256="1nqsq9fsqk9kag9n7i2r9yvf578nkdfrkkv7qy8650prka0jca2p"; depends=[gsl ltsa]; };
-  arules = derive2 { name="arules"; version="1.7-2"; sha256="16fk4j1pl8yycf9lbvgf10d7iwpsvwpncb7v8sx1dkfsh2a4kw7b"; depends=[generics Matrix]; };
+  arules = derive2 { name="arules"; version="1.7-3"; sha256="05g6ik4z87g83nlicmb380331f84sqchvv1vch49zb7rq6v8gw6r"; depends=[generics Matrix]; };
   arulesCBA = derive2 { name="arulesCBA"; version="1.2.1"; sha256="1lsy1h37rb3jinh26d668z1v04rh5m1gkfhl3wfkg546hbpq4644"; depends=[arules discretization glmnet Matrix]; };
   arulesNBMiner = derive2 { name="arulesNBMiner"; version="0.1-8"; sha256="0kqvi7dzq3mrn6cq22gwxh4p54mgfn9s1sd2cfnbw1f9zp078lsn"; depends=[arules rJava]; };
   arulesSequences = derive2 { name="arulesSequences"; version="0.2-25"; sha256="0vd5fgi1b45kgfm5yi9ygaxm0sb8qarz5lsknwh5gla3h0k7l66b"; depends=[arules]; };
@@ -6082,13 +6136,14 @@ in with self; {
   asdreader = derive2 { name="asdreader"; version="0.1-3"; sha256="15a922aw0v5w4hrha03xifx8cpifcc773gambgwqq6i5nz08ya26"; depends=[]; };
   ash = derive2 { name="ash"; version="1.0-15"; sha256="1ay2a2agdmiz7zzvn26mli0x0iwk09g5pp4yy1r23knhkp1pn2lb"; depends=[]; };
   ashr = derive2 { name="ashr"; version="2.2-47"; sha256="1rqb5j30ylaf1h4l66x4jxyn5inrvhc42d90qd5mgkxsq0ghdlr4"; depends=[etrunct invgamma Matrix mixsqp Rcpp SQUAREM truncnorm]; };
-  asht = derive2 { name="asht"; version="0.9.6"; sha256="0zi0v7v7ivis5v6a8m1vh21c1wymshxcb948amgrq1j6svm505sf"; depends=[bpcp coin exact2x2 exactci perm ssanv]; };
+  asht = derive2 { name="asht"; version="0.9.7"; sha256="15sd6hvg41z1bvv1003p0hmy4350if67wqp124nfz0m6ix0xb7lw"; depends=[bpcp coin exact2x2 exactci perm ssanv]; };
   askpass = derive2 { name="askpass"; version="1.1"; sha256="07q0ik8jzk44vpwh48rr3fnpd7dzsdhjjsl4l850rffv3dyq4h6v"; depends=[sys]; };
   aslib = derive2 { name="aslib"; version="0.1.1"; sha256="0vzrxxj298skgv6gn9cbhr75ywmh5amsk9m02zncl20jcydf9j91"; depends=[BatchExperiments BatchJobs BBmisc checkmate corrplot ggplot2 llama mlr parallelMap ParamHelpers plyr reshape2 RWeka stringr yaml]; };
   asnipe = derive2 { name="asnipe"; version="1.1.16"; sha256="0ky4v85gry8r265z8p7mi9kzq6j3s032jg4wddkzjjqgxzyzjl5y"; depends=[MASS Matrix]; };
   aspect = derive2 { name="aspect"; version="1.0-5"; sha256="0pbc0daxw20xcbgqyyd5gbs9kmbaf2dq8ajllx0mnfwdcak9jfgj"; depends=[]; };
   aspi = derive2 { name="aspi"; version="0.2.0"; sha256="0rhvxw243vvdv3hxa6pi343gcjc2cbxq1jzqirl9k1l4i3897l87"; depends=[]; };
   asremlPlus = derive2 { name="asremlPlus"; version="4.3-31"; sha256="07wljbi1j1g8g3w5shz2n3945ixap75hvx114rbi8313iwmfr3xw"; depends=[dae doParallel dplyr foreach ggplot2 RColorBrewer reshape sticky stringr]; };
+  assemblerr = derive2 { name="assemblerr"; version="0.1.1"; sha256="12kwdp71bgbk67d4038j2bhbw9ja3vqm0m01bzdsrpk4dxh2p3d3"; depends=[cli glue magrittr purrr rlang tidyselect vctrs]; };
   r_assert = derive2 { name="assert"; version="1.0.1"; sha256="0n5l48yb0djl6rdj50p1dslpw3c5kbi15yz6z6rdgic575gjwzdc"; depends=[]; };
   assertable = derive2 { name="assertable"; version="0.2.8"; sha256="1cciil1nzxd8gbj49w99jiv077lbpb59vx7bmb4p218aj2h5hqq4"; depends=[data_table]; };
   assertive = derive2 { name="assertive"; version="0.3-6"; sha256="02palil82idqhhshcdjsfsja9qkqnd0dczqzj5gbccy4hfg1c0y4"; depends=[assertive_base assertive_code assertive_data assertive_data_uk assertive_data_us assertive_datetimes assertive_files assertive_matrices assertive_models assertive_numbers assertive_properties assertive_reflection assertive_sets assertive_strings assertive_types knitr]; };
@@ -6114,7 +6169,7 @@ in with self; {
   assist = derive2 { name="assist"; version="3.1.7"; sha256="0avxaa3v4gvb5d7fg761f9l5nr8nyqdq6sq408zpyaki6s6q3acf"; depends=[lattice nlme]; };
   assocInd = derive2 { name="assocInd"; version="1.0.1"; sha256="16yzgvlqbapjhvzm5nw8vfrhh8mp9llnhck4bpgmszyrh93z1ha5"; depends=[]; };
   assortnet = derive2 { name="assortnet"; version="0.12"; sha256="1vyzrb8vsi9pcdn6jd83k77bg0q2a3dwdvlnmxnshqiif2pakb8m"; depends=[]; };
-  asteRisk = derive2 { name="asteRisk"; version="1.2.0"; sha256="11vldhydpx75bc6m3lfl42i9k8mk55famrad48znaqb8r8y44rai"; depends=[deSolve nanotime]; };
+  asteRisk = derive2 { name="asteRisk"; version="1.3.0"; sha256="0im8rz4vgrlxc4jgjagwwxvx8wwwzwb6in78h4p5yvwjqm0vsfl8"; depends=[deSolve nanotime onion Rcpp RcppParallel]; };
   aster = derive2 { name="aster"; version="1.1-2"; sha256="0vf1ffkn4a3bz2lgz1gn2hjgp8c2v9ch05d5r1gh2q77zijvry1m"; depends=[trust]; };
   aster2 = derive2 { name="aster2"; version="0.3"; sha256="17d200sg0vn1fj6lb480dhszm70q6ipjldilb3x0jp72hiczakk9"; depends=[Matrix]; };
   astroFns = derive2 { name="astroFns"; version="4.1-0"; sha256="0g5q0y067xf1ah91b4lg8mr9imj0d6lgig7gbj3b69fn335k363g"; depends=[]; };
@@ -6136,7 +6191,7 @@ in with self; {
   atlas = derive2 { name="atlas"; version="1.0.0"; sha256="02wm22j40llmdi6z3rzgbc5fpkzmjfq0xar33bypvj1dx1zxygnd"; depends=[httr testthat]; };
   atmcmc = derive2 { name="atmcmc"; version="1.0"; sha256="05k69b5wlysz3kh0yiqvshgvr0nyz34zkvn6bjs30cwz7s9j21pn"; depends=[]; };
   atmopt = derive2 { name="atmopt"; version="0.1.0"; sha256="1h79ngq1236gz4w29fs3nj46a3m1x8a28z3xnhc6wn3a46cf8zzi"; depends=[DoE_base gtools hierNet]; };
-  atom4R = derive2 { name="atom4R"; version="0.1"; sha256="1z1b5nl4cd6dla74n3afr556mbjhk1dl7lfxy9rikf0si4dwzay4"; depends=[httr jsonlite keyring R6 rdflib XML zip]; };
+  atom4R = derive2 { name="atom4R"; version="0.1-1"; sha256="131v4shky6ppnl5i7s0wmlwjaaq1h9cj238f80pg3xd6wiw5ybkj"; depends=[httr jsonlite keyring R6 rdflib XML zip]; };
   atsd = derive2 { name="atsd"; version="1.2.0"; sha256="0jan8r5f2r3l2xpdf9rrv4smkr2l645rfdgdfjb1xa54jd3pqvqs"; depends=[httr RCurl]; };
   attachment = derive2 { name="attachment"; version="0.2.4"; sha256="1nvq94l544rgddx5jcvwhap7qz8h292pphvb97ip6jljgjc1dlqw"; depends=[desc glue knitr magrittr rmarkdown roxygen2 stringr]; };
   attempt = derive2 { name="attempt"; version="0.3.1"; sha256="1ylgg7jcp8wqmxgf1mydnvh26k0mr8jyjla4hw06730r40yrs58m"; depends=[rlang]; };
@@ -6156,7 +6211,7 @@ in with self; {
   augmentedRCBD = derive2 { name="augmentedRCBD"; version="0.1.5"; sha256="1bfb1jqakghf1nb3zwzf69cywwxwr1whzvyig8g3qa8ciq5f1h3i"; depends=[dplyr emmeans flextable ggplot2 mathjaxr moments multcomp multcompView officer Rdpack reshape2 stringi]; };
   auk = derive2 { name="auk"; version="0.5.1"; sha256="0mf2rwf7sihmk6mla87gznh0s1rqxpijcjjv035iq3id6c81h03l"; depends=[assertthat countrycode dplyr httr magrittr readr rlang stringi stringr tidyr]; };
   aurelius = derive2 { name="aurelius"; version="0.8.4"; sha256="00bpf9sggvnajpmg3zsdgfjinkb6wbrcf1ris7qfhh1rp5rz4m4m"; depends=[gbm glmnet jsonlite]; };
-  aurin = derive2 { name="aurin"; version="0.5.1"; sha256="1yhpygjk0c3wz5wg5pfqba3r189xnd6h06rlb9042dzkfq18dlfp"; depends=[checkmate cli glue httr jsonlite magrittr ows4R R6 sf stringr]; };
+  aurin = derive2 { name="aurin"; version="0.6.0"; sha256="0nh6jy0pkwfxzcxz1xcdcnqd9pkrddmdmfb2pjalfmp04z66h6dv"; depends=[checkmate cli glue httr jsonlite magrittr ows4R R6 sf stringr]; };
   ausplotsR = derive2 { name="ausplotsR"; version="1.2.7"; sha256="0vlldbdbgplk6a9n2xkac8i5nxf0y2p4zbrw5q9a3qc71zfl33yj"; depends=[betapart curl ggplot2 gtools httr jose jsonlite mapdata maps maptools plyr R_utils sp vegan]; };
   auth0 = derive2 { name="auth0"; version="0.2.1"; sha256="077nqh28q3b9jb25fy0157l06zpx3x0rg4z5dz2dqsh88xy4nhqj"; depends=[htmltools httr shiny shinyjs yaml]; };
   auto_pca = derive2 { name="auto.pca"; version="0.3"; sha256="01m2ldpcxzj7fhgmr9wp4ha3gqdyh7l5bkrnw83smcbq5229hsyy"; depends=[plyr psych]; };
@@ -6165,7 +6220,8 @@ in with self; {
   autoFC = derive2 { name="autoFC"; version="0.1.2"; sha256="1hxpmd753qpzlyjivn37m1kij3gpp9x6xyw1x6090h9n4girnya2"; depends=[irrCAC]; };
   autoFRK = derive2 { name="autoFRK"; version="1.4.3"; sha256="1k3h2gsck06dnvrifg9rhxi6b3fwfjrkvg0q2wzb9kdnnzgiwcln"; depends=[fields filehash filehashSQLite filematrix FNN LatticeKrig MASS mgcv Rcpp RcppEigen RcppParallel RSpectra spam]; };
   autoMFA = derive2 { name="autoMFA"; version="1.0.0"; sha256="1sbcl38cq7y7hln1qffk5s71xgg9hs7dlwyvynqf96z2z2421pw4"; depends=[abind expm MASS Matrix pracma Rdpack Rfast usethis]; };
-  autoMrP = derive2 { name="autoMrP"; version="0.99"; sha256="13rg5v7ivyqzrvlw7zvhxily667sin9ir87g9bdz09lcpcjybnqg"; depends=[doParallel doRNG dplyr e1071 EBMAforecast foreach gbm ggplot2 glmmLasso knitr lme4 purrr rlang tibble tidyr]; };
+  autoMrP = derive2 { name="autoMrP"; version="1.0.1"; sha256="1ipqzjd9knpyz2ajxw38z8sbg4w4cgyg6627xlyx8i14wbdgrxmy"; depends=[doParallel doRNG dplyr e1071 EBMAforecast forcats foreach gbm ggplot2 glmmLasso knitr lme4 purrr R_rsp rlang tibble tidyr]; };
+  autoReg = derive2 { name="autoReg"; version="0.1.0"; sha256="1c5b02jxfsjk9byyj5z5491lv7dbzx2hp3kwbjcy0wvpz7wg1gnc"; depends=[boot broom cmprsk dplyr flextable ggplot2 mice moonBook nortest officer patchwork purrr rlang stringr survival tidyr tidyselect]; };
   autoTS = derive2 { name="autoTS"; version="0.9.11"; sha256="1mwpazynp5hdc2ccnhvddkajfcd4qam23pvjl9accq1rnxzxkiyv"; depends=[dplyr forecast ggplot2 lubridate magrittr plotly prophet RcppRoll rlang shiny shinycssloaders tidyr]; };
   autocart = derive2 { name="autocart"; version="1.4.5"; sha256="1zgcmrm4dkdnr130hwwka2nwdczgvc3jc9hxrb6nfs8ijb24gl36"; depends=[fields mgcv Rcpp RcppArmadillo RcppParallel]; };
   autocogs = derive2 { name="autocogs"; version="0.1.4"; sha256="0v27l9a0ysj7x9wjka1jl1bq9rmxmzldclcp1w59a6807wjlszhx"; depends=[broom checkmate diptest dplyr ggplot2 hexbin MASS mclust moments progress tibble]; };
@@ -6180,7 +6236,7 @@ in with self; {
   autoplotly = derive2 { name="autoplotly"; version="0.1.4"; sha256="1z577jvadgiz028z7x0786d3qhlkrvv9i34xmllizvg94kxv3bl1"; depends=[ggfortify ggplot2 plotly]; };
   autoshiny = derive2 { name="autoshiny"; version="0.0.2"; sha256="0s06ynnirgsh19x8qq4020piirkhvjqpvz372syygvlal062y6cn"; depends=[shiny]; };
   autostats = derive2 { name="autostats"; version="0.2.0"; sha256="0w2ca0lxbcjgvvd9zz7ym7bnfdp94kjk72igq7v93l6hq2s681jr"; depends=[agtboost BBmisc broom broom_mixed Ckmeans_1d_dp dials dplyr flextable forcats framecleaner ggeasy ggplot2 ggstance ggthemes glmnet gtools hardhat janitor jtools lubridate magrittr Matrix nnet parsnip party patchwork presenter purrr readr recipes rlang rlist rsample stringr tibble tidyr tidyselect tune workflows xgboost yardstick]; };
-  autostsm = derive2 { name="autostsm"; version="2.1"; sha256="138fcfq75zrpbxprgy9wn3w8f5sxlbmsxbsfdh5ivsadl8j9i8sw"; depends=[data_table doSNOW foreach forecast ggplot2 ggrepel gridExtra lmtest lubridate maxLik progress Rcpp RcppArmadillo sandwich strucchange]; };
+  autostsm = derive2 { name="autostsm"; version="3.0.0"; sha256="1pv8pfj0wmfrxng2a3vkq0asa1dld4ibz5px4hkk0pfkkqvwg8m3"; depends=[data_table doSNOW foreach forecast ggplot2 ggrepel gridExtra lmtest lubridate maxLik progress Rcpp RcppArmadillo sandwich strucchange]; };
   autothresholdr = derive2 { name="autothresholdr"; version="1.4.0"; sha256="1n8kfl7zk7smwmkj1rlp4j4i0jnwi2f0aw58jhlf7ivahrq0rmnk"; depends=[checkmate ijtiff magrittr purrr Rcpp rlang strex stringr]; };
   av = derive2 { name="av"; version="0.6.0"; sha256="0g6815y24h4la714a5bkj7nj4n39jycfynkli6y3jlijql96j2il"; depends=[]; };
   available = derive2 { name="available"; version="1.0.5"; sha256="1mlyzmfskam3d0mnr5hncxi2jhc5lhny1ynvxvbnx15vj8f6r7y5"; depends=[cli clisymbols crayon desc glue jsonlite memoise SnowballC stringdist tibble tidytext udapi yesno]; };
@@ -6193,7 +6249,7 @@ in with self; {
   aws_alexa = derive2 { name="aws.alexa"; version="0.1.8"; sha256="0m1i1xgi9fqixq90ai2ag0079aa75nlyhbr3ln3yhk5g8zx9i9m9"; depends=[aws_signature dplyr httr xml2]; };
   aws_comprehend = derive2 { name="aws.comprehend"; version="0.2.1"; sha256="0qn4mkdd17c8kmrm4ml7l1x3rzaw3gbykhrj3m0ga53crcqdhqri"; depends=[aws_signature httr jsonlite]; };
   aws_ec2metadata = derive2 { name="aws.ec2metadata"; version="0.2.0"; sha256="1lbljg2fp3yh1hwlbmprkc1prw80jv0ycvpg1vggagm68wm5x288"; depends=[curl jsonlite]; };
-  aws_ecx = derive2 { name="aws.ecx"; version="1.0.4"; sha256="04g6q5c7sxp15756saij5pivdvsznpbdwic32pvk1cw704kq88iz"; depends=[aws_signature httr rjson xml2]; };
+  aws_ecx = derive2 { name="aws.ecx"; version="1.0.5"; sha256="1yz20h2k5rf13jsgpk8aj6d27a1zj602g916pngq525m08cmbvka"; depends=[aws_signature httr rjson xml2]; };
   aws_iam = derive2 { name="aws.iam"; version="0.1.8"; sha256="1p4w50icfw6mrzr6aazdbh977yvyvsf1yavjscyvv11xf3y9f9j2"; depends=[aws_signature httr jsonlite xml2]; };
   aws_kms = derive2 { name="aws.kms"; version="0.1.4"; sha256="0f9l62g4z68ickzi4if3pw3algb41rn47z9cpxga8aggkclk86l4"; depends=[aws_signature base64enc httr jsonlite]; };
   aws_lambda = derive2 { name="aws.lambda"; version="0.2.0"; sha256="0vp13qw7mw8dz01q30z7bnj47qx9js1zmxasc2n733gi07fdj62f"; depends=[aws_signature base64enc httr jsonlite]; };
@@ -6237,6 +6293,7 @@ in with self; {
   baguette = derive2 { name="baguette"; version="0.1.1"; sha256="0srvvnyhi22r3l8j996zpq8mm140imdrijc0xhb8j9qgkqaia1b7"; depends=[butcher C50 dials dplyr earth furrr generics hardhat magrittr parsnip purrr rlang rpart rsample tibble tidyr withr]; };
   bahc = derive2 { name="bahc"; version="0.3.0"; sha256="0yz0v33fhm38ivhr7bvajk9v7wdmhg9qg7ac8r2qr00rns82m6y3"; depends=[fastcluster matrixStats]; };
   bain = derive2 { name="bain"; version="0.2.8"; sha256="101rlxf1m6nrmzwxxv2w0m2a9s26l39a5nfjnad8gza5rvj7q076"; depends=[lavaan]; };
+  baker = derive2 { name="baker"; version="1.0.0"; sha256="166j6b2j3r0apsnvcnfycxhf1kv4nblscmnjdl2xsw5wwrbx677f"; depends=[abind binom coda ggplot2 ggpubr gridExtra lubridate mgcv mvbutils R2jags reshape2 rjags robCompositions shinydashboard shinyFiles]; };
   bama = derive2 { name="bama"; version="1.2"; sha256="1amxls4jl2ys5wkn600xmx0y3d9zhkz2s96vn7h8fnrrv35212yp"; depends=[BH Rcpp RcppArmadillo RcppDist]; };
   bamboo = derive2 { name="bamboo"; version="0.9.25"; sha256="1il8sn8ck36b1m9hazhf6gmr58iqi2hjn0rrpcv1laij0lybrcws"; depends=[rscala]; };
   bamdit = derive2 { name="bamdit"; version="3.3.2"; sha256="11v9hy8ijbcqhwim0s3y69dz11jvys4vjvfnshj4p5qdz38sji6l"; depends=[ggExtra ggplot2 gridExtra MASS R2jags rjags]; };
@@ -6261,10 +6318,10 @@ in with self; {
   base64enc = derive2 { name="base64enc"; version="0.1-3"; sha256="13b89fhg1nx7zds82a0biz847ixphg9byf5zl2cw9kab6s56v1bd"; depends=[]; };
   base64url = derive2 { name="base64url"; version="1.4"; sha256="0n1c2b68vza1dh7sk38v6biiwm72c4jpl79kpdg1bsb0hq9qy18x"; depends=[backports]; };
   baseballDBR = derive2 { name="baseballDBR"; version="0.1.2"; sha256="0w54g1avcqamc12lmvjchlqbqck9jfjccm441k03nsql460mpydq"; depends=[dplyr magrittr rvest xml2]; };
-  basecamb = derive2 { name="basecamb"; version="1.0.4"; sha256="02sak07dfiiwn55fnv9b48gm2y25kqg6xrlj5zipapg3nffdgyxi"; depends=[assertive_types assertthat dplyr Hmisc mice purrr]; };
-  basedosdados = derive2 { name="basedosdados"; version="0.1.0"; sha256="0igk1mdq1ibv3r5cfyd976vn2rylcz45ghl8z1hgkqbhp8b0wav3"; depends=[bigrquery cli DBI dbplyr dotenv dplyr fs glue googleAuthR httr magrittr purrr readr rlang scales stringr tibble writexl]; };
+  basecamb = derive2 { name="basecamb"; version="1.1.0"; sha256="02svxz0mlk2r4s0g8lizcwmp9nhbwgp6q3c9p9pmsf1nry4j3lbf"; depends=[assertive_types assertthat dplyr Hmisc mice purrr survival]; };
+  basedosdados = derive2 { name="basedosdados"; version="0.2.0"; sha256="0hv6gv49bcs6fyqvk4kzvh4q33lbbn1mahrqc4vg2da0jr431vmx"; depends=[bigrquery cli DBI dbplyr dotenv dplyr fs glue googleAuthR httr magrittr purrr Rcpp readr rlang scales stringr tibble typed writexl xml2]; };
   baseflow = derive2 { name="baseflow"; version="0.13.2"; sha256="02ygx32dfszk66f33wfszkvwi51v8zw2s45y9nlrgfws9rlpzll2"; depends=[airGR]; };
-  basefun = derive2 { name="basefun"; version="1.1-1"; sha256="1bn32bxk36h4xy7q1wq522cw7dd1b4zixzzp04fsg2w692044vkh"; depends=[Matrix orthopolynom polynom variables]; };
+  basefun = derive2 { name="basefun"; version="1.1-2"; sha256="02jrjxkzg5pzw73kzypdazqjrg8azhbv09157j3px3d2331qiy9d"; depends=[Matrix orthopolynom polynom variables]; };
   baseline = derive2 { name="baseline"; version="1.3-1"; sha256="1spmp8z0hrb6db0r52i16524cp9zy1d1hr4y3b3i9q38m1iskpms"; depends=[limSolve SparseM]; };
   basemaps = derive2 { name="basemaps"; version="0.0.1"; sha256="15fgk5x9n8nfmhclydwaypzqv5dl6s1r9v40ahdnpc50y5p8zjay"; depends=[curl httr magick pbapply raster sf slippymath stars]; };
   basetheme = derive2 { name="basetheme"; version="0.1.2"; sha256="0yck4qc7qd406s7kw95xgnfc0pfvzk3ylhkv6mk6l2wbkfm8ldrb"; depends=[]; };
@@ -6291,7 +6348,7 @@ in with self; {
   bayes4psy = derive2 { name="bayes4psy"; version="1.2.8"; sha256="0fmp88mrnmx4langd014l6jf06zmvwhclw4k0aw88v996hzv76bx"; depends=[BH circular cowplot dplyr emg ggplot2 mcmcse metRology Rcpp RcppEigen reshape rstan rstantools scales StanHeaders]; };
   bayesAB = derive2 { name="bayesAB"; version="1.1.3"; sha256="1mwwbkd8mqm22mkbgrp5mq7i52qqjr9if09fnhb3ybdpqq3sdg73"; depends=[ggplot2 Rcpp rlang]; };
   bayesCT = derive2 { name="bayesCT"; version="0.99.3"; sha256="0ragig1x34syhsnbnd58l2s7g23j7fb0cl9wkasvxq8cicw5hqgn"; depends=[bayesDP dplyr magrittr purrr survival]; };
-  bayesDP = derive2 { name="bayesDP"; version="1.3.5"; sha256="13wd83qwv7qi8v6nb7sn18hdcb11cpd2qr6js6kzsx65p08cmz2a"; depends=[ggplot2 MCMCpack Rcpp RcppArmadillo survival]; };
+  bayesDP = derive2 { name="bayesDP"; version="1.3.6"; sha256="0li063187icw96shrbawfa00vkb42m5y38a4j2aahryajjlsva57"; depends=[ggplot2 MCMCpack Rcpp RcppArmadillo survival]; };
   bayesDccGarch = derive2 { name="bayesDccGarch"; version="3.0.3"; sha256="0qgcy70sp3mlcpdkkg3nvxrvwgwy698r19yg31s3qjak17jnp8qn"; depends=[coda numDeriv]; };
   bayesGAM = derive2 { name="bayesGAM"; version="0.0.1"; sha256="072q3kybnxjwc4s6qlww492cg43cr4zk6midyp5av7y3hnxbmqm8"; depends=[bayesplot BH boot cluster corrplot geometry ggplot2 gridExtra loo MASS mlbench Rcpp RcppEigen RcppParallel rstan rstantools SemiPar StanHeaders]; };
   bayesGARCH = derive2 { name="bayesGARCH"; version="2.1.10"; sha256="1jb7jfyxp210pc8myv9lnwb55hy19d39m10kkhs5lyjwc2lv0401"; depends=[coda mvtnorm]; };
@@ -6313,7 +6370,7 @@ in with self; {
   bayesdfa = derive2 { name="bayesdfa"; version="1.2.0"; sha256="0bj9x21bmpbag2y5lh2l8j9cbsir0133sg7a5lsp3q9vpzvx28hk"; depends=[BH dplyr ggplot2 loo mgcv Rcpp RcppEigen RcppParallel reshape2 rlang rstan rstantools StanHeaders viridisLite]; };
   bayesdistreg = derive2 { name="bayesdistreg"; version="0.1.0"; sha256="04slvxzbqdi2ak3dlw4lfx55rhw28js8yjmvjpy8vvgq39vcx3dq"; depends=[MASS sandwich]; };
   bayesforecast = derive2 { name="bayesforecast"; version="1.0.1"; sha256="0wnz6qblm3ib7lpj860s4lhrs4gvmyrmk779r38rybfvxw4xssii"; depends=[astsa bayesplot BH bridgesampling forecast ggplot2 gridExtra loo lubridate MASS prophet Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders zoo]; };
-  bayesian = derive2 { name="bayesian"; version="0.0.7"; sha256="0f53f1x9zcq33pwxxnsrzk5sm18dwc2ypz088mmg2z6qv7smfjg0"; depends=[brms dplyr parsnip purrr rlang tibble]; };
+  bayesian = derive2 { name="bayesian"; version="0.0.8"; sha256="0ldmhw5m8j89j5spca6k8gc2n7v5qkyvm1zak3czkmngk07cciq4"; depends=[brms dplyr parsnip purrr rlang tibble]; };
   bayesianETAS = derive2 { name="bayesianETAS"; version="1.0.3"; sha256="0nbif0b6lcik2kh948zg5ska5mvkdsfr0dg8ndnfpscm2mp7y1dg"; depends=[]; };
   bayeslincom = derive2 { name="bayeslincom"; version="1.3.0"; sha256="0gk2ybp0m717kv986j91n5amfc282gdpcrjkq46gwzn0zhyxg8b8"; depends=[ggplot2]; };
   bayesloglin = derive2 { name="bayesloglin"; version="1.0.1"; sha256="0j2ziahf6mwsz2gvb1azvdzlmszlpqgr5zqcqa68pxgq947sa2cs"; depends=[igraph]; };
@@ -6341,10 +6398,10 @@ in with self; {
   bbdetection = derive2 { name="bbdetection"; version="1.0"; sha256="1j6xcbfsrg3wcr1rpddj7ia33szn5bs0wk4mzq42d761clsr5qq8"; depends=[ggplot2 Rcpp xtable zoo]; };
   bbefkr = derive2 { name="bbefkr"; version="4.2"; sha256="1wjx652w3p41sq71a2zdzmb7frjxm6xvcgrc2ark2spwb0lbjjw6"; depends=[]; };
   bbemkr = derive2 { name="bbemkr"; version="2.0"; sha256="015c57s8mpimm82nddnh382wlkisxgdmc2hvp7k38pcnqxc5gb5q"; depends=[MASS]; };
-  bbl = derive2 { name="bbl"; version="0.4.1"; sha256="1iwljhs7mn6l6pvfrksdiq29f3d4cmhm079nbf4zpv5yq2rksdyq"; depends=[pROC RColorBrewer Rcpp]; };
+  bbl = derive2 { name="bbl"; version="1.0.0"; sha256="135i619lliy93dvgb7ymrcdh20y2b1j7s0y6awzcs3w0hbyd8j5z"; depends=[pROC RColorBrewer Rcpp]; };
   bbmle = derive2 { name="bbmle"; version="1.0.24"; sha256="1bck8rmink4wsk8pcbnj4d60svxymp29pxbzwj8p9gzsg42c1v81"; depends=[bdsmatrix lattice MASS Matrix mvtnorm numDeriv]; };
   bbo = derive2 { name="bbo"; version="0.2"; sha256="19xrbla3bb3csg3gjjrpkgyr379zfwyh293bcrcd6j8rnm6g4i01"; depends=[]; };
-  bbotk = derive2 { name="bbotk"; version="0.4.0"; sha256="09cw6z397laszsg5wsgpjh7jda74amqrcl2p25bgjg33ina2nvg7"; depends=[checkmate data_table lgr mlr3misc paradox R6]; };
+  bbotk = derive2 { name="bbotk"; version="0.5.0"; sha256="15y1w3mi1g91p73786ql1mmqld011757vax17i1vq7zw1s51yzxz"; depends=[checkmate data_table lgr mlr3misc paradox R6]; };
   bbreg = derive2 { name="bbreg"; version="2.0.1"; sha256="0wixhqfw8yp37874zwqb4vwi9xrzlkb761lbw7h70bds0dy6jcg5"; depends=[expint Formula pbapply statmod]; };
   bbricks = derive2 { name="bbricks"; version="0.1.4"; sha256="1hv4hvnns9vgl6c3n7kg3g9mfcp26ksps29hdl5nwi28cgkx80w2"; depends=[]; };
   bbsBayes = derive2 { name="bbsBayes"; version="2.3.8.2020"; sha256="043wj15w7vb5xzwyrzfzf19n3iccly9mdw75lw176i3wfdnprhfv"; depends=[dplyr geofacet ggplot2 ggrepel jagsUI latticeExtra progress rappdirs rgdal sbtools sf stringr]; };
@@ -6353,10 +6410,9 @@ in with self; {
   bcROCsurface = derive2 { name="bcROCsurface"; version="1.0-5"; sha256="1jj7iag9azmxccc8a45vaxi6lw4jbfzj68wm0zdsggplgvzljn1f"; depends=[boot nnet Rcpp RcppArmadillo rgl]; };
   bcTSNE = derive2 { name="bcTSNE"; version="0.11.1"; sha256="1j7aab9j30iypbjvid3dfg8rnz69i83k59ympkycv9k6xwpi330p"; depends=[RSpectra Rtsne splatter]; };
   bcaboot = derive2 { name="bcaboot"; version="0.2-3"; sha256="0b1m4lwi9hwd4xswabzyy2svc91ppiym8bi9f1wj79w5sg2hxpn7"; depends=[]; };
-  bcc = derive2 { name="bcc"; version="1.3.1"; sha256="0ac0wasdifd0v47r9sxrsix5hv7masiphn6dyxpqdrd11z7iimgz"; depends=[qcc]; };
   bccp = derive2 { name="bccp"; version="0.5.0"; sha256="0g9yzqzf977rx97c77krdhl7c499r58xcbzx0nihk73143ynf17w"; depends=[pracma]; };
   bcdata = derive2 { name="bcdata"; version="0.3.0"; sha256="13s8x7zr8650jzkjlripikha7sk4x70ld9pgxm057m2vqqplj8av"; depends=[cli crul DBI dbplyr dplyr glue jsonlite leaflet leaflet_extras purrr readr readxl rlang sf tibble tidyselect xml2]; };
-  bcf = derive2 { name="bcf"; version="1.3"; sha256="1f8szjgsyhnff3zzmmy7bnsam12ywj46n3fxsj1y3fn1m5wnd8mz"; depends=[Rcpp RcppArmadillo]; };
+  bcf = derive2 { name="bcf"; version="1.3.1"; sha256="04vjvzh8y1dfk6ms5zwbylbfalwngvyjbjcszx26v2fakdk990p7"; depends=[Rcpp RcppArmadillo]; };
   bcfrailph = derive2 { name="bcfrailph"; version="0.1.0"; sha256="0l5v3bc8xw71cj012sbmq1f0glg7m545jzqyg01gzl8kbgm3lbbj"; depends=[survival]; };
   bcfrailphdv = derive2 { name="bcfrailphdv"; version="0.1.0"; sha256="06xzz5m4s5fp36j3saxmpw1p0bhh42cjd35cadwkk3vg836kj1na"; depends=[bcfrailph survival]; };
   bcgam = derive2 { name="bcgam"; version="1.0"; sha256="1dg2fcjw8xal77irviiz260qpar2iqkjvi2k4qfm71jyq0ir0axk"; depends=[coda igraph nimble]; };
@@ -6374,7 +6430,7 @@ in with self; {
   bdchecks = derive2 { name="bdchecks"; version="0.1.7"; sha256="1pzsvn1m1f9bdmhxmh57pvn9jm4z41rkvv6h60hq2lfgkapnjy7q"; depends=[bdDwC data_table DT finch knitr rgbif shiny shinyBS shinydashboard shinyjs spocc yaml]; };
   bdclean = derive2 { name="bdclean"; version="0.1.15"; sha256="14cy8yaqd6bg2zyh2wvndydk9sigaydavxl4cfypqz5kqdhj82z9"; depends=[bdchecks bdDwC data_table DT finch knitr leaflet rgbif rmarkdown shiny shinydashboard shinyjs spocc]; };
   bde = derive2 { name="bde"; version="1.0.1"; sha256="1f25gmjfl58x4pns89abfk85yq5aad3bgq9yqpv505g5gxk62d3v"; depends=[ggplot2 shiny]; };
-  bdl = derive2 { name="bdl"; version="1.0.3"; sha256="1p33lx50789v2k2j3c95n5pzzgxrn3lb9w6a6kx710p8cbbdyfxp"; depends=[dplyr ggplot2 ggpubr httr jsonlite magrittr purrr randomcoloR sf tibble tidyr tmap tmaptools]; };
+  bdl = derive2 { name="bdl"; version="1.0.4"; sha256="01z6kv2wv67byyw49smri8zvi6mhwr5i8li4yhk96rrdjf4xwpxp"; depends=[dplyr ggplot2 ggpubr httr jsonlite magrittr progress purrr randomcoloR sf tibble tidyr tmap tmaptools]; };
   bdlp = derive2 { name="bdlp"; version="0.9-2"; sha256="14fxwgcn3g6k1cdimgfp6zmsgqi4s7sh6kapnls229qiin2nijjl"; depends=[DBI GenOrd MASS MultiOrd rgl RSQLite stringdist]; };
   bdots = derive2 { name="bdots"; version="1.0.1"; sha256="014gxykqfh8lnbdz9w6ir8jsrb5bklgww4qhapzadym06n69c86x"; depends=[data_table mvtnorm nlme]; };
   bdpar = derive2 { name="bdpar"; version="3.0.1"; sha256="05si6164gbnx6lbjyzd40zpg0q4hfhirzwa7ica9rbj8l73j6zpw"; depends=[digest R6 rlist]; };
@@ -6436,10 +6492,10 @@ in with self; {
   bethel = derive2 { name="bethel"; version="0.2"; sha256="1zlkw672k1c5px47bpa2vk3w2906vkhvifz20h6xm7s51gmm64i0"; depends=[]; };
   bets_covid19 = derive2 { name="bets.covid19"; version="1.0.0"; sha256="1pqa6zpkkcmnm9a4m3676css0fi2lp4ik6mmhfhnsr4v4kv2pq2s"; depends=[rootSolve]; };
   bettermc = derive2 { name="bettermc"; version="1.1.2"; sha256="1g264b21kh5kf0v5qk09gf3ya0amblwnqlpw93h6g0k0dd3vks0h"; depends=[checkmate]; };
-  beyondWhittle = derive2 { name="beyondWhittle"; version="1.1.1"; sha256="1nr414wvfwycp3s9v592jd4gk5wdjfklk7ypqabx73k5fsxrcc0g"; depends=[BH forecast ltsa MASS MTS Rcpp RcppArmadillo]; };
+  beyondWhittle = derive2 { name="beyondWhittle"; version="1.1.2"; sha256="0gi2pz591iqkjxg2jnn6igflyakdb4p40yafrw5gxcqa0kfj79h9"; depends=[BH forecast ltsa MASS MTS Rcpp RcppArmadillo]; };
   bezier = derive2 { name="bezier"; version="1.1.2"; sha256="1vw5128v8h973xwa1fdm9cw2jvrldj87nd55lddlp3qsz3ag4br6"; depends=[]; };
   bfast = derive2 { name="bfast"; version="1.6.1"; sha256="1vjklk7d9b0q7j348aqvspm7rn80bh06hz66r2z1qs9436ppkx5a"; depends=[forecast Rcpp Rdpack strucchangeRcpp zoo]; };
-  bfp = derive2 { name="bfp"; version="0.0-42"; sha256="19azhsaa1cgpz2zs5ijmr1pcbcqjlmc0w990hbbwkk79bpc3dpn4"; depends=[Rcpp]; };
+  bfp = derive2 { name="bfp"; version="0.0-44"; sha256="1lh25g4ac1f1asz4i0mnizbxqzslz6kjlg1d7mcjnp6qn7pkmg20"; depends=[Rcpp]; };
   bfsMaps = derive2 { name="bfsMaps"; version="0.9.6"; sha256="0k3bwda32j0rfdkzddqf81mpaa1z73cm05xh19psa51vgrbn9gg9"; depends=[DescTools maptools rgdal rgeos rlang sp spdep]; };
   bfsl = derive2 { name="bfsl"; version="0.2.0"; sha256="10z3w1fk4va2ajvpnqp0llgw4a047iaya6xi57if1a7jd7r1jxfh"; depends=[generics]; };
   bfw = derive2 { name="bfw"; version="0.4.1"; sha256="1dwl6p70wbgippysl7vk8nv6rc78f6h5xl8fna98zv99qf0ib31c"; depends=[coda MASS runjags]; };
@@ -6451,7 +6507,7 @@ in with self; {
   bgsmtr = derive2 { name="bgsmtr"; version="0.7"; sha256="17706qims9637ppwg0vszkcm6kmvhzyrdihkgigpiv5lknhk2q3m"; depends=[CholWishart coda EDISON glmnet inline LaplacesDemon Matrix matrixcalc miscTools mnormt mvtnorm Rcpp sparseMVN statmod]; };
   bgumbel = derive2 { name="bgumbel"; version="0.0.3"; sha256="18k8dy44x49hr4s37hjrq60c3cbw0slc9gjmd8gwcbz4slix2ydk"; depends=[coda MASS MCMCpack quantreg SparseM]; };
   bhm = derive2 { name="bhm"; version="1.17"; sha256="14n78ca8qxdjdk3pxi72fcajcw5ndfncc8a6bc8k2jqj6l0k05qf"; depends=[coda ggplot2 MASS survival]; };
-  bhmbasket = derive2 { name="bhmbasket"; version="0.9.3"; sha256="1avd1w8qrnlydmzv9r2lvdilailzdcsib3zcn4461qh3qxlwn52f"; depends=[foreach R2jags]; };
+  bhmbasket = derive2 { name="bhmbasket"; version="0.9.4"; sha256="0zl1npc0mv08xfgy4wakvkgp093hs6s4nkn4xn3j75fv2a8vw1p5"; depends=[doRNG foreach R2jags]; };
   bhpm = derive2 { name="bhpm"; version="1.7"; sha256="0fhk2gmghibf7la864dzm19bm76525gzbj03vw0y0zwbv9shbpcp"; depends=[coda]; };
   biClassify = derive2 { name="biClassify"; version="1.3"; sha256="14z3kmpmlvnkjwpjspajdfx5951cmck4binszzdd7nqbai5f1dwv"; depends=[DAAG expm fields MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
   biasbetareg = derive2 { name="biasbetareg"; version="1.0"; sha256="1562zdin0y5mrp36ih11ir3h9cv49cx1l98chxd89fkj8x3c1fbg"; depends=[betareg]; };
@@ -6460,11 +6516,12 @@ in with self; {
   bibliometrix = derive2 { name="bibliometrix"; version="3.1.4"; sha256="14s1mn0j9120m1nh46380qbffy6d4zcx9ii3axbcwmhry0yr2ndw"; depends=[bibliometrixData dimensionsR dplyr DT factoextra FactoMineR forcats ggplot2 ggrepel igraph Matrix openxlsx plotly pubmedR RColorBrewer readr readxl rscopus shiny SnowballC stringdist stringr tidyr tidytext]; };
   bibliometrixData = derive2 { name="bibliometrixData"; version="0.1.0"; sha256="0fdfgqsfiq3iacj4vb3bvx98waqzqxdsn2ds8wq86a30lm055d7n"; depends=[]; };
   biblionetwork = derive2 { name="biblionetwork"; version="0.1.0"; sha256="0nhx9bk7r5l0bvj98clnmwf53ihghf48zai4nj6pcgr2rb69fvjj"; depends=[data_table Rdpack]; };
+  bibs = derive2 { name="bibs"; version="1.1.1"; sha256="0slxqhcm4fhdmr2dj1c31zs8sgl39267179nbc59jlpb0z77z2d6"; depends=[GIGrvg]; };
   bibtex = derive2 { name="bibtex"; version="0.4.2.3"; sha256="0vdwx6808r73pk15263f33bkqbfmb08d8jkmr4d7h4ml414ikbbv"; depends=[stringr]; };
   biclique = derive2 { name="biclique"; version="1.0.5"; sha256="1fdf2r1jc2x8yw0fcw7yyjdxz4b870w6y7mr68qixqxwpl6943zq"; depends=[]; };
   biclust = derive2 { name="biclust"; version="2.0.3"; sha256="0lgyc2f04dhr65cwga78pradxsdzgjrpp8vphchqn60ab1z95dlp"; depends=[additivityTests colorspace flexclust ggplot2 lattice MASS tidyr]; };
   biclustermd = derive2 { name="biclustermd"; version="0.2.3"; sha256="1knhz96k5giq3d16i3akl5gbxrzx3vxm97cb3ivaw835fr9zrmr5"; depends=[biclust doParallel dplyr foreach ggplot2 magrittr nycflights13 phyclust tidyr]; };
-  bidask = derive2 { name="bidask"; version="0.1.0"; sha256="1npiz3nmbly0lhha90b6v2ml8fmi32rdjr6bx7f008aa9p4cpcip"; depends=[xts zoo]; };
+  bidask = derive2 { name="bidask"; version="0.1.1"; sha256="1xykrk993bq1diflwbw4340b2jsn51l962qgwm50rz6hrakjhn6q"; depends=[xts zoo]; };
   bife = derive2 { name="bife"; version="0.7.1"; sha256="0d1hfzji3769nsa5xvlmn7sbn21igwx3aa7vxlcdn1b9ykh7fx76"; depends=[data_table Formula Rcpp RcppArmadillo]; };
   bifurcatingr = derive2 { name="bifurcatingr"; version="1.0.0"; sha256="0msbdr2m4xmvnd00yklk2b8c8qwr11d5gc1x22sqd16fgj9y0qvf"; depends=[igraph MASS]; };
   bigGP = derive2 { name="bigGP"; version="0.1-7"; sha256="0slg87g6lrdlzlcqxmcyxcwzrnmiz6ps0n14p27zcv0n687xifid"; depends=[Rmpi]; };
@@ -6479,7 +6536,6 @@ in with self; {
   bigchess = derive2 { name="bigchess"; version="1.9.1"; sha256="1vdzx185y1agh1xjf7qcfi2s6l7qzm1kx6b2kr3cbz2in88bws3n"; depends=[processx]; };
   bigdatadist = derive2 { name="bigdatadist"; version="1.1"; sha256="16gkybwcp9sxqb0iic2fhmc4gndr44ayg14wrfcjvjaj4g5r6xs2"; depends=[FNN MASS pdist rrcov]; };
   bigdist = derive2 { name="bigdist"; version="0.1.4"; sha256="1qfnmhyfadmnnagbhdl4jjrb53i1srszf19idp8fy6bczbjq85yi"; depends=[assertthat bigstatsr furrr proxy]; };
-  biglasso = derive2 { name="biglasso"; version="1.4.1"; sha256="1q3lilqdbra8wm8cs49d9kl044dlsr69mjax1rvhb9jciyfbrbhw"; depends=[BH bigmemory Matrix ncvreg Rcpp RcppArmadillo]; };
   bigleaf = derive2 { name="bigleaf"; version="0.7.1"; sha256="0hsssz5973vapkmmh9dgzrijyjj1s75iarq3cpfi7ljm4n748qig"; depends=[robustbase solartime]; };
   biglm = derive2 { name="biglm"; version="0.9-2.1"; sha256="0iy9xr2bq42wlizgwlz7w5kh9206yqkw9h2cr6mcsmizgjg3rkvd"; depends=[DBI]; };
   biglmm = derive2 { name="biglmm"; version="0.9-2"; sha256="1zj1h2hszps3w913j2dk4cyj5jsqkkxsm3pcjlc4jnq810j100l6"; depends=[DBI]; };
@@ -6495,7 +6551,7 @@ in with self; {
   bigsnpr = derive2 { name="bigsnpr"; version="1.8.1"; sha256="1kwzphhhc3rmczv426sz67hsyfp67mbrhgna406fvw50p7ql76d8"; depends=[bigassertr bigparallelr bigreadr bigsparser bigstatsr bigutilsr data_table foreach ggplot2 magrittr Matrix Rcpp RcppArmadillo rmio vctrs]; };
   bigsparser = derive2 { name="bigsparser"; version="0.5.0"; sha256="0g6fbhgc51jb2rnccimnsz3y0ivq9ylgk1rnm863l4hyc43balhp"; depends=[bigassertr Rcpp RcppEigen rmio]; };
   bigsplines = derive2 { name="bigsplines"; version="1.1-1"; sha256="1kf04p2lglzdi1fdryk27nmj2a2jca2ii7ki8vak93sq21isb179"; depends=[quadprog]; };
-  bigstatsr = derive2 { name="bigstatsr"; version="1.5.5"; sha256="1h69hn0sfani08bdrp9453kmmb1xynghh11208sxpnn43mv64iq0"; depends=[bigassertr bigparallelr cowplot foreach ggplot2 ps Rcpp RcppArmadillo rmio RSpectra tibble]; };
+  bigstatsr = derive2 { name="bigstatsr"; version="1.5.6"; sha256="1mir9fr2c9wrx0ldmwliv99z2qrpy8fij1bzjy40pzcaim9mfk7d"; depends=[bigassertr bigparallelr cowplot foreach ggplot2 ps Rcpp RcppArmadillo rmio RSpectra tibble]; };
   bigstep = derive2 { name="bigstep"; version="1.0.3"; sha256="0ygp1vljqqn5vzpjxlv9d6fxxv3bi2kfyqfs1gf0jgxwb9417b82"; depends=[bigmemory magrittr matrixStats R_utils RcppEigen speedglm]; };
   bigtabulate = derive2 { name="bigtabulate"; version="1.1.5"; sha256="1jvp3m0ms2cav9z8vvhh80gsa0kvc351brv2jq99rxv1mwvpa4xj"; depends=[BH biganalytics bigmemory Rcpp]; };
   bigtcr = derive2 { name="bigtcr"; version="1.1"; sha256="1l03yc28afdm7glbw4ay0zsywjgqg5l90qz1hfhslsy8gg7d5wq5"; depends=[]; };
@@ -6507,7 +6563,7 @@ in with self; {
   billboard = derive2 { name="billboard"; version="0.1.0"; sha256="1z3y8dijhc1381y91n5zq305xzm1gpvs0g4mdpfr7zrblpa8ws39"; depends=[tibble]; };
   billboarder = derive2 { name="billboarder"; version="0.3.1"; sha256="189ngvg84rcwhrivxskmjv3srhadvzr4p1v8pf11axyv2qn01b0x"; depends=[ggplot2 htmltools htmlwidgets jsonlite magrittr rlang scales shiny]; };
   bimetallic = derive2 { name="bimetallic"; version="1.0"; sha256="181qi4dr0zc7x6wziq7jdc1his20jmprfpq3hrfm56fr5n1sj8wl"; depends=[]; };
-  bimets = derive2 { name="bimets"; version="1.5.3"; sha256="1m4vzbc5g1f98izz638pxzr67k1sljy8g2qqb6nlwglg7zi7bvak"; depends=[xts zoo]; };
+  bimets = derive2 { name="bimets"; version="2.0.1"; sha256="08z3zvp8p0g9w2jzcnwd8qamdqfxahv4gl7k2lv5hl15f67mc3hf"; depends=[xts zoo]; };
   bimixt = derive2 { name="bimixt"; version="1.0"; sha256="0nhszpzjqy8z3vngl5jdzqxzshnn92wgi0ci5n3n5kzi24xkfrzc"; depends=[pROC]; };
   binGroup = derive2 { name="binGroup"; version="2.2-1"; sha256="0cb7j6b0s3y56mv1967awwri0kv0rf3sr3vwf9gc2zbjggxi9ffp"; depends=[partitions Rdpack]; };
   binGroup2 = derive2 { name="binGroup2"; version="1.1.0"; sha256="1hgz1w0bxbd82rx96s6b63wjczsb1x2l6j526wcnwix36kibv3p3"; depends=[ggplot2 partitions rBeta2009 Rcpp RcppArmadillo Rdpack scales]; };
@@ -6525,7 +6581,6 @@ in with self; {
   bingat = derive2 { name="bingat"; version="1.3"; sha256="1y68rgafipfad78yrzcygdszgy1d5q739kap06pzr78bn3i8hiwa"; depends=[doParallel foreach gplots matrixStats network vegan]; };
   binhf = derive2 { name="binhf"; version="1.0-3"; sha256="1vdw2s8zddp7gad8l3c4jpmnjcc0f5wpqbrp6gp9lgp1c3qa505y"; depends=[adlift EbayesThresh wavethresh]; };
   binman = derive2 { name="binman"; version="0.1.2"; sha256="00l7m98h41r67gf0qxqis3vx63j7wylnk9vlgcyk41szkrz8ikkc"; depends=[assertthat httr jsonlite rappdirs semver xml2 yaml]; };
-  binnednp = derive2 { name="binnednp"; version="0.4.0"; sha256="1qswrr982x5hy2vl2fc603j98cjli9l40zzvvjy2l91p8xxrc5dn"; depends=[doParallel fitdistrplus foreach kedd mclust nor1mix Rcpp Rdpack]; };
   binom = derive2 { name="binom"; version="1.1-1"; sha256="0mjj92dqf5q69jxzqya4izb1mly3mkydbnmlm4wb3zqqg82a324c"; depends=[]; };
   binomSamSize = derive2 { name="binomSamSize"; version="0.1-5"; sha256="1an6dcqsjh5r0w4kc3n6yfvvha5qhrb2i4bpf7g5ykhl3i60zfcc"; depends=[binom]; };
   binomialRF = derive2 { name="binomialRF"; version="0.1.0"; sha256="1liqhnp4j3fxy552fi4yz5vmfzh5blpmxx6fa3g62dgnhcm9sy18"; depends=[data_table randomForest rlist]; };
@@ -6533,7 +6588,7 @@ in with self; {
   binomlogit = derive2 { name="binomlogit"; version="1.2"; sha256="1njz1g9sciwa8q6h0zd8iw45vg3i1fwcvicj5y8srpk8wqw3qp7k"; depends=[]; };
   binovisualfields = derive2 { name="binovisualfields"; version="0.1.1"; sha256="0s2p0miqjckkj4v9l0c7zsdnnq69j08p4c5sgdxvkzlv23rnrkyd"; depends=[gtools plotrix shiny]; };
   binr = derive2 { name="binr"; version="1.1"; sha256="0kgk91zy7bdrhpkh9c5bi206y9hjwjwzb508i8qqmznqyxmza70r"; depends=[]; };
-  binsegRcpp = derive2 { name="binsegRcpp"; version="2020.9.3"; sha256="0vkvczm32nx67aw1mw53yc6jlbsk70faa5mvwq6k6bzv3nb2c48a"; depends=[data_table Rcpp]; };
+  binsegRcpp = derive2 { name="binsegRcpp"; version="2022.1.24"; sha256="1chp9ac99r990x4wx39y2cwiqmnmx58c89l3wx5civgn2z3l9l5p"; depends=[data_table Rcpp]; };
   binseqtest = derive2 { name="binseqtest"; version="1.0.3"; sha256="0661a2bqmv6bckq23c6m04ggwrp8z10lfgjg9dgkz4bfxsd297gs"; depends=[clinfun]; };
   binsmooth = derive2 { name="binsmooth"; version="0.2.2"; sha256="1sidv8ra377glaacib1j4ksg5bg759hk7h6fadrfzip3hgxgjg9x"; depends=[ineq pracma triangle]; };
   binsreg = derive2 { name="binsreg"; version="0.7"; sha256="1qxf5096vzf2j9d7yya0pr1hgxgkxm5llvz5ddyf0hqp22cjcsf7"; depends=[ggplot2 matrixStats quantreg sandwich]; };
@@ -6546,7 +6601,9 @@ in with self; {
   bioRad = derive2 { name="bioRad"; version="0.5.2"; sha256="1kx1vh6p37170f1crylwyzap0c7s5d82rx7qqi95f8d26niqcjn9"; depends=[assertthat curl data_table fields ggmap ggplot2 lubridate lutz maptools raster rgdal rhdf5 sp tidyr viridis viridisLite]; };
   bioacoustics = derive2 { name="bioacoustics"; version="0.2.7"; sha256="0jsvmx4kx1jx4ljrrax9v3nr3fs2r0kg4n1a0qbwcbfbgykqng87"; depends=[htmltools moments Rcpp stringr tuneR]; };
   bioassays = derive2 { name="bioassays"; version="1.0.1"; sha256="1y32wxkv14l7r0f35y4hxxxh3zpw2gd4hsjmkajhmzmnvg5jdw78"; depends=[dplyr ggplot2 magrittr nplr reshape2 rlang]; };
+  bioclim = derive2 { name="bioclim"; version="0.1.0"; sha256="0v1bpcfhpw0hrvc2fl5l4dgjyyhgm4ypaqg2dy9nwb0di6pxd1qn"; depends=[berryFunctions ggplot2 reshape2 rmarkdown terra]; };
   biocompute = derive2 { name="biocompute"; version="1.1.0"; sha256="05pqrm1j0d21w70jnsf9zvh55h85i676xwvqzsk51llw52v16d4d"; depends=[cli crayon curl digest httr jsonlite jsonvalidate magrittr rmarkdown stringr uuid yaml]; };
+  biodosetools = derive2 { name="biodosetools"; version="3.6.0"; sha256="06i6vg0n98x91j8mkh0mbh4m7a34ghr22x6msrhdig0xh522ia5z"; depends=[bsplus cli config dplyr ggplot2 golem htmltools magrittr MASS maxLik mixtools msm pkgload rhandsontable rlang rmarkdown shiny shinydashboard shinyWidgets tidyr]; };
   biogas = derive2 { name="biogas"; version="1.23.2"; sha256="05g6nyi872skvr34kw5c71ggnnjc3fv95imc327yjqhmqmwx3m19"; depends=[]; };
   biogeo = derive2 { name="biogeo"; version="1.0"; sha256="14sqgg8b06gp5dajxvyj9s3ndsk7jpkfr0mkyl2l61kgp6qx53rh"; depends=[maptools raster sp stringr vegan]; };
   biogram = derive2 { name="biogram"; version="1.6.3"; sha256="1y7yaa6xwv11b6a4qf4qb3d7rsz0yiiq1k5mb0dbm3avydnl9c4b"; depends=[combinat entropy partitions slam]; };
@@ -6556,6 +6613,7 @@ in with self; {
   biokNN = derive2 { name="biokNN"; version="0.1.0"; sha256="113lynbxmv88ycvbsq9drn2f75md7yajhicfw8qd8l6lawiq1fqc"; depends=[cluster desc dplyr ggplot2 lme4 magrittr mice mitml tidyr]; };
   biolink = derive2 { name="biolink"; version="0.1.7"; sha256="1i9aisvb3lvljird89fy9fx7h3s1wi6dpilycbynqyhz8xqnnszj"; depends=[DBI glue memoise rentrez RMySQL xml2]; };
   biomartr = derive2 { name="biomartr"; version="0.9.2"; sha256="12bw15hvjg7fbrq1mwn2xgzbplydy8rlq982hs118mlwdrlqb06q"; depends=[biomaRt Biostrings curl data_table downloader dplyr fs httr jsonlite philentropy purrr R_utils RCurl readr stringr tibble XML]; };
+  biometryassist = derive2 { name="biometryassist"; version="1.0.0"; sha256="1lh2bjagab644j68dwfk6q88nmb1rvclqi87mxb1cwx6y7mjyr69"; depends=[agricolae cowplot curl ellipsis farver ggplot2 interp lattice multcompView predictmeans rlang scales stringi withr]; };
   biomod2 = derive2 { name="biomod2"; version="3.5.1"; sha256="065cq36phf7ncd1na440f50aa467qbwkb7pchabsan05k3zk7v9h"; depends=[abind caret checkmate dismo doParallel dplyr earth ENMeval foreach gbm ggplot2 lattice MASS maxnet mda nnet PresenceAbsence pROC purrr randomForest raster rasterVis reshape rlang rpart sp tidyr]; };
   bionetdata = derive2 { name="bionetdata"; version="1.0.1"; sha256="1l362zxgcvxln47b1vc46ad6ww8ibwhqr2myxnz1dnk2a8nj7r2q"; depends=[]; };
   bios2mds = derive2 { name="bios2mds"; version="1.2.3"; sha256="1k0r3fnkzfczx3wp3m8zpndk6gxca7idsp0z13rw84zjrgqaw6jm"; depends=[amap cluster e1071 rgl scales]; };
@@ -6569,6 +6627,7 @@ in with self; {
   biotools = derive2 { name="biotools"; version="4.2"; sha256="1dyy9mk2afjbc8g1qygy6h1aksbhndm53c4sb5mfzriydl03ibxv"; depends=[boot MASS]; };
   bipartite = derive2 { name="bipartite"; version="2.16"; sha256="10flnwgsll86w1dgn4rswbshag8l35hski0nf7xkvp5fj39sy4wp"; depends=[fields igraph MASS permute sna vegan]; };
   bipartiteD3 = derive2 { name="bipartiteD3"; version="0.3.0"; sha256="1b4nw1hqw645j8blf2b1hhnar7ffc4bw0zb07ycfjqd2prnif8pd"; depends=[downloader dplyr purrr r2d3 RColorBrewer stringr tibble tidyr]; };
+  bipd = derive2 { name="bipd"; version="0.1"; sha256="14b6hx5l4xwicf7lvqm7p0ghb4ibsxwyxddg98bkkhsbg7rpdczq"; depends=[coda dplyr mvtnorm rjags]; };
   biplotbootGUI = derive2 { name="biplotbootGUI"; version="1.2"; sha256="07lrs2n6s54h97vjriszszhksdbi14s2i234kwfhg7aq47k6l0jl"; depends=[cluster dendroextras MASS matlib rgl shapes tcltk2 tkrplot]; };
   birankr = derive2 { name="birankr"; version="1.0.1"; sha256="1azgrzgw5bnfac8p287ir5zl6kxc6jij20p6cfc3lbbl03f8sa1k"; depends=[data_table Matrix]; };
   birdring = derive2 { name="birdring"; version="1.4"; sha256="0rskrf0r5nrzfcac0zvc60vabvs9dws2zx1rxssvw6xmwyiiy1z6"; depends=[geosphere ks lazyData raster rgdal rgeos rworldmap rworldxtra sp]; };
@@ -6578,7 +6637,7 @@ in with self; {
   bisect = derive2 { name="bisect"; version="0.9.0"; sha256="1dr95gnc9rb3i8603wspf0hznmvk5akk46nyf1bhv88mjz2i5q77"; depends=[]; };
   bisectr = derive2 { name="bisectr"; version="0.1.0"; sha256="1vjsjshvzj66qqzg32rviklqswrb00jyq6vwrywg1hpqhf4kisv7"; depends=[devtools]; };
   bisque = derive2 { name="bisque"; version="1.0.2"; sha256="0zp2r1vg29q2ds34hhyjv9pz761mi0qncx9p4ilwnfd5yj9pmzwq"; depends=[foreach itertools mvQuad Rcpp RcppArmadillo RcppEigen]; };
-  bistablehistory = derive2 { name="bistablehistory"; version="1.0.0"; sha256="04hwwf1pmm6h78xaaax5r59kcc065h9d49fngqqriwp513q7c4xp"; depends=[BH boot dplyr future glue loo magrittr purrr Rcpp RcppEigen RcppParallel rlang rstan rstantools StanHeaders tibble tidyr]; };
+  bistablehistory = derive2 { name="bistablehistory"; version="1.1.0"; sha256="1bxhv772vsnpmjsj82k351mm54w9vb29d1nd3daz9pk5j52ilih4"; depends=[BH boot dplyr future glue loo magrittr purrr Rcpp RcppEigen RcppParallel rlang rstan rstantools StanHeaders tibble tidyr]; };
   bit = derive2 { name="bit"; version="4.0.4"; sha256="0s7isadibxp2wr62r5cpbyh9z31sczzfz4j3rm7gxgjfpqgq8174"; depends=[]; };
   bit64 = derive2 { name="bit64"; version="4.0.5"; sha256="0y0m7q1rwam1g88cjx7zyi07mj5dipxd9jkl90f294syx8k6ipr5"; depends=[bit]; };
   bite = derive2 { name="bite"; version="0.3"; sha256="00sph3pdbb9p21s3263ni4by2ivvya1sbjm9wvwx1rwjr4f31jps"; depends=[ape coda MASS phytools sm vioplot xml2]; };
@@ -6591,7 +6650,7 @@ in with self; {
   bivrp = derive2 { name="bivrp"; version="1.2-2"; sha256="0b38nh38vgqjllb1z9627dm86yp0s06ky1g829g8kkz7rffdp2za"; depends=[MASS]; };
   biwavelet = derive2 { name="biwavelet"; version="0.20.21"; sha256="0v7arwmng2i22svj836i57q8by9x5pghjv7d35g7r35wakrm8jyx"; depends=[fields foreach Rcpp]; };
   biwt = derive2 { name="biwt"; version="1.0"; sha256="1mb3x8ky3x8j4n8d859i7byyjyfzq035i674b2dmdca6mn7paa14"; depends=[MASS rrcov]; };
-  bizdays = derive2 { name="bizdays"; version="1.0.8"; sha256="1aiwnhgd2h7j36xj7165fc1fnvl8qn4y8c1lbdlsbanmvayydmr5"; depends=[jsonlite]; };
+  bizdays = derive2 { name="bizdays"; version="1.0.9"; sha256="1ddl7mnxf5prvcmkdfmfhvxrcv8c7clm21qvmr54gwqf759afh07"; depends=[jsonlite]; };
   bjscrapeR = derive2 { name="bjscrapeR"; version="0.1.0"; sha256="18chbgiwify272iqf0w4vsqh73wbk12d8m2awc5hbnfqblz3phwd"; depends=[dplyr glue readr tibble]; };
   bkmr = derive2 { name="bkmr"; version="0.2.0"; sha256="0dk6dn73bqlvwinn3aginls4533931xcr3h59k0w60yxs3v8yakv"; depends=[dplyr fields magrittr MASS nlme tidyr tmvtnorm truncnorm]; };
   bkmrhat = derive2 { name="bkmrhat"; version="1.1.1"; sha256="0mak91p8vrvmqscghqgpzwcrxn7mm9km6wks1lrwixivlq0g1cdj"; depends=[bkmr coda data_table future rstan]; };
@@ -6602,13 +6661,13 @@ in with self; {
   blaster = derive2 { name="blaster"; version="1.0.4"; sha256="0y2vdksmy1xngqvf7wxy5yf58830sm0bi82vn02yba1x6345ghjr"; depends=[Rcpp]; };
   blastula = derive2 { name="blastula"; version="0.3.2"; sha256="084mk6xb8ivqrp8anvisfk8rvwi7qfrp5kmy66vpihmjmqh7dkyc"; depends=[base64enc commonmark curl digest dplyr fs getPass here htmltools httr jsonlite magrittr mime rlang rmarkdown stringr uuid]; };
   blatent = derive2 { name="blatent"; version="0.1.1"; sha256="1jnf3i7s3mn99ff8yzygxys0w8qf6vrfk16iqgxh7jbivbrczysk"; depends=[coda Matrix mnormt R6 Rcpp RcppArmadillo truncnorm]; };
-  blavaan = derive2 { name="blavaan"; version="0.3-18"; sha256="0rg86gsgi3kp2krhw8rabwpidcnlq6chsbmdw9jwfhf75yi60f9p"; depends=[bayesplot BH coda future_apply lavaan loo Matrix MCMCpack mnormt nonnest2 Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
+  blavaan = derive2 { name="blavaan"; version="0.4-1"; sha256="192a3k5fnfd2khm4g8rj7ja4501m6n1wnb7g8mphpvw45zbpgc5g"; depends=[bayesplot BH coda future_apply lavaan loo Matrix MCMCpack mnormt nonnest2 Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders tmvnsim]; };
   blendedLink = derive2 { name="blendedLink"; version="1.0"; sha256="19d1pnjag89jjvkl5a6wx531qjqp4cv5jk95md6jby27yr52r8vp"; depends=[]; };
   blender = derive2 { name="blender"; version="0.1.2"; sha256="1qqkfgf7fzwcz88a43cqr8bw86qda33f18dg3rv1k77gpjqr999c"; depends=[vegan]; };
   blin = derive2 { name="blin"; version="0.0.1"; sha256="1h94azm7gli9i4v3li5c1p36p3rkcj2p5j6rqzlzf0pcqs0bsc09"; depends=[abind glmnet MASS Matrix mvtnorm]; };
   blindrecalc = derive2 { name="blindrecalc"; version="0.1.3"; sha256="1kaia4mpwjh9p0m9jc694i2gy1hfqa3k04w17cnmwsfppgwq11ls"; depends=[Rcpp]; };
   blink = derive2 { name="blink"; version="1.1.0"; sha256="053nw592sglzh6fgz7hj8ra6q7lqs83hhv14kcgs67b56q8a3crb"; depends=[plyr stringdist]; };
-  bliss = derive2 { name="bliss"; version="1.0.2"; sha256="064w4q29ddcdwpj30y90v0dmpgpd3wjvka4xfn9f09mxl0dgnw41"; depends=[MASS Rcpp RcppArmadillo rockchalk]; };
+  bliss = derive2 { name="bliss"; version="1.0.3"; sha256="0bzb4cybck466va4jhchwkf41z1ijzbsdp5pmkpnlxkv7kkcyfcl"; depends=[MASS Rcpp RcppArmadillo rockchalk]; };
   blm = derive2 { name="blm"; version="2013.2.4.4"; sha256="1w6c30cq38j4i1q4hjg12l70mhy5viw886l1lsnxyvniy113in4i"; depends=[]; };
   blme = derive2 { name="blme"; version="1.0-5"; sha256="0413j7gwr5yj14jamkizj55q7xii1a0kgazzj0ilqn2ascclz6k7"; depends=[lme4]; };
   blmeco = derive2 { name="blmeco"; version="1.4"; sha256="1370djpy87816bfr0g8730x7q4d4xx9aa41iqm622q5b5zm2jzmp"; depends=[arm lme4 MASS]; };
@@ -6616,7 +6675,6 @@ in with self; {
   blockCV = derive2 { name="blockCV"; version="2.1.4"; sha256="1fikskjjq571rzmzmqf72z92qkvjb9wdx598kvd28y1ic0xzrgm6"; depends=[progress raster sf]; };
   blockForest = derive2 { name="blockForest"; version="0.2.4"; sha256="14xggdm34hmdlz3hvvp5layk6mb016yppqf9x9rbia9lmmjbhgfh"; depends=[Matrix Rcpp RcppEigen survival]; };
   blockRAR = derive2 { name="blockRAR"; version="1.0.2"; sha256="1d9izlcgz85kcz1sh11mcxq96qh0cwv6638jha851h2f4lnc8aa4"; depends=[arm dplyr ldbounds magrittr tibble]; };
-  blockTools = derive2 { name="blockTools"; version="0.6-3"; sha256="0023p0msfmp8swq4f5aff40m976np7y051x8hjizzw91hrfa4w2n"; depends=[MASS tibble]; };
   blockcluster = derive2 { name="blockcluster"; version="4.5.1"; sha256="1f152m3fv0aaw2csgqvf1y231f5rjhwrkn69yyx9yb3ff65z49d8"; depends=[Rcpp rtkore]; };
   blocklength = derive2 { name="blocklength"; version="0.1.4"; sha256="13hsk15r2m2rnmdjs1apz6bhpm877pkc0rph2lvwgpm85ki0rr7z"; depends=[tseries]; };
   blockmatrix = derive2 { name="blockmatrix"; version="1.0"; sha256="14k69ly4i8pb8z59005kaf5rpv611kk1mk96q6piyn1gz1s6sk6r"; depends=[]; };
@@ -6652,7 +6710,7 @@ in with self; {
   bnpa = derive2 { name="bnpa"; version="0.3.0"; sha256="0qsxk47i7q4d8hbs2xj5k5sf8bqyzhq7rbj4y7w8ljprznlydgl9"; depends=[bnlearn fastDummies lavaan Rgraphviz semPlot xlsx]; };
   bnpsd = derive2 { name="bnpsd"; version="1.3.13"; sha256="0wnbsz5c52pglycykzkd5lsnxfkjqva0xhwnb4kz7x1zd8vbd1sl"; depends=[ape nnls]; };
   bnspatial = derive2 { name="bnspatial"; version="1.1.1"; sha256="1drm9ia4lr80wahbbn9xrw658ppmgxm4iadwv77jz1x786dda2n1"; depends=[doParallel foreach gRain gRbase raster rgdal sf]; };
-  bnstruct = derive2 { name="bnstruct"; version="1.0.11"; sha256="0vlmaz75mnbj4js3h5j11rs7q7yx5agwi1y7hq16nb8x81arhwai"; depends=[bitops igraph]; };
+  bnstruct = derive2 { name="bnstruct"; version="1.0.12"; sha256="04rlv2xb7bwbh0dd4kc2k07vpdb6vjhln6kdxim6cja27b9j9h46"; depends=[bitops igraph]; };
   bnviewer = derive2 { name="bnviewer"; version="0.1.6"; sha256="036jmypxg2ciiz388f90vm73l9djhpi6gzp1ibn9l0x3d072r7zz"; depends=[assertthat bnlearn caret e1071 igraph shiny visNetwork]; };
   boa = derive2 { name="boa"; version="1.1.8-2"; sha256="04lhqk5qfvaz1jk90glr2yi5vq7cdy0w8m6g2lnzk359l9y41zhp"; depends=[]; };
   bodenmiller = derive2 { name="bodenmiller"; version="0.1.1"; sha256="0rdbk3f95iw4352fl9d81ir503q072chbb4hn1k12sp1wjc3apid"; depends=[]; };
@@ -6666,7 +6724,7 @@ in with self; {
   boot = derive2 { name="boot"; version="1.3-28"; sha256="0cjafhqv1c1mrjjcasqr767vs96wjcc6am9r1icryr8l4zymhwcz"; depends=[]; };
   boot_heterogeneity = derive2 { name="boot.heterogeneity"; version="1.1.5"; sha256="0g4zkvx8krqh54xvjh1a0ybwl3v5bg3l670ycgnps8kkw32w5p1f"; depends=[HSAUR3 knitr metafor pbmcapply rmarkdown]; };
   boot_pval = derive2 { name="boot.pval"; version="0.4"; sha256="05gxpky92f9jhvhv4faj49ql8a9mrfqdgk802i0hdw4lmnn90k7j"; depends=[boot car lme4 Rdpack survival]; };
-  bootComb = derive2 { name="bootComb"; version="1.1.1"; sha256="00hfd705zadap6rmaraiqsrw31rf9cw8ggaai4x00xqcf6wl1lmv"; depends=[MASS]; };
+  bootComb = derive2 { name="bootComb"; version="1.1.2"; sha256="0gg07ck2nf0ddqc5nflk5ms16m3c6dlf1a77m58q581mkavj6gyb"; depends=[MASS]; };
   bootES = derive2 { name="bootES"; version="1.2.1"; sha256="16b14bycy3ds09hsxnk738k2xq9qmwcy3kzdqd6rw9w4j7167kf0"; depends=[boot]; };
   bootGOF = derive2 { name="bootGOF"; version="0.1.0"; sha256="11nn4lc9wdx1z35mfpc3zkk1xr0pvvjyvjzpjlq3z4gm0hmniifz"; depends=[checkmate R6]; };
   bootImpute = derive2 { name="bootImpute"; version="1.2.0"; sha256="04i81dqxygl3hv55kn8nkrqzhqsxw2lpdmdfh8inf8rjcpql5bgw"; depends=[mice smcfcs]; };
@@ -6675,7 +6733,7 @@ in with self; {
   bootSVD = derive2 { name="bootSVD"; version="1.1"; sha256="16d3qv8vzhfvl9vbfglkb3csmc4npb29jcq9apv89hj7bkcapvi9"; depends=[ff]; };
   bootStepAIC = derive2 { name="bootStepAIC"; version="1.2-0"; sha256="0p6v4zjsaj1p6c678010fazdh40lpv0rvhczd1halj8aic98avdx"; depends=[MASS]; };
   bootUR = derive2 { name="bootUR"; version="0.4.2"; sha256="1vf6qynakcil8sz161c8jvkg7c5b5qmkzmsgd5vhp3yrjf1wbhf7"; depends=[parallelly Rcpp RcppArmadillo RcppParallel RcppThread urca]; };
-  bootcluster = derive2 { name="bootcluster"; version="0.2.5"; sha256="0jhq0f8a3lajhqksvxd3k703b50vzll43q9w4iaqv4ylsg9l6pyr"; depends=[cluster doParallel dplyr flexclust foreach fpc GGally ggplot2 gridExtra igraph intergraph mclust network plyr sna]; };
+  bootcluster = derive2 { name="bootcluster"; version="0.3.2"; sha256="0wkc9li0hqgns7pz72fby187q81yzrgl62qs8w5llayghf8lhaml"; depends=[cluster doParallel dplyr flexclust foreach fpc GGally ggplot2 gridExtra igraph intergraph mclust network plyr sna]; };
   bootf2 = derive2 { name="bootf2"; version="0.4.1"; sha256="17wrl678x9mb5pny2vwrr6sdl2hsqr1nbjzsizp2q6l3w5m6s152"; depends=[ggplot2 MASS minpack_lm readxl]; };
   bootnet = derive2 { name="bootnet"; version="1.5"; sha256="13pfmr259yikkb3y9438xz4bjn6kx5w5d2jhx441a00rvv1kb3hi"; depends=[abind corpcor dplyr ggplot2 gtools igraph IsingFit IsingSampler Matrix mgm mvtnorm NetworkToolbox networktools pbapply qgraph rlang snow tibble tidyr]; };
   bootruin = derive2 { name="bootruin"; version="1.2-4"; sha256="1gbvh99snchipf13kjhymcx60s2kni23y7lv8lhzd3d402grp68h"; depends=[]; };
@@ -6696,6 +6754,7 @@ in with self; {
   boxplotdbl = derive2 { name="boxplotdbl"; version="1.3.0"; sha256="1y1b45q69sxbszd83s8ch10z4i55h34ixm8q7yxr7byx3px8y65n"; depends=[]; };
   boxr = derive2 { name="boxr"; version="0.3.6"; sha256="1hdm4p7zx2r566zaiyw06qg3c790gsvylrvav7g9fl4i1x6qgkyk"; depends=[assertthat bit64 digest dplyr fs glue httpuv httr jsonlite lifecycle magrittr mime purrr rio rlang stringr tibble]; };
   bp = derive2 { name="bp"; version="2.0.1"; sha256="0r41ardnxgkwd1ib8krasrhzw5q840xs1qrahh6nq38c4yw2b9yi"; depends=[cowplot dplyr ggplot2 gridExtra gtable lubridate magrittr tibble tidyr tidyselect]; };
+  bpAcc = derive2 { name="bpAcc"; version="0.0-1"; sha256="1q0gn6n215720d0c39awdjpxpp5ijv4yp6wah9snw1jhiphdl68q"; depends=[]; };
   bpDir = derive2 { name="bpDir"; version="0.1.2"; sha256="1wkj25srsbidpcvgm6c74584ahybjy39r86dxir1vd13kbi8l120"; depends=[circular MASS plotrix]; };
   bpa = derive2 { name="bpa"; version="0.1.1"; sha256="0np7q1nasrq4j7ssaipvbjgrsi9n612p9lp96frq1dgix95mcgf0"; depends=[magrittr plyr]; };
   bpbounds = derive2 { name="bpbounds"; version="0.1.4"; sha256="05knl0lmhbc399zwb35r8m1w5jvmwad8rg5m7m633pg7cfijayb9"; depends=[]; };
@@ -6704,10 +6763,11 @@ in with self; {
   bpcs = derive2 { name="bpcs"; version="1.0.0"; sha256="0jsy2l1qnzr8098614d6pj7rydf6b9s7kxrkahyzq82ivby9hj5m"; depends=[badger BH coda dplyr ggplot2 gtools HDInterval knitr loo magrittr Rcpp RcppEigen RcppParallel rlang rstan rstantools shinystan StanHeaders stringr tibble tidyr tidyselect]; };
   bpgmm = derive2 { name="bpgmm"; version="1.0.7"; sha256="0abh6jjglims8hjm2fwh0dz2qsgxy0fglxl5fnfgkwc139rsrhgy"; depends=[fabMix gtools label_switching MASS mclust mcmcse mvtnorm pgmm Rcpp RcppArmadillo]; };
   bpnreg = derive2 { name="bpnreg"; version="2.0.2"; sha256="1acf7smlcg8b29ga47wpb23zpfb90iz19fjc5v0zppc8q20lgggl"; depends=[BH haven Rcpp RcppArmadillo]; };
-  bpp = derive2 { name="bpp"; version="1.0.3"; sha256="05ddqc9vyyf5zqy43xxqx3kqnzs9f2imailscf1r3qqbmifk9xxr"; depends=[mvtnorm]; };
+  bpp = derive2 { name="bpp"; version="1.0.4"; sha256="07vz00y9m71n3a847jpviwyy0zb59402yyklsfmyxmggjivpjshi"; depends=[mvtnorm]; };
   bpr = derive2 { name="bpr"; version="1.0.4"; sha256="1pi5p0av40lhyc5vskrkkclx30amzry484g91s63cmffbfn08jsc"; depends=[BH coda MASS Rcpp RcppArmadillo]; };
   bqror = derive2 { name="bqror"; version="1.3.0"; sha256="1qwng7hxbw7ilqjvw2nv38im1axq56sw04d75sygs9lg1jcgh4lv"; depends=[GIGrvg invgamma MASS NPflow pracma truncnorm]; };
   bqtl = derive2 { name="bqtl"; version="1.0-33"; sha256="1sbzpi9z94f010lw2y1gmifjrvpmiqs4m26za7vr1xz72azrqvs9"; depends=[]; };
+  braQCA = derive2 { name="braQCA"; version="1.2.1.29"; sha256="0w1mg8lzl64mp5clinq3zai733iz3628zp4pw6vr51z24s56jg6i"; depends=[bootstrap dplyr QCA]; };
   bracer = derive2 { name="bracer"; version="1.2.1"; sha256="0q47p43957nlaqsz0hhbica2hlar95c2i8avgq024yhccik5nx6f"; depends=[stringr]; };
   braggR = derive2 { name="braggR"; version="0.1.1"; sha256="1sq7knrnz3nqprlvsj24f9gj1i0viawq3wcv2b97dmbwa7rd5qfz"; depends=[Rcpp]; };
   braidReports = derive2 { name="braidReports"; version="0.5.4"; sha256="1455pswcbz3zscvk6rgvgrjcp154l5lfx5m7s24m91rpjmc2y7pk"; depends=[braidrm ggplot2]; };
@@ -6719,13 +6779,14 @@ in with self; {
   brant = derive2 { name="brant"; version="0.3-0"; sha256="0rcp0am4wjlkinvmv0n5bky84v31ds28v163p5mlp343cgma2b62"; depends=[MASS Matrix]; };
   bravo = derive2 { name="bravo"; version="2.1.2"; sha256="0gs8vplb3sfp82bldbq1glqhr6j2p4pbzxfbhy61sjs88kvh0bp2"; depends=[Matrix Rcpp]; };
   brea = derive2 { name="brea"; version="0.2.0"; sha256="0mb043fdhxrg9gyf4g55ydjx37j20394nvd4d0fmiym98lccyi04"; depends=[]; };
+  bread = derive2 { name="bread"; version="0.1.7"; sha256="1ynf27ibj5ahnkk09xpk75wf43y3z4321kx31k0964y17pxf1ksk"; depends=[data_table dplyr stringr]; };
   breakDown = derive2 { name="breakDown"; version="0.2.1"; sha256="1jm9zmyfcnr9mjz7b30k34h47msvik9ngfysi6dc48gvrk41yk9q"; depends=[ggplot2]; };
   breakage = derive2 { name="breakage"; version="1.1-1"; sha256="0zjazyz92criiimpz4wyd4hd8ccspvh3hhqpd4qkfdzdf9wp3kns"; depends=[Imap]; };
   breakfast = derive2 { name="breakfast"; version="2.2"; sha256="1bdzi0czhjwiqid6xz1b10p9wqy051sy5jhxnwzh9bxzh94a79lk"; depends=[ggplot2 plyr Rcpp]; };
   breakpoint = derive2 { name="breakpoint"; version="1.2"; sha256="004vi1qr7iib8ykg6sp7xzv0bb841h4vsz2x0cyrhkdp41frglx9"; depends=[doParallel foreach ggplot2 MASS msm]; };
   breathtestcore = derive2 { name="breathtestcore"; version="0.8.1"; sha256="1cdv3qc5bydpchw2qz8wgqsc1hjn0q97bsk05gm8s0xfxmkfn3jb"; depends=[assertthat broom dplyr ggfittext ggplot2 MASS multcomp nlme purrr readr readxl signal stringr tibble tidyr xml2]; };
   breathteststan = derive2 { name="breathteststan"; version="0.8.0"; sha256="1h05yqpsa1r6p0iybwh7rap0n10vr2wj2driq7qyq6wk6y14m8hc"; depends=[BH dplyr purrr Rcpp RcppEigen rstan rstantools StanHeaders stringr tibble tidyr]; };
-  brew = derive2 { name="brew"; version="1.0-6"; sha256="1vghazbcha8gvkwwcdagjvzx6yl8zm7kgr0i9wxr4jng06d1l3fp"; depends=[]; };
+  brew = derive2 { name="brew"; version="1.0-7"; sha256="0vp7d628j6zzxhh6xfw5jlkv7wh6z2l3snbwjgv7jd56vk0mkf1q"; depends=[]; };
   brglm = derive2 { name="brglm"; version="0.7.2"; sha256="08shcz0j1npdn7xkhsvlzs3z4rdwq3g4rk6a4xx8wirqw8n8s2an"; depends=[profileModel]; };
   brglm2 = derive2 { name="brglm2"; version="0.8.2"; sha256="065ldmbagarhipl6hl25rlpcnp7c3h1adadyq2wgx0g09hq5ibjf"; depends=[enrichwith MASS Matrix nnet numDeriv]; };
   briKmeans = derive2 { name="briKmeans"; version="0.1"; sha256="026wga5lqr8i6zxi8jnw466d40r9qf1blb7l331h9vaj2j169iax"; depends=[boot cluster depthTools]; };
@@ -6746,15 +6807,15 @@ in with self; {
   brokenstick = derive2 { name="brokenstick"; version="2.0.0"; sha256="0si4chi6fcp6n8wwvx6mrj9xlrldwhvcrx1kv7xbfd0p7kaz89qh"; depends=[coda dplyr lme4 matrixsampling rlang tidyr]; };
   brolgar = derive2 { name="brolgar"; version="0.1.2"; sha256="0xhv76z75zsrvcy606cv8qvz14w5g02gcs2744kv1kflaaics7dx"; depends=[dplyr fabletools ggplot2 glue magrittr purrr rlang tibble tidyr tsibble vctrs]; };
   broman = derive2 { name="broman"; version="0.76"; sha256="1yjalfrfy1hvrcs3ky452mdg2ss8ikascj9yngp5fnfrrljcg9wg"; depends=[ggplot2]; };
-  broom = derive2 { name="broom"; version="0.7.11"; sha256="069fp8lscw59nmsm658w0164cpgfa36xx09s9j7jxisscg99jfcy"; depends=[backports dplyr ellipsis generics ggplot2 glue purrr rlang stringr tibble tidyr]; };
-  broom_helpers = derive2 { name="broom.helpers"; version="1.5.0"; sha256="0s0hs41z4jqz7kwxc168l2vnlacaa6s8q5mfmkmcvf3cdqqi3hyq"; depends=[broom cli dplyr labelled lifecycle purrr rlang stringr tibble tidyr]; };
+  broom = derive2 { name="broom"; version="0.7.12"; sha256="1nbv4a4s8548h2q226xmhyp42higayh95yvllh1rcs264lmw3yh4"; depends=[backports dplyr ellipsis generics ggplot2 glue purrr rlang stringr tibble tidyr]; };
+  broom_helpers = derive2 { name="broom.helpers"; version="1.6.0"; sha256="11svlfn80xl8vyrq8vqxrqii5c77kp67drnal9v9l7q1frlnq509"; depends=[broom cli dplyr labelled lifecycle purrr rlang stringr tibble tidyr]; };
   broom_mixed = derive2 { name="broom.mixed"; version="0.2.7"; sha256="1fh1vxi8n5y30mayk4aa1yis4c064fz5xyrg8m0rl8xgaxakhagz"; depends=[broom coda dplyr nlme purrr stringr tibble tidyr]; };
   broomExtra = derive2 { name="broomExtra"; version="4.3.0"; sha256="1f2xsq0r0m991y3p6639v16kjwm3im8yys7brzvgmsv04rg29rhq"; depends=[broom broom_mixed dplyr magrittr parameters performance rlang]; };
   brotli = derive2 { name="brotli"; version="1.2"; sha256="07rgdgxh9bvn0qavpclxmkglwyl6ndqasxcs6j12if698dkn976b"; depends=[]; };
   brr = derive2 { name="brr"; version="1.0.0"; sha256="050ivnqcaxiyypd1sxfpy6ianhzzmvs6c77ga40g3440cvfigkgw"; depends=[gsl hypergeo pander stringr SuppDists TeachingDemos]; };
   brranching = derive2 { name="brranching"; version="0.7.0"; sha256="06jy3qhbr0v4m1j4j8a7fb7ic59sx4zhlsm1yb3g6rdwc00d67wj"; depends=[ape conditionz crul curl phylocomr phytools taxize]; };
-  bruceR = derive2 { name="bruceR"; version="0.8.2"; sha256="1g1k4kdbddv7pacba8jwbz1rsgii586sjyyywphd8355ziyfpj0c"; depends=[cowplot crayon data_table dplyr effectsize emmeans forcats ggplot2 ggtext glue interactions lavaan lmerTest mediation performance psych see stringr tidyr]; };
-  brulee = derive2 { name="brulee"; version="0.0.1"; sha256="131hfcascn1ybfhn2akczfv2dl1m9lh7ybzcrpqm9aiib9fs9j1h"; depends=[cli coro dplyr generics ggplot2 glue hardhat rlang tibble torch]; };
+  bruceR = derive2 { name="bruceR"; version="0.8.3"; sha256="0q7amdl5imb9mm6fpa0ckjl0jxjwrvy7cc2fwv1jiv7197l7n2bf"; depends=[cowplot crayon data_table dplyr effectsize emmeans forcats ggplot2 ggtext glue interactions lavaan lmerTest mediation performance psych see stringr tidyr]; };
+  brulee = derive2 { name="brulee"; version="0.1.0"; sha256="18qglyb3s45rzdp2qxc582v9rpilgqf55cs3r7zyj423ik99sgf4"; depends=[cli coro dplyr generics ggplot2 glue hardhat rlang tibble torch]; };
   brunnermunzel = derive2 { name="brunnermunzel"; version="1.4.1"; sha256="1lba5cpiray65zg1pv3xv6yl1xg78rqlwxkcmhgizlh1rhpd430p"; depends=[]; };
   brxx = derive2 { name="brxx"; version="0.1.2"; sha256="08qlfnf84k3yjcvr1wm6gd96mk26xf2gz59ychb3m981228hbbs6"; depends=[blavaan blme GPArotation MASS MCMCpack rstan TeachingDemos]; };
   bs4Dash = derive2 { name="bs4Dash"; version="2.0.3"; sha256="17vpng0s0sr3bnaqq3d545s72zd5a7isdbvzh01148lzq0va710g"; depends=[bslib fresh htmltools httpuv httr jsonlite lifecycle shiny waiter]; };
@@ -6785,6 +6846,7 @@ in with self; {
   buildmer = derive2 { name="buildmer"; version="2.3"; sha256="1marbhayiv00wrhjp2cnsg3p7zkzd6f82x13m7xdlx71zbvc4rfh"; depends=[lme4 mgcv nlme plyr]; };
   buildr = derive2 { name="buildr"; version="0.1.0"; sha256="125s41d2ahww7ngli2mgl5999syjm5q5mxskv6jjrnfv7l6vhm3k"; depends=[glue magrittr readr rstudioapi stringr tibble usethis]; };
   bujar = derive2 { name="bujar"; version="0.2-9"; sha256="1hx9yrry1v3vl14y1wpfp1l3cymyqhnff86sv6b112b9cfjpwmvq"; depends=[bst earth elasticnet gbm mboost mda modeltools mpath rms survival]; };
+  bulkAnalyseR = derive2 { name="bulkAnalyseR"; version="0.1.1"; sha256="18jzx4kv7sbyg834qqsm25k9s5kccljrnp4z9iy43f9kv0afan4i"; depends=[circlize ComplexHeatmap DESeq2 dplyr DT edgeR GENIE3 ggforce ggnewscale ggplot2 ggrastr ggrepel glue gprofiler2 magrittr matrixStats noisyr preprocessCore RColorBrewer rlang scales shiny shinyjqui shinyjs shinythemes shinyWidgets tibble tidyr visNetwork]; };
   bulletcp = derive2 { name="bulletcp"; version="1.0.0"; sha256="1k7lw8gflih47ncz8hgsj0sxbajnkhz1k7yb7rwbdnzcki3n3jln"; depends=[assertthat dplyr mvtnorm Rdpack]; };
   bulletr = derive2 { name="bulletr"; version="0.1"; sha256="181rnrp62almf08gr41qnrnq8qnbqraqdvj4zixdh8fachsq2imp"; depends=[dplyr ggplot2 plotly plyr reshape2 robustbase smoother xml2 zoo]; };
   bullwhipgame = derive2 { name="bullwhipgame"; version="0.1.0"; sha256="03nwf2v4zhgkxvkghpkbkxz0cnkqcwwl51ykrk25qciakfqkgfws"; depends=[shiny]; };
@@ -6800,7 +6862,7 @@ in with self; {
   busdater = derive2 { name="busdater"; version="0.2.0"; sha256="0hib73zay9r7rv49zv1lx0l15jzjyli9f1vrk414l8apggvx4c6s"; depends=[lubridate]; };
   butcher = derive2 { name="butcher"; version="0.1.5"; sha256="1yzp4zz2r9xwv2cxywwx2xmh9asnw0lyj15fix4h1ypadbxz68pd"; depends=[fs lobstr purrr rlang tibble usethis]; };
   bvarsv = derive2 { name="bvarsv"; version="1.1"; sha256="1bv4fbbi8bn7sqqpjlf8w5jpgydjr15wv5v9940wc42yk792yjrx"; depends=[Rcpp RcppArmadillo]; };
-  bvartools = derive2 { name="bvartools"; version="0.2.0"; sha256="0s5i902f35zkdm12zl3dmf896hv1bll0rnxl58679bam9q50dqk5"; depends=[coda Rcpp RcppArmadillo]; };
+  bvartools = derive2 { name="bvartools"; version="0.2.1"; sha256="18spmp2w6gzh3pyfa3x609jp7f3asmkba74kpmb5sqgjvrhxybxa"; depends=[coda Rcpp RcppArmadillo]; };
   bvenn = derive2 { name="bvenn"; version="0.1"; sha256="1xrya49w5bd2b7plfxpqla60b2828rkm0rjmc4qnqzvrahsbal0y"; depends=[]; };
   bvls = derive2 { name="bvls"; version="1.4"; sha256="18aaf7kk5mks3a59wwqhm1ckpn6s704l9m5nzy0x5iw0s98ijbm2"; depends=[]; };
   bvpSolve = derive2 { name="bvpSolve"; version="1.4.3"; sha256="07a41nppzan812jbyj06nxdqnpw01v7snmdp5xwlm4wjw1v8z8aw"; depends=[deSolve rootSolve]; };
@@ -6841,7 +6903,7 @@ in with self; {
   calACS = derive2 { name="calACS"; version="2.2.2"; sha256="0a53k2rzyjksb0ypr5zrask4a6mgiyrqx0l2z3lm218y8pk2jf1w"; depends=[]; };
   calcUnique = derive2 { name="calcUnique"; version="0.1.2"; sha256="012mjayj90m5gsd8mhm2ic00pa0bnrjiidq9mv4vxj8slwp641rz"; depends=[]; };
   calcWOI = derive2 { name="calcWOI"; version="1.0.3"; sha256="1bxsn9b99hnb365qvlzr0ymwavamlyhs5sm9s2fdjh4zv3f32n3l"; depends=[dualtrees LS2W wavethresh]; };
-  calculus = derive2 { name="calculus"; version="0.3.2"; sha256="1x3bcdd422wqv9gk9r2m8g19qcga220sm5rxdp4bgfc6vlqzzz7y"; depends=[Rcpp]; };
+  calculus = derive2 { name="calculus"; version="0.3.3"; sha256="1fhvr0l2mqik3d95v0vanafxmiab147g5a87q956g2i945wc5f22"; depends=[Rcpp]; };
   calendR = derive2 { name="calendR"; version="1.1"; sha256="1gji7ns35swdgg7bzq3vrzi4hnb98c5iw6r1j0k7nn2fdx7kbffp"; depends=[dplyr forcats gggibbous ggimage ggplot2 suncalc]; };
   calendar = derive2 { name="calendar"; version="0.0.1"; sha256="18ha6vpx2bpk8p08hajiq2d201fbqhzcycp8ks6wrr06fy04z689"; depends=[lubridate tibble]; };
   calibrar = derive2 { name="calibrar"; version="0.2.0"; sha256="1544bc5rhhc6d1mky7ngza00wwh63q07dkbzlwfgyavly8m9cplb"; depends=[cmaes foreach optimx]; };
@@ -6854,12 +6916,14 @@ in with self; {
   campfin = derive2 { name="campfin"; version="1.0.8"; sha256="06shr4p4g3cwxs1iszpvpk83k2mss6za68fqkv5pjiz44pc89v80"; depends=[dplyr fs ggplot2 glue httr lubridate magrittr purrr readr rlang scales stringdist stringr tibble]; };
   camsRad = derive2 { name="camsRad"; version="0.3.0"; sha256="06gar6qan1ka01ngjvbpcv649yvfga697mplwn1x6qnfr4ngb7cs"; depends=[httr xml2]; };
   camtrapR = derive2 { name="camtrapR"; version="2.0.3"; sha256="13zg8kx28il7rbyr2p3c1xdxx84b7shpcmgavzjqzh6wjm5bh5mh"; depends=[data_table overlap secr sp]; };
+  canadacovid = derive2 { name="canadacovid"; version="0.3.3"; sha256="1xgabz1klq4rgbs1wdffgyyq35kcs9giwc55g76kd7psnf2giclk"; depends=[dplyr httr jsonlite lubridate magrittr purrr rlang stringr tibble tidyr tidyselect]; };
   canadamaps = derive2 { name="canadamaps"; version="0.1"; sha256="1i3yjhr5p06k6id3gws5dzdhf4jy143brbfhi2z4srq67xlz5agl"; depends=[dplyr magrittr rlang rmapshaper sf]; };
+  canadianmaps = derive2 { name="canadianmaps"; version="1.0.0"; sha256="1r45d65w8yfgwj8xf6lhsw0fi1b8j8gyayxrcs7wy56kacjjvym8"; depends=[dplyr ggplot2 ggrepel RColorBrewer rgdal sp]; };
   cancensus = derive2 { name="cancensus"; version="0.4.8"; sha256="0j4q00av0wssd0nwhgkdsyrcvicc4lial66ibfh5pyzih5i0dhpg"; depends=[digest dplyr httr jsonlite rlang]; };
   cancerGI = derive2 { name="cancerGI"; version="1.0.0"; sha256="1chkcyf9m98gbn6b3vmb1baw7kii4g5vxvg2xfi7i6wwdn8sqr65"; depends=[igraph qvalue reshape2 survival systemfit]; };
   cancerTiming = derive2 { name="cancerTiming"; version="3.1.8"; sha256="1sfi8q2f5ag7iak0sf9pmqncb89w3gnxdiwjwpivkwhr28ais4mq"; depends=[gplots LearnBayes]; };
   candisc = derive2 { name="candisc"; version="0.8-6"; sha256="17bhh3jgaq5hrlwaapwpsgk7f8a3sg2cmrjd1hgfxxx0z30a6icn"; depends=[car heplots]; };
-  canprot = derive2 { name="canprot"; version="1.1.0"; sha256="0y6azzs603bf7rrz8hfql754xsdywl35846hj70f6sn1dj5wbzlk"; depends=[MASS rmarkdown xtable]; };
+  canprot = derive2 { name="canprot"; version="1.1.2"; sha256="1lwlgzy0gxp7jrak838awmqz3w0x7qd51bkyhydb1s61073w77x8"; depends=[CHNOSZ MASS rmarkdown xtable]; };
   cansim = derive2 { name="cansim"; version="0.3.10"; sha256="0cg6fjw7mbzhlbc83s0wv313hhvm2jc9phs6m97nigi5yy05faa2"; depends=[DBI digest dplyr httr jsonlite purrr readr rlang RSQLite rvest stringr tibble xml2]; };
   canvasXpress = derive2 { name="canvasXpress"; version="1.37.0-1"; sha256="1knq67j40vbrcdqbr1z3g5b5i5x62i07jy89sqx3045y3p66wsma"; depends=[htmltools htmlwidgets httr jsonlite]; };
   canvasXpress_data = derive2 { name="canvasXpress.data"; version="1.34.2"; sha256="10fdlb1yp5x9533jdammncfrrlxzpcz9as8i0209pwzjywvxby3s"; depends=[]; };
@@ -6875,7 +6939,7 @@ in with self; {
   capushe = derive2 { name="capushe"; version="1.1.1"; sha256="1aa76ir1kp67hiz7dr60azyc71yzslshyc640fjh0fpw0sp5kwbc"; depends=[MASS]; };
   capwire = derive2 { name="capwire"; version="1.1.4"; sha256="18a3dnbgr55yjdk6pd7agmb48lsiqjpd7fm64dr1si6rpgpl4i9c"; depends=[]; };
   car = derive2 { name="car"; version="3.0-12"; sha256="00kk8l71508f73kyn21is1mx6kjbrzdq3ls94c5ajhiqmvpsd6dq"; depends=[abind carData lme4 maptools MASS mgcv nlme nnet pbkrtest quantreg]; };
-  carData = derive2 { name="carData"; version="3.0-4"; sha256="09270j39n4jpswxqps20b12zaj8dz4rrqpk2l2j5bnf1xzizb9nd"; depends=[]; };
+  carData = derive2 { name="carData"; version="3.0-5"; sha256="06j52rpbqi6fj7chfjwjbwbr6slrbb7i3aygv66gnfiyndcp3rq2"; depends=[]; };
   carSurv = derive2 { name="carSurv"; version="1.0.0"; sha256="0wv7lp10i4sdfqyizg77ghblp3pcp7wzhs946sm0wl6w00krav9j"; depends=[corpcor fdrtool mboost Rcpp survival]; };
   caracas = derive2 { name="caracas"; version="1.1.1"; sha256="0s97if3sgsji9qah66ha328lvsjgpdyw6wvkgmfcy5r4974qfi71"; depends=[magrittr reticulate]; };
   carat = derive2 { name="carat"; version="2.0.2"; sha256="0f6r4x5skjq7vcmwfhnrzrf69ry360y7wqrr5gsys8l5nv6qbjii"; depends=[ggplot2 gridExtra Rcpp RcppArmadillo stringr]; };
@@ -6887,6 +6951,7 @@ in with self; {
   careless = derive2 { name="careless"; version="1.2.1"; sha256="1zlkzrc9fw926knj6w7flv4q0w29k4aichawvprk94rk1bnrvdz5"; depends=[psych]; };
   caret = derive2 { name="caret"; version="6.0-90"; sha256="1g36m06hp2fxxwv155bwbqlf97xhcia1lmg3axg6d74kgpns8lg8"; depends=[e1071 foreach ggplot2 lattice ModelMetrics nlme plyr pROC recipes reshape2 withr]; };
   caretEnsemble = derive2 { name="caretEnsemble"; version="2.0.1"; sha256="127gqd23xjis62irqviihzk80zydrdplwh65zcmd7ng29ih5wnby"; depends=[caret data_table digest ggplot2 gridExtra lattice pbapply plyr]; };
+  caretForecast = derive2 { name="caretForecast"; version="0.0.2"; sha256="1vnmwamgj5g7i2285krwi2m7p4jzvi7zk6bzqbj2jsblhbhdmf0i"; depends=[caret forecast magrittr]; };
   carfima = derive2 { name="carfima"; version="2.0.2"; sha256="1n68jqn42m54xn7jq8qywrpnvggrcsgvgnlqg6nw0pgiplbkynih"; depends=[DEoptim invgamma mvtnorm pracma truncnorm]; };
   cargo = derive2 { name="cargo"; version="0.1.38"; sha256="0a6pkfgs8nzn65a5nckaak7hjf30k68ghw1n82vh4gf3fjijqkiv"; depends=[]; };
   caribou = derive2 { name="caribou"; version="1.1"; sha256="0ibl3jhvsgjfcva0113z0di9n5n30bs90yz0scckfv1c0pjhn4xd"; depends=[]; };
@@ -6899,6 +6964,7 @@ in with self; {
   cartography = derive2 { name="cartography"; version="3.0.1"; sha256="1ginq160ag0sv5xfiqc5a5vizsqvl3maw61yskwhfnjb2lcgk2yg"; depends=[classInt curl png raster Rcpp rgeos sf slippymath sp]; };
   cartools = derive2 { name="cartools"; version="0.1.0"; sha256="0gc5502373f0c2m2rh6awvyfqrg1wx1f341dm2byk9znba887lgs"; depends=[animation devtools dplyr gapminder ggplot2 knitr rlist rmarkdown roxygen2 sde shiny tidyverse usethis]; };
   carx = derive2 { name="carx"; version="0.7.1"; sha256="1qyqsj6pfzzqyaj6076zvgcimhl4cll6sxfb6aigm02rwfkq5gvh"; depends=[matrixStats mvtnorm nlme tmvtnorm xts zoo]; };
+  casabourse = derive2 { name="casabourse"; version="0.2.0"; sha256="0qpbcdb6lyzhjcn8yz1z7a7zb51brz72ja32j7f9spsq7xcplkf5"; depends=[gsheet httr rvest]; };
   cascadess = derive2 { name="cascadess"; version="0.1.0"; sha256="105m5w8rb8bkzmlc5nwb4g0wl8jgvz63jxq665x4jfq0z78qiwgd"; depends=[crayon htmltools magrittr rlang]; };
   caschrono = derive2 { name="caschrono"; version="2.2"; sha256="0lbf7j6p5gzm4kk8sgzcmxwwzg59wp6g6l38m04609lpcsvxkd52"; depends=[Hmisc zoo]; };
   cascsim = derive2 { name="cascsim"; version="0.4"; sha256="0n6frnbby1pjpx1z9lzxflmja2mg0dy99c5f7biakpaqi82x5xjb"; depends=[copula fitdistrplus moments R2HTML scatterplot3d]; };
@@ -6907,10 +6973,10 @@ in with self; {
   casen = derive2 { name="casen"; version="0.1.4"; sha256="19f52vqrzqd8mmnaf39jmsm5mhydv74gpnb4rxr3n9w07ppb77c9"; depends=[dplyr glue haven janitor labelled magrittr purrr rlang srvyr survey tibble tidyr]; };
   casino = derive2 { name="casino"; version="0.1.0"; sha256="07fphn46718gr1zm0xr43mwv7yk697xrc40lxxin315cf3gm0cka"; depends=[crayon dplyr ggplot2 magrittr purrr R6 tibble tidyr]; };
   cassandRa = derive2 { name="cassandRa"; version="0.1.0"; sha256="0rwqzxbflxn1iyggm3mq6pkbl61mhk4vdwqwzlwrhrvvr2ib236r"; depends=[bipartite boot dplyr ggplot2 magrittr purrr reshape2 tidyr vegan]; };
-  castor = derive2 { name="castor"; version="1.7.0"; sha256="1l5kds6g0dbnwlyjlpmy9jzdm6x5xm4qmagfy505i0g7l8065wfl"; depends=[Matrix naturalsort nloptr Rcpp RSpectra]; };
+  castor = derive2 { name="castor"; version="1.7.2"; sha256="013mxk7r0p41l15slpjx5q3axhj3bd3cx1slpw1c11hlja6v3shn"; depends=[Matrix naturalsort Rcpp RSpectra]; };
   cat = derive2 { name="cat"; version="0.0-6.5"; sha256="1gv7chqp6kccipkrxjwhsa7yizizsmk4pj8672rgjmpfcc64pqfm"; depends=[]; };
   cat_dt = derive2 { name="cat.dt"; version="0.3.1"; sha256="0qr3azaxs339kfiiyzasc46xz4rb37prdwvdmv0c40cvba6zvapf"; depends=[ggplot2 Matrix Rglpk]; };
-  cat2cat = derive2 { name="cat2cat"; version="0.2.1"; sha256="0hjx14g97dsdbk2fzficbinl04n5gs2ccr2c813q6xda28al5bam"; depends=[assertthat caret data_table dplyr MASS progress randomForest rlang tidyr]; };
+  cat2cat = derive2 { name="cat2cat"; version="0.3.1"; sha256="1gh1vnyzgrfr8i2mkjnk8aaxal9ygbjvg28l76ilkrklzrpw1nqj"; depends=[assertthat dplyr MASS progress rlang tidyr]; };
   catIrt = derive2 { name="catIrt"; version="0.5-0"; sha256="09010z1q96nbnpys6mybspaqy57lvgd2cvwgnfijzgx3kl87pwnl"; depends=[numDeriv]; };
   catR = derive2 { name="catR"; version="3.16"; sha256="1w39dxfzqk065v64qzmfamx8p1njsv13a461s6clagbqmhysmzbx"; depends=[]; };
   catSplit = derive2 { name="catSplit"; version="0.1.0"; sha256="0nifbwczfs5g9xxlmqfwvcaxd940k5xmbdmamwlhvgif7myi6xr4"; depends=[caret data_table dplyr farff OpenML rpart stringr]; };
@@ -6935,7 +7001,7 @@ in with self; {
   catsim = derive2 { name="catsim"; version="0.2.3"; sha256="1gz38xrzbray5ciiimkzdass8bhmiqxh6bcngjm5i8dvafk5gf9g"; depends=[Rcpp testthat]; };
   catspec = derive2 { name="catspec"; version="0.97"; sha256="1crry0vg2ijahkq9msbkqknljx6vnx2m88bmy34p9vb170g9dbs1"; depends=[]; };
   cattonum = derive2 { name="cattonum"; version="0.0.5"; sha256="11h9nh2i2bmd0b562l5avhwpj9ppnfmzd9nsv94cymhwn5h6nmg6"; depends=[dplyr purrr Rcpp rlang tibble tidyselect]; };
-  causact = derive2 { name="causact"; version="0.4.0"; sha256="1mghawijsr0rpyy9pzvad11bf4qgfva7rb2pdkidm675a123sgc7"; depends=[coda cowplot DiagrammeR dplyr forcats ggplot2 greta htmlwidgets igraph magrittr purrr rlang rstudioapi stringr tidyr]; };
+  causact = derive2 { name="causact"; version="0.4.1"; sha256="1acg73qaldhccc0k5wc76m4hwgzwyhfsm7721bwk5wns1q5l72vs"; depends=[coda cowplot DiagrammeR dplyr forcats ggplot2 greta htmlwidgets igraph magrittr purrr rlang rstudioapi stringr tidyr]; };
   causal_decomp = derive2 { name="causal.decomp"; version="0.0.1"; sha256="08ccdzb5ssqhzkr3z3b8vz762mwflh33s6rrmsb9srvkk661lly2"; depends=[CBPS MASS nnet PSweight spelling SuppDists]; };
   causalCmprsk = derive2 { name="causalCmprsk"; version="1.0.3"; sha256="0s1jshh30jmkk2cx29dfhibmfzbpaqk7i0f8wayb204r73a58f8a"; depends=[data_table doParallel foreach inline purrr survival]; };
   causalPAF = derive2 { name="causalPAF"; version="1.2.4"; sha256="1ild77iiibzqbyxk3j20dydwmbrjf66r7qhd2ip2b3x9qbqq5wmh"; depends=[checkmate dagitty dplyr forestplot ggdag ggplot2 gridExtra magrittr MASS reshape2 rlist]; };
@@ -6967,7 +7033,7 @@ in with self; {
   ccdrAlgorithm = derive2 { name="ccdrAlgorithm"; version="0.0.5"; sha256="171k70p4qyasr385ma3cvcga2b4nbz2dfry78wqx5yb1aa6wwcyc"; depends=[Rcpp sparsebnUtils]; };
   cchs = derive2 { name="cchs"; version="0.4.2"; sha256="18zk50g7rw8cb09fczpcdgzjl1b06rgf6lwy99sg7nq4scnzgzm8"; depends=[survival]; };
   cchsflow = derive2 { name="cchsflow"; version="2.0.0"; sha256="1r8m072f6idmmirwgr71llcka6f254jzhcs53yx6fxzncp5l2g6n"; depends=[dplyr haven magrittr sjlabelled stringr]; };
-  ccid = derive2 { name="ccid"; version="1.1.0"; sha256="1c4nbbc99r3v075ymg174ivrrhdss7in1k5h773zp80aa1k1xalj"; depends=[gdata GeneNet hdbinseg IDetect]; };
+  ccid = derive2 { name="ccid"; version="1.2.0"; sha256="0cmkkllcny53dayl74wqhphjznwj7nw7hvaj1fn6mlp6338h3rp8"; depends=[gdata GeneNet hdbinseg IDetect]; };
   cclust = derive2 { name="cclust"; version="0.6-23"; sha256="00p4f558117p48jmkr2wh9smp58qkk4cx2gc19lm5krskm52nh71"; depends=[]; };
   ccmEstimator = derive2 { name="ccmEstimator"; version="1.0.0"; sha256="1z53i7d2x1g93zskcyj93hxjyrvc9sjqmq887zaflwf22ikxvm6p"; depends=[]; };
   ccmReportR = derive2 { name="ccmReportR"; version="0.1.0"; sha256="0jxxz26f0azp9xafqilvbbfhzn4ys8q4pf4c8bbnmwwbckmjajxm"; depends=[dplyr httr jsonlite keyring lubridate purrr rlang tibble]; };
@@ -6995,7 +7061,6 @@ in with self; {
   cds = derive2 { name="cds"; version="1.0.3"; sha256="1h34k96h7ajkaqsw4dlqri63hrbnshaqwrdl74wlgycdlbvrqj05"; depends=[clue colorspace copula limSolve MASS]; };
   ceRtainty = derive2 { name="ceRtainty"; version="1.0.0"; sha256="01wgvjpxqwhgh6vx9vbmiv4d88bps790l6ij3gw5w69hbrrd9ixi"; depends=[dplyr RColorBrewer tidyr]; };
   cec2013 = derive2 { name="cec2013"; version="0.1-5"; sha256="07i2vp1x3qaw5di5vr5z70d47hh9174pjckjlhgv0f2w97slwc1i"; depends=[]; };
-  cecs = derive2 { name="cecs"; version="0.2.3"; sha256="1x5p38yd8fjyghwzm5qvsfpa7vhy7yknrjwvp9viy6vdq0kfjcd6"; depends=[cec2013 stringr]; };
   ced = derive2 { name="ced"; version="1.0.1"; sha256="0xrf3y1cr4dylhh2xr1gggnwdwn7riz37g6yw55hyryg03hxkms6"; depends=[Rcpp]; };
   ceg = derive2 { name="ceg"; version="0.1.0"; sha256="01la7kv0a3inc9vy5x010ysicfiv404bqfgs8csvqixviap9rd74"; depends=[graph Rgraphviz]; };
   celestial = derive2 { name="celestial"; version="1.4.6"; sha256="1gls0qvr8mxz79lsmk76v253f747g0cqys8p8wjmpijs8r0pyr4z"; depends=[NISTunits pracma RANN]; };
@@ -7036,7 +7101,7 @@ in with self; {
   cfda = derive2 { name="cfda"; version="0.9.11"; sha256="0zlsrbn5yc3cvj8b3kgkc6ah6lqdqx1315cz1qac4m9yx9cybvlg"; depends=[diagram fda ggplot2 mgcv msm pbapply]; };
   cfdecomp = derive2 { name="cfdecomp"; version="0.4.0"; sha256="0g61gpihk5kbbrqzn15fqjv3bawsq1vq3sdssbzs5j96afmf2aq8"; depends=[]; };
   cffdrs = derive2 { name="cffdrs"; version="1.8.18"; sha256="15bl1sfm2yz897b5w0x0kvyf2z3rx32n436gsnsx5gd32v5v18w1"; depends=[data_table doParallel foreach geosphere raster rgdal]; };
-  cffr = derive2 { name="cffr"; version="0.2.0"; sha256="1wkixz388ix81kpprm7chl9dvi7c2rk6ajbc132crfm9ymfgpy1q"; depends=[crayon desc jsonlite jsonvalidate yaml]; };
+  cffr = derive2 { name="cffr"; version="0.2.1"; sha256="0xnql538s5q8vdky343knkld7b400z22mx7znib17an7jjd4wz6v"; depends=[crayon desc jsonlite jsonvalidate yaml]; };
   cfid = derive2 { name="cfid"; version="0.1.2"; sha256="0hy2vq3izj4938sgzmgpp4m9d49hpiqh9jd1wjf5g54x3v1yzy89"; depends=[]; };
   cfma = derive2 { name="cfma"; version="1.0"; sha256="006z5g3rqpg44jqdf6ivyxr47sxm5cd9cqhayfi8qk73xx5w4lv9"; depends=[]; };
   cfmortality = derive2 { name="cfmortality"; version="0.3.0"; sha256="0dgwv89fzylznc6jr41ixzfs1gfs3np4gf46bk6pcd09l1kbx3lc"; depends=[]; };
@@ -7079,7 +7144,7 @@ in with self; {
   checkarg = derive2 { name="checkarg"; version="0.1.0"; sha256="0rkdjs2c4yx9laqgayxz57bwxhwgdh6ndrr4i3b1kh31lcmk1xc6"; depends=[]; };
   checkdown = derive2 { name="checkdown"; version="0.0.7"; sha256="1bjij565vss2x8xbgq5qxx1d1snfw9wnphj0jhbm6vxxh2hg6g46"; depends=[knitr markdown]; };
   checkmate = derive2 { name="checkmate"; version="2.0.0"; sha256="193gkifr9spp0x0rwnjq1spdhjkfkh4mv27iklskcj604075phhd"; depends=[backports]; };
-  checkpoint = derive2 { name="checkpoint"; version="1.0.0"; sha256="19w5l1psjrhhx9n3sa258xvfgwp0jsdkjab757h2kjk36w4lcqfk"; depends=[jsonlite pkgdepends withr yaml]; };
+  checkpoint = derive2 { name="checkpoint"; version="1.0.2"; sha256="1987vn13b5j914vkzwbn7q1138b0xsjs55x5b2090kjk6kc900x8"; depends=[jsonlite pkgdepends withr yaml]; };
   checkr = derive2 { name="checkr"; version="0.5.0"; sha256="14hkpfbw5ibdwz2jygir2f2bb2qgrj62gn3449n4dif31nswaj2f"; depends=[err]; };
   cheddar = derive2 { name="cheddar"; version="0.1-636"; sha256="1lf39v0p583jgiyb02vx0rgbwzmmhgkfpwjib2fzh9ffbs8bfk66"; depends=[]; };
   cheese = derive2 { name="cheese"; version="0.1.1"; sha256="1r4n9li33am0bsyl57kzg1m9g4w0pzbw6garcdp3qk7lwqxy2y26"; depends=[dplyr forcats kableExtra knitr magrittr purrr rlang stringr tibble tidyr tidyselect]; };
@@ -7089,22 +7154,23 @@ in with self; {
   cherry = derive2 { name="cherry"; version="0.6-14"; sha256="03ipvd2ldzk7xsalkgcx0cyp9cp9b8qqjvz8nl0am412j3z9i5wg"; depends=[bitops hommel lpSolve]; };
   cherryblossom = derive2 { name="cherryblossom"; version="0.1.0"; sha256="1fn0xi65y0w1gmyrjlh8lb2is34r2dc5bym0ynrgjv8h595nzhwp"; depends=[]; };
   chess = derive2 { name="chess"; version="1.0.1"; sha256="0b0lz8r48bvksjnh385p1ni22hw1yvs6255pjbpj49ga9dwziin0"; depends=[cli magrittr purrr reticulate rsvg]; };
+  chessR = derive2 { name="chessR"; version="1.5.0"; sha256="0ikpr4xaysnjzclj1x9lq8fm7rak2z5y3wn9494dk6lgwmk3hrr6"; depends=[curl dplyr jsonlite lubridate magrittr purrr rlang rvest stringr tidyr xml2]; };
   chest = derive2 { name="chest"; version="0.3.5"; sha256="0jmihq8p6gxyxgmpdgwmnhl98s38pqzdzdqzqiy54zyqgd69plh8"; depends=[broom dplyr forestplot generics ggplot2 MASS speedglm survival tibble]; };
   chi = derive2 { name="chi"; version="0.1"; sha256="1y91mwahj4j2wz0y5k5vdpq7ygq834h8jkn37n74lqnwvv1968rr"; depends=[]; };
   chi2x3way = derive2 { name="chi2x3way"; version="1.1"; sha256="13qc8sigiw4gcxk8y50q7yfgzbssjyl41fizzjqzcp3p14kpsmzw"; depends=[]; };
   chicane = derive2 { name="chicane"; version="0.1.8"; sha256="0963r5jzyjihidh18ny9nqkim00bys3psdgrxhbah43bbl0kx43r"; depends=[bedr data_table doParallel foreach gamlss gamlss_tr iterators knitr MASS rmarkdown]; };
   chickn = derive2 { name="chickn"; version="1.2.3"; sha256="1d3xl2pigan6vb29nk2ks04dsl5vy16cv9z7miskmhcqcx2wm1qb"; depends=[bigstatsr doParallel doRNG foreach MASS mvnfast nloptr pracma Rcpp RcppArmadillo RcppParallel Rdpack rmio zipfR]; };
   childdevdata = derive2 { name="childdevdata"; version="1.1.0"; sha256="016x6xhqq1mfqlj9m5qv63k639xnqnrf5h6rdcyaa8sxn7nv34zm"; depends=[]; };
-  childesr = derive2 { name="childesr"; version="0.2.2"; sha256="1r4s6klwpdx1w17b611lqf6q9wpqknvqc6890jfav740dg8icl9z"; depends=[DBI dbplyr dplyr jsonlite magrittr purrr RMySQL]; };
+  childesr = derive2 { name="childesr"; version="0.2.3"; sha256="1a58s0zph4mfmh9sdfbv7yaa20lx5gi0mca0ikzarfwxjl5knp39"; depends=[DBI dbplyr dplyr jsonlite magrittr purrr RMySQL]; };
   childhoodmortality = derive2 { name="childhoodmortality"; version="0.3.0"; sha256="1ixd10jyzgr1ssnjas35kngpsqyjzl73wwpvcspv06cn12sv2b8d"; depends=[dplyr matrixStats plyr]; };
   childsds = derive2 { name="childsds"; version="0.7.6"; sha256="1h3p80byfma8zhivlq9jmdszm793chggnhb93qjnbl3vmnmnxgg7"; depends=[boot class dplyr gamlss gamlss_dist magrittr purrr purrrlyr reshape2 tibble tidyr VGAM]; };
   chilemapas = derive2 { name="chilemapas"; version="0.2"; sha256="0s2f5bhr7d64rlk4x7cv6zjrbnf5g86lgg026svgrdxvs1vqa4as"; depends=[dplyr magrittr rlang rmapshaper sf stringr]; };
-  chillR = derive2 { name="chillR"; version="0.72.6"; sha256="10ax14nlkfmamljrrm46b118f0l0b830mmys2n8dlbklgphqy479"; depends=[assertthat dplyr fields GenSA ggplot2 httr jsonlite Kendall metR patchwork pls plyr R_utils raster Rcpp RCurl readxl reshape2 rlang RMAWGEN scales sp stringr tidyr XML]; };
+  chillR = derive2 { name="chillR"; version="0.72.7"; sha256="0wjxvrinl2zshgq15pm2l4ibl3y7aihg767sn8awvcdywl0dfkxx"; depends=[assertthat dplyr fields GenSA ggplot2 httr jsonlite Kendall metR patchwork pls plyr R_utils raster Rcpp RCurl readxl reshape2 rlang RMAWGEN scales sp stringr tidyr XML]; };
   chinese_misc = derive2 { name="chinese.misc"; version="0.2.3"; sha256="0hlna52g00nh3908wgpb9ldgghff3gfjx24vmk5gikkazdqk9zrh"; depends=[jiebaR Matrix NLP purrr slam stringi tm]; };
   chipPCR = derive2 { name="chipPCR"; version="1.0-2"; sha256="0q30ncnvbipvqbpxrx2yb68i2ybdfl1fbzj3f12dd2wmjjl72q1x"; depends=[lmtest MASS outliers ptw quantreg Rfit robustbase shiny signal]; };
-  chirps = derive2 { name="chirps"; version="0.1.2"; sha256="0lvrlpsvncyyzli84ivzmknk0g5g3lhciwl35wmrgyxf08bs4bqb"; depends=[crul jsonlite sf]; };
+  chirps = derive2 { name="chirps"; version="0.1.4"; sha256="1yj91rvcsfsr2nmvk7qnxwfkbiblm4bdazs2p83g8ax4fwkrp39c"; depends=[httr jsonlite sf terra]; };
   chisq_posthoc_test = derive2 { name="chisq.posthoc.test"; version="0.1.2"; sha256="0lvj3jqhaj1ijjpzvpq3fn3a1y3fgv69pxh91j6k958pn6vmp40i"; depends=[]; };
-  chk = derive2 { name="chk"; version="0.7.0"; sha256="1fxsxgvd08lkb6amjgs4x48dhqr046mmjngjfgy2ya9cl2shd7ls"; depends=[lifecycle rlang]; };
+  chk = derive2 { name="chk"; version="0.8.0"; sha256="10gcv00mgi88vgxr9jrs0ar67crmdcdi4m9g86cm6pg3ly0v097y"; depends=[lifecycle rlang]; };
   chlorpromazineR = derive2 { name="chlorpromazineR"; version="0.2.0"; sha256="0w7v6xk3vyf9dyf9bh5v9516v78yhcdvy7h1140pg2yw8xmfyr0r"; depends=[]; };
   chngpt = derive2 { name="chngpt"; version="2021.5-12"; sha256="00g724b0w7dd95s2k9x10yi9xz2qfkxrpa98npbfq2w1pb8mgc57"; depends=[boot kyotil lme4 MASS RhpcBLASctl survival]; };
   choiceDes = derive2 { name="choiceDes"; version="0.9-3"; sha256="1nsc8p4svfc6z7ckffl24c0acnaxi6cnpz7jq03vzn6spxvpjcmw"; depends=[AlgDesign]; };
@@ -7116,7 +7182,7 @@ in with self; {
   choroplethrAdmin1 = derive2 { name="choroplethrAdmin1"; version="1.1.1"; sha256="13ljs21hdhiv6n4napmk1gjnjhpll6j5wyijzv4xnnbi1y3ns7a9"; depends=[ggplot2]; };
   choroplethrMaps = derive2 { name="choroplethrMaps"; version="1.0.1"; sha256="0ghqb2d1h0qkbcsll6ck2qk5sfvdwsrlh3phlbsjbak30832j7fr"; depends=[]; };
   chorrrds = derive2 { name="chorrrds"; version="0.1.9.5"; sha256="045m3hqfk63zlb44s07wflaawzn030fg0nqck4w852m52a0r1z5v"; depends=[dplyr forcats magrittr purrr rlang rvest stringr xml2]; };
-  christmas = derive2 { name="christmas"; version="1.1.0"; sha256="092fwc293mix7jw2i6d5xlymzq5smcza5xy35xs1f4fqyq0pw0ll"; depends=[animation]; };
+  christmas = derive2 { name="christmas"; version="1.1.1"; sha256="0lxz71vbfqngkn4mg0c74ainww3vbzn8f4s5kmnw5bsd2mmwism7"; depends=[animation]; };
   chromer = derive2 { name="chromer"; version="0.1"; sha256="0fzl2ahvzyylrh4247w9yjmwib42q96iyhdlldchj97sld66c817"; depends=[data_table dplyr httr]; };
   chromoMap = derive2 { name="chromoMap"; version="0.3.1"; sha256="06iy8rip99bsw5vadf6f7gpxarj4hs2japjq39zgzws8rrzvqccm"; depends=[htmltools htmlwidgets]; };
   chromseq = derive2 { name="chromseq"; version="0.1.3"; sha256="0m9dnm50iw176ffn6syd3538hxmjhkrxfzaf13210q100wk0lgz2"; depends=[]; };
@@ -7133,7 +7199,7 @@ in with self; {
   cicerone = derive2 { name="cicerone"; version="1.0.4"; sha256="1z3i720970kmczg01wxwbyqwd9zby69lchw3pgqwpn2bjr66jimh"; depends=[assertthat R6 shiny]; };
   cif = derive2 { name="cif"; version="0.0.9"; sha256="1rs44di1qjf6j89xg2x0a3s3lsnqxwnz0wcnys8xp68q198gipb6"; depends=[lubridate]; };
   cifti = derive2 { name="cifti"; version="0.4.5"; sha256="092334lcpkzv52bg53hzx64dnrwq67f3p9fzwchmafx1l46xrqx9"; depends=[gifti oro_nifti R_utils xml2]; };
-  ciftiTools = derive2 { name="ciftiTools"; version="0.7.0"; sha256="1i3wbbd20vaa4p0xqyxpz8ayacn88a9b7cfr4m6ckxmdbz2jwlsj"; depends=[fields gifti oro_nifti RColorBrewer rgl RNifti viridisLite xml2]; };
+  ciftiTools = derive2 { name="ciftiTools"; version="0.8.0"; sha256="0riladbcjgx4xgjxd1hbiaaghpgr5qn7lvgrpky4xhng8qycckp7"; depends=[fields gifti oro_nifti RColorBrewer rgl RNifti viridisLite xml2]; };
   cimir = derive2 { name="cimir"; version="0.4-1"; sha256="0r8fmvqcihxsj0w1g2xm02wwqcgrwadbl5n1dzksw8zpcjfw7fkn"; depends=[curl dplyr glue jsonlite purrr rlang stringr tidyr]; };
   cin = derive2 { name="cin"; version="0.1"; sha256="1pwvy5nh5nrnysfqrzllb9fcrpddqg02c7iw3w9fij2h8s2v6kq5"; depends=[]; };
   cinaR = derive2 { name="cinaR"; version="0.2.1"; sha256="0i0fkh5j494fy9zy0p67ashqsa7vw3jhf092sw3nfyvmb7k4spnj"; depends=[ChIPseeker DESeq2 dplyr edgeR fgsea GenomicRanges ggplot2 ggrepel limma pheatmap preprocessCore RColorBrewer sva TxDb_Hsapiens_UCSC_hg19_knownGene TxDb_Hsapiens_UCSC_hg38_knownGene TxDb_Mmusculus_UCSC_mm10_knownGene writexl]; };
@@ -7148,7 +7214,8 @@ in with self; {
   circularEV = derive2 { name="circularEV"; version="0.1.0"; sha256="03qr0sfiqpz0zvm9xihwi07snhxkj5h6bcsxhrsr89xyb70wqwg0"; depends=[circular doParallel foreach ggplot2 mgcv NPCirc]; };
   circumplex = derive2 { name="circumplex"; version="0.3.8"; sha256="1c6h06ccsql3yy3304b537wl40wd8f0sgj3gwi376irfz5zq227j"; depends=[assertthat boot dplyr ggforce ggplot2 htmlTable magrittr purrr Rcpp RcppArmadillo rlang tibble tidyr]; };
   cit = derive2 { name="cit"; version="2.3.1"; sha256="1i1179d0rjnmrlwh031dxmvwp2w6k1c9fj5g3cfmzjk4xxb2bjha"; depends=[]; };
-  citation = derive2 { name="citation"; version="0.4.1"; sha256="050dx029kz37rjmgcbik7rpa34bhhr81lrrsi17v50cy3nkr83x2"; depends=[desc jsonlite yaml]; };
+  citation = derive2 { name="citation"; version="0.6.2"; sha256="15j2rxjfyfzkl3hrbfk9qb5zn39qgk6lyy0qzfx1nv083gx3xllh"; depends=[desc jsonlite withr yaml]; };
+  citationchaser = derive2 { name="citationchaser"; version="0.0.4"; sha256="11ilh8fpqvljzriwwkzmw5idxff82spyv4b36lsl1s0lfbgjis69"; depends=[data_table dplyr httr jsonlite maditr MESS networkD3 scales tibble]; };
   citbcmst = derive2 { name="citbcmst"; version="1.0.4"; sha256="1zkd117h9nahwbg5z6byw2grg5n3l0kyvv2ifrkww7ar30a2yikl"; depends=[]; };
   citccmst = derive2 { name="citccmst"; version="1.0.2"; sha256="1b7awn1hjckxisfdi4ck697hwd4a5sqklwi7xzh6kgqhk9pv7vjn"; depends=[]; };
   citecorp = derive2 { name="citecorp"; version="0.3.0"; sha256="0lqxa6qfysrk3rpg9fnsxhrfsd0qsbfxhc3b43090fhlxq9gk3wm"; depends=[crul data_table fauxpas jsonlite]; };
@@ -7163,15 +7230,15 @@ in with self; {
   clValid = derive2 { name="clValid"; version="0.7"; sha256="18aiyjhnh5mfdxbzns4cy0r8bymfikhwkybpn4g04qhli5ls8z83"; depends=[class cluster]; };
   cladoRcpp = derive2 { name="cladoRcpp"; version="0.15.1"; sha256="0msay6yvm6wc964gwrz31ky5w4mizakji3j6rpkydz0zlrl52v1j"; depends=[Rcpp RcppArmadillo]; };
   clam = derive2 { name="clam"; version="2.4.0"; sha256="14czria38vk64pxj8jrw4yix33fgwidygqjslgyjj07xfmwsdf1v"; depends=[IntCal]; };
-  clampSeg = derive2 { name="clampSeg"; version="1.1-0"; sha256="1138wphhmf5hn5yh8p1fwix4lf2yncbc7xxcnnv2xz1z8b041qhs"; depends=[lowpassFilter stepR]; };
+  clampSeg = derive2 { name="clampSeg"; version="1.1-1"; sha256="1zrndnd8n7ssn2fm0l7y31a2la0nsybqsl4j44r0mmc1m0m94vks"; depends=[lowpassFilter stepR]; };
   clarifai = derive2 { name="clarifai"; version="0.4.2"; sha256="0igi4xl27nz0r85hpws2zfc2gn5z2nmywp3saxgp74mh2y99lg6s"; depends=[curl jsonlite]; };
   clarkeTest = derive2 { name="clarkeTest"; version="0.1.0"; sha256="0vbb3j9rnh42qyp78a4jykp7p560d0ryfp28xgvxax8h8hr80457"; depends=[]; };
-  class = derive2 { name="class"; version="7.3-19"; sha256="0dxyxk59fs90713qisanlvk4p0d3l8n8n7zdd4d5c290naaaw83q"; depends=[MASS]; };
+  class = derive2 { name="class"; version="7.3-20"; sha256="10slys2jny4k2j8l8k97hwrwd6ryzajfnzywqpq2yc9bqxmh8nz6"; depends=[MASS]; };
   classGraph = derive2 { name="classGraph"; version="0.7-5"; sha256="19jb9jr1gfg4karymrbilh0zjrlsczhy2q03x5b0jxnh4ykhxfj8"; depends=[graph Rgraphviz]; };
   classInt = derive2 { name="classInt"; version="0.4-3"; sha256="1b1lqhpzxm6b8pza8l3s0cxy74mm9y45lcd3354i2v3bg8m7mply"; depends=[class e1071 KernSmooth]; };
   classifierplots = derive2 { name="classifierplots"; version="1.4.0"; sha256="0agxm3vrbs8lqhk1xvfc3wzf0q0hxhgyp23j5qi5mi1drgnw1jj1"; depends=[caret data_table ggplot2 gridExtra png Rcpp ROCR]; };
   classifly = derive2 { name="classifly"; version="0.4"; sha256="0mw1vcas0gr1r4yvh0j02zhk7kp5342r0bhhg776hqgqdczgh5zj"; depends=[class plyr]; };
-  classmap = derive2 { name="classmap"; version="1.1.1"; sha256="0zr9yp21g8xyn1km9lrb9sydslkg86zpw06k65y7ly11liiv6gfc"; depends=[cellWise cluster e1071 ggplot2 gridExtra kernlab randomForest robustbase rpart]; };
+  classmap = derive2 { name="classmap"; version="1.2.0"; sha256="0f5b1hx1n72042kkzkl4n9vr2w7q1pc1ivl0n907k4a7jzi3q63k"; depends=[cellWise cluster e1071 ggplot2 gridExtra kernlab randomForest robustbase rpart]; };
   cld2 = derive2 { name="cld2"; version="1.2.1"; sha256="01p64r2ij1i0xm3835vfnpxmmbnnaigp0md9x1hrq8gfsdwnzv3x"; depends=[Rcpp]; };
   cld3 = derive2 { name="cld3"; version="1.4.2"; sha256="1f276kpg5ir1dmaacii55zb05d9r11995zv70lzrs4jn3q2h3qn6"; depends=[Rcpp]; };
   clda = derive2 { name="clda"; version="0.1"; sha256="03zfanvpz1h42h2z38a63fck1p5hqig4w2svknzpw7mryji5q9b1"; depends=[MASS]; };
@@ -7188,7 +7255,7 @@ in with self; {
   clespr = derive2 { name="clespr"; version="1.1.2"; sha256="1993kd70w48a110im47vcpll0c6nfrm7m33r6l8rzgwnpsmcls8g"; depends=[AER clordr doParallel foreach magic MASS pbivnorm survival]; };
   clevr = derive2 { name="clevr"; version="0.1.1"; sha256="077qhqfzcy1ciar70df7q98ms003b9mnqgji1nxkx5ncw9hdkzd4"; depends=[BH Matrix Rcpp]; };
   clhs = derive2 { name="clhs"; version="0.9.0"; sha256="04hd0p51j15294fv1a9qx61p5yfmh8hcx784v3x1s0kx7km34saz"; depends=[cluster ggplot2 plyr raster Rcpp RcppArmadillo reshape2 sf sp]; };
-  cli = derive2 { name="cli"; version="3.1.0"; sha256="04ff3bgsahi736s8l6a26zlwwil8jw4shx7bb56ah1pp1f1n22n7"; depends=[glue]; };
+  cli = derive2 { name="cli"; version="3.1.1"; sha256="1kslrx22djrs3wnf5xyligwy7h4hzsn5awl946x961fn980ydcy8"; depends=[glue]; };
   cliapp = derive2 { name="cliapp"; version="0.1.1"; sha256="0v62lbcsja0xmlpqcps370n5c7bk4j2n8pwh9xyif5s4wpf82qz1"; depends=[cli crayon fansi glue prettycode progress R6 selectr withr xml2]; };
   clickR = derive2 { name="clickR"; version="0.8.0"; sha256="0j8hl5cgdm4j4h3x3h7fp6w3xr8p350icvmf123z56f6fkj6c22z"; depends=[beeswarm stringdist]; };
   clickstream = derive2 { name="clickstream"; version="1.3.1"; sha256="0z1yy5lr9m5x9ybimjy3f6kn490abdi038xi0qw7ny80f1ca6ry7"; depends=[arules ClickClust data_table ggplot2 igraph linprog MASS plyr reshape2 Rsolnp]; };
@@ -7200,7 +7267,7 @@ in with self; {
   climate = derive2 { name="climate"; version="1.0.3"; sha256="0wdns4zndnc4k2f6k22imr85glld9lsg3l43cprn0r8vcnzlhn08"; depends=[curl data_table httr XML]; };
   climateStability = derive2 { name="climateStability"; version="0.1.3"; sha256="1zag722sznr22xid2v1k4a9sh3sr3grfa3wwd2m943zpvyi1sk9a"; depends=[raster]; };
   climatol = derive2 { name="climatol"; version="3.1.2"; sha256="0p3nk4n7izj0cmmqd9apa1gix5lfdzp08ydy0n7rkl5kbkmrkb6n"; depends=[mapdata maps]; };
-  climatrends = derive2 { name="climatrends"; version="0.1.7"; sha256="0dj095jafl571hvf2bp21mdbp2pln0li9bgpymzjbpnbkvn8309j"; depends=[]; };
+  climatrends = derive2 { name="climatrends"; version="0.1.13"; sha256="1zpdh2fpgw3smksnagckhkayy6ccj8gixsdg51isk18gc8gqh7aw"; depends=[]; };
   climdex_pcic = derive2 { name="climdex.pcic"; version="1.1-11"; sha256="01ax0kas43g3h21ixzc80f9gl4m9846gmk8v48rr0gkhcmbcc6jx"; depends=[PCICt Rcpp]; };
   clime = derive2 { name="clime"; version="0.4.1"; sha256="0qs9i7cprxddg1cmxhnmcfhl7v7g1r519ff2zfipxbs59m5xk9sf"; depends=[lpSolve]; };
   climextRemes = derive2 { name="climextRemes"; version="0.2.2"; sha256="04ra2xqkf9zg7hbmb5ycfql9nwkabxy8412d05ajshld4cr0gi45"; depends=[boot extRemes]; };
@@ -7214,7 +7281,7 @@ in with self; {
   clinmon = derive2 { name="clinmon"; version="0.6.0"; sha256="0cd5mrirfll0zbm9k8glwdqnh4qy4dlfnsypr3xhyf6ppgm35hlv"; depends=[signal]; };
   clinsig = derive2 { name="clinsig"; version="1.2"; sha256="1wgfl9kks57yizrf8z6x7dhmbl3a80q8nnj3a5n2hpc9yr8l9ijf"; depends=[]; };
   clinspacy = derive2 { name="clinspacy"; version="1.0.2"; sha256="134nvkircy1a1rmsg2nszk2r8bcdmikmrx6plchdz8gxyjd6jmya"; depends=[assertthat data_table magrittr rappdirs reticulate]; };
-  clintools = derive2 { name="clintools"; version="0.8.5"; sha256="0prrzs18sscna37nv5kxwczdy9jk9xxib1myi1fnxvincrhczmrj"; depends=[signal xml2]; };
+  clintools = derive2 { name="clintools"; version="0.9.2"; sha256="1jz5mp5yvd4sc7i8z5y7chxz7gnvpcl5961g8jk01580knpnsz7b"; depends=[lme4 signal xml2]; };
   clipp = derive2 { name="clipp"; version="1.1.0"; sha256="1mh3rhkjm13yp1890d7zy2qn50nv177z74kr4pgnp5i7vlr8zqr6"; depends=[]; };
   clipr = derive2 { name="clipr"; version="0.7.1"; sha256="1ywa4kipwc2d7na6iiz3wzdah99h6aynnh74yxl3nzl40xxlgbgz"; depends=[]; };
   clisymbols = derive2 { name="clisymbols"; version="1.2.0"; sha256="1q7gi2zmykhzas9v8fdnbpdq7pzdcpbhim1yxvd2062l777g4j86"; depends=[]; };
@@ -7227,14 +7294,14 @@ in with self; {
   cloudUtil = derive2 { name="cloudUtil"; version="0.1.12"; sha256="18g946j00anlk20d0fh01w0xyj1kwyy7jhlgz5a85wmp6s2gkz74"; depends=[]; };
   cloudml = derive2 { name="cloudml"; version="0.6.1"; sha256="1j15q9yb2rc4fbjxfh21fiq6is8dnb8nfyi7g8iazgfwb3p9ahpx"; depends=[config jsonlite packrat processx rprojroot rstudioapi tfruns withr yaml]; };
   cloudos = derive2 { name="cloudos"; version="0.2.0"; sha256="0n0ldg81k6i0wqnzzimkr7pyi2q705g9hia4ckf1cp2sskgrfvj0"; depends=[dplyr ggplot2 httr jsonlite rappdirs tibble]; };
-  cloudstoR = derive2 { name="cloudstoR"; version="0.1.0"; sha256="0bcdm3qp1bcgb7wksvjisd7m629cqbdvf8779gmlqi3w5daw4lpq"; depends=[cli curl getPass httr keyring rio XML]; };
+  cloudstoR = derive2 { name="cloudstoR"; version="0.2.0"; sha256="0x9pl9x5sjs5vwcz5i1r5ymyv3rlv9adjc5y9kvxljdxgvnv6i08"; depends=[cli curl getPass httr keyring rio XML]; };
   clr = derive2 { name="clr"; version="0.1.2"; sha256="088ks9lrhlyvg3yvlfmb0091yp6qp5bzg9h5r6ryv3bk6y56sajx"; depends=[dplyr lubridate magrittr]; };
   clttools = derive2 { name="clttools"; version="1.3"; sha256="0va9k1b4xsb2sgpxzvid6sa8m6b8i3r4kgghclmb78nnrs480cwi"; depends=[]; };
-  clubSandwich = derive2 { name="clubSandwich"; version="0.5.3"; sha256="0jazgka18bb5n58d5sn94q7rc9sac82qrpl2i5b4rkx9q2pb39cn"; depends=[sandwich]; };
+  clubSandwich = derive2 { name="clubSandwich"; version="0.5.5"; sha256="1ifnc2rg5agf7lpilmm27iq0af7ghfhkvwykajhvykgf6h4clvhf"; depends=[sandwich]; };
   clue = derive2 { name="clue"; version="0.3-60"; sha256="0apgpdnn74mqg2bnr8yjyxgyvdl411h0r2b1r2xd67k21pyxs8bd"; depends=[cluster]; };
   clusTransition = derive2 { name="clusTransition"; version="1.0"; sha256="0q5cxkb5mrygyp2zg177rwn5cgpnyqln7yjvjflb48ll3jr98342"; depends=[flexclust]; };
   cluscov = derive2 { name="cluscov"; version="1.1.0"; sha256="0345v5r6b53243h5bir29v0w77pmwjqjkqfrjnk5j5r1wbh98q1w"; depends=[MASS quantreg]; };
-  clusrank = derive2 { name="clusrank"; version="1.0-1"; sha256="05zapv3rsil98rw59yakyszladifd7snknaz9k6g501jkpi79qcf"; depends=[MASS Rcpp]; };
+  clusrank = derive2 { name="clusrank"; version="1.0-2"; sha256="1kpcdq0mnanfnbsbpbcv96ijgf2gv3n6i69jihmw8id7mjqjh2a9"; depends=[MASS Rcpp]; };
   clust_bin_pair = derive2 { name="clust.bin.pair"; version="0.1.2"; sha256="11lqd3vmx4kg08n6iv9na8rra49dkldx4f8jyf43hppbjrbvfinm"; depends=[]; };
   clustDRM = derive2 { name="clustDRM"; version="0.1-0"; sha256="1c5z08a15scp3nrwyh0c03pdaawvm3ivbygqpbglwxim7zf73rd2"; depends=[caret doParallel DoseFinding DT foreach IsoGene MCPMod multcomp ORCME ORIClust pheatmap RColorBrewer readr shiny]; };
   clustEff = derive2 { name="clustEff"; version="0.2.0"; sha256="0kh3jzzqnchkgp0w1pz2sjxr215lyjh62v5857g94h91h5kn70y6"; depends=[cluster fda ggplot2 ggpubr qrcm]; };
@@ -7255,10 +7322,10 @@ in with self; {
   clusterhap = derive2 { name="clusterhap"; version="0.1"; sha256="1ic6588mqp146jsvrxlxk449zw4n81xixgrny9r29497z7hg5a1m"; depends=[]; };
   clustering_sc_dp = derive2 { name="clustering.sc.dp"; version="1.0"; sha256="0cppka7613cbjjf1q2yp6fln511wbqdhh8d4gs6p0fbq379kzmvc"; depends=[]; };
   clustermole = derive2 { name="clustermole"; version="1.1.0"; sha256="15v3fspp82z7vh5f1ym89mrmajl8b7qymwr1fqa6kfi982dzhrar"; depends=[dplyr GSEABase GSVA magrittr rlang singscore tibble tidyr]; };
-  clustermq = derive2 { name="clustermq"; version="0.8.95.2"; sha256="1p5jy4mq70wh8rrkppshjy9pksw06k9l2d65c6sj1ykhvqiwcpcc"; depends=[narray progress purrr R6 Rcpp]; };
+  clustermq = derive2 { name="clustermq"; version="0.8.95.3"; sha256="1h6s31ni8q5x062sgp7mhm1aw099nsj21diw00mr3m76yizsram7"; depends=[narray progress purrr R6 Rcpp]; };
   clusternomics = derive2 { name="clusternomics"; version="0.1.1"; sha256="05nkw6h2dvky07fj50myzw5xlkqyiflbn4vwqw8a1q2idv4awi7b"; depends=[magrittr MASS plyr]; };
-  clustertend = derive2 { name="clustertend"; version="1.5"; sha256="194acf2pd71jxyyjj7ri9mpnx094zziwmq6w9lfclifrnkqv6ra9"; depends=[]; };
-  clustra = derive2 { name="clustra"; version="0.1.5"; sha256="1aw1jw8lq8qpsfgzkpjp00xhmk7rl99yc43jvjc8c5sp5bibcll0"; depends=[data_table mgcv MixSim]; };
+  clustertend = derive2 { name="clustertend"; version="1.6"; sha256="1gkd414rxi9wq2c88j4dby9z38jk1r3w9s1rg3bs772c3hwkyn24"; depends=[]; };
+  clustra = derive2 { name="clustra"; version="0.1.6"; sha256="06cv9fwrkykmdyw4qx85kww7hwa3nk5hpjrsrhzyj9ws623ind3a"; depends=[data_table mgcv MixSim]; };
   clustrd = derive2 { name="clustrd"; version="1.3.9"; sha256="0w644h2sr0nwx3qh15qbmbrnfzmf3rzv9ka7nfskq2si4yrj25z4"; depends=[ca cluster corpcor dplyr fpc GGally ggplot2 ggrepel plyr rARPACK tibble]; };
   clustree = derive2 { name="clustree"; version="0.4.4"; sha256="0vwmicajl7c0rmjdmf4f857fii0xrxz25vjkn888svlsikw00qbs"; depends=[checkmate dplyr ggplot2 ggraph ggrepel igraph rlang tidygraph viridis]; };
   clustringr = derive2 { name="clustringr"; version="1.0"; sha256="07f0ywpkf8igic7ijvvrjlngq3smjcv9nqnah41fp6wfgvh49ifq"; depends=[assertthat dplyr forcats ggplot2 ggraph igraph magrittr rlang stringdist stringi stringr tidygraph]; };
@@ -7273,35 +7340,35 @@ in with self; {
   cmce = derive2 { name="cmce"; version="0.1.0"; sha256="0d52ci906zbd4q43qylcyw93acxh7f20jn3r0k74ynyy47131dnd"; depends=[]; };
   cmdfun = derive2 { name="cmdfun"; version="1.0.2"; sha256="1pbcq7hi2lcmqnghmy3q2fsk0c9fy5m0637acyzmc096fxbx723j"; depends=[magrittr purrr R_utils rlang testthat usethis]; };
   cmenet = derive2 { name="cmenet"; version="0.1.1"; sha256="0f7bci6nn63q243i7wvhr9mqlf64gw8w042nc1lqb986p7zfxihk"; depends=[glmnet hierNet MASS Rcpp RcppArmadillo sparsenet]; };
-  cmfrec = derive2 { name="cmfrec"; version="3.3.0"; sha256="01wiv1mx89sb465vc9wbh4f856al860y4v27c62bcbs11jfvz43q"; depends=[]; };
+  cmfrec = derive2 { name="cmfrec"; version="3.3.1"; sha256="1rqma93wwmhn7zq8y48a46y74hx73xzc2x43nxn3qm1yk2wxifm3"; depends=[]; };
   cml = derive2 { name="cml"; version="0.0.1"; sha256="18zzb1vldgn61jlds7p79wr13jl13q9icfiraj33kwdmx3q6yh2c"; depends=[MASS vegan]; };
   cmm = derive2 { name="cmm"; version="0.12"; sha256="0q6hs56hhi9vaanx7i7gg7ncv0h29lndla66g9chzmh3lchq3r20"; depends=[]; };
   cmmr = derive2 { name="cmmr"; version="0.1.2"; sha256="0nik1pzd1rckalvn7xh6s699kkdjnra3q3bn5x16c1lmpz5bp2s4"; depends=[httr progress RJSONIO]; };
   cmna = derive2 { name="cmna"; version="1.0.5"; sha256="161qc7q88ajm3l62bq03lpf35bdii1w1d111085zvs3hrf09iybw"; depends=[]; };
   cmocean = derive2 { name="cmocean"; version="0.3-1"; sha256="0y6yd3x2swx88r7kv6f9lrbf3zzawhf2x8izszgg4zb21pkal6k8"; depends=[]; };
-  cmprsk = derive2 { name="cmprsk"; version="2.2-10"; sha256="1xnx2zanw548prxsw2zw5cddkkg6kj97jgyzw67achq5mnsvfbg8"; depends=[survival]; };
+  cmprsk = derive2 { name="cmprsk"; version="2.2-11"; sha256="050f24l5ab1ds9824c7yjahimf6pg8ih2k83jzpzfb0n5k5jfh44"; depends=[survival]; };
   cmprskQR = derive2 { name="cmprskQR"; version="0.9.2"; sha256="1b3di5fsgglriv00fxydpc4p8lh0xcgi6jc04awq2vmp6s8kvjmw"; depends=[quantreg survival]; };
   cmprskcoxmsm = derive2 { name="cmprskcoxmsm"; version="0.2.1"; sha256="1q17nzvqv0c8p2fs34fqszllp6g7kdbsmw4frlxpbjr3gwgd8rlk"; depends=[ggplot2 sandwich survival twang]; };
   cmpsR = derive2 { name="cmpsR"; version="0.1.0"; sha256="0gxngq2awpignkdwi5cn6gxwk0q2fi3zy55jg5mlkihz2sq9iyyg"; depends=[assertthat dplyr ggplot2 rlang]; };
   cmrutils = derive2 { name="cmrutils"; version="1.3.1"; sha256="0nrq84bkd23lvvg8ls2smkjcnfnydhbcni3n6s8w0579i9xga8dv"; depends=[chron]; };
   cms = derive2 { name="cms"; version="0.1.0"; sha256="0m3cxvw40nyr1jpdkhg5nbms16hkzj0mrx5nl39x1l42cx2hcjrl"; depends=[assertthat dplyr magrittr readr rlang rvest xml2]; };
-  cmsaf = derive2 { name="cmsaf"; version="3.3.1"; sha256="150bqj6ccws8i0nsmnpsx68h8ghzhi46nj9jam7qkj32s8d5bc9g"; depends=[cmsafops cmsafvis colorspace colourpicker data_table fields FNN mapproj maps maptools ncdf4 R_utils raster rworldxtra SearchTrees shiny shinyFiles shinyjs shinythemes sp xml2]; };
-  cmsafops = derive2 { name="cmsafops"; version="1.2.2"; sha256="14m51hljcq08m3mf4h6bq5izykc0wa0kby44c4pk9vx1fsq4x8z6"; depends=[assertthat fields FNN ncdf4 progress rainfarmr raster SearchTrees sp trend]; };
-  cmsafvis = derive2 { name="cmsafvis"; version="1.1.9"; sha256="0qjfx5d1fcalvhjahkz501dvc6l2sxrrsa6gpdgkm93vafiw6wf5"; depends=[animation assertthat cmsafops colorspace countrycode fields gridExtra mapproj maps maptools ncdf4 png progress raster rasterVis RColorBrewer rgdal rworldxtra SearchTrees sp yaml]; };
+  cmsaf = derive2 { name="cmsaf"; version="3.4.0"; sha256="1j5ajahk5vx15ii1zsldm7aikqhlhm3gl7gx6ykx3lxjbanp5hv8"; depends=[cmsafops cmsafvis colorspace colourpicker data_table fields FNN mapproj maps maptools ncdf4 R_utils raster rworldxtra SearchTrees shiny shinyFiles shinyjs shinythemes sp xml2]; };
+  cmsafops = derive2 { name="cmsafops"; version="1.2.3"; sha256="194y5i54vbqlmjmf5dfcq0lxffavnnv9vp9b8cafs2zlh6xyxl4j"; depends=[assertthat fields FNN ncdf4 progress rainfarmr raster SearchTrees sp trend]; };
+  cmsafvis = derive2 { name="cmsafvis"; version="1.1.10"; sha256="0jfb6jvv6jncl5625sskqn6v3aqs4283swg9py71i0jv55bzd0ws"; depends=[animation assertthat cmsafops colorspace countrycode fields gridExtra mapproj maps maptools ncdf4 png progress raster rasterVis RColorBrewer rgdal rworldxtra SearchTrees sp yaml]; };
   cmstatr = derive2 { name="cmstatr"; version="0.9.1"; sha256="18kcrnbi3r8n8d7s8cl55r2n41cv4q4h6g8lf4pdkv06axg3l7ad"; depends=[dplyr generics ggplot2 kSamples MASS purrr rlang tibble]; };
-  cmtest = derive2 { name="cmtest"; version="0.1-1"; sha256="0ahdgmqzqggv2qas9b116k0dizvwph736jj0d0dj381d6zgwqda4"; depends=[Rdpack]; };
-  cmvnorm = derive2 { name="cmvnorm"; version="1.0-6"; sha256="1wf23w9gxrrgw7j740r381xrss09inzd7mrg6g7wz883c9madbfn"; depends=[elliptic emulator]; };
+  cmtest = derive2 { name="cmtest"; version="0.1-2"; sha256="1qff6vx0c9sw4xm7fwhck165snrahlmi91na64f7axad14qmp34d"; depends=[Rdpack]; };
+  cmvnorm = derive2 { name="cmvnorm"; version="1.0-7"; sha256="0zi4adh3gd8nbcnsn9fqiiqi5pc2jx782vw394gi988vyngqr7cq"; depends=[elliptic emulator]; };
   cna = derive2 { name="cna"; version="3.3.0"; sha256="1wnimcp3mpilam02x7d34mi6xavz2mw61n5axkllz1jl1p2pjmmz"; depends=[car Matrix matrixStats Rcpp]; };
   cnaOpt = derive2 { name="cnaOpt"; version="0.5.0"; sha256="0vfbyfd5gwyz7fykskwargckmzq5v6h5irmb3khmpk9a882w1s32"; depends=[cna dplyr ggplot2 matrixStats Rcpp]; };
   cnbdistr = derive2 { name="cnbdistr"; version="1.0.1"; sha256="05qi41jimslbngjgbwzfda0q25hb28ax79v9yckvrbpgjc8dk990"; depends=[hypergeo]; };
   cncaGUI = derive2 { name="cncaGUI"; version="1.0"; sha256="1v55kvrc05bsm1qdyfw3r3h64wlv3s6clxbr8k512lfk99ry42kn"; depends=[MASS plotrix rgl shapes tcltk2 tkrplot]; };
   cns = derive2 { name="cns"; version="0.1.0"; sha256="1kn1cq32pp05ag22n7iwjxn6lxpqn443npzk6vdskjm5pbnsc33k"; depends=[]; };
   cnum = derive2 { name="cnum"; version="0.1.3"; sha256="0iphbx5ii4ij0bi9nqdz793i4gk2164jlgz5xn8yzsayjmizhdk2"; depends=[BH Rcpp stringr]; };
-  coRanking = derive2 { name="coRanking"; version="0.2.2"; sha256="04ad3w7fpzp3dni7z8k9fiba8vi7rvfpyik81cx0smh84i4m8m5v"; depends=[]; };
+  coRanking = derive2 { name="coRanking"; version="0.2.3"; sha256="09dq4xxpi632jb9vh96rsy2g51sn6apbccx9c8073hfsm078b4w6"; depends=[]; };
   coalescentMCMC = derive2 { name="coalescentMCMC"; version="0.4-1"; sha256="0xxv1sw5byf84wdypg5sfazrmj75h4xpv7wh4x5cr9k0vgf80b3s"; depends=[ape coda lattice Matrix phangorn]; };
   coalitions = derive2 { name="coalitions"; version="0.6.20"; sha256="0v9345xscfdyn5qdj6ncwzbbpry942dlly91l997ba42f9j6qdjk"; depends=[checkmate dplyr ggplot2 gtools jsonlite lubridate magrittr purrr RCurl rlang rvest stringr tibble tidyr xml2]; };
   coarseDataTools = derive2 { name="coarseDataTools"; version="0.6-6"; sha256="1g9hxyp2vdhq1zr18qlf2aqwp9d9hr07k6grmvblj2xrwlzfvc1p"; depends=[MCMCpack]; };
-  cobalt = derive2 { name="cobalt"; version="4.3.1"; sha256="1y7fh3lrbj5sqkqhnyl4lm7g75dld96gap95xfds70x01iq6mqk7"; depends=[backports crayon ggplot2 gridExtra gtable rlang]; };
+  cobalt = derive2 { name="cobalt"; version="4.3.2"; sha256="0k1ibmnh46wk6bq1xra5chi0l6a4ncgaagwgzmhnmpj1drsd1gxr"; depends=[backports crayon ggplot2 gridExtra gtable rlang]; };
   cobiclust = derive2 { name="cobiclust"; version="0.1.0"; sha256="068cqrhx7lxsvcjb62rgrca7y20cybz4445bl1qc6k16ca4bh0m9"; depends=[cluster]; };
   cobs = derive2 { name="cobs"; version="1.3-4"; sha256="0hiw5smk6kgk0gb9840kcqkhkybl7n30s77xhjc395x09izbgix1"; depends=[quantreg SparseM]; };
   coca = derive2 { name="coca"; version="1.1.0"; sha256="1lh7q3ip1jaz5zj5zcnd5whwpjw6zcrxs6j0j8mnmjsnw2kr4m5n"; depends=[caret cluster fpc glmnet Matrix nnet pheatmap RColorBrewer sparcl]; };
@@ -7311,6 +7378,7 @@ in with self; {
   cocron = derive2 { name="cocron"; version="1.0-1"; sha256="0dl14y9v9kndy5gzhhbhq3f31ja724y1hra40givy6bij7h2cj30"; depends=[]; };
   coda = derive2 { name="coda"; version="0.19-4"; sha256="13z5dwfpnyyhpsbpg4xr9g5c1685jhqj90f4x4qkcykr6kykqba2"; depends=[lattice]; };
   coda_base = derive2 { name="coda.base"; version="0.3.1"; sha256="0rz0hlhww9ja1y40yi4fah468apwp1xcnbbl1qmfggil863l5fqa"; depends=[Rcpp RcppArmadillo]; };
+  codacore = derive2 { name="codacore"; version="0.0.3"; sha256="1zfzhpax625qpj8s9i91pxljkmszgkxj7n0brz9pd9n84r66vr90"; depends=[gtools keras pROC R6 tensorflow]; };
   codadiags = derive2 { name="codadiags"; version="1.0"; sha256="1x243pn6qnkjyxs31h1hxy8x852r0fc952ww77g40qnrk8qw79xg"; depends=[coda]; };
   codalm = derive2 { name="codalm"; version="0.1.2"; sha256="09q7i96wga55xl8wwkb4i2sisn97wd21zqpmasykpi1aamzysqki"; depends=[future future_apply SQUAREM]; };
   codeCollection = derive2 { name="codeCollection"; version="0.1.2"; sha256="0jimahw008l2x4c646dwf6f5vw9xlh8rfm7l6kgj8q4iymzbr8rm"; depends=[Epi]; };
@@ -7327,7 +7395,7 @@ in with self; {
   codingMatrices = derive2 { name="codingMatrices"; version="0.3.3"; sha256="0nbx3w016d8rw4pidf72zcw1hf95y7h0rb5ska49nfnjkh3qc0p2"; depends=[fractional Matrix]; };
   codyn = derive2 { name="codyn"; version="2.0.5"; sha256="1iqlh3ydnqi7s2b3fa2zgb05j763qgxriys4piawwmgrdrvd3d9q"; depends=[assertthat permute vegan]; };
   coefficientalpha = derive2 { name="coefficientalpha"; version="0.7"; sha256="0li1js501sa8m0ba76ymn4lz5y4np7kf96gnxz9kypg50kd58yis"; depends=[lavaan rsem]; };
-  coefplot = derive2 { name="coefplot"; version="1.2.7"; sha256="1r0izd51vhp7z2lf6z2ddqidy1ik0ziks847ixmhyhgf7hpkmflk"; depends=[dplyr dygraphs ggplot2 magrittr plotly plyr purrr reshape2 tibble useful]; };
+  coefplot = derive2 { name="coefplot"; version="1.2.8"; sha256="0qxa57sm5hncmd4mxab1c7hk34n2s5fsn51ck6ik2ciynhgcqxvn"; depends=[dplyr dygraphs ggplot2 magrittr plotly plyr purrr reshape2 tibble useful]; };
   coenocliner = derive2 { name="coenocliner"; version="0.2-3"; sha256="07hik9y84nj1l83spcp1hq9lj960zsg3v0i8rk0xfv25grrakp85"; depends=[]; };
   coenoflex = derive2 { name="coenoflex"; version="2.2-0"; sha256="06f75spl4wkbgicm0bksnid2lb1gkvi05915wn5y4km45d82fkkr"; depends=[mgcv]; };
   coexist = derive2 { name="coexist"; version="1.0"; sha256="15ydhrx996i6caa0360c2bgn2zvgwfg5wdhsqq1gvrggs15w7nml"; depends=[]; };
@@ -7347,7 +7415,7 @@ in with self; {
   cold = derive2 { name="cold"; version="2.0-3"; sha256="1y2l1v7s1v3m4nhlnl72n075h53vm93vxmfn4b6269n690wl9s6d"; depends=[cubature MASS]; };
   colf = derive2 { name="colf"; version="0.1.3"; sha256="1av82yrp6csw7700ymipd02j73cmzn0apv7ykachjw09nzk86kvj"; depends=[nlsr]; };
   collUtils = derive2 { name="collUtils"; version="1.0.5"; sha256="0gbk3lrb2lwq2ixrpcngng6qz6axjb4iyqy5606x1zmjm71c060p"; depends=[Rcpp rJava]; };
-  collapse = derive2 { name="collapse"; version="1.6.5"; sha256="0ijsp4azblyvgryx94ymfzcc6d5f3g794z8yv3amxsxmc8x2l8qy"; depends=[Rcpp]; };
+  collapse = derive2 { name="collapse"; version="1.7.5"; sha256="13n6k0mairlzmkklq322ms8yzflcb4hphllyby6wjdbql6d3z0w9"; depends=[Rcpp]; };
   collapsibleTree = derive2 { name="collapsibleTree"; version="0.1.7"; sha256="0b65pbp1wnpsrayqi630ds4r98jvcvynnlp6wxdqrnnr9nzw5343"; depends=[data_tree htmlwidgets]; };
   collateral = derive2 { name="collateral"; version="0.5.2"; sha256="1wnzgpayjsqnqry0cdmkijyjkkjhbc8hxwlkx7aj9qwaiz7wiibr"; depends=[crayon pillar purrr]; };
   collectArgs = derive2 { name="collectArgs"; version="0.4.0"; sha256="0fz5w1xsxiddzrwahrg50px4igyhd4plq655jaix6grancs7kvix"; depends=[magrittr]; };
@@ -7387,7 +7455,7 @@ in with self; {
   colr = derive2 { name="colr"; version="0.1.900"; sha256="0ilz1y0jd2vgyh81g3dwx2l64sir6z6sgmqx7lnvr1hafsqnwfc8"; depends=[]; };
   colt = derive2 { name="colt"; version="0.1.1"; sha256="028jqvgr14ig8jxp8h2lrf7mainzppgqh6v1479qfv4l9is3bnwy"; depends=[crayon]; };
   comFuncs = derive2 { name="comFuncs"; version="0.0.5"; sha256="1n17s28rf6jbii8cffzxylp5dr47x4my7chvf2j1zh4vrkml0n1n"; depends=[rstudioapi shiny]; };
-  comat = derive2 { name="comat"; version="0.9.2"; sha256="0y42ljjgmqa2bp4d1xnx71x79j4xsq2f53fa8m5p6sw3w667ifjr"; depends=[Rcpp RcppArmadillo]; };
+  comat = derive2 { name="comat"; version="0.9.3"; sha256="0igcqvz1sjprxw6qf3wy9awywx9g5xcdkr9sl3vb61jyxxppnagh"; depends=[Rcpp RcppArmadillo]; };
   comato = derive2 { name="comato"; version="1.1"; sha256="0lidwr5vw10655p7q0iqzq3phq5y1i86w3bjdv87cwx3m6333bz6"; depends=[cluster clusterSim gdata igraph lattice Matrix XML]; };
   combinat = derive2 { name="combinat"; version="0.0-8"; sha256="1h9hr88gigihc4na7lb5i7rn4az1xa7sb34zvnznaj6pdrmwy4qm"; depends=[]; };
   combinationpvalues = derive2 { name="combinationpvalues"; version="0.1.4"; sha256="0n5dhgss8mrxshfixpc10g1p7l06hcn3fbk7l9sp92ap64kalz6c"; depends=[chi dplyr spatstat_utils]; };
@@ -7402,7 +7470,7 @@ in with self; {
   commonmark = derive2 { name="commonmark"; version="1.7"; sha256="024iz1qp2kv6iz6y69ir0jk3qhjps86rhkzlcmhqsxx97rx7cjni"; depends=[]; };
   commonsMath = derive2 { name="commonsMath"; version="1.2.5"; sha256="1c4lgmggpc22mhwcpy521b2pg8wf4bbjp0a6rbcn0aki90xw9ckk"; depends=[]; };
   communication = derive2 { name="communication"; version="0.1"; sha256="08fkllwwcw2llpg5ivxhqghc88qfg1vdy0ciif3xazhhymb8wavb"; depends=[abind diagram GGally ggplot2 gtable gtools igraph magrittr plyr purrr RColorBrewer Rcpp RcppArmadillo reshape2 scales signal tuneR useful wrassp]; };
-  comorbidity = derive2 { name="comorbidity"; version="0.5.3"; sha256="10zlq1586abngdrw5hgba78ridn3xj4q68f34slxpk0gxwa94n7p"; depends=[checkmate data_table]; };
+  comorbidity = derive2 { name="comorbidity"; version="1.0.0"; sha256="0cv3gay7mxba8kr19580dv7vyqlacdybxf5a2y96ll43g64w1gyp"; depends=[checkmate data_table stringi]; };
   compHclust = derive2 { name="compHclust"; version="1.0-3"; sha256="0agay7rn5mrw07imz4l547b7m9pfcg3rhz4krfxrvg1q2z2kryvj"; depends=[]; };
   compactr = derive2 { name="compactr"; version="0.1"; sha256="0f2yds6inmx0lixj08ibqyd2i61l2cbg1ckgpb8dl2q7kcyyd6mx"; depends=[]; };
   comparator = derive2 { name="comparator"; version="0.1.1"; sha256="02j36dm9vg53v224djy6v7jicd1d5sdx148r8qh096zb942wpvp6"; depends=[clue proxy Rcpp]; };
@@ -7413,7 +7481,7 @@ in with self; {
   compareODM = derive2 { name="compareODM"; version="1.2"; sha256="019hq8j56asjvh4x1p65785mf38xr05j3by0749gl9k9yl8645da"; depends=[XML]; };
   comparer = derive2 { name="comparer"; version="0.2.2"; sha256="1rhx9an7qi9r3cv2zpnb9qw0byg06zabg99v51mal218080r6rvm"; depends=[R6]; };
   comparison = derive2 { name="comparison"; version="1.0-5"; sha256="0vg8s9j2xjzv7bidd59givxgcqzhdd29q84dj4ww2a6vkmq269r7"; depends=[isotone]; };
-  compas = derive2 { name="compas"; version="0.1"; sha256="1ckryllwd8avz6456970qhfa3wpcsmhkicnibnv7gl4crzf44xgx"; depends=[bio3d Rcpp RcppEigen]; };
+  compas = derive2 { name="compas"; version="0.1.1"; sha256="0hhqg2xsifnh1v931mmfij6s5idy9s984hdnrkp9n3f3azgwvcz4"; depends=[bio3d Rcpp RcppEigen]; };
   comperank = derive2 { name="comperank"; version="0.1.1"; sha256="0wz46rkpx1cjjng3i03pms2x27cik9wbx7al5r289ym3664zb83m"; depends=[comperes dplyr Rcpp rlang tibble]; };
   comperes = derive2 { name="comperes"; version="0.2.5"; sha256="0pfpbnbnpln3srn2m248v0n72mw72fh0rvqpvswi1qmjcpkfkd7v"; depends=[dplyr magrittr rlang tibble tidyr]; };
   competitiontoolbox = derive2 { name="competitiontoolbox"; version="0.7.0"; sha256="0cb298fnivw3hqn99jgxlg7qfjkwy6zs0vgkc3x7vz3alk17p5p1"; depends=[antitrust ggplot2 rhandsontable shiny trade]; };
@@ -7422,7 +7490,7 @@ in with self; {
   complexity = derive2 { name="complexity"; version="1.1.1"; sha256="1lpsvry88jpqfw0wkdlwjzkqjl17f4adjcqvq0dwk483mi54xnfk"; depends=[combinat shiny]; };
   complexplus = derive2 { name="complexplus"; version="2.1"; sha256="16w9v7d1ckavqmr86l34frr37pkvdn0iqnb17ssb8xaggns5lgqx"; depends=[expm Matrix]; };
   complmrob = derive2 { name="complmrob"; version="0.7.0"; sha256="0dvkc5y53041agkjz3rl898hkq686pxzr6flf2qx1g3jbza3pk1y"; depends=[boot ggplot2 robustbase scales]; };
-  compositions = derive2 { name="compositions"; version="2.0-2"; sha256="05pji62pzgfk9dyiybmr16q0h6mdzsmvyzxdni3hn0dvl4a7mr5m"; depends=[bayesm MASS robustbase tensorA]; };
+  compositions = derive2 { name="compositions"; version="2.0-4"; sha256="1bqg0qqzsf92q0jb7hdjycr54bwv8rk7ajhvxgch5yslyqxpm73v"; depends=[bayesm MASS robustbase tensorA]; };
   composits = derive2 { name="composits"; version="0.1.0"; sha256="1j2bbl0p7dhlf18n1164qdbch2qa5nzk66qh4xlrrhr36zip88y4"; depends=[anomalize dobin dplyr fastICA forecast ggplot2 gridExtra ICS kableExtra otsad pracma rlang tibble tidyr tsoutliers]; };
   compound_Cox = derive2 { name="compound.Cox"; version="3.20"; sha256="18fgc58jqrjls1rkzrpy338m3yyxaqkv7dfv31a2sf551ynajcfy"; depends=[numDeriv survival]; };
   comprehenr = derive2 { name="comprehenr"; version="0.6.10"; sha256="1wlc06swm45nxg9hgik3wj832sr074i3p0j5kxm0i2r74klfy22w"; depends=[]; };
@@ -7462,10 +7530,12 @@ in with self; {
   configr = derive2 { name="configr"; version="0.3.5"; sha256="1qlfza9fwqdhw37gxhgxgp4x2dg1qlvdw0rf9fn6a8hgjaj9z8a3"; depends=[glue ini jsonlite RcppTOML stringr yaml]; };
   configural = derive2 { name="configural"; version="0.1.4"; sha256="1vi6xczqlrzhrfv418wlvqiv69kap4awlxkjpgi7b1ix5ayc8mq8"; depends=[]; };
   confinterpret = derive2 { name="confinterpret"; version="1.0.0"; sha256="0qldaqpx7kpk71zfwv465jrscwzc9w3xfv52i4h01k9aw3q6m8ja"; depends=[]; };
-  confintr = derive2 { name="confintr"; version="0.1.1"; sha256="18nkgcpl43hih7l04rxv21pil48h780wjna3vm2763ffkilkk5cl"; depends=[boot]; };
+  confintr = derive2 { name="confintr"; version="0.1.2"; sha256="06c42jhqp7gp9062jf8f9py1lh34vx38q0g7b6l5kyf7a310ixr6"; depends=[boot]; };
   conflicted = derive2 { name="conflicted"; version="1.1.0"; sha256="1qg9ar114r98wm0pnf65mss4v2ksq3924rlpm13mqp4s3p6j9yi4"; depends=[memoise rlang]; };
   conflr = derive2 { name="conflr"; version="0.1.1"; sha256="1bjdmvi0n8746g7dxwgzh3fi33sq4bgfr0nd3nqd2caj8ryi2gv9"; depends=[askpass commonmark curl glue httr knitr miniUI purrr R6 rlang rmarkdown rstudioapi shiny stringi xml2]; };
   conformalClassification = derive2 { name="conformalClassification"; version="1.0.0"; sha256="03v6xbgipb97byarqj0d38z9yb2g54mkkw343jxmi2j058z26yw7"; depends=[doParallel foreach mlbench randomForest]; };
+  conformalInference_fd = derive2 { name="conformalInference.fd"; version="1.0.0"; sha256="15ck2vi5zkf4y7y91n380v0ywjdgs9l2arw1rqyf9nr2n9j45wd0"; depends=[fda future future_apply ggplot2 gridExtra]; };
+  conformalInference_multi = derive2 { name="conformalInference.multi"; version="1.0.0"; sha256="1mriq2jkh8qzd04842jbza30yfbbs9cjypmdhr293msa6fjsad01"; depends=[future future_apply ggplot2 glmnet gridExtra hrbrthemes]; };
   confoundr = derive2 { name="confoundr"; version="1.2"; sha256="000vf828qv04pplx8yc8q3mafxf4g0axip6z5zbsj2581yxv9jjh"; depends=[dplyr ggplot2 gridExtra magrittr purrr rlang Rmpfr scales stringr tidyr]; };
   confreq = derive2 { name="confreq"; version="1.5.6-4"; sha256="0mi6panjdvgpxwpylg6s3bhx9679jpqrxsicb14lq1w6c20rg7qj"; depends=[gmp vcd]; };
   conicfit = derive2 { name="conicfit"; version="1.0.4"; sha256="1d704xgiyqmbwfxnsmhqg885x10q8yqxmrk4khqpg3lh696bw97d"; depends=[geigen pracma]; };
@@ -7476,7 +7546,7 @@ in with self; {
   conmet = derive2 { name="conmet"; version="0.1.0"; sha256="0iwr8mmh9lk0psqxkgnd7ldhg57ivbkv0b3a18gli06983mhzjdc"; depends=[dplyr DT foreign Hmisc lavaan openxlsx purrr semTools shiny shinydashboard shinyWidgets stringr summarytools waiter]; };
   connectwidgets = derive2 { name="connectwidgets"; version="0.1.1"; sha256="0sj8nik6dyyzflpq9vqd8wzlhky6jl2wfiaz788i6a2wdhckyc1m"; depends=[bslib crosstalk digest dplyr glue htmltools htmlwidgets httr jsonlite magrittr purrr R6 reactable reactR rlang sass tibble]; };
   conogive = derive2 { name="conogive"; version="1.0.0"; sha256="0a8v7v0fds0psfnbx9x45way8z1f1xn2ncgbrn5rb6fjq0a1zs4x"; depends=[assertthat checkmate mvtnorm psych]; };
-  conos = derive2 { name="conos"; version="1.4.4"; sha256="0rfsm7w7dz3dygmqih6qw6dhyg7c58yxpsnq59pb48zfvyzwcq2y"; depends=[abind ComplexHeatmap cowplot dendextend dplyr ggplot2 ggrepel gridExtra igraph irlba leidenAlg magrittr Matrix Matrix_utils N2R R6 Rcpp RcppArmadillo RcppEigen RcppProgress reshape2 rlang Rtsne sccore]; };
+  conos = derive2 { name="conos"; version="1.4.5"; sha256="1c2yn3nsvwwglgxghnrybmkcvdc16gxxbcfqfnp70q4h6nz7f65g"; depends=[abind ComplexHeatmap cowplot dendextend dplyr ggplot2 ggrepel gridExtra igraph irlba leidenAlg magrittr Matrix Matrix_utils N2R R6 Rcpp RcppArmadillo RcppEigen RcppProgress reshape2 rlang Rtsne sccore]; };
   conover_test = derive2 { name="conover.test"; version="1.1.5"; sha256="0f1p10klidk1xic1wd48j9rjh2fb3z6pfjx4y021lglx1w3av68k"; depends=[]; };
   conquer = derive2 { name="conquer"; version="1.2.1"; sha256="0i9g27f52zl2kb2392g0y614drf6s87dqz12aphj889ajq7zjm0k"; depends=[caret Matrix matrixStats Rcpp RcppArmadillo]; };
   conquestr = derive2 { name="conquestr"; version="0.8.5"; sha256="1xh09a379g1msib5fvf72llvf2gwqb7ciacw7j7iqrkb2ddpaglk"; depends=[ggplot2 ggrepel Rcpp reshape rlang stringr]; };
@@ -7494,6 +7564,7 @@ in with self; {
   contfrac = derive2 { name="contfrac"; version="1.1-12"; sha256="0sq5c7ny235yrkv2xc4insgxby6rvzc1qsj8h301cd2if3lwbgwm"; depends=[]; };
   conting = derive2 { name="conting"; version="1.7"; sha256="08f271j3gxcp4shda08kkv0v9ayaadvxgcglfsn6hjmw4hn298zg"; depends=[BMS coda gtools mvtnorm tseries]; };
   contingency = derive2 { name="contingency"; version="0.0.6"; sha256="0bwvrwsa41s24j612w4jyhlfp2r6qa37ljsb3lxx27mkd9r0286d"; depends=[rje]; };
+  contingencytables = derive2 { name="contingencytables"; version="1.0.0"; sha256="0xpc5x90cvxfhg0aybrrqyg7ar29jbswpinnq07pfg9d6kycrlgm"; depends=[boot MASS]; };
   contourPlot = derive2 { name="contourPlot"; version="0.2.0"; sha256="0bjwq3p57d6hadln8vwjkh7c9sbb466h3zcq9kpx7kd31z6x8gnz"; depends=[interp RColorBrewer]; };
   contoureR = derive2 { name="contoureR"; version="1.0.5"; sha256="1izq1alkf24zd2sf2ir2adyrkwhdj7n89cv6z0dfh5mfqld5bkdn"; depends=[geometry plyr Rcpp reshape]; };
   contrast = derive2 { name="contrast"; version="0.24.1"; sha256="1119c7p8ly3zb5pxzgridqvmbq5v0jx557qqaa0rbmdr7rih74aq"; depends=[nlme rms sandwich]; };
@@ -7510,6 +7581,7 @@ in with self; {
   convey = derive2 { name="convey"; version="0.2.4"; sha256="0khhnvazslvv7ma4fk70qzcazgv1aair1vcvx22bsic2mvgdb0fc"; depends=[survey]; };
   convoSPAT = derive2 { name="convoSPAT"; version="1.2.7"; sha256="1pmiirigjdkrb3pzqcw6qlh6418z384mvaxqw5mrcm1gxzrqp649"; depends=[ellipse fields MASS plotrix StatMatch]; };
   cooccur = derive2 { name="cooccur"; version="1.3"; sha256="1wlaghhi4f3v8kzwhcgq3c6as7v3zlpkzhb232qz1amr7f0058kv"; depends=[ggplot2 gmp reshape2]; };
+  cooltools = derive2 { name="cooltools"; version="1.6"; sha256="1zll98ys9i7vcyqfqkrzyrzdvryrgig5isgdzgimmyxa1l0si3gv"; depends=[bit64 celestial cubature data_table jpeg magicaxis MASS plotrix png pracma raster Rcpp sp]; };
   coop = derive2 { name="coop"; version="0.6-3"; sha256="0ww99ssgawsgn6rqy838wbx6iirzdrzyxirvz084ih8j50blx420"; depends=[]; };
   coopProductGame = derive2 { name="coopProductGame"; version="2.0"; sha256="1348pgqfvvysdixsjibgkvwjsmqasnlmwf9kyr39lw8jb81z25h0"; depends=[dplyr GameTheory ggplot2 gtools kappalab lpSolveAPI]; };
   cooptrees = derive2 { name="cooptrees"; version="1.0"; sha256="0izvwna1jsqik3v5fz1r4c86irvma42clw0p4rdvwswv5pk698i1"; depends=[gtools igraph optrees]; };
@@ -7536,7 +7608,7 @@ in with self; {
   coreSim = derive2 { name="coreSim"; version="0.2.4"; sha256="1fhlss420rhs21l9i2ag5g3j0vnrkpqdh13ca4rwfan6h35qr3sm"; depends=[dplyr MASS]; };
   coreTDT = derive2 { name="coreTDT"; version="1.0"; sha256="14rnh61gk3m6g8rq77hm9ybds0px15di2mxm3jiyfdfynx5ng58f"; depends=[]; };
   corehunter = derive2 { name="corehunter"; version="3.2.1"; sha256="0cxvhmi768kz3q8hydb6y9nqvc8hvkmq8nc5yfry4k94whk12wax"; depends=[naturalsort rJava]; };
-  corels = derive2 { name="corels"; version="0.0.3"; sha256="1lkgvrdqjm3grkv5isar2fdv1gpa569dxp00rswbslp11h1ag90f"; depends=[Rcpp]; };
+  corels = derive2 { name="corels"; version="0.0.4"; sha256="1ygbvhnz304y4y708ygr4x6kbwv7bfpjd5hhcrcc6lma59h7arfn"; depends=[Rcpp]; };
   corkscrew = derive2 { name="corkscrew"; version="1.1"; sha256="1nb81r4lsrajcj3xz3f7p6xznnb38yg3rnnh44rd3kabca4d8r1s"; depends=[ggplot2 gplots igraph RColorBrewer]; };
   corlink = derive2 { name="corlink"; version="1.0.0"; sha256="06n9pcvbn8y9gy0mn9c0sw05424ss8smpaw3ly6a785cmj3d9b6m"; depends=[]; };
   corncob = derive2 { name="corncob"; version="0.2.0"; sha256="1q8mznhwfzw9qkxxcvnkln2xxp3mdbdb63c39k6mnpfhr4b10wy3"; depends=[detectseparation dplyr ggplot2 magrittr Matrix numDeriv optimr phyloseq rmutil scales trust VGAM]; };
@@ -7549,7 +7621,7 @@ in with self; {
   corpora = derive2 { name="corpora"; version="0.5"; sha256="0b4yw37msx9h8hf5mjs4h10gdmc1qc2gv5bzyj1r90n4gcli042d"; depends=[]; };
   corporaexplorer = derive2 { name="corporaexplorer"; version="0.8.4"; sha256="0ffickzig9798273gm401ma0lm32zgcd5p549935gfgbyjlxzxps"; depends=[data_table dplyr ggplot2 lubridate magrittr padr plyr RColorBrewer rlang rmarkdown scales shiny shinydashboard shinyjs shinyWidgets stringi stringr tibble tidyr]; };
   corpus = derive2 { name="corpus"; version="0.10.2"; sha256="0fxa38xbd5fyhh0q1ycx8snj7ly8hv9jclbs77agkb6pb6p7yr64"; depends=[utf8]; };
-  corpustools = derive2 { name="corpustools"; version="0.4.8"; sha256="06x8lxcpizlmxnj4vg2k5inb4kb4jfx973x5pg3wiw4vyp3wvcck"; depends=[data_table digest igraph Matrix pbapply quanteda R6 Rcpp RcppProgress RNewsflow rsyntax SnowballC stringi tokenbrowser udpipe wordcloud]; };
+  corpustools = derive2 { name="corpustools"; version="0.4.9"; sha256="0239nx4r8q3jkzymr3l2zc9y0b75frp7rxn2wl6rv721p33dbykr"; depends=[data_table digest igraph Matrix pbapply quanteda R6 Rcpp RcppProgress RNewsflow rsyntax SnowballC stringi tokenbrowser udpipe wordcloud]; };
   corr2D = derive2 { name="corr2D"; version="1.0.2"; sha256="1g8vxqbyp162a9jm4dwhyviifddddri585xn42gd6gwfx0vzmaji"; depends=[colorspace doParallel fields foreach mmand profr xtable]; };
   corrDNA = derive2 { name="corrDNA"; version="1.0.1"; sha256="1mfjrzpcb63ydyj1yxa0wd3vh4z0rdwsqv09w0a0l4l7mhb5jz2k"; depends=[mvtnorm]; };
   corrarray = derive2 { name="corrarray"; version="1.2.0"; sha256="1hsk425xjz9p3wwvia7h78dg24qsr5r977xm2ap5z40ah1bw7bzi"; depends=[Hmisc]; };
@@ -7576,7 +7648,7 @@ in with self; {
   cosso = derive2 { name="cosso"; version="2.1-1"; sha256="1wyq27qak0kz4bbzynm24r5ksvb6ddd43h2ykh6m935xck16blyb"; depends=[glmnet quadprog Rglpk]; };
   costat = derive2 { name="costat"; version="2.4"; sha256="0c47bklqjgjmdglw3mi9lvygwjr5w6i1zv91ll3vpnl5dnay0692"; depends=[wavethresh]; };
   costsensitive = derive2 { name="costsensitive"; version="0.1.2.10"; sha256="192q55123yzcjjh4047ppxa3h7gk9afqnvm1nlhzs4ccqz71g411"; depends=[]; };
-  cotram = derive2 { name="cotram"; version="0.3-1"; sha256="0rmc8siij4k3rwhy3pb0acap342b2wq1a0dsc45n79lnl7bks4ig"; depends=[alabama basefun Matrix mlt tram variables]; };
+  cotram = derive2 { name="cotram"; version="0.3-2"; sha256="1g2chlpmbbalqx1agyk2kkc41rgmq30cxr60h4xcjbr6mx1vgwxw"; depends=[alabama basefun Matrix mlt tram variables]; };
   cotrend = derive2 { name="cotrend"; version="1.0.2"; sha256="17h67vnpnlv11bf3ka5mlnah9bizxjhvicsvbygy91dqbhjhj9wb"; depends=[xts]; };
   couchDB = derive2 { name="couchDB"; version="1.4.1"; sha256="1n99amvnsjp88y091603hjsvp243c5i6dbrsvdjfmzgj5dsrv70m"; depends=[bitops httr RCurl rjson]; };
   countHMM = derive2 { name="countHMM"; version="0.1.0"; sha256="12z0nz7in2msb5wa5yyjxx19ih8psw06m7xwlapvjksslippp6gs"; depends=[]; };
@@ -7586,7 +7658,7 @@ in with self; {
   countdata = derive2 { name="countdata"; version="1.2"; sha256="1yx75x4yg5ysx9zjzd4g5bd0qn11ngdsw1k36k809rd68v690awr"; depends=[]; };
   countfitteR = derive2 { name="countfitteR"; version="1.4"; sha256="1aq7v2fy24pf3r6fkmcwvs18r2xc2l1bqablp53xfc7b6kxq3vqn"; depends=[ggplot2 MASS pscl shiny]; };
   countgmifs = derive2 { name="countgmifs"; version="0.0.2"; sha256="0k6fjg0v9n7vi89wd025gdjh1q3l6nnc5yn8i2bfw0i5vmv8rhi3"; depends=[MASS]; };
-  countrycode = derive2 { name="countrycode"; version="1.3.0"; sha256="03y7bc4lss3hwb5bwwspi28razwbdi0pjvy5dpay3v3iwwb18dil"; depends=[]; };
+  countrycode = derive2 { name="countrycode"; version="1.3.1"; sha256="1hfw0084f82v4xy2lc88iwxlk0c8vaiybvrx6asadh0922y577aj"; depends=[]; };
   countyfloods = derive2 { name="countyfloods"; version="0.1.0"; sha256="0ld8p8dfk9khvwffbn8sad0j3an25s7cvbi6jxljgx4zc6ldh699"; depends=[dataRetrieval dplyr ggplot2 lubridate maps plyr R_utils tidyr]; };
   countytimezones = derive2 { name="countytimezones"; version="1.0.0"; sha256="0sk22fmz9d3wvlfvjl1xdavvl04q1ywy8ww2gi5am3yiizkf0v9w"; depends=[dplyr lubridate]; };
   covBM = derive2 { name="covBM"; version="0.1.0"; sha256="0ky1lhr8m4hy2ss1nr2xymf6cmj1rr8px8zsxna6bsisf5bq4j4w"; depends=[nlme]; };
@@ -7595,7 +7667,7 @@ in with self; {
   covTestR = derive2 { name="covTestR"; version="0.1.4"; sha256="0j9kay8lwkhpdyg0fbfars1m58v0i58v1v5sm7m72s7kz8qh2yfs"; depends=[purrr Rcpp RcppArmadillo rlang]; };
   covafillr = derive2 { name="covafillr"; version="0.4.4"; sha256="1vsay0qlqcw3l6xp18rxrkhwsadsv9rpxwpj9f4d3vlr8inkiv4h"; depends=[Rcpp RcppEigen]; };
   covatest = derive2 { name="covatest"; version="1.2.0"; sha256="13kmkgn2xjci694g27ii9q6xqxqgxw4hykzynxqxn0v7i6y96xwz"; depends=[gstat lubridate sp spacetime zoo]; };
-  coveffectsplot = derive2 { name="coveffectsplot"; version="0.0.9.1"; sha256="0yklw2bnaz9abi92rgr14415s5lr23y3qnkj89q08hrkxj61jxmj"; depends=[colourpicker data_table dplyr egg ggplot2 markdown shiny shinyjs table1 tidyr]; };
+  coveffectsplot = derive2 { name="coveffectsplot"; version="1.0.0"; sha256="0hh7vwz0a0440n8rqn536mg5jw6zrg1gmjzr8i92zipq7llf16jd"; depends=[colourpicker data_table dplyr egg ggplot2 markdown shiny shinyjs shinymeta table1 tidyr]; };
   covequal = derive2 { name="covequal"; version="0.1.0"; sha256="1qj6djqf1rnjmnaz1nryj9dc104082w258dzjjp5q18gg1ck8v0c"; depends=[corpcor RMTstat]; };
   covfefe = derive2 { name="covfefe"; version="0.1.0"; sha256="178qc77y4bn04qad3g70wr8y4v0ggyg807w67m8wvhbcxqr8yq7c"; depends=[tokenizers]; };
   covglasso = derive2 { name="covglasso"; version="1.0.3"; sha256="1201z49w7lacf479gp7q2v5lv8vmprppj656zzi5a4yynm7x2sll"; depends=[Rcpp RcppArmadillo]; };
@@ -7611,8 +7683,8 @@ in with self; {
   covid19us = derive2 { name="covid19us"; version="0.1.7"; sha256="1gy3cbfq89mg0465n4vwqnknnv988i9l2fv6dara8hr1jysic2n3"; depends=[curl dplyr glue httr lubridate magrittr purrr snakecase stringr tibble tidyr]; };
   covidcast = derive2 { name="covidcast"; version="0.4.2"; sha256="1lgpkwhyx8pff2p82w5has1jqmj10kniqd1rkhfxr4b1xp21y8z8"; depends=[dplyr ggplot2 httr MMWRweek purrr rlang sf tidyr]; };
   covidprobability = derive2 { name="covidprobability"; version="0.1.0"; sha256="00kiwxhkbq70650azgd6ylh7w7w4h5l8l7rmr2bijlm05xn3g154"; depends=[]; };
-  covidregionaldata = derive2 { name="covidregionaldata"; version="0.9.2"; sha256="1pnsafq5p1m5ij7z5k39g5j2m4qiridj6k6dwpka3b9d9jz7apfk"; depends=[countrycode dplyr httr lifecycle lubridate magrittr memoise purrr R6 readxl rlang stringr tibble tidyr tidyselect vroom withr xml2]; };
-  covidsymptom = derive2 { name="covidsymptom"; version="0.9.2"; sha256="00qqllg0p21a2gw9xq57ladlf96kxrmc3yx1kzgd81pxvrxqkk9d"; depends=[]; };
+  covidregionaldata = derive2 { name="covidregionaldata"; version="0.9.3"; sha256="1pq3il8wzygih419avf3nn5swd0z09mf2n0q361w3n7aa2m20yjf"; depends=[countrycode dplyr httr jsonlite lifecycle lubridate memoise purrr R6 readxl rlang stringr tidyr tidyselect vroom xml2]; };
+  covidsymptom = derive2 { name="covidsymptom"; version="0.9.3"; sha256="0svfc911n6cl056vn7l9khg4c6rc54qhxsgjg3jpxqvikyqmmrx7"; depends=[]; };
   covr = derive2 { name="covr"; version="3.5.1"; sha256="0v5cv3cw2kpdr6wxmkbd3wclavr17zipypdcb10hhmpa4cvgqk55"; depends=[crayon digest httr jsonlite rex withr yaml]; };
   covreg = derive2 { name="covreg"; version="1.0"; sha256="0v19yhknklmgl58zhvg4szznb374cdh65i7s8pcj2nwrarycwzaq"; depends=[]; };
   covsep = derive2 { name="covsep"; version="1.1.0"; sha256="19dvwhl85yx9ddwxvnq5sdd534s6llcw61gckrav48hq49x1bqld"; depends=[mvtnorm]; };
@@ -7644,7 +7716,7 @@ in with self; {
   cprr = derive2 { name="cprr"; version="0.2.0"; sha256="049xnma0rdnya7zp05iraq15nwjgmdmli9g7xxprab822047vld7"; depends=[]; };
   cpsR = derive2 { name="cpsR"; version="0.4.5"; sha256="1maqc5lr21h59wk4449zl8b8p9fzp9z6va52mc3k6z4sq4f784na"; depends=[httr jsonlite tibble]; };
   cpss = derive2 { name="cpss"; version="0.0.2"; sha256="1a6nphzf9y1p1ic51f0zll6g3j3flr7szrvzac1w4a023fj7301r"; depends=[dplyr ggplot2 gridExtra magrittr mvtnorm Rcpp RcppArmadillo Rfast rlang tibble tidyr]; };
-  cpsurvsim = derive2 { name="cpsurvsim"; version="1.2.0"; sha256="1fn88cqryji1syzhnx726m5svxnrlyynxk4jhp5ny8g3knai6nnk"; depends=[Hmisc knitr plyr]; };
+  cpsurvsim = derive2 { name="cpsurvsim"; version="1.2.1"; sha256="1wsb5hrds0ym49r0lyb3l37q1qpqy4qjhqcyd7awavdx2pk94pgi"; depends=[Hmisc knitr plyr]; };
   cpsvote = derive2 { name="cpsvote"; version="0.1.0"; sha256="0nmg79isqwvxyg7zkfbshndfjb2fnc2ffg32hxvjvsy714lpljf6"; depends=[dplyr forcats magrittr readr rlang stringr]; };
   cpt = derive2 { name="cpt"; version="1.0.2"; sha256="0j9ns8qhcvwxnzl9rc59vmh5jdahnni5dxpmi38gxvvj5k9hd8p7"; depends=[glmnet MASS nnet randomForest]; };
   cptcity = derive2 { name="cptcity"; version="1.0.6"; sha256="03g10pjpz7gb6daalinki7smfjhbadrsmnxf6qgygqdaxm3ah400"; depends=[]; };
@@ -7666,12 +7738,13 @@ in with self; {
   crch = derive2 { name="crch"; version="1.0-4"; sha256="18qjvh1lkw1f6rrhnb21f30xxrcq8whbs3x1jgkw6q14rf1483ri"; depends=[Formula ordinal sandwich scoringRules]; };
   crctStepdown = derive2 { name="crctStepdown"; version="0.2.1"; sha256="1v6r0w9wrwa7hwyyhzdybv1mshdw3wxa098mbn48101dhhy75945"; depends=[fastglm ggplot2 ggpubr lme4 Rcpp RcppArmadillo rlang stringr]; };
   credentials = derive2 { name="credentials"; version="1.3.2"; sha256="1f18j3zrq8c9kah57xwahmmljsjg5qphlgamvx507ynvpq8pryig"; depends=[askpass curl jsonlite openssl sys]; };
-  creditmodel = derive2 { name="creditmodel"; version="1.3.0"; sha256="0cq21y6kzz2gf6kqqkhxlhhkjfm71kx4rqzwwfm1c5572x65x7hm"; depends=[cli data_table doParallel dplyr foreach ggplot2 glmnet rpart xgboost]; };
+  creditmodel = derive2 { name="creditmodel"; version="1.3.1"; sha256="1nmp5h1cji7g2wh099zlgcqjxi30kcb0lv7b84w3dx9aplsja57l"; depends=[cli data_table doParallel dplyr foreach ggplot2 glmnet rpart xgboost]; };
   credsubs = derive2 { name="credsubs"; version="1.1.1"; sha256="19l3vsjxd9lvaf67l61x9l0j4y124p93dfqzw7rl1ya5sxbdzs7a"; depends=[]; };
   credule = derive2 { name="credule"; version="0.1.4"; sha256="0kwjjkavch21grx845kdcansaj0g407v7z3wmhy4whra9ic12y76"; depends=[]; };
   cregg = derive2 { name="cregg"; version="0.4.0"; sha256="1a34jhdk4r9ywsrc5dc8wq5am3059cli60f6n2n8j04ls13fvlkd"; depends=[ggplot2 ggstance lmtest sandwich scales survey]; };
   crestr = derive2 { name="crestr"; version="1.0.0"; sha256="1vps3rf2mnzmfzml22cyvi7khgakjx6yzwiziyjdl8dalrhrpwsc"; depends=[clipr DBI plyr raster rgdal rgeos RPostgres scales sp stringr viridis]; };
   crfsuite = derive2 { name="crfsuite"; version="0.4"; sha256="0arxbszaf1y8cqgzbq9a5l58n3c3rhjfp78lnhdxg95cdmdzhcfd"; depends=[data_table Rcpp]; };
+  cricketdata = derive2 { name="cricketdata"; version="0.1.0"; sha256="1g47f2rskmpb98xq7jc5wbl11414fpyg8jdrbakmzfcvyzfw99cb"; depends=[dplyr lubridate magrittr progress readr rvest stringr tibble tidyr xml2]; };
   cricketr = derive2 { name="cricketr"; version="0.0.26"; sha256="1y1zf9f59v95knggq5nna5rp7fqpv1swwvkajwqbpicc12g2azq4"; depends=[dplyr forecast ggplot2 httr lubridate plotrix scatterplot3d XML]; };
   crimCV = derive2 { name="crimCV"; version="0.9.6"; sha256="14ckk88i7jk8a7kl51d7qfdis44jng6zz9zd72cdp80a57dvrvzq"; depends=[]; };
   crimedata = derive2 { name="crimedata"; version="0.2.0"; sha256="073zlk9b4saz72d33z73mc9qzfk49bxwjhph6zbw27nl38k74j7d"; depends=[digest dplyr httr magrittr purrr readr sf stringr tibble]; };
@@ -7679,7 +7752,8 @@ in with self; {
   crimeutils = derive2 { name="crimeutils"; version="0.3.0"; sha256="1g7na36k1na7bsq8xqi01ja2fpb09r2davpi56jn5k1lih93kp8k"; depends=[dplyr ggplot2 gridExtra gt magrittr readr rlang scales tidyr]; };
   crisp = derive2 { name="crisp"; version="1.0.0"; sha256="1gs8jnd9y9pd55w6kwv9mvmg3wd8hjiw3lwx7k242pxccsxklfxq"; depends=[MASS Matrix]; };
   crispRdesignR = derive2 { name="crispRdesignR"; version="1.1.6"; sha256="1h9153iv55qkx9hyf3gs118m99mkzj5mbj6i3jg58chfp0m6jx78"; depends=[BiocGenerics Biostrings DT gbm GenomeInfoDb GenomicRanges IRanges rtracklayer S4Vectors shiny stringr vtreat]; };
-  criticalpath = derive2 { name="criticalpath"; version="0.1.0"; sha256="1b8qid85727j6ai7wmm30g44jzsq8im9i29hw1xas09qky63z1n9"; depends=[igraph R6]; };
+  criticality = derive2 { name="criticality"; version="0.9.0"; sha256="0cv9lxkcc3qjfyyiamglr03csr3z1hd281kysqlknzqvzl0hddly"; depends=[bnlearn caret dplyr evd fitdistrplus ggplot2 keras magrittr reticulate scales]; };
+  criticalpath = derive2 { name="criticalpath"; version="0.2.0"; sha256="1bnsmns1zrzfymy1wrbpbs7x1arcc55bqwapvvvjyz3mwxkbi56x"; depends=[dplyr igraph magrittr R6 stringr tibble]; };
   critpath = derive2 { name="critpath"; version="0.1.4"; sha256="1jr5ra8gwzcfnap87z4snb5mmfqq2iaas2x54kqqcsb2gsk3gchs"; depends=[DiagrammeR ggplot2 reshape2]; };
   crmPack = derive2 { name="crmPack"; version="1.0.0"; sha256="11zy1ci9d0zjbmc0gws9j9qrnfcqvky1ws9p41wjn0zifcckc5gi"; depends=[GenSA ggplot2 gridExtra MASS mvtnorm rjags]; };
   crmReg = derive2 { name="crmReg"; version="1.0.2"; sha256="0y6xb0sxhsqcmcwbkwvk70snwqhxgzl513ld9dp53cm88qdwaj1r"; depends=[FNN ggplot2 gplots pcaPP plyr robustbase rrcov]; };
@@ -7687,7 +7761,7 @@ in with self; {
   crn = derive2 { name="crn"; version="1.1"; sha256="1fw0cwx478bs6hxidisykz444jj5g136zld1i8cv859lf44fvx2d"; depends=[chron RCurl]; };
   crochet = derive2 { name="crochet"; version="2.3.0"; sha256="0zvjaf6cv0nrjb4l4llkr0mmgha7ig31p4ri2rlnqyjlxi5l8hyq"; depends=[]; };
   cromwellDashboard = derive2 { name="cromwellDashboard"; version="0.5.1"; sha256="0d57c1wdd1ds9fr7p256la63qbv8mirljgrvl1k8fp5gcnkps5wb"; depends=[dplyr DT httr shiny shinydashboard stringr]; };
-  cronR = derive2 { name="cronR"; version="0.6.0"; sha256="0y56d4hxd73w6gk6byp4dn9bx9jra2882h09gj9wksc6hqags5m7"; depends=[digest]; };
+  cronR = derive2 { name="cronR"; version="0.6.1"; sha256="06xs7fb2cw9ax7jrm4lwagyfbs34vrrilrr5rnb1jl1b2lmzpfii"; depends=[digest]; };
   crone = derive2 { name="crone"; version="0.1.1"; sha256="03qznxml940rl3kfxy4jkg9nsx9ss0gf2ck0ry000xglw6rm2s42"; depends=[]; };
   cronologia = derive2 { name="cronologia"; version="0.2.0"; sha256="143wc9i9d99cybnjzg4dj7jn7sv3cc4bq3hh6mp50j9hwxnr1xhh"; depends=[glue htmltools]; };
   crop = derive2 { name="crop"; version="0.0-2"; sha256="1yjpk7584wrz9hjqs21irjnrlnahjg8lajra9yfdp6r927iimg1l"; depends=[]; };
@@ -7701,7 +7775,6 @@ in with self; {
   crossmap = derive2 { name="crossmap"; version="0.3.0"; sha256="0dw1sg1by5805l72s5sbldznyp9qph9qrm4sizvqdx74bhb59s1y"; depends=[backports broom dplyr purrr rlang]; };
   crossmatch = derive2 { name="crossmatch"; version="1.3-1"; sha256="082lrv2129mfhwlh99z3g8id3a29s8854skl152bl3ig8pk2gbjz"; depends=[nbpMatching survival]; };
   crossrun = derive2 { name="crossrun"; version="0.1.0"; sha256="0br57nraqhs5f1cpidc8kd31izm82wvhiw9pxcdj9v51l9vifbmx"; depends=[Rmpfr]; };
-  crosstable = derive2 { name="crosstable"; version="0.3.2"; sha256="17agqfwcz04d69xsf7k6dybv66wlgjcvhsxym48p7sy8s19vrb6b"; depends=[checkmate dplyr flextable forcats glue lifecycle officer purrr rlang stringr survival tibble tidyr tidyselect]; };
   crosstalk = derive2 { name="crosstalk"; version="1.2.0"; sha256="180y7mhpj17axpadwhh7s0qvrpdnag7g977vk256l96d6nmvlds2"; depends=[htmltools jsonlite lazyeval R6]; };
   crossval = derive2 { name="crossval"; version="1.0.4"; sha256="0vshlyc6w4kfs03n56ylapiqgdyday7068wmfsphj4lhw322s4yp"; depends=[]; };
   crossvalidationCP = derive2 { name="crossvalidationCP"; version="1.0-1"; sha256="0hxy9c83j8afgf4zg560x21yc4iyb1ykfv6mi1ak5qf5czhnnckf"; depends=[changepoint FDRSeg stepR wbs]; };
@@ -7723,11 +7796,11 @@ in with self; {
   crsuggest = derive2 { name="crsuggest"; version="0.3.1"; sha256="13h6hfj3bvdb5wzq1f2m5s9crjmg0ijhfh87y1dmyimv76kr31k6"; depends=[dplyr mapview purrr sf units]; };
   crtests = derive2 { name="crtests"; version="0.2.1"; sha256="0z8idz37dgwvi1q2vryldii7fn9yxd32gds77ml76jfplxbkikpd"; depends=[caret plyr stringr]; };
   crul = derive2 { name="crul"; version="1.2.0"; sha256="133g0skz4lifl8hm8pqdryd2m2drbrm6mdfzbbsrw8fg46di86my"; depends=[curl httpcode jsonlite mime R6 urltools]; };
-  crunch = derive2 { name="crunch"; version="1.28.2"; sha256="11llq25jnjy54j5w5mfkfm5cw4zf3lm76zcjmi7hy61y8w04bc4i"; depends=[abind crayon curl httpcache httr jsonlite]; };
+  crunch = derive2 { name="crunch"; version="1.29.0"; sha256="0isvz222pivdrbl08284xci38mbz6ldhj8bv0lag3h49zi1k02sv"; depends=[abind crayon curl httpcache httr jsonlite]; };
   crunchy = derive2 { name="crunchy"; version="0.3.3"; sha256="15w72kmizsxkj1wx3nqny6329m2041mxyzi4nxh8l3hfmaisb4qm"; depends=[crunch httpcache miniUI rstudioapi shiny]; };
   cruts = derive2 { name="cruts"; version="1.1"; sha256="1ih6h9qk4yflzars00d61smjqj7s4bfvc2ikp6vlki9f6k012xcx"; depends=[lubridate ncdf4 raster sp stringr]; };
   cry = derive2 { name="cry"; version="0.4.1"; sha256="14wicmlg8vzrqv4wf5xzf37l29ch3cbglbanmgbqdi8p49jpw1cf"; depends=[zoo]; };
-  crypto2 = derive2 { name="crypto2"; version="1.3.0"; sha256="06jja7jl942zzs4pv9k7pfbllxdn6lh59h86dri1lnyglr7syy9j"; depends=[cli dplyr jsonlite lubridate progress purrr tibble tidyr]; };
+  crypto2 = derive2 { name="crypto2"; version="1.4.3"; sha256="0c4ih53s6k3wf7zksz4x1vp27685s1qlyxarcfgvs2176zhnd42h"; depends=[cli dplyr jsonlite lubridate plyr progress purrr tibble tidyr]; };
   cryptowatchR = derive2 { name="cryptowatchR"; version="0.2.0"; sha256="0lf94l5klkx1j1fgaq2qjqr2y8ckm5raa3a508x72ph45v10pfyq"; depends=[httr jsonlite lubridate]; };
   cryst = derive2 { name="cryst"; version="0.1.0"; sha256="04da19dy3mkngd3ma44cd8cdkb5acjy9lbhfipa9flp339j1pp57"; depends=[flux pracma]; };
   csSAM = derive2 { name="csSAM"; version="1.2.4"; sha256="1ms8w4v5m9cxs9amqyljc2hr1178cz6pbhmv7iiq9yj1ijnl4r1x"; depends=[]; };
@@ -7754,7 +7827,7 @@ in with self; {
   ctf = derive2 { name="ctf"; version="0.1.0"; sha256="1vwqfh1y2if79rkpy6b0ay50fyis7h5rlpvhgikahnmcr2q5l14m"; depends=[iotools jsonlite]; };
   ctgdist = derive2 { name="ctgdist"; version="0.1.0"; sha256="1m3ryppfvd984n5xfphjqhi9i1sigl17v897mqaichj21dzaq62f"; depends=[mirt]; };
   ctgt = derive2 { name="ctgt"; version="2.0"; sha256="0g2ibk9pxay0idj55q0yh4vbdb6l6460r997fnapimn7fgyz6f66"; depends=[BH Rcpp]; };
-  cthist = derive2 { name="cthist"; version="0.1.2"; sha256="1457nx79p0c69f1fsf0g7b1yg1nyl2f6my75q41mdhaxy14xbcnb"; depends=[dplyr httr jsonlite magrittr readr rlang rvest selectr stringr tibble]; };
+  cthist = derive2 { name="cthist"; version="0.1.3"; sha256="03ns8ckacnz3k5dmyzkhg61wrp7syg1igmp96y4nwkl0z9lz3294"; depends=[dplyr httr jsonlite magrittr readr rlang rvest selectr stringr tibble]; };
   cthreshER = derive2 { name="cthreshER"; version="1.1.0"; sha256="18b66d08dq8pvnixmm4ir4r800b37z5yillaa88l317mdilbci9s"; depends=[Matrix]; };
   ctl = derive2 { name="ctl"; version="1.0.0-4"; sha256="027cij4vdsq3xhi38izzn07q6xwja7n8v95l7kk1pp92y9qkvqv3"; depends=[MASS qtl]; };
   ctmcd = derive2 { name="ctmcd"; version="1.4.1"; sha256="01nflgdyb70kh4f8bnxpavr31fz4fh02kgz2nlx3zzblnm2idbcx"; depends=[coda expm numDeriv Rcpp RcppArmadillo]; };
@@ -7776,7 +7849,7 @@ in with self; {
   cubfits = derive2 { name="cubfits"; version="0.1-4"; sha256="1dg60162s77p82v8vig52yl8ar8h0pijps8kqq35v1hvp5a3ny5q"; depends=[coda foreach]; };
   cubicBsplines = derive2 { name="cubicBsplines"; version="1.0.0"; sha256="1dzwadhhrxgral9x4hxyyy1fyn45pmbwv6wiwfxhivkxmd3s2xdr"; depends=[]; };
   cubing = derive2 { name="cubing"; version="1.0-5"; sha256="1q23fplvklaaldicqic0zpnh301m08zb9k21l47zj47g9m9pj4bc"; depends=[rgl]; };
-  cuda_ml = derive2 { name="cuda.ml"; version="0.3.1"; sha256="13zxq1a2dfvfj1hsbyzmbibnvw2csifj51kq5afr95dda67zncda"; depends=[ellipsis hardhat parsnip Rcpp rlang]; };
+  cuda_ml = derive2 { name="cuda.ml"; version="0.3.2"; sha256="0vqmy8qs3234gllpymvnf2x4a5g9rcmn9ja8cvccksvx6bh10mgz"; depends=[ellipsis hardhat parsnip Rcpp rlang]; };
   cultevo = derive2 { name="cultevo"; version="1.0.2"; sha256="0rmncp4mrdpf3izhhqn9406i36j3d3d7i8cglip04lkfbypl9jvy"; depends=[combinat Hmisc pspearman stringi]; };
   cumSeg = derive2 { name="cumSeg"; version="1.3"; sha256="0n1hp0abnd6zn72fkgkj9k875vivn5kr3q76sjy6q6va7x24j6sg"; depends=[lars]; };
   cuml4r = derive2 { name="cuml4r"; version="0.1.0"; sha256="0zwm8laprwhkjn2ji16f08952hri3bk1qvpj8yhwaqiv4cj2q43k"; depends=[magrittr Rcpp rlang zeallot]; };
@@ -7802,8 +7875,8 @@ in with self; {
   cutoffR = derive2 { name="cutoffR"; version="1.0"; sha256="1801jylmpp4msyf07rhg4153kky1zvi4v0kkjb9d51dc7zkhh531"; depends=[ggplot2 reshape2]; };
   cutpointr = derive2 { name="cutpointr"; version="1.1.1"; sha256="1lcs4dv13y9q6iwan7livlfaf5bqgg116br1knm4wk56jhxjaf4k"; depends=[dplyr foreach ggplot2 gridExtra purrr Rcpp rlang tibble tidyr tidyselect]; };
   cuttlefish_model = derive2 { name="cuttlefish.model"; version="1.0"; sha256="1rmkfyfd1323g2ymd5gi1aksp160cwy5ha5cjqh5r6fzd8hhqjxs"; depends=[]; };
-  cvAUC = derive2 { name="cvAUC"; version="1.1.0"; sha256="13bk97l5nn97h85iz93zxazhr63n21nwyrpnl856as9qp59yvn64"; depends=[data_table ROCR]; };
-  cvCovEst = derive2 { name="cvCovEst"; version="1.0.1"; sha256="0hc6dvxnl4d6fcwh4sq2q41f75vmfh6c6wsv0pgbwf0h9hslzd2v"; depends=[assertthat coop dplyr ggplot2 ggpubr Matrix matrixStats origami purrr RColorBrewer Rdpack rlang RSpectra stringr tibble]; };
+  cvAUC = derive2 { name="cvAUC"; version="1.1.4"; sha256="1m2y50a1yapf1c74km9a4r47ds2z2bfp4wwwkqin7swv9v1s7d28"; depends=[data_table ROCR]; };
+  cvCovEst = derive2 { name="cvCovEst"; version="1.0.2"; sha256="138jhwy0dhnrvvxvnplhnqcrjdfdvqwb81605z1an4cbyxvgxyqi"; depends=[assertthat coop dplyr ggplot2 ggpubr Matrix matrixStats origami purrr RColorBrewer Rdpack rlang RSpectra stringr tibble]; };
   cvGEE = derive2 { name="cvGEE"; version="0.3-0"; sha256="085qjm520l2441nakfxy851s6bfy5832b5fy54z5fp4xr1jn6snm"; depends=[]; };
   cvTools = derive2 { name="cvTools"; version="0.3.2"; sha256="0b7xb6dmhqbvz32zyfbdvm9zjyc59snic6wp1r21ina48hchn3sj"; depends=[lattice robustbase]; };
   cvam = derive2 { name="cvam"; version="0.9.2"; sha256="0ylfs2ry1ppigvs7py71vbslxga1d3kaijzwr8v923f3j14zkm54"; depends=[coda Formula]; };
@@ -7820,7 +7893,7 @@ in with self; {
   cwbtools = derive2 { name="cwbtools"; version="0.3.4"; sha256="1wj42n6phniwh6ms5xfmfazd8a0lkaf46wzv916i9xzsaf6hzqr7"; depends=[cli curl data_table fs httr jsonlite lifecycle pbapply R6 RcppCWB rstudioapi stringi xml2 zen4R]; };
   cwhmisc = derive2 { name="cwhmisc"; version="6.6"; sha256="1pf365g4f51cfrhlff9mqw2ddvkps0abax17zcn3vw1ba2djalnp"; depends=[lattice]; };
   cwm = derive2 { name="cwm"; version="0.0.3"; sha256="1ln2l12whjhc2gx38hkf3xx26w5vz7m377kv67irh6rrywqqsyxn"; depends=[MASS matlab permute]; };
-  cxhull = derive2 { name="cxhull"; version="0.2.0"; sha256="1m03ym83ghgmb0j14aihfj6divmnr13f5s9jwknicjsxz3p3divk"; depends=[]; };
+  cxhull = derive2 { name="cxhull"; version="0.3.0"; sha256="1s6w6ni90lp75rw8hvcqbavy84vzzll1pc4gnvnbhw4kl4q55jbq"; depends=[rgl]; };
   cxr = derive2 { name="cxr"; version="1.0.0"; sha256="12rx7hna3h84a2xb2ir43xgb3zfmh0fhn5wcdjklk2g94dmwid28"; depends=[mvtnorm optimx]; };
   cxxfunplus = derive2 { name="cxxfunplus"; version="1.0"; sha256="0kyy5shgkn7wikjdqrxlbpfl3zkkv4v1p8a1vv0xkncwarjs4n8d"; depends=[inline]; };
   cycleRtools = derive2 { name="cycleRtools"; version="1.1.1"; sha256="1l7w2lm4s149ndd85v41pkdrdig6l3nmhl14bdx56aw8q57fxmb0"; depends=[Rcpp xml2]; };
@@ -7828,6 +7901,7 @@ in with self; {
   cyclocomp = derive2 { name="cyclocomp"; version="1.1.0"; sha256="0gky3svk02wiajw7nfjh30684h3qxili4bvsab0m7b6cggw6bgyd"; depends=[callr crayon desc remotes withr]; };
   cycloids = derive2 { name="cycloids"; version="1.0"; sha256="00pdxny11mhfi8hf76bfyhd1d53557wcbl2bqwjzlpw5x3vdnsan"; depends=[]; };
   cyclomort = derive2 { name="cyclomort"; version="1.0.2"; sha256="0qmfwhrp7bq7av0yc95xnz2sd1jxfaiys9smrk1kpclnynnra9rr"; depends=[flexsurv lubridate magrittr mvtnorm plyr scales survival]; };
+  cyjShiny = derive2 { name="cyjShiny"; version="1.0.34"; sha256="0n5vlg9y8zpa2mnxz47h47y4l6vi1x1xi47rihiai6ijz61aqvnx"; depends=[base64enc graph htmlwidgets jsonlite shiny]; };
   cylcop = derive2 { name="cylcop"; version="0.1.0"; sha256="1cj76614jqvs2k5n5lbws0jgabr93yd6nvzr4zkgh9zdicxh731h"; depends=[circular copula cowplot data_table dplyr extraDistr ggplot2 GoFKernel infotheo MASS movMF mvtnorm plotly purrr Rdpack rgl rlang stringr viridis]; };
   cymruservices = derive2 { name="cymruservices"; version="0.5.0"; sha256="1xhdvijybdy7312qdbp50881yix587pmym0hchnwb3h0vhjv553v"; depends=[memoise pingr stringi]; };
   cyphid = derive2 { name="cyphid"; version="1.1"; sha256="0ya9w8aw27n0mvvjvni4hxsr4xc8dd08pjxx7zkfl1ynfn5b08am"; depends=[fda]; };
@@ -7855,6 +7929,7 @@ in with self; {
   dMod = derive2 { name="dMod"; version="1.0.2"; sha256="1fnv3f5xlng8f3df5hvxncfnnadzwcsdiklrb2g67llf3m06bq74"; depends=[cOde deSolve doParallel dplyr foreach ggplot2 plyr rootSolve stringr]; };
   dPCP = derive2 { name="dPCP"; version="1.0.4"; sha256="1wxni1m9iaak0isc1sl205dnx3v8pzqyj22aj7alzwim6d6a4hjq"; depends=[dbscan e1071 exactci ggplot2 ggpubr raster rlist scales shiny shinyjs stringr]; };
   dSVA = derive2 { name="dSVA"; version="1.0"; sha256="0vy0flyg82x0n9vw6jf9f76qy84sp0wnis91faj37ac5hdv3pvsb"; depends=[sva]; };
+  dTBM = derive2 { name="dTBM"; version="2.0"; sha256="14y0x97gb1345ybvpd4rk0bidlzl613lgrl9pa4y197nhdkqdrx0"; depends=[EnvStats tensorregress WeightedCluster]; };
   daarem = derive2 { name="daarem"; version="0.5"; sha256="167sqp7fnyhwgk7crl3b6m6i8mpn3hmsaqzi4v5ggi48fg19bis7"; depends=[]; };
   dabestr = derive2 { name="dabestr"; version="0.3.0"; sha256="0i4k8h46cw5ds1cammxxli8kpc82ill81xw3izi33lja7wl9vmnw"; depends=[boot cowplot dplyr effsize ellipsis forcats ggbeeswarm ggforce ggplot2 magrittr plyr RColorBrewer rlang simpleboot stringr tibble tidyr]; };
   dabr = derive2 { name="dabr"; version="0.0.3"; sha256="1x7vh5s2gd7x62c30hqhs6rbif9jpmfvqzlxlqwc6hc5wqd3x6q6"; depends=[knitr magrittr RMariaDB tibble]; };
@@ -7870,6 +7945,7 @@ in with self; {
   dagitty = derive2 { name="dagitty"; version="0.3-1"; sha256="1a78g2nr8i7mzzxyb6mfsqqgjyf3s4hwngvyd9vyygzcb79bai3x"; depends=[boot jsonlite MASS V8]; };
   dagwood = derive2 { name="dagwood"; version="0.1.3"; sha256="1z4a02b7z2wihsxm7p19478p3ix0f7j3kly2x43ib5207fh9m1yb"; depends=[dagitty]; };
   daiR = derive2 { name="daiR"; version="0.9.0"; sha256="0kq633jpiagbpsj0190pzpxmz8df6niqc6lwqgrahxfpda798srk"; depends=[base64enc curl fs gargle glue googleCloudStorageR httr jsonlite magick pdftools purrr stringr]; };
+  dail = derive2 { name="dail"; version="1.1"; sha256="1j7czlx8j3cfqh11cc5srm86fn5rky28pdj0is31abp5ff05017q"; depends=[dplyr magrittr readr stopwords stringr tidytext]; };
   dalmatian = derive2 { name="dalmatian"; version="1.0.0"; sha256="0hpyg8sl5v87l1hxax9sj863hy9njdyp7hnsaw3cida365p0dswa"; depends=[coda dglm dplyr ggmcmc rlang tidyr]; };
   dam = derive2 { name="dam"; version="0.0.1"; sha256="1b0fi3l8jxgpr9fwvi03giq7wm39msbh0c82ffgkh54a3bbf5blc"; depends=[]; };
   dampack = derive2 { name="dampack"; version="1.0.1"; sha256="0mh3x0xgcipbd9341x3sfapysrd9m8aaakc1f53vwjj31c8vayqc"; depends=[dplyr ellipse ggplot2 ggrepel mgcv reshape2 scales stringr triangle truncnorm]; };
@@ -7878,6 +7954,7 @@ in with self; {
   dang = derive2 { name="dang"; version="0.0.15"; sha256="0zy72rlviisjb3syvj2fq9zliwk02m33kjd7h9q7n3xq3876bi4w"; depends=[tidyCpp]; };
   dani = derive2 { name="dani"; version="0.1-1"; sha256="0ff0hcb5r8k6m6kv1zhjrpvl7gr1al3q0zlk4yjj89qd2j5byqp8"; depends=[Epi]; };
   dann = derive2 { name="dann"; version="0.2.2"; sha256="115mc2mrmriyp24i8xgr58bjfgz6rzccl7s4akzp8rq5vhca707y"; depends=[fpc ggplot2 MASS purrr Rcpp RcppArmadillo rlang stringr tibble]; };
+  danstat = derive2 { name="danstat"; version="0.2.0"; sha256="16b0dl41g56s6iyxndpl403wgqqj1l3g9k78y3ciq5djq3a25m97"; depends=[httr jsonlite readr]; };
   dapr = derive2 { name="dapr"; version="0.0.3"; sha256="136chxijyxrl5sbiggxf56zga26zqds647z1z2igwn5mdff1wxyb"; depends=[]; };
   daqapo = derive2 { name="daqapo"; version="0.3.1"; sha256="09fmnpp4nl6n1z834dxzs2v56ba9sfb4mrmc1nrrixxhfsxshmb7"; depends=[bupaR dplyr edeaR glue lubridate magrittr miniUI purrr readr rlang shiny stringdist stringr tidyr xesreadR]; };
   darksky = derive2 { name="darksky"; version="1.3.0"; sha256="1740cw5qifgvqa0nafd6lmllxi32n1zm45zlify1yn3h1qdcszhb"; depends=[ggplot2 gridExtra gtable httr plyr]; };
@@ -7893,6 +7970,7 @@ in with self; {
   dat = derive2 { name="dat"; version="0.5.0"; sha256="1d3q4bang6pm06rfzh6h947xy3wwqn3l6ri0h4hzklg5pzwpsajd"; depends=[aoos data_table Formula magrittr progress]; };
   data_table = derive2 { name="data.table"; version="1.14.2"; sha256="0arx5wna0sh0vf5q8rjhh8nqdmnvg2pdpbhljl9l0x4kwm8vjhgp"; depends=[]; };
   data_tree = derive2 { name="data.tree"; version="1.0.0"; sha256="0pizmx2312zsym4m42b97q2184bg3hibvbdrblcga05xln84qrs0"; depends=[R6 stringi]; };
+  data_validator = derive2 { name="data.validator"; version="0.1.6"; sha256="1qzgwi9agsli96whzsyx7qxqzc5sixpqrd7z6fh4yrcv1i3li8yr"; depends=[assertr dplyr htmltools htmlwidgets knitr purrr R6 rlang rmarkdown shiny shiny_semantic tibble tidyr]; };
   data360r = derive2 { name="data360r"; version="1.0.8"; sha256="0g3prfaqy7d5fdla4l31cj87vhzi945g22zr7pi2c2whlk4q4n09"; depends=[curl data_table jsonlite reshape2]; };
   dataCompareR = derive2 { name="dataCompareR"; version="0.1.4"; sha256="1rapnlbi43z4sx4rq3fp8kpqhdj4g02fi3xglldbdp0c59f9vacg"; depends=[dplyr knitr markdown stringi]; };
   dataMaid = derive2 { name="dataMaid"; version="1.4.1"; sha256="06jywq3llwafjnpklqimra456crdi752zxci6z1w0v7p8blf4vjw"; depends=[ggplot2 gridExtra haven htmltools magrittr pander rmarkdown robustbase stringi whoami]; };
@@ -7914,9 +7992,9 @@ in with self; {
   dataonderivatives = derive2 { name="dataonderivatives"; version="0.4.0"; sha256="0bp1ynarz70c2clsz60dqfd4vmgm3251jv6821db5n7fffdrr7qa"; depends=[httr2 readr tibble vetr]; };
   dataone = derive2 { name="dataone"; version="2.2.1"; sha256="1gnzyjiwppx5mjwf38nm146vvmy6vlpqy9ibd2rc5f744pdvifxb"; depends=[base64enc datapack hash httr jsonlite parsedate plyr stringi stringr uuid XML]; };
   datapack = derive2 { name="datapack"; version="1.4.0"; sha256="1n69ycca7f7igl9n6spdhn2s431vrljmd0v80q3s5jnyb4mf4xyd"; depends=[digest hash redland uuid XML]; };
-  datapackage_r = derive2 { name="datapackage.r"; version="1.3.4"; sha256="19zdy82skzx1mp32vm2lbzyqf8a9szzizdg8f9sif33sszyly96q"; depends=[config future httr iterators jsonlite jsonvalidate purrr R_utils R6 readr rlist stringr tableschema_r urltools V8]; };
+  datapackage_r = derive2 { name="datapackage.r"; version="1.3.5"; sha256="01xx8alj3niznkrn3y2w9j1g60zn1fq0a2clf4r5p2pjyr2rqgy3"; depends=[config future httr iterators jsonlite jsonvalidate purrr R_utils R6 readr rlist stringr tableschema_r urltools V8]; };
   datapasta = derive2 { name="datapasta"; version="3.1.0"; sha256="0sqv29iv2rv50rbw1601rn8p7gv7rsw00djhl7h1znr0igzi5b82"; depends=[clipr readr rstudioapi]; };
-  dataprep = derive2 { name="dataprep"; version="0.1.4"; sha256="0knzwnhpj7ahrd12n56f65wmsmrapgnnqdl10b5cacf0idih12g5"; depends=[data_table doParallel dplyr foreach ggplot2 reshape2 scales zoo]; };
+  dataprep = derive2 { name="dataprep"; version="0.1.5"; sha256="1v48ry6xk0qg73j6js6m6fqd1bdhjv500bndb60zzl2qifrjfk2a"; depends=[data_table doParallel dplyr foreach ggplot2 reshape2 scales zoo]; };
   dataquieR = derive2 { name="dataquieR"; version="1.0.9"; sha256="0wc7vjjjffvmg9ahbqnygfrsk97n7k4y1y0ichvpr2nc8pfi7772"; depends=[dplyr emmeans ggplot2 ggpubr lme4 lubridate MASS MultinomialCI parallelMap patchwork R_devices reshape rlang robustbase]; };
   datardis = derive2 { name="datardis"; version="0.0.2"; sha256="1ijwrbkz5dp19b225n6dcbjw264pad4imgm0yf1nqr106h92yjdv"; depends=[dplyr magrittr]; };
   dataresqc = derive2 { name="dataresqc"; version="1.1.0"; sha256="1m7c93yk3dp1l5ysgscjvmv7z0xnmgaz4bkci4ljmmmn5a9v6r3c"; depends=[]; };
@@ -7925,16 +8003,16 @@ in with self; {
   datasailr = derive2 { name="datasailr"; version="0.8.10"; sha256="03bnrgpwhmh67zrvap3cbaqd5k6nkp63b2h8m08xrdp1ngp5inik"; depends=[Rcpp]; };
   datasauRus = derive2 { name="datasauRus"; version="0.1.4"; sha256="1w1yhwwrmh95bklacz44wjwynxd8cj3z8b9zvsnzmk18m5a4k0fl"; depends=[]; };
   dataseries = derive2 { name="dataseries"; version="0.2.0"; sha256="11wc2p5m8qbdmkpbd21lpwl28a1dpab88c3gqyrhsn0298lpnip4"; depends=[]; };
-  datasets_load = derive2 { name="datasets.load"; version="1.6.0"; sha256="0ybxqk0azzaxvcdffqb8d62sap11sx2zp7j1ndva83pmamwpckfj"; depends=[DT miniUI shiny]; };
+  datasets_load = derive2 { name="datasets.load"; version="2.0.0"; sha256="11ckwijflh915gj4w1gwaj8v58ksl3q33rdafb82p2m4gx41rlr5"; depends=[DT miniUI shiny]; };
   datasetsICR = derive2 { name="datasetsICR"; version="1.0"; sha256="1iw8am7y6r6j21rp6r6iw1ri4c2yrgza7aw3ams4xbx6mcz3746y"; depends=[]; };
   dataspice = derive2 { name="dataspice"; version="1.1.0"; sha256="1pnmb7kdx9wdvi2873rw1a7hc7spsvx4lfvfhfcqwgll46j0f1wm"; depends=[dplyr EML fs ggplot2 jsonlite magrittr purrr readr rhandsontable shiny stringr tibble tidyr whisker]; };
   datastepr = derive2 { name="datastepr"; version="0.0.2"; sha256="039yggdj8jdici7hwmkjwgix45lvwjl7rw5h2rfzsm9xaq6vw1z2"; depends=[dplyr lazyeval magrittr R6 tibble]; };
   datastructures = derive2 { name="datastructures"; version="0.2.9"; sha256="0prw24iy1af02g1nzw588dv085bdnl6pzvizpxspmwzj6vrfbaav"; depends=[BH purrr Rcpp]; };
-  dataverse = derive2 { name="dataverse"; version="0.3.9"; sha256="10kdqav21j5f18jgf754d1wvlx1j61xs4kj31jwj48nkwr38719x"; depends=[checkmate httr jsonlite readr xml2]; };
-  datawizard = derive2 { name="datawizard"; version="0.2.2"; sha256="0sd0blrczf9qz5kd0jg112fag2w401kkbw1gp9wi5pgffgwp6va3"; depends=[insight]; };
-  datazoom_amazonia = derive2 { name="datazoom.amazonia"; version="0.2.0"; sha256="0l24blbscai47rj9s8a0znd5q4mayddp639107r8dib466ykrz3g"; depends=[data_table dplyr geobr googledrive Hmisc janitor labelled lubridate magrittr purrr RCurl readr readxl sf sidrar stringi stringr tibble tidyr XML]; };
+  dataverse = derive2 { name="dataverse"; version="0.3.10"; sha256="0fhxzd83hl2qgif8d5caw893i5w2b951yl7a5dmbj69ihcn0xfrg"; depends=[checkmate httr jsonlite readr xml2]; };
+  datawizard = derive2 { name="datawizard"; version="0.2.3"; sha256="0hcnwz42zy9hp32brga31jwk34bz063myqjp2wfxsqm4sqrkv2rx"; depends=[insight]; };
   date = derive2 { name="date"; version="1.2-39"; sha256="0mwp1619rxqyyyyxk224fh0x6g4rgyvr97q0kj076cxp71b97cdm"; depends=[]; };
   datefixR = derive2 { name="datefixR"; version="0.1.3"; sha256="0vphkw0db0wvcq10kclz5xw5kfckmj6nqp2p3l8l82p5aqgp0ij8"; depends=[stringr]; };
+  datelife = derive2 { name="datelife"; version="0.6.1"; sha256="0fv478ykka6m5j3d6k7265xp76qc78fr7ms9khx349qbylj67306"; depends=[abind ape BiocManager bold cluster compare geiger httr ips knitcitations paleotree phangorn phylobase phylocomr phytools plyr rotl stringr taxize treebase]; };
   daterangepicker = derive2 { name="daterangepicker"; version="0.1.0"; sha256="1605ch84ad3nmmad0yy3id0izv0nz536lxwib6rkdkjik5761gqk"; depends=[htmltools jsonify shiny]; };
   datetime = derive2 { name="datetime"; version="0.1.4"; sha256="0nn1yxknsn3crmwbkws5kvfjhd65dw0fkfbg67gba0dyaqp1jg37"; depends=[]; };
   datetimeutils = derive2 { name="datetimeutils"; version="0.5-0"; sha256="030md2pydhgx8x8chga7byl8x41m2dbw94b4ds7md2nqkdrq7hqz"; depends=[]; };
@@ -7961,13 +8039,13 @@ in with self; {
   dbhydroR = derive2 { name="dbhydroR"; version="0.2-8"; sha256="1gd3n6i47qbxp6d3y5sjvgmxc5p3afy2lhkg9020ws1xm0bk9q7d"; depends=[httr reshape2 XML]; };
   dblcens = derive2 { name="dblcens"; version="1.1.7"; sha256="02639vyaqg7jpxih8cljc8snijb78bb084f4j3ns6byd09xbdwcw"; depends=[]; };
   dblr = derive2 { name="dblr"; version="0.1.0"; sha256="0wzmhmp706mw0pkh81nsb7qzclwyhm6f2mjvpvz043ng5xrxwvvw"; depends=[CatEncoders data_table Metrics xgboost]; };
-  dbmss = derive2 { name="dbmss"; version="2.7-7"; sha256="0pzk9xb3zxnk42mashigd1qyg4yvd06wd92lqcbf37cyv2jgwynv"; depends=[cubature ggplot2 Rcpp RcppParallel reshape2 spatstat_core spatstat_geom spatstat_utils tibble]; };
+  dbmss = derive2 { name="dbmss"; version="2.7-8"; sha256="0zh2ipf089pjib3nikhlqpvdfj13h8j5c49fksrk2mmd7rpfrg15"; depends=[cubature ggplot2 Rcpp RcppParallel reshape2 spatstat_core spatstat_geom spatstat_random spatstat_utils tibble]; };
   dbnR = derive2 { name="dbnR"; version="0.7.1"; sha256="19d6vzsx84xbcmpk57si6pc940m6i8dlaa9163r09i6hndd11rx3"; depends=[bnlearn data_table magrittr R6 Rcpp]; };
   dbnlearn = derive2 { name="dbnlearn"; version="0.1.0"; sha256="0kmyiad7v96mnfi24d2pn3dqmk3g82sx348m1vhhqwijfnj53brb"; depends=[bnlearn bnviewer ggplot2]; };
   dbparser = derive2 { name="dbparser"; version="1.2.0"; sha256="06yk6i80xlvrjgi8lpzz82rhhmkbj980vpmpil57acjkfvaznwj6"; depends=[DBI dplyr odbc progress purrr readr RMariaDB RSQLite tibble XML]; };
   dbplot = derive2 { name="dbplot"; version="0.3.3"; sha256="1svizj9hcd417yii8ll9s3mnvdqpa5awy9xl71kbwpfcnpdzqf1r"; depends=[dplyr ggplot2 magrittr purrr rlang]; };
   dbplyr = derive2 { name="dbplyr"; version="2.1.1"; sha256="025wqpmxdhzblb0pf58m3qh5h6bf5x8qvkf47vyl1cjsp13wz95b"; depends=[assertthat blob DBI dplyr ellipsis glue lifecycle magrittr purrr R6 rlang tibble tidyselect vctrs withr]; };
-  dbscan = derive2 { name="dbscan"; version="1.1-8"; sha256="18mgax837daipjx9w7f6iy824ph47sd16bkc4gp8k35knnawxxnz"; depends=[Rcpp]; };
+  dbscan = derive2 { name="dbscan"; version="1.1-10"; sha256="1h8x1v9kk5zmw5qd575cyr16yz8l226lsaq71n079l4i8crcrzg1"; depends=[Rcpp]; };
   dbstats = derive2 { name="dbstats"; version="1.0.5"; sha256="0pr80mx8y87l96hhg0rp3ajxl7yx2f8qr0y1zrjkbzxavjmp9k34"; depends=[cluster pls]; };
   dbx = derive2 { name="dbx"; version="0.2.8"; sha256="0pdf0l9h44666bmfsa43nrmi77ffzygb5mzjfrv7pk99qi7ryw46"; depends=[DBI]; };
   dc3net = derive2 { name="dc3net"; version="1.2.0"; sha256="19ibsvbnq6y88vqvgkm31zrqwjhpml59d792bz0zkk50r1q5bnyr"; depends=[c3net igraph RedeR]; };
@@ -7979,8 +8057,7 @@ in with self; {
   dcminfo = derive2 { name="dcminfo"; version="0.1.7"; sha256="03r0ynzc5cck2rz20zbg5zx8v6s66ivizqav1pjkyvp6kxkmnf8q"; depends=[CDM]; };
   dcmle = derive2 { name="dcmle"; version="0.3-1"; sha256="1d6zk9413h30wcw8q1gnjzk67vshmjcpnh8zjxrsh1h69i1z6rpy"; depends=[coda dclone lattice]; };
   dcmodify = derive2 { name="dcmodify"; version="0.1.9"; sha256="0p4xw74rls7i3fymsjcrazkrp22cfrfffz63l7wyb842z902smls"; depends=[settings validate yaml]; };
-  dcmodifydb = derive2 { name="dcmodifydb"; version="0.1.2"; sha256="0hkp62nffqaqcphq9w0g2mhbvjqz45vwzhmfvj4g980nh8g4bk1p"; depends=[DBI dbplyr dcmodify dplyr validate]; };
-  dcortools = derive2 { name="dcortools"; version="0.1.2"; sha256="0p4qbah5jnb6jraka8bg6cks3namrz66bya2iz98q2adarqd517h"; depends=[ggplot2 Hmisc pheatmap Rcpp RcppArmadillo RcppEigen Rdpack Rfast]; };
+  dcmodifydb = derive2 { name="dcmodifydb"; version="0.2.0"; sha256="1m85vvflq2hgyi2b0mhwy1yln5wqdslj0zap592r6yqcjci38fq7"; depends=[DBI dbplyr dcmodify dplyr validate]; };
   dcov = derive2 { name="dcov"; version="0.1.1"; sha256="0c3a5dzpizsxlsh723pcd0d7n0mgfc9y35vrfhmskp3c1x639mh3"; depends=[Rcpp RcppArmadillo]; };
   dcurver = derive2 { name="dcurver"; version="0.9.2"; sha256="1v4h480lff1cyjjwb80dksiffh0y4b3s07lq2l2r21rn1l4mav6c"; depends=[Rcpp RcppArmadillo]; };
   dcurves = derive2 { name="dcurves"; version="0.2.0"; sha256="0vm1cg6sr152fg5bgy2inf4x42vkbvw9ahy5b1dda8jgc6s7zr9v"; depends=[broom dplyr ggplot2 glue purrr rlang scales survival tibble]; };
@@ -7998,7 +8075,7 @@ in with self; {
   deSolve = derive2 { name="deSolve"; version="1.30"; sha256="0j7mmg1mimdpql8f4i9dn920ciyyq80a5qnc4fq5xn5lyrx5vxir"; depends=[]; };
   deTS = derive2 { name="deTS"; version="1.0"; sha256="08yq7vfcd8fv8qw2w0f1rnj3rzys9kslmkqspmiz6prmzqvj1zf1"; depends=[pheatmap RColorBrewer]; };
   deTestSet = derive2 { name="deTestSet"; version="1.1.7.3"; sha256="0v59cczhwjrk7qgngmiyc7jvx11h808w4s3ww6l83n1ylx81fgll"; depends=[deSolve]; };
-  deaR = derive2 { name="deaR"; version="1.2.4"; sha256="1nkz9gac79rgyn8jlx35cx524c3v68bs6y0zbi2dbff9smxhbh93"; depends=[dplyr ggplot2 gridExtra igraph lpSolve plotly tidyr writexl]; };
+  deaR = derive2 { name="deaR"; version="1.2.5"; sha256="1k38j9l6rhw2gkpvz202gsja1jz3p57d8s3iv2nm7ph9000z03p9"; depends=[dplyr ggplot2 gridExtra igraph lpSolve plotly tidyr writexl]; };
   deadband = derive2 { name="deadband"; version="0.1.0"; sha256="02pq3d0l0wy8bdlyfir3zf46j1ascx4qajyq5cf28yl62q6ngq5d"; depends=[TTR]; };
   deal = derive2 { name="deal"; version="1.2-39"; sha256="0sw0v1mm004ky1gjw3dmvf2vb7nf2j9s9386bhqxijw63j7xnjd3"; depends=[]; };
   deamer = derive2 { name="deamer"; version="1.0"; sha256="1xbxr78n6s1yhf192ab4syi1naqlwl9z4cxzchrkw80q7bxqfiz8"; depends=[]; };
@@ -8009,11 +8086,11 @@ in with self; {
   decision = derive2 { name="decision"; version="0.1.0"; sha256="13d0yyg5zp7n3r92l0l1dsffxfph6vacrlzga9rz41l5pja72z6g"; depends=[]; };
   decisionSupport = derive2 { name="decisionSupport"; version="1.109"; sha256="1ijrnbxx6l500jzlwmjrgb6na09avdp0s4gral8kh9zdswnm380n"; depends=[assertthat chillR dplyr fANCOVA ggplot2 ggstance magrittr msm mvtnorm nleqslv patchwork rriskDistributions stringr tidyr tidyselect]; };
   deckgl = derive2 { name="deckgl"; version="0.2.7"; sha256="0ifv6j0kbwayl60bf1rwd1h7424npqsqsvb44ngg7v0ik4bgbyfx"; depends=[base64enc htmltools htmlwidgets jsonlite magrittr readr tibble yaml]; };
-  declared = derive2 { name="declared"; version="0.7"; sha256="17jc2d2gw6ss8w5d6a5w1mh3h3yyg0mrpys8kqkb5hpfr19r16c7"; depends=[admisc]; };
+  declared = derive2 { name="declared"; version="0.8"; sha256="16i2gahyw853wkb13aa3wc21gidjd8xzgjf1nfppcyixm1qb7fh9"; depends=[admisc]; };
   decode = derive2 { name="decode"; version="1.2"; sha256="1qp0765gl3pgfdzjwj7icf3zminxxmrlw6gx3vj51y6c2y5ws4as"; depends=[]; };
   decoder = derive2 { name="decoder"; version="1.2.2"; sha256="1jxgd32bn36ldal26wivhdxgjy247l7r4ickacr1p8rrwxvhpk18"; depends=[]; };
   decomposedPSF = derive2 { name="decomposedPSF"; version="0.1.3"; sha256="0p9n0qi21facdp9c4fzs78ap4w1wvpvkv51kgx1gkr949kw8cv4n"; depends=[forecast PSF Rlibeemd tseries]; };
-  decompr = derive2 { name="decompr"; version="6.0.0"; sha256="10j2lyly7parlx54bapf1dqh2mxjx9sf4ki4rjh90rlmw9qd0kpn"; depends=[matrixStats]; };
+  decompr = derive2 { name="decompr"; version="6.2.0"; sha256="13a1f6qhzn37z765vqwa4l6yp24jjg8721x0rw9a0wbbzxsxjb09"; depends=[matrixStats]; };
   decon = derive2 { name="decon"; version="1.3-4"; sha256="036cv56wf42q2p3d5h15hbrp5rc29xxy20qwv4k1qzhkq6hmw0qs"; depends=[]; };
   deconstructSigs = derive2 { name="deconstructSigs"; version="1.8.0"; sha256="014x0nb23jb98666kaav2phkvmkr38pi38jv0dqd4jv7zp0gdf1a"; depends=[BSgenome BSgenome_Hsapiens_UCSC_hg19 GenomeInfoDb reshape2]; };
   deconvolveR = derive2 { name="deconvolveR"; version="1.2-1"; sha256="191bgncgwjhb13i27bf8072a0z3mkpjbbp06ys3nri0ggsv5r108"; depends=[]; };
@@ -8034,7 +8111,7 @@ in with self; {
   deepnet = derive2 { name="deepnet"; version="0.2"; sha256="09crwiq12wzwvdp3yxhc40vdh7hsnm4smqamnk4i6hli11ca90h4"; depends=[]; };
   deepredeff = derive2 { name="deepredeff"; version="0.1.1"; sha256="027dsmc3wmm61qc0vybn02c5dbnz5nwf80m9sywci4nhirz978ik"; depends=[Biostrings dplyr ggplot2 ggthemes keras magrittr purrr reticulate rlang seqinr tensorflow]; };
   deepregression = derive2 { name="deepregression"; version="0.1"; sha256="0k062wkhfcnbkg2l09zr56p7fzgxcwllzycmpp4m5swigl6g9z1n"; depends=[dplyr keras magrittr Matrix Metrics mgcv purrr R6 reticulate tensorflow tfprobability tfruns]; };
-  deeptime = derive2 { name="deeptime"; version="0.2.0"; sha256="1nc7n2x7glrmbgsgnmwqggwp45ir8y31g11s2iq5v68ad78pl0x3"; depends=[ggfittext ggforce ggnewscale ggplot2 gridExtra gtable lattice rlang scales]; };
+  deeptime = derive2 { name="deeptime"; version="0.2.1"; sha256="1b0ba304950y2w7x8q5ag66fpfv7c4lpcdglf47yfps5nivkjk4n"; depends=[ggfittext ggforce ggnewscale ggplot2 gridExtra gtable lattice rlang scales]; };
   default = derive2 { name="default"; version="1.0.0"; sha256="0hzxgp9la9kll5cw3m4gd02rii571xsn1v53kz407k7k6rfg5mda"; depends=[]; };
   define = derive2 { name="define"; version="0.2.9"; sha256="0sq7ryiz1py0yw7g2bncd834zsdiy1y7rck8k4grrx2ips5gv2jy"; depends=[encode Hmisc latexpdf SASxport spec]; };
   deflateBR = derive2 { name="deflateBR"; version="1.1.2"; sha256="17zsy10k12gmffbk7nagi60xj347q0bf7wr885fiylqz2xiy9fl9"; depends=[dplyr httr lubridate]; };
@@ -8119,7 +8196,7 @@ in with self; {
   devtools = derive2 { name="devtools"; version="2.4.3"; sha256="0kvbw218jp8pd2lgdjyn94v2iji75s385hkn1qbikcm0pjlmj8g4"; depends=[callr cli desc ellipsis fs httr lifecycle memoise pkgbuild pkgload rcmdcheck remotes rlang roxygen2 rstudioapi rversions sessioninfo testthat usethis withr]; };
   dexter = derive2 { name="dexter"; version="1.1.4"; sha256="0clyhpnzm8an5hcs4lf34ydqnvj0gpsikfwhd3pmh4sg9rkhiwl5"; depends=[DBI dplyr MASS Rcpp RcppArmadillo rlang RSQLite tidyr]; };
   dexterMST = derive2 { name="dexterMST"; version="0.9.2"; sha256="118y8a33l85klj6w5vj5mkr64xvmbf16n6ff3nsk7nx7v1f26x6d"; depends=[crayon DBI dexter dplyr igraph Rcpp RcppArmadillo rlang RSQLite tidyr]; };
-  dextergui = derive2 { name="dextergui"; version="0.2.3"; sha256="1vq2flgry3dl90laj6dq3wsd6b90h3s3kbaqj99f67majagqqdcl"; depends=[Cairo DBI dexter dplyr DT ggExtra ggplot2 ggridges htmltools htmlwidgets jsonlite networkD3 RCurl readODS readxl rlang shiny shinyBS shinyFiles shinyjs tibble tidyr writexl]; };
+  dextergui = derive2 { name="dextergui"; version="0.2.4"; sha256="1vaxgfclbnqdgsgpa0nlqrn0d9fxxj73ggsdp5hnww9j7qwhvn2w"; depends=[Cairo DBI dexter dplyr DT ggExtra ggplot2 ggridges htmltools htmlwidgets jsonlite networkD3 RCurl readODS readxl rlang shiny shinyBS shinyFiles shinyjs tibble tidyr writexl]; };
   dfCompare = derive2 { name="dfCompare"; version="1.0.0"; sha256="1lhx69j0bkjbnp5jz23hrbxjcf04vf3big4k593ixz003xs2077f"; depends=[]; };
   dfadjust = derive2 { name="dfadjust"; version="1.0.3"; sha256="0s9wsws1nxf3fij0jgi6aqqvbx0clk1rdjjyw9in3d1a6ywzcx89"; depends=[]; };
   dfcomb = derive2 { name="dfcomb"; version="3.0-0"; sha256="1vsqlhmajv33nbnh8igisyv3rzzh2fdwbk5y0zlnrwvr79r19k5w"; depends=[BH Rcpp RcppProgress]; };
@@ -8152,16 +8229,17 @@ in with self; {
   diagram = derive2 { name="diagram"; version="1.6.5"; sha256="1r3lyl0h7mk9cfg8smr3jydfkjdawaphnxibkxfjqa7029vkxh79"; depends=[shape]; };
   dialectR = derive2 { name="dialectR"; version="1.0"; sha256="11fd2fdxczlcxkk3pwhiw0vb51bndh9qcfp7pqcfj1z7aga52xk0"; depends=[deldir dplyr dtw ggplot2 ggvoronoi Rcpp RcppProgress reticulate sf tibble]; };
   dialr = derive2 { name="dialr"; version="0.4.0"; sha256="1di5b3w1iif8702j5gnkwp55psbgzwb54ccxah3xscy75sg3zmpm"; depends=[dialrjars rJava]; };
-  dialrjars = derive2 { name="dialrjars"; version="8.12.38"; sha256="0x0m5lza7qpm7167mzg8980my72yrwiqsladnlgvi52z7vdisaq8"; depends=[rJava]; };
-  dials = derive2 { name="dials"; version="0.0.10"; sha256="1vhqcfwgic01pkw0i3000fvqq9yxfzsv26c0psfjhxkkdcz8h2px"; depends=[DiceDesign dplyr glue purrr rlang scales tibble vctrs withr]; };
+  dialrjars = derive2 { name="dialrjars"; version="8.12.42"; sha256="0fn2ic9vllar3wgmgvzx4b2sw5sixzfnjmmk71fnmkii2mfp3s38"; depends=[rJava]; };
+  dials = derive2 { name="dials"; version="0.1.0"; sha256="02i9ddzi7gk5bwg87x8bpazk89mn102awgxzp9yw85dgbafqsydh"; depends=[DiceDesign dplyr glue hardhat lifecycle purrr rlang scales tibble vctrs withr]; };
   diaplt = derive2 { name="diaplt"; version="1.3.0"; sha256="1kkqhkv3s8rrpqd05jidjdnqmlnb3s9f8rr34rfqj7k4nh0qzzcz"; depends=[]; };
   diathor = derive2 { name="diathor"; version="0.0.9"; sha256="1p6y89vi37a8i3fwnj7rb0hdggk6qrxnsrw0sbpajzkwv1jvyal0"; depends=[algaeClassify data_table ggplot2 purrr stringdist stringr tibble tidyr vegan]; };
   dice = derive2 { name="dice"; version="1.2"; sha256="0gic7lqnsdmwv3dbzwwmcwdfyfqlq8kpr2pciqphd1j2ligzwl3s"; depends=[gtools]; };
   diceR = derive2 { name="diceR"; version="1.1.0"; sha256="01jh69b7x4agw5w2y9dal9g0nbq8s1ff36vcz2xfsjc0vi76irfs"; depends=[abind assertthat class clue clusterCrit clValid dplyr ggplot2 infotheo klaR magrittr mclust NMF purrr RankAggreg Rcpp stringr tidyr yardstick]; };
   dichromat = derive2 { name="dichromat"; version="2.0-0"; sha256="1l8db1nk29ccqg3mkbafvfiw0775iq4gapysf88xq2zp6spiw59i"; depends=[]; };
   dicionariosIBGE = derive2 { name="dicionariosIBGE"; version="1.6"; sha256="1rss1ydhcn6sma2lmlpq6s0h3dglwc20w499x1jzkcjnzc1rc7gl"; depends=[]; };
+  dictionaRy = derive2 { name="dictionaRy"; version="0.1.1"; sha256="0j25wn2ghy59y1v02493d4knab06wxrzz8m9g6zxlkqzw1dqgc4f"; depends=[jsonlite tibble]; };
   dictionar6 = derive2 { name="dictionar6"; version="0.1.3"; sha256="1rg958py4pqghkid3830hla7vibvwsjhk75x55lxry5d8dp04m9f"; depends=[ooplah R6]; };
-  did = derive2 { name="did"; version="2.1.0"; sha256="00wzb02s4hs7ijf4bg0kz1bchabzk127l5h5fvnjq8r62y46jv2b"; depends=[BMisc DRDID generics ggplot2 ggpubr Matrix pbapply tidyr]; };
+  did = derive2 { name="did"; version="2.1.1"; sha256="004n56wjmd75sm9hy48m6kbmrzk47zgq3lkzz0mdnpq55am40w5z"; depends=[BMisc DRDID generics ggplot2 ggpubr Matrix pbapply tidyr]; };
   did2s = derive2 { name="did2s"; version="0.4.0"; sha256="0ipp0wk3xx3y0q66469inkw3q9b7x5gdi1bpplng88w0ismkb0di"; depends=[broom cli did didimputation dplyr fixest ggplot2 glue gt magrittr Matrix purrr Rcpp RcppArmadillo rlang rsample staggered stringr tibble tidyr]; };
   didimputation = derive2 { name="didimputation"; version="0.1.0"; sha256="0bdvhbxy57a5k7cahrhp8dzcskpbanb11497kg5mbw240ilgh6x3"; depends=[broom dplyr fixest glue magrittr Matrix Rcpp RcppArmadillo rlang stringr]; };
   didrooRFM = derive2 { name="didrooRFM"; version="1.0.0"; sha256="12clfnbm56jwldw0afb0nb0argnd97mx7369jiywhxy0p4xqibqq"; depends=[dplyr]; };
@@ -8198,7 +8276,7 @@ in with self; {
   dils = derive2 { name="dils"; version="0.8.1"; sha256="1q6ba9j14hzf7xy895mzxc6n9yjgind55jf350iqscwzxf7ynp33"; depends=[igraph Rcpp]; };
   dimRed = derive2 { name="dimRed"; version="0.2.4"; sha256="1534axd5gcwma3nbglrn0l2an53n3yyya30fqkgb4d8l124ygb7j"; depends=[DRR magrittr]; };
   dimensio = derive2 { name="dimensio"; version="0.2.2"; sha256="1340z0ibzmnbxghjw5w2afr6agwyz5kcan5hgibfi08y7axpdx4k"; depends=[ggplot2 rlang]; };
-  dimensionsR = derive2 { name="dimensionsR"; version="0.0.2"; sha256="1g9yjrq7xnqh427kzmhhmdavykzxidv51i2wx2w0kwhl6fqdd2fk"; depends=[httr jsonlite]; };
+  dimensionsR = derive2 { name="dimensionsR"; version="0.0.3"; sha256="1bic5ynqapz4mh3bcv58r00ip5s04mc8n58yhlkbrnbcqyqaca4f"; depends=[httr jsonlite]; };
   dina = derive2 { name="dina"; version="2.0.0"; sha256="1sq7998xc5qhvd8clc8r32ch7axinh2a2dc7i1w2p148wv130yhd"; depends=[Rcpp RcppArmadillo rgen simcdm]; };
   dinamic = derive2 { name="dinamic"; version="1.0"; sha256="0mx72q83bbwm10ayr3f1dzwr5wgz7gclw7rh39yyh95slg237nzr"; depends=[]; };
   dineR = derive2 { name="dineR"; version="1.0.1"; sha256="1nnfg4kylb8ivwij1qdn9qv5jciinl4jk4gghfw97jphp4da91pw"; depends=[MASS Matrix progress]; };
@@ -8206,7 +8284,7 @@ in with self; {
   dint = derive2 { name="dint"; version="2.1.3"; sha256="0nxppn7gx4sjwn7jns5bwbqfid3jkbsx2lxi0rjdkbsawy77fc85"; depends=[]; };
   dipm = derive2 { name="dipm"; version="1.5"; sha256="1mqannl493mic8qx75qq8147jb6hddsxsk7q8h51zjb3zr6b9hjp"; depends=[ggplot2 partykit survival]; };
   diproperm = derive2 { name="diproperm"; version="0.2.0"; sha256="0qh8zzpbsjfwh8q833n5pchb6dakqdza77ab7vmsidfbzndka11m"; depends=[dplyr DWDLargeR e1071 ggplot2 gridExtra lemon Matrix sampling SparseM usethis]; };
-  dipsaus = derive2 { name="dipsaus"; version="0.1.9"; sha256="0rpx6nasgf1dcrksvp7zp4pc1gjx64vbcxa0f6189agsnwz6w4yj"; depends=[base64enc base64url cli digest fastmap future future_apply jsonlite progressr R6 Rcpp RcppParallel rlang rstudioapi shiny startup stringr synchronicity]; };
+  dipsaus = derive2 { name="dipsaus"; version="0.2.0"; sha256="069l6fv3hxsgsxyg51am2yr6n3vd4kym08f28mn741ik7m1y6yjj"; depends=[base64enc base64url cli digest fastmap future future_apply jsonlite progressr R6 Rcpp RcppParallel rlang rstudioapi shiny startup stringr synchronicity]; };
   diptest = derive2 { name="diptest"; version="0.76-0"; sha256="10629vwn6r2949jjrmj5slbb5v0vnm3w0v8mrl7ws68m2sxmx2jh"; depends=[]; };
   dipw = derive2 { name="dipw"; version="0.1.0"; sha256="0nxjwiffi1ivafzha3c35kjk36ai7na0nbfl6x3gpsi2km7b84nd"; depends=[glmnet Matrix Rmosek]; };
   directPA = derive2 { name="directPA"; version="1.5"; sha256="0k66x64fi26zlm82v59ya7x6l7ba3hpa5v9dq2ykb20a8zl6spla"; depends=[calibrate plotly]; };
@@ -8223,7 +8301,7 @@ in with self; {
   discfrail = derive2 { name="discfrail"; version="0.1"; sha256="1ll8c0fwwmz2yw8w582422r8bk9lr1570d7m7w2n1flrnqpqmk8j"; depends=[Matrix numDeriv survival]; };
   discgolf = derive2 { name="discgolf"; version="0.2.0"; sha256="07clh1awnibgrh7vl4a51r8dbya2rbmicm8v8x8mq8h8am2b3j0s"; depends=[crul jsonlite xml2]; };
   discharge = derive2 { name="discharge"; version="1.0.0"; sha256="1hwsdrbajmpfdc9arb1pjhx2w45dy3zrba9ibcrnpyqhhr4i1c5m"; depends=[boot checkmate CircStats ggplot2 lmom]; };
-  disclap = derive2 { name="disclap"; version="1.5"; sha256="0piv9gxhxcd4pbh5qjn9c3199f32y3qiw5vy8cr77ki70dnmr66n"; depends=[]; };
+  disclap = derive2 { name="disclap"; version="1.5.1"; sha256="0qsycr04xz1h90jyzxwagfkc4rkc8mb9srasvhrp7grynjxlbb9f"; depends=[]; };
   disclapmix = derive2 { name="disclapmix"; version="1.7.3"; sha256="0hh20ff3szh9s9r1hdymk73ysn0v5lh2gfzgqpvfvdhcc5z8xjk7"; depends=[cluster disclap MASS Rcpp RcppProgress]; };
   discnorm = derive2 { name="discnorm"; version="0.1.1"; sha256="0qqnn9dcsd3wxg358mrri91j913alb2hclj3xl305r6b5dmg1g1m"; depends=[arules lavaan MASS pbivnorm sirt]; };
   disco = derive2 { name="disco"; version="0.6"; sha256="1abvhf0yb4mw02j1krjb7q68jpwdnl2narcalf3vkjcbflcp76z3"; depends=[ggplot2 RColorBrewer tmod]; };
@@ -8234,24 +8312,24 @@ in with self; {
   discreteMTP = derive2 { name="discreteMTP"; version="0.1-2"; sha256="13qsf1kc3rph0kkdkz31qj072www5dwjyk73lfpy141rzhcn1v1x"; depends=[]; };
   discreteRV = derive2 { name="discreteRV"; version="1.2.2"; sha256="1lhf67cccr96zl3j1sysh2bv0pbgvkbgjdzm35fvrdm7k74ypjsi"; depends=[MASS plyr]; };
   discretecdAlgorithm = derive2 { name="discretecdAlgorithm"; version="0.0.7"; sha256="01x3qfjj7dwv0m9q8zdhfrpbj9ys9y5p7d3z8ywjrqy4jw88svjs"; depends=[igraph Rcpp RcppEigen sparsebnUtils]; };
-  discretefit = derive2 { name="discretefit"; version="0.1.1"; sha256="00na797gvcv6mk78kcmd82xgcz9qmv489hm3i9lg6gr593iw1xsw"; depends=[Rcpp]; };
+  discretefit = derive2 { name="discretefit"; version="0.1.2"; sha256="0xyv3lff6xmz9q1k2lprll68fw9ckqhgl1z87pd9rm0ldy969m9p"; depends=[Rcpp]; };
   discretization = derive2 { name="discretization"; version="1.0-1"; sha256="00vq2qsssnvgpx7ihbi9wcafpb29rgv01r06fwqf9nmv5hpwqbmp"; depends=[]; };
   discrim = derive2 { name="discrim"; version="0.1.3"; sha256="1m54qq2a9k5xphmz7a1701vxvfzyb0g477mb74x0s152gj49xcm0"; depends=[dials parsnip purrr rlang tibble withr]; };
   disdat = derive2 { name="disdat"; version="1.0-0"; sha256="1q8v40m0vjni3kx0f04qb99adxcx783p9lfixvvq6viz13v1ygcw"; depends=[]; };
   diseasemapping = derive2 { name="diseasemapping"; version="1.5.1"; sha256="0pqilkl56753j1fxy6mh7nx24n6qg2j5faxyxj6abcm6xrnkhmy9"; depends=[rgeos sp]; };
-  diseq = derive2 { name="diseq"; version="0.3.1"; sha256="1d5cff0igmyd6l9xi0z4nz8r5pygk4dldl53h61jm6zwv2xxrfml"; depends=[bbmle dplyr magrittr MASS png Rcpp RcppGSL RcppParallel rlang systemfit tibble tidyr]; };
-  disk_frame = derive2 { name="disk.frame"; version="0.5.0"; sha256="127ms95z23053phlbh2arhvydj319vg04i35nsdl8pix23zgh9an"; depends=[benchmarkme bigreadr bit64 crayon data_table dplyr fs fst furrr future future_apply globals glue jsonlite pryr purrr Rcpp rlang stringr]; };
+  diseq = derive2 { name="diseq"; version="0.4.1"; sha256="0cczj2qy7lr7a2sd1k55l3pvc702vjzgxpmpyv3r7fpaaiv1kp9m"; depends=[bbmle dplyr Formula magrittr MASS Rcpp RcppGSL RcppParallel rlang systemfit tibble tidyr]; };
+  disk_frame = derive2 { name="disk.frame"; version="0.6.1"; sha256="0bqsj9qbjy0mfdbygxi65657c4r0bi215r6v7d3swq649pz09r3j"; depends=[benchmarkme bigreadr bit64 crayon data_table dplyr fs fst future future_apply globals glue jsonlite pryr purrr Rcpp rlang stringr]; };
   diskImageR = derive2 { name="diskImageR"; version="1.0.0"; sha256="1r19k5fdjn6vkn11p5df77fnxfqaz3nciiaai0f3pr2bgpfppzka"; depends=[subplex zoo]; };
   dismo = derive2 { name="dismo"; version="1.3-5"; sha256="1rqf6h4imbqvs7hjd1k4my6154wg0qnmnp5byan403rcshr1jbl1"; depends=[raster Rcpp sp terra]; };
   disordR = derive2 { name="disordR"; version="0.0-9"; sha256="1x9lvdwgvi6gmjfgl03ccqkjpmibz3kswlqnw8flj7x2sx969i4h"; depends=[digest]; };
-  dispRity = derive2 { name="dispRity"; version="1.6.0"; sha256="0fwwjfz4ljlr9135r9kdkd3djkawz2wjf8ki2xdjsbfh6s0c7gnc"; depends=[ade4 ape castor Claddis geiger geometry geoscale mnormt phangorn phyclust scales vegan]; };
+  dispRity = derive2 { name="dispRity"; version="1.6.8"; sha256="0jg3jmpdfr48hgia7rgdnnqx5w7vcypnamfnqbw886mxxwkq50z0"; depends=[ade4 ape castor Claddis geiger geometry geoscale mnormt phangorn phyclust scales vegan]; };
   disparityfilter = derive2 { name="disparityfilter"; version="2.2.3"; sha256="0dkk3qws631mf0g02di5rsrvh5954cykysyri0g8aqgik0j9dg06"; depends=[igraph]; };
   displayHTS = derive2 { name="displayHTS"; version="1.0"; sha256="0mqfdyvn2c5c3204ykyq29ydldsq0kb3a1d7mrzqr7cvrj1ahlqa"; depends=[]; };
   dispmod = derive2 { name="dispmod"; version="1.2"; sha256="16r6is0pchzc9mxpz0c44f72j76vsh3j9damalcxajrha06dkdq4"; depends=[]; };
   disposables = derive2 { name="disposables"; version="1.0.3"; sha256="0q5wacjclspn2fh7z1pg2l67ll51n75wck5h2fdq2vxy3qn3vwis"; depends=[]; };
   dispositionEffect = derive2 { name="dispositionEffect"; version="1.0.0"; sha256="0vx87xylpx3np6afwwylzwp0nb9g8r04ngn8mgr88ycys815fkqw"; depends=[dplyr lubridate magrittr progress purrr rlang]; };
   disprofas = derive2 { name="disprofas"; version="0.1.3"; sha256="16gbd9algrs6pqid8k96p9r9pzfy337jv506alnajvwirs59sldd"; depends=[boot ggplot2]; };
-  disprose = derive2 { name="disprose"; version="0.1.2"; sha256="1xdc1lsf3mp4465nhc617p79gl5ljn3ms6a2b7pz34mswiq21ah0"; depends=[]; };
+  disprose = derive2 { name="disprose"; version="0.1.4"; sha256="1lqg2dqbxikvfsnw7kka5kdiz1c7cwzm0ns4jz90bss3nmi3lfy4"; depends=[]; };
   dissCqN = derive2 { name="dissCqN"; version="0.1.0"; sha256="142f4ggzwdhf2vm9kisayna9a5j17mmy2jckhjrvxh4k5dc3ssf6"; depends=[]; };
   dissUtils = derive2 { name="dissUtils"; version="1.0"; sha256="00fzlmkdfw2s3k824wp2pk3v7cvxnywi1hfp86g4mm95z2qlw9br"; depends=[]; };
   dissever = derive2 { name="dissever"; version="0.2-3"; sha256="1lgs5nmv3lpm4gsryxvcwiwibvvg9flv23q8maisp77x49c18qcp"; depends=[boot caret dplyr foreach magrittr plyr raster sp viridis]; };
@@ -8269,7 +8347,7 @@ in with self; {
   disto = derive2 { name="disto"; version="0.2.0"; sha256="09pafy8y1ifgglqmal32dy34acx06ypsq2bgwsn6fjiqr9kw401j"; depends=[assertthat broom dplyr factoextra fastcluster fastmatch ggplot2 pbapply proxy tidyr]; };
   distory = derive2 { name="distory"; version="1.4.4"; sha256="1ljrs91h4v1h5lb295hjki8bmra2lg3d1bn5x731pnv43pf3ck06"; depends=[ape]; };
   distr = derive2 { name="distr"; version="2.8.0"; sha256="1dyff4m33xmw6hxb3jxzr8vvajg3qz3rfcrfxjxwsswlddfz0zdv"; depends=[MASS sfsmisc startupmsg]; };
-  distr6 = derive2 { name="distr6"; version="1.6.2"; sha256="19xyivl0prrmqdjg61d5yw5763f0j6h9ji8am2d5iydlqvwl2x7f"; depends=[checkmate data_table param6 R6 Rcpp set6]; };
+  distr6 = derive2 { name="distr6"; version="1.6.4"; sha256="1h1f42mcsj44px1j7pnj0mmbi4129nsai2nsyvhqrs7iadyx3z27"; depends=[checkmate data_table param6 R6 Rcpp set6]; };
   distrDoc = derive2 { name="distrDoc"; version="2.8.0"; sha256="1iq2gbfbsf3h279yh3fnqsi39gdw15vc6r1g33xcb8kgmmqmvf0p"; depends=[distr distrEx distrMod distrSim distrTeach distrTEst MASS RandVar startupmsg]; };
   distrEllipse = derive2 { name="distrEllipse"; version="2.8.0"; sha256="1ymfa8xpgs8zjp4psiwmll5z0vji496fivxmcavspzxy31cw70wx"; depends=[distr distrEx distrSim mvtnorm setRNG startupmsg]; };
   distrEx = derive2 { name="distrEx"; version="2.8.0"; sha256="1gwhsnlrnzyp2x97d9wfdy5pa9z3q5il934wjv4kxs9wsvkwsr5h"; depends=[distr startupmsg]; };
@@ -8278,26 +8356,26 @@ in with self; {
   distrSim = derive2 { name="distrSim"; version="2.8.0"; sha256="0g16mljlz7fnb5k6c9h5vplm3n51sdbybv9cifbia0y6p9zml383"; depends=[distr setRNG startupmsg]; };
   distrTEst = derive2 { name="distrTEst"; version="2.8.0"; sha256="06rdcwfgbhc81zqisg414nj0kji59xvhm782b63hk54a8b2zwhh5"; depends=[distrSim setRNG startupmsg]; };
   distrTeach = derive2 { name="distrTeach"; version="2.8.0"; sha256="1qgkd4yipk29q8k334fz97n6dxlxnsback7v5a05m6ragc37wzag"; depends=[distr distrEx startupmsg]; };
-  distreg_vis = derive2 { name="distreg.vis"; version="1.7.2"; sha256="0wyxw479jvh007hdyhyaqz8cn3ng03612p7bms1d6l6jk7dlncf9"; depends=[bamlss betareg formatR gamlss gamlss_dist ggplot2 magrittr rhandsontable shiny]; };
+  distreg_vis = derive2 { name="distreg.vis"; version="1.7.3"; sha256="1dnpcd0dpbgvnwcc83n15gr9risyzvnp5f45wg11l9fp5yi63s8j"; depends=[bamlss betareg formatR gamlss gamlss_dist ggplot2 magrittr rhandsontable shiny]; };
   distribglm = derive2 { name="distribglm"; version="0.4.1"; sha256="09gpkp7s8y2dcpjhqgi2nl6j8pmd500y89d8c8x8sxmh5mg8n5si"; depends=[readr]; };
-  distributional = derive2 { name="distributional"; version="0.2.2"; sha256="0ps30ijlf0xwranxkq1z29d76d3zgy8drwxpnxp6ffmyma8mm3h2"; depends=[digest ellipsis farver generics ggplot2 lifecycle numDeriv rlang scales vctrs]; };
+  distributional = derive2 { name="distributional"; version="0.3.0"; sha256="1mji8xlhwrw8msih5wdpbzwv4g59kly0xkdklhn8yzb18rrnrczs"; depends=[digest ellipsis farver generics ggplot2 lifecycle numDeriv rlang scales vctrs]; };
   distributions3 = derive2 { name="distributions3"; version="0.1.2"; sha256="098da9lyimwrnyxqqnssm87lg8c7nbmcbwbjpwdwvvyq2xjzc0my"; depends=[ellipsis ggplot2 glue]; };
   distributionsrd = derive2 { name="distributionsrd"; version="0.0.6"; sha256="0ykzxcxh5l9l5z3546iqlllryw2xyixz1hiynx19k8bsn8k7dxyp"; depends=[flexmix modeltools Rdpack]; };
   distro = derive2 { name="distro"; version="0.1.0"; sha256="03b8mkjhxxh93675mmj443a83mgfwhkdar7dfbf3agf6aqnadn2g"; depends=[]; };
   distrom = derive2 { name="distrom"; version="1.0"; sha256="0wylw7yaylf5j8cy8g45jrw91mwx6w0i7vf9ysnj5kxyznq1gl6y"; depends=[gamlr Matrix]; };
   distrr = derive2 { name="distrr"; version="0.0.6"; sha256="04lhrc92y6dqnfpqlmynjvn2dndzkknnvwsr5pf73dfpgv7n3s1f"; depends=[dplyr magrittr rlang tidyr]; };
-  disttools = derive2 { name="disttools"; version="0.1.7"; sha256="1wdcggphyxy58zyqdsyz2z3q4rb69wady63l79s1ivjwzgjrsxmi"; depends=[]; };
+  disttools = derive2 { name="disttools"; version="0.1.8"; sha256="1jm3nqyywdzpbfvk2mffmhp75al1hcvd5l4r21fbd3iz2anll0ma"; depends=[]; };
   dittodb = derive2 { name="dittodb"; version="0.1.3"; sha256="0wkiy3vgqrpmc34hxw30rfgg01d941gxz8fr2h9i9gvddnxnywdc"; depends=[DBI digest glue lifecycle testthat]; };
   div = derive2 { name="div"; version="0.3.1"; sha256="1k4c34wpwfj7yqnk1x9sjzn3dc2vdzhpy8g4c00aqs3nbgcknyn8"; depends=[dplyr ggplot2 gridExtra kableExtra magrittr plotly pryr rlang rpart stringr tibble tidyr tidyverse]; };
   divDyn = derive2 { name="divDyn"; version="0.8.1"; sha256="0ghcipx0wyp1750ggys8zq8nxpqm7hac6xvkyjs2dgqjmlh3mzz2"; depends=[Rcpp]; };
   diveMove = derive2 { name="diveMove"; version="1.6.0"; sha256="0ddlc89wi76kja8zz9j72p57hz3rw9xjzrj6k5h60573c5b9b1ig"; depends=[geosphere KernSmooth plotly quantreg uniReg]; };
   diveR = derive2 { name="diveR"; version="0.1.2"; sha256="0n0ldc3k0ryr20794kvqxpnk8m3qc13lkl6rxw043pkwbjqj7291"; depends=[cli crayon ggmulti loon loon_data loon_ggplot loon_shiny loon_tourr rstudioapi zenplots]; };
   diveRsity = derive2 { name="diveRsity"; version="1.9.90"; sha256="11pfq3syvjmfwfimjc2jnlprcnynvargr4yjd8h0aa6qzgdrrx5q"; depends=[ggplot2 qgraph Rcpp shiny]; };
-  diverge = derive2 { name="diverge"; version="2.0.1"; sha256="0pa60dwnpsks7y19msgz259g6wsjhbv9nyaq43d1g75hy9ipdrg4"; depends=[truncnorm]; };
+  diverge = derive2 { name="diverge"; version="2.0.4"; sha256="11hhak3ldnf83aaq7wd8f2wqcd3lqgmda78zdgcd6ksljq3mvwcx"; depends=[truncnorm]; };
   diverse = derive2 { name="diverse"; version="0.1.5"; sha256="10kmx3qv58xhqs1icsxqq0y0cm8y2hx9ysb65brd3hhg33alzvk3"; depends=[foreign proxy reshape2]; };
   diversitree = derive2 { name="diversitree"; version="0.9-16"; sha256="0rzrk7xsn4gy271pbcw3azndhx0c06bmsgrg6libjmlfnmq6j8sc"; depends=[ape deSolve Rcpp subplex]; };
-  diversityForest = derive2 { name="diversityForest"; version="0.3.2"; sha256="09rn8ddczvclj3xqmbsnymx6s3gg0w48swxxvssf7xkxv0hzz490"; depends=[gam ggplot2 ggpubr MapGAM Matrix nnet RColorBrewer Rcpp RcppEigen rlang rms scales sgeostat survival]; };
-  divest = derive2 { name="divest"; version="0.10.1"; sha256="0gbzji3v4qnv49mqqpadjskz265iwdvvd3mqwhmcq72125jh86sq"; depends=[Rcpp RNifti]; };
+  diversityForest = derive2 { name="diversityForest"; version="0.3.3"; sha256="056rfg44xw4kyp7l1bpm31vm5pn9xk5pxv97w6yc91dmky08jwyf"; depends=[gam ggplot2 ggpubr MapGAM Matrix nnet RColorBrewer Rcpp RcppEigen rlang rms scales sgeostat survival]; };
+  divest = derive2 { name="divest"; version="0.10.2"; sha256="1r49glh66vdrj7hp8xlqc3g1c13hjl24x7rhd27vv6l1jgvhllgb"; depends=[Rcpp RNifti]; };
   divo = derive2 { name="divo"; version="1.0.1"; sha256="06c4kjl6llvvdr2gk480jcmj2abmqwph7x4vk5nflxm7piimvg7v"; depends=[cluster]; };
   divseg = derive2 { name="divseg"; version="0.0.4"; sha256="0iwxckdfsb28wgpv6d1r8idyn974c38ylpiaxsvn9m8x1wnpnbp7"; depends=[dplyr magrittr rlang sf tibble tidyselect units]; };
   dixon = derive2 { name="dixon"; version="0.0-7"; sha256="0crpzkshil8836axcywj0r95qmkv31vrw9gqnjqj3xgx6hml6xym"; depends=[spatstat spatstat_geom splancs]; };
@@ -8313,13 +8391,13 @@ in with self; {
   dlr = derive2 { name="dlr"; version="1.0.1"; sha256="13gr8rk8igbypq9mg00pyk2pjczxr1ghkj5287gijxnxch7zdknc"; depends=[digest fs rappdirs rlang]; };
   dlsem = derive2 { name="dlsem"; version="2.4.6"; sha256="1h3bwqqpfjkl41b2mbfhsj0pi9kri0h0i28wiid6arjrmm87nsf8"; depends=[graph Rgraphviz]; };
   dlstats = derive2 { name="dlstats"; version="0.1.4"; sha256="1j415v3kajn269md046b05pwklqwm4rwk2f7q3mwax9yx4m5nc0n"; depends=[ggplot2 jsonlite magrittr RColorBrewer scales]; };
-  dm = derive2 { name="dm"; version="0.2.6"; sha256="0jjsl70gwpa9syprj02way20l2675g090ai1633i3bh98slbkkxj"; depends=[backports cli DBI dplyr ellipsis glue igraph lifecycle magrittr memoise pillar purrr rlang tibble tidyr tidyselect vctrs]; };
+  dm = derive2 { name="dm"; version="0.2.7"; sha256="1fh34vgpr8w1kr7w667mzalg014lm1h82jr3gl1w0s5x93w3qi06"; depends=[backports cli DBI dplyr ellipsis glue igraph lifecycle magrittr memoise pillar purrr rlang tibble tidyr tidyselect vctrs]; };
   dma = derive2 { name="dma"; version="1.4-0"; sha256="003snr09hazszwqnvjrbv8vyz6ihgcfcfhrlshg451dddn920615"; depends=[MASS]; };
   dmacs = derive2 { name="dmacs"; version="0.1.0"; sha256="1prw6h8sj6fcpajg6xwqhi8v5jfl74mbjdjrdy524miw56fh9h0r"; depends=[lavaan MplusAutomation]; };
   dmai = derive2 { name="dmai"; version="0.4.0"; sha256="0ma89jl0l598sffpikvjj40f2djjcnjq29k6y1bav4dm2g51qgmq"; depends=[dplyr ggplot2 magrittr stringr tibble tidyr]; };
   dmbc = derive2 { name="dmbc"; version="1.0.0"; sha256="0hfcc12v73c0x11jvp0pm2ddm2qd1fdv8667k67r7d1zi0cp2i5g"; depends=[abind bayesplot coda ggplot2 ggrepel MCMCpack modeltools pcaPP Rcpp RcppArmadillo RcppProgress robustbase]; };
   dml = derive2 { name="dml"; version="1.1.0"; sha256="0z1dalgxh5nhrac49vh60d5awzjylc8b8mn5fk379c324milm59l"; depends=[lfda MASS]; };
-  dmlalg = derive2 { name="dmlalg"; version="1.0.1"; sha256="1jgypgclv9609i2vfwskjy61vl3giv7ia79d3d20ly324khxalhb"; depends=[glmnet lme4 matrixcalc randomForest]; };
+  dmlalg = derive2 { name="dmlalg"; version="1.0.2"; sha256="1ixjpalg3q0wnddrli6v66kky3pxf90sjgiia8jhk4nds0h58a72"; depends=[glmnet lme4 matrixcalc randomForest]; };
   dmm = derive2 { name="dmm"; version="2.1-7"; sha256="0zn7d2lr2vig8q6h5dd5zk7ra1f0mkm6pszl3v06aghcflg63ng3"; depends=[MASS Matrix nadiv pls robustbase]; };
   dmri_tracking = derive2 { name="dmri.tracking"; version="0.1.0"; sha256="0aij0n5p6cp75r5b3bfpmhnmz2nixbb4kwacixg66g6kilwj3sis"; depends=[rgl]; };
   dmt = derive2 { name="dmt"; version="0.8.20"; sha256="0rwc8l9k2y46hslsb3y8a1g2yjxalcvp1l3v7jix0c5kz2q7917w"; depends=[MASS Matrix mvtnorm]; };
@@ -8331,15 +8409,15 @@ in with self; {
   dng = derive2 { name="dng"; version="0.2.1"; sha256="0yi1fs4yvlsy3j128l7s5kwq8mhdd5fr74y2bzj7cjrxi7wgz2hg"; depends=[Rcpp]; };
   dnr = derive2 { name="dnr"; version="0.3.5"; sha256="16s06jvwmvhxgvrmfav1xfszjrn7j2cm4jw5xyx6w5lb5434kzcq"; depends=[arm ergm glmnet igraph network sna]; };
   do = derive2 { name="do"; version="2.0.0.0"; sha256="16c6ksdas678k1285vk526ga3qkfb658nq4j5z9safjkyl1d5lrp"; depends=[crayon data_table desc httr openxlsx plyr reshape2 rstudioapi rvest stringr tidyr tidyselect tmcn usethis xml2]; };
-  doBy = derive2 { name="doBy"; version="4.6.11"; sha256="1xhjh2d7zfgw8wbcj5yfscvmwbjar1w544ika13da69dydm44j81"; depends=[broom curry Deriv dplyr ggplot2 magrittr MASS Matrix microbenchmark pbkrtest tibble]; };
+  doBy = derive2 { name="doBy"; version="4.6.12"; sha256="1m60ya4cdickqsj0dc90bv4n47df6qg6n82fikxrkl4yhg7yyn1i"; depends=[broom Deriv dplyr ggplot2 magrittr MASS Matrix microbenchmark pbkrtest tibble]; };
   doFuture = derive2 { name="doFuture"; version="0.12.0"; sha256="1hqzdlgcrc5l6xjwdylsc9iiysi2wx8k1j1vmw3wryj26057c9y4"; depends=[foreach future globals iterators]; };
-  doMC = derive2 { name="doMC"; version="1.3.7"; sha256="0kdmfhp5m1wisjbfyl9d040jrmjmhcgjb0vdi536g2i9vixb5yny"; depends=[foreach iterators]; };
+  doMC = derive2 { name="doMC"; version="1.3.8"; sha256="18qrcvqwm4cclvk8spvyi281y8prwzivj52xmzk1l9a82j2ny65j"; depends=[foreach iterators]; };
   doMIsaul = derive2 { name="doMIsaul"; version="1.0.1"; sha256="17a363gj8hsdpga6b07c4lzrswgf553dfqxacv2jfx0rswxnrsb0"; depends=[aricode arules clusterCrit dplyr ggplot2 Gmedian MASS mice NbClust ncvreg plyr scales survival withr]; };
   doMPI = derive2 { name="doMPI"; version="0.2.2"; sha256="0ahwm17p3gq1yvc8v6sr6sb8z7i6zws8d1pf46qynl0gd4amg938"; depends=[foreach iterators Rmpi]; };
-  doParallel = derive2 { name="doParallel"; version="1.0.16"; sha256="1cjf0mxrxgls5pl7aj22fv9j488craib1wkc9np4f3gkckwjdfzi"; depends=[foreach iterators]; };
+  doParallel = derive2 { name="doParallel"; version="1.0.17"; sha256="1mxbg2qqda1775vb4s26gz27p5n91lljgjmlqxq4sras22njasmr"; depends=[foreach iterators]; };
   doRNG = derive2 { name="doRNG"; version="1.8.2"; sha256="1jff27zzrvd1fd61x2m9468h8xn3s1c9f6wibviy5zdhj5dx9s9k"; depends=[foreach iterators rngtools]; };
   doRedis = derive2 { name="doRedis"; version="3.0.0"; sha256="05xvan8djif0mkvk32lg20ffrb6x013a5ia1wc1k0g5n4jkg6rs4"; depends=[foreach iterators redux]; };
-  doSNOW = derive2 { name="doSNOW"; version="1.0.19"; sha256="0f07b38cl7s61vwzkyqkzzsic9g4sw9k6ndbxk3g90l4ca0d1ljc"; depends=[foreach iterators snow]; };
+  doSNOW = derive2 { name="doSNOW"; version="1.0.20"; sha256="1f5v0k2w0b2478p6iqa3hn2lwd1x3rzc348n57nd38ka2vnsnz4i"; depends=[foreach iterators snow]; };
   dobin = derive2 { name="dobin"; version="1.0.2"; sha256="1vhvwdl7a8bf4q64jz8a6afm3smdn3jgxvs17jjlilarpdazl3p5"; depends=[pracma RANN]; };
   dobson = derive2 { name="dobson"; version="0.4"; sha256="0xfn7s3wzrv1md40bdjrnjfiqyxg5c6lrcpnvayjdgrhxq161hhq"; depends=[]; };
   doc2concrete = derive2 { name="doc2concrete"; version="0.5.4"; sha256="0ng1dsczyk6mxg5x5c4ms57yk7zhyn16alj2xd0h21hhbx3n2m9g"; depends=[english glmnet quanteda SnowballC stringi stringr textstem tm]; };
@@ -8349,6 +8427,7 @@ in with self; {
   doconv = derive2 { name="doconv"; version="0.1.3"; sha256="0aqdylp3lzn1jl96sq4xaipyxpi1hai0n9msk9gfm20gdpsnn1w5"; depends=[locatexec magick pdftools rappdirs]; };
   docopt = derive2 { name="docopt"; version="0.7.1"; sha256="1zxhwizs916qm5by7nfslqnarl2q5202xc2azlhrnzk0wj3khiwz"; depends=[]; };
   docopulae = derive2 { name="docopulae"; version="0.4.0"; sha256="186mfiy4ygx6spnv7yrm5h0k6nf2g1xhk1l05iij39j5al5d9j21"; depends=[]; };
+  docore = derive2 { name="docore"; version="1.0"; sha256="0x6c2yqr05v62ksn9a5swf44q8w7acfk00589mkipw643rg4l64y"; depends=[bit64 pracma]; };
   docreview = derive2 { name="docreview"; version="0.0.1"; sha256="0cmgl1q1whb38iiljaz0f5vyxniyaaxm8xpbzd56cayqgbvl92b8"; depends=[cli parsermd purrr quanteda quanteda_textstats rlang stringr yaml]; };
   docstring = derive2 { name="docstring"; version="1.0.0"; sha256="19z5frhxbdc5c4vrkckgqbh9mx4d9w1icw8szsw9yadvbg48nlhl"; depends=[roxygen2]; };
   docuSignr = derive2 { name="docuSignr"; version="0.0.3"; sha256="0q90z31svbdnvylfr0yj2f0gahvpi089c1d5llvwqy8qc5p9fbqw"; depends=[httr jsonlite magrittr]; };
@@ -8382,7 +8461,7 @@ in with self; {
   doubt = derive2 { name="doubt"; version="0.1.0"; sha256="16avp0f7ks2zd4ckakvfm57zng2jk0fg3fz6vbm05lzhqymh6y30"; depends=[unglue]; };
   downlit = derive2 { name="downlit"; version="0.4.0"; sha256="10zvrqdpwavdy97h3q26bqh3k63z61fmc04w9vwsnvmnv8hnh3vl"; depends=[brio desc digest evaluate fansi memoise rlang vctrs yaml]; };
   downloader = derive2 { name="downloader"; version="0.4"; sha256="1axggnsc27zzgr7snf41j3zd1vp3nfpmq4zj4d01axc709dyg40q"; depends=[digest]; };
-  downloadthis = derive2 { name="downloadthis"; version="0.2.1"; sha256="12df3cxg1x84f3sibllykd5wqs11mr4nlyv8hj8bh9d6wjvwj2li"; depends=[base64enc bsplus fs ggplot2 htmltools magrittr mime readr writexl zip]; };
+  downloadthis = derive2 { name="downloadthis"; version="0.3.0"; sha256="11k53xb2cl324qr77l26jndd07wyrj9gwl0dj59xnqcsknlqdjz1"; depends=[bsplus fs ggplot2 glue htmltools jsonlite magrittr mime readr writexl zip]; };
   downscale = derive2 { name="downscale"; version="4.2-0"; sha256="1ha36jiahvrg75qwzp9wpgnqqizw6ivc02q24fyz5frzssda6wd8"; depends=[cubature minpack_lm raster Rmpfr sp]; };
   downscaledl = derive2 { name="downscaledl"; version="1.0"; sha256="0lqxngzpxj65b48j5w0n8dg6fp4lgg5zpgxc2wj6d9wh5f97l71b"; depends=[dplyr keras magrittr raster Rcpp RcppArmadillo rgdal rstack sp tensorflow]; };
   downsize = derive2 { name="downsize"; version="0.2.2"; sha256="18b9shd79z0bsdnp0apqqwv6c73j4wnfiv41ywqz761nmxbldxbn"; depends=[magrittr R_utils]; };
@@ -8392,6 +8471,7 @@ in with self; {
   dpcid = derive2 { name="dpcid"; version="1.0"; sha256="1gx8gyrxvm07mjiasl0b80y0x3crq6gy170v6s817d11jw44n86z"; depends=[]; };
   dplR = derive2 { name="dplR"; version="1.7.2"; sha256="1g57azixwv3c6x60l1kqdnzylf0ayv3s15wi0av2qcca35z3baa1"; depends=[digest lattice Matrix matrixStats plyr png R_utils signal stringi stringr XML]; };
   dplRCon = derive2 { name="dplRCon"; version="1.0"; sha256="10xnawgnhxp5y949fxs1vvadc1qz2ldy0s9w9w7kf6iqh59d35sw"; depends=[]; };
+  dplbnDE = derive2 { name="dplbnDE"; version="0.1.1"; sha256="0hwb4lvydqlkbcxp3jwgzkqk6sqdjkcmkya1cah60sc15n816ksd"; depends=[bnclassify]; };
   dplyr = derive2 { name="dplyr"; version="1.0.7"; sha256="0g8jsxclj9cgm7a2lyazy78sj62rbzw812lsw3fdsbz0pknkmznj"; depends=[ellipsis generics glue lifecycle magrittr pillar R6 rlang tibble tidyselect vctrs]; };
   dplyr_teradata = derive2 { name="dplyr.teradata"; version="0.4.1"; sha256="0ygn8cq4dnmzzxfskcir7g0bksgby5sw2j135gvrk599z3v6avg1"; depends=[bit64 DBI dbplyr dplyr odbc]; };
   dplyrAssist = derive2 { name="dplyrAssist"; version="0.1.0"; sha256="1lqizh70b1apyr4578917gv6s0i7p84ak96a57kvwipmh36a4ywn"; depends=[DT magrittr miniUI plyr rstudioapi shiny shinyAce shinyWidgets stringr tidyr tidyverse]; };
@@ -8422,13 +8502,13 @@ in with self; {
   drhur = derive2 { name="drhur"; version="0.1.0"; sha256="1a13fpczvq0a93q2ldh2h42hk7firmcbr478vkli8y6d1bwlj567"; depends=[arm car dotwhisker gapminder ggeffects ggthemes gt interplot kableExtra knitr learnr likert modelsummary moments nnet ordinal performance scales summarytools tibble tidyverse]; };
   drifter = derive2 { name="drifter"; version="0.2.1"; sha256="1xsp8cm02wd8zink0jqrdaii7s2dh0rw96rs6k8zr2g0341wmfba"; depends=[DALEX dplyr ingredients tidyr]; };
   drimmR = derive2 { name="drimmR"; version="1.0.1"; sha256="0fi0ifb9y2jfb347684fd9pjfgn4b693yb5sqbcfpf2z7jvknsi1"; depends=[doParallel dplyr foreach future ggplot2 Rdpack reshape2 seqinr tidyverse]; };
-  driveR = derive2 { name="driveR"; version="0.2.1"; sha256="1zc14j7aarxbw11p5gardqkwrab71b8wfrpd1q2g6r9dg98w146i"; depends=[caret GenomeInfoDb GenomicFeatures GenomicRanges org_Hs_eg_db randomForest rlang S4Vectors TxDb_Hsapiens_UCSC_hg19_knownGene]; };
+  driveR = derive2 { name="driveR"; version="0.3.0"; sha256="12yr2vbfg2ps7prb2kd1si4349rqyvk5c6gckfragc6dw3hzxzbb"; depends=[caret GenomeInfoDb GenomicFeatures GenomicRanges org_Hs_eg_db randomForest rlang S4Vectors TxDb_Hsapiens_UCSC_hg19_knownGene]; };
   drmdel = derive2 { name="drmdel"; version="1.3.2"; sha256="1772fxm3qs01h14qklp2rawcdm0vmjmb2mi62v1zl1hbxisnfq4s"; depends=[]; };
   droll = derive2 { name="droll"; version="0.1.0"; sha256="0gd1vnvkjdsw7gz4czi4g9zq5080awfr4dy2srgksh4ah4ki4vm3"; depends=[Ryacas]; };
   dropR = derive2 { name="dropR"; version="0.1"; sha256="0sw5lqlfdn64dbykxdhk1pz18f83if871vkapa2nxgcfiy79b0vs"; depends=[plyr shiny]; };
   droptest = derive2 { name="droptest"; version="0.1.3"; sha256="1wlfhj6c4pb5mcybyd2bcn55y3azk7dv7d7il97qwbhl8kf59csl"; depends=[data_table]; };
   drord = derive2 { name="drord"; version="1.0.1"; sha256="0xi85s6y78d54qv3cw7q72dz5kcs8cc8nyjyaxr5h6pfpzi2l8i9"; depends=[ggplot2 MASS ordinal VGAM]; };
-  drought = derive2 { name="drought"; version="1.0"; sha256="1rj3aycvkb0f85p12l356rlhid4zfzqkhks20x2hhwvpk8nhri8h"; depends=[copula]; };
+  drought = derive2 { name="drought"; version="1.1"; sha256="1i064bg7b29agnj2cq5gl61z12xx1a3lkzfg31sly3alzpvciwr9"; depends=[copula corrplot]; };
   drpop = derive2 { name="drpop"; version="0.0.3"; sha256="1gh0w1a59070g9mmck4fp9591vfw23c5nlj3jrkxwarp4vfy1dqp"; depends=[dplyr gam ggplot2 janitor nnet nnls ranger reshape2 stringr SuperLearner tidyr]; };
   drtmle = derive2 { name="drtmle"; version="1.1.0"; sha256="08a6k0nrg6mqdslwjc71583x52vnax87nbfalk98zczwvrrdwvxa"; depends=[future_apply np SuperLearner]; };
   drugprepr = derive2 { name="drugprepr"; version="0.0.4"; sha256="07401dqw4krqh3rv7y13526n0xjdlaw14gcxwranksjchmqjd3ij"; depends=[DescTools doseminer dplyr purrr rlang sqldf stringr tidyr]; };
@@ -8437,7 +8517,7 @@ in with self; {
   ds4psy = derive2 { name="ds4psy"; version="0.7.0"; sha256="1dyylnx2lsdvsv9cydjp4qm1dgn4lv44afr2hplqyi45jmmzy8mm"; depends=[ggplot2 unikn]; };
   dsa = derive2 { name="dsa"; version="1.0.12"; sha256="16lqqm0lcgpkzkj7d0akamzap85aj4dyj5rs5fkb5b9bjqa5r4c5"; depends=[dygraphs forecast ggplot2 gridExtra htmlwidgets R2HTML reshape2 rJava seastests timeDate tsoutliers xts zoo]; };
   dsample = derive2 { name="dsample"; version="0.91.2.2"; sha256="18c0zxaqwgbn9kmkwlnicwd74ljy2sxj0b9ksif13pdlj3zn57h1"; depends=[MASS]; };
-  dsb = derive2 { name="dsb"; version="0.2.0"; sha256="10ybwid05rggascxrycpd36gwfgs07736sv0vzrgxndbamk66xis"; depends=[limma magrittr mclust]; };
+  dsb = derive2 { name="dsb"; version="0.3.0"; sha256="0b7da10i45vxik2mbxb9bjwkhw62nafh09j8qixx4nc1j5a7dp3f"; depends=[limma magrittr mclust]; };
   dscore = derive2 { name="dscore"; version="1.4.0"; sha256="0vjrxdgss79pmd8vkarvgqqm465byz17r7r93k5i3923xm02kavr"; depends=[dplyr Rcpp RcppArmadillo stringr tidyr tidyselect]; };
   dse = derive2 { name="dse"; version="2020.2-1"; sha256="170rxrniszs8h59ah4mn4mz8d7kzix4g3vlz4icd8w6bl40c6ykc"; depends=[setRNG tfplot tframe]; };
   dsims = derive2 { name="dsims"; version="0.2.0"; sha256="1yj6rk6wvxhwzfrbvy5ljsp94pfxrf9vwaccr9gbffg0b3c1badb"; depends=[Distance dssd ggplot2 gridExtra mgcv mrds rgeos rlang rstudioapi sf sp]; };
@@ -8445,6 +8525,7 @@ in with self; {
   dslice = derive2 { name="dslice"; version="1.2.0"; sha256="1k9hxpmr563p8bpd9m991lx5ig366mzk9j1lzldci9pq4jiayin1"; depends=[ggplot2 Rcpp scales]; };
   dsm = derive2 { name="dsm"; version="2.3.1"; sha256="0flmbypplk99n3b3lkai2lz162w4bnizw2bpdk91db53w2jfp3i9"; depends=[ggplot2 mgcv mrds nlme numDeriv plyr statmod]; };
   dsmisc = derive2 { name="dsmisc"; version="0.3.3"; sha256="19760hcb5154rayhj72r48r7glh2qyaf178zkxplywmsw338kws4"; depends=[Rcpp stringr]; };
+  dsos = derive2 { name="dsos"; version="0.1.0"; sha256="00m31l38q6i2m5p9k2x0d6n0b8hyvpgv6b5n8s8069zannqx8fgz"; depends=[data_table ggplot2 isotree ranger scales simctest WeightedROC]; };
   dsrTest = derive2 { name="dsrTest"; version="0.2.1"; sha256="1kljlfi7jf6fa8b5f3wxjsa9rlmzcp4qix3m2qyapz2lqd85mbb7"; depends=[asht exactci loglognorm]; };
   dssd = derive2 { name="dssd"; version="0.3.1"; sha256="0q98cn1hyaavzmc2kygpsab7vlzzmqwwc8avf3g1palmn9d4n8k2"; depends=[ggplot2 plot3D rgdal sf]; };
   dst = derive2 { name="dst"; version="1.5.1"; sha256="08cw09hf5jx1qfmrqmhm4713gzq21p0ss3nx7qrs92mpsvprq3yc"; depends=[]; };
@@ -8453,19 +8534,19 @@ in with self; {
   dti = derive2 { name="dti"; version="1.5.1"; sha256="08da7v7sl88g2jixfplvw9rc5rvlifq3fvyrgh9naa5jsmd8h5ia"; depends=[adimpro aws awsMethods gsl oro_dicom oro_nifti quadprog rgl]; };
   dtp = derive2 { name="dtp"; version="0.1.0"; sha256="0qy8nrbq22bfbajkxq6blkq7583pc5mb392gmqb3c9daxmqn42vb"; depends=[Formula gtools plyr]; };
   dtpcrm = derive2 { name="dtpcrm"; version="0.1.1"; sha256="0k25fm0z3snpx1v2kwd50svgnkjhn5c0hy1gnlw2lif6rjz1fzd9"; depends=[dfcrm diagram]; };
-  dtplyr = derive2 { name="dtplyr"; version="1.2.0"; sha256="053l0w97sfsdx3n3b65likdbzdv0q0sbcnh0kp9c3pw0vnvdzpm6"; depends=[crayon data_table dplyr ellipsis glue lifecycle rlang tibble tidyselect vctrs]; };
+  dtplyr = derive2 { name="dtplyr"; version="1.2.1"; sha256="1wyhhn16mvdj55k2xsh7vy489l7xk4mkz7pjrw16z87awk6yjh16"; depends=[crayon data_table dplyr ellipsis glue lifecycle rlang tibble tidyselect vctrs]; };
   dtrSurv = derive2 { name="dtrSurv"; version="1.2"; sha256="104hz8nqn02rk2wg15j4qap7r7cq4162agjaflv2dxmyb9zj0cb2"; depends=[survival]; };
   dtree = derive2 { name="dtree"; version="0.4.2"; sha256="1cpv0pyf515610djxzfw1c83p3alk5a93clg4x9gk7a7qy4cyhr1"; depends=[caret evtree party partykit rpart]; };
   dtt = derive2 { name="dtt"; version="0.1-2"; sha256="0n8gj5iylfagdbaqirpykb01a9difsy4zl6qq55f0ghvazxqdvmn"; depends=[]; };
   dttr2 = derive2 { name="dttr2"; version="0.4.0"; sha256="1a7fmby2bassj3wnx2wk3c4fzzx63saw3963kfs6pq58cbwpqk09"; depends=[chk hms lifecycle]; };
   dtw = derive2 { name="dtw"; version="1.22-3"; sha256="004gm4mzgdzdj807j3bwqsv5lizmnmz5jq514bdjshhkysnzjz6z"; depends=[proxy]; };
   dtwSat = derive2 { name="dtwSat"; version="0.2.7"; sha256="16crcvwj1s45gkg1gl6blll64wf4676qmzrx0kv55sylq0rjlxhf"; depends=[caret data_table dtw ggplot2 lubridate mgcv plyr proxy raster RColorBrewer Rdpack reshape2 rgdal scales sp xtable zoo]; };
-  dtwclust = derive2 { name="dtwclust"; version="5.5.6"; sha256="05dszmj89id2hk9apxa7721737s6292w2l7vazj7aqwk1jyghjpm"; depends=[bigmemory clue cluster dplyr dtw flexclust foreach ggplot2 ggrepel Matrix nloptr proxy Rcpp RcppArmadillo RcppParallel RcppThread reshape2 RSpectra shiny shinyjs]; };
+  dtwclust = derive2 { name="dtwclust"; version="5.5.7"; sha256="1frcji5wrwdggww0x4c0mniaxd5d2xjnvadz2vbq046hz46srn63"; depends=[clue cluster dplyr dtw flexclust foreach ggplot2 ggrepel Matrix proxy Rcpp RcppArmadillo RcppParallel RcppThread reshape2 RSpectra shiny shinyjs]; };
   dual = derive2 { name="dual"; version="0.0.3"; sha256="1alxh9mj610m7wgr6a97mpzy5ia9vzckhz6wmxyix7xh9mzbn1gw"; depends=[]; };
   dualtrees = derive2 { name="dualtrees"; version="0.1.4"; sha256="05mxwiwnv48jf6ya5qmfc7g2w8wkzhk56k9g0gr2m4cpfab7d5h2"; depends=[]; };
   duawranglr = derive2 { name="duawranglr"; version="0.6.7"; sha256="0hxmvyl81xlp3vv1w7462cjfa9hdz5lki0p5pn0ik7dv5aap3wbq"; depends=[digest dplyr haven readr readxl]; };
   dub = derive2 { name="dub"; version="0.2.0"; sha256="066lzyk44380mf17vx4db4a3a4rs7zl85mj5hjg172khjbqnbixw"; depends=[]; };
-  duckdb = derive2 { name="duckdb"; version="0.3.1-1"; sha256="1v9l2vlg0xhyj07q6kplqksw48fiivlfjgpc74x11kbmilz768qg"; depends=[DBI]; };
+  duckdb = derive2 { name="duckdb"; version="0.3.2"; sha256="0wd7wwxnmkpmm19l55bxxvrvq1y1gxvxs1vlqdnkv1iraqfdhsqr"; depends=[DBI]; };
   duckduckr = derive2 { name="duckduckr"; version="1.0.0"; sha256="1wki8xvqp5hr27iafd9jbryl9faywfkdkpn0pa0afywbic39k2cm"; depends=[crul jsonlite]; };
   dumbbell = derive2 { name="dumbbell"; version="0.1"; sha256="0v0b4wbfskvcnzx10z9v4rf3mq8ccswz63pd6i1z7mggnwv38ps5"; depends=[data_table dplyr ggplot2 rlang rstatix tidyr tidyverse]; };
   dummies = derive2 { name="dummies"; version="1.5.6"; sha256="01f84crqx17xd6xy55qxlvsj3knm8lhw7jl26p2rh2w3y0nvqlbm"; depends=[]; };
@@ -8480,6 +8561,7 @@ in with self; {
   dvqcc = derive2 { name="dvqcc"; version="0.1.0"; sha256="011mwdwh046wninfjdy00wxn312ykzn90nz9fz3l7c5cw9gzzfkg"; depends=[ggplot2 tsDyn]; };
   dwdradar = derive2 { name="dwdradar"; version="0.2.7"; sha256="0y75gd9d7y2myp6filg2liv1r8rxwnffa9y9b2dq283m8kcwwai0"; depends=[]; };
   dwlm = derive2 { name="dwlm"; version="0.1.0"; sha256="0n5dil9qvyy4gish3wnv8bzq0ci1p0dr2vmbbadl29jl7rd1v0rc"; depends=[]; };
+  dwp = derive2 { name="dwp"; version="1.0"; sha256="1q8gbn18gsgknazzvdg5qg2lzqdaz3x14w210hw06q98dfpkvfih"; depends=[boot expint GenEst gtools invgamma magrittr MASS matrixStats mvtnorm numDeriv plotrix pracma sf statmod VGAM]; };
   dyads = derive2 { name="dyads"; version="1.1.4"; sha256="1k043cd3rqi89czmk0y5q9j54dhp0ndjj8jij9nww2gfqq1ydqx0"; depends=[CholWishart MASS mvtnorm RcppZiggurat Rfast]; };
   dycdtools = derive2 { name="dycdtools"; version="0.3.1"; sha256="1ax38336mnp4a42x83jf9q0hawa5grffizall4gh1iil7zm9pnfl"; depends=[dplyr ggplot2 hydroGOF lubridate ncdf4 R_utils RColorBrewer tidyr]; };
   dydea = derive2 { name="dydea"; version="0.1.0"; sha256="15alr3f6wkkpjd5wmcjazi58yc8gwcqr662mjwlfg15r94fzqrlg"; depends=[Chaos01]; };
@@ -8490,9 +8572,12 @@ in with self; {
   dynRB = derive2 { name="dynRB"; version="0.16"; sha256="07hbfnzyzsg290l6w953v5yh2dbmqr9jb20gnxf8zn7dcggkl6sq"; depends=[corrplot dplyr foreign ggplot2 RColorBrewer reshape2 vegan]; };
   dynaSpec = derive2 { name="dynaSpec"; version="1.0.1"; sha256="0wzfy50602wlsh4sbfjadsr01f3az2lvk5c4px3qmcvv5gybd6w0"; depends=[ari av gganimate ggplot2 magrittr NatureSounds pbapply png scales seewave tuneR viridis]; };
   dynaTree = derive2 { name="dynaTree"; version="1.2-10"; sha256="1ng672mlv98xnsbd4xq70hxc8j158la4n63y46rw74granaz29ya"; depends=[]; };
+  dynamAedes = derive2 { name="dynamAedes"; version="2.0.2"; sha256="0pxj09pz9l2p5g5r31a6jgw283xj12jh3j0x2s63lczj236agl97"; depends=[doParallel drc fields foreach insol raster slam sp]; };
   dynamac = derive2 { name="dynamac"; version="0.1.11"; sha256="0dzw4h128z53vwdpkikhxqil0xjrcjrp1zmz0fy2qhq0n74sdyar"; depends=[lmtest MASS]; };
   dynamicTreeCut = derive2 { name="dynamicTreeCut"; version="1.63-1"; sha256="1fadbql7g5r2vvlkr89nlrjxwp4yx4xrdqmv077qvmnx9vv0f4w3"; depends=[]; };
   dynamichazard = derive2 { name="dynamichazard"; version="1.0.1"; sha256="0z0hyj8qrs7x5cfj20sww1rs207v4bqgz86x0nq1z7mwdrpa7b4v"; depends=[boot Rcpp RcppArmadillo survival]; };
+  dynatop = derive2 { name="dynatop"; version="0.2.1"; sha256="0by0kvb1pivh5mjsf1a7qcgzz3x160cvgvwwcsynh37askxd2wf1"; depends=[R6 Rcpp xts zoo]; };
+  dynatopGIS = derive2 { name="dynatopGIS"; version="0.2.1"; sha256="15k8s3nydv0kgx77czd17fjjif37jx9ys85k93d404sw7bnifhmm"; depends=[jsonlite R6 raster rgeos]; };
   dyncomp = derive2 { name="dyncomp"; version="0.0.2-1"; sha256="13wp2k8nbgrbrqng2dmgy0ixgidk51wq9y7mv5pdbvdajxdsyh11"; depends=[zoo]; };
   dyndimred = derive2 { name="dyndimred"; version="1.0.4"; sha256="1rj45bgms1x0zm1xjw2ylm45w9xnd68pmgb8dckzkszqg27d0fbh"; depends=[dynutils irlba lmds tibble]; };
   dynetNLAResistance = derive2 { name="dynetNLAResistance"; version="0.1.0"; sha256="018y3m648ni31rlisjfnrx1d10mm48wpxanlnnxxpnqxjcywg2x8"; depends=[doParallel foreach igraph]; };
@@ -8520,7 +8605,7 @@ in with self; {
   eDMA = derive2 { name="eDMA"; version="1.5-3"; sha256="0wyp81si6lcispqng4c7lii22qbyblvijgnlxvcsnkcxj5hpm76j"; depends=[Rcpp RcppArmadillo xts zoo]; };
   eFRED = derive2 { name="eFRED"; version="0.1.0"; sha256="1sqhcwxbi2gxgznz0z3iyvllalq9qwm18bc60dr6y2wvcilagsiy"; depends=[httr jsonlite]; };
   eGST = derive2 { name="eGST"; version="1.0.0"; sha256="0qi4vg0pwy55js9ww1cw85ssim3x7s2p98cjijxvlrvid8sns5bq"; depends=[MASS matrixStats mvtnorm purrr]; };
-  eHOF = derive2 { name="eHOF"; version="1.9"; sha256="13m64vdbcr6ify7p6zj0dh5rsy87c9r7m4sslmgh0afbglszzrcs"; depends=[lattice mgcv]; };
+  eHOF = derive2 { name="eHOF"; version="1.11"; sha256="0g6x987fdjj130r26d2if4bqir121wqx1g4j3csnf00l17prwmbv"; depends=[lattice mgcv]; };
   eList = derive2 { name="eList"; version="0.2.0"; sha256="1znmdksi2wzzjz0n6lrggs4ckvqq3qirdfvicxlfbm05zgnjq277"; depends=[]; };
   eMLEloglin = derive2 { name="eMLEloglin"; version="1.0.1"; sha256="087zw48lykls2jcsmpqd5jkrlpr0j423snp00liszjhdpdh59saq"; depends=[lpSolveAPI]; };
   eNchange = derive2 { name="eNchange"; version="1.0"; sha256="07vdi05fr6mynb86haas21izdcjiagw14p1h8n0qr1hb3klvs8n5"; depends=[ACDm doParallel foreach hawkes iterators Rcpp]; };
@@ -8554,13 +8639,13 @@ in with self; {
   easynls = derive2 { name="easynls"; version="5.0"; sha256="1ma2q4y5dxk6q99v880vqfsgy1fha96j7pi8ch699l0pi6bx0d6c"; depends=[]; };
   easypackages = derive2 { name="easypackages"; version="0.1.0"; sha256="00paxdwz4bw3imqhcsw6hj1h0gmnpishlxcj79n826vhdy23jc4y"; depends=[assertthat devtools]; };
   easypower = derive2 { name="easypower"; version="1.0.1"; sha256="1vf0zv55yf96wjxja6ifdjvgc9nw0jl0hnc1ygyjd8pmwbgdz9bl"; depends=[pwr]; };
-  easyr = derive2 { name="easyr"; version="0.5-4"; sha256="1d9yb9rix10l3n3ah6r532ahn26wdh2a6lby8ssv5azynlqd2l12"; depends=[data_table digest dplyr foreign glue Hmisc lubridate openssl readxl rlang rprojroot stringr XML]; };
+  easyr = derive2 { name="easyr"; version="0.5-8"; sha256="0izwxv78gq1y05h2miqc5741xnixsnn45snrqw1dl0ipw388zjrl"; depends=[data_table digest dplyr foreign glue Hmisc lubridate openssl readxl rlang rprojroot stringr XML]; };
   easyreg = derive2 { name="easyreg"; version="4.0"; sha256="1w4wlhziyhdyldm0zgnm73fnxrh0fv8hwcw5j8ircxb4npx7bcgg"; depends=[nlme]; };
-  eat = derive2 { name="eat"; version="0.1.0"; sha256="0rm5fq24gara9lplpxz1g1xawxm9qvz4bpipqi21p0s6g5617s8a"; depends=[conflicted dplyr ggparty ggplot2 ggrepel knitr lpSolveAPI partykit Rdpack reshape2]; };
+  eat = derive2 { name="eat"; version="0.1.2"; sha256="0n98va7yzk0vx0zixxzmj266w12p39vxj97icpr1di3hmrdax215"; depends=[conflicted dplyr ggparty ggplot2 ggrepel lpSolveAPI partykit Rdpack reshape2]; };
   eatATA = derive2 { name="eatATA"; version="1.0.0"; sha256="1n966jrcmifi1gbzcnyavsnzmcgsp138x32mcl8pj6w3by97i781"; depends=[lpSolve mathjaxr Matrix Rglpk]; };
   eatDB = derive2 { name="eatDB"; version="0.5.0"; sha256="0lym1g411ykb2vzi5yr570lmyh30br667wkm5dvnvfs7bsmk05il"; depends=[DBI RSQLite]; };
-  eatGADS = derive2 { name="eatGADS"; version="0.18.1"; sha256="09hjn1w2mng2ypmlm8zw9dl4q430c75i5nil4x86bm9ap8zw511n"; depends=[data_table eatDB eatTools haven hms plyr stringi tibble]; };
-  eatRep = derive2 { name="eatRep"; version="0.13.7"; sha256="1667cq00gvcbvsfmplv97bmgkfyq9zi08d5yzpa0l7x7d5xgxmm2"; depends=[BIFIEsurvey boot car combinat eatGADS eatTools EffectLiteR estimatr fmsb Hmisc janitor lavaan lme4 mice miceadds msm plyr progress reshape2 survey tidyr]; };
+  eatGADS = derive2 { name="eatGADS"; version="0.19.1"; sha256="1pvflb6pkylsawc4wrk1hzlg79y5hwvdn4gr1dm0qi27vlckw00n"; depends=[data_table eatDB eatTools haven hms plyr stringi tibble]; };
+  eatRep = derive2 { name="eatRep"; version="0.14.0"; sha256="11850yxmjhqivrn1z44jn4f1bvcmcwkmsnb665gmxx4w231smc5x"; depends=[BIFIEsurvey boot car combinat eatGADS eatTools EffectLiteR estimatr fmsb Hmisc janitor lavaan lme4 mice miceadds msm plyr progress reshape2 survey tidyr]; };
   eatTools = derive2 { name="eatTools"; version="0.7.1"; sha256="1ppkpgcq6bjyl1lyqfzm5d6wdh4wirny88h94sh1029wlrr5qksb"; depends=[data_table]; };
   ebGenotyping = derive2 { name="ebGenotyping"; version="2.0.1"; sha256="1jllzc7kvvckrws8qhgvwy626llyb68sp1davp7swx48sf7rwcxc"; depends=[]; };
   ebSNP = derive2 { name="ebSNP"; version="1.0"; sha256="0x3ijwg4yycsfy6jch1zvakzfvdgpiq8i7sqdp5assb8z1823w0b"; depends=[]; };
@@ -8569,12 +8654,13 @@ in with self; {
   ebci = derive2 { name="ebci"; version="1.0.0"; sha256="00fa2y4ha9nlbjd01qckrrn721s63ja61n5jr4wm7ac6y7xivb2i"; depends=[]; };
   ebdbNet = derive2 { name="ebdbNet"; version="1.2.6"; sha256="1qzwpr76nwvgylqdg7vhrbvh2lb1zrxx3g120yz156hhs4awv4kz"; depends=[igraph]; };
   ebirdst = derive2 { name="ebirdst"; version="0.3.3"; sha256="05k388rsqjgia9jgnlq799l22zg10kvxs7l4b51kknrpqd5pis8d"; depends=[DBI dplyr fasterize gbm ggplot2 gridExtra jsonlite magrittr mgcv PresenceAbsence rappdirs raster rgdal rlang RSQLite sf stringr tidyr viridisLite xml2]; };
+  ebmc = derive2 { name="ebmc"; version="1.0.1"; sha256="1z6s1blc2b6b13pk2sd6lcczdcldgjh65cnycjcw7d2g2hnxcifh"; depends=[C50 e1071 pROC randomForest rpart smotefamily]; };
   ebmstate = derive2 { name="ebmstate"; version="0.1.3"; sha256="04pg9yqbjrq10ai13c8zm8sy7spnf96ldbbql7qysjl91ljgrqz6"; depends=[HDInterval mstate Rcpp survival]; };
   ebreg = derive2 { name="ebreg"; version="0.1.3"; sha256="1xrs9afjd5hkdmhglj3md5i5hm7awlcdlccz3y2lw4c73lx31ywz"; depends=[lars Rdpack]; };
   ec50estimator = derive2 { name="ec50estimator"; version="0.1.0"; sha256="1zg4p1734q2jzifzfi2lf9wz3687s3cdn0yzkiwbc6w49mgdw877"; depends=[dplyr drc magrittr tibble tidyr]; };
   ecap = derive2 { name="ecap"; version="0.1.2"; sha256="0d260y4phh1a7zlj2lgvdf7xd2z14l9djv7nrwa84pwqqyijc7rl"; depends=[ggplot2 quadprog]; };
   ecb = derive2 { name="ecb"; version="0.4.0"; sha256="0hn1d1hxilwxxmxzzpdcj81d4vy8fbjk1z09kw7j0b2p04wrdlkc"; depends=[curl httr rsdmx xml2]; };
-  ecce = derive2 { name="ecce"; version="1.0.7"; sha256="03p64l9krnpzdgqyj1fygqq36llsv4jc4bal1qvvgaf652w8fqwy"; depends=[RCurl rjson stringr]; };
+  ecce = derive2 { name="ecce"; version="1.0.9"; sha256="071ahimmwc1bgcwli4c40h7drdg5ldhh0w1ldzxkjc78qyw8s23d"; depends=[purrr RCurl rjson stringr]; };
   ecd = derive2 { name="ecd"; version="0.9.1"; sha256="0d8mf5q6n7k5qj6kxvrb3habl0qmn2rxv814kydkrz2bg0scvm1q"; depends=[digest ggplot2 gridExtra gsl moments optimx polynom RcppFaddeeva Rmpfr RSQLite stabledist xtable xts yaml zoo]; };
   ecdfHT = derive2 { name="ecdfHT"; version="0.1.1"; sha256="1n3n9n86pj8c54l3xvp7knvi0ajbnjmz9pi79p7wfq92a90fqx48"; depends=[rgl]; };
   ecespa = derive2 { name="ecespa"; version="1.1-13"; sha256="0a8s923xzw6wkl9240mqsr7lpvjmi20kqn2zsbax3rrrdf4gqfkx"; depends=[spatstat spatstat_core spatstat_geom]; };
@@ -8590,7 +8676,7 @@ in with self; {
   ecm = derive2 { name="ecm"; version="6.3.0"; sha256="1g8y8wks7asjyybdh4nf19w5v8kvl56n69dl0sd0mlir98i4jmr3"; depends=[car earth lmtest sandwich urca]; };
   ecmwfr = derive2 { name="ecmwfr"; version="1.3.0"; sha256="0xwbcgd590vk4civa4s039avvvxsazzh9y05lw591mpm79lz19mj"; depends=[curl getPass httr keyring memoise]; };
   ecoCopula = derive2 { name="ecoCopula"; version="1.0.1"; sha256="18gkib3m4p7vi9jgzyrnznl9kcjizlh77icqrv8xjpi40ksw9m2r"; depends=[betareg doParallel foreach glasso glm2 igraph MASS mgcv mvabund ordinal plyr sna tweedie]; };
-  ecochange = derive2 { name="ecochange"; version="2.2"; sha256="0mcd6b148xmwyycjqn0aapfahk63idp5lp2q3vjqdjb8qq55gjss"; depends=[curl data_table dplyr forcats gdalUtilities gdalUtils getPass ggplot2 httr landscapemetrics lattice R_utils raster rasterDT readr rgdal rgeos rlang rvest sf sp tibble viridis xml2]; };
+  ecochange = derive2 { name="ecochange"; version="2.5"; sha256="1lvwsi4g0b1whdcjpiri6ml90155cc5nfvxp9cnhmp9q3j9bjy1a"; depends=[curl data_table dplyr forcats gdalUtilities getPass ggplot2 httr landscapemetrics lattice R_utils raster rasterDT readr rgdal rgeos rlang rvest sf tibble viridis xml2]; };
   ecocomDP = derive2 { name="ecocomDP"; version="1.2.0"; sha256="0kfj4fn6wa0fygrdzxqm3msvwrljiazwav35gk57yp2zvdj2n34z"; depends=[data_table dplyr EML emld geosphere ggplot2 httr lubridate magrittr neonUtilities RColorBrewer rlang rmarkdown stringr tidyr uuid xml2]; };
   ecodist = derive2 { name="ecodist"; version="2.0.7"; sha256="1dkf2m6glry5wzwfjiyw6sac89v6g0frbagr9cyfp2hcp0y5g4n2"; depends=[]; };
   ecolMod = derive2 { name="ecolMod"; version="1.2.6"; sha256="1n30faldfhpm2jkaw793vr220kgn3bmn8hxhw32rax294krmwn4v"; depends=[deSolve diagram rootSolve shape]; };
@@ -8605,7 +8691,7 @@ in with self; {
   ecorest = derive2 { name="ecorest"; version="1.0.0"; sha256="13x95z99yqld1fvfgzbm6ahrnvfvcqwlb23yjr187yg83iynh79v"; depends=[viridis]; };
   ecosim = derive2 { name="ecosim"; version="1.3-3"; sha256="190xf0xy1cw40qx8x6y4m9avspxh0y11ffl3s18d5d2zr7rj3ag2"; depends=[deSolve stoichcalc]; };
   ecospace = derive2 { name="ecospace"; version="1.4.2"; sha256="0vfaf27bv687ypxg5apzv63rl495rxyflqw33j17i4h0s7cjkgrm"; depends=[FD]; };
-  ecospat = derive2 { name="ecospat"; version="3.2"; sha256="1w937f56q8lgjyqc575vxy3vfhd53ri9yiw300qqx6mnj66ijsl8"; depends=[ade4 adehabitatHR adehabitatMA ape biomod2 classInt dismo doParallel ecodist foreach gbm gtools iterators ks maps maptools matrixStats nabor poibin PresenceAbsence randomForest raster rms snowfall sp vegan]; };
+  ecospat = derive2 { name="ecospat"; version="3.2.1"; sha256="14m27biw3zp4ly3jf4q562mxcilnkdgf2wf6hv4fbhw5fh2rhbcp"; depends=[ade4 adehabitatHR adehabitatMA ape biomod2 classInt dismo doParallel ecodist foreach gbm gtools Hmisc iterators ks maps maptools matrixStats nabor poibin PresenceAbsence randomForest raster rms snowfall sp vegan]; };
   ecostats = derive2 { name="ecostats"; version="0.1.4"; sha256="0xkhkcc6psgvvwhys9azhxisnqw0azd7brp0rg60d725jqvwhbyp"; depends=[GET mgcv mvtnorm]; };
   ecostatscale = derive2 { name="ecostatscale"; version="1.0"; sha256="14i5wg5qxqn3qzycgqda6blb0imkckq23gl3c3whfa72a3a8y30q"; depends=[deSolve mvtnorm]; };
   ecotox = derive2 { name="ecotox"; version="1.4.4"; sha256="01sc2lf2kca7wqqyd3gk48va39gb7ijzgs2smgb2k4xbzjqndg08"; depends=[tibble]; };
@@ -8632,17 +8718,18 @@ in with self; {
   edf = derive2 { name="edf"; version="1.0.0"; sha256="14ikm6j0ndxrk7c7lh5mbd2aci46d4j9a30mvcgnxy3kq6046a7b"; depends=[]; };
   edfReader = derive2 { name="edfReader"; version="1.2.1"; sha256="076far4fhd6rpa6fwffad4cgchjvar135yblvlrm33s9pd5bf0hn"; depends=[]; };
   edfun = derive2 { name="edfun"; version="0.2.0"; sha256="1wxx6bgy03z7c1d6556bbjl1cb49n2vn734fw2d5c1jk0zsh3fmz"; depends=[]; };
-  edgar = derive2 { name="edgar"; version="2.0.4"; sha256="0l4pkiyf0b5q4ldr0iw3ix1aq1xjrz5p6bkxmwxlgwcnrlhjlm2w"; depends=[qdapRegex R_utils stringi stringr tm XML]; };
+  edgar = derive2 { name="edgar"; version="2.0.5"; sha256="1rm6ba4rncfsq7ndqdlkwrqqsak1n7ywsrcnxyr6ysnzgqx65y9n"; depends=[httr qdapRegex R_utils stringi stringr tm XML]; };
   edgarWebR = derive2 { name="edgarWebR"; version="1.1.0"; sha256="1v9rdj2qdcvzz7g78pa9j6l8d6zjz1q06h09c4547r67bzfz1nxy"; depends=[httr jsonlite xml2]; };
   edgeCorr = derive2 { name="edgeCorr"; version="1.0"; sha256="19n67yc58ksin7xydrnfsyyw7fqawm5xli67cz4lv4wb62w6r6ld"; depends=[]; };
   edgeRun = derive2 { name="edgeRun"; version="1.0.9"; sha256="0d5nc8fwlm61dbi00dwszj1zqlij4gfds3w1mpcqnnfilr2g3di1"; depends=[data_table edgeR]; };
-  edgebundle = derive2 { name="edgebundle"; version="0.3.0"; sha256="0hwj4qwb3x5y6svzf9wi9bb5q73x3qyknq0v659i9x99pnszqsld"; depends=[igraph interp Rcpp reticulate]; };
+  edgebundle = derive2 { name="edgebundle"; version="0.3.1"; sha256="19vz2451sqqprvjxjbk7wv0yqw5yh3yc8hb1s7dhv28y0ng6pcz6"; depends=[igraph interp Rcpp reticulate]; };
   edgebundleR = derive2 { name="edgebundleR"; version="0.1.4"; sha256="0pajr95qqppk2m4l7rfi46rll32z8a7lmq0vmb3p8n0aks5ajn1n"; depends=[htmlwidgets igraph rjson shiny]; };
   edgedata = derive2 { name="edgedata"; version="0.2.0"; sha256="11sc7x0m00yhn2c4601dpjv3brmf57i8barsl3p7bawcvka8z5lr"; depends=[]; };
   edina = derive2 { name="edina"; version="0.1.1"; sha256="1lpmidyxi54byrsnwwadkh5rr454635xrwa4v2wz8mqr2hngxis3"; depends=[ggplot2 jjb Rcpp RcppArmadillo reshape2 rgen]; };
   editData = derive2 { name="editData"; version="0.1.8"; sha256="170i8p264zj716h58bb6pvgh2lnz1w5vplnrcv8vizppi0n1js6l"; depends=[dplyr DT magrittr miniUI openxlsx rio rstudioapi shiny shinyWidgets tibble]; };
   editrules = derive2 { name="editrules"; version="2.9.3"; sha256="07j8wj0fk34irqgsz70h2wad3wdjv5xl1cl702vxbr0nvmpw2ngl"; depends=[igraph lpSolveAPI]; };
   edl = derive2 { name="edl"; version="1.1"; sha256="19p0qr9lm0kdinh4qnqx7bzxkbvcfpp6mbddwh0hgsgqkbw916cp"; depends=[data_table plotfunctions]; };
+  edlibR = derive2 { name="edlibR"; version="1.0.0"; sha256="008wyzmrnzga470p88hg6zxqj6jn5y27vadxk03nx9qx0ap6f97r"; depends=[Rcpp stringr]; };
   edmcr = derive2 { name="edmcr"; version="0.2.0"; sha256="06ms8zyygkgq3divall8paiiw5blqxfgml8iy339zfyiwfxabw5a"; depends=[igraph lbfgs MASS Matrix nloptr sdpt3r truncnorm vegan]; };
   edmdata = derive2 { name="edmdata"; version="1.2.0"; sha256="042imrnn242jzb9wb4ghjganqmx61zjwspqy9qpkxqi9nr7zxr75"; depends=[]; };
   edrGraphicalTools = derive2 { name="edrGraphicalTools"; version="2.2"; sha256="105jv2sz10xbl881lkhgmxzgmb8629mqsminhd197khrkf9nv40i"; depends=[lasso2 MASS mvtnorm rgl]; };
@@ -8656,27 +8743,27 @@ in with self; {
   eegkitdata = derive2 { name="eegkitdata"; version="1.0"; sha256="1krsadhamv1m8im8sa1yfl7injvrc4vv3p88ps1mpn8hibk5g51m"; depends=[]; };
   eel = derive2 { name="eel"; version="1.1"; sha256="0cv6dhw57yy140g73z94g9x1s42fpyfliv9cm2z1alm7xwap1l0x"; depends=[emplik rootSolve]; };
   eemR = derive2 { name="eemR"; version="1.0.1"; sha256="1w3nwlrbxm7z4c3acx991zk5drgs67qys7kgl0qakh5vrdsrxw3v"; depends=[assertthat dplyr pracma purrr R_matlab rlist stringr viridis]; };
+  eemdARIMA = derive2 { name="eemdARIMA"; version="0.1.0"; sha256="0ma9h9vi19qy9a70vpdpik64r3q9hxqqcfiswczxwajncw5nvmv0"; depends=[forecast Rlibeemd]; };
   eemdTDNN = derive2 { name="eemdTDNN"; version="0.1.0"; sha256="1i2xyc26644pgr45s78g44mzln3km9r5cw22niz3cd6q8ik2iva0"; depends=[forecast Rlibeemd]; };
   eeptools = derive2 { name="eeptools"; version="1.2.4"; sha256="048gz26dqgfsnxhp4r99j7p4s4d5pxsjci5zw8wjvv35lizij573"; depends=[arm data_table ggplot2 maptools vcd]; };
   eesim = derive2 { name="eesim"; version="0.1.0"; sha256="0ljj1jp9cl0im8k7sfjd28ggj4q9a14df3554kwxkssr1vsn1wbc"; depends=[dplyr lubridate purrr viridis]; };
   ef = derive2 { name="ef"; version="1.2.0"; sha256="1ic26mwjv221yyjj16v9xcdxsg3pl6wsp82iaprihdcndswccvzi"; depends=[dplyr Matrix mgcv RcppEigen TMB]; };
-  efdm = derive2 { name="efdm"; version="0.1.0"; sha256="0qvlgp4am5al8bf6wz2sa597mxz1hp6q22lp7xpsn5470gphlnvl"; depends=[data_table]; };
+  efdm = derive2 { name="efdm"; version="0.2.0"; sha256="1b1ay4gssyhmgzklklx0zg424sp5jb3nmn0ry4fix8z3jaf412il"; depends=[data_table]; };
   eff2 = derive2 { name="eff2"; version="1.0.1"; sha256="0872xms2i8k128h3cn2n9dwa4apdyvxhb1h759cmyw63fw4wm8kx"; depends=[igraph pcalg RBGL]; };
   effectFusion = derive2 { name="effectFusion"; version="1.1.3"; sha256="0653857zgfv2lrksja6k9i7m2jn3ha4lri6mlmcn6fgxkmr54bgw"; depends=[bayesm cluster ggplot2 GreedyEPL gridExtra MASS Matrix mcclust]; };
   effectR = derive2 { name="effectR"; version="1.0.2"; sha256="1icr1sx98x3h8rbky1agdh809arhjqcypyajl7y50yis8a5pkycb"; depends=[ggplot2 reshape2 rmarkdown seqinr shiny viridis]; };
-  effects = derive2 { name="effects"; version="4.2-0"; sha256="0iks79rd4knrd81x4kvcpgpclr69l0m0v6sfla8k3wzkcnydycv8"; depends=[carData colorspace estimability insight lattice lme4 nnet survey]; };
-  effectsize = derive2 { name="effectsize"; version="0.5"; sha256="0w7m3hzmwral9cycpvknrkbdvgk230b3vg5sxbm84x72mw534hnh"; depends=[bayestestR datawizard insight parameters performance]; };
+  effects = derive2 { name="effects"; version="4.2-1"; sha256="0h3n2kd43fddy29hlv1nckw3wglykwrgk1hp8khb0pnm2i12b5sk"; depends=[carData colorspace estimability insight lattice lme4 nnet survey]; };
+  effectsize = derive2 { name="effectsize"; version="0.6.0.1"; sha256="1rhpbhyrv0avinm6dz6v2qw4xxdl9m1wknq1dv2flfxgcz0k9qiz"; depends=[bayestestR datawizard insight parameters performance]; };
   effectsizescr = derive2 { name="effectsizescr"; version="0.1.0"; sha256="0shfjk6r3bz04jakrn5nwgymjx60lk83i0akcx7zqfxp3k8yncs5"; depends=[Kendall]; };
   efflog = derive2 { name="efflog"; version="1.0"; sha256="1sfmq7xrr6psa6hwi05m44prjcpixnrl7la03k33n0bksj8r1w6b"; depends=[]; };
   effsize = derive2 { name="effsize"; version="0.8.1"; sha256="1m5ch2g77f4ldbxhzp2ls1pga8hq7ggkz1xs8a90h0s09rj0gd7w"; depends=[]; };
   eflm = derive2 { name="eflm"; version="0.3.0"; sha256="0pl1z0yy257x4yhy2m7w6xkicr2a5b37rdsrf7a5ramk7z2nvs4m"; depends=[tibble]; };
   efreadr = derive2 { name="efreadr"; version="0.2.2"; sha256="1h27by1m451wrnw017005avs5yj3fjzrm2lq5153aqm1mbbxxwvs"; depends=[dplyr ensurer magrittr readr]; };
-  efts = derive2 { name="efts"; version="0.9-0"; sha256="1cdn37sij3q73z9gal6x3nnnds55whfj5ywyww119hx092xcb2h4"; depends=[lubridate magrittr ncdf4 plyr stringr udunits2 xts]; };
   ega = derive2 { name="ega"; version="2.0.0"; sha256="04kwh24aap22yclmcrix3vi553qb30hd43mgfzpdl0cw3ibrh7xg"; depends=[ggplot2 mgcv]; };
   egcm = derive2 { name="egcm"; version="1.0.12"; sha256="0nssf5six1j7z6fss7478zdbsfx60myzw833m7nsnaf1r8n4ixaf"; depends=[ggplot2 MASS pracma quantmod tseries urca xts zoo]; };
   egg = derive2 { name="egg"; version="0.4.5"; sha256="1fy7srpiavfn8kyrr1m84an7acgwi6ydzrg71m3b0vk7y9ybmj0m"; depends=[ggplot2 gridExtra gtable]; };
   eggCounts = derive2 { name="eggCounts"; version="2.3-1"; sha256="0pm96j7sacy56kvif6950jdxqqzn8y3alnkd4j4pr2a6a3mszfzj"; depends=[BH boot coda lattice numbers Rcpp RcppEigen RcppParallel rootSolve rstan rstantools StanHeaders]; };
-  egor = derive2 { name="egor"; version="1.21.10"; sha256="1pnj0y1n60n7s8qlzcagifm3a27g7z0sc5pw7wmmg3w0bqa2ph26"; depends=[dplyr purrr rlang srvyr tibble tidygraph tidyr]; };
+  egor = derive2 { name="egor"; version="1.22.1"; sha256="15nl5lz5n3qil84fsfq966q6rks7wgx1dc2bfcgiaavff4n22acz"; depends=[dplyr purrr rlang srvyr tibble tidygraph tidyr]; };
   eha = derive2 { name="eha"; version="2.9.0"; sha256="069nxf7mfx2b2r1961jf0mcgxbc132ljykr17p3k8pax39m2p78n"; depends=[survival]; };
   ehaGoF = derive2 { name="ehaGoF"; version="0.1.1"; sha256="15hpzj3ridl6w3pd5z86d88cc88jw09qpqhsdwkar4dby8lgxhi0"; depends=[]; };
   ehelp = derive2 { name="ehelp"; version="1.2"; sha256="0264nx4bidrbwhlxx9llarvh4zb3xnzln8km14823q1hclkpm2fq"; depends=[]; };
@@ -8699,7 +8786,7 @@ in with self; {
   eivtools = derive2 { name="eivtools"; version="0.1-8"; sha256="0ynmrql6dv10m7cwba5mzwlbvp6ab53nzqqvk3ihwyiqzmnnmpk4"; depends=[R2jags]; };
   eixport = derive2 { name="eixport"; version="0.5.0"; sha256="1k5p9v5jmw5cs31sn69fjdfhh5yyzk85828aljsmsyx1ycibnwmg"; depends=[cptcity data_table ncdf4 raster sf sp]; };
   elaborator = derive2 { name="elaborator"; version="1.1"; sha256="1kq3qqqywpzrk1ichsljvfijhsybmj7s0scmswmwi2crqi67gzp8"; depends=[bsplus dendextend dplyr forcats haven purrr RColorBrewer reshape2 rlang seriation shape shiny shinydashboard shinyWidgets tidyr]; };
-  elasdics = derive2 { name="elasdics"; version="0.1.4"; sha256="0swfnp359ba8ihg1nsqapghb9k8ihg7nj93gjspxrr1z74vw49y5"; depends=[numDeriv]; };
+  elasdics = derive2 { name="elasdics"; version="0.1.5"; sha256="1q6l32v3y5l1n9g4si6swc3ck1nndn4xsj0hw1q9b4x5dlxvfziv"; depends=[numDeriv]; };
   elasso = derive2 { name="elasso"; version="1.1"; sha256="0nz3vw803dvk4s45zc9swyrkjwna94z84dn4vfj3j17h74a0cij2"; depends=[glmnet SiZer]; };
   elastic = derive2 { name="elastic"; version="1.2.0"; sha256="0k98ziacyxl1pyhyynmswcncqwl0a05sawypncdpdd9xr77nvgi6"; depends=[crul curl jsonlite R6]; };
   elasticIsing = derive2 { name="elasticIsing"; version="0.2"; sha256="1zjgvz7w5j06x2cd1fzjl85di95ah67m1lanw01kic2bvhfwfbn6"; depends=[cvTools glmnet magrittr qgraph reshape2]; };
@@ -8712,7 +8799,7 @@ in with self; {
   electivity = derive2 { name="electivity"; version="1.0.2"; sha256="0clxsn9zkpdlq9jgq029ag310ji0hd0l23wfyqh8gkkj0091ip5a"; depends=[]; };
   electoral = derive2 { name="electoral"; version="0.1.2"; sha256="1kf5ix0bmrh7zwgg87zf10s8pvq32fpqlmyw2dq1kf9gv3s91p04"; depends=[dplyr ineq tibble]; };
   elementR = derive2 { name="elementR"; version="1.3.7"; sha256="01xbqargzc0bp1l5rcvxikr95ghj9w7w5byhrjbgwbia6y7zhxa2"; depends=[abind colourpicker devtools EnvStats gdata gnumeric httpuv lmtest outliers R6 reader readODS readxl shiny shinydashboard shinyjs stringr tcltk2 zoo]; };
-  elevatr = derive2 { name="elevatr"; version="0.4.1"; sha256="07y4jza4v5aqvf9k8lvh5cqapvyyfdhs9hfd0msncisv7jlz6lwf"; depends=[furrr future httr jsonlite progressr purrr raster sf sp units]; };
+  elevatr = derive2 { name="elevatr"; version="0.4.2"; sha256="1a5j7hb9fsy9ybrdlywbm552kb2hj6ch1m8kvi2hybm99yw33n81"; depends=[furrr future httr jsonlite progressr purrr raster sf slippymath sp units]; };
   elexr = derive2 { name="elexr"; version="1.0"; sha256="1xmrzlp55z6k3psdg4a3x3rsilvq3k37v9r7ydfn80ahvqjz0fqh"; depends=[]; };
   elfDistr = derive2 { name="elfDistr"; version="1.0.0"; sha256="11h91mwiw2pr0c8zvyzqql275falpiajv784n2rd5xs9azprqdd0"; depends=[Rcpp]; };
   elhmc = derive2 { name="elhmc"; version="1.1.0"; sha256="0ngva7rnfj75fq93ycsv929m9ykijp48r7cvd6sfmi0sqsjinax5"; depends=[emplik MASS plyr]; };
@@ -8723,12 +8810,12 @@ in with self; {
   ellipsis = derive2 { name="ellipsis"; version="0.3.2"; sha256="0n0mm9jngklv7j9wa64jdji035z0smmnsp2dfwcz9isrxgjnc0m9"; depends=[rlang]; };
   elliptic = derive2 { name="elliptic"; version="1.4-0"; sha256="1dhba0yfxjd5rlqsxp5a7s2hclfkla9wigsr39dlma67l6qjjmxn"; depends=[MASS]; };
   ellipticalsymmetry = derive2 { name="ellipticalsymmetry"; version="0.1.2"; sha256="035q6zjf0lnx704q5g51bhv1xp7y0yn31ph57zydk92gfpgn468l"; depends=[doParallel doRNG foreach ICSNP]; };
-  elmNNRcpp = derive2 { name="elmNNRcpp"; version="1.0.3"; sha256="1cv6si3vd91q42dfg4dbyn3qd8ah4pywsdpma84y9kdnn1mmvnxb"; depends=[KernelKnn Rcpp RcppArmadillo]; };
+  elmNNRcpp = derive2 { name="elmNNRcpp"; version="1.0.4"; sha256="1vn3c67p4kd7bs4fsyhkl350aydcqpfda4j6svkc0g4cxd5i33zj"; depends=[KernelKnn Rcpp RcppArmadillo]; };
+  elo = derive2 { name="elo"; version="3.0.1"; sha256="0cw3gcp0i4jvpmqv4595arqq3r5407gh6cy0l8jl7s9bi9mnvd9b"; depends=[pROC Rcpp]; };
   elrm = derive2 { name="elrm"; version="1.2.5"; sha256="1kqwr0nfmnb729h01p14a24kd9scsw7j7qj133kpg0ppcfsnygld"; depends=[coda]; };
   elsa = derive2 { name="elsa"; version="1.1-28"; sha256="01sj2a4yhv5m6qj6ih26zw4yzd8s27lll7yp0yysjjrwz79a0fbq"; depends=[raster sp]; };
   eltr = derive2 { name="eltr"; version="0.1.0"; sha256="0f4sy2hhsbghasl5xcnqlgxqhb503pl73c5vdkgpcm73smrqbpbv"; depends=[data_table]; };
-  emIRT = derive2 { name="emIRT"; version="0.0.11"; sha256="1h91q9vi9cv14bmkaakyynw2z9sx51w0c2kw2in0x91wx7scmd0p"; depends=[pscl Rcpp RcppArmadillo]; };
-  emayili = derive2 { name="emayili"; version="0.7.0"; sha256="0gskq9qhblgly2r726qhmxhxc7a4p5g0dgx1kc5v2kkkigpr5haj"; depends=[base64enc commonmark curl digest dplyr glue htmltools httr logger magrittr mime purrr rmarkdown stringi stringr tidyr urltools vctrs xfun xml2]; };
+  emayili = derive2 { name="emayili"; version="0.7.5"; sha256="1kkcnj7knfiq1pr0yq2sfldvrxjw5j9xg62crsiiwsj0ilnzw6bk"; depends=[base64enc commonmark curl digest dplyr glue htmltools httr logger magrittr mime purrr rmarkdown rvest stringi stringr tidyr urltools xfun xml2]; };
   emba = derive2 { name="emba"; version="0.1.8"; sha256="1bzp1cplr977w87bm0pvabvgai91a3j51pfjn4lc1ncjbr2v6wl0"; depends=[Ckmeans_1d_dp dplyr igraph purrr readr rje stringr tibble tidyr tidyselect usefun visNetwork]; };
   embed = derive2 { name="embed"; version="0.1.5"; sha256="029ysbfvgb1sb14xs0p6dswcxbpgnhvshhs2hcqbrizysb7c7bj2"; depends=[dplyr generics keras lifecycle purrr recipes rlang rsample tensorflow tibble tidyr uwot withr]; };
   embryogrowth = derive2 { name="embryogrowth"; version="8.2"; sha256="1dq3vz70ai63mfmhfs9mavmx3kqsbdy2m7pfv74lk3gj42rzdbvx"; depends=[deSolve HelpersMG numDeriv optimx]; };
@@ -8759,10 +8846,11 @@ in with self; {
   encryptedRmd = derive2 { name="encryptedRmd"; version="0.2.1"; sha256="0agd5lqrmdi50r9fl25njwsvg91nqsvj4h6c639vfhxx7p9y9nfk"; depends=[readr rmarkdown sodium]; };
   encryptr = derive2 { name="encryptr"; version="0.1.3"; sha256="01gsimhrb9c7k5d9h5dbvm4h9i7fc9vzi8wgqb5f191ki27fsw9w"; depends=[dplyr knitr openssl purrr readr rlang]; };
   endoSwitch = derive2 { name="endoSwitch"; version="1.0.0"; sha256="1cj4skk317ppnayk1ph63vll49vs74fljc25cn1iviwgjq64ly0k"; depends=[data_table maxLik msm]; };
+  endogeneity = derive2 { name="endogeneity"; version="2.0.1"; sha256="1a71w8pqi54g4m814r7z7ywd4fkhlnvrxbrb7s5zlfb5r829b69h"; depends=[MASS maxLik pbivnorm statmod]; };
   endogenous = derive2 { name="endogenous"; version="1.0"; sha256="079fmfxl9gf080zq5m1ixmgry9dawg2y6ixbfyc5da5jxf3zk9h8"; depends=[mvtnorm]; };
   endorse = derive2 { name="endorse"; version="1.6.1"; sha256="067wrb5vhi9qn66rwp38cb4kss2yc55blh5dnl99fsvpc0qs146p"; depends=[coda]; };
   endtoend = derive2 { name="endtoend"; version="2.29"; sha256="0dqzh2blb2h8ngchvfvnzx0gmilvx9ydvzqwfy4d9f58ixybn4d9"; depends=[ggplot2 pastecs]; };
-  energy = derive2 { name="energy"; version="1.7-8"; sha256="12a7gy681aq3l55iys044cs6sn1s2l5qihghpdl01cvv0ggfh26y"; depends=[boot gsl Rcpp]; };
+  energy = derive2 { name="energy"; version="1.7-9"; sha256="1ndssfi0hbnsm5jwrns7m63ppxm221hd6gk0b0wa1a7mk7ny1l38"; depends=[boot gsl Rcpp]; };
   energyr = derive2 { name="energyr"; version="0.1.2"; sha256="0gjw2cvpvhyywxlx3vfkhlh7zjwig46z1zwdc01zxwflvdx3z40n"; depends=[RgoogleMaps]; };
   enerscape = derive2 { name="enerscape"; version="0.1.3"; sha256="0m4dalrm11pyxxbcfsq9mcblm35v77vxyryal4p9mnv7pc4fc352"; depends=[gdistance Matrix raster rgdal rgeos sp]; };
   enetLTS = derive2 { name="enetLTS"; version="0.1.0"; sha256="0lqnhrsg9fnkn8z5crdrajpgavk1knr9z4sbdffpa6q9n8s5pmhr"; depends=[cvTools ggplot2 glmnet reshape robustHD]; };
@@ -8778,14 +8866,14 @@ in with self; {
   ensemblepp = derive2 { name="ensemblepp"; version="1.0-0"; sha256="08k7v61p2sgr07dklabl0g7apsn9da60sfb14gfrwipwi8bsd4pv"; depends=[]; };
   ensr = derive2 { name="ensr"; version="0.1.0"; sha256="18b81iswvby7k5akbfdyc6a8j1621d4d35hxmgjip5kyvf5cb3p8"; depends=[data_table ggplot2 glmnet]; };
   ensurer = derive2 { name="ensurer"; version="1.1"; sha256="1gbbni73ayzcmzhxb88pz6xx418lqjbp37sdkggbrxcyhsxpdkid"; depends=[]; };
-  entcn = derive2 { name="entcn"; version="0.1.0"; sha256="0wpa1293d1bdlx8pikzfh4vqhw7p45bi140aj3x4m8p21h5b4gd6"; depends=[bitops RCurl rjson RYoudaoTranslate stringr]; };
+  entcn = derive2 { name="entcn"; version="1.0.0"; sha256="0zwhhjrc24d3hr9494p9ayxlkd0g6jml9raxwv59mpvpprrasdws"; depends=[RYoudaoTranslate stringr]; };
   entropart = derive2 { name="entropart"; version="1.6-8"; sha256="1z6v7gszlmjppp9q69k0awjdkjp0xj2b57g1m52klhcvrf8cp8ad"; depends=[ade4 ape EntropyEstimation ggplot2 ggpubr reshape2 SPECIES tibble vegan]; };
   entropy = derive2 { name="entropy"; version="1.3.1"; sha256="1f0j8jsn6pzf4gi5g0akixx6x5vc69ci5f4m2vnwp40frvsqjnkg"; depends=[]; };
   entrymodels = derive2 { name="entrymodels"; version="0.2.1"; sha256="0fz7jzax12pzw47iry4amgg9z4z3z94kig6r5dhcqa84kq02294v"; depends=[dplyr magrittr readr]; };
   envDocument = derive2 { name="envDocument"; version="2.4.1"; sha256="074m7adnasvys28kjdgj9071fi90vsl4yv5zvpxik4crlx098dlw"; depends=[]; };
   envalysis = derive2 { name="envalysis"; version="0.5.1"; sha256="1lvzb8jdbvrigw5va39fsfnkvwrgb9wvarrdllipszqxmnc8g5rk"; depends=[drc ggplot2 lmtest]; };
   enveomics_R = derive2 { name="enveomics.R"; version="1.8.0"; sha256="00akdhqs7jabk7g33rwmxs92jcr39shy9s456nqxk6x4244d2vb3"; depends=[fitdistrplus investr sn]; };
-  envi = derive2 { name="envi"; version="0.1.10"; sha256="0wpdykcg3c8zph6jg70l864dx98x78d6v3s9d2y54zvk104hhq4q"; depends=[concaveman cvAUC doFuture doRNG fields foreach future iterators maptools pls raster rgeos ROCR sp sparr spatstat spatstat_core spatstat_geom spatstat_linnet]; };
+  envi = derive2 { name="envi"; version="0.1.11"; sha256="0l5pc5qqgprqkyjv8bmk5yay25bbnrsx3kx6lzcdnhwkvr4izrs8"; depends=[concaveman cvAUC doFuture doRNG fields foreach future iterators pls raster rgeos ROCR sp sparr spatstat_geom spatstat_random]; };
   enviGCMS = derive2 { name="enviGCMS"; version="0.6.6"; sha256="01y3qqh99aclarglpdg8mb9iikzkm1w62mv93m22lm8ami25a372"; depends=[animation BiocParallel data_table mixtools RColorBrewer Rdisop]; };
   enviPat = derive2 { name="enviPat"; version="2.4"; sha256="1gvb7jmwwh4l44b50xmrq3bysr2iv6442yh9pdk6n81g3bgpz1d0"; depends=[]; };
   enviPick = derive2 { name="enviPick"; version="1.5"; sha256="04q6zwqq2ip8b8h2n1jpgx1bzcvi7lazljs0806wiakbc79x232p"; depends=[readMzXmlData shiny]; };
@@ -8804,15 +8892,14 @@ in with self; {
   epcc = derive2 { name="epcc"; version="1.4.7"; sha256="0j4cb17gvwsaacmhvm8qp5chr384kl7gj6089gjrc2hqi6kjr0rx"; depends=[cowplot deSolve formattable ggplot2 httr nls2 proto raster readxl rgdal rlang sp]; };
   eph = derive2 { name="eph"; version="0.4.0"; sha256="0yznfhsp6sgymq02m4g477pnqlmmbdvwv32sidaa2giaf3nr4izj"; depends=[assertthat attempt curl dplyr expss glue htmltools janitor leaflet magrittr purrr questionr readr readxl rlang rvest stringr tibble tidyr tidyverse xml2 zoo]; };
   epiDisplay = derive2 { name="epiDisplay"; version="3.5.0.1"; sha256="08ym6hcbmajzr4rasdb35fxk79vgpzfc16rmcm34f7f3zzz09dyl"; depends=[foreign MASS nnet survival]; };
-  epiGWAS = derive2 { name="epiGWAS"; version="1.0.2"; sha256="0jqblfmz02za3b2pgi15379bzgh98yv5kyv8kh0lkzhrmpgph2zj"; depends=[DescTools glmnet matrixStats SNPknock]; };
-  epiR = derive2 { name="epiR"; version="2.0.40"; sha256="1vjkiji10gki0hanhnh6g3k9g7bmnkazwnisikfr2wyjjps133q3"; depends=[BiasedUrn lubridate pander sf survival]; };
+  epiR = derive2 { name="epiR"; version="2.0.41"; sha256="14al2v0pn2m581smz2lia79hp37cjy1z4j428sl5nk18lcdgi9gh"; depends=[BiasedUrn lubridate pander sf survival]; };
   epibasix = derive2 { name="epibasix"; version="1.5"; sha256="0ivr51x37cbdryli9b4p4iq9v2c90zwmywrwdmg7ryq5vprvvbp0"; depends=[]; };
   epicontacts = derive2 { name="epicontacts"; version="1.1.2"; sha256="07vnvfqm9vghmrjy3g1x3mz6qsf09qi04xq2nm9n4cgxjmbr0gia"; depends=[colorspace dplyr igraph threejs visNetwork]; };
   epidata = derive2 { name="epidata"; version="0.4.0"; sha256="0v3s1vrf2iqh03rkkwrlz6mhpbsbjxkayrqdx04vrnja4i9ljshk"; depends=[dplyr httr jsonlite purrr readr rvest stringi tidyr tinytest xml2]; };
   epidemia = derive2 { name="epidemia"; version="1.0.0"; sha256="1lfbibcpm58a05wrikwfzxkfqxw6yk41b1q07wpchxpz1lfv2v5y"; depends=[bayesplot BH dplyr ggplot2 hrbrthemes lme4 magrittr Matrix Rcpp RcppEigen Rdpack rlang rstan rstanarm rstantools scales StanHeaders tidyr zoo]; };
   epifitter = derive2 { name="epifitter"; version="0.3.0"; sha256="104hl3b3951psi023hv95486ygcv9ilmqkzw96yygym7rhkaww9m"; depends=[DescTools deSolve dplyr ggplot2 knitr magrittr minpack_lm tibble tidyr]; };
   epiflows = derive2 { name="epiflows"; version="0.2.0"; sha256="09ri1p73ih0i08irc06ff169hi5vcl8bdi63b056kzxgmv17yqkp"; depends=[epicontacts geosphere ggmap ggplot2 htmltools htmlwidgets leaflet sp tibble visNetwork]; };
-  epigraphdb = derive2 { name="epigraphdb"; version="0.2.2"; sha256="1kd46anhijcx4sw4ghzd417vwdl64375cbrlj0shcvv9gcc3h38n"; depends=[glue httr jsonlite magrittr purrr tibble]; };
+  epigraphdb = derive2 { name="epigraphdb"; version="0.2.3"; sha256="11ja2r024a4sfk6xjhwn2mj4fz2msf6jx85w3cxr2hvp9sl3zgc9"; depends=[glue httr jsonlite magrittr purrr tibble]; };
   epikit = derive2 { name="epikit"; version="0.1.2"; sha256="0b9kc7qr7nkafmak60pyj7hln19w4zp33pk5y48qmfsxgarl6pv3"; depends=[binom dplyr forcats glue rlang scales tibble tidyr tidyselect]; };
   epimdr = derive2 { name="epimdr"; version="0.6-5"; sha256="1nxdlz7gl9vrha9iw92y0s9dmm101gkz0rsqxqg1rdxanr6hs6sh"; depends=[deSolve polspline shiny]; };
   epinet = derive2 { name="epinet"; version="2.1.8"; sha256="10bgq66n99kkz0nhmsz508aypxk57zk19p5l3xrb28n72k4rfgrf"; depends=[network]; };
@@ -8825,8 +8912,8 @@ in with self; {
   epitab = derive2 { name="epitab"; version="0.2.2"; sha256="0yi65bblsikwsa9i7wys1mqf6pp6j01kyc8xkyrhs5n62y1k68nc"; depends=[kableExtra knitr MASS survival xml2]; };
   epitools = derive2 { name="epitools"; version="0.5-10.1"; sha256="0jqn3pas4lsans50jwakmvpyc7m7x0kxq6dzyckd3vgww56qa65l"; depends=[]; };
   epitrix = derive2 { name="epitrix"; version="0.2.2"; sha256="1rqpvdky002h6mz636b77l4kd0im16pww62l6vnwh83si1m9pkki"; depends=[distcrete sodium stringi]; };
-  epitweetr = derive2 { name="epitweetr"; version="0.1.28"; sha256="0iqdn1vc3h3ng10vhljnr8bs5sn0mnfwpv11zq1dvw6yyh9b5ia6"; depends=[bit64 dplyr DT emayili ggplot2 httpuv httr jsonlite keyring magrittr plotly plyr readxl rgdal rgeos rmarkdown rnaturalearthdata rtweet shiny sp stringr tidytext tidyverse tokenizers xml2 xtable]; };
-  eplusr = derive2 { name="eplusr"; version="0.15.0"; sha256="09j90bcc45f19pfcs44gqp42f0142hhxy3vzdmkbf1w2q8h7d77z"; depends=[callr checkmate cli crayon data_table hms lubridate processx progress R6 RSQLite stringi units]; };
+  epitweetr = derive2 { name="epitweetr"; version="2.0.3"; sha256="0wxzhhx7l0w5g6zihglxhgzibj69pj929zsh54zp5qg1jr00znyj"; depends=[bit64 crul curl dplyr DT emayili future ggplot2 htmltools httpuv httr janitor jsonlite keyring knitr magrittr openxlsx plotly plyr readxl rlang rmarkdown rnaturalearthdata rtweet shiny sp stringr tibble tidytext tidyverse tokenizers xml2 xtable]; };
+  eplusr = derive2 { name="eplusr"; version="0.15.1"; sha256="09s0fibf390jixdvn3kdsxdvm3xy1cfk4v0hakvidq9v56hshkhy"; depends=[callr checkmate cli crayon data_table hms lubridate processx progress R6 RSQLite stringi units]; };
   eply = derive2 { name="eply"; version="0.1.2"; sha256="0al44pvqf6ls3dh129vlv3g56hk1nbql09rj0qsb04d9kaz9anrp"; depends=[magrittr]; };
   epoc = derive2 { name="epoc"; version="0.2.6-1.1"; sha256="1qlj4cl7mh5k52v2ippfs3cish5iadnix5w46p25hjqiriksclna"; depends=[elasticnet irr lassoshooting Matrix survival]; };
   epocakir = derive2 { name="epocakir"; version="0.9.7"; sha256="1i3hiyk8337cpfir25j9afjq6kjy4p2s407nv66kzxp9945fjc8i"; depends=[dplyr ellipsis lubridate magrittr rlang tibble tidyr tidyselect units vctrs]; };
@@ -8846,7 +8933,7 @@ in with self; {
   equate = derive2 { name="equate"; version="2.0.7"; sha256="07cji0z139fk70d4wvrpk5m34fq1pfnqrsw336lgnp5a7zp3jz7n"; depends=[]; };
   equateIRT = derive2 { name="equateIRT"; version="2.2.1"; sha256="0y7jn9k3swndqs4x545capy6srb1zjcjy8mq6kprb21a4bdyh383"; depends=[mirt statmod]; };
   equateMultiple = derive2 { name="equateMultiple"; version="0.1.0"; sha256="0ciwzaybr15r5b72mba9hhxlnbyfbc895a2yj6wz25dghcs6vlhx"; depends=[equateIRT numDeriv Rcpp RcppArmadillo statmod]; };
-  equatiomatic = derive2 { name="equatiomatic"; version="0.3.0"; sha256="1sv5l1mvfqssrig7v5ciqqvdmc4l4abqklq57j5z0ds5kri39vhm"; depends=[broom broom_mixed knitr shiny]; };
+  equatiomatic = derive2 { name="equatiomatic"; version="0.3.1"; sha256="0gy1wy10zc7h7h1s0hwd545iv4af5x2g8pqsgzyryydd6426g2gj"; depends=[broom broom_mixed knitr shiny]; };
   equivUMP = derive2 { name="equivUMP"; version="0.1.1"; sha256="05ihbr6dd9qv89ll90ynk4g3d3xy2w5q0m696djfa63f1x92c01w"; depends=[]; };
   equivalence = derive2 { name="equivalence"; version="0.7.2"; sha256="170l5gnk0dkjkfsx7qyrw56ircwsjzz9cvhakgyrqh7bj5734i79"; depends=[boot lattice PairedData]; };
   equivalenceTest = derive2 { name="equivalenceTest"; version="0.0.1.1"; sha256="1lr1qc4mv8f9hwqidj1rwhxqm1fb8cf1hnb1k32xpdqwzsxbfa47"; depends=[cubature polynom Rdpack rootSolve]; };
@@ -8888,16 +8975,16 @@ in with self; {
   eshrink = derive2 { name="eshrink"; version="0.1.2"; sha256="0min4j1dyd08i0fyn9a4iasjlhq08bn74bjz8vj1gq9l114v795k"; depends=[glmnet MASS]; };
   esmisc = derive2 { name="esmisc"; version="0.0.3"; sha256="1d6xrdxwn85c8s60s7vzaymh7wa9f7fzd79hq5spzd12fr3zisvj"; depends=[ggplot2 raster readr]; };
   esmprep = derive2 { name="esmprep"; version="0.2.0"; sha256="076sm26mkkvig2g04k32z2dlp2h9gnqgzckhirl4pqm01siknl61"; depends=[lubridate]; };
-  esquisse = derive2 { name="esquisse"; version="1.0.2"; sha256="1xfjpbsf7idmwvniji4n64j0wa7h0hr7r9s3rhxsg0yl4acjxfdc"; depends=[datamods ggplot2 htmltools jsonlite rlang rstudioapi scales shiny shinyWidgets]; };
+  esquisse = derive2 { name="esquisse"; version="1.1.0"; sha256="14s3qs5k2b6m36sr1f3klbdjfsr5852c4ng5d545r7idg0n33f94"; depends=[datamods ggplot2 htmltools jsonlite phosphoricons rlang rstudioapi scales shiny shinyWidgets]; };
   esreg = derive2 { name="esreg"; version="0.5.0"; sha256="1njwqm3hrcxwl6y7gwa4zq0q5139293qk503ahw23dxwzdsiy2z5"; depends=[Formula quantreg Rcpp RcppArmadillo]; };
   ess = derive2 { name="ess"; version="1.1.2"; sha256="1cmw20nn39ssyqiyn50w0ws28mq4cd26yhzr7mv97haaqjjjkv5h"; depends=[igraph Rcpp]; };
   essHist = derive2 { name="essHist"; version="1.2.2"; sha256="0rvlxfcl42h4pjqf37mx7bc4k21iwvnys6l5rf2jsl7yk1b9hmbn"; depends=[Rcpp]; };
   essentials = derive2 { name="essentials"; version="0.1.0"; sha256="163wv4szfanbpiw5f6lhw1dnns5prql43iz27zgcp5z2rsxlb894"; depends=[]; };
-  essurvey = derive2 { name="essurvey"; version="1.0.7"; sha256="07z6bdk76528cg5pdchh1kcsm7xrhpqzzxm2llyh0y12fa7mwscy"; depends=[haven httr rvest tibble xml2]; };
-  estadistica = derive2 { name="estadistica"; version="0.1.0"; sha256="1xhxy4nzpv5qw6nfg8zrhh6lvcrwz2kf793safah4snfqir0qx6w"; depends=[data_table dplyr ggplot2 magrittr plotly rio shiny shinydashboard tidyr tidyverse]; };
+  essurvey = derive2 { name="essurvey"; version="1.0.8"; sha256="1b78am4vnyg3k2hjjkjyhnjgm6rsmjwvqys030qybkgfplsbgra3"; depends=[haven httr rvest tibble xml2]; };
+  estadistica = derive2 { name="estadistica"; version="0.2.0"; sha256="1f7bw1clprkrcxxcp0rb1v2bdhz0ynk8f2850vv67sydnqlqal5k"; depends=[data_table dplyr forecast ggplot2 gridExtra knitr magrittr plotly rio shiny shinydashboard tidyr tidyverse]; };
   estatapi = derive2 { name="estatapi"; version="0.4.0"; sha256="0wp5w9w0b832fnl7kchjqmychnf5896q50grw8hwdc1km14dfzkg"; depends=[dplyr httr purrr readr rlang tibble]; };
   estimability = derive2 { name="estimability"; version="1.3"; sha256="0cifdaa71spkcxl4db4z884jrya865sg3dhcv4isd8fnzg2pjcd3"; depends=[]; };
-  estimatr = derive2 { name="estimatr"; version="0.30.4"; sha256="0qvic3dviz28syxlw92wzwdl6qj2n23cvm0sc3ww23vwg5hdnk8m"; depends=[Formula generics Rcpp RcppEigen rlang]; };
+  estimatr = derive2 { name="estimatr"; version="0.30.6"; sha256="03y9hcdj5y2bhz7k8sh5mmv619zpbqh4gyv82sf9s57infhc3zph"; depends=[Formula generics Rcpp RcppEigen rlang]; };
   estimraw = derive2 { name="estimraw"; version="1.0.0"; sha256="0z591mblbzc3qv9pyv8zn0r5r3d8f1l02sxdc649gl1lb40kalz0"; depends=[dplyr]; };
   estmeansd = derive2 { name="estmeansd"; version="0.2.1"; sha256="053mf9yq095dvlz2cj5haav6yabvgj78qpp411xd9nr1ac17jxz9"; depends=[metaBLUE]; };
   estout = derive2 { name="estout"; version="1.2"; sha256="0whrwlh4kzyip45s4zifj64mgsbnrllpvphs6i5csb7hi3mdb3i5"; depends=[]; };
@@ -8914,10 +9001,10 @@ in with self; {
   etrader = derive2 { name="etrader"; version="0.1.3"; sha256="1iq80vn7j2sywlla01f6vrfyjjs4lk606kc8z4xlfqj8d27r9r9w"; depends=[dplyr httr jsonlite magrittr purrr rvest urltools]; };
   etrm = derive2 { name="etrm"; version="1.0.1"; sha256="0jzwvz2ddh3w4y1kgqwdj7py376w6dwbvqhjmiiikr7qsgap23fk"; depends=[ggplot2 reshape2]; };
   etrunct = derive2 { name="etrunct"; version="0.1"; sha256="0ayazgyqlc8jcqr03cwfmfhm4pck6xri1r6vkgqy4arqkrrnrcqr"; depends=[]; };
-  eudract = derive2 { name="eudract"; version="0.9.3"; sha256="0bbs9lqmw992q6d9bp7xsssnn8hipb4zx9lyvpdakfmv08ykl3fn"; depends=[dplyr magrittr tidyr xml2 xslt]; };
+  eudract = derive2 { name="eudract"; version="0.10.1"; sha256="0qznnfflmxgx6ic5lfw0vcv1jm6hs7g3srly90vj70adjcb49sbd"; depends=[dplyr httr magrittr tidyr xml2 xslt]; };
   eulerian = derive2 { name="eulerian"; version="1.0"; sha256="0yhpnx9vnfly14vn1c2z009m7yipv0j59j3s826vgpczax6b48m0"; depends=[graph]; };
   eulerr = derive2 { name="eulerr"; version="6.1.1"; sha256="0lldp2319qd08y87f862gx8a77rvikcnkmdl9xgx4glynfs3hk19"; depends=[GenSA polyclip polylabelr Rcpp RcppArmadillo]; };
-  eurlex = derive2 { name="eurlex"; version="0.3.6"; sha256="00x02q9dm4f2y8appa24n67d5l0994ll4jsgl2jfsk06h8y0m10i"; depends=[antiword curl dplyr httr magrittr pdftools readr rlang rvest stringr tidyr xml2]; };
+  eurlex = derive2 { name="eurlex"; version="0.4.0"; sha256="0pzwpdhkf0mn2fy1b11sjmczjdngvjwb6gpm9wir23qfbhfhc4pj"; depends=[antiword curl dplyr httr magrittr pdftools readr rlang rvest stringr tidyr xml2]; };
   eurocordexr = derive2 { name="eurocordexr"; version="0.2.2"; sha256="081p9qs09xif2cck0gmmqgzaly1r2p77kla2nhcvjgxgdylbsdkd"; depends=[data_table fs lubridate magrittr ncdf4 ncdf4_helpers PCICt]; };
   europepmc = derive2 { name="europepmc"; version="0.4.1"; sha256="16japbndid34shqg8n0bmjrxn84xmhrylvz832zclcllm6i93fn1"; depends=[dplyr httr jsonlite plyr progress purrr rlang tibble tidyr urltools xml2]; };
   europop = derive2 { name="europop"; version="0.3.1"; sha256="1ym257bxr4a0dmln1j8x3pf87wrryzgqyzhvk61whc6n2bj62x1s"; depends=[]; };
@@ -8965,6 +9052,7 @@ in with self; {
   exams2sakai = derive2 { name="exams2sakai"; version="0.3"; sha256="0lgnk2g4q0vbkvcrhb815lah24rhaknnmsbhhkgbdkl0c5mx1yjg"; depends=[exams glue stringi stringr xml2]; };
   exceedProb = derive2 { name="exceedProb"; version="0.0.1"; sha256="02pb8b0rxygbv6501rcr2hb0bhz1r78k5znav161kk25fb9bxs5v"; depends=[BH Rcpp]; };
   excelR = derive2 { name="excelR"; version="0.4.0"; sha256="1pb4sy54zjv5vrh7gjjv7qlpab74km6mfsmfyl0yhmr0jx01hrw0"; depends=[htmlwidgets jsonlite]; };
+  exceldata = derive2 { name="exceldata"; version="0.1.0"; sha256="0jx3ar3kg3aqkkzqxchqpg57py0dq71yrh2i0b280ahqqafan1d0"; depends=[dplyr ggplot2 lubridate readxl scales]; };
   excelstrippr = derive2 { name="excelstrippr"; version="0.1.2"; sha256="1ly76qja9b5l3xwfhigm1apd114y2iq5wdl27sd2h1y80n8xxf2v"; depends=[dplyr readxl tidyr]; };
   excerptr = derive2 { name="excerptr"; version="2.0.1"; sha256="0lmcxlpxvldxwqxrprqq39hk5f770ii1x38jm2jbs4n75smp4m21"; depends=[checkmate reticulate]; };
   excessmort = derive2 { name="excessmort"; version="0.6.1"; sha256="0qkj30csq96qg7r8vdl79n31dhz69vh49qz4gpb3r2fr32pn497k"; depends=[dplyr ggplot2 lubridate rlang scales tidyr]; };
@@ -8988,14 +9076,15 @@ in with self; {
   expirest = derive2 { name="expirest"; version="0.1.2"; sha256="1fzgs8pniypgd1ws5dkiylgjdwgxwyrblcnvirmwfzcrgyvbmwfs"; depends=[ggplot2]; };
   explor = derive2 { name="explor"; version="0.3.9"; sha256="0sfpw9lgpr9hyn93jwxhijbfqnj466wc5ilszki2r7ziik3nb79i"; depends=[dplyr DT formatR ggplot2 highr RColorBrewer scatterD3 shiny tidyr]; };
   exploratory = derive2 { name="exploratory"; version="0.3.13"; sha256="164ykw514gfj185ckg3p8jfn7y5al12iab34fqyrkrqpj84gf1qd"; depends=[data_table DT ggplot2 ggridges lemon lm_beta mediation remotes shiny shinydashboard weights]; };
-  explore = derive2 { name="explore"; version="0.7.1"; sha256="05hf6wk6vyqfxdhy9vl2f31ylr8hcmdgzjafyp6ifmwvydigrj94"; depends=[assertthat broom DBI dplyr DT forcats ggplot2 gridExtra magrittr MASS odbc rlang rmarkdown rpart rpart_plot shiny stringr tibble tidyr]; };
+  explore = derive2 { name="explore"; version="0.8.0"; sha256="1jlyal2yqfq9laj3g1810pzky987gsfcrdl3ycvwl00mbjkk5h4m"; depends=[assertthat broom dplyr DT forcats ggplot2 gridExtra magrittr MASS rlang rmarkdown rpart rpart_plot shiny stringr tibble tidyr]; };
   exploreR = derive2 { name="exploreR"; version="0.1"; sha256="154j5wiiy9vqdvh1qvdkz2fdp2phcygbbjl7nj5nkn07xwxbsc77"; depends=[ggplot2]; };
   expm = derive2 { name="expm"; version="0.999-6"; sha256="1p5dapwv8ycxaysgi6imnby04i4kh1c5a2czqa4wygz0s8pr2y9c"; depends=[Matrix]; };
   expose = derive2 { name="expose"; version="0.0.3"; sha256="0dlxlxm3g9d8vmgp13i1825z1jzah94ih1vyif46s43xq0nf9anj"; depends=[e1071 foreach gam ggplot2 glmnet Matrix nnet polspline RColorBrewer Rcpp repmis SuperLearner xgboost]; };
   expp = derive2 { name="expp"; version="1.2.5"; sha256="0hb4392biyy85gs7af4p9m7r51ijmqr7wp7c7b0i7lzdf1bnd7fz"; depends=[deldir rgeos sp spatstat_geom spdep]; };
   expperm = derive2 { name="expperm"; version="1.6"; sha256="0cybna0q3qn3slyc4lv5rby4pr0xkwq0h6n7hl1zhsaqv4c2zc5b"; depends=[Rcpp]; };
   expsmooth = derive2 { name="expsmooth"; version="2.3"; sha256="0alqg777g7zzbjbg86f00p2jzzlp4zyswpbif7ndd0zr8xis6zdc"; depends=[forecast]; };
-  expss = derive2 { name="expss"; version="0.10.7"; sha256="0br10ydhv7xz297nzz3qql3cvs1950g1szshywcnxnf58limsw1y"; depends=[data_table foreign htmlTable magrittr matrixStats]; };
+  expss = derive2 { name="expss"; version="0.11.1"; sha256="11g50v3cgr7j1gi9i301lbl58dhjsfhw0x7462fgldwr90k3b94z"; depends=[data_table htmlTable maditr matrixStats]; };
+  expstudy = derive2 { name="expstudy"; version="1.0.0"; sha256="1b66pfx8smrwwrryxa8rmn4gv692hmllqzy968fp7n58qzciv550"; depends=[assertthat checkmate cli data_table dplyr dtplyr glue lifecycle magrittr pillar purrr rlang stringr tibble tidyr tidyselect withr]; };
   exptest = derive2 { name="exptest"; version="1.2"; sha256="0wgjg62rjhnr206hkg5h2923q8dq151wyv54pi369hzy3lp8qrvq"; depends=[]; };
   exreport = derive2 { name="exreport"; version="0.4.1"; sha256="0vj60rchhrc5q6x1kv7b95fcmh2a5qynli2w54rrrw1nx54xm8c2"; depends=[ggplot2 reshape2]; };
   exsic = derive2 { name="exsic"; version="1.1.1"; sha256="1k6nqs9i4iivxnk4nkimp6zvdly274wibkmx9n0wz01gnzxqil0p"; depends=[markdown stringr]; };
@@ -9079,7 +9168,6 @@ in with self; {
   fabricerin = derive2 { name="fabricerin"; version="0.1.2"; sha256="0ynvnxzxx1iybyy5pvwfsj5y9jjixyrpji9vcl5fq5mjnpg8mpqk"; depends=[glue htmltools]; };
   face = derive2 { name="face"; version="0.1-6"; sha256="0lvagpn6sa22zj4phz1vi1ccd8xasrgcq6ypwj7qx4bf1xjc95b1"; depends=[Matrix matrixcalc mgcv]; };
   facerec = derive2 { name="facerec"; version="0.1.0"; sha256="1dipcnxjz6yd34w0jrrvj5p0pwdgz1l5m9zvri7mflnz7g34gmaj"; depends=[dplyr httr jsonlite knitr magrittr rlang snakecase stringr]; };
-  facilitation = derive2 { name="facilitation"; version="0.5.2"; sha256="0gyqa3njyynvdhfziq33xqc7cjhszii67mk8809ncvh6abkdx1hw"; depends=[animation Matrix Rcpp]; };
   factiv = derive2 { name="factiv"; version="0.1.0"; sha256="1m43kg8mrlnkzs667s4a8c2jkfdgv2pjbwf45vf2w4nlp84camxx"; depends=[Formula generics]; };
   factoextra = derive2 { name="factoextra"; version="1.0.7"; sha256="1allvdjhd3pq8xz30b1cymwcik5iaahghrjrlnn54cwkfhfg0kv2"; depends=[abind cluster dendextend FactoMineR ggplot2 ggpubr ggrepel reshape2 tidyr]; };
   factoptd = derive2 { name="factoptd"; version="1.0.3"; sha256="1ir50im3kr1xhqk4qwrm2h5fq9gqgrwshbamvjlf8n1wnn03mcb6"; depends=[MASS partitions]; };
@@ -9093,11 +9181,12 @@ in with self; {
   factorstochvol = derive2 { name="factorstochvol"; version="1.0.1"; sha256="0wf3rng4fsi22z7qbqqvn74wwymr1ga2qimjlly63yg78lv676ca"; depends=[corrplot GIGrvg Rcpp RcppArmadillo stochvol]; };
   factory = derive2 { name="factory"; version="0.1.0"; sha256="1715bx2rn8kk5qd196jnrv5f95l54n4y0aqqdzfkgrmqihcy8ahx"; depends=[purrr rlang]; };
   factset_analyticsapi_engines = derive2 { name="factset.analyticsapi.engines"; version="3.0.1"; sha256="0v96z837dii1q7mbpd48zwpl2qjzqnhignb80g0xkc4iygsnrrms"; depends=[caTools httr jsonlite R6 rlang]; };
+  factset_protobuf_stach_v2 = derive2 { name="factset.protobuf.stach.v2"; version="1.0.3"; sha256="1b8w4fcjlznpwziwb7cv9a5nhc410h8a9af09430379qhmvin9mx"; depends=[R6 RProtoBuf]; };
   factualR = derive2 { name="factualR"; version="0.5"; sha256="1wz8ibcmilcx62yy29nd2i1pdmjf7fm0g9i5s58gdn8cjlhnw1jl"; depends=[RCurl RJSONIO]; };
   fad = derive2 { name="fad"; version="0.3-3"; sha256="1xii15lcfb72jmwgqfb4x0h0xs7cxj1hzx8289sq1ibakiwkkv5l"; depends=[Matrix Rcpp RcppEigen RSpectra]; };
   fail = derive2 { name="fail"; version="1.3"; sha256="0vfm6kmpmgsamda5p0sl771kbnsscan31l2chzssyw93kwmams7d"; depends=[BBmisc checkmate]; };
   fairadapt = derive2 { name="fairadapt"; version="0.2.1"; sha256="13qly0yjf33z1n1id2a5hrciq17fgfw87rj7gyicy23jsc21va0w"; depends=[assertthat cowplot ggplot2 igraph qrnn quantreg ranger scales]; };
-  fairml = derive2 { name="fairml"; version="0.6"; sha256="0fzzk2gip46q24n71b8irwcsg38bgah7i56djfvpqa8ki43syqj7"; depends=[CVXR glmnet optiSolve]; };
+  fairml = derive2 { name="fairml"; version="0.6.1"; sha256="0nnz62r50gh2wbqxq1l6s0r4vf0dxiqfr39s1yv2zhghph9hc7rj"; depends=[CVXR glmnet optiSolve]; };
   fairmodels = derive2 { name="fairmodels"; version="1.2.0"; sha256="0mrr1a5f208wimzrfvknwqv89vzfidsai1nrd672384915fkrcwn"; depends=[DALEX ggplot2 patchwork scales]; };
   fairness = derive2 { name="fairness"; version="1.2.2"; sha256="12jf2p8gmj5d6r9h9cwy208qwyqi606b54v0d99vpr171yijqvqk"; depends=[caret devtools e1071 ggplot2 pROC]; };
   fairsubset = derive2 { name="fairsubset"; version="1.0"; sha256="0iw16fs2mb9p14vr34izw3sirbndyy8w07df3scy7gkkcx2nz2bz"; depends=[matrixStats]; };
@@ -9111,11 +9200,12 @@ in with self; {
   famSKATRC = derive2 { name="famSKATRC"; version="1.1.0"; sha256="1xbh0by4sjxrmy00v1svcj3lb98p9krpncbhpjbli1jd2p47yk60"; depends=[bdsmatrix CompQuadForm coxme kinship2]; };
   fame = derive2 { name="fame"; version="2.21.1"; sha256="18lzf2vxyzlmd73m9q0si663mjjm66nrf7q1iy0fw73gpvxqr9bf"; depends=[tis]; };
   familial = derive2 { name="familial"; version="1.0.1"; sha256="01vswgjr2kpmrrfhlbkz023mawklw2ff9l9z9nx2x2hs48kxgkh1"; depends=[DepthProc ggplot2 matrixStats]; };
+  familiar = derive2 { name="familiar"; version="1.0.0"; sha256="04shvnx81vppswyj3x4zi4rp0mll8l165ckmv27fsbgf5iija70m"; depends=[data_table rlang rstream stringi survival]; };
   fanc = derive2 { name="fanc"; version="2.2"; sha256="1gdkxb2ay0lyldjpg4s2fbavjxl4q1bf9q438csqa4vzl5ywv2w8"; depends=[Matrix]; };
   fancycut = derive2 { name="fancycut"; version="0.1.2"; sha256="1xg5qjxf77g10h07x6rvb8c3klc9gbr77bkw352qpas268pkswl2"; depends=[]; };
   fanovaGraph = derive2 { name="fanovaGraph"; version="1.5"; sha256="1hffda52yk24slbgsfdgkpg3vsryfnhlw09r39cbyz483i7xd8d0"; depends=[DiceKriging igraph sensitivity]; };
   fanplot = derive2 { name="fanplot"; version="4.0.0"; sha256="08zd2af26ah1rdkzxi1sv4c4l06jpxd6m38q3xy657k2jm90rkkc"; depends=[]; };
-  fansi = derive2 { name="fansi"; version="0.5.0"; sha256="0kx5kjhr8dvqz1mq1zkijkgp29jv8b0irm1xplx1d74n2v1zh6wx"; depends=[]; };
+  fansi = derive2 { name="fansi"; version="1.0.2"; sha256="0mxm06png4lrl5gy5giws5dgig2faryang8y0wcvwfk120pczqni"; depends=[]; };
   faoutlier = derive2 { name="faoutlier"; version="0.7.6"; sha256="0dd8k5s0yv047p10jisqz13nflby4y0dg97r0nbjygzcq1ryx2bs"; depends=[lattice lavaan MASS mirt mvtnorm pbapply sem]; };
   faq = derive2 { name="faq"; version="0.1.1"; sha256="0knajqm9ydsjhn6xymfrcyf2b1kgfbiai8ai2zlm7p4mgfry504h"; depends=[htmlwidgets jsonlite]; };
   far = derive2 { name="far"; version="0.6-5"; sha256="18lj2mgnn9s59ypkr19zzv0sffwpx9mgk975xmpvw4kkl84dykis"; depends=[nlme]; };
@@ -9155,9 +9245,9 @@ in with self; {
   fastcox = derive2 { name="fastcox"; version="1.1.3"; sha256="0jn19v6mkwgyz8x63xrfgkgnf0f2rq338r5qkhz690mdzr4c47a3"; depends=[Matrix]; };
   fastdigest = derive2 { name="fastdigest"; version="0.6-3"; sha256="02csl261v7nassi5119ygw6jglm8q6rssg7lgyxzj73mkyilm832"; depends=[]; };
   fasterElasticNet = derive2 { name="fasterElasticNet"; version="1.1.2"; sha256="1hr0wc6s6zpq1hkfgshf0dqjxb7s2849bb8lb04nmi6p42r3628g"; depends=[Rcpp RcppArmadillo]; };
-  fasteraster = derive2 { name="fasteraster"; version="1.1.1"; sha256="1ycr2h046jds2758xvxn00rhglx3zarbzn3r38j66j5pnz2iiq4f"; depends=[Rcpp]; };
   fasterize = derive2 { name="fasterize"; version="1.0.3"; sha256="10bzl77c1b9jhcn1xp467qzp2n8c7s3wpxn53qjh1nwvbri5kd32"; depends=[raster Rcpp RcppArmadillo sp]; };
   fastglm = derive2 { name="fastglm"; version="0.0.1"; sha256="1vqw02j4y28mngki87r42f1mhlkvajqp2gpbvk0l2adrkz70l0bn"; depends=[Rcpp RcppEigen]; };
+  fasthplus = derive2 { name="fasthplus"; version="1.0"; sha256="05j4lg1gkkz1vi99dx73igvk9xyrli8j6m4hzhpcnyhy0h9bxiqj"; depends=[]; };
   fastkmedoids = derive2 { name="fastkmedoids"; version="1.2"; sha256="1z98ndxhq2ag870g0xqkw04b4k722994vh0pq46bw8bqc9v7bpkk"; depends=[Rcpp]; };
   fastlogitME = derive2 { name="fastlogitME"; version="0.1.0"; sha256="1wpbcjb3ncxl904492alikslnqg53zgx6psxx7qllspd43s8ymv7"; depends=[]; };
   fastlogranktest = derive2 { name="fastlogranktest"; version="0.2.1"; sha256="1j5mgvi3nwnlarj31cknx2cikypql370qds2h0877vmm80942z25"; depends=[BH Rcpp]; };
@@ -9186,17 +9276,18 @@ in with self; {
   fbar = derive2 { name="fbar"; version="0.6.0"; sha256="005725xiz6k868hrj12ryq3xlyin2r94n0yychimjzhfsppx2zba"; depends=[assertthat dplyr magrittr Matrix purrr rlang ROI ROI_plugin_ecos stringr tibble tidyr]; };
   fbati = derive2 { name="fbati"; version="1.0-4"; sha256="0vqn73zcqgg89zkfgf0ika0s87f4gb6nxds1dmliiq36p28dhv2c"; depends=[fgui pbatR rootSolve]; };
   fbroc = derive2 { name="fbroc"; version="0.4.1"; sha256="1v73wl3yckcqx43fz1lzcsy6v08vmbmi7yi623yhgqywixxv2bx3"; depends=[ggplot2 Rcpp]; };
-  fbst = derive2 { name="fbst"; version="1.5"; sha256="05dnnwbqsj1rjka8p3mjhzj5h11ac8cvqg51qc8fdssqx2ldcqdw"; depends=[bayestestR]; };
+  fbst = derive2 { name="fbst"; version="1.6"; sha256="01l7lpk5m7qbr0zp2wghmanfrj7dsjr1r161vklhn7f02hdin2va"; depends=[bayestestR]; };
   fc = derive2 { name="fc"; version="0.1.0"; sha256="0x41xfchy499kz0qi7fp12vpkbcddprv19mmk48lxzavv4f5avfh"; depends=[codetools]; };
   fca = derive2 { name="fca"; version="0.1.0"; sha256="0jcdyylb0byz70k3kypa2mdd5sc5nq81jfbpljjg2amczq7s5wzy"; depends=[]; };
   fcaR = derive2 { name="fcaR"; version="1.1.1"; sha256="1jhhjsgw3vsgrz5mv961m61y39cs5zpi0m82yf38r6ngrjy52cqg"; depends=[forcats fractional magrittr Matrix purrr R6 Rcpp registry settings stringr tibble tikzDevice]; };
-  fcci = derive2 { name="fcci"; version="1.0.0"; sha256="1rz46dbh11i8ycxhdjhjqhb65f25qyb0ip7lgrcwkc6bidg7kc5d"; depends=[assertthat Rcpp rlang]; };
+  fcci = derive2 { name="fcci"; version="1.0.1"; sha256="02q6q0q7fqdbp20fdf33jbkh0aj9nzl6dwysr0nn146ciz3vqgin"; depends=[assertthat Rcpp rlang]; };
   fcd = derive2 { name="fcd"; version="0.1"; sha256="091wbf5iskcgyr7jv58wrf590qijb0qcpninmvm3xrwxi34r37xr"; depends=[combinat glmnet MASS]; };
+  fcfdr = derive2 { name="fcfdr"; version="1.0.0"; sha256="16mnpr64x00qwbgq9pw69k941yb0i7mx7ncsilahicprxqyfpfww"; depends=[bigsplines cowplot data_table dplyr fields ggplot2 hexbin Hmisc locfdr MASS polyCub spatstat_geom]; };
+  fcirt = derive2 { name="fcirt"; version="0.1.0"; sha256="1wiyiz51mkm5kd95xmpvlwng51awpp4y133dd5q88mnafrxyij1h"; depends=[BH numDeriv Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
   fclust = derive2 { name="fclust"; version="2.1.1"; sha256="11dsf7mb075m1m1ilqsacc0s4907wq6alvdfh6nizsyr01wiqw3b"; depends=[MASS Rcpp RcppArmadillo]; };
   fcm = derive2 { name="fcm"; version="0.1.3"; sha256="1mqk6szczsixdvw0inkypij4cw2syng5l5ccw0xk55kc21l1lzn0"; depends=[ggplot2 reshape2]; };
   fcr = derive2 { name="fcr"; version="1.0"; sha256="17jrz5zp1msd2khl1lwnb5sgxcigagni556rhn7qm9g0aykbh8yj"; depends=[face fields mgcv]; };
   fcros = derive2 { name="fcros"; version="1.6.1"; sha256="04yr6lqs38lczsmdvdm78qn63836qj7xwspgh3h3n3gh8cssd83x"; depends=[]; };
-  fctbases = derive2 { name="fctbases"; version="1.1.0"; sha256="1jf6ngdph45l105cib13lghan7d68hsjqdr8wsjz2kls8il6kz9s"; depends=[Rcpp RcppArmadillo]; };
   fcuk = derive2 { name="fcuk"; version="0.1.21"; sha256="1sb7p1m5qb88028mrw95lhh8l7dxj696hjh88nfsdpnscryknfpv"; depends=[magrittr purrr stringdist tibble]; };
   fdANOVA = derive2 { name="fdANOVA"; version="0.1.2"; sha256="1pycq5a4czqzi8wcfmlc9ncg827j7n0qxyj90wcv39nbcrnl3da1"; depends=[doBy doParallel fda foreach ggplot2 magic MASS]; };
   fda = derive2 { name="fda"; version="5.5.1"; sha256="0fm2vswc8fdi2p1axby0hjwh8m6lc1zrdikrpiamilr6w9m2zanw"; depends=[deSolve fds Matrix]; };
@@ -9206,6 +9297,7 @@ in with self; {
   fdaMocca = derive2 { name="fdaMocca"; version="0.1-0"; sha256="0jqk07cs62hhsp68bpf0lcggn547jp7qjc4w55dq51fhshppc280"; depends=[doParallel fda foreach Matrix mvtnorm]; };
   fdaPDE = derive2 { name="fdaPDE"; version="1.0-9"; sha256="06hm1f30rpy37xz9ybvhk759y10p8ijy7slnl9cvp4gqwzy2i8b7"; depends=[geometry Matrix plot3D plot3Drgl RcppEigen rgl]; };
   fdaPOIFD = derive2 { name="fdaPOIFD"; version="1.0.2"; sha256="0rs61ja58mxpadfgkvdjq14rgaikcga0alc5a1afnrjx4djswl1k"; depends=[FastGP fdapace ggplot2 magrittr MASS patchwork reshape2 tibble]; };
+  fdacluster = derive2 { name="fdacluster"; version="0.1.0"; sha256="17vk3v8saf3xqab8h92k88l2xfwa3mb0x40p1mdgywgg23nvk3mm"; depends=[dplyr ggplot2 magrittr nloptr purrr Rcpp RcppArmadillo tibble tidyr]; };
   fdadensity = derive2 { name="fdadensity"; version="0.1.2"; sha256="1i2xzchlsixgjzyfmbv547sy6mq90xrnyc2kpd11wwfgfrpj1ix3"; depends=[fdapace Rcpp]; };
   fdakma = derive2 { name="fdakma"; version="1.2.1"; sha256="0j9qgblrl7v4586dd6v0hjicli6jh8pkk5lzn8afpl75xfs24six"; depends=[]; };
   fdaoutlier = derive2 { name="fdaoutlier"; version="0.2.0"; sha256="1jpd9mszd0grn7rwi3dmgl6l5dggwsnz1kyljz2gcfm2wck2zhbz"; depends=[MASS]; };
@@ -9238,7 +9330,7 @@ in with self; {
   federalregister = derive2 { name="federalregister"; version="0.2.0"; sha256="0qr8nd3ylnwcv1wxspw5i7ray5sh30zr648spg0lpqq8dp2b8p7b"; depends=[curl httr jsonlite]; };
   fedmatch = derive2 { name="fedmatch"; version="2.0.5"; sha256="1k6gj0aaihxqwvvvic8s5bhjqlxg6m37yj3bk9hbxy1lijv89w8j"; depends=[BH data_table forcats magrittr purrr Rcpp scales SnowballC stringdist stringr]; };
   fedregs = derive2 { name="fedregs"; version="1.0.0"; sha256="171j6r6qxnx9gk9x9gpdyh51ssrgmf7sczc4889qr3qqw15sm4bn"; depends=[dplyr httr magrittr purrr rvest stringi tidyr tidytext xml2]; };
-  fedstatAPIr = derive2 { name="fedstatAPIr"; version="0.1"; sha256="0ll86fp9kaddacsy9jfnwrq353kx4gny8vmxg8vnfx9kcl3bv95z"; depends=[dplyr httr jsonlite magrittr readsdmx rlang rsdmx rvest stringr xml2]; };
+  fedstatAPIr = derive2 { name="fedstatAPIr"; version="0.2.0"; sha256="07pr6c4275jb9dkx2pdrkykqawlxdmp3g6v4v2kzsnrcdlxs0h57"; depends=[dplyr httr jsonlite magrittr readsdmx rlang rvest stringr xml2]; };
   feisr = derive2 { name="feisr"; version="1.2.0"; sha256="012rspsw1xwl11gdr3nlpdmf24y9d2shwj81iqj1xill3l0mchwc"; depends=[aod dplyr Formula plm Rdpack]; };
   fellov = derive2 { name="fellov"; version="0.1"; sha256="0z4b08ykajzwa5852dknqz5qqlmhklbwdq8x5zhyfmwba5zfbjav"; depends=[]; };
   felp = derive2 { name="felp"; version="0.2.3"; sha256="05380225n0l2p8x4yr41frgvfzfl8x5b18v7qn8a4j9afki9y1g5"; depends=[curl prettycode]; };
@@ -9248,7 +9340,7 @@ in with self; {
   ferrn = derive2 { name="ferrn"; version="0.0.1"; sha256="1zp18hfnvmdb2w0qj432yj9a3939lad2hqymrmj8y1w3k0razifk"; depends=[dplyr geozoo gganimate ggforce ggplot2 ggrepel magrittr purrr rlang scales stringr tibble tidyr tourr]; };
   ff = derive2 { name="ff"; version="4.0.5"; sha256="0dsh6llfdz04w94xr3yl2b4vkk9g3rwhvfnxcd025v2424krxfls"; depends=[bit]; };
   ffbase = derive2 { name="ffbase"; version="0.13.3"; sha256="1dp6lblfq2j7r1b4b8ls47jlx8j27n88d5vp8w116lb8pa01zxmk"; depends=[bit fastmatch ff]; };
-  fflr = derive2 { name="fflr"; version="2.0.1"; sha256="0yc3xr97iprnr4snsm3vf4bimx56vxw6dpkdqxv20qs5jd9bshcw"; depends=[httr jsonlite tibble]; };
+  fflr = derive2 { name="fflr"; version="2.0.2"; sha256="057m2lgzfvid4618vlzmxgrw7vg1bff6i0qy8b2khk8dynk8p25v"; depends=[httr jsonlite tibble]; };
   ffmanova = derive2 { name="ffmanova"; version="1.1.0"; sha256="0019m9vxnh5yxr5k7zflzyhd533a842cjjkcpqyannshnrbfndvy"; depends=[]; };
   ffmetadata = derive2 { name="ffmetadata"; version="1.0.0"; sha256="0gjv5fl3p0kz28c91l4qf34a2685a24l5841ixdg7wivfs5v9npv"; depends=[httr jsonlite]; };
   ffp = derive2 { name="ffp"; version="0.1.0"; sha256="11c25lcy5fzchc00cv7r9g92gnb6iffmcylibs1w42245r69bsnh"; depends=[assertthat dplyr forcats ggdist ggplot2 lubridate magrittr mvtnorm NlcOptim pracma purrr rlang scales tibble tidyr usethis vctrs xts]; };
@@ -9272,14 +9364,13 @@ in with self; {
   fhircrackr = derive2 { name="fhircrackr"; version="1.0.1"; sha256="0dq7gwfcksjqirhmq4hxfrm64i2gaqjqklkrv7xq7ribvzb8accv"; depends=[data_table dplyr httr plyr stringr xml2]; };
   fiberLD = derive2 { name="fiberLD"; version="0.1-6"; sha256="1i3bl2qsc77m81l11an9ihl4vy86s8jd5x6pasib77rl2877ad4x"; depends=[doParallel foreach Matrix VGAM]; };
   fic = derive2 { name="fic"; version="1.0.0"; sha256="18xz94w1ab17jfi61bdg9z3pm63g488v17ns2ivizkza4gg07pv8"; depends=[abind ggplot2 mvtnorm numDeriv scales survival tensor]; };
-  fidap = derive2 { name="fidap"; version="0.0.3"; sha256="0zq07395qx59xxb3cj5axhpkwnad2h88qbm3aan43q5cip9wi2bx"; depends=[httr jsonlite]; };
   fidelius = derive2 { name="fidelius"; version="0.0.2"; sha256="18dsw069j3jzl0splgjjdsybny1hq0dmiyygri8nlfwshijkw15h"; depends=[askpass fs htmltools readr rlang rmarkdown rstudioapi sodium whisker]; };
   fieldRS = derive2 { name="fieldRS"; version="0.2.3"; sha256="0jr2l5cnrawd6wibmb6r0sngd851z9mbz4mwprnbbqbv3hzzrpm9"; depends=[caret concaveman geosphere ggplot2 raster rgeos sp stringdist vegan]; };
   fields = derive2 { name="fields"; version="13.3"; sha256="1hs4k5a9hh0r5fsrnpnvs6wvf78xpjzj8a2j6643dsz73a5q6ln6"; depends=[maps spam viridis]; };
   fiery = derive2 { name="fiery"; version="1.1.3"; sha256="1rwnmm4n59wdsvb57bj8mx1qhz93jbvfb73sl111nwqazphrhid1"; depends=[assertthat crayon future glue httpuv later R6 reqres stringi uuid]; };
   figpatch = derive2 { name="figpatch"; version="0.1.0.1"; sha256="1chshlyc3ygyvgzyph4mix3a6kvv4w0vbnss58472h0mgl7mgx8v"; depends=[ggplot2 magick patchwork]; };
-  file2meco = derive2 { name="file2meco"; version="0.2.0"; sha256="0x45nr344k3nmcrjrlm2fczcxrh5n807v7qymffkkq7v589nfcyl"; depends=[ape dplyr magrittr Matrix microeco R6 rhdf5 tidyr yaml]; };
-  filearray = derive2 { name="filearray"; version="0.1.2"; sha256="1fs19jpnnkb40rv2z9fxvj7snvmd41nhb8z61a4f2jslkrw9cs23"; depends=[BH Rcpp]; };
+  file2meco = derive2 { name="file2meco"; version="0.2.1"; sha256="1m9r7vp766p4lsbzpfzwfp37ylrbnsz63fwnl0h4ykcfqmf9b12m"; depends=[ape dplyr magrittr Matrix microeco R6 rhdf5 tidyr yaml]; };
+  filearray = derive2 { name="filearray"; version="0.1.3"; sha256="10kpr5c7yq9hk1b6x611vi1pcsis0x1xpi0rs1dqgv310hswa0k5"; depends=[BH digest Rcpp]; };
   filebin = derive2 { name="filebin"; version="0.0.5"; sha256="1k13vwppk3f3acnyz32wrjmr80x0lbdzv0sx74xr87n1kbrrv5fn"; depends=[dplyr httr janitor logger purrr stringi tibble tidyr]; };
   filehash = derive2 { name="filehash"; version="2.4-2"; sha256="14zv7h5195dmfksgk8qvjgc2qq8253vga6267aa1bqs5bpvmdl5n"; depends=[]; };
   filehashSQLite = derive2 { name="filehashSQLite"; version="0.2-4"; sha256="1higvkmj4wvnwpvayqinzaygiksij20d77dx118q0gffsczadamh"; depends=[DBI filehash RSQLite]; };
@@ -9304,7 +9395,9 @@ in with self; {
   fingerprint = derive2 { name="fingerprint"; version="3.5.7"; sha256="04jcwkydjrs31pia6kq8z2n9s54im950q08hs2ay15xjxxkmb8ic"; depends=[]; };
   finiteruinprob = derive2 { name="finiteruinprob"; version="0.6"; sha256="0z4l0crymh58chxniqq70fqmvi6f5jkgvz72vbc7s3l9lrrapgr3"; depends=[numDeriv sdprisk]; };
   finity = derive2 { name="finity"; version="0.1.4.1"; sha256="0xs3vx0vj165hj4dq8ivrdf6fcvj23zhp2ai79rgpyb5rr5ndkvc"; depends=[BH Rcpp RcppArmadillo stabledist]; };
-  finreportr = derive2 { name="finreportr"; version="1.0.3"; sha256="1xa94x69czy9cn9r6hklv6b91514aqvcam29pcrb0w6gypwlm1pw"; depends=[curl dplyr httr rvest XBRL xml2]; };
+  finnishgrid = derive2 { name="finnishgrid"; version="0.1.0"; sha256="0gndrllz3y7yqrg5vw6ba7dg7hn4w3085rpy7h9hdd8swxqfvlc6"; depends=[httr jsonlite]; };
+  finnts = derive2 { name="finnts"; version="0.1.0"; sha256="1jvyl2c7szl4xwv5kyd3d1cm7cpmfjqlpg42kpvxqf1bvsbrws6n"; depends=[cli Cubist dials doParallel dplyr earth foreach generics glmnet gtools hts kernlab lubridate magrittr modeltime modeltime_gluonts modeltime_resample parsnip plyr purrr recipes rsample rules stringr tibble tidyr tidyselect timetk tune workflows]; };
+  finreportr = derive2 { name="finreportr"; version="1.0.4"; sha256="145idg2c6qmqp29afalnhxxzky08j21dmm05mp3zf63aq9mq41d4"; depends=[curl dplyr httr rvest XBRL xml2]; };
   fipe = derive2 { name="fipe"; version="0.0.1"; sha256="055jav8h4wws76jahm2d5dj49wkvzchh3f2vk5d50pny4dc7smar"; depends=[dplyr forcats furrr future httr jsonlite lubridate magrittr purrr readr stringr tibble tidyr]; };
   fipio = derive2 { name="fipio"; version="1.1.0"; sha256="1y153096wkihzcwcycf492wbc4mwlmqsm8hyjljx3zddmx2iklvk"; depends=[]; };
   fipp = derive2 { name="fipp"; version="1.0.0"; sha256="0wr3czwsqwa1bpdcjk0r1739vjanxc0fv0vnl3r5lgykrbhw9v3r"; depends=[matrixStats Rcpp RcppArmadillo]; };
@@ -9313,15 +9406,14 @@ in with self; {
   fishMod = derive2 { name="fishMod"; version="0.29"; sha256="0pbs4z27vwa3c42xdw3mr6l2i581bgvn2pk52kawbcnnlsff92ar"; depends=[]; };
   fishbc = derive2 { name="fishbc"; version="0.2.1"; sha256="15mlr113qgndjhyry8img50jfk0si81kw2cdgl896b0g4djc5la3"; depends=[]; };
   fishdata = derive2 { name="fishdata"; version="1.0.1"; sha256="0hskmw93pyrm5wxn1dw8vi18v11jnf03yx375hjkk38hcfnp6n5k"; depends=[]; };
+  fisheye = derive2 { name="fisheye"; version="0.1.0"; sha256="0yrgr0nhnn768q6hc2dsjz7y3n7p7ci0rdfqsickafgv2srdrh83"; depends=[sf]; };
   fisheyeR = derive2 { name="fisheyeR"; version="0.9"; sha256="1w6va7gakqq2q8hsvdszpn8s2ysdfc648bk5p5v3wbl5s403bci8"; depends=[tkrplot]; };
-  fishflux = derive2 { name="fishflux"; version="0.0.1.5"; sha256="0ni3r37s6dvj3mmr04fnr7fird4x2wxdxq9vxzabcgmx9f4ydfiz"; depends=[BH curl dplyr fishualize ggplot2 httr plyr Rcpp RcppEigen RcppParallel rfishbase rstan rstantools StanHeaders tidybayes tidyr]; };
   fishkirkko2015 = derive2 { name="fishkirkko2015"; version="1.0.0"; sha256="1s8vsf604rc6qk0gahn61p3q8p9dhsbq14wsmrin7icq2xgl3y81"; depends=[]; };
-  fishmethods = derive2 { name="fishmethods"; version="1.11-2"; sha256="0gbxm0x1pnygk7dhssarn0nps2djn03rdb6cgpl7z0ma9b9lczfm"; depends=[boot bootstrap data_table lme4 MASS numDeriv]; };
+  fishmethods = derive2 { name="fishmethods"; version="1.11-3"; sha256="17fghylmc4xs8b9p2ybgdpjxkjb4zg7qxhb75sdj0q0bvs1mhyiq"; depends=[boot bootstrap data_table lme4 MASS numDeriv]; };
   fishmove = derive2 { name="fishmove"; version="0.3-3"; sha256="1knbv087cg0czjcgdbrlpg69pp1dxb57b7ak5j1mcy7ay3a41a9h"; depends=[boot ggplot2 MASS plyr]; };
   fishtree = derive2 { name="fishtree"; version="0.3.4"; sha256="00g8p885z5xcqp2chncb177s0l6lab2f069szj861z9dyf93xx4z"; depends=[ape jsonlite memoise rlang]; };
-  fishualize = derive2 { name="fishualize"; version="0.2.2"; sha256="19iq2n9pxqf1yl6k2231lrc0ny5r7s0h5s59whrhwfh328q5cfqa"; depends=[curl downloader dplyr ggplot2 gridExtra httr magrittr png rlang scales stringr tidyr]; };
   fit_models = derive2 { name="fit.models"; version="0.64"; sha256="1nk4x2q8cv79zcls61saf627ac0fci6jcrd6lmzk61asm2zhc27p"; depends=[lattice]; };
-  fitConic = derive2 { name="fitConic"; version="1.1"; sha256="0xlyv60r4fqvg3qhy4s9zkm2w65y4pg5nzl7a3k2z3fdpfcvkinz"; depends=[pracma]; };
+  fitConic = derive2 { name="fitConic"; version="1.2"; sha256="0mwnbq32mpj8d4127jwb283mn3gs4hm0klwk9prsrfkdnhqai41i"; depends=[pracma]; };
   fitDRC = derive2 { name="fitDRC"; version="1.1.1"; sha256="09z9l27iwl0fd3zy6rsdhmy8qbm5d9a4wcaj5rxp7ynlnpi102aa"; depends=[]; };
   fitHeavyTail = derive2 { name="fitHeavyTail"; version="0.1.2"; sha256="17jdqxrycqkpmb9pzfqrwcax12j6dx7w122989qrpwqsx48ax133"; depends=[ICSNP mvtnorm]; };
   fitODBOD = derive2 { name="fitODBOD"; version="1.4.1-1"; sha256="0sx7la3bcii8fh8ril5ibbr4x97zgqwl7h889gnk6j733pcmgx0p"; depends=[bbmle hypergeo]; };
@@ -9336,7 +9428,7 @@ in with self; {
   fitplc = derive2 { name="fitplc"; version="1.2-3"; sha256="1yg3ch907c4gk7q8hxgwqxgngkmy125j3ni917nkzi7hn59krd1n"; depends=[car nlme]; };
   fitteR = derive2 { name="fitteR"; version="0.1.0"; sha256="1kgnyl7am966vkfap8gmvchlpankrcj5dv5aj7ws8ix9shr76db6"; depends=[dplyr DT maxLik R_utils shiny]; };
   fitur = derive2 { name="fitur"; version="0.6.2"; sha256="0bx1w1bpz3i2ybwl386s8y8nxyqwk6w33aqyyw94aq6ink3bw2aw"; depends=[actuar DT e1071 fitdistrplus ggplot2 goftest miniUI rstudioapi shiny]; };
-  fitzRoy = derive2 { name="fitzRoy"; version="1.0.0"; sha256="0mf8qksv01ahpnm7a76a5nnv4w0hma4hs0m1k7mwk9kpz2qzzq21"; depends=[cli dplyr glue httr jsonlite lubridate magrittr progress purrr readr rlang rvest stringr tibble tidyr tidyselect xml2]; };
+  fitzRoy = derive2 { name="fitzRoy"; version="1.1.0"; sha256="1vv1sahxbabmqh3h8p60af8xbjp3irp2nmdd3a1w4nwjpykycrqy"; depends=[cli dplyr glue httr jsonlite lubridate magrittr progress purrr readr rlang rvest stringr tibble tidyr tidyselect xml2]; };
   fivethirtyeight = derive2 { name="fivethirtyeight"; version="0.6.2"; sha256="0nja8zbbkrxrvznyi1c38yzv6djx58ac5y4l1nkf07ph5d9i3k81"; depends=[]; };
   fixedTimeEvents = derive2 { name="fixedTimeEvents"; version="1.0.1"; sha256="18cqbxrs69p60anvii22mhqkwh5y2mxapmznff9g7j1j6h4h62lr"; depends=[]; };
   fixerapi = derive2 { name="fixerapi"; version="0.1.6"; sha256="0ikf8dn0l9c9gshp4bph3wasl0bh6lfybinc8n1rvb202231hmgb"; depends=[jsonlite tibble tidyr]; };
@@ -9372,8 +9464,8 @@ in with self; {
   flexsurvcure = derive2 { name="flexsurvcure"; version="1.2.0"; sha256="06qppcjml380drd6brc60j1swasqrmdx82h6x69xpb65zn9wpa3c"; depends=[flexsurv gtools survival]; };
   flextable = derive2 { name="flextable"; version="0.6.10"; sha256="01nm0357b0z4dgrplbq9ms63j51n0rgvvxyy068zdsc5p7j3lql2"; depends=[base64enc data_table gdtools htmltools knitr officer rlang rmarkdown uuid xml2]; };
   flifo = derive2 { name="flifo"; version="0.1.5"; sha256="03x66l3ryrjvwbxxd0ncjrb5w9kc7fswmp5psb1cb7r87f395gm3"; depends=[bazar pryr]; };
-  flightplanning = derive2 { name="flightplanning"; version="0.8.4"; sha256="1n0mjrqlnfv4fvl512slw3d3vmlcn2lhf89jlfg2s0xfrd9k4pq8"; depends=[rgdal rgeos sp]; };
   flightplot = derive2 { name="flightplot"; version="0.1.0"; sha256="1276lsahr9kdsvp1ismm3b5syvhfr7ifizzd79f8w1h2rjblva8x"; depends=[dplyr geosphere ggplot2 ggrepel magrittr rlang sf tibble]; };
+  flightsbr = derive2 { name="flightsbr"; version="0.0.1"; sha256="1la95d397jx4s5mhg4ck5hb8r4m61lsnpbd0gkdpijiqsjhwp8zr"; depends=[data_table httr]; };
   flintyR = derive2 { name="flintyR"; version="0.0.2"; sha256="13bzglcwd4r6q8ix8diy2dljns722k29zbd782fvkxc59ikx7dja"; depends=[assertthat doParallel foreach Rcpp RcppArmadillo testthat]; };
   flip = derive2 { name="flip"; version="2.5.0"; sha256="08x5hwxaxbgc745gblja7gcy0b5wbp7jf90lkha75zl5cc9iyksl"; depends=[cherry e1071 plyr someMTP]; };
   flipbookr = derive2 { name="flipbookr"; version="0.1.0"; sha256="0ls51risk3qn5fagw31i2kibrxk7xk3845a1cccd83sc4c8ilgjx"; depends=[dplyr glue knitr magrittr purrr rmarkdown stringi stringr tibble tidyr]; };
@@ -9399,7 +9491,7 @@ in with self; {
   flying = derive2 { name="flying"; version="0.1.3"; sha256="04wfcsbq8icvk1nnczvic5cp4nb40hxj3g6lasyb1dvhsh0svg0q"; depends=[kableExtra knitr Rcpp rmarkdown]; };
   fma = derive2 { name="fma"; version="2.4"; sha256="1x175mhljvplm7b2iwcvkzalv3a79p8gqj9d4f06l5v4shxlrab9"; depends=[forecast]; };
   fmbasics = derive2 { name="fmbasics"; version="0.3.0"; sha256="1dnf09rgwpc7n7ydlp7r5cwy2fa4vh1h9mbjqzfhk0208kz6jpl0"; depends=[assertthat fmdates lubridate tibble]; };
-  fmcmc = derive2 { name="fmcmc"; version="0.5-0"; sha256="0z1r5fdz1dpf3rvppk28g43xwvpi0l3207338rgfr8zbvlgwfa1a"; depends=[coda MASS Matrix]; };
+  fmcmc = derive2 { name="fmcmc"; version="0.5-1"; sha256="1w8qchyh3ry5nphv76pdbryp6hq8bccfhwzmsnghgzfd8hirrg27"; depends=[coda MASS Matrix]; };
   fmdates = derive2 { name="fmdates"; version="0.1.4"; sha256="1bbcwkh65nf2gak9b81zgg32c5ihwhmai3nc43ayf6ivhqsxw8x0"; depends=[assertthat lubridate]; };
   fmerPack = derive2 { name="fmerPack"; version="0.0-1"; sha256="0p9jfgkzs97r6ya1x8ax7bza17b03grqxa22ja13s12vj0cdkv78"; depends=[abind flexmix glmnet MASS Rcpp RcppArmadillo]; };
   fmf = derive2 { name="fmf"; version="1.1.1"; sha256="0b26040a39jys1z3h9mq9k7rjr0iyiialq442ir8vgzvmrh383cs"; depends=[C50 caret dplyr e1071 factoextra FactoMineR ggplot2 kernlab Rcpp RcppArmadillo solitude]; };
@@ -9407,12 +9499,13 @@ in with self; {
   fmri = derive2 { name="fmri"; version="1.9.6"; sha256="1wh77xwpm8f9d9vky3r7vfmkik3hls008ifk8hkm2rq6i06jj53n"; depends=[aws metafor nlme]; };
   fmriqa = derive2 { name="fmriqa"; version="0.3.0"; sha256="1z09nf1c305a78c129jvs21b9z91wyhazz41wrn4bimmhfhx7szv"; depends=[ggplot2 gridExtra imager optparse pracma RcppEigen reshape2 RNifti tidyr viridisLite]; };
   fmsb = derive2 { name="fmsb"; version="0.7.2"; sha256="1ylwj4385wg7rymx0m3kayyvrbil89wxb7phdl0fvi0xq2krkzhb"; depends=[]; };
-  fmtr = derive2 { name="fmtr"; version="1.5.4"; sha256="0xrl22f02q2m66k9h1134iwdmzhvk0ni9dfrgzpi8rnfdf4svx4i"; depends=[crayon Rcpp tibble]; };
+  fmtr = derive2 { name="fmtr"; version="1.5.5"; sha256="0vxdcjr0azmcsq59gp31c1zkgcf2sbi5z8qmjcz0507sn81r73wf"; depends=[crayon Rcpp tibble]; };
   focusedMDS = derive2 { name="focusedMDS"; version="1.3.3"; sha256="18s86dbbpyajscqr9frprf2vp1zif7vh4lw5m0cjskfc6gmsdp2p"; depends=[htmlwidgets]; };
   foghorn = derive2 { name="foghorn"; version="1.4.2"; sha256="11riav36ncxybx4yrrrwrykg9xmh2fpp5m92zl9prhi7g0rllg6f"; depends=[clisymbols crayon curl httr jsonlite rlang rvest tibble xml2]; };
   foieGras = derive2 { name="foieGras"; version="0.7-6"; sha256="0g4c9id7q3jgjcgwmncp4bkw9njwb41cp6ycv7psiidkhmnzi03d"; depends=[assertthat CircStats dplyr furrr future ggplot2 lifecycle lubridate mvtnorm patchwork purrr RcppEigen sf stringr tibble tidyr TMB tmvtnorm trip]; };
   folderfun = derive2 { name="folderfun"; version="0.1.4"; sha256="0rns8590r1897lj0gyrlj0zbaxjw2gjaxwnwdxiiw2kvyq7mjkis"; depends=[]; };
   folio = derive2 { name="folio"; version="1.0.0"; sha256="1al4ampy95fsxxlqhp63qmc0xn51gfa0gw2gghy28a4dqjg39sfg"; depends=[]; };
+  fomantic_plus = derive2 { name="fomantic.plus"; version="0.1.0"; sha256="0zj50v036zal51b7744bp62c1bzjwdvzw1qwy0lyhgjxly6kb2hy"; depends=[htmltools jsonlite shiny shiny_semantic]; };
   fontBitstreamVera = derive2 { name="fontBitstreamVera"; version="0.1.1"; sha256="0nipdlmhjv1wr3aidcl97nk6mppdkd65krgwqnhdsnv0jpfv761j"; depends=[]; };
   fontHind = derive2 { name="fontHind"; version="0.1.1"; sha256="0qz3bj8vdy6jayy84p3vyxfwqll4v4qlklwq9wl981ii2k7g0vxf"; depends=[extrafont ggplot2 hrbrthemes]; };
   fontLiberation = derive2 { name="fontLiberation"; version="0.1.0"; sha256="1w1rl0g4ayyp8lwppmz9yzj9cizg7i50g07216jkm1q5w0is9pmc"; depends=[]; };
@@ -9425,18 +9518,18 @@ in with self; {
   foolbox = derive2 { name="foolbox"; version="0.1.1"; sha256="06lcr5v6bcqqxskrwdm16b46zq4h67x8bwqya88jxs5bgi5w0hj3"; depends=[magrittr rlang]; };
   footballpenaltiesBL = derive2 { name="footballpenaltiesBL"; version="1.0.0"; sha256="1my67157frp4pxl84sb6dnb7rzp99g59mp9iwwv1s6wc391zfbsp"; depends=[]; };
   footprint = derive2 { name="footprint"; version="0.1"; sha256="00m3jaxiacf9wxa0wg0qxhp6c0prbf2l5c2cid6anz8rc5b6angv"; depends=[airportr dplyr magrittr rlang]; };
-  foqat = derive2 { name="foqat"; version="1.7.1"; sha256="10vyf98xzriiqqpmmzz3nzhrnnxfjp7h71dxgwsikg3j9va8pfqk"; depends=[dplyr ggplot2 ggplotify ggprism gridExtra lmodel2 lubridate magrittr plyr reshape2 rvest scales stringr xml2]; };
+  foqat = derive2 { name="foqat"; version="2.0.0"; sha256="0f4zakfj4f2x3sy0h048vbzx7bvr8jffz125ncd7yydhgxbl7v8v"; depends=[dplyr ggnewscale ggplot2 ggplotify gridExtra lmodel2 lubridate magrittr patchwork plyr reshape2 rvest scales stringr xml2]; };
   forImage = derive2 { name="forImage"; version="0.1.0"; sha256="1p8zfndvm7x7pnryphz944hgxcchvc6mwnr6ap15m0i6kwsh0nb4"; depends=[dplyr magrittr reticulate tibble]; };
   forams = derive2 { name="forams"; version="2.0-5"; sha256="1fh3m9896ksv1h7b027yb955bzyv70yafhqvn5crkzalzk3jpb0s"; depends=[vegan]; };
   forcats = derive2 { name="forcats"; version="0.5.1"; sha256="12d2nv2w15085jscgidmjdnr1ryymciflcmal6ldmgp2fkl9dyy4"; depends=[ellipsis magrittr rlang tibble]; };
   foreSIGHT = derive2 { name="foreSIGHT"; version="1.0.0"; sha256="0f1wy7iy3189890qi0gfqwbif3qlp9bfnzzqlg1yvwxi5pw55ikm"; depends=[cowplot directlabels doParallel fields GA ggplot2 jsonlite moments progress RColorBrewer rcorpora Rcpp rlang scales viridisLite zoo]; };
-  foreach = derive2 { name="foreach"; version="1.5.1"; sha256="1qb83b1jvpmk8d6kfibkm5q2hiki0x5gipy758mwa62n56gdcnpv"; depends=[codetools iterators]; };
+  foreach = derive2 { name="foreach"; version="1.5.2"; sha256="1r5gdf9fp3rprvrhf0gzl9qmmqhgdn5gscpm5hk8zxpraf3qscsn"; depends=[codetools iterators]; };
   forecTheta = derive2 { name="forecTheta"; version="2.2"; sha256="1a7ip3czm8k82kb8dx95m8q47kjhifdj51gzavd1zj9ni3vwbhfn"; depends=[forecast tseries]; };
-  forecast = derive2 { name="forecast"; version="8.15"; sha256="0x4ij55sb45qnwba3bybs50vsvv82q3j8p47xmbv959h13nsnfn7"; depends=[colorspace fracdiff ggplot2 lmtest magrittr nnet Rcpp RcppArmadillo timeDate tseries urca zoo]; };
+  forecast = derive2 { name="forecast"; version="8.16"; sha256="0zvn44k7npxai8kj0hgxaaqv1hgd8rxicnvj4cg7wfl8ba4yn0cz"; depends=[colorspace fracdiff ggplot2 lmtest magrittr nnet Rcpp RcppArmadillo timeDate tseries urca zoo]; };
   forecastHybrid = derive2 { name="forecastHybrid"; version="5.0.19"; sha256="1pg3wbmlagr01j3nikfh4dvh5lvbdfp7069wx9h9xsl7d4481ly1"; depends=[doParallel foreach forecast ggplot2 purrr thief zoo]; };
   forecastML = derive2 { name="forecastML"; version="0.9.0"; sha256="01lqbmdmd6sk5xka19i9d466bzihxgp652v0kr13r82b591f67vq"; depends=[data_table dplyr dtplyr future_apply ggplot2 lubridate magrittr purrr rlang tibble tidyr]; };
   forecastSNSTS = derive2 { name="forecastSNSTS"; version="1.3-0"; sha256="0p47x7ic2ib7znqbp8br4b2ci75f5w8x413z9g4n30m002p7irp1"; depends=[Rcpp]; };
-  foreign = derive2 { name="foreign"; version="0.8-81"; sha256="0b4rca1bl8xxna05057hchbwfmgjgx0n140szabpc0raizqzks0s"; depends=[]; };
+  foreign = derive2 { name="foreign"; version="0.8-82"; sha256="1yw07yqzfm4w1h92ijyamrmf7rmkqxgamqfd74x7zv4vsn20dvgq"; depends=[]; };
   forensic = derive2 { name="forensic"; version="0.2"; sha256="0kn8wn6p3fm67w88fbarg467vfnb42pc2cdgibs0vlgzw8l2dmig"; depends=[combinat genetics]; };
   forensim = derive2 { name="forensim"; version="4.3"; sha256="1jhlv9jv832qxxw39zsfgsf4gbkpyvywg11djldlr9vav7dlh3iw"; depends=[tcltk2 tkrplot]; };
   forestControl = derive2 { name="forestControl"; version="0.2.1"; sha256="1m75s98bs8n3qad8gp6a333dh3mbi0rbbic9iwnsqyklzkhmx1nr"; depends=[dplyr magrittr purrr Rcpp tibble]; };
@@ -9448,6 +9541,7 @@ in with self; {
   forestmangr = derive2 { name="forestmangr"; version="0.9.4"; sha256="1zlp7lnawbfqw60552cwnh280spqj7p2qvn2xwz5y7wly2d7d4fm"; depends=[broom car dplyr FinCal ggdendro ggplot2 ggpmisc ggthemes gridExtra magrittr miniUI minpack_lm plyr purrr rlang scales shiny systemfit tibble tidyr]; };
   forestmodel = derive2 { name="forestmodel"; version="0.6.2"; sha256="0pl9r8j2qd00b9kl585b4k54kic5fvzc56i8cn3hm5yp2hrrwyws"; depends=[broom dplyr ggplot2 rlang tibble]; };
   forestplot = derive2 { name="forestplot"; version="2.0.1"; sha256="0bzwi6ws0qjq1pqiadssynbkxxd4zjp974jfdplmv16fcyszqhyi"; depends=[checkmate magrittr]; };
+  forestploter = derive2 { name="forestploter"; version="0.1.1"; sha256="0flqxadq89bfbdck9b5lvbys87lcyq37jwhsfx6k5jvplm70vrxw"; depends=[gridExtra gtable]; };
   forestr = derive2 { name="forestr"; version="2.0.2"; sha256="1kz8f3x2dmsprj2r23gz61fpwg7n14nbjxr16x4cpixvnk427p94"; depends=[dplyr ggplot2 moments plyr tibble tidyr viridis]; };
   forestry = derive2 { name="forestry"; version="0.1.0"; sha256="0q7m0mrig8z2b2z2fng58qlqa6g58xlhfzchil2dvjh6xf3qvsh8"; depends=[data_tree]; };
   foretell = derive2 { name="foretell"; version="0.2.0"; sha256="18vi438n480gizfhnciw67gngvbjnmky19186b1wy75av7fgc1gp"; depends=[nloptr]; };
@@ -9459,6 +9553,7 @@ in with self; {
   formulops = derive2 { name="formulops"; version="0.5.0"; sha256="1mkpv5xjykrhgknq0gh4yg2a3j4xb8q2d6dh0wv8zd9h59hvrzda"; depends=[]; };
   forplo = derive2 { name="forplo"; version="0.1.0"; sha256="15zkzq8vb6ydvic3r2lsna64vqlq12225cpdr7dsrfkn6kqjjzd5"; depends=[]; };
   forrel = derive2 { name="forrel"; version="1.3.0"; sha256="0dlp318dh77fwjcqyzx9ldwvcxa4xpwkpvnizgvbifnwxkggdj7j"; depends=[glue pedmut pedprobr pedtools ribd]; };
+  forsearch = derive2 { name="forsearch"; version="1.0.0"; sha256="047iizf9pfgq292zkhkdwq44ij4kixvxd7d0qqyayckh3c1k9290"; depends=[Cairo ggplot2 Hmisc nlme tibble]; };
   fortunes = derive2 { name="fortunes"; version="1.5-4"; sha256="109ly9kpfn6hy294ava8795wy5z9l1bnl98hhhv8kn9naf4camdg"; depends=[]; };
   forward = derive2 { name="forward"; version="1.0.5"; sha256="0cc0s534s32b9ark2zazwqhgy0zsxb2p63r6503v82784rpqv2yv"; depends=[MASS]; };
   forwards = derive2 { name="forwards"; version="0.1.3"; sha256="07374a1ak5h8q3diqyvsw3q1grqi3679w9sshf1jkhlrj7wn0dmv"; depends=[]; };
@@ -9502,7 +9597,8 @@ in with self; {
   frbs = derive2 { name="frbs"; version="3.2-0"; sha256="0biv6j31qi0f4i063ygmbp6v6ws1nxijn5kyhg5sz1rnbr0msl28"; depends=[]; };
   frechet = derive2 { name="frechet"; version="0.2.0"; sha256="1006mgy9avwkwy0666maac59xp4j27wq5yy3pwc3h1r05myxw379"; depends=[corrplot fdadensity fdapace Matrix osqp pracma]; };
   fredr = derive2 { name="fredr"; version="2.1.0"; sha256="0073qh0drf1p38hc84m54n35hyza90m8zn48ihx3alxkiq1m8ijp"; depends=[httr jsonlite rlang tibble]; };
-  freealg = derive2 { name="freealg"; version="1.0-3"; sha256="14jr00j2ky5sq8bhbr2i41mqj3jqk204nh6983wxi4qnmpvxhm1f"; depends=[disordR mathjaxr partitions Rcpp]; };
+  free = derive2 { name="free"; version="1.0"; sha256="1cy9v4cfksnnzi4fx89kai3zdb8lpwawi04x4y58wh7322bb0w0j"; depends=[Rcpp RcppArmadillo]; };
+  freealg = derive2 { name="freealg"; version="1.0-4"; sha256="0bv31pydjhqhfin4ydd49aqzsxn0zhhismm0l4ijabrrvkw3n1hc"; depends=[disordR mathjaxr partitions Rcpp]; };
   freedom = derive2 { name="freedom"; version="1.0.1"; sha256="1mrdl2cqdm2c68lx7lyixgiqw6xzwnx9c8j5q4annhiz107i9i22"; depends=[]; };
   freegroup = derive2 { name="freegroup"; version="1.1-3"; sha256="11v0ph0mhk8g9zwapcp2wgr1sbdwdqh7nhbrci87myapypdncqjc"; depends=[magic magrittr plyr]; };
   freesurfer = derive2 { name="freesurfer"; version="1.6.8"; sha256="0ks6ms5vp38pykcg66w960nmfgq383iprrbbzw5dlx9xnrx4yhbh"; depends=[neurobase R_utils reshape2]; };
@@ -9510,9 +9606,11 @@ in with self; {
   frenchCurve = derive2 { name="frenchCurve"; version="0.1.0"; sha256="1b8lkmhydz4jq8h5p117fwaygbsillzcfx0p7w0ljj8b8v57r6l9"; depends=[sp]; };
   frenchdata = derive2 { name="frenchdata"; version="0.2.0"; sha256="13n0phncbxim9ak897hmjw1p7ph5wi3jn2m8hgmm3bywxbxcg1qz"; depends=[assertthat cli dplyr fs httr magrittr purrr readr rlang rvest stringr tibble tidyr]; };
   freqdist = derive2 { name="freqdist"; version="0.1"; sha256="1pb45jabv9s3qa7v1isd5wm9b0g9p04q5h18spcaax8397s0d2fv"; depends=[]; };
+  freqdistributionNogives = derive2 { name="freqdistributionNogives"; version="0.1.1"; sha256="1y01yiyzgcsr8xcjgxq75ky8a6f4d2h3x82la3zcrczy7fplblq4"; depends=[]; };
   freqdom = derive2 { name="freqdom"; version="2.0.1"; sha256="0ig0ygnlcb5ndjjm5x8jpp37gvgwli9xv6zsvbbgfh72q418qswp"; depends=[matrixcalc mvtnorm]; };
   freqdom_fda = derive2 { name="freqdom.fda"; version="0.9.1"; sha256="15wq9s3v441dybc8kglpbv9hdvsr9rjjq4qp4d2ipxglfp0iqj9p"; depends=[fda freqdom mvtnorm]; };
   freqparcoord = derive2 { name="freqparcoord"; version="1.0.1"; sha256="011p8xh0i0x0w5rv5qz5a7fxwdhxd8l2bqi9bxv5almxd0y7ajqx"; depends=[FNN GGally ggplot2 mvtnorm]; };
+  freqpcr = derive2 { name="freqpcr"; version="0.4.0"; sha256="04s6yrzxk4v86nhs9mwam1y2lfac73r6i8af9xbbmrlzj61wiia9"; depends=[cubature]; };
   freqtables = derive2 { name="freqtables"; version="0.1.0"; sha256="0d2yibb8689786icfladxfm51sqng909wigvqmwij9lkqq14rd80"; depends=[dplyr rlang stringr]; };
   frequency = derive2 { name="frequency"; version="0.4.1"; sha256="0sjsc803ysyg2gfzb7z4jb2sikwxs99is2m03k5glfy3ylgphn0d"; depends=[DT ggplot2 gtools knitr rmarkdown]; };
   frequencyConnectedness = derive2 { name="frequencyConnectedness"; version="0.2.3"; sha256="1yzpgflldcdsd5kj0jpyj0vwx25f3l0x344glbrwvlwgdax9dkg8"; depends=[knitr pbapply urca vars]; };
@@ -9530,7 +9628,7 @@ in with self; {
   frontiles = derive2 { name="frontiles"; version="1.2"; sha256="08qq25wbylvhvmq34wggyj0hwdlxfs9rfs8gjqsrg50xccchniqi"; depends=[classInt colorspace rgl sp]; };
   frost = derive2 { name="frost"; version="0.0.4"; sha256="03snjlq4b9j84v0yimc3xzgjvryzzi76b9n53k0s2lvv1yzrri7x"; depends=[]; };
   frostr = derive2 { name="frostr"; version="0.2.0"; sha256="1bsgdskdbyryq7jvhnb4z4xb1m5vadqv00qjlkgp41xh71wp2brs"; depends=[httr jsonlite tibble tidyr]; };
-  frscore = derive2 { name="frscore"; version="0.1.0"; sha256="19i7m8r8qmhymav36jzfg6zyhjscazs9pqzbxbb0dgjqjkm9j5qh"; depends=[cna dplyr magrittr Rfast rlang]; };
+  frscore = derive2 { name="frscore"; version="0.1.1"; sha256="0x5hyjh3n28yanpgx4yb2afjlwknaa4dd5fsy857hbdm0wf2jz9v"; depends=[cna dplyr magrittr Rfast rlang]; };
   fruclimadapt = derive2 { name="fruclimadapt"; version="0.4.4"; sha256="19siwjjcjh0kh2wpbabgzjwrfgg2al0g7d4z91wdcp3spwx308vk"; depends=[data_table lubridate tidyverse zoo]; };
   fs = derive2 { name="fs"; version="1.5.2"; sha256="11qr3v0xn65vfhgcxl4l6yv48s4w0w3ldp3anpzc25vd3mwd3jim"; depends=[]; };
   fsMTS = derive2 { name="fsMTS"; version="0.1.5"; sha256="1vxj9wkzpbk44hby4fdyhj72748c65by612kpphs6vmgzmw4y471"; depends=[freqdom glasso lars mpmi randomForestSRC]; };
@@ -9542,10 +9640,9 @@ in with self; {
   fsn = derive2 { name="fsn"; version="0.1"; sha256="1a5vsrk9l19rh46kxrfmgcv07l0pr4zn1q2f0chivq43pwmfm194"; depends=[Rfast]; };
   fso = derive2 { name="fso"; version="2.1-1"; sha256="0hn2ypm0nwfbmnh9il78pi30x7gfmayfangqyh0d63ngyz40bvma"; depends=[labdsv]; };
   fspe = derive2 { name="fspe"; version="0.1.0"; sha256="0cdl6749nqz2nmknn8mjxxxm8axix9iv2micviwg7fhynqhsffp1"; depends=[corpcor GPArotation psych]; };
-  fsr = derive2 { name="fsr"; version="1.0.0"; sha256="0mavf8kbs8176j6qp773myc7h8m4l8x10n3w630jp6d6csj8jgb2"; depends=[dplyr e1071 FuzzyR ggplot2 lwgeom pso rlang sf stringr tibble]; };
-  fssemR = derive2 { name="fssemR"; version="0.1.6"; sha256="1l80anvlf21kvwb95w5mn0i2q773z0vbznx1lqvgsawprhcdiv20"; depends=[glmnet igraph MASS Matrix mvtnorm qtl Rcpp RcppEigen stringr]; };
-  fst = derive2 { name="fst"; version="0.9.4"; sha256="0vwclzxww8mw9nnpyj29bn71mrr8jjg7ka03979h9rbzw6d9bjrr"; depends=[Rcpp]; };
-  fstcore = derive2 { name="fstcore"; version="0.9.6"; sha256="1445m8gn41q9l9m25d5m4682yy0msb5jnmdd8w310cxxs1riza93"; depends=[Rcpp]; };
+  fsr = derive2 { name="fsr"; version="1.0.1"; sha256="1h0ljb28nffjjjry93lsvw2i109g0mmjgdd335y7r3zgz1s34x2d"; depends=[dplyr e1071 FuzzyR ggplot2 lwgeom pso rlang sf stringr tibble]; };
+  fst = derive2 { name="fst"; version="0.9.6"; sha256="08vbjr5fjrirmpl4ynmibgy6ph3fahfc7d213cwbzvhq2pdp3yqh"; depends=[Rcpp]; };
+  fstcore = derive2 { name="fstcore"; version="0.9.8"; sha256="1qicjwsm87wgjm5mxrsgi697fmcfz6wyqcxfgngwxrf8kq4awjsf"; depends=[Rcpp]; };
   fsthet = derive2 { name="fsthet"; version="1.0.1"; sha256="0z6az1jcvdahgn97r6cpj1s6fn0lvr7j12gcw2r7wbpajrvyl5j6"; depends=[]; };
   ftDK = derive2 { name="ftDK"; version="1.0"; sha256="1xs2rr2afjza97kpym5zkas3k78pilxjlh7lp1gc66banldr71g2"; depends=[dplyr httr pbapply purrr tibble]; };
   ftExtra = derive2 { name="ftExtra"; version="0.3.0"; sha256="1aal3cwdp9gnc0gnigk7789rak3s6i5jav01d9z25gm977683b76"; depends=[dplyr flextable jsonlite magrittr purrr rlang rmarkdown stringr tibble tidyr tidyselect vctrs xfun yaml]; };
@@ -9603,7 +9700,7 @@ in with self; {
   fuzzr = derive2 { name="fuzzr"; version="0.2.2"; sha256="1cwq7a5j6lzrlz9dw3hsfap988rh1kkgf03yni7c33zl69xp5w77"; depends=[assertthat progress purrr]; };
   fuzzyFDR = derive2 { name="fuzzyFDR"; version="1.0"; sha256="0zd8i9did0d9gp42xjmwrccm32glabvvy08kl8phhwb1yaq53h7w"; depends=[]; };
   fuzzyRankTests = derive2 { name="fuzzyRankTests"; version="0.4"; sha256="04841fh4nf7qriqk0b2ny943bji60bj42j8czg056d2dza4q4039"; depends=[]; };
-  fuzzySim = derive2 { name="fuzzySim"; version="3.0"; sha256="18h0lxzqyp7fzjv7vnyfbwpaxjx15sw0h9l5yq846xzhkza79xxp"; depends=[]; };
+  fuzzySim = derive2 { name="fuzzySim"; version="3.7"; sha256="0m37fgqiy025db5ciz8lb2a8132iprn6fssy1bpingw3nb88r3vp"; depends=[modEvA]; };
   fuzzyforest = derive2 { name="fuzzyforest"; version="1.0.8"; sha256="0sb7qia01a5h6p12riq6vdq9likmqb6i949axsxszy5sf1zk50v5"; depends=[doParallel foreach ggplot2 mvtnorm randomForest]; };
   fuzzyjoin = derive2 { name="fuzzyjoin"; version="0.1.6"; sha256="0s5rhqz8vih4za3a8k1k7i3gq8hj0w7bqnakw40k6mg87jvyzsj7"; depends=[dplyr geosphere purrr stringdist stringr tibble tidyr]; };
   fuzzyreg = derive2 { name="fuzzyreg"; version="0.5.2"; sha256="1ppgyavkq8nys6fs9is7x08kclaa9g4h04a55bdkk6jjm36if914"; depends=[limSolve quadprog]; };
@@ -9611,7 +9708,7 @@ in with self; {
   fwi_fbp = derive2 { name="fwi.fbp"; version="1.7"; sha256="1wk9cr0kk6zkbf111bv87n7b1wwx1qrsbjxydvbjvy8bgz0nfa62"; depends=[]; };
   fwildclusterboot = derive2 { name="fwildclusterboot"; version="0.7"; sha256="1rhaisq2x9skhlils9iry7x8xzsi59pp6i9whg6jrjphgz96976f"; depends=[collapse dqrng dreamerr Formula generics gtools Matrix Matrix_utils Rcpp RcppEigen]; };
   fwsim = derive2 { name="fwsim"; version="0.3.4"; sha256="0fy87c1x5hihfcppv1pvk3b0pwl6ygqpka40x55gbpkgssdigb1l"; depends=[Rcpp]; };
-  fxTWAPLS = derive2 { name="fxTWAPLS"; version="0.0.7"; sha256="0pfp64qi0mnxsf0pmgi5pafalzp997q6wx9fhkk04llzcj9ppdl8"; depends=[doFuture foreach future geosphere ggplot2 JOPS MASS progressr]; };
+  fxTWAPLS = derive2 { name="fxTWAPLS"; version="0.1.0"; sha256="0p51b907sz8357yb5kpxjpip7fa6xznlw1k508jlmkp2dlwnpjpr"; depends=[doFuture foreach future geosphere ggplot2 JOPS MASS progressr]; };
   fxregime = derive2 { name="fxregime"; version="1.0-4"; sha256="0ml1q0xp90jfng6a60pfkp6j7wajk6pz4p4wm08rfqikgsdvp0m4"; depends=[car sandwich strucchange zoo]; };
   fy = derive2 { name="fy"; version="0.3.0"; sha256="13803ld4b59ly5h3zlianag9901jyw6p70bsyz5dj7k62hg7ha3s"; depends=[data_table fastmatch hutils]; };
   g_data = derive2 { name="g.data"; version="2.4"; sha256="14a4m0v38p3j1k1kymkxwydlgm8b73hlx9m80sg1l4aj38fvflzl"; depends=[]; };
@@ -9637,14 +9734,14 @@ in with self; {
   gStream = derive2 { name="gStream"; version="0.2.0"; sha256="1f4xnbavm99yhjmaahazigps41mqlfvvl29kf4fs1yjqr531y36b"; depends=[]; };
   gTests = derive2 { name="gTests"; version="0.2"; sha256="1h1sd8mrzcniq7rx7frdlxwpnsn8lifng1x99fqq703hs3znl1yq"; depends=[ade4]; };
   gWQS = derive2 { name="gWQS"; version="3.0.4"; sha256="1yhbcmznii3n2sbw0z2rw1sdn0zlk5v2z7ww3nl7rn005g4q04hi"; depends=[broom cowplot dplyr future future_apply ggplot2 ggrepel kableExtra knitr MASS Matrix nnet plotROC pscl reshape2 rlist]; };
-  gWidgets2 = derive2 { name="gWidgets2"; version="1.0-8"; sha256="0p6lav6lrwgsw29sl8vshzgi8j2smcavx047qq31s9bsn2dcw58n"; depends=[digest]; };
-  gWidgets2tcltk = derive2 { name="gWidgets2tcltk"; version="1.0-6"; sha256="0arh0yxx63m4df1ccrv0q3vkjncwv3ink8vkalp6ashi2932yfma"; depends=[digest gWidgets2 memoise]; };
+  gWidgets2 = derive2 { name="gWidgets2"; version="1.0-9"; sha256="1ifljpdazzmwf3mgkg9g76365n2cmw8dd3da161fpvw84xxyznfl"; depends=[digest]; };
+  gWidgets2tcltk = derive2 { name="gWidgets2tcltk"; version="1.0-7"; sha256="0w7l3zrmi5y3vxgccgx26r4296wb2kqylv68qnqqpdypd0413374"; depends=[digest gWidgets2 memoise]; };
   gadget2 = derive2 { name="gadget2"; version="2.3.7"; sha256="1p7jpwy65gdl6kli1h2m9yi5p5ah1vm23xs03sm9l42fcbn7ffdw"; depends=[]; };
   gafit = derive2 { name="gafit"; version="0.5.1"; sha256="160z3cv22prf7118447dla9g1gimwkfad8zdil3fg8n4l22rk51a"; depends=[]; };
   gaiah = derive2 { name="gaiah"; version="0.0.4"; sha256="1ibsbmmpagr7ix1c3bszrglqx95w44qyfy80vcq3w2dprs8vrrw6"; depends=[dplyr geosphere magrittr maptools raster rlang sp]; };
   gainML = derive2 { name="gainML"; version="0.1.0"; sha256="1mqhrdjdmc2n7dxilxkqn6xq7z0qnxpigw5bbffnjvvsmdamah0n"; depends=[fields FNN]; };
   gains = derive2 { name="gains"; version="1.2"; sha256="1nmrhc7qjlyzn04r1qyjdws5fin3idmi789kbxzilax12ya8xr7k"; depends=[]; };
-  galah = derive2 { name="galah"; version="1.3.1"; sha256="1z7kwmpmsr7fy9x3z6bivx0vvfrb9k5lgvcdnj3z46hi2vn6i8xn"; depends=[assertthat crul data_table data_tree digest httr jsonlite sf sp stringr wellknown]; };
+  galah = derive2 { name="galah"; version="1.4.0"; sha256="1szc10fh5fliry91357pxl4q3ry496l5j49mpqh3fsydz5cd8ck4"; depends=[assertthat crul data_table data_tree digest glue httr jsonlite lifecycle rlang sf stringr tibble tidyselect wellknown]; };
   galigor = derive2 { name="galigor"; version="0.2.5"; sha256="1lfw1kikf90nv9g0xrb656fbilmxdk64zrzi43wrz7y2y55sd5xv"; depends=[cli crayon dplyr gargle getProxy magrittr purrr rappsflyer rfacebookstat rgoogleads rmytarget rstudioapi rvkstat ryandexdirect rym tibble tidyr]; };
   galts = derive2 { name="galts"; version="1.3.1"; sha256="0jg0yng1kc6s0qdhq8ps38dsxdcrgdcn8dl2dlclw6rcbknb6h4k"; depends=[DEoptim genalg]; };
   galvanizer = derive2 { name="galvanizer"; version="0.5.3"; sha256="1b9431mmgpqyd49b8nlsrlxjq9j9fyj73226bi9jic1p867533kk"; depends=[dplyr httr jsonlite lubridate magrittr rlang tibble tidyjson tidyr tidyselect]; };
@@ -9661,7 +9758,7 @@ in with self; {
   games = derive2 { name="games"; version="1.1.2"; sha256="01hbbr2hsxi5j9axpdl0jihpd55pa9hacjxmab8p7cixk3xqqqbf"; depends=[Formula MASS maxLik stringr]; };
   gamesGA = derive2 { name="gamesGA"; version="1.1.3.7"; sha256="0km0z2haqgykl01xkzsbkpwibavgqfjygx7cg08ni68gw501689l"; depends=[shiny]; };
   gamlr = derive2 { name="gamlr"; version="1.13-7"; sha256="0p0q77lkb5j9p1gd2z1n74pphx7h0lynzdamxrhz2w6bif1431wz"; depends=[Matrix]; };
-  gamlss = derive2 { name="gamlss"; version="5.3-4"; sha256="06mh00jjxnqwknbv777hawjk0zm81ixrp35fg59mrlqz8y3p2w3j"; depends=[gamlss_data gamlss_dist MASS nlme survival]; };
+  gamlss = derive2 { name="gamlss"; version="5.4-1"; sha256="0fp9bmgykpqd950bk58dk423iy5r1fm3dy2gw0cwwmgivpq2lx0q"; depends=[gamlss_data gamlss_dist MASS nlme survival]; };
   gamlss_add = derive2 { name="gamlss.add"; version="5.1-6"; sha256="0g80bn0nszs2nmka6dypyvqnsgxp7mzhf5nd82n5x4jm3ca3dbdj"; depends=[gamlss gamlss_dist mgcv nnet rpart]; };
   gamlss_cens = derive2 { name="gamlss.cens"; version="5.0-1"; sha256="1s83dgifidvc6cbrqirwlvwfzg08mlhmxxiqkbmnsy09i5j9fzd3"; depends=[gamlss gamlss_dist survival]; };
   gamlss_countKinf = derive2 { name="gamlss.countKinf"; version="3.5.1"; sha256="1xalp909gxxhyhh4chlr1ssyfhydhw1w3szzbynajji98576zaqv"; depends=[gamlss gamlss_dist]; };
@@ -9681,7 +9778,8 @@ in with self; {
   gammSlice = derive2 { name="gammSlice"; version="2.0-2"; sha256="1klxg1yhmfaz1zjnw1kxl1lm5plkakqh014rpkak2lj8zgf8qnyy"; depends=[KernSmooth lattice mgcv]; };
   gamma = derive2 { name="gamma"; version="1.0.1"; sha256="1m2wxqprfxb51fih5f9l4s0lk42gyglbgvhfxc0cm9n7pn3dhprl"; depends=[ggplot2 IsoplotR rlang rxylib]; };
   gamreg = derive2 { name="gamreg"; version="0.3"; sha256="1svrgbb8qdy2hzpq1g38v2lzmlbrn7qljix827biqzwgiajy69gg"; depends=[doParallel foreach glmnet Rcpp RcppArmadillo robustHD]; };
-  gamsel = derive2 { name="gamsel"; version="1.8-1"; sha256="107hbshi36dcyykhy6w1i1ih84xwdqv1q3nad73d3krf7bhvhg5f"; depends=[foreach mda]; };
+  gamsel = derive2 { name="gamsel"; version="1.8-2"; sha256="1w1z2g0njsfv1ah6w3zw4lcgnaxask5mgykb204jzp6hpnc1a6cb"; depends=[foreach mda]; };
+  gamselBayes = derive2 { name="gamselBayes"; version="1.0-1"; sha256="02rnamzfsmkk7hqm334jydybn9yv35f6iz406yk6xwfjz6wxhgh1"; depends=[Rcpp RcppArmadillo]; };
   ganGenerativeData = derive2 { name="ganGenerativeData"; version="1.2.0"; sha256="1ha7sf69ys8gz3fv1k3h32qr6cfjvrirkx0rcyq7pscxychwslca"; depends=[Rcpp tensorflow]; };
   ganalytics = derive2 { name="ganalytics"; version="0.10.7"; sha256="03jf7325cgg5p6lzcrzzzx0b40vf3l5vhw95lih098kpmlr1zadf"; depends=[assertthat googleAnalyticsR httpuv httr jsonlite lazyeval lubridate plyr R6 rvest scales selectr stringr tibble XML xml2]; };
   gap = derive2 { name="gap"; version="1.2.3-1"; sha256="1rw93dnv3id64al46iybyznnvprv871qa4lnwdx18x8ym66fafil"; depends=[]; };
@@ -9701,11 +9799,11 @@ in with self; {
   gasper = derive2 { name="gasper"; version="1.1.1"; sha256="10kl5d8lm2jvqrfk0qliyb3afmk9bhjm5zvs4g31zpa3icbz9r2p"; depends=[ggplot2 Matrix Rcpp RcppArmadillo RSpectra]; };
   gastempt = derive2 { name="gastempt"; version="0.5.4"; sha256="02b35y0sq0piq5p8k5fviymqyqx1c2k793pm7j79xymmpzf8f52r"; depends=[assertthat BH dplyr ggplot2 nlme Rcpp RcppEigen RcppParallel rstan shiny StanHeaders stringr tibble utf8]; };
   gaston = derive2 { name="gaston"; version="1.5.7"; sha256="14z94dpln4dvgrv2w7w9ik7h6rpvbf02qhq1hqzx8c2cndzxr21i"; depends=[Rcpp RcppEigen RcppParallel]; };
-  gateR = derive2 { name="gateR"; version="0.1.9"; sha256="18q3bqjjzvrp20mdksps0ddjdz4i8crh26iirradiss4xphk0gm3"; depends=[fields lifecycle raster rlang sparr SpatialPack spatstat spatstat_core spatstat_geom spatstat_linnet tibble]; };
+  gateR = derive2 { name="gateR"; version="0.1.10"; sha256="06qzjvd0na5s6pc11lmr45m8ixnsk57in00ca7vivpa182zvdp6p"; depends=[fields lifecycle raster rlang sparr SpatialPack spatstat_geom tibble]; };
   gatepoints = derive2 { name="gatepoints"; version="0.1.4"; sha256="0gwyrkxn4xd79cl60xa312k6nz17mdjdiym65dq7s2384fa80wbm"; depends=[]; };
   gauseR = derive2 { name="gauseR"; version="1.1"; sha256="0jlbaylglyza6hlf62g3z0n349zlzlhx6g4jwdzg8b2sh4c3c9yn"; depends=[deSolve]; };
   gaussDiff = derive2 { name="gaussDiff"; version="1.1"; sha256="0fqjdxp2ibbami75ba16d02dz4rz5sk8mni45di9anydx44g9d45"; depends=[]; };
-  gausscov = derive2 { name="gausscov"; version="0.1.3"; sha256="0lnma7pr3sp99an8d340qxxzpzrrww71mfid0y300sadjvymi9mx"; depends=[]; };
+  gausscov = derive2 { name="gausscov"; version="0.1.4"; sha256="0y46whvzlsck6nlbxjsdv8fj94g622pqqczgzbc7nxj2ylpgbrj9"; depends=[]; };
   gaussfacts = derive2 { name="gaussfacts"; version="0.0.2"; sha256="095x7k7m7sy1gqkbm6wiqn26252dclz62sbnkv6cjvmbdxajl7m9"; depends=[]; };
   gaussplotR = derive2 { name="gaussplotR"; version="0.2.5"; sha256="0amkgzgh6764ri30210nhbi3wcll3248fmkpclx010dxc3hllfdx"; depends=[ggplot2 metR rgl viridisLite]; };
   gaussquad = derive2 { name="gaussquad"; version="1.0-2"; sha256="0bcvkssmwwngcd4cnv924n9h3c8z1w3x9c9bkwn5jbz9zyv1lfms"; depends=[orthopolynom polynom]; };
@@ -9752,8 +9850,9 @@ in with self; {
   gee = derive2 { name="gee"; version="4.13-20"; sha256="167pzgnmj4cjc41ykps1mfwi6s7y32zxyycn5z17vn4v0pp4q0ak"; depends=[]; };
   geeCRT = derive2 { name="geeCRT"; version="0.1.1"; sha256="1dwll5k99mj1a6nakxzihk87dvnqfsymly7kn1b8wkrfpljhrj4v"; depends=[MASS mvtnorm rootSolve]; };
   geeM = derive2 { name="geeM"; version="0.10.1"; sha256="1r9zyjv7r7r7avdqi54dvczf971frz8pgrs1a04kan5mh4ls6xpy"; depends=[Matrix]; };
+  geeasy = derive2 { name="geeasy"; version="0.1.1"; sha256="1b874hacl0hhd16yfaag3kpqrc0336mmkzja0pa3gf7zj8d6n777"; depends=[geeM geepack ggplot2 lme4 Matrix MESS]; };
   geecure = derive2 { name="geecure"; version="1.0-6"; sha256="0nmnrkfgblv38qvk66bdk8933icr59mayqwljkvmpy59sm6br2k5"; depends=[geepack MASS Matrix survival]; };
-  geepack = derive2 { name="geepack"; version="1.3-2"; sha256="19kh0rvc961y836rfjmh1j42ygji2vp6yghl5d1agzg5yx03xdcr"; depends=[broom magrittr MASS]; };
+  geepack = derive2 { name="geepack"; version="1.3.3"; sha256="1n2wb72h76mifzzyif4znqdm1rb682g0b11xlbxj9mk648yfzd81"; depends=[broom magrittr MASS]; };
   geesmv = derive2 { name="geesmv"; version="1.3"; sha256="0gm953z8q5cc1adl3d6vj5djg2inc880zfcdl5gd56fnb5gl6h1w"; depends=[gee MASS matrixcalc nlme]; };
   geex = derive2 { name="geex"; version="1.0.12"; sha256="0zqfd416wl6inr423xzxrnc0as0yrxfqy7fdjyc39i60kghfqyh3"; depends=[lme4 Matrix numDeriv rootSolve]; };
   geigen = derive2 { name="geigen"; version="2.3"; sha256="0blg4w9wjprbax8z6md3285v12ajcjmcrpca52l3kd5qmxlvizy7"; depends=[]; };
@@ -9783,16 +9882,16 @@ in with self; {
   geneListPie = derive2 { name="geneListPie"; version="1.0"; sha256="0z2gawfzhm05dafj4zlj6ifmf0dy7p1hrpa59lzxrnrc0wr6laji"; depends=[]; };
   geneNetBP = derive2 { name="geneNetBP"; version="2.0.1"; sha256="0sp1chyln5k2zsq7cdhvrqxwr2nhrll1pdl1l5g6fd4gjl2m1nwk"; depends=[bnlearn ggm gRain graph igraph Rgraphviz scales]; };
   geneSignatureFinder = derive2 { name="geneSignatureFinder"; version="2014.02.17"; sha256="1s9jj87wnzzgm9hnws09yhrxdlb6jw56i3ddwznvmh8vpzrspv4h"; depends=[class cluster survival]; };
+  genekitr = derive2 { name="genekitr"; version="0.5.3"; sha256="1znbxgfhq652gxl75if0gzk1n7bclacazwjh5vn97cmm78kkm20k"; depends=[clusterProfiler dplyr ggplot2 rlang stringi stringr tibble tidyr VennDiagram]; };
   genemodel = derive2 { name="genemodel"; version="1.1.0"; sha256="1x6n6k9ifv2swhyrghvm6fsz5vh85cdik8225175i9msvmkh928n"; depends=[stringr]; };
   genepi = derive2 { name="genepi"; version="1.0.1"; sha256="1whhdlq9p8gmygv7464hvfz6dhm65gqq1dqls6hgpmw822zxgbd5"; depends=[]; };
   genepop = derive2 { name="genepop"; version="1.1.7"; sha256="0b36nspq3kkad52k0viw1pdsf7h9h5ivi0ix7zg8i0z7vkhnm0cy"; depends=[Rcpp RcppProgress stringr]; };
   generalCorr = derive2 { name="generalCorr"; version="1.2.2"; sha256="1ncr3s5mpd8f2a1ijzmns380fj05xicnjmwlgfzabnrmhzh2pxcd"; depends=[lattice meboot np psych xtable]; };
   generalhoslem = derive2 { name="generalhoslem"; version="1.3.4"; sha256="0fmfhmdb16gf3v9h50vif4f3f6bm03qq7wplnmzyxa80jb60fcc0"; depends=[MASS reshape]; };
   generator = derive2 { name="generator"; version="0.1.0"; sha256="0xjvnmnpdms8rrxxcz6pd8w4rnbv3ghzqv4m63zxia2l98x7z4rf"; depends=[]; };
-  generics = derive2 { name="generics"; version="0.1.1"; sha256="04hrn6g5m5vi3znrcha3jw2q16lnmm3ygx2jl5aqiahg3azqwix2"; depends=[]; };
+  generics = derive2 { name="generics"; version="0.1.2"; sha256="162q9hdsnfcwjj255ahbi6v9vnyynvda7gb75p721y28j5xb7sk3"; depends=[]; };
   genero = derive2 { name="genero"; version="0.1.0"; sha256="0akwwy5xbh7s40v8dr1zr7jfglv0iyh4zn0sb0rnz4r57qr6nh8w"; depends=[]; };
   genesysr = derive2 { name="genesysr"; version="1.0.0"; sha256="05jp8z7313r5wi9a5yw7fh198l7nd2ywzwg4f23yp4kfrkkgawn5"; depends=[dplyr httr jsonlite]; };
-  geneticae = derive2 { name="geneticae"; version="0.2.0"; sha256="1rjl5jwx1a0kkbv0bncyhj7d4r8i70wbvf8czf2hl17q3iwfdwyd"; depends=[bcv calibrate dplyr GGEBiplots ggforce ggplot2 MASS matrixStats missMDA pcaMethods prettydoc reshape2 rrcov scales tidyr]; };
   genetics = derive2 { name="genetics"; version="1.3.8.1.3"; sha256="0lljxvz7nc6y2z303icphar2niir0i407w5cyhy2pwspd9gwkwpy"; depends=[combinat gdata gtools MASS mvtnorm]; };
   genie = derive2 { name="genie"; version="1.0.5"; sha256="07w6rf4a3d34j7dwz9zcxshg2sk1cd5v59xs3jxph17c9gga0nlq"; depends=[genieclust Rcpp]; };
   genieclust = derive2 { name="genieclust"; version="1.0.0"; sha256="1gbbblr5yv686llych5cj9jc8vc57y53qknzld5z51za9aw6azn3"; depends=[Rcpp]; };
@@ -9824,7 +9923,6 @@ in with self; {
   geoR = derive2 { name="geoR"; version="1.8-1"; sha256="1lvgkpvv4a05lsb1dgphpv733lxbpcj7p2bj1yjjbfch8n04f1lr"; depends=[MASS RandomFields sp splancs]; };
   geoSAE = derive2 { name="geoSAE"; version="0.1.0"; sha256="16fkai95cqwxkylpk1gddyzja80036ghfb4ps3rz1vbbqzhg01x8"; depends=[MASS nlme]; };
   geoTS = derive2 { name="geoTS"; version="0.1.3"; sha256="12v50r2ym3nb21sskq7h4xsk6nzci06l9iync2ny91iwl7c9nrjc"; depends=[doParallel ff foreach iterators raster sp]; };
-  geobr = derive2 { name="geobr"; version="1.6.5"; sha256="08kl0215q524dq5scx2cm11a7m65xh0wzryl71grrlbqm5000pjj"; depends=[curl data_table httr sf]; };
   geocacheR = derive2 { name="geocacheR"; version="0.1.0"; sha256="04ckxmird6n179xvsx50cjdz046igjxxqdnz5pfxi8pdklnky20c"; depends=[dplyr magrittr stringr threewords tibble]; };
   geocmeans = derive2 { name="geocmeans"; version="0.2.0"; sha256="1m1wvhrqpr0sav0v3qpj8kymdr52gfcjv18hshd4kaj309qpq8yl"; depends=[dplyr fclust fmsb future_apply ggplot2 leaflet matrixStats plotly progressr raster Rcpp RcppArmadillo Rdpack reldist reshape2 rgdal rgeos shiny sp spdep]; };
   geodaData = derive2 { name="geodaData"; version="0.1.0"; sha256="003m5wff0q4fdlg64qispmhj2aw83isxg3ijxwkwhvi33bpwpq4z"; depends=[]; };
@@ -9838,7 +9936,7 @@ in with self; {
   geofabrik = derive2 { name="geofabrik"; version="0.1.0"; sha256="0k92gmivccw3kbgkb9bjw7pxc4zc3zdj35x0cbzmjq0k3qxq8ad0"; depends=[]; };
   geofacet = derive2 { name="geofacet"; version="0.2.0"; sha256="1aylx2hwqk75y73az1zf0s5mjww77d7i9kafbkzw383f0i5qx42w"; depends=[geogrid ggplot2 ggrepel gridExtra gtable imguR rnaturalearth sf sp]; };
   geofd = derive2 { name="geofd"; version="2.0"; sha256="1rsgy4nxfp1gi4vwh8zfzksr6sr2ga31kmd56q5m56gw530570ra"; depends=[fda]; };
-  geofi = derive2 { name="geofi"; version="1.0.5"; sha256="06d0nr42gdb5lm3kcrx2jacdpl26m1wrqsvc85w87ff7rxgp145s"; depends=[curl dplyr httpcache httr purrr rlang sf xml2 yaml]; };
+  geofi = derive2 { name="geofi"; version="1.0.6"; sha256="1pqaf6wx0iicwjalm00gq83nrq1bzzbj7qawjs8xsb3wz7406wgf"; depends=[curl dplyr httpcache httr purrr rlang sf xml2 yaml]; };
   geogrid = derive2 { name="geogrid"; version="0.1.1"; sha256="0b8afwgj9x56z6zh525y7qkiwbv77mjcw3v19kfba0426jn4vi87"; depends=[Rcpp RcppArmadillo rgeos sf sp]; };
   geohashTools = derive2 { name="geohashTools"; version="0.3.1"; sha256="0ks6ga1vsp5z7sy0xcq9nacffmfsx6yqdlnhqflsb8zb9qbygazf"; depends=[]; };
   geojson = derive2 { name="geojson"; version="0.3.4"; sha256="0fvlw06hjb7z0mfsf8vhv1dchdjlvklyzjqlaydjzbwb1kvbhpq7"; depends=[jqr jsonlite lazyeval magrittr protolite sp]; };
@@ -9851,13 +9949,14 @@ in with self; {
   geomapdata = derive2 { name="geomapdata"; version="1.0-4"; sha256="1g89msnav87kim32xxbayqcx1v4439x4fsmc8xhlvq4jwlhd5xxw"; depends=[]; };
   geomedb = derive2 { name="geomedb"; version="2.0.1"; sha256="1l35c9x1mhqd7z5ragd7w3ay8v2fdnbmbfx9grwi622j8yz1fbmq"; depends=[ape httr jsonlite]; };
   geomerge = derive2 { name="geomerge"; version="0.3.2"; sha256="1i6n88k8icwihr9w7ipjb50f68zad602dipb3hd887y4kyf14wni"; depends=[geosphere ggplot2 gridExtra inlmisc lubridate raster scales sp spdep]; };
-  geometa = derive2 { name="geometa"; version="0.6-5"; sha256="0iyn0zjb73i5cpj0xzhpxd90g72mqzrz09cdcklilpdhsbl32x9a"; depends=[httr jsonlite R6 XML]; };
+  geometa = derive2 { name="geometa"; version="0.6-6"; sha256="08029c5gk0rjv1kxqrcw2s6ggh2ql465a92amr474i8cnlgaaqqx"; depends=[httr jsonlite keyring R6 XML]; };
   geometr = derive2 { name="geometr"; version="0.2.10"; sha256="00yhw6k9wj3q0mmhwrjvhybsz5fcx86ms5n1q2l492jljplp46cr"; depends=[checkmate crayon deldir dplyr purrr raster Rcpp rgdal rlang sf sp tibble]; };
   geometries = derive2 { name="geometries"; version="0.2.0"; sha256="05036q4dccmmd955g4n2s5ncc9zxd9v9qyamszszwn147i7hkxcc"; depends=[Rcpp]; };
   geometry = derive2 { name="geometry"; version="0.4.5"; sha256="1n10l8ax3783v3lgaacb15qsn8b3f0wpmhg3k39j31s6ciyd3vcg"; depends=[linprog lpSolve magic Rcpp RcppProgress]; };
   geomorph = derive2 { name="geomorph"; version="4.0.1"; sha256="05qiqyrc0vn1hi8g4hfs6hcysar3yqkw9r6hr3fg5f6qdnlznm4x"; depends=[ape ggplot2 jpeg Matrix rgl RRPP]; };
+  geomtextpath = derive2 { name="geomtextpath"; version="0.1.0"; sha256="19hxqwzz3vli7f5631njz142ca01b4zfs72g4wwpswm5vkpkizdx"; depends=[ggplot2 rlang scales systemfonts textshaping]; };
   geonames = derive2 { name="geonames"; version="0.999"; sha256="0yz1b7y3vwa4izrhpry4n3iwzb7y67s5p3kgnd7d29cl5pcbpmqx"; depends=[rjson]; };
-  geonapi = derive2 { name="geonapi"; version="0.5"; sha256="10pj56bwwd8bfwwfyvijdk4xr0pgbz4sdkis3d6zr56lay91x7fv"; depends=[geometa httr keyring openssl R6 XML]; };
+  geonapi = derive2 { name="geonapi"; version="0.5-2"; sha256="0zf4g1k439a14sq9pvajpsbvvasy1bqa4cpbqs9mzzlzbwpbjm8y"; depends=[geometa httr keyring openssl R6 XML]; };
   geonet = derive2 { name="geonet"; version="0.6.0"; sha256="0zav0r4q8i8mxwnr3a7j2ldprfb979pmcx76ssks4p6cfqp0syj4"; depends=[dplyr ggplot2 igraph Matrix mgcv spatstat_core spatstat_geom spatstat_linnet]; };
   geonetwork = derive2 { name="geonetwork"; version="0.4.1"; sha256="04vf39hxl1a2kbgqc054xg9w6hbd3fwag6sy0j8a9agrd5wgks7h"; depends=[geosphere igraph rgdal sf sp]; };
   geophys = derive2 { name="geophys"; version="1.4-1"; sha256="1s64sbr0chv0z2vaw059khfkv8iga1kr6428kkglgafq5x2d6h3q"; depends=[cluster GEOmap RFOC RPMG RSEIS]; };
@@ -9886,14 +9985,14 @@ in with self; {
   gesca = derive2 { name="gesca"; version="1.0.4"; sha256="1ndn8wgp22pr017x6v7jw8jy4gd06x8110qa860hw8i6pn47wfwv"; depends=[]; };
   gesisdata = derive2 { name="gesisdata"; version="0.1.0"; sha256="02xjpw41gm3778lj01kcwjx0lr1i95a0wlrfvs0r5xlajq13jr67"; depends=[dplyr magrittr rio RSelenium stringr]; };
   gesso = derive2 { name="gesso"; version="1.0.2"; sha256="0i7a927mbll8mlisxb0ic62fvq1wp5v0m69n7zkhcjabkxr7gbn3"; depends=[BH bigmemory dplyr Matrix Rcpp RcppEigen RcppThread]; };
-  gestalt = derive2 { name="gestalt"; version="0.1.8"; sha256="1cb04rd3yvkd47byynrn0pq6brlsi2z2iavh4gfrwmqyvks34k51"; depends=[rlang]; };
+  gestalt = derive2 { name="gestalt"; version="0.1.9"; sha256="1sqaf9m32r71icbsp26jx95p89nzfw4iapl68priqqjy4jqqaxpm"; depends=[rlang]; };
   gestate = derive2 { name="gestate"; version="1.5.0"; sha256="028ij0yyqrwaf5c1a7qkgl0r0m9n98vn182brx923mfxr9gji6pn"; depends=[doParallel foreach shiny shinythemes survival]; };
   gesttools = derive2 { name="gesttools"; version="1.3.0"; sha256="1lrjr60vrl0j31hb12i8c78k5554vwpgj8pzzrhbdhmb6y0972fx"; depends=[DataCombine geeM magrittr nnet rsample testthat tibble tidyr tidyselect]; };
   getDTeval = derive2 { name="getDTeval"; version="0.0.2"; sha256="16y24jhy9k1adlmf6yqzc8kla2vw7r0c6zd52jpfkiljxwkm4634"; depends=[data_table formulaic microbenchmark]; };
   getLattes = derive2 { name="getLattes"; version="0.2.0"; sha256="1rrd9x9jmnsy0770c86lqws4a6b2zxf3384h1dcvzrmlk20hhqxw"; depends=[dplyr janitor pipeR purrr rlang tibble xml2]; };
   getMet = derive2 { name="getMet"; version="0.3.2"; sha256="0j1h1vy8rd7czpnb4msdb9k560pnh7kjkmpqqwzwin2ms1c0mggb"; depends=[EcoHydRology jsonlite]; };
   getPass = derive2 { name="getPass"; version="0.2-2"; sha256="03ydafhh0sk3rcnpr3paajyji64x2ddp6p814p9mvbmyrblcgzcc"; depends=[rstudioapi]; };
-  getProxy = derive2 { name="getProxy"; version="1.12"; sha256="0qcxihgwy3h2b98z2hwjszwqbz117d89xjys7fy0f8m9hv7rf6ph"; depends=[bitops data_table dplyr httr jsonlite RCurl]; };
+  getProxy = derive2 { name="getProxy"; version="1.13"; sha256="0n8ja0i1v0cd2piqyx4hfc4qw18d535j3ffpz164c3r8cmppnqzd"; depends=[cli httr]; };
   getable = derive2 { name="getable"; version="1.0.3"; sha256="0v45nqpx55vbj68gj4wxr0bdlrl897ayac78rxjd2lkkjx49hlyh"; depends=[knitr]; };
   gethr = derive2 { name="gethr"; version="0.1.0"; sha256="0kpi9b9yg2nh332zkml24pmj6vgjfh8mrfjjg5a636s2rg98g5g7"; depends=[httr jsonlite]; };
   getip = derive2 { name="getip"; version="0.1-0"; sha256="0l7692ddgidy3jyg7mw5nnh0agkyj7pf8v8clcinzs2y3q5qic6f"; depends=[]; };
@@ -9905,9 +10004,9 @@ in with self; {
   gettz = derive2 { name="gettz"; version="0.0.4"; sha256="1j83pdny3phfflkdjwiflyfvighn73pysw5bac4hx079dda8k25g"; depends=[]; };
   gexp = derive2 { name="gexp"; version="1.0-1"; sha256="1i3sarsawax1landjbm8gxrcrimwzdgrbybzipqwxdrmlgvxslqk"; depends=[jpeg mvtnorm png]; };
   geysertimes = derive2 { name="geysertimes"; version="0.1.9"; sha256="08d04znd1h4s5vdp5981bzz4rb48lnx2nwwnvcqk84rl6zmc0l97"; depends=[jsonlite lubridate readr]; };
-  gfboost = derive2 { name="gfboost"; version="0.1.0"; sha256="07rdgf2i908ihqzq0gjp414gwvikbxfyj6j4nvz8l4krs32avl87"; depends=[mboost mvtnorm pcaPP]; };
+  gfboost = derive2 { name="gfboost"; version="0.1.1"; sha256="1flvvqm9rk156nqnd0qwpagjl7kp2r4mkxpmp1i4zdnnyp2cydwk"; depends=[mboost mvtnorm pcaPP]; };
   gfcanalysis = derive2 { name="gfcanalysis"; version="1.6.0"; sha256="0w0r4w570dp7n5ixm7qv3x1pw478dghqbyfvfxfi99f5453jdma1"; depends=[animation geosphere ggplot2 plyr raster rasterVis RCurl rgdal rgeos sp stringr]; };
-  gfer = derive2 { name="gfer"; version="0.1.11"; sha256="08lchdynxv5pxbvk9jqblc515c9fx64mmprvpwwgznczyvhm89j8"; depends=[circlize data_table ggplot2 ggrepel googlesheets gsheet httr jsonlite rvest scatterpie stringi tidyr V8 xml2]; };
+  gfer = derive2 { name="gfer"; version="0.1.12"; sha256="19iarppqaz05352f3ng01yi7na9p612nxwwwagm2nxy1gxrjz5rh"; depends=[circlize data_table ggplot2 ggrepel googlesheets4 gsheet httr jsonlite rvest scatterpie stringi tidyr V8 xml2]; };
   gfiExtremes = derive2 { name="gfiExtremes"; version="1.0.0"; sha256="1ys7vrd5kpyqj42m384r2b91w53rlx6hcznpb0a0mnniqj4wc61r"; depends=[BH coda doParallel foreach Rcpp RcppArmadillo]; };
   gfiUltra = derive2 { name="gfiUltra"; version="1.0.0"; sha256="1n6sp7h0ys92mqixznrs2j8kmban3mx8swrwdpxgxc6vxycky8d8"; depends=[lazyeval mvtnorm SIS]; };
   gfilmm = derive2 { name="gfilmm"; version="2.0.4"; sha256="16lcjknamq4zm9aqj36ag1ykg635syl54amfxp04xhanqas505bf"; depends=[forcats lazyeval Matrix Rcpp RcppEigen rgr spatstat spatstat_geom]; };
@@ -9919,15 +10018,18 @@ in with self; {
   ggBubbles = derive2 { name="ggBubbles"; version="0.1.4"; sha256="116rl8j0s9xwhh9jl5yj9fspkhv2zrirbx9247hhns9ngrdn4i3x"; depends=[dplyr ggplot2]; };
   ggChernoff = derive2 { name="ggChernoff"; version="0.2.0"; sha256="09bh9isvx3hwwvg72fv6z3fvp8dimpbhvbp328z8amq8jjhph4vf"; depends=[ggplot2 scales]; };
   ggDCA = derive2 { name="ggDCA"; version="1.1"; sha256="0jpg7n6nk2jgq668ff0l9zk26zk39abc74f6w5x8gf4zsb8y0zp9"; depends=[base_rms do ggplot2 rms set survival]; };
+  ggESDA = derive2 { name="ggESDA"; version="0.1.0"; sha256="0j2ix9abzsxdmjklg44ajz69hlhpg9a31rjqrwymrlkdgdswpzvk"; depends=[dplyr ggforce ggplot2 ggpubr ggthemes gridExtra gtools magrittr prodlim R6 rlang RSDA stringr tibble tidyr tidyverse]; };
   ggExtra = derive2 { name="ggExtra"; version="0.9"; sha256="18mbi6gblqmrsciad1d2c9ngllk6mayaqj43k40hjq9ydqnvjbgj"; depends=[colourpicker ggplot2 gtable miniUI R6 scales shiny shinyjs]; };
   ggHoriPlot = derive2 { name="ggHoriPlot"; version="1.0.0"; sha256="198l1jzs2wybg8ixq8aacrs3b7g2hpxbi7gajr2z5hyiv7317lrq"; depends=[dplyr ggplot2 glue magrittr stringr tidyr]; };
-  ggPMX = derive2 { name="ggPMX"; version="1.2.4"; sha256="1jf1yn4l3mp79njqsjx2axzc26nxbi07m9pk1zwnyf0im3j65k0h"; depends=[assertthat checkmate data_table dplyr GGally ggplot2 gtable knitr magrittr purrr R6 readr rlang rmarkdown scales stringr tibble tidyr yaml zoo]; };
+  ggOceanMaps = derive2 { name="ggOceanMaps"; version="1.2.6"; sha256="1ac3n5fw00w2ganfbzgpinwpzp51qqdw8hv691qmivwxxgkzj2zp"; depends=[dplyr ggplot2 ggspatial raster rgeos sf smoothr sp stars units]; };
+  ggPMX = derive2 { name="ggPMX"; version="1.2.6"; sha256="191i2pa41441bdqb3j1hykvh0fqawrsydnpqbzx8z6f71461dzsw"; depends=[assertthat checkmate data_table dplyr GGally ggplot2 gtable knitr magrittr purrr R6 readr rlang rmarkdown scales stringr tibble tidyr yaml zoo]; };
   ggQC = derive2 { name="ggQC"; version="0.0.31"; sha256="1j9cs97hcj5zmqvn5rjr3gl0b9748s3pv2nb7v66dsyjdwvj7wyy"; depends=[dplyr ggplot2 tidyr]; };
   ggQQunif = derive2 { name="ggQQunif"; version="0.1.5"; sha256="0vrxmqxy946mwdq0mb2m1ch41r0chrw7hcn18dr3mp10bv7pl7wj"; depends=[dplyr ggplot2 scales]; };
   ggROC = derive2 { name="ggROC"; version="1.0"; sha256="0p9gdy7ia59d5m84z9flz5b03ri7nbigb3fav2v2wrml300d24vn"; depends=[ggplot2]; };
   ggRandomForests = derive2 { name="ggRandomForests"; version="2.0.1"; sha256="0f8m0j79d8wbac14zk1s8812rz6vgf04bz1iqq8p4d3sxwnvaj7q"; depends=[ggplot2 randomForest randomForestSRC survival tidyr]; };
   ggResidpanel = derive2 { name="ggResidpanel"; version="0.3.0"; sha256="1vsjw229pd36100ix1sgfmk5lb9b0fx3l6pxg1irsfhm2ypbg1ig"; depends=[cowplot ggplot2 MASS plotly qqplotr stringr]; };
   ggThemeAssist = derive2 { name="ggThemeAssist"; version="0.1.5"; sha256="1biw91a8p13h62v4w3yim6ghr98khmyhb3qd0h04asf91vvmpxbv"; depends=[formatR ggplot2 miniUI rstudioapi shiny]; };
+  ggTimeSeries = derive2 { name="ggTimeSeries"; version="1.0.2"; sha256="0sd39svwi3ai81szahd49a8qvsydi1922z4q6r2r70fpbfwi4qrq"; depends=[data_table ggplot2]; };
   ggVennDiagram = derive2 { name="ggVennDiagram"; version="1.2.0"; sha256="1mjs488npnxd53nsw936iw2vzv7z38h8d02pm4lwrz4i83jg3www"; depends=[dplyr ggplot2 magrittr plotly purrr RVenn sf stringr tibble]; };
   ggalignment = derive2 { name="ggalignment"; version="1.0.0"; sha256="07f1l7pav36i2z75bvwcwkamw5i36fh5klh5djglxnq1a3v8jm79"; depends=[dplyr ggimage ggplot2 magrittr rlang]; };
   ggallin = derive2 { name="ggallin"; version="0.1.1"; sha256="0hrxa7m07ppvnndivxcgxksdyblb6fw17aw46maqavlvcrz3fjgm"; depends=[ggplot2 scales]; };
@@ -9938,7 +10040,7 @@ in with self; {
   ggasym = derive2 { name="ggasym"; version="0.1.6"; sha256="1vgsqq2m4w5clmf27mmj6jqn2s8m1izz3gj2bxqpmdcvzf5vxkgr"; depends=[dplyr ggplot2 magrittr purrr rlang scales stringr tibble tidyr]; };
   ggbeeswarm = derive2 { name="ggbeeswarm"; version="0.6.0"; sha256="0crk29p5vi1r3a988kms4y7r0iqwgwzsikgvh18r9wbzyr98bb5v"; depends=[beeswarm ggplot2 vipor]; };
   ggborderline = derive2 { name="ggborderline"; version="0.1.0"; sha256="02m7g0fmayp0zscj3x167n96cj6kn62a8nw67d42k6p74bard2sy"; depends=[ggplot2 scales]; };
-  ggbreak = derive2 { name="ggbreak"; version="0.0.7"; sha256="14cs0fni67gidkkaflqvckgqbi4hjwxpzwyv6p8h2dxy8n5m6x92"; depends=[aplot ggfun ggplot2 ggplotify rlang]; };
+  ggbreak = derive2 { name="ggbreak"; version="0.0.9"; sha256="1m93dwdhbibvmhzdk06z9kxdsv435rrs3g2m6lji5pajmf6qf72s"; depends=[aplot ggfun ggplot2 ggplotify rlang]; };
   ggbuildr = derive2 { name="ggbuildr"; version="0.1.0"; sha256="0pld635v6fv46ky7s4icwxlcnr7z6bp5ikf20adpkljwhy0wwxak"; depends=[ggplot2 purrr readr]; };
   ggbump = derive2 { name="ggbump"; version="0.1.0"; sha256="15cnzv2q3gylkmd1zj044cp14ldnkc4fzwmxaqpc8cagwf9i10zk"; depends=[dplyr ggplot2 purrr tidyr]; };
   ggcharts = derive2 { name="ggcharts"; version="0.2.1"; sha256="1c0gdn8skkm82f3qxv9551l36zwqcga9b9sbc48q8hp71ay4ac6b"; depends=[colorspace dplyr ggplot2 lifecycle magrittr patchwork rlang]; };
@@ -9964,16 +10066,17 @@ in with self; {
   ggforce = derive2 { name="ggforce"; version="0.3.3"; sha256="0bwzjbjl678xvc2ihm80dwn9pidwafqjdab3k299csys16s3na1a"; depends=[ggplot2 gtable MASS polyclip Rcpp RcppEigen rlang scales tidyselect tweenr withr]; };
   ggformula = derive2 { name="ggformula"; version="0.10.1"; sha256="1ph5jd8svk8hmshi894vmmpq3zwgdmf4yn3gmdlkad68z8jynhsp"; depends=[ggforce ggplot2 ggridges ggstance labelled magrittr mosaicCore rlang scales stringr tibble]; };
   ggfortify = derive2 { name="ggfortify"; version="0.4.14"; sha256="038m74azpy43869ax1yi6wxbl1kr59iaxl8raiikjg749vcx6njw"; depends=[dplyr ggplot2 gridExtra scales stringr tibble tidyr]; };
-  ggfun = derive2 { name="ggfun"; version="0.0.4"; sha256="07njcjcj212zxanq8x3nkh7mgvqmym08rx5s41rz9flhk9gkc9jr"; depends=[ggplot2 rlang]; };
+  ggfun = derive2 { name="ggfun"; version="0.0.5"; sha256="10spayf5jzmizhs6aassjplrjr9mr6bcww30pyxzyb1djfl41qxi"; depends=[ggplot2 rlang]; };
   ggfx = derive2 { name="ggfx"; version="1.0.0"; sha256="1q9ppp88yj6lplj7wxnf18aa7a8f5iz35765bdfhsrkdxlrkny7h"; depends=[ggplot2 gtable magick ragg rlang]; };
   gggap = derive2 { name="gggap"; version="1.0.1"; sha256="1iidxm7qcrg0isw2q27cmjbfb3pkfj5jcg1nj8lgy6xmydw3vrw3"; depends=[cowplot ggplot2]; };
   gggenes = derive2 { name="gggenes"; version="0.4.1"; sha256="1s4knz2g06w46jbi037l9ii0kkxvl7gnljp54s4z36hnswsrv8jk"; depends=[ggfittext ggplot2 rlang]; };
   ggghost = derive2 { name="ggghost"; version="0.2.1"; sha256="0kvsjadxxdf6yvzk4a6yqkg02q1ysslvf3m0a369bdim396z4hnv"; depends=[animation ggplot2]; };
   gggibbous = derive2 { name="gggibbous"; version="0.1.1"; sha256="1sy9d9hl04b13yz4563bzsdznjdh3xmikdrsqg8kdv8wn481lqbd"; depends=[ggplot2 scales]; };
-  gggrid = derive2 { name="gggrid"; version="0.1-1"; sha256="0s377jh3lma9la6qml6hc1w3bxlzdmy8fz749s27n3ygpy2krg21"; depends=[ggplot2]; };
+  gggrid = derive2 { name="gggrid"; version="0.2-0"; sha256="0g8msi5qpnr2npcgjvdjncrq6p61ddpzasy5g0fxqbybbpfxsyi8"; depends=[ggplot2]; };
   ggh4x = derive2 { name="ggh4x"; version="0.2.1"; sha256="1r49yfm5fqv5s7jb92ad6rf8hd9plcry6f500czjhnhhrp16cqfp"; depends=[ggplot2 gtable rlang scales vctrs]; };
   gghalfnorm = derive2 { name="gghalfnorm"; version="1.1.2"; sha256="1sy0m6pqmnjbqv60rljyblhis0dxwkhw751jhlad5arcgrcwf4k8"; depends=[ggplot2 ggrepel]; };
   gghalves = derive2 { name="gghalves"; version="0.1.1"; sha256="1w4j8grir1i8ar7fdsk4f6czkl5j2wwn67y746mis2diwnzhcil3"; depends=[ggplot2 gtable]; };
+  gghdr = derive2 { name="gghdr"; version="0.1.0"; sha256="112bvbcsvhmwqnjs3ijs3i4ilhkbc1fwzy4h6x4fbc49bam492cj"; depends=[digest farver ggplot2 hdrcde scales tibble]; };
   ggheatmap = derive2 { name="ggheatmap"; version="2.1"; sha256="1dks2fmkaaws5v7mgcw6rbvb5nfr7c9mmg0pqwywwx7rxj3gm05q"; depends=[aplot factoextra ggplot2 ggpubr patchwork tibble tidyr]; };
   gghighlight = derive2 { name="gghighlight"; version="0.3.2"; sha256="0bxgn4srxz1qhawqa8ck57p8hg5ikwfa9ll03zmnn8fb19akwm2v"; depends=[dplyr ggplot2 ggrepel lifecycle purrr rlang tibble]; };
   gghilbertstrings = derive2 { name="gghilbertstrings"; version="0.3.3"; sha256="0b3xp1w6fkkmjh7gihhfkp4npx553a75bvsal3w4j57xa34l8rap"; depends=[dplyr ggplot2 lifecycle magrittr Rcpp rlang tibble]; };
@@ -9992,7 +10095,7 @@ in with self; {
   gglorenz = derive2 { name="gglorenz"; version="0.0.2"; sha256="1kag8p2chd0sbn8affpxzi4aawpm71ls97dwdgx7mxxfwkdb2q0y"; depends=[ggplot2 ineq]; };
   ggm = derive2 { name="ggm"; version="2.5"; sha256="11wc6k2kj2ydy0dyks5mbvbhxm1r43id87anl1jg6dn0yv4m78di"; depends=[graph igraph]; };
   ggmap = derive2 { name="ggmap"; version="3.0.0"; sha256="13dmzl6z62pzjiffilarkji46vy0sacxa8a7mhrhc3biq3ylzhln"; depends=[bitops digest dplyr ggplot2 glue httr jpeg magrittr plyr png purrr RgoogleMaps rjson scales stringr tibble tidyr]; };
-  ggmatplot = derive2 { name="ggmatplot"; version="0.1.0"; sha256="06wgbpbgx7wnbi1l8p7avn0mqg6nvl9h4ba0xy077rnjzybfdn46"; depends=[ggplot2]; };
+  ggmatplot = derive2 { name="ggmatplot"; version="0.1.1"; sha256="07di071iv2zab8w5l60llb05h9lbrmaam65z5wiy0g27swvnv6i1"; depends=[ggplot2]; };
   ggmcmc = derive2 { name="ggmcmc"; version="1.5.1.1"; sha256="1y6ya2qihm8h6ds84akhmsxn9c8jriw03wakaqzsmi21agz87n21"; depends=[dplyr GGally ggplot2 tidyr]; };
   ggmix = derive2 { name="ggmix"; version="0.0.2"; sha256="158pzmr4vmy2qxmp3nrabjgkg11mrdvl1skzxgwida2is900f7gf"; depends=[glmnet MASS Matrix]; };
   ggmosaic = derive2 { name="ggmosaic"; version="0.3.3"; sha256="1zm1zfbd0qk6icw65m9hz1hgyqj632ibq3qilidvx5jy7jh8nbpy"; depends=[dplyr ggplot2 ggrepel plotly productplots purrr rlang scales tidyr]; };
@@ -10053,7 +10156,7 @@ in with self; {
   ggspectra = derive2 { name="ggspectra"; version="0.3.7"; sha256="0xd8g2m73qa5bd4wk1a81ayy48agqm4h9nadafs3qrcg8wszk8nm"; depends=[dplyr ggplot2 ggrepel lubridate photobiology photobiologyWavebands scales tibble tidyr]; };
   ggstance = derive2 { name="ggstance"; version="0.3.5"; sha256="0jz9vvnmcc6a38n8nzr458r65sna23bgn5r8mxdhzdlyqibihr7d"; depends=[ggplot2 plyr rlang withr]; };
   ggstar = derive2 { name="ggstar"; version="1.0.3"; sha256="0d96qsx0id82isaz62plkxwc8a6zcs19s1asyx316ciq9a325pr3"; depends=[ggplot2 gridExtra scales]; };
-  ggstatsplot = derive2 { name="ggstatsplot"; version="0.9.0"; sha256="12ybhfz50gjnjsi63x36pz2ynvhcf29xdpx08imb88y1ibq8qk1c"; depends=[correlation datawizard dplyr ggplot2 ggrepel ggsignif insight paletteer parameters patchwork performance PMCMRplus purrr rlang statsExpressions tidyr WRS2]; };
+  ggstatsplot = derive2 { name="ggstatsplot"; version="0.9.1"; sha256="1x2g7zb2lm0jyv5qncr4bv84yhc00n6c3nxvyskv22fh3yljxm26"; depends=[correlation dplyr ggplot2 ggrepel ggsignif glue insight paletteer parameters patchwork performance purrr rlang statsExpressions tidyr WRS2]; };
   ggstream = derive2 { name="ggstream"; version="0.1.0"; sha256="0d6g5916mfrg2srcqjhlpm4acp4g16vq9ks4x37yzkpr34vi5x7j"; depends=[dplyr forcats ggplot2 magrittr purrr tidyr]; };
   ggstudent = derive2 { name="ggstudent"; version="0.1.1-1"; sha256="0qs27b4lksaaaspavkycbzf8cfjxjli7xrfjby71sl0lca3fwm1g"; depends=[dplyr ggplot2]; };
   ggswissmaps = derive2 { name="ggswissmaps"; version="0.1.1"; sha256="0is48x6k2p5dgj9q4km0dv33a9pcpfhlai9vz295y3acpyrkmnn4"; depends=[ggplot2]; };
@@ -10070,6 +10173,7 @@ in with self; {
   ggwordcloud = derive2 { name="ggwordcloud"; version="0.5.0"; sha256="0mr92738s3j9wm6mkr5hd2flqsqw3vfjifv3fajsygysbwrl8dn8"; depends=[colorspace ggplot2 png Rcpp scales]; };
   ggx = derive2 { name="ggx"; version="0.1.1"; sha256="13yvckny2b7b7rhgi28xm8379paskin78wm5095s1ily9a2dxgkg"; depends=[ggplot2 sets]; };
   gh = derive2 { name="gh"; version="1.3.0"; sha256="077drbxz3rx7idv6w24ipj1p6jnzv86a3iyryab699cc9q2kjh54"; depends=[cli gitcreds httr ini jsonlite]; };
+  ghclass = derive2 { name="ghclass"; version="0.2.1"; sha256="0jpfc2mjwi6i3bcrfjjl6k4im4m110pq2n00mij2n9czz6v2chla"; depends=[base64enc cli dplyr fs gh glue httr lubridate purrr rlang tibble whisker withr]; };
   ghcm = derive2 { name="ghcm"; version="2.0.0"; sha256="0c09galykcn4nsbkvgh0i5mk8jxwi1vddqq4my2q3ybjipcv23if"; depends=[CompQuadForm MASS refund]; };
   ghee = derive2 { name="ghee"; version="0.1.0"; sha256="0b3czx2ibi5p8xl7i36zxnab032vrkh5bv204r7wgg1xpx8pdlra"; depends=[gh jsonlite]; };
   ghibli = derive2 { name="ghibli"; version="0.3.2"; sha256="0762dy3x7w0q1swag2lh33cpqdr9bbqw0963ymdpnchawdh5m50z"; depends=[prismatic]; };
@@ -10093,19 +10197,19 @@ in with self; {
   git2r = derive2 { name="git2r"; version="0.29.0"; sha256="13nlrhma6kavvhranb43w3003vadfkyrn2f4l3r63iqavj0s3xzq"; depends=[]; };
   git2rdata = derive2 { name="git2rdata"; version="0.3.1"; sha256="0nvx6lfp66l44n3xwkj5biirrzwvl52dssfx8jysqjl1kgfrwwh3"; depends=[assertthat git2r yaml]; };
   gitcreds = derive2 { name="gitcreds"; version="0.1.1"; sha256="1snzn7nxy0rwz0bzjsg6k04c0n811dgn8gn9cmn2v78aj57ayjmi"; depends=[]; };
-  gitdown = derive2 { name="gitdown"; version="0.1.3"; sha256="0sspwbymzalf4fh180cpjv8mymh8j8v7absnc6mrix2bd89jymsd"; depends=[attempt bookdown dplyr git2r knitr magrittr purrr rmarkdown stringi tidyr]; };
+  gitdown = derive2 { name="gitdown"; version="0.1.5"; sha256="0qmrjfh0a3n39yjhz2nfl6n19d1kzvaci7p0z3x3l1w7d1isrln1"; depends=[attempt bookdown dplyr git2r knitr magrittr purrr rmarkdown stringi tidyr]; };
   gitear = derive2 { name="gitear"; version="1.0.0"; sha256="139h19yyi7bpkps2vskdnga43ggpgb9fg8jdr7n8vgadxjamv98p"; depends=[dplyr httr jsonlite magrittr mockery Rcpp stringr tibble tidyr]; };
   gitgadget = derive2 { name="gitgadget"; version="0.6.6"; sha256="1c8404mqcl5cp5wxm2mszry7a29da96hd5ng3f2ynbfvxis709km"; depends=[callr curl dplyr jsonlite markdown miniUI rstudioapi shiny shinyFiles usethis]; };
   githubinstall = derive2 { name="githubinstall"; version="0.2.2"; sha256="0hqh86r2007hzdbm8rr0fwqhhsna7ji8sdgmdnrxkxraa5f2pfz3"; depends=[curl data_table devtools httr jsonlite mockery]; };
   gitignore = derive2 { name="gitignore"; version="0.1.5"; sha256="1jph54ah4ajb5xakbpnbmp44ddqz5np7c60441vhfn7nxa5b9cpx"; depends=[clipr clisymbols crayon curl glue here jsonlite purrr xfun]; };
   gitlabr = derive2 { name="gitlabr"; version="2.0.0"; sha256="0snd1pscv09wn3vjvfbvf87dcd43i25m2x3ra8vw37c2zd8hj500"; depends=[arpr base64enc dplyr httr magrittr purrr shiny stringr tibble]; };
   gitlink = derive2 { name="gitlink"; version="0.1.3"; sha256="1g34cyx35wlpq42alsayk69x708zxqgvbdndb7j6n1q0rm4vncvd"; depends=[htmltools rlang]; };
+  gittargets = derive2 { name="gittargets"; version="0.0.1"; sha256="02j5dlyxbzs5cf3240a77zc27ir2b9fp6f264fkfvm8f7cwm3z3y"; depends=[cli data_table gert processx targets tibble uuid]; };
   givitiR = derive2 { name="givitiR"; version="1.3"; sha256="0y2slhxhj7k413kjaydin9hq3x2xgx4cgjshdplwnmg3x2nakn31"; depends=[alabama rootSolve]; };
-  gjam = derive2 { name="gjam"; version="2.5"; sha256="03nijxddj67bd47qiccklls94fygx1s80pqxwxbf96xks08982za"; depends=[MASS RANN Rcpp RcppArmadillo]; };
+  gjam = derive2 { name="gjam"; version="2.5.1"; sha256="1lcciarfnj5azdhjr310xays5kpkdzjnk9jh0pxkhrfdpg43jgvz"; depends=[MASS RANN Rcpp RcppArmadillo]; };
   gk = derive2 { name="gk"; version="0.5.1"; sha256="1hgxb1lp78pbnj22i7ryf46im301j05y7hh75z2fxvv5nqgg2v75"; depends=[Ecdat lubridate progress]; };
   gkgraphR = derive2 { name="gkgraphR"; version="1.0.2"; sha256="1sb52hhpwm3bq7rn2xdq5vly6z1c5yab9a26xzgj3c5s47vk02pa"; depends=[httr ISOcodes jsonlite]; };
   gkmSVM = derive2 { name="gkmSVM"; version="0.81.0"; sha256="119g5rhc7ffyviz04r04aj5z1g6abnj3ddd01g7db505sdr6lapj"; depends=[kernlab Rcpp ROCR seqinr]; };
-  glacierSMBM = derive2 { name="glacierSMBM"; version="0.1"; sha256="0117fzz2b1lccs0kkwz59w2yysi72j54yvz7373pz11w7rjds84f"; depends=[raster sp udunits2]; };
   glamlasso = derive2 { name="glamlasso"; version="3.0.1"; sha256="0vzkszam7nz40v8pxq06jn3fgwa1nd3s485hgfkcv7r8pg2rp56q"; depends=[Rcpp RcppArmadillo]; };
   glancedata = derive2 { name="glancedata"; version="1.0.1"; sha256="01j7syjn33pc7hq032nmyak38wn35yv3n7is9g2ggs14kj3xqb0c"; depends=[dplyr forcats GGally ggplot2 gridExtra openxlsx purrr tibble tidyr]; };
   glarma = derive2 { name="glarma"; version="1.6-0"; sha256="0n0mv4xvh5q3y383cs224x6r608ciw4822pkanvmcjsc9zl0z1ar"; depends=[MASS]; };
@@ -10118,7 +10222,7 @@ in with self; {
   gld = derive2 { name="gld"; version="2.6.4"; sha256="08rkv7g6ci969vh9fbyg3lrpfmjhbiwzdhcjs9j6s9bf3gpdmdhd"; depends=[e1071 lmom]; };
   gldrm = derive2 { name="gldrm"; version="1.5"; sha256="1mbdxqjw6sa47kigwrjq1gn6vi36zhg9j2lck144iwa10ms0y9xp"; depends=[]; };
   glinternet = derive2 { name="glinternet"; version="1.0.12"; sha256="0aphdscj0s6kqxlkgqkw2d6snrylz6hiis6307pl8ldh7q5cvm33"; depends=[]; };
-  glinvci = derive2 { name="glinvci"; version="1.1.16"; sha256="06mgnx70l87ib1v6fqg7b9m61jxqdl9sxz2jd12fnscj4k4r52fc"; depends=[ape BB lbfgsb3c numDeriv plyr Rcgmin rlang]; };
+  glinvci = derive2 { name="glinvci"; version="1.1.17"; sha256="0rl7qka0pk57yxyh6rmkgf69czm1b6gz3v1fsm0qaf9dbqcnpnrm"; depends=[ape BB lbfgsb3c numDeriv plyr Rcgmin rlang]; };
   gllm = derive2 { name="gllm"; version="0.37"; sha256="169y3yz947d8qdphqv2a6yrdash6v2h9jfvj2fk7rcpmz0r45kl6"; depends=[]; };
   gllvm = derive2 { name="gllvm"; version="1.3.1"; sha256="1im5q5137jf8cwpydy6p8lip9v43fvgb5hi11ff2wwhc9yw74gyd"; depends=[fishMod MASS Matrix mgcv mvabund RcppEigen statmod TMB]; };
   glm_deploy = derive2 { name="glm.deploy"; version="1.0.4"; sha256="1akklvbhz2pp0sv1hax1jq0s9ajbfv1597z643gh5l9hwizj2h9m"; depends=[Rcpp]; };
@@ -10133,9 +10237,11 @@ in with self; {
   glmglrt = derive2 { name="glmglrt"; version="0.2.2"; sha256="1954ywshnqzr7h77wshf63y3zx3ra8mrfabg5dqjhkgv4rsk3h1y"; depends=[MASS parameters]; };
   glmlep = derive2 { name="glmlep"; version="0.2"; sha256="0rq2vxbr732r725pn8qdvppxcrhjhyvlr550svfgy1inq985c1w4"; depends=[]; };
   glmm = derive2 { name="glmm"; version="1.4.2"; sha256="03jgj3ssza2j2cg6nl4pbbmj57s951mxbas32cg5789zh9hjbygg"; depends=[doParallel foreach itertools Matrix mvtnorm trust]; };
+  glmm_hp = derive2 { name="glmm.hp"; version="0.0-2"; sha256="1fjhrfgpl0xf7v6zls8v1dqm0bqds96mkiqk27bx6iy6wmadlwgk"; depends=[ggplot2 lme4 MuMIn]; };
   glmmEP = derive2 { name="glmmEP"; version="1.0-3.1"; sha256="0fql85m0mxn58jh3mgrcw56bb4dx7amrz39ngqrljwi5pv5i7aj4"; depends=[lme4 matrixcalc]; };
   glmmLasso = derive2 { name="glmmLasso"; version="1.5.1"; sha256="1az9vdnyqyrfn1q7zrn6x4ywx77b0vg65cni45x37b0ybkwpis39"; depends=[Matrix minqa]; };
   glmmML = derive2 { name="glmmML"; version="1.1.1"; sha256="1m2dcw522nd78x7z7la7a4cii3030s0bl4sqxbvkxn1k15jf4pr5"; depends=[]; };
+  glmmPen = derive2 { name="glmmPen"; version="1.5.1.8"; sha256="04pxkhklyx26mngg7bwhlrqd3bh1ay1h5ddfacpg5jnigp2rlk84"; depends=[BH bigmemory ggplot2 lme4 MASS Matrix mvtnorm ncvreg Rcpp RcppArmadillo RcppEigen reshape2 rstan rstantools StanHeaders stringr]; };
   glmmSeq = derive2 { name="glmmSeq"; version="0.1.0"; sha256="0mdcwh6vvh4pc64r4jl78dr6x8fwclbbx8s9kf2sj39mm7iqpkqz"; depends=[car gghalves ggplot2 ggpubr lme4 MASS pbapply pbmcapply plotly qvalue]; };
   glmmTMB = derive2 { name="glmmTMB"; version="1.1.2.3"; sha256="1yfwwz2dhd34vgagg8hi7irkqw8padavbc7337jdiwgk3w01wqsm"; depends=[lme4 Matrix nlme numDeriv RcppEigen TMB]; };
   glmmfields = derive2 { name="glmmfields"; version="0.1.4"; sha256="0gnb2s34xz7cjyaa2w2wq7n6c5016a14mc03kalvwdv3f7b98zan"; depends=[assertthat BH broom broom_mixed cluster dplyr forcats ggplot2 loo mvtnorm nlme Rcpp RcppEigen reshape2 rstan rstantools StanHeaders tibble]; };
@@ -10154,6 +10260,7 @@ in with self; {
   glmulti = derive2 { name="glmulti"; version="1.0.8"; sha256="0zviahj99645s1xs2f9z7rnv95x4rdz7mfwzy3qjfw46yqpfj5cn"; depends=[leaps rJava]; };
   glmvsd = derive2 { name="glmvsd"; version="1.4"; sha256="03axsn85axs4d6fdlr3wcdwq6qa4991svkqc7k9r52kk1ar0w5zz"; depends=[brglm glmnet MASS ncvreg]; };
   glmx = derive2 { name="glmx"; version="0.1-1"; sha256="06v2qxgr16w0qnfhjr9vdqcad5v475pwg2yhw0i236yzqbnsssh6"; depends=[Formula lmtest MASS sandwich]; };
+  glmxdiag = derive2 { name="glmxdiag"; version="1.0.0"; sha256="0m077j7prjc38yshq8ahprfsai0rc20qma2njjbdi975mrwxi25c"; depends=[VGAM]; };
   globalGSA = derive2 { name="globalGSA"; version="1.0"; sha256="1f3xv03m6g2p725ff0xjhvn2xcfm7r7flyrba080i4ldy6fd8jg8"; depends=[]; };
   globalKinhom = derive2 { name="globalKinhom"; version="0.1.3"; sha256="1hj2f8sd9mfr44g93y2j6sazrlkpkgb10jw5fcjcf3w5738pvh5a"; depends=[spatstat spatstat_core spatstat_geom]; };
   globalOptTests = derive2 { name="globalOptTests"; version="1.1"; sha256="0yf4p82dpjh36ddpfrby7m3fnj2blf5s76lncflch917sq251h4f"; depends=[]; };
@@ -10163,7 +10270,7 @@ in with self; {
   glow = derive2 { name="glow"; version="0.10.1"; sha256="1br29hy5j30k5q4xk1dglxlhqalhm76hnx8xg73v6whcg5j11392"; depends=[ggplot2 R6 Rcpp RcppEigen RcppParallel scales]; };
   glpkAPI = derive2 { name="glpkAPI"; version="1.3.3"; sha256="07bksiqmq2n7ki3f3sxph4v44k7q2b0d88jwjgfxzdn33i65wqyq"; depends=[]; };
   glrt = derive2 { name="glrt"; version="2.0"; sha256="0p2b0digndvnn396ynv56cdg436n3ll7pxkb81rs3dhwbyqyc948"; depends=[survival]; };
-  glue = derive2 { name="glue"; version="1.6.0"; sha256="0f23dgnc7rv81vhmdhmiwk666mqwb602hxzai1hssyn4y9zg7gkp"; depends=[]; };
+  glue = derive2 { name="glue"; version="1.6.1"; sha256="1nvqm4fmxyszz9b2y0gjiwbvwssdqj9jflcz00b4487i8jajz31i"; depends=[]; };
   gluedown = derive2 { name="gluedown"; version="1.0.4"; sha256="1rvaac27kc4mppmw9kdwjaqsa7lwfzwffv63c8cky1z0xrsc5zz1"; depends=[glue magrittr]; };
   gluvarpro = derive2 { name="gluvarpro"; version="4.0"; sha256="09l9yincr1k5j9wnj3zvfzsffjh3r54aa8fn0ik8vhlbq13ag8kp"; depends=[ggplot2 gridExtra pracma scales tidyr zoo]; };
   glvmfit = derive2 { name="glvmfit"; version="0.1.0"; sha256="1nb34dm4m0nq7cr9f9jsacnk0xjv451m419sdwbk11ykpqkh9cdk"; depends=[]; };
@@ -10184,17 +10291,19 @@ in with self; {
   gmp = derive2 { name="gmp"; version="0.6-2.1"; sha256="1mj7hy6riaxl9n4q2cnyyjazwad90xbjszk25si968618rih4n64"; depends=[]; };
   gms = derive2 { name="gms"; version="0.4.0"; sha256="1m7bhy4vsz6l09pal9ibjlskmbyjmc29hqwjim1x8yansd5bxpzv"; depends=[dplyr rlang stringr yaml]; };
   gmt = derive2 { name="gmt"; version="2.0.2"; sha256="0z5abh0kw97y90nxkkxxg2xgv1avxijf71v88lwhy25jgv8r7b38"; depends=[]; };
-  gmvarkit = derive2 { name="gmvarkit"; version="2.0.1"; sha256="16q412isjbx3b8bdapjyx9rg2afld2si6jnh6886ar33m1s35i21"; depends=[Brobdingnag gsl mvnfast pbapply]; };
+  gmvarkit = derive2 { name="gmvarkit"; version="2.0.2"; sha256="0si4a4ds9804rssim7vljv3q7ny54kd1lf9sljisrfilnbj69qsy"; depends=[Brobdingnag gsl mvnfast pbapply]; };
   gnFit = derive2 { name="gnFit"; version="0.2.0"; sha256="0cji4zjslh18dfj0l827r6br4hx2f0akiaxrg7fhhyyyhgdcjnsm"; depends=[ismev rmutil]; };
   gnlm = derive2 { name="gnlm"; version="1.1.1"; sha256="1krbz791l5qc06sh6my0bkq420b5afncw87lhyx1yiml2yg46zrk"; depends=[rmutil]; };
   gnm = derive2 { name="gnm"; version="1.1-1"; sha256="1lddsdsg43wpg681s906i4xqqfbjdd1qb9ml5dfprb02i1806aa2"; depends=[MASS Matrix nnet qvcalc relimp]; };
   gnn = derive2 { name="gnn"; version="0.0-3"; sha256="0hk05g8kbsl03wy929y9wnhyfimmkz4yy5qkza2y1v7mcggpjjhx"; depends=[copula keras qrng R6 tensorflow]; };
   gnomonicM = derive2 { name="gnomonicM"; version="1.0.1"; sha256="1yv5ry21rv69hfd4wmhnwhvarnp49hn200aws428ahs5wvx3md1v"; depends=[kableExtra minqa triangle]; };
   gnorm = derive2 { name="gnorm"; version="1.0.0"; sha256="17h43qwb07wk5hiif89k6dgn6bbdsqfy2jy3k5blbdhhp3b9jcqp"; depends=[]; };
+  gnrprod = derive2 { name="gnrprod"; version="1.0.0"; sha256="0ndrw2ym0f9m593q51lf069nf6fasrwb3psv1qr914jpm6vcp9di"; depends=[data_table]; };
   gnumeric = derive2 { name="gnumeric"; version="0.7-8"; sha256="0iwl00mzsg8h8q67bjp6485idjlmj24362b1rbmkifckss8hrc98"; depends=[XML]; };
   goeveg = derive2 { name="goeveg"; version="0.5.1"; sha256="1dg0aw3sfar706jyiy5m5qz3nzs6sy3ljs9jp0p65b0v01rw8sbs"; depends=[fields Hmisc mgcv vegan]; };
   gofCopula = derive2 { name="gofCopula"; version="0.4-1"; sha256="17bdrn8xsqjz64caa5wdigkv798i18gc2f9jiin1bz840bqn1abg"; depends=[copula crayon doSNOW foreach MASS numDeriv progress R_utils SparseGrid VineCopula yarrr]; };
   gofastr = derive2 { name="gofastr"; version="0.3.0"; sha256="02jn4xbbafl7siwvkqns1818wmw813x9cvqfcnpnmcippiqhrb0b"; depends=[data_table quanteda slam SnowballC tm]; };
+  gofcat = derive2 { name="gofcat"; version="0.1.1"; sha256="1r3yb1dx97gqnzx1j7pn6fpqxdizw79rip2h9l1kmqqmsch3yygp"; depends=[crayon epiR Matrix reshape stringr VGAM]; };
   goffda = derive2 { name="goffda"; version="0.1.0"; sha256="0xxqq6bnc543k7b69ix255x4hv95cy4w2ffiq5v22dal456ggy9m"; depends=[fda_usc glmnet ks Rcpp RcppArmadillo]; };
   gofgamma = derive2 { name="gofgamma"; version="1.0"; sha256="00wda3fandrd1kkm20fb615g5fd0wykk3s0xn0xh9da28q08yh2m"; depends=[]; };
   goft = derive2 { name="goft"; version="1.3.6"; sha256="0ag1bks44hm787sgbab70ab9q0dzbfsx70ldprafjx92gg1cqv5s"; depends=[fitdistrplus sn]; };
@@ -10208,7 +10317,7 @@ in with self; {
   good = derive2 { name="good"; version="1.0.1"; sha256="0lgp8kpdiaprq78fzny5c344m2s1vb24y9x9m8rkg1kd769h56pv"; depends=[copula maxLik plyr]; };
   goodpractice = derive2 { name="goodpractice"; version="1.0.2"; sha256="08rnm8z0pry5mwpc7p37r6f2rd56dry9djpcvvs9yl170w56psx0"; depends=[clisymbols covr crayon cyclocomp desc jsonlite lintr praise rcmdcheck rstudioapi whoami withr xml2 xmlparsedata]; };
   googleAnalyticsR = derive2 { name="googleAnalyticsR"; version="1.0.1"; sha256="02lipd1li3jmnjyc0f19fsblji3sjjzdy9zyq1f0ay5lfa6j2x51"; depends=[assertthat cli dplyr googleAuthR httr jsonlite magrittr measurementProtocol memoise purrr rlang tibble tidyr usethis whisker]; };
-  googleAuthR = derive2 { name="googleAuthR"; version="1.4.1"; sha256="06ksv2xv8zpd9s0vq7vgq5zc4i3xz203f9l9891zmzpjd7x03qb1"; depends=[assertthat cli digest gargle httr jsonlite memoise rlang]; };
+  googleAuthR = derive2 { name="googleAuthR"; version="2.0.0"; sha256="1svgjrh4wb3qdavhmks2lmncqrapvw17dvlbk0z1nbny7fplnl5s"; depends=[assertthat cli digest gargle httr jsonlite memoise rlang]; };
   googleCloudRunner = derive2 { name="googleCloudRunner"; version="0.4.1"; sha256="0mvwgx2i4n0qymib1a7v3n7fa88hpwqh6fffclasxsr1ncdxankq"; depends=[assertthat cli curl googleAuthR googleCloudStorageR httr jose jsonlite openssl plumber progress usethis yaml]; };
   googleCloudStorageR = derive2 { name="googleCloudStorageR"; version="0.7.0"; sha256="1yp8h87i17kald9pkr9icxd918n5vywk0h9q8lclip2slx9bry1p"; depends=[assertthat cli curl googleAuthR httr jsonlite openssl yaml zip]; };
   googleCloudVisionR = derive2 { name="googleCloudVisionR"; version="0.2.0"; sha256="1n4gkmnwp9wadxz1izggxnpcpm4bz3imhq5y3i2szr8zwafcqqjv"; depends=[data_table glue googleAuthR jsonlite purrr]; };
@@ -10217,29 +10326,29 @@ in with self; {
   googlePolylines = derive2 { name="googlePolylines"; version="0.8.2"; sha256="1z8ml0xiyqy1ygairgs9w10q4a7msd6gkzjv7kf6r8xv4bpc02pd"; depends=[BH Rcpp]; };
   googlePrintr = derive2 { name="googlePrintr"; version="0.0.1"; sha256="19rm78x8qd61ilc6h1kn3dw63m6dfsckqkd3n76krvi0akgl72w5"; depends=[googleAuthR httr jsonlite]; };
   googlePublicData = derive2 { name="googlePublicData"; version="0.16.1"; sha256="15hyslpqvncg21q581h061rfyg99y8lavqw1x8hzl7xzd49bn9r5"; depends=[readxl XML]; };
-  googlePubsubR = derive2 { name="googlePubsubR"; version="0.0.2"; sha256="1paw25q5p82m60dyxn38qi4ykranrr0gb253a7nhh5nckb4rz7hi"; depends=[cli googleAuthR magrittr]; };
+  googlePubsubR = derive2 { name="googlePubsubR"; version="0.0.3"; sha256="114yhhqjpg7khgq82y1qdpnm6pbqinlgwh5n1lx6fzsm1ajhl0kv"; depends=[cli googleAuthR magrittr]; };
   googleTagManageR = derive2 { name="googleTagManageR"; version="0.1.6"; sha256="1y2avhgvzrpmpyx341di8ml2pdj10y8sdhn7zwjpxgzrxkmf4xxi"; depends=[assertthat dplyr future googleAuthR httr jsonlite purrr]; };
-  googleVis = derive2 { name="googleVis"; version="0.6.10"; sha256="0jjqlcxfbpkl2kdpp8vr27yi178ryg62yy7rjafzda1npg010f3x"; depends=[jsonlite]; };
+  googleVis = derive2 { name="googleVis"; version="0.6.11"; sha256="15vvk08fwqbik3dyq927ccdvmyi4zjc2sxpnpy2g2yysa5n0pjgq"; depends=[jsonlite]; };
   googledrive = derive2 { name="googledrive"; version="2.0.0"; sha256="09jsiknzyfgxd0nzdr3wrrjw24allch2x74h96qg8vh8dad4cp30"; depends=[cli gargle glue httr jsonlite lifecycle magrittr pillar purrr rlang tibble uuid vctrs withr]; };
   googleformr = derive2 { name="googleformr"; version="0.0.3"; sha256="0smykcjyqmk61ws5jk462l8x5hg0h9nwq55q5pqfgcq1j3yfniqh"; depends=[httr rvest xml2]; };
   googlenlp = derive2 { name="googlenlp"; version="0.2.0"; sha256="0d0g18i3im2s5f14k69ym3vwf9a7zkaval3nwrip97xcl6kf4x9h"; depends=[dplyr httr jsonlite purrr readr rlang]; };
   googler = derive2 { name="googler"; version="0.0.1"; sha256="1aayji3ncqxl58k29d93dbx05s9rp9bc63fl2cpl1cys7gilblxx"; depends=[jsonlite tibble]; };
   googlesheets = derive2 { name="googlesheets"; version="0.3.0"; sha256="11q07nxys72wkxx9mawmjyf20gvwvrb7h3gpa73h6lgh2vgrwnv8"; depends=[cellranger dplyr httr jsonlite purrr readr stringr tibble tidyr xml2]; };
   googlesheets4 = derive2 { name="googlesheets4"; version="1.0.0"; sha256="0yncqwv9l5knyrv88ys5gwcv44hl1j0mbklpins6v7f9m9v7s40a"; depends=[cellranger cli curl gargle glue googledrive httr ids magrittr purrr rematch2 rlang tibble vctrs]; };
-  googleway = derive2 { name="googleway"; version="2.7.3"; sha256="0n2ybkjwwhq7kpyv0ryz4mp5w06psbcm2gyfwk0d3wp1i43ajsn4"; depends=[curl googlePolylines htmltools htmlwidgets jpeg jqr jsonlite magrittr scales shiny viridisLite]; };
+  googleway = derive2 { name="googleway"; version="2.7.6"; sha256="07jyawybdrfb7rzxba6mqlz98slv6j1bdqv5lqc06zf5x84r0wwd"; depends=[curl googlePolylines htmltools htmlwidgets jpeg jqr jsonlite magrittr scales shiny viridisLite]; };
   goric = derive2 { name="goric"; version="1.1-2"; sha256="004nx29wz191rp0naa73r762bf6lap931lwrxifhz7izl47jzfj0"; depends=[MASS Matrix mvtnorm nlme quadprog]; };
   gorica = derive2 { name="gorica"; version="0.1.2"; sha256="0id0xqdw4rwqviym8l0a5gnl5a68ci5f4gn4bhywmzb6fh1nxj33"; depends=[bain lavaan limSolve lme4 MASS mvtnorm quadprog]; };
   gotop = derive2 { name="gotop"; version="0.1.2"; sha256="1dvcgz7ha637ixjqmgcwhvl3f9kpx4fdq8im40iz8xwnxqwmrlgx"; depends=[htmltools jsonlite]; };
   govStatJPN = derive2 { name="govStatJPN"; version="0.1"; sha256="03sywa7rl5rblvv370mfszz5ngp850qf32yydy1fdx10lv5amrfl"; depends=[]; };
   govdown = derive2 { name="govdown"; version="0.10.1"; sha256="00ndpp3v6z2497xlhhc92pa7w93qk9x8m6ibswj9dfh978d07028"; depends=[rmarkdown]; };
-  gower = derive2 { name="gower"; version="0.2.2"; sha256="0c9n921wn4hhlvjq96r4nkk96s5788376cbldr7y7bwz348200iz"; depends=[]; };
+  gower = derive2 { name="gower"; version="1.0.0"; sha256="0p9qx9aafkdm7wibfwk59jzw6vspsff6zwp84bc40lg0myxbf737"; depends=[]; };
   goxygen = derive2 { name="goxygen"; version="1.0.3"; sha256="0825zl16ap0k3jqhrjw4hfsw97ils77jmf4yqq347k3bb8i3dm79"; depends=[citation gms pander stringi yaml]; };
   gpairs = derive2 { name="gpairs"; version="1.3.3"; sha256="08m1ydrr239vnhjbl47mng3i2w9bqmd8fijrwsraq5ysvn826n27"; depends=[barcode colorspace lattice MASS vcd]; };
   gpbStat = derive2 { name="gpbStat"; version="0.3.5"; sha256="1inmh8r02fn48p2f150d3prxlkf61549027vc64a3kyyk5q167ib"; depends=[data_table dplyr magrittr]; };
-  gpboost = derive2 { name="gpboost"; version="0.7.0"; sha256="0d94izg7r43w812h9l5ldkr298ll09jz46v926cv6inw7638c1c2"; depends=[data_table Matrix R6 RJSONIO]; };
+  gpboost = derive2 { name="gpboost"; version="0.7.1"; sha256="1gr01myg7kja6lza3nhgqh21smahca7dp8n7v53xqigfrbmnmq57"; depends=[data_table Matrix R6 RJSONIO]; };
   gpclib = derive2 { name="gpclib"; version="1.5-6"; sha256="11jjgg74l8hy9jz4jylhriqnzv8jcf12y1bkx22v29z3fhgkwkps"; depends=[]; };
   gpg = derive2 { name="gpg"; version="1.2.6"; sha256="17rvi3qff2kanqr3g20dzhn48bfh5sv57g0wsamndzcif7rhjhby"; depends=[askpass curl]; };
-  gpindex = derive2 { name="gpindex"; version="0.3.9"; sha256="18qja4chz91qybc07xcxcrbvgng5ybd03v9965wcivd2w2xrpxq6"; depends=[]; };
+  gpindex = derive2 { name="gpindex"; version="0.4.2"; sha256="1id5mmdmjw34y80cnjfxgldd83bzfifh0jk4ym4wp7h3dbpqr8n5"; depends=[]; };
   gpk = derive2 { name="gpk"; version="1.0"; sha256="1zfhkqyypb24mhbj2zi9qy3gw0kqxvlp8j5ni3zm7k5rz1bnrygg"; depends=[]; };
   gplite = derive2 { name="gplite"; version="0.12.0"; sha256="1cm846jayqvb3xrd3h6pxq6wmww1ghhkr6dffschk0xycix6alw9"; depends=[Matrix Rcpp RcppArmadillo]; };
   gplm = derive2 { name="gplm"; version="0.7-4"; sha256="0apvj14nl5qbi4dhhdx5nih5lvjwfcipvr8cyk6xsz4r5gfr2iw4"; depends=[AER]; };
@@ -10248,6 +10357,7 @@ in with self; {
   gpmap = derive2 { name="gpmap"; version="0.1.2"; sha256="1n1r4rda9v4zw8zz4vcagmkkpgirwydhqz36pyq0assxwclnkcz0"; depends=[foreach ggplot2 isotone plyr]; };
   gppm = derive2 { name="gppm"; version="0.2.0"; sha256="1n9is3xj52lsck2fiy9j320p2ca6ib36s251i7g3iz99a77b0ahh"; depends=[ggplot2 ggthemes MASS mvtnorm Rcpp rstan]; };
   gprofiler2 = derive2 { name="gprofiler2"; version="0.2.1"; sha256="0r0h34b35xzgd9rh55yndn0anxy0z45zdlqa6qfmpn91b6v1bb1g"; depends=[crosstalk dplyr ggplot2 gridExtra jsonlite plotly RCurl tidyr viridisLite]; };
+  gps = derive2 { name="gps"; version="1.0"; sha256="1yzmv0zpgnis3v2f7m9j02zxw31kgcw9fny3vrvk4637jzz2ij56"; depends=[Matrix]; };
   gptk = derive2 { name="gptk"; version="1.08"; sha256="0fk6c8f8fni4y2n2cbfwywlfyz74xlb8lx25wajsxr2v4x74pa7l"; depends=[fields Matrix]; };
   gpx = derive2 { name="gpx"; version="1.1.0"; sha256="0x9b3mnbrim690l4wnyzk47bgywvnw4h4l8qznnx7zkpqib2hn5i"; depends=[lubridate rvest xml2]; };
   gqlr = derive2 { name="gqlr"; version="0.0.2"; sha256="0gzhqyrbnz3qjzkr4slryrlfhlaxm474y9fahlj0sb0hvcx68pxj"; depends=[graphql jsonlite magrittr pryr R6]; };
@@ -10259,13 +10369,14 @@ in with self; {
   grade = derive2 { name="grade"; version="0.2-1"; sha256="085hfvqn880yk19axdjv3z9jr33kls212vs172a8mzhnkallph1r"; depends=[]; };
   gradeR = derive2 { name="gradeR"; version="1.0.10"; sha256="1ngfrminhsk3155da0vjmvrk66nbnak8p1ns20cw32qayq6wyrr2"; depends=[callr jsonlite testthat]; };
   gradientPickerD3 = derive2 { name="gradientPickerD3"; version="0.1.0.0"; sha256="0b20iqfipr7migwk1fl4lvdf4ghprqivcgmchfshhr8q82hyd1q0"; depends=[htmlwidgets jsonlite shiny]; };
+  grafify = derive2 { name="grafify"; version="2.1.0"; sha256="0l5i27ifm2xxg7vs2wkcwqm60wgvxc397x1wg654qjvh1ggpd1qn"; depends=[broom_mixed car emmeans ggplot2 Hmisc lme4 lmerTest magrittr purrr tidyr]; };
   grainchanger = derive2 { name="grainchanger"; version="0.3.2"; sha256="1anq9gmbf9cjh6f9q2h7f65j220f56rmb59zhp5j2d26bs7dbnz8"; depends=[checkmate furrr raster sf usethis]; };
   grainscape = derive2 { name="grainscape"; version="0.4.3"; sha256="0mc9mgc70ysqal8pjslmr7dzig3d08jcdpba348hmgyh0w9b6s07"; depends=[ggplot2 igraph raster Rcpp rgdal sp]; };
   gramEvol = derive2 { name="gramEvol"; version="2.1-4"; sha256="1am5nlnyawi4lybi10ag4fdhddvbwsdzrmr6f66bzspdpl4s26g9"; depends=[]; };
   grangers = derive2 { name="grangers"; version="0.1.0"; sha256="15q8hv7p5g5m7v6lx6nq5394fa6p05xgawnsrn1v5aslmmbbzyvl"; depends=[tseries vars]; };
   granova = derive2 { name="granova"; version="2.1"; sha256="161fznqlnwmw53abmg2n62lhxxda7400ljnadvcdvsm8f6kcjf80"; depends=[car]; };
   granovaGG = derive2 { name="granovaGG"; version="1.4.0"; sha256="0khqlqc6jg9cpdq06g6jlpfjcw3m6rj40ipljfai8g1630ril6q4"; depends=[ggplot2 gridExtra plyr RColorBrewer reshape2]; };
-  grantham = derive2 { name="grantham"; version="0.1.0"; sha256="0cc83bbfshg8q65jg6ibs6wm0xlpwpyq1rxn19p5axqwnpc60dzg"; depends=[dplyr magrittr rlang tibble tidyr vctrs]; };
+  grantham = derive2 { name="grantham"; version="0.1.1"; sha256="0c7kw7yh5n6mgbplnbdcviwc3r2b321v7s334b0cljz6i3c3cr76"; depends=[dplyr magrittr rlang stringr tibble tidyr vctrs]; };
   grapes = derive2 { name="grapes"; version="1.0.0"; sha256="079b7w2xhb0a481s7qihhka0l9ydkjdph0865wjjkcbpr4775p26"; depends=[magrittr]; };
   grapesAgri1 = derive2 { name="grapesAgri1"; version="1.1.0"; sha256="0bsnxk7fqick6y76z6s1kwrg1y8spvg0awmdg5hk37g0f3wxgyas"; depends=[agricolae corrplot desplot dplyr ggplot2 ggpubr gridGraphics gtools Hmisc kableExtra knitr magrittr PairedData pastecs RColorBrewer Rdpack reshape2 rmarkdown shiny shinyWidgets summarytools]; };
   graph3d = derive2 { name="graph3d"; version="0.2.0"; sha256="1c4pmx37nf4nm6svrn9dqr50gb2fckx8635zg0n4gnzgdca1iyv4"; depends=[htmlwidgets lazyeval]; };
@@ -10281,13 +10392,15 @@ in with self; {
   graphon = derive2 { name="graphon"; version="0.3.5"; sha256="1x61pdsb3s1vi1iiy9pjq0iz0m5j5b6q3rqhwvx9kvmg4r8yifpv"; depends=[Rdpack ROptSpace]; };
   graphql = derive2 { name="graphql"; version="1.5"; sha256="0zi1l93yk5rlgdy4j2nph14w0h8kgvnbzk9fi2jfys8s3fz54ksr"; depends=[jsonlite Rcpp]; };
   graphsim = derive2 { name="graphsim"; version="1.0.2"; sha256="09is0yr17vxr08zb3p240n0aapm63418dzx4ilwq08y8050jqqr7"; depends=[gplots igraph Matrix matrixcalc mvtnorm]; };
+  graphx = derive2 { name="graphx"; version="1.0"; sha256="1k7vq0j58yskmaqknpkhccrc5n1hh8p2fsw7419r7k6a2c3syj8a"; depends=[cubature docore jpeg magicaxis MASS plotrix png pracma raster sp]; };
   grates = derive2 { name="grates"; version="0.3.0"; sha256="0ycgh6fzrsjv3n0wzcaybk686lq074krayz5jfx690iqj5fjkjqi"; depends=[clock ellipsis rlang vctrs]; };
-  gratia = derive2 { name="gratia"; version="0.6.0"; sha256="1425dq805a0hk1w243y0mzvdyqvi0n08ghwvsgfwdx3i0d066nba"; depends=[dplyr ggplot2 mgcv mvnfast patchwork purrr rlang tibble tidyr vctrs]; };
+  gratia = derive2 { name="gratia"; version="0.7.0"; sha256="02yg6ab23yvkx0yshybayal6dfjvrq9hligfg5rj0mlvl7dnz3ad"; depends=[dplyr ggplot2 lifecycle mgcv mvnfast nlme patchwork purrr rlang stringr tibble tidyr tidyselect vctrs]; };
   graticule = derive2 { name="graticule"; version="0.1.6"; sha256="0y8cyhlfm8amdb23cvxy508mpd4d64xgnk1xlr37ss2pqrxdhpir"; depends=[geosphere quadmesh raster sp]; };
-  gratis = derive2 { name="gratis"; version="0.2.1"; sha256="035jk2nc8xs0n3ak6k6i42h5gw2n57rrrarb1xwb17khg05dzk25"; depends=[doRNG dplyr foreach forecast GA magrittr mvtnorm polynom purrr shiny tibble tsfeatures tsibble]; };
-  grattan = derive2 { name="grattan"; version="1.9.0.9"; sha256="177mq9iy3p17dzxx8jlw2pnj3fvw9wpiwl66z22534fxm9wrskwm"; depends=[assertthat checkmate data_table fastmatch forecast fy hutils hutilscpp ineq magrittr Rcpp zoo]; };
+  gratis = derive2 { name="gratis"; version="1.0.0"; sha256="0dkgbha7ijwvddqxcnfn9gfz29kjzykifbr252qp3qjzkdqw50hi"; depends=[doRNG dplyr foreach forecast GA generics magrittr mvtnorm polynom purrr shiny tibble tsfeatures tsibble]; };
+  grattan = derive2 { name="grattan"; version="1.9.0.10"; sha256="09724322yrylq9i38j4vb41p4vvfz14h40gjb7r60kkybzpjvkwn"; depends=[assertthat checkmate data_table fastmatch forecast fy hutils hutilscpp ineq magrittr Rcpp zoo]; };
   gravitas = derive2 { name="gravitas"; version="0.1.3"; sha256="11n85bdmigqasbq8c1amj1k7manfvs3gnax2ihsf2vp56s9c463p"; depends=[dplyr ggplot2 ggridges ineq lubridate lvplot magrittr RColorBrewer rlang shiny stringr tibble tidyr tsibble]; };
-  gravity = derive2 { name="gravity"; version="0.9.9"; sha256="1x912mg7cnday7lji48mw9f5drd732qlnrq4d6d75s5pgfps91p6"; depends=[censReg dplyr glm2 lmtest magrittr MASS multiwayvcov purrr Rdpack rlang sandwich survival tibble tidyr]; };
+  gravity = derive2 { name="gravity"; version="1.0"; sha256="1xbdw1gl3vsjfg90bb1pqy4jhp2wd4ss96z2xd3pbgyanf6fkdkf"; depends=[censReg dplyr glm2 lmtest magrittr MASS multiwayvcov purrr Rdpack rlang sandwich survival tibble tidyr]; };
+  greatR = derive2 { name="greatR"; version="0.1.0"; sha256="1h1qrgpydh3rqrccr05rp2y2n05k84gjmnp2bj3ffdpflhhp0yiz"; depends=[cli cowplot data_table dplyr ggplot2 ggpubr ggrepel magrittr rlang Rtsne scales stringr viridis]; };
   grec = derive2 { name="grec"; version="1.4.1"; sha256="1vy3idjvayzx9j9pf5bv5bxycjca3w3c4x4lzzbrdi3c97508sa8"; depends=[imagine raster]; };
   greed = derive2 { name="greed"; version="0.5.1"; sha256="1g33wzcld9gh4x7nhbfb022xjrn2lz8dwf4aqir8ymm0sr6cln87"; depends=[cba future GGally ggplot2 ggpubr listenv Matrix Rcpp RcppArmadillo RSpectra]; };
   greekLetters = derive2 { name="greekLetters"; version="0.0.7"; sha256="0r6c4y6dnd3mm5i7y5cy7xz3w2j7qkfkkvxg9ig138has6115gjj"; depends=[assertthat stringr]; };
@@ -10302,7 +10415,7 @@ in with self; {
   gretel = derive2 { name="gretel"; version="0.0.1"; sha256="1yyj4aing56f2vy0gshxwb623g9idg8k4701v3s53lqn4m2ybazk"; depends=[Rcpp ResistorArray]; };
   gretlR = derive2 { name="gretlR"; version="0.1.0"; sha256="0lpznicpjlvp5kkhmlfr4as7px545k416i3f54900jnc7xa7fm8p"; depends=[knitr]; };
   grex = derive2 { name="grex"; version="1.9"; sha256="0s6nan76rrmh3yhgvzb7pqdrzx2w9px8ay4v9yiib4bamy9wmhpb"; depends=[]; };
-  greybox = derive2 { name="greybox"; version="1.0.2"; sha256="12h2lj2xwa5mp6id28a1z2b5nzgdkx00z7rpzjlyc6h2hdysw4pl"; depends=[lamW nloptr pracma Rcpp statmod texreg zoo]; };
+  greybox = derive2 { name="greybox"; version="1.0.4"; sha256="03k8g5wjn3jvw037ibavppbghc9zbj70w8q45rrv02gy5n5ph5c4"; depends=[generics lamW nloptr pracma Rcpp statmod texreg zoo]; };
   greyzoneSurv = derive2 { name="greyzoneSurv"; version="1.0"; sha256="115i0d4fy4p4g4vd419hj9f23hi8cbiyfilgpgmag91ilr1xpcdp"; depends=[Hmisc survAUC survival]; };
   grf = derive2 { name="grf"; version="2.0.2"; sha256="01dmakzwgpkjqqhfvvgj356zklmqkhfprczb1xg2saknayh22gq4"; depends=[DiceKriging lmtest Matrix Rcpp RcppEigen sandwich]; };
   gridBase = derive2 { name="gridBase"; version="0.4-7"; sha256="09jzw4rzwf2y5lcz7b16mb68pn0fqigv34ff7lr6w3yi9k91i1xy"; depends=[]; };
@@ -10313,7 +10426,7 @@ in with self; {
   gridGraphics = derive2 { name="gridGraphics"; version="0.5-1"; sha256="12yswy02j3h5wir7m5jnkhpjmb0sa4snn61vjd68i49qwsa6w219"; depends=[]; };
   gridGraphviz = derive2 { name="gridGraphviz"; version="0.3"; sha256="1jz0d6kc8ci55ffm6dns8bhak9xnaq7mg5mpv3fk53lircn7mwl5"; depends=[graph Rgraphviz]; };
   gridSVG = derive2 { name="gridSVG"; version="1.7-2"; sha256="0vxhdz6a759q6q9lpmyjwkvrjr52dfz609jbwrd0pnfyffmmpzh0"; depends=[jsonlite XML]; };
-  gridpattern = derive2 { name="gridpattern"; version="0.3.1"; sha256="1lyxq43j9zpql27mijrd53kj24fnkwvcn1zmrh9xc4i5jmfqmkqs"; depends=[glue memoise png rlang sf]; };
+  gridpattern = derive2 { name="gridpattern"; version="0.4.0"; sha256="19kqgp8nq6ylc6mw5a8h03c2b74x3h1jvg9lj7rknnvin4xnm74w"; depends=[glue memoise png rlang sf]; };
   gridsampler = derive2 { name="gridsampler"; version="0.6"; sha256="0wqpqg9c372sv8zqks6v93gawiyfghw58hn7m8q45dxpqm16ss3k"; depends=[BiasedUrn ggplot2 plyr reshape2 shiny shinyBS shinythemes]; };
   gridtext = derive2 { name="gridtext"; version="0.1.4"; sha256="131kw7nkfwksviwfifd2kk7lyvhxzzzv1nnj8rahkr3dik3akk61"; depends=[jpeg markdown png Rcpp RCurl rlang stringr xml2]; };
   gripp = derive2 { name="gripp"; version="0.2.20"; sha256="0rshipm8rdynl19a4dsvvvlhkd0n4vjfkidwnv5iilc5ini7c4qr"; depends=[GA GenSA usethis]; };
@@ -10346,11 +10459,11 @@ in with self; {
   grplasso = derive2 { name="grplasso"; version="0.4-7"; sha256="0jf48ahc6d6biwx235dlvbk1papxkqbcnvxsr93p5047pjm02y3a"; depends=[]; };
   grplassocat = derive2 { name="grplassocat"; version="1.0"; sha256="0pi5vq7yqg0ha91y6296ckshxyq3135cg6zcs9x6xba5m5024k4p"; depends=[grplasso]; };
   grpreg = derive2 { name="grpreg"; version="3.4.0"; sha256="1bfnahkb249996m3qmf96g4ldgnw7xfcm2wr45ccrlk3mw5x4mzx"; depends=[Matrix]; };
-  grpsel = derive2 { name="grpsel"; version="1.1.1"; sha256="1nzxkbrv58d3rdqdk4db4r927zmb88fb1w0ak2b7lbyda87farld"; depends=[ggplot2 Rcpp RcppArmadillo]; };
+  grpsel = derive2 { name="grpsel"; version="1.2.0"; sha256="0lgm1aisxphds99m96r9i39rb8wc6ljjm6j9b32q0x930wh3sn8n"; depends=[ggplot2 Rcpp RcppArmadillo]; };
   grpseq = derive2 { name="grpseq"; version="1.0"; sha256="187c3y3rsls1a66phb6kvndfh0rz7h8kl6w10gi9k6r8q6isvl9i"; depends=[mvtnorm]; };
   grr = derive2 { name="grr"; version="0.9.5"; sha256="0arbcgrvhkwb5xk4nry1ffg2qj0v8ivhjghdr505ib4357g0c9i9"; depends=[]; };
   grt = derive2 { name="grt"; version="0.2.1"; sha256="1dw5rjs82r82l6qryyyq9cczm770v4iv60d7pi1nb4b0733ndbd5"; depends=[MASS]; };
-  gsDesign = derive2 { name="gsDesign"; version="3.2.1"; sha256="09chif5shwyq47rbhr1cwdfcncxj746shwbd4ldgcslrz2xcbdf7"; depends=[dplyr ggplot2 magrittr rlang tidyr xtable]; };
+  gsDesign = derive2 { name="gsDesign"; version="3.2.2"; sha256="1r2yz34v7lrh0vzbhby9raxbspfmlfnk4904kr2nz1w5aj0280q7"; depends=[dplyr ggplot2 magrittr rlang tidyr xtable]; };
   gsEasy = derive2 { name="gsEasy"; version="1.4"; sha256="1m3vrwcbkswr0b6rzyydxaibda6lv1m9kmxm9yh2sphk4mdwqxxj"; depends=[ontologyIndex Rcpp]; };
   gsalib = derive2 { name="gsalib"; version="2.1"; sha256="1k3zjdydzb0dfh1ihih08d4cw6rdamgb97cdqna9mf0qdjc3pcp1"; depends=[]; };
   gsarima = derive2 { name="gsarima"; version="0.1-5"; sha256="0nmn4hlvhl8dw7pkpf010x9qjd6w8drdlcj47qv0sap8wngrwhzg"; depends=[MASS]; };
@@ -10389,7 +10502,7 @@ in with self; {
   gtools = derive2 { name="gtools"; version="3.9.2"; sha256="0lx97yafrms2mjym8rhcq5586z7s1iqgy8qfm4px3xl1yn5qkc83"; depends=[]; };
   gtop = derive2 { name="gtop"; version="0.2.0"; sha256="1nvvbf181x0miw3q0r2g0nklz29ljdsd07cazaajfls7pmhi0xw9"; depends=[hts lassoshooting quadprog]; };
   gtrendsR = derive2 { name="gtrendsR"; version="1.5.0"; sha256="15jpda67c81j9qsjcx1kffk0my198z7myafsdw91chj7hjzyw6kl"; depends=[anytime curl ggplot2 jsonlite]; };
-  gtsummary = derive2 { name="gtsummary"; version="1.5.0"; sha256="19qi0w1ymvaw9m3l1ynj681q4bqhrnjn0ir8jg50ia5jql8mxpal"; depends=[broom broom_helpers cli dplyr forcats glue gt knitr lifecycle purrr rlang stringr tibble tidyr]; };
+  gtsummary = derive2 { name="gtsummary"; version="1.5.2"; sha256="1vmzlpn7h68cgxpnsh49qj6xzanhrxa2v3d1f4s96y6kwla0s395"; depends=[broom broom_helpers cli dplyr forcats glue gt knitr lifecycle purrr rlang stringr tibble tidyr]; };
   guaguas = derive2 { name="guaguas"; version="0.2.0"; sha256="1b5bmjd3l9npmjlmd3qq3kxcrm1dqv8m60s89fcybjlaf0942ms8"; depends=[]; };
   guardianapi = derive2 { name="guardianapi"; version="0.1.1"; sha256="17xmmr6pfzhdnmf45jzvk84gbfnmlw1qfv1gqjaw85vgm8b6jn6l"; depends=[dplyr httr jsonlite rlang tibble]; };
   guess = derive2 { name="guess"; version="0.1"; sha256="198pxi0yipgm9wccpj3y4a0gkibhyxcmb7v5dz7ipzrk44ha5g6j"; depends=[Rsolnp]; };
@@ -10401,13 +10514,14 @@ in with self; {
   gunsales = derive2 { name="gunsales"; version="0.1.2"; sha256="02vz16lhym72vvf48yai1g371wygdlmi63a6ylc147l0b69jgw31"; depends=[data_table dplyr ggplot2 seasonal x13binary zoo]; };
   gustave = derive2 { name="gustave"; version="0.4.3"; sha256="08az0j9cfalf2jf6qhsxhml3ranvacan85xp4d6zqdrgly00qsr2"; depends=[Matrix]; };
   gutenbergr = derive2 { name="gutenbergr"; version="0.2.1"; sha256="0rsk583x4i1ac6rbxr5f5cmczr4525bkv20jw7777n8fwn91zvyr"; depends=[dplyr lazyeval purrr readr stringr urltools]; };
-  gvc = derive2 { name="gvc"; version="6.0.0"; sha256="0sn2rhab39biqbmab7z12wkyar5h44hzdvds94ybyb1dgcsa3sfl"; depends=[decompr diagonals]; };
+  gvc = derive2 { name="gvc"; version="6.2.0"; sha256="1m15kjdh1c5x1d0ly6hz0svssv1hn03ijrkp7dgipxcldcnv5rq9"; depends=[decompr diagonals]; };
   gvcR = derive2 { name="gvcR"; version="0.1.0"; sha256="0r54924b9a65k11p8y3p7jxbvmpb7s7vs87v65hhl98gxacj5hk8"; depends=[dplyr eda4treeR lme4 magrittr]; };
   gvcm_cat = derive2 { name="gvcm.cat"; version="1.9"; sha256="1kwfcmnl1ivv1lh3zxccwls2xfyx3l8v71ngc0bg6441i81d4xp5"; depends=[MASS Matrix mgcv]; };
   gvlma = derive2 { name="gvlma"; version="1.0.0.3"; sha256="16dhd407bwjs91c3p9kk43646197s7n9vbyghxb4ckrpv3fsaxp0"; depends=[]; };
   gwaRs = derive2 { name="gwaRs"; version="0.3.0"; sha256="1mjwsf1sbrd88psiz6f74zddv1wvhpxk5nxbfjpdrxs74rkc36fs"; depends=[data_table dplyr ggplot2 ggrepel RColorBrewer scales tidyr]; };
   gwasforest = derive2 { name="gwasforest"; version="1.0.0"; sha256="122fg4pc409lvw4yvrc8ijm6d6j29b4aacd319a16caxkkydgwlb"; depends=[colorspace data_table dplyr ggplot2 ggrepel glue]; };
   gwasrapidd = derive2 { name="gwasrapidd"; version="0.99.12"; sha256="0pn7mdip361s2l3nqmjl0zqmr0g5406cfr1v5l20m2gkacxqfds6"; depends=[assertthat concatenate dplyr glue httr jsonlite lubridate magrittr pingr plyr progress purrr rlang stringr testthat tibble tidyr urltools]; };
+  gwavr = derive2 { name="gwavr"; version="0.1.0"; sha256="04myyx5jll0xiarsdj513rlqg5hci1204kyzfknff874l2qxm2j7"; depends=[dplyr httr jsonlite leaflet leaflet_extras magrittr miniUI nhdplusTools promises purrr scales sf shiny shinyWidgets tidyr units]; };
   gwdegree = derive2 { name="gwdegree"; version="0.1.1"; sha256="0p06hjp7vay83kbpqsgfr1d8z3ayv483rxbv86fdka94gvi1sjyc"; depends=[dplyr ergm ggplot2 gtools magrittr network scales shiny shinydashboard sna tidyr]; };
   gwer = derive2 { name="gwer"; version="3.0"; sha256="0jiq5v37mbn6y7vl5gs8qahb796jrfqj0m54sd38vim8yhhjwfy8"; depends=[assertthat glogis GWmodel maptools Matrix sp spData spdep spgwr]; };
   gwerAM = derive2 { name="gwerAM"; version="1.0"; sha256="1c3rzd1jf52a4dn63hh43m9s9xnjvqn67amlm9z1ndrnn6fwfg1b"; depends=[MASS Matrix]; };
@@ -10415,9 +10529,10 @@ in with self; {
   gwpcormapper = derive2 { name="gwpcormapper"; version="0.1.3"; sha256="0d8skx6rxas5qvhg7ykhymrzd6dawj45421vr66r4wi4hbdfjbzx"; depends=[attempt config corpcor crosstalk dplyr DT geodist glue golem htmltools leaflet pkgload plotly processx Rcpp sf shiny shinydashboard shinyjs viridis]; };
   gwrpvr = derive2 { name="gwrpvr"; version="1.0"; sha256="0x15nv2pfv99c04lgs6q6hgczarld34xc4aqw9bn179m7j02v6m3"; depends=[]; };
   gwrr = derive2 { name="gwrr"; version="0.2-1"; sha256="1fjk217pimnmxsimqp9sn02nr1mwy3hw3vsr95skbfsd6vdda14d"; depends=[fields lars]; };
-  gwsem = derive2 { name="gwsem"; version="2.1.3"; sha256="0jvwgam7y2zxpcqc1idxjbfjva8rjjv13vlgsagcxryppahbk0n1"; depends=[BH data_table lifecycle OpenMx qqman Rcpp]; };
+  gwsem = derive2 { name="gwsem"; version="2.1.4"; sha256="0qqcbkxkkfwraz750wvk1f86mqy6f2ndkspd8qr0ypnnlh3i0yzl"; depends=[BH data_table lifecycle OpenMx qqman Rcpp]; };
   gym = derive2 { name="gym"; version="0.1.0"; sha256="0vcwzgawqwjsf65hr1mbjkz3px8zsibfkn42jpsg39n13jpfjq8v"; depends=[httr jsonlite]; };
-  h2o = derive2 { name="h2o"; version="3.36.0.1"; sha256="17i0mmsaq6c8xy8qm4ib7z7vd8n8bpy7wxw1ik93bk7m1yy35y89"; depends=[jsonlite RCurl]; };
+  gyro = derive2 { name="gyro"; version="0.1.0"; sha256="0knghb9hb9f1vli860qcaklb4d6pfmzyyx5ffyld7mimwmcwxyns"; depends=[clipr cxhull Morpho purrr rgl rstudioapi Rvcg]; };
+  h2o = derive2 { name="h2o"; version="3.36.0.2"; sha256="1rkjq72g08r24q1y3g7nx60jr2bqv06hkwx2i4wkggrl0c30wsfv"; depends=[jsonlite RCurl]; };
   h2o4gpu = derive2 { name="h2o4gpu"; version="0.3.3"; sha256="004sskj3a1mzjfh86m0rq02z1f3kd6650bzv1d3j8pj0xdmqb86c"; depends=[magrittr reticulate]; };
   h3jsr = derive2 { name="h3jsr"; version="1.2.3"; sha256="0amj7ks83zisy18fgnsy6zx4rg88ldyr0vhanh96dw3fbhhdh7kc"; depends=[geojsonsf sf tidyr V8]; };
   hBayesDM = derive2 { name="hBayesDM"; version="1.1.1"; sha256="16ilkmhyb7lgfd8s2qhjg952gfwkmfg154w4nw306j988a2ivc6h"; depends=[BH data_table ggplot2 loo Rcpp RcppEigen rstan StanHeaders]; };
@@ -10434,6 +10549,8 @@ in with self; {
   hadron = derive2 { name="hadron"; version="3.1.2"; sha256="04qd3lb6im5shf24ss88jkskab1rwn7m2d94x0ybbmfcg3l5dhm0"; depends=[abind boot dplyr R6 Rcpp stringr]; };
   hagis = derive2 { name="hagis"; version="3.1.3"; sha256="1x2vnym7da8kbj3ifi09z9dlqgprh73n03535gankqzd6pd7n1k4"; depends=[data_table ggplot2 pander]; };
   hakaiApi = derive2 { name="hakaiApi"; version="1.0.0"; sha256="0wk0qmg2g1hj6bsvhr5xys02l32adn1qypv8rdma643qfvlcp46c"; depends=[httr R6 readr tibble]; };
+  hal9001 = derive2 { name="hal9001"; version="0.4.2"; sha256="1s9yp4yk89s0r762svgicpcnlndqgqqgvb3h920707nnj9vdlqfq"; depends=[assertthat data_table glmnet Matrix origami Rcpp RcppEigen stringr]; };
+  haldensify = derive2 { name="haldensify"; version="0.2.2"; sha256="1g7ar16303gpnpx74krwmvjxip54rfbh0n9cxwzilyrn4bghlfsj"; depends=[assertthat data_table dplyr future_apply ggplot2 hal9001 matrixStats origami Rdpack rlang rsample scales tibble]; };
   halfcircle = derive2 { name="halfcircle"; version="0.1.0"; sha256="1gbqbv3cn8w09i3f2ji3qq0snb4fy9243y12agw686fx46dfmhxs"; depends=[scales]; };
   hamlet = derive2 { name="hamlet"; version="0.9.6"; sha256="076fh28grlrv38qywshi79m84jsz1ck9k4n0rg4svvr3gqkdbcn2"; depends=[]; };
   handlr = derive2 { name="handlr"; version="0.3.0"; sha256="0l0jwlslz2pyg7q447k56acfhgmx5njsriqdrwd02zzbsc3g6wm5"; depends=[crul jsonlite mime urltools xml2 yaml]; };
@@ -10446,11 +10563,12 @@ in with self; {
   haploR = derive2 { name="haploR"; version="4.0.6"; sha256="1cg92v64xdzmr5hbjhd11rz6rkdddsxcxkqdgbj5hd1ldqsrjj45"; depends=[DT httr plyr RCurl RJSONIO RUnit tibble XML]; };
   haplotyper = derive2 { name="haplotyper"; version="0.1"; sha256="0pcshlh29c4zazhkcq4371kqh9inrbx494y5a1qb1k2c92fkax31"; depends=[]; };
   haplotypes = derive2 { name="haplotypes"; version="1.1.2"; sha256="07grdwli0kxnnnf7mg8z7gjpny88h71vf867g50f08yybgb46y70"; depends=[ape network phangorn plotrix sna]; };
+  happign = derive2 { name="happign"; version="0.1.2"; sha256="1p3nrlirwd4kkffj2khw2lch1a8ixq7754vi77nmf9l5783h8y0x"; depends=[curl dplyr httr magrittr sf stars stringr tidyr xml2]; };
   happytime = derive2 { name="happytime"; version="0.1.0"; sha256="03iblwb6w2dh9sibfi4nlswidck13hzsn7123838zp4sxfnrp041"; depends=[]; };
   hapsim = derive2 { name="hapsim"; version="0.31"; sha256="0jw6iw89d4y8wjy58biv40szp123ql7frz1mmdjdxljmwaby963h"; depends=[MASS]; };
-  hardhat = derive2 { name="hardhat"; version="0.1.6"; sha256="07mx8c24gy0xfmip9hb5w29gp10sfnpnilzc1pi0hjadnrqz8mks"; depends=[glue rlang tibble vctrs]; };
+  hardhat = derive2 { name="hardhat"; version="0.2.0"; sha256="0a4nq93cmps5xy8h0qsv6xyzrbsz9ka4iwkrvb8m8v10wq7wm5wl"; depends=[glue rlang tibble vctrs]; };
   harmonicmeanp = derive2 { name="harmonicmeanp"; version="3.0"; sha256="17irfw8788yhh36698p9w8wab6wcin1yzfinlbs3gdg70d42zcnd"; depends=[FMStable]; };
-  harmonizer = derive2 { name="harmonizer"; version="0.1.0"; sha256="1xrb127irxbbjfvqanj3m8n4wj5qhk6nxmq0633pnm435n9zgrm2"; depends=[]; };
+  harmonizer = derive2 { name="harmonizer"; version="0.2.0"; sha256="16js4dnrqzlvmc8s34aic1rchp1nwalbyx3v52zzxbln8f3xxacs"; depends=[]; };
   harmony = derive2 { name="harmony"; version="0.1.0"; sha256="0jkj9y4j6ja2d6y5j0akmkkgpppprk65i6bwwhs163g918i8qng0"; depends=[cowplot dplyr ggplot2 irlba Matrix Rcpp RcppArmadillo RcppProgress rlang tibble tidyr]; };
   harrietr = derive2 { name="harrietr"; version="0.2.3"; sha256="0n6vsqysj4ijh06z6nqmj8x1z4w9711dxhbfp8p8fwi0l75pj0cj"; depends=[ape dplyr ggtree lazyeval magrittr rlang tidyr]; };
   harrypotter = derive2 { name="harrypotter"; version="2.1.1"; sha256="1j3sv0rpp4lcrf09j4a3an4lkwi2x1z18iv62fk6c2kpp9b14b8r"; depends=[ggplot2 gridExtra]; };
@@ -10492,11 +10610,11 @@ in with self; {
   hds = derive2 { name="hds"; version="0.8.1"; sha256="1smg5ixrl7f2x3wn7s5i26dyadn5sigpf4jsk236z1bhnz617ax4"; depends=[survival tensor]; };
   healthcareai = derive2 { name="healthcareai"; version="2.5.0"; sha256="05qsmgrnaagnavlrs9c6j01j9c3lcc9j7cmbrx3y6lb6pf4zs195"; depends=[caret cowplot data_table dplyr e1071 generics ggplot2 glmnet lubridate MLmetrics purrr ranger recipes rlang ROCR stringr tibble tidyr xgboost]; };
   healthfinance = derive2 { name="healthfinance"; version="0.1.0"; sha256="163zhdd5mqp0q872dmr3xzw2ppapnwp46rr7vkkfnglz635nxvpz"; depends=[ggplot2 lubridate readr scales shiny tibble]; };
-  healthyR = derive2 { name="healthyR"; version="0.1.6"; sha256="1px9c0i0qf0b85nbwjv0cccy2viqvi6c2pd1vx3s6yncj3vx3a5x"; depends=[cowplot dplyr ggplot2 ggrepel lifecycle lubridate magrittr plotly purrr rlang scales sqldf stringr tibble tidyr timetk writexl]; };
-  healthyR_ai = derive2 { name="healthyR.ai"; version="0.0.4"; sha256="0nxz4fsxp7ra3inb7qpj2xp49980ksqjr9wz18yi9l969swhqv6c"; depends=[broom dplyr forcats ggplot2 ggrepel h2o magrittr parsnip purrr recipes rlang rsample tibble tidyr]; };
+  healthyR = derive2 { name="healthyR"; version="0.1.7"; sha256="1ci1am982ym9xjrxalwr6k2ygkf4nycjmnwh2dzi4y8s4j9n1jwn"; depends=[cowplot dplyr ggplot2 ggrepel lubridate magrittr plotly purrr rlang scales sqldf stringr tibble tidyr timetk writexl]; };
+  healthyR_ai = derive2 { name="healthyR.ai"; version="0.0.5"; sha256="0jzzzyjhm5v570qb04n10pm2jv1gin650dgjsbw96m2k2x0f8758"; depends=[broom dplyr forcats ggplot2 ggrepel h2o magrittr purrr recipes rlang rsample tibble tidyr]; };
   healthyR_data = derive2 { name="healthyR.data"; version="1.0.1"; sha256="18b7aqdy9a0ldf2ib2d0a07k6bfmgdp61y8hl8yl19v35nqj6dvh"; depends=[]; };
   healthyR_ts = derive2 { name="healthyR.ts"; version="0.1.7"; sha256="04sihmw238ddd3c9zp16lf579czzahxdbikwn5g26c6g8a5z44wp"; depends=[cowplot dplyr earth forcats ggplot2 lubridate magrittr modeltime parsnip plotly purrr recipes rlang stringi tibble tidyquant tidyr timetk workflowsets]; };
-  healthyverse = derive2 { name="healthyverse"; version="1.0.1"; sha256="088vf0va382341jri9y8p5ygdz76jv3fnjf6y0ldf535grifb3dc"; depends=[cli crayon dplyr healthyR healthyR_ai healthyR_data healthyR_ts magrittr purrr rlang rstudioapi tibble]; };
+  healthyverse = derive2 { name="healthyverse"; version="1.0.2"; sha256="1ngxadwpd62lx6y41szqckv1f2j8ja1hy4qx08vccpjbmlcg8v1b"; depends=[cli crayon dplyr healthyR healthyR_ai healthyR_data healthyR_ts magrittr purrr rlang rstudioapi tibble TidyDensity]; };
   heapsofpapers = derive2 { name="heapsofpapers"; version="0.1.0"; sha256="1b88ff4j6rh0qif43iyb12wipkkjmp5qx33qfzgffr5m54df4kfy"; depends=[aws_s3 curl dplyr fs magrittr rlang scales]; };
   heatex = derive2 { name="heatex"; version="1.0"; sha256="0c7bxblq24m80yi24gmrqqlcw8jh0lb749adsh51yr6nzpap6i9n"; depends=[]; };
   heatmap3 = derive2 { name="heatmap3"; version="1.1.9"; sha256="0sfvizmmwfk1bjhn6zfx5a4qqfgj1ldg8x90b65crqibgfa36k2r"; depends=[fastcluster]; };
@@ -10538,6 +10656,7 @@ in with self; {
   hexbin = derive2 { name="hexbin"; version="1.28.2"; sha256="0bbhs5pwxh474w62sq6gqvih7habancxng9wd4f2rgn6lv9zhhb2"; depends=[lattice]; };
   hextri = derive2 { name="hextri"; version="0.6"; sha256="05rvigi225npncbr1brc6apc7gsg9a5jzcbmhvflwp3hbcg3hn02"; depends=[FNN hexbin]; };
   hflights = derive2 { name="hflights"; version="0.1"; sha256="1rb6finck13i6949i6hsgfk90q4ybxh1m3is2mlw2m6087bpzfbd"; depends=[]; };
+  hfr = derive2 { name="hfr"; version="0.5.0"; sha256="0wq48x22xmshw4d3i3n0q47h2y9h646fw578kahvfhh9ksxbpf94"; depends=[dendextend quadprog RColorBrewer RcppArmadillo]; };
   hglasso = derive2 { name="hglasso"; version="1.2"; sha256="1qq41ma33wz7qjs5zx72yvngpsiq62z9sd6d5hvvl83brq0fcr4b"; depends=[fields glasso igraph mvtnorm]; };
   hglm = derive2 { name="hglm"; version="2.2-1"; sha256="1lyxkvqzfll1qrz5c2km9ikhq0dm63x39by4vc1nmkd24yza93nc"; depends=[hglm_data MASS Matrix]; };
   hglm_data = derive2 { name="hglm.data"; version="1.0-1"; sha256="0mw1s0kahsh9jmwkxysfy5f7vbld7mpzmdnnww6im5h21jhnczx2"; depends=[MASS Matrix sp]; };
@@ -10546,10 +10665,10 @@ in with self; {
   hhcartr = derive2 { name="hhcartr"; version="1.0.0"; sha256="104xy3ihpi031pyzifnpc0jfq68gsbc12gzv6hp1vjrgy0nqw5l1"; depends=[bookdown captioner checkmate DiagrammeR DiagrammeRsvg ggplot2 hash Matrix rsvg]; };
   hhh4contacts = derive2 { name="hhh4contacts"; version="0.13.1"; sha256="1cqwn09iqgh6131cm4b5j0kx7k5vil0ak42v064g4maayj0yqy7p"; depends=[surveillance]; };
   hhi = derive2 { name="hhi"; version="1.2.0"; sha256="1yl52c3nqdi8v60sr01l0vv8359803dm2i4c9ifazgj3h3a4h0yp"; depends=[ggplot2]; };
-  hhsmm = derive2 { name="hhsmm"; version="0.2.3"; sha256="0m6fx4d8xm0jvcygmhwnjbmq8jvzmfwhkj1hrf9dpsryp44hk2hf"; depends=[CMAPSS MASS mice mvtnorm Rcpp Rdpack]; };
+  hhsmm = derive2 { name="hhsmm"; version="0.2.4"; sha256="00rzjxdw3p334yr6in9vfxzf3s347d6369ad8fnmgnzk8d14l6p0"; depends=[CMAPSS cpr MASS mice mvtnorm psych Rcpp Rdpack]; };
   hht = derive2 { name="hht"; version="2.1.4"; sha256="0i4rjr507k555pvf7q6y6b3df56rjc6igrv8dk0mhyfws49jw9m9"; depends=[EMD fields spatstat spatstat_core spatstat_geom spatstat_linnet]; };
   hiPOD = derive2 { name="hiPOD"; version="1.0"; sha256="1i15ickz2s0kffh99qq30pl5hsl0lbj0kp55jnbv4x72hndzhmla"; depends=[rgl]; };
-  hibayes = derive2 { name="hibayes"; version="1.0.0"; sha256="1bpn2d59fbp7b286sl1izfzlfygqc8m5f7p1d8a4jg1fh1yyxzxm"; depends=[BH bigmemory Matrix Rcpp RcppArmadillo RcppProgress]; };
+  hibayes = derive2 { name="hibayes"; version="1.0.1"; sha256="0ah81gwbsz2j466jwk39w6h4fi02ivwxi9ppir9svyf1nxig409j"; depends=[BH bigmemory Matrix Rcpp RcppArmadillo RcppProgress]; };
   hiddenf = derive2 { name="hiddenf"; version="2.0"; sha256="0shc1kfiq527mkc5i97zcm51hsvknnhjg7dyfvbfqyk145v6sz00"; depends=[]; };
   hier_part = derive2 { name="hier.part"; version="1.0-6"; sha256="15wlpb2rsn6am8galsbjiy4psp78nlv1x2hz3cnqbwj508w6gsj0"; depends=[betareg gtools MASS]; };
   hierBipartite = derive2 { name="hierBipartite"; version="0.0.2"; sha256="1f6agxrv363wksi33b29v42hys90351ninb4li9m52n0kzv25m1f"; depends=[irlba magrittr]; };
@@ -10565,9 +10684,9 @@ in with self; {
   highDmean = derive2 { name="highDmean"; version="0.1.0"; sha256="0z81iw1nb8y4pvmhk8ay9pq4kvqxwxwv8q6p47hy8s2b465sfy1f"; depends=[]; };
   highMLR = derive2 { name="highMLR"; version="0.1.0"; sha256="1pb3fgycbrvzbd27p9hmq7wq9b8dbdb3r4q81nr9nnk2d5v00nai"; depends=[coxme dplyr gtools missForest mlr3 mlr3learners mlr3proba survival tibble]; };
   highSCREEN = derive2 { name="highSCREEN"; version="0.4"; sha256="1nd4jayfhz89kpk4i7s3n3wlza1ik4w3gspplnjmfz951f8i3wlg"; depends=[gplots]; };
-  highTtest = derive2 { name="highTtest"; version="1.1"; sha256="18hgxlr0y8y1d4ldqmfcg4536lhyn5p6w88sq1vj74qr5wzydga1"; depends=[]; };
+  highTtest = derive2 { name="highTtest"; version="1.2"; sha256="14y2dsdkalrxcj52rsj2aw6b8sdhw2hcvlwz0bmvihj19j6xhaw4"; depends=[]; };
   highcharter = derive2 { name="highcharter"; version="0.9.4"; sha256="02yyzfhzgkrp8hgdp2gyqrrvxzh9wqn3c90lyd9nlavn4qn4789z"; depends=[assertthat broom dplyr htmltools htmlwidgets igraph jsonlite lubridate magrittr purrr quantmod rjson rlang rlist stringr tibble tidyr xts yaml zoo]; };
-  highfrequency = derive2 { name="highfrequency"; version="0.9.1"; sha256="1bbvcp5dw98hgwyzc8gh1rmqjgbbgd673agjs37s6ias8kf2y2nl"; depends=[cubature data_table mvtnorm numDeriv quantmod Rcpp RcppArmadillo RcppRoll robustbase Rsolnp sandwich xts zoo]; };
+  highfrequency = derive2 { name="highfrequency"; version="0.9.2"; sha256="02d4ixw74yvzhrkxivi6cm9kahyhgsgzbrngqg7x0ixzli272h63"; depends=[data_table numDeriv quantmod Rcpp RcppArmadillo RcppRoll robustbase Rsolnp sandwich xts zoo]; };
   highlight = derive2 { name="highlight"; version="0.5.0"; sha256="1shar4y07wyixg0ichdrn2xhgwkl3mv2pxkalqzisc69w605b3hf"; depends=[]; };
   highlightHTML = derive2 { name="highlightHTML"; version="0.2.5"; sha256="0j3zrvil7k5wfsbgfj2b4nbx77qsj3b4makv5angcf8s59p7q80r"; depends=[]; };
   highmean = derive2 { name="highmean"; version="3.0"; sha256="1lq7z0l1737j4wvsy7951405afylyywp7vf2i7girzh459fdfzpc"; depends=[MASS mnormt mvtnorm]; };
@@ -10584,7 +10703,7 @@ in with self; {
   himach = derive2 { name="himach"; version="0.2.3"; sha256="0gc9ii6wqr2calrqgma7dc9vrp0fqxq019cr1ims06h55c5qzand"; depends=[cppRouting data_table dplyr geosphere ggplot2 lwgeom purrr s2 sf tidyr]; };
   hindex = derive2 { name="hindex"; version="0.2.0"; sha256="01mcd2br33qqkfcyxl584f3l6kyb2cgzpd207p0mynzdaallgxgc"; depends=[foreach ggplot2 purrr]; };
   hindexcalculator = derive2 { name="hindexcalculator"; version="1.0.0"; sha256="06b4dn629avmnyqxb0l39m00wz9cg9dddmm6qhgwgnzlxh14ifgk"; depends=[]; };
-  hint = derive2 { name="hint"; version="0.1-1"; sha256="1n18j2hcb1qynhsln10nzryi20l5aqhr7i1aanww10y5dz573zi3"; depends=[]; };
+  hint = derive2 { name="hint"; version="0.1-3"; sha256="00ppz8009cp0wbkmrxdg8x9jjqqb803bl6ki13hsqz07aya0j4iy"; depends=[]; };
   hiphop = derive2 { name="hiphop"; version="0.0.1"; sha256="0k071kxf04b95f3z5y2h9dhnqrvzwgyhi3q26ghn3s76c155f1k1"; depends=[]; };
   hipread = derive2 { name="hipread"; version="0.2.2"; sha256="1y51yif2spl6brqjvb20k9r6xwkr5f6brv08qcl4g9xg561yngff"; depends=[BH R6 Rcpp rlang tibble]; };
   hisse = derive2 { name="hisse"; version="2.1.6"; sha256="08pz0ys0hk7kjfz18959v5kkw5xijnkp97l9fagwb8wjgsk5lbb7"; depends=[ape corHMM data_table deSolve diversitree geiger GenSA igraph nloptr paleotree phangorn phytools plotrix subplex TreeSim]; };
@@ -10599,7 +10718,7 @@ in with self; {
   hkdatasets = derive2 { name="hkdatasets"; version="1.0.0"; sha256="1a594fgwc5bvimwp5m2zpb6pjy4iavcylxdmsq3hrnh9ll5g5582"; depends=[fst]; };
   hkevp = derive2 { name="hkevp"; version="1.1.4"; sha256="01m5yywi4vjnwhdayaqaqcp5lz70mllj5ifnwdb4c60wm9aby9pm"; depends=[Rcpp RcppArmadillo]; };
   hkex_api = derive2 { name="hkex.api"; version="0.1"; sha256="0hqwihlrppchpaz2yaq92gf779yi5k8n7sxy1kbpjxs2qc18xvj2"; depends=[httr RCurl XML]; };
-  hlaR = derive2 { name="hlaR"; version="0.1.1"; sha256="01zw9221may6nslnvdx2ziddjkk67x4vmng1il3wkk98l334i5b8"; depends=[devtools dplyr here purrr readr readxlsb reshape2 schoolmath stringr tibble tidyr tidyverse usethis]; };
+  hlaR = derive2 { name="hlaR"; version="0.1.2"; sha256="1n2spkdd41c37rpa6978dlyml3r2rmmjly2ga451ri678s53l7hm"; depends=[devtools dplyr here purrr readr readxlsb reshape2 schoolmath stringr tibble tidyr tidyverse usethis]; };
   hlidacr = derive2 { name="hlidacr"; version="0.2.0"; sha256="02l86bvb4w8wdq9mk9zh5wkf5i5y5jlgld0ciz851p5ra70c395p"; depends=[curl glue httr jsonlite purrr stringr urltools usethis]; };
   hmclearn = derive2 { name="hmclearn"; version="0.0.5"; sha256="0zalvgnibd1kygryqcah5d008y6a0nxpy61yyiqsriw89r01jyjk"; depends=[bayesplot MASS mvtnorm]; };
   hmeasure = derive2 { name="hmeasure"; version="1.0-2"; sha256="0l4nlny532kddiaa1nmgd37971whhwzb54mb1pvbwax7fsg6hmhw"; depends=[]; };
@@ -10629,8 +10748,8 @@ in with self; {
   hoopR = derive2 { name="hoopR"; version="1.5.0"; sha256="1ndw76a733q225r67w6qxhkbbz5f4bll7bxfl3psy58z60qg02dh"; depends=[cli data_table dplyr furrr future glue janitor jsonlite magrittr progressr Rcpp RcppParallel rlang rvest stringr tidyr usethis]; };
   hopbyhop = derive2 { name="hopbyhop"; version="3.41"; sha256="1dh502mjrk9dlqikn0ak4gh2dw9nrnp3zrz8j1xwa9cjn37al2wh"; depends=[ggplot2 pastecs]; };
   hopit = derive2 { name="hopit"; version="0.10.3"; sha256="1dhfsbf4j2acncw0ypg44lkphhznafd80880jxfl6jdhd9fg2nn8"; depends=[MASS Matrix Rcpp RcppEigen Rdpack survey]; };
+  hopkins = derive2 { name="hopkins"; version="1.0"; sha256="06fdks0jxv47d9xsyxzx2fdrbjw40dqj26qfkv5wdlcyv3lcfc4y"; depends=[donut pdist RANN]; };
   hornpa = derive2 { name="hornpa"; version="1.0"; sha256="0pfvk2jkrwgvshgq9g55qijgpjh0677rpbya0r8759n92v3axbp4"; depends=[]; };
-  horserule = derive2 { name="horserule"; version="1.0.0"; sha256="0d348pn0ld7lr9lfl1z05905l9kl296j0xic1pib6r5l1c5600r9"; depends=[gbm ggplot2 inTrees MASS mvnfast randomForest RColorBrewer Rdpack]; };
   horseshoe = derive2 { name="horseshoe"; version="0.2.0"; sha256="1qhkw6agkhpmgf27429c3kqqhbvpg61l0dvfxg7n564y2ha76r3c"; depends=[]; };
   horseshoenlm = derive2 { name="horseshoenlm"; version="0.0.6"; sha256="1m3n12wgmb1wnxc40bzpna261das8hy47l7hmvhfbzhmp7v803v5"; depends=[msm survival]; };
   hospitals = derive2 { name="hospitals"; version="0.1.0"; sha256="03bg0fl1wpc7rxlzxgjdk48x8zsd7lv64dcs0fbg573wkhp02vim"; depends=[magrittr stringr tibble]; };
@@ -10663,12 +10782,11 @@ in with self; {
   hsrecombi = derive2 { name="hsrecombi"; version="0.3.4"; sha256="0ca6672px0y5cibv9hk4hc638rp4d3bhbw0qn81irwwk84yacspv"; depends=[curl data_table dplyr hsphase quadprog Rcpp rlist]; };
   hsstan = derive2 { name="hsstan"; version="0.8.1"; sha256="0k7sqwx73zid68ji9l2hfihqdlk3rdpid81pp8g3fmi8dpvrzkms"; depends=[BH ggplot2 loo pROC Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
   htdp = derive2 { name="htdp"; version="0.1.4"; sha256="0w579qp0p544xryb5r08m1nhqf7rmgv9q0lyx6my4av62l70ka5w"; depends=[Rcpp]; };
-  htestClust = derive2 { name="htestClust"; version="0.2.0"; sha256="1nwj74w5hyz929jz2qci12x1zpk9gva75gn68k70l6xc5vya60qn"; depends=[bootstrap MASS]; };
   htm2txt = derive2 { name="htm2txt"; version="2.1.1"; sha256="09q026yy8qm1fb3a4bf9vsp4j09kayl7xmk0p58ikar5l3bmfdjv"; depends=[]; };
   html2R = derive2 { name="html2R"; version="0.1.0"; sha256="1zdnwbqlpjh8r2xcl83da9pzh9cb8h908krnrs61vqhka7zb82ng"; depends=[glue shiny shinyAce shinyjqui shinythemes]; };
   html5 = derive2 { name="html5"; version="0.1.0"; sha256="0ainfi0gb3ylg10j910z61j6qppfl6jh8399ng9wlpv8c7pjzs8l"; depends=[]; };
   htmlTable = derive2 { name="htmlTable"; version="2.4.0"; sha256="17csp0ry4iy4m5xy271dn5wd81v4p03l79swmvlfxkvpdmhvb8jc"; depends=[checkmate htmltools htmlwidgets knitr magrittr rstudioapi stringr]; };
-  htmldf = derive2 { name="htmldf"; version="0.4.0"; sha256="11xsrc5wxppyzi639jrqmd09js4mv8nrvn6zhnk5i06jirc0w0v7"; depends=[cld3 dplyr httr lubridate magrittr processx progress R_utils ranger rvest stringr tibble tidyr urltools xml2]; };
+  htmldf = derive2 { name="htmldf"; version="0.5.0"; sha256="088hqvg24m8sikg1kzirwrjni6m0p4qkw2h0kxg27fvb6q1zn05p"; depends=[cld3 dplyr httr lubridate magrittr processx progress R_utils ranger rvest stringr tibble tidyr urltools xml2]; };
   htmltab = derive2 { name="htmltab"; version="0.8.2"; sha256="09hnf339f3hzll7a0shq615h9d6f6xqrcv0c9iid6575m5qsallf"; depends=[httr XML]; };
   htmltidy = derive2 { name="htmltidy"; version="0.5.0"; sha256="1djkjff3750fm1sp54kf9cjvsqz2x7ia1ns12h5vqqcvwzfd0701"; depends=[htmltools htmlwidgets Rcpp XML xml2]; };
   htmltools = derive2 { name="htmltools"; version="0.5.2"; sha256="1yv74ydyqm28gfhimmr7825sj1iaawpwsnzq05c2ma756q2dbivx"; depends=[base64enc digest fastmap rlang]; };
@@ -10680,16 +10798,17 @@ in with self; {
   httpRequest = derive2 { name="httpRequest"; version="0.0.10"; sha256="0f6mksy38p9nklsr44ki7a79df1f28jwn2jfyb6f9kbjzh98746j"; depends=[]; };
   httpcache = derive2 { name="httpcache"; version="1.2.0"; sha256="026sl19301al3sid9hlwq8jz5b0zvh9a4n3cl4niqvc2b57h133r"; depends=[digest httr]; };
   httpcode = derive2 { name="httpcode"; version="0.3.0"; sha256="0xig0rvc81hg7mw0iq9s0an1nw24fg0kfs2p2n6dzhwl9w506fjr"; depends=[]; };
-  httpgd = derive2 { name="httpgd"; version="1.2.1"; sha256="1zidky766b2vzvgdc7dhrsaang8a0ak3shysza2ai8q5khbw87by"; depends=[BH cpp11 later systemfonts]; };
+  httpgd = derive2 { name="httpgd"; version="1.3.0"; sha256="0pzkydsgfnszzcvc9qfaksw4rp97ir63kq9164l0k0ha2nncvmpk"; depends=[BH cpp11 later systemfonts]; };
   httping = derive2 { name="httping"; version="0.2.0"; sha256="0hdcf51yak8yagy4xj9cyck934lgmvpkd08jvlql33ir5mqvvv3i"; depends=[httpcode httr jsonlite magrittr pryr]; };
   httpproblems = derive2 { name="httpproblems"; version="1.0.1"; sha256="0zd683xd9f9hz6dxm4bmic54jqjcabr23kwl6afsmdjwnrwwsn06"; depends=[]; };
   httptest = derive2 { name="httptest"; version="4.1.0"; sha256="1k5z55f5l7khi142787ignf57rfhxzf442rzbhpr04182g906xfx"; depends=[curl digest httr jsonlite testthat]; };
-  httpuv = derive2 { name="httpuv"; version="1.6.4"; sha256="0nx6fakpj9qh6izs6n26y3i8v4dm16h61ijw3gymsbif34fx532f"; depends=[later promises R6 Rcpp]; };
+  httptest2 = derive2 { name="httptest2"; version="0.1.0"; sha256="18i4lzqkmhd500rjfkh24drcqvw8ric3disddcl7bm3rddwn4bvh"; depends=[digest httr2 jsonlite rlang testthat]; };
+  httpuv = derive2 { name="httpuv"; version="1.6.5"; sha256="0mlilxh2mlrsbbrncla2rg02crr8nnajv649d8whx7ayr8lkdxpm"; depends=[later promises R6 Rcpp]; };
   httr = derive2 { name="httr"; version="1.4.2"; sha256="1y8y1g1dkgv9jafrk1kj6pzxpw95c0rr9lplblfq2byrs1pfsas6"; depends=[curl jsonlite mime openssl R6]; };
   httr2 = derive2 { name="httr2"; version="0.1.1"; sha256="1lkl73wignikdldxbmb8iic55x2l9h3jh2936db4g8jp8xkn3jhd"; depends=[cli curl glue magrittr openssl R6 rappdirs rlang withr]; };
   hues = derive2 { name="hues"; version="0.2.0"; sha256="062i7yc16nmnp15c1jh4xffw2lpklp36wkn1yvagh186ahnlgffx"; depends=[colorspace]; };
   huge = derive2 { name="huge"; version="1.3.5"; sha256="1sl457a1lndrx98y2j9a2smanawx2iqlhl82iand0g3p5xp8ch4j"; depends=[igraph MASS Matrix Rcpp RcppEigen]; };
-  huito = derive2 { name="huito"; version="0.1.1"; sha256="1md8s5d1w1sz2zj4dn3palc6vr4ha5cdwv28x2pdi61dnfxm4q9z"; depends=[cowplot dplyr ggplot2 magick pdftools purrr qrcode showtext sysfonts tibble tidyr]; };
+  huito = derive2 { name="huito"; version="0.1.2"; sha256="0pws7si5x3vxqs3lc5pj1i1za1psq85l8l7xhrvasn1zzfgim2q4"; depends=[cowplot dplyr ggplot2 magick pdftools purrr qrcode showtext sysfonts tibble tidyr]; };
   humanFormat = derive2 { name="humanFormat"; version="1.0"; sha256="0zwjbl8s5dx5d57sfmq6myc6snximc56zl88h8y1s1jqphyn9sir"; depends=[testthat]; };
   humaniformat = derive2 { name="humaniformat"; version="0.6.0"; sha256="0vaynjzz57pk4y1liag9lpn9jkag2033a6bkn28zzm7ndg3344l6"; depends=[Rcpp]; };
   humanize = derive2 { name="humanize"; version="0.2.0"; sha256="0hhhd640n77s8xaa2gbd9fckdk2yjg68gdb7wjy56a2khzqfssxr"; depends=[assertthat glue lubridate]; };
@@ -10735,7 +10854,7 @@ in with self; {
   hypergeo = derive2 { name="hypergeo"; version="1.2-13"; sha256="13jdiy216znwhr91iqnh03mvkmyscw439syb3h4i67dd78sphnvd"; depends=[contfrac deSolve elliptic]; };
   hyperoverlap = derive2 { name="hyperoverlap"; version="1.1.1"; sha256="10kcphn5zl1pl70xg9bn947i9mbnjxk03p6y7xhdlv152cihffw0"; depends=[e1071 ggplot2 MASS matlib misc3d rgl]; };
   hypersampleplan = derive2 { name="hypersampleplan"; version="0.1.1"; sha256="1sk3s1jm46ac4i7p433s3kyngj86kq2821zzhp30a3y8vi1j2psq"; depends=[]; };
-  hypervolume = derive2 { name="hypervolume"; version="3.0.0"; sha256="1iscpr7vldsr6wfnvgyfkylkp8mb0l7939hkwlmxj4nnxvhaphfc"; depends=[caret data_table doParallel dplyr e1071 fastcluster foreach geometry ggplot2 hitandrun ks maps MASS mvtnorm palmerpenguins pbapply pdist progress purrr raster Rcpp RcppArmadillo rgeos sp]; };
+  hypervolume = derive2 { name="hypervolume"; version="3.0.2"; sha256="03cmimncj3jj0q5f04mmy0a7xh4928278fvqy3lfg3snc3k7n7m7"; depends=[caret data_table doParallel dplyr e1071 fastcluster foreach geometry ggplot2 hitandrun ks maps MASS mvtnorm palmerpenguins pbapply pdist progress purrr raster Rcpp RcppArmadillo rgeos sp]; };
   hypoRF = derive2 { name="hypoRF"; version="1.0.0"; sha256="1yyq1pjxm9p395wq4zfimvcagspl8vlk0kzpa92pr084q5f7jcyr"; depends=[ranger]; };
   hypothesestest = derive2 { name="hypothesestest"; version="1.0"; sha256="0g8sm386m1zm9i3900r62x83wb600cy8hqk7dlvbx6wcgrxg82sm"; depends=[]; };
   hypothesisr = derive2 { name="hypothesisr"; version="0.1.1"; sha256="0z06risagphhvqiw4lrxy52q6q2yr10w2yxsm8iz1wh9ik097pcv"; depends=[dplyr httr jsonlite]; };
@@ -10771,16 +10890,15 @@ in with self; {
   iMRMC = derive2 { name="iMRMC"; version="1.2.3"; sha256="1qga4mm5vslfmxcm3p99nijr4573kq71pfb6yd2ayl6lgjf3y0c3"; depends=[]; };
   iMediate = derive2 { name="iMediate"; version="0.5.5"; sha256="1lwhrzm4g2fcazh782g7p11v5pyx165ig1dzgkmdmjffpwk0w8b4"; depends=[MBESS mvtnorm plotly]; };
   iNEXT = derive2 { name="iNEXT"; version="2.0.20"; sha256="14bagsb0ja3j53i0g4a2ax2gj7lyc6sjcc7isdjx94clbnc2zcsg"; depends=[ggplot2 reshape2]; };
-  iNZightMR = derive2 { name="iNZightMR"; version="2.2.5"; sha256="1zxvlz0wyf4n2kpyk82grlww71agvfqp3apswbrimpvi13c9nzhl"; depends=[]; };
-  iNZightPlots = derive2 { name="iNZightPlots"; version="2.13.3"; sha256="0dj39qwcxr9pbqpkq40m4758014rwd5hi219slnjcwl6pikf6ndm"; depends=[boot chron colorspace dichromat hexbin hms iNZightMR iNZightTools lubridate magrittr quantreg rlang s20x scales survey]; };
-  iNZightRegression = derive2 { name="iNZightRegression"; version="1.3.1"; sha256="0vqk4574xm7xwdg1vmlc4alhfby02ifvrkc1q3vabs7zxix0xn35"; depends=[car dplyr ggplot2 ggrepel ggtext iNZightPlots multcomp patchwork]; };
-  iNZightTS = derive2 { name="iNZightTS"; version="1.5.8"; sha256="0nqjxjphd9lrwkj8qs05qk8sf70kyi6akvcpp9f5shb043csnbqr"; depends=[colorspace dplyr forcats ggplot2 ggtext glue gridExtra magrittr patchwork rlang tidyr]; };
-  iNZightTools = derive2 { name="iNZightTools"; version="1.12.1"; sha256="17danz18f3j3xwgy3nf88d53a3z8b5yyxf1mdq7rn61zhjiprkim"; depends=[chron dplyr forcats glue haven lubridate magrittr RcppTOML readr readxl srvyr stringr styler survey tibble tidyr validate zoo]; };
-  iRF = derive2 { name="iRF"; version="2.0.0"; sha256="1ll4lxg743p2zipxcq13yjsc7j7dk766dcyixwxilllbisg0dh8y"; depends=[AUC data_table doParallel dplyr foreach Matrix RColorBrewer Rcpp]; };
+  iNZightMR = derive2 { name="iNZightMR"; version="2.2.6"; sha256="1r2lzi9fw46q2k87zfhrfninmvbz15805za60lbfmlv32b29d82y"; depends=[]; };
+  iNZightPlots = derive2 { name="iNZightPlots"; version="2.14.0"; sha256="01sjbk3gj0hcpagy5xqxyhg9vfpm027hqs8qdxbc1rrx0vf2giph"; depends=[boot chron colorspace dichromat emmeans hexbin hms iNZightMR iNZightTools lubridate magrittr quantreg rlang s20x scales survey]; };
+  iNZightRegression = derive2 { name="iNZightRegression"; version="1.3.2"; sha256="1cjr6kzxja4vlkz7yk992p07f7g0sqrfmbmvgai03vyh37p67sq9"; depends=[car dplyr ggplot2 ggrepel ggtext iNZightPlots multcomp patchwork]; };
+  iNZightTS = derive2 { name="iNZightTS"; version="1.5.9"; sha256="0mzyyl5a6ii7s84bzm7wqm0amdxpjc421vka28bd7884f5f5v791"; depends=[colorspace dplyr forcats ggplot2 ggtext glue gridExtra magrittr patchwork rlang tidyr]; };
+  iNZightTools = derive2 { name="iNZightTools"; version="1.12.2"; sha256="07jwcvzpc5n88lw3nv2qaiv1lgn14gq9a3k3kw782ps0jxs1k88l"; depends=[chron dplyr forcats glue haven lubridate magrittr RcppTOML readr readxl srvyr stringr styler survey tibble tidyr validate zoo]; };
   iRafNet = derive2 { name="iRafNet"; version="1.1-1"; sha256="0w9bry49apkrrrabglnv5w9l47jakmc30jh8q22a8gazwss293fb"; depends=[ROCR]; };
   iRegression = derive2 { name="iRegression"; version="1.2.1"; sha256="1kwsrmsflmqan96aj0dczlszfww1dlg6rwycyid52f7ghg9810rn"; depends=[mgcv]; };
   iRepro = derive2 { name="iRepro"; version="1.1"; sha256="1sqg1n83m1308v6bk8ilra8w01frqyd8vpvmv63rllxz38r3vyhz"; depends=[]; };
-  iRoCoDe = derive2 { name="iRoCoDe"; version="1.0.0"; sha256="1ikvaygwm4w7zfghdn8r0zlrv22z17kp8mcgykdwrrdv50pdypxh"; depends=[]; };
+  iRoCoDe = derive2 { name="iRoCoDe"; version="1.0.1"; sha256="1m2cin8yxpirdnkw6v1lb4w04939dy9qwkaw5w2k8rqjsflr17ay"; depends=[]; };
   iSDM = derive2 { name="iSDM"; version="1.0"; sha256="1hzs187mwv3k2wx6dpvkizjhkcx63mznd06wiw6047lf5jrlif0a"; depends=[ade4 colorRamps geometry geosphere maptools MASS pdist raster rgdal rgl sp virtualspecies]; };
   iSFun = derive2 { name="iSFun"; version="1.1.0"; sha256="14m9wzvs4knq80kvrdqck9f0pyk7hricdclz0f8z9nq85djl4vim"; depends=[caret irlba]; };
   iSTATS = derive2 { name="iSTATS"; version="1.5"; sha256="14pd3k8w8hh7gl2iskax2pck6z96hdfrws5l69zdw02867bny404"; depends=[Cairo data_table ggplot2 gtools plotly rstudioapi shiny shinyBS shinyWidgets]; };
@@ -10826,6 +10944,7 @@ in with self; {
   icenReg = derive2 { name="icenReg"; version="2.0.15"; sha256="1cjlvj4i5bir5769a22w8bb9477h04d8rpxk9ks72jp6zjjkq5qa"; depends=[coda foreach MLEcens Rcpp RcppEigen survival]; };
   icensBKL = derive2 { name="icensBKL"; version="1.2"; sha256="1zzv80jnn8ilnc1gv4nj24l2fl8805rjhqjgkb0xx4y9zhpg1jkp"; depends=[gtools Icens MASS mvtnorm smoothSurv survival TeachingDemos]; };
   icensmis = derive2 { name="icensmis"; version="1.5.0"; sha256="1afpn07a25j2jh89r78bvarg2kr0sk3ap8gdmvk75lc6g3dhvri9"; depends=[Rcpp]; };
+  icertool = derive2 { name="icertool"; version="0.0.3"; sha256="0wwkqcvjmv2z8a8j597c2fjjcka1jz932i94rmqxcy31brvbi2nl"; depends=[digest DT ggplot2 ggrepel purrr readxl shiny shinyhelper shinythemes tidyverse]; };
   icesAdvice = derive2 { name="icesAdvice"; version="2.0-0"; sha256="0sx93fsx2srmynnvs3bjb525m9a5w70qr9lghmkqa07crd991vfr"; depends=[]; };
   icesDatras = derive2 { name="icesDatras"; version="1.3-0"; sha256="0yaqlximxa3rcjxgrd0mii02mm9gpcxgw3i8pymp00bk8zixvj30"; depends=[]; };
   icesTAF = derive2 { name="icesTAF"; version="3.6.0"; sha256="1g2qlpbi94731vvzdnc16f1gpgn49sxzlsljzzapfgk14dcm96b1"; depends=[glue jsonlite lattice purrr roxygen2]; };
@@ -10846,22 +10965,22 @@ in with self; {
   idem = derive2 { name="idem"; version="5.1"; sha256="1i5h0hg76rrxharlfv33kcbwmvkfyfk92wim93dvpkflnbwsmzfl"; depends=[BH mice Rcpp RcppEigen rstan sqldf StanHeaders survival]; };
   idendr0 = derive2 { name="idendr0"; version="1.5.3"; sha256="11c12d166bp2i498d8y6ipg5jhz1xsdsrmnhjqnrqqzp9avvrsjp"; depends=[tkrplot]; };
   identity = derive2 { name="identity"; version="0.2-1"; sha256="1j5wb5cj5j49in2g6r1shdm4ri4cfzj22hpqazvcmq4dm291sdi9"; depends=[]; };
-  ideq = derive2 { name="ideq"; version="0.1.4"; sha256="06xk9ghvh3fb79lbkmbqsk07xj06qaigiw41rzbi3bji3fjq1prw"; depends=[matrixcalc mvtnorm pdist Rcpp RcppArmadillo rgen]; };
   ider = derive2 { name="ider"; version="0.1.0"; sha256="021s4fybki7a6mdsr6gkjrzfhaqdcg0m2a6r24y91jklxlxqxmws"; depends=[FNN]; };
-  idiogramFISH = derive2 { name="idiogramFISH"; version="2.0.6"; sha256="1gxc89x765759gbm4g20iyiaf80qa8ascpm1j6vgy9karrixv4dr"; depends=[crayon dplyr plyr rlang tidyr]; };
+  idiogramFISH = derive2 { name="idiogramFISH"; version="2.0.8"; sha256="1m45858da25zwrm74h69a2a5ly4yy0cl12vkkaqrwzn72snsq3c2"; depends=[crayon dplyr plyr rlang tidyr]; };
   idm = derive2 { name="idm"; version="1.8.2"; sha256="04f0i0kwdxywmj2i184knx5a5v9svx0lbam6wpz49hghg7qpy0w5"; depends=[animation ca corpcor dummies ggplot2 ggrepel]; };
   idmTPreg = derive2 { name="idmTPreg"; version="1.1"; sha256="1329sjb4dnw3yiyg16whbj4l2v0kg8phg1x4ysvyp2kqkmw14yq6"; depends=[doParallel foreach survival]; };
   idmodelr = derive2 { name="idmodelr"; version="0.3.2"; sha256="02hvlmk38rs0iavwz0qa3ryvyw1ixhjf9bksmadlhxl5pd18016j"; depends=[deSolve dplyr furrr future ggplot2 magrittr purrr rlang stringr tibble tidyr viridis]; };
   idr = derive2 { name="idr"; version="1.2"; sha256="05nvgw1xdg670bsjjrxkgd1mrdkciccpw4krn0zcgdf2r21dzgwb"; depends=[]; };
   ids = derive2 { name="ids"; version="1.0.1"; sha256="1s6ga94gds5ydr9f8qbjfgfpg2dvbnkcrlybqlb33hk3c0c2l8dn"; depends=[openssl uuid]; };
   idx2r = derive2 { name="idx2r"; version="1.0.0"; sha256="14d3rasnf8mghwzpg6h4larybgy7drrv0jh71x28qwry49acsqyh"; depends=[]; };
-  ie2misc = derive2 { name="ie2misc"; version="0.8.6"; sha256="1kfqzl12ybxa4wgijww27hq2m9bjai2pc9lx6dg9ly7ki25crqpk"; depends=[data_table gWidgets2 gWidgets2tcltk lubridate mgsub openxlsx reader readxl stringi]; };
+  ie2misc = derive2 { name="ie2misc"; version="0.8.8"; sha256="06nf5g6lcn8wif9k3qd580s2w30yyqqvybzg36q2mil8fnpl2568"; depends=[assertthat checkmate data_table gWidgets2 gWidgets2tcltk lubridate mgsub openxlsx reader readxl stringi]; };
+  ie2miscdata = derive2 { name="ie2miscdata"; version="1.0.2"; sha256="0n5aya9g5xzbnx611ji7bxy2zb04ijmjb8kc6ac7kb2nm9n6dxbn"; depends=[lubridate]; };
   ieeeround = derive2 { name="ieeeround"; version="0.2-0"; sha256="0xaxrlalyn8w0w4fva8fd86306nvw3iyz44r0hvay3gsrmgn3fjh"; depends=[]; };
   iemisc = derive2 { name="iemisc"; version="0.9.9"; sha256="1hay4d85xw81cgzkm21db8mssqqb8cw4bsg3qypm59bqwmqpl8md"; depends=[CHNOSZ data_table fpCompare gsubfn iemiscdata pracma r_import rgdal sp stringi testit units zoo]; };
   iemiscdata = derive2 { name="iemiscdata"; version="0.6.1"; sha256="0a9x90kisgmrka0frk9myb1qdq3nl092n78wrif31b42arifa8h9"; depends=[]; };
   iemisctext = derive2 { name="iemisctext"; version="0.9.99"; sha256="02rr7sjjbrvfxwjl87f2ki245a8cw5fvx7z2z4rl8ixxlyxj9p5v"; depends=[]; };
   ifa = derive2 { name="ifa"; version="7.0"; sha256="1cxafd7iwvyidzy27lyk1b9m27vk785ipj9ydkyx9z1v0zna2wnl"; depends=[mvtnorm]; };
-  ifaTools = derive2 { name="ifaTools"; version="0.22"; sha256="16wgq7b4xffgrmy10f58kwqd3m3p3lwa4ck92jb6gb8gml1n9g82"; depends=[ggplot2 OpenMx reshape2 rpf shiny]; };
+  ifaTools = derive2 { name="ifaTools"; version="0.23"; sha256="16xf3165gkmh3f9843m0n4wqdwwdfs6rjh64qcpz8srsm2z5y3l2"; depends=[ggplot2 OpenMx reshape2 rpf shiny]; };
   ifctools = derive2 { name="ifctools"; version="0.3.4"; sha256="1cxxk1ysb5ya81g669xyalzmkpfjsjsrrqmvnsg1z0kwh5yv54ds"; depends=[]; };
   ifs = derive2 { name="ifs"; version="0.1.5"; sha256="03g9cgs0zp89b1d7rpcn5clkvmg0spnariwrifd8hha476ldvfcy"; depends=[]; };
   ifultools = derive2 { name="ifultools"; version="2.0-23"; sha256="16a7rbvlym3bnfm93ikr5kl0l86ppk0s41fva6idvcx765g3fqkk"; depends=[MASS splus2R]; };
@@ -10874,6 +10993,7 @@ in with self; {
   igraphdata = derive2 { name="igraphdata"; version="1.0.1"; sha256="19w5npa4b8c054v94xlr7nmhhg2fhq4m8jbds86skp8zvipl4rkl"; depends=[]; };
   igraphinshiny = derive2 { name="igraphinshiny"; version="0.1"; sha256="1ww5s4jfihzcx4k35lbhzsf54z720xh7b2p5alzk843m6rx77986"; depends=[igraph shiny]; };
   igraphtosonia = derive2 { name="igraphtosonia"; version="1.0"; sha256="0vy9jnpjp68l8s0hi1l57j9p41c543h3iqv16pwl550f38zqp8j6"; depends=[igraph]; };
+  igrf = derive2 { name="igrf"; version="1.0"; sha256="1287mx1fpbq9y8jbyb43hlignkqg313rn3kc52pm6b2n77ipkrc6"; depends=[]; };
   iheatmapr = derive2 { name="iheatmapr"; version="0.5.1"; sha256="1pwkwh7ljlpr6zyz6j8knpz3iw60xzkw8amc98x4pc2mw148jvzx"; depends=[fastcluster ggdendro htmlwidgets jsonlite knitr magrittr RColorBrewer scales]; };
   iheiddown = derive2 { name="iheiddown"; version="0.8.6"; sha256="0w36w875fzxx8parjc6lb9nwvfjs0p2vv1pzd12cb160pgn9y7mc"; depends=[bib2df bookdown crayon dplyr fs gender ggplot2 pdftools purrr readr remotes rlang rmarkdown rstudioapi servr stringr tibble tidytext usethis xaringan]; };
   ihpdr = derive2 { name="ihpdr"; version="1.2.1"; sha256="1qa9ndb5aqbmlqbl0ivh10ddah2rbhsc6928dml20fjgz7lggdww"; depends=[curl dplyr httr lubridate magrittr purrr readxl rlang rvest tidyr xml2]; };
@@ -10898,6 +11018,7 @@ in with self; {
   imagerExtra = derive2 { name="imagerExtra"; version="1.3.2"; sha256="1f6mxfn7am4ph9acbbx53r4bk4vsm73p7arh8rvrsic9pgma3gqf"; depends=[fftwtools imager magrittr Rcpp]; };
   imageseg = derive2 { name="imageseg"; version="0.4.0"; sha256="1i3bwhc4251ah2vq3s7jy941qdxy8jjrs3ay8297nd2b4v18y8as"; depends=[doParallel dplyr foreach keras magick magrittr purrr tibble]; };
   imageviewer = derive2 { name="imageviewer"; version="0.1.0"; sha256="1rsrwy5v0gnsmbay1zqijhvll2l1bs844m52w65588j9nlx4fci9"; depends=[htmlwidgets]; };
+  imaginator = derive2 { name="imaginator"; version="1.0.0"; sha256="0wjgfsp7dhy8q7rai4bvikmw1y3iancnqdnqlhbi7a563s4mkpkr"; depends=[assertthat checkmate distributions3 dplyr lubridate magrittr rlang stringi tibble]; };
   imagine = derive2 { name="imagine"; version="1.5.3"; sha256="1ss0gm769s8cmma3hnah15vmc2c5wxn0l3s4vas7jbvkwi62am6h"; depends=[Rcpp]; };
   imbalance = derive2 { name="imbalance"; version="1.0.2.1"; sha256="14f7p3x8818b1asfynp3w4sxdacsd14dzs7r166s1jdadwwfwi1s"; depends=[bnlearn C50 FNN ggplot2 KernelKnn mvtnorm Rcpp RcppArmadillo smotefamily]; };
   imbibe = derive2 { name="imbibe"; version="0.1.0"; sha256="0l7wn7vcbb466a4i3w302ficdy0jvy2jh5qizfn7ahpcs7lpx6hr"; depends=[magrittr Rcpp RNifti]; };
@@ -10915,7 +11036,7 @@ in with self; {
   imola = derive2 { name="imola"; version="0.3.2"; sha256="0v41xprzqhhj0463g9176jc3zr7g6mjrcgs8vrcn3g5lmg6c9z7z"; depends=[glue htmltools magrittr shiny stringi yaml]; };
   imp4p = derive2 { name="imp4p"; version="1.2"; sha256="1ld8bjjrlij9m7xns7izibag9mndrfh21xgq1w7g3bh5ag9p9fs0"; depends=[Iso missForest missMDA norm Rcpp truncnorm]; };
   impactflu = derive2 { name="impactflu"; version="0.1.0"; sha256="0wpaq2q61g6hl9fffs5cjbzdz1qc8dxsbknfs0iarwkn08460bn5"; depends=[dplyr glue lubridate magrittr Rcpp rlang tibble]; };
-  impactr = derive2 { name="impactr"; version="0.3.0"; sha256="1a1psp1jjnczza0skws75rn80xn5krmpbdfq75cdjfg03vqc95kx"; depends=[glue lubridate lvmisc pillar pracma purrr Rcpp rlang signal stringr tibble toOrdinal vroom]; };
+  impactr = derive2 { name="impactr"; version="0.4.0"; sha256="0nywix00j2j4gql83w81c7kyhlvfzydvjgzd1495xsiyy0a8c4jn"; depends=[glue lubridate lvmisc pillar pracma purrr Rcpp rlang signal stringr tibble toOrdinal vroom]; };
   impimp = derive2 { name="impimp"; version="0.3.1"; sha256="0xkxph4f1rcpkryx9v339bfbsnq3xwdj1flb4j2dgh99apj126sq"; depends=[]; };
   implicitMeasures = derive2 { name="implicitMeasures"; version="0.2.0"; sha256="0w0dwnzfhw5v5j7q3zpfsca4ydmq7b9fzspvyf9sibyh587isb9c"; depends=[ggplot2 stringr tidyr xtable]; };
   implied = derive2 { name="implied"; version="0.4.0"; sha256="00wv05pb59p86ddfwha7ilfss36si8yljnmkmayiqcazn32ylzg8"; depends=[]; };
@@ -10938,9 +11059,8 @@ in with self; {
   imsig = derive2 { name="imsig"; version="1.1.3"; sha256="175is0b39grc609dskv9274czv4iwnmlg81dl4nr01xdp6f7g487"; depends=[ggplot2 gridExtra HiClimR igraph RColorBrewer survival]; };
   in2extRemes = derive2 { name="in2extRemes"; version="1.0-3"; sha256="1lgsqm29zmjyf8kynyra2p3q7bs4fyd7ac4v6s3pbahzhhzdk94y"; depends=[extRemes]; };
   inTextSummaryTable = derive2 { name="inTextSummaryTable"; version="3.1.0"; sha256="0a7r6k1fkky0x13z2shy6smkh0nl7pm8kkyk001f4s8g008v2bc2"; depends=[clinUtils cowplot flextable ggplot2 ggrepel magrittr officer plyr reshape2 scales]; };
-  inTrees = derive2 { name="inTrees"; version="1.2"; sha256="1mwn2ijkyw0y9xcgrr56wxd2326ikarlsi79l59dplvlx2iwbi6c"; depends=[arules data_table gbm RRF xgboost xtable]; };
   inaparc = derive2 { name="inaparc"; version="1.1.0"; sha256="0ni34bkl7v1ypci8j8qhkfbf7gnx77wi4v9w1ww18z2jizsrk5h3"; depends=[kpeaks lhs]; };
-  inbreedR = derive2 { name="inbreedR"; version="0.3.2"; sha256="09fr13ckyn2skiigkn4qdx5g080gcmyyrvzhcp0wrml9wpmy0h4z"; depends=[data_table]; };
+  inbreedR = derive2 { name="inbreedR"; version="0.3.3"; sha256="0g7h4jgmnbpm4c6pb6fkmpzdg4adkc0k72444jpxbvyddq3hqh24"; depends=[data_table]; };
   incR = derive2 { name="incR"; version="1.1.0"; sha256="0q41bs7pf6hqyfwvcwc2sxq44jq95qq3qsddz53f8gphwjsyf1v7"; depends=[dplyr ggplot2 lubridate maptools rgeos]; };
   inca = derive2 { name="inca"; version="0.0.4"; sha256="1r3niibd6pja59am8in9gpyvxi2g5bh8bqqhdixzwaj3xzyyipii"; depends=[Matrix Rcpp RcppArmadillo]; };
   incase = derive2 { name="incase"; version="0.3.1"; sha256="01x1alrk3pp4zi7r4nxnn9y16129ggmiqjys5sfhlybs505yq5vw"; depends=[backports magrittr plu rlang]; };
@@ -10988,16 +11108,17 @@ in with self; {
   inldata = derive2 { name="inldata"; version="1.0.3"; sha256="0iz3dlmaw6p81lj406nq4sg4qvl289mn95by10r3zrikf39l0jq2"; depends=[raster sp]; };
   inline = derive2 { name="inline"; version="0.3.19"; sha256="1mcr9hgq6kkq03n7pkcccxa7vg8jma0q7lfxc5vvkc6snydk1s8f"; depends=[]; };
   inlinedocs = derive2 { name="inlinedocs"; version="2019.12.5"; sha256="11d8cnrzgq95w7hn234rcwrr1mmrv63f69807pnzxizxbgnp7wz3"; depends=[]; };
-  inlmisc = derive2 { name="inlmisc"; version="0.5.2"; sha256="1jg92fy9dg9rv0sdzzcc7vylkx6z3l0b2q7rba63dpkdb1vqrwls"; depends=[checkmate data_table GA htmltools htmlwidgets igraph knitr leaflet raster rgdal rgeos rmarkdown scales sp tinytex webshot wordcloud2 xtable yaml]; };
+  inlmisc = derive2 { name="inlmisc"; version="0.5.5"; sha256="0d7yqbd7bqsk312g28pqgdpcpqd06abyra2inmnj8fkgpmv3wjf6"; depends=[checkmate data_table GA htmltools htmlwidgets igraph knitr leaflet raster rgdal rgeos rmarkdown scales sp tinytex webshot wordcloud2 xtable yaml]; };
+  inlpubs = derive2 { name="inlpubs"; version="1.0.2"; sha256="1hl2n919x263k0kq7j7p52n6kxjls86ff92vrxs0xahhibv9b8my"; depends=[checkmate tm]; };
   innsight = derive2 { name="innsight"; version="0.1.0"; sha256="1df1byv5jnv895b6aywvkalxx5clw6p6yl0lpihf7qnzsgm8wz49"; depends=[checkmate ggplot2 R6 torch]; };
   inops = derive2 { name="inops"; version="0.0.1"; sha256="1y402a9r542hpwd1nfdc07mbgnf9alpnykl9di1v8fy0qly8s0an"; depends=[]; };
   inpdfr = derive2 { name="inpdfr"; version="0.1.11"; sha256="1wnz73ggc7xcgynvdlvgz26qkfjmxxy0xg8gkf1far5346g4qd9y"; depends=[ca cluster entropart metacom R_devices RColorBrewer SnowballC stringi tm wordcloud]; };
   inplace = derive2 { name="inplace"; version="0.1.2"; sha256="06jb8xzjqywdww8j2i59c8663dfbrhnvj0lh3xm73j39sig6vh7l"; depends=[Rcpp]; };
   insane = derive2 { name="insane"; version="0.1.0"; sha256="144fq1lys6wy78vnmz1vd4ghs8agraj1hgg0vwlxcnbykmf50i95"; depends=[broom dplyr DT ggbeeswarm ggplot2 ggpubr ggthemes glue patchwork purrr readxl shiny tidyr]; };
   insect = derive2 { name="insect"; version="1.4.2"; sha256="0pbac9il1jrhii0hxvvqjc3phyr2iamxwzanxx5mrkyjh2wsl3jh"; depends=[ape aphid kmer openssl phylogram RANN seqinr xml2]; };
-  insee = derive2 { name="insee"; version="1.1.2"; sha256="1sp135r3fx2akiy3rp987k8m00vrzmqfxxl62r8sdhzx1slq5glb"; depends=[crayon dplyr httr openssl purrr rappdirs readsdmx rlang stringr tibble tidyselect xml2]; };
+  insee = derive2 { name="insee"; version="1.1.3"; sha256="103b9aw6afq169k839lydfc904wqrwh1bh2r69wa2s61rpwiinwc"; depends=[crayon dplyr httr openssl purrr rappdirs readsdmx rlang stringr tibble tidyselect xml2]; };
   insiderTrades = derive2 { name="insiderTrades"; version="0.0.1"; sha256="1hz2jmghfihbn1dbrr38zlwa0s44gm84pjhhk0yfrnljg9mqf4qy"; depends=[magrittr RCurl stringr]; };
-  insight = derive2 { name="insight"; version="0.14.5"; sha256="10kc72g2hfsiipba4kalda1wxsb01nq2ax2yim386bkk0vjszwfx"; depends=[]; };
+  insight = derive2 { name="insight"; version="0.15.0"; sha256="1vizx515a24v5x4f5mzbigl0wl4gz75hp5gqw8lkijygw71li8fn"; depends=[]; };
   insol = derive2 { name="insol"; version="1.2.2"; sha256="166kgxgzbh55y2qqya6c2si22x0v7asi70im054g6xxwc5187kh3"; depends=[raster]; };
   inspectdf = derive2 { name="inspectdf"; version="0.0.11"; sha256="19ainhxgda58cb70gwxki618wln1v1k4iwvnlvy6s7aldry4wgc4"; depends=[dplyr ggfittext ggplot2 magrittr progress Rcpp tibble tidyr]; };
   inspector = derive2 { name="inspector"; version="1.0.3"; sha256="16gc98af6wmwf32fz8zml5v17g5lkiybzyzsqgphx0k19hrbc6kr"; depends=[Rdpack]; };
@@ -11007,6 +11128,7 @@ in with self; {
   insuranceData = derive2 { name="insuranceData"; version="1.0"; sha256="0wryh8i1v3bnpbqn6d6dpxr9bwwl6mnh5cb5igz0yanh4m1rx96w"; depends=[]; };
   insurancerating = derive2 { name="insurancerating"; version="0.6.9"; sha256="02nwc1429v8yvnpd5s7b9fywyzbccbqpfyq25pn5d166ly3vaqa5"; depends=[ciTools classInt colorspace data_table DHARMa dplyr evtree fitdistrplus ggplot2 insight lubridate magrittr mgcv patchwork scales stringr]; };
   intRegGOF = derive2 { name="intRegGOF"; version="0.85-5"; sha256="0xjq8vdlgqlzrvp752gd4qfrpnpapx7k6xzfsvfril8ngvm9a162"; depends=[]; };
+  intRinsic = derive2 { name="intRinsic"; version="0.2.0"; sha256="01bgh88f94imqhx63miv0gyjw51sbqidp6p3g0f6p8rl95aqnq6h"; depends=[dplyr FNN ggplot2 knitr MCMCpack pheatmap Rcpp RcppArmadillo reshape2 rlang salso]; };
   intRvals = derive2 { name="intRvals"; version="1.0.0"; sha256="0391raj5wq6issvzqm8bfnv1ap2hh5nfsqi9r1x5ss37fvcq5fjm"; depends=[lme4 plyr]; };
   intamap = derive2 { name="intamap"; version="1.4-9"; sha256="060sghkqsdrxpa340rvjskh2wafdkffa5q8nlbg1msnsmk639lkn"; depends=[automap doParallel evd foreach gstat MASS mvtnorm rgdal sp]; };
   intccr = derive2 { name="intccr"; version="3.0.3"; sha256="1sg4pda60xx2zqhwckc0nq4b82xxw0jinaw13p671pw9gb4mz38g"; depends=[alabama doParallel foreach MASS]; };
@@ -11017,7 +11139,7 @@ in with self; {
   integr = derive2 { name="integr"; version="1.0.0"; sha256="172vj29bdk42ibgwj7dl06wslpg2dccp1i8iscbz1yd0j5kw36sq"; depends=[DiagrammeR DiagrammeRsvg dplyr gtools rsvg]; };
   intensegRid = derive2 { name="intensegRid"; version="0.1.1"; sha256="15vjf39fx6bkay15nbmqnv5vp8w6xy6fzf1lglqr6506pyaqh8w8"; depends=[dplyr httr jsonlite lubridate magrittr purrr rlang tibble tidyr]; };
   intensity_analysis = derive2 { name="intensity.analysis"; version="0.1.6"; sha256="1ydmn7njqk6i2667zaha8mvfndss4im39czadg1f3z6sndp2lsji"; depends=[diffeR ggplot2 raster reshape2 rgdal]; };
-  interacCircos = derive2 { name="interacCircos"; version="1.0.0"; sha256="1waj0saavvaw2qzhbwcj1k0a2dnmq7zbkdnmb93xj6j1lhfjhbdy"; depends=[htmlwidgets jsonlite plyr RColorBrewer]; };
+  intensitynet = derive2 { name="intensitynet"; version="1.0.0"; sha256="1mwgz8rp180x7n08clqr0g19f0kxnparv10k98ysxq7shpwqimr1"; depends=[ggplot2 igraph intergraph Matrix sna spatstat_geom spdep viridis]; };
   interactionR = derive2 { name="interactionR"; version="0.1.3"; sha256="1wckp3vz06ary2ydk22iykp1ck3i0bqhq51d8jyafq2h0rjhkyc8"; depends=[car flextable msm officer]; };
   interactionTest = derive2 { name="interactionTest"; version="1.2"; sha256="0ycr839l07xahakr4r2jvlmd0fcxfm4qi3g8agnyh24c2kwl3ck2"; depends=[]; };
   interactions = derive2 { name="interactions"; version="1.1.5"; sha256="16lrlj0rc9bkxgmackpvcx8wx9pbsnr55vak6zx022ss820h3ljj"; depends=[cli crayon generics ggplot2 jtools rlang tibble]; };
@@ -11033,6 +11155,7 @@ in with self; {
   interp = derive2 { name="interp"; version="1.0-33"; sha256="115yz7vvlga24m5dz3kirr2vzh59ki3gypvxwvaab8zy2mqr47v6"; depends=[deldir Rcpp RcppEigen]; };
   interplot = derive2 { name="interplot"; version="0.2.3"; sha256="1qs0ni16rbjilkahn15yn9sil3ba4n935bxpdbpwlsjina504jqj"; depends=[abind arm dplyr ggplot2 interactionTest purrr]; };
   interpret = derive2 { name="interpret"; version="0.1.26"; sha256="0f7bhz5gj0f5dxjcc9xlrx4y474akn6q0d7z71yypyw6bawvqkbn"; depends=[]; };
+  interpretCI = derive2 { name="interpretCI"; version="0.1.1"; sha256="1jg2dpfrhb1kij2z0gq4sw1lrb4v2sky13dpfmdnaz2k5xqnih2s"; depends=[aplot dplyr english flextable ggbeeswarm ggplot2 moonBook officer patchwork purrr RColorBrewer rlang rmarkdown rstudioapi scales tidyr]; };
   interpretR = derive2 { name="interpretR"; version="0.2.4"; sha256="0nfh3pyr7nn0r41xk0mfb4fs5rjkbh43lbw14x7pdmbgzpgsc22c"; depends=[AUC randomForest]; };
   interval = derive2 { name="interval"; version="1.1-0.8"; sha256="0g0k9nri19p3y3s70ic1w3i3sxq8fbsxaikd7c4d6afqzr8hk2nl"; depends=[Icens MLEcens perm survival]; };
   intervalaverage = derive2 { name="intervalaverage"; version="0.8.0"; sha256="07p9r358q3jxm8n7nypxmvpfnh61njivcwaplgzzxrlcbway6fq9"; depends=[data_table Rcpp]; };
@@ -11052,7 +11175,7 @@ in with self; {
   inum = derive2 { name="inum"; version="1.0-4"; sha256="1khkzja8lwn9075864vbyajqina9m588ahf1fsrrajrsqilyzssz"; depends=[libcoin]; };
   invGauss = derive2 { name="invGauss"; version="1.1"; sha256="0l93pk2sh74dd6a6f3970nval5p29sz47ynzqnphx0wl3yfmmg9c"; depends=[optimx survival]; };
   invLT = derive2 { name="invLT"; version="0.2.1"; sha256="0dcr2cclgzkvsw1lysmjrkwgahas96rjc328yc7a1a56pf62kw2v"; depends=[]; };
-  invacost = derive2 { name="invacost"; version="1.1"; sha256="0ri743v8a1fh4gpy9va38in20784g6rxvm34aw0k3clispixxl6k"; depends=[dplyr earth ggplot2 lmtest mgcv quantreg robustbase sandwich scales]; };
+  invacost = derive2 { name="invacost"; version="1.1-4"; sha256="0nj1zzlj7n05ajp7c228cgs0vzlniam4d3x804ncy1wl3d920hc9"; depends=[dplyr earth ggplot2 lmtest mgcv quantreg robustbase sandwich scales]; };
   invctr = derive2 { name="invctr"; version="0.1.0"; sha256="0jrbr53kvwrf800z18vz9df9bk7swpd4avnyf59ggz2bc0z2ijwk"; depends=[plyr rlang]; };
   inventorize = derive2 { name="inventorize"; version="1.0.6"; sha256="01rwqqljmlk5bwnvlx0qy6n67q2swjcxp90fp2wipyvl1f46h3m1"; depends=[dplyr ggplot2 magrittr plotly plyr tidyr]; };
   inverseRegex = derive2 { name="inverseRegex"; version="0.1.0"; sha256="1wk3ac2rfy0m8442sa2m75s6l3wadx4d4cwas6c8n2xqkrphci87"; depends=[]; };
@@ -11071,15 +11194,16 @@ in with self; {
   ip2proxy = derive2 { name="ip2proxy"; version="1.1.0"; sha256="1hs7n33cn2drqig0p2ns0bnyx2af58x2rslih3yj85xx0dn87qgp"; depends=[jsonlite reticulate stringr]; };
   ipADMIXTURE = derive2 { name="ipADMIXTURE"; version="0.1.0"; sha256="1fl7nyxg7gakjdggdc311wf037zaxwpqsw3ax7liq1pvw6flb9h7"; depends=[ape treemap]; };
   ipa = derive2 { name="ipa"; version="0.1.0"; sha256="029vz7pb37vnqm7x6h53p0y7z0nx2s36yklyfn9sz21gknsi983j"; depends=[stringi]; };
-  ipaddress = derive2 { name="ipaddress"; version="0.5.3"; sha256="0jyhwxbphlmsk4kab2bl38x90szhw1pa35rq7kr1wdq4w0yaa696"; depends=[AsioHeaders Rcpp rlang vctrs]; };
+  ipaddress = derive2 { name="ipaddress"; version="0.5.4"; sha256="1rj4ydbkhizdnj7x3zm9ggfbvvp8alza8gvxqijjl6y6gljlg7cv"; depends=[AsioHeaders Rcpp rlang vctrs]; };
   ipc = derive2 { name="ipc"; version="0.1.3"; sha256="10h54j83l7khk1lkpdwn6hwaz31i3v6svg4q1lxzvr2aqdsj7hy0"; depends=[R6 shiny txtq]; };
   ipcwswitch = derive2 { name="ipcwswitch"; version="1.0.4"; sha256="12z16c8sv1nhdv70kwx1a0wh588znkv5y5r0s9kcws0n3rjhzh9p"; depends=[survival]; };
   ipdw = derive2 { name="ipdw"; version="0.2-9"; sha256="1vjq5wxfmx1vfclrj68mf3w0lmsxrppin1kph38s2qzcg0y74ghg"; depends=[gdistance raster rgeos sp]; };
-  ipeadatar = derive2 { name="ipeadatar"; version="0.1.4"; sha256="1gr4snvls0c90ywfgm5274zx1mwhbdvvd7rb31697jpfnp9sdx32"; depends=[curl dplyr jsonlite lubridate magrittr purrr rlang sjlabelled stringr]; };
+  ipeadatar = derive2 { name="ipeadatar"; version="0.1.6"; sha256="1j600mhvy023ry9hx8ib6wqdv4mip1cjbwzs9190v8qpc9r2a460"; depends=[curl dplyr jsonlite lubridate magrittr purrr rlang sjlabelled stringr]; };
   ipflasso = derive2 { name="ipflasso"; version="1.1"; sha256="0gf1yj35vr92qi59hffcf4hzrh2b439kfd6m745wgpxq6wic1hs3"; depends=[glmnet survival]; };
   ipfp = derive2 { name="ipfp"; version="1.0.1"; sha256="12aklhf9p70r9b2wi0qgbl835b4lil805c31n1ka4kdix4b4cpr4"; depends=[]; };
   ipfr = derive2 { name="ipfr"; version="1.0.2"; sha256="0q44zw5g76qfqrqv6w2a8p905n4ljxab9jmyqk6fv9vs8j2kyivg"; depends=[dplyr ggplot2 magrittr mlr tidyr]; };
   ipft = derive2 { name="ipft"; version="0.7.2"; sha256="0jifmkwac5yfl110200ljm3pas3321j068af9xqzqs0av20m8hps"; depends=[apcluster cluster dplyr ggplot2 Rcpp]; };
+  ipkg = derive2 { name="ipkg"; version="1.0.4"; sha256="12ddzqfdvz98568kwzrhlxv5j51g2qmxi2jyyvfm39rxncvsgrx1"; depends=[remotes]; };
   iplots = derive2 { name="iplots"; version="1.1-7.1"; sha256="1bz8n9cnx6zy3wsr49h55r0l5ikfl0xjg4r76fi4giid2a3ba4lf"; depends=[png rJava]; };
   ipmr = derive2 { name="ipmr"; version="0.0.4"; sha256="1j1dkfgglsx80872ck2hfd2bl4f2hzhfmlnlvyw6vdj2cnh728jv"; depends=[magrittr purrr Rcpp rlang]; };
   ipptoolbox = derive2 { name="ipptoolbox"; version="1.2"; sha256="0scbny4crgr23qcp0vgsxhwmj5g5q5c1c4mb5mmb5njyvc34s01l"; depends=[AlgDesign copula evd kolmim triangle]; };
@@ -11092,7 +11216,6 @@ in with self; {
   ipw = derive2 { name="ipw"; version="1.0-11"; sha256="11a34j6lp329ran2r9kxn8184kfmibkdig74lsy6lj4w4w0d71cm"; depends=[geepack MASS nnet survival]; };
   ipwCoxCSV = derive2 { name="ipwCoxCSV"; version="1.0"; sha256="0avnvf4pnpxnik3iwwglpwkc8h0vsx9v6fxldkbvq7l9bphdbba1"; depends=[survival]; };
   ipwErrorY = derive2 { name="ipwErrorY"; version="2.1"; sha256="14p22mwc120kdlf6r1hfx4kp7nqrz2nl2vpvy45j8rbrc571b6ka"; depends=[nleqslv]; };
-  iq = derive2 { name="iq"; version="1.9.1"; sha256="1n4hdkw37364ilc8v3bffmnwd7r8cpysn7jssf9h9jxh9pyd612y"; depends=[]; };
   iqLearn = derive2 { name="iqLearn"; version="1.5"; sha256="1zn43zvx0mjzh96bm73scacmladamy8jmhxim7hcfq39cfhiw3c8"; depends=[]; };
   irace = derive2 { name="irace"; version="3.4.1"; sha256="1dhlspv1gqg7cm7j95zhl0k2zr0s159krjmxm07k5fp68ax95sky"; depends=[R6]; };
   ircor = derive2 { name="ircor"; version="1.0"; sha256="07apa4l4ib11xw25d44b403s3la29sqlid13q41hjrlfxafm91ld"; depends=[]; };
@@ -11138,7 +11261,7 @@ in with self; {
   isotone = derive2 { name="isotone"; version="1.1-0"; sha256="0alk0cma5h3yn4w2nqcahprijsm89b0gby9najbngzi5vnxr6nvn"; depends=[nnls]; };
   isotonic_pen = derive2 { name="isotonic.pen"; version="1.0"; sha256="1lgw15df08f4dhrjjfr0jqkcvxwad92kflj2px526pcxwkj7cj3i"; depends=[coneproj Matrix]; };
   isotracer = derive2 { name="isotracer"; version="1.1.0"; sha256="14px45yqr0xgaqj7ssn2mb9n3gf6vpl6mvfg4qav6y082w5bgrgl"; depends=[BH coda data_table dplyr latex2exp magrittr pillar purrr Rcpp RcppEigen rlang rstan rstantools StanHeaders tibble tidyr tidyselect]; };
-  isotree = derive2 { name="isotree"; version="0.3.9"; sha256="07jmf23iklcvvh705jy8pv3lqfw9qdrd073bcx8jmakzhga8rxa5"; depends=[Rcpp]; };
+  isotree = derive2 { name="isotree"; version="0.5.5"; sha256="0w54rn3nq9qdqfjhliqfh4qzzm4q9gp8l8b9vvn72srq1svz3ir2"; depends=[Rcpp]; };
   ispd = derive2 { name="ispd"; version="0.2"; sha256="06h4z342d17rkpr2wwck4sq79kprdq6fgqf10jg8cs1f52q6pq0h"; depends=[ibd]; };
   isqg = derive2 { name="isqg"; version="1.3"; sha256="1988bc5n4b5mgxrfl1774vfgaw7rxm9vlaxnkx26phjzhlr1ix9h"; depends=[BH R6 Rcpp Rdpack]; };
   istacr = derive2 { name="istacr"; version="0.1.3"; sha256="14nhd3v8l827mb1fxfhsxklzxbf4316ijp2qkc99qp7ydmxbk0rd"; depends=[curl jsonlite]; };
@@ -11149,13 +11272,14 @@ in with self; {
   itdr = derive2 { name="itdr"; version="1.0"; sha256="1113lr17m370ipg3sxghqvk4fj36bgqs5bfvnli8rss2ffyzfin0"; depends=[MASS]; };
   iteRates = derive2 { name="iteRates"; version="3.1"; sha256="1dycmlm3vldc60wz2jjdfbla14383911zfahgal5mx8whxwq95c5"; depends=[ape apTreeshape geiger gtools MASS partitions VGAM]; };
   iterLap = derive2 { name="iterLap"; version="1.1-3"; sha256="079d4hxf1ha8pgibzb4r1yk7xqpzndd7hjbp8294qb26jvvcnd8q"; depends=[quadprog randtoolbox]; };
-  iterators = derive2 { name="iterators"; version="1.0.13"; sha256="190i1y2493v5c9z8978rb3idlwsjymy67k1assa9znljqbj313kp"; depends=[]; };
+  iterators = derive2 { name="iterators"; version="1.0.14"; sha256="0yv7rh6ghlfx727xy2aq64a7skyxp9msakaffs641q9h15d0gwyf"; depends=[]; };
   iterpc = derive2 { name="iterpc"; version="0.4.2"; sha256="06q7l8mz8ws4nn6gb0whnlqs8my2n8z2d2g8fvv3cxd28904dg9q"; depends=[arrangements gmp iterators]; };
   itertools = derive2 { name="itertools"; version="0.1-3"; sha256="1ls5biiva10pb1dj3ph4griykb9vam02hkrdmlr5a5wf660hg6xn"; depends=[iterators]; };
   itertools2 = derive2 { name="itertools2"; version="0.1.1"; sha256="0yra3x9ddvn5pp3jibm69205zazv81bz0cflw4mdvxpqadaf9f96"; depends=[iterators]; };
   itraxR = derive2 { name="itraxR"; version="1.4"; sha256="0gybgzc37q1i2zdik1xjn1l6p98jx8r8k722fsgfb17pxj4l4bkf"; depends=[broom compositions dplyr ggcorrplot ggfortify ggplot2 janitor readr rlang stringr tibble tidyr tiff]; };
   its_analysis = derive2 { name="its.analysis"; version="1.6.0"; sha256="1ig7yq59y5xl1z182bbvgx8vsqs9sb1xscf6zxqn1qmy9f0ggf7v"; depends=[boot car forecast ggplot2 plyr]; };
   itsadug = derive2 { name="itsadug"; version="2.4"; sha256="0759l7hhvj05dp92pz59xwrxjm9s1iwkwrdhs68l0fq57550j70l"; depends=[mgcv plotfunctions]; };
+  itsdm = derive2 { name="itsdm"; version="0.1.1"; sha256="17r9m726grqwfjyy6gmnagc0yav358sxgcglyyww7k39cbhmyk57"; depends=[checkmate dplyr ecospat fastshap ggplot2 isotree ncdf4 outliertree patchwork raster rlang ROCit sf stars stringr tidyselect]; };
   itsmr = derive2 { name="itsmr"; version="1.9"; sha256="0dmijaq6q31irwrjqv5gq1yfbgggwb3m6rwbg4lx1r9l3cqays7i"; depends=[]; };
   iva = derive2 { name="iva"; version="0.1.0"; sha256="0dchb263ygilxapwsw2gpl18z12wcjsz8zz5fg7h068hmcysa88g"; depends=[Formula ucminf]; };
   ivdesc = derive2 { name="ivdesc"; version="1.1.0"; sha256="06jqnh6i8szygc00d6ys0wwvh9br33zmwc430q2ann1qmrkaxxj5"; depends=[knitr purrr rsample]; };
@@ -11170,12 +11294,13 @@ in with self; {
   ivprobit = derive2 { name="ivprobit"; version="1.1"; sha256="05b5gf5gmi2yrkg61n7w12qlgpnjakd1z8hhqxy6py8hahsf84gm"; depends=[Formula]; };
   ivreg = derive2 { name="ivreg"; version="0.6-1"; sha256="1dv1vmhnf31a2rn02yy9r34jzfwb8k34y15zpsqp8557ylr1s7nm"; depends=[car Formula lmtest MASS]; };
   ivregEX = derive2 { name="ivregEX"; version="1.0"; sha256="0zh3rqvhn8ald6lxv9kywy2v1p0nr9ijv6plhpbxc6k51zzsgyl8"; depends=[AER Formula lmtest sandwich]; };
-  ivsacim = derive2 { name="ivsacim"; version="1.3.1"; sha256="0bd14ydv0pz9yfvr2v1anrgahf4is15mfbdgi8ik96rq9kmlfhk9"; depends=[lava Rcpp survival]; };
+  ivsacim = derive2 { name="ivsacim"; version="2.1.0"; sha256="0pldg086kaaqc2wab1m61anabqaf0mffv1hsb8plz1qn2f8gdcp3"; depends=[Rcpp RcppArmadillo]; };
   ivtools = derive2 { name="ivtools"; version="2.3.0"; sha256="1wv0r9dy893hafbbrjcjrphb8dgql71ya4zfbkl5dfp7d4ncfxl0"; depends=[ahaz data_table nleqslv numDeriv Rcpp survival]; };
   ivx = derive2 { name="ivx"; version="1.1.0"; sha256="1dg09aajk9rqmrlwq4xw7qd5ra1z8wjxipy5l85sl1nzii250drq"; depends=[Rcpp RcppArmadillo]; };
   jSDM = derive2 { name="jSDM"; version="0.1.0"; sha256="0lkapg6v5lh53vnsg5hcr9qis8qimb6ilds23dqcyhi6w3dys9nb"; depends=[coda corrplot Rcpp RcppArmadillo RcppGSL]; };
   jScore = derive2 { name="jScore"; version="0.1.0"; sha256="0hb63l10cwvpvix155d16v35lp1v88lp69f6q1s09njc6qdsg212"; depends=[]; };
   jSonarR = derive2 { name="jSonarR"; version="1.1.1"; sha256="054q3ly471xa64yyz2as6vkr440ip1y8n5wl6s3zbhqy3bqkdqif"; depends=[jsonlite RCurl]; };
+  jab_adverse_reactions = derive2 { name="jab.adverse.reactions"; version="1.0.1"; sha256="0z7i6ni1bhih5yxwng1xxf8cgg3bb1il3p32rp5vfz2hfdm68vag"; depends=[]; };
   jaccard = derive2 { name="jaccard"; version="0.1.0"; sha256="1dmla6qc1k8iw2d7zfjqhf13gqd2lpsrj09yh47ljf994fpab936"; depends=[dplyr magrittr qvalue Rcpp]; };
   jack = derive2 { name="jack"; version="1.1.1"; sha256="1mp7cfmh3bzfansb3dyqq347qk6kkf4ndn23pbd78h1xcb54555b"; depends=[DescTools gmp multicool mvp partitions]; };
   jackalope = derive2 { name="jackalope"; version="1.1.3"; sha256="1cslrl2cvcpi2kisb2plkz8c3wfxkbkf816nnyb06k4mv3gy4r5d"; depends=[ape R6 Rcpp RcppArmadillo RcppProgress Rhtslib zlibbioc]; };
@@ -11200,9 +11325,9 @@ in with self; {
   jds_rmd = derive2 { name="jds.rmd"; version="0.3.0"; sha256="0xrs0xabh0m9ax9praiwj1l7z6mb53q53pqvcgwqw7xld6kkgzh7"; depends=[bookdown rmarkdown]; };
   jeek = derive2 { name="jeek"; version="1.1.1"; sha256="15n0k0i1wwp72g8zqrjmglnckab3p65q3rnpg6d6h8hjcpv82i7g"; depends=[igraph lpSolve pcaPP]; };
   jenga = derive2 { name="jenga"; version="1.0.0"; sha256="1lnqvq979yw3im2cll2bynqafgcs81ndqkzi37smys4fnlb7kyi6"; depends=[abind ggplot2 imputeTS lubridate modeest moments narray philentropy purrr readr scales stringr tictoc]; };
-  jetpack = derive2 { name="jetpack"; version="0.5.0"; sha256="17dixhg5nwv2fhp7gvcc927kfxzj07x288g6ywbba1mphk9j5nam"; depends=[desc docopt remotes renv]; };
+  jetpack = derive2 { name="jetpack"; version="0.5.2"; sha256="15hmkppq775crmwichg0fsg3ki7xqfavm9bz4li79armyiry44w2"; depends=[desc docopt remotes renv]; };
   jetset = derive2 { name="jetset"; version="3.4.0"; sha256="0c99h5npsv2gf5d59s4qhkaqmjhbwa3prcykk24wzhnpfq6y6xhp"; depends=[AnnotationDbi org_Hs_eg_db]; };
-  jfa = derive2 { name="jfa"; version="0.6.1"; sha256="1f0y13kh3mi5x50wsw5yp88l6d4874nrp0fdpi6nashcffznk8zg"; depends=[extraDistr]; };
+  jfa = derive2 { name="jfa"; version="0.6.2"; sha256="12lm051zslby401417p6r150cjv64lrz8q9534lwsynbihiad7aw"; depends=[extraDistr]; };
   jgcricolors = derive2 { name="jgcricolors"; version="1.0.0"; sha256="1lg6yzqly5y2cf396b6rvfqplnfyz9v9ay2g4q9m110mng5ln96l"; depends=[ggplot2 knitr markdown RColorBrewer stringr]; };
   jiebaR = derive2 { name="jiebaR"; version="0.11"; sha256="08v64xwr9jp4vh88x7y935khh4cmj8rwsjaxfd2c67n0445qppmd"; depends=[jiebaRD Rcpp]; };
   jiebaRD = derive2 { name="jiebaRD"; version="0.1"; sha256="1wadpcdca4pm56r8q22y4axmqdbb2dazsh2vlhjy73rpymqfcph4"; depends=[]; };
@@ -11217,7 +11342,7 @@ in with self; {
   jmotif = derive2 { name="jmotif"; version="1.1.1"; sha256="0b2qllpfgs6q5fwfhxl5b4xdyzbvnja7ld766akf0xxznxvglkrg"; depends=[Rcpp RcppArmadillo]; };
   jmuOutlier = derive2 { name="jmuOutlier"; version="2.2"; sha256="1vj9n1hsf780f7l0a22kmi3qm84j4dzjybjkh5zwh6bhwfjnjws3"; depends=[]; };
   jmv = derive2 { name="jmv"; version="2.0"; sha256="0fhjp3ih46r34yiqxbd2kpwp88nhyrqfwh729l14sj3aw142nlbi"; depends=[afex BayesFactor car emmeans GGally ggplot2 ggridges GPArotation jmvcore lavaan MASS multcomp mvnormtest nnet PMCMR psych R6 ROCR vcd vcdExtra]; };
-  jmvReadWrite = derive2 { name="jmvReadWrite"; version="0.2.2"; sha256="1i9gl79pdr73mkzpqbainsrwa942nvmzmflcy7mcp8lli7xbcpsm"; depends=[rjson]; };
+  jmvReadWrite = derive2 { name="jmvReadWrite"; version="0.2.4"; sha256="1sn17bbc7qijpv8z7libqx92ww1rp608dj9hbjbfraf6fjs5fq7q"; depends=[rjson zip]; };
   jmvconnect = derive2 { name="jmvconnect"; version="2.0.0"; sha256="1q412v8z0wbiqab4czabg75w976591lh59gbbhqz1avkas3jjhf2"; depends=[BH evaluate httr jmvcore rappdirs Rcpp]; };
   jmvcore = derive2 { name="jmvcore"; version="2.2"; sha256="009hkg378vfkzxbz323m7zfmfyh0j742xf4381qb6s81v3wmg4dq"; depends=[base64enc jsonlite R6 rlang stringi]; };
   job = derive2 { name="job"; version="0.3.0"; sha256="0d7pw3q5lqlgmav1vx63y8l6gdav96656bg378wj001rx5gx052h"; depends=[digest rstudioapi]; };
@@ -11225,9 +11350,8 @@ in with self; {
   joinXL = derive2 { name="joinXL"; version="1.0.1"; sha256="1l76bckjz5r1kdsh0s10i0gpca12rkfkp14346fn7avdcw73v23i"; depends=[data_table openxlsx R_utils rChoiceDialogs Rcpp readxl rJava timeDate timeSeries]; };
   joineR = derive2 { name="joineR"; version="1.2.6"; sha256="11pdpivqrbx9zp43yrj52r40n5pql99zhlsazh8pk61zca93gmbm"; depends=[lattice MASS nlme statmod survival]; };
   joineRML = derive2 { name="joineRML"; version="0.4.5"; sha256="0rj6ag1qlz1iyia89pkxw8l2aj8msph17g7qkgc3g99v4i9rj2pp"; depends=[cobs doParallel foreach generics ggplot2 lme4 MASS Matrix mvtnorm nlme randtoolbox Rcpp RcppArmadillo survival tibble]; };
-  joineRmeta = derive2 { name="joineRmeta"; version="0.1.2"; sha256="0lkj3rry8kvdcl3dxrkvnql8rl3fsgc4lk5qdifhl41aws2q7ccs"; depends=[ggplot2 gridExtra gtools JM joineR lme4 MASS Matrix meta msm statmod survival]; };
   joinet = derive2 { name="joinet"; version="0.0.10"; sha256="1jjx1rvg2x9zdfdqsjk04hcn7qsf8g7pq8q0x9q83kd8sb1ikjk5"; depends=[cornet glmnet palasso]; };
-  joint_Cox = derive2 { name="joint.Cox"; version="3.15"; sha256="0g1ypwsnnm3068n7d3whmrlsc4c7banj49af1id7x174ibh20gqd"; depends=[survival]; };
+  joint_Cox = derive2 { name="joint.Cox"; version="3.16"; sha256="0i2lf4q5w3893wppcig85r3ljr84j0d2m2id9kw9g194c8qgaqmm"; depends=[survival]; };
   jointDiag = derive2 { name="jointDiag"; version="0.4"; sha256="18x6rxaxhz9hcp6rfmjlanbfsc5q61p6xcxixnc8ayyxbdq7q6rf"; depends=[]; };
   jointMeanCov = derive2 { name="jointMeanCov"; version="0.1.0"; sha256="1cai5g63n11dirn9fldzkqxcnkxc20ndr9ygrr9rk0s1qz8x63pb"; depends=[glasso]; };
   jointNmix = derive2 { name="jointNmix"; version="1.0"; sha256="0ibh7hqkpzlfk3bk4d2dd64jhr8cvw563k082vwnljiam7k5nj4b"; depends=[]; };
@@ -11240,7 +11364,7 @@ in with self; {
   journalabbr = derive2 { name="journalabbr"; version="0.3.0"; sha256="1q1dmvx4b55bbd2qn920kmi962ignj2h36y7f22bqi5kcgzfgx9d"; depends=[dplyr httr knitr purrr rlang rmarkdown shiny stringi stringr tibble]; };
   joyn = derive2 { name="joyn"; version="0.1.4"; sha256="17x9rwcrqv7qx9w0cfyshjsij9cdl0fk13cfqbv0ibnc2nfycw87"; depends=[cli data_table glue rlang]; };
   jpeg = derive2 { name="jpeg"; version="0.1-9"; sha256="0wihj538wdnr71wdldym83qadb4kh68a6rkallwbh2f25r27b881"; depends=[]; };
-  jpmesh = derive2 { name="jpmesh"; version="2.0.2"; sha256="1rq8xqngizgib5lq60zkpd744f7lf8q69dzhxwlbnhirysnvp1p7"; depends=[leaflet magrittr memoise miniUI purrr rlang sf shiny tibble units vctrs]; };
+  jpmesh = derive2 { name="jpmesh"; version="2.1.0"; sha256="0q8adf582h92qwdwgh4dk53s8rixrrh96r8vzy6bwxvizqf0i3y8"; depends=[leaflet magrittr memoise miniUI purrr rlang sf shiny tibble units vctrs]; };
   jqr = derive2 { name="jqr"; version="1.2.2"; sha256="1v3qjqblwn15mlw3cgmrmh78kcckqrj54wnfyfhrfxdsiqi5d0dk"; depends=[lazyeval magrittr]; };
   jquerylib = derive2 { name="jquerylib"; version="0.1.4"; sha256="04a40v4znpj98j7y6009d74a6g9dchj5rr3p08cgz9p3rlfw3g7h"; depends=[htmltools]; };
   jrc = derive2 { name="jrc"; version="0.5.1"; sha256="0lg647nfijj6grlmwkasd6di5h6286dxmw1373k6n5gwym1g1l36"; depends=[httpuv jsonlite mime R_utils R6 stringi stringr]; };
@@ -11249,25 +11373,26 @@ in with self; {
   jrvFinance = derive2 { name="jrvFinance"; version="1.4.3"; sha256="0g3w65avys5chni0zlahzwqgv09z9na08yhay385ax33ddwrcrjv"; depends=[]; };
   js = derive2 { name="js"; version="1.2"; sha256="0s5rj845255a4fzv4h76gcnnqyl5cg3c03r2ay3f00jxnxvvigcg"; depends=[V8]; };
   jsTree = derive2 { name="jsTree"; version="1.2"; sha256="06mmz55brm6w19vnlk1w8qaz0n3czlyl4fs62nzgdlsdjn8pad1h"; depends=[data_table htmltools htmlwidgets jsonlite]; };
-  jsTreeR = derive2 { name="jsTreeR"; version="1.4.0"; sha256="0gvrp7qmjd8qikb0vd72fb43csd7505szjkxghbzbpp65n14z55r"; depends=[base64enc fontawesome htmltools htmlwidgets jquerylib miniUI R_utils rstudioapi shiny shinyAce]; };
+  jsTreeR = derive2 { name="jsTreeR"; version="1.5.0"; sha256="1bi36ic69a44191w5c7fkwvy2jq4rf7p5pklirrdwbdkhzirhgp2"; depends=[base64enc fontawesome htmltools htmlwidgets jquerylib miniUI R_utils rstudioapi shiny shinyAce]; };
   jskm = derive2 { name="jskm"; version="0.4.3"; sha256="04bm4haylhjj5wf09jmpznav7shnlnhag7kxl4yqp3z5572dvj1g"; depends=[ggplot2 gridExtra scales survey survival]; };
-  jsmodule = derive2 { name="jsmodule"; version="1.2.0"; sha256="1pnj6y3i0g75l8q6na0s78rwfj11nfmk2lw99qhxvbwcg5by7fhj"; depends=[data_table devEMF DT epiDisplay geepack GGally ggplot2 ggpubr haven Hmisc jskm jstable labelled MatchIt maxstat officer pROC purrr RColorBrewer readr readxl rstudioapi rvg see shiny shinycustomloader shinyWidgets survC1 survey survIDINRI survival timeROC]; };
+  jsmodule = derive2 { name="jsmodule"; version="1.3.0"; sha256="0a8ckml3i792y0ddff34l686f07vl1bqrs6q3gjmqs0hcrwl0lll"; depends=[data_table devEMF DT epiDisplay geepack GGally ggplot2 ggpubr haven Hmisc jskm jstable labelled MatchIt maxstat officer pROC purrr RColorBrewer readr readxl rstudioapi rvg see shiny shinycustomloader shinyWidgets survC1 survey survIDINRI survival timeROC]; };
   json64 = derive2 { name="json64"; version="0.1.3"; sha256="19q8qgf4wnd3np12ajy180klpjy0g2csw5micwb4sl7qfzl6wc7j"; depends=[jsonlite]; };
   jsonStrings = derive2 { name="jsonStrings"; version="1.0.0"; sha256="1rcgfzcbypmq2fcngl63ik6z13ir1687ya8aww2v8bk56h19pdxa"; depends=[Rcpp]; };
   jsonify = derive2 { name="jsonify"; version="1.2.1"; sha256="1kpv6whi6bggi0ij7krzfr0fly6c2j9y54fr5ahgcjp36amr34cj"; depends=[rapidjsonr Rcpp]; };
   jsonld = derive2 { name="jsonld"; version="2.2"; sha256="0bplz2s97wl9yp383jazykh5647iw6kbr1zanqai2s0sxp1xbwn8"; depends=[curl jsonlite V8]; };
-  jsonlite = derive2 { name="jsonlite"; version="1.7.2"; sha256="1lhzcpz9clwq04i5m6jzkvw9x03pwlqrixv4l9xzchjr8d84nd86"; depends=[]; };
+  jsonlite = derive2 { name="jsonlite"; version="1.7.3"; sha256="0n65x9ifxjssb000g7psgh9pgl374ax2ni1if9kp3sx56rg0n2kj"; depends=[]; };
   jsonstat = derive2 { name="jsonstat"; version="0.0.2"; sha256="0p0d3snl1971p5ikrkmwqrjjh4fy0b89qk3rnd1dayfb0r80xnnj"; depends=[cli dplyr jsonlite rlang]; };
   jsontools = derive2 { name="jsontools"; version="0.1.0"; sha256="13i1g8lmzgs7hd0xay4gm8z2myzbjzi73fwp9x4f4f9mywj7zl5s"; depends=[bit64 DBI glue jsonlite magrittr pillar purrr rlang RSQLite tibble tidyselect vctrs withr]; };
   jsonvalidate = derive2 { name="jsonvalidate"; version="1.3.2"; sha256="0myvm93azl6mj60l8fp91qa3ln3nnwj4p48xli8k215sm6zhhv1b"; depends=[V8]; };
   jstable = derive2 { name="jstable"; version="1.0.7"; sha256="1hs202z49aazsadr0jb67wk43i18y3h1aw0xflfmvirxjxr63xm8"; depends=[coxme data_table dplyr geepack labelled lme4 magrittr purrr survey survival tableone tibble]; };
   jstor = derive2 { name="jstor"; version="0.3.10"; sha256="0k2y3h01yra8yns97j4yyxa1jmclrd6z5xxiv4m8da5q5cgkc970"; depends=[cli crayon dplyr furrr magrittr pryr purrr readr rlang stringr tibble tidyr xml2]; };
-  jti = derive2 { name="jti"; version="0.8.0"; sha256="15rx44psz5hbpqzlmwnmqzzdf6488n17mbhyh52wyaaa70gk9ndh"; depends=[igraph Rcpp RcppArmadillo sparta]; };
+  jti = derive2 { name="jti"; version="0.8.3"; sha256="1bys01nd4smihm98g6ldfvglj3ba10006qkkxamnf0i3kvm2v6cf"; depends=[igraph Rcpp RcppArmadillo sparta]; };
   jtools = derive2 { name="jtools"; version="2.1.4"; sha256="1zbzhr7bz735b8pvqjxhqnmh3sl12xvpz5fpkmjngvwi4yz5873r"; depends=[crayon generics ggplot2 magrittr pander pkgconfig rlang tibble]; };
   jtrans = derive2 { name="jtrans"; version="0.2.1"; sha256="18zggqdjzjhjwmsmdhl6kf35w9rdajpc2nffag4rs6134gn81i3m"; depends=[]; };
   jubilee = derive2 { name="jubilee"; version="0.3.3"; sha256="1j2y44pfx9z2k169lh42b4dnfrrnk8jqsjn3wz4l9iscr6r91lx7"; depends=[data_table dplyr readxl xts yaml zoo]; };
   juicr = derive2 { name="juicr"; version="0.1"; sha256="0vkbgbagcgaxj6k62b033ik85jnkzvshg8dm9cz7vq4yjqj3icip"; depends=[RCurl XML]; };
   junctions = derive2 { name="junctions"; version="2.0.1"; sha256="19fjh9nf3dp88gdxf6a1f49bann7g21g9rhrqj0fv38wss97cssr"; depends=[nloptr Rcpp RcppParallel tibble]; };
+  just_install = derive2 { name="just.install"; version="1.0.2"; sha256="1g82g4lhdk8mf1v4j47y2pgdrryz4175djx42kmg85vw7mlpvlcj"; depends=[dplyr remotes]; };
   justifier = derive2 { name="justifier"; version="0.2.2"; sha256="1ww9rdi9khylvr15crkjibdzydlynwscphqyrcpnfig346i9yv72"; depends=[data_tree DiagrammeR DiagrammeRsvg purrr yaml yum]; };
   jvcoords = derive2 { name="jvcoords"; version="1.0.3"; sha256="1ixmz3pj18zddgah59iqd4zbm5praw0dvn6c93dn5mrwx92pa65c"; depends=[]; };
   jvnVaR = derive2 { name="jvnVaR"; version="1.0"; sha256="0zh0dc6wqlrxn5r2yv9vkpyfb8xsbdidkjv9g6qr94fyxlbs4yci"; depends=[]; };
@@ -11310,7 +11435,7 @@ in with self; {
   kerTests = derive2 { name="kerTests"; version="0.1.3"; sha256="0981q4n4wrv62x4b8jccj5hx58n975rls3sn3s0mz7ajhh1xxbi9"; depends=[]; };
   keras = derive2 { name="keras"; version="2.7.0"; sha256="004z9aajc0b7lw7g68ri7ndabdwbylmnlyvmziljmm29z6fzk8y5"; depends=[ellipsis generics glue magrittr R6 reticulate rlang tensorflow tfruns zeallot]; };
   kerasR = derive2 { name="kerasR"; version="0.6.1"; sha256="1yi7710vgcwz0jhishbga41sc6qyk83a0avmq01dvqjsz3cdfsfc"; depends=[reticulate]; };
-  kerastuneR = derive2 { name="kerastuneR"; version="0.1.0.3"; sha256="1lky84mgppsbn2wn0livx2j18x5vg92mskhb3pyf4ig9qyfxgjkk"; depends=[crayon data_table dplyr echarts4r keras magick plotly reticulate rjson RJSONIO rstudioapi tensorflow tidyjson]; };
+  kerastuneR = derive2 { name="kerastuneR"; version="0.1.0.4"; sha256="1xpilrlf0l323aikq1lflc166wr0xffj0psq1pfhlmm51zhv8190"; depends=[crayon data_table dplyr echarts4r keras magick plotly reticulate rjson RJSONIO rstudioapi tensorflow tidyjson]; };
   kerdiest = derive2 { name="kerdiest"; version="1.2"; sha256="16xj2br520ls8vw5qksxq9hqlpxlwmxccfk5balwgk5n2yhjs6r3"; depends=[chron date evir]; };
   kergp = derive2 { name="kergp"; version="0.5.5"; sha256="0qkjjrjgny8jvklgbddx0n1fq2bwr434shdn7xzdp0krxxnh7h64"; depends=[doFuture doParallel lattice MASS nloptr numDeriv Rcpp testthat]; };
   kerndwd = derive2 { name="kerndwd"; version="2.0.3"; sha256="0lvm007wzhyagyafmq47819hn66riwdcpymn56clc1sgch9i933m"; depends=[]; };
@@ -11336,7 +11461,7 @@ in with self; {
   kgc = derive2 { name="kgc"; version="1.0.0.2"; sha256="14zbcimnglh5jj07dcaxp1dfjaz8syswy29nf8z39qmslv1hg9kk"; depends=[plyr shiny shinythemes]; };
   kgrams = derive2 { name="kgrams"; version="0.1.2"; sha256="0m1cw55lr0bl83p379wh3103d1rw9933lvf457kvxy56r1164l2h"; depends=[Rcpp RcppProgress Rdpack rlang]; };
   kgschart = derive2 { name="kgschart"; version="1.3.5"; sha256="1gdsrmnv8z99cldvig7grlq8gsbv3wpx7zdamw85lz563n4ln94d"; depends=[abind deepnet ggplot2 gridExtra magrittr matrixStats nnet png shiny stringr]; };
-  khroma = derive2 { name="khroma"; version="1.7.0"; sha256="146kc7mazzznaih9sjqf7cylpxq08lnhijmrapqyhk00f3i6h52n"; depends=[]; };
+  khroma = derive2 { name="khroma"; version="1.8.0"; sha256="07z0k3gg5hr61l03xljfmgjsrsbljpb3ha0mhkwgfq85wiwkmnr3"; depends=[]; };
   kibior = derive2 { name="kibior"; version="0.1.1"; sha256="1acrdlqbklhhd69i1gija8r3nsdgcnfvk5ngz7b2ndy2f58w5ynf"; depends=[Biostrings data_table dplyr elastic jsonlite magrittr purrr R6 rio Rsamtools rtracklayer stringr tibble tidyr]; };
   kidney_epi = derive2 { name="kidney.epi"; version="1.2.0"; sha256="1hd6w7kxim5slmmqalf5sfjg8jcvhyzn5g4gf6h0lmaprsfszhja"; depends=[]; };
   kim = derive2 { name="kim"; version="0.4.21"; sha256="0sn6m3mnf8d8ghdybyrsckvvmj8j5djg41f87ar7m764pm39prhl"; depends=[data_table remotes]; };
@@ -11354,6 +11479,7 @@ in with self; {
   kitagawa = derive2 { name="kitagawa"; version="3.1.0"; sha256="190xi88zc3vybpyawayh8m78sgcn951n3axmc2fc67sic458r02s"; depends=[Bessel kelvin psd]; };
   kiwisR = derive2 { name="kiwisR"; version="0.2.0"; sha256="14fzf72swy221jcbiplss9dh7g03idrpbbyvbxp4bcqpxwr6hbsa"; depends=[dplyr httr jsonlite lubridate purrr tibble]; };
   kknn = derive2 { name="kknn"; version="1.3.1"; sha256="1nzkg3dxaiqp87p56wm895qx5xn86hv5hjr73qvl1yiaxiq0x112"; depends=[igraph Matrix]; };
+  kko = derive2 { name="kko"; version="1.0.1"; sha256="08mgi7j1kirfnjsj3xi2wgr32cnqb88vxs15gfm6f1gq853xvhch"; depends=[doParallel ExtDist foreach grpreg knockoff]; };
   klaR = derive2 { name="klaR"; version="0.6-15"; sha256="1bhgkq6spjawy5lsh663rnby4fzrx4k2qwqp4ci4p9pq8g35pzjv"; depends=[combinat MASS questionr]; };
   klassR = derive2 { name="klassR"; version="0.1.7"; sha256="1y2jbpb7yyah62a6ii61xllskz5h4jcnw7sxmwzfnw6jpnd5m3gr"; depends=[httr jsonlite tm]; };
   klausuR = derive2 { name="klausuR"; version="0.12-10"; sha256="12fjs4dnwaki8sz718xgsg8qrqhsgf87cs0bylf0p3f5k8hrmk4b"; depends=[polycor psychometric xtable]; };
@@ -11381,7 +11507,7 @@ in with self; {
   knnIndep = derive2 { name="knnIndep"; version="2.0"; sha256="1fwkldgs2994svf3sj90pwsfx6r22cwwa22b30hdmd24l8v9kzn7"; depends=[]; };
   knnp = derive2 { name="knnp"; version="2.0.0"; sha256="0qgq8la3zndlb1wwqv9b2kw52y9ns36pi4ds68pkm81bhzq5nqis"; depends=[doParallel foreach forecast parallelDist plyr]; };
   knnwtsim = derive2 { name="knnwtsim"; version="0.1.0"; sha256="0b902w012lkj18piyfn8mkjh45fdvw19v3wpsw5ng9gk4j7g4mwj"; depends=[]; };
-  knockoff = derive2 { name="knockoff"; version="0.3.3"; sha256="1nswpchpk1ccvhlgz1h3ka3c65mjfrrykfgv824fyncmfxaz8lmw"; depends=[corpcor glmnet gtools Matrix Rdsdp RSpectra]; };
+  knockoff = derive2 { name="knockoff"; version="0.3.5"; sha256="00nh1wwj66krdng4afxkv0c0xyi5lk6f2g8iwzcd7c5l5ladab7y"; depends=[corpcor glmnet gtools Matrix Rdsdp RSpectra]; };
   knotR = derive2 { name="knotR"; version="1.0-2"; sha256="0kd1b9wibpwyaanz9ny61qgfvcg4d3rzpy05sfshlpp0b1y8d3xj"; depends=[]; };
   kntnr = derive2 { name="kntnr"; version="0.4.4"; sha256="1af5qhj82dixf1qcbz3sfj52pzgy8gnafzifwxnhrp7vpn4rnv6m"; depends=[base64enc dplyr httr jsonlite lubridate purrr rlang rstudioapi stringr tibble tidyr]; };
   koRpus = derive2 { name="koRpus"; version="0.13-8"; sha256="0r9a2fzi3w53kixcjzbij8qmmkjl2p53dazys34s0czb5qrlm6hf"; depends=[data_table Matrix sylly]; };
@@ -11416,7 +11542,7 @@ in with self; {
   kuiper_2samp = derive2 { name="kuiper.2samp"; version="1.0"; sha256="0gcgayh7qdic9zprdvs6r8qvpqs467zrm0qzp2acb7alcp01jhpi"; depends=[]; };
   kulife = derive2 { name="kulife"; version="0.1-14"; sha256="070ayy6fr9nsncjjljikn2i5sp2cx3xjjqyc64y2992yx74jgvvd"; depends=[]; };
   kutils = derive2 { name="kutils"; version="1.70"; sha256="06jk66wbq3jmdf2jdhqns6r3yk36l2x7c907x977zv80sqxa1l37"; depends=[foreign openxlsx plyr RUnit xtable]; };
-  kvh = derive2 { name="kvh"; version="1.4.1"; sha256="0hnqlybphx8qnx98ynykxpz4ys4prp9zbmkak02qlvmnxwc2cqg0"; depends=[Rcpp]; };
+  kvh = derive2 { name="kvh"; version="1.4.2"; sha256="0lx7p2rgvcjgg99chcan0qb9hafx226sqvdb1g1xpkdwvzbyxci8"; depends=[Rcpp]; };
   kwb_hantush = derive2 { name="kwb.hantush"; version="0.3.0"; sha256="1rlm7i95yw66asgkag93phig2y9lic4xl2fv3cbnr3v751f6a59m"; depends=[hydroGOF lattice]; };
   kyotil = derive2 { name="kyotil"; version="2021.5-14"; sha256="1wimyjh78w3bimijr8ym0642kdag4zryildyx3v1p37cjy8788b9"; depends=[]; };
   kza = derive2 { name="kza"; version="4.1.0.1"; sha256="1vx7wc8iwmr9d6ff2kcy6y3nyfj6jfzv4hxkv1fsas0rbjgfick4"; depends=[]; };
@@ -11426,7 +11552,7 @@ in with self; {
   l0ara = derive2 { name="l0ara"; version="0.1.6"; sha256="1cv48rbq080z7zx32hmlkpq7mi5axr09a1hyv3knl1vb9gql4qjq"; depends=[Rcpp RcppArmadillo]; };
   l1ball = derive2 { name="l1ball"; version="0.1.0"; sha256="1ryq1vfkwg465kgxbb2wf8df7qa85yr8lbx3a58j0az8dqkyzqix"; depends=[VGAM]; };
   l1kdeconv = derive2 { name="l1kdeconv"; version="1.2.0"; sha256="1mk92sz9nsmxsn7yplhfcz07k022lrr61114ckrmm0x8hfd89zj8"; depends=[ggplot2 mixtools]; };
-  l1spectral = derive2 { name="l1spectral"; version="0.99.5"; sha256="077aq547sniva7p9zv0dg0dg8xmw4mb9200856aw66fbhk1khq0g"; depends=[aricode caret cvTools dplyr ggplot2 glmnet igraph Matrix Rcpp RcppArmadillo]; };
+  l1spectral = derive2 { name="l1spectral"; version="0.99.6"; sha256="19q30g67pf2gx2h6s3il87n910f011lih3lh9321pkh4idl4awnb"; depends=[aricode caret cvTools dplyr ggplot2 glmnet igraph Matrix Rcpp RcppArmadillo]; };
   l2boost = derive2 { name="l2boost"; version="1.0.1"; sha256="0f2gapzpvjnr8n1jgn60jpmcas4s8nk2q8q4k5v4ypwvpfqp7kk1"; depends=[MASS]; };
   laGP = derive2 { name="laGP"; version="1.5-5"; sha256="1a269cy9qmjldb5hv1nl9naq1rr35z37xjpp4kannj6p560fm476"; depends=[tgp]; };
   labdsv = derive2 { name="labdsv"; version="2.0-1"; sha256="099rzl9hy70rmb5fg0vx26mlhr4ra2s0hl3jgv22s8hqpvlmakas"; depends=[cluster MASS mgcv Rtsne]; };
@@ -11451,7 +11577,7 @@ in with self; {
   lagsarlmtree = derive2 { name="lagsarlmtree"; version="1.0-1"; sha256="1v3a580scxb1v5na3ab3ax9qlzbnay7nhm3ln5l8f9zgsqrg5lyh"; depends=[Formula partykit spatialreg]; };
   lakemorpho = derive2 { name="lakemorpho"; version="1.2.0"; sha256="0fcmrl6yi1dd0i1r4kyp8bf4yw1nwdk6862sdakfwr2jd1rxhi9q"; depends=[cluster geosphere raster rgdal rgeos sp]; };
   laketemps = derive2 { name="laketemps"; version="0.5.1"; sha256="04742r379bzgbfr4243wwkb26cvfmnw50jzgygq7vblq00grzska"; depends=[dplyr reshape2]; };
-  lamW = derive2 { name="lamW"; version="2.1.0"; sha256="09f93gf9q3bxa2a2g5kgzc69s6izn8z243160280vbqzsy55m28q"; depends=[Rcpp RcppParallel]; };
+  lamW = derive2 { name="lamW"; version="2.1.1"; sha256="05b37kx4jpszx2hkm47d7cjkf8544f7r8x26q68yp9c6zqm9gbc3"; depends=[Rcpp RcppParallel]; };
   lambda_r = derive2 { name="lambda.r"; version="1.2.4"; sha256="1mh1g0gsd58gng0hb29vww2yqb2jfs07kba5kxnnqck5j3izwlnj"; depends=[formatR]; };
   lambdaTS = derive2 { name="lambdaTS"; version="1.0.0"; sha256="0bd1kvvw573vagx7k2nylawgaf826bvqms4ar56cx54hys0blmm5"; depends=[abind bestNormalize bizdays fANCOVA ggplot2 imputeTS lubridate modeest narray purrr readr scales stringr tictoc torch]; };
   lambdr = derive2 { name="lambdr"; version="1.1.0"; sha256="02piqnw1n444sa396bbmplf3br7bh70qkn4dwvkzxj558ddv9l83"; depends=[httr jsonlite logger]; };
@@ -11471,7 +11597,7 @@ in with self; {
   languageserversetup = derive2 { name="languageserversetup"; version="0.1.2"; sha256="05i8kcp1zpbkrqpq5vxxvxk9p7phyngxl0q6v76va0i7qnmy1v7a"; depends=[]; };
   lans2r = derive2 { name="lans2r"; version="1.1.0"; sha256="0svqaz1j8vhfnm31bfp4gqshdj73wmljva4kxcv2qajmcdiqbd2s"; depends=[dplyr ggplot2 R_matlab reshape2 rlang tidyr]; };
   lar = derive2 { name="lar"; version="0.1-2"; sha256="0qda0y4ag10kg83wxs3z754kc8c1dg2rwciy64klk7an4ln43i5b"; depends=[data_table treemap xlsx]; };
-  lares = derive2 { name="lares"; version="5.0.4"; sha256="1yj8cn4a2m5z7884mk44nyc2xpar740x76w6s052h9s9yfix471q"; depends=[dplyr ggplot2 h2o httr jsonlite lubridate magrittr openxlsx patchwork pROC rlang rpart rpart_plot rvest stringr tidyr yaml]; };
+  lares = derive2 { name="lares"; version="5.0.5"; sha256="1gn72dl3w6zdnllmj30s5wy8v0x0ww98ydhshx42hn3miil1cv32"; depends=[dplyr ggplot2 h2o httr jsonlite lubridate magrittr openxlsx patchwork pROC rlang rpart rpart_plot rvest stringr tidyr yaml]; };
   largeList = derive2 { name="largeList"; version="0.3.1"; sha256="0csijzlxajj0rh24w5n7fs6ss301zr6zfv5khyq4a9g437bwhc2i"; depends=[]; };
   lars = derive2 { name="lars"; version="1.2"; sha256="0blj44wqrx6lmym1m9v6wkz8zxzbjax2zl6swgdczci0ixb5nx34"; depends=[]; };
   lasso2 = derive2 { name="lasso2"; version="1.2-22"; sha256="1l87djh539m444p5nl9975dd3v5nc7j8af9rj4xr54h5d0mbcbjv"; depends=[]; };
@@ -11483,23 +11609,24 @@ in with self; {
   latentgraph = derive2 { name="latentgraph"; version="1.1"; sha256="11h7nrd81licvdikiwwfkz4x9i7drz09w5ns672b7fw0pj4qqgsr"; depends=[glmnet MASS pracma Rcpp RcppArmadillo]; };
   latentnet = derive2 { name="latentnet"; version="2.10.5"; sha256="05yjf7a16imv1p2lg5dmfk183xll49crnkg0mbz4c4b39nksy85v"; depends=[abind coda ergm MASS mvtnorm network sna statnet_common]; };
   later = derive2 { name="later"; version="1.3.0"; sha256="0acqg29hcm2iq1418b54np7zb5pnr3xzrwc3ijv2pz9wra10ix88"; depends=[Rcpp rlang]; };
-  latex2exp = derive2 { name="latex2exp"; version="0.5.0"; sha256="0qknpw7zwwbzsbry94j8fn48mq7kq5rc5448g9hybbisain3wfvg"; depends=[magrittr stringr]; };
+  latex2exp = derive2 { name="latex2exp"; version="0.9.3"; sha256="1r3jab71hl7hqi53cd63r819xlyn2ay6867184gzkxm0m3nhhcnh"; depends=[magrittr stringr]; };
   latexdiffr = derive2 { name="latexdiffr"; version="0.1.0"; sha256="021lhswy8nik2h1951h1affg8x5lchsa2amyx7fwrajp4bgq72yk"; depends=[fs rprojroot]; };
   latexpdf = derive2 { name="latexpdf"; version="0.1.7"; sha256="0n0hzr9jkg13kn56jcghcg4a6y8x0c3jffcvxv621azd9ldljgfl"; depends=[]; };
-  latrend = derive2 { name="latrend"; version="1.1.2"; sha256="1g4dv648wfczjkncqrrzr2qzsjj93w6c4lsa3hivddpi9vbbl19w"; depends=[assertthat caret clusterCrit data_table foreach ggplot2 lme4 longitudinalData magrittr matrixStats mclust mclustcomp plyr R_utils Rdpack scales stackoverflow]; };
+  latrend = derive2 { name="latrend"; version="1.2.1"; sha256="1dn0s015mjb9kv4gjswd439hbmr6r8xn0s4ckwp23wg6srhnmiza"; depends=[assertthat data_table foreach magrittr matrixStats R_utils Rdpack]; };
   latte = derive2 { name="latte"; version="0.2.1"; sha256="1dcwxxj3yran5a3a8vvdfmx4ap69ql2jncxvmci4p4vcw4ki9j9g"; depends=[dplyr ggplot2 glue magrittr memoise mpoly stringr usethis]; };
   lattice = derive2 { name="lattice"; version="0.20-45"; sha256="1b87fmyjzbg854vpi03my1p25n3d0bchhwsdm2frblxppn98sf12"; depends=[]; };
   latticeDensity = derive2 { name="latticeDensity"; version="1.2.6"; sha256="0l9ypdpy09nnmanj2gvaxzj79s8d9iqwy6rv0rig5fwbqv1y6135"; depends=[sf sp spam spatialreg spatstat spatstat_geom spdep splancs]; };
   latticeExtra = derive2 { name="latticeExtra"; version="0.6-29"; sha256="04fzwcqs594rk5qp98yilh3kdh3sw4xf8wld5rp94ggpaqfw7bbc"; depends=[jpeg lattice png RColorBrewer]; };
   lava = derive2 { name="lava"; version="1.6.10"; sha256="0bi3c1aqwlq7jbz4raz6vga4r264w7lldi0i62xjlbl7hnlgi23s"; depends=[future_apply numDeriv progressr SQUAREM survival]; };
   lavaSearch2 = derive2 { name="lavaSearch2"; version="1.5.6"; sha256="0m5dwfmpcmicrpasx2raac2zylss416bxxgb3mg3abpll89iw9fx"; depends=[doParallel ggplot2 lava MASS Matrix multcomp mvtnorm nlme Rcpp RcppArmadillo reshape2 sandwich]; };
-  lavaan = derive2 { name="lavaan"; version="0.6-9"; sha256="12hhbwxaiprs9bmclwhhdpv42h4mrl4gj92zq3wk8rb883mw816l"; depends=[MASS mnormt numDeriv pbivnorm]; };
+  lavaan = derive2 { name="lavaan"; version="0.6-10"; sha256="0dwc8rgrzyrrb0ivx297ln2qbrsxbpn6mdf7laiffhspdpml8sad"; depends=[MASS mnormt numDeriv pbivnorm]; };
   lavaan_shiny = derive2 { name="lavaan.shiny"; version="1.2"; sha256="0qgswdpxb5af0l3v70sg0jrgsdwr88gz6zzwbk3pw5x6qnvnwb6r"; depends=[lavaan psych semPlot shiny shinyAce]; };
   lavaan_survey = derive2 { name="lavaan.survey"; version="1.1.3.1"; sha256="133hpy8s00y6jzwwzl9brdh70w26jycdm3n1c6bcryghwh3ai4xr"; depends=[lavaan MASS survey]; };
   lavaanPlot = derive2 { name="lavaanPlot"; version="0.6.2"; sha256="03icyydr6sv4jkdfdjchsdrscr9lz9q74x5q17cx2iw3383j6lz5"; depends=[DiagrammeR lavaan magrittr stringr]; };
   lavacreg = derive2 { name="lavacreg"; version="0.1-2"; sha256="15108y1bxlimcc57c4655wgll23s9dk8zj3j2sqg7rnn3i9kbjc6"; depends=[fastGHQuad pracma Rcpp SparseGrid]; };
   lawstat = derive2 { name="lawstat"; version="3.4"; sha256="1zrx5lsqfxlqjr68iz9hqghsla4m25hn5lyf8jwhw5229sw0n7a1"; depends=[Kendall mvtnorm Rdpack]; };
   lax = derive2 { name="lax"; version="1.2.0"; sha256="0v05088a3hfmb2m6mzc6m7nibiq4qs5j052pnigyqkadf8mcyvjq"; depends=[chandwich numDeriv revdbayes sandwich]; };
+  layer = derive2 { name="layer"; version="0.0.1"; sha256="0mmijkk4ppbmhlp6ah88a9v3iwdd9j6yw7ff8kk7p1iw63qkiyxi"; depends=[dplyr ggnewscale ggplot2 raster scico sf stars]; };
   lazy = derive2 { name="lazy"; version="1.2-16"; sha256="1psh3sng1pm23pjwy7iszb21ys7d29ry34ymvpgxj6zdhywwi5n7"; depends=[]; };
   lazyData = derive2 { name="lazyData"; version="1.1.0"; sha256="0mbmmx6dh8ph4lrx1b4gxbwz3jwxv4nqi0xvfzpzrm3bwbsjc634"; depends=[]; };
   lazyWeave = derive2 { name="lazyWeave"; version="3.0.2"; sha256="1a7l0rgkp3xq2s6bikciq778fwyr282baa6jk9ip4a71s931p2ag"; depends=[Hmisc labelVector]; };
@@ -11516,13 +11643,14 @@ in with self; {
   lbfgsb3c = derive2 { name="lbfgsb3c"; version="2020-3.2"; sha256="07mhiaxhjjma5c65z3pz7wchgsqn4b19labzyq25ncnmj319fxrg"; depends=[numDeriv Rcpp RcppArmadillo]; };
   lbiassurv = derive2 { name="lbiassurv"; version="1.1"; sha256="1i6l3y4rasqpqka7j39qjx22wjbilgc9pkp05an52aysfvfxy193"; depends=[actuar]; };
   lbm = derive2 { name="lbm"; version="0.9.0.2"; sha256="0mn0k5liwrnbsl5lf4k5b8j2y79bkk689v8wrvcmj3l7q2abaxhf"; depends=[]; };
+  lboxcox = derive2 { name="lboxcox"; version="1.0"; sha256="1fvi8gmnajj6nl9dlg5056mx4yblra54c18l62f5yy5wd7byr18x"; depends=[doParallel foreach maxLik survey]; };
   lbreg = derive2 { name="lbreg"; version="1.3"; sha256="1z9vixf6sl0k9lizngc3859lk32srkk1d8y133sl6s37ppmqb4s2"; depends=[MASS]; };
   lcars = derive2 { name="lcars"; version="0.3.7"; sha256="1hjlcl57aazcm5hgjiwmi116rk13z2gr65mpgcvyc0p9xih8bvdf"; depends=[ggplot2 shiny trekcolors]; };
   lcc = derive2 { name="lcc"; version="1.1.3"; sha256="0hbv0nv421ldk10b4qr8dq7ww4w1342sl3s8gw0slfigxbbxv4bh"; depends=[doRNG doSNOW foreach ggplot2 hnp nlme]; };
   lcda = derive2 { name="lcda"; version="0.3"; sha256="1ximsyn6qw2gfn7b1hdpbjs6h6nk7hrignlii0np1lbf0k8l4xxl"; depends=[poLCA]; };
   lchemix = derive2 { name="lchemix"; version="0.1.0"; sha256="1g2w57fi6kvsyir14hnxh0v6xwjdnbisafvjxvn1g6a4h55dg9i0"; depends=[MCMCpack mvtnorm]; };
   lclGWAS = derive2 { name="lclGWAS"; version="1.0.3"; sha256="03b6ijqvyirv96hc3dsqf4f0zzqlmq5451mcb14d2mw3s6xy1vmq"; depends=[BH Rcpp]; };
-  lcmm = derive2 { name="lcmm"; version="1.9.3"; sha256="0r2wx28yky3x23f2pjgfnibwba59y633c13fw7qcn2n3n5q3yzwl"; depends=[mvtnorm survival]; };
+  lcmm = derive2 { name="lcmm"; version="1.9.5"; sha256="0c88hy8bqkf2h8a6q06l5sk294g68hkwniv3dv6c4nf9dazvzi7n"; depends=[mvtnorm nlme randtoolbox survival]; };
   lconnect = derive2 { name="lconnect"; version="0.1.1"; sha256="1lx0z72aiy2hbh0wxn3ni3dyr3s2v8xirkvszlxvgfzkfmjx05j5"; depends=[igraph sf]; };
   lcopula = derive2 { name="lcopula"; version="1.0.4"; sha256="11rjymm4zj3brifzrrfwqv9v8rzkzqk072xlzyjxm2p08dd11xxb"; depends=[copula pcaPP Rcpp]; };
   lcpm = derive2 { name="lcpm"; version="0.1.1"; sha256="0pqmizli5rhyaxvxrjycf8d5kqrm23i3vdz00r8zmijjpiz2p9s2"; depends=[Matrix numDeriv plyr]; };
@@ -11548,7 +11676,7 @@ in with self; {
   leafdown = derive2 { name="leafdown"; version="1.0.0"; sha256="1zvgbglrb4javazvyph7b48x3qab7kiziiya1a1wccdm9l6qh58w"; depends=[checkmate leaflet magrittr R6 shiny shinyjs]; };
   leafem = derive2 { name="leafem"; version="0.1.6"; sha256="0ml110rva6ca8ycy0mrivq3wsj0dvyi5f62i92948r7mk6kf0l6a"; depends=[base64enc geojsonsf htmltools htmlwidgets leaflet png raster sf]; };
   leafgl = derive2 { name="leafgl"; version="0.1.1"; sha256="042jps6zh4xr0xj19a7fbgrcb6q6gsw2q5f191lyskr8iajdrz1h"; depends=[geojsonsf htmltools jsonify leaflet sf]; };
-  leaflegend = derive2 { name="leaflegend"; version="0.5.0"; sha256="1h4yjw3apzw0gbay6s6cxr7r6bxq8jvm4nfv3csh2qrdqlzsb6h9"; depends=[base64enc htmltools htmlwidgets leaflet]; };
+  leaflegend = derive2 { name="leaflegend"; version="0.6.0"; sha256="0gdagadqv8ka5pzc1rz4bnklmi6j04s538xv12jikaq3y13zlwn7"; depends=[base64enc htmltools htmlwidgets leaflet]; };
   leaflet = derive2 { name="leaflet"; version="2.0.4.1"; sha256="07whi3zkz1lmbqx5ydpiya802ck22ny0s7gskwnx7r8xbwlkiw5h"; depends=[base64enc crosstalk htmltools htmlwidgets leaflet_providers magrittr markdown png raster RColorBrewer scales sp viridis]; };
   leaflet_esri = derive2 { name="leaflet.esri"; version="1.0.0"; sha256="01bwzxh2rdhpvvazaxsji8axl765q1ix1fdxla6i61nvqkpw3dz1"; depends=[htmltools leaflet leaflet_extras]; };
   leaflet_extras = derive2 { name="leaflet.extras"; version="1.0.0"; sha256="0li7651cwlz7sg04xdrmvhkrf0n6amaydck7gqz0wkb6wq8hcyzw"; depends=[htmltools htmlwidgets leaflet magrittr stringr]; };
@@ -11576,21 +11704,23 @@ in with self; {
   leastcostpath = derive2 { name="leastcostpath"; version="1.8.0"; sha256="1106wh2yy048jimiyb3gwm9d00jfq4wk0dnj4a5sfk90rkg28acw"; depends=[gdistance Matrix pbapply raster rgdal rgeos sp]; };
   ledger = derive2 { name="ledger"; version="2.0.9"; sha256="0ynr1g7vfkabl78zjnshyxixk45g28bi9h1p4zjfl83009yhqjwx"; depends=[dplyr rlang stringr tibble tidyr tidyselect]; };
   leerSIECyL = derive2 { name="leerSIECyL"; version="1.0.2"; sha256="1zx28gpnys9mmhq7wwljfnq92wj1h1vxgqiirnfmn36z942nvmxl"; depends=[RCurl]; };
-  lefko3 = derive2 { name="lefko3"; version="4.1.1"; sha256="0lkhzrk64zci6k6h7wzpyz9i2npgfd1c00r72hcyim5wf0dnm3fc"; depends=[glmmTMB lme4 MASS MuMIn pscl Rcpp RcppArmadillo SparseM stringr VGAM]; };
+  lefko3 = derive2 { name="lefko3"; version="4.2.0"; sha256="1fg9bmpf604prmffkbi92b4zx084dv4ka8ishc9fjqgmsy3mfnd2"; depends=[BH glmmTMB lme4 MASS MuMIn pscl Rcpp RcppArmadillo SparseM VGAM]; };
   legco = derive2 { name="legco"; version="0.1.4"; sha256="0fd1d2zf510lyrwclsy57d8lgqprk6p8c6ghxglgm6gbx9d2yrgg"; depends=[dplyr httr jsonlite]; };
   legion = derive2 { name="legion"; version="0.1.0"; sha256="0lpxg3jx9ll3748aixr84yl44ig8arqj6axzr80402kzjndc2z3h"; depends=[greybox nloptr pracma Rcpp RcppArmadillo smooth statmod zoo]; };
   legislatoR = derive2 { name="legislatoR"; version="1.0"; sha256="1553hpb2cmv3hw6v4c7qwgg8n18jwx101yaqnmaaiv8gfyh6j43m"; depends=[curl dplyr]; };
   legocolors = derive2 { name="legocolors"; version="0.3.1"; sha256="0ds9c2x0x590yk7mrjm4hh7k72p51slssg7jlprd71mw6hry91ma"; depends=[]; };
+  lehdr = derive2 { name="lehdr"; version="1.0.1"; sha256="0hg5a4w37wi6bqks2298ajsj8q6y3lvbx80wwg5364vnv7na3308"; depends=[dplyr glue httr rappdirs readr rlang stringr]; };
   leiden = derive2 { name="leiden"; version="0.3.9"; sha256="03gaxpcab3a1av5lk8r5ll1s858gvyx5ndknci1sia96w1v44xc1"; depends=[igraph Matrix reticulate]; };
   leidenAlg = derive2 { name="leidenAlg"; version="1.0.1"; sha256="0d7g7l06gmind603v525nqgl3h2c24mbhrn6j6fi7hipbihzjnsm"; depends=[igraph Matrix Matrix_utils Rcpp RcppArmadillo RcppEigen sccore]; };
   leiv = derive2 { name="leiv"; version="2.0-7"; sha256="15ay50886xx9k298npyksfpva8pck7fhqa40h9n3d7fzvqm5h1jp"; depends=[]; };
-  lemna = derive2 { name="lemna"; version="0.9.0"; sha256="0bnnxhna75970vfhfw1wc2346hqgw2i3jh8bbq05977bcvd2l51j"; depends=[deSolve ggplot2 gridExtra]; };
+  lemna = derive2 { name="lemna"; version="0.9.1"; sha256="0aamkqcjw8n9mly8a7m1s1wfi6j5mx2kbbxfn9vbb21b9pqi2jl5"; depends=[deSolve ggplot2 gridExtra]; };
   lemon = derive2 { name="lemon"; version="0.4.5"; sha256="1y3ljidhqdakxlya2npj2w0az820g8kw6gl1cfm4f0cxvzgd1ly4"; depends=[ggplot2 gridExtra gtable knitr lattice plyr rlang scales]; };
   lenses = derive2 { name="lenses"; version="0.0.3"; sha256="08akwzlc5gk2rxbh9xp67n5ahdcld60932ascczjv0accrkxizhk"; depends=[magrittr rlang tidyselect]; };
   leontief = derive2 { name="leontief"; version="0.2"; sha256="1gy23047c6gci9m83yrb662d5685x1kky6m94w68swms59gdc6yp"; depends=[Rcpp RcppArmadillo]; };
+  leprechaun = derive2 { name="leprechaun"; version="1.0.0"; sha256="1y30s519502bqabzsf1njf3zzqlbmr4sbmsm57ci1r6dv4miijkh"; depends=[cli fs jsonlite roxygen2 usethis]; };
   leri = derive2 { name="leri"; version="0.0.1"; sha256="1309v58xdw3p6y2wpnl64vgsds5kvfiary2a3fa041kz23jzbp3c"; depends=[ncdf4 raster]; };
   lero_lero = derive2 { name="lero.lero"; version="0.2"; sha256="03ll7jzcay0swwpmxyf0y9k2h8mxx4p5v3ggm9dgdz4j99934l70"; depends=[]; };
-  lessR = derive2 { name="lessR"; version="4.1.4"; sha256="01mb5kn2rbdmvhsk0k8809z3rd6jj3zyf6gyvlk0z177134vgnvl"; depends=[colorspace ellipse knitr lattice latticeExtra leaps openxlsx robustbase shiny viridisLite]; };
+  lessR = derive2 { name="lessR"; version="4.1.5"; sha256="1s08jsrrmhxdizcy6rzs5q2g3qklw423c8hjqc8czzwsksz1a60h"; depends=[colorspace ellipse knitr lattice latticeExtra leaps openxlsx robustbase shiny viridisLite]; };
   lest = derive2 { name="lest"; version="1.1.0"; sha256="1d69kvdl31crv4ik8bwylq3s3f4skzrjc4x49c79w443g64n2jp9"; depends=[]; };
   lestat = derive2 { name="lestat"; version="1.9"; sha256="1skxymdf3ncmdbskh7711xxgwsmwxfxnl52gcgw06jscx6s6wrsd"; depends=[MASS]; };
   letsR = derive2 { name="letsR"; version="4.0"; sha256="07l1wgwnkqnvh47ssg62vj88vgml52n0934w00pjxdk90kk3c5zs"; depends=[fields geosphere maps maptools raster rgdal rgeos sp XML]; };
@@ -11607,6 +11737,7 @@ in with self; {
   lg = derive2 { name="lg"; version="0.4.1"; sha256="1srlklq6hkb4yd3lbbazswj866i3wzk2524hhj1v45yr7d5qhxv0"; depends=[ggplot2 ks localgauss logspline mvtnorm np tseries]; };
   lgarch = derive2 { name="lgarch"; version="0.6-2"; sha256="05xksc4d6dbf5ls4lf2gpk9xyi99fikr7dva88b84rfgads1yhrh"; depends=[zoo]; };
   lgcp = derive2 { name="lgcp"; version="1.7"; sha256="0i45n31wxznl6485zsa5nnfhy4f3lya9sijyavdcwx0v8j2gkpvr"; depends=[fields iterators maptools Matrix ncdf4 RandomFields raster rgeos rpanel sp spatstat spatstat_core spatstat_geom spatstat_utils]; };
+  lglasso = derive2 { name="lglasso"; version="0.1.0"; sha256="0qkmlr7gfbw9m403676p4ip4hn2v2ll1jcwj5vhshcyb5whsr866"; depends=[glasso]; };
   lgpr = derive2 { name="lgpr"; version="1.1.5"; sha256="03wf6n3agls48r1a82aw6sywj3hzs0pza29l3p68nlqlkf9amnnw"; depends=[bayesplot BH ggplot2 gridExtra MASS Rcpp RcppEigen RcppParallel RCurl rstan rstantools StanHeaders]; };
   lgr = derive2 { name="lgr"; version="0.4.3"; sha256="18s92qyakhvp336kk2777ydypwfrfwfz6a1gqkq812zy3kcb4mcc"; depends=[R6]; };
   lgrExtra = derive2 { name="lgrExtra"; version="0.0.5"; sha256="0h34rb8diavs7an45nng8xfs96x3h2kkl9xy7yzjg851m3f7pbiq"; depends=[data_table lgr]; };
@@ -11622,11 +11753,11 @@ in with self; {
   libr = derive2 { name="libr"; version="1.2.2"; sha256="1b3wfkzmxvfjrapydm3i5kgld6vpl6b9ywbili8zygs3p5pfyp5b"; depends=[crayon data_table dplyr haven openxlsx Rcpp readr readxl tibble]; };
   librarian = derive2 { name="librarian"; version="1.8.1"; sha256="0bbgx9pdwcv64p6zdrw3m0893ar4bw6z90vhbgplp53l65cch548"; depends=[BiocManager remotes]; };
   librarysnapshot = derive2 { name="librarysnapshot"; version="0.1.2"; sha256="0v4x564zpm58kxs5n84bi6mcjhbzjg6a2lc30vsc8kbm3qy0nq38"; depends=[]; };
-  libsoc = derive2 { name="libsoc"; version="0.7"; sha256="1r548rvj98wl0yp6jx5d2qhvy1y4883qp0w3jjk97vp07a1cywn8"; depends=[]; };
+  libsoc = derive2 { name="libsoc"; version="0.7.3"; sha256="0baglknb67gmzr4cimlvz44f11np8glcdjdgs3jy8qlz0c8pm95p"; depends=[]; };
   libstableR = derive2 { name="libstableR"; version="1.0.2"; sha256="1gkcgbc8a7ks9x8mqmlz98hk55q3qy62izam7csz1s0r5dzsyqcr"; depends=[Rcpp RcppGSL]; };
   lidR = derive2 { name="lidR"; version="3.2.3"; sha256="0132vbfdppw9fr029w8c6lcfg8jxbfvb2y3p3wgs2n776c6y6wky"; depends=[BH data_table future geometry glue lazyeval raster Rcpp RcppArmadillo rgl rlas sf sp]; };
   lidaRtRee = derive2 { name="lidaRtRee"; version="3.1.2"; sha256="09gbiy18jd08h7fvshv36zil51hjmiib2sqcpv1vnrnmfly2fyrs"; depends=[car gvlma imager leaps lidR raster reldist sp]; };
-  lifecontingencies = derive2 { name="lifecontingencies"; version="1.3.7"; sha256="00vqbrv1y3hg8iqx6mfm7p81a23hf69kc20pzacsx93yqdh97841"; depends=[markovchain Rcpp]; };
+  lifecontingencies = derive2 { name="lifecontingencies"; version="1.3.8"; sha256="0q9lvckd98w87xl0045b0n76yy1q0yxacwrmh3xgp1xnzxv95wph"; depends=[markovchain Rcpp]; };
   lifecourse = derive2 { name="lifecourse"; version="2.0"; sha256="1m8ihqvzhzpq2m2pdvh37bpq9pdbj23r3y0jkl3q8farh3qj473d"; depends=[TraMineR]; };
   lifecycle = derive2 { name="lifecycle"; version="1.0.1"; sha256="183v1z1h037pvsgrj6vakpwhnhsr29hsw8p16k59dgpi00f6x9qx"; depends=[glue rlang]; };
   lifelogr = derive2 { name="lifelogr"; version="0.1.0"; sha256="1wygvw61ygpww0kahxhmjdncwg4zc2cshs0brzw18nfqaj8vpfav"; depends=[dplyr fitbitScraper ggplot2 lazyeval lubridate modelr plyr R6 shiny stringr tibble tidyr]; };
@@ -11635,7 +11766,7 @@ in with self; {
   liftr = derive2 { name="liftr"; version="0.9.2"; sha256="0azi831c4f0vcq27a3q86vj90zvwrzcy4plhj9hqkk4qz8xw113x"; depends=[knitr rmarkdown rstudioapi stringr yaml]; };
   lifx = derive2 { name="lifx"; version="0.2.0"; sha256="0p9ljd3s3lc1rkhzpp801izy9y52f0yc1dsrsxwx5gi89cnib596"; depends=[assertthat crayon curl httr jsonlite]; };
   liger = derive2 { name="liger"; version="2.0.1"; sha256="121ipwznm40x2xhhlxd20385va4nmvgni5dg24lbhyfn5sb3dsy1"; depends=[matrixStats Rcpp RcppArmadillo]; };
-  lightgbm = derive2 { name="lightgbm"; version="3.3.1"; sha256="0hvpwirskzcd7ww47f9gllgl3wjvpghnwj8a41glpppwwaaxa0z4"; depends=[data_table jsonlite Matrix R6]; };
+  lightgbm = derive2 { name="lightgbm"; version="3.3.2"; sha256="12hbvm1va6sb5yny564jvhhzrkcq4j33rcdhqhwxaac2m08cpi8s"; depends=[data_table jsonlite Matrix R6]; };
   lightr = derive2 { name="lightr"; version="1.6.2"; sha256="1dq4gj4yxqxaqip2vy3jynxrsllqlcjlg9v83m0ilrf6nhnigm2i"; depends=[future_apply progressr xml2]; };
   lightsout = derive2 { name="lightsout"; version="0.3"; sha256="0ypniqf9wk35dd9j57wd7gxchr5hy25fwhmkndz2z8b9ajhm3c9b"; depends=[magrittr shiny shinyjs]; };
   likelihood = derive2 { name="likelihood"; version="1.7"; sha256="0q8lvwzlniijyzsznb3ys4mv1cqy7ibj9nc3wgyb4rf8676k4f8v"; depends=[nlme]; };
@@ -11649,6 +11780,7 @@ in with self; {
   lime = derive2 { name="lime"; version="0.5.2"; sha256="03b88s82f0386c44j3z74dwp9f765wx9n1ahrjpy0s2j0pfa5z09"; depends=[assertthat ggplot2 glmnet gower Matrix Rcpp RcppEigen stringi]; };
   liminal = derive2 { name="liminal"; version="0.1.2"; sha256="1ka16fm0gzhpydlk5pjf1vjcb7ygx1d3iv4z8cs6ywzrq4bb5r61"; depends=[dplyr jsonlite matrixStats miniUI rlang shiny tourr vegawidget]; };
   limitplot = derive2 { name="limitplot"; version="1.2"; sha256="0wj1xalm80fa5pvjwh2zf5hpvxa3r1hnkh2z9z285wkbrcl0qfl2"; depends=[]; };
+  limonaid = derive2 { name="limonaid"; version="0.1.1"; sha256="0zch942aqxznxs1fghnxxxi5j700xfxnj2xn968nmnlnvayp8hhs"; depends=[httr jsonlite R6]; };
   lin_eval = derive2 { name="lin.eval"; version="0.1.2"; sha256="05saxzzwh3gs6a4ii63n5kjm06p399xkyrjnqvn9f164322p7pwb"; depends=[broom]; };
   linERR = derive2 { name="linERR"; version="1.0"; sha256="1mhiyqfpwagg161ncp5ndd22hlh12qzr360nms13rgyd8a077cq7"; depends=[survival]; };
   linLIR = derive2 { name="linLIR"; version="1.1"; sha256="1v5bwki5j567x2kndfd5nli5i093a33in31025h9hsvkbal1dxgp"; depends=[]; };
@@ -11662,7 +11794,8 @@ in with self; {
   linemap = derive2 { name="linemap"; version="0.2.0"; sha256="04nb0hmmikksp7ak4vdam9r2dpv7w3r5wkxxbjr7yk9pfq5gjncp"; depends=[sf]; };
   lineup = derive2 { name="lineup"; version="0.40"; sha256="01m50q9qdryav94rmspm4dk17m7kfcxb0p502cbxmnajklz3ajgg"; depends=[class qtl]; };
   lineup2 = derive2 { name="lineup2"; version="0.6"; sha256="0qkxwn30g0bjm9aq9a59pb3xq844qr43ribnk607zlf8lwbibsk2"; depends=[Rcpp]; };
-  lingmatch = derive2 { name="lingmatch"; version="1.0.2"; sha256="1986vi8r105wsd27vzy7wq9w0flgmgigssa3p0j7xmgr4kmjkks4"; depends=[Matrix Rcpp RcppParallel]; };
+  lingglosses = derive2 { name="lingglosses"; version="0.0.2"; sha256="006i9a44gqhcf0lqnxjvnjsj4k751lxc4cqi90jkc5bcphanpczp"; depends=[kableExtra knitr rmarkdown]; };
+  lingmatch = derive2 { name="lingmatch"; version="1.0.3"; sha256="0802dkvy5mbnc8gbpws3znvy91zv3glwpfpyn6yypaj8zdijbjji"; depends=[Matrix Rcpp RcppParallel]; };
   lingtypology = derive2 { name="lingtypology"; version="1.1.8"; sha256="184mb7f7lgzvc7ynx6zdfgccx7q0il5d3s4pcq1l58rbnv7bi17w"; depends=[jsonlite leaflet leaflet_minicharts stringdist]; };
   linguisticsdown = derive2 { name="linguisticsdown"; version="1.2.0"; sha256="1y2g8h0p4q4mjrawzyprsdw8ynqcbpnjypyhdaf03pcwqglcirkl"; depends=[DT knitr magrittr miniUI rstudioapi shiny stringr]; };
   link2GI = derive2 { name="link2GI"; version="0.4-7"; sha256="0fl7m1r7iaihkym0k65gg2dqr03fra93zjwbddq14lsm1bx1hg7w"; depends=[devtools R_utils raster roxygen2 sf stringr]; };
@@ -11686,7 +11819,7 @@ in with self; {
   listArray = derive2 { name="listArray"; version="0.1.1"; sha256="0j8hdsda7p6m1q06mi32yh3wqsdjr77kb8js42nm63dgpfy7mvv5"; depends=[]; };
   listWithDefaults = derive2 { name="listWithDefaults"; version="1.2.0"; sha256="1rv9jq9zlr5dm08mimba6ni2p5vkfybrgrqk1alm7y6mqpx56byp"; depends=[assertthat]; };
   listarrays = derive2 { name="listarrays"; version="0.3.1"; sha256="0nfpqywq9pl9yj566y0jw0h89g0ppsc614538ns1jc3l5r2myils"; depends=[]; };
-  listcomp = derive2 { name="listcomp"; version="0.3.0"; sha256="09dazc1s06f2pk696jc64lnhs007hqrjjx6z2m6rrswp8yq1p2p2"; depends=[digest rlang]; };
+  listcomp = derive2 { name="listcomp"; version="0.4.1"; sha256="0h3wmlm3y3vr21x4ik785ring57z5cjhlwvsljh06m5m3fkv8nxr"; depends=[rlang]; };
   listcompr = derive2 { name="listcompr"; version="0.4.0"; sha256="1pmk56wz6yl1qixfk9ci1p96z7qwz65xyb6k5k46l5nbwal6ik4a"; depends=[]; };
   listdown = derive2 { name="listdown"; version="0.4.1"; sha256="1i7vx71nc3vig73kxwaccdgjr91pa3sbl886qppqz4i3ns3z5vgr"; depends=[crayon yaml]; };
   listdtr = derive2 { name="listdtr"; version="1.1"; sha256="13p27cx2w3qb1rcizrva2ib7x7sm310gasi7n5pvvd8rkpwaypzq"; depends=[ggplot2]; };
@@ -11715,7 +11848,7 @@ in with self; {
   lmSubsets = derive2 { name="lmSubsets"; version="0.5-2"; sha256="1afdpcp3qiiprzc47cbckf49jd3f8ip81441ghgx0kfx54d1m305"; depends=[]; };
   lmboot = derive2 { name="lmboot"; version="0.0.1"; sha256="1v7a3vlv0187mpg3y3pj7f3pbk1v5n6amw732chy10vdw5nmfkwd"; depends=[evd]; };
   lmds = derive2 { name="lmds"; version="0.1.0"; sha256="130azb0nc2wwxv0qi8v5s4rd02p9lc92zwn634pv7b8awbw81i65"; depends=[assertthat dynutils irlba Matrix]; };
-  lme4 = derive2 { name="lme4"; version="1.1-27.1"; sha256="1i9f8kl2qj48j75dbn1vmwxz1xlbikdr7v2yq542w6dq74z8gyi5"; depends=[boot lattice MASS Matrix minqa nlme nloptr Rcpp RcppEigen]; };
+  lme4 = derive2 { name="lme4"; version="1.1-28"; sha256="03nw76bfyas6cdm9chyxqm5ks6r0qklf2fdy7h4pqrqss325x1fi"; depends=[boot lattice MASS Matrix minqa nlme nloptr Rcpp RcppEigen]; };
   lmeInfo = derive2 { name="lmeInfo"; version="0.1.3"; sha256="1y75dv90jj8jzz4z4iixbv7ipbdx9f7wrjbjj46a8wjiidj1l5zw"; depends=[nlme]; };
   lmeNB = derive2 { name="lmeNB"; version="1.3"; sha256="03khn9wgjbz34sx0p5b9wd3mhbknw8qyvyd5pvllmjipnir63d3q"; depends=[lmeNBBayes numDeriv statmod]; };
   lmeNBBayes = derive2 { name="lmeNBBayes"; version="1.3.1"; sha256="13shfsh9x6151xy8gicb25sind90imrwclnmfj96b76p5dvhzabm"; depends=[]; };
@@ -11726,6 +11859,7 @@ in with self; {
   lmeresampler = derive2 { name="lmeresampler"; version="0.2.0"; sha256="1qjxv3vrgw183hvya2k4qidnnx9w64lcksjm6v727kcigl3x9h1f"; depends=[catchr dplyr forcats ggdist ggplot2 HLMdiag magrittr Matrix nlmeU purrr statmod]; };
   lmf = derive2 { name="lmf"; version="1.2"; sha256="1xqlqmjl7wf5b2s2a1k1ara21v74b3wvwl4mhbj9dkdb0jcrgfva"; depends=[]; };
   lmfor = derive2 { name="lmfor"; version="1.5"; sha256="1r301ajcp9ag23n0nw1rgwg8ss5cvinwqargbdg0jpqbhdrgaq7y"; depends=[magic nlme spatstat]; };
+  lmls = derive2 { name="lmls"; version="0.1.0"; sha256="0gv7mawdpcqvvf3f61aa1l0yi32z9bs41i36ggn1nwga837g33k3"; depends=[generics]; };
   lmm = derive2 { name="lmm"; version="1.3"; sha256="13b5rvdbzljir1fn4zxv2lshbga64vwzn6884izif9v5dkd5b29j"; depends=[]; };
   lmmot = derive2 { name="lmmot"; version="0.1.4"; sha256="1a8msh9yvvd7cv1zxlxdv8arlfvxqghxzcxls23v6ifl5jf4d1p3"; depends=[MASS maxLik]; };
   lmmpar = derive2 { name="lmmpar"; version="0.1.0"; sha256="1l3zjmlfjfn2wv4yayqzv6qrwaxk2sgx3hjx371b5fs54zspdj20"; depends=[bigmemory doParallel MASS matrixcalc mnormt plyr]; };
@@ -11784,16 +11918,17 @@ in with self; {
   logib = derive2 { name="logib"; version="0.1.2"; sha256="09c528wrgyk0cg1flx2fsl53q4v9442rr44g9kh5jznqs788608b"; depends=[lubridate readxl]; };
   logicDT = derive2 { name="logicDT"; version="1.0.1"; sha256="0gdzrbjq2pyfhsm8840q8dvrcfj3kvzkc8grgvpv05j11fpzwyq3"; depends=[]; };
   logihist = derive2 { name="logihist"; version="1.0"; sha256="1q3322rh3g31c5i80aw54pln0m1jgxmbx30cn31nlh3ijkvnpq9a"; depends=[ggplot2]; };
-  logistf = derive2 { name="logistf"; version="1.24"; sha256="0syrg4v1cik0vn2h7452n84nbpdbhs5h0g5k9jaqkdr1zq8x6qb5"; depends=[formula_tools mgcv mice]; };
+  logistf = derive2 { name="logistf"; version="1.24.1"; sha256="0qd64sz8cj7s200fq00phjw6bfy8y7ys1bv3lcdj5wzp9h2xkq77"; depends=[formula_tools mgcv mice]; };
   logistic4p = derive2 { name="logistic4p"; version="1.5"; sha256="0h0dxyklqc95ykyril1a3d2bdnszj5l9dqbxzh2wbfmk06prvh8b"; depends=[MASS]; };
   logisticPCA = derive2 { name="logisticPCA"; version="0.2"; sha256="07ikyn127ld0fjdw7x911wrswqwqpw4lbcz0iffvh6jfjkgyk341"; depends=[ggplot2]; };
   logisticRR = derive2 { name="logisticRR"; version="0.3.0"; sha256="0i9x7rynxcybdnjqbjsny8jsl96mivzdazdgmcg72qrv8qfwpszl"; depends=[nnet]; };
+  logitFD = derive2 { name="logitFD"; version="1.0"; sha256="0jl9x7ssh0lbb7r68l7nkyvbmmrsxfvpfjg9q6wa225xvz1i6yzh"; depends=[expm fda fda_usc pROC]; };
   logitnorm = derive2 { name="logitnorm"; version="0.8.38"; sha256="01svs20dr0f1h66j5vn3ychjlgwzak96f8p9lmzd29anjlkm9x9q"; depends=[]; };
   logitr = derive2 { name="logitr"; version="0.5.0"; sha256="13rg9ki20px0bhajbhx0q66kg1qs915vrg66v13nckrzqkiza2fk"; depends=[MASS nloptr randtoolbox]; };
   loglognorm = derive2 { name="loglognorm"; version="1.0.1"; sha256="0rhx769a5nmidpbpngs2vglsbkpgw9badz3kj3jfmpj873jfnbln"; depends=[]; };
   logmult = derive2 { name="logmult"; version="0.7.3"; sha256="10dmvvwlaw8dn6h0343d8apn7rlc2b8nys3f38x9wlvd9xhhlwxm"; depends=[gnm qvcalc]; };
   lognorm = derive2 { name="lognorm"; version="0.1.10"; sha256="021g3g7hyxcrj2lzqfjxj2ypcn8c6qminr0l6sdydynvjdjjv0pc"; depends=[Matrix]; };
-  logr = derive2 { name="logr"; version="1.2.7"; sha256="0ns4i2snvcfbrb00wlp570j9y67rb4vmxgyz1vzllskz3klraqly"; depends=[this_path withr]; };
+  logr = derive2 { name="logr"; version="1.2.8"; sha256="1pagik5ivaw7wqp7zr2n6nfm6v1q4sm9shl75n9fjk5g9f5ffrw0"; depends=[this_path withr]; };
   logspline = derive2 { name="logspline"; version="2.1.16"; sha256="12hkdi77vkic05p2vhap025xdcg1n53ywm239v18713pihdlj63l"; depends=[]; };
   lokern = derive2 { name="lokern"; version="1.1-9"; sha256="1fms79bb4y6ryzmxhpc544zh52xgd879gpcigc24bjhd7whl9nry"; depends=[sfsmisc]; };
   lolR = derive2 { name="lolR"; version="2.1"; sha256="0lrmn9lzyyfr1y0i7qp6xfpdxyisbkajwg0jkrqkiw687psnh2rc"; depends=[abind ggplot2 irlba MASS pls robust robustbase]; };
@@ -11808,16 +11943,17 @@ in with self; {
   longitudinalData = derive2 { name="longitudinalData"; version="2.4.1"; sha256="0lnvcfgj721bawl1ciz0jw83mfsnzkhg6jn824vr3qdm4rbib2vd"; depends=[class clv misc3d rgl]; };
   longitudinalcascade = derive2 { name="longitudinalcascade"; version="0.3.2.1"; sha256="03nqglxyz6qfalxdnyh2aarxv3agn0b3r4nhsji4v9703h4m1fvg"; depends=[dplyr ggplot2 lubridate rlang scales survival tidyr zoo]; };
   longmemo = derive2 { name="longmemo"; version="1.1-2"; sha256="01rj5x9cgscsrakbx9155mbvs35fd3j484cfz5cds9vl521fjr3r"; depends=[]; };
+  longmixr = derive2 { name="longmixr"; version="1.0.0"; sha256="03hh1zrpxqnal4j7rmlllzdhhmrvbdnvdr7rd955hlnkr9946p6c"; depends=[checkmate ConsensusClusterPlus flexmix StatMatch]; };
   longpower = derive2 { name="longpower"; version="1.0.23"; sha256="0fxs3zaciyydl3w0a4d5pi8bbr8yhmh17wi0n39j073pacvzmqf6"; depends=[lme4 nlme]; };
   longurl = derive2 { name="longurl"; version="0.3.3"; sha256="16r6gzyfy7aq8sqdzvc6wqinfp0yj46bsz4yg8n3jf0jdyx0zrc8"; depends=[httr]; };
   loo = derive2 { name="loo"; version="2.4.1"; sha256="0l2v8zpashqbnck3qx5lp1gqjcfphzky8mxyw5gfk9wk99mzn8dw"; depends=[checkmate matrixStats]; };
   lookout = derive2 { name="lookout"; version="0.1.0"; sha256="16pny894diircf7w8b7kmmjpp8j864dj9iivh1n41aafjml4xk8g"; depends=[evd ggplot2 RANN TDAstats tidyr]; };
   lookup = derive2 { name="lookup"; version="1.0"; sha256="0ncmj1df64088qv0g2c0wd8n43qmi15358mz289hakg6z4h0dmyi"; depends=[]; };
   lookupTable = derive2 { name="lookupTable"; version="0.1"; sha256="0ipy0glrad2gfr75kd8p3999xnfw4pgpbg6p064qa8ljqg0n1s49"; depends=[data_table dplyr]; };
-  loon = derive2 { name="loon"; version="1.3.8"; sha256="0mcycainp38r000xphgnms3vxd7x6j9gsvnclc36grx0rp32dam0"; depends=[gridExtra]; };
+  loon = derive2 { name="loon"; version="1.3.9"; sha256="1phvfgbv4wnrr3m2lbs5iaqsh9m69kf4wcvzvvnf5a23y3gpvw3d"; depends=[gridExtra]; };
   loon_data = derive2 { name="loon.data"; version="0.1.3"; sha256="0sdld3yggjadykqaljf0p4cymy2c47yaxjphc6jwyragzpv4awzw"; depends=[]; };
-  loon_ggplot = derive2 { name="loon.ggplot"; version="1.3.0"; sha256="0bzsyj1z2abqp8k6mnn8x2sk28g8r55csfwkxy0gm35mclv7qzmv"; depends=[ggmulti ggplot2 gridExtra loon patchwork rlang scales]; };
-  loon_shiny = derive2 { name="loon.shiny"; version="1.0.1"; sha256="0103n5bvabs8dv9dx8nq4lvf5wi7s3knfdifvr9hhvyb59iqkgaw"; depends=[base64enc colourpicker gridExtra loon loon_ggplot shiny]; };
+  loon_ggplot = derive2 { name="loon.ggplot"; version="1.3.1"; sha256="19g90mfin902d5ywi5ivkhga0jwm7l7lswfs08slq3fmn1ibzpsv"; depends=[ggmulti ggplot2 gridExtra loon patchwork rlang scales]; };
+  loon_shiny = derive2 { name="loon.shiny"; version="1.0.2"; sha256="00h10jlwxbanwp9mwfjy66nx49d5258qb3m2s9asvkky6g2sghax"; depends=[base64enc colourpicker gridExtra loon loon_ggplot shiny]; };
   loon_tourr = derive2 { name="loon.tourr"; version="0.1.3"; sha256="1vdxqdsr89gzvsw9gx001rw416586lqyq0rp3g55n1lh6h9cy19d"; depends=[loon loon_ggplot MASS tibble tourr]; };
   loop = derive2 { name="loop"; version="1.1"; sha256="1gr257fm92rfh1sdhsb4hy0fzwjkwvwm3v85302gzn02f86qr5dm"; depends=[MASS]; };
   loose_rock = derive2 { name="loose.rock"; version="1.2.0"; sha256="13p3mp8m2in3cbcwgj42hgzrwxmgalc2v0z3r1zn1n77iqjvcd7r"; depends=[digest dplyr futile_options ggplot2 httr MASS reshape2]; };
@@ -11833,7 +11969,7 @@ in with self; {
   lpSolveAPI = derive2 { name="lpSolveAPI"; version="5.5.2.0-17.7"; sha256="1fsmipb97gglihrf424mz063fn67bf55jjahnbh53svkmm2qxg4y"; depends=[]; };
   lpbrim = derive2 { name="lpbrim"; version="1.0.0"; sha256="1cbkzl23vgs9hf83ggkcnkmxvvj8867k5b9vhfdrznpqyqv1f2gp"; depends=[Matrix plyr RColorBrewer]; };
   lpc = derive2 { name="lpc"; version="1.0.2.1"; sha256="1g1dzm7pcrbrdk1dmhbdhj58j69dzar41al3i8q4gysf3adqzsvv"; depends=[]; };
-  lpdensity = derive2 { name="lpdensity"; version="2.2"; sha256="0ibr4js9iwwnzp872n56xbzap8dpz9zjv4y5alcc8rdh0y55sa7r"; depends=[ggplot2 MASS]; };
+  lpdensity = derive2 { name="lpdensity"; version="2.3"; sha256="06wa6ngfzlicx8g336b2034r54zflfjlrfllr0wkf87sq84x936i"; depends=[ggplot2 MASS]; };
   lphom = derive2 { name="lphom"; version="0.3.0-14"; sha256="02s3a7a8n1c17c0rcq6knz3xddmfg41iahq2hpgqsm6d9502hybz"; depends=[lpSolve Rsymphony]; };
   lpint = derive2 { name="lpint"; version="2.0"; sha256="0p1np8wlfbax0c7ysc5fs9dai8s00h1v0gan89dbd6bx06307w2r"; depends=[]; };
   lpirfs = derive2 { name="lpirfs"; version="0.2.0"; sha256="1jn2faqj7szsfc0bicgym493y4cyncbg93rmcc3yv59b0rbxhc8m"; depends=[doParallel dplyr foreach ggplot2 ggpubr gridExtra lmtest plm Rcpp RcppArmadillo sandwich]; };
@@ -11847,7 +11983,7 @@ in with self; {
   lrequire = derive2 { name="lrequire"; version="0.1.3"; sha256="03c8h9v2xhlv7bj5jv117a27gaqaly2kdxs9zyihsm9yh9rg3d79"; depends=[]; };
   lrgs = derive2 { name="lrgs"; version="0.5.4"; sha256="0mf6wqlv21z68w81hvpmhgngvdsklf3x2678d9c9lxfmqmpv4a7y"; depends=[mvtnorm]; };
   lrmest = derive2 { name="lrmest"; version="3.0"; sha256="1yddkgza672z9y0ipgl92pg9prhmr387zsqf0qbi9k2yzfz2vvs6"; depends=[MASS psych]; };
-  lrstat = derive2 { name="lrstat"; version="0.1.1"; sha256="1r5cbj27iyrnkzv4d2rcc2pbsxyz9yhjf7vxng6j9k7y8c16fg3s"; depends=[Rcpp]; };
+  lrstat = derive2 { name="lrstat"; version="0.1.2"; sha256="06radfm59xq0m74bjf868nv8grl71fwxmwxqlks637l989z6kbrg"; depends=[Rcpp]; };
   lsa = derive2 { name="lsa"; version="0.73.2"; sha256="1a33irqa6qvbc02z12rgbgv8kxq2gmahy7j5bg8b23lvvaxif06b"; depends=[SnowballC]; };
   lsasim = derive2 { name="lsasim"; version="2.1.2"; sha256="1x6vgdslw6v91l1p1igrvnj3s4ap2igqcx3m95y1ada7kpl3b2jk"; depends=[cli mvtnorm polycor]; };
   lsbclust = derive2 { name="lsbclust"; version="1.1"; sha256="1pbai58pfvhfcrd0nj13d54vrn9wrx2xapqhgqa1pkrjwbk5amj7"; depends=[clue doParallel foreach ggplot2 gridExtra mvtnorm plyr Rcpp reshape2]; };
@@ -11858,7 +11994,7 @@ in with self; {
   lshorth = derive2 { name="lshorth"; version="0.1-6"; sha256="0nbjakx0zx4fg09fv26pr9dlrbvb7ybi6swg84m2kwjky8399vvx"; depends=[]; };
   lsl = derive2 { name="lsl"; version="0.5.6"; sha256="1hwzklx1qp5ljc059j2hridg3caw4cgn7rbqs8xh2arzcvqdw3rb"; depends=[ggplot2 lavaan reshape2]; };
   lslx = derive2 { name="lslx"; version="0.6.10"; sha256="189gpp1ikcp5ld4avipwckdz997v1cx2zas5a8b54nv246kb5hmd"; depends=[ggplot2 lavaan R6 Rcpp RcppEigen]; };
-  lsm = derive2 { name="lsm"; version="0.2.0"; sha256="1rc55w526ss99parjb40w3fbqlxfkhzknxysmqn4fkxrhrylzqn5"; depends=[]; };
+  lsm = derive2 { name="lsm"; version="0.2.1.2"; sha256="1sp6c3r3g0q9lynzpcjvfwrp7xml11q66cqcisjvidm79vxjgi5v"; depends=[dplyr ggplot2]; };
   lsmeans = derive2 { name="lsmeans"; version="2.30-0"; sha256="1z35dzfgib0fk201gzjhgmnryhl3mkz50gz8g6nfv4mj9kzc5x5f"; depends=[emmeans]; };
   lspartition = derive2 { name="lspartition"; version="0.4"; sha256="1n0pag5l4kx211dl5z9xbqijp7l04jcm0i6jgvkk2b0x9v32q4r5"; depends=[combinat dplyr ggplot2 MASS matrixStats mgcv pracma]; };
   lspline = derive2 { name="lspline"; version="1.0-0"; sha256="0bc1nfpp1r5fi8rrg295k4r8pm03baqplrzwmk3sn4kdbp0apvgk"; depends=[]; };
@@ -11906,7 +12042,7 @@ in with self; {
   mDAG = derive2 { name="mDAG"; version="1.2.2"; sha256="0k85sl0jmpcpiz92cz6x3kd8jc6yyfv9z4wm1kyaikcf5q4qlad4"; depends=[bnlearn logistf mgm nnet pcalg Rcpp RcppArmadillo]; };
   mExplorer = derive2 { name="mExplorer"; version="1.0.0"; sha256="1563d9r7f25vw5vsph21z3dwz9n40dpaiyx28ay1bbp5i1x2l3rb"; depends=[nnet qusage]; };
   mFD = derive2 { name="mFD"; version="1.0.1"; sha256="1hq3981xar786bhg4xdvp17v4nds0fd1pgj7pcn8zyykr3r44g84"; depends=[ade4 ape betapart cluster dendextend FactoMineR gawdis geometry ggplot2 ggrepel Hmisc patchwork reshape2 rstatix vegan]; };
-  mFLICA = derive2 { name="mFLICA"; version="0.1.4"; sha256="07d1b86q9p61maknbqp4w0h5y2ayvn2az3icarij2qn25g5pqsg3"; depends=[dtw ggplot2]; };
+  mFLICA = derive2 { name="mFLICA"; version="0.1.5"; sha256="0znjp95ifwqpqwrnlcb77r1cdwpvbpql6ggnck018xddc8x40hzv"; depends=[dtw ggplot2]; };
   mFilter = derive2 { name="mFilter"; version="0.1-5"; sha256="0anc93mciq8j64knd0i38sfgv10w1gd375wnfzn1fq8sj3lby7kb"; depends=[]; };
   mGSZ = derive2 { name="mGSZ"; version="1.0"; sha256="08l98i75h2h8kx9ksvzp5qr8jhf0l6n4j7rg8fcn7hk8chn8v5zh"; depends=[Biobase GSA ismev limma MASS]; };
   mHG = derive2 { name="mHG"; version="1.1"; sha256="1rz5ncrvvv9h9grls15apa63v2nh9j87fmp4mwjjil37jx6a5zki"; depends=[]; };
@@ -11937,6 +12073,7 @@ in with self; {
   mads = derive2 { name="mads"; version="0.1.6"; sha256="0nz1fg3gyj72k6dpkjnwqjvps0inv1qgk5vlc8ycj3k720qcsd81"; depends=[mrds]; };
   madsim = derive2 { name="madsim"; version="1.2.1"; sha256="11gfyimbz363p5xy1x6rsz5fcgzcr55myc5aaz5lazjkcnfn17aq"; depends=[]; };
   magclass = derive2 { name="magclass"; version="6.0.9"; sha256="1a7qs93hww88skzcbrqlajhlxqp7x39bwclw4kd2af263iwjch4h"; depends=[abind data_table forcats maptools sp]; };
+  magi = derive2 { name="magi"; version="1.1.5"; sha256="0f322m2rrq1r8wnr9x86zs0kv2ca4wqf0a72saf37qg8r66gnf1b"; depends=[BH deSolve gridBase gridExtra Rcpp RcppArmadillo roptim]; };
   magic = derive2 { name="magic"; version="1.5-9"; sha256="0snmdh6vk0p6ar1swsihisinxrx7l8371dri5lk0z24ysgr5w7gs"; depends=[abind]; };
   magicLamp = derive2 { name="magicLamp"; version="0.1.0"; sha256="1nfcnbqd6vawz8l3vgkbhmm462xdvaa4pn6axzmz8hl05xv2k3cv"; depends=[httr tibble]; };
   magicaxis = derive2 { name="magicaxis"; version="2.2.1"; sha256="1ba8psg3ja8b69s1afywsjz5sfljryhk5vvq1n4dzm1gsz6c772l"; depends=[celestial mapproj MASS plotrix RANN RColorBrewer sm]; };
@@ -11945,7 +12082,7 @@ in with self; {
   magickGUI = derive2 { name="magickGUI"; version="1.3.0"; sha256="114l5mga9x3vn9qqydyq1v75gqldh4p6m4i8ak0xw3v7p6wsf8gn"; depends=[magick]; };
   magmaR = derive2 { name="magmaR"; version="1.0.2"; sha256="19jnzggjqnlv3gnc3zjfmphkwjy1y5xp6bgc2nnr6mwfs4rfxscn"; depends=[crul jsonlite]; };
   magree = derive2 { name="magree"; version="1.1"; sha256="0q0v1mx4k1hry0l21611z9jx967l89xpjddvw2v1v9c3kl11kfi6"; depends=[]; };
-  magrittr = derive2 { name="magrittr"; version="2.0.1"; sha256="0pxd99fvg406whqsk9wh756rayrwh84xn3h44zmlpcy23kanbhkm"; depends=[]; };
+  magrittr = derive2 { name="magrittr"; version="2.0.2"; sha256="19k3q76qlri459iyyfgn9gl0w9lnv9v604yhpbc94nx71l6zvrkv"; depends=[]; };
   maic = derive2 { name="maic"; version="0.1.3"; sha256="1s6rq3v0dk0fm1csq0w8bb52kldaimmsgprmcjj1il6pr2936d3a"; depends=[Hmisc matrixStats weights]; };
   maicChecks = derive2 { name="maicChecks"; version="0.1.2"; sha256="1c2n8avrhx0lvw9hi5slymm49lzf37hbkqzkqy230aikgmpv0cpa"; depends=[data_table ggplot2 lpSolve quadprog tidyr]; };
   mail = derive2 { name="mail"; version="1.0"; sha256="1m89cvw5ba4d87kp2dj3f8bvd6sgj9k56prqmw761q919xwprgw6"; depends=[]; };
@@ -11975,9 +12112,9 @@ in with self; {
   manipulate = derive2 { name="manipulate"; version="1.0.1"; sha256="1klknqdfppi5lf6zbda3r2aqzsghabcsaxmvd3vw3cy3aa984zky"; depends=[]; };
   manipulateWidget = derive2 { name="manipulateWidget"; version="0.11.1"; sha256="1dpgzmiv08afm57yxr017b014lfn9h3pa4w65prk5k3dgn6p4wsv"; depends=[base64enc codetools htmltools htmlwidgets knitr miniUI shiny shinyjs webshot]; };
   manymodelr = derive2 { name="manymodelr"; version="0.3.7"; sha256="0kc4y9i21qkcg0pkwlas2mm06s54s70w5ybw4215qjwiy6xax268"; depends=[caret dplyr e1071 ggplot2 lme4 Metrics]; };
-  maotai = derive2 { name="maotai"; version="0.2.2"; sha256="10s9fcfn6i0rkfhv8bq452ianjkah6srxa5fc2ymhqzm6m1r5b3j"; depends=[cluster dbscan fastcluster labdsv Matrix RANN Rcpp RcppArmadillo RcppDist Rdpack RSpectra Rtsne shapes]; };
+  maotai = derive2 { name="maotai"; version="0.2.4"; sha256="178gsci0sdlqzdi18cnc7qvs008w5db50hd9ayzlvabsc0dk19z2"; depends=[cluster dbscan fastcluster labdsv Matrix RANN Rcpp RcppArmadillo RcppDist Rdpack RSpectra Rtsne shapes]; };
   mapReasy = derive2 { name="mapReasy"; version="1.0"; sha256="13va0z967ckwxnnianki5aj66km0x6r37nj4mz9qd3b0bps4g2kj"; depends=[Hmisc rgdal sp]; };
-  mapSpain = derive2 { name="mapSpain"; version="0.4.0"; sha256="043a79q2pc4c6w01pad2zyk3chjkv26vxhlvym30qq6ipdljl0sh"; depends=[countrycode giscoR rappdirs sf]; };
+  mapSpain = derive2 { name="mapSpain"; version="0.5.0"; sha256="0xilniivfwh9k6yhpbfajxl54785kshm6xbyr40r6l833xw8ysnn"; depends=[countrycode giscoR rappdirs sf]; };
   mapStats = derive2 { name="mapStats"; version="2.4"; sha256="18pp1sb9p4p300ffvmzjrg5bv1i7f78mhpggq83myc26c3a593na"; depends=[classInt colorspace Hmisc lattice maptools RColorBrewer reshape2 sp survey]; };
   mapaccuracy = derive2 { name="mapaccuracy"; version="0.1.0"; sha256="1rrnbmar8s48kww2x9qjlm68xs55mbc8cnms2crdsaah7787s6aa"; depends=[assertthat gtools reshape]; };
   mapbayr = derive2 { name="mapbayr"; version="0.5.0"; sha256="12k8n3fcm9km14ih4vspv4p314yqqim2v3hgcd4h98jwsp3ls6aq"; depends=[dplyr ggplot2 magrittr mrgsolve optimx purrr rlang stringr tibble tidyr]; };
@@ -11989,19 +12126,20 @@ in with self; {
   mapdeck = derive2 { name="mapdeck"; version="0.3.4"; sha256="0agbf6bs3z7gwx1dj9jqlq6cllq5b65x89lkplm5mwhr20lzwvhr"; depends=[BH colourvalues geojsonsf geometries googlePolylines htmlwidgets jsonify magrittr rapidjsonr Rcpp sfheaders shiny spatialwidget]; };
   mapedit = derive2 { name="mapedit"; version="0.6.0"; sha256="1ix0sjsqb6646xyi73am9ic97plw9y9p4pl8mrkpzvqzm0pxdhxx"; depends=[dplyr htmltools htmlwidgets jsonlite leafem leaflet leaflet_extras leafpm mapview miniUI raster scales sf shiny sp]; };
   mapfit = derive2 { name="mapfit"; version="0.9.7"; sha256="16a318bz3my27qj0xzf40g0q4bh9alg2bm6c8jbwgswf1paq1xmx"; depends=[Matrix]; };
-  mapi = derive2 { name="mapi"; version="1.0.4"; sha256="0mlm3vp5ffjszl6zprfanr6gjbrdjrl82m7hk5q7z42h37aasc45"; depends=[data_table pbapply Rcpp sf]; };
+  mapi = derive2 { name="mapi"; version="1.0.5"; sha256="1yljvapzkb43i2sbqsmn5aqp95hm8gjkz8m41x1chwyfddrzjsbw"; depends=[data_table pbapply Rcpp sf]; };
   mapmisc = derive2 { name="mapmisc"; version="1.8.0"; sha256="0xp2ns6j8craz74jw4gjjhzkfbbihcy8d9dg1i08hiws743kzd8s"; depends=[raster sp]; };
   mapping = derive2 { name="mapping"; version="1.3"; sha256="1in4fjdiass73fdh3y937c600bdbv8gwjzxb5wj07wkc76jxb5ba"; depends=[cartography curl dplyr geojsonio ggplot2 htmltools httr jsonlite leaflet leafpop leafsync mapview rgdal s2 sf stringi stringr tmap tmaptools viridisLite]; };
   mappings = derive2 { name="mappings"; version="0.1"; sha256="1f7m6nbdzdcxsk4m8rh8fzrck8pzxl2lgfz5c6wramwmp8rxczzb"; depends=[]; };
   mapplots = derive2 { name="mapplots"; version="1.5.1"; sha256="18s2y66f8vi8g2r8a25zbgp2xm079r8v8qxv0w71h8krycs6vs9p"; depends=[]; };
-  mappoly = derive2 { name="mappoly"; version="0.2.3"; sha256="1swnll428dxd8v1sa42m6x9azr5g7jxvk4q37nzsinwd7b4cw8pa"; depends=[cli crayon dendextend dplyr fields ggplot2 ggpubr ggsci magrittr plotly princurve Rcpp RCurl reshape2 rstudioapi scatterplot3d smacof vcfR zoo]; };
-  mapproj = derive2 { name="mapproj"; version="1.2.7"; sha256="0nscsfq8md6ri9258xz57c3dj81wdl6kdwf4a9qcrwwbn20i427h"; depends=[maps]; };
+  mappoly = derive2 { name="mappoly"; version="0.3.0"; sha256="1fb8g991s872j6wrqb4x47w164w1808y6sv51a2l62iasw8q90ah"; depends=[cli crayon dendextend dplyr fields ggplot2 ggpubr ggsci magrittr plotly princurve Rcpp RcppParallel RCurl reshape2 rstudioapi scatterplot3d smacof vcfR zoo]; };
+  mappp = derive2 { name="mappp"; version="1.0.0"; sha256="19c8575w9r1w32hqwdmmggh21lqahy73vw8g5qbxxna6r77zg5c7"; depends=[memoise parallelly pbmcapply progress purrr rlang]; };
+  mapproj = derive2 { name="mapproj"; version="1.2.8"; sha256="10bpib827011fpgvzsmlv4j3i41s0r3cv1hvawwdlk753s7i0pw6"; depends=[maps]; };
   mapr = derive2 { name="mapr"; version="0.5.2"; sha256="0qc1zqa2yqgy777wbm6lj37vzaaxaz0gdimr62wv9fyddkbkshk4"; depends=[data_table ggplot2 gistr jsonlite leaflet maps RColorBrewer sp spocc]; };
   maps = derive2 { name="maps"; version="3.4.0"; sha256="0ispkx1szgwxhr0zzhdzgqqwcgc6psg7vry4sj4rb89w76rcq63r"; depends=[]; };
   mapsFinland = derive2 { name="mapsFinland"; version="0.1.1"; sha256="0kx9r28lvc6bbl478i9gyy58kbp5hi7akysyld87fxk5x0601j19"; depends=[]; };
   mapsPERU = derive2 { name="mapsPERU"; version="1.0.2"; sha256="0ld6dyqrppmc1pna2h8szvr61d3bhljx9pv616wsp5j74na3ynbg"; depends=[tibble]; };
   mapsRinteractive = derive2 { name="mapsRinteractive"; version="1.0.1"; sha256="03x5mza9y5kdqshma0k7bynmd3fffayy1j243m5bhw7ln85ws73x"; depends=[gstat raster rgdal rgeos sp]; };
-  mapsapi = derive2 { name="mapsapi"; version="0.5.0"; sha256="0cf9ycj1a0vik0j10nif69n7rirrvkan9md55mgicw4wmcn1rs6i"; depends=[bitops magrittr RgoogleMaps sf stars xml2]; };
+  mapsapi = derive2 { name="mapsapi"; version="0.5.3"; sha256="15k7wgbfkcjnsg9qazch949pqha2iv4mg9qzzb7lnb2597il78j7"; depends=[bitops httr RgoogleMaps sf stars xml2]; };
   mapscanner = derive2 { name="mapscanner"; version="0.0.6"; sha256="017m33v2523rjmspfbzq1xnb3clzmbn4p1qqzp480j71wy5c1dry"; depends=[cli curl fs glue magick magrittr memoise pdftools png purrr raster Rcpp reproj RNiftyReg sf slippymath tibble]; };
   mapsf = derive2 { name="mapsf"; version="0.4.0"; sha256="1h6szi33rbk279sh1ws4vhx6h7dl6zk5dpd7rjhay7811dq6q7wh"; depends=[classInt Rcpp sf]; };
   maptiles = derive2 { name="maptiles"; version="0.3.0"; sha256="025n9fpl55n9wnslpjqr4z5y0q4mn68dplb3fm7wyn968kw7sbig"; depends=[curl png sf slippymath terra]; };
@@ -12014,7 +12152,7 @@ in with self; {
   marcher = derive2 { name="marcher"; version="0.0-2"; sha256="0hcxbfrwniih4kvx5sxhlffz1pc87kf52v8hvaf193rhhdykis5q"; depends=[magrittr Matrix minpack_lm mvtnorm numDeriv plyr RColorBrewer scales zoo]; };
   marelac = derive2 { name="marelac"; version="2.1.10"; sha256="08phsghzvi0z78pkb5lkamni83fsw0bqfri99j6bjf6y14aygif9"; depends=[seacarb shape]; };
   marg = derive2 { name="marg"; version="1.2-2.1"; sha256="1r6rl7dhvm8dghm7pm4hfw3924qja65hczl6d47v9ixnv4rxyzr9"; depends=[statmod survival]; };
-  marginaleffects = derive2 { name="marginaleffects"; version="0.2.0"; sha256="1xarmk46348dq3wna07mbv97s4vr11kj511bifzh6pazvyyrnpbh"; depends=[checkmate generics insight numDeriv]; };
+  marginaleffects = derive2 { name="marginaleffects"; version="0.3.3"; sha256="0ns77ffnai4dl9b3rwg95dxjv1ylpf84cq2hi8f5cr1xwpsx9bmm"; depends=[checkmate generics insight]; };
   marginalizedRisk = derive2 { name="marginalizedRisk"; version="2021.2-4"; sha256="0kagl9xghq9nsh9qvx165j1a5plh08zxhb6nm8j402mnl8pq7a4z"; depends=[]; };
   margins = derive2 { name="margins"; version="0.3.26"; sha256="0sx5xjbzz1rjz8bklfna3171s53xsh123x4bh0kmwp006v8rv309"; depends=[data_table MASS prediction]; };
   marima = derive2 { name="marima"; version="2.2"; sha256="03nvh93r4052li84yjqzc106gwh1542q9s192s980gs6sgy8scm6"; depends=[]; };
@@ -12032,14 +12170,14 @@ in with self; {
   marmap = derive2 { name="marmap"; version="1.0.6"; sha256="16r7in3m63l7fdwxwfdphcd4fr073fb675zabjxphpxmclikyxdz"; depends=[adehabitatMA DBI gdistance geosphere ggplot2 ncdf4 plotrix raster reshape2 RSQLite shape sp]; };
   marqLevAlg = derive2 { name="marqLevAlg"; version="2.0.5"; sha256="0cp3p9cgnb9hw08s8gjs7yj51d4fsa5zkkrikbgzkw0skj1gaa51"; depends=[doParallel foreach]; };
   mase = derive2 { name="mase"; version="0.1.3"; sha256="10wyrvh3p344inx5qbzkwh4rr3lmpnh1ikhrghmlqr5607kiy3fm"; depends=[boot dplyr glmnet magrittr Rdpack rpms survey]; };
-  mashr = derive2 { name="mashr"; version="0.2.50"; sha256="0dj5h7fksy36ksancrvadxfn3915m22aza9qyksf7dmqj1mghd9g"; depends=[abind ashr assertthat mvtnorm plyr Rcpp RcppArmadillo RcppGSL rmeta softImpute]; };
+  mashr = derive2 { name="mashr"; version="0.2.57"; sha256="1jjmqd3z3f7bxj6zw7yw6k9j6aiwnihd8cm14271kkpyy0id8slm"; depends=[abind ashr assertthat mvtnorm plyr Rcpp RcppArmadillo RcppGSL rmeta softImpute]; };
   maskRangeR = derive2 { name="maskRangeR"; version="1.0"; sha256="12g9cx7l2bwl3wzka11p73r6w47h4nma3rdlhm9kq1a69ig5cm68"; depends=[dismo dplyr e1071 gdalUtils lubridate magrittr maptools raster rgdal sp tidyverse virtualspecies]; };
   mason = derive2 { name="mason"; version="0.3.0"; sha256="1x5wiagb1sy5gkp0xkbr1jzhrjg1c2bqdh4hy6igwcnws2cbhxyr"; depends=[broom dplyr magrittr purrr rlang tibble tidyr tidyselect]; };
   masscor = derive2 { name="masscor"; version="0.0.7.1"; sha256="1153gx648csmzc2znf7l84f134qzp238hqj2s60r9najk1pczgf6"; depends=[metRology]; };
   mastif = derive2 { name="mastif"; version="1.0.1"; sha256="1jw7dz4qxyj848qm7lwg0klcw028260nizdi5gdwf7wd5a2nis9c"; depends=[corrplot RANN Rcpp RcppArmadillo repmis xtable]; };
   matR = derive2 { name="matR"; version="0.9.1"; sha256="1qw2vqmpq7gc3dmr9r000ccjj7xa0h82waxnvryz3l17ggryyjjm"; depends=[BIOM_utils MGRASTer]; };
   matahari = derive2 { name="matahari"; version="0.1.3"; sha256="03mhn4qh1vcz2hr0mxp6gijwgrzvbpfb8dq7lqhchbk5gq5g3fnh"; depends=[clipr jsonlite purrr readr rlang rstudioapi tibble]; };
-  match2C = derive2 { name="match2C"; version="1.1.1"; sha256="05akm5xw14fngf52zw2r5jri8m0d2hrzaq944jyv285pfi5sd46v"; depends=[ggplot2 mvnfast rcbalance Rcpp]; };
+  match2C = derive2 { name="match2C"; version="1.2.1"; sha256="0p4k69a7az6snjbi8skswzizvfah70ipqhxb0qn380y1vjnwd0jv"; depends=[ggplot2 mvnfast rcbalance Rcpp]; };
   matchMulti = derive2 { name="matchMulti"; version="1.1.7"; sha256="0k5psmjzcyr7pm603vni7w2hvslck05r81cngm26pql2prdrv5yk"; depends=[coin Hmisc MASS mvtnorm plyr rcbsubset weights]; };
   matchbook = derive2 { name="matchbook"; version="1.0.7"; sha256="0xfqg8z2zkn215kqmjjkqdwrgsk7cn4jdpxfgd6razhcbvflg48j"; depends=[]; };
   matchingMarkets = derive2 { name="matchingMarkets"; version="1.0-2"; sha256="1jj5hzxiivqinkpddmkqdxgi83jm6blann9wgv4g8prn3lvp0i85"; depends=[lattice lpSolve partitions Rcpp RcppArmadillo RcppProgress rJava]; };
@@ -12052,6 +12190,7 @@ in with self; {
   mathpix = derive2 { name="mathpix"; version="0.4.0"; sha256="0wwagf8v7awgiyi8vrfay5m2pbl1czn62g5bkg037wwy0c68n8va"; depends=[base64enc httr magick purrr rstudioapi texPreview]; };
   matie = derive2 { name="matie"; version="1.2"; sha256="1ymx49cyvz63imqw5n48grilphiqvvdirwsrv82p7jgxdyav2xv0"; depends=[cba dfoptim gplots igraph mvtnorm seriation]; };
   matlab = derive2 { name="matlab"; version="1.0.2"; sha256="0m21k2vzbc5d3c93p2hk4208xyd2av2slg55q5j1ibjidiryqgd2"; depends=[]; };
+  matlab2r = derive2 { name="matlab2r"; version="1.0.0"; sha256="0sg0llilxf3xfv4d9wskp6zh4b00sv7cf1xdc56icwj78sz2d7pk"; depends=[]; };
   matlabr = derive2 { name="matlabr"; version="1.5.2"; sha256="1ba6cajnzldb1gmn7rf0b198h6mdh58r3frm0z0cmvbinspwz3x7"; depends=[stringr]; };
   matlib = derive2 { name="matlib"; version="0.9.5"; sha256="0m03zygd43r0z7cldiwsc91p1xyni6pdvwm8pz4jcg5bmqasfg0w"; depends=[car MASS rgl xtable]; };
   matman = derive2 { name="matman"; version="1.1.3"; sha256="0mwxxqqlg6yydc06hrjqk5ly686s21w5i5z40axxwkmpzyz84sqv"; depends=[data_table dplyr DT forecast lubridate parsedate plotly shiny shinydashboard shinyWidgets tidyr tidyselect]; };
@@ -12083,11 +12222,12 @@ in with self; {
   maxnet = derive2 { name="maxnet"; version="0.1.4"; sha256="05l24dksdgb43dpi4py4qkh8j9ynrnsglydy3gph1b61ygnfa8gx"; depends=[glmnet]; };
   maxnodf = derive2 { name="maxnodf"; version="1.0.0"; sha256="1czhy3177bb4a5rxi2s4j3c9xn9f0b2pbkdka1dzw6ga389wdwb3"; depends=[Rcpp]; };
   maxstat = derive2 { name="maxstat"; version="0.7-25"; sha256="114z1rwxwvk05ijjhdppzm148n1h192fp0w12ky10zkrhf6kphbg"; depends=[exactRankTests mvtnorm]; };
+  maybe = derive2 { name="maybe"; version="0.1.0"; sha256="1n77n2l9xf4625y8il936dwfpmkq95pfbrs8cgd713il4dq1jy0d"; depends=[]; };
   mazeGen = derive2 { name="mazeGen"; version="0.1.3"; sha256="192xygg3l4rpqp49sgd5hpp4h3f8wjhyldn0l8abxhsks7jd2kfb"; depends=[igraph]; };
   mazealls = derive2 { name="mazealls"; version="0.2.0"; sha256="14j6syw1zkgs4cnmxzqpm6klmgvck2gg97wkzmy9al6n0biy8gmb"; depends=[TurtleGraphics]; };
   mazeinda = derive2 { name="mazeinda"; version="0.0.1"; sha256="0ns4ib73y4fghf7p1wg0a05js4mqr66dpp49p1h039pqrb0f1vwd"; depends=[foreach]; };
   mazing = derive2 { name="mazing"; version="1.0.5"; sha256="1nabv5hxb58d56r4z8v4glhwiz5lf8j9gdlwncxazm6j2fcjh26s"; depends=[]; };
-  mbRes = derive2 { name="mbRes"; version="0.1.2"; sha256="04pqffkj3p0hyd5jrj74878lrlhprlh0497fqngfii6zpmjikvbh"; depends=[cowplot data_table dplyr forcats ggplot2 magrittr purrr rlang tibble tidyr]; };
+  mbRes = derive2 { name="mbRes"; version="0.1.3"; sha256="1gm195lwhjhkajsksa53b7fpn1574m6ayciplj74biyiz9pwyjms"; depends=[cowplot data_table dplyr forcats ggforce ggplot2 magrittr purrr rlang tibble tidyr]; };
   mbbefd = derive2 { name="mbbefd"; version="0.8.10"; sha256="0963lwwb629dwgv1jk4y3438rfj0lm9g6q930xbgxdsc34hn3ppb"; depends=[actuar alabama fitdistrplus gsl MASS Rcpp]; };
   mbclusterwise = derive2 { name="mbclusterwise"; version="1.0"; sha256="1ilqaxcxf1k3ck910s0xqwnp88w8ag5rn1dpvaa1i7jlcldsbnhp"; depends=[ade4 doParallel foreach kknn]; };
   mbend = derive2 { name="mbend"; version="1.3.1"; sha256="0g7hqjdhaj99rd2jqfb6x7k7gsfcvhdibai3093qcvhv6grb3v7m"; depends=[]; };
@@ -12098,7 +12238,7 @@ in with self; {
   mboost = derive2 { name="mboost"; version="2.9-5"; sha256="0yg07fdd1sbjfhhxn1dqgph2vzqyq7l52cdk5iq2a2zy1vh176yg"; depends=[lattice Matrix nnls partykit quadprog stabs survival]; };
   mboxr = derive2 { name="mboxr"; version="0.2.0"; sha256="1d11fpz17k65dzw9sjc7zfs1jpajzrh2pvr2s435p83g3mpf40vz"; depends=[dplyr lubridate magrittr purrr reticulate stringr tibble tidyr]; };
   mbr = derive2 { name="mbr"; version="0.0.1"; sha256="08534d0ssj5zli7880a2wzl46ydf87gn5xlv6xp0iph71wlpc52y"; depends=[data_table dplR MASS Matrix Rfast]; };
-  mbrdr = derive2 { name="mbrdr"; version="1.0.8"; sha256="03snwvj71q4gfrl6f96bdldh39s2cj9aa07avr7y8vnp8yhm7wg0"; depends=[]; };
+  mbrdr = derive2 { name="mbrdr"; version="1.1.1"; sha256="1ck0l2zp10xlg2d99glb76fxhc1r21aknk8x8452v25gpaqvir4c"; depends=[]; };
   mbrglm = derive2 { name="mbrglm"; version="0.0.1"; sha256="0yxq1xk8qy5hpiqqldyrs78lp4ggdp5lj2lmh8rqq1xvsfr6nrh4"; depends=[enrichwith nleqslv]; };
   mbsts = derive2 { name="mbsts"; version="2.2"; sha256="07sizvj627vhkpkg044593gh8lsmhw7ahqavmrindzjlfwwlfidb"; depends=[BBmisc ggplot2 KFAS MASS Matrix matrixStats MCMCpack pscl reshape2]; };
   mc_heterogeneity = derive2 { name="mc.heterogeneity"; version="0.1.2"; sha256="1nsqbc4cqyg6g3s6ish3fbhqygy1kay68smbv0rhivp0x0dv7can"; depends=[boot_heterogeneity metafor]; };
@@ -12109,9 +12249,10 @@ in with self; {
   mcStats = derive2 { name="mcStats"; version="0.1.2"; sha256="1r8dxdfcvznl2968xr6fbany1rh7wq5z1p7fhdf5g4b5l28j8pf9"; depends=[dplyr ggplot2 ggthemes gridExtra magrittr rlang tidyr]; };
   mcb = derive2 { name="mcb"; version="0.1.15"; sha256="0k986m2vyvfqxw3jmlyvf6r5bq68y92fymy03lffq5lmiqhypixj"; depends=[ggplot2 glmnet lars leaps MASS ncvreg reshape2 smoothmest]; };
   mcbiopi = derive2 { name="mcbiopi"; version="1.1.6"; sha256="1caw2sy15hw2zw0bdynwnsa7hn4rly34hlxp06nwm5lssz8l2597"; depends=[]; };
-  mcboost = derive2 { name="mcboost"; version="0.3.3.0"; sha256="07yslqdf0ra4s3lxfxnizf9p7dn045mbcpczp1czhxrwxl6qws03"; depends=[backports checkmate data_table glmnet mlr3 mlr3misc mlr3pipelines R6 rpart]; };
+  mcboost = derive2 { name="mcboost"; version="0.4.0"; sha256="1p9bh1w4d215y971dj9n5bh9i5svi1vr48v3spw1qs0idcj122q4"; depends=[backports checkmate data_table glmnet mlr3 mlr3misc mlr3pipelines mlr3proba R6 rpart]; };
   mcc = derive2 { name="mcc"; version="1.0"; sha256="0p661a870bvh3xhcahqqq85azn9rjl3vacjy96jsdn86irj4s0vi"; depends=[]; };
   mcca = derive2 { name="mcca"; version="0.7.0"; sha256="01nm0plgkik241qhd06v1vs84lf7agc0vkxa27cpr5qlfl4cm4zb"; depends=[caret e1071 MASS nnet pROC rgl rpart]; };
+  mccca = derive2 { name="mccca"; version="0.1.0"; sha256="111phszicjn8ihcdlg9x41j3jllbz3hl12m58w1l25jd6mrrss9v"; depends=[dummies ggplot2 magic RColorBrewer stringr wordcloud]; };
   mccf1 = derive2 { name="mccf1"; version="1.1"; sha256="023pvjfc1iv7hac3gz5rakg6ljs92j0qfm4givad5iiwv5n4k3zr"; depends=[ggplot2 ROCR]; };
   mcclust = derive2 { name="mcclust"; version="1.0"; sha256="00qprmsjwbn2d0jl7p9mz8pv7k8ld3mzk862pr1grigk0lqwhx06"; depends=[lpSolve]; };
   mccmeiv = derive2 { name="mccmeiv"; version="2.1"; sha256="1lkghvvwxvg474p37h1mpbackr5qmy05qkx8yiq4x066wrfq1w1i"; depends=[MASS numDeriv survival]; };
@@ -12122,7 +12263,7 @@ in with self; {
   mcgibbsit = derive2 { name="mcgibbsit"; version="1.1.0"; sha256="09ydcbjz3abmh46966v01dh26fy79dfklk3zjf262zp3c62ld9yf"; depends=[coda]; };
   mcglm = derive2 { name="mcglm"; version="0.7.0"; sha256="0xk641g4ymbvh8dhg83d66ybcib52fyxdfigvmc8xghd8x9w2prh"; depends=[assertthat Matrix Rcpp RcppArmadillo]; };
   mcheatmaps = derive2 { name="mcheatmaps"; version="1.0.0"; sha256="1gglm32xpmim38m7fziczgqfbpcq2899lxardsrzg6j1vhmf765y"; depends=[gridBase]; };
-  mclcar = derive2 { name="mclcar"; version="0.1-9"; sha256="0bwnivmajsrvmwskhk44qhz4nnc0irxq83g0kzbj4wshhivnwryp"; depends=[fields maxLik nleqslv rsm spam spdep]; };
+  mclcar = derive2 { name="mclcar"; version="0.2-0"; sha256="0zgf7ha22586nh1yzdnhz1rzrqkn6yzr12qva9ag297ry4z4bn5y"; depends=[fields maxLik nleqslv rsm spam spatialreg spdep]; };
   mcll = derive2 { name="mcll"; version="1.2"; sha256="0i9zqbh0l9a9mv4558gbdq9mh52chanykyfwmiymmxygxhp809sz"; depends=[locfit statmod]; };
   mclogit = derive2 { name="mclogit"; version="0.8.7.3"; sha256="1as3mqqzxjdr7saw4vpgg88yqbax86z1qhl9s1jm49cw7nyqigxz"; depends=[Matrix memisc]; };
   mclust = derive2 { name="mclust"; version="5.4.9"; sha256="0s4mva0n04f3pl41msmzhlh7pnk0zbmf06n826smxkw6mz327wb5"; depends=[]; };
@@ -12186,7 +12327,7 @@ in with self; {
   medfate = derive2 { name="medfate"; version="2.3.7"; sha256="1mxfvaamswm9zw1jbs9p94h0krrdw4xma4j8wa2w453pyikcpcxk"; depends=[ggplot2 meteoland Rcpp shiny]; };
   medflex = derive2 { name="medflex"; version="0.6-7"; sha256="171vp0wmmmbz42xcwjy065vhvig49s4ac2hzawfww2mvpfj0g0fj"; depends=[boot car Matrix multcomp sandwich]; };
   mediacloudr = derive2 { name="mediacloudr"; version="0.1.0"; sha256="1r11mpz44msla71lqw45r9s8z7rwvbnqi026l0ljx6crby183h0w"; depends=[httr jsonlite rvest xml2]; };
-  mediateP = derive2 { name="mediateP"; version="0.1.0"; sha256="0xz07kvpyczhjgvli1f6d9k5khj9zwnwy51gakj3zm85nq64kxyn"; depends=[boot]; };
+  mediateP = derive2 { name="mediateP"; version="0.2.0"; sha256="0qmams2hdvhq7abfidblgdz44nh5ja3byn233q3k61hvz7asxmc7"; depends=[boot]; };
   mediation = derive2 { name="mediation"; version="4.5.0"; sha256="0i88wvqqw8cmxmh9i78rqzp4s16zhf12dgl9fsk9bhw7hxhhc0i1"; depends=[boot Hmisc lme4 lpSolve MASS Matrix mvtnorm sandwich]; };
   mediationsens = derive2 { name="mediationsens"; version="0.0.2"; sha256="1wvd9kcz4sh0ylydp8q49013i408bn9w5m5ihg0s5r0489359385"; depends=[distr mediation]; };
   medicaldata = derive2 { name="medicaldata"; version="0.2.0"; sha256="0dljqg24mkn7bjbbz5dp0z8yb5sl3i4a89rl32grlvwf0z3b1njn"; depends=[]; };
@@ -12202,7 +12343,7 @@ in with self; {
   mefa4 = derive2 { name="mefa4"; version="0.3-8"; sha256="09y8mhmcd82gz582lskvy0yx6vh6jjyxmh7i35041knqcjyp6lpc"; depends=[Matrix]; };
   meifly = derive2 { name="meifly"; version="0.3"; sha256="1x3lhy7fmasss0rq60z5qp74ni32sahw62s8cnp2j431sp95pczc"; depends=[leaps MASS plyr]; };
   mekko = derive2 { name="mekko"; version="0.1.0"; sha256="09y50k4r4mnx351a5zhkqg9s2xyl3d149dhmfy2z6hzm5yg2ajyi"; depends=[ggplot2]; };
-  melt = derive2 { name="melt"; version="1.1.0"; sha256="1fl8900ynmd2v7dpi8ldzl553yqbfxx0wfy063yhwa0hvzvk73kv"; depends=[Rcpp RcppEigen RcppProgress]; };
+  melt = derive2 { name="melt"; version="1.2.0"; sha256="0l1437q32kv5zg9555xnm6zrc2a0pm43blgmy5sb3w86zxmg8441"; depends=[Rcpp RcppEigen RcppProgress]; };
   meltr = derive2 { name="meltr"; version="1.0.0"; sha256="0pcpgwk7if9f441z0vwh9g0ydhzkv3h4db433snkk5g4rfikx3ad"; depends=[cli cpp11 R6 rlang tibble]; };
   meltt = derive2 { name="meltt"; version="0.4.1"; sha256="1113rdw0jglwkcd3g31llhgzqmwpxfz2bp60m3x2zdbdrvwc1z9n"; depends=[dplyr ggplot2 leaflet plyr Rcpp RcppArmadillo reticulate shiny shinyjs tibble tidyr]; };
   mem = derive2 { name="mem"; version="2.16"; sha256="16xm9hai1aqhrbpxln6az4qbwz3kk2izmq39nzpzjc3ardpq1ljr"; depends=[boot dplyr EnvStats ggplot2 mclust purrr RColorBrewer RcppRoll sm tidyr]; };
@@ -12215,7 +12356,7 @@ in with self; {
   memo = derive2 { name="memo"; version="1.0.1"; sha256="14nvqi1qsin45ksd0wp9cigjk1gghr4jijdqkaqh177dwa244r9j"; depends=[digest]; };
   memochange = derive2 { name="memochange"; version="1.1.1"; sha256="144134kpchb7ps8b2g7pyga5add0iqphzcwygf11aybmbzmp90x7"; depends=[forecast fracdiff longmemo LongMemoryTS sandwich strucchange urca]; };
   memofunc = derive2 { name="memofunc"; version="1.0.2"; sha256="02y32mnwafqnsvs3vy4g8v0jmdvnx935dqavy3q1f2n8c76p0bk9"; depends=[digest magrittr uuid]; };
-  memoiR = derive2 { name="memoiR"; version="1.1-3"; sha256="1p3s0rv4l44gx726frrwp64xv7xakyh2svjqglg85pv3krhlw4b4"; depends=[bookdown rmarkdown usethis]; };
+  memoiR = derive2 { name="memoiR"; version="1.1-4"; sha256="03za09ka1w882wczdn9xnn5j0ahkz1i515wfh5wj1q9hqfqm40cv"; depends=[bookdown rmarkdown usethis]; };
   memoise = derive2 { name="memoise"; version="2.0.1"; sha256="1srdzv2bp0splislrabmf1sfbqfi3hn189nq7kxhgjn8k3p38l7q"; depends=[cachem rlang]; };
   memor = derive2 { name="memor"; version="0.2.3"; sha256="1b3rjh121in7gi6khbhh2d1r0998a24ifcg6hpv8cdksl6lhm330"; depends=[knitr rmarkdown yaml]; };
   memoria = derive2 { name="memoria"; version="1.0.0"; sha256="05nx6xkgf1mkn1ajjizwp66xhn7ddbvgdnmkdbcl4s7sq456vczw"; depends=[cowplot ggplot2 HH ranger stringr tidyr viridis viridisLite zoo]; };
@@ -12226,14 +12367,14 @@ in with self; {
   mergedblocks = derive2 { name="mergedblocks"; version="1.1.0"; sha256="0hgfyb99hdph4rx32072v40j3z56bwl8lvpxqmms783b997alaml"; depends=[randomizeR]; };
   merlin = derive2 { name="merlin"; version="0.1.0"; sha256="11in84pxgz76l2cfpd7m03fai1gwdhp2rzrn3pbwrpywgq210pmj"; depends=[MASS randtoolbox statmod survival]; };
   merror = derive2 { name="merror"; version="2.0.2"; sha256="13d9r5r83zai8jnzxaz1ak40876aw20zbpr244gs55rvj5j7f87q"; depends=[]; };
-  meshed = derive2 { name="meshed"; version="0.1.4"; sha256="1fqfn4di04ysbafxd0anxsf3n9zr6xwgw4x78szlygkr7qv1chz1"; depends=[dplyr glue magrittr Rcpp RcppArmadillo rlang]; };
+  meshed = derive2 { name="meshed"; version="0.2.1"; sha256="1n19d1isy0x8yramkvj1ckk3s92qagppm2rngxsz2kj6ir2nyyb9"; depends=[dplyr glue magrittr Rcpp RcppArmadillo rlang]; };
   messaging = derive2 { name="messaging"; version="0.1.0"; sha256="0q19cqp1zgh0yhk1ql0jqf414bhx6jwhkairq6wx2cmkli2g7k1y"; depends=[dplyr glue magrittr rlang stringr]; };
   messydates = derive2 { name="messydates"; version="0.2.0"; sha256="193rc2723i6a75g8qmrf743h89nsxm9j1dlvxncsxk1jpj5hzd43"; depends=[dplyr lubridate purrr stringr tibble]; };
   met = derive2 { name="met"; version="0.1.0"; sha256="0714103xzc4n178307czxmcv7ygjiigjr9b6xnj240ljp7qmln19"; depends=[DiPs]; };
   metR = derive2 { name="metR"; version="0.11.0"; sha256="09ar9lckrzbvcy0jgnwlrnj96ln426yh70dgjfmlac68bhinv2fw"; depends=[checkmate data_table digest fields Formula formula_tools ggplot2 gtable isoband lubridate memoise plyr purrr RCurl scales sp stringr]; };
   metRology = derive2 { name="metRology"; version="0.9-28-1"; sha256="1syjwblyd18myxrs0hx4m91fgb6zs3r4g7w701j2f2pw6j9mvz0y"; depends=[MASS numDeriv robustbase]; };
   metScanR = derive2 { name="metScanR"; version="1.2.3"; sha256="1v7zrxj3wspx6f5n5s75skcygbf3r85rn4p0z9iwbrbrgxwi4qgs"; depends=[geosphere leaflet matlab plyr RCurl]; };
-  meta = derive2 { name="meta"; version="5.1-1"; sha256="1nl279b1h2vwk00r1yp9pw6xa5gbjl7wjsmzxi2nadfhxcwfa0cl"; depends=[CompQuadForm lme4 metafor xml2]; };
+  meta = derive2 { name="meta"; version="5.2-0"; sha256="0x3v6xxlxrmyv1cpyjr83n39v29439qpzd9v2avyirbk58v85qyb"; depends=[CompQuadForm lme4 metafor xml2]; };
   meta_shrinkage = derive2 { name="meta.shrinkage"; version="0.1.2"; sha256="0grdafisqaj1gfbcmg9y9iidx96j9kjpi4a2ml5h9x3r3knsnxmm"; depends=[]; };
   meta4diag = derive2 { name="meta4diag"; version="2.1.1"; sha256="155xc313hvxy7n45rn9kmhhnkilfrazq5fgs2jbzhpgz3ddxfqkc"; depends=[caTools shiny shinyBS sp]; };
   metaBLUE = derive2 { name="metaBLUE"; version="1.0.0"; sha256="0ppn4bvr10z32pghmv4wjv86k6n5y5bkfxc6h5mvb556v6jnl6d8"; depends=[Matrix]; };
@@ -12283,10 +12424,10 @@ in with self; {
   metapower = derive2 { name="metapower"; version="0.2.2"; sha256="1r6mmdxxi83isjjyfzblwpzfgqdmfhbqmq49zm2b4jd0zvc0lfcx"; depends=[cowplot dplyr ggplot2 knitr magrittr rlang testthat tidyr]; };
   metaprotr = derive2 { name="metaprotr"; version="1.2.2"; sha256="1iz5aqd8ha0h19sa58s7xd4h26lbqp68dxy93pxnx9bj3bv615b3"; depends=[ade4 dendextend dplyr ggforce ggrepel reshape2 stringr tidyverse]; };
   metarep = derive2 { name="metarep"; version="1.0.1"; sha256="0jnxx11jxj63ry0bkjlh9g2x2pr2qi24nql99iibz2ckbx8344p3"; depends=[meta]; };
-  metasens = derive2 { name="metasens"; version="1.0-0"; sha256="1f0bjfm8bbmpgi1ng4k7g38hryzv9yyaw8r6rsxzafc31mcwm7vm"; depends=[meta]; };
+  metasens = derive2 { name="metasens"; version="1.0-1"; sha256="10ii6q1f9064j3jm9rm1ffm2mzpjlqnqhhvpp27s27i6r9jbma3w"; depends=[meta]; };
   metatest = derive2 { name="metatest"; version="1.0-5"; sha256="1h3dcs1m7606b3a41yw2lak3lrqmsbpnx67qv24wvq003apz1sfd"; depends=[]; };
   metathis = derive2 { name="metathis"; version="1.1.1"; sha256="0vac4sjlbz1cpdx0yc6q52mj174xay5j81cl5f4z2q9in0jy8f8b"; depends=[htmltools knitr magrittr purrr]; };
-  metaumbrella = derive2 { name="metaumbrella"; version="1.0.0"; sha256="11r6fwbg8zsijj9jvd7iqmawd4422i8ynypvc8inbr3afn26gnv9"; depends=[meta powerSurvEpi readxl withr writexl xtable]; };
+  metaumbrella = derive2 { name="metaumbrella"; version="1.0.2"; sha256="16v8q97f5a6dcwwii3hfkw7skbifihkv2sr2rbbyxb23fz2ypzpd"; depends=[meta powerSurvEpi readxl withr writexl xtable]; };
   metavcov = derive2 { name="metavcov"; version="2.1.2"; sha256="1jf4xig6lshf5kda4cj7w72121jp8bq52f4752bl8sxgnfqgfkr5"; depends=[ggplot2]; };
   metaviz = derive2 { name="metaviz"; version="0.3.1"; sha256="0jvv49rw66v7saj2y1q88rp6fyzq7473af5d3k77ymvjbpqyrbyz"; depends=[dplyr ggplot2 ggpubr gridExtra metafor nullabor RColorBrewer]; };
   metawho = derive2 { name="metawho"; version="0.2.0"; sha256="1mflkrlnb1wk9vbbj621cy64s78q677d8fcnsi1ybh49k7sqmw20"; depends=[dplyr forestmodel magrittr metafor purrr rlang]; };
@@ -12294,7 +12435,7 @@ in with self; {
   meteo = derive2 { name="meteo"; version="0.1-5"; sha256="0n37plka9vsxwd03lca3h6m8dcz3f1bi46jn3bz7vyilnkq9hcdk"; depends=[gstat plyr raster rgdal snowfall sp spacetime]; };
   meteoForecast = derive2 { name="meteoForecast"; version="0.54"; sha256="046c0z66hsyfrnksdq40xv3kf2di0ywv5wfb9s7b7999s694ak18"; depends=[ncdf4 raster sp XML zoo]; };
   meteogRam = derive2 { name="meteogRam"; version="1.0"; sha256="167gyxjnl4dyfqs3znv8sdpkvpqdxzdqi1g730s30gycrm9snap9"; depends=[ggplot2 RadioSonde]; };
-  meteoland = derive2 { name="meteoland"; version="1.0.1"; sha256="1160yjawyb0icgmxz963la722dqdil72kjp4253yraanw0zdzy64"; depends=[httr jsonlite meteospain ncdf4 Rcpp rgdal sf sp spdep units xml2]; };
+  meteoland = derive2 { name="meteoland"; version="1.0.2"; sha256="1z8ndbvd5ah4w9c2db0wq9chy2dwa81wgcagfnv6xj72yh3f0k86"; depends=[meteospain ncdf4 Rcpp rgdal sf sp spdep units]; };
   meteor = derive2 { name="meteor"; version="0.3-4"; sha256="01009d9wpxybig4n82m48hqqg1k4x4shcjxfy8y0kk7cgfdb4naw"; depends=[Rcpp]; };
   meteorits = derive2 { name="meteorits"; version="0.1.1"; sha256="1vk8pbhfc5mbkbpw7ml81gx9i8187xp3vx36pbyyhjbrpy6gqabx"; depends=[MASS pracma Rcpp RcppArmadillo]; };
   meteospain = derive2 { name="meteospain"; version="0.0.3"; sha256="0qqlfli9k4472ajx57xkf9laym0znl43qy8xzdq8xnq5alv0yrsw"; depends=[assertthat cachem crayon dplyr glue httr jsonlite lubridate magrittr memoise purrr rlang sf stringr tidyr units vctrs xml2]; };
@@ -12307,14 +12448,14 @@ in with self; {
   metsyn = derive2 { name="metsyn"; version="0.1.2"; sha256="0iwp0nz07yd33qd93fjblmvik1l1xkv6rkccn3054zs2bkrzjq4f"; depends=[foreach readr stringr tibble]; };
   mev = derive2 { name="mev"; version="1.13.1"; sha256="1zbr5f8w56c9z0lp4ak47fxnnfrdm74liqcjvij0n4ajqs6glaak"; depends=[alabama boot evd nleqslv nloptr Rcpp RcppArmadillo TruncatedNormal]; };
   mewAvg = derive2 { name="mewAvg"; version="0.3.0"; sha256="16gc78ccjffp9qgc7rs622jql54ij83ygvph3hz19wpk22m96glm"; depends=[]; };
-  mexhaz = derive2 { name="mexhaz"; version="2.1"; sha256="0a2nw09339jbkfp1g2p8bblqb9n2cgacnfkwinpm3745nghdbbfv"; depends=[lamW MASS numDeriv statmod survival]; };
+  mexhaz = derive2 { name="mexhaz"; version="2.2"; sha256="0fyb2sh635lc8wp80jpqiigzq7jbj12j7ynmn2nlls0jpsyrmpxn"; depends=[lamW MASS numDeriv statmod survival]; };
   mexicolors = derive2 { name="mexicolors"; version="0.2.0"; sha256="0vbhwaq19hqd63qjybssgqxkawjr6vnar6k0nrb583hh1q9hjyg2"; depends=[]; };
   mfGARCH = derive2 { name="mfGARCH"; version="0.2.1"; sha256="1pcabijwhdxhdlrdjvi2zl8la939igsdy3j1yv0ic8wvkpw1sh4x"; depends=[maxLik numDeriv Rcpp zoo]; };
   mfaces = derive2 { name="mfaces"; version="0.1-3"; sha256="0pqmsflph2iplr0jlwpgbfgg523v0nw41gvjb88q1d993pyfhfdl"; depends=[face Matrix matrixcalc mgcv]; };
   mfbvar = derive2 { name="mfbvar"; version="0.5.6"; sha256="1wv46h6cr0xnvr8dxymx362skf7nf77yw84y6g48rj9mbq8kkkcj"; depends=[dplyr ggplot2 GIGrvg lubridate magrittr Rcpp RcppArmadillo RcppParallel RcppProgress stochvol tibble zoo]; };
   mfdb = derive2 { name="mfdb"; version="7.2-0"; sha256="0jmydw6kv4lnyyx05ih5k4xah42pg3sjckhgxmykrpsgdvd8f96j"; depends=[DBI duckdb getPass logging rlang RPostgres RSQLite]; };
   mfe = derive2 { name="mfe"; version="0.1.5"; sha256="1pw9gw9bd778s57dyjwbmrmsla4m8dkf8g49gplv4zrsvlgsgbr3"; depends=[cluster clusterCrit e1071 ECoL infotheo MASS rpart rrcov]; };
-  mfp = derive2 { name="mfp"; version="1.5.2.1"; sha256="1k0di144sfy9fbw4lnwzxf7j7ah0isr38jafxkgl8fx1ys8y3pvh"; depends=[survival]; };
+  mfp = derive2 { name="mfp"; version="1.5.2.2"; sha256="1w61hj0dizgcpa3qv9ks9lvvbic7xp2cnip4klkdb9ss63vws8bv"; depends=[survival]; };
   mfx = derive2 { name="mfx"; version="1.2-2"; sha256="04pwp67i4sn4rf497pgy6qifwvrcmwyxn8x5sn96fy8qyrdzjfhj"; depends=[betareg lmtest MASS sandwich]; };
   mgarchBEKK = derive2 { name="mgarchBEKK"; version="0.0.2"; sha256="1k4c34srnckbh5kchzmm44l91ma9sw0gi4y225igs3cl79212q9c"; depends=[mvtnorm tseries]; };
   mgc = derive2 { name="mgc"; version="2.0.2"; sha256="1l9qs4nz1rn56qp569nh26yz3c7i4zh3r43c209zh7kvizpagx0i"; depends=[abind boot energy MASS raster]; };
@@ -12355,23 +12496,22 @@ in with self; {
   miceafter = derive2 { name="miceafter"; version="0.1.0"; sha256="0wiljd1dm1h7frhkf304i5sc8w5af9f6jhz3cd8f0r13n3z1r6yi"; depends=[car dplyr magrittr mice mitml mitools pROC purrr rlang rms stringr survival tibble tidyr]; };
   micemd = derive2 { name="micemd"; version="1.8.0"; sha256="1vds5199bv3lgpn3qzra6gakvabyz6a83p55xjxgs9zk9chgf9yw"; depends=[abind digest jomo lme4 MASS Matrix mice mvmeta mvtnorm nlme]; };
   michelRodange = derive2 { name="michelRodange"; version="1.0.0"; sha256="1pykqb9hmpvn77k0vhfh36iyhamz9h5kpswq3ql31h9nknfy3ixi"; depends=[magrittr]; };
-  miclust = derive2 { name="miclust"; version="1.2.7"; sha256="1kpr798r9dz3rs4ixwzgihjn7a0z3j0nmv76my8mbay84zr2kn74"; depends=[combinat doBy flexclust irr matrixStats]; };
+  miclust = derive2 { name="miclust"; version="1.2.8"; sha256="0qxbbybak0illkn99bsmmqlh923g0gw6znjh05wdmgqdsjh3fx1v"; depends=[combinat doBy flexclust irr matrixStats]; };
   micompr = derive2 { name="micompr"; version="1.1.1"; sha256="11whyvqyzjdpw2q9yqw21s8paiq992z346zi947mc9d78g1z3djw"; depends=[]; };
-  microPop = derive2 { name="microPop"; version="1.5"; sha256="1gikp20n2b50fkybbg2hmlfjdcm0imjwygjsjnyv3wrjzypm2i78"; depends=[deSolve]; };
+  microPop = derive2 { name="microPop"; version="1.6"; sha256="0if218csmnp5vcbcgr9zjk8d7y17al04rpfhjvp76v03xvwjizp5"; depends=[deSolve testthat visNetwork]; };
   microSTASIS = derive2 { name="microSTASIS"; version="0.1.0"; sha256="09zyf80l964lfil56vln70i0r2d8ry2ffx4zz3f3xcka22m94r78"; depends=[crayon fmsb future future_apply ggplot2 ggside progressr reshape2 stringr]; };
   microbats = derive2 { name="microbats"; version="0.1-1"; sha256="1mahvblaiwg1xk2s34wd1ic8ddc9lh6g0azik2pd97bsf0krkyw8"; depends=[]; };
   microbenchmark = derive2 { name="microbenchmark"; version="1.4.9"; sha256="1lpzpffnjiwnxxl0jhrvyj88fvxqksnpccbpq953xwqf6ypjqga4"; depends=[]; };
   microbial = derive2 { name="microbial"; version="0.0.20"; sha256="1y5vhh4sq22c4wxb3c9rzj53niacn97vfg0484d9wkcjb179lc79"; depends=[broom DESeq2 dplyr edgeR ggplot2 ggpubr magrittr phangorn phyloseq plyr randomForest rlang rstatix S4Vectors SummarizedExperiment testthat tidyr vegan]; };
   microclass = derive2 { name="microclass"; version="1.2"; sha256="0q6mn1hbi6nk29x2x5a1wcdqp06mjggbrpglk5i8pp4gkqlzhl8q"; depends=[dplyr microcontax microseq Rcpp RcppEigen RcppParallel rlang stringr tibble]; };
-  microclustr = derive2 { name="microclustr"; version="0.1.0"; sha256="04xn8p4wgmxq1jbxawq0rhx6l7y1kddlbdfid8zsi4x4arkz7hvp"; depends=[Rcpp]; };
   microcontax = derive2 { name="microcontax"; version="1.2"; sha256="004g979hyg0asbah7hxr445fidil4ibw1b8pqpjdbgmpm1qgvw7y"; depends=[microseq]; };
   microdemic = derive2 { name="microdemic"; version="0.6.0"; sha256="1w4zh0vagnar95l5b8cgmcvp8q7vk2iba5g8d8g2ywynqiqcx5fc"; depends=[crul data_table httpcode jsonlite tibble]; };
-  microeco = derive2 { name="microeco"; version="0.6.0"; sha256="1kfbfvlq2h738ipm4481jh785pvpl3xsyb37gplg9aj3s0a6q7j7"; depends=[ape data_table dplyr ggplot2 magrittr R6 RColorBrewer reshape2 rlang scales tibble vegan]; };
+  microeco = derive2 { name="microeco"; version="0.6.5"; sha256="1syvssymnqzc8yvghc24ccb1gj490ly7mq1sgslvipvgd060jsid"; depends=[ape data_table dplyr ggplot2 magrittr R6 RColorBrewer reshape2 rlang scales tibble vegan]; };
   microhaplot = derive2 { name="microhaplot"; version="1.0.1"; sha256="0g15g7d19yz11nn2g0h8h2m8k1cvmpryz72pnalgv5yi58md5l5i"; depends=[dplyr DT ggiraph ggplot2 gtools magrittr scales shiny shinyBS shinyWidgets tidyr]; };
   micromap = derive2 { name="micromap"; version="1.9.5"; sha256="18y8m63k9l4dir8w1qbbi1g86506yajvi6qs0j1588575lak1l62"; depends=[ggplot2 maptools RColorBrewer rgdal sf sp]; };
   micromapST = derive2 { name="micromapST"; version="1.1.1"; sha256="15ch132x3wnpf7rmy25nah7iyfxfk90p7lvavqjhrnavhjsfxbxx"; depends=[labeling RColorBrewer stringr]; };
   micropan = derive2 { name="micropan"; version="2.1"; sha256="16zs6sqi2c5lwzhd5gbyddp8q4gx5r5sg0pbpk7924i8x4hh081h"; depends=[dplyr igraph microseq rlang stringr tibble]; };
-  microplot = derive2 { name="microplot"; version="1.0-44"; sha256="1sx3544yvv5dxpgqw1582574z1vcxh9rc82x1z37ad7ayzxyyb1v"; depends=[cowplot flextable ggplot2 HH Hmisc htmltools lattice officer]; };
+  microplot = derive2 { name="microplot"; version="1.0-45"; sha256="0qprvn5zv9ai30lhd8qykffc5f8va886kc5qka34940lin63v389"; depends=[cowplot flextable ggplot2 HH Hmisc htmltools lattice officer]; };
   microsamplingDesign = derive2 { name="microsamplingDesign"; version="1.0.8"; sha256="0swaqvzqbmlk9j2gr8z7x7xrkr38xndprg9k66whzcigxfh8nhiz"; depends=[abind deSolve devtools ggplot2 gridExtra gtools knitr MASS matrixcalc matrixStats plyr Rcpp RcppArmadillo readr reshape2 shiny stringr]; };
   microseq = derive2 { name="microseq"; version="2.1.5"; sha256="1asdy0njy5xcykd88jxa8s5hkrh6kab566h3nf9i93yw1i6kmwip"; depends=[data_table dplyr Rcpp rlang stringr tibble]; };
   microservices = derive2 { name="microservices"; version="0.1.2"; sha256="18inmqwdb2cz0i0q9rh7mm3bi0hg193kkipbzhgk0bk8i8gkdy84"; depends=[config desc dplyr glue purrr withr]; };
@@ -12379,7 +12519,7 @@ in with self; {
   microsynth = derive2 { name="microsynth"; version="2.0.31"; sha256="0wmrp9igylzp4qbvdr13r2rxfkcq9xwg8gw29j1g6kcqyq4aflds"; depends=[boot kernlab LowRankQP nleqslv pracma survey]; };
   midas = derive2 { name="midas"; version="1.0.1"; sha256="1alqxk23651jnkg0xn4rpvk71z5rhvx3y0wjrgkw2qw95s7jjn72"; depends=[shiny xml2]; };
   midas2 = derive2 { name="midas2"; version="0.1.0"; sha256="0k670ppbw12s4wgliiqgc5fr0sajr5axlkwa5i54hrappkh1vlb4"; depends=[coda MCMCpack R2jags]; };
-  midasml = derive2 { name="midasml"; version="0.1.8"; sha256="13mn1j5mlz4ss2dk8pjadyymv8lp2v1scd8lr8glqmjy2r81gjlf"; depends=[doParallel doRNG foreach lubridate Matrix mcGlobaloptim]; };
+  midasml = derive2 { name="midasml"; version="0.1.9"; sha256="0mvs472ml80ka6nz4p6mbp0igrn73gn43qqvbx691d5xq3dv04nd"; depends=[doParallel doRNG foreach lubridate Matrix mcGlobaloptim]; };
   midasr = derive2 { name="midasr"; version="0.8"; sha256="0mzyxf8q2wmbsiczkhhgigy7jmi8zr4w4a83f97va35vfhxi217k"; depends=[forecast Formula MASS Matrix numDeriv optimx quantreg sandwich texreg zoo]; };
   midastouch = derive2 { name="midastouch"; version="1.3"; sha256="1pjzcf0hjfhr5p0la8pz1njw7bhfrcrzpqfsdqk2z5c6dbh4awzq"; depends=[]; };
   midrangeMCP = derive2 { name="midrangeMCP"; version="3.1.1"; sha256="1yfwyglyxxk4i914m8n148cjydlcg7r16zl8acb1w8h963svirk9"; depends=[SMR writexl xtable]; };
@@ -12390,7 +12530,7 @@ in with self; {
   migration_indices = derive2 { name="migration.indices"; version="0.3.0"; sha256="0h0yjcj70wzpgrv3wl1f2h2wangh1klsllq0i0935plgzw736mwd"; depends=[calibrate]; };
   migui = derive2 { name="migui"; version="1.1"; sha256="1qchjsc7ff2b6s9w6ncj9knjv6pyp90jd4jxljn2rr1ix1gc45za"; depends=[arm gWidgets2 mi]; };
   miic = derive2 { name="miic"; version="1.5.3"; sha256="1wrvgzi91jirn5n5fvvbhhpcga7l75h149sz1g1r1wbci181l3bg"; depends=[ppcor Rcpp scales]; };
-  mikropml = derive2 { name="mikropml"; version="1.2.0"; sha256="1h4nqmm7cqfsv3dff7akpy3mx3smdgdwak62l5h7lmisfj6xyk87"; depends=[caret dplyr e1071 glmnet kernlab MLmetrics randomForest rlang rpart xgboost]; };
+  mikropml = derive2 { name="mikropml"; version="1.2.2"; sha256="01xr970bpg038a0kn36i7r9d8l3jdnkmlafkw082nl7vnx8gcxh7"; depends=[caret dplyr e1071 glmnet kernlab MLmetrics randomForest rlang rpart xgboost]; };
   milorGWAS = derive2 { name="milorGWAS"; version="0.3"; sha256="1z44sbs3lmrx32wagk5rr3rc2k8iqq860fz0bi983llmgmhaqdxn"; depends=[gaston Rcpp RcppEigen]; };
   milr = derive2 { name="milr"; version="0.3.1"; sha256="03hihr1w5j0mlvi5vm9m5vb9i6nyb6lsji3xmv0chpczabd85mzy"; depends=[glmnet numDeriv pipeR Rcpp RcppArmadillo RcppParallel]; };
   mime = derive2 { name="mime"; version="0.12"; sha256="0j9qbq9jfsp61h2d0xmb87pa2wi8nhb1h2wih7l5drf1sr8i0059"; depends=[]; };
@@ -12444,7 +12584,7 @@ in with self; {
   missMDA = derive2 { name="missMDA"; version="1.18"; sha256="1s7ph89y0mrksdi73nnjnxl2354401ny8ziijzf036rcsiyvl8m5"; depends=[doParallel FactoMineR foreach ggplot2 mice mvtnorm]; };
   missMethods = derive2 { name="missMethods"; version="0.2.0"; sha256="0rsx7fdg0k8ajpj81ybl2jc9s8sprc2si6zx7mkvcqgw9iacrdik"; depends=[]; };
   missRanger = derive2 { name="missRanger"; version="2.1.3"; sha256="1kk64q9ip6hhjcyrvnm5yd8ikilrvvw1vjz8166c6jb8xrqwbb2v"; depends=[FNN ranger]; };
-  missSBM = derive2 { name="missSBM"; version="1.0.1"; sha256="1hy9q27sqgasd60davx53z33m8f3ilzrlqv0xcrpd84l8ahi6wrk"; depends=[future_apply ggplot2 igraph magrittr Matrix nloptr R6 Rcpp RcppArmadillo rlang sbm]; };
+  missSBM = derive2 { name="missSBM"; version="1.0.2"; sha256="09i7cm4nsssn0scr5lmxs4yczcm7z3b4crj8jl7nhqf1azsvcd0n"; depends=[future_apply ggplot2 igraph magrittr Matrix nloptr R6 Rcpp RcppArmadillo rlang RSpectra sbm]; };
   missSOM = derive2 { name="missSOM"; version="1.0.0"; sha256="02hi37jha49dppcv5cyzpcayb4b7mpmcp56nspbrlnxp9dgy7pim"; depends=[kpodclustr Rcpp]; };
   missingHE = derive2 { name="missingHE"; version="1.4.1"; sha256="1bxpp88rwnv4fc9lm606cczj1dx63p507sqsr71dblgsfw3aw7xy"; depends=[bayesplot BCEA coda ggmcmc ggplot2 ggpubr ggthemes gridExtra loo mcmcplots mcmcr R2jags]; };
   mistat = derive2 { name="mistat"; version="2.0.3"; sha256="068ycnnkqcmf3sracsa279lggyc1qxdkpcba7ghax0xl4y505yxj"; depends=[]; };
@@ -12456,11 +12596,11 @@ in with self; {
   mitre = derive2 { name="mitre"; version="1.0.0"; sha256="0r5phzxiibwwhx3qh623grfy070c3vzm4q07rzhsp5q5ycb5jhn5"; depends=[dplyr igraph jsonlite plyr RJSONIO rlang stringr tidyr]; };
   mix = derive2 { name="mix"; version="1.0-10"; sha256="0z16ddbh79kqxi64bl1h2sd8anpgc48n9d1nyr2zlln39nhv8w8g"; depends=[]; };
   mixAK = derive2 { name="mixAK"; version="5.3"; sha256="12vhg3qaz39hcc581gn0wfmcxj1yhggcsqic4ngy4gpmrg27yls0"; depends=[coda colorspace fastGHQuad lme4 mnormt]; };
-  mixAR = derive2 { name="mixAR"; version="0.22.5"; sha256="09r6zzfckwqh9giiw7y24aip3cgdwdv2q9xx4mjbfim5hrjai81k"; depends=[BB combinat e1071 fGarch gbutils MCMCpack mvtnorm permute Rdpack timeDate]; };
+  mixAR = derive2 { name="mixAR"; version="0.22.6"; sha256="1q1ibqv4mi2zxs0qq0r4c7vrsvkrdg8c0rs56kyv0ykgqirda4gz"; depends=[BB combinat e1071 fGarch gbutils MCMCpack mvtnorm permute Rdpack timeDate]; };
   mixComp = derive2 { name="mixComp"; version="0.1-2"; sha256="01zgf31mmnjnwwji9yadfhwa49xy4i3wf0f5glifmpnvmr6d7y1d"; depends=[boot cluster expm kdensity matrixcalc Rsolnp]; };
   mixEMM = derive2 { name="mixEMM"; version="1.0"; sha256="0344ay1avi37kvh5w9bknayx67yh7rflj6zhw68d2888v7cbghjy"; depends=[]; };
   mixIndependR = derive2 { name="mixIndependR"; version="1.0.0"; sha256="0wjzs56axdjas2a9ynw3gd78h0fgcfjpx3bk7nm895lmadyzih6y"; depends=[data_table]; };
-  mixKernel = derive2 { name="mixKernel"; version="0.7"; sha256="02llsy2y45qsbzvz8bx66ijf2pl7aiy3dc3ni7jyzbnc3gfsjh2c"; depends=[corrplot ggplot2 LDRTools Matrix mixOmics phyloseq psych quadprog reticulate vegan]; };
+  mixKernel = derive2 { name="mixKernel"; version="0.8"; sha256="0slw5fvmzkfpx7nq5fbfldjrgh92v4g7j86jhbhghbkpwzzsjnyi"; depends=[corrplot ggplot2 LDRTools markdown Matrix mixOmics phyloseq psych quadprog reticulate vegan]; };
   mixPHM = derive2 { name="mixPHM"; version="0.7-2"; sha256="1wvkdb9zj2j8dpppnyins05rg877zbydqsl3qaan62wznkknxcac"; depends=[lattice survival]; };
   mixR = derive2 { name="mixR"; version="0.2.0"; sha256="1iarsys7jyi3zck01y7415xwyd1knnh1fkc8z4ipfd63nnlm2pqc"; depends=[ggplot2 Rcpp]; };
   mixRasch = derive2 { name="mixRasch"; version="1.1"; sha256="1r067pv7b54y1bz8p496wxv4by96dxfi2n1c99gziqf5ramx3qzp"; depends=[]; };
@@ -12508,7 +12648,7 @@ in with self; {
   mleur = derive2 { name="mleur"; version="1.0-6"; sha256="0mddphq3b6y2jaafaa9y41842kcaqdl3dh7j4pva55q2vcjcclj7"; depends=[fGarch lattice stabledist urca]; };
   mlf = derive2 { name="mlf"; version="1.2.1"; sha256="09ihnibpknpp26hdlbxyr99yz7z0n8qpsjs5aq3zngng0yh3wdn9"; depends=[]; };
   mlfit = derive2 { name="mlfit"; version="0.5.3"; sha256="0nyk5vmy2gkpz022djacy80gibskv96z0rsmjz2rw14zhc5kizsh"; depends=[BB dplyr forcats hms kimisc lifecycle Matrix plyr rlang tibble wrswoR]; };
-  mlflow = derive2 { name="mlflow"; version="1.22.0"; sha256="1gv5y3ns7r4w4rg7vabrxwf67sc91g793ng0kjffxfdzfsgpdf27"; depends=[base64enc forge fs git2r glue httpuv httr ini jsonlite openssl processx purrr reticulate rlang swagger tibble withr xml2 yaml zeallot]; };
+  mlflow = derive2 { name="mlflow"; version="1.23.0"; sha256="1g50nnqcdm82q4sbwa6mqq7v10nxqb2y2izhj9adjz8fkgyj8icl"; depends=[base64enc forge fs git2r glue httpuv httr ini jsonlite openssl processx purrr reticulate rlang swagger tibble withr yaml zeallot]; };
   mlgt = derive2 { name="mlgt"; version="0.16"; sha256="1nvdq6mvgr39ikkf73aggsb6pmbw132injj8fdkr8hgcmwm6lgd9"; depends=[seqinr]; };
   mlica2 = derive2 { name="mlica2"; version="2.1"; sha256="0c3m1zd9x99n6lw12hfzmd59355z51xa8rhg1h7qwfn9p86r826f"; depends=[]; };
   mlmRev = derive2 { name="mlmRev"; version="1.0-8"; sha256="0ln4nazhc1prnlmvhfzhx268vx3klb0xnz1nsiwh0pwyskskyzym"; depends=[lme4]; };
@@ -12520,27 +12660,27 @@ in with self; {
   mlogit = derive2 { name="mlogit"; version="1.1-1"; sha256="0hyi6gi03n895iydrfr1ba2ifbsd6lyjyhkq62d95ghhniysjgkg"; depends=[dfidx Formula lmtest MASS Rdpack statmod zoo]; };
   mlogitBMA = derive2 { name="mlogitBMA"; version="0.1-6"; sha256="1wl8ljh6rr1wx7dxmd1rq5wjbpz3426z8dpg7pkf1x9wr94a2q25"; depends=[abind BMA maxLik]; };
   mlpack = derive2 { name="mlpack"; version="3.4.2.1"; sha256="0fqpajcmqn9rijzjg7qj0zd2lik4xmhp5dmhbm3mdc9ssdg0axbr"; depends=[BH Rcpp RcppArmadillo RcppEnsmallen]; };
-  mlquantify = derive2 { name="mlquantify"; version="0.1.5"; sha256="00fxsg5p1fv1x102gz4541swinbc3c592qlfp123hy25h4bgdarj"; depends=[caret randomForest]; };
+  mlquantify = derive2 { name="mlquantify"; version="0.2.0"; sha256="1fpwvix0f4bmqb1y1b6wryndqp6j24dwsspbfx1zrnhzwj1v4i9i"; depends=[caret FNN randomForest]; };
   mlr = derive2 { name="mlr"; version="2.19.0"; sha256="04v1br59ykzhzaiybjyyknbrc7ai5nl5l106b7482r49afscjj8i"; depends=[backports BBmisc checkmate data_table ggplot2 parallelMap ParamHelpers stringi survival XML]; };
-  mlr3 = derive2 { name="mlr3"; version="0.13.0"; sha256="1729wbdp62cjjk775qxrahyskp191s9qqnmqbxncfjrpdxphxk34"; depends=[backports checkmate data_table future future_apply lgr mlbench mlr3measures mlr3misc palmerpenguins paradox parallelly R6 uuid]; };
+  mlr3 = derive2 { name="mlr3"; version="0.13.1"; sha256="052685d08cfsrh3r31yn05ngwi6z3fmz26gwiy32z7cpcigz8jjs"; depends=[backports checkmate data_table future future_apply lgr mlbench mlr3measures mlr3misc palmerpenguins paradox parallelly R6 uuid]; };
   mlr3benchmark = derive2 { name="mlr3benchmark"; version="0.1.3"; sha256="0j56l8yi1c0sa3fsychrvv42rpip2d300yccps0bj636c5r7na64"; depends=[checkmate data_table ggplot2 mlr3misc R6]; };
   mlr3cluster = derive2 { name="mlr3cluster"; version="0.1.2"; sha256="15sbxpp3lawh30dh3hznig12xp68p83p4rz6si6b6jjddcgsw3rq"; depends=[backports checkmate clue clusterCrit data_table mlr3 mlr3misc paradox R6]; };
   mlr3data = derive2 { name="mlr3data"; version="0.5.0"; sha256="1bck1rsnp4a9bkzyjrdxn1n12lkgkj0gwiwxrf9maj0l8x3kfpyw"; depends=[]; };
   mlr3db = derive2 { name="mlr3db"; version="0.4.2"; sha256="17gahnzhraixxxmyinsh1pnrsfqy5kznw5ynfcwyrzpbinx4drih"; depends=[backports checkmate data_table mlr3 mlr3misc R6]; };
-  mlr3filters = derive2 { name="mlr3filters"; version="0.4.2"; sha256="1xlyj7ai230pmcqgyj2zkhqjw819fy88b3ismc4hnq7gwkp0z360"; depends=[backports checkmate data_table mlr3 mlr3misc paradox R6]; };
-  mlr3fselect = derive2 { name="mlr3fselect"; version="0.6.0"; sha256="1xzwzxffa4lwdmpqrg05vgj4pfr3rph5zq4123ssjn5b5396shiz"; depends=[bbotk checkmate data_table lgr mlr3 mlr3misc mlr3pipelines paradox R6]; };
-  mlr3hyperband = derive2 { name="mlr3hyperband"; version="0.2.0"; sha256="0jdgmnxq1f9h7zlhdrafs21r80216lwfgd450swm7p4ibnd93fy4"; depends=[bbotk checkmate data_table lgr mlr3 mlr3misc mlr3tuning paradox R6]; };
-  mlr3learners = derive2 { name="mlr3learners"; version="0.5.1"; sha256="1yc3mrk1b9h1k342wnw7sm4zmcw7w31l5ybh558g88f5hmibdl98"; depends=[checkmate data_table mlr3 mlr3misc paradox R6]; };
-  mlr3measures = derive2 { name="mlr3measures"; version="0.4.0"; sha256="1qlqfan5akz42zwkcz3ncln6rd9c302dy4cyp7nx0jcafr5i459f"; depends=[checkmate PRROC]; };
-  mlr3misc = derive2 { name="mlr3misc"; version="0.9.5"; sha256="1ax1mvnm8xjcskq12x63jkal766v1zwilpgrkdv6yawd7yrww4q9"; depends=[backports checkmate data_table digest R6]; };
+  mlr3filters = derive2 { name="mlr3filters"; version="0.5.0"; sha256="14qq42rj8r6304yb54bs4fjld202zqf2lwd0vrz8ak6sn6jn7dbs"; depends=[backports checkmate data_table mlr3 mlr3misc paradox R6]; };
+  mlr3fselect = derive2 { name="mlr3fselect"; version="0.6.1"; sha256="064rc35ij833pwcwg0xx600j8vbv762irr4cld7x356ijprd51ys"; depends=[bbotk checkmate data_table lgr mlr3 mlr3misc mlr3pipelines paradox R6]; };
+  mlr3hyperband = derive2 { name="mlr3hyperband"; version="0.3.0"; sha256="0l6sljxgllpw5pf5d81lf92nn21r02cqpk2f0y8f6gn94yrk1mwb"; depends=[bbotk checkmate data_table lgr mlr3 mlr3misc mlr3tuning paradox R6]; };
+  mlr3learners = derive2 { name="mlr3learners"; version="0.5.2"; sha256="1d9hcrnj622ynrzg0ii0fkhz2n66ip46yln21jq1pwpwkqwqzv35"; depends=[checkmate data_table mlr3 mlr3misc paradox R6]; };
+  mlr3measures = derive2 { name="mlr3measures"; version="0.4.1"; sha256="1kbw3xd7c9x65v9zzs8i5skmrvl0mf2wsbyssmiif0lvrbzfhcmb"; depends=[checkmate PRROC]; };
+  mlr3misc = derive2 { name="mlr3misc"; version="0.10.0"; sha256="1wnzyij1x67smkb3gjb9gpp7iy5andfl0s1c78xx4wylhycc6m11"; depends=[backports checkmate data_table digest R6]; };
   mlr3oml = derive2 { name="mlr3oml"; version="0.5.0"; sha256="1w4hjzzmy968mzgyg6ybcpq09n9zkhiwi2ccm41rvwaysl27rgfd"; depends=[backports checkmate curl data_table jsonlite lgr mlr3 mlr3misc R6 stringi]; };
   mlr3pipelines = derive2 { name="mlr3pipelines"; version="0.4.0"; sha256="0913f67c1r9bi68gxh1prsp0vch21bl6plahnvjrlbq8rrs1sr6p"; depends=[backports checkmate data_table digest lgr mlr3 mlr3misc paradox R6 withr]; };
-  mlr3proba = derive2 { name="mlr3proba"; version="0.4.2"; sha256="01k49spc52i8bnwi61b1knw0xnll4hgd489pswfdm7367yskhb2r"; depends=[checkmate data_table distr6 mlr3 mlr3misc paradox R6 Rcpp survival]; };
+  mlr3proba = derive2 { name="mlr3proba"; version="0.4.3"; sha256="1giwab6hdn15xn0vnimnqihl3grrk6vw0p2yf1r590nnqmnyadic"; depends=[checkmate data_table distr6 mlr3 mlr3misc paradox R6 Rcpp survival]; };
   mlr3shiny = derive2 { name="mlr3shiny"; version="0.2.0"; sha256="0s581aqi3a3kg35db0gnsmmg62zwl5bij4vbszjhc63i3xg0ayiz"; depends=[data_table DT e1071 mlr3 mlr3learners mlr3measures plyr purrr ranger readxl shiny shinyalert shinydashboard shinyjs shinythemes shinyWidgets stringr]; };
-  mlr3spatial = derive2 { name="mlr3spatial"; version="0.1.0"; sha256="14wbdgad7ajmwg7gz91gpdd5wvvrxmkzsk40vgfgbybmffz7zafb"; depends=[checkmate data_table lgr mlr3 mlr3misc R6 terra]; };
+  mlr3spatial = derive2 { name="mlr3spatial"; version="0.1.1"; sha256="05ix722xmaxgv1w2gmr07dalail32hpblmlsy5wgkscyp0slqzzg"; depends=[checkmate data_table lgr mlr3 mlr3misc R6 terra]; };
   mlr3spatiotempcv = derive2 { name="mlr3spatiotempcv"; version="1.0.0"; sha256="0y04w96xk3m786aamqv9p91gqqyi19dc0shgkwlba32lkd5rqj0w"; depends=[checkmate data_table ggplot2 mlr3 mlr3misc paradox R6]; };
-  mlr3tuning = derive2 { name="mlr3tuning"; version="0.9.0"; sha256="0i428kdbak81j1wlwmdf9y40hqi63azhyny802ms2z04wl8lwnvs"; depends=[bbotk checkmate data_table digest lgr mlr3 mlr3misc paradox R6]; };
-  mlr3tuningspaces = derive2 { name="mlr3tuningspaces"; version="0.1.0"; sha256="0s2l45jlmhhz5sm6k4b8245xa6qp2val5k93kamd1l24yrlw7f7d"; depends=[checkmate data_table mlr3 mlr3misc mlr3tuning paradox R6]; };
+  mlr3tuning = derive2 { name="mlr3tuning"; version="0.11.0"; sha256="0avs0yj11xw3910mksv5bynip8w39mcqjda8qf0a2mnwnjx29kri"; depends=[bbotk checkmate data_table lgr mlr3 mlr3misc paradox R6]; };
+  mlr3tuningspaces = derive2 { name="mlr3tuningspaces"; version="0.1.1"; sha256="14hsm00n3nk7x6521kccakkj0hpmw3c3yjl7dh6hjhggg9p6xkz9"; depends=[checkmate data_table mlr3 mlr3misc mlr3tuning paradox R6]; };
   mlr3verse = derive2 { name="mlr3verse"; version="0.2.2"; sha256="1rgvhxjqxdrdhbslfxcli4mlafgvswc164yzv7rms60asvq1sndw"; depends=[bbotk data_table mlr3 mlr3cluster mlr3data mlr3filters mlr3fselect mlr3learners mlr3misc mlr3pipelines mlr3proba mlr3tuning mlr3viz paradox]; };
   mlr3viz = derive2 { name="mlr3viz"; version="0.5.7"; sha256="1agl6s6i9l7mk8mrvmnz7csqsc77dwjnymlrqcy5vxddr2nfc47l"; depends=[checkmate data_table ggplot2 mlr3misc]; };
   mlrCPO = derive2 { name="mlrCPO"; version="0.3.7-3"; sha256="0vq163ca446l2sb3jbn8wmvj26zsrpz52b1w7d8xgb0jjf2jhp91"; depends=[backports BBmisc checkmate mlr ParamHelpers stringi]; };
@@ -12548,8 +12688,8 @@ in with self; {
   mlrintermbo = derive2 { name="mlrintermbo"; version="0.5.0"; sha256="1nyaqf6vkckdh7jb27iwv5dnvrh4bp0kkc5jzbqkyi8af11phg1l"; depends=[backports bbotk callr checkmate data_table lhs mlr3misc mlr3tuning paradox R6]; };
   mlsbm = derive2 { name="mlsbm"; version="0.99.2"; sha256="1p6fflhjbbyzx51hb77aak1kdabjrmzd7b47vdcanhb0vd263aby"; depends=[Rcpp RcppArmadillo]; };
   mlsjunkgen = derive2 { name="mlsjunkgen"; version="0.1.2"; sha256="1icsssgi5xf420ajagr9nw0wgbxpfm7dsd5b7s77vyh5hsfzm1z3"; depends=[]; };
-  mlt = derive2 { name="mlt"; version="1.3-2"; sha256="13b4zkwwwvvqrsixamafv7fcfzvika4pz11rgxfckaasav1fycjr"; depends=[alabama basefun BB coneproj Matrix nloptr numDeriv sandwich survival variables]; };
-  mlt_docreg = derive2 { name="mlt.docreg"; version="1.1-2"; sha256="1qrgz483q3msyrrpf2ci0czxxpxjr4syqbqvf99ysi2g86042v2k"; depends=[eha flexsurv lattice mlt multcomp np numDeriv survival truncreg]; };
+  mlt = derive2 { name="mlt"; version="1.4-0"; sha256="1xb3rmps998sfzlkkrk6k0q1b7gj01q1p4hr5anax66xhcj0529p"; depends=[alabama basefun BB coneproj Matrix numDeriv sandwich survival variables]; };
+  mlt_docreg = derive2 { name="mlt.docreg"; version="1.1-3"; sha256="1ndx570ds8xagcp8d8adx64c2pv71kx3f7d640v638afjlcfc7h9"; depends=[eha flexsurv lattice mlt multcomp np numDeriv survival truncreg]; };
   mltest = derive2 { name="mltest"; version="1.0.1"; sha256="14gyssfph088v936mpywmd4y8z9vdv0zk8638vlg23j8cf5j4al2"; depends=[]; };
   mltools = derive2 { name="mltools"; version="0.3.5"; sha256="045v28w7vz1zjxim8vfc6ncvg2mavr1q332x0hzlqpfzrk7gz4vh"; depends=[data_table Matrix]; };
   mlxR = derive2 { name="mlxR"; version="4.2.0"; sha256="0pr564376q7pn0wbbw5q9mjfzdc0bpq1g4xj0bcdmb64binqllvb"; depends=[ggplot2]; };
@@ -12597,7 +12737,6 @@ in with self; {
   modQR = derive2 { name="modQR"; version="0.1.2"; sha256="0x4405gaxpmmy6a0r8s7sxdi2lnc76f2i174h7xqlrwqy13xyfvv"; depends=[geometry lpSolve]; };
   modTurPoint = derive2 { name="modTurPoint"; version="0.1.0"; sha256="1m24vsi80ln1r7sr40pipaaanyc60yfxmjzf8l7nfy3yvyr8zqpn"; depends=[]; };
   modchart = derive2 { name="modchart"; version="0.5"; sha256="1mn8zywqhxhvy0k6mn0jsn90g9yb6sxyv34syzzxrxs2kdzx5szg"; depends=[collapsibleTree dplyr DT dygraphs highcharter htmlwidgets jsonlite lazyeval leaflet magrittr networkD3 plotly RColorBrewer rgdal shiny shinyBS shinydashboard shinydashboardPlus sp sparkline sunburstR treemap]; };
-  modcmfitr = derive2 { name="modcmfitr"; version="0.1.0"; sha256="1d6fi7pc10w2a97h1prhkg5cvzmxjp11c5bwrz90zry0m8anwjyh"; depends=[gtools nloptr]; };
   modeLLtest = derive2 { name="modeLLtest"; version="1.0.3"; sha256="0hf7y78yp3jb0af9df3df6n1z66y2iyhhmgyfz12c4iadly0v6x1"; depends=[coxrobust MASS quantreg Rcpp RcppArmadillo survival]; };
   modeest = derive2 { name="modeest"; version="2.4.0"; sha256="087dw0013y4m7fcl06mxylh9lnp6acysl80d80r9srv4pw4r950s"; depends=[fBasics stable stabledist statip]; };
   modehunt = derive2 { name="modehunt"; version="1.0.7"; sha256="0qz9kmf1qfs2dr7kzm9l7ac0h5rvi3b9j9896p991sk4bcalsl0b"; depends=[]; };
@@ -12606,7 +12745,7 @@ in with self; {
   modelObj = derive2 { name="modelObj"; version="4.1"; sha256="0afws8vd7qj9m2ikj0ph1vp2rgr3v979hp3qjapgmln1cwglchlw"; depends=[]; };
   modelROC = derive2 { name="modelROC"; version="1.0"; sha256="0iyx7c98ym7dy6pfssj7474h9wjpzjwy0fyc5bnqyi1lmjgd508k"; depends=[do ggplot2 ROCit survivalROC tmcn]; };
   modelStudio = derive2 { name="modelStudio"; version="3.0.0"; sha256="0gs9r5502ks44ks1phfj8lq13rh6pl8rc2d2fcxadfpvm7ym7x5r"; depends=[DALEX digest iBreakDown ingredients jsonlite progress r2d3]; };
-  modelbased = derive2 { name="modelbased"; version="0.7.0"; sha256="0jq9zb2avs7qwins32rpdymndwh4kpsdjy5gbjwacjh4ksxks3fz"; depends=[bayestestR effectsize insight parameters performance]; };
+  modelbased = derive2 { name="modelbased"; version="0.7.1"; sha256="1gf7lw3z0vw6hc9xp6kfky7778wmd1m4lyh1wyhsn6dsv5d0kbl1"; depends=[bayestestR datawizard effectsize insight parameters performance]; };
   modelc = derive2 { name="modelc"; version="1.0.0.0"; sha256="0xz1zgv5yyvq0yfnhm1kvb4wvlyn4ccd0lkwji55vq8hndvjvk98"; depends=[]; };
   modeldata = derive2 { name="modeldata"; version="0.1.1"; sha256="0jgrwf9k8p9j3ywg3yv2wzwsx3snlwm3dd9vfqwhlr7j63jg3cm4"; depends=[]; };
   modeldb = derive2 { name="modeldb"; version="0.2.2"; sha256="14s8xh05qxv414xcnww1b3s0jqwnjb3l1dqf7q1qbw33ilwcmsfb"; depends=[dplyr ggplot2 progress purrr rlang tibble tidypredict]; };
@@ -12615,9 +12754,9 @@ in with self; {
   modelimpact = derive2 { name="modelimpact"; version="1.0.0"; sha256="16sy7r6bw5nzx77rd27ihgvp7bs39xchgid94ssklj6syc3kn2vq"; depends=[dplyr magrittr]; };
   modelplotr = derive2 { name="modelplotr"; version="1.1.0"; sha256="0i1ssfcyl97zaxc9khdngrmsq9ydrmgv2nd7c6kc6i9z93jbkk4k"; depends=[dplyr ggfittext ggplot2 gridExtra magrittr RColorBrewer rlang scales]; };
   modelr = derive2 { name="modelr"; version="0.1.8"; sha256="1i31nff7bqibk6r4hhd4j1vzwbyaf8493v0bjaagn36njmysfnw2"; depends=[broom magrittr purrr rlang tibble tidyr tidyselect vctrs]; };
-  modelsummary = derive2 { name="modelsummary"; version="0.9.4"; sha256="0dpzhvkcbc52ykxn7ccb6aapl65p7zzs82bg585g4clakldb9q6c"; depends=[broom checkmate generics glue insight kableExtra parameters performance rlang tables]; };
+  modelsummary = derive2 { name="modelsummary"; version="0.9.5"; sha256="0bnz3khb6ajnvsv42j2nmwwmyc2cpvxi7c6d6wd0kxr49iw1z3ik"; depends=[broom checkmate generics glue insight kableExtra parameters performance rlang tables]; };
   modeltests = derive2 { name="modeltests"; version="0.1.4"; sha256="0ii5sh8yz5yvf0gq41ia55dvbg8x9042x82j52ck6haxa0w8zpfy"; depends=[dplyr generics purrr testthat tibble]; };
-  modeltime = derive2 { name="modeltime"; version="1.1.0"; sha256="005jj1n6z343h9wspli7hxjmy2zxjkl7rkzc0bapl76j44rv022r"; depends=[cli dials doParallel dplyr forcats foreach forecast ggplot2 glue gt hardhat janitor magrittr parsnip plotly prophet purrr reactable rlang scales StanHeaders stringr tibble tidyr timetk workflows xgboost yardstick]; };
+  modeltime = derive2 { name="modeltime"; version="1.1.1"; sha256="1m888hbnwvxmvbf4mk219vhiq2fglc6545j26hc1m73bfaxg73dv"; depends=[cli dials doParallel dplyr forcats foreach forecast ggplot2 glue gt hardhat janitor magrittr parsnip plotly prophet purrr reactable rlang scales StanHeaders stringr tibble tidyr timetk workflows xgboost yardstick]; };
   modeltime_ensemble = derive2 { name="modeltime.ensemble"; version="1.0.0"; sha256="01mi6pkjn97c77kyddz6xsyz11kchkdqy6672p8r96h0wy7530a1"; depends=[cli doParallel dplyr foreach generics glue magrittr modeltime modeltime_resample parsnip purrr recipes rlang rsample stringr tibble tictoc tidyr timetk tune workflows yardstick]; };
   modeltime_gluonts = derive2 { name="modeltime.gluonts"; version="0.1.0"; sha256="1nivqpdyr2s6q70bixna0a18gbhrf1r20vm0gj8b51idjignwpp7"; depends=[dplyr forcats fs glue magrittr modeltime parsnip purrr reticulate rlang stringr tibble tidyr timetk]; };
   modeltime_h2o = derive2 { name="modeltime.h2o"; version="0.1.1"; sha256="0rg7ha1zy0a1fbwrljsglfnfgkl747hjga8xajlzyrczhrmh4vnk"; depends=[dplyr fs glue h2o magrittr modeltime parsnip purrr rlang stringr tibble tidyr timetk]; };
@@ -12625,7 +12764,7 @@ in with self; {
   modeltools = derive2 { name="modeltools"; version="0.2-23"; sha256="1vqh69256h344sbj5affm0kmc77dakrxp6442xfdnfd0y5d8sgkb"; depends=[]; };
   modelwordcloud = derive2 { name="modelwordcloud"; version="0.1"; sha256="0ardib0h923i7jk8bgcq6pn2zazx9acf9sdggifsk46hdz8hvqnm"; depends=[]; };
   modernVA = derive2 { name="modernVA"; version="0.1.1"; sha256="1kjfgr7fcf0w27gx1wwapxcw5wisfv75mq9qc5hjnaivmsnkwsv3"; depends=[]; };
-  moderndive = derive2 { name="moderndive"; version="0.5.2"; sha256="0s9ja6akkzq71hy62zgcxasazzsf7yrahyrrzy1lh0rkxis53xkr"; depends=[broom dplyr formula_tools ggplot2 glue infer janitor knitr magrittr rlang stringr tibble]; };
+  moderndive = derive2 { name="moderndive"; version="0.5.3"; sha256="0j2wd5ydsdcr2v2qqs6h8m5jgmyv8j77pls0wr94pgp44zcprlw6"; depends=[broom dplyr formula_tools ggplot2 glue infer janitor knitr magrittr rlang stringr tibble]; };
   modest = derive2 { name="modest"; version="0.3-1"; sha256="07rs014hdcabp2n0gg14pz2gmqgbw38vjv7a80vkzzh3601hxqws"; depends=[knitr rhandsontable shiny shinyBS]; };
   modesto = derive2 { name="modesto"; version="0.1.3"; sha256="1121zlbsp71rca7bqrhl2yshrz99iw48aldg506vcfcmym8hx7dy"; depends=[markovchain Rcpp]; };
   modgetxl = derive2 { name="modgetxl"; version="0.4"; sha256="0j9fmhy3wra9qr8753a495ligfz5fwgydv3ixlfzx3sgbq882hic"; depends=[DT readxl shiny shinydashboard]; };
@@ -12669,7 +12808,7 @@ in with self; {
   monotonicity = derive2 { name="monotonicity"; version="1.3.1"; sha256="0bb6sl8yykry25a86qfggi36ggr1xrxcqsnzp6rb6na228hbwa2z"; depends=[lmtest MASS sandwich]; };
   monreg = derive2 { name="monreg"; version="0.1.4"; sha256="15qgfhbd8ny05rjd1nn33ynh4i7m7wcy8az53jraghlk760bymwg"; depends=[]; };
   moodleR = derive2 { name="moodleR"; version="0.3.2"; sha256="0c2p4p6payaq0r2mcw1kxhz5hg9aklbfny6j3ssjk0b05ngca5dv"; depends=[anytime cli config DBI dplyr ggplot2 ggwordcloud glue here lifecycle rlang RMariaDB RSQLite scales stringr tidytext]; };
-  moonBook = derive2 { name="moonBook"; version="0.2.4"; sha256="0z78pzc8sr2g19xjdd9cmai4iqyifmh79gj8x40ddww6a27dalry"; depends=[magrittr nortest sjmisc stringr survival ztable]; };
+  moonBook = derive2 { name="moonBook"; version="0.3.1"; sha256="1ml4vvm0mvrprpyi0l50aw38brx18bk2qny4gybmkvlbakalz9bx"; depends=[crayon magrittr nortest sjmisc stringr survival]; };
   mopac = derive2 { name="mopac"; version="0.1.0"; sha256="07ljy6rwicyrv20l7zyxq2lb7qqfpl5mpv834m2n5c4air7sy23m"; depends=[]; };
   mopsocd = derive2 { name="mopsocd"; version="0.5.1"; sha256="10hssnm1afqmxa9kw6ifqnz3p3yyjrmxgi98zlj31a5g4nis8wb1"; depends=[]; };
   moreparty = derive2 { name="moreparty"; version="0.2.1"; sha256="0p30skq5x3rz3xbp2izq44v5c0byw7cw2han6bardah7xniz3w2d"; depends=[foreach ggplot2 iml MASS measures party partykit pdp plyr rlang varImp vip]; };
@@ -12695,7 +12834,6 @@ in with self; {
   motifr = derive2 { name="motifr"; version="1.0.0"; sha256="01synariq39mzhx12jbcpwn982piakakl97sgs33xa8xrbwzcxgm"; depends=[dplyr ggplot2 ggraph igraph intergraph network purrr RColorBrewer reshape2 reticulate rlang scales tibble tidygraph]; };
   motmot = derive2 { name="motmot"; version="2.1.3"; sha256="09qsyc4ifdl316kjqqkarmflpjcd0ivkhx5fzi3502anj6dxpjnq"; depends=[ape caper coda ks mvtnorm Rcpp]; };
   motoRneuron = derive2 { name="motoRneuron"; version="1.0.0"; sha256="1hdsf4c1v5hfaqpi5y1v60zqq5fdmlqdvzpsq77diclp9vzdshja"; depends=[dygraphs ggplot2]; };
-  moult = derive2 { name="moult"; version="2.2.0"; sha256="15r5s5ghqip28g12bwcn407lhgfv6408gndw4nvm3nhi8z0hwvrd"; depends=[Formula Matrix]; };
   mountainplot = derive2 { name="mountainplot"; version="1.3"; sha256="1mgvcv58pb3ximrf7gq1ii53gmjrn1qajayjlx8qqzsvjkn3myin"; depends=[lattice]; };
   mousetrack = derive2 { name="mousetrack"; version="1.0.0"; sha256="0lf0xh0c3xl27nh5w8wwyrm2jfzfajm2f73xjdgf746dp365qc8n"; depends=[pracma]; };
   mousetrap = derive2 { name="mousetrap"; version="3.2.1"; sha256="12vlb5fhq9m2f3c073xzdqk98gdq7jk2rwj6kcckxx6x7wg20fyd"; depends=[cstab diptest dplyr fastcluster fields ggplot2 lifecycle magrittr pracma psych RColorBrewer Rcpp rlang scales tidyr]; };
@@ -12720,6 +12858,7 @@ in with self; {
   mpoly = derive2 { name="mpoly"; version="1.1.1"; sha256="10is69ks22ka1cqw3xk0fvy4z3b2drm8lanqwj178qrzj7ipf7i0"; depends=[ggplot2 orthopolynom partitions plyr polynom stringi stringr tidyr]; };
   mppR = derive2 { name="mppR"; version="1.3.0"; sha256="12fjb8q3yhhpsdb0wiv6bamw6a4igv2as9vqq6ac1gab454b9fxn"; depends=[ggplot2 igraph qtl]; };
   mppa = derive2 { name="mppa"; version="1.0"; sha256="06v6vq2nfh4b407x2gyvcp5wbdrcnk3m8y58akapi66lj8xplcx4"; depends=[]; };
+  mpr = derive2 { name="mpr"; version="1.0.6"; sha256="155cjdcyvxnmqxx3zg2dvzk7av2jcn67lj2vdpd2ahbznax76ghk"; depends=[survival]; };
   mpspline2 = derive2 { name="mpspline2"; version="0.1.3"; sha256="0yadvnfsj1c9mm28v6501510dhcg77nzcvky32zmhaa21gwszcij"; depends=[]; };
   mpt = derive2 { name="mpt"; version="0.7-0"; sha256="1nwc3szl5g5cd39z7ydr91bvvg58gb7r5zbjbylp93yx3pr7bsjh"; depends=[]; };
   mptools = derive2 { name="mptools"; version="1.0.1"; sha256="1g4fbfwxv9hir0jn22nh9854blgkh0b5jan3lv0888izj4isa1hc"; depends=[animation lattice latticeExtra raster rasterVis sp viridis zoo]; };
@@ -12729,18 +12868,18 @@ in with self; {
   mra = derive2 { name="mra"; version="2.16.11"; sha256="0268msdy4cs2ifpagmwiabi6aav54ckn214ai18aqv2h97hmixw0"; depends=[]; };
   mratios = derive2 { name="mratios"; version="1.4.2"; sha256="18pi0dks0qmw0gv76yqm4gvxdqrcvr25j1vb8k4mkp5p35kzkzff"; depends=[multcomp mvtnorm survival survPresmooth]; };
   mrbayes = derive2 { name="mrbayes"; version="0.5.1"; sha256="11n3d18di01vmwqs5a0i1h8839aammzbcavi1jk58bmrwb3l771j"; depends=[BH plyr Rcpp RcppEigen rstan rstantools StanHeaders]; };
-  mrbin = derive2 { name="mrbin"; version="1.6.1"; sha256="09rqvd9qakn2868f2l6f50gg0y8vwpp2pgkwp006jnk06bylrdfh"; depends=[]; };
+  mrbin = derive2 { name="mrbin"; version="1.6.2"; sha256="1vvccsb3rlr01bpp3khn11q2ad18dn5pgkcj72ln8jn1yfw2jckm"; depends=[]; };
   mrbsizeR = derive2 { name="mrbsizeR"; version="1.2.1.1"; sha256="0v06sd5sh7ghlr8lgrv6l4glmv7chj3951pw4ssxrly4hz2rh6i0"; depends=[fields maps Rcpp]; };
   mrds = derive2 { name="mrds"; version="2.2.5"; sha256="1659nzdykl4mgfgyniwnwrn1a0m6wiz7c02ygwpm90bnz8f4g5y2"; depends=[mgcv numDeriv optimx Rsolnp]; };
   mreg = derive2 { name="mreg"; version="1.1"; sha256="06la0yy2yys161jhlzlcm5lcv0664wm6sa8gjdnpd1s1nx52jkqf"; depends=[]; };
   mregions = derive2 { name="mregions"; version="0.1.6"; sha256="0ix77hqcllhcpldchlnvciiflm6ysylynnnqvczpf8vx7gwa3lrk"; depends=[data_table httr jsonlite rappdirs sp tibble wellknown xml2]; };
   mrf = derive2 { name="mrf"; version="0.1.5"; sha256="169sw6wvxdy6j9b1vcng6dsxvq1h23pyzp0dnry3yp06yjz76wq6"; depends=[DEoptim forecast limSolve monmlp nnfor]; };
-  mrf2d = derive2 { name="mrf2d"; version="0.5"; sha256="0vp5rcmrsyfsnh5rmv130081yzrxf7g0pdvydrlvfabsx9his6pl"; depends=[dplyr ggplot2 Rcpp RcppArmadillo Rdpack tidyr]; };
+  mrf2d = derive2 { name="mrf2d"; version="1.0"; sha256="0fmxn178bkw77iz51bnjxala9xmhs44km57m8msvlw0k69sddyif"; depends=[dplyr ggplot2 Rcpp RcppArmadillo Rdpack tidyr]; };
   mrfDepth = derive2 { name="mrfDepth"; version="1.0.13"; sha256="177331j30n707mcl1ghxjc53xjs9qsal15kccc71b0rabkjdq2wv"; depends=[abind geometry ggplot2 matrixStats Rcpp RcppArmadillo RcppEigen reshape2]; };
   mrfse = derive2 { name="mrfse"; version="0.2"; sha256="1dx21m54jsprlngj20q1bgvbw1bbm0sm8i01xanj68bx796ng14j"; depends=[]; };
-  mrgsim_parallel = derive2 { name="mrgsim.parallel"; version="0.1.1"; sha256="0xsq7538z8rw4b5q3bcrspgfjw965yr5v7f8k3za04ksx775nfy2"; depends=[dplyr future_apply mrgsolve]; };
+  mrgsim_parallel = derive2 { name="mrgsim.parallel"; version="0.2.0"; sha256="1qdaaa4zklsn9bwlkv654y5m2r9hj6rviv3ag5ibqk0d1h1l9kzk"; depends=[callr dplyr fst future future_apply mrgsolve]; };
   mrgsim_sa = derive2 { name="mrgsim.sa"; version="0.1.0"; sha256="199m6ygwnw6fbld5fqsw1j5jz9x6l1ayrpsc0r51q4fr7nmmpfj2"; depends=[assertthat dplyr ggplot2 mrgsolve patchwork purrr rlang tibble tidyr tidyselect withr]; };
-  mrgsolve = derive2 { name="mrgsolve"; version="0.11.1"; sha256="1hgrbj92m610a4kblvd1dbxgfc2cckfpjxp3xir5764gii6dvcd7"; depends=[BH dplyr glue lifecycle magrittr Rcpp RcppArmadillo rlang tibble tidyselect]; };
+  mrgsolve = derive2 { name="mrgsolve"; version="1.0.0"; sha256="0k8cac0sslzs3d5nl55713dxbv3009fvzssyz7mli7s5hn0yyx3c"; depends=[BH dplyr glue lifecycle magrittr Rcpp RcppArmadillo rlang tibble tidyselect]; };
   mri = derive2 { name="mri"; version="1.0.1"; sha256="1dssq556kid6c3djp0s6v853cranv2wjs2c9521l5ykg5g33hfmv"; depends=[]; };
   mritc = derive2 { name="mritc"; version="0.5-2"; sha256="07b1b2k1ka43ikj2mhwnazw3ig7w10bf759fimxpksvk5k6wanx2"; depends=[lattice misc3d oro_nifti]; };
   mro = derive2 { name="mro"; version="0.1.1"; sha256="00gc2hd8q5hb2xrswclcqqw1gxl83zmpma6bhsggg3kppsw1dpjv"; depends=[MASS matrixcalc]; };
@@ -12779,7 +12918,7 @@ in with self; {
   msme = derive2 { name="msme"; version="0.5.3"; sha256="0mq57zdas1s87nblnvbif9lisgahfhvmabglvp9imr1mvpwybpbh"; depends=[lattice MASS]; };
   msmtools = derive2 { name="msmtools"; version="2.0.1"; sha256="09an9bpr0gnqbglb8kj4x8bb7f5dm2lc3d01wx6dh7j1d99vrrdk"; depends=[data_table ggplot2 msm patchwork scales survival]; };
   msos = derive2 { name="msos"; version="1.2.0"; sha256="1fg9q6269cckn4g6isv22k22mzglxhjxjg5npqsikmisribmr9kb"; depends=[mclust tree]; };
-  mssm = derive2 { name="mssm"; version="0.1.5"; sha256="0mwcbqndaczxxg9pvzpgd6j5v73pp5cplah4ss48h7sh984nbjwx"; depends=[nloptr Rcpp RcppArmadillo testthat]; };
+  mssm = derive2 { name="mssm"; version="0.1.6"; sha256="08bgfli7kvvsfpvlvlcdxp301gy6wggidlgllarxjwi06v9c8as5"; depends=[nloptr Rcpp RcppArmadillo testthat]; };
   mstDIF = derive2 { name="mstDIF"; version="0.1.6"; sha256="0zhslqzvvk8wbgqvcipmzhy94awwfmkv5yfl812m8wmwgpkcqzpb"; depends=[eRm expm Matrix mirt PP scDIFtest]; };
   mstR = derive2 { name="mstR"; version="1.2"; sha256="0v8cv9pswkvw0lva6jx5vavsb20dawgq83gn4rgydyhvigcl5szd"; depends=[]; };
   mstate = derive2 { name="mstate"; version="0.3.2"; sha256="054dzrd5b0xjjjl7862q3aq1jwgrxbkqz7zpvbdirqsld3zksirw"; depends=[data_table lattice RColorBrewer rlang survival viridisLite]; };
@@ -12787,8 +12926,8 @@ in with self; {
   mstknnclust = derive2 { name="mstknnclust"; version="0.3.1"; sha256="0bg38gnaf2jjva8l2wk862ch2cpqvw7szvvvpb2bnz02fp795p3g"; depends=[igraph]; };
   mstrio = derive2 { name="mstrio"; version="11.3.0.1"; sha256="1qjqxrgy2amm0ikfixkqjix3d6jzh1y3abnbzq41ibl5qiz8pjxy"; depends=[crul data_table httr jsonlite openssl R6 rstudioapi shiny shinyjs]; };
   msu = derive2 { name="msu"; version="0.0.1"; sha256="1vhh9725dbywmzihnmsq1jircpn91r8227j2f76fvma9rwss90p7"; depends=[entropy]; };
-  mt = derive2 { name="mt"; version="2.0-1.18"; sha256="11a01ji5vniz82y56wpdv5j10kfp9c982lhdl0d8xnqkw4xgw06b"; depends=[class e1071 ellipse lattice latticeExtra MASS pls randomForest]; };
-  mtb = derive2 { name="mtb"; version="0.1.1"; sha256="1ncisrv738s0ddripji02pyykkb1h25z5dpn5asqgjp0qp5611qv"; depends=[ggplot2 htmltools labeling scales]; };
+  mt = derive2 { name="mt"; version="2.0-1.19"; sha256="184lksilj5q1bhlwsh850gm2qzjcpyaa4gj20r5m1smmhdcdwd1d"; depends=[class e1071 ellipse lattice latticeExtra MASS pls randomForest]; };
+  mtb = derive2 { name="mtb"; version="0.1.6"; sha256="1zqn9ng0axyhbdwp683hkqq19w0x18bf1lk2kxakmwgvpcs4h67d"; depends=[ggplot2 htmltools labeling scales]; };
   mtconnectR = derive2 { name="mtconnectR"; version="1.2.1"; sha256="0hl46h535mjqwgrhmxlixhfsych3blzcynffp55nr1ynrra4dn06"; depends=[data_table dplyr dtw ggplot2 lubridate magrittr plyr proxy stringr tidyr XML]; };
   mthapower = derive2 { name="mthapower"; version="0.1.1"; sha256="0g6dn0qn7z6qc1gbzspy1n7b803427bc9fv5yqk7j8i1is1p8h94"; depends=[]; };
   mtk = derive2 { name="mtk"; version="1.0"; sha256="0vq2xlxf86l92fl91qm8m4yfjyz1h8szmwxiics7sc9f0as0dkmy"; depends=[lhs rgl sensitivity stringr XML]; };
@@ -12834,7 +12973,7 @@ in with self; {
   multicon = derive2 { name="multicon"; version="1.6"; sha256="16glkgnm4vlpxkhf1xw1gl1q10yavx9479i21v29lldag35z8pqx"; depends=[abind foreach mvtnorm psych sciplot]; };
   multicool = derive2 { name="multicool"; version="0.1-12"; sha256="0djacq0irfqz4nlnx238kja73yvr1n5qybbfyl6bw1n6qgcjhza8"; depends=[Rcpp]; };
   multicross = derive2 { name="multicross"; version="2.1.0"; sha256="17hk03wsms9ij6hp6dw77cvvngdb5i66is6pcl1q21pyp327zqi6"; depends=[crossmatch MASS Matrix nbpMatching]; };
-  multid = derive2 { name="multid"; version="0.2.0"; sha256="1vkrrnj9dmgljxxy975pdisf8lwnn1bsfz5835pji2ivnrj0y66s"; depends=[dplyr glmnet pROC]; };
+  multid = derive2 { name="multid"; version="0.3.0"; sha256="1wpbb8npxns8wiwszb10hzy6i2nc7vsqi18n6zx5qi4mxhhad2mh"; depends=[dplyr emmeans glmnet lavaan pROC]; };
   multidplyr = derive2 { name="multidplyr"; version="0.1.1"; sha256="1cc8p9l6nn6n3dvivqyn8pwj0wn2vz40jcbb38zkg109a4c06jbb"; depends=[callr crayon dplyr magrittr qs R6 rlang tibble tidyselect vctrs]; };
   multifamm = derive2 { name="multifamm"; version="0.1.1"; sha256="09s6hnyi5x48yp97499zai7b959ylkk17zbbc6d8a71ynvfas8ir"; depends=[data_table funData MFPCA mgcv sparseFLMM zoo]; };
   multifear = derive2 { name="multifear"; version="0.1.2"; sha256="15nxyb17qzwld3ngw5k60nsr5nnam09jc1ky87rvsvslj6f3v696"; depends=[BayesFactor bayestestR bootstrap broom dplyr effectsize effsize esc ez forestplot ggplot2 nlme purrr reshape2 stringr tibble]; };
@@ -12853,13 +12992,12 @@ in with self; {
   multinbmod = derive2 { name="multinbmod"; version="1.0"; sha256="1c4jyzlcjkqdafj9b6hrqp6zs33q6qnp3wb3d7ldlij7ns9fhg71"; depends=[]; };
   multinet = derive2 { name="multinet"; version="4.0.1"; sha256="0j4hdw47vf5rkd4vqr6bs5740h17kvw7208a434q0ms2vlmm40cg"; depends=[igraph RColorBrewer Rcpp]; };
   multinets = derive2 { name="multinets"; version="0.2.2"; sha256="1i5jsq1xy0g0l5d1z3hz4gj6inj4rhd6lf2s5xzd5k8ccp5aba8c"; depends=[igraph Rcpp]; };
-  multinma = derive2 { name="multinma"; version="0.3.0"; sha256="0841p1lg54cbyxca89y0rw6542bjrxhlvcjkp77vswcjsnx5ay4a"; depends=[bayesplot BH copula dplyr forcats ggdist ggplot2 ggraph glue igraph Matrix purrr randtoolbox Rcpp RcppEigen RcppParallel Rdpack rlang rstan rstantools StanHeaders stringr tibble tidyr truncdist]; };
+  multinma = derive2 { name="multinma"; version="0.4.1"; sha256="02mk8z3dca32ap8ijs3f9jyqlf6wakbzc3ym5kj0g4axxivj5dhw"; depends=[bayesplot BH copula dplyr forcats ggdist ggplot2 ggraph glue igraph Matrix purrr randtoolbox Rcpp RcppEigen RcppParallel Rdpack rlang rstan rstantools StanHeaders stringr tibble tidyr truncdist]; };
   multinomRob = derive2 { name="multinomRob"; version="1.8-6.1"; sha256="1fdjfk77a79fy7jczhpd2jlbyj6dyscl1w95g64jwxiq4hsix9s6"; depends=[MASS mvtnorm rgenoud]; };
-  multinomineq = derive2 { name="multinomineq"; version="0.2.1"; sha256="09h5nccfcrnl78rdxwsw5cqirfq40a6x4dmpkibc475z3xndk2rm"; depends=[coda quadprog Rcpp RcppArmadillo RcppProgress RcppXPtrUtils Rglpk]; };
   multipanelfigure = derive2 { name="multipanelfigure"; version="2.1.2"; sha256="0cm5bd7k0fx6d3gybcll6vvh14byanyk6dj4civqij7psa48iagc"; depends=[assertive_base assertive_files assertive_numbers assertive_properties assertive_types ggplot2 gridGraphics gtable magick magrittr stringi]; };
   multipleNCC = derive2 { name="multipleNCC"; version="1.2-2"; sha256="0bnc14l5b3x68qnwf3ma8wrclmp6n7fxsc0sbd7cfaayhp8dzcb1"; depends=[mgcv survival]; };
   multiplestressR = derive2 { name="multiplestressR"; version="0.1.1"; sha256="167ch16bdlk4syjbgn1149q1np90w6299ph35p9npdh1zcynm95f"; depends=[ggplot2 patchwork viridis]; };
-  multiplex = derive2 { name="multiplex"; version="2.9.6"; sha256="0dy34ijdk83gjmmwjwkdzpr0wzrcg4xpw5s08jv59af1asyrr3n7"; depends=[]; };
+  multiplex = derive2 { name="multiplex"; version="2.9.7"; sha256="0l6ag5d1gr7jvvjs8wq234vylvhav13wd29crx7axckd5jgx2k0h"; depends=[]; };
   multipol = derive2 { name="multipol"; version="1.0-7"; sha256="1rkrg3kayxa05jayg8bk1mm3hcvi76570wqfja5953hd9j4krgha"; depends=[abind]; };
   multirich = derive2 { name="multirich"; version="2.1.3"; sha256="1vv4jhhq46wp6znfv9c47q9z4smn1c560wnbp77qfhiix098wzfj"; depends=[]; };
   multiridge = derive2 { name="multiridge"; version="1.9"; sha256="1z77gabrm8dpyp4fssh1rqw58y1fspp5ypv2xybwr7k3fbvyd1vg"; depends=[mgcv pROC risksetROC snowfall survival]; };
@@ -12869,7 +13007,7 @@ in with self; {
   multisom = derive2 { name="multisom"; version="1.3"; sha256="0msxmrj4iawxg4vf4r7kj26zalxz4di2w4nxgxiakiig4g4ggy9z"; depends=[class kohonen]; };
   multispatialCCM = derive2 { name="multispatialCCM"; version="1.0"; sha256="1fzd91w10iln8qb81z240lq3fi4gq22l4rh9npkav6fiq6g6rlp8"; depends=[]; };
   multitaper = derive2 { name="multitaper"; version="1.0-15"; sha256="1gm3wr8xqpqiby7q1dr3zxim77v0bvvrqi0hlazf5g3gnkrp2zc3"; depends=[]; };
-  multivar = derive2 { name="multivar"; version="0.0.2"; sha256="0ijv7zsznqsf8g6lgnaccfi76j04ycxd0zgjw5wbf03in5vxzlpc"; depends=[MASS Rcpp RcppArmadillo]; };
+  multivar = derive2 { name="multivar"; version="1.0.0"; sha256="0lw7jisq7933za4y8hvalgzhvfm1ai50mhls5fvrjyk87f45y7cn"; depends=[ggplot2 MASS Matrix Rcpp RcppArmadillo reshape2 vars]; };
   multivariance = derive2 { name="multivariance"; version="2.4.1"; sha256="1jbv1rhdy6jgvyhwz25hry3xmnxfsl8pwf0j4rj9r8rg6ik8rv1w"; depends=[igraph microbenchmark Rcpp]; };
   multivator = derive2 { name="multivator"; version="1.1-10"; sha256="1a469mhskkk2gx0j14f38fn0wdbfygl3psb0mnp7ckznhmh4w2lg"; depends=[emulator mathjaxr mvtnorm]; };
   multiverse = derive2 { name="multiverse"; version="0.5.0"; sha256="1mffmcbc5l4753dj7h9h82gf76xbigrbb5lbwjr5ycpcyzcpsldk"; depends=[berryFunctions collections dplyr evaluate formatR knitr magrittr purrr R6 rlang rstudioapi tibble tidyr tidyselect]; };
@@ -12922,7 +13060,7 @@ in with self; {
   mvnpermute = derive2 { name="mvnpermute"; version="1.0.0"; sha256="0mbyj5i5vysrnl3pgypl0cjf3sylsvzfl1pcxkn0q16560vqh2ba"; depends=[]; };
   mvord = derive2 { name="mvord"; version="1.1.1"; sha256="0flqdsjigv8c6ygiih17kp22yrbs2wqydadqi5ij145a6r8bpkml"; depends=[BB dfoptim MASS Matrix minqa mnormt numDeriv optimx pbivnorm ucminf]; };
   mvoutlier = derive2 { name="mvoutlier"; version="2.1.1"; sha256="1ll6zsy8svcsb3h60p0z2zpbgn919j9w0mamsdvvzi87dyy4hars"; depends=[robustbase sgeostat]; };
-  mvp = derive2 { name="mvp"; version="1.0-8"; sha256="0i2fd9s0dlpaa4vwkiq5is2d4vxc90hkdl0yk57gl651i8nxwnha"; depends=[magic magrittr mpoly partitions Rcpp]; };
+  mvp = derive2 { name="mvp"; version="1.0-12"; sha256="135v24hjg9zgnl6k27jvcgxflqhjrmdkp3p2nda3izfvlvxijr0h"; depends=[digest disordR magic magrittr mpoly partitions Rcpp]; };
   mvprpb = derive2 { name="mvprpb"; version="1.0.4"; sha256="1kcjynz9s7vrvcgjb9sbqv7g50yiymbpkpg6ci34wznd33f7nrxm"; depends=[]; };
   mvrsquared = derive2 { name="mvrsquared"; version="0.1.2"; sha256="1x9ck55b5fiakvbn2nr3h75ksawjaijm2bg1xqavncl3cvlfqahl"; depends=[Matrix Rcpp RcppArmadillo RcppThread]; };
   mvrtn = derive2 { name="mvrtn"; version="1.0"; sha256="0k0k76wk5zq0cjydncsrb60rdhmb58mlf7zhclhaqmli1cy697k8"; depends=[]; };
@@ -12954,16 +13092,19 @@ in with self; {
   naaccr = derive2 { name="naaccr"; version="1.0.0"; sha256="1hw74a2gjm3gxq0s0qlndhqw0vij6p31walz1ic741z7hqsffqq7"; depends=[data_table stringi]; };
   nabor = derive2 { name="nabor"; version="0.5.0"; sha256="1nj39cdfwrmhgsi3cq8imxv3n6xzc1v6dzdb2cf2hybjk368v4s7"; depends=[BH Rcpp RcppEigen]; };
   nadiv = derive2 { name="nadiv"; version="2.17.1"; sha256="1v1fbnps55pbaz0q88y8vrxjd503krymc7f8i0xx3yxgdxl56x8q"; depends=[Matrix]; };
-  naijR = derive2 { name="naijR"; version="0.3.4"; sha256="1rvaknidf3k3fwya14bknwcg2ldgvgr9vigh39j5vwrql7hqvv4j"; depends=[lifecycle magrittr mapdata maps RColorBrewer rgdal rlang]; };
+  naflex = derive2 { name="naflex"; version="0.1.0"; sha256="18fqfhm6p38z4h8dznac5v8yz53n86cw2x6ma29kvcbvdp4r3yd2"; depends=[]; };
+  naijR = derive2 { name="naijR"; version="0.4.0"; sha256="0bwq3990rsb2f97y7vyrqy5ll1h5yqs4c55dkg05hs9vfyk2b0iw"; depends=[lifecycle magrittr mapdata maps RColorBrewer rgdal rlang]; };
   naivebayes = derive2 { name="naivebayes"; version="0.9.7"; sha256="070m78d8hsbqfbapb6g8vvh91gyznqfdpqsaq6z3raps8zlybsag"; depends=[]; };
   naivereg = derive2 { name="naivereg"; version="1.0.5"; sha256="1cxfl419pp7xh1xrad29gvpn6hm0rhk40vylj97ypndh6gmnynzz"; depends=[glmnet gmm grpreg ncvreg]; };
   nakagami = derive2 { name="nakagami"; version="1.1.0"; sha256="0bxsg5k51x7qrw34l16da79ck212drkgvzgn9d5zanx5dwv5asl2"; depends=[assertthat]; };
   namedCapture = derive2 { name="namedCapture"; version="2020.4.1"; sha256="0zdw3h3n4qjv9cpidb3g523ld6rrh49l2c1yhfqhk5wb7vddrs46"; depends=[]; };
+  namedropR = derive2 { name="namedropR"; version="2.2.1"; sha256="1svwpv7q0jbjikx81j3g75i2gwil4q4rqxhyd5w7ylqc633yjgji"; depends=[bib2df dplyr here htmltools lubridate qrcode readr webshot]; };
   namer = derive2 { name="namer"; version="0.1.5"; sha256="1687x6rc46bp2bmqkixzry5cc7lxjqwjk8ngrbg2fk7mzb4pwvnq"; depends=[dplyr fs glue magrittr purrr rstudioapi tibble]; };
   namespace = derive2 { name="namespace"; version="0.9.1"; sha256="1bsx5q19l7m3q2qys87izvq06zgb22b7hqblx0spkvzgiiwlq236"; depends=[]; };
   nametagger = derive2 { name="nametagger"; version="0.1.1"; sha256="17g8y7x83p1pkgj5hgildndchxsp70va25h93p7r1yjllm56zqv8"; depends=[Rcpp]; };
   nandb = derive2 { name="nandb"; version="2.1.0"; sha256="1rbn4nibjzvwpccpmqn84w9a167f1avyl18kjlapy5dhafvixgbz"; depends=[assertthat autothresholdr BBmisc checkmate detrendr dplyr filesstrings ggplot2 glue ijtiff magrittr purrr Rcpp reshape2 rlang stringr viridis withr]; };
   naniar = derive2 { name="naniar"; version="0.6.1"; sha256="0l3l2x85v3srilww483kpgp4zlwixyml257b0cqly8kcpwawlinm"; depends=[dplyr forcats ggplot2 glue magrittr norm purrr rlang tibble tidyr UpSetR viridis visdat]; };
+  nanonext = derive2 { name="nanonext"; version="0.1.0"; sha256="0bilvm2sw5hmp39pgjj7sd8k90knmad5b9mlml3jgqx27cvsgmab"; depends=[]; };
   nanop = derive2 { name="nanop"; version="2.0-6"; sha256="007gdc93pk0vpfmsw7zgfma2k1045n2cxwwsyy276smy0ys9fdhp"; depends=[distrEx rgl]; };
   nanostringr = derive2 { name="nanostringr"; version="0.2.0"; sha256="13rcc33zfqlx8m5bmr5hh87gp0g5wlg2cwlj1683kw9adj2y3fdf"; depends=[assertthat ccaPP dplyr epiR magrittr purrr rlang]; };
   nanotime = derive2 { name="nanotime"; version="0.3.5"; sha256="1813740pjm4h27xhyipw58f4049qb49840axhnjcxfjjhkjsmpj4"; depends=[bit64 Rcpp RcppCCTZ RcppDate zoo]; };
@@ -12971,7 +13112,7 @@ in with self; {
   nardl = derive2 { name="nardl"; version="0.1.6"; sha256="1vf8im4zs4j0v3k617aaskq9n2fg8sn3j5bllcbz2ircrpijr21m"; depends=[car Formula gtools MASS strucchange tseries]; };
   narray = derive2 { name="narray"; version="0.4.1.1"; sha256="1xyyn6v3khk5x759fr9h96z036hbb87fzfqgdpw907bc95gjnkz9"; depends=[progress stringr]; };
   nasadata = derive2 { name="nasadata"; version="0.9.0"; sha256="0y88qdy8c1y0prsajxic5vdqfixv9knjsbhw3vbfac8wv3a69bjl"; depends=[dplyr jsonlite plyr png]; };
-  nasapower = derive2 { name="nasapower"; version="4.0.3"; sha256="043p85n7vkmr82a27v5ind79z4kibrzl5qdjq42liisa2cmvh9mr"; depends=[crul jsonlite lubridate readr tibble]; };
+  nasapower = derive2 { name="nasapower"; version="4.0.4"; sha256="16cigpzfsw3w7hnq561w6243lhcpk1z4cr9plf7i9yyz09l8l4p5"; depends=[crul jsonlite lubridate readr tibble]; };
   nasaweather = derive2 { name="nasaweather"; version="0.1"; sha256="05pqrsf2vmkzc7l4jvvqbi8wf9f46854y73q2gilag62s85vm9xb"; depends=[]; };
   naspaclust = derive2 { name="naspaclust"; version="0.2.1"; sha256="1p4ilv2z5140h4kdix2w1v32vz1n8v33wq0fhc8n8mi7baknhd1i"; depends=[beepr rdist Rdpack stabledist]; };
   nat = derive2 { name="nat"; version="1.8.18"; sha256="0sbyd16109nbi20fk4fwjz0p9hva8pbn370a60wjwjgn9jd90b90"; depends=[digest filehash igraph nabor nat_utils plyr rgl yaml]; };
@@ -12985,11 +13126,13 @@ in with self; {
   naturaList = derive2 { name="naturaList"; version="0.4.2"; sha256="03a5gbp5hv93p6y9ribagzs5q94c5v54j20zmg306irnp8n58iqy"; depends=[dplyr fasterize htmltools leaflet leaflet_extras magrittr raster rlang sf shiny shinydashboard shinyWidgets sp stringr tidytext vegan]; };
   natural = derive2 { name="natural"; version="0.9.0"; sha256="0zxwbf3gg2h0bhl2w0md3rd162vlsgg0dv3187hc0ax7333cc4cx"; depends=[glmnet Matrix]; };
   naturalsort = derive2 { name="naturalsort"; version="0.1.3"; sha256="0mz801y9mzld9ypp3xmsjw2d8l9q97sdnv09wrci9xi3yg2sjf6d"; depends=[]; };
+  navigatr = derive2 { name="navigatr"; version="0.1.0"; sha256="1q421jflgjxasyzaa7dxpars8jzlprqsrzn9c6yfsh7bzngb95vz"; depends=[cli dplyr pillar purrr rlang tibble tidyselect vctrs]; };
   nawtilus = derive2 { name="nawtilus"; version="0.1.4"; sha256="1agqx9wiiypkpjrwahwlw5qkvqgkh01swyzc75csf9698x0779pm"; depends=[MASS]; };
   nbTransmission = derive2 { name="nbTransmission"; version="1.1.2"; sha256="0vaj2zfyvm2vm1ly1419ysxxrqkv73802n96ifajknh1pair31zk"; depends=[caret dplyr lubridate poisbinom rlang tidyr]; };
   nbapalettes = derive2 { name="nbapalettes"; version="0.1.0"; sha256="1wrh2qcm90fcybhcc8wvs2s4a4z8y3mrhc28dvrkwynqwzsbalzs"; depends=[dplyr]; };
   nbconvertR = derive2 { name="nbconvertR"; version="1.3.2"; sha256="0yhmz177r1miain65vspclahhz8cg7638ldbpsw8ylgf7a60l0sg"; depends=[]; };
-  nberwp = derive2 { name="nberwp"; version="1.0.0"; sha256="0f45bprdrly8zgpwrljmfch76gbai1lvknkiyqlfndilpcginfkw"; depends=[]; };
+  nberwp = derive2 { name="nberwp"; version="1.1.0"; sha256="0wy3n8p16l7x2hf35k3r7apxm72k38nmc407vh883jg5fci41ljn"; depends=[]; };
+  nbody = derive2 { name="nbody"; version="1.30"; sha256="1wmaxh5k0c1zwvjwabm9qs8vn94vvsx4h14as6sspblcgpva96v6"; depends=[magicaxis Rcpp]; };
   nbpMatching = derive2 { name="nbpMatching"; version="1.5.1"; sha256="0f90k9vq05gkc0sgywb98frig63df0ih4z41dq7m2inx1zk5rqns"; depends=[Hmisc MASS]; };
   nc = derive2 { name="nc"; version="2020.8.6"; sha256="19qsa5k38ajsbigccpch05m156n5wnd7c54j09fanjrpzy2048w2"; depends=[data_table]; };
   ncappc = derive2 { name="ncappc"; version="0.3.0"; sha256="0bf00iskrd3x43839bwn957mi3qvm2dhcmqa7hl1ib0gp2r1cnzx"; depends=[bookdown Cairo dplyr ggplot2 gridExtra gtable knitr lazyeval magrittr PopED purrr readr reshape2 rlang rmarkdown scales tibble tidyr xtable]; };
@@ -13011,13 +13154,14 @@ in with self; {
   neariso = derive2 { name="neariso"; version="1.0.1"; sha256="1b2gnws75kkqsi8mg9n0zzdaawx57a6zz47cswabj5m6nb09ikh8"; depends=[]; };
   neat = derive2 { name="neat"; version="1.2.3"; sha256="0mdv47l50wzxnjfk1sway7gzpkyf57svqip16fqn0hrc1fsrifbn"; depends=[igraph]; };
   neatRanges = derive2 { name="neatRanges"; version="0.1.3"; sha256="1zfp6f1q7m0bks0shvzr120nd5jxba28xhi7vrd55qfy7g72167g"; depends=[data_table Rcpp]; };
-  neatStats = derive2 { name="neatStats"; version="1.8.1"; sha256="0kxhl4h3xq6qg4fpxxji3j3p0yg5g271c3p9zbngkp7q8fiqz5vd"; depends=[BayesFactor bayestestR car Exact ez ggplot2 ggpubr logspline MBESS plyr PoweR pROC viridis]; };
   neatmaps = derive2 { name="neatmaps"; version="2.1.0"; sha256="1kz1na3fzpd8vkxmpp5rz8ksyf8q2wk456csiii82winv9a2zxc9"; depends=[ConsensusClusterPlus dplyr ggplot2 heatmaply igraph]; };
+  nebula = derive2 { name="nebula"; version="1.2.0"; sha256="1a4jsqxprp4pn7f5nxgha3jvjkcp7rdjlpcjwfc3f89530jhmnyv"; depends=[MASS Matrix nloptr Rcpp RcppEigen Rfast trust]; };
   needmining = derive2 { name="needmining"; version="0.1.1"; sha256="0qsj0ihjchrnl4s44rpsizbcz033z00dmzvic2y1msv0bnfawl6p"; depends=[randomForest rtweet SnowballC SparseM stringr tau tm]; };
   needs = derive2 { name="needs"; version="0.0.3"; sha256="16dkjpijz3rz7kd5ggxsdg55iwd42nll1vk6g5ix4xdbqrx6cp9x"; depends=[]; };
   needy = derive2 { name="needy"; version="0.2"; sha256="1ixgpnwrg6ph1n5vy91qhl1mqirli9586nzkmfvzjrhdvrm0j5l0"; depends=[]; };
   negenes = derive2 { name="negenes"; version="1.0-12"; sha256="0b82822vl86gni0pv5f6pjfzmks35i7q2rqkhgyb9z9c677g991q"; depends=[]; };
   neighbr = derive2 { name="neighbr"; version="1.0.3"; sha256="1rmglfjmx6bfd4w1cpx4rvp7hy2vqvcamy854h5dq0l3kwk4pjcm"; depends=[]; };
+  neldermead = derive2 { name="neldermead"; version="1.0-12"; sha256="0ws2knrq3b3icv6fzimypzwvzvqf0sayi2ndhacn6lk4snms5pm3"; depends=[optimbase optimsimplex]; };
   neo2R = derive2 { name="neo2R"; version="2.1.0"; sha256="1fhi74d4730pxrmv1p2gz8ylvnilxn4l837nha6ndyhy00xfgkk6"; depends=[base64enc jsonlite RCurl]; };
   neo4jshell = derive2 { name="neo4jshell"; version="0.1.1"; sha256="03qnv5xf7dvlzq259brfwk7vfr05q7labakv9mj27x70yhxq1z7m"; depends=[fs magrittr R_utils ssh sys]; };
   neo4r = derive2 { name="neo4r"; version="0.1.1"; sha256="0s4rjhn2mc8ca4p8p474a83dc277vrf7l968xwxkiac0d4fgbra7"; depends=[attempt data_table glue httr igraph jsonlite magrittr purrr R6 rlang rstudioapi shiny tibble tidyr tidyselect]; };
@@ -13025,16 +13169,17 @@ in with self; {
   neonstore = derive2 { name="neonstore"; version="0.4.4"; sha256="0fhjm6513kd4y3lry8dwcwk13ns92yk5h3san7ww2ahhdhy4hx9c"; depends=[DBI duckdb httr progress R_utils thor vroom zip]; };
   neotoma = derive2 { name="neotoma"; version="1.7.4"; sha256="1fknzp7qg5l5lkfvqfld0x67zj3xmi8vivsg70m47mbpcs92hmcf"; depends=[analogue dplyr httr jsonlite leaflet plyr reshape2 xml2]; };
   nephro = derive2 { name="nephro"; version="1.2"; sha256="1izmzx8lah322xzb42asfnrvr2c9yqd0zf7fmrhwd3p4rr1rqa7d"; depends=[]; };
-  neptune = derive2 { name="neptune"; version="0.1.2"; sha256="1yk5w7520flprs7wvsdfmsdyg85snpcm7q9gjh3cx2fhaj5xvcl3"; depends=[reticulate]; };
+  neptune = derive2 { name="neptune"; version="0.2.1"; sha256="1lnrhld77rq3s01fx4168a9ixmyxinpc32m0yyvzz5wk7bkx928s"; depends=[ggplot2 htmlwidgets plotly reticulate rstudioapi this_path]; };
   nesRdata = derive2 { name="nesRdata"; version="0.3.1"; sha256="1lxvg11g8nizfn8sghirq2749fs9i4w1wiaz3v1djqbkzqcqfrcj"; depends=[dataone dplyr purrr rappdirs readr]; };
   nestfs = derive2 { name="nestfs"; version="1.0"; sha256="0lzbjj287s5kmw9635gfyl3jdgfh5mxbwxqxmnwynbwccixk0akc"; depends=[dgof pROC]; };
-  nestr = derive2 { name="nestr"; version="0.1.1"; sha256="1azk3rjr9kkdqw1z5v49gmwd7i31jdmx332jpdnys6vwqci52zk0"; depends=[magrittr rlang tidyselect vctrs]; };
+  nestr = derive2 { name="nestr"; version="0.1.2"; sha256="0qgd1sl6x5y70r3l4vf0qqynlrkdyq7mmpb8mwjn7f1hjnym1gaj"; depends=[magrittr rlang tidyselect vctrs]; };
   net4pg = derive2 { name="net4pg"; version="0.1.0"; sha256="0aqagzrycgm6qnappbgi6pin10gnf9h3gj39wnncdsb2nf417ynr"; depends=[data_table graph magrittr Matrix]; };
   netClust = derive2 { name="netClust"; version="1.0.1"; sha256="1h58ispdx8ddsnqrrmcxn2rbqb0hb89gpjg4p14mr7vhxw5c9zva"; depends=[Rcpp RcppArmadillo]; };
   netCoin = derive2 { name="netCoin"; version="2.0.20"; sha256="1kmv8sfzyh7cgp4s86rw4znjqpckgw8xiqs6a144g7k2vlfm28fk"; depends=[haven igraph Matrix rD3plot]; };
   netSEM = derive2 { name="netSEM"; version="0.5.1"; sha256="0k4ngl4p1v2rp1sf2x65m7p0cd6ha98fyx21b73ki0531q0d9fil"; depends=[DiagrammeR DiagrammeRsvg gtools htmlwidgets knitr magrittr MASS png rsvg segmented svglite]; };
   netassoc = derive2 { name="netassoc"; version="0.6.3"; sha256="1hyshnbpq60a3y13b4sh1c2rk78x09q01b7q6xrgv10w7bn9r2sg"; depends=[corpcor huge igraph infotheo vegan]; };
   netchain = derive2 { name="netchain"; version="0.2.0"; sha256="1skpf1n6a17mjkcxqpl6vrskk04yvqa0v4n2zw9x5r1h46q9m6qk"; depends=[gtools igraph Matrix Rcpp stringr]; };
+  netcmc = derive2 { name="netcmc"; version="1.0"; sha256="1ny12qr1vbqqqiksgna7d135036ixrrgp2dc270bkqzf6ags2is1"; depends=[coda ggplot2 MASS MCMCpack mvtnorm Rcpp RcppArmadillo RcppProgress]; };
   netcom = derive2 { name="netcom"; version="2.1.5"; sha256="1lg2b3lhnhiqqb06b31vbsbfbk9hifbl5dvp45flf83vn3g21ci0"; depends=[clue doParallel dplyr expm foreach GenSA ggfortify ggplot2 ggraph igraph magrittr Matrix optimx pdist pracma reshape2 rlang tibble vegan]; };
   netcontrol = derive2 { name="netcontrol"; version="0.1"; sha256="1gskb728ycnhz9a9g9ghm0dz3ajf3dzgyv23bsk9i01wj9hrxhc0"; depends=[expm MASS Matrix pracma Rcpp RcppArmadillo Rdpack]; };
   netdiffuseR = derive2 { name="netdiffuseR"; version="1.22.3"; sha256="1vb3ql37fh5104ks65i03mz7ka1xk1rb8xnm2wxd654khkwjcp0m"; depends=[boot igraph MASS MatchIt Matrix network networkDynamic Rcpp RcppArmadillo sna SparseM viridisLite]; };
@@ -13043,11 +13188,13 @@ in with self; {
   netgwas = derive2 { name="netgwas"; version="1.13"; sha256="156axkl61z0s3zm8plkcc3s46x0881mqnk94azl3p0nphblhmhcv"; depends=[glasso huge igraph MASS Matrix qtl RBGL tmvtnorm]; };
   netie = derive2 { name="netie"; version="1.0"; sha256="0ja59rfg576z8rbv073aaab32qazlrqhvyvxpssibwsvbfcrhklm"; depends=[]; };
   netjack = derive2 { name="netjack"; version="1.2.0"; sha256="060ygb0kxi0gx1ya38cmf5hhyy6jkwq5519azdqhq5i324cwzzm7"; depends=[brainGraph ggplot2 igraph Rdpack]; };
-  netmeta = derive2 { name="netmeta"; version="2.0-1"; sha256="0yssxp42l2krrkb7cna7rgk80mzhl8lcmkn1r3i5ymckgnj8y9pz"; depends=[ggplot2 magic MASS meta metafor]; };
+  netmap = derive2 { name="netmap"; version="0.1.0"; sha256="07rrfvqmlp8srxam70ajwdwdm5bk49zhngsl1yzh8an303la6rfc"; depends=[ggnetwork igraph network rlang sf sna]; };
+  netmeta = derive2 { name="netmeta"; version="2.1-0"; sha256="0m0jv0cmg6dkyssw4qk19fqqdqqdsrdq9q0sj8fdi9rr41kmvakx"; depends=[ggplot2 magic MASS meta metafor]; };
   netmhc2pan = derive2 { name="netmhc2pan"; version="1.3.1"; sha256="0q98rar7iglwxmf1274wrjcr7kp544ayrjhd286x68jmf51cqyrg"; depends=[assertive devtools dplyr rappdirs readr seqinr stringr testit tibble]; };
   netplot = derive2 { name="netplot"; version="0.1-1"; sha256="11s6gcxcwbnd5x3sb4ryi4ks1bsbf7ylgc0yrygv58ipisxb2780"; depends=[igraph network sna]; };
   netrankr = derive2 { name="netrankr"; version="1.1.1"; sha256="146678dj5kg9bs12y9i2azxq5c4lfp9917fvhpp19sdqw2p31dp8"; depends=[igraph Matrix Rcpp RcppArmadillo]; };
   netregR = derive2 { name="netregR"; version="1.0.1"; sha256="0n5absjra0imddz1spy1piij5rdz76wi4g568yby3rbhkm1896rs"; depends=[Matrix]; };
+  netropy = derive2 { name="netropy"; version="0.1.0"; sha256="1c7gmv4lm2i2bmvhan5v0w3s3qvaxq0l7f4q76jhcc9mlz0plbh1"; depends=[ggplot2 ggraph igraph]; };
   nets = derive2 { name="nets"; version="0.9.1"; sha256="00adkyd2hm8aynpnk4avzss8fxkbaai74n5cf03vpwyc306jq0d7"; depends=[igraph]; };
   netseg = derive2 { name="netseg"; version="1.0-0"; sha256="0y7pc4dz78l6fi6z810bkzl7550vh4167axbnib55czgf7minhv6"; depends=[igraph]; };
   netstat = derive2 { name="netstat"; version="0.1.1"; sha256="1h87cl3ry5hwwqxza3n24zpvwn89hhclsa2400sw4ijdy2ivpn2j"; depends=[]; };
@@ -13086,11 +13233,13 @@ in with self; {
   nfer = derive2 { name="nfer"; version="1.0.1"; sha256="1dbvadpfgwanfdc9kvm620r5nj7l9kvbbhfcg80z5jbdn38jgh3r"; depends=[]; };
   nfl4th = derive2 { name="nfl4th"; version="1.0.1"; sha256="11hk9446ckhg46dzkbvd12n6k02m6qx265spwqdm23xpncamjlkk"; depends=[dplyr glue httr janitor jsonlite magrittr mgcv nflfastR nflreadr purrr stringr tibble tidyr tidyselect xgboost]; };
   nflfastR = derive2 { name="nflfastR"; version="4.3.0"; sha256="1vg27m51q01m6rypaksr5dw7qg3i638dypm31v5gimbdkjmgs2j7"; depends=[cli curl dplyr fastrmodels furrr future glue janitor lifecycle mgcv nflreadr progressr rlang stringr tibble tidyr tidyselect xgboost]; };
-  nflreadr = derive2 { name="nflreadr"; version="1.1.2"; sha256="0m793qyi0p3ja2kryg6l41mqr943lqc6pb878chff9arbd1b66kx"; depends=[cachem cli curl data_table glue memoise qs rappdirs Rcpp RcppParallel rlang]; };
+  nflplotR = derive2 { name="nflplotR"; version="1.0.0"; sha256="0jcj3jv7qsjn7nxs9rycqc039rcx69nznfv2adg4xv4ybw0s1q6s"; depends=[cli ggplot2 magick magrittr nflreadr rlang scales]; };
+  nflreadr = derive2 { name="nflreadr"; version="1.1.3"; sha256="1wif90lngvpzj36s7r1frchi50qksbsjscy156n740x2f3by9zjx"; depends=[cachem cli curl data_table glue memoise qs rappdirs Rcpp RcppParallel rlang]; };
   nflseedR = derive2 { name="nflseedR"; version="1.0.2"; sha256="061jd3mr06mxs5riwlph3a1hsk5jypws71jy9jzhhqnijdy96bki"; depends=[cli crayon curl dplyr furrr future glue gsubfn magrittr progressr purrr readr rlang tibble tidyr]; };
-  nftbart = derive2 { name="nftbart"; version="1.1"; sha256="1fsch7dh7d17y8x1jxwf1d36badhkljrldpysv3izncwqvkj2a3c"; depends=[nnet Rcpp survival]; };
+  nflverse = derive2 { name="nflverse"; version="1.0.0"; sha256="0z2q49bm9fi3nwip7iyrgkyw8ppm3fhn1kxm1rryzn615050gj0q"; depends=[cli crayon magrittr nfl4th nflfastR nflplotR nflreadr nflseedR rlang rstudioapi]; };
+  nftbart = derive2 { name="nftbart"; version="1.2"; sha256="18yca2qg6d2960yvnplf70a7kd61qhmp42rd3alhg901a8py6qk5"; depends=[nnet Rcpp survival]; };
   ngram = derive2 { name="ngram"; version="3.2.0"; sha256="1g57md4s73qpxzqxr8sgzvbkx3y4zmw4hfq6zsysnw4h2dbqxm1l"; depends=[]; };
-  ngramr = derive2 { name="ngramr"; version="1.7.4"; sha256="11v7vl55bfh9fqdkggpxykglyjqdcnl53if0vki8al67qfwsh9i7"; depends=[cli dplyr ggplot2 httr lifecycle RCurl rjson rlang scales stringr textutils tibble tidyr xml2]; };
+  ngramr = derive2 { name="ngramr"; version="1.7.5"; sha256="1zs6ninvhz6lavxnp59105wy0n0j839ps6yaaz21s42xk11lfp1k"; depends=[cli dplyr ggplot2 httr lifecycle RCurl rjson rlang scales stringr textutils tibble tidyr xml2]; };
   ngramrr = derive2 { name="ngramrr"; version="0.2.0"; sha256="1p8s4p3h27g647rxx9qjfad5dzbngjbmvhw4gz0jbsmfqrsf72by"; depends=[tau tm]; };
   ngspatial = derive2 { name="ngspatial"; version="1.2-2"; sha256="09hdvmbna4m62zv18k5kj9718wzw7p43wnal2j6aa0m5sd2rx9rz"; depends=[batchmeans Rcpp RcppArmadillo]; };
   nhanesA = derive2 { name="nhanesA"; version="0.6.5.3"; sha256="00sfbzh7r2lvc19prjm3zfgs62j6frh5rw6jvb25z8wzrhw52z3f"; depends=[Hmisc magrittr plyr rvest stringr xml2]; };
@@ -13103,6 +13252,7 @@ in with self; {
   nhsnumber = derive2 { name="nhsnumber"; version="0.1.2"; sha256="10vm3591gjr13ggnagjkh0v2915yl05mwyphpckimmrrbc3zsdip"; depends=[]; };
   nhstplot = derive2 { name="nhstplot"; version="1.1.0"; sha256="1yk7q731a4y9mhngdsb8xdw2id6m1q78329ja19hdpi6nnd7nhgn"; depends=[ggplot2]; };
   niaidMI = derive2 { name="niaidMI"; version="1.0.0"; sha256="0n7hhvcbnhzfvj3whvqd66bh4sbl70278qms9q8bzss6d0w2wp1k"; depends=[Rcpp]; };
+  nic = derive2 { name="nic"; version="0.0.1"; sha256="0nr84a0vvl682ahp9xq50y6mk5dsircgz4l2rqp0jgv2h7fkd0n2"; depends=[]; };
   nice = derive2 { name="nice"; version="0.4-1"; sha256="1p8vmimiq9sbjvbx6c2wqwwkpnzw4kkdvjry6qyadmm3frwhj5qb"; depends=[]; };
   nicheROVER = derive2 { name="nicheROVER"; version="1.1.0"; sha256="0chg2bnz929mq17qylf3f57g6bg4ih6w20019yh7vkz7mwjnvi3p"; depends=[]; };
   nichevol = derive2 { name="nichevol"; version="0.1.19"; sha256="0qj5cb0fyw0x1bczl6l0kl6jqir4yg8sb9fsfkd3h64d0ls2arl5"; depends=[ape castor concaveman geiger raster rgdal rgeos sf sp stringr]; };
@@ -13121,6 +13271,7 @@ in with self; {
   nitrcbot = derive2 { name="nitrcbot"; version="1.2"; sha256="0lainbw9j5aj9s824afpxdjl3q2f728jfpdfji7kpi9hdg8jixhx"; depends=[dplyr httr jsonlite RCurl]; };
   nivm = derive2 { name="nivm"; version="0.3"; sha256="111jkgirgsl1j36xgwi81wzwxial3vdw8mqzi1faldxxd9a2cixm"; depends=[bpcp ssanv]; };
   nixmass = derive2 { name="nixmass"; version="1.0.2"; sha256="0g8hm0mnbwahbnk44rfciiggxn5bscfni5gqc6y3za496cf9wlk1"; depends=[lubridate zoo]; };
+  njgeo = derive2 { name="njgeo"; version="0.1.0"; sha256="1cc6gm0l5z31hqif2d8wd503pb48xsmyr28pbildkxgy9z022af5"; depends=[curl dplyr httr jsonlite sf]; };
   njtr1 = derive2 { name="njtr1"; version="0.3.1"; sha256="125c5qp2d4q2h4darhx2acqk898kh5775rxjyfjidl0nxhvcvn4q"; depends=[curl dplyr httr lubridate readr stringr tidyselect]; };
   nlMS = derive2 { name="nlMS"; version="1.1"; sha256="01ijg1bp3r0dg8ph7qpsx3hqzrrvfhbykml20hqchxk7c5n2w9wz"; depends=[nlme]; };
   nlWaldTest = derive2 { name="nlWaldTest"; version="1.1.3"; sha256="1cppdz8qvigjdz4sgr1gm2j09zi407xxmryc28zc7ps7rvgy344h"; depends=[]; };
@@ -13129,7 +13280,7 @@ in with self; {
   nleqslv = derive2 { name="nleqslv"; version="3.3.2"; sha256="1v9znvncyigw9r25wx2ma0b7ib179b488dl0qsrhp5zrcz7mcjgm"; depends=[]; };
   nlirms = derive2 { name="nlirms"; version="3.4.4"; sha256="1njyfip377a0f6hf9y32s077b4jv4h8ydbjgnl68yfypxbfn2xyx"; depends=[gridExtra gtable]; };
   nlist = derive2 { name="nlist"; version="0.3.3"; sha256="1wq7bp834c7cl37wbrgd9ars3mm0s5c3l3fxlrry728a27c27f9h"; depends=[abind chk coda extras generics lifecycle purrr term tibble universals]; };
-  nlme = derive2 { name="nlme"; version="3.1-153"; sha256="1qw0sq64iybyidj0s8m76z4i1gxb1fn27s29i63fw5hvvy7aj9rx"; depends=[lattice]; };
+  nlme = derive2 { name="nlme"; version="3.1-155"; sha256="0kzzpl63l298yy18x62ypgbhdw61fgm30lc4nlhjjhjj5220yfcz"; depends=[lattice]; };
   nlmeODE = derive2 { name="nlmeODE"; version="1.1"; sha256="1zp1p98mzbfxidl87yrj2i9m21zlfp622dfnmyg8f2pyijhhn0y2"; depends=[deSolve lattice nlme]; };
   nlmeU = derive2 { name="nlmeU"; version="0.70-3"; sha256="05kxymgybziiijpb17bhcd9aq4awmp5km67l2py9ypakivi0hc6l"; depends=[nlme]; };
   nlmeVPC = derive2 { name="nlmeVPC"; version="2.2"; sha256="0dkj0l0rkml6nydg3k04dzcp17sn59p3hnaqmnqa0arbzv0rsq8i"; depends=[dplyr ggplot2 Hmisc magrittr optimx plyr quantreg Rcpp RcppArmadillo tidyr timeDate]; };
@@ -13137,7 +13288,7 @@ in with self; {
   nlmm = derive2 { name="nlmm"; version="1.0.1"; sha256="0q5vz4xqdb510i26zbcq4djcribn7h477akh8f56nzjgq231vhcq"; depends=[BH HI lqmm MASS Matrix mvtnorm nlme numDeriv Qtools Rcpp RcppArmadillo statmod]; };
   nlmrt = derive2 { name="nlmrt"; version="2016.3.2"; sha256="1g0qq0a933ay65gkp04qgn2wqk6vw79pj2a228c2ski4rcmkjxyn"; depends=[]; };
   nlnet = derive2 { name="nlnet"; version="1.4"; sha256="13lv4b6chsjrhimny3wc1y9ljgbxmm1byj4j04n4vj8icn87gyfd"; depends=[coin e1071 earth fdrtool igraph randomForest ROCR TSP]; };
-  nloptr = derive2 { name="nloptr"; version="1.2.2.3"; sha256="1zznk9f2w2g02zqzay21k8xqzfvc6icxfzp6bx2wpd77sm7vf25g"; depends=[]; };
+  nloptr = derive2 { name="nloptr"; version="2.0.0"; sha256="16k124ll14p3ygny6i1zd7yza83bv2sk87x922n1bfn9rx4k3jk5"; depends=[testthat]; };
   nlpred = derive2 { name="nlpred"; version="1.0.1"; sha256="05jna8hzd5v36a0dwag6zr8ms1pkryas3qarwb946bkxlslffp27"; depends=[assertthat bde cvAUC data_table np Rdpack ROCR SuperLearner]; };
   nlraa = derive2 { name="nlraa"; version="0.98"; sha256="1vihk6k8582iwwn2gzpbs1amg8wbvpiar4diljvjx75172lc1s0h"; depends=[boot knitr MASS Matrix mgcv nlme]; };
   nlreg = derive2 { name="nlreg"; version="1.2-2.2"; sha256="0gkcxg5m287axhvkl00xy26vidawhhb1ii1s13rh49v0yccwvvqh"; depends=[statmod survival]; };
@@ -13149,6 +13300,7 @@ in with self; {
   nlsem = derive2 { name="nlsem"; version="0.8"; sha256="0q3wk7x67mh2447ah807djyklia2x2d45krsskffynazm83msnj9"; depends=[gaussquad lavaan mvtnorm nlme orthopolynom]; };
   nlshelper = derive2 { name="nlshelper"; version="0.2"; sha256="02xnx0j8p1im1hdwnia3n51dicscjf8s33y475i3dczvhmivvbmf"; depends=[broom dplyr magicaxis mgcv nlme]; };
   nlshrink = derive2 { name="nlshrink"; version="1.0.1"; sha256="0adnr7g3n3brwlvyix8wa7h59gj036l5anv8abqy80ysmfcmsp0y"; depends=[MASS nloptr]; };
+  nlsic = derive2 { name="nlsic"; version="1.0.1"; sha256="1gy9z6zmf3c39s7wbdd5a1hrlnq0njj96wc2pxmnp5ihjawinq78"; depends=[nnls]; };
   nlsmsn = derive2 { name="nlsmsn"; version="0.0-6"; sha256="1wrqfmsb3l4bsdncyjl7hh3vwj9s6l43p7klww6f4k21asvh4p5s"; depends=[]; };
   nlsr = derive2 { name="nlsr"; version="2021.8.19"; sha256="021brwb73gg2c3ingrdk81dm4mx0g2s2k8nk2qcz3zqmd0gzadn6"; depends=[digest]; };
   nlsrk = derive2 { name="nlsrk"; version="1.1"; sha256="0yqcsz5pdhqsrd86g0yx8bdac13fbmvg89phj3v4qvla2jfznjba"; depends=[]; };
@@ -13169,10 +13321,10 @@ in with self; {
   nnGarrote = derive2 { name="nnGarrote"; version="1.0.4"; sha256="0km7vx9qkfijj2af5ma4q88mhgkrw361hpv3n8dyzpr8654hrw4v"; depends=[glmnet]; };
   nnTensor = derive2 { name="nnTensor"; version="1.1.5"; sha256="0sxmx34xb0fk5fcynry1vrfk7jr2w6kyjyghlqg8j94rn4hamjsb"; depends=[fields ggplot2 plot3D rTensor tagcloud]; };
   nna = derive2 { name="nna"; version="0.0.2.1"; sha256="17cz1jf7iv61wspqldfdwbdjhlr0wq09idkzlivfb8aik5w9f0z5"; depends=[]; };
-  nnet = derive2 { name="nnet"; version="7.3-16"; sha256="0smmyx4vhlz99vy4w238y913gq74845v0l1p0g1kgydsp9lijlcr"; depends=[]; };
+  nnet = derive2 { name="nnet"; version="7.3-17"; sha256="0rws3rkd7dz1maz2mkld29jfrixjgacay8rqz7nmi82a2sw0nxgf"; depends=[]; };
   nnetpredint = derive2 { name="nnetpredint"; version="1.2"; sha256="1c6s9wm6vhylwv4xhp2hkllw18zj8hdr17ls9vlxm9qs3wx1v48w"; depends=[RSNNS]; };
   nnfor = derive2 { name="nnfor"; version="0.9.6"; sha256="0bciy6k79g7abvj3pmmdc4wzg5mp11zgmdbx17x4by993p2clhw9"; depends=[forecast glmnet MASS neuralnet plotrix tsutils uroot]; };
-  nngeo = derive2 { name="nngeo"; version="0.4.4"; sha256="0k189ih47n20g70y6sxff8dyjlyv09pc03ynwhm1d7pr3l8hxin4"; depends=[data_table lwgeom nabor s2 sf units]; };
+  nngeo = derive2 { name="nngeo"; version="0.4.5"; sha256="1davvn7ggbs41d172hq9mq0scndcp16ygan6g8qm15ywp4rs8c17"; depends=[data_table lwgeom nabor s2 sf units]; };
   nnlasso = derive2 { name="nnlasso"; version="0.3"; sha256="1n7karlmgq61z9ywfx9xb5wvmxx40ydpnzzazj1xr70qlv5m0qk4"; depends=[]; };
   nnlib2Rcpp = derive2 { name="nnlib2Rcpp"; version="0.1.8"; sha256="0bwf96q4hb54my57bb540a8brpiqmrk0f6mms2bv9ci1624x0k80"; depends=[Rcpp]; };
   nnls = derive2 { name="nnls"; version="1.4"; sha256="07vcrrxvswrvfiha6f3ikn640yg0m2b4yd9lkmim1g0jmsmpfp8f"; depends=[]; };
@@ -13182,13 +13334,13 @@ in with self; {
   noaaoceans = derive2 { name="noaaoceans"; version="0.3.0"; sha256="0pxsddzkrprzjch173shhmd7c2h6rh5xzs3n5bbs97l51ni8m60m"; depends=[httr jsonlite rvest xml2]; };
   noaastormevents = derive2 { name="noaastormevents"; version="0.2.0"; sha256="1d93h8av0bbv7a56g6m000qpsnzqpfdla0fmcj5y8fbbqkipxnfr"; depends=[choroplethr choroplethrMaps data_table dplyr forcats ggplot2 hurricaneexposure lubridate magrittr maps plyr RColorBrewer RCurl rlang stringr tibble tidyr viridis XML]; };
   noah = derive2 { name="noah"; version="0.1.0"; sha256="1ln23lp4c70fin9sjjhm4ngy47f8sk2mcljp5q449b7hq8gqi12c"; depends=[assertthat crayon digest dplyr hash magrittr purrr R6 rlang stringr]; };
-  noctua = derive2 { name="noctua"; version="2.4.0"; sha256="1dzpa7ksf3mj97mhsxzigppcsjwxzr9x8rc0b13hcsjgawxlq5f1"; depends=[data_table DBI paws uuid]; };
+  noctua = derive2 { name="noctua"; version="2.5.1"; sha256="1bl80z2pffzf8dsy2xwjhyb9nb5v1zglcvap2xm6amnm2i0c3cdj"; depends=[data_table DBI paws uuid]; };
   nodbi = derive2 { name="nodbi"; version="0.7.0"; sha256="0g5b3cbdf15f76dql2p7mh00xs3nrnfq5hg3pyk071fa55wf2532"; depends=[DBI elastic jqr jsonify jsonlite mongolite RPostgres RSQLite sofa stringi uuid]; };
   node2vec = derive2 { name="node2vec"; version="0.1.0"; sha256="03gfpn4xgmdwlrpwi9pdpnh6k75mwp85j6vywkj0jsxhz3rbg95g"; depends=[data_table dplyr igraph rlist vctrs vegan word2vec]; };
   nodeHarvest = derive2 { name="nodeHarvest"; version="0.7-3"; sha256="0nh3g50rk9qzrarpf29kijwkz9v60682i0ag77j2ipyvhhbpwpkc"; depends=[quadprog randomForest]; };
-  nodeSub = derive2 { name="nodeSub"; version="1.2"; sha256="06yk8kk959grnmvnhqj7z7k02ykxr04mrz63k8ppbmwb4q60q5nv"; depends=[ape apTreeshape assertthat babette beastier beautier DDD geiger mauricer nLTT pbapply phangorn phylobase rappdirs Rcpp Rmpfr RPANDA stringr testit tibble tracerer]; };
+  nodeSub = derive2 { name="nodeSub"; version="1.2.3"; sha256="0whg8yz3padlfygwwb3cs57p33vkxa0py4lbnj23iqypni7lna75"; depends=[ape apTreeshape assertthat babette beastier beautier DDD geiger mauricer nLTT pbapply phangorn phylobase rappdirs Rcpp Rmpfr RPANDA stringr testit tibble tracerer]; };
   nodiv = derive2 { name="nodiv"; version="1.4.0"; sha256="1k7pr9d1mgxw3szxcmnkkz498x7629wf2z65qlclywka3xgzpkxc"; depends=[ape picante raster sp vegan]; };
-  nofrills = derive2 { name="nofrills"; version="0.3.1"; sha256="0302q1c82k0ryadasl3x8zvpfsh8c2smjyi2g4vaxf9gbnvl5sc0"; depends=[rlang]; };
+  nofrills = derive2 { name="nofrills"; version="0.3.2"; sha256="1sclrzn7m0r4pxmv9vs0ay0l892p6kdz3yzdqwfkzzp8z45n6yzk"; depends=[rlang]; };
   noia = derive2 { name="noia"; version="0.97.1"; sha256="0yldfmnb4ads4s9v9cj1js8zf1w1hxasqq6qjyzwknmvmp7kh62h"; depends=[]; };
   noise = derive2 { name="noise"; version="1.0.1"; sha256="0xqcg79v03d5x783pby6gqxrhylm67xk4ic9ib4jmjyrrbqklad1"; depends=[preprocessCore]; };
   noisyCE2 = derive2 { name="noisyCE2"; version="1.1.0"; sha256="02zkkyys9qknwm39gz4j4pvlvkd5qlvxqaprklzsd40dgz39cwq4"; depends=[magrittr]; };
@@ -13197,7 +13349,7 @@ in with self; {
   nombre = derive2 { name="nombre"; version="0.4.0"; sha256="0bc66vc8xxg8q2x7nh4si04qgb2gxzl61jf4k10vc6v8dsglk77k"; depends=[fracture]; };
   nomclust = derive2 { name="nomclust"; version="2.5.0"; sha256="17vqxbx5bpja2fxp83w0sbgbs61b2vaak9zzvvxkicxqwk09ix2v"; depends=[cluster Rcpp]; };
   nominatimlite = derive2 { name="nominatimlite"; version="0.1.5"; sha256="0x3vaidx7w5v0713ddsj3dgczf788dpq7irjl63ihslvd4ncr6ba"; depends=[dplyr jsonlite rlang sf tibble]; };
-  nomisr = derive2 { name="nomisr"; version="0.4.4"; sha256="1qa7k4fh7n2imf91nfcdg32dacraay343jv9sczs6qc37nadhdbg"; depends=[dplyr httr jsonlite readr rlang rsdmx snakecase tibble]; };
+  nomisr = derive2 { name="nomisr"; version="0.4.5"; sha256="15wfvklrc5ffv21n08qq9a4031qhm97vgbv7cvv662pndg853gj8"; depends=[dplyr httr jsonlite rlang rsdmx snakecase tibble]; };
   nomnoml = derive2 { name="nomnoml"; version="0.2.3"; sha256="08zraip0v4jc51zv2zsvka6k8d1ry2ac9d70xpavfggbgmrmz987"; depends=[htmlwidgets lifecycle png rlang webshot]; };
   nomogramEx = derive2 { name="nomogramEx"; version="3.0"; sha256="16235rwblnzn8k53817llwy2pzhnpifh6ij159nxymjm8ar9qpbp"; depends=[pracma rms]; };
   nomogramFormula = derive2 { name="nomogramFormula"; version="1.2.0.0"; sha256="1j6g5kndl0n2g8acwq8pn09sk0bjcsphbcd77ha1j5dnwdmy73c0"; depends=[do Hmisc rms]; };
@@ -13221,7 +13373,7 @@ in with self; {
   nor1mix = derive2 { name="nor1mix"; version="1.3-0"; sha256="1817wcvlmxs70vs4db0jkxd7i037744zz8ay3c2a9949z29fxr4w"; depends=[]; };
   nord = derive2 { name="nord"; version="1.0.0"; sha256="1gisqca85vzbqq5hs5bgqjgrjyksxj176x97kv9vv6mwll8kijl9"; depends=[ggplot2]; };
   nordklimdata1 = derive2 { name="nordklimdata1"; version="1.2"; sha256="0c2hbh3qy8nrs275lxpzfgqsfgwp81m4kv0layvnjj09fcybm54x"; depends=[]; };
-  norgeo = derive2 { name="norgeo"; version="2.0.0"; sha256="1rsbrxfnb0fip781591pk8hb1fj873iswyqgk0vadqhzvk7iid1w"; depends=[data_table DBI httr jsonlite magrittr odbc RSQLite writexl]; };
+  norgeo = derive2 { name="norgeo"; version="2.1.0"; sha256="1qvcv63pwbsprxaw3nb5qbsr7fwphf62c7fgd5lvjbnnwgqbmnx8"; depends=[data_table DBI httr jsonlite magrittr odbc progressr RSQLite vcr writexl]; };
   norm = derive2 { name="norm"; version="1.0-9.5"; sha256="01j1h412yfjx5r4dd0w8rhlf55997spgb6zd6pawy19rgw0byp1h"; depends=[]; };
   norm2 = derive2 { name="norm2"; version="2.0.4"; sha256="0ahz6x59k00pqalzjc3ajiby1ysmarjssga9amwh9vd6vmzzyfb7"; depends=[]; };
   normalp = derive2 { name="normalp"; version="0.7.2"; sha256="0fqpz6v9v3xjmyh7mh2yvkjdn3v4d0nk93x7s0gj28kazl7137kz"; depends=[]; };
@@ -13234,7 +13386,6 @@ in with self; {
   nos = derive2 { name="nos"; version="1.1.0"; sha256="0hbncama8cx8q0rc56bil38fbj33z49v4d6zdkvxs6wgmmglnrfs"; depends=[dplyr gmp]; };
   nose = derive2 { name="nose"; version="1.0"; sha256="17l78vmfqc22inq6zaqpnk2m91wp0nfjbbwfcpfqykf8lk9ipqna"; depends=[]; };
   nosoi = derive2 { name="nosoi"; version="1.1.0"; sha256="1b7csrgax5ig9ibiwbhh2cl357hvdc6my4408vld498c8jjf0lyw"; depends=[data_table raster]; };
-  not = derive2 { name="not"; version="1.2"; sha256="1671j3yirzdyhb02khx1yddslyig5jlnb0bdbgdlkb21n4zwaqa4"; depends=[]; };
   notifyR = derive2 { name="notifyR"; version="1.02"; sha256="0jx76ic5r1crcgg0n0yqnka0gwniflfxakh838a98j9wb11wi6h5"; depends=[RCurl rjson]; };
   notifyme = derive2 { name="notifyme"; version="0.3.0"; sha256="0b6xrv6c4id7rs0dafg96pl4brn4yma5xh9wjz78ql44bg3w5s91"; depends=[dplyr httr magrittr]; };
   novelforestSG = derive2 { name="novelforestSG"; version="1.2.1"; sha256="17gn4qc5f3n0gdmm0r1zlg6jlzd3n5d8a3fx6fynxnj8ncq604i7"; depends=[]; };
@@ -13260,6 +13411,7 @@ in with self; {
   nphPower = derive2 { name="nphPower"; version="1.0.0"; sha256="0jqrbjm56nmhrmhsidz0bzyifq6kpqch8r64j8vd98b7xgcb6w4h"; depends=[MASS mvtnorm survival zoo]; };
   nplplot = derive2 { name="nplplot"; version="4.5"; sha256="1dpbs0jb34gv0zj528357z1j2pwahjbp04rm7jir6qk0jhyaxxgh"; depends=[]; };
   nplr = derive2 { name="nplr"; version="0.1-7"; sha256="1h3qv9dlw2gx8km3slyvrl588nif1n87df8xwmm6p75ziqhn2f56"; depends=[]; };
+  npm = derive2 { name="npm"; version="1.0.0"; sha256="01v913ylsh895yxkkpyviplcxcc3c90znccvjp7wbflmxxnvrasd"; depends=[assertthat cli crayon erratum]; };
   npmlda = derive2 { name="npmlda"; version="1.0.0"; sha256="1dr25an7cac89jyb8zhmj3ry6lq7sh7zxci1injplnk4gzy17mc5"; depends=[]; };
   npmlreg = derive2 { name="npmlreg"; version="0.46-5"; sha256="1f0bzccmral2y56aih37gmi6mjww6wmp2a8z6yxm501fgj2lgzfc"; depends=[statmod]; };
   npmr = derive2 { name="npmr"; version="1.2"; sha256="073i9zcnyp8l5fxblx2sfyn0b4lr6i595q6kl6ispvzmylwqj8na"; depends=[]; };
@@ -13290,11 +13442,12 @@ in with self; {
   nsdr = derive2 { name="nsdr"; version="0.1.1"; sha256="1p73aj465lk52n3dikkqi54zm2f9v00ikpmry10p42qhfkgrw61l"; depends=[]; };
   nse = derive2 { name="nse"; version="1.20"; sha256="037z164m78hdbwgnaa10jq50ngg3n9iigmyd1r5gz6hgvsr5sbnf"; depends=[coda mcmc mcmcse np Rcpp sandwich]; };
   nse2r = derive2 { name="nse2r"; version="0.1.5"; sha256="1gwq8x3sn2f4p3yivmg2dljpdjcwsy2s6467pnwlcjdmr3sqgv2b"; depends=[httr jsonlite magrittr rvest xml2]; };
-  nser = derive2 { name="nser"; version="1.3.4"; sha256="11pkabv3m4592l480mxkw91z58c91yi0n19yq5si0hv8rxgs592v"; depends=[dplyr googleVis jsonlite lubridate magrittr purrr readr RSelenium rvest stringr tidyverse]; };
+  nser = derive2 { name="nser"; version="1.4.0"; sha256="1zbnf240f1r0nxhaijvzwa9830jisp6z2cmlp80zbwxgq2yc13d6"; depends=[dplyr googleVis jsonlite lubridate magrittr purrr readr RSelenium rvest stringr tidyverse]; };
   nseval = derive2 { name="nseval"; version="0.4"; sha256="18avir5zllvm2sbi9616k7dlb8yxhvnbji7xshr4kcfvy1fvn2ia"; depends=[]; };
   nsga2R = derive2 { name="nsga2R"; version="1.0"; sha256="04jj0a3isfc348vg46il5x9l33cr7xawz5w0mm4pwr6djhd8nfhx"; depends=[mco]; };
   nsga3 = derive2 { name="nsga3"; version="0.0.3"; sha256="1jv3kw22jw24n7lnwhq3857mygr2yfv8c5xp3lbqqgz5840cdfa1"; depends=[mlr parallelMap rPref xgboost]; };
   nsgp = derive2 { name="nsgp"; version="1.0.5"; sha256="0piajjz3r71dnjw7lwpjhbaygxcrbbxfvhf8p3n2izyr2pw5fml9"; depends=[MASS]; };
+  nsm3data = derive2 { name="nsm3data"; version="0.1"; sha256="15m3x7jmwmh3rs65v5j39672253crc379zq3k6xigi6p7qnba7sn"; depends=[]; };
   nsp = derive2 { name="nsp"; version="1.0.0"; sha256="1dbq6i79r3rlf69scgczv0p940mcza1l90l42af7xdhan0gh6z99"; depends=[lpSolve]; };
   nspmix = derive2 { name="nspmix"; version="1.5-0"; sha256="1jaaw5ibn614yhlid0csnzj31npdx5zivm2nhnvyghzcmvyxavr8"; depends=[lsei]; };
   nsprcomp = derive2 { name="nsprcomp"; version="0.5.1-2"; sha256="1zlc1ximx96f235c0l8qfs6vbp1kpnbf943wxsfahnnlnxvwi59f"; depends=[]; };
@@ -13311,14 +13464,14 @@ in with self; {
   numform = derive2 { name="numform"; version="0.7.0"; sha256="0n96jm141h4awazr8sads9d99faw8kdy3vbhmjr58d8iqf7793f8"; depends=[glue]; };
   nutriNetwork = derive2 { name="nutriNetwork"; version="0.1.1"; sha256="0ya95h88jkiwc7cg7ic8bmyd7b0lgnhxrywwqvi2j6m6nbvvaxzy"; depends=[glasso huge igraph Matrix tmvtnorm]; };
   nvctr = derive2 { name="nvctr"; version="0.1.4"; sha256="1r7q9snr9ya1586fwbyvnk8rlb9yikl4yp3bn9kni0sw820npk1d"; depends=[magrittr pracma]; };
-  nvmix = derive2 { name="nvmix"; version="0.0-7"; sha256="1lwyzdyd9n1131srmiirwf84d1zwr79qch9hbhlk88hf6prqz144"; depends=[ADGofTest copula Matrix mnormt pcaPP pracma qrng]; };
+  nvmix = derive2 { name="nvmix"; version="0.0-8"; sha256="0vm10zjk69qmwii7qsgwwi6vp7mak2vxbm051ww6vzk0zfbhmvrf"; depends=[ADGofTest copula Matrix mnormt pcaPP pracma qrng]; };
   nycflights13 = derive2 { name="nycflights13"; version="1.0.2"; sha256="07aa76c77pm1wpzkwjmzv8n6ir5i6fxawx8wx586gwc5wajcb1qf"; depends=[tibble]; };
   nzelect = derive2 { name="nzelect"; version="0.4.0"; sha256="19kcbq454yg9g76ix7v3nibgw2203d7vv6f2d6d2zkcc0h08bjm7"; depends=[]; };
-  nzffdr = derive2 { name="nzffdr"; version="1.0.0"; sha256="1r7pdv3jrkwnncyq61nb8js9y3kmxlg3d2cvb8b3i9fchx4059z6"; depends=[chron curl httr jsonlite stringr xml2]; };
+  nzffdr = derive2 { name="nzffdr"; version="2.0.0"; sha256="1g32bra2z6a20jjqm6d7irccmr0x36h576bws6kh5x3h25i3plfv"; depends=[curl httr stringi xml2]; };
   nzilbb_labbcat = derive2 { name="nzilbb.labbcat"; version="1.0-1"; sha256="0lypdwyvihza88jnccvh4wapfivsjy9sgxj4hvai52bkrw92578d"; depends=[httr jsonlite rstudioapi stringr]; };
   nzpullover = derive2 { name="nzpullover"; version="0.3.0"; sha256="0b3mz5i58m48fa1x7gv4l3gqj0gvrar201ph2l1gkbcnfmazwjp8"; depends=[]; };
   o2geosocial = derive2 { name="o2geosocial"; version="1.1.0"; sha256="158nbc45h4k677lgx9n976d9kz7hy8fb7z5s2v6pmkmh521jdn2a"; depends=[data_table geosphere ggplot2 outbreaker2 Rcpp visNetwork]; };
-  o2plsda = derive2 { name="o2plsda"; version="0.0.12"; sha256="1rm57bnmzqz86yfbz2wnn6xfd5mr7pdbq89855hg40a59i3yhp04"; depends=[dplyr ggplot2 ggrepel magrittr Rcpp RcppArmadillo RcppEigen]; };
+  o2plsda = derive2 { name="o2plsda"; version="0.0.14"; sha256="17b31kp6hvl7z0faklbhns9k7p016jnw2cwb3q2k8kp05j7kds5z"; depends=[dplyr ggplot2 ggrepel magrittr Rcpp RcppArmadillo]; };
   oRus = derive2 { name="oRus"; version="1.0.0"; sha256="0q6hgiidcpm95pyisndihxjg78v6k1zycdqd72309aankdk0g5h4"; depends=[dplyr knitr rmarkdown stringr tibble tidytext tm topicmodels xlsx]; };
   oaColors = derive2 { name="oaColors"; version="0.0.4"; sha256="040sdqrk9dciylnnrrshlj06s9qhvngii9shx1p8412ip7mk8r1m"; depends=[MASS RColorBrewer]; };
   oaPlots = derive2 { name="oaPlots"; version="0.0.25"; sha256="0c5ig1ar02vg38pjjmp3gd53ij1j7pzajs0zrlfajz141qkv2ysr"; depends=[ggplot2 oaColors]; };
@@ -13338,8 +13491,8 @@ in with self; {
   occ = derive2 { name="occ"; version="1.1"; sha256="1aka29qqwbd494kvi15yyyqkb9hks4ky2gcvykxhx2drm2fnsn4g"; depends=[]; };
   occupancy = derive2 { name="occupancy"; version="1.2"; sha256="0j50vg1405n1hp72xqsq1hp3gdbfx5yq9w1zdv6dzjc6vjhbx00d"; depends=[matrixStats]; };
   ocd = derive2 { name="ocd"; version="1.1"; sha256="06pyc352pvn85k76z9797gwk0ksbb3snvh6krysp68k3lcygq872"; depends=[]; };
-  oce = derive2 { name="oce"; version="1.4-0"; sha256="0224fgd51fchn8apdi6x0n3ycl6zdbwch9janmidqr0i01418d1v"; depends=[gsw Rcpp sf testthat]; };
-  oceanic = derive2 { name="oceanic"; version="0.1.0"; sha256="1bbbd6l4piimn8z51j205i3dmkz001qfpzisi7zkpq80r9adnqss"; depends=[sf]; };
+  oce = derive2 { name="oce"; version="1.5-0"; sha256="0iw171is4jjdb5kaq0a10anspq8an4bn76x1mp6l33qk2xml8phs"; depends=[gsw Rcpp]; };
+  oceanic = derive2 { name="oceanic"; version="0.1.1"; sha256="0rnvr2jq27rq109nnddz0fylsrkzx26lgay8ipsmwp54c00glmmx"; depends=[rgdal sf sp]; };
   oceanis = derive2 { name="oceanis"; version="1.8.4"; sha256="0m0mhab74wnd9hm0im47c14m5mzsrvs61d07vikd8f1sly36h943"; depends=[classInt dplyr DT ggplot2 leaflet leaflet_extras lwgeom mapview sf shiny shinyBS shinyjs shinythemes stringr zip]; };
   oceanmap = derive2 { name="oceanmap"; version="0.1.1"; sha256="06h4yxqcn3rjr3m2n82w128z110a4k5rg6msrbd0gcqksxc4vd2v"; depends=[abind extrafont fields lubridate mapdata maps maptools ncdf4 plotrix raster sp]; };
   oceanwaves = derive2 { name="oceanwaves"; version="0.2.0"; sha256="1v4gj4ippv1l3r77z2ic19x5zi5lpsh5wihaqay3264zhpb3kv9a"; depends=[bspec ggplot2 signal]; };
@@ -13381,10 +13534,11 @@ in with self; {
   omics = derive2 { name="omics"; version="0.1-5"; sha256="1y2x33mfgq98nglhvpr1wq1v6nfiq4njy2yac47x72rpwxsj9vb1"; depends=[lme4 pheatmap]; };
   omicwas = derive2 { name="omicwas"; version="0.8.0"; sha256="03l53vbsard0hpaffcaa9l1aa3nh3w16j00k2jz2jqrrg02z0d7h"; depends=[broom data_table dplyr ff glmnet magrittr MASS matrixStats purrr rlang tidyr]; };
   omopr = derive2 { name="omopr"; version="0.2"; sha256="1ng94jnarj7pszxzvdlnrr2dbcvv5p5yrscjw6ihqkskpraw9f7w"; depends=[DBI dbplyr dplyr RSQLite]; };
-  ompr = derive2 { name="ompr"; version="0.8.1"; sha256="10q6p1j7y22w82b73806ixcwvmpf5cffn1d84p7zqlgxcj6sk24w"; depends=[data_table lazyeval Matrix progress Rcpp rlang]; };
-  ompr_roi = derive2 { name="ompr.roi"; version="0.8.0"; sha256="1cbrchvpd31lxpxvw2l3q9k5jmffarb1shca8kwm76y5a6zxxq63"; depends=[Matrix ompr ROI slam]; };
+  ompr = derive2 { name="ompr"; version="1.0.2"; sha256="0n68i5papc3nsx2zf6azxw1gz0x7zsj8q0hqmv73fk885l1awyd0"; depends=[data_table fastmap lazyeval listcomp Matrix rlang]; };
+  ompr_roi = derive2 { name="ompr.roi"; version="1.0.0"; sha256="1nv6cpnhfxz55r0y27i7rk81v45wblqhb9gis14rqdiypb74paif"; depends=[Matrix ompr ROI slam]; };
   omsvg = derive2 { name="omsvg"; version="0.1.0"; sha256="018sphpmmgpq5alag0il83q51f3r3jx3pnnzjrvg4gn6691nkwvz"; depends=[dplyr gt htmltools magrittr rlang sass xml2]; };
   omu = derive2 { name="omu"; version="1.0.4"; sha256="03dvbgxf5d181wka0gpf3sr008fzzva57xvdniynbgqskgcn4qi3"; depends=[dplyr ggfortify ggplot2 KEGGREST magrittr plyr reshape2 stringr tidyr]; };
+  onadata = derive2 { name="onadata"; version="0.1"; sha256="0l7fqskgqm421mcijmbbb1xgi99y1j673qil5r9whwfdxk78xgqc"; depends=[]; };
   onbabynames = derive2 { name="onbabynames"; version="0.0.1"; sha256="13sp9gnqnsx2b8dq13qnkin813clnanh6hzv3vi7bxy514pvmisj"; depends=[tibble]; };
   onbrand = derive2 { name="onbrand"; version="1.0.2"; sha256="1dxwxf0jy0cvizwdk0429x4bgzrk99mr1frfrf8hdw18ysjqwcfz"; depends=[dplyr flextable ggplot2 magrittr officer rlang stringr yaml]; };
   onc_api = derive2 { name="onc.api"; version="2.0.1.0"; sha256="10scbhg6aniqzrbkblhfhz9ni710xzppbzfrr4wrhsy1z5y2nfwc"; depends=[anytime crayon httr humanize lubridate stringi testthat tictoc]; };
@@ -13400,7 +13554,7 @@ in with self; {
   onepass = derive2 { name="onepass"; version="0.1.2"; sha256="1r8wk00aqc0sc7l6mmy1k4hkijfikynysrx5vvahbd6mlcdb3bmp"; depends=[jsonlite]; };
   onewaytests = derive2 { name="onewaytests"; version="2.6"; sha256="05q2ir65x9pvsiim4l029hjhm12niiqjgk5rsx47i6vx23ffg8ir"; depends=[car ggplot2 moments nortest]; };
   onion = derive2 { name="onion"; version="1.5-0"; sha256="07q5wwphb6jsk7ya7hgsf5782yalvhyc7h43hsd9rg4rhpmy8in9"; depends=[emulator]; };
-  onlineBcp = derive2 { name="onlineBcp"; version="0.1.3"; sha256="1bnpl94v30h3il8flin85nsnm27z8ghscmzqj9mc3afv2rzi8kb4"; depends=[VIM]; };
+  onlineBcp = derive2 { name="onlineBcp"; version="0.1.4"; sha256="0605hzmx42nd2ln4zv4kkhms6g8ffln3g4lnbpm93isgcxfxm3wg"; depends=[VIM]; };
   onlineCOV = derive2 { name="onlineCOV"; version="1.3"; sha256="04ikvsd76f6xhja7djyv433m88lfj2vf0y9qi6x1s4i9kh8xkbz9"; depends=[]; };
   onlinePCA = derive2 { name="onlinePCA"; version="1.3.1"; sha256="08qivsfnwz5vp089lv9czsaz3nfi42kn9yhgzf27dji18y2xscic"; depends=[Rcpp RcppArmadillo RSpectra]; };
   onlineVAR = derive2 { name="onlineVAR"; version="0.1-1"; sha256="01z2d91mbdjvwwiqjq1dbqp50jbc9v6d7nw4gs7d1abhsqyiqa13"; depends=[lattice]; };
@@ -13408,8 +13562,8 @@ in with self; {
   onlineretail = derive2 { name="onlineretail"; version="0.1.2"; sha256="0lid3g4v51c664304cxgjm209qxv88hqglv89frmj4afc0y6k7sc"; depends=[]; };
   onls = derive2 { name="onls"; version="0.1-1"; sha256="0m7pnlzkqwzi6jncjzxzfvznipd4wg03zd9fc0ymwm9jvhm4p14g"; depends=[minpack_lm]; };
   onnx = derive2 { name="onnx"; version="0.0.3"; sha256="1s0swrcff9v9ffbjkraahmb398gh2jrca2wf5k6gs8037frnl8wd"; depends=[reticulate]; };
-  onpoint = derive2 { name="onpoint"; version="1.0.1"; sha256="13367azi6wcdc7gbpfk02d2mc5waqh4jfsd7zrxzbqb2qka9pfhr"; depends=[ggplot2 spatstat_core spatstat_geom]; };
-  onsr = derive2 { name="onsr"; version="1.0.0"; sha256="04q88v07r2nzsrxxjy8wlmr65m8czllyv4wq40ms46m83s4pfhpj"; depends=[httr jsonlite readr tibble]; };
+  onpoint = derive2 { name="onpoint"; version="1.0.2"; sha256="0l1dblj6cr2qagxmgx5ma455qazg1br5y0zpl2dv7jcdb24f7pnq"; depends=[ggplot2 spatstat_core spatstat_geom spatstat_random]; };
+  onsr = derive2 { name="onsr"; version="1.0.1"; sha256="0qazwqdbbinsrimn7rf7xcjz5l5zp372i5j54rp87xy098q7c0l3"; depends=[httr jsonlite readr tibble]; };
   ontoFAST = derive2 { name="ontoFAST"; version="1.0.0"; sha256="0l3d8bp86849rp0qrs1dfv7bjmrfdqvahb1x656vk69fi20722ma"; depends=[dplyr ontologyIndex pbapply plyr shiny shinydashboard stringr sunburstR usethis visNetwork]; };
   ontologyIndex = derive2 { name="ontologyIndex"; version="2.7"; sha256="0j3h1spqwjhh1wbmwivmqcyi042yy7d565c3kxgn70xrmy693x1k"; depends=[]; };
   ontologyPlot = derive2 { name="ontologyPlot"; version="1.6"; sha256="0n51x2im134wq3a54wrv02j1pgkpm1qcgb9hd0y6fchz43i039j1"; depends=[ontologyIndex paintmap Rgraphviz]; };
@@ -13417,17 +13571,17 @@ in with self; {
   oolong = derive2 { name="oolong"; version="0.4.1"; sha256="16f5r2z9p87k3pi643s63nxxnh7gn4x70m5jpk48hwb2s1rdar9h"; depends=[cli cowplot digest ggplot2 irr keyATM purrr quanteda R6 shiny tibble]; };
   oompaBase = derive2 { name="oompaBase"; version="3.2.9"; sha256="1cmw2s5dznmv675484jgvkzgvi6vhg0zbxsq6zhpqsisf672pjhl"; depends=[cluster]; };
   oompaData = derive2 { name="oompaData"; version="3.1.1"; sha256="0by9qfxlx6fdmp12qnphlli5hdn5balvx4ckg64fw6vwa291g7b0"; depends=[]; };
-  ooplah = derive2 { name="ooplah"; version="0.1.0"; sha256="0hrbpidcrnvm14qdjhcz4j4im1caydxkj4k9zmqs7dq3wv10rgr9"; depends=[R6]; };
+  ooplah = derive2 { name="ooplah"; version="0.2.0"; sha256="1p74jh9g62yicrw0lhpbn0diqi2myl24z28kpd2b3mglyffadr0b"; depends=[R6]; };
   oops = derive2 { name="oops"; version="0.1.0"; sha256="06kyb01f09ah8aamyrazpyafbvs5vq32p16kbn12qi9zkwn0m9kk"; depends=[pryr]; };
   opGMMassessment = derive2 { name="opGMMassessment"; version="0.3"; sha256="1y6g65y6r3l0p7dbw70w8lbp4c888llwd7ak9wliwin0a54y13lz"; depends=[AdaptGauss caTools cluster ClusterR DataVisualizations DistributionOptimization doParallel dplyr foreach ggplot2 mclust mixAK mixtools multimode NbClust rlang]; };
   opalr = derive2 { name="opalr"; version="3.0.2"; sha256="0nwa77l4d4zz3jxmfgm8h8k823lvcvjzbk3i6ahscrhzw2ky2phc"; depends=[httr jsonlite labelled mime progress]; };
   opdisDownsampling = derive2 { name="opdisDownsampling"; version="0.8.1"; sha256="18y2p13q9ib5siml00ycjq395saqpnn0wa0jf2936v48ji4kjjzp"; depends=[benchmarkme caTools doParallel foreach memuse pracma twosamples]; };
-  openCR = derive2 { name="openCR"; version="2.2.1"; sha256="0v3n1w0lxbz7hf68b2dp0vsgvby9vywd35w1n7d78gwznjlisfk8"; depends=[abind BH MASS nlme plyr Rcpp RcppParallel secr stringr]; };
+  openCR = derive2 { name="openCR"; version="2.2.2"; sha256="1w3lrlc4w60fv026sbvmdki2jvg45m8mlbidwyd749vm93i3w6cs"; depends=[abind BH MASS nlme plyr Rcpp RcppParallel secr stringr]; };
   openEBGM = derive2 { name="openEBGM"; version="0.8.3"; sha256="120lp7fy6abj6f8g6naq4018d0dfzz6bq3dlh0xdhd4iclb7pplv"; depends=[data_table ggplot2]; };
   openMSE = derive2 { name="openMSE"; version="1.0.0"; sha256="15jp9hybnkwmnkcqawhpd3y3imq6wfxxzxzh90yx4cvzky36hf89"; depends=[crayon DLMtool MSEtool SAMtool]; };
   openNLP = derive2 { name="openNLP"; version="0.2-7"; sha256="15yl74wv6w1d2wwpn1xlkkpam3c62977gnqal651fv623v29gg35"; depends=[NLP openNLPdata rJava]; };
   openNLPdata = derive2 { name="openNLPdata"; version="1.5.3-4"; sha256="0j45rh9qki8r5wavaysrfsvb3wc3x8jjicqff2yi0r34j58xvlv8"; depends=[rJava]; };
-  openSTARS = derive2 { name="openSTARS"; version="1.2.2"; sha256="0f3nv6b33r3m7xlh2adbi0wlzr2dw6jfsrmz8fjrlh0l7xakf1hz"; depends=[data_table progress raster rgdal rgrass7 sp SSN]; };
+  openSTARS = derive2 { name="openSTARS"; version="1.2.3"; sha256="1xpba5bagq16n1k94izshdizqyx99mad1nx2w77ljznmx5qrpqa6"; depends=[data_table progress raster rgdal rgrass7 sp SSN]; };
   openSkies = derive2 { name="openSkies"; version="1.1.6"; sha256="03nlbmxp36z82myrbamwl1zngsnfxfw80niisapv53n605p4lrg1"; depends=[cluster dbscan ggmap ggplot2 httr magick R6 ssh xml2]; };
   openVA = derive2 { name="openVA"; version="1.0.13"; sha256="1hps67qlimhrjk3ymmr0jgqac8z6vilqgrchqp6z7vydqirfyp5l"; depends=[cli crayon ggplot2 InSilicoVA InterVA4 InterVA5 Tariff]; };
   openadds = derive2 { name="openadds"; version="0.2.0"; sha256="1jb8zd3rpxfkjkg895iab6m4cfi53p5vy3nnpjkgq7ym6499qjcv"; depends=[crul dplyr jsonlite maptools rappdirs readr tibble xml2]; };
@@ -13444,7 +13598,7 @@ in with self; {
   openssl = derive2 { name="openssl"; version="1.4.6"; sha256="0na3yficxg0hjql9pvz96f66yh4g5k2hfwcricb705z7f2pk5f23"; depends=[askpass]; };
   opentimsr = derive2 { name="opentimsr"; version="1.0.11"; sha256="0ad0kgy2byr228ljl0y6412zw3gy0kr17jyx7022bygpzv9d2158"; depends=[DBI Rcpp RSQLite]; };
   opentraj = derive2 { name="opentraj"; version="1.0"; sha256="13nqal96199l8vkgmkvl542ksnappkscb6rbdmdapxyi977qrgxk"; depends=[doParallel foreach maptools openair plyr raster reshape rgdal sp]; };
-  opentripplanner = derive2 { name="opentripplanner"; version="0.3.1"; sha256="1bavs7k27zicsjvz65va45cpmmviddxsgqir0hvpl9z40ml1gnp0"; depends=[checkmate curl data_table geodist googlePolylines lubridate pbapply rjson sf sfheaders tibble]; };
+  opentripplanner = derive2 { name="opentripplanner"; version="0.4.0"; sha256="1q0szrbgcjzc7ny08gilv2q0v1x81i626mzsahkii79qqb7capr1"; depends=[checkmate curl data_table geodist googlePolylines lubridate pbapply rjson sf sfheaders]; };
   openxlsx = derive2 { name="openxlsx"; version="4.2.5"; sha256="0695b265g7jwiqk5c3vmmfkvagx82bkpwhvqzhqaqmmn34l6vl35"; depends=[Rcpp stringi zip]; };
   opera = derive2 { name="opera"; version="1.2.0"; sha256="09gh0c74y3n25f9p1rya8ybql5mfaqkcnr8i8wwwzfm67vqdfrnh"; depends=[alabama htmltools htmlwidgets pipeR rAmCharts Rcpp RcppEigen Rdpack]; };
   operator_tools = derive2 { name="operator.tools"; version="1.6.3"; sha256="1v4dg7xhz24dnp0zxn815x1405ig64ibii6y40la1gvmzcc41dz5"; depends=[]; };
@@ -13458,7 +13612,7 @@ in with self; {
   optband = derive2 { name="optband"; version="0.2.1"; sha256="1rv4r7h7x3xipav917cz9bcr6nqjzbinfrqxv8mcls9gdl9ha3y9"; depends=[LambertW]; };
   optbdmaeAT = derive2 { name="optbdmaeAT"; version="1.0.1"; sha256="1y1mvcyjihpj1wgjmifhmd10717wr1srp7h87azs4gfypgsiqchn"; depends=[igraph MASS Matrix]; };
   optbin = derive2 { name="optbin"; version="1.1"; sha256="1v79qq1az8sg1slh9k3rqznw3dmppg0d0x7i2j5sz78b8gfq2m17"; depends=[]; };
-  optedr = derive2 { name="optedr"; version="1.0.0"; sha256="1l1hfcy70d347f85pi6f71bj2hvk2wfzjksr3v8cwr78pz5yn3x7"; depends=[cli crayon dplyr DT ggplot2 hrbrthemes magrittr nleqslv nloptr orthopolynom plotly purrr rlang shiny shinyalert shinydashboard shinyjs]; };
+  optedr = derive2 { name="optedr"; version="1.0.1"; sha256="0ywq5s3y30r0il2vsd99qgd8m7c1xsk59fgzz8zs5ips3xsjmnwg"; depends=[cli crayon dplyr DT ggplot2 hrbrthemes magrittr nleqslv orthopolynom plotly purrr rlang shiny shinyalert shinydashboard shinyjs]; };
   optextras = derive2 { name="optextras"; version="2019-12.4"; sha256="1sqkid6h13h8i8wzri26s828ycwlxlwpwxd85r8bw9h8hs1n602r"; depends=[numDeriv]; };
   optiRum = derive2 { name="optiRum"; version="0.40.1"; sha256="1kl9mzh53pwhrxbn89dsjjpfji7k8vmysscd1qd9sw7vqdan8g6x"; depends=[AUC data_table ggplot2 knitr plyr scales stringr XML]; };
   optiSel = derive2 { name="optiSel"; version="2.0.5"; sha256="13rxv6wqz5gpmsfb96173p1y8140zqj4llihxsvjczcqwhrayjha"; depends=[data_table doParallel ECOSolveR foreach kinship2 magic MASS Matrix nadiv optiSolve pedigree plyr pspline purrr quadprog Rcpp RcppArmadillo reshape2 stringr]; };
@@ -13473,11 +13627,12 @@ in with self; {
   optimParallel = derive2 { name="optimParallel"; version="1.0-2"; sha256="178ayfaivkbxkghxbg97lx4gl27kxkmgaaw9y8q5206r4cncd6qg"; depends=[]; };
   optimStrat = derive2 { name="optimStrat"; version="2.3"; sha256="1jkwhgpw7nknd7h8c01z25x566bw2qb388i6g5nwcygxsshdgpri"; depends=[cubature mvtnorm shiny]; };
   optimalThreshold = derive2 { name="optimalThreshold"; version="1.0"; sha256="1m39q36p7i7z31b90awriq5jf9rfybyw5lj3m1w33v2ssipkzp1n"; depends=[ars coda HDInterval mgcv rjags]; };
-  optimall = derive2 { name="optimall"; version="0.1.0"; sha256="09vcznvfcgal1cr17byw6c2kwkch6q9v32wvdxyjxrykc5y45hip"; depends=[dplyr glue magrittr rlang tibble]; };
+  optimbase = derive2 { name="optimbase"; version="1.0-10"; sha256="0hdzbqr03jwy1vz3q9iw0kvii5p9g1vm4c3hs3jxszcj1rgrfm12"; depends=[Matrix]; };
   optimg = derive2 { name="optimg"; version="0.1.2"; sha256="0fc7d3g5nxjjcbwh6v5m0ryhanw80v250j8m7j2gv4c9ql4g650d"; depends=[ucminf]; };
   optimization = derive2 { name="optimization"; version="1.0-8"; sha256="0xxspcv0vwnczi18ndifl8v2jg5i0vy6rp959vrsqcvxqpxp3q2l"; depends=[colorspace Rcpp]; };
   optimos_prime = derive2 { name="optimos.prime"; version="0.1.2"; sha256="1a76gfzpd2s4gq15cd3frndak7wc6q3xqh9sllkk665031fx6z1h"; depends=[ggplot2 plotly tidyverse]; };
   optimr = derive2 { name="optimr"; version="2019-12.16"; sha256="003wz9r3xdi47ad22l4dkhp0dalknb2s9fp82yamjx7x1xbfvcbk"; depends=[numDeriv optextras Rcgmin Rvmmin setRNG]; };
+  optimsimplex = derive2 { name="optimsimplex"; version="1.0-8"; sha256="1q5hfbiq265q5im6wg78spaqsfj421hpzh8bz51zmi188h6xwnwr"; depends=[optimbase]; };
   optimus = derive2 { name="optimus"; version="0.2.0"; sha256="01njyjfrm6kjwx2qq41c0hsgxzydnrmr3538cpbfdn5i0z5blgyx"; depends=[mvabund ordinal]; };
   optimx = derive2 { name="optimx"; version="2021-10.12"; sha256="0hvrpfya767vp3anmb8ih516v4zz1sv4h193rn93kyjydf2lqf1r"; depends=[numDeriv]; };
   optinterv = derive2 { name="optinterv"; version="0.1.0"; sha256="1yvjb9fyqj3pfglfdwdq4kpw9i5g5i3klgpqb05xdnacbnpdxvmp"; depends=[boot distances Hmisc lattice pbapply rootSolve weights]; };
@@ -13499,6 +13654,7 @@ in with self; {
   orcutt = derive2 { name="orcutt"; version="2.3"; sha256="0pj7pqzbcg4gp35nsz3avyawmx69dgj0l2w0x8ypw5qwl4zhmnyk"; depends=[lmtest]; };
   ordDisp = derive2 { name="ordDisp"; version="2.1.1"; sha256="0906y98ydiadyqhz9ad2ssw1282a10c418k20vkbwzad2xip7grg"; depends=[VGAM]; };
   ordPens = derive2 { name="ordPens"; version="1.0.0"; sha256="1q6v3xkaahpzkycjnn75a62narwj4g86ha9m786nfp941ql44vlr"; depends=[glmpath grplasso mgcv quadprog RLRsim]; };
+  ordbetareg = derive2 { name="ordbetareg"; version="0.2.0"; sha256="1rga6vfl9zjdmcn58cwd84ab636a01b5r0in183n8dv5nr0bla3a"; depends=[brms dplyr faux tidyr]; };
   ordcrm = derive2 { name="ordcrm"; version="1.0.0"; sha256="1hy24s23l099b21w5j3p2f0748s8xmhxhslfp65fg7ycwda5qsyw"; depends=[rms]; };
   orderbook = derive2 { name="orderbook"; version="1.03"; sha256="0dlvjrzdhhh8js4g1lvxs46q7fdxfxavxnb4nj6xlwca75i51675"; depends=[hash lattice]; };
   ordering = derive2 { name="ordering"; version="0.7.0"; sha256="0sgwgcjg6sazmi11c9qvxfrzg671kcp18i2q20xbmbj4v3yqhwbh"; depends=[]; };
@@ -13544,25 +13700,26 @@ in with self; {
   oshka = derive2 { name="oshka"; version="0.1.2"; sha256="02hglpq5lknq93zbcf219lhnhppzgygkhxqixb15f89rxf9fczgs"; depends=[]; };
   oskeyring = derive2 { name="oskeyring"; version="0.1.2"; sha256="1hwrgxsqd4s3wqvkgnga10382jva7l648jnaaff8pcb70hv4m0xg"; depends=[]; };
   osmar = derive2 { name="osmar"; version="1.1-7"; sha256="0q6d8nw7d580bnx66mjc282dx45zw9srczz90b520hjcli4w3i3r"; depends=[geosphere RCurl XML]; };
-  osmdata = derive2 { name="osmdata"; version="0.1.8"; sha256="0cypc9ibqhg4yghyq6l9nv3j90ajy1ri7dlsc92bhpc5b7im107n"; depends=[curl httr jsonlite lubridate magrittr Rcpp rvest sp tibble xml2]; };
+  osmdata = derive2 { name="osmdata"; version="0.1.9"; sha256="01w6ikqv4cl5x6zs4pzx4fgrdcgia53c9gqwd52f5pmg088pj1x9"; depends=[curl httr jsonlite lubridate magrittr Rcpp reproj rvest sp tibble xml2]; };
   osmextract = derive2 { name="osmextract"; version="0.4.0"; sha256="027mwp909xa2i32ibgig6kqazwy8kqyyqyjiyaqhpajm17kfb011"; depends=[httr jsonlite sf]; };
   osmgeosample = derive2 { name="osmgeosample"; version="0.1"; sha256="1vcdisf147mcdqkc35czcphjh6rhaix9vy6l5inknaarmmajri3x"; depends=[dplyr geoR mapview nngeo osmdata pdist processx qpdf Rcpp rgdal sf sp splancs tibble]; };
   osmose = derive2 { name="osmose"; version="3.3.4"; sha256="144mklbish59amzz7j95qmn98yqlz3bqzd2rp03wg9f5s69bxjj6"; depends=[fields knitr mgcv ncdf4 rlist rmarkdown stringr]; };
   osmplotr = derive2 { name="osmplotr"; version="0.3.3"; sha256="0p94phv7jn0q9k25300zz59ldfphm9xgy6i7n3r8xj4zay0c7mf2"; depends=[e1071 ggm ggplot2 mapproj osmdata rgeos sp spatstat spatstat_core spatstat_geom]; };
   ospsuite_utils = derive2 { name="ospsuite.utils"; version="1.0.0"; sha256="1zbnxqabil52icpr8ykif5b3vs4rb18jiqicw26bvvv5q8aw1hf8"; depends=[R6]; };
   osqp = derive2 { name="osqp"; version="0.6.0.5"; sha256="1djsd2fval9g18vx1dym8bnsnlv8p166zfyzdsj105ydn346kz08"; depends=[Matrix R6 Rcpp]; };
-  osrm = derive2 { name="osrm"; version="3.5.0"; sha256="1l4i0ynd0vkgs6cf1f7dy8kh85r2yry99zpiyjcqslvlys2bhgd9"; depends=[curl googlePolylines isoband jsonlite sf]; };
+  osrm = derive2 { name="osrm"; version="3.5.1"; sha256="1fii7xgcnrqmfp9rak6hfn6fh5pgwvww2nj9zfmrz6ams22ac6sw"; depends=[curl googlePolylines isoband jsonlite sf]; };
   osrmr = derive2 { name="osrmr"; version="0.1.36"; sha256="1vnf6g1d9fjckz9ay910nb9gr1km2adwk3b0k460mxvpr36izkh7"; depends=[assertthat bitops R_utils rjson stringr]; };
   ot = derive2 { name="ot"; version="0.2.0"; sha256="0lym92hsxhfjdkh738rxlpkq084454055vgxm2b4wdhqw00jwf5y"; depends=[]; };
   otinference = derive2 { name="otinference"; version="0.1.0"; sha256="1l75jjnkyk8yzaw9zyk45jq9ys304i6pzm2xd5apxrb1jk75a3li"; depends=[MASS Rglpk sm transport]; };
   otp = derive2 { name="otp"; version="0.1.0"; sha256="0l0r56kn8jmjxhzz646fimi91blpgpynrrgfd03rh3dbifd5xhdz"; depends=[base64url openssl R6]; };
-  otpr = derive2 { name="otpr"; version="0.5.0"; sha256="050w7b9b14w03agahfy2n6y5fpk2y5hp501dnlbxzzj66a714v4h"; depends=[checkmate dplyr geojsonsf httr janitor jsonlite rlang rrapply sf urltools]; };
+  otpr = derive2 { name="otpr"; version="0.5.1"; sha256="1wh5rmwwwdf1wkb18ayx6zcnhwf80zziznk64jg1974g8crgdxsb"; depends=[checkmate dplyr geojsonsf httr janitor jsonlite rlang rrapply sf urltools]; };
   otrimle = derive2 { name="otrimle"; version="2.0"; sha256="0rca8ln9cyikfpsf1af550cfx2zx110c8jxv64xf8dnnd09s9h7b"; depends=[doParallel foreach mclust mvtnorm robustbase]; };
   otsad = derive2 { name="otsad"; version="0.2.0"; sha256="1jb6raxm70aywbgs7bdyw8vccy1nj924f4hkpjrlgnvzmy0hyhvs"; depends=[ggplot2 plotly reticulate sigmoid]; };
+  ottr = derive2 { name="ottr"; version="1.1.3"; sha256="1sdr03sid4kix00ip0ipirr9qswxpj40mbhg17hzlj7gvjka77ka"; depends=[jsonlite pryr R6 testthat yaml zip]; };
   otuSummary = derive2 { name="otuSummary"; version="0.1.1"; sha256="04l667qmp7wqkbdsk87j92gf89s13090kzs8cjlmxsp6i69r34z2"; depends=[reshape2 vegan]; };
   otvPlots = derive2 { name="otvPlots"; version="0.2.1"; sha256="0fjx0kl9y77mazwy7lg4mxc9sg8ysvvbl4h3k6bvfpnjm5x62hff"; depends=[data_table ggplot2 gridExtra Hmisc moments quantreg scales stringi]; };
   ouch = derive2 { name="ouch"; version="2.17"; sha256="1a7r24j59xz3lxa5wc694j6b80j8m5l86zd1sw9pvs66l8gd98kf"; depends=[subplex]; };
-  outForest = derive2 { name="outForest"; version="0.1.1"; sha256="183chvs5d5bb0qdgw1gxllb2ibjwyzyfn00fjjwnycald65figm3"; depends=[FNN missRanger ranger]; };
+  outForest = derive2 { name="outForest"; version="0.1.2"; sha256="0329yrqknr894l5dp7zdbr0mifrafx9km074yqjfbnxbi245fd65"; depends=[FNN missRanger ranger]; };
   outbreaker2 = derive2 { name="outbreaker2"; version="1.1.2"; sha256="0za20xl76i17pi2w2l69yiqrhfiichk4mngn062vv1hvqz4qgx4r"; depends=[ape ggplot2 magrittr Rcpp visNetwork]; };
   outbreaks = derive2 { name="outbreaks"; version="1.9.0"; sha256="0x6r4rzcvd1rp8j4brq9c0zl2xsl5jfi18dny20an7aqk310p11v"; depends=[]; };
   outcomerate = derive2 { name="outcomerate"; version="1.0.1"; sha256="07mwml7r98qjgvrp938sqf7klyspz110583j0zwb72j69n4whmrj"; depends=[Rdpack]; };
@@ -13583,7 +13740,7 @@ in with self; {
   owdbr = derive2 { name="owdbr"; version="1.0.1.1"; sha256="0q4654zr5aw04sssy7127vafry72b7p3d8i44fqvqg3055awin0i"; depends=[data_table dplyr httr jsonlite magrittr tibble]; };
   owidR = derive2 { name="owidR"; version="1.1.0"; sha256="1i9lqmabwk8nnva428syfk3zbr60s6crx6dq8y8i4272xprqd5dk"; depends=[curl dplyr forcats ggplot2 ggrepel htmltools jsonlite leaflet magrittr purrr readr rlang rvest scales sf stringr xml2]; };
   owmr = derive2 { name="owmr"; version="0.8.2"; sha256="0qlb5aw6n06yf8y2gd2fjp8kp3w0xgqh3fka7rxqndgvaqmin1a6"; depends=[httr jsonlite magrittr plyr tibble tidyr]; };
-  ows4R = derive2 { name="ows4R"; version="0.2"; sha256="00bc5mmwy5dzfyw59amcxg32d5c2jnw5ymf0xvf2bdx6ar4y6z7a"; depends=[geometa httr openssl R6 rgdal sf XML]; };
+  ows4R = derive2 { name="ows4R"; version="0.2-1"; sha256="19mm328slb2d8i0qg6nzifah276x637gcivrad24iz8zwn0msdc4"; depends=[geometa httr keyring openssl R6 rgdal sf XML]; };
   ox = derive2 { name="ox"; version="0.1.0"; sha256="0j0va301bmppvmk6paqaqqaw85h8yf92i3pz7i59f2j8q9im82rx"; depends=[]; };
   oxcAAR = derive2 { name="oxcAAR"; version="1.1.1"; sha256="1szifw978qr7v8n178jhg4ap2jwvfnwjl2izbbiydwx8q1fyj2q4"; depends=[jsonlite stringi stringr]; };
   oxcgrt = derive2 { name="oxcgrt"; version="0.1.0"; sha256="006kdggqdy7nkllln5p7fsapmmn5wlampyw2ifc4ls9jbz0p5h16"; depends=[countrycode dplyr jsonlite magrittr stringr tibble tidyr]; };
@@ -13592,7 +13749,7 @@ in with self; {
   ozmaps = derive2 { name="ozmaps"; version="0.4.5"; sha256="0sqxaiw1mdcg81228g7k7r6fla6d7hfk9ax2z6pws8457xbvrzka"; depends=[oz sf tibble]; };
   p2distance = derive2 { name="p2distance"; version="1.0.1"; sha256="1ims8i5z5k97kjpdysgx8g7lgvnvf7amahcrssw7bk38bvbxawni"; depends=[]; };
   p3state_msm = derive2 { name="p3state.msm"; version="1.3"; sha256="0gbrka62ylxx64r3abpk60y92k2lk5smlf8na68qazph8llsl2rv"; depends=[survival]; };
-  pARI = derive2 { name="pARI"; version="1.1.0"; sha256="0v96a2ppydhjsxm9msyff82g5ajqwnxby8775ra0hy6lrafhbk3h"; depends=[ARIbrain matrixStats plyr Rcpp RcppArmadillo RNifti]; };
+  pARI = derive2 { name="pARI"; version="1.1.1"; sha256="17dxrs4ckxh70d33n93bxr0gzsidychnyclwvnb42cqfplbndca5"; depends=[ARIbrain matrixStats plyr Rcpp RcppArmadillo RNifti]; };
   pAnalysis = derive2 { name="pAnalysis"; version="2.0"; sha256="0pykdlbynzgcbnjs8xs8frgncf53l8qgf6na34adq7da76n570hi"; depends=[coin ggplot2]; };
   pBrackets = derive2 { name="pBrackets"; version="1.0.1"; sha256="1rhsl59wqplpx4iavhm133fywkjdsbxw1x60fz22hby0cc9ckg6i"; depends=[]; };
   pCODE = derive2 { name="pCODE"; version="0.9.3"; sha256="067hhlj75l04b404fidvb2rkj6bb3zxrjy37p5vzvc5a1p1pcnf5"; depends=[deSolve fda MASS pracma]; };
@@ -13619,7 +13776,7 @@ in with self; {
   packager = derive2 { name="packager"; version="1.14.0"; sha256="1fbwdq2x23l72lwwl1vrw4pdslwqp1dnp0ajpflnpq8yrv44sd7s"; depends=[callr checkmate codetools crayon cyclocomp desc fakemake fritools fs gert httr pkgbuild pkgload rcmdcheck remotes rhub rprojroot tinytest whisker whoami]; };
   packagetrackr = derive2 { name="packagetrackr"; version="0.1.1"; sha256="0xjq27j7bd7lps0vp9gdinxn19wl10k2cp9wb2xjih7p6l0wd57g"; depends=[dplyr httr magrittr rappdirs]; };
   packcircles = derive2 { name="packcircles"; version="0.3.4"; sha256="05pv5c4k4njkr0xw6i6ksiy34hcyx2lbiqpv5gxw81yrkm0rxfyk"; depends=[Rcpp]; };
-  packer = derive2 { name="packer"; version="0.1.1"; sha256="0hvvppkvid0lw93kb238bs22d60l8mf6phh15q9mblsz1gcqxva3"; depends=[assertthat cli fs htmlwidgets jsonlite rprojroot rstudioapi usethis]; };
+  packer = derive2 { name="packer"; version="0.1.2"; sha256="1p5482rz3n8rn2hxfrkj64n4l5drp12qhq0xz18l5bzf5gwazqng"; depends=[assertthat cli fs htmlwidgets jsonlite rprojroot rstudioapi usethis]; };
   packrat = derive2 { name="packrat"; version="0.7.0"; sha256="1hnwhdgqljqs3m7c4rjlyndyc0k85jpa4rbfymxkm3zjg3yy3g78"; depends=[]; };
   pacman = derive2 { name="pacman"; version="0.5.1"; sha256="0z7gngd6h83cpjhq1vg75wvzhdjbgjh7gj5d4zvvi9gd2lmagjcy"; depends=[remotes]; };
   paco = derive2 { name="paco"; version="0.4.2"; sha256="0p02fdc5f7d7sbdvxill8jln76p1ndiw95k6s9j41slfriq647vd"; depends=[ape plyr vegan]; };
@@ -13635,12 +13792,11 @@ in with self; {
   pagenum = derive2 { name="pagenum"; version="1.2"; sha256="0nid26wmrm76ifxqpqqry232q4alf80i7df1rg237qil8asx06k1"; depends=[]; };
   pageviews = derive2 { name="pageviews"; version="0.5.0"; sha256="1fhlm2y288wx625y0glxybjb0xv9sqvvln35jqlwqq38h3grcpqd"; depends=[curl httr jsonlite]; };
   pagoda2 = derive2 { name="pagoda2"; version="1.0.8"; sha256="1fxcn6g197na4fjs4ra1s1gz1nihcvai2zk4p55hk0qf3nz2r707"; depends=[dendsort drat fastcluster igraph irlba magrittr MASS Matrix mgcv N2R plyr R_utils R6 Rcpp RcppArmadillo RcppEigen RcppProgress rjson rlang RMTstat Rook Rtsne sccore urltools]; };
-  pagoo = derive2 { name="pagoo"; version="0.3.9"; sha256="0z8k7hcnc4galr1afwk7zjdjbn298jgzawc09afq6pnhl5mjiya0"; depends=[BiocGenerics Biostrings dendextend DT GenomicRanges ggfortify ggplot2 heatmaply magrittr plotly R6 reshape2 S4Vectors shiny shinydashboard shinyWidgets vegan]; };
+  pagoo = derive2 { name="pagoo"; version="0.3.12"; sha256="16d935lwsx2b9g57k8sh48pc6ldgga0q6z2pgm6p4ia07l0p4rd4"; depends=[BiocGenerics Biostrings dendextend DT GenomicRanges ggfortify ggplot2 heatmaply magrittr plotly R6 reshape2 S4Vectors shiny shinydashboard shinyWidgets vegan]; };
   painbow = derive2 { name="painbow"; version="1.0.1"; sha256="10c8spknh7sqa4vl0q4bjdwd03nl4qk28hj2qa9sbyb1ryc7p4j9"; depends=[ggplot2]; };
   painter = derive2 { name="painter"; version="0.1.0"; sha256="0qr6p13h50rlavcsamxmijfr4dfrbv1k088m28qf8a4gam3ap85b"; depends=[]; };
   paintmap = derive2 { name="paintmap"; version="1.0"; sha256="1qw5725yjymxmfhffqjx4lbmzj437c7qwr8xrzmf52f0m28nl3vk"; depends=[]; };
   pairedCI = derive2 { name="pairedCI"; version="0.5-4"; sha256="03wf526n3bbr2ai44zwrdhbfx99pxq1nbng9wsbndrdg2ji4dar2"; depends=[]; };
-  pairheatmap = derive2 { name="pairheatmap"; version="1.0.1"; sha256="1awmqr5n9gbqxadkblpxwcjl9hm73019bwwfwy1f006jpn050d6l"; depends=[]; };
   pairsD3 = derive2 { name="pairsD3"; version="0.1.0"; sha256="0ql6pqijf24pfyid52hmf5fmh4w1ca3sm47z9vknqpnjbn47v8q2"; depends=[htmlwidgets shiny]; };
   pairwise = derive2 { name="pairwise"; version="0.5.0-2"; sha256="1h1rqh3c40am73zsg4k8zwb14jipjl2pn2znippsnz3sn6plvm8g"; depends=[]; };
   pairwiseCI = derive2 { name="pairwiseCI"; version="0.1-27"; sha256="0yp9nibdrsddjqq6vdlfbpvmfgm209h99b6qqqd6wgfzng327822"; depends=[boot coin MASS MCPAN mcprofile]; };
@@ -13668,7 +13824,7 @@ in with self; {
   pals = derive2 { name="pals"; version="1.7"; sha256="18pbivmqs9yqsb6p8anv42alny0njaq3dajibhzysax0b7rsk2js"; depends=[colorspace dichromat mapproj maps]; };
   pamctdp = derive2 { name="pamctdp"; version="0.3.2"; sha256="0qs8lj5g2fx5rfd0afv76x9x7wqm333qmjv6zzip6pf11dzkghyj"; depends=[ade4 FactoClass xtable]; };
   pamm = derive2 { name="pamm"; version="1.121"; sha256="191f0g90s1m3w68mszmdsdv5yw7xd1vsdbwsfvmyydgxn4261pwk"; depends=[lattice lme4 lmerTest mvtnorm]; };
-  pammtools = derive2 { name="pammtools"; version="0.5.7"; sha256="09qz67f9qxvsb997vnd6znh9q5x23f33kiz6gyvix7flam317p9n"; depends=[checkmate dplyr Formula ggplot2 lazyeval magrittr mgcv mvtnorm pec purrr rlang survival tibble tidyr vctrs]; };
+  pammtools = derive2 { name="pammtools"; version="0.5.8"; sha256="14yang78y4a9qd9haqbzpc6hb5z8zhfar91r187bzy4417fpw69p"; depends=[checkmate dplyr Formula ggplot2 lazyeval magrittr mgcv mvtnorm pec purrr rlang survival tibble tidyr vctrs]; };
   pampe = derive2 { name="pampe"; version="1.1.2"; sha256="092n04nrp886kd163v32f5vhp9r7gnayxzqb6pj57ilm5w1yrcsk"; depends=[leaps]; };
   pamr = derive2 { name="pamr"; version="1.56.1"; sha256="0ycpgkk23y3zzkb42n2skcyl35ps1n7jmyzfj7pbxr3f6gr2grfh"; depends=[cluster survival]; };
   pan = derive2 { name="pan"; version="1.6"; sha256="1dk3jjj826p7xrz10qz04vyc068xnypg7bp0pj4c32z3da0xzh5d"; depends=[]; };
@@ -13680,14 +13836,15 @@ in with self; {
   panelr = derive2 { name="panelr"; version="0.7.6"; sha256="0vc57c261n9himhxs0yy2pd5vd935cg42hf6jnk84y61glw7dgxk"; depends=[crayon dplyr Formula ggplot2 jtools lme4 lmerTest magrittr purrr rlang stringr tibble]; };
   panelvar = derive2 { name="panelvar"; version="0.5.3"; sha256="1ckllb14k2xrnbwi5z84f6003f61vdbw0wcsa4vsma0yp4iybh0q"; depends=[ggplot2 knitr MASS Matrix matrixcalc progress reshape2 texreg]; };
   pangaear = derive2 { name="pangaear"; version="1.1.0"; sha256="1x1dbf7jahzc5s4gs0hn6xpw35xxbgp61aym50k384pavsdm9xgw"; depends=[crul hoardr jsonlite oai png tibble xml2]; };
+  panstarrs = derive2 { name="panstarrs"; version="0.1.0"; sha256="0a5b9mzqnvcf0xrd814gnf2nd8incclx214x1k0c3x2zpqbf9p02"; depends=[attempt dplyr glue httr jsonlite magrittr purrr RCurl readr rlang stringr]; };
   papayar = derive2 { name="papayar"; version="1.0"; sha256="11vkjhazfwfixsr6dba5jrcsr3r3mqgvj5s070b4gp70d6k1z8s5"; depends=[htmltools neurobase oro_nifti servr]; };
   papci = derive2 { name="papci"; version="0.1.0"; sha256="0ma1pfwgmj6qcg23yzhbnqip4qnxhsmfnvrgrr3ln65q5plmvh58"; depends=[binom dplyr DT Hmisc PropCIs ratesci readxl shiny shinythemes tidyverse]; };
   papeR = derive2 { name="papeR"; version="1.0-5"; sha256="095qfgv6h3sl5p69gm1v0qh9axap8gq2a9a3v95688fia2ppym4x"; depends=[car gmodels xtable]; };
   paperplanes = derive2 { name="paperplanes"; version="0.0.1.9"; sha256="1d9grc95xqxn91lvk8v7w3z90bhl8savkhihwshyjp8ij2xpzfkl"; depends=[]; };
   parSim = derive2 { name="parSim"; version="0.1.4"; sha256="0iswcw52skx1hxb9bv9ihhwwyybprsk2615pmijsxp0bkzgsjc88"; depends=[dplyr pbapply snow]; };
   parade = derive2 { name="parade"; version="0.1"; sha256="07x02j9jlldz4p0cyhw292041l3pziv56bhbzp4f0qpxhcbn5zn4"; depends=[]; };
-  paradox = derive2 { name="paradox"; version="0.7.1"; sha256="1difp0bzsfxcmbm1snahh3i6417k1a2w4mnjx65p20n2yiclmrgs"; depends=[backports checkmate data_table mlr3misc R6]; };
-  parallelDist = derive2 { name="parallelDist"; version="0.2.4"; sha256="0gqf9vi9hlbflxj941jv7hli8jiy2sqg8b312h401f8rkfqa9ckv"; depends=[Rcpp RcppArmadillo RcppParallel]; };
+  paradox = derive2 { name="paradox"; version="0.8.0"; sha256="1jfzbpqi1rp3r8hnk37dqwggp48ha5bnilmdz7dwzfdaskssycxa"; depends=[backports checkmate data_table mlr3misc R6]; };
+  parallelDist = derive2 { name="parallelDist"; version="0.2.6"; sha256="01ly4hxwa64a0ya5gla8rvv72s9mcknsfznivjkh937pbjwb7iih"; depends=[Rcpp RcppArmadillo RcppParallel]; };
   parallelMCMCcombine = derive2 { name="parallelMCMCcombine"; version="2.0"; sha256="18xw0s9lga2w981cx4daywp6b6gxvgl9mh68r13c5mmhis3b8v14"; depends=[mvtnorm]; };
   parallelML = derive2 { name="parallelML"; version="1.2"; sha256="05j0rb81i8342m8drwgmgi1w30q96yf501d83cdq4zhjbchphbl1"; depends=[doParallel foreach]; };
   parallelMap = derive2 { name="parallelMap"; version="1.5.1"; sha256="1qg7zpz5sd9jp8wzjqahkhipwj1jn192llwg06q4gv9mlcsac261"; depends=[BBmisc checkmate]; };
@@ -13695,7 +13852,7 @@ in with self; {
   parallelly = derive2 { name="parallelly"; version="1.30.0"; sha256="0fwzkzw9vjblwk5rg56yl8qfn7irnbpm70405lmj7awvf35q1c5a"; depends=[]; };
   param6 = derive2 { name="param6"; version="0.2.3"; sha256="1d4fhs82qpb18480wg6i1q59kw65hqvafv5nb7p7jqys16mmsj3i"; depends=[checkmate data_table dictionar6 R6 set6]; };
   paramGUI = derive2 { name="paramGUI"; version="2.1.4"; sha256="0k2wkl99ji3w7xmd9k7zzvrr3dbf3237q7lxm527dnrq331pmxmi"; depends=[colorspace fields shiny shinydashboard TIMP]; };
-  parameters = derive2 { name="parameters"; version="0.15.0"; sha256="0f06bwlc1g0xdyhdqzx8plfx1jwk8a9j4lcbl91wjsil8wja0bkl"; depends=[bayestestR datawizard insight]; };
+  parameters = derive2 { name="parameters"; version="0.16.0"; sha256="1i295d5nqjr3pvp9vz59wiasrxy9n78q518phcd15sxcjzcj0l27"; depends=[bayestestR datawizard insight]; };
   paramhetero = derive2 { name="paramhetero"; version="0.2.0"; sha256="16gvs8328bnqvhx47f0xwnmbmlakxmp4ivnjxk2b13z6qjs70ij4"; depends=[ggplot2 ggpubr lme4 survey]; };
   paramlink = derive2 { name="paramlink"; version="1.1-2"; sha256="0y6wsrxwyavipmrjjznr2n920w0p6qlwapxc9mnkh9c6w3yznka2"; depends=[assertthat kinship2 maxLik]; };
   paramlink2 = derive2 { name="paramlink2"; version="1.0.3"; sha256="0ypn0fdrphblw64sdnfmyf9q4zbakqvl4xzr451phvhx52n1gb73"; depends=[pedprobr pedtools]; };
@@ -13720,8 +13877,6 @@ in with self; {
   parsnip = derive2 { name="parsnip"; version="0.1.7"; sha256="12chngdzplwkk1c9k8y7cwaqlyy72yamlknp7ksg7g9p3b58f1fb"; depends=[dplyr generics globals glue hardhat lifecycle magrittr prettyunits purrr rlang tibble tidyr vctrs]; };
   partDSA = derive2 { name="partDSA"; version="0.9.14"; sha256="1kp0cdsdjiay349jz22iqfzvspny8s343cfan8xahgf931k9h8p6"; depends=[survival]; };
   partR2 = derive2 { name="partR2"; version="0.9.1"; sha256="06ky0hhrq0mcsn9rwrzvwn0rrjj0l8rxs0hqp10668gdq5hjk8bn"; depends=[dplyr ggplot2 lme4 magrittr pbapply purrr rlang tibble tidyr]; };
-  partialAR = derive2 { name="partialAR"; version="1.0.12"; sha256="0fv1ffgqdbl04b4cmfmvzwah8ms9cxx3dsdralkk92bxxhybcjsl"; depends=[data_table ggplot2 KFAS MASS plot3D Rcpp tseries urca zoo]; };
-  partialCI = derive2 { name="partialCI"; version="1.2.0"; sha256="0hi936yg4g5bg61ix2i68f8q4c5nvvshl2728ynz1rl970qfcrp7"; depends=[data_table ggplot2 glmnet KFAS MASS partialAR Rcpp TTR zoo]; };
   partialOR = derive2 { name="partialOR"; version="0.9"; sha256="02vbvln8lswysaafpxq5rxb6crp7yhlc13i42kybv8fr10jaagjj"; depends=[nnet]; };
   particle_swarm_optimisation = derive2 { name="particle.swarm.optimisation"; version="1.0"; sha256="0y3pq129irxifiph40mf027gbc02c4pwkchs305pcbj3vr9pwsyw"; depends=[R6 rgl]; };
   particles = derive2 { name="particles"; version="0.2.2"; sha256="0pncfpk89hsfjch8h5b86rx7hsgdyg9bsxc54f5bf0y8gh9v98qj"; depends=[digest dplyr igraph magrittr mgcv Rcpp rlang tidygraph]; };
@@ -13788,7 +13943,8 @@ in with self; {
   pbatR = derive2 { name="pbatR"; version="2.2-13"; sha256="01ra1ggdpxdl1xqjdh86qynr5gkgzw01ww6j9bwgx4mj20i6j1ha"; depends=[rootSolve survival]; };
   pbbd = derive2 { name="pbbd"; version="1.0.0"; sha256="07g029qw5949500c879iv86zwg2fldqrz8wzfz335jmcinqimgj6"; depends=[ibd]; };
   pbdMPI = derive2 { name="pbdMPI"; version="0.4-4"; sha256="006pm2yn4mdrpwhfflqcybzv41lz7zssrjrcpq5g98zf60p9c07a"; depends=[float rlecuyer]; };
-  pbdZMQ = derive2 { name="pbdZMQ"; version="0.3-6"; sha256="0yy3x3l04vx13jbjbvkvsc8jdbf0abndjfknszdx3bi18b2chi4r"; depends=[]; };
+  pbdSLAP = derive2 { name="pbdSLAP"; version="0.3-2"; sha256="0zriqilakcpj874wv2jrji4djvgj773xf8rz13bir8vyspkyhh10"; depends=[pbdMPI rlecuyer]; };
+  pbdZMQ = derive2 { name="pbdZMQ"; version="0.3-7"; sha256="020qy6fq8w8wq0j3bii14ahrlg8wzl0lrnndfr6scmrg9ghjnbfz"; depends=[]; };
   pbivnorm = derive2 { name="pbivnorm"; version="0.6.0"; sha256="05jzrjqxzbcf6z245hlk7sjxiszv9paadaaimvcx5y5qgi87vhq7"; depends=[]; };
   pbixr = derive2 { name="pbixr"; version="0.1.4"; sha256="098fwmar56l8w5r58grirqypdmc2c4hil7bi11z18llja62fncnw"; depends=[dplyr formatR jsonlite stringr textclean xml2 zip]; };
   pbkrtest = derive2 { name="pbkrtest"; version="0.5.1"; sha256="1if7msv9i7jhg1as1f7m81a95dnwhwj3yfs24bqr0f6r0ch4b8xj"; depends=[broom dplyr knitr lme4 magrittr MASS Matrix numDeriv]; };
@@ -13827,12 +13983,12 @@ in with self; {
   pcse = derive2 { name="pcse"; version="1.9.1.1"; sha256="1rb9146vjkf36vc5v3frykmsff7kp6qp1hhmj8pak583in4rz8f8"; depends=[]; };
   pcsstools = derive2 { name="pcsstools"; version="0.1.1"; sha256="1vp4lflxzzgjfh1nkkfvnb74pjmbcdgrc1hlakjd8i5rw7swvr20"; depends=[gtools Rdpack]; };
   pct = derive2 { name="pct"; version="0.9.3"; sha256="1y3cmqirh003hyg80bnl0rpbcp9h9bzlv0lbjxq0wmvsb84hbqbn"; depends=[boot readr sf stplanr]; };
-  pcts = derive2 { name="pcts"; version="0.15"; sha256="1wl3hgj0sn9128vwcqin37jn5ww3na4g7r1isj39j6m2v76s3ndk"; depends=[BB gbutils lagged lubridate Matrix mcompanion PolynomF Rdpack sarima xts zoo]; };
+  pcts = derive2 { name="pcts"; version="0.15.2"; sha256="06dkhpgbn11048hfp4hmrrqaymz50zmv2940496hmqy5c5zfdmd3"; depends=[BB gbutils lagged lubridate Matrix mcompanion PolynomF Rdpack sarima xts zoo]; };
   pdR = derive2 { name="pdR"; version="1.7"; sha256="05rnyb9znb71ilr9kf62x30knby1rm0p4ain220wvb62vkz054d7"; depends=[boot car coefplot lmtest papeR plm sandwich]; };
   pdSpecEst = derive2 { name="pdSpecEst"; version="1.2.4"; sha256="1sf2d7vh7a1qc0cq230an8pzg9qi9g640z0ql8x2pp9wfawfzn1f"; depends=[ddalpha multitaper Rcpp RcppArmadillo Rdpack]; };
   pda = derive2 { name="pda"; version="1.0-2"; sha256="1y067d3v9qlirawy01nmsh4fdynfh80mvg9r55kkban2z7xhql9j"; depends=[data_table httr jsonlite Rcpp RcppArmadillo rvest survival]; };
   pdc = derive2 { name="pdc"; version="1.0.3"; sha256="0503n7aiy0qrl790yfjvpm7bbyz1i4818rlg96q0fvzb58zqmyvc"; depends=[]; };
-  pder = derive2 { name="pder"; version="1.0-1"; sha256="147fc5swmh0qrg7k3q3gpnvl9f7hhjjzwi8f5dc4fkyj14qi5bm5"; depends=[]; };
+  pder = derive2 { name="pder"; version="1.0-2"; sha256="0qrf0igxzalvsanj1mqryi0xl9lq0wlpg8bbgasbx3ibq4yqwn0s"; depends=[plm]; };
   pdfCluster = derive2 { name="pdfCluster"; version="1.0-3"; sha256="13m7b2wivvf58vyqbysj4r04w0nj2b5x0xnaxip712a6c66x1h7l"; depends=[geometry]; };
   pdfetch = derive2 { name="pdfetch"; version="0.2.5"; sha256="0dfi259yyhydfbrq09m3x8m12bxpmhm1l187b8m85mp38hwpz504"; depends=[curl httr jsonlite lubridate reshape2 stringr XML xml2 xts zoo]; };
   pdfminer = derive2 { name="pdfminer"; version="1.0"; sha256="0hm9nalazqcg4n1sqcjan8wm1rvv4lnflmlkrqkj5yhhmza7xkfh"; depends=[checkmate jsonlite]; };
@@ -13856,7 +14012,7 @@ in with self; {
   pearson7 = derive2 { name="pearson7"; version="1.0-3"; sha256="0vdhhds1lngaff7dkx4b1az3syqw8b22w2jskcrw0m49wp1dbbha"; depends=[]; };
   pec = derive2 { name="pec"; version="2021.10.11"; sha256="1cb63qrc1lwds5kv55jd2mibsw49bpfaj066kwhs1wgby25h8ydi"; depends=[foreach lava prodlim riskRegression rms survival timereg]; };
   pecora = derive2 { name="pecora"; version="0.1.1"; sha256="0l66brd5d24hn279ck785jy4qnxiv9lc3d1czh4f3l25d0hj99xi"; depends=[matrixStats Rcpp RcppArmadillo]; };
-  pedSimulate = derive2 { name="pedSimulate"; version="1.3.0"; sha256="08y5kymkm8b4a2vymfm9gk0igfd7vbzlz5wjigxiqhlfjggl16jr"; depends=[]; };
+  pedSimulate = derive2 { name="pedSimulate"; version="1.3.1"; sha256="0rbk8w742i8s9avn9xn8290nkd2mb9aa7p8vzya1dk72x7l51y7b"; depends=[]; };
   pedalfast_data = derive2 { name="pedalfast.data"; version="1.0.0"; sha256="02s6igrybcfs8nyxr50iiwclhrwnq3x2x5w886imrlp2wbkf13m4"; depends=[]; };
   pedbuildr = derive2 { name="pedbuildr"; version="0.2.1"; sha256="19yzfg5jms2qnww4p8npmk9815hrgqsbd49h8pi62yy9kjqnccai"; depends=[forrel glue pedprobr pedtools]; };
   pedgene = derive2 { name="pedgene"; version="3.3"; sha256="0y6kr5ad4fmxljsj0czs9h1dkz63wvqiira9ibgsf0707xb0vh7f"; depends=[CompQuadForm kinship2 Matrix survey]; };
@@ -13865,14 +14021,15 @@ in with self; {
   pedigreemm = derive2 { name="pedigreemm"; version="0.3-3"; sha256="1bpkba9nxbaxnivrjarf1p2p9dcz6smf9k2djawis1wq9dhylvsb"; depends=[lme4 Matrix]; };
   pedmod = derive2 { name="pedmod"; version="0.1.0"; sha256="1gkln7z1dbyhl44r2mp5s4sk8az0yyzpwqq8sa9z6pa3zhw55gf7"; depends=[BH Rcpp RcppArmadillo testthat]; };
   pedmut = derive2 { name="pedmut"; version="0.3.0"; sha256="0w42jhgrkf5f1baz2jb94fyccm0wx94vg0g1px4p39jvpknz9d6a"; depends=[]; };
-  pedprobr = derive2 { name="pedprobr"; version="0.6.0"; sha256="1m5kcjwlpcxhcvk8204vxzahljpwdqdgjff01bz75fkricv4qn2d"; depends=[pedmut pedtools]; };
-  pedquant = derive2 { name="pedquant"; version="0.1.7"; sha256="0hy6dz00bgfncndkqhz2ikrmcn08s86cqcyjaj7cnpivlpwvph4i"; depends=[curl data_table ggplot2 gridExtra httr jsonlite plotly readr readxl rvest scales stringi TTR xml2 zoo]; };
-  pedsuite = derive2 { name="pedsuite"; version="1.0.4"; sha256="0cg19aln0j9grjh53yckyvzspsclqcrzm0ch2b0854bjbnrzmxz1"; depends=[dvir forrel ibdsim2 paramlink2 pedbuildr pedmut pedprobr pedtools ribd segregatr]; };
+  pedprobr = derive2 { name="pedprobr"; version="0.6.1"; sha256="0rz5i03d75nlli8m186b4a1yy3yx54cvm8hvp603ziglp2b5mf2y"; depends=[pedmut pedtools]; };
+  pedquant = derive2 { name="pedquant"; version="0.1.8"; sha256="0rzpnsf6d509f4wkkdcrsw7rfdlvg12mr25ha3dy6a47nqscxlhp"; depends=[curl data_table ggplot2 gridExtra httr jsonlite PerformanceAnalytics plotly readr readxl rvest scales stringi TTR webdriver xml2 zoo]; };
+  pedsuite = derive2 { name="pedsuite"; version="1.1.0"; sha256="19vbfn8dy7a4hrrv8zsja721lchng55gvc26xlkzx5dl96d2xp9w"; depends=[dvir forrel ibdsim2 paramlink2 pedbuildr pedmut pedprobr pedtools ribd segregatr verbalisr]; };
   pedtools = derive2 { name="pedtools"; version="1.1.0"; sha256="0cm2arhn81dl4w26rc701f8b7ldz1r1ad7g7lnw67lq2irnfkgfg"; depends=[kinship2]; };
   peermodels = derive2 { name="peermodels"; version="0.10.2"; sha256="0zmkpfgji375155h8sgz2n1vw2ir9z0n6hd6ha3as3af797bx7f4"; depends=[httr jsonlite stringr]; };
   pegas = derive2 { name="pegas"; version="1.1"; sha256="0ngd0laqbs139ji9hm9kwsm9rm56agw2yyfcplxgqva936l93fl7"; depends=[ape]; };
   pema = derive2 { name="pema"; version="0.1.0"; sha256="0z56r7jjigyw3lxf2bvzhfb3a7bs79pj4w7r9qg231z30sf4m1fz"; depends=[BH Rcpp RcppEigen RcppParallel rstan rstantools sn StanHeaders]; };
   pems_utils = derive2 { name="pems.utils"; version="0.2.29.1"; sha256="0nmawl1l2wf77r02qpazqwm5708fk98k7l07wyybviwb1j3x1pqj"; depends=[baseline dplyr ggplot2 lattice latticeExtra loa RColorBrewer Rcpp rlang]; };
+  penAFT = derive2 { name="penAFT"; version="0.2.0"; sha256="1sqxw3kny7ys9b0zldnfdblg50zccp6kscqy0sx0h7g577zdyk09"; depends=[ggplot2 irlba Matrix Rcpp RcppArmadillo]; };
   penDvine = derive2 { name="penDvine"; version="0.2.4"; sha256="0znpvsr7zy2wgy7znha1qiajcrz1z6mypi3f5hpims33z7npa7dl"; depends=[doParallel fda foreach lattice latticeExtra Matrix quadprog TSP]; };
   penMSM = derive2 { name="penMSM"; version="0.99"; sha256="1xdcxnagvjdpgnfa5914gb41v5y4lsvh63lbz1d2l8bl9mpff3lm"; depends=[Rcpp]; };
   penPHcure = derive2 { name="penPHcure"; version="1.0.2"; sha256="1c90d6f78npvzsvcy9vh8s6izfgbcxzly37lpwhqgdl5daww03l1"; depends=[MASS Rcpp RcppArmadillo Rdpack survival]; };
@@ -13910,7 +14067,7 @@ in with self; {
   permubiome = derive2 { name="permubiome"; version="1.3.1"; sha256="0a4swfkmqqr8a1psc6rlnxnpm43fj42gjkikcqy8d84wrfz2wrr9"; depends=[dabestr ggplot2 gridExtra Matrix rlang]; };
   permuco = derive2 { name="permuco"; version="1.1.1"; sha256="09n0q0p98bcbsp9n6hf4i6jfpnp0j0f97idz2bc8jp2qx5pcr7am"; depends=[Matrix permute Rcpp]; };
   permutations = derive2 { name="permutations"; version="1.0-9"; sha256="1701jah8i9frw3cbqlri2l56lansw54l3pp9h1fy36a8ahhcllkg"; depends=[magic numbers partitions]; };
-  permute = derive2 { name="permute"; version="0.9-5"; sha256="0ra8p5mf2590azrkas8z2ry7mif77xqxd29n4zgyi5vll225726j"; depends=[]; };
+  permute = derive2 { name="permute"; version="0.9-7"; sha256="1h4dyhcsv8p3h3qxsy98pib9v79dddvrnq7qx6abkblsazxqzy7g"; depends=[]; };
   permutes = derive2 { name="permutes"; version="2.3.2"; sha256="0xnd44769kxspvsw3yf0alji25vdbvnva8bxaq9filvfx95kcaqp"; depends=[plyr]; };
   perry = derive2 { name="perry"; version="0.3.1"; sha256="0c3i9dc6hfdjfkjq2p630w6l1pz21mmqb8p0ikv6m159cfl3i3nq"; depends=[ggplot2]; };
   perryExamples = derive2 { name="perryExamples"; version="0.1.1"; sha256="1abfrri0lq7iwdlk1qfzlq8378xpyvzfwcg1i18rmndfwsyyihjp"; depends=[lars perry quantreg robustbase]; };
@@ -13955,8 +14112,9 @@ in with self; {
   phase1RMD = derive2 { name="phase1RMD"; version="1.0.9"; sha256="0dnyqa6jias2jqjqjpiq32jnd21ghb2shw45vdq8b5xyb8rxclwj"; depends=[arrayhelpers boot coda ggplot2 mvtnorm rjags]; };
   phaseR = derive2 { name="phaseR"; version="2.1.3"; sha256="1xqh6k8zl0jc2srklb8vg57f88kssm80b286asg2cawanj06qs2k"; depends=[deSolve]; };
   phateR = derive2 { name="phateR"; version="1.0.7"; sha256="16xb6fy0aa024054jwfbavjbzhwj6g4p6yrzy1lnzvpn8kb23hn5"; depends=[ggplot2 Matrix memoise reticulate]; };
-  phd = derive2 { name="phd"; version="0.1"; sha256="1scwan3pkhdl0nyhpjrkcal1f58x0jkdkhixdcxppr1363r1v22a"; depends=[glmnet]; };
+  phd = derive2 { name="phd"; version="0.2"; sha256="14ck98h8ivaw88ybl5pwv70s5jwhkhdgmxg7q0b5bphj8hyf616r"; depends=[glmnet]; };
   pheatmap = derive2 { name="pheatmap"; version="1.0.12"; sha256="1hdh74az3vyzz6dqa311rhxdm74n46lyr03p862kn80p0kp9d7ap"; depends=[gtable RColorBrewer scales]; };
+  phecodemap = derive2 { name="phecodemap"; version="0.1.0"; sha256="12dhyzazdsf938zp7i4ckbh2h5fvxg209mb4mq319akp34746h50"; depends=[collapsibleTree config dplyr DT golem plotly purrr readr rintrojs shiny shinyBS shinycssloaders shinydashboard shinydashboardPlus]; };
   phenModel = derive2 { name="phenModel"; version="1.0"; sha256="07jsc8jiwgxvhv4m6nr7llm22zzh5hd3pakw5c93jzim2835zvkp"; depends=[dplyr ggplot2 reshape]; };
   phenability = derive2 { name="phenability"; version="2.0"; sha256="0can8qgdpfr4h6jfg23cnwh7hhmwv6538wg2jla9w138la7rhpd1"; depends=[calibrate]; };
   phenesse = derive2 { name="phenesse"; version="0.1.2"; sha256="1f5m8pq1n6x9ic4b0cb7j3dwfn1xfkbbpn0zr32frkiai3jmzv3j"; depends=[boot fitdistrplus]; };
@@ -13979,7 +14137,7 @@ in with self; {
   phonfieldwork = derive2 { name="phonfieldwork"; version="0.0.11"; sha256="0a5qnl1r8g0h1nsp22awp6hy0lkdi6adc729grpz8mbniz4vdlkc"; depends=[phonTools rmarkdown tuneR uchardet xml2]; };
   phonics = derive2 { name="phonics"; version="1.3.10"; sha256="1g4gmfz190xaj800gawl79fzhmgimssa31kqzw8a70scp5psz3fw"; depends=[BH data_table Rcpp]; };
   phosphoricons = derive2 { name="phosphoricons"; version="0.1.1"; sha256="0krb1gl5h6k6m289f0hjizrx6ysmv21z9a4h7k6fip0r26fjili6"; depends=[htmltools]; };
-  photobiology = derive2 { name="photobiology"; version="0.10.8"; sha256="155pw8ylgnyg5r5z1sir3gnhpp7607w9anxqwlvhwvq2pi0gvfv0"; depends=[dplyr lubridate plyr polynom rlang splus2R stringr tibble tidyr zoo]; };
+  photobiology = derive2 { name="photobiology"; version="0.10.9"; sha256="0fjiwp6hpb1fgzv4qfmljrnarvrnwsdy0rqz735mrizxdn1qigqg"; depends=[dplyr lubridate plyr polynom rlang splus2R stringr tibble tidyr zoo]; };
   photobiologyFilters = derive2 { name="photobiologyFilters"; version="0.5.2"; sha256="0n987klwyj06xikmvg9cvsjzrxll1d7p358jw4ls0j46byki98s5"; depends=[photobiology]; };
   photobiologyInOut = derive2 { name="photobiologyInOut"; version="0.4.23"; sha256="1g73pjh7yqbdn8sd8r3w19l67yvmxyxd2zwsvywvdh1jj2cn6s7h"; depends=[anytime colorSpec dplyr lazyeval lubridate photobiology readr readxl stringr tibble tidyr]; };
   photobiologyLEDs = derive2 { name="photobiologyLEDs"; version="0.4.3-1"; sha256="0inhl6ba1fzkak4752m60hkm6fzapzyz5kchvz18yv33dmm13v1c"; depends=[photobiology]; };
@@ -13987,7 +14145,7 @@ in with self; {
   photobiologyPlants = derive2 { name="photobiologyPlants"; version="0.4.2"; sha256="0ab5ks72mb5x03xc0ww9fcl0h13ja8402b1s670lqmmhyvp6fj3s"; depends=[photobiology photobiologyWavebands]; };
   photobiologySensors = derive2 { name="photobiologySensors"; version="0.5.0"; sha256="122cfy6nsxngd8hnbq5frkgnzrb9fxw83l7mfwk0wy6gx7zsfx5s"; depends=[photobiology]; };
   photobiologySun = derive2 { name="photobiologySun"; version="0.4.1"; sha256="15wp8q29m5c4qplind9098ikxmm1r60lw8cm0pa48lmh33638ia3"; depends=[photobiology]; };
-  photobiologyWavebands = derive2 { name="photobiologyWavebands"; version="0.4.4"; sha256="04bl72jaxm7vfvzss3wxjqf7p4l6rrqv11a7gqyfg0xqy18clnhx"; depends=[photobiology]; };
+  photobiologyWavebands = derive2 { name="photobiologyWavebands"; version="0.4.5"; sha256="0lvj5birzzjrkcikg515zgxa2gd06bsbr5i575y9ppxw7kbyqga9"; depends=[photobiology]; };
   photosynthesis = derive2 { name="photosynthesis"; version="2.0.1"; sha256="0drbic4sdx841pzcqvi0gkny7qrnzixlc0wsr6m0llh7pfyl99s6"; depends=[checkmate crayon dplyr furrr future ggplot2 glue gunit magrittr minpack_lm nlme pkgnet purrr rlang stringr tealeaves tidyselect units]; };
   phuassess = derive2 { name="phuassess"; version="1.1"; sha256="0jplj9gih32dllx2hw5aqvc9b94sbrbv66s3a5r8mdbpjh93rhng"; depends=[]; };
   phyclust = derive2 { name="phyclust"; version="0.1-30"; sha256="0fy9q95vmlm9idpax7alhpfwn30gflnc9md72g91jypyxkx5nr7p"; depends=[ape]; };
@@ -14012,9 +14170,11 @@ in with self; {
   phyr = derive2 { name="phyr"; version="1.1.0"; sha256="0jvjxvxx2nz9ra9vp00bmm3dxr2am4zs8cvxij8w4jjyskznxc96"; depends=[ape dplyr gridExtra latticeExtra lme4 Matrix mvtnorm nloptr Rcpp RcppArmadillo tidyr]; };
   phyreg = derive2 { name="phyreg"; version="1.0.2"; sha256="0m1psq79zl7h8791pl8g6i0ybda7vgddza8r9mwqhg4sw1q4bzcp"; depends=[]; };
   physiology = derive2 { name="physiology"; version="1.2.1"; sha256="1z7xymwgj7bqn0yvcz3q8pvwhpr5vx5qd0x8sayal1vgpqc0nccb"; depends=[Rcpp]; };
+  physx = derive2 { name="physx"; version="1.0"; sha256="1b6bx08jzfg4pxicawkn013bqrvqkp19pigxl3iwjrqclvi8mx73"; depends=[celestial cubature data_table docore MASS pracma Rcpp]; };
   phytools = derive2 { name="phytools"; version="1.0-1"; sha256="1j0s7ai3mmhsc94m4gka11mnw9ryvrhnf7s8298i21a2xhsmvgxp"; depends=[ape clusterGeneration coda combinat expm maps MASS mnormt nlme numDeriv phangorn plotrix scatterplot3d]; };
   phytotools = derive2 { name="phytotools"; version="1.0"; sha256="049znviv2vvzv23biy1l28axm7bc7biwmq4bnn0cnjqgkk48ysz3"; depends=[FME insol]; };
   piRF = derive2 { name="piRF"; version="0.1.0"; sha256="04k09ylc6hqw57dlv7sfnisn1167dr550y1j9xl7prvlf3jksg06"; depends=[Rdpack]; };
+  piar = derive2 { name="piar"; version="0.3.2"; sha256="1z78cf0zqxfdx4lqip17v3c7jdkq1g8db8231az8bv527n2gqh8p"; depends=[gpindex]; };
   picante = derive2 { name="picante"; version="1.8.2"; sha256="19savjzj44b7ifdxcp02ynj22z4n4ikq2aipc74ljzy3yykmqmjn"; depends=[ape nlme vegan]; };
   picasso = derive2 { name="picasso"; version="1.3.1"; sha256="1z7zm88wjp7fia7054l7i55f152iddrjj9wbcpcskhc8s6kfg53c"; depends=[MASS Matrix]; };
   pid = derive2 { name="pid"; version="0.50"; sha256="05s3xqf95d4avh7gkr49jsm8jzacbv694c3wgppkkc40zip6vkc7"; depends=[DoE_base FrF2 FrF2_catlg128 ggplot2 png]; };
@@ -14022,7 +14182,7 @@ in with self; {
   piecepackr = derive2 { name="piecepackr"; version="1.9.2"; sha256="01vwp0h4955g9vbblsiq1m4mgc6ilx6iryfv07n81yd6b6s0690d"; depends=[backports gridGeometry grImport2 jpeg png purrr R6 stringr tibble]; };
   piecewiseSEM = derive2 { name="piecewiseSEM"; version="2.1.2"; sha256="1qxwc1drx26p4cgymrfjmg5i7ypl7gddv40virkpmc0qaag9pq36"; depends=[car DiagrammeR emmeans igraph lme4 MASS multcomp nlme]; };
   piggyback = derive2 { name="piggyback"; version="0.1.1"; sha256="1d448hkk772d21ix1l1cgq2a0spyjnppyrn1myjcv3dcrfxndn83"; depends=[clisymbols crayon fs gh httr jsonlite lubridate memoise]; };
-  pillar = derive2 { name="pillar"; version="1.6.4"; sha256="17m13rzgwdddwa0n3gpmax6wmfaphbg71l13ffhw5vnxf6i94fh3"; depends=[cli crayon ellipsis fansi lifecycle rlang utf8 vctrs]; };
+  pillar = derive2 { name="pillar"; version="1.7.0"; sha256="1fqk18vc9ashf12gdqkdi6n1nj5lh324vwhgiib3b2fcb2bghhbq"; depends=[cli crayon ellipsis fansi glue lifecycle rlang utf8 vctrs]; };
   pim = derive2 { name="pim"; version="2.0.2"; sha256="0kwlm6n23ccs0jz4plsqprg6inj3qv74zhvg9gpxyj3ksvdxp58i"; depends=[BB nleqslv]; };
   pimeta = derive2 { name="pimeta"; version="1.1.3"; sha256="1mx0m438db4n041bns6sm8sr8vrj6w8b2kvpmrkkp0bly2vpv40q"; depends=[ggplot2 Rcpp RcppEigen scales]; };
   pinbasic = derive2 { name="pinbasic"; version="1.2.2"; sha256="0mcw68wrixz2jf62nfifdgg8bnp4h1p3byivz28wi61blj8iaa75"; depends=[fastcluster ggplot2 lubridate Rcpp reshape2 scales]; };
@@ -14063,7 +14223,7 @@ in with self; {
   pkgcond = derive2 { name="pkgcond"; version="0.1.1"; sha256="03a4blq3niw1mljzylamvmr3l43czqlww4i6n7zb0dlym9x8gs1w"; depends=[assertthat]; };
   pkgconfig = derive2 { name="pkgconfig"; version="2.0.3"; sha256="0l1qph8zyi2sic3k2qcd7vlfl7rzfh1q7z7zvjkl5f7y1x2fy3rk"; depends=[]; };
   pkgdepends = derive2 { name="pkgdepends"; version="0.2.0"; sha256="152dpxrsdw5rp0zi0h65p6q0a2hs076wbjpslj5hhqwnwphdpbsr"; depends=[callr cli crayon curl desc filelock glue jsonlite lpSolve pkgbuild pkgcache prettyunits processx ps R6 rematch2 rprojroot tibble withr zip]; };
-  pkgdown = derive2 { name="pkgdown"; version="2.0.1"; sha256="154pcj6ggr3g1pdlvnyzh2xssiz7vb88pclzwc0wcck5kyrwnvmp"; depends=[bslib callr crayon desc digest downlit fs httr jsonlite magrittr memoise purrr ragg rlang rmarkdown tibble whisker withr xml2 yaml]; };
+  pkgdown = derive2 { name="pkgdown"; version="2.0.2"; sha256="11grx7a2rz6b4kwspm7c8crjav677c22hysnp4bkwh5g8kr5nm2h"; depends=[bslib callr crayon desc digest downlit fs httr jsonlite magrittr memoise purrr ragg rlang rmarkdown tibble whisker withr xml2 yaml]; };
   pkgfilecache = derive2 { name="pkgfilecache"; version="0.1.4"; sha256="1fr650yb4wjz6flq4f8p2p5bck5q4kkrhlhlwjn832payq9p4zsp"; depends=[downloader rappdirs]; };
   pkggraph = derive2 { name="pkggraph"; version="0.2.3"; sha256="1isiywgm20rypc5qr03p0k7lis76zzd96x5ncbvia644d2n13brm"; depends=[curl data_table dplyr ggnetwork ggplot2 htmltools igraph intergraph Matrix network networkD3 plyr RColorBrewer tibble]; };
   pkglite = derive2 { name="pkglite"; version="0.2.0"; sha256="1qjym8kkbmzdz46xn6a4ir8b07ws30s3m7zdrgh98nf0vrv9bkj8"; depends=[cli magrittr remotes]; };
@@ -14096,22 +14256,24 @@ in with self; {
   pleLMA = derive2 { name="pleLMA"; version="0.2.1"; sha256="1n6q4x8qv00j0hikzzr600xgikhr462zm73zllb9n0valhmzy18z"; depends=[dfidx mlogit]; };
   pleio = derive2 { name="pleio"; version="1.6"; sha256="0av1sl0fdn2ia7ddalbvidhcnsvs36iq618s1bknjw29y5yyq020"; depends=[Matrix rms]; };
   pleiotest = derive2 { name="pleiotest"; version="1.0.0"; sha256="05mgz42wn1y7q8ffgvak22r3k40q9rv1qvpal8yycp83p7hdzg7v"; depends=[RColorBrewer Rcpp RcppArmadillo]; };
-  plfm = derive2 { name="plfm"; version="2.2.2"; sha256="1jgf3jrkdpsf77i4lf68s6sxax95c9is4nryhnzanq9i5f23j24v"; depends=[abind sfsmisc]; };
+  plfMA = derive2 { name="plfMA"; version="2.0"; sha256="14v3q4sv3inax3b1sp0i4scrz70ca9yphzikhx0z9dh2w5mggq0k"; depends=[gWidgets2 gWidgets2tcltk limma RColorBrewer tkrplot]; };
+  plfm = derive2 { name="plfm"; version="2.2.3"; sha256="18knb9bc6nvr87c60m1mjr7088r71ba3sq9hkh9j4drhl08dqwf7"; depends=[abind sfsmisc]; };
   plgp = derive2 { name="plgp"; version="1.1-7"; sha256="02g6saabrsd8pra0szbwcbilf6w5ywg2gxqb5zdvbxds2vw36hn0"; depends=[mvtnorm tgp]; };
   pliman = derive2 { name="pliman"; version="1.1.0"; sha256="0w7r5xf3n4w455wbbpwjfwzf6ia0p02v9gb23c4h1dg2v4ma4s02"; depends=[lattice]; };
   plink = derive2 { name="plink"; version="1.5-1"; sha256="0rn2i9i8af9aq0xgxhpcdchs2952lq2d2sg8x3js0zi3vcml76k0"; depends=[lattice MASS statmod]; };
   plinkFile = derive2 { name="plinkFile"; version="0.1.0"; sha256="0803hp822v9rqh4h437q2nmab19yamc4dbyi6iimm67ykp0d5xss"; depends=[]; };
   plinkQC = derive2 { name="plinkQC"; version="0.3.4"; sha256="0l5gf7wf33fhzby0n2qzph02v7an2gj2dji1i129hxsxqnynx7dy"; depends=[cowplot data_table dplyr ggforce ggplot2 ggrepel igraph optparse R_utils sys UpSetR]; };
-  plm = derive2 { name="plm"; version="2.4-3"; sha256="0b7l4gzksvh32hv9fxiwl62lik01w0x2f0skwkm2xnrc1f3mcwr3"; depends=[bdsmatrix Formula lattice lmtest MASS maxLik nlme Rdpack sandwich zoo]; };
+  plm = derive2 { name="plm"; version="2.6-0"; sha256="16i31p9r58i4hrhllgx1m6n9c1rbjpxmhb3s5lbfp68iss8h65yv"; depends=[bdsmatrix collapse Formula lattice lmtest MASS maxLik nlme Rdpack sandwich zoo]; };
   plmm = derive2 { name="plmm"; version="0.1-1"; sha256="1dfxd1mqqjy2mf7qc6mh4wx5ya9q8fkqgrf01apisb66xxx5zya7"; depends=[Formula nlme sm]; };
   pln = derive2 { name="pln"; version="0.2-2"; sha256="03jjmfr1dwz6p652y917g9rv2alyam9ws6xh9ig02d3w78b0rsv9"; depends=[]; };
   plogr = derive2 { name="plogr"; version="0.2.0"; sha256="0a8dhzlna79ggyhfr0nncgh15a9n6r0dsz664pz0ah323wpblqqf"; depends=[]; };
-  plot_matrix = derive2 { name="plot.matrix"; version="1.6"; sha256="1wx9c46333kz3cgdvczb0ywp8h29p7dmxbim3dv54jv0g5hr6m4n"; depends=[]; };
+  plot_matrix = derive2 { name="plot.matrix"; version="1.6.1"; sha256="0nw2irc7bl7pdpc8nj2yqvc942f1znsj9rn34nya611x1kgjffl7"; depends=[]; };
   plot3D = derive2 { name="plot3D"; version="1.4"; sha256="1h59zlsyzbjylaziwavppl9bjmnba4iiq34772y3dys6fqclajnh"; depends=[misc3d]; };
   plot3Drgl = derive2 { name="plot3Drgl"; version="1.0.2"; sha256="15m48rzs96mgsnlf77823z2c58gry6hab00xg40myfba8j8li1xa"; depends=[plot3D rgl]; };
   plot3logit = derive2 { name="plot3logit"; version="3.1.0"; sha256="0iwhaly6lzpfaanyy1qayl6faihw5rkcnh21czdr1g0f9rjimyrb"; depends=[dplyr ellipse forcats generics ggplot2 ggtern lifecycle magrittr purrr Rdpack stringr Ternary tibble tidyr tidyselect]; };
   plotDK = derive2 { name="plotDK"; version="0.1.0"; sha256="0lyhhc8yjxj3jhw72pn7i565z64mifi5iyc375yavs7axlcsl2nr"; depends=[dplyr ggplot2 mapproj plotly purrr rlang]; };
   plotGMM = derive2 { name="plotGMM"; version="0.2.2"; sha256="1cgjajw3dprdlq9ri0gllbxcy33x311mbp9xdds8fgq6cs42ggyb"; depends=[amerika ggplot2 wesanderson]; };
+  plotHMM = derive2 { name="plotHMM"; version="2022.1.25"; sha256="0qkr6w558aj9nbchvwi48k6m4g36zd3q2phbhl95rawsxv3dwdja"; depends=[Rcpp RcppArmadillo]; };
   plotKML = derive2 { name="plotKML"; version="0.8-2"; sha256="1hdyvff76k40lrzw4vq8azdpxzxxabgkgxixkqvnw5cda362nyfh"; depends=[aqp classInt colorRamps colorspace dismo gstat landmap pixmap plyr raster RColorBrewer rgdal scales sf sp spacetime stars stringr XML zoo]; };
   plotMCMC = derive2 { name="plotMCMC"; version="2.0.1"; sha256="0vxw6kbs1xvzi3sklxac9q1j4cbr8alr9c8fwifwyvpzpdk48ihf"; depends=[coda gplots lattice]; };
   plotMElm = derive2 { name="plotMElm"; version="0.1.5"; sha256="0wwqzrpkmq9gzazdzlk62qig6vz43niada6fxh1wcsjqjwkcccgp"; depends=[ggplot2 interactionTest]; };
@@ -14141,7 +14303,7 @@ in with self; {
   plsdepot = derive2 { name="plsdepot"; version="0.1.17"; sha256="1i00wxr451xpfy6dnvcm11aqf9106jsh5hj7gpds22ysgm4iq5w4"; depends=[]; };
   plsdof = derive2 { name="plsdof"; version="0.3-0"; sha256="1axi8bailiq9mjs0dvasy895b7c62114hdsaygxwz4zymfa6a3ny"; depends=[MASS]; };
   plsgenomics = derive2 { name="plsgenomics"; version="1.5-2"; sha256="1pvb50nv6jc99bm2hsxpzazg26y49yi24wwwim5xcjj6j1szbip4"; depends=[boot fields MASS plyr reshape2 RhpcBLASctl]; };
-  plsmod = derive2 { name="plsmod"; version="0.1.1"; sha256="0jkwmr6lgy2kdxpypzks6fcqxgrgzji5navmbip2qrgnk2c0vfjk"; depends=[dplyr generics magrittr mixOmics parsnip purrr rlang tibble tidyr]; };
+  plsmod = derive2 { name="plsmod"; version="0.1.2"; sha256="08flqzgdsyq6zff9scqij1xfsg04rkhc46vw64lz952340c8kxfr"; depends=[dplyr generics magrittr mixOmics parsnip purrr rlang tibble tidyr]; };
   plsmselect = derive2 { name="plsmselect"; version="0.2.0"; sha256="044mwdqv5vw0apmx3yhn6xkdmw6baalvb8c6hhmawcs279kwi1m9"; depends=[dplyr glmnet mgcv survival]; };
   plsr = derive2 { name="plsr"; version="0.0.1"; sha256="0l413m49zjpb35v0zw8dlxn53nh7fghinbmwfmldl3jgdvay2s7x"; depends=[boot ggplot2 reshape2 shiny]; };
   pltesim = derive2 { name="pltesim"; version="1.0"; sha256="0mvqp8di2gwhd9wc9kvnnpxd3hkr9b9lj6g5qlkqcbrgkq6fjahs"; depends=[coreSim ggplot2]; };
@@ -14178,12 +14340,13 @@ in with self; {
   poLCA = derive2 { name="poLCA"; version="1.4.1"; sha256="0bknnndcxsnlq6z9k1vbhqiib1mlzlx4badz85kc7a3xbrdrfs9f"; depends=[MASS scatterplot3d]; };
   pocketapi = derive2 { name="pocketapi"; version="0.1"; sha256="0n4fyx4ldm14zy3pz7gygwhahi3p25misvxlmy8l9kqqr51fg26a"; depends=[dplyr glue httr jsonlite magrittr purrr tibble usethis]; };
   pocrm = derive2 { name="pocrm"; version="0.13"; sha256="0d4iggxjbl95fz872q9v1wr30nga39sdd5dvwa2zrrm73ak81cz3"; depends=[dfcrm nnet]; };
-  poems = derive2 { name="poems"; version="1.0.1"; sha256="15987nz7gx94lrkyizg0jdzkjnib5hykla7xrkg5fi0i6cch40bl"; depends=[abc doParallel foreach gdistance geosphere lhs metRology R6 raster trend]; };
+  podcleaner = derive2 { name="podcleaner"; version="0.1.2"; sha256="1r8mvf8bw329n3ifi2dyy4220nbij2rgkvq1xlqzynxf8qadxbrl"; depends=[dplyr fuzzyjoin magrittr progress purrr readr rlang stringi stringr tibble tidyr]; };
+  poems = derive2 { name="poems"; version="1.0.2"; sha256="194448cyzn6qqkikpgxi1n1m98i6dfiwg0016n34ssqpf3vvc6a1"; depends=[abc doParallel foreach gdistance geosphere lhs metRology R6 raster trend]; };
   pogit = derive2 { name="pogit"; version="1.2.0"; sha256="1kap1cpfp0k2vm7w4kjfja37n9z3j7ppiwvsdxl6bgpkf7kcnkp2"; depends=[ggplot2 logistf plyr]; };
   poibin = derive2 { name="poibin"; version="1.5"; sha256="1sxryvwwz6ldsnkzdy56p8c895s5yvpcai9ndyjv1x5q3l05wf9v"; depends=[]; };
   poilog = derive2 { name="poilog"; version="0.4"; sha256="0bg03rd5rn4rbdpiv87i8lamhs5m7n7cj8qf48wpnirg6jpdxggs"; depends=[]; };
   pointRes = derive2 { name="pointRes"; version="2.0.0"; sha256="17rrdcpvd8v95g5vmbyq5gjpcc3rfbq3m6ajzc56fcizcqd4xx52"; depends=[DescTools dplR ggplot2 plyr TripleR]; };
-  pointblank = derive2 { name="pointblank"; version="0.9.0"; sha256="15f2v6dvbz34vwy1gdc32p511k1klrcjwyvrfk614niz8fygd256"; depends=[base64enc blastula cli DBI dbplyr digest dplyr fs glue gt htmltools knitr magrittr rlang scales testthat tibble tidyr tidyselect yaml]; };
+  pointblank = derive2 { name="pointblank"; version="0.10.0"; sha256="0890ss04kvj3p8sj0nlrw9lnb2iy3hdg5lcni5sq2in8kxk59228"; depends=[base64enc blastula cli DBI dbplyr digest dplyr fs glue gt htmltools knitr magrittr rlang scales testthat tibble tidyr tidyselect yaml]; };
   pointdensityP = derive2 { name="pointdensityP"; version="0.3.5"; sha256="0n7p3b77m47avbr7n85knf31m9rlp43mdl3748ysj6wvxvhnivx4"; depends=[data_table]; };
   pointr = derive2 { name="pointr"; version="0.2.0"; sha256="1qfxcyzi2sa49x00hidz054njj9mm7gkhv99faafb9x4gp3pcq0v"; depends=[stringr]; };
   poio = derive2 { name="poio"; version="0.0-4"; sha256="12d47hn9rsx2n0fl107dpswfklnh8nkm0kspcxf7yfljayvxr474"; depends=[assertive_base assertive_files assertive_properties assertive_sets assertive_strings assertive_types devtools digest dplyr magrittr purrr R6 stringi tibble whoami]; };
@@ -14199,6 +14362,7 @@ in with self; {
   poker = derive2 { name="poker"; version="0.8.8"; sha256="14ik77440z22k4kwq0p1fn7adzi0p8mh8j8hd7ayinvrab4b5r85"; depends=[]; };
   polaroid = derive2 { name="polaroid"; version="0.0.1"; sha256="0m3jbiz4n7mgbbdkd28m6dqsclyjcgshpxd6ws8df7zchx7fch07"; depends=[argonDash argonR colourpicker ggplot2 hexSticker png shiny shinyWidgets]; };
   policytree = derive2 { name="policytree"; version="1.1.1"; sha256="0xk3l5cy46br73g8m1gm3dbim72asq0wfsa50mnchkhk42rxv6a3"; depends=[BH grf Rcpp]; };
+  polimetrics = derive2 { name="polimetrics"; version="1.2.1.14"; sha256="0zzqzcfmvb6a9lav5sdgzhx4637r068q3kyjqk1ykdjg2d7s7lrv"; depends=[car dplyr formula_tools ggplot2 gplots MASS purrr rlang rstatix stringr tidyverse]; };
   poliscidata = derive2 { name="poliscidata"; version="2.3.0"; sha256="1ywfhksc6gcc2xk5lp6s8nn4wib92sv7p3wq92dzabf75q6mscix"; depends=[abind car descr gplots Hmisc plotrix plyr survey weights xtable]; };
   polished = derive2 { name="polished"; version="0.5.0"; sha256="1gpk16lm6il4hdbw7rcgdf02a4npmmf68cx5zv8hv5k2j31ixq0h"; depends=[automagic digest dplyr DT htmltools httr jose jsonlite lubridate purrr R6 rlang shiny shinycssloaders shinydashboard shinyFeedback shinyjs shinyWidgets stringr tibble tidyr uuid yaml]; };
   polite = derive2 { name="polite"; version="0.1.1"; sha256="15hiifaf63hx0xn453lr0xhdnxqifrgyrgrymp0a9k3j7qja59jk"; depends=[here httr magrittr memoise ratelimitr robotstxt rvest usethis]; };
@@ -14210,35 +14374,35 @@ in with self; {
   polspline = derive2 { name="polspline"; version="1.1.19"; sha256="0rhzf735hmbqfn2xbgcln4sqx7m9far72g5gq9mghgkw016kqglm"; depends=[]; };
   polyCub = derive2 { name="polyCub"; version="0.8.0"; sha256="1f63ikiz988hdihvgd5f2p897qfgv54ysgp2h8avmlc4cj6hgkgl"; depends=[sp]; };
   polyMatrix = derive2 { name="polyMatrix"; version="0.9.16"; sha256="13amrjl0nsyz6d9c9xxgnlkhdiicy8rx27ds5k47r8x48386vz14"; depends=[Matrix polynom]; };
-  polyPK = derive2 { name="polyPK"; version="3.1.0"; sha256="0cb83sq8iz4swr73vwhh8n4k62p6321nsy1sz5fba0wiicycxf55"; depends=[circlize corrplot gplots Hmisc impute imputeLCMD mixOmics pcaMethods pkr plyr ropls sqldf xlsx]; };
   polyRAD = derive2 { name="polyRAD"; version="1.5"; sha256="12677bbp9hvdr6nkqnl3gi3db2gn7wjvwwm773bhxln9ymh3jnw0"; depends=[fastmatch pcaMethods Rcpp stringi]; };
   polySegratio = derive2 { name="polySegratio"; version="0.2-5"; sha256="0djw49mbhd7x6jr0f5qkb9akw3fw3ax4w9xv8iwa5f65q5gbxpdf"; depends=[gdata]; };
   polySegratioMM = derive2 { name="polySegratioMM"; version="0.6-4"; sha256="162xj52566kaxgfk7c14170xx07isyjmqb9skvhrdg7sz20lc3l1"; depends=[coda gtools lattice polySegratio]; };
   polyaAeppli = derive2 { name="polyaAeppli"; version="2.0"; sha256="0kyz3ap92xz7aqyviyrpggfmicy1gybrx7y19djsmixcwz53zqch"; depends=[]; };
   polyapost = derive2 { name="polyapost"; version="1.7"; sha256="1inq3b8qq17w5zx2lrkrxjzb7drfajsp4qgy0194971m6x2j4cfx"; depends=[boot rcdd]; };
   polyclip = derive2 { name="polyclip"; version="1.10-0"; sha256="0jyk4maqiblvj095jd59dr76kbniyli3v3xvy0a72ljszq6vrnkl"; depends=[]; };
-  polycor = derive2 { name="polycor"; version="0.8-0"; sha256="1dnc3ndy5a1pas40xnvgj790ix05mi7bhns3d98nsdkh22lvp0hg"; depends=[Matrix mvtnorm]; };
+  polycor = derive2 { name="polycor"; version="0.8-1"; sha256="0285rvx8238qp8dix0jq0cqq7ks8h6cjwsscbc7dx4n9nph56pzh"; depends=[admisc Matrix mvtnorm]; };
   polyfreqs = derive2 { name="polyfreqs"; version="1.0.2"; sha256="13859vbpys5yj1qiapyzv9wlvi6x6k0rm335bsi1v07ch3x2bh3b"; depends=[Rcpp]; };
   polylabelr = derive2 { name="polylabelr"; version="0.2.0"; sha256="01b2v0l5g8nxwbd6nwqv8ahypgh6gfhd4qabg75brlj7z1iyfzf2"; depends=[Rcpp]; };
   polymapR = derive2 { name="polymapR"; version="1.1.2"; sha256="0pgwyw6d7myx0ds5dmfwzrnmvzsm1gkpz9qc241isr9d4cj1dinn"; depends=[doParallel foreach igraph knitr MDSMap]; };
   polynom = derive2 { name="polynom"; version="1.4-0"; sha256="1pflscwc0qzdf0y60j7s0dkglgmz18xajywfbn6s263idyr8idy5"; depends=[]; };
   polypharmacy = derive2 { name="polypharmacy"; version="1.0.0"; sha256="1rimhy7z5xglkxfp3yh4vqm5g075n8g09nl4a8nxxf6cyl504gcv"; depends=[data_table doParallel foreach itertools lubridate stringr]; };
   polypoly = derive2 { name="polypoly"; version="0.0.2"; sha256="00c1hrnf575awvh0rlsnf6nkgi9p3fnqhd1knamkgb4icwi5s46d"; depends=[ggplot2 reshape2 rlang tibble]; };
-  polyqtlR = derive2 { name="polyqtlR"; version="0.0.7"; sha256="1mjvx3204qf3pckxnqfa1x4g9493hywq03dagwl9c4j4badisdk6"; depends=[abind doParallel foreach Hmisc knitr nlme RColorBrewer Rcpp RcppArmadillo reshape2]; };
+  polyqtlR = derive2 { name="polyqtlR"; version="0.0.9"; sha256="0j879bvks6ldx53yfmac94p5n4p79pyq29ljdzbvajmxq5b57vf8"; depends=[abind doParallel foreach Hmisc knitr nlme RColorBrewer Rcpp RcppArmadillo reshape2]; };
   polyreg = derive2 { name="polyreg"; version="0.7.0"; sha256="1vsg1ldhvdq8pmw16qiv62c5l52mh6ccjcz3i3v06150ma953gcn"; depends=[dummies nnet]; };
   polysat = derive2 { name="polysat"; version="1.7-6"; sha256="0h2yqbr0mzv8lk24cd3q242prcz009q8vkvwm9iklpkw49zh8hq5"; depends=[Rcpp]; };
   polywog = derive2 { name="polywog"; version="0.4-1"; sha256="02qk1cyvkd77mwlvhj1zzzi0bmy7qxz29j2v730wp7rz4w7h5x5n"; depends=[foreach Formula glmnet iterators Matrix miscTools ncvreg Rcpp stringr]; };
   pom = derive2 { name="pom"; version="1.1"; sha256="02jv19apn0kmp1ric2cxajlaad2fmsz4nm4izd2c3691vzas7l83"; depends=[matrixcalc]; };
   pomcheckr = derive2 { name="pomcheckr"; version="0.1.1"; sha256="0fm2v388ya7v4vrb5rvilghlf49d15jlwz0isf95ldr81a55m9ij"; depends=[assertthat dplyr ggplot2 magrittr rlang stringr tidyr]; };
   pomdp = derive2 { name="pomdp"; version="0.99.3"; sha256="0mj2k3s69acgwl00jknxy9ywb73kgqxv5r7yqjlxxsnlp8rixla4"; depends=[igraph]; };
-  pomp = derive2 { name="pomp"; version="3.6"; sha256="1x3xim7f663pjc6a23pblsrbqfjjmlac3x2234968cvz2vs22qbl"; depends=[coda deSolve digest magrittr mvtnorm plyr reshape2]; };
+  pomodoro = derive2 { name="pomodoro"; version="3.3.0"; sha256="170lvp27gyn189kcpn7nmnkfq2pj6i1ihxqjnf37h7m74msn64si"; depends=[caret dplyr gbm ipred pROC randomForest readr tibble]; };
+  pomp = derive2 { name="pomp"; version="4.1"; sha256="1yv29iqzzqdfr34z98x0l8j3s3c45jhaqvb83njv996g11wxbkw4"; depends=[coda deSolve digest magrittr mvtnorm plyr reshape2]; };
   pompom = derive2 { name="pompom"; version="0.2.1"; sha256="09jy4lrb2p71yk604ndfhqfz6znlc3bq72k42f0d1i1a8g3by8h6"; depends=[ggplot2 lavaan qgraph reshape2]; };
   pooh = derive2 { name="pooh"; version="0.3-2"; sha256="0qwa5j91aypasvsf4xcfbl6lz7llawdr38jiflzmfak2ad72rv7j"; depends=[]; };
   pool = derive2 { name="pool"; version="0.1.6"; sha256="1qfraam1rc2r4mn7yhhfv8lhhc4dzgq0v1y97n4h2z3mgxn5zgnd"; depends=[DBI later R6]; };
   poolVIM = derive2 { name="poolVIM"; version="1.0.0"; sha256="19yw6pp5l3jmla4wjbvpjq132f645yks49pzsdv123f3qfr8f0m6"; depends=[EmpiricalBrownsMethod Hmisc ranger]; };
   poolfstat = derive2 { name="poolfstat"; version="2.0.0"; sha256="0bwihx9ql0sdmhm160r6vkmph88ms7zamzg7fi93mlx0h7i49phs"; depends=[ape DiagrammeR doParallel foreach Matrix nnls progress Rcpp RcppProgress Ryacas zoo]; };
   pooling = derive2 { name="pooling"; version="1.1.2"; sha256="19mrzax3k35fhgjpnlrigf0nscsdl3xb7k82s5q472k4bcz7ya5b"; depends=[cubature data_table dplyr dvmisc ggplot2 ggrepel mvtnorm numDeriv]; };
-  poolr = derive2 { name="poolr"; version="1.0-0"; sha256="1319q7047pm0giqqkiz1wswpvixwirz1bcn27chvzirp3n4pgxdx"; depends=[mathjaxr]; };
+  poolr = derive2 { name="poolr"; version="1.1-1"; sha256="1y8bish2s96b42xsld0x1nrjz9dzqhdr2w95vdpfymq7mg05d1ry"; depends=[mathjaxr]; };
   poorman = derive2 { name="poorman"; version="0.2.5"; sha256="05h7rjgri0b5a1jd0388p7lqvvg0y8z6g42f9bxc80jg1z730axr"; depends=[]; };
   pop = derive2 { name="pop"; version="0.1"; sha256="0hbxdrkasb69x7ipddvyrzl5vvc7dd6rzj1vy7v3chg3rzgq89cj"; depends=[igraph MASS]; };
   popEpi = derive2 { name="popEpi"; version="0.4.9"; sha256="1a79n3rry85qa52cn7zbhwbsyjgw7b72l97pw3p9sf2lgvacvxr1"; depends=[data_table Epi survival]; };
@@ -14251,25 +14415,25 @@ in with self; {
   popbio = derive2 { name="popbio"; version="2.7"; sha256="02dbb2sinn1n8a9dg8lvf35sc8hb14c90mjymz2gk64xdysf0m2j"; depends=[]; };
   popdemo = derive2 { name="popdemo"; version="1.3-1"; sha256="0xvqp71spqh5khi2gdzxmj8pp71i6l2qpcgcw8s9xbqwx9w905mq"; depends=[expm MCMCpack]; };
   popgenr = derive2 { name="popgenr"; version="0.2"; sha256="164dhizka0yadzihbjqkfs5p0hknw966mq0grigs7r9ppbq9kajh"; depends=[]; };
-  popkin = derive2 { name="popkin"; version="1.3.13"; sha256="0b00rs89jrz28p4gj35lngvaq3jynmw1gqvz4pdbsnpan6xr63v1"; depends=[ape RColorBrewer Rcpp RcppEigen]; };
+  popkin = derive2 { name="popkin"; version="1.3.17"; sha256="1rmdsb9sdh2f8nx0nydwv8wpxafqaivkqqwd0g6qibx45h012920"; depends=[ape RColorBrewer Rcpp RcppEigen]; };
   poppr = derive2 { name="poppr"; version="2.9.3"; sha256="0f8gw14vz4p6jvxa8w3fp84pm1k980mk5sfbj82qmmj236rfvyx9"; depends=[ade4 adegenet ape boot dplyr ggplot2 igraph magrittr pegas polysat progressr rlang shiny vegan]; };
   popsom = derive2 { name="popsom"; version="6.0"; sha256="1zjg55fs4j36rp75k0961pndjqd4w085lc7v83nprjpc7jnx45g6"; depends=[fields ggplot2 hash]; };
   poptrend = derive2 { name="poptrend"; version="0.1.0"; sha256="0hypxpb18azg6q1mqrphbx3x262h9ybwhlkb8fyd6vr7jjb5wn3h"; depends=[mgcv]; };
-  populR = derive2 { name="populR"; version="0.1.3"; sha256="1p60dpb756g6cl5rdz457zg47qwsp7b61qvawk9sg04sw7c1h81r"; depends=[Metrics rlang sf]; };
+  populR = derive2 { name="populR"; version="0.1.4"; sha256="18va6wfqp3p2vmmiiasv3qnxdi4sbg2kl0s6a1i1qq6qpb7nq2y2"; depends=[Metrics rlang sf]; };
   populationPDXdesign = derive2 { name="populationPDXdesign"; version="1.0.3"; sha256="0p73ddv3j1s1vs4j3axnsf39n626qjv0w1qlq9p7km4s6729bhgv"; depends=[devtools ggplot2 plyr roxygen2 shiny shinycssloaders]; };
-  porridge = derive2 { name="porridge"; version="0.2.1"; sha256="03ay6nwq0x3vvpicb50zk2l14hfa6hi51j6cc559p6gzcwf70pj1"; depends=[MASS mvtnorm Rcpp RcppArmadillo]; };
+  porridge = derive2 { name="porridge"; version="0.3.0"; sha256="0vv6qs937mgiaarwyjfs5g7lzw3sx630lslxldx9gcgkp2n5sd1h"; depends=[MASS Matrix mvtnorm Rcpp RcppArmadillo]; };
   portalr = derive2 { name="portalr"; version="0.3.9"; sha256="08f5pq6b0248p3akgw50y22dsmyzcnx5sjl58xqlyp3w1p57a3hd"; depends=[clipr clisymbols crayon dplyr forecast httr lubridate lunar magrittr rlang tidyr tidyselect zoo]; };
   portes = derive2 { name="portes"; version="5.0"; sha256="1iarvgz23979lipqyyvh8h0nd978p1nzbbjf020q11yqpl863502"; depends=[forecast]; };
   portfolio = derive2 { name="portfolio"; version="0.5-2"; sha256="13w8gyaphg0qspjl6d0jh0jf3wvz4agy8vzkriba0k59qhdbi52f"; depends=[lattice nlme]; };
   portfolio_optimization = derive2 { name="portfolio.optimization"; version="1.0-0"; sha256="1rdhwffsjc1pa1qq7rqy6dwk8yrcblkmijz94p2w7sf2v4jmwxxr"; depends=[magrittr MASS modopt_matlab xts]; };
   portfolioBacktest = derive2 { name="portfolioBacktest"; version="0.3.1"; sha256="0ycc1jqr27zmv4mwkf168i0v8wh5ga6cw6gp5rrz78zbr4gjaaiz"; depends=[digest evaluate ggplot2 pbapply PerformanceAnalytics quadprog quantmod R_utils rlang xts zoo]; };
   portsort = derive2 { name="portsort"; version="0.1.0"; sha256="0swl39dn7lzwvps18bva4l64a441gkf6lbwcwrhlf93f1ardvxji"; depends=[xts zoo]; };
-  postGGIR = derive2 { name="postGGIR"; version="2.4.0.1"; sha256="1hl991jf0cgawqb4vzr60dyn44n09fzlksd8521lp9lgd7jrxqhk"; depends=[abind accelerometry ActCR ActFrag cosinor cosinor2 denseFLMM dplyr GGIR ineq kableExtra minpack_lm refund survival tidyr xlsx zoo]; };
+  postGGIR = derive2 { name="postGGIR"; version="2.4.0.2"; sha256="1jxmvgzq4hv7sy2zcs8jicp0223mhv3mywhxbay2nv3bl0h4xfgs"; depends=[abind accelerometry ActCR ActFrag cosinor cosinor2 denseFLMM dplyr GGIR ineq kableExtra minpack_lm refund survival tidyr xlsx zoo]; };
   postGIStools = derive2 { name="postGIStools"; version="0.2.4"; sha256="04d6iqnk7j2lgv1h5c94j6y89jk75pmv26sxa51s5iwkjq7rchym"; depends=[DBI jsonlite rgdal rgeos RPostgreSQL sp stringr]; };
   postHoc = derive2 { name="postHoc"; version="0.1.3"; sha256="1l7r9md9iyav5vvjykpsnqv9whspzcmnppfpqm6qy5s5vk6b8zfd"; depends=[igraph multcomp]; };
-  postcards = derive2 { name="postcards"; version="0.2.2"; sha256="0kj4l4qskvwjr22222v08fypzmg089dgs5hmqd2gi2pjfg4zwmr1"; depends=[bslib rmarkdown rstudioapi]; };
+  postcards = derive2 { name="postcards"; version="0.2.3"; sha256="0kc8nbrqw5h14qw47rxl20yz9q0s8gk2g3lg7kcgsx7f1q514qsw"; depends=[rmarkdown rstudioapi]; };
   posterdown = derive2 { name="posterdown"; version="1.0"; sha256="13plrrnylw3yldm0md1gr5drccfjk9f2wwlhz6lrmb3px7w5nqs0"; depends=[pagedown rmarkdown yaml]; };
-  posterior = derive2 { name="posterior"; version="1.1.0"; sha256="1lpldkkkxv94dr30q5wb5qr61qrgp9shqnskgwriigy1phnjdxpg"; depends=[abind checkmate distributional matrixStats pillar rlang tensorA tibble vctrs]; };
+  posterior = derive2 { name="posterior"; version="1.2.0"; sha256="11j3jgk8mykicqi77a6frn0gck7fx0i6sl6g774sqj44m48ig81b"; depends=[abind checkmate distributional matrixStats pillar rlang tensorA tibble vctrs]; };
   postinfectious = derive2 { name="postinfectious"; version="0.1.0"; sha256="1v327zxxiwc1cdksk6s39lkkgck5dxg169pp3jiqmm7xs35dcl6y"; depends=[]; };
   postlightmercury = derive2 { name="postlightmercury"; version="1.2"; sha256="1345ckp50jplcdqp3a250c6mhapqh9322jzpxj5dyqmbg2nmgp9i"; depends=[crul jsonlite purrr rvest tibble xml2]; };
   postlogic = derive2 { name="postlogic"; version="0.1.0.1"; sha256="11bpmfn375zpyg90dh44h86cvppzri1smmkn26jyydqjz74f4q9w"; depends=[]; };
@@ -14286,10 +14450,12 @@ in with self; {
   powerCompRisk = derive2 { name="powerCompRisk"; version="1.0.1"; sha256="11xprjn9hzi8gxrsi7wivwgchg9h2apgxa63fp466ngjfy5ybxf4"; depends=[mvtnorm]; };
   powerEQTL = derive2 { name="powerEQTL"; version="0.3.4"; sha256="124mwkjf5m19znn7zdnncdc3klgqyid08kvihk0gws2y9bw0m1zs"; depends=[GLMMadaptive nlme]; };
   powerGWASinteraction = derive2 { name="powerGWASinteraction"; version="1.1.3"; sha256="1i8gfsk9qzx54yn661i4x9k7n7b6r1jd808wv1hcq7870mzyb27k"; depends=[mvtnorm pwr]; };
+  powerHaDeX = derive2 { name="powerHaDeX"; version="1.0"; sha256="188a09jnn8xr5jx1n785gghpn3k8cqkhp76m47gixh5n9v15lzzg"; depends=[checkmate data_table expm ggplot2 glmnet lme4 lmerTest nlme plyr Rcpp signal]; };
   powerLATE = derive2 { name="powerLATE"; version="0.1.1"; sha256="1dmvvh7ynvr8krl5p1qbg8ib1s595vqci2r80zmwsm28jhv8ka4w"; depends=[]; };
   powerMediation = derive2 { name="powerMediation"; version="0.3.4"; sha256="08zszskhd21pbjamch5q7v7vx2p78c1d53zrp31hmpxk1ymx2xf3"; depends=[]; };
   powerSurvEpi = derive2 { name="powerSurvEpi"; version="0.1.3"; sha256="1p1fw4jq4rxc273hmycxf4bkqm6zmfw0jdy2s65jy10q37r53ial"; depends=[pracma survival]; };
   powerbydesign = derive2 { name="powerbydesign"; version="1.0.5"; sha256="006m127rc49bshgljd5d3ii6sfx24ndn2690ixj0vnqm2dp3zjnw"; depends=[gdata ggplot2 lme4 MASS plyr reshape2 stringr]; };
+  powerjoin = derive2 { name="powerjoin"; version="0.0.1"; sha256="0hnk573jrpmr5k0yhfq74wksrz6ri5g21zf5853fslcxyjys1v8q"; depends=[cli dplyr generics glue lifecycle magrittr purrr rlang tibble tidyr tidyselect vctrs]; };
   powerly = derive2 { name="powerly"; version="1.7.2"; sha256="104wp8cbwzlb6il614aacq608rir3yv18rwjqxljxi597nyy004v"; depends=[bootnet ggplot2 osqp patchwork progress qgraph quadprog R6 rlang splines2]; };
   powerpkg = derive2 { name="powerpkg"; version="1.5"; sha256="0mbk2fda2fvyp1h5lk5b1fg398xybbjv0z6kdx7w7xj345misf7l"; depends=[]; };
   powerplus = derive2 { name="powerplus"; version="3.1"; sha256="0ayp6x34hkzgris4j3zbbs0r23n81bhww3wgfyy630ri4sk6brrn"; depends=[complexplus expm MASS Matrix phonTools]; };
@@ -14303,7 +14469,7 @@ in with self; {
   ppgmmga = derive2 { name="ppgmmga"; version="1.2"; sha256="1dq0p3xna5r1kiyhiziz3wc78dfqh362qhna5hmkjzhljawr9jg0"; depends=[cli crayon GA ggplot2 ggthemes mclust Rcpp RcppArmadillo]; };
   ppitables = derive2 { name="ppitables"; version="0.5.4"; sha256="0hssk8yf8f15x7m03x71v9yrshrzgkww8xfacbbsw5mpqcghc9zl"; depends=[tibble tidyr]; };
   ppmHR = derive2 { name="ppmHR"; version="1.0"; sha256="1fc9rrk3ir3dq5d518ih67dvknhz1ln6668wy2mzsdndaysgm12g"; depends=[nleqslv]; };
-  ppmSuite = derive2 { name="ppmSuite"; version="0.1.8"; sha256="05qh7bd6d8dp1m4cpd01h5aw3iq6kyly70ng0hbfg53j6kwvlalg"; depends=[]; };
+  ppmSuite = derive2 { name="ppmSuite"; version="0.2.1"; sha256="0mghp75lx63wyy5cx5npayidrvpqn6yalaw9xnbm5df9vdfdllaf"; depends=[]; };
   ppmf = derive2 { name="ppmf"; version="0.1.3"; sha256="0xphk27frlcr87jwjbgwf77c8bhv0nswmffj9ny2vd1b176bi9xn"; depends=[censable dplyr magrittr readr rlang stringr tibble tidyr zip]; };
   pps = derive2 { name="pps"; version="1.0"; sha256="0k06rkzdx07qcndqym44q6xyawdd253i3kbyqlmlavadsizp657g"; depends=[]; };
   ppsbm = derive2 { name="ppsbm"; version="0.2.2"; sha256="0y4whxv14jqx7mqxj7n427vpbxb5rkwj8xvx0mj4knnwy9v437z4"; depends=[clue gtools Rfast]; };
@@ -14319,7 +14485,7 @@ in with self; {
   praise = derive2 { name="praise"; version="1.0.0"; sha256="1gfyypnvmih97p2r0php9qa39grzqpsdbq5g0fdsbpq5zms5w0sw"; depends=[]; };
   praktikum = derive2 { name="praktikum"; version="0.1"; sha256="0kkydgglvqw371fxh46fi86fmdndhwq1n8qj0ynbh2gz1cn86aw1"; depends=[]; };
   praznik = derive2 { name="praznik"; version="10.0.0"; sha256="199g6wgda6m8ym9kg3qbx42c21bigg9bxkga950k2hdm3f1xa62g"; depends=[]; };
-  prcbench = derive2 { name="prcbench"; version="1.0.1"; sha256="1n7f9qn0vz86ir4byvni4fi5x2xa8sdzpb54hwc0b34xy2wjm204"; depends=[assertthat ggplot2 gridExtra memoise precrec PRROC R6 rJava ROCR]; };
+  prcbench = derive2 { name="prcbench"; version="1.0.2"; sha256="0ilann11cfmbw7xj7j6y6j5y0hlfjf7wvfbq2hfvlxi87hijh3ka"; depends=[assertthat ggplot2 gridExtra memoise precrec PRROC R6 ROCR]; };
   prclust = derive2 { name="prclust"; version="1.3"; sha256="0p0sf8248aigs99py8mpzz743jnrf7n1nv5shag15arxz9yx7zn3"; depends=[Rcpp]; };
   prcr = derive2 { name="prcr"; version="0.2.1"; sha256="0k5vl14akqf8qvak6h7a19qxn4wzpyxq7lyvdhxfh8l4gs4ca2l6"; depends=[class dplyr forcats ggplot2 irr lpSolve magrittr purrr tibble tidyr]; };
   pre = derive2 { name="pre"; version="1.0.1"; sha256="1wvwdwn65n98bzrsghqbxhf1hv2mcpizjxvzx00mplm4xjbzkk7g"; depends=[earth Formula glmnet Matrix MatrixModels partykit rpart stringr survival]; };
@@ -14327,7 +14493,7 @@ in with self; {
   precisePlacement = derive2 { name="precisePlacement"; version="0.1.0"; sha256="1w48k4kv3xm8br7dgbpx2rcdxjh0g0aw8xa1snqy0ig8a992804b"; depends=[]; };
   precisely = derive2 { name="precisely"; version="0.1.2"; sha256="1zzg2fgf58gjq081rklqjf8wxz8mf7rc3vyhbji3j3n6j0x125n4"; depends=[dplyr ggplot2 magrittr purrr rlang shiny shinycssloaders shinythemes tidyr]; };
   precommit = derive2 { name="precommit"; version="0.2.2"; sha256="12fq44s16qjbjr6n1cj0z7w3a01bqs5grpnd1mx2sph33xizcmal"; depends=[cli fs here magrittr purrr R_cache rlang rprojroot rstudioapi withr yaml]; };
-  precrec = derive2 { name="precrec"; version="0.12.7"; sha256="0vwzaqnh9ymrm52dd79bihwqprnygz0d71ay8fv51hdw0zg6saya"; depends=[assertthat data_table ggplot2 gridExtra Rcpp withr]; };
+  precrec = derive2 { name="precrec"; version="0.12.8"; sha256="0kwn902z32qcnkffjm6dqnaxagx31xjdcak50clbgrway2pcdjrm"; depends=[assertthat data_table ggplot2 gridExtra Rcpp withr]; };
   predReliability = derive2 { name="predReliability"; version="0.1.0"; sha256="18s9ijg3fcg6qb0y6pnwngmv69ajm93z0xjdzkq3fp5bxk1qylyb"; depends=[cluster rpart]; };
   predfairness = derive2 { name="predfairness"; version="0.1.0"; sha256="0b9d6a2rk6vw4y5hnh721gmirnm419yynbfg7arjb96558l282kd"; depends=[]; };
   predhy = derive2 { name="predhy"; version="1.2.0"; sha256="0iwlv9j0xpsl2xkvy7yb1irjg67d8xq13bzgjj8i4rqqhv12ap57"; depends=[BGLR doParallel foreach glmnet pls randomForest xgboost]; };
@@ -14350,8 +14516,8 @@ in with self; {
   prepdat = derive2 { name="prepdat"; version="1.0.8"; sha256="19rxyss96cmjhzm69f6l1cd3vkw3wskzhxnbmrz4546x00gf9g5v"; depends=[dplyr psych reshape2]; };
   prepplot = derive2 { name="prepplot"; version="1.0-1"; sha256="1x6znfhmrsb2zj2cfygsw1fdszcp4xdpaip4b4d5cdl2rykb3bjn"; depends=[plotrix shape]; };
   preputils = derive2 { name="preputils"; version="1.0.3"; sha256="1ryrxmcm9vxhblk9r1vaay8ihff6nnd87dzd3375lfcla2fr9jzv"; depends=[data_table]; };
-  prereg = derive2 { name="prereg"; version="0.5.0"; sha256="0bck13iiaxwpqh0rd45mp1s5d8z62ggg0wa7rmyi8a65aywiypsi"; depends=[rmarkdown]; };
-  preregr = derive2 { name="preregr"; version="0.1.9"; sha256="04fq2rxqfrpfxpv25biv2rxg0n4zdyyxylcl148x3cwxsc88rad1"; depends=[cli jsonlite rmdpartials yaml]; };
+  prereg = derive2 { name="prereg"; version="0.6.0"; sha256="039nrl5cirsx1ysh214dr6xnn1h6h3f90im6k9dgmzfksxdqigpw"; depends=[rmarkdown]; };
+  preregr = derive2 { name="preregr"; version="0.2.1"; sha256="01q27p71jn9p1jr1pgrjhd81xywfhk26cdgk7gr3cf4irw5jk50p"; depends=[cli jsonlite rmdpartials yaml]; };
   presens = derive2 { name="presens"; version="2.1.0"; sha256="175nr9pqn3m6kh9bcc1gxqmqv05xdsqdw9lx385lmm1g947d2159"; depends=[marelac measurements]; };
   presenter = derive2 { name="presenter"; version="0.1.1"; sha256="13q9cn2kglrr37cng9rz3bpl2ipmbiaaf233bn1bw83c6fisrq6m"; depends=[badger berryFunctions dplyr flextable formattable framecleaner janitor lubridate magrittr officer openxlsx purrr randomcoloR rlang rvg stringi stringr tibble tidyr tidyselect]; };
   presentes = derive2 { name="presentes"; version="0.1.0"; sha256="0d6zhishc7wxcvvglgw44pc6c172qpxb8i4iw3lqbmji7ash5zpx"; depends=[]; };
@@ -14359,7 +14525,7 @@ in with self; {
   presize = derive2 { name="presize"; version="0.2.3"; sha256="0gwavbi9fbwh454n5yg0rwqy13a8zjhs2yj7jhlmjn1bjjmxp8j4"; depends=[kappaSize shiny]; };
   presmTP = derive2 { name="presmTP"; version="1.1.0"; sha256="134p58zzk8i0whscvl5qdfn4niksypyxavq1m15cvw4zzk4dk6fw"; depends=[mgcv survPresmooth]; };
   presser = derive2 { name="presser"; version="1.1.0"; sha256="1slkdfh0wq242adp6a60612sjz117bii3pbahn00bfmnpa9g1wya"; depends=[]; };
-  prettifyAddins = derive2 { name="prettifyAddins"; version="2.3.0"; sha256="14all19l4q9n2wjc4y1sv8zncy21aar29al1fnwqkvbp8ghjkx5m"; depends=[httr rstudioapi shiny webdriver xml2 XRJulia]; };
+  prettifyAddins = derive2 { name="prettifyAddins"; version="2.4.0"; sha256="0r8kbcrl5d7wvbk1wc40h1d2xk14r9mwpb4xkm8q74jhaxvpxz4f"; depends=[httr rstudioapi shiny webdriver xml2 XRJulia]; };
   prettyB = derive2 { name="prettyB"; version="0.2.2"; sha256="1wszcmn5jnk02iyvjld42291m1irfp9m0b3lcdyyp41iq3icm67g"; depends=[]; };
   prettyGraphs = derive2 { name="prettyGraphs"; version="2.1.6"; sha256="0yjpwxdy9mkj2k33zvd5klyv4ava46i19yls87n0bvf79y90ikpy"; depends=[]; };
   prettyR = derive2 { name="prettyR"; version="2.2-3"; sha256="1rs90cmr5dyry724php90mp41qwzzk1z3gxfwcj1k157qawacyhr"; depends=[]; };
@@ -14386,8 +14552,9 @@ in with self; {
   princurve = derive2 { name="princurve"; version="2.1.6"; sha256="0wzk329bxljkzz57y220lsfckpsn45w348m6dcxh29zbj0ik65h2"; depends=[Rcpp]; };
   prinsimp = derive2 { name="prinsimp"; version="0.8-8"; sha256="074a27ml0x0m23hlznv6qz6wvfqkv08qxh3v1sbkl9nxrc7ak4vn"; depends=[]; };
   printr = derive2 { name="printr"; version="0.2"; sha256="0lf538m7skrd7cmy0n118y5s0qk48q0xgqvqag20j34if1h44r4a"; depends=[knitr]; };
+  prinvars = derive2 { name="prinvars"; version="0.1.0"; sha256="1fajvl041sxwf6ydqyixqmxinj0k8d413h332gvkqkyyfmx5gnys"; depends=[Rdpack]; };
   prioGene = derive2 { name="prioGene"; version="1.0.1"; sha256="0k1rlvmfhj1m2zp5zaac8wcwjypd6f4dd8fxxsyrzsafp9aw189l"; depends=[AnnotationDbi org_Hs_eg_db]; };
-  prioriactions = derive2 { name="prioriactions"; version="0.3.2"; sha256="1dghxq22fngv9axf597i9pf0rpfrri3wjd1ql8b4fcfspqbkx5nr"; depends=[assertthat BH dplyr magrittr Matrix proto Rcpp RcppArmadillo rlang Rsymphony tidyr]; };
+  prioriactions = derive2 { name="prioriactions"; version="0.3.3"; sha256="1gn786sw52bb05jwfrab00hrfw5pn0xhgp9xzmdvnflbz86a1q2p"; depends=[assertthat BH dplyr magrittr Matrix proto Rcpp RcppArmadillo rlang Rsymphony tidyr]; };
   prioritizr = derive2 { name="prioritizr"; version="7.1.1"; sha256="1d2nsbixfn6nk6icb78kiddpgpn7z2gvinmd19laqdj7a3lbknax"; depends=[ape assertthat BH data_table doParallel exactextractr fasterize igraph magrittr Matrix plyr proto raster Rcpp RcppArmadillo rgeos sf slam sp tibble uuid withr]; };
   prioritizrdata = derive2 { name="prioritizrdata"; version="0.2.4"; sha256="0027nbkvp8b2w4cciabiqjdyxhjwh47k7dc36p79mkqfarh04rgv"; depends=[raster sp]; };
   prioritylasso = derive2 { name="prioritylasso"; version="0.2.5"; sha256="1myci7akab1fg7p72q1hrchkixs7q5lagdsfpmdbvd13yy4q3h5z"; depends=[glmnet survival]; };
@@ -14425,7 +14592,7 @@ in with self; {
   profileModel = derive2 { name="profileModel"; version="0.6.1"; sha256="01m5nb8cmq0aq555pxk2a99182si65hhmn68yn9nal2j3zl2bp4i"; depends=[]; };
   profileR = derive2 { name="profileR"; version="0.3-5"; sha256="0fgc7585a7194c67irafjnx8g2j6mn3qhcfn76c6dh28clp20qp9"; depends=[ggplot2 lavaan RColorBrewer reshape]; };
   profmem = derive2 { name="profmem"; version="0.6.0"; sha256="0gg6ja0ifwn9jj42rw1gnyil55sl9r2y5rjb6yjcvqwd5arajp3l"; depends=[]; };
-  profoc = derive2 { name="profoc"; version="0.8.5"; sha256="0i41qdgwj9ajgp7a6gl558cbf30hjk12278inbr60jhhd92gaa69"; depends=[Matrix Rcpp RcppArmadillo RcppProgress splines2]; };
+  profoc = derive2 { name="profoc"; version="0.9.0"; sha256="1s9qn17yhxcljnya5cfidv41q731v4283jka9k33brrryk9h2l5c"; depends=[abind Matrix Rcpp RcppArmadillo RcppProgress splines2]; };
   profr = derive2 { name="profr"; version="0.3.3"; sha256="00bv1q0qn46nz4zjfs0l2yfh3hk71rajlp2rrlwg442z11k79ap9"; depends=[plyr stringr]; };
   proftools = derive2 { name="proftools"; version="0.99-3"; sha256="095pxyyv6k818qwcjygbz1h24k0xkqi1agns8cqh2m5g64aynd70"; depends=[]; };
   profvis = derive2 { name="profvis"; version="0.3.7"; sha256="1f86m426pcf90l29hf4hkirzf8f38dihk52bxbdq2gvrrdili5s3"; depends=[htmlwidgets stringr]; };
@@ -14433,7 +14600,7 @@ in with self; {
   prognosticROC = derive2 { name="prognosticROC"; version="0.7"; sha256="0lscsyll41hpfzihdavygdzqw9xxjp48dmy4i17qsx5h01jl1h4i"; depends=[survival]; };
   progress = derive2 { name="progress"; version="1.2.2"; sha256="0dgzb362641aqm8xd88iqa8jmpdm43xs0aba0d5kk6fvapnxi95l"; depends=[crayon hms prettyunits R6]; };
   progressr = derive2 { name="progressr"; version="0.10.0"; sha256="1p5s35rzh28n2id2lipgyqmh3wzib66m7x0pz9028y8cql8xr5ac"; depends=[digest]; };
-  proj4 = derive2 { name="proj4"; version="1.0-10.1"; sha256="06fsw7j9c50s0md06niyvj6hvsk3fad0y1r1hsqk0jdsbjz7r1b6"; depends=[]; };
+  proj4 = derive2 { name="proj4"; version="1.0-11"; sha256="07fil52jswbg2h807cd82m2wlm5j2fb891ifri9ms037099qdwf5"; depends=[]; };
   projections = derive2 { name="projections"; version="0.5.4"; sha256="1c7fm2f3fx0905afw3nrbv6vv0a0awpml1rl2kaxnijjgqcxa6dg"; depends=[ggplot2 incidence]; };
   projects = derive2 { name="projects"; version="2.1.3"; sha256="0ljrhswr5sfq051x0aicl9yvwakw9d9drgrmcz9d8qhgw1if0mky"; depends=[dplyr fs lubridate magrittr purrr readr rlang rstudioapi sessioninfo stringr tibble vctrs zip]; };
   projmgr = derive2 { name="projmgr"; version="0.1.0"; sha256="1iysxcl6awvp7zbm04zyq4d9659fcz3sy711jnycsxhsk8hsvmc2"; depends=[gh magrittr]; };
@@ -14465,7 +14632,7 @@ in with self; {
   proton = derive2 { name="proton"; version="1.0"; sha256="1mgaw54is8l6ac1rf8s70rj7kv9xgsfdrlvjz01ggfwg7c6pyr3s"; depends=[digest]; };
   prototest = derive2 { name="prototest"; version="1.2"; sha256="07g58hq2qdpczqhjsv6dq1bya9rs958r103n91icw5yc19bvyhi2"; depends=[glmnet intervals MASS Rcpp RcppArmadillo]; };
   protr = derive2 { name="protr"; version="1.6-2"; sha256="13vgiqkqqq1w2yj5f6i6scag0mr189zmisyvi6fgaw8g9dgxpxan"; depends=[]; };
-  protti = derive2 { name="protti"; version="0.2.0"; sha256="0nrn8lsxhqpq1xp1njly9px9awg33g732sjh8xgw4vfkn0v5qgcm"; depends=[curl data_table dplyr forcats ggplot2 ggrepel janitor lifecycle magrittr plotly progress purrr readr rlang stringr tibble tidyr]; };
+  protti = derive2 { name="protti"; version="0.2.1"; sha256="1k656bmlm9jysy15ga854ncr20n8xlvj6d26snjbrb47sc4sc9im"; depends=[curl data_table dplyr forcats ggplot2 ggrepel janitor lifecycle magrittr plotly progress purrr readr rlang stringr tibble tidyr]; };
   proustr = derive2 { name="proustr"; version="0.4.0"; sha256="1qp4v4vb1qh137qn7zi1d2g999z17kq6kpyxy9355mj8c49iy8pn"; depends=[attempt rlang SnowballC stringr tidyr tokenizers]; };
   provDebugR = derive2 { name="provDebugR"; version="1.0.1"; sha256="0ynz5m1gkaj1wks5l71r3iz7npf3mz0r04jsa8zwg670zsv2x7rf"; depends=[httr jsonlite provGraphR provParseR textutils]; };
   provExplainR = derive2 { name="provExplainR"; version="1.1"; sha256="1jgxmpzgigpbdqh3r8gy6h0akv11ssl494h2jscdyb8zpjmc92fg"; depends=[diffobj digest dplyr provParseR stringr]; };
@@ -14475,6 +14642,7 @@ in with self; {
   provTraceR = derive2 { name="provTraceR"; version="1.0"; sha256="19iillyh5zw64mmr6ik4ci1n2p651xqzxa4iq5bwa70imbzyy5ip"; depends=[provParseR]; };
   provViz = derive2 { name="provViz"; version="1.0.7"; sha256="0bjq8mywgm2jr0m0458wk6n5al7jr1psvh4g31z4qzlrrkfqgzzg"; depends=[]; };
   provenance = derive2 { name="provenance"; version="3.3"; sha256="0kdpv1gjvgv9nxfsarm1z042xas9d4n2smhrqccs450a2mhb5fxr"; depends=[IsoplotR MASS]; };
+  proverbs = derive2 { name="proverbs"; version="0.1.0"; sha256="1i3aqlk4xb6zrjb7izyz7m9ys950cc6msvac8ixx74a7s57j99p1"; depends=[cli crayon httr lubridate magrittr purrr]; };
   proxirr = derive2 { name="proxirr"; version="0.2"; sha256="0ffnzmd9zy43vzp0mc0ncjwfj5d7p2gzwk8gcwhk1f9yvgiw4wc1"; depends=[]; };
   proxy = derive2 { name="proxy"; version="0.4-26"; sha256="0k8sr24mjfvxp12sf1j9228ah3ngy15nqmm0jw14x5s32f1assv7"; depends=[]; };
   proxyC = derive2 { name="proxyC"; version="0.2.4"; sha256="1mcimswrx1cjjm7wsgkzfrgh3jpf4sncwfvdvg2f14fzfzy7afd6"; depends=[Matrix Rcpp RcppArmadillo RcppParallel]; };
@@ -14489,7 +14657,7 @@ in with self; {
   psborrow = derive2 { name="psborrow"; version="0.1.0"; sha256="1swkwi65zdsl8q12191lj2vhwbhkhb302zh6rmhcf0bg9cj0xpj5"; depends=[data_table doParallel dplyr foreach futile_logger ggplot2 MatchIt matrixcalc mvtnorm rjags survival tidyr]; };
   pscl = derive2 { name="pscl"; version="1.5.5"; sha256="0vzf5wazs92bhqhqd66v3vwmbfmnh67gb2466g1xxawim649nk05"; depends=[MASS]; };
   pscore = derive2 { name="pscore"; version="0.1-2"; sha256="1sfkxs2kv8lq87j3q9ci7j38c7gzfkp2l36lwcdhiidr2nls2x0c"; depends=[ggplot2 lavaan reshape2]; };
-  psd = derive2 { name="psd"; version="2.1.0"; sha256="18zd9sa86sx52ncwx6qc9lch2j4kfn8l6w6vryjp5awkf89mv3b2"; depends=[RColorBrewer Rcpp RcppArmadillo]; };
+  psd = derive2 { name="psd"; version="2.1.1"; sha256="1c9kq5g2p4iy1jdc9fhfs1v0hcnc8cbrpvafdpy3l4n9m66hahky"; depends=[RColorBrewer Rcpp RcppArmadillo]; };
   psda = derive2 { name="psda"; version="1.4.0"; sha256="0if42szf0gkgdl7d02x43i0fdb6hp47j918vx06aw7qcw6a8j3k2"; depends=[ggplot2 plyr raster rgeos sp]; };
   psdr = derive2 { name="psdr"; version="1.0.1"; sha256="02ypgi1gxnp0mn9p1w2j34ypnpbkrwp9i0ma0i7657zddcfnf391"; depends=[devtools ggplot2 qpdf]; };
   pse = derive2 { name="pse"; version="0.4.7"; sha256="0kigfzsvx3gw7jwym4f19dydwwarwxgmha7hpy54gg0zzi4k9icl"; depends=[boot Hmisc]; };
@@ -14508,7 +14676,8 @@ in with self; {
   pspline_inference = derive2 { name="pspline.inference"; version="1.0.4"; sha256="1ijz642igm27xg3928w9ffvykai26aar5awbcilrjbkm6fk7yd4w"; depends=[assertthat dplyr magrittr mgcv plotrix plyr reshape2 rlang]; };
   psqn = derive2 { name="psqn"; version="0.3.0"; sha256="0kb607d8jmxy152s1iigz6qwzrdn38q5bjc5klm8fhkndgj3y91c"; depends=[Matrix Rcpp RcppEigen testthat]; };
   psr = derive2 { name="psr"; version="0.1.0"; sha256="0lnszaspilk88hmdjbgid7nh0zrpc57mymchva4kqc3cpckw247a"; depends=[dplyr psych tidyr]; };
-  psrwe = derive2 { name="psrwe"; version="1.3"; sha256="09yzr4g3pldsn95n9nmjm4vj5fbv8xl2n8xr8i1ngf766yn65lqj"; depends=[BH cowplot dplyr ggplot2 randomForest Rcpp RcppEigen rstan StanHeaders]; };
+  psre = derive2 { name="psre"; version="0.1.0"; sha256="01g0p5sfhahjs2q13dcaqk816ch3niv1gxw6fpivih3n92r5yygj"; depends=[boot car cowplot DAMisc dplyr fANCOVA ggplot2 ggrepel lawstat magrittr MASS metap mgcv multcomp normwhn_test nortest rlang sm tibble tidyr]; };
+  psrwe = derive2 { name="psrwe"; version="3.0"; sha256="0a8lwz24gyahk7pkyvr0m2386ahgsfx5axx5cd9qmddzzcp5lfhs"; depends=[BH cowplot dplyr ggplot2 randomForest Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders survival]; };
   pssm = derive2 { name="pssm"; version="1.1"; sha256="0r3d1mzc7bcz238lqq4y518400m2dqm5a1fb9gkfiari1ax099lv"; depends=[abind MASS MHadaptive numDeriv]; };
   pssmooth = derive2 { name="pssmooth"; version="1.0.3"; sha256="08syh52gjaf72kq01v6b5dljmwi29nvmjmkkgmjb97zsi15z1wd3"; depends=[chngpt MASS np osDesign]; };
   pstest = derive2 { name="pstest"; version="0.1.3.900"; sha256="1rhd4vgqpr9yq0pc3xql3nfgl30v20ldywapp9n967ky2dja4k0z"; depends=[glmx MASS]; };
@@ -14517,7 +14686,7 @@ in with self; {
   psych = derive2 { name="psych"; version="2.1.9"; sha256="032h33i2qlwsw2iq82nri5y8hs7d593w40aghcvnibpi2wxf0x8l"; depends=[lattice mnormt nlme]; };
   psychReport = derive2 { name="psychReport"; version="3.0.1"; sha256="0mii4n24dfc8rh6jz81sil2wn9ml6vdaqn5m8caf3glv9k0v812c"; depends=[broom cli dplyr ez xtable]; };
   psychTools = derive2 { name="psychTools"; version="2.1.12"; sha256="0fqxlggbhi5g016vyiby8g42ll0080fig15p689cas2ydwn5zklk"; depends=[foreign psych]; };
-  psychmeta = derive2 { name="psychmeta"; version="2.6.1"; sha256="1kr39il60xa8imikbqcfxr90wwl6bz84mfxnwj2in7h636wnf3fk"; depends=[boot curl dplyr ggplot2 mathjaxr metafor progress purrr rlang tibble tidyr]; };
+  psychmeta = derive2 { name="psychmeta"; version="2.6.2"; sha256="0yacf2d2svb95a95cxa37szxpags156kwmn5knpfyn4hgbwp390g"; depends=[boot curl dplyr ggplot2 mathjaxr metafor progress purrr rlang tibble tidyr]; };
   psycho = derive2 { name="psycho"; version="0.6.1"; sha256="1a3qccr9jwrbwkfbrvckkhhk9qygrc5n4mq80kpzx0zy5bylxi0a"; depends=[bayestestR dplyr effectsize ggplot2 insight parameters scales stringr]; };
   psychometric = derive2 { name="psychometric"; version="2.2"; sha256="1b7cx6icixh8k3bv60fqxjjks23qn09vlcimqfv2x3m3nkf8p1s9"; depends=[multilevel nlme]; };
   psychomix = derive2 { name="psychomix"; version="1.1-8"; sha256="0lfhfcmrk65gkr1yp317b515vmadbcf0vjcnc76d07yp6yfkz5qw"; depends=[flexmix Formula lattice modeltools psychotools]; };
@@ -14540,7 +14709,7 @@ in with self; {
   ptspotter = derive2 { name="ptspotter"; version="1.0.1"; sha256="1yppjmsxx01n9x0a0bbqsaxjixvrzyjq3112p94igg2xpp6h6cvl"; depends=[beepr log4r pryr stringr this_path]; };
   ptsuite = derive2 { name="ptsuite"; version="1.0.0"; sha256="1df273p8v6zvhy2jj6imhjigwj77grx6sxqmg0sidxwqny5d1d9c"; depends=[Rcpp]; };
   ptvapi = derive2 { name="ptvapi"; version="2.0.1"; sha256="01n3am89gcmldcamasjw5666ikpxi68p4mzmkrwy6d1k4shrifbi"; depends=[assertthat digest glue httr jsonlite purrr tibble]; };
-  ptw = derive2 { name="ptw"; version="1.9-15"; sha256="0ikvzc5vfcs50jl5n49mhk39pcijyfdxd26adgs01h0b50zh1yi2"; depends=[nloptr]; };
+  ptw = derive2 { name="ptw"; version="1.9-16"; sha256="0rma3h9ksc5qigdvk5vappb4ipd4rpk64wckzcxvxspakr5w71vy"; depends=[RcppDE]; };
   ptwikiwords = derive2 { name="ptwikiwords"; version="0.0.3"; sha256="129dad1vy52sf97dqrkwa49vjhv2kvs4pmd5zvq8pxd51hqm6wy9"; depends=[]; };
   ptycho = derive2 { name="ptycho"; version="1.1-4"; sha256="1llk3rpk0lf80vwvs23d6dqhgyic3a6sfjc393csj69hh01nrdvc"; depends=[coda plyr reshape2]; };
   pubchunks = derive2 { name="pubchunks"; version="0.3.0"; sha256="14jzl0ra0d68s246a9jhfgp1wyy9g7d0rzahvl97crkklld1crvx"; depends=[data_table rcrossref xml2]; };
@@ -14595,17 +14764,18 @@ in with self; {
   qGaussian = derive2 { name="qGaussian"; version="0.1.8"; sha256="02xy35xg4swr1ldnsbywnz2h0ga1pbsivnj0aqmpll7kvwl9qz4c"; depends=[Rcpp robustbase zipfR]; };
   qLearn = derive2 { name="qLearn"; version="1.0"; sha256="1ilxmgazm8gjz8c1hhbp4fccibnvnalxrag8b0rn081zsqmhf094"; depends=[]; };
   qMRI = derive2 { name="qMRI"; version="1.2"; sha256="10x59g8awxjib5j5mc1yd5wsibk3z6ki6zifxsg8azl0zblxbscf"; depends=[adimpro aws awsMethods oro_nifti stringr]; };
+  qacBase = derive2 { name="qacBase"; version="1.0.2"; sha256="0gm3djmgxh1xgq6592xqh698cvfrbn413ah5raxybnsd51k5rg8p"; depends=[crayon dplyr ggcorrplot ggExtra ggplot2 haven multcompView patchwork PMCMRplus purrr rlang tidyr]; };
   qad = derive2 { name="qad"; version="1.0.1"; sha256="0b6zpffyxqqp76xajv5sf1ylz8glnsd2ajj91ijdads21hxqfrnw"; depends=[copula cowplot data_table dplyr ggExtra ggplot2 Rcpp viridis]; };
   qap = derive2 { name="qap"; version="0.1-1"; sha256="0d2d1ni1camixyi45lfy00f4pn3p063k7bsi8gj5scp6n15mdgb0"; depends=[]; };
   qape = derive2 { name="qape"; version="1.1"; sha256="168jcs2p1213k7fdsqvi1hqp9d2y8j2amrbrcxf2cjr5hnck19w9"; depends=[dplyr lme4 Matrix mvtnorm plyr]; };
   qat = derive2 { name="qat"; version="0.74"; sha256="04n1jnbkf9dzafjh1n5d4q9p7hvyhnr63nmgl51jqxcf3nan5rlx"; depends=[boot fields gdata gplots moments ncdf4 XML]; };
+  qbld = derive2 { name="qbld"; version="1.0.3"; sha256="0zz2n8f4cn03k80wakfgjhablxhbr8hxj5ydl4m7zlya4kdkl5md"; depends=[knitr mcmcse Rcpp RcppArmadillo RcppDist rmarkdown stableGR]; };
   qboxplot = derive2 { name="qboxplot"; version="0.2"; sha256="07f05n7zxgwyxg2r5fz691ra64m218w9v874xfzjx6671c40y1q2"; depends=[]; };
   qcQpcr = derive2 { name="qcQpcr"; version="1.5"; sha256="1298zla8z5w9z4idc07v3ca9rc1afx853y7iz3jmqnqnv8mr0s48"; depends=[ggplot2]; };
   qcapower = derive2 { name="qcapower"; version="0.1.0"; sha256="14vszidjvyi8namwv5k0hpgdw1dpns5ilvxfwa920ivdg35709ki"; depends=[devtools ggforce ggplot2]; };
   qcc = derive2 { name="qcc"; version="2.7"; sha256="0lc26w7p3d023lfr8v6v75m2vwqg9vi9pdipap19l4vbdq29l4zz"; depends=[MASS]; };
   qccrs = derive2 { name="qccrs"; version="0.1.0"; sha256="0lwrmf2809zzdj5f25bb1psh57ibyw90ra41fy2i9vjmgph9wgiq"; depends=[dplyr magrittr purrr tibble]; };
   qch = derive2 { name="qch"; version="1.0.0"; sha256="1kizr319kjr6xsgz7n0dhgp8rxr4j1x4bcr5cnifkp6z2zh92vka"; depends=[ks mclust]; };
-  qcr = derive2 { name="qcr"; version="1.3"; sha256="0jifg383qv935q9jlrlwy3y00nvjpgp2vm3qv5z0jdlr4kdw0pmm"; depends=[fda_usc MASS mvtnorm qcc]; };
   qcv = derive2 { name="qcv"; version="1.0"; sha256="0hf02l9c1cpzs02mfn9swfc8l635qsvh6xrhj21g19h5rxaf8jwg"; depends=[]; };
   qdap = derive2 { name="qdap"; version="2.4.3"; sha256="1fadzq7afavxfhcd8q6xy3g8d7jwy24zz1da2ig9bd8vrk5zjmnx"; depends=[chron dplyr gender ggplot2 gridExtra igraph NLP openNLP openxlsx plotrix qdapDictionaries qdapRegex qdapTools RColorBrewer RCurl reshape2 scales stringdist tidyr tm venneuler wordcloud XML]; };
   qdapDictionaries = derive2 { name="qdapDictionaries"; version="1.0.7"; sha256="0jdx7bxmvc4p41jb4fhaagg5jsbsi7gva870cmyia72li52grhyn"; depends=[]; };
@@ -14614,7 +14784,7 @@ in with self; {
   qdm = derive2 { name="qdm"; version="0.1-0"; sha256="0cfxyy8s5zfb7867f9xv9scq9blq2qnw68x66m7y7nqlrrff5xdr"; depends=[]; };
   qfasar = derive2 { name="qfasar"; version="1.2.1"; sha256="14370bmq4qx5j02va13wz52m2lgl4vb992p9587z9v2sxl1v4jjg"; depends=[Rsolnp]; };
   qgam = derive2 { name="qgam"; version="1.3.4"; sha256="1jyamamdffaks89rspyhmg18b4iik0nb1j0vgqzvfnm890514cvn"; depends=[doParallel mgcv plyr shiny]; };
-  qgcomp = derive2 { name="qgcomp"; version="2.8.5"; sha256="15nzhwcmg8i6q32af76ap8hs9pv522hcrc03lj57d600l2x6yk49"; depends=[arm future future_apply generics ggplot2 gridExtra pscl survival tibble]; };
+  qgcomp = derive2 { name="qgcomp"; version="2.8.6"; sha256="00wfslhj7hm5qgpbz8zg4a3dwrbvnn0g6m0vcq56mjvfinnip8aw"; depends=[arm future future_apply generics ggplot2 gridExtra pscl survival tibble]; };
   qgcompint = derive2 { name="qgcompint"; version="0.6.6"; sha256="13r0nzxwz9w5papxiqkxjw594qljpqqxw1wkrhj2n68ykvbvl1n7"; depends=[arm future future_apply ggplot2 gridExtra qgcomp survival]; };
   qgg = derive2 { name="qgg"; version="1.0.4"; sha256="1xyviy73jl76bpv5izlkgf171qrypgv2wm5mi3s06cb7md8psrkb"; depends=[data_table MASS MCMCpack statmod]; };
   qgraph = derive2 { name="qgraph"; version="1.9"; sha256="1ahhzp64jdgki5p2wga5mn8a2n1x2zldgpilrpf7hy5l9nf4imz1"; depends=[abind colorspace corpcor fdrtool ggplot2 glasso gtools Hmisc igraph jpeg lavaan Matrix pbapply plyr png psych Rcpp reshape2]; };
@@ -14627,7 +14797,7 @@ in with self; {
   qiitr = derive2 { name="qiitr"; version="0.1.1"; sha256="0qbqx7g4np2ygyxiqmq5cww1az6ijjx6na6b1mp4ywmyxkjg3k29"; depends=[httr jsonlite purrr rstudioapi]; };
   qkerntool = derive2 { name="qkerntool"; version="1.19"; sha256="14inry2hqvkmy0y2y3cl75ri4vri0hirv98gw2rymny69lia5x0s"; depends=[class]; };
   qlcMatrix = derive2 { name="qlcMatrix"; version="0.9.7"; sha256="0iqkcvvy8rxlk0s83sjq57dd6fadb18p5z31lzy0gnzv1hsy1x8y"; depends=[docopt Matrix slam sparsesvd]; };
-  qlcal = derive2 { name="qlcal"; version="0.0.1"; sha256="0fpb1jl7bpjrdwlg5rlmbxzwa1is3f6m7q8sibzz4cyva0730avd"; depends=[BH Rcpp]; };
+  qlcal = derive2 { name="qlcal"; version="0.0.2"; sha256="1fwk0wiwx8bq1yrqnd3n73ic8m5bc4xw1ziz79vrmfjmvzzkfysj"; depends=[BH Rcpp]; };
   qmap = derive2 { name="qmap"; version="1.0-4"; sha256="02xvq1mw83gln7phacbi3vhkvb100crggbldv13mhwq3wjnmg5k2"; depends=[fitdistrplus]; };
   qmd = derive2 { name="qmd"; version="1.0.0"; sha256="107z0frnr26qhsk6s930r4x4lqlfvf3m6wj6ppw11zxjsrsp0g5w"; depends=[qad]; };
   qmethod = derive2 { name="qmethod"; version="1.8"; sha256="0wv6i48w15pmsd8y0c46r3152w4y7is2xmsy6d9sqys8rbmqk019"; depends=[digest GPArotation knitr psych rjson shiny xtable]; };
@@ -14669,17 +14839,17 @@ in with self; {
   qtl2 = derive2 { name="qtl2"; version="0.28"; sha256="0ppc6dzlq77mppxc6bczai9gi40jrbxd1466y2cn2s8a4ah1jg9y"; depends=[data_table jsonlite Rcpp RcppEigen RSQLite yaml]; };
   qtl2convert = derive2 { name="qtl2convert"; version="0.26"; sha256="0m10wwc7v0143h8mbai55qlqpr0hnz9b61frq1vqc5x35rg4nj5g"; depends=[qtl qtl2 Rcpp]; };
   qtl2fst = derive2 { name="qtl2fst"; version="0.26"; sha256="0wpqpmj752pwjgghv7b30r69nc950h5fnsszsj142p7vws7ss8j9"; depends=[fst qtl2]; };
-  qtl2ggplot = derive2 { name="qtl2ggplot"; version="1.1.0"; sha256="1d2gchcw3ywc8dj3ivrn1qwcyw45m3qx9csya8vkis5zklx55w5q"; depends=[assertthat dplyr ggplot2 ggrepel purrr qtl2 RColorBrewer Rcpp rlang stringr tidyr]; };
-  qtl2pattern = derive2 { name="qtl2pattern"; version="1.0.17"; sha256="0g8xk6zvlr6s18mrkw0ry3mas74k0abajp1ddqfdwnj81gsh6vn4"; depends=[assertthat dplyr fst ggplot2 purrr qtl2 qtl2fst RColorBrewer rlang stringr tidyr]; };
+  qtl2ggplot = derive2 { name="qtl2ggplot"; version="1.2.1"; sha256="0xr1hhhwifpjbnrp6cwjijic0qwp2yiar7qvb9dl9rb2ww4r369b"; depends=[assertthat dplyr ggplot2 ggrepel purrr qtl2 RColorBrewer Rcpp rlang stringr tidyr]; };
+  qtl2pattern = derive2 { name="qtl2pattern"; version="1.2.0"; sha256="0d6s4lx9vxgrj753kn14b2kgmmrmg2x5y1zhhgyfyy0alwxvjcc8"; depends=[assertthat dplyr fst ggplot2 purrr qtl2 qtl2fst RColorBrewer rlang stringr tidyr]; };
   qtl2pleio = derive2 { name="qtl2pleio"; version="1.4.3"; sha256="0az71vgj1gv7rfz0hnc9rysh49ak2pnkvmih5mwmymr4an84c34k"; depends=[dplyr gemma2 ggplot2 magrittr MASS Rcpp RcppEigen rlang tibble]; };
   qtlDesign = derive2 { name="qtlDesign"; version="0.941"; sha256="138yi85i5xiaqrns4v2hw46b731bdgnb301wg2h4cfrxvrw4l0d5"; depends=[]; };
   qtlbook = derive2 { name="qtlbook"; version="0.18-8"; sha256="1c849xy2ki7niddajv5wnsm0zdp5381w8zm9lc8rvkdbs2v6rhf4"; depends=[]; };
   qtlc = derive2 { name="qtlc"; version="1.0"; sha256="17ij4alx4qg556b5kq7qsjygj5jf8iyx1f0v52pvx1z2sm6nppww"; depends=[plot3D rgl tiff]; };
-  qtlcharts = derive2 { name="qtlcharts"; version="0.14"; sha256="1w83x6yrq3hj2sahc5sz1rj5czn408ig35gb90jn36g4ar8zivxp"; depends=[htmlwidgets qtl]; };
+  qtlcharts = derive2 { name="qtlcharts"; version="0.16"; sha256="1bf7cdcbbxblsx357pymq54yr4aa7iaxpq4f73nbxdal9nbcqkda"; depends=[htmlwidgets qtl]; };
   qtlhot = derive2 { name="qtlhot"; version="1.0.4"; sha256="0gf0fsq91g830vqg5kz01zznm40qpjncy964ccvmms3i6d3hxd9m"; depends=[corpcor mnormt qtl]; };
   qtlmt = derive2 { name="qtlmt"; version="0.1-6"; sha256="023h60z8d05832l2g7mg776hfjb0i7xpvhz3i899rc3h5pgjd94c"; depends=[]; };
   qtlnet = derive2 { name="qtlnet"; version="1.5.4"; sha256="0jdf3hyzas0lyv2v4gqai9mhh7218a1mvm0nlwv9hfdbij0hi84v"; depends=[graph igraph pcalg qtl sem]; };
-  qtlpoly = derive2 { name="qtlpoly"; version="0.2.2"; sha256="0a7nlc22yndp9xbq5lyabzahgym6vayi46z1a75wwgjdjizji1r0"; depends=[abind CompQuadForm ggplot2 gtools MASS Matrix mvtnorm nlme quadprog Rcpp RcppArmadillo RcppProgress RLRsim]; };
+  qtlpoly = derive2 { name="qtlpoly"; version="0.2.3"; sha256="10a9zcsf2f6hkigwa3gpck2vg2pf9qa1z19kpk9kxbv4j1hja23s"; depends=[abind CompQuadForm ggplot2 gtools MASS Matrix mvtnorm nlme quadprog Rcpp RcppArmadillo RcppProgress RLRsim]; };
   quRan = derive2 { name="quRan"; version="0.1.0"; sha256="108d797l9ggggc5b61pl7f6avzknmnnib2ys5vrg385zfbx9srvw"; depends=[]; };
   quad = derive2 { name="quad"; version="1.0"; sha256="0fak12l19f260k0ygh6zimx8dabzsv7a9i2njw8hnfcs3ndffhv5"; depends=[PearsonDS]; };
   quadmatrix = derive2 { name="quadmatrix"; version="0.1.0"; sha256="0nngrvvbalmrr6g9bq9f5qrllvwfq5p1b9yhs4zb098s3wga8jms"; depends=[geigen matrixcalc]; };
@@ -14687,7 +14857,7 @@ in with self; {
   quadprog = derive2 { name="quadprog"; version="1.5-8"; sha256="1ka9g8zak8sg4y2xbz93dfrldznlk9qpd4pq9z21cdcdn3b8s4i2"; depends=[]; };
   quadprogXT = derive2 { name="quadprogXT"; version="0.0.5"; sha256="1yna2kx9pr58vyy6f4mwx4a6avjz84wwhcary88v1k0ihhv9swcz"; depends=[quadprog]; };
   quadrupen = derive2 { name="quadrupen"; version="0.2-8"; sha256="1n3wqbdfwkrajhdkng6f8ixdz94znpqdfss872wrk0rz9bhpa03l"; depends=[ggplot2 Matrix Rcpp RcppArmadillo reshape2 scales]; };
-  quadtree = derive2 { name="quadtree"; version="0.1.2"; sha256="1k0hxc7ryw8avnyxs3clldjs9kypz0bh687gp6mhlf255fmpx0z2"; depends=[raster Rcpp]; };
+  quadtree = derive2 { name="quadtree"; version="0.1.9"; sha256="1qmy4ndqjy237b5d6k3viir5barnzgq4873qz7fdr6igmz7wnpvk"; depends=[raster Rcpp]; };
   qualCI = derive2 { name="qualCI"; version="0.1"; sha256="09mzsy5ryyrn1gz9ahrh95cpfk7g09pmjjy0m82fh4xc7j5w6kpf"; depends=[combinat]; };
   qualV = derive2 { name="qualV"; version="0.3-4"; sha256="0rkjzva2h158d5c631jmjjh7qjibbyisl0503san80rk9fgxl45b"; depends=[KernSmooth]; };
   qualmap = derive2 { name="qualmap"; version="0.2.0"; sha256="04kg4vz18zvkd6m37ng70ggi93pynwxi2ahh4n7n78f4rqa1d3nz"; depends=[dplyr glue leaflet purrr rlang sf]; };
@@ -14709,18 +14879,18 @@ in with self; {
   quantkriging = derive2 { name="quantkriging"; version="0.1.0"; sha256="0v6kckgzhgsn3158sc06xszdhmk8sfny10j1qyppxsl2hk89n8jf"; depends=[ggplot2 hetGP Matrix reshape2]; };
   quantmod = derive2 { name="quantmod"; version="0.4.18"; sha256="0dbcrncv06iqcbkky95dd7l32xq0hhbnkb0kj8wwzym1jf748h5a"; depends=[curl TTR xts zoo]; };
   quantoptr = derive2 { name="quantoptr"; version="0.1.3"; sha256="0f9vy9yhya4wpya8n345s6n7a5sb29chdkl5fz6dwa31lp1mvvj3"; depends=[quantreg Rdpack rgenoud stringr]; };
-  quantreg = derive2 { name="quantreg"; version="5.86"; sha256="01fnp6ndh7npxj76xlynndacsgmcfr9kgh2waw0clx3mmwlwilbi"; depends=[conquer Matrix MatrixModels SparseM]; };
+  quantreg = derive2 { name="quantreg"; version="5.88"; sha256="0grsha18zkiil0qnxc1d7kc3w26i6aaa4av9n9ahdm8yf59yah0r"; depends=[Matrix MatrixModels SparseM]; };
   quantreg_nonpar = derive2 { name="quantreg.nonpar"; version="1.0"; sha256="1f9120awnkwsgdiqg98lg7xs5l4y80930869x6k9q76595r5m92k"; depends=[fda mnormt quantreg Rearrangement]; };
   quantregForest = derive2 { name="quantregForest"; version="1.3-7"; sha256="0lk7r02i6zpx9sdl2rp0r7fc3a84s8qhg49nh2x7k3vxwa095pjz"; depends=[randomForest RColorBrewer]; };
   quantregGrowth = derive2 { name="quantregGrowth"; version="1.4-0"; sha256="0fw8kdgnlvb9c0xnankmzlpk9qnk52rqrrby32a02mz2f93ddh7k"; depends=[quantreg]; };
   quantregRanger = derive2 { name="quantregRanger"; version="1.0"; sha256="1a9q2prr790bpw6s0y5ni5ppd3vqkjr0v4nqp6ywcj5n3sk69pvx"; depends=[ranger Rcpp]; };
   quantspec = derive2 { name="quantspec"; version="1.2-3"; sha256="0ifwq2jmvxhpijz9yd9hffkff6ixcliaqkp9ispp9k1b8icwi8zn"; depends=[abind quantreg Rcpp snowfall zoo]; };
-  quarks = derive2 { name="quarks"; version="1.0.10"; sha256="13g2pyxb2a4vyyj7nzq23mzbl1j9q5kpvyj0vd1gxvjnds47r5qp"; depends=[rugarch]; };
+  quarks = derive2 { name="quarks"; version="1.0.11"; sha256="0zky5gxp9y457b833g3smc9hd875lc1kdnn94p0ykw3lcj9202pd"; depends=[rugarch]; };
   quarrint = derive2 { name="quarrint"; version="1.0.0"; sha256="13fdmmrgn23xd9vpywmcl7pf729gmcxjfl1wxs30axsbp4h1s6rk"; depends=[neuralnet]; };
-  quarto = derive2 { name="quarto"; version="1.0"; sha256="1733ck30p163m6zfxwr8kbzf8ks4zi0g5fi1azwdl97np5q3aarw"; depends=[jsonlite later processx rmarkdown rstudioapi yaml]; };
+  quarto = derive2 { name="quarto"; version="1.1"; sha256="1j32kahfkca0kz2akah6jg2n1f04ck4y6irjv77s7ar61m5an054"; depends=[jsonlite later processx rmarkdown rstudioapi yaml]; };
   queryparser = derive2 { name="queryparser"; version="0.3.1"; sha256="1pz66f3wxvvv42l5hib7hbpy14s8a13gn0n57vf6v5zdnz423kdr"; depends=[]; };
   quest = derive2 { name="quest"; version="0.1.0"; sha256="15al3j850v7i59zr9yybxjrb3lnpd14369rp5vnpzwxy80jpy7d9"; depends=[car plyr psych psychTools str2str]; };
-  questionr = derive2 { name="questionr"; version="0.7.5"; sha256="18ylfwcjcadh659sjihwzsik7zk477dm0zf3nsyx7a18na55v8m1"; depends=[classInt highr htmltools labelled miniUI rstudioapi shiny styler]; };
+  questionr = derive2 { name="questionr"; version="0.7.7"; sha256="0mpxkmrv1v7fjj1hz1633n154s525p6skclybdhwmgldv45w896f"; depends=[classInt highr htmltools labelled miniUI rstudioapi shiny styler]; };
   queuecomputer = derive2 { name="queuecomputer"; version="1.1.0"; sha256="1lzc0hfva8dpz2q5g0abjc2avyqdffi8g1qi5h6mvx8qn5kx7bmw"; depends=[dplyr Rcpp RcppArmadillo tidyr]; };
   queueing = derive2 { name="queueing"; version="0.2.12"; sha256="0hw1ykm24cjpfwh7ac7fjf7mhc59mq8wy2g07aacpy5ibwi8bbsf"; depends=[]; };
   quhomology = derive2 { name="quhomology"; version="1.1.1"; sha256="0wiih00zk4682wy1r4nyifh76h5bnvl3f785wjzmrwylnfy951l3"; depends=[MASS numbers]; };
@@ -14728,6 +14898,7 @@ in with self; {
   quickPlot = derive2 { name="quickPlot"; version="0.1.6"; sha256="0mffialxdim8f5s0bw9bb7p8dbrfdgq1wqih441x27lnmrvhlsa8"; depends=[backports data_table fpCompare ggplot2 gridBase igraph raster RColorBrewer rgdal rgeos sp]; };
   quickReg = derive2 { name="quickReg"; version="1.5.0"; sha256="1l1v3k8albxlaz18l2b2x2ryifq4pbdq6n4q7555hnfcik9rqmw5"; depends=[dplyr ggplot2 nortest psych rlang survival]; };
   quickblock = derive2 { name="quickblock"; version="0.2.0"; sha256="0ij4ivpnkjzdixbq7pg4g1xkb031qawadr22qhzp0q210qhmhc0m"; depends=[distances scclust]; };
+  quickcheck = derive2 { name="quickcheck"; version="0.0.1"; sha256="1y3h31p81m76vn2d7dfc12nxc725p585agaa5p4wv396i7ccjaik"; depends=[dplyr hedgehog hms purrr]; };
   quickerstats = derive2 { name="quickerstats"; version="0.0.1"; sha256="0jlczz042701p6j4m60k425m9x3q88m27mmf62ngz80dylcl2fdx"; depends=[curl httr readr tibble]; };
   quickmapr = derive2 { name="quickmapr"; version="0.3.0"; sha256="0962qm8ak0wpqld8nrb8rvvb78743zfrfsq2xrwdlql681j2nv8c"; depends=[httr raster rgdal rgeos sf sp]; };
   quickmatch = derive2 { name="quickmatch"; version="0.2.1"; sha256="1qfslhjlbjpzigz8n6b7w41g8pwdiwri091ivd5igp1xy5pv8a3w"; depends=[distances sandwich scclust]; };
@@ -14800,7 +14971,7 @@ in with self; {
   rDecode = derive2 { name="rDecode"; version="0.1.0"; sha256="1d0rrhycw9anhvx6czz7axkzhzqprdgi9sqfglmc962zf1x3hmn2"; depends=[]; };
   rDotNet = derive2 { name="rDotNet"; version="0.9.1"; sha256="18cd5373pdfi1x958llb4cgjqdi1fb7h7m5nkdwcd4xw9hxhinzd"; depends=[Rcpp testthat]; };
   rDppDiversity = derive2 { name="rDppDiversity"; version="0.0.2"; sha256="0833v5wkamqipfxpsdxz040q6vlgg9qqpwiaivvh8ar5sci10v88"; depends=[Rcpp]; };
-  rEDM = derive2 { name="rEDM"; version="1.10.0"; sha256="1a5lv6zli9hfc6h1jis1fzvdkkw7pwp8z8cs12231944ckwc309f"; depends=[Rcpp RcppThread]; };
+  rEDM = derive2 { name="rEDM"; version="1.10.1"; sha256="0xd00fxxn6m0cg4r4m5sp0wxv28yfz1ldck8bx8m3l6xclvfdvvc"; depends=[Rcpp RcppThread]; };
   rEMM = derive2 { name="rEMM"; version="1.1.0"; sha256="18bpskhrafj0b5rnzisrsk5x5gifqn7dpawcsgdrg7rbnz7y1wzr"; depends=[cluster clusterGeneration igraph MASS proxy]; };
   rENA = derive2 { name="rENA"; version="0.2.3"; sha256="067xpw1mgb2y15ld4qc6mnf4b9k7nw8am9qz4ms980wyfp4ffjmj"; depends=[concatenate data_table doParallel foreach magrittr plotly R6 Rcpp RcppArmadillo scales]; };
   rFDSN = derive2 { name="rFDSN"; version="0.0.0"; sha256="1ffiqpdzy4ipy2aci22zkih4373ifkjkpvsrza8awhyf9fwqwdsl"; depends=[XML]; };
@@ -14809,6 +14980,7 @@ in with self; {
   rFerns = derive2 { name="rFerns"; version="5.0.0"; sha256="1yw3np5iamnr7f3nrd507dkyz76nxmzdpinwxncv87yw30g6gnkq"; depends=[]; };
   rForest = derive2 { name="rForest"; version="0.1.4"; sha256="0vk9sfnbzpjqh7mr3qwi5awlh8qc0h1i6qwbyv7qj72apy05s2d8"; depends=[alphashape3d geometry rgl sp]; };
   rGammaGamma = derive2 { name="rGammaGamma"; version="1.0.12"; sha256="1051ah6q11qkxj1my4xybbzc8xcqkxfmps8mv2his5cyfllwidbs"; depends=[gsl]; };
+  rGhanaCensus = derive2 { name="rGhanaCensus"; version="0.1.0"; sha256="1i8z2cfzk64yhvkia1khsmw666dflai1sj8bhd8n2d97a45nb230"; depends=[]; };
   rGroovy = derive2 { name="rGroovy"; version="1.3"; sha256="172vm4diygzi4ipmw8bl03k0x3aps0h1vkvwvw539kamy7xb5w98"; depends=[rJava]; };
   rHealthDataGov = derive2 { name="rHealthDataGov"; version="1.0.1"; sha256="0lkjprss15yl6n9wgh79r4clip3jndly2ab1lv4iijzxnxay099d"; depends=[bit64 httr jsonlite]; };
   rHpcc = derive2 { name="rHpcc"; version="1.0"; sha256="0096z90mmf1j2xpb9034a5ph52m8z6n6xjh3km2vrhw63g3cpwap"; depends=[RCurl XML]; };
@@ -14842,7 +15014,7 @@ in with self; {
   rPowerSampleSize = derive2 { name="rPowerSampleSize"; version="1.0.2"; sha256="1insdfvcn1pirsnf7nwfia0kzgsmh2zpghgfj2yc35ld1r9j2hp2"; depends=[mvtnorm ssanv]; };
   rPraat = derive2 { name="rPraat"; version="1.3.2-1"; sha256="19qd3hylp8m0y171xhdd3k84izxyid7k2f9583gkxq8kik3md1v2"; depends=[dplyr dygraphs readr stringr tuneR]; };
   rPref = derive2 { name="rPref"; version="1.3"; sha256="0vlzhxhf2x6gw015sjfw2638wv6hckg068rpbzncp7wprn9msa6y"; depends=[dplyr igraph lazyeval Rcpp RcppParallel]; };
-  rQCC = derive2 { name="rQCC"; version="1.20.7"; sha256="0qbwz5imzgwfwkcvy23ayqvsd8da1nzmhzn8biapgn3gr23w2lx2"; depends=[]; };
+  rQCC = derive2 { name="rQCC"; version="2.22.1"; sha256="0ahzc4aqx1aw50fcir4s5zig4lgllbqi7kvk1yddk6z0sgcg5p1r"; depends=[]; };
   rRAP = derive2 { name="rRAP"; version="1.1"; sha256="1nzvs8bjkbjraa33azxf9mrxsxh87qhh3qlldrcs5y4fq4ancyqb"; depends=[lars lassoshooting MASS]; };
   rRofex = derive2 { name="rRofex"; version="2.0.6"; sha256="0yg3bxadgmn5d7bljzn9bjzy833lfi6bwz24z52f8qcbm1nqchgb"; depends=[dplyr glue httr jsonlite later lifecycle magrittr purrr rlang tibble tidyr websocket]; };
   rSAFE = derive2 { name="rSAFE"; version="0.1.2"; sha256="0m7xzk76armkd86g643fmpif43dri07vrbq348y8hmys1gnx7ikd"; depends=[DALEX dendextend ggplot2 ggpubr ingredients sets]; };
@@ -14851,7 +15023,7 @@ in with self; {
   rSFA = derive2 { name="rSFA"; version="1.04"; sha256="0gd6ji1ynbb04rfv8jfdmp7dqnyz8pxcl5636fypd9a81fggl0gs"; depends=[MASS]; };
   rSHAPE = derive2 { name="rSHAPE"; version="0.3.2"; sha256="0z6dizsxlkmaymbd24b1m1i8kmndcf21nxxnyfzq6gvdii7bal4h"; depends=[abind DBI doParallel evd foreach RSQLite sn VGAM]; };
   rSPARCS = derive2 { name="rSPARCS"; version="0.1.0"; sha256="0k46nhkdn68c7h7bbbdfwl02bldi1m3m62zbp20kh8np9bxy1rnk"; depends=[data_table geosphere plyr raster sp spatialEco tigris]; };
-  rSPDE = derive2 { name="rSPDE"; version="1.0.0"; sha256="0l4wj2hvy8zgiclqrkzaash7pal8z75i9xaxnx6ww8wb9rc2iifa"; depends=[Matrix]; };
+  rSPDE = derive2 { name="rSPDE"; version="1.1.1"; sha256="0zji1d292nr8bj149vdk0v48jcg6w56cbxr5xhfm7s5b999qrqxf"; depends=[Matrix]; };
   rSQM = derive2 { name="rSQM"; version="1.3.14"; sha256="0m69n2pnfv2085dln6p149a5gw0gif9xk00xmad5s9j68hwjdmym"; depends=[dplyr EcoHydRology ggplot2 gsubfn mise ncdf4 qmap reshape2 stringr yaml zoo]; };
   rStrava = derive2 { name="rStrava"; version="1.1.4"; sha256="00y400znkwyr6y33wiz0jikpa31a60hdcmsi9x3724zwjh28vynj"; depends=[bitops dplyr geosphere ggplot2 ggrepel googleway httpuv httr magrittr plyr purrr RCurl rvest tibble tidyr V8 XML xml2]; };
   rTG = derive2 { name="rTG"; version="0.2.2"; sha256="0f1syh2v8a0klcz7rvi8nrn1qv8rjl69ssrliqnh2zpy7c6ck9xs"; depends=[brnn dplyr ggplot2 knitr magrittr mgcv]; };
@@ -14886,7 +15058,7 @@ in with self; {
   radlibs = derive2 { name="radlibs"; version="0.2.0"; sha256="1xl7pacqgiv68ay7mkr6bkx3rqqr7z8b9yh42n4zm7ybqfxbx6dr"; depends=[data_table lexicon stringr]; };
   radmixture = derive2 { name="radmixture"; version="0.0.1"; sha256="0rs60xjd43lg5c9972qhpg6bsqfg2578qvrz7gz3bdip10jb1ryj"; depends=[magrittr MCMCpack plyr quadprog]; };
   radous = derive2 { name="radous"; version="0.1.3"; sha256="1pip3givlkzb8i65nz6w724818jjr8j8nizpc3g35r9bvpmn7c2y"; depends=[checkmate curl glue httr readr]; };
-  radsafer = derive2 { name="radsafer"; version="2.2.5"; sha256="08088mifqlhkg8qrly2v1idvzl96fg2zymn812yqwppxjgcymzbz"; depends=[dplyr ggplot2 ggthemes magrittr qpdf RadData readr rlang scatterplot3d stringr utf8]; };
+  radsafer = derive2 { name="radsafer"; version="2.2.6"; sha256="0dmxdrmi8rvng69hsgqj60gw22daasxmy69z1xygd0w7vcsvn9aw"; depends=[dplyr ggplot2 ggthemes magrittr qpdf RadData readr rlang scatterplot3d stringr utf8]; };
   rafalib = derive2 { name="rafalib"; version="1.0.0"; sha256="1dmxjl66bfdgrybhwyaa8d4i460liqcdw8b29a6w7shgksh29m0k"; depends=[RColorBrewer]; };
   ragg = derive2 { name="ragg"; version="1.2.1"; sha256="08dknkibmmwllycga2cp2732idsi3jfkkl5ghh6r2g2wdli1n2y1"; depends=[systemfonts textshaping]; };
   rags2ridges = derive2 { name="rags2ridges"; version="2.2.5"; sha256="0aqfm8f58xrq81bd80parkwj28i6m0bxdpq6qp1iy3qyxsq5as64"; depends=[expm fdrtool ggplot2 graph gRbase Hmisc igraph RBGL Rcpp RcppArmadillo reshape RSpectra sfsmisc snowfall]; };
@@ -14908,14 +15080,13 @@ in with self; {
   ramsvm = derive2 { name="ramsvm"; version="2.2"; sha256="105f3g2s47sb4vxf88k26lws60ay1h8n3g48rmyhpzhgmwc13027"; depends=[doParallel foreach]; };
   randChecks = derive2 { name="randChecks"; version="0.2.1"; sha256="0fwbacnv38zf0014h9l45spfa4yd4wdif7m2a1jbl11pmns70wxm"; depends=[]; };
   randNames = derive2 { name="randNames"; version="0.2.3"; sha256="0vhzg14yg4c9inzxin8prfzh6nhf8fvbi4hbn122fyqyp5d6f8zi"; depends=[httr jsonlite tibble]; };
-  randaes = derive2 { name="randaes"; version="0.3"; sha256="14803argy0xdd8mpn4v67gbp90qi2is4x6na9zw7i9pm504xji1x"; depends=[]; };
   randcorr = derive2 { name="randcorr"; version="1.0"; sha256="1hnr0wvbsmgql39wlj4z2qbqn0fdfwyihfl6xgrlzvs9vrmig5xx"; depends=[]; };
   randgeo = derive2 { name="randgeo"; version="0.3.0"; sha256="14hlh9k66lcbf0xhnxx12rrnyl8awqcsm3csvxdz23s5wnm2ya5p"; depends=[]; };
   randnet = derive2 { name="randnet"; version="0.5"; sha256="131bkfzxjd3x02dj6wc2ilwpgymmm18apd4v1dd70ib4sibvir16"; depends=[AUC entropy irlba Matrix nnls poweRlaw pracma RSpectra]; };
   rando = derive2 { name="rando"; version="0.2.0"; sha256="085g48yzwapxxfmm5bvkz0v7pmjwmakb7nl128550ppgc16wxkgb"; depends=[dplyr glue rlang tibble]; };
   random = derive2 { name="random"; version="0.2.6"; sha256="0sdhagwjlhldb8hn6h4nd1sflzhwkapzybdlb8hzisy3w2ygjn9b"; depends=[curl]; };
   random_polychor_pa = derive2 { name="random.polychor.pa"; version="1.1.4-4"; sha256="19yzpjidw5pbrqfa5ln5hgghv0mq3cwl92z2isq25yydfl6qsl6h"; depends=[boot MASS mvtnorm nFactors psych sfsmisc]; };
-  randomForest = derive2 { name="randomForest"; version="4.6-14"; sha256="0kbmm0l42fc2d1rdq0l7k09d34kd87q4lx651ffsic4y84h8kf7l"; depends=[]; };
+  randomForest = derive2 { name="randomForest"; version="4.7-1"; sha256="04q6gb917md4yw837cf9vlx1q8ljl06jw7yhykzb6nl47w55jnkq"; depends=[]; };
   randomForestExplainer = derive2 { name="randomForestExplainer"; version="0.10.1"; sha256="1ny8c3vn2zvdx12avwvlm4lp648jigkrkcvnhf5qmj8rh0w069v0"; depends=[data_table dplyr DT GGally ggplot2 ggrepel randomForest ranger reshape2 rmarkdown]; };
   randomForestSRC = derive2 { name="randomForestSRC"; version="3.0.0"; sha256="02izhp3m2avmnxvvdyqz0bsvjs6pmkh8jhq5rv0fra1nqzgf6nwp"; depends=[data_tree DiagrammeR]; };
   randomLCA = derive2 { name="randomLCA"; version="1.1-1"; sha256="08flank5pmyh5ih63bfw5qaby3g8vfh8p36sjbmxfylicdydfjl7"; depends=[boot doParallel doRNG fastGHQuad foreach lattice Matrix Rfast]; };
@@ -14925,7 +15096,7 @@ in with self; {
   randomizationInference = derive2 { name="randomizationInference"; version="1.0.3"; sha256="0x36r9bjmpx90fz47cha4hbas4b31mpnbd8ziw2wld4580jkd6mk"; depends=[matrixStats permute]; };
   randomizeBE = derive2 { name="randomizeBE"; version="0.3-5"; sha256="08yfdrf56i8php48ycilc79jk7ms0f6k40swg56mccnqm2yb3b12"; depends=[]; };
   randomizeR = derive2 { name="randomizeR"; version="2.0.0"; sha256="1bcdh245lh5a2yim00m2cgcmlcjm2vyba813026v0a4c42gr3b8x"; depends=[ggplot2 plotrix survival]; };
-  randomizr = derive2 { name="randomizr"; version="0.20.0"; sha256="0dljyfldnardaps3fq6vi5wcs9x6qfaq5apapa78c51lnaa6fn9h"; depends=[]; };
+  randomizr = derive2 { name="randomizr"; version="0.22.0"; sha256="1grm0h3xkb0pdbbv0gd531g1kn6njp0gcy5fh153rrmajxgd8hhw"; depends=[]; };
   randquotes = derive2 { name="randquotes"; version="0.1.1"; sha256="0fj9vx0c4059511wka7ip30yz87y144pz7ny840gp72qm73pp8li"; depends=[curl httr jsonlite xml2]; };
   randtests = derive2 { name="randtests"; version="1.0"; sha256="03z3kxl4x0l91dsv65ld9kgc58z82ld1f4lk18i18dpvwcgkqk82"; depends=[]; };
   randtoolbox = derive2 { name="randtoolbox"; version="1.31.1"; sha256="1b9vjzqg014hxp1vfb62m01d7xim5vmpbyxzlbll49bqas0jx69h"; depends=[rngWELL]; };
@@ -14959,17 +15130,18 @@ in with self; {
   rasciidoc = derive2 { name="rasciidoc"; version="4.0.2"; sha256="1k3bh1bbjrzhmz2dz98qw8ad46jk7dx7srigp22valk5jz4ni7s5"; depends=[checkmate document fritools gert highr knitr reticulate]; };
   rasclass = derive2 { name="rasclass"; version="0.2.2"; sha256="1lsmv8kh519mz3szb4k9s17fz1480cw0i4qk12givhhm2rpzjy50"; depends=[car e1071 nnet randomForest RSNNS]; };
   rassta = derive2 { name="rassta"; version="1.0.2"; sha256="1f8lkv6n701gy8lgzil9kha62w9pqvfzd8ns9900hvrw50kg6aiy"; depends=[cluster data_table dplyr DT foreach GGally ggplot2 histogram KernSmooth kohonen plotly raster rlang scales shiny stringdist stringi terra]; };
-  raster = derive2 { name="raster"; version="3.5-11"; sha256="18v1vflq15915dwa3caf5sp1d1kp8w6plpaqk3z6a3164lwq5i76"; depends=[Rcpp sp terra]; };
+  raster = derive2 { name="raster"; version="3.5-15"; sha256="11fnznymwavpph733dayklhcx4phpjgrijfxlaszi122sg2x7ir9"; depends=[Rcpp sp terra]; };
   rasterDT = derive2 { name="rasterDT"; version="0.3.1"; sha256="1dl083jm4x0shl7lq4in2alksgi63hp1p7j2cnsvkmwjaxygzm9v"; depends=[data_table fasterize raster sf]; };
   rasterImage = derive2 { name="rasterImage"; version="0.4.0"; sha256="191m5k1rbbwziznmxbsq4g55afkw8gb5011i70f3wx3dscr3phxz"; depends=[plotrix]; };
   rasterKernelEstimates = derive2 { name="rasterKernelEstimates"; version="1.0.2"; sha256="0az96k8l7yjya5mg5ckda43qy9h8iad5gyyxi1ycld3kzcwiinhj"; depends=[raster]; };
   rasterList = derive2 { name="rasterList"; version="0.5.8"; sha256="0q7apglxzpah04463z07cpkzyd6l6dbbdhm601brzh6yk75z20vh"; depends=[raster]; };
-  rasterVis = derive2 { name="rasterVis"; version="0.51.1"; sha256="1mg11njzajx9az6xjghjl2sna6wzs85ga8fhy9w43l2n8icsfbr2"; depends=[hexbin lattice latticeExtra raster RColorBrewer sp terra viridisLite zoo]; };
-  rasterbc = derive2 { name="rasterbc"; version="1.0.0"; sha256="0xv4rf4d2az5c8pgf808y1czypdmh5qa0g7z4a20a934wpcazpmi"; depends=[sf terra]; };
+  rasterVis = derive2 { name="rasterVis"; version="0.51.2"; sha256="0kgg6cm7xjqya2d46w0i1i1wjpkb8f99lyqy7rgwa7l9xmwzj5n1"; depends=[hexbin lattice latticeExtra raster RColorBrewer sp terra viridisLite zoo]; };
+  rasterbc = derive2 { name="rasterbc"; version="1.0.1"; sha256="17knrhvy2qkdz5bvhnllfkv8w4cm5gjjninwh66pk1xfrqkd4skg"; depends=[sf terra]; };
   rasterdiv = derive2 { name="rasterdiv"; version="0.2-3"; sha256="1n0zrncda3nk4x8l9wb0acdx25dlki9wwrg874qwhd73cx0iy0rp"; depends=[foreach progress proxy raster svMisc]; };
   rasterize = derive2 { name="rasterize"; version="0.1"; sha256="18nrhmq1qmi05rkyr86xsyc8nz0fbdpf2d45h62bbfzbfynqd4qy"; depends=[png]; };
   rasterly = derive2 { name="rasterly"; version="0.2.0"; sha256="1fv0ayh8r78qss7ikcwnj0i5x8iyz4c3icsfb554zji9bw30x7qr"; depends=[data_table ggplot2 magrittr plotly Rcpp rlang]; };
   rasterpdf = derive2 { name="rasterpdf"; version="0.1.1"; sha256="0zi54nifbb4dzb29i8rskynblw3z42vzaykwbq30ia5zs9q1bvm5"; depends=[png]; };
+  rasterpic = derive2 { name="rasterpic"; version="0.1.0"; sha256="0knrdca9s15sws2psqi4yc26b6nn5q2p65c5f9wf0n7211534rik"; depends=[png sf terra]; };
   ratelimitr = derive2 { name="ratelimitr"; version="0.4.1"; sha256="06x759jxr5zcnvg9q120n5bpipkb16piw15kxrpk7i918mby889b"; depends=[assertthat]; };
   ratematrix = derive2 { name="ratematrix"; version="1.2.3"; sha256="0bnwwkmjsxlv4qkkwq93d7nrqb7pyyd70ffpm98xsxfy1ygdxjqq"; depends=[ape coda corpcor ellipse geiger MASS mvMORPH phylolm Rcpp RcppArmadillo readr]; };
   rater = derive2 { name="rater"; version="1.2.0"; sha256="1y4hhcnxdlw17w0ihv108p3rkwwdis7i7vc0rp7l6pfz7an8pw8r"; depends=[BH ggplot2 loo Rcpp RcppEigen RcppParallel rlang rstan rstantools StanHeaders]; };
@@ -14994,6 +15166,8 @@ in with self; {
   rbace = derive2 { name="rbace"; version="0.2.2"; sha256="04jcbrcp0l1v2q8hhwr5w72spdja8r0fw71v68kx39yigy7m1sgp"; depends=[crul data_table tibble xml2]; };
   rbacon = derive2 { name="rbacon"; version="2.5.7"; sha256="14j84bkgmxigzj5nk909b89ails7mzys8wk92gvcywv2p9yhwk6b"; depends=[coda IntCal Rcpp]; };
   rbart = derive2 { name="rbart"; version="1.0"; sha256="1byfm1ycw9nfhdblqklyn8pxn6b9q5fa3inbgfpynqpsid97ig35"; depends=[Rcpp]; };
+  rbcb = derive2 { name="rbcb"; version="0.1.8"; sha256="07hnv19q10vgcq6qzzm4y4y0rfi8rzd41hvawl01lk3y8b9lz2v0"; depends=[httr jsonlite tibble xml2 xts]; };
+  rbch = derive2 { name="rbch"; version="0.1-1"; sha256="0n2s5qfgjvg7vv65myz6dcmmaf37z883z1sw4hryngz2z6w4zz5q"; depends=[gmp httr openssl rjson]; };
   rbefdata = derive2 { name="rbefdata"; version="0.3.5"; sha256="12mcqz0pqgwfw5fmma0gwddj4zk0hpwmrsb74dvzqvgcvpfjnv98"; depends=[RColorBrewer RCurl rjson rtematres wordcloud XML]; };
   rbenchmark = derive2 { name="rbenchmark"; version="1.0.0"; sha256="010fn3qwnk2k411cbqyvra1d12c3bhhl3spzm8kxffmirj4p2al9"; depends=[]; };
   rbenvo = derive2 { name="rbenvo"; version="1.0.5"; sha256="0clg2cxyi60yz2mdp95v0hd5gqhk8h2xgmx68852jcpbjf76xasa"; depends=[dplyr forcats ggplot2 lme4 lubridate magrittr Matrix purrr rlang sf stringr tidyr]; };
@@ -15003,7 +15177,7 @@ in with self; {
   rbi_helpers = derive2 { name="rbi.helpers"; version="0.3.2"; sha256="1inbf3kpl4y46m7v36akrr24112y4sd3d8yqia16i32wxf53wql5"; depends=[data_table lubridate Matrix rbi reshape2]; };
   rbibutils = derive2 { name="rbibutils"; version="2.2.7"; sha256="1iamdbww3hvxy0bbywc307kyhiczx0bvfhw7nngsm33balcng7kw"; depends=[]; };
   rbin = derive2 { name="rbin"; version="0.2.0"; sha256="18g6s4m0yc1bzrymk8km553kcwi4vj16b6mxw2lmv48z7243iq87"; depends=[data_table ggplot2]; };
-  rbioacc = derive2 { name="rbioacc"; version="1.0.2"; sha256="15244p3k0cmv9fwcffnwzl130wn14l4axkzr29lvic9v4zx28f1q"; depends=[BH GGally ggmcmc ggplot2 loo Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders stringr testthat zoo]; };
+  rbioacc = derive2 { name="rbioacc"; version="1.1-0"; sha256="0lmkfr0s90hi06llsa0v4jbcx0jd1dx3qq9h6kb67ws0q6h9y028"; depends=[BH GGally ggmcmc ggplot2 loo Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders stringr zoo]; };
   rbioapi = derive2 { name="rbioapi"; version="0.7.4"; sha256="1w3mahdrqk76g5ygyabvb8kypycwp91k5njwsqhzyfgj2yr67qkn"; depends=[httr jsonlite]; };
   rbiom = derive2 { name="rbiom"; version="1.0.3"; sha256="13nma1s3p4bzh8mvikrnmkqyyrx9axvxavq6fyk2w0j804w1qzcg"; depends=[magrittr openxlsx plyr R_utils Rcpp RcppParallel rjson rlang slam]; };
   rbiouml = derive2 { name="rbiouml"; version="1.11"; sha256="1g1q6xc8x8y71ji75c5fl35sxxss964xmhcqlriybb5zc38m1dh0"; depends=[RCurl RJSONIO]; };
@@ -15023,16 +15197,18 @@ in with self; {
   rbw = derive2 { name="rbw"; version="0.3.0"; sha256="0mxkwxb54n8vmx0z574mc39v53hlcq91nfmyqcdmxlp2jaz20184"; depends=[dplyr rlang]; };
   rcDEA = derive2 { name="rcDEA"; version="1.0"; sha256="012l9l61p3mw38fk3y3rcfjjjj9ds5kb1v2cwfvad2il5w6s9smv"; depends=[Benchmarking np]; };
   rcage = derive2 { name="rcage"; version="1.1"; sha256="0k6x543c0v31yx6b7xiyq7pb3a68sxc7ap8l61h3lp840la6gidp"; depends=[ClustGeo ff fields ggplot2 gridExtra LaplacesDemon MASS Matrix pracma raster rgeos rlang sf sp]; };
+  rcaiman = derive2 { name="rcaiman"; version="0.1.1"; sha256="0p6qn23mj90fj81j5gc7s8v1kihfqnv3r03xh9d8rax4jd2dni92"; depends=[colorspace magrittr pracma raster Rdpack rgdal sp spatial testthat]; };
   rcane = derive2 { name="rcane"; version="1.0"; sha256="0p2mgkq6fh0n289n2h19c52lnqxl05wvpmd6nwvgnjqwa4wwpa7r"; depends=[]; };
   rcanvec = derive2 { name="rcanvec"; version="0.2.1"; sha256="0gsk2cfiysxjw2lrnpl2l524lvhh9nhnyyh79n8p7vykyqj711yn"; depends=[rgdal sp]; };
   rcarbon = derive2 { name="rcarbon"; version="1.4.2"; sha256="04s1gqrfa5hy93jnqj5sqii49gz7mq7nm23jnd0iwl48f847vka1"; depends=[doSNOW foreach iterators knitr snow sp spatstat spatstat_core spatstat_geom spatstat_linnet]; };
   rcartocolor = derive2 { name="rcartocolor"; version="2.0.0"; sha256="08ljaag2mnhz2671zvwji1sp003z94lz30vjidmybm9fp8piqw5g"; depends=[ggplot2 scales]; };
   rcbalance = derive2 { name="rcbalance"; version="1.8.5"; sha256="15qlk3cqwsvixl17l1fxcajrabmz4y7q5gz0a1pd66f6i1xskcqq"; depends=[MASS plyr]; };
-  rcbayes = derive2 { name="rcbayes"; version="0.1.0"; sha256="00pr7fh33nsl84m5p32a010pyw2cgyjlqsjrlz3hlwwggwlfw1rw"; depends=[BH dplyr magrittr Rcpp RcppEigen RcppParallel Rdpack rlang rstan rstantools shiny shinythemes StanHeaders tibble tidybayes]; };
+  rcbayes = derive2 { name="rcbayes"; version="0.2.0"; sha256="1qwbpx9snqgaz7gshvyhq9ylsf59grjhx56f7cnq25h2f76km9cc"; depends=[BH dplyr magrittr Rcpp RcppEigen RcppParallel Rdpack rlang rstan rstantools shiny shinythemes StanHeaders tibble tidybayes]; };
   rcbsubset = derive2 { name="rcbsubset"; version="1.1.5"; sha256="0qfx8qzsrlgbgpymc67ywy9k8dgfjz5x54xwabf2bjjwrzv2mcl5"; depends=[MASS plyr rcbalance]; };
   rcc = derive2 { name="rcc"; version="1.0.0"; sha256="0a77d54c9qahhsjzpa0436ddsj4j44013r7rbxm0fjz04c0d2921"; depends=[]; };
   rccdates = derive2 { name="rccdates"; version="1.0.0"; sha256="1f87qlw62am2qy1zzrz91vmsn8axhld44gak61xa7046675hm98s"; depends=[rccmisc]; };
   rccmisc = derive2 { name="rccmisc"; version="0.3.7"; sha256="171s2ll759xjdnx0z24ih5ix2vcp4qnmf1nf107gij6wv8k450ab"; depends=[dplyr]; };
+  rccola = derive2 { name="rccola"; version="1.0.2"; sha256="0i846y9l3il2y38g32cifwysca06iakqd6vs15fcwqnzm8g0sg5j"; depends=[getPass keyring redcapAPI yaml]; };
   rcdd = derive2 { name="rcdd"; version="1.5"; sha256="0zxx0qvv26ba30jkm8mvca4h59rqklay4jwazpcw7h9dzp4189jr"; depends=[]; };
   rcdk = derive2 { name="rcdk"; version="3.6.0"; sha256="0v3i1402hrlp3sap3ryjd63gac8wbcwj7lfa3smk1agqy659glcx"; depends=[fingerprint iterators itertools png rcdklibs rJava]; };
   rcdklibs = derive2 { name="rcdklibs"; version="2.3"; sha256="16ijvzsc1irpz1z2xd82i2saafsvpn0x5lr54c5gx9bfb35gacyp"; depends=[rJava]; };
@@ -15042,7 +15218,7 @@ in with self; {
   rchie = derive2 { name="rchie"; version="1.0.2"; sha256="1m89mwq5f81yr2vc3wvnxkpm04bad11sx5fllcd3yy8ilghmbfp6"; depends=[jsonlite V8]; };
   rcites = derive2 { name="rcites"; version="1.2.0"; sha256="1lyahgpjskzqlmjnz14kkkrl30by1nzzi02wsf0rfskbdhmwc5in"; depends=[cli curl httr jsonlite]; };
   rcitoid = derive2 { name="rcitoid"; version="0.1.0"; sha256="11iqdj1q983w28fh17rqvmhs41ks09b24p408nl7hz4iqg9c7lpi"; depends=[crul curl fauxpas jsonlite]; };
-  rclipboard = derive2 { name="rclipboard"; version="0.1.3"; sha256="087ih0b3bizgknccy7gm47r1v9wjmj2fb8i4bp4rszd2kdcbwh29"; depends=[shiny]; };
+  rclipboard = derive2 { name="rclipboard"; version="0.1.5"; sha256="0c4h7bzv91issha1ss5mp0iq0aj3aw4y84kw56s3jkxwy9vgvmfn"; depends=[shiny]; };
   rcmdcheck = derive2 { name="rcmdcheck"; version="1.4.0"; sha256="1l696byn3kjq2xvz4wxybzaj6ink85h4lz3a35v2132ba5yyzm5v"; depends=[callr cli curl desc digest pkgbuild prettyunits R6 rprojroot sessioninfo withr xopen]; };
   rco = derive2 { name="rco"; version="1.0.2"; sha256="1ch7ak802ri4jr10jqvhvdi6q9fhyhql15ja395xfv6j81d5cmia"; depends=[]; };
   rcol = derive2 { name="rcol"; version="0.2.0"; sha256="1ypn5fiwhyvfnmjs2davqqhxf5pjg7f0101v40bqrv4jz563h5n1"; depends=[crul data_table glue jsonlite tibble]; };
@@ -15057,13 +15233,13 @@ in with self; {
   rcrypt = derive2 { name="rcrypt"; version="0.1.1"; sha256="002r5wr0bmqbj014iz8wacj883j6gqcxc786m6p9a7zdrjpx2pqi"; depends=[]; };
   rct3 = derive2 { name="rct3"; version="1.0.4"; sha256="1xm5kni2mnpzby8basmwbm1abg615i4mlf6fn9jr5il94q1bdgly"; depends=[]; };
   rcube = derive2 { name="rcube"; version="0.5"; sha256="1162y7fs3fsbb5jj66g9kvxxhggprlifrabqbb9lqm8rrdwhz3r9"; depends=[magrittr]; };
-  rdacca_hp = derive2 { name="rdacca.hp"; version="1.0-4"; sha256="0fkyhw0yvbyqcihlwkyv67mwll45lssg9ni2d63bdxxda9pl5443"; depends=[ggplot2 vegan]; };
+  rdacca_hp = derive2 { name="rdacca.hp"; version="1.0-7"; sha256="0ww67wa3rjy0p2dgqr4h69sy9jb7ipmrmycx902491jya0gwsw2a"; depends=[ggplot2 vegan]; };
   rdatacite = derive2 { name="rdatacite"; version="0.5.2"; sha256="07zbxr89fxx9nlp5w7n60rjm3prck08h0fjrq0pnpkbnnkx9cv9a"; depends=[crul jsonlite tibble]; };
   rdataretriever = derive2 { name="rdataretriever"; version="3.0.0"; sha256="1a01lrzn7gcxid01r0l8nnbpbryvs07z9nf43l1143w2n9bvgn24"; depends=[reticulate semver]; };
   rdbnomics = derive2 { name="rdbnomics"; version="0.6.4"; sha256="1h32wxjykz9y3k48rx31cvy485gsx8ix3194r2zgxlwdza3rl3lb"; depends=[curl data_table jsonlite]; };
   rdd = derive2 { name="rdd"; version="0.57"; sha256="1lpkzcjd18x51wzr4d1prdjfsw5978z6zap65psfs02nszy69nqp"; depends=[AER Formula lmtest sandwich]; };
   rddensity = derive2 { name="rddensity"; version="2.2"; sha256="00xmdy3885j3j5sh3civlgggscr946gh7ibd6namqhbzhsnpwrd3"; depends=[ggplot2 lpdensity]; };
-  rddtools = derive2 { name="rddtools"; version="1.5.0"; sha256="174mm48hr0pnisg6k2jha877fhhhp26nz7kdqaprsaacsad1x255"; depends=[AER Formula ggplot2 KernSmooth lmtest locpol np rdd rdrobust rmarkdown sandwich]; };
+  rddtools = derive2 { name="rddtools"; version="1.6.0"; sha256="12lxdpazfhwn5kkzs91qhs0xcky30dj01yp0v5708ahr1ywqdxmd"; depends=[AER Formula ggplot2 KernSmooth lmtest locpol np rdd rdrobust rmarkdown sandwich]; };
   rde = derive2 { name="rde"; version="0.1.0"; sha256="1zw9gdh90hl0wc5c0xwl5x7566r611wk73sbqdmpzpswjyyl9aqm"; depends=[clipr]; };
   rdecision = derive2 { name="rdecision"; version="1.1.0"; sha256="1rj9sw6r6rimzxbyjjczi5znmdkvqb7kkrdsnzz35n8g43s7h2wr"; depends=[R6 rlang]; };
   rdetools = derive2 { name="rdetools"; version="1.0"; sha256="0pkl990viv7ifr7ihgdcsww93sk2wlzp2cg931wywagfp8dijd02"; depends=[]; };
@@ -15078,7 +15254,7 @@ in with self; {
   rdmulti = derive2 { name="rdmulti"; version="0.8"; sha256="0hkcvcndfma9sbw6brmj29ka52kn3axhwk1cix3vw5ganwnmpaqh"; depends=[ggplot2 rdrobust]; };
   rdnb = derive2 { name="rdnb"; version="0.1-4"; sha256="069xlfdjjyl4a9clxj8m5gfplmll6qiqzms59mnsql3b74jamxi3"; depends=[brew httr stringr xml2]; };
   rdoc = derive2 { name="rdoc"; version="0.1.0"; sha256="0ac6413jyrr7m25z30n3bpiafsvjx38ik6rrjzsiqxrfp41j6l9x"; depends=[cli crayon prettycode R6]; };
-  rdomains = derive2 { name="rdomains"; version="0.2.0"; sha256="048wdddgg2zaarpmn07dya74xy10831lba1zpq9kjnqk8v286jrw"; depends=[aws_alexa curl devtools glmnet httr jsonlite Matrix rlang urltools virustotal XML xml2]; };
+  rdomains = derive2 { name="rdomains"; version="0.2.1"; sha256="1gpgryfdv4dhv98nfnr15lqq9ndwi8q17rwm5z7j2klgi5d644ld"; depends=[aws_alexa curl devtools glmnet httr jsonlite Matrix R_utils urltools virustotal XML xml2]; };
   rdoxygen = derive2 { name="rdoxygen"; version="1.0.0"; sha256="16907969w66xvy62k45rw10qfv4x8z6jkkc6i97vppkgnlvf4d4b"; depends=[devtools]; };
   rdpower = derive2 { name="rdpower"; version="2.1"; sha256="1aylzslfjcm84y2nbnlam8pvg1fjgznihhngjvz771rn5klgkznc"; depends=[rdrobust]; };
   rdrobust = derive2 { name="rdrobust"; version="1.0.8"; sha256="04z7a5499cc8q61wi2zc370l1r6ymipfd8zk7k93692c6lx3yygz"; depends=[ggplot2 MASS]; };
@@ -15088,7 +15264,7 @@ in with self; {
   rdwd = derive2 { name="rdwd"; version="1.5.0"; sha256="1x63zarcyc1rapg46h0vlym3v2kbd6ql2vza9jqly371p5g8l1ci"; depends=[berryFunctions pbapply]; };
   rdwplus = derive2 { name="rdwplus"; version="0.1.0"; sha256="1y4dnm2bb0w6pim4h79mv2km88s78vhsn5fhs7z45m0564hgk0x2"; depends=[raster rgrass7]; };
   re2 = derive2 { name="re2"; version="0.1.1"; sha256="0hjdm96qgbrb6lvgyadl30af93zvvni0rwqhialj8swp341qlvw2"; depends=[Rcpp]; };
-  reReg = derive2 { name="reReg"; version="1.4.1"; sha256="12m64rrj0pjhmwgw88ibnb4x0hnfixfsbzg6yany75048y52anis"; depends=[BB dfoptim directlabels ggplot2 MASS nleqslv optimx Rcpp RcppArmadillo reda rootSolve scam SQUAREM survival]; };
+  reReg = derive2 { name="reReg"; version="1.4.2"; sha256="1w0h1dsy3hl66fghjcbgc4nh9k1dkga4d53qb5iyd35a5pwpv41v"; depends=[BB dfoptim directlabels ggplot2 MASS nleqslv optimx Rcpp RcppArmadillo reda rootSolve scam SQUAREM survival]; };
   reactR = derive2 { name="reactR"; version="0.4.4"; sha256="15c0ij3xglsdavkpzgnkbyl5yb39jrn6zhlrdjiwp1m9cnrqzf2w"; depends=[htmltools]; };
   reactable = derive2 { name="reactable"; version="0.2.3"; sha256="17wl75cblm0rgq3chl96vj7wmbcmszss1zjppfccz1hcimfmlrpx"; depends=[digest htmltools htmlwidgets jsonlite reactR]; };
   reactablefmtr = derive2 { name="reactablefmtr"; version="1.0.0"; sha256="0c058ar826zfw7g9vdlgfc9sra3sxp1n6m1ijfgrfm04whk2sz50"; depends=[dplyr htmltools htmlwidgets reactable shiny stringr]; };
@@ -15112,7 +15288,7 @@ in with self; {
   readmnist = derive2 { name="readmnist"; version="1.0.6"; sha256="0f2kp5r04k47gpvbj8x13c47zsis3bw3y8f5f37sh6jggblqr004"; depends=[]; };
   readmoRe = derive2 { name="readmoRe"; version="0.2-12"; sha256="18zxhnh8nzh3l5j94mrqf9l94bxvc82nzhl8sx5k9h08gj4f1zfw"; depends=[plyr R_utils readxl xml2]; };
   readobj = derive2 { name="readobj"; version="0.4.1"; sha256="0ga0kk6n98zy8w9wc2fahn15bgsv73n4ncqgqb5ldyr4vjqxr2sr"; depends=[Rcpp]; };
-  readr = derive2 { name="readr"; version="2.1.1"; sha256="115w3hgp1w6hr0h2nz840i6mm1pnqzwfbxcmf9ca3qs7llc7k4q3"; depends=[cli clipr cpp11 crayon hms lifecycle R6 rlang tibble tzdb vroom]; };
+  readr = derive2 { name="readr"; version="2.1.2"; sha256="06qcw57yz0fhh3ni41d5w68cbmwmb6zkp47chllwzax43wxd1bwl"; depends=[cli clipr cpp11 crayon hms lifecycle R6 rlang tibble tzdb vroom]; };
   readrba = derive2 { name="readrba"; version="0.1.2"; sha256="1gbyin3lvh4vjwr715xbdjnlzz42f9fs44x1hqmyinya55l9whih"; depends=[dplyr httr lubridate purrr readxl rlang rvest stringr tidyr xml2]; };
   readroper = derive2 { name="readroper"; version="0.9.3"; sha256="00l731hryx0igj0x7knljs9xq4gaczmsgw2hh05ngrl9y5s528dc"; depends=[readr]; };
   readsdmx = derive2 { name="readsdmx"; version="0.3.0"; sha256="188yzkjblbjly032312w0fazj7k7j4ynqfc69xpblnw4gs708sx0"; depends=[Rcpp]; };
@@ -15129,7 +15305,7 @@ in with self; {
   rearrr = derive2 { name="rearrr"; version="0.3.0"; sha256="0cha5klizm1qppvw512j86papnbc5g0k6yyq2bifw831dqb6k9pb"; depends=[checkmate dplyr lifecycle plyr purrr R6 rlang tibble]; };
   reasonabletools = derive2 { name="reasonabletools"; version="0.1"; sha256="08i7wy4jic5v9ka7j716lj6p9r55sv46sqrxsy7ad6sgjvrzn0ss"; depends=[]; };
   rebird = derive2 { name="rebird"; version="1.3.0"; sha256="1lsmrkp5zfwr9jr26bzw2mk2z4261ylz7qclb0a4j0ma8vrd6f5j"; depends=[assertthat dplyr httr jsonlite]; };
-  rebmix = derive2 { name="rebmix"; version="2.13.1"; sha256="1d5s8npnpj7014b6qbin2scvabnx3xmdbi8pg7wqj80mqi02qzrb"; depends=[]; };
+  rebmix = derive2 { name="rebmix"; version="2.14.0"; sha256="1rcz7f5d50j4cqhzngzii3p6ydq03zgrlbrkn9c170xj66i7bjqk"; depends=[]; };
   rebus = derive2 { name="rebus"; version="0.1-3"; sha256="0ms3dm6g0fq3jycpgjl7q7kyljxc97cczy2jj0lyviwmipdgjg9d"; depends=[rebus_base rebus_datetimes rebus_numbers rebus_unicode]; };
   rebus_base = derive2 { name="rebus.base"; version="0.0-3"; sha256="1n2khszcya9k6379bdkq47xi2nw9jngiwj7z8a14wfswqydczv6y"; depends=[]; };
   rebus_datetimes = derive2 { name="rebus.datetimes"; version="0.0-1"; sha256="09lv41mywm13avxb0xp8x1a2xz50zxazh3lpg27m16d4cgijmhm5"; depends=[rebus_base]; };
@@ -15140,6 +15316,7 @@ in with self; {
   rechonest = derive2 { name="rechonest"; version="1.2"; sha256="0vpff8q5p6in7vjyl62bx3wmksravcg4mpx20qlgy5ia47vyhqp2"; depends=[httr jsonlite RCurl]; };
   recipes = derive2 { name="recipes"; version="0.1.17"; sha256="0gbdc5kvbn14s5zrf4vrdjvkfajs00p7vvb433ii0lqnl07bl87d"; depends=[dplyr ellipsis generics glue gower ipred lifecycle lubridate magrittr Matrix purrr rlang tibble tidyr tidyselect timeDate vctrs withr]; };
   reclin = derive2 { name="reclin"; version="0.1.2"; sha256="0bskmlysc12g5invscr0vvshy8bp1gxjx4wihwbbfzmnk2951qrc"; depends=[dplyr ldat lpSolve lvec Rcpp stringdist]; };
+  reclin2 = derive2 { name="reclin2"; version="0.1.1"; sha256="12pb8gp9c5vhfikl4v348dmz0xig10gbrnwxmgmn3jv75ys9ppzq"; depends=[data_table lpSolve Rcpp stringdist]; };
   recluster = derive2 { name="recluster"; version="2.9"; sha256="1nz5w4v5hhb3qjwxixc526gqsmr1imw582l9gj2acwar4z9mixjp"; depends=[ape cluster phangorn phytools picante plotrix vegan]; };
   recmap = derive2 { name="recmap"; version="1.0.11"; sha256="08gbbgm6494s490lw9c85j1bvmd6wnk9r43dh8x4lijb3fhs0dq0"; depends=[GA Rcpp sp]; };
   recodeflow = derive2 { name="recodeflow"; version="0.1.0"; sha256="0qi5y1rbdw6dcvkl8gw9fh7rcb0f6ckig8464sgxslgf7cdk2gcz"; depends=[dplyr haven magrittr sjlabelled stringr tidyr XML]; };
@@ -15148,7 +15325,7 @@ in with self; {
   recolorize = derive2 { name="recolorize"; version="0.1.0"; sha256="1biiyqqvnm3310gc9q0apwqfmvmh6cnj9pc77l44js4x3576w3aq"; depends=[abind colorRamps imager mgcv pavo plot3D plotfunctions png raster]; };
   recom = derive2 { name="recom"; version="1.0"; sha256="13g8wq4qaa850r7q09cr9x0brxki98h86cq83573jcv4lh3r97yq"; depends=[Rcpp]; };
   recombinator = derive2 { name="recombinator"; version="1.0.1"; sha256="1dbsqig2jjp3zypcqxf9c2brb09pv6xikmh6fhz5vgxy5wkyivks"; depends=[crayon]; };
-  recometrics = derive2 { name="recometrics"; version="0.1.5-2"; sha256="1i24rh0swd8r5x81322hn7mkqnlwkxbjn9s5m6hjgm4d11bfqcnw"; depends=[float Matrix MatrixExtra Rcpp RhpcBLASctl]; };
+  recometrics = derive2 { name="recometrics"; version="0.1.6"; sha256="07mqhkl8xp32917c4gw3ssr9bpkf4amhr30spba9xmz39p26ayir"; depends=[float Matrix MatrixExtra Rcpp RhpcBLASctl]; };
   recommenderlab = derive2 { name="recommenderlab"; version="0.2-7"; sha256="016wgzf7hl0kw9qdwc8jwbnq4pkjkid33whh42h10hq8zqsbnivk"; depends=[arules irlba Matrix proxy recosystem registry]; };
   recommenderlabBX = derive2 { name="recommenderlabBX"; version="0.1-1"; sha256="042yh0h8qxj7n9hysrfdxnpb3g0zb6s5b683s7hn5mjc55q7nn4g"; depends=[recommenderlab]; };
   recommenderlabJester = derive2 { name="recommenderlabJester"; version="0.1-2"; sha256="0kr9xc2gih2myn1a8h8dxxmdhibv1sjwjsvlrj9d5hvd1mgfhks5"; depends=[recommenderlab]; };
@@ -15164,10 +15341,10 @@ in with self; {
   reddPrec = derive2 { name="reddPrec"; version="0.4.0"; sha256="0zmkaiivvjq8mcaz310zgjjc7y0wgsqv29bf8nhli5qawaczvb9a"; depends=[fields snowfall]; };
   redist = derive2 { name="redist"; version="3.1.5"; sha256="18g78x6riqqczhi5rixr7fikfzhrf46b62y4ii18r99q9z65k4z4"; depends=[coda doParallel dplyr foreach ggplot2 patchwork Rcpp RcppArmadillo readr rlang servr sf stringr sys tidyselect vctrs]; };
   redistmetrics = derive2 { name="redistmetrics"; version="1.0.0"; sha256="02d2mkgrkb81rgyqzj8yphgq4mbh4m2gah0j58mvqq1mrlhryg7j"; depends=[cli doParallel dplyr foreach geos magrittr Rcpp RcppArmadillo rlang sf]; };
-  redland = derive2 { name="redland"; version="1.0.17-15"; sha256="1yh512mfy57kz5ripimzcvqgkkh2zgknfps476yn90y6i5xskapy"; depends=[roxygen2]; };
+  redland = derive2 { name="redland"; version="1.0.17-16"; sha256="1nzxyczsz274751z48glh8qzv1v9rdv3raq6whyp63nsi2xdri90"; depends=[roxygen2]; };
   redlistr = derive2 { name="redlistr"; version="1.0.3"; sha256="003jxfmj1gryw77vnrvaxmpvjbshlq53wgcrj02mcywfcqzg4jcr"; depends=[plyr raster rgeos sp]; };
   redoc = derive2 { name="redoc"; version="2.0.0.49"; sha256="06nfqw6xs0ij21mjbqk9sdvhhh0pqf6fwankvagsbyrv742g7qkx"; depends=[jsonlite]; };
-  redux = derive2 { name="redux"; version="1.1.0"; sha256="0a551w7fph338mqzxda6y21lsad19dway7w18jw9cv1rgvcp9nvc"; depends=[R6 storr]; };
+  redux = derive2 { name="redux"; version="1.1.3"; sha256="1bbn2aznhfh78gbqq0g2n5lbg1q9aa7v8py3xv9gk97rg27jz49x"; depends=[R6 storr]; };
   ref_ICAR = derive2 { name="ref.ICAR"; version="1.0"; sha256="0k6czsbjclgmi7vp5hl50jghkzm573s50993iz3dcv55mv662251"; depends=[coda MCMCglmm mvtnorm Rdpack rgdal spdep]; };
   refer = derive2 { name="refer"; version="0.1.0"; sha256="1y0n4xzhn96d25mwjr0735w990rz2kbxhcpsc5k5vwbwq64q6wsd"; depends=[eList matchr]; };
   referenceIntervals = derive2 { name="referenceIntervals"; version="1.2.0"; sha256="0wf8c71z7gq2f91q60dyy7mrxsnhq7x3wdllmzn2lpabgv2wrm85"; depends=[boot car extremevalues outliers]; };
@@ -15195,6 +15372,7 @@ in with self; {
   regmed = derive2 { name="regmed"; version="2.0.4"; sha256="19cc0nx4463jny9cw5smb95crb3makspysfx06h82amhyqjyzw60"; depends=[glasso igraph knitr lavaan Rcpp RcppArmadillo]; };
   regmedint = derive2 { name="regmedint"; version="0.2.1"; sha256="0z6yq0r0mq028z09zayfmsyyjjcnh9cg75xwckcxk0xbgs1qk1yx"; depends=[assertthat Deriv MASS Matrix sandwich survival]; };
   regnet = derive2 { name="regnet"; version="0.4.0"; sha256="0qb7sp464fyxn0bslkapjni3pzk7l6fdgabfbzja08flsr63r4mh"; depends=[glmnet Rcpp RcppArmadillo]; };
+  rego = derive2 { name="rego"; version="1.3.4"; sha256="1dqirk3wk3xps612av54d1f0h3ddh1an9bnxqyb9vbbpml9fw18a"; depends=[Rcpp]; };
   regplot = derive2 { name="regplot"; version="1.1"; sha256="048w0hnd2y8k27msjhw2g4ygck6i09698qk24sz7563z82gvj52w"; depends=[beanplot lme4 sm survival vioplot]; };
   regpro = derive2 { name="regpro"; version="0.1.1"; sha256="02axbq63hsqwg3q2ixr0lpsdai9q6wj57s5k1343q9m0pw90vr73"; depends=[denpro]; };
   regrap = derive2 { name="regrap"; version="1.0.1"; sha256="0yrxhlam7jmxwk1v53kllv6ja1m938symfvqp84xb278r3wb1wv7"; depends=[mvtnorm]; };
@@ -15227,7 +15405,7 @@ in with self; {
   reliaR = derive2 { name="reliaR"; version="0.01"; sha256="000nafjp386nzd0n57hshmjzippiha6s6c4nfrcwl059dzmi088i"; depends=[]; };
   reliabilitydiag = derive2 { name="reliabilitydiag"; version="0.2.0"; sha256="0qgvyjc512gwr0rbgxkkf9ipvxfl9y07215f1pdk15xhzkk94m53"; depends=[bde dplyr ggExtra ggplot2 magrittr purrr rlang tibble tidyr vctrs]; };
   relimp = derive2 { name="relimp"; version="1.0-5"; sha256="0ydn82g8xdqzhf34187080bbpcpw1zdjbj2i3dv1d6d35vvprb5c"; depends=[]; };
-  relliptical = derive2 { name="relliptical"; version="0.9.0"; sha256="1smrbrxaj0jwfsl07pk46s0iqcb1xmww1yzr73kv43ld6py9n4sv"; depends=[FuzzyNumbers_Ext_2 matrixcalc Rcpp RcppArmadillo RcppEigen RcppNumerical Rdpack Ryacas0]; };
+  relliptical = derive2 { name="relliptical"; version="1.1.0"; sha256="0qarn0gyr1zkr1y9hdy0xmlrx12cp9sfn1fglgprfbymbjr36ncc"; depends=[FuzzyNumbers_Ext_2 matrixcalc Rcpp RcppArmadillo Rdpack Ryacas0]; };
   relsurv = derive2 { name="relsurv"; version="2.2-6"; sha256="11g07282k1h7r342ayi1xwk85z5h7j800fqr4zrwm8m00nlwcdch"; depends=[date ggplot2 pammtools scales survival]; };
   rem = derive2 { name="rem"; version="1.3.1"; sha256="1q4p26irhhl1lvc0ydv9wmng1y635zm16szpl7gwq1kyn2p90rai"; depends=[doParallel foreach Rcpp]; };
   rema = derive2 { name="rema"; version="0.0.1"; sha256="15b68pynac9ff9bina0mf94absvfsn21xcdmvd4lbl97pxwj83ph"; depends=[progress Rcpp Rdpack]; };
@@ -15242,11 +15420,11 @@ in with self; {
   remss = derive2 { name="remss"; version="1.0.1"; sha256="15s3qvcfyp1880ddzpvgiw3q5av21052iy1vnpw0hib5pb7xfkfb"; depends=[survival]; };
   renpow = derive2 { name="renpow"; version="0.1-1"; sha256="0kbfpzr17fvf5zzxpzdhvfmrqmlkba2w3rzxl5q5ac1w3h75gfhc"; depends=[]; };
   rentrez = derive2 { name="rentrez"; version="1.2.3"; sha256="0x1g2f6hvkqqlb39z8m5qxhcvsizddic5i7rpqw0wy77xfbna9gv"; depends=[httr jsonlite XML]; };
-  renv = derive2 { name="renv"; version="0.15.0"; sha256="04kl87k42zc1qb8scsijn14g9lxmnfwqcq8b85n2infnd1lmbaza"; depends=[]; };
+  renv = derive2 { name="renv"; version="0.15.2"; sha256="1nv5hz40cbvdbc2kkr2q2xqnpkgkmp47nlfbr7z57mpn579zyznh"; depends=[]; };
   renz = derive2 { name="renz"; version="0.1.1"; sha256="0xanqqyz8cq8vfxy7vfxcf6fyh8r28bqpc7820fbl77g960cx5jw"; depends=[VGAM]; };
   repairData = derive2 { name="repairData"; version="0.1.0"; sha256="1l5ag952165b0nm59mp9v768dp53xm51ckg01i4c6l04qfzx1lm7"; depends=[]; };
   repana = derive2 { name="repana"; version="1.23.2"; sha256="1wic76sln37qjdrviaz689c5gjf4pc3ffdgvzcvjh0kjvl7d8jfh"; depends=[config DBI dplyr lubridate magrittr openxlsx pool processx readr rmarkdown rstudioapi]; };
-  repeated = derive2 { name="repeated"; version="1.1.2"; sha256="19kcsj96i1zpnwfan3gz5vrzc2gqlah0wrdr9vb4vvacz45wcdfq"; depends=[rmutil]; };
+  repeated = derive2 { name="repeated"; version="1.1.4"; sha256="0mz0nrrqcfr560qykzq452i406f07jlx543jaagh5ap8m18s2nwa"; depends=[rmutil]; };
   repec = derive2 { name="repec"; version="0.1.0"; sha256="0alr9fbmfxmnnnn1qymy65crcycynwz435jj0vangbb4p0qhv8pm"; depends=[jsonlite]; };
   repello = derive2 { name="repello"; version="1.0.1"; sha256="118m0vybgf5ys856zivn7gvjxqq163gkrhrpyl1avylib4bp3mcq"; depends=[dplyr httr stringr]; };
   repfdr = derive2 { name="repfdr"; version="1.2.3"; sha256="0jpk44arg1jib0h2w90h851bs5cd1ss32fab9bfvf9iir2jk8985"; depends=[Rcpp]; };
@@ -15258,16 +15436,16 @@ in with self; {
   repmod = derive2 { name="repmod"; version="0.1.7"; sha256="1rpmvxfw2m3bisi5g90sdfm8wmwg2gv9rzblq9kl70kvrs8pj1qs"; depends=[boot flextable lme4 lmerTest officer xtable]; };
   repo = derive2 { name="repo"; version="2.1.5"; sha256="13gdka37kbs4mp16pf65bh28f0dkyalrcrdik6lc67jw8r9h94f9"; depends=[digest]; };
   repolr = derive2 { name="repolr"; version="3.4"; sha256="13kmy09c7lk8p1mkdss0krcsfb6d7zcnqpwnl38zkanvh8q3fqhm"; depends=[Matrix Rcpp RcppArmadillo]; };
-  report = derive2 { name="report"; version="0.4.0"; sha256="1g6xq6gl84ddz03pfnihc501svghdjxsa0f6fmlb3r58h61r8isq"; depends=[bayestestR datawizard effectsize insight parameters performance]; };
+  report = derive2 { name="report"; version="0.5.0"; sha256="1wnyr15p2wycjlp37aqdnrwl8slcxqmj1wv859i8qaja00cdz39j"; depends=[bayestestR datawizard effectsize insight parameters performance]; };
   reportROC = derive2 { name="reportROC"; version="3.5"; sha256="1f3vdxz45bhks1pm3b41pmh8g8vr2czfr1pn4ddy4kgw5h1x3n8n"; depends=[pROC]; };
   reportReg = derive2 { name="reportReg"; version="0.3.0"; sha256="0qwrpn61x69hmgln5fpc58dqfa3pba0lgjjyj0f3fh96wc9jyhq1"; depends=[nlme]; };
-  reporter = derive2 { name="reporter"; version="1.2.8"; sha256="0944yyxfm1fhn3jbqp5qar5d1kl9xh3vwimd63ndils4saff8kv3"; depends=[crayon fmtr jpeg stringi]; };
+  reporter = derive2 { name="reporter"; version="1.2.9"; sha256="0aiv4wqv633jiazyf157dwi1bp6qgv6vnsnsral02cp9sm53cpq9"; depends=[crayon fmtr jpeg stringi]; };
   reportfactory = derive2 { name="reportfactory"; version="0.4.0"; sha256="0mkk9gyd3l6m33mkc6w3fmgrzc6na03kwxxwgn0zb83bjpmyyl1z"; depends=[callr fs knitr rmarkdown rprojroot rstudioapi yaml]; };
   reportr = derive2 { name="reportr"; version="1.3.0"; sha256="0zynplxqvbmf23cm2rsz3wz2jx6mv55z94mn1k44ny3lx625cnpw"; depends=[ore]; };
   reporttools = derive2 { name="reporttools"; version="1.1.3"; sha256="0sx89qb66lczmzcsybxac4razcncf2xcxr0vfkvb3f8jqc7xwcik"; depends=[xtable]; };
   repr = derive2 { name="repr"; version="1.1.4"; sha256="0h3h14ybamcbwmm31ib66fx13v75vkzn4bn2v26n2h097sl9qybg"; depends=[base64enc htmltools jsonlite pillar]; };
   represent = derive2 { name="represent"; version="1.0"; sha256="0jvb40i6r1bh9ysfqwsj7s1g933d7z5fq9d618yjrqr6hbbqsvac"; depends=[]; };
-  representr = derive2 { name="representr"; version="0.1.2"; sha256="1l3fy3kymzlcw1xckhnr863pi5j0zvy8bc16h0jw7xgj8zsw00zc"; depends=[doParallel dplyr foreach]; };
+  representr = derive2 { name="representr"; version="0.1.3"; sha256="0z4bv7n1r8sbk2832sqpkjjpdr4dc6lj6p6c18kbxx9zh660avd4"; depends=[doParallel dplyr foreach Rcpp]; };
   represtools = derive2 { name="represtools"; version="0.1.3"; sha256="00hnvzkkcl9d3k115i5l9gs0wah5d11amn7q62m1j158lkqlcfza"; depends=[whisker]; };
   reprex = derive2 { name="reprex"; version="2.0.1"; sha256="09k4rasp7mz6n796dsklcbc5l7prljiznrm7fra16qybr9kqcv8f"; depends=[callr cli clipr fs glue knitr rlang rmarkdown rstudioapi withr]; };
   reproducer = derive2 { name="reproducer"; version="0.4.2"; sha256="0ip7zh8jnjdwl0lawh60v1rcl0dvrxb6dbrlldb6l1vzbn530him"; depends=[dplyr GetoptLong ggplot2 gridExtra httr jsonlite lme4 MASS metafor openxlsx readr reshape stringr tibble tidyr xtable]; };
@@ -15284,14 +15462,15 @@ in with self; {
   resample = derive2 { name="resample"; version="0.4"; sha256="1rckzm2p0rkf42isc47x72j17xqrg8b7jpc440kn24mqw4szgmgh"; depends=[]; };
   resampledata = derive2 { name="resampledata"; version="0.3.1"; sha256="1nxjqvxxvycccmh1n7lpc4k8zmwnciicfr5rzfid1icij5fzw3ak"; depends=[]; };
   rescue = derive2 { name="rescue"; version="1.0.3"; sha256="0wq4ka1a7yhbjwr99ngykhn2r3czn3rqi63r6jn46pz15vnicwad"; depends=[data_table dbscan igraph irlba Matrix reticulate]; };
+  resemble = derive2 { name="resemble"; version="2.1.2"; sha256="0m8vggahf0yrblxsj2qj3s8y5l2w6vvpl5p7p32cmdj63jic80jr"; depends=[data_table foreach iterators lifecycle magrittr mathjaxr Rcpp RcppArmadillo]; };
   reservoir = derive2 { name="reservoir"; version="1.1.5"; sha256="1qvjq8j2gxp6b8m3k3822f9na8a1kbwzzsmq70m763dcq293rgiz"; depends=[gtools]; };
-  resevol = derive2 { name="resevol"; version="0.2.0.8"; sha256="1s9g034cjrafj8lkk3gahd05cz8kkgal2lsvm4nfx3s7hx91q0ww"; depends=[]; };
+  resevol = derive2 { name="resevol"; version="0.2.0.9"; sha256="01w95ylmgyj75shljkmkmh0pb1gl7ys413fay4qbzll1z01rng1w"; depends=[]; };
   reshape = derive2 { name="reshape"; version="0.8.8"; sha256="0s6i0sqxg1vldxs6miv8mi0zydxbqzgpmzfiwkj8y7jix3yrfmad"; depends=[plyr]; };
   reshape2 = derive2 { name="reshape2"; version="1.4.4"; sha256="1n0jrajpvc8hjkh9z4g8bwq63qy5vy5cgl2pzjardyih4ngcz3fq"; depends=[plyr Rcpp stringr]; };
   resourcer = derive2 { name="resourcer"; version="1.1.1"; sha256="0zjr12fxjlw9zwa5n3l7r2m6vrksvczdzyhq3aj3hzqbm148z1cq"; depends=[httr R6]; };
   respirometry = derive2 { name="respirometry"; version="1.3.0"; sha256="1ffhkvf8a8zhkysghd636k47bl7k5bdwkkg4m0pr1zlxpfrif82c"; depends=[birk lubridate marelac measurements minpack_lm PKNCA seacarb segmented]; };
   responsePatterns = derive2 { name="responsePatterns"; version="0.1.0"; sha256="0iyx35kq82w18v8c7lfz7x31c2cgywn4xh8hg0ad3gsdygadq8hq"; depends=[]; };
-  restatapi = derive2 { name="restatapi"; version="0.12.3"; sha256="1jwhc9igcxa8k3hnnf4vpharbh1scbb7m7zvjyv2axbjjz0hr8hs"; depends=[data_table rjson xml2]; };
+  restatapi = derive2 { name="restatapi"; version="0.12.8"; sha256="10x6zik6szvkmjzasv6dpa363jwim1jim9z27jc3x29kd3nw79hl"; depends=[data_table rjson xml2]; };
   restaurant = derive2 { name="restaurant"; version="0.1.0"; sha256="1dr9nw5xkll1wnra2xi8dg2yiv85nibdg1i9lsn44v7cgr9vb32j"; depends=[]; };
   restfulr = derive2 { name="restfulr"; version="0.0.13"; sha256="1dk45mzrr6ka92yjz7hfhkj12kpx1wg4szv1h1mg80mgga4ganbv"; depends=[RCurl rjson S4Vectors XML yaml]; };
   restimizeapi = derive2 { name="restimizeapi"; version="1.0.0"; sha256="1ss6fng5pmqg6cafc256g9ddz8f660c68ysxfan6mn4gdaigz7lb"; depends=[RCurl RJSONIO]; };
@@ -15301,7 +15480,7 @@ in with self; {
   resumer = derive2 { name="resumer"; version="0.0.5"; sha256="0k3s2i102hvsag7jiahgfpjc09646xjpxcpv5x3d91ch3xipdc0b"; depends=[dplyr rmarkdown useful]; };
   rethinker = derive2 { name="rethinker"; version="1.1.0"; sha256="02zfx08s5xisv1v4y16iqbddi9kb3fcr249b3414fzvs4nm5as94"; depends=[rjson]; };
   rethnicity = derive2 { name="rethnicity"; version="0.2.2"; sha256="0ccx6314gh08bnqca8a5x2bq4fk290lba0k72f0anszyamkvgfnj"; depends=[cli Rcpp RcppEigen RcppThread]; };
-  reticulate = derive2 { name="reticulate"; version="1.22"; sha256="0v7m2pv94lfqiw8rhz3c9g66vvz4qvih4vd29rhfk2phmcwpnvmh"; depends=[here jsonlite Matrix png rappdirs Rcpp withr]; };
+  reticulate = derive2 { name="reticulate"; version="1.24"; sha256="1k0nv43fa9lx44pamxpprnvvmsp15adn5z6hg9siyq0n94hca65r"; depends=[here jsonlite Matrix png rappdirs Rcpp RcppTOML withr]; };
   retistruct = derive2 { name="retistruct"; version="0.6.3"; sha256="1zij37n2ja3yx6n1agdkb3lj42p01parcg6djv60bng9c2qq0wsl"; depends=[foreign geometry png R_matlab R6 rgl RImageJROI RTriangle sp ttutils]; };
   retractcheck = derive2 { name="retractcheck"; version="1.0.0"; sha256="1c4p8afh9g359s560sswcys3manc0lqvk0aqgvd09p4rpzls2dm7"; depends=[httr plyr textreadr]; };
   retriever = derive2 { name="retriever"; version="0.2.1"; sha256="0vachj8rzh8g55y18hz85bsrzr86614frdmr7wz6hszgiq8qgcxy"; depends=[pbapply preprocessCore]; };
@@ -15314,12 +15493,12 @@ in with self; {
   revdbayes = derive2 { name="revdbayes"; version="1.3.9"; sha256="0j29hp21dab2fnsb6d41ykvyhfkfz1hf0qjpsz4lypc2rnbc3mpm"; depends=[bayesplot Rcpp RcppArmadillo rust]; };
   revealedPrefs = derive2 { name="revealedPrefs"; version="0.4.1"; sha256="1m8y1mj39bnf9q0n9mi0ashvb79lksx5dfkxb04qj2h5kkyxg49g"; depends=[pso Rcpp RcppArmadillo]; };
   revealjs = derive2 { name="revealjs"; version="0.9"; sha256="0h4csxrcl1rzmj3g01nf0mr990zc8swrf4jvmxwqsyzx9v2cqbnc"; depends=[rmarkdown]; };
-  reveneraR = derive2 { name="reveneraR"; version="0.1.0"; sha256="086ar2k3385iq5ci8cjshdciiiw01ixzia3f05gfy4pmzphzz8w8"; depends=[dplyr httr jsonlite magrittr purrr tibble tidyr tidyselect]; };
+  reveneraR = derive2 { name="reveneraR"; version="0.1.1"; sha256="12mm5sq54y7hbgn7p4qc5bdb7hvrdap0z4p731kgj83c7lgw9315"; depends=[dplyr httr jsonlite magrittr purrr tibble tidyr tidyselect]; };
   revengc = derive2 { name="revengc"; version="1.0.4"; sha256="1nipkff9zmkdi509qfdrmvsq5c643xd7bzzw5bchxd8nmfqb412i"; depends=[dplyr mipfp stringr truncdist]; };
   reverseR = derive2 { name="reverseR"; version="0.1"; sha256="0pzk97q1zs5g1v4ngqd6bkwwxcp89j890nycpc99ipycbgm2r9yw"; depends=[DT knitr markdown shiny]; };
   revgeo = derive2 { name="revgeo"; version="0.15"; sha256="1ns7d1817475lriss6wwgvdm6lj760p40yxqaifla13c2xb73a55"; depends=[RCurl RJSONIO]; };
   revpref = derive2 { name="revpref"; version="0.1.0"; sha256="07gbwrwmnq5b48fgdb7m2j8ygz60qm5m23ai7g7yidwk2fayq7ym"; depends=[gtools]; };
-  revss = derive2 { name="revss"; version="1.0.2"; sha256="1kwx3r3ypsl060a22mnpxxcq41k8ygwsd243cz54l0zs2yrv893k"; depends=[]; };
+  revss = derive2 { name="revss"; version="1.0.3"; sha256="08gikvz2cqr9na51r3fhi7ncyrsh8hf2wxi185zjjg7vbdiww6h8"; depends=[]; };
   revtools = derive2 { name="revtools"; version="0.4.1"; sha256="0nms7rwpdzf3xq2incraxppha4c830gcygpbnhwjs92c836hh2f0"; depends=[ade4 modeltools ngram plotly shiny shinydashboard slam SnowballC stringdist tm topicmodels viridisLite]; };
   revulyticsR = derive2 { name="revulyticsR"; version="0.0.3"; sha256="0dz9c26qwasgpp6a5fqh1rgq0hp9dhsrcm1h2hbp0cisri8iwsjf"; depends=[dplyr httr jsonlite magrittr purrr tibble tidyr tidyselect]; };
   reweight = derive2 { name="reweight"; version="1.2.1"; sha256="0fv7q1zb3f4vplg3b5ykb1ydwbzmiajgd1ihrxl732ll8rkkfa4v"; depends=[]; };
@@ -15370,11 +15549,11 @@ in with self; {
   rgovcan = derive2 { name="rgovcan"; version="1.0.3"; sha256="0b1fk7w3x60y0j74pglv14i0d76f13pzslghrday04qzkxy9smvd"; depends=[ckanr cli crayon crul tibble]; };
   rgplates = derive2 { name="rgplates"; version="0.1.0"; sha256="1pxvccyq8m1dbq4rl0fi4vwp6k5w83gjwpga9r182z87cij97j43"; depends=[rgdal sp]; };
   rgr = derive2 { name="rgr"; version="1.1.15"; sha256="1mrnmbh2crhkwdi37q59hx76afvkhgzgaacg3688q7jp23d58z6x"; depends=[fastICA MASS]; };
-  rgrass7 = derive2 { name="rgrass7"; version="0.2-6"; sha256="0k11qm2fc7bxwlajbrk8k49qf65ca4z71f6cynas8ngq4csyzr5r"; depends=[XML]; };
+  rgrass7 = derive2 { name="rgrass7"; version="0.2-7"; sha256="0mk3v6md2cayn7jyfi4225fld51aqv93srzlvk1j53rphi9pzs81"; depends=[XML]; };
   rgrassdoc = derive2 { name="rgrassdoc"; version="1.0.0"; sha256="18fcacf4v9n8cd27rc2lidwqm04151ya30pcs0bfhkssz80x0zds"; depends=[cli rlang rstudioapi xml2]; };
   rgsp = derive2 { name="rgsp"; version="0.2.0"; sha256="1fk0k479srfr0f4a5abyzcrzwy9hr1v5xf0jgs36fbim9bh7njlc"; depends=[dplyr magrittr tibble]; };
   rgtmx = derive2 { name="rgtmx"; version="0.1.4"; sha256="0zqab6zhfkc302nsa13nbi5bc45xwrhsrn42g2jnjw2xpnfk3ynz"; depends=[httr jsonlite]; };
-  rgugik = derive2 { name="rgugik"; version="0.3.1"; sha256="17cvxbjjzyf4v8pwcwikb02qrbwgsr6f6bh4brs48zh1jvzbcgzd"; depends=[jsonlite openssl sf]; };
+  rgugik = derive2 { name="rgugik"; version="0.3.2"; sha256="0srrp07410zlydj8d8cyls6sfd5nzpqjiv1dkc0x5r3b6shjgay2"; depends=[jsonlite openssl sf]; };
   rgw = derive2 { name="rgw"; version="0.3.0"; sha256="0hzkajmvqkmv6c238rdgyc6g16h96d5a0lnajnn5m87j0gwsl6wa"; depends=[]; };
   rhandsontable = derive2 { name="rhandsontable"; version="0.3.8"; sha256="07fj6npq65pq836vdwblkhprdaq4i4f13cwdmm9gmxrnk72xj7lh"; depends=[htmlwidgets jsonlite magrittr]; };
   rhcoclust = derive2 { name="rhcoclust"; version="1.1.0"; sha256="1d9a29h4h6z04vjjdfi0sx7wpl8iw5zg2ymjpjlppzbbzzq2l8n2"; depends=[fields igraph]; };
@@ -15384,7 +15563,7 @@ in with self; {
   rhmc = derive2 { name="rhmc"; version="1.0.0"; sha256="1m79f1hx404y0k8lk3n6jnzhr6wwrk83xiym68sq1zvj0wjqiqmw"; depends=[]; };
   rhnerm = derive2 { name="rhnerm"; version="1.1"; sha256="1fkh2pr4kzvqvagdyjlyab7p591s913104gyq05q170gmvlpmiww"; depends=[]; };
   rhoR = derive2 { name="rhoR"; version="1.3.0.3"; sha256="0l387m6l2x3djn1liag4m49835m2mny006sjzqbravb1famrvawi"; depends=[Rcpp RcppArmadillo]; };
-  rhosa = derive2 { name="rhosa"; version="0.1.0"; sha256="0aygdp7xp5hvr4i1s0isgbbr3pd164aj1px9bns6vdh0svq533qg"; depends=[]; };
+  rhosa = derive2 { name="rhosa"; version="0.2.0"; sha256="00j4s3x05cyz0nr63v9ajj9k13nyml0s3m3hg1zm7hfyzr9gzdjq"; depends=[]; };
   rhosp = derive2 { name="rhosp"; version="1.10"; sha256="1k0rb4fchjlzinky6ysdvyk0xjsx5986aqwn3yc6s7m3v7y9wb9m"; depends=[]; };
   rhub = derive2 { name="rhub"; version="1.1.1"; sha256="05b4phrny85fshismspjbaz1h0klg1fpy4b309si94pnqffxaqx6"; depends=[assertthat callr cli crayon desc digest httr jsonlite parsedate pillar prettyunits processx R6 rappdirs rcmdcheck rematch tibble uuid whoami withr]; };
   rhymer = derive2 { name="rhymer"; version="1.1.0"; sha256="00piml975chmmm3ipskzhfbbp5sq47yg5a78hsisssbzwwxsmbs0"; depends=[httr jsonlite]; };
@@ -15397,7 +15576,7 @@ in with self; {
   riceware = derive2 { name="riceware"; version="0.4"; sha256="0pky0bwf10qcdgg9fgysafr35xbmnr9q0jbh56fawj99nbyj3m70"; depends=[random]; };
   rich = derive2 { name="rich"; version="1.0.1"; sha256="0kasr9gb85qhngfayqy3fvrsr0a066krwxsx21nsxcnss0mrqygr"; depends=[boot vegan]; };
   ricu = derive2 { name="ricu"; version="0.5.1"; sha256="0p5lv9gwy3qkwagj946y60v6qwhpav3iqid4kgfbcxwczjybdapg"; depends=[assertthat backports cli curl data_table fansi fst glue jsonlite openssl prt readr rlang tibble vctrs]; };
-  ridge = derive2 { name="ridge"; version="3.0"; sha256="04wifb1dpmkikir2f4qski7l1v86ld19i8p2lk6zx69ww5wwlvlh"; depends=[]; };
+  ridge = derive2 { name="ridge"; version="3.1"; sha256="0aznp0bl19fny3ag1xvsqxm2bix3k9wi5v1syj733kb4vsb0wrrp"; depends=[]; };
   ridigbio = derive2 { name="ridigbio"; version="0.3.5"; sha256="0526nscxynl3857zybpms1wr3230qby29kxglm919pcdvpjb5kz5"; depends=[httr jsonlite plyr]; };
   ridittools = derive2 { name="ridittools"; version="0.1"; sha256="1m9xbwxb277l4cd85qxmpw66gyavpwamgwr8kyf8vqarzfbwiilr"; depends=[]; };
   riem = derive2 { name="riem"; version="0.2.0"; sha256="1b0kag1drn45lmy786xqr94zsbfk16xp4ia9284x753hzcggnfqd"; depends=[httr jsonlite lubridate tibble]; };
@@ -15421,6 +15600,7 @@ in with self; {
   riskRegression = derive2 { name="riskRegression"; version="2021.10.10"; sha256="1fhkn9qz7h95qzb2fcai0smy4vsvj7f7538g5jk0pa7wqr8z6wc4"; depends=[cmprsk data_table doParallel foreach ggplot2 lattice lava mets mvtnorm plotrix prodlim Publish ranger Rcpp RcppArmadillo rms survival timereg]; };
   riskSimul = derive2 { name="riskSimul"; version="0.1"; sha256="0s2a1mn6g11m96gqscb916caj2aykcs3rkacpqcdnlyzryk1gsnb"; depends=[Runuran]; };
   riskclustr = derive2 { name="riskclustr"; version="0.3"; sha256="13fl00g0hzcl4vqvl8zl4m5bpp14948yvd4i4dbdrg1h8ym30ir5"; depends=[aod Matrix mlogit stringr]; };
+  riskmetric = derive2 { name="riskmetric"; version="0.1.2"; sha256="004a888y0srvaazq90l3v1q11qfl927h87420fs03zklkq27bvr1"; depends=[backports BiocManager covr cranlogs curl devtools httr memoise pillar pkgload tibble urltools vctrs xml2]; };
   risksetROC = derive2 { name="risksetROC"; version="1.0.4"; sha256="1fh0jf8v536qzf1v3awx3f73wykzicli4r54yg1z926ccqb4h80l"; depends=[MASS survival]; };
   riskyr = derive2 { name="riskyr"; version="0.3.0"; sha256="07fm3gmjydby3mxivwr3rbg6q7fbjlnggfk26sfiqb2wl08dmx6j"; depends=[]; };
   ritis = derive2 { name="ritis"; version="1.0.0"; sha256="0dk1hpj2cahlw4lcdjnnllpnvdimaml57sfcw07iz2s0f8c24yrj"; depends=[crul data_table jsonlite solrium tibble]; };
@@ -15439,7 +15619,7 @@ in with self; {
   rjmcmc = derive2 { name="rjmcmc"; version="0.4.5"; sha256="14rzvp6z5avlcnmlmvb6w4gvlh6v4ncbcai3v4c4svnjv555vz45"; depends=[coda madness mvtnorm]; };
   rjpdmp = derive2 { name="rjpdmp"; version="1.0.0"; sha256="017cbrrmgh4p5almsyxrp86yg3kkg59kz5snnb1xb4qr068zfpm7"; depends=[data_table Rcpp RcppArmadillo]; };
   rjqpd = derive2 { name="rjqpd"; version="0.2.3"; sha256="14vbp9s2859h4n3m3bq830nvxvk58h3mvvdnb27qsalbcfwd94v5"; depends=[]; };
-  rjson = derive2 { name="rjson"; version="0.2.20"; sha256="0v1zvdd3svnavklh7y5xbwrrkbvx6053r4c5hgnk7hz7bqg7qa1s"; depends=[]; };
+  rjson = derive2 { name="rjson"; version="0.2.21"; sha256="1qm27r1w677zg31gsiln60hcciszbymkw78cnaq7s36cbk9mcawq"; depends=[]; };
   rjstat = derive2 { name="rjstat"; version="0.4.1"; sha256="0kqnl4wizmain70ady982aldhscf24870shvf3sviknplshhgk8j"; depends=[checkmate jsonlite]; };
   rjwsacruncher = derive2 { name="rjwsacruncher"; version="0.1.2"; sha256="0kqr2pd3smqxx0h35k8mf7wamdqpqrncjhmvbiap8bwbkhm4sqhb"; depends=[XML]; };
   rkafka = derive2 { name="rkafka"; version="1.3"; sha256="1h6f7wgz8qgh76p9w9vzcvcaa1piwnrx331gm1wxa1m31xs466jd"; depends=[rJava rkafkajars RUnit]; };
@@ -15448,7 +15628,7 @@ in with self; {
   rknn = derive2 { name="rknn"; version="1.2-1"; sha256="1x9r01314q0wgqwqzd7d13ycjzb4jzghzd3whgjvm2rsmnabai95"; depends=[gmp]; };
   rkt = derive2 { name="rkt"; version="1.6"; sha256="1sqij8ivjrrb1lii3jwvgsx9zqv47ib1lhrh6zvvh5a67didwrih"; depends=[]; };
   rkvo = derive2 { name="rkvo"; version="0.1"; sha256="0ci8jqf9nc8hb063nckxdnp0nlyr4ghby356lxm00anw44jlmw8v"; depends=[Rcpp]; };
-  rlang = derive2 { name="rlang"; version="0.4.12"; sha256="05cr08smr8dlk10m810rw4qi1yhgnny83rwkxib0l4my71br29ia"; depends=[]; };
+  rlang = derive2 { name="rlang"; version="1.0.1"; sha256="0zxd44pzq620sb0f0vf97vzp8r2sxzv225m0k8rbw3akyz0db7z5"; depends=[]; };
   rlas = derive2 { name="rlas"; version="1.5.0"; sha256="0i1sp8r9r3m9m0r0bn741l9dnz4prn63hfxxzf9i8pshqp1nnnvk"; depends=[BH data_table Rcpp]; };
   rlc = derive2 { name="rlc"; version="0.4.1"; sha256="1znx2749m9af3jq3avxf50amkhzvimr5ybwmk4g9vhwka86c3vqk"; depends=[hwriter jrc jsonlite plyr R6 stringr]; };
   rld = derive2 { name="rld"; version="1.0"; sha256="1glv4q25z14hcwifwg623h77p4awpsn3nk843pnph4sb3p5qbmn3"; depends=[emdbook MASS survival]; };
@@ -15487,7 +15667,7 @@ in with self; {
   rmdwc = derive2 { name="rmdwc"; version="0.2.1"; sha256="0zbwfi0rsx7mhk6s5798qg1zr7yv8hgw8qazznsd30diyprnyzbq"; depends=[knitr]; };
   rmeta = derive2 { name="rmeta"; version="3.0"; sha256="0vkbnxp579v8zmcv1isdbzj5swpr6fq17zwparxcvzswjc2x9ydr"; depends=[]; };
   rmetalog = derive2 { name="rmetalog"; version="1.0.3"; sha256="1naqhv81gdcgl2vi2sa3nb006mn8dxc0rdc49v321a5b10bybzvr"; depends=[ggplot2 lpSolve]; };
-  rmgarch = derive2 { name="rmgarch"; version="1.3-7"; sha256="108wrbqj4c02c9cyv5m5xlswb1mlfdrhggb005sixr2dcqghb163"; depends=[Bessel corpcor ff MASS Matrix pcaPP Rcpp RcppArmadillo Rsolnp rugarch shape spd xts zoo]; };
+  rmgarch = derive2 { name="rmgarch"; version="1.3-9"; sha256="0sg10j4jp74s65lzs2da2qqdcwgkf71rss9p7f1b14n2yz7xdf1v"; depends=[Bessel corpcor ff MASS Matrix pcaPP Rcpp RcppArmadillo Rsolnp rugarch shape spd xts zoo]; };
   rmi = derive2 { name="rmi"; version="0.1.1"; sha256="1y0395l9lhskdrk3x9ps2dmv0sznsba0n6a9fmma33dc9dhywgf9"; depends=[BH Rcpp RcppArmadillo]; };
   rminer = derive2 { name="rminer"; version="1.4.6"; sha256="1xydc43is756cy4vsm4k4micj88hhqgyrhb8cmvgv1y8zfrzg2qz"; depends=[adabag Cubist e1071 glmnet kernlab kknn lattice MASS mda nnet party plotrix pls randomForest rpart xgboost]; };
   rminizinc = derive2 { name="rminizinc"; version="0.0.8"; sha256="0yyg8ikdlksxlsc8ms4gb8dvpdjk26np6cpm5a7rjp748x8is6qx"; depends=[checkmate R6 Rcpp rjson rlang rlist]; };
@@ -15502,7 +15682,7 @@ in with self; {
   rmsfuns = derive2 { name="rmsfuns"; version="1.0.0.1"; sha256="18bpj7xh3kc7pl6ivi3cripam26bsaf9r9099cjf22qndvy18hb6"; depends=[dplyr magrittr PerformanceAnalytics purrr readr tbl2xts xts zoo]; };
   rmt = derive2 { name="rmt"; version="1.0"; sha256="165cqnwqr0dx7b8dgq7xlfk4j55p9l6dr5b2rzyvfy5l23k4kckn"; depends=[]; };
   rmumps = derive2 { name="rmumps"; version="5.2.1-14"; sha256="1bl3wap6qjdryyrxqv85qnb9dv7xkx56c5y8qsaj2979748gwjjj"; depends=[Rcpp]; };
-  rmutil = derive2 { name="rmutil"; version="1.1.5"; sha256="1xmjmzws4wb0ksg4z4srzyk6mk2l1cr2ina9rznsdsyssr1ycxv0"; depends=[]; };
+  rmutil = derive2 { name="rmutil"; version="1.1.7"; sha256="16qk8z2a499c86yklyzfg5jbgk9d5sxh0gpf9rg1xclh0b1vnzqj"; depends=[]; };
   rmweather = derive2 { name="rmweather"; version="0.1.51"; sha256="0qd49lr12hc39dwg348b021aqxw57pfcb9xxhp51fvnw6gw6bgqd"; depends=[dplyr ggplot2 lubridate magrittr pdp purrr ranger stringr strucchange tibble viridis]; };
   rmytarget = derive2 { name="rmytarget"; version="2.4.0"; sha256="1csl5b76r706gzvzhqgg4pdznbdl4i3b0srazwa7xdfc6zbrzljp"; depends=[dplyr httr lubridate purrr stringr tidyr]; };
   rnassqs = derive2 { name="rnassqs"; version="0.5.0"; sha256="1mbkv32zidax9i6km93bbi3m7xpnsy805cz4ikdrid84qg94an09"; depends=[httr jsonlite]; };
@@ -15516,7 +15696,7 @@ in with self; {
   rngtools = derive2 { name="rngtools"; version="1.5.2"; sha256="0kd7x214cqw7hzpmk1iqy1bn7j6x0ady0yz2hsdbclbq9k57d33z"; depends=[digest]; };
   rngwell19937 = derive2 { name="rngwell19937"; version="0.6-0"; sha256="0m6icqf7nckdxxvmqvwfkrpjs10hc7l8xisc65q8iqpnpwl5p2f6"; depends=[]; };
   rnmamod = derive2 { name="rnmamod"; version="0.1.0"; sha256="1ayl5cry7lxdf1zscdrxdf50y78scr4qdkghdki6srkx2r645wx0"; depends=[coda dplyr fdrtool gemtc ggfittext ggplot2 ggpubr ggrepel knitr MASS mcmcplots netmeta pcnetmeta R2jags reshape2 scales writexl]; };
-  rnn = derive2 { name="rnn"; version="1.4.0"; sha256="0k960jylbvg8r453430d8dpdzydkk3yr5np8rxkay79533ikrcgy"; depends=[shiny sigmoid]; };
+  rnn = derive2 { name="rnn"; version="1.5.0"; sha256="109h3zfpyl3jir27vq1v6z5b3ffjszxvdygq6l787apl5n3j8par"; depends=[shiny sigmoid]; };
   rnoaa = derive2 { name="rnoaa"; version="1.3.8"; sha256="12mrvvq93535pk9g52h0sl5wdlw0wpqdchghi24fjdr62r44p5sp"; depends=[crul data_table dplyr geonames ggplot2 gridExtra hoardr isdparser jsonlite lubridate scales tibble tidyr tidyselect XML xml2]; };
   rnpn = derive2 { name="rnpn"; version="1.2.4"; sha256="0lq9c5in0pf3km6zvfnn71wbh34lk3hgav0b9waspmzsgki8fvl1"; depends=[curl data_table httr jsonlite magrittr plyr raster rgdal sp tibble XML]; };
   rnr = derive2 { name="rnr"; version="0.2.1"; sha256="1z9bab3qmq8d79bcvjzldbxlah2w8mqp2ifd0cn1348dafwa0dhi"; depends=[assertthat purrr]; };
@@ -15545,9 +15725,9 @@ in with self; {
   robsel = derive2 { name="robsel"; version="0.1.0"; sha256="0vf9hry11hf6bi4pz18c6gh9janx0v6shm2m14kckscvh80z3k5b"; depends=[glasso Rcpp RcppEigen]; };
   robservable = derive2 { name="robservable"; version="0.2.1"; sha256="0v4d6yavs58nvwy9bz8wgmm1qb2cqsxkj7rbwngwfzr07ryznd2s"; depends=[htmlwidgets jsonlite]; };
   robslopes = derive2 { name="robslopes"; version="1.0.2"; sha256="04767ggjjsgm31ysk5xw8jvdnjdbk4fmrrsi83ksz746kl0xafzp"; depends=[Rcpp RcppArmadillo]; };
-  robsurvey = derive2 { name="robsurvey"; version="0.1.1"; sha256="0rf2sd7maz565hlgpyhvkswqyck01hif4mg5isbnnky9n3nc98pi"; depends=[survey]; };
+  robsurvey = derive2 { name="robsurvey"; version="0.2"; sha256="0ipkl3bvnymkrh1apnpidxwxpb1xmw5s66wwxs0kbwvsp6l6qh26"; depends=[KernSmooth survey]; };
   robumeta = derive2 { name="robumeta"; version="2.0"; sha256="1ynlfxlzh442jd1cf02j0f948m16d536a30gb4bf7208baqri1vg"; depends=[]; };
-  robust = derive2 { name="robust"; version="0.6-1"; sha256="0z8i0qqlsa6vpl457qir3dlsynhjfn2g22436d776vxwyqjx4vs9"; depends=[fit_models lattice MASS robustbase rrcov]; };
+  robust = derive2 { name="robust"; version="0.7-0"; sha256="1fc4h19b7gn9ya2j2ia8vfgsycwlyc23frj54k11dr45w4qaq6jy"; depends=[fit_models lattice MASS robustbase rrcov]; };
   robust2sls = derive2 { name="robust2sls"; version="0.1.0"; sha256="149wdrjjpzwm2zi1a2wrv6qcdxya77dz1i7d2vqz4vx4qzw55hf6"; depends=[AER doRNG foreach pracma]; };
   robustBLME = derive2 { name="robustBLME"; version="0.1.3"; sha256="18wx116l1riy4wn4083kxl637mkyyi9wbwnmvhkgqw3vb36s4vxd"; depends=[doParallel foreach iterators lme4 mvtnorm numDeriv Rcpp RcppArmadillo]; };
   robustDA = derive2 { name="robustDA"; version="1.2"; sha256="0kxdqvv17dgnlqp0hkazwfqsg3h4g9gw1w57blwpay67xp4d1jyx"; depends=[MASS mclust Rsolnp]; };
@@ -15575,13 +15755,14 @@ in with self; {
   rockchalk = derive2 { name="rockchalk"; version="1.8.144"; sha256="07dp1n155b9gfvk8l30h6bhjbhbylsjxfzns08mryn4mxj3nqpnb"; depends=[carData kutils lme4 MASS]; };
   rocker = derive2 { name="rocker"; version="0.3.0"; sha256="07vlfhp3m8k4ykfmd513ryqk0005mpj2qi64wrpkcg760rbs6wjv"; depends=[DBI R6 sodium]; };
   rockr = derive2 { name="rockr"; version="1.0.0"; sha256="190xaxcbb7miqw5mxyfqqlb2vzacifc8a7a3cqfdlpxra4d4jc25"; depends=[httr jsonlite mime progress]; };
-  roclang = derive2 { name="roclang"; version="0.1.2"; sha256="139m7biiidcbc3a9nnp5qpdysszrzldhf6dp64rfshp3rjpfssiq"; depends=[dplyr magrittr purrr rex rlang roxygen2 stringr tibble tidyr]; };
+  roclang = derive2 { name="roclang"; version="0.1.4"; sha256="1wjpcdlqkfklllxql010yk2v0b6xvlrvmhdfm7ckwry33ijpi14y"; depends=[dplyr magrittr purrr rex rlang roxygen2 stringr tibble tidyr]; };
   rocnp = derive2 { name="rocnp"; version="0.1.0"; sha256="1xqlmihhgjn6g3kabgmdx1qn18sxqd43sq3nb39i8pbwvaxhjqjr"; depends=[dplyr glue magrittr purrr rlang stringr tibble]; };
   rococo = derive2 { name="rococo"; version="1.1.7"; sha256="1fp3kk5j9kc0vyr50rlbsxjc9p3qz5137sifxsbd297p7zj1fcs2"; depends=[Rcpp]; };
   rocsvm_path = derive2 { name="rocsvm.path"; version="0.1.0"; sha256="1pd59bzcz96sxpp725pqa7pjh2gdrfapbilp4wccjkf5290zw56v"; depends=[quadprog svmpath]; };
   rodd = derive2 { name="rodd"; version="0.2-1"; sha256="01zrkw4lr21vxk2grfc37iyrcipfdcj5m0i7gnxsvs435y9fqagd"; depends=[Matrix matrixcalc numDeriv quadprog rootSolve]; };
   rodeo = derive2 { name="rodeo"; version="0.7.7"; sha256="1cfsf6sld72bm1343p6fzpfwq7a976basf3fg5fqsj2rcx6b1q7b"; depends=[deSolve R6]; };
-  roger = derive2 { name="roger"; version="0.99-1"; sha256="190q4ahygfj7czf2gmfb8r73wd8ghf57acx5dq2p9x2ir1giwdkr"; depends=[]; };
+  rofanova = derive2 { name="rofanova"; version="1.0.0"; sha256="0w8c5c5q0s2qv1b4nxgf8y1z3g0l9c6jr6i0280b5mp9in9wn8a6"; depends=[abind fda_usc Rcpp RcppArmadillo robustbase]; };
+  roger = derive2 { name="roger"; version="0.99-2"; sha256="0h6ym9s3rjyj6a2rbsmr1g9bxxn0bfds0cqfqs8m4bpy9sd8jysi"; depends=[]; };
   roistats = derive2 { name="roistats"; version="0.1.1"; sha256="1278cap5il85s1qls3sc0f4gqq2hi80442qidnsc6d8r3l4ba3fr"; depends=[dplyr magrittr purrr rlang tidyr]; };
   roll = derive2 { name="roll"; version="1.1.6"; sha256="1crzr0kqdls08n6i3769zrxbxvh2m4hv5k3xi6ky6ps8hhicwqc9"; depends=[Rcpp RcppArmadillo RcppParallel]; };
   rollRegres = derive2 { name="rollRegres"; version="0.1.3"; sha256="1rf6hdbndindq6kr5yzyqq4jy1c11shfdvjb8mwm957dd0kbs3rx"; depends=[checkmate Rcpp RcppArmadillo]; };
@@ -15625,9 +15806,9 @@ in with self; {
   roxygen2md = derive2 { name="roxygen2md"; version="1.0.0"; sha256="1gvrfy0sk5qi8d93zxj5f7xgnnw0w38zyxdik4ckf0pkk0zdm27a"; depends=[desc devtools enc rex rlang tibble usethis withr]; };
   roxytest = derive2 { name="roxytest"; version="0.0.1"; sha256="166m0pklgryh3vildg0bvzh9gs3p71sf61ivgkvkvyy9vhvnp3jf"; depends=[roxygen2]; };
   royston = derive2 { name="royston"; version="1.2"; sha256="1rywc89qzx0hldbq10201bjdhz60pq2gmgd9b9j52mza3w4canjz"; depends=[moments nortest]; };
-  rpact = derive2 { name="rpact"; version="3.2.0"; sha256="1p55jp6bnv2faa8k46bw23babjmxv6qqqmh6fmwiabv3v4g5dd38"; depends=[Rcpp]; };
+  rpact = derive2 { name="rpact"; version="3.2.1"; sha256="0wblcdmy0cpal4spi9cqd7vjfkg04kfqa9k7qxf798b3a449lbyi"; depends=[Rcpp]; };
   rpanel = derive2 { name="rpanel"; version="1.1-5"; sha256="0656hxj17arjma8sk0xrjicv6mh7iyxhrvj36q4wdvxwlrvm76p3"; depends=[]; };
-  rpart = derive2 { name="rpart"; version="4.1-15"; sha256="0p5frya963ppn476p5dxs2mnarsalksr6gw9zzmjsn8ikq7bx3ib"; depends=[]; };
+  rpart = derive2 { name="rpart"; version="4.1.16"; sha256="0p22657j6ps6z1dn0ja2fhq4k5xd1rv3cpwzk6nmjd2si8jpbv17"; depends=[]; };
   rpart_LAD = derive2 { name="rpart.LAD"; version="0.1.2"; sha256="1v1arv5b02n0jvyifb5km9w3z3wxg9x9g3g4xck4s319z5g6lp7n"; depends=[Rcpp rpart]; };
   rpart_plot = derive2 { name="rpart.plot"; version="3.1.0"; sha256="0pn1fkhpv4dkhh7057kjiwmzzrsfsw58n945j357mhdvrb0a1ara"; depends=[rpart]; };
   rpart_utils = derive2 { name="rpart.utils"; version="0.5"; sha256="00ahvmly6cdf7qhhcic0dbjlljqq8kbhx15rc7vrkd3hzd55c0im"; depends=[rpart]; };
@@ -15663,15 +15844,15 @@ in with self; {
   rpubs = derive2 { name="rpubs"; version="0.2.2"; sha256="18cnzhcvm7gx4k01ysqay53smrf8xqlbaszq41mny5c7qqh1fvpz"; depends=[rvest xml2]; };
   rpymat = derive2 { name="rpymat"; version="0.1.1"; sha256="067czg4wkpkgrrw78j9r62i1b82bzfsxgx4mdgab2wq2szdij6rn"; depends=[fastmap rappdirs reticulate]; };
   rqPen = derive2 { name="rqPen"; version="2.2.2"; sha256="077kdvfdyp5h8630k8jigbz8mfyby8vkjiqxpqv0wfi6cqcjlaf2"; depends=[quantreg regpro]; };
-  rqdatatable = derive2 { name="rqdatatable"; version="1.3.0"; sha256="0q10fi6xvw7495yrv6y8zzda31xyl6nbinq0dn2brfjp66w864k7"; depends=[data_table rquery wrapr]; };
-  rquery = derive2 { name="rquery"; version="1.4.7"; sha256="0m57y5wfg1mvla4d6a8mnxnhz973k1nvz899rbxnxaqfa7azxp62"; depends=[wrapr]; };
+  rqdatatable = derive2 { name="rqdatatable"; version="1.3.1"; sha256="1ml83gw9m9945qws2pi0x3bzm1jn4rh8n7zwivbir685hfprbhvn"; depends=[data_table rquery wrapr]; };
+  rquery = derive2 { name="rquery"; version="1.4.8"; sha256="06riv819rlmd6i70g7k2cflzjs8z9k6cw0flk7mzggqkvz5v79yv"; depends=[wrapr]; };
   rr = derive2 { name="rr"; version="1.4"; sha256="1c2h6ibjfwrjfqh1if3c90pdh0g2rf3p71j4p9w23xbbrx2l80pl"; depends=[arm coda magic MASS]; };
   rr2 = derive2 { name="rr2"; version="1.0.2"; sha256="099vjg91ni2bnxlra18pvgsvzrl28zrj639cdjrh3wkpqv99d04q"; depends=[ape lme4 Matrix nlme phylolm]; };
   rrBLUP = derive2 { name="rrBLUP"; version="4.6.1"; sha256="1ny48ra25rzx3k69pmzpd31ka2zhqyqiq1v7ann862j3ris0w8z9"; depends=[]; };
   rrapply = derive2 { name="rrapply"; version="1.2.3"; sha256="042b7q94lrprxxcyjw8cn3y20dxvq77yk0cihn2xk885gawhwxm6"; depends=[]; };
   rrat = derive2 { name="rrat"; version="1.0.0"; sha256="1j1jd32pgggn5cqv66l63sw5p4hblgpznf33wd0zdbfapwy8rx4r"; depends=[quantreg]; };
-  rrcov = derive2 { name="rrcov"; version="1.6-0"; sha256="0i69gv55c86gkclwhch0jzdfyb20l20mx1nx1xp9qz71nd4klpvr"; depends=[lattice mvtnorm pcaPP robustbase]; };
-  rrcov3way = derive2 { name="rrcov3way"; version="0.1-18"; sha256="1gpjmmdca2waqks0qykj59p50v6pf1zgl81m5lhbrhpcr4rdr63l"; depends=[nnls robustbase rrcov]; };
+  rrcov = derive2 { name="rrcov"; version="1.6-1"; sha256="142x60zcgz61iw0ps78hh4cmny3ch0hb3lac6z87bhys5c7m0fwz"; depends=[lattice mvtnorm pcaPP robustbase]; };
+  rrcov3way = derive2 { name="rrcov3way"; version="0.2-2"; sha256="0rkkm23njjyradi4qv4jsxdsdda141frxm2rqa92d4bdrgn2m7zx"; depends=[nnls pracma robustbase rrcov ThreeWay]; };
   rrcovHD = derive2 { name="rrcovHD"; version="0.2-7"; sha256="1srxgw5qcgpmxqfplvbrlryxvkx0mic5y7v5lxgfvqvlmcb3rm3f"; depends=[pcaPP pls Rcpp robustbase robustHD rrcov spls]; };
   rrcovNA = derive2 { name="rrcovNA"; version="0.4-15"; sha256="0r60chxm7bpc6sis60rp8k8xchwfrfa3lrfaidvv22ipx2q0psp7"; depends=[cluster lattice norm robustbase rrcov]; };
   rrd = derive2 { name="rrd"; version="0.2.2"; sha256="104iz2y49vzm92a8nrvgzrjyljxl467mp1hjnjmzl4rhf9kl809y"; depends=[assertthat tibble]; };
@@ -15695,18 +15876,20 @@ in with self; {
   rsatscan = derive2 { name="rsatscan"; version="0.3.9200"; sha256="00vgby24jknq8nl7rnqcwg7gawcxhwq8b7m98vjx2hkqx39n4g21"; depends=[foreign]; };
   rsbp = derive2 { name="rsbp"; version="0.1.0"; sha256="0aardngvj9apn8q5vhfpv67rf7d5iqb7xdq7rh8xmgr8341fvbgc"; depends=[dplyr lubridate magrittr purrr reshape2 tibble tidyr xml2]; };
   rscala = derive2 { name="rscala"; version="3.2.19"; sha256="1wq0wrdbh0gi0bx4m9526qlbjm7nxxqgc17ikdx5mrhcy2f61hjk"; depends=[]; };
-  rscc = derive2 { name="rscc"; version="0.2.0"; sha256="0k1p0w90p2qyjhwfgh35ya02hxqm12h3fkyc6wfxbsxiklkw61vz"; depends=[crayon formatR highlight igraph tm]; };
+  rscc = derive2 { name="rscc"; version="0.2.1"; sha256="10srbalj8i67z30amvf08zfa4hs6phvq17kfgys9ihwaknckcyx3"; depends=[crayon formatR highlight igraph tm]; };
   rscimark = derive2 { name="rscimark"; version="1.0"; sha256="1jsjz4d5bnxb90qqzz42m4nyvm8d8w8bs0m1r5g2n78zmckqb8vy"; depends=[checkmate]; };
   rsconnect = derive2 { name="rsconnect"; version="0.8.25"; sha256="1kyr4v7vds2yw3xmkk2yr56ylz1h95944brylwvwmwj5yxvm419w"; depends=[curl digest jsonlite openssl packrat rstudioapi yaml]; };
   rscontract = derive2 { name="rscontract"; version="0.1.2"; sha256="0gn0xcvg9nj6m97g4si6bgmgaj6hxpicz8yig7n84jnczh6w510x"; depends=[]; };
   rscopus = derive2 { name="rscopus"; version="0.6.6"; sha256="0kl6rv0j2396b8izvy0lp1f588il6w3yhq6d4swv8x8z14rsgcpw"; depends=[dplyr glue httr jsonlite plyr tidyr]; };
   rscorecard = derive2 { name="rscorecard"; version="0.20.0"; sha256="0psh53r8hvyvg7n20p7dl2qnd5gznx1lfkxqrc05kfksl4zvrrm5"; depends=[dplyr httr jsonlite lazyeval magrittr purrr tidyr tidyselect]; };
+  rsdNE = derive2 { name="rsdNE"; version="1.0.0"; sha256="1faa6m2y4i6dqzgzj8glfcf5j438m3qqxcz1rgk7w20x3g24ddyx"; depends=[]; };
   rsdepth = derive2 { name="rsdepth"; version="0.1-5"; sha256="064jbb6gnx0sm41w3sbi6mvsbzsfkjqfici6frk8sfm9ybvm591j"; depends=[]; };
   rsdmx = derive2 { name="rsdmx"; version="0.6"; sha256="1sw8pp2j22rs1nlsyphyqbhywgplan9qmrs5wm9wvrn5g26k4bg9"; depends=[httr plyr R6 XML]; };
   rseedcalc = derive2 { name="rseedcalc"; version="1.3"; sha256="18zmpjv6g8f7pmvqlp6khxyys9kdnq5x4zxwb6gwybsh4jxrymkp"; depends=[]; };
   rsem = derive2 { name="rsem"; version="0.5.0"; sha256="1xlk83ivmk8wm6mdmmwvv2z39r6scswgmsmy6dd4qbc3kiqn8cqm"; depends=[lavaan MASS]; };
   rsetse = derive2 { name="rsetse"; version="0.5.0"; sha256="095f37a48l9dhz5s3zri6y1kv74x150wrrxinrh177mi3m63shgr"; depends=[dplyr igraph magrittr Matrix minpack_lm purrr rlang tibble]; };
   rsf = derive2 { name="rsf"; version="0.2.2"; sha256="016q6yly2vl6q9mkff2krri2rmzsm9gc9gippd8l38h5c8ri6cdl"; depends=[bookdown knitr magrittr rlang usethis yaml ymlthis]; };
+  rshift = derive2 { name="rshift"; version="2.1.1"; sha256="1ihliavs1qsvp732mpbbdp1psr663j3csmg18j74fi26g3ny5kny"; depends=[dplyr ggplot2 magrittr tibble zoo]; };
   rsimsum = derive2 { name="rsimsum"; version="0.11.1"; sha256="0i09xx2pzvcabk8bnc0gg99vm2kknwdy0r9d7skqgz3xcbkm3yyn"; depends=[checkmate generics ggplot2 ggridges knitr lifecycle rlang scales]; };
   rsinaica = derive2 { name="rsinaica"; version="0.6.1"; sha256="1ba19b2fgnnl50qp6hgjppgxbadghq68qap9f0m51k2k3ijgfiwn"; depends=[dplyr httr jsonlite lubridate stringr]; };
   rskey = derive2 { name="rskey"; version="0.4.4"; sha256="1la3apypp1kk425r753vqwm3nk9zmynp9gix6db0ckkssw0fjxpw"; depends=[berryFunctions rstudioapi]; };
@@ -15715,7 +15898,7 @@ in with self; {
   rslurm = derive2 { name="rslurm"; version="0.6.1"; sha256="19451icfh7snjbbmpzpr1hrdf52q8ijv0ag1di3y55r2la3jxxcf"; depends=[whisker]; };
   rsm = derive2 { name="rsm"; version="2.10.3"; sha256="1dcjsn3wa7rqdpixh37vjgk3z5siwlyn70qffp49m3awn258hwpg"; depends=[estimability]; };
   rsmatrix = derive2 { name="rsmatrix"; version="0.2.0"; sha256="0d3y0ihz32jhqmzlgh7lqw4c122dbai2ic56qkalg63ckfswpzrw"; depends=[Matrix]; };
-  rsnps = derive2 { name="rsnps"; version="0.4.0"; sha256="0ppv64yj1nh13q4lks6djrjc37b32qj5pyddy1lfcy066ah63km6"; depends=[crul data_table httr jsonlite plyr RJSONIO stringr]; };
+  rsnps = derive2 { name="rsnps"; version="0.5.0.0"; sha256="1pnf3j2hdgx4is1387ysrrg3izq1jyn2p00ia5hhdzkkfl1pbqcr"; depends=[crul data_table httr jsonlite plyr stringr]; };
   rsoi = derive2 { name="rsoi"; version="0.5.4"; sha256="1gchznfshp91i3if8077qph26flxzwa2xrw3q488ah50725d63hw"; depends=[curl memoise]; };
   rsolr = derive2 { name="rsolr"; version="0.0.11"; sha256="0h82x9ihzgw9l1ksn1l5w7x3vgyy6zlbdbvg9a4pa1iinhlf87ic"; depends=[BiocGenerics graph RCurl restfulr rjson S4Vectors XML]; };
   rspa = derive2 { name="rspa"; version="0.2.5"; sha256="0jvrr3jaw66zqi5pal9dycpac24dn9v7lf2m63q01wmd8m3mlnv9"; depends=[lintools validate]; };
@@ -15746,22 +15929,22 @@ in with self; {
   rsurfer = derive2 { name="rsurfer"; version="0.2"; sha256="14zd8fhak12yha6miwb84085722v5ipk8lagijhc6af291kp70i9"; depends=[gdata stringr]; };
   rsvd = derive2 { name="rsvd"; version="1.0.5"; sha256="07p2hjmpcwcsang8z9sjkpy94rydcin7m3hyvcgzgm5cd6w8c1p4"; depends=[Matrix]; };
   rsvddpd = derive2 { name="rsvddpd"; version="1.0.0"; sha256="0p2cpv3ipkvl27zhncpcyxp6lqw54ncdnxyk659qc24l0fqbw7dc"; depends=[MASS matrixStats Rcpp RcppArmadillo]; };
-  rsvg = derive2 { name="rsvg"; version="2.1.2"; sha256="10p6aps2rsvhf4xgngl9x20cf2wqbzhlpjds8biyihvj58c1q8nn"; depends=[]; };
+  rsvg = derive2 { name="rsvg"; version="2.2.0"; sha256="05mvi1ijnxayyj1f4p8nb56pncmm7x0sbq0d87asv7c7kw765n1a"; depends=[]; };
   rsyncrosim = derive2 { name="rsyncrosim"; version="1.3.2"; sha256="1f66mx4s765jsmvgvff3sizp3xmqhc4ipj0j70igyj381xxa937x"; depends=[DBI gtools lifecycle raster RSQLite]; };
-  rsyntax = derive2 { name="rsyntax"; version="0.1.2"; sha256="1a0249bzl47vwqivi7rdwfq7b2wx7pxpyps49q0ldn6a0askhhij"; depends=[base64enc data_table digest igraph magrittr png rlang stringi tidyselect tokenbrowser]; };
+  rsyntax = derive2 { name="rsyntax"; version="0.1.3"; sha256="13zi05gprmdvb066l3qfxya40rhw4v1wfi0b9v684f6w2v6rsjr6"; depends=[base64enc data_table digest igraph magrittr png rlang stringi tidyselect tokenbrowser]; };
   rsyslog = derive2 { name="rsyslog"; version="1.0.2"; sha256="0sc9jiscabr72fsx1wwjvq44casvhdsinj77wrcp017a4f9i0k5b"; depends=[]; };
   rt = derive2 { name="rt"; version="1.1.0"; sha256="1wwx3pjwsqvar25cddc4090vcngir81a7n9yiv4q8i47h58xmc2g"; depends=[httr stringr]; };
   rt_test = derive2 { name="rt.test"; version="1.18.7.9"; sha256="0ywkdjvfzmrmmsfkz4jbhwzbzv7wivx80xy8wr92dch1862h6ias"; depends=[]; };
   rt3 = derive2 { name="rt3"; version="0.1.2"; sha256="1fqbymkz4csavkxrs26glzrh0kw3qy9x5smgddgda9a1dxh9ljkm"; depends=[]; };
   rtables = derive2 { name="rtables"; version="0.4.0"; sha256="1bnrrgybbnpiivdlwihvp5j9rr5fz39vqwl5w8vqvxg1pcjr6qaq"; depends=[htmltools magrittr]; };
   rtape = derive2 { name="rtape"; version="2.2"; sha256="0q7rs7pc1k1kayr734lvh367j5qig2nnq5mgak1wbpimhl7z3wm7"; depends=[]; };
-  rtdists = derive2 { name="rtdists"; version="0.11-4"; sha256="12397ljbinrl2zhazvypb7by4rls534dgh21dfjmfj656wbq21dv"; depends=[evd gsl msm Rcpp]; };
+  rtdists = derive2 { name="rtdists"; version="0.11-5"; sha256="1v8yhyvliw3dm3ciwxxaa9spfw05wp334l7gmvgv20mab2kjxkwp"; depends=[evd gsl msm Rcpp]; };
   rtematres = derive2 { name="rtematres"; version="0.2"; sha256="1d0vrprvnlk4hl2dbc6px9xn9kx9d1qvlqxd798hzda6qg5wwvf2"; depends=[gdata plyr RCurl XML]; };
   rtemps = derive2 { name="rtemps"; version="0.8.0"; sha256="1x64j13g1lv0s7yy1b4453l7xnscgf079hkgkp8dv9c38g0mfx98"; depends=[bookdown DT ggplot2 knitr rmarkdown xfun]; };
-  rtern = derive2 { name="rtern"; version="0.1.1"; sha256="00yhsns89jynh2gpgwwklkf0pbwcriha76ff3sh7pb5n6hl5nr1c"; depends=[lifecycle]; };
+  rtern = derive2 { name="rtern"; version="0.1.2"; sha256="0i9493f3rykhjxwbvydz6aikzkwfphq3dyc8jw0fzw057zd24cgb"; depends=[rlang]; };
   rtext = derive2 { name="rtext"; version="0.1.22"; sha256="0wsy0iqzbfin92pw0bqj4bxm2p4f2y4frr137l6c3yvd0jrax3q4"; depends=[digest hellno magrittr R6 Rcpp RSQLite stringb]; };
   rtf = derive2 { name="rtf"; version="0.4-14.1"; sha256="032ff0yavqmd2d9svgwkmvxwh0cxjbac6pj48v4cshi898f02rhh"; depends=[R_methodsS3 R_oo]; };
-  rtgstat = derive2 { name="rtgstat"; version="0.2.1"; sha256="1h597pj7jp7xdylymy4yswpafa12qknyvgadil3lv40cw7bcq2fq"; depends=[cli dplyr httr2 purrr snakecase stringr tidyr]; };
+  rtgstat = derive2 { name="rtgstat"; version="0.3.0"; sha256="1zg2xhypv0pycabzn423df9fivyys2vgdwsy60a43s8j9al7iz63"; depends=[cli dplyr httr2 purrr snakecase stringr tidyr]; };
   rticles = derive2 { name="rticles"; version="0.22"; sha256="0jgsmqwwqzvsxcbsm9fx0rp724mn3ipi70883bhvm7n9i8mq877m"; depends=[knitr rmarkdown tinytex xfun yaml]; };
   rticulate = derive2 { name="rticulate"; version="1.7.2"; sha256="0xgl36m63z9kzqj0srjp3lb65hfizszlgw0kwjwc9li607q4fy6m"; depends=[dplyr ggplot2 glue magrittr mgcv purrr readr rlang stringr tibble tidymv tidyr tidyselect tidyverse]; };
   rtide = derive2 { name="rtide"; version="0.0.9"; sha256="0gr0j52jy7y1w1s0s88rjv9l85yvavypagmi0qw2ix9ca2xadlzl"; depends=[abind chk dttr2 tibble]; };
@@ -15777,6 +15960,7 @@ in with self; {
   rtrend = derive2 { name="rtrend"; version="0.1.2"; sha256="01d2538qjgs9nng7gmb8y9a0wsxg6gm3p9z1m15sap1g5wl3z6fs"; depends=[boot fftwtools ggplot2 magrittr matrixStats Rcpp RcppArmadillo]; };
   rtrends = derive2 { name="rtrends"; version="0.1.0"; sha256="04xdggf36m294drb9z8khdjr6fgsg4bwkb4mmbbvqfzjpq4mq4y1"; depends=[dplyr lubridate tidyr]; };
   rtrim = derive2 { name="rtrim"; version="2.1.1"; sha256="1l2ijkm4p3nd7n4q1b4y9pdyafgyf76zizpi7hhzw1rr9zkxhff2"; depends=[]; };
+  rtry = derive2 { name="rtry"; version="1.0.0"; sha256="1sac82z2jk5cp7cr3m6l07b6rk0ims0bsm3pvmk870v014brkim4"; depends=[curl data_table dplyr jsonlite tidyr]; };
   rts = derive2 { name="rts"; version="1.1-3"; sha256="1lnfqmi49lmk7zhmgyl1z9hlfxh3gg373wj81x7vw9964564r4wg"; depends=[raster RCurl sp terra xts zoo]; };
   rtsVis = derive2 { name="rtsVis"; version="0.0.3"; sha256="0j48p4cdkd3dwc5bxv8kmmqj38yaq4rz0wp47kx21msbajcw5m3m"; depends=[assertthat dplyr forcats ggplot2 magrittr moveVis pbapply raster RStoolbox sf sp tidyr]; };
   rtsdata = derive2 { name="rtsdata"; version="0.1.3"; sha256="0ylw8m0wf6jvjl3zirns6qk71lwsrljnvz5dn1ngvp7c1x7y1wn9"; depends=[anytime brotli curl data_table mongolite Quandl quantmod xts zoo]; };
@@ -15785,10 +15969,9 @@ in with self; {
   rtweet = derive2 { name="rtweet"; version="0.7.0"; sha256="05pbvxm2vmf6935b9s6663k3aifnkr3m52wh2jvnplmrwyrfpn9n"; depends=[httpuv httr jsonlite magrittr progress Rcpp tibble]; };
   rtype = derive2 { name="rtype"; version="0.1-1"; sha256="0wjf359w7gb1nrhbxknzg7qdys0hdn6alv07rd9wm6zynnn1vwxy"; depends=[]; };
   rtypeform = derive2 { name="rtypeform"; version="2.1.0"; sha256="02qnsw2nd3fnyr0gbmx3690b78k899dxf04g4bqpjlg9y38g1cnr"; depends=[assertthat dplyr glue httr jsonlite lubridate purrr rlang tibble tidyr]; };
-  rubias = derive2 { name="rubias"; version="0.3.2"; sha256="1dq7bjb3p87gvsg9b2vpd65xp8ihp68dic2w9my687mpc11fxp1v"; depends=[dplyr gtools magrittr Rcpp RcppParallel readr rlang stringr tibble tidyr]; };
   rucm = derive2 { name="rucm"; version="0.6"; sha256="1n6axmxss08f2jf5impvyamyhpbha13lvrk7pplxl0mrrrl5g0n8"; depends=[KFAS]; };
   rucrdtw = derive2 { name="rucrdtw"; version="0.1.4"; sha256="0865x8i2n63xjbq0pzalm4gd6rpg72yrcsm4rw40a3kzy2svvnlm"; depends=[Rcpp]; };
-  rugarch = derive2 { name="rugarch"; version="1.4-4"; sha256="06zmii3wncxndd4hhdk7h4d4s2lj5clrrs10zzz4856g9zjzmbq6"; depends=[chron ks nloptr numDeriv Rcpp RcppArmadillo Rsolnp SkewHyperbolic spd xts zoo]; };
+  rugarch = derive2 { name="rugarch"; version="1.4-7"; sha256="0i9483gk0x8jhxx9zsh0p3lbs8vslnchb3j78slpzgsc6am43zjh"; depends=[chron ks numDeriv Rcpp RcppArmadillo Rsolnp SkewHyperbolic spd xts zoo]; };
   ruimtehol = derive2 { name="ruimtehol"; version="0.3"; sha256="1qscaj28xrrqccav0y82mn5nzkc8zfgmx2axg7bxrrhqaibfpy5j"; depends=[BH Rcpp]; };
   ruin = derive2 { name="ruin"; version="0.1.1"; sha256="124xs1c2mjfy6z0bp83rwkqw2y73g77xwn3q4yd2xw0v2frnpvpz"; depends=[ggplot2]; };
   ruler = derive2 { name="ruler"; version="0.2.4"; sha256="159k7453jb37zgjg9rcgz566mz2827dpfq5gm40r6zgkia4z3apx"; depends=[dplyr keyholder magrittr rlang tibble tidyr]; };
@@ -15826,7 +16009,7 @@ in with self; {
   rwc = derive2 { name="rwc"; version="1.11"; sha256="1qhgkbkp4nz0wq5c4x8232xiszpiyzcdklfgvpnx4cbp3bbfdi4g"; depends=[MASS Matrix mvtnorm raster]; };
   rwebstat = derive2 { name="rwebstat"; version="1.1.0"; sha256="106dkhlr33ii17q45c1hrmbslwsj1qlmx325skch2q71mv7ii0lj"; depends=[dplyr getPass htmltools httr jsonlite readr stringr]; };
   rwfec = derive2 { name="rwfec"; version="0.2"; sha256="0wmalfms59zi8jdn2s2qbcdckfkifl9vg19hzx4389mm5gk6qsbh"; depends=[Rcpp]; };
-  rwhatsapp = derive2 { name="rwhatsapp"; version="0.2.3"; sha256="029zzlp4pssnvxfd0ggry37f2k3yn78pqh6ghpd164fdy778l33b"; depends=[stringi tibble]; };
+  rwhatsapp = derive2 { name="rwhatsapp"; version="0.2.4"; sha256="004d0cigay7bz754lrxjdwp1xsclc23wh03dlzyby900xcdizxk7"; depends=[stringi tibble]; };
   rworldmap = derive2 { name="rworldmap"; version="1.3-6"; sha256="1q1h0n9qr0m5pdx10swrh9ddsvdj8kv5nqngrf3lnx9rg9iwivjk"; depends=[fields maptools sp]; };
   rworldxtra = derive2 { name="rworldxtra"; version="1.01"; sha256="183z01h316wf1r4vjvjhbj7cg4xarn4b8qbmnn5y7nrrdndzi163"; depends=[sp]; };
   rwstats = derive2 { name="rwstats"; version="0.1"; sha256="10jj2lkilysz7mmysblj6l4jjc560rqsps0ivkvyr7caj8gfhdlb"; depends=[]; };
@@ -15872,7 +16055,7 @@ in with self; {
   saeHB = derive2 { name="saeHB"; version="0.1.0"; sha256="1ny22mbf22zlpzl9kh8gxkldi49slw584nvwwi94rvs1wa8j9b8x"; depends=[coda rjags stringr]; };
   saeME = derive2 { name="saeME"; version="1.2.4"; sha256="02yf5rf2kavwl3icfnsjg0kxmifrcc7v4j5jsfrfa8ssfbwcivhn"; depends=[ClusterR dplyr expm MASS]; };
   saeRobust = derive2 { name="saeRobust"; version="0.2.0"; sha256="1bdfrsm59xwkga0kxl3r5n83mhhkyzj7gplrgx26gyflashyd1zc"; depends=[aoos assertthat ggplot2 magrittr MASS Matrix memoise modules pbapply Rcpp RcppArmadillo spdep]; };
-  saeSim = derive2 { name="saeSim"; version="0.10.0"; sha256="0nh8x2v0g8i0rjq4s5q0ayhyxhl5p0126plmd4vnnhaifm6pn0q3"; depends=[dplyr functional ggplot2 MASS parallelMap spdep]; };
+  saeSim = derive2 { name="saeSim"; version="0.11.0"; sha256="0s0zcls4j3cx7wbvi0l3q4c3b0f9x9i2wcqnz4gzwyqik6pcfaic"; depends=[dplyr functional ggplot2 MASS parallelMap spdep tibble]; };
   saeeb = derive2 { name="saeeb"; version="0.1.0"; sha256="04vjxmnqcgqcamgjd9qq1dbx0msm40mnn94jjy9pzvsj2gsbws39"; depends=[COUNT MASS]; };
   saekernel = derive2 { name="saekernel"; version="0.1.1"; sha256="0zk124kkxrwr3bliy01d3ag4r0flnjg4z3lmm5wmq3w0r4gwgy4f"; depends=[]; };
   saemix = derive2 { name="saemix"; version="2.4"; sha256="0w79n28xvkf2iw0vm9bw5dhxlp54bzm1lwl7q2hw356c2gmbpwjh"; depends=[]; };
@@ -15880,6 +16063,7 @@ in with self; {
   safeBinaryRegression = derive2 { name="safeBinaryRegression"; version="0.1-3"; sha256="1g68r6pp5l41rbgyfqgcha1gpsisnl0ybdmdqr4ylr43f61dpgvd"; depends=[lpSolveAPI]; };
   safejoin = derive2 { name="safejoin"; version="0.1.0"; sha256="0qvra505g7cay3nhq6yqrddb7sw3kx50y8jhgvxi47rxdc3alzba"; depends=[dplyr glue]; };
   safer = derive2 { name="safer"; version="0.2.1"; sha256="1lmhaj9y0hi4ybxfkllxl99vsagcg73sy4kkcmlvn3bs69jky1r9"; depends=[assertthat base64enc sodium]; };
+  safestats = derive2 { name="safestats"; version="0.8.6"; sha256="1rn3hawh6jn8dszdjr80l15g83n52agch2j3znzb0jmg7qkxd383"; depends=[BiasedUrn boot dplyr hypergeo purrr rlang survival]; };
   safetyCharts = derive2 { name="safetyCharts"; version="0.2.0"; sha256="1gdrl7wmxlvnk8wghrjv3cnvdsmx79f1s0j51yb4q94dxprssajh"; depends=[dplyr DT forcats ggplot2 huxtable kableExtra knitr pharmaRTF RColorBrewer rlang shiny stringr Tendril Tplyr]; };
   safetyData = derive2 { name="safetyData"; version="1.0.0"; sha256="1spa1wh1z8cqsz8vrkj3abny0xs3qp8d80dla8d031d70hvfkdjc"; depends=[]; };
   safetyGraphics = derive2 { name="safetyGraphics"; version="2.0.0"; sha256="1y1qj8vhq3z3g4ij2qkc5cpwc5zknmjnp3kpkbcr9cywjrdpa5pq"; depends=[datamods dplyr DT htmlwidgets jsonlite magrittr purrr rclipboard rlang safetyCharts safetyData shiny shinyjs sortable stringr yaml]; };
@@ -15913,6 +16097,7 @@ in with self; {
   sand = derive2 { name="sand"; version="2.0.0"; sha256="0a8skj1wi1n9zlm7jb5cix1i4ssdzfpj4ym2854ala9jy6qj7g7n"; depends=[igraph igraphdata]; };
   sandbox = derive2 { name="sandbox"; version="0.2.0"; sha256="1xwz8bddl9zf75d5xxvyvnljm6x45dwsf7lsks0fw7h5h97cv3xq"; depends=[RLumModel]; };
   sandwich = derive2 { name="sandwich"; version="3.0-1"; sha256="12aa5083k3sfrfq1jy3l94wffss9h0rga8j71jy3n8pkhiq4nn7n"; depends=[zoo]; };
+  sandwichr = derive2 { name="sandwichr"; version="1.0.0"; sha256="1hrkj0c8vhvg1kdg9vkakdc9k63p6dj50075s6z1pmh96d96zags"; depends=[caret dplyr geodetector ggplot2 gridExtra lwgeom sf]; };
   sanic = derive2 { name="sanic"; version="0.0.1"; sha256="05fd7jpi7cf9klfh6dqf8wklrjh5q1b3xqddxhdihcsqvcqhg48l"; depends=[Matrix Rcpp RcppEigen]; };
   sanitizers = derive2 { name="sanitizers"; version="0.1.0"; sha256="1c1831fnv1nzpq8nw9krgf9fm8v54w0gvcn4443b6jghnnbhn2n6"; depends=[]; };
   sanityTracker = derive2 { name="sanityTracker"; version="0.1.0"; sha256="0y041x840sg5c05ksljb1y4xag1cib19q5ygp443k13ryfbcgs9k"; depends=[checkmate data_table]; };
@@ -15927,17 +16112,17 @@ in with self; {
   sapevom = derive2 { name="sapevom"; version="0.2.0"; sha256="0vq4rx85pdjc0wjxjf7wj8j5qs3cb20hwhlc2ypbgrlw7zkcp1z4"; depends=[]; };
   sapfluxnetr = derive2 { name="sapfluxnetr"; version="0.1.3"; sha256="06w3wm8m55ak1zxdyqq01ymgvyw71hk2m1vv378dppjxib7kvh3z"; depends=[assertthat dplyr furrr ggplot2 glue lubridate magrittr purrr rlang stringr tibble tidyr]; };
   saqgetr = derive2 { name="saqgetr"; version="0.2.21"; sha256="0s7mmc8gqx89697wkv369x6sp3d1wha4q2zkkwikh835i3alx4zd"; depends=[dplyr httr lubridate magrittr purrr readr stringr tidyr]; };
-  sarima = derive2 { name="sarima"; version="0.8.5"; sha256="1850h8rly6kx8lsnpyh16nw69jhmgh5ggp9c8knqz2bm64s7xlwa"; depends=[dplyr FitAR FitARMA FKF Formula KFAS lagged ltsa numDeriv PolynomF Rcpp RcppArmadillo Rdpack]; };
+  sarima = derive2 { name="sarima"; version="0.8.6"; sha256="0xkqw7fjj1dc02m3k2v2dgnlrhrhnwxgdjwyfirpicrbbv522xhh"; depends=[FitAR FitARMA Formula lagged ltsa numDeriv PolynomF Rcpp RcppArmadillo Rdpack]; };
   sarp_snowprofile = derive2 { name="sarp.snowprofile"; version="1.0.0"; sha256="02g7d5kilfkhqxm02jkhkraqbamxaj1qzzi150k6m55d5bfy4wih"; depends=[data_table xml2]; };
   sarp_snowprofile_alignment = derive2 { name="sarp.snowprofile.alignment"; version="1.0.2"; sha256="1yh4ybnscjzps28ncqd46xzv88fjcn4bhcx6rwz8kl1m253c4wpl"; depends=[dtw sarp_snowprofile shiny]; };
   sars = derive2 { name="sars"; version="1.3.5"; sha256="07jaagf3q8x4iwjh1avy5vzv9y62ipnjd43acbw0hizh983qlq3r"; depends=[AICcmodavg cli crayon doParallel foreach nortest numDeriv]; };
   sarsop = derive2 { name="sarsop"; version="0.6.9"; sha256="1rjpgicgy9vfi9q2vldrbbakybmazal5gh79p2kysnzhcr76v3z5"; depends=[BH digest Matrix processx xml2]; };
   sas7bdat = derive2 { name="sas7bdat"; version="0.5"; sha256="0qxlapb6wdhzpwlmzlhscy3av7va3h6gkzsppn4sx5q960310an3"; depends=[]; };
-  sasLM = derive2 { name="sasLM"; version="0.6.4"; sha256="0rqw8phpmv3ij9rz9jl2n0j1mfklh27acijnqqlw2f65qrilqapd"; depends=[mvtnorm]; };
+  sasLM = derive2 { name="sasLM"; version="0.6.5"; sha256="1l9fwvzc91v12np0vxj276fqx3lhmf895ih9c1vq5x6ddy0f6rp3"; depends=[mvtnorm]; };
   sasMap = derive2 { name="sasMap"; version="1.0.0"; sha256="11vhhxhakqm1gsb3p4s4966sapmrqfyw79zfppbx5lnqi3xr0ngn"; depends=[readr stringi stringr]; };
   sasfunclust = derive2 { name="sasfunclust"; version="1.0.0"; sha256="1ba7g3rxyq5h806na6bsdvh6mw6hydgcf3740qkfd4d5fx7m0mq4"; depends=[fda MASS Matrix matrixcalc mclust Rcpp RcppArmadillo]; };
   sass = derive2 { name="sass"; version="0.4.0"; sha256="0axw358bbk3vxsqg3wq0bz3xigasa6af8fxvi2ga8hli4cawl1kx"; depends=[fs htmltools R6 rappdirs rlang]; };
-  sassy = derive2 { name="sassy"; version="1.0.6"; sha256="1nad1czbd508a0v4mgh5m0na39qv2jzrlzjb008w8q5c08hyp0sd"; depends=[fmtr libr logr reporter]; };
+  sassy = derive2 { name="sassy"; version="1.0.7"; sha256="0z65pvvw4hcw605hp7vpr99vmmf7isk2fxvxxa9ahfk1jig62hcc"; depends=[fmtr libr logr reporter]; };
   sate = derive2 { name="sate"; version="1.1.0"; sha256="0d1b0gp5abh5g7a25ff40xdnncrl2afjnlcc56dbhqkk43gjah17"; depends=[MASS]; };
   satellite = derive2 { name="satellite"; version="1.0.4"; sha256="0z6wh0nmzxgizd8rzafkq8hkxx9s8lkaqins68697284lxvrbrwr"; depends=[plyr raster Rcpp terra]; };
   satin = derive2 { name="satin"; version="1.0"; sha256="0ing5vhw8akrpy703fcwn5p0gadfabqb3abc9ircpgb6y2k5axzk"; depends=[geosphere lubridate maps maptools ncdf4 PBSmapping sp splancs]; };
@@ -15948,7 +16133,7 @@ in with self; {
   sawnuti = derive2 { name="sawnuti"; version="0.1.1"; sha256="07abg9gqm59iz05jly47h9jnf8majnhjqss2ybjpa9mx1aclm50b"; depends=[]; };
   saws = derive2 { name="saws"; version="0.9-6.2"; sha256="1ikvky45inz65djv1c9v749a5lq4m0xlzhm4p12am25qyv08hgjz"; depends=[gee]; };
   sazedR = derive2 { name="sazedR"; version="2.0.2"; sha256="0v8ap9ivwj5h4w2iwhww16v1jm6jpkkphvkh5vq06mv1a72p0inz"; depends=[bspec dplyr fftwtools pracma zoo]; };
-  sbfc = derive2 { name="sbfc"; version="1.0.2"; sha256="1bwwy4yw8wfvmisiqwswd78dy4bjgmhcv0aki1x2sslzazmdy23y"; depends=[DiagrammeR discretization Matrix Rcpp RcppArmadillo]; };
+  sbfc = derive2 { name="sbfc"; version="1.0.3"; sha256="0yfbxp3b9j2xjpd1xffkjl2bfxixc7hhzfiwicd9lyi5w2kfwavf"; depends=[DiagrammeR discretization Matrix Rcpp RcppArmadillo]; };
   sbgcop = derive2 { name="sbgcop"; version="0.980"; sha256="0vmg8b4462qghlyx6hq0raf9xqvygzgwi5y0cbqcljhmbmqjrwxs"; depends=[]; };
   sbioPN = derive2 { name="sbioPN"; version="1.1.0"; sha256="0yvg55xnkhm35hfl7rldy2grb26hm4a68jr4x9n45fs7hhdylxri"; depends=[]; };
   sbl = derive2 { name="sbl"; version="0.1.0"; sha256="1wxzscii0kp55sngmjccrqvc8zm1zamfh406r12irrz2wbxwqnkw"; depends=[]; };
@@ -15960,11 +16145,12 @@ in with self; {
   sbw = derive2 { name="sbw"; version="1.1.5"; sha256="10ks912f4xiy0i484vf24w5zz9n7kxlcy77ikz95p8vr5zlqkvgc"; depends=[MASS Matrix quadprog slam spatstat_geom]; };
   scBio = derive2 { name="scBio"; version="0.1.6"; sha256="1bpizxm9fbxd4sfapi1ayfg5csacb4dvqbvappd79jkq4mrsk12q"; depends=[doSNOW fields foreach LiblineaR limma raster sp]; };
   scCAN = derive2 { name="scCAN"; version="1.0.1"; sha256="08rrx3bk1w4lx886lvgc37xblq5hd68jrhg66yp5w16va5a97bqr"; depends=[FNN markdown purrr scDHA]; };
+  scCATCH = derive2 { name="scCATCH"; version="3.0"; sha256="0hq65zz8mm71i7hnpfafwmwr5vcf58m62lqqliifjbpl8rgc73yj"; depends=[crayon Matrix progress reshape2]; };
   scDHA = derive2 { name="scDHA"; version="1.1.2"; sha256="02iwkbh83h1xdckj30xg1azspq2v6sjrzpjgm6d1n14afgafv8x9"; depends=[cluster clusterCrit doParallel foreach igraph Matrix matrixStats Rcpp RcppAnnoy RcppArmadillo RcppParallel RhpcBLASctl torch uwot]; };
   scDIFtest = derive2 { name="scDIFtest"; version="0.1.1"; sha256="1hq68g7zf7372cach2qfc7l1l8gh5aqkp66k0cxjnrhmvvb1qcax"; depends=[mirt sandwich strucchange zoo]; };
   scDiffCom = derive2 { name="scDiffCom"; version="0.1.0"; sha256="1xgrsfrh06n8hzyqv3j99kjk6l85khg099vjdsf7kx9f5p92iixd"; depends=[data_table DelayedArray future future_apply magrittr Seurat]; };
-  scINSIGHT = derive2 { name="scINSIGHT"; version="0.1.1"; sha256="1a02013l648bz1h3nhflm1j0kdy48vg3y0x4gzjnhz1ihvnjngwl"; depends=[igraph RANN Rcpp RcppArmadillo stringr]; };
-  scITD = derive2 { name="scITD"; version="1.0.0"; sha256="0mar8m3qvrvn6cx8nq5dvrc3im27scz1rhpydyx043vmv5yxmldz"; depends=[circlize ComplexHeatmap dplyr edgeR fgsea ggplot2 ggpubr ica Matrix mgcv msigdbr NMF RColorBrewer Rcpp RcppArmadillo RcppProgress reshape2 Rmisc rTensor sccore sva]; };
+  scINSIGHT = derive2 { name="scINSIGHT"; version="0.1.3"; sha256="0hffigfi41crib98kazax4m6g70qdbcnhd4ycs432c4nlafbsdfm"; depends=[igraph RANN Rcpp RcppArmadillo stringr]; };
+  scITD = derive2 { name="scITD"; version="1.0.1"; sha256="0x20yiwafalsfgxcmbia05vrfp7bpvwkgxgrdrxjpzhs07q527wk"; depends=[circlize ComplexHeatmap dplyr edgeR fgsea ggplot2 ggpubr ica Matrix mgcv msigdbr NMF RColorBrewer Rcpp RcppArmadillo RcppProgress reshape2 Rmisc rTensor sccore sva]; };
   scImmuneGraph = derive2 { name="scImmuneGraph"; version="1.1.3"; sha256="0mvajasskcl4v0bjwzvkqjdicxb0329nxk93ich7qr37wfcp2n1n"; depends=[BiocStyle cowplot dplyr easypackages forcats ggplot2 gtools plyr purrr RColorBrewer readr scales stringr tibble tidyr tidyverse]; };
   scLink = derive2 { name="scLink"; version="1.0.1"; sha256="0gcwx8kfik1lv949r9d9rqqnvrfkr4bj5cj2i9h1r7l1b76kna74"; depends=[glasso]; };
   scMappR = derive2 { name="scMappR"; version="1.0.7"; sha256="08ifrdmr4ws4z6aq75j84sain8q55ax6h1gzqqnphyw593yh9918"; depends=[ADAPTS downloader ggplot2 gProfileR gprofiler2 GSVA limSolve pbapply pcaMethods pheatmap reshape Seurat]; };
@@ -15976,6 +16162,7 @@ in with self; {
   scTenifoldKnk = derive2 { name="scTenifoldKnk"; version="1.0.1"; sha256="0d6gcr0qrm7mc36n2lihl7bq9vj40dblqswznbwvxichv8kc5svz"; depends=[MASS Matrix pbapply RSpectra scTenifoldNet]; };
   scTenifoldNet = derive2 { name="scTenifoldNet"; version="1.3"; sha256="02ijwi487pfwhgdmpals2snx5dvdnkbkyp9g1yldw12a9v8rz8q7"; depends=[MASS Matrix pbapply RhpcBLASctl RSpectra]; };
   scUtils = derive2 { name="scUtils"; version="0.1.0"; sha256="09c4vwrjj4r0nfcwb8q0a243m0v5wa3qisdlcy7ik58gyxp02zv8"; depends=[assertthat dplyr ggplot2 Matrix scales viridis viridisLite]; };
+  scaRabee = derive2 { name="scaRabee"; version="1.1-4"; sha256="1p9828ymdm79b91z2fc2r5wy6i4hr1mx8fva6lr154c82ba3569z"; depends=[deSolve lattice neldermead optimbase optimsimplex]; };
   scaffolder = derive2 { name="scaffolder"; version="0.0.1"; sha256="1va1mlhqv5qn0hm81ypdir9llr68222qxjp3jink69zpaskfbdib"; depends=[reticulate]; };
   scagnostics = derive2 { name="scagnostics"; version="0.2-4.1"; sha256="1azg1xlid63l9mcyns9yyl3a3hykbl0sl0h5jhyvzjzahfyanq53"; depends=[rJava]; };
   scaleAlign = derive2 { name="scaleAlign"; version="1.0.0.0"; sha256="0340biwz0md6sxq5iq5wiz6q8kcrll80429f1ab9zz88k3fya2s6"; depends=[]; };
@@ -16039,8 +16226,9 @@ in with self; {
   scrobbler = derive2 { name="scrobbler"; version="1.0.2"; sha256="14nnqcjrcc5xcdn2swwj0j2jsw5maayd9ba06s6d5i88png2xhv5"; depends=[httr jsonlite]; };
   scrollrevealR = derive2 { name="scrollrevealR"; version="0.2.0"; sha256="0k8ffapwxpb25wphm76arma095hrh3wf0gpkx1z6g4rplahf4jxa"; depends=[glue htmltools]; };
   scrypt = derive2 { name="scrypt"; version="0.1.3"; sha256="14iblgbp9v2by8fjbrpsd59iknp5babcz7j3yv1yxxzcwyb6wrrm"; depends=[Rcpp]; };
+  scryr = derive2 { name="scryr"; version="1.0.0"; sha256="040x2qvgrr8j5k3y2g24kngjys271radqhh3jsqi07dhg9bybr5q"; depends=[dplyr httr purrr tibble]; };
   scs = derive2 { name="scs"; version="3.0-0"; sha256="18f1h3j1vzvkr5llqv98026ilrqvrdzckaacscwadzcw99rb2mqz"; depends=[]; };
-  sctransform = derive2 { name="sctransform"; version="0.3.2"; sha256="1p3m6i28nlxh6r609syn88cwlbdpl3dw44dy3gsijk2ibq20mfsx"; depends=[future future_apply ggplot2 gridExtra MASS Matrix matrixStats Rcpp RcppArmadillo reshape2]; };
+  sctransform = derive2 { name="sctransform"; version="0.3.3"; sha256="0aqbcarsvvzkh5h4i65f08y4b8dfcs3zi62hmvfy24gj81f15bw3"; depends=[dplyr future future_apply ggplot2 gridExtra magrittr MASS Matrix matrixStats Rcpp RcppArmadillo reshape2 rlang]; };
   scuba = derive2 { name="scuba"; version="1.11-0"; sha256="0g2n8clr2c0cb0jvfz1g9zv8m72yqwmb3p726k89dzma2lkyramd"; depends=[]; };
   scutr = derive2 { name="scutr"; version="0.1.2"; sha256="0wq20zvn839iws9qzaknfisr9r2pipdcvxfjvqmk1bw9irfgj3gm"; depends=[mclust smotefamily]; };
   sdPrior = derive2 { name="sdPrior"; version="1.0-0"; sha256="0g4crlasnvxz752n3az5jc681jvvj2g87c3a8s2h1i2vh64p5h37"; depends=[doParallel GB2 MASS mgcv mvtnorm pscl]; };
@@ -16080,8 +16268,8 @@ in with self; {
   seasonalview = derive2 { name="seasonalview"; version="0.3"; sha256="1l705yc7ssldsfckbgnvd95sh3zzhpkmf1rr6ar2s60s3wsyly4n"; depends=[dygraphs htmlwidgets openxlsx seasonal shiny shinydashboard xtable xts zoo]; };
   seastests = derive2 { name="seastests"; version="0.15.4"; sha256="1xy2hacd57v75y5snhn4al7bi71wr994jy6m2sdr6qzzsd5pbgpc"; depends=[forecast xts zoo]; };
   seawaveQ = derive2 { name="seawaveQ"; version="2.0.2"; sha256="1x4vvassal1lwb9xnwisrhlx2maaqxl84h7klfy8yg9x80fdrhsw"; depends=[lubridate plyr reshape2 rms survival]; };
-  secr = derive2 { name="secr"; version="4.4.8"; sha256="0lwnqfqc9bwz4fwsp9xis5rb1lykjv6vabbh14hpcpdvsqzslpba"; depends=[abind BH MASS mgcv nlme raster Rcpp RcppEigen RcppNumerical RcppParallel sp stringr]; };
-  secrdesign = derive2 { name="secrdesign"; version="2.5.11"; sha256="02fysbx6w1iw2ig54f9sgr74c40wfjwiwpdmxdjymsaynqnm9anl"; depends=[abind openCR secr]; };
+  secr = derive2 { name="secr"; version="4.5.1"; sha256="1vbxivrk3v6hkh56x8cp7n3aw30zb9mchaixxq06qihnjmn6prx5"; depends=[abind BH MASS mgcv nlme raster Rcpp RcppEigen RcppNumerical RcppParallel sp stringr]; };
+  secrdesign = derive2 { name="secrdesign"; version="2.6.0"; sha256="0iaby8qpik6g5060m3cykrqslj8cl1ddg0hsqy6vjgy6gg9r6ach"; depends=[abind secr]; };
   secret = derive2 { name="secret"; version="1.1.0"; sha256="063gpyc2s2l6zw1j8b8ppzsv9kjsf0s77s5wcn7ipmwkj8qr2g4b"; depends=[assertthat curl jsonlite openssl rprojroot]; };
   secrettext = derive2 { name="secrettext"; version="0.1.0"; sha256="129v524yyb464mcij7hvzv05cxliaz5nm7v30g9g9ppskcdqhsx2"; depends=[dplyr magrittr rlang stringr testthat tidyr]; };
   secrlinear = derive2 { name="secrlinear"; version="1.1.4"; sha256="1qa0vapnhiblz57jrbj9zd1gdmxc1nzzq41b4464373pjfvm5wvj"; depends=[igraph maptools MASS rgdal secr sp]; };
@@ -16092,7 +16280,7 @@ in with self; {
   seeclickfixr = derive2 { name="seeclickfixr"; version="1.1.0"; sha256="1agsqq2msrqrssffc6liyjjs6nqm90xy2inlcjbkdac5dhinjc4n"; depends=[jsonlite RCurl]; };
   seecolor = derive2 { name="seecolor"; version="0.1.0"; sha256="1ijxyys8pwlm99ynmv86cgn8pzz1ivaxzh3rq1akzv17nz93jv61"; depends=[crayon dplyr fansi ggplot2 magrittr purrr rstudioapi stringr]; };
   seedCCA = derive2 { name="seedCCA"; version="3.0"; sha256="076pkv083dp71m6ifjzx9spfwmc1625r9d72spf0vhf8pwwsha4v"; depends=[CCA corpcor]; };
-  seededlda = derive2 { name="seededlda"; version="0.6.0"; sha256="1xbjwarf39w3dgsr7rr5i0q5jbza2rfaxkw66h4gg7bbi5v3kwzi"; depends=[Matrix quanteda Rcpp RcppArmadillo RcppParallel]; };
+  seededlda = derive2 { name="seededlda"; version="0.8.0"; sha256="1wl7j2p1hfk1y9c05bq49n6zfcnkmijdp03c16ay7dhjqrhkwad6"; depends=[Matrix quanteda Rcpp RcppArmadillo RcppParallel]; };
   seedr = derive2 { name="seedr"; version="0.3.0"; sha256="15drbc0iplb97a2sym6jnrwij7ak5qckcw98n3m65x45apjwdmhq"; depends=[binom data_table]; };
   seedreg = derive2 { name="seedreg"; version="1.0.2"; sha256="16nr2hkwc0vfkd76ky592r1ymlmpakvxsmammih3fii9d4l8mlab"; depends=[boot car crayon drc emmeans ggplot2 hnp multcomp multcompView stringr]; };
   seeds = derive2 { name="seeds"; version="0.9.1"; sha256="0adk7y5ripg78bwkdgnlfwq9w9h6mlpdrikgbnn5z8az2qahc0in"; depends=[callr coda Deriv deSolve dplyr ggplot2 Hmisc MASS matrixStats mvtnorm pracma R_utils Ryacas statmod tidyr]; };
@@ -16104,11 +16292,12 @@ in with self; {
   segclust2d = derive2 { name="segclust2d"; version="0.3.0"; sha256="0gzxm4dgkfh80vyxl5xxhjr26s5hnzn85dmcvavfihbhqin6nj1s"; depends=[cli dplyr ggplot2 magrittr plyr RColorBrewer Rcpp RcppArmadillo reshape2 rlang scales zoo]; };
   segmag = derive2 { name="segmag"; version="1.2.4"; sha256="1i717xg1z7s35pkwzywgjf9wx7zj9xksv0k87h7p1q62y073qbqm"; depends=[plyr Rcpp]; };
   segmenTier = derive2 { name="segmenTier"; version="0.1.2"; sha256="01xbcddinjbkbqkwq2lnsxd3gw8fxys58p498dc2lw8psz3g2wgc"; depends=[Rcpp]; };
-  segmented = derive2 { name="segmented"; version="1.3-4"; sha256="0bchqcy308kbywavgyg9kb4543rbkfn753q9c6d7l7aw7sxvyxl2"; depends=[]; };
+  segmented = derive2 { name="segmented"; version="1.4-0"; sha256="0xn28gyqzmyz0kv352rkkznbj806arxj2am5a9gqsn1qzv9l0s9h"; depends=[MASS]; };
   segmentr = derive2 { name="segmentr"; version="0.2.0"; sha256="0q5kxxiw0akpk7w2a2l9zp7v4pvqblzdvrld5fjyl5f6h8hsb40z"; depends=[foreach glue Rcpp]; };
   segmetric = derive2 { name="segmetric"; version="0.1.0"; sha256="19hpfxi5n7azri8bnlddil46252q61cg5pbfd307v5px96fw39xd"; depends=[magrittr sf units]; };
   segregation = derive2 { name="segregation"; version="0.6.0"; sha256="0yajbbrbrkk6blb6r5y5fwvfz0j8kbc8fr91kb4f53j1afcbbhbx"; depends=[data_table]; };
   segregatr = derive2 { name="segregatr"; version="0.2.0"; sha256="02hdwbahcym98f20nnxnn94xsrl4x6gzz26wrg2nhj2cq20fl4s4"; depends=[pedprobr pedtools]; };
+  sehrnett = derive2 { name="sehrnett"; version="0.0.3"; sha256="09h30j390wnkglzq5c7ihladzmv2i439r27p3np2c850a69m0izp"; depends=[DBI dplyr magrittr purrr RSQLite tibble]; };
   seismic = derive2 { name="seismic"; version="1.0"; sha256="02d11c3filzghi8cvryikaidmk40d4z3qxsqs7bjdhxyf814caw8"; depends=[]; };
   seismicRoll = derive2 { name="seismicRoll"; version="1.1.4"; sha256="036yvfgy6d4dppfgqd8yx08k3mb03p44hch1ihcmmramz5cvdc29"; depends=[Rcpp]; };
   sejmRP = derive2 { name="sejmRP"; version="1.3.4"; sha256="1j3sadbp12fip3n96s0hx1sg4kzwx8z01p1c905kv8gffhkz9bh0"; depends=[cluster DBI dplyr factoextra RPostgreSQL rvest stringi tidyr XML xml2]; };
@@ -16148,7 +16337,6 @@ in with self; {
   sen2r = derive2 { name="sen2r"; version="1.5.0"; sha256="1k47hb1rnarnz3sgcn1qb5hm0lfhpaw8q3gg8ll6avw5ilgqv2sj"; depends=[data_table doParallel foreach geojsonio httr jsonlite raster RcppTOML rgdal sf stars XML]; };
   sendgridr = derive2 { name="sendgridr"; version="0.4.3"; sha256="0gi4b8v6896dp1r984j8pvdxpqik3p7bhnza90vj5b1f4xvb2rcc"; depends=[base64enc cli emayili httr jsonlite magrittr usethis]; };
   sendmailR = derive2 { name="sendmailR"; version="1.2-1"; sha256="0z7ipywnzgkhfvl4zb2fjwl1xq7b5wib296vn9c9qgbndj6b1zh4"; depends=[base64enc]; };
-  sensR = derive2 { name="sensR"; version="1.5-2"; sha256="073za0z6dawba2nd45hs20m0143kckxn3iglkyqz9vdfqwyv7wlq"; depends=[MASS multcomp numDeriv]; };
   sense = derive2 { name="sense"; version="1.0.0"; sha256="09idl88n6jlgbn5apgk0vr1bwmqi624ikv1qfx7hvyi79ixg49f4"; depends=[bbotk data_table forcats lubridate Metrics mlr3 mlr3filters mlr3learners mlr3pipelines mlr3tuning mlr3viz paradox purrr readr tictoc visNetwork]; };
   sensemakr = derive2 { name="sensemakr"; version="0.1.4"; sha256="1bwc4m9fz250iyq5rl63ncgnb5f9490aas8gp51r7yljagq584va"; depends=[]; };
   sensiPhy = derive2 { name="sensiPhy"; version="0.8.5"; sha256="1kjkdklva5wzmw071gbn1v9g5cf0wzmvwgy5y0dgi530v6byaw8j"; depends=[ape caper geiger ggplot2 phylolm phytools]; };
@@ -16182,7 +16370,7 @@ in with self; {
   seqhandbook = derive2 { name="seqhandbook"; version="0.1.0"; sha256="0zncpjabazci92wzw126i491669gidkyiw7zjp7iw23m6jaf71l4"; depends=[TraMineR]; };
   seqinr = derive2 { name="seqinr"; version="4.2-8"; sha256="1xz9spln6s9mcwpgcv1m4jymn4gnl1bb6vh90bphqcn0vvlk8jsq"; depends=[ade4 segmented]; };
   seqmagick = derive2 { name="seqmagick"; version="0.1.5"; sha256="0h1vdsx88k3mpajfv0cgswk2s1560zm6y776b4dqrdkvkcgdbb3g"; depends=[Biostrings magrittr]; };
-  seqminer = derive2 { name="seqminer"; version="8.2"; sha256="097313x72jr2q6dp8ma33w8kyp3gfw71snf1qx2maxbwwnysk085"; depends=[]; };
+  seqminer = derive2 { name="seqminer"; version="8.4"; sha256="1mbx1hw9dhgry7hhan43g6aiz2lyd5api7wxq3fwajyzjrc6p1g8"; depends=[]; };
   seqmon = derive2 { name="seqmon"; version="2.4"; sha256="1aqrg9aqvsabg5mm9jfj5vaxxaapfs1qw3yyzbx7vsspcgjdhyca"; depends=[]; };
   seqtest = derive2 { name="seqtest"; version="0.1-0"; sha256="1bdfww9szh7h278id5xpfc39mxkcix3yvsdwc68wx3q3x0wxhqhq"; depends=[]; };
   sequence = derive2 { name="sequence"; version="2.0"; sha256="0r5h96gcp18lwgrl2pjlr71xqspkf6qmm1m0xjq5vadalfa7y294"; depends=[]; };
@@ -16209,7 +16397,7 @@ in with self; {
   settings = derive2 { name="settings"; version="0.2.7"; sha256="1i9ij5k8p2v9gxr48vas8hj337mbyx9c4ywv9bbdwkz6kzah46k5"; depends=[]; };
   sever = derive2 { name="sever"; version="0.0.7"; sha256="10jckf6q31blsl1yhs5f1mx7b8sm8sqb86iakcvaslf651ijx81m"; depends=[cli htmltools shiny]; };
   severity = derive2 { name="severity"; version="2.0"; sha256="1mp19y2pn7nl9m8xfljc515kk5dirv0r2kypazpmd956lcivziqq"; depends=[]; };
-  sf = derive2 { name="sf"; version="1.0-5"; sha256="1i0s9839m9zffad2aq6zgcpz0d61g68caqh9wxaxaxx7bvx2h319"; depends=[classInt DBI magrittr Rcpp s2 units]; };
+  sf = derive2 { name="sf"; version="1.0-6"; sha256="1rmqip00nkfhda3i3a42q12k7xbsrz1p6fb2wynx5m9cxdgil33b"; depends=[classInt DBI magrittr Rcpp s2 units]; };
   sfa = derive2 { name="sfa"; version="1.0-1"; sha256="1acqxgydf8j5csdkx0yf169x3yaa31r0ccdrqarh6vj1hacm89ad"; depends=[]; };
   sfaR = derive2 { name="sfaR"; version="0.1.0"; sha256="1lgazgj6xfg0syspw6wzmd4xyczydhdgghpaf9kgrqvqfkaqcf8p"; depends=[dplyr emdbook fBasics Formula gsl marqLevAlg MASS maxLik moments nleqslv numDeriv primes qrng randtoolbox trustOptim ucminf]; };
   sfadv = derive2 { name="sfadv"; version="1.0.1"; sha256="1rfpm6km5pckwhqgpvidm6qsj5sjdaqqj5b0sgvpslivfa4c80cr"; depends=[gmm minpack_lm]; };
@@ -16243,7 +16431,7 @@ in with self; {
   sgt = derive2 { name="sgt"; version="2.0"; sha256="0qb3maj5idwafs40fpdfrwzkadnh5yg8fvfzfs51p9yy69kbmlkx"; depends=[numDeriv optimx]; };
   shades = derive2 { name="shades"; version="1.4.0"; sha256="1zg95sjhrfvbdlfc387g9p0vnb8nb6agdk1mb3wq3kwkm2da0bqj"; depends=[]; };
   shadow = derive2 { name="shadow"; version="0.7.1"; sha256="055064jwxf9fkvw95w8if5aqcxrgg3b224qs1c81v8m8adr46v0r"; depends=[raster rgeos sp]; };
-  shadowtext = derive2 { name="shadowtext"; version="0.1.0"; sha256="0b03gc97jbwcjnmjs9vzjid912wj6q27yqmq4bg06plpr0c5sj6l"; depends=[ggplot2 scales]; };
+  shadowtext = derive2 { name="shadowtext"; version="0.1.1"; sha256="01h0w3b02r8snjkx5sxkf2x8xm4gd0r8jm27xqz9cv6hgqfmh1pb"; depends=[ggplot2 scales]; };
   shallot = derive2 { name="shallot"; version="0.4.10"; sha256="05ciafpahcrsh9kwg1yqwbmanvkbv1i1cjjpvq3w4cdqkhn4fam7"; depends=[commonsMath rscala]; };
   shape = derive2 { name="shape"; version="1.4.6"; sha256="0yqbrrx2ywmfl99s6d1n6jblc63k1mxbiqyv8y0kq8jws1g3w45r"; depends=[]; };
   shapeNA = derive2 { name="shapeNA"; version="0.0.2"; sha256="1ivp8kvnacr2fx3rs7ckzdpinb6bifzzw7riskzj95lygjlkvabw"; depends=[]; };
@@ -16277,7 +16465,7 @@ in with self; {
   shinyAce = derive2 { name="shinyAce"; version="0.4.1"; sha256="1m33dfm2kjirvgix7ybv1kbzgjkicdpv411g9c0q3fw6rnyhfxxn"; depends=[jsonlite shiny]; };
   shinyBS = derive2 { name="shinyBS"; version="0.61"; sha256="0rhim4mbp4x9vvm7xkmpl7mhb9qd1gr96cr4dv330v863ra2kgji"; depends=[htmltools shiny]; };
   shinyChakraSlider = derive2 { name="shinyChakraSlider"; version="0.1.0"; sha256="1vsbw9dm8ai2w6mfdaksxh13ryh2awajqgkcwcxb99l47h17rvpy"; depends=[htmltools reactR shiny]; };
-  shinyChakraUI = derive2 { name="shinyChakraUI"; version="1.1.0"; sha256="128j376fhajw1ilbygf20d9h93889n38qc22hmg0lig7j880z3zx"; depends=[fontawesome formatR htmltools jsonlite reactR rlang shiny stringr]; };
+  shinyChakraUI = derive2 { name="shinyChakraUI"; version="1.1.1"; sha256="08qy6qrrprqlarwd3kab9s92dlx51jkhk7mikkf0mdhl6n2q26py"; depends=[fontawesome formatR htmltools jsonlite reactR rlang shiny stringr]; };
   shinyCyJS = derive2 { name="shinyCyJS"; version="0.0.11"; sha256="1wvrv5hdr74d2a68iwy76ffawmy4mpw0swrngw41zqpjd6hjiyxd"; depends=[htmlwidgets]; };
   shinyDND = derive2 { name="shinyDND"; version="0.1.0"; sha256="0nkvz4hmjzmxlzj4vkjrdy8xlbxapg1amk180irgvwicqldi4jpm"; depends=[htmltools shiny]; };
   shinyEffects = derive2 { name="shinyEffects"; version="0.2.0"; sha256="1ajar09hmrk7vcw89wkgvkz2yl0cfnkz915b57w1lmbvpxzgsq3i"; depends=[htmltools shiny]; };
@@ -16291,7 +16479,7 @@ in with self; {
   shinyLP = derive2 { name="shinyLP"; version="1.1.2"; sha256="1sjcll10ciq6pj9h8c6ybjqp8763wc423hddlalcblxxpajf6avz"; depends=[shiny]; };
   shinyML = derive2 { name="shinyML"; version="1.0.1"; sha256="086iavycv1gd6scfsixf7cmw0s5a4dc6x5cylfasxrzgiixd76c9"; depends=[argonDash argonR data_table dplyr DT dygraphs ggplot2 h2o lubridate plotly shiny shinycssloaders shinyjs shinyWidgets sparklyr tidyr]; };
   shinyMatrix = derive2 { name="shinyMatrix"; version="0.6.0"; sha256="17v7gg5bli6x3w063id804859m6g07i9ksbm2jyb65489pjgpadk"; depends=[jsonlite shiny]; };
-  shinyMergely = derive2 { name="shinyMergely"; version="0.1.0"; sha256="04bzrg4n0s3izm3aa2jb141ikvf7gn3qmbjajqcms1i9zyw12y4s"; depends=[shiny]; };
+  shinyMergely = derive2 { name="shinyMergely"; version="0.2.0"; sha256="1rvv5lcbb17i263xx1zn9524iwpmw56xwh0b2qii8096l20w6cnd"; depends=[shiny]; };
   shinyMobile = derive2 { name="shinyMobile"; version="0.9.1"; sha256="1v3qs6s3k7s1rnliv06ljx06cgkw154xbl0c1aiv9jjqq16rxh01"; depends=[htmltools httr jsonlite magrittr shiny]; };
   shinyMolBio = derive2 { name="shinyMolBio"; version="0.2"; sha256="09lq5pvis450il1agcq5n9cilnq84rfv08w2dz1d0bbq1qgrgnvg"; depends=[checkmate dplyr plotly purrr RColorBrewer RDML shiny stringr whisker]; };
   shinyMonacoEditor = derive2 { name="shinyMonacoEditor"; version="1.1.0"; sha256="12inzz9vrxi1465l82fafjva198qxyzwailx1s0fm58cqzhnqxr6"; depends=[shiny]; };
@@ -16306,7 +16494,7 @@ in with self; {
   shinyTime = derive2 { name="shinyTime"; version="1.0.1"; sha256="1d830wf7d5ki7frbr1vgy9d0vllyfcylq7pfkspjkz64b2xfhah3"; depends=[htmltools shiny]; };
   shinyToastify = derive2 { name="shinyToastify"; version="2.0.0"; sha256="0ipqwgl89pjiycwg78p0db45lbzry989kn6aqjsf79lpvghnk5qs"; depends=[fontawesome htmltools reactR shiny]; };
   shinyTree = derive2 { name="shinyTree"; version="0.2.7"; sha256="0jfx2capckv7hf2yx3fn8i4rcmhi222ah91jnmhg497x8wgz31s3"; depends=[htmlwidgets jsonlite promises shiny stringr]; };
-  shinyWidgets = derive2 { name="shinyWidgets"; version="0.6.2"; sha256="097dbzdyw85r7za8hyp9210k9zikxx56y15jb2m7bh5ryl1xj49d"; depends=[bslib htmltools jsonlite sass shiny]; };
+  shinyWidgets = derive2 { name="shinyWidgets"; version="0.6.4"; sha256="1j7pii40zc60ny1d5027pjagi1rrcnb9kxn4q9jmd9xv84y5b8sj"; depends=[bslib htmltools jsonlite sass shiny]; };
   shinyaframe = derive2 { name="shinyaframe"; version="1.0.1"; sha256="1flhgsm4q7p5acb41v73pf8ni92y9dwdppxjb9czlz1sxwf03p1s"; depends=[htmltools htmlwidgets shiny]; };
   shinyalert = derive2 { name="shinyalert"; version="3.0.0"; sha256="1gws8vshnqngm55rnw22qjlqsn9d240p734dnjvsv96d22b8bsnl"; depends=[htmltools knitr shiny uuid]; };
   shinyanimate = derive2 { name="shinyanimate"; version="0.3.0"; sha256="0vshid5mfq006cprjj61d0g7ajyc3plc66x55c5jjmijwbp6pw7a"; depends=[shiny]; };
@@ -16326,7 +16514,7 @@ in with self; {
   shinyglide = derive2 { name="shinyglide"; version="0.1.3"; sha256="095p5rkx1ms3qdcrrnqkdfz5nylj19r4b5rv9jpkf2a1clhwfc0q"; depends=[htmltools shiny]; };
   shinyhelper = derive2 { name="shinyhelper"; version="0.3.2"; sha256="1c4hvf19j3yyh8r12nx85ldkxs89g98q74csnqs5ml5l79a65vgp"; depends=[markdown shiny]; };
   shinyhttr = derive2 { name="shinyhttr"; version="1.1.0"; sha256="1snrl7bg1bc5jxqs1c5a2ir6qnf1nq576aigk19k0ms4gb9hh66m"; depends=[httr shinyWidgets]; };
-  shinyjqui = derive2 { name="shinyjqui"; version="0.4.0"; sha256="0ins0pmfis34jr0rimsp1k1aw856r3xjdnsvv8lkwqhvp58nzqah"; depends=[htmltools htmlwidgets jsonlite shiny]; };
+  shinyjqui = derive2 { name="shinyjqui"; version="0.4.1"; sha256="135gwz7syyb6pbn0lkvmq0v1c6r1zivavnqhi1rnzbbzlysi27v1"; depends=[htmltools htmlwidgets jsonlite rlang shiny]; };
   shinyjs = derive2 { name="shinyjs"; version="2.1.0"; sha256="1id9gsrkr28xl80a8794in17rxmmz06zqvd5hlns7mqz3fzhrhky"; depends=[digest jsonlite shiny]; };
   shinyloadtest = derive2 { name="shinyloadtest"; version="1.1.0"; sha256="0684p9anbc3qdn4rqkxp33nm0d04zb264b3blwa23pa5akis2klq"; depends=[curl dplyr ggplot2 httpuv jsonlite magrittr R6 rlang scales stringr svglite vroom websocket xml2]; };
   shinylogs = derive2 { name="shinylogs"; version="0.2.0"; sha256="00rswic0kbrzr6ix88avsxdfnv2bx94kxjkln8li14zaqsdksivm"; depends=[anytime bit64 data_table digest htmltools jsonlite nanotime shiny]; };
@@ -16361,9 +16549,8 @@ in with self; {
   showtext = derive2 { name="showtext"; version="0.9-4"; sha256="1gvj32wrs5q31bmg5dy6n85d0igm3jhkldhdv8kscw0pfrk89y36"; depends=[showtextdb sysfonts]; };
   showtextdb = derive2 { name="showtextdb"; version="3.0"; sha256="0hlnc3fhgrdkd46n7hb6id0gg1v0bf8s4679nrr7rchyp455szq2"; depends=[sysfonts]; };
   shp2graph = derive2 { name="shp2graph"; version="0-5"; sha256="1l9mg98hkb0bvr5dzd2p26g8mw5hqjxrym2gmbm10kyapvccfk56"; depends=[igraph maptools sp]; };
-  shrink = derive2 { name="shrink"; version="1.2.1"; sha256="0pd967wsys8fd7gyvr9y08km118yamfk5c1a1i2k8nr2ifpqmy0w"; depends=[MASS mfp rms survival]; };
   shrinkDSM = derive2 { name="shrinkDSM"; version="0.1.0"; sha256="01yvs1shsp7npfm9w1caprb1x8w42zlzswc2fk9y6q340i51kfzm"; depends=[coda Rcpp RcppArmadillo RcppProgress shrinkTVP stochvol]; };
-  shrinkTVP = derive2 { name="shrinkTVP"; version="2.0.4"; sha256="15avxdrn4734p1hbv8q0kc2zngarsr96ca25dqv4kd75q721c9nz"; depends=[coda GIGrvg Rcpp RcppArmadillo RcppProgress stochvol zoo]; };
+  shrinkTVP = derive2 { name="shrinkTVP"; version="2.0.5"; sha256="1qzk53l6n3a58ypqdisf2cj1nvgri2fvy0nz72wpvqnfsj3xcswz"; depends=[coda GIGrvg Rcpp RcppArmadillo RcppProgress stochvol zoo]; };
   shuffle = derive2 { name="shuffle"; version="1.0.1"; sha256="0aqb11h340picx7z2jg3k46l3pr6fkknlpyzc0z89hhrc90pss48"; depends=[]; };
   shuffleCI = derive2 { name="shuffleCI"; version="0.1.0"; sha256="1n9k28m1fcnw1my9a7v0gy9waygd48lab45vj9k2wwijbc325zai"; depends=[plotrix]; };
   shutterplot = derive2 { name="shutterplot"; version="0.1.0"; sha256="129jv20m0dinb07lwiz9fxv4z7sxshcmjab2g0p5vrv8jlp9a0yv"; depends=[]; };
@@ -16374,7 +16561,7 @@ in with self; {
   siconvr = derive2 { name="siconvr"; version="0.0.1"; sha256="178bqjdx96lk8npa26w29aanal7g6x22b6p1p8gsbyi6h8acgkh0"; depends=[cli data_table dplyr httr magrittr tibble]; };
   sideChannelAttack = derive2 { name="sideChannelAttack"; version="1.0-6"; sha256="1xcsy1h8gc8a4f9nzs7zv8x6v55g1pg8vy1kg64iqxm0gnz2f20l"; depends=[ade4 corpcor infotheo MASS mmap]; };
   sidier = derive2 { name="sidier"; version="4.1.0"; sha256="0zayhvhaq0q00rpgy0z01rhf3lcc3791klc8b30pdj627cl9xj01"; depends=[ape ggmap ggplot2 gridBase igraph network]; };
-  sidrar = derive2 { name="sidrar"; version="0.2.6"; sha256="069msxwgksvnwf67rb0rsbmfiv2b6xx8ds0fb2zmn2z19bi0pk0f"; depends=[magrittr RCurl rjson rvest stringr xml2]; };
+  sidrar = derive2 { name="sidrar"; version="0.2.7"; sha256="120xb1yigi99irb3bn7w9var2h6adpc7ajfw754x3jvrakmfi6jk"; depends=[magrittr RCurl rjson rvest stringr xml2]; };
   siebanxicor = derive2 { name="siebanxicor"; version="1.0.0"; sha256="0bnpqqhqvqq9kxvzljzp4d5aw9drh78cwyxyqzdvshijl7mmqjwc"; depends=[httr jsonlite]; };
   sievePH = derive2 { name="sievePH"; version="1.0.1"; sha256="1hdccfq39sw3jsakv8lrnjp8mmc431l6ka1g9r53ihrz18s6c39v"; depends=[survival]; };
   sievetest = derive2 { name="sievetest"; version="1.2.3"; sha256="17qrm7axvlr2yzp8brbibp26f8qdpqm85hc2kjzxm5zqwfvd6dfs"; depends=[]; };
@@ -16424,13 +16611,13 @@ in with self; {
   simfam = derive2 { name="simfam"; version="1.0.3"; sha256="0biz3dz1mrzj601p99h4k58p4ybh5f42qzbqivk8irz1wsbm6n4v"; depends=[Rcpp tibble]; };
   simfinapi = derive2 { name="simfinapi"; version="0.2.0"; sha256="10s6m6ahkp6gw1b3axr7m2wrbh34m48aml20yl9kypkwd6af865j"; depends=[bit64 checkmate data_table future_apply httr memoise progressr RcppSimdJson]; };
   simfit = derive2 { name="simfit"; version="0.1.0"; sha256="0wlkkpxvpxd17y2kgfwjyjlrwj48z27mhss8r7yp4410l0a2llgy"; depends=[ggplot2 magrittr]; };
-  simglm = derive2 { name="simglm"; version="0.8.8"; sha256="18k3wd9j4hyph9db4h8r7cc93g8f3jkshraj3jn6mpg6k911w78n"; depends=[broom dplyr future_apply Matrix purrr rlang]; };
+  simglm = derive2 { name="simglm"; version="0.8.9"; sha256="0spvr8bmdqg97y1qklr8c6svgwsdwa5haar4sbsnvpnrq5fb2baw"; depends=[broom dplyr future_apply purrr rlang]; };
   simgof = derive2 { name="simgof"; version="1.0.2"; sha256="05d7im59i193f266kqy4lr37dw3v20j9niizhj9w8z1qlfqfqsrk"; depends=[ddst]; };
   simhelpers = derive2 { name="simhelpers"; version="0.1.1"; sha256="0hnqvymmyimh6244r8a8qmmsb799pgj6j6yvgdnhvjmss8ymif9d"; depends=[dplyr furrr future magrittr purrr Rdpack rlang rstudioapi tibble tidyr]; };
   simlandr = derive2 { name="simlandr"; version="0.1.2"; sha256="1f1r22a7w8xqkgavnb6g06if29vf1905d3h32ww9zzxz65g3a9qa"; depends=[bigmemory digest dplyr forcats gganimate ggplot2 htmlwidgets ks magrittr MASS plotly purrr rlang scales tibble]; };
-  simmer = derive2 { name="simmer"; version="4.4.3"; sha256="0vp1dc9kpinl4hkyrig5msssl35wxd9w9jyk7lbknxavjp1aqc69"; depends=[BH codetools magrittr Rcpp]; };
+  simmer = derive2 { name="simmer"; version="4.4.4"; sha256="1rk6c4i6w3z3zhv2yr2lzhcr10araxxcycn556pncqp4f0ycb2l8"; depends=[BH codetools magrittr Rcpp]; };
   simmer_bricks = derive2 { name="simmer.bricks"; version="0.2.1"; sha256="1s73mfmpjz91n932kjk50aai5j3p1sjibq73yxrjdhlyhiy4d8lp"; depends=[simmer]; };
-  simmer_plot = derive2 { name="simmer.plot"; version="0.1.16"; sha256="15snsxbljapk1br3psd6ypwa34a6x57zrblgpjyihpaivpxcz7m6"; depends=[DiagrammeR dplyr ggplot2 scales simmer tidyr]; };
+  simmer_plot = derive2 { name="simmer.plot"; version="0.1.17"; sha256="15bg7y21kgzvgzwzxpdwq9pay92ms2dkg9a1lpqlg5dx892rfr7n"; depends=[DiagrammeR dplyr ggplot2 scales simmer tidyr]; };
   simml = derive2 { name="simml"; version="0.3.0"; sha256="18qrpxf4fsqirfxj4ldkmdyc6zp2px2bcad9j50ihb3r2a33ny3x"; depends=[mgcv]; };
   simmr = derive2 { name="simmr"; version="0.4.5"; sha256="0kv3ip0yq3r2a9dglx0pkjvg5bkf9fg2x051dp6z0ld1c0f4p6ms"; depends=[bayesplot boot checkmate compositions ggplot2 MASS R2jags reshape2 viridis]; };
   simode = derive2 { name="simode"; version="1.2.0"; sha256="0wlnd01xfdqvjfvmkhkj6nvkrnv5ghjv4md5nhaqsjc8bycawyl0"; depends=[deSolve pracma quadprog]; };
@@ -16447,9 +16634,10 @@ in with self; {
   simplegraph = derive2 { name="simplegraph"; version="1.0.0"; sha256="1gcpbljp1fgaprxnmq23izf1h2x3p5dnxlylwqsnlcj50bvm46gq"; depends=[]; };
   simplegraphdb = derive2 { name="simplegraphdb"; version="2021.03.10"; sha256="0573hrv23nimmf3d8dgdynii79h84a3mfr4xxk3cggxhsxpfmb2i"; depends=[DBI rjson RSQLite]; };
   simplermarkdown = derive2 { name="simplermarkdown"; version="0.0.4"; sha256="069pgx5m22rdqa21lyn5zqm9ym3g7w6z1d2wjwms8b1f2cp6266g"; depends=[rjson]; };
-  simplevis = derive2 { name="simplevis"; version="5.0.0"; sha256="0hrv0dgghl9rba2rk2w1q4vg306djnz69hp4daxf462y95nnh1k7"; depends=[dplyr forcats ggplot2 htmlwidgets leafem leaflet leafpop lubridate magrittr purrr rlang scales sf snakecase stars stringr tidyr tidyselect viridis]; };
+  simplevis = derive2 { name="simplevis"; version="6.0.0"; sha256="09bhqql0a6dqzd9i2ay6f6fkk1rg266dvxnfj31v35rziq32550f"; depends=[dplyr forcats ggplot2 htmlwidgets leafem leaflet leafpop lifecycle lubridate magrittr plotly purrr rlang scales sf shiny snakecase stars stringr tidyr tidyselect viridis]; };
   simplexreg = derive2 { name="simplexreg"; version="1.3"; sha256="1zkh00xbddhgz0qn0a5pj12n0hpx4f5kihpfj71x92pmxpzglcxh"; depends=[Formula plotrix]; };
   simplextree = derive2 { name="simplextree"; version="1.0.1"; sha256="18jvzcz4fdsi17j7qdqpjvx6zygvlcvpziikb8qxskaib5180l08"; depends=[magrittr Rcpp]; };
+  simpr = derive2 { name="simpr"; version="0.2.1"; sha256="070ps8sydj3pj738mfjs25bwb4lqgwmq6sm78lgv9w6v9p0jwbx1"; depends=[broom dplyr furrr generics magrittr purrr rlang tibble tidyr tidyselect]; };
   simputation = derive2 { name="simputation"; version="0.2.7"; sha256="0jw0j57pgg06ix7yr01bbv314w2dh08idjvsa46s02xkqn37cb7q"; depends=[gower MASS rpart]; };
   simr = derive2 { name="simr"; version="1.0.5"; sha256="1j5w93iliykfnpxl9kzh1rp6d3iy26ksj3j7yjl348yvplh0iyjl"; depends=[binom car iterators lme4 pbkrtest plotrix plyr RLRsim stringr]; };
   simrec = derive2 { name="simrec"; version="1.0.0"; sha256="17zzbzgdisp5qh0vlbmkjf6a3axnpwj2kw03wymfbb3z557pbxlr"; depends=[]; };
@@ -16459,7 +16647,7 @@ in with self; {
   simsem = derive2 { name="simsem"; version="0.5-16"; sha256="0scjb308pb8ivy5blbk1wj9d1yxcqknhvh95a3728crfq2xcqnh0"; depends=[lavaan]; };
   simsl = derive2 { name="simsl"; version="0.2.1"; sha256="12dc9lcy11g1yynycvcqm62npq0v13bg6fnykb5m9ijwga4x51il"; depends=[mgcv]; };
   simstandard = derive2 { name="simstandard"; version="0.6.3"; sha256="1l1vny3csrr7krfpn25rzysmwjfv6mclf51y3mq02cimcwq9fzcy"; depends=[lavaan magrittr mvtnorm purrr rlang tibble]; };
-  simstudy = derive2 { name="simstudy"; version="0.3.0"; sha256="1dvfdrgyjnqij5hgr4ffw926m5anys03k6zv7h5jx5hpx5lfx5gv"; depends=[backports data_table glue mvnfast mvtnorm Rcpp]; };
+  simstudy = derive2 { name="simstudy"; version="0.4.0"; sha256="06dq7kn2k8y84g341bb4jvvjl8x6q5r1asz6v3bgq3pbfl59f9jp"; depends=[backports data_table glue mvnfast mvtnorm Rcpp]; };
   simsurv = derive2 { name="simsurv"; version="1.0.0"; sha256="16b2a3br107hy2fc0vann9wf5h9kb5j76baa37g1sfc0h19kg6kr"; depends=[]; };
   simtimer = derive2 { name="simtimer"; version="4.0.0"; sha256="1c5017xmh4767d75k4rs1pssyn7p5w41bcsjjmwk4c9g6w1jgx1w"; depends=[]; };
   simtrait = derive2 { name="simtrait"; version="1.0.21"; sha256="0l5x33ik4s8wlh9002dslygprh1q4j3nfr3s4yw8hpq12k5pvg8z"; depends=[PRROC]; };
@@ -16493,11 +16681,12 @@ in with self; {
   sivs = derive2 { name="sivs"; version="0.2.5"; sha256="16w1yixb2wfgprnfm408l11nz9j28by7sz82x17rzmjb6p3n1jw5"; depends=[doParallel foreach glmnet pROC varhandle]; };
   sizeMat = derive2 { name="sizeMat"; version="1.1.2"; sha256="1vbndadsn80ddrg471vp1qxf0gan38w6dkjk1p2npvfb47wdjj2h"; depends=[MASS matrixStats MCMCpack]; };
   sjPlot = derive2 { name="sjPlot"; version="2.8.10"; sha256="1rnwhh271xj8xgvvlpqw9ain56mfz37fvl7f6jq9nzx9jxx95bjd"; depends=[bayestestR datawizard dplyr effectsize ggeffects ggplot2 insight knitr MASS parameters performance purrr rlang scales sjlabelled sjmisc sjstats tidyr]; };
+  sjSDM = derive2 { name="sjSDM"; version="1.0.0"; sha256="1jswpi6m0yhq5vf9s6mxg36fi9ig8cs8zbm6yj56khyi3q159lw8"; depends=[abind checkmate cli crayon ggplot2 mathjaxr Metrics mgcv mvtnorm reticulate rstudioapi Ternary]; };
   sjdbc = derive2 { name="sjdbc"; version="1.6.1"; sha256="0cz5qc5lsipd3nlkzj8j03xmpzxp52c3q5av8pr7fm3vsdclawfk"; depends=[rJava]; };
   sjlabelled = derive2 { name="sjlabelled"; version="1.1.8"; sha256="17gskxr43rgbg7syla3b78g2qgksq2kj07iad4139xycqxblxya0"; depends=[insight]; };
   sjmisc = derive2 { name="sjmisc"; version="2.8.9"; sha256="1gzkq95ckxr0vhrzggflzli9hs7zr8c0yym9zn1wf74yrr0mgc3q"; depends=[dplyr insight magrittr purrr rlang sjlabelled tidyselect]; };
   sjstats = derive2 { name="sjstats"; version="0.18.1"; sha256="1cv80yjnyh6qihxf57zivihhia20gibr5f03x8aspy6382wnwlka"; depends=[bayestestR broom dplyr effectsize emmeans insight lme4 magrittr MASS modelr parameters performance purrr rlang sjlabelled sjmisc tidyr]; };
-  skater = derive2 { name="skater"; version="0.1.0"; sha256="1liykd2gad50k6qhhr789g87vkdpwp561yrxqz5alfclvfax1bdk"; depends=[corrr dplyr kinship2 magrittr purrr readr rlang tibble tidyr]; };
+  skater = derive2 { name="skater"; version="0.1.1"; sha256="0cylcwxqc75a7fkyn7llwp0c7k35sfsbylxrjn0cpdnxbyf5xcx5"; depends=[corrr dplyr kinship2 magrittr purrr readr rlang tibble tidyr]; };
   skda = derive2 { name="skda"; version="0.1"; sha256="0a6mksr1d0j3pd0kz4jb6yh466gvl4fkrvgvnlmvivpv6b2gqs3q"; depends=[]; };
   skedastic = derive2 { name="skedastic"; version="1.0.3"; sha256="0f6pq5mj3mbam13283z4zyw7zgkvsld5y7ak0ahby9gb0na1zyhm"; depends=[arrangements bazar berryFunctions boot broom CompQuadForm cubature data_table expm gmp Hmisc MASS mvtnorm pracma quantreg Rdpack Rmpfr]; };
   skeletor = derive2 { name="skeletor"; version="1.0.4"; sha256="1jfbfbkjx8mdwamsrkhvcnyn470in702vgcyw3g2dbgs84gl29q8"; depends=[]; };
@@ -16518,14 +16707,14 @@ in with self; {
   skynet = derive2 { name="skynet"; version="1.4.0"; sha256="1ir8sw99fvdy8zp7ncgdnggr8hv1ph21kvdi9my42vlsh2fqi5ja"; depends=[data_table dplyr geosphere ggplot2 ggrepel httr igraph leaflet maps stringr]; };
   skyscapeR = derive2 { name="skyscapeR"; version="1.0.0"; sha256="1x3s003wdmnf0h1k3gl6cvd35g516y7v2yzahr3wxk2np832kjli"; depends=[doParallel foreach httr MESS numDeriv oce plotrix png RColorBrewer rootSolve swephR zoo]; };
   slackr = derive2 { name="slackr"; version="3.2.0"; sha256="10klljhkycnyqkzq73gj71c2phdqx9l3lb2jzancc59x21wjqn3b"; depends=[cachem dplyr ggplot2 httr jsonlite magrittr memoise rlang tibble withr]; };
-  slam = derive2 { name="slam"; version="0.1-49"; sha256="044hnfqbx57v5zr64gl09b5arj45swn9ywqzrl9rsc8267ys0028"; depends=[]; };
+  slam = derive2 { name="slam"; version="0.1-50"; sha256="1ggqcf8l1z2hpi7qy4mg0d2ps48bjjb8z1y1xz6fq162cqrbz6bq"; depends=[]; };
   slanter = derive2 { name="slanter"; version="0.2-0"; sha256="024dkman0r5qzc215gw0ds932vdaz8krrhv64fjw9pni37ixc3mf"; depends=[Matrix pheatmap pracma]; };
   slasso = derive2 { name="slasso"; version="1.0.0"; sha256="0k83szk6jzvn5353p9ia2ipmjyl65ivx95rj62rq8dyjfrdyzs0d"; depends=[cxxfunplus fda fda_usc inline MASS matrixcalc matrixStats plot3D Rcpp RcppArmadillo]; };
   sld = derive2 { name="sld"; version="1.0.0"; sha256="1027ipymal3wbmzjg8v6rvyb55hlpmj4hd5jwlac0yha1cvm8xyk"; depends=[lmom]; };
   sleekts = derive2 { name="sleekts"; version="1.0.2"; sha256="0syk244xrsv8hz5sxm7wizk0kyn1nc6z4c63c8xn57fz130zj75k"; depends=[]; };
   sleepr = derive2 { name="sleepr"; version="0.3.0"; sha256="1ka4pl6a09d1qga5svcirc5ywmzz9pcml09053745lz3p1v8fnn3"; depends=[behavr data_table]; };
   sleepwalk = derive2 { name="sleepwalk"; version="0.3.2"; sha256="1y0945r9ksz8x6w5rx31sm9x2q2ydd9sc1fwa0paq5f11hygss5d"; depends=[cowplot ggplot2 httpuv jrc jsonlite scales]; };
-  sleev = derive2 { name="sleev"; version="1.0.0"; sha256="0xjkh4v0845bpmyxh02avxvp7df9d3w6lack181p3xnm0j9m8g1m"; depends=[Rcpp RcppArmadillo RcppEigen]; };
+  sleev = derive2 { name="sleev"; version="1.0.1"; sha256="04kdqzgspkx5f5vby6gzkg9capc2h84x6amp3g4m74vmkvyvgbf8"; depends=[Rcpp RcppArmadillo RcppEigen]; };
   slfm = derive2 { name="slfm"; version="1.0.1"; sha256="0s7fdvr4fvsb4789f9ly2x820g4xvabl04wk7k6i8pd5ckj2xjhy"; depends=[coda lattice Rcpp RcppArmadillo]; };
   slgf = derive2 { name="slgf"; version="0.1.0"; sha256="0wjj9mbf33x5isi5h3mdas283aw9x2hi5hyqgqbi941vhwf6v31l"; depends=[numDeriv Rdpack]; };
   slickR = derive2 { name="slickR"; version="0.5.0"; sha256="1zxj6ivdhi9wvqcrl0p8clwk8nxqmg1bijqamp0lhq82dpyrdngp"; depends=[base64enc htmltools htmlwidgets lifecycle xml2]; };
@@ -16544,7 +16733,7 @@ in with self; {
   sm = derive2 { name="sm"; version="2.2-5.7"; sha256="03z8igsjqr32x407asxvkrbayvm6yhv9xyfs0n8fkmv8zk5a41r6"; depends=[]; };
   smaa = derive2 { name="smaa"; version="0.3-0"; sha256="0y7j4q147fdk7fffyinc803mfzzsmcdfx8bp695w3wkq1wwy9kyl"; depends=[]; };
   smacof = derive2 { name="smacof"; version="2.1-3"; sha256="1221k0bkx47j0cpc2f2flhq3f4x7r4mvm4fdv0ba1iaiw10di7h1"; depends=[candisc colorspace doParallel e1071 ellipse foreach Hmisc MASS nnls plotrix polynom weights wordcloud]; };
-  smacpod = derive2 { name="smacpod"; version="2.3"; sha256="1z0v82p897a69a9mig1yaawdw30fxfc5bsc1qmzybmsjqcp8gxfc"; depends=[abind pbapply plotrix smerc sp spatstat_core spatstat_geom]; };
+  smacpod = derive2 { name="smacpod"; version="2.4"; sha256="0kb26gl3qrldpxiar9cadbpvd6858ax4m2cffw3c4h5nn2zj14hk"; depends=[abind pbapply plotrix smerc sp spatstat_core spatstat_geom spatstat_random]; };
   smallarea = derive2 { name="smallarea"; version="0.1"; sha256="0jcv0xbh8v4g6zxxs4yyd0divwzk9d2w7g01r4s65khxvy3av7yx"; depends=[MASS]; };
   smam = derive2 { name="smam"; version="0.6.0"; sha256="1vgsx1n9gkkjnv5lrrznpfqvh019qcjki6gy625k3ykqg5zg229v"; depends=[doParallel doSNOW EnvStats foreach Matrix nloptr numDeriv Rcpp RcppGSL RcppParallel]; };
   smapr = derive2 { name="smapr"; version="0.2.1"; sha256="1gcq66gs6968c5h303dqd2jyw2rcdwxv642ki1cmpdj6ix665dpr"; depends=[httr rappdirs raster rhdf5 rvest xml2]; };
@@ -16554,13 +16743,13 @@ in with self; {
   smartsnp = derive2 { name="smartsnp"; version="1.1.0"; sha256="1gzzhys6bja55iclkji254kri6r3iamiw7bv881mp615wi9r3hx2"; depends=[bootSVD data_table foreach Rcpp RcppArmadillo Rfast RSpectra vegan vroom]; };
   smatr = derive2 { name="smatr"; version="3.4-8"; sha256="0qqqbg65flxh48sw7x90zvgzbpcfzb1811h0pz3zlhdw9a7khs9n"; depends=[]; };
   smbinning = derive2 { name="smbinning"; version="0.9"; sha256="1sr0nsqqzxdf402g9qx1ycigbh330idl9n2cyli4x4zxj1nqm3yv"; depends=[Formula gsubfn partykit sqldf]; };
-  smcfcs = derive2 { name="smcfcs"; version="1.6.0"; sha256="0kvk9izi7bncs14pla7h6b9wjn475f6i6i7vb8qv3fp4vyqpxp6d"; depends=[abind checkmate MASS rlang survival VGAM]; };
+  smcfcs = derive2 { name="smcfcs"; version="1.6.1"; sha256="0n94sd2cdf6zsmnph0q5qi50rzaa12lrkj5g74bsbrpxhixw9bba"; depends=[abind checkmate MASS rlang survival VGAM]; };
   smco = derive2 { name="smco"; version="0.1"; sha256="1sj3y1x6pc32cwzyhn9gaxs964xh5xl4vw08hsa8kfcxhh2r0s99"; depends=[]; };
   smcure = derive2 { name="smcure"; version="2.0"; sha256="1j7fxnb0sx57a0l929c3haz4f1y829ymlq0cvdh0cia4qp6ydv60"; depends=[survival]; };
   smd = derive2 { name="smd"; version="0.6.6"; sha256="1nvlka2prqh1hcj4ngpj2c2gmfryziijqwjyfy9fmq78skiq0jij"; depends=[MASS]; };
   smdata = derive2 { name="smdata"; version="1.2"; sha256="1p26b46kg4hmhs2fl9h9vchar00llqv58ylx438bjgzz4f229qvr"; depends=[]; };
   smds = derive2 { name="smds"; version="1.0"; sha256="0aqf3wfn6mlsl8a32gaf9qdpyxwsx19g6mma8qzgaysdmk6vhbpd"; depends=[MASS]; };
-  smerc = derive2 { name="smerc"; version="1.5.2"; sha256="0c33xw4kk6x37fscv57lgxxrsg3ypgdsz5xfl4qrqg4svp48f7j7"; depends=[MESS pbapply randtoolbox Rcpp RcppProgress sp]; };
+  smerc = derive2 { name="smerc"; version="1.6"; sha256="1jh8fb9zid6wncfcnbmb1kxhagrrwx8nfdxhhwmmpkzr4x052j6w"; depends=[MESS pbapply randtoolbox Rcpp RcppProgress sp]; };
   smfishHmrf = derive2 { name="smfishHmrf"; version="0.1"; sha256="1k6mpyp11zv5rc3k98baymr903p2pf424nf9xng20q1li8s8y2ab"; depends=[fs pracma Rdpack]; };
   smfsb = derive2 { name="smfsb"; version="1.3"; sha256="1328w7zpwd3nam6ha4bh14g919jjl87v323ijmbp1j71gc64nn2i"; depends=[abind]; };
   smicd = derive2 { name="smicd"; version="1.1.2"; sha256="1v80sshsp3qlc1y7yz1pl4s2jk6khdsli3z2v0cjxfsv1izfd02x"; depends=[formula_tools Hmisc ineq laeken lme4 MuMIn mvtnorm truncnorm weights]; };
@@ -16570,7 +16759,7 @@ in with self; {
   smog = derive2 { name="smog"; version="2.1.0"; sha256="1mnnvp6crjwwiym16q4hmn9zwna1gblwqjlan4x9zyvgp1j70k26"; depends=[doParallel dplyr foreach ggplot2 magrittr Rcpp RcppArmadillo Rdpack rmarkdown tidyr]; };
   smoke = derive2 { name="smoke"; version="2.0.0"; sha256="1jdl5swg66vqryd40rrqpsnkczmsiaf5x6vlfv774vbnrc6q2v2g"; depends=[Rdpack]; };
   smoof = derive2 { name="smoof"; version="1.6.0.2"; sha256="14zwrsyhbrwggwiaq8vxps8cgkp6glb14b2cp2ph1ppa0abvlbfq"; depends=[BBmisc checkmate ggplot2 mco ParamHelpers plot3D plotly RColorBrewer Rcpp RcppArmadillo RJSONIO]; };
-  smooth = derive2 { name="smooth"; version="3.1.4"; sha256="1h0kfjpjn9lfizd5acn7gvpw2qw4b3y2ysgzm3msmbmmwkfgsdfz"; depends=[greybox MASS nloptr pracma Rcpp RcppArmadillo statmod zoo]; };
+  smooth = derive2 { name="smooth"; version="3.1.5"; sha256="0xqb1dj24vwcfnjyfn599y0yfimd4g6d9a7g4bs7wlqfh7zzmd0y"; depends=[greybox MASS nloptr pracma Rcpp RcppArmadillo statmod zoo]; };
   smoothAPC = derive2 { name="smoothAPC"; version="0.3"; sha256="11f34qqdm8m0hmy9jf29q439slchvmqgdfrmak7vcdhfnjcylr5r"; depends=[colorspace lmtest quantreg rgl SparseM]; };
   smoothHR = derive2 { name="smoothHR"; version="1.0.3"; sha256="0kqj27vsxdiy0fjn0h94lhzw7hjm6qqnzcvhz15iyssl2d2hzxvg"; depends=[survival]; };
   smoothROCtime = derive2 { name="smoothROCtime"; version="0.1.0"; sha256="03iihjxb5xdaf74cm9cajqqjli754mdmv5v1y4hla9vv23017ca1"; depends=[ks]; };
@@ -16613,7 +16802,7 @@ in with self; {
   snpStatsWriter = derive2 { name="snpStatsWriter"; version="1.5-6"; sha256="04qhng888yih8gc7yd6rrxvvqf98x3c2xxz22gkwqx59waqd4jlq"; depends=[colorspace snpStats]; };
   snpar = derive2 { name="snpar"; version="1.0"; sha256="0c9myg748jm7khqs8yhg2glxgar1wcf6gyg0xwbmw0qc41myzfnq"; depends=[]; };
   snplist = derive2 { name="snplist"; version="0.18.2"; sha256="1sa2s3br4agx920jpr250iih61p99v500nh0c1w99w0846g9908c"; depends=[biomaRt DBI R_utils Rcpp RSQLite]; };
-  snpsettest = derive2 { name="snpsettest"; version="0.1.0"; sha256="0cik8vjyx0a7x9vvxl03lpcpdjqczdfbrlygr5rkpgi6lfijxc9r"; depends=[data_table gaston Rcpp RcppArmadillo]; };
+  snpsettest = derive2 { name="snpsettest"; version="0.1.1"; sha256="0vfm09bff7l7z36lzwp0ndnlb230f0kg6dlbjlpk028xd1iy4if1"; depends=[data_table gaston Rcpp RcppArmadillo]; };
   sns = derive2 { name="sns"; version="1.1.2"; sha256="132zd57xb2y0nshw4lakf49r2mvvkv7j32f7l7hqrh91mw7wyqpr"; depends=[coda mvtnorm numDeriv]; };
   sobolnp = derive2 { name="sobolnp"; version="0.1.0"; sha256="00rmigjyd3fsmhrhbvjzrfsl4ir0xpfr4xbgjws6vkx2rmcqnq1s"; depends=[minqa np pbmcapply]; };
   soc_ca = derive2 { name="soc.ca"; version="0.8.0"; sha256="16l0synym91b7djgzdcz43dnvw44fkyxky9gm37ixbxzq1czdp9w"; depends=[dplyr ellipse FactoMineR flextable forcats ggplot2 ggrepel gridExtra htmlTable magrittr Matrix purrr RColorBrewer reshape2 rlang shiny stringr tibble tidyr]; };
@@ -16628,9 +16817,9 @@ in with self; {
   sofa = derive2 { name="sofa"; version="0.4.0"; sha256="1w78f8pnx4vh6znpwwcy9k4j795zji4bv88mi6ihdv09ar7if7yv"; depends=[crul jsonlite mime R6]; };
   softImpute = derive2 { name="softImpute"; version="1.4-1"; sha256="1v2a4d688ij5zcvkzpra9yx40xckdfnllnfnyq2450zf3n1kjk7a"; depends=[Matrix]; };
   softclassval = derive2 { name="softclassval"; version="1.0-20160527"; sha256="1f5qj5sajy3dg0mgss6f9w6v5a2prcypld9jcv457bd4n4a409kr"; depends=[arrayhelpers svUnit]; };
-  soilDB = derive2 { name="soilDB"; version="2.6.10"; sha256="06lahzk27crks8knjg47zgsx5rafyj8xlj5pnqxjga4mfcpss58l"; depends=[aqp curl data_table DBI raster sp xml2]; };
-  soilassessment = derive2 { name="soilassessment"; version="0.2.1"; sha256="14hqwxpqb19g5r7abar40kprfilzxi24mg083gypvxzs48pb6gn8"; depends=[arm caret Cubist deSolve e1071 FuzzyAHP Hmisc kernlab maptools nnet qrnn quantregForest randomForest ranger raster rgdal rpart soiltexture sp]; };
-  soilhypfit = derive2 { name="soilhypfit"; version="0.1-4"; sha256="1wmgg5gw2b983p5hz8wknb4v9irgp09qybl3lj7zv3pq61jjh7ps"; depends=[mgcv nloptr quadprog Rmpfr snowfall SoilHyP]; };
+  soilDB = derive2 { name="soilDB"; version="2.6.13"; sha256="1g8bk4pwahhhj809py4k13vb3kbvw04iwy8f17gag2fhi8s58sp0"; depends=[aqp curl data_table DBI raster sp xml2]; };
+  soilassessment = derive2 { name="soilassessment"; version="0.2.3"; sha256="0fcjw6zl6cvk94hyhqqra6xpnrh8s7wr9va4yknlv5rf0km2vgd2"; depends=[arm caret Cubist deSolve e1071 FuzzyAHP googledrive Hmisc kernlab nnet png qrnn quantregForest randomForest ranger raster rgdal rpart soiltexture sp]; };
+  soilhypfit = derive2 { name="soilhypfit"; version="0.1-5"; sha256="07hk7p2gr8an1r295dyj1hpp23103x9qjpscrhlz917p5nr9ix4d"; depends=[mgcv nloptr quadprog Rmpfr snowfall SoilHyP]; };
   soilphysics = derive2 { name="soilphysics"; version="4.1"; sha256="1kq92vq45knfag49yvphpcjwp29g2hp0xayhdq8lr20sis7h1y72"; depends=[boot fields MASS shiny shinydashboard]; };
   soiltexture = derive2 { name="soiltexture"; version="1.5.1"; sha256="1l9npvk910488qzd45ibc7ss557hnkb78lx1p6fs3nhl8sacgyxh"; depends=[MASS sp]; };
   soilwater = derive2 { name="soilwater"; version="1.0.5"; sha256="11gal7hj73j82qx65krmzpmf0gpm41ph8hw70df46dbf4w23vvjn"; depends=[]; };
@@ -16641,7 +16830,7 @@ in with self; {
   solitude = derive2 { name="solitude"; version="1.1.3"; sha256="1cqbcm72fq13lp0lazfngdylcasck1ffrj16ggxlryzps1181rhy"; depends=[data_table future_apply igraph lgr R6 ranger]; };
   solrad = derive2 { name="solrad"; version="1.0.0"; sha256="13ybllvmig1yqsy4md4kazs83hxb9lrlwy64yw1wwr1w6sxpbnp6"; depends=[]; };
   solrium = derive2 { name="solrium"; version="1.2.0"; sha256="16x4gjk0x6m9yjq9sk3kwbw8qm7w16vmbnfy5xa9zikw96cl3iky"; depends=[crul dplyr jsonlite plyr R6 tibble xml2]; };
-  solvebio = derive2 { name="solvebio"; version="2.11.0"; sha256="00n9ziayjfb645m63nidbnk594y3acfah5rs34fma4gb8qb3cl4s"; depends=[dplyr httr jsonlite mime]; };
+  solvebio = derive2 { name="solvebio"; version="2.12.1"; sha256="0dl0sq5jx60qdhwbrzmcdvaznmxc3n2gkvg0hbcp21kl9wk6qplk"; depends=[dplyr httr jsonlite mime]; };
   som = derive2 { name="som"; version="0.3-5.1"; sha256="1fbza1jxvwrkf5x3inkj36vshhkn7mz0ajqlxalbfmk6ngjw1x56"; depends=[]; };
   som_nn = derive2 { name="som.nn"; version="1.1.0"; sha256="0mw2c2lqvdq9bhndpjyawjy43l4x7clcsx2350j45g7fnchhy602"; depends=[class hexbin kohonen som]; };
   soma = derive2 { name="soma"; version="1.1.1"; sha256="1mc1yr9sq9h2z60v40aqmil0xswj5hgxfdh4racq297qw3a97my4"; depends=[reportr]; };
@@ -16662,9 +16851,10 @@ in with self; {
   sortable = derive2 { name="sortable"; version="0.4.5"; sha256="1ibycrk9n5pcd6dqc02g52m6b9aanmsjnm0dgwb8l20x0hwnfzd3"; depends=[assertthat ellipsis htmltools htmlwidgets jsonlite learnr rlang shiny]; };
   sorvi = derive2 { name="sorvi"; version="0.7.26"; sha256="19lfrc4bdiljs437w3a2bpf7abnkv0934dh929bbj2w1w8rzghjn"; depends=[dplyr ggplot2 RColorBrewer reshape2]; };
   sos = derive2 { name="sos"; version="2.1-0"; sha256="14wbq7vkzn4bjx3zpg29vn1n6wz9117rn2lwxi9dj45kzccp7a94"; depends=[brew]; };
-  sotkanet = derive2 { name="sotkanet"; version="0.9.76"; sha256="1lha5nicfxpkfaayrswnpipbc08s9blbml65fr5iasvmxhfrfadz"; depends=[rjson]; };
+  sotkanet = derive2 { name="sotkanet"; version="0.9.79"; sha256="1d6g09rf7irk3d8hkm6ahp8zl6lj24jnipwvzr0njx2sqi3fwd4f"; depends=[curl httr jsonlite]; };
   sotu = derive2 { name="sotu"; version="1.0.2"; sha256="0aqwkawaydsm91hz13msjg1a5llg7xmv6hxmfmsaganrl7iaym3c"; depends=[]; };
   sound = derive2 { name="sound"; version="1.4.5"; sha256="1kbbb614d0fmj9l0yjiwf5yqnl7sby4xklp7qwp6rwjvq9bnm0ab"; depends=[]; };
+  soundClass = derive2 { name="soundClass"; version="0.0.9"; sha256="1bcjh07pwjg6jdhzjhn0v4mc96dyhyf31rlg2ngr77lwsrfzdnz0"; depends=[DBI dbplyr dplyr generics htmltools keras magrittr RSQLite seewave shiny shinyBS shinyFiles shinyjs signal tuneR zoo]; };
   soundcorrs = derive2 { name="soundcorrs"; version="0.4.0"; sha256="1azvsv3bghlab8q24wbb6xwd5a4cydx1cagvhk8h0h5ib9957zab"; depends=[]; };
   soundecology = derive2 { name="soundecology"; version="1.3.3"; sha256="16h6gbdlyav7wbfisdv1f2zsqhr45liidgj7qqk8giwjxgan8q97"; depends=[ineq oce pracma seewave tuneR vegan]; };
   soundgen = derive2 { name="soundgen"; version="2.5.0"; sha256="0shvrz37l65ka8yxqzynanz33wmiiagglnvgqy4ihs6x8yxx10qs"; depends=[doParallel dtw foreach mvtnorm phonTools reshape2 seewave shiny shinyBS shinyjs signal tuneR zoo]; };
@@ -16686,44 +16876,44 @@ in with self; {
   spMaps = derive2 { name="spMaps"; version="0.4.0"; sha256="0n9693aam7gsclfhijq7cy61l0w4mm5vf3rjaz5w0jrz77lrkprh"; depends=[raster rgeos sp]; };
   spNNGP = derive2 { name="spNNGP"; version="0.1.6"; sha256="12ys92r2xpmnhy6hw8sldcz0y28gnxpwnj6sm5jc1lfyz7k1ww6f"; depends=[coda Formula RANN]; };
   spNetwork = derive2 { name="spNetwork"; version="0.2.1"; sha256="0hmg68v5a7d1ixwj9nvh7kd948r7kspar6nd3yp02mgj495ps1z8"; depends=[BH cubature data_table future_apply ggplot2 igraph maptools progressr raster Rcpp RcppArmadillo RcppProgress Rdpack rgeos SearchTrees sp spdep]; };
-  spOccupancy = derive2 { name="spOccupancy"; version="0.2.0"; sha256="1sh8qzk0cqx0gwmvrx4zny58pg3il6wwnsyzgihj8n1fcdf5myp0"; depends=[abind coda doParallel foreach lme4 RANN spBayes]; };
+  spOccupancy = derive2 { name="spOccupancy"; version="0.2.1"; sha256="12fpi7ijk1qlhdq280r352aqlymmkis1nbfjbqqr9kkrl141zi56"; depends=[abind coda doParallel foreach lme4 RANN spBayes]; };
   spTDyn = derive2 { name="spTDyn"; version="2.0.1"; sha256="1wprn2adw4l5pkwkfzdpcr07jxgycx9kaf8w8mfv27nka5hacgqx"; depends=[coda sp spacetime spTimer]; };
   spThin = derive2 { name="spThin"; version="0.2.0"; sha256="0j10j1cbbwp3baqm3b59rxlnd643mkx1mirlxpnr1ad2g7xpm69f"; depends=[fields knitr spam]; };
   spTimer = derive2 { name="spTimer"; version="3.3.1"; sha256="0lf39n32ifsmbcf35h0g60xniw72mlrzvzax3k6kz5c5k1wszlba"; depends=[coda extraDistr sp spacetime]; };
-  spaMM = derive2 { name="spaMM"; version="3.9.25"; sha256="01a05f3wbgi0x6ybdym1g673vnqgkb1r1ldk17wwdj58yz5sdq06"; depends=[boot crayon gmp MASS Matrix minqa nlme nloptr pbapply proxy Rcpp RcppEigen ROI]; };
+  spaMM = derive2 { name="spaMM"; version="3.10.0"; sha256="0wlavsaf2k3qxj2n4c9c2y9x110i43yqn4140qk9d0vx397yfvsd"; depends=[boot crayon gmp MASS Matrix minqa nlme nloptr pbapply proxy Rcpp RcppEigen ROI]; };
   spaa = derive2 { name="spaa"; version="0.2.2"; sha256="163iipz1knxx1lzby9a3n1f014yqkf25z1wpwwy4gbx7sia499d5"; depends=[]; };
   space = derive2 { name="space"; version="0.1-1.1"; sha256="09dpksbda4lg5hax47a9h9shjmggza6583slvdj0fldblykpyxck"; depends=[]; };
   spaceNet = derive2 { name="spaceNet"; version="1.2"; sha256="1s2672icxs0qvdhl52xhllgvh1i9mjfrn5j3icyw6h61ljbnhy11"; depends=[MASS mclust permute RcppTN Rfast sna vegan]; };
   spacefillr = derive2 { name="spacefillr"; version="0.2.0"; sha256="1gqwz5j26z7ar3syzgj734mxi77m6mj0jrij32grcls79m8iy329"; depends=[Rcpp]; };
-  spacejamr = derive2 { name="spacejamr"; version="0.1.1"; sha256="11mqbzs5px2fcksrf1wbb3vbrcarps45mhdi1i4b1x5fn6xvw60v"; depends=[crsuggest dplyr ggplot2 ggraph ggthemes igraph magrittr sf spatstat_core spatstat_geom]; };
+  spacejamr = derive2 { name="spacejamr"; version="0.2"; sha256="1hyf4wmwfjlw3qh3rw3wq94slybrpm2zmmcfgy7gqcycmfddrg8w"; depends=[crsuggest dplyr ggplot2 ggraph ggthemes igraph magrittr sf spatstat_geom spatstat_random]; };
   spacesRGB = derive2 { name="spacesRGB"; version="1.4-0"; sha256="1py93g7wglszcrkm09y0am2iia972q0jbgwb2wmickw3xsgip8p5"; depends=[]; };
   spacesXYZ = derive2 { name="spacesXYZ"; version="1.1-1"; sha256="1jxwhpnfbqa2nz86l8sdxxj3qmasw1wmbii7wr8sqp2819jr5lnd"; depends=[]; };
-  spacetime = derive2 { name="spacetime"; version="1.2-5"; sha256="0ii7nwpqi8nq46d7yk5gl7hhnr76f6r6lva7n0pr02kqhqwcqalg"; depends=[intervals lattice sp xts zoo]; };
+  spacetime = derive2 { name="spacetime"; version="1.2-6"; sha256="10fxs37bky52wr3ba4vzwy7nxych9004139n377gz2cmxl36dm4g"; depends=[intervals lattice sp xts zoo]; };
   spacey = derive2 { name="spacey"; version="0.1.1"; sha256="1p8kx3d08q9kz1wb286m3d8ckwkhfm5n42m65m4w5gz5kpfx0xfz"; depends=[httr jsonlite magrittr png raster rayshader rgdal]; };
   spacyr = derive2 { name="spacyr"; version="1.2.1"; sha256="1b2ccgwsiqkvp7w37x8k7699c676q16vfrybkrfvyczyhki4s6nw"; depends=[data_table reticulate]; };
   spaero = derive2 { name="spaero"; version="0.6.0"; sha256="0xigwi6w21y2fwicml0s2gylwnwp2qvrqskr0v8rd3bn01hg9ja3"; depends=[]; };
   spagmix = derive2 { name="spagmix"; version="0.3-4"; sha256="032dmz8cx4j5vl229gi1xkncc1wggfrf1a24qqwl2bzxrdfp27rw"; depends=[abind mvtnorm RandomFields sparr spatstat spatstat_core spatstat_geom spatstat_linnet]; };
-  spam = derive2 { name="spam"; version="2.7-0"; sha256="03c50wfyrzcmrcv9mkgj8dmdg2cwkh4p4ys8gaclr8w7ym45qav3"; depends=[dotCall64]; };
-  spam64 = derive2 { name="spam64"; version="2.7-0"; sha256="0rl74hp4jnahk7fcz39d9q1ccg05ifk2wfahz537nd2jh14mzws7"; depends=[]; };
+  spam = derive2 { name="spam"; version="2.8-0"; sha256="1ann2a2ifr3z983fcg1c0pkgmbxz6a0ym5q1dmq1r382bd1pg0fr"; depends=[dotCall64]; };
+  spam64 = derive2 { name="spam64"; version="2.8-0"; sha256="105h8j1ps2g79csbhwfchfdfxhqbbs793pxk3hqln57p6nap74i6"; depends=[]; };
   spamtree = derive2 { name="spamtree"; version="0.2.2"; sha256="1z1dyv6cvcdilqyfpzgl3zr0jmzjn2sznrvypvxx7c8i6qfq8nd0"; depends=[dplyr FNN magrittr Rcpp RcppArmadillo rlang tibble]; };
   spanel = derive2 { name="spanel"; version="0.1"; sha256="1riyvvfij277mclgik41gyi01qv0k466wyk2wbqqhlvrlj79yzsc"; depends=[]; };
   spanish = derive2 { name="spanish"; version="0.4.2"; sha256="15drc11lh0qxpww50p0smi8qxfbln82bx0yd74jqf71irhk5jxyp"; depends=[magrittr xml2]; };
-  spant = derive2 { name="spant"; version="1.16.0"; sha256="07l5wzwjjgwdyl7cc988icv0z96108lz0f092jgsbvv75ml6nnlh"; depends=[abind expm fields foreach irlba jsonlite magrittr minpack_lm mmand nloptr numDeriv plyr pracma ptw RNifti RNiftyReg signal smoother stringr]; };
+  spant = derive2 { name="spant"; version="1.17.0"; sha256="0bsjxb72w7wpprxsnv6ylac54pg315ih35ww5z8mjmbpl2ilqmck"; depends=[abind expm fields foreach irlba jsonlite magrittr minpack_lm mmand nloptr numDeriv plyr pracma ptw RNifti RNiftyReg signal smoother stringr]; };
   sparcl = derive2 { name="sparcl"; version="1.0.4"; sha256="138krflvfdlx4hlh90mswds51i8aw2vv00gm5lgkfsvxj4w324jg"; depends=[]; };
   spark_sas7bdat = derive2 { name="spark.sas7bdat"; version="1.4"; sha256="1s1hd6hvjxnfb3w10v93pggijmm2h4rcsf7ckl34j2sw9bvv7zka"; depends=[sparklyr]; };
   sparkavro = derive2 { name="sparkavro"; version="0.3.0"; sha256="0g6ac9msfbx8f8j8rj0hvlxjsn317zyam207q7i8kf0hshs1r58f"; depends=[DBI dplyr sparklyr]; };
   sparkbq = derive2 { name="sparkbq"; version="0.1.1"; sha256="0gccm8q5a45k9zm8f90r7fhcmriq8d038p022k7cikbr6rqsrmyh"; depends=[sparklyr]; };
   sparkhail = derive2 { name="sparkhail"; version="0.1.1"; sha256="1a9p9i7fs6l9rx5ha6akjjl7qhfak01xsjg28ysv0imikmwp6hy7"; depends=[dplyr sparklyr sparklyr_nested]; };
   sparkline = derive2 { name="sparkline"; version="2.0"; sha256="0lrr1lm7603di7x3mf53cp13d9ssjh9gmb43wa6z9yqapis2djm2"; depends=[htmltools htmlwidgets]; };
-  sparklyr = derive2 { name="sparklyr"; version="1.7.3"; sha256="1rdzlpr4x8gikm8vmb0jdmgvh99wkxd4b8cm40a2bnrbgqxappfq"; depends=[assertthat base64enc blob config DBI dbplyr digest dplyr ellipsis forge generics globals glue httr jsonlite lifecycle openssl purrr r2d3 rappdirs rlang rprojroot rstudioapi stringr tibble tidyr tidyselect uuid vctrs withr xml2]; };
-  sparklyr_flint = derive2 { name="sparklyr.flint"; version="0.2.1"; sha256="03dm75nyspnkqhnfmj0w6gliw1b4sfb17mmq5mmzd4a54fbf766j"; depends=[dbplyr dplyr rlang sparklyr]; };
+  sparklyr = derive2 { name="sparklyr"; version="1.7.5"; sha256="1iwwvj2cmw7xqx47acznn5k7h6yg6i1v97kglpsngcdkl9x56a1f"; depends=[assertthat base64enc blob config DBI dbplyr digest dplyr ellipsis forge generics globals glue httr jsonlite lifecycle openssl purrr r2d3 rappdirs rlang rprojroot rstudioapi stringr tibble tidyr tidyselect uuid vctrs withr xml2]; };
+  sparklyr_flint = derive2 { name="sparklyr.flint"; version="0.2.2"; sha256="0sszblvgxi8l8wlic5nrnm4pc9m0byyvayrja2476vnz0pqliv69"; depends=[dbplyr dplyr rlang sparklyr]; };
   sparklyr_nested = derive2 { name="sparklyr.nested"; version="0.0.3"; sha256="0lva7fbjp253kxq3970h52cr8s52xycbi03d5shsyna8grhkbczj"; depends=[dplyr jsonlite listviewer purrr rlang sparklyr]; };
   sparktex = derive2 { name="sparktex"; version="0.1"; sha256="0r6jnn9fj166pdhnjbsaqmfmnkq0qr1cjprihlnln9jad05mrkjx"; depends=[]; };
   sparktf = derive2 { name="sparktf"; version="0.1.0"; sha256="0jd018n7553q0ldv6whxbj2s38myig0m8zq4fbp8fsv34q5wnsx4"; depends=[sparklyr]; };
-  sparkwarc = derive2 { name="sparkwarc"; version="0.1.5"; sha256="033clhl3pknjc7yzwa67l2l24sb2n61amc60zbvk2vc61yszl66f"; depends=[DBI Rcpp sparklyr]; };
+  sparkwarc = derive2 { name="sparkwarc"; version="0.1.6"; sha256="0nzw6lgjrgqd1hj46jd52s8s3vdb7q2nc500jlgd0ydrr12zd123"; depends=[DBI Rcpp sparklyr]; };
   sparkxgb = derive2 { name="sparkxgb"; version="0.1.1"; sha256="1h7jk76v9wfm8qzqy6lhsmsp767wydwba9xyqszndl88295iac1j"; depends=[forge sparklyr]; };
   sparr = derive2 { name="sparr"; version="2.2-15"; sha256="0c0vr4js6rcbyk85sld28m130d5zdymncpipzpkpzis3ismnlgp4"; depends=[doParallel foreach misc3d spatstat spatstat_core spatstat_geom spatstat_utils]; };
-  sparrpowR = derive2 { name="sparrpowR"; version="0.2.4"; sha256="1mhsnknknlfh2ixz3wsjmqkn7km02j8ipg80xvpmnjmz1221sv1n"; depends=[doFuture doRNG fields foreach future iterators lifecycle raster sp sparr spatstat spatstat_core spatstat_geom spatstat_linnet]; };
+  sparrpowR = derive2 { name="sparrpowR"; version="0.2.5"; sha256="187571srw0yhvqdgfpa374zmlaxhjmj9xlnh9gm2v4j46pfvrs5n"; depends=[doFuture doRNG fields foreach future iterators lifecycle raster sp sparr spatstat_geom spatstat_random]; };
   sparseBC = derive2 { name="sparseBC"; version="1.2"; sha256="0a1siyi9kc805qji4alnw3c21spf4iw4wpsbfl50zvs52p8vl8w2"; depends=[fields glasso]; };
   sparseEigen = derive2 { name="sparseEigen"; version="0.1.0"; sha256="0vqcy61rarmp3liz8fr3vs3y40hkb3wfw89b5xsj1byaiap4772s"; depends=[]; };
   sparseFLMM = derive2 { name="sparseFLMM"; version="0.4.1"; sha256="174lnhqig7m6fjfsj114ld059z9mjih3jzm5cq8iscxnhr9m11lr"; depends=[data_table MASS Matrix mgcv refund]; };
@@ -16750,18 +16940,19 @@ in with self; {
   sparsevar = derive2 { name="sparsevar"; version="0.1.0"; sha256="1kcy6bm04mccky529nryy5l001bv71hx304ysiabl4myakw0rwy7"; depends=[corpcor doParallel ggplot2 glmnet Matrix mvtnorm ncvreg picasso reshape2]; };
   sparsevb = derive2 { name="sparsevb"; version="0.1.0"; sha256="1cigq8hwymrrkiy3iyrxsjjbj228ahrd7mq9lqar4jlb925jzqx4"; depends=[glmnet Rcpp RcppArmadillo RcppEnsmallen selectiveInference]; };
   sparsio = derive2 { name="sparsio"; version="1.0.1"; sha256="181kzs9x3h497c7shfalbzrjz05bkj7mmjh9nyphxyi2jjrr6y1q"; depends=[Matrix Rcpp]; };
-  sparta = derive2 { name="sparta"; version="0.8.2"; sha256="0gvpa0vikkn51jih4ji569f04dhxrblir761i6xp6r0dh7mifi9i"; depends=[Rcpp RcppArmadillo]; };
+  sparta = derive2 { name="sparta"; version="0.8.3"; sha256="0p5a7h278f7lfikp7rayjzjngich3zi8dhn4an5qkkz1jbl2wic6"; depends=[Rcpp RcppArmadillo]; };
   spass = derive2 { name="spass"; version="1.3"; sha256="1c148z0i3d185hnf54xmgppjrblv3b2s3sm0lmj78gvav04mj5s4"; depends=[geepack MASS multcomp mvtnorm Rcpp]; };
-  spatPomp = derive2 { name="spatPomp"; version="0.28.0.0"; sha256="0yql6llgclynd2nv1y4sm1a6lsc87003bqbq9skh3lgvdgbg5qsr"; depends=[abind dplyr foreach ggplot2 magrittr pomp rlang stringr tidyr]; };
+  spatPomp = derive2 { name="spatPomp"; version="0.29.0.0"; sha256="1d3k5m2rlpn1hgpjxb9qx4hz3bl96ch8hmc06lj9jd6awdspdvf5"; depends=[abind dplyr foreach magrittr pomp rlang stringr tidyr]; };
   spatgraphs = derive2 { name="spatgraphs"; version="3.2-2"; sha256="09bbcqgmbg6a65mnxivr4pghsanj22x1j0l4hq8bzpwgbas7byhy"; depends=[Matrix Rcpp]; };
   spathial = derive2 { name="spathial"; version="0.1.2"; sha256="1vwzcwpmx8kwv821vjf940qd5am3k0shf1s14jva71mgxs70ddmb"; depends=[class igraph irlba knitr MASS matrixStats pracma rmarkdown Rtsne]; };
-  spatial = derive2 { name="spatial"; version="7.3-14"; sha256="0dlafq744mahxpb13llmsrg54fzww8ld1nbxmr7m851gff11kk2j"; depends=[]; };
+  spatial = derive2 { name="spatial"; version="7.3-15"; sha256="1vwc7ingskdj1k4nq418x9yl3cw699pckb9xh5a1yp3g9plknqg5"; depends=[]; };
   spatialCovariance = derive2 { name="spatialCovariance"; version="0.6-9"; sha256="1m86s9a059spp97y37dcirrgjshcqzpdj11cq92vji624w4nrhlb"; depends=[]; };
   spatialEco = derive2 { name="spatialEco"; version="1.3-7"; sha256="0yhv4amqwbmcx6anzyrsmlrk25ishdlwyigyw9snd9d2v5k88s1q"; depends=[MASS raster rgeos sf sp spatstat_core spatstat_geom spdep]; };
   spatialRF = derive2 { name="spatialRF"; version="1.1.3"; sha256="1ganbsp7krazl90mdlq23g227ixmxpk4yzxl47rayd431vg6fys1"; depends=[doParallel dplyr foreach ggplot2 huxtable magrittr patchwork ranger rlang tibble tidyr tidyselect viridis]; };
   spatialTIME = derive2 { name="spatialTIME"; version="1.2.0"; sha256="0pmpk2kfh53gfzw33ncr1pjzyh7zprkdwgxqgajvd8y2wb90a462"; depends=[crayon dplyr furrr future ggplot2 ggpubr magrittr pheatmap plyr purrr RColorBrewer rlang rlist scales spatstat_core spatstat_geom tidyr tidyselect viridis]; };
+  spatialfusion = derive2 { name="spatialfusion"; version="0.6-5"; sha256="0hbnnd40z9f2cmgc339v5gq5bqildzn79p24l8rbfbh676a5jfmq"; depends=[fields Rcpp rstan sp]; };
   spatialnbda = derive2 { name="spatialnbda"; version="1.0"; sha256="14mx5jybymasyia752f3vnr5vmswcavbz8bpqr69vlxphw27qkwk"; depends=[mvtnorm SocialNetworks]; };
-  spatialprobit = derive2 { name="spatialprobit"; version="0.9-11"; sha256="1cpxxylc0pm7h9m83m2cklrh4jni5x79r5m5gibxi6viahwxn9kc"; depends=[Matrix mvtnorm spdep tmvtnorm]; };
+  spatialprobit = derive2 { name="spatialprobit"; version="1.0"; sha256="1g65c081xmhfp45lidn57xwryk4pmzzixs3b2qzixzg4knks74dy"; depends=[Matrix mvtnorm spatialreg spdep tmvtnorm]; };
   spatialreg = derive2 { name="spatialreg"; version="1.2-1"; sha256="10d0gd21s84r7d5i1h62zavb40ws9c6vikrk8qjii25a66rvch2c"; depends=[boot coda expm gmodels LearnBayes MASS Matrix nlme sf spData spdep]; };
   spatialrisk = derive2 { name="spatialrisk"; version="0.7.0"; sha256="0mqi8jrz1msk2aaza67vfp9s21f372mhvbivwxy56fxrl7vp975v"; depends=[classInt colourvalues data_table dplyr fs GenSA geohashTools ggplot2 leafem leafgl leaflet lubridate Rcpp RcppProgress sf tmap units viridis]; };
   spatialsample = derive2 { name="spatialsample"; version="0.1.0"; sha256="0w57pl09pamx8mmrwyj2hixxqp9cf0xg06gvsrrg4abjbkj0i1pr"; depends=[dplyr purrr rlang rsample tibble tidyselect vctrs]; };
@@ -16776,6 +16967,7 @@ in with self; {
   spatstat_gui = derive2 { name="spatstat.gui"; version="2.0-0"; sha256="0v26pmi6ir38hsfhkmkz7njf8b12y8dgacqz54vy9giq73k71j14"; depends=[rpanel spatstat_core spatstat_data spatstat_geom spatstat_linnet spatstat_utils]; };
   spatstat_linnet = derive2 { name="spatstat.linnet"; version="2.3-1"; sha256="1hrqa2i6mp7d79jw4h56b8hk9590959s79vh9xcsj6k5vbisd6qi"; depends=[Matrix spatstat_core spatstat_data spatstat_geom spatstat_sparse spatstat_utils]; };
   spatstat_local = derive2 { name="spatstat.local"; version="4.1-1"; sha256="185ypf91d5faybm6ixiz419wsip2swsg3vsbbw3z4w1kqrj7m884"; depends=[spatstat_core spatstat_data spatstat_geom spatstat_sparse spatstat_utils tensor]; };
+  spatstat_random = derive2 { name="spatstat.random"; version="2.0-0"; sha256="0r22hm1rlk61nhhh4w3rbrbpzzirigb9v212hps1m2cibx1f816b"; depends=[spatstat_data spatstat_geom spatstat_sparse spatstat_utils]; };
   spatstat_sparse = derive2 { name="spatstat.sparse"; version="2.1-0"; sha256="148fxbxss569w73xaqpzwpz9rfjdgznh2ngf06gvm33631222680"; depends=[abind Matrix spatstat_utils tensor]; };
   spatstat_utils = derive2 { name="spatstat.utils"; version="2.3-0"; sha256="06nvn2ffyrskhzaavsy6lmdp0m8askkrp1fnwrhjsj01lbjnq2az"; depends=[]; };
   spatsurv = derive2 { name="spatsurv"; version="1.6"; sha256="02bq3hvvjfxndskd5yrchq0r9dv7mxplzq3pvs3jrsd35sfcns3w"; depends=[fields iterators lubridate Matrix RandomFields raster RColorBrewer rgeos sp spatstat spatstat_core spatstat_geom stringr survival]; };
@@ -16787,11 +16979,11 @@ in with self; {
   spcov = derive2 { name="spcov"; version="1.01"; sha256="1brmy64wbk56bwz9va7mc86a0ajbfy09qpjafyq2jv7gm7a35ph5"; depends=[]; };
   spcr = derive2 { name="spcr"; version="2.1"; sha256="08lpcj49sj0bc2vz54wigdb9dqn182c11q31n3sdkc41spgk0s7a"; depends=[]; };
   spd = derive2 { name="spd"; version="2.0-1"; sha256="00zxh4ri47b61jkcjf5idl9hhlfld6rhczsnhmjsax59884f2i8m"; depends=[KernSmooth]; };
-  spdep = derive2 { name="spdep"; version="1.1-13"; sha256="0yyrjp1ngi9699475dr5137xi208q7h15rx0n2120y25d2k4r787"; depends=[boot coda deldir e1071 expm gmodels LearnBayes MASS Matrix nlme s2 sf sp spData units]; };
+  spdep = derive2 { name="spdep"; version="1.2-2"; sha256="08sya6vy7s87h337g2fanncw6xx9y9z8nxpqalbdxv9vpsc6zx4l"; depends=[boot deldir e1071 s2 sf sp spData units]; };
   spdownscale = derive2 { name="spdownscale"; version="0.1.0"; sha256="0pl560km9629iwy13h7359ab7ixzs09hg986kvk0xbnc348srb86"; depends=[]; };
   spdplyr = derive2 { name="spdplyr"; version="0.4.0"; sha256="0lijp78wgrky103137vfk3k4s051qppd6jq6s065k9i7y1azbpc1"; depends=[dplyr rlang sp spbabel tibble]; };
   spduration = derive2 { name="spduration"; version="0.17.1"; sha256="1hsz4hcw85f1rj2pd8ppzsd1r8fh4yf6axc11yf2hd287ghzzxzy"; depends=[corpcor forecast MASS plyr Rcpp RcppArmadillo separationplot xtable]; };
-  spdynmod = derive2 { name="spdynmod"; version="1.1.5"; sha256="1qxpvjqvfcjsy3z0naz438aa95v2d3imdfxj20vfb2zwpv9l3215"; depends=[animation deSolve raster sp]; };
+  spdynmod = derive2 { name="spdynmod"; version="1.1.6"; sha256="1zbh1p3lmil4vsrw7q6af3p5xqvhw2k9hx59kbzabnzj4gy8wjk3"; depends=[animation deSolve raster sp]; };
   spe = derive2 { name="spe"; version="1.1.2"; sha256="0xyx42n3gcsgqmy80nc9la6p6gq07anpzx0afwffyx9fv20fvys0"; depends=[]; };
   speakr = derive2 { name="speakr"; version="3.2.0"; sha256="12m7f4m0jglnbv7i9ackmymh7jc90vjg6yr6ns08b8qcqmzmf9if"; depends=[ggplot2 lifecycle readr stringr tibble]; };
   speaq = derive2 { name="speaq"; version="2.6.1"; sha256="15v7lr2mczqc5ma2n9gyszfkyljnsds6c8lc5vy0qkvwfl01sv3v"; depends=[cluster data_table doSNOW foreach ggplot2 gridExtra impute MassSpecWavelet missForest mQTL reshape2 Rfast rvest xml2]; };
@@ -16805,6 +16997,7 @@ in with self; {
   specs = derive2 { name="specs"; version="0.1.1"; sha256="0x5s7aikj5x1dgxygizh2mcni74hy6dm7084h1pqqbh5ans00c6n"; depends=[Rcpp RcppArmadillo]; };
   spectacles = derive2 { name="spectacles"; version="0.5-3"; sha256="0fwj4407dwpvbjhjqwfxb455698ifyramwyddw4jrzgaf11vc4ii"; depends=[baseline epiR ggplot2 plyr reshape2 signal stringr]; };
   spectator = derive2 { name="spectator"; version="0.1.0"; sha256="1s18yzqmh67c3xdsi2vw9fl8p3nkgdf5xfkkf0f8ljqvhn19v3rm"; depends=[geojsonsf httr sf]; };
+  spectr = derive2 { name="spectr"; version="1.0.1"; sha256="1jbadg9n42qrbw1v6hqrdp5pzy2nn1kvqi4xscxdxvc6c33i7zr4"; depends=[data_table foreach lomb]; };
   spectral = derive2 { name="spectral"; version="2.0"; sha256="116gn41nvlw7jmr6qx9pl8hckg2pzgzx49kql52j5xqf39sgyx9p"; depends=[lattice pbapply rasterImage RhpcBLASctl]; };
   spectralAnalysis = derive2 { name="spectralAnalysis"; version="3.12.0"; sha256="0mz01hx86qi65k6vzz9k1j9q7gi10dh14cqvrlfy93f3kmi52q0x"; depends=[baseline BiocGenerics data_table ggplot2 hNMF jsonlite magrittr NMF nnls plotly plyr RColorBrewer signal viridis]; };
   spectralGP = derive2 { name="spectralGP"; version="1.3.3"; sha256="1jf09nsil4r90vdj7n1k6ma9dzzx3bwv0fa7svil9pxrd2zlbkbs"; depends=[]; };
@@ -16824,29 +17017,28 @@ in with self; {
   sperrorest = derive2 { name="sperrorest"; version="3.0.4"; sha256="169bv07vwlbn2ihw0f8hx10qrfdww9lqb2j8wgrkh1xnkskz13hv"; depends=[dplyr future future_apply ROCR stringr]; };
   spex = derive2 { name="spex"; version="0.7.1"; sha256="0lsmh1sywd4si0v10aix44hybwph3gan8w8cxz956dcgkz60p41v"; depends=[crsmeta quadmesh raster reproj sp]; };
   spfda = derive2 { name="spfda"; version="0.9.0"; sha256="156vs1f75x0wbf65fwzkhlbda649sryf58xixi7gbfjzn873w111"; depends=[mathjaxr]; };
+  spfilteR = derive2 { name="spfilteR"; version="1.1.2"; sha256="13dcw8apkcs13h4d0kkxgv8fnrsj1d5gfkcjjw1spqbq5pjaqvgv"; depends=[]; };
   spflow = derive2 { name="spflow"; version="0.1.0"; sha256="0a5nirccwcc2z4dn3gxdlhdjz7sxv1r23clawy0kwn4ggdkmphp1"; depends=[coda Matrix Rdpack RSpectra]; };
-  spfrontier = derive2 { name="spfrontier"; version="0.2.5"; sha256="1vnvwcjbhvbmyn5rp4760amzy8k3y156q629fjymw9rw6zy45pbf"; depends=[ezsim moments mvtnorm numDeriv optimx spdep tmvtnorm]; };
   spftir = derive2 { name="spftir"; version="0.1.0"; sha256="07vw8igy698jx671cj6hmf6ll9xvaq81fb6la7j95pqbd6jl284z"; depends=[pracma]; };
   spgrass6 = derive2 { name="spgrass6"; version="0.8-9"; sha256="05xvdhisad0d7c69mvahzg6pvgvmb6dph50r34981palykic7qhn"; depends=[sp XML]; };
   spgs = derive2 { name="spgs"; version="1.0-3"; sha256="0a7zqih8q4imi49in8d2j9wa82savp7d2g4xy4wlwblwf6f2ggsh"; depends=[]; };
   spgwr = derive2 { name="spgwr"; version="0.6-34"; sha256="1zmd7zp1h98y0xnxacym29b8kcp79yrsss1c49b5rfnml9ksdaqx"; depends=[sp spData]; };
   spherepc = derive2 { name="spherepc"; version="0.1.7"; sha256="0y05ylyxzawgjlivaxs513mfjjfmw6fm98b83sq76n8yw56pr9ny"; depends=[geosphere rgl sphereplot]; };
   sphereplot = derive2 { name="sphereplot"; version="1.5"; sha256="1i1p20h95cgw5wqp9bwfs9nygm4dxzsggz08ncjs1xrsvhhq9air"; depends=[rgl]; };
-  sphet = derive2 { name="sphet"; version="1.7"; sha256="0savvqz3v5awsr7kcghg6yzkqdpm01kwp7jrg9ajfb3146gg8mlq"; depends=[Matrix nlme sp spdep]; };
+  sphet = derive2 { name="sphet"; version="2.0"; sha256="1qr4n4kbmc58qmr8niqq3mnwv18x9q2f24c1kg67asf7n3pnmy77"; depends=[coda Matrix mvtnorm nlme sf sp spatialreg spData spdep stringr]; };
   sphunif = derive2 { name="sphunif"; version="1.0.1"; sha256="0846k5jcnkxgkz3jz1ip06ni1981z658sswjqr46hiy35jrk6z53"; depends=[doFuture foreach future gsl Rcpp RcppArmadillo rotasym]; };
   spiR = derive2 { name="spiR"; version="0.2.1"; sha256="0v3304d0ar6344377m6zd4p6f9m8ibq37i5ys4lnxnw41lhjx1x2"; depends=[dplyr ggplot2 ggsci gsheet lubridate readr reshape2]; };
   spidR = derive2 { name="spidR"; version="1.0.2"; sha256="09n0fz9iqc3n4c72h9hyc0ybzaqzy4l1rypvaig5kl98kx5nng1i"; depends=[httr jsonlite rgbif rworldmap rworldxtra]; };
   spider = derive2 { name="spider"; version="1.5.0"; sha256="1y034v42jxjl3vj87iz5kaizq7fwppmn56z7yyvrrmk5ps4nqr1j"; depends=[ape pegas]; };
   spiderbar = derive2 { name="spiderbar"; version="0.2.4"; sha256="0lk080s3xksrskc48nckpml74gvs6n7jjr4jgm15jhwp0izjs5y7"; depends=[Rcpp]; };
-  spiders = derive2 { name="spiders"; version="1.2"; sha256="1qklm178bgkgpvrjf024jphsdh9can8300sf0702l4h0rk2daqbq"; depends=[plyr]; };
   spikeSlabGAM = derive2 { name="spikeSlabGAM"; version="1.1-15"; sha256="1kg1vqx9zvn8jqh8ygjifpyd00npqz3ljbs7r3zgh28bclhfywai"; depends=[akima cluster coda ggplot2 gridExtra MASS MCMCpack mvtnorm R2WinBUGS reshape scales]; };
   spikes = derive2 { name="spikes"; version="1.1"; sha256="080sna0sgii61kai5sirs6cijnvk1012djwfw705di9y2lvk1hqk"; depends=[emdbook]; };
   spikeslab = derive2 { name="spikeslab"; version="1.1.5"; sha256="0dzkipbrpwki6fyk4hqlql3yhadwmclgbrx00bxahrmlaz1vjzh2"; depends=[lars randomForest]; };
   spinBayes = derive2 { name="spinBayes"; version="0.1.0"; sha256="1qgqxxk4n17wj3q07irm2qj6lwc5188iwwbdkf588hvfy86lwpj8"; depends=[glmnet MASS Rcpp RcppArmadillo]; };
   spind = derive2 { name="spind"; version="2.2.1"; sha256="1yasqy086h4dv348krisc024mic0dvdsncqys95l85924djlfipp"; depends=[gee geepack ggplot2 lattice MASS RColorBrewer rje rlang splancs stringr waveslim]; };
-  spinifex = derive2 { name="spinifex"; version="0.3.2"; sha256="1xw70g84jj093rq2vm0wvqbi80q5x7icmkbydcsj7m0h5kfnk5qq"; depends=[gganimate ggplot2 magrittr plotly Rdimtools shiny tourr transformr]; };
+  spinifex = derive2 { name="spinifex"; version="0.3.3"; sha256="15k09aih714cg635w39jk1jz4hnyqw2kics2pnhdywmxci23c74c"; depends=[gganimate ggplot2 magrittr plotly Rdimtools shiny tourr transformr]; };
   spinyReg = derive2 { name="spinyReg"; version="0.1-0"; sha256="0kbg7rncrrl5xdsaw9vj909x97mfp77mjnvghczplmnwmmanyn72"; depends=[]; };
-  spiralize = derive2 { name="spiralize"; version="1.0.3"; sha256="11357jgvzxrn02pa1b79k85x4mizkqa49ghps4s2g7f2w9hxdx18"; depends=[circlize GetoptLong GlobalOptions lubridate]; };
+  spiralize = derive2 { name="spiralize"; version="1.0.5"; sha256="0m0809b34l8mp0czpcq144hw5p10g35lsb8z7l8ls2kclb8xjcs8"; depends=[circlize GetoptLong GlobalOptions lubridate]; };
   spiritR = derive2 { name="spiritR"; version="0.1.1"; sha256="1fjr63rl9hwqxzgm4lkb9v74cxxpi4lrlcgjixdm7zgccm8ihdvh"; depends=[httr magrittr xml2]; };
   splancs = derive2 { name="splancs"; version="2.01-42"; sha256="1aph5rns5kzad1vc6y7khs3y8ysf51fgssmskmi0pqi18mvg82lc"; depends=[sp]; };
   splash = derive2 { name="splash"; version="1.0.1"; sha256="0f5ap8gi1nqxq8qbi3dz52hlizln1wxfrx5k06bagvxh8za8a08v"; depends=[]; };
@@ -16855,14 +17047,14 @@ in with self; {
   splinetree = derive2 { name="splinetree"; version="0.2.0"; sha256="0gqb3kwca42crrx6fj42ryl5pkxvankhp1chdlvi5lgg8mzmqsnl"; depends=[ggplot2 mclust mosaic nlme rpart treeClust]; };
   splitFeas = derive2 { name="splitFeas"; version="0.1.0"; sha256="1cfiis32h5kkp8r1mndmj4xss9gw96vdzk7q68q3jhbwqiaxp9rp"; depends=[corpcor matrixStats]; };
   splitSelect = derive2 { name="splitSelect"; version="1.0.3"; sha256="03gziy1hhm35hw8q2w9w6d4x2zci5q2wds0mkzihvfm0wkshi4fw"; depends=[doParallel foreach glmnet multicool]; };
-  splitTools = derive2 { name="splitTools"; version="0.3.1"; sha256="015vk8awxfc3zmcm3h51b6fy7si31g8w7mg4ig5fvpgsnm97h7rw"; depends=[]; };
+  splitTools = derive2 { name="splitTools"; version="0.3.2"; sha256="1m1q3klzahlf85s24pklk21pp2hhwlf96fkfyxc3z4ij4lcqhqsx"; depends=[]; };
   splitfngr = derive2 { name="splitfngr"; version="0.1.2"; sha256="0cf9y68m72j890a732m0n784nr12ydljr6s8i80f0in6q8lmw8ls"; depends=[lbfgs]; };
   splithalf = derive2 { name="splithalf"; version="0.7.2"; sha256="1b66dssjjs3j7wvjx12ql1iavfllh366cb5kbf5scxg882zjdi0l"; depends=[dplyr ggplot2 patchwork plyr Rcpp robustbase tidyr]; };
   splithalfr = derive2 { name="splithalfr"; version="2.2.0"; sha256="1c3q7x4fipsym0gz22kgl75r594hylbcci3a76q3yp0zazjmxxhx"; depends=[bcaboot dplyr psych rlang tibble]; };
   splitstackshape = derive2 { name="splitstackshape"; version="1.4.8"; sha256="0mpyf2kkfdl69pdc6brl1r6101vyc6pgr7z17s55ppg3y71k4q35"; depends=[data_table]; };
-  splm = derive2 { name="splm"; version="1.4-11"; sha256="15app94mxs6xlmqqhpa0q041skc4n4l2wfi6pmmhwinrgcqgncln"; depends=[bdsmatrix ibdreg MASS Matrix maxLik nlme plm spam spdep]; };
+  splm = derive2 { name="splm"; version="1.5-3"; sha256="1jgwv1j0x3gj14m1g9z1cl4xf230fmysf27b6jyjdraz5vqml2cb"; depends=[bdsmatrix ibdreg MASS Matrix maxLik nlme plm spam spatialreg spdep]; };
   splmm = derive2 { name="splmm"; version="1.1.3"; sha256="0z04arwzy5169f6bhc8cbdc07zcmd5safpii5a3g7bqallmzipnr"; depends=[emulator ggplot2 gridExtra MASS miscTools penalized plot3D Rcpp RcppArmadillo]; };
-  splot = derive2 { name="splot"; version="0.5.1"; sha256="0m2cx5rrwfyznzn12z9xkyrs9i6qkwyyymbk3z28gjxw31kszlc9"; depends=[]; };
+  splot = derive2 { name="splot"; version="0.5.2"; sha256="14i2z4br4sc08nwmcj49wnc5fgzf1v7w2a4kz5q453yn9h8ypp1n"; depends=[]; };
   spls = derive2 { name="spls"; version="2.2-3"; sha256="0bmb0ai5z80njhypd342i711x0bdkwcvlyn374lyyzj8h3d97mmv"; depends=[MASS nnet pls]; };
   splus2R = derive2 { name="splus2R"; version="1.3-3"; sha256="035zd22zcpkh74rik9ws6g8al6vjz7jgrqs5si361bzb5n290p3x"; depends=[]; };
   splusTimeDate = derive2 { name="splusTimeDate"; version="2.5.2"; sha256="06r2px2nsqyvjb1r1gz6wwjyr6rmfzslyxng8ng2n7hwr9ga1kc8"; depends=[]; };
@@ -16877,7 +17069,7 @@ in with self; {
   spoiler = derive2 { name="spoiler"; version="1.0.0"; sha256="105shgv62x3qjw4477qfi79h9bdih4n8hg6wn842dyfq940wkr5b"; depends=[htmltools shiny]; };
   spongebob = derive2 { name="spongebob"; version="0.4.0"; sha256="1ar5173fwx1am5rgjlnczfla6b49g0azl0h9vn89ipw7f71rr5j7"; depends=[]; };
   spongecake = derive2 { name="spongecake"; version="0.1.2"; sha256="13fxizbfjvqkhkmxk5bwv2fj2xyjkbxrxicpdgwpg0wsk4dhj3s8"; depends=[ggplot2 jpeg magrittr plyr]; };
-  spork = derive2 { name="spork"; version="0.2.1"; sha256="02m9qnwff5gj3p7bmcv56b99y55qhz3a9whknvqvm9f4dz24k9y6"; depends=[ggplot2 latexpdf png]; };
+  spork = derive2 { name="spork"; version="0.2.2"; sha256="09n159nkrgpwf6ck24axgsxh6dm1xays9pgx940pzmaq7vzb5ng4"; depends=[ggplot2 latexpdf png]; };
   sporm = derive2 { name="sporm"; version="1.1.1"; sha256="1bj795kmzjjcwvnrwg7dfz4jbfj488iydm0s79wrsgdq4chrrgyb"; depends=[]; };
   sport = derive2 { name="sport"; version="0.2.0"; sha256="1wb28iaa35naf5aczijb5g0l41yf098f7c20mjmkcd5w04l1mmks"; depends=[data_table ggplot2 Rcpp]; };
   sportyR = derive2 { name="sportyR"; version="1.0.1"; sha256="03l5zyqdrzji58acq5mmczz7nx9yk29hf5dzagpgb8fraq1vvddi"; depends=[dplyr ggplot2 glue]; };
@@ -16886,7 +17078,8 @@ in with self; {
   spotifyr = derive2 { name="spotifyr"; version="2.2.3"; sha256="1gpi7d40rdx4dvx5699xj5zisz48arwni18sszvp8phvhgqbj0lh"; depends=[assertthat dplyr genius ggridges httr janitor jsonlite lubridate magrittr purrr readr rlang rvest stringr tibble tidyr xml2]; };
   spotoroo = derive2 { name="spotoroo"; version="0.1.2"; sha256="04zmb0smljr0yszhd789mqm5ds3l71k5cfd9v173d04r5vv8z77a"; depends=[cli dplyr geodist ggbeeswarm ggExtra ggplot2 ggrepel patchwork progress]; };
   spp = derive2 { name="spp"; version="1.16.0"; sha256="08zxxgyp0h6733b08jmml7k4rhfd3mi5dda3jrzid0s184y0z29w"; depends=[BH caTools Rcpp Rsamtools]; };
-  spray = derive2 { name="spray"; version="1.0-18"; sha256="08lfb3aq2zinrhip4gzdkca5wcawang9dbip4d1vmp920xj6fs16"; depends=[disordR magic mathjaxr partitions Rcpp]; };
+  spqdep = derive2 { name="spqdep"; version="0.1.0"; sha256="00scaafr0r8a0qf5nirv0gi6wsjlz6kk6nmb3rk5fd3x5k9p6ck1"; depends=[bookdown broom dplyr ggplot2 gridExtra gt gtools igraph lwgeom magrittr Matrix purrr rsample sf sp spatialreg spdep tidyr]; };
+  spray = derive2 { name="spray"; version="1.0-19"; sha256="1x9zn1hw7ndl28c49bka1bqay9wrjvc66d3bs7v7bj53zqmgkac3"; depends=[disordR magic mathjaxr partitions Rcpp]; };
   spreadr = derive2 { name="spreadr"; version="0.2.0"; sha256="180dvr39i1glc0jllsnnglwrxh133q20v7px2fmdi7229pr175id"; depends=[assertthat extrafont ggplot2 igraph Matrix Rcpp]; };
   spreval = derive2 { name="spreval"; version="1.0.0"; sha256="0949ms3d2r94vbsqyfma4vfavf0gdq58xs7nkirgrfxjd1a65vfm"; depends=[interp timeDate]; };
   sprex = derive2 { name="sprex"; version="1.4.1"; sha256="14idml4mipd4wyza7hqf49ww4dparmwaps35hxm8jg5h0w1pgh7j"; depends=[swfscMisc]; };
@@ -16897,14 +17090,14 @@ in with self; {
   sprsmdl = derive2 { name="sprsmdl"; version="0.1-0"; sha256="09klwsjp5w6p7dkn5ddmqp7m9a3zcmpr9vhcf00ynwyp1w7d26gi"; depends=[]; };
   sprtt = derive2 { name="sprtt"; version="0.1.0"; sha256="1lj4qrn8ajl9lmx9qrcxrrd187khs3afvmf2hpwmakxfn6sajm0z"; depends=[]; };
   sps = derive2 { name="sps"; version="0.1.2"; sha256="1z5r7fmysv9qw8rjrw469mabrdj6pn70y726rqn3ys0kjiz3h47m"; depends=[]; };
-  spsComps = derive2 { name="spsComps"; version="0.3.1"; sha256="0wkbxpav823kczqqk8kmax21zpi99bx2gisnqmmqvbb7lsjdlram"; depends=[assertthat crayon glue htmltools magrittr R6 shiny shinyAce shinytoastr stringr]; };
+  spsComps = derive2 { name="spsComps"; version="0.3.2.0"; sha256="1ndii6jjnijkdngngqxwwdxi3p5fcn6g4lzajvhi2ywda0in492p"; depends=[assertthat crayon glue htmltools magrittr R6 shiny shinyAce shinytoastr stringr]; };
   spsUtil = derive2 { name="spsUtil"; version="0.2.2"; sha256="1hhiz2bmgrvpadag1d4ljynk7mhwknaslja9hcmf665l2x3hzdl6"; depends=[assertthat crayon glue httr magrittr R6 stringr]; };
   spselect = derive2 { name="spselect"; version="0.0.1"; sha256="02aiml4dh40n6yl52ypramn4847ykdi4y5lhsmchnnp4nnnqycsn"; depends=[magic pracma tester]; };
   spsh = derive2 { name="spsh"; version="1.1.0"; sha256="1rmsgp0mrb4153v5f5xby7r3izvgz1a0vi63g5p9q5jd6z0gd2i1"; depends=[DEoptim FME hypergeo lhs pracma Rdpack]; };
   spsi = derive2 { name="spsi"; version="0.1"; sha256="0q995hdp7knic6nca0kf5yzkvv8rsskisbzpkh9pijxjmp1wnjrx"; depends=[plot3D]; };
   spsur = derive2 { name="spsur"; version="1.0.2.0"; sha256="0dkbl5x2h1l34ybhb4zdygnf7fdga78aaq4nb9kqyw6xjfrcsazn"; depends=[car Formula ggplot2 gmodels gridExtra knitr lmtest MASS Matrix minqa numDeriv Rdpack rlang rmarkdown sparseMVN spatialreg spdep]; };
   spsurv = derive2 { name="spsurv"; version="1.0.0"; sha256="11jlbzvzxv3d1d0nwpbii46ddvphglrxv25rw7pvxbybcx2i7k6x"; depends=[BH coda loo MASS Rcpp RcppEigen rstan rstantools StanHeaders survival]; };
-  spsurvey = derive2 { name="spsurvey"; version="5.1.0"; sha256="15phg10qczhs7k0hlqd33mcfjh7fcb3l3wyql4x7006rhs7x2z2a"; depends=[boot crossdes deldir lme4 MASS sampling sf survey units]; };
+  spsurvey = derive2 { name="spsurvey"; version="5.2.0"; sha256="1yc3r0jz2p08432nd3v958fzid97nwknk5jn277jylw2rkx7avd5"; depends=[boot crossdes deldir lme4 MASS sampling sf survey units]; };
   spt = derive2 { name="spt"; version="2.5.1"; sha256="04j38d2b35p4798znnc49vqrg8r8bygwi07vybfj3nzimlp2mkrn"; depends=[]; };
   sptm = derive2 { name="sptm"; version="2019.11-25"; sha256="1hdymzngdppmh56dqh0k88n9hg68pbx9rgmimbz4ihnfx2plvadh"; depends=[kyotil survey survival]; };
   sptotal = derive2 { name="sptotal"; version="1.0.0"; sha256="0lcq7ldrgy93i1pk2hhwfmhqhmijv9g5p7jdsh9hrfky51w8vrql"; depends=[ggplot2 sp viridis]; };
@@ -16916,13 +17109,14 @@ in with self; {
   sqlparseR = derive2 { name="sqlparseR"; version="0.1.0"; sha256="0zcna9y61v1qklpnhrwgv1djg4hyx3k5an32caapszi8qm9nq3x8"; depends=[reticulate]; };
   sqlscore = derive2 { name="sqlscore"; version="0.1.4"; sha256="1wvjiy7g0rxfy10vssdrv5li5sbvrin9wjy0ai0nxk503kw7g74k"; depends=[dbplyr]; };
   sqlutils = derive2 { name="sqlutils"; version="1.2"; sha256="0dq4idg8i4hv9xg8jllllizqf3s75pdfm1wgncdjj52xhxh169pf"; depends=[DBI roxygen2 stringr]; };
+  squant = derive2 { name="squant"; version="1.1.4"; sha256="1z4qi1svv6186gj3nh4z3hvjd54i7grj6ckgdyk4dmyn7zh8fw5w"; depends=[ggplot2 glmnet survival]; };
   squash = derive2 { name="squash"; version="1.0.9"; sha256="1x66iamj5pir6l9aqx4x7xylxxjpjrw8vcix9rbhfd0y0y2iqf7z"; depends=[]; };
   squashinformr = derive2 { name="squashinformr"; version="0.2.5"; sha256="1403h52il9kyf16cm44lvib8sgdq0njrqsci8ng5ngryg2h2lacc"; depends=[dplyr Hmisc janitor lubridate naniar plyr polite rlang rvest stringr tibble tidyr]; };
   squeezy = derive2 { name="squeezy"; version="1.0"; sha256="0ihlgdnfissi0kaw7gwiihrp7kw5447kbwnb7rb1l2jacs60v41n"; depends=[glmnet Matrix multiridge mvtnorm]; };
-  squid = derive2 { name="squid"; version="0.1.2"; sha256="1sf7q9pp68inr4ikaxm51f31gwxq9ixrsismrnnsby3agq6nsmkb"; depends=[arm data_table ggplot2 lme4 MASS shiny]; };
+  squid = derive2 { name="squid"; version="0.2.1"; sha256="1zpm787ifzrhww32ghi57ii37p9dssq7q7gbai9iqass78z90y2j"; depends=[arm brms data_table ggplot2 lme4 MASS plotly shiny shinyMatrix]; };
   sra = derive2 { name="sra"; version="0.1.3"; sha256="0bdxgsz177szfqmvffidgkhl0lrdd7c1nzdvh7ijx99zmi5ww71n"; depends=[]; };
   srcr = derive2 { name="srcr"; version="1.1.0"; sha256="1cv4j27w9lssllih0lg172x1p001sk13p9hg39579lx6rpb9l75q"; depends=[DBI dplyr jsonlite]; };
-  sregsurvey = derive2 { name="sregsurvey"; version="0.1.1"; sha256="00yiz95yf3f1nq34ni5i7v7nzvqdxy3jdnsr7aizjiz424b210vp"; depends=[caret dplyr gamlss gamlss_dist magrittr TeachingSampling]; };
+  sregsurvey = derive2 { name="sregsurvey"; version="0.1.2"; sha256="1wsfjnkszxvx4pjgpi2v14s94d7rpl13pallja6rfcmsgxp3kc2l"; depends=[caret dplyr gamlss gamlss_dist magrittr TeachingSampling]; };
   srm = derive2 { name="srm"; version="0.3-6"; sha256="0mc97pv1hsmia4v2wyb8yi37i3v1xypfv9xmhjb989xnnysf1lm3"; depends=[Rcpp RcppArmadillo]; };
   srp = derive2 { name="srp"; version="1.2.0"; sha256="0xdzfvi7z78xmyxwd8fha3lr86jwmgjba1w8hhn4sv3v5gc9vlkh"; depends=[fda mgcv]; };
   srt = derive2 { name="srt"; version="1.0.3"; sha256="0m94ycnrlgjvlx9jzb05rdg57yxwsw3p7zjih0m04vb1369j83q1"; depends=[]; };
@@ -16938,13 +17132,13 @@ in with self; {
   ssdtools = derive2 { name="ssdtools"; version="0.3.7"; sha256="1mxkbf7skxg073nmy195c78fh8mimxnycnlx921y3pb9vrplsn2a"; depends=[abind actuar chk fitdistrplus ggplot2 lifecycle Rcpp scales tibble VGAM]; };
   sse = derive2 { name="sse"; version="0.7-17"; sha256="0aqpi70rgmh2kmf11z2cvyl8c9klv8jm81pcpkzjrw3pbpgkqizf"; depends=[lattice]; };
   ssev = derive2 { name="ssev"; version="0.1.0"; sha256="1iw07gw9vhg073s5kkxh5f1si6p998rc1i2zglnpk5c3pi3l55wp"; depends=[MESS pwr]; };
-  ssfa = derive2 { name="ssfa"; version="1.1"; sha256="0fkyalhsjmx2sf8xxkppf4vd272n99nbkxh1scidrsgp4jk6z7fx"; depends=[Matrix maxLik sp spdep]; };
+  ssfa = derive2 { name="ssfa"; version="1.2"; sha256="14v10lbv3wlrnz3b2i8i56rj5rr257qvwa8w9j6xqswllb80132r"; depends=[Matrix maxLik sp spatialreg spdep]; };
   ssfit = derive2 { name="ssfit"; version="1.1"; sha256="1fais0msi2ppgfp0vbx3qri7s9zs51i7n90w36xkwwac4f46bq5y"; depends=[survey]; };
   ssgraph = derive2 { name="ssgraph"; version="1.12"; sha256="0mcg8bzgx0376f72xxqmsfwmnmfk6lcmam19d28psr1sxnhngklj"; depends=[BDgraph]; };
   ssh = derive2 { name="ssh"; version="0.8.0"; sha256="0y9rrvn21mc9ivjlz6zmg5h282d2gycyjda8sh9k0gx0y4c2m30i"; depends=[askpass credentials]; };
   ssh_utils = derive2 { name="ssh.utils"; version="1.0"; sha256="08313zzzgcyvzkrkq0w0yf748ya1a9shx5xnan5891v0lah9v0b1"; depends=[stringr]; };
-  sship = derive2 { name="sship"; version="0.7.3"; sha256="0ac882x8p131iy61qkgaiax073387qsc5ahmxw4vvhhlks0kssi2"; depends=[httr jsonlite openssl RCurl yaml]; };
-  ssimparser = derive2 { name="ssimparser"; version="0.1.0"; sha256="1h4jwfcbsimwkwwfpjdi9mipc8z8ia6b6ha6v9dz7ghgpp1a2919"; depends=[airportr dplyr magrittr stringr tidyr]; };
+  sship = derive2 { name="sship"; version="0.7.4"; sha256="0j36mx15jhg90vpycw57zghw8x9jb8s865yzzrpgz8pg7avgqqzf"; depends=[httr jsonlite openssl RCurl yaml]; };
+  ssimparser = derive2 { name="ssimparser"; version="0.1.1"; sha256="01c9kbvdrkchf4rad9hysyflpkgdj294lbk94fc5pkc49fqznmrx"; depends=[airportr dplyr magrittr stringr tidyr]; };
   ssize_fdr = derive2 { name="ssize.fdr"; version="1.2"; sha256="0y723lwsnmk3rxbhlsrny9hiy07a5p255ygy9qkj6mri64gk1hby"; depends=[]; };
   ssizeRNA = derive2 { name="ssizeRNA"; version="1.3.2"; sha256="1qw10yswzpg28fhvr6rsq0gh7xivfapw64gxc0hakb1nc31jf8ky"; depends=[Biobase edgeR limma MASS qvalue ssize_fdr]; };
   ssmn = derive2 { name="ssmn"; version="1.1"; sha256="1rab9yjb05g5rphqlhwvdwmsyqlv1f4m0rqxfv8c5pbh170nbwbc"; depends=[mnormt moments sn truncdist]; };
@@ -16964,7 +17158,7 @@ in with self; {
   stR = derive2 { name="stR"; version="0.4"; sha256="120k8k1l8cfy8x746808jym7lnaplgh4s3lycgyq2wia2c35r0rc"; depends=[foreach forecast Matrix quantreg rgl SparseM]; };
   sta = derive2 { name="sta"; version="0.1.5"; sha256="0q9pplx4ifndvbh2bfa96vjbcaaqdj6bq57kwlzhavq6hjq7d56v"; depends=[doParallel foreach geoTS iterators mapview raster RColorBrewer rgdal trend]; };
   staRdom = derive2 { name="staRdom"; version="1.1.23"; sha256="0gsix1dxk4gn2iq0zqbm7fyzxxnyzbgdlcbk11lqirx9x0xmwj80"; depends=[cdom data_table doParallel dplyr drc eemR foreach GGally ggplot2 gtools matrixStats MBA multiway pracma R_matlab readr stringr tibble tidyr viridisLite zoo]; };
-  stabiliser = derive2 { name="stabiliser"; version="0.1.0"; sha256="1d6aka5k51gnxfwyhv70n9pwxzp7ldyq10ircp6bphalwr0m35vv"; depends=[bigstep broom caret dplyr ggplot2 glmnet ncvreg purrr rsample stringr tibble tidyr]; };
+  stabiliser = derive2 { name="stabiliser"; version="0.1.1"; sha256="1m11gf0fi6x3b4g4ngnra4vdl0fwh045zvlbajh0mfbim3nkahx2"; depends=[bigstep broom caret dplyr ggplot2 glmnet knitr ncvreg purrr rsample stringr tibble tidyr]; };
   stability = derive2 { name="stability"; version="0.5.0"; sha256="0mz7ikfhpfbdcp72klq7fi4zfmx2w18gz46yhwywcc4dyi277m11"; depends=[dplyr ggfortify ggplot2 lme4 magrittr matrixStats reshape2 rlang scales tibble tidyr]; };
   stable = derive2 { name="stable"; version="1.1.4"; sha256="01azqg4yi5wl6wfdpjq57w41x5z2b4dsp5n3vpkz24b9avk6rm8s"; depends=[rmutil stabledist]; };
   stableGR = derive2 { name="stableGR"; version="1.1"; sha256="1fbbghqkd6vpnlnzgc6fsdpvlc7lw6nxwy5whdg7zgxkwqvqj8n3"; depends=[mcmcse mvtnorm]; };
@@ -16975,7 +17169,7 @@ in with self; {
   stabreg = derive2 { name="stabreg"; version="0.1.2"; sha256="1jrxyv0d33vd9vdlj1cv1a2qdz8iqgr726f54dgazwsz3cpyy2ia"; depends=[numDeriv]; };
   stabs = derive2 { name="stabs"; version="0.6-4"; sha256="1nf1yg14cgxrs4np1yghpzw1nczaslfv3rvf3918wrlzg0vp6l7q"; depends=[]; };
   stackoverflow = derive2 { name="stackoverflow"; version="0.7.0"; sha256="0zv8bxzw4pgaa5ra8wsb9p7g8bwffdhc6gqsfrcs61zva7v9izc2"; depends=[]; };
-  stacks = derive2 { name="stacks"; version="0.2.1"; sha256="0a69fvj48npcbm0jj0506mq5m9hdprva247nyhiays6ar4ic52kv"; depends=[butcher cli dials dplyr foreach generics ggplot2 glmnet glue parsnip purrr recipes rlang rsample tibble tidyr tune workflows workflowsets yardstick]; };
+  stacks = derive2 { name="stacks"; version="0.2.2"; sha256="0fmar6zfhckka0lbn89yhkss0l5zc4d1yy9clid9v5b87g8ka6xh"; depends=[butcher cli dials dplyr foreach generics ggplot2 glmnet glue parsnip purrr recipes rlang rsample tibble tidyr tune workflows workflowsets yardstick]; };
   stacomirtools = derive2 { name="stacomirtools"; version="0.6.0"; sha256="1qy9rw38qa0ng7gcnbccws8cm8175rficm5b1jn956qbkcxkz0w8"; depends=[DBI pool RODBC RPostgres xtable]; };
   stagePop = derive2 { name="stagePop"; version="1.1-1"; sha256="0949r5ibl3sb10sr5xsswxap3wd824riglrylk7fx43ynsv5hzpy"; depends=[deSolve PBSddesolve]; };
   stagedtrees = derive2 { name="stagedtrees"; version="2.2.0"; sha256="01qb8pw0al3b3b6smcapd61i81p6xw3hh1x8i6dsb73pdvpbfyxj"; depends=[]; };
@@ -16993,12 +17187,13 @@ in with self; {
   starnet = derive2 { name="starnet"; version="0.0.6"; sha256="0gbg8svyj4nh846q7986ap7jjry599kb1348k9lifz19kvyr4rn4"; depends=[cornet glmnet Matrix survival]; };
   stars = derive2 { name="stars"; version="0.5-5"; sha256="0hcbzr8c7wk30qjwrvx6bflzwkjpms79pavaxawnq1h8kry5fngk"; depends=[abind classInt lwgeom rlang sf units]; };
   starsExtra = derive2 { name="starsExtra"; version="0.2.7"; sha256="06l9rpgw1dmvvn3389zzqrq4y87192k4zzj7xgvwzrdlrcxsqdh7"; depends=[mgcv nngeo sf stars units]; };
+  starsTileServer = derive2 { name="starsTileServer"; version="0.1"; sha256="1nw13r5gf8chr8zc3ypc6zzq811y8m0m2yin5y1gvim3wkfz63xj"; depends=[assertthat leaflet plumber png R6 rlang sf stars units]; };
   starschemar = derive2 { name="starschemar"; version="1.2.0"; sha256="0jjaic1zwdc3lvdlgs0vzkjjivjs2dskmhx4qg469ban34az0591"; depends=[dplyr generics pander purrr readr rlang snakecase tibble tidyr tidyselect]; };
   startR = derive2 { name="startR"; version="2.1.0"; sha256="1cgn77jaiy7gfqbhh6w3x0bf57v32vzpp334mp50v827hgv439wy"; depends=[abind bigmemory ClimProjDiags easyNCDF future multiApply s2dverification]; };
   starter = derive2 { name="starter"; version="0.1.8"; sha256="003ih4035hhka5cghr5j3h0gc9a2fxdafag8ffxxg8cvigh2m7fm"; depends=[dplyr fs gert glue here purrr R_utils readr renv rlang stringr tibble usethis]; };
   startup = derive2 { name="startup"; version="0.16.0"; sha256="1lqjig4jvy71w7082b5s209kmkchn39n0fksnvjp1prjvygh575w"; depends=[]; };
   startupmsg = derive2 { name="startupmsg"; version="0.9.6"; sha256="0vkqxir4ady4dn9s70dfg1fxck2xg8vnmrmxjzvk01i6pc9zyq0x"; depends=[]; };
-  starvars = derive2 { name="starvars"; version="1.1.9"; sha256="0h4swxkvcif79258jimrzy4lk370ad6f0w9npjhya6pbjii40j3l"; depends=[doSNOW foreach ks lessR MASS matrixcalc optimParallel quantmod vars xts zoo]; };
+  starvars = derive2 { name="starvars"; version="1.1.10"; sha256="1mq31g05ahpsmda2zrmkg1dlaqqk4c9hm9fjzhgrsxlg4j3klbbf"; depends=[doSNOW foreach ks lessR MASS matrixcalc optimParallel quantmod vars xts zoo]; };
   starvz = derive2 { name="starvz"; version="0.7.0"; sha256="166mppribk0hsx4rs3km0k44s7yww6ss5bmxn4434caj43rda5lr"; depends=[arrow BH data_tree dplyr ggplot2 gtools lpSolve magrittr patchwork purrr RColorBrewer Rcpp readr rlang stringr tibble tidyr yaml zoo]; };
   starwarsdb = derive2 { name="starwarsdb"; version="0.1.2"; sha256="00n9qqw4lbfk698qgvw8i42sy3dv5i5fiiqma3zks4rr9yspkldq"; depends=[DBI duckdb magrittr tibble]; };
   stat_extend = derive2 { name="stat.extend"; version="0.2.1"; sha256="1qwjqnjds733xvxhby604yqvwlj1rkr3411diwzhbgwp89rhy11r"; depends=[sets]; };
@@ -17028,7 +17223,7 @@ in with self; {
   statpsych = derive2 { name="statpsych"; version="1.0.0"; sha256="0rakzsbafhp5xps9bbb4pljv4c49ij1rwz64z0q5jjglc95kw55s"; depends=[mathjaxr Rdpack]; };
   statquotes = derive2 { name="statquotes"; version="0.2.2"; sha256="1xzc3ndddjrlyld0p4zcwwxkj7i3m3adj7c78x9l4lhlw9mxbbqg"; depends=[stringr tidytext wordcloud]; };
   stats19 = derive2 { name="stats19"; version="2.0.0"; sha256="0minav2ab9xa9xq5mardjcijaxhs3v1izxmy15v5zf04lhvz4f03"; depends=[readr sf]; };
-  statsExpressions = derive2 { name="statsExpressions"; version="1.2.0"; sha256="0d95iv3k260mzsw3krp8vggz8xx7n1l5s8jdhiq1z4vr8mz41gcd"; depends=[BayesFactor correlation datawizard dplyr effectsize insight magrittr parameters performance rlang tibble tidyr WRS2 zeallot]; };
+  statsExpressions = derive2 { name="statsExpressions"; version="1.3.0"; sha256="0kml7q4nhnirh8na12mfqgg0ka4vl2333piabw94hx4rjhajwxll"; depends=[BayesFactor correlation datawizard dplyr effectsize glue insight magrittr parameters performance rlang tibble tidyr WRS2 zeallot]; };
   statsearchanalyticsr = derive2 { name="statsearchanalyticsr"; version="0.1.4"; sha256="0m2zv5sgv7w9yk6q7rwx8x2zy6xx5w0d6c9vynddr08pn4mdqjhs"; depends=[glue httr jsonlite lubridate purrr stringr tibble tidyr]; };
   statsr = derive2 { name="statsr"; version="0.3.0"; sha256="138yjifz8q3dqcm3wbzn4sxdydwnqvwkz0h20r8ls3pijqh6fc2y"; depends=[BayesFactor broom cubature dplyr ggplot2 gridExtra knitr rmarkdown shiny tibble tidyr]; };
   statswalesr = derive2 { name="statswalesr"; version="0.1.4"; sha256="1q1825aiaq5mfcfdw8fy22w738cn0x2ifij7p3p276x0sl1cbrdm"; depends=[curl dplyr httr jsonlite rlang]; };
@@ -17081,12 +17276,12 @@ in with self; {
   stockfish = derive2 { name="stockfish"; version="0.1.3"; sha256="0f98xi81kjahvqhmq7hjbrg54kdff5j4q2dq8wj41l13pzi81sac"; depends=[processx R6]; };
   stocks = derive2 { name="stocks"; version="1.1.4"; sha256="0b6rl7pfkgzbpwnv7zzkr36hs5f1zb60d16ijslf7g9m25vvcyg6"; depends=[dvmisc Hmisc lubridate quantmod rbenchmark RColorBrewer Rcpp TTR zoo]; };
   stoichcalc = derive2 { name="stoichcalc"; version="1.1-3"; sha256="0z9fnapibfp070jxg27k74fdxpgszl07xiqfj448dkydpg8ydkrb"; depends=[]; };
-  stokes = derive2 { name="stokes"; version="1.0-9"; sha256="1hs57fz52zrpmjminsqpxs3bnmgn8fr3mkca9zmh2017ypk7zc1p"; depends=[disordR magrittr mathjaxr partitions permutations spray]; };
+  stokes = derive2 { name="stokes"; version="1.1-1"; sha256="1hykdsmslvwbhm75k7q1l2xmr0dhldvq08np64gm8rgbfy4p4vpg"; depends=[disordR mathjaxr partitions permutations spray]; };
   stopwords = derive2 { name="stopwords"; version="2.3"; sha256="1ci1cgxrcvlhhplximsfv0plvjdbcd5kv0nphxnpildsn5m1rv65"; depends=[ISOcodes]; };
   storr = derive2 { name="storr"; version="1.2.5"; sha256="0qszdq16bf0dbss33zi63ciwmkgjsyc0c3akrr2kl14w3ncw6922"; depends=[digest R6]; };
   storywranglr = derive2 { name="storywranglr"; version="0.2.0"; sha256="07w3dwv2naqbbdzjcv58cisj7cv1rbhrk96a30q8ww11rf953rj4"; depends=[dplyr httr jsonlite tibble urltools]; };
   stosim = derive2 { name="stosim"; version="0.0.14"; sha256="10k8j7manskjsrjc1l44yhy682b1qh0k2jx3cs5k69j2z42mnhmk"; depends=[Rcpp]; };
-  stplanr = derive2 { name="stplanr"; version="0.8.6"; sha256="08kxbblp6zb99v303j1m6ijr378m6jj3sfqnlj30ysb9ppy2fdmk"; depends=[curl data_table dplyr geosphere httr jsonlite lwgeom magrittr maptools nabor pbapply raster Rcpp RcppArmadillo rgeos rlang sf sfheaders sp stringr]; };
+  stplanr = derive2 { name="stplanr"; version="0.8.7"; sha256="11a0cak6vf5snfpbbv0rbhcjryyd694d6vz1gyshxzwi6wgglhq0"; depends=[curl data_table dplyr geosphere httr jsonlite lwgeom magrittr maptools nabor pbapply raster Rcpp RcppArmadillo rgeos rlang sf sfheaders sp stringr]; };
   stpm = derive2 { name="stpm"; version="1.7.10"; sha256="0y9rpqjn33gdqjvag4kb6dr00w80paspgj9ic25brclfv1zmzbhf"; depends=[MASS nloptr Rcpp RcppArmadillo sas7bdat survival]; };
   stpp = derive2 { name="stpp"; version="2.0-5"; sha256="1p7dxzfhi5pvva956nyypl7dfdgq3m0cara73hai87qzc342xcf0"; depends=[ggplot2 gridExtra KernSmooth plot3D rgl rpanel spatstat_core spatstat_geom splancs]; };
   str2str = derive2 { name="str2str"; version="0.2.1"; sha256="180m261hr0qr3mnm8hbvjbw3q44cr1kfrnq97fvkpypigdycd9z4"; depends=[abind checkmate plyr reshape]; };
@@ -17124,7 +17319,7 @@ in with self; {
   strip = derive2 { name="strip"; version="1.0.0"; sha256="1j3kq6w8k66z45rpd1cgxplpnldzbyqklgs4bnbv906pyd8wk9ak"; depends=[rlist]; };
   stripless = derive2 { name="stripless"; version="1.0-3"; sha256="08mdp7kq6r5bk77j09477d1dnn7iwa346pr24b5bqsxwnbknyrsr"; depends=[lattice]; };
   striprtf = derive2 { name="striprtf"; version="0.5.3"; sha256="0dqcsh3fb8j0mmmxvxjl77rryhmrjm7a3scqvk2xkgxk4xq6q316"; depends=[magrittr Rcpp stringr]; };
-  strm = derive2 { name="strm"; version="0.1.2"; sha256="09x5h4zgbdqq88xabi7hw506y5jrd26br0233afd46m7c69ayadn"; depends=[dplyr knitr magrittr purrr rgdal rlang rmarkdown spatialreg testthat tidyr]; };
+  strm = derive2 { name="strm"; version="0.1.3"; sha256="1jwsdr2pja7gjrrdn37bv9r8xvyzl03akrgldh4qbrvx9p03w67w"; depends=[dplyr knitr magrittr purrr rgdal rlang rmarkdown spatialreg testthat tidyr]; };
   strucchange = derive2 { name="strucchange"; version="1.5-2"; sha256="1y022363a4pp0mnji91sjh1qiyspkh09sybqwj03r9pmwrd7q93x"; depends=[sandwich zoo]; };
   strucchangeRcpp = derive2 { name="strucchangeRcpp"; version="1.5-3-1.0.4"; sha256="0vfqbhck0qwc8dsnm5ggc0if03vx4ma53qidi7qsqjyfjfszq1pm"; depends=[Rcpp RcppArmadillo sandwich zoo]; };
   structree = derive2 { name="structree"; version="1.1.7"; sha256="178x6maghjaw9lkyjr84pq916vbq0ldh5gqia0r0vqs8k8dvna9i"; depends=[lme4 mgcv penalized]; };
@@ -17146,12 +17341,13 @@ in with self; {
   sublime = derive2 { name="sublime"; version="1.3"; sha256="0455fppc68azxknxjvxci4kjpcj6c1jkp9adbxqrn3qnnywaj5v2"; depends=[AnalyzeFMRI downloader oro_nifti]; };
   submax = derive2 { name="submax"; version="1.1.1"; sha256="0b9x55gqzw20smr3hx9izvyr0i8zv0h03hadn4c7ks7w8ga5i0kj"; depends=[mvtnorm sensitivityfull]; };
   subniche = derive2 { name="subniche"; version="1.4"; sha256="10j7wz4hyqvpi7iqq7m6jb13g0wr7k59rkxyyhfkmcq1vgm2cpdx"; depends=[ade4 polyclip siar wordcloud]; };
-  subplex = derive2 { name="subplex"; version="1.6"; sha256="1yfbfjvpbhgky7vihw3f4jl41pxpqb39z4nc045d5z7z48bdl18d"; depends=[]; };
+  subplex = derive2 { name="subplex"; version="1.7"; sha256="11zqzydbj6ivgvlw1gv1r2yxra7misbc622g575p2vckhjjg9v6m"; depends=[]; };
   subrank = derive2 { name="subrank"; version="0.9.9.1"; sha256="19lgw7248jq6b34i17c7vw208wsvmppni7njswd02i9xdgyjn95z"; depends=[]; };
   subsamp = derive2 { name="subsamp"; version="0.1.0"; sha256="1bfz2z2qy1war3id8qr1asygwvwxgf2hhlh075hr6bjdkxz0j0nd"; depends=[]; };
   subscore = derive2 { name="subscore"; version="3.1"; sha256="1hb4ci62hxffz09sz0i27jfw7xn0pca87kiq6damz5zi418csa4v"; depends=[boot cocor CTT irtoys ltm sirt]; };
   subscreen = derive2 { name="subscreen"; version="3.0.5"; sha256="0786p2n1a4xjsxnd31w2b079ggdzx9pgn14d5vbngrc6mgjm9hk8"; depends=[bsplus colourpicker data_table dplyr DT jsonlite plyr purrr randomForestSRC shiny shinyjs shinyWidgets]; };
   subselect = derive2 { name="subselect"; version="0.15.2"; sha256="0ggpm5bq4ncx4302855s8x1nj0afjizmi81cg6b7xc7rvpirw0fq"; depends=[corpcor ISwR MASS]; };
+  subsemble = derive2 { name="subsemble"; version="0.1.0"; sha256="125msb0krcdj6jbdvzdl75179ajakb1l0xal45bp38am8w62a6zz"; depends=[SuperLearner]; };
   subspace = derive2 { name="subspace"; version="1.0.4"; sha256="0p2j0lnwj3ym1v4xla6r97zjikb8alnibdc690xn9c0z21hmv43v"; depends=[colorspace ggvis rJava stringr]; };
   subtype = derive2 { name="subtype"; version="1.0"; sha256="1094q46j0njkkqv09slliclp3jf8hkg4147hmisggy433xwd19xh"; depends=[penalized ROCR]; };
   sudachir = derive2 { name="sudachir"; version="0.1.0"; sha256="09ry00c3yhrz8fiyxdxgj9r3x7kldsl6fv35mmi5ysc2549kbcfb"; depends=[cli dplyr glue magrittr purrr reticulate rlang tibble tidyselect]; };
@@ -17173,11 +17369,11 @@ in with self; {
   superMDS = derive2 { name="superMDS"; version="1.0.2"; sha256="0jxbwm3izk7bc3bd01ygisn6ihnapg9k5lr6nbkr96d3blpikk04"; depends=[]; };
   superb = derive2 { name="superb"; version="0.9.7.8"; sha256="0szx5xrqfgganmgbqbdinaq9rljnl8b6l6ym56ysfjq0v6az2s8a"; depends=[foreign ggplot2 lsr MASS plyr psych Rdpack shiny shinyBS stringr]; };
   superbiclust = derive2 { name="superbiclust"; version="1.2"; sha256="0mk3d820skp99hl8ilwic2fz90yb9dwy2jq3vfjb726gj1qich3b"; depends=[biclust fabia Matrix]; };
-  supercompress = derive2 { name="supercompress"; version="1.0"; sha256="11japb4cbxsc199p5wplq1znczpjds40vm0mjxc43dg44m7r91rj"; depends=[FNN]; };
+  supercompress = derive2 { name="supercompress"; version="1.1"; sha256="1kz04m37r1g4lx4y0kzjn77p3wra2rq21y93v9llikycsh6vzwp1"; depends=[FNN]; };
   superdiag = derive2 { name="superdiag"; version="2.0"; sha256="0zfy9ain6agh276av0p66mks3rap42n8yma0dr6qbc14z3nh8w0m"; depends=[coda]; };
   superheat = derive2 { name="superheat"; version="0.1.0"; sha256="01v8s6px1k5fajlm6py3ksr1i853kwwlky1yryzhy3p1cxhwgg83"; depends=[dplyr ggdendro ggplot2 gtable magrittr plyr scales]; };
   superml = derive2 { name="superml"; version="0.5.3"; sha256="1k0hcjspv0q6wg0yarvgjs7ql7d587nijicmz3lfhpph2n3hghvb"; depends=[assertthat BH data_table Metrics R6 Rcpp RcppArmadillo]; };
-  supernova = derive2 { name="supernova"; version="2.5.0"; sha256="0w7h9ynkigc2z4biaxbf68vy8gwqq5gigq8ciqpxp718affv4y6j"; depends=[backports cli ggplot2 lifecycle magrittr pillar purrr rlang stringr tibble vctrs withr]; };
+  supernova = derive2 { name="supernova"; version="2.5.1"; sha256="12qkrgcv5wyw2278hzl75irc9n67dd89xcjj1vr6y9x2bdk7qmnj"; depends=[backports cli ggplot2 lifecycle magrittr pillar purrr rlang stringr tibble vctrs withr]; };
   superpc = derive2 { name="superpc"; version="1.12"; sha256="0n68qafsww00q0wx37ms3rimrlhbp085ywvv2k5vw951j4z8ivfb"; depends=[survival]; };
   supervisedPRIM = derive2 { name="supervisedPRIM"; version="2.0.0"; sha256="1j5gsy119pvrhkkg048lyk6hjvn9x1bhmfy5g824gj3k1w5slrib"; depends=[prim]; };
   suppdata = derive2 { name="suppdata"; version="1.1-8"; sha256="0npbr1zvn30vh6qccyxld2xzdflh6armj6d807d9qbkjqd81kkyn"; depends=[httr jsonlite rcrossref xml2]; };
@@ -17222,6 +17418,7 @@ in with self; {
   surveillance = derive2 { name="surveillance"; version="1.19.1"; sha256="1665n26qs79b3hj4wdp13qjr13w6g32jvbpc4qpcn39bgql6i599"; depends=[MASS Matrix nlme polyCub Rcpp sp spatstat spatstat_geom xtable]; };
   survexp_fr = derive2 { name="survexp.fr"; version="1.0"; sha256="12rjpnih0xld4dg5gl7gwxdxmrdmyzsymm7j05v98ynldd1jkjl8"; depends=[survival]; };
   survey = derive2 { name="survey"; version="4.1-1"; sha256="0ljsszybzri531q6xab04r6zq11vchfs7y0snjzk57m3g0b9ms05"; depends=[lattice Matrix minqa mitools numDeriv survival]; };
+  surveyCV = derive2 { name="surveyCV"; version="0.1.1"; sha256="03pyxav8z223qplsi9srmaf156zgdy3814k5krgskb86bhi0881d"; depends=[magrittr survey]; };
   surveybootstrap = derive2 { name="surveybootstrap"; version="0.0.1"; sha256="13rp6gj1dgdzcjbi2403pldygp1dyqx8zj0r1nvyghpi06x5gpb7"; depends=[dplyr functional plyr Rcpp RcppArmadillo stringr]; };
   surveydata = derive2 { name="surveydata"; version="0.2.6"; sha256="1z72l9dzdhg2r7wd284wa569f4bcnqhz6lha1lch1am7g2i3633d"; depends=[assertthat dplyr DT ggplot2 magrittr purrr rlang scales tidyr]; };
   surveyeditor = derive2 { name="surveyeditor"; version="1.0"; sha256="073219bcn1hlxl9ql6gncfvgn0m37pz5sb7h94nq6lf35dymq5zq"; depends=[]; };
@@ -17230,7 +17427,7 @@ in with self; {
   surveysd = derive2 { name="surveysd"; version="1.3.0"; sha256="0d5xjdlccqaa1h437rz5zq6a829rpz426m55jgprhfpcps1wfhbk"; depends=[data_table ggplot2 laeken Rcpp]; };
   survidm = derive2 { name="survidm"; version="1.3.2"; sha256="0ass7ffpk70ph7dcdjm2f6xyzqaavlkhr1pcij2vcasiy4v1vyiv"; depends=[doParallel doRNG foreach ggplot2 gridExtra KernSmooth np plotly Rcpp survival TPmsm]; };
   survival = derive2 { name="survival"; version="3.2-13"; sha256="0zrikancm9shixvgng89f1610sphlwljczi0fnjbdqn4l85rrarz"; depends=[Matrix]; };
-  survival_svb = derive2 { name="survival.svb"; version="0.0-1"; sha256="0iv06hnp1fl390yfiv0hwry8wfrqm2gyvkhhmp03jsjz9m5xbwhr"; depends=[glmnet Rcpp RcppEigen survival]; };
+  survival_svb = derive2 { name="survival.svb"; version="0.0-2"; sha256="13lipzn1cnkd5dcg8n69cdghycifiin3jnjvgzsv0g60l1jk0lmp"; depends=[glmnet Rcpp RcppEigen survival]; };
   survival666 = derive2 { name="survival666"; version="0.5"; sha256="11vs546lrbxnhpxjmwxhh2hnp6kwcf4hzgigi3x9525hr8n9cy01"; depends=[ggplot2 survival survminer]; };
   survivalAnalysis = derive2 { name="survivalAnalysis"; version="0.2.0"; sha256="1sx7xjqkwc3788j0520kgv602m3gdlmpg1ps9fm8lhsjb8dmvlya"; depends=[cowplot dplyr forcats ggplot2 gridExtra magrittr purrr rlang scales stringr survival survminer tibble tidyr tidytidbits]; };
   survivalMPL = derive2 { name="survivalMPL"; version="0.2-1"; sha256="1rskhawhpkzi3laq452kgr1740p6998z7c7p95f2023ymkdm4rxv"; depends=[MASS survival]; };
@@ -17238,7 +17435,7 @@ in with self; {
   survivalROC = derive2 { name="survivalROC"; version="1.0.3"; sha256="0wnd65ff5w679hxa1zrpfrx9qg47q21pjxppsga6m3h4iq1yfj8l"; depends=[]; };
   survivalmodels = derive2 { name="survivalmodels"; version="0.1.9"; sha256="13plpgvxlljd953kv0krzzs1rfgl4yv9s7s5naplqfzjrapk0j7z"; depends=[Rcpp]; };
   survivalsvm = derive2 { name="survivalsvm"; version="0.0.5"; sha256="1b4hrdrqq1z0kfn8vpdwg54388m25df2s6w9i574x3mkxkmkjkga"; depends=[Hmisc kernlab Matrix pracma quadprog survival]; };
-  survivoR = derive2 { name="survivoR"; version="0.9.6"; sha256="1knrcp6f1gxad4s9l1zfak805ixsgxvs6d30awv5x34jny1cgj8a"; depends=[dplyr ggplot2 magrittr stringr tidyr]; };
+  survivoR = derive2 { name="survivoR"; version="0.9.9"; sha256="0cvr4lvfrnlx5cb7zszqq7qx30p5s7w56k2c0nfdkx8b6inrvqbq"; depends=[dplyr ggplot2 magrittr stringr tidyr]; };
   survminer = derive2 { name="survminer"; version="0.4.9"; sha256="0byh0wxdbjfwdrzsnqv4xlmnik6lj0vkkzfxy7lssk8dv5zmj7nz"; depends=[broom dplyr ggplot2 ggpubr ggtext gridExtra magrittr maxstat purrr rlang scales survival survMisc tibble tidyr]; };
   survmixer = derive2 { name="survmixer"; version="1.3"; sha256="00s06h7nn8li4d2kn4yzlnj3px1wkpvnx5w73y98cvrcwm0ad71g"; depends=[]; };
   survsim = derive2 { name="survsim"; version="1.1.8"; sha256="0gv54bd94a6vdz8li0j409qv7r0h4d681l1p9hj9ilzk7y5bfm70"; depends=[eha statmod]; };
@@ -17258,13 +17455,13 @@ in with self; {
   svTools = derive2 { name="svTools"; version="0.9-5"; sha256="040wr8cr2p35x6pr515bprmsw8ysajx4df5f2njz3ily61xf9szi"; depends=[codetools svMisc]; };
   svUnit = derive2 { name="svUnit"; version="1.0.6"; sha256="08nmlbdrmmz04ira30721l99i74w07w2avdr4pypswf2sq1nqgi6"; depends=[]; };
   svWidgets = derive2 { name="svWidgets"; version="0.9-45"; sha256="08cpsy4abypjnv33arsgxk5i0gpdvdzj60wa1b22ca1n7d35mc80"; depends=[svMisc]; };
-  svars = derive2 { name="svars"; version="1.3.8"; sha256="0ncr944lkb6w3xnkrcz0pigda98yif8psqy9mr4f5pcgv4nwcf01"; depends=[clue copula DEoptim expm ggplot2 pbapply Rcpp RcppArmadillo reshape2 steadyICA strucchange vars zoo]; };
+  svars = derive2 { name="svars"; version="1.3.9"; sha256="1i9wnfrgr9x6qfqhl9bc4wiz4wxmzjfcmg7wvy3zjrfszmibaf78"; depends=[clue copula DEoptim expm ggplot2 pbapply Rcpp RcppArmadillo reshape2 steadyICA strucchange vars zoo]; };
   svd = derive2 { name="svd"; version="0.5"; sha256="18bi42pgml9i8jflfk29ws0bfblkj3f69z9p9mkd0m8kcx4d8hnh"; depends=[]; };
   svdvisual = derive2 { name="svdvisual"; version="1.1"; sha256="02mzh2cy4jzb62fd4m1iyq499fzwar99p12pyanbdnmqlx206mc2"; depends=[lattice]; };
   svenssonm = derive2 { name="svenssonm"; version="0.1.0"; sha256="0pvay9vfrcafaq270pq6glp2b74zdfgldksl13cwdb0wk7qx7731"; depends=[]; };
   svgPanZoom = derive2 { name="svgPanZoom"; version="0.3.4"; sha256="1iglgwbyxf5q4716h9ba2cfmxh1qq16zwy54krnawg4580v8ydh2"; depends=[htmlwidgets]; };
   svgViewR = derive2 { name="svgViewR"; version="1.4.1"; sha256="0xppvrfl7q3viahvwvmn498wli74ldwijapf6n432gvc4phmy7wi"; depends=[Rcpp rjson Rook]; };
-  svglite = derive2 { name="svglite"; version="2.0.0"; sha256="19ggknw5322yw7r1bzhw0bqggcrpn0qxddk7kblpqnra2zz2brkn"; depends=[cpp11 systemfonts]; };
+  svglite = derive2 { name="svglite"; version="2.1.0"; sha256="16wwhfmp9agdz9azslgd8qs77fllhdp6p0m304qfh2p8qy8gah5d"; depends=[cpp11 systemfonts]; };
   svgtools = derive2 { name="svgtools"; version="1.1.0"; sha256="1ipwj3qw8c62381b6yf5mazhg2a3ssddijqrq3bac57i8i6m8az1"; depends=[magick rsvg stringr xml2]; };
   svmpath = derive2 { name="svmpath"; version="0.970"; sha256="19b5hfqqsh072l5mbkafm5pjd6qhyj20qd2vq6zl5jjmc45r72w1"; depends=[kernlab]; };
   svmplus = derive2 { name="svmplus"; version="1.0.1"; sha256="08cfywrbaxyacqd3l75lysb23ahqbs80959iqkjbb125aafmhvni"; depends=[MASS Matrix quadprog]; };
@@ -17281,24 +17478,24 @@ in with self; {
   swatches = derive2 { name="swatches"; version="0.5.0"; sha256="1kivscgka8gn44rjj0s5sjan1s04znnyn0nd37a74zaik0hm8zs0"; depends=[colorspace httr pack stringr xml2]; };
   swdft = derive2 { name="swdft"; version="1.0.0"; sha256="0529rw8nsl48hwiy741alvrzg5d5q1nhnjshrsfwchm5kdv0igva"; depends=[]; };
   swdpwr = derive2 { name="swdpwr"; version="1.6"; sha256="0gyys5lv8zp6n8ywlnqnzpnmpply32ghhwiwi6rilin08nbd0wm8"; depends=[spatstat_core]; };
-  sweater = derive2 { name="sweater"; version="0.1.2"; sha256="0sfyz77i50gs2kndd6zq08l1qji1d4jbnsp6jqj5jv5sazcw1vwn"; depends=[data_table LiblineaR proxy purrr quanteda Rcpp]; };
+  sweater = derive2 { name="sweater"; version="0.1.4"; sha256="1il3jmcawzy4pjdv0vhril37y5wqlczr0sapsnqgrmcc4szbsba9"; depends=[cli data_table LiblineaR proxy purrr quanteda Rcpp]; };
   sweep = derive2 { name="sweep"; version="0.2.3"; sha256="1705mcp9p5h50ifqjjwx61z5wl5izv889nxcgdkx1i0dlcr61l2a"; depends=[broom dplyr forecast lubridate rlang tibble tidyr timetk]; };
   sweidnumbr = derive2 { name="sweidnumbr"; version="1.4.2"; sha256="0zzjvwd60w9b5ybsb72aqa42sx6al4ymr591j3zryxgpl6rms5rh"; depends=[checkmate lubridate stringr]; };
   swephR = derive2 { name="swephR"; version="0.3.0"; sha256="0fk5wih3i5vpkcc9y1n30xwc1hyqgfgnad9jkdgdx0m31pn1y9j5"; depends=[Rcpp]; };
   swfscAirDAS = derive2 { name="swfscAirDAS"; version="0.2.2"; sha256="0xj2r0hv755kqjn4awkf16d24vkmfny6b1xa7ia07pdc25iggrgm"; depends=[dplyr lubridate magrittr readr rlang stringr swfscDAS swfscMisc tidyr]; };
-  swfscDAS = derive2 { name="swfscDAS"; version="0.6.0"; sha256="0v3xjshxqfblmsl21265085m2dygf56083mgiqayp23bs1kl9bj7"; depends=[dplyr lubridate magrittr purrr readr rlang sf swfscMisc tidyr]; };
+  swfscDAS = derive2 { name="swfscDAS"; version="0.6.1"; sha256="1f9i4vj803jk29cds21mr51wm0z62vx96a4ww0cxi4gbyam7rwks"; depends=[dplyr lubridate magrittr purrr readr rlang sf swfscMisc tidyr]; };
   swfscMisc = derive2 { name="swfscMisc"; version="1.5"; sha256="1j762xf9b8clvc3m89s1y3lz5cn8a43wphhfd1wa2f5k1bw3bqd5"; depends=[dplyr ggplot2 ggrepel kknn magrittr mapdata maps rlang sf spatstat_geom tibble tidyr]; };
   swgee = derive2 { name="swgee"; version="1.4"; sha256="1a6zr4nkpj52b0rk01qbwzi8y0c798wlxzw69wyyv576k148rgfq"; depends=[gee geepack mvtnorm]; };
   swimplot = derive2 { name="swimplot"; version="1.2.0"; sha256="02w1l67hvz8gha8gcqxcvcr8g2azidn6bvw76h3k75p9rvq8sgpp"; depends=[dplyr ggplot2 tidyr]; };
   swirl = derive2 { name="swirl"; version="2.4.5"; sha256="0cqyn2rnqfkb2wza4zdr1kcms5l0igbq79xh5i7765agdday2z9w"; depends=[digest httr RCurl stringr testthat yaml]; };
   swirlify = derive2 { name="swirlify"; version="0.5.3"; sha256="1bpg6yz2adgspjlwsf2q83j1bq0iyvp9938smgc41861nsclngwr"; depends=[base64enc readr rmarkdown shiny shinyAce stringr swirl whisker yaml]; };
   swissMrP = derive2 { name="swissMrP"; version="0.62"; sha256="1vy6h6c4v49zlsli77ilj4df8cfh67rqmki71v6j1aqw6kf3b649"; depends=[arm blme lme4 maptools sp]; };
-  swissdd = derive2 { name="swissdd"; version="1.1.4"; sha256="0ad260b4sfism5q1jxjazg6q33283ncld1m7gfdrps3xg1kyfirs"; depends=[dplyr ggplot2 httr jsonlite lubridate purrr RCurl sf stringr tibble tidyr]; };
   swissparl = derive2 { name="swissparl"; version="0.2.2"; sha256="0rj01qcg0vh3vwrbag42w7mvb9ld800hzn4lszmbiv13yifgi8ys"; depends=[crayon dplyr ggplot2 httr jsonlite magrittr purrr stringr tibble tidyr]; };
   switchboard = derive2 { name="switchboard"; version="0.1"; sha256="1qh6cfm5h0j17ldljpgj400f2dhcfaa4x1157d46cyfawfdscvc5"; depends=[magrittr]; };
   switchcase = derive2 { name="switchcase"; version="0.1.1"; sha256="0h31nzyf7dzalgl65cw0k1fxylbmx78l45r5id2wcqdym23dv9a9"; depends=[]; };
   switchnpreg = derive2 { name="switchnpreg"; version="0.8-0"; sha256="1vaanz01vd62ds2g2xv4kjlnvp13h59n8yqikwx07293ixd4qhpw"; depends=[expm fda HiddenMarkov MASS]; };
-  switchr = derive2 { name="switchr"; version="0.14.3"; sha256="1aw9n6hh62qvggl1flpxfyqgp4sj6vj1mlfqfhx923hl53c7cr31"; depends=[RCurl RJSONIO]; };
+  switchr = derive2 { name="switchr"; version="0.14.5"; sha256="1fxn75kgnmq9q4jic4jrqvljylwv9fa25nbhyqm4vmlx5wvissgp"; depends=[RCurl RJSONIO]; };
+  switchrGist = derive2 { name="switchrGist"; version="0.2.5"; sha256="0ywx7sihh9q74mn0kvdcdflnks0cfybrgy1b5bvmn6ygxb3s605v"; depends=[gistr httpuv RJSONIO switchr]; };
   swmmr = derive2 { name="swmmr"; version="0.9.1"; sha256="140sx0y00ngxsyn7n1l0aay7vk2jk8hf81aiwh46k761cpc5y28d"; depends=[dplyr purrr Rcpp readr tibble tidyr xts zoo]; };
   sybil = derive2 { name="sybil"; version="2.2.0"; sha256="05ccq2m4z6akslymdm2vd3x99pi9z0ha1xcnhwvwcvibhqn9hmd5"; depends=[lattice Matrix]; };
   sybilDynFBA = derive2 { name="sybilDynFBA"; version="1.0.2"; sha256="0351qlvyynygjf43q93gkqzzaff3v6gynvbks1ix1mank3afn226"; depends=[sybil]; };
@@ -17339,7 +17536,7 @@ in with self; {
   systemicrisk = derive2 { name="systemicrisk"; version="0.4.2"; sha256="021ypw9fag5kmk2q041pj2jfzgfg640yda7wvh0yzdmg73p6fvsw"; depends=[lpSolve Rcpp]; };
   syt = derive2 { name="syt"; version="0.2.0"; sha256="1pfl3d6laa075z88fqgjnrsn21lgjsak0bjdws09b9knc0ifgfsz"; depends=[Matrix partitions]; };
   syuzhet = derive2 { name="syuzhet"; version="1.0.6"; sha256="16iccqdbw02iw82nah6kwz3gwfghi864j2y698n4b9dyc386ijzv"; depends=[dplyr dtt NLP rlang textshape tidyr zoo]; };
-  tLagPropOdds = derive2 { name="tLagPropOdds"; version="1.5"; sha256="0d0xg9gnmvnsyirli2rldl78v4jvy9bc1a09n30xq10dn4faqp13"; depends=[dplyr R_utils survival]; };
+  tLagPropOdds = derive2 { name="tLagPropOdds"; version="1.6"; sha256="0hgkg359rvinlijhd58x4236v7cmf9hmfn8ngb1i4f95s9v3v7ch"; depends=[dplyr R_utils survival]; };
   tRnslate = derive2 { name="tRnslate"; version="0.0.3"; sha256="0sm0cqxylsxmnhqs1c8w81d6q2sj7nmm86mds59kiyspy9m67sbc"; depends=[]; };
   tRophicPosition = derive2 { name="tRophicPosition"; version="0.7.7"; sha256="1j06rc5s6jpz8i116m98ygc75sx6lk8jd9gw6fb8q342mbbmqh8h"; depends=[coda data_table ggplot2 gridExtra hdrcde MCMCglmm plyr rjags]; };
   tTOlr = derive2 { name="tTOlr"; version="0.2"; sha256="1fk33vp6y65mls1iczjf63wzj1rl1knbdcbd4rnqqfdcqhibb3p3"; depends=[lattice latticeExtra]; };
@@ -17361,10 +17558,10 @@ in with self; {
   tables = derive2 { name="tables"; version="0.9.6"; sha256="1y0gnqd2q0gn1dr2nxdlsvyl4g5jnj9y9lx18bhvhrfzb5038j5w"; depends=[htmltools knitr]; };
   tableschema_r = derive2 { name="tableschema.r"; version="1.1.1"; sha256="14cnbijxdhf7qbsiqbk8p516mfh9bgdbcg32vn5pycsp30k78b2h"; depends=[config future httr iterators jsonlite jsonvalidate lubridate purrr R6 RCurl rlist stringr urltools]; };
   tablesgg = derive2 { name="tablesgg"; version="0.8-1"; sha256="0vkl9386qnalr5d0libqs2ihszggs0qyx6ffyjn8j8ab3kczzxhr"; depends=[ggplot2 tables]; };
-  tablet = derive2 { name="tablet"; version="0.4.0"; sha256="02s64ckm36k5q8vkpx231jb41pw968my3q00m3saa3iy3v2fzkg3"; depends=[dplyr DT kableExtra rlang spork tidyr]; };
+  tablet = derive2 { name="tablet"; version="0.4.8"; sha256="17s13srv58jyxchcy44dnl1p7zbsy0ah2sx3im2cjs6n6sw3yxwl"; depends=[dplyr DT kableExtra rlang spork tidyr]; };
   tabnet = derive2 { name="tabnet"; version="0.3.0"; sha256="04m8bg1glnhxb2pjcxnwlcwzbxvk0bskz00dkd4lyvgsq74xwmvi"; depends=[coro glue hardhat magrittr progress rlang tibble torch vctrs]; };
   tabr = derive2 { name="tabr"; version="0.4.5"; sha256="1nkzbqy9nb6pd895glld009vmry5rnhd7h9q31s8xh97kwlwk9c2"; depends=[crayon dplyr ggplot2 magrittr purrr tibble tidyr]; };
-  tabshiftr = derive2 { name="tabshiftr"; version="0.3.0"; sha256="05xr8xml7r5kzka9x1lhz0pzq8il1l1zkrjx6mlibkz7l36s6gb2"; depends=[checkmate crayon dplyr magrittr purrr rlang stringr testthat tibble tidyr tidyselect]; };
+  tabshiftr = derive2 { name="tabshiftr"; version="0.3.2"; sha256="09fmz9p6ky1z45f4vyp5cq267cijhd5q9aqwwk7r830jhwnm9547"; depends=[checkmate crayon dplyr magrittr purrr rlang stringr testthat tibble tidyr tidyselect]; };
   tabuSearch = derive2 { name="tabuSearch"; version="1.1.1"; sha256="0396a8hla508na1hmyyhfbl8w10dbg810cln2xyhhvxi7rr223dj"; depends=[]; };
   tabula = derive2 { name="tabula"; version="1.6.1"; sha256="1zjggqv2b2m0mz57ic2q4knm0n1jsb8z1xnb57aajbmqz48zyx3w"; depends=[arkhe dimensio ggplot2 rlang]; };
   tabularMLC = derive2 { name="tabularMLC"; version="0.0.3"; sha256="1gppzbf780ci4vrvy7rd3xa0bvwxca5f05a9xk194xv913vyd440"; depends=[Rcpp RcppArmadillo]; };
@@ -17380,15 +17577,15 @@ in with self; {
   tailloss = derive2 { name="tailloss"; version="1.0"; sha256="0lmjgjs6d94b70i10vx66fyvlxm5swwqbcjsnqa3lmldzz6m4jc1"; depends=[MASS]; };
   taipan = derive2 { name="taipan"; version="0.1.2"; sha256="192sy5pgq74vs31p7jfn6svdzf9mk9ybppzhp1rlki1bagmm5f1r"; depends=[shiny]; };
   takos = derive2 { name="takos"; version="0.2.0"; sha256="09w9lkqhxdb26fvrsb8n16601kqpr2smplipx3lj6cdgbyhb1hqz"; depends=[baseline broom colorRamps data_table deSolve devEMF MASS minpack_lm pracma segmented sfsmisc smoother]; };
-  tanaka = derive2 { name="tanaka"; version="0.1.3"; sha256="1x5czib9vqpxbr61if1rnlyrld6gx2zf22jz5rcagb8x3bxmd5g6"; depends=[isoband raster sf]; };
+  tanaka = derive2 { name="tanaka"; version="0.2.0"; sha256="0s1pmjyjiask5bvrwzllzzhkw6xqqqf5bqf5rc1akl89dacyzwll"; depends=[isoband sf terra]; };
   tangles = derive2 { name="tangles"; version="0.8.1"; sha256="06a5hn5hkvgr6pcjz3n0vi1zwmv00wypi5f62agqh8mas80v44vh"; depends=[digest raster sp]; };
   tangram = derive2 { name="tangram"; version="0.7.1"; sha256="0p0hrn3jv1l00nsjqa0j9yv4982r08fwgsj01pc06vmipg87kjiy"; depends=[base64enc digest htmltools knitr magrittr R6 stringi stringr]; };
   tangram_pipe = derive2 { name="tangram.pipe"; version="1.1.0"; sha256="08whj66nf3idqvjnzgni5iqyqakbdwvrapdixx0zff7q8qbkar8z"; depends=[dplyr]; };
   tapkee = derive2 { name="tapkee"; version="1.2"; sha256="1xgz2cv5jb1hdnl8y8zs4x6p1dk1vv8zbs4wfsj61gpfyf9gkh4f"; depends=[]; };
   tapnet = derive2 { name="tapnet"; version="0.3"; sha256="1fjg98m19iwbzijs5b5l4ssrbx1shv1hmgn1166cbni9y76m44sh"; depends=[ape bipartite MPSEM phytools vegan]; };
-  tarchetypes = derive2 { name="tarchetypes"; version="0.4.0"; sha256="1ajncm404radx0czqmvd7knrlk0kg39s18fav4gxx3y8lk98qw64"; depends=[digest dplyr fs rlang targets tibble tidyselect vctrs withr]; };
+  tarchetypes = derive2 { name="tarchetypes"; version="0.4.1"; sha256="1js09qap4a63m7ldfk8lxj438p5fjy893zqck7vvzmv6zyzxhlg6"; depends=[digest dplyr fs rlang targets tibble tidyselect vctrs withr]; };
   targeted = derive2 { name="targeted"; version="0.2.0"; sha256="0xcw2xcvp4yz37djl2m7fwr61hfrarbrr05rcnbqkjs3y4q5p99g"; depends=[data_table digest futile_logger future_apply lava optimx progressr Rcpp RcppArmadillo]; };
-  targets = derive2 { name="targets"; version="0.9.0"; sha256="13d673v13bn17ykdiw4n164azdshrdggcb5gm7i2ly19njfhfild"; depends=[callr cli codetools data_table digest igraph knitr R6 rlang tibble tidyselect vctrs withr yaml]; };
+  targets = derive2 { name="targets"; version="0.10.0"; sha256="1c9llj6iwry6mj92sy1hqk9kkyyxwa60zr20vj4hivlfff1s2h88"; depends=[base64url callr cli codetools data_table digest igraph knitr R6 rlang tibble tidyselect vctrs withr yaml]; };
   tashu = derive2 { name="tashu"; version="0.1.1"; sha256="0rirjalridr79a7j3qz80l2vp6m8paqr97ac241b58756k7nr5j7"; depends=[dplyr drat ggplot2 lubridate plyr randomForest RColorBrewer reshape2]; };
   tastypie = derive2 { name="tastypie"; version="0.1.0"; sha256="15ivl0rvnp1j09axk0jaf1wip5cjbnvfmx0crhqqd5y27mfa2hzd"; depends=[dplyr fmsb ggplot2 packcircles RColorBrewer scales shadowtext tibble]; };
   tatest = derive2 { name="tatest"; version="1.0"; sha256="1yd9pdpdhxwpllnj5wxa7ly29qiw8qywx9lx0w3nizczlx35fgjy"; depends=[]; };
@@ -17401,6 +17598,7 @@ in with self; {
   taxize = derive2 { name="taxize"; version="0.9.99"; sha256="0738fzckbwkgf21vranxhcfjq487rp3kjdnz2gfvdd1dm21jfp8s"; depends=[ape bold cli conditionz crayon crul data_table foreach jsonlite natserv phangorn R6 ritis rotl rredlist tibble wikitaxa worrms xml2 zoo]; };
   taxizedb = derive2 { name="taxizedb"; version="0.3.0"; sha256="1d7wz6df624263myq4rlvr3mhzhhhdglrrs7f44j201z4f536a2z"; depends=[curl DBI dbplyr dplyr hoardr magrittr readr rlang RSQLite tibble]; };
   taxlist = derive2 { name="taxlist"; version="0.2.2"; sha256="0xdl7aw3ifn4v2wclk38iyayy9r71cx5diir1m4pws986qfdddb4"; depends=[foreign stringdist taxa taxize vegdata]; };
+  taxonbridge = derive2 { name="taxonbridge"; version="1.0.1"; sha256="1miqh3g75199w65k9f6gbkpdylms2gr43g9ncv6145nbf6f5cqk6"; depends=[dplyr ggplot2 purrr rje vroom]; };
   taxonomizr = derive2 { name="taxonomizr"; version="0.8.0"; sha256="0i1xn5x8c555hdlnfbhpga4vzn1l6kcqjgcw472y8yg0n7s2birx"; depends=[curl data_table R_utils RSQLite]; };
   taxotools = derive2 { name="taxotools"; version="0.0.79"; sha256="1q69dh1ifa7mc8y3bdgvvg97s9prflh6mczqr4clxnsysd3xhafs"; depends=[plyr sqldf stringdist stringr taxize wikitaxa]; };
   tayloRswift = derive2 { name="tayloRswift"; version="0.1.0"; sha256="1gr179hzqxih49v214dqawfhsbsahhyj1lbj77vqv00zq1siigpl"; depends=[]; };
@@ -17408,7 +17606,7 @@ in with self; {
   tbart = derive2 { name="tbart"; version="1.0"; sha256="0m8l9ic7na70il6r9ha0pyrjwznbgjq7gk5xwa5k9px4ysws29k5"; depends=[Rcpp sp]; };
   tbd = derive2 { name="tbd"; version="0.1.0"; sha256="1wmfy3p82gckhfsslxzapryfygmircii7x24j6ysfyx52gy8iwf5"; depends=[numDeriv]; };
   tbl2xts = derive2 { name="tbl2xts"; version="1.0.4"; sha256="1h54yhwbmlzgii202dcrz336d790374p213f1ba6rlm5syad88v9"; depends=[dplyr rlang tibble xts zoo]; };
-  tbm = derive2 { name="tbm"; version="0.3-4"; sha256="1n2lql8h4ikm49l7cn9n3ybnivhgx373hmxkarwm4an4d0ifri0z"; depends=[basefun coneproj mboost mlt sandwich variables]; };
+  tbm = derive2 { name="tbm"; version="0.3-5"; sha256="0qq6zjz37j31jrw0lxsf6vgxwhs8swkqg48jwc320vpz1qjqj7xv"; depends=[basefun coneproj mboost mlt sandwich variables]; };
   tbma = derive2 { name="tbma"; version="0.1.0"; sha256="066p3szfayyimwblghm1lipjf21xgscq1fzbzpqz16lqjpb99ni1"; depends=[data_table ranger RcppRoll zoo]; };
   tboot = derive2 { name="tboot"; version="0.2.1"; sha256="0pijvs5k28ndnkyy4lwln6wlcag0pnbndg33c5djyaxhns77faz2"; depends=[kernlab quadprog]; };
   tbrf = derive2 { name="tbrf"; version="0.1.5"; sha256="1mxfvgb18a62igdh3af4m8x6fl69s25j4x7isd70w744w6jvch3h"; depends=[boot dplyr lubridate purrr rlang tibble tidyr]; };
@@ -17421,7 +17619,7 @@ in with self; {
   tcpl = derive2 { name="tcpl"; version="2.0.2"; sha256="0xic4jy8ldawmkvvwckiyy57ai5wif9yn7hyfndbxr6mvjl3rbbc"; depends=[data_table DBI numDeriv RColorBrewer RMySQL sqldf]; };
   tcplfit2 = derive2 { name="tcplfit2"; version="0.1.3"; sha256="1y69z27mgphcj5qkhlpgv0as59aralimf7mbfrdz5n6nkqfj5krr"; depends=[future future_apply numDeriv RColorBrewer stringr]; };
   tcsinvest = derive2 { name="tcsinvest"; version="0.1.1"; sha256="1harmb5ni70k241aq1vww5w7fmjqmlwd6nfma2xa44f3hj7nrf52"; depends=[data_table httr jsonlite websocket]; };
-  td = derive2 { name="td"; version="0.0.5"; sha256="1wbhrz0yv1zv974xbz17k25dgb30afbhgk5xa8g928zfw9hbvrqa"; depends=[RcppSimdJson]; };
+  td = derive2 { name="td"; version="0.0.6"; sha256="1zycwnl7n03jw76n8qrk2zhgnakj6npid25pflj6dnmbjc47ih32"; depends=[RcppSimdJson]; };
   tdROC = derive2 { name="tdROC"; version="1.0"; sha256="137j1m9pysjcz1gsfcym0438by3c7na21ccjlqf7xfccr1y8k2k6"; depends=[survival]; };
   tdaunif = derive2 { name="tdaunif"; version="0.1.0"; sha256="0a24lqiimp54fmj4zi7bakxral8ny60n25h9arwl6m00c7cn98pl"; depends=[]; };
   tdigest = derive2 { name="tdigest"; version="0.3.0"; sha256="17axsir4xig3vm3sc2gziy9n0p80b14vg52nwys23bzkfp0n63bm"; depends=[magrittr]; };
@@ -17438,7 +17636,7 @@ in with self; {
   telefit = derive2 { name="telefit"; version="1.0.3"; sha256="0z6dr4ni00dyagbkzr3c7l4h2g23w3bfj99a9755vmrzyy6r45iq"; depends=[abind coda cowplot dplyr fields foreach ggplot2 gtable itertools mvtnorm raster Rcpp RcppArmadillo RcppEigen reshape2 scales scoringRules sp stringr]; };
   telegram = derive2 { name="telegram"; version="0.6.0"; sha256="02wwa115f0vz2d9y4nf01397hjkpc3cv2gdl47snrajrm41gji7y"; depends=[curl httr jsonlite R6]; };
   telegram_bot = derive2 { name="telegram.bot"; version="2.4.0"; sha256="1bvfnr6k0zxdawrf63yh8wj9hcgq1xvy791xbqhiy0isaa86yfw9"; depends=[curl httr jsonlite R6]; };
-  telemac = derive2 { name="telemac"; version="0.1.0"; sha256="13wdhaiw9d7rzq5hb4k7grkfkngqwkgyw3g76j8si2jfkw6hhwwd"; depends=[dplyr fs gstat lubridate magrittr purrr raster Rcpp rlang sf sp stringr sys tidyr tidyselect]; };
+  telemac = derive2 { name="telemac"; version="0.1.1"; sha256="12wkhya49yi0qqm73sizgnf6r5lkssg07wc6pq9iychjjd0cxfly"; depends=[data_table dplyr fs gstat magrittr purrr raster Rcpp RcppArmadillo rlang sf sp stringr sys tidyr tidyselect]; };
   tempR = derive2 { name="tempR"; version="0.9.9.19"; sha256="0gr60hlah6lngkak158xqxbdavgad3kyq4casc686f52hz1llwic"; depends=[]; };
   tempdisagg = derive2 { name="tempdisagg"; version="1.0"; sha256="1n1ng7xki4syy305gsclz7wrqb48vkjw3la0vxs975apv1mc4pzr"; depends=[]; };
   temperatureresponse = derive2 { name="temperatureresponse"; version="0.2"; sha256="1id3wjzfs132hj8cm7gpf105qaay9dff07ixah9rmn5sk6si0zmq"; depends=[AICcmodavg broom dplyr minpack_lm numDeriv rootSolve]; };
@@ -17459,11 +17657,11 @@ in with self; {
   tergmLite = derive2 { name="tergmLite"; version="2.5.5"; sha256="0sg19ppvmy1wfqbvchn98maxiqzaa67yz64g4mhyxviksh1yzwxd"; depends=[ergm network networkDynamic Rcpp statnet_common tergm tibble]; };
   term = derive2 { name="term"; version="0.3.3"; sha256="04zl9hb3kgji5y3lq7d1pa4fh7mr0kxxjx1pmyj3dla8mqjxv22r"; depends=[chk extras lifecycle purrr rlang universals vctrs]; };
   ternvis = derive2 { name="ternvis"; version="1.2"; sha256="057i6i3ygxrin0npc18gsg3dpdldzafyb5sr6lix5mhy6b09lkxf"; depends=[dichromat maps quadprog]; };
-  terra = derive2 { name="terra"; version="1.4-22"; sha256="0xir5d6krf6n5dw9nzy04j4gnrfvyr5f545ksx474mv4cyiwzv5q"; depends=[Rcpp]; };
+  terra = derive2 { name="terra"; version="1.5-17"; sha256="1rz6dd78i3aq82vl9q4fw17y5cxj2pcmra5mlhb0ca1df78mgb77"; depends=[Rcpp]; };
   terrainmeshr = derive2 { name="terrainmeshr"; version="0.1.0"; sha256="1xab6wzq2izzdvsss1rlgp5m3cn45naxhymq6cglipj0fd792jbr"; depends=[Rcpp]; };
-  terrainr = derive2 { name="terrainr"; version="0.5.1"; sha256="07dy8yqgnidvlnlq05g93grwv9vvyzq0c4g2a0kgcw6y5735nllj"; depends=[base64enc gdalUtils ggplot2 httr magick png raster sf units]; };
-  tesseract = derive2 { name="tesseract"; version="4.2.0"; sha256="11js332yps3hq94mzy421ya0wcpfbbarmfd45zspjyh26s48dg1g"; depends=[curl digest pdftools rappdirs Rcpp]; };
-  test2norm = derive2 { name="test2norm"; version="0.2.0"; sha256="02dmskqnxinfdxxq5s969p37fps0wpiz6mrcnx03f03a3gzqljl0"; depends=[mfp]; };
+  terrainr = derive2 { name="terrainr"; version="0.6.0"; sha256="16wwvhxa56qcm8jfni9q7fg1iv7h56z71hvckivi07n4dkgml2ci"; depends=[base64enc ggplot2 httr magick png raster rgdal sf units]; };
+  tessellation = derive2 { name="tessellation"; version="1.0.0"; sha256="1v6c3k8724qlrijmn56xjlkryb2f5kp67h77h5cq6av5qnf3jyv0"; depends=[cxhull english hash R6 randomcoloR rgl scales sets]; };
+  tesseract = derive2 { name="tesseract"; version="5.0.0"; sha256="1xdwjm3bing15ljdicl20g88ymmd0bbjmlbah5hzvws5b656iicn"; depends=[curl digest pdftools rappdirs Rcpp]; };
   testDriveR = derive2 { name="testDriveR"; version="0.5.1"; sha256="0wjdqvsyv33fsg1lljp9m0bhz38mpfgpgickgj4zdspc9x6lbnv6"; depends=[]; };
   testarguments = derive2 { name="testarguments"; version="0.0.1"; sha256="1x77z0pljfi6z4bs6db3zsjbpyypsd3jbd0ykh4pq07595phh8x5"; depends=[dplyr ggplot2 magrittr plyr reshape2]; };
   testassay = derive2 { name="testassay"; version="0.1.1"; sha256="1gc35s5an0cpvadwx4bswy5lzcp01az3gnkjhvph6sm3pi3xjxm7"; depends=[]; };
@@ -17473,7 +17671,7 @@ in with self; {
   tester = derive2 { name="tester"; version="0.1.7"; sha256="1x5m43abk3x3fvb2yrb1xwa7rb4jxl8wjrnkyd899ii1kh8lbimr"; depends=[]; };
   testforDEP = derive2 { name="testforDEP"; version="0.2.0"; sha256="1mgzhj8b35r5cm4bl0nnyxj0h7rwd28d17qvgvaky2kvm2r83cf9"; depends=[Hmisc minerva Rcpp]; };
   testit = derive2 { name="testit"; version="0.13"; sha256="104dcxdmzgj340mwk4lpw1y6j1xc4rv4a2v09ckx3nvbmdl73m4h"; depends=[]; };
-  testthat = derive2 { name="testthat"; version="3.1.1"; sha256="106gr1l65nvvy376yvv0a9i5vd9vadaxbprfjnpm31rqyns5yxg6"; depends=[brio callr cli crayon desc digest ellipsis evaluate jsonlite lifecycle magrittr pkgload praise processx ps R6 rlang waldo withr]; };
+  testthat = derive2 { name="testthat"; version="3.1.2"; sha256="0ndnmv3gbhlsyqya382wqfkkhlrgpdjmh7mymsv6ja52ihbachgd"; depends=[brio callr cli crayon desc digest ellipsis evaluate jsonlite lifecycle magrittr pkgload praise processx ps R6 rlang waldo withr]; };
   testthis = derive2 { name="testthis"; version="1.1.1"; sha256="0csragn695698dpkr9d3md0g81bzpy5mybd0jik669q9cs8sdzh2"; depends=[assertthat devtools fs magrittr pkgload rprojroot stringi testthat usethis]; };
   testtwice = derive2 { name="testtwice"; version="1.0.3"; sha256="06fr13ww2wqk753p0cnl1ldn3nqrvdfnz0lgkpldcn0xwiwjh2x2"; depends=[mvtnorm]; };
   tetraclasse = derive2 { name="tetraclasse"; version="0.1.21"; sha256="1cl2cah0xi6x3rvvdy56iszai6rkbxc1w3x13v0l1z1nryff7c6a"; depends=[dplyr FactoMineR ggplot2 ggrepel magrittr reshape2 tibble tidyr]; };
@@ -17483,7 +17681,7 @@ in with self; {
   texreg = derive2 { name="texreg"; version="1.37.5"; sha256="0cb3kvxfi9k9g958fkb73cgqdxx3h9bz2cnaakic4wgrkv27mk2c"; depends=[httr]; };
   text = derive2 { name="text"; version="0.9.10"; sha256="1ramsv2pbg57yyxp5qjkls82gl5icda6f5116hr0w5s0w3jpajmj"; depends=[cowplot dplyr furrr future ggplot2 ggrepel magrittr parsnip purrr recipes reticulate rlang rsample stringr tibble tidyr tokenizers tune workflows yardstick]; };
   text_alignment = derive2 { name="text.alignment"; version="0.1.2"; sha256="0qjnzdm7savn2jqmm23cd3rszyihnhb5rfnygc36ccfd15vav79j"; depends=[Rcpp]; };
-  text2map = derive2 { name="text2map"; version="0.1.1"; sha256="1kwbb9bp3ikksh24i69gclmanyqri3xn7rdbf1x93lhj7fxzbxrs"; depends=[doParallel dplyr fastmatch foreach igraph kit magrittr Matrix mlpack qgraph rlang stringi stringr text2vec tibble]; };
+  text2map = derive2 { name="text2map"; version="0.1.3"; sha256="0p8knb450rz79531cb9kkc4rlns3p7qrq212jss2jcwxfnl640dv"; depends=[doParallel dplyr fastmatch foreach igraph kit magrittr Matrix mlpack qgraph rlang stringi stringr text2vec tibble]; };
   text2sdg = derive2 { name="text2sdg"; version="0.1.2"; sha256="1yq46jh11jymiqb4dmbvl1w35jq9ww6v3kra8px013qfdxvdnvlg"; depends=[corpustools dplyr ggplot2 magrittr stringr tibble tidyr]; };
   text2speech = derive2 { name="text2speech"; version="0.2.13"; sha256="0c0h4yfp1gzaf4snav84iy5m0fx8az0pw1h2s33239dxkwcff893"; depends=[aws_signature dplyr googleAuthR googleLanguageR httr knitr magrittr mscstts tuneR]; };
   text2vec = derive2 { name="text2vec"; version="0.6"; sha256="0r75cv77x2zm1z66s95hic71dpbqmybz39n48q6mz7gfd3m7312y"; depends=[data_table digest lgr Matrix mlapi R6 Rcpp rsparse stringi]; };
@@ -17521,7 +17719,7 @@ in with self; {
   tfhub = derive2 { name="tfhub"; version="0.8.1"; sha256="19wbmdh31wsqmxwsm7ks3j5n60my49b3safp587cpwf0y70rihsi"; depends=[magrittr reticulate rstudioapi tensorflow vctrs]; };
   tfio = derive2 { name="tfio"; version="0.4.1"; sha256="089vh0k12z0ymk4v585hfnl5yqp28rgzqgy633m874h6fqzhhxvp"; depends=[forge magrittr reticulate tensorflow tfdatasets]; };
   tfplot = derive2 { name="tfplot"; version="2021.6-1"; sha256="0w0m9d2lvjl96vxwvks2v086y4gqiv2n0d50j2yrngys9p2nrlxc"; depends=[tframe]; };
-  tfprobability = derive2 { name="tfprobability"; version="0.12.0.0"; sha256="1f57fzmvgh5qhpf750c16lmppjcbbdjz6w2cqr85kjv049ch3a50"; depends=[keras magrittr reticulate tensorflow]; };
+  tfprobability = derive2 { name="tfprobability"; version="0.15.0"; sha256="0xsszigx805kwr5df4gnyxkng4sq9h0wjxa8lh2nvh4v24s4pgxj"; depends=[keras magrittr reticulate tensorflow]; };
   tframe = derive2 { name="tframe"; version="2015.12-1.1"; sha256="1yff22jzh1mp73zbz2mav6z8m42lylfjhb8dgxj4337fv3if3i13"; depends=[]; };
   tframePlus = derive2 { name="tframePlus"; version="2016.7-1"; sha256="12xi2xw4pr78n3cppfknpxmjp2263pb4kqj9v412yxwp82rgb6yk"; depends=[tframe timeSeries]; };
   tfruns = derive2 { name="tfruns"; version="1.5.0"; sha256="04lfckg1if3kfwcl4s4fcc9aw04crwk4m1qr55ag22j2x2jlb2l9"; depends=[base64enc config jsonlite magrittr reticulate rlang rstudioapi tidyselect whisker yaml]; };
@@ -17535,7 +17733,6 @@ in with self; {
   thankr = derive2 { name="thankr"; version="1.0.0"; sha256="089ikp85d5ia6a1qzmw8dkgcmz628cibmwfzcpk7m3ii8acxq91w"; depends=[]; };
   theiaR = derive2 { name="theiaR"; version="0.4.0"; sha256="07m532r67cil2ya2w9lfhycrm8n0ga0r3x7jwbp5jbd83hw4l1p6"; depends=[askpass httr R6 raster XML]; };
   thematic = derive2 { name="thematic"; version="0.1.2.1"; sha256="1hr9373256n1rya3l2z2sqwfifypsh6wrs2s27aqchh9sm0blkmy"; depends=[farver ggplot2 rappdirs rlang rstudioapi scales]; };
-  themetagenomics = derive2 { name="themetagenomics"; version="1.0.2"; sha256="14i81cd9cyzhi3j2d9ygwlairkimhx8ffvva3pg3xwwvpywb6mla"; depends=[ggplot2 lda lme4 Matrix plotly Rcpp rstan scales shiny stm]; };
   themis = derive2 { name="themis"; version="0.1.4"; sha256="0zc7djygyiy1sjgvbznb6nqcglfnbybxaz5frphns92m7smqy0l9"; depends=[dplyr generics purrr RANN recipes rlang ROSE tibble unbalanced withr]; };
   thermocouple = derive2 { name="thermocouple"; version="1.0.2"; sha256="1rlvhw3i83iq1vibli84gj67d98whvgkxafwpmisva1m4s1bmij4"; depends=[]; };
   thestats = derive2 { name="thestats"; version="0.1.0"; sha256="15y6ibw7i4nrm8990yirqf64gl1x4l7lj3ajk19vi6ccxw82x2gl"; depends=[dplyr]; };
@@ -17544,7 +17741,7 @@ in with self; {
   thickmatch = derive2 { name="thickmatch"; version="0.3.1"; sha256="0q7wpilbk8jm3q7m5hb114jpbv4ri1745v9sbdf222l6ymds6pia"; depends=[DiPs MASS plyr rcbalance]; };
   thief = derive2 { name="thief"; version="0.3"; sha256="12ymkkisg5p0g1gmvlczhp4dc7mirjg55fqqmz2d90673vlg6rfq"; depends=[forecast ggplot2 hts]; };
   thinkr = derive2 { name="thinkr"; version="0.15"; sha256="17mfw067advk8vxlz8x0w0vww3718zp2fcs00sca8ivlh8yh9fcg"; depends=[assertthat crayon devtools dplyr ggplot2 lazyeval lubridate magrittr officer purrr readr rvg stringi stringr tidyr]; };
-  this_path = derive2 { name="this.path"; version="0.4.4"; sha256="0z8m0l1sknk5l4gn93f3im8lsr4dxzks8qx26sqsyf98kdi5qxw4"; depends=[]; };
+  this_path = derive2 { name="this.path"; version="0.5.0"; sha256="0fcmdkwrg4gmss2q2xkwrlr6wy5v0qzqzb5l890adihmqvlhb8ra"; depends=[]; };
   thor = derive2 { name="thor"; version="1.1.2"; sha256="0r4kgzbydjb7z0j808g5zdkx5wmbqncqg453bqm4ylafpj5z79kv"; depends=[R6 storr]; };
   thorn = derive2 { name="thorn"; version="0.2.0"; sha256="0sybjqwv9al5khkhhc7khbgr7n2vy6aggarh9n75mxpa8hn7j2qr"; depends=[htmlwidgets]; };
   threeBrain = derive2 { name="threeBrain"; version="0.2.4"; sha256="1pgfphw9xwn23rjzylh3crw10sj86qc7ihh4kzpr758w1b84mfd2"; depends=[digest dipsaus freesurferformats gifti htmlwidgets jsonlite oro_nifti R6 shiny stringr xml2]; };
@@ -17563,21 +17760,20 @@ in with self; {
   tibblify = derive2 { name="tibblify"; version="0.1.0"; sha256="0mdi9x36nrlcbchl7b2rlf4j1k0y6c7657aznm7xa0396ciij5fk"; depends=[crayon purrr rlang tibble vctrs]; };
   tictactoe = derive2 { name="tictactoe"; version="0.2.2"; sha256="1fx8plj5zr04xwk5hfj3zqhcknidxlzya2q14cf0m3y33a86lx42"; depends=[hash]; };
   tictoc = derive2 { name="tictoc"; version="1.0.1"; sha256="0197f540fkcxx5blx9jjnbvwgdnsdv55znmvgdizdp8pqhsib6m0"; depends=[]; };
-  tidyBdE = derive2 { name="tidyBdE"; version="0.2.2"; sha256="041hwm73galrwjr4xnwzw5pzwp54g88w0464gmszrhs27lhhsr06"; depends=[dplyr ggplot2 readr scales tibble]; };
+  tidyBdE = derive2 { name="tidyBdE"; version="0.2.3"; sha256="1b55d5i3fcy9bhijxhmwrknla7xlzmqzrawdzzd660365rdbgkm4"; depends=[dplyr ggplot2 readr scales tibble]; };
   tidyCpp = derive2 { name="tidyCpp"; version="0.0.6"; sha256="1w6fr4q137ar6557a8x1jpmfmlsga59621jwq0sf37bnn535i4gw"; depends=[]; };
-  tidyHeatmap = derive2 { name="tidyHeatmap"; version="1.3.1"; sha256="107bfyjakqfiimnwdyl2nhvx1fjpzv693akvi5l0cai6vjs007wj"; depends=[circlize ComplexHeatmap dendextend dplyr lifecycle magrittr purrr RColorBrewer rlang tibble tidyr viridis]; };
+  tidyHeatmap = derive2 { name="tidyHeatmap"; version="1.6.0"; sha256="15ih0pjm2d5xdqdyfy9mwg0yag1gvdmqdl70a1m3j46qwj5z6chg"; depends=[circlize ComplexHeatmap dendextend dplyr lifecycle magrittr patchwork purrr RColorBrewer rlang tibble tidyr viridis]; };
   tidyLPA = derive2 { name="tidyLPA"; version="1.1.0"; sha256="1lyd8cx90j49bm65330i57jyimiid75c2pvnzk7dcp6mbmglvimz"; depends=[dplyr ggplot2 gtable mclust mix MplusAutomation tibble]; };
   tidyMicro = derive2 { name="tidyMicro"; version="1.47"; sha256="02pc6rh0l7xdrqhihi53zp17x0walc0mpm70spm7yrwzkbc486lv"; depends=[ade4 broom car cowplot dplyr Evomorph factoextra ggplot2 ggrepel gridExtra latex2exp lme4 lsr magrittr MASS Matrix plotly plyr png purrr rlang scales scatterplot3d shapes stringr ThreeWay tibble tidyr tidyverse vegan VGAM]; };
-  tidyREDCap = derive2 { name="tidyREDCap"; version="0.2.0"; sha256="03kx91avw6zbmrcxvhkb7i3syw3ajkv9ypvgn2iq3ki887vbiwzw"; depends=[dplyr janitor magrittr purrr rlang stringr tibble tidyr]; };
+  tidyREDCap = derive2 { name="tidyREDCap"; version="0.2.2"; sha256="15xbkcfikzlglhh2y54rbpknbhzm6h9bq72f4h3g8bmfr44vy72g"; depends=[dplyr janitor magrittr purrr rlang stringr tibble tidyr]; };
   tidyRSS = derive2 { name="tidyRSS"; version="2.0.4"; sha256="0djkdjgs64f00pcs5gc8vmijyjsfb5sm0p64bybhs1y0kb3wlnl3"; depends=[anytime dplyr glue httr jsonlite magrittr purrr rlang tibble tidyselect vctrs xml2]; };
-  tidySEM = derive2 { name="tidySEM"; version="0.2.0"; sha256="115nr2h3bz9pjxf5c1cw3b2v16nix5z41r49zjqzn8yrfjs59crw"; depends=[ggplot2 gtable igraph lavaan MplusAutomation OpenMx psych]; };
-  tidyUSDA = derive2 { name="tidyUSDA"; version="0.3.2"; sha256="092zy2k2hajr0g47r7ngsm089j4y70q7biwyhsiz3vfmpg3s3ijb"; depends=[crayon dplyr fuzzyjoin ggplot2 httr jsonlite magrittr purrr sf tigris]; };
-  tidybayes = derive2 { name="tidybayes"; version="3.0.1"; sha256="1drgjqcrcxx0jwaj9c0a5j0f6v793pq8rjcw8cv3zc438apfmdsm"; depends=[arrayhelpers coda dplyr ggdist ggplot2 magrittr posterior rlang tibble tidyr tidyselect vctrs withr]; };
+  tidyUSDA = derive2 { name="tidyUSDA"; version="0.3.3"; sha256="1aqcvqc64qb8dbpmiw4cl06k0fh34fz5svzhjdgzrywl5qan3br3"; depends=[crayon dplyr fuzzyjoin ggplot2 httr jsonlite magrittr purrr sf tigris]; };
+  tidybayes = derive2 { name="tidybayes"; version="3.0.2"; sha256="00672xhg8a8r4sk36sm827bb435r1hchkphl1jpnkld8vbdhvpd2"; depends=[arrayhelpers coda dplyr ggdist ggplot2 magrittr posterior rlang tibble tidyr tidyselect vctrs withr]; };
   tidybins = derive2 { name="tidybins"; version="0.1.0"; sha256="1kwwz0y1anlf1l8yl80xyiggdi8alsh0drb1529rijfk2jxlljg9"; depends=[badger ClusterR dplyr framecleaner ggplot2 janitor lubridate magrittr OneR purrr rlang rlist scales strex stringr tibble tidyselect xgboost]; };
   tidyboot = derive2 { name="tidyboot"; version="0.1.1"; sha256="0nss1ci763g9p5f33g163ppamx72axc8xhrils0cql3ka8439pmn"; depends=[dplyr modelr purrr rlang tidyr]; };
   tidycat = derive2 { name="tidycat"; version="0.1.2"; sha256="1c8ib5zcz2xk7yrzh4j5q4ccv6lnw58sh2ggqn04k2wp0gcj2zcs"; depends=[dplyr forcats magrittr stringr tibble tidyr]; };
   tidycensus = derive2 { name="tidycensus"; version="1.1"; sha256="1h32f1qgb7fnlbmqdkgl98cql06ds5r25ad3zbqrcs58ckngs549"; depends=[crayon dplyr httr jsonlite purrr rappdirs readr rlang rvest sf stringr tidyr tigris units xml2]; };
-  tidycharts = derive2 { name="tidycharts"; version="0.1.2"; sha256="0afdd5rdpwpyciangybwxahfjivqm13i3az2wzaky4s6mv68x6bd"; depends=[dplyr htmlwidgets lubridate magick magrittr rlang rsvg stringr testthat]; };
+  tidycharts = derive2 { name="tidycharts"; version="0.1.3"; sha256="1clpjyvqv6xhv7n64xh411x867fnn581qckzcwn18xbbbs56k6nn"; depends=[htmlwidgets knitr lubridate magick magrittr rlang rsvg stringr testthat]; };
   tidycmprsk = derive2 { name="tidycmprsk"; version="0.1.0"; sha256="00wp47kdwp5kln25mn1lvzwchxrf3fq3qlacn9pi2drhjcp7hwj4"; depends=[broom cli cmprsk dplyr ggplot2 gtsummary hardhat purrr rlang stringr survival tibble tidyr]; };
   tidycode = derive2 { name="tidycode"; version="0.1.1"; sha256="0ahjhn1ar93xnd1snxnivdl43d1b6ica0pc30rgh8jpha87zbsay"; depends=[glue matahari pryr purrr rlang tibble]; };
   tidycomm = derive2 { name="tidycomm"; version="0.2.1"; sha256="1h1xixa7fbijp1iifpwl689b1pz1vvpy7v4sc9wnkqgw0q31b3iy"; depends=[broom dplyr forcats glue magrittr MBESS purrr rlang stringr tibble tidyr]; };
@@ -17590,7 +17786,7 @@ in with self; {
   tidyfst = derive2 { name="tidyfst"; version="1.5.0"; sha256="1ibkdw8xibmn0s4na4ddypg4vbgyb2lqs4hnwz30j0sbpqk5xfgr"; depends=[data_table fst stringr]; };
   tidyft = derive2 { name="tidyft"; version="0.4.5"; sha256="0l6ixaqj356q319ms0bf655f530cgiia9saqdx9lryaf0b6i2hxb"; depends=[data_table fst stringr]; };
   tidygapminder = derive2 { name="tidygapminder"; version="0.1.1"; sha256="1m6bynwnw1msrzvdmy12w3ympinqpd8j3may3rwmg9941nndjv2d"; depends=[data_table dplyr readxl tidyr]; };
-  tidygate = derive2 { name="tidygate"; version="0.4.8"; sha256="0rkx0iqk8rgna7vr757h0mkk3rk2xcbnx2p0fqcg8fx77q9f5q73"; depends=[dplyr lifecycle magrittr purrr RColorBrewer rlang scales stringr tibble tidyr viridis]; };
+  tidygate = derive2 { name="tidygate"; version="0.4.9"; sha256="0zs2z4xf76d9hw7zwwpd3bisjvq672smbmxl0qgjb7xdzh66cqsf"; depends=[dplyr lifecycle magrittr purrr RColorBrewer rlang scales stringr tibble tidyr viridis]; };
   tidygenomics = derive2 { name="tidygenomics"; version="0.1.2"; sha256="1cnwmmmzp9kg4k7iy2kgb22bdllpnz257pv1ahy3l11zy6bl48fc"; depends=[dplyr fuzzyjoin IRanges purrr Rcpp rlang tidyr]; };
   tidygeoRSS = derive2 { name="tidygeoRSS"; version="0.0.1"; sha256="0bppkwbxmm8ps1cnrhzxkzm2pbi3s5bfiwx8fcrp31x81jl61w1x"; depends=[anytime dplyr httr jsonlite magrittr purrr rlang sf strex stringr tidyRSS xml2]; };
   tidygeocoder = derive2 { name="tidygeocoder"; version="1.0.5"; sha256="1ffj8ka5miv3jnds7fdrkcqdc3m2w1ab724z9m10biky213skqka"; depends=[dplyr httr jsonlite lifecycle progress tibble]; };
@@ -17602,9 +17798,9 @@ in with self; {
   tidylo = derive2 { name="tidylo"; version="0.1.0"; sha256="135aw7zqgxz7l3zgskhzy72lgm1xwl50566s0s45dq7h6ah0vi5d"; depends=[dplyr rlang]; };
   tidylog = derive2 { name="tidylog"; version="1.0.2"; sha256="076am30ayc16wm3bilznxqzd5806yi7dx5m9yv4w7q90i7imsqk7"; depends=[clisymbols dplyr glue tidyr]; };
   tidymodels = derive2 { name="tidymodels"; version="0.1.4"; sha256="18krycdn0h1i8swrq6bgj8qnb200rr0pqhr6maq3h1jc66x0y7nd"; depends=[broom cli conflicted dials dplyr ggplot2 hardhat infer modeldata parsnip purrr recipes rlang rsample rstudioapi tibble tidyr tune workflows workflowsets yardstick]; };
-  tidymv = derive2 { name="tidymv"; version="3.2.1"; sha256="1jwq46njsbcdy74cxiqikzksnkrcffcdy699abirw56b6ffsfd71"; depends=[dplyr ggplot2 magrittr mgcv rlang tibble tidyr]; };
+  tidymv = derive2 { name="tidymv"; version="3.3.0"; sha256="0r192jiwfj6pk41jpap8gfk0irjkx2877qiqxi1hm196hns6hpjg"; depends=[dplyr ggplot2 magrittr mgcv rlang tibble tidyr]; };
   tidync = derive2 { name="tidync"; version="0.2.4"; sha256="1nm3021m3xnn4xkprkxd9sj9bwvfbwhrdhfdkfhsc9azqy3rgg9f"; depends=[dplyr forcats magrittr ncdf4 ncmeta purrr rlang RNetCDF tibble tidyr]; };
-  tidyndr = derive2 { name="tidyndr"; version="0.1.1"; sha256="16a0rs83r4pd3cq8qf0638ri1q8nv0jbnpkz3wmxyrj034q261zz"; depends=[dplyr forcats janitor lubridate magrittr purrr rlang tibble tidyr vroom]; };
+  tidyndr = derive2 { name="tidyndr"; version="0.2.0"; sha256="1c4g57zp50mfrsh8lac4iava37fx39i2yrjfrb1m0j22grsczfml"; depends=[dplyr forcats janitor lubridate magrittr purrr rlang stringr tibble tidyr tidyselect vroom]; };
   tidypaleo = derive2 { name="tidypaleo"; version="0.1.1"; sha256="0xpfzdl6asvpf07s20la4bmm5lr93j7h8kx7v3y79xfjk2q2fzvd"; depends=[digest dplyr ggplot2 ggstance purrr rioja rlang scales stringr styler tibble tidyr tidyselect vctrs withr]; };
   tidypmc = derive2 { name="tidypmc"; version="1.7"; sha256="1fijlvdiw4vwm34wizm4xlm0x10vvpkldzk7rrla44apq7y2w3yq"; depends=[dplyr readr stringr tibble tokenizers xml2]; };
   tidyposterior = derive2 { name="tidyposterior"; version="0.1.0"; sha256="1h1664sjrg6akph6nrk8ynn2kjiswv6gshy35gamam1h4axf6wah"; depends=[dplyr generics ggplot2 purrr rlang rsample rstanarm tibble tidyr tune vctrs workflowsets]; };
@@ -17612,37 +17808,37 @@ in with self; {
   tidyquant = derive2 { name="tidyquant"; version="1.0.3"; sha256="11acp5mlwhavahl7i60j0ycaxypy7wrp81p7dkl6pxv8mw2gcym8"; depends=[alphavantager cli crayon curl dplyr ggplot2 httr janitor jsonlite lazyeval lubridate magrittr PerformanceAnalytics purrr Quandl quantmod readr riingo rlang rstudioapi stringr tibble tidyr tidyselect timeDate timetk TTR xts]; };
   tidyquery = derive2 { name="tidyquery"; version="0.2.3"; sha256="1xkcwccwc58140zdzwv6ip98c5vxjf67y7cbghvdzv2nx5agrhq9"; depends=[dplyr lubridate queryparser rlang stringr]; };
   tidyqwi = derive2 { name="tidyqwi"; version="0.1.2"; sha256="16f0c2mdx6aiji6i7237kpc9awqdgrg6rhs408w6ag28dhxpgwlv"; depends=[dplyr furrr future httr jsonlite labelled magrittr purrr stringr tidyr xml2]; };
-  tidyr = derive2 { name="tidyr"; version="1.1.4"; sha256="0h8jfsmn4r7zgfyjmg2qkjd54n0sncq07xjh4mdf2cx4k2z9h30b"; depends=[cpp11 dplyr ellipsis glue lifecycle magrittr purrr rlang tibble tidyselect vctrs]; };
+  tidyr = derive2 { name="tidyr"; version="1.2.0"; sha256="1a0k296a0jb2xi5zgfrqfmmw8197bwibjl7a04fm49vqx6livl4c"; depends=[cpp11 dplyr ellipsis glue lifecycle magrittr purrr rlang tibble tidyselect vctrs]; };
   tidyrules = derive2 { name="tidyrules"; version="0.1.5"; sha256="04y6pnrp132sckjpp9g8yl0z7glcsx9dcfdpa8r27wsc2g491i63"; depends=[assertthat magrittr partykit purrr stringr tibble]; };
   tidyselect = derive2 { name="tidyselect"; version="1.1.1"; sha256="0ss8mq05mwif64cj8zmrfx0ljgy3n0fvyv7f37782shr8rknmsqq"; depends=[ellipsis glue purrr rlang vctrs]; };
-  tidyseurat = derive2 { name="tidyseurat"; version="0.3.0"; sha256="19f6046z1apmj11cp481rgv53mv25izwrpijy6s4xv5iqgpczb1n"; depends=[cli dplyr ellipsis fansi ggplot2 lifecycle magrittr pillar plotly purrr rlang Seurat SeuratObject stringr tibble tidyr tidyselect]; };
+  tidyseurat = derive2 { name="tidyseurat"; version="0.5.1"; sha256="15i75qrvgi88ywn165dhjqmdsh47p4i5clp5mq7d9rc8g7fj984h"; depends=[cli dplyr ellipsis fansi ggplot2 lifecycle magrittr pillar plotly purrr rlang Seurat SeuratObject stringr tibble tidyr tidyselect ttservice]; };
   tidysmd = derive2 { name="tidysmd"; version="0.1.0"; sha256="0hbjcccs36i2cip6k56hv39awdxiljv322zlidlphkab7h95xiqc"; depends=[dplyr ellipsis glue purrr rlang smd tidyr tidyselect]; };
-  tidysq = derive2 { name="tidysq"; version="1.1.2-1"; sha256="14gsm4hlm9vd85wpsgvk2w5hzmjayxs5ryh1j8zx2rsp98ypxrcm"; depends=[checkmate cli crayon dplyr pillar Rcpp testthat tibble vctrs]; };
+  tidysq = derive2 { name="tidysq"; version="1.1.3"; sha256="1k4ws5zymrc93rlh8118xxfgjdwr7g99cyhzjp34abcsip1c3g21"; depends=[checkmate cli crayon dplyr pillar Rcpp testthat tibble vctrs]; };
   tidystats = derive2 { name="tidystats"; version="0.5.1"; sha256="00fzma64fjih70yp04hpragh9afhn11hdqydagr0yalwg3ixx5iq"; depends=[dplyr jsonlite purrr readr stringr tibble tidyr]; };
   tidystopwords = derive2 { name="tidystopwords"; version="0.9.1"; sha256="00kak679ddwdgvqmjs5312w9k8sapc1n7dxipgqqfjqw2xy0h1jh"; depends=[dplyr]; };
   tidystringdist = derive2 { name="tidystringdist"; version="0.1.4"; sha256="1srxh5gyspcghzvnmpyq36ky608ipf71vv0s1jg01mgf2i5pdkf4"; depends=[attempt rlang stringdist tibble]; };
   tidysynth = derive2 { name="tidysynth"; version="0.1.0"; sha256="0rckvp51gp22bjcwcszdhhn51bzjivwndnvjcf67h1vmyqa3zjkj"; depends=[dplyr forcats ggplot2 kernlab LowRankQP magrittr optimx rgenoud rlang tibble tidyr]; };
-  tidytable = derive2 { name="tidytable"; version="0.6.6"; sha256="0xyr7xqdp7irs3gx7yc1zk5yfsg1a5divnaspll82bn2i6s8vrzh"; depends=[data_table glue lifecycle magrittr pillar rlang tidyselect vctrs]; };
+  tidytable = derive2 { name="tidytable"; version="0.6.7"; sha256="0z0x1dswy25pyc1p1bf1rqj8pjhcvrx7shx0gsabs6dp6z12bmx5"; depends=[data_table glue lifecycle magrittr pillar rlang tidyselect vctrs]; };
   tidytext = derive2 { name="tidytext"; version="0.3.2"; sha256="0as7lscjl6ywk85almmb4f71vxmgkfds46g52ryggkg2isksvq3g"; depends=[dplyr generics hunspell janeaustenr lifecycle Matrix purrr rlang stringr tibble tokenizers vctrs]; };
-  tidytidbits = derive2 { name="tidytidbits"; version="0.2.3"; sha256="1sia4bxfnb0hw047l6hl013si3iaisac51lp9b42m22hcxzxwgx0"; depends=[dplyr extrafont forcats magrittr purrr rlang stringr tibble tidyr tidyselect]; };
-  tidytransit = derive2 { name="tidytransit"; version="1.2.0"; sha256="0zvzjnrn7znm58di38h53kmbyabc9a514010rywpjs6w9blvyb6g"; depends=[checkmate data_table digest dplyr geodist gtfsio hms httr rlang sf]; };
+  tidytidbits = derive2 { name="tidytidbits"; version="0.3.1"; sha256="0fqqmisp339ynr5p5qs2dzshx031kggp7c70zm2w1v932xpalsrz"; depends=[dplyr extrafont forcats magrittr purrr rlang stringr tibble tidyr tidyselect]; };
+  tidytransit = derive2 { name="tidytransit"; version="1.3.0"; sha256="1n7c4iblxa1yifh51x4767k61qp99r6r4pchcyvz4bq7jbvclf18"; depends=[checkmate data_table digest dplyr geodist gtfsio hms httr rlang sf]; };
   tidytreatment = derive2 { name="tidytreatment"; version="0.2.1"; sha256="09d9qiwb1mniwfyklkiylr1glix1f441kkxlbff2x99j1xij197x"; depends=[dplyr purrr readr rlang tidybayes tidyr]; };
-  tidytree = derive2 { name="tidytree"; version="0.3.6"; sha256="1gnpm4zz0kvqng5s179301q0h5993ajynm8y0zbdz38qcmzfpsdk"; depends=[ape dplyr lazyeval magrittr rlang tibble tidyr tidyselect yulab_utils]; };
-  tidytuesdayR = derive2 { name="tidytuesdayR"; version="1.0.1"; sha256="0slpfajv5cxqxfb1sh98574zrcgihiazscpr0zga2i6kiwn3kgpy"; depends=[httr jsonlite lubridate magrittr purrr readr readxl rstudioapi rvest usethis xml2]; };
+  tidytree = derive2 { name="tidytree"; version="0.3.7"; sha256="1wp411lf3syf0g1czhx3ksb4mx5d6vaw6ppipv0s0k69ivag45kq"; depends=[ape dplyr lazyeval magrittr rlang tibble tidyr tidyselect yulab_utils]; };
+  tidytuesdayR = derive2 { name="tidytuesdayR"; version="1.0.2"; sha256="00xlbmgg8779ypqcrdgn56lyklqknhh3pmqfc49f84xa5hrkyjfs"; depends=[httr jsonlite lubridate magrittr purrr readr readxl rstudioapi rvest usethis xml2]; };
   tidyverse = derive2 { name="tidyverse"; version="1.3.1"; sha256="0ck6xmsw5p168jmw2fqv79fzfnw5jckfra7mfii261j6kl89bkw3"; depends=[broom cli crayon dbplyr dplyr dtplyr forcats ggplot2 googledrive googlesheets4 haven hms httr jsonlite lubridate magrittr modelr pillar purrr readr readxl reprex rlang rstudioapi rvest stringr tibble tidyr xml2]; };
   tidyvpc = derive2 { name="tidyvpc"; version="1.2.0"; sha256="1xih8gdc44ddi5kqx8kq9i3pz21hddha87fpb58wjfr5hsaw18sy"; depends=[classInt data_table fastDummies ggplot2 magrittr mgcv quantreg rlang]; };
-  tidywikidatar = derive2 { name="tidywikidatar"; version="0.4.2"; sha256="006rcm8g5vqrbwvviaclynzrapff8yclqkmq3hkdljm5v972g5gj"; depends=[DBI dplyr fs glue jsonlite magrittr progress purrr rlang RSQLite stringr tibble tidyr usethis WikidataQueryServiceR WikidataR]; };
+  tidywikidatar = derive2 { name="tidywikidatar"; version="0.5.0"; sha256="0gbvb5vbxjccs9ac5xjbslqg7h5y2cw71d69q44jc7i1iqwckzys"; depends=[DBI dplyr fs glue jsonlite magrittr pool progress purrr rlang RSQLite stringr tibble tidyr usethis WikidataQueryServiceR WikidataR]; };
   tidyxl = derive2 { name="tidyxl"; version="1.0.7"; sha256="1wg8h5fd2hd8ilshrbcs99q18p15687dx8j51v5pyd30pg5cab7b"; depends=[piton Rcpp]; };
-  tiff = derive2 { name="tiff"; version="0.1-10"; sha256="1zha6bzb1rmfl6n2xjkygs9wfi3ah9cjr7a6jzk4zqc5kvl58lak"; depends=[]; };
+  tiff = derive2 { name="tiff"; version="0.1-11"; sha256="0xgc7vyndxxahfhc2qqzmwi56bnfyl0pn72l820jz5sd24aymhxq"; depends=[]; };
   tiger = derive2 { name="tiger"; version="0.2.3.1"; sha256="0xr56c46b956yiwkili6vp8rhk885pcmfyd3j0rr4h8sz085md6n"; depends=[e1071 hexbin klaR lattice qualV som]; };
   tigerhitteR = derive2 { name="tigerhitteR"; version="1.1.0"; sha256="0inyi12lf8bn7nbklf2rjixk6wrgrjcp8njv7knai4dgvv7v0rfa"; depends=[Hmisc magrittr openxlsx zoo]; };
   tigerstats = derive2 { name="tigerstats"; version="0.3.2"; sha256="0p5z4qh0aznj03rnhk4lpqfkwnsa5zgvj51rddkzligg9zx73xwl"; depends=[abd ggplot2 lattice manipulate MASS mosaic mosaicData rlang]; };
   tigger = derive2 { name="tigger"; version="1.0.0"; sha256="12mcq3mvmcpmb7cc0c3sij03wa9i37c3ilxpa3fm2cr3g3yj2r1v"; depends=[alakazam doParallel dplyr foreach ggplot2 gridExtra gtools iterators lazyeval rlang shazam stringi tidyr]; };
   tightClust = derive2 { name="tightClust"; version="1.1"; sha256="0vqkp2g6z8y3b6dhzglmacjhf2qi1sg80kb941mwfafin2k40zbm"; depends=[]; };
   tigreBrowserWriter = derive2 { name="tigreBrowserWriter"; version="0.1.5"; sha256="0izgx1khci6qc6pz85dxj75kzxvpr30l0vhcv9476jrcbwqs4k8m"; depends=[DBI RSQLite]; };
-  tigris = derive2 { name="tigris"; version="1.5"; sha256="0wj4q09k4nwl1kj7r05ivhdy4vp8x1hfblc6xsbnpb8p72l1rxsy"; depends=[dplyr httr magrittr maptools rappdirs rgdal sf sp stringr uuid]; };
+  tigris = derive2 { name="tigris"; version="1.5.1"; sha256="0siaal7d5q7398qhgf7v63k644n3kljw4b50gnv8mprnwp0hzz3r"; depends=[dplyr httr magrittr maptools rappdirs rgdal sf sp stringr uuid]; };
   tikzDevice = derive2 { name="tikzDevice"; version="0.12.3.1"; sha256="040yz6wi05151m9nal97symv66a133kk0a8c1h6nz058zk081vav"; depends=[filehash png]; };
-  tiledb = derive2 { name="tiledb"; version="0.10.2"; sha256="0my1rc158mvp9126h6vwcnrg97xgyc8m8hvcbrjg0kz9vy3770wl"; depends=[nanotime Rcpp]; };
+  tiledb = derive2 { name="tiledb"; version="0.11.0"; sha256="1lgagf8ix8bnl6g7qp0lzaz4xd6wlp9xa02rqyxb30bk0g022ik7"; depends=[nanotime Rcpp]; };
   tilegramsR = derive2 { name="tilegramsR"; version="0.2.0"; sha256="11cnyvlghg8z7lr9ahzsjpyjrqnxqs77wdcydqvavrsqj745xvi2"; depends=[sf sp]; };
   tilemaps = derive2 { name="tilemaps"; version="0.2.0"; sha256="06pwwlndb7nvw2b0h0fak3vnpbi11mxsby43qm9ng3k3sqwrqjz2"; depends=[clue ggplot2 igraph lwgeom sf smoothr]; };
   tiler = derive2 { name="tiler"; version="0.2.5"; sha256="02sxc70s8v5b5lf1fpv1ig1hmpkamsmzbgpk6zds504gh9kz7qxy"; depends=[png raster rgdal sp]; };
@@ -17663,7 +17859,7 @@ in with self; {
   timereg = derive2 { name="timereg"; version="2.0.1"; sha256="1mrqy54jwgfygjlm7hvlx42c631is1nc1q6jd3chw2cx3pi9lhiq"; depends=[lava numDeriv survival]; };
   timesboot = derive2 { name="timesboot"; version="1.0"; sha256="1ixmcigi1bf42np93md8d3w464papg9hp85v0c3hg3vl4nsm2bji"; depends=[boot]; };
   timeseriesdb = derive2 { name="timeseriesdb"; version="0.4.1"; sha256="1ghb3lg63fs9zx34l5qczv39mdccnmqzlc74l1zhb8qmsg8sm1g2"; depends=[data_table DBI jsonlite openxlsx RPostgreSQL shiny xtable xts zoo]; };
-  timetk = derive2 { name="timetk"; version="2.6.2"; sha256="0wmay9ccl398jp1wy2czfpapmf4vy59sz4dc5y6z97jdimjmg46i"; depends=[anytime assertthat dplyr forcats forecast generics ggplot2 hms lubridate padr plotly purrr readr recipes rlang rsample slider stringi stringr tibble tidyr tidyselect timeDate xts zoo]; };
+  timetk = derive2 { name="timetk"; version="2.7.0"; sha256="173vg1mq5557fn39h36kqladc6b0bp22kmfv5pwi9lcgyc47sd2a"; depends=[anytime assertthat dplyr forcats forecast generics ggplot2 hms lubridate padr plotly purrr readr recipes rlang rsample slider stringi stringr tibble tidyr tidyselect timeDate tsfeatures xts zoo]; };
   timetools = derive2 { name="timetools"; version="1.14"; sha256="13jchgd9fc8hxj74wm1kg4rwcng4yxblkq04i33djsqghgb5f9mj"; depends=[]; };
   timetree = derive2 { name="timetree"; version="1.0"; sha256="1fpdp6mkwm67svqvkfflvqxn52y2041zl09rxrms28ybbd5f84c0"; depends=[phangorn XML]; };
   timevis = derive2 { name="timevis"; version="2.0.0"; sha256="07padnd90s8s62sfcmg5l6b64md1cl4cfsxp5xm92nrlz82ksbbs"; depends=[htmltools htmlwidgets jsonlite lubridate magrittr rmarkdown shiny]; };
@@ -17675,11 +17871,12 @@ in with self; {
   tinter = derive2 { name="tinter"; version="0.1.0"; sha256="02hfw2720qn70x0piahm8cy2ajsb5bqapr4vyvknm4v1yka1wmw3"; depends=[chk]; };
   tinyProject = derive2 { name="tinyProject"; version="0.6.1"; sha256="0cflnfp5mib3j1y3n5yvi867h5a7z6xr6163gq9y9b6nrl2skxfk"; depends=[brew R_utils]; };
   tinyarray = derive2 { name="tinyarray"; version="2.2.7"; sha256="0nhsmgg126x2rfk82d91c8rk74sg7qbshy10vcbqdgcmlz6466mh"; depends=[BiocManager clusterProfiler dplyr ggplot2 limma org_Hs_eg_db patchwork pheatmap stringr survival survminer tibble]; };
-  tinylabels = derive2 { name="tinylabels"; version="0.2.2"; sha256="19ak4m5fx6vw50yj33vpqv1bva1i2ivr3238i0xkd0qix0x8haa7"; depends=[]; };
+  tinylabels = derive2 { name="tinylabels"; version="0.2.3"; sha256="0knqcdnlrydbfklizvx9mp304sjz6wp54nbx1zhy2g2730nwa61k"; depends=[]; };
   tinyscholar = derive2 { name="tinyscholar"; version="0.1.4"; sha256="0lj5ax3m5kr18qf9xmrh6iyy00bp59wwi3ss96ynsyiajmndsajf"; depends=[curl dplyr ggplot2 gt jsonlite magrittr purrr R_utils rlang rvest stringr xml2]; };
   tinyspotifyr = derive2 { name="tinyspotifyr"; version="0.2.2"; sha256="19nicp1ml73lylja2np52rcc070maxm9286fjm7bfx3zsblxmakc"; depends=[httr jsonlite]; };
   tinytest = derive2 { name="tinytest"; version="1.3.1"; sha256="1mq31f7bzcz5bkgzl9khm1i80axfzra7gcjqxd2yqb4wrw1m3x4s"; depends=[]; };
   tinytex = derive2 { name="tinytex"; version="0.36"; sha256="0y1vfq89yi302cwdcnassm02dk14j9ivk5vf83fp6rb8h6ww3rk5"; depends=[xfun]; };
+  tipa = derive2 { name="tipa"; version="1.0.5"; sha256="1mdjpbdbgd5n22l7fc0bfansh536ib1bgjaxzrl8g534cjxdnhgl"; depends=[optimr]; };
   tipitaka = derive2 { name="tipitaka"; version="0.1.2"; sha256="0xf64bpzwywwjm0135c7zjn4ha0h1zj36rj2d4h8dskiq9z90xqi"; depends=[cpp11 dplyr magrittr stringi stringr]; };
   tipom = derive2 { name="tipom"; version="1.0.2-1"; sha256="1gdfv0g5dw742j6ycmi0baqh6xcchp3yf2n1g8vn7jmqgz5mlhdr"; depends=[]; };
   tippy = derive2 { name="tippy"; version="0.1.0"; sha256="00c9v07ax7l0x5wpx3ca8hqvdqs3p62d58igp51rsbh9x1ylgjcn"; depends=[htmltools htmlwidgets jsonlite shiny]; };
@@ -17694,9 +17891,8 @@ in with self; {
   tlemix = derive2 { name="tlemix"; version="0.1.3"; sha256="0c4mvdxlhbmyxj070xyipx4c27hwxlb3c5ps65ipm6gi8v8r6spj"; depends=[]; };
   tlm = derive2 { name="tlm"; version="0.1.5"; sha256="1iw08pa70nb25fnv64834s5c8vl456a2rcng7x6v9vs5q37610g6"; depends=[boot]; };
   tlmec = derive2 { name="tlmec"; version="0.0-2"; sha256="1gak8vxmfjf05bhaj6lych7bm8hgav1x3h14k2ra7236v82rqbw7"; depends=[mvtnorm]; };
-  tlrmvnmvt = derive2 { name="tlrmvnmvt"; version="1.1.0"; sha256="0mi1261659qg0ym4nqk0w6gw68wx37fq43s899szyyx08dj46mbb"; depends=[BH Rcpp RcppEigen]; };
+  tlrmvnmvt = derive2 { name="tlrmvnmvt"; version="1.1.1"; sha256="1w8rahmdz176p7f496saiznk92bpvaq3pvpw235rwxna8vqkr607"; depends=[BH Rcpp RcppEigen]; };
   tls = derive2 { name="tls"; version="0.1.0"; sha256="183b5m70s2whlgp9s1gb4xnylhlp4hnh3lw6b8f2vx4kahaid763"; depends=[]; };
-  tlsh = derive2 { name="tlsh"; version="0.1.0"; sha256="0106y17cr3hq09ahy3rxhxqzgc0655w2jr0s3iyr8zvxsdv5ahb5"; depends=[bit64 blink igraph plyr]; };
   tm = derive2 { name="tm"; version="0.7-8"; sha256="0mk2lsplynms15nw92vbdgsafg4bw1m0ik31gch1mnsnv61idsxi"; depends=[BH NLP Rcpp slam xml2]; };
   tm_plugin_alceste = derive2 { name="tm.plugin.alceste"; version="1.1"; sha256="0wid51bbbx01mjfhnaiv50vfyxxmjxw8alb73c1hq9wlsh3x3vjf"; depends=[NLP tm]; };
   tm_plugin_dc = derive2 { name="tm.plugin.dc"; version="0.2-10"; sha256="0v14fj3r438pvs88k4zwlzkgax8r0k6cx4mqjnzzad15frqficij"; depends=[DSL NLP slam tm]; };
@@ -17716,13 +17912,16 @@ in with self; {
   tmod = derive2 { name="tmod"; version="0.46.2"; sha256="139znivmsm7hr5hiiq7f9vab5hm0bzqf2qfs69n340gf1dgpyrd2"; depends=[beeswarm colorDF gplots plotwidgets RColorBrewer tagcloud XML]; };
   tmplate = derive2 { name="tmplate"; version="0.0.3"; sha256="1w04bmir23ip3c7janix8i2qhdnmlg78jrrjlykl95vnsvjwld6g"; depends=[tRnslate]; };
   tmpm = derive2 { name="tmpm"; version="1.0.3"; sha256="1fqk39zyc07gh0ygi7pfljlnj6ih37jsb7bcxm05zcd4796wil8j"; depends=[reshape2]; };
-  tmt = derive2 { name="tmt"; version="0.2.1-0"; sha256="1drb0z9jk76ixn3qw7xb5rirfc9h0frkhl1krs681aiaspqkgswj"; depends=[ggplot2 Rcpp]; };
+  tmsens = derive2 { name="tmsens"; version="0.1.0"; sha256="0rvcqf82jlq61rpmbyc5xy3fh0hzj1iy2kf6mmar18k3rhlhgayg"; depends=[]; };
+  tmt = derive2 { name="tmt"; version="0.3.0-20"; sha256="1i4y01mbj9qkd4svgmhc18q47yd44jrqv4lsyk69rk1nr09d83lv"; depends=[ggplot2 Rcpp]; };
   tmvmixnorm = derive2 { name="tmvmixnorm"; version="1.1.1"; sha256="0i1g3598d43azyy1bsrvkjybqa5cd991fpmfqi5wv5703zaha2fj"; depends=[MASS]; };
   tmvnsim = derive2 { name="tmvnsim"; version="1.0-2"; sha256="03xsvsg9bqvgl98ywid3h91mmlhax5s6wvmypp3hq91vmc5kvxlp"; depends=[]; };
   tmvtnorm = derive2 { name="tmvtnorm"; version="1.4-10"; sha256="1w3kmpx25l7rb80vpclqq4pbbv12qgysyqxjq3lp55l9nklkb7qs"; depends=[gmm Matrix mvtnorm]; };
+  tmvtnsim = derive2 { name="tmvtnsim"; version="0.1.0"; sha256="0lmngy3ilb4v3ix6414bgi2pzwxgq41vj8rzydh5h8vgc3z771q4"; depends=[Rcpp RcppArmadillo]; };
   tnet = derive2 { name="tnet"; version="3.0.16"; sha256="0922y9zb64zazl2irwfxxbghkgcwi2q57gylpiaxgmj4q6lc62l9"; depends=[igraph survival]; };
   toOrdinal = derive2 { name="toOrdinal"; version="1.1-0.0"; sha256="0zg4zk7jx8s57g8nb0jw7r7gss00349jmkglf6sz26p7jldpgmff"; depends=[crayon testthat]; };
-  tobit1 = derive2 { name="tobit1"; version="0.1-1"; sha256="0p9mzy1cyd9bz1g6r94h3467c13l6cvm5vdwwhn6ylmrkzr55hs7"; depends=[Formula generics margins numDeriv prediction Rdpack tibble]; };
+  toastui = derive2 { name="toastui"; version="0.2.1"; sha256="0c32410ylnp2b4h72aq7pig423jgcl63x8lmb8cf8m7h83xlj4ah"; depends=[htmltools htmlwidgets magrittr rlang shiny shinyWidgets]; };
+  tobit1 = derive2 { name="tobit1"; version="0.1-3"; sha256="08rq1h3psxjzzfna6krji4ixrbd43v77qb9k00v1rysarlqyg0k1"; depends=[Formula generics margins numDeriv prediction Rdpack tibble]; };
   todor = derive2 { name="todor"; version="0.1.2"; sha256="1ncg88wh9l2mja5w53ry2b19sa5x9m6cnkvw8lszbmc92idpspig"; depends=[R_utils rex rstudioapi stringr]; };
   togglr = derive2 { name="togglr"; version="0.1.33"; sha256="105c9vxa67bqccj31ksk5myfd0v7v0wbz6qqjhxqndlg7v6ggfzc"; depends=[assertthat dplyr getPass glue httr jsonlite keyring lubridate magrittr parsedate prettyunits purrr rstudioapi]; };
   tokenbrowser = derive2 { name="tokenbrowser"; version="0.1.5"; sha256="17hbkcan74j4fkk4j1xcgikaanp3xhs5njjxkapg2yjdhmf2dng6"; depends=[Rcpp stringi]; };
@@ -17731,7 +17930,7 @@ in with self; {
   tolerance = derive2 { name="tolerance"; version="2.0.0"; sha256="001snzr2ipag3zprynydlbi9prkjzrllc054qh7m0qwkb3r19jjd"; depends=[MASS rgl]; };
   tomba = derive2 { name="tomba"; version="1.0.1"; sha256="1433jxghx8jrgy8r9kfp506vn58qpzp4wbzncks7fnignbb6cp50"; depends=[httr jsonlite testthat]; };
   tongfen = derive2 { name="tongfen"; version="0.3.3"; sha256="0hn2zmb5fa390bbwg03mxzlp3qc5pr61qxm6gjydja29gcpvbk9m"; depends=[dplyr lifecycle PROJ purrr readr rlang sf stringr tibble tidyr]; };
-  toolStability = derive2 { name="toolStability"; version="0.1.0"; sha256="1884dq7fys5p837fh7l60kn4jjn4h0zdr3hi2f1qas42zq35mgp2"; depends=[data_table dplyr nortest Rdpack]; };
+  toolStability = derive2 { name="toolStability"; version="0.1.1"; sha256="1i5hdar4cv8788fzyfdnvmw3hpn059s2kjyxfcarpnc0clakd0by"; depends=[data_table dplyr nortest Rdpack]; };
   toolmaRk = derive2 { name="toolmaRk"; version="0.0.1"; sha256="0pdr8lq4c11ia03v68lbfq38p3qp770mbj0nsbjsgbqi0pv9i1vx"; depends=[dplyr ggplot2 plyr reshape2]; };
   tools4uplift = derive2 { name="tools4uplift"; version="1.0.0"; sha256="1izm9q2bj9l2nd9jn0fi3lf9hscfa0vmib58ypgpjsbsn0nd7p2h"; depends=[BiasedUrn dplyr glmnet latticeExtra lhs]; };
   topicdoc = derive2 { name="topicdoc"; version="0.1.0"; sha256="0qliy6y8l09nblch1swlywam2awzwjl5xx0w8c3kiz48jxfysw0j"; depends=[slam topicmodels]; };
@@ -17740,20 +17939,24 @@ in with self; {
   topmodel = derive2 { name="topmodel"; version="0.7.3"; sha256="15w9id90d6l0i0ji3ln3sxnpispb6pgabk4waysqn0nh6y4lfdgb"; depends=[]; };
   topoDistance = derive2 { name="topoDistance"; version="1.0.1"; sha256="055z3gvqlb8nyy58ix89w7miav9gj3h43a4wcfc3kagd97xc3222"; depends=[gdistance igraph plotly raster RColorBrewer scales sp]; };
   topologyGSA = derive2 { name="topologyGSA"; version="1.4.7"; sha256="073n8bkrapk6il3izqr3bmcdp7yc29yzpbyzh6fvy9rg0x4d3g0z"; depends=[fields graph gRbase qpgraph]; };
+  topr = derive2 { name="topr"; version="1.0.0"; sha256="1y4nqwh3s0phxp6ljifg8qaf40si0r771vwj4hv4aiw2yzgsy89y"; depends=[dplyr egg ggplot2 ggrepel gridExtra magrittr readr scales stringr toprdata]; };
+  toprdata = derive2 { name="toprdata"; version="1.0.0"; sha256="1fyxhjj4c4j3268bcffq9wff1bkqan696hfz2y67bpg0xq1h3nbb"; depends=[]; };
   topsis = derive2 { name="topsis"; version="1.0"; sha256="056cgi684qy2chh1rvhgkxwhfv9nnfd7dfzc05m24gy2wyypgxj3"; depends=[]; };
   tor = derive2 { name="tor"; version="1.1.2"; sha256="1s34hzw3a4cm9gk85fcxgxwmn2xc7njs1iw1snd91id3gdl6vppx"; depends=[fs readr rlang tibble]; };
   torch = derive2 { name="torch"; version="0.6.0"; sha256="05vxb84qxna1rpzqhjw6gwyc569zyz7rfbdkahglvihqjjwabc4x"; depends=[bit64 callr cli coro ellipsis magrittr R6 Rcpp rlang withr]; };
   torchaudio = derive2 { name="torchaudio"; version="0.2.0"; sha256="1bzx428lzjdwb9ds2pcq7nlalg75s7bvmiimjw3k8lvbq50yjlyh"; depends=[fs glue rappdirs Rcpp rlang torch withr]; };
   torchdatasets = derive2 { name="torchdatasets"; version="0.1.0"; sha256="1iliz3iv143zmffd4jvvfxzsqn8bzp1sg5573rqjjbhnvy958mgg"; depends=[fs pins stringr torch torchvision withr zip]; };
-  torchvision = derive2 { name="torchvision"; version="0.4.0"; sha256="0ndncq6qn54lp681khlhrwhywjnhi2wwirhysjhjyky6n2y378i4"; depends=[abind fs jpeg png rappdirs rlang torch zip]; };
+  torchvision = derive2 { name="torchvision"; version="0.4.1"; sha256="07pdsqcnlmsc1yx7ldi18a0lqkgqbqwsqh7109rbrycczxrc1dqv"; depends=[abind fs jpeg png rappdirs rlang torch withr]; };
+  tornado = derive2 { name="tornado"; version="0.1.1"; sha256="12wvcc5p5fk6b1w3qhahjad5k0m34f744jszaid8hnrbbfysp8na"; depends=[assertthat ggplot2 gridExtra scales survival]; };
   tosca = derive2 { name="tosca"; version="0.3-2"; sha256="1z8svczy93lpdj7n1gk9jz8jgzkjsf886ldlkgq1mfi1j6m8557y"; depends=[data_table htmltools lda lubridate quanteda RColorBrewer stringr tm WikipediR]; };
   tosls = derive2 { name="tosls"; version="1.0"; sha256="03nqwahap504yvcksvxdhykplbzmf5wdwgpzm7svn8bymdc472v2"; depends=[Formula]; };
-  tosr = derive2 { name="tosr"; version="0.1.0"; sha256="0ifqzddivb5xn1pm32hi0ys3lcb2ncv7ka8vl4pzmhq0yx05a7dg"; depends=[bibliometrix CINNA dplyr igraph magrittr rebus rlang stringr tibble tidyr]; };
+  tosr = derive2 { name="tosr"; version="0.1.1"; sha256="1hif33q73pbzgrs92ffkfiisxgxk35fyf37bvxb5kccrpwly9zih"; depends=[bibliometrix CINNA dplyr igraph magrittr rebus rlang stringr tibble tidyr]; };
   totalcensus = derive2 { name="totalcensus"; version="0.6.6"; sha256="09c7hm9yys48p8pjp9kv3szbwrg9xb1xf47zya24yir0gxs7bfmi"; depends=[data_table magrittr purrr stringr]; };
   touch = derive2 { name="touch"; version="0.1-5"; sha256="0dan4mlvc5lg9v4zj9w6gk3c4cy64kaa984y495xpc1bzmv5c6jd"; depends=[Rcpp]; };
   touchard = derive2 { name="touchard"; version="2.0.1"; sha256="06491r4x3ycmv3ddbqwig334wj9qvm395xlaifx4hjjyyi65xb3q"; depends=[MASS nleqslv numDeriv plotrix]; };
   tourr = derive2 { name="tourr"; version="0.6.0"; sha256="0mci0y6s851gh1b157mhpvz0p7hkq2f1ccq9jj22p5k7ipxwn8dh"; depends=[dplyr MASS tibble]; };
   toxEval = derive2 { name="toxEval"; version="1.2.0"; sha256="11rw8vjnz3kzikd59vbyiv8vc7dijpi6znyxlc7c4rpi41gs6c0m"; depends=[dplyr DT ggplot2 leaflet magrittr RColorBrewer readxl shiny shinyAce shinycssloaders shinydashboard tidyr]; };
+  toxpiR = derive2 { name="toxpiR"; version="1.0.2"; sha256="1n3kkhsj5bwampkh5pd70mfym8kcvn1y527ff0jrgs65yl4bfs8d"; depends=[BiocGenerics pryr rlang S4Vectors tidyr]; };
   toxtestD = derive2 { name="toxtestD"; version="2.0"; sha256="0b7hmpfhwg626r8il12shni0kw94cqnbj49y4vfh8gn98x1s6m48"; depends=[]; };
   tpAUC = derive2 { name="tpAUC"; version="2.1.1"; sha256="0wix9qwcidj7xfqhh7bmrpnadd9qlkvg3515gaamdxkjbz2kyydc"; depends=[pROC]; };
   tpfp = derive2 { name="tpfp"; version="0.0.1"; sha256="0vm5qssaanvi0sck2hj1qgjra89a42i6nvzbva5z0aj2hkd5h4vh"; depends=[knitr readxl xlsx]; };
@@ -17781,10 +17984,9 @@ in with self; {
   traitdataform = derive2 { name="traitdataform"; version="0.6.7"; sha256="1p5m480k8da4k091jiryqry0zwg8kw3s1cvvpgqjmjkz3v11dxsd"; depends=[curl data_table getPass plyr RCurl reshape2 suppdata taxize units XML]; };
   traits = derive2 { name="traits"; version="0.5.0"; sha256="04s2523wkbjqxpwllvcy7ikyfri5gldgnynjswsxdy0k945wacvz"; depends=[crul data_table hoardr httr jsonlite readr rvest taxize tibble xml2]; };
   traj = derive2 { name="traj"; version="1.2"; sha256="0mq6xdbxjqjivxyy7cwaghwmnmb5pccrah44nmalssc6qfrgys4n"; depends=[cluster GPArotation NbClust pastecs psych]; };
-  trajeR = derive2 { name="trajeR"; version="0.9.0.3"; sha256="08r7201ccqg1p7qpjxfc310814sjhqrj7gf07vzz0xkmyigbjzr9"; depends=[capushe MASS minpack_lm numDeriv Rcpp RcppArmadillo ucminf]; };
   trajectories = derive2 { name="trajectories"; version="0.2-3"; sha256="1k1fyjyng9mi3k5v6bpbv3vkqr7c9zjp4yiyynb3rjxqpn1fxx7k"; depends=[lattice sp spacetime zoo]; };
   trajr = derive2 { name="trajr"; version="1.4.0"; sha256="092hx27b6d0vy1pvmga1z3b245aa9gn9aw3hszbhhkkic5zfpgbq"; depends=[plotrix signal]; };
-  tram = derive2 { name="tram"; version="0.6-3"; sha256="0qrvl63n9mq6bwm4kif4rciw2ifwxx2bpsvfgxi6shjkv8vn3xdx"; depends=[basefun Formula Matrix mlt multcomp sandwich survival variables]; };
+  tram = derive2 { name="tram"; version="0.6-4"; sha256="04vv1ydmcjc6rffl35a898jlc9lgvqrjnbc06k4krr0igq2s39ya"; depends=[basefun Formula Matrix mlt multcomp sandwich survival variables]; };
   tramME = derive2 { name="tramME"; version="0.1.2"; sha256="1s6s5m1xkzjchmiwvcgdx7w68igm2dy3wc61v5gd8ihv4l26ccd7"; depends=[alabama basefun coneproj lme4 MASS Matrix mlt mvtnorm nlme numDeriv RcppEigen TMB tram variables]; };
   tramnet = derive2 { name="tramnet"; version="0.0-6"; sha256="034ij8ir5v31n22pig7v6qizmyhpar1mklifvcskg0ydmpy7qkj4"; depends=[basefun CVXR lhs mlr mlrMBO mlt ParamHelpers sandwich smoof tram]; };
   trampoline = derive2 { name="trampoline"; version="0.1.1"; sha256="05inq5j8gvnpww6z21dzc57vilsm4gx3m274fpsamp54q85mi68s"; depends=[coro fastmap rlang]; };
@@ -17815,6 +18017,7 @@ in with self; {
   treedata_table = derive2 { name="treedata.table"; version="0.1.0"; sha256="0dhnb8if5wq6hzhjg40cw80sacigqmlm7nplm1f1ay5cqx1ynfi7"; depends=[ape data_table geiger lazyeval]; };
   treedater = derive2 { name="treedater"; version="0.5.0"; sha256="007rdrbv3v1z3qbyasla22rck105sqlqh93yfmxklihdydl7smfd"; depends=[ape limSolve]; };
   treeducken = derive2 { name="treeducken"; version="1.1.0"; sha256="0i2r1l508yi0cq7fzdds0hz2k4bxm67nknybxvbyylmwnwv6a0a1"; depends=[ape apTreeshape Rcpp RcppArmadillo]; };
+  treefit = derive2 { name="treefit"; version="1.0.2"; sha256="0258844r50ksxjivmnvgzr8f83qz1cqfyq7j5jgyxpqps62q5v7w"; depends=[ggplot2 igraph patchwork pracma]; };
   treeheatr = derive2 { name="treeheatr"; version="0.2.1"; sha256="0618j5rlq0xik9vl2l8ircnh98wzdzf9bxnfgmiqrpywgmc8r5nk"; depends=[cluster dplyr ggnewscale ggparty ggplot2 gtable partykit seriation tidyr yardstick]; };
   treelet = derive2 { name="treelet"; version="1.1"; sha256="0k3qhxjg7ws6jfhcvvv9jmy26v2wzi4ghnxnwpjm8nh7b90lbysd"; depends=[]; };
   treeman = derive2 { name="treeman"; version="1.1.4"; sha256="1rlq8sklvpj6an8x9wvs3501y6dpl2vhl5zfmz0yvmif04msf49v"; depends=[ape bigmemory plyr RJSONIO stringr]; };
@@ -17826,14 +18029,14 @@ in with self; {
   treespace = derive2 { name="treespace"; version="1.1.4.1"; sha256="177n1h4yjvfmdsyy4anwi1gfxcxxvhdlyqagn74ni3pi6mxvjp4s"; depends=[ade4 adegenet adegraphics adephylo ape combinat distory fields htmlwidgets MASS phangorn phytools Rcpp rgl RLumShiny scatterD3 shiny shinyBS]; };
   treestartr = derive2 { name="treestartr"; version="0.1.0"; sha256="05rxy9lmb77ng4266871sd881mlp4rd5qalvsd7ps2x2j4plaqf4"; depends=[ape phytools]; };
   treestructure = derive2 { name="treestructure"; version="0.1.0"; sha256="0514q53bdwv9fwd58srhr6lzw1j56fcd64hml8w4rv4wzcd6c01m"; depends=[ape Rcpp]; };
-  treetop = derive2 { name="treetop"; version="0.0.3"; sha256="0mmvn6521p4m7xranlzb9cg0gfzg5dzlack2k8xls5s3ydpylirx"; depends=[geometry lidR pryr raster rasterVis RColorBrewer rgdal rgeos rgl sf shiny sp spatstat_core spatstat_geom stars]; };
+  treetop = derive2 { name="treetop"; version="0.0.4"; sha256="0lisrbmzkil723jwcj422zglr78lbryny02wmnaw7zv2w9gw3xac"; depends=[geometry lidR pryr raster rasterVis RColorBrewer rgdal rgeos rgl sf shiny sp spatstat_core spatstat_geom stars]; };
   trekcolors = derive2 { name="trekcolors"; version="0.1.3"; sha256="0jm85lrsqlpl1k62fbim48kprsqs50bm0dbajnk8f42x6i3m1xav"; depends=[ggplot2]; };
   trekfont = derive2 { name="trekfont"; version="0.9.5"; sha256="1c0rwjmpg6b83kvkwrc0fcg1adx5is1g0wn01iss037jph5j0f2l"; depends=[]; };
   trelliscopejs = derive2 { name="trelliscopejs"; version="0.2.6"; sha256="16i1km57yz8bl4ni919d3qmj8aj5l88l7byhd6ksh88ygpfl7wq8"; depends=[autocogs base64enc digest DistributionUtils dplyr ggplot2 gtable htmltools htmlwidgets jsonlite knitr progress purrr rlang tidyr webshot]; };
   trelloR = derive2 { name="trelloR"; version="0.7.1"; sha256="0rlnqpkvfp736m2ndz90v9rl4x17l3i8j70bsx7pfdd0nfffqsqv"; depends=[httr jsonlite]; };
   tremendousr = derive2 { name="tremendousr"; version="1.0.0"; sha256="0jkhpb7q1kg8n2fjj7n3khzwdsz0kh9w7q2wd9xf5mn69066m3f1"; depends=[cli crayon crul jsonlite]; };
   trend = derive2 { name="trend"; version="1.1.4"; sha256="1mr5g5gaxiqj6x83ngcbwwh57vhrhcz0x9dh0rmvs9y2ivk29ccs"; depends=[extraDistr]; };
-  trendchange = derive2 { name="trendchange"; version="1.1"; sha256="19r0kmwsim78ynssyh6j0zd99cz96cacy3hmyrjabwwvz0f8sk3h"; depends=[]; };
+  trendchange = derive2 { name="trendchange"; version="1.2"; sha256="0hsh45mr6az9gj2g8mc0nswarc8hwdv5zldmfvnkmh57rznbqpb3"; depends=[]; };
   trendeval = derive2 { name="trendeval"; version="0.0.1"; sha256="1cpv7l26ia40s46wfi4jwhwzl0xxs0dgzv4ngg8frbv5l80fmvmr"; depends=[ellipsis rsample tibble tidyr trending yardstick]; };
   trending = derive2 { name="trending"; version="0.0.3"; sha256="1crp8hizvasm47fjlf8pjy5jn7y9s16vm7dmpiyr4qb8sizia6xw"; depends=[ciTools MASS tibble vctrs]; };
   trendsegmentR = derive2 { name="trendsegmentR"; version="1.1.0"; sha256="1r582zmxcdmq3sg5wd4zc2p1fv8sgbys5nryvvslak7nj5h0i2yq"; depends=[]; };
@@ -17860,11 +18063,11 @@ in with self; {
   triplot = derive2 { name="triplot"; version="1.3.0"; sha256="1apmdpxdnnmjyi7gcrjrqw44iqphr84nbgw0nfxcspzjgxhc81l1"; depends=[DALEX ggdendro ggplot2 glmnet patchwork]; };
   tripsAndDipR = derive2 { name="tripsAndDipR"; version="0.1.0"; sha256="1gm96fxgql9y08w177nyxw0bahyafcs75maz743a9hfb0gjixvy2"; depends=[]; };
   triversity = derive2 { name="triversity"; version="1.0"; sha256="1bar2bpy8jvj91jmzzdwy6rlvirsbxrzqnx4r825irqhc69gc53r"; depends=[data_tree Matrix]; };
-  troopdata = derive2 { name="troopdata"; version="0.1.4"; sha256="1sd7f1rm6i6z4kb1414gwkslg3p6yzns5xjap3kk5xi5ckqlbxsa"; depends=[dplyr magrittr rlang tibble]; };
+  troopdata = derive2 { name="troopdata"; version="0.1.5"; sha256="0s86j75jzinrwn1p5z9l13srzhy55mj3hcnbjr89ia1m6kgih6dc"; depends=[dplyr magrittr rlang tibble]; };
   tropAlgebra = derive2 { name="tropAlgebra"; version="0.1.1"; sha256="1idvhxhw2f6z8iq0nfdj6jmzy8913vid84rvln6rx2dkzw3s9wnl"; depends=[]; };
   tropicalSparse = derive2 { name="tropicalSparse"; version="0.1.0"; sha256="1ay6i3pzz5lpvznxqln31mijp86p6z0df7rvp0gm4lxvn294m7f8"; depends=[]; };
   trotter = derive2 { name="trotter"; version="0.6"; sha256="0i8r2f2klkkfnjm7jhvga3gx6m7r97pd73d88004jzlm9ficspgy"; depends=[]; };
-  trtf = derive2 { name="trtf"; version="0.3-8"; sha256="0zczfp2yznc11s2bf2k4lhggkmlsi5lyrkhxywp6jm9ygzq14wd9"; depends=[Formula libcoin mlt partykit sandwich variables]; };
+  trtf = derive2 { name="trtf"; version="0.3-9"; sha256="0zbad1hpy4glwql0q5l5wn1s5lwpxdh7isxypn5nzwq83vpvcw2y"; depends=[Formula libcoin mlt partykit sandwich variables]; };
   truelies = derive2 { name="truelies"; version="0.2.0"; sha256="1qxzw7x7xgp9x6klnq6jv0fl8al2l24br2sd59r5gq076gkqc47k"; depends=[hdrcde]; };
   trueskill = derive2 { name="trueskill"; version="0.1"; sha256="0mqvm64fcsxjlh789lqdk6l28q31yhh6jjirwjlgbpxxb90c5107"; depends=[]; };
   truh = derive2 { name="truh"; version="1.0.0"; sha256="0acsyzm6rpmzyq8pg33c631hi4xir49gqxbpshcrr6i2v3q6k14j"; depends=[cluster doParallel foreach fpc iterators Rfast]; };
@@ -17906,7 +18109,7 @@ in with self; {
   tsgui = derive2 { name="tsgui"; version="0.2.1"; sha256="0crm2ripxpjaz1cqz9lkj3y9xj4ia0hlq4lvz1rff0wq6d5w79dn"; depends=[RandomFieldsUtils tcltk2 tkrplot]; };
   tsiR = derive2 { name="tsiR"; version="0.4.3"; sha256="0xzcfdad1z8336wnsrk9sy21psd898wwkdkndq7dshqwp2rj2kxl"; depends=[ggplot2 kernlab reshape2]; };
   tsibble = derive2 { name="tsibble"; version="1.1.1"; sha256="172xb358q3fcfs9rdapllqwmw6yj6qx93bc9br6kfd437sk86rx6"; depends=[anytime dplyr ellipsis generics lifecycle lubridate rlang tibble tidyselect vctrs]; };
-  tsibbledata = derive2 { name="tsibbledata"; version="0.3.0"; sha256="1lz3kx0r8h9d1flp3j0fsllrk4d7m312pk4w4jdv5p4l5f2sqmnx"; depends=[tsibble]; };
+  tsibbledata = derive2 { name="tsibbledata"; version="0.4.0"; sha256="0f9gi8h49xc4xd38fg0s26p4xrkpxr4qfdfapk7p1vfszb31ihjd"; depends=[rappdirs tsibble]; };
   tsibbletalk = derive2 { name="tsibbletalk"; version="0.1.0"; sha256="14j1gpimvlz9cgxgl1n68ngkqx4w2ai92782ifrpvc57lqy9cs7v"; depends=[crosstalk dendextend dplyr glue lubridate plotly R6 rlang shiny tsibble vctrs]; };
   tsintermittent = derive2 { name="tsintermittent"; version="1.9"; sha256="1mrb6yrsjwj6j40n97sgg42ddvwhjnaiq9k7ka249bbq01gf2975"; depends=[MAPA]; };
   tsmp = derive2 { name="tsmp"; version="0.4.14"; sha256="1ahqdizygbs49xbgn35fdb5drxwyx2z9ima4fm83aqwaan7wrrja"; depends=[audio checkmate doSNOW foreach magrittr progress Rcpp RcppParallel RJSONIO]; };
@@ -17938,7 +18141,7 @@ in with self; {
   tuber = derive2 { name="tuber"; version="0.9.9"; sha256="1nnjwn3c0rr90jvkwlh9xs5vc2nl6qzjj958hbddfrkny0w88mnp"; depends=[dplyr httr jsonlite plyr purrr]; };
   tubern = derive2 { name="tubern"; version="0.1.0"; sha256="0wpn4aig6r1kpncrgrqra4kr0f07rdq7z4p2k0h28f7kww6l52vv"; depends=[httr jsonlite]; };
   tuckerR_mmgg = derive2 { name="tuckerR.mmgg"; version="1.5.1"; sha256="0lrylh0np0kbl4xx3gmlvid0g11fh0ad39wdwbz6hrmf5pzsjdjq"; depends=[]; };
-  tufte = derive2 { name="tufte"; version="0.11"; sha256="1j0k9c9b8dqhrs1j6fn0lxzlz181776n3r6xchk1s8m6cij339ja"; depends=[htmltools knitr rmarkdown xfun]; };
+  tufte = derive2 { name="tufte"; version="0.12"; sha256="1srnrqjw2d0pzl1gpd11m9s8p43hhb0mxm3yd260rvhbsn1x0hs0"; depends=[htmltools knitr rmarkdown xfun]; };
   tufterhandout = derive2 { name="tufterhandout"; version="1.2.1"; sha256="04fvvbx69a28nk7i4wz5ynamz1yvsa2ibz542r1xaq1ikk0ywqbw"; depends=[knitr rmarkdown]; };
   tukeyGH = derive2 { name="tukeyGH"; version="1.0.0"; sha256="1nlhv8lyjaqq95l7j85bdqdrsphagwf69iq8g3ryyyckchirljjg"; depends=[magrittr minqa Rdpack rootSolve]; };
   tukeytrend = derive2 { name="tukeytrend"; version="0.7"; sha256="15j7g0drb92rpxq7d0jl9h0hxpi9pbgpvfcxaicrcgypxap3721q"; depends=[lme4 Matrix mgcv multcomp nlme pbkrtest]; };
@@ -17949,7 +18152,6 @@ in with self; {
   tuneRanger = derive2 { name="tuneRanger"; version="0.5"; sha256="1xf78q8f7sq6w2jjwcw8vz88bmbp8yivydmqygjag58abnhd0356"; depends=[BBmisc DiceKriging lhs lubridate mlr mlrMBO ParamHelpers ranger smoof]; };
   tuple = derive2 { name="tuple"; version="0.4-02"; sha256="0fm8fsdfiwknjpc20ivi5m5b19r9scdxhzij70l8qi3ixw1f0rnk"; depends=[]; };
   turboEM = derive2 { name="turboEM"; version="2021.1"; sha256="17j308qla2680k0j8cf2c4v1jlsm21z93zglncmw3n0isa7cwjly"; depends=[doParallel foreach iterators numDeriv quantreg]; };
-  turfR = derive2 { name="turfR"; version="0.8-7"; sha256="007jmkppfv1x4zzvvd65fhg5k15ybjhsya2zfjgwm77wm34y81ca"; depends=[dplyr]; };
   turner = derive2 { name="turner"; version="0.1.7"; sha256="1xckb750hbfmzhvabj0lzrsscib7g187b44ag831z58zvawwh772"; depends=[tester]; };
   tutorial = derive2 { name="tutorial"; version="0.4.3"; sha256="0sxdlpw0w4azlaxdlk36ycrric6pbj2zi4nyv26pgsp0cr1hrx6r"; depends=[base64enc knitr markdown rjson]; };
   tvR = derive2 { name="tvR"; version="0.3.2"; sha256="1i20z09f714fyn3ipcn9i5g4dx7cyjfkyjqzyqzqapkg0m9ny91m"; depends=[Matrix Rcpp RcppArmadillo Rdpack]; };
@@ -17971,6 +18173,7 @@ in with self; {
   twfy = derive2 { name="twfy"; version="0.1.0"; sha256="14xxl9y8iagnn5jd06k6jyy4wk7crm64svz8h0zmzcvg47k8bwc7"; depends=[httr jsonlite]; };
   twiddler = derive2 { name="twiddler"; version="0.5-0"; sha256="0r16nfk2afcw7w0j0n3g0sjs07dnafrp88abwcqg3jyvldp3kxnx"; depends=[]; };
   twilio = derive2 { name="twilio"; version="0.1.0"; sha256="0b70vcc2bd5jpd2d82i2k828q90viah0b9abz2r627bbyxivpcnd"; depends=[httr jsonlite lubridate magrittr purrr]; };
+  twinning = derive2 { name="twinning"; version="1.0"; sha256="02sa631np01cizzqqh25riqcw31qvszrfbws5h6xs31f7l9wlxdy"; depends=[Rcpp]; };
   twitteR = derive2 { name="twitteR"; version="1.1.9"; sha256="1hh055aqb8iddk9bdqw82r3df9rwjqsg5a0d2i0rs1bry8z4kzbr"; depends=[bit64 DBI httr rjson]; };
   twitterwidget = derive2 { name="twitterwidget"; version="0.1.1"; sha256="1dlhydhy69284gg3jsxwa6h8cp1rlkg1j8h8z1fjz4fyy1p5xrpv"; depends=[htmlwidgets]; };
   twl = derive2 { name="twl"; version="1.0"; sha256="0n2r40ddsr5zpzi92k7f0lvq78k5cmfbqzjxvr78hwq6j13dhar3"; depends=[corrplot data_table MCMCpack Rfast]; };
@@ -17981,6 +18184,7 @@ in with self; {
   twoway = derive2 { name="twoway"; version="0.6.3"; sha256="02z2syb0g92d97gjxfkarpil9b2n25s128606h071jl0s88cr4ar"; depends=[]; };
   twowaytests = derive2 { name="twowaytests"; version="1.1"; sha256="00wz8l4ginv1pp1dbjwqbmn4q8i8fnmhz8x3v6riffndw5ag22f2"; depends=[car ggplot2 nortest onewaytests]; };
   twoxtwo = derive2 { name="twoxtwo"; version="0.1.0"; sha256="03wrxzjv21df5c8w9bixfw42m82yf9grv1c4nlw5dy09lsfhl8sv"; depends=[dplyr forcats knitr magrittr rlang tidyr]; };
+  txshift = derive2 { name="txshift"; version="0.3.7"; sha256="0s2wkms4cwkxyqwwd421mcg4mkc6j42kbw76qwdazrg5cw4dp9zc"; depends=[assertthat data_table ggplot2 hal9001 haldensify latex2exp lspline mvtnorm Rdpack scales stringr]; };
   txtplot = derive2 { name="txtplot"; version="1.0-4"; sha256="00sriml48y70j18jz235dsfm5x3a81bnzskfp3hnv6cbjwwsmca4"; depends=[]; };
   txtq = derive2 { name="txtq"; version="0.2.4"; sha256="1fvjprcwfqbw9c4sqcxv8r0jgvqmkip6d86r3cgrhwyic1ndk1l5"; depends=[base64url filelock R6]; };
   typed = derive2 { name="typed"; version="0.0.1"; sha256="096rzsxjdycf55jx33cxk1284rzb2vcxvp298y4q6v9x0w36php3"; depends=[waldo]; };
@@ -17990,7 +18194,7 @@ in with self; {
   tzupdater = derive2 { name="tzupdater"; version="0.1.2"; sha256="0s1simvn76m569iq24qb3w6xli0202cjf1jr3a4qy58fs4sda2kv"; depends=[]; };
   u5mr = derive2 { name="u5mr"; version="0.1.1"; sha256="16znlmxanhg1m6fq28z62jv033fxgr4njzz50hgskprvgvx8svkj"; depends=[lifecycle]; };
   uCAREChemSuiteCLI = derive2 { name="uCAREChemSuiteCLI"; version="0.2.0"; sha256="1nccgkxv57inhgvgmhwm4fr8cp28sj8n83za5gam9xx1f42mzsqk"; depends=[ChemmineR usethis]; };
-  uGMAR = derive2 { name="uGMAR"; version="3.4.0"; sha256="1n8ishsldfmqdbxz719gakrngrqr9bj7fzddq2ri86yj9krfgas1"; depends=[Brobdingnag gsl pbapply]; };
+  uGMAR = derive2 { name="uGMAR"; version="3.4.2"; sha256="1lj08iz59z7qzmhf77m2v9jh99zycggpd7fma02zyn0jvnpigh6w"; depends=[Brobdingnag gsl pbapply]; };
   uHMM = derive2 { name="uHMM"; version="1.0"; sha256="1516ipadxi7rc1dbinr5rva2fbcr5i2zg3rlli5wy7r6naf8fzzl"; depends=[chron class cluster clValid corrplot FactoMineR HMM tcltk2 tkrplot]; };
   uaparserjs = derive2 { name="uaparserjs"; version="0.3.5"; sha256="0v24smgsz1p2wa23mc2llx7dycwmgf7zyxdhwxgwplabpmy3xzhl"; depends=[progress V8]; };
   uavRmp = derive2 { name="uavRmp"; version="0.5.7"; sha256="04dv1a72b0v8lgdwl10n96953gfal6pmbbih45szdvk4zhks030j"; depends=[brew data_table exifr geosphere jsonlite link2GI log4r raster rgdal rgeos rlang rlist sf sp zoo]; };
@@ -18003,7 +18207,8 @@ in with self; {
   ucminf = derive2 { name="ucminf"; version="1.1-4"; sha256="01vggwg1w71k98qs6fhb0x1843vi322mf4g3hbclks94kcpkisx2"; depends=[]; };
   udapi = derive2 { name="udapi"; version="0.1.3"; sha256="0qyn6fdh8ia913hn2dl0x99xsm20ps8zm52snswlyb00prinm668"; depends=[curl httr]; };
   udpipe = derive2 { name="udpipe"; version="0.8.8"; sha256="0bjl3l652lmq6yyhpc4nyhqgjb0drzk4ppmx4i9m0rrwrf997d9b"; depends=[data_table Matrix Rcpp]; };
-  udunits2 = derive2 { name="udunits2"; version="0.13.1"; sha256="1l889f8iy8qaacxfs6ll62d6hs8g8qsr5ynn24grpvp8dk8l888w"; depends=[]; };
+  udunits2 = derive2 { name="udunits2"; version="0.13.2"; sha256="0sarkw5ciafiaq1haam8d8w0cmai63wrw2m4rcbjfa5k0648j07f"; depends=[]; };
+  ufRisk = derive2 { name="ufRisk"; version="1.0.1"; sha256="1ax01k7a54qngbyliqd5cr96wv1a63jcij2ywxzvq2ykiv02ksb0"; depends=[esemifar fracdiff rugarch smoots]; };
   ufs = derive2 { name="ufs"; version="0.5.2"; sha256="1lqnib0pizx97isqbr4v2r4qp7fph6znbd5arbjnxmlh2wblfbsl"; depends=[digest diptest dplyr ggplot2 ggrepel ggridges gridExtra gtable htmltools kableExtra knitr pander plyr pwr rmdpartials scales SuppDists]; };
   ugatsdb = derive2 { name="ugatsdb"; version="0.2.2"; sha256="0f5fgys80b5nlj5f8jadh5jpylhhb5hsknrsspfac5amncmb0yyv"; depends=[collapse data_table DBI RMySQL writexl]; };
   ugomquantreg = derive2 { name="ugomquantreg"; version="1.0.0"; sha256="1a5vc1qgy3kp1by5bp296w980lkxcghzzxibhap2jg06jnzjfcq8"; depends=[gamlss gamlss_dist pracma Rcpp]; };
@@ -18033,7 +18238,7 @@ in with self; {
   uniReg = derive2 { name="uniReg"; version="1.1"; sha256="0wjc7pgaisvk26j7grxp2ypsabb5my9wg6c9i5w9zhh5jdx1fdab"; depends=[DoseFinding MASS mvtnorm quadprog SEL]; };
   uniah = derive2 { name="uniah"; version="1.0"; sha256="19zwy33gwa749i81mi9h05k8k3l4xbbln3k6q70fa7ic5lqbbdzj"; depends=[ahaz Iso survival]; };
   unifDAG = derive2 { name="unifDAG"; version="1.0.3"; sha256="052qjrnj04imhj6i62k8jdx9rs8r70n0qrmd2z45x4fimn5py6j5"; depends=[gmp graph]; };
-  unifed = derive2 { name="unifed"; version="1.1.5"; sha256="1gc5ny878i1rsr6hxjrf22pgkz1p3him464h2ax6lpidif4d1nbh"; depends=[]; };
+  unifed = derive2 { name="unifed"; version="1.1.6"; sha256="0wy2hasgkzw08l50qq30wb62i1q4skc3zccipv8pm911qlldk3sr"; depends=[]; };
   uniformly = derive2 { name="uniformly"; version="0.1.0"; sha256="0n3s0x05v4d79jn51nwj06gm074rgy269f57y2q5z0bkwyp6yc7n"; depends=[pgnorm]; };
   uniftest = derive2 { name="uniftest"; version="1.1"; sha256="0a37m7l3lc6rznx10w9h9krnn5paim2i2wvw47ckwag7bv0d4pm4"; depends=[orthopolynom]; };
   unikn = derive2 { name="unikn"; version="0.4.0"; sha256="0pqkb48rsjl9zny0y1plcnfvzaaqy2cwpgii2pdhh4rfg2ps2n4l"; depends=[ggplot2]; };
@@ -18042,12 +18247,12 @@ in with self; {
   unisensR = derive2 { name="unisensR"; version="0.3.3"; sha256="1pqfb8i3rj64l9hh1bn9mm78wlfqphgrlp7zrydznqy88f4jwgvy"; depends=[hexView vroom XML]; };
   uniset = derive2 { name="uniset"; version="0.2.1"; sha256="1l7a3qv7sa1kbk5r2qxbc0b69s80l0a56g93x1fv6lyx33ghkfb6"; depends=[easycsv]; };
   unitedR = derive2 { name="unitedR"; version="0.4"; sha256="0h4i814awb8419693jz3x5cyhs2x6y5flmz339bg6ivmg13d9h3s"; depends=[plyr]; };
-  unitizer = derive2 { name="unitizer"; version="1.4.15"; sha256="0n47bksrwyj7pbyzh8hs25nmvmhvdnafjzs94y5ang4hw0is0cpc"; depends=[crayon diffobj]; };
-  units = derive2 { name="units"; version="0.7-2"; sha256="1ss0f15h4yqzk488ilsa5d2ibrj3wzwplx4160mn600i8ciy02xr"; depends=[Rcpp]; };
+  unitizer = derive2 { name="unitizer"; version="1.4.17"; sha256="1fyqsqnqm0jk31qd2kny2pi7j5z0a4w9lyxnpmg98bc0zi3w6fbq"; depends=[crayon diffobj]; };
+  units = derive2 { name="units"; version="0.8-0"; sha256="06mjprqi06xprj6185k5cmrrdl025x0pd1r6a4x3s74ciq9zwilw"; depends=[Rcpp]; };
   unittest = derive2 { name="unittest"; version="1.4-0"; sha256="1wyiikccnkw8fzrjrb2a80lw2xyiii4zb0hrbzfszy2bd6prqxx4"; depends=[]; };
   univOutl = derive2 { name="univOutl"; version="0.3"; sha256="1hhpxrpmp2wbrynx9xjndnp2sccirgky2x6ksd6yk6phmk0rbzjp"; depends=[Hmisc robustbase]; };
   unival = derive2 { name="unival"; version="1.1.0"; sha256="0j7fl77my2273k72s8k9v5pcb85swxfipjxmk4vw487i7aq8b1nq"; depends=[psych]; };
-  univariateML = derive2 { name="univariateML"; version="1.1.0"; sha256="1bnpb1g6hm8p3q73kyb4mxijzj53cfp38ns98bq12m9yvsjq1c4n"; depends=[actuar assertthat extraDistr fGarch logitnorm nakagami tibble]; };
+  univariateML = derive2 { name="univariateML"; version="1.1.1"; sha256="0a4h19hmw0k2x5yqs92xp48r2srycv4sax97p7gci8hahjw8qzdf"; depends=[actuar assertthat extraDistr fGarch logitnorm nakagami tibble]; };
   universals = derive2 { name="universals"; version="0.0.4"; sha256="1dx7xh5l2dkamskpwfc9qsjf7df1fj54ph6s3sxhnhdbppzckd4d"; depends=[]; };
   unix = derive2 { name="unix"; version="1.5.4"; sha256="0wj85h5lljzw4qj4ry79y05gd6vakqff8lzw9f70154i79jq74hl"; depends=[]; };
   unjoin = derive2 { name="unjoin"; version="0.1.0"; sha256="1hp9fxkb59z0cpnwxpaf5whglrljg2nrmsygdb98klxsama9gr5z"; depends=[dplyr rlang tibble]; };
@@ -18061,10 +18266,9 @@ in with self; {
   untb = derive2 { name="untb"; version="1.7-4"; sha256="1i7m4vfslsix98dwx4jlrsldm7fhhfp25gr7aapcxqxms7ryaby6"; depends=[Brobdingnag partitions polynom]; };
   unusualprofile = derive2 { name="unusualprofile"; version="0.1.0"; sha256="0dasknh8hwbvc530d8i0xfizqxygrlz3w2bdnsgdd9sf84flqajl"; depends=[dplyr ggnormalviolin ggplot2 lavaan lifecycle magrittr patchwork purrr ragg rlang scales simstandard tibble tidyr]; };
   unvotes = derive2 { name="unvotes"; version="0.3.0"; sha256="1vfyvwqfbxp29x2a0sqng6l5pkp2hc3hadp95ysnpannnsd6x0jw"; depends=[]; };
-  updog = derive2 { name="updog"; version="2.1.1"; sha256="0d5jimrsl30abi2y6023dvrnwcvygn73rzbk8agrklalg260razx"; depends=[assertthat doFuture doRNG foreach future ggplot2 ggthemes iterators Rcpp RcppArmadillo reshape2]; };
+  updog = derive2 { name="updog"; version="2.1.2"; sha256="0v8a5vlyv1gabjkxj5fnx05pfm1fqf549895gx6gsyzy2iz1652g"; depends=[assertthat doFuture doRNG foreach future ggplot2 ggthemes iterators Rcpp RcppArmadillo reshape2]; };
   uplift = derive2 { name="uplift"; version="0.3.5"; sha256="11xikfmg6dg8mhwqq6wq9j9aw4ljh84vywpm9v0fk8r5a1wyy2f6"; depends=[coin MASS penalized RItools tables]; };
-  uplifteval = derive2 { name="uplifteval"; version="0.1.0"; sha256="1gnn40c47rpx40j210bz6fb48d70p6spv3drr8hd5b3vzfz6686c"; depends=[dplyr ggplot2 gridExtra whisker]; };
-  upsetjs = derive2 { name="upsetjs"; version="1.10.10"; sha256="0cg1d1r7gxl7lq8dzzvz8a371n1c1ixzcb0k7rad0r2h1qmadkhi"; depends=[htmlwidgets magrittr]; };
+  upsetjs = derive2 { name="upsetjs"; version="1.10.11"; sha256="0wmd0hxa51d1aw7gglnkzcn8famrnrybypdaml7wi6yxgjy4wa5s"; depends=[htmlwidgets magrittr]; };
   upstartr = derive2 { name="upstartr"; version="0.1.1"; sha256="09xzj423v0x4qvqfgyqpxyg63p8f1n5ppjc8swpyv1747ll5zmg8"; depends=[beepr crayon dplyr ggplot2 glue here knitr librarian magrittr openxlsx purrr readr readxl rmarkdown scales sf stringr textclean tgamtheme tidytext]; };
   uptasticsearch = derive2 { name="uptasticsearch"; version="0.4.0"; sha256="19sf3zdj424pz4ms0xg4asplf2bczvhl8p22y13jna1g51xyv92a"; depends=[assertthat data_table futile_logger httr jsonlite purrr stringr uuid]; };
   uptimeRobot = derive2 { name="uptimeRobot"; version="1.0.0"; sha256="1sbr0vs6jqcyxjbs7q45bsfdnp3bc59phw0h3fwajqq1cxjgzdww"; depends=[plyr RCurl rjson]; };
@@ -18074,7 +18278,7 @@ in with self; {
   urlshorteneR = derive2 { name="urlshorteneR"; version="1.5.1"; sha256="0vcjjb3r4cmfp5i0zcm3bmn6q4i4xazz1m994yka4gp34zqbz67n"; depends=[assertthat cli clipr httr jsonlite lubridate miniUI shiny stringr]; };
   urltools = derive2 { name="urltools"; version="1.7.3"; sha256="04x3my655dd287cbsszbnf75q0swmjlxxrblcsay7a8n3df3a830"; depends=[Rcpp triebeard]; };
   uroot = derive2 { name="uroot"; version="2.1-2"; sha256="0dsb1vdr2bwy64v889svhvkadg5jl9cl77mfiw79vl18b7ixjzxx"; depends=[]; };
-  ursa = derive2 { name="ursa"; version="3.9.4"; sha256="1dnqwyw1xmgsb064spynqisyx503nqqq427qvc85fbp0qrhi631l"; depends=[jpeg png rgdal]; };
+  ursa = derive2 { name="ursa"; version="3.9.5"; sha256="11vhfb9qivwn9hph8p6x7xjqnh4lcwqz85rc55n5galcmnr812ln"; depends=[jpeg png rgdal]; };
   us_census_geoheader = derive2 { name="us.census.geoheader"; version="1.0.2"; sha256="17mss1ggaqkd0ac7g9chgqdrpi5xlbfkxsm1jvj48rp2jfwpp4jw"; depends=[tibble]; };
   usa = derive2 { name="usa"; version="0.1.0"; sha256="0scdrd6b48n019f7qp77rrkqgmapnrknalq0hml1cy7m43llqf6d"; depends=[tibble]; };
   usdampr = derive2 { name="usdampr"; version="1.0.1"; sha256="0x84hzsylg22jhvhn4xhkzv4g8j17g73cpj274n7f8cwzcmpj9sx"; depends=[dplyr httr jsonlite tidyr]; };
@@ -18129,18 +18333,17 @@ in with self; {
   valr = derive2 { name="valr"; version="0.6.4"; sha256="0dd41irvibh6rwi52bw4zg4m7wpyihlp1kdkb8fdji3csw2fiz4k"; depends=[broom dplyr ggplot2 Rcpp readr rlang rtracklayer stringr tibble]; };
   valse = derive2 { name="valse"; version="0.1-0"; sha256="0l3fdsgrmalifcxscjsxsfq07v8vipg0rdw6xh94q7xw5gdfsms0"; depends=[cowplot ggplot2 MASS reshape2]; };
   valueEQ5D = derive2 { name="valueEQ5D"; version="0.7.2"; sha256="1w1l07s1rfxc1ba6kdq0l1vmb2qib6gmdm91706cmy1azfa92n4d"; depends=[testthat]; };
-  valuer = derive2 { name="valuer"; version="1.1.2"; sha256="0mbwzsvy34ppngyxdzpd9w1r4f00cik4maqab9kpiflrrv9xdp78"; depends=[ggplot2 orthopolynom R6 Rcpp RcppEigen timeDate yuima]; };
   vamc = derive2 { name="vamc"; version="0.2.1"; sha256="04kkli4xzf3gzvs215lzch8bl877cdq3awh3mz1k321zhsa1d0jn"; depends=[Rdpack]; };
   vampyr = derive2 { name="vampyr"; version="1.1.1"; sha256="137sdv4shmjg1cpndjknrys2jkvyq3p9l11nrdh0bzp9xxc1wkh1"; depends=[corpcor EFA_MRFA fungible GPArotation lavaan moments PCovR psych semPlot]; };
   vanddraabe = derive2 { name="vanddraabe"; version="1.1.1"; sha256="094kd72slq0n3pk0p6zps241aszb9yql49h4mr007zf0kn8wlf8v"; depends=[bio3d cowplot fastcluster ggplot2 openxlsx reshape2 scales]; };
-  vannstats = derive2 { name="vannstats"; version="1.2.1.3"; sha256="05kakmiadggjylcj1kqvdp4idz4dk75rj9djkyi3gxd904v48q43"; depends=[car dplyr formula_tools ggplot2 gplots MASS purrr rlang rstatix stringr tidyverse]; };
+  vannstats = derive2 { name="vannstats"; version="1.2.1.19"; sha256="0pj162nnzas63xrf03b1v86mf3b1fq66n36xgf4a9k0zvxvy6aj4"; depends=[car dplyr formula_tools ggplot2 gplots MASS purrr rlang rstatix stringr tidyverse]; };
   vanquish = derive2 { name="vanquish"; version="1.0.0"; sha256="01di1j36npl7vnyhgsagvyf6j8bxcw867dwf9dgi7l1328s7lf0l"; depends=[changepoint e1071 ggplot2 VGAM]; };
   vapour = derive2 { name="vapour"; version="0.8.5"; sha256="14sxn4vdig31vflrbyzpkqfwdcf9xj468wxd7yicvca0ibmr80yf"; depends=[Rcpp]; };
   varEst = derive2 { name="varEst"; version="0.1.0"; sha256="0i6nsxl5w4zipzrmdvx8plmxr33n405w2qhks3s7zzs3kcys32v6"; depends=[caret glmnet lm_beta SAM]; };
   varImp = derive2 { name="varImp"; version="0.4"; sha256="1bxlfqxi8iiv6raawl9668yhlmbak96ahd0ljzwrilnciqbclc2b"; depends=[measures party]; };
   varSel = derive2 { name="varSel"; version="0.2"; sha256="05dk2s4lzd4sxrwsfs2yqsj08qrdrfwx1fs07nb9a8sd0in6vlpj"; depends=[]; };
   varSelRF = derive2 { name="varSelRF"; version="0.7-8"; sha256="0h49rl1j13yfh97rsfsyh9s2c4wajny4rzms2qw77d0cavxqg53i"; depends=[randomForest]; };
-  varTestnlme = derive2 { name="varTestnlme"; version="1.2.0"; sha256="0n1ph7y4w663kcfb1ylh2i8a0w3iqphmw41x64rxb42db5cijpvw"; depends=[alabama anocva corpcor doParallel foreach lme4 lmeresampler Matrix merDeriv msm mvtnorm nlme quadprog saemix]; };
+  varTestnlme = derive2 { name="varTestnlme"; version="1.3.0"; sha256="0hpzwzfwip3ly4ayr7whqdxch7l73aizgik7rkkm62js01iz7y53"; depends=[alabama anocva corpcor doParallel foreach lme4 lmeresampler Matrix merDeriv msm mvtnorm nlme quadprog saemix]; };
   varband = derive2 { name="varband"; version="0.9.0"; sha256="16z66rx7xq5zan8pnw100c9r5syw1ml4hgzi9mch52aia23v21p9"; depends=[Rcpp RcppArmadillo]; };
   varbin = derive2 { name="varbin"; version="0.2.1"; sha256="0gcynwc0vx7qlp3z0pcc4i7mjlnxkwy8ydxz2wr244fw32qgp4kq"; depends=[rpart]; };
   varbvs = derive2 { name="varbvs"; version="2.5-16"; sha256="0pji7vqpbih01y7n0q6zpxhfszznzig4z3hmmpr4jqpdplv13x8d"; depends=[lattice latticeExtra Matrix nor1mix Rcpp]; };
@@ -18186,12 +18389,12 @@ in with self; {
   vegalite = derive2 { name="vegalite"; version="0.6.1"; sha256="0dlzhvrg3nj6knyycdgg3d1vzq3dn9vxb34fjin9hzilszqmarbk"; depends=[base64 clipr digest htmltools htmlwidgets jsonlite magrittr webshot]; };
   vegan = derive2 { name="vegan"; version="2.5-7"; sha256="0aj6m9l1vkh32sar6fyvq4p8j4h2f2f347w1300qnzgaa5lmhfz6"; depends=[cluster lattice MASS mgcv permute]; };
   vegan3d = derive2 { name="vegan3d"; version="1.1-2"; sha256="01yyhrapdvs6rr5hw1ij4jnpz7mq005s35pn96snpy8ngn6ir386"; depends=[cluster rgl scatterplot3d vegan]; };
-  vegawidget = derive2 { name="vegawidget"; version="0.3.3"; sha256="0pyfj7ahz65pxcrf6vr8rl2zw1b7w5d6lvmcxsm1c81xw64xpc1n"; depends=[assertthat digest glue htmltools htmlwidgets jsonlite magrittr rlang]; };
+  vegawidget = derive2 { name="vegawidget"; version="0.4.1"; sha256="1rlx090vkvxizwfzcxbsxw5a0swgl3xp7v9d1d9r5v6m9yzam7k3"; depends=[assertthat digest glue htmltools htmlwidgets jsonlite magrittr rlang]; };
   vegclust = derive2 { name="vegclust"; version="2.0.0"; sha256="1zxgkq4ymg3w2dccfr448nmxp2kl7ws206djl2ymsrvzigivfqgs"; depends=[MASS sp vegan]; };
-  vegdata = derive2 { name="vegdata"; version="0.9.8"; sha256="05sgmas7hlhxx2j95b4r5y2m6hhxa2cswy80bhs8lmjmy3yqyig6"; depends=[foreign plyr xml2]; };
+  vegdata = derive2 { name="vegdata"; version="0.9.10"; sha256="1n2569mq4mmdyv8ilx4k9ccmdaycnsw6r438mvr43gdfwzsvn9v2"; depends=[curl DBI dbplyr dplyr foreign hoardr httr magrittr plyr RCurl readr rlang RSQLite tibble xml2]; };
   vegperiod = derive2 { name="vegperiod"; version="0.3.1"; sha256="178zp7hw7bicygzl4ql0a9llkmrk4kyszcvvl430pvsc5y6srg75"; depends=[]; };
   vegtable = derive2 { name="vegtable"; version="0.1.7"; sha256="1rxc2f4w51p4gr30p56n3shwvknlbqb8wczbs2xxvcf1f823yn38"; depends=[foreign knitr qdapRegex sp stringi taxlist vegdata]; };
-  vein = derive2 { name="vein"; version="0.9.4"; sha256="15nipn6z0kladqzki3zryh3gmrljjcbvg075fmxcq4sw6hndr2qg"; depends=[cptcity data_table dotCall64 fields sf units]; };
+  vein = derive2 { name="vein"; version="0.9.5"; sha256="1cqm6phr627yplvq7zjzcrk7gdv7lyh16b4yvlqh6zagamib9ph3"; depends=[cptcity data_table dotCall64 fields sf units]; };
   velociraptr = derive2 { name="velociraptr"; version="1.1.0"; sha256="0a67vmv05cxc9f27aqzr6nkgy2mj3fhykwj5nb23qwfqa669a5hi"; depends=[sf]; };
   vembedr = derive2 { name="vembedr"; version="0.1.5"; sha256="1hmwgrp9vj7qwmsvnvgry8h707kj53wp5chpxqsbgxi9jryabpc0"; depends=[assertthat glue htmltools httr lifecycle magrittr stringr]; };
   venn = derive2 { name="venn"; version="1.10"; sha256="1r31z6s384mcrjqxm9818mvc7v23ir26wcix5lc831fwihajlhk5"; depends=[admisc]; };
@@ -18205,7 +18408,7 @@ in with self; {
   versionsort = derive2 { name="versionsort"; version="1.0.0"; sha256="0inyzs6y4dsxwyfpwl90rqx11dyc3j3n4347zyqvyqp5icg7x5m0"; depends=[]; };
   vertexenum = derive2 { name="vertexenum"; version="1.0.2"; sha256="16ywz3z1kzhb3knhhi2i5igm3djdaaxyyrw69wkc5saa7ayhdb4y"; depends=[numbers]; };
   vesselr = derive2 { name="vesselr"; version="0.2.1"; sha256="1wzprnpiv04gxhqgki36gp1a0xj9l3mchllphwkfsdja4axq3prk"; depends=[oro_nifti pbapply pbmcapply]; };
-  vetiver = derive2 { name="vetiver"; version="0.1.0"; sha256="0fmlff09mvg9j81vmnmyas5mj52i0fxkc3nxkf10y628x1xa3mrz"; depends=[butcher cli glue hardhat httr jsonlite pins plumber purrr rapidoc readr rlang tibble vctrs withr]; };
+  vetiver = derive2 { name="vetiver"; version="0.1.1"; sha256="0q37mgwqy69q6vkkgjr9mhc8gl9k0sdf7pp7bym1fag41jspwfzp"; depends=[butcher cli generics glue hardhat httr jsonlite pins plumber purrr rapidoc readr rlang tibble vctrs withr]; };
   vetools = derive2 { name="vetools"; version="1.3-28"; sha256="1470xgqdq9n5kj86gdfds15k3vqidk3h99zi3g76hhyfl8gyl1c0"; depends=[lubridate maptools plyr scales sp stringr tis xts]; };
   vetr = derive2 { name="vetr"; version="0.2.13"; sha256="0wbhi5wzwvvp645dg8na8mh1yxvvfzwdm34xqrqkzh6cvlvlby4c"; depends=[]; };
   vfcp = derive2 { name="vfcp"; version="1.4.0"; sha256="0zj1ihqdx5x1695al1xyi8k001yw8x7gdss72myxlnh7b4flnp9m"; depends=[copula extraDistr stringr]; };
@@ -18221,7 +18424,7 @@ in with self; {
   vimp = derive2 { name="vimp"; version="2.2.5"; sha256="13461pcvyc6rad1rf2ymmkyzcwjxw7g4fs8qd51baljhjnjmifv0"; depends=[boot data_table dplyr magrittr MASS rlang ROCR SuperLearner tibble]; };
   vimpclust = derive2 { name="vimpclust"; version="0.1.0"; sha256="0ly7piz7q88sh2g7zq5b2pqph9467b4fclgq9amm0m7xc8vrv4f9"; depends=[ggplot2 mclust PCAmixdata Polychrome rlang]; };
   vindecodr = derive2 { name="vindecodr"; version="0.1.1"; sha256="0yvchdf90l8lkzyba5wrpma6vjcgf19li159s8s79y8sgp5pyx7p"; depends=[httr]; };
-  vinereg = derive2 { name="vinereg"; version="0.8.0"; sha256="1v0bk9xm8547g76nd0v4n5wn6v4kagyd5ssqmlpc2768ldmcn64f"; depends=[assertthat BH kde1d Rcpp RcppEigen RcppThread rvinecopulib wdm]; };
+  vinereg = derive2 { name="vinereg"; version="0.8.1"; sha256="0aqf6phgbs74zzjylkya9mj6ak9h53jji037p5m225wgm11nlq50"; depends=[assertthat BH kde1d Rcpp RcppEigen RcppThread rvinecopulib wdm]; };
   vines = derive2 { name="vines"; version="1.1.5"; sha256="057d2fdh03cq9kh4vz94arqscahmz14xbr2g59l0vn205lnyilf1"; depends=[ADGofTest copula cubature TSP]; };
   violinplotter = derive2 { name="violinplotter"; version="3.0.0"; sha256="02hyc85bmpc4lzpy4yay73gz4v00wns1ghkkf9sljl3kdgybmyi2"; depends=[]; };
   vioplot = derive2 { name="vioplot"; version="0.3.7"; sha256="1dmdasp3jldc41233z6r08w3j76vyyp9m3jrj7n4ahk48yd5siq6"; depends=[sm zoo]; };
@@ -18239,7 +18442,7 @@ in with self; {
   visStatistics = derive2 { name="visStatistics"; version="0.1.1"; sha256="0lp6sf2wrjjp1zh77yhlgr9sfpls54z0bny0l36v98ik4qykky0f"; depends=[Cairo multcompView nortest vcd]; };
   visTree = derive2 { name="visTree"; version="0.8.1"; sha256="1l07zfr2hagjpdxfw5290wa3ki4bl7iqxrrhda0d1bp3wmwfz0ai"; depends=[colorspace partykit rpart]; };
   visa = derive2 { name="visa"; version="0.1.0"; sha256="1mx7nbbpxs4fdp781a75qvffa42dx2n6anslbfs9bnprmvzmljqr"; depends=[ggplot2 ggpmisc Matrix RColorBrewer reshape2]; };
-  visachartR = derive2 { name="visachartR"; version="1.1.1"; sha256="1qj0ma9dai1q1khwh0cckhi0r6jqbpm2qr6fhlv2skz19s2hvzjs"; depends=[htmlwidgets]; };
+  visachartR = derive2 { name="visachartR"; version="2.0.1"; sha256="0kwj8dq6r3rbv3s01dpgnw44ngpchx4rxmykmwff949yck691952"; depends=[htmlwidgets]; };
   visae = derive2 { name="visae"; version="0.2.0"; sha256="0ycwb380z8nb646w7w42952lwvdi8prmph7yv1lraswvp4wjfx3p"; depends=[ca dplyr DT ggplot2 ggrepel magrittr rlang shiny shinyjs tidyr]; };
   viscomplexr = derive2 { name="viscomplexr"; version="1.1.1"; sha256="1b45yi5xv4vq52pfa064ll3ghxgkwpbknzq94gg60vcvb7spd0if"; depends=[doParallel foreach plotrix Rcpp Rdpack scales]; };
   visdat = derive2 { name="visdat"; version="0.5.3"; sha256="1ikqp29nncbw1xlwyb9dqqgcdk9q0bs3wxhnhnjpb11vcjv7cz2j"; depends=[dplyr ggplot2 glue magrittr purrr readr tibble tidyr]; };
@@ -18257,7 +18460,7 @@ in with self; {
   vitality = derive2 { name="vitality"; version="1.3"; sha256="17micfmlksnw167vavvhlk431fm20k74y5ggs47pgz5fwpm854zp"; depends=[]; };
   vivid = derive2 { name="vivid"; version="0.2.3"; sha256="1kqh9skcafng0wcbb2vqdlba7ix3mjhqd2r51npv1ys3p20jrrmw"; depends=[colorspace condvis2 DendSer dplyr flashlight GGally ggalt ggnewscale ggplot2 igraph RColorBrewer tidyr]; };
   vivo = derive2 { name="vivo"; version="0.2.1"; sha256="1cfval06byviw7himr5nql34h4jaway9gb6dzya3v994p7v851cg"; depends=[DALEX ggplot2]; };
-  vizdraws = derive2 { name="vizdraws"; version="1.1"; sha256="19lr55swfnl79pdkybgfbkm0pvx60x64rlya0wkhdijbizyr1jvb"; depends=[dplyr glue htmlwidgets magrittr stringr tidyr]; };
+  vizdraws = derive2 { name="vizdraws"; version="1.2"; sha256="1r4kn8ki4ymqg87j223fs6fs9vyscc5bsfbnc4v9gvjy96jjxy3h"; depends=[dplyr htmlwidgets magrittr stringr]; };
   vkR = derive2 { name="vkR"; version="0.2"; sha256="1pk444fcw4yyv2dnfrw9vynbpc4gwr5yv9jd41djp9yipdf6d53l"; depends=[httr jsonlite purrr XML]; };
   vlad = derive2 { name="vlad"; version="0.2.2"; sha256="0c3zfjm5nj7iisfnl822sk8wdszv6hcsaf51sn7aqnlp579hq2jk"; depends=[BH checkmate dplyr magrittr Rcpp RcppArmadillo tidyr]; };
   vlda = derive2 { name="vlda"; version="1.1.5"; sha256="17xn8qqh043dm05ib3h4l1qx07wxncf5d06x9l1wl6jbkvnsm2nq"; depends=[dplyr ggiraph ggplot2 ggrepel ggsci]; };
@@ -18274,7 +18477,7 @@ in with self; {
   vortexRdata = derive2 { name="vortexRdata"; version="1.0.5"; sha256="0b47q3aslz4110a1bfaa103i098y2ngzrjh01rwasq3gd6xbif9n"; depends=[]; };
   voson_tcn = derive2 { name="voson.tcn"; version="0.2.4"; sha256="18h51krjjnvgplgyxyjhm32q602la9ip1wsf37vs41vv591k8ylv"; depends=[dplyr httr jsonlite magrittr openssl rlang stringr tibble tidyr]; };
   vosonSML = derive2 { name="vosonSML"; version="0.29.13"; sha256="0xajffifapn0sfnp39p8iv6hdxindzi7vywcwhla9h2hmvraad6w"; depends=[data_table dplyr Hmisc httpuv httr igraph jsonlite lubridate magrittr purrr RCurl rlang rtweet stringr textutils tibble]; };
-  vote = derive2 { name="vote"; version="2.3-1"; sha256="1v0q81w01j1c4d0w0w174n7zl8blb1a228vdpccanvfwixx3c1ib"; depends=[data_table fields formattable knitr]; };
+  vote = derive2 { name="vote"; version="2.3-2"; sha256="12kvz83ncansrsvw4mrws6fafn9fy6c0nvqvknrzl08kv290c9dr"; depends=[data_table fields formattable knitr]; };
   voteogram = derive2 { name="voteogram"; version="0.3.1"; sha256="12xv0c3g4vr23c8adkk8z7m7sx31w5mjvdg9h4qbvaimb99p2r7z"; depends=[dplyr ggplot2 jsonlite scales]; };
   votesmart = derive2 { name="votesmart"; version="0.1.0"; sha256="19pp0lnvvii9ac8zr7x775j7a4lzfnjkaall47a3lsv98ql85cza"; depends=[dplyr gestalt glue httr jsonlite lubridate magrittr purrr snakecase stringr tidyr]; };
   votesys = derive2 { name="votesys"; version="0.1.1"; sha256="1z7cx3rj3bfrkb6jkmf1m1wad5ff46zrab5vhk69wf3jbwd9h920"; depends=[data_table gtools Matrix]; };
@@ -18287,7 +18490,7 @@ in with self; {
   vprr = derive2 { name="vprr"; version="0.1.0"; sha256="0wxcaw6r56wd8sxr5xc10xbhg9cbfz82z4cn4x0w8qhrzwl4v0zl"; depends=[dplyr ggplot2 gridExtra gsw interp lubridate magick metR oce stringr tidyr usethis]; };
   vrcp = derive2 { name="vrcp"; version="0.1.1"; sha256="1wrch1dqy752gkj24h1dgi2x3kf1797xj4pf1s9mszf3x3ic905d"; depends=[ggplot2]; };
   vrmlgen = derive2 { name="vrmlgen"; version="1.4.9"; sha256="0lifhhf41yml4k83wpkssl14jgn8jaw1lcknwbci1sd8s1c4478l"; depends=[]; };
-  vrnmf = derive2 { name="vrnmf"; version="1.0.0"; sha256="1mcmpv30z9zzaq2r7h7r8pgf3fgwv3bx61b9a17a5wv39smnj0x2"; depends=[ica lpSolveAPI nnls quadprog]; };
+  vrnmf = derive2 { name="vrnmf"; version="1.0.1"; sha256="05azg867vir437rsi87sbx146fl3y0kf16ky09hs1bprmhvf2xvd"; depends=[ica lpSolveAPI Matrix nnls quadprog]; };
   vroom = derive2 { name="vroom"; version="1.5.7"; sha256="1plz20x6s01gkkcac51lhx4r2s024pgh778ri7y25hkiiwacp1yh"; depends=[bit64 cli cpp11 crayon glue hms lifecycle progress rlang tibble tidyselect tzdb vctrs withr]; };
   vrtest = derive2 { name="vrtest"; version="0.97"; sha256="00hdgb0r18nwv3qay97b09kqqw9xqsbya06rrjyddqh9r6ggx1y0"; depends=[]; };
   vscc = derive2 { name="vscc"; version="0.2"; sha256="1p14v8vd8kckd44g4dvzh51gdkd8jvsc4bkd2i4csx8vjiwrni5w"; depends=[mclust teigen]; };
@@ -18318,7 +18521,7 @@ in with self; {
   wakefield = derive2 { name="wakefield"; version="0.3.6"; sha256="1rssh6v8m6fim2pvm4cjw8cbni77bv5qp0rwi6vwdl3jhi5zws7n"; depends=[chron dplyr ggplot2 stringi]; };
   wal = derive2 { name="wal"; version="0.1.0"; sha256="0n81c2i2wzmy33kk1k4zjjgv1irh8xqw05clif8n86qr4m0a01sv"; depends=[freesurferformats imager jpeg png spacesXYZ]; };
   waldo = derive2 { name="waldo"; version="0.3.1"; sha256="16q1xjbl9g04l1r1x3nid9hmz1sa35q6j33bigdzh4y4zcd8qb7c"; depends=[cli diffobj fansi glue rematch2 rlang tibble]; };
-  walker = derive2 { name="walker"; version="1.0.3"; sha256="16lkmyabnklrxy09xir9kylrpm7n9ilvf94ygdihd70dvnn3vqv6"; depends=[bayesplot BH coda dplyr ggplot2 Hmisc KFAS loo Rcpp RcppArmadillo RcppEigen RcppParallel rlang rstan rstantools StanHeaders]; };
+  walker = derive2 { name="walker"; version="1.0.3-1"; sha256="05pqipf4jx6syfqdmh0cs2pljbp1acsy2igljmxbywfniabj3fqp"; depends=[bayesplot BH coda dplyr ggplot2 Hmisc KFAS loo Rcpp RcppArmadillo RcppEigen RcppParallel rlang rstan rstantools StanHeaders]; };
   walkscoreAPI = derive2 { name="walkscoreAPI"; version="1.2"; sha256="1c2gfkl5yl3mkviah8s8zjnqk6lnzma1yilxgfxckdh5wywi39fx"; depends=[]; };
   wallace = derive2 { name="wallace"; version="1.1.0"; sha256="0rbk6cma6w16aakqg0ibx2c6ziyb3k0lbsdp7wn3pk9zi8xrs5qk"; depends=[dismo dplyr DT ENMeval jsonlite leaflet leaflet_extras magrittr raster RColorBrewer rgdal rgeos rmarkdown shiny shinyjs shinythemes sp spocc spThin zip]; };
   wally = derive2 { name="wally"; version="1.0.10"; sha256="1d03vxn6q7v0nsrkd7dxkkv3siysgicv6c13fkvwmypln9vsl6sl"; depends=[data_table prodlim riskRegression]; };
@@ -18345,7 +18548,7 @@ in with self; {
   wavelets = derive2 { name="wavelets"; version="0.3-0.2"; sha256="07706rsjdmzj46ib2kfm5lfk4bnm2wfw7rby0ixs6x0myyzxdl92"; depends=[]; };
   wavemulcor = derive2 { name="wavemulcor"; version="3.1.2"; sha256="0a9qhcgf0l3zpwq8m476py94wb4rasy6a8xj302y6kwg3gvh1smm"; depends=[plot3D RColorBrewer waveslim]; };
   waver = derive2 { name="waver"; version="0.2.1"; sha256="1kl14cd96fwrqvk35sqbgi8bf31gc2ccxxy5d1v46scwyqkb0g5l"; depends=[geosphere rgdal rgeos sp]; };
-  waves = derive2 { name="waves"; version="0.1.1"; sha256="17rnhfpwi71s6g3ai3j14wbgq3askf30phs881kka1k24r6z64k8"; depends=[caret dplyr ggplot2 magrittr pls prospectr randomForest rlang spectacles stringr tidyr tidyselect wesanderson]; };
+  waves = derive2 { name="waves"; version="0.2.1"; sha256="04zf4bfdranwmml1i9vz7p59siw199k873g7yjdhc7cncjdc6ain"; depends=[caret dplyr ggplot2 lifecycle magrittr pls prospectr randomForest readr rlang scales spectacles stringr tibble tidyr tidyselect]; };
   waveslim = derive2 { name="waveslim"; version="1.8.2"; sha256="0ibivnhz0l06sss5rrrcvyiwg3qpbyk3qn4vx4pp90kj09x4yg0k"; depends=[]; };
   wavethresh = derive2 { name="wavethresh"; version="4.6.8"; sha256="1nz74bm7pgck1i9c28svxnic8wkwkm5dhc8bhrxiih5wxb36kcwk"; depends=[MASS]; };
   waydown = derive2 { name="waydown"; version="1.1.0"; sha256="1yjx9cd8h8rsi44s7dcqrvfmsbjhw7vkg2z7bl4knsgbki0c978g"; depends=[Matrix numDeriv]; };
@@ -18361,6 +18564,7 @@ in with self; {
   wdnr_gis = derive2 { name="wdnr.gis"; version="0.1.2"; sha256="03z9qayrv34lgajvwg77b0h7z65r04wzlkaazpdfxq9wk027g3a9"; depends=[arcpullr dplyr ggplot2 httr jsonlite rlang sf]; };
   wdpar = derive2 { name="wdpar"; version="1.3.2"; sha256="0fgypgv6dl22ni90m7g2fsw56b8ml9pvxrqkwkzmxnlb8hmg0r1k"; depends=[assertthat cli countrycode curl httr lwgeom progress rappdirs RSelenium sf sp tibble wdman xml2]; };
   weaana = derive2 { name="weaana"; version="0.1.1"; sha256="1wjvn78fkgc28ag1idy7h6sm0rvl57wbqdbxgbl3g5xv844vh8ls"; depends=[dplyr lubridate magrittr reshape2 rlang settings tibble]; };
+  weakARMA = derive2 { name="weakARMA"; version="1.0.2"; sha256="1i4hkjjx35jkvg7jbiv1szmlnj1nx1s77sa7361407i7wmf41xkf"; depends=[CompQuadForm MASS matrixStats vars]; };
   wearables = derive2 { name="wearables"; version="0.8.1"; sha256="0fjf43cgna1mg4mgg98kqhhl88yfhrr57rln2z6xm6d6bj73q5zn"; depends=[dplyr futile_logger ggplot2 kernlab lubridate magrittr padr R_utils RHRV signal varian waveslim xts]; };
   weathermetrics = derive2 { name="weathermetrics"; version="1.2.2"; sha256="1hjhgsy3v8328hv4czxxz7kp68sxc10sy10f3dv5j8f6pka6qlsp"; depends=[]; };
   weatherr = derive2 { name="weatherr"; version="0.1.3"; sha256="14w7kkja3a1zmdc7l084iprx1czqgdfjzjc29wdlwzmaiq02c4d3"; depends=[ggmap lubridate RJSONIO XML]; };
@@ -18378,6 +18582,7 @@ in with self; {
   websearchr = derive2 { name="websearchr"; version="0.0.3"; sha256="1c6dwm5g5rjq0b12zrwwi5k9760jb0ph83v4j2gm8zm0x9dhiqm9"; depends=[]; };
   webshot = derive2 { name="webshot"; version="0.5.2"; sha256="0gq4h8cw51z95yvsnf38kj5l58wgljkm0dalmi8mn1sp06bxr0zi"; depends=[callr jsonlite magrittr]; };
   websocket = derive2 { name="websocket"; version="1.4.1"; sha256="1ks9cyj39jnb0rkx2ii3ckmpl373m5f8sz0i4q3gk7kkv3js07r8"; depends=[AsioHeaders cpp11 later R6]; };
+  webtools = derive2 { name="webtools"; version="0.7.9"; sha256="0pzfdn323gnzb0mznm8975kz8xwkhqm5df6dr7zqy00vf11mzis9"; depends=[crayon dplyr jsonlite pkgsearch RCurl readr rstudioapi stringr tibble]; };
   webuse = derive2 { name="webuse"; version="0.1.3"; sha256="09xvw0v991cq1ck2kfxblp5cngfh9j6swvh5xv420mvky0kshv32"; depends=[haven]; };
   webutils = derive2 { name="webutils"; version="1.1"; sha256="16a6ds0fnb6y8i1r9ba1hf1ydb53am57s070b3hi5jmrs84b9qik"; depends=[curl jsonlite]; };
   wec = derive2 { name="wec"; version="0.4-1"; sha256="10lqh43536d44d6082rpp11q1323pmjbmgrgb8v9mrk9c1ysf50w"; depends=[dplyr]; };
@@ -18387,7 +18592,7 @@ in with self; {
   weibull4 = derive2 { name="weibull4"; version="1.0.0"; sha256="1a95yw67iy7dqib33v31apxmskl019zng66jrlflbqx6p2vjdh30"; depends=[]; };
   weibullness = derive2 { name="weibullness"; version="1.19.8"; sha256="19s44mxxcnhngifxshsyjr3a9zvbwywmqgby5dxd73yid1p2k9mr"; depends=[]; };
   weibulltools = derive2 { name="weibulltools"; version="2.0.0"; sha256="1flgnsivam9vyrs6hwn3119s5bzczjm5qb1xjwydl1cd6r2984k5"; depends=[dplyr ggplot2 lifecycle magrittr plotly purrr Rcpp RcppArmadillo sandwich segmented SPREDA survival tibble tidyr]; };
-  weightQuant = derive2 { name="weightQuant"; version="1.0"; sha256="1ngz51wr5qpnb98lfbddwvipcra86dq5whm6z8c4xd921anb15bx"; depends=[doParallel foreach quantreg]; };
+  weightQuant = derive2 { name="weightQuant"; version="1.0.1"; sha256="0v2wxgvv8v5filiabcd19bmcprfv3l8gg79v6s3c5wmnzir617s5"; depends=[doParallel foreach quantreg stringr]; };
   weightedGCM = derive2 { name="weightedGCM"; version="0.1.0"; sha256="04c24mxpvqdaprg6627w84ikmwxy96c1zcifn2y5n9ir7dlih5r3"; depends=[GeneralisedCovarianceMeasure mgcv xgboost]; };
   weightedScores = derive2 { name="weightedScores"; version="0.9.5.3"; sha256="1wf01z94snwbqp22waz7qays3ymg5lsxpfpafdarad2b6mg5j2g8"; depends=[mvtnorm rootSolve]; };
   weightedZdiff = derive2 { name="weightedZdiff"; version="0.1.0"; sha256="1mrhjg0h7qiwya8jrmf5h4gc352ahc6fczlk5kfhqw5vkwr0b1k3"; depends=[]; };
@@ -18399,6 +18604,7 @@ in with self; {
   welo = derive2 { name="welo"; version="0.1.1"; sha256="1bbc75i2l09cvsi1nsm9sdyvpn5rvyzc7w5nbdh28fmxp2bagn6k"; depends=[boot Rdpack xts]; };
   wesanderson = derive2 { name="wesanderson"; version="0.3.6"; sha256="09mr6p2jmqdjq27cz974w5hyxgn929zp9z3inhxqmmh1582fmdi2"; depends=[]; };
   wevid = derive2 { name="wevid"; version="0.6.2"; sha256="1ranmqhgfkrky7r4qk563n9nlz2syn3vj85lmfajq01csadzjdpl"; depends=[ggplot2 mclust pROC reshape2 zoo]; };
+  weyl = derive2 { name="weyl"; version="0.0-1"; sha256="0gpfs0a20hxjkpakmfdpf9a98hipjwgaajdm4364qvqrx8y5ifna"; depends=[disordR freealg mathjaxr spray]; };
   wfe = derive2 { name="wfe"; version="1.9.1"; sha256="0lcg7hzdll1wqdwydkk96m4n715h8sjn3qwhabm245m0hqhdf7is"; depends=[arm MASS Matrix]; };
   wfg = derive2 { name="wfg"; version="0.1"; sha256="1r6wb8v42mpapjfhmkmghm9fq21c3s4zmdxy8nlh31nsja71c37d"; depends=[igraph]; };
   wfindr = derive2 { name="wfindr"; version="0.1.0"; sha256="0m5xj50hqdjj4lpbgx1kp3my4njr0nz09hd63rf4qf1ls8r7zil9"; depends=[dplyr magrittr]; };
@@ -18430,6 +18636,7 @@ in with self; {
   wilcoxmed = derive2 { name="wilcoxmed"; version="0.0.1"; sha256="0wnwxgm5g4fxdkrb6h124ngaw0s88yr2s8iqshb77vzj12kvb9m1"; depends=[]; };
   wildcard = derive2 { name="wildcard"; version="1.1.0"; sha256="0qkzab84z95g5f4fv3v4wisccgd7k9m3210pz4nvm1x8rfaqfjf1"; depends=[magrittr stringi]; };
   wildlifeDI = derive2 { name="wildlifeDI"; version="0.4.1"; sha256="052pls0x5dbcr7f8vcl4c0f8zx1s9cmk9i9dw3r8b0lqd0r2sz02"; depends=[adehabitatLT dplyr rgeos sf sp]; };
+  wildmeta = derive2 { name="wildmeta"; version="0.1.0"; sha256="1x4670wjr7ifiar89vbf42i69v80wlizv219y2qixbfs13s6mhlw"; depends=[clubSandwich metafor robumeta sandwich]; };
   wildpoker = derive2 { name="wildpoker"; version="1.1"; sha256="1302ain55spz34irmq49sp9b1pvrn2nxmzmqs8m9wdk6g82h3s27"; depends=[]; };
   wildviz = derive2 { name="wildviz"; version="0.1.2"; sha256="03vhacaxp5fahq5afcf1q0qvmndpqc6a63pnins7h3p8ryvlpx14"; depends=[DBI dplyr ggplot2 ggthemes httr jsonlite lubridate plotly purrr rnoaa RSQLite shiny shinythemes tibble tidyr]; };
   wilson = derive2 { name="wilson"; version="2.4.2"; sha256="050hi6rigs024is1ry0yymqapgqfhzpp0ghk5ya028k71k22lksx"; depends=[circlize colourpicker ComplexHeatmap data_table DESeq2 DT factoextra FactoMineR ggplot2 ggrepel gplots heatmaply log4r openssl plotly plyr R6 RColorBrewer reshape rintrojs rje rjson RJSONIO scales shiny shinycssloaders shinydashboard shinyjs shinyWidgets viridis zip]; };
@@ -18464,6 +18671,7 @@ in with self; {
   wordcloud = derive2 { name="wordcloud"; version="2.6"; sha256="0j96yyvm6bcrrpbdx4w26piqx44a0vbsr3px9cb4zk8a8da6jwak"; depends=[RColorBrewer Rcpp]; };
   wordcloud2 = derive2 { name="wordcloud2"; version="0.2.1"; sha256="1a2q42bn65q4idxq0vxysyam16q6c18inxv4dqhfy0x52j8z9x6k"; depends=[base64enc htmlwidgets]; };
   wordgraph = derive2 { name="wordgraph"; version="0.1.0"; sha256="06q42sjdj7i680zqx66hsvrpmkrlcyxnvsk1lygnqhlv97ycl3vv"; depends=[dplyr ggplot2 ggraph plyr purrr tibble tidygraph]; };
+  wordler = derive2 { name="wordler"; version="0.3.1"; sha256="0pvnijh2gvwjbd86ivky0zbi8y1x40xazsv2bdy5s2rfsscf4l88"; depends=[crayon]; };
   wordmatch = derive2 { name="wordmatch"; version="1.0"; sha256="0zscp361qf79y1zsliga18hc7wj36cnydshrqb9pv67b65njrznz"; depends=[plyr reshape2]; };
   wordnet = derive2 { name="wordnet"; version="0.1-15"; sha256="158c5fps4kvfd9mj1im8jb9rv7ipfshyagrv0q3b55ywnkrkvjqb"; depends=[rJava]; };
   wordpiece = derive2 { name="wordpiece"; version="2.0.1"; sha256="1szyj6yck4xvv41vw6l0bw31jxgxn4qg700cvx1bn40xlg2z05as"; depends=[dlr piecemaker purrr rlang stringi wordpiece_data]; };
@@ -18476,13 +18684,13 @@ in with self; {
   workflows = derive2 { name="workflows"; version="0.2.4"; sha256="1sxrgza922p137z41jcj2iwk19lxzwh6kp4kz7h9kw0b8rvfqwab"; depends=[cli ellipsis generics glue hardhat lifecycle parsnip rlang tidyselect vctrs]; };
   workflowsets = derive2 { name="workflowsets"; version="0.1.0"; sha256="0596hb17mshpag3vjy2wl6fi2mdw54i9gc5za10vzy8vpkigb9jy"; depends=[cli dplyr generics ggplot2 hardhat lifecycle prettyunits purrr rlang rsample tibble tidyr tune vctrs withr workflows]; };
   workloopR = derive2 { name="workloopR"; version="1.1.4"; sha256="1gynlvmqxyibql5j3db9dwvc0jsc9jqzpy3d3gp43d5lcl11mcmq"; depends=[pracma signal]; };
-  worldfootballR = derive2 { name="worldfootballR"; version="0.4.5"; sha256="13mzgn479002gf0yrd4gisdqk606s7l9jnc0awpiq7d3k74jqr29"; depends=[dplyr glue janitor jsonlite lubridate magrittr progress purrr qdapRegex readr rlang rvest stringi stringr tidyr withr xml2]; };
+  worldfootballR = derive2 { name="worldfootballR"; version="0.4.9"; sha256="03jfjajyw0652dszway05f727i6viys7bhjpv0xk0a0sa497zz05"; depends=[dplyr glue janitor jsonlite lubridate magrittr progress purrr qdapRegex readr rlang rvest stringi stringr tidyr withr xml2]; };
   worldmet = derive2 { name="worldmet"; version="0.9.5"; sha256="03dc93b6akah0pf36h0327jb65slsb3bypyv57cnkyxwyvni6w4s"; depends=[doParallel dplyr foreach leaflet openair purrr readr tidyr]; };
   worms = derive2 { name="worms"; version="0.2.2"; sha256="183chjdi5qvsmdznvc9igcxaz769a37rwh5nzgvf5zf012a85wir"; depends=[httr plyr]; };
   worrms = derive2 { name="worrms"; version="0.4.2"; sha256="1gpbyplfpcrapmci8axarrjjijsgh2dmhnsn79g1lhrafvm2ichs"; depends=[crul data_table jsonlite tibble]; };
   wosr = derive2 { name="wosr"; version="0.3.0"; sha256="0fl9mizrjg3r7n7gslsxgaw3k2v63scqmvnv6341q8sq7018hzln"; depends=[httr jsonlite pbapply xml2]; };
   wowa = derive2 { name="wowa"; version="1.0.1"; sha256="0jdw73z5whvb4bb9syhqscllaa31bhs81gmgckxh7w1r3pp42yha"; depends=[Rcpp]; };
-  wpa = derive2 { name="wpa"; version="1.6.3"; sha256="11lw6jgzyq43w401j58yp3qd2xzpq0a45zl2ksc0iwnc563bizhi"; depends=[data_table dplyr DT ggplot2 ggraph ggrepel ggwordcloud htmltools igraph magrittr markdown networkD3 proxy purrr reshape2 rmarkdown scales tidyr tidyselect tidytext]; };
+  wpa = derive2 { name="wpa"; version="1.6.4"; sha256="1f0s5sfighc42wgzlcrsndjkln4alv5m026f0fw508lhnrl8bffk"; depends=[data_table dplyr DT ggplot2 ggraph ggrepel ggwordcloud htmltools igraph magrittr markdown networkD3 proxy purrr reshape2 rmarkdown scales tidyr tidyselect tidytext]; };
   wpp2008 = derive2 { name="wpp2008"; version="1.0-1"; sha256="0gd3vjw1fpzhp3qlf1jpc24f76i0pxsjs5pb1v3k2si6df7q4msd"; depends=[]; };
   wpp2010 = derive2 { name="wpp2010"; version="1.2-0"; sha256="1h87r1cn4lnx80dprvawsyzfkriscqjgr27gvv7n19wvsx8qd57k"; depends=[]; };
   wpp2012 = derive2 { name="wpp2012"; version="2.2-1"; sha256="00283s4r36zzwn67fydrl7ldg6jhn14qkf47h0ifmsky95bd1n5k"; depends=[]; };
@@ -18493,12 +18701,12 @@ in with self; {
   wql = derive2 { name="wql"; version="0.4.9"; sha256="0m16l807mhcjkbqhlzhc24pw4hl78fjyykiszlg337x3qs803fg2"; depends=[ggplot2 reshape2 zoo]; };
   wqs = derive2 { name="wqs"; version="0.0.1"; sha256="14qaa9g9v4nqrv897laflib3wwhflyfaf9wpllmbi5xfv9223rcg"; depends=[glm2 Rsolnp]; };
   wrGraph = derive2 { name="wrGraph"; version="1.3.0"; sha256="1zw9c3dl5lwksggvxsch1a9brzy7a5m6yi513h4fxf31njpc5s7g"; depends=[lattice RColorBrewer wrMisc]; };
-  wrMisc = derive2 { name="wrMisc"; version="1.8.0"; sha256="09zpvmd1r0cj94xx0822ywn5h4i7939l131s9haszaasqjia77ay"; depends=[MASS]; };
-  wrProteo = derive2 { name="wrProteo"; version="1.4.3"; sha256="1gqmj8lmc37brbzlzci37zpn9v6shs4ahy65kbx25zgdw19bdd1n"; depends=[knitr limma wrMisc]; };
+  wrMisc = derive2 { name="wrMisc"; version="1.8.1"; sha256="0bhdrjq2b26jvzgg5fchp1mvlr7rvqyx1imdgz25k853hk915cl2"; depends=[MASS]; };
+  wrProteo = derive2 { name="wrProteo"; version="1.5.0"; sha256="1zn847d28cx93d80c4hv9pfxxjzf1l4v5sl17wikhi84nk7j5aig"; depends=[knitr limma wrMisc]; };
   wrTopDownFrag = derive2 { name="wrTopDownFrag"; version="1.0.2"; sha256="1rdg6rzjz2h514i3c8z89mvj2j3h1s7rr5fry2mq3xvrwrgd3738"; depends=[wrMisc wrProteo]; };
   wrangle = derive2 { name="wrangle"; version="0.5.7"; sha256="0gap15hinsgfjrxajr9kvs0rp76gl5kk2dqs92s9mfyh10kxxqpa"; depends=[dplyr magrittr rlang tidyr]; };
   wrappedtools = derive2 { name="wrappedtools"; version="0.7.9"; sha256="00qp61syakz3wx491ygi2yhlj9b868vjkp8f3d02z8pgljvan93r"; depends=[boot coin dplyr forcats ggplot2 glue kableExtra knitr magrittr purrr rlang stringr tibble tidyr tidyverse]; };
-  wrapr = derive2 { name="wrapr"; version="2.0.8"; sha256="11jbpfs9isb1aan50iw8ad86jd3hqirvxvvrr75rrqwbh3qz1sdp"; depends=[]; };
+  wrapr = derive2 { name="wrapr"; version="2.0.9"; sha256="1swgf10vg9sh29mn4gsia1rjln47lrqsv765yl19hlpk85qwhsk4"; depends=[]; };
   wrassp = derive2 { name="wrassp"; version="1.0.1"; sha256="02f4r6ax91sxv05mjbz33g04i33gd3548zym5iszzx26mbr6rwkv"; depends=[tibble]; };
   write_snns = derive2 { name="write.snns"; version="0.0-4.2"; sha256="0sxg7z8rnh4lssbivkrfxldv4ivy37wkndzzndpbvq2gbvbjnp4l"; depends=[]; };
   writexl = derive2 { name="writexl"; version="1.4.0"; sha256="0mfzyn8n5x5x5gf382bqgq61zpw9dymrp5kzdm2sbszplmxf6xry"; depends=[]; };
@@ -18520,8 +18728,8 @@ in with self; {
   wyz_code_rdoc = derive2 { name="wyz.code.rdoc"; version="1.1.19"; sha256="02k6wk45dn6i8kzxhgcxqxvrzxf063dny17jjnj83wsxx2b37jgv"; depends=[crayon data_table digest R6 stringr tidyr wyz_code_offensiveProgramming]; };
   wyz_code_testthat = derive2 { name="wyz.code.testthat"; version="1.1.20"; sha256="1h3mf898wrqx212xxaqqm6vqgg1aicrykrnc32f9wl5hyjcbnq70"; depends=[data_table R6 tidyr wyz_code_offensiveProgramming]; };
   x_ent = derive2 { name="x.ent"; version="1.1.7"; sha256="15qra77dqhj27g3qx92gram4mq4n9fdidygdpvxfmcx7ww3vc6yh"; depends=[ggplot2 jsonlite statmod stringr xtable]; };
-  x12 = derive2 { name="x12"; version="1.9.3"; sha256="05dzf38vlf73bmwdjs6w32d0b91cs6zgdmg7afw9gs36qfi5fahn"; depends=[stringr x13binary]; };
-  x13binary = derive2 { name="x13binary"; version="1.1.57-2"; sha256="13j1xylbdsmrnnccn1vcww0y0890vn057j836yqihmlgrh3prcbi"; depends=[]; };
+  x12 = derive2 { name="x12"; version="1.10.2"; sha256="13s63w0kgklxsb401w74ndrwqly2qg49sxml81rzd108rckii50d"; depends=[stringr x13binary]; };
+  x13binary = derive2 { name="x13binary"; version="1.1.57-3"; sha256="1pha8drk3ax89zfy0pnicpmd1l4amv832a5rcs73nqvwjcdci9bd"; depends=[]; };
   x3ptools = derive2 { name="x3ptools"; version="0.0.3"; sha256="04j40nkwlsaga6kp60rf1grk76dw2i1sqivfm2sj017n0v6mj017"; depends=[assertthat digest dplyr MASS png pracma readr rgl xml2 zoo]; };
   xLLiM = derive2 { name="xLLiM"; version="2.2"; sha256="0gmy3jy1nf0fixgwcgfhrwcd85ran5ic7srzcx46akad828a4znq"; depends=[abind capushe corpcor e1071 glmnet igraph MASS Matrix mda progress randomForest]; };
   xROI = derive2 { name="xROI"; version="0.9.20"; sha256="0xa12qsw5xbbfqyv60apr4f9gx7q6rad4ywayvw8l2zla2wnhq5h"; depends=[colourpicker data_table jpeg lubridate moments raster RCurl rgdal rjson shiny shinyjs sp stringr tiff]; };
@@ -18554,9 +18762,9 @@ in with self; {
   xmlrpc2 = derive2 { name="xmlrpc2"; version="1.1"; sha256="13rfw0civp3hzi4hn31x1idliid1qb73495x4c31z5msd35lzxrs"; depends=[base64enc curl xml2]; };
   xmrr = derive2 { name="xmrr"; version="1.1.1"; sha256="1kb4kzxb9rcx9fp1answln0sv9c3wdrk82gz79k0i9ypq7dls2ah"; depends=[dplyr ggplot2 purrr qpdf rlang tibble tidyr]; };
   xnet = derive2 { name="xnet"; version="0.1.11"; sha256="18lda1gv53awsbkk5p4bzrbilndgybdz8xc6lhl6wy647fw9q9hv"; depends=[]; };
-  xoi = derive2 { name="xoi"; version="0.69-2"; sha256="1582flnh76fmqx5v1rzf021hlrcg53f2fdax1a8ad1nrcjpbj18r"; depends=[qtl]; };
+  xoi = derive2 { name="xoi"; version="0.70"; sha256="1raa5kr3h62j1lvjb0mn973pknyw8caixfh78rhgrhzxiilllil8"; depends=[qtl]; };
   xopen = derive2 { name="xopen"; version="1.0.0"; sha256="1vrvgdika1d63dwygynbv2wmd87ll8dji5dy89hj576n8hw601z2"; depends=[processx]; };
-  xpectr = derive2 { name="xpectr"; version="0.4.1"; sha256="0sr3qr8h07s409k1igzvank1hi040rmf2gia8ydazfiff9zn49ni"; depends=[checkmate clipr dplyr fansi lifecycle plyr rlang rstudioapi testthat tibble withr]; };
+  xpectr = derive2 { name="xpectr"; version="0.4.2"; sha256="0pbpv3k1h7xglyry1pxjqvkbp6vhk2yl4nlvd5xwz29vlnda7gd8"; depends=[checkmate clipr dplyr fansi lifecycle plyr rlang rstudioapi testthat tibble withr]; };
   xplain = derive2 { name="xplain"; version="0.2.2"; sha256="152a83ckmhns6yniy87mmjva5bkv5x3phv63l1kkcmrr9bclfgz0"; depends=[httr RCurl readr XML]; };
   xplorerr = derive2 { name="xplorerr"; version="0.1.2"; sha256="0sca6nngjs6f51di4dgzx868p75bzas0msr0kgivavsv6rj5fz0r"; depends=[Rcpp shiny]; };
   xpose = derive2 { name="xpose"; version="0.4.13"; sha256="0sbr5br8jzszn6j7jccrdfn95svdlqxn8xqjp29zdxnp3zjlkkd5"; depends=[dplyr ggforce ggplot2 purrr readr rlang stringr tibble tidyr vpc]; };
@@ -18585,8 +18793,8 @@ in with self; {
   yacca = derive2 { name="yacca"; version="1.1.1"; sha256="1hxgkyxipk27p74vdkiy8a3wjymhcsc6ad3y9mf15qsl2xim6wwl"; depends=[]; };
   yager = derive2 { name="yager"; version="0.1.1"; sha256="178ypdr3f0w9rb4ci8q2hshr62b7993m8q6zxc4pf0msq175n1ml"; depends=[lhs MLmetrics randtoolbox]; };
   yakmoR = derive2 { name="yakmoR"; version="0.1.1"; sha256="09aklz79s0911p2wnpd7gc6vrbr9lmiskhkahsc63pdigggmq9f7"; depends=[BBmisc checkmate Rcpp]; };
-  yaml = derive2 { name="yaml"; version="2.2.1"; sha256="10r7g26x73am45niigm3k466030nymnr3v3fjljafzrr5aybf58i"; depends=[]; };
-  yamlet = derive2 { name="yamlet"; version="0.7.7"; sha256="0yxvwf1qgjzqci0agnsd91anfjnc892dzqzdrxbqxsrcz28zhvcj"; depends=[csv dplyr encode ggplot2 rlang spork tidyr units xtable yaml]; };
+  yaml = derive2 { name="yaml"; version="2.2.2"; sha256="0c7pk5fq79mkqpc398hg8zj01frv4araglyppli49sqr4yx6mp55"; depends=[]; };
+  yamlet = derive2 { name="yamlet"; version="0.8.1"; sha256="142d0wiymk9mncfsg77jwgmvbcwiiw1h1gfx9gmpgpdjcdbbcf2z"; depends=[csv dplyr encode ggplot2 rlang spork tidyr units xtable yaml]; };
   yamlme = derive2 { name="yamlme"; version="0.1.1"; sha256="1cknx8ndcb9rz1j7z27244vba8hxyh5sa9zwsv6rwk9g1c52vmyg"; depends=[]; };
   yap = derive2 { name="yap"; version="0.1.1"; sha256="0m126vpfvlmwkpy14i9wbzr51hb8r6s3wcdm3vp9izfccpnxfxl2"; depends=[lhs randtoolbox]; };
   yaps = derive2 { name="yaps"; version="1.2.5"; sha256="0309vc67v5kfbdcah5gnvdqwdxir4k1ik47dw6msw2hvg6lpqvqf"; depends=[circular cowplot data_table ggplot2 ggrepel nloptr plyr Rcpp RcppEigen reshape2 splusTimeSeries tictoc TMB viridis zoo]; };
@@ -18601,24 +18809,25 @@ in with self; {
   yhatr = derive2 { name="yhatr"; version="0.15.1"; sha256="18g2cr1kjxnfw6cwzl62ynppfv1zz732kbx18zq8918l85kx6wbw"; depends=[httr jsonlite stringr]; };
   ykmeans = derive2 { name="ykmeans"; version="1.0"; sha256="0xfji2fmslvc059kk3rwkv575ffzl787sa9d4vw5hxnsmkn8lq50"; depends=[foreach plyr]; };
   yll = derive2 { name="yll"; version="1.0.0"; sha256="0lf3cd6pfzki29nk2iy0vd6v4dw6zlsbrjh2839zq5vlpiimsvck"; depends=[]; };
+  ymd = derive2 { name="ymd"; version="0.0.1"; sha256="02cd7y28s406yzvax2d47xwrsqyd8mhhb879ywjqfj6lvwf3jvkd"; depends=[]; };
   ymlthis = derive2 { name="ymlthis"; version="0.1.5"; sha256="02flsiqzpasyvskzlygllmrc1vbd4cv6yx4cdfiqrcq1806kdrf2"; depends=[crayon fs glue magrittr miniUI purrr rlang rmarkdown rstudioapi shiny shinyBS stringr usethis whoami withr yaml]; };
   yonder = derive2 { name="yonder"; version="0.2.0"; sha256="1ilzn17w6skd0dhwxyrgnfzyazafp8hsi8q6pfxz6k16cd668mc0"; depends=[htmltools magrittr shiny]; };
-  yorkr = derive2 { name="yorkr"; version="0.0.30"; sha256="09xw5igv7p3gyhzfnlzaym61z6ilv7b5lqz2z2qbki1qb3rvh613"; depends=[dplyr ggplot2 gridExtra reshape2 rpart_plot yaml]; };
+  yorkr = derive2 { name="yorkr"; version="0.0.31"; sha256="0fsj7j3qlf9q708hd9fq2yqsxsyaxr8gd93crq48nnirw3q9nshn"; depends=[dplyr ggplot2 gridExtra reshape2 rpart_plot yaml]; };
   youtubecaption = derive2 { name="youtubecaption"; version="1.0.0"; sha256="15cafl7b03xrql2y2ayy6ajf6v764wym3xqs4pbzlf6ncy8qwl5r"; depends=[dplyr magrittr purrr reticulate stringr tibble writexl]; };
   yowie = derive2 { name="yowie"; version="0.1.0"; sha256="1sm3dg4sirvlb17ciwldvnc1zzfgwxm38x1k2n99nwa6sygn1nrw"; depends=[tsibble]; };
   ypr = derive2 { name="ypr"; version="0.5.2"; sha256="1bbcwy4hngai6cajgcir1g6hdjh9xdpfcxqzm8ba8ikyjfzwn9bw"; depends=[chk ggplot2 lifecycle purrr scales yesno]; };
   ypssc = derive2 { name="ypssc"; version="1.1.0"; sha256="0fpph19amj1cafcbh5k6s75pi7nahzgfvnsbs9i5644gv43iavbj"; depends=[dplyr eulerr Peptides readxl spelling stringr svDialogs]; };
-  yuima = derive2 { name="yuima"; version="1.9.6"; sha256="1iqcv6m2lbdnpkcmgbmjhdn233pq3b2g6s9naiq3ks0fyv04zpar"; depends=[boot cubature expm glassoFast mvtnorm Rcpp RcppArmadillo zoo]; };
+  yuima = derive2 { name="yuima"; version="1.15.3"; sha256="1l3cxzjm6vffi64dsxryw8y3n8bpkk1yq74a1291z73scjabax34"; depends=[boot calculus coda cubature expm glassoFast mvtnorm Rcpp RcppArmadillo zoo]; };
   yuimaGUI = derive2 { name="yuimaGUI"; version="1.3.0"; sha256="1znwfkhnmv9m32izikziqpgxx8gpw50786r81va808x7q058cp5n"; depends=[DT ggplot2 ghyp plotly quantmod sde shiny shinyBS shinydashboard shinyjs yuima]; };
   yulab_utils = derive2 { name="yulab.utils"; version="0.0.4"; sha256="1bj93gnj7j4b7dgkbr5v22rsbwfcw5dvipl5irmidaakvrihd19q"; depends=[]; };
   yum = derive2 { name="yum"; version="0.1.0"; sha256="1k9q34n1pzv4c7hp7cd4yhm8v1qv41an8vfh65n4byvyzipxp85y"; depends=[yaml]; };
   yummlyr = derive2 { name="yummlyr"; version="0.1.1"; sha256="0xrk6g58laksz92d8mxck923sk4j92g55szrkxk123wjp5kg9vx6"; depends=[httr jsonlite]; };
-  zCompositions = derive2 { name="zCompositions"; version="1.3.4"; sha256="15cfqk1vzamz66y9idnrwxlrp2sirkp44gwkcmia4s13x5pwh8mf"; depends=[MASS NADA truncnorm]; };
+  zCompositions = derive2 { name="zCompositions"; version="1.4.0"; sha256="032kgr5k36d0ffmdg984xx6pl4sq3m9gsiz96qc8p631m05ps3d0"; depends=[MASS NADA truncnorm]; };
   zGPS_AO = derive2 { name="zGPS.AO"; version="0.1.0"; sha256="18dqssnj4gch1yg0qvrj4j2ry95sy6a9z8yz2zi8nzhhsj8dz1qq"; depends=[doParallel doRNG dplyr foreach ggplot2 hrbrthemes MASS plotly pscl questionr viridis]; };
   zTree = derive2 { name="zTree"; version="1.0.7"; sha256="005zk6wpchpss6865ki35yawgf668pn70163ah97rnfkhfaswm6y"; depends=[plyr]; };
   zalpha = derive2 { name="zalpha"; version="0.3.0"; sha256="04hi5lxgcqzmkbqppp5fv8x7wdgap3bgr8b8pv4pvavzh73jlmxs"; depends=[]; };
   zbank = derive2 { name="zbank"; version="0.1.0"; sha256="0vzvlri3sncvbz2cdg8wzlpskm1lq9ji0jrfy5cx4ib19m6gxhpc"; depends=[crul jsonlite tibble]; };
-  zcurve = derive2 { name="zcurve"; version="1.0.9"; sha256="0hrgf8id2fdy5xakgif508kl8sddil01mwrq4fnchajzrgp2lb9w"; depends=[evmix nleqslv Rcpp Rdpack]; };
+  zcurve = derive2 { name="zcurve"; version="2.1.2"; sha256="0j5adicqvdbvqq70163ibv09qaxzhdrphh4xgjvipvw9akmmcy0j"; depends=[evmix nleqslv Rcpp Rdpack]; };
   zdeskR = derive2 { name="zdeskR"; version="0.1.1"; sha256="0fqayn2g7903qs51x4ymy0aq36bwrgvp1k2701cd02zvnxy91l3j"; depends=[dplyr httr jsonlite magrittr plyr purrr tidyr]; };
   zeallot = derive2 { name="zeallot"; version="0.1.0"; sha256="1sd1igcfnv27pa3bqxlbyxchi562h7grnjg1l7wxx3bwr49i57s3"; depends=[]; };
   zebu = derive2 { name="zebu"; version="0.1.3.0"; sha256="1rlcrvhic110h8r0mqwhkzq8w566jfymxpcwv63bvs7fd8j98vsv"; depends=[foreach ggplot2 iterators plyr reshape2]; };
@@ -18629,7 +18838,7 @@ in with self; {
   zeroEQpart = derive2 { name="zeroEQpart"; version="0.1.0"; sha256="1n24nqyl0irpyspwx4b73xy228a84aa8zsn9fcf2lrlni5vyzmm0"; depends=[MASS ppcor]; };
   zetadiv = derive2 { name="zetadiv"; version="1.2.0"; sha256="0068k5i0dvii3dckgis5424xb7sqqq9s670vgfavc0vncnlycxqk"; depends=[car glm2 Imap mgcv nnls scam vegan]; };
   zfa = derive2 { name="zfa"; version="1.0"; sha256="0lddwpifkzggzvy56ans5pfknfr8laxcg264f3ph2z150gw1plsh"; depends=[SKAT]; };
-  zfit = derive2 { name="zfit"; version="0.1.0"; sha256="0r6qdygpqd06vmfvj68ksxm3bz0jgalczr6rngcr4xl2mkb1cn38"; depends=[magrittr]; };
+  zfit = derive2 { name="zfit"; version="0.3.0"; sha256="0qzfl1fvs3rw5fnf27d26arbi70bj2cgbg7b8jbnka2vb2c20kwm"; depends=[]; };
   zic = derive2 { name="zic"; version="0.9.1"; sha256="1vd64ljigf6iwgzlgdxgj65nlwir176h7ddznddpaz2abh6n6zwp"; depends=[coda Rcpp RcppArmadillo]; };
   zip = derive2 { name="zip"; version="2.2.0"; sha256="1n5ryjdj3i16b4mdp29wapgaklz3yzas5k8ffx7q6fa0jry9i5cz"; depends=[]; };
   zipR = derive2 { name="zipR"; version="0.1.1"; sha256="1aaw3dslhsw3zgxvkc1v60vsk44x64i4qmjwx0gq4f7dad1rbiqp"; depends=[]; };
@@ -18640,6 +18849,7 @@ in with self; {
   ziphsmm = derive2 { name="ziphsmm"; version="2.0.6"; sha256="0lm6m2g9jd1v7gxv4viych8c59phbvz1yly1ydgajl8q251d8n87"; depends=[pracma Rcpp RcppArmadillo]; };
   zipsae = derive2 { name="zipsae"; version="1.0.2"; sha256="03kwfpjpwxqlphdy7xyhsf7d0mcg67jhvm7yz4i73ckmjdmq7wrd"; depends=[]; };
   zlog = derive2 { name="zlog"; version="1.0.0"; sha256="1d5j31p0h3rrn230087h3ngpvwknlisjv0f1qdbicdj9m177spci"; depends=[]; };
+  zmisc = derive2 { name="zmisc"; version="0.2.1"; sha256="10cb1zmzasqxr5sdkqn4hylp7qaxzgdf9gzp0dc97yhgcf5p0i5n"; depends=[]; };
   zoeppritz = derive2 { name="zoeppritz"; version="1.0-8"; sha256="1711szx9zz17q6pfinyzlyrw7m9772c8ywlixqar2l165bkjalgm"; depends=[]; };
   zoib = derive2 { name="zoib"; version="1.5.5"; sha256="0inm7f2pc68ksqxvq12xp9jc99vj7ydylvs24ip12nksbj5k1n8f"; depends=[abind coda Formula rjags]; };
   zoid = derive2 { name="zoid"; version="1.0.0"; sha256="12gvb80ybnhc3yij1kgffhx2xygamjr4yli405dyndh0n5q6kxvy"; depends=[BH compositions gtools Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; };
@@ -18665,22 +18875,31 @@ in with self; {
   AnimalAPD = derive2 { name="AnimalAPD"; version="1.0.0"; sha256="1csa6disrg11hpxg4zw0jay15srw9lsgbhl1xgl7hpdr3nqsv3s7"; depends=[activityGCMM brms circular ggplot2 gridExtra loo overlap]; broken = true; };
   BALD = derive2 { name="BALD"; version="1.0.0-3"; sha256="1azyqami07g3ax60j0ws3d1qha65k0svn2v5c9pisni0qch5xql0"; depends=[lattice logspline rjags]; broken = true; };
   BCA = derive2 { name="BCA"; version="0.9-3"; sha256="0ksd6b0ykydgdn33x29bwwqkrp23cvdj3imps0l6qs1p4465j5nf"; depends=[car clv flexclust Rcmdr RcmdrMisc rpart]; broken = true; };
+  BIEN = derive2 { name="BIEN"; version="1.2.4"; sha256="1dagrs54ciagm2mgqrvxl6k2akahr0qk63ifxqnks7iljm0x1gw6"; depends=[ape DBI doParallel fasterize foreach raster rgdal rgeos RPostgreSQL sf sp]; broken = true; };
   BIS = derive2 { name="BIS"; version="0.2.1"; sha256="0mngmchgc46wc9a7ksyqrvj6k46nm4ih7x69k3xijfia9bgkym0v"; depends=[dplyr readr rvest tidyr xml2]; broken = true; };
   BNN = derive2 { name="BNN"; version="1.0.2"; sha256="13h9xqfdqnc9d8brx1xlmvb4nrkpwncwjz98y7i3wijih85wkikd"; depends=[mvtnorm]; broken = true; };
+  BigDataStatMeth = derive2 { name="BigDataStatMeth"; version="0.99.14"; sha256="05mmi12wn0xis4vwjn9zi3gcpxm9jmp7kpfazxsasbwgvrdd9k3q"; depends=[beachmat BH data_table Rcpp RcppEigen RcppParallel RCurl rhdf5 Rhdf5lib RSpectra]; broken = true; };
+  BigTSP = derive2 { name="BigTSP"; version="1.0"; sha256="1jdpa8rcnrhzn0hilb422pdxprdljrzpgr4f26668c1vv0kd6k4v"; depends=[gbm glmnet randomForest tree]; broken = true; };
   BioMedR = derive2 { name="BioMedR"; version="1.2.1"; sha256="0l3nmnqv0gzkbby4fhajbba910zpnbyckvxwds353pn54g9pcry7"; depends=[Biostrings ChemmineR fmcsR GOSemSim MASS org_Hs_eg_db pls randomForest rcdk RCurl rjson]; broken = true; };
-  CPE = derive2 { name="CPE"; version="1.5.1"; sha256="0n3pd6daj0mzhh547syh7nz8iys6q27igqngldb8zd4ib4778603"; depends=[rms survival]; broken = true; };
-  CatPredi = derive2 { name="CatPredi"; version="1.2"; sha256="029haj44smz2k6vpk10bv3ri9qsy0ss2fn1mhw8vj42f3g8i39jb"; depends=[CPE mgcv rgenoud rms survival]; broken = true; };
+  CCpop = derive2 { name="CCpop"; version="1.0"; sha256="10kgw3b98r0kn74w89znq6skgk8b3ldil6yb0hn5rlcf6lazjzca"; depends=[nloptr]; broken = true; };
+  ClimDown = derive2 { name="ClimDown"; version="1.0.8"; sha256="0qcag9jwvhi9yss55wy5jxabrvym9hljn1fs5gfkzjs5hiwv3gxv"; depends=[abind fields foreach ncdf4 PCICt seas udunits2]; broken = true; };
+  ClimMobTools = derive2 { name="ClimMobTools"; version="0.4.2"; sha256="0y0x5h281xr7bcwqzl19x5azysnf8f2bwqcncm2bnka1wvlckjby"; depends=[climatrends httr jsonlite Matrix PlackettLuce RSpectra sf]; broken = true; };
   ConfoundedMeta = derive2 { name="ConfoundedMeta"; version="1.3.0"; sha256="17l6dfff2v0a4p022qclrmkzi78ga9adkgxgrgk9imz0n9m9424d"; depends=[ggplot2 metafor]; broken = true; };
   CytobankAPIstats = derive2 { name="CytobankAPIstats"; version="2.0"; sha256="0xczcgaxd8dv6fd1j5c8y4il852lq8859d1y16sxs8a3gqn9fbz2"; depends=[CytobankAPI pheatmap shiny shinyFiles xlsx]; broken = true; };
+  DArand = derive2 { name="DArand"; version="0.0.1.1"; sha256="0cmwqbhi073zj8ipgib6a6ss6h4r0x2w541xl24jyk5xz3c6s697"; depends=[]; broken = true; };
   DNH4 = derive2 { name="DNH4"; version="0.1.11"; sha256="15a1hq8f8nz200apbm28dwyphl18rhicmf7irsdj0z1n1j898c44"; depends=[httr rvest tibble tidyr xml2]; broken = true; };
   DataEntry = derive2 { name="DataEntry"; version="0.9-3"; sha256="0gfsg7wfwy88x7y1dwpgwi6fkizjnhrzj0a5ij70y4a4sjmyiy55"; depends=[digest gWidgets2 gWidgets2RGtk2 RGtk2]; broken = true; };
   DengueRT = derive2 { name="DengueRT"; version="1.0.1"; sha256="11qfg4l6y3j8qh4dcsz13xjjj1n0q71c9a3c180nm5lgqv0nwb81"; depends=[drc ggplot2 nlme]; broken = true; };
   DominoPredictionLogging = derive2 { name="DominoPredictionLogging"; version="0.1.0"; sha256="1qzh8inzqk1s6cw9bsl7hazdf6cbfr11zs22723wl4xs31inp1lg"; depends=[lgr rjson uuid]; broken = true; };
   Eunomia = derive2 { name="Eunomia"; version="1.0.1"; sha256="06a42qsf3nx1pbynikkdvmbhh1rmgnfmiggdn86b3a0ij6cq0p2r"; depends=[DatabaseConnector RSQLite SqlRender]; broken = true; };
   FLightR = derive2 { name="FLightR"; version="0.5.1"; sha256="14188r6kk194ir0l8byaqlly4lsg8w58lw5xx2s4abyhbn35kwq8"; depends=[bit CircStats circular fields GeoLight ggmap ggplot2 ggsn maptools mgcv nlme RcppArmadillo rgdal rgeos sp truncnorm]; broken = true; };
-  GUTS = derive2 { name="GUTS"; version="1.2"; sha256="0s6if1b7hl299r03d6w6jvfiwm4xqrqqgqch3wf3b9davk4m7yj5"; depends=[Rcpp]; broken = true; };
+  GGEBiplotGUI = derive2 { name="GGEBiplotGUI"; version="1.0-9"; sha256="0nd0ky3m1avy82z48g7hcysq0y0agxjxdn0g624dkm2w99avxw3j"; depends=[rgl tkrplot]; broken = true; };
+  GGEBiplots = derive2 { name="GGEBiplots"; version="0.1.2"; sha256="0zizc8xz16hfcw7jfwn8lmv1mqnnzrj0dx1dk0ak8j7svfkskw0y"; depends=[ggforce ggplot2 scales]; broken = true; };
   GeneBook = derive2 { name="GeneBook"; version="1.0"; sha256="1cg8zyr7rbshj3shhzkrxs910dsz4brhh51jvn2qzipzd8dbvxiv"; depends=[dplyr repmis stringr svDialogs]; broken = true; };
+  GenomeAdmixR = derive2 { name="GenomeAdmixR"; version="2.1.2"; sha256="0b8h53gb1afgf159rav7412acvnb59rjad4zzba4ck8nzfrdaqwm"; depends=[ggplot2 ggridges hierfstat Rcpp RcppArmadillo RcppParallel rlang stringr tibble vcfR]; broken = true; };
   GeoLight = derive2 { name="GeoLight"; version="2.0.0"; sha256="1i49hyj3f5rcw0s6j2csnfwc6mnp5zn44vxjnk05wdkpw6dpvx5i"; depends=[changepoint fields maps MASS]; broken = true; };
+  HRM_curve = derive2 { name="HRM.curve"; version="0.0.1"; sha256="0p3kvldpz347c0cdjkrdm0x2nfj85hm5cp59lirqhq77hf1zfnd5"; depends=[]; broken = true; };
+  HSAR = derive2 { name="HSAR"; version="0.5.1"; sha256="03ryscvgiiwjcqk6gy3251nqqk43x508kz3ibw35hi84m2s7fsxj"; depends=[Rcpp RcppArmadillo spatialreg spdep]; broken = true; };
   HierO = derive2 { name="HierO"; version="0.2"; sha256="1lqj5grjly4kzxl7wb192aagz2kdvpnjdan2kcg5yxwvg1xcvwv1"; depends=[bitops RCurl rneos tcltk2 XML]; broken = true; };
   HierPorfolios = derive2 { name="HierPorfolios"; version="0.1.0"; sha256="0lx10lnslal689ykp7idvngc074yhfx3mkddyrax91djnqsc8aq4"; depends=[cluster fastcluster RiskPortfolios]; broken = true; };
   ICSsmoothing = derive2 { name="ICSsmoothing"; version="1.2.5"; sha256="08m8p6y5zk54ha3wp5x9xbx6f2xkkqx232hsan1f1s8k9j3q5avd"; depends=[ggplot2 polynom]; broken = true; };
@@ -18690,9 +18909,11 @@ in with self; {
   ISR3 = derive2 { name="ISR3"; version="0.98"; sha256="0mmpdl9ndlj9i0k3zl7ja0g7y9pm67igw925ld5qnz7a36plygxs"; depends=[]; broken = true; };
   IceCast = derive2 { name="IceCast"; version="2.1.0"; sha256="0h3z68lfjw5s51601m17m2gvn12vkwj5gzc70dqzfjmxdkgv3p28"; depends=[coda maptools MASS ncdf4 raster Rcpp RcppArmadillo rgeos sp]; broken = true; };
   IgorR = derive2 { name="IgorR"; version="0.8.1"; sha256="1lkiz3gxj8i1xbr5jp69z21rpk7kz3a68h29inp1qa7zi7gikmgx"; depends=[bitops]; broken = true; };
+  Interpol_T = derive2 { name="Interpol.T"; version="2.1.1"; sha256="1fbsl1ypkc65y6c0p32gpi2a2aal8jg02mclz7ri57hf4c1k09gz"; depends=[chron date]; broken = true; };
   JMcmprsk = derive2 { name="JMcmprsk"; version="0.9.10"; sha256="1hkylfrr2036vgkxfs98szm3883bmyvvyr0f3a8xygccf3pn28xc"; depends=[dplyr MASS pracma Rcpp reshape2 statmod]; broken = true; };
+  KernelICA = derive2 { name="KernelICA"; version="0.1.0"; sha256="1yq7w24qq23c81a9y0jn36iw7zjbxsj3b3p1rq6yl0lanzda9bsr"; depends=[ICtest inline JADE ManifoldOptim Rcpp RcppArmadillo RcppEigen]; broken = true; };
+  KnowGRRF = derive2 { name="KnowGRRF"; version="1.0"; sha256="0nk0baibd184rsg23jx1wg4c2fcaqf8ww7822xrs3w5ym6vwd0rs"; depends=[MASS PRROC randomForest RRF]; broken = true; };
   LBC = derive2 { name="LBC"; version="1.0"; sha256="027q5dk771a5v7g0il7kcczfyf6cqfb4vb3y0j7gwr02bq4360wm"; depends=[]; broken = true; };
-  MAFDash = derive2 { name="MAFDash"; version="0.1.0"; sha256="0xk9zbdwmm597jck8v3w76d2s72k6amv8ya94y7jbnik60ndwnda"; depends=[bsplus canvasXpress circlize ComplexHeatmap crosstalk data_table dplyr DT ensurer flexdashboard GenomicRanges ggbeeswarm ggplot2 htmltools IRanges knitr maftools pheatmap plotly RColorBrewer reshape2 rmarkdown TCGAbiolinks]; broken = true; };
   MHTcop = derive2 { name="MHTcop"; version="0.1.1"; sha256="1mr8y8brsi37b5qx3fqm0bj90dgknzzwhxfmvyd9kxbxh19whgxq"; depends=[copula matrixStats MCMCpack mvtnorm stabledist]; broken = true; };
   MLPA = derive2 { name="MLPA"; version="1.10.0"; sha256="1w8vhvs8ri8iyh068g59chz3mn0wapa4jr1wmhjlzwa2c651q2cx"; depends=[]; broken = true; };
   MRMR = derive2 { name="MRMR"; version="0.1.4"; sha256="0dgbhlynaaka7mdzl6igwgcdzvy6cm2y8mbxaf9pfla8w3z8y0lq"; depends=[ggplot2 lmtest lubridate plyr reshape2]; broken = true; };
@@ -18701,61 +18922,71 @@ in with self; {
   Myrrix = derive2 { name="Myrrix"; version="1.2"; sha256="05x2h4ppjhfm0wlpwyp8ycjg59qj3gv0yqdilxrzb1lkrzln92xb"; depends=[Myrrixjars rJava]; broken = true; };
   Myrrixjars = derive2 { name="Myrrixjars"; version="1.0-2"; sha256="1hhfg83z5kl6l250z3lippx3qc68k1wj1qlfzd6m66rgmk699gyl"; depends=[rJava]; broken = true; };
   N2H4 = derive2 { name="N2H4"; version="0.5.9"; sha256="09ikdnn17zx9l683k6mrc4hifxnd5d7fjxm6qdvxxbn10dh6qgvj"; depends=[dplyr httr jsonlite lubridate rvest tibble tidyr xml2]; broken = true; };
+  NetLogoR = derive2 { name="NetLogoR"; version="0.3.9"; sha256="035nsxgzh7dg9bjcwqbf5228ph90ff629di4ff3pdvr40jki60f1"; depends=[abind car CircStats data_table Hmisc matrixStats plyr quickPlot raster rgeos sp SpaDES_tools]; broken = true; };
   OligoSpecificitySystem = derive2 { name="OligoSpecificitySystem"; version="1.3"; sha256="17mspf1ph2ybv046zckykfdcbrsiz40hrs6ib5mpwkfnrvsp1w7l"; depends=[tkrplot]; broken = true; };
   OpenMPController = derive2 { name="OpenMPController"; version="0.2-5"; sha256="00hs8v47pr2d726z8izkfrgmayw147hdm16rr9rw1zs3ad216zjj"; depends=[]; broken = true; };
   OutlierDC = derive2 { name="OutlierDC"; version="0.3-0"; sha256="1vm3zx4qmj9l0ddfqbksm1qyqzzqrxf93gh4kj52h68zlsfxwv41"; depends=[Formula quantreg survival]; broken = true; };
   PANDA = derive2 { name="PANDA"; version="0.9.9"; sha256="1sf3c49v4mb3mz2imqlqdbh1iab7bc2pxpi8bmgj2jld133555ip"; depends=[cluster GO_db]; broken = true; };
   POPdemog = derive2 { name="POPdemog"; version="1.0.3"; sha256="0j83c853ligmw8ag4pb0vj46sfn2w2ynh4wvgkabzs688hxxni8r"; depends=[]; broken = true; };
+  PatternClass = derive2 { name="PatternClass"; version="2.0.1"; sha256="1xwlk6shms38nqxad3d15254wgnkfzy7jyf5w9bbm96kg05mndbz"; depends=[landscapemetrics raster]; broken = true; };
   Plasmode = derive2 { name="Plasmode"; version="0.1.0"; sha256="1qcni9zdckhsnw616jn7rdfd09kbl5wd4hljdja0w73jz1wd1z14"; depends=[arm epiDisplay foreign gbm glm2 lattice latticeExtra lme4 MASS Matrix mgcv nlme nnet RColorBrewer survey survival twang xtable]; broken = true; };
-  QZ = derive2 { name="QZ"; version="0.2-1"; sha256="1xivasa5dppm9z02ki6ciqxj0ybxch41w1xszl9zqrf755b6f6xw"; depends=[Matrix]; broken = true; };
+  PoweR = derive2 { name="PoweR"; version="1.0.7"; sha256="040wc7hxa8y6bm1rs7ip2skdxmmwksxkyb6xzqgdjp8m7a25fppb"; depends=[Rcpp RcppArmadillo]; broken = true; };
   QuantumClone = derive2 { name="QuantumClone"; version="1.0.0.6"; sha256="1520jgkzp8g7gv7ggqhvlrdnpdyhygqjgsd1my5jq30afdqj6qmp"; depends=[DEoptim doParallel foreach fpc ggplot2 gridExtra NbClust optimx]; broken = true; };
   RAhrefs = derive2 { name="RAhrefs"; version="0.1.4"; sha256="0yd7jbv2x711dnhbvwjjg7qhg8h8bh5564amsv9bkqw661i042m3"; depends=[assertthat httr jsonlite testthat]; broken = true; };
   RCSL = derive2 { name="RCSL"; version="0.99.95"; sha256="1ngzbhrc74ljhidsf7a17k4hyx0igv2srgbf822gm2wawzsmp0y2"; depends=[ggplot2 igraph mclust NbClust pracma RcppAnnoy Rtsne SingleCellExperiment umap]; broken = true; };
+  RClickhouse = derive2 { name="RClickhouse"; version="0.6.0"; sha256="16n2d0fvqg5ckf40bjyis0hj4hhffg7k5gfrji9gnyc4xs935lx7"; depends=[bit64 DBI dbplyr dplyr Rcpp]; broken = true; };
   RDFTensor = derive2 { name="RDFTensor"; version="1.3"; sha256="1kfhhn0lb1r61bkgxn7rv1smgk8b7vxbc8y97hdmg5argiywc65i"; depends=[doParallel foreach Matrix pracma]; broken = true; };
   RGtk2 = derive2 { name="RGtk2"; version="2.20.36.2"; sha256="1m3a3h3yxmr2qpcdyxrwxrdplvhb4rprvd8cnmfwk3zkazd69f9n"; depends=[]; broken = true; };
   RNRCS = derive2 { name="RNRCS"; version="0.2.5"; sha256="19q78l8mh4701vqvr36vqc87n39s5ivzhiy5lvnxbd4dgibk1jr2"; depends=[ggplot2 magrittr rvest xml2]; broken = true; };
+  ROI_plugin_clp = derive2 { name="ROI.plugin.clp"; version="0.4"; sha256="0fzrb4q2mcf3j4d4j8r354n6fyv2rik0ypp01l54zbm8s2r29bwb"; depends=[Matrix ROI slam]; broken = true; };
+  RRF = derive2 { name="RRF"; version="1.9.1"; sha256="135adnf7cfs8gddmmmgmzarjzg0qfrd7l67367yhy2b1k0s5ng1w"; depends=[]; broken = true; };
   RSCABS = derive2 { name="RSCABS"; version="0.9.5"; sha256="193wbf1v18xv098i6abpglb239788d9gjzqbn8p3aai0la6y1pk3"; depends=[gWidgets2 gWidgets2RGtk2 R2HTML RGtk2]; broken = true; };
   RcppMLPACK = derive2 { name="RcppMLPACK"; version="1.0.10-7"; sha256="07vh1wyp2rxhfrb4vi5njchrby99bynd88na8qjxcnbypkgsrhbl"; depends=[BH Rcpp RcppArmadillo]; broken = true; };
   RefFreeEWAS = derive2 { name="RefFreeEWAS"; version="2.2"; sha256="1aya34iz5v3xfpj86x9ab998m7fdwl138ly007mgdayacvqi4a6y"; depends=[quadprog]; broken = true; };
   Rhpc = derive2 { name="Rhpc"; version="0.21-247"; sha256="0r4zikqzkcyyvywxq1s8jcq6h559mxilkmzpnl79781hh537jvii"; depends=[]; broken = true; };
   SDraw = derive2 { name="SDraw"; version="2.1.13"; sha256="1kx8kfga3zspfdgf9vq2lclszrhf3bfwkfhwqri64kn8fdr34jsq"; depends=[covr deldir rgeos sp spsurvey]; broken = true; };
   SEAA = derive2 { name="SEAA"; version="0.9.6"; sha256="0f1j8pq3a0liyjxjlc91v8nm5y0fr8fq7qlhdayvkf1fx96srqs2"; depends=[clusterProfiler ggforce ggplot2 ggpubr ggrepel gridExtra org_Hs_eg_db org_Mm_eg_db reshape2 Rsubread tidyr]; broken = true; };
-  SoilR = derive2 { name="SoilR"; version="1.1-23"; sha256="1cryypgnbck5hvkc2izrd8r10q2b97f2p1s46x4dk8p099gck5wg"; depends=[deSolve RUnit]; broken = true; };
+  SoftRandomForest = derive2 { name="SoftRandomForest"; version="0.1.0"; sha256="1k439hcp53yg6f2x4bgafsri4jjgpva97dphzsdk5icfs5d38bh8"; depends=[boot]; broken = true; };
+  SpaDES = derive2 { name="SpaDES"; version="2.0.7"; sha256="186qds86nnlcq754mk9xpnhr75rw0ifrldi2gzjqn5xa07byjqjv"; depends=[quickPlot reproducible SpaDES_core SpaDES_tools]; broken = true; };
   SpatialEpiApp = derive2 { name="SpatialEpiApp"; version="0.3"; sha256="0svnnzqshk08s58ishy8xhqch44mb5svgfphkvpgysdd68dgaysr"; depends=[dplyr dygraphs ggplot2 htmlwidgets knitr leaflet mapproj maptools RColorBrewer rgdal rgeos rmarkdown shiny shinyjs SpatialEpi spdep xts]; broken = true; };
   StatCharrms = derive2 { name="StatCharrms"; version="0.90.96"; sha256="1451aj1476qjpmxhpbgd8g55i7rp2msml64xsiy25h7x9g6d9w05"; depends=[cairoDevice car clinfun coxme gWidgets2 gWidgets2RGtk2 lattice multcomp nlme R2HTML RGtk2 RSCABS survival]; broken = true; };
+  TKCat = derive2 { name="TKCat"; version="0.7.1"; sha256="19iv6srfmvl30mnwxzxwzm5d6fmpgyan490fkszqhq7jjzjhbgg7"; depends=[base64enc DBI dplyr DT future getPass htmltools jsonlite jsonvalidate magrittr markdown promises RClickhouse readr ReDaMoR rlang shiny shinydashboard tidyselect uuid visNetwork xml2]; broken = true; };
   TLBC = derive2 { name="TLBC"; version="1.0"; sha256="08w187akbhfbz6nrrf7avf02lrhgj7bbrjmim9gkh4wlbjhzvw67"; depends=[caret HMM randomForest signal stringr]; broken = true; };
   TNRS = derive2 { name="TNRS"; version="0.1.0"; sha256="146shb1dg4iyaanrdr1l8nqpiqf05la1ai34w74z6wsd1mpcchqy"; depends=[jsonlite RCurl rjson]; broken = true; };
-  TileManager = derive2 { name="TileManager"; version="0.4.0"; sha256="0kc3wgk5n8cxg901c19fjfzq7na46jq0x3gy22fi4jccjb0vgv0v"; depends=[APfun raster rgeos sp XML]; broken = true; };
   TrafficBDE = derive2 { name="TrafficBDE"; version="0.1.0"; sha256="1lnh9lbjxaradivnd1dkd2szggjh2r4v7klpyxb862dxsmdxxrqw"; depends=[caret data_table dplyr lubridate neuralnet RCurl zoo]; broken = true; };
   Tushare = derive2 { name="Tushare"; version="0.1.3"; sha256="12aabkwlifc82yiym3yijpfpjhmhfwpw8mz4fb11qm6n4igr1yhg"; depends=[data_table forecast httr tidyverse]; broken = true; };
   TwoPhaseInd = derive2 { name="TwoPhaseInd"; version="1.1.1"; sha256="0xsqiq4x7vmhif9j8zi1smbchwm4fsbgb10i4vxi0biijybizk9z"; depends=[survival]; broken = true; };
   UncertainInterval = derive2 { name="UncertainInterval"; version="0.7.0"; sha256="1lywwjkbmlbxhp2ahmsw2f47i0p848cky7xx1lxrg5ydfzq9kzl5"; depends=[car MASS nloptr psych reshape2 shiny zoo]; broken = true; };
   VNM = derive2 { name="VNM"; version="7.1"; sha256="19qglcibb7r6jjz0n0piklwfv3hi4jphd6vmyfbm0ccjjkmn5nin"; depends=[Rcpp]; broken = true; };
   XPolaris = derive2 { name="XPolaris"; version="1.0.2"; sha256="1l05svscgkv9bzkawi2kp9zhchrhxxma3271b828j34pkrnnmq5m"; depends=[curl dplyr ggplot2 httr magrittr purrr raster sf tidyr]; broken = true; };
+  aMNLFA = derive2 { name="aMNLFA"; version="1.1.1"; sha256="1vghwkz14j8vwnkf54ykqgm4vk84wm260pnmaa66xh1466qf4i55"; depends=[devtools dplyr ggplot2 gridExtra MplusAutomation plyr reshape2 stringi stringr]; broken = true; };
   aRbs = derive2 { name="aRbs"; version="0.1.3"; sha256="19s4x2w036xllrsarapmp8rvyxcsky82k4h9mfr2rbhdfid6h1f3"; depends=[crayon data_table dlstats dplyr DT ggplot2 lubridate progress purrr rvest shiny shinyBS shinycssloaders shinydashboard stringr xml2]; broken = true; };
   abmR = derive2 { name="abmR"; version="1.0.4"; sha256="1sz27ym4lfzsf8413p3zdq51gcn9lp3bbgjgah0wfas4v3yyfsp4"; depends=[geosphere ggplot2 googledrive gstat gtsummary kableExtra purrr raster rgdal rgeos rnaturalearth rnaturalearthdata sf sp swfscMisc table1 tmap]; broken = true; };
-  abn = derive2 { name="abn"; version="2.5-0"; sha256="1fqmhw0mhdl6az1gpg0byvx5snhz1pl3fqikhyfjcjrc9xbsq8yw"; depends=[lme4 nnet Rcpp RcppArmadillo Rgraphviz rjags]; broken = true; };
   adoption = derive2 { name="adoption"; version="0.6.4"; sha256="1xjkvj1ys2xmjgswqfsrry27zyqcc9hk9khl0j4s72gcc8az8sz6"; depends=[quadprog RandomFieldsUtils tkrplot]; broken = true; };
   aemo = derive2 { name="aemo"; version="0.3.0"; sha256="108scwyf0dyvn969cks3ikbj2pf2g4dw051asahx26pl0ggw7ijw"; depends=[assertthat dplyr lubridate stringr]; broken = true; };
   agroclim = derive2 { name="agroclim"; version="0.1.0"; sha256="16cyqplzmwziqwkicix0sr06zhc0yx615iv3hda0cxbdyf2rllk3"; depends=[abind cowplot easyNCDF ggforce ggplot2 ggpubr gtable multiApply ncdf4 plyr raster reshape sp zoo]; broken = true; };
   amber = derive2 { name="amber"; version="1.0.3"; sha256="0kc7g5rb0wrs1id1k0qay56063gpffwvcll38983b1l3k215mxiv"; depends=[classInt doParallel foreach Hmisc latex2exp ncdf4 raster rgdal rgeos scico sp viridis xtable]; broken = true; };
-  animint2 = derive2 { name="animint2"; version="2020.9.18"; sha256="17gr43hyb7yx9rsa0id5ibix09sai95pknc75cf31ra72mkpym8m"; depends=[digest gtable knitr lazyeval MASS plyr reshape2 RJSONIO scales tibble]; broken = true; };
   anominate = derive2 { name="anominate"; version="0.6"; sha256="01p2qkqf88bzhwywyass5r8dwg2ycflmkbzmsps7fzy0kv3xyb02"; depends=[coda MCMCpack pscl wnominate]; broken = true; };
+  aopdata = derive2 { name="aopdata"; version="0.2.3"; sha256="0zrk76p52lh5h34a9akm7fn4d71mk8ai9clsyiqya0hl2slymcm8"; depends=[curl data_table httr sf]; broken = true; };
   apricom = derive2 { name="apricom"; version="1.0.0"; sha256="1gyd1yln14cn0iswj7sjs4hav6j6d4f3ncps4gqbci5fwha5blcr"; depends=[logistf penalized rms shrink]; broken = true; };
   aptg = derive2 { name="aptg"; version="0.1.1"; sha256="0mdhgc0jrl2za3k2awm92vky2ghcssqq1x2h57ns9b17lwdrsdl4"; depends=[ape brranching phytools taxize xml2]; broken = true; };
   arcos = derive2 { name="arcos"; version="1.27"; sha256="02s4vpfsipww6i73lhrdawqlg01gp929n4sx6z869b12jixnq3ni"; depends=[curl dplyr httr jsonlite magrittr stringr tidyr urltools vroom]; broken = true; };
   artemis = derive2 { name="artemis"; version="1.1.1"; sha256="1v875xn0mvw7p7jdp6d3hpc4cp8yq2aq0b80rq1c619n9rkjq4ks"; depends=[BH ggplot2 lme4 loo Rcpp RcppEigen RcppParallel rstan rstantools StanHeaders]; broken = true; };
   aspline = derive2 { name="aspline"; version="0.1.0"; sha256="1xywp471ly6f0n88lwhpwlg54fizdkjxksli9c60vbi8r56n46mr"; depends=[dplyr fda ggplot2 magrittr Matrix mgcv pryr pspline Rcpp reshape2 rlang splines2 tidyr]; broken = true; };
-  assemblerr = derive2 { name="assemblerr"; version="0.1.0"; sha256="13vhn73v2429smf4av414xrm9vmbcxwhfgbq33zfdn7qyrj8wpv1"; depends=[cli glue magrittr purrr rlang tidyselect vctrs]; broken = true; };
   automultinomial = derive2 { name="automultinomial"; version="2.0.0"; sha256="04rjg3xjlhnkchzvdxqm762z5abm81s5b9czgzmli30zh07bf3fd"; depends=[igraph Matrix numDeriv]; broken = true; };
   batchr = derive2 { name="batchr"; version="0.0.2"; sha256="0fkrv6dlyla7bbl00f16lypnz5idyjz9kdqslgbx3pnfwx5hngwx"; depends=[chk cli furrr hms hmstimer yesno]; broken = true; };
+  bcc = derive2 { name="bcc"; version="1.3.1"; sha256="0ac0wasdifd0v47r9sxrsix5hv7masiphn6dyxpqdrd11z7iimgz"; depends=[qcc]; broken = true; };
+  biglasso = derive2 { name="biglasso"; version="1.4.1"; sha256="1q3lilqdbra8wm8cs49d9kl044dlsr69mjax1rvhb9jciyfbrbhw"; depends=[BH bigmemory Matrix ncvreg Rcpp RcppArmadillo]; broken = true; };
+  binnednp = derive2 { name="binnednp"; version="0.4.0"; sha256="1qswrr982x5hy2vl2fc603j98cjli9l40zzvvjy2l91p8xxrc5dn"; depends=[doParallel fitdistrplus foreach kedd mclust nor1mix Rcpp Rdpack]; broken = true; };
   binomialMix = derive2 { name="binomialMix"; version="1.0.1"; sha256="1ak3h0lgjmrv9miwn7fl6jvcp8xdld53swjz71q67q999s42np0m"; depends=[dplyr gmp lubridate MASS rlang Rmpfr stringr]; broken = true; };
+  blockTools = derive2 { name="blockTools"; version="0.6-3"; sha256="0023p0msfmp8swq4f5aff40m976np7y051x8hjizzw91hrfa4w2n"; depends=[MASS tibble]; broken = true; };
   bmd = derive2 { name="bmd"; version="0.5"; sha256="0d4wxyymycb416sdn272292l70s1h2m5kv568vakx3rbvb8y6agy"; depends=[drc]; broken = true; };
   bmeta = derive2 { name="bmeta"; version="0.1.2"; sha256="19pm60xpmlanngq4nbibp0n5m98xw24b2xghz92ly31i3mkg2n68"; depends=[forestplot R2jags]; broken = true; };
   bnpmr = derive2 { name="bnpmr"; version="1.2"; sha256="0vpqhs1h2mphn9w5yngb7lxvmzrhn7mkj7ca6hykhhg48s2ra98g"; depends=[]; broken = true; };
   boostr = derive2 { name="boostr"; version="1.0.0"; sha256="123ag8m042i1dhd4i5pqayqxbkfdj4z0kq2fyhxfy92a7550gib2"; depends=[foreach iterators stringr]; broken = true; };
   cairoDevice = derive2 { name="cairoDevice"; version="2.28.2.1"; sha256="040gd6cyaabdi0lhfdba4isqjihj28hdxm7mc129nl863pxkx6qm"; depends=[]; broken = true; };
   caliver = derive2 { name="caliver"; version="2.0.0"; sha256="04qa3zrk70c8ak70djfh23jyfxs8293s8wzkk6cs0nyrknhaxzzj"; depends=[ggplot2 lubridate ncdf4 raster rworldmap]; broken = true; };
+  cecs = derive2 { name="cecs"; version="0.2.4"; sha256="1fm1yrb8kd7f97kgsp5wfp02fspzvndki2aqsfcwb0rlrlckflzf"; depends=[cec2013 stringr]; broken = true; };
   circglmbayes = derive2 { name="circglmbayes"; version="1.3.0"; sha256="0i5aacr7vqznm3rhlznc02xjzjkjliadxhhvsmf8wb2cvivz0wir"; depends=[BH coda ggplot2 Rcpp RcppArmadillo reshape2 shiny]; broken = true; };
   clpAPI = derive2 { name="clpAPI"; version="1.3.1"; sha256="0hjpdbmwaww5fznqkkg9jli5y8f8zyd7crn0imdb0xxypmnp7zgf"; depends=[]; broken = true; };
   compstatr = derive2 { name="compstatr"; version="0.2.1"; sha256="0pg8yacfb7jvg9xr0gmis8a4g339isd77h6wr8dd6w900q47xac0"; depends=[dplyr fs httr janitor lubridate purrr readr rlang rvest sf stringr tibble tidyr xml2]; broken = true; };
@@ -18763,41 +18994,60 @@ in with self; {
   contextual = derive2 { name="contextual"; version="0.9.8.4"; sha256="0lww36nymg2cla83jdvl7a42cwn0il20apciz0ddplq8rw2i0a91"; depends=[data_table doParallel foreach Formula iterators itertools R_devices R6 rjson]; broken = true; };
   coreheat = derive2 { name="coreheat"; version="0.2.2"; sha256="1mahnd6k7whd7nj9ax1fhpm17j35i6prww06qx691l8dfn954ld9"; depends=[Biobase convertid heatmapFlex WGCNA]; broken = true; };
   cplexAPI = derive2 { name="cplexAPI"; version="1.4.0"; sha256="00h2zir1ffzjiglfyq8bsfmgq9z155jr0k0fxv8fsbfyw2x9dg10"; depends=[]; broken = true; };
+  crosstable = derive2 { name="crosstable"; version="0.3.2"; sha256="17agqfwcz04d69xsf7k6dybv66wlgjcvhsxym48p7sy8s19vrb6b"; depends=[checkmate dplyr flextable forcats glue lifecycle officer purrr rlang stringr survival tibble tidyr tidyselect]; broken = true; };
   cuml = derive2 { name="cuml"; version="0.2.1"; sha256="1dmk1gvvzkwfra63qslax9cgqjbsiqam5wcjl955wpb0wdqpa54k"; depends=[ellipsis hardhat magrittr parsnip Rcpp rlang]; broken = true; };
-  danstat = derive2 { name="danstat"; version="0.1.0"; sha256="1wb4v4s9qc7qna7jgd1kk0xvyaqmxhnmjvr5wlk5jjl355lhjxbc"; depends=[httr jsonlite readr]; broken = true; };
-  data_validator = derive2 { name="data.validator"; version="0.1.5"; sha256="1p2dzn9q3vrqs3askp8ccriaxyhay8iyqhnaryr1drycwrd13wi8"; depends=[assertr dplyr htmltools htmlwidgets knitr purrr R6 rlang rmarkdown shiny shiny_semantic tibble tidyr]; broken = true; };
+  datazoom_amazonia = derive2 { name="datazoom.amazonia"; version="0.2.0"; sha256="0l24blbscai47rj9s8a0znd5q4mayddp639107r8dib466ykrz3g"; depends=[data_table dplyr geobr googledrive Hmisc janitor labelled lubridate magrittr purrr RCurl readr readxl sf sidrar stringi stringr tibble tidyr XML]; broken = true; };
+  dcortools = derive2 { name="dcortools"; version="0.1.2"; sha256="0p4qbah5jnb6jraka8bg6cks3namrz66bya2iz98q2adarqd517h"; depends=[ggplot2 Hmisc pheatmap Rcpp RcppArmadillo RcppEigen Rdpack Rfast]; broken = true; };
   diffman = derive2 { name="diffman"; version="0.1.1"; sha256="08b4kqxfg8pmyl2xg8flb581s9wnkdcy5rrmrxp8a89y265qmirx"; depends=[data_table dplyr igraph Matrix progress Rcpp sf tidyverse]; broken = true; };
   dpa = derive2 { name="dpa"; version="1.0-3"; sha256="0dmwi68riddi1q4b10c12wx6n7pqfmv30ix5x72zpdbgm72v343h"; depends=[igraph sem]; broken = true; };
   dynamicGraph = derive2 { name="dynamicGraph"; version="0.2.2.6"; sha256="1xnsp8mr3is4yyn0pyrvqhl893gdx2y1zv8d2d55aah2xbfk0fjj"; depends=[ggm]; broken = true; };
   dynatopmodel = derive2 { name="dynatopmodel"; version="1.2.1"; sha256="0lpfhj69bvagqzzg2kjqvn9xx8f93ii34flrrns20z3bxla6gds9"; depends=[deSolve lubridate maptools raster rgdal rgeos sp topmodel xts zoo]; broken = true; };
-  elo = derive2 { name="elo"; version="2.1.1"; sha256="1i6qcw2plw12v065142kx58d911zr1gcsd1xic152zxvh89nmhxx"; depends=[pROC Rcpp]; broken = true; };
+  efts = derive2 { name="efts"; version="0.9-0"; sha256="1cdn37sij3q73z9gal6x3nnnds55whfj5ywyww119hx092xcb2h4"; depends=[lubridate magrittr ncdf4 plyr stringr udunits2 xts]; broken = true; };
+  emIRT = derive2 { name="emIRT"; version="0.0.11"; sha256="1h91q9vi9cv14bmkaakyynw2z9sx51w0c2kw2in0x91wx7scmd0p"; depends=[pscl Rcpp RcppArmadillo]; broken = true; };
   emstreeR = derive2 { name="emstreeR"; version="2.2.2"; sha256="0lchkkn6s265xnk25bprijlc6nl62nwcp0l9nwplyw7q492ysg0q"; depends=[BBmisc BH ggplot2 Rcpp RcppArmadillo RcppMLPACK scatterplot3d]; broken = true; };
   endogMNP = derive2 { name="endogMNP"; version="0.2-1"; sha256="0maxcp321ngbxrg0i23nlwhj849v771xahh53367x928ss4f8v7i"; depends=[]; broken = true; };
+  epiGWAS = derive2 { name="epiGWAS"; version="1.0.2"; sha256="0jqblfmz02za3b2pgi15379bzgh98yv5kyv8kh0lkzhrmpgph2zj"; depends=[DescTools glmnet matrixStats SNPknock]; broken = true; };
   evaluator = derive2 { name="evaluator"; version="0.4.3"; sha256="1gccymjb1ad3xw3kmqafchazv9rid6v6c3h8w96ai5b2jh8zlgwk"; depends=[cli crayon dplyr extrafont ggplot2 magrittr mc2d purrr readr readxl rlang rstudioapi scales stringi tibble tidyr vctrs viridis]; broken = true; };
   eventstudies = derive2 { name="eventstudies"; version="1.2.2"; sha256="01vpd0gnxaibxn3nq6618rxlwapm86idz86n0wj5kfz4a9kj7lsx"; depends=[boot sandwich testthat xts zoo]; broken = true; };
   expands = derive2 { name="expands"; version="2.1.3"; sha256="00zb57gmpj86c7rvpqywpn4c5wl51immps935n3hd2fyk73vqljh"; depends=[ape commonsMath flexclust flexmix gplots matlab moments NbClust plyr RColorBrewer rJava]; broken = true; };
+  facilitation = derive2 { name="facilitation"; version="0.5.2"; sha256="0gyqa3njyynvdhfziq33xqc7cjhszii67mk8809ncvh6abkdx1hw"; depends=[animation Matrix Rcpp]; broken = true; };
+  fasteraster = derive2 { name="fasteraster"; version="1.1.1"; sha256="1ycr2h046jds2758xvxn00rhglx3zarbzn3r38j66j5pnz2iiq4f"; depends=[Rcpp]; broken = true; };
+  fctbases = derive2 { name="fctbases"; version="1.1.0"; sha256="1jf6ngdph45l105cib13lghan7d68hsjqdr8wsjz2kls8il6kz9s"; depends=[Rcpp RcppArmadillo]; broken = true; };
   feedeR = derive2 { name="feedeR"; version="0.0.10"; sha256="1p64c7ibwn6k5k3vsjxrcjr84czild7g8bqw0yv4axk52vk5jfkx"; depends=[digest dplyr lubridate readr stringr tibble xml2]; broken = true; };
+  fidap = derive2 { name="fidap"; version="0.0.3"; sha256="0zq07395qx59xxb3cj5axhpkwnad2h88qbm3aan43q5cip9wi2bx"; depends=[httr jsonlite]; broken = true; };
+  fishflux = derive2 { name="fishflux"; version="0.0.1.5"; sha256="0ni3r37s6dvj3mmr04fnr7fird4x2wxdxq9vxzabcgmx9f4ydfiz"; depends=[BH curl dplyr fishualize ggplot2 httr plyr Rcpp RcppEigen RcppParallel rfishbase rstan rstantools StanHeaders tidybayes tidyr]; broken = true; };
+  fishualize = derive2 { name="fishualize"; version="0.2.2"; sha256="19iq2n9pxqf1yl6k2231lrc0ny5r7s0h5s59whrhwfh328q5cfqa"; depends=[curl downloader dplyr ggplot2 gridExtra httr magrittr png rlang scales stringr tidyr]; broken = true; };
+  flightplanning = derive2 { name="flightplanning"; version="0.8.4"; sha256="1n0mjrqlnfv4fvl512slw3d3vmlcn2lhf89jlfg2s0xfrd9k4pq8"; depends=[rgdal rgeos sp]; broken = true; };
   fpmoutliers = derive2 { name="fpmoutliers"; version="0.1.0"; sha256="108bp3smk9jnckd5237xly4ywmal03rq1kidq5z61l6zrhc3yfh9"; depends=[arules doParallel foreach Matrix pmml pryr R_utils XML]; broken = true; };
   fractalRegression = derive2 { name="fractalRegression"; version="1.0"; sha256="0lkxm3f9xz1c4kc81rfhd521q9jzsdb3ngrgn7nsawllpi2zrgwb"; depends=[Rcpp RcppArmadillo]; broken = true; };
+  fssemR = derive2 { name="fssemR"; version="0.1.6"; sha256="1l80anvlf21kvwb95w5mn0i2q773z0vbznx1lqvgsawprhcdiv20"; depends=[glmnet igraph MASS Matrix mvtnorm qtl Rcpp RcppEigen stringr]; broken = true; };
   fulltext = derive2 { name="fulltext"; version="2.0"; sha256="104wkas9azyb2drfaz1hrgbx2ilbb0k2mb8411l10rsbkqva099f"; depends=[aRxiv crul data_table digest fauxpas hoardr jsonlite magrittr microdemic pdftools rcrossref rentrez rplos storr tibble xml2]; broken = true; };
   gWidgets2RGtk2 = derive2 { name="gWidgets2RGtk2"; version="1.0-7"; sha256="14c933j0wj3lb5da75zxg3w3mfqh0nqk8rczbi4dnqd8sna6jks9"; depends=[gWidgets2 memoise RGtk2]; broken = true; };
   gdmp = derive2 { name="gdmp"; version="0.2.0"; sha256="0fy8x9l6swrb78apwq9d9msz2y8dkfd2fkyp1pkmzxwdb85lmcdm"; depends=[]; broken = true; };
-  genekitr = derive2 { name="genekitr"; version="0.2.1"; sha256="1xns8sq535w47l0pxja35pxgp4a5x0vnnyprmd363fi5ls9rwbi5"; depends=[clusterProfiler dplyr ggplot2 stringi stringr tibble tidyr VennDiagram]; broken = true; };
+  geneticae = derive2 { name="geneticae"; version="0.2.0"; sha256="1rjl5jwx1a0kkbv0bncyhj7d4r8i70wbvf8czf2hl17q3iwfdwyd"; depends=[bcv calibrate dplyr GGEBiplots ggforce ggplot2 MASS matrixStats missMDA pcaMethods prettydoc reshape2 rrcov scales tidyr]; broken = true; };
+  geobr = derive2 { name="geobr"; version="1.6.5"; sha256="08kl0215q524dq5scx2cm11a7m65xh0wzryl71grrlbqm5000pjj"; depends=[curl data_table httr sf]; broken = true; };
   geostatsp = derive2 { name="geostatsp"; version="1.8.6"; sha256="1ciyw84y5zbwsfqvl5dhq8swfpkqcmzhhvdm9hr5rhj3497sls9j"; depends=[abind Matrix numDeriv raster sp]; broken = true; };
   gfmR = derive2 { name="gfmR"; version="1.1-0"; sha256="0qzzbcra1fnbp0h31b1as20yhmqmi7p62xrhikj64an9avg9b277"; depends=[faraway nnet]; broken = true; };
   ggguitar = derive2 { name="ggguitar"; version="0.1.1"; sha256="1lmfs54h91gzcxin37v4flkywbq3fs648mm1h9ak03xlj5nagzsi"; depends=[dplyr ggplot2 gridExtra lazyeval readr tibble]; broken = true; };
+  glacierSMBM = derive2 { name="glacierSMBM"; version="0.1"; sha256="0117fzz2b1lccs0kkwz59w2yysi72j54yvz7373pz11w7rjds84f"; depends=[raster sp udunits2]; broken = true; };
   graphscan = derive2 { name="graphscan"; version="1.1.1"; sha256="1dgjb0grdymhimdgwnddjcivgy2i9r1i1nni4v9mx0447skcahk9"; depends=[ape rgl snowfall sp]; broken = true; };
-  hal9001 = derive2 { name="hal9001"; version="0.4.1"; sha256="0hclz3rrav536dz7hqzdzck0hxx24pd59p3s2flhkx60wqxajvrq"; depends=[assertthat data_table glmnet Matrix origami Rcpp RcppEigen stringr]; broken = true; };
-  haldensify = derive2 { name="haldensify"; version="0.2.1"; sha256="1mckpr70q10qv2m70rbwwzb7a6mvk8hwrkvbnh7v2qksd5lcfxn8"; depends=[assertthat data_table dplyr future_apply ggplot2 hal9001 latex2exp matrixStats origami Rdpack rlang rsample scales tibble]; broken = true; };
   happybiRthday = derive2 { name="happybiRthday"; version="0.0.1"; sha256="0rrvi5kx09p74xwxvqcwibbh4qjlk4jxb89grx74chjxk9ak2yv8"; depends=[data_table dplyr gh lubridate tidyr]; broken = true; };
   hddtools = derive2 { name="hddtools"; version="0.9.4"; sha256="011yhs8c6riimz63pa2am56n5aip2yk5gryx2amvk29pzp1v6my9"; depends=[curl raster readxl rgdal sp tidyr XML zoo]; broken = true; };
   hdpGLM = derive2 { name="hdpGLM"; version="1.0.0"; sha256="04mn0cbbx66218rsd273yh29h28f1xl8k0whwlyn6hrg035mlk0x"; depends=[coda data_table dplyr formula_tools ggjoy ggplot2 ggpubr ggridges Hmisc isotone LaplacesDemon magrittr MASS MCMCpack mvtnorm purrr questionr Rcpp RcppArmadillo rprojroot stringr tibble tidyr tidyverse]; broken = true; };
   healthforum = derive2 { name="healthforum"; version="0.1.0"; sha256="13ih00amv9hrpngm6pxc8vzqzhx8c0yqgaprxdcp5li90lg5r3av"; depends=[magrittr purrr rvest stringr tokenizers xml2]; broken = true; };
   hockeyR = derive2 { name="hockeyR"; version="0.1.1"; sha256="1rzm67ib4i7qa0x302g9k5bm5vabg39l1da5brnkkh9fp6v37lb6"; depends=[dplyr glue httr janitor jsonlite lubridate magrittr polite purrr rvest stringr tidyr zoo]; broken = true; };
+  horserule = derive2 { name="horserule"; version="1.0.0"; sha256="0d348pn0ld7lr9lfl1z05905l9kl296j0xic1pib6r5l1c5600r9"; depends=[gbm ggplot2 inTrees MASS mvnfast randomForest RColorBrewer Rdpack]; broken = true; };
+  htestClust = derive2 { name="htestClust"; version="0.2.0"; sha256="1nwj74w5hyz929jz2qci12x1zpk9gva75gn68k70l6xc5vya60qn"; depends=[bootstrap MASS]; broken = true; };
+  iRF = derive2 { name="iRF"; version="2.0.0"; sha256="1ll4lxg743p2zipxcq13yjsc7j7dk766dcyixwxilllbisg0dh8y"; depends=[AUC data_table doParallel dplyr foreach Matrix RColorBrewer Rcpp]; broken = true; };
+  ideq = derive2 { name="ideq"; version="0.1.4"; sha256="06xk9ghvh3fb79lbkmbqsk07xj06qaigiw41rzbi3bji3fjq1prw"; depends=[matrixcalc mvtnorm pdist Rcpp RcppArmadillo rgen]; broken = true; };
+  inTrees = derive2 { name="inTrees"; version="1.2"; sha256="1mwn2ijkyw0y9xcgrr56wxd2326ikarlsi79l59dplvlx2iwbi6c"; depends=[arules data_table gbm RRF xgboost xtable]; broken = true; };
   incadata = derive2 { name="incadata"; version="0.9.1"; sha256="0987zazkp3cxvk88i3yqb70s2i1cg108vc8wyhh2867s3rqdrpgh"; depends=[decoder rvest sweidnumbr xml2]; broken = true; };
+  interacCircos = derive2 { name="interacCircos"; version="1.0.0"; sha256="1waj0saavvaw2qzhbwcj1k0a2dnmq7zbkdnmb93xj6j1lhfjhbdy"; depends=[htmlwidgets jsonlite plyr RColorBrewer]; broken = true; };
   ipmisc = derive2 { name="ipmisc"; version="6.0.2"; sha256="1dn815p2k1v371pv5fra6541zwc1hyjzxlx11m8pgfcyrfgmicyk"; depends=[dplyr magrittr rlang tibble tidyr zeallot]; broken = true; };
+  iq = derive2 { name="iq"; version="1.9.1"; sha256="1n4hdkw37364ilc8v3bffmnwd7r8cpysn7jssf9h9jxh9pyd612y"; depends=[]; broken = true; };
   itemanalysis = derive2 { name="itemanalysis"; version="1.0"; sha256="1ksbd69mca45jlr2gpars87cf4jfm5rx6sz009sv6a83x831x5rq"; depends=[car ggplot2 polycor]; broken = true; };
   jdx = derive2 { name="jdx"; version="0.1.4"; sha256="0jqf0nkdyv9g4rifzlkls0n64fdcma2yphwl478772jlgfmxm2jb"; depends=[rJava]; broken = true; };
+  joineRmeta = derive2 { name="joineRmeta"; version="0.1.2"; sha256="0lkj3rry8kvdcl3dxrkvnql8rl3fsgc4lk5qdifhl41aws2q7ccs"; depends=[ggplot2 gridExtra gtools JM joineR lme4 MASS Matrix meta msm statmod survival]; broken = true; };
   jsr223 = derive2 { name="jsr223"; version="0.3.4"; sha256="0rir9v0qhnbl2rgkx1qz2ydj68ba9ccbdzsg6y1acczdhpl03j51"; depends=[curl jdx R6 rJava]; broken = true; };
   kmcudaR = derive2 { name="kmcudaR"; version="1.1.0"; sha256="16dkv9ag5375zc23nqakbg7v6knxvh1pips9rjsls0d7rw2bg1bs"; depends=[Rcpp RcppEigen]; broken = true; };
   lass0 = derive2 { name="lass0"; version="1.1.0"; sha256="01fafgyhi3fw8ldjw2gf0z9w1si7il3ailwm197fxmw4wqgys9fl"; depends=[doRNG foreach ismev lpSolve]; broken = true; };
@@ -18810,6 +19060,7 @@ in with self; {
   mcmcabn = derive2 { name="mcmcabn"; version="0.4"; sha256="0ym7ngai8pv9xalh1s53p8f96s8xpc05zi6ryih2rjv449ib06kq"; depends=[abn coda cowplot ggplot2 ggpubr gRbase]; broken = true; };
   metabolighteR = derive2 { name="metabolighteR"; version="0.1.2"; sha256="1v50b0pp2hzn6b4xrlclaks3kd315rir44acm24mmqhqybj6lhls"; depends=[crayon dplyr httr magrittr purrr]; broken = true; };
   miceMNAR = derive2 { name="miceMNAR"; version="1.0.2"; sha256="1s607icaf3c25mn8xdi3zkzmm8m7qd9a6vjdlz5j7ig2gc9f2y2d"; depends=[GJRM mice mvtnorm pbivnorm sampleSelection]; broken = true; };
+  microclustr = derive2 { name="microclustr"; version="0.1.0"; sha256="04xn8p4wgmxq1jbxawq0rhx6l7y1kddlbdfid8zsi4x4arkz7hvp"; depends=[Rcpp]; broken = true; };
   migrbc = derive2 { name="migrbc"; version="2.0.9"; sha256="1nbxdm70a9lvbp4sw78719hdpbqnziw1y7r4xk8i390q2c195am1"; depends=[dplyr futile_logger lubridate Rcpp stringr]; broken = true; };
   mipred = derive2 { name="mipred"; version="0.0.1"; sha256="0kijn2xj0dh28rm2sjgd8j1a3c5avc3fjfvvcmzfasvxqdjflv6j"; depends=[mice]; broken = true; };
   miraculix = derive2 { name="miraculix"; version="0.9.23"; sha256="0i08v5hq43296k3sa7akpq4h5dmvpkgn7cfpqwdyp0qaxkqk0k0s"; depends=[RandomFieldsUtils]; broken = true; };
@@ -18818,54 +19069,64 @@ in with self; {
   mleap = derive2 { name="mleap"; version="1.1.0"; sha256="0s15srbnk8fs5vj12gdszpg6g563q17v42fng2rydkgi4q7m2vj6"; depends=[digest fs jsonlite purrr rJava sparklyr tibble]; broken = true; };
   mmpca = derive2 { name="mmpca"; version="2.0.1"; sha256="05vir7hjv5dccfcizyn5n6qxx2p53111if16l44a7ifg5k599xj9"; depends=[digest gsl Rcpp RcppEigen]; broken = true; };
   mnlogit = derive2 { name="mnlogit"; version="1.2.6"; sha256="0dfwpkl8g7ap5xr48smiv8vdbamd2r1liy9nwpsn0kcsr9cj65n9"; depends=[Formula lmtest mlogit]; broken = true; };
+  modcmfitr = derive2 { name="modcmfitr"; version="0.1.0"; sha256="1d6fi7pc10w2a97h1prhkg5cvzmxjp11c5bwrz90zry0m8anwjyh"; depends=[gtools nloptr]; broken = true; };
   monoreg = derive2 { name="monoreg"; version="1.2"; sha256="16n622j1j998a5fhn1c1qbzk5bfa5h09d95ry89gsd00p40hqg0a"; depends=[]; broken = true; };
   mosaic_find = derive2 { name="mosaic.find"; version="0.1.2"; sha256="1fzgksh8sp701qjfrvjl2bg967qjkjpilxsfkrazhw71cgmzjgjl"; depends=[minpack_lm]; broken = true; };
+  moult = derive2 { name="moult"; version="2.2.0"; sha256="15r5s5ghqip28g12bwcn407lhgfv6408gndw4nvm3nhi8z0hwvrd"; depends=[Formula Matrix]; broken = true; };
   mssqlR = derive2 { name="mssqlR"; version="1.0.0"; sha256="0qdnm7cx9cg14vfcnkmcjqr1jpxsw8xlrbnxldvzz44mzv2n878l"; depends=[magrittr RODBC]; broken = true; };
   multdyn = derive2 { name="multdyn"; version="1.6"; sha256="06yab2lmxp7lc7zjk8n194mn5vza0yjbp276iair3ry35my4h3v8"; depends=[data_table ggplot2 Rcpp RcppArmadillo reshape2]; broken = true; };
   multilinguer = derive2 { name="multilinguer"; version="0.0.4"; sha256="0kavgvbzv8bvv9qlr92j8mx7b802w513mqalrdyln0pw36c9i13x"; depends=[askpass fs rstudioapi rvest sys usethis xml2 zip]; broken = true; };
+  multinomineq = derive2 { name="multinomineq"; version="0.2.1"; sha256="09h5nccfcrnl78rdxwsw5cqirfq40a6x4dmpkibc475z3xndk2rm"; depends=[coda quadprog Rcpp RcppArmadillo RcppProgress RcppXPtrUtils Rglpk]; broken = true; };
   mvst = derive2 { name="mvst"; version="1.1.0"; sha256="03q0kdychsmn4wcn50b6dqhxn4f2mjvrr5rac942xdv75w8qklc9"; depends=[MCMCpack mnormt mvtnorm]; broken = true; };
   nCal = derive2 { name="nCal"; version="2021.9-12"; sha256="133dpy2rp8sabwdlk0wjxs9rzixzcja73im94qaw26z5xsnaydhf"; depends=[drc gdata gWidgets2 kyotil]; broken = true; };
   nearfar = derive2 { name="nearfar"; version="1.2"; sha256="116rq797a5fascirz8xg465fywjf40j1k5czryvqzpik0if0w00r"; depends=[car GenSA MASS nbpMatching]; broken = true; };
+  neatStats = derive2 { name="neatStats"; version="1.8.1"; sha256="0kxhl4h3xq6qg4fpxxji3j3p0yg5g271c3p9zbngkp7q8fiqz5vd"; depends=[BayesFactor bayestestR car Exact ez ggplot2 ggpubr logspline MBESS plyr PoweR pROC viridis]; broken = true; };
+  not = derive2 { name="not"; version="1.2"; sha256="1671j3yirzdyhb02khx1yddslyig5jlnb0bdbgdlkb21n4zwaqa4"; depends=[]; broken = true; };
   ntwk = derive2 { name="ntwk"; version="1.0.0"; sha256="1c12c3pq992f02z3ikx17zv2djq9d9ly232ha0j5jswsksqzx024"; depends=[assertthat copCAR ghyp Matrix mvtnorm pracma zoo]; broken = true; };
   oc = derive2 { name="oc"; version="1.2"; sha256="0cw1gvz6gk8j718zmywqp03h9cnzn132nwbv45gr00xg2s9h7dk7"; depends=[pscl]; broken = true; };
   occCite = derive2 { name="occCite"; version="0.5.1"; sha256="1swarf4nwqy20ffy5ff44zq804i8gb095b7p9zay0iccfz9bn2jm"; depends=[bib2df BIEN DBI dplyr ggplot2 htmltools httr leaflet lubridate RColorBrewer rgbif rlang RPostgreSQL stringr taxize tidyr viridis waffle]; broken = true; };
+  optimall = derive2 { name="optimall"; version="0.1.0"; sha256="09vcznvfcgal1cr17byw6c2kwkch6q9v32wvdxyjxrykc5y45hip"; depends=[dplyr glue magrittr rlang tibble]; broken = true; };
+  pairheatmap = derive2 { name="pairheatmap"; version="1.0.1"; sha256="1awmqr5n9gbqxadkblpxwcjl9hm73019bwwfwy1f006jpn050d6l"; depends=[]; broken = true; };
   pairwiseComparisons = derive2 { name="pairwiseComparisons"; version="3.1.6"; sha256="0aiq8gr33pr5lia6cf6ak7zy5z81am5j5a0py0a2m9ljgmsgmn4s"; depends=[BayesFactor dplyr insight ipmisc parameters PMCMRplus purrr rlang WRS2]; broken = true; };
   panelAR = derive2 { name="panelAR"; version="0.1"; sha256="1ka2rbl9gs65xh2y2m4aqwh5qj4szibjy101hqfmza9wmdh25gpq"; depends=[car]; broken = true; };
+  partialAR = derive2 { name="partialAR"; version="1.0.12"; sha256="0fv1ffgqdbl04b4cmfmvzwah8ms9cxx3dsdralkk92bxxhybcjsl"; depends=[data_table ggplot2 KFAS MASS plot3D Rcpp tseries urca zoo]; broken = true; };
+  partialCI = derive2 { name="partialCI"; version="1.2.0"; sha256="0hi936yg4g5bg61ix2i68f8q4c5nvvshl2728ynz1rl970qfcrp7"; depends=[data_table ggplot2 glmnet KFAS MASS partialAR Rcpp TTR zoo]; broken = true; };
   pbdBASE = derive2 { name="pbdBASE"; version="0.5-3"; sha256="1f90bk1mp1s03177b9g5w5ni77jzrzc1pl3bjx0w0fjbjs1myn79"; depends=[pbdMPI pbdSLAP]; broken = true; };
   pbdPROF = derive2 { name="pbdPROF"; version="0.4-0"; sha256="174jwrkvw5qz1430y6id01w1czlw45j1yw8a8dyw36knrmvmdz10"; depends=[]; broken = true; };
   pbdRPC = derive2 { name="pbdRPC"; version="0.2-1"; sha256="1pz71zfs9qw96dj3h5mrm734vbbi4drlv9hrw91dbzm3a7jsxg4q"; depends=[]; broken = true; };
-  pbdSLAP = derive2 { name="pbdSLAP"; version="0.3-1"; sha256="1iwc5iw6q7r6p08yngczqlbqk779nsx2rmxc3fajzl6d73rprshl"; depends=[pbdMPI rlecuyer]; broken = true; };
   pedometrics = derive2 { name="pedometrics"; version="0.7.0"; sha256="0rqldc67yrcg16i5q9wrmfmh3lw3qrfdxwdb4mxkjxx18v4fv737"; depends=[lattice latticeExtra Rcpp]; broken = true; };
   permGPU = derive2 { name="permGPU"; version="0.15"; sha256="1bxydc5dw7ka45k6ban35d5xb1dw9yq9480qns8b39cc0x3acmhc"; depends=[Biobase foreach RUnit survival]; broken = true; };
   phreeqc = derive2 { name="phreeqc"; version="3.6.3"; sha256="0z20gj1kqhnbvx33sswz5ivj7nk2p4hia4gr2npscs94nc50b5j4"; depends=[]; broken = true; };
-  plfMA = derive2 { name="plfMA"; version="1.0.5"; sha256="13hs06n4b28vlik9bzqdx6j85q05bsd6hb10cr39581a3m33rv5m"; depends=[cairoDevice gWidgets2 gWidgets2RGtk2 limma RGtk2]; broken = true; };
   pm4py = derive2 { name="pm4py"; version="1.2.7"; sha256="11xbsmsc9pxd98fy28l3nxzhb6c2pwvh1gmm34jnqn0rjbpb2n9i"; depends=[bupaR petrinetR purrr reticulate stringr]; broken = true; };
   pmdplyr = derive2 { name="pmdplyr"; version="0.3.3"; sha256="1grnqqydi84hnig1522lv4xbh9ds32wnq7sha7jn1q4186wlz1qa"; depends=[dplyr lubridate magrittr pillar rlang tibble tidyr tidyselect vctrs]; broken = true; };
-  podcleaner = derive2 { name="podcleaner"; version="0.1.1"; sha256="1mgkcmayysm2amz2a94mzsyxa0kgqk4y43qsy4hp81j31ij8chkv"; depends=[dplyr fuzzyjoin magrittr progress purrr readr rlang stringi stringr tibble tidyr]; broken = true; };
   podr = derive2 { name="podr"; version="0.0.5"; sha256="135nq0dw1x6ngf6mxy3yds3xsxhaf5rnv1cmhavlrklhdfygc0a4"; depends=[assertthat DBI dplyr lubridate magrittr odbc plogr RPostgres rstudioapi shiny stringr tibble]; broken = true; };
+  polyPK = derive2 { name="polyPK"; version="3.1.0"; sha256="0cb83sq8iz4swr73vwhh8n4k62p6321nsy1sz5fba0wiicycxf55"; depends=[circlize corrplot gplots Hmisc impute imputeLCMD mixOmics pcaMethods pkr plyr ropls sqldf xlsx]; broken = true; };
   polyglot = derive2 { name="polyglot"; version="0.3.0"; sha256="1mmmdqaq882qys41lmm009ncg9s9h5x1q8psv0v3pwpar0d7vgff"; depends=[magick pins]; broken = true; };
   psyosphere = derive2 { name="psyosphere"; version="0.1.6"; sha256="1hcas3jk2n11lyw1ysmci0sysxf7qg9h2msqqg7q9nqp5gbf90np"; depends=[geosphere ggplot2 Hmisc lubridate plyr rgdal RgoogleMaps sp]; broken = true; };
-  qbld = derive2 { name="qbld"; version="1.0.1"; sha256="0agx32f2pf1hzs3and40zd7kfkjml7qjbnn0im4dr2v10h1jz6c0"; depends=[knitr mcmcse Rcpp RcppArmadillo RcppDist rmarkdown stableGR]; broken = true; };
+  qcr = derive2 { name="qcr"; version="1.3"; sha256="0jifg383qv935q9jlrlwy3y00nvjpgp2vm3qv5z0jdlr4kdw0pmm"; depends=[fda_usc MASS mvtnorm qcc]; broken = true; };
   qoma_smuggler = derive2 { name="qoma.smuggler"; version="0.0.1"; sha256="03p9i0kr6i3adpb9lcszcmdr9p26nfy7f8hw2sbydazglaw4hscr"; depends=[lubridate rhli tibble]; broken = true; };
   rGEDI = derive2 { name="rGEDI"; version="0.1.11"; sha256="0fkvy4p82jyfbbfymkfbrdyh13hk6a6wghk2myb64p5nhz8kv7iz"; depends=[bit64 curl data_table fs getPass ggplot2 hdf5r jsonlite lazyeval raster RColorBrewer rgdal rgeos sp]; broken = true; };
   rKolada = derive2 { name="rKolada"; version="0.2.0"; sha256="0ikyjzg8xbzyah37dpfwq2slssz956irm4dj8b7zv6x9qxi09gj9"; depends=[dplyr glue httr jsonlite magrittr purrr rlang stringr tibble tidyr urltools]; broken = true; };
   rModeling = derive2 { name="rModeling"; version="0.0.3"; sha256="0xrjxayp59f31wwcqqkzs5my2j2lpbv1f4pp709fmqxz02vbdzhv"; depends=[caret e1071 MASS]; broken = true; };
   radix = derive2 { name="radix"; version="0.6"; sha256="0290n0yax8649srdjbq4439h0d9f6jsmxayyhp86igcnszcxilnb"; depends=[base64enc bookdown digest downloader htmltools jsonlite knitr lubridate mime png progress rmarkdown rprojroot rstudioapi stringr whisker xfun xml2 yaml]; broken = true; };
+  randaes = derive2 { name="randaes"; version="0.3"; sha256="14803argy0xdd8mpn4v67gbp90qi2is4x6na9zw7i9pm504xji1x"; depends=[]; broken = true; };
   randomsearch = derive2 { name="randomsearch"; version="0.2.0"; sha256="0ywr4ms66p5nmq8bzy04gbvmpp0nhfyf8rvynhr2c4alqva9x3yi"; depends=[checkmate fs parallelMap ParamHelpers smoof]; broken = true; };
   rawr = derive2 { name="rawr"; version="0.1.3"; sha256="0k0x1pmxs73j6dmjg33n4hhwjwzpnhzbmmmjza6kw7hj6lfmipx4"; depends=[clipr dplyr jsonlite rvest stringr xml2]; broken = true; };
   rbedrock = derive2 { name="rbedrock"; version="0.1.1"; sha256="0vh6pg1lg2764zjhciswznvq7ccrd71855bmdadlj6cc1gv0fphq"; depends=[bit64 digest dplyr fs magrittr purrr R6 rappdirs readr rlang stringr tibble tidyr vctrs]; broken = true; };
   rdaemon = derive2 { name="rdaemon"; version="1.0.6"; sha256="1qr6v7kgk9nd5qp96667x51331xmpp1yz1r190dgd1fqigw735s5"; depends=[base64enc futile_logger Rcpp]; broken = true; };
-  resemble = derive2 { name="resemble"; version="2.0.0"; sha256="1vr4aydwyipspkw662qw50219r30ms05i567j66yv1ccs574dw6a"; depends=[data_table foreach iterators lifecycle magrittr mathjaxr Rcpp RcppArmadillo]; broken = true; };
   retrocombinator = derive2 { name="retrocombinator"; version="1.0.0"; sha256="0ci5cm9ml2gsn0n0scaahpfi8kyn6i0s3fb4mn7m9s83c0ls6xgv"; depends=[dplyr ggplot2 magrittr Rcpp rlang]; broken = true; };
   rgho = derive2 { name="rgho"; version="2.0.1"; sha256="1byvq2swn2j9v0zy5smjklv7bkncrclhli62cf1f2wiah5qg8sv2"; depends=[curl dplyr httr jsonlite lazyeval magrittr memoise readr rlang tibble tidyr]; broken = true; };
   rijkspalette = derive2 { name="rijkspalette"; version="1.0.2"; sha256="00726q8s36si08ghd9sgi7ikadcj11xqwhgv8f3cml6lvwz7ppzz"; depends=[crayon imager jsonlite]; broken = true; };
   rnetcarto = derive2 { name="rnetcarto"; version="0.2.4"; sha256="0fk5rym6zp049bl1f7bkl2231mjh3pgnxn0nhvmzpsah08rh4rr6"; depends=[]; broken = true; };
   rsat = derive2 { name="rsat"; version="0.1.16"; sha256="0d40dh596yr9qk6hyyb37w0jl73595p80sk89yyjknvj3hilsj8y"; depends=[calendR curl fields httr leafem leaflet raster Rdpack rjson rvest sf sp stars terra tmap XML xml2 zip]; broken = true; };
+  rubias = derive2 { name="rubias"; version="0.3.2"; sha256="1dq7bjb3p87gvsg9b2vpd65xp8ihp68dic2w9my687mpc11fxp1v"; depends=[dplyr gtools magrittr Rcpp RcppParallel readr rlang stringr tibble tidyr]; broken = true; };
   safedata = derive2 { name="safedata"; version="1.0.9"; sha256="0xcpgh4898rqdnnxx21vyxc8aqlwg26aywr591sllasrv1jzsmrc"; depends=[chron curl igraph jsonlite readxl sf]; broken = true; };
   sara4r = derive2 { name="sara4r"; version="0.0.8"; sha256="0b8ir25f0348pd2ckwzv1pyz3iz98zy09baih3rkgxxn8hjdnxj7"; depends=[raster rgdal RGtk2 sp]; broken = true; };
   seedwater = derive2 { name="seedwater"; version="2.0"; sha256="1q6q612245hqqx89jzlp77f73vj2baxi0bghd9l8kpjz4ydh6rv8"; depends=[rpanel]; broken = true; };
+  sensR = derive2 { name="sensR"; version="1.5-2"; sha256="073za0z6dawba2nd45hs20m0143kckxn3iglkyqz9vdfqwyv7wlq"; depends=[MASS multcomp numDeriv]; broken = true; };
   sequoia = derive2 { name="sequoia"; version="2.3.5"; sha256="1n0c24g5zl0l63nsaywwjfqsjn0ql2ckd3iqmc381qngijnckc17"; depends=[plyr]; broken = true; };
   shinyypr = derive2 { name="shinyypr"; version="0.0.2"; sha256="1k6jsw6gnpwk90hkpa9grki0b68cab57vbd0h6ldjqr11giwcz8z"; depends=[bsplus chk dplyr DT ggplot2 lifecycle magrittr purrr readr shiny shinyjs waiter ypr]; broken = true; };
+  shrink = derive2 { name="shrink"; version="1.2.1"; sha256="0pd967wsys8fd7gyvr9y08km118yamfk5c1a1i2k8nr2ifpqmy0w"; depends=[MASS mfp rms survival]; broken = true; };
   simLife = derive2 { name="simLife"; version="0.5.2"; sha256="1dhrjszfgxr0j4dkc2bwykyj515ji5rkb572nmnyjgkyi652j01v"; depends=[splancs]; broken = true; };
   simba = derive2 { name="simba"; version="0.3-5"; sha256="14kqxqavacckl5s1518iiwzrmlgbxz1lxy33y8c9qq7xaln41g9h"; depends=[vegan]; broken = true; };
   simfinR = derive2 { name="simfinR"; version="0.2.3"; sha256="1swlgwmd5frz72i3vjv7am8s6vr6i7mv76j7hxffk3l7xmq7y53s"; depends=[crayon digest dplyr jsonlite lubridate magrittr memoise purrr]; broken = true; };
@@ -18874,21 +19135,29 @@ in with self; {
   sobir = derive2 { name="sobir"; version="0.1.2"; sha256="0di9mk1c1jf8yr7jpmfm19w2w3p9lz1mkgrv3bmfyab83aghvbfp"; depends=[DescTools devtools dplyr ggplot2 raster rlang scales sp statmod stringr tidyr usethis]; broken = true; };
   spANOVA = derive2 { name="spANOVA"; version="0.99.3"; sha256="0w817zwbk6amh3n3j8wzjr15qqhfbk9s23c77b27iwcc5akdgbix"; depends=[ape car DT geoR gtools knitr MASS Matrix multcomp multcompView mvtnorm rmarkdown ScottKnott shiny shinyBS shinycssloaders shinythemes spatialreg spdep xtable]; broken = true; };
   spate = derive2 { name="spate"; version="1.7"; sha256="1cr5jjrycfj9larsqgzfakk4qgfz8m5djg4ddzk6s3lg2iw06y43"; depends=[mvtnorm truncnorm]; broken = true; };
-  spatialfusion = derive2 { name="spatialfusion"; version="0.6-4"; sha256="18ji1pps5kb0mbff620mw7zm6nzyy3nfclmcpl677xd9927apvn9"; depends=[fields Rcpp rstan SDraw sp]; broken = true; };
-  spfilteR = derive2 { name="spfilteR"; version="1.1.1"; sha256="0y6jmg4iz584c35r6xs16z8zbs2z5y8g6wshnall7i6g2hv35nnj"; depends=[]; broken = true; };
+  spfrontier = derive2 { name="spfrontier"; version="0.2.5"; sha256="1vnvwcjbhvbmyn5rp4760amzy8k3y156q629fjymw9rw6zy45pbf"; depends=[ezsim moments mvtnorm numDeriv optimx spdep tmvtnorm]; broken = true; };
+  spiders = derive2 { name="spiders"; version="1.2"; sha256="1qklm178bgkgpvrjf024jphsdh9can8300sf0702l4h0rk2daqbq"; depends=[plyr]; broken = true; };
   spsann = derive2 { name="spsann"; version="2.2.0"; sha256="00nlrwk50ch128brzvfxld0pcpq1syks9rvwdrcf1i2pcxnva7d0"; depends=[pedometrics Rcpp sp SpatialTools]; broken = true; };
   sqp = derive2 { name="sqp"; version="0.5"; sha256="0l01zwcryv5bmzmd98gj0m5ip8nvr8lziq1awvfif1bzwvvd2kzx"; depends=[Matrix Rcpp RcppArmadillo RcppEigen Rdpack]; broken = true; };
   stacomiR = derive2 { name="stacomiR"; version="0.6.0"; sha256="0mcq7lcwcz9s18vdd7762dfr2fyb5fqvnv0b5ljp7kdbr3ia977y"; depends=[dplyr ggplot2 Hmisc intervals lattice lubridate magrittr mgcv pool RColorBrewer reshape2 rlang RPostgres stacomirtools stringr withr xtable]; broken = true; };
   stanette = derive2 { name="stanette"; version="2.21.2"; sha256="1266555964cymrgrmfzjk2x12hpyjvd18c8q0lx92wdssnqzhhzr"; depends=[BH brew coda ggplot2 gridExtra inline lattice loo pkgbuild Rcpp RcppEigen RcppParallel StanHeaders V8 withr]; broken = true; };
   subtee = derive2 { name="subtee"; version="1.0.0"; sha256="09ah1n3whdycygbi1a6pwgm5jqs1srd565p3ihkk5ygp4gl2r3z9"; depends=[ggplot2 MASS matrixStats survival]; broken = true; };
   survRatio = derive2 { name="survRatio"; version="0.1"; sha256="1xrqin3q3b7r8ga4i71ci97rsm4lj5ffd0720n7s563jkpnpyb9l"; depends=[ggplot2 ggpubr gridExtra survival]; broken = true; };
+  swissdd = derive2 { name="swissdd"; version="1.1.4"; sha256="0ad260b4sfism5q1jxjazg6q33283ncld1m7gfdrps3xg1kyfirs"; depends=[dplyr ggplot2 httr jsonlite lubridate purrr RCurl sf stringr tibble tidyr]; broken = true; };
   tabulizer = derive2 { name="tabulizer"; version="0.2.2"; sha256="0zd5cfqwgirqchw1mvziscxvzl8pb1y6rbfywkn9i9pxfydkm5vi"; depends=[png rJava tabulizerjars]; broken = true; };
   tabulizerjars = derive2 { name="tabulizerjars"; version="1.0.1"; sha256="005n2gyzzmq8h0mpj8xs6ri6llzwag7nqzpm4vnzp81vwy8kmf92"; depends=[rJava]; broken = true; };
+  test2norm = derive2 { name="test2norm"; version="0.2.0"; sha256="02dmskqnxinfdxxq5s969p37fps0wpiz6mrcnx03f03a3gzqljl0"; depends=[mfp]; broken = true; };
   thectar = derive2 { name="thectar"; version="1.0.0"; sha256="1qh0qzg0ybb38kzm56xxlvhm201pdjm16aky5f1fdflcsszgy8mx"; depends=[proxy smacof]; broken = true; };
-  txshift = derive2 { name="txshift"; version="0.3.6"; sha256="16ffkzgy9x1ng6338mb4flg3xy3cc32lrhqmb7rgpzs2fb0h20zr"; depends=[assertthat data_table ggplot2 hal9001 haldensify latex2exp lspline mvtnorm Rdpack scales stringr]; broken = true; };
+  themetagenomics = derive2 { name="themetagenomics"; version="1.0.2"; sha256="14i81cd9cyzhi3j2d9ygwlairkimhx8ffvva3pg3xwwvpywb6mla"; depends=[ggplot2 lda lme4 Matrix plotly Rcpp rstan scales shiny stm]; broken = true; };
+  tidySEM = derive2 { name="tidySEM"; version="0.2.0"; sha256="115nr2h3bz9pjxf5c1cw3b2v16nix5z41r49zjqzn8yrfjs59crw"; depends=[ggplot2 gtable igraph lavaan MplusAutomation OpenMx psych]; broken = true; };
+  tlsh = derive2 { name="tlsh"; version="0.1.0"; sha256="0106y17cr3hq09ahy3rxhxqzgc0655w2jr0s3iyr8zvxsdv5ahb5"; depends=[bit64 blink igraph plyr]; broken = true; };
+  trajeR = derive2 { name="trajeR"; version="0.9.0.3"; sha256="08r7201ccqg1p7qpjxfc310814sjhqrj7gf07vzz0xkmyigbjzr9"; depends=[capushe MASS minpack_lm numDeriv Rcpp RcppArmadillo ucminf]; broken = true; };
+  turfR = derive2 { name="turfR"; version="0.8-7"; sha256="007jmkppfv1x4zzvvd65fhg5k15ybjhsya2zfjgwm77wm34y81ca"; depends=[dplyr]; broken = true; };
   uFTIR = derive2 { name="uFTIR"; version="0.1.4"; sha256="1blgwn6i0dadmr7vml6rbniv103mgr9hgx2dwgcxbagfyv00ah24"; depends=[raster Rcpp RcppArmadillo sp]; broken = true; };
   unfoldr = derive2 { name="unfoldr"; version="0.7.1"; sha256="1khas7d04g4y2kwldnsja5xk1n5mys2s66pln3l0gqlsbk67na12"; depends=[]; broken = true; };
+  uplifteval = derive2 { name="uplifteval"; version="0.1.0"; sha256="1gnn40c47rpx40j210bz6fb48d70p6spv3drr8hd5b3vzfz6686c"; depends=[dplyr ggplot2 gridExtra whisker]; broken = true; };
   usethis2 = derive2 { name="usethis2"; version="0.2.0"; sha256="0ljvfgwg73y71yvyz2pp4c1rzgiqk1x7kmgswxa1ay05zwdgyi0x"; depends=[microservices purrr usethis withr]; broken = true; };
+  valuer = derive2 { name="valuer"; version="1.1.2"; sha256="0mbwzsvy34ppngyxdzpd9w1r4f00cik4maqab9kpiflrrv9xdp78"; depends=[ggplot2 orthopolynom R6 Rcpp RcppEigen timeDate yuima]; broken = true; };
   viewshed3d = derive2 { name="viewshed3d"; version="4.0.0"; sha256="039xx39w3k3hckf0qci7j1364s47vja5s18siqjh6c5yy1w8q737"; depends=[data_table hyper_fit lidR nabor pkgcond plotrix pracma raster rgl sp viridis]; broken = true; };
   vmsbase = derive2 { name="vmsbase"; version="2.2.1"; sha256="1xxn0vm9r8kiix6whlc12r0wanf6acrl9a86h44nwm019xfmlfyp"; depends=[AMORE cairoDevice chron cluster DBI ecodist fields foreign ggmap ggplot2 gmt gsubfn gWidgets2 gWidgets2RGtk2 intervals mapdata maps maptools marmap outliers PBSmapping plotrix R6 RSQLite sp sqldf VennDiagram]; broken = true; };
   water = derive2 { name="water"; version="0.8"; sha256="0qglf922dlgi41jzz3sivq7ckmzl8axqjfg4klcgnddycmm3ha5j"; depends=[raster rgdal sp]; broken = true; };
diff --git a/pkgs/development/r-modules/default.nix b/pkgs/development/r-modules/default.nix
index edddcf70765..e2f0c53f110 100644
--- a/pkgs/development/r-modules/default.nix
+++ b/pkgs/development/r-modules/default.nix
@@ -321,13 +321,13 @@ let
     Biostrings = [ pkgs.zlib ];
     bnpmr = [ pkgs.gsl ];
     cairoDevice = [ pkgs.gtk2.dev ];
-    Cairo = with pkgs; [ libtiff libjpeg cairo.dev x11 fontconfig.lib ];
+    Cairo = with pkgs; [ libtiff libjpeg cairo.dev xlibsWrapper fontconfig.lib ];
     Cardinal = [ pkgs.which ];
     chebpol = [ pkgs.fftw ];
     ChemmineOB = with pkgs; [ openbabel pkg-config ];
     curl = [ pkgs.curl.dev ];
     data_table = [ pkgs.zlib.dev ] ++ lib.optional stdenv.isDarwin pkgs.llvmPackages.openmp;
-    devEMF = with pkgs; [ xorg.libXft.dev x11 ];
+    devEMF = with pkgs; [ xorg.libXft.dev xlibsWrapper ];
     diversitree = with pkgs; [ gsl fftw ];
     exactextractr = [ pkgs.geos ];
     EMCluster = [ pkgs.lapack ];
@@ -346,7 +346,7 @@ let
     haven = with pkgs; [ libiconv zlib.dev ];
     h5vc = [ pkgs.zlib.dev ];
     HiCseg = [ pkgs.gsl ];
-    imager = [ pkgs.x11 ];
+    imager = [ pkgs.xlibsWrapper ];
     iBMQ = [ pkgs.gsl ];
     igraph = with pkgs; [ gmp libxml2.dev ];
     JavaGD = [ pkgs.jdk ];
@@ -644,7 +644,7 @@ let
     PING = [ pkgs.gsl ];
     RcppAlgos = [ pkgs.gmp.dev ];
     RcppBigIntAlgos = [ pkgs.gmp.dev ];
-    HilbertVisGUI = [ pkgs.gnome2.gtkmm.dev ];
+    HilbertVisGUI = [ pkgs.gtkmm2.dev ];
     textshaping = with pkgs; [ harfbuzz.dev freetype.dev fribidi libpng ];
     DropletUtils = [ pkgs.zlib.dev ];
     RMariaDB = [ pkgs.libmysqlclient.dev ];
@@ -1096,12 +1096,6 @@ let
       ];
     });
 
-    nloptr = old.nloptr.overrideDerivation (attrs: {
-      # Drop bundled nlopt source code. Probably unnecessary, but I want to be
-      # sure we're using the system library, not this one.
-      preConfigure = "rm -r src/nlopt_src";
-    });
-
     V8 = old.V8.overrideDerivation (attrs: {
       postPatch = ''
         substituteInPlace configure \
@@ -1114,7 +1108,7 @@ let
         patchShebangs configure
       '';
 
-      R_MAKEVARS_SITE = lib.optionalString (pkgs.system == "aarch64-linux")
+      R_MAKEVARS_SITE = lib.optionalString (pkgs.stdenv.system == "aarch64-linux")
         (pkgs.writeText "Makevars" ''
           CXX14PICFLAGS = -fPIC
         '');
diff --git a/pkgs/development/tools/air/default.nix b/pkgs/development/tools/air/default.nix
index 52decaeb5ae..fcc3671ded5 100644
--- a/pkgs/development/tools/air/default.nix
+++ b/pkgs/development/tools/air/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "air";
-  version = "1.27.9";
+  version = "1.27.10";
 
   src = fetchFromGitHub {
     owner = "cosmtrek";
     repo = "air";
     rev = "v${version}";
-    sha256 = "sha256-8VuCZoAV54TG8MiF6n5O8ZStGujfJ/7w95BYhe5/7dE=";
+    sha256 = "sha256-mgFLelf0TPjJK/keQz+s52fKlruSn6+KTPj+waJuQdU=";
   };
 
-  vendorSha256 = "sha256-u/v6RnzBU+zQEy3jjVITjUQiU7AT3wZoeeRFF+KqOvI=";
+  vendorSha256 = "sha256-MEIPkron42OJioV7PPhnLWVevjKDs5Bw3jDmvZbac9s=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/alloy/default.nix b/pkgs/development/tools/alloy/default.nix
index 92f7e809512..4ec5b28bdd0 100644
--- a/pkgs/development/tools/alloy/default.nix
+++ b/pkgs/development/tools/alloy/default.nix
@@ -17,7 +17,7 @@ let generic = { version, sha256 }:
       desktopName = "Alloy ${lib.versions.major version}";
       genericName = "Relational modelling tool";
       comment = meta.description;
-      categories = "Development;IDE;Education;";
+      categories = [ "Development" "IDE" "Education" ];
     };
 
     nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/amazon-qldb-shell/default.nix b/pkgs/development/tools/amazon-qldb-shell/default.nix
new file mode 100644
index 00000000000..6f6ef1ca8af
--- /dev/null
+++ b/pkgs/development/tools/amazon-qldb-shell/default.nix
@@ -0,0 +1,41 @@
+{ lib
+, clang
+, cmake
+, fetchFromGitHub
+, llvmPackages
+, rustPlatform
+, testVersion
+}:
+
+let
+  pname = "amazon-qldb-shell";
+  version = "2.0.1";
+  package = rustPlatform.buildRustPackage {
+    inherit pname version;
+
+    src = fetchFromGitHub {
+      owner = "awslabs";
+      repo = pname;
+      rev = "v${version}";
+      sha256 = "sha256-aXScqJ1LijMSAy9YkS5QyXtTqxd19lLt3BbyVXlbw8o=";
+    };
+
+    nativeBuildInputs = [ clang cmake ];
+    buildInputs = [ llvmPackages.libclang ];
+
+    cargoSha256 = "sha256-y3dNEa2U9mwsENPda44zweszlk4UJXGtfeH+er8mi0U=";
+
+    LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
+
+    passthru.tests.version = testVersion { inherit package; };
+
+    meta = with lib; {
+      description = "An interface to send PartiQL statements to Amazon Quantum Ledger Database (QLDB)";
+      homepage = "https://github.com/awslabs/amazon-qldb-shell";
+      license = licenses.asl20;
+      maintainers = [ maintainers.terlar ];
+      mainProgram = "qldb";
+    };
+  };
+in
+package
diff --git a/pkgs/development/tools/analysis/checkov/default.nix b/pkgs/development/tools/analysis/checkov/default.nix
index 0fe5b30d1f4..d7cc9bd49cf 100644
--- a/pkgs/development/tools/analysis/checkov/default.nix
+++ b/pkgs/development/tools/analysis/checkov/default.nix
@@ -15,6 +15,16 @@ let
         doCheck = false;
       });
 
+      jsonschema = super.jsonschema.overridePythonAttrs (oldAttrs: rec {
+        version = "3.2.0";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "sha256-yKhbKNN3zHc35G4tnytPRO48Dh3qxr9G3e/HGH0weXo=";
+        };
+        SETUPTOOLS_SCM_PRETEND_VERSION = version;
+        doCheck = false;
+      });
+
     };
   };
 in
@@ -22,13 +32,13 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "checkov";
-  version = "2.0.793";
+  version = "2.0.900";
 
   src = fetchFromGitHub {
     owner = "bridgecrewio";
     repo = pname;
     rev = version;
-    hash = "sha256-puOP0gXPtX67ZT2bANkjJpi4pCBOhK199ukfU2BsnRM=";
+    hash = "sha256-uhc09UiEe987pgs+6XPBKcERW5pL2PG3U1LEju4jWaM=";
   };
 
   nativeBuildInputs = with py.pkgs; [
@@ -96,10 +106,12 @@ buildPythonApplication rec {
     "TestSarifReport"
     # Will probably be fixed in one of the next releases
     "test_valid_cyclonedx_bom"
-    "test_record_relative_path_with_direct_oberlay"
+    "test_record_relative_path_with"
+    "test_record_relative_path_with_relative_dir"
     # Requires prettytable release which is only available in staging
     "test_skipped_check_exists"
-    "test_record_relative_path_with_relative_dir"
+    # AssertionError: 0 not greater than 0
+    "test_skip_mapping_default"
   ];
 
   disabledTestPaths = [
diff --git a/pkgs/development/tools/analysis/checkstyle/default.nix b/pkgs/development/tools/analysis/checkstyle/default.nix
index 06acec262d1..6c135beea45 100644
--- a/pkgs/development/tools/analysis/checkstyle/default.nix
+++ b/pkgs/development/tools/analysis/checkstyle/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre }:
 
 stdenv.mkDerivation rec {
-  version = "9.2.1";
+  version = "9.3";
   pname = "checkstyle";
 
   src = fetchurl {
     url = "https://github.com/checkstyle/checkstyle/releases/download/checkstyle-${version}/checkstyle-${version}-all.jar";
-    sha256 = "sha256-EqZt/Er9A02ggThXF8y5wCjUgTE8mHPBLs9/XNsJ2vY=";
+    sha256 = "sha256-Aq0zB+RgWafE+K9sX2H0d7xf2RDlavsUXEWQTJXSE6w=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/analysis/codeql/default.nix b/pkgs/development/tools/analysis/codeql/default.nix
index 33dc9267eab..a6a95e74e4a 100644
--- a/pkgs/development/tools/analysis/codeql/default.nix
+++ b/pkgs/development/tools/analysis/codeql/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "codeql";
-  version = "2.7.5";
+  version = "2.8.1";
 
   dontConfigure = true;
   dontBuild = true;
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
 
   src = fetchzip {
     url = "https://github.com/github/codeql-cli-binaries/releases/download/v${version}/codeql.zip";
-    sha256 = "sha256-qTLpvb0yPB0+hR0Kkb7d3APlwdkkn6uNM0A80nPmjB4=";
+    sha256 = "sha256-zZoK5x+nE8AVZWDSMmsVPFuXNnAHBPyu9+1GgSwN19c=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/analysis/cppcheck/default.nix b/pkgs/development/tools/analysis/cppcheck/default.nix
index f7e6f040ba2..7f9e82162ea 100644
--- a/pkgs/development/tools/analysis/cppcheck/default.nix
+++ b/pkgs/development/tools/analysis/cppcheck/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cppcheck";
-  version = "2.6";
+  version = "2.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-rQuvhVgpVBdwCCekraG+cqxR9PUs/wm5pjVQHzTpaKI=";
+    sha256 = "sha256-rHTAlzxGoFJ2D0/3ymqEYWyleVUQVC0ZWm8SLFMHkpE=";
   };
 
   buildInputs = [ pcre ] ++ lib.optionals withZ3 [ z3 ];
diff --git a/pkgs/development/tools/analysis/dotenv-linter/default.nix b/pkgs/development/tools/analysis/dotenv-linter/default.nix
index 983dd2c2a99..49331dbfceb 100644
--- a/pkgs/development/tools/analysis/dotenv-linter/default.nix
+++ b/pkgs/development/tools/analysis/dotenv-linter/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dotenv-linter";
-  version = "3.1.1";
+  version = "3.2.0";
 
   src = fetchFromGitHub {
     owner = "dotenv-linter";
     repo = "dotenv-linter";
     rev = "v${version}";
-    sha256 = "sha256-kBBn8Lgb3427K00Ag35Ei9oBD7L0Zp/lr0cAKqZpULo=";
+    sha256 = "sha256-YWL1aPcMdU4lo7h/T2sdl2H6qnx3lfMtV39Ak4yP88w=";
   };
 
-  cargoSha256 = "sha256-7Porqqh6lYeBCK2pAtbL9nxtORB9rqSyVdJDoy1/ZDo=";
+  cargoSha256 = "sha256-q59hpnXc00OzrJk1KOWbIPQYfIE+7ku9XtTDXHgwQBg=";
 
   meta = with lib; {
     description = "Lightning-fast linter for .env files. Written in Rust";
diff --git a/pkgs/development/tools/analysis/flow/default.nix b/pkgs/development/tools/analysis/flow/default.nix
index 8b9d0c23e1e..36c85285704 100644
--- a/pkgs/development/tools/analysis/flow/default.nix
+++ b/pkgs/development/tools/analysis/flow/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flow";
-  version = "0.169.0";
+  version = "0.172.0";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "flow";
     rev = "v${version}";
-    sha256 = "sha256-QyY0Tb6FalPkWvVGegY6VBqX0pBP15GQgIKLNLPUMYk=";
+    sha256 = "sha256-N3mP1dhul7Ljn278CJmge4IrVllQJsc73A3/7mTSU70=";
   };
 
   installPhase = ''
diff --git a/pkgs/development/tools/analysis/oclgrind/default.nix b/pkgs/development/tools/analysis/oclgrind/default.nix
index edad1f0dd9e..3752fa8e251 100644
--- a/pkgs/development/tools/analysis/oclgrind/default.nix
+++ b/pkgs/development/tools/analysis/oclgrind/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oclgrind";
-  version = "19.10";
+  version = "21.10";
 
   src = fetchFromGitHub {
     owner = "jrprice";
     repo = "oclgrind";
     rev = "v${version}";
-    sha256 = "12v5z5x3ls26p3y3yc4mqmh12cazc0nlrwvmfbn6cyg4af9dp0zn";
+    sha256 = "sha256-DGCF7X2rPV1w9guxg2bMylRirXQgez24sG7Unlct3ow=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/development/tools/analysis/pmd/default.nix b/pkgs/development/tools/analysis/pmd/default.nix
index 64ab4a315de..da73737530e 100644
--- a/pkgs/development/tools/analysis/pmd/default.nix
+++ b/pkgs/development/tools/analysis/pmd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pmd";
-  version = "6.41.0";
+  version = "6.42.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/pmd/pmd-bin-${version}.zip";
-    sha256 = "sha256-kXyUukqLFIdaBpO+oimyrzmGm6bNwoQaRDIoMtZq45k=";
+    sha256 = "sha256-rVqHMhiuFLVTz/J9TGnA/42m9GaGORsf+CrUUqsdUfs=";
   };
 
   nativeBuildInputs = [ unzip makeWrapper ];
@@ -24,6 +24,6 @@ stdenv.mkDerivation rec {
     homepage = "https://pmd.github.io/";
     changelog = "https://pmd.github.io/pmd-${version}/pmd_release_notes.html";
     platforms = platforms.unix;
-    license = with licenses; [ bsdOriginal asl20 lgpl3Plus ];
+    license = with licenses; [ bsdOriginal asl20 ];
   };
 }
diff --git a/pkgs/development/tools/analysis/radare2/default.nix b/pkgs/development/tools/analysis/radare2/default.nix
index c50f75c154e..1bef8cd0758 100644
--- a/pkgs/development/tools/analysis/radare2/default.nix
+++ b/pkgs/development/tools/analysis/radare2/default.nix
@@ -44,13 +44,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "radare2";
-  version = "5.5.4";
+  version = "5.6.2";
 
   src = fetchFromGitHub {
     owner = "radare";
     repo = "radare2";
     rev = version;
-    sha256 = "sha256-zELmNpbT1JCt0UAzHwzcTDN9QZTLQY0+rG9zVRWxiFg=";
+    sha256 = "sha256-R53S2+v0qCY5Q7Uf2gQ4veaOzYN2iE6F00+ERvknD2g=";
   };
 
   preBuild = ''
@@ -62,15 +62,11 @@ stdenv.mkDerivation rec {
   '';
 
   postFixup = lib.optionalString stdenv.isDarwin ''
-    for file in $out/bin/rasm2 $out/bin/ragg2 $out/bin/rabin2 $out/lib/libr_asm.${version}.dylib; do
+    for file in $out/bin/rasm2 $out/bin/ragg2 $out/bin/rabin2 $out/lib/libr_asm.${version}.dylib $out/lib/libr_anal.${version}.dylib; do
       install_name_tool -change libcapstone.4.dylib ${capstone}/lib/libcapstone.4.dylib $file
     done
   '';
 
-  postInstall = ''
-    install -D -m755 $src/binr/r2pm/r2pm $out/bin/r2pm
-  '';
-
   WITHOUT_PULL = "1";
   makeFlags = [
     "GITTAP=${version}"
diff --git a/pkgs/development/tools/analysis/randoop/default.nix b/pkgs/development/tools/analysis/randoop/default.nix
index 5ea43e5555b..4c33ef57a47 100644
--- a/pkgs/development/tools/analysis/randoop/default.nix
+++ b/pkgs/development/tools/analysis/randoop/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, unzip }:
 
 stdenv.mkDerivation rec {
-  version = "4.2.6";
+  version = "4.3.0";
   pname = "randoop";
 
   src = fetchurl {
     url = "https://github.com/randoop/randoop/releases/download/v${version}/${pname}-${version}.zip";
-    sha256 = "sha256-69cKAyMwORG4A91OARmY4uQKgBZIx9N/zc7TZ086CK0=";
+    sha256 = "sha256-3svBmXcRvscaK8YD4qm/geQSJ6cAm0en/d7H09h41PQ=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/tools/analysis/spin/default.nix b/pkgs/development/tools/analysis/spin/default.nix
index 5f0c7bffe94..62026d52781 100644
--- a/pkgs/development/tools/analysis/spin/default.nix
+++ b/pkgs/development/tools/analysis/spin/default.nix
@@ -1,46 +1,42 @@
-{ stdenv, lib, fetchurl, makeWrapper, bison, gcc
-, withISpin ? true, tk, swarm, graphviz }:
+{ stdenv, lib, fetchFromGitHub, makeWrapper, bison, gcc, tk, swarm, graphviz }:
 
 let
-  binPath = lib.makeBinPath [ gcc ];
-  ibinPath = lib.makeBinPath [ gcc tk swarm graphviz tk ];
+  binPath = lib.makeBinPath [ gcc graphviz tk swarm ];
+in
 
-in stdenv.mkDerivation rec {
+stdenv.mkDerivation rec {
   pname = "spin";
-  version = "6.4.9";
-  url-version = lib.replaceChars ["."] [""] version;
-
-  src = fetchurl {
-    # The homepage is behind CloudFlare anti-DDoS protection, which blocks cURL.
-    # Dropbox mirror from developers:
-    # https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AADZPqS4aoR-pjNF6OQXRLQHa
-    # (note that this URL doesn't work aross versions and hash should come from official site)
-    url = "https://www.dropbox.com/sh/fgzipzp4wpo3qc1/AABtxFePMJmPxsxSvU5cpxh8a/spin${url-version}.tar.gz?raw=1";
-    sha256 = "07b7wk3qyfnp4pgwicqd33l7i1krzyihx0cf9zkv81ywaklf5vll";
+  version = "6.5.2";
+
+  src = fetchFromGitHub {
+    owner = "nimble-code";
+    repo = "Spin";
+    rev = "version-${version}";
+    sha256 = "sha256-drvQXfDZCZRycBZt/VNngy8zs4XVJg+d1b4dQXVcyFU=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   buildInputs = [ bison ];
 
-  sourceRoot = "Spin/Src${version}";
+  sourceRoot = "source/Src";
+
+  preBuild = ''
+    mkdir -p $out/bin
+    mkdir -p $out/share/man/man1
+  '';
 
-  installPhase = ''
-    install -Dm644 ../Man/spin.1 $out/share/man/man1/spin.1
+  enableParallelBuilding = true;
+  makeFlags = [ "DESTDIR=$(out)" ];
 
-    install -Dm755 spin $out/bin/spin
-    wrapProgram $out/bin/spin \
-      --prefix PATH : ${binPath}
-  '' + lib.optionalString withISpin ''
-    install -Dm755 ../iSpin/ispin.tcl $out/bin/ispin
-    wrapProgram $out/bin/ispin \
-      --prefix PATH ':' "$out/bin:${ibinPath}"
+  postInstall = ''
+    wrapProgram $out/bin/spin --prefix PATH : ${binPath}
   '';
 
   meta = with lib; {
     description = "Formal verification tool for distributed software systems";
     homepage = "https://spinroot.com/";
-    license = licenses.free;
-    platforms = platforms.linux ++ platforms.darwin;
-    maintainers = with maintainers; [ pSub ];
+    license = licenses.bsd3;
+    platforms = platforms.unix;
+    maintainers = with maintainers; [ pSub siraben ];
   };
 }
diff --git a/pkgs/development/tools/analysis/svlint/default.nix b/pkgs/development/tools/analysis/svlint/default.nix
index dc38728a44a..ef4e31e9481 100644
--- a/pkgs/development/tools/analysis/svlint/default.nix
+++ b/pkgs/development/tools/analysis/svlint/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svlint";
-  version = "0.4.18";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "svlint";
     rev = "v${version}";
-    sha256 = "sha256-p002oWwTQxesWLgLq8oKKzuZKXUdO4C1TZ7lR/Mh1PA=";
+    sha256 = "sha256-BgkzbKRcZkot3qkwPqSE9QkH3A3HNDuLjpFzKsU+Wb0=";
   };
 
-  cargoSha256 = "sha256-1WEPJpU/hLn+qjU+ETkmbfZIJTORe3OUdyl605JnYmU=";
+  cargoSha256 = "sha256-HeFh8H7IN3m4HiEH1QbCBROslzVCzYxGIaeyM4K7gcs=";
 
   meta = with lib; {
     description = "SystemVerilog linter";
diff --git a/pkgs/development/tools/analysis/tfsec/default.nix b/pkgs/development/tools/analysis/tfsec/default.nix
index 35bb86cfdac..87e7676da89 100644
--- a/pkgs/development/tools/analysis/tfsec/default.nix
+++ b/pkgs/development/tools/analysis/tfsec/default.nix
@@ -5,13 +5,13 @@
 
 buildGoPackage rec {
   pname = "tfsec";
-  version = "1.0.11";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YdoEPU0qXBJ6kD9mWNFxdeQE9e4vkrtVdEOcuFVDpOk=";
+    sha256 = "sha256-KIS2o2pLus5aohRYsabWRxZs4KfYM6PXSNp0JZhhlZk=";
   };
 
   goPackagePath = "github.com/aquasecurity/tfsec";
diff --git a/pkgs/development/tools/ashpd-demo/default.nix b/pkgs/development/tools/ashpd-demo/default.nix
index f6842dacec9..9d873b8461f 100644
--- a/pkgs/development/tools/ashpd-demo/default.nix
+++ b/pkgs/development/tools/ashpd-demo/default.nix
@@ -48,6 +48,7 @@ stdenv.mkDerivation rec {
     rustPlatform.cargoSetupHook
     rustPlatform.rust.rustc
     wrapGAppsHook4
+    rustPlatform.bindgenHook
     desktop-file-utils
     glib # for glib-compile-schemas
   ];
@@ -63,11 +64,6 @@ stdenv.mkDerivation rec {
     libshumate
   ];
 
-  # libspa-sys requires this for bindgen
-  LIBCLANG_PATH = "${llvmPackages.libclang.lib}/lib";
-  # <spa-0.2/spa/utils/defs.h> included by libspa-sys requires <stdbool.h>
-  BINDGEN_EXTRA_CLANG_ARGS = "-I${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include -I${glibc.dev}/include";
-
   passthru = {
     updateScript = nix-update-script {
       attrPath = pname;
diff --git a/pkgs/development/tools/aws-sam-cli/default.nix b/pkgs/development/tools/aws-sam-cli/default.nix
index 444bc39bddd..0bbe2056be5 100644
--- a/pkgs/development/tools/aws-sam-cli/default.nix
+++ b/pkgs/development/tools/aws-sam-cli/default.nix
@@ -44,11 +44,12 @@ python3.pkgs.buildPythonApplication rec {
       --replace "dateparser~=1.0" "dateparser>=0.7" \
       --replace "docker~=4.2.0" "docker>=4.2.0" \
       --replace "Flask~=1.1.2" "Flask~=2.0" \
-      --replace "PyYAML~=5.3" "PyYAML" \
+      --replace "PyYAML~=5.3" "PyYAML #" \
       --replace "regex==" "regex #" \
       --replace "requests==" "requests #" \
       --replace "typing_extensions==" "typing-extensions #" \
-      --replace "tzlocal==3.0" "tzlocal" \
+      --replace "tzlocal==3.0" "tzlocal #" \
+      --replace "tomlkit==0.7.2" "tomlkit #" \
       --replace "watchdog==" "watchdog #"
   '';
 
diff --git a/pkgs/development/tools/bacon/default.nix b/pkgs/development/tools/bacon/default.nix
index c31529fd4e1..271d946000b 100644
--- a/pkgs/development/tools/bacon/default.nix
+++ b/pkgs/development/tools/bacon/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "bacon";
-  version = "1.2.4";
+  version = "1.2.5";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-G1vds0156dYTxB6I155NiTuI9JnqZ7Uh3f5vHNTOMsk=";
+    sha256 = "sha256-dpdQ1qBfLU6whkqVHQ/zQxqs/y+nmdvxHanaNw66QxA=";
   };
 
-  cargoSha256 = "sha256-ytS+U+Tbyz2cMgXN/rZ5Kf4WgoIr8RIuBwLLUJ2XtHU=";
+  cargoSha256 = "sha256-jidZhaB8gF4QBcTvVuygTZdQnlOVwOQO8MMjUuSPht0=";
 
   buildInputs = lib.optional stdenv.isDarwin CoreServices;
 
diff --git a/pkgs/development/tools/bazel-kazel/default.nix b/pkgs/development/tools/bazel-kazel/default.nix
index abb32b3ba51..b3f58262b1d 100644
--- a/pkgs/development/tools/bazel-kazel/default.nix
+++ b/pkgs/development/tools/bazel-kazel/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-kazel";
-  version = "0.2.2";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "kubernetes";
     repo = "repo-infra";
     rev = "v${version}";
-    sha256 = "sha256-EfK8uJQvZkB5V/SGOLRznAFGsgVGwFv6MWkLPWePYvM=";
+    sha256 = "sha256-Y9VOlFrFmJQCQuwf3UztHGuJqmq/lSibTbI3oGjtNuE=";
   };
 
   vendorSha256 = "sha256-1+7Mx1Zh1WolqTpWNe560PRzRYaWVUVLvNvUOysaW5I=";
diff --git a/pkgs/development/tools/bingo/default.nix b/pkgs/development/tools/bingo/default.nix
new file mode 100644
index 00000000000..8fe1dbaa4be
--- /dev/null
+++ b/pkgs/development/tools/bingo/default.nix
@@ -0,0 +1,41 @@
+{ lib, buildGoModule, fetchFromGitHub, testVersion, bingo }:
+
+buildGoModule rec {
+  pname = "bingo";
+  version = "0.5.2";
+
+  src = fetchFromGitHub {
+    owner = "bwplotka";
+    repo = "bingo";
+    rev = "v${version}";
+    sha256 = "sha256-4D8YaA/AH1gIp5iwD7WEAdBl73sqwHpfOe7bnxVcRcw=";
+  };
+
+  vendorSha256 = "sha256-xrz9FpwZd+FboVVTWSqGHRguGwrwE9cSFEEtulzbfDQ=";
+
+  patches = [
+    # Do not execute `go` command when invoking `bingo version`.
+    ./version_go.patch
+  ];
+
+  postPatch = ''
+    rm get_e2e_test.go get_e2e_utils_test.go
+  '';
+
+  CGO_ENABLED = 0;
+
+  ldflags = [ "-s" "-w" ];
+
+  passthru.tests.version = testVersion {
+    package = bingo;
+    command = "bingo version";
+    version = "v${version}";
+  };
+
+  meta = with lib; {
+    description = "Like `go get` but for Go tools! CI Automating versioning of Go binaries in a nested, isolated Go modules.";
+    homepage = "https://github.com/bwplotka/bingo";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
+  };
+}
diff --git a/pkgs/development/tools/bingo/version_go.patch b/pkgs/development/tools/bingo/version_go.patch
new file mode 100644
index 00000000000..2898326a054
--- /dev/null
+++ b/pkgs/development/tools/bingo/version_go.patch
@@ -0,0 +1,17 @@
+diff --git a/main.go b/main.go
+index 5600f7e..662ed1b 100644
+--- a/main.go
++++ b/main.go
+@@ -201,10 +201,8 @@ func main() {
+ 			return pkgs.PrintTab(target, os.Stdout)
+ 		}
+ 	case "version":
+-		cmdFunc = func(ctx context.Context, r *runner.Runner) error {
+-			_, err := fmt.Fprintln(os.Stdout, version.Version)
+-			return err
+-		}
++		_, _ = fmt.Fprintln(os.Stdout, version.Version)
++		return
+ 	default:
+ 		exitOnUsageError(flags.Usage, "No such command", flags.Arg(0))
+ 	}
diff --git a/pkgs/development/tools/buf/default.nix b/pkgs/development/tools/buf/default.nix
index 67c132bd9e0..60d8d8f58b8 100644
--- a/pkgs/development/tools/buf/default.nix
+++ b/pkgs/development/tools/buf/default.nix
@@ -10,15 +10,16 @@
 
 buildGoModule rec {
   pname = "buf";
-  version = "1.0.0-rc12";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "bufbuild";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-UqyWQdlCDTSjW348f87W7g2kwB5nzIOviSE5/1T1soY=";
+    sha256 = "sha256-jJaob2eaozMFRsXwW6ulgM5De3UmpLZddTHwq6PnaeE=";
   };
-  vendorSha256 = "sha256-qBgGZTok3G0Pgku76uiV9bZperhiSNoWSrzxrHe4QXw=";
+
+  vendorSha256 = "sha256-wPnrkfv6pJB6tkZo2oeMbWHbF9njGh1ZEWu8tkHDhGo=";
 
   patches = [
     # Skip a test that requires networking to be available to work.
@@ -27,12 +28,15 @@ buildGoModule rec {
     ./skip_test_requiring_dotgit.patch
   ];
 
-  nativeBuildInputs = [ protobuf installShellFiles ];
-  # Required for TestGitCloner
-  checkInputs = [ git ];
+  nativeBuildInputs = [ installShellFiles ];
 
   ldflags = [ "-s" "-w" ];
 
+  checkInputs = [
+    git # Required for TestGitCloner
+    protobuf # Required for buftesting.GetProtocFilePaths
+  ];
+
   preCheck = ''
     # The tests need access to some of the built utilities
     export PATH="$PATH:$GOPATH/bin"
@@ -55,9 +59,9 @@ buildGoModule rec {
 
     # Completions
     installShellCompletion --cmd buf \
-      --bash <($GOPATH/bin/buf bash-completion) \
-      --fish <($GOPATH/bin/buf fish-completion) \
-      --zsh <($GOPATH/bin/buf zsh-completion)
+      --bash <($GOPATH/bin/buf completion bash) \
+      --fish <($GOPATH/bin/buf completion fish) \
+      --zsh <($GOPATH/bin/buf completion zsh)
 
     # Man Pages
     mkdir man && $GOPATH/bin/buf manpages man
diff --git a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
index dd3b2ae2bf2..44e8b9e4414 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel-remote/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "bazel-remote";
-  version = "2.3.3";
+  version = "2.3.4";
 
   src = fetchFromGitHub {
     owner = "buchgr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3ZN/SCTQ5k0X4cqnrpp8Yt1QDnYkT2RbMLKpDfdWaxk=";
+    sha256 = "sha256-ijR3RjGzm0HtVp5lSKGJemCGkRzhgQqaDOgg+MjDB1c=";
   };
 
-  vendorSha256 = "sha256-UhES+jJil6+JmGH27p/LC/b5rZfHC4RIjA9nCFeB7Ao=";
+  vendorSha256 = "sha256-NmTdS5xgv0o7AT4lBJk472Lq1e73EcrcfnI8RIxKEoc=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
index d9c93c2265f..3c71c8cc089 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_3/default.nix
@@ -613,6 +613,10 @@ stdenv.mkDerivation rec {
     # runtime dependencies.
     echo "${python27}" >> $out/nix-support/depends
     echo "${python3}" >> $out/nix-support/depends
+    # The string literal specifying the path to the bazel-rc file is sometimes
+    # stored non-contiguously in the binary due to gcc optimisations, which leads
+    # Nix to miss the hash when scanning for dependencies
+    echo "${bazelRC}" >> $out/nix-support/depends
   '' + lib.optionalString stdenv.isDarwin ''
     echo "${cctools}" >> $out/nix-support/depends
   '';
diff --git a/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix b/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
index 6a8792910b1..72c971d1334 100644
--- a/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/bazel_4/default.nix
@@ -660,6 +660,10 @@ stdenv.mkDerivation rec {
   postFixup = ''
     mkdir -p $out/nix-support
     echo "${defaultShellPath}" >> $out/nix-support/depends
+    # The string literal specifying the path to the bazel-rc file is sometimes
+    # stored non-contiguously in the binary due to gcc optimisations, which leads
+    # Nix to miss the hash when scanning for dependencies
+    echo "${bazelRC}" >> $out/nix-support/depends
   '' + lib.optionalString stdenv.isDarwin ''
     echo "${cctools}" >> $out/nix-support/depends
   '';
diff --git a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
index 7950208499a..b0375db8c65 100644
--- a/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
+++ b/pkgs/development/tools/build-managers/bazel/buildtools/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "bazel-buildtools";
-  version = "4.2.5";
+  version = "5.0.1";
 
   src = fetchFromGitHub {
     owner = "bazelbuild";
     repo = "buildtools";
     rev = version;
-    sha256 = "sha256-KY2Sldg3ChKR+rPalCkIVaLuR37s67FjB9aA20ZWD8Y=";
+    sha256 = "sha256-AIOfudFxr1obuxABEN0ggainci/EjbBrdgr2cjVu2Io=";
   };
 
   vendorSha256 = "sha256-buMkRxVLlS2LBJGaGWeR41BsmE/0vgDS8s1VcRYN0fA=";
diff --git a/pkgs/development/tools/build-managers/bloop/default.nix b/pkgs/development/tools/build-managers/bloop/default.nix
index 10d3dca8412..11b25bec381 100644
--- a/pkgs/development/tools/build-managers/bloop/default.nix
+++ b/pkgs/development/tools/build-managers/bloop/default.nix
@@ -11,7 +11,7 @@
 
 stdenv.mkDerivation rec {
   pname = "bloop";
-  version = "1.4.12";
+  version = "1.4.13";
 
   bloop-coursier-channel = fetchurl {
     url = "https://github.com/scalacenter/bloop/releases/download/v${version}/bloop-coursier.json";
@@ -60,8 +60,8 @@ stdenv.mkDerivation rec {
 
     outputHashMode = "recursive";
     outputHashAlgo = "sha256";
-    outputHash = if stdenv.isLinux && stdenv.isx86_64 then "jqcecAM51qEDmTim2VBNm8IO8wQmwU19R57Zk4pxwSA="
-    else if stdenv.isDarwin && stdenv.isx86_64 then "15m2rahf9kihw29hp6bwd9xqav6dcr17w5c2rsw0ijpchr2av72q"
+    outputHash = if stdenv.isLinux && stdenv.isx86_64 then "sha256-jqcecAM51qEDmTim2VBNm8IO8wQmwU19R57Zk4pxwSA="
+    else if stdenv.isDarwin && stdenv.isx86_64 then "sha256-WJytRIbsygi4zoIVfkJmzWyFe2p8mQuT4DDO5KDKopY="
     else throw "unsupported platform";
   };
 
diff --git a/pkgs/development/tools/build-managers/bmake/default.nix b/pkgs/development/tools/build-managers/bmake/default.nix
index 0d8ca351096..d577b62a193 100644
--- a/pkgs/development/tools/build-managers/bmake/default.nix
+++ b/pkgs/development/tools/build-managers/bmake/default.nix
@@ -1,15 +1,20 @@
-{ lib, stdenv, fetchurl, fetchpatch
-, getopt, tzdata, ksh
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, getopt
+, tzdata
+, ksh
 , pkgsMusl # for passthru.tests
 }:
 
 stdenv.mkDerivation rec {
   pname = "bmake";
-  version = "20210621";
+  version = "20220208";
 
   src = fetchurl {
-    url    = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz";
-    sha256 = "0gpzv75ibzqz1j1h0hdjgx1v7hkl3i5cb5yf6q9sfcgx0bvb55xa";
+    url = "http://www.crufty.net/ftp/pub/sjg/${pname}-${version}.tar.gz";
+    hash = "sha256-ewDB4UYrLh5Upk2ND88n/HfursPxOSDv+NlST/BZ1to=";
   };
 
   # Make tests work with musl
@@ -30,8 +35,6 @@ stdenv.mkDerivation rec {
     ./bootstrap-fix.patch
     # preserve PATH from build env in unit tests
     ./fix-unexport-env-test.patch
-    # Fix localtime tests without global /etc/zoneinfo directory
-    ./fix-localtime-test.patch
     # Always enable ksh test since it checks in a impure location /bin/ksh
     ./unconditional-ksh-test.patch
     # decouple tests from build phase
@@ -48,15 +51,20 @@ stdenv.mkDerivation rec {
     })
   ];
 
-  # The generated makefile is a small wrapper for calling ./boot-strap
-  # with a given op. On a case-insensitive filesystem this generated
-  # makefile clobbers a distinct, shipped, Makefile and causes
-  # infinite recursion during tests which eventually fail with
-  # "fork: Resource temporarily unavailable"
+  # The generated makefile is a small wrapper for calling ./boot-strap with a
+  # given op. On a case-insensitive filesystem this generated makefile clobbers
+  # a distinct, shipped, Makefile and causes infinite recursion during tests
+  # which eventually fail with "fork: Resource temporarily unavailable"
   configureFlags = [
     "--without-makefile"
   ];
 
+  # Disabled tests:
+  # varmod-localtime: musl doesn't support TZDIR and this test relies on impure,
+  # implicit paths
+  # opt-chdir: ofborg complains about it somehow
+  BROKEN_TESTS = "varmod-localtime opt-chdir";
+
   buildPhase = ''
     runHook preBuild
 
@@ -74,11 +82,13 @@ stdenv.mkDerivation rec {
   '';
 
   doCheck = true;
+
   checkInputs = [
     tzdata
   ] ++ lib.optionals (stdenv.hostPlatform.libc != "musl") [
     ksh
   ];
+
   checkPhase = ''
     runHook preCheck
 
@@ -89,15 +99,15 @@ stdenv.mkDerivation rec {
 
   setupHook = ./setup-hook.sh;
 
-  passthru.tests = {
-    bmakeMusl = pkgsMusl.bmake;
-  };
-
   meta = with lib; {
+    homepage = "http://www.crufty.net/help/sjg/bmake.html";
     description = "Portable version of NetBSD 'make'";
-    homepage    = "http://www.crufty.net/help/sjg/bmake.html";
-    license     = licenses.bsd3;
-    platforms   = platforms.unix;
-    maintainers = with maintainers; [ thoughtpolice ];
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ thoughtpolice AndersonTorres ];
+    platforms = platforms.unix;
+    broken = stdenv.isAarch64; # ofborg complains
   };
+
+  passthru.tests.bmakeMusl = pkgsMusl.bmake;
 }
+# TODO: report the quirks and patches to bmake devteam (especially the Musl one)
diff --git a/pkgs/development/tools/build-managers/cmake/default.nix b/pkgs/development/tools/build-managers/cmake/default.nix
index 5c57776a918..47abc7ec767 100644
--- a/pkgs/development/tools/build-managers/cmake/default.nix
+++ b/pkgs/development/tools/build-managers/cmake/default.nix
@@ -17,11 +17,11 @@ stdenv.mkDerivation rec {
     + lib.optionalString isBootstrap "-boot"
     + lib.optionalString useNcurses "-cursesUI"
     + lib.optionalString withQt5 "-qt5UI";
-  version = "3.22.1";
+  version = "3.22.2";
 
   src = fetchurl {
     url = "https://cmake.org/files/v${lib.versions.majorMinor version}/cmake-${version}.tar.gz";
-    sha256 = "sha256-DpmCKVSdez82hwPSDiSOfuH4U5ENQnBKqHkYwhPqgsA=";
+    sha256 = "sha256-PBxHi5ZQsQfUUsW9VFxy4vrU43wJuJoZhLmi9G32rO0=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/build-managers/gradle/default.nix b/pkgs/development/tools/build-managers/gradle/default.nix
index b94330d658c..78376b639c4 100644
--- a/pkgs/development/tools/build-managers/gradle/default.nix
+++ b/pkgs/development/tools/build-managers/gradle/default.nix
@@ -3,7 +3,7 @@
 rec {
   gen =
 
-    { version, nativeVersion, sha256, defaultJava ? jdk8 }:
+    { version, nativeVersion, sha256, defaultJava ? jdk8, supportedPlatforms ? null }:
 
     { lib, stdenv, fetchurl, makeWrapper, unzip, java ? defaultJava
     , javaToolchains ? [ ], ncurses5, ncurses6 }:
@@ -87,7 +87,7 @@ rec {
         changelog = "https://docs.gradle.org/${version}/release-notes.html";
         downloadPage = "https://gradle.org/next-steps/?version=${version}";
         license = licenses.asl20;
-        platforms = platforms.unix;
+        platforms = if (supportedPlatforms != null) then supportedPlatforms else platforms.unix;
         maintainers = with maintainers; [ lorenzleutgeb liff ];
       };
     };
@@ -96,10 +96,13 @@ rec {
   # https://docs.gradle.org/current/userguide/compatibility.html
 
   gradle_7 = gen {
-    version = "7.3.3";
-    nativeVersion = "0.22-milestone-21";
-    sha256 = "00h3z0vxc4hv31sc71gb88r8yabyqgz304wpr0bxhbx2d14f11mm";
+    version = "7.4";
+    nativeVersion = "0.22-milestone-23";
+    sha256 = "0d56bgd2m64pzmycjk29hwdlhbpn1kkm7fjik1sibn6vslw71hlc";
     defaultJava = jdk17;
+    # Gradle 7 ships some binaries that are only available for some platforms
+    # See https://github.com/gradle/native-platform#supported-platforms
+    supportedPlatforms =  [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" "x86_64-cygwin" "x86_64-windows" "i686-windows"  ];
   };
 
   gradle_6 = gen {
@@ -107,6 +110,9 @@ rec {
     nativeVersion = "0.22-milestone-20";
     sha256 = "13qyk3f6namw27ynh6nxljxpk9r3l12vxl3f0qpglprdf3c6ydcb";
     defaultJava = jdk11;
+    # Gradle 6 ships some binaries that are only available for some platforms
+    # See https://github.com/gradle/native-platform#supported-platforms
+    supportedPlatforms =  [ "x86_64-linux" "aarch64-linux" "aarch64-darwin" "x86_64-darwin" "x86_64-cygwin" "x86_64-windows" "i686-windows"  ];
   };
 
   # NOTE: No GitHub Release for the following versions. `update.sh` will not work.
diff --git a/pkgs/development/tools/build-managers/gradle/update.sh b/pkgs/development/tools/build-managers/gradle/update.sh
index 03c914bbdaf..0d6b78a6652 100755
--- a/pkgs/development/tools/build-managers/gradle/update.sh
+++ b/pkgs/development/tools/build-managers/gradle/update.sh
@@ -35,9 +35,13 @@ do
 
     f="gradle-${v}-spec.nix"
 
-    if [ -f "$f" ]
+    if [[ -n "$1" && "$1" != "$v" ]]
     then
-        echo "$v SKIP"
+        echo "$v SKIP (nomatch)"
+        continue
+    elif [ "$1" == "" ] && [ -f "$f" ]
+    then
+        echo "$v SKIP (exists)"
         continue
     fi
 
@@ -45,12 +49,18 @@ do
     read -d "\n" gradle_hash gradle_path < <(nix-prefetch-url --print-path $url)
 
     # Prefix and suffix for "native-platform" dependency.
-    gradle_native_prefix="gradle-$v/lib/native-native-"
+    gradle_native_prefix="gradle-$v/lib/native-platform-"
     gradle_native_suffix=".jar"
-    gradle_native=$(zipinfo -1 "$gradle_path" "$gradle_native_prefix*$gradle_native_suffix" | head -n1)
+    tmp=$(mktemp)
+    zipinfo -1 "$gradle_path" "$gradle_native_prefix*$gradle_native_suffix" > $tmp
+    gradle_native=$(cat $tmp | head -n1)
     gradle_native=${gradle_native#"$gradle_native_prefix"}
     gradle_native=${gradle_native%"$gradle_native_suffix"}
 
+    # Supported architectures
+    #grep -Pho "(linux|osx)-\w+" $tmp | sort | uniq
+    rm -f $tmp
+
     echo -e "{\\n  version = \"$v\";\\n  nativeVersion = \"$gradle_native\";\\n  sha256 = \"$gradle_hash\";\\n}" > $f
 
     echo "$v DONE"
diff --git a/pkgs/development/tools/build-managers/rebar3/default.nix b/pkgs/development/tools/build-managers/rebar3/default.nix
index 37cb4dd8660..3ec37b89fd3 100644
--- a/pkgs/development/tools/build-managers/rebar3/default.nix
+++ b/pkgs/development/tools/build-managers/rebar3/default.nix
@@ -81,7 +81,7 @@ let
           (rebar3WithPlugins { globalPlugins = [rebar3-nix]; })
         ]
       }
-      latest=$(list-git-tags https://github.com/${owner}/${pname}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
+      latest=$(list-git-tags --url=https://github.com/${owner}/${pname}.git | sed -n '/[\d\.]\+/p' | sort -V | tail -1)
       if [ "$latest" != "${version}" ]; then
         nixpkgs="$(git rev-parse --show-toplevel)"
         nix_path="$nixpkgs/pkgs/development/tools/build-managers/rebar3"
diff --git a/pkgs/development/tools/build-managers/sbt-extras/default.nix b/pkgs/development/tools/build-managers/sbt-extras/default.nix
index 3f52f6ca1ba..759c9f68159 100644
--- a/pkgs/development/tools/build-managers/sbt-extras/default.nix
+++ b/pkgs/development/tools/build-managers/sbt-extras/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "sbt-extras";
-  rev = "031e092829365768db7f07cb676ef3642e24c1f4";
-  version = "2021-10-21";
+  rev = "8ccccd8a1d7efa097b7f30e0ec76e39b3aa0f3df";
+  version = "2021-11-08";
 
   src = fetchFromGitHub {
     owner = "paulp";
     repo = "sbt-extras";
     inherit rev;
-    sha256 = "5e/tvRP6oqlstESY8NH752fujFcGZ9rF/rYW9ZFg0Gk=";
+    sha256 = "376yaucqzoe36VKaJmCz+5vQHc+KNQG4iamAdOb/YQU=";
   };
 
   dontBuild = true;
diff --git a/pkgs/development/tools/build-managers/scala-cli/default.nix b/pkgs/development/tools/build-managers/scala-cli/default.nix
index 979cbae99a2..c045944b773 100644
--- a/pkgs/development/tools/build-managers/scala-cli/default.nix
+++ b/pkgs/development/tools/build-managers/scala-cli/default.nix
@@ -1,15 +1,15 @@
 { stdenv, coreutils, lib, installShellFiles, zlib, autoPatchelfHook, fetchurl }:
 
 let
-  version = "0.1.0";
+  version = "0.1.2";
   assets = {
     x86_64-darwin = {
       asset = "scala-cli-x86_64-apple-darwin.gz";
-      sha256 = "sha256-YoMwtaif7q7Ht8fWRQRGeP03Pl5KTIUk8fGGKhelc68=";
+      sha256 = "10453af2kz10k9vmcgdwpk10z36cnblnj6l09wkqngxwx9vxbf9q";
     };
     x86_64-linux = {
       asset = "scala-cli-x86_64-pc-linux.gz";
-      sha256 = "sha256-YjMdhuo9hQCGtq1qYFKUY8S6nz8dpZt+PsngbF6r/C8=";
+      sha256 = "0720c4s717hcssp4b3x295rhgac4ifjr95zn45bm1n70jr3xqzyj";
     };
   };
 in
diff --git a/pkgs/development/tools/buildah/default.nix b/pkgs/development/tools/buildah/default.nix
index 04ab489da1c..ea6f866a48b 100644
--- a/pkgs/development/tools/buildah/default.nix
+++ b/pkgs/development/tools/buildah/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "buildah";
-  version = "1.23.1";
+  version = "1.24.2";
 
   src = fetchFromGitHub {
     owner = "containers";
     repo = "buildah";
     rev = "v${version}";
-    sha256 = "sha256-vAuUA51E1pufn3YvNe4yfqJHXo14iUEA5MzP3/ah+8I=";
+    sha256 = "sha256-gBO+H26YGmOtP3CUHZjynAaOb0h+MJbJnWqxOZdif6w=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/buildpack/default.nix b/pkgs/development/tools/buildpack/default.nix
index ea3968c3841..d607f7af00c 100644
--- a/pkgs/development/tools/buildpack/default.nix
+++ b/pkgs/development/tools/buildpack/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pack";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "buildpacks";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dtDciyQyTYhgYwqRCcxV0kAbPMl3KXhDM0BelPTWymA=";
+    sha256 = "sha256-nlSJwo2YjbOOKofZwXdWB3fxRUNTeSUcT6jN987SB3o=";
   };
 
-  vendorSha256 = "sha256-0BvZ7xLOr7htp3HVgRt3CzCxx2P62RXKhbzbWtGMLc0=";
+  vendorSha256 = "sha256-4uMd0KaV5xrxuJ9yqpxbD3YTNaBHsH2d/IRtYRyN5+0=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/development/tools/checkmate/default.nix b/pkgs/development/tools/checkmate/default.nix
index 98d9eb7936d..b8ad9c6d778 100644
--- a/pkgs/development/tools/checkmate/default.nix
+++ b/pkgs/development/tools/checkmate/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "checkmate";
-  version = "0.5.3";
+  version = "0.5.7";
 
   src = fetchFromGitHub {
     owner = "adedayo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-oBX1MSniVwXvq4Cy9uR3YqxaeSxeWg38oBlCiBy6z/8=";
+    sha256 = "sha256-RCGJ7Xa5HLzcngv79NyocbNGoYZMAKyv/svRScM1vq0=";
   };
 
-  vendorSha256 = "sha256-+O0EQRbqLCMBlaI2mejAId2/KFdPWkJ/i7B81tQykzk=";
+  vendorSha256 = "sha256-ZURtNED8gb0QsuXxJd9oBSx68ABcwlvVpkbd7lhiA9s=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/chefdk/default.nix b/pkgs/development/tools/chefdk/default.nix
index 9e0e40b69f4..93af8815fb3 100644
--- a/pkgs/development/tools/chefdk/default.nix
+++ b/pkgs/development/tools/chefdk/default.nix
@@ -1,8 +1,9 @@
 { lib, bundlerEnv, bundlerUpdateScript, ruby, perl, autoconf }:
 
 bundlerEnv {
-  pname = "chef-dk";
-  version = "4.13.3";
+  name = "chef-dk-4.13.3";
+  # Do not change this to pname & version until underlying issues with Ruby
+  # packaging are resolved ; see https://github.com/NixOS/nixpkgs/issues/70171
 
   inherit ruby;
   gemdir = ./.;
diff --git a/pkgs/development/tools/circup/default.nix b/pkgs/development/tools/circup/default.nix
new file mode 100644
index 00000000000..b620fa20e46
--- /dev/null
+++ b/pkgs/development/tools/circup/default.nix
@@ -0,0 +1,52 @@
+{ lib
+, fetchFromGitHub
+, python3
+}:
+
+python3.pkgs.buildPythonApplication rec {
+  pname = "circup";
+  version = "1.0.4";
+  format = "setuptools";
+
+  src = fetchFromGitHub {
+    owner = "adafruit";
+    repo = pname;
+    rev = version;
+    hash = "sha256-qX3kSlqA2qP8+XiLYx/hKYfyeB6p3tnXEhESox0c/lY=";
+  };
+
+  SETUPTOOLS_SCM_PRETEND_VERSION = version;
+
+  nativeBuildInputs = with python3.pkgs; [
+    setuptools-scm
+  ];
+
+  propagatedBuildInputs = with python3.pkgs; [
+    appdirs
+    click
+    findimports
+    requests
+    semver
+    setuptools
+    update_checker
+  ];
+
+  checkInputs = with python3.pkgs; [
+    pytestCheckHook
+  ];
+
+  postBuild = ''
+    export HOME=$(mktemp -d);
+  '';
+
+  pythonImportsCheck = [
+    " circup "
+  ];
+
+  meta = with lib; {
+    description = "CircuitPython library updater";
+    homepage = "https://github.com/adafruit/circup";
+    license = with licenses; [ mit ];
+    maintainers = with maintainers; [ fab ];
+  };
+}
diff --git a/pkgs/development/tools/clj-kondo/default.nix b/pkgs/development/tools/clj-kondo/default.nix
index 554488ecea9..bd9819f8a00 100644
--- a/pkgs/development/tools/clj-kondo/default.nix
+++ b/pkgs/development/tools/clj-kondo/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "clj-kondo";
-  version = "2022.01.15";
+  version = "2022.02.09";
 
   src = fetchurl {
     url = "https://github.com/clj-kondo/${pname}/releases/download/v${version}/${pname}-${version}-standalone.jar";
-    sha256 = "sha256-s1SdCy4GaxFL9M3Fp/WGu1C6qY2Kst5PXFShrGCizUE=";
+    sha256 = "sha256-WfPjn0S7Jd6zFcfaudcSsx9d5luyZuaeB8lFaOLg21w=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/tools/cloud-nuke/default.nix b/pkgs/development/tools/cloud-nuke/default.nix
index 998caa66692..4fa198f32c0 100644
--- a/pkgs/development/tools/cloud-nuke/default.nix
+++ b/pkgs/development/tools/cloud-nuke/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cloud-nuke";
-  version = "0.9.1";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "gruntwork-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dTS3HNGd5Ga18tERuDAhclWP3zvYO4RWx2nkd+x5D1w=";
+    sha256 = "sha256-y1YpPYTejeZjz4nJmyAPT8rYaEguaJpBfAAfF38dpA4=";
   };
 
   vendorSha256 = "sha256-McCbogZvgm9pnVjay9O2CxAh+653JnDMcU4CHD0PTPI=";
diff --git a/pkgs/development/tools/cmake-language-server/default.nix b/pkgs/development/tools/cmake-language-server/default.nix
index 663e0a5b66f..f50afcd4669 100644
--- a/pkgs/development/tools/cmake-language-server/default.nix
+++ b/pkgs/development/tools/cmake-language-server/default.nix
@@ -26,6 +26,11 @@ buildPythonApplication rec {
     ./disable-test-timeouts.patch
   ];
 
+  postPatch = ''
+    substituteInPlace pyproject.toml \
+      --replace 'pyparsing = "^2.4"' 'pyparsing = "^3.0.6"'
+  '';
+
   nativeBuildInputs = [ poetry ];
   propagatedBuildInputs = [ pygls pyparsing ];
 
diff --git a/pkgs/development/tools/continuous-integration/drone-cli/0001-use-different-upstream-for-gomod.patch b/pkgs/development/tools/continuous-integration/drone-cli/0001-use-different-upstream-for-gomod.patch
new file mode 100644
index 00000000000..e9bd040f678
--- /dev/null
+++ b/pkgs/development/tools/continuous-integration/drone-cli/0001-use-different-upstream-for-gomod.patch
@@ -0,0 +1,23 @@
+diff --git a/go.mod b/go.mod
+index 99f9b37..ebbdb54 100644
+--- a/go.mod
++++ b/go.mod
+@@ -28,3 +28,5 @@ require (
+ 	golang.org/x/net v0.0.0-20210226172049-e18ecbb05110
+ 	golang.org/x/oauth2 v0.0.0-20200107190931-bf48bf16ab8d
+ )
++
++replace github.com/jackspirou/syscerts => github.com/akhenakh/syscerts v0.0.0-20201230132944-1f7ee1de1ba3
+diff --git a/go.sum b/go.sum
+index 8c379ed..283ba39 100644
+--- a/go.sum
++++ b/go.sum
+@@ -64,6 +64,8 @@ github.com/OneOfOne/xxhash v1.2.2/go.mod h1:HSdplMjZKSmBqAxg5vPj2TmRDmfkzw+cTzAE
+ github.com/PuerkitoBio/purell v1.1.1/go.mod h1:c11w/QuzBsJSee3cPx9rAFu61PvFxuPbtSwDGJws/X0=
+ github.com/PuerkitoBio/urlesc v0.0.0-20170810143723-de5bf2ad4578/go.mod h1:uGdkoq3SwY9Y+13GIhn11/XLaGBb4BfwItxLd5jeuXE=
+ github.com/Shopify/logrus-bugsnag v0.0.0-20171204204709-577dee27f20d/go.mod h1:HI8ITrYtUY+O+ZhtlqUnD8+KwNPOyugEhfP9fdUIaEQ=
++github.com/akhenakh/syscerts v0.0.0-20201230132944-1f7ee1de1ba3 h1:2d14fzBv1dj4PimhBxXDlaltfNU6rGmA4NyYa3aB5xQ=
++github.com/akhenakh/syscerts v0.0.0-20201230132944-1f7ee1de1ba3/go.mod h1:ijVDlqqT/Ok/B2v7GaiSj4gfCl7uipB8/8jwgJvrTSk=
+ github.com/alecthomas/template v0.0.0-20160405071501-a0175ee3bccc/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+ github.com/alecthomas/template v0.0.0-20190718012654-fb15b899a751/go.mod h1:LOuyumcjzFXgccqObfd/Ljyb9UuFJ6TxHnclSeseNhc=
+ github.com/alecthomas/units v0.0.0-20151022065526-2efee857e7cf/go.mod h1:ybxpYRFXyAe+OPACYpWeL0wqObRcbAqCMya13uyzqw0=
diff --git a/pkgs/development/tools/continuous-integration/drone-cli/default.nix b/pkgs/development/tools/continuous-integration/drone-cli/default.nix
index 3eb7c7e261e..ac434fb9fdd 100644
--- a/pkgs/development/tools/continuous-integration/drone-cli/default.nix
+++ b/pkgs/development/tools/continuous-integration/drone-cli/default.nix
@@ -5,16 +5,18 @@ buildGoModule rec {
   pname = "drone-cli";
   revision = "v${version}";
 
-  vendorSha256 = "sha256-bYjEVmQ7lPd+Gn5cJwlzBQkMkLAXA1iSa1DXz/IM1Ss=";
+  vendorSha256 = "0hh079qvxs4bcf0yy42y6sb303wxxam5h2mz56irdl0q2vqkk0f0";
 
   doCheck = false;
 
+  patches = [ ./0001-use-different-upstream-for-gomod.patch ];
+
   ldflags = [
     "-X main.version=${version}"
   ];
 
   src = fetchFromGitHub {
-    owner = "drone";
+    owner = "harness";
     repo = "drone-cli";
     rev = revision;
     sha256 = "sha256-TFIGKTVrAMSOFEmu3afdDKBgyEwF2KIv3rt1fS6rCxw=";
@@ -22,7 +24,7 @@ buildGoModule rec {
 
   meta = with lib; {
     mainProgram = "drone";
-    maintainers = with maintainers; [ ];
+    maintainers = with maintainers; [ techknowlogick ];
     license = licenses.asl20;
     description = "Command line client for the Drone continuous integration server";
   };
diff --git a/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix b/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
index a2e7b739718..fa2957be986 100644
--- a/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
+++ b/pkgs/development/tools/continuous-integration/drone-runner-docker/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "drone-runner-docker";
-  version = "1.6.3";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "drone-runners";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WI3pr0t6EevIBOQwCAI+CY2O8Q7+W/CLDT/5Y0+tduQ=";
+    sha256 = "sha256-F04h9kwrVvQEenzw1QTeNnQun9tHzu8HT24gNEMcRro=";
   };
 
-  vendorSha256 = "15lpdliqz129yq5zgzjvndwdxngxa96g0ska4zkny7ycb3vwq0xm";
+  vendorSha256 = "sha256-E18ykjQc1eoHpviYok+NiLaeH01UMQmigl9JDwtR+zo=";
 
   meta = with lib; {
     maintainers = with maintainers; [ endocrimes ];
diff --git a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
index 57e9d15dce6..9c57c500592 100644
--- a/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
+++ b/pkgs/development/tools/continuous-integration/gitlab-runner/default.nix
@@ -1,31 +1,54 @@
-{ lib, buildGoPackage, fetchFromGitLab, fetchurl }:
+{ lib, buildGoModule, fetchFromGitLab, fetchurl }:
 
 let
-  version = "14.7.0";
+  version = "14.8.0";
 in
-buildGoPackage rec {
+buildGoModule rec {
   inherit version;
   pname = "gitlab-runner";
-  goPackagePath = "gitlab.com/gitlab-org/gitlab-runner";
-  subPackages = [ "." ];
-  commonPackagePath = "${goPackagePath}/common";
+
+  commonPackagePath = "gitlab.com/gitlab-org/gitlab-runner/common";
   ldflags = [
     "-X ${commonPackagePath}.NAME=gitlab-runner"
     "-X ${commonPackagePath}.VERSION=${version}"
     "-X ${commonPackagePath}.REVISION=v${version}"
   ];
 
+  vendorSha256 = "sha256-MdGLl77DFXPudt26qICSH+1UuQAR8Rb/nl0Ykb0hjgE=";
+
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-runner";
     rev = "v${version}";
-    sha256 = "0l7bbmhvgz12nq52nmvgs1qmcknikw8f2dn9l93ijb1sr495fygl";
+    sha256 = "sha256-+DwOKlFu9m2kt4DwaSp/Jq3eZ/+FFxV1Q7bKOy5DfoE=";
   };
 
   patches = [
     ./fix-shell-path.patch
   ];
 
+  prePatch = ''
+    # Remove some tests that can't work during a nix build
+
+    # Requires to run in a git repo
+    sed -i "s/func TestCacheArchiverAddingUntrackedFiles/func OFF_TestCacheArchiverAddingUntrackedFiles/" commands/helpers/file_archiver_test.go
+    sed -i "s/func TestCacheArchiverAddingUntrackedUnicodeFiles/func OFF_TestCacheArchiverAddingUntrackedUnicodeFiles/" commands/helpers/file_archiver_test.go
+
+    # No writable developer environment
+    rm common/build_test.go
+    rm executors/custom/custom_test.go
+
+    # No docker during build
+    rm executors/docker/terminal_test.go
+    rm executors/docker/docker_test.go
+    rm helpers/docker/auth/auth_test.go
+  '';
+
+  preCheck = ''
+    # Make the tests pass outside of GitLab CI
+    export CI=0
+  '';
+
   meta = with lib; {
     description = "GitLab Runner the continuous integration executor of GitLab";
     license = licenses.mit;
diff --git a/pkgs/development/tools/continuous-integration/jenkins/default.nix b/pkgs/development/tools/continuous-integration/jenkins/default.nix
index 3a04ba2f866..2b61d377e9f 100644
--- a/pkgs/development/tools/continuous-integration/jenkins/default.nix
+++ b/pkgs/development/tools/continuous-integration/jenkins/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jenkins";
-  version = "2.319.2";
+  version = "2.319.3";
 
   src = fetchurl {
-    url = "http://mirrors.jenkins.io/war-stable/${version}/jenkins.war";
-    sha256 = "0lx5fng98l9qci5jqwav8dmcnp7k7glfg0ccwqi0xqk90jqqs302";
+    url = "http://get.jenkins.io/war-stable/${version}/jenkins.war";
+    sha256 = "sha256-c92Rs5W89i/iXm0wdHZfFRDJ5YTswen69EBRBkGBtDQ=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/coursier/default.nix b/pkgs/development/tools/coursier/default.nix
index 85f7e603bbb..c7450f738a1 100644
--- a/pkgs/development/tools/coursier/default.nix
+++ b/pkgs/development/tools/coursier/default.nix
@@ -2,7 +2,7 @@
 , coreutils, git, gnused, nix, nixfmt }:
 
 let
-  version = "2.0.16";
+  version = "2.1.0-M1";
 
   zshCompletion = fetchurl {
     url =
@@ -19,7 +19,7 @@ in stdenv.mkDerivation rec {
   src = fetchurl {
     url =
       "https://github.com/coursier/coursier/releases/download/v${version}/coursier";
-    sha256 = "sha256-Yx6PvBo763GnEwU5s7AYUs++Au25TF6cZ4WYGgruHpw=";
+    sha256 = "sha256-JeqWzAkSSqhdbgkse1uSA3k4bupepWuvx6GUtBfodcg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/crd2pulumi/default.nix b/pkgs/development/tools/crd2pulumi/default.nix
index 51077c3178a..a1d5a69e94a 100644
--- a/pkgs/development/tools/crd2pulumi/default.nix
+++ b/pkgs/development/tools/crd2pulumi/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "crd2pulumi";
-  version = "1.1.0";
+  version = "1.2.0";
 
   src = fetchFromGitHub {
     owner = "pulumi";
     repo = "crd2pulumi";
     rev = "v${version}";
-    sha256 = "sha256-7eNjOVTbZVpjQZPo69DgVCLCXqWnb0UVKd/DIY9Tq08=";
+    sha256 = "sha256-jGCtHDceJMGG2WHRldEyToZRNp3ZTt4Tir7DAsaWgfI=";
   };
 
   vendorSha256 = "sha256-XM1uedApVLkFzUpNPYS5YyMiWrOpzTvqKjWIV7s/1mI=";
diff --git a/pkgs/development/tools/cue/default.nix b/pkgs/development/tools/cue/default.nix
index 9119dbce158..21370ab9b5a 100644
--- a/pkgs/development/tools/cue/default.nix
+++ b/pkgs/development/tools/cue/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "cue";
-  version = "0.4.1";
+  version = "0.4.2";
 
   src = fetchFromGitHub {
     owner = "cue-lang";
     repo = "cue";
     rev = "v${version}";
-    sha256 = "1q1mkqb6fk515g556yn8ks3gqrimfbadprmbv5rill1lpipq5xbj";
+    sha256 = "sha256-6HD3wcBo21Dep4ckx+oDWAC4nuTvCzlp0bwQxZox2b4=";
   };
 
-  vendorSha256 = "12p77a97lbff6qhncs5qx13k3wmf9hrr09mhh12isw5s0p0n53xm";
+  vendorSha256 = "sha256-tY9iwQW6cB1FgLAmkDNMrvIxR+i4aGYhNs4tepI654o=";
 
   checkPhase = "go test ./...";
 
diff --git a/pkgs/development/tools/database/clickhouse-backup/default.nix b/pkgs/development/tools/database/clickhouse-backup/default.nix
index 4ac007f0887..fdc15a9256d 100644
--- a/pkgs/development/tools/database/clickhouse-backup/default.nix
+++ b/pkgs/development/tools/database/clickhouse-backup/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "clickhouse-backup";
-  version = "1.2.2";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "AlexAkulov";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ThN1uvofIvV5Dt6dqxLpekTRy9pV4xb0bkVNRcfNJ2c=";
+    sha256 = "sha256-M9fJFdwNyNOolXFknzEPG7pNDVrqKv/WOQZUHmr8B84=";
   };
 
-  vendorSha256 = "sha256-bz21YeEONXD08HD1/8vn+NfGniXkGo7/8bQXLpRFmaM=";
+  vendorSha256 = "sha256-d6h0LK4zbrfkUum7FXHIP+hqBx5A0mQmvW5GOi+EMVQ=";
 
   postConfigure = ''
     export CGO_ENABLED=0
diff --git a/pkgs/development/tools/database/dbmate/default.nix b/pkgs/development/tools/database/dbmate/default.nix
index ae25f265664..313d2480e95 100644
--- a/pkgs/development/tools/database/dbmate/default.nix
+++ b/pkgs/development/tools/database/dbmate/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dbmate";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchFromGitHub {
     owner = "amacneil";
     repo = "dbmate";
     rev = "v${version}";
-    sha256 = "sha256-j7u8TidiuaA5SbXoD+p23wwTsePi6/hzNdVS5IJMEh0=";
+    sha256 = "sha256-CgThS10mDYRj/VdVJeeVTMEbhvLLpWBweQ4dvo3k3Hg=";
   };
 
-  vendorSha256 = "sha256-t8ga2KrahzdDBu33vv1ETB6hVoNpdxjPfiYuvLR2m5g=";
+  vendorSha256 = "sha256-cbMCGC78vc61F4cEobarMPwVts2V3NkH4/CnHGeLd/o=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/database/liquibase/default.nix b/pkgs/development/tools/database/liquibase/default.nix
index 54ede5fc345..06f4c947b20 100644
--- a/pkgs/development/tools/database/liquibase/default.nix
+++ b/pkgs/development/tools/database/liquibase/default.nix
@@ -10,11 +10,11 @@ in
 
 stdenv.mkDerivation rec {
   pname = "liquibase";
-  version = "4.4.3";
+  version = "4.8.0";
 
   src = fetchurl {
     url = "https://github.com/liquibase/liquibase/releases/download/v${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-td+mBf/JhTw5vvlupyllpZ2e4So7y1kEC1OdR4LUv/k=";
+    sha256 = "sha256-dGK26S9wd+GFiGXEA9UvDc4b1m0DsfrpB4FcEIJf6zM=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/database/pg_activity/default.nix b/pkgs/development/tools/database/pg_activity/default.nix
index 6754e76a897..6282a6b69e5 100644
--- a/pkgs/development/tools/database/pg_activity/default.nix
+++ b/pkgs/development/tools/database/pg_activity/default.nix
@@ -2,14 +2,14 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "pg_activity";
-  version = "2.2.0";
+  version = "2.3.0";
   disabled = python3Packages.pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = "dalibo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "145yqjb2rr1k0xz6lclk4fy5zbwcbfkzvn52g9ijjrfl08y15agm";
+    sha256 = "sha256-O5ACTWsHoIty+QLTGaSuk985qduH7xBjviiH4yCrY2o=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/development/tools/database/sqldeveloper/default.nix b/pkgs/development/tools/database/sqldeveloper/default.nix
index ef95263185c..da43a4daf7d 100644
--- a/pkgs/development/tools/database/sqldeveloper/default.nix
+++ b/pkgs/development/tools/database/sqldeveloper/default.nix
@@ -10,7 +10,7 @@ let
     desktopName = "Oracle SQL Developer";
     genericName = "Oracle SQL Developer";
     comment = "Oracle's Oracle DB GUI client";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 in
   stdenv.mkDerivation {
diff --git a/pkgs/development/tools/database/sqlfluff/default.nix b/pkgs/development/tools/database/sqlfluff/default.nix
index 2d1548bd86e..7c95565487d 100644
--- a/pkgs/development/tools/database/sqlfluff/default.nix
+++ b/pkgs/development/tools/database/sqlfluff/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "sqlfluff";
-  version = "0.9.4";
+  version = "0.10.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-KNYxHBtPRsxEFrBJsfz5G7ZRZpVQxOph9UUKKhbHA9Y=";
+    hash = "sha256-ZgLg+pIdTBxMNXgFFL8jCbQa444pkgtnSx+QjMqQhag=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/development/tools/database/squirrel-sql/default.nix b/pkgs/development/tools/database/squirrel-sql/default.nix
index 5175a028760..e908849a3b3 100644
--- a/pkgs/development/tools/database/squirrel-sql/default.nix
+++ b/pkgs/development/tools/database/squirrel-sql/default.nix
@@ -6,11 +6,11 @@
 }:
 stdenv.mkDerivation rec {
   pname = "squirrel-sql";
-  version = "4.2.0";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/squirrel-sql/1-stable/${version}-plainzip/squirrelsql-${version}-standard.zip";
-    sha256 = "sha256-pNcmIey50nWZghoXVGnm0EFzGoqBpAaJ2lhYvVzjWto=";
+    sha256 = "sha256-Xh6JLfk0xDqEBJiEG3WBKBEqad/O0D8aeJk5s5w8PTI=";
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
@@ -63,14 +63,14 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "SQuirreL SQL";
     genericName = "SQL Client";
-    categories = "Development;";
+    categories = [ "Development" ];
     icon = "squirrel-sql";
   };
 
   meta = with lib; {
     description = "Universal SQL Client";
     homepage = "http://squirrel-sql.sourceforge.net/";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ khumba ];
   };
diff --git a/pkgs/development/tools/datree/default.nix b/pkgs/development/tools/datree/default.nix
index d8b99eb2870..e94917f15d7 100644
--- a/pkgs/development/tools/datree/default.nix
+++ b/pkgs/development/tools/datree/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "datree";
-  version = "0.14.87";
+  version = "0.15.22";
 
   src = fetchFromGitHub {
     owner = "datreeio";
     repo = "datree";
     rev = version;
-    sha256 = "sha256-zoFWiqrKdTh6XDrKx2mQe3NqK03so6MqIX0sSQHQa5U=";
+    hash = "sha256-g5u2QQtVmNp01KtUKwC8uoEIuoBDLHsOlRz1Mv0n/y8=";
   };
 
-  vendorSha256 = "sha256-HaOgRbF3gMsl6PufdB5IZ2sLunvPo4GeObLb7DRSD0o=";
+  vendorSha256 = "1cvlvlwdk41f145kzifg7rv7ymwhc9k0ck91bn106240rq1igcr0";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/ddosify/default.nix b/pkgs/development/tools/ddosify/default.nix
index 31174ea7a1a..a313cc51222 100644
--- a/pkgs/development/tools/ddosify/default.nix
+++ b/pkgs/development/tools/ddosify/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ddosify";
-  version = "0.7.2";
+  version = "0.7.4";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QLJB2WcnguknEMdgwJzltp++mJCL4cFOWU568aTk0sc=";
+    sha256 = "sha256-LIk23TZiLP2FEeHVEtd3CCUgBJ9YijclpFLyDhv6zRA=";
   };
 
   vendorSha256 = "sha256-lbo9P2UN9TmUAqyhFdbOHWokoAogVQZihpcOlhmumxU=";
diff --git a/pkgs/development/tools/deis/default.nix b/pkgs/development/tools/deis/default.nix
deleted file mode 100644
index 8286435d9a3..00000000000
--- a/pkgs/development/tools/deis/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "deis";
-  version = "1.13.4";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/deis/deis";
-  subPackages = [ "client" ];
-
-  postInstall = ''
-    if [ -f "$out/bin/client" ]; then
-      mv "$out/bin/client" "$out/bin/deis"
-    fi
-  '';
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "deis";
-    repo = "deis";
-    sha256 = "0hndzvlgpfm83c4i1c88byv8j9clagswa79nny8wrw33dx90dym1";
-  };
-
-  preBuild = ''
-    export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace
-  '';
-
-  meta = with lib; {
-    homepage = "https://deis.io";
-    description = "A command line utility used to interact with the Deis open source PaaS";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [
-    ];
-  };
-}
diff --git a/pkgs/development/tools/deisctl/default.nix b/pkgs/development/tools/deisctl/default.nix
deleted file mode 100644
index 67245a5ebbe..00000000000
--- a/pkgs/development/tools/deisctl/default.nix
+++ /dev/null
@@ -1,30 +0,0 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
-
-buildGoPackage rec {
-  pname = "deis";
-  version = "1.13.3";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/deis/deis";
-  subPackages = [ "deisctl" ];
-
-  src = fetchFromGitHub {
-    inherit rev;
-    owner = "deis";
-    repo = "deis";
-    sha256 = "15q44jyjms8fdmly0z4sn4ymf1dx6cmdavgixjixdj2wbjw0yi2p";
-  };
-
-  preBuild = ''
-    export GOPATH=$GOPATH:$NIX_BUILD_TOP/go/src/${goPackagePath}/Godeps/_workspace
-  '';
-
-  meta = with lib; {
-    homepage = "https://deis.io";
-    description = "A command-line utility used to provision and operate a Deis cluster";
-    license = licenses.asl20;
-    platforms = platforms.unix;
-    maintainers = with maintainers; [
-    ];
-  };
-}
diff --git a/pkgs/development/tools/delve/default.nix b/pkgs/development/tools/delve/default.nix
index 54c1f12432b..9681bfe75bd 100644
--- a/pkgs/development/tools/delve/default.nix
+++ b/pkgs/development/tools/delve/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "delve";
-  version = "1.8.0";
+  version = "1.8.1";
 
   goPackagePath = "github.com/go-delve/delve";
   excludedPackages = "\\(_fixtures\\|scripts\\|service/test\\)";
@@ -11,7 +11,7 @@ buildGoPackage rec {
     owner = "go-delve";
     repo = "delve";
     rev = "v${version}";
-    sha256 = "sha256-NihlBFZ5xu+DMBtUiGyjxpgob2hoLlFJ7MfnM55feuw=";
+    sha256 = "sha256-GIwu3G8cy2xKqFzN/7d/mbpS+5oGJa3QexoELlEwWRA=";
   };
 
   subPackages = [ "cmd/dlv" ];
diff --git a/pkgs/development/tools/dockle/default.nix b/pkgs/development/tools/dockle/default.nix
index b647505fe4b..48895d30f94 100644
--- a/pkgs/development/tools/dockle/default.nix
+++ b/pkgs/development/tools/dockle/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dockle";
-  version = "0.4.3";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "goodwithtech";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0yeHxQW6zX8Mh9JBmp915czEZCmbIom/KYHWLc/O6NY=";
+    sha256 = "sha256-lXX266wVvAebUaYsoANuNAyguh7F1OUPPNrSqQSINuU=";
   };
 
-  vendorSha256 = "sha256-klTIGmMKA6gp1strgvKnVBtYGQu2407UwxZ8brdGEkQ=";
+  vendorSha256 = "sha256-4yluXfk84vJFSvz9PCSym0Vxx1glyvVZWZy2kdqk/a4=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ btrfs-progs lvm2 ];
diff --git a/pkgs/development/tools/doctl/default.nix b/pkgs/development/tools/doctl/default.nix
index a06cc0f1c41..3bcd0d6777d 100644
--- a/pkgs/development/tools/doctl/default.nix
+++ b/pkgs/development/tools/doctl/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "doctl";
-  version = "1.69.0";
+  version = "1.70.0";
 
   vendorSha256 = null;
 
@@ -31,7 +31,7 @@ buildGoModule rec {
     owner = "digitalocean";
     repo = "doctl";
     rev = "v${version}";
-    sha256 = "sha256-Bm6Xrgp/6/NpIndCVRDamKndBbCANnW5j3vOVRVxnE4=";
+    sha256 = "sha256-oLcWVUP9A/tcJYKiaBrqAdyNKESaVFOaNiG/fAVQb2c=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/dprint/default.nix b/pkgs/development/tools/dprint/default.nix
index d2c910b2544..f2bd4bb1b2a 100644
--- a/pkgs/development/tools/dprint/default.nix
+++ b/pkgs/development/tools/dprint/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "dprint";
-  version = "0.19.2";
+  version = "0.22.2";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-mTurSfYyLDmHCiza/noToRFtQL0zsdzib69PCtUseSI=";
+    sha256 = "sha256-iYqQABXd3Vra+U7cfGKBEyTXfQGwHxFSxEoDyCfKk5Y=";
   };
 
-  cargoSha256 = "sha256-B4b6RSegtS3FQ4BHFVmw9+jlA/oKEmB5i/kdb6nuzkQ=";
+  cargoSha256 = "sha256-QMOS8Pn3RwZZRtKqp077ihh91Q4VPe8alrtQ6dYIXmA=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/development/tools/dstp/default.nix b/pkgs/development/tools/dstp/default.nix
index c0a7f79eae1..7e3dafc5b22 100644
--- a/pkgs/development/tools/dstp/default.nix
+++ b/pkgs/development/tools/dstp/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "dstp";
   version = "0.4.0";
 
diff --git a/pkgs/development/tools/dt-schema/default.nix b/pkgs/development/tools/dt-schema/default.nix
index a5445c8e021..20e1ed136e2 100644
--- a/pkgs/development/tools/dt-schema/default.nix
+++ b/pkgs/development/tools/dt-schema/default.nix
@@ -11,11 +11,11 @@
 
 buildPythonPackage rec {
   pname = "dtschema";
-  version = "2021.10";
+  version = "2022.1";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "d09c94d13f46e6674ba11ff31220651ad1b02dae860f5a87905dfac6b8d768d9";
+    sha256 = "sha256-G5KzuaMbbkuLK+cNvzBld1UwvExS6ZGVW2e+GXQRFMU=";
   };
 
   nativeBuildInputs = [ setuptools-scm git ];
diff --git a/pkgs/development/tools/dyff/default.nix b/pkgs/development/tools/dyff/default.nix
index 3edbc57ecdb..d71b73929ce 100644
--- a/pkgs/development/tools/dyff/default.nix
+++ b/pkgs/development/tools/dyff/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "dyff";
-  version = "1.4.7";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "homeport";
     repo = "dyff";
     rev = "v${version}";
-    sha256 = "sha256-0/pn+Ld7o4gBnddA+uMzBhrFnov1XoqpRGkTT/vNH3Y=";
+    sha256 = "sha256-SiOaPgwcdYrZBk7vzs6icN+pP0Yc+ImLz5lVtHaXgDc=";
   };
 
-  vendorSha256 = "sha256-ITg+qEdk4/mWytzBbybYEc2Tw4ibvGUOB/FMu475dSk=";
+  vendorSha256 = "sha256-N3LqPnBq+jOUj4yDhY0GS4a4FTOntY4xu1TVac6va+Q=";
 
   subPackages = [
     "cmd/dyff"
diff --git a/pkgs/development/tools/earthly/default.nix b/pkgs/development/tools/earthly/default.nix
index a18b3b67fdc..cd324ae387d 100644
--- a/pkgs/development/tools/earthly/default.nix
+++ b/pkgs/development/tools/earthly/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "earthly";
-  version = "0.6.4";
+  version = "0.6.8";
 
   src = fetchFromGitHub {
     owner = "earthly";
     repo = "earthly";
     rev = "v${version}";
-    sha256 = "sha256-QrlxH9ihWAVzf9lh3CcVCqFPLmn7bM2pNZUqxnHD2WA=";
+    sha256 = "sha256-VXBDgBcByONEOznUVbzxySE7rcevIwCk8rVxRxhF0Gc=";
   };
 
-  vendorSha256 = "sha256-pI5aBBUJoAmeJ2Kr0eqP9O/tGhgHCBjINL3406LQ9Dc=";
+  vendorSha256 = "sha256-6lzusbfedDJESJIxsTVGoRnjdtPnMSDdL2OjXIFFL04=";
 
   ldflags = [
     "-s" "-w"
@@ -37,6 +37,6 @@ buildGoModule rec {
     homepage = "https://earthly.dev/";
     changelog = "https://github.com/earthly/earthly/releases/tag/v${version}";
     license = licenses.bsl11;
-    maintainers = with maintainers; [ matdsoupe ];
+    maintainers = with maintainers; [ zoedsoupe ];
   };
 }
diff --git a/pkgs/development/tools/ec2-metadata-mock/default.nix b/pkgs/development/tools/ec2-metadata-mock/default.nix
index 197105ee646..838e9941772 100644
--- a/pkgs/development/tools/ec2-metadata-mock/default.nix
+++ b/pkgs/development/tools/ec2-metadata-mock/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ec2-metadata-mock";
-  version = "1.9.2";
+  version = "1.10.1";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "amazon-ec2-metadata-mock";
     rev = "v${version}";
-    sha256 = "sha256-k4YzG4M+r6BHc4DdAMXoUvVDTJqmzr8vIL1J6kbJBeY=";
+    sha256 = "sha256-sWs3chJqXL1YTHgSY0kD+PINrF4eOThOdcgSis3Mecs=";
   };
 
-  vendorSha256 = "sha256-bI1W6KdXIq5HsoXDOq93Le2vePAAgvqy/lXm/N1F+yU=";
+  vendorSha256 = "sha256-HbU6Y5SART+FjFyEpzv243yfo/A4yprPen5Mlhq0hbg=";
 
   postInstall = ''
     mv $out/bin/{cmd,ec2-metadata-mock}
diff --git a/pkgs/development/tools/eclipse-mat/default.nix b/pkgs/development/tools/eclipse-mat/default.nix
index 01146542d0c..7408b35fe5a 100644
--- a/pkgs/development/tools/eclipse-mat/default.nix
+++ b/pkgs/development/tools/eclipse-mat/default.nix
@@ -44,7 +44,7 @@ stdenv.mkDerivation rec {
     comment = "Eclipse Memory Analyzer";
     desktopName = "Eclipse MAT";
     genericName = "Java Memory Analyzer";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
   unpackPhase = ''
diff --git a/pkgs/development/tools/electron/default.nix b/pkgs/development/tools/electron/default.nix
index cb209a45119..df55b51a0ad 100644
--- a/pkgs/development/tools/electron/default.nix
+++ b/pkgs/development/tools/electron/default.nix
@@ -15,6 +15,7 @@
 , libxkbcommon
 , libappindicator-gtk3
 , libxshmfence
+, libglvnd
 }@args:
 
 let
@@ -22,25 +23,7 @@ let
 in
 rec {
 
-  electron = electron_16;
-
-  electron_7 = mkElectron "7.3.3" {
-    x86_64-linux = "a947228a859149bec5bd937f9f3c03eb0aa4d78cfe4dfa9aead60d3646a357f9";
-    x86_64-darwin = "e081436abef52212065f560ea6add1c0cd13d287a1b3cc76b28d2762f7651a4e";
-    i686-linux = "5fb756900af43a9daa6c63ccd0ac4752f5a479b8c6ae576323fd925dbe5ecbf5";
-    armv7l-linux = "830678f6db27fa4852cf456d8b2828a3e4e3c63fe2bced6b358eae88d1063793";
-    aarch64-linux = "03d06120464c353068e2ac6c40f89eedffd6b5b3c4c96efdb406c96a6136a066";
-    headers = "0ink72nac345s54ws6vlij2mjixglyn5ygx14iizpskn4ka1vr4b";
-  };
-
-  electron_8 = mkElectron "8.5.5" {
-    x86_64-linux = "8058442ab4a18d73ca644d4a6f001e374c3736bc7e37db0275c29011681f1f22";
-    x86_64-darwin = "02bb9f672c063b23782bee6e336864609eed72cffeeea875a3b43c868c6bd8b3";
-    i686-linux = "c8ee6c3d86576fe7546fb31b9318cb55a9cd23c220357a567d1cb4bf1b8d7f74";
-    armv7l-linux = "0130d1fcd741552d2823bc8166eae9f8fc9f17cd7c0b2a7a5889d753006c0874";
-    aarch64-linux = "ca16d8f82b3cb47716dc9db273681e9b7cd79df39894a923929c99dd713c45f5";
-    headers = "18frb1z5qkyff5z1w44mf4iz9aw9j4lq0h9yxgfnp33zf7sl9qb5";
-  };
+  electron = electron_17;
 
   electron_9 = mkElectron "9.4.4" {
     x86_64-linux = "781d6ca834d415c71078e1c2c198faba926d6fce19e31448bbf4450869135450";
@@ -90,33 +73,43 @@ rec {
     headers = "0vvizddmhprprbdf6bklasz6amwc254bpc9j0zlx23d1pgyxpnhc";
   };
 
-  electron_14 = mkElectron "14.2.5" {
-    armv7l-linux = "d6f7e2fe6088f57ecd455035e0815c20dd1d84b4cbf669e5fa355b96f36eaf2e";
-    aarch64-linux = "c8a1a7c5c04462bbe6e148587a72b002ab4bb90aecb9686546b22580c0f9fa52";
-    x86_64-linux = "5820ea6c9cfe02096a75df43cab7cdfe5947d6d90207e98c563bd50c400f8110";
-    i686-linux = "8099fc3b137e80c5e65493dea2cf3dfb923e86693f3b082429f6fd949560f540";
-    x86_64-darwin = "258eb29426a5f275c49284be6818f856ffc29d04fa9cef6fafcdcd207092281d";
-    aarch64-darwin = "38a19828c1d7ff5fb49c5db5a706482f4afbae9fecaedaf9ebea0a5765bf952d";
-    headers = "172h9ba1s531y3s751inwsia6kr39412yivqkpdc58jmn47nmgb8";
+  electron_14 = mkElectron "14.2.6" {
+    armv7l-linux = "fd115652f491fff6a28bf39dc41e3c7f1b638e7dcc7856c33b6a97c7763ea9a3";
+    aarch64-linux = "530df3030aeb2c0f67ba4bc210c0f0fe77670001d2ba30ad6858f74952528df2";
+    x86_64-linux = "c3f91ced7e429079d43c182f47cea1eceef17ab65c390e15f9c6af56e58ed3d9";
+    i686-linux = "d66881d0747c99618c500b46e044eb4e97442400624fbcf9a6af114743e6e8db";
+    x86_64-darwin = "15db43c17a33bf9e31f66f5025e0810dfbd2b237f7645eda51409de7930cc9d1";
+    aarch64-darwin = "a5f7b8cc5f6dfc7561368d2f09745967bb553a29a22ef74af8f795225483338a";
+    headers = "0rxbij6qvi0xzcmbxf3fm1snvakaxp9c512z9ni36y98sgg4s3l8";
+  };
+
+  electron_15 = mkElectron "15.3.7" {
+    armv7l-linux = "1cc5ce2ab6d795271f54e67a78eec607c0a14761ee1177078a157abad7aa61e6";
+    aarch64-linux = "caf7146c738207b78ea63e95fa055f36829bb360e2d81fce10513fae238f2750";
+    x86_64-linux = "e424dded1ac545634128bfb5c6195807aa96b7761be95f52ed760886f42874cc";
+    i686-linux = "9f1898f9c96672076a87ca559dd11788964347fd17316f0c24f75c9c53985ce5";
+    x86_64-darwin = "282f8737fdc73a3ddc82f56b4affc9f6fefec1b233e532e08d206344b657cd8a";
+    aarch64-darwin = "d64e12c680d60b535fea7de4322504db04a83e63e8557d8e9b3677a334911752";
+    headers = "0nfk75r72p5dgz0rdyqfqjmlwn2wlgn7h93a1v5ghjpwn1rp89m7";
   };
 
-  electron_15 = mkElectron "15.3.6" {
-    armv7l-linux = "4c105be3dc38ea8899f9fe58c05dfbf20e0d43e9b35ca815c43329d17b714d36";
-    aarch64-linux = "3d06de32f02e38039c3c9deb418e3b9dbcda30f387f27e54fb1f1be068b80989";
-    x86_64-linux = "5a9a3e37e92ad67d2a4ebb5ac85cb817d682fe2ca0b37b924d7f40085d246cc9";
-    i686-linux = "32ff47793c8123fa6220ff9e7c524e3b89c0411e94bdb4d9391038cc58449b5f";
-    x86_64-darwin = "faff636a6deedc3b7a3c900aef187baaeec2b83ccc405c56e3ea18d68894b82c";
-    aarch64-darwin = "ae7350a7daa6eb2d21fa001c38217bc46a3894f843962c5cca192b837cc9d81c";
-    headers = "1mbffk26kdn1id809sdg1kdhrf285zm9ls40b5zaflcljvqg3i2x";
+  electron_16 = mkElectron "16.0.9" {
+    armv7l-linux = "7071f18230f5d4bbf84d3f1955056f2a6952e5487dfdecb51708e419c0b1a594";
+    aarch64-linux = "a7873d1cb2b632c9c48a6942bf4a436463c07cc488f4b0b4575e0e4a496c357d";
+    x86_64-linux = "06d57bc1e59ebe046d5731d64eb67c41e793731e67aefbf33f4e3c23139285d4";
+    i686-linux = "8603545bdaec512380050ce6f9f1ef283514b960c8d6c8682eaa6563d93705b2";
+    x86_64-darwin = "d092af5e5fddb295e9ebb9b639006deec125b1f6b30896d22e98b84e5a74af40";
+    aarch64-darwin = "62fd4d033fd0ad62d1c13ac219bd68e76b1625c305097c7aa2ab799f45c9e879";
+    headers = "0d0jkjjfq32j09bjlpmx1hvi20rh8yfkfm7hfcv3xs831physbj5";
   };
 
-  electron_16 = mkElectron "16.0.8" {
-    armv7l-linux = "be3a598d5f7c677c11831b78a8a82d95132ea760bb643e526426b91fdf27aff7";
-    aarch64-linux = "465cd93d69ea2e3273339d48bef58e7359b692da5535bff5882e803c22535ec5";
-    x86_64-linux = "25767a94d4b0927616ed5008889cd65bb073c7005209671b34045f91d698c857";
-    i686-linux = "1cedf35f501ea1512fe9ae5cae47a72e093b6eb7297f76b726551e4a33a593a5";
-    x86_64-darwin = "a3c5e5368165304fc9392e3a5b59480965cf0f91f7d889257e6a622f48051cbf";
-    aarch64-darwin = "dc8414d7b9a967bda530c83a81720519931aebf541cfaed142ee2042c16e683a";
-    headers = "042gz036dzwbvvxvgbgkdb5nq7p8a7vcan6c35l7imgv1hd4g5v4";
+  electron_17 = mkElectron "17.0.1" {
+    armv7l-linux = "0867f74427152c3b4110e11c9ce38e351531554868f62665b064f3d1dae5fd00";
+    aarch64-linux = "7715f7eaaa287f83b945f491c2ca1eb0befed93725d81c85d06f8584db3a6cc4";
+    x86_64-linux = "de789f548d6cc2ddff8db53b3bbfaac5631e90f14506935d2d7fafedf82e5adf";
+    i686-linux = "4e81ce43552f22e271527d5f7ab84db6dda61c0922f8b6350e44fa52967f2dd9";
+    x86_64-darwin = "d270858938e2f0e68479d91384e6f4d01be1d4e22b305dc2023ecd1a5e113d17";
+    aarch64-darwin = "aecf14a88ede956e93fee5b48b773ad4d8d6605424c9d69a45950b673c89f8ca";
+    headers = "1c3fl9fxmhkhvm825vmyxm8dm89xfy4iwqrb4ifmv5cz9dh9b9a8";
   };
 }
diff --git a/pkgs/development/tools/electron/generic.nix b/pkgs/development/tools/electron/generic.nix
index 004774334b9..08edf8a3092 100644
--- a/pkgs/development/tools/electron/generic.nix
+++ b/pkgs/development/tools/electron/generic.nix
@@ -15,6 +15,7 @@
 , libxkbcommon
 , libappindicator-gtk3
 , libxshmfence
+, libglvnd
 }:
 
 version: hashes:
@@ -28,7 +29,7 @@ let
     maintainers = with maintainers; [ travisbhartwell manveru prusnak ];
     platforms = [ "x86_64-darwin" "x86_64-linux" "i686-linux" "armv7l-linux" "aarch64-linux" ]
       ++ optionals (versionAtLeast version "11.0.0") [ "aarch64-darwin" ];
-    knownVulnerabilities = optional (versionOlder version "13.0.0") "Electron version ${version} is EOL";
+    knownVulnerabilities = optional (versionOlder version "14.0.0") "Electron version ${version} is EOL";
   };
 
   fetcher = vers: tag: hash: fetchurl {
@@ -64,6 +65,7 @@ let
     ++ optionals (! versionOlder version "9.0.0") [ libdrm mesa ]
     ++ optionals (! versionOlder version "11.0.0") [ libxkbcommon ]
     ++ optionals (! versionOlder version "12.0.0") [ libxshmfence ]
+    ++ optionals (! versionOlder version "17.0.0") [ libglvnd ]
   );
 
   linux = {
diff --git a/pkgs/development/tools/esbuild/default.nix b/pkgs/development/tools/esbuild/default.nix
index 9970fb77cbc..82e69c2d91e 100644
--- a/pkgs/development/tools/esbuild/default.nix
+++ b/pkgs/development/tools/esbuild/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "esbuild";
-  version = "0.14.13";
+  version = "0.14.23";
 
   src = fetchFromGitHub {
     owner = "evanw";
     repo = "esbuild";
     rev = "v${version}";
-    sha256 = "sha256-DBu6j8UjbRVMoT0j/WwtVlJ+k3VwVKFbX2tdUs0neDs=";
+    sha256 = "sha256-7J8l4PCXDSddlUdMYaTo3KQjhUl1IRpks0iMiYxJzD4=";
   };
 
   vendorSha256 = "sha256-QPkBR+FscUc3jOvH7olcGUhM6OW4vxawmNJuRQxPuGs=";
diff --git a/pkgs/development/tools/faas-cli/default.nix b/pkgs/development/tools/faas-cli/default.nix
index 236404e9472..c4b0b656953 100644
--- a/pkgs/development/tools/faas-cli/default.nix
+++ b/pkgs/development/tools/faas-cli/default.nix
@@ -38,13 +38,5 @@ buildGoModule rec {
     description = "Official CLI for OpenFaaS ";
     license = licenses.mit;
     maintainers = with maintainers; [ welteki ];
-    platforms = [
-      "x86_64-linux"
-      "x86_64-darwin"
-      "aarch64-linux"
-      "aarch64-darwin"
-      "armv7l-linux"
-      "armv6l-linux"
-    ];
   };
 }
diff --git a/pkgs/development/tools/fnm/default.nix b/pkgs/development/tools/fnm/default.nix
index 68725a16c09..c83966c7d6d 100644
--- a/pkgs/development/tools/fnm/default.nix
+++ b/pkgs/development/tools/fnm/default.nix
@@ -10,20 +10,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fnm";
-  version = "1.29.2";
+  version = "1.31.0";
 
   src = fetchFromGitHub {
     owner = "Schniz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-9U0AOFlD7SROTditW/lv12BtvfstCkU5QOMA/19KG+k=";
+    sha256 = "sha256-8A6MKDeyuk0bzyoDydcOy4LzyYe/S+x+ZJMTOo59UA8=";
   };
 
   nativeBuildInputs = [ installShellFiles ];
 
   buildInputs = lib.optionals stdenv.isDarwin [ DiskArbitration Foundation Security ];
 
-  cargoSha256 = "sha256-l5H8O0OLnnv3kku/e6yK0Ps1VcIY5YoR5yFTk5w3h4k=";
+  cargoSha256 = "sha256-oiGYkRqxN6e5EG6EDQalIK0tOekyIVQ+GhxCKK0Sd3g=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/fq/default.nix b/pkgs/development/tools/fq/default.nix
index cafcc859b5e..cc80fbf74fc 100644
--- a/pkgs/development/tools/fq/default.nix
+++ b/pkgs/development/tools/fq/default.nix
@@ -1,22 +1,22 @@
 { lib
-, buildGo117Module
+, buildGoModule
 , fetchFromGitHub
 , fq
 , testVersion
 }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "fq";
-  version = "0.0.3";
+  version = "0.0.4";
 
   src = fetchFromGitHub {
     owner = "wader";
     repo = "fq";
     rev = "v${version}";
-    sha256 = "sha256-yC2Hd7sUPA7SCJNWYlD1u3u9kfTEtkFwdUrNeYoi5xU=";
+    sha256 = "sha256-mnb/9zcFSeBasGPYSGWoBhnldljGW3VK070zTO8M/uk=";
   };
 
-  vendorSha256 = "sha256-89rSpxhP35wreo+0AqM+rDICCPchF+yFVvrTtZ2Xwr4=";
+  vendorSha256 = "sha256-KPIO/ZuiwxlnjGLaEuClkDsJnx/fwW0jPDBc7aTT68A=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/development/tools/frugal/default.nix b/pkgs/development/tools/frugal/default.nix
index 715c237f494..5cb92b3b834 100644
--- a/pkgs/development/tools/frugal/default.nix
+++ b/pkgs/development/tools/frugal/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "frugal";
-  version = "3.14.13";
+  version = "3.14.15";
 
   src = fetchFromGitHub {
     owner = "Workiva";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-apX4MFzeR7+5gWauw5HXPK0c7N4uTSqkE2vqnYB5LJs=";
+    sha256 = "sha256-7840HndsU5+mWKQ/HXLVYA2dV7L8NlM7so1nk8Zdc2c=";
   };
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-4Ak+mh9ege38iO1QyxvGkYvRyU11QjphfLrit1qfu58=";
+  vendorSha256 = "sha256-vWqj2fRtaDextDstIb5GrdRn4nxQpCfjegYiVbPILuM=";
 
   meta = with lib; {
     description = "Thrift improved";
diff --git a/pkgs/development/tools/gauge/default.nix b/pkgs/development/tools/gauge/default.nix
index 168910da06f..1048ca19441 100644
--- a/pkgs/development/tools/gauge/default.nix
+++ b/pkgs/development/tools/gauge/default.nix
@@ -1,24 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "gauge";
-  version = "1.1.6";
+  version = "1.4.3";
 
-  goPackagePath = "github.com/getgauge/gauge";
   excludedPackages = ''\(build\|man\)'';
 
   src = fetchFromGitHub {
     owner = "getgauge";
     repo = "gauge";
     rev = "v${version}";
-    sha256 = "02yrk4d5mm4j2grlhqkf4grxawx91kd2vhdn7k5wd2dl6wsnlgcl";
+    sha256 = "sha256-TszZAREk6Hs2jULjftQAhHRIVKaZ8fw0NLJkBdr0FPw=";
   };
 
+  vendorSha256 = "1wp19m5n85c7lsv8rvcbfz1bv4zhhb7dj1frkdh14cqx70s33q8r";
+
   meta = with lib; {
-   description = "Light weight cross-platform test automation";
-   homepage    = "https://gauge.org";
-   license     = licenses.gpl3;
-   maintainers = [ maintainers.vdemeester ];
-   platforms   = platforms.unix;
+    description = "Light weight cross-platform test automation";
+    homepage = "https://gauge.org";
+    license = licenses.asl20;
+    maintainers = [ maintainers.vdemeester ];
+    platforms = platforms.unix;
   };
 }
diff --git a/pkgs/development/tools/ginkgo/default.nix b/pkgs/development/tools/ginkgo/default.nix
index 49404d05134..6719d710392 100644
--- a/pkgs/development/tools/ginkgo/default.nix
+++ b/pkgs/development/tools/ginkgo/default.nix
@@ -2,21 +2,36 @@
 
 buildGoModule rec {
   pname = "ginkgo";
-  version = "2.1.0";
+  version = "2.1.3";
 
   src = fetchFromGitHub {
     owner = "onsi";
     repo = "ginkgo";
     rev = "v${version}";
-    sha256 = "sha256-GF96AOyQcVI01dP6yqMwyPmXMDRVxrScu1UL76jF2qA=";
+    sha256 = "sha256-q+m1NDl9zd6ueyBTzbzlvHIQyoIul5dAfUQ6UK4wlrc=";
   };
   vendorSha256 = "sha256-kMQ60HdsorZU27qoOY52DpwFwP+Br2bp8mRx+ZwnQlI=";
-  doCheck = false;
+
+  # integration tests expect more file changes
+  # types tests are missing CodeLocation
+  excludedPackages = "\\(integration\\|types\\)";
 
   meta = with lib; {
-    description = "BDD Testing Framework for Go";
-    homepage = "https://github.com/onsi/ginkgo";
+    homepage = "https://onsi.github.io/ginkgo/";
+    changelog = "https://github.com/onsi/ginkgo/blob/master/CHANGELOG.md";
+    description = "A Modern Testing Framework for Go";
+    longDescription = ''
+      Ginkgo is a testing framework for Go designed to help you write expressive
+      tests. It is best paired with the Gomega matcher library. When combined,
+      Ginkgo and Gomega provide a rich and expressive DSL
+      (Domain-specific Language) for writing tests.
+
+      Ginkgo is sometimes described as a "Behavior Driven Development" (BDD)
+      framework. In reality, Ginkgo is a general purpose testing framework in
+      active use across a wide variety of testing contexts: unit tests,
+      integration tests, acceptance test, performance tests, etc.
+    '';
     license = licenses.mit;
-    maintainers = with maintainers; [ saschagrunert ];
+    maintainers = with maintainers; [ saschagrunert jk ];
   };
 }
diff --git a/pkgs/development/tools/go-swag/default.nix b/pkgs/development/tools/go-swag/default.nix
index 5bd02fb27df..8c340b2ccf6 100644
--- a/pkgs/development/tools/go-swag/default.nix
+++ b/pkgs/development/tools/go-swag/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-swag";
-  version = "1.6.7";
+  version = "1.8.0";
 
   src = fetchFromGitHub {
     owner = "swaggo";
     repo = "swag";
     rev = "v${version}";
-    sha256 = "17pmcfkcmgjvs4drs0fyhp2m39gw83s0ck3rdzdkgdhrbhva9ksx";
+    sha256 = "sha256-axvc3iwAfsKunheLLKmUThZh27axRh/GJRcKy9EfEBw=";
   };
 
-  vendorSha256 = "1i2n2sz2hc89nf2fqfq3swldz0xwrnms4j9q0lrss5gm3bk49q7f";
+  vendorSha256 = "sha256-QphjiJSQRULphWjrJ8RzrUblTDYL/fYoSNT3+g0tP48=";
 
   subPackages = [ "cmd/swag" ];
 
diff --git a/pkgs/development/tools/go-task/default.nix b/pkgs/development/tools/go-task/default.nix
index 05ffe14dd4d..d6e5855d992 100644
--- a/pkgs/development/tools/go-task/default.nix
+++ b/pkgs/development/tools/go-task/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "go-task";
-  version = "3.10.0";
+  version = "3.11.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = "task";
     rev = "v${version}";
-    sha256 = "sha256-E0wMFdLK8lA8oluFQuq7hPMWh4t6OsoJ14d7ErDjAdA=";
+    sha256 = "sha256-KHeZ0UH7qa+fii+sT7q9ri3DpLOKqQZqCAKQYn4l5M8=";
   };
 
-  vendorSha256 = "sha256-ClMvbxDKwwoVUC9+AJPZfBxJ26KKuLueUn9Nz/gh4Fs=";
+  vendorSha256 = "sha256-u+LeH9GijquBeYlA3f2GcyoSP/S7BtBqb8C9OgEA9fY=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/gofumpt/default.nix b/pkgs/development/tools/gofumpt/default.nix
index b807006369e..2c392296494 100644
--- a/pkgs/development/tools/gofumpt/default.nix
+++ b/pkgs/development/tools/gofumpt/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gofumpt";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NkflJwFdVcFTjXkDr8qqAFUlKwGNPTso6hvu7Vikn2U=";
+    sha256 = "sha256-S6IF/MtNCkhPHHdaQJyT78j2z4xdf4z/xLfXDmCWR2Y=";
   };
 
-  vendorSha256 = "sha256-RZPfdj+rimKGvRZKaXOirkd7ietri55rBofwa/l2z8s=";
+  vendorSha256 = "sha256-LhiCxpjySEezhcgICfgD+mABd1QXyZn3uI1Fj+eWiyo=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/golangci-lint/default.nix b/pkgs/development/tools/golangci-lint/default.nix
index 122b4e0831e..6334c00fc0b 100644
--- a/pkgs/development/tools/golangci-lint/default.nix
+++ b/pkgs/development/tools/golangci-lint/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "golangci-lint";
-  version = "1.44.0";
+  version = "1.44.2";
 
   src = fetchFromGitHub {
     owner = "golangci";
     repo = "golangci-lint";
     rev = "v${version}";
-    sha256 = "sha256-2hEru7fnc8v7F/RrOB3jFdfLPYLpm0OupzJP6iORs+U=";
+    sha256 = "sha256-RMZZLvCJcTMzHOzUfT6aEC21T5dCwu1YOUuQ9PLS3fc=";
   };
 
-  vendorSha256 = "sha256-DLvhkTYCaXfNfehEgCNKSKlKaGHo623wBnEhNeTJbmQ=";
+  vendorSha256 = "sha256-X2hZ4BQgYHI1mx/Ywky0oo7IMtrppu+rLq2LRLPH3fY=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/google-java-format/default.nix b/pkgs/development/tools/google-java-format/default.nix
index 2fa6f23be0e..35a7d7e7199 100644
--- a/pkgs/development/tools/google-java-format/default.nix
+++ b/pkgs/development/tools/google-java-format/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "google-java-format";
-  version = "1.13.0";
+  version = "1.14.0";
 
   src = fetchurl {
     url = "https://github.com/google/google-java-format/releases/download/v${version}/google-java-format-${version}-all-deps.jar";
-    sha256 = "sha256-oDask5L/by5mh5EyTCa9c5Y7CWgu1KDUy8EX/W6j/lU=";
+    sha256 = "sha256-DSfT5Yw6nZHYm0JNRn+r3iToxntGYmBhU7zQGzg+vXc=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/development/tools/gosec/default.nix b/pkgs/development/tools/gosec/default.nix
index a7eb80366c4..d9e19fdac90 100644
--- a/pkgs/development/tools/gosec/default.nix
+++ b/pkgs/development/tools/gosec/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gosec";
-  version = "2.9.6";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "securego";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-eDzLVoOPYm8WG07dfi6s+xtBliCwf1LXoHxQ10YWs1A=";
+    sha256 = "sha256-a3MDGsTqndHlT6fbUkdsBShDqWXOHQiJFUIjyMqvMq8=";
   };
 
-  vendorSha256 = "sha256-ELfbdrMMeK6ZG+hnibhHNB+k/Zvkepl+cbUx+E/Dvr8=";
+  vendorSha256 = "sha256-3ZGzVGKwnNab8wUn0fRepl4FDo43MAqNAO3zijH90/0=";
 
   subPackages = [
     "cmd/gosec"
diff --git a/pkgs/development/tools/gotests/default.nix b/pkgs/development/tools/gotests/default.nix
index faa2e60aca4..d0d5025b31a 100644
--- a/pkgs/development/tools/gotests/default.nix
+++ b/pkgs/development/tools/gotests/default.nix
@@ -1,25 +1,25 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "gotests";
-  version = "1.5.3";
-  rev = "v${version}";
-
-  goPackagePath = "github.com/cweill/gotests";
-  excludedPackages = "testdata";
-  goDeps = ./deps.nix;
+  version = "1.6.0";
 
   src = fetchFromGitHub {
-    inherit rev;
     owner = "cweill";
     repo = "gotests";
-    sha256 = "1c0hly31ax0wk01zdx0l0yl40xybaizjfb3gjxia2z0mgx330dq9";
+    rev = "v${version}";
+    sha256 = "sha256-6IzUpAsFUgF2FwiC17OfDn1M+8WYFQPpRyXbkpHIztw=";
   };
 
-  meta = {
+  vendorSha256 = "sha256-WMeHZN3s+8pIYEVaSLjI3Bz+rPTWHr1AkZ8lydjBwCw=";
+
+  # tests are broken in nix environment
+  doCheck = false;
+
+  meta = with lib; {
     description = "Generate Go tests from your source code";
     homepage = "https://github.com/cweill/gotests";
-    maintainers = with lib.maintainers; [ vdemeester ];
-    license = lib.licenses.asl20;
+    maintainers = with maintainers; [ vdemeester ];
+    license = licenses.asl20;
   };
 }
diff --git a/pkgs/development/tools/gotests/deps.nix b/pkgs/development/tools/gotests/deps.nix
deleted file mode 100644
index df411303d94..00000000000
--- a/pkgs/development/tools/gotests/deps.nix
+++ /dev/null
@@ -1,12 +0,0 @@
-# This file was generated by https://github.com/kamilchm/go2nix v1.3.0
-[
-  {
-    goPackagePath = "golang.org/x/tools";
-    fetch = {
-      type = "git";
-      url = "https://go.googlesource.com/tools";
-      rev = "23463209683dad3f2b9cc7f7c2663e1847c59017";
-      sha256 = "1shzfl4zixhj78v4f6y04bcmfl705yr5q8hp72ndbbma0mh09g8f";
-    };
-  }
-]
diff --git a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
index f8f1f85b270..8c8f016510f 100644
--- a/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
+++ b/pkgs/development/tools/haskell/haskell-language-server/withWrapper.nix
@@ -2,6 +2,7 @@
 , stdenv
 , supportedGhcVersions ? [ "884" "8107" "902" ]
     ++ lib.optionals (!stdenv.hostPlatform.isAarch64) [ "921" ]
+, dynamic ? false
 , haskellPackages
 , haskell
 }:
@@ -13,19 +14,23 @@
 # for example. Read more about this in the haskell-language-server section of the nixpkgs manual.
 #
 let
-  inherit (lib) concatStringsSep concatMapStringsSep take splitString;
+  inherit (lib) concatStringsSep concatMapStringsSep take splitString pipe optionals;
+  inherit (haskell.lib.compose) justStaticExecutables overrideCabal enableCabalFlag disableCabalFlag;
   getPackages = version: haskell.packages."ghc${version}";
   tunedHls = hsPkgs:
-    haskell.lib.compose.justStaticExecutables
-    (haskell.lib.compose.overrideCabal (old: {
-      postInstall = ''
-        remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server
-        remove-references-to -t ${hsPkgs.shake.data} $out/bin/haskell-language-server
-        remove-references-to -t ${hsPkgs.js-jquery.data} $out/bin/haskell-language-server
-        remove-references-to -t ${hsPkgs.js-dgtable.data} $out/bin/haskell-language-server
-        remove-references-to -t ${hsPkgs.js-flot.data} $out/bin/haskell-language-server
-      '';
-    }) hsPkgs.haskell-language-server);
+    lib.pipe hsPkgs.haskell-language-server ([
+      (haskell.lib.compose.overrideCabal (old: {
+        enableSharedExecutables = dynamic;
+        ${if !dynamic then "postInstall" else null} = ''
+          ${old.postInstall or ""}
+
+          remove-references-to -t ${hsPkgs.ghc} $out/bin/haskell-language-server
+        '';
+      }))
+      ((if dynamic then enableCabalFlag else disableCabalFlag) "dynamic")
+    ] ++ optionals (!dynamic) [
+      justStaticExecutables
+    ]);
   targets = version:
     let packages = getPackages version;
     in [
diff --git a/pkgs/development/tools/java/visualvm/default.nix b/pkgs/development/tools/java/visualvm/default.nix
index 7f89961f9f8..ee72bc62efa 100644
--- a/pkgs/development/tools/java/visualvm/default.nix
+++ b/pkgs/development/tools/java/visualvm/default.nix
@@ -15,7 +15,7 @@ stdenv.mkDerivation rec {
       comment = "Java Troubleshooting Tool";
       desktopName = "VisualVM";
       genericName = "Java Troubleshooting Tool";
-      categories = "Development;";
+      categories = [ "Development" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/jd-diff-patch/default.nix b/pkgs/development/tools/jd-diff-patch/default.nix
index dae3cbea3e3..96fd79d62fc 100644
--- a/pkgs/development/tools/jd-diff-patch/default.nix
+++ b/pkgs/development/tools/jd-diff-patch/default.nix
@@ -2,19 +2,19 @@
 
 buildGoModule rec {
   pname = "jd-diff-patch";
-  version = "1.4.0";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner  = "josephburnett";
     repo   = "jd";
     rev    = "v${version}";
-    sha256 = "sha256-OAy4IS2JZYYPeJITNHZKiYEapzGqqYPDBCLflLYetzg=";
+    sha256 = "sha256-nYV72EgYgXWyGp2s09BlaRmOy6aSMtmrTvWCxk9znp0=";
   };
 
   # not including web ui
   excludedPackages = [ "gae" "pack" ];
 
-  vendorSha256 = "sha256-w3mFra7Je+8qIDQMSyUYucoLZ6GtrZmr56O6xmihIYc=";
+  vendorSha256 = "sha256-uoMOkCmJY417zxkTsXHGy+BZ/BH29nH4MhFaIKofh4k=";
 
   doCheck = true;
 
diff --git a/pkgs/development/tools/jfmt/default.nix b/pkgs/development/tools/jfmt/default.nix
new file mode 100644
index 00000000000..cf1292b4b12
--- /dev/null
+++ b/pkgs/development/tools/jfmt/default.nix
@@ -0,0 +1,22 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "jfmt";
+  version = "1.2.0";
+
+  src = fetchFromGitHub {
+    owner = "scruffystuffs";
+    repo = "${pname}.rs";
+    rev = version;
+    sha256 = "07qb0sjwww6d2n7fw8w4razq1mkn4psrs9wqi1ccndrya1y39d8b";
+  };
+
+  cargoSha256 = "19kg2n53y9nazwpp8gcvdprxry2llf2k7g4q4zalyxkhpf7k6irb";
+
+  meta = with lib; {
+    description = "CLI utility to format json files";
+    homepage = "https://github.com/scruffystuffs/jfmt.rs";
+    license = licenses.mit;
+    maintainers = [ maintainers.psibi ];
+  };
+}
diff --git a/pkgs/development/tools/jless/default.nix b/pkgs/development/tools/jless/default.nix
new file mode 100644
index 00000000000..f18f3f556c5
--- /dev/null
+++ b/pkgs/development/tools/jless/default.nix
@@ -0,0 +1,22 @@
+{ lib, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "jless";
+  version = "0.7.2";
+
+  src = fetchFromGitHub {
+    owner = "PaulJuliusMartinez";
+    repo = "jless";
+    rev = "v${version}";
+    sha256 = "sha256-IK+EllkctdhIYuzj7eLjadxKoutICPeSXAjLMFiRjmo=";
+  };
+
+  cargoSha256 = "sha256-CAyKWwtMq5UOODVRrpVHrhlep2wqG434dMGeYV2FSZY=";
+
+  meta = with lib; {
+    description = "A command-line pager for JSON data";
+    homepage = "https://github.com/PaulJuliusMartinez/jless";
+    license = licenses.mit;
+    maintainers = with maintainers; [ jfchevrette zowoq ];
+  };
+}
diff --git a/pkgs/development/tools/jpexs/default.nix b/pkgs/development/tools/jpexs/default.nix
index 5c3e2046bdb..8c0d20d328d 100644
--- a/pkgs/development/tools/jpexs/default.nix
+++ b/pkgs/development/tools/jpexs/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jpexs";
-  version = "11.3.0";
+  version = "15.0.0";
 
   src = fetchzip {
     url = "${meta.homepage}/releases/download/version${version}/ffdec_${version}.zip";
-    sha256 = "0d1xmq21vdpn0glwfzr00s62ic8jynmgmgxl0m1834xqf3ma0ihv";
+    sha256 = "1w8sh0dzln6mxcbibyw6r9f9c8g0cbwxq4qbm5kawq00yydvwfza";
     stripRoot = false;
   };
 
@@ -36,10 +36,8 @@ stdenv.mkDerivation rec {
     desktopName = "JPEXS Free Flash Decompiler";
     genericName = "Flash Decompiler";
     comment = meta.description;
-    categories = "Development;Java;";
-    extraEntries = ''
-      StartupWMClass=com-jpexs-decompiler-flash-gui-Main
-    '';
+    categories = [ "Development" "Java" ];
+    startupWMClass = "com-jpexs-decompiler-flash-gui-Main";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/jql/default.nix b/pkgs/development/tools/jql/default.nix
index 2dd2b0cdc26..7af7e36b223 100644
--- a/pkgs/development/tools/jql/default.nix
+++ b/pkgs/development/tools/jql/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "jql";
-  version = "3.0.6";
+  version = "3.1.0";
 
   src = fetchFromGitHub {
     owner = "yamafaktory";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3WLbFKK4gRpPjU/qnfRYGvI2o/ASPph8I2ISEbahpCM=";
+    sha256 = "sha256-mFTJJCoC5nxo5ugJdi+MmssV70yKrQQsH+a+K7hTyS8=";
   };
 
-  cargoSha256 = "sha256-SYsT4/UaUCgmHJPWfSBf1EBJ7aOiRtWDAFjYEhtI2X4=";
+  cargoSha256 = "sha256-aclfFy2tQL57EaIsg1e30JCF5nX2Cm/MaxeSPtR/Uas=";
 
   meta = with lib; {
     description = "A JSON Query Language CLI tool built with Rust";
diff --git a/pkgs/development/tools/just/default.nix b/pkgs/development/tools/just/default.nix
index 410660cb459..bc77416896d 100644
--- a/pkgs/development/tools/just/default.nix
+++ b/pkgs/development/tools/just/default.nix
@@ -2,29 +2,20 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "just";
-  version = "0.10.7";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "casey";
     repo = pname;
     rev = version;
-    sha256 = "sha256-53dyy/jpmQCjOoZ9Wvec0iQMWKVVrt1WQDCGhXH53Mg=";
+    sha256 = "sha256-Q5ROUXOeqZfIZdrYwP3uaCy+Nh1FggJRUaNF0mMN7d4=";
   };
 
-  cargoSha256 = "sha256-cDwuhOJ5/SFCQKJqmN6rPYahW/ctjE0hFr6SpgVzyis=";
+  cargoSha256 = "sha256-sCijb9/Of38IebulGmdqSewBRrOCH4RzFopFC0cOPrI=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
-  postInstall = ''
-    installManPage man/just.1
-
-    installShellCompletion --cmd just \
-      --bash completions/just.bash \
-      --fish completions/just.fish \
-      --zsh  completions/just.zsh
-  '';
-
   checkInputs = [ coreutils bash ];
 
   preCheck = ''
@@ -49,10 +40,17 @@ rustPlatform.buildRustPackage rec {
     "--skip=edit" # trying to run "vim" fails as there's no /usr/bin/env or which in the sandbox to find vim and the dependency is not easily patched
     "--skip=run_shebang" # test case very rarely fails with "Text file busy"
     "--skip=invoke_error_function" # wants JUST_CHOOSER to be fzf
-    "--skip=status_error" # "exit status" instead of "exit code"
-    "--skip=exit_status" # "exit status" instead of "exit code"
   ];
 
+  postInstall = ''
+    installManPage man/just.1
+
+    installShellCompletion --cmd just \
+      --bash completions/just.bash \
+      --fish completions/just.fish \
+      --zsh completions/just.zsh
+  '';
+
   meta = with lib; {
     homepage = "https://github.com/casey/just";
     changelog = "https://github.com/casey/just/blob/${version}/CHANGELOG.md";
diff --git a/pkgs/development/tools/k6/default.nix b/pkgs/development/tools/k6/default.nix
index 82ae89a699e..d50062e4bdb 100644
--- a/pkgs/development/tools/k6/default.nix
+++ b/pkgs/development/tools/k6/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "k6";
-  version = "0.35.0";
+  version = "0.36.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mSVU/0OdlEfGWxO6Gn/Ji7k2pMO5jWTfxFujN08bZjU=";
+    sha256 = "sha256-yWEh0sPMGe6mNcLKhbmJEUCHzZKFGMcTRNQrHgiQ+BQ=";
   };
 
   subPackages = [ "./" ];
diff --git a/pkgs/development/tools/ko/default.nix b/pkgs/development/tools/ko/default.nix
index ab206a090bb..a7562429db5 100644
--- a/pkgs/development/tools/ko/default.nix
+++ b/pkgs/development/tools/ko/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "ko";
-  version = "0.9.3";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-cIrlhhk5Lt0Qt7q7rKw8EXrJqZWZEjrEUyHOvHiT6bs=";
+    sha256 = "sha256-Xhe5WNHQ+Oa1m/6VwC3zCwWzXRc1spSfPp4jySsOcuU=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/development/tools/konstraint/default.nix b/pkgs/development/tools/konstraint/default.nix
index a08b10c1950..d83f6db701a 100644
--- a/pkgs/development/tools/konstraint/default.nix
+++ b/pkgs/development/tools/konstraint/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "konstraint";
-  version = "0.16.0";
+  version = "0.18.0";
 
   src = fetchFromGitHub {
     owner = "plexsystems";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-j1rVkI5hXYtY0jtP+i/yRw1sS3iN3KyVI4gV9fNdj/E=";
+    sha256 = "sha256-UHdmC6UoDxl/GfvUOmuBctPpxIYljOurnm1J3eEPFHA=";
   };
-  vendorSha256 = "sha256-oYIUeHMEK55mCkf5cb5ECCU5y6tUZAM258sINrBl9kM=";
+  vendorSha256 = "sha256-UssvmmZhq+SO3cPpZi3Diji7tIxrpyhqNIBajqzRjh8=";
 
   # Exclude go within .github folder
   excludedPackages = ".github";
diff --git a/pkgs/development/tools/krew/default.nix b/pkgs/development/tools/krew/default.nix
index 69efbb3d209..78e9f91b3af 100644
--- a/pkgs/development/tools/krew/default.nix
+++ b/pkgs/development/tools/krew/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "krew";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = "krew";
     rev = "v${version}";
-    sha256 = "sha256-P4b8HMkqxzYKz9OgI4pNCjR9Wakh+kIIAnUAkayzGEo=";
+    sha256 = "sha256-aW9yASskwDt+5Lvsdju9ZR/HeZ4x8heWljdhqK0ZTx8=";
   };
 
-  vendorSha256 = "sha256-FQQCHq9f0yY8vSsvWIR7WKq+0c+dgGEnoQmXtoN6Ep0=";
+  vendorSha256 = "sha256-VXGjKzkOpaxyJClwXbxg15xmGdFi6arH8f4nN5/1SA4=";
 
   subPackages = [ "cmd/krew" ];
 
diff --git a/pkgs/development/tools/ktlint/default.nix b/pkgs/development/tools/ktlint/default.nix
index 21ab6ddf188..73fdb3dff8f 100644
--- a/pkgs/development/tools/ktlint/default.nix
+++ b/pkgs/development/tools/ktlint/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ktlint";
-  version = "0.43.2";
+  version = "0.44.0";
 
   src = fetchurl {
     url = "https://github.com/pinterest/ktlint/releases/download/${version}/ktlint";
-    sha256 = "sha256-HXTkYwN6U8xyxgFnj69nLSpbDCqWUWeSuqlZbquRD6o=";
+    sha256 = "1l2pmvqw8rjl2xmsdp31j8015clshab6p81i3i05h40rjjz57mvr";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/kubepug/default.nix b/pkgs/development/tools/kubepug/default.nix
index d14ba450103..82a130181e0 100644
--- a/pkgs/development/tools/kubepug/default.nix
+++ b/pkgs/development/tools/kubepug/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "kubepug";
   version = "1.3.2";
 
diff --git a/pkgs/development/tools/kustomize/default.nix b/pkgs/development/tools/kustomize/default.nix
index f82c20dccf8..ef258b736c9 100644
--- a/pkgs/development/tools/kustomize/default.nix
+++ b/pkgs/development/tools/kustomize/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "kustomize";
-  version = "4.4.1";
+  version = "4.5.2";
   # rev is the commit of the tag, mainly for kustomize version command output
   rev = "b2d65ddc98e09187a8e38adc27c30bab078c1dbf";
 
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "kustomize/v${version}";
-    sha256 = "sha256-gq5SrI1f6ctGIL0Arf8HQMfgnlglwWlsn1r27Ug70gs=";
+    sha256 = "sha256-l24uKKcTt5b7V/IHjJNMtVce55CEGdZVYlCzjUnEp1A=";
   };
 
   doCheck = true;
@@ -25,7 +25,7 @@ buildGoModule rec {
   # avoid finding test and development commands
   sourceRoot = "source/kustomize";
 
-  vendorSha256 = "sha256-2GbRk7A8VwGONmL74cc2TA+MLyJrSSOQPLaded5s90k=";
+  vendorSha256 = "sha256-GR1ohesxjxpMl1B7hWtBUAWWU8X7wHPAKdMoGM5L/VQ=";
 
   meta = with lib; {
     description = "Customization of kubernetes YAML configurations";
diff --git a/pkgs/development/tools/lazygit/default.nix b/pkgs/development/tools/lazygit/default.nix
index 5eb03edd6d0..1902d9e969c 100644
--- a/pkgs/development/tools/lazygit/default.nix
+++ b/pkgs/development/tools/lazygit/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "lazygit";
-  version = "0.32.2";
+  version = "0.33";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-tawsBfHz6gq8va9YLtCwp9Ec8EWcvhdbYwdVtvvtJeY=";
+    sha256 = "sha256-ltkBzhlxgNzioSBnlkBu9UtBHZlxFtnYlUhg/+lV0gc=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/mani/default.nix b/pkgs/development/tools/mani/default.nix
index 1615c798286..aa047c2471c 100644
--- a/pkgs/development/tools/mani/default.nix
+++ b/pkgs/development/tools/mani/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mani";
-  version = "0.11.1";
+  version = "0.12.2";
 
   src = fetchFromGitHub {
     owner = "alajmo";
     repo = "mani";
     rev = "v${version}";
-    sha256 = "sha256-9SvjgXQADDNyv8O9KKE3gKXu67Nz5LepayUXSbWwEoY=";
+    sha256 = "sha256-sjudHGqSCgwafyT8alrGvTdC3yM2zmbRcYshxSm23Ko=";
   };
 
-  vendorSha256 = "sha256-cuAZN08A2nND9d4c9w+kTqiMB9yaJ49Q0aT/V0J9FRw=";
+  vendorSha256 = "sha256-NnXQAf8m2cGLvwSOzQWXffiG1zyVqDPQnGAeqe7EUHY=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
diff --git a/pkgs/development/tools/mars-mips/default.nix b/pkgs/development/tools/mars-mips/default.nix
index 6bca1fa64ee..fa98ab9da8f 100644
--- a/pkgs/development/tools/mars-mips/default.nix
+++ b/pkgs/development/tools/mars-mips/default.nix
@@ -20,7 +20,7 @@ stdenvNoCC.mkDerivation rec {
       exec = "mars-mips";
       icon = "mars-mips";
       comment = "An IDE for programming in MIPS assembly language";
-      categories = "Development;IDE;";
+      categories = [ "Development" "IDE" ];
     })
   ];
 
@@ -43,7 +43,7 @@ stdenvNoCC.mkDerivation rec {
     description = "An IDE for programming in MIPS assembly language intended for educational-level use";
     homepage = "https://courses.missouristate.edu/KenVollmar/MARS/";
     license = licenses.mit;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/mask/default.nix b/pkgs/development/tools/mask/default.nix
index 25ab4ceab5f..ed1b80787c4 100644
--- a/pkgs/development/tools/mask/default.nix
+++ b/pkgs/development/tools/mask/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mask";
-  version = "0.11.0";
+  version = "0.11.1";
 
   src = fetchFromGitHub {
     owner = "jakedeichert";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0gsfs837nzh71df6p6klcsgxp471c8hq14xqd62q5bsv7jg9dygc";
+    sha256 = "sha256-qRN9M/DxkxcF1/dmYqmf3qB8yHzuaN3LRENy1ehgg0c=";
   };
 
-  cargoSha256 = "1h4sasqdl3rli0v6lizdci0vvr2fvbyhllddxwv8vx8r7w9ry963";
+  cargoSha256 = "sha256-7ts63n9aGtaK8INBh11TShOQCVpV+82VADmNbKURv+g=";
 
   # tests require mask to be installed
   doCheck = false;
diff --git a/pkgs/development/tools/metal-cli/default.nix b/pkgs/development/tools/metal-cli/default.nix
index 0163b616f14..a52a2a141c3 100644
--- a/pkgs/development/tools/metal-cli/default.nix
+++ b/pkgs/development/tools/metal-cli/default.nix
@@ -2,15 +2,19 @@
 
 buildGoModule rec {
   pname = "metal-cli";
-  version = "0.7.1";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "equinix";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-Ekwucff12FIjaZ8qDvonhTdz7+DRpPLMGz2yqaCy+Bc=";
+    sha256 = "sha256-PsTQuEbo1ReWwZV4D14mEGsU99j49kleiL/6Xyk+g9s=";
   };
 
+  ldflags = [
+    "-X github.com/equinix/metal-cli/cmd.Version=${version}"
+  ];
+
   vendorSha256 = "sha256-F8d5i9jvjY11Pv6w0ZXI3jr0Wix++B/w9oRTuJGpQfE=";
 
   doCheck = false;
diff --git a/pkgs/development/tools/minizinc/default.nix b/pkgs/development/tools/minizinc/default.nix
index 06a6bd3dfd5..2cb43f115a2 100644
--- a/pkgs/development/tools/minizinc/default.nix
+++ b/pkgs/development/tools/minizinc/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchFromGitHub, cmake, flex, bison }:
 stdenv.mkDerivation rec {
   pname = "minizinc";
-  version = "2.5.5";
+  version = "2.6.0";
 
   nativeBuildInputs = [ cmake flex bison ];
 
@@ -9,7 +9,7 @@ stdenv.mkDerivation rec {
     owner = "MiniZinc";
     repo = "libminizinc";
     rev = version;
-    sha256 = "sha256-9z2E6KqOys9UUXlXWB4eDhg34kS3PhUB1Dd1F6iGYoE=";
+    sha256 = "sha256-eeviSmbXSZdW27IGZ2EZjV9eKn6aW1wxzhiRC/LaOX4=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/blackfire/php-probe.nix b/pkgs/development/tools/misc/blackfire/php-probe.nix
index 5eec86d0247..c66c2a5bfd8 100644
--- a/pkgs/development/tools/misc/blackfire/php-probe.nix
+++ b/pkgs/development/tools/misc/blackfire/php-probe.nix
@@ -19,11 +19,11 @@ let
   }.${lib.versions.majorMinor php.version} or (throw "Unsupported PHP version.");
 in stdenv.mkDerivation rec {
   pname = "php-blackfire";
-  version = "1.72.0";
+  version = "1.74.0";
 
   src = fetchurl {
     url = "https://packages.blackfire.io/debian/pool/any/main/b/blackfire-php/blackfire-php_${version}_amd64.deb";
-    sha256 = "FczlRevMn3VGCW+mtIqjGMNZKjsqzCGW3DQLQG7dJ8c=";
+    sha256 = "79uOQmTovGbY0NLpc3m/xFULS899u2XdR16qd8L4FLw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/development/tools/misc/cflow/default.nix b/pkgs/development/tools/misc/cflow/default.nix
index 92a812d5a21..ab9966c6fca 100644
--- a/pkgs/development/tools/misc/cflow/default.nix
+++ b/pkgs/development/tools/misc/cflow/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cflow";
-  version = "1.6";
+  version = "1.7";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.bz2";
-    sha256 = "1mzd3yf0dfv8h2av5vsxxlhpk21nw064h91b2kgfrdz92r0pnj1l";
+    sha256 = "sha256-0BFGyvkAHiZhM0F8KoJYpktfwW/LCCoU9lKCBNDJcIY=";
   };
 
   patchPhase = ''
diff --git a/pkgs/development/tools/misc/cgdb/default.nix b/pkgs/development/tools/misc/cgdb/default.nix
index 0e92d373c0b..e8136be0eb4 100644
--- a/pkgs/development/tools/misc/cgdb/default.nix
+++ b/pkgs/development/tools/misc/cgdb/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cgdb";
-  version = "0.7.1";
+  version = "0.8.0";
 
   src = fetchurl {
     url = "https://cgdb.me/files/${pname}-${version}.tar.gz";
-    sha256 = "1671gpz5gx5j0zga8xy2x7h33vqh3nij93lbb6dbb366ivjknwmv";
+    sha256 = "sha256-DTi1JNN3JXsQa61thW2K4zBBQOHuJAhTQ+bd8bZYEfE=";
   };
 
   buildInputs = [ ncurses readline flex texinfo ];
diff --git a/pkgs/development/tools/misc/circleci-cli/default.nix b/pkgs/development/tools/misc/circleci-cli/default.nix
index 5e7d4e348fd..5184f22aecd 100644
--- a/pkgs/development/tools/misc/circleci-cli/default.nix
+++ b/pkgs/development/tools/misc/circleci-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "circleci-cli";
-  version = "0.1.16535";
+  version = "0.1.16947";
 
   src = fetchFromGitHub {
     owner = "CircleCI-Public";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-IsFvUWNuQsECh47M6wDpuyDYXrKKaZp2SSmEGFryzM0=";
+    sha256 = "sha256-RGkC1XhrssrX4IBh1OrzEowvbPPUK7jXZxxa+FEV/WE=";
   };
 
   vendorSha256 = "sha256-7u2y1yBVpXf+D19tslD4s3B1KmABl4OWNzzLaBNL/2U=";
diff --git a/pkgs/development/tools/misc/clojure-lsp/default.nix b/pkgs/development/tools/misc/clojure-lsp/default.nix
index 4841c48d0ee..6a372fb40f1 100644
--- a/pkgs/development/tools/misc/clojure-lsp/default.nix
+++ b/pkgs/development/tools/misc/clojure-lsp/default.nix
@@ -2,18 +2,18 @@
 
 buildGraalvmNativeImage rec {
   pname = "clojure-lsp";
-  version = "2022.02.01-16.53.14";
+  version = "2022.02.23-12.12.12";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-VyDnDlK40Sj/0cethclnRlKc5tOentAEUzjDOqbItpo=";
+    sha256 = "sha256-PfO1G66Z3zQ+Hyjb6J0bomsT8juQURwF2mPKJY5auMw=";
   };
 
   jar = fetchurl {
     url = "https://github.com/clojure-lsp/clojure-lsp/releases/download/${version}/clojure-lsp-standalone.jar";
-    sha256 = "sha256-gIG8sjf55aRo4xI/RFrxhzLSD6RHzn/YGG9+gWrXcgE=";
+    sha256 = "sha256-f8bEALl9j0aDkKZtThLTseqibeYIUeOx4ulelPWQkoo=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/tools/misc/ddd/default.nix b/pkgs/development/tools/misc/ddd/default.nix
index ecb198d7248..49186c75c9a 100644
--- a/pkgs/development/tools/misc/ddd/default.nix
+++ b/pkgs/development/tools/misc/ddd/default.nix
@@ -26,6 +26,6 @@ stdenv.mkDerivation rec {
     description = "Graphical front-end for command-line debuggers";
     license = lib.licenses.gpl3Plus;
     platforms = lib.platforms.linux;
-    maintainers = with lib.maintainers; [ angustrau ];
+    maintainers = with lib.maintainers; [ emilytrau ];
   };
 }
diff --git a/pkgs/development/tools/misc/direvent/default.nix b/pkgs/development/tools/misc/direvent/default.nix
index 2763a1eaa21..79a238ad0c0 100644
--- a/pkgs/development/tools/misc/direvent/default.nix
+++ b/pkgs/development/tools/misc/direvent/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "direvent";
-  version = "5.2";
+  version = "5.3";
 
   src = fetchurl {
     url = "mirror://gnu/direvent/direvent-${version}.tar.gz";
-    sha256 = "0m9vi01b1km0cpknflyzsjnknbava0s1n6393b2bpjwyvb6j5613";
+    sha256 = "sha256-lAWop32kn+krvkrxi/kl/5H20zdMELfXAKAxusuUxJc=";
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/misc/epm/default.nix b/pkgs/development/tools/misc/epm/default.nix
index 8f5921783e2..b83bb8d3328 100644
--- a/pkgs/development/tools/misc/epm/default.nix
+++ b/pkgs/development/tools/misc/epm/default.nix
@@ -1,26 +1,40 @@
-{lib, stdenv, fetchFromGitHub, rpm}:
+{ lib
+, stdenv
+, fetchFromGitHub
+, fetchpatch
+, rpm
+}:
 
 stdenv.mkDerivation rec {
   pname = "epm";
-  version = "4.4";
+  version = "5.0.0";
 
   src = fetchFromGitHub {
-    repo = "epm";
-    owner = "michaelrsweet";
+    owner = "jimjag";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "0kaw7v2m20qirapkps4dna6nf9xibnwljvvv0l9vpvi920kw7j7p";
+    hash = "sha256-o4B5lWBeve+U70FDgF1DrtNrXxaEY4etkPpwbqF7fmc=";
   };
 
-  buildInputs = [ rpm ];
+  patches = [
+    # Makefile fix: INSTALL command
+    (fetchpatch {
+      url = "https://github.com/jimjag/epm/commit/dc5fcd6fa6e3a74baa28be060769a2b47f9368e7.patch";
+      sha256 = "1gfyz493w0larin841xx3xalb7m3sp1r2vv1xki6rz35ybrnb96c";
+    })
+    # Makefile fix: man pages filenames and docdir target
+    (fetchpatch {
+      url = "https://github.com/jimjag/epm/commit/96bb48d4d7b463a09d5a25debfb51c88dcd7398c.patch";
+      sha256 = "11aws0qac6vyy3w5z39vkjy4symmfzxfq9qgbgkk74fvx9vax42a";
+    })
+  ];
 
-  preInstall = ''
-    sed -i 's/README/README.md/' Makefile
-  '';
+  buildInputs = [ rpm ];
 
   meta = with lib; {
     description = "The ESP Package Manager generates distribution archives for a variety of platforms";
-    homepage = "https://www.msweet.org/projects.php?Z2";
-    license = licenses.gpl2;
+    homepage = "https://jimjag.github.io/epm/";
+    license = licenses.asl20;
     maintainers = with maintainers; [ pSub ];
     platforms = platforms.unix;
   };
diff --git a/pkgs/development/tools/misc/grcov/default.nix b/pkgs/development/tools/misc/grcov/default.nix
new file mode 100644
index 00000000000..45e1ba8e4bc
--- /dev/null
+++ b/pkgs/development/tools/misc/grcov/default.nix
@@ -0,0 +1,38 @@
+{ lib, rustPlatform, fetchFromGitHub }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "grcov";
+  version = "0.8.7";
+
+  src = fetchFromGitHub {
+    owner = "mozilla";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-4McF9tLIjDCftyGI29pm/LnTUBVWG+pY5z+mGFKySQM=";
+  };
+
+  cargoSha256 = "sha256-/filuQ4AWsKVIsXbDX7S1yhCArLNTZpOMEn3ID6WuMo=";
+
+  # tests do not find grcov path correctly
+  checkFlags = let
+    skipList = [
+      "test_coveralls_service_job_id_is_not_sufficient"
+      "test_coveralls_service_name_is_not_sufficient"
+      "test_coveralls_works_with_just_service_name_and_job_id_args"
+      "test_coveralls_works_with_just_token_arg"
+      "test_integration"
+      "test_integration_guess_single_file"
+      "test_integration_zip_dir"
+      "test_integration_zip_zip"
+    ];
+    skipFlag = test: "--skip " + test;
+  in builtins.concatStringsSep " " (builtins.map skipFlag skipList);
+
+  meta = with lib; {
+    description =
+      "Rust tool to collect and aggregate code coverage data for multiple source files";
+    homepage = "https://github.com/mozilla/grcov";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ DieracDelta ];
+  };
+}
diff --git a/pkgs/development/tools/misc/hydra/common.nix b/pkgs/development/tools/misc/hydra/common.nix
index fd1896f24b8..1ae54d629ac 100644
--- a/pkgs/development/tools/misc/hydra/common.nix
+++ b/pkgs/development/tools/misc/hydra/common.nix
@@ -137,6 +137,6 @@ in stdenv.mkDerivation rec {
     description = "Nix-based continuous build system";
     license = licenses.gpl3;
     platforms = platforms.linux;
-    maintainers = with maintainers; [ ma27 ];
+    maintainers = with maintainers; [ ];
   };
 }
diff --git a/pkgs/development/tools/misc/lttng-tools/default.nix b/pkgs/development/tools/misc/lttng-tools/default.nix
index 42ff56ed8b0..b7eabf6f9a2 100644
--- a/pkgs/development/tools/misc/lttng-tools/default.nix
+++ b/pkgs/development/tools/misc/lttng-tools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "lttng-tools";
-  version = "2.13.1";
+  version = "2.13.4";
 
   src = fetchurl {
     url = "https://lttng.org/files/lttng-tools/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-z+bffagx/Af9B85GtELC7BB0wWevc/OhsdL7oMRTyLU=";
+    sha256 = "sha256-Vl8xAkEKU9SE9Mj/UXl48dxZ9n+dFvhy9DV/PKEiAPY=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/development/tools/misc/nimlsp/default.nix b/pkgs/development/tools/misc/nimlsp/default.nix
index 0e837b8fd61..41eb9567150 100644
--- a/pkgs/development/tools/misc/nimlsp/default.nix
+++ b/pkgs/development/tools/misc/nimlsp/default.nix
@@ -2,17 +2,17 @@
 
 nimPackages.buildNimPackage rec {
   pname = "nimlsp";
-  version = "0.3.2";
+  version = "0.4.0";
   nimBinOnly = true;
 
   src = fetchFromGitHub {
     owner = "PMunch";
     repo = "nimlsp";
     rev = "v${version}";
-    sha256 = "1lm823nvpp3bj9527jd8n1jxh6y8p8ngkfkj91p94m7ffai6jazq";
+    sha256 = "sha256-eih8JmofLFXkidanRocjtA6wv84HkA1bi0M4dxkiDr4=";
   };
 
-  buildInputs = with nimPackages; [ astpatternmatching jsonschema ];
+  buildInputs = with nimPackages; [ jsonschema ];
 
   nimFlags = [
     "--threads:on"
diff --git a/pkgs/development/tools/misc/nix-build-uncached/default.nix b/pkgs/development/tools/misc/nix-build-uncached/default.nix
index 7886c7c450a..bda19f75ff0 100644
--- a/pkgs/development/tools/misc/nix-build-uncached/default.nix
+++ b/pkgs/development/tools/misc/nix-build-uncached/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "nix-build-uncached";
-  version = "1.1.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "Mic92";
     repo = "nix-build-uncached";
     rev = "v${version}";
-    sha256 = "1v9xyv0hhvfw61k4pbgzrlgy7igl619cangi40fkh7gdvs01dxz4";
+    sha256 = "sha256-9oc5zoOlwV02cY3ek+qYLgZaFQk4dPE9xgF8mAePGBI=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/misc/pwndbg/default.nix b/pkgs/development/tools/misc/pwndbg/default.nix
index 01b399e15a3..add0c7a5809 100644
--- a/pkgs/development/tools/misc/pwndbg/default.nix
+++ b/pkgs/development/tools/misc/pwndbg/default.nix
@@ -22,14 +22,14 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "pwndbg";
-  version = "2021.06.22";
+  version = "2022.01.05";
   format = "other";
 
   src = fetchFromGitHub {
     owner = "pwndbg";
     repo = "pwndbg";
     rev = version;
-    sha256 = "sha256-8jaWhpn7Q3X7FBHURX6nyOAhu+C113DnC4KBSE3FBuE=";
+    sha256 = "sha256-24WWA3wLUxylC8LkukwTOcqbpxpAg8DfrEkI3Ikyzlk=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/misc/qtspim/default.nix b/pkgs/development/tools/misc/qtspim/default.nix
index 23d33a9f81c..842cf0eb5b4 100644
--- a/pkgs/development/tools/misc/qtspim/default.nix
+++ b/pkgs/development/tools/misc/qtspim/default.nix
@@ -55,7 +55,7 @@ stdenv.mkDerivation rec {
     description = "New user interface for spim, a MIPS simulator";
     homepage = "http://spimsimulator.sourceforge.net/";
     license = licenses.bsdOriginal;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/reviewdog/default.nix b/pkgs/development/tools/misc/reviewdog/default.nix
index b39ab68f06c..24038d1c8d4 100644
--- a/pkgs/development/tools/misc/reviewdog/default.nix
+++ b/pkgs/development/tools/misc/reviewdog/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "reviewdog";
-  version = "0.13.0";
+  version = "0.14.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-PneUN59ddYvhVIXqZeDCh0tWADkRTU9Dj0HNf0V8s3g=";
+    sha256 = "sha256-mMpbV02yoso+Nvq1wkenvlbmTsOcTlpfKIhvyttrIf8=";
   };
 
-  vendorSha256 = "sha256-NI5pzKfUTjXqDukeQ1wFN/D0TBeXfDPGL69oEL7reCE=";
+  vendorSha256 = "sha256-UQbZjN7GaGXvBmMPAeQqaWriV+t3XSUd6hUOuZCiR24=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/misc/rtss/default.nix b/pkgs/development/tools/misc/rtss/default.nix
index 36ef4c349e9..cb5b55b8894 100644
--- a/pkgs/development/tools/misc/rtss/default.nix
+++ b/pkgs/development/tools/misc/rtss/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rtss";
-  version = "0.6.1";
+  version = "0.6.2";
 
   src = fetchFromGitHub {
     owner = "Freaky";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1936w161mkbcwicrxn51b42pgir5yjiw85s74lbfq70nddw18nyn";
+    sha256 = "sha256-WeeZsB42/4SlIaWwKvOqWiPNV5p0QOToynI8ozVVxJM=";
   };
 
-  cargoSha256 = "1b1xiaaxbw6y80pkzd594dikm372l1mmymf1wn2acmlz979nmas8";
+  cargoSha256 = "sha256-aHK9KBzRbU2IYr7vOdlz0Aw4iYGjD6VedbWPE/V7AVc=";
 
   meta = with lib; {
     description = "Annotate output with relative durations between lines";
diff --git a/pkgs/development/tools/misc/saleae-logic-2/default.nix b/pkgs/development/tools/misc/saleae-logic-2/default.nix
index 02927667775..242d76174ce 100644
--- a/pkgs/development/tools/misc/saleae-logic-2/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic-2/default.nix
@@ -1,10 +1,10 @@
 { lib, fetchurl, makeDesktopItem, appimageTools, gtk3 }:
 let
   name = "saleae-logic-2";
-  version = "2.3.39";
+  version = "2.3.45";
   src = fetchurl {
     url = "https://downloads.saleae.com/logic2/Logic-${version}-master.AppImage";
-    sha256 = "1p31i8xillc5vrl2nli74b7p7cv2yz2qafp2gnyjfn0nbx5ij52g";
+    sha256 = "sha256-kX8jMCUkz7B0muxsEwEttEX+DA2P+6swdZJGHyo7ScA=";
   };
   desktopItem = makeDesktopItem {
     inherit name;
@@ -13,7 +13,7 @@ let
     comment = "Software for Saleae logic analyzers";
     desktopName = "Saleae Logic";
     genericName = "Logic analyzer";
-    categories = "Development";
+    categories = [ "Development" ];
   };
 in
 appimageTools.wrapType2 {
diff --git a/pkgs/development/tools/misc/saleae-logic/default.nix b/pkgs/development/tools/misc/saleae-logic/default.nix
index 5943b57d808..487445e0fc3 100644
--- a/pkgs/development/tools/misc/saleae-logic/default.nix
+++ b/pkgs/development/tools/misc/saleae-logic/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
     comment = "Software for Saleae logic analyzers";
     desktopName = "Saleae Logic";
     genericName = "Logic analyzer";
-    categories = "Development";
+    categories = [ "Development" ];
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/development/tools/misc/semver-tool/default.nix b/pkgs/development/tools/misc/semver-tool/default.nix
index 0cfbd0680ba..407185a474b 100644
--- a/pkgs/development/tools/misc/semver-tool/default.nix
+++ b/pkgs/development/tools/misc/semver-tool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "semver-tool";
-  version = "3.2.0";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = "fsaintjacques";
     repo = pname;
     rev = version;
-    sha256 = "sha256-coy/g4nEvSN+0/aqK2r3EEIaoUcnsZhzX66H1qsK9ac=";
+    sha256 = "sha256-LqZTHFiis4BYL1bnJoeuW56wf8+o38Ygs++CV9CKNhM=";
   };
 
   dontBuild = true; # otherwise we try to 'make' which fails.
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/fsaintjacques/semver-tool";
     description = "semver bash implementation";
-    license = licenses.gpl3Plus;
+    license = licenses.asl20;
     platforms = platforms.unix;
     maintainers = [ maintainers.qyliss ];
   };
diff --git a/pkgs/development/tools/misc/spruce/default.nix b/pkgs/development/tools/misc/spruce/default.nix
index 16fd6cde043..7c10a6ee0ca 100644
--- a/pkgs/development/tools/misc/spruce/default.nix
+++ b/pkgs/development/tools/misc/spruce/default.nix
@@ -2,17 +2,17 @@
 
 buildGoModule rec {
   pname = "spruce";
-  version = "1.29.0";
+  version = "unstable-2022-02-10";
 
   src = fetchFromGitHub {
     owner = "geofffranks";
     repo = pname;
-    rev = "v${version}";
-    sha256 = "sha256-HjJWiBYd1YFDZ+XOFcU2Df6bmKFBwVQ6YbiZv1IVN3A=";
+    rev = "473931f33fceae90b3f5cfb7616c296343a9559b";
+    sha256 = "sha256-TFyWkoAKmj3KH2pqhVKMtP6QKTtu0s7H5gNP+fotUzg=";
   };
 
   deleteVendor = true;
-  vendorSha256 = "sha256-67PGSW3wV8i3mAt3rCuWbFmeOe+QhHXn2rTUmeN6YMA=";
+  vendorSha256 = "sha256-VeC5c/BgcxK3Qawb2QOhqtfTIgbQbrQj546zX6yPD+s=";
 
   meta = with lib; {
     description = "A BOSH template merge tool";
diff --git a/pkgs/development/tools/misc/svls/default.nix b/pkgs/development/tools/misc/svls/default.nix
index 13b52914799..2e3075c7b12 100644
--- a/pkgs/development/tools/misc/svls/default.nix
+++ b/pkgs/development/tools/misc/svls/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svls";
-  version = "0.1.27";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "dalance";
     repo = "svls";
     rev = "v${version}";
-    sha256 = "sha256-+/4D0pRZs1Gy6DJnsDZA8wWi1FKhr7gRS0oq1TyWpuE=";
+    sha256 = "sha256-WZuFYiPV6HbBH9QT4h9FbnmkbFBadUaV0HujiQ0hu7I=";
   };
 
-  cargoSha256 = "sha256-xkRlUXlkXQwvzIuhExf+tSSBi+8BZv58btvln05UI+k=";
+  cargoSha256 = "sha256-tafxN3ots1UTSv950NlwCs6TItMnKz5tn5vw7PTcARU=";
 
   meta = with lib; {
     description = "SystemVerilog language server";
diff --git a/pkgs/development/tools/misc/texinfo/common.nix b/pkgs/development/tools/misc/texinfo/common.nix
index 8d8f1e1627a..b379df09a4b 100644
--- a/pkgs/development/tools/misc/texinfo/common.nix
+++ b/pkgs/development/tools/misc/texinfo/common.nix
@@ -18,7 +18,7 @@ in
 with lib;
 
 stdenv.mkDerivation {
-  name = "texinfo-${optionalString interactive "interactive-"}${version}";
+  pname = "texinfo${optionalString interactive "-interactive"}";
   inherit version;
 
   src = fetchurl {
diff --git a/pkgs/development/tools/misc/universal-ctags/default.nix b/pkgs/development/tools/misc/universal-ctags/default.nix
index 6c1a9009993..e443ca7751e 100644
--- a/pkgs/development/tools/misc/universal-ctags/default.nix
+++ b/pkgs/development/tools/misc/universal-ctags/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, coreutils, pkg-config, perl, python3Packages, libiconv, jansson }:
+{ lib, stdenv, buildPackages, fetchFromGitHub, autoreconfHook, coreutils, pkg-config, perl, python3Packages, libiconv, jansson }:
 
 stdenv.mkDerivation rec {
   pname = "universal-ctags";
@@ -11,6 +11,7 @@ stdenv.mkDerivation rec {
     sha256 = "0c031y0dl2b70pd0mqfbylplf8f27x11b0ch7ljka3rqav0zb1zr";
   };
 
+  depsBuildBuild = [ buildPackages.stdenv.cc ];
   nativeBuildInputs = [ autoreconfHook coreutils pkg-config python3Packages.docutils ];
   buildInputs = [ jansson ] ++ lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/development/tools/misc/xspim/default.nix b/pkgs/development/tools/misc/xspim/default.nix
index 2e6e3e3eb10..6e11c81cbde 100644
--- a/pkgs/development/tools/misc/xspim/default.nix
+++ b/pkgs/development/tools/misc/xspim/default.nix
@@ -43,7 +43,7 @@ stdenv.mkDerivation rec {
     description = "A MIPS32 simulator";
     homepage = "http://spimsimulator.sourceforge.net/";
     license = licenses.bsdOriginal;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/development/tools/misc/xxgdb/default.nix b/pkgs/development/tools/misc/xxgdb/default.nix
index fc0a38ee749..cd14705e1eb 100644
--- a/pkgs/development/tools/misc/xxgdb/default.nix
+++ b/pkgs/development/tools/misc/xxgdb/default.nix
@@ -37,7 +37,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A simple but powerful graphical interface to gdb";
     license = licenses.mit;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/development/tools/mold/default.nix b/pkgs/development/tools/mold/default.nix
index 8d088a6d286..00bcd3a5f12 100644
--- a/pkgs/development/tools/mold/default.nix
+++ b/pkgs/development/tools/mold/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mold";
-  version = "1.0.2";
+  version = "1.1";
 
   src = fetchFromGitHub {
     owner = "rui314";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-0TXk+6hS6TJHwhowYzL8ABw3iyfVwPttJWKQ9RfzMSI=";
+    sha256 = "sha256-+uIP/U7H9P7oy78TL1edX9+JNYUzpwro105PYj3D6Yk=";
   };
 
   buildInputs = [ zlib openssl ];
diff --git a/pkgs/development/tools/nodenv/default.nix b/pkgs/development/tools/nodenv/default.nix
new file mode 100644
index 00000000000..d1e38d7bda7
--- /dev/null
+++ b/pkgs/development/tools/nodenv/default.nix
@@ -0,0 +1,44 @@
+{ stdenv
+, lib
+, fetchFromGitHub
+}:
+
+stdenv.mkDerivation rec {
+  pname = "nodenv";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "nodenv";
+    repo = "nodenv";
+    rev = "v${version}";
+    sha256 = "0fgc23jd95rjll3dy5hnli8ksfc7rwscw53sdgss4yaharwlg8l2";
+  };
+
+  buildPhase = ''
+    runHook preBuild
+
+    bash src/configure
+    make -C src
+
+    runHook postBuild
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out
+    cp -r libexec $out/
+    cp -r bin $out/
+
+    runHook postInstall
+  '';
+
+  meta = with lib; {
+    description = "Manage multiple NodeJS versions";
+    homepage = "https://github.com/nodenv/nodenv/";
+    changelog = "https://github.com/nodenv/nodenv/releases/tag/v${version}";
+    license = licenses.mit;
+    maintainers = with maintainers; [ alexnortung ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/tools/nwjs/default.nix b/pkgs/development/tools/nwjs/default.nix
index f3ec2dabc92..dd3d9cf6faa 100644
--- a/pkgs/development/tools/nwjs/default.nix
+++ b/pkgs/development/tools/nwjs/default.nix
@@ -1,7 +1,7 @@
 { stdenv, lib, fetchurl, buildEnv, makeWrapper
 
 , xorg, alsa-lib, at-spi2-core, dbus, glib, gtk3, atk, pango, freetype
-, fontconfig , gdk-pixbuf, cairo, mesa, nss, nspr, gconf, expat, systemd
+, fontconfig , gdk-pixbuf, cairo, mesa, nss, nspr, expat, systemd
 , libcap, libdrm, libxkbcommon
 , libnotify
 , ffmpeg, libxcb, cups
@@ -18,7 +18,7 @@ let
     paths = [
       xorg.libX11 xorg.libXrender glib gtk3 atk at-spi2-core pango cairo gdk-pixbuf
       freetype fontconfig xorg.libXcomposite alsa-lib xorg.libXdamage
-      xorg.libXext xorg.libXfixes mesa nss nspr gconf expat dbus
+      xorg.libXext xorg.libXfixes mesa nss nspr expat dbus
       xorg.libXtst xorg.libXi xorg.libXcursor xorg.libXrandr
       xorg.libXScrnSaver xorg.libxshmfence cups
       libcap libdrm libnotify
diff --git a/pkgs/development/tools/ocaml/dune/3.nix b/pkgs/development/tools/ocaml/dune/3.nix
new file mode 100644
index 00000000000..59ea9c43512
--- /dev/null
+++ b/pkgs/development/tools/ocaml/dune/3.nix
@@ -0,0 +1,40 @@
+{ lib, stdenv, fetchurl, ocaml, findlib, darwin }:
+
+if lib.versionOlder ocaml.version "4.08"
+then throw "dune 3 is not available for OCaml ${ocaml.version}"
+else
+
+stdenv.mkDerivation rec {
+  pname = "dune";
+  version = "3.0.2";
+
+  src = fetchurl {
+    url = "https://github.com/ocaml/dune/releases/download/${version}/fiber-${version}.tbz";
+    sha256 = "sha256-o108qIeWMOX0VU/wWdc5bg/UDCT2CCcw/Xx3nFiDbes=";
+  };
+
+  nativeBuildInputs = [ ocaml findlib ];
+
+  buildInputs = lib.optionals stdenv.isDarwin [
+    darwin.apple_sdk.frameworks.Foundation
+  ];
+
+  strictDeps = true;
+
+  buildFlags = "release";
+
+  dontAddPrefix = true;
+  dontAddStaticConfigureFlags = true;
+  configurePlatforms = [];
+
+  installFlags = [ "PREFIX=${placeholder "out"}" "LIBDIR=$(OCAMLFIND_DESTDIR)" ];
+
+  meta = {
+    homepage = "https://dune.build/";
+    description = "A composable build system";
+    changelog = "https://github.com/ocaml/dune/raw/${version}/CHANGES.md";
+    maintainers = [ lib.maintainers.vbgl lib.maintainers.marsam ];
+    license = lib.licenses.mit;
+    inherit (ocaml.meta) platforms;
+  };
+}
diff --git a/pkgs/development/tools/ocaml/findlib/default.nix b/pkgs/development/tools/ocaml/findlib/default.nix
index 497a8ce91c1..e7abf32eae5 100644
--- a/pkgs/development/tools/ocaml/findlib/default.nix
+++ b/pkgs/development/tools/ocaml/findlib/default.nix
@@ -36,15 +36,21 @@ stdenv.mkDerivation rec {
             export CAML_LD_LIBRARY_PATH="''${CAML_LD_LIBRARY_PATH-}''${CAML_LD_LIBRARY_PATH:+:}''$1/lib/ocaml/${ocaml.version}/site-lib/stublibs"
         fi
     }
-    createOcamlDestDir () {
+    exportOcamlDestDir () {
         export OCAMLFIND_DESTDIR="''$out/lib/ocaml/${ocaml.version}/site-lib/"
+    }
+    createOcamlDestDir () {
         if test -n "''${createFindlibDestdir-}"; then
           mkdir -p $OCAMLFIND_DESTDIR
         fi
     }
 
+    # run for every buildInput
     addEnvHooks "$targetOffset" addOCamlPath
-    preConfigureHooks+=(createOcamlDestDir)
+    # run before installPhase, even without buildInputs, and not in nix-shell
+    preInstallHooks+=(createOcamlDestDir)
+    # run even in nix-shell, and even without buildInputs
+    addEnvHooks "$hostOffset" exportOcamlDestDir
   '';
 
   meta = {
diff --git a/pkgs/development/tools/omniorb/default.nix b/pkgs/development/tools/omniorb/default.nix
index 74341c0a7b4..4acf2264fc9 100644
--- a/pkgs/development/tools/omniorb/default.nix
+++ b/pkgs/development/tools/omniorb/default.nix
@@ -1,23 +1,36 @@
-{ lib, stdenv, fetchurl, python2 }:
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, python3
+}:
+
 stdenv.mkDerivation rec {
 
   pname = "omniorb";
-
-  version = "4.2.4";
+  version = "4.3.0";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/omniorb/omniORB/omniORB-${version}/omniORB-${version}.tar.bz2";
-    sha256 = "0vvsvi5nx4k7kk4qh1pkf3f5fpz7wv4rsdna4hayihbnvz81rh18";
+    hash = "sha256-l2BFojQfTpqFBosh9L2SiZMpKTPu7O/qNy2wngIZ6t0=";
   };
 
-  buildInputs = [ python2 ];
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ python3 ];
 
+  enableParallelBuilding = true;
   hardeningDisable = [ "format" ];
 
   meta = with lib; {
-    description = "A robust high performance CORBA ORB for C++ and Python. It is freely available under the terms of the GNU Lesser General Public License (for the libraries), and GNU General Public License (for the tools). omniORB is largely CORBA 2.6 compliant";
+    description = "A robust high performance CORBA ORB for C++ and Python";
+    longDescription = ''
+      omniORB is a robust high performance CORBA ORB for C++ and Python.
+      It is freely available under the terms of the GNU Lesser General Public License
+      (for the libraries),and GNU General Public License (for the tools).
+      omniORB is largely CORBA 2.6 compliant.
+    '';
     homepage    = "http://omniorb.sourceforge.net/";
-    license     = licenses.gpl2Plus;
+    license     = with licenses; [ gpl2Plus lgpl21Plus ];
     maintainers = with maintainers; [ smironov ];
     platforms   = platforms.unix;
   };
diff --git a/pkgs/development/tools/omnisharp-roslyn/create-deps.sh b/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
index 37fdb0d9101..46cbb06951b 100755
--- a/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
+++ b/pkgs/development/tools/omnisharp-roslyn/create-deps.sh
@@ -1,5 +1,5 @@
 #!/usr/bin/env nix-shell
-#!nix-shell -I nixpkgs=../../../../.. -i bash -p msbuild dotnet-sdk_3 jq xmlstarlet curl
+#!nix-shell -I nixpkgs=../../../../.. -i bash -p dotnet-sdk_6 jq xmlstarlet curl
 set -euo pipefail
 
 cat << EOL
@@ -18,7 +18,7 @@ mapfile -t repos < <(
         done
     )
 
-msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir" \
+dotnet msbuild -t:restore -p:Configuration=Release -p:RestorePackagesPath="$tmpdir" \
         -p:RestoreNoCache=true -p:RestoreForce=true \
         src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj >&2
 
diff --git a/pkgs/development/tools/omnisharp-roslyn/default.nix b/pkgs/development/tools/omnisharp-roslyn/default.nix
index dad26f583a3..7fd1fff89d2 100644
--- a/pkgs/development/tools/omnisharp-roslyn/default.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/default.nix
@@ -1,8 +1,6 @@
 { lib, stdenv
 , fetchFromGitHub
 , fetchurl
-, mono6
-, msbuild
 , dotnetCorePackages
 , makeWrapper
 , unzip
@@ -11,7 +9,7 @@
 
 let
 
-  dotnet-sdk = dotnetCorePackages.sdk_5_0;
+  dotnet-sdk = dotnetCorePackages.sdk_6_0;
 
   deps = map (package: stdenv.mkDerivation (with package; {
     inherit pname version src;
@@ -67,21 +65,21 @@ let
 in stdenv.mkDerivation rec {
 
   pname = "omnisharp-roslyn";
-  version = "1.37.15";
+  version = "1.38.0";
 
   src = fetchFromGitHub {
     owner = "OmniSharp";
     repo = pname;
     rev = "v${version}";
-    sha256 = "070wqs667si3f78fy6w4rrfm8qncnabg0yckjhll0yv1pzbj9q42";
+    sha256 = "00V+7Z1IoCSuSM0RClM81IslzCzC/FNYxHIKtnI9QDg=";
   };
 
-  nativeBuildInputs = [ makeWrapper msbuild ];
+  nativeBuildInputs = [ makeWrapper dotnet-sdk ];
 
   buildPhase = ''
     runHook preBuild
 
-    HOME=$(pwd)/fake-home msbuild -r \
+    HOME=$(pwd)/fake-home dotnet msbuild -r \
       -p:Configuration=Release \
       -p:RestoreConfigFile=${nuget-config} \
       src/OmniSharp.Stdio.Driver/OmniSharp.Stdio.Driver.csproj
@@ -91,18 +89,10 @@ in stdenv.mkDerivation rec {
 
   installPhase = ''
     mkdir -p $out/bin
-    cp -r bin/Release/OmniSharp.Stdio.Driver/net472 $out/src
-    cp bin/Release/OmniSharp.Host/net472/SQLitePCLRaw* $out/src
-    mkdir $out/src/.msbuild
-    ln -s ${msbuild}/lib/mono/xbuild/* $out/src/.msbuild/
-    rm $out/src/.msbuild/Current
-    mkdir $out/src/.msbuild/Current
-    ln -s ${msbuild}/lib/mono/xbuild/Current/* $out/src/.msbuild/Current/
-    ln -s ${msbuild}/lib/mono/msbuild/Current/bin $out/src/.msbuild/Current/Bin
-
-    makeWrapper ${mono6}/bin/mono $out/bin/omnisharp \
-      --suffix PATH : ${dotnet-sdk}/bin \
-      --add-flags "$out/src/OmniSharp.exe"
+    cp -r bin/Release/OmniSharp.Stdio.Driver/net6.0 $out/src
+    makeWrapper $out/src/OmniSharp $out/bin/omnisharp \
+      --prefix DOTNET_ROOT : ${dotnet-sdk} \
+      --suffix PATH : ${dotnet-sdk}/bin
   '';
 
   meta = with lib; {
diff --git a/pkgs/development/tools/omnisharp-roslyn/deps.nix b/pkgs/development/tools/omnisharp-roslyn/deps.nix
index 32786d32408..47af76fdd4a 100644
--- a/pkgs/development/tools/omnisharp-roslyn/deps.nix
+++ b/pkgs/development/tools/omnisharp-roslyn/deps.nix
@@ -1,18 +1,18 @@
 { fetchurl }: [
   {
     pname = "cake.scripting.abstractions";
-    version = "0.6.4";
+    version = "0.8.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.abstractions/0.6.4/cake.scripting.abstractions.0.6.4.nupkg";
-      sha256 = "14fcixlj2xazf6cb46gw8jgbsz89c6s8fnhvppxs8q12pygmkx0l";
+      url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.abstractions/0.8.1/cake.scripting.abstractions.0.8.1.nupkg";
+      sha256 = "0hrr7a3z1qddfm21pp21wr94q2f85w5kq1gavn5dylajiaqz505c";
     };
   }
   {
     pname = "cake.scripting.transport";
-    version = "0.6.4";
+    version = "0.8.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.transport/0.6.4/cake.scripting.transport.0.6.4.nupkg";
-      sha256 = "08cwj572mvmlagj5jry11j2l2fqc6yl4sw0szvql4ard9cx7j51n";
+      url = "https://api.nuget.org/v3-flatcontainer/cake.scripting.transport/0.8.1/cake.scripting.transport.0.8.1.nupkg";
+      sha256 = "0pfpgyr62r74s9h4i3kdxb92d21x14pmvwa1bfk3v2s5qdb3fxj8";
     };
   }
   {
@@ -64,43 +64,27 @@
     };
   }
   {
-    pname = "messagepack";
-    version = "2.1.152";
+    pname = "microsoft.aspnetcore.app.runtime.win-arm64";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/messagepack/2.1.152/messagepack.2.1.152.nupkg";
-      sha256 = "1ks1w6pn96zm8nhz3ff6qdrmf0abppglwaa6vw83kj3d2qw74sw1";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-arm64/6.0.0/microsoft.aspnetcore.app.runtime.win-arm64.6.0.0.nupkg";
+      sha256 = "0k2011d3jbfblfm4qspwjyv5pg1xqac408vblshgmf4sz7hlyzb3";
     };
   }
   {
-    pname = "messagepackanalyzer";
-    version = "2.1.152";
+    pname = "microsoft.aspnetcore.app.runtime.win-x64";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/messagepackanalyzer/2.1.152/messagepackanalyzer.2.1.152.nupkg";
-      sha256 = "18iacmw5v3dp8lma9c0rh5jh8g1hkxnkq78kx7n00wkwxa58badx";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-x64/6.0.0/microsoft.aspnetcore.app.runtime.win-x64.6.0.0.nupkg";
+      sha256 = "1j8cn97swc67ly7ca7m05akczrswbg0gjsk7473vad6770ph79vm";
     };
   }
   {
-    pname = "messagepack.annotations";
-    version = "2.1.152";
+    pname = "microsoft.aspnetcore.app.runtime.win-x86";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/messagepack.annotations/2.1.152/messagepack.annotations.2.1.152.nupkg";
-      sha256 = "196swfxaz7l26hiyfv1mix0y80amhlq48krc4g5p9894wx1az3c3";
-    };
-  }
-  {
-    pname = "microsoft.aspnetcore.app.ref";
-    version = "3.1.10";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.ref/3.1.10/microsoft.aspnetcore.app.ref.3.1.10.nupkg";
-      sha256 = "0xn4zh7shvijqlr03fqsmps6gz856isd9bg9rk4z2c4599ggal77";
-    };
-  }
-  {
-    pname = "microsoft.bcl.asyncinterfaces";
-    version = "1.1.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/1.1.0/microsoft.bcl.asyncinterfaces.1.1.0.nupkg";
-      sha256 = "1dq5yw7cy6s42193yl4iqscfw5vzkjkgv0zyy32scr4jza6ni1a1";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.aspnetcore.app.runtime.win-x86/6.0.0/microsoft.aspnetcore.app.runtime.win-x86.6.0.0.nupkg";
+      sha256 = "0l64rphcqjwlbsxvfc8albzs494xyhl3bgw6ll68h3imhml193k5";
     };
   }
   {
@@ -120,19 +104,27 @@
     };
   }
   {
+    pname = "microsoft.bcl.asyncinterfaces";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.bcl.asyncinterfaces/6.0.0/microsoft.bcl.asyncinterfaces.6.0.0.nupkg";
+      sha256 = "15gqy2m14fdlvy1g59207h5kisznm355kbw010gy19vh47z8gpz3";
+    };
+  }
+  {
     pname = "microsoft.build";
-    version = "16.10.0";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build/16.10.0/microsoft.build.16.10.0.nupkg";
-      sha256 = "1ran3fp016wvj8d2ahv0cmwhm6hjjh64w82s7cy52s7qffrgjk46";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build/17.0.0/microsoft.build.17.0.0.nupkg";
+      sha256 = "166brl88y8xn9llc0hmn911k6y74gapmk1mrnfxbv73qj77jxsn1";
     };
   }
   {
     pname = "microsoft.build.framework";
-    version = "16.10.0";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.framework/16.10.0/microsoft.build.framework.16.10.0.nupkg";
-      sha256 = "17a8qxgq0jzxpjannhxkcg0941b64yb7z0yq75gz6hsq9ln3agja";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.framework/17.0.0/microsoft.build.framework.17.0.0.nupkg";
+      sha256 = "08c257dmfa6n41lq4fxb34khi8jbwlqfy1168x7h7zsbh3wss7yq";
     };
   }
   {
@@ -145,10 +137,10 @@
   }
   {
     pname = "microsoft.build.tasks.core";
-    version = "16.10.0";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.tasks.core/16.10.0/microsoft.build.tasks.core.16.10.0.nupkg";
-      sha256 = "0yc3p4bksxmbq1n8wfqgn6b6x9ccyzq229f0mn08z4jfima3cnxg";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.tasks.core/17.0.0/microsoft.build.tasks.core.17.0.0.nupkg";
+      sha256 = "087mn3rz5plnj7abjqk2di5is35mmfgmdjf0kcdn7jld8rbhk5hx";
     };
   }
   {
@@ -161,10 +153,10 @@
   }
   {
     pname = "microsoft.build.utilities.core";
-    version = "16.10.0";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.utilities.core/16.10.0/microsoft.build.utilities.core.16.10.0.nupkg";
-      sha256 = "1rh3gzrz8mmzilvs33cxngv0a805nb47s615rvj4xk5igm384w14";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.build.utilities.core/17.0.0/microsoft.build.utilities.core.17.0.0.nupkg";
+      sha256 = "0b7kylnvdqs81nmxdw7alwij8b19wm00iqicb9gkiklxjfyd8xav";
     };
   }
   {
@@ -185,82 +177,90 @@
   }
   {
     pname = "microsoft.codeanalysis.common";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.0.0-4.21427.11/microsoft.codeanalysis.common.4.0.0-4.21427.11.nupkg";
-      sha256 = "15q6a2z3ms2vyrfk4y7biniygy0brr3ddb8mn700zg4sl84vphcz";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.common/4.0.0-6.21526.21/microsoft.codeanalysis.common.4.0.0-6.21526.21.nupkg";
+      sha256 = "0sv5hxadf9pbclssc9kq2cnvfkrnb0f2f4gmqhp2cy4xkr9fjn92";
     };
   }
   {
     pname = "microsoft.codeanalysis.csharp";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.0.0-4.21427.11/microsoft.codeanalysis.csharp.4.0.0-4.21427.11.nupkg";
-      sha256 = "0x3l774higkpbbk4f1naf57c039g8qvvdvb3963m7g54qn4zhvdh";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.4.0.0-6.21526.21.nupkg";
+      sha256 = "0cgp6rjw0lj3hr19sg5xvb5g29amrnng6y23rzcv5knw7a6zavs7";
     };
   }
   {
     pname = "microsoft.codeanalysis.csharp.features";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.0.0-4.21427.11/microsoft.codeanalysis.csharp.features.4.0.0-4.21427.11.nupkg";
-      sha256 = "0w0wrssv0ix4z9609a34k6a5kc4p85gy76p676fdg6hyf6pzd78m";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.features/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.features.4.0.0-6.21526.21.nupkg";
+      sha256 = "1a8xhrc4g2xlhmangcj0hv9872fw3zv1bcq52b54vczm6aym39pj";
     };
   }
   {
     pname = "microsoft.codeanalysis.csharp.scripting";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.0.0-4.21427.11/microsoft.codeanalysis.csharp.scripting.4.0.0-4.21427.11.nupkg";
-      sha256 = "0lmfbkxqp8p52wg2lsyxpavabk318s6ci02cxzgmxydc2pd9r70v";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.scripting/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.scripting.4.0.0-6.21526.21.nupkg";
+      sha256 = "1mlf75v2nabfi9hwx9q2d14mcxlz3n8gdkczpyvvyfh3f72pl4x3";
     };
   }
   {
     pname = "microsoft.codeanalysis.csharp.workspaces";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.0.0-4.21427.11/microsoft.codeanalysis.csharp.workspaces.4.0.0-4.21427.11.nupkg";
-      sha256 = "0j5c9v4nfahvnasz895czk1cp46b2d98px1gdar2ik9c5630vxwi";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.csharp.workspaces/4.0.0-6.21526.21/microsoft.codeanalysis.csharp.workspaces.4.0.0-6.21526.21.nupkg";
+      sha256 = "04r6crnqml1c8mabsfrjzxc6bq6ndc9wwqwy8zsal80gwa54yj3v";
     };
   }
   {
     pname = "microsoft.codeanalysis.externalaccess.omnisharp";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.0.0-4.21427.11/microsoft.codeanalysis.externalaccess.omnisharp.4.0.0-4.21427.11.nupkg";
-      sha256 = "0qy8xiv1j8awmbbgy16b2y9rhymxhx8kcmfylhxi1ryqql4mrpg2";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp/4.0.0-6.21526.21/microsoft.codeanalysis.externalaccess.omnisharp.4.0.0-6.21526.21.nupkg";
+      sha256 = "1f7wp5829wz8nrafqwlr74p3xgw86591cl2d9dnhs8cp9p6y5ah9";
     };
   }
   {
     pname = "microsoft.codeanalysis.externalaccess.omnisharp.csharp";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.0.0-4.21427.11/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.0.0-4.21427.11.nupkg";
-      sha256 = "0mp1gkfdrdjcryqdj76ilpmjh0w8z4h313djjplcawwk76369mnc";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.externalaccess.omnisharp.csharp/4.0.0-6.21526.21/microsoft.codeanalysis.externalaccess.omnisharp.csharp.4.0.0-6.21526.21.nupkg";
+      sha256 = "1mc9h0svsqdrmr8bk1zgvjn1awc06mwhsp34q8grcb6n1w641hsp";
     };
   }
   {
     pname = "microsoft.codeanalysis.features";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.0.0-4.21427.11/microsoft.codeanalysis.features.4.0.0-4.21427.11.nupkg";
-      sha256 = "03vclmmxch3jrjamr9lg899s9wsfxw9yf53p9yfwvcr8wml4cwpz";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.features/4.0.0-6.21526.21/microsoft.codeanalysis.features.4.0.0-6.21526.21.nupkg";
+      sha256 = "0bg93pzv89v0s74mn52ng4cz2ys2bk8z96b3ml06r9wa3piz08la";
     };
   }
   {
     pname = "microsoft.codeanalysis.scripting.common";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.0.0-4.21427.11/microsoft.codeanalysis.scripting.common.4.0.0-4.21427.11.nupkg";
-      sha256 = "15fkbw651v9lliqdmg1k61dqzasrssahyhrhwg24m111rgh86fbn";
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.scripting.common/4.0.0-6.21526.21/microsoft.codeanalysis.scripting.common.4.0.0-6.21526.21.nupkg";
+      sha256 = "0s5h10zj2qyfs0a09agdba06vc09pcq2wamr7pf8dx415vkjswyj";
     };
   }
   {
     pname = "microsoft.codeanalysis.workspaces.common";
-    version = "4.0.0-4.21427.11";
+    version = "4.0.0-6.21526.21";
+    src = fetchurl {
+      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.0.0-6.21526.21/microsoft.codeanalysis.workspaces.common.4.0.0-6.21526.21.nupkg";
+      sha256 = "0kp2l72zpfydfqv5cm8wqvk86wpgh946j8sw9hvhm3xwzflchl7b";
+    };
+  }
+  {
+    pname = "microsoft.csharp";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/dnceng/9ee6d478-d288-47f7-aacc-f6e6d082ae6d/_packaging/d1622942-d16f-48e5-bc83-96f4539e7601/nuget/v3/flat2/microsoft.codeanalysis.workspaces.common/4.0.0-4.21427.11/microsoft.codeanalysis.workspaces.common.4.0.0-4.21427.11.nupkg";
-      sha256 = "0k4qjkkg4mllizialzm463ssm3faqcqjnw19kbcnrzm5cd72i7cy";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.csharp/4.0.1/microsoft.csharp.4.0.1.nupkg";
+      sha256 = "0zxc0apx1gcx361jlq8smc9pfdgmyjh6hpka8dypc9w23nlsh6yj";
     };
   }
   {
@@ -289,18 +289,18 @@
   }
   {
     pname = "microsoft.extensions.caching.abstractions";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.abstractions/5.0.0/microsoft.extensions.caching.abstractions.5.0.0.nupkg";
-      sha256 = "0j83zapqhgqb4v5f6kn891km095pfhvsqha357a86ccclmv2czvb";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.abstractions/6.0.0/microsoft.extensions.caching.abstractions.6.0.0.nupkg";
+      sha256 = "0qn30d3pg4rx1x2k525jj4x5g1fxm2v5m0ksz2dmk1gmqalpask8";
     };
   }
   {
     pname = "microsoft.extensions.caching.memory";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.memory/5.0.0/microsoft.extensions.caching.memory.5.0.0.nupkg";
-      sha256 = "0l8spndl3kvccjlay202msm31iy5iig0i9ddbsdy92wbcjr97lca";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.caching.memory/6.0.0/microsoft.extensions.caching.memory.6.0.0.nupkg";
+      sha256 = "0dq1x7962zsp926rj76i4akk4hsy7r5ldys8r4xsd78rq5f67rhq";
     };
   }
   {
@@ -313,10 +313,10 @@
   }
   {
     pname = "microsoft.extensions.configuration";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/5.0.0/microsoft.extensions.configuration.5.0.0.nupkg";
-      sha256 = "01m9vzlq0vg0lhckj2dimwq42niwny8g3lm13c9a401hlyg90z1p";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration/6.0.0/microsoft.extensions.configuration.6.0.0.nupkg";
+      sha256 = "1zdyai2rzngmsp3706d12qrdk315c1s3ja218fzb3nc3wd1vz0s8";
     };
   }
   {
@@ -329,10 +329,10 @@
   }
   {
     pname = "microsoft.extensions.configuration.abstractions";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.abstractions/5.0.0/microsoft.extensions.configuration.abstractions.5.0.0.nupkg";
-      sha256 = "0fqxkc9pjxkqylsdf26s9q21ciyk56h1w33pz3v1v4wcv8yv1v6k";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.abstractions/6.0.0/microsoft.extensions.configuration.abstractions.6.0.0.nupkg";
+      sha256 = "0w6wwxv12nbc3sghvr68847wc9skkdgsicrz3fx4chgng1i3xy0j";
     };
   }
   {
@@ -345,42 +345,42 @@
   }
   {
     pname = "microsoft.extensions.configuration.binder";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/5.0.0/microsoft.extensions.configuration.binder.5.0.0.nupkg";
-      sha256 = "0sld0bh2k5kss32i3nf8mwqkjagmw0d1cdfmxm87ckiicwm413a0";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.binder/6.0.0/microsoft.extensions.configuration.binder.6.0.0.nupkg";
+      sha256 = "15hb2rbzgri1fq8wpj4ll7czm3rxqzszs02phnhjnncp90m5rmpc";
     };
   }
   {
     pname = "microsoft.extensions.configuration.commandline";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.commandline/5.0.0/microsoft.extensions.configuration.commandline.5.0.0.nupkg";
-      sha256 = "084hnz5l0vr15ay23rksqipslqnz3pp30w9hsirpx1iqdm5688mc";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.commandline/6.0.0/microsoft.extensions.configuration.commandline.6.0.0.nupkg";
+      sha256 = "1hb4qrq9xdxzh2px515pv1vkz1jigwaxw1hfg9w8s6pgl8z04l4c";
     };
   }
   {
     pname = "microsoft.extensions.configuration.environmentvariables";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.environmentvariables/5.0.0/microsoft.extensions.configuration.environmentvariables.5.0.0.nupkg";
-      sha256 = "03gvckj10ljk1mir9g8cf3cajsnihhvmh8z8341gkr9h5653qkv0";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.environmentvariables/6.0.0/microsoft.extensions.configuration.environmentvariables.6.0.0.nupkg";
+      sha256 = "19w2vxliz1xangbach3hkx72x2pxqhc9n9c3kc3l8mhicl8w6vdl";
     };
   }
   {
     pname = "microsoft.extensions.configuration.fileextensions";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.fileextensions/5.0.0/microsoft.extensions.configuration.fileextensions.5.0.0.nupkg";
-      sha256 = "1wq229r3xcmm9wh9sqdpvmfv4qpbp2zms9x6xk7g7sbb8h32hnz3";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.fileextensions/6.0.0/microsoft.extensions.configuration.fileextensions.6.0.0.nupkg";
+      sha256 = "02nna984iwnyyz4jjh9vs405nlj0yk1g5vz4v2x30z2c89mx5f9w";
     };
   }
   {
     pname = "microsoft.extensions.configuration.json";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.json/5.0.0/microsoft.extensions.configuration.json.5.0.0.nupkg";
-      sha256 = "0hq5i483bjbvprp1la9l3si82x1ydxbvkpfc7r3s7zgxg957fyp9";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.configuration.json/6.0.0/microsoft.extensions.configuration.json.6.0.0.nupkg";
+      sha256 = "1c6l5szma1pdn61ncq1kaqibg0dz65hbma2xl626a8d1m6awn353";
     };
   }
   {
@@ -393,10 +393,10 @@
   }
   {
     pname = "microsoft.extensions.dependencyinjection";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection/5.0.0/microsoft.extensions.dependencyinjection.5.0.0.nupkg";
-      sha256 = "15sdwcyzz0qlybwbdq854bn3jk6kx7awx28gs864c4shhbqkppj4";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection/6.0.0/microsoft.extensions.dependencyinjection.6.0.0.nupkg";
+      sha256 = "1wlhb2vygzfdjbdzy7waxblmrx0q3pdcqvpapnpmq9fcx5m8r6w1";
     };
   }
   {
@@ -409,42 +409,42 @@
   }
   {
     pname = "microsoft.extensions.dependencyinjection.abstractions";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/5.0.0/microsoft.extensions.dependencyinjection.abstractions.5.0.0.nupkg";
-      sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencyinjection.abstractions/6.0.0/microsoft.extensions.dependencyinjection.abstractions.6.0.0.nupkg";
+      sha256 = "1vi67fw7q99gj7jd64gnnfr4d2c0ijpva7g9prps48ja6g91x6a9";
     };
   }
   {
     pname = "microsoft.extensions.dependencymodel";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencymodel/5.0.0/microsoft.extensions.dependencymodel.5.0.0.nupkg";
-      sha256 = "1mma1zxi0b40972cwfvkj9y0w9r7vjbi74784jzcb22pric00k5x";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.dependencymodel/6.0.0/microsoft.extensions.dependencymodel.6.0.0.nupkg";
+      sha256 = "08c4fh1n8vsish1vh7h73mva34g0as4ph29s4lvps7kmjb4z64nl";
     };
   }
   {
     pname = "microsoft.extensions.fileproviders.abstractions";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.abstractions/5.0.0/microsoft.extensions.fileproviders.abstractions.5.0.0.nupkg";
-      sha256 = "01ahgd0b2z2zycrr2lcsq2cl59fn04bh51hdwdp9dcsdkpvnasj1";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.abstractions/6.0.0/microsoft.extensions.fileproviders.abstractions.6.0.0.nupkg";
+      sha256 = "1fbqmfapxdz77drcv1ndyj2ybvd2rv4c9i9pgiykcpl4fa6dc65q";
     };
   }
   {
     pname = "microsoft.extensions.fileproviders.physical";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.physical/5.0.0/microsoft.extensions.fileproviders.physical.5.0.0.nupkg";
-      sha256 = "00vii8148a6pk12l9jl0rhjp7apil5q5qcy7v1smnv17lj4p8szd";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.fileproviders.physical/6.0.0/microsoft.extensions.fileproviders.physical.6.0.0.nupkg";
+      sha256 = "1ikc3kf325xig6njbi2aj5kmww4xlaq9lsrpc8v764fsm4x10474";
     };
   }
   {
     pname = "microsoft.extensions.filesystemglobbing";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.filesystemglobbing/5.0.0/microsoft.extensions.filesystemglobbing.5.0.0.nupkg";
-      sha256 = "0lm6n9vbyjh0l17qcc2y9qwn1cns3dyjmkvbxjp0g9sll32kjpmb";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.filesystemglobbing/6.0.0/microsoft.extensions.filesystemglobbing.6.0.0.nupkg";
+      sha256 = "09gyyv4fwy9ys84z3aq4lm9y09b7bd1d4l4gfdinmg0z9678f1a4";
     };
   }
   {
@@ -457,10 +457,10 @@
   }
   {
     pname = "microsoft.extensions.logging";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging/5.0.0/microsoft.extensions.logging.5.0.0.nupkg";
-      sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging/6.0.0/microsoft.extensions.logging.6.0.0.nupkg";
+      sha256 = "0fd9jii3y3irfcwlsiww1y9npjgabzarh33rn566wpcz24lijszi";
     };
   }
   {
@@ -481,26 +481,26 @@
   }
   {
     pname = "microsoft.extensions.logging.abstractions";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/5.0.0/microsoft.extensions.logging.abstractions.5.0.0.nupkg";
-      sha256 = "1yza38675dbv1qqnnhqm23alv2bbaqxp0pb7zinjmw8j2mr5r6wc";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.abstractions/6.0.0/microsoft.extensions.logging.abstractions.6.0.0.nupkg";
+      sha256 = "0b75fmins171zi6bfdcq1kcvyrirs8n91mknjnxy4c3ygi1rrnj0";
     };
   }
   {
     pname = "microsoft.extensions.logging.configuration";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.configuration/5.0.0/microsoft.extensions.logging.configuration.5.0.0.nupkg";
-      sha256 = "1kmjax24w0ph362jr64rr6f8pyn6ayq39k502q9yrgr7zgrv65pa";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.configuration/6.0.0/microsoft.extensions.logging.configuration.6.0.0.nupkg";
+      sha256 = "0plx785hk61arjxf0m3ywy9hl5nii25raj4523n3ql7mmv6hxqr1";
     };
   }
   {
     pname = "microsoft.extensions.logging.console";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.console/5.0.0/microsoft.extensions.logging.console.5.0.0.nupkg";
-      sha256 = "162akclrhk5r62fza8yr30p5824inwmrpq2s510c3a64v76v9cqz";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.logging.console/6.0.0/microsoft.extensions.logging.console.6.0.0.nupkg";
+      sha256 = "1383b0r33dzz0hrch9cqzzxr9vxr21qq0a5vnrpkfq71m2fky31d";
     };
   }
   {
@@ -513,10 +513,10 @@
   }
   {
     pname = "microsoft.extensions.options";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/5.0.0/microsoft.extensions.options.5.0.0.nupkg";
-      sha256 = "1rdmgpg770x8qwaaa6ryc27zh93p697fcyvn5vkxp0wimlhqkbay";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options/6.0.0/microsoft.extensions.options.6.0.0.nupkg";
+      sha256 = "008pnk2p50i594ahz308v81a41mbjz9mwcarqhmrjpl2d20c868g";
     };
   }
   {
@@ -529,10 +529,10 @@
   }
   {
     pname = "microsoft.extensions.options.configurationextensions";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options.configurationextensions/5.0.0/microsoft.extensions.options.configurationextensions.5.0.0.nupkg";
-      sha256 = "1085yrfgc70am43v8i5rxh14kal3bhdd5q85vgny5qp7y1rw0xyw";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.options.configurationextensions/6.0.0/microsoft.extensions.options.configurationextensions.6.0.0.nupkg";
+      sha256 = "1k6q91vrhq1r74l4skibn7wzxzww9l74ibxb2i8gg4q6fzbiivba";
     };
   }
   {
@@ -545,18 +545,58 @@
   }
   {
     pname = "microsoft.extensions.primitives";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/5.0.0/microsoft.extensions.primitives.5.0.0.nupkg";
-      sha256 = "0swqcknyh87ns82w539z1mvy804pfwhgzs97cr3nwqk6g5s42gd6";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.extensions.primitives/6.0.0/microsoft.extensions.primitives.6.0.0.nupkg";
+      sha256 = "1kjiw6s4yfz9gm7mx3wkhp06ghnbs95icj9hi505shz9rjrg42q2";
     };
   }
   {
-    pname = "microsoft.netcore.app.ref";
-    version = "3.1.0";
+    pname = "microsoft.netcore.app.host.win-arm64";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-arm64/6.0.0/microsoft.netcore.app.host.win-arm64.6.0.0.nupkg";
+      sha256 = "1cbqpyha0ys7f6pm90mxmr0f070imhqfnn9kgvi3hqszbv9fv808";
+    };
+  }
+  {
+    pname = "microsoft.netcore.app.host.win-x64";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-x64/6.0.0/microsoft.netcore.app.host.win-x64.6.0.0.nupkg";
+      sha256 = "1016ld3kg4dav2yxxh0i32cy0ixv7s0wl9czydbhkbs2d8669kfx";
+    };
+  }
+  {
+    pname = "microsoft.netcore.app.host.win-x86";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.host.win-x86/6.0.0/microsoft.netcore.app.host.win-x86.6.0.0.nupkg";
+      sha256 = "19fyd762mhgjw6zr65hms0gi32pg0iinsrzz88i00n75y6cmyg36";
+    };
+  }
+  {
+    pname = "microsoft.netcore.app.runtime.win-arm64";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.ref/3.1.0/microsoft.netcore.app.ref.3.1.0.nupkg";
-      sha256 = "08svsiilx9spvjamcnjswv0dlpdrgryhr3asdz7cvnl914gjzq4y";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-arm64/6.0.0/microsoft.netcore.app.runtime.win-arm64.6.0.0.nupkg";
+      sha256 = "0jd3h6q09v4wfam9dbl6yfkjy6b7y1wn87gqv2gzf088q9hfc1mc";
+    };
+  }
+  {
+    pname = "microsoft.netcore.app.runtime.win-x64";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-x64/6.0.0/microsoft.netcore.app.runtime.win-x64.6.0.0.nupkg";
+      sha256 = "13x1nkigy3nhbr8gxalij7krmzxpciyq4i8k7jdy9278zs1lm5a6";
+    };
+  }
+  {
+    pname = "microsoft.netcore.app.runtime.win-x86";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.app.runtime.win-x86/6.0.0/microsoft.netcore.app.runtime.win-x86.6.0.0.nupkg";
+      sha256 = "0p0y3njb618l4ihbsh033jhd8yn1sp8gfhwn722my2166saisjg5";
     };
   }
   {
@@ -593,6 +633,14 @@
   }
   {
     pname = "microsoft.netcore.platforms";
+    version = "3.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/3.0.0/microsoft.netcore.platforms.3.0.0.nupkg";
+      sha256 = "1bk8r4r3ihmi6322jmcag14jmw11mjqys202azqjzglcx59pxh51";
+    };
+  }
+  {
+    pname = "microsoft.netcore.platforms";
     version = "3.1.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/microsoft.netcore.platforms/3.1.0/microsoft.netcore.platforms.3.1.0.nupkg";
@@ -657,26 +705,18 @@
   }
   {
     pname = "microsoft.testplatform.objectmodel";
-    version = "16.9.4";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.objectmodel/16.9.4/microsoft.testplatform.objectmodel.16.9.4.nupkg";
-      sha256 = "1jizkbrnm4pv60zch29ki7gj8m7j5whk141x9cwx4kwsd6cfzwi6";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.objectmodel/17.0.0/microsoft.testplatform.objectmodel.17.0.0.nupkg";
+      sha256 = "1bh5scbvl6ndldqv20sl34h4y257irm9ziv2wyfc3hka6912fhn7";
     };
   }
   {
     pname = "microsoft.testplatform.translationlayer";
-    version = "16.9.4";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.translationlayer/16.9.4/microsoft.testplatform.translationlayer.16.9.4.nupkg";
-      sha256 = "0y5w2zflvq06jim2i6d49qi45ix0b8vlyf024w29n5g1lb570qf0";
-    };
-  }
-  {
-    pname = "microsoft.visualstudio.debugger.contracts";
-    version = "17.2.0-beta.21417.1";
+    version = "17.0.0";
     src = fetchurl {
-      url = "https://pkgs.dev.azure.com/azure-public/3ccf6661-f8ce-4e8a-bb2e-eff943ddd3c7/_packaging/78665e4c-b767-412b-9804-2b1ef7a48b8a/nuget/v3/flat2/microsoft.visualstudio.debugger.contracts/17.2.0-beta.21417.1/microsoft.visualstudio.debugger.contracts.17.2.0-beta.21417.1.nupkg";
-      sha256 = "14v8d0hp6p1jn4i6b12r6vx4cvxycpb37a0zh0amz0qkg4afr12d";
+      url = "https://api.nuget.org/v3-flatcontainer/microsoft.testplatform.translationlayer/17.0.0/microsoft.testplatform.translationlayer.17.0.0.nupkg";
+      sha256 = "08c6d9aiicpj8hsjb77rz7d2vmw7ivkcc0l1vgdgxddzjhjpy0pi";
     };
   }
   {
@@ -777,6 +817,14 @@
   }
   {
     pname = "netstandard.library";
+    version = "2.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/netstandard.library/2.0.0/netstandard.library.2.0.0.nupkg";
+      sha256 = "1bc4ba8ahgk15m8k4nd7x406nhi0kwqzbgjk2dmw52ss553xz7iy";
+    };
+  }
+  {
+    pname = "netstandard.library";
     version = "2.0.3";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/netstandard.library/2.0.3/netstandard.library.2.0.3.nupkg";
@@ -793,10 +841,10 @@
   }
   {
     pname = "newtonsoft.json";
-    version = "12.0.3";
+    version = "13.0.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/newtonsoft.json/12.0.3/newtonsoft.json.12.0.3.nupkg";
-      sha256 = "17dzl305d835mzign8r15vkmav2hq8l6g7942dfjpnzr17wwl89x";
+      url = "https://api.nuget.org/v3-flatcontainer/newtonsoft.json/13.0.1/newtonsoft.json.13.0.1.nupkg";
+      sha256 = "0fijg0w6iwap8gvzyjnndds0q4b8anwxxvik7y8vgq97dram4srb";
     };
   }
   {
@@ -809,14 +857,6 @@
   }
   {
     pname = "nuget.common";
-    version = "5.10.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.common/5.10.0/nuget.common.5.10.0.nupkg";
-      sha256 = "0qy6blgppgvxpfcricmvva3qzddk18dza5vy851jrbqshvf9g7kx";
-    };
-  }
-  {
-    pname = "nuget.common";
     version = "5.2.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/nuget.common/5.2.0/nuget.common.5.2.0.nupkg";
@@ -824,11 +864,11 @@
     };
   }
   {
-    pname = "nuget.configuration";
-    version = "5.10.0";
+    pname = "nuget.common";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.configuration/5.10.0/nuget.configuration.5.10.0.nupkg";
-      sha256 = "0xb1n94lrwa6k83i9xcsq68202086p2gj74gzlbhlvb8c2pw6lbb";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.common/6.0.0/nuget.common.6.0.0.nupkg";
+      sha256 = "0vbvmx2zzg54fv6617afi3z49cala70qj7jfxqnldjbc1z2c4b7r";
     };
   }
   {
@@ -840,11 +880,11 @@
     };
   }
   {
-    pname = "nuget.dependencyresolver.core";
-    version = "5.10.0";
+    pname = "nuget.configuration";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.dependencyresolver.core/5.10.0/nuget.dependencyresolver.core.5.10.0.nupkg";
-      sha256 = "0dhhclm281ihpfsjzxw34l6zlw49nwzyjiynkmsbcj9icfkp3y4r";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.configuration/6.0.0/nuget.configuration.6.0.0.nupkg";
+      sha256 = "1qnrahn4rbb55ra4zg9c947kbm9wdiv344f12c3b4c5i7bfmivx3";
     };
   }
   {
@@ -856,19 +896,19 @@
     };
   }
   {
-    pname = "nuget.frameworks";
-    version = "5.0.0";
+    pname = "nuget.dependencyresolver.core";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.frameworks/5.0.0/nuget.frameworks.5.0.0.nupkg";
-      sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.dependencyresolver.core/6.0.0/nuget.dependencyresolver.core.6.0.0.nupkg";
+      sha256 = "04w7wbfsb647apqrrzx3gj2jjlg09wdzmxj62bx43ngr34i4q83n";
     };
   }
   {
     pname = "nuget.frameworks";
-    version = "5.10.0";
+    version = "5.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.frameworks/5.10.0/nuget.frameworks.5.10.0.nupkg";
-      sha256 = "0gb6n8rg2jpjp52icgpb3wjdfs3qllh5vbcz8hbcix3l7dncy3v2";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.frameworks/5.0.0/nuget.frameworks.5.0.0.nupkg";
+      sha256 = "18ijvmj13cwjdrrm52c8fpq021531zaz4mj4b4zapxaqzzxf2qjr";
     };
   }
   {
@@ -880,11 +920,11 @@
     };
   }
   {
-    pname = "nuget.librarymodel";
-    version = "5.10.0";
+    pname = "nuget.frameworks";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.librarymodel/5.10.0/nuget.librarymodel.5.10.0.nupkg";
-      sha256 = "0b6mmq2mqfr06ypc772dmcd8bz55gkyfrgn0j3nrgkcdww4fzf9q";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.frameworks/6.0.0/nuget.frameworks.6.0.0.nupkg";
+      sha256 = "11p6mhh36s3vmnylfzw125fqivjk1xj75bvcxdav8n4sbk7d3gqs";
     };
   }
   {
@@ -896,11 +936,11 @@
     };
   }
   {
-    pname = "nuget.packaging";
-    version = "5.10.0";
+    pname = "nuget.librarymodel";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.packaging/5.10.0/nuget.packaging.5.10.0.nupkg";
-      sha256 = "11g0v061axhp0nisclq5cm2mc92d69z92giz9l40ih478c5nishw";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.librarymodel/6.0.0/nuget.librarymodel.6.0.0.nupkg";
+      sha256 = "0pg4m6v2j5vvld7s57fvx28ix7wlah6dakhi55qpavmkmnzp6g3f";
     };
   }
   {
@@ -912,19 +952,19 @@
     };
   }
   {
-    pname = "nuget.packaging.core";
-    version = "5.10.0";
+    pname = "nuget.packaging";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.packaging.core/5.10.0/nuget.packaging.core.5.10.0.nupkg";
-      sha256 = "1frxwwl583qwsj84rjgvd7il6icgxzxxps6yng75qx8ppf99dsr6";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.packaging/6.0.0/nuget.packaging.6.0.0.nupkg";
+      sha256 = "0vlcda74h6gq3q569kbbz4n3d26vihxaldvvi2md3phqf8jpvhjb";
     };
   }
   {
-    pname = "nuget.projectmodel";
-    version = "5.10.0";
+    pname = "nuget.packaging.core";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.projectmodel/5.10.0/nuget.projectmodel.5.10.0.nupkg";
-      sha256 = "1cqg319n986wciskrqsfawfhqp1d7a7i2qjd0qplpckyw8msng2i";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.packaging.core/6.0.0/nuget.packaging.core.6.0.0.nupkg";
+      sha256 = "1kk7rf7cavdicxb4bmwcgwykr53nrk38m6r49hvs85jhhvg9jmyf";
     };
   }
   {
@@ -936,11 +976,11 @@
     };
   }
   {
-    pname = "nuget.protocol";
-    version = "5.10.0";
+    pname = "nuget.projectmodel";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.protocol/5.10.0/nuget.protocol.5.10.0.nupkg";
-      sha256 = "0cs9qp169zx6g2w5bzrlhxv0q1i8mb8dxlb2nkiq7pkvah86rxkc";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.projectmodel/6.0.0/nuget.projectmodel.6.0.0.nupkg";
+      sha256 = "1fldxlw88jqgy0cfgfa7drqpxf909kfchcvk4nxj7vyhza2q715y";
     };
   }
   {
@@ -952,11 +992,11 @@
     };
   }
   {
-    pname = "nuget.versioning";
-    version = "5.10.0";
+    pname = "nuget.protocol";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/nuget.versioning/5.10.0/nuget.versioning.5.10.0.nupkg";
-      sha256 = "10vvw6vjpx0c26rlxh7dnpyp4prahn25717ccd8bzkjmyzhm90cs";
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.protocol/6.0.0/nuget.protocol.6.0.0.nupkg";
+      sha256 = "16rs9hfra4bly8jp0lxsg0gbpi9wvxh7nrxrdkbjm01vb0azw823";
     };
   }
   {
@@ -968,6 +1008,14 @@
     };
   }
   {
+    pname = "nuget.versioning";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/nuget.versioning/6.0.0/nuget.versioning.6.0.0.nupkg";
+      sha256 = "0xxrz0p9vd2ax8hcrdxcp3h6gv8qcy6mngp49dvg1ijjjr1jb85k";
+    };
+  }
+  {
     pname = "omnisharp.extensions.jsonrpc";
     version = "0.19.0";
     src = fetchurl {
@@ -1008,6 +1056,142 @@
     };
   }
   {
+    pname = "runtime.any.system.collections";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.collections/4.3.0/runtime.any.system.collections.4.3.0.nupkg";
+      sha256 = "0bv5qgm6vr47ynxqbnkc7i797fdi8gbjjxii173syrx14nmrkwg0";
+    };
+  }
+  {
+    pname = "runtime.any.system.diagnostics.tools";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.diagnostics.tools/4.3.0/runtime.any.system.diagnostics.tools.4.3.0.nupkg";
+      sha256 = "1wl76vk12zhdh66vmagni66h5xbhgqq7zkdpgw21jhxhvlbcl8pk";
+    };
+  }
+  {
+    pname = "runtime.any.system.diagnostics.tracing";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.diagnostics.tracing/4.3.0/runtime.any.system.diagnostics.tracing.4.3.0.nupkg";
+      sha256 = "00j6nv2xgmd3bi347k00m7wr542wjlig53rmj28pmw7ddcn97jbn";
+    };
+  }
+  {
+    pname = "runtime.any.system.globalization";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.globalization/4.3.0/runtime.any.system.globalization.4.3.0.nupkg";
+      sha256 = "1daqf33hssad94lamzg01y49xwndy2q97i2lrb7mgn28656qia1x";
+    };
+  }
+  {
+    pname = "runtime.any.system.globalization.calendars";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.globalization.calendars/4.3.0/runtime.any.system.globalization.calendars.4.3.0.nupkg";
+      sha256 = "1ghhhk5psqxcg6w88sxkqrc35bxcz27zbqm2y5p5298pv3v7g201";
+    };
+  }
+  {
+    pname = "runtime.any.system.io";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.io/4.3.0/runtime.any.system.io.4.3.0.nupkg";
+      sha256 = "0l8xz8zn46w4d10bcn3l4yyn4vhb3lrj2zw8llvz7jk14k4zps5x";
+    };
+  }
+  {
+    pname = "runtime.any.system.reflection";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.reflection/4.3.0/runtime.any.system.reflection.4.3.0.nupkg";
+      sha256 = "02c9h3y35pylc0zfq3wcsvc5nqci95nrkq0mszifc0sjx7xrzkly";
+    };
+  }
+  {
+    pname = "runtime.any.system.reflection.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.reflection.extensions/4.3.0/runtime.any.system.reflection.extensions.4.3.0.nupkg";
+      sha256 = "0zyri97dfc5vyaz9ba65hjj1zbcrzaffhsdlpxc9bh09wy22fq33";
+    };
+  }
+  {
+    pname = "runtime.any.system.reflection.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.reflection.primitives/4.3.0/runtime.any.system.reflection.primitives.4.3.0.nupkg";
+      sha256 = "0x1mm8c6iy8rlxm8w9vqw7gb7s1ljadrn049fmf70cyh42vdfhrf";
+    };
+  }
+  {
+    pname = "runtime.any.system.resources.resourcemanager";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.resources.resourcemanager/4.3.0/runtime.any.system.resources.resourcemanager.4.3.0.nupkg";
+      sha256 = "03kickal0iiby82wa5flar18kyv82s9s6d4xhk5h4bi5kfcyfjzl";
+    };
+  }
+  {
+    pname = "runtime.any.system.runtime";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.runtime/4.3.0/runtime.any.system.runtime.4.3.0.nupkg";
+      sha256 = "1cqh1sv3h5j7ixyb7axxbdkqx6cxy00p4np4j91kpm492rf4s25b";
+    };
+  }
+  {
+    pname = "runtime.any.system.runtime.handles";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.runtime.handles/4.3.0/runtime.any.system.runtime.handles.4.3.0.nupkg";
+      sha256 = "0bh5bi25nk9w9xi8z23ws45q5yia6k7dg3i4axhfqlnj145l011x";
+    };
+  }
+  {
+    pname = "runtime.any.system.runtime.interopservices";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.runtime.interopservices/4.3.0/runtime.any.system.runtime.interopservices.4.3.0.nupkg";
+      sha256 = "0c3g3g3jmhlhw4klrc86ka9fjbl7i59ds1fadsb2l8nqf8z3kb19";
+    };
+  }
+  {
+    pname = "runtime.any.system.text.encoding";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.text.encoding/4.3.0/runtime.any.system.text.encoding.4.3.0.nupkg";
+      sha256 = "0aqqi1v4wx51h51mk956y783wzags13wa7mgqyclacmsmpv02ps3";
+    };
+  }
+  {
+    pname = "runtime.any.system.text.encoding.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.text.encoding.extensions/4.3.0/runtime.any.system.text.encoding.extensions.4.3.0.nupkg";
+      sha256 = "0lqhgqi0i8194ryqq6v2gqx0fb86db2gqknbm0aq31wb378j7ip8";
+    };
+  }
+  {
+    pname = "runtime.any.system.threading.tasks";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.threading.tasks/4.3.0/runtime.any.system.threading.tasks.4.3.0.nupkg";
+      sha256 = "03mnvkhskbzxddz4hm113zsch1jyzh2cs450dk3rgfjp8crlw1va";
+    };
+  }
+  {
+    pname = "runtime.any.system.threading.timer";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.any.system.threading.timer/4.3.0/runtime.any.system.threading.timer.4.3.0.nupkg";
+      sha256 = "0aw4phrhwqz9m61r79vyfl5la64bjxj8l34qnrcwb28v49fg2086";
+    };
+  }
+  {
     pname = "runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl";
     version = "4.3.0";
     src = fetchurl {
@@ -1136,6 +1320,94 @@
     };
   }
   {
+    pname = "runtime.win10-arm64.runtime.native.system.io.compression";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win10-arm64.runtime.native.system.io.compression/4.3.0/runtime.win10-arm64.runtime.native.system.io.compression.4.3.0.nupkg";
+      sha256 = "1jrmrmqscn8cn2n3piar8n85gfsra7vlai23w9ldzprh0y4dw3v1";
+    };
+  }
+  {
+    pname = "runtime.win7.system.private.uri";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win7.system.private.uri/4.3.0/runtime.win7.system.private.uri.4.3.0.nupkg";
+      sha256 = "0bxkcmklp556dc43bra8ngc8wymcbbflcydi0xwq0j22gm66xf2m";
+    };
+  }
+  {
+    pname = "runtime.win7-x64.runtime.native.system.io.compression";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win7-x64.runtime.native.system.io.compression/4.3.0/runtime.win7-x64.runtime.native.system.io.compression.4.3.0.nupkg";
+      sha256 = "1dmbmksnxg12fk2p0k7rzy16448mddr2sfrnqs0rhhrzl0z22zi5";
+    };
+  }
+  {
+    pname = "runtime.win7-x86.runtime.native.system.io.compression";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win7-x86.runtime.native.system.io.compression/4.3.0/runtime.win7-x86.runtime.native.system.io.compression.4.3.0.nupkg";
+      sha256 = "08ppln62lcq3bz2kyxqyvh98payd5a7w8fzmb53mznkcfv32n55b";
+    };
+  }
+  {
+    pname = "runtime.win.microsoft.win32.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win.microsoft.win32.primitives/4.3.0/runtime.win.microsoft.win32.primitives.4.3.0.nupkg";
+      sha256 = "0k1h8nnp1s0p8rjwgjyj1387cc1yycv0k22igxc963lqdzrx2z36";
+    };
+  }
+  {
+    pname = "runtime.win.system.console";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win.system.console/4.3.0/runtime.win.system.console.4.3.0.nupkg";
+      sha256 = "0x2yajfrbc5zc6g7nmlr44xpjk6p1hxjq47jn3xki5j7i33zw9jc";
+    };
+  }
+  {
+    pname = "runtime.win.system.diagnostics.debug";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win.system.diagnostics.debug/4.3.0/runtime.win.system.diagnostics.debug.4.3.0.nupkg";
+      sha256 = "16fbn4bcynad1ygdq0yk1wmckvs8jvrrf104xa5dc2hlc8y3x58f";
+    };
+  }
+  {
+    pname = "runtime.win.system.io.filesystem";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win.system.io.filesystem/4.3.0/runtime.win.system.io.filesystem.4.3.0.nupkg";
+      sha256 = "1c01nklbxywszsbfaxc76hsz7gdxac3jkphrywfkdsi3v4bwd6g8";
+    };
+  }
+  {
+    pname = "runtime.win.system.net.primitives";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win.system.net.primitives/4.3.0/runtime.win.system.net.primitives.4.3.0.nupkg";
+      sha256 = "1dixh195bi7473n17hspll6i562gghdz9m4jk8d4kzi1mlzjk9cf";
+    };
+  }
+  {
+    pname = "runtime.win.system.net.sockets";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win.system.net.sockets/4.3.0/runtime.win.system.net.sockets.4.3.0.nupkg";
+      sha256 = "0lr3zki831vs6qhk5wckv2b9qbfk9rcj0ds2926qvj1b9y9m6sck";
+    };
+  }
+  {
+    pname = "runtime.win.system.runtime.extensions";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/runtime.win.system.runtime.extensions/4.3.0/runtime.win.system.runtime.extensions.4.3.0.nupkg";
+      sha256 = "1700famsxndccfbcdz9q14qb20p49lax67mqwpgy4gx3vja1yczr";
+    };
+  }
+  {
     pname = "sqlitepclraw.bundle_green";
     version = "2.0.4";
     src = fetchurl {
@@ -1201,14 +1473,6 @@
   }
   {
     pname = "system.buffers";
-    version = "4.5.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.buffers/4.5.0/system.buffers.4.5.0.nupkg";
-      sha256 = "1ywfqn4md6g3iilpxjn5dsr0f5lx6z0yvhqp4pgjcamygg73cz2c";
-    };
-  }
-  {
-    pname = "system.buffers";
     version = "4.5.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.buffers/4.5.1/system.buffers.4.5.1.nupkg";
@@ -1272,6 +1536,14 @@
     };
   }
   {
+    pname = "system.componentmodel.annotations";
+    version = "5.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.componentmodel.annotations/5.0.0/system.componentmodel.annotations.5.0.0.nupkg";
+      sha256 = "021h7x98lblq9avm1bgpa4i31c2kgsa7zn4sqhxf39g087ar756j";
+    };
+  }
+  {
     pname = "system.componentmodel.composition";
     version = "4.5.0";
     src = fetchurl {
@@ -1345,6 +1617,14 @@
   }
   {
     pname = "system.diagnostics.debug";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.debug/4.0.11/system.diagnostics.debug.4.0.11.nupkg";
+      sha256 = "0gmjghrqmlgzxivd2xl50ncbglb7ljzb66rlx8ws6dv8jm0d5siz";
+    };
+  }
+  {
+    pname = "system.diagnostics.debug";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.debug/4.3.0/system.diagnostics.debug.4.3.0.nupkg";
@@ -1361,10 +1641,26 @@
   }
   {
     pname = "system.diagnostics.diagnosticsource";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.diagnosticsource/5.0.0/system.diagnostics.diagnosticsource.5.0.0.nupkg";
-      sha256 = "0phd2qizshjvglhzws1jd0cq4m54gscz4ychzr3x6wbgl4vvfrga";
+      url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.diagnosticsource/6.0.0/system.diagnostics.diagnosticsource.6.0.0.nupkg";
+      sha256 = "0rrihs9lnb1h6x4h0hn6kgfnh58qq7hx8qq99gh6fayx4dcnx3s5";
+    };
+  }
+  {
+    pname = "system.diagnostics.process";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.process/4.3.0/system.diagnostics.process.4.3.0.nupkg";
+      sha256 = "0g4prsbkygq8m21naqmcp70f24a1ksyix3dihb1r1f71lpi3cfj7";
+    };
+  }
+  {
+    pname = "system.diagnostics.tools";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.diagnostics.tools/4.0.1/system.diagnostics.tools.4.0.1.nupkg";
+      sha256 = "19cknvg07yhakcvpxg3cxa0bwadplin6kyxd8mpjjpwnp56nl85x";
     };
   }
   {
@@ -1392,6 +1688,14 @@
     };
   }
   {
+    pname = "system.dynamic.runtime";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.dynamic.runtime/4.3.0/system.dynamic.runtime.4.3.0.nupkg";
+      sha256 = "1d951hrvrpndk7insiag80qxjbf2y0y39y8h5hnq9612ws661glk";
+    };
+  }
+  {
     pname = "system.formats.asn1";
     version = "5.0.0";
     src = fetchurl {
@@ -1465,6 +1769,14 @@
   }
   {
     pname = "system.io.filesystem";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.io.filesystem/4.0.1/system.io.filesystem.4.0.1.nupkg";
+      sha256 = "0kgfpw6w4djqra3w5crrg8xivbanh1w9dh3qapb28q060wb9flp1";
+    };
+  }
+  {
+    pname = "system.io.filesystem";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io.filesystem/4.3.0/system.io.filesystem.4.3.0.nupkg";
@@ -1473,6 +1785,14 @@
   }
   {
     pname = "system.io.filesystem.primitives";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.io.filesystem.primitives/4.0.1/system.io.filesystem.primitives.4.0.1.nupkg";
+      sha256 = "1s0mniajj3lvbyf7vfb5shp4ink5yibsx945k6lvxa96r8la1612";
+    };
+  }
+  {
+    pname = "system.io.filesystem.primitives";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.io.filesystem.primitives/4.3.0/system.io.filesystem.primitives.4.3.0.nupkg";
@@ -1497,6 +1817,14 @@
   }
   {
     pname = "system.linq";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.linq/4.1.0/system.linq.4.1.0.nupkg";
+      sha256 = "1ppg83svb39hj4hpp5k7kcryzrf3sfnm08vxd5sm2drrijsla2k5";
+    };
+  }
+  {
+    pname = "system.linq";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.linq/4.3.0/system.linq.4.3.0.nupkg";
@@ -1505,6 +1833,14 @@
   }
   {
     pname = "system.linq.expressions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.linq.expressions/4.1.0/system.linq.expressions.4.1.0.nupkg";
+      sha256 = "1gpdxl6ip06cnab7n3zlcg6mqp7kknf73s8wjinzi4p0apw82fpg";
+    };
+  }
+  {
+    pname = "system.linq.expressions";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.linq.expressions/4.3.0/system.linq.expressions.4.3.0.nupkg";
@@ -1536,6 +1872,22 @@
     };
   }
   {
+    pname = "system.net.http";
+    version = "4.3.4";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.net.http/4.3.4/system.net.http.4.3.4.nupkg";
+      sha256 = "0kdp31b8819v88l719j6my0yas6myv9d1viql3qz5577mv819jhl";
+    };
+  }
+  {
+    pname = "system.net.nameresolution";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.net.nameresolution/4.3.0/system.net.nameresolution.4.3.0.nupkg";
+      sha256 = "15r75pwc0rm3vvwsn8rvm2krf929mjfwliv0mpicjnii24470rkq";
+    };
+  }
+  {
     pname = "system.net.primitives";
     version = "4.3.0";
     src = fetchurl {
@@ -1577,6 +1929,14 @@
   }
   {
     pname = "system.objectmodel";
+    version = "4.0.12";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.objectmodel/4.0.12/system.objectmodel.4.0.12.nupkg";
+      sha256 = "1sybkfi60a4588xn34nd9a58png36i0xr4y4v4kqpg8wlvy5krrj";
+    };
+  }
+  {
+    pname = "system.objectmodel";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.objectmodel/4.3.0/system.objectmodel.4.3.0.nupkg";
@@ -1584,6 +1944,14 @@
     };
   }
   {
+    pname = "system.private.uri";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.private.uri/4.3.0/system.private.uri.4.3.0.nupkg";
+      sha256 = "04r1lkdnsznin0fj4ya1zikxiqr0h6r6a1ww2dsm60gqhdrf0mvx";
+    };
+  }
+  {
     pname = "system.reactive";
     version = "4.4.1";
     src = fetchurl {
@@ -1617,6 +1985,14 @@
   }
   {
     pname = "system.reflection.emit";
+    version = "4.0.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit/4.0.1/system.reflection.emit.4.0.1.nupkg";
+      sha256 = "0ydqcsvh6smi41gyaakglnv252625hf29f7kywy2c70nhii2ylqp";
+    };
+  }
+  {
+    pname = "system.reflection.emit";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit/4.3.0/system.reflection.emit.4.3.0.nupkg";
@@ -1624,11 +2000,11 @@
     };
   }
   {
-    pname = "system.reflection.emit";
-    version = "4.6.0";
+    pname = "system.reflection.emit.ilgeneration";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit/4.6.0/system.reflection.emit.4.6.0.nupkg";
-      sha256 = "18h375q5bn9h7swxnk4krrxym1dxmi9bm26p89xps9ygrj4q6zqw";
+      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit.ilgeneration/4.0.1/system.reflection.emit.ilgeneration.4.0.1.nupkg";
+      sha256 = "1pcd2ig6bg144y10w7yxgc9d22r7c7ww7qn1frdfwgxr24j9wvv0";
     };
   }
   {
@@ -1640,11 +2016,11 @@
     };
   }
   {
-    pname = "system.reflection.emit.ilgeneration";
-    version = "4.6.0";
+    pname = "system.reflection.emit.lightweight";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit.ilgeneration/4.6.0/system.reflection.emit.ilgeneration.4.6.0.nupkg";
-      sha256 = "0jxc26k5q0rwrldi30bfbrfw4jh3kvribzwc8ryzr24kmhr3vv96";
+      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit.lightweight/4.0.1/system.reflection.emit.lightweight.4.0.1.nupkg";
+      sha256 = "1s4b043zdbx9k39lfhvsk68msv1nxbidhkq6nbm27q7sf8xcsnxr";
     };
   }
   {
@@ -1656,11 +2032,11 @@
     };
   }
   {
-    pname = "system.reflection.emit.lightweight";
-    version = "4.6.0";
+    pname = "system.reflection.extensions";
+    version = "4.0.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.emit.lightweight/4.6.0/system.reflection.emit.lightweight.4.6.0.nupkg";
-      sha256 = "0hry2k6b7kicg4zxnq0hhn0ys52711pxy7l9v5sp7gvp9cicwpgp";
+      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.extensions/4.0.1/system.reflection.extensions.4.0.1.nupkg";
+      sha256 = "0m7wqwq0zqq9gbpiqvgk3sr92cbrw7cp3xn53xvw7zj6rz6fdirn";
     };
   }
   {
@@ -1705,6 +2081,14 @@
   }
   {
     pname = "system.reflection.typeextensions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.reflection.typeextensions/4.1.0/system.reflection.typeextensions.4.1.0.nupkg";
+      sha256 = "1bjli8a7sc7jlxqgcagl9nh8axzfl11f4ld3rjqsyxc516iijij7";
+    };
+  }
+  {
+    pname = "system.reflection.typeextensions";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.reflection.typeextensions/4.3.0/system.reflection.typeextensions.4.3.0.nupkg";
@@ -1777,14 +2161,6 @@
   }
   {
     pname = "system.runtime.compilerservices.unsafe";
-    version = "4.7.0";
-    src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.7.0/system.runtime.compilerservices.unsafe.4.7.0.nupkg";
-      sha256 = "16r6sn4czfjk8qhnz7bnqlyiaaszr0ihinb7mq9zzr1wba257r54";
-    };
-  }
-  {
-    pname = "system.runtime.compilerservices.unsafe";
     version = "4.7.1";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/4.7.1/system.runtime.compilerservices.unsafe.4.7.1.nupkg";
@@ -1800,6 +2176,14 @@
     };
   }
   {
+    pname = "system.runtime.compilerservices.unsafe";
+    version = "6.0.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.runtime.compilerservices.unsafe/6.0.0/system.runtime.compilerservices.unsafe.6.0.0.nupkg";
+      sha256 = "0qm741kh4rh57wky16sq4m0v05fxmkjjr87krycf5vp9f0zbahbc";
+    };
+  }
+  {
     pname = "system.runtime.extensions";
     version = "4.1.0";
     src = fetchurl {
@@ -1880,6 +2264,14 @@
     };
   }
   {
+    pname = "system.runtime.serialization.primitives";
+    version = "4.1.1";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.runtime.serialization.primitives/4.1.1/system.runtime.serialization.primitives.4.1.1.nupkg";
+      sha256 = "042rfjixknlr6r10vx2pgf56yming8lkjikamg3g4v29ikk78h7k";
+    };
+  }
+  {
     pname = "system.security.accesscontrol";
     version = "4.5.0";
     src = fetchurl {
@@ -1904,6 +2296,14 @@
     };
   }
   {
+    pname = "system.security.claims";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.claims/4.3.0/system.security.claims.4.3.0.nupkg";
+      sha256 = "0jvfn7j22l3mm28qjy3rcw287y9h65ha4m940waaxah07jnbzrhn";
+    };
+  }
+  {
     pname = "system.security.cryptography.algorithms";
     version = "4.3.0";
     src = fetchurl {
@@ -1993,6 +2393,14 @@
   }
   {
     pname = "system.security.cryptography.protecteddata";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.3.0/system.security.cryptography.protecteddata.4.3.0.nupkg";
+      sha256 = "1kg264xmqabyz8gfg8ymp6qp6aw43vawfp0znf0909d7b5jd3dq9";
+    };
+  }
+  {
+    pname = "system.security.cryptography.protecteddata";
     version = "4.4.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.security.cryptography.protecteddata/4.4.0/system.security.cryptography.protecteddata.4.4.0.nupkg";
@@ -2040,6 +2448,22 @@
     };
   }
   {
+    pname = "system.security.principal";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.principal/4.3.0/system.security.principal.4.3.0.nupkg";
+      sha256 = "12cm2zws06z4lfc4dn31iqv7072zyi4m910d4r6wm8yx85arsfxf";
+    };
+  }
+  {
+    pname = "system.security.principal.windows";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.security.principal.windows/4.3.0/system.security.principal.windows.4.3.0.nupkg";
+      sha256 = "00a0a7c40i3v4cb20s2cmh9csb5jv2l0frvnlzyfxh848xalpdwr";
+    };
+  }
+  {
     pname = "system.security.principal.windows";
     version = "4.5.0";
     src = fetchurl {
@@ -2097,6 +2521,14 @@
   }
   {
     pname = "system.text.encoding.extensions";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.encoding.extensions/4.0.11/system.text.encoding.extensions.4.0.11.nupkg";
+      sha256 = "08nsfrpiwsg9x5ml4xyl3zyvjfdi4mvbqf93kjdh11j4fwkznizs";
+    };
+  }
+  {
+    pname = "system.text.encoding.extensions";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.text.encoding.extensions/4.3.0/system.text.encoding.extensions.4.3.0.nupkg";
@@ -2105,34 +2537,42 @@
   }
   {
     pname = "system.text.encodings.web";
-    version = "4.7.0";
+    version = "5.0.1";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/4.7.0/system.text.encodings.web.4.7.0.nupkg";
-      sha256 = "0sd3bihfar5rwm6nib4lhyys306nkm02qvk6p6sgzmnlfmma2wn3";
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/5.0.1/system.text.encodings.web.5.0.1.nupkg";
+      sha256 = "00yg63qnp94q2qryxxggzigi276bibb8b3b96gcvsyrxy7b703n9";
     };
   }
   {
     pname = "system.text.encodings.web";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/5.0.0/system.text.encodings.web.5.0.0.nupkg";
-      sha256 = "144pgy65jc3bkar7d4fg1c0rq6qmkx68gj9k1ldk97558w22v1r1";
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.encodings.web/6.0.0/system.text.encodings.web.6.0.0.nupkg";
+      sha256 = "06n9ql3fmhpjl32g3492sj181zjml5dlcc5l76xq2h38c4f87sai";
     };
   }
   {
     pname = "system.text.json";
-    version = "4.7.0";
+    version = "5.0.2";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.text.json/4.7.0/system.text.json.4.7.0.nupkg";
-      sha256 = "0fp3xrysccm5dkaac4yb51d793vywxks978kkl5x4db9gw29rfdr";
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.json/5.0.2/system.text.json.5.0.2.nupkg";
+      sha256 = "0vd0wd29cdhgcjngl9sw391sn2s8xm974y15zvym0whsdgjwiqfx";
     };
   }
   {
     pname = "system.text.json";
-    version = "5.0.0";
+    version = "6.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.text.json/5.0.0/system.text.json.5.0.0.nupkg";
-      sha256 = "1gpgl18z6qrgmqrikgh99xkjwzb1didrjp77bch7nrlra21gr4ks";
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.json/6.0.0/system.text.json.6.0.0.nupkg";
+      sha256 = "1si2my1g0q0qv1hiqnji4xh9wd05qavxnzj9dwgs23iqvgjky0gl";
+    };
+  }
+  {
+    pname = "system.text.regularexpressions";
+    version = "4.1.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.text.regularexpressions/4.1.0/system.text.regularexpressions.4.1.0.nupkg";
+      sha256 = "1mw7vfkkyd04yn2fbhm38msk7dz2xwvib14ygjsb8dq2lcvr18y7";
     };
   }
   {
@@ -2160,6 +2600,14 @@
     };
   }
   {
+    pname = "system.threading.overlapped";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.threading.overlapped/4.3.0/system.threading.overlapped.4.3.0.nupkg";
+      sha256 = "1nahikhqh9nk756dh8p011j36rlcp1bzz3vwi2b4m1l2s3vz8idm";
+    };
+  }
+  {
     pname = "system.threading.tasks";
     version = "4.0.11";
     src = fetchurl {
@@ -2185,18 +2633,18 @@
   }
   {
     pname = "system.threading.tasks.extensions";
-    version = "4.3.0";
+    version = "4.0.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg";
-      sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
+      url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.0.0/system.threading.tasks.extensions.4.0.0.nupkg";
+      sha256 = "1cb51z062mvc2i8blpzmpn9d9mm4y307xrwi65di8ri18cz5r1zr";
     };
   }
   {
     pname = "system.threading.tasks.extensions";
-    version = "4.5.2";
+    version = "4.3.0";
     src = fetchurl {
-      url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.5.2/system.threading.tasks.extensions.4.5.2.nupkg";
-      sha256 = "1sh63dz0dymqcwmprp0nadm77b83vmm7lyllpv578c397bslb8hj";
+      url = "https://api.nuget.org/v3-flatcontainer/system.threading.tasks.extensions/4.3.0/system.threading.tasks.extensions.4.3.0.nupkg";
+      sha256 = "1xxcx2xh8jin360yjwm4x4cf5y3a2bwpn2ygkfkwkicz7zk50s2z";
     };
   }
   {
@@ -2216,6 +2664,22 @@
     };
   }
   {
+    pname = "system.threading.thread";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.threading.thread/4.3.0/system.threading.thread.4.3.0.nupkg";
+      sha256 = "0y2xiwdfcph7znm2ysxanrhbqqss6a3shi1z3c779pj2s523mjx4";
+    };
+  }
+  {
+    pname = "system.threading.threadpool";
+    version = "4.3.0";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.threading.threadpool/4.3.0/system.threading.threadpool.4.3.0.nupkg";
+      sha256 = "027s1f4sbx0y1xqw2irqn6x161lzj8qwvnh2gn78ciiczdv10vf1";
+    };
+  }
+  {
     pname = "system.threading.timer";
     version = "4.3.0";
     src = fetchurl {
@@ -2241,6 +2705,14 @@
   }
   {
     pname = "system.xml.readerwriter";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.xml.readerwriter/4.0.11/system.xml.readerwriter.4.0.11.nupkg";
+      sha256 = "0c6ky1jk5ada9m94wcadih98l6k1fvf6vi7vhn1msjixaha419l5";
+    };
+  }
+  {
+    pname = "system.xml.readerwriter";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.xml.readerwriter/4.3.0/system.xml.readerwriter.4.3.0.nupkg";
@@ -2249,6 +2721,14 @@
   }
   {
     pname = "system.xml.xdocument";
+    version = "4.0.11";
+    src = fetchurl {
+      url = "https://api.nuget.org/v3-flatcontainer/system.xml.xdocument/4.0.11/system.xml.xdocument.4.0.11.nupkg";
+      sha256 = "0n4lvpqzy9kc7qy1a4acwwd7b7pnvygv895az5640idl2y9zbz18";
+    };
+  }
+  {
+    pname = "system.xml.xdocument";
     version = "4.3.0";
     src = fetchurl {
       url = "https://api.nuget.org/v3-flatcontainer/system.xml.xdocument/4.3.0/system.xml.xdocument.4.3.0.nupkg";
diff --git a/pkgs/development/tools/open-policy-agent/default.nix b/pkgs/development/tools/open-policy-agent/default.nix
index 93493452d23..1e805e8932e 100644
--- a/pkgs/development/tools/open-policy-agent/default.nix
+++ b/pkgs/development/tools/open-policy-agent/default.nix
@@ -8,13 +8,13 @@
 
 buildGoModule rec {
   pname = "open-policy-agent";
-  version = "0.36.1";
+  version = "0.37.2";
 
   src = fetchFromGitHub {
     owner = "open-policy-agent";
     repo = "opa";
     rev = "v${version}";
-    sha256 = "sha256-Eoc+1Jwv0xUAQNtyHWCKezcpV6zWMFgNYtmkqAoedV0=";
+    sha256 = "sha256-2DkqRKAN7eOTBG6P3YYa5N9oJ0ndm35jIxK7o5Z3dfA=";
   };
   vendorSha256 = null;
 
diff --git a/pkgs/development/tools/operator-sdk/default.nix b/pkgs/development/tools/operator-sdk/default.nix
index 23bd877a698..cc18a6af227 100644
--- a/pkgs/development/tools/operator-sdk/default.nix
+++ b/pkgs/development/tools/operator-sdk/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "operator-sdk";
-  version = "1.12.0";
+  version = "1.17.0";
 
   src = fetchFromGitHub {
     owner = "operator-framework";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-+AWkzv6SI/d3p1ljopSyLg2qi1hv6PsynmVG7+lUSTw=";
+    sha256 = "sha256-zgiJDmpjmm2rzi12XAT+bHpiOKwi1k6xd9fvPGwFNXQ=";
   };
 
-  vendorSha256 = "sha256-jYBkC0IA2xbRa+56CW/5EWG8sYg3eRuFdLpOFSinuuw=";
+  vendorSha256 = "sha256-kilFwOSIToURJFqfa1/PtdUA21ieJzL9vgsXbYNbht0=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/oq/default.nix b/pkgs/development/tools/oq/default.nix
index 31085e748c2..32be1251161 100644
--- a/pkgs/development/tools/oq/default.nix
+++ b/pkgs/development/tools/oq/default.nix
@@ -8,13 +8,13 @@
 
 crystal.buildCrystalPackage rec {
   pname = "oq";
-  version = "1.3.1";
+  version = "1.3.2";
 
   src = fetchFromGitHub {
     owner = "Blacksmoke16";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-La2oi+r9sCmnacgjQe+LcTQ7EXKorSoTTD4LhNtQsYk=";
+    sha256 = "sha256-iGKyP3NrAnR3ISOBq+YR/vwarlnIY4u4ZwdqSBnBC7U=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/oshka/default.nix b/pkgs/development/tools/oshka/default.nix
index bf31a9d9f31..5e7ca5a7da2 100644
--- a/pkgs/development/tools/oshka/default.nix
+++ b/pkgs/development/tools/oshka/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "oshka";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "k1LoW";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1niyy7yiynpwa2cvcj4r3305v8ca4324q512839y79s3izd6a1lf";
+    sha256 = "sha256-fpWhqFK5h/U7DCC/SyhAlMyCMhjZHRLMlwakvlhOd3w=";
   };
 
-  vendorSha256 = "08aj3nmj8angizkd3rbwbm7qzqxwrgfm1rka2x2a096z6mc3f4k4";
+  vendorSha256 = "sha256-ZBI3WDXfJKBEF2rmUN3LvOOPT1185dHmj88qJKsdUiE=";
 
   ldflags = [
     "-w"
diff --git a/pkgs/development/tools/parsing/byacc/default.nix b/pkgs/development/tools/parsing/byacc/default.nix
index b02af6e7e86..90bd3f38c3b 100644
--- a/pkgs/development/tools/parsing/byacc/default.nix
+++ b/pkgs/development/tools/parsing/byacc/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "byacc";
-  version = "20211224";
+  version = "20220128";
 
   src = fetchurl {
     urls = [
       "ftp://ftp.invisible-island.net/byacc/${pname}-${version}.tgz"
       "https://invisible-mirror.net/archives/byacc/${pname}-${version}.tgz"
     ];
-    sha256 = "sha256-e8QoZ6CV3yGJYYtkSXAWKYgY6I5RP8p5LLWtyaaOv7g=";
+    sha256 = "sha256-QsGAXMUpMU5qdjJv4bM+gMcIYqRLAUdNo2Li99stdJw=";
   };
 
   configureFlags = [
diff --git a/pkgs/development/tools/parsing/ragel/default.nix b/pkgs/development/tools/parsing/ragel/default.nix
index c23b352dece..8e000cd0fc2 100644
--- a/pkgs/development/tools/parsing/ragel/default.nix
+++ b/pkgs/development/tools/parsing/ragel/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, transfig, tex, ghostscript, colm
+{ lib, stdenv, fetchurl, fig2dev, tex, ghostscript, colm
 , build-manual ? false
 }:
 
@@ -13,7 +13,7 @@ let
         inherit sha256;
       };
 
-      buildInputs = lib.optional build-manual [ transfig ghostscript tex ];
+      buildInputs = lib.optional build-manual [ fig2dev ghostscript tex ];
 
       preConfigure = lib.optionalString build-manual ''
         sed -i "s/build_manual=no/build_manual=yes/g" DIST
diff --git a/pkgs/development/tools/parsing/re2c/default.nix b/pkgs/development/tools/parsing/re2c/default.nix
index c3b09b71d17..41ec653a409 100644
--- a/pkgs/development/tools/parsing/re2c/default.nix
+++ b/pkgs/development/tools/parsing/re2c/default.nix
@@ -2,18 +2,19 @@
 , stdenv
 , fetchFromGitHub
 , autoreconfHook
+, nix-update-script
 , python3
 }:
 
 stdenv.mkDerivation rec {
   pname = "re2c";
-  version = "2.2";
+  version = "3.0";
 
   src = fetchFromGitHub {
     owner  = "skvadrik";
     repo   = "re2c";
     rev    = version;
-    sha256 = "0snfxk1cf2f4dy4hcxd1fx1grav3di0qjgqqn97k85zsf9f6ys78";
+    sha256 = "sha256-ovwmltu97fzNQT0oZHefrAo4yV9HV1NwcY4PTSM5Bro=";
   };
 
   nativeBuildInputs = [
@@ -28,6 +29,12 @@ stdenv.mkDerivation rec {
     patchShebangs run_tests.py
   '';
 
+  passthru = {
+    updateScript = nix-update-script {
+      attrPath = pname;
+    };
+  };
+
   meta = with lib; {
     description = "Tool for writing very fast and very flexible scanners";
     homepage    = "https://re2c.org";
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json
index 61e0ee43fc7..9e5bce1b0a4 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-cmake.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/uyha/tree-sitter-cmake",
-  "rev": "f6616f1e417ee8b62daf251aa1daa5d73781c596",
-  "date": "2021-10-13T08:19:43+02:00",
-  "path": "/nix/store/p13qh130n5741wdfk2fbmy7ifd1z1zb2-tree-sitter-cmake",
-  "sha256": "1b5cc84d0gjm8nb73gdvfjxbk9fjrfkd5aay3b0qvk6gar59pcj6",
+  "rev": "5020572408a386d5d2dfac3516584f5edda7a49b",
+  "date": "2022-01-26T22:53:15+01:00",
+  "path": "/nix/store/in8jrkjf5vca2azpnyq2dgmzz9jcvjy6-tree-sitter-cmake",
+  "sha256": "0y49x8d36vdq2lcj67f3ms53qxym3578b3aw9gs2ckibwzrbfbgy",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json
index cefe88d8be1..ed62f80e237 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-commonlisp.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/thehamsta/tree-sitter-commonlisp",
-  "rev": "4fd115d3bb7046cd094f21bfe5766c302dbf64cd",
-  "date": "2021-12-06T20:34:14+01:00",
-  "path": "/nix/store/vmyfmgyhnx0ipi16d1w7sxsdkprybzk7-tree-sitter-commonlisp",
-  "sha256": "1kmxmx93f34lba5g7kqa5fcijfak9zc9qydbid9dcqxw6kf65ncg",
+  "rev": "c7e814975ab0d0d04333d1f32391c41180c58919",
+  "date": "2022-01-28T21:33:11+01:00",
+  "path": "/nix/store/1696bj1f92y8vqfk71cha8bzk9cx9rls-tree-sitter-commonlisp",
+  "sha256": "1hq3pwrp8509scgn983g0mi8pjy2q21pms30xlc3q7yyjxvpsw7b",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json
index 3618413500e..19129d053a0 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-elm.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/elm-tooling/tree-sitter-elm",
-  "rev": "bd50ccf66b42c55252ac8efc1086af4ac6bab8cd",
-  "date": "2021-12-27T23:25:02+01:00",
-  "path": "/nix/store/l5b9nhvrnq4a105rpmfi59dpg2xqs5nr-tree-sitter-elm",
-  "sha256": "1ls9l81nkcyym92n6h983m3jjjxdlr27nxa21p9l6czwf34564ky",
+  "rev": "5128296ba8542853d59e6b7c8dfe3d1fb9a637ea",
+  "date": "2022-02-04T13:10:25+01:00",
+  "path": "/nix/store/8brpvn8y88x3f3dsbgqql57kp9bygj3w-tree-sitter-elm",
+  "sha256": "10hbi4vyj4hjixqswdcbvzl60prldczz29mlp02if61wvwiwvqrw",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
index b6ff0d8a326..654a89b5979 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-heex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/connorlay/tree-sitter-heex",
-  "rev": "d8b5b9f016cd3c7b0ee916cf031d9a2188c0fc44",
-  "date": "2022-01-23T20:01:08-08:00",
-  "path": "/nix/store/iv3vxp8cdnfhpr75gvqvm8hmvfw8hw51-tree-sitter-heex",
-  "sha256": "0dx6l9k6l5ibvrdb7x13lqnpj5nmjz8f5lc8j8wh4cq2jdabfw0k",
+  "rev": "592e22292a367312c35e13de7fdb888f029981d6",
+  "date": "2022-01-30T14:04:04-08:00",
+  "path": "/nix/store/21n6sqyvkfd0q5ass9nj2wgicm9ljmgv-tree-sitter-heex",
+  "sha256": "1k4nhlbbn7lqrjmkz8rr81rsrfkl9qfwm9q7qd2b18ygzr52payh",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
index bfa5df37337..5cf20f27968 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-latex.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/latex-lsp/tree-sitter-latex",
-  "rev": "6f796b700c69a8af28132e84ed6d0c8f0c17a5e2",
-  "date": "2022-01-11T19:20:05+01:00",
-  "path": "/nix/store/48rdm71qngr9szsfhr85708srwn6b4ra-tree-sitter-latex",
-  "sha256": "0rbaql6jh3kwa4fap3b438l1733h2pbiazdbjzv38bbigkirad0n",
+  "rev": "323b609de40b7729073482a3c59de76cfba7744f",
+  "date": "2022-02-08T21:23:53+01:00",
+  "path": "/nix/store/f6kvr0x41rbb64s36ii6bj30fqaallz4-tree-sitter-latex",
+  "sha256": "1qsw5wcqs65ip0qq17vq6bf2snnpvw61iq2ahgwl9842ir15hrbr",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json
index 189301c7293..1743d2252cd 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-norg.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/nvim-neorg/tree-sitter-norg",
-  "rev": "c4be6addec0a8ada234684ced6c928189fd399af",
-  "date": "2022-01-22T17:12:52+01:00",
-  "path": "/nix/store/x73fgsrav1fg0vzydcy4ayrawn0cw7w2-tree-sitter-norg",
-  "sha256": "14wf53p6lkf4xknzb4bngh9fsas6hnr8iv73xnalyf8mqq1977pc",
+  "rev": "b7f879eaf9f20852f6b670439154b0128fbb6558",
+  "date": "2022-02-08T12:24:02+01:00",
+  "path": "/nix/store/q02py98zm9cmalzc5a0yqw8lg73ybx9g-tree-sitter-norg",
+  "sha256": "07hm5sysb25ivlz52ijnbka02hlqksha259w7v03awap85i9ydk6",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
index 23df3b743c7..67e75cd60ee 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-org-nvim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/milisims/tree-sitter-org",
-  "rev": "f110024d539e676f25b72b7c80b0fd43c34264ef",
-  "date": "2021-11-28T23:04:31-05:00",
-  "path": "/nix/store/8vc7ddhd2wzrin3cj14zrw5mmi58f8sl-tree-sitter-org",
-  "sha256": "1gvqvdapqfac1ny1a0l590h1w617wczwv234fsnal6amfdyganxc",
+  "rev": "1c3eb533a9cf6800067357b59e03ac3f91fc3a54",
+  "date": "2022-02-05T14:19:52-05:00",
+  "path": "/nix/store/n51rx6d005iibpvb1bb2d7az1l6p6vlq-tree-sitter-org",
+  "sha256": "06xkhhdlkikvxadp7wnk8riz51mjq9ks1jchdy9x3fmq6bj72y1p",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
index e64e3f6bff3..856d6bbb7e5 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-php.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-php",
-  "rev": "57f855461aeeca73bd4218754fb26b5ac143f98f",
-  "date": "2021-11-19T17:22:11+01:00",
-  "path": "/nix/store/lxl3r0lykb9b3r0sdqb3sqixlnaf6015-tree-sitter-php",
-  "sha256": "1v7xzc8w8nilmgnx6whdvq03dbi1z8j57aarwwzx9xbb86z2qhvc",
+  "rev": "0ce134234214427b6aeb2735e93a307881c6cd6f",
+  "date": "2022-01-31T19:53:17+01:00",
+  "path": "/nix/store/kdddnbbsik9wvnjh1wnbyzzr1x8v64ps-tree-sitter-php",
+  "sha256": "0gg3p1zpwfhf0qz0isnca0zi5zkxs5j5bmjix99dv3rkw911vk17",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
index 548764811a5..e724e7bbebc 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-python.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-python",
-  "rev": "24b530ca158d2782ea9046e756057a412e16b52f",
-  "date": "2021-11-11T20:37:43-08:00",
-  "path": "/nix/store/1fqgxgb3l6wxvsvzaa2f26h5ywiyxz5h-tree-sitter-python",
-  "sha256": "1d8d66v64jwwk73y8q94n80w0f0cs7wjnww49b0sbmpa9d3hsfl6",
+  "rev": "78c4e9b6b2f08e1be23b541ffced47b15e2972ad",
+  "date": "2022-02-07T12:53:14-08:00",
+  "path": "/nix/store/9i5fh21cwa6w2zq9fkcn46207pbk2fzn-tree-sitter-python",
+  "sha256": "09xq6ymwa2ap4432yln5qs0y41iaxbrpp4m07pvydgcmyk3blxvv",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
index dc339fe1fd6..f77e9292253 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-r.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/r-lib/tree-sitter-r",
-  "rev": "d9868735e401e4870a3d4422790b585fea3faec8",
-  "date": "2022-01-10T10:12:40-05:00",
-  "path": "/nix/store/b2dp06sk8s3ksm382gndshhd1mxmd6n6-tree-sitter-r",
-  "sha256": "1pl38gksb4cwdgrb92rbmkanxn65m99i6c8w8xldhs0q97d1v5k0",
+  "rev": "c19e54de252d5573cc2a762a030957074526fe99",
+  "date": "2022-01-27T09:41:27-05:00",
+  "path": "/nix/store/b2h3khs1x0j4j2fvs2sbkx1dp3d8fx4g-tree-sitter-r",
+  "sha256": "1zan8dhjpxrn7vy7mvbc85hcdd5lls3vzpk6nchvn3j0i1ach85h",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
index 1479f09e067..87cc40f83b8 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-rust.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tree-sitter/tree-sitter-rust",
-  "rev": "eeb0702ebdac504b97196577b1dac43c80913d7b",
-  "date": "2022-01-10T13:05:56-08:00",
-  "path": "/nix/store/sh170d6b589l16rhlygz6hvn1dmfhlb1-tree-sitter-rust",
-  "sha256": "1npx8kc4qdjj1fszqx6ks1d0x0pklmzm3gkxracs7y28lh2whrvq",
+  "rev": "a250c4582510ff34767ec3b7dcdd3c24e8c8aa68",
+  "date": "2022-02-04T13:11:35-08:00",
+  "path": "/nix/store/i1f2zyrqghy98pl7dfnvcpbs3jsnmhay-tree-sitter-rust",
+  "sha256": "174j5pxwf80c4xniri39l3a6bb7nq96g2s8hh5sgv4i7xvbpfsmg",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json
index 03644c839c3..0b2637a1438 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-scss.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/serenadeai/tree-sitter-scss",
-  "rev": "f3174d3d131eb776f86dfa3d90fe6f7325c0ad9a",
-  "date": "2021-11-08T17:21:33-08:00",
-  "path": "/nix/store/qpmqd6a3rnrp451b5jjmqqwark276smj-tree-sitter-scss",
-  "sha256": "0c8mx5fxcfn8wn361i7pnr3xga7vm2jjj99ilkqljir71nl6bm11",
+  "rev": "c478c6868648eff49eb04a4df90d703dc45b312a",
+  "date": "2022-02-03T21:48:21+00:00",
+  "path": "/nix/store/s49l3jbhjni3l1d0m3xrpzml39aq9yr3-tree-sitter-scss",
+  "sha256": "15r3jiv36hzx2pmjmp63am3pbc01s52z36xfraa1aw4wlx7lqnq4",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
index 7dcf59de2ff..24f57762949 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-supercollider.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/madskjeldgaard/tree-sitter-supercollider",
-  "rev": "a7201b61779be59ac0fc0d118746c886dbc3edbd",
-  "date": "2022-01-14T01:11:12+01:00",
-  "path": "/nix/store/rgy05854am625shbs13gjx0yggbb6awh-tree-sitter-supercollider",
-  "sha256": "118mbv8d5n2lb4w5cbjy657g9z9z910gvjjj41a2rkx971vgb6w3",
+  "rev": "0f0e5b5a96dd3e048a9c3db648ed969c44068bff",
+  "date": "2022-02-01T13:46:31+01:00",
+  "path": "/nix/store/5rzm6vnqvpwxwakrjyy93hg0glfvcx93-tree-sitter-supercollider",
+  "sha256": "0nxl43j7ddsddqcq56p921h1r5jkx8v49zxjzr6mcj6y1ljzndm2",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json
index 86e9a86bbcc..2ffc311fd94 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-tlaplus.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/tlaplus-community/tree-sitter-tlaplus",
-  "rev": "ffa98bbbd80e425f07e92bf511e64c8b0dffc1c7",
-  "date": "2022-01-23T09:32:54-05:00",
-  "path": "/nix/store/rbxa4biim19pwiz6gmh0ag5cz68rws3k-tree-sitter-tlaplus",
-  "sha256": "0j8bwxdvdhfhvpiahbf0hr9hfkbg75p7qpxx2i1rgvidavflbpiv",
+  "rev": "dde405e5128c3c47ab8aa014d21b6e5296ca450f",
+  "date": "2022-02-03T12:27:54-05:00",
+  "path": "/nix/store/vwmr9wd4agmym5ryrchl470qa46j8ymr-tree-sitter-tlaplus",
+  "sha256": "06g5pbx4rydfryfxfqjq37akhqn2465xwh90r5yc5rdv0kppvbhq",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
index bb57181f00f..12322fe82b4 100644
--- a/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
+++ b/pkgs/development/tools/parsing/tree-sitter/grammars/tree-sitter-vim.json
@@ -1,9 +1,9 @@
 {
   "url": "https://github.com/vigoux/tree-sitter-viml",
-  "rev": "274b004d226a6686546ef83231f0f836b91700ae",
-  "date": "2022-01-21T14:12:20+01:00",
-  "path": "/nix/store/lpl3kbb5kwawr71m6qhqrwj1adkll540-tree-sitter-viml",
-  "sha256": "01bmn3l3fsi1r36ak72ly0v8fr62wchida965c60244bfg2s4r2c",
+  "rev": "bc573ef552adf8bed9e36eb687a0cccf43158634",
+  "date": "2022-01-24T16:13:56+01:00",
+  "path": "/nix/store/2i9n2fvjk0ymxv32ziq5z9ykv95svi7d-tree-sitter-viml",
+  "sha256": "0ckx9jh9fqfw5x9yb0sljczb0xsgxs8j6v2qbqywh5z6fcqx8sjc",
   "fetchLFS": false,
   "fetchSubmodules": false,
   "deepClone": false,
diff --git a/pkgs/development/tools/parsing/tree-sitter/update.nix b/pkgs/development/tools/parsing/tree-sitter/update.nix
index 166154f7481..246574895e3 100644
--- a/pkgs/development/tools/parsing/tree-sitter/update.nix
+++ b/pkgs/development/tools/parsing/tree-sitter/update.nix
@@ -376,7 +376,7 @@ let
     if [[ "$(printf "%s" "$res" | ${jq}/bin/jq '.message?')" =~ "rate limit" ]]; then
       echo "rate limited" >&2
     fi
-    release=$(printf "%s" "$res" | ${jq}/bin/jq '.tag_name')
+    release="$(printf "%s" "$res" | ${jq}/bin/jq -r '.tag_name')"
     # github sometimes returns an empty list even tough there are releases
     if [ "$release" = "null" ]; then
       echo "uh-oh, latest for ${orga + "/" + repo} is not there, using HEAD" >&2
diff --git a/pkgs/development/tools/phantomjs/default.nix b/pkgs/development/tools/phantomjs/default.nix
deleted file mode 100644
index 5b7e77ee0b5..00000000000
--- a/pkgs/development/tools/phantomjs/default.nix
+++ /dev/null
@@ -1,71 +0,0 @@
-{ stdenv, lib, fetchurl, freetype, fontconfig, openssl, unzip }:
-
-let
-  platforms = [ "i686-linux" "x86_64-linux" "x86_64-darwin" ];
-in
-
-stdenv.mkDerivation rec {
-  pname = "phantomjs";
-  version = "1.9.8";
-
-  # I chose to use the binary build for now.
-  # The source version is quite nasty to compile
-  # because it has bundled a lot of external libraries (like QT and Webkit)
-  # and no easy/nice way to use the system versions of these
-
-  src = if stdenv.hostPlatform.system == "i686-linux" then
-          fetchurl {
-            url = "https://bitbucket.org/ariya/phantomjs/downloads/${pname}-${version}-linux-i686.tar.bz2";
-            sha256 = "11fzmssz9pqf3arh4f36w06sl2nyz8l9h8iyxyd7w5aqnq5la0j1";
-          }
-        else
-          if stdenv.hostPlatform.system == "x86_64-linux" then
-            fetchurl {
-              url = "https://bitbucket.org/ariya/phantomjs/downloads/${pname}-${version}-linux-x86_64.tar.bz2";
-              sha256 = "0fhnqxxsxhy125fmif1lwgnlhfx908spy7fx9mng4w72320n5nd1";
-            }
-          else # x86_64-darwin
-            fetchurl {
-              url = "https://bitbucket.org/ariya/phantomjs/downloads/${pname}-${version}-macosx.zip";
-              sha256 = "0j0aq8dgzmb210xdrh0v3d4nblskl3zsckl8bzf1a603wcx085cg";
-            };
-
-  nativeBuildInputs = lib.optional stdenv.isDarwin unzip;
-
-  buildPhase = lib.optionalString (!stdenv.isDarwin) ''
-    patchelf \
-      --set-interpreter "$(cat $NIX_CC/nix-support/dynamic-linker)" \
-      --set-rpath "${lib.makeLibraryPath [ freetype fontconfig stdenv.cc.cc stdenv.cc.cc openssl ]}" \
-      bin/phantomjs
-  '';
-
-  dontPatchELF = true;
-  dontStrip    = true;
-
-  installPhase = ''
-    mkdir -p $out/share/doc/phantomjs
-    cp -a bin $out
-    cp -a ChangeLog examples LICENSE.BSD README.md third-party.txt $out/share/doc/phantomjs
-  '';
-
-  meta = {
-    description = "Headless WebKit with JavaScript API";
-    longDescription = ''
-      PhantomJS is a headless WebKit with JavaScript API.
-      It has fast and native support for various web standards:
-      DOM handling, CSS selector, JSON, Canvas, and SVG.
-
-      PhantomJS is an optimal solution for:
-      - Headless Website Testing
-      - Screen Capture
-      - Page Automation
-      - Network Monitoring
-    '';
-
-    homepage = "https://phantomjs.org/";
-    license = lib.licenses.bsd3;
-
-    maintainers = [ lib.maintainers.bluescreen303 ];
-    inherit platforms;
-  };
-}
diff --git a/pkgs/development/tools/picotool/default.nix b/pkgs/development/tools/picotool/default.nix
index d4a6f1c409b..507284081f5 100644
--- a/pkgs/development/tools/picotool/default.nix
+++ b/pkgs/development/tools/picotool/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "picotool";
-  version = "1.0.1";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = pname;
     rev = version;
-    sha256 = "1k5j742sj91akdrgnd3wa5csqb638dgaz0c09zsr22fcqz0qhzig";
+    sha256 = "sha256-YjDHoRcDoezyli42bJ0bnfjdNNY8l6ZilrxhOudqvwE=";
   };
 
   buildInputs = [ libusb1 pico-sdk ];
diff --git a/pkgs/development/tools/pscale/default.nix b/pkgs/development/tools/pscale/default.nix
index 4f4c1f58fe2..50517db6ee9 100644
--- a/pkgs/development/tools/pscale/default.nix
+++ b/pkgs/development/tools/pscale/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "pscale";
-  version = "0.88.0";
+  version = "0.89.0";
 
   src = fetchFromGitHub {
     owner = "planetscale";
     repo = "cli";
     rev = "v${version}";
-    sha256 = "sha256-/QQ35zLqhhJw/h1u08Sb3FDz8O+7kh/pVz1EgEJQUfg=";
+    sha256 = "sha256-6iExcck9s5Z6c8QA+F+Fnk5g0WNmifaSQa2KaIS9m8M=";
   };
 
   vendorSha256 = "sha256-kNt7tMHubpcrfzAjf++GxV3kEj2g6fHFrP9cY8UPqB8=";
diff --git a/pkgs/development/tools/purescript/spago/spago.nix b/pkgs/development/tools/purescript/spago/spago.nix
index d5646a6c2ff..1747aaa55fd 100644
--- a/pkgs/development/tools/purescript/spago/spago.nix
+++ b/pkgs/development/tools/purescript/spago/spago.nix
@@ -14,11 +14,11 @@
 }:
 mkDerivation {
   pname = "spago";
-  version = "0.20.4";
+  version = "0.20.7";
   src = fetchgit {
     url = "https://github.com/purescript/spago.git";
-    sha256 = "0dj7z2yr4s2kqjklbjdzsrmc5lqli322wg5k412jixxpmlx11a5f";
-    rev = "33da63176fe07967761f43c83af9715f104013f0";
+    sha256 = "0k9ablqhx4m1hk0sc0rx824qq5gr7fp7dpg9rj5v793v6hd3q4jv";
+    rev = "41d9c967dc1db0de03985e31083eb76b3e2fcce4";
     fetchSubmodules = true;
   };
   isLibrary = true;
diff --git a/pkgs/development/tools/quick-lint-js/default.nix b/pkgs/development/tools/quick-lint-js/default.nix
new file mode 100644
index 00000000000..9c47695a5de
--- /dev/null
+++ b/pkgs/development/tools/quick-lint-js/default.nix
@@ -0,0 +1,24 @@
+{ cmake, fetchFromGitHub, lib, ninja, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "quick-lint-js";
+  version = "2.2.0";
+
+  src = fetchFromGitHub {
+    owner = "quick-lint";
+    repo = "quick-lint-js";
+    rev = version;
+    sha256 = "09jp118n487g467d4zhqcpnwwrvmjw02ssv1rbyw2s22cgz9701f";
+  };
+
+  nativeBuildInputs = [ cmake ninja ];
+  doCheck = true;
+
+  meta = with lib; {
+    description = "Find bugs in Javascript programs";
+    homepage = "https://quick-lint-js.com";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ ratsclub ];
+    platforms = platforms.all;
+  };
+}
diff --git a/pkgs/development/tools/quilt/default.nix b/pkgs/development/tools/quilt/default.nix
index eb7fa448815..fec73b26481 100644
--- a/pkgs/development/tools/quilt/default.nix
+++ b/pkgs/development/tools/quilt/default.nix
@@ -18,11 +18,11 @@
 stdenv.mkDerivation rec {
 
   pname = "quilt";
-  version = "0.66";
+  version = "0.67";
 
   src = fetchurl {
     url = "mirror://savannah/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "01vfvk4pqigahx82fhaaffg921ivd3k7rylz1yfvy4zbdyd32jri";
+    sha256 = "sha256-O+O+CYfnKmw2Rni7gn4+H8wQMitWvF8CtXZpj1UBPMI=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/development/tools/react-native-debugger/default.nix b/pkgs/development/tools/react-native-debugger/default.nix
index ea842c82089..ee03e043dd8 100644
--- a/pkgs/development/tools/react-native-debugger/default.nix
+++ b/pkgs/development/tools/react-native-debugger/default.nix
@@ -70,7 +70,7 @@ in stdenv.mkDerivation rec {
     exec = "react-native-debugger";
     desktopName = "React Native Debugger";
     genericName = "React Native Debugger";
-    categories = "Development;Debugger;";
+    categories = [ "Development" "Debugger" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/development/tools/regclient/default.nix b/pkgs/development/tools/regclient/default.nix
index a5c6335162a..f54e6ca26a8 100644
--- a/pkgs/development/tools/regclient/default.nix
+++ b/pkgs/development/tools/regclient/default.nix
@@ -4,16 +4,16 @@ let bins = [ "regbot" "regctl" "regsync" ]; in
 
 buildGoModule rec {
   pname = "regclient";
-  version = "0.3.8";
+  version = "0.3.10";
   tag = "v${version}";
 
   src = fetchFromGitHub {
     owner = "regclient";
     repo = "regclient";
     rev = tag;
-    sha256 = "14w0g24sgphgib33sdvrvwk86p7km2pasb5fmr3p48i7sc71ja3h";
+    sha256 = "sha256-3nYVhKHNz0V0j6JlZ5Dm5TFWA2kmUhshNVUym/QWSyM=";
   };
-  vendorSha256 = "sha256-9sRjP7lxMRdt9D9ElIX+mbYIvCaknWMgDyYl+1/q0/g=";
+  vendorSha256 = "sha256-rj4sQ8Ci2KMayJNXn+KVihOiZehk233l48Ps0yjOOE4=";
 
   outputs = [ "out" ] ++ bins;
 
diff --git a/pkgs/development/tools/richgo/default.nix b/pkgs/development/tools/richgo/default.nix
index 4e11b5a64d8..6cc063386ac 100644
--- a/pkgs/development/tools/richgo/default.nix
+++ b/pkgs/development/tools/richgo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "richgo";
-  version = "0.3.9";
+  version = "0.3.10";
 
   src = fetchFromGitHub {
     owner = "kyoh86";
     repo = "richgo";
     rev = "v${version}";
-    sha256 = "sha256-yVt0iFH9tYCeIWJC16ve988xBXgt96357YiHfsxai7g=";
+    sha256 = "sha256-USHg1KXl0MOWifiVu+KdjvrbDlAh6T/ReKFKeIpVK0A=";
   };
 
-  vendorSha256 = "sha256-IJjJ4X3mv2PUmwzt5/hgv1N6R0w+EXGSrCS4q+INJrA=";
+  vendorSha256 = "sha256-O63QEo0/+m9cYktMg4+RloLuUfAlCG0eGkxpHPFg/Cw=";
 
   doCheck = false;
 
diff --git a/pkgs/development/tools/rust/bindgen/default.nix b/pkgs/development/tools/rust/bindgen/default.nix
index 782996d9218..444db117322 100644
--- a/pkgs/development/tools/rust/bindgen/default.nix
+++ b/pkgs/development/tools/rust/bindgen/default.nix
@@ -34,7 +34,9 @@ let
           touch $out
         '';
       };
-    } ''
+    }
+    # if you modify the logic to find the right clang flags, also modify rustPlatform.bindgenHook
+    ''
     mkdir -p $out/bin
     export cincludes="$(< ${clang}/nix-support/cc-cflags) $(< ${clang}/nix-support/libc-cflags)"
     export cxxincludes="$(< ${clang}/nix-support/libcxx-cxxflags)"
diff --git a/pkgs/development/tools/rust/cargo-cache/default.nix b/pkgs/development/tools/rust/cargo-cache/default.nix
index 62c9f9b97e5..b6d710bab64 100644
--- a/pkgs/development/tools/rust/cargo-cache/default.nix
+++ b/pkgs/development/tools/rust/cargo-cache/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-cache";
-  version = "0.7.0";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "matthiaskrgr";
     repo = pname;
     rev = version;
-    sha256 = "sha256-MPU+hmYfmWftVEkdT/sZx9ESgCPTb7m4lEnYf5bOSYU=";
+    sha256 = "sha256-1/h9o8ldxI/Q1E6AurGfZ1xruf12g1OO5QlzMJLcEGo=";
   };
 
-  cargoSha256 = "sha256-6Ffgg5/B1IFnTlSjzhAsnhxz8jBcgk01RIkwgLqlsvc=";
+  cargoSha256 = "sha256-yUa40j1yOrczCbp9IsL1e5FlHcSEeHPAmbrA8zpuTpI=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
diff --git a/pkgs/development/tools/rust/cargo-crev/default.nix b/pkgs/development/tools/rust/cargo-crev/default.nix
index d7287f59e65..9fc89ece06d 100644
--- a/pkgs/development/tools/rust/cargo-crev/default.nix
+++ b/pkgs/development/tools/rust/cargo-crev/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-crev";
-  version = "0.21.3";
+  version = "0.23.0";
 
   src = fetchFromGitHub {
     owner = "crev-dev";
     repo = "cargo-crev";
     rev = "v${version}";
-    sha256 = "sha256-CwECZz+qS5+rgwudRutcKZsYxfMLcVbA/9SZASmF+k4=";
+    sha256 = "sha256-iqFE3sz7cIFcd9zCFjU1PjMWVmxCRcdiiGAbirWUWMA=";
   };
 
-  cargoSha256 = "sha256-7c6Hu6UacQuRsCHlGKr1TtN+XHVGr1sw+HEGWeT9SJA=";
+  cargoSha256 = "sha256-qlqW5phw7QI5KT2uUamQFEYHZd4uzYaUuvZTG3KhrOU=";
 
   preCheck = ''
     export HOME=$(mktemp -d)
diff --git a/pkgs/development/tools/rust/cargo-deny/default.nix b/pkgs/development/tools/rust/cargo-deny/default.nix
index 5b446035c2a..78e7fa7b4c8 100644
--- a/pkgs/development/tools/rust/cargo-deny/default.nix
+++ b/pkgs/development/tools/rust/cargo-deny/default.nix
@@ -11,19 +11,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-deny";
-  version = "0.11.1";
+  version = "0.11.3";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = pname;
     rev = version;
-    sha256 = "sha256-LsRky7hc7mgx1iRpJZICmP/ofdfD9r3D5LURTqfI9Fo=";
+    sha256 = "sha256-QpYwH9ZmD/muCGtL+9wzz4UKRyHWaga7vrjNjKz4uVQ=";
   };
 
   # enable pkg-config feature of zstd
   cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  cargoSha256 = "sha256-7WGNaad00MqEM/OdUaLJ3McXlUQyQwPezbMbL+4se5A=";
+  cargoSha256 = "sha256-DFGCjA0AENYDs5EnQ3WDkbCEw14ndjOh7qx2ZFgNGH0=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/cargo-expand/default.nix b/pkgs/development/tools/rust/cargo-expand/default.nix
index b2a0c3fad4d..860d5371709 100644
--- a/pkgs/development/tools/rust/cargo-expand/default.nix
+++ b/pkgs/development/tools/rust/cargo-expand/default.nix
@@ -1,17 +1,22 @@
-{ lib, rustPlatform, fetchFromGitHub, stdenv, libiconv }:
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, libiconv
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-expand";
-  version = "1.0.14";
+  version = "1.0.16";
 
   src = fetchFromGitHub {
     owner = "dtolnay";
     repo = pname;
     rev = version;
-    sha256 = "sha256-6Wm/qnrSUswWnXt6CPUJUvqNj06eSYuYOmGhbpO1hvo=";
+    sha256 = "sha256-NhBUN+pf+j/4IozFDEb+XZ1ijSk6dNvCANyez823a0c=";
   };
 
-  cargoSha256 = "sha256-1+3NMfUhL5sPu92r+B0DRmJ03ZREkFZHjMjvabLyFgs=";
+  cargoSha256 = "sha256-7rqtxyoo1SQ7Rae04+b+B0JgCKeW0p1j7bZzPpJ8+ks=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/development/tools/rust/cargo-fuzz/default.nix b/pkgs/development/tools/rust/cargo-fuzz/default.nix
index 22fe3a2b19c..5893fd2c828 100644
--- a/pkgs/development/tools/rust/cargo-fuzz/default.nix
+++ b/pkgs/development/tools/rust/cargo-fuzz/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-fuzz";
-  version = "0.10.2";
+  version = "0.11.0";
 
   src = fetchFromGitHub {
     owner = "rust-fuzz";
     repo = "cargo-fuzz";
-    rev = version;
-    sha256 = "sha256-5dHEUGn2CrEpSTJsbnSRx/hKXx6dLCDcuD1dPOH49d4=";
+    rev = "v${version}";
+    sha256 = "sha256-vjKo0L7sYrC7qWdOGSJDWpL04tmNjO3QRwAIRHN/DiI=";
   };
 
-  cargoSha256 = "sha256-vZPd8Zzyp0PgIdyp5qY57ex0cCihplw/FY+xf3etuu8=";
+  cargoSha256 = "sha256-8XVRMwrBEJ1duQtXzNpuN5wJPUgziJlka4n/nAIqeEc=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/development/tools/rust/cargo-insta/default.nix b/pkgs/development/tools/rust/cargo-insta/default.nix
index 0c377393354..93593a01f5e 100644
--- a/pkgs/development/tools/rust/cargo-insta/default.nix
+++ b/pkgs/development/tools/rust/cargo-insta/default.nix
@@ -2,17 +2,17 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-insta";
-  version = "1.7.1";
+  version = "1.11.0";
 
   src = fetchFromGitHub {
     owner = "mitsuhiko";
     repo = "insta";
     rev = version;
-    sha256 = "1qzzkhailxjqwp3rmdcpp112wn3x0gfi788vwj77pfdyclhpj0a7";
+    sha256 = "sha256-Vi3FwetCpL8qMniaXypw1EYVHh6lfZu6GjDXPDKda5c=";
   };
 
   sourceRoot = "source/cargo-insta";
-  cargoSha256 = "01fj2j7ibrk5dyrfkmc610lh1p6f6bgzbgivq3dsd64vslhqmabw";
+  cargoSha256 = "sha256-Bjh9we0OD8kqMJtovO1yw9Yta5u93dlYMRsxPdErkaY=";
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
   meta = with lib; {
diff --git a/pkgs/development/tools/rust/cargo-make/default.nix b/pkgs/development/tools/rust/cargo-make/default.nix
index 24d309eb68a..29dc1202d1c 100644
--- a/pkgs/development/tools/rust/cargo-make/default.nix
+++ b/pkgs/development/tools/rust/cargo-make/default.nix
@@ -13,11 +13,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-make";
-  version = "0.35.8";
+  version = "0.35.9";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-YNPAIdN9FDUHs/5aCYJN+1/12ZYk1YJsUjjB1a09KvA=";
+    sha256 = "sha256-yjApyM3UM4gLUPpbVMv+7hpF5VGXS8W9RUnlsJd/Sbo=";
   };
 
   nativeBuildInputs = [ pkg-config ];
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ]
     ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
 
-  cargoSha256 = "sha256-xLFBF8fEbupLgFNdYC1NzM6p7O2gvsv0Utk4Et2oBDc=";
+  cargoSha256 = "sha256-YGpQXz35dPUeY8YlZ4Ul/utpNgEgW90xHiT+I+jOJIo=";
 
   # Some tests fail because they need network access.
   # However, Travis ensures a proper build.
diff --git a/pkgs/development/tools/rust/cargo-msrv/default.nix b/pkgs/development/tools/rust/cargo-msrv/default.nix
index aec27c588a9..caac565e621 100644
--- a/pkgs/development/tools/rust/cargo-msrv/default.nix
+++ b/pkgs/development/tools/rust/cargo-msrv/default.nix
@@ -13,16 +13,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-msrv";
-  version = "0.13.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "foresterre";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zIUbPmSlobSC3iJ0ddto40Sa/1xzCYG6eaTjMuUnXNU=";
+    sha256 = "sha256-OBcRN0tYNnNqytmmAm6DMtHtp+JzPjomfTpeQEtQE84=";
   };
 
-  cargoSha256 = "sha256-GKU0ootG4fXUGErPplERMVjEBop/0+sfQCYpQwPPcXA=";
+  cargoSha256 = "sha256-uZw/ojPAzbpRYb2pkJ/i/+GXvxxU6piCLuMG/fPII2M=";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/pkgs/development/tools/rust/cargo-valgrind/default.nix b/pkgs/development/tools/rust/cargo-valgrind/default.nix
index e1f26dc02b2..ac54657c8af 100644
--- a/pkgs/development/tools/rust/cargo-valgrind/default.nix
+++ b/pkgs/development/tools/rust/cargo-valgrind/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-valgrind";
-  version = "2.0.1";
+  version = "2.0.3";
 
   src = fetchFromGitHub {
     owner = "jfrimmel";
     repo = "cargo-valgrind";
     rev = version;
-    sha256 = "sha256-PltYUU2O/D1PrU+K8JN4+aUVLzHCeNyIsXMU6HLodXE=";
+    sha256 = "sha256-PEGDao010COqSJGha7GQvR7vNOV+C7faduijVNjB5DE=";
   };
 
-  cargoSha256 = "sha256-XiQGkZ6pfyGkNPjpcPoY66qBl7ABTcRHCBjgmXSRrL0=";
+  cargoSha256 = "sha256-00WUYrkKKJOEN9jXKQ3YraTq89U+3djdvLRuZSbeNHk=";
 
   passthru = {
     updateScript = nix-update-script {
diff --git a/pkgs/development/tools/rust/duckscript/default.nix b/pkgs/development/tools/rust/duckscript/default.nix
new file mode 100644
index 00000000000..aabb8b94c81
--- /dev/null
+++ b/pkgs/development/tools/rust/duckscript/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, stdenv
+, fetchurl
+, runCommand
+, fetchCrate
+, rustPlatform
+, Security
+, openssl
+, pkg-config
+, SystemConfiguration
+, libiconv
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "duckscript_cli";
+  version = "0.8.10";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-cMvcCX8ViCcUFMuxAPo3/wxXvg5swAcBrLx1x7lSwvM=";
+  };
+
+  nativeBuildInputs = [ pkg-config ];
+
+  buildInputs = [ openssl ]
+    ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration libiconv ];
+
+  cargoSha256 = "sha256-8ywMLXFmdq119K/hl1hpsVhzG+nrdO4eux3lAqUjB+A=";
+
+  meta = with lib; {
+    description = "Simple, extendable and embeddable scripting language.";
+    homepage = "https://github.com/sagiegurari/duckscript";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ mkg20001 ];
+  };
+}
diff --git a/pkgs/development/tools/rust/maturin/default.nix b/pkgs/development/tools/rust/maturin/default.nix
index 3cbf9c404c6..204654eb0e7 100644
--- a/pkgs/development/tools/rust/maturin/default.nix
+++ b/pkgs/development/tools/rust/maturin/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "maturin";
-  version = "0.11.3";
+  version = "0.12.9";
 
   src = fetchFromGitHub {
     owner = "PyO3";
     repo = "maturin";
     rev = "v${version}";
-    hash = "sha256-jWkrjFQg0EqM+e/IT2n2E4lGL2kT/Wz7r5BLlzvWSO0=";
+    hash = "sha256-FskCBviLl1yafPOlsp/IjaEOlGUuWLcGlxDrNA/qf8k=";
   };
 
-  cargoHash = "sha256-+kXwMGeE2HD59EU0Dzvg8I6LcHiPV7SKSFqnCTfkKwY=";
+  cargoHash = "sha256-zakSQptKK/X/8MDJxRUHTDIGPh77cq5PrOmPEneD0YM=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/rust/probe-rs-cli/default.nix b/pkgs/development/tools/rust/probe-rs-cli/default.nix
new file mode 100644
index 00000000000..4978c4a3c3e
--- /dev/null
+++ b/pkgs/development/tools/rust/probe-rs-cli/default.nix
@@ -0,0 +1,24 @@
+{ lib, stdenv, rustPlatform, fetchCrate, pkg-config, libusb1, AppKit }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "probe-rs-cli";
+  version = "0.12.0";
+
+  src = fetchCrate {
+    inherit pname version;
+    sha256 = "sha256-XYrB/aKuFCe0FNe6N9vqDdr408tAiN6YvT5BL6lCxmU=";
+  };
+
+  cargoSha256 = "sha256-aXSJMSGNl2fzob1j/qiPHHZLisYQeU1gUO5cYbzSHYA=";
+
+  nativeBuildInputs = [ pkg-config ];
+  buildInputs = [ libusb1 ] ++ lib.optionals stdenv.isDarwin [ AppKit ];
+
+  meta = with lib; {
+    description = "CLI tool for on-chip debugging and flashing of ARM chips";
+    homepage = "https://probe.rs/";
+    changelog = "https://github.com/probe-rs/probe-rs/blob/v${version}/CHANGELOG.md";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ xgroleau ];
+  };
+}
diff --git a/pkgs/development/tools/rust/rust-analyzer/default.nix b/pkgs/development/tools/rust/rust-analyzer/default.nix
index 53e74bf1639..9711ef871c0 100644
--- a/pkgs/development/tools/rust/rust-analyzer/default.nix
+++ b/pkgs/development/tools/rust/rust-analyzer/default.nix
@@ -11,14 +11,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-analyzer-unwrapped";
-  version = "2022-01-31";
-  cargoSha256 = "sha256-BWCLzyCcLWwmh7Os7NjN2o89KD+VB0EHyZfTyYoYM08=";
+  version = "2022-02-22";
+  cargoSha256 = "sha256-5PhmDiYC566KM0PfAaRdMpc0CAzDdez4uuLqBNBrma8=";
 
   src = fetchFromGitHub {
     owner = "rust-analyzer";
     repo = "rust-analyzer";
     rev = version;
-    sha256 = "sha256-6+d/x7ZIyvkPLdn7ziXuPyKfxt/7z5PCWs7B960DFqk=";
+    sha256 = "sha256-O9onJrAJY0TWxEZZcTWuF7SGPypRtSo0ZbpzDLC5+os=";
   };
 
   patches = [
diff --git a/pkgs/development/tools/rust/rust-script/default.nix b/pkgs/development/tools/rust/rust-script/default.nix
index 2839c2287f8..41650636771 100644
--- a/pkgs/development/tools/rust/rust-script/default.nix
+++ b/pkgs/development/tools/rust/rust-script/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rust-script";
-  version = "0.19.0";
+  version = "0.20.0";
 
   src = fetchFromGitHub {
     owner = "fornwall";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-CYeTt6PzVGu62/GJB+gUlOXG2bs4RV0LWECF4CN3Uic=";
+    sha256 = "sha256-WcvRkp57VyBB5gQgamFoR6wK1cRJ+3hQqixOBgeapJU=";
   };
 
-  cargoSha256 = "sha256-IUzaVeOTBAOo/jkDytk6qc7VatKX75l1yZy99iSIqyE=";
+  cargoSha256 = "sha256-qJIftByppOrT4g3sxmKRSLhxtpAW4eXWX0FhmMDJNu0=";
 
   # tests require network access
   doCheck = false;
diff --git a/pkgs/development/tools/rust/sqlx-cli/default.nix b/pkgs/development/tools/rust/sqlx-cli/default.nix
index e86380c53e7..005c5cfc474 100644
--- a/pkgs/development/tools/rust/sqlx-cli/default.nix
+++ b/pkgs/development/tools/rust/sqlx-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sqlx-cli";
-  version = "0.5.10";
+  version = "0.5.11";
 
   src = fetchFromGitHub {
     owner = "launchbadge";
     repo = "sqlx";
     rev = "v${version}";
-    sha256 = "sha256-OBIuURj0C/ws71KTGN9EbMwN4QsGMEdgoWyctmHaHjQ=";
+    sha256 = "sha256-Tz7YzGkQUwH0U14dvsttP2GpnM9kign6L9PkAVs3dEc=";
   };
 
-  cargoSha256 = "sha256-9+I4mi7w1WK2NkmN65EtC52KtSZR9GjrHCPE9w82IXw=";
+  cargoSha256 = "sha256-EKuRaVxwotgTPj95GJnrQGbulsFPClSettwS5f0TzoM=";
 
   doCheck = false;
   cargoBuildFlags = [ "-p sqlx-cli" ];
diff --git a/pkgs/development/tools/scenebuilder/default.nix b/pkgs/development/tools/scenebuilder/default.nix
index 438555998fd..3ae31bbadb9 100644
--- a/pkgs/development/tools/scenebuilder/default.nix
+++ b/pkgs/development/tools/scenebuilder/default.nix
@@ -69,8 +69,8 @@ let
     icon = "scenebuilder";
     comment = "A visual, drag'n'drop, layout tool for designing JavaFX application user interfaces.";
     desktopName = pname;
-    mimeType = "application/java;application/java-vm;application/java-archive";
-    categories = "Development";
+    mimeTypes = [ "application/java" "application/java-vm" "application/java-archive" ];
+    categories = [ "Development" ];
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/scenic-view/default.nix b/pkgs/development/tools/scenic-view/default.nix
index 6dd3e11b609..1322cfc751a 100644
--- a/pkgs/development/tools/scenic-view/default.nix
+++ b/pkgs/development/tools/scenic-view/default.nix
@@ -66,8 +66,8 @@ let
     desktopName = pname;
     exec = pname;
     comment = "JavaFx application to visualize and modify the scenegraph of running JavaFx applications.";
-    mimeType = "application/java;application/java-vm;application/java-archive";
-    categories = "Development";
+    mimeTypes = [ "application/java" "application/java-vm" "application/java-archive" ];
+    categories = [ "Development" ];
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/development/tools/sd-local/default.nix b/pkgs/development/tools/sd-local/default.nix
index 3ec4163ac44..c1c5bbee0ac 100644
--- a/pkgs/development/tools/sd-local/default.nix
+++ b/pkgs/development/tools/sd-local/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "sd-local";
-  version = "1.0.32";
+  version = "1.0.40";
 
   src = fetchFromGitHub {
     owner = "screwdriver-cd";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4VKTp4q2CoIWQTiSgs254deafuowiTpuLVJ79nmqAaA=";
+    sha256 = "sha256-/b9ZmwTw9DbdO0KI7rfT0YW0Xo2cxfwhk1TEfTe3ySU=";
   };
 
-  vendorSha256 = "sha256-4xuWehRrmVdS2F6r00LZLKq/oHlWqCTQ/jYUKeIJ6DI=";
+  vendorSha256 = "sha256-43hcIIGqBscMjQzaIGdMqV5lq3od4Ls4TJdTeFGtu5Y=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/development/tools/selenium/chromedriver/default.nix b/pkgs/development/tools/selenium/chromedriver/default.nix
index c47cddea586..a75488a229d 100644
--- a/pkgs/development/tools/selenium/chromedriver/default.nix
+++ b/pkgs/development/tools/selenium/chromedriver/default.nix
@@ -1,6 +1,6 @@
 { lib, stdenv, fetchurl, unzip, makeWrapper
 , cairo, fontconfig, freetype, gdk-pixbuf, glib
-, glibc, gtk2, libX11, nspr, nss, pango, gconf
+, glibc, gtk2, libX11, nspr, nss, pango
 , libxcb, libXi, libXrender, libXext, dbus
 , testVersion, chromedriver
 }:
@@ -30,9 +30,9 @@ let
   libs = lib.makeLibraryPath [
     stdenv.cc.cc.lib
     cairo fontconfig freetype
-    gdk-pixbuf glib gtk2 gconf
+    gdk-pixbuf glib gtk2
     libX11 nspr nss pango libXrender
-    gconf libxcb libXext libXi
+    libxcb libXext libXi
     dbus
   ];
 
diff --git a/pkgs/development/tools/sentry-cli/default.nix b/pkgs/development/tools/sentry-cli/default.nix
index 021ba8c7f93..8087148c169 100644
--- a/pkgs/development/tools/sentry-cli/default.nix
+++ b/pkgs/development/tools/sentry-cli/default.nix
@@ -9,13 +9,13 @@
 }:
 rustPlatform.buildRustPackage rec {
   pname = "sentry-cli";
-  version = "1.72.1";
+  version = "1.72.2";
 
   src = fetchFromGitHub {
     owner = "getsentry";
     repo = "sentry-cli";
     rev = version;
-    sha256 = "sha256-qFEvDslAjXpIpSanM4iorgTRfKWQPKKzxxwguFUlFZA=";
+    sha256 = "sha256-iaU0+sbssHhenz7QgXI9n5J2P5b0Tbw7fdvekRmjEeY=";
   };
   doCheck = false;
 
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
   buildInputs = [ openssl ] ++ lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
   nativeBuildInputs = [ pkg-config ];
 
-  cargoSha256 = "sha256-PRyQWohxlSNRiVj3r7xTxFVWsYL+C50bkhDU4NLaMBo=";
+  cargoSha256 = "sha256-vz0qSKFoM5kRgATshQ8W+yJTtWyQRvHp22t4nsJHqG0=";
 
   meta = with lib; {
     homepage = "https://docs.sentry.io/cli/";
diff --git a/pkgs/development/tools/skaffold/default.nix b/pkgs/development/tools/skaffold/default.nix
index 2a6154927a5..2d2237e7b63 100644
--- a/pkgs/development/tools/skaffold/default.nix
+++ b/pkgs/development/tools/skaffold/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "skaffold";
-  version = "1.35.2";
+  version = "1.36.0";
 
   src = fetchFromGitHub {
     owner = "GoogleContainerTools";
     repo = "skaffold";
     rev = "v${version}";
-    sha256 = "sha256-s1gkfgpQhmXgbU0iGu71a+cMQsInGTf7GUb8h2SK9qs=";
+    sha256 = "sha256-N5m13wxCtdZ1UBBVmq77XvePJTphMhLoHl4VcTcl3dE=";
   };
 
-  vendorSha256 = "sha256-jr4HEs2mTRPNAiV/OWUnjYyQ1uSUJfVOTNCRi/18tEo=";
+  vendorSha256 = "sha256-49UuGVdOlIf50QZ+qlA4kxlrSKouN8zZlby4wMxabe0=";
 
   subPackages = ["cmd/skaffold"];
 
diff --git a/pkgs/development/tools/skopeo/default.nix b/pkgs/development/tools/skopeo/default.nix
index 5ec2ff7ac45..213a8da8ce0 100644
--- a/pkgs/development/tools/skopeo/default.nix
+++ b/pkgs/development/tools/skopeo/default.nix
@@ -14,13 +14,13 @@
 
 buildGoModule rec {
   pname = "skopeo";
-  version = "1.6.0";
+  version = "1.6.1";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "containers";
     repo = "skopeo";
-    sha256 = "sha256-SXwIwBlajzcXJaB90aesPk6BTRUNLRXtx4FPuM7pcyU=";
+    sha256 = "sha256-L3dHkF7yKnwXpXxCEswwA0TxVfjTzc89l0rpT7EYpIU=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/development/tools/spirv-tools/default.nix b/pkgs/development/tools/spirv-tools/default.nix
index 7d88df2feb0..aa58b37773e 100644
--- a/pkgs/development/tools/spirv-tools/default.nix
+++ b/pkgs/development/tools/spirv-tools/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     inherit (src.meta) homepage;
     description = "The SPIR-V Tools project provides an API and commands for processing SPIR-V modules";
     license = licenses.asl20;
-    platforms = platforms.linux;
+    platforms = platforms.unix;
     maintainers = [ maintainers.ralith ];
   };
 }
diff --git a/pkgs/development/tools/stylua/default.nix b/pkgs/development/tools/stylua/default.nix
index cb15bdfd3e5..7db111a50f2 100644
--- a/pkgs/development/tools/stylua/default.nix
+++ b/pkgs/development/tools/stylua/default.nix
@@ -8,16 +8,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "stylua";
-  version = "0.12.1";
+  version = "0.12.3";
 
   src = fetchFromGitHub {
     owner = "johnnymorganz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-LmmOaxB7UNQQUFBYN5wNZYt9xH5wDrBbtB9QOCb3suQ=";
+    sha256 = "sha256-bgfG1cPhauU85FG/ZX1n2KqfydMeh92q347UsREkOGo=";
   };
 
-  cargoSha256 = "sha256-Schaiu9XnkEfjY6D8ZT7dtCf8UN58zQ6256xeOWBi5M=";
+  cargoSha256 = "sha256-njZTD6O67v787Z1tJ7G0QzxJLhqU2sfpOVw6r4woE9s=";
 
   buildFeatures = lib.optional lua52Support "lua52"
     ++ lib.optional luauSupport "luau";
diff --git a/pkgs/development/tools/sumneko-lua-language-server/default.nix b/pkgs/development/tools/sumneko-lua-language-server/default.nix
index ee75f2e081b..4ec62ed4d29 100644
--- a/pkgs/development/tools/sumneko-lua-language-server/default.nix
+++ b/pkgs/development/tools/sumneko-lua-language-server/default.nix
@@ -4,13 +4,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "sumneko-lua-language-server";
-  version = "2.6.0";
+  version = "2.6.4";
 
   src = fetchFromGitHub {
     owner = "sumneko";
     repo = "lua-language-server";
     rev = version;
-    sha256 = "sha256-8Vfk6B85anlUf09cc08hOGujbcVCMqgEJ1PTxX6llrk=";
+    sha256 = "sha256-oUIgEWLcpEZHtL1wvTAezLtz2PecddtwhzbLhGqso/k=";
     fetchSubmodules = true;
   };
 
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
     description = "Lua Language Server coded by Lua ";
     homepage = "https://github.com/sumneko/lua-language-server";
     license = licenses.mit;
-    maintainers = with maintainers; [ mjlbach ];
+    maintainers = with maintainers; [ ];
     platforms = platforms.linux ++ platforms.darwin;
     mainProgram = "lua-language-server";
   };
diff --git a/pkgs/development/tools/symfony-cli/default.nix b/pkgs/development/tools/symfony-cli/default.nix
index d40eddf12f0..d87ecddbf89 100644
--- a/pkgs/development/tools/symfony-cli/default.nix
+++ b/pkgs/development/tools/symfony-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "symfony-cli";
-  version = "5.3.0";
-  vendorSha256 = "sha256-i4p9kEe0eT2L4U/DjkWlLVqgGT5ZJaoGyFAoYyxmoyI=";
+  version = "5.4.1";
+  vendorSha256 = "sha256-MlsgII1QybyW+B7DGbSyn7VQ36n29yOC0pZnaemEHO8=";
 
   src = fetchFromGitHub {
     owner = "symfony-cli";
     repo = "symfony-cli";
     rev = "v${version}";
-    sha256 = "sha256-bZPoHVYso2BEEZO4FXubxOtGCIJyX77Ll0qut5sJjUA=";
+    sha256 = "sha256-92Pth+IrILWkcP4mm3IcSN4+zs7TNg4CPGT2liop7/I=";
   };
 
   # Tests requires network access
diff --git a/pkgs/development/tools/typos/default.nix b/pkgs/development/tools/typos/default.nix
index 6958a7b11d9..9ce8a9494dd 100644
--- a/pkgs/development/tools/typos/default.nix
+++ b/pkgs/development/tools/typos/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "typos";
-  version = "1.3.7";
+  version = "1.4.1";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-bsPwyTucFJdKp+r8uJ2XLOzvbTM4i5EmSY+3VgyAFuE=";
+    sha256 = "sha256-dQ+FLKf+zNrUabrXWvdYqpNXzS+j92zQcaZXPTxxB/E=";
   };
 
-  cargoSha256 = "sha256-2wJXx8xHPrjzKupuen3XfRMSviYEwYK3nbL5/uTDIzE=";
+  cargoSha256 = "sha256-ud2Hb8EoOiPyzp7qPUeQi8FZ49RXbrDsk8ZEBI6lPtk=";
 
   meta = with lib; {
     description = "Source code spell checker";
diff --git a/pkgs/development/tools/uniffi-bindgen/Cargo.lock b/pkgs/development/tools/uniffi-bindgen/Cargo.lock
new file mode 100644
index 00000000000..4de3b80928a
--- /dev/null
+++ b/pkgs/development/tools/uniffi-bindgen/Cargo.lock
@@ -0,0 +1,837 @@
+# This file is automatically @generated by Cargo.
+# It is not intended for manual editing.
+version = 3
+
+[[package]]
+name = "anyhow"
+version = "1.0.53"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "94a45b455c14666b85fc40a019e8ab9eb75e3a124e05494f5397122bc9eb06e0"
+
+[[package]]
+name = "arrayvec"
+version = "0.5.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "23b62fc65de8e4e7f52534fb52b0f3ed04746ae267519eef2a83941e8085068b"
+
+[[package]]
+name = "askama"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d298738b6e47e1034e560e5afe63aa488fea34e25ec11b855a76f0d7b8e73134"
+dependencies = [
+ "askama_derive",
+ "askama_escape",
+ "askama_shared",
+]
+
+[[package]]
+name = "askama_derive"
+version = "0.10.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ca2925c4c290382f9d2fa3d1c1b6a63fa1427099721ecca4749b154cc9c25522"
+dependencies = [
+ "askama_shared",
+ "proc-macro2",
+ "syn",
+]
+
+[[package]]
+name = "askama_escape"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9a1bb320f97e6edf9f756bf015900038e43c7700e059688e5724a928c8f3b8d5"
+
+[[package]]
+name = "askama_shared"
+version = "0.11.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2582b77e0f3c506ec4838a25fa8a5f97b9bed72bb6d3d272ea1c031d8bd373bc"
+dependencies = [
+ "askama_escape",
+ "nom 6.2.1",
+ "proc-macro2",
+ "quote",
+ "serde",
+ "syn",
+ "toml",
+]
+
+[[package]]
+name = "bitflags"
+version = "1.3.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
+
+[[package]]
+name = "bitvec"
+version = "0.19.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55f93d0ef3363c364d5976646a38f04cf67cfe1d4c8d160cdea02cab2c116b33"
+dependencies = [
+ "funty",
+ "radium",
+ "tap",
+ "wyz",
+]
+
+[[package]]
+name = "bytes"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c4872d67bab6358e59559027aa3b9157c53d9358c51423c17554809a8858e0f8"
+
+[[package]]
+name = "callbacks"
+version = "0.17.0"
+dependencies = [
+ "lazy_static",
+ "thiserror",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "camino"
+version = "1.0.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6f3132262930b0522068049f5870a856ab8affc80c70d08b6ecb785771a6fc23"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo-platform"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cbdb825da8a5df079a43676dbe042702f1707b1109f713a01420fbb4cc71fa27"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "cargo_metadata"
+version = "0.13.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "081e3f0755c1f380c2d010481b6fa2e02973586d5f2b24eebb7a2a1d98b143d8"
+dependencies = [
+ "camino",
+ "cargo-platform",
+ "semver",
+ "semver-parser",
+ "serde",
+ "serde_json",
+]
+
+[[package]]
+name = "cdylib-dependency"
+version = "0.17.0"
+
+[[package]]
+name = "cfg-if"
+version = "1.0.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd"
+
+[[package]]
+name = "clap"
+version = "2.34.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a0610544180c38b88101fecf2dd634b174a62eef6946f84dfc6a7127512b381c"
+dependencies = [
+ "bitflags",
+ "textwrap",
+ "unicode-width",
+]
+
+[[package]]
+name = "coverall"
+version = "0.17.0"
+dependencies = [
+ "lazy_static",
+ "thiserror",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "crate_one"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "crate_two"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "crate_one",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "custom-types"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "serde_json",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+ "url",
+]
+
+[[package]]
+name = "ext-types-guid"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "serde_json",
+ "thiserror",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "ext-types-lib"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "custom-types",
+ "ext-types-guid",
+ "uniffi",
+ "uniffi-one",
+ "uniffi_build",
+ "uniffi_macros",
+ "url",
+]
+
+[[package]]
+name = "external_types_lib"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "crate_one",
+ "crate_two",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "ffi-crate"
+version = "0.17.0"
+dependencies = [
+ "cdylib-dependency",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "form_urlencoded"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5fc25a87fa4fd2094bffb06925852034d90a17f0d1e05197d4956d3555752191"
+dependencies = [
+ "matches",
+ "percent-encoding",
+]
+
+[[package]]
+name = "funty"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fed34cd105917e91daa4da6b3728c47b068749d6a62c59811f06ed2ac71d9da7"
+
+[[package]]
+name = "glob"
+version = "0.3.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9b919933a397b79c37e33b77bb2aa3dc8eb6e165ad809e58ff75bc7db2e34574"
+
+[[package]]
+name = "heck"
+version = "0.3.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d621efb26863f0e9924c6ac577e8275e5e6b77455db64ffa6c65c904e9e132c"
+dependencies = [
+ "unicode-segmentation",
+]
+
+[[package]]
+name = "i1015-fully-qualified-types"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "i356-enum-without-int-helpers"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "idna"
+version = "0.2.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "418a0a6fab821475f634efe3ccc45c013f742efe03d853e8d3355d5cb850ecf8"
+dependencies = [
+ "matches",
+ "unicode-bidi",
+ "unicode-normalization",
+]
+
+[[package]]
+name = "itoa"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1aab8fc367588b89dcee83ab0fd66b72b50b72fa1904d7095045ace2b0c81c35"
+
+[[package]]
+name = "kotlin-experimental-unsigned-types"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "lazy_static"
+version = "1.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646"
+
+[[package]]
+name = "lexical-core"
+version = "0.7.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
+dependencies = [
+ "arrayvec",
+ "bitflags",
+ "cfg-if",
+ "ryu",
+ "static_assertions",
+]
+
+[[package]]
+name = "log"
+version = "0.4.14"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "51b9bbe6c47d51fc3e1a9b945965946b4c44142ab8792c50835a980d362c2710"
+dependencies = [
+ "cfg-if",
+]
+
+[[package]]
+name = "matches"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a3e378b66a060d48947b590737b30a1be76706c8dd7b8ba0f2fe3989c68a853f"
+
+[[package]]
+name = "memchr"
+version = "2.3.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0ee1c47aaa256ecabcaea351eae4a9b01ef39ed810004e298d2511ed284b1525"
+
+[[package]]
+name = "nom"
+version = "5.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ffb4262d26ed83a1c0a33a38fe2bb15797329c85770da05e6b828ddb782627af"
+dependencies = [
+ "memchr",
+ "version_check",
+]
+
+[[package]]
+name = "nom"
+version = "6.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "9c5c51b9083a3c620fa67a2a635d1ce7d95b897e957d6b28ff9a5da960a103a6"
+dependencies = [
+ "bitvec",
+ "funty",
+ "lexical-core",
+ "memchr",
+ "version_check",
+]
+
+[[package]]
+name = "omit_argument_labels"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "once_cell"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "da32515d9f6e6e489d7bc9d84c71b060db7247dc035bbe44eac88cf87486d8d5"
+
+[[package]]
+name = "paste"
+version = "1.0.6"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "0744126afe1a6dd7f394cb50a716dbe086cb06e255e53d8d0185d82828358fb5"
+
+[[package]]
+name = "percent-encoding"
+version = "2.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d4fd5641d01c8f18a23da7b6fe29298ff4b55afcccdf78973b24cf3175fee32e"
+
+[[package]]
+name = "pest"
+version = "2.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "10f4872ae94d7b90ae48754df22fd42ad52ce740b8f370b03da4835417403e53"
+dependencies = [
+ "ucd-trie",
+]
+
+[[package]]
+name = "proc-macro2"
+version = "1.0.36"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "c7342d5883fbccae1cc37a2353b09c87c9b0f3afd73f5fb9bba687a1f733b029"
+dependencies = [
+ "unicode-xid",
+]
+
+[[package]]
+name = "quote"
+version = "1.0.15"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "864d3e96a899863136fc6e99f3d7cae289dafe43bf2c5ac19b70df7210c0a145"
+dependencies = [
+ "proc-macro2",
+]
+
+[[package]]
+name = "radium"
+version = "0.5.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "941ba9d78d8e2f7ce474c015eea4d9c6d25b6a3327f9832ee29a4de27f91bbb8"
+
+[[package]]
+name = "ryu"
+version = "1.0.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "73b4b750c782965c211b42f022f59af1fbceabdd026623714f104152f1ec149f"
+
+[[package]]
+name = "semver"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f301af10236f6df4160f7c3f04eec6dbc70ace82d23326abad5edee88801c6b6"
+dependencies = [
+ "semver-parser",
+ "serde",
+]
+
+[[package]]
+name = "semver-parser"
+version = "0.10.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "00b0bef5b7f9e0df16536d3961cfb6e84331c065b4066afb39768d0e319411f7"
+dependencies = [
+ "pest",
+]
+
+[[package]]
+name = "serde"
+version = "1.0.136"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ce31e24b01e1e524df96f1c2fdd054405f8d7376249a5110886fb4b658484789"
+dependencies = [
+ "serde_derive",
+]
+
+[[package]]
+name = "serde_derive"
+version = "1.0.136"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "08597e7152fcd306f41838ed3e37be9eaeed2b61c42e2117266a554fab4662f9"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "serde_json"
+version = "1.0.78"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d23c1ba4cf0efd44be32017709280b32d1cea5c3f1275c3b6d9e8bc54f758085"
+dependencies = [
+ "itoa",
+ "ryu",
+ "serde",
+]
+
+[[package]]
+name = "static_assertions"
+version = "1.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
+
+[[package]]
+name = "syn"
+version = "1.0.86"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a65b3f4ffa0092e9887669db0eae07941f023991ab58ea44da8fe8e2d511c6b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "unicode-xid",
+]
+
+[[package]]
+name = "tap"
+version = "1.0.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "55937e1799185b12863d447f42597ed69d9928686b8d88a1df17376a097d8369"
+
+[[package]]
+name = "termcolor"
+version = "1.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2dfed899f0eb03f32ee8c6a0aabdb8a7949659e3466561fc0adf54e26d88c5f4"
+dependencies = [
+ "winapi-util",
+]
+
+[[package]]
+name = "textwrap"
+version = "0.11.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d326610f408c7a4eb6f51c37c330e496b08506c9457c9d34287ecc38809fb060"
+dependencies = [
+ "unicode-width",
+]
+
+[[package]]
+name = "thiserror"
+version = "1.0.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "854babe52e4df1653706b98fcfc05843010039b406875930a70e4d9644e5c417"
+dependencies = [
+ "thiserror-impl",
+]
+
+[[package]]
+name = "thiserror-impl"
+version = "1.0.30"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "aa32fd3f627f367fe16f893e2597ae3c05020f8bba2666a4e6ea73d377e5714b"
+dependencies = [
+ "proc-macro2",
+ "quote",
+ "syn",
+]
+
+[[package]]
+name = "tinyvec"
+version = "1.5.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2c1c1d5a42b6245520c249549ec267180beaffcc0615401ac8e31853d4b6d8d2"
+dependencies = [
+ "tinyvec_macros",
+]
+
+[[package]]
+name = "tinyvec_macros"
+version = "0.1.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "cda74da7e1a664f795bb1f8a87ec406fb89a02522cf6e50620d016add6dbbf5c"
+
+[[package]]
+name = "toml"
+version = "0.5.8"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a31142970826733df8241ef35dc040ef98c679ab14d7c3e54d827099b3acecaa"
+dependencies = [
+ "serde",
+]
+
+[[package]]
+name = "trybuild"
+version = "1.0.55"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "099a24e67e2b4083a6d0beb5a98e274c3160edfb879d71cd2cd14da93786a93b"
+dependencies = [
+ "glob",
+ "once_cell",
+ "serde",
+ "serde_json",
+ "termcolor",
+ "toml",
+]
+
+[[package]]
+name = "ucd-trie"
+version = "0.1.3"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "56dee185309b50d1f11bfedef0fe6d036842e3fb77413abef29f8f8d1c5d4c1c"
+
+[[package]]
+name = "unicode-bidi"
+version = "0.3.7"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "1a01404663e3db436ed2746d9fefef640d868edae3cceb81c3b8d5732fda678f"
+
+[[package]]
+name = "unicode-normalization"
+version = "0.1.19"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "d54590932941a9e9266f0832deed84ebe1bf2e4c9e4a3554d393d18f5e854bf9"
+dependencies = [
+ "tinyvec",
+]
+
+[[package]]
+name = "unicode-segmentation"
+version = "1.9.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "7e8820f5d777f6224dc4be3632222971ac30164d4a258d595640799554ebfd99"
+
+[[package]]
+name = "unicode-width"
+version = "0.1.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "3ed742d4ea2bd1176e236172c8429aaf54486e7ac098db29ffe6529e0ce50973"
+
+[[package]]
+name = "unicode-xid"
+version = "0.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8ccb82d61f80a663efe1f787a51b16b5a51e3314d6ac365b08639f52387b33f3"
+
+[[package]]
+name = "uniffi"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "cargo_metadata",
+ "lazy_static",
+ "log",
+ "paste",
+ "static_assertions",
+ "trybuild",
+ "uniffi_bindgen",
+]
+
+[[package]]
+name = "uniffi-example-arithmetic"
+version = "0.17.0"
+dependencies = [
+ "thiserror",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi-example-callbacks"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi-example-geometry"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi-example-rondpoint"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi-example-sprites"
+version = "0.17.0"
+dependencies = [
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi-example-todolist"
+version = "0.17.0"
+dependencies = [
+ "lazy_static",
+ "thiserror",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi-fixture-time"
+version = "0.17.0"
+dependencies = [
+ "thiserror",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi-one"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "bytes",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "uniffi_bindgen"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "askama",
+ "cargo_metadata",
+ "clap",
+ "heck",
+ "paste",
+ "serde",
+ "toml",
+ "weedle",
+]
+
+[[package]]
+name = "uniffi_build"
+version = "0.17.0"
+dependencies = [
+ "anyhow",
+ "uniffi_bindgen",
+]
+
+[[package]]
+name = "uniffi_macros"
+version = "0.17.0"
+dependencies = [
+ "glob",
+ "proc-macro2",
+ "quote",
+ "syn",
+ "uniffi_build",
+]
+
+[[package]]
+name = "uniffi_uitests"
+version = "0.17.0"
+dependencies = [
+ "trybuild",
+ "uniffi",
+ "uniffi_build",
+ "uniffi_macros",
+]
+
+[[package]]
+name = "url"
+version = "2.2.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "a507c383b2d33b5fc35d1861e77e6b383d158b2da5e14fe51b83dfedf6fd578c"
+dependencies = [
+ "form_urlencoded",
+ "idna",
+ "matches",
+ "percent-encoding",
+]
+
+[[package]]
+name = "version_check"
+version = "0.9.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "49874b5167b65d7193b8aba1567f5c7d93d001cafc34600cee003eda787e483f"
+
+[[package]]
+name = "weedle"
+version = "0.12.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "610950904727748ca09682e857f0d6d6437f0ca862f32f9229edba8cec8b2635"
+dependencies = [
+ "nom 5.1.2",
+]
+
+[[package]]
+name = "winapi"
+version = "0.3.9"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5c839a674fcd7a98952e593242ea400abe93992746761e38641405d28b00f419"
+dependencies = [
+ "winapi-i686-pc-windows-gnu",
+ "winapi-x86_64-pc-windows-gnu",
+]
+
+[[package]]
+name = "winapi-i686-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "ac3b87c63620426dd9b991e5ce0329eff545bccbbb34f3be09ff6fb6ab51b7b6"
+
+[[package]]
+name = "winapi-util"
+version = "0.1.5"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "70ec6ce85bb158151cae5e5c87f95a8e97d2c0c4b001223f33a334e3ce5de178"
+dependencies = [
+ "winapi",
+]
+
+[[package]]
+name = "winapi-x86_64-pc-windows-gnu"
+version = "0.4.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "712e227841d057c1ee1cd2fb22fa7e5a5461ae8e48fa2ca79ec42cfc1931183f"
+
+[[package]]
+name = "wyz"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "85e60b0d1b5f99db2556934e21937020776a5d31520bf169e851ac44e6420214"
diff --git a/pkgs/development/tools/uniffi-bindgen/default.nix b/pkgs/development/tools/uniffi-bindgen/default.nix
new file mode 100644
index 00000000000..59ecd71a411
--- /dev/null
+++ b/pkgs/development/tools/uniffi-bindgen/default.nix
@@ -0,0 +1,45 @@
+{ lib
+, stdenv
+, rustPlatform
+, fetchFromGitHub
+, ktlint
+, yapf
+, rubocop
+, rustfmt
+, makeWrapper
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "uniffi-bindgen";
+  version = "0.17.0";
+
+  src = fetchFromGitHub {
+    owner = "mozilla";
+    repo = "uniffi-rs";
+    rev = "v${version}";
+    hash = "sha256-EGyJrW0U/dnKT7OWgd8LehCyvj6mxud3QWbBVyhoK4Y=";
+  };
+
+  cargoLock.lockFileContents = builtins.readFile ./Cargo.lock;
+  cargoHash = "sha256-Fw+yCAI32NdFKJGPuNU6t0FiEfohoVD3VQfInNJuooI=";
+
+  cargoBuildFlags = [ "-p uniffi_bindgen" ];
+  cargoTestFlags = [ "-p uniffi_bindgen" ];
+  nativeBuildInputs = [ makeWrapper ];
+
+  postPatch = ''
+    cp ${./Cargo.lock} Cargo.lock
+  '';
+
+  postFixup = ''
+    wrapProgram "$out/bin/uniffi-bindgen" \
+      --suffix PATH : ${lib.strings.makeBinPath [ rustfmt ktlint yapf rubocop ] }
+  '';
+
+  meta = with lib; {
+    description = "Toolkit for building cross-platform software components in Rust";
+    homepage = "https://mozilla.github.io/uniffi-rs/";
+    license = licenses.mpl20;
+    maintainers = with maintainers; [ vtuan10 ];
+  };
+}
diff --git a/pkgs/development/tools/unityhub/default.nix b/pkgs/development/tools/unityhub/default.nix
index cf3c17823dc..ad0e2c998e6 100644
--- a/pkgs/development/tools/unityhub/default.nix
+++ b/pkgs/development/tools/unityhub/default.nix
@@ -12,7 +12,7 @@ in appimageTools.wrapType2 rec {
   inherit name src;
 
   extraPkgs = (pkgs: with pkgs; with xorg; [ gtk2 gdk-pixbuf glib libGL libGLU nss nspr
-    alsa-lib cups gnome2.GConf libcap fontconfig freetype pango
+    alsa-lib cups libcap fontconfig freetype pango
     cairo dbus dbus-glib libdbusmenu libdbusmenu-gtk2 expat zlib libpng12 udev tbb
     libpqxx gtk3 libsecret lsb-release openssl nodejs ncurses5
 
diff --git a/pkgs/development/tools/vendir/default.nix b/pkgs/development/tools/vendir/default.nix
index a58a0e95a38..e80bb0f14cd 100644
--- a/pkgs/development/tools/vendir/default.nix
+++ b/pkgs/development/tools/vendir/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vendir";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-vendir";
     rev = "v${version}";
-    sha256 = "sha256-6f9UF0UgwKG3Mdgy85pW2KVjC8nbnMTwQJqIWxA3Jp4=";
+    sha256 = "sha256-3l0ezObZK/QEmpBlqSm3R3e4pFM7KUnsxDrzvEYExnk=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/vultr-cli/default.nix b/pkgs/development/tools/vultr-cli/default.nix
index eb08ce7f0da..6e839617034 100644
--- a/pkgs/development/tools/vultr-cli/default.nix
+++ b/pkgs/development/tools/vultr-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vultr-cli";
-  version = "2.12.0";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     owner = "vultr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mT99flZAAhLSynD/8+fa74Mc3KK8pVs+OOFDYNSBzEE=";
+    sha256 = "sha256-jcZiCZn6AbrjEhMkJQloLhZmfnxqlZxu5TXqH+dDN0s=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/wabt/default.nix b/pkgs/development/tools/wabt/default.nix
index 5568f8c457a..d049d994636 100644
--- a/pkgs/development/tools/wabt/default.nix
+++ b/pkgs/development/tools/wabt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wabt";
-  version = "1.0.25";
+  version = "1.0.27";
 
   src = fetchFromGitHub {
     owner = "WebAssembly";
     repo = "wabt";
     rev = version;
-    sha256 = "sha256-2go4HR/z96ONisXBGZDSIB5vXtHvRqBMhHOQTBL5G5w=";
+    sha256 = "sha256-13et9+yoxoITOO9EEyLMNhG4VCj0jd+JhOlw0DxvwOg=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/development/tools/winpdb/default.nix b/pkgs/development/tools/winpdb/default.nix
index 58fef12cd6e..8f8d03db950 100644
--- a/pkgs/development/tools/winpdb/default.nix
+++ b/pkgs/development/tools/winpdb/default.nix
@@ -19,7 +19,7 @@ python2Packages.buildPythonApplication rec {
     comment = "Platform independend Python debugger";
     desktopName = "Winpdb";
     genericName = "Python Debugger";
-    categories = "Development;Debugger;";
+    categories = [ "Development" "Debugger" ];
   };
 
   # Don't call gnome-terminal with "--disable-factory" flag, which is
diff --git a/pkgs/development/tools/worker-build/default.nix b/pkgs/development/tools/worker-build/default.nix
new file mode 100644
index 00000000000..4f6c595ee9b
--- /dev/null
+++ b/pkgs/development/tools/worker-build/default.nix
@@ -0,0 +1,27 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "worker-build";
+  version = "0.0.9";
+
+  src = fetchFromGitHub {
+    owner = "cloudflare";
+    repo = "workers-rs";
+    rev = "v${version}";
+    sha256 = "sha256-nrvnIuLBtdMMBcYm8McOxHc/HHYDrogEG9Ii2Bevl+w=";
+  };
+
+  cargoSha256 = "sha256-xLssAmyfHr4EBQ72XZFqybA6ZI1UM2Q2kS5UWmIkteM=";
+
+  buildAndTestSubdir = "worker-build";
+
+  # missing some module upstream to run the tests
+  doCheck = false;
+
+  meta = with lib; {
+    description = "This is a tool to be used as a custom build command for a Cloudflare Workers `workers-rs` project.";
+    homepage = "https://github.com/cloudflare/worker-rs";
+    license = with licenses; [ asl20 /* or */ mit ];
+    maintainers = with maintainers; [ happysalada ];
+  };
+}
diff --git a/pkgs/development/tools/wrangler/default.nix b/pkgs/development/tools/wrangler/default.nix
index a6c2b6db973..fba7d96c1da 100644
--- a/pkgs/development/tools/wrangler/default.nix
+++ b/pkgs/development/tools/wrangler/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "wrangler";
-  version = "1.19.7";
+  version = "1.19.8";
 
   src = fetchFromGitHub {
     owner = "cloudflare";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1Bb4vpmWtSW2E2gr6V+tDsc4P5FJfCLLpzQX2WiVzUg=";
+    sha256 = "sha256-vJjAN7RmB1J4k7p2emfbjJxkpfph6piinmqVTR67HW0=";
   };
 
-  cargoSha256 = "sha256-iAlRdUMR+64ngRT4icY6sTFFeRt4aShV/hj8PXJ0kEk=";
+  cargoSha256 = "sha256-dDQvcYnceBPDc+yeePjZ1k4a2ujCSh1hJMYFjPGw/bE=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/development/tools/yq-go/default.nix b/pkgs/development/tools/yq-go/default.nix
index b8508860112..483523e1807 100644
--- a/pkgs/development/tools/yq-go/default.nix
+++ b/pkgs/development/tools/yq-go/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "yq-go";
-  version = "4.18.1";
+  version = "4.20.2";
 
   src = fetchFromGitHub {
     owner = "mikefarah";
     repo = "yq";
     rev = "v${version}";
-    sha256 = "sha256-1jPYrZgA1Sg8Cvhfd7BULcpePHH/Buczvgu92KrkSg8=";
+    sha256 = "sha256-vhHT9re35aT+TUYhl4rxv4PE/sd7Vp1PoFbS8s5lWLE=";
   };
 
   vendorSha256 = "sha256-samz70Dybu/Xf9+ftgIKgd2pyQcXw6Ybs/0oJN47IFE=";
diff --git a/pkgs/development/tools/ytt/default.nix b/pkgs/development/tools/ytt/default.nix
index 978016369f2..fb13244daf7 100644
--- a/pkgs/development/tools/ytt/default.nix
+++ b/pkgs/development/tools/ytt/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub }:
 buildGoModule rec {
   pname = "ytt";
-  version = "0.36.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-ytt";
     rev = "v${version}";
-    sha256 = "sha256-/o+SgH0wpQQokzpnlK6Im6K9U3Aax3GHe7IPmVg2etk=";
+    sha256 = "sha256-Oc4hNeSDsGHsA7V05LHFAJ5xvxWth2wEd3ag2ltVR10=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/development/tools/zprint/default.nix b/pkgs/development/tools/zprint/default.nix
index 41c2522dd01..f3f8bae1e8e 100644
--- a/pkgs/development/tools/zprint/default.nix
+++ b/pkgs/development/tools/zprint/default.nix
@@ -2,11 +2,11 @@
 
 buildGraalvmNativeImage rec {
   pname = "zprint";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchurl {
     url = "https://github.com/kkinnear/${pname}/releases/download/${version}/${pname}-filter-${version}";
-    sha256 = "sha256-yC3ByAmR0btaWZQj8n9ITyOAw+wgsmSfNE0Q3QSdzqo=";
+    sha256 = "sha256-CaugPTfEGC0IFgYUSHcE3nsnrP5DSXS1becXChbPggQ=";
   };
 
   extraNativeImageBuildArgs = [
diff --git a/pkgs/development/web/bloomrpc/default.nix b/pkgs/development/web/bloomrpc/default.nix
new file mode 100644
index 00000000000..1c9ed7c2e10
--- /dev/null
+++ b/pkgs/development/web/bloomrpc/default.nix
@@ -0,0 +1,48 @@
+{ lib, fetchurl, gsettings-desktop-schemas, gtk3, appimageTools }:
+
+let
+  pname = "bloomrpc";
+  version = "1.5.3";
+
+  src = fetchurl {
+    url = "https://github.com/uw-labs/${pname}/releases/download/${version}/BloomRPC-${version}.AppImage";
+    name = "${pname}-${version}.AppImage";
+    sha512 = "PebdYDpcplPN5y3mRu1mG6CXenYfYvBXNLgIGEr7ZgKnR5pIaOfJNORSNYSdagdGDb/B1sxuKfX4+4f2cqgb6Q==";
+  };
+
+  appimageContents = appimageTools.extractType2 {
+    inherit pname src version;
+  };
+in
+appimageTools.wrapType2 {
+  inherit pname src version;
+
+  profile = ''
+    export LC_ALL=C.UTF-8
+    export XDG_DATA_DIRS=${gsettings-desktop-schemas}/share/gsettings-schemas/${gsettings-desktop-schemas.name}:${gtk3}/share/gsettings-schemas/${gtk3.name}:$XDG_DATA_DIRS
+  '';
+
+  multiPkgs = null; # no 32bit needed
+  extraPkgs = pkgs: appimageTools.defaultFhsEnvArgs.multiPkgs pkgs ++ [ pkgs.bash ];
+
+  extraInstallCommands = ''
+    ln -s $out/bin/${pname}-${version} $out/bin/${pname}
+    install -m 444 -D ${appimageContents}/${pname}.desktop $out/share/applications/${pname}.desktop
+    install -m 444 -D ${appimageContents}/${pname}.png \
+      $out/share/icons/hicolor/512x512/apps/${pname}.png
+    substituteInPlace $out/share/applications/${pname}.desktop \
+      --replace 'Exec=AppRun' 'Exec=${pname}'
+  '';
+
+  meta = with lib; {
+    description = "GUI Client for GRPC Services";
+    longDescription = ''
+      Inspired by Postman and GraphQL Playground BloomRPC aims to provide the simplest
+      and most efficient developer experience for exploring and querying your GRPC services.
+    '';
+    homepage = "https://github.com/uw-labs/bloomrpc";
+    license = licenses.lgpl3Plus;
+    maintainers = with maintainers; [ zoedsoupe ];
+    platforms = [ "x86_64-linux" ];
+  };
+}
diff --git a/pkgs/development/web/cypress/default.nix b/pkgs/development/web/cypress/default.nix
index ec75f5854b2..9343a2eab48 100644
--- a/pkgs/development/web/cypress/default.nix
+++ b/pkgs/development/web/cypress/default.nix
@@ -2,7 +2,6 @@
 , autoPatchelfHook
 , callPackage
 , fetchzip
-, gnome2
 , gtk2
 , gtk3
 , lib
@@ -17,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "cypress";
-  version = "9.3.1";
+  version = "9.4.1";
 
   src = fetchzip {
     url = "https://cdn.cypress.io/desktop/${version}/linux-x64/cypress.zip";
-    sha256 = "0626i5nxymh9hh9kf1mkky165cynsrkfw402xqmf69pnyzbzn0h7";
+    sha256 = "JoHfXhN5mXJoPwnUf7cKK5FduxqP9bSaGUU8yNfg29Y=";
   };
 
   # don't remove runtime deps
@@ -38,7 +37,6 @@ stdenv.mkDerivation rec {
     nss
     gtk2
     alsa-lib
-    gnome2.GConf
     gtk3
     mesa # for libgbm
   ];
diff --git a/pkgs/development/web/deno/default.nix b/pkgs/development/web/deno/default.nix
index f4f51d25cce..fa2fe98f76c 100644
--- a/pkgs/development/web/deno/default.nix
+++ b/pkgs/development/web/deno/default.nix
@@ -17,15 +17,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "deno";
-  version = "1.18.1";
+  version = "1.19.1";
 
   src = fetchFromGitHub {
     owner = "denoland";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-YaQOYhnbzoLyMpEPYyGXdVTWKN8dvcpLcb++8HO51qQ=";
+    sha256 = "sha256-BqwiconG5hn5RPV+hlKu6e6+GjZA4Im/dD+no3IduYw=";
   };
-  cargoSha256 = "sha256-2+77mILB5vaiejeXJ75l5LedQ55ibq/nlEzxfbANvgI=";
+  cargoSha256 = "sha256-q/5AezLQgN7WdGsbHoxX5riJMlxw3cTFhVs5OvCeI5U=";
 
   # Install completions post-install
   nativeBuildInputs = [ installShellFiles ];
diff --git a/pkgs/development/web/deno/librusty_v8.nix b/pkgs/development/web/deno/librusty_v8.nix
index 340f50c64e4..a1ea206fabd 100644
--- a/pkgs/development/web/deno/librusty_v8.nix
+++ b/pkgs/development/web/deno/librusty_v8.nix
@@ -11,11 +11,11 @@ let
   };
 in
 fetch_librusty_v8 {
-  version = "0.38.1";
+  version = "0.40.0";
   shas = {
-    x86_64-linux = "sha256-vRkb5ZrIOYSKa84UbsJD+Oua0wve7f1Yf3kMg/kkYSY=";
-    aarch64-linux = "sha256-o9btdXct/HpUTXlJc2Ydzj2yo2lSV87uo/VyxaxN0fk=";
-    x86_64-darwin = "sha256-/J/MpXnzvBv70o8Zjc46yPzBrY309o4kDQ9kZzDfhb4=";
-    aarch64-darwin = "sha256-y4MJIA2HKPm9iLJSxDw43VHsoY5v2WGp7zEsll/EHhI=";
+    x86_64-linux = "sha256-VHkopvK6f5lxdFLBywHe0Z+su2g5hgBsLcTxrwFgq0Y=";
+    aarch64-linux = "sha256-awWjziqqUDAl9fcLADUjytLFds1y93y5gZoOtvReL9w=";
+    x86_64-darwin = "sha256-WlRnGiJK3iFgTjNzr25rvmmiPAICPRLaD5hbys7MoJA=";
+    aarch64-darwin = "sha256-zblcAQVwnLQWh85wajg8CalqxycSR+4WGoSC2dnX7jA=";
   };
 }
diff --git a/pkgs/development/web/flyctl/default.nix b/pkgs/development/web/flyctl/default.nix
index fb1eec870b7..2ab433d79b6 100644
--- a/pkgs/development/web/flyctl/default.nix
+++ b/pkgs/development/web/flyctl/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "flyctl";
-  version = "0.0.260";
+  version = "0.0.300";
 
   src = fetchFromGitHub {
     owner = "superfly";
     repo = "flyctl";
     rev = "v${version}";
-    sha256 = "sha256-xjvZp6LAKVYgZpiSHlfZzZ/OBp/UutjvndM46okC0b4=";
+    sha256 = "sha256-hwFnS8GLqGS28AdBgpIn2gRCKgJQSALDVLh5QdObV6g=";
   };
 
   preBuild = ''
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   subPackages = [ "." ];
 
-  vendorSha256 = "sha256-lwayHq4uByCkiwzRd3lPaSAW4XvKNMVNcN4Cfct74e8=";
+  vendorSha256 = "sha256-o5c3wbETEwnQ7IH8YM0xHSCXTnWTvZ5kvqRqoA3QkGc=";
 
   doCheck = false;
 
diff --git a/pkgs/development/web/insomnia/default.nix b/pkgs/development/web/insomnia/default.nix
index 041ceed5288..2abdabc2331 100644
--- a/pkgs/development/web/insomnia/default.nix
+++ b/pkgs/development/web/insomnia/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, makeWrapper, fetchurl, dpkg, alsa-lib, atk, cairo, cups, dbus, expat
-, fontconfig, freetype, gdk-pixbuf, glib, gnome2, pango, mesa, nspr, nss, gtk3
+, fontconfig, freetype, gdk-pixbuf, glib, pango, mesa, nspr, nss, gtk3
 , at-spi2-atk, gsettings-desktop-schemas, gobject-introspection, wrapGAppsHook
 , libX11, libXScrnSaver, libXcomposite, libXcursor, libXdamage, libXext
 , libXfixes, libXi, libXrandr, libXrender, libXtst, libxcb, nghttp2
@@ -38,7 +38,6 @@ in stdenv.mkDerivation rec {
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     pango
     gtk3
     gsettings-desktop-schemas
diff --git a/pkgs/development/web/lucky-cli/default.nix b/pkgs/development/web/lucky-cli/default.nix
index df343f30785..a87892c5f14 100644
--- a/pkgs/development/web/lucky-cli/default.nix
+++ b/pkgs/development/web/lucky-cli/default.nix
@@ -2,13 +2,13 @@
 
 crystal.buildCrystalPackage rec {
   pname = "lucky-cli";
-  version = "0.26.0";
+  version = "0.29.0";
 
   src = fetchFromGitHub {
     owner = "luckyframework";
     repo = "lucky_cli";
     rev = "v${version}";
-    sha256 = "sha256-bZWyAZrAYG45fqmEQYXsk8YLKurpppaahOkALAQXGhY=";
+    sha256 = "sha256-OmvKd35jR003qQnA/NBI4MjGRw044bYUYa59RKbz+lI=";
   };
 
   # the integration tests will try to clone a remote repos
@@ -35,6 +35,7 @@ crystal.buildCrystalPackage rec {
   meta = with lib; {
     description =
       "A Crystal library for creating and running tasks. Also generates Lucky projects";
+    homepage = "https://luckyframework.org/";
     license = licenses.mit;
     maintainers = with maintainers; [ peterhoeg ];
     platforms = platforms.unix;
diff --git a/pkgs/development/web/lucky-cli/shard.lock b/pkgs/development/web/lucky-cli/shard.lock
index f0808622bcf..854a755b0df 100644
--- a/pkgs/development/web/lucky-cli/shard.lock
+++ b/pkgs/development/web/lucky-cli/shard.lock
@@ -2,13 +2,13 @@ version: 2.0
 shards:
   ameba:
     git: https://github.com/crystal-ameba/ameba.git
-    version: 0.14.2
+    version: 0.14.3
 
-  future:
-    git: https://github.com/crystal-community/future.cr.git
-    version: 0.1.0
+  lucky_task:
+    git: https://github.com/luckyframework/lucky_task.git
+    version: 0.1.1
 
   teeplate:
     git: https://github.com/luckyframework/teeplate.git
-    version: 0.8.2
+    version: 0.8.5
 
diff --git a/pkgs/development/web/lucky-cli/shards.nix b/pkgs/development/web/lucky-cli/shards.nix
index b4f100518b3..78c0b4b1338 100644
--- a/pkgs/development/web/lucky-cli/shards.nix
+++ b/pkgs/development/web/lucky-cli/shards.nix
@@ -2,19 +2,19 @@
   ameba = {
     owner = "crystal-ameba";
     repo = "ameba";
-    rev = "v0.14.2";
-    sha256 = "1l1q1icpzg1zvhfj8948w36j7ikaj7w816677zi29vi6y2d1dmf2";
+    rev = "v0.14.3";
+    sha256 = "1cfr95xi6hsyxw1wlrh571hc775xhwmssk3k14i8b7dgbwfmm5x1";
   };
-  future = {
-    owner = "crystal-community";
-    repo = "future.cr";
-    rev = "v0.1.0";
-    sha256 = "1p88mfn1ab5hz4r81vjfm1vn9rww0lbbii8lyzfx9pkxanh9rp98";
+  lucky_task = {
+    owner = "luckyframework";
+    repo = "lucky_task";
+    rev = "v0.1.1";
+    sha256 = "0w0rnf22pvj3lp5z8c4sshzwhqgwpbjpm7nry9mf0iz3fa0v48f7";
   };
   teeplate = {
     owner = "luckyframework";
     repo = "teeplate";
-    rev = "v0.8.2";
-    sha256 = "1v7njslcpir52nnyd30mfnxvqmb7ycqnlq80qnx6myw20iy9dcww";
+    rev = "v0.8.5";
+    sha256 = "1kr05qrp674rph1324wry57gzvgvcvlz0w27brlvdgd3gi4s8sdj";
   };
 }
diff --git a/pkgs/development/web/minify/default.nix b/pkgs/development/web/minify/default.nix
index fc533623146..94997b93f81 100644
--- a/pkgs/development/web/minify/default.nix
+++ b/pkgs/development/web/minify/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "minify";
-  version = "2.9.29";
+  version = "2.10.0";
 
   src = fetchFromGitHub {
     owner = "tdewolff";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-lPw0ndxffBQNsJStrZ9gaGZg+EJcGT9b6xTAc7eX6c8=";
+    sha256 = "sha256-4wF9bRLrGQftw54b+HrsoJOGsTRTNYVDEMsKsFqnHGY=";
   };
 
   vendorSha256 = "sha256-4aoDQKMhczy1u4Eq567aMrFVIBW2L8OgNCqsgmUN6CI=";
diff --git a/pkgs/development/web/nodejs/nodejs.nix b/pkgs/development/web/nodejs/nodejs.nix
index 72615b35622..1e05850884c 100644
--- a/pkgs/development/web/nodejs/nodejs.nix
+++ b/pkgs/development/web/nodejs/nodejs.nix
@@ -19,7 +19,7 @@ let
   majorVersion = versions.major version;
   minorVersion = versions.minor version;
 
-  baseName = if enableNpm then "nodejs" else "nodejs-slim";
+  pname = if enableNpm then "nodejs" else "nodejs-slim";
 
   useSharedHttpParser = !stdenv.isDarwin && versionOlder "${majorVersion}.${minorVersion}" "11.4";
 
@@ -43,9 +43,7 @@ let
 
   extraConfigFlags = optionals (!enableNpm) [ "--without-npm" ];
   self = stdenv.mkDerivation {
-    inherit version;
-
-    name = "${baseName}-${version}";
+    inherit pname version;
 
     src = fetchurl {
       url = "https://nodejs.org/dist/v${version}/node-v${version}.tar.xz";
diff --git a/pkgs/development/web/nodejs/v12.nix b/pkgs/development/web/nodejs/v12.nix
index 4eaf37d2bf4..f353fa9bbc6 100644
--- a/pkgs/development/web/nodejs/v12.nix
+++ b/pkgs/development/web/nodejs/v12.nix
@@ -8,7 +8,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "12.22.9";
-    sha256 = "0jp2fdl73zj5lqjvw98i8pcf7m05cvjcab231zjvdhl4wl1jr66s";
+    version = "12.22.10";
+    sha256 = "sha256-rUyIkdVKLJu2r0NpVt7q1ZhrlpiwbmxtYW3kKc+1OTo=";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v14.nix b/pkgs/development/web/nodejs/v14.nix
index d6d94297f37..270592d6dc3 100644
--- a/pkgs/development/web/nodejs/v14.nix
+++ b/pkgs/development/web/nodejs/v14.nix
@@ -7,7 +7,7 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "14.18.3";
-    sha256 = "026nd6vihjdqz4jn0slg89m8m5vvkvjzgg1aip3dcg9lrm1w8fkq";
+    version = "14.19.0";
+    sha256 = "sha256-6S6EYwDmEXVH036o1b0yJEwZsvzvyznhQgpHY39FAww=";
     patches = lib.optional stdenv.isDarwin ./bypass-xcodebuild.diff;
   }
diff --git a/pkgs/development/web/nodejs/v16.nix b/pkgs/development/web/nodejs/v16.nix
index dd1410625db..864672b12de 100644
--- a/pkgs/development/web/nodejs/v16.nix
+++ b/pkgs/development/web/nodejs/v16.nix
@@ -8,8 +8,8 @@ let
 in
   buildNodejs {
     inherit enableNpm;
-    version = "16.13.2";
-    sha256 = "185lm13q0kwz0qimc38c7mxn8ml6m713pjdjsa9jna9az4gxxccq";
+    version = "16.14.0";
+    sha256 = "sha256-BetkGT45H6iiwVnA9gwXGCRxUWX4DGf8q528lE4wxiM=";
     patches = [
       ./disable-darwin-v8-system-instrumentation.patch
       # Fixes node incorrectly building vendored OpenSSL when we want system OpenSSL.
diff --git a/pkgs/development/web/nodejs/v17.nix b/pkgs/development/web/nodejs/v17.nix
index 5da7cb5497e..9540919b017 100644
--- a/pkgs/development/web/nodejs/v17.nix
+++ b/pkgs/development/web/nodejs/v17.nix
@@ -7,8 +7,8 @@ let
 in
 buildNodejs {
   inherit enableNpm;
-  version = "17.4.0";
-  sha256 = "1ch1hc5qc13qbk7gmpw729wb7s9kmda6sjlhzdw53iq6fzq7336g";
+  version = "17.5.0";
+  sha256 = "sha256-myTmgwV2xX7ja6SDM974vldSMph7Tak5Vot7ifdzzcM=";
   patches = [
     ./disable-darwin-v8-system-instrumentation.patch
     # Fixes node incorrectly building vendored OpenSSL when we want system OpenSSL.
diff --git a/pkgs/development/web/postman/default.nix b/pkgs/development/web/postman/default.nix
index efed625cd2f..bf1ed98b473 100644
--- a/pkgs/development/web/postman/default.nix
+++ b/pkgs/development/web/postman/default.nix
@@ -2,16 +2,16 @@
 , atk, at-spi2-atk, at-spi2-core, alsa-lib, cairo, cups, dbus, expat, gdk-pixbuf, glib, gtk3
 , freetype, fontconfig, nss, nspr, pango, udev, libuuid, libX11, libxcb, libXi
 , libXcursor, libXdamage, libXrandr, libXcomposite, libXext, libXfixes
-, libXrender, libXtst, libXScrnSaver, libxkbcommon, libdrm, mesa
+, libXrender, libXtst, libXScrnSaver, libxkbcommon, libdrm, mesa, xorg
 }:
 
 stdenv.mkDerivation rec {
   pname = "postman";
-  version = "9.7.1";
+  version = "9.13.0";
 
   src = fetchurl {
     url = "https://dl.pstmn.io/download/version/${version}/linux64";
-    sha256 = "sha256-Ioh2FfcKkpLGQdYmRnJC5cj7bNCwCMkg/gsXwPdQa1U=";
+    sha256 = "sha256-ZlCIqQ4i/jaf/uDBonVXf6kAuKEhinnKTk3nO7mnBV4=";
     name = "${pname}.tar.gz";
   };
 
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     comment = "API Development Environment";
     desktopName = "Postman";
     genericName = "Postman";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
   buildInputs = [
@@ -63,6 +63,7 @@ stdenv.mkDerivation rec {
     libXtst
     libXScrnSaver
     libxkbcommon
+    xorg.libxshmfence
   ];
 
   nativeBuildInputs = [ wrapGAppsHook ];
diff --git a/pkgs/development/web/protege-distribution/default.nix b/pkgs/development/web/protege-distribution/default.nix
index 3b885e65151..a6ef66d0695 100644
--- a/pkgs/development/web/protege-distribution/default.nix
+++ b/pkgs/development/web/protege-distribution/default.nix
@@ -60,7 +60,7 @@ stdenv.mkDerivation rec {
       desktopName = "Protege Desktop";
       icon = "protege";
       comment = "OWL2 ontology editor";
-      categories = "Development";
+      categories = [ "Development" ];
       exec = "run-protege";
     })
   ];
diff --git a/pkgs/games/7kaa/default.nix b/pkgs/games/7kaa/default.nix
new file mode 100644
index 00000000000..2b74306cd25
--- /dev/null
+++ b/pkgs/games/7kaa/default.nix
@@ -0,0 +1,79 @@
+{ lib
+, stdenv
+, gccStdenv
+, autoreconfHook
+, pkg-config
+, fetchurl
+, fetchFromGitHub
+, openal
+, libtool
+, enet
+, SDL2
+, curl
+, gettext
+, libiconv
+}:
+
+let
+
+  name = "7kaa";
+  versionMajor = "2.15";
+  versionMinor = "4p1";
+
+  music = stdenv.mkDerivation rec {
+    pname = "${name}-music";
+    version = "${versionMajor}";
+
+    src = fetchurl {
+      url = "https://www.7kfans.com/downloads/${name}-music-${versionMajor}.tar.bz2";
+      sha256 = "sha256-sNdntuJXGaFPXzSpN0SoAi17wkr2YnW+5U38eIaVwcM=";
+    };
+
+    installPhase = ''
+      mkdir -p $out
+      cp -r * $out/
+    '';
+
+    meta.license = lib.licenses.unfree;
+
+  };
+
+in
+
+gccStdenv.mkDerivation rec {
+  pname = "${name}";
+  version = "v${versionMajor}.${versionMinor}";
+
+  src = fetchFromGitHub {
+    owner = "the3dfxdude";
+    repo = pname;
+    rev = "9db2a43e1baee25a44b7aa7e9cedde9a107ed34b";
+    sha256 = "sha256-OAKaRuPP0/n8pO3wIUvGKs6n+U+EmZXUTywXYDAan1o=";
+  };
+
+  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  buildInputs = [ openal enet SDL2 curl gettext libiconv ];
+
+  preAutoreconf = ''
+    autoupdate
+  '';
+
+  hardeningDisable = lib.optionals (stdenv.isAarch64 && stdenv.isDarwin) [ "stackprotector" ];
+
+  postInstall = ''
+    mkdir $out/share/7kaa/MUSIC
+    cp -R ${music}/MUSIC $out/share/7kaa/
+    cp ${music}/COPYING-Music.txt $out/share/7kaa/MUSIC
+    cp ${music}/COPYING-Music.txt $out/share/doc/7kaa
+  '';
+
+  # Multiplayer is auto-disabled for non-x86 system
+
+  meta = with lib; {
+    homepage = "https://www.7kfans.com";
+    description = "GPL release of the Seven Kingdoms with multiplayer (available only on x86 platforms)";
+    license = licenses.gpl2Only;
+    platforms = platforms.x86_64 ++ platforms.aarch64;
+    maintainers = with maintainers; [ _1000101 ];
+  };
+}
diff --git a/pkgs/games/90secondportraits/default.nix b/pkgs/games/90secondportraits/default.nix
index 07458cc6446..1cf7829cfcd 100644
--- a/pkgs/games/90secondportraits/default.nix
+++ b/pkgs/games/90secondportraits/default.nix
@@ -16,7 +16,7 @@ let
     comment = "A silly speed painting game";
     desktopName = "90 Second Portraits";
     genericName = "90secondportraits";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/pkgs/games/abuse/default.nix b/pkgs/games/abuse/default.nix
index 2e863022a68..1e2d4f82f83 100644
--- a/pkgs/games/abuse/default.nix
+++ b/pkgs/games/abuse/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     icon = "abuse";
     desktopName = "Abuse";
     comment     = "Side-scroller action game that pits you against ruthless alien killers";
-    categories  = "Game;ActionGame;";
+    categories  = [ "Game" "ActionGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/alephone/default.nix b/pkgs/games/alephone/default.nix
index 347ccd8df63..98b21865d7c 100644
--- a/pkgs/games/alephone/default.nix
+++ b/pkgs/games/alephone/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, boost, curl, ffmpeg, icoutils, libGLU, libmad, libogg
+{ lib, stdenv, fetchurl, boost, curl, ffmpeg_4, icoutils, libGLU, libmad, libogg
 , libpng, libsndfile, libvorbis, lua, pkg-config, SDL2, SDL2_image, SDL2_net
 , SDL2_ttf, smpeg, speex, zziplib, zlib, makeWrapper, makeDesktopItem, unzip
 , alephone }:
@@ -20,7 +20,7 @@ let
     buildInputs = [
       boost
       curl
-      ffmpeg
+      ffmpeg_4
       libGLU
       libmad
       libsndfile
@@ -72,7 +72,7 @@ in self // {
         name = desktopName;
         exec = pname;
         genericName = pname;
-        categories = "Game;";
+        categories = [ "Game" ];
         comment = meta.description;
         inherit desktopName icon;
       };
@@ -91,10 +91,10 @@ in self // {
         makeWrapper ${alephone}/bin/alephone $out/bin/$pname \
           --add-flags $out/data/$pname
       '';
-
+    } // extraArgs // {
       meta = alephone.meta // {
         license = lib.licenses.free;
         hydraPlatforms = [ ];
       } // meta;
-    } // extraArgs);
+    });
 }
diff --git a/pkgs/games/alephone/infinity/default.nix b/pkgs/games/alephone/infinity/default.nix
index f6002469a09..463915314ad 100644
--- a/pkgs/games/alephone/infinity/default.nix
+++ b/pkgs/games/alephone/infinity/default.nix
@@ -3,13 +3,13 @@
 alephone.makeWrapper rec {
   pname = "marathon-infinity";
   desktopName = "Marathon-Infinity";
-  version = "20210408";
+  version = "20220115";
   icon = alephone.icons + "/marathon-infinity.png";
 
   zip = fetchurl {
     url =
       "https://github.com/Aleph-One-Marathon/alephone/releases/download/release-${version}/MarathonInfinity-${version}-Data.zip";
-    sha256 = "sha256-j9iwSrI7cjqnuRQX+qn8sWXQ6E+DQ19l7OzAL9KHcJU=";
+    sha256 = "sha256-00Wp+y+b82uZZ8fNeU3N5UAKlk0Sd1SfAEGL6RpyVf8=";
   };
 
   meta = {
diff --git a/pkgs/games/angband/default.nix b/pkgs/games/angband/default.nix
index ed18624deb1..3f706b42c32 100644
--- a/pkgs/games/angband/default.nix
+++ b/pkgs/games/angband/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "angband";
-  version = "4.2.3";
+  version = "4.2.4";
 
   src = fetchFromGitHub {
     owner = "angband";
     repo = "angband";
     rev = version;
-    sha256 = "sha256-SFHAG74qJcV3E+jxPcOH2moW/kXhpwUwbGZVkNxqWd8=";
+    sha256 = "sha256-Fp3BGCZYYdQCKXOLYsT4zzlibNRlbELZi26ofrbGGPQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/games/anki/default.nix b/pkgs/games/anki/default.nix
index d1def374009..a25111bddfe 100644
--- a/pkgs/games/anki/default.nix
+++ b/pkgs/games/anki/default.nix
@@ -116,6 +116,11 @@ buildPythonApplication rec {
       url = "https://sources.debian.org/data/main/a/anki/2.1.15+dfsg-3/debian/patches/fix-mpv-args.patch";
       sha256 = "1dimnnawk64m5bbdbjrxw5k08q95l728n94cgkrrwxwavmmywaj2";
     })
+    (fetchpatch {
+      name = "anki-2.1.15-unescape.patch";
+      url = "https://795309.bugs.gentoo.org/attachment.cgi?id=715200";
+      sha256 = "14rz864kdaba4fd1marwkyz9n1jiqnbjy4al8bvwlhpvp0rm1qk6";
+    })
   ];
 
   # Anki does not use setup.py
diff --git a/pkgs/games/assaultcube/default.nix b/pkgs/games/assaultcube/default.nix
index 640ea81c6c6..1013be2694e 100644
--- a/pkgs/games/assaultcube/default.nix
+++ b/pkgs/games/assaultcube/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     desktopName = "AssaultCube";
     comment = "A multiplayer, first-person shooter game, based on the CUBE engine. Fast, arcade gameplay.";
     genericName = "First-person shooter";
-    categories = "Game;ActionGame;Shooter";
+    categories = [ "Game" "ActionGame" "Shooter" ];
     icon = "assaultcube.png";
     exec = pname;
   };
diff --git a/pkgs/games/ballerburg/default.nix b/pkgs/games/ballerburg/default.nix
index 43b274a1282..b15abdbc470 100644
--- a/pkgs/games/ballerburg/default.nix
+++ b/pkgs/games/ballerburg/default.nix
@@ -25,11 +25,10 @@ in stdenv.mkDerivation rec {
     (makeDesktopItem {
       name = "Ballerburg";
       desktopName = "Ballerburg SDL";
-      type = "Application";
       exec = "_NET_WM_ICON=ballerburg ballerburg";
       comment = meta.description;
       icon = "ballerburg";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/blackshades/default.nix b/pkgs/games/blackshades/default.nix
index 76f22e98d9e..bd21fc08070 100644
--- a/pkgs/games/blackshades/default.nix
+++ b/pkgs/games/blackshades/default.nix
@@ -3,14 +3,14 @@
 
 stdenv.mkDerivation rec {
   pname = "blackshades";
-  version = "2.4.7";
+  version = "2.4.9";
 
   src = fetchFromSourcehut {
     owner = "~cnx";
     repo = pname;
     rev = version;
     fetchSubmodules = true;
-    sha256 = "sha256-hvJwWUUmGeb7MQgKe79cPS2ckPZ9z0Yc5S9IiwuXPD8=";
+    sha256 = "sha256-Hg+VcWI28GzY/CPm1lUftP0RGztOnzizrKJQVTmeJ9I=";
   };
 
   nativeBuildInputs = [ zig ];
diff --git a/pkgs/games/brogue/default.nix b/pkgs/games/brogue/default.nix
index 77811e76e96..d4f1f8faeeb 100644
--- a/pkgs/games/brogue/default.nix
+++ b/pkgs/games/brogue/default.nix
@@ -26,8 +26,7 @@ stdenv.mkDerivation rec {
     comment = "Brave the Dungeons of Doom!";
     icon = "brogue";
     exec = "brogue";
-    categories = "Game;AdventureGame;";
-    terminal = "false";
+    categories = [ "Game" "AdventureGame" ];
   };
 
   installPhase = ''
diff --git a/pkgs/games/chessx/default.nix b/pkgs/games/chessx/default.nix
index 1d2b366cf38..fd8189386e7 100644
--- a/pkgs/games/chessx/default.nix
+++ b/pkgs/games/chessx/default.nix
@@ -12,11 +12,11 @@
 
 mkDerivation rec {
   pname = "chessx";
-  version = "1.5.6";
+  version = "1.5.7";
 
   src = fetchurl {
     url = "mirror://sourceforge/chessx/chessx-${version}.tgz";
-    sha256 = "sha256-0JpLU0qQnF8aOYxkBlBJov3zBJe8gcy98NlAQSNk0gU=";
+    sha256 = "sha256-wadIO3iNvj8LgIzExHTmeXxXnWOI+ViLrdhAlzZ79Jw=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/games/cl-wordle/default.nix b/pkgs/games/cl-wordle/default.nix
index e80dacc6470..1ad3487c3fe 100644
--- a/pkgs/games/cl-wordle/default.nix
+++ b/pkgs/games/cl-wordle/default.nix
@@ -2,16 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cl-wordle";
-  version = "0.1.2";
+  version = "0.4.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-mcPC2Lj+Vsytfl3+ghYn74QRfM6U4dQLUybtCqkjKlk=";
+    sha256 = "sha256-z2XpXgOviBRcberwpxQ4ml1T04k5kMhG7wA0PAYWENg=";
   };
 
-  cargoSha256 = "sha256-3Ef8gLFWIAYpKdPixvILvDee5Gezh68hc9TR5+zRX0I=";
-
-  patches = [ ./rust-1-57.diff ];
+  cargoSha256 = "sha256-C7UMkhgez2CtddftARlwN1TjZ1N26NnZfpRiX1KkMEA=";
 
   meta = with lib; {
     description = "Wordle TUI in Rust";
diff --git a/pkgs/games/cl-wordle/rust-1-57.diff b/pkgs/games/cl-wordle/rust-1-57.diff
deleted file mode 100644
index 32b95bdaae9..00000000000
--- a/pkgs/games/cl-wordle/rust-1-57.diff
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/bin/wordle/game.rs b/src/bin/wordle/game.rs
-index 8500732..6f26e2a 100644
---- a/src/bin/wordle/game.rs
-+++ b/src/bin/wordle/game.rs
-@@ -235,7 +235,7 @@ impl Display for GameShare {
-             score = self.score
-         )?;
-         for m in &self.matches {
--            write!(f, "\n{m}")?;
-+            write!(f, "\n{}", m)?;
-         }
-         Ok(())
-     }
diff --git a/pkgs/games/clonehero/fhs-wrapper.nix b/pkgs/games/clonehero/fhs-wrapper.nix
index 97758b2c1fa..cd7f3986b10 100644
--- a/pkgs/games/clonehero/fhs-wrapper.nix
+++ b/pkgs/games/clonehero/fhs-wrapper.nix
@@ -13,7 +13,7 @@ let
     comment = clonehero-unwrapped.meta.description;
     exec = name;
     icon = name;
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in
 buildFHSUserEnv {
diff --git a/pkgs/games/crawl/default.nix b/pkgs/games/crawl/default.nix
index e5eea7ece62..064e1d623a5 100644
--- a/pkgs/games/crawl/default.nix
+++ b/pkgs/games/crawl/default.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crawl${lib.optionalString tileMode "-tiles"}";
-  version = "0.27.1";
+  version = "0.28.0";
 
   src = fetchFromGitHub {
     owner = "crawl";
     repo = "crawl";
     rev = version;
-    sha256 = "sha256-fyI7OIzhYXNTjIgJLqApyPMmiG3iof1b5XuGudNanos=";
+    sha256 = "sha256-pVEE3g+NDwpsrakyj4YIk53aE+LCiIaRhOqos4huh9A=";
   };
 
   # Patch hard-coded paths and remove force library builds
diff --git a/pkgs/games/crispy-doom/default.nix b/pkgs/games/crispy-doom/default.nix
index c507332399a..7454242c72b 100644
--- a/pkgs/games/crispy-doom/default.nix
+++ b/pkgs/games/crispy-doom/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "crispy-doom";
-  version = "5.10.3";
+  version = "5.11.1";
 
   src = fetchFromGitHub {
     owner = "fabiangreffrath";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-F1cK8qusxOHM0DkLEYV5i2ixP3II8ZttwKxd8htd0+A=";
+    sha256 = "sha256-2Sjl9XO01ko0BwbFQSFv9mNoetyMa8Dxx17y0JmlLS0=";
   };
 
   postPatch = ''
diff --git a/pkgs/games/ddnet/default.nix b/pkgs/games/ddnet/default.nix
index 7f0f5088176..1663e17b14d 100644
--- a/pkgs/games/ddnet/default.nix
+++ b/pkgs/games/ddnet/default.nix
@@ -20,13 +20,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddnet";
-  version = "15.8.1";
+  version = "15.9.1";
 
   src = fetchFromGitHub {
     owner = "ddnet";
     repo = pname;
     rev = version;
-    sha256 = "sha256-ZxLaGAKBACR65CRCjt3NPSjMNm7GQkESxF6sLv3q4lQ=";
+    sha256 = "sha256-QGtXI4Dbua5LBXSvB17tnSTGEvCCoopvg1XKBuDIEoQ=";
   };
 
   nativeBuildInputs = [ cmake ninja pkg-config ];
diff --git a/pkgs/games/dhewm3/default.nix b/pkgs/games/dhewm3/default.nix
index a87236c48f4..da75f3fd5d1 100644
--- a/pkgs/games/dhewm3/default.nix
+++ b/pkgs/games/dhewm3/default.nix
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
       name = "dhewm3";
       exec = "dhewm3";
       desktopName = "Doom 3";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/domination/default.nix b/pkgs/games/domination/default.nix
index 0dde8ab1641..dd044656534 100644
--- a/pkgs/games/domination/default.nix
+++ b/pkgs/games/domination/default.nix
@@ -11,14 +11,12 @@
 
 let
   desktopItem = makeDesktopItem {
-    type = "Application";
     name = "Domination";
     desktopName = "Domination";
     exec = "domination";
     icon = "domination";
   };
   editorDesktopItem = makeDesktopItem {
-    type = "Application";
     name = "Domination Map Editor";
     desktopName = "Domination Map Editor";
     exec = "domination-map-editor";
diff --git a/pkgs/games/duckmarines/default.nix b/pkgs/games/duckmarines/default.nix
index af34742b9fd..a4e37081ab0 100644
--- a/pkgs/games/duckmarines/default.nix
+++ b/pkgs/games/duckmarines/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     comment = "Duck-themed action puzzle video game";
     desktopName = "Duck Marines";
     genericName = "duckmarines";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   src = fetchurl {
diff --git a/pkgs/games/ecwolf/default.nix b/pkgs/games/ecwolf/default.nix
index 251b51df43a..f8ca3b40f53 100644
--- a/pkgs/games/ecwolf/default.nix
+++ b/pkgs/games/ecwolf/default.nix
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
       exec = "ecwolf";
       comment = "Enhanced Wolfenstein 3D port";
       desktopName = "Wolfenstein 3D";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/eduke32/default.nix b/pkgs/games/eduke32/default.nix
index c3492234961..4eb46e0ac15 100644
--- a/pkgs/games/eduke32/default.nix
+++ b/pkgs/games/eduke32/default.nix
@@ -11,7 +11,7 @@ let
     comment = "Duke Nukem 3D port";
     desktopName = "Enhanced Duke Nukem 3D";
     genericName = "Duke Nukem 3D port";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   wrapper = "eduke32-wrapper";
diff --git a/pkgs/games/factorio/default.nix b/pkgs/games/factorio/default.nix
index 74702a97339..4cf335a6137 100644
--- a/pkgs/games/factorio/default.nix
+++ b/pkgs/games/factorio/default.nix
@@ -53,8 +53,7 @@ let
     comment = "A game in which you build and maintain factories.";
     exec = "factorio";
     icon = "factorio";
-    type = "Application";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
   branch = if experimental then "experimental" else "stable";
diff --git a/pkgs/games/fheroes2/default.nix b/pkgs/games/fheroes2/default.nix
index 287093354fc..567ab267cfe 100644
--- a/pkgs/games/fheroes2/default.nix
+++ b/pkgs/games/fheroes2/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fheroes2";
-  version = "0.9.11";
+  version = "0.9.12";
 
   src = fetchFromGitHub {
     owner = "ihhub";
     repo = "fheroes2";
     rev = version;
-    sha256 = "sha256-p2FG4oWLTGflOoxsp8A+FpoVHfKiEw3DEnK8n3UiBtU=";
+    sha256 = "sha256-6voM6aQ22zW6NHm9x2TDsM4Kea6TLYZTdSLyc/6fz8A=";
   };
 
   buildInputs = [ gettext libpng SDL2 SDL2_image SDL2_mixer SDL2_ttf zlib ];
diff --git a/pkgs/games/fish-fillets-ng/default.nix b/pkgs/games/fish-fillets-ng/default.nix
index 5ddad7fda4c..e610f2427a2 100644
--- a/pkgs/games/fish-fillets-ng/default.nix
+++ b/pkgs/games/fish-fillets-ng/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     icon = "fish-fillets-ng";
     desktopName = "Fish Fillets";
     comment     = "Puzzle game about witty fish saving the world sokoban-style";
-    categories  = "Game;LogicGame;";
+    categories  = [ "Game" "LogicGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/flare/default.nix b/pkgs/games/flare/default.nix
index 2093e162f94..3567a588605 100644
--- a/pkgs/games/flare/default.nix
+++ b/pkgs/games/flare/default.nix
@@ -1,7 +1,7 @@
 { lib, buildEnv, callPackage, makeWrapper, Cocoa }:
 
 buildEnv {
-  name = "flare-1.13";
+  name = "flare-1.13.04";
 
   paths = [
     (callPackage ./engine.nix { inherit Cocoa; })
diff --git a/pkgs/games/flare/engine.nix b/pkgs/games/flare/engine.nix
index fa409857eab..9e9215ada1f 100644
--- a/pkgs/games/flare/engine.nix
+++ b/pkgs/games/flare/engine.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-engine";
-  version = "1.13";
+  version = "1.13.04";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-53JCjVu6vG4js5UryQIccpD8qdS+EfxSyV4v2LOYe+c=";
+    sha256 = "sha256-GPHPYcW0kBDGpZti2kFggNB4RVK/3eQ53M9mJvJuKXM=";
   };
 
   patches = [ ./desktop.patch ];
diff --git a/pkgs/games/flare/game.nix b/pkgs/games/flare/game.nix
index 5a3d4237978..791af264535 100644
--- a/pkgs/games/flare/game.nix
+++ b/pkgs/games/flare/game.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "flare-game";
-  version = "1.13";
+  version = "1.13.04";
 
   src = fetchFromGitHub {
     owner = "flareteam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-zfZTHw8obq5/z9+mCY0LIq9suvyh91ypqpxc3dNxI4o=";
+    sha256 = "sha256-7dEIagioM6OZXG+eNaYls8skHXSqGFXZuNhT0zhTFdY=";
   };
 
   nativeBuildInputs = [ cmake ];
diff --git a/pkgs/games/flightgear/default.nix b/pkgs/games/flightgear/default.nix
index 6f4a57587de..af79a6d4b2b 100644
--- a/pkgs/games/flightgear/default.nix
+++ b/pkgs/games/flightgear/default.nix
@@ -49,7 +49,7 @@ stdenv.mkDerivation rec {
     comment = "FlightGear Flight Simulator";
     desktopName = "FlightGear";
     genericName = "Flight simulator";
-    categories = "Game;Simulation";
+    categories = [ "Game" "Simulation" ];
   };
 
   nativeBuildInputs = [ cmake wrapQtAppsHook ];
diff --git a/pkgs/games/freedroid/default.nix b/pkgs/games/freedroid/default.nix
index 266407d17db..38eb60e7e04 100644
--- a/pkgs/games/freedroid/default.nix
+++ b/pkgs/games/freedroid/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
     icon = pname;
     desktopName = "Freedroid Classic";
     comment     = "A clone of the classic game 'Paradroid' on Commodore 64";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   meta = with lib; {
diff --git a/pkgs/games/freenukum/default.nix b/pkgs/games/freenukum/default.nix
index ff1e8872233..0d2f833671e 100644
--- a/pkgs/games/freenukum/default.nix
+++ b/pkgs/games/freenukum/default.nix
@@ -16,12 +16,9 @@ let
     name = pname;
     exec = pname;
     icon = pname;
-    terminal = "false";
     comment = description;
-    type = "Application";
-    categories = "Game;ArcadeGame;ActionGame";
+    categories = [ "Game" "ArcadeGame" "ActionGame" ];
     genericName = pname;
-    fileValidation = false;
   };
 
 in
diff --git a/pkgs/games/frogatto/default.nix b/pkgs/games/frogatto/default.nix
index 0b53e3d0bea..f987992858d 100644
--- a/pkgs/games/frogatto/default.nix
+++ b/pkgs/games/frogatto/default.nix
@@ -7,12 +7,12 @@ let
   desktopItem = makeDesktopItem {
     name = "frogatto";
     exec = "frogatto";
-    startupNotify = "true";
+    startupNotify = true;
     icon = "${data}/share/frogatto/modules/frogatto/images/os/frogatto-icon.png";
     comment = description;
     desktopName = "Frogatto";
     genericName = "frogatto";
-    categories = "Game;ArcadeGame;";
+    categories = [ "Game" "ArcadeGame" ];
   };
   version = "unstable-2020-12-04";
 in buildEnv {
diff --git a/pkgs/games/frozen-bubble/default.nix b/pkgs/games/frozen-bubble/default.nix
index f9dd3fd6159..6738f979d00 100644
--- a/pkgs/games/frozen-bubble/default.nix
+++ b/pkgs/games/frozen-bubble/default.nix
@@ -25,7 +25,7 @@ perlPackages.buildPerlModule {
       desktopName = "Frozen Bubble";
       genericName = "Frozen Bubble";
       comment = "Arcade/reflex colour matching game";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/gcompris/default.nix b/pkgs/games/gcompris/default.nix
index 2b3ff2b5c2e..c4c737d228c 100644
--- a/pkgs/games/gcompris/default.nix
+++ b/pkgs/games/gcompris/default.nix
@@ -18,15 +18,15 @@
 
 mkDerivation rec {
   pname = "gcompris";
-  version = "2.0";
+  version = "2.1";
 
   src = fetchurl {
     url = "http://gcompris.net/download/qt/src/gcompris-qt-${version}.tar.xz";
-    sha256 = "sha256-mrVGYI9IPyXqlXZN2MEDGTjIPUmlLwfaAo+zW4HjqMc=";
+    sha256 = "sha256-ljOY/uybXzfwOFmhBXB4sC4Vn/C8BP1BeUUPpdHuQwo=";
   };
 
   cmakeFlags = [
-    "-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.0"
+    "-DQML_BOX2D_LIBRARY=${qmlbox2d}/${qtbase.qtQmlPrefix}/Box2D.2.1"
   ];
 
   nativeBuildInputs = [ cmake gettext ninja qttools ];
diff --git a/pkgs/games/gnujump/default.nix b/pkgs/games/gnujump/default.nix
index 6f91b103458..1c918395d40 100644
--- a/pkgs/games/gnujump/default.nix
+++ b/pkgs/games/gnujump/default.nix
@@ -19,7 +19,7 @@ stdenv.mkDerivation rec {
     icon = "gnujump";
     desktopName = "GNUjump";
     comment     = "Jump up the tower to survive";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/gzdoom/default.nix b/pkgs/games/gzdoom/default.nix
index e38294ff401..a10b370e648 100644
--- a/pkgs/games/gzdoom/default.nix
+++ b/pkgs/games/gzdoom/default.nix
@@ -60,7 +60,7 @@ let
         name = "gzdoom";
         exec = "gzdoom";
         desktopName = "GZDoom";
-        categories = "Game;";
+        categories = [ "Game" ];
       })
     ];
 
diff --git a/pkgs/games/heroic/default.nix b/pkgs/games/heroic/default.nix
index bcbe2a6c653..c0416d0dd7e 100644
--- a/pkgs/games/heroic/default.nix
+++ b/pkgs/games/heroic/default.nix
@@ -2,11 +2,11 @@
 
 let
   pname = "heroic";
-  version = "2.0.2";
+  version = "2.2.1";
   name = "${pname}-${version}";
   src = fetchurl {
     url = "https://github.com/Heroic-Games-Launcher/HeroicGamesLauncher/releases/download/v${version}/Heroic-${version}.AppImage";
-    sha256 = "sha256-4gq0ZCcPIx/CkFNZTM5Atkd/GP6v1t3MO2tibrKkcZQ=";
+    sha256 = "sha256-zzxf3eM1fUWTVtzzABcwlmptNuCVQafvotnbOiCzu0c=";
   };
   appimageContents = appimageTools.extractType2 { inherit name src; };
 
diff --git a/pkgs/games/hyperrogue/default.nix b/pkgs/games/hyperrogue/default.nix
index 08427bd2920..0397bb474da 100644
--- a/pkgs/games/hyperrogue/default.nix
+++ b/pkgs/games/hyperrogue/default.nix
@@ -23,7 +23,7 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     icon = "hyperrogue";
     exec = "hyperrogue";
-    categories = "Game;AdventureGame;";
+    categories = [ "Game" "AdventureGame" ];
   };
 
   postInstall = ''
diff --git a/pkgs/games/itch-setup/default.nix b/pkgs/games/itch-setup/default.nix
new file mode 100644
index 00000000000..55d488bcaac
--- /dev/null
+++ b/pkgs/games/itch-setup/default.nix
@@ -0,0 +1,24 @@
+{ lib, writeShellScriptBin, steam-run, fetchurl }:
+let
+
+  pname = "itch-setup";
+  version = "1.26.0";
+
+  src = fetchurl {
+    url = "https://broth.itch.ovh/itch-setup/linux-amd64/${version}/unpacked/default";
+    hash = "sha256-bcJKqhgZK42Irx12BIvbTDMb/DHEOEXljetlDokF7x8=";
+    executable = true;
+  };
+
+in
+(writeShellScriptBin pname ''exec ${steam-run}/bin/steam-run ${src} "$@"'') // {
+
+  passthru = { inherit pname version src; };
+  meta = with lib; {
+    description = "An installer for the itch.io desktop app";
+    homepage = "https://github.com/itchio/itch-setup";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pasqui23 ];
+  };
+}
diff --git a/pkgs/games/itch/default.nix b/pkgs/games/itch/default.nix
new file mode 100644
index 00000000000..34a2775c3c8
--- /dev/null
+++ b/pkgs/games/itch/default.nix
@@ -0,0 +1,62 @@
+{ lib
+, stdenvNoCC
+, fetchurl
+, libnotify
+, nss
+, gtk3
+, fetchFromGitHub
+, makeDesktopItem
+, itch-setup
+, runtimeShell
+}:
+stdenvNoCC.mkDerivation rec{
+  pname = "itch";
+  version = "25.5.1";
+
+  src = fetchFromGitHub {
+    owner = "itchio";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-Pi3l3uK4kr+N3p7fGQuqckYIzycRqJHDVX00reoSbp4=";
+  };
+
+  desktopItems = [
+    (makeDesktopItem {
+      name = pname;
+      exec = pname;
+      tryExec = "itch %U";
+      icon = pname;
+      desktopName = pname;
+      mimeTypes = [ "x-scheme-handler/itchio" "x-scheme-handler/itch" ];
+      comment = "Install and play itch.io games easily";
+      categories = [ "Game" ];
+    })
+  ];
+
+  itchBin = ''
+    #!${runtimeShell}
+    exec ${itch-setup}/bin/itch-setup --prefer-launch -- "$@"
+  '';
+
+  passAsFile = [ "itchBin" ];
+
+  # as taken from https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=itch
+  installPhase = ''
+    install -Dm0777 $itchBinPath $out/bin/itch
+    for icon in release/images/itch-icons/icon*.png
+    do
+      iconsize="''${icon#release/images/itch-icons/icon}"
+      iconsize="''${iconsize%.png}"
+      icondir="$out/share/icons/hicolor/''${iconsize}x''${iconsize}/apps/"
+      install -Dm644 "$icon" "$icondir/itch.png"
+    done
+  '';
+
+  meta = with lib; {
+    description = "The best way to play itch.io games";
+    homepage = "https://github.com/itchio/itch";
+    license = licenses.mit;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ pasqui23 ];
+  };
+}
diff --git a/pkgs/games/ivan/default.nix b/pkgs/games/ivan/default.nix
index ce0eeea738a..53e1b3cf00e 100644
--- a/pkgs/games/ivan/default.nix
+++ b/pkgs/games/ivan/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     icon = "ivan.png";
     desktopName = "IVAN";
     genericName = pname;
-    categories = "Game;AdventureGame;RolePlaying;";
+    categories = [ "Game" "AdventureGame" "RolePlaying" ];
     comment = meta.description;
   };
 
diff --git a/pkgs/games/liberation-circuit/default.nix b/pkgs/games/liberation-circuit/default.nix
index 478fd606376..c1f03e036c9 100644
--- a/pkgs/games/liberation-circuit/default.nix
+++ b/pkgs/games/liberation-circuit/default.nix
@@ -64,7 +64,7 @@ stdenv.mkDerivation rec {
       Escape from a hostile computer system! Harvest data to create an armada of battle-processes to aid your escape! Take command directly and play the game as an RTS, or use the game's built-in editor and compiler to write your own unit AI in a simplified version of C.
     '';
     homepage = "https://linleyh.itch.io/liberation-circuit";
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     license = licenses.gpl3Only;
     platforms = platforms.linux;
   };
diff --git a/pkgs/games/linthesia/default.nix b/pkgs/games/linthesia/default.nix
new file mode 100644
index 00000000000..0914722a9ac
--- /dev/null
+++ b/pkgs/games/linthesia/default.nix
@@ -0,0 +1,38 @@
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, python3, libGL, libGLU
+, alsa-lib, glibmm, sqlite, SDL2, SDL2_ttf_2_0_15, SDL2_image, gtk3, wrapGAppsHook }:
+
+stdenv.mkDerivation rec {
+  pname = "linthesia";
+  version = "0.8.0";
+
+  src = fetchFromGitHub {
+    owner = "linthesia";
+    repo = "linthesia";
+    rev = version;
+    sha256 = "sha256-bdW0RlV14ttnK8NizfNfXmZ7zlJOqZCpVvt8vT2Pjys=";
+  };
+
+  postPatch = ''
+    patchShebangs meson_post_install.py
+  '';
+
+  nativeBuildInputs = [ meson ninja pkg-config python3 wrapGAppsHook ];
+  buildInputs = [
+    libGL
+    libGLU
+    alsa-lib
+    glibmm
+    sqlite
+    SDL2
+    SDL2_ttf_2_0_15
+    SDL2_image
+    gtk3.out # icon cache
+  ];
+
+  meta = with lib; {
+    description = "A game of playing music using a MIDI keyboard following a MIDI file";
+    inherit (src.meta) homepage;
+    license = licenses.gpl2Plus;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/games/lunar-client/default.nix b/pkgs/games/lunar-client/default.nix
index 2dc0e14daf8..dceb9755fa2 100644
--- a/pkgs/games/lunar-client/default.nix
+++ b/pkgs/games/lunar-client/default.nix
@@ -11,7 +11,7 @@ let
     comment = "Minecraft 1.7, 1.8, 1.12, 1.15, and 1.16 Client";
     desktopName = "Lunar Client";
     genericName = "Minecraft Client";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   appimageContents = appimageTools.extract {
diff --git a/pkgs/games/maelstrom/default.nix b/pkgs/games/maelstrom/default.nix
index 5f78e34edac..065784d605e 100644
--- a/pkgs/games/maelstrom/default.nix
+++ b/pkgs/games/maelstrom/default.nix
@@ -26,7 +26,7 @@ stdenv.mkDerivation rec {
       desktopName = "Maelstrom";
       genericName = "Maelstrom";
       comment = "An arcade-style game resembling Asteroids";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/mari0/default.nix b/pkgs/games/mari0/default.nix
index 55ef9f51d5b..8189c078981 100644
--- a/pkgs/games/mari0/default.nix
+++ b/pkgs/games/mari0/default.nix
@@ -10,7 +10,7 @@ let
     comment = "Crossover between Super Mario Bros. and Portal";
     desktopName = "mari0";
     genericName = "mari0";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/pkgs/games/mindustry/default.nix b/pkgs/games/mindustry/default.nix
index d28f2b1d1e7..82df3710c57 100644
--- a/pkgs/games/mindustry/default.nix
+++ b/pkgs/games/mindustry/default.nix
@@ -66,7 +66,6 @@ let
   '';
 
   desktopItem = makeDesktopItem {
-    type = "Application";
     name = "Mindustry";
     desktopName = "Mindustry";
     exec = "mindustry";
diff --git a/pkgs/games/minecraft-servers/update.py b/pkgs/games/minecraft-servers/update.py
index 4fe84ee21a5..0e7f10a8c93 100755
--- a/pkgs/games/minecraft-servers/update.py
+++ b/pkgs/games/minecraft-servers/update.py
@@ -4,6 +4,7 @@
 import json
 from dataclasses import dataclass, field
 from datetime import datetime
+from pathlib import Path
 from typing import Any, Dict, List, Optional
 
 import requests
@@ -150,6 +151,6 @@ def generate() -> Dict[str, Dict[str, str]]:
 
 
 if __name__ == "__main__":
-    with open("versions.json", "w") as file:
+    with open(Path(__file__).parent / "versions.json", "w") as file:
         json.dump(generate(), file, indent=2)
         file.write("\n")
diff --git a/pkgs/games/minecraft/default.nix b/pkgs/games/minecraft/default.nix
index 254c01fdf1b..08104310faa 100644
--- a/pkgs/games/minecraft/default.nix
+++ b/pkgs/games/minecraft/default.nix
@@ -38,7 +38,7 @@ let
     icon = "minecraft-launcher";
     comment = "Official launcher for Minecraft, a sandbox-building game";
     desktopName = "Minecraft Launcher";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   envLibPath = lib.makeLibraryPath [
diff --git a/pkgs/games/minetest/default.nix b/pkgs/games/minetest/default.nix
index facdcae8e26..9e94bb6a4a7 100644
--- a/pkgs/games/minetest/default.nix
+++ b/pkgs/games/minetest/default.nix
@@ -1,7 +1,8 @@
 { lib, stdenv, fetchFromGitHub, cmake, irrlicht, libpng, bzip2, curl, libogg, jsoncpp
 , libjpeg, libXxf86vm, libGLU, libGL, openal, libvorbis, sqlite, luajit
 , freetype, gettext, doxygen, ncurses, graphviz, xorg, gmp, libspatialindex
-, leveldb, postgresql, hiredis, libiconv, OpenGL, OpenAL ? openal, Carbon, Cocoa
+, leveldb, postgresql, hiredis, libiconv, zlib, libXrandr, libX11, ninja, prometheus-cpp
+, OpenGL, OpenAL ? openal, Carbon, Cocoa
 }:
 
 with lib;
@@ -9,6 +10,21 @@ with lib;
 let
   boolToCMake = b: if b then "ON" else "OFF";
 
+  irrlichtMt = stdenv.mkDerivation rec {
+    pname = "irrlichtMt";
+    version = "1.9.0mt4";
+    src = fetchFromGitHub {
+      owner = "minetest";
+      repo = "irrlicht";
+      rev = version;
+      sha256 = "sha256-YlXn9LrfGkjdb8+zQGDgrInolUYj9nVSF2AXWFpEEkw=";
+    };
+    nativeBuildInputs = [ cmake ];
+    buildInputs = [ zlib libjpeg libpng libGLU libGL libXrandr libX11 libXxf86vm ];
+    outputs = [ "out" "dev" ];
+    meta = irrlicht.meta;
+  };
+
   generic = { version, rev ? version, sha256, dataRev ? version, dataSha256, buildClient ? true, buildServer ? false }: let
     sources = {
       src = fetchFromGitHub {
@@ -30,29 +46,41 @@ let
     src = sources.src;
 
     cmakeFlags = [
+      "-G Ninja"
       "-DBUILD_CLIENT=${boolToCMake buildClient}"
       "-DBUILD_SERVER=${boolToCMake buildServer}"
-      "-DENABLE_FREETYPE=1"
       "-DENABLE_GETTEXT=1"
+      "-DENABLE_SPATIAL=1"
       "-DENABLE_SYSTEM_JSONCPP=1"
-      "-DIRRLICHT_INCLUDE_DIR=${irrlicht}/include/irrlicht"
+      "-DIRRLICHT_INCLUDE_DIR=${irrlichtMt.dev}/include/irrlicht"
+
+      # Remove when https://github.com/NixOS/nixpkgs/issues/144170 is fixed
+      "-DCMAKE_INSTALL_BINDIR=bin"
+      "-DCMAKE_INSTALL_DATADIR=share"
+      "-DCMAKE_INSTALL_DOCDIR=share/doc"
+      "-DCMAKE_INSTALL_DOCDIR=share/doc"
+      "-DCMAKE_INSTALL_MANDIR=share/man"
+      "-DCMAKE_INSTALL_LOCALEDIR=share/locale"
+
     ] ++ optionals buildClient [
       "-DOpenGL_GL_PREFERENCE=GLVND"
+    ] ++ optionals buildServer [
+      "-DENABLE_PROMETHEUS=1"
     ];
 
     NIX_CFLAGS_COMPILE = "-DluaL_reg=luaL_Reg"; # needed since luajit-2.1.0-beta3
 
-    nativeBuildInputs = [ cmake doxygen graphviz ];
+    nativeBuildInputs = [ cmake doxygen graphviz ninja ];
 
     buildInputs = [
-      irrlicht luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
+      irrlichtMt luajit jsoncpp gettext freetype sqlite curl bzip2 ncurses
       gmp libspatialindex
     ] ++ optionals stdenv.isDarwin [
       libiconv OpenGL OpenAL Carbon Cocoa
     ] ++ optionals buildClient [
       libpng libjpeg libGLU libGL openal libogg libvorbis xorg.libX11 libXxf86vm
     ] ++ optionals buildServer [
-      leveldb postgresql hiredis
+      leveldb postgresql hiredis prometheus-cpp
     ];
 
     postInstall = ''
@@ -73,22 +101,13 @@ let
     };
   };
 
-  v4 = {
-    version = "0.4.17.1";
-    sha256 = "19sfblgh9mchkgw32n7gdvm7a8a9jxsl9cdlgmxn9bk9m939a2sg";
-    dataSha256 = "1g8iw2pya32ifljbdx6z6rpcinmzm81i9minhi2bi1d500ailn7s";
-  };
-
   v5 = {
-    version = "5.4.1";
-    sha256 = "062ilb7s377q3hwfhl8q06vvcw2raydz5ljzlzwy2dmyzmdcndb8";
-    dataSha256 = "0i45lbnikvgj9kxdp0yphpjjwjcgp4ibn49xkj78j5ic1s9n8jd4";
+    version = "5.5.0";
+    sha256 = "sha256-V+ggqvZibSQrJbrtNCEkmRYHhgSKTQsdBh3c8+t6WeA=";
+    dataSha256 = "sha256-6ZS3EET3nm09eL0czCGadwzon35/EBfAg2KjPX3ZP/0=";
   };
 
 in {
-  minetestclient_4 = generic (v4 // { buildClient = true; buildServer = false; });
-  minetestserver_4 = generic (v4 // { buildClient = false; buildServer = true; });
-
   minetestclient_5 = generic (v5 // { buildClient = true; buildServer = false; });
   minetestserver_5 = generic (v5 // { buildClient = false; buildServer = true; });
 }
diff --git a/pkgs/games/minetest/disable_fixup.patch b/pkgs/games/minetest/disable_fixup.patch
deleted file mode 100644
index 1c378d7f83f..00000000000
--- a/pkgs/games/minetest/disable_fixup.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/CMakeLists.txt
-+++ b/src/CMakeLists.txt
-@@ -802,7 +802,6 @@
- 		install(CODE "
- 			set(BU_CHMOD_BUNDLE_ITEMS ON)
- 			include(BundleUtilities)
--			fixup_bundle(\"\${CMAKE_INSTALL_PREFIX}/${BUNDLE_PATH}\" \"\" \"\${CMAKE_INSTALL_PREFIX}/${BINDIR}\")
- 		" COMPONENT Runtime)
- 	endif()
- 
diff --git a/pkgs/games/minetest/fix_wordsize_confusion.patch b/pkgs/games/minetest/fix_wordsize_confusion.patch
deleted file mode 100644
index 9540a434daf..00000000000
--- a/pkgs/games/minetest/fix_wordsize_confusion.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/src/main.cpp
-+++ b/src/main.cpp
-@@ -17,6 +17,7 @@
- 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
- 
-+#include <cstdint>
- #include "irrlicht.h" // createDevice
- #include "irrlichttypes_extrabloated.h"
- #include "chat_interface.h"
diff --git a/pkgs/games/mrrescue/default.nix b/pkgs/games/mrrescue/default.nix
index 2328c20ef91..a873424aa24 100644
--- a/pkgs/games/mrrescue/default.nix
+++ b/pkgs/games/mrrescue/default.nix
@@ -16,7 +16,7 @@ let
     comment = "Arcade-style fire fighting game";
     desktopName = "Mr. Rescue";
     genericName = "mrrescue";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
 in
diff --git a/pkgs/games/mudlet/default.nix b/pkgs/games/mudlet/default.nix
index aacc15d19b9..46ae45b2202 100644
--- a/pkgs/games/mudlet/default.nix
+++ b/pkgs/games/mudlet/default.nix
@@ -1,5 +1,25 @@
-{ fetchFromGitHub, lib, stdenv, wrapQtAppsHook, git, pcre, pugixml, qtbase, libsForQt5, libsecret, qtmultimedia, qttools, yajl, libzip, hunspell
-, boost, libGLU, lua, cmake,  which, pkg-config, }:
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, git
+, pkg-config
+, qttools
+, which
+, wrapQtAppsHook
+, boost
+, hunspell
+, libGLU
+, libsForQt5
+, libsecret
+, libzip
+, lua
+, pcre
+, pugixml
+, qtbase
+, qtmultimedia
+, yajl
+}:
 
 let
   luaEnv = lua.withPackages(ps: with ps; [
@@ -8,25 +28,46 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "mudlet";
-  version = "4.12.0";
+  version = "4.15.1";
 
   src = fetchFromGitHub {
     owner = "Mudlet";
     repo = "Mudlet";
     rev = "Mudlet-${version}";
     fetchSubmodules = true;
-    sha256 = "023plm5mwm15xikmdh1mq3gx1n7y4a0r0kw9fvk3rvm9brm78hzp";
+    hash = "sha256-GnTQc0Jh4YaQnfy7fYsTCACczlzWCQ+auKYoU9ET83M=";
   };
 
-  nativeBuildInputs = [ pkg-config cmake wrapQtAppsHook git qttools which ];
+  nativeBuildInputs = [
+    cmake
+    git
+    pkg-config
+    qttools
+    which
+    wrapQtAppsHook
+  ];
+
   buildInputs = [
-    pcre pugixml qtbase libsForQt5.qtkeychain qtmultimedia luaEnv libsecret libzip libGLU yajl boost hunspell
+    boost
+    hunspell
+    libGLU
+    libsForQt5.qtkeychain
+    libsecret
+    libzip
+    luaEnv
+    pcre
+    pugixml
+    qtbase
+    qtmultimedia
+    yajl
   ];
 
   WITH_FONTS = "NO";
   WITH_UPDATER = "NO";
 
   installPhase =  ''
+    runHook preInstall
+
     mkdir -pv $out/lib
     cp 3rdparty/edbee-lib/edbee-lib/qslog/lib/libQsLog.so $out/lib
     mkdir -pv $out/bin
@@ -41,15 +82,19 @@ stdenv.mkDerivation rec {
     cp -r ../mudlet.png $out/share/pixmaps/
 
     makeQtWrapper $out/mudlet $out/bin/mudlet \
+      --set LUA_CPATH "${luaEnv}/lib/lua/${lua.luaversion}/?.so" \
+      --prefix LUA_PATH : "$NIX_LUA_PATH" \
       --prefix LD_LIBRARY_PATH : "${libsForQt5.qtkeychain}/lib/" \
       --run "cd $out";
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Crossplatform mud client";
-    homepage = "https://mudlet.org";
+    homepage = "https://www.mudlet.org/";
     maintainers = [ maintainers.wyvie maintainers.pstn ];
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/games/oh-my-git/default.nix b/pkgs/games/oh-my-git/default.nix
index 881935279fe..57fbad34057 100644
--- a/pkgs/games/oh-my-git/default.nix
+++ b/pkgs/games/oh-my-git/default.nix
@@ -66,7 +66,7 @@ stdenv.mkDerivation rec {
       desktopName = "oh-my-git";
       comment = "An interactive Git learning game!";
       genericName = "An interactive Git learning game!";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/openjk/default.nix b/pkgs/games/openjk/default.nix
index c16b38fc8f1..d2844809eea 100644
--- a/pkgs/games/openjk/default.nix
+++ b/pkgs/games/openjk/default.nix
@@ -8,7 +8,7 @@ let
     comment = "Open Source Jedi Academy game released by Raven Software";
     desktopName = "Jedi Academy (Multi Player)";
     genericName = "Jedi Academy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
   jasp = makeDesktopItem rec {
     name = "jasp";
@@ -17,7 +17,7 @@ let
     comment = "Open Source Jedi Academy game released by Raven Software";
     desktopName = "Jedi Academy (Single Player)";
     genericName = "Jedi Academy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in stdenv.mkDerivation {
   pname = "OpenJK";
diff --git a/pkgs/games/opensupaplex/default.nix b/pkgs/games/opensupaplex/default.nix
index 44fc219bef9..d3f8155f546 100644
--- a/pkgs/games/opensupaplex/default.nix
+++ b/pkgs/games/opensupaplex/default.nix
@@ -74,7 +74,7 @@ stdenv.mkDerivation rec {
     icon = "open-supaplex";
     desktopName = "OpenSupaplex";
     comment = meta.description;
-    categories = "Application;Game;";
+    categories = [ "Application" "Game" ];
   })];
 
   meta = with lib; {
diff --git a/pkgs/games/orthorobot/default.nix b/pkgs/games/orthorobot/default.nix
index c168af81ad6..34808438da7 100644
--- a/pkgs/games/orthorobot/default.nix
+++ b/pkgs/games/orthorobot/default.nix
@@ -22,7 +22,7 @@ stdenv.mkDerivation rec {
     comment = "Robot game";
     desktopName = "Orthorobot";
     genericName = "orthorobot";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/games/osu-lazer/default.nix b/pkgs/games/osu-lazer/default.nix
index 35564704f68..2b1a2f044fa 100644
--- a/pkgs/games/osu-lazer/default.nix
+++ b/pkgs/games/osu-lazer/default.nix
@@ -13,13 +13,13 @@
 
 buildDotnetModule rec {
   pname = "osu-lazer";
-  version = "2022.118.0";
+  version = "2022.205.0";
 
   src = fetchFromGitHub {
     owner = "ppy";
     repo = "osu";
     rev = version;
-    sha256 = "sha256-/BzoLiQLiBcWqThzDOVb4Y7s6WhcKnCRRhAzUi5Jstk=";
+    sha256 = "sha256-CzXgj3990qWOwIjhbU8vO29nDO/7HrGDtsc67VIenPI=";
   };
 
   projectFile = "osu.Desktop/osu.Desktop.csproj";
@@ -63,7 +63,7 @@ buildDotnetModule rec {
     icon = "osu!";
     comment = meta.description;
     type = "Application";
-    categories = "Game;";
+    categories = [ "Game" ];
   })];
 
   meta = with lib; {
diff --git a/pkgs/games/osu-lazer/deps.nix b/pkgs/games/osu-lazer/deps.nix
index 7bf9a89e50f..6ff9f6dfaf8 100644
--- a/pkgs/games/osu-lazer/deps.nix
+++ b/pkgs/games/osu-lazer/deps.nix
@@ -111,8 +111,10 @@
   (fetchNuGet { pname = "Microsoft.Extensions.Configuration.Binder"; version = "2.2.0"; sha256 = "10qyjdkymdmag3r807kvbnwag4j3nz65i4cwikbd77jjvz92ya3j"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "2.2.0"; sha256 = "0lvv45rvq1xbf47lz818rjydc776zk8mf7svpzh1dml4qwlx9zck"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "5.0.2"; sha256 = "0db6d1b076nfqfn5mhy63l3gkfn5kr29hwcrx81ldr7y062r1b9y"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection"; version = "6.0.0-rc.1.21451.13"; sha256 = "0r6945jq7c2f1wjifq514zvngicndjqfnsjya6hqw0yzah0jr56c"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "2.2.0"; sha256 = "1jyzfdr9651h3x6pxwhpfbb9mysfh8f8z1jvy4g117h9790r9zx5"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "5.0.0"; sha256 = "17cz6s80va0ch0a6nqa1wbbbp3p8sqxb96lj4qcw67ivkp2yxiyj"; })
+  (fetchNuGet { pname = "Microsoft.Extensions.DependencyInjection.Abstractions"; version = "6.0.0-rc.1.21451.13"; sha256 = "11dg16x6g0gssb143qpghxz1s41himvhr7yhjwxs9hacx4ij2dm1"; })
   (fetchNuGet { pname = "Microsoft.Extensions.DependencyModel"; version = "2.1.0"; sha256 = "0dl4qhjgifm6v3jsfzvzkvddyic77ggp9fq49ah661v45gk6ilgd"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "2.2.0"; sha256 = "0bx3ljyvvcbikradq2h583rl72h8bxdz33aghk026cxzpv2mm3wm"; })
   (fetchNuGet { pname = "Microsoft.Extensions.Logging"; version = "5.0.0"; sha256 = "1qa1l18q2jh9azya8gv1p8anzcdirjzd9dxxisb4911i9m1648i3"; })
@@ -153,14 +155,16 @@
   (fetchNuGet { pname = "NuGet.Protocol"; version = "5.11.0"; sha256 = "041pva6ykc5h6az7bb87mkg32c95cvxlixgspnd34zbdldr4ypdb"; })
   (fetchNuGet { pname = "NuGet.Versioning"; version = "5.11.0"; sha256 = "041351n1rbyqpfxqyxbvjgfrcbbawymbq96givz5pvdbabvyf5vq"; })
   (fetchNuGet { pname = "NUnit"; version = "3.13.2"; sha256 = "00bkjgarkwbj497da9d7lajala1ns67h1kx53w4bapwkf32jlcvn"; })
-  (fetchNuGet { pname = "OpenTabletDriver"; version = "0.5.3.1"; sha256 = "16xw8w943x9gvnnpbryahff5azzy8n26j2igyqgv88m352jd9rb8"; })
-  (fetchNuGet { pname = "OpenTabletDriver.Plugin"; version = "0.5.3.1"; sha256 = "17dxsvcz9g8kzydk5xlfz9kfxl62x9wi20609rh76wjd881bg1br"; })
+  (fetchNuGet { pname = "OpenTabletDriver"; version = "0.6.0.2"; sha256 = "0blwfs1cacxq0vs6fy7zjnsny8qdsr5jlxix3icmphyqgz0g4g39"; })
+  (fetchNuGet { pname = "OpenTabletDriver.Configurations"; version = "0.6.0.2"; sha256 = "18q6gjayqrwk6n1kf359z94z8zyb3yz4hr1dpgglk51sq6wi2z84"; })
+  (fetchNuGet { pname = "OpenTabletDriver.Native"; version = "0.6.0.2"; sha256 = "12hf4v8j8asc9wlywpykajb8yrzx10w6h11qbykckmrfxvz8pc0a"; })
+  (fetchNuGet { pname = "OpenTabletDriver.Plugin"; version = "0.6.0.2"; sha256 = "0z2n5jysw06zp2cxmfqddbg3g88jdm1irr2hv04q8valq0plaq5c"; })
   (fetchNuGet { pname = "ppy.LocalisationAnalyser"; version = "2021.1210.0"; sha256 = "0dn6fc31yllr5nizylvkfl2b603b5m9694nsn5mmkh8w43h0rkbq"; })
-  (fetchNuGet { pname = "ppy.osu.Framework"; version = "2022.118.0"; sha256 = "1c81r8s9zivj9hany0yqsza1y3nhh24zbkwwnjm0m6z4mls04l1y"; })
+  (fetchNuGet { pname = "ppy.osu.Framework"; version = "2022.204.0"; sha256 = "1dwg45k1qhxj4mhxw49djmab800yi7z7qnvl8ipicli4lg9k5lvf"; })
   (fetchNuGet { pname = "ppy.osu.Framework.NativeLibs"; version = "2021.1221.0"; sha256 = "1ffxp4nsgbqw1f6nypirmc0a3h203qikbmxm2x8w3kgcfga5dx3k"; })
-  (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2022.115.0"; sha256 = "0w2hnci93644ayfpgpsyxsifz38yklvn42fkgd860i3mn04lyl2z"; })
+  (fetchNuGet { pname = "ppy.osu.Game.Resources"; version = "2022.204.0"; sha256 = "1v4kfphjbkcxswx11c7xh93jwpsyvnskc0zia91d5bp5d11y3z32"; })
   (fetchNuGet { pname = "ppy.osuTK.NS20"; version = "1.0.187"; sha256 = "0ididsxn3005dvs0hvx7bz2xzjsfpa8kmnyfqq4c2ybjxlx15gkw"; })
-  (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.486-alpha"; sha256 = "0hp6wfjgpwdgy1ag2bpjkyalw92k6qg9pc5mriij6a5vhxzadhk3"; })
+  (fetchNuGet { pname = "ppy.SDL2-CS"; version = "1.0.501-alpha"; sha256 = "03ixv0nhszsyyf0bvyd25nkyn3c3cndzbxnva19lagvf0l9gnvjg"; })
   (fetchNuGet { pname = "ppy.squirrel.windows"; version = "1.9.0.5"; sha256 = "0nmhrg3q6izapfpwdslq80fqkvjj12ad9r94pd0nr2xx1zw0x1zl"; })
   (fetchNuGet { pname = "Realm"; version = "10.8.0"; sha256 = "1ixpms8x9z5ia9yiqvhmgdlcrjvqrhbqnr8b9z6mlxwcms1z2f45"; })
   (fetchNuGet { pname = "Realm.Fody"; version = "10.8.0"; sha256 = "0hj3cqan96y01k5qgs0knkqzg3rlr2794az68xqffd2vqphvqvqq"; })
@@ -298,6 +302,7 @@
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.5.3"; sha256 = "1afi6s2r1mh1kygbjmfba6l4f87pi5sg13p4a48idqafli94qxln"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "4.7.1"; sha256 = "119br3pd85lq8zcgh4f60jzmv1g976q1kdgi3hvqdlhfbw6siz2j"; })
   (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "5.0.0"; sha256 = "02k25ivn50dmqx5jn8hawwmz24yf0454fjd823qk6lygj9513q4x"; })
+  (fetchNuGet { pname = "System.Runtime.CompilerServices.Unsafe"; version = "6.0.0-rc.1.21451.13"; sha256 = "0v5bc80p35jj5b5xdgsn5r1v4w68gqz0sahi214rprrrlr3sl206"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.1.0"; sha256 = "0rw4rm4vsm3h3szxp9iijc3ksyviwsv6f63dng3vhqyg4vjdkc2z"; })
   (fetchNuGet { pname = "System.Runtime.Extensions"; version = "4.3.0"; sha256 = "1ykp3dnhwvm48nap8q23893hagf665k0kn3cbgsqpwzbijdcgc60"; })
   (fetchNuGet { pname = "System.Runtime.Handles"; version = "4.0.1"; sha256 = "1g0zrdi5508v49pfm3iii2hn6nm00bgvfpjq1zxknfjrxxa20r4g"; })
diff --git a/pkgs/games/pentobi/default.nix b/pkgs/games/pentobi/default.nix
index 213f2c8e4f4..e0bd6909fb9 100644
--- a/pkgs/games/pentobi/default.nix
+++ b/pkgs/games/pentobi/default.nix
@@ -3,14 +3,14 @@
 }:
 
 mkDerivation rec {
-  version = "19.1";
+  version = "20.0";
   pname = "pentobi";
 
   src = fetchFromGitHub {
     owner = "enz";
     repo = "pentobi";
     rev = "v${version}";
-    sha256 = "sha256-opJPMvaE8fDoGaBNHySqr/LRU/UPP6292G+nYyBBL08=";
+    sha256 = "sha256-DQM3IJ0pRkX4OsrjZGROg50LfKb621UnpvtqSjxchz8=";
   };
 
   nativeBuildInputs = [ cmake docbook_xsl qttools ];
@@ -31,7 +31,7 @@ mkDerivation rec {
   meta = with lib; {
     description = "A computer opponent for the board game Blokus";
     homepage = "https://pentobi.sourceforge.io";
-    license = licenses.gpl3;
+    license = licenses.gpl3Plus;
     maintainers = [ ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/games/pioneer/default.nix b/pkgs/games/pioneer/default.nix
index 82879d0a9d2..b70ef8c3dab 100644
--- a/pkgs/games/pioneer/default.nix
+++ b/pkgs/games/pioneer/default.nix
@@ -1,37 +1,68 @@
-{ fetchFromGitHub, lib, stdenv, cmake, pkg-config, curl, libsigcxx, SDL2
-, SDL2_image, freetype, libvorbis, libpng, assimp, libGLU, libGL
-, glew
+{ lib
+, stdenv
+, fetchFromGitHub
+, cmake
+, pkg-config
+, assimp
+, curl
+, freetype
+#, glew
+, libGL
+, libGLU
+, libpng
+, libsigcxx
+, libvorbis
+, lua5_2
+, mesa
+, SDL2
+, SDL2_image
 }:
 
 stdenv.mkDerivation rec {
   pname = "pioneer";
-  version = "20210723";
+  version = "20220203";
 
   src = fetchFromGitHub{
     owner = "pioneerspacesim";
     repo = "pioneer";
     rev = version;
-    sha256 = "sha256-w+ECVv96MoS69815+X0PqguDiGDhHoTnAnnYtLpMScI=";
+    hash = "sha256-HNVg8Lq6k6gQDmgOdpnBwJ57WSEnn5XwtqzmkDU1WGI=";
   };
 
+  postPatch = ''
+    substituteInPlace CMakeLists.txt \
+      --replace 'string(TIMESTAMP PROJECT_VERSION "%Y%m%d")' 'set(PROJECT_VERSION ${version})'
+  '';
+
   nativeBuildInputs = [ cmake pkg-config ];
 
   buildInputs = [
-    curl libsigcxx SDL2 SDL2_image freetype libvorbis libpng
-    assimp libGLU libGL glew
+    assimp
+    curl
+    freetype
+    libGL
+    libGLU
+    libpng
+    libsigcxx
+    libvorbis
+    lua5_2
+    mesa
+    SDL2
+    SDL2_image
   ];
 
-  preConfigure = ''
-    export PIONEER_DATA_DIR="$out/share/pioneer/data";
-  '';
+  cmakeFlags = [
+    "-DPIONEER_DATA_DIR:PATH=${placeholder "out"}/share/pioneer/data"
+    "-DUSE_SYSTEM_LIBLUA:BOOL=YES"
+  ];
 
-  makeFlags = [ "build-data" ];
+  makeFlags = [ "all" "build-data" ];
 
   meta = with lib; {
     description = "A space adventure game set in the Milky Way galaxy at the turn of the 31st century";
     homepage = "https://pioneerspacesim.net";
     license = with licenses; [
-        gpl3 cc-by-sa-30
+        gpl3Only cc-by-sa-30
     ];
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
diff --git a/pkgs/games/quakespasm/default.nix b/pkgs/games/quakespasm/default.nix
index ec5ae3e7d15..137b86f57b6 100644
--- a/pkgs/games/quakespasm/default.nix
+++ b/pkgs/games/quakespasm/default.nix
@@ -76,7 +76,7 @@ stdenv.mkDerivation rec {
       name = "quakespasm";
       exec = "quake";
       desktopName = "Quakespasm";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/rocksndiamonds/default.nix b/pkgs/games/rocksndiamonds/default.nix
index fd570e4d7c6..b01d616452b 100644
--- a/pkgs/games/rocksndiamonds/default.nix
+++ b/pkgs/games/rocksndiamonds/default.nix
@@ -16,7 +16,7 @@ stdenv.mkDerivation rec {
     comment = meta.description;
     desktopName = "Rocks'n'Diamonds";
     genericName = "Tile-based puzzle";
-    categories = "Game;LogicGame;";
+    categories = [ "Game" "LogicGame" ];
   };
 
   buildInputs = [ SDL2 SDL2_image SDL2_mixer SDL2_net ];
diff --git a/pkgs/games/rott/default.nix b/pkgs/games/rott/default.nix
index cac357faf2e..b3a517dab02 100644
--- a/pkgs/games/rott/default.nix
+++ b/pkgs/games/rott/default.nix
@@ -40,7 +40,7 @@ stdenv.mkDerivation rec {
       name = "rott";
       exec = "launch-rott";
       desktopName = "Rise of the Triad: ${if buildShareware then "The HUNT Begins" else "Dark War"}";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/rpg-cli/default.nix b/pkgs/games/rpg-cli/default.nix
index 8128a67ebee..cad3b539d9a 100644
--- a/pkgs/games/rpg-cli/default.nix
+++ b/pkgs/games/rpg-cli/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rpg-cli";
-  version = "1.0.0";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "facundoolano";
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ih+1qO/VHkRp766WDe09xXL/pkby+sURopy7m5wRn4Y=";
+    sha256 = "sha256-rhG/EK68PWvQYoZdjhk0w7oNmh/QiTaAt4/WgEkgxEA=";
   };
 
-  cargoSha256 = "sha256-Au7Nlpl4XOSG8rW0DaHFDqBr1kUY5Emyw6ff0htPc+I=";
+  cargoSha256 = "sha256-YXQohmDmkClziaLkL2N4cGURZ0tewyt7BuNY4hS+a4w=";
 
   # tests assume the authors macbook, and thus fail
   doCheck = false;
diff --git a/pkgs/games/runelite/default.nix b/pkgs/games/runelite/default.nix
index 9a2ce6314cd..d342d543e2f 100644
--- a/pkgs/games/runelite/default.nix
+++ b/pkgs/games/runelite/default.nix
@@ -31,10 +31,9 @@ stdenv.mkDerivation rec {
     exec = "runelite";
     icon = icon;
     comment = "Open source Old School RuneScape client";
-    terminal = "false";
     desktopName = "RuneLite";
     genericName = "Oldschool Runescape";
-    categories = "Game";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper unzip ];
diff --git a/pkgs/games/sauerbraten/default.nix b/pkgs/games/sauerbraten/default.nix
index 7373779c9e5..1d2e39d4164 100644
--- a/pkgs/games/sauerbraten/default.nix
+++ b/pkgs/games/sauerbraten/default.nix
@@ -42,7 +42,7 @@ stdenv.mkDerivation rec {
       icon = "sauerbraten";
       desktopName = "Sauerbraten";
       comment = "FPS that uses an improved version of the Cube engine";
-      categories = "Application;Game;ActionGame;";
+      categories = [ "Application" "Game" "ActionGame" ];
     })
   ];
 
diff --git a/pkgs/games/scid-vs-pc/default.nix b/pkgs/games/scid-vs-pc/default.nix
index e6fb00eb76c..4711ffa2f54 100644
--- a/pkgs/games/scid-vs-pc/default.nix
+++ b/pkgs/games/scid-vs-pc/default.nix
@@ -68,7 +68,7 @@ tcl.mkTclDerivation rec {
     comment = meta.description;
     icon = "scid";
     exec = "scid";
-    categories = "Game;BoardGame;";
+    categories = [ "Game" "BoardGame" ];
   };
 
   meta = with lib; {
diff --git a/pkgs/games/scummvm/games.nix b/pkgs/games/scummvm/games.nix
index 2ffd176ccf6..b146bf1bc49 100644
--- a/pkgs/games/scummvm/games.nix
+++ b/pkgs/games/scummvm/games.nix
@@ -3,7 +3,7 @@
 
 let
   desktopItem = name: short: long: description: makeDesktopItem {
-    categories  = "Game;AdventureGame;";
+    categories  = [ "Game" "AdventureGame" ];
     comment     = description;
     desktopName = long;
     exec        = "@out@/bin/${short}";
diff --git a/pkgs/games/sdlpop/default.nix b/pkgs/games/sdlpop/default.nix
index f9b91e3dc15..f9f2f6d0dc9 100644
--- a/pkgs/games/sdlpop/default.nix
+++ b/pkgs/games/sdlpop/default.nix
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
     exec = "prince";
     desktopName = "SDLPoP";
     comment = "An open-source port of Prince of Persia";
-    categories = "Game;AdventureGame;";
+    categories = [ "Game" "AdventureGame" ];
   }) ];
 
   meta = with lib; {
diff --git a/pkgs/games/sienna/default.nix b/pkgs/games/sienna/default.nix
index 59f01f6a2c4..37138f152b6 100644
--- a/pkgs/games/sienna/default.nix
+++ b/pkgs/games/sienna/default.nix
@@ -20,7 +20,7 @@ stdenv.mkDerivation rec {
     comment = "Fast-paced one button platformer";
     desktopName = "Sienna";
     genericName = "sienna";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/games/starsector/default.nix b/pkgs/games/starsector/default.nix
index 4aac0afb22b..95fb3988f28 100644
--- a/pkgs/games/starsector/default.nix
+++ b/pkgs/games/starsector/default.nix
@@ -38,7 +38,7 @@ stdenv.mkDerivation rec {
       comment = meta.description;
       genericName = "starsector";
       desktopName = "Starsector";
-      categories = "Game;";
+      categories = [ "Game" ];
     })
   ];
 
diff --git a/pkgs/games/steam/fhsenv.nix b/pkgs/games/steam/fhsenv.nix
index 35e8b9838f5..eb90c6dd24d 100644
--- a/pkgs/games/steam/fhsenv.nix
+++ b/pkgs/games/steam/fhsenv.nix
@@ -243,14 +243,7 @@ in buildFHSUserEnv rec {
     libvdpau
   ] ++ steamPackages.steam-runtime-wrapped.overridePkgs) ++ extraLibraries pkgs;
 
-  extraBuildCommands = ''
-    if [ -f $out/usr/share/vulkan/icd.d/nvidia_icd.json ]; then
-      cp $out/usr/share/vulkan/icd.d/nvidia_icd{,32}.json
-      nvidia32Lib=$(realpath $out/lib32/libGLX_nvidia.so.0 | cut -d'/' -f-4)
-      escapedNvidia32Lib="''${nvidia32Lib//\//\\\/}"
-      sed -i "s/\/nix\/store\/.*\/lib\/libGLX_nvidia\.so\.0/$escapedNvidia32Lib\/lib\/libGLX_nvidia\.so\.0/g" $out/usr/share/vulkan/icd.d/nvidia_icd32.json
-    fi
-  '' + (if (!nativeOnly) then ''
+  extraBuildCommands = if (!nativeOnly) then ''
     mkdir -p steamrt
     ln -s ../lib/steam-runtime steamrt/${steam-runtime-wrapped.arch}
     ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
@@ -263,7 +256,7 @@ in buildFHSUserEnv rec {
     ${lib.optionalString (steam-runtime-wrapped-i686 != null) ''
       ln -s /usr/lib32/libbz2.so usr/lib32/libbz2.so.1.0
     ''}
-  '');
+  '';
 
   extraInstallCommands = ''
     mkdir -p $out/share/applications
@@ -284,7 +277,8 @@ in buildFHSUserEnv rec {
 
     export STEAM_RUNTIME=${if nativeOnly then "0" else "/steamrt"}
 
-    export VK_ICD_FILENAMES=/usr/share/vulkan/icd.d/intel_icd.x86_64.json:/usr/share/vulkan/icd.d/intel_icd.i686.json:/usr/share/vulkan/icd.d/lvp_icd.x86_64.json:/usr/share/vulkan/icd.d/lvp_icd.i686.json:/usr/share/vulkan/icd.d/nvidia_icd.json:/usr/share/vulkan/icd.d/nvidia_icd32.json:/usr/share/vulkan/icd.d/radeon_icd.x86_64.json:/usr/share/vulkan/icd.d/radeon_icd.i686.json
+    # XDG_DATA_DIRS is used by pressure-vessel and vulkan loaders to find the corresponding icd
+    export XDG_DATA_DIRS=$XDG_DATA_DIRS''${XDG_DATA_DIRS:+:}/run/opengl-driver/share:/run/opengl-driver-32/share
   '' + extraProfile;
 
   runScript = writeScript "steam-wrapper.sh" ''
diff --git a/pkgs/games/system-syzygy/default.nix b/pkgs/games/system-syzygy/default.nix
index f01f93572ba..67bb6b71661 100644
--- a/pkgs/games/system-syzygy/default.nix
+++ b/pkgs/games/system-syzygy/default.nix
@@ -6,7 +6,7 @@ let
     exec = "@out@/bin/syzygy";
     comment = "A puzzle game";
     desktopName = "System Syzygy";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 in
 rustPlatform.buildRustPackage rec {
diff --git a/pkgs/games/tetrio-desktop/default.nix b/pkgs/games/tetrio-desktop/default.nix
index c700aba72fc..93d80314c66 100644
--- a/pkgs/games/tetrio-desktop/default.nix
+++ b/pkgs/games/tetrio-desktop/default.nix
@@ -4,6 +4,7 @@
 , autoPatchelfHook
 , alsa-lib
 , cups
+, libpulseaudio
 , libX11
 , libXScrnSaver
 , libXtst
@@ -18,7 +19,7 @@ stdenv.mkDerivation rec {
   version = "8.0.0";
 
   src = fetchurl {
-    url = "https://web.archive.org/web/20211130172544/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb";
+    url = "https://web.archive.org/web/20211228025517if_/https://tetr.io/about/desktop/builds/TETR.IO%20Setup.deb";
     name = "tetrio-desktop.deb";
     sha256 = "1nlblfhrph4cw8rpic9icrs78mzrxyskl7ggyy2i8bk9i07i21xf";
   };
@@ -43,6 +44,7 @@ stdenv.mkDerivation rec {
   libPath = lib.makeLibraryPath [
     alsa-lib
     cups
+    libpulseaudio
     libX11
     libXScrnSaver
     libXtst
diff --git a/pkgs/games/tome2/default.nix b/pkgs/games/tome2/default.nix
index d40717c9a38..3440e183515 100644
--- a/pkgs/games/tome2/default.nix
+++ b/pkgs/games/tome2/default.nix
@@ -9,12 +9,10 @@ let
     name = pname;
     exec = "${pname}-x11";
     icon = pname;
-    terminal = "false";
     comment = description;
     type = "Application";
-    categories = "Game;RolePlaying;";
+    categories = [ "Game" "RolePlaying" ];
     genericName = pname;
-    fileValidation = false;
   };
 
 in stdenv.mkDerivation {
diff --git a/pkgs/games/tome4/default.nix b/pkgs/games/tome4/default.nix
index 581220c339c..70fbebe084c 100644
--- a/pkgs/games/tome4/default.nix
+++ b/pkgs/games/tome4/default.nix
@@ -15,10 +15,9 @@ stdenv.mkDerivation rec {
     name = pname;
     exec = "@out@/bin/${pname}";
     icon = pname;
-    terminal = "false";
     comment = "An open-source, single-player, role-playing roguelike game set in the world of Eyal.";
     type = "Application";
-    categories = "Game;RolePlaying;";
+    categories = [ "Game" "RolePlaying" ];
     genericName = pname;
   };
 
diff --git a/pkgs/games/toppler/default.nix b/pkgs/games/toppler/default.nix
index ffe807410bb..890e1349874 100644
--- a/pkgs/games/toppler/default.nix
+++ b/pkgs/games/toppler/default.nix
@@ -1,34 +1,61 @@
-{ lib, stdenv
-, fetchurl
-, SDL
-, SDL_mixer
+{ lib
+, stdenv
+, fetchFromGitLab
+
+, pkg-config
+, gettext
+, povray
+, imagemagick
+, gimp
+
+, SDL2
+, SDL2_mixer
+, SDL2_image
+, libpng
 , zlib
 }:
 
 stdenv.mkDerivation rec {
   pname = "toppler";
-  version = "1.1.6";
+  version = "1.3";
 
-  src = fetchurl {
-    url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0ifccissd8sh78kpwh7dafx4ah7hkhqz6nf4z2hdnalw702jkg3x";
+  src = fetchFromGitLab {
+    owner = "roever";
+    repo = "toppler";
+    rev = "v${version}";
+    sha256 = "sha256-ecEaELu52Nmov/BD9VzcUw6wyWeHJcsKQkEzTnaW330=";
   };
 
+  nativeBuildInputs = [
+    pkg-config
+    gettext
+    povray
+    imagemagick
+    gimp
+  ];
+
   buildInputs = [
-    SDL
-    SDL_mixer
+    SDL2
+    SDL2_mixer
+    SDL2_image
+    libpng
     zlib
   ];
 
-  # The conftest hangs on Hydra runners, because they are not logged in.
-  configureFlags = lib.optional stdenv.isDarwin "--disable-sdltest";
+  # GIMP needs a writable home
+  preBuild = ''
+    export HOME=$(mktemp -d)
+  '';
+
+  makeFlags = [ "PREFIX=$(out)" ];
+
+  hardeningDisable = [ "format" ];
 
   meta = with lib; {
     description = "Jump and run game, reimplementation of Tower Toppler/Nebulus";
-    homepage = "http://toppler.sourceforge.net/";
-    license = licenses.gpl2;
+    homepage = "https://gitlab.com/roever/toppler";
+    license = licenses.gpl2Plus;
     maintainers = with maintainers; [ fgaz ];
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/games/unciv/default.nix b/pkgs/games/unciv/default.nix
index 307138c03aa..d58c9aee0de 100644
--- a/pkgs/games/unciv/default.nix
+++ b/pkgs/games/unciv/default.nix
@@ -14,7 +14,7 @@ let
     exec = "unciv";
     comment = "An open-source Android/Desktop remake of Civ V";
     desktopName = "Unciv";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   envLibPath = lib.makeLibraryPath [
@@ -25,11 +25,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "unciv";
-  version = "3.15.9";
+  version = "3.19.8";
 
   src = fetchurl {
     url = "https://github.com/yairm210/Unciv/releases/download/${version}/Unciv.jar";
-    sha256 = "sha256-ONp7M6nMlVjxNnsIveDpqV7/WahydphP16DFDrcjY4E=";
+    sha256 = "sha256-ubMREVcislhkA3pzxuqI+HpBHq9vbMa8nyq0qhTh2x8=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/games/unvanquished/default.nix b/pkgs/games/unvanquished/default.nix
index f3f8c1413db..191d8c21807 100644
--- a/pkgs/games/unvanquished/default.nix
+++ b/pkgs/games/unvanquished/default.nix
@@ -135,25 +135,17 @@ in stdenv.mkDerivation rec {
       desktopName = "Unvanquished";
       comment = "FPS/RTS Game - Aliens vs. Humans";
       icon = "unvanquished";
-      terminal = false;
       exec = "unvanquished";
-      categories = "Game;ActionGame;StrategyGame;";
-      # May or may not work
+      categories = [ "Game" "ActionGame" "StrategyGame" ];
       prefersNonDefaultGPU = true;
-      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
-      # yes, PrefersNonDefaultGPU is standard:
-      # https://specifications.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html
     })
     (makeDesktopItem {
       name = "net.unvanquished.UnvanquishedProtocolHandler.desktop";
       desktopName = "Unvanquished (protocol handler)";
       noDisplay = true;
-      terminal = false;
       exec = "unvanquished -connect %u";
-      mimeType = "x-scheme-handler/unv";
-      # May or may not work
+      mimeTypes = [ "x-scheme-handler/unv" ];
       prefersNonDefaultGPU = true;
-      fileValidation = false; # it doesn't like PrefersNonDefaultGPU
     })
   ];
 
diff --git a/pkgs/games/ut2004/wrapper.nix b/pkgs/games/ut2004/wrapper.nix
index 0f70a07ca8f..bf344372933 100644
--- a/pkgs/games/ut2004/wrapper.nix
+++ b/pkgs/games/ut2004/wrapper.nix
@@ -27,7 +27,7 @@ let
     desktopName = "Unreal Tournament 2004";
     comment = "A first-person shooter video game developed by Epic Games and Digital Extreme";
     genericName = "First-person shooter";
-    categories = "Game;";
+    categories = [ "Game" ];
     exec = "ut2004";
   };
 
diff --git a/pkgs/games/vassal/default.nix b/pkgs/games/vassal/default.nix
index 1ff9f9d36d1..905d51438b6 100644
--- a/pkgs/games/vassal/default.nix
+++ b/pkgs/games/vassal/default.nix
@@ -2,16 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "VASSAL";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchzip {
     url = "https://github.com/vassalengine/vassal/releases/download/${version}/${pname}-${version}-linux.tar.bz2";
-    sha256 = "sha256-WUEpYxzNcH9kJRn4nROoaeXTe1+D4/0VRqTwc7ac1hc=";
+    sha256 = "sha256-wnaT0+r599/RboeUfpCZTNd/M2kaCsckI9F+7r7leEE=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/share/vassal $out/doc
 
     cp CHANGES LICENSE README.md $out
@@ -21,6 +23,8 @@ stdenv.mkDerivation rec {
     makeWrapper ${jre}/bin/java $out/bin/vassal \
       --add-flags "-Duser.dir=$out -cp $out/share/vassal/Vengine.jar \
       VASSAL.launch.ModuleManager"
+
+    runHook postInstall
   '';
 
   # Don't move doc to share/, VASSAL expects it to be in the root
@@ -28,7 +32,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
       description = "A free, open-source boardgame engine";
-      homepage = "http://www.vassalengine.org/";
+      homepage = "https://vassalengine.org/";
       license = licenses.lgpl21Only;
       maintainers = with maintainers; [ tvestelind ];
       platforms = platforms.unix;
diff --git a/pkgs/games/vintagestory/default.nix b/pkgs/games/vintagestory/default.nix
index 8c2e8573177..a14e80759b5 100644
--- a/pkgs/games/vintagestory/default.nix
+++ b/pkgs/games/vintagestory/default.nix
@@ -47,8 +47,7 @@ stdenv.mkDerivation rec {
     exec = "vintagestory";
     icon = "vintagestory";
     comment = "Innovate and explore in a sandbox world";
-    type = "Application";
-    categories = "Game;";
+    categories = [ "Game" ];
   };
 
   installPhase = ''
diff --git a/pkgs/games/worldofgoo/default.nix b/pkgs/games/worldofgoo/default.nix
index fee4699aec9..00a8af6d8b7 100644
--- a/pkgs/games/worldofgoo/default.nix
+++ b/pkgs/games/worldofgoo/default.nix
@@ -8,11 +8,10 @@ let
   desktopItem = makeDesktopItem {
     desktopName = "World of Goo";
     genericName = "World of Goo";
-    categories = "Game;";
+    categories = [ "Game" ];
     exec = "WorldOfGoo.bin.${arch}";
     icon = "2dboy-worldofgoo";
     name = "worldofgoo";
-    type = "Application";
   };
 
 in
diff --git a/pkgs/games/xbill/default.nix b/pkgs/games/xbill/default.nix
index a20b52e7854..765af44936a 100644
--- a/pkgs/games/xbill/default.nix
+++ b/pkgs/games/xbill/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     icon = "xbill";
     desktopName = "XBill";
     comment     = "Get rid of those Wingdows viruses!";
-    categories  = "Game;ArcadeGame;";
+    categories  = [ "Game" "ArcadeGame" ];
   }) ];
 
   postInstall = ''
diff --git a/pkgs/games/xonotic/default.nix b/pkgs/games/xonotic/default.nix
index d5374c5446d..46b0b594d72 100644
--- a/pkgs/games/xonotic/default.nix
+++ b/pkgs/games/xonotic/default.nix
@@ -50,9 +50,9 @@ let
     exec = "xonotic";
     comment = meta.description;
     desktopName = "Xonotic";
-    categories = "Game;Shooter;";
+    categories = [ "Game" "Shooter" ];
     icon = "xonotic";
-    startupNotify = "false";
+    startupNotify = false;
   };
 
   xonotic-unwrapped = stdenv.mkDerivation rec {
diff --git a/pkgs/misc/arm-trusted-firmware/default.nix b/pkgs/misc/arm-trusted-firmware/default.nix
index d0b0ae11844..49fdc7a829c 100644
--- a/pkgs/misc/arm-trusted-firmware/default.nix
+++ b/pkgs/misc/arm-trusted-firmware/default.nix
@@ -1,4 +1,9 @@
-{ lib, stdenv, fetchFromGitHub, openssl, pkgsCross, buildPackages }:
+{ lib, stdenv, fetchFromGitHub, openssl, pkgsCross, buildPackages
+
+# Warning: this blob runs on the main CPU (not the GPU) at privilege
+# level EL3, which is above both the kernel and the hypervisor.
+, unfreeIncludeHDCPBlob ? true
+}:
 
 let
   buildArmTrustedFirmware = { filesToInstall
@@ -20,6 +25,11 @@ let
       sha256 = "sha256-qT9DdTvMcUrvRzgmVf2qmKB+Rb1WOB4p1rM+fsewGcg=";
     };
 
+    patches = lib.optionals (!unfreeIncludeHDCPBlob) [
+      # this is a rebased version of https://gitlab.com/vicencb/kevinboot/-/blob/master/atf.patch
+      ./remove-hdcp-blob.patch
+    ];
+
     depsBuildBuild = [ buildPackages.stdenv.cc ];
 
     # For Cortex-M0 firmware in RK3399
@@ -50,7 +60,7 @@ let
     meta = with lib; {
       homepage = "https://github.com/ARM-software/arm-trusted-firmware";
       description = "A reference implementation of secure world software for ARMv8-A";
-      license = licenses.bsd3;
+      license = (if unfreeIncludeHDCPBlob then [ licenses.unfreeRedistributable ] else []) ++ [ licenses.bsd3 ];
       maintainers = with maintainers; [ lopsided98 ];
     } // extraMeta;
   } // builtins.removeAttrs args [ "extraMeta" ]);
diff --git a/pkgs/misc/arm-trusted-firmware/remove-hdcp-blob.patch b/pkgs/misc/arm-trusted-firmware/remove-hdcp-blob.patch
new file mode 100644
index 00000000000..7f99fbdcabf
--- /dev/null
+++ b/pkgs/misc/arm-trusted-firmware/remove-hdcp-blob.patch
@@ -0,0 +1,47 @@
+diff --git a/plat/rockchip/rk3399/drivers/dp/cdn_dp.c b/plat/rockchip/rk3399/drivers/dp/cdn_dp.c
+index a8773f4f6..8e28c4830 100644
+--- a/plat/rockchip/rk3399/drivers/dp/cdn_dp.c
++++ b/plat/rockchip/rk3399/drivers/dp/cdn_dp.c
+@@ -13,17 +13,6 @@
+ 
+ #include <cdn_dp.h>
+ 
+-__asm__(
+-	".pushsection .text.hdcp_handler, \"ax\", %progbits\n"
+-	".global hdcp_handler\n"
+-	".balign 4\n"
+-	"hdcp_handler:\n"
+-	".incbin \"" HDCPFW "\"\n"
+-	".type hdcp_handler, %function\n"
+-	".size hdcp_handler, .- hdcp_handler\n"
+-	".popsection\n"
+-);
+-
+ static uint64_t *hdcp_key_pdata;
+ static struct cdn_dp_hdcp_key_1x key;
+ 
+@@ -38,7 +27,7 @@ uint64_t dp_hdcp_ctrl(uint64_t type)
+ 		return 0;
+ 	case HDCP_KEY_DATA_START_DECRYPT:
+ 		if (hdcp_key_pdata == (uint64_t *)(&key + 1))
+-			return hdcp_handler(&key);
++			return PSCI_E_DISABLED;
+ 		else
+ 			return PSCI_E_INVALID_PARAMS;
+ 		assert(0); /* Unreachable */
+diff --git a/plat/rockchip/rk3399/platform.mk b/plat/rockchip/rk3399/platform.mk
+index a658fb286..5edb6a25b 100644
+--- a/plat/rockchip/rk3399/platform.mk
++++ b/plat/rockchip/rk3399/platform.mk
+@@ -88,11 +88,6 @@ $(eval $(call add_define_val,RK3399M0PMUFW,\"$(RK3399M0PMUFW)\"))
+ ifdef PLAT_RK_DP_HDCP
+ BL31_SOURCES	+= ${RK_PLAT_SOC}/drivers/dp/cdn_dp.c
+ 
+-HDCPFW=${RK_PLAT_SOC}/drivers/dp/hdcp.bin
+-$(eval $(call add_define_val,HDCPFW,\"$(HDCPFW)\"))
+-
+-${BUILD_PLAT}/bl31/cdn_dp.o: CCACHE_EXTRAFILES=$(HDCPFW)
+-${RK_PLAT_SOC}/drivers/dp/cdn_dp.c: $(HDCPFW)
+ endif
+ 
+ # CCACHE_EXTRAFILES is needed because ccache doesn't handle .incbin
diff --git a/pkgs/misc/beep/default.nix b/pkgs/misc/beep/default.nix
index e278d4778d5..fe04d28aa9d 100644
--- a/pkgs/misc/beep/default.nix
+++ b/pkgs/misc/beep/default.nix
@@ -5,16 +5,16 @@
 
 stdenv.mkDerivation rec {
   pname = "beep";
-  version = "1.4.11";
+  version = "1.4.12";
 
   src = fetchFromGitHub {
     owner = "spkr-beep";
     repo = "beep";
     rev = "v${version}";
-    sha256 = "sha256-8g9Nni9lalQvrffhwIv2LFRtLrioUL+lMeDTHH6l6Sk=";
+    sha256 = "sha256-gDgGI9F+wW2cN89IwP93PkMv6vixJA2JckF78nxZ+TU=";
   };
 
-  makeFlags = [ "DESTDIR=\${out}" "prefix="];
+  makeFlags = [ "prefix=${placeholder "out"}"];
 
   meta = with lib; {
     description = "The advanced PC speaker beeper";
diff --git a/pkgs/misc/cups/filters.nix b/pkgs/misc/cups/filters.nix
index 98f5880f899..fdf4f163ba8 100644
--- a/pkgs/misc/cups/filters.nix
+++ b/pkgs/misc/cups/filters.nix
@@ -1,28 +1,62 @@
-{ lib, stdenv, fetchurl, pkg-config, cups, poppler, poppler_utils, fontconfig
-, libjpeg, libpng, perl, ijs, qpdf, dbus, avahi
-, makeWrapper, coreutils, gnused, bc, gawk, gnugrep, which, ghostscript
-, mupdf, dejavu_fonts, liblouis
+{ lib
+, avahi
+, bc
+, coreutils
+, cups
+, dbus
+, dejavu_fonts
+, fetchurl
+, fontconfig
+, gawk
+, ghostscript
+, gnugrep
+, gnused
+, ijs
+, libjpeg
+, liblouis
+, libpng
+, makeWrapper
+, mupdf
+, perl
+, pkg-config
+, poppler
+, poppler_utils
+, qpdf
+, stdenv
+, which
+, withAvahi ? true
 }:
 
 let
-  binPath = lib.makeBinPath [ coreutils gnused bc gawk gnugrep which ];
+  binPath = lib.makeBinPath [ bc coreutils gawk gnused gnugrep which ];
 
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "cups-filters";
-  version = "1.28.10";
+  version = "1.28.12";
 
   src = fetchurl {
     url = "https://openprinting.org/download/cups-filters/${pname}-${version}.tar.xz";
-    sha256 = "sha256-z4yQRpTETPaJtXJORtI9qa5RJdVDdLNAxkIHfMKcqDc=";
+    sha256 = "sha256-RuLqPYhK0iK7hjzmUR5ZzzkO+Og1KVvkSoDlALKjOjo=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
 
   buildInputs = [
-    cups poppler poppler_utils fontconfig libjpeg libpng perl
-    ijs qpdf dbus avahi ghostscript mupdf
+    cups
+    dbus
+    fontconfig
+    ghostscript
+    ijs
+    libjpeg
     liblouis # braille embosser support
-  ];
+    libpng
+    mupdf
+    perl
+    poppler
+    poppler_utils
+    qpdf
+  ] ++ lib.optionals withAvahi [ avahi ];
 
   configureFlags = [
     "--with-mutool-path=${mupdf}/bin/mutool"
@@ -37,7 +71,7 @@ in stdenv.mkDerivation rec {
     "--with-test-font-path=${dejavu_fonts}/share/fonts/truetype/DejaVuSans.ttf"
     "--localstatedir=/var"
     "--sysconfdir=/etc"
-  ];
+  ] ++ lib.optionals (!withAvahi) [ "--disable-avahi" ];
 
   makeFlags = [ "CUPS_SERVERBIN=$(out)/lib/cups" "CUPS_DATADIR=$(out)/share/cups" "CUPS_SERVERROOT=$(out)/etc/cups" ];
 
diff --git a/pkgs/misc/drivers/epson-escpr2/default.nix b/pkgs/misc/drivers/epson-escpr2/default.nix
index 44c6e8a4c61..6f17bcbf412 100644
--- a/pkgs/misc/drivers/epson-escpr2/default.nix
+++ b/pkgs/misc/drivers/epson-escpr2/default.nix
@@ -2,15 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "epson-inkjet-printer-escpr2";
-  version = "1.1.45";
+  version = "1.1.46";
 
   src = fetchurl {
     # To find new versions, visit
     # http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX and search for
     # some printer like for instance "WF-7210" to get to the most recent
     # version.
-    url = "https://download3.ebz.epson.net/dsc/f/03/00/13/38/11/01e244e8529c5cbcec8d39220a9512d5e6c08eec/epson-inkjet-printer-escpr2-1.1.45-1lsb3.2.src.rpm";
-    sha256 = "sha256-MZXn1fsD3D6W5vlX+NwRkwLtaBRqQwe9lwnJC2L9Lfk=";
+    url = "https://download3.ebz.epson.net/dsc/f/03/00/13/43/83/99e36ae2747bfae54a5dd32dacaf189a073278aa/epson-inkjet-printer-escpr2-1.1.46-1lsb3.2.src.rpm";
+    sha256 = "sha256-7AeDULD/BB+swLBOwijilcM+yJi5slOMw2lEtquLyYw=";
   };
 
   unpackPhase = ''
diff --git a/pkgs/misc/drivers/hplip/default.nix b/pkgs/misc/drivers/hplip/default.nix
index adfe889e02d..a7ee870a74a 100644
--- a/pkgs/misc/drivers/hplip/default.nix
+++ b/pkgs/misc/drivers/hplip/default.nix
@@ -14,16 +14,16 @@
 let
 
   pname = "hplip";
-  version = "3.20.11";
+  version = "3.21.12";
 
   src = fetchurl {
     url = "mirror://sourceforge/hplip/${pname}-${version}.tar.gz";
-    sha256 = "CxZ1s9jnCaEyX+hj9arOO9NxB3mnPq6Gj3su6aVv2xE=";
+    sha256 = "sha256-fvRSPvgbztcVFeHIhA72xoxgJjjBWebdmpJpHO7GT5w=";
   };
 
   plugin = fetchurl {
     url = "https://developers.hp.com/sites/default/files/${pname}-${version}-plugin.run";
-    sha256 = "r8PoQQFfjdHKySPCFwtDR8Tl6v5Eag9gXpBAp6sCF9Q=";
+    sha256 = "sha256-eyYNhuff8mM4IpRfn/fLBjQJ23JrTdsHBQ/EH7Ug0gw=";
   };
 
   hplipState = substituteAll {
@@ -83,17 +83,13 @@ python3Packages.buildPythonApplication {
     dbus-python
   ] ++ lib.optionals withQt5 [
     pyqt5
+    pyqt5_sip
     enum-compat
   ];
 
   makeWrapperArgs = [ "--prefix" "PATH" ":" "${nettools}/bin" ];
 
   patches = [
-    # remove ImageProcessor usage, it causes segfaults, see
-    # https://bugs.launchpad.net/hplip/+bug/1788706
-    # https://bugs.launchpad.net/hplip/+bug/1787289
-    ./image-processor.patch
-
     # HPLIP's getSystemPPDs() function relies on searching for PPDs below common FHS
     # paths, and hp-setup crashes if none of these paths actually exist (which they
     # don't on NixOS).  Add the equivalent NixOS path, /var/lib/cups/path/share.
@@ -123,19 +119,25 @@ python3Packages.buildPythonApplication {
       {} +
   '';
 
-  configureFlags = let out = placeholder "out"; in [
-    "--with-hpppddir=${out}/share/cups/model/HP"
-    "--with-cupsfilterdir=${out}/lib/cups/filter"
-    "--with-cupsbackenddir=${out}/lib/cups/backend"
-    "--with-icondir=${out}/share/applications"
-    "--with-systraydir=${out}/xdg/autostart"
-    "--with-mimedir=${out}/etc/cups"
-    "--enable-policykit"
-    "--disable-qt4"
-  ]
+  configureFlags = let out = placeholder "out"; in
+    [
+      "--with-hpppddir=${out}/share/cups/model/HP"
+      "--with-cupsfilterdir=${out}/lib/cups/filter"
+      "--with-cupsbackenddir=${out}/lib/cups/backend"
+      "--with-icondir=${out}/share/applications"
+      "--with-systraydir=${out}/xdg/autostart"
+      "--with-mimedir=${out}/etc/cups"
+      "--enable-policykit"
+      "--disable-qt4"
+
+      # remove ImageProcessor usage, it causes segfaults, see
+      # https://bugs.launchpad.net/hplip/+bug/1788706
+      # https://bugs.launchpad.net/hplip/+bug/1787289
+      "--disable-imageProcessor-build"
+    ]
     ++ lib.optional withStaticPPDInstall "--enable-cups-ppd-install"
     ++ lib.optional withQt5 "--enable-qt5"
-    ;
+  ;
 
   # Prevent 'ppdc: Unable to find include file "<font.defs>"' which prevent
   # generation of '*.ppd' files.
diff --git a/pkgs/misc/drivers/hplip/image-processor.patch b/pkgs/misc/drivers/hplip/image-processor.patch
deleted file mode 100644
index 30df1d29d97..00000000000
--- a/pkgs/misc/drivers/hplip/image-processor.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From 207aa582477dd874d1651db2d0654c5d6adb6e0a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?J=C3=B6rg=20Thalheim?= <joerg@thalheim.io>
-Date: Fri, 20 Dec 2019 13:13:52 +0000
-Subject: [PATCH] remove imageprocessor
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Jörg Thalheim <joerg@thalheim.io>
----
- Makefile.am                  |  4 ++--
- Makefile.in                  |  2 +-
- prnt/hpcups/HPCupsFilter.cpp | 19 -------------------
- 3 files changed, 3 insertions(+), 22 deletions(-)
-
-diff --git a/Makefile.am b/Makefile.am
-index 891660d..484a051 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -166,7 +166,7 @@ if !HPLIP_CLASS_DRIVER
- dist_hplip_SCRIPTS = hpssd.py __init__.py hpdio.py
- endif #HPLIP_CLASS_DRIVER
- 
--dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template prnt/hpcups/libImageProcessor-x86_64.so prnt/hpcups/libImageProcessor-x86_32.so
-+dist_noinst_DATA += prnt/drv/hpijs.drv.in.template prnt/drv/hpcups.drv.in.template
- dist_noinst_SCRIPTS += dat2drv.py install.py  hplip-install init-suse-firewall init-iptables-firewall class_rpm_build.sh hplipclassdriver.spec createPPD.sh Makefile_dat2drv hpijs-drv
- 
- if !HPLIP_CLASS_DRIVER
-@@ -594,7 +594,7 @@ hpcups_SOURCES = prnt/hpcups/HPCupsFilter.cpp prnt/hpcups/HPCupsFilter.h prnt/hp
- 	prnt/hpcups/ImageProcessor.h
- 
- hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
--hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
-+hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
- #else
- #hpcupsdir = $(cupsfilterdir)
- #hpcups_PROGRAMS = hpcups
-diff --git a/Makefile.in b/Makefile.in
-index 16c39f0..46a767e 100644
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -4814,7 +4814,7 @@ libapdk_la_CFLAGS = $(libapdk_la_CXXFLAGS) -Iprnt/hpijs
- @HPCUPS_INSTALL_TRUE@	prnt/hpcups/ImageProcessor.h
- 
- @HPCUPS_INSTALL_TRUE@hpcups_CXXFLAGS = $(APDK_ENDIAN_FLAG) $(DBUS_CFLAGS)
--@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lImageProcessor -lcups -lcupsimage -lz $(DBUS_LIBS)
-+@HPCUPS_INSTALL_TRUE@hpcups_LDADD = -L./prnt/hpcups/ -ljpeg -ldl -lcups -lcupsimage -lz $(DBUS_LIBS)
- #else
- #hpcupsdir = $(cupsfilterdir)
- #hpcups_PROGRAMS = hpcups
-diff --git a/prnt/hpcups/HPCupsFilter.cpp b/prnt/hpcups/HPCupsFilter.cpp
-index 5b282d8..153ee3a 100644
---- a/prnt/hpcups/HPCupsFilter.cpp
-+++ b/prnt/hpcups/HPCupsFilter.cpp
-@@ -31,7 +31,6 @@
- \*****************************************************************************/
- 
- #include "HPCupsFilter.h"
--#include "ImageProcessor.h"
- 
- #include <signal.h>
- #include <sys/wait.h>
-@@ -637,16 +636,10 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
- 
- 
-     sprintf(hpPreProcessedRasterFile, "%s/hp_%s_cups_SwapedPagesXXXXXX",CUPS_TMP_DIR, m_JA.user_name);
--    image_processor_t* imageProcessor = imageProcessorCreate();
- 
-     while (cupsRasterReadHeader2(cups_raster, &cups_header))
-     {
- 
--        IMAGE_PROCESSOR_ERROR result = imageProcessorStartPage(imageProcessor, &cups_header);
--        if (result != IPE_SUCCESS){
--            dbglog("DEBUG: imageProcessorStartPage failed result = %d\n", result);
--        }
--
-         current_page_number++;
- 
-         if (current_page_number == 1) {
-@@ -745,11 +738,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
-             color_raster = rgbRaster;
-             black_raster = kRaster;
- 
--            result = imageProcessorProcessLine(imageProcessor, m_pPrinterBuffer, cups_header.cupsBytesPerLine);
--            if (result != IPE_SUCCESS){
--                dbglog("DEBUG: imageProcessorProcessLine failed result = %d\n", result);
--            }
--
- 
-             if ((y == 0) && !is_ljmono) {
-                 //For ljmono, make sure that first line is not a blankRaster line.Otherwise printer
-@@ -780,11 +768,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
-             }
-         }  // for() loop end
- 
--        result = imageProcessorEndPage(imageProcessor);
--        if (result != IPE_SUCCESS){
--                dbglog("DEBUG: imageProcessorEndPage failed result = %d\n", result);
--        }
--
- 
-         m_Job.NewPage();
-         if (err != NO_ERROR) {
-@@ -800,8 +783,6 @@ int HPCupsFilter::processRasterData(cups_raster_t *cups_raster)
-         rgbRaster = NULL;
-     }
- 
--    imageProcessorDestroy(imageProcessor);
--
-     unlink(hpPreProcessedRasterFile);
-     return ret_status;
- }
--- 
-2.24.1
-
diff --git a/pkgs/misc/drivers/xboxdrv/default.nix b/pkgs/misc/drivers/xboxdrv/default.nix
index 72c342e7b6a..f81e81ecbea 100644
--- a/pkgs/misc/drivers/xboxdrv/default.nix
+++ b/pkgs/misc/drivers/xboxdrv/default.nix
@@ -1,7 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, sconsPackages
+, scons
 , libX11
 , pkg-config
 , libusb1
@@ -22,10 +22,18 @@ stdenv.mkDerivation rec {
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
-  nativeBuildInputs = [ pkg-config sconsPackages.scons_3_1_2 ];
+  nativeBuildInputs = [ pkg-config scons ];
   buildInputs = [ libX11 libusb1 boost glib dbus-glib ];
+  enableParallelBuilding = true;
   dontUseSconsInstall = true;
 
+  patches = [
+    ./fix-60-sec-delay.patch
+    ./scons-py3.patch
+    ./scons-v4.2.0.patch
+    ./xboxdrvctl-py3.patch
+  ];
+
   meta = with lib; {
     homepage = "https://xboxdrv.gitlab.io/";
     description = "Xbox/Xbox360 (and more) gamepad driver for Linux that works in userspace";
diff --git a/pkgs/misc/drivers/xboxdrv/fix-60-sec-delay.patch b/pkgs/misc/drivers/xboxdrv/fix-60-sec-delay.patch
new file mode 100644
index 00000000000..da543d2cfa0
--- /dev/null
+++ b/pkgs/misc/drivers/xboxdrv/fix-60-sec-delay.patch
@@ -0,0 +1,27 @@
+From 7326421eeaadbc2aeb3828628c2e65bb7be323a9 Mon Sep 17 00:00:00 2001
+From: buxit <buti@bux.at>
+Date: Wed, 2 Nov 2016 16:25:14 +0100
+Subject: [PATCH] fix 60 seconds delay
+
+use `libusb_handle_events_timeout_completed()` instead of `libusb_handle_events()`
+should fix #144
+---
+ src/usb_gsource.cpp | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/usb_gsource.cpp b/src/usb_gsource.cpp
+index 00bf1315..afb38f65 100644
+--- a/src/usb_gsource.cpp
++++ b/src/usb_gsource.cpp
+@@ -174,7 +174,10 @@ USBGSource::on_source_dispatch(GSource* source, GSourceFunc callback, gpointer u
+ gboolean
+ USBGSource::on_source()
+ {
+-  libusb_handle_events(NULL);
++  struct timeval to;
++  to.tv_sec = 0;
++  to.tv_usec = 0;
++  libusb_handle_events_timeout_completed(NULL, &to, NULL);
+   return TRUE;
+ }
+ 
diff --git a/pkgs/misc/drivers/xboxdrv/scons-py3.patch b/pkgs/misc/drivers/xboxdrv/scons-py3.patch
new file mode 100644
index 00000000000..4aa6fa61931
--- /dev/null
+++ b/pkgs/misc/drivers/xboxdrv/scons-py3.patch
@@ -0,0 +1,63 @@
+From 17bd43a7d3ef86216abc36b42b4e6a1f70aa9979 Mon Sep 17 00:00:00 2001
+From: xnick <xnick@users.noreply.github.com>
+Date: Thu, 12 Oct 2017 20:34:35 +0300
+Subject: [PATCH] Update SConstruct
+
+python3 compatible
+---
+ SConstruct | 16 ++++++++--------
+ 1 file changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/SConstruct b/SConstruct
+index 4cd79704..c0007054 100644
+--- a/SConstruct
++++ b/SConstruct
+@@ -19,7 +19,7 @@ def build_dbus_glue(target, source, env):
+     xml = re.sub(r"callback = \(([A-Za-z_]+)\) \(marshal_data \? marshal_data : cc->callback\);",
+                  r"union { \1 fn; void* obj; } conv;\n  "
+                  "conv.obj = (marshal_data ? marshal_data : cc->callback);\n  "
+-                 "callback = conv.fn;", xml)
++                 "callback = conv.fn;", xml.decode('utf-8'))
+ 
+     with open(target[0].get_path(), "w") as f:
+         f.write(xml)
+@@ -29,10 +29,10 @@ def build_bin2h(target, source, env):
+     Takes a list of files and converts them into a C source that can be included
+     """
+     def c_escape(str): 
+-        return str.translate(string.maketrans("/.-", "___"))
++        return str.translate(bytes.maketrans(b"/.-", b"___"))
+     
+-    print target
+-    print source
++    print(target)
++    print(source)
+     with open(target[0].get_path(), "w") as fout:
+         fout.write("// autogenerated by scons Bin2H builder, do not edit by hand!\n\n")
+ 
+@@ -45,8 +45,8 @@ def build_bin2h(target, source, env):
+                 data = fin.read()
+                 fout.write("// \"%s\"\n" % src.get_path())
+                 fout.write("const char %s[] = {" % c_escape(src.get_path()))
+-                bytes_arr = ["0x%02x" % ord(c) for c in data]
+-                for i in xrange(len(bytes_arr)):
++                bytes_arr = ["0x%02x" % c for c in data]
++                for i in range(len(bytes_arr)):
+                     if i % 13 == 0:
+                         fout.write("\n  ")
+                     fout.write(bytes_arr[i])
+@@ -131,12 +131,12 @@ env.Append(CPPDEFINES = { 'PACKAGE_VERSION': "'\"%s\"'" % package_version })
+ conf = Configure(env)
+ 
+ if not conf.env['CXX']:
+-    print "g++ must be installed!"
++    print('g++ must be installed!')
+     Exit(1)
+ 
+ # X11 checks
+ if not conf.CheckLibWithHeader('X11', 'X11/Xlib.h', 'C++'):
+-    print 'libx11-dev must be installed!'
++    print('libx11-dev must be installed!')
+     Exit(1)
+ 
+ env = conf.Finish()
diff --git a/pkgs/misc/drivers/xboxdrv/scons-v4.2.0.patch b/pkgs/misc/drivers/xboxdrv/scons-v4.2.0.patch
new file mode 100644
index 00000000000..04b05e8d6ff
--- /dev/null
+++ b/pkgs/misc/drivers/xboxdrv/scons-v4.2.0.patch
@@ -0,0 +1,20 @@
+--- a/SConstruct	2021-10-31 20:42:44.232084185 -0400
++++ b/SConstruct	2021-10-31 20:42:54.063024444 -0400
+@@ -36,7 +36,7 @@
+     with open(target[0].get_path(), "w") as fout:
+         fout.write("// autogenerated by scons Bin2H builder, do not edit by hand!\n\n")
+ 
+-        if env.has_key("BIN2H_NAMESPACE"):
++        if "BIN2H_NAMESPACE" in env:
+             fout.write("namespace %s {\n\n" % env["BIN2H_NAMESPACE"])
+             
+         # write down data
+@@ -62,7 +62,7 @@
+                                     for src in source], ",\n"))
+             fout.write("\n}\n\n")
+ 
+-        if env.has_key("BIN2H_NAMESPACE"):
++        if "BIN2H_NAMESPACE" in env:
+             fout.write("} // namespace %s\n\n" % env["BIN2H_NAMESPACE"])
+                 
+         fout.write("/* EOF */\n")
diff --git a/pkgs/misc/drivers/xboxdrv/xboxdrvctl-py3.patch b/pkgs/misc/drivers/xboxdrv/xboxdrvctl-py3.patch
new file mode 100644
index 00000000000..71d8762cb9c
--- /dev/null
+++ b/pkgs/misc/drivers/xboxdrv/xboxdrvctl-py3.patch
@@ -0,0 +1,73 @@
+--- a/xboxdrvctl	2021-06-21 19:39:51.000000000 -0400
++++ b/xboxdrvctl 19:43:27.467984928 -0400
+@@ -1,4 +1,4 @@
+-#!/usr/bin/env python2
++#!/usr/bin/env python3
+ 
+ ##  Xbox360 USB Gamepad Userspace Driver
+ ##  Copyright (C) 2011 Ingo Ruhnke <grumbel@gmail.com>
+@@ -37,23 +37,23 @@
+                   help="print controller status")
+ 
+ group.add_option("-s", "--slot", metavar="SLOT", type="int",
+-                  dest="slot", 
++                  dest="slot",
+                   help="use slot SLOT for actions")
+ 
+ group.add_option("-l", "--led", metavar="NUM", type="int",
+-                  dest="led", 
++                  dest="led",
+                   help="set LED")
+ 
+-group.add_option("-r", "--rumble", metavar="L:R", 
+-                  dest="rumble", 
++group.add_option("-r", "--rumble", metavar="L:R",
++                  dest="rumble",
+                   help="print controller status")
+ 
+ group.add_option("-c", "--config", metavar="NUM", type="int",
+-                  dest="config", 
++                  dest="config",
+                   help="switches to controller configuration NUM")
+ 
+ group.add_option("--shutdown", action="store_true",
+-                  dest="shutdown", 
++                  dest="shutdown",
+                   help="shuts down the daemon")
+ 
+ parser.add_option_group(group)
+@@ -69,9 +69,9 @@
+     try:
+         bus.get_object("org.seul.Xboxdrv", '/org/seul/Xboxdrv/Daemon')
+     except dbus.exceptions.DBusException:
+-				bus = dbus.SystemBus()
++        bus = dbus.SystemBus()
+ else:
+-    print "Error: invalid argument to --bus. Must be 'auto', 'session, or 'system'"
++    print("Error: invalid argument to --bus. Must be 'auto', 'session, or 'system'")
+     exit()
+ 
+ if options.status:
+@@ -82,19 +82,19 @@
+     daemon.Shutdown()
+ else:
+     if (options.led or options.rumble or options.config) and options.slot == None:
+-        print "Error: --slot argument required"
++        print("Error: --slot argument required")
+         exit()
+     else:
+         if options.slot != None:
+             slot = bus.get_object("org.seul.Xboxdrv", '/org/seul/Xboxdrv/ControllerSlots/%d' % options.slot)
+-    
++
+             if options.led != None:
+                 slot.SetLed(options.led)
+ 
+             if options.rumble:
+                 m = re.match('^(\d+):(\d+)$', options.rumble)
+                 if not m:
+-                    print "Error: invalid argument to --rumble"
++                    print("Error: invalid argument to --rumble")
+                     exit()
+                 else:
+                     left  = int(m.group(1))
diff --git a/pkgs/misc/emulators/dosbox-staging/default.nix b/pkgs/misc/emulators/dosbox-staging/default.nix
deleted file mode 100644
index 05c970507b2..00000000000
--- a/pkgs/misc/emulators/dosbox-staging/default.nix
+++ /dev/null
@@ -1,83 +0,0 @@
-{ lib
-, stdenv
-, fetchFromGitHub
-, SDL2
-, SDL2_net
-, alsa-lib
-, fluidsynth
-, gtest
-, libGL
-, libGLU
-, libogg
-, libpng
-, makeWrapper
-, meson
-, libmt32emu
-, ninja
-, opusfile
-, pkg-config
-}:
-
-stdenv.mkDerivation rec {
-  pname = "dosbox-staging";
-  version = "0.77.1";
-
-  src = fetchFromGitHub {
-    owner = pname;
-    repo = pname;
-    rev = "v${version}";
-    sha256 = "07jwmmm1bhfxavlhl854cj8l5iy5hqx5hpwkkjbcwqg7yh9jfs2x";
-  };
-
-  nativeBuildInputs = [
-    gtest
-    makeWrapper
-    meson
-    ninja
-    pkg-config
-  ];
-
-  buildInputs = [
-    SDL2
-    SDL2_net
-    alsa-lib
-    fluidsynth
-    libGL
-    libGLU
-    libmt32emu
-    libogg
-    libpng
-    opusfile
-  ];
-
-  hardeningDisable = [ "format" ];
-
-  mesonFlags = [
-    "--buildtype=release"
-    "-Db_asneeded=true"
-    "-Ddefault_library=static"
-    "-Dfluidsynth:enable-floats=true"
-    "-Dfluidsynth:try-static-deps=true"
-    "-Dtry_static_libs=png"
-  ];
-
-  postFixup = ''
-    # Rename binary, add a wrapper, and copy manual to avoid conflict with
-    # vanilla dosbox. Doing it this way allows us to work with frontends and
-    # launchers that expect the binary to be named dosbox, but get out of the
-    # way of vanilla dosbox if the user desires to install that as well.
-
-    mv $out/bin/dosbox $out/bin/${pname}
-    makeWrapper $out/bin/dosbox-staging $out/bin/dosbox
-    cp $out/share/man/man1/dosbox.1.gz $out/share/man/man1/${pname}.1.gz
-  '';
-
-  meta = with lib; {
-    homepage = "https://dosbox-staging.github.io/";
-    description = "A modernized DOS emulator";
-    license = licenses.gpl2Plus;
-    maintainers = with maintainers; [ joshuafern ];
-    platforms = platforms.unix;
-    priority = 101;
-  };
-}
diff --git a/pkgs/misc/gnash/0001-fix-build-with-ffmepg-4.patch b/pkgs/misc/gnash/0001-fix-build-with-ffmepg-4.patch
deleted file mode 100644
index f6316ae972f..00000000000
--- a/pkgs/misc/gnash/0001-fix-build-with-ffmepg-4.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-From cb13c20332526a4db99e7fd0818b9a75829affad Mon Sep 17 00:00:00 2001
-From: Zane van Iperen <zane@zanevaniperen.com>
-Date: Sun, 7 Nov 2021 15:36:02 +1000
-Subject: [PATCH] fix build with ffmepg 4
-
----
- libmedia/ffmpeg/MediaHandlerFfmpeg.cpp | 2 +-
- libmedia/ffmpeg/MediaParserFfmpeg.cpp  | 6 +++---
- 2 files changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/libmedia/ffmpeg/MediaHandlerFfmpeg.cpp b/libmedia/ffmpeg/MediaHandlerFfmpeg.cpp
-index 127aaaa..216d96b 100644
---- a/libmedia/ffmpeg/MediaHandlerFfmpeg.cpp
-+++ b/libmedia/ffmpeg/MediaHandlerFfmpeg.cpp
-@@ -149,7 +149,7 @@ MediaHandlerFfmpeg::cameraNames(std::vector<std::string>& /*names*/) const
- size_t
- MediaHandlerFfmpeg::getInputPaddingSize() const
- {
--    return FF_INPUT_BUFFER_PADDING_SIZE;
-+    return AV_INPUT_BUFFER_PADDING_SIZE;
- }
- 
- } // gnash.media.ffmpeg namespace 
-diff --git a/libmedia/ffmpeg/MediaParserFfmpeg.cpp b/libmedia/ffmpeg/MediaParserFfmpeg.cpp
-index 9ceb8b0..a27ca56 100644
---- a/libmedia/ffmpeg/MediaParserFfmpeg.cpp
-+++ b/libmedia/ffmpeg/MediaParserFfmpeg.cpp
-@@ -64,7 +64,7 @@ AVInputFormat*
- MediaParserFfmpeg::probeStream()
- {
-     const size_t probeSize = 4096;
--    const size_t bufSize = probeSize + FF_INPUT_BUFFER_PADDING_SIZE;
-+    const size_t bufSize = probeSize + AV_INPUT_BUFFER_PADDING_SIZE;
- 
- 	std::unique_ptr<std::uint8_t[]> buffer(new std::uint8_t[bufSize]);
- 
-@@ -173,7 +173,7 @@ MediaParserFfmpeg::parseVideoFrame(AVPacket& packet)
- 
- 	// TODO: We might avoid the copy as a whole by making EncodedVideoFrame
- 	//       virtual.
--	size_t allocSize = packet.size + FF_INPUT_BUFFER_PADDING_SIZE;
-+	size_t allocSize = packet.size + AV_INPUT_BUFFER_PADDING_SIZE;
- 	std::uint8_t* data = new std::uint8_t[allocSize];
- 	std::copy(packet.data, packet.data+packet.size, data);
- 	std::unique_ptr<EncodedVideoFrame> frame(new EncodedVideoFrame(data, packet.size, 0, timestamp));
-@@ -221,7 +221,7 @@ MediaParserFfmpeg::parseAudioFrame(AVPacket& packet)
- 
- 	// TODO: We might avoid the copy as a whole by making EncodedAudioFrame
- 	//       virtual.
--	size_t allocSize = packet.size + FF_INPUT_BUFFER_PADDING_SIZE;
-+	size_t allocSize = packet.size + AV_INPUT_BUFFER_PADDING_SIZE;
- 	std::uint8_t* data = new std::uint8_t[allocSize];
- 	std::copy(packet.data, packet.data+packet.size, data);
- 
--- 
-2.31.1
-
diff --git a/pkgs/misc/gnash/default.nix b/pkgs/misc/gnash/default.nix
deleted file mode 100644
index fc7148b4048..00000000000
--- a/pkgs/misc/gnash/default.nix
+++ /dev/null
@@ -1,132 +0,0 @@
-{ lib, stdenv, fetchgit, fetchpatch, autoreconfHook
-, pkg-config, libtool, boost, SDL
-, glib, pango, gettext, curl, xorg
-, libpng, libjpeg, giflib, speex, atk
-
-# renderers
-, enableAGG    ? true,  agg   ? null
-, enableCairo  ? false, cairo ? null
-, enableOpenGL ? false
-, libGLU ? null
-, libGL  ? null
-
-# GUI toolkits
-, enableGTK ? true,  gtk2 ? null, gnome2 ? null
-, enableSDL ? false
-, enableQt  ? false, qt4  ? null
-
-# media
-, enableFFmpeg   ? true, ffmpeg ? null
-
-# misc
-, enableJemalloc ? true, jemalloc ? null
-, enableHwAccel  ? true
-, enablePlugins  ? false, xulrunner ? null, npapi_sdk ? null
-}:
-
-with lib;
-
-let
-  available = x: x != null;
-
-  sound =
-    if enableFFmpeg then "ffmpeg" else "none";
-
-  renderers = []
-    ++ optional enableAGG    "agg"
-    ++ optional enableCairo  "cairo"
-    ++ optional enableOpenGL "opengl";
-
-  toolkits = []
-    ++ optional enableGTK "gtk"
-    ++ optional enableSDL "sdl"
-    ++ optional enableQt  "qt4";
-
-in
-
-# renderers
-assert enableAGG    -> available agg;
-assert enableCairo  -> available cairo;
-assert enableOpenGL -> all available [ libGLU libGL ];
-
-# GUI toolkits
-assert enableGTK -> all available [ gtk2 gnome2.gtkglext gnome2.GConf ];
-assert enableSDL -> available SDL;
-assert enableQt  -> available qt4;
-
-# media libraries
-assert enableFFmpeg    -> available ffmpeg ;
-
-# misc
-assert enableJemalloc -> available jemalloc;
-assert enableHwAccel  -> all available [ libGLU libGL ];
-assert enablePlugins  -> all available [ xulrunner npapi_sdk ];
-
-assert length toolkits  == 0 -> throw "at least one GUI toolkit must be enabled";
-assert length renderers == 0 -> throw "at least one renderer must be enabled";
-
-
-stdenv.mkDerivation {
-  pname = "gnash";
-  version = "0.8.11-2019-30-01";
-
-  src = fetchgit {
-    url = "git://git.sv.gnu.org/gnash.git";
-    rev = "583ccbc1275c7701dc4843ec12142ff86bb305b4";
-    sha256 = "0fh0bljn0i6ypyh6l99afi855p7ki7lm869nq1qj6k8hrrwhmfry";
-  };
-
-  postPatch = ''
-    sed -i 's|jemalloc.h|jemalloc/jemalloc.h|' libbase/jemalloc_gnash.c
-  '';
-
-  nativeBuildInputs = [ autoreconfHook pkg-config libtool ];
-  buildInputs = [
-    glib gettext boost curl SDL speex
-    xorg.libXmu xorg.libSM xorg.libXt
-    libpng libjpeg giflib pango atk
-  ] ++ optional  enableAGG       agg
-    ++ optional  enableCairo     cairo
-    ++ optional  enableQt        qt4
-    ++ optional  enableFFmpeg    ffmpeg
-    ++ optional  enableJemalloc  jemalloc
-    ++ optional  enableHwAccel   [ libGL libGLU ]
-    ++ optionals enableOpenGL    [ libGL libGLU ]
-    ++ optionals enablePlugins   [ xulrunner npapi_sdk ]
-    ++ optionals enableGTK       [ gtk2 gnome2.gtkglext gnome2.GConf ];
-
-  patches = [
-    (fetchpatch { # fix compilation due to bad detection of libgif version: https://savannah.gnu.org/patch/index.php?9873
-      url = "https://savannah.gnu.org/patch/download.php?file_id=47859";
-      sha256 = "0aimayzgi5065gkcfcr8d5lkd9c0471q7dqmln42hjzq847n6d5y";
-    })
-
-    # Fix build with modern Pango
-    # https://savannah.gnu.org/bugs/index.php?57759
-    (fetchpatch {
-      url = "https://savannah.gnu.org/file/0001-Do-not-depend-on-pangox.patch?file_id=48366";
-      sha256 = "02x7sl5zwd1ld2n4b6bp16c5gk91qsap0spfbb5iwpglq3galv2l";
-    })
-
-    ./0001-fix-build-with-ffmepg-4.patch
-  ];
-
-  configureFlags = with lib; [
-    "--with-boost-incl=${boost.dev}/include"
-    "--with-boost-lib=${boost.out}/lib"
-    "--enable-renderer=${concatStringsSep "," renderers}"
-    "--enable-gui=${concatStringsSep "," toolkits}"
-    "--enable-media=${sound}"
-    "--with-npapi-install=prefix"
-    (enableFeature enablePlugins  "plugins")
-    (enableFeature enableJemalloc "jemalloc")
-    (optionalString enableHwAccel "--enable-device=egl")
-  ];
-
-  meta = {
-    homepage    = "https://savannah.gnu.org/projects/gnash";
-    description = "A flash (SWF) player and browser plugin";
-    license     = licenses.gpl3;
-    maintainers = with maintainers; [ rnhmjoj ];
-  };
-}
diff --git a/pkgs/misc/kitty-themes/default.nix b/pkgs/misc/kitty-themes/default.nix
new file mode 100644
index 00000000000..16bfa3a54b7
--- /dev/null
+++ b/pkgs/misc/kitty-themes/default.nix
@@ -0,0 +1,27 @@
+{ fetchFromGitHub, lib, stdenv }:
+
+stdenv.mkDerivation rec {
+  pname = "kitty-themes";
+  version = "unstable-2022-02-03";
+
+  src = fetchFromGitHub {
+    owner = "kovidgoyal";
+    repo = pname;
+    rev = "337d6fcb3ad7e38544edfb8d0f6447894b7e5f58";
+    sha256 = "ZP5GrT2QCdXtC5swqI0SXzIlqIcQNsxBlzEplj/hpz4=";
+  };
+
+  installPhase = ''
+    mkdir -p $out/themes
+    mv themes.json $out
+    mv themes/*.conf $out/themes
+  '';
+
+  meta = with lib; {
+    homepage = "https://github.com/kovidgoyal/kitty-themes";
+    description = "Themes for the kitty terminal emulator";
+    license = licenses.gpl3Only;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ nelsonjeppesen ];
+  };
+}
diff --git a/pkgs/misc/mxt-app/default.nix b/pkgs/misc/mxt-app/default.nix
index df812d516ec..7695f3cebef 100644
--- a/pkgs/misc/mxt-app/default.nix
+++ b/pkgs/misc/mxt-app/default.nix
@@ -1,14 +1,14 @@
 { lib, stdenv, fetchFromGitHub, autoreconfHook, libtool }:
 
 stdenv.mkDerivation rec {
-  version="1.33";
+  version="1.36";
   pname = "mxt-app";
 
   src = fetchFromGitHub {
     owner = "atmel-maxtouch";
     repo = "mxt-app";
     rev = "v${version}";
-    sha256 = "sha256-PgIIxoyR7UA5y4UZ6meJERrbi1Bov03pJkN5St4BWss=";
+    sha256 = "sha256-hS/4d7HUCoulY73Sn1+IAb/IWD4VDht78Tn2jdluzhU=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/misc/screensavers/pipes-rs/default.nix b/pkgs/misc/screensavers/pipes-rs/default.nix
index 3e2f4179d8e..d89ac88684d 100644
--- a/pkgs/misc/screensavers/pipes-rs/default.nix
+++ b/pkgs/misc/screensavers/pipes-rs/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "pipes-rs";
-  version = "1.4.6";
+  version = "1.4.7";
 
   src = fetchFromGitHub {
     owner = "lhvy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HtwUYYQqldEtE9VkQAJscW8jp/u8Cb4/G5d2uqanOjI=";
+    sha256 = "sha256-egjmvvbPmIjccg44F2/TiGrn5HRN5hp8XL0yd0/ctv0=";
   };
 
-  cargoSha256 = "sha256-o/aPB0jfZfg2sDkgCBlLlCK3gbjjHZeiG8OxRXKXJyY=";
+  cargoSha256 = "sha256-i9aR0dGNRF37Hhs9vq0wpdZGIVkX7M1SzbpASR5ve+g=";
 
   doInstallCheck = true;
 
diff --git a/pkgs/misc/tmux-plugins/default.nix b/pkgs/misc/tmux-plugins/default.nix
index b04a5487457..8c39ab3f207 100644
--- a/pkgs/misc/tmux-plugins/default.nix
+++ b/pkgs/misc/tmux-plugins/default.nix
@@ -132,12 +132,12 @@ in rec {
 
   cpu = mkTmuxPlugin {
     pluginName = "cpu";
-    version = "unstable-2020-07-25";
+    version = "unstable-2021-12-15";
     src = fetchFromGitHub {
       owner = "tmux-plugins";
       repo = "tmux-cpu";
-      rev = "20120a38ade17057441482b43eb5390e6ea2c1c1";
-      sha256 = "1gdz2awyd9icvyiw2p40gwymh6ngjhb9mkiv63ix53snp9ii794i";
+      rev = "9eb3dba66672c5b43065e144cc3a1031f77ad67e";
+      sha256 = "sha256-v/jZxsa+JwsSKjmA32VK/4gBNHP/SyOzTaYSSz2c0+4=";
     };
   };
 
@@ -523,12 +523,12 @@ in rec {
   tmux-fzf = mkTmuxPlugin {
     pluginName = "tmux-fzf";
     rtpFilePath = "main.tmux";
-    version = "unstable-2020-12-07";
+    version = "unstable-2021-10-20";
     src = fetchFromGitHub {
       owner = "sainnhe";
       repo = "tmux-fzf";
-      rev = "5efeb91086040a3becf5372fb38258acd0579954";
-      sha256 = "1z0zmsf8asxs9wbwvkiyd81h93wb2ikl8nxxc26sdpi6l333q5s9";
+      rev = "1801dd525b39154745ea668fb6916035023949e3";
+      sha256 = "e929Jqletmobp3WAR1tPU3pJuYTYVynxc5CvB80gig8=";
     };
     postInstall = ''
       find $target -type f -print0 | xargs -0 sed -i -e 's|fzf |${pkgs.fzf}/bin/fzf |g'
diff --git a/pkgs/misc/uboot/default.nix b/pkgs/misc/uboot/default.nix
index e287066ddb9..5d7a344088e 100644
--- a/pkgs/misc/uboot/default.nix
+++ b/pkgs/misc/uboot/default.nix
@@ -395,12 +395,28 @@ in {
     defconfig = "rpi_3_32b_defconfig";
     extraMeta.platforms = ["armv7l-linux"];
     filesToInstall = ["u-boot.bin"];
+    extraPatches = [
+      # Remove when updating to 2022.01
+      # https://patchwork.ozlabs.org/project/uboot/list/?series=273129&archive=both&state=*
+      (fetchpatch {
+        url = "https://patchwork.ozlabs.org/series/273129/mbox/";
+        sha256 = "sha256-/Gu7RNvBNYCGqdFRzQ11qPDDxgGVpwKYYw1CpumIGfU=";
+      })
+    ];
   };
 
   ubootRaspberryPi3_64bit = buildUBoot {
     defconfig = "rpi_3_defconfig";
     extraMeta.platforms = ["aarch64-linux"];
     filesToInstall = ["u-boot.bin"];
+    extraPatches = [
+      # Remove when updating to 2022.01
+      # https://patchwork.ozlabs.org/project/uboot/list/?series=273129&archive=both&state=*
+      (fetchpatch {
+        url = "https://patchwork.ozlabs.org/series/273129/mbox/";
+        sha256 = "sha256-/Gu7RNvBNYCGqdFRzQ11qPDDxgGVpwKYYw1CpumIGfU=";
+      })
+    ];
   };
 
   ubootRaspberryPi4_32bit = buildUBoot {
diff --git a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json b/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
deleted file mode 100644
index 8f90fda228c..00000000000
--- a/pkgs/misc/vscode-extensions/ms-dotnettools-csharp/rt-deps-bin-srcs.json
+++ /dev/null
@@ -1,36 +0,0 @@
-{
-  "OmniSharp__x86_64-linux": {
-    "installPath": ".omnisharp/1.37.15",
-    "binaries": [
-      "./mono.linux-x86_64",
-      "./run"
-    ],
-    "urls": [
-      "https://download.visualstudio.microsoft.com/download/pr/4fbf71ce-5375-4ca9-b70d-8024ba1b9e0a/b96375395e639233d546a4937be3bd32/omnisharp-linux-x64-1.37.15.zip",
-      "https://roslynomnisharp.blob.core.windows.net/releases/1.37.15/omnisharp-linux-x64-1.37.15.zip"
-    ],
-    "sha256": "0pchywkxy8niq0i6gq2r43cmf58blfhhj8w8zyibf0m9h09h165s"
-  },
-  "Debugger__x86_64-linux": {
-    "installPath": ".debugger",
-    "binaries": [
-      "./vsdbg-ui",
-      "./vsdbg"
-    ],
-    "urls": [
-      "https://download.visualstudio.microsoft.com/download/pr/49f44239-bd47-4fb5-91be-4c91d7638fff/dd019b4c839f458596e26bfcfe6a3e7f/coreclr-debug-linux-x64.zip",
-      "https://vsdebugger.blob.core.windows.net/coreclr-debug-1-23-14/coreclr-debug-linux-x64.zip"
-    ],
-    "sha256": "0c5y0035sa07bl3m3iiqccqd92xjwpcfjrqhmi5xligk40q2i2gk"
-  },
-  "Razor__x86_64-linux": {
-    "installPath": ".razor",
-    "binaries": [
-      "./rzls"
-    ],
-    "urls": [
-      "https://download.visualstudio.microsoft.com/download/pr/b8678010-2cd7-4201-a5e7-ba57920607d5/b846e9c7d7afdba54a72fae1dcb6c42c/razorlanguageserver-linux-x64-6.0.0-preview.5.21358.6.zip"
-    ],
-    "sha256": "0gb36nlb7fgcv03a0awna1qyrsky6ys5gkpsmvxc5j35f1yq337b"
-  }
-}
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
new file mode 100644
index 00000000000..abbb3b8fb0e
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVK.xcodeproj.patch
@@ -0,0 +1,146 @@
+diff --git a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+index c23afce4..12ac12f4 100644
+--- a/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
++++ b/MoltenVK/MoltenVK.xcodeproj/project.pbxproj
+@@ -365,13 +365,6 @@
+ /* End PBXBuildFile section */
+ 
+ /* Begin PBXContainerItemProxy section */
+-		2F21D82E24983488009BEA5F /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = 2FEA0CFF2490381A00EEF3AD;
+-			remoteInfo = "MoltenVKSPIRVToMSLConverter-tvOS";
+-		};
+ 		2FEA0D1B249040CA00EEF3AD /* PBXContainerItemProxy */ = {
+ 			isa = PBXContainerItemProxy;
+ 			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+@@ -400,20 +393,6 @@
+ 			remoteGlobalIDString = A93903C71C57E9ED00FE90DC;
+ 			remoteInfo = "MVKSPIRVToMSLConverter-macOS";
+ 		};
+-		A981499A1FB6B9CF005F00B4 /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = A93903B81C57E9D700FE90DC;
+-			remoteInfo = "MVKSPIRVToMSLConverter-iOS";
+-		};
+-		A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */ = {
+-			isa = PBXContainerItemProxy;
+-			containerPortal = A9C86CB61C55B8350096CAF2 /* MoltenVKShaderConverter.xcodeproj */;
+-			proxyType = 1;
+-			remoteGlobalIDString = A9092A8C1A81717B00051823;
+-			remoteInfo = MoltenVKShaderConverter;
+-		};
+ /* End PBXContainerItemProxy section */
+ 
+ /* Begin PBXFileReference section */
+@@ -1019,7 +998,6 @@
+ 			buildRules = (
+ 			);
+ 			dependencies = (
+-				2F21D82F24983488009BEA5F /* PBXTargetDependency */,
+ 			);
+ 			name = "MoltenVK-tvOS";
+ 			productName = MoltenVK;
+@@ -1039,7 +1017,6 @@
+ 			buildRules = (
+ 			);
+ 			dependencies = (
+-				A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */,
+ 			);
+ 			name = "MoltenVK-iOS";
+ 			productName = MoltenVK;
+@@ -1059,7 +1036,6 @@
+ 			buildRules = (
+ 			);
+ 			dependencies = (
+-				A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */,
+ 			);
+ 			name = "MoltenVK-macOS";
+ 			productName = MoltenVK;
+@@ -1476,24 +1452,6 @@
+ 		};
+ /* End PBXSourcesBuildPhase section */
+ 
+-/* Begin PBXTargetDependency section */
+-		2F21D82F24983488009BEA5F /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = "MoltenVKSPIRVToMSLConverter-tvOS";
+-			targetProxy = 2F21D82E24983488009BEA5F /* PBXContainerItemProxy */;
+-		};
+-		A981499B1FB6B9CF005F00B4 /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = "MVKSPIRVToMSLConverter-iOS";
+-			targetProxy = A981499A1FB6B9CF005F00B4 /* PBXContainerItemProxy */;
+-		};
+-		A9B1C7F5251AA5AF001D12CC /* PBXTargetDependency */ = {
+-			isa = PBXTargetDependency;
+-			name = MoltenVKShaderConverter;
+-			targetProxy = A9B1C7F4251AA5AF001D12CC /* PBXContainerItemProxy */;
+-		};
+-/* End PBXTargetDependency section */
+-
+ /* Begin XCBuildConfiguration section */
+ 		2FEA0AB824902F9F00EEF3AD /* Debug */ = {
+ 			isa = XCBuildConfiguration;
+@@ -1586,11 +1544,12 @@
+ 				GCC_WARN_UNUSED_VARIABLE = YES;
+ 				GENERATE_MASTER_OBJECT_FILE = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"\"$(SRCROOT)/include\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/../External/cereal/include\"",
+-					"\"${BUILT_PRODUCTS_DIR}\"",
++					"@@sourceRoot@@/outputs/include",
++					"@@sourceRoot@@/outputs/include/simd_workaround",
++					"@@sourceRoot@@/MoltenVKShaderConverter",
++					"@@cereal@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@vulkan-headers@@/include",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ 				MACH_O_TYPE = staticlib;
+@@ -1600,6 +1559,10 @@
+ 				MVK_SKIP_DYLIB = "";
+ 				"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+ 				"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
+ 				PRODUCT_NAME = MoltenVK;
+ 				SKIP_INSTALL = YES;
+@@ -1658,11 +1621,12 @@
+ 				GCC_WARN_UNUSED_VARIABLE = YES;
+ 				GENERATE_MASTER_OBJECT_FILE = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"\"$(SRCROOT)/include\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter\"",
+-					"\"$(SRCROOT)/../MoltenVKShaderConverter/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/../External/cereal/include\"",
+-					"\"${BUILT_PRODUCTS_DIR}\"",
++					"@@sourceRoot@@/outputs/include",
++					"@@sourceRoot@@/outputs/include/simd_workaround",
++					"@@sourceRoot@@/MoltenVKShaderConverter",
++					"@@cereal@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@vulkan-headers@@/include",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
+ 				MACH_O_TYPE = staticlib;
+@@ -1672,6 +1636,10 @@
+ 				MVK_SKIP_DYLIB = "";
+ 				"MVK_SKIP_DYLIB[sdk=appletvsimulator*]" = YES;
+ 				"MVK_SKIP_DYLIB[sdk=iphonesimulator*]" = YES;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRELINK_LIBS = "${CONFIGURATION_BUILD_DIR}/libMoltenVKShaderConverter.a";
+ 				PRODUCT_NAME = MoltenVK;
+ 				SKIP_INSTALL = YES;
diff --git a/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
new file mode 100644
index 00000000000..7a7ec7afa2e
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/MoltenVKShaderConverter.xcodeproj.patch
@@ -0,0 +1,180 @@
+diff --git a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+index c7842b63..d55f73ed 100644
+--- a/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
++++ b/MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj
+@@ -3,7 +3,7 @@
+ 	archiveVersion = 1;
+ 	classes = {
+ 	};
+-	objectVersion = 52;
++	objectVersion = 48;
+ 	objects = {
+
+ /* Begin PBXBuildFile section */
+@@ -33,9 +33,6 @@
+ 		A920A8AC251B75B70076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+ 		A920A8AD251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+ 		A920A8AE251B75B80076851C /* GLSLToSPIRVConverter.h in Headers */ = {isa = PBXBuildFile; fileRef = A920A8A2251B75B70076851C /* GLSLToSPIRVConverter.h */; };
+-		A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+-		A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+-		A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386FD24EEE93700199A05 /* glslang.xcframework */; };
+ 		A925B71B1C78DEB2006E7ECD /* libMoltenVKShaderConverter.a in Frameworks */ = {isa = PBXBuildFile; fileRef = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */; };
+ 		A928C9191D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
+ 		A928C91A1D0488DC00071B88 /* SPIRVConversion.h in Headers */ = {isa = PBXBuildFile; fileRef = A928C9171D0488DC00071B88 /* SPIRVConversion.h */; };
+@@ -55,12 +52,6 @@
+ 		A97CC7411C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp in Sources */ = {isa = PBXBuildFile; fileRef = A97CC73E1C7527F3004A5C7E /* MoltenVKShaderConverterTool.cpp */; };
+ 		A98149681FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
+ 		A98149691FB6A98A005F00B4 /* MVKStrings.h in Headers */ = {isa = PBXBuildFile; fileRef = A98149651FB6A98A005F00B4 /* MVKStrings.h */; };
+-		A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+-		A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+-		A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A98386F824EEE91A00199A05 /* SPIRVCross.xcframework */; };
+-		A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+-		A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+-		A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = A983870224EEE94800199A05 /* SPIRVTools.xcframework */; };
+ 		A9A14E332244388700C080F3 /* Metal.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A9A14E322244388700C080F3 /* Metal.framework */; };
+ 		A9B51BDD225E98BB00AC74D2 /* MVKOSExtensions.mm in Sources */ = {isa = PBXBuildFile; fileRef = A9B51BDB225E98BB00AC74D2 /* MVKOSExtensions.mm */; };
+ 		A9F042B21FB4D060009FCCB8 /* MVKCommonEnvironment.h in Headers */ = {isa = PBXBuildFile; fileRef = A9F042AA1FB4D060009FCCB8 /* MVKCommonEnvironment.h */; };
+@@ -115,9 +106,6 @@
+ 			isa = PBXFrameworksBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				A983870824EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+-				A98386FB24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+-				A920A8B0251B77910076851C /* glslang.xcframework in Frameworks */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -134,9 +122,6 @@
+ 			isa = PBXFrameworksBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				A983870724EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+-				A98386FA24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+-				A920A8AF251B77900076851C /* glslang.xcframework in Frameworks */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -144,9 +129,6 @@
+ 			isa = PBXFrameworksBuildPhase;
+ 			buildActionMask = 2147483647;
+ 			files = (
+-				A983870924EEE94800199A05 /* SPIRVTools.xcframework in Frameworks */,
+-				A98386FC24EEE91A00199A05 /* SPIRVCross.xcframework in Frameworks */,
+-				A920A8B1251B77920076851C /* glslang.xcframework in Frameworks */,
+ 			);
+ 			runOnlyForDeploymentPostprocessing = 0;
+ 		};
+@@ -313,7 +295,7 @@
+ 				A925B71D1C78DEBF006E7ECD /* PBXTargetDependency */,
+ 			);
+ 			name = MoltenVKShaderConverter;
+-			productName = MetalGLShaderConverterTool;
++			productName = MoltenVKShaderConverter;
+ 			productReference = A964BD5F1C57EFBD00D930D8 /* MoltenVKShaderConverter */;
+ 			productType = "com.apple.product-type.tool";
+ 		};
+@@ -349,7 +331,7 @@
+ 			dependencies = (
+ 			);
+ 			name = "MoltenVKShaderConverter-macOS";
+-			productName = "MetalGLShaderConverter-macOS";
++			productName = MoltenVKShaderConverter;
+ 			productReference = A93903C71C57E9ED00FE90DC /* libMoltenVKShaderConverter.a */;
+ 			productType = "com.apple.product-type.library.static";
+ 		};
+@@ -536,6 +518,17 @@
+ 				OTHER_LDFLAGS = (
+ 					"-ObjC",
+ 					"-w",
++					"-lMachineIndependent",
++					"-lGenericCodeGen",
++					"-lOGLCompiler",
++					"-lglslang",
++					"-lOSDependent",
++					"-lSPIRV",
++					"-lSPIRV-Tools",
++					"-lSPIRV-Tools-opt",
++					"-lspirv-cross-msl",
++					"-lspirv-cross-core",
++					"-lspirv-cross-glsl",
+ 				);
+ 				SDKROOT = macosx;
+ 			};
+@@ -548,6 +541,17 @@
+ 				OTHER_LDFLAGS = (
+ 					"-ObjC",
+ 					"-w",
++					"-lMachineIndependent",
++					"-lGenericCodeGen",
++					"-lOGLCompiler",
++					"-lglslang",
++					"-lOSDependent",
++					"-lSPIRV",
++					"-lSPIRV-Tools",
++					"-lSPIRV-Tools-opt",
++					"-lspirv-cross-msl",
++					"-lspirv-cross-core",
++					"-lspirv-cross-glsl",
+ 				);
+ 				SDKROOT = macosx;
+ 			};
+@@ -624,15 +628,24 @@
+ 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ 				GCC_WARN_UNUSED_FUNCTION = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"$(inherited)",
+-					"\"$(SRCROOT)\"",
+-					"\"$(SRCROOT)/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/glslang\"",
+-					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
++					"@@sourceRoot@@/Common",
++					"@@glslang@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@spirv-tools@@/include",
++					"@@spirv-headers@@/include/spirv/unified1/",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
++				LIBRARY_SEARCH_PATHS = (
++					"@@glslang@@/lib",
++					"@@spirv-cross@@/lib",
++					"@@spirv-tools@@/lib",
++				);
+ 				MACH_O_TYPE = staticlib;
+ 				MACOSX_DEPLOYMENT_TARGET = 10.11;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRODUCT_NAME = MoltenVKShaderConverter;
+ 				SKIP_INSTALL = YES;
+ 				TVOS_DEPLOYMENT_TARGET = 9.0;
+@@ -683,15 +696,24 @@
+ 				GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
+ 				GCC_WARN_UNUSED_FUNCTION = YES;
+ 				HEADER_SEARCH_PATHS = (
+-					"$(inherited)",
+-					"\"$(SRCROOT)\"",
+-					"\"$(SRCROOT)/SPIRV-Cross\"",
+-					"\"$(SRCROOT)/glslang\"",
+-					"\"$(SRCROOT)/glslang/External/spirv-tools/include\"",
++					"@@sourceRoot@@/Common",
++					"@@glslang@@/include",
++					"@@spirv-cross@@/include/spirv_cross",
++					"@@spirv-tools@@/include",
++					"@@spirv-headers@@/include/spirv/unified1/",
+ 				);
+ 				IPHONEOS_DEPLOYMENT_TARGET = 9.0;
++				LIBRARY_SEARCH_PATHS = (
++					"@@glslang@@/lib",
++					"@@spirv-cross@@/lib",
++					"@@spirv-tools@@/lib",
++				);
+ 				MACH_O_TYPE = staticlib;
+ 				MACOSX_DEPLOYMENT_TARGET = 10.11;
++				OTHER_CFLAGS = (
++					"-isystem",
++					"@@libcxx@@/include/c++/v1",
++				);
+ 				PRODUCT_NAME = MoltenVKShaderConverter;
+ 				SKIP_INSTALL = YES;
+ 				TVOS_DEPLOYMENT_TARGET = 9.0;
diff --git a/pkgs/os-specific/darwin/moltenvk/createDylib.patch b/pkgs/os-specific/darwin/moltenvk/createDylib.patch
new file mode 100644
index 00000000000..b4a990cd989
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/createDylib.patch
@@ -0,0 +1,13 @@
+diff --git a/Scripts/create_dylib.sh b/Scripts/create_dylib.sh
+index 5ba75f67..a0405067 100755
+--- a/Scripts/create_dylib.sh
++++ b/Scripts/create_dylib.sh
+@@ -57,6 +57,8 @@ ${MVK_SAN} \
+ -framework Metal ${MVK_IOSURFACE_FWK} -framework ${MVK_UX_FWK} -framework QuartzCore -framework CoreGraphics ${MVK_IOKIT_FWK} -framework Foundation \
+ --library-directory ${MVK_USR_LIB_DIR} \
+ -o "${MVK_BUILT_PROD_DIR}/dynamic/${MVK_DYLIB_NAME}" \
++-L@@sourceRoot@@/outputs/lib -L@@glslang@@/lib -L@@spirv-tools@@/lib -L@@spirv-cross@@/lib \
++-lobjc -lMoltenVKShaderConverter -lGenericCodeGen -lMachineIndependent -lOGLCompiler -lOSDependent -lSPIRV -lSPIRV-Tools -lSPIRV-Tools-opt -lspirv-cross-core -lspirv-cross-glsl -lspirv-cross-msl -lspirv-cross-reflect \
+ -force_load "${MVK_BUILT_PROD_DIR}/lib${PRODUCT_NAME}.a"
+
+ if test "$CONFIGURATION" = Debug; then
diff --git a/pkgs/os-specific/darwin/moltenvk/default.nix b/pkgs/os-specific/darwin/moltenvk/default.nix
new file mode 100644
index 00000000000..ba8bc605e8b
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/default.nix
@@ -0,0 +1,200 @@
+{ lib
+, stdenv
+, stdenvNoCC
+, fetchurl
+, fetchFromGitHub
+, cctools
+, sigtool
+, cereal
+, glslang
+, spirv-cross
+, spirv-headers
+, spirv-tools
+, vulkan-headers
+, AppKit
+, Foundation
+, Metal
+, QuartzCore
+}:
+
+# Even though the derivation is currently impure, it is written to build successfully using
+# `xcbuild`.  Once the SDK on x86_64-darwin is updated, it should be possible to switch from being
+# an impure derivation.
+#
+# The `sandboxProfile` was copied from the iTerm2 derivation.  In order to build you at least need
+# the `sandbox` option set to `relaxed` or `false`.  Xcode should be available in the default
+# location.
+let
+  libcxx.dev = "/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr";
+in
+stdenvNoCC.mkDerivation rec {
+  pname = "MoltenVK";
+  version = "1.1.8";
+
+  buildInputs = [
+    AppKit
+    Foundation
+    Metal
+    QuartzCore
+  ];
+
+  outputs = [ "out" "bin" ];
+
+  # MoltenVK requires specific versions of its dependencies.
+  # Pin them here except for cereal, which is four years old and has several CVEs.
+  passthru = {
+    glslang = (glslang.overrideAttrs (old: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "glslang";
+        rev = "90d4bd05cd77ef5782a6779a0fe3d084440dc80d";
+        hash = "sha256-Q0sk4bPj/skPat1n4GJyuXAlZqpfEn4Td8Bm2IBNUqE=";
+      };
+    })).override {
+      inherit (passthru) spirv-headers spirv-tools;
+    };
+    spirv-cross = spirv-cross.overrideAttrs (old: {
+      cmakeFlags = (old.cmakeFlags or [ ]) ++ [
+        "-DSPIRV_CROSS_NAMESPACE_OVERRIDE=MVK_spirv_cross"
+      ];
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "SPIRV-Cross";
+        rev = "131278458ea8eebe6a6e9c476fbcf71278726e1a";
+        hash = "sha256-LrRYDFGv3Zxfy4qRNLwM2OOa8jbcq0ttPxDamCH21xU=";
+      };
+    });
+    spirv-headers = spirv-headers.overrideAttrs (_: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "spirv-headers";
+        rev = "b42ba6d92faf6b4938e6f22ddd186dbdacc98d78";
+        hash = "sha256-ks9JCj5rj+Xu++7z5RiHDkU3/sFXhcScw8dATfB/ot0";
+      };
+    });
+    spirv-tools = (spirv-tools.overrideAttrs (old: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "spirv-tools";
+        rev = "45dd184c790d6bfc78a5a74a10c37e888b1823fa";
+        hash = "sha256-DSqZlwfNTbN4fyIrVBKltm5U2U4GthW3L+Ksw4lSVG8=";
+      };
+      meta = old.meta // {
+        platforms = old.meta.platforms ++ lib.platforms.darwin;
+      };
+    })).override {
+      inherit (passthru) spirv-headers;
+    };
+    vulkan-headers = vulkan-headers.overrideAttrs (old: {
+      src = fetchFromGitHub {
+        owner = "KhronosGroup";
+        repo = "Vulkan-Headers";
+        rev = "1dace16d8044758d32736eb59802d171970e9448";
+        hash = "sha256-C6YgxWcinI3QumcWmoJaiTAf0u6jSDc8sCIarn2t04k";
+      };
+      meta = old.meta // {
+        platforms = old.meta.platforms ++ lib.platforms.darwin;
+      };
+    });
+  };
+
+  src = fetchFromGitHub {
+    owner = "KhronosGroup";
+    repo = "MoltenVK";
+    rev = "v${version}";
+    hash = "sha256-IfTBtA2fM7YN4qaSDUTfsiCXzn+omSV6oroL1ivKiVA=";
+  };
+
+  patches = [
+    # Specify the libraries to link directly since XCFrameworks are not being used.
+    ./createDylib.patch
+    # Move `mvkGitRevDerived.h` to a stable location
+    ./gitRevHeaderStability.patch
+    # Fix the Xcode projects to play nicely with `xcbuild`.
+    ./MoltenVKShaderConverter.xcodeproj.patch
+    ./MoltenVK.xcodeproj.patch
+  ];
+
+  postPatch = ''
+    substituteInPlace MoltenVKShaderConverter/MoltenVKShaderConverter.xcodeproj/project.pbxproj \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace @@libcxx@@ "${libcxx.dev}" \
+      --replace @@glslang@@ "${passthru.glslang}" \
+      --replace @@spirv-cross@@ "${passthru.spirv-cross}" \
+      --replace @@spirv-tools@@ "${passthru.glslang.spirv-tools}" \
+      --replace @@spirv-headers@@ "${passthru.glslang.spirv-headers}"
+    substituteInPlace MoltenVK/MoltenVK.xcodeproj/project.pbxproj \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace @@libcxx@@ "${libcxx.dev}" \
+      --replace @@cereal@@ "${cereal}" \
+      --replace @@spirv-cross@@ "${passthru.spirv-cross}" \
+      --replace @@vulkan-headers@@ "${passthru.vulkan-headers}"
+    substituteInPlace Scripts/create_dylib.sh \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace @@glslang@@ "${passthru.glslang}" \
+      --replace @@spirv-tools@@ "${passthru.glslang.spirv-tools}" \
+      --replace @@spirv-cross@@ "${passthru.spirv-cross}"
+    substituteInPlace Scripts/gen_moltenvk_rev_hdr.sh \
+      --replace @@sourceRoot@@ $(pwd) \
+      --replace '$(git rev-parse HEAD)' ${src.rev}
+  '';
+
+  dontConfigure = true;
+
+  buildPhase = ''
+    # Build each project on its own because `xcbuild` fails to build `MoltenVKPackaging.xcodeproj`.
+    derived_data_path=$(pwd)/DerivedData
+    pushd MoltenVKShaderConverter
+      /usr/bin/xcodebuild build \
+        -jobs $NIX_BUILD_CORES \
+        -derivedDataPath "$derived_data_path" \
+        -configuration Release \
+        -project MoltenVKShaderConverter.xcodeproj \
+        -scheme MoltenVKShaderConverter \
+        -arch ${stdenv.targetPlatform.darwinArch}
+    popd
+    mkdir -p outputs/bin outputs/lib
+    declare -A outputs=( [MoltenVKShaderConverter]=bin [libMoltenVKShaderConverter.a]=lib )
+    for output in "''${!outputs[@]}"; do
+      cp DerivedData/Build/Products/Release/$output "outputs/''${outputs[$output]}/$output"
+    done
+
+    pushd MoltenVK
+      /usr/bin/xcodebuild build \
+        -jobs $NIX_BUILD_CORES \
+        -derivedDataPath "$derived_data_path" \
+        -configuration Release \
+        -project MoltenVK.xcodeproj \
+        -scheme MoltenVK-macOS \
+        -arch ${stdenv.targetPlatform.darwinArch}
+    popd
+    cp DerivedData/Build/Products/Release/dynamic/libMoltenVK.dylib outputs/lib/libMoltenVK.dylib
+  '';
+
+  installPhase = ''
+    mkdir -p "$out/lib" "$out/share/vulkan/icd.d" "$bin/bin"
+    cp outputs/bin/MoltenVKShaderConverter "$bin/bin/"
+    cp outputs/lib/libMoltenVK.dylib "$out/lib/"
+    ${cctools}/bin/install_name_tool -id "$out/lib/libMoltenVK.dylib" "$out/lib/libMoltenVK.dylib"
+    # FIXME: https://github.com/NixOS/nixpkgs/issues/148189
+    /usr/bin/codesign -s - -f "$out/lib/libMoltenVK.dylib"
+    install -m644 MoltenVK/icd/MoltenVK_icd.json "$out/share/vulkan/icd.d/MoltenVK_icd.json"
+    substituteInPlace $out/share/vulkan/icd.d/MoltenVK_icd.json \
+      --replace ./libMoltenVK.dylib "$out/share/vulkan/icd.d/MoltenVK_icd.json"
+  '';
+
+  sandboxProfile = ''
+    (allow file-read* file-write* process-exec mach-lookup)
+    ; block homebrew dependencies
+    (deny file-read* file-write* process-exec mach-lookup (subpath "/usr/local") (with no-log))
+  '';
+
+  meta = {
+    description = "A Vulkan Portability implementation built on top of Apple’s Metal API";
+    homepage = "https://github.com/KhronosGroup/MoltenVK";
+    changelog = "https://github.com/KhronosGroup/MoltenVK/releases";
+    maintainers = [ lib.maintainers.reckenrode ];
+    license = lib.licenses.asl20;
+    platforms = lib.platforms.darwin;
+  };
+}
diff --git a/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch b/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch
new file mode 100644
index 00000000000..e28b9ee70b6
--- /dev/null
+++ b/pkgs/os-specific/darwin/moltenvk/gitRevHeaderStability.patch
@@ -0,0 +1,14 @@
+diff --git a/Scripts/gen_moltenvk_rev_hdr.sh b/Scripts/gen_moltenvk_rev_hdr.sh
+index c49ea4e6..9b7d13d1 100755
+--- a/Scripts/gen_moltenvk_rev_hdr.sh
++++ b/Scripts/gen_moltenvk_rev_hdr.sh
+@@ -2,7 +2,7 @@
+
+ # Record the MoltenVK GIT revision as a derived header file suitable for including in a build
+ MVK_GIT_REV=$(git rev-parse HEAD)
+-MVK_HDR_FILE="${BUILT_PRODUCTS_DIR}/mvkGitRevDerived.h"
++MVK_HDR_FILE="@@sourceRoot@@/outputs/include/mvkGitRevDerived.h"
++mkdir -p $(dirname ${MVK_HDR_FILE})
+ echo "// Auto-generated by MoltenVK" > "${MVK_HDR_FILE}"
+ echo "static const char* mvkRevString = \"${MVK_GIT_REV}\";" >> "${MVK_HDR_FILE}"
+-
diff --git a/pkgs/os-specific/darwin/sketchybar/default.nix b/pkgs/os-specific/darwin/sketchybar/default.nix
new file mode 100644
index 00000000000..be44db38fe1
--- /dev/null
+++ b/pkgs/os-specific/darwin/sketchybar/default.nix
@@ -0,0 +1,44 @@
+{ lib, stdenv, fetchFromGitHub, Carbon, Cocoa, SkyLight }:
+
+let
+  inherit (stdenv.hostPlatform) system;
+  target = {
+    "aarch64-darwin" = "arm";
+    "x86_64-darwin" = "x86";
+  }.${system} or (throw "Unsupported system: ${system}");
+in
+
+stdenv.mkDerivation rec {
+  pname = "sketchybar";
+  version = "2.4.3";
+
+  src = fetchFromGitHub {
+    owner = "FelixKratz";
+    repo = "SketchyBar";
+    rev = "v${version}";
+    sha256 = "1370xjl8sas5nghxgjxmc1zgskf28g40pv7nxgh37scjwdrkrrvb";
+  };
+
+  buildInputs = [ Carbon Cocoa SkyLight ];
+
+  postPatch = ''
+    sed -i -e '/^#include <malloc\/_malloc.h>/d' src/*.[ch] src/*/*.[ch]
+  '';
+
+  makeFlags = [
+    target
+  ];
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ./bin/sketchybar_${target} $out/bin/sketchybar
+  '';
+
+  meta = with lib; {
+    description = "A highly customizable macOS status bar replacement";
+    homepage = "https://github.com/FelixKratz/SketchyBar";
+    platforms = platforms.darwin;
+    maintainers = [ maintainers.azuwis ];
+    license = licenses.gpl3;
+  };
+}
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch b/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch
new file mode 100644
index 00000000000..b17df9a492e
--- /dev/null
+++ b/pkgs/os-specific/linux/alsa-project/alsa-lib/alsa-plugin-conf-multilib.patch
@@ -0,0 +1,232 @@
+diff --git a/src/control/control.c b/src/control/control.c
+index d66ed75..42cecad 100644
+--- a/src/control/control.c
++++ b/src/control/control.c
+@@ -838,6 +838,10 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ #ifndef PIC
+ 	extern void *snd_control_open_symbols(void);
+ #endif
++
++	snd_config_t *libs = NULL;
++	const char *libs_lib = NULL;
++
+ 	if (snd_config_get_type(ctl_conf) != SND_CONFIG_TYPE_COMPOUND) {
+ 		if (name)
+ 			SNDERR("Invalid type for CTL %s definition", name);
+@@ -879,6 +883,19 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 					SNDERR("Invalid type for %s", id);
+ 					goto _err;
+ 				}
++
++				continue;
++			}
++			// Handle an array of extra libs.
++			if (strcmp(id, "libs") == 0) {
++				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
++					SNDERR("Invalid type for libs definition in CTL %s definition",
++						str);
++					goto _err;
++				}
++
++				libs = n;
++
+ 				continue;
+ 			}
+ 			if (strcmp(id, "open") == 0) {
+@@ -903,7 +920,62 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 		open_name = buf;
+ 		sprintf(buf, "_snd_ctl_%s_open", str);
+ 	}
+-	if (!lib) {
++
++#ifndef PIC
++	snd_control_open_symbols();
++#endif
++
++	// Normal alsa behaviour when there is no libs array.
++	if (!libs) {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
++		}
++	}
++	// Handle libs array.
++	// Suppresses error messages if any function is loaded successfully.
++	else {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
++		}
++
++		if (!open_func) {
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				err = snd_config_get_string(n, &libs_lib);
++				if (err < 0) {
++					SNDERR("Invalid entry in CTL %s libs definition", str);
++					goto _err;
++				}
++
++				if (!open_func) {
++					open_func = snd_dlobj_cache_get(libs_lib, open_name,
++						SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 0);
++				}
++			}
++		}
++
++		// Print error messages.
++		if (!open_func) {
++			if (lib) {
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					lib, open_name);
++			}
++
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				snd_config_get_string(n, &libs_lib);
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					libs_lib, open_name);
++			}
++		}
++	}
++
++	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
++	if (!lib && (!libs || !libs_lib)) {
+ 		const char *const *build_in = build_in_ctls;
+ 		while (*build_in) {
+ 			if (!strcmp(*build_in, str))
+@@ -919,12 +991,11 @@ static int snd_ctl_open_conf(snd_ctl_t **ctlp, const char *name,
+ 			lib = buf1;
+ 			sprintf(buf1, "%s/libasound_module_ctl_%s.so", ALSA_PLUGIN_DIR, str);
+ 		}
+-	}
+-#ifndef PIC
+-	snd_control_open_symbols();
+-#endif
+-	open_func = snd_dlobj_cache_get(lib, open_name,
++
++		open_func = snd_dlobj_cache_get(lib, open_name,
+ 			SND_DLSYM_VERSION(SND_CONTROL_DLSYM_VERSION), 1);
++	}
++
+ 	if (open_func) {
+ 		err = open_func(ctlp, name, ctl_root, ctl_conf, mode);
+ 		if (err >= 0) {
+diff --git a/src/pcm/pcm.c b/src/pcm/pcm.c
+index 2e24338..7f489f4 100644
+--- a/src/pcm/pcm.c
++++ b/src/pcm/pcm.c
+@@ -2116,6 +2116,10 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ #ifndef PIC
+ 	extern void *snd_pcm_open_symbols(void);
+ #endif
++
++	snd_config_t *libs = NULL;
++	const char *libs_lib = NULL;
++
+ 	if (snd_config_get_type(pcm_conf) != SND_CONFIG_TYPE_COMPOUND) {
+ 		char *val;
+ 		id = NULL;
+@@ -2160,6 +2164,19 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 					SNDERR("Invalid type for %s", id);
+ 					goto _err;
+ 				}
++
++				continue;
++			}
++			// Handle an array of extra libs.
++			if (strcmp(id, "libs") == 0) {
++				if (snd_config_get_type(n) != SND_CONFIG_TYPE_COMPOUND) {
++					SNDERR("Invalid type for libs definition in PCM %s definition",
++						str);
++					goto _err;
++				}
++
++				libs = n;
++
+ 				continue;
+ 			}
+ 			if (strcmp(id, "open") == 0) {
+@@ -2184,7 +2201,62 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 		open_name = buf;
+ 		sprintf(buf, "_snd_pcm_%s_open", str);
+ 	}
+-	if (!lib) {
++
++#ifndef PIC
++	snd_pcm_open_symbols();	/* this call is for static linking only */
++#endif
++
++	// Normal alsa behaviour when there is no libs array.
++	if (!libs) {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
++		}
++	}
++	// Handle libs array.
++	// Suppresses error messages if any function is loaded successfully.
++	else {
++		if (lib) {
++			open_func = snd_dlobj_cache_get(lib, open_name,
++				SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
++		}
++
++		if (!open_func) {
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				err = snd_config_get_string(n, &libs_lib);
++				if (err < 0) {
++					SNDERR("Invalid entry in PCM %s libs definition", str);
++					goto _err;
++				}
++
++				if (!open_func) {
++					open_func = snd_dlobj_cache_get(libs_lib, open_name,
++						SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 0);
++				}
++			}
++		}
++
++		// Print error messages.
++		if (!open_func) {
++			if (lib) {
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					lib, open_name);
++			}
++
++			snd_config_for_each(i, next, libs) {
++				snd_config_t *n = snd_config_iterator_entry(i);
++
++				snd_config_get_string(n, &libs_lib);
++				SNDERR("Either %s cannot be opened or %s was not defined inside",
++					libs_lib, open_name);
++			}
++		}
++	}
++
++	// Look in ALSA_PLUGIN_DIR iff we found nowhere else to look.
++	if (!lib && (!libs || !libs_lib)) {
+ 		const char *const *build_in = build_in_pcms;
+ 		while (*build_in) {
+ 			if (!strcmp(*build_in, str))
+@@ -2200,12 +2272,11 @@ static int snd_pcm_open_conf(snd_pcm_t **pcmp, const char *name,
+ 			lib = buf1;
+ 			sprintf(buf1, "%s/libasound_module_pcm_%s.so", ALSA_PLUGIN_DIR, str);
+ 		}
+-	}
+-#ifndef PIC
+-	snd_pcm_open_symbols();	/* this call is for static linking only */
+-#endif
+-	open_func = snd_dlobj_cache_get(lib, open_name,
++
++		open_func = snd_dlobj_cache_get(lib, open_name,
+ 			SND_DLSYM_VERSION(SND_PCM_DLSYM_VERSION), 1);
++	}
++
+ 	if (open_func) {
+ 		err = open_func(pcmp, name, pcm_root, pcm_conf, stream, mode);
+ 		if (err >= 0) {
diff --git a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
index 445d171d31f..58e5990ae0a 100644
--- a/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
+++ b/pkgs/os-specific/linux/alsa-project/alsa-lib/default.nix
@@ -14,6 +14,14 @@ stdenv.mkDerivation rec {
     hash = "sha256-rVgpk9Us21+xWaC+q2CmrFfqsMwb34XcTbbWGX8CMz8=";
   };
 
+  patches = [
+    # Add a "libs" field to the syntax recognized in the /etc/asound.conf file.
+    # The nixos modules for pulseaudio, jack, and pipewire are leveraging this
+    # "libs" field to declare locations for both native and 32bit plugins, in
+    # order to support apps with 32bit sound running on x86_64 architecture.
+    ./alsa-plugin-conf-multilib.patch
+  ];
+
   enableParallelBuilding = true;
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/anbox/default.nix b/pkgs/os-specific/linux/anbox/default.nix
index d684e24db91..2a98aa82ebb 100644
--- a/pkgs/os-specific/linux/anbox/default.nix
+++ b/pkgs/os-specific/linux/anbox/default.nix
@@ -49,13 +49,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "anbox";
-  version = "unstable-2020-11-29";
+  version = "unstable-2021-10-20";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    rev = "6c10125a7f13908d2cbe56d2d9ab09872755f265";
-    sha256 = "00bqssh4zcs0jj6w07b91719xkrpdw75vpcplwrvlhwsvl55f901";
+    rev = "84f0268012cbe322ad858d76613f4182074510ac";
+    sha256 = "sha256-QXWhatewiUDQ93cH1UZsYgbjUxpgB1ajtGFYZnKmabc=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/os-specific/linux/apparmor/default.nix b/pkgs/os-specific/linux/apparmor/default.nix
index 8e95c44f95c..5c1cf272e0e 100644
--- a/pkgs/os-specific/linux/apparmor/default.nix
+++ b/pkgs/os-specific/linux/apparmor/default.nix
@@ -304,10 +304,10 @@ let
     meta = apparmor-meta "kernel patches";
   };
 
-  # Generate generic AppArmor rules in a file,
-  # from the closure of given rootPaths.
-  # To be included in an AppArmor profile like so:
-  # include "$(apparmorRulesFromClosure {} [pkgs.hello]}"
+  # Generate generic AppArmor rules in a file, from the closure of given
+  # rootPaths. To be included in an AppArmor profile like so:
+  #
+  #   include "${apparmorRulesFromClosure { } [ pkgs.hello ]}"
   apparmorRulesFromClosure =
     { # The store path of the derivation is given in $path
       additionalRules ? []
diff --git a/pkgs/os-specific/linux/bcc/default.nix b/pkgs/os-specific/linux/bcc/default.nix
index caeaed455f7..d6e4b059088 100644
--- a/pkgs/os-specific/linux/bcc/default.nix
+++ b/pkgs/os-specific/linux/bcc/default.nix
@@ -7,7 +7,7 @@
 
 python.pkgs.buildPythonApplication rec {
   pname = "bcc";
-  version = "0.23.0";
+  version = "0.24.0";
 
   disabled = !stdenv.isLinux;
 
@@ -15,7 +15,7 @@ python.pkgs.buildPythonApplication rec {
     owner = "iovisor";
     repo = "bcc";
     rev = "v${version}";
-    sha256 = "sha256-iLVUwJTDQ8Bn38sgHOcIR8TYxIB+gIlfTgr9+gPU0gE=";
+    sha256 = "sha256-5Nq6LmphiyiiIyru/P2rCCmA25cwJIWn08oK1+eM3cQ=";
   };
   format = "other";
 
diff --git a/pkgs/os-specific/linux/cryptsetup/default.nix b/pkgs/os-specific/linux/cryptsetup/default.nix
index 939a7115e89..27f32c64813 100644
--- a/pkgs/os-specific/linux/cryptsetup/default.nix
+++ b/pkgs/os-specific/linux/cryptsetup/default.nix
@@ -6,6 +6,7 @@ stdenv.mkDerivation rec {
   version = "2.4.3";
 
   outputs = [ "out" "dev" "man" ];
+  separateDebugInfo = true;
 
   src = fetchurl {
     url = "mirror://kernel/linux/utils/cryptsetup/v2.4/${pname}-${version}.tar.xz";
diff --git a/pkgs/os-specific/linux/dddvb/default.nix b/pkgs/os-specific/linux/dddvb/default.nix
new file mode 100644
index 00000000000..63849173eae
--- /dev/null
+++ b/pkgs/os-specific/linux/dddvb/default.nix
@@ -0,0 +1,39 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, kernel
+}:
+
+stdenv.mkDerivation rec {
+  pname = "dddvb";
+  version = "0.9.33-404-ge9ccab3";
+
+  src = fetchFromGitHub {
+    owner = "DigitalDevices";
+    repo = "dddvb";
+    rev = "e9ccab3578965234c0ea38c5b30969f33600561d";
+    sha256 = "sha256-gOG+dAeQ++kTC5xaEpsr3emz3s6FXiKeCHmA9shYBJk=";
+  };
+
+  postPatch = ''
+    sed -i '/depmod/d' Makefile
+  '';
+
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  makeFlags = [
+    "KDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  INSTALL_MOD_PATH = placeholder "out";
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://github.com/DigitalDevices/dddvb";
+    description = "ddbridge linux driver";
+    license = licenses.gpl2Only;
+    maintainers = with maintainers; [ hexa ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/displaylink/default.nix b/pkgs/os-specific/linux/displaylink/default.nix
index 965a3e7e523..f1e942a4399 100644
--- a/pkgs/os-specific/linux/displaylink/default.nix
+++ b/pkgs/os-specific/linux/displaylink/default.nix
@@ -51,7 +51,7 @@ stdenv.mkDerivation rec {
   installPhase = ''
     install -Dt $out/lib/displaylink *.spkg
     install -Dm755 ${bins}/DisplayLinkManager $out/bin/DisplayLinkManager
-    mkdir -p $out/lib/udev/rules.d
+    mkdir -p $out/lib/udev/rules.d $out/share
     cp ${./99-displaylink.rules} $out/lib/udev/rules.d/99-displaylink.rules
     patchelf \
       --set-interpreter $(cat ${stdenv.cc}/nix-support/dynamic-linker) \
@@ -59,6 +59,9 @@ stdenv.mkDerivation rec {
       $out/bin/DisplayLinkManager
     wrapProgram $out/bin/DisplayLinkManager \
       --run "cd $out/lib/displaylink"
+
+    # We introduce a dependency on the source file so that it need not be redownloaded everytime
+    echo $src >> "$out/share/workspace_dependencies.pin"
   '';
 
   dontStrip = true;
diff --git a/pkgs/os-specific/linux/extrace/default.nix b/pkgs/os-specific/linux/extrace/default.nix
index 1eac5997bf3..e4afe6f8503 100644
--- a/pkgs/os-specific/linux/extrace/default.nix
+++ b/pkgs/os-specific/linux/extrace/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "extrace";
-  version = "0.8";
+  version = "0.9";
 
   src = fetchFromGitHub {
     owner = "leahneukirchen";
     repo = "extrace";
     rev = "v${version}";
-    sha256 = "sha256-Kg5yzVg9sqlOCzAq/HeFUPZ89Enfkt/r7EunCfOqdA0=";
+    hash = "sha256-Jy/Ac3NcqBkW0kHyypMAVUGAQ41qWM96BbLAym06ogM=";
   };
 
-  makeFlags = [ "PREFIX=$(out)" ];
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
 
   postInstall = ''
     install -dm755 "$out/share/licenses/extrace/"
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://github.com/leahneukirchen/extrace";
     description = "Trace exec() calls system-wide";
-    license = with licenses; [ gpl2 bsd2 ];
+    license = with licenses; [ gpl2Plus bsd2 ];
     platforms = platforms.linux;
     maintainers = [ maintainers.leahneukirchen ];
   };
diff --git a/pkgs/os-specific/linux/firmware/firmware-updater/default.nix b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
new file mode 100644
index 00000000000..02b549dd9ea
--- /dev/null
+++ b/pkgs/os-specific/linux/firmware/firmware-updater/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, flutter
+, fetchFromGitHub
+}:
+
+flutter.mkFlutterApp {
+  pname = "firmware-updater";
+  version = "unstable";
+
+  vendorHash = "sha256-L8am4vTx4KlMHUdIhrUsCxGc27vkolawS/9DyFCPOJQ=";
+
+  src = fetchFromGitHub {
+    owner = "canonical";
+    repo = "firmware-updater";
+    rev = "a51817a2551e29895352618a91df9cf93d944af1";
+    sha256 = "6uhks6a9JcyIC5o0VssqfBlE4pqKiQ7d3KOb6feNTvU=";
+    fetchSubmodules = true;
+  };
+
+  meta = with lib; {
+    description = "Firmware Updater for Linux";
+    homepage = "https://github.com/canonical/firmware-updater";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ mkg20001 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix b/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
index 0e74b32b3b6..bd9f0d2474e 100644
--- a/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
+++ b/pkgs/os-specific/linux/firmware/fwupd-efi/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fwupd-efi";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchurl {
     url = "https://people.freedesktop.org/~hughsient/releases/${pname}-${version}.tar.xz";
-    sha256 = "1w879qxlnsaz5xyp168a08f2p8yrgfpkfycls28jw8qxmz6g20aw";
+    sha256 = "sha256-aRx38RwhAQSNjauvY8bQ/iLPrQ5dQyIEHJurzrr86z8=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
index 439cfb03a3b..4aff785b855 100644
--- a/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/linux-firmware/default.nix
@@ -2,12 +2,12 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "linux-firmware";
-  version = "20211216";
+  version = "20220209";
 
   src = fetchgit {
     url = "https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git";
     rev = "refs/tags/${version}";
-    sha256 = "sha256-Q5TPtSbETDDRVKFfwQOp+GGsTGpTpGU5PQ5QkJCtWcM=";
+    sha256 = "sha256-QWGnaGQrDUQeYUIBq0/63YdHZgyaF4s9fdyLA9bb6qs=";
   };
 
   installFlags = [ "DESTDIR=$(out)" ];
@@ -17,7 +17,7 @@ stdenvNoCC.mkDerivation rec {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "sha256-nyhxyDVO7tWkCD7fMjwiFNuMSh5e/z5w71CIZw3SJH8=";
+  outputHash = "sha256-ahXZK13wrcZW/8ZCgUTHU6N4QKsL3NV98eRbYGBp3jw=";
 
   meta = with lib; {
     description = "Binary firmware collection packaged by kernel.org";
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
index ba8df751511..4ade35845ec 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi-wireless/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation {
   pname = "raspberrypi-wireless-firmware";
-  version = "2021-06-28";
+  version = "2021-11-02";
 
   srcs = [
     (fetchFromGitHub {
@@ -16,8 +16,8 @@ stdenv.mkDerivation {
       name = "firmware-nonfree";
       owner = "RPi-Distro";
       repo = "firmware-nonfree";
-      rev = "00de3194a96397c913786945ac0af1fd6fbec45b";
-      sha256 = "1xnr364dkiq6gmr21lcrj23hwc0g9y5qad8dm2maij647bgzp07r";
+      rev = "54ffdd6e2ea6055d46656b78e148fe7def3ec9d8";
+      sha256 = "4WTrs/tUyOugufRrrh0qsEmhPclQD64ypYysxsnOyS8=";
     })
   ];
 
@@ -32,7 +32,8 @@ stdenv.mkDerivation {
     mkdir -p "$out/lib/firmware/brcm"
 
     # Wifi firmware
-    for filename in firmware-nonfree/brcm/brcmfmac434??-sdio.*; do
+    shopt -s extglob
+    for filename in firmware-nonfree/brcm/brcmfmac434??{,s}-sdio.*; do
       cp "$filename" "$out/lib/firmware/brcm"
     done
 
@@ -43,7 +44,7 @@ stdenv.mkDerivation {
 
   outputHashMode = "recursive";
   outputHashAlgo = "sha256";
-  outputHash = "0a54gyrq6jfxxvimaa4yjfiyfwf7wv58v0a32l74yrzyarr3ldby";
+  outputHash = "l+7VOq7CV5QA8/FWjMBGDcxq8Qe7NFf6E2Y42htZEgE=";
 
   meta = with lib; {
     description = "Firmware for builtin Wifi/Bluetooth devices in the Raspberry Pi 3+ and Zero W";
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix b/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix
index 9934f51487d..7143d0b55a2 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/armstubs.nix
@@ -5,13 +5,13 @@ let
 in
 stdenv.mkDerivation {
   pname = "raspberrypi-armstubs";
-  version = "2021-07-05";
+  version = "2021-11-01";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "tools";
-    rev = "2e59fc67d465510179155973d2b959e50a440e47";
-    sha256 = "1ysdl4qldy6ldf8cm1igxjisi14xl3s2pi6cnqzpxb38sgihb1vy";
+    rev = "13474ee775d0c5ec8a7da4fb0a9fa84187abfc87";
+    sha256 = "s/RPMIpQSznoQfchAP9gpO7I2uuTsOV0Ep4vVz7i2o4=";
   };
 
   NIX_CFLAGS_COMPILE = [
diff --git a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
index 29c1859121e..7f0eef05dc4 100644
--- a/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
+++ b/pkgs/os-specific/linux/firmware/raspberrypi/default.nix
@@ -1,20 +1,20 @@
-{ lib, stdenvNoCC, fetchFromGitHub }:
+{ lib, stdenvNoCC, fetchurl, unzip }:
 
 stdenvNoCC.mkDerivation rec {
   # NOTE: this should be updated with linux_rpi
   pname = "raspberrypi-firmware";
-  version = "1.20210805";
+  version = "1.20220118";
 
-  src = fetchFromGitHub {
-    owner = "raspberrypi";
-    repo = "firmware";
-    rev = version;
-    sha256 = "1nndhjv4il42yw3pq8ni3r4nlp1m0r229fadrf4f9v51mgcg11i1";
+  src = fetchurl {
+    url = "https://github.com/raspberrypi/firmware/archive/${version}.zip";
+    sha256 = "sha256-98rbwKIuB7vb4MWbFCr7TYsvJB0HzPdH8Tw0+bktK/M=";
   };
 
+  nativeBuildInputs = [ unzip ];
+
   installPhase = ''
-    mkdir -p $out/share/raspberrypi/boot
-    cp -R boot/* $out/share/raspberrypi/boot
+    mkdir -p $out/share/raspberrypi/
+    mv boot "$out/share/raspberrypi/"
   '';
 
   dontConfigure = true;
diff --git a/pkgs/os-specific/linux/firmware/system76-firmware/default.nix b/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
index 73b9cf08b80..5ec2bd70fdb 100644
--- a/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
+++ b/pkgs/os-specific/linux/firmware/system76-firmware/default.nix
@@ -2,13 +2,13 @@
 rustPlatform.buildRustPackage rec {
   pname = "system76-firmware";
   # Check Makefile when updating, make sure postInstall matches make install
-  version = "1.0.31";
+  version = "1.0.32";
 
   src = fetchFromGitHub {
     owner = "pop-os";
     repo = pname;
     rev = version;
-    sha256 = "sha256-agtaQ5Te4WcbIdCt8TDK4Y2y/9aHrDCUWuPRE5+aFjc=";
+    sha256 = "sha256-EV7byqfoz0sAIkf/hgZh+m7D2+54DEnE4td4CTX6c4s=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper ];
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
 
   cargoBuildFlags = [ "--workspace" ];
 
-  cargoSha256 = "sha256-QFHyrvLR1v09RNlXiO/E+blvxPukKwPRRX+vQvlZSNQ=";
+  cargoSha256 = "sha256-/bf5JQgyFN8TH7o2TWHX5sv/NkxBLJ495iVW8c9Vqis=";
 
   # Purposefully don't install systemd unit file, that's for NixOS
   postInstall = ''
diff --git a/pkgs/os-specific/linux/fscrypt/default.nix b/pkgs/os-specific/linux/fscrypt/default.nix
index 226c6e1c72a..e967dea1c3e 100644
--- a/pkgs/os-specific/linux/fscrypt/default.nix
+++ b/pkgs/os-specific/linux/fscrypt/default.nix
@@ -4,13 +4,13 @@
 
 buildGoModule rec {
   pname = "fscrypt";
-  version = "0.3.1";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "google";
     repo = "fscrypt";
     rev = "v${version}";
-    sha256 = "0gi91vm0ai4vjzj6cfnjsfy8kbfxjiq2n7jnbhf5470qbx49qixr";
+    hash = "sha256-kkcZuX8tB7N8l9O3X6H92EqEqdAcqSbX+pwr7GrcRFY=";
   };
 
   postPatch = ''
@@ -19,7 +19,7 @@ buildGoModule rec {
       --replace "/usr/local" "$out"
   '';
 
-  vendorSha256 = "1gw3q2pn8v6n9wkl5881rbxglislnr98a9gjqnqm894gnz7hfdzb";
+  vendorSha256 = "sha256-6zcHz7ePJFSxxfIlhVK2VEf6+soBoUInT9ZsZK/Ag78=";
 
   doCheck = false;
 
@@ -27,11 +27,15 @@ buildGoModule rec {
   buildInputs = [ pam ];
 
   buildPhase = ''
+    runHook preBuild
     make
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
     make install
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/gogoclient/config-paths.patch b/pkgs/os-specific/linux/gogoclient/config-paths.patch
deleted file mode 100644
index 88358038bc7..00000000000
--- a/pkgs/os-specific/linux/gogoclient/config-paths.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff -urN gogoc-1_2-RELEASE/gogoc-tsp/conf/gogoc.conf.in gogoc-1_2-RELEASE-fix/gogoc-tsp/conf/gogoc.conf.in
---- gogoc-1_2-RELEASE/gogoc-tsp/conf/gogoc.conf.in	2009-11-20 17:53:12.000000000 +0100
-+++ gogoc-1_2-RELEASE-fix/gogoc-tsp/conf/gogoc.conf.in	2012-02-25 15:16:12.758849219 +0100
-@@ -224,7 +224,7 @@
- #
- #   broker_list=<file_name>
- #  
--broker_list=tsp-broker-list.txt
-+broker_list=/var/lib/gogoc/tsp-broker-list.txt
- 
- #
- # Last Server Used File Name:
-@@ -234,7 +234,7 @@
- #
- #   last_server=<file_name>
- #
--last_server=tsp-last-server.txt
-+last_server=/var/lib/gogoc/tsp-last-server.txt
- 
- #
- # Always Use Last Known Working Server:
-@@ -294,7 +294,7 @@
- #
- #   log_filename=<file_name>
- #
--log_filename=gogoc.log
-+log_filename=/var/log/gogoc.log
- 
- #
- # Log File Rotation:
-@@ -313,7 +313,7 @@
- #
- #   log_rotation=<yes|no>
- #
--log_rotation=yes
-+log_rotation=no
- 
- #
- # Log File Rotation Size:
diff --git a/pkgs/os-specific/linux/gogoclient/default.nix b/pkgs/os-specific/linux/gogoclient/default.nix
deleted file mode 100644
index 75c0f1c3d1b..00000000000
--- a/pkgs/os-specific/linux/gogoclient/default.nix
+++ /dev/null
@@ -1,41 +0,0 @@
-{lib, stdenv, fetchurl, openssl, nettools, iproute2, sysctl}:
-
-stdenv.mkDerivation rec {
-  pname = "gogoclient";
-  version  = "1.2";
-
-  src = fetchurl {
-    #url = "http://gogo6.com/downloads/gogoc-1_2-RELEASE.tar.gz";
-    url = "https://src.fedoraproject.org/repo/pkgs/gogoc/gogoc-1_2-RELEASE.tar.gz/41177ed683cf511cc206c7782c37baa9/gogoc-1_2-RELEASE.tar.gz";
-    sha256 = "a0ef45c0bd1fc9964dc8ac059b7d78c12674bf67ef641740554e166fa99a2f49";
-  };
-  patches = [./gcc46-include-fix.patch ./config-paths.patch ];
-  makeFlags = ["target=linux"];
-  installFlags = ["installdir=$(out)"];
-
-  hardeningDisable = [ "format" ];
-
-  buildInputs = [openssl];
-
-  preFixup = ''
-    mkdir -p $out/share/gogoclient-${version}
-    chmod 444 $out/bin/gogoc.conf
-    mv $out/bin/gogoc.conf $out/share/gogoclient-${version}/gogoc.conf.sample
-    rm $out/bin/gogoc.conf.sample
-
-    substituteInPlace "$out/template/linux.sh" \
-      --replace "/sbin/ifconfig" "${nettools}/bin/ifconfig" \
-      --replace "/sbin/route"    "${nettools}/bin/route" \
-      --replace "/sbin/ip"       "${iproute2}/sbin/ip" \
-      --replace "/sbin/sysctl"   "${sysctl}/bin/sysctl"
-    sed -i -e 's/^.*Exec \$route -A.*$/& metric 128/' $out/template/linux.sh
-  '';
-
-  meta = with lib; {
-    homepage = "https://ipv6.ernet.in/Tunnel_broker";
-    description = "Client to connect to the Freenet6 IPv6 tunnel broker service";
-    maintainers = [ maintainers.bluescreen303 ];
-    license = licenses.bsd3;
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch b/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch
deleted file mode 100644
index 22ecad187d6..00000000000
--- a/pkgs/os-specific/linux/gogoclient/gcc46-include-fix.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff -urN gogoc-1_2-RELEASE/gogoc-messaging/src/clientmsgsender.cc gogoc-1_2-RELEASE-fix/gogoc-messaging/src/clientmsgsender.cc
---- gogoc-1_2-RELEASE/gogoc-messaging/src/clientmsgsender.cc	2009-11-20 17:34:55.000000000 +0100
-+++ gogoc-1_2-RELEASE-fix/gogoc-messaging/src/clientmsgsender.cc	2012-02-25 15:06:20.764698284 +0100
-@@ -15,6 +15,7 @@
- // **************************************************************************
- #include <gogocmessaging/clientmsgsender.h>
- #include <assert.h>
-+#include <stddef.h>
- 
- 
- namespace gogocmessaging
-diff -urN gogoc-1_2-RELEASE/gogoc-messaging/src/servermsgsender.cc gogoc-1_2-RELEASE-fix/gogoc-messaging/src/servermsgsender.cc
---- gogoc-1_2-RELEASE/gogoc-messaging/src/servermsgsender.cc	2009-11-20 17:34:56.000000000 +0100
-+++ gogoc-1_2-RELEASE-fix/gogoc-messaging/src/servermsgsender.cc	2012-02-25 15:06:36.722740288 +0100
-@@ -15,6 +15,7 @@
- // **************************************************************************
- #include <gogocmessaging/servermsgsender.h>
- #include <assert.h>
-+#include <stddef.h>
- 
- 
- namespace gogocmessaging
diff --git a/pkgs/os-specific/linux/hdparm/default.nix b/pkgs/os-specific/linux/hdparm/default.nix
index 300bb499f85..2b112a9590b 100644
--- a/pkgs/os-specific/linux/hdparm/default.nix
+++ b/pkgs/os-specific/linux/hdparm/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "hdparm";
-  version = "9.62";
+  version = "9.63";
 
   src = fetchurl {
     url = "mirror://sourceforge/hdparm/hdparm-${version}.tar.gz";
-    sha256 = "sha256-LA+ddc2+2pKKJaEozT0LcSBEXsCRDAsp1MEDjtG+d38=";
+    sha256 = "sha256-cHhd6uu6WHeonBI1aLQd7pkNpV/FFCDxP2CaEHKJlpE=";
   };
 
   preBuild = ''
diff --git a/pkgs/os-specific/linux/iotop-c/default.nix b/pkgs/os-specific/linux/iotop-c/default.nix
index 680bc53bd91..4ed45a99ce2 100644
--- a/pkgs/os-specific/linux/iotop-c/default.nix
+++ b/pkgs/os-specific/linux/iotop-c/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "iotop-c";
-  version = "1.20";
+  version = "1.21";
 
   src = fetchFromGitHub {
     owner = "Tomas-M";
     repo = "iotop";
     rev = "v${version}";
-    sha256 = "sha256-6Pg2CLWzsD6EPRKD2xMMgKFkpbSheiMMkd0BvHh9onA=";
+    sha256 = "sha256-Zzm0EV6baQvKPOC762mnieYe1JM7ZfNovKqFQt20jQ8=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/os-specific/linux/kernel-headers/default.nix b/pkgs/os-specific/linux/kernel-headers/default.nix
index 3c7e899cba7..83359844887 100644
--- a/pkgs/os-specific/linux/kernel-headers/default.nix
+++ b/pkgs/os-specific/linux/kernel-headers/default.nix
@@ -81,12 +81,12 @@ let
 in {
   inherit makeLinuxHeaders;
 
-  linuxHeaders = let version = "5.15.5"; in
+  linuxHeaders = let version = "5.16"; in
     makeLinuxHeaders {
       inherit version;
       src = fetchurl {
         url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-        sha256 = "sha256-6VZaMBUlrIHBQs64MvkFPdVoXhB9vPdT0N5MWLyYhR8=";
+        sha256 = "1fq86dbx2p124vi4j8nan68gj4zyw4xnqh4jxq9aqsdvi24pwz82";
       };
       patches = [
          ./no-relocs.patch # for building x86 kernel headers on non-ELF platforms
diff --git a/pkgs/os-specific/linux/kernel/hardened/patches.json b/pkgs/os-specific/linux/kernel/hardened/patches.json
index 881757efd38..2a923ee5783 100644
--- a/pkgs/os-specific/linux/kernel/hardened/patches.json
+++ b/pkgs/os-specific/linux/kernel/hardened/patches.json
@@ -2,51 +2,51 @@
     "4.14": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.14.264-hardened1.patch",
-            "sha256": "1zlsww0mqaw5cswwqjvc9magh2a31v6ii7a4ivdra6nsv1xrdimy",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.264-hardened1/linux-hardened-4.14.264-hardened1.patch"
+            "name": "linux-hardened-4.14.267-hardened1.patch",
+            "sha256": "0fd3x22j8i3w3knilh8v6sadw3pvl03vfzg9dpi2mgy6kxxxb3qv",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.14.267-hardened1/linux-hardened-4.14.267-hardened1.patch"
         },
-        "sha256": "1d1588f0zrq93dk9j8gmvfm9mlniyw98s0i3gmg2sa7h1p04pc2m",
-        "version": "4.14.264"
+        "sha256": "13hq4hcq686gdragjcgmz3m0kkk8abz5lna0ildaa9gybj43yd4c",
+        "version": "4.14.267"
     },
     "4.19": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-4.19.227-hardened1.patch",
-            "sha256": "127l8s1wb71iyb4iw1bxkxn48qcchz50qwjpx9r2vm81cihasxs7",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.227-hardened1/linux-hardened-4.19.227-hardened1.patch"
+            "name": "linux-hardened-4.19.230-hardened1.patch",
+            "sha256": "1yf65n69rlhl0cdgaaj45ylsjf8x4xrbvj0wfxfwd2kxwbjxp9jr",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/4.19.230-hardened1/linux-hardened-4.19.230-hardened1.patch"
         },
-        "sha256": "0d1jyyxdrpyi35033fjg8g6zz99ffry2ks1wlldfaxfa6wh9dp39",
-        "version": "4.19.227"
+        "sha256": "107sqv4izdnazscwhyam88vbinsvnd33z8agn4awc42hkqh9l20p",
+        "version": "4.19.230"
     },
     "5.10": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.10.96-hardened1.patch",
-            "sha256": "000mpwvyxkiw0kn0wdz8c97a39wafc8pia4rqraf7z21hbavbiav",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.96-hardened1/linux-hardened-5.10.96-hardened1.patch"
+            "name": "linux-hardened-5.10.101-hardened1.patch",
+            "sha256": "1nhxkzkhqff97lhc0piczn8v02hyva5gm004l79v31xklxhpc9r0",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.10.101-hardened1/linux-hardened-5.10.101-hardened1.patch"
         },
-        "sha256": "0j70nbsxy6qpynr3f9igl9wf14wx40diazf4j7w7mlwxh51a1r9m",
-        "version": "5.10.96"
+        "sha256": "13hwpb85dynbayghxs3ln3hbyh8djgl5fj63vxwc8izfny62aj87",
+        "version": "5.10.101"
     },
     "5.15": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.15.19-hardened1.patch",
-            "sha256": "0nkwf7dzvgm30hl24g8rpk3raqcxlplga0ksk8f9w7s87axpr5lm",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.19-hardened1/linux-hardened-5.15.19-hardened1.patch"
+            "name": "linux-hardened-5.15.24-hardened1.patch",
+            "sha256": "1lz4p2rvp1q9c4s6czqvwlhb2gkcix8vmg9gcyd4vpzjmd0dhws4",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.15.24-hardened1/linux-hardened-5.15.24-hardened1.patch"
         },
-        "sha256": "0l70ckc0imnn7x9p9dawprzblszadk79468wx3zqz951yb4k5gh1",
-        "version": "5.15.19"
+        "sha256": "0zx9big7n8gh6y14c05llxsqh543q0czjdrq906m8cc7r01yp5pl",
+        "version": "5.15.24"
     },
     "5.4": {
         "patch": {
             "extra": "-hardened1",
-            "name": "linux-hardened-5.4.176-hardened1.patch",
-            "sha256": "0w8zh2kcaclancivr65ij6mgbgyvf5vmlmf3mls4n1yj0ld15ghd",
-            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.176-hardened1/linux-hardened-5.4.176-hardened1.patch"
+            "name": "linux-hardened-5.4.180-hardened1.patch",
+            "sha256": "1cjxi6i8l5s2q54jiqpki4m25w9wp91yrbck86sxfr2ljhll0j1c",
+            "url": "https://github.com/anthraxx/linux-hardened/releases/download/5.4.180-hardened1/linux-hardened-5.4.180-hardened1.patch"
         },
-        "sha256": "0h67d34n8cwq60rv8nw0a7n9mkihs0cg0b5zl6ihfyjflqj0jq6r",
-        "version": "5.4.176"
+        "sha256": "07ckmgcqpr39bzpp8v60b2vkb03p8931k7sl3ywg6f00lvcbaf8n",
+        "version": "5.4.180"
     }
 }
diff --git a/pkgs/os-specific/linux/kernel/linux-4.14.nix b/pkgs/os-specific/linux/kernel/linux-4.14.nix
index 3b6262f4f97..8e00263a2e1 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.14.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.14.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.14.264";
+  version = "4.14.268";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1d1588f0zrq93dk9j8gmvfm9mlniyw98s0i3gmg2sa7h1p04pc2m";
+    sha256 = "1xdn247j5n3xzm93wr9ff75rg9hbp64ypfp5sf78hnkzm8m44qng";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.19.nix b/pkgs/os-specific/linux/kernel/linux-4.19.nix
index 5a00b8b4c17..56af836e8d9 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.19.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.19.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "4.19.227";
+  version = "4.19.231";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "0d1jyyxdrpyi35033fjg8g6zz99ffry2ks1wlldfaxfa6wh9dp39";
+    sha256 = "0cc1ipar37gvzr1xdbda5hghnvjmy8pk8an8hs2jspmhnfrj6cb7";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-4.9.nix b/pkgs/os-specific/linux/kernel/linux-4.9.nix
index 50a803892bd..83179c4bbe2 100644
--- a/pkgs/os-specific/linux/kernel/linux-4.9.nix
+++ b/pkgs/os-specific/linux/kernel/linux-4.9.nix
@@ -1,12 +1,12 @@
 { buildPackages, fetchurl, perl, buildLinux, nixosTests, stdenv, ... } @ args:
 
 buildLinux (args // rec {
-  version = "4.9.299";
+  version = "4.9.303";
   extraMeta.branch = "4.9";
   extraMeta.broken = stdenv.isAarch64;
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v4.x/linux-${version}.tar.xz";
-    sha256 = "1n0y8hi7ljs9jr3viqhbpshq0wapmyqb8d9vlh4yzg2n5y5qs3l1";
+    sha256 = "1r8s28ckmg0av9716350hadn99q738k2slciw8pzxw1xq47hbsa5";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.10.nix b/pkgs/os-specific/linux/kernel/linux-5.10.nix
index a62d1d5545c..f87aa91b58d 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.10.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.10.98";
+  version = "5.10.102";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0hwl1ypllx9l5pv04yavz627qb31ki9mhznsak5bq48hbz0wc90v";
+    sha256 = "0yg3y2cb3lb0whxkdrgbdig0kwjf5c71ci473aj0dr62n6alhhg6";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.15.nix b/pkgs/os-specific/linux/kernel/linux-5.15.nix
index 9ae9f4c7fa5..92fa05dbb02 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.15.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.15.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.15.21";
+  version = "5.15.25";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1lgvf3mrsbwjdjfvznbf5c3np76a7xxqr2rw7i6196ywsxnfnki9";
+    sha256 = "0y9qahkya5dfnr6g04w5ym0p6h9ixmcdhvgz9g2b64aaaazgz6a3";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.16.nix b/pkgs/os-specific/linux/kernel/linux-5.16.nix
index 8d604ff9e66..8144bb2df50 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.16.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.16.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.16.7";
+  version = "5.16.11";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "1kd6v31z9rylnpyrv6b3i622ismxbiv165dcjh2fn5aliqzgalap";
+    sha256 = "08xhm3ngg9157r69v44akp6cj73g33l6wa7073s4sjn4lic6263d";
   };
 } // (args.argsOverride or { }))
diff --git a/pkgs/os-specific/linux/kernel/linux-5.4.nix b/pkgs/os-specific/linux/kernel/linux-5.4.nix
index edbeb919523..239f5181a38 100644
--- a/pkgs/os-specific/linux/kernel/linux-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-5.4.nix
@@ -3,7 +3,7 @@
 with lib;
 
 buildLinux (args // rec {
-  version = "5.4.177";
+  version = "5.4.181";
 
   # modDirVersion needs to be x.y.z, will automatically add .0 if needed
   modDirVersion = if (modDirVersionArg == null) then concatStringsSep "." (take 3 (splitVersion "${version}.0")) else modDirVersionArg;
@@ -13,6 +13,6 @@ buildLinux (args // rec {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${version}.tar.xz";
-    sha256 = "0wvb5is8rqvfxia1i8lw4yd3fm2bhb6wdl0bdjq90dx7y46wpxqq";
+    sha256 = "0awsv38cclk7npp6q7kb5n0dsdic3k8xnqdsz780yl92dh6s0qzw";
   };
 } // (args.argsOverride or {}))
diff --git a/pkgs/os-specific/linux/kernel/linux-libre.nix b/pkgs/os-specific/linux/kernel/linux-libre.nix
index b647f6c4e15..16577980809 100644
--- a/pkgs/os-specific/linux/kernel/linux-libre.nix
+++ b/pkgs/os-specific/linux/kernel/linux-libre.nix
@@ -1,8 +1,8 @@
 { stdenv, lib, fetchsvn, linux
 , scripts ? fetchsvn {
     url = "https://www.fsfla.org/svn/fsfla/software/linux-libre/releases/branches/";
-    rev = "18587";
-    sha256 = "01h3mvj36b3wnkjm932ya5prsyfw7fszifdb9bvqwrd2ggawxng9";
+    rev = "18613";
+    sha256 = "1qgvhrh4nnn56aykaxqmlnzy8s111b5vn277n7qm4ldyr312g4hs";
   }
 , ...
 }:
diff --git a/pkgs/os-specific/linux/kernel/linux-rpi.nix b/pkgs/os-specific/linux/kernel/linux-rpi.nix
index 17d24c187d5..99b966ac5cd 100644
--- a/pkgs/os-specific/linux/kernel/linux-rpi.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rpi.nix
@@ -2,8 +2,9 @@
 
 let
   # NOTE: raspberrypifw & raspberryPiWirelessFirmware should be updated with this
-  modDirVersion = "5.10.52";
-  tag = "1.20210805";
+  modDirVersion = "5.10.92";
+  tag = "1.20220118";
+  rev = "650082a559a570d6c9d2739ecc62843d6f951059";
 in
 lib.overrideDerivation (buildLinux (args // {
   version = "${modDirVersion}-${tag}";
@@ -12,8 +13,8 @@ lib.overrideDerivation (buildLinux (args // {
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "linux";
-    rev = tag;
-    sha256 = "1j71xblflslfi4c3zx2srw6fahnhp3bjx4yjfqrp39kzaa41ij0b";
+    inherit rev;
+    sha256 = "sha256-OSDx9dzqm8JnLUvdiv1aKqhRz80uWqfjXLd7m6ycXME=";
   };
 
   defconfig = {
@@ -75,6 +76,7 @@ lib.overrideDerivation (buildLinux (args // {
   '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux"]) ''
     copyDTB bcm2709-rpi-2-b.dtb bcm2836-rpi-2-b.dtb
   '' + lib.optionalString (lib.elem stdenv.hostPlatform.system ["armv7l-linux" "aarch64-linux"]) ''
+    copyDTB bcm2710-rpi-zero-2.dtb bcm2837-rpi-zero-2.dtb
     copyDTB bcm2710-rpi-3-b.dtb bcm2837-rpi-3-b.dtb
     copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-a-plus.dtb
     copyDTB bcm2710-rpi-3-b-plus.dtb bcm2837-rpi-3-b-plus.dtb
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
index 7f2811584cf..70be0e58ebc 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.10.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.10.90-rt60"; # updated by ./update-rt.sh
+  version = "5.10.100-rt62"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -18,14 +18,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "0997ijkmvf9iz4hn8m8naiagphhyvl4r6qx4q3gxk8qlq1j44pll";
+    sha256 = "16892wnfkdpqy3v4xmdzlqn5zlfrgz9wqh6vadnx58xnr6pnasfm";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0533s01ckjjw45b08zs9nhpszdcrqgfpwvnjs2dfjmc6yg9d13pi";
+      sha256 = "1wimp4ckaqp5cfvkf50gv3s5biyr0sjifz4faw23m07ciydm15k0";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
index ce99b70ce68..bb789797a53 100644
--- a/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
+++ b/pkgs/os-specific/linux/kernel/linux-rt-5.4.nix
@@ -6,7 +6,7 @@
 , ... } @ args:
 
 let
-  version = "5.4.170-rt68"; # updated by ./update-rt.sh
+  version = "5.4.177-rt69"; # updated by ./update-rt.sh
   branch = lib.versions.majorMinor version;
   kversion = builtins.elemAt (lib.splitString "-" version) 0;
 in buildLinux (args // {
@@ -14,14 +14,14 @@ in buildLinux (args // {
 
   src = fetchurl {
     url = "mirror://kernel/linux/kernel/v5.x/linux-${kversion}.tar.xz";
-    sha256 = "0b1qdmp2q0lpngfvvnwb248cnqn9akk2z4xawrfwziszrzh797xh";
+    sha256 = "0wvb5is8rqvfxia1i8lw4yd3fm2bhb6wdl0bdjq90dx7y46wpxqq";
   };
 
   kernelPatches = let rt-patch = {
     name = "rt";
     patch = fetchurl {
       url = "mirror://kernel/linux/kernel/projects/rt/${branch}/older/patch-${version}.patch.xz";
-      sha256 = "0wzvyybrawn9y3ccgafj6jcmh31vwwq2n5rrlidn80736466a3ba";
+      sha256 = "16m1swkg54cgcgqwl6vifbpfvdf7waigbwi9brafwplb965zq5a2";
     };
   }; in [ rt-patch ] ++ kernelPatches;
 
diff --git a/pkgs/os-specific/linux/kernel/linux-xanmod.nix b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
index 64934724c25..636803f2909 100644
--- a/pkgs/os-specific/linux/kernel/linux-xanmod.nix
+++ b/pkgs/os-specific/linux/kernel/linux-xanmod.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, buildLinux, fetchFromGitHub, ... } @ args:
 
 let
-  version = "5.15.19";
+  version = "5.15.24";
   release = "1";
   suffix = "xanmod${release}-tt";
 in
@@ -13,7 +13,7 @@ buildLinux (args // rec {
     owner = "xanmod";
     repo = "linux";
     rev = modDirVersion;
-    sha256 = "sha256-4DChsTFWm/9X0iV9yhWZqOz7dxfNbok7cFLKAYKs+Dw=";
+    sha256 = "sha256-O3OadPMBl74IK92w7IPGfiePeo/Ox+bIVr4XmOmPYTg=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/kernel/linux-zen.nix b/pkgs/os-specific/linux/kernel/linux-zen.nix
index c1f2429d123..1432eb5598e 100644
--- a/pkgs/os-specific/linux/kernel/linux-zen.nix
+++ b/pkgs/os-specific/linux/kernel/linux-zen.nix
@@ -2,7 +2,7 @@
 
 let
   # having the full version string here makes it easier to update
-  modDirVersion = "5.16.3-zen1";
+  modDirVersion = "5.16.8-zen1";
   parts = lib.splitString "-" modDirVersion;
   version = lib.elemAt parts 0;
   suffix = lib.elemAt parts 1;
@@ -19,7 +19,7 @@ buildLinux (args // {
     owner = "zen-kernel";
     repo = "zen-kernel";
     rev = "v${modDirVersion}";
-    sha256 = "sha256-7OoNbDYTFpgE47oNhVA54nAj0keRyYMJvuccFW3ah4c=";
+    sha256 = "sha256-/CYPuj+P5KlYFur0X2FYrrJFUDhKVL7xm53uOSym+Rc=";
   };
 
   structuredExtraConfig = with lib.kernel; {
diff --git a/pkgs/os-specific/linux/kernel/update-rt.sh b/pkgs/os-specific/linux/kernel/update-rt.sh
index ccb01793342..a9e0577fae9 100755
--- a/pkgs/os-specific/linux/kernel/update-rt.sh
+++ b/pkgs/os-specific/linux/kernel/update-rt.sh
@@ -38,6 +38,7 @@ latest-rt-version() {
     curl -sL "$mirror/projects/rt/$branch/sha256sums.asc" |
         sed -ne '/.patch.xz/ { s/.*patch-\(.*\).patch.xz/\1/p}' |
         grep -v '\-rc' |
+        sort --version-sort |
         tail -n 1
 }
 
diff --git a/pkgs/os-specific/linux/keyutils/0001-Remove-unused-function-after_eq.patch b/pkgs/os-specific/linux/keyutils/0001-Remove-unused-function-after_eq.patch
new file mode 100644
index 00000000000..61ad2a474f9
--- /dev/null
+++ b/pkgs/os-specific/linux/keyutils/0001-Remove-unused-function-after_eq.patch
@@ -0,0 +1,28 @@
+From 59d91e57d103fb4686d2f45ee3c688878244367a Mon Sep 17 00:00:00 2001
+From: Christian Kampka <christian@kampka.net>
+Date: Tue, 24 Nov 2020 22:12:40 +0100
+Subject: [PATCH] Remove unused function 'after_eq'
+
+---
+ keyctl_watch.c | 5 -----
+ 1 file changed, 5 deletions(-)
+
+diff --git a/keyctl_watch.c b/keyctl_watch.c
+index a70a19a..c4ca7f7 100644
+--- a/keyctl_watch.c
++++ b/keyctl_watch.c
+@@ -47,11 +47,6 @@ static struct watch_notification_filter filter = {
+ 	},
+ };
+ 
+-static inline bool after_eq(unsigned int a, unsigned int b)
+-{
+-        return (signed int)(a - b) >= 0;
+-}
+-
+ static void consumer_term(int sig)
+ {
+ 	consumer_stop = 1;
+-- 
+2.28.0
+
diff --git a/pkgs/os-specific/linux/keyutils/default.nix b/pkgs/os-specific/linux/keyutils/default.nix
index 71f708e210d..f307bd56d1c 100644
--- a/pkgs/os-specific/linux/keyutils/default.nix
+++ b/pkgs/os-specific/linux/keyutils/default.nix
@@ -21,6 +21,10 @@ stdenv.mkDerivation rec {
       sha256 = "0wnvbjfrbk7rghd032z684l7vk7mhy3bd41zvhkrhgp3cd5id0bm";
     })
     ./conf-symlink.patch
+    # This patch solves a duplicate symbol error when building with a clang stdenv
+    # Before removing this patch, please ensure the package still builds by running eg.
+    # nix-build -E 'with import ./. {}; pkgs.keyutils.override { stdenv = pkgs.llvmPackages_latest.stdenv; }'
+    ./0001-Remove-unused-function-after_eq.patch
   ];
 
   makeFlags = lib.optionals stdenv.hostPlatform.isStatic "NO_SOLIB=1";
diff --git a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
index 4002657ad69..3964538a409 100644
--- a/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
+++ b/pkgs/os-specific/linux/kmod-blacklist-ubuntu/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, gnugrep, findutils }:
+{ lib, stdenv, fetchurl }:
 
 let
   version = "28-1ubuntu4"; # impish 2021-06-24
@@ -26,8 +26,8 @@ in stdenv.mkDerivation {
       --replace /sbin/lsmod /run/booted-system/sw/bin/lsmod \
       --replace /sbin/rmmod /run/booted-system/sw/bin/rmmod \
       --replace /sbin/modprobe /run/booted-system/sw/bin/modprobe \
-      --replace " grep " " ${gnugrep}/bin/grep " \
-      --replace " xargs " " ${findutils}/bin/xargs "
+      --replace " grep " " /run/booted-system/sw/bin/grep " \
+      --replace " xargs " " /run/booted-system/sw/bin/xargs "
   '';
 
   meta = with lib; {
diff --git a/pkgs/os-specific/linux/libbpf/default.nix b/pkgs/os-specific/linux/libbpf/default.nix
index 81e86fe77ef..8e6b9fa0663 100644
--- a/pkgs/os-specific/linux/libbpf/default.nix
+++ b/pkgs/os-specific/linux/libbpf/default.nix
@@ -12,20 +12,15 @@ with builtins;
 
 stdenv.mkDerivation rec {
   pname = "libbpf";
-  version = "0.6.1";
+  version = "0.7.0";
 
   src = fetchFromGitHub {
     owner = "libbpf";
     repo = "libbpf";
     rev = "v${version}";
-    sha256 = "sha256-/MLPflnfooe7Wjy8M3CTowAi5oYpscruSkDsaVzhmYQ=";
+    sha256 = "sha256-NFVJ8JquWVzu+QoaaOMzhnu6/IqdP1FPhtJFidXA4L4=";
   };
 
-  patches = [(fetchpatch {
-    url = "https://github.com/libbpf/libbpf/pull/41.diff";
-    sha256 = "sha256-pg5WARqh6z0nkTHMBhftxwdV2SyswC2lfaCXCpez0VA=";
-  })];
-
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libelf zlib ];
 
@@ -38,7 +33,7 @@ stdenv.mkDerivation rec {
 
   postInstall = ''
     # install linux's libbpf-compatible linux/btf.h
-    install -Dm444 include/uapi/linux/btf.h -t $out/include/linux
+    install -Dm444 include/uapi/linux/*.h -t $out/include/linux
   '';
 
   # FIXME: Multi-output requires some fixes to the way the pkg-config file is
diff --git a/pkgs/os-specific/linux/libpsm2/default.nix b/pkgs/os-specific/linux/libpsm2/default.nix
index 8b979d47956..aeb261aaaca 100644
--- a/pkgs/os-specific/linux/libpsm2/default.nix
+++ b/pkgs/os-specific/linux/libpsm2/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "libpsm2";
-  version = "11.2.185";
+  version = "11.2.203";
 
   preConfigure= ''
     export UDEVDIR=$out/etc/udev
@@ -29,7 +29,7 @@ stdenv.mkDerivation rec {
     owner = "intel";
     repo = "opa-psm2";
     rev = "PSM2_${version}";
-    sha256 = "062hg4r6gz7pla9df70nqs5i2a3mp1wszmp4l0g771fykhhrxsjg";
+    sha256 = "sha256-W5Mg5ATUARMFAy1VVpMKPar0VpbKfrkxa6bDhqVYpoc=";
   };
 
   postInstall = ''
diff --git a/pkgs/os-specific/linux/lxc/default.nix b/pkgs/os-specific/linux/lxc/default.nix
index bfe888c6e44..62f63a8c3ac 100644
--- a/pkgs/os-specific/linux/lxc/default.nix
+++ b/pkgs/os-specific/linux/lxc/default.nix
@@ -9,11 +9,11 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "lxc";
-  version = "4.0.11";
+  version = "4.0.12";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxc/lxc-${version}.tar.gz";
-    sha256 = "0b7hv4n8b3lndhr0jf9j1gkbzxm8897a1myjsfgwzad9gkhq395g";
+    sha256 = "1vyk2j5w9gfyh23w3ar09cycyws16mxh3clbb33yhqzwcs1jy96v";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/os-specific/linux/lxcfs/default.nix b/pkgs/os-specific/linux/lxcfs/default.nix
index 6ae44f3fdb8..68bf0355230 100644
--- a/pkgs/os-specific/linux/lxcfs/default.nix
+++ b/pkgs/os-specific/linux/lxcfs/default.nix
@@ -5,13 +5,13 @@
 with lib;
 stdenv.mkDerivation rec {
   pname = "lxcfs";
-  version = "4.0.11";
+  version = "4.0.12";
 
   src = fetchFromGitHub {
     owner = "lxc";
     repo = "lxcfs";
     rev = "lxcfs-${version}";
-    sha256 = "sha256-jWOmGV85uTYjBFQZKR3+TgPWZix2vuN8TLA/dhL8jwk=";
+    sha256 = "sha256-+wp29GD+toXGfQbPGYbDJ7/P+FY1uQY4uK3OQxTE9GM=";
   };
 
   nativeBuildInputs = [ pkg-config help2man autoreconfHook makeWrapper ];
diff --git a/pkgs/os-specific/linux/microcode/intel.nix b/pkgs/os-specific/linux/microcode/intel.nix
index 1f5fd889578..923047ead11 100644
--- a/pkgs/os-specific/linux/microcode/intel.nix
+++ b/pkgs/os-specific/linux/microcode/intel.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "microcode-intel";
-  version = "20210608";
+  version = "20220207";
 
   src = fetchFromGitHub {
     owner = "intel";
     repo = "Intel-Linux-Processor-Microcode-Data-Files";
     rev = "microcode-${version}";
-    sha256 = "08nk353z2lcqsjbm2qdsfapfgrvlfw0rj7r9scr9pllzkjj5n9x3";
+    sha256 = "sha256-yNHYAf8AX8C8iSaFWa6u7knUryaUgvI6nIH9jkD4jjw=";
   };
 
   nativeBuildInputs = [ iucode-tool libarchive ];
diff --git a/pkgs/os-specific/linux/mwprocapture/default.nix b/pkgs/os-specific/linux/mwprocapture/default.nix
index 769bb1e43b4..0de982c3d5e 100644
--- a/pkgs/os-specific/linux/mwprocapture/default.nix
+++ b/pkgs/os-specific/linux/mwprocapture/default.nix
@@ -60,6 +60,5 @@ stdenv.mkDerivation rec {
     license = licenses.unfreeRedistributable;
     maintainers = with maintainers; [ MP2E ];
     platforms = platforms.linux;
-    broken = kernel.kernelOlder "3.2.0";
   };
 }
diff --git a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
index 1de783a5593..5f950eb8b76 100755
--- a/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
+++ b/pkgs/os-specific/linux/nixos-rebuild/nixos-rebuild.sh
@@ -71,7 +71,7 @@ while [ "$#" -gt 0 ]; do
         j="$1"; shift 1
         extraBuildFlags+=("$i" "$j")
         ;;
-      --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--refresh|--no-net|--offline|--impure)
+      --show-trace|--keep-failed|-K|--keep-going|-k|--verbose|-v|-vv|-vvv|-vvvv|-vvvvv|--fallback|--repair|--no-build-output|-Q|-j*|-L|--print-build-logs|--refresh|--no-net|--offline|--impure)
         extraBuildFlags+=("$i")
         ;;
       --option)
@@ -247,6 +247,8 @@ nixFlakeBuild() {
                 local k="$1"; shift 1
                 evalArgs+=("$i" "$j" "$k")
                 ;;
+              --impure) # We don't want this in buildArgs, it's only needed at evaluation time, and unsupported during realisation
+                ;;
               *)
                 buildArgs+=("$i")
                 ;;
diff --git a/pkgs/os-specific/linux/nvidia-x11/builder.sh b/pkgs/os-specific/linux/nvidia-x11/builder.sh
index d108ca0d006..75eb5d8757b 100755
--- a/pkgs/os-specific/linux/nvidia-x11/builder.sh
+++ b/pkgs/os-specific/linux/nvidia-x11/builder.sh
@@ -89,10 +89,11 @@ installPhase() {
                 sed -E "s#(libGLX_nvidia)#$i/lib/\\1#" nvidia_icd.json > nvidia_icd.json.fixed
             fi
 
-            if [ "$system" = "i686-linux" ]; then
+            # nvidia currently only supports x86_64 and i686
+            if [ "$i" == "$lib32" ]; then
                 install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia_icd.i686.json
             else
-                install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia_icd.json
+                install -Dm644 nvidia_icd.json.fixed $i/share/vulkan/icd.d/nvidia_icd.x86_64.json
             fi
         fi
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/default.nix b/pkgs/os-specific/linux/nvidia-x11/default.nix
index 3f58b0a536b..14526501785 100644
--- a/pkgs/os-specific/linux/nvidia-x11/default.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/default.nix
@@ -19,10 +19,10 @@ rec {
   # Policy: use the highest stable version as the default (on our master).
   stable = if stdenv.hostPlatform.system == "x86_64-linux"
     then generic {
-      version = "510.47.03";
-      sha256_64bit = "8qQh2ug2MY08DZZFnMs68n6Q5QyVsPqkKIr3Ynnl1pA=";
-      settingsSha256 = "lQRh8dG4NW2vLe4R6xx42BzAu3R6iLyrk3GOGKLfufQ=";
-      persistencedSha256 = "I8pIdBhbX9rfyhjQHGD5zjCwLF2zl2jc1Id+CTbSHKc=";
+      version = "510.54";
+      sha256_64bit = "TCDezK4/40et/Q5piaMG+QJP2t+DGtwejmCFVnUzUWE=";
+      settingsSha256 = "ZWz5UN6Pa69NlmerKu30G+X8WfGlAwnVerDrO7TRO6w=";
+      persistencedSha256 = "MgWrBjKXJeRqF+ouT72tTiLPtn+lsS/Cp3oS61AWV8Q=";
     }
     else legacy_390;
 
diff --git a/pkgs/os-specific/linux/nvidia-x11/generic.nix b/pkgs/os-specific/linux/nvidia-x11/generic.nix
index 3b4ed64bda0..c7e062534a4 100644
--- a/pkgs/os-specific/linux/nvidia-x11/generic.nix
+++ b/pkgs/os-specific/linux/nvidia-x11/generic.nix
@@ -115,7 +115,7 @@ let
       description = "X.org driver and kernel module for NVIDIA graphics cards";
       license = licenses.unfreeRedistributable;
       platforms = [ "x86_64-linux" ] ++ optionals (!i686bundled) [ "i686-linux" ];
-      maintainers = with maintainers; [ ];
+      maintainers = with maintainers; [ jonringer ];
       priority = 4; # resolves collision with xorg-server's "lib/xorg/modules/extensions/libglx.so"
       inherit broken;
     };
diff --git a/pkgs/os-specific/linux/openvswitch/default.nix b/pkgs/os-specific/linux/openvswitch/default.nix
index 380d76844c8..ba93b068fdd 100644
--- a/pkgs/os-specific/linux/openvswitch/default.nix
+++ b/pkgs/os-specific/linux/openvswitch/default.nix
@@ -8,12 +8,12 @@ let
   _kernel = kernel;
   pythonEnv = python3.withPackages (ps: with ps; [ six ]);
 in stdenv.mkDerivation rec {
-  version = "2.16.2";
+  version = "2.17.0";
   pname = "openvswitch";
 
   src = fetchurl {
     url = "https://www.openvswitch.org/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-A6xMMpmzjlbAtNTCejKclYsAOgjztUigo8qLmU8tSTQ=";
+    sha256 = "sha256-4Dv6t8qC2Bp9OjbeTzkKO1IQ4/OWV2cfkih3zU6m3HM=";
   };
 
   kernel = optional (_kernel != null) _kernel.dev;
diff --git a/pkgs/os-specific/linux/pam/default.nix b/pkgs/os-specific/linux/pam/default.nix
index 65bf01aa4cf..1476ae49006 100644
--- a/pkgs/os-specific/linux/pam/default.nix
+++ b/pkgs/os-specific/linux/pam/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "linux-pam";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchurl {
     url    = "https://github.com/linux-pam/linux-pam/releases/download/v${version}/Linux-PAM-${version}.tar.xz";
-    sha256 = "sha256-IB1AcwsRNbGzzeoJ8sKKxjTXMYHM0Bcs7d7jZJxXkvw=";
+    sha256 = "sha256-5OxxMakdpEUSV0Jo9JPG2MoQXIcJFpG46bVspoXU+U0=";
   };
 
   patches = [ ./suid-wrapper-path.patch ];
diff --git a/pkgs/os-specific/linux/qmk-udev-rules/default.nix b/pkgs/os-specific/linux/qmk-udev-rules/default.nix
index 7fb5b092ca4..5e956f3baf3 100644
--- a/pkgs/os-specific/linux/qmk-udev-rules/default.nix
+++ b/pkgs/os-specific/linux/qmk-udev-rules/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "qmk-udev-rules";
-  version = "0.13.23";
+  version = "0.15.25";
 
   src = fetchFromGitHub {
     owner = "qmk";
     repo = "qmk_firmware";
     rev = version;
-    sha256 = "08d2ri9g6lky3ixd5h0scm95hgc52lcjr3vcnmpdxn780q9ygmkm";
+    sha256 = "4U1/9DgoKZ1Al76lZ2P8x4LIvtqaJPLq81cCSCy+9iE=";
   };
 
   dontBuild = true;
diff --git a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
index 32378e451e8..c68d4058396 100644
--- a/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
+++ b/pkgs/os-specific/linux/raspberrypi-eeprom/default.nix
@@ -3,13 +3,18 @@
 }:
 stdenvNoCC.mkDerivation rec {
   pname = "raspberrypi-eeprom";
-  version = "2021.04.29-138a1";
+  version = "2021.12.02";
+  # From 3fdf703f3f7bbe57eacceada3b558031229a34b0 Mon Sep 17 00:00:00 2001
+  # From: Peter Harper <peter.harper@raspberrypi.com>
+  # Date: Mon, 13 Dec 2021 11:56:11 +0000
+  # Subject: [PATCH] 2021-12-02: Promote the 2021-12-02 beta release to LATEST/STABLE
+  commit = "3fdf703f3f7bbe57eacceada3b558031229a34b0";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = "rpi-eeprom";
-    rev = "v${version}";
-    sha256 = "sha256-nzAMPa4gqCAcROFa7z34IoMA3aoMHX9fYCsPFde9dac=";
+    rev = commit;
+    sha256 = "sha256-JTL2ziOkT0tnOrOS08ttNtxj3qegsacP73xZBVur7xM=";
   };
 
   buildInputs = [ python3 ];
@@ -26,7 +31,7 @@ stdenvNoCC.mkDerivation rec {
   installPhase = ''
     mkdir -p $out/bin $out/share/rpi-eeprom
 
-    cp rpi-eeprom-config rpi-eeprom-update $out/bin
+    cp rpi-eeprom-config rpi-eeprom-update rpi-eeprom-digest $out/bin
     cp -r firmware/{beta,critical,old,stable} $out/share/rpi-eeprom
     cp -P firmware/default firmware/latest $out/share/rpi-eeprom
   '';
diff --git a/pkgs/os-specific/linux/rdma-core/default.nix b/pkgs/os-specific/linux/rdma-core/default.nix
index 02321d84351..f7543291ded 100644
--- a/pkgs/os-specific/linux/rdma-core/default.nix
+++ b/pkgs/os-specific/linux/rdma-core/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rdma-core";
-  version = "38.1";
+  version = "39.0";
 
   src = fetchFromGitHub {
     owner = "linux-rdma";
     repo = "rdma-core";
     rev = "v${version}";
-    sha256 = "05r5f9agpn7dcx5jmggrsm9953w2k6ly6gfbg9b8wjdc853apqp7";
+    sha256 = "sha256-7Z06bdCtv/gdZKzKfcU+JrWl4+b6b/cdKp8pMLCZZo0=";
   };
 
   strictDeps = true;
diff --git a/pkgs/os-specific/linux/ryzenadj/default.nix b/pkgs/os-specific/linux/ryzenadj/default.nix
index cdc2425ae4a..3013df7e291 100644
--- a/pkgs/os-specific/linux/ryzenadj/default.nix
+++ b/pkgs/os-specific/linux/ryzenadj/default.nix
@@ -1,13 +1,13 @@
 { lib, stdenv, fetchFromGitHub, pciutils, cmake }:
 stdenv.mkDerivation rec {
   pname = "ryzenadj";
-  version = "0.8.3";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "FlyGoat";
     repo = "RyzenAdj";
     rev = "v${version}";
-    sha256 = "sha256-eb8DskF0SJtc0tDKJ1vU7dtuQmHO7RX8vm4DQki2ZEg=";
+    sha256 = "sha256-RoKRqqIVY9zjyXzGxHo+J4OV7cKc7CkqsdbpreB7EHc=";
   };
 
   nativeBuildInputs = [ pciutils cmake ];
diff --git a/pkgs/os-specific/linux/sysstat/default.nix b/pkgs/os-specific/linux/sysstat/default.nix
index 2d5b3e2ab55..5389caaa33f 100644
--- a/pkgs/os-specific/linux/sysstat/default.nix
+++ b/pkgs/os-specific/linux/sysstat/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "sysstat";
-  version = "12.4.3";
+  version = "12.4.4";
 
   src = fetchurl {
     url = "http://pagesperso-orange.fr/sebastien.godard/sysstat-${version}.tar.xz";
-    sha256 = "sha256-rkMkMfRarLyrrPu+Ep4lBeIVyvqc6ZbXVQxgkaRvC/0=";
+    sha256 = "sha256-lRLnR54E+S4lHFxrS9lLj2Q9ISvQ6Yao6k0Uem6UPSQ=";
   };
 
   buildInputs = [ gettext ];
diff --git a/pkgs/os-specific/linux/systemd/default.nix b/pkgs/os-specific/linux/systemd/default.nix
index c2879ed939e..3a3a419093b 100644
--- a/pkgs/os-specific/linux/systemd/default.nix
+++ b/pkgs/os-specific/linux/systemd/default.nix
@@ -616,6 +616,6 @@ stdenv.mkDerivation {
     license = licenses.lgpl21Plus;
     platforms = platforms.linux;
     priority = 10;
-    maintainers = with maintainers; [ eelco flokli kloenk ];
+    maintainers = with maintainers; [ flokli kloenk mic92 ];
   };
 }
diff --git a/pkgs/os-specific/linux/trace-cmd/default.nix b/pkgs/os-specific/linux/trace-cmd/default.nix
index 129ec31223c..a339c60e8df 100644
--- a/pkgs/os-specific/linux/trace-cmd/default.nix
+++ b/pkgs/os-specific/linux/trace-cmd/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchgit, pkg-config, asciidoc, xmlto, docbook_xsl, libxslt, libtraceevent, libtracefs }:
 stdenv.mkDerivation rec {
   pname = "trace-cmd";
-  version = "2.9.5";
+  version = "2.9.7";
 
   src = fetchgit {
     url    = "git://git.kernel.org/pub/scm/utils/trace-cmd/trace-cmd.git/";
     rev    = "trace-cmd-v${version}";
-    sha256 = "0kc5cldk5i7q2zr2nyz3mvs5v7w0km6lpx7g39sy3pmhshp0wqlq";
+    sha256 = "sha256-04qsTlOVYh/jHVWxaGuqYj4DkUpcEYcpfUqnqhphIMg=";
   };
 
   # Don't build and install html documentation
@@ -47,7 +47,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "User-space tools for the Linux kernel ftrace subsystem";
     homepage    = "https://www.trace-cmd.org/";
-    license     = licenses.gpl2;
+    license     = with licenses; [ lgpl21Only gpl2Only ];
     platforms   = platforms.linux;
     maintainers = with maintainers; [ thoughtpolice basvandijk ];
   };
diff --git a/pkgs/os-specific/linux/usb-blaster-udev-rules/default.nix b/pkgs/os-specific/linux/usb-blaster-udev-rules/default.nix
new file mode 100644
index 00000000000..d04c8ddb939
--- /dev/null
+++ b/pkgs/os-specific/linux/usb-blaster-udev-rules/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenvNoCC }:
+
+stdenvNoCC.mkDerivation rec {
+  name = "usb-blaster-udev-rules";
+
+  udevRules = ./usb-blaster.rules;
+  dontUnpack = true;
+
+  installPhase = ''
+    install -Dm 644 "${udevRules}" "$out/lib/udev/rules.d/51-usbblaster.rules"
+  '';
+
+  meta = with lib; {
+    description = "udev rules that give NixOS permission to communicate with usb blasters";
+    longDescription = ''
+      udev rules that give NixOS permission to communicate with usb blasters.
+      To use it under NixOS, add
+
+        services.udev.packages = [ pkgs.usb-blaster-udev-rules ];
+
+      to the system configuration.
+    '';
+    license = licenses.free;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/os-specific/linux/usb-blaster-udev-rules/usb-blaster.rules b/pkgs/os-specific/linux/usb-blaster-udev-rules/usb-blaster.rules
new file mode 100644
index 00000000000..0add604ee81
--- /dev/null
+++ b/pkgs/os-specific/linux/usb-blaster-udev-rules/usb-blaster.rules
@@ -0,0 +1,8 @@
+# USB-Blaster
+ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", TAG+="uaccess"
+ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6002", TAG+="uaccess"
+ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6003", TAG+="uaccess"
+
+# USB-Blaster II
+ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6010", TAG+="uaccess"
+ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6810", TAG+="uaccess"
diff --git a/pkgs/os-specific/linux/virtio_vmmci/default.nix b/pkgs/os-specific/linux/virtio_vmmci/default.nix
new file mode 100644
index 00000000000..ccf462702fd
--- /dev/null
+++ b/pkgs/os-specific/linux/virtio_vmmci/default.nix
@@ -0,0 +1,37 @@
+{ stdenv, lib, fetchFromGitHub, kernel }:
+
+stdenv.mkDerivation rec {
+  name = "virtio_vmmci";
+  version = "0.4.0";
+
+  src = fetchFromGitHub {
+    owner = "voutilad";
+    repo = "virtio_vmmci";
+    rev = "${version}";
+    sha256 = "104xnpcy5kb4y7ipy1fx1v6byddzs63bv2dqjy3yl23n764fsy43";
+  };
+
+  hardeningDisable = [ "pic" "format" ];
+  nativeBuildInputs = kernel.moduleBuildDependencies;
+
+  extraConfig = ''
+    CONFIG_RTC_HCTOSYS yes
+  '';
+
+  makeFlags = kernel.makeFlags ++ [
+    "DEPMOD=echo"
+    "INSTALL_MOD_PATH=$(out)"
+    "KERNELRELEASE=${kernel.modDirVersion}"
+    "KERNELDIR=${kernel.dev}/lib/modules/${kernel.modDirVersion}/build"
+  ];
+
+  meta = with lib; {
+    description = "An OpenBSD VMM Control Interface (vmmci) for Linux";
+    homepage = "https://github.com/voutilad/virtio_vmmci";
+    license = licenses.gpl2;
+    maintainers = with maintainers; [ qbit ];
+    platforms = platforms.linux;
+  };
+
+  enableParallelBuilding = true;
+}
diff --git a/pkgs/os-specific/linux/wlgreet/default.nix b/pkgs/os-specific/linux/wlgreet/default.nix
index 4758945e41a..932aa47fd71 100644
--- a/pkgs/os-specific/linux/wlgreet/default.nix
+++ b/pkgs/os-specific/linux/wlgreet/default.nix
@@ -4,17 +4,17 @@
 }:
 
 rustPlatform.buildRustPackage rec {
-  pname = "wlgreet";
-  version = "0.3";
+  pname = "wlgreet-unstable";
+  version = "2022-01-25";
 
   src = fetchFromSourcehut {
     owner = "~kennylevinsen";
-    repo = pname;
-    rev = version;
-    sha256 = "0n0lzg3y1z5s9s6kfkdj5q8w67bqpw08hqfccc5kz0ninzy9j0cc";
+    repo = "wlgreet";
+    rev = "8517e578cb64a8fb3bd8f8a438cdbe46f208b87c";
+    sha256 = "0la4xlikw61cxvbkil1d22dgvazi7rs17n5i2z02090fvnfxxzxh";
   };
 
-  cargoSha256 = "1lwy8xmkl9n3fj3wlf80wp728nn9p5rjnbgmm2cbpqxklcgbmxhm";
+  cargoSha256 = "651d2bf01612534f1c4b0472c812095a86eb064d16879380c87f684c04fe0d8d";
 
   meta = with lib; {
     description = "Raw wayland greeter for greetd, to be run under sway or similar";
diff --git a/pkgs/os-specific/linux/wpa_supplicant/Use-unique-IDs-for-networks-and-credentials.patch b/pkgs/os-specific/linux/wpa_supplicant/Use-unique-IDs-for-networks-and-credentials.patch
new file mode 100644
index 00000000000..09e5b3673ac
--- /dev/null
+++ b/pkgs/os-specific/linux/wpa_supplicant/Use-unique-IDs-for-networks-and-credentials.patch
@@ -0,0 +1,32 @@
+The id and cred_id variables are reset to 0 every time the
+wpa_config_read function is called, which is fine as long as it is only
+called once. However, this is not the case when using both the -c and -I
+options to specify two config files.
+
+This is a problem because the GUI, since eadfeb0e93748eb396ae62012b92d21a7f533646,
+relies on the network IDs being unique (and increasing), and might get
+into an infinite loop otherwise.
+
+This is solved by simply making the variables static.
+---
+ wpa_supplicant/config_file.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/wpa_supplicant/config_file.c b/wpa_supplicant/config_file.c
+index 6db5010db..c996e3916 100644
+--- a/wpa_supplicant/config_file.c
++++ b/wpa_supplicant/config_file.c
+@@ -297,8 +297,8 @@ struct wpa_config * wpa_config_read(const char *name, struct wpa_config *cfgp)
+ 	struct wpa_ssid *ssid, *tail, *head;
+ 	struct wpa_cred *cred, *cred_tail, *cred_head;
+ 	struct wpa_config *config;
+-	int id = 0;
+-	int cred_id = 0;
++	static int id = 0;
++	static int cred_id = 0;
+
+ 	if (name == NULL)
+ 		return NULL;
+--
+2.34.1
+
diff --git a/pkgs/os-specific/linux/wpa_supplicant/default.nix b/pkgs/os-specific/linux/wpa_supplicant/default.nix
index 380fca42975..925ec71d3fa 100644
--- a/pkgs/os-specific/linux/wpa_supplicant/default.nix
+++ b/pkgs/os-specific/linux/wpa_supplicant/default.nix
@@ -18,6 +18,8 @@ stdenv.mkDerivation rec {
   };
 
   patches = [
+    # Fix a bug when using two config files
+    ./Use-unique-IDs-for-networks-and-credentials.patch
   ] ++ lib.optionals readOnlyModeSSIDs [
     # Allow read-only networks
     ./0001-Implement-read-only-mode-for-ssids.patch
@@ -26,40 +28,41 @@ stdenv.mkDerivation rec {
   # TODO: Patch epoll so that the dbus actually responds
   # TODO: Figure out how to get privsep working, currently getting SIGBUS
   extraConfig = ''
+    #CONFIG_ELOOP_EPOLL=y
+    #CONFIG_PRIVSEP=y
+    #CONFIG_TLSV12=y see #8332
     CONFIG_AP=y
-    CONFIG_LIBNL32=y
+    CONFIG_BGSCAN_LEARN=y
+    CONFIG_BGSCAN_SIMPLE=y
+    CONFIG_DEBUG_SYSLOG=y
+    CONFIG_EAP_EKE=y
     CONFIG_EAP_FAST=y
-    CONFIG_EAP_PWD=y
-    CONFIG_EAP_PAX=y
-    CONFIG_EAP_SAKE=y
     CONFIG_EAP_GPSK=y
     CONFIG_EAP_GPSK_SHA256=y
-    CONFIG_OWE=y
-    CONFIG_WPS=y
-    CONFIG_WPS_ER=y
-    CONFIG_WPS_NFS=y
     CONFIG_EAP_IKEV2=y
-    CONFIG_EAP_EKE=y
-    CONFIG_HT_OVERRIDES=y
-    CONFIG_VHT_OVERRIDES=y
+    CONFIG_EAP_PAX=y
+    CONFIG_EAP_PWD=y
+    CONFIG_EAP_SAKE=y
     CONFIG_ELOOP=eloop
-    #CONFIG_ELOOP_EPOLL=y
-    CONFIG_L2_PACKET=linux
-    CONFIG_IEEE80211W=y
-    CONFIG_TLS=openssl
-    CONFIG_TLSV11=y
-    #CONFIG_TLSV12=y see #8332
-    CONFIG_IEEE80211R=y
-    CONFIG_DEBUG_SYSLOG=y
-    #CONFIG_PRIVSEP=y
-    CONFIG_IEEE80211N=y
+    CONFIG_HS20=y
+    CONFIG_HT_OVERRIDES=y
     CONFIG_IEEE80211AC=y
+    CONFIG_IEEE80211N=y
+    CONFIG_IEEE80211R=y
+    CONFIG_IEEE80211W=y
     CONFIG_INTERNETWORKING=y
-    CONFIG_HS20=y
+    CONFIG_L2_PACKET=linux
+    CONFIG_LIBNL32=y
+    CONFIG_OWE=y
     CONFIG_P2P=y
     CONFIG_TDLS=y
-    CONFIG_BGSCAN_SIMPLE=y
-    CONFIG_BGSCAN_LEARN=y
+    CONFIG_TLS=openssl
+    CONFIG_TLSV11=y
+    CONFIG_VHT_OVERRIDES=y
+    CONFIG_WNM=y
+    CONFIG_WPS=y
+    CONFIG_WPS_ER=y
+    CONFIG_WPS_NFS=y
   '' + optionalString withPcsclite ''
     CONFIG_EAP_SIM=y
     CONFIG_EAP_AKA=y
diff --git a/pkgs/os-specific/linux/xf86-input-wacom/default.nix b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
index 4ebc4ed7663..80762aa784e 100644
--- a/pkgs/os-specific/linux/xf86-input-wacom/default.nix
+++ b/pkgs/os-specific/linux/xf86-input-wacom/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "xf86-input-wacom";
-  version = "0.40.0";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "linuxwacom";
     repo = pname;
     rev = "${pname}-${version}";
-    sha256 = "sha256-0U4pAB5vsIlBewCBqQ4SLHDrwqtr9nh7knZpXZMkzck=";
+    sha256 = "sha256-WitvT1y9KpXJriMr6Z9CrmAQdKPBZ5g9fP2nIgzJzAc=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/os-specific/linux/zenmonitor/default.nix b/pkgs/os-specific/linux/zenmonitor/default.nix
index 603cdf7ceec..8414ac7a1e1 100644
--- a/pkgs/os-specific/linux/zenmonitor/default.nix
+++ b/pkgs/os-specific/linux/zenmonitor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zenmonitor";
-  version = "1.5.0";
+  version = "2.0.0";
 
   src = fetchFromGitHub {
     owner = "Ta180m";
     repo = "zenmonitor3";
     rev = "v${version}";
-    sha256 = "sha256-dbjLpfflIsEU+wTApghJYBPxBXqS/7MJqcMBcj50o6I=";
+    sha256 = "sha256-2EsuSMXnnMg0e0JD1TXJplsi7sOg9em0qqge2WlC6ro=";
   };
 
   buildInputs = [ gtk3 ];
diff --git a/pkgs/servers/atlassian/jira.nix b/pkgs/servers/atlassian/jira.nix
index a4b74c25296..014fbedf643 100644
--- a/pkgs/servers/atlassian/jira.nix
+++ b/pkgs/servers/atlassian/jira.nix
@@ -8,11 +8,11 @@
 
 stdenv.mkDerivation rec {
   pname = "atlassian-jira";
-  version = "8.20.1";
+  version = "8.21.0";
 
   src = fetchurl {
     url = "https://product-downloads.atlassian.com/software/jira/downloads/atlassian-jira-software-${version}.tar.gz";
-    sha256 = "0jygjl5irmnlmc4m2y76b5vj1igyw5ax39gygjzbhwy41zah9p4z";
+    sha256 = "sha256-AJWEm6JBHINca9l0R6dILLMkPGzFVuVjOqD/4AaO5nI=";
   };
 
   buildPhase = ''
diff --git a/pkgs/servers/bird/default.nix b/pkgs/servers/bird/default.nix
index 9da7d7e948e..34d1aab3286 100644
--- a/pkgs/servers/bird/default.nix
+++ b/pkgs/servers/bird/default.nix
@@ -1,66 +1,35 @@
 { lib, stdenv, fetchurl, fetchpatch, flex, bison, readline, libssh, nixosTests }:
 
-with lib;
+stdenv.mkDerivation rec {
+  pname = "bird";
+  version = "2.0.9";
 
-let
-
-  generic = { version, sha256, enableIPv6 ? false }:
-    stdenv.mkDerivation rec {
-      pname = "bird";
-      inherit version;
-
-      src = fetchurl {
-        inherit sha256;
-        url = "ftp://bird.network.cz/pub/bird/${pname}-${version}.tar.gz";
-      };
-
-      nativeBuildInputs = [ flex bison ];
-      buildInputs = [ readline libssh ];
-
-      patches = [
-        (./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch")
-      ]
-      ++ optional (lib.versionOlder version "2")
-        # https://github.com/BIRD/bird/pull/4
-        (fetchpatch {
-          url = "https://github.com/BIRD/bird/commit/fca9ab48e3823c734886f47156a92f6b804c16e9.patch";
-          sha256 = "1pnndc3n56lqqcy74ln0w5kn3i9rbzsm2dqiyp1qw7j33dpkln1b";
-        })
-        ;
-
-      CPP="${stdenv.cc.targetPrefix}cpp -E";
-
-      configureFlags = [
-        "--localstatedir=/var"
-      ] ++ optional enableIPv6 "--enable-ipv6";
+  src = fetchurl {
+    sha256 = "sha256-dnhrvN7TBh4bsiGwEfLMACIewGPenNoASn2bBhoJbV4=";
+    url = "ftp://bird.network.cz/pub/bird/${pname}-${version}.tar.gz";
+  };
 
-      passthru.tests = nixosTests.bird;
+  nativeBuildInputs = [ flex bison ];
+  buildInputs = [ readline libssh ];
 
-      meta = {
-        description = "BIRD Internet Routing Daemon";
-        homepage = "http://bird.network.cz";
-        license = licenses.gpl2Plus;
-        maintainers = with maintainers; [ fpletz globin ];
-        platforms = platforms.linux;
-      };
-    };
+  patches = [
+    (./. + "/dont-create-sysconfdir-${builtins.substring 0 1 version}.patch")
+  ];
 
-in
+  CPP="${stdenv.cc.targetPrefix}cpp -E";
 
-{
-  bird = generic {
-    version = "1.6.8";
-    sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
-  };
+  configureFlags = [
+    "--localstatedir=/var"
+    "--runstatedir=/run/bird"
+  ];
 
-  bird6 = generic {
-    version = "1.6.8";
-    sha256 = "1ch0pkkhd7axdjlvhprynh9q08x0nm984nvkm1cjb7gm5rfsnqbc";
-    enableIPv6 = true;
-  };
+  passthru.tests = nixosTests.bird;
 
-  bird2 = generic {
-    version = "2.0.8";
-    sha256 = "1xp7f0im1v8pqqx3xqyfkd1nsxk8vnbqgrdrwnwhg8r5xs1xxlhr";
+  meta = with lib; {
+    description = "BIRD Internet Routing Daemon";
+    homepage = "http://bird.network.cz";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ fpletz globin ];
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/servers/calibre-web/default.nix b/pkgs/servers/calibre-web/default.nix
index a317925d228..f6cb86e409c 100644
--- a/pkgs/servers/calibre-web/default.nix
+++ b/pkgs/servers/calibre-web/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "calibre-web";
-  version = "0.6.15";
+  version = "0.6.16";
 
   src = fetchFromGitHub {
     owner = "janeczku";
     repo = "calibre-web";
     rev = version;
-    sha256 = "02caq07rzx23iad13wxg8g9z0z77f5ycdrav6fp7z5rl1wi0yc3r";
+    sha256 = "sha256-vRnzsV9pubAmyVSxZpBK+mD9Bkbt6BQYo5S0Jsl26Ns=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/servers/consul/default.nix b/pkgs/servers/consul/default.nix
index 81389064d8e..9b2e9e20dd5 100644
--- a/pkgs/servers/consul/default.nix
+++ b/pkgs/servers/consul/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "consul";
-  version = "1.11.2";
+  version = "1.11.3";
   rev = "v${version}";
 
   # Note: Currently only release tags are supported, because they have the Consul UI
@@ -17,7 +17,7 @@ buildGoModule rec {
     owner = "hashicorp";
     repo = pname;
     inherit rev;
-    sha256 = "sha256-Ql8MAo4OVvOIOkFbeOLHqzloWe3I8HviUIfWrvo6INk=";
+    sha256 = "sha256-kIV6XMicvBdtNOt3BJsOK/KZO3zQLuPgastMVoY8jM8=";
   };
 
   passthru.tests.consul = nixosTests.consul;
@@ -26,7 +26,7 @@ buildGoModule rec {
   # has a split module structure in one repo
   subPackages = ["." "connect/certgen"];
 
-  vendorSha256 = "sha256-BRLDV/9dXS82V8B0dxExiSMBq2MkIfC5//2tOrcZY7c=";
+  vendorSha256 = "sha256-7oQGoMR7woN2RaEMCap9OWJdtGL4MvLN+FTKLqJHsCk=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/dns/coredns/default.nix b/pkgs/servers/dns/coredns/default.nix
index 09991c78145..7e6347e9ba3 100644
--- a/pkgs/servers/dns/coredns/default.nix
+++ b/pkgs/servers/dns/coredns/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "coredns";
-  version = "1.8.6";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "coredns";
     repo = "coredns";
     rev = "v${version}";
-    sha256 = "sha256-0R/HqwZA/ZK9f0i01anIjwnW0JCfsbQpTBMF68CNRUI=";
+    sha256 = "sha256-8IYJxb+HssS2xTboBRo3lz9czklt/Sn098ATlDaO7Gs=";
   };
 
-  vendorSha256 = "sha256-MiTg1GHeqNJcQSaqWXW/nW4ZdNzoLTgNlLbbn1bm7aA=";
+  vendorSha256 = "sha256-Vxs+k4WF55xwjgdlW/1NM4NWnYqj2EOLOONflj+BoY4=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/dns/knot-dns/default.nix b/pkgs/servers/dns/knot-dns/default.nix
index 1938e9c02b6..80939b8df45 100644
--- a/pkgs/servers/dns/knot-dns/default.nix
+++ b/pkgs/servers/dns/knot-dns/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "knot-dns";
-  version = "3.1.5";
+  version = "3.1.6";
 
   src = fetchurl {
     url = "https://secure.nic.cz/files/knot-dns/knot-${version}.tar.xz";
-    sha256 = "2da6e50b0662297d55f80e349568224e07fe88cad20bee1d2e22f54bb32da064";
+    sha256 = "e9ba1305d750dc08fb08687aec7ac55737ca073deaa0b867c884e0c0f2fdb753";
   };
 
   outputs = [ "bin" "out" "dev" ];
diff --git a/pkgs/servers/dns/nsd/default.nix b/pkgs/servers/dns/nsd/default.nix
index e9f030dac78..251e4424578 100644
--- a/pkgs/servers/dns/nsd/default.nix
+++ b/pkgs/servers/dns/nsd/default.nix
@@ -16,11 +16,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nsd";
-  version = "4.3.9";
+  version = "4.4.0";
 
   src = fetchurl {
     url = "https://www.nlnetlabs.nl/downloads/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-UxVJ8JKJ7L0Fgp4UuzRWMpTYW57d4sYToA9ZevITXo0=";
+    sha256 = "sha256-z81v3Zk0TKWn73wpQMJBvO9HH8MlK6PcvUxX4GOOiDY=";
   };
 
   prePatch = ''
diff --git a/pkgs/servers/domoticz/default.nix b/pkgs/servers/domoticz/default.nix
index 883b8077695..2ed4f5f2653 100644
--- a/pkgs/servers/domoticz/default.nix
+++ b/pkgs/servers/domoticz/default.nix
@@ -19,13 +19,13 @@
 
 stdenv.mkDerivation rec {
   pname = "domoticz";
-  version = "2021.1";
+  version = "2022.1";
 
   src = fetchFromGitHub {
     owner = "domoticz";
     repo = pname;
     rev = version;
-    sha256 = "03s1fx2ilhiq47p99c6iln1fi0rhdcxxsrv1zaww7f7bc744vzbk";
+    sha256 = "sha256-wPSmpk3YeA+dNjx2mBdRkP2Mx/1cfrQOMLV5H5Ti7qU=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/foundationdb/cmake.nix b/pkgs/servers/foundationdb/cmake.nix
index 2a94008a4e9..98fd6ca7981 100644
--- a/pkgs/servers/foundationdb/cmake.nix
+++ b/pkgs/servers/foundationdb/cmake.nix
@@ -123,7 +123,7 @@ let
           homepage    = "https://www.foundationdb.org";
           license     = licenses.asl20;
           platforms   = [ "x86_64-linux" ];
-          maintainers = with maintainers; [ thoughtpolice ];
+          maintainers = with maintainers; [ thoughtpolice lostnet ];
        };
     };
 in makeFdb
diff --git a/pkgs/servers/foundationdb/default.nix b/pkgs/servers/foundationdb/default.nix
index b3a876546e7..69e4ad9bd01 100644
--- a/pkgs/servers/foundationdb/default.nix
+++ b/pkgs/servers/foundationdb/default.nix
@@ -2,7 +2,7 @@
 , lib, fetchurl, fetchpatch, fetchFromGitHub
 
 , cmake, ninja, which, findutils, m4, gawk
-, python2, python3, openjdk, mono, libressl, boost
+, python2, python3, openjdk, mono, libressl, boost168
 }@args:
 
 let
@@ -10,6 +10,7 @@ let
   cmakeBuild = import ./cmake.nix (args // {
     gccStdenv    = gccStdenv;
     llvmPackages = llvmPackages;
+    boost        = boost168;
   });
 
   python3-six-patch = fetchpatch {
diff --git a/pkgs/servers/freeradius/default.nix b/pkgs/servers/freeradius/default.nix
index 06ce536b18d..a3cdec3fec8 100644
--- a/pkgs/servers/freeradius/default.nix
+++ b/pkgs/servers/freeradius/default.nix
@@ -43,11 +43,11 @@ assert withRest -> curl != null && withJson;
 with lib;
 stdenv.mkDerivation rec {
   pname = "freeradius";
-  version = "3.0.21";
+  version = "3.0.25";
 
   src = fetchurl {
     url = "ftp://ftp.freeradius.org/pub/freeradius/freeradius-server-${version}.tar.gz";
-    sha256 = "1bij07angf6ll6bq8lccd4fx1a1clf7k13kh5vbryh6lf7a19y9b";
+    sha256 = "SIOmi7PO5GAlNZqXwWkc5lXour/W3DwCHQDhCaL/TBA=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
@@ -71,12 +71,6 @@ stdenv.mkDerivation rec {
     "--localstatedir=/var"
   ] ++ optional (!linkOpenssl) "--with-openssl=no";
 
-  patches = lib.optional withRest (fetchpatch {
-    # Fix HTTP/2 in rest
-    url = "https://github.com/FreeRADIUS/freeradius-server/commit/6286520698a3cc4053b4d49eb0a61d9ba77632aa.patch";
-    sha256 = "1ycvr3ql1mfkvzydnn4aiygnidicv2hgllppv37nb1p2pk02159g";
-  });
-
   postPatch = ''
     substituteInPlace src/main/checkrad.in --replace "/usr/bin/finger" "${finger_bsd}/bin/finger"
   '';
diff --git a/pkgs/servers/ftp/bftpd/default.nix b/pkgs/servers/ftp/bftpd/default.nix
index 015802ac31e..6bedb469f4d 100644
--- a/pkgs/servers/ftp/bftpd/default.nix
+++ b/pkgs/servers/ftp/bftpd/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bftpd";
-  version = "6.0";
+  version = "6.1";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/${pname}/${pname}/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-t+YCys67drYKcD3GXxSVzZo4HTRZArIpA6EofeyPAlw=";
+    sha256 = "sha256-lyHQYU4aXQ/muAyaigStqO/ULL393SOelagFmuKDqm8=";
   };
 
   preConfigure = ''
diff --git a/pkgs/servers/gemini/agate/default.nix b/pkgs/servers/gemini/agate/default.nix
index d712855e321..32fcb856d26 100644
--- a/pkgs/servers/gemini/agate/default.nix
+++ b/pkgs/servers/gemini/agate/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchFromGitHub, rustPlatform, libiconv, Security }:
+{ lib, stdenv, nixosTests, fetchFromGitHub, rustPlatform, libiconv, Security }:
 
 rustPlatform.buildRustPackage rec {
   pname = "agate";
@@ -23,6 +23,8 @@ rustPlatform.buildRustPackage rec {
     runHook postInstallCheck
   '';
 
+  passthru.tests = { inherit (nixosTests) agate; };
+
   meta = with lib; {
     homepage = "https://github.com/mbrubeck/agate";
     changelog = "https://github.com/mbrubeck/agate/blob/master/CHANGELOG.md";
diff --git a/pkgs/servers/gemini/gmid/default.nix b/pkgs/servers/gemini/gmid/default.nix
index 80b5fbda817..b6ccbd1de70 100644
--- a/pkgs/servers/gemini/gmid/default.nix
+++ b/pkgs/servers/gemini/gmid/default.nix
@@ -1,25 +1,23 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, bison, libressl, libevent }:
+{ lib, stdenv, fetchFromGitHub, bison, which, libressl, libevent }:
 
 stdenv.mkDerivation rec {
   pname = "gmid";
-  version = "1.8";
+  version = "1.8.1";
 
   src = fetchFromGitHub {
     owner = "omar-polo";
     repo = pname;
     rev = version;
-    sha256 = "sha256-CwJPaZefRDyn2fliOd9FnOLXq70HFu2RsUZhzWQdE3E";
+    hash = "sha256-XNif164C5b5sVsZW7sy0id4qM/mJzg3RhoHbwJuJqDk=";
   };
 
-  nativeBuildInputs = [ bison ];
+  nativeBuildInputs = [ bison which ];
 
   buildInputs = [ libressl libevent ];
 
-  configurePhase = ''
-    runHook preConfigure
-    ./configure PREFIX=$out
-    runHook postConfigure
-  '';
+  configureFlags = [
+    "PREFIX=${placeholder "out"}"
+  ];
 
   meta = with lib; {
     description = "Simple and secure Gemini server";
diff --git a/pkgs/servers/gemini/gmnisrv/default.nix b/pkgs/servers/gemini/gmnisrv/default.nix
index 8d8ad16e784..81e1c17467c 100644
--- a/pkgs/servers/gemini/gmnisrv/default.nix
+++ b/pkgs/servers/gemini/gmnisrv/default.nix
@@ -1,4 +1,4 @@
-{ stdenv, lib, fetchFromSourcehut, pkg-config, openssl, mime-types, scdoc }:
+{ stdenv, lib, fetchFromSourcehut, pkg-config, openssl, mailcap, scdoc }:
 
 stdenv.mkDerivation rec {
   pname = "gmnisrv";
@@ -16,9 +16,9 @@ stdenv.mkDerivation rec {
       --replace "pkg-config" "${stdenv.cc.targetPrefix}pkg-config"
   '';
 
-  MIMEDB = "${mime-types}/etc/mime.types";
+  MIMEDB = "${mailcap}/etc/mime.types";
   nativeBuildInputs = [ pkg-config scdoc ];
-  buildInputs = [ openssl mime-types ];
+  buildInputs = [ openssl mailcap ];
 
   meta = with lib; {
     description = "A simple Gemini protocol server";
diff --git a/pkgs/servers/grocy/default.nix b/pkgs/servers/grocy/default.nix
index b1a37c9dd2a..bcdd3c97c2a 100644
--- a/pkgs/servers/grocy/default.nix
+++ b/pkgs/servers/grocy/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "grocy";
-  version = "3.1.3";
+  version = "3.2.0";
 
   src = fetchurl {
     url = "https://github.com/grocy/grocy/releases/download/v${version}/grocy_${version}.zip";
-    sha256 = "sha256-6vgnV9HQHwJGUHGxAMXxXXiEj2kNTWqGcHnpPHvma/Q=";
+    sha256 = "sha256-UPawutm5MllPYdru+Rpk8UYfHDNcrNYaq4qMbZksouI=";
   };
 
   nativeBuildInputs = [ unzip ];
diff --git a/pkgs/servers/headphones/default.nix b/pkgs/servers/headphones/default.nix
index a9403bf9edd..f39390f5ea9 100644
--- a/pkgs/servers/headphones/default.nix
+++ b/pkgs/servers/headphones/default.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "headphones";
-  version = "0.6.0-alpha.1";
+  version = "0.6.0-beta.5";
 
   src = fetchFromGitHub {
     owner = "rembo10";
     repo = "headphones";
     rev = "v${version}";
-    sha256 = "sha256-+mWtceQoHSMRkA8izZnKM0cgbt0P5Hr3arKOevpKvqc=";
+    sha256 = "1ddqk5ch1dlh895cm99li4gb4a596mvq3d0gah9vrbn6fyhp3b4v";
   };
 
   dontBuild = true;
@@ -17,17 +17,21 @@ python3.pkgs.buildPythonApplication rec {
   nativeBuildInputs = [ makeWrapper ];
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/bin $out/opt/headphones
     cp -R {data,headphones,lib,Headphones.py} $out/opt/headphones
 
     echo v${version} > $out/opt/headphones/version.txt
 
     makeWrapper $out/opt/headphones/Headphones.py $out/bin/headphones
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Automatic music downloader for SABnzbd";
-    license     = licenses.gpl3;
+    license     = licenses.gpl3Plus;
     homepage    = "https://github.com/rembo10/headphones";
     maintainers = with lib.maintainers; [ rembo10 ];
   };
diff --git a/pkgs/servers/headscale/default.nix b/pkgs/servers/headscale/default.nix
index cba689df110..1e7fa059d7e 100644
--- a/pkgs/servers/headscale/default.nix
+++ b/pkgs/servers/headscale/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "headscale";
-  version = "0.12.3";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "juanfont";
     repo = "headscale";
     rev = "v${version}";
-    sha256 = "sha256-0SIQninNnJZ6KN5RKIMJzJQZRV7ThfJZal1lhsBnTIY=";
+    sha256 = "sha256-nVGhLL7HN9m5zIZOFVOMYZXxUUx3WkLpeH/59kXoTHo=";
   };
 
-  vendorSha256 = "sha256-n5E6pzswenMJrThCys0UM2LVXKDXqCXDW7uR0V4H56w=";
+  vendorSha256 = "sha256-v76UWaF6kdmuvABg6sDMmDpJ4HWvgliyEWAbAebK3wM=";
 
   ldflags = [ "-s" "-w" "-X github.com/juanfont/headscale/cmd/headscale/cli.Version=v${version}" ];
 
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 13e82c76016..d13c5be5c1d 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 = "2022.2.2";
+  version = "2022.2.9";
   components = {
     "abode" = ps: with ps; [ abodepy ];
     "accuweather" = ps: with ps; [ accuweather ];
@@ -57,8 +57,8 @@
     "aruba" = ps: with ps; [ pexpect ];
     "arwn" = ps: with ps; [ aiohttp-cors paho-mqtt ];
     "aseko_pool_live" = ps: with ps; [ aioaseko ];
-    "asterisk_cdr" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
-    "asterisk_mbox" = ps: with ps; [ ]; # missing inputs: asterisk_mbox
+    "asterisk_cdr" = ps: with ps; [ asterisk-mbox ];
+    "asterisk_mbox" = ps: with ps; [ asterisk-mbox ];
     "asuswrt" = ps: with ps; [ aioasuswrt ];
     "atag" = ps: with ps; [ pyatag ];
     "aten_pe" = ps: with ps; [ atenpdu ];
@@ -83,7 +83,7 @@
     "bbb_gpio" = ps: with ps; [ ]; # missing inputs: Adafruit_BBIO
     "bbox" = ps: with ps; [ ]; # missing inputs: pybbox
     "beewi_smartclim" = ps: with ps; [ ]; # missing inputs: beewi_smartclim
-    "bh1750" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
+    "bh1750" = ps: with ps; [ i2csense smbus-cffi ];
     "binary_sensor" = ps: with ps; [ ];
     "bitcoin" = ps: with ps; [ blockchain ];
     "bizkaibus" = ps: with ps; [ bizkaibus ];
@@ -98,7 +98,7 @@
     "bluesound" = ps: with ps; [ xmltodict ];
     "bluetooth_le_tracker" = ps: with ps; [ pygatt ];
     "bluetooth_tracker" = ps: with ps; [ bt-proximity pybluez ];
-    "bme280" = ps: with ps; [ smbus-cffi ]; # missing inputs: bme280spi i2csense
+    "bme280" = ps: with ps; [ bme280spi i2csense smbus-cffi ];
     "bme680" = ps: with ps; [ bme680 smbus-cffi ];
     "bmp280" = ps: with ps; [ ]; # missing inputs: RPi.GPIO adafruit-circuitpython-bmp280
     "bmw_connected_drive" = ps: with ps; [ bimmer-connected ];
@@ -208,7 +208,7 @@
     "dunehd" = ps: with ps; [ pdunehd ];
     "dwd_weather_warnings" = ps: with ps; [ dwdwfsapi ];
     "dweet" = ps: with ps; [ ]; # missing inputs: dweepy
-    "dynalite" = ps: with ps; [ ]; # missing inputs: dynalite_devices
+    "dynalite" = ps: with ps; [ dynalite-devices ];
     "eafm" = ps: with ps; [ aioeafm ];
     "ebox" = ps: with ps; [ ]; # missing inputs: pyebox
     "ebusd" = ps: with ps; [ ]; # missing inputs: ebusdpy
@@ -216,7 +216,7 @@
     "ecobee" = ps: with ps; [ python-ecobee-api ];
     "econet" = ps: with ps; [ pyeconet ];
     "ecovacs" = ps: with ps; [ ]; # missing inputs: sucks
-    "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools[scan]
+    "eddystone_temperature" = ps: with ps; [ construct ]; # missing inputs: beacontools
     "edimax" = ps: with ps; [ pyedimax ];
     "edl21" = ps: with ps; [ pysml ];
     "efergy" = ps: with ps; [ pyefergy ];
@@ -264,7 +264,7 @@
     "ffmpeg" = ps: with ps; [ ha-ffmpeg ];
     "ffmpeg_motion" = ps: with ps; [ ha-ffmpeg ];
     "ffmpeg_noise" = ps: with ps; [ ha-ffmpeg ];
-    "fibaro" = ps: with ps; [ ]; # missing inputs: fiblary3
+    "fibaro" = ps: with ps; [ fiblary3-fork ];
     "fido" = ps: with ps; [ pyfido ];
     "file" = ps: with ps; [ ];
     "filesize" = ps: with ps; [ ];
@@ -312,7 +312,7 @@
     "generic" = ps: with ps; [ ];
     "generic_hygrostat" = ps: with ps; [ ];
     "generic_thermostat" = ps: with ps; [ sqlalchemy ];
-    "geniushub" = ps: with ps; [ ]; # missing inputs: geniushub-client
+    "geniushub" = ps: with ps; [ geniushub-client ];
     "geo_json_events" = ps: with ps; [ geojson-client ];
     "geo_location" = ps: with ps; [ ];
     "geo_rss_events" = ps: with ps; [ georss-generic-client ];
@@ -382,7 +382,7 @@
     "hp_ilo" = ps: with ps; [ python-hpilo ];
     "html5" = ps: with ps; [ aiohttp-cors pywebpush ];
     "http" = ps: with ps; [ aiohttp-cors ];
-    "htu21d" = ps: with ps; [ smbus-cffi ]; # missing inputs: i2csense
+    "htu21d" = ps: with ps; [ i2csense smbus-cffi ];
     "huawei_lte" = ps: with ps; [ huawei-lte-api stringcase url-normalize ];
     "hue" = ps: with ps; [ aiohue ];
     "huisbaasje" = ps: with ps; [ huisbaasje-client ];
@@ -459,12 +459,12 @@
     "launch_library" = ps: with ps; [ pylaunches ];
     "lcn" = ps: with ps; [ pypck ];
     "lg_netcast" = ps: with ps; [ pylgnetcast ];
-    "lg_soundbar" = ps: with ps; [ ]; # missing inputs: temescal
+    "lg_soundbar" = ps: with ps; [ temescal ];
     "life360" = ps: with ps; [ life360 ];
     "lifx" = ps: with ps; [ aiolifx aiolifx-effects ];
     "lifx_cloud" = ps: with ps; [ ];
     "light" = ps: with ps; [ ];
-    "lightwave" = ps: with ps; [ ]; # missing inputs: lightwave
+    "lightwave" = ps: with ps; [ lightwave ];
     "limitlessled" = ps: with ps; [ limitlessled ];
     "linksys_smart" = ps: with ps; [ ];
     "linode" = ps: with ps; [ linode-api ];
@@ -569,7 +569,7 @@
     "nest" = ps: with ps; [ aiohttp-cors google-nest-sdm ha-ffmpeg python-nest ];
     "netatmo" = ps: with ps; [ pyturbojpeg aiohttp-cors hass-nabucasa pyatmo ];
     "netdata" = ps: with ps; [ netdata ];
-    "netgear" = ps: with ps; [ ]; # missing inputs: pynetgear
+    "netgear" = ps: with ps; [ pynetgear ];
     "netgear_lte" = ps: with ps; [ eternalegypt ];
     "netio" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pynetio
     "network" = ps: with ps; [ aiohttp-cors ifaddr ];
@@ -611,15 +611,15 @@
     "onboarding" = ps: with ps; [ aiohttp-cors home-assistant-frontend pillow sqlalchemy ];
     "oncue" = ps: with ps; [ aiooncue ];
     "ondilo_ico" = ps: with ps; [ aiohttp-cors ondilo ];
-    "onewire" = ps: with ps; [ ]; # missing inputs: pi1wire pyownet
+    "onewire" = ps: with ps; [ pi1wire pyownet ];
     "onkyo" = ps: with ps; [ onkyo-eiscp ];
-    "onvif" = ps: with ps; [ ha-ffmpeg ]; # missing inputs: WSDiscovery onvif-zeep-async
+    "onvif" = ps: with ps; [ wsdiscovery ha-ffmpeg onvif-zeep-async ];
     "open_meteo" = ps: with ps; [ open-meteo ];
     "openalpr_cloud" = ps: with ps; [ ];
     "openalpr_local" = ps: with ps; [ ];
     "opencv" = ps: with ps; [ numpy ]; # missing inputs: opencv-python-headless
     "openerz" = ps: with ps; [ openerz-api ];
-    "openevse" = ps: with ps; [ ]; # missing inputs: openevsewifi
+    "openevse" = ps: with ps; [ openevsewifi ];
     "openexchangerates" = ps: with ps; [ ];
     "opengarage" = ps: with ps; [ open-garage ];
     "openhardwaremonitor" = ps: with ps; [ ];
@@ -636,7 +636,7 @@
     "orvibo" = ps: with ps; [ orvibo ];
     "osramlightify" = ps: with ps; [ ]; # missing inputs: lightify
     "otp" = ps: with ps; [ pyotp ];
-    "overkiz" = ps: with ps; [ ]; # missing inputs: pyoverkiz
+    "overkiz" = ps: with ps; [ pyoverkiz ];
     "ovo_energy" = ps: with ps; [ ovoenergy ];
     "owntracks" = ps: with ps; [ pynacl pyturbojpeg aiohttp-cors hass-nabucasa paho-mqtt ];
     "ozw" = ps: with ps; [ aiohttp-cors paho-mqtt python-openzwave-mqtt ];
@@ -761,7 +761,7 @@
     "sendgrid" = ps: with ps; [ sendgrid ];
     "sense" = ps: with ps; [ sense-energy ];
     "sensehat" = ps: with ps; [ ]; # missing inputs: sense-hat
-    "senseme" = ps: with ps; [ ]; # missing inputs: aiosenseme
+    "senseme" = ps: with ps; [ aiosenseme ];
     "sensibo" = ps: with ps; [ ]; # missing inputs: pysensibo
     "sensor" = ps: with ps; [ sqlalchemy ];
     "sentry" = ps: with ps; [ sentry-sdk ];
@@ -780,7 +780,7 @@
     "sia" = ps: with ps; [ pysiaalarm ];
     "sigfox" = ps: with ps; [ ];
     "sighthound" = ps: with ps; [ pillow simplehound ];
-    "signal_messenger" = ps: with ps; [ ]; # missing inputs: pysignalclirestapi
+    "signal_messenger" = ps: with ps; [ pysignalclirestapi ];
     "simplepush" = ps: with ps; [ ]; # missing inputs: simplepush
     "simplisafe" = ps: with ps; [ simplisafe-python ];
     "simulated" = ps: with ps; [ ];
@@ -835,7 +835,7 @@
     "statistics" = ps: with ps; [ sqlalchemy ];
     "statsd" = ps: with ps; [ statsd ];
     "steam_online" = ps: with ps; [ ]; # missing inputs: steamodd
-    "steamist" = ps: with ps; [ aiohttp-cors ifaddr ]; # missing inputs: aiosteamist discovery30303
+    "steamist" = ps: with ps; [ aiohttp-cors aiosteamist discovery30303 ifaddr ];
     "stiebel_eltron" = ps: with ps; [ pymodbus ]; # missing inputs: pystiebeleltron
     "stookalert" = ps: with ps; [ ]; # missing inputs: stookalert
     "stream" = ps: with ps; [ pyturbojpeg aiohttp-cors av ];
@@ -967,7 +967,7 @@
     "voicerss" = ps: with ps; [ ];
     "volkszaehler" = ps: with ps; [ volkszaehler ];
     "volumio" = ps: with ps; [ pyvolumio ];
-    "volvooncall" = ps: with ps; [ ]; # missing inputs: volvooncall
+    "volvooncall" = ps: with ps; [ volvooncall ];
     "vultr" = ps: with ps; [ vultr ];
     "w800rf32" = ps: with ps; [ ]; # missing inputs: pyW800rf32
     "wake_on_lan" = ps: with ps; [ wakeonlan ];
@@ -1149,6 +1149,7 @@
     "dte_energy_bridge"
     "duckdns"
     "dunehd"
+    "dynalite"
     "eafm"
     "ecobee"
     "econet"
@@ -1368,6 +1369,7 @@
     "ness_alarm"
     "nest"
     "netatmo"
+    "netgear"
     "network"
     "nexia"
     "nightscout"
@@ -1386,6 +1388,8 @@
     "onboarding"
     "oncue"
     "ondilo_ico"
+    "onewire"
+    "onvif"
     "open_meteo"
     "openalpr_cloud"
     "openalpr_local"
@@ -1396,6 +1400,7 @@
     "openuv"
     "openweathermap"
     "opnsense"
+    "overkiz"
     "ovo_energy"
     "owntracks"
     "ozw"
@@ -1460,6 +1465,7 @@
     "season"
     "select"
     "sense"
+    "senseme"
     "sensor"
     "sentry"
     "seventeentrack"
@@ -1470,6 +1476,7 @@
     "sia"
     "sigfox"
     "sighthound"
+    "signal_messenger"
     "simplisafe"
     "simulated"
     "siren"
@@ -1507,6 +1514,7 @@
     "startca"
     "statistics"
     "statsd"
+    "steamist"
     "stream"
     "stt"
     "subaru"
diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix
index 79d452bc152..920343de67b 100644
--- a/pkgs/servers/home-assistant/default.nix
+++ b/pkgs/servers/home-assistant/default.nix
@@ -15,6 +15,9 @@
 # Additional packages to add to propagatedBuildInputs
 , extraPackages ? ps: []
 
+# Write out info about included extraComponents and extraPackages
+, writeText
+
 # Override Python packages using
 # self: super: { pkg = super.pkg.overridePythonAttrs (oldAttrs: { ... }); }
 # Applied after defaultOverrides
@@ -57,8 +60,18 @@ let
     # Pinned due to API changes in 0.1.0
     (mkOverride "poolsense" "0.0.8" "09y4fq0gdvgkfsykpxnvmfv92dpbknnq5v82spz43ak6hjnhgcyp")
 
-    # Requirements for recorder not found: ['sqlalchemy==1.4.27'].
-    #(mkOverride "sqlalchemy" "1.4.27" "031jbd0svrvwr3n52iibp9mkwsj9wicnck45yd26da5kmsfkas6p")
+    # Pinned due to API changes >0.3.5.3
+    (self: super: {
+      pyatag = super.pyatag.overridePythonAttrs (oldAttrs: rec {
+        version = "0.3.5.3";
+        src = fetchFromGitHub {
+          owner = "MatsNl";
+          repo = "pyatag";
+          rev = version;
+          sha256 = "00ly4injmgrj34p0lyx7cz2crgnfcijmzc0540gf7hpwha0marf6";
+        };
+      });
+    })
 
     # Pinned due to API changes in 0.4.0
     (self: super: {
@@ -92,9 +105,9 @@ let
     })
   ];
 
-  mkOverride = attrname: version: sha256:
+  mkOverride = attrName: version: sha256:
     self: super: {
-      ${attrname} = super.${attrname}.overridePythonAttrs (oldAttrs: {
+      ${attrName} = super.${attrName}.overridePythonAttrs (oldAttrs: {
         inherit version;
         src = oldAttrs.src.override {
           inherit version sha256;
@@ -120,8 +133,12 @@ let
   # Ensure that we are using a consistent package set
   extraBuildInputs = extraPackages python.pkgs;
 
+  # Create info about included packages and components
+  extraComponentsFile = writeText "home-assistant-components" (lib.concatStringsSep "\n" extraComponents);
+  extraPackagesFile = writeText "home-assistant-packages" (lib.concatMapStringsSep "\n" (pkg: pkg.pname) extraBuildInputs);
+
   # Don't forget to run parse-requirements.py after updating
-  hassVersion = "2022.2.2";
+  hassVersion = "2022.2.9";
 
 in python.pkgs.buildPythonApplication rec {
   pname = "homeassistant";
@@ -139,7 +156,7 @@ in python.pkgs.buildPythonApplication rec {
     owner = "home-assistant";
     repo = "core";
     rev = version;
-    hash = "sha256:09hji1n6blnr10k5y1rhp4v66iz2gwfd7afcd0sz156kw4g5mq89";
+    hash = "sha256-So/MAKyFVa1TchrVE4ego1fRbgOXCoXR3w/rJLFSBqI=";
   };
 
   # leave this in, so users don't have to constantly update their downstream patch handling
@@ -148,7 +165,6 @@ in python.pkgs.buildPythonApplication rec {
       src = ./patches/ffmpeg-path.patch;
       ffmpeg = "${lib.getBin ffmpeg}/bin/ffmpeg";
     })
-    ./patches/tests-ignore-OSErrors-in-hass-fixture.patch
   ];
 
   postPatch = let
@@ -274,6 +290,11 @@ in python.pkgs.buildPythonApplication rec {
     export PATH=${inetutils}/bin:$PATH
   '';
 
+  postInstall = ''
+    cp -v ${extraComponentsFile} $out/extra_components
+    cp -v ${extraPackagesFile} $out/extra_packages
+  '';
+
   passthru = {
     inherit
       availableComponents
diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix
index 6ee68c368ff..2aabb0d9312 100644
--- a/pkgs/servers/home-assistant/frontend.nix
+++ b/pkgs/servers/home-assistant/frontend.nix
@@ -4,7 +4,7 @@ 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 = "20220203.0";
+  version = "20220203.1";
   format = "wheel";
 
   src = fetchPypi {
@@ -12,7 +12,7 @@ buildPythonPackage rec {
     pname = "home_assistant_frontend";
     dist = "py3";
     python = "py3";
-    sha256 = "sha256-5iODXctmkw+MIdf/GECGhhWOMruMqeWBDWwwwrNQMjU=";
+    sha256 = "sha256-6+TzBhHo9+eo6Hlk8RF+BAt4O0i759iAN+dKAPDmTNY=";
   };
 
   # there is nothing to strip in this package
diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py
index fbe46b23778..0e3d5d5553e 100755
--- a/pkgs/servers/home-assistant/parse-requirements.py
+++ b/pkgs/servers/home-assistant/parse-requirements.py
@@ -34,16 +34,12 @@ from rich.table import Table
 COMPONENT_PREFIX = "homeassistant.components"
 PKG_SET = "home-assistant.python.pkgs"
 
-# If some requirements are matched by multiple Python packages,
-# the following can be used to choose one of them
+# If some requirements are matched by multiple or no Python packages, the
+# following can be used to choose the correct one
 PKG_PREFERENCES = {
-    # Use python3Packages.youtube-dl-light instead of python3Packages.youtube-dl
-    "youtube-dl": "youtube-dl-light",
-    "tensorflow-bin": "tensorflow",
-    "tensorflow-bin_2": "tensorflow",
-    "tensorflowWithoutCuda": "tensorflow",
-    "tensorflow-build_2": "tensorflow",
-    "whois": "python-whois",
+    "youtube_dl": "youtube-dl-light",
+    "tensorflow": "tensorflow",
+    "fiblary3": "fiblary3-fork", # https://github.com/home-assistant/core/issues/66466
 }
 
 
@@ -120,39 +116,28 @@ def dump_packages() -> Dict[str, Dict[str, str]]:
 
 
 def name_to_attr_path(req: str, packages: Dict[str, Dict[str, str]]) -> Optional[str]:
-    attr_paths = set()
+    if req in PKG_PREFERENCES:
+        return f"{PKG_SET}.{PKG_PREFERENCES[req]}"
+    attr_paths = []
     names = [req]
     # E.g. python-mpd2 is actually called python3.6-mpd2
     # instead of python-3.6-python-mpd2 inside Nixpkgs
     if req.startswith("python-") or req.startswith("python_"):
         names.append(req[len("python-") :])
-    # Add name variant without extra_require, e.g. samsungctl
-    # instead of samsungctl[websocket]
-    if req.endswith("]"):
-        names.append(req[:req.find("[")])
     for name in names:
         # treat "-" and "_" equally
         name = re.sub("[-_]", "[-_]", name)
         # python(minor).(major)-(pname)-(version or unstable-date)
         # we need the version qualifier, or we'll have multiple matches
         # (e.g. pyserial and pyserial-asyncio when looking for pyserial)
-        pattern = re.compile("^python\\d\\.\\d-{}-(?:\\d|unstable-.*)".format(name), re.I)
+        pattern = re.compile(f"^python\\d\\.\\d-{name}-(?:\\d|unstable-.*)", re.I)
         for attr_path, package in packages.items():
             if pattern.match(package["name"]):
-                attr_paths.add(attr_path)
-    if len(attr_paths) > 1:
-        for to_replace, replacement in PKG_PREFERENCES.items():
-            try:
-                attr_paths.remove(PKG_SET + "." + to_replace)
-                attr_paths.add(PKG_SET + "." + replacement)
-            except KeyError:
-                pass
+                attr_paths.append(attr_path)
     # Let's hope there's only one derivation with a matching name
-    assert len(attr_paths) <= 1, "{} matches more than one derivation: {}".format(
-        req, attr_paths
-    )
-    if len(attr_paths) == 1:
-        return attr_paths.pop()
+    assert len(attr_paths) <= 1, f"{req} matches more than one derivation: {attr_paths}"
+    if attr_paths:
+        return attr_paths[0]
     else:
         return None
 
@@ -180,6 +165,10 @@ def main() -> None:
             # Therefore, if there's a "#" in the line, only take the part after it
             req = req[req.find("#") + 1 :]
             name, required_version = req.split("==", maxsplit=1)
+            # Remove extra_require from name, e.g. samsungctl instead of
+            # samsungctl[websocket]
+            if name.endswith("]"):
+                name = name[:name.find("[")]
             attr_path = name_to_attr_path(name, packages)
             if our_version := get_pkg_version(name, packages):
                 if Version.parse(our_version) < Version.parse(required_version):
diff --git a/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch b/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch
deleted file mode 100644
index add0ea1d552..00000000000
--- a/pkgs/servers/home-assistant/patches/tests-ignore-OSErrors-in-hass-fixture.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-From 3e3f5c37252a33ea1e71c39f2ca0f13940c261ad Mon Sep 17 00:00:00 2001
-From: Martin Weinelt <hexa@darmstadt.ccc.de>
-Date: Sat, 17 Jul 2021 16:11:23 +0200
-Subject: [PATCH] tests: ignore OSErrors in hass fixture
-
-The nix sandbox will cause OSErrors due to limitations imposed on
-network interaction. This change makes it so we forgive these cases.
----
- tests/conftest.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/tests/conftest.py b/tests/conftest.py
-index 1f5ffc80d0..b284727a0f 100644
---- a/tests/conftest.py
-+++ b/tests/conftest.py
-@@ -168,6 +168,8 @@ def hass(loop, load_registries, hass_storage, request):
-             continue
-         if isinstance(ex, ServiceNotFound):
-             continue
-+        if isinstance(ex, OSError):
-+            continue
-         raise ex
- 
- 
--- 
-2.32.0
-
diff --git a/pkgs/servers/home-assistant/tests.nix b/pkgs/servers/home-assistant/tests.nix
index 25bd411b76f..31dbe64725c 100644
--- a/pkgs/servers/home-assistant/tests.nix
+++ b/pkgs/servers/home-assistant/tests.nix
@@ -13,6 +13,7 @@ let
     google_translate = [ mutagen ];
     nest = [ ha-av ];
     onboarding = [ pymetno rpi-bad-power ];
+    version = [ aioaseko ];
     voicerss = [ mutagen ];
     yandextts = [ mutagen ];
     zha = [ pydeconz ];
diff --git a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
index 86c9ad6c00d..a67ea3cc03e 100644
--- a/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
+++ b/pkgs/servers/http/apache-modules/mod_fastcgi/default.nix
@@ -1,12 +1,5 @@
 { lib, stdenv, fetchFromGitHub, fetchurl, apacheHttpd }:
 
-let
-  apache-24-patch = fetchurl {
-    name = "compile-against-apache24.diff";
-    url = "https://projects.archlinux.org/svntogit/packages.git/plain/trunk/compile-against-apache24.diff?h=packages/mod_fastcgi&id=81c7cb99d15682df3bdb1edcaeea5259e9e43a42";
-    sha256 = "000qvrf5jb979i37rimrdivcgjijcffgrpkx38c0rn62z9jz61g4";
-  };
-in
 stdenv.mkDerivation rec {
   pname = "mod_fastcgi";
   version = "2.4.7.1";
@@ -18,8 +11,6 @@ stdenv.mkDerivation rec {
     hash = "sha256-ovir59kCjKkgbraX23nsmzlMzGdeNTyj3MQd8cgvLsg=";
   };
 
-  patches = [ apache-24-patch ];
-
   buildInputs = [ apacheHttpd ];
 
   preBuild = ''
@@ -43,6 +34,5 @@ stdenv.mkDerivation rec {
     '';
 
     platforms = lib.platforms.linux;
-    broken = true; # patch 'compile-against-apache24.diff' no longer works
   };
 }
diff --git a/pkgs/servers/http/apt-cacher-ng/default.nix b/pkgs/servers/http/apt-cacher-ng/default.nix
index 9e40bb648ea..9cdc0c58ee4 100644
--- a/pkgs/servers/http/apt-cacher-ng/default.nix
+++ b/pkgs/servers/http/apt-cacher-ng/default.nix
@@ -11,24 +11,25 @@
 , systemd
 , tcp_wrappers
 , zlib
+, c-ares
 }:
 
 stdenv.mkDerivation rec {
   pname = "apt-cacher-ng";
-  version = "3.6.3";
+  version = "3.7.4";
 
   src = fetchurl {
-    url = "http://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
-    sha256 = "sha256-P4ArWpxjOjBi9EiDp/ord17GfUOFwpiTKGvSEuZljGA=";
+    url = "https://ftp.debian.org/debian/pool/main/a/apt-cacher-ng/apt-cacher-ng_${version}.orig.tar.xz";
+    sha256 = "0pwsj9rf6a6q7cnfbpcrfq2gjcy7sylqzqqr49g2zi39lrrh8533";
   };
 
   nativeBuildInputs = [ cmake doxygen pkg-config ];
-  buildInputs = [ bzip2 fuse libevent xz openssl systemd tcp_wrappers zlib ];
+  buildInputs = [ bzip2 fuse libevent xz openssl systemd tcp_wrappers zlib c-ares ];
 
   meta = with lib; {
-    description = "A caching proxy specialized for linux distribution files";
+    description = "A caching proxy specialized for Linux distribution files";
     homepage = "https://www.unix-ag.uni-kl.de/~bloch/acng/";
-    license = licenses.gpl2;
+    license = licenses.bsdOriginal;
     platforms = platforms.linux;
     maintainers = [ maintainers.makefu ];
   };
diff --git a/pkgs/servers/http/gitlab-pages/default.nix b/pkgs/servers/http/gitlab-pages/default.nix
index da4715c5432..a907de3e73f 100644
--- a/pkgs/servers/http/gitlab-pages/default.nix
+++ b/pkgs/servers/http/gitlab-pages/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "gitlab-pages";
-  version = "1.49.0";
+  version = "1.51.0";
 
   src = fetchFromGitLab {
     owner = "gitlab-org";
     repo = "gitlab-pages";
     rev = "v${version}";
-    sha256 = "sha256-9orJEt0w0ORHKEOpp40Aubj/pfnNO/A3oHEgWIdk+vM=";
+    sha256 = "sha256-TOHD3SEKz5aVG4ikqls4sYMa+FnP8YaCoVAl+HRG9Sc=";
   };
 
-  vendorSha256 = "sha256-/dmEsoeB3UDOBZ/9rbnywRtpXVKaJKGF6xPeWTA4PPE=";
+  vendorSha256 = "sha256-0Vp+dVDMLl52dKLj1v+mgg+odu5DNfrANBzTztVymh8=";
   subPackages = [ "." ];
 
   meta = with lib; {
diff --git a/pkgs/servers/http/jetty/default.nix b/pkgs/servers/http/jetty/default.nix
index 25eb0c6312c..86139e7a24f 100644
--- a/pkgs/servers/http/jetty/default.nix
+++ b/pkgs/servers/http/jetty/default.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "jetty";
-  version = "9.4.43.v20210629";
+  version = "9.4.45.v20220203";
   src = fetchurl {
     url = "mirror://maven/org/eclipse/jetty/jetty-distribution/${version}/jetty-distribution-${version}.tar.gz";
-    sha256 = "sha256-AfrmVLCZMuRGAZqoWeevbgXifbreErVM17rjJJ/HI9k=";
+    sha256 = "sha256-wmM03qAnNsiEDsLkWyJKZIb3SPCRGCxTsgKBWwopMAw=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/http/nginx/modules.nix b/pkgs/servers/http/nginx/modules.nix
index b560c8d42cc..b159cc00aaa 100644
--- a/pkgs/servers/http/nginx/modules.nix
+++ b/pkgs/servers/http/nginx/modules.nix
@@ -252,8 +252,8 @@ in
       name = "modsecurity-nginx";
       owner = "SpiderLabs";
       repo = "ModSecurity-nginx";
-      rev = "v1.0.1";
-      sha256 = "0cbb3g3g4v6q5zc6an212ia5kjjad62bidnkm8b70i4qv1615pzf";
+      rev = "v1.0.2";
+      sha256 = "sha256-UXiitc3jZlgXlCsDPS+xEFLNRVgRbn8BCCXUEqAWlII=";
     };
     inputs = [ pkgs.curl pkgs.geoip pkgs.libmodsecurity pkgs.libxml2 pkgs.lmdb pkgs.yajl ];
   };
diff --git a/pkgs/servers/hylafaxplus/default.nix b/pkgs/servers/hylafaxplus/default.nix
index 1731da35876..c5966a10937 100644
--- a/pkgs/servers/hylafaxplus/default.nix
+++ b/pkgs/servers/hylafaxplus/default.nix
@@ -30,8 +30,8 @@
 let
 
   pname = "hylafaxplus";
-  version = "7.0.4";
-  sha256 = "1y4b178rxa4ivxm8cnypnnyc8db7cjqyyzy60hiw215x4cyyj4i5";
+  version = "7.0.5";
+  sha256 = "1blv251r0yhnhxk9wgkjgr35al50q23hiskjkcbs8lmqqrz0cm8f";
 
   configSite = substituteAll {
     name = "${pname}-config.site";
@@ -96,6 +96,7 @@ stdenv.mkDerivation {
   postInstall = ". ${postInstall}";
   postInstallCheck = ". ${./post-install-check.sh}";
   meta = {
+    changelog = "https://hylafax.sourceforge.io/news/${version}.php";
     description = "enterprise-class system for sending and receiving facsimiles";
     downloadPage = "https://hylafax.sourceforge.io/download.php";
     homepage = "https://hylafax.sourceforge.io";
diff --git a/pkgs/servers/imgproxy/default.nix b/pkgs/servers/imgproxy/default.nix
index f4ef0636b02..29b33cd6610 100644
--- a/pkgs/servers/imgproxy/default.nix
+++ b/pkgs/servers/imgproxy/default.nix
@@ -3,16 +3,16 @@
 
 buildGoModule rec {
   pname = "imgproxy";
-  version = "3.2.1";
+  version = "3.3.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
-    sha256 = "sha256-89LBpENzDIvlRfNeigSvzBrprw8MRsdRZMQ5qUs0wI8=";
+    sha256 = "sha256-8oUPqtoxdJ768CmDNBicBGCyejt2v9GIahVRL6pYDJ4=";
     rev = "v${version}";
   };
 
-  vendorSha256 = "sha256-MHcV6n6uZsjC85vQVl+o6JD+psvE2xuPr//3RueT8V0=";
+  vendorSha256 = "sha256-Dr5qCLVsv22BcISo2OyB+VEDncPwpcp323w9IfDTQv0=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/irc/ergochat/default.nix b/pkgs/servers/irc/ergochat/default.nix
index 1aa5f5158aa..57f79ff916c 100644
--- a/pkgs/servers/irc/ergochat/default.nix
+++ b/pkgs/servers/irc/ergochat/default.nix
@@ -1,6 +1,6 @@
-{ buildGo117Module, fetchFromGitHub, lib, nixosTests }:
+{ buildGoModule, fetchFromGitHub, lib, nixosTests }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "ergo";
   version = "2.9.1";
 
diff --git a/pkgs/servers/jackett/default.nix b/pkgs/servers/jackett/default.nix
index 6327f507938..27228cc5bf7 100644
--- a/pkgs/servers/jackett/default.nix
+++ b/pkgs/servers/jackett/default.nix
@@ -9,13 +9,13 @@
 
 buildDotnetModule rec {
   pname = "jackett";
-  version = "0.20.428";
+  version = "0.20.631";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "Wf1eQkKovRIMUQeqadmOQl5R0syoKWiZENjRR4jGUdk=";
+    sha256 = "1y5SQzizjslQ5+JWGrrtk45uvI/hOMnwLL69NhBmNMc=";
   };
 
   projectFile = "src/Jackett.Server/Jackett.Server.csproj";
diff --git a/pkgs/servers/jackett/deps.nix b/pkgs/servers/jackett/deps.nix
index 3b99b595292..3b0fb8cb78b 100644
--- a/pkgs/servers/jackett/deps.nix
+++ b/pkgs/servers/jackett/deps.nix
@@ -8,7 +8,7 @@
   (fetchNuGet { pname = "CommandLineParser"; version = "2.8.0"; sha256 = "1m32xyilv2b7k55jy8ddg08c20glbcj2yi545kxs9hj2ahanhrbb"; })
   (fetchNuGet { pname = "coverlet.msbuild"; version = "3.1.0"; sha256 = "1rx5x2zks2aryy6mbly86a83gxzm0y7bbx9834b3224673rs7ra0"; })
   (fetchNuGet { pname = "DotNet4.SocksProxy"; version = "1.4.0.1"; sha256 = "1ig2a9ism041a6qrqkxa9xhvp19yxzcadlap5i1kz97f05a2msvb"; })
-  (fetchNuGet { pname = "FlareSolverrSharp"; version = "2.1.0"; sha256 = "17khlhfl3pg2619pyn3rbyw5hbjwra3rwzrkiqcwkikfla5185gf"; })
+  (fetchNuGet { pname = "FlareSolverrSharp"; version = "2.2.0"; sha256 = "07jsyhlrg0jb1cjn1p20wp2c9rsjqxv7kh6vvd0xv0mjd88idchr"; })
   (fetchNuGet { pname = "FluentAssertions"; version = "6.2.0"; sha256 = "10zhr7hgzm9w0gfg0sa0h2qdlna0w7n2jl72s4j7hi6mf68px2xm"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore"; version = "2.2.0"; sha256 = "0vsv7hcsmnsgqhs67zp207n7m9ix3dbwm1p2ch3dizkcdvz235f9"; })
   (fetchNuGet { pname = "Microsoft.AspNetCore.Antiforgery"; version = "2.2.0"; sha256 = "026wjdwjx0lgccqv0xi5gxylxzgz5ifgxf25p5pqakgrhkz0a59l"; })
diff --git a/pkgs/servers/janus-gateway/default.nix b/pkgs/servers/janus-gateway/default.nix
index 681d7b2ded5..e9138c2eedd 100644
--- a/pkgs/servers/janus-gateway/default.nix
+++ b/pkgs/servers/janus-gateway/default.nix
@@ -15,13 +15,13 @@ in
 
 stdenv.mkDerivation rec {
   pname = "janus-gateway";
-  version = "0.11.7";
+  version = "0.11.8";
 
   src = fetchFromGitHub {
     owner = "meetecho";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7Q/mbY3Sh2Hl1iXDN/ZM3sLz0FCsYdT8QxiyCQC2qN0=";
+    sha256 = "sha256-otTIDwcbF8Rcas048Vkn30v39GYIYbAIY72ipJhIwC4=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config gengetopt ];
diff --git a/pkgs/servers/jibri/default.nix b/pkgs/servers/jibri/default.nix
index cea7901b949..383bd524d64 100644
--- a/pkgs/servers/jibri/default.nix
+++ b/pkgs/servers/jibri/default.nix
@@ -13,10 +13,10 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "jibri";
-  version = "8.0-114-g20e233e";
+  version = "8.0-93-g51fe7a2";
   src = fetchurl {
     url = "https://download.jitsi.org/stable/${pname}_${version}-1_all.deb";
-    sha256 = "DD1l7HQLqpPXgSzfKkZ9dYnGhinEoiGhVj4bbWWBnQM=";
+    sha256 = "8jBSkFIBi7NYxV41VtFmGfevVp6+emRWdoQ1l4dS6PA=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/klipper/default.nix b/pkgs/servers/klipper/default.nix
index 48d6118add9..fd80dc4b87c 100644
--- a/pkgs/servers/klipper/default.nix
+++ b/pkgs/servers/klipper/default.nix
@@ -6,13 +6,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "klipper";
-  version = "unstable-2022-01-09";
+  version = "unstable-2022-02-07";
 
   src = fetchFromGitHub {
     owner = "KevinOConnor";
     repo = "klipper";
-    rev = "6e6ad7b5201d3452aa605f4ae852c51239c2c7d8";
-    sha256 = "sha256-cflcGweEjB0xj2LhYJzyvqFSQen2vhYXlL7lz/HoGaM=";
+    rev = "6d7c03365ad13c4661675aaccd0a3dc5be544493";
+    sha256 = "sha256-xFSZkOFETGcJXA6CUCReoyNZXhDAfgKkWoeDRqueBVw=";
   };
 
   sourceRoot = "source/klippy";
diff --git a/pkgs/servers/maddy/default.nix b/pkgs/servers/maddy/default.nix
index b4ddb80c165..598946037db 100644
--- a/pkgs/servers/maddy/default.nix
+++ b/pkgs/servers/maddy/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "maddy";
-  version = "0.5.2";
+  version = "0.5.3";
 
   src = fetchFromGitHub {
     owner = "foxcpp";
     repo = "maddy";
     rev = "v${version}";
-    sha256 = "sha256-b85g8Eu7qWTI+ggMr7JL/2BAVbkXocpsR89P6s6TfMg=";
+    sha256 = "sha256-UB9Y2nNkiN0L3NIfUqnpaJJqNuAnCYIeEyS60TnnIRs=";
   };
 
-  vendorSha256 = "sha256-kzSwqT3r6uGxq1GNzCWCn8VoCxmVtiUb23XLCpsPv/c=";
+  vendorSha256 = "sha256-lL9hlICc9t/2v6eawG8LU6hpAKpY7raTg5l1RagewPs=";
 
   ldflags = [ "-s" "-w" "-X github.com/foxcpp/maddy.Version=${version}" ];
 
diff --git a/pkgs/servers/mail/postfix/default.nix b/pkgs/servers/mail/postfix/default.nix
index 064d138d398..08c55f77172 100644
--- a/pkgs/servers/mail/postfix/default.nix
+++ b/pkgs/servers/mail/postfix/default.nix
@@ -24,11 +24,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "postfix";
-  version = "3.6.4";
+  version = "3.6.5";
 
   src = fetchurl {
     url = "http://cdn.postfix.johnriley.me/mirrors/postfix-release/official/${pname}-${version}.tar.gz";
-    hash = "sha256-jeBhnc8vp8IVqAz4S4KrcWMdTUciy6CUlyXOPhgDHU4=";
+    hash = "sha256-MA+ogRzqINAdJcYZ01m/+rgmVucE2qcZ4MmvxOz/SAg=";
   };
 
   nativeBuildInputs = [ makeWrapper m4 ];
diff --git a/pkgs/servers/mastodon/default.nix b/pkgs/servers/mastodon/default.nix
index e863451bb5e..a173c594c6b 100644
--- a/pkgs/servers/mastodon/default.nix
+++ b/pkgs/servers/mastodon/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, bundlerEnv
+{ lib, stdenv, nodejs-slim, mkYarnPackage, fetchFromGitHub, fetchpatch, bundlerEnv
 , yarn, callPackage, imagemagick, ffmpeg, file, ruby_3_0, writeShellScript
 
   # Allow building a fork or custom version of Mastodon:
@@ -15,6 +15,14 @@ stdenv.mkDerivation rec {
   # Putting the callPackage up in the arguments list also does not work.
   src = if srcOverride != null then srcOverride else callPackage ./source.nix {};
 
+  patches = [
+    (fetchpatch {
+      name = "CVE-2022-0432.patch";
+      url = "https://github.com/mastodon/mastodon/commit/4d6d4b43c6186a13e67b92eaf70fe1b70ea24a09.patch";
+      sha256 = "sha256-C18X2ErBqP/dIEt8NrA7hdiqxUg5977clouuu7Lv4/E=";
+    })
+  ];
+
   mastodon-gems = bundlerEnv {
     name = "${pname}-gems-${version}";
     inherit version;
@@ -115,7 +123,7 @@ stdenv.mkDerivation rec {
     description = "Self-hosted, globally interconnected microblogging software based on ActivityPub";
     homepage = "https://joinmastodon.org";
     license = licenses.agpl3Plus;
-    platforms = [ "x86_64-linux" "i686-linux" ];
+    platforms = [ "x86_64-linux" "i686-linux" "aarch64-linux" ];
     maintainers = with maintainers; [ petabyteboy happy-river erictapen ];
   };
 }
diff --git a/pkgs/servers/matrix-conduit/default.nix b/pkgs/servers/matrix-conduit/default.nix
index cde926de269..c2cb3123b74 100644
--- a/pkgs/servers/matrix-conduit/default.nix
+++ b/pkgs/servers/matrix-conduit/default.nix
@@ -14,21 +14,14 @@ rustPlatform.buildRustPackage rec {
   cargoSha256 = "sha256-fpjzc2HiWP6nV8YZOwxsIOhy4ht/tQqcvCkcLMIFUaQ=";
 
   nativeBuildInputs = with pkgs; [
-    clang
-    llvmPackages.libclang
+    rustPlatform.bindgenHook
   ];
 
   buildInputs = with pkgs; [
     pkg-config
-    clangStdenv
-    llvmPackages.libclang.lib
     rocksdb
   ];
 
-  preBuild = with pkgs; ''
-    export LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
-  '';
-
   cargoBuildFlags = "--bin conduit";
 
   meta = with lib; {
diff --git a/pkgs/servers/matrix-synapse/default.nix b/pkgs/servers/matrix-synapse/default.nix
index b94257e6d5e..578c5ec7228 100644
--- a/pkgs/servers/matrix-synapse/default.nix
+++ b/pkgs/servers/matrix-synapse/default.nix
@@ -11,11 +11,11 @@ in
 with python3.pkgs;
 buildPythonApplication rec {
   pname = "matrix-synapse";
-  version = "1.51.0";
+  version = "1.53.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-qhwFRveFCwflQmVCwzThC8sP+YCqckgCaXAc3IRms0g=";
+    sha256 = "0pp9l3191rg9iildknm1s1phi896y7zh7b3a6m16f6bmchmn8jz3";
   };
 
   buildInputs = [ openssl ];
diff --git a/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix b/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
index 88ec52f4536..58b19586e4b 100644
--- a/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
+++ b/pkgs/servers/matrix-synapse/plugins/mjolnir-antispam.nix
@@ -1,16 +1,41 @@
-{ lib, buildPythonPackage, fetchFromGitHub, matrix-synapse }:
+{ lib, buildPythonPackage, fetchFromGitHub, matrix-synapse, fetchpatch }:
 
 buildPythonPackage rec {
   pname = "matrix-synapse-mjolnir-antispam";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "mjolnir";
     rev = "v${version}";
-    sha256 = "0fvdzn5l1a6bhr1qzgs30a3kh6nj0byqichnl149sjgr0v4lpkz1";
+    sha256 = "05O7NgqlsVu4mdx1+0CZgBvwvBCWYg7nSFknJiXxuoc=";
   };
 
+  patches = [
+    #  Update legacy antispam plugin with newer types. Or it'll just ignore mjolnir 1.3.1 rules.
+    (fetchpatch {
+      url = "https://github.com/matrix-org/mjolnir/commit/eb8c5e08b4c2b78e6a796e38e826ac3b7e9dfbaf.patch";
+      sha256 = "sha256-rfFU45PfxR2YmNRU74eBI9M2hqBVZcNH0Sw8W/cavD4=";
+      stripLen = 1;
+    })
+    # Port to Synapse module API (needs Synapse >= 1.37.0)
+    (fetchpatch {
+      url = "https://github.com/matrix-org/mjolnir/commit/9c9bd0e02907412b5fa6b95844e9f53ac07b61fd.patch";
+      sha256 = "sha256-HR2OvqFnlQwRV7ezfOjseatjo+3P8i9PsV7D+hLD1Yo=";
+      stripLen = 1;
+      excludes = [
+        "README.md"
+        "mx-tester.yml"
+      ];
+    })
+    # Move glob_to_regex into the source
+    (fetchpatch {
+      url = "https://github.com/matrix-org/mjolnir/commit/6cb461fed424f07bf50a1fdc0693d40ed8bbee12.patch";
+      sha256 = "sha256-tqcKXNs+fxwPIvN5sJjdNgcz5KUVHiXgulLHR2redYk=";
+      stripLen = 1;
+    })
+  ];
+
   sourceRoot = "./source/synapse_antispam";
 
   propagatedBuildInputs = [ matrix-synapse ];
diff --git a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
index 5c0dc1e2ce2..3df7f1e5a5d 100644
--- a/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
+++ b/pkgs/servers/matrix-synapse/plugins/shared-secret-auth.nix
@@ -1,18 +1,26 @@
-{ buildPythonPackage, fetchFromGitHub, twisted }:
+{ lib, buildPythonPackage, fetchFromGitHub, matrix-synapse, twisted }:
 
 buildPythonPackage rec {
   pname = "matrix-synapse-shared-secret-auth";
-  version = "1.0.2";
+  version = "2.0.1";
 
   src = fetchFromGitHub {
     owner = "devture";
     repo = "matrix-synapse-shared-secret-auth";
     rev = version;
-    sha256 = "0cnxp3bp8mmk01a0g3lzgvaawyywjg754j4nb9iwkmm3c2nqvnpz";
+    sha256 = "sha256-kaok5IwKx97FYDrVIGAtUJfExqDln5vxEKrZda2RdzE=";
   };
 
   doCheck = false;
   pythonImportsCheck = [ "shared_secret_authenticator" ];
 
+  buildInputs = [ matrix-synapse ];
   propagatedBuildInputs = [ twisted ];
+
+  meta = with lib; {
+    description = "Shared Secret Authenticator password provider module for Matrix Synapse";
+    homepage = "https://github.com/devture/matrix-synapse-shared-secret-auth";
+    license = licenses.agpl3Plus;
+    maintainers = with maintainers; [ sumnerevans ];
+  };
 }
diff --git a/pkgs/servers/matrix-synapse/tools/synadm.nix b/pkgs/servers/matrix-synapse/tools/synadm.nix
index 68099e50b13..46c9add3d88 100644
--- a/pkgs/servers/matrix-synapse/tools/synadm.nix
+++ b/pkgs/servers/matrix-synapse/tools/synadm.nix
@@ -4,12 +4,12 @@
 
 with python3Packages; buildPythonApplication rec {
   pname = "synadm";
-  version = "0.32";
+  version = "0.33.1";
   format = "setuptools";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "e3fc0db4920d36092a00080fe5b6dac867a6d19f630f69822c8544568f5885e2";
+    sha256 = "sha256-eIpRyx1iErZuB3n+Sl231BE47ckIXYzaelod7OtdSF8=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/mattermost/default.nix b/pkgs/servers/mattermost/default.nix
index 534368a19ec..77ae99a9297 100644
--- a/pkgs/servers/mattermost/default.nix
+++ b/pkgs/servers/mattermost/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, fetchFromGitHub, buildGo117Package, buildEnv
+{ lib, stdenv, fetchurl, fetchFromGitHub, buildGoPackage, buildEnv
 
 # The suffix for the Mattermost version.
 , versionSuffix ? "nixpkgs"
@@ -10,11 +10,11 @@
 , storePathAsBuildHash ? false }:
 
 let
-  version = "6.3.2";
+  version = "6.3.3";
 
   goPackagePath = "github.com/mattermost/mattermost-server";
 
-  mattermost-server-build = buildGo117Package rec {
+  mattermost-server-build = buildGoPackage rec {
     pname = "mattermost-server";
     inherit version goPackagePath;
 
@@ -22,7 +22,7 @@ let
       owner = "mattermost";
       repo = "mattermost-server";
       rev = "v${version}";
-      sha256 = "+6bLkzqlcty8X+mbNkZnHzC8tK8EJwmWAYz3jZ/6q2w=";
+      sha256 = "OSN8Bscgv7rPfKIfZ3ZnegdgsygFpSM7/vGWojj0P3k=";
     };
 
     ldflags = [
@@ -65,7 +65,7 @@ let
 
     src = fetchurl {
       url = "https://releases.mattermost.com/${version}/mattermost-${version}-linux-amd64.tar.gz";
-      sha256 = "dxgoYFgW+KKtfNr+1pr7bA9K79gCXpKebTIWDhneuv0=";
+      sha256 = "Og9DUGyE4cWYF7EQP/8szIrWM1Ldqnpqc+HW+L7XApo=";
     };
 
     installPhase = ''
diff --git a/pkgs/servers/mautrix-facebook/default.nix b/pkgs/servers/mautrix-facebook/default.nix
index 33df669aaac..b51ae848cc8 100644
--- a/pkgs/servers/mautrix-facebook/default.nix
+++ b/pkgs/servers/mautrix-facebook/default.nix
@@ -7,13 +7,13 @@
 
 python3.pkgs.buildPythonPackage rec {
   pname = "mautrix-facebook";
-  version = "2022-01-10";
+  version = "0.3.3";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "facebook";
-    rev = "eebfbe49fc699806e1d71becf261ba0995c91f60";
-    hash = "sha256-zfsuoPySIRAAmsSL0NUUVH7k+xV7rZOHOkIvBQdVe0A=";
+    rev = "v${version}";
+    hash = "sha256-lIUGuc6ZL+GW7jw5OhPE3/mU5pg8Y09dd+p5kiy14io=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/servers/mautrix-whatsapp/default.nix b/pkgs/servers/mautrix-whatsapp/default.nix
index 7579db1c090..92f6d1f15ac 100644
--- a/pkgs/servers/mautrix-whatsapp/default.nix
+++ b/pkgs/servers/mautrix-whatsapp/default.nix
@@ -1,19 +1,19 @@
-{ lib, buildGo117Module, fetchFromGitHub, olm }:
+{ lib, buildGoModule, fetchFromGitHub, olm }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "mautrix-whatsapp";
-  version = "0.2.3";
+  version = "0.2.4";
 
   src = fetchFromGitHub {
     owner = "mautrix";
     repo = "whatsapp";
     rev = "v${version}";
-    sha256 = "sha256-vMRmxu1TNCw5c+PuSdAPdMJpZGLdcCTzpTNz/AFrWi8=";
+    sha256 = "lBAnMrU292URrZIxPvPIAO50GAFvvZHfUjKMYxZwGb8=";
   };
 
   buildInputs = [ olm ];
 
-  vendorSha256 = "sha256-bvbZ7Tnd6s6zr9trN4egR/9KV5cU09mQI+U1UxyYzlE=";
+  vendorSha256 = "KiNABUZ92gYprTdNAKKMjygr0BzQGVYVPRPMxvYi1VQ=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/mbtileserver/default.nix b/pkgs/servers/mbtileserver/default.nix
index 59adcde1a69..c928fcfbe6d 100644
--- a/pkgs/servers/mbtileserver/default.nix
+++ b/pkgs/servers/mbtileserver/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mbtileserver";
-  version = "0.8.1";
+  version = "0.8.2";
 
   src = fetchFromGitHub {
     owner = "consbio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-C6Gz+RBUrjnfJWo4Ou+s/JYJ8iVP9FMYJ/cxJjcVsXk=";
+    sha256 = "sha256-aa0YsP+SYYDtaSstTfluEe0/+yDl82KHUSss8LZ2gOc=";
   };
 
-  vendorSha256 = "sha256-36tUTZud0hxH9oZlnKxeK/xzoEzfw3xFMnd/r0srw6U=";
+  vendorSha256 = "sha256-eVnL+28eOgbR0bjWv7XotcHDl5309EO0wV8AGMslvZw=";
 
   meta = with lib; {
     description = "A simple Go-based server for map tiles stored in mbtiles format";
diff --git a/pkgs/servers/memcached/default.nix b/pkgs/servers/memcached/default.nix
index ca91d4eb12b..824e90b4869 100644
--- a/pkgs/servers/memcached/default.nix
+++ b/pkgs/servers/memcached/default.nix
@@ -1,12 +1,12 @@
 {lib, stdenv, fetchurl, cyrus_sasl, libevent, nixosTests }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.12";
+  version = "1.6.14";
   pname = "memcached";
 
   src = fetchurl {
     url = "https://memcached.org/files/${pname}-${version}.tar.gz";
-    sha256 = "sha256-8pGjX4Lvl1btHZUoee9fS+hw+TK9/LKrYTVmCav4I0Y=";
+    sha256 = "sha256-VNY3QsaIbc3E4Mh/RDmikwqHbNnyv6AdaZsMa60XB7M=";
   };
 
   configureFlags = [
diff --git a/pkgs/servers/metabase/default.nix b/pkgs/servers/metabase/default.nix
index 990ef950e6b..814626fec12 100644
--- a/pkgs/servers/metabase/default.nix
+++ b/pkgs/servers/metabase/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "metabase";
-  version = "0.41.5";
+  version = "0.42.1";
 
   src = fetchurl {
     url = "https://downloads.metabase.com/v${version}/metabase.jar";
-    sha256 = "sha256-DH1xy1cTVDNNXyOIaayGHzOi4g0ZukNFFbZjufY+XLk=";
+    hash = "sha256-PmcVVAS/5mDhmOSoFvkZeYkbvFD/KOcgVYuScwD4Olg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
@@ -14,13 +14,15 @@ stdenv.mkDerivation rec {
   dontUnpack = true;
 
   installPhase = ''
+    runHook preInstall
     makeWrapper ${jdk11}/bin/java $out/bin/metabase --add-flags "-jar $src"
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "The easy, open source way for everyone in your company to ask questions and learn from data";
     homepage    = "https://metabase.com";
-    license     = licenses.agpl3;
+    license     = licenses.agpl3Only;
     platforms   = platforms.all;
     maintainers = with maintainers; [ schneefux thoughtpolice mmahut ];
   };
diff --git a/pkgs/servers/minio/default.nix b/pkgs/servers/minio/default.nix
index ce441e661b3..a3f151a19ab 100644
--- a/pkgs/servers/minio/default.nix
+++ b/pkgs/servers/minio/default.nix
@@ -15,16 +15,16 @@ let
 in
 buildGoModule rec {
   pname = "minio";
-  version = "2022-01-08T03-11-54Z";
+  version = "2022-02-18T01-50-10Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "minio";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-aOFG3/BnDJOjPiVZL1jKwYUzPX6mI9FkRDZIzTAnT+8=";
+    sha256 = "sha256-4SUmnUrO89hRcr2w1v6qZiY3swlIZsPgmCHa+q+iFK0=";
   };
 
-  vendorSha256 = "sha256-sQoD+Kdw3epjzDmqCfw6rXC0dQCeaEpvfLqZpxKcViw=";
+  vendorSha256 = "sha256-5OJntT5ed4pmugB1yw0fa906McREzv5aPuC8vBVx5o0=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/misc/oven-media-engine/default.nix b/pkgs/servers/misc/oven-media-engine/default.nix
index bc047f6552a..24c320e9d4f 100644
--- a/pkgs/servers/misc/oven-media-engine/default.nix
+++ b/pkgs/servers/misc/oven-media-engine/default.nix
@@ -18,13 +18,13 @@
 
 stdenv.mkDerivation rec {
   pname = "oven-media-engine";
-  version = "0.12.9";
+  version = "0.13.0";
 
   src = fetchFromGitHub {
     owner = "AirenSoft";
     repo = "OvenMediaEngine";
     rev = "v${version}";
-    sha256 = "0d3ymw747frl40w5d6r33lf1s72v7fiv742yjr1m6la2phb9h834";
+    sha256 = "sha256-aQH73gSy9aUleA5r4poouqAKmwYlsTMxKtpGRXjXMmg=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/servers/mjolnir/default.nix b/pkgs/servers/mjolnir/default.nix
index 8480cf4e8bf..cff0f88ba92 100644
--- a/pkgs/servers/mjolnir/default.nix
+++ b/pkgs/servers/mjolnir/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mjolnir";
-  version = "1.2.1";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "matrix-org";
     repo = "mjolnir";
     rev = "v${version}";
-    sha256 = "4c9LyQb5SZ1IoBayiP0C0ho4hwJDv49DhsuoQIv9bTs=";
+    sha256 = "05O7NgqlsVu4mdx1+0CZgBvwvBCWYg7nSFknJiXxuoc=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/mjolnir/node-composition.nix b/pkgs/servers/mjolnir/node-composition.nix
index ef810f1b06e..7b8937a3647 100644
--- a/pkgs/servers/mjolnir/node-composition.nix
+++ b/pkgs/servers/mjolnir/node-composition.nix
@@ -2,11 +2,11 @@
 
 {pkgs ? import <nixpkgs> {
     inherit system;
-  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-12_x"}:
+  }, system ? builtins.currentSystem, nodejs ? pkgs."nodejs-14_x"}:
 
 let
   nodeEnv = import ./node-env.nix {
-    inherit (pkgs) stdenv lib python2 runCommand writeTextFile;
+    inherit (pkgs) stdenv lib python2 runCommand writeTextFile writeShellScript;
     inherit pkgs nodejs;
     libtool = if pkgs.stdenv.isDarwin then pkgs.darwin.cctools else null;
   };
diff --git a/pkgs/servers/mjolnir/node-deps.nix b/pkgs/servers/mjolnir/node-deps.nix
index 8a10a95cdd8..2a868156806 100644
--- a/pkgs/servers/mjolnir/node-deps.nix
+++ b/pkgs/servers/mjolnir/node-deps.nix
@@ -13,31 +13,31 @@ let
         sha512 = "Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==";
       };
     };
-    "@babel/code-frame-7.16.0" = {
+    "@babel/code-frame-7.16.7" = {
       name = "_at_babel_slash_code-frame";
       packageName = "@babel/code-frame";
-      version = "7.16.0";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.0.tgz";
-        sha512 = "IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==";
+        url = "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     };
-    "@babel/helper-validator-identifier-7.15.7" = {
+    "@babel/helper-validator-identifier-7.16.7" = {
       name = "_at_babel_slash_helper-validator-identifier";
       packageName = "@babel/helper-validator-identifier";
-      version = "7.15.7";
+      version = "7.16.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz";
-        sha512 = "K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==";
+        url = "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
       };
     };
-    "@babel/highlight-7.16.0" = {
+    "@babel/highlight-7.16.10" = {
       name = "_at_babel_slash_highlight";
       packageName = "@babel/highlight";
-      version = "7.16.0";
+      version = "7.16.10";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.0.tgz";
-        sha512 = "t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==";
+        url = "https://registry.npmjs.org/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
       };
     };
     "@eslint/eslintrc-0.4.3" = {
@@ -67,13 +67,13 @@ let
         sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
       };
     };
-    "@jest/types-27.2.5" = {
+    "@jest/types-27.4.2" = {
       name = "_at_jest_slash_types";
       packageName = "@jest/types";
-      version = "27.2.5";
+      version = "27.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@jest/types/-/types-27.2.5.tgz";
-        sha512 = "nmuM4VuDtCZcY+eTpw+0nvstwReMsjPoj7ZR80/BbixulhLaiX+fbv8oeLW8WZlJMcsGQsTmMKT/iTZu1Uy/lQ==";
+        url = "https://registry.npmjs.org/@jest/types/-/types-27.4.2.tgz";
+        sha512 = "j35yw0PMTPpZsUoOBiuHzr1zTYoad1cVIE0ajEjcrJONxxrko/IRGKkXx3os0Nsi4Hu3+5VmDbVfq5WhG/pWAg==";
       };
     };
     "@selderee/plugin-htmlparser2-0.6.0" = {
@@ -94,15 +94,6 @@ let
         sha512 = "RbzJvlNzmRq5c3O09UipeuXno4tA1FE6ikOjxZK0tuxVv3412l64l5t1W5pj4+rJq9vpkm/kwiR07aZXnsKPxw==";
       };
     };
-    "@types/axios-0.14.0" = {
-      name = "_at_types_slash_axios";
-      packageName = "@types/axios";
-      version = "0.14.0";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/@types/axios/-/axios-0.14.0.tgz";
-        sha1 = "ec2300fbe7d7dddd7eb9d3abf87999964cafce46";
-      };
-    };
     "@types/body-parser-1.19.2" = {
       name = "_at_types_slash_body-parser";
       packageName = "@types/body-parser";
@@ -121,13 +112,13 @@ let
         sha512 = "cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==";
       };
     };
-    "@types/crypto-js-4.0.2" = {
+    "@types/crypto-js-4.1.0" = {
       name = "_at_types_slash_crypto-js";
       packageName = "@types/crypto-js";
-      version = "4.0.2";
+      version = "4.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.0.2.tgz";
-        sha512 = "sCVniU+h3GcGqxOmng11BRvf9TfN9yIs8KKjB8C8d75W69cpTfZG80gau9yTx5SxF3gvHGbJhdESzzvnjtf3Og==";
+        url = "https://registry.npmjs.org/@types/crypto-js/-/crypto-js-4.1.0.tgz";
+        sha512 = "DCFfy/vh2lG6qHSGezQ+Sn2Ulf/1Mx51dqOdmOKyW5nMK3maLlxeS3onC7r212OnBM2pBR95HkAmAjjF08YkxQ==";
       };
     };
     "@types/express-4.17.13" = {
@@ -139,22 +130,22 @@ let
         sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
       };
     };
-    "@types/express-serve-static-core-4.17.25" = {
+    "@types/express-serve-static-core-4.17.28" = {
       name = "_at_types_slash_express-serve-static-core";
       packageName = "@types/express-serve-static-core";
-      version = "4.17.25";
+      version = "4.17.28";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz";
-        sha512 = "OUJIVfRMFijZukGGwTpKNFprqCCXk5WjNGvUgB/CxxBR40QWSjsNK86+yvGKlCOGc7sbwfHLaXhkG+NsytwBaQ==";
+        url = "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz";
+        sha512 = "P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==";
       };
     };
-    "@types/istanbul-lib-coverage-2.0.3" = {
+    "@types/istanbul-lib-coverage-2.0.4" = {
       name = "_at_types_slash_istanbul-lib-coverage";
       packageName = "@types/istanbul-lib-coverage";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.3.tgz";
-        sha512 = "sz7iLqvVUg1gIedBOvlkxPlc8/uVzyS5OwGz1cKjXzkl3FpL3al0crU8YGU1WoHkxn0Wxbw5tyi6hvzJKNzFsw==";
+        url = "https://registry.npmjs.org/@types/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.4.tgz";
+        sha512 = "z/QT1XN4K4KYuslS23k62yDIDLwLFkzxOuMplDtObz0+y7VqJCaO2o+SPwHCvLFZh7xazvvoor2tA/hPz9ee7g==";
       };
     };
     "@types/istanbul-lib-report-3.0.0" = {
@@ -175,13 +166,13 @@ let
         sha512 = "c3mAZEuK0lvBp8tmuL74XRKn1+y2dcwOUpH7x4WrF6gk1GIgiluDRgMYQtw2OFcBvAJWlt6ASU3tSqxp0Uu0Aw==";
       };
     };
-    "@types/jsdom-16.2.13" = {
+    "@types/jsdom-16.2.14" = {
       name = "_at_types_slash_jsdom";
       packageName = "@types/jsdom";
-      version = "16.2.13";
+      version = "16.2.14";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.13.tgz";
-        sha512 = "8JQCjdeAidptSsOcRWk2iTm9wCcwn9l+kRG6k5bzUacrnm1ezV4forq0kWjUih/tumAeoG+OspOvQEbbRucBTw==";
+        url = "https://registry.npmjs.org/@types/jsdom/-/jsdom-16.2.14.tgz";
+        sha512 = "6BAy1xXEmMuHeAJ4Fv4yXKwBDTGTOseExKE3OaHiNycdHdZw59KfYzrt0DkDluvwmik1HRt6QS7bImxUmpSy+w==";
       };
     };
     "@types/json5-0.0.29" = {
@@ -202,31 +193,31 @@ let
         sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     };
-    "@types/mocha-9.0.0" = {
+    "@types/mocha-9.1.0" = {
       name = "_at_types_slash_mocha";
       packageName = "@types/mocha";
-      version = "9.0.0";
+      version = "9.1.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/mocha/-/mocha-9.0.0.tgz";
-        sha512 = "scN0hAWyLVAvLR9AyW7HoFF5sJZglyBsbPuHO4fv7JRvfmPBMfp1ozWqOf/e4wwPNxezBZXRfWzMb6iFLgEVRA==";
+        url = "https://registry.npmjs.org/@types/mocha/-/mocha-9.1.0.tgz";
+        sha512 = "QCWHkbMv4Y5U9oW10Uxbr45qMMSzl4OzijsozynUAgx3kEHUdXB00udx2dWDQ7f2TU2a2uuiFaRZjCe3unPpeg==";
       };
     };
-    "@types/node-16.11.7" = {
+    "@types/node-16.11.22" = {
       name = "_at_types_slash_node";
       packageName = "@types/node";
-      version = "16.11.7";
+      version = "16.11.22";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/node/-/node-16.11.7.tgz";
-        sha512 = "QB5D2sqfSjCmTuWcBWyJ+/44bcjO7VbjSbOE0ucoVbAsSNQc4Lt6QkgkVXkTDwkL4z/beecZNDvVX15D4P8Jbw==";
+        url = "https://registry.npmjs.org/@types/node/-/node-16.11.22.tgz";
+        sha512 = "DYNtJWauMQ9RNpesl4aVothr97/tIJM8HbyOXJ0AYT1Z2bEjLHyfjOBPAQQVMLf8h3kSShYfNk8Wnto8B2zHUA==";
       };
     };
-    "@types/parse5-6.0.2" = {
+    "@types/parse5-6.0.3" = {
       name = "_at_types_slash_parse5";
       packageName = "@types/parse5";
-      version = "6.0.2";
+      version = "6.0.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.2.tgz";
-        sha512 = "+hQX+WyJAOne7Fh3zF5CxPemILIbuhNcqHHodzK9caYOLnC8pD5efmPleRnw0z++LfKUC/sVNMwk0Gap+B0baA==";
+        url = "https://registry.npmjs.org/@types/parse5/-/parse5-6.0.3.tgz";
+        sha512 = "SuT16Q1K51EAVPz1K29DJ/sXjhSQ0zjvsypYJ6tlwVsRV9jwW5Adq2ch8Dq8kDBCkYnELS7N7VNCSB5nC56t/g==";
       };
     };
     "@types/qs-6.9.7" = {
@@ -328,13 +319,13 @@ let
         sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     };
-    "acorn-8.6.0" = {
+    "acorn-8.7.0" = {
       name = "acorn";
       packageName = "acorn";
-      version = "8.6.0";
+      version = "8.7.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/acorn/-/acorn-8.6.0.tgz";
-        sha512 = "U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==";
+        url = "https://registry.npmjs.org/acorn/-/acorn-8.7.0.tgz";
+        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
       };
     };
     "acorn-globals-6.0.0" = {
@@ -382,13 +373,13 @@ let
         sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     };
-    "ajv-8.8.1" = {
+    "ajv-8.9.0" = {
       name = "ajv";
       packageName = "ajv";
-      version = "8.8.1";
+      version = "8.9.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ajv/-/ajv-8.8.1.tgz";
-        sha512 = "6CiMNDrzv0ZR916u2T+iRunnD60uWmNn8SkdB44/6stVORUg0aAkWO7PkOhpCmjmW8f2I/G/xnowD66fxGyQJg==";
+        url = "https://registry.npmjs.org/ajv/-/ajv-8.9.0.tgz";
+        sha512 = "qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==";
       };
     };
     "ansi-colors-4.1.1" = {
@@ -535,15 +526,6 @@ let
         sha512 = "xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==";
       };
     };
-    "axios-0.21.4" = {
-      name = "axios";
-      packageName = "axios";
-      version = "0.21.4";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/axios/-/axios-0.21.4.tgz";
-        sha512 = "ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==";
-      };
-    };
     "balanced-match-1.0.2" = {
       name = "balanced-match";
       packageName = "balanced-match";
@@ -589,13 +571,13 @@ let
         sha512 = "XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==";
       };
     };
-    "body-parser-1.19.0" = {
+    "body-parser-1.19.1" = {
       name = "body-parser";
       packageName = "body-parser";
-      version = "1.19.0";
+      version = "1.19.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz";
-        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
+        url = "https://registry.npmjs.org/body-parser/-/body-parser-1.19.1.tgz";
+        sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
       };
     };
     "brace-expansion-1.1.11" = {
@@ -652,13 +634,13 @@ let
         sha1 = "270f076c5a72c02f5b65a47df94c5fe3a278892f";
       };
     };
-    "bytes-3.1.0" = {
+    "bytes-3.1.1" = {
       name = "bytes";
       packageName = "bytes";
-      version = "3.1.0";
+      version = "3.1.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz";
-        sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
+        url = "https://registry.npmjs.org/bytes/-/bytes-3.1.1.tgz";
+        sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
       };
     };
     "callsites-3.1.0" = {
@@ -670,13 +652,13 @@ let
         sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
       };
     };
-    "camelcase-6.2.1" = {
+    "camelcase-6.3.0" = {
       name = "camelcase";
       packageName = "camelcase";
-      version = "6.2.1";
+      version = "6.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.2.1.tgz";
-        sha512 = "tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA==";
+        url = "https://registry.npmjs.org/camelcase/-/camelcase-6.3.0.tgz";
+        sha512 = "Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA==";
       };
     };
     "caseless-0.12.0" = {
@@ -706,13 +688,13 @@ let
         sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
       };
     };
-    "chokidar-3.5.2" = {
+    "chokidar-3.5.3" = {
       name = "chokidar";
       packageName = "chokidar";
-      version = "3.5.2";
+      version = "3.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.2.tgz";
-        sha512 = "ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==";
+        url = "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz";
+        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
       };
     };
     "cliui-7.0.4" = {
@@ -796,22 +778,22 @@ let
         sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
       };
     };
-    "config-3.3.6" = {
+    "config-3.3.7" = {
       name = "config";
       packageName = "config";
-      version = "3.3.6";
+      version = "3.3.7";
       src = fetchurl {
-        url = "https://registry.npmjs.org/config/-/config-3.3.6.tgz";
-        sha512 = "Hj5916C5HFawjYJat1epbyY2PlAgLpBtDUlr0MxGLgo3p5+7kylyvnRY18PqJHgnNWXcdd0eWDemT7eYWuFgwg==";
+        url = "https://registry.npmjs.org/config/-/config-3.3.7.tgz";
+        sha512 = "mX/n7GKDYZMqvvkY6e6oBY49W8wxdmQt+ho/5lhwFDXqQW9gI+Ahp8EKp8VAbISPnmf2+Bv5uZK7lKXZ6pf1aA==";
       };
     };
-    "content-disposition-0.5.3" = {
+    "content-disposition-0.5.4" = {
       name = "content-disposition";
       packageName = "content-disposition";
-      version = "0.5.3";
+      version = "0.5.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz";
-        sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
+        url = "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz";
+        sha512 = "FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==";
       };
     };
     "content-type-1.0.4" = {
@@ -823,13 +805,13 @@ let
         sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
       };
     };
-    "cookie-0.4.0" = {
+    "cookie-0.4.1" = {
       name = "cookie";
       packageName = "cookie";
-      version = "0.4.0";
+      version = "0.4.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz";
-        sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
+        url = "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz";
+        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
       };
     };
     "cookie-signature-1.0.6" = {
@@ -922,13 +904,13 @@ let
         sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     };
-    "debug-4.3.2" = {
+    "debug-4.3.3" = {
       name = "debug";
       packageName = "debug";
-      version = "4.3.2";
+      version = "4.3.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/debug/-/debug-4.3.2.tgz";
-        sha512 = "mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==";
+        url = "https://registry.npmjs.org/debug/-/debug-4.3.3.tgz";
+        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
       };
     };
     "decamelize-4.0.0" = {
@@ -1030,13 +1012,13 @@ let
         sha512 = "/VTCrvm5Z0JGty/BWHljh+BAiw3IK+2j87NGMu8Nwc/f48WoDAC395uomO9ZD117ZOBaHmkX1oyLvkVM/aIT3w==";
       };
     };
-    "diff-sequences-27.0.6" = {
+    "diff-sequences-27.4.0" = {
       name = "diff-sequences";
       packageName = "diff-sequences";
-      version = "27.0.6";
+      version = "27.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.0.6.tgz";
-        sha512 = "ag6wfpBFyNXZ0p8pcuIDS//D8H062ZQJ3fzYxjpmeKjnz8W4pekL3AI8VohmyZmsWW2PWaHgjsmqR6L13101VQ==";
+        url = "https://registry.npmjs.org/diff-sequences/-/diff-sequences-27.4.0.tgz";
+        sha512 = "YqiQzkrsmHMH5uuh8OdQFU9/ZpADnwzml8z0O5HvRNda+5UZsaX/xN+AAxfR2hWq1Y7HZnAzO9J5lJXOuDz2Ww==";
       };
     };
     "discontinuous-range-1.0.0" = {
@@ -1093,13 +1075,13 @@ let
         sha512 = "J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==";
       };
     };
-    "domhandler-4.2.2" = {
+    "domhandler-4.3.0" = {
       name = "domhandler";
       packageName = "domhandler";
-      version = "4.2.2";
+      version = "4.3.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.2.2.tgz";
-        sha512 = "PzE9aBMsdZO8TK4BnuJwH0QT41wgMbRzuZrHUcpYncEjmQazq8QEaBWgLG7ZyC/DAZKEgglpIA6j4Qn/HmxS3w==";
+        url = "https://registry.npmjs.org/domhandler/-/domhandler-4.3.0.tgz";
+        sha512 = "fC0aXNQXqKSFTr2wDNZDhsEYjCiYsDWl3D01kwt25hm1YIPyDGHvvi3rw+PLqHAl/m71MaiF7d5zvBr0p5UB2g==";
       };
     };
     "domutils-2.8.0" = {
@@ -1345,22 +1327,22 @@ let
         sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
       };
     };
-    "expect-27.3.1" = {
+    "expect-27.4.6" = {
       name = "expect";
       packageName = "expect";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/expect/-/expect-27.3.1.tgz";
-        sha512 = "MrNXV2sL9iDRebWPGOGFdPQRl2eDQNu/uhxIMShjjx74T6kC6jFIkmQ6OqXDtevjGUkyB2IT56RzDBqXf/QPCg==";
+        url = "https://registry.npmjs.org/expect/-/expect-27.4.6.tgz";
+        sha512 = "1M/0kAALIaj5LaG66sFJTbRsWTADnylly82cu4bspI0nl+pgP4E6Bh/aqdHlTUjul06K7xQnnrAoqfxVU0+/ag==";
       };
     };
-    "express-4.17.1" = {
+    "express-4.17.2" = {
       name = "express";
       packageName = "express";
-      version = "4.17.1";
+      version = "4.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/express/-/express-4.17.1.tgz";
-        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
+        url = "https://registry.npmjs.org/express/-/express-4.17.2.tgz";
+        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
       };
     };
     "extend-3.0.2" = {
@@ -1462,22 +1444,13 @@ let
         sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
       };
     };
-    "flatted-3.2.4" = {
+    "flatted-3.2.5" = {
       name = "flatted";
       packageName = "flatted";
-      version = "3.2.4";
+      version = "3.2.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.4.tgz";
-        sha512 = "8/sOawo8tJ4QOBX8YlQBMxL8+RLZfxMQOif9o0KUKTNTjMYElWPE0r/m5VNFxTRd0NSw8qSy8dajrwX4RYI1Hw==";
-      };
-    };
-    "follow-redirects-1.14.5" = {
-      name = "follow-redirects";
-      packageName = "follow-redirects";
-      version = "1.14.5";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.14.5.tgz";
-        sha512 = "wtphSXy7d4/OR+MvIFbCVBDzZ5520qV8XfPklSN5QtxuMUJZ+b0Wnst1e1lCDocfzuCkHqj8k0FpZqO+UIaKNA==";
+        url = "https://registry.npmjs.org/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     };
     "forever-agent-0.6.1" = {
@@ -1579,15 +1552,6 @@ let
         sha1 = "5eff8e3e684d569ae4cb2b1282604e8ba62149fa";
       };
     };
-    "glob-7.1.7" = {
-      name = "glob";
-      packageName = "glob";
-      version = "7.1.7";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/glob/-/glob-7.1.7.tgz";
-        sha512 = "OvD9ENzPLbegENnYP5UUfJIirTg4+XwMWGaQfQTY0JenxNvvIKP3U3/tAQSPIu/lHxXYSZmpXlUHeqAIdKzBLQ==";
-      };
-    };
     "glob-7.2.0" = {
       name = "glob";
       packageName = "glob";
@@ -1624,13 +1588,13 @@ let
         sha512 = "uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==";
       };
     };
-    "graceful-fs-4.2.8" = {
+    "graceful-fs-4.2.9" = {
       name = "graceful-fs";
       packageName = "graceful-fs";
-      version = "4.2.8";
+      version = "4.2.9";
       src = fetchurl {
-        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.8.tgz";
-        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
+        url = "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
       };
     };
     "growl-1.10.5" = {
@@ -1759,13 +1723,13 @@ let
         sha512 = "gyyPk6rgonLFEDGoeRgQNaEUvdJ4ktTmmUh/h2t7s+M8oPpIPxgNACWa+6ESR57kXstwqPiCut0V8NRpcwgU7A==";
       };
     };
-    "http-errors-1.7.2" = {
+    "http-errors-1.8.1" = {
       name = "http-errors";
       packageName = "http-errors";
-      version = "1.7.2";
+      version = "1.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz";
-        sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
+        url = "https://registry.npmjs.org/http-errors/-/http-errors-1.8.1.tgz";
+        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
       };
     };
     "http-proxy-agent-4.0.1" = {
@@ -1840,13 +1804,13 @@ let
         sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
       };
     };
-    "inherits-2.0.3" = {
+    "inherits-2.0.4" = {
       name = "inherits";
       packageName = "inherits";
-      version = "2.0.3";
+      version = "2.0.4";
       src = fetchurl {
-        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+        url = "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     };
     "ipaddr.js-1.9.1" = {
@@ -1867,13 +1831,13 @@ let
         sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
       };
     };
-    "is-core-module-2.8.0" = {
+    "is-core-module-2.8.1" = {
       name = "is-core-module";
       packageName = "is-core-module";
-      version = "2.8.0";
+      version = "2.8.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.0.tgz";
-        sha512 = "vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==";
+        url = "https://registry.npmjs.org/is-core-module/-/is-core-module-2.8.1.tgz";
+        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
       };
     };
     "is-extglob-2.1.1" = {
@@ -1984,49 +1948,40 @@ let
         sha1 = "47e63f7af55afa6f92e1500e690eb8b8529c099a";
       };
     };
-    "jest-diff-27.3.1" = {
+    "jest-diff-27.4.6" = {
       name = "jest-diff";
       packageName = "jest-diff";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.3.1.tgz";
-        sha512 = "PCeuAH4AWUo2O5+ksW4pL9v5xJAcIKPUPfIhZBcG1RKv/0+dvaWTQK1Nrau8d67dp65fOqbeMdoil+6PedyEPQ==";
+        url = "https://registry.npmjs.org/jest-diff/-/jest-diff-27.4.6.tgz";
+        sha512 = "zjaB0sh0Lb13VyPsd92V7HkqF6yKRH9vm33rwBt7rPYrpQvS1nCvlIy2pICbKta+ZjWngYLNn4cCK4nyZkjS/w==";
       };
     };
-    "jest-get-type-27.3.1" = {
+    "jest-get-type-27.4.0" = {
       name = "jest-get-type";
       packageName = "jest-get-type";
-      version = "27.3.1";
+      version = "27.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.3.1.tgz";
-        sha512 = "+Ilqi8hgHSAdhlQ3s12CAVNd8H96ZkQBfYoXmArzZnOfAtVAJEiPDBirjByEblvG/4LPJmkL+nBqPO3A1YJAEg==";
+        url = "https://registry.npmjs.org/jest-get-type/-/jest-get-type-27.4.0.tgz";
+        sha512 = "tk9o+ld5TWq41DkK14L4wox4s2D9MtTpKaAVzXfr5CUKm5ZK2ExcaFE0qls2W71zE/6R2TxxrK9w2r6svAFDBQ==";
       };
     };
-    "jest-matcher-utils-27.3.1" = {
+    "jest-matcher-utils-27.4.6" = {
       name = "jest-matcher-utils";
       packageName = "jest-matcher-utils";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.3.1.tgz";
-        sha512 = "hX8N7zXS4k+8bC1Aj0OWpGb7D3gIXxYvPNK1inP5xvE4ztbz3rc4AkI6jGVaerepBnfWB17FL5lWFJT3s7qo8w==";
+        url = "https://registry.npmjs.org/jest-matcher-utils/-/jest-matcher-utils-27.4.6.tgz";
+        sha512 = "XD4PKT3Wn1LQnRAq7ZsTI0VRuEc9OrCPFiO1XL7bftTGmfNF0DcEwMHRgqiu7NGf8ZoZDREpGrCniDkjt79WbA==";
       };
     };
-    "jest-message-util-27.3.1" = {
+    "jest-message-util-27.4.6" = {
       name = "jest-message-util";
       packageName = "jest-message-util";
-      version = "27.3.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.3.1.tgz";
-        sha512 = "bh3JEmxsTZ/9rTm0jQrPElbY2+y48Rw2t47uMfByNyUVR+OfPh4anuyKsGqsNkXk/TI4JbLRZx+7p7Hdt6q1yg==";
-      };
-    };
-    "jest-regex-util-27.0.6" = {
-      name = "jest-regex-util";
-      packageName = "jest-regex-util";
-      version = "27.0.6";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jest-regex-util/-/jest-regex-util-27.0.6.tgz";
-        sha512 = "SUhPzBsGa1IKm8hx2F4NfTGGp+r7BXJ4CulsZ1k2kI+mGLG+lxGrs76veN2LF/aUdGosJBzKgXmNCw+BzFqBDQ==";
+        url = "https://registry.npmjs.org/jest-message-util/-/jest-message-util-27.4.6.tgz";
+        sha512 = "0p5szriFU0U74czRSFjH6RyS7UYIAkn/ntwMuOwTGWrQIOh5NzXXrq72LOqIkJKKvFbPq+byZKuBz78fjBERBA==";
       };
     };
     "js-tokens-4.0.0" = {
@@ -2074,13 +2029,13 @@ let
         sha512 = "u9Smc2G1USStM+s/x1ru5Sxrl6mPYCbByG1U/hUmqaVsm4tbNyS7CicOSRyuGQYZhTu0h84qkZZQ/I+dzizSVw==";
       };
     };
-    "json-schema-0.2.3" = {
+    "json-schema-0.4.0" = {
       name = "json-schema";
       packageName = "json-schema";
-      version = "0.2.3";
+      version = "0.4.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz";
-        sha1 = "b480c892e59a2f05954ce727bd3f2a4e882f9e13";
+        url = "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz";
+        sha512 = "es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==";
       };
     };
     "json-schema-traverse-0.4.1" = {
@@ -2137,13 +2092,13 @@ let
         sha512 = "f+8cldu7X/y7RAJurMEJmdoKXGB/X550w2Nr3tTbezL6RwEE/iMcm+tZnXeoZtKuOq6ft8+CqzEkrIgx1fPoQA==";
       };
     };
-    "jsprim-1.4.1" = {
+    "jsprim-1.4.2" = {
       name = "jsprim";
       packageName = "jsprim";
-      version = "1.4.1";
+      version = "1.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz";
-        sha1 = "313e66bc1e5cc06e438bc1b7499c2e5c56acb6a2";
+        url = "https://registry.npmjs.org/jsprim/-/jsprim-1.4.2.tgz";
+        sha512 = "P2bSOMAc/ciLz6DzgjVlGJP9+BrJWu5UDGK70C2iweC5QBIeFf0ZXRvGjEj2uYgrY2MkAAhsSWHDWlFtEroZWw==";
       };
     };
     "levn-0.3.0" = {
@@ -2362,13 +2317,13 @@ let
         sha512 = "vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==";
       };
     };
-    "mocha-9.1.3" = {
+    "mocha-9.2.0" = {
       name = "mocha";
       packageName = "mocha";
-      version = "9.1.3";
+      version = "9.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/mocha/-/mocha-9.1.3.tgz";
-        sha512 = "Xcpl9FqXOAYqI3j79pEtHBBnQgVXIhpULjGQa7DVb0Po+VzmSIK9kanAiWLHoRR/dbZ2qpdPshuXr8l1VaHCzw==";
+        url = "https://registry.npmjs.org/mocha/-/mocha-9.2.0.tgz";
+        sha512 = "kNn7E8g2SzVcq0a77dkphPsDSN7P+iYkqE0ZsGCYWRsoiKjOt+NvXfaagik8vuDa6W5Zw3qxe8Jfpt5qKf+6/Q==";
       };
     };
     "moo-0.5.1" = {
@@ -2398,15 +2353,6 @@ let
         sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
       };
     };
-    "ms-2.1.1" = {
-      name = "ms";
-      packageName = "ms";
-      version = "2.1.1";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz";
-        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
-      };
-    };
     "ms-2.1.2" = {
       name = "ms";
       packageName = "ms";
@@ -2425,22 +2371,13 @@ let
         sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     };
-    "nanoid-3.1.25" = {
+    "nanoid-3.2.0" = {
       name = "nanoid";
       packageName = "nanoid";
-      version = "3.1.25";
-      src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.25.tgz";
-        sha512 = "rdwtIXaXCLFAQbnfqDRnI6jaRHp9fTcYBjtFKE8eezcZ7LuLjhUaQGNeMXf1HmRoCH32CLz6XwX0TtxEOS/A3Q==";
-      };
-    };
-    "nanoid-3.1.30" = {
-      name = "nanoid";
-      packageName = "nanoid";
-      version = "3.1.30";
+      version = "3.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.1.30.tgz";
-        sha512 = "zJpuPDwOv8D2zq2WRoMe1HsfZthVewpel9CAvTfc/2mBD1uUT/agc5f7GHGWXlYkFvi1mVxe4IjvP2HNrop7nQ==";
+        url = "https://registry.npmjs.org/nanoid/-/nanoid-3.2.0.tgz";
+        sha512 = "fmsZYa9lpn69Ad5eDn7FMcnnSR+8R34W9qJEijxYhTbfOWzr22n1QxCMzXLK+ODyW2973V3Fux959iQoUxzUIA==";
       };
     };
     "natural-compare-1.4.0" = {
@@ -2668,13 +2605,13 @@ let
         sha512 = "1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==";
       };
     };
-    "picomatch-2.3.0" = {
+    "picomatch-2.3.1" = {
       name = "picomatch";
       packageName = "picomatch";
-      version = "2.3.0";
+      version = "2.3.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.0.tgz";
-        sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==";
+        url = "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz";
+        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     };
     "pify-3.0.0" = {
@@ -2686,13 +2623,13 @@ let
         sha1 = "e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176";
       };
     };
-    "postcss-8.3.11" = {
+    "postcss-8.4.6" = {
       name = "postcss";
       packageName = "postcss";
-      version = "8.3.11";
+      version = "8.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/postcss/-/postcss-8.3.11.tgz";
-        sha512 = "hCmlUAIlUiav8Xdqw3Io4LcpA1DOt7h3LSTAC4G6JGHFFaWzI6qvFt9oilvl8BmkbBRX1IhM90ZAmpk68zccQA==";
+        url = "https://registry.npmjs.org/postcss/-/postcss-8.4.6.tgz";
+        sha512 = "OovjwIzs9Te46vlEx7+uXB0PLijpwjXGKXjVGGPIGubGpq7uh5Xgf6D6FiJ/SzJMBosHDp6a2hiXOS97iBXcaA==";
       };
     };
     "prelude-ls-1.1.2" = {
@@ -2713,13 +2650,13 @@ let
         sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
       };
     };
-    "pretty-format-27.3.1" = {
+    "pretty-format-27.4.6" = {
       name = "pretty-format";
       packageName = "pretty-format";
-      version = "27.3.1";
+      version = "27.4.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.3.1.tgz";
-        sha512 = "DR/c+pvFc52nLimLROYjnXPtolawm+uWDxr4FjuLDLUn+ktWnSN851KoHwHzzqq6rfCOjkzN8FLgDrSub6UDuA==";
+        url = "https://registry.npmjs.org/pretty-format/-/pretty-format-27.4.6.tgz";
+        sha512 = "NblstegA1y/RJW2VyML+3LlpFjzx62cUrtBIKIWDXEDkjNeleA7Od7nrzcs/VLQvAeV4CgSYhrN39DRN88Qi/g==";
       };
     };
     "progress-2.0.3" = {
@@ -2767,22 +2704,22 @@ let
         sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     };
-    "qs-6.5.2" = {
+    "qs-6.5.3" = {
       name = "qs";
       packageName = "qs";
-      version = "6.5.2";
+      version = "6.5.3";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz";
-        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.5.3.tgz";
+        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
       };
     };
-    "qs-6.7.0" = {
+    "qs-6.9.6" = {
       name = "qs";
       packageName = "qs";
-      version = "6.7.0";
+      version = "6.9.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz";
-        sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
+        url = "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz";
+        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
       };
     };
     "railroad-diagrams-1.0.0" = {
@@ -2821,13 +2758,13 @@ let
         sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
       };
     };
-    "raw-body-2.4.0" = {
+    "raw-body-2.4.2" = {
       name = "raw-body";
       packageName = "raw-body";
-      version = "2.4.0";
+      version = "2.4.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz";
-        sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
+        url = "https://registry.npmjs.org/raw-body/-/raw-body-2.4.2.tgz";
+        sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
       };
     };
     "react-is-17.0.2" = {
@@ -2902,13 +2839,13 @@ let
         sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
       };
     };
-    "resolve-1.20.0" = {
+    "resolve-1.22.0" = {
       name = "resolve";
       packageName = "resolve";
-      version = "1.20.0";
+      version = "1.22.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/resolve/-/resolve-1.20.0.tgz";
-        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
+        url = "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz";
+        sha512 = "Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==";
       };
     };
     "resolve-from-4.0.0" = {
@@ -2947,6 +2884,15 @@ let
         sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     };
+    "safe-buffer-5.2.1" = {
+      name = "safe-buffer";
+      packageName = "safe-buffer";
+      version = "5.2.1";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
+      };
+    };
     "safer-buffer-2.1.2" = {
       name = "safer-buffer";
       packageName = "safer-buffer";
@@ -2956,13 +2902,13 @@ let
         sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     };
-    "sanitize-html-2.5.3" = {
+    "sanitize-html-2.6.1" = {
       name = "sanitize-html";
       packageName = "sanitize-html";
-      version = "2.5.3";
+      version = "2.6.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.5.3.tgz";
-        sha512 = "DGATXd1fs/Rm287/i5FBKVYSBBUL0iAaztOA1/RFhEs4yqo39/X52i/q/CwsfCUG5cilmXSBmnQmyWfnKhBlOg==";
+        url = "https://registry.npmjs.org/sanitize-html/-/sanitize-html-2.6.1.tgz";
+        sha512 = "DzjSz3H5qDntD7s1TcWCSoRPmNR8UmA+y+xZQOvWgjATe2Br9ZW73+vD3Pj6Snrg0RuEuJdXgrKvnYuiuixRkA==";
       };
     };
     "saxes-5.0.1" = {
@@ -3001,13 +2947,13 @@ let
         sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
       };
     };
-    "send-0.17.1" = {
+    "send-0.17.2" = {
       name = "send";
       packageName = "send";
-      version = "0.17.1";
+      version = "0.17.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/send/-/send-0.17.1.tgz";
-        sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
+        url = "https://registry.npmjs.org/send/-/send-0.17.2.tgz";
+        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
       };
     };
     "serialize-javascript-6.0.0" = {
@@ -3019,22 +2965,22 @@ let
         sha512 = "Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==";
       };
     };
-    "serve-static-1.14.1" = {
+    "serve-static-1.14.2" = {
       name = "serve-static";
       packageName = "serve-static";
-      version = "1.14.1";
+      version = "1.14.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz";
-        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
+        url = "https://registry.npmjs.org/serve-static/-/serve-static-1.14.2.tgz";
+        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
       };
     };
-    "setprototypeof-1.1.1" = {
+    "setprototypeof-1.2.0" = {
       name = "setprototypeof";
       packageName = "setprototypeof";
-      version = "1.1.1";
+      version = "1.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz";
-        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
+        url = "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz";
+        sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
       };
     };
     "shebang-command-2.0.0" = {
@@ -3091,22 +3037,22 @@ let
         sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     };
-    "source-map-js-0.6.2" = {
+    "source-map-js-1.0.2" = {
       name = "source-map-js";
       packageName = "source-map-js";
-      version = "0.6.2";
+      version = "1.0.2";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-0.6.2.tgz";
-        sha512 = "/3GptzWzu0+0MBQFrDKzw/DvvMTUORvgY6k6jd/VS6iCR4RDTKWH6v6WPwQoUO8667uQEf9Oe38DxAYWY5F/Ug==";
+        url = "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz";
+        sha512 = "R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==";
       };
     };
-    "source-map-support-0.5.20" = {
+    "source-map-support-0.5.21" = {
       name = "source-map-support";
       packageName = "source-map-support";
-      version = "0.5.20";
+      version = "0.5.21";
       src = fetchurl {
-        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.20.tgz";
-        sha512 = "n1lZZ8Ve4ksRqizaBQgxXDgKwttHDhyfQjA6YZZn8+AroHbsIz+JjwxQDxbp+7y5OYCI8t1Yk7etjD9CRd2hIw==";
+        url = "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz";
+        sha512 = "uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==";
       };
     };
     "sprintf-js-1.0.3" = {
@@ -3118,13 +3064,13 @@ let
         sha1 = "04e6926f662895354f3dd015203633b857297e2c";
       };
     };
-    "sshpk-1.16.1" = {
+    "sshpk-1.17.0" = {
       name = "sshpk";
       packageName = "sshpk";
-      version = "1.16.1";
+      version = "1.17.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
+        url = "https://registry.npmjs.org/sshpk/-/sshpk-1.17.0.tgz";
+        sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
       };
     };
     "stack-utils-2.0.5" = {
@@ -3226,6 +3172,15 @@ let
         sha512 = "MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==";
       };
     };
+    "supports-preserve-symlinks-flag-1.0.0" = {
+      name = "supports-preserve-symlinks-flag";
+      packageName = "supports-preserve-symlinks-flag";
+      version = "1.0.0";
+      src = fetchurl {
+        url = "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
+        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
+      };
+    };
     "symbol-tree-3.2.4" = {
       name = "symbol-tree";
       packageName = "symbol-tree";
@@ -3235,13 +3190,13 @@ let
         sha512 = "9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw==";
       };
     };
-    "table-6.7.3" = {
+    "table-6.8.0" = {
       name = "table";
       packageName = "table";
-      version = "6.7.3";
+      version = "6.8.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/table/-/table-6.7.3.tgz";
-        sha512 = "5DkIxeA7XERBqMwJq0aHZOdMadBx4e6eDoFRuyT5VR82J0Ycg2DwM6GfA/EQAhJ+toRTaS1lIdSQCqgrmhPnlw==";
+        url = "https://registry.npmjs.org/table/-/table-6.8.0.tgz";
+        sha512 = "s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==";
       };
     };
     "text-table-0.2.0" = {
@@ -3262,13 +3217,13 @@ let
         sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
       };
     };
-    "toidentifier-1.0.0" = {
+    "toidentifier-1.0.1" = {
       name = "toidentifier";
       packageName = "toidentifier";
-      version = "1.0.0";
+      version = "1.0.1";
       src = fetchurl {
-        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz";
-        sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
+        url = "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz";
+        sha512 = "o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==";
       };
     };
     "tough-cookie-2.5.0" = {
@@ -3316,13 +3271,13 @@ let
         sha512 = "BVwVbPJRspzNh2yfslyT1PSbl5uIk03EZlb493RKHN4qej/D06n1cEhjlOJG69oFsE7OT8XjpTUcYf6pKTLMhw==";
       };
     };
-    "tsconfig-paths-3.11.0" = {
+    "tsconfig-paths-3.12.0" = {
       name = "tsconfig-paths";
       packageName = "tsconfig-paths";
-      version = "3.11.0";
+      version = "3.12.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.11.0.tgz";
-        sha512 = "7ecdYDnIdmv639mmDwslG6KQg1Z9STTz1j7Gcz0xa+nshh/gKDAHcPxRbWOsA3SPp0tXP2leTcY9Kw+NAkfZzA==";
+        url = "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz";
+        sha512 = "e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==";
       };
     };
     "tslib-1.14.1" = {
@@ -3406,13 +3361,13 @@ let
         sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     };
-    "typescript-4.5.2" = {
+    "typescript-4.5.5" = {
       name = "typescript";
       packageName = "typescript";
-      version = "4.5.2";
+      version = "4.5.5";
       src = fetchurl {
-        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.2.tgz";
-        sha512 = "5BlMof9H1yGt0P8/WF+wPNw6GfctgGjXp5hkblpyT+8rkASSmkUKMXrxR0Xg8ThVCi/JnHQiKXeBaEwCeQwMFw==";
+        url = "https://registry.npmjs.org/typescript/-/typescript-4.5.5.tgz";
+        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
       };
     };
     "typescript-formatter-7.2.2" = {
@@ -3577,13 +3532,13 @@ let
         sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     };
-    "workerpool-6.1.5" = {
+    "workerpool-6.2.0" = {
       name = "workerpool";
       packageName = "workerpool";
-      version = "6.1.5";
+      version = "6.2.0";
       src = fetchurl {
-        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.1.5.tgz";
-        sha512 = "XdKkCK0Zqc6w3iTxLckiuJ81tiD/o5rBE/m+nXpRCB+/Sq4DqkfXZ/x0jW02DG1tGsfUGXbTJyZDP+eu67haSw==";
+        url = "https://registry.npmjs.org/workerpool/-/workerpool-6.2.0.tgz";
+        sha512 = "Rsk5qQHJ9eowMH28Jwhe8HEbmdYDX4lwoMWshiCXugjtHqMD9ZbiqSDLxcsfdqsETPzVUtX5s1Z5kStiIM6l4A==";
       };
     };
     "wrap-ansi-7.0.0" = {
@@ -3604,13 +3559,13 @@ let
         sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
       };
     };
-    "ws-7.5.5" = {
+    "ws-7.5.6" = {
       name = "ws";
       packageName = "ws";
-      version = "7.5.5";
+      version = "7.5.6";
       src = fetchurl {
-        url = "https://registry.npmjs.org/ws/-/ws-7.5.5.tgz";
-        sha512 = "BAkMFcAzl8as1G/hArkxOxq3G7pjUqQ3gzYbLL0/5zNkph70e+lCoxBGnm6AW1+/aiNeV4fnKqZ8m4GZewmH2w==";
+        url = "https://registry.npmjs.org/ws/-/ws-7.5.6.tgz";
+        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
       };
     };
     "xml-name-validator-3.0.0" = {
@@ -3707,12 +3662,12 @@ let
   args = {
     name = "mjolnir";
     packageName = "mjolnir";
-    version = "1.2.1";
-    src = ../../../../../../../nix/store/8x9ib7ymf5yj075632mz4qap4m0nzd52-source;
+    version = "1.3.1";
+    src = ../../../../../../../nix/store/k1myvl4f3yvjk9jw4d1b1k1rc8rlwcy2-source;
     dependencies = [
       sources."@babel/code-frame-7.12.11"
-      sources."@babel/helper-validator-identifier-7.15.7"
-      (sources."@babel/highlight-7.16.0" // {
+      sources."@babel/helper-validator-identifier-7.16.7"
+      (sources."@babel/highlight-7.16.10" // {
         dependencies = [
           sources."ansi-styles-3.2.1"
           sources."chalk-2.4.2"
@@ -3726,36 +3681,35 @@ let
       (sources."@eslint/eslintrc-0.4.3" // {
         dependencies = [
           sources."argparse-1.0.10"
-          sources."debug-4.3.2"
+          sources."debug-4.3.3"
           sources."js-yaml-3.14.1"
           sources."ms-2.1.2"
         ];
       })
       (sources."@humanwhocodes/config-array-0.5.0" // {
         dependencies = [
-          sources."debug-4.3.2"
+          sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
       sources."@humanwhocodes/object-schema-1.2.1"
-      sources."@jest/types-27.2.5"
+      sources."@jest/types-27.4.2"
       sources."@selderee/plugin-htmlparser2-0.6.0"
       sources."@tootallnate/once-1.1.2"
-      sources."@types/axios-0.14.0"
       sources."@types/body-parser-1.19.2"
       sources."@types/connect-3.4.35"
-      sources."@types/crypto-js-4.0.2"
+      sources."@types/crypto-js-4.1.0"
       sources."@types/express-4.17.13"
-      sources."@types/express-serve-static-core-4.17.25"
-      sources."@types/istanbul-lib-coverage-2.0.3"
+      sources."@types/express-serve-static-core-4.17.28"
+      sources."@types/istanbul-lib-coverage-2.0.4"
       sources."@types/istanbul-lib-report-3.0.0"
       sources."@types/istanbul-reports-3.0.1"
-      sources."@types/jsdom-16.2.13"
+      sources."@types/jsdom-16.2.14"
       sources."@types/json5-0.0.29"
       sources."@types/mime-1.3.2"
-      sources."@types/mocha-9.0.0"
-      sources."@types/node-16.11.7"
-      sources."@types/parse5-6.0.2"
+      sources."@types/mocha-9.1.0"
+      sources."@types/node-16.11.22"
+      sources."@types/parse5-6.0.3"
       sources."@types/qs-6.9.7"
       sources."@types/range-parser-1.2.4"
       sources."@types/serve-static-1.13.10"
@@ -3766,7 +3720,7 @@ let
       sources."@ungap/promise-all-settled-1.1.2"
       sources."abab-2.0.5"
       sources."accepts-1.3.7"
-      sources."acorn-8.6.0"
+      sources."acorn-8.7.0"
       (sources."acorn-globals-6.0.0" // {
         dependencies = [
           sources."acorn-7.4.1"
@@ -3776,7 +3730,7 @@ let
       sources."acorn-walk-7.2.0"
       (sources."agent-base-6.0.2" // {
         dependencies = [
-          sources."debug-4.3.2"
+          sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
@@ -3794,25 +3748,28 @@ let
       sources."asynckit-0.4.0"
       sources."aws-sign2-0.7.0"
       sources."aws4-1.11.0"
-      sources."axios-0.21.4"
       sources."balanced-match-1.0.2"
-      sources."basic-auth-2.0.1"
+      (sources."basic-auth-2.0.1" // {
+        dependencies = [
+          sources."safe-buffer-5.1.2"
+        ];
+      })
       sources."bcrypt-pbkdf-1.0.2"
       sources."binary-extensions-2.2.0"
       sources."bluebird-3.7.2"
-      sources."body-parser-1.19.0"
+      sources."body-parser-1.19.1"
       sources."brace-expansion-1.1.11"
       sources."braces-3.0.2"
       sources."browser-process-hrtime-1.0.0"
       sources."browser-stdout-1.3.1"
       sources."buffer-from-1.1.2"
       sources."builtin-modules-1.1.1"
-      sources."bytes-3.1.0"
+      sources."bytes-3.1.1"
       sources."callsites-3.1.0"
-      sources."camelcase-6.2.1"
+      sources."camelcase-6.3.0"
       sources."caseless-0.12.0"
       sources."chalk-4.1.2"
-      sources."chokidar-3.5.2"
+      sources."chokidar-3.5.3"
       sources."cliui-7.0.4"
       sources."color-convert-2.0.1"
       sources."color-name-1.1.4"
@@ -3820,10 +3777,10 @@ let
       sources."commander-2.20.3"
       sources."commandpost-1.4.0"
       sources."concat-map-0.0.1"
-      sources."config-3.3.6"
-      sources."content-disposition-0.5.3"
+      sources."config-3.3.7"
+      sources."content-disposition-0.5.4"
       sources."content-type-1.0.4"
-      sources."cookie-0.4.0"
+      sources."cookie-0.4.1"
       sources."cookie-signature-1.0.6"
       sources."core-util-is-1.0.2"
       sources."cross-spawn-7.0.3"
@@ -3845,7 +3802,7 @@ let
       sources."depd-1.1.2"
       sources."destroy-1.0.4"
       sources."diff-5.0.0"
-      sources."diff-sequences-27.0.6"
+      sources."diff-sequences-27.4.0"
       sources."discontinuous-range-1.0.0"
       sources."doctrine-3.0.0"
       sources."dom-serializer-1.3.2"
@@ -3855,7 +3812,7 @@ let
           sources."webidl-conversions-5.0.0"
         ];
       })
-      sources."domhandler-4.2.2"
+      sources."domhandler-4.3.0"
       sources."domutils-2.8.0"
       sources."ecc-jsbn-0.1.2"
       (sources."editorconfig-0.15.3" // {
@@ -3877,7 +3834,7 @@ let
       (sources."eslint-7.32.0" // {
         dependencies = [
           sources."argparse-1.0.10"
-          sources."debug-4.3.2"
+          sources."debug-4.3.3"
           sources."js-yaml-3.14.1"
           sources."levn-0.4.1"
           sources."ms-2.1.2"
@@ -3909,12 +3866,8 @@ let
       sources."estraverse-5.3.0"
       sources."esutils-2.0.3"
       sources."etag-1.8.1"
-      (sources."expect-27.3.1" // {
-        dependencies = [
-          sources."ansi-styles-5.2.0"
-        ];
-      })
-      sources."express-4.17.1"
+      sources."expect-27.4.6"
+      sources."express-4.17.2"
       sources."extend-3.0.2"
       sources."extsprintf-1.3.0"
       sources."fast-deep-equal-3.1.3"
@@ -3926,8 +3879,7 @@ let
       sources."find-up-5.0.0"
       sources."flat-5.0.2"
       sources."flat-cache-3.0.4"
-      sources."flatted-3.2.4"
-      sources."follow-redirects-1.14.5"
+      sources."flatted-3.2.5"
       sources."forever-agent-0.6.1"
       sources."form-data-3.0.1"
       sources."forwarded-0.2.0"
@@ -3942,7 +3894,7 @@ let
       sources."glob-parent-5.1.2"
       sources."glob-to-regexp-0.4.1"
       sources."globals-13.12.0"
-      sources."graceful-fs-4.2.8"
+      sources."graceful-fs-4.2.9"
       sources."growl-1.10.5"
       sources."har-schema-2.0.0"
       sources."har-validator-5.1.5"
@@ -3954,17 +3906,17 @@ let
       sources."html-to-text-8.1.0"
       sources."htmlencode-0.0.4"
       sources."htmlparser2-6.1.0"
-      sources."http-errors-1.7.2"
+      sources."http-errors-1.8.1"
       (sources."http-proxy-agent-4.0.1" // {
         dependencies = [
-          sources."debug-4.3.2"
+          sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
       sources."http-signature-1.2.0"
       (sources."https-proxy-agent-5.0.0" // {
         dependencies = [
-          sources."debug-4.3.2"
+          sources."debug-4.3.3"
           sources."ms-2.1.2"
         ];
       })
@@ -3973,10 +3925,10 @@ let
       sources."import-fresh-3.3.0"
       sources."imurmurhash-0.1.4"
       sources."inflight-1.0.6"
-      sources."inherits-2.0.3"
+      sources."inherits-2.0.4"
       sources."ipaddr.js-1.9.1"
       sources."is-binary-path-2.1.0"
-      sources."is-core-module-2.8.0"
+      sources."is-core-module-2.8.1"
       sources."is-extglob-2.1.1"
       sources."is-fullwidth-code-point-3.0.0"
       sources."is-glob-4.0.3"
@@ -3989,25 +3941,24 @@ let
       sources."is-unicode-supported-0.1.0"
       sources."isexe-2.0.0"
       sources."isstream-0.1.2"
-      sources."jest-diff-27.3.1"
-      sources."jest-get-type-27.3.1"
-      sources."jest-matcher-utils-27.3.1"
-      (sources."jest-message-util-27.3.1" // {
+      sources."jest-diff-27.4.6"
+      sources."jest-get-type-27.4.0"
+      sources."jest-matcher-utils-27.4.6"
+      (sources."jest-message-util-27.4.6" // {
         dependencies = [
-          sources."@babel/code-frame-7.16.0"
+          sources."@babel/code-frame-7.16.7"
         ];
       })
-      sources."jest-regex-util-27.0.6"
       sources."js-tokens-4.0.0"
       sources."js-yaml-4.1.0"
       sources."jsbn-0.1.1"
       sources."jsdom-16.7.0"
-      sources."json-schema-0.2.3"
+      sources."json-schema-0.4.0"
       sources."json-schema-traverse-0.4.1"
       sources."json-stable-stringify-without-jsonify-1.0.1"
       sources."json-stringify-safe-5.0.1"
       sources."json5-2.2.0"
-      sources."jsprim-1.4.1"
+      sources."jsprim-1.4.2"
       sources."levn-0.3.0"
       sources."locate-path-6.0.0"
       sources."lodash-4.17.21"
@@ -4035,16 +3986,14 @@ let
       sources."minimatch-3.0.4"
       sources."minimist-1.2.5"
       sources."mkdirp-1.0.4"
-      (sources."mocha-9.1.3" // {
+      (sources."mocha-9.2.0" // {
         dependencies = [
-          (sources."debug-4.3.2" // {
+          (sources."debug-4.3.3" // {
             dependencies = [
               sources."ms-2.1.2"
             ];
           })
-          sources."glob-7.1.7"
           sources."ms-2.1.3"
-          sources."nanoid-3.1.25"
           sources."supports-color-8.1.1"
         ];
       })
@@ -4055,7 +4004,7 @@ let
         ];
       })
       sources."ms-2.0.0"
-      sources."nanoid-3.1.30"
+      sources."nanoid-3.2.0"
       sources."natural-compare-1.4.0"
       sources."nearley-2.20.1"
       sources."negotiator-0.6.2"
@@ -4080,11 +4029,11 @@ let
       sources."path-to-regexp-0.1.7"
       sources."performance-now-2.1.0"
       sources."picocolors-1.0.0"
-      sources."picomatch-2.3.0"
+      sources."picomatch-2.3.1"
       sources."pify-3.0.0"
-      sources."postcss-8.3.11"
+      sources."postcss-8.4.6"
       sources."prelude-ls-1.1.2"
-      (sources."pretty-format-27.3.1" // {
+      (sources."pretty-format-27.4.6" // {
         dependencies = [
           sources."ansi-styles-5.2.0"
         ];
@@ -4094,19 +4043,19 @@ let
       sources."pseudomap-1.0.2"
       sources."psl-1.8.0"
       sources."punycode-2.1.1"
-      sources."qs-6.7.0"
+      sources."qs-6.9.6"
       sources."railroad-diagrams-1.0.0"
       sources."randexp-0.4.6"
       sources."randombytes-2.1.0"
       sources."range-parser-1.2.1"
-      sources."raw-body-2.4.0"
+      sources."raw-body-2.4.2"
       sources."react-is-17.0.2"
       sources."readdirp-3.6.0"
       sources."regexpp-3.2.0"
       (sources."request-2.88.2" // {
         dependencies = [
           sources."form-data-2.3.3"
-          sources."qs-6.5.2"
+          sources."qs-6.5.3"
           sources."tough-cookie-2.5.0"
         ];
       })
@@ -4118,34 +4067,34 @@ let
       sources."request-promise-core-1.1.4"
       sources."require-directory-2.1.1"
       sources."require-from-string-2.0.2"
-      sources."resolve-1.20.0"
+      sources."resolve-1.22.0"
       sources."resolve-from-4.0.0"
       sources."ret-0.1.15"
       sources."rimraf-3.0.2"
-      sources."safe-buffer-5.1.2"
+      sources."safe-buffer-5.2.1"
       sources."safer-buffer-2.1.2"
-      sources."sanitize-html-2.5.3"
+      sources."sanitize-html-2.6.1"
       sources."saxes-5.0.1"
       sources."selderee-0.6.0"
       sources."semver-7.3.5"
-      (sources."send-0.17.1" // {
+      (sources."send-0.17.2" // {
         dependencies = [
-          sources."ms-2.1.1"
+          sources."ms-2.1.3"
         ];
       })
       sources."serialize-javascript-6.0.0"
-      sources."serve-static-1.14.1"
-      sources."setprototypeof-1.1.1"
+      sources."serve-static-1.14.2"
+      sources."setprototypeof-1.2.0"
       sources."shebang-command-2.0.0"
       sources."shebang-regex-3.0.0"
       sources."sigmund-1.0.1"
       sources."slash-3.0.0"
       sources."slice-ansi-4.0.0"
       sources."source-map-0.6.1"
-      sources."source-map-js-0.6.2"
-      sources."source-map-support-0.5.20"
+      sources."source-map-js-1.0.2"
+      sources."source-map-support-0.5.21"
       sources."sprintf-js-1.0.3"
-      sources."sshpk-1.16.1"
+      sources."sshpk-1.17.0"
       (sources."stack-utils-2.0.5" // {
         dependencies = [
           sources."escape-string-regexp-2.0.0"
@@ -4159,16 +4108,17 @@ let
       sources."strip-bom-3.0.0"
       sources."strip-json-comments-3.1.1"
       sources."supports-color-7.2.0"
+      sources."supports-preserve-symlinks-flag-1.0.0"
       sources."symbol-tree-3.2.4"
-      (sources."table-6.7.3" // {
+      (sources."table-6.8.0" // {
         dependencies = [
-          sources."ajv-8.8.1"
+          sources."ajv-8.9.0"
           sources."json-schema-traverse-1.0.0"
         ];
       })
       sources."text-table-0.2.0"
       sources."to-regex-range-5.0.1"
-      sources."toidentifier-1.0.0"
+      sources."toidentifier-1.0.1"
       sources."tough-cookie-4.0.0"
       sources."tr46-2.1.0"
       sources."ts-mocha-8.0.0"
@@ -4178,7 +4128,7 @@ let
           sources."mkdirp-0.5.5"
         ];
       })
-      (sources."tsconfig-paths-3.11.0" // {
+      (sources."tsconfig-paths-3.12.0" // {
         dependencies = [
           sources."json5-1.0.1"
         ];
@@ -4206,7 +4156,7 @@ let
       sources."type-check-0.3.2"
       sources."type-fest-0.20.2"
       sources."type-is-1.6.18"
-      sources."typescript-4.5.2"
+      sources."typescript-4.5.5"
       sources."typescript-formatter-7.2.2"
       sources."universalify-0.1.2"
       sources."unpipe-1.0.0"
@@ -4224,10 +4174,10 @@ let
       sources."whatwg-url-8.7.0"
       sources."which-2.0.2"
       sources."word-wrap-1.2.3"
-      sources."workerpool-6.1.5"
+      sources."workerpool-6.2.0"
       sources."wrap-ansi-7.0.0"
       sources."wrappy-1.0.2"
-      sources."ws-7.5.5"
+      sources."ws-7.5.6"
       sources."xml-name-validator-3.0.0"
       sources."xmlchars-2.2.0"
       sources."y18n-5.0.8"
diff --git a/pkgs/servers/mjolnir/node-env.nix b/pkgs/servers/mjolnir/node-env.nix
index 21089c4d545..5f055785791 100644
--- a/pkgs/servers/mjolnir/node-env.nix
+++ b/pkgs/servers/mjolnir/node-env.nix
@@ -1,6 +1,6 @@
 # This file originates from node2nix
 
-{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile}:
+{lib, stdenv, nodejs, python2, pkgs, libtool, runCommand, writeTextFile, writeShellScript}:
 
 let
   # Workaround to cope with utillinux in Nixpkgs 20.09 and util-linux in Nixpkgs master
@@ -40,36 +40,22 @@ let
       '';
     };
 
-  includeDependencies = {dependencies}:
-    lib.optionalString (dependencies != [])
-      (lib.concatMapStrings (dependency:
-        ''
-          # Bundle the dependencies of the package
-          mkdir -p node_modules
-          cd node_modules
-
-          # Only include dependencies if they don't exist. They may also be bundled in the package.
-          if [ ! -e "${dependency.name}" ]
-          then
-              ${composePackage dependency}
-          fi
+  # Common shell logic
+  installPackage = writeShellScript "install-package" ''
+    installPackage() {
+      local packageName=$1 src=$2
 
-          cd ..
-        ''
-      ) dependencies);
+      local strippedName
 
-  # Recursively composes the dependencies of a package
-  composePackage = { name, packageName, src, dependencies ? [], ... }@args:
-    builtins.addErrorContext "while evaluating node package '${packageName}'" ''
-      DIR=$(pwd)
+      local DIR=$PWD
       cd $TMPDIR
 
-      unpackFile ${src}
+      unpackFile $src
 
       # Make the base dir in which the target dependency resides first
-      mkdir -p "$(dirname "$DIR/${packageName}")"
+      mkdir -p "$(dirname "$DIR/$packageName")"
 
-      if [ -f "${src}" ]
+      if [ -f "$src" ]
       then
           # Figure out what directory has been unpacked
           packageDir="$(find . -maxdepth 1 -type d | tail -1)"
@@ -79,28 +65,53 @@ let
           chmod -R u+w "$packageDir"
 
           # Move the extracted tarball into the output folder
-          mv "$packageDir" "$DIR/${packageName}"
-      elif [ -d "${src}" ]
+          mv "$packageDir" "$DIR/$packageName"
+      elif [ -d "$src" ]
       then
           # Get a stripped name (without hash) of the source directory.
           # On old nixpkgs it's already set internally.
           if [ -z "$strippedName" ]
           then
-              strippedName="$(stripHash ${src})"
+              strippedName="$(stripHash $src)"
           fi
 
           # Restore write permissions to make building work
           chmod -R u+w "$strippedName"
 
           # Move the extracted directory into the output folder
-          mv "$strippedName" "$DIR/${packageName}"
+          mv "$strippedName" "$DIR/$packageName"
       fi
 
-      # Unset the stripped name to not confuse the next unpack step
-      unset strippedName
+      # Change to the package directory to install dependencies
+      cd "$DIR/$packageName"
+    }
+  '';
 
-      # Include the dependencies of the package
-      cd "$DIR/${packageName}"
+  # Bundle the dependencies of the package
+  #
+  # Only include dependencies if they don't exist. They may also be bundled in the package.
+  includeDependencies = {dependencies}:
+    lib.optionalString (dependencies != []) (
+      ''
+        mkdir -p node_modules
+        cd node_modules
+      ''
+      + (lib.concatMapStrings (dependency:
+        ''
+          if [ ! -e "${dependency.name}" ]; then
+              ${composePackage dependency}
+          fi
+        ''
+      ) dependencies)
+      + ''
+        cd ..
+      ''
+    );
+
+  # Recursively composes the dependencies of a package
+  composePackage = { name, packageName, src, dependencies ? [], ... }@args:
+    builtins.addErrorContext "while evaluating node package '${packageName}'" ''
+      installPackage "${packageName}" "${src}"
       ${includeDependencies { inherit dependencies; }}
       cd ..
       ${lib.optionalString (builtins.substring 0 1 packageName == "@") "cd .."}
@@ -415,6 +426,8 @@ let
       passAsFile = [ "compositionScript" "pinpointDependenciesScript" ];
 
       installPhase = ''
+        source ${installPackage}
+
         # Create and enter a root node_modules/ folder
         mkdir -p $out/lib/node_modules
         cd $out/lib/node_modules
@@ -492,6 +505,8 @@ let
         passAsFile = [ "includeScript" "pinpointDependenciesScript" ];
 
         installPhase = ''
+          source ${installPackage}
+
           mkdir -p $out/${packageName}
           cd $out/${packageName}
 
diff --git a/pkgs/servers/mjolnir/update.sh b/pkgs/servers/mjolnir/update.sh
index 6c7b2fb417b..62c0c6eaa7e 100755
--- a/pkgs/servers/mjolnir/update.sh
+++ b/pkgs/servers/mjolnir/update.sh
@@ -20,7 +20,7 @@ store_src="$(nix-build . -A mjolnir.src --no-out-link)"
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
 node2nix \
-  --nodejs-12 \
+  --nodejs-14 \
   --development \
   --node-env ./node-env.nix \
   --output ./node-deps.nix \
diff --git a/pkgs/servers/monitoring/grafana-image-renderer/default.nix b/pkgs/servers/monitoring/grafana-image-renderer/default.nix
index b5ae6403068..35d44072a9f 100644
--- a/pkgs/servers/monitoring/grafana-image-renderer/default.nix
+++ b/pkgs/servers/monitoring/grafana-image-renderer/default.nix
@@ -1,4 +1,6 @@
-{ lib, mkYarnPackage, fetchFromGitHub, nodejs, runtimeShell }:
+{ lib, mkYarnPackage, fetchFromGitHub, nodejs, runtimeShell
+, nodePackages, python3, vips, glib, pkg-config
+}:
 
 # Notes for the upgrade:
 # * Download the tarball of the new version to use.
@@ -10,13 +12,13 @@
 
 mkYarnPackage rec {
   pname = "grafana-image-renderer";
-  version = "3.3.0";
+  version = "3.4.0";
 
   src = fetchFromGitHub {
     owner = "grafana";
     repo = "grafana-image-renderer";
     rev = "v${version}";
-    sha256 = "sha256-q4w40Do3e4vMluwAb1YwSGMVHO6QRZr8Fa5I+05uzLI=";
+    sha256 = "sha256-6yw+zp83T6VVa4A9KYX6rzMKG5GoyJ7M8Z+cEHE4uts=";
   };
 
   buildPhase = ''
@@ -35,6 +37,14 @@ mkYarnPackage rec {
   yarnNix = ./yarn.nix;
   yarnLock = ./yarn.lock;
 
+  pkgConfig.sharp = {
+    nativeBuildInputs = [ nodePackages.node-gyp python3 pkg-config ];
+    buildInputs = [ glib vips ];
+    postInstall = ''
+      node-gyp rebuild
+    '';
+  };
+
   distPhase = ''
     runHook preDist
 
diff --git a/pkgs/servers/monitoring/grafana-image-renderer/package.json b/pkgs/servers/monitoring/grafana-image-renderer/package.json
index dbc39a3aafc..0e22150e0e2 100644
--- a/pkgs/servers/monitoring/grafana-image-renderer/package.json
+++ b/pkgs/servers/monitoring/grafana-image-renderer/package.json
@@ -5,7 +5,7 @@
   "license": "Apache-2.0",
   "repository": {
     "type": "git",
-    "url": "https://github.com/grafana/grafana-image-renderer.git"
+    "url": "http://github.com/grafana/grafana-image-renderer.git"
   },
   "scripts": {
     "eslint": "eslint . --ext .ts",
@@ -14,6 +14,7 @@
     "prettier:write": "prettier --list-different \"**/*.ts\" --write",
     "precommit": "npm run eslint & npm run typecheck",
     "watch": "tsc-watch --onSuccess \"node build/app.js server --config=dev.json\"",
+    "watch:debug": "tsc-watch --onSuccess \"cross-env DEBUG=puppeteer-cluster:* node build/app.js server --config=dev.json\"",
     "build": "tsc",
     "start": "node build/app.js --config=dev.json"
   },
@@ -30,8 +31,10 @@
     "morgan": "^1.9.0",
     "on-finished": "^2.3.0",
     "prom-client": "^11.5.3",
-    "puppeteer": "^10.0.0",
+    "puppeteer": "^13.1.3",
     "puppeteer-cluster": "^0.22.0",
+    "poolpeteer": "^0.22.0",
+    "sharp": "0.29.3",
     "unique-filename": "^1.1.0",
     "winston": "^3.2.1"
   },
@@ -39,6 +42,7 @@
     "@grafana/eslint-config": "^2.5.0",
     "@types/express": "^4.11.1",
     "@types/node": "^14.14.41",
+    "cross-env": "7.0.3",
     "@typescript-eslint/eslint-plugin": "^4.32.0",
     "@typescript-eslint/parser": "^4.32.0",
     "eslint": "^7.32.0",
@@ -49,7 +53,7 @@
     "eslint-plugin-react-hooks": "^4.2.0",
     "husky": "^4.3.8",
     "lint-staged": "^11.2.0",
-    "pkg": "^5.4.1",
+    "pkg": "5.5.2",
     "prettier": "2.2.1",
     "tsc-watch": "^4.2.3",
     "typescript": "^4.3.2"
@@ -69,7 +73,7 @@
   },
   "bin": "build/app.js",
   "engines": {
-    "node": ">=14 <15"
+    "node": ">=14 <=16"
   },
   "volta": {
     "node": "14.16.1"
diff --git a/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock b/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock
index dae82acb131..de9fa1f9b9d 100644
--- a/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock
+++ b/pkgs/servers/monitoring/grafana-image-renderer/yarn.lock
@@ -1,3848 +1,3878 @@
-# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.

-# yarn lockfile v1

-

-

-"@babel/code-frame@7.12.11":

-  version "7.12.11"

-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"

-  integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==

-  dependencies:

-    "@babel/highlight" "^7.10.4"

-

-"@babel/code-frame@^7.0.0":

-  version "7.14.5"

-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz#23b08d740e83f49c5e59945fbf1b43e80bbf4edb"

-  integrity sha512-9pzDqyc6OLDaqe+zbACgFkb6fKMNG6CObKpnYXChRsvYGyEdc7CA2BaqeOM+vOtCS5ndmJicPJhKAwYRI6UfFw==

-  dependencies:

-    "@babel/highlight" "^7.14.5"

-

-"@babel/helper-validator-identifier@^7.12.11", "@babel/helper-validator-identifier@^7.14.5":

-  version "7.15.7"

-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"

-  integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==

-

-"@babel/highlight@^7.10.4", "@babel/highlight@^7.14.5":

-  version "7.14.5"

-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz#6861a52f03966405001f6aa534a01a24d99e8cd9"

-  integrity sha512-qf9u2WFWVV0MppaL877j2dBtQIDgmidgjGk5VIMw3OadXvYaXn66U1BFlH2t4+t3i+8PhedppRv+i40ABzd+gg==

-  dependencies:

-    "@babel/helper-validator-identifier" "^7.14.5"

-    chalk "^2.0.0"

-    js-tokens "^4.0.0"

-

-"@babel/parser@7.13.13":

-  version "7.13.13"

-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.13.tgz#42f03862f4aed50461e543270916b47dd501f0df"

-  integrity sha512-OhsyMrqygfk5v8HmWwOzlYjJrtLaFhF34MrfG/Z73DgYCI6ojNUTUp2TYbtnjo8PegeJp12eamsNettCQjKjVw==

-

-"@babel/types@7.13.12":

-  version "7.13.12"

-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.13.12.tgz#edbf99208ef48852acdff1c8a681a1e4ade580cd"

-  integrity sha512-K4nY2xFN4QMvQwkQ+zmBDp6ANMbVNw6BbxWmYA4qNjhR9W+Lj/8ky5MEY2Me5r+B2c6/v6F53oMndG+f9s3IiA==

-  dependencies:

-    "@babel/helper-validator-identifier" "^7.12.11"

-    lodash "^4.17.19"

-    to-fast-properties "^2.0.0"

-

-"@dabh/diagnostics@^2.0.2":

-  version "2.0.2"

-  resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31"

-  integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==

-  dependencies:

-    colorspace "1.1.x"

-    enabled "2.0.x"

-    kuler "^2.0.0"

-

-"@es-joy/jsdoccomment@0.10.8":

-  version "0.10.8"

-  resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz#b3152887e25246410ed4ea569a55926ec13b2b05"

-  integrity sha512-3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ==

-  dependencies:

-    comment-parser "1.2.4"

-    esquery "^1.4.0"

-    jsdoc-type-pratt-parser "1.1.1"

-

-"@eslint/eslintrc@^0.4.0", "@eslint/eslintrc@^0.4.3":

-  version "0.4.3"

-  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"

-  integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==

-  dependencies:

-    ajv "^6.12.4"

-    debug "^4.1.1"

-    espree "^7.3.0"

-    globals "^13.9.0"

-    ignore "^4.0.6"

-    import-fresh "^3.2.1"

-    js-yaml "^3.13.1"

-    minimatch "^3.0.4"

-    strip-json-comments "^3.1.1"

-

-"@grafana/eslint-config@^2.5.0":

-  version "2.5.0"

-  resolved "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-2.5.0.tgz#d028898e201f242748a94d5582f0e14a493f5853"

-  integrity sha512-JHckBXfUoGYXT18br2n2nTqo4eX7V51/Ec4Y2I7ALh5XsW6OnO+/1AAPymE2J/4WGt3IocW7vJoNV2GRW1JSQg==

-  dependencies:

-    "@typescript-eslint/eslint-plugin" "4.28.0"

-    "@typescript-eslint/parser" "4.28.0"

-    eslint "7.21.0"

-    eslint-config-prettier "7.2.0"

-    eslint-plugin-jsdoc "31.6.1"

-    eslint-plugin-prettier "3.3.1"

-    eslint-plugin-react "7.22.0"

-    eslint-plugin-react-hooks "4.2.0"

-    prettier "2.2.1"

-    typescript "4.3.4"

-

-"@grpc/grpc-js@^1.0":

-  version "1.3.7"

-  resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.3.7.tgz#58b687aff93b743aafde237fd2ee9a3259d7f2d8"

-  integrity sha512-CKQVuwuSPh40tgOkR7c0ZisxYRiN05PcKPW72mQL5y++qd7CwBRoaJZvU5xfXnCJDFBmS3qZGQ71Frx6Ofo2XA==

-  dependencies:

-    "@types/node" ">=12.12.47"

-

-"@grpc/proto-loader@^0.5.4":

-  version "0.5.6"

-  resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.5.6.tgz#1dea4b8a6412b05e2d58514d507137b63a52a98d"

-  integrity sha512-DT14xgw3PSzPxwS13auTEwxhMMOoz33DPUKNtmYK/QYbBSpLXJy78FGGs5yVoxVobEqPm4iW9MOIoz0A3bLTRQ==

-  dependencies:

-    lodash.camelcase "^4.3.0"

-    protobufjs "^6.8.6"

-

-"@hapi/boom@^9.1.0":

-  version "9.1.4"

-  resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.4.tgz#1f9dad367c6a7da9f8def24b4a986fc5a7bd9db6"

-  integrity sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==

-  dependencies:

-    "@hapi/hoek" "9.x.x"

-

-"@hapi/hoek@9.x.x":

-  version "9.2.1"

-  resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17"

-  integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==

-

-"@humanwhocodes/config-array@^0.5.0":

-  version "0.5.0"

-  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"

-  integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==

-  dependencies:

-    "@humanwhocodes/object-schema" "^1.2.0"

-    debug "^4.1.1"

-    minimatch "^3.0.4"

-

-"@humanwhocodes/object-schema@^1.2.0":

-  version "1.2.0"

-  resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz#87de7af9c231826fdd68ac7258f77c429e0e5fcf"

-  integrity sha512-wdppn25U8z/2yiaT6YGquE6X8sSv7hNMWSXYSSU1jGv/yd6XqjXgTDJ8KP4NgjTXfJ3GbRjeeb8RTV7a/VpM+w==

-

-"@nodelib/fs.scandir@2.1.5":

-  version "2.1.5"

-  resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"

-  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==

-  dependencies:

-    "@nodelib/fs.stat" "2.0.5"

-    run-parallel "^1.1.9"

-

-"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":

-  version "2.0.5"

-  resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"

-  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==

-

-"@nodelib/fs.walk@^1.2.3":

-  version "1.2.8"

-  resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"

-  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==

-  dependencies:

-    "@nodelib/fs.scandir" "2.1.5"

-    fastq "^1.6.0"

-

-"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"

-  integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78=

-

-"@protobufjs/base64@^1.1.2":

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"

-  integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==

-

-"@protobufjs/codegen@^2.0.4":

-  version "2.0.4"

-  resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"

-  integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==

-

-"@protobufjs/eventemitter@^1.1.0":

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"

-  integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A=

-

-"@protobufjs/fetch@^1.1.0":

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"

-  integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=

-  dependencies:

-    "@protobufjs/aspromise" "^1.1.1"

-    "@protobufjs/inquire" "^1.1.0"

-

-"@protobufjs/float@^1.0.2":

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"

-  integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=

-

-"@protobufjs/inquire@^1.1.0":

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"

-  integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=

-

-"@protobufjs/path@^1.1.2":

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"

-  integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=

-

-"@protobufjs/pool@^1.1.0":

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"

-  integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=

-

-"@protobufjs/utf8@^1.1.0":

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"

-  integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=

-

-"@types/body-parser@*":

-  version "1.19.1"

-  resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz#0c0174c42a7d017b818303d4b5d969cb0b75929c"

-  integrity sha512-a6bTJ21vFOGIkwM0kzh9Yr89ziVxq4vYH2fQ6N8AeipEzai/cFK6aGMArIkUeIdRIgpwQa+2bXiLuUJCpSf2Cg==

-  dependencies:

-    "@types/connect" "*"

-    "@types/node" "*"

-

-"@types/connect@*":

-  version "3.4.35"

-  resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"

-  integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==

-  dependencies:

-    "@types/node" "*"

-

-"@types/express-serve-static-core@^4.17.18":

-  version "4.17.24"

-  resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz#ea41f93bf7e0d59cd5a76665068ed6aab6815c07"

-  integrity sha512-3UJuW+Qxhzwjq3xhwXm2onQcFHn76frIYVbTu+kn24LFxI+dEhdfISDFovPB8VpEgW8oQCTpRuCe+0zJxB7NEA==

-  dependencies:

-    "@types/node" "*"

-    "@types/qs" "*"

-    "@types/range-parser" "*"

-

-"@types/express@^4.11.1":

-  version "4.17.13"

-  resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034"

-  integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==

-  dependencies:

-    "@types/body-parser" "*"

-    "@types/express-serve-static-core" "^4.17.18"

-    "@types/qs" "*"

-    "@types/serve-static" "*"

-

-"@types/json-schema@^7.0.7":

-  version "7.0.9"

-  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"

-  integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==

-

-"@types/long@^4.0.1":

-  version "4.0.1"

-  resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"

-  integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==

-

-"@types/mime@^1":

-  version "1.3.2"

-  resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"

-  integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==

-

-"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0":

-  version "16.10.2"

-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.10.2.tgz#5764ca9aa94470adb4e1185fe2e9f19458992b2e"

-  integrity sha512-zCclL4/rx+W5SQTzFs9wyvvyCwoK9QtBpratqz2IYJ3O8Umrn0m3nsTv0wQBk9sRGpvUe9CwPDrQFB10f1FIjQ==

-

-"@types/node@^14.14.41":

-  version "14.17.20"

-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.17.20.tgz#74cc80438fd0467dc4377ee5bbad89a886df3c10"

-  integrity sha512-gI5Sl30tmhXsqkNvopFydP7ASc4c2cLfGNQrVKN3X90ADFWFsPEsotm/8JHSUJQKTHbwowAHtcJPeyVhtKv0TQ==

-

-"@types/parse-json@^4.0.0":

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"

-  integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==

-

-"@types/qs@*":

-  version "6.9.7"

-  resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"

-  integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==

-

-"@types/range-parser@*":

-  version "1.2.4"

-  resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"

-  integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==

-

-"@types/serve-static@*":

-  version "1.13.10"

-  resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9"

-  integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==

-  dependencies:

-    "@types/mime" "^1"

-    "@types/node" "*"

-

-"@types/yauzl@^2.9.1":

-  version "2.9.2"

-  resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a"

-  integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==

-  dependencies:

-    "@types/node" "*"

-

-"@typescript-eslint/eslint-plugin@4.28.0":

-  version "4.28.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.0.tgz#1a66f03b264844387beb7dc85e1f1d403bd1803f"

-  integrity sha512-KcF6p3zWhf1f8xO84tuBailV5cN92vhS+VT7UJsPzGBm9VnQqfI9AsiMUFUCYHTYPg1uCCo+HyiDnpDuvkAMfQ==

-  dependencies:

-    "@typescript-eslint/experimental-utils" "4.28.0"

-    "@typescript-eslint/scope-manager" "4.28.0"

-    debug "^4.3.1"

-    functional-red-black-tree "^1.0.1"

-    regexpp "^3.1.0"

-    semver "^7.3.5"

-    tsutils "^3.21.0"

-

-"@typescript-eslint/eslint-plugin@^4.32.0":

-  version "4.33.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276"

-  integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==

-  dependencies:

-    "@typescript-eslint/experimental-utils" "4.33.0"

-    "@typescript-eslint/scope-manager" "4.33.0"

-    debug "^4.3.1"

-    functional-red-black-tree "^1.0.1"

-    ignore "^5.1.8"

-    regexpp "^3.1.0"

-    semver "^7.3.5"

-    tsutils "^3.21.0"

-

-"@typescript-eslint/experimental-utils@4.28.0":

-  version "4.28.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.0.tgz#13167ed991320684bdc23588135ae62115b30ee0"

-  integrity sha512-9XD9s7mt3QWMk82GoyUpc/Ji03vz4T5AYlHF9DcoFNfJ/y3UAclRsfGiE2gLfXtyC+JRA3trR7cR296TEb1oiQ==

-  dependencies:

-    "@types/json-schema" "^7.0.7"

-    "@typescript-eslint/scope-manager" "4.28.0"

-    "@typescript-eslint/types" "4.28.0"

-    "@typescript-eslint/typescript-estree" "4.28.0"

-    eslint-scope "^5.1.1"

-    eslint-utils "^3.0.0"

-

-"@typescript-eslint/experimental-utils@4.33.0":

-  version "4.33.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd"

-  integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==

-  dependencies:

-    "@types/json-schema" "^7.0.7"

-    "@typescript-eslint/scope-manager" "4.33.0"

-    "@typescript-eslint/types" "4.33.0"

-    "@typescript-eslint/typescript-estree" "4.33.0"

-    eslint-scope "^5.1.1"

-    eslint-utils "^3.0.0"

-

-"@typescript-eslint/parser@4.28.0":

-  version "4.28.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.0.tgz#2404c16751a28616ef3abab77c8e51d680a12caa"

-  integrity sha512-7x4D22oPY8fDaOCvkuXtYYTQ6mTMmkivwEzS+7iml9F9VkHGbbZ3x4fHRwxAb5KeuSkLqfnYjs46tGx2Nour4A==

-  dependencies:

-    "@typescript-eslint/scope-manager" "4.28.0"

-    "@typescript-eslint/types" "4.28.0"

-    "@typescript-eslint/typescript-estree" "4.28.0"

-    debug "^4.3.1"

-

-"@typescript-eslint/parser@^4.32.0":

-  version "4.33.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"

-  integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==

-  dependencies:

-    "@typescript-eslint/scope-manager" "4.33.0"

-    "@typescript-eslint/types" "4.33.0"

-    "@typescript-eslint/typescript-estree" "4.33.0"

-    debug "^4.3.1"

-

-"@typescript-eslint/scope-manager@4.28.0":

-  version "4.28.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.0.tgz#6a3009d2ab64a30fc8a1e257a1a320067f36a0ce"

-  integrity sha512-eCALCeScs5P/EYjwo6se9bdjtrh8ByWjtHzOkC4Tia6QQWtQr3PHovxh3TdYTuFcurkYI4rmFsRFpucADIkseg==

-  dependencies:

-    "@typescript-eslint/types" "4.28.0"

-    "@typescript-eslint/visitor-keys" "4.28.0"

-

-"@typescript-eslint/scope-manager@4.33.0":

-  version "4.33.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3"

-  integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==

-  dependencies:

-    "@typescript-eslint/types" "4.33.0"

-    "@typescript-eslint/visitor-keys" "4.33.0"

-

-"@typescript-eslint/types@4.28.0":

-  version "4.28.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.0.tgz#a33504e1ce7ac51fc39035f5fe6f15079d4dafb0"

-  integrity sha512-p16xMNKKoiJCVZY5PW/AfILw2xe1LfruTcfAKBj3a+wgNYP5I9ZEKNDOItoRt53p4EiPV6iRSICy8EPanG9ZVA==

-

-"@typescript-eslint/types@4.33.0":

-  version "4.33.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72"

-  integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==

-

-"@typescript-eslint/typescript-estree@4.28.0":

-  version "4.28.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.0.tgz#e66d4e5aa2ede66fec8af434898fe61af10c71cf"

-  integrity sha512-m19UQTRtxMzKAm8QxfKpvh6OwQSXaW1CdZPoCaQuLwAq7VZMNuhJmZR4g5281s2ECt658sldnJfdpSZZaxUGMQ==

-  dependencies:

-    "@typescript-eslint/types" "4.28.0"

-    "@typescript-eslint/visitor-keys" "4.28.0"

-    debug "^4.3.1"

-    globby "^11.0.3"

-    is-glob "^4.0.1"

-    semver "^7.3.5"

-    tsutils "^3.21.0"

-

-"@typescript-eslint/typescript-estree@4.33.0":

-  version "4.33.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609"

-  integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==

-  dependencies:

-    "@typescript-eslint/types" "4.33.0"

-    "@typescript-eslint/visitor-keys" "4.33.0"

-    debug "^4.3.1"

-    globby "^11.0.3"

-    is-glob "^4.0.1"

-    semver "^7.3.5"

-    tsutils "^3.21.0"

-

-"@typescript-eslint/visitor-keys@4.28.0":

-  version "4.28.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.0.tgz#255c67c966ec294104169a6939d96f91c8a89434"

-  integrity sha512-PjJyTWwrlrvM5jazxYF5ZPs/nl0kHDZMVbuIcbpawVXaDPelp3+S9zpOz5RmVUfS/fD5l5+ZXNKnWhNYjPzCvw==

-  dependencies:

-    "@typescript-eslint/types" "4.28.0"

-    eslint-visitor-keys "^2.0.0"

-

-"@typescript-eslint/visitor-keys@4.33.0":

-  version "4.33.0"

-  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd"

-  integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==

-  dependencies:

-    "@typescript-eslint/types" "4.33.0"

-    eslint-visitor-keys "^2.0.0"

-

-accepts@~1.3.7:

-  version "1.3.7"

-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"

-  integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==

-  dependencies:

-    mime-types "~2.1.24"

-    negotiator "0.6.2"

-

-acorn-jsx@^5.3.1:

-  version "5.3.2"

-  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"

-  integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==

-

-acorn@^7.4.0:

-  version "7.4.1"

-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"

-  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==

-

-agent-base@6:

-  version "6.0.2"

-  resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"

-  integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==

-  dependencies:

-    debug "4"

-

-aggregate-error@^3.0.0:

-  version "3.1.0"

-  resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"

-  integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==

-  dependencies:

-    clean-stack "^2.0.0"

-    indent-string "^4.0.0"

-

-ajv@^6.10.0, ajv@^6.12.4:

-  version "6.12.6"

-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"

-  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==

-  dependencies:

-    fast-deep-equal "^3.1.1"

-    fast-json-stable-stringify "^2.0.0"

-    json-schema-traverse "^0.4.1"

-    uri-js "^4.2.2"

-

-ajv@^8.0.1:

-  version "8.6.3"

-  resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz#11a66527761dc3e9a3845ea775d2d3c0414e8764"

-  integrity sha512-SMJOdDP6LqTkD0Uq8qLi+gMwSt0imXLSV080qFVwJCpH9U6Mb+SUGHAXM0KNbcBPguytWyvFxcHgMLe2D2XSpw==

-  dependencies:

-    fast-deep-equal "^3.1.1"

-    json-schema-traverse "^1.0.0"

-    require-from-string "^2.0.2"

-    uri-js "^4.2.2"

-

-ansi-colors@^4.1.1:

-  version "4.1.1"

-  resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"

-  integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==

-

-ansi-escapes@^4.3.0:

-  version "4.3.2"

-  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"

-  integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==

-  dependencies:

-    type-fest "^0.21.3"

-

-ansi-regex@^2.0.0:

-  version "2.1.1"

-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"

-  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=

-

-ansi-regex@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"

-  integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=

-

-ansi-regex@^5.0.1:

-  version "5.0.1"

-  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"

-  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==

-

-ansi-styles@^3.2.1:

-  version "3.2.1"

-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"

-  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==

-  dependencies:

-    color-convert "^1.9.0"

-

-ansi-styles@^4.0.0, ansi-styles@^4.1.0:

-  version "4.3.0"

-  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"

-  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==

-  dependencies:

-    color-convert "^2.0.1"

-

-anymatch@~3.1.2:

-  version "3.1.2"

-  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"

-  integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==

-  dependencies:

-    normalize-path "^3.0.0"

-    picomatch "^2.0.4"

-

-aproba@^1.0.3:

-  version "1.2.0"

-  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"

-  integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==

-

-are-we-there-yet@~1.1.2:

-  version "1.1.7"

-  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"

-  integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==

-  dependencies:

-    delegates "^1.0.0"

-    readable-stream "^2.0.6"

-

-argparse@^1.0.7:

-  version "1.0.10"

-  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"

-  integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==

-  dependencies:

-    sprintf-js "~1.0.2"

-

-array-flatten@1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"

-  integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=

-

-array-includes@^3.1.1, array-includes@^3.1.3:

-  version "3.1.4"

-  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9"

-  integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-    es-abstract "^1.19.1"

-    get-intrinsic "^1.1.1"

-    is-string "^1.0.7"

-

-array-union@^2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"

-  integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==

-

-array.prototype.flatmap@^1.2.3, array.prototype.flatmap@^1.2.4:

-  version "1.2.5"

-  resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446"

-  integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==

-  dependencies:

-    call-bind "^1.0.0"

-    define-properties "^1.1.3"

-    es-abstract "^1.19.0"

-

-astral-regex@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"

-  integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==

-

-async@^3.1.0:

-  version "3.2.1"

-  resolved "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz#d3274ec66d107a47476a4c49136aacdb00665fc8"

-  integrity sha512-XdD5lRO/87udXCMC9meWdYiR+Nq6ZjUfXidViUZGu2F1MO4T3XwZ1et0hb2++BgLfhyJwy44BGB/yx80ABx8hg==

-

-at-least-node@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"

-  integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==

-

-balanced-match@^1.0.0:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"

-  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==

-

-base64-js@^1.3.1:

-  version "1.5.1"

-  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"

-  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==

-

-basic-auth@~2.0.1:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"

-  integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==

-  dependencies:

-    safe-buffer "5.1.2"

-

-binary-extensions@^2.0.0:

-  version "2.2.0"

-  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"

-  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==

-

-bintrees@1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.1.tgz#0e655c9b9c2435eaab68bf4027226d2b55a34524"

-  integrity sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=

-

-bl@^4.0.3:

-  version "4.1.0"

-  resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"

-  integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==

-  dependencies:

-    buffer "^5.5.0"

-    inherits "^2.0.4"

-    readable-stream "^3.4.0"

-

-body-parser@1.19.0:

-  version "1.19.0"

-  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"

-  integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==

-  dependencies:

-    bytes "3.1.0"

-    content-type "~1.0.4"

-    debug "2.6.9"

-    depd "~1.1.2"

-    http-errors "1.7.2"

-    iconv-lite "0.4.24"

-    on-finished "~2.3.0"

-    qs "6.7.0"

-    raw-body "2.4.0"

-    type-is "~1.6.17"

-

-brace-expansion@^1.1.7:

-  version "1.1.11"

-  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"

-  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==

-  dependencies:

-    balanced-match "^1.0.0"

-    concat-map "0.0.1"

-

-braces@^3.0.1, braces@~3.0.2:

-  version "3.0.2"

-  resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"

-  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==

-  dependencies:

-    fill-range "^7.0.1"

-

-buffer-crc32@~0.2.3:

-  version "0.2.13"

-  resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"

-  integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=

-

-buffer@^5.2.1, buffer@^5.5.0:

-  version "5.7.1"

-  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"

-  integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==

-  dependencies:

-    base64-js "^1.3.1"

-    ieee754 "^1.1.13"

-

-bytes@3.1.0:

-  version "3.1.0"

-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"

-  integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==

-

-call-bind@^1.0.0, call-bind@^1.0.2:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"

-  integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==

-  dependencies:

-    function-bind "^1.1.1"

-    get-intrinsic "^1.0.2"

-

-callsites@^3.0.0:

-  version "3.1.0"

-  resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"

-  integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==

-

-chalk@^2.0.0:

-  version "2.4.2"

-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"

-  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==

-  dependencies:

-    ansi-styles "^3.2.1"

-    escape-string-regexp "^1.0.5"

-    supports-color "^5.3.0"

-

-chalk@^4.0.0, chalk@^4.1.0:

-  version "4.1.2"

-  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"

-  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==

-  dependencies:

-    ansi-styles "^4.1.0"

-    supports-color "^7.1.0"

-

-chokidar@^3.5.2:

-  version "3.5.2"

-  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz#dba3976fcadb016f66fd365021d91600d01c1e75"

-  integrity sha512-ekGhOnNVPgT77r4K/U3GDhu+FQ2S8TnK/s2KbIGXi0SZWuwkZ2QNyfWdZW+TVfn84DpEP7rLeCt2UI6bJ8GwbQ==

-  dependencies:

-    anymatch "~3.1.2"

-    braces "~3.0.2"

-    glob-parent "~5.1.2"

-    is-binary-path "~2.1.0"

-    is-glob "~4.0.1"

-    normalize-path "~3.0.0"

-    readdirp "~3.6.0"

-  optionalDependencies:

-    fsevents "~2.3.2"

-

-chownr@^1.1.1:

-  version "1.1.4"

-  resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"

-  integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==

-

-ci-info@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"

-  integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==

-

-clean-stack@^2.0.0:

-  version "2.2.0"

-  resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"

-  integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==

-

-cli-cursor@^3.1.0:

-  version "3.1.0"

-  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"

-  integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==

-  dependencies:

-    restore-cursor "^3.1.0"

-

-cli-truncate@2.1.0, cli-truncate@^2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"

-  integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==

-  dependencies:

-    slice-ansi "^3.0.0"

-    string-width "^4.2.0"

-

-cliui@^7.0.2:

-  version "7.0.4"

-  resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"

-  integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==

-  dependencies:

-    string-width "^4.2.0"

-    strip-ansi "^6.0.0"

-    wrap-ansi "^7.0.0"

-

-code-point-at@^1.0.0:

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"

-  integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=

-

-color-convert@^1.9.0, color-convert@^1.9.1:

-  version "1.9.3"

-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"

-  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==

-  dependencies:

-    color-name "1.1.3"

-

-color-convert@^2.0.1:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"

-  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==

-  dependencies:

-    color-name "~1.1.4"

-

-color-name@1.1.3:

-  version "1.1.3"

-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"

-  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=

-

-color-name@^1.0.0, color-name@~1.1.4:

-  version "1.1.4"

-  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"

-  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==

-

-color-string@^1.5.2:

-  version "1.6.0"

-  resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz#c3915f61fe267672cb7e1e064c9d692219f6c312"

-  integrity sha512-c/hGS+kRWJutUBEngKKmk4iH3sD59MBkoxVapS/0wgpCz2u7XsNloxknyvBhzwEs1IbV36D9PwqLPJ2DTu3vMA==

-  dependencies:

-    color-name "^1.0.0"

-    simple-swizzle "^0.2.2"

-

-color@3.0.x:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz#d920b4328d534a3ac8295d68f7bd4ba6c427be9a"

-  integrity sha512-jCpd5+s0s0t7p3pHQKpnJ0TpQKKdleP71LWcA0aqiljpiuAkOSUFN/dyH8ZwF0hRmFlrIuRhufds1QyEP9EB+w==

-  dependencies:

-    color-convert "^1.9.1"

-    color-string "^1.5.2"

-

-colorette@^1.4.0:

-  version "1.4.0"

-  resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"

-  integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==

-

-colors@^1.2.1:

-  version "1.4.0"

-  resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"

-  integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==

-

-colorspace@1.1.x:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.2.tgz#e0128950d082b86a2168580796a0aa5d6c68d8c5"

-  integrity sha512-vt+OoIP2d76xLhjwbBaucYlNSpPsrJWPlBTtwCpQKIu6/CSMutyzX93O/Do0qzpH3YoHEes8YEFXyZ797rEhzQ==

-  dependencies:

-    color "3.0.x"

-    text-hex "1.0.x"

-

-commander@^8.2.0:

-  version "8.2.0"

-  resolved "https://registry.yarnpkg.com/commander/-/commander-8.2.0.tgz#37fe2bde301d87d47a53adeff8b5915db1381ca8"

-  integrity sha512-LLKxDvHeL91/8MIyTAD5BFMNtoIwztGPMiM/7Bl8rIPmHCZXRxmSWr91h57dpOpnQ6jIUqEWdXE/uBYMfiVZDA==

-

-comment-parser@1.1.2:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.1.2.tgz#e5317d7a2ec22b470dcb54a29b25426c30bf39d8"

-  integrity sha512-AOdq0i8ghZudnYv8RUnHrhTgafUGs61Rdz9jemU5x2lnZwAWyOq7vySo626K59e1fVKH1xSRorJwPVRLSWOoAQ==

-

-comment-parser@1.2.4:

-  version "1.2.4"

-  resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.2.4.tgz#489f3ee55dfd184a6e4bffb31baba284453cb760"

-  integrity sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==

-

-compare-versions@^3.6.0:

-  version "3.6.0"

-  resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"

-  integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==

-

-concat-map@0.0.1:

-  version "0.0.1"

-  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"

-  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=

-

-console-control-strings@^1.0.0, console-control-strings@~1.1.0:

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"

-  integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=

-

-content-disposition@0.5.3:

-  version "0.5.3"

-  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"

-  integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==

-  dependencies:

-    safe-buffer "5.1.2"

-

-content-type@~1.0.4:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"

-  integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==

-

-cookie-signature@1.0.6:

-  version "1.0.6"

-  resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"

-  integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=

-

-cookie@0.4.0:

-  version "0.4.0"

-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"

-  integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==

-

-core-util-is@~1.0.0:

-  version "1.0.3"

-  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"

-  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==

-

-cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:

-  version "7.0.1"

-  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"

-  integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==

-  dependencies:

-    "@types/parse-json" "^4.0.0"

-    import-fresh "^3.2.1"

-    parse-json "^5.0.0"

-    path-type "^4.0.0"

-    yaml "^1.10.0"

-

-cross-spawn@^7.0.2, cross-spawn@^7.0.3:

-  version "7.0.3"

-  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"

-  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==

-  dependencies:

-    path-key "^3.1.0"

-    shebang-command "^2.0.0"

-    which "^2.0.1"

-

-debug@2.6.9:

-  version "2.6.9"

-  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"

-  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==

-  dependencies:

-    ms "2.0.0"

-

-debug@4, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2:

-  version "4.3.2"

-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b"

-  integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw==

-  dependencies:

-    ms "2.1.2"

-

-debug@4.3.1:

-  version "4.3.1"

-  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee"

-  integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==

-  dependencies:

-    ms "2.1.2"

-

-decompress-response@^4.2.0:

-  version "4.2.1"

-  resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"

-  integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==

-  dependencies:

-    mimic-response "^2.0.0"

-

-deep-extend@^0.6.0:

-  version "0.6.0"

-  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"

-  integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==

-

-deep-is@^0.1.3, deep-is@~0.1.3:

-  version "0.1.4"

-  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"

-  integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==

-

-define-properties@^1.1.3:

-  version "1.1.3"

-  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"

-  integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==

-  dependencies:

-    object-keys "^1.0.12"

-

-delegates@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"

-  integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=

-

-depd@~1.1.2:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"

-  integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=

-

-depd@~2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"

-  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==

-

-destroy@~1.0.4:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"

-  integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=

-

-detect-libc@^1.0.3:

-  version "1.0.3"

-  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"

-  integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=

-

-devtools-protocol@0.0.901419:

-  version "0.0.901419"

-  resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.901419.tgz#79b5459c48fe7e1c5563c02bd72f8fec3e0cebcd"

-  integrity sha512-4INMPwNm9XRpBukhNbF7OB6fNTTCaI8pzy/fXg0xQzAy5h3zL1P8xT3QazgKqBrb/hAYwIBizqDBZ7GtJE74QQ==

-

-dir-glob@^3.0.1:

-  version "3.0.1"

-  resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"

-  integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==

-  dependencies:

-    path-type "^4.0.0"

-

-doctrine@^2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"

-  integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==

-  dependencies:

-    esutils "^2.0.2"

-

-doctrine@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"

-  integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==

-  dependencies:

-    esutils "^2.0.2"

-

-duplexer@~0.1.1:

-  version "0.1.2"

-  resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"

-  integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==

-

-ee-first@1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"

-  integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=

-

-emoji-regex@^8.0.0:

-  version "8.0.0"

-  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"

-  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==

-

-enabled@2.0.x:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"

-  integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==

-

-encodeurl@~1.0.2:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"

-  integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=

-

-end-of-stream@^1.1.0, end-of-stream@^1.4.1:

-  version "1.4.4"

-  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"

-  integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==

-  dependencies:

-    once "^1.4.0"

-

-enquirer@^2.3.5, enquirer@^2.3.6:

-  version "2.3.6"

-  resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"

-  integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==

-  dependencies:

-    ansi-colors "^4.1.1"

-

-error-ex@^1.3.1:

-  version "1.3.2"

-  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"

-  integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==

-  dependencies:

-    is-arrayish "^0.2.1"

-

-es-abstract@^1.19.0, es-abstract@^1.19.1:

-  version "1.19.1"

-  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"

-  integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==

-  dependencies:

-    call-bind "^1.0.2"

-    es-to-primitive "^1.2.1"

-    function-bind "^1.1.1"

-    get-intrinsic "^1.1.1"

-    get-symbol-description "^1.0.0"

-    has "^1.0.3"

-    has-symbols "^1.0.2"

-    internal-slot "^1.0.3"

-    is-callable "^1.2.4"

-    is-negative-zero "^2.0.1"

-    is-regex "^1.1.4"

-    is-shared-array-buffer "^1.0.1"

-    is-string "^1.0.7"

-    is-weakref "^1.0.1"

-    object-inspect "^1.11.0"

-    object-keys "^1.1.1"

-    object.assign "^4.1.2"

-    string.prototype.trimend "^1.0.4"

-    string.prototype.trimstart "^1.0.4"

-    unbox-primitive "^1.0.1"

-

-es-to-primitive@^1.2.1:

-  version "1.2.1"

-  resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"

-  integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==

-  dependencies:

-    is-callable "^1.1.4"

-    is-date-object "^1.0.1"

-    is-symbol "^1.0.2"

-

-escalade@^3.1.1:

-  version "3.1.1"

-  resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"

-  integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==

-

-escape-html@~1.0.3:

-  version "1.0.3"

-  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"

-  integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=

-

-escape-string-regexp@^1.0.5:

-  version "1.0.5"

-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"

-  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=

-

-escape-string-regexp@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"

-  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==

-

-escodegen@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"

-  integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==

-  dependencies:

-    esprima "^4.0.1"

-    estraverse "^5.2.0"

-    esutils "^2.0.2"

-    optionator "^0.8.1"

-  optionalDependencies:

-    source-map "~0.6.1"

-

-eslint-config-prettier@7.2.0:

-  version "7.2.0"

-  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz#f4a4bd2832e810e8cc7c1411ec85b3e85c0c53f9"

-  integrity sha512-rV4Qu0C3nfJKPOAhFujFxB7RMP+URFyQqqOZW9DMRD7ZDTFyjaIlETU3xzHELt++4ugC0+Jm084HQYkkJe+Ivg==

-

-eslint-config-prettier@^8.3.0:

-  version "8.3.0"

-  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a"

-  integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==

-

-eslint-plugin-jsdoc@31.6.1:

-  version "31.6.1"

-  resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-31.6.1.tgz#98040c801500572fff71c984a097d89946f1e450"

-  integrity sha512-5hCV3u+1VSEUMyfdTl+dpWsioD7tqQr2ILQw+KbXrF42AVxCLO8gnNLR6zDCDjqGGpt79V1sgY0RRchCWuCigg==

-  dependencies:

-    comment-parser "1.1.2"

-    debug "^4.3.1"

-    jsdoctypeparser "^9.0.0"

-    lodash "^4.17.20"

-    regextras "^0.7.1"

-    semver "^7.3.4"

-    spdx-expression-parse "^3.0.1"

-

-eslint-plugin-jsdoc@^36.1.0:

-  version "36.1.0"

-  resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.0.tgz#8dfe5f27edfb6aa3812e6d86ccaea849ddc86b03"

-  integrity sha512-Qpied2AJCQcScxfzTObLKRiP5QgLXjMU/ITjBagEV5p2Q/HpumD1EQtazdRYdjDSwPmXhwOl2yquwOGQ4HOJNw==

-  dependencies:

-    "@es-joy/jsdoccomment" "0.10.8"

-    comment-parser "1.2.4"

-    debug "^4.3.2"

-    esquery "^1.4.0"

-    jsdoc-type-pratt-parser "^1.1.1"

-    lodash "^4.17.21"

-    regextras "^0.8.0"

-    semver "^7.3.5"

-    spdx-expression-parse "^3.0.1"

-

-eslint-plugin-prettier@3.3.1:

-  version "3.3.1"

-  resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz#7079cfa2497078905011e6f82e8dd8453d1371b7"

-  integrity sha512-Rq3jkcFY8RYeQLgk2cCwuc0P7SEFwDravPhsJZOQ5N4YI4DSg50NyqJ/9gdZHzQlHf8MvafSesbNJCcP/FF6pQ==

-  dependencies:

-    prettier-linter-helpers "^1.0.0"

-

-eslint-plugin-prettier@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0"

-  integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==

-  dependencies:

-    prettier-linter-helpers "^1.0.0"

-

-eslint-plugin-react-hooks@4.2.0, eslint-plugin-react-hooks@^4.2.0:

-  version "4.2.0"

-  resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz#8c229c268d468956334c943bb45fc860280f5556"

-  integrity sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==

-

-eslint-plugin-react@7.22.0:

-  version "7.22.0"

-  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz#3d1c542d1d3169c45421c1215d9470e341707269"

-  integrity sha512-p30tuX3VS+NWv9nQot9xIGAHBXR0+xJVaZriEsHoJrASGCJZDJ8JLNM0YqKqI0AKm6Uxaa1VUHoNEibxRCMQHA==

-  dependencies:

-    array-includes "^3.1.1"

-    array.prototype.flatmap "^1.2.3"

-    doctrine "^2.1.0"

-    has "^1.0.3"

-    jsx-ast-utils "^2.4.1 || ^3.0.0"

-    object.entries "^1.1.2"

-    object.fromentries "^2.0.2"

-    object.values "^1.1.1"

-    prop-types "^15.7.2"

-    resolve "^1.18.1"

-    string.prototype.matchall "^4.0.2"

-

-eslint-plugin-react@^7.26.1:

-  version "7.26.1"

-  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.26.1.tgz#41bcfe3e39e6a5ac040971c1af94437c80daa40e"

-  integrity sha512-Lug0+NOFXeOE+ORZ5pbsh6mSKjBKXDXItUD2sQoT+5Yl0eoT82DqnXeTMfUare4QVCn9QwXbfzO/dBLjLXwVjQ==

-  dependencies:

-    array-includes "^3.1.3"

-    array.prototype.flatmap "^1.2.4"

-    doctrine "^2.1.0"

-    estraverse "^5.2.0"

-    jsx-ast-utils "^2.4.1 || ^3.0.0"

-    minimatch "^3.0.4"

-    object.entries "^1.1.4"

-    object.fromentries "^2.0.4"

-    object.hasown "^1.0.0"

-    object.values "^1.1.4"

-    prop-types "^15.7.2"

-    resolve "^2.0.0-next.3"

-    semver "^6.3.0"

-    string.prototype.matchall "^4.0.5"

-

-eslint-scope@^5.1.1:

-  version "5.1.1"

-  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"

-  integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==

-  dependencies:

-    esrecurse "^4.3.0"

-    estraverse "^4.1.1"

-

-eslint-utils@^2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"

-  integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==

-  dependencies:

-    eslint-visitor-keys "^1.1.0"

-

-eslint-utils@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"

-  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==

-  dependencies:

-    eslint-visitor-keys "^2.0.0"

-

-eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:

-  version "1.3.0"

-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"

-  integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==

-

-eslint-visitor-keys@^2.0.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"

-  integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==

-

-eslint@7.21.0:

-  version "7.21.0"

-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.21.0.tgz#4ecd5b8c5b44f5dedc9b8a110b01bbfeb15d1c83"

-  integrity sha512-W2aJbXpMNofUp0ztQaF40fveSsJBjlSCSWpy//gzfTvwC+USs/nceBrKmlJOiM8r1bLwP2EuYkCqArn/6QTIgg==

-  dependencies:

-    "@babel/code-frame" "7.12.11"

-    "@eslint/eslintrc" "^0.4.0"

-    ajv "^6.10.0"

-    chalk "^4.0.0"

-    cross-spawn "^7.0.2"

-    debug "^4.0.1"

-    doctrine "^3.0.0"

-    enquirer "^2.3.5"

-    eslint-scope "^5.1.1"

-    eslint-utils "^2.1.0"

-    eslint-visitor-keys "^2.0.0"

-    espree "^7.3.1"

-    esquery "^1.4.0"

-    esutils "^2.0.2"

-    file-entry-cache "^6.0.1"

-    functional-red-black-tree "^1.0.1"

-    glob-parent "^5.0.0"

-    globals "^12.1.0"

-    ignore "^4.0.6"

-    import-fresh "^3.0.0"

-    imurmurhash "^0.1.4"

-    is-glob "^4.0.0"

-    js-yaml "^3.13.1"

-    json-stable-stringify-without-jsonify "^1.0.1"

-    levn "^0.4.1"

-    lodash "^4.17.20"

-    minimatch "^3.0.4"

-    natural-compare "^1.4.0"

-    optionator "^0.9.1"

-    progress "^2.0.0"

-    regexpp "^3.1.0"

-    semver "^7.2.1"

-    strip-ansi "^6.0.0"

-    strip-json-comments "^3.1.0"

-    table "^6.0.4"

-    text-table "^0.2.0"

-    v8-compile-cache "^2.0.3"

-

-eslint@^7.32.0:

-  version "7.32.0"

-  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"

-  integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==

-  dependencies:

-    "@babel/code-frame" "7.12.11"

-    "@eslint/eslintrc" "^0.4.3"

-    "@humanwhocodes/config-array" "^0.5.0"

-    ajv "^6.10.0"

-    chalk "^4.0.0"

-    cross-spawn "^7.0.2"

-    debug "^4.0.1"

-    doctrine "^3.0.0"

-    enquirer "^2.3.5"

-    escape-string-regexp "^4.0.0"

-    eslint-scope "^5.1.1"

-    eslint-utils "^2.1.0"

-    eslint-visitor-keys "^2.0.0"

-    espree "^7.3.1"

-    esquery "^1.4.0"

-    esutils "^2.0.2"

-    fast-deep-equal "^3.1.3"

-    file-entry-cache "^6.0.1"

-    functional-red-black-tree "^1.0.1"

-    glob-parent "^5.1.2"

-    globals "^13.6.0"

-    ignore "^4.0.6"

-    import-fresh "^3.0.0"

-    imurmurhash "^0.1.4"

-    is-glob "^4.0.0"

-    js-yaml "^3.13.1"

-    json-stable-stringify-without-jsonify "^1.0.1"

-    levn "^0.4.1"

-    lodash.merge "^4.6.2"

-    minimatch "^3.0.4"

-    natural-compare "^1.4.0"

-    optionator "^0.9.1"

-    progress "^2.0.0"

-    regexpp "^3.1.0"

-    semver "^7.2.1"

-    strip-ansi "^6.0.0"

-    strip-json-comments "^3.1.0"

-    table "^6.0.9"

-    text-table "^0.2.0"

-    v8-compile-cache "^2.0.3"

-

-espree@^7.3.0, espree@^7.3.1:

-  version "7.3.1"

-  resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"

-  integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==

-  dependencies:

-    acorn "^7.4.0"

-    acorn-jsx "^5.3.1"

-    eslint-visitor-keys "^1.3.0"

-

-esprima@^4.0.0, esprima@^4.0.1:

-  version "4.0.1"

-  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"

-  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==

-

-esquery@^1.4.0:

-  version "1.4.0"

-  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"

-  integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==

-  dependencies:

-    estraverse "^5.1.0"

-

-esrecurse@^4.3.0:

-  version "4.3.0"

-  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"

-  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==

-  dependencies:

-    estraverse "^5.2.0"

-

-estraverse@^4.1.1:

-  version "4.3.0"

-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"

-  integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==

-

-estraverse@^5.1.0, estraverse@^5.2.0:

-  version "5.2.0"

-  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz#307df42547e6cc7324d3cf03c155d5cdb8c53880"

-  integrity sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==

-

-esutils@^2.0.2:

-  version "2.0.3"

-  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"

-  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==

-

-etag@~1.8.1:

-  version "1.8.1"

-  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"

-  integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=

-

-event-stream@=3.3.4:

-  version "3.3.4"

-  resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"

-  integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=

-  dependencies:

-    duplexer "~0.1.1"

-    from "~0"

-    map-stream "~0.1.0"

-    pause-stream "0.0.11"

-    split "0.3"

-    stream-combiner "~0.0.4"

-    through "~2.3.1"

-

-execa@^5.1.1:

-  version "5.1.1"

-  resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"

-  integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==

-  dependencies:

-    cross-spawn "^7.0.3"

-    get-stream "^6.0.0"

-    human-signals "^2.1.0"

-    is-stream "^2.0.0"

-    merge-stream "^2.0.0"

-    npm-run-path "^4.0.1"

-    onetime "^5.1.2"

-    signal-exit "^3.0.3"

-    strip-final-newline "^2.0.0"

-

-expand-template@^2.0.3:

-  version "2.0.3"

-  resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"

-  integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==

-

-express-prom-bundle@^5.1.5:

-  version "5.1.5"

-  resolved "https://registry.yarnpkg.com/express-prom-bundle/-/express-prom-bundle-5.1.5.tgz#f298615879299a58cf8ec1350186f4de91d91fa4"

-  integrity sha512-tUaQUBu0r9zGYcVDpKBI2AeWimuuodaC5BSBkzLPQxRTxaKQShQNnONQSYwjLxbHfPwlCKVZlzfbB9Recnj0Vg==

-  dependencies:

-    on-finished "^2.3.0"

-    url-value-parser "^2.0.0"

-

-express@^4.16.3:

-  version "4.17.1"

-  resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"

-  integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==

-  dependencies:

-    accepts "~1.3.7"

-    array-flatten "1.1.1"

-    body-parser "1.19.0"

-    content-disposition "0.5.3"

-    content-type "~1.0.4"

-    cookie "0.4.0"

-    cookie-signature "1.0.6"

-    debug "2.6.9"

-    depd "~1.1.2"

-    encodeurl "~1.0.2"

-    escape-html "~1.0.3"

-    etag "~1.8.1"

-    finalhandler "~1.1.2"

-    fresh "0.5.2"

-    merge-descriptors "1.0.1"

-    methods "~1.1.2"

-    on-finished "~2.3.0"

-    parseurl "~1.3.3"

-    path-to-regexp "0.1.7"

-    proxy-addr "~2.0.5"

-    qs "6.7.0"

-    range-parser "~1.2.1"

-    safe-buffer "5.1.2"

-    send "0.17.1"

-    serve-static "1.14.1"

-    setprototypeof "1.1.1"

-    statuses "~1.5.0"

-    type-is "~1.6.18"

-    utils-merge "1.0.1"

-    vary "~1.1.2"

-

-extract-zip@2.0.1:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"

-  integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==

-  dependencies:

-    debug "^4.1.1"

-    get-stream "^5.1.0"

-    yauzl "^2.10.0"

-  optionalDependencies:

-    "@types/yauzl" "^2.9.1"

-

-fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:

-  version "3.1.3"

-  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"

-  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==

-

-fast-diff@^1.1.2:

-  version "1.2.0"

-  resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"

-  integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==

-

-fast-glob@^3.1.1:

-  version "3.2.7"

-  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz#fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1"

-  integrity sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==

-  dependencies:

-    "@nodelib/fs.stat" "^2.0.2"

-    "@nodelib/fs.walk" "^1.2.3"

-    glob-parent "^5.1.2"

-    merge2 "^1.3.0"

-    micromatch "^4.0.4"

-

-fast-json-stable-stringify@^2.0.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"

-  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==

-

-fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:

-  version "2.0.6"

-  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"

-  integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=

-

-fastq@^1.6.0:

-  version "1.13.0"

-  resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"

-  integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==

-  dependencies:

-    reusify "^1.0.4"

-

-fd-slicer@~1.1.0:

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"

-  integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=

-  dependencies:

-    pend "~1.2.0"

-

-fecha@^4.2.0:

-  version "4.2.1"

-  resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce"

-  integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==

-

-file-entry-cache@^6.0.1:

-  version "6.0.1"

-  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"

-  integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==

-  dependencies:

-    flat-cache "^3.0.4"

-

-fill-range@^7.0.1:

-  version "7.0.1"

-  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"

-  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==

-  dependencies:

-    to-regex-range "^5.0.1"

-

-finalhandler@~1.1.2:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"

-  integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==

-  dependencies:

-    debug "2.6.9"

-    encodeurl "~1.0.2"

-    escape-html "~1.0.3"

-    on-finished "~2.3.0"

-    parseurl "~1.3.3"

-    statuses "~1.5.0"

-    unpipe "~1.0.0"

-

-find-up@^4.0.0:

-  version "4.1.0"

-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"

-  integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==

-  dependencies:

-    locate-path "^5.0.0"

-    path-exists "^4.0.0"

-

-find-up@^5.0.0:

-  version "5.0.0"

-  resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"

-  integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==

-  dependencies:

-    locate-path "^6.0.0"

-    path-exists "^4.0.0"

-

-find-versions@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965"

-  integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==

-  dependencies:

-    semver-regex "^3.1.2"

-

-flat-cache@^3.0.4:

-  version "3.0.4"

-  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"

-  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==

-  dependencies:

-    flatted "^3.1.0"

-    rimraf "^3.0.2"

-

-flatted@^3.1.0:

-  version "3.2.2"

-  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz#64bfed5cb68fe3ca78b3eb214ad97b63bedce561"

-  integrity sha512-JaTY/wtrcSyvXJl4IMFHPKyFur1sE9AUqc0QnhOaJ0CxHtAoIV8pYDzeEfAaNEtGkOfq4gr3LBFmdXW5mOQFnA==

-

-fn.name@1.x.x:

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"

-  integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==

-

-forwarded@0.2.0:

-  version "0.2.0"

-  resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"

-  integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==

-

-fresh@0.5.2:

-  version "0.5.2"

-  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"

-  integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=

-

-from2@^2.3.0:

-  version "2.3.0"

-  resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"

-  integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=

-  dependencies:

-    inherits "^2.0.1"

-    readable-stream "^2.0.0"

-

-from@~0:

-  version "0.1.7"

-  resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"

-  integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=

-

-fs-constants@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"

-  integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==

-

-fs-extra@^9.1.0:

-  version "9.1.0"

-  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"

-  integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==

-  dependencies:

-    at-least-node "^1.0.0"

-    graceful-fs "^4.2.0"

-    jsonfile "^6.0.1"

-    universalify "^2.0.0"

-

-fs.realpath@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"

-  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=

-

-fsevents@~2.3.2:

-  version "2.3.2"

-  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"

-  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==

-

-function-bind@^1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"

-  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==

-

-functional-red-black-tree@^1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"

-  integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=

-

-gauge@~2.7.3:

-  version "2.7.4"

-  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"

-  integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=

-  dependencies:

-    aproba "^1.0.3"

-    console-control-strings "^1.0.0"

-    has-unicode "^2.0.0"

-    object-assign "^4.1.0"

-    signal-exit "^3.0.0"

-    string-width "^1.0.1"

-    strip-ansi "^3.0.1"

-    wide-align "^1.1.0"

-

-get-caller-file@^2.0.5:

-  version "2.0.5"

-  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"

-  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==

-

-get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"

-  integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==

-  dependencies:

-    function-bind "^1.1.1"

-    has "^1.0.3"

-    has-symbols "^1.0.1"

-

-get-own-enumerable-property-symbols@^3.0.0:

-  version "3.0.2"

-  resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"

-  integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==

-

-get-stream@^5.1.0:

-  version "5.2.0"

-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"

-  integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==

-  dependencies:

-    pump "^3.0.0"

-

-get-stream@^6.0.0:

-  version "6.0.1"

-  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"

-  integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==

-

-get-symbol-description@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"

-  integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==

-  dependencies:

-    call-bind "^1.0.2"

-    get-intrinsic "^1.1.1"

-

-github-from-package@0.0.0:

-  version "0.0.0"

-  resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"

-  integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=

-

-glob-parent@^5.0.0, glob-parent@^5.1.2, glob-parent@~5.1.2:

-  version "5.1.2"

-  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"

-  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==

-  dependencies:

-    is-glob "^4.0.1"

-

-glob@^7.1.3:

-  version "7.2.0"

-  resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"

-  integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==

-  dependencies:

-    fs.realpath "^1.0.0"

-    inflight "^1.0.4"

-    inherits "2"

-    minimatch "^3.0.4"

-    once "^1.3.0"

-    path-is-absolute "^1.0.0"

-

-globals@^12.1.0:

-  version "12.4.0"

-  resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"

-  integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==

-  dependencies:

-    type-fest "^0.8.1"

-

-globals@^13.6.0, globals@^13.9.0:

-  version "13.11.0"

-  resolved "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz#40ef678da117fe7bd2e28f1fab24951bd0255be7"

-  integrity sha512-08/xrJ7wQjK9kkkRoI3OFUBbLx4f+6x3SGwcPvQ0QH6goFDrOU2oyAWrmh3dJezu65buo+HBMzAMQy6rovVC3g==

-  dependencies:

-    type-fest "^0.20.2"

-

-globby@^11.0.3:

-  version "11.0.4"

-  resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5"

-  integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg==

-  dependencies:

-    array-union "^2.1.0"

-    dir-glob "^3.0.1"

-    fast-glob "^3.1.1"

-    ignore "^5.1.4"

-    merge2 "^1.3.0"

-    slash "^3.0.0"

-

-google-protobuf@3.5.0:

-  version "3.5.0"

-  resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.5.0.tgz#b8cc63c74d83457bd8a9a904503c8efb26bca339"

-  integrity sha1-uMxjx02DRXvYqakEUDyO+ya8ozk=

-

-graceful-fs@^4.1.6, graceful-fs@^4.2.0:

-  version "4.2.8"

-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"

-  integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==

-

-has-bigints@^1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"

-  integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==

-

-has-flag@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"

-  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=

-

-has-flag@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"

-  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==

-

-has-symbols@^1.0.1, has-symbols@^1.0.2:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"

-  integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==

-

-has-tostringtag@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"

-  integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==

-  dependencies:

-    has-symbols "^1.0.2"

-

-has-unicode@^2.0.0:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"

-  integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=

-

-has@^1.0.3:

-  version "1.0.3"

-  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"

-  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==

-  dependencies:

-    function-bind "^1.1.1"

-

-http-errors@1.7.2:

-  version "1.7.2"

-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"

-  integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==

-  dependencies:

-    depd "~1.1.2"

-    inherits "2.0.3"

-    setprototypeof "1.1.1"

-    statuses ">= 1.5.0 < 2"

-    toidentifier "1.0.0"

-

-http-errors@~1.7.2:

-  version "1.7.3"

-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"

-  integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==

-  dependencies:

-    depd "~1.1.2"

-    inherits "2.0.4"

-    setprototypeof "1.1.1"

-    statuses ">= 1.5.0 < 2"

-    toidentifier "1.0.0"

-

-https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0:

-  version "5.0.0"

-  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"

-  integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==

-  dependencies:

-    agent-base "6"

-    debug "4"

-

-human-signals@^2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"

-  integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==

-

-husky@^4.3.8:

-  version "4.3.8"

-  resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d"

-  integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==

-  dependencies:

-    chalk "^4.0.0"

-    ci-info "^2.0.0"

-    compare-versions "^3.6.0"

-    cosmiconfig "^7.0.0"

-    find-versions "^4.0.0"

-    opencollective-postinstall "^2.0.2"

-    pkg-dir "^5.0.0"

-    please-upgrade-node "^3.2.0"

-    slash "^3.0.0"

-    which-pm-runs "^1.0.0"

-

-iconv-lite@0.4.24:

-  version "0.4.24"

-  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"

-  integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==

-  dependencies:

-    safer-buffer ">= 2.1.2 < 3"

-

-ieee754@^1.1.13:

-  version "1.2.1"

-  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"

-  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==

-

-ignore@^4.0.6:

-  version "4.0.6"

-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"

-  integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==

-

-ignore@^5.1.4, ignore@^5.1.8:

-  version "5.1.8"

-  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz#f150a8b50a34289b33e22f5889abd4d8016f0e57"

-  integrity sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==

-

-import-fresh@^3.0.0, import-fresh@^3.2.1:

-  version "3.3.0"

-  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"

-  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==

-  dependencies:

-    parent-module "^1.0.0"

-    resolve-from "^4.0.0"

-

-imurmurhash@^0.1.4:

-  version "0.1.4"

-  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"

-  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=

-

-indent-string@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"

-  integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==

-

-inflight@^1.0.4:

-  version "1.0.6"

-  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"

-  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=

-  dependencies:

-    once "^1.3.0"

-    wrappy "1"

-

-inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:

-  version "2.0.4"

-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"

-  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==

-

-inherits@2.0.3:

-  version "2.0.3"

-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"

-  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=

-

-ini@~1.3.0:

-  version "1.3.8"

-  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"

-  integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==

-

-internal-slot@^1.0.3:

-  version "1.0.3"

-  resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"

-  integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==

-  dependencies:

-    get-intrinsic "^1.1.0"

-    has "^1.0.3"

-    side-channel "^1.0.4"

-

-into-stream@^6.0.0:

-  version "6.0.0"

-  resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-6.0.0.tgz#4bfc1244c0128224e18b8870e85b2de8e66c6702"

-  integrity sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==

-  dependencies:

-    from2 "^2.3.0"

-    p-is-promise "^3.0.0"

-

-ipaddr.js@1.9.1:

-  version "1.9.1"

-  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"

-  integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==

-

-is-arrayish@^0.2.1:

-  version "0.2.1"

-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"

-  integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=

-

-is-arrayish@^0.3.1:

-  version "0.3.2"

-  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"

-  integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==

-

-is-bigint@^1.0.1:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"

-  integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==

-  dependencies:

-    has-bigints "^1.0.1"

-

-is-binary-path@~2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"

-  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==

-  dependencies:

-    binary-extensions "^2.0.0"

-

-is-boolean-object@^1.1.0:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"

-  integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==

-  dependencies:

-    call-bind "^1.0.2"

-    has-tostringtag "^1.0.0"

-

-is-callable@^1.1.4, is-callable@^1.2.4:

-  version "1.2.4"

-  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"

-  integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==

-

-is-core-module@^2.2.0:

-  version "2.7.0"

-  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz#3c0ef7d31b4acfc574f80c58409d568a836848e3"

-  integrity sha512-ByY+tjCciCr+9nLryBYcSD50EOGWt95c7tIsKTG1J2ixKKXPvF7Ej3AVd+UfDydAJom3biBGDBALaO79ktwgEQ==

-  dependencies:

-    has "^1.0.3"

-

-is-date-object@^1.0.1:

-  version "1.0.5"

-  resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"

-  integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==

-  dependencies:

-    has-tostringtag "^1.0.0"

-

-is-extglob@^2.1.1:

-  version "2.1.1"

-  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"

-  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=

-

-is-fullwidth-code-point@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"

-  integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=

-  dependencies:

-    number-is-nan "^1.0.0"

-

-is-fullwidth-code-point@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"

-  integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=

-

-is-fullwidth-code-point@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"

-  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==

-

-is-glob@^4.0.0, is-glob@^4.0.1, is-glob@~4.0.1:

-  version "4.0.3"

-  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"

-  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==

-  dependencies:

-    is-extglob "^2.1.1"

-

-is-negative-zero@^2.0.1:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz#3de746c18dda2319241a53675908d8f766f11c24"

-  integrity sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==

-

-is-number-object@^1.0.4:

-  version "1.0.6"

-  resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0"

-  integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==

-  dependencies:

-    has-tostringtag "^1.0.0"

-

-is-number@^7.0.0:

-  version "7.0.0"

-  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"

-  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==

-

-is-obj@^1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"

-  integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=

-

-is-regex@^1.1.4:

-  version "1.1.4"

-  resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"

-  integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==

-  dependencies:

-    call-bind "^1.0.2"

-    has-tostringtag "^1.0.0"

-

-is-regexp@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"

-  integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=

-

-is-shared-array-buffer@^1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"

-  integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==

-

-is-stream@^2.0.0:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"

-  integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==

-

-is-string@^1.0.5, is-string@^1.0.7:

-  version "1.0.7"

-  resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"

-  integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==

-  dependencies:

-    has-tostringtag "^1.0.0"

-

-is-symbol@^1.0.2, is-symbol@^1.0.3:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"

-  integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==

-  dependencies:

-    has-symbols "^1.0.2"

-

-is-weakref@^1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz#842dba4ec17fa9ac9850df2d6efbc1737274f2a2"

-  integrity sha512-b2jKc2pQZjaeFYWEf7ScFj+Be1I+PXmlu572Q8coTXZ+LD/QQZ7ShPMst8h16riVgyXTQwUsFEl74mDvc/3MHQ==

-  dependencies:

-    call-bind "^1.0.0"

-

-isarray@~1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"

-  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=

-

-isexe@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"

-  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=

-

-"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"

-  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==

-

-js-yaml@^3.13.1:

-  version "3.14.1"

-  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"

-  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==

-  dependencies:

-    argparse "^1.0.7"

-    esprima "^4.0.0"

-

-jsdoc-type-pratt-parser@1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz#10fe5e409ba38de22a48b555598955a26ff0160f"

-  integrity sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==

-

-jsdoc-type-pratt-parser@^1.1.1:

-  version "1.2.0"

-  resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz#3482a3833b74a88c95a6ba7253f0c0de3b77b9f5"

-  integrity sha512-4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg==

-

-jsdoctypeparser@^9.0.0:

-  version "9.0.0"

-  resolved "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz#8c97e2fb69315eb274b0f01377eaa5c940bd7b26"

-  integrity sha512-jrTA2jJIL6/DAEILBEh2/w9QxCuwmvNXIry39Ay/HVfhE3o2yVV0U44blYkqdHA/OKloJEqvJy0xU+GSdE2SIw==

-

-json-parse-even-better-errors@^2.3.0:

-  version "2.3.1"

-  resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"

-  integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==

-

-json-schema-traverse@^0.4.1:

-  version "0.4.1"

-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"

-  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==

-

-json-schema-traverse@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"

-  integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==

-

-json-stable-stringify-without-jsonify@^1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"

-  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=

-

-jsonfile@^6.0.1:

-  version "6.1.0"

-  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"

-  integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==

-  dependencies:

-    universalify "^2.0.0"

-  optionalDependencies:

-    graceful-fs "^4.1.6"

-

-"jsx-ast-utils@^2.4.1 || ^3.0.0":

-  version "3.2.1"

-  resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b"

-  integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==

-  dependencies:

-    array-includes "^3.1.3"

-    object.assign "^4.1.2"

-

-kuler@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"

-  integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==

-

-levn@^0.4.1:

-  version "0.4.1"

-  resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"

-  integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==

-  dependencies:

-    prelude-ls "^1.2.1"

-    type-check "~0.4.0"

-

-levn@~0.3.0:

-  version "0.3.0"

-  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"

-  integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=

-  dependencies:

-    prelude-ls "~1.1.2"

-    type-check "~0.3.2"

-

-lines-and-columns@^1.1.6:

-  version "1.1.6"

-  resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz#1c00c743b433cd0a4e80758f7b64a57440d9ff00"

-  integrity sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=

-

-lint-staged@^11.2.0:

-  version "11.2.0"

-  resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.2.0.tgz#6b9774a74b3eb4bef5c59fb6475bff84d6853008"

-  integrity sha512-0KIcRuO4HQS2Su7qWtjrfTXgSklvyIb9Fk9qVWRZkGHa5S81Vj6WBbs+ogQBvHUwLJYq1eQ4R+H82GSak4OM7w==

-  dependencies:

-    cli-truncate "2.1.0"

-    colorette "^1.4.0"

-    commander "^8.2.0"

-    cosmiconfig "^7.0.1"

-    debug "^4.3.2"

-    enquirer "^2.3.6"

-    execa "^5.1.1"

-    listr2 "^3.12.2"

-    micromatch "^4.0.4"

-    normalize-path "^3.0.0"

-    please-upgrade-node "^3.2.0"

-    string-argv "0.3.1"

-    stringify-object "3.3.0"

-    supports-color "8.1.1"

-

-listr2@^3.12.2:

-  version "3.12.2"

-  resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.12.2.tgz#2d55cc627111603ad4768a9e87c9c7bb9b49997e"

-  integrity sha512-64xC2CJ/As/xgVI3wbhlPWVPx0wfTqbUAkpb7bjDi0thSWMqrf07UFhrfsGoo8YSXmF049Rp9C0cjLC8rZxK9A==

-  dependencies:

-    cli-truncate "^2.1.0"

-    colorette "^1.4.0"

-    log-update "^4.0.0"

-    p-map "^4.0.0"

-    rxjs "^6.6.7"

-    through "^2.3.8"

-    wrap-ansi "^7.0.0"

-

-locate-path@^5.0.0:

-  version "5.0.0"

-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"

-  integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==

-  dependencies:

-    p-locate "^4.1.0"

-

-locate-path@^6.0.0:

-  version "6.0.0"

-  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"

-  integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==

-  dependencies:

-    p-locate "^5.0.0"

-

-lodash.camelcase@^4.3.0:

-  version "4.3.0"

-  resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"

-  integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=

-

-lodash.clonedeep@^4.5.0:

-  version "4.5.0"

-  resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"

-  integrity sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=

-

-lodash.merge@^4.6.2:

-  version "4.6.2"

-  resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"

-  integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==

-

-lodash.truncate@^4.4.2:

-  version "4.4.2"

-  resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"

-  integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=

-

-lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21:

-  version "4.17.21"

-  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"

-  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==

-

-log-update@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"

-  integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==

-  dependencies:

-    ansi-escapes "^4.3.0"

-    cli-cursor "^3.1.0"

-    slice-ansi "^4.0.0"

-    wrap-ansi "^6.2.0"

-

-logform@^2.2.0:

-  version "2.3.0"

-  resolved "https://registry.yarnpkg.com/logform/-/logform-2.3.0.tgz#a3997a05985de2ebd325ae0d166dffc9c6fe6b57"

-  integrity sha512-graeoWUH2knKbGthMtuG1EfaSPMZFZBIrhuJHhkS5ZseFBrc7DupCzihOQAzsK/qIKPQaPJ/lFQFctILUY5ARQ==

-  dependencies:

-    colors "^1.2.1"

-    fecha "^4.2.0"

-    ms "^2.1.1"

-    safe-stable-stringify "^1.1.0"

-    triple-beam "^1.3.0"

-

-long@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"

-  integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==

-

-loose-envify@^1.4.0:

-  version "1.4.0"

-  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"

-  integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==

-  dependencies:

-    js-tokens "^3.0.0 || ^4.0.0"

-

-lru-cache@^6.0.0:

-  version "6.0.0"

-  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"

-  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==

-  dependencies:

-    yallist "^4.0.0"

-

-map-stream@~0.1.0:

-  version "0.1.0"

-  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"

-  integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=

-

-media-typer@0.3.0:

-  version "0.3.0"

-  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"

-  integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=

-

-merge-descriptors@1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"

-  integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=

-

-merge-stream@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"

-  integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==

-

-merge2@^1.3.0:

-  version "1.4.1"

-  resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"

-  integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==

-

-methods@~1.1.2:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"

-  integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=

-

-micromatch@^4.0.4:

-  version "4.0.4"

-  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"

-  integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==

-  dependencies:

-    braces "^3.0.1"

-    picomatch "^2.2.3"

-

-mime-db@1.50.0:

-  version "1.50.0"

-  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz#abd4ac94e98d3c0e185016c67ab45d5fde40c11f"

-  integrity sha512-9tMZCDlYHqeERXEHO9f/hKfNXhre5dK2eE/krIvUjZbS2KPcqGDfNShIWS1uW9XOTKQKqK6qbeOci18rbfW77A==

-

-mime-types@~2.1.24:

-  version "2.1.33"

-  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz#1fa12a904472fafd068e48d9e8401f74d3f70edb"

-  integrity sha512-plLElXp7pRDd0bNZHw+nMd52vRYjLwQjygaNg7ddJ2uJtTlmnTCjWuPKxVu6//AdaRuME84SvLW91sIkBqGT0g==

-  dependencies:

-    mime-db "1.50.0"

-

-mime@1.6.0:

-  version "1.6.0"

-  resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"

-  integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==

-

-mimic-fn@^2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"

-  integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==

-

-mimic-response@^2.0.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"

-  integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==

-

-minimatch@^3.0.4:

-  version "3.0.4"

-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"

-  integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==

-  dependencies:

-    brace-expansion "^1.1.7"

-

-minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:

-  version "1.2.5"

-  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"

-  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==

-

-mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:

-  version "0.5.3"

-  resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"

-  integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==

-

-mkdirp@^0.5.1:

-  version "0.5.5"

-  resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def"

-  integrity sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==

-  dependencies:

-    minimist "^1.2.5"

-

-morgan@^1.9.0:

-  version "1.10.0"

-  resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"

-  integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==

-  dependencies:

-    basic-auth "~2.0.1"

-    debug "2.6.9"

-    depd "~2.0.0"

-    on-finished "~2.3.0"

-    on-headers "~1.0.2"

-

-ms@2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"

-  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=

-

-ms@2.1.1:

-  version "2.1.1"

-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"

-  integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==

-

-ms@2.1.2:

-  version "2.1.2"

-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"

-  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==

-

-ms@^2.1.1:

-  version "2.1.3"

-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"

-  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==

-

-multistream@^4.1.0:

-  version "4.1.0"

-  resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8"

-  integrity sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==

-  dependencies:

-    once "^1.4.0"

-    readable-stream "^3.6.0"

-

-napi-build-utils@^1.0.1:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"

-  integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==

-

-natural-compare@^1.4.0:

-  version "1.4.0"

-  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"

-  integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=

-

-negotiator@0.6.2:

-  version "0.6.2"

-  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"

-  integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==

-

-node-abi@^2.7.0:

-  version "2.30.1"

-  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf"

-  integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==

-  dependencies:

-    semver "^5.4.1"

-

-node-cleanup@^2.1.2:

-  version "2.1.2"

-  resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c"

-  integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=

-

-node-fetch@2.6.1:

-  version "2.6.1"

-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052"

-  integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==

-

-node-fetch@^2.6.1:

-  version "2.6.5"

-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz#42735537d7f080a7e5f78b6c549b7146be1742fd"

-  integrity sha512-mmlIVHJEu5rnIxgEgez6b9GgWXbkZj5YZ7fx+2r94a2E+Uirsp6HsPTPlomfdHtpt/B0cdKviwkoaM6pyvUOpQ==

-  dependencies:

-    whatwg-url "^5.0.0"

-

-noop-logger@^0.1.1:

-  version "0.1.1"

-  resolved "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz#94a2b1633c4f1317553007d8966fd0e841b6a4c2"

-  integrity sha1-lKKxYzxPExdVMAfYlm/Q6EG2pMI=

-

-normalize-path@^3.0.0, normalize-path@~3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"

-  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==

-

-npm-run-path@^4.0.1:

-  version "4.0.1"

-  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"

-  integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==

-  dependencies:

-    path-key "^3.0.0"

-

-npmlog@^4.0.1:

-  version "4.1.2"

-  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"

-  integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==

-  dependencies:

-    are-we-there-yet "~1.1.2"

-    console-control-strings "~1.1.0"

-    gauge "~2.7.3"

-    set-blocking "~2.0.0"

-

-number-is-nan@^1.0.0:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"

-  integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=

-

-object-assign@^4.1.0, object-assign@^4.1.1:

-  version "4.1.1"

-  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"

-  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=

-

-object-inspect@^1.11.0, object-inspect@^1.9.0:

-  version "1.11.0"

-  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz#9dceb146cedd4148a0d9e51ab88d34cf509922b1"

-  integrity sha512-jp7ikS6Sd3GxQfZJPyH3cjcbJF6GZPClgdV+EFygjFLQ5FmW/dRUnTd9PQ9k0JhoNDabWFbpF1yCdSWCC6gexg==

-

-object-keys@^1.0.12, object-keys@^1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"

-  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==

-

-object.assign@^4.1.2:

-  version "4.1.2"

-  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"

-  integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==

-  dependencies:

-    call-bind "^1.0.0"

-    define-properties "^1.1.3"

-    has-symbols "^1.0.1"

-    object-keys "^1.1.1"

-

-object.entries@^1.1.2, object.entries@^1.1.4:

-  version "1.1.5"

-  resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861"

-  integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-    es-abstract "^1.19.1"

-

-object.fromentries@^2.0.2, object.fromentries@^2.0.4:

-  version "2.0.5"

-  resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251"

-  integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-    es-abstract "^1.19.1"

-

-object.hasown@^1.0.0:

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5"

-  integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==

-  dependencies:

-    define-properties "^1.1.3"

-    es-abstract "^1.19.1"

-

-object.values@^1.1.1, object.values@^1.1.4:

-  version "1.1.5"

-  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"

-  integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-    es-abstract "^1.19.1"

-

-on-finished@^2.3.0, on-finished@~2.3.0:

-  version "2.3.0"

-  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"

-  integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=

-  dependencies:

-    ee-first "1.1.1"

-

-on-headers@~1.0.2:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"

-  integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==

-

-once@^1.3.0, once@^1.3.1, once@^1.4.0:

-  version "1.4.0"

-  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"

-  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=

-  dependencies:

-    wrappy "1"

-

-one-time@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"

-  integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==

-  dependencies:

-    fn.name "1.x.x"

-

-onetime@^5.1.0, onetime@^5.1.2:

-  version "5.1.2"

-  resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"

-  integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==

-  dependencies:

-    mimic-fn "^2.1.0"

-

-opencollective-postinstall@^2.0.2:

-  version "2.0.3"

-  resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"

-  integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==

-

-optionator@^0.8.1:

-  version "0.8.3"

-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"

-  integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==

-  dependencies:

-    deep-is "~0.1.3"

-    fast-levenshtein "~2.0.6"

-    levn "~0.3.0"

-    prelude-ls "~1.1.2"

-    type-check "~0.3.2"

-    word-wrap "~1.2.3"

-

-optionator@^0.9.1:

-  version "0.9.1"

-  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"

-  integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==

-  dependencies:

-    deep-is "^0.1.3"

-    fast-levenshtein "^2.0.6"

-    levn "^0.4.1"

-    prelude-ls "^1.2.1"

-    type-check "^0.4.0"

-    word-wrap "^1.2.3"

-

-p-is-promise@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971"

-  integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==

-

-p-limit@^2.2.0:

-  version "2.3.0"

-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"

-  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==

-  dependencies:

-    p-try "^2.0.0"

-

-p-limit@^3.0.2:

-  version "3.1.0"

-  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"

-  integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==

-  dependencies:

-    yocto-queue "^0.1.0"

-

-p-locate@^4.1.0:

-  version "4.1.0"

-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"

-  integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==

-  dependencies:

-    p-limit "^2.2.0"

-

-p-locate@^5.0.0:

-  version "5.0.0"

-  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"

-  integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==

-  dependencies:

-    p-limit "^3.0.2"

-

-p-map@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"

-  integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==

-  dependencies:

-    aggregate-error "^3.0.0"

-

-p-try@^2.0.0:

-  version "2.2.0"

-  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"

-  integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==

-

-parent-module@^1.0.0:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"

-  integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==

-  dependencies:

-    callsites "^3.0.0"

-

-parse-json@^5.0.0:

-  version "5.2.0"

-  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"

-  integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==

-  dependencies:

-    "@babel/code-frame" "^7.0.0"

-    error-ex "^1.3.1"

-    json-parse-even-better-errors "^2.3.0"

-    lines-and-columns "^1.1.6"

-

-parseurl@~1.3.3:

-  version "1.3.3"

-  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"

-  integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==

-

-path-exists@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"

-  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==

-

-path-is-absolute@^1.0.0:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"

-  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=

-

-path-key@^3.0.0, path-key@^3.1.0:

-  version "3.1.1"

-  resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"

-  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==

-

-path-parse@^1.0.6:

-  version "1.0.7"

-  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"

-  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==

-

-path-to-regexp@0.1.7:

-  version "0.1.7"

-  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"

-  integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=

-

-path-type@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"

-  integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==

-

-pause-stream@0.0.11:

-  version "0.0.11"

-  resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"

-  integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=

-  dependencies:

-    through "~2.3"

-

-pend@~1.2.0:

-  version "1.2.0"

-  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"

-  integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=

-

-picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:

-  version "2.3.0"

-  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"

-  integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==

-

-pkg-dir@4.2.0:

-  version "4.2.0"

-  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"

-  integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==

-  dependencies:

-    find-up "^4.0.0"

-

-pkg-dir@^5.0.0:

-  version "5.0.0"

-  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"

-  integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==

-  dependencies:

-    find-up "^5.0.0"

-

-pkg-fetch@3.2.4:

-  version "3.2.4"

-  resolved "https://registry.yarnpkg.com/pkg-fetch/-/pkg-fetch-3.2.4.tgz#5372734b12167d4bacd872be348217461b517390"

-  integrity sha512-ewUD26GP86/8+Fu93zrb30CpJjKOtT4maSgm4SwTX9Ujy1pfdUdv+1PubsY9tTJES0iBYItAtqbfkf7Wu5LV9w==

-  dependencies:

-    chalk "^4.1.0"

-    fs-extra "^9.1.0"

-    https-proxy-agent "^5.0.0"

-    node-fetch "^2.6.1"

-    progress "^2.0.3"

-    semver "^7.3.5"

-    yargs "^16.2.0"

-

-pkg@^5.4.1:

-  version "5.4.1"

-  resolved "https://registry.yarnpkg.com/pkg/-/pkg-5.4.1.tgz#4d824e42c454f32131e471d7cd8d14bfdb3e1c4c"

-  integrity sha512-iJs3W6MCgeZ4MrH7iZtX6HTqsNzoh2U9rGILL3eOLbQFV43U8WPAzrqRK7cBQGuHx38UXxcGT6G/2yDl/GveRg==

-  dependencies:

-    "@babel/parser" "7.13.13"

-    "@babel/types" "7.13.12"

-    chalk "^4.1.0"

-    escodegen "^2.0.0"

-    fs-extra "^9.1.0"

-    globby "^11.0.3"

-    into-stream "^6.0.0"

-    minimist "^1.2.5"

-    multistream "^4.1.0"

-    pkg-fetch "3.2.4"

-    prebuild-install "6.0.1"

-    progress "^2.0.3"

-    resolve "^1.20.0"

-    stream-meter "^1.0.4"

-    tslib "2.1.0"

-

-please-upgrade-node@^3.2.0:

-  version "3.2.0"

-  resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"

-  integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==

-  dependencies:

-    semver-compare "^1.0.0"

-

-prebuild-install@6.0.1:

-  version "6.0.1"

-  resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.0.1.tgz#5902172f7a40eb67305b96c2a695db32636ee26d"

-  integrity sha512-7GOJrLuow8yeiyv75rmvZyeMGzl8mdEX5gY69d6a6bHWmiPevwqFw+tQavhK0EYMaSg3/KD24cWqeQv1EWsqDQ==

-  dependencies:

-    detect-libc "^1.0.3"

-    expand-template "^2.0.3"

-    github-from-package "0.0.0"

-    minimist "^1.2.3"

-    mkdirp-classic "^0.5.3"

-    napi-build-utils "^1.0.1"

-    node-abi "^2.7.0"

-    noop-logger "^0.1.1"

-    npmlog "^4.0.1"

-    pump "^3.0.0"

-    rc "^1.2.7"

-    simple-get "^3.0.3"

-    tar-fs "^2.0.0"

-    tunnel-agent "^0.6.0"

-    which-pm-runs "^1.0.0"

-

-prelude-ls@^1.2.1:

-  version "1.2.1"

-  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"

-  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==

-

-prelude-ls@~1.1.2:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"

-  integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=

-

-prettier-linter-helpers@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"

-  integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==

-  dependencies:

-    fast-diff "^1.1.2"

-

-prettier@2.2.1:

-  version "2.2.1"

-  resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"

-  integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==

-

-process-nextick-args@~2.0.0:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"

-  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==

-

-progress@2.0.1:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz#c9242169342b1c29d275889c95734621b1952e31"

-  integrity sha512-OE+a6vzqazc+K6LxJrX5UPyKFvGnL5CYmq2jFGNIBWHpc4QyE49/YOumcrpQFJpfejmvRtbJzgO1zPmMCqlbBg==

-

-progress@^2.0.0, progress@^2.0.3:

-  version "2.0.3"

-  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"

-  integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==

-

-prom-client@^11.5.3:

-  version "11.5.3"

-  resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-11.5.3.tgz#5fedfce1083bac6c2b223738e966d0e1643756f8"

-  integrity sha512-iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==

-  dependencies:

-    tdigest "^0.1.1"

-

-prop-types@^15.7.2:

-  version "15.7.2"

-  resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5"

-  integrity sha512-8QQikdH7//R2vurIJSutZ1smHYTcLpRWEOlHnzcWHmBYrOGUysKwSsrC89BCiFj3CbrfJ/nXFdJepOVrY1GCHQ==

-  dependencies:

-    loose-envify "^1.4.0"

-    object-assign "^4.1.1"

-    react-is "^16.8.1"

-

-protobufjs@^6.8.6:

-  version "6.11.2"

-  resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b"

-  integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==

-  dependencies:

-    "@protobufjs/aspromise" "^1.1.2"

-    "@protobufjs/base64" "^1.1.2"

-    "@protobufjs/codegen" "^2.0.4"

-    "@protobufjs/eventemitter" "^1.1.0"

-    "@protobufjs/fetch" "^1.1.0"

-    "@protobufjs/float" "^1.0.2"

-    "@protobufjs/inquire" "^1.1.0"

-    "@protobufjs/path" "^1.1.2"

-    "@protobufjs/pool" "^1.1.0"

-    "@protobufjs/utf8" "^1.1.0"

-    "@types/long" "^4.0.1"

-    "@types/node" ">=13.7.0"

-    long "^4.0.0"

-

-proxy-addr@~2.0.5:

-  version "2.0.7"

-  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"

-  integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==

-  dependencies:

-    forwarded "0.2.0"

-    ipaddr.js "1.9.1"

-

-proxy-from-env@1.1.0:

-  version "1.1.0"

-  resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"

-  integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==

-

-ps-tree@^1.2.0:

-  version "1.2.0"

-  resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd"

-  integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==

-  dependencies:

-    event-stream "=3.3.4"

-

-pump@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"

-  integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==

-  dependencies:

-    end-of-stream "^1.1.0"

-    once "^1.3.1"

-

-punycode@^2.1.0:

-  version "2.1.1"

-  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"

-  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==

-

-puppeteer-cluster@^0.22.0:

-  version "0.22.0"

-  resolved "https://registry.yarnpkg.com/puppeteer-cluster/-/puppeteer-cluster-0.22.0.tgz#4ab214671f414f15ad6a94a4b61ed0b4172e86e6"

-  integrity sha512-hmydtMwfVM+idFIDzS8OXetnujHGre7RY3BGL+3njy9+r8Dcu3VALkZHfuBEPf6byKssTCgzxU1BvLczifXd5w==

-  dependencies:

-    debug "^4.1.1"

-

-puppeteer@^10.0.0:

-  version "10.4.0"

-  resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.4.0.tgz#a6465ff97fda0576c4ac29601406f67e6fea3dc7"

-  integrity sha512-2cP8mBoqnu5gzAVpbZ0fRaobBWZM8GEUF4I1F6WbgHrKV/rz7SX8PG2wMymZgD0wo0UBlg2FBPNxlF/xlqW6+w==

-  dependencies:

-    debug "4.3.1"

-    devtools-protocol "0.0.901419"

-    extract-zip "2.0.1"

-    https-proxy-agent "5.0.0"

-    node-fetch "2.6.1"

-    pkg-dir "4.2.0"

-    progress "2.0.1"

-    proxy-from-env "1.1.0"

-    rimraf "3.0.2"

-    tar-fs "2.0.0"

-    unbzip2-stream "1.3.3"

-    ws "7.4.6"

-

-qs@6.7.0:

-  version "6.7.0"

-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"

-  integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==

-

-queue-microtask@^1.2.2:

-  version "1.2.3"

-  resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"

-  integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==

-

-range-parser@~1.2.1:

-  version "1.2.1"

-  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"

-  integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==

-

-raw-body@2.4.0:

-  version "2.4.0"

-  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"

-  integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==

-  dependencies:

-    bytes "3.1.0"

-    http-errors "1.7.2"

-    iconv-lite "0.4.24"

-    unpipe "1.0.0"

-

-rc@^1.2.7:

-  version "1.2.8"

-  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"

-  integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==

-  dependencies:

-    deep-extend "^0.6.0"

-    ini "~1.3.0"

-    minimist "^1.2.0"

-    strip-json-comments "~2.0.1"

-

-react-is@^16.8.1:

-  version "16.13.1"

-  resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"

-  integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==

-

-readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.4, readable-stream@^2.3.7:

-  version "2.3.7"

-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"

-  integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==

-  dependencies:

-    core-util-is "~1.0.0"

-    inherits "~2.0.3"

-    isarray "~1.0.0"

-    process-nextick-args "~2.0.0"

-    safe-buffer "~5.1.1"

-    string_decoder "~1.1.1"

-    util-deprecate "~1.0.1"

-

-readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:

-  version "3.6.0"

-  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"

-  integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==

-  dependencies:

-    inherits "^2.0.3"

-    string_decoder "^1.1.1"

-    util-deprecate "^1.0.1"

-

-readdirp@~3.6.0:

-  version "3.6.0"

-  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"

-  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==

-  dependencies:

-    picomatch "^2.2.1"

-

-regexp.prototype.flags@^1.3.1:

-  version "1.3.1"

-  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz#7ef352ae8d159e758c0eadca6f8fcb4eef07be26"

-  integrity sha512-JiBdRBq91WlY7uRJ0ds7R+dU02i6LKi8r3BuQhNXn+kmeLN+EfHhfjqMRis1zJxnlu88hq/4dx0P2OP3APRTOA==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-

-regexpp@^3.1.0:

-  version "3.2.0"

-  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"

-  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==

-

-regextras@^0.7.1:

-  version "0.7.1"

-  resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.7.1.tgz#be95719d5f43f9ef0b9fa07ad89b7c606995a3b2"

-  integrity sha512-9YXf6xtW+qzQ+hcMQXx95MOvfqXFgsKDZodX3qZB0x2n5Z94ioetIITsBtvJbiOyxa/6s9AtyweBLCdPmPko/w==

-

-regextras@^0.8.0:

-  version "0.8.0"

-  resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217"

-  integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==

-

-require-directory@^2.1.1:

-  version "2.1.1"

-  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"

-  integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=

-

-require-from-string@^2.0.2:

-  version "2.0.2"

-  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"

-  integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==

-

-resolve-from@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"

-  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==

-

-resolve@^1.18.1, resolve@^1.20.0:

-  version "1.20.0"

-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"

-  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==

-  dependencies:

-    is-core-module "^2.2.0"

-    path-parse "^1.0.6"

-

-resolve@^2.0.0-next.3:

-  version "2.0.0-next.3"

-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46"

-  integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==

-  dependencies:

-    is-core-module "^2.2.0"

-    path-parse "^1.0.6"

-

-restore-cursor@^3.1.0:

-  version "3.1.0"

-  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"

-  integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==

-  dependencies:

-    onetime "^5.1.0"

-    signal-exit "^3.0.2"

-

-reusify@^1.0.4:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"

-  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==

-

-rimraf@3.0.2, rimraf@^3.0.2:

-  version "3.0.2"

-  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"

-  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==

-  dependencies:

-    glob "^7.1.3"

-

-run-parallel@^1.1.9:

-  version "1.2.0"

-  resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"

-  integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==

-  dependencies:

-    queue-microtask "^1.2.2"

-

-rxjs@^6.6.7:

-  version "6.6.7"

-  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz#90ac018acabf491bf65044235d5863c4dab804c9"

-  integrity sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==

-  dependencies:

-    tslib "^1.9.0"

-

-safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:

-  version "5.1.2"

-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"

-  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==

-

-safe-buffer@^5.0.1, safe-buffer@~5.2.0:

-  version "5.2.1"

-  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"

-  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==

-

-safe-stable-stringify@^1.1.0:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a"

-  integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==

-

-"safer-buffer@>= 2.1.2 < 3":

-  version "2.1.2"

-  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"

-  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==

-

-semver-compare@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"

-  integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=

-

-semver-regex@^3.1.2:

-  version "3.1.3"

-  resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3"

-  integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==

-

-semver@^5.4.1:

-  version "5.7.1"

-  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"

-  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==

-

-semver@^6.3.0:

-  version "6.3.0"

-  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"

-  integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==

-

-semver@^7.2.1, semver@^7.3.4, semver@^7.3.5:

-  version "7.3.5"

-  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"

-  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==

-  dependencies:

-    lru-cache "^6.0.0"

-

-send@0.17.1:

-  version "0.17.1"

-  resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"

-  integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==

-  dependencies:

-    debug "2.6.9"

-    depd "~1.1.2"

-    destroy "~1.0.4"

-    encodeurl "~1.0.2"

-    escape-html "~1.0.3"

-    etag "~1.8.1"

-    fresh "0.5.2"

-    http-errors "~1.7.2"

-    mime "1.6.0"

-    ms "2.1.1"

-    on-finished "~2.3.0"

-    range-parser "~1.2.1"

-    statuses "~1.5.0"

-

-serve-static@1.14.1:

-  version "1.14.1"

-  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"

-  integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==

-  dependencies:

-    encodeurl "~1.0.2"

-    escape-html "~1.0.3"

-    parseurl "~1.3.3"

-    send "0.17.1"

-

-set-blocking@~2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"

-  integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=

-

-setprototypeof@1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"

-  integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==

-

-shebang-command@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"

-  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==

-  dependencies:

-    shebang-regex "^3.0.0"

-

-shebang-regex@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"

-  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==

-

-side-channel@^1.0.4:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"

-  integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==

-  dependencies:

-    call-bind "^1.0.0"

-    get-intrinsic "^1.0.2"

-    object-inspect "^1.9.0"

-

-signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:

-  version "3.0.5"

-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz#9e3e8cc0c75a99472b44321033a7702e7738252f"

-  integrity sha512-KWcOiKeQj6ZyXx7zq4YxSMgHRlod4czeBQZrPb8OKcohcqAXShm7E20kEMle9WBt26hFcAf0qLOcp5zmY7kOqQ==

-

-simple-concat@^1.0.0:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"

-  integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==

-

-simple-get@^3.0.3:

-  version "3.1.0"

-  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz#b45be062435e50d159540b576202ceec40b9c6b3"

-  integrity sha512-bCR6cP+aTdScaQCnQKbPKtJOKDp/hj9EDLJo3Nw4y1QksqaovlW/bnptB6/c1e+qmNIDHRK+oXFDdEqBT8WzUA==

-  dependencies:

-    decompress-response "^4.2.0"

-    once "^1.3.1"

-    simple-concat "^1.0.0"

-

-simple-swizzle@^0.2.2:

-  version "0.2.2"

-  resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"

-  integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=

-  dependencies:

-    is-arrayish "^0.3.1"

-

-slash@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"

-  integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==

-

-slice-ansi@^3.0.0:

-  version "3.0.0"

-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"

-  integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==

-  dependencies:

-    ansi-styles "^4.0.0"

-    astral-regex "^2.0.0"

-    is-fullwidth-code-point "^3.0.0"

-

-slice-ansi@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"

-  integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==

-  dependencies:

-    ansi-styles "^4.0.0"

-    astral-regex "^2.0.0"

-    is-fullwidth-code-point "^3.0.0"

-

-source-map@~0.6.1:

-  version "0.6.1"

-  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"

-  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==

-

-spdx-exceptions@^2.1.0:

-  version "2.3.0"

-  resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"

-  integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==

-

-spdx-expression-parse@^3.0.1:

-  version "3.0.1"

-  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"

-  integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==

-  dependencies:

-    spdx-exceptions "^2.1.0"

-    spdx-license-ids "^3.0.0"

-

-spdx-license-ids@^3.0.0:

-  version "3.0.10"

-  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz#0d9becccde7003d6c658d487dd48a32f0bf3014b"

-  integrity sha512-oie3/+gKf7QtpitB0LYLETe+k8SifzsX4KixvpOsbI6S0kRiRQ5MKOio8eMSAKQ17N06+wdEOXRiId+zOxo0hA==

-

-split@0.3:

-  version "0.3.3"

-  resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"

-  integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=

-  dependencies:

-    through "2"

-

-sprintf-js@~1.0.2:

-  version "1.0.3"

-  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"

-  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=

-

-stack-trace@0.0.x:

-  version "0.0.10"

-  resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"

-  integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=

-

-"statuses@>= 1.5.0 < 2", statuses@~1.5.0:

-  version "1.5.0"

-  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"

-  integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=

-

-stream-combiner@~0.0.4:

-  version "0.0.4"

-  resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"

-  integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=

-  dependencies:

-    duplexer "~0.1.1"

-

-stream-meter@^1.0.4:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/stream-meter/-/stream-meter-1.0.4.tgz#52af95aa5ea760a2491716704dbff90f73afdd1d"

-  integrity sha1-Uq+Vql6nYKJJFxZwTb/5D3Ov3R0=

-  dependencies:

-    readable-stream "^2.1.4"

-

-string-argv@0.3.1:

-  version "0.3.1"

-  resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"

-  integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==

-

-string-argv@^0.1.1:

-  version "0.1.2"

-  resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.1.2.tgz#c5b7bc03fb2b11983ba3a72333dd0559e77e4738"

-  integrity sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==

-

-string-width@^1.0.1:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"

-  integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=

-  dependencies:

-    code-point-at "^1.0.0"

-    is-fullwidth-code-point "^1.0.0"

-    strip-ansi "^3.0.0"

-

-"string-width@^1.0.2 || 2":

-  version "2.1.1"

-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"

-  integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==

-  dependencies:

-    is-fullwidth-code-point "^2.0.0"

-    strip-ansi "^4.0.0"

-

-string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:

-  version "4.2.3"

-  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"

-  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==

-  dependencies:

-    emoji-regex "^8.0.0"

-    is-fullwidth-code-point "^3.0.0"

-    strip-ansi "^6.0.1"

-

-string.prototype.matchall@^4.0.2, string.prototype.matchall@^4.0.5:

-  version "4.0.6"

-  resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa"

-  integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-    es-abstract "^1.19.1"

-    get-intrinsic "^1.1.1"

-    has-symbols "^1.0.2"

-    internal-slot "^1.0.3"

-    regexp.prototype.flags "^1.3.1"

-    side-channel "^1.0.4"

-

-string.prototype.trimend@^1.0.4:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"

-  integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-

-string.prototype.trimstart@^1.0.4:

-  version "1.0.4"

-  resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"

-  integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==

-  dependencies:

-    call-bind "^1.0.2"

-    define-properties "^1.1.3"

-

-string_decoder@^1.1.1:

-  version "1.3.0"

-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"

-  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==

-  dependencies:

-    safe-buffer "~5.2.0"

-

-string_decoder@~1.1.1:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"

-  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==

-  dependencies:

-    safe-buffer "~5.1.0"

-

-stringify-object@3.3.0:

-  version "3.3.0"

-  resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"

-  integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==

-  dependencies:

-    get-own-enumerable-property-symbols "^3.0.0"

-    is-obj "^1.0.1"

-    is-regexp "^1.0.0"

-

-strip-ansi@^3.0.0, strip-ansi@^3.0.1:

-  version "3.0.1"

-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"

-  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=

-  dependencies:

-    ansi-regex "^2.0.0"

-

-strip-ansi@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"

-  integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=

-  dependencies:

-    ansi-regex "^3.0.0"

-

-strip-ansi@^6.0.0, strip-ansi@^6.0.1:

-  version "6.0.1"

-  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"

-  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==

-  dependencies:

-    ansi-regex "^5.0.1"

-

-strip-final-newline@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"

-  integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==

-

-strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:

-  version "3.1.1"

-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"

-  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==

-

-strip-json-comments@~2.0.1:

-  version "2.0.1"

-  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"

-  integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=

-

-supports-color@8.1.1:

-  version "8.1.1"

-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"

-  integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==

-  dependencies:

-    has-flag "^4.0.0"

-

-supports-color@^5.3.0:

-  version "5.5.0"

-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"

-  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==

-  dependencies:

-    has-flag "^3.0.0"

-

-supports-color@^7.1.0:

-  version "7.2.0"

-  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"

-  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==

-  dependencies:

-    has-flag "^4.0.0"

-

-table@^6.0.4, table@^6.0.9:

-  version "6.7.2"

-  resolved "https://registry.yarnpkg.com/table/-/table-6.7.2.tgz#a8d39b9f5966693ca8b0feba270a78722cbaf3b0"

-  integrity sha512-UFZK67uvyNivLeQbVtkiUs8Uuuxv24aSL4/Vil2PJVtMgU8Lx0CYkP12uCGa3kjyQzOSgV1+z9Wkb82fCGsO0g==

-  dependencies:

-    ajv "^8.0.1"

-    lodash.clonedeep "^4.5.0"

-    lodash.truncate "^4.4.2"

-    slice-ansi "^4.0.0"

-    string-width "^4.2.3"

-    strip-ansi "^6.0.1"

-

-tar-fs@2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz#677700fc0c8b337a78bee3623fdc235f21d7afad"

-  integrity sha512-vaY0obB6Om/fso8a8vakQBzwholQ7v5+uy+tF3Ozvxv1KNezmVQAiWtcNmMHFSFPqL3dJA8ha6gdtFbfX9mcxA==

-  dependencies:

-    chownr "^1.1.1"

-    mkdirp "^0.5.1"

-    pump "^3.0.0"

-    tar-stream "^2.0.0"

-

-tar-fs@^2.0.0:

-  version "2.1.1"

-  resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"

-  integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==

-  dependencies:

-    chownr "^1.1.1"

-    mkdirp-classic "^0.5.2"

-    pump "^3.0.0"

-    tar-stream "^2.1.4"

-

-tar-stream@^2.0.0, tar-stream@^2.1.4:

-  version "2.2.0"

-  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"

-  integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==

-  dependencies:

-    bl "^4.0.3"

-    end-of-stream "^1.4.1"

-    fs-constants "^1.0.0"

-    inherits "^2.0.3"

-    readable-stream "^3.1.1"

-

-tdigest@^0.1.1:

-  version "0.1.1"

-  resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.1.tgz#2e3cb2c39ea449e55d1e6cd91117accca4588021"

-  integrity sha1-Ljyyw56kSeVdHmzZEReszKRYgCE=

-  dependencies:

-    bintrees "1.0.1"

-

-text-hex@1.0.x:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"

-  integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==

-

-text-table@^0.2.0:

-  version "0.2.0"

-  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"

-  integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=

-

-through@2, through@^2.3.8, through@~2.3, through@~2.3.1:

-  version "2.3.8"

-  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"

-  integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=

-

-to-fast-properties@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"

-  integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=

-

-to-regex-range@^5.0.1:

-  version "5.0.1"

-  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"

-  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==

-  dependencies:

-    is-number "^7.0.0"

-

-toidentifier@1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"

-  integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==

-

-tr46@~0.0.3:

-  version "0.0.3"

-  resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"

-  integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=

-

-triple-beam@^1.2.0, triple-beam@^1.3.0:

-  version "1.3.0"

-  resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"

-  integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==

-

-tsc-watch@^4.2.3:

-  version "4.5.0"

-  resolved "https://registry.yarnpkg.com/tsc-watch/-/tsc-watch-4.5.0.tgz#d6884b932822b2c2ccd37f1c1f3748304566a474"

-  integrity sha512-aXhN4jY+1YEcn/NwCQ/+fHqU43EqOpW+pS+933EPsVEsrKhvyrodPDIjQsk1a1niFrabAK3RIBrRbAslVefEbQ==

-  dependencies:

-    cross-spawn "^7.0.3"

-    node-cleanup "^2.1.2"

-    ps-tree "^1.2.0"

-    string-argv "^0.1.1"

-    strip-ansi "^6.0.0"

-

-tslib@2.1.0:

-  version "2.1.0"

-  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz#da60860f1c2ecaa5703ab7d39bc05b6bf988b97a"

-  integrity sha512-hcVC3wYEziELGGmEEXue7D75zbwIIVUMWAVbHItGPx0ziyXxrOMQx4rQEVEV45Ut/1IotuEvwqPopzIOkDMf0A==

-

-tslib@^1.8.1, tslib@^1.9.0:

-  version "1.14.1"

-  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"

-  integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==

-

-tsutils@^3.21.0:

-  version "3.21.0"

-  resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"

-  integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==

-  dependencies:

-    tslib "^1.8.1"

-

-tunnel-agent@^0.6.0:

-  version "0.6.0"

-  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"

-  integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=

-  dependencies:

-    safe-buffer "^5.0.1"

-

-type-check@^0.4.0, type-check@~0.4.0:

-  version "0.4.0"

-  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"

-  integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==

-  dependencies:

-    prelude-ls "^1.2.1"

-

-type-check@~0.3.2:

-  version "0.3.2"

-  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"

-  integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=

-  dependencies:

-    prelude-ls "~1.1.2"

-

-type-fest@^0.20.2:

-  version "0.20.2"

-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"

-  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==

-

-type-fest@^0.21.3:

-  version "0.21.3"

-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"

-  integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==

-

-type-fest@^0.8.1:

-  version "0.8.1"

-  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"

-  integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==

-

-type-is@~1.6.17, type-is@~1.6.18:

-  version "1.6.18"

-  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"

-  integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==

-  dependencies:

-    media-typer "0.3.0"

-    mime-types "~2.1.24"

-

-typescript@4.3.4:

-  version "4.3.4"

-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz#3f85b986945bcf31071decdd96cf8bfa65f9dcbc"

-  integrity sha512-uauPG7XZn9F/mo+7MrsRjyvbxFpzemRjKEZXS4AK83oP2KKOJPvb+9cO/gmnv8arWZvhnjVOXz7B49m1l0e9Ew==

-

-typescript@^4.3.2:

-  version "4.4.3"

-  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz#bdc5407caa2b109efd4f82fe130656f977a29324"

-  integrity sha512-4xfscpisVgqqDfPaJo5vkd+Qd/ItkoagnHpufr+i2QCHBsNYp+G7UAoyFl8aPtx879u38wPV65rZ8qbGZijalA==

-

-unbox-primitive@^1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"

-  integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==

-  dependencies:

-    function-bind "^1.1.1"

-    has-bigints "^1.0.1"

-    has-symbols "^1.0.2"

-    which-boxed-primitive "^1.0.2"

-

-unbzip2-stream@1.3.3:

-  version "1.3.3"

-  resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz#d156d205e670d8d8c393e1c02ebd506422873f6a"

-  integrity sha512-fUlAF7U9Ah1Q6EieQ4x4zLNejrRvDWUYmxXUpN3uziFYCHapjWFaCAnreY9bGgxzaMCFAPPpYNng57CypwJVhg==

-  dependencies:

-    buffer "^5.2.1"

-    through "^2.3.8"

-

-unique-filename@^1.1.0:

-  version "1.1.1"

-  resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"

-  integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==

-  dependencies:

-    unique-slug "^2.0.0"

-

-unique-slug@^2.0.0:

-  version "2.0.2"

-  resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"

-  integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==

-  dependencies:

-    imurmurhash "^0.1.4"

-

-universalify@^2.0.0:

-  version "2.0.0"

-  resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"

-  integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==

-

-unpipe@1.0.0, unpipe@~1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"

-  integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=

-

-uri-js@^4.2.2:

-  version "4.4.1"

-  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"

-  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==

-  dependencies:

-    punycode "^2.1.0"

-

-url-value-parser@^2.0.0:

-  version "2.0.3"

-  resolved "https://registry.yarnpkg.com/url-value-parser/-/url-value-parser-2.0.3.tgz#cd4b8d6754e458d65e8125260c09718d926e6e21"

-  integrity sha512-FjIX+Q9lYmDM9uYIGdMYfQW0uLbWVwN2NrL2ayAI7BTOvEwzH+VoDdNquwB9h4dFAx+u6mb0ONLa3sHD5DvyvA==

-

-util-deprecate@^1.0.1, util-deprecate@~1.0.1:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"

-  integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=

-

-utils-merge@1.0.1:

-  version "1.0.1"

-  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"

-  integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=

-

-v8-compile-cache@^2.0.3:

-  version "2.3.0"

-  resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"

-  integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==

-

-vary@~1.1.2:

-  version "1.1.2"

-  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"

-  integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=

-

-webidl-conversions@^3.0.0:

-  version "3.0.1"

-  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"

-  integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=

-

-whatwg-url@^5.0.0:

-  version "5.0.0"

-  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"

-  integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=

-  dependencies:

-    tr46 "~0.0.3"

-    webidl-conversions "^3.0.0"

-

-which-boxed-primitive@^1.0.2:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"

-  integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==

-  dependencies:

-    is-bigint "^1.0.1"

-    is-boolean-object "^1.1.0"

-    is-number-object "^1.0.4"

-    is-string "^1.0.5"

-    is-symbol "^1.0.3"

-

-which-pm-runs@^1.0.0:

-  version "1.0.0"

-  resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"

-  integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=

-

-which@^2.0.1:

-  version "2.0.2"

-  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"

-  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==

-  dependencies:

-    isexe "^2.0.0"

-

-wide-align@^1.1.0:

-  version "1.1.3"

-  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz#ae074e6bdc0c14a431e804e624549c633b000457"

-  integrity sha512-QGkOQc8XL6Bt5PwnsExKBPuMKBxnGxWWW3fU55Xt4feHozMUhdUMaBCk290qpm/wG5u/RSKzwdAC4i51YigihA==

-  dependencies:

-    string-width "^1.0.2 || 2"

-

-winston-transport@^4.4.0:

-  version "4.4.0"

-  resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.0.tgz#17af518daa690d5b2ecccaa7acf7b20ca7925e59"

-  integrity sha512-Lc7/p3GtqtqPBYYtS6KCN3c77/2QCev51DvcJKbkFPQNoj1sinkGwLGFDxkXY9J6p9+EPnYs+D90uwbnaiURTw==

-  dependencies:

-    readable-stream "^2.3.7"

-    triple-beam "^1.2.0"

-

-winston@^3.2.1:

-  version "3.3.3"

-  resolved "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz#ae6172042cafb29786afa3d09c8ff833ab7c9170"

-  integrity sha512-oEXTISQnC8VlSAKf1KYSSd7J6IWuRPQqDdo8eoRNaYKLvwSb5+79Z3Yi1lrl6KDpU6/VWaxpakDAtb1oQ4n9aw==

-  dependencies:

-    "@dabh/diagnostics" "^2.0.2"

-    async "^3.1.0"

-    is-stream "^2.0.0"

-    logform "^2.2.0"

-    one-time "^1.0.0"

-    readable-stream "^3.4.0"

-    stack-trace "0.0.x"

-    triple-beam "^1.3.0"

-    winston-transport "^4.4.0"

-

-word-wrap@^1.2.3, word-wrap@~1.2.3:

-  version "1.2.3"

-  resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"

-  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==

-

-wrap-ansi@^6.2.0:

-  version "6.2.0"

-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"

-  integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==

-  dependencies:

-    ansi-styles "^4.0.0"

-    string-width "^4.1.0"

-    strip-ansi "^6.0.0"

-

-wrap-ansi@^7.0.0:

-  version "7.0.0"

-  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"

-  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==

-  dependencies:

-    ansi-styles "^4.0.0"

-    string-width "^4.1.0"

-    strip-ansi "^6.0.0"

-

-wrappy@1:

-  version "1.0.2"

-  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"

-  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=

-

-ws@7.4.6:

-  version "7.4.6"

-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz#5654ca8ecdeee47c33a9a4bf6d28e2be2980377c"

-  integrity sha512-YmhHDO4MzaDLB+M9ym/mDA5z0naX8j7SIlT8f8z+I0VtzsRbekxEutHSme7NPS2qE8StCYQNUnfWdXta/Yu85A==

-

-y18n@^5.0.5:

-  version "5.0.8"

-  resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"

-  integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==

-

-yallist@^4.0.0:

-  version "4.0.0"

-  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"

-  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==

-

-yaml@^1.10.0:

-  version "1.10.2"

-  resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"

-  integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==

-

-yargs-parser@^20.2.2:

-  version "20.2.9"

-  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"

-  integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==

-

-yargs@^16.2.0:

-  version "16.2.0"

-  resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"

-  integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==

-  dependencies:

-    cliui "^7.0.2"

-    escalade "^3.1.1"

-    get-caller-file "^2.0.5"

-    require-directory "^2.1.1"

-    string-width "^4.2.0"

-    y18n "^5.0.5"

-    yargs-parser "^20.2.2"

-

-yauzl@^2.10.0:

-  version "2.10.0"

-  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"

-  integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=

-  dependencies:

-    buffer-crc32 "~0.2.3"

-    fd-slicer "~1.1.0"

-

-yocto-queue@^0.1.0:

-  version "0.1.0"

-  resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"

-  integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==

+# THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
+# yarn lockfile v1
+
+
+"@babel/code-frame@7.12.11":
+  version "7.12.11"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f"
+  integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==
+  dependencies:
+    "@babel/highlight" "^7.10.4"
+
+"@babel/code-frame@^7.0.0":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
+  integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
+  dependencies:
+    "@babel/highlight" "^7.16.7"
+
+"@babel/helper-validator-identifier@^7.15.7", "@babel/helper-validator-identifier@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+  integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
+
+"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7":
+  version "7.16.10"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
+  integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.16.7"
+    chalk "^2.0.0"
+    js-tokens "^4.0.0"
+
+"@babel/parser@7.16.2":
+  version "7.16.2"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.2.tgz#3723cd5c8d8773eef96ce57ea1d9b7faaccd12ac"
+  integrity sha512-RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==
+
+"@babel/types@7.16.0":
+  version "7.16.0"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba"
+  integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==
+  dependencies:
+    "@babel/helper-validator-identifier" "^7.15.7"
+    to-fast-properties "^2.0.0"
+
+"@dabh/diagnostics@^2.0.2":
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.2.tgz#290d08f7b381b8f94607dc8f471a12c675f9db31"
+  integrity sha512-+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==
+  dependencies:
+    colorspace "1.1.x"
+    enabled "2.0.x"
+    kuler "^2.0.0"
+
+"@es-joy/jsdoccomment@0.10.8":
+  version "0.10.8"
+  resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz#b3152887e25246410ed4ea569a55926ec13b2b05"
+  integrity sha512-3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ==
+  dependencies:
+    comment-parser "1.2.4"
+    esquery "^1.4.0"
+    jsdoc-type-pratt-parser "1.1.1"
+
+"@es-joy/jsdoccomment@~0.18.0":
+  version "0.18.0"
+  resolved "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.18.0.tgz#2532b2ecb8576d694011b157c447ed6b12534c70"
+  integrity sha512-TjT8KJULV4I6ZiwIoKr6eMs+XpRejqwJ/VA+QPDeFGe9j6bZFKmMJ81EeFsGm6JNZhnzm37aoxVROmTh2PZoyA==
+  dependencies:
+    comment-parser "1.3.0"
+    esquery "^1.4.0"
+    jsdoc-type-pratt-parser "~2.2.2"
+
+"@eslint/eslintrc@^0.4.2", "@eslint/eslintrc@^0.4.3":
+  version "0.4.3"
+  resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c"
+  integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==
+  dependencies:
+    ajv "^6.12.4"
+    debug "^4.1.1"
+    espree "^7.3.0"
+    globals "^13.9.0"
+    ignore "^4.0.6"
+    import-fresh "^3.2.1"
+    js-yaml "^3.13.1"
+    minimatch "^3.0.4"
+    strip-json-comments "^3.1.1"
+
+"@grafana/eslint-config@^2.5.0":
+  version "2.5.2"
+  resolved "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-2.5.2.tgz#4343bdd2dbd362b061395010f209fea316ca3f61"
+  integrity sha512-LfTKRbeAshEIr5VELcr6dw5U0Er586yeyb5X/IwrfutHwdcrJdepRf1E/LwMVAUoBzJRQfTLErkS9Mw0Xlv/aA==
+  dependencies:
+    "@typescript-eslint/eslint-plugin" "5.10.0"
+    "@typescript-eslint/parser" "5.10.0"
+    eslint "7.28.0"
+    eslint-config-prettier "8.3.0"
+    eslint-plugin-jsdoc "37.7.0"
+    eslint-plugin-prettier "4.0.0"
+    eslint-plugin-react "7.28.0"
+    eslint-plugin-react-hooks "4.3.0"
+    prettier "2.5.1"
+    typescript "4.4.4"
+
+"@grpc/grpc-js@^1.0":
+  version "1.5.4"
+  resolved "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.5.4.tgz#dd0237ad7df80a7a24766fe516d7e4a22cb4855e"
+  integrity sha512-+nJTOsqpFAXnfFrMZ7Too4XXZ/J9O+8jYvSoaunupoC7I7b9H4iex1BRsbTdOmiowfPGJrWit7jUPmbENSUSpw==
+  dependencies:
+    "@grpc/proto-loader" "^0.6.4"
+    "@types/node" ">=12.12.47"
+
+"@grpc/proto-loader@^0.5.4":
+  version "0.5.6"
+  resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.5.6.tgz#1dea4b8a6412b05e2d58514d507137b63a52a98d"
+  integrity sha512-DT14xgw3PSzPxwS13auTEwxhMMOoz33DPUKNtmYK/QYbBSpLXJy78FGGs5yVoxVobEqPm4iW9MOIoz0A3bLTRQ==
+  dependencies:
+    lodash.camelcase "^4.3.0"
+    protobufjs "^6.8.6"
+
+"@grpc/proto-loader@^0.6.4":
+  version "0.6.9"
+  resolved "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.6.9.tgz#4014eef366da733f8e04a9ddd7376fe8a58547b7"
+  integrity sha512-UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==
+  dependencies:
+    "@types/long" "^4.0.1"
+    lodash.camelcase "^4.3.0"
+    long "^4.0.0"
+    protobufjs "^6.10.0"
+    yargs "^16.2.0"
+
+"@hapi/boom@^9.1.0":
+  version "9.1.4"
+  resolved "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.4.tgz#1f9dad367c6a7da9f8def24b4a986fc5a7bd9db6"
+  integrity sha512-Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==
+  dependencies:
+    "@hapi/hoek" "9.x.x"
+
+"@hapi/hoek@9.x.x":
+  version "9.2.1"
+  resolved "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz#9551142a1980503752536b5050fd99f4a7f13b17"
+  integrity sha512-gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==
+
+"@humanwhocodes/config-array@^0.5.0":
+  version "0.5.0"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9"
+  integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==
+  dependencies:
+    "@humanwhocodes/object-schema" "^1.2.0"
+    debug "^4.1.1"
+    minimatch "^3.0.4"
+
+"@humanwhocodes/object-schema@^1.2.0":
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45"
+  integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==
+
+"@nodelib/fs.scandir@2.1.5":
+  version "2.1.5"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5"
+  integrity sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==
+  dependencies:
+    "@nodelib/fs.stat" "2.0.5"
+    run-parallel "^1.1.9"
+
+"@nodelib/fs.stat@2.0.5", "@nodelib/fs.stat@^2.0.2":
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz#5bd262af94e9d25bd1e71b05deed44876a222e8b"
+  integrity sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==
+
+"@nodelib/fs.walk@^1.2.3":
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz#e95737e8bb6746ddedf69c556953494f196fe69a"
+  integrity sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==
+  dependencies:
+    "@nodelib/fs.scandir" "2.1.5"
+    fastq "^1.6.0"
+
+"@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf"
+  integrity sha1-m4sMxmPWaafY9vXQiToU00jzD78=
+
+"@protobufjs/base64@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz#4c85730e59b9a1f1f349047dbf24296034bb2735"
+  integrity sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==
+
+"@protobufjs/codegen@^2.0.4":
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz#7ef37f0d010fb028ad1ad59722e506d9262815cb"
+  integrity sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==
+
+"@protobufjs/eventemitter@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz#355cbc98bafad5978f9ed095f397621f1d066b70"
+  integrity sha1-NVy8mLr61ZePntCV85diHx0Ga3A=
+
+"@protobufjs/fetch@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz#ba99fb598614af65700c1619ff06d454b0d84c45"
+  integrity sha1-upn7WYYUr2VwDBYZ/wbUVLDYTEU=
+  dependencies:
+    "@protobufjs/aspromise" "^1.1.1"
+    "@protobufjs/inquire" "^1.1.0"
+
+"@protobufjs/float@^1.0.2":
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz#5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1"
+  integrity sha1-Xp4avctz/Ap8uLKR33jIy9l7h9E=
+
+"@protobufjs/inquire@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz#ff200e3e7cf2429e2dcafc1140828e8cc638f089"
+  integrity sha1-/yAOPnzyQp4tyvwRQIKOjMY48Ik=
+
+"@protobufjs/path@^1.1.2":
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz#6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d"
+  integrity sha1-bMKyDFya1q0NzP0hynZz2Nf79o0=
+
+"@protobufjs/pool@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz#09fd15f2d6d3abfa9b65bc366506d6ad7846ff54"
+  integrity sha1-Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=
+
+"@protobufjs/utf8@^1.1.0":
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz#a777360b5b39a1a2e5106f8e858f2fd2d060c570"
+  integrity sha1-p3c2C1s5oaLlEG+OhY8v0tBgxXA=
+
+"@types/body-parser@*":
+  version "1.19.2"
+  resolved "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz#aea2059e28b7658639081347ac4fab3de166e6f0"
+  integrity sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==
+  dependencies:
+    "@types/connect" "*"
+    "@types/node" "*"
+
+"@types/connect@*":
+  version "3.4.35"
+  resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1"
+  integrity sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==
+  dependencies:
+    "@types/node" "*"
+
+"@types/express-serve-static-core@^4.17.18":
+  version "4.17.28"
+  resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz#c47def9f34ec81dc6328d0b1b5303d1ec98d86b8"
+  integrity sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==
+  dependencies:
+    "@types/node" "*"
+    "@types/qs" "*"
+    "@types/range-parser" "*"
+
+"@types/express@^4.11.1":
+  version "4.17.13"
+  resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz#a76e2995728999bab51a33fabce1d705a3709034"
+  integrity sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==
+  dependencies:
+    "@types/body-parser" "*"
+    "@types/express-serve-static-core" "^4.17.18"
+    "@types/qs" "*"
+    "@types/serve-static" "*"
+
+"@types/json-schema@^7.0.7", "@types/json-schema@^7.0.9":
+  version "7.0.9"
+  resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d"
+  integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==
+
+"@types/long@^4.0.1":
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz#459c65fa1867dafe6a8f322c4c51695663cc55e9"
+  integrity sha512-5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==
+
+"@types/mime@^1":
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a"
+  integrity sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==
+
+"@types/node@*", "@types/node@>=12.12.47", "@types/node@>=13.7.0":
+  version "17.0.14"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.14.tgz#33b9b94f789a8fedd30a68efdbca4dbb06b61f20"
+  integrity sha512-SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==
+
+"@types/node@^14.14.41":
+  version "14.18.10"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.10.tgz#774f43868964f3cfe4ced1f5417fe15818a4eaea"
+  integrity sha512-6iihJ/Pp5fsFJ/aEDGyvT4pHGmCpq7ToQ/yf4bl5SbVAvwpspYJ+v3jO7n8UyjhQVHTy+KNszOozDdv+O6sovQ==
+
+"@types/parse-json@^4.0.0":
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0"
+  integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==
+
+"@types/qs@*":
+  version "6.9.7"
+  resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb"
+  integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==
+
+"@types/range-parser@*":
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz#cd667bcfdd025213aafb7ca5915a932590acdcdc"
+  integrity sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==
+
+"@types/serve-static@*":
+  version "1.13.10"
+  resolved "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz#f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9"
+  integrity sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==
+  dependencies:
+    "@types/mime" "^1"
+    "@types/node" "*"
+
+"@types/yauzl@^2.9.1":
+  version "2.9.2"
+  resolved "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz#c48e5d56aff1444409e39fa164b0b4d4552a7b7a"
+  integrity sha512-8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==
+  dependencies:
+    "@types/node" "*"
+
+"@typescript-eslint/eslint-plugin@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz#e90afea96dff8620892ad216b0e4ccdf8ee32d3a"
+  integrity sha512-XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ==
+  dependencies:
+    "@typescript-eslint/scope-manager" "5.10.0"
+    "@typescript-eslint/type-utils" "5.10.0"
+    "@typescript-eslint/utils" "5.10.0"
+    debug "^4.3.2"
+    functional-red-black-tree "^1.0.1"
+    ignore "^5.1.8"
+    regexpp "^3.2.0"
+    semver "^7.3.5"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/eslint-plugin@^4.32.0":
+  version "4.33.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276"
+  integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==
+  dependencies:
+    "@typescript-eslint/experimental-utils" "4.33.0"
+    "@typescript-eslint/scope-manager" "4.33.0"
+    debug "^4.3.1"
+    functional-red-black-tree "^1.0.1"
+    ignore "^5.1.8"
+    regexpp "^3.1.0"
+    semver "^7.3.5"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/experimental-utils@4.33.0":
+  version "4.33.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd"
+  integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==
+  dependencies:
+    "@types/json-schema" "^7.0.7"
+    "@typescript-eslint/scope-manager" "4.33.0"
+    "@typescript-eslint/types" "4.33.0"
+    "@typescript-eslint/typescript-estree" "4.33.0"
+    eslint-scope "^5.1.1"
+    eslint-utils "^3.0.0"
+
+"@typescript-eslint/parser@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.0.tgz#8f59e036f5f1cffc178cacbd5ccdd02aeb96c91c"
+  integrity sha512-pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw==
+  dependencies:
+    "@typescript-eslint/scope-manager" "5.10.0"
+    "@typescript-eslint/types" "5.10.0"
+    "@typescript-eslint/typescript-estree" "5.10.0"
+    debug "^4.3.2"
+
+"@typescript-eslint/parser@^4.32.0":
+  version "4.33.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899"
+  integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==
+  dependencies:
+    "@typescript-eslint/scope-manager" "4.33.0"
+    "@typescript-eslint/types" "4.33.0"
+    "@typescript-eslint/typescript-estree" "4.33.0"
+    debug "^4.3.1"
+
+"@typescript-eslint/scope-manager@4.33.0":
+  version "4.33.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3"
+  integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==
+  dependencies:
+    "@typescript-eslint/types" "4.33.0"
+    "@typescript-eslint/visitor-keys" "4.33.0"
+
+"@typescript-eslint/scope-manager@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz#bb5d872e8b9e36203908595507fbc4d3105329cb"
+  integrity sha512-tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==
+  dependencies:
+    "@typescript-eslint/types" "5.10.0"
+    "@typescript-eslint/visitor-keys" "5.10.0"
+
+"@typescript-eslint/type-utils@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz#8524b9479c19c478347a7df216827e749e4a51e5"
+  integrity sha512-TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ==
+  dependencies:
+    "@typescript-eslint/utils" "5.10.0"
+    debug "^4.3.2"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/types@4.33.0":
+  version "4.33.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72"
+  integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==
+
+"@typescript-eslint/types@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz#beb3cb345076f5b088afe996d57bcd1dfddaa75c"
+  integrity sha512-wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ==
+
+"@typescript-eslint/typescript-estree@4.33.0":
+  version "4.33.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609"
+  integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==
+  dependencies:
+    "@typescript-eslint/types" "4.33.0"
+    "@typescript-eslint/visitor-keys" "4.33.0"
+    debug "^4.3.1"
+    globby "^11.0.3"
+    is-glob "^4.0.1"
+    semver "^7.3.5"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/typescript-estree@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz#4be24a3dea0f930bb1397c46187d0efdd955a224"
+  integrity sha512-x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==
+  dependencies:
+    "@typescript-eslint/types" "5.10.0"
+    "@typescript-eslint/visitor-keys" "5.10.0"
+    debug "^4.3.2"
+    globby "^11.0.4"
+    is-glob "^4.0.3"
+    semver "^7.3.5"
+    tsutils "^3.21.0"
+
+"@typescript-eslint/utils@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz#c3d152a85da77c400e37281355561c72fb1b5a65"
+  integrity sha512-IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==
+  dependencies:
+    "@types/json-schema" "^7.0.9"
+    "@typescript-eslint/scope-manager" "5.10.0"
+    "@typescript-eslint/types" "5.10.0"
+    "@typescript-eslint/typescript-estree" "5.10.0"
+    eslint-scope "^5.1.1"
+    eslint-utils "^3.0.0"
+
+"@typescript-eslint/visitor-keys@4.33.0":
+  version "4.33.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd"
+  integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==
+  dependencies:
+    "@typescript-eslint/types" "4.33.0"
+    eslint-visitor-keys "^2.0.0"
+
+"@typescript-eslint/visitor-keys@5.10.0":
+  version "5.10.0"
+  resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz#770215497ad67cd15a572b52089991d5dfe06281"
+  integrity sha512-GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==
+  dependencies:
+    "@typescript-eslint/types" "5.10.0"
+    eslint-visitor-keys "^3.0.0"
+
+accepts@~1.3.7:
+  version "1.3.7"
+  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
+  integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+  dependencies:
+    mime-types "~2.1.24"
+    negotiator "0.6.2"
+
+acorn-jsx@^5.3.1:
+  version "5.3.2"
+  resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz#7ed5bb55908b3b2f1bc55c6af1653bada7f07937"
+  integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==
+
+acorn@^7.4.0:
+  version "7.4.1"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa"
+  integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
+
+agent-base@6:
+  version "6.0.2"
+  resolved "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz#49fff58577cfee3f37176feab4c22e00f86d7f77"
+  integrity sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==
+  dependencies:
+    debug "4"
+
+aggregate-error@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz#92670ff50f5359bdb7a3e0d40d0ec30c5737687a"
+  integrity sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==
+  dependencies:
+    clean-stack "^2.0.0"
+    indent-string "^4.0.0"
+
+ajv@^6.10.0, ajv@^6.12.4:
+  version "6.12.6"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4"
+  integrity sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    fast-json-stable-stringify "^2.0.0"
+    json-schema-traverse "^0.4.1"
+    uri-js "^4.2.2"
+
+ajv@^8.0.1:
+  version "8.9.0"
+  resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz#738019146638824dea25edcf299dcba1b0e7eb18"
+  integrity sha512-qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==
+  dependencies:
+    fast-deep-equal "^3.1.1"
+    json-schema-traverse "^1.0.0"
+    require-from-string "^2.0.2"
+    uri-js "^4.2.2"
+
+ansi-colors@^4.1.1:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348"
+  integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==
+
+ansi-escapes@^4.3.0:
+  version "4.3.2"
+  resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz#6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e"
+  integrity sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==
+  dependencies:
+    type-fest "^0.21.3"
+
+ansi-regex@^2.0.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz#c3b33ab5ee360d86e0e628f0468ae7ef27d654df"
+  integrity sha1-w7M6te42DYbg5ijwRorn7yfWVN8=
+
+ansi-regex@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz#082cb2c89c9fe8659a311a53bd6a4dc5301db304"
+  integrity sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==
+
+ansi-styles@^3.2.1:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
+  integrity sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==
+  dependencies:
+    color-convert "^1.9.0"
+
+ansi-styles@^4.0.0, ansi-styles@^4.1.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz#edd803628ae71c04c85ae7a0906edad34b648937"
+  integrity sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==
+  dependencies:
+    color-convert "^2.0.1"
+
+anymatch@~3.1.2:
+  version "3.1.2"
+  resolved "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz#c0557c096af32f106198f4f4e2a383537e378716"
+  integrity sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==
+  dependencies:
+    normalize-path "^3.0.0"
+    picomatch "^2.0.4"
+
+aproba@^1.0.3:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz#6802e6264efd18c790a1b0d517f0f2627bf2c94a"
+  integrity sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==
+
+are-we-there-yet@~1.1.2:
+  version "1.1.7"
+  resolved "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz#b15474a932adab4ff8a50d9adfa7e4e926f21146"
+  integrity sha512-nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==
+  dependencies:
+    delegates "^1.0.0"
+    readable-stream "^2.0.6"
+
+argparse@^1.0.7:
+  version "1.0.10"
+  resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
+  integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==
+  dependencies:
+    sprintf-js "~1.0.2"
+
+array-flatten@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz#9a5f699051b1e7073328f2a008968b64ea2955d2"
+  integrity sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=
+
+array-includes@^3.1.3, array-includes@^3.1.4:
+  version "3.1.4"
+  resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9"
+  integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+    es-abstract "^1.19.1"
+    get-intrinsic "^1.1.1"
+    is-string "^1.0.7"
+
+array-union@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d"
+  integrity sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==
+
+array.prototype.flatmap@^1.2.5:
+  version "1.2.5"
+  resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446"
+  integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==
+  dependencies:
+    call-bind "^1.0.0"
+    define-properties "^1.1.3"
+    es-abstract "^1.19.0"
+
+astral-regex@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31"
+  integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==
+
+async@^3.2.3:
+  version "3.2.3"
+  resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9"
+  integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==
+
+at-least-node@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz#602cd4b46e844ad4effc92a8011a3c46e0238dc2"
+  integrity sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==
+
+balanced-match@^1.0.0:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz#e83e3a7e3f300b34cb9d87f615fa0cbf357690ee"
+  integrity sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==
+
+base64-js@^1.3.1:
+  version "1.5.1"
+  resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a"
+  integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==
+
+basic-auth@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz#b998279bf47ce38344b4f3cf916d4679bbf51e3a"
+  integrity sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==
+  dependencies:
+    safe-buffer "5.1.2"
+
+binary-extensions@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz#75f502eeaf9ffde42fc98829645be4ea76bd9e2d"
+  integrity sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==
+
+bintrees@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.1.tgz#0e655c9b9c2435eaab68bf4027226d2b55a34524"
+  integrity sha1-DmVcm5wkNeqraL9AJyJtK1WjRSQ=
+
+bl@^4.0.3:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a"
+  integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==
+  dependencies:
+    buffer "^5.5.0"
+    inherits "^2.0.4"
+    readable-stream "^3.4.0"
+
+body-parser@1.19.1:
+  version "1.19.1"
+  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4"
+  integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==
+  dependencies:
+    bytes "3.1.1"
+    content-type "~1.0.4"
+    debug "2.6.9"
+    depd "~1.1.2"
+    http-errors "1.8.1"
+    iconv-lite "0.4.24"
+    on-finished "~2.3.0"
+    qs "6.9.6"
+    raw-body "2.4.2"
+    type-is "~1.6.18"
+
+brace-expansion@^1.1.7:
+  version "1.1.11"
+  resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz#3c7fcbf529d87226f3d2f52b966ff5271eb441dd"
+  integrity sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==
+  dependencies:
+    balanced-match "^1.0.0"
+    concat-map "0.0.1"
+
+braces@^3.0.1, braces@~3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz#3454e1a462ee8d599e236df336cd9ea4f8afe107"
+  integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==
+  dependencies:
+    fill-range "^7.0.1"
+
+buffer-crc32@~0.2.3:
+  version "0.2.13"
+  resolved "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz#0d333e3f00eac50aa1454abd30ef8c2a5d9a7242"
+  integrity sha1-DTM+PwDqxQqhRUq9MO+MKl2ackI=
+
+buffer@^5.2.1, buffer@^5.5.0:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0"
+  integrity sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==
+  dependencies:
+    base64-js "^1.3.1"
+    ieee754 "^1.1.13"
+
+bytes@3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a"
+  integrity sha512-dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==
+
+call-bind@^1.0.0, call-bind@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz#b1d4e89e688119c3c9a903ad30abb2f6a919be3c"
+  integrity sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==
+  dependencies:
+    function-bind "^1.1.1"
+    get-intrinsic "^1.0.2"
+
+callsites@^3.0.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
+  integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
+
+chalk@^2.0.0:
+  version "2.4.2"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
+  integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
+  dependencies:
+    ansi-styles "^3.2.1"
+    escape-string-regexp "^1.0.5"
+    supports-color "^5.3.0"
+
+chalk@^4.0.0, chalk@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz#aac4e2b7734a740867aeb16bf02aad556a1e7a01"
+  integrity sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==
+  dependencies:
+    ansi-styles "^4.1.0"
+    supports-color "^7.1.0"
+
+chokidar@^3.5.2:
+  version "3.5.3"
+  resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz#1cf37c8707b932bd1af1ae22c0432e2acd1903bd"
+  integrity sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==
+  dependencies:
+    anymatch "~3.1.2"
+    braces "~3.0.2"
+    glob-parent "~5.1.2"
+    is-binary-path "~2.1.0"
+    is-glob "~4.0.1"
+    normalize-path "~3.0.0"
+    readdirp "~3.6.0"
+  optionalDependencies:
+    fsevents "~2.3.2"
+
+chownr@^1.1.1:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
+  integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==
+
+ci-info@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46"
+  integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==
+
+clean-stack@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b"
+  integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==
+
+cli-cursor@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+  integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
+  dependencies:
+    restore-cursor "^3.1.0"
+
+cli-truncate@2.1.0, cli-truncate@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz#c39e28bf05edcde5be3b98992a22deed5a2b93c7"
+  integrity sha512-n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==
+  dependencies:
+    slice-ansi "^3.0.0"
+    string-width "^4.2.0"
+
+cliui@^7.0.2:
+  version "7.0.4"
+  resolved "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz#a0265ee655476fc807aea9df3df8df7783808b4f"
+  integrity sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==
+  dependencies:
+    string-width "^4.2.0"
+    strip-ansi "^6.0.0"
+    wrap-ansi "^7.0.0"
+
+code-point-at@^1.0.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz#0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77"
+  integrity sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=
+
+color-convert@^1.9.0, color-convert@^1.9.3:
+  version "1.9.3"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz#bb71850690e1f136567de629d2d5471deda4c1e8"
+  integrity sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==
+  dependencies:
+    color-name "1.1.3"
+
+color-convert@^2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+  integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+  dependencies:
+    color-name "~1.1.4"
+
+color-name@1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
+  integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+
+color-name@^1.0.0, color-name@~1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+  integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
+color-string@^1.6.0, color-string@^1.9.0:
+  version "1.9.0"
+  resolved "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz#63b6ebd1bec11999d1df3a79a7569451ac2be8aa"
+  integrity sha512-9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==
+  dependencies:
+    color-name "^1.0.0"
+    simple-swizzle "^0.2.2"
+
+color@^3.1.3:
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz#3544dc198caf4490c3ecc9a790b54fe9ff45e164"
+  integrity sha512-aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==
+  dependencies:
+    color-convert "^1.9.3"
+    color-string "^1.6.0"
+
+color@^4.0.1:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/color/-/color-4.2.0.tgz#0c782459a3e98838ea01e4bc0fb43310ca35af78"
+  integrity sha512-hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ==
+  dependencies:
+    color-convert "^2.0.1"
+    color-string "^1.9.0"
+
+colorette@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz#5190fbb87276259a86ad700bff2c6d6faa3fca40"
+  integrity sha512-Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==
+
+colorette@^2.0.16:
+  version "2.0.16"
+  resolved "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz#713b9af84fdb000139f04546bd4a93f62a5085da"
+  integrity sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==
+
+colors@1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz#c50491479d4c1bdaed2c9ced32cf7c7dc2360f78"
+  integrity sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==
+
+colorspace@1.1.x:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz#8d442d1186152f60453bf8070cd66eb364e59243"
+  integrity sha512-BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==
+  dependencies:
+    color "^3.1.3"
+    text-hex "1.0.x"
+
+commander@^8.2.0:
+  version "8.3.0"
+  resolved "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz#4837ea1b2da67b9c616a67afbb0fafee567bca66"
+  integrity sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==
+
+comment-parser@1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.2.4.tgz#489f3ee55dfd184a6e4bffb31baba284453cb760"
+  integrity sha512-pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==
+
+comment-parser@1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.0.tgz#68beb7dbe0849295309b376406730cd16c719c44"
+  integrity sha512-hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==
+
+compare-versions@^3.6.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz#1a5689913685e5a87637b8d3ffca75514ec41d62"
+  integrity sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==
+
+concat-map@0.0.1:
+  version "0.0.1"
+  resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
+  integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=
+
+console-control-strings@^1.0.0, console-control-strings@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz#3d7cf4464db6446ea644bf4b39507f9851008e8e"
+  integrity sha1-PXz0Rk22RG6mRL9LOVB/mFEAjo4=
+
+content-disposition@0.5.4:
+  version "0.5.4"
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+  integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
+  dependencies:
+    safe-buffer "5.2.1"
+
+content-type@~1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz#e138cc75e040c727b1966fe5e5f8c9aee256fe3b"
+  integrity sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==
+
+cookie-signature@1.0.6:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
+  integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
+
+cookie@0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
+  integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
+
+core-util-is@~1.0.0:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85"
+  integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==
+
+cosmiconfig@^7.0.0, cosmiconfig@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz#714d756522cace867867ccb4474c5d01bbae5d6d"
+  integrity sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==
+  dependencies:
+    "@types/parse-json" "^4.0.0"
+    import-fresh "^3.2.1"
+    parse-json "^5.0.0"
+    path-type "^4.0.0"
+    yaml "^1.10.0"
+
+cross-env@7.0.3:
+  version "7.0.3"
+  resolved "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz#865264b29677dc015ba8418918965dd232fc54cf"
+  integrity sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==
+  dependencies:
+    cross-spawn "^7.0.1"
+
+cross-fetch@3.1.5:
+  version "3.1.5"
+  resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f"
+  integrity sha512-lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==
+  dependencies:
+    node-fetch "2.6.7"
+
+cross-spawn@^7.0.1, cross-spawn@^7.0.2, cross-spawn@^7.0.3:
+  version "7.0.3"
+  resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz#f73a85b9d5d41d045551c177e2882d4ac85728a6"
+  integrity sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==
+  dependencies:
+    path-key "^3.1.0"
+    shebang-command "^2.0.0"
+    which "^2.0.1"
+
+debug@2.6.9:
+  version "2.6.9"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f"
+  integrity sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==
+  dependencies:
+    ms "2.0.0"
+
+debug@4, debug@4.3.3, debug@^4.0.1, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3:
+  version "4.3.3"
+  resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664"
+  integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==
+  dependencies:
+    ms "2.1.2"
+
+decompress-response@^4.2.0:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz#414023cc7a302da25ce2ec82d0d5238ccafd8986"
+  integrity sha512-jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==
+  dependencies:
+    mimic-response "^2.0.0"
+
+decompress-response@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
+  integrity sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==
+  dependencies:
+    mimic-response "^3.1.0"
+
+deep-extend@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz#c4fa7c95404a17a9c3e8ca7e1537312b736330ac"
+  integrity sha512-LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==
+
+deep-is@^0.1.3, deep-is@~0.1.3:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831"
+  integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==
+
+define-properties@^1.1.3:
+  version "1.1.3"
+  resolved "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz#cf88da6cbee26fe6db7094f61d870cbd84cee9f1"
+  integrity sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==
+  dependencies:
+    object-keys "^1.0.12"
+
+delegates@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz#84c6e159b81904fdca59a0ef44cd870d31250f9a"
+  integrity sha1-hMbhWbgZBP3KWaDvRM2HDTElD5o=
+
+depd@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz#9bcd52e14c097763e749b274c4346ed2e560b5a9"
+  integrity sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=
+
+depd@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz#b696163cc757560d09cf22cc8fad1571b79e76df"
+  integrity sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==
+
+destroy@~1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
+  integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
+
+detect-libc@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
+  integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
+
+detect-libc@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.0.tgz#c528bc09bc6d1aa30149228240917c225448f204"
+  integrity sha512-S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==
+
+devtools-protocol@0.0.960912:
+  version "0.0.960912"
+  resolved "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.960912.tgz#411c1fa355eddb72f06c4a8743f2808766db6245"
+  integrity sha512-I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg==
+
+dir-glob@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz#56dbf73d992a4a93ba1584f4534063fd2e41717f"
+  integrity sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==
+  dependencies:
+    path-type "^4.0.0"
+
+doctrine@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz#5cd01fc101621b42c4cd7f5d1a66243716d3f39d"
+  integrity sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==
+  dependencies:
+    esutils "^2.0.2"
+
+doctrine@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz#addebead72a6574db783639dc87a121773973961"
+  integrity sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==
+  dependencies:
+    esutils "^2.0.2"
+
+duplexer@~0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
+  integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
+
+ee-first@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
+  integrity sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=
+
+emoji-regex@^8.0.0:
+  version "8.0.0"
+  resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+  integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
+enabled@2.0.x:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz#f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2"
+  integrity sha512-AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==
+
+encodeurl@~1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59"
+  integrity sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=
+
+end-of-stream@^1.1.0, end-of-stream@^1.4.1:
+  version "1.4.4"
+  resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0"
+  integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==
+  dependencies:
+    once "^1.4.0"
+
+enquirer@^2.3.5, enquirer@^2.3.6:
+  version "2.3.6"
+  resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d"
+  integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==
+  dependencies:
+    ansi-colors "^4.1.1"
+
+error-ex@^1.3.1:
+  version "1.3.2"
+  resolved "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz#b4ac40648107fdcdcfae242f428bea8a14d4f1bf"
+  integrity sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==
+  dependencies:
+    is-arrayish "^0.2.1"
+
+es-abstract@^1.19.0, es-abstract@^1.19.1:
+  version "1.19.1"
+  resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz#d4885796876916959de78edaa0df456627115ec3"
+  integrity sha512-2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==
+  dependencies:
+    call-bind "^1.0.2"
+    es-to-primitive "^1.2.1"
+    function-bind "^1.1.1"
+    get-intrinsic "^1.1.1"
+    get-symbol-description "^1.0.0"
+    has "^1.0.3"
+    has-symbols "^1.0.2"
+    internal-slot "^1.0.3"
+    is-callable "^1.2.4"
+    is-negative-zero "^2.0.1"
+    is-regex "^1.1.4"
+    is-shared-array-buffer "^1.0.1"
+    is-string "^1.0.7"
+    is-weakref "^1.0.1"
+    object-inspect "^1.11.0"
+    object-keys "^1.1.1"
+    object.assign "^4.1.2"
+    string.prototype.trimend "^1.0.4"
+    string.prototype.trimstart "^1.0.4"
+    unbox-primitive "^1.0.1"
+
+es-to-primitive@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz#e55cd4c9cdc188bcefb03b366c736323fc5c898a"
+  integrity sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==
+  dependencies:
+    is-callable "^1.1.4"
+    is-date-object "^1.0.1"
+    is-symbol "^1.0.2"
+
+escalade@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz#d8cfdc7000965c5a0174b4a82eaa5c0552742e40"
+  integrity sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==
+
+escape-html@~1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz#0258eae4d3d0c0974de1c169188ef0051d1d1988"
+  integrity sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=
+
+escape-string-regexp@^1.0.5:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
+  integrity sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=
+
+escape-string-regexp@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz#14ba83a5d373e3d311e5afca29cf5bfad965bf34"
+  integrity sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==
+
+escodegen@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz#5e32b12833e8aa8fa35e1bf0befa89380484c7dd"
+  integrity sha512-mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==
+  dependencies:
+    esprima "^4.0.1"
+    estraverse "^5.2.0"
+    esutils "^2.0.2"
+    optionator "^0.8.1"
+  optionalDependencies:
+    source-map "~0.6.1"
+
+eslint-config-prettier@8.3.0, eslint-config-prettier@^8.3.0:
+  version "8.3.0"
+  resolved "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz#f7471b20b6fe8a9a9254cc684454202886a2dd7a"
+  integrity sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==
+
+eslint-plugin-jsdoc@37.7.0:
+  version "37.7.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.7.0.tgz#975d9f18cb0520dde7a2b0db5f4421dfee3fdd17"
+  integrity sha512-vzy3/ltXoGtabRnjLogaEmhGxxIv5B8HK5MJLIrdxFJUvhBppZjuVuLr71DjIBi0jg6bFomwkYKjojt29cN8PA==
+  dependencies:
+    "@es-joy/jsdoccomment" "~0.18.0"
+    comment-parser "1.3.0"
+    debug "^4.3.3"
+    escape-string-regexp "^4.0.0"
+    esquery "^1.4.0"
+    regextras "^0.8.0"
+    semver "^7.3.5"
+    spdx-expression-parse "^3.0.1"
+
+eslint-plugin-jsdoc@^36.1.0:
+  version "36.1.1"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.1.tgz#124cd0e53a5d07f01ebde916a96dd1a6009625d6"
+  integrity sha512-nuLDvH1EJaKx0PCa9oeQIxH6pACIhZd1gkalTUxZbaxxwokjs7TplqY0Q8Ew3CoZaf5aowm0g/Z3JGHCatt+gQ==
+  dependencies:
+    "@es-joy/jsdoccomment" "0.10.8"
+    comment-parser "1.2.4"
+    debug "^4.3.2"
+    esquery "^1.4.0"
+    jsdoc-type-pratt-parser "^1.1.1"
+    lodash "^4.17.21"
+    regextras "^0.8.0"
+    semver "^7.3.5"
+    spdx-expression-parse "^3.0.1"
+
+eslint-plugin-prettier@4.0.0, eslint-plugin-prettier@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz#8b99d1e4b8b24a762472b4567992023619cb98e0"
+  integrity sha512-98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==
+  dependencies:
+    prettier-linter-helpers "^1.0.0"
+
+eslint-plugin-react-hooks@4.3.0, eslint-plugin-react-hooks@^4.2.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172"
+  integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==
+
+eslint-plugin-react@7.28.0, eslint-plugin-react@^7.26.1:
+  version "7.28.0"
+  resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf"
+  integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==
+  dependencies:
+    array-includes "^3.1.4"
+    array.prototype.flatmap "^1.2.5"
+    doctrine "^2.1.0"
+    estraverse "^5.3.0"
+    jsx-ast-utils "^2.4.1 || ^3.0.0"
+    minimatch "^3.0.4"
+    object.entries "^1.1.5"
+    object.fromentries "^2.0.5"
+    object.hasown "^1.1.0"
+    object.values "^1.1.5"
+    prop-types "^15.7.2"
+    resolve "^2.0.0-next.3"
+    semver "^6.3.0"
+    string.prototype.matchall "^4.0.6"
+
+eslint-scope@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c"
+  integrity sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==
+  dependencies:
+    esrecurse "^4.3.0"
+    estraverse "^4.1.1"
+
+eslint-utils@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27"
+  integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==
+  dependencies:
+    eslint-visitor-keys "^1.1.0"
+
+eslint-utils@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672"
+  integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==
+  dependencies:
+    eslint-visitor-keys "^2.0.0"
+
+eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e"
+  integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==
+
+eslint-visitor-keys@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303"
+  integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==
+
+eslint-visitor-keys@^3.0.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz#6fbb166a6798ee5991358bc2daa1ba76cc1254a1"
+  integrity sha512-IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==
+
+eslint@7.28.0:
+  version "7.28.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz#435aa17a0b82c13bb2be9d51408b617e49c1e820"
+  integrity sha512-UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==
+  dependencies:
+    "@babel/code-frame" "7.12.11"
+    "@eslint/eslintrc" "^0.4.2"
+    ajv "^6.10.0"
+    chalk "^4.0.0"
+    cross-spawn "^7.0.2"
+    debug "^4.0.1"
+    doctrine "^3.0.0"
+    enquirer "^2.3.5"
+    escape-string-regexp "^4.0.0"
+    eslint-scope "^5.1.1"
+    eslint-utils "^2.1.0"
+    eslint-visitor-keys "^2.0.0"
+    espree "^7.3.1"
+    esquery "^1.4.0"
+    esutils "^2.0.2"
+    fast-deep-equal "^3.1.3"
+    file-entry-cache "^6.0.1"
+    functional-red-black-tree "^1.0.1"
+    glob-parent "^5.1.2"
+    globals "^13.6.0"
+    ignore "^4.0.6"
+    import-fresh "^3.0.0"
+    imurmurhash "^0.1.4"
+    is-glob "^4.0.0"
+    js-yaml "^3.13.1"
+    json-stable-stringify-without-jsonify "^1.0.1"
+    levn "^0.4.1"
+    lodash.merge "^4.6.2"
+    minimatch "^3.0.4"
+    natural-compare "^1.4.0"
+    optionator "^0.9.1"
+    progress "^2.0.0"
+    regexpp "^3.1.0"
+    semver "^7.2.1"
+    strip-ansi "^6.0.0"
+    strip-json-comments "^3.1.0"
+    table "^6.0.9"
+    text-table "^0.2.0"
+    v8-compile-cache "^2.0.3"
+
+eslint@^7.32.0:
+  version "7.32.0"
+  resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d"
+  integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==
+  dependencies:
+    "@babel/code-frame" "7.12.11"
+    "@eslint/eslintrc" "^0.4.3"
+    "@humanwhocodes/config-array" "^0.5.0"
+    ajv "^6.10.0"
+    chalk "^4.0.0"
+    cross-spawn "^7.0.2"
+    debug "^4.0.1"
+    doctrine "^3.0.0"
+    enquirer "^2.3.5"
+    escape-string-regexp "^4.0.0"
+    eslint-scope "^5.1.1"
+    eslint-utils "^2.1.0"
+    eslint-visitor-keys "^2.0.0"
+    espree "^7.3.1"
+    esquery "^1.4.0"
+    esutils "^2.0.2"
+    fast-deep-equal "^3.1.3"
+    file-entry-cache "^6.0.1"
+    functional-red-black-tree "^1.0.1"
+    glob-parent "^5.1.2"
+    globals "^13.6.0"
+    ignore "^4.0.6"
+    import-fresh "^3.0.0"
+    imurmurhash "^0.1.4"
+    is-glob "^4.0.0"
+    js-yaml "^3.13.1"
+    json-stable-stringify-without-jsonify "^1.0.1"
+    levn "^0.4.1"
+    lodash.merge "^4.6.2"
+    minimatch "^3.0.4"
+    natural-compare "^1.4.0"
+    optionator "^0.9.1"
+    progress "^2.0.0"
+    regexpp "^3.1.0"
+    semver "^7.2.1"
+    strip-ansi "^6.0.0"
+    strip-json-comments "^3.1.0"
+    table "^6.0.9"
+    text-table "^0.2.0"
+    v8-compile-cache "^2.0.3"
+
+espree@^7.3.0, espree@^7.3.1:
+  version "7.3.1"
+  resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6"
+  integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==
+  dependencies:
+    acorn "^7.4.0"
+    acorn-jsx "^5.3.1"
+    eslint-visitor-keys "^1.3.0"
+
+esprima@^4.0.0, esprima@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71"
+  integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
+
+esquery@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz#2148ffc38b82e8c7057dfed48425b3e61f0f24a5"
+  integrity sha512-cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==
+  dependencies:
+    estraverse "^5.1.0"
+
+esrecurse@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz#7ad7964d679abb28bee72cec63758b1c5d2c9921"
+  integrity sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==
+  dependencies:
+    estraverse "^5.2.0"
+
+estraverse@^4.1.1:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d"
+  integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==
+
+estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0:
+  version "5.3.0"
+  resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123"
+  integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==
+
+esutils@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64"
+  integrity sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==
+
+etag@~1.8.1:
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz#41ae2eeb65efa62268aebfea83ac7d79299b0887"
+  integrity sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=
+
+event-stream@=3.3.4:
+  version "3.3.4"
+  resolved "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz#4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571"
+  integrity sha1-SrTJoPWlTbkzi0w02Gv86PSzVXE=
+  dependencies:
+    duplexer "~0.1.1"
+    from "~0"
+    map-stream "~0.1.0"
+    pause-stream "0.0.11"
+    split "0.3"
+    stream-combiner "~0.0.4"
+    through "~2.3.1"
+
+execa@^5.1.1:
+  version "5.1.1"
+  resolved "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz#f80ad9cbf4298f7bd1d4c9555c21e93741c411dd"
+  integrity sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==
+  dependencies:
+    cross-spawn "^7.0.3"
+    get-stream "^6.0.0"
+    human-signals "^2.1.0"
+    is-stream "^2.0.0"
+    merge-stream "^2.0.0"
+    npm-run-path "^4.0.1"
+    onetime "^5.1.2"
+    signal-exit "^3.0.3"
+    strip-final-newline "^2.0.0"
+
+expand-template@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz#6e14b3fcee0f3a6340ecb57d2e8918692052a47c"
+  integrity sha512-XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==
+
+express-prom-bundle@^5.1.5:
+  version "5.1.5"
+  resolved "https://registry.yarnpkg.com/express-prom-bundle/-/express-prom-bundle-5.1.5.tgz#f298615879299a58cf8ec1350186f4de91d91fa4"
+  integrity sha512-tUaQUBu0r9zGYcVDpKBI2AeWimuuodaC5BSBkzLPQxRTxaKQShQNnONQSYwjLxbHfPwlCKVZlzfbB9Recnj0Vg==
+  dependencies:
+    on-finished "^2.3.0"
+    url-value-parser "^2.0.0"
+
+express@^4.16.3:
+  version "4.17.2"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3"
+  integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==
+  dependencies:
+    accepts "~1.3.7"
+    array-flatten "1.1.1"
+    body-parser "1.19.1"
+    content-disposition "0.5.4"
+    content-type "~1.0.4"
+    cookie "0.4.1"
+    cookie-signature "1.0.6"
+    debug "2.6.9"
+    depd "~1.1.2"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    finalhandler "~1.1.2"
+    fresh "0.5.2"
+    merge-descriptors "1.0.1"
+    methods "~1.1.2"
+    on-finished "~2.3.0"
+    parseurl "~1.3.3"
+    path-to-regexp "0.1.7"
+    proxy-addr "~2.0.7"
+    qs "6.9.6"
+    range-parser "~1.2.1"
+    safe-buffer "5.2.1"
+    send "0.17.2"
+    serve-static "1.14.2"
+    setprototypeof "1.2.0"
+    statuses "~1.5.0"
+    type-is "~1.6.18"
+    utils-merge "1.0.1"
+    vary "~1.1.2"
+
+extract-zip@2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz#663dca56fe46df890d5f131ef4a06d22bb8ba13a"
+  integrity sha512-GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==
+  dependencies:
+    debug "^4.1.1"
+    get-stream "^5.1.0"
+    yauzl "^2.10.0"
+  optionalDependencies:
+    "@types/yauzl" "^2.9.1"
+
+fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525"
+  integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+
+fast-diff@^1.1.2:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz#73ee11982d86caaf7959828d519cfe927fac5f03"
+  integrity sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==
+
+fast-glob@^3.2.9:
+  version "3.2.11"
+  resolved "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz#a1172ad95ceb8a16e20caa5c5e56480e5129c1d9"
+  integrity sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==
+  dependencies:
+    "@nodelib/fs.stat" "^2.0.2"
+    "@nodelib/fs.walk" "^1.2.3"
+    glob-parent "^5.1.2"
+    merge2 "^1.3.0"
+    micromatch "^4.0.4"
+
+fast-json-stable-stringify@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+  integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
+
+fast-levenshtein@^2.0.6, fast-levenshtein@~2.0.6:
+  version "2.0.6"
+  resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
+  integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
+
+fastq@^1.6.0:
+  version "1.13.0"
+  resolved "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz#616760f88a7526bdfc596b7cab8c18938c36b98c"
+  integrity sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==
+  dependencies:
+    reusify "^1.0.4"
+
+fd-slicer@~1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz#25c7c89cb1f9077f8891bbe61d8f390eae256f1e"
+  integrity sha1-JcfInLH5B3+IkbvmHY85Dq4lbx4=
+  dependencies:
+    pend "~1.2.0"
+
+fecha@^4.2.0:
+  version "4.2.1"
+  resolved "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz#0a83ad8f86ef62a091e22bb5a039cd03d23eecce"
+  integrity sha512-MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==
+
+file-entry-cache@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz#211b2dd9659cb0394b073e7323ac3c933d522027"
+  integrity sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==
+  dependencies:
+    flat-cache "^3.0.4"
+
+fill-range@^7.0.1:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz#1919a6a7c75fe38b2c7c77e5198535da9acdda40"
+  integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==
+  dependencies:
+    to-regex-range "^5.0.1"
+
+finalhandler@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz#b7e7d000ffd11938d0fdb053506f6ebabe9f587d"
+  integrity sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==
+  dependencies:
+    debug "2.6.9"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    on-finished "~2.3.0"
+    parseurl "~1.3.3"
+    statuses "~1.5.0"
+    unpipe "~1.0.0"
+
+find-up@^4.0.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz#97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19"
+  integrity sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==
+  dependencies:
+    locate-path "^5.0.0"
+    path-exists "^4.0.0"
+
+find-up@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz#4c92819ecb7083561e4f4a240a86be5198f536fc"
+  integrity sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==
+  dependencies:
+    locate-path "^6.0.0"
+    path-exists "^4.0.0"
+
+find-versions@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz#3c57e573bf97769b8cb8df16934b627915da4965"
+  integrity sha512-wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==
+  dependencies:
+    semver-regex "^3.1.2"
+
+flat-cache@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz#61b0338302b2fe9f957dcc32fc2a87f1c3048b11"
+  integrity sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==
+  dependencies:
+    flatted "^3.1.0"
+    rimraf "^3.0.2"
+
+flatted@^3.1.0:
+  version "3.2.5"
+  resolved "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz#76c8584f4fc843db64702a6bd04ab7a8bd666da3"
+  integrity sha512-WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==
+
+fn.name@1.x.x:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc"
+  integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==
+
+forwarded@0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz#2269936428aad4c15c7ebe9779a84bf0b2a81811"
+  integrity sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==
+
+fresh@0.5.2:
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz#3d8cadd90d976569fa835ab1f8e4b23a105605a7"
+  integrity sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=
+
+from2@^2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz#8bfb5502bde4a4d36cfdeea007fcca21d7e382af"
+  integrity sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=
+  dependencies:
+    inherits "^2.0.1"
+    readable-stream "^2.0.0"
+
+from@~0:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz#83c60afc58b9c56997007ed1a768b3ab303a44fe"
+  integrity sha1-g8YK/Fi5xWmXAH7Rp2izqzA6RP4=
+
+fs-constants@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad"
+  integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==
+
+fs-extra@^9.1.0:
+  version "9.1.0"
+  resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz#5954460c764a8da2094ba3554bf839e6b9a7c86d"
+  integrity sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==
+  dependencies:
+    at-least-node "^1.0.0"
+    graceful-fs "^4.2.0"
+    jsonfile "^6.0.1"
+    universalify "^2.0.0"
+
+fs.realpath@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz#1504ad2523158caa40db4a2787cb01411994ea4f"
+  integrity sha1-FQStJSMVjKpA20onh8sBQRmU6k8=
+
+fsevents@~2.3.2:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz#8a526f78b8fdf4623b709e0b975c52c24c02fd1a"
+  integrity sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==
+
+function-bind@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz#a56899d3ea3c9bab874bb9773b7c5ede92f4895d"
+  integrity sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==
+
+functional-red-black-tree@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz#1b0ab3bd553b2a0d6399d29c0e3ea0b252078327"
+  integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
+
+gauge@~2.7.3:
+  version "2.7.4"
+  resolved "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz#2c03405c7538c39d7eb37b317022e325fb018bf7"
+  integrity sha1-LANAXHU4w51+s3sxcCLjJfsBi/c=
+  dependencies:
+    aproba "^1.0.3"
+    console-control-strings "^1.0.0"
+    has-unicode "^2.0.0"
+    object-assign "^4.1.0"
+    signal-exit "^3.0.0"
+    string-width "^1.0.1"
+    strip-ansi "^3.0.1"
+    wide-align "^1.1.0"
+
+get-caller-file@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e"
+  integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==
+
+get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz#15f59f376f855c446963948f0d24cd3637b4abc6"
+  integrity sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==
+  dependencies:
+    function-bind "^1.1.1"
+    has "^1.0.3"
+    has-symbols "^1.0.1"
+
+get-own-enumerable-property-symbols@^3.0.0:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz#b5fde77f22cbe35f390b4e089922c50bce6ef664"
+  integrity sha512-I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==
+
+get-stream@^5.1.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz#4966a1795ee5ace65e706c4b7beb71257d6e22d3"
+  integrity sha512-nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==
+  dependencies:
+    pump "^3.0.0"
+
+get-stream@^6.0.0:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz#a262d8eef67aced57c2852ad6167526a43cbf7b7"
+  integrity sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==
+
+get-symbol-description@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz#7fdb81c900101fbd564dd5f1a30af5aadc1e58d6"
+  integrity sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==
+  dependencies:
+    call-bind "^1.0.2"
+    get-intrinsic "^1.1.1"
+
+github-from-package@0.0.0:
+  version "0.0.0"
+  resolved "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz#97fb5d96bfde8973313f20e8288ef9a167fa64ce"
+  integrity sha1-l/tdlr/eiXMxPyDoKI75oWf6ZM4=
+
+glob-parent@^5.1.2, glob-parent@~5.1.2:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz#869832c58034fe68a4093c17dc15e8340d8401c4"
+  integrity sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==
+  dependencies:
+    is-glob "^4.0.1"
+
+glob@^7.1.3:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023"
+  integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==
+  dependencies:
+    fs.realpath "^1.0.0"
+    inflight "^1.0.4"
+    inherits "2"
+    minimatch "^3.0.4"
+    once "^1.3.0"
+    path-is-absolute "^1.0.0"
+
+globals@^13.6.0, globals@^13.9.0:
+  version "13.12.0"
+  resolved "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz#4d733760304230a0082ed96e21e5c565f898089e"
+  integrity sha512-uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==
+  dependencies:
+    type-fest "^0.20.2"
+
+globby@^11.0.3, globby@^11.0.4:
+  version "11.1.0"
+  resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b"
+  integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==
+  dependencies:
+    array-union "^2.1.0"
+    dir-glob "^3.0.1"
+    fast-glob "^3.2.9"
+    ignore "^5.2.0"
+    merge2 "^1.4.1"
+    slash "^3.0.0"
+
+google-protobuf@3.5.0:
+  version "3.5.0"
+  resolved "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.5.0.tgz#b8cc63c74d83457bd8a9a904503c8efb26bca339"
+  integrity sha1-uMxjx02DRXvYqakEUDyO+ya8ozk=
+
+graceful-fs@^4.1.6, graceful-fs@^4.2.0:
+  version "4.2.9"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
+
+has-bigints@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz#64fe6acb020673e3b78db035a5af69aa9d07b113"
+  integrity sha512-LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==
+
+has-flag@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
+  integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+
+has-flag@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+  integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
+has-symbols@^1.0.1, has-symbols@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz#165d3070c00309752a1236a479331e3ac56f1423"
+  integrity sha512-chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==
+
+has-tostringtag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz#7e133818a7d394734f941e73c3d3f9291e658b25"
+  integrity sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==
+  dependencies:
+    has-symbols "^1.0.2"
+
+has-unicode@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz#e0e6fe6a28cf51138855e086d1691e771de2a8b9"
+  integrity sha1-4Ob+aijPUROIVeCG0Wkedx3iqLk=
+
+has@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz#722d7cbfc1f6aa8241f16dd814e011e1f41e8796"
+  integrity sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==
+  dependencies:
+    function-bind "^1.1.1"
+
+http-errors@1.8.1:
+  version "1.8.1"
+  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
+  integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
+  dependencies:
+    depd "~1.1.2"
+    inherits "2.0.4"
+    setprototypeof "1.2.0"
+    statuses ">= 1.5.0 < 2"
+    toidentifier "1.0.1"
+
+https-proxy-agent@5.0.0, https-proxy-agent@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz#e2a90542abb68a762e0a0850f6c9edadfd8506b2"
+  integrity sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==
+  dependencies:
+    agent-base "6"
+    debug "4"
+
+human-signals@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0"
+  integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==
+
+husky@^4.3.8:
+  version "4.3.8"
+  resolved "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz#31144060be963fd6850e5cc8f019a1dfe194296d"
+  integrity sha512-LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==
+  dependencies:
+    chalk "^4.0.0"
+    ci-info "^2.0.0"
+    compare-versions "^3.6.0"
+    cosmiconfig "^7.0.0"
+    find-versions "^4.0.0"
+    opencollective-postinstall "^2.0.2"
+    pkg-dir "^5.0.0"
+    please-upgrade-node "^3.2.0"
+    slash "^3.0.0"
+    which-pm-runs "^1.0.0"
+
+iconv-lite@0.4.24:
+  version "0.4.24"
+  resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
+  integrity sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==
+  dependencies:
+    safer-buffer ">= 2.1.2 < 3"
+
+ieee754@^1.1.13:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352"
+  integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
+
+ignore@^4.0.6:
+  version "4.0.6"
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc"
+  integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
+
+ignore@^5.1.8, ignore@^5.2.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a"
+  integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==
+
+import-fresh@^3.0.0, import-fresh@^3.2.1:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz#37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b"
+  integrity sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==
+  dependencies:
+    parent-module "^1.0.0"
+    resolve-from "^4.0.0"
+
+imurmurhash@^0.1.4:
+  version "0.1.4"
+  resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea"
+  integrity sha1-khi5srkoojixPcT7a21XbyMUU+o=
+
+indent-string@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz#624f8f4497d619b2d9768531d58f4122854d7251"
+  integrity sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==
+
+inflight@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz#49bd6331d7d02d0c09bc910a1075ba8165b56df9"
+  integrity sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=
+  dependencies:
+    once "^1.3.0"
+    wrappy "1"
+
+inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, inherits@~2.0.3:
+  version "2.0.4"
+  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
+  integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
+
+ini@~1.3.0:
+  version "1.3.8"
+  resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
+  integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==
+
+internal-slot@^1.0.3:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz#7347e307deeea2faac2ac6205d4bc7d34967f59c"
+  integrity sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==
+  dependencies:
+    get-intrinsic "^1.1.0"
+    has "^1.0.3"
+    side-channel "^1.0.4"
+
+into-stream@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/into-stream/-/into-stream-6.0.0.tgz#4bfc1244c0128224e18b8870e85b2de8e66c6702"
+  integrity sha512-XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==
+  dependencies:
+    from2 "^2.3.0"
+    p-is-promise "^3.0.0"
+
+ipaddr.js@1.9.1:
+  version "1.9.1"
+  resolved "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz#bff38543eeb8984825079ff3a2a8e6cbd46781b3"
+  integrity sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==
+
+is-arrayish@^0.2.1:
+  version "0.2.1"
+  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz#77c99840527aa8ecb1a8ba697b80645a7a926a9d"
+  integrity sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=
+
+is-arrayish@^0.3.1:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz#4574a2ae56f7ab206896fb431eaeed066fdf8f03"
+  integrity sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==
+
+is-bigint@^1.0.1:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz#08147a1875bc2b32005d41ccd8291dffc6691df3"
+  integrity sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==
+  dependencies:
+    has-bigints "^1.0.1"
+
+is-binary-path@~2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz#ea1f7f3b80f064236e83470f86c09c254fb45b09"
+  integrity sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==
+  dependencies:
+    binary-extensions "^2.0.0"
+
+is-boolean-object@^1.1.0:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz#5c6dc200246dd9321ae4b885a114bb1f75f63719"
+  integrity sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==
+  dependencies:
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
+
+is-callable@^1.1.4, is-callable@^1.2.4:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz#47301d58dd0259407865547853df6d61fe471945"
+  integrity sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==
+
+is-core-module@^2.2.0, is-core-module@^2.8.1:
+  version "2.8.1"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
+  integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
+  dependencies:
+    has "^1.0.3"
+
+is-date-object@^1.0.1:
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz#0841d5536e724c25597bf6ea62e1bd38298df31f"
+  integrity sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-extglob@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2"
+  integrity sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=
+
+is-fullwidth-code-point@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz#ef9e31386f031a7f0d643af82fde50c457ef00cb"
+  integrity sha1-754xOG8DGn8NZDr4L95QxFfvAMs=
+  dependencies:
+    number-is-nan "^1.0.0"
+
+is-fullwidth-code-point@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+  integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
+is-glob@^4.0.0, is-glob@^4.0.1, is-glob@^4.0.3, is-glob@~4.0.1:
+  version "4.0.3"
+  resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz#64f61e42cbbb2eec2071a9dac0b28ba1e65d5084"
+  integrity sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==
+  dependencies:
+    is-extglob "^2.1.1"
+
+is-negative-zero@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz#7bf6f03a28003b8b3965de3ac26f664d765f3150"
+  integrity sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==
+
+is-number-object@^1.0.4:
+  version "1.0.6"
+  resolved "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz#6a7aaf838c7f0686a50b4553f7e54a96494e89f0"
+  integrity sha512-bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-number@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz#7535345b896734d5f80c4d06c50955527a14f12b"
+  integrity sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==
+
+is-obj@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f"
+  integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8=
+
+is-regex@^1.1.4:
+  version "1.1.4"
+  resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz#eef5663cd59fa4c0ae339505323df6854bb15958"
+  integrity sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==
+  dependencies:
+    call-bind "^1.0.2"
+    has-tostringtag "^1.0.0"
+
+is-regexp@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz#fd2d883545c46bac5a633e7b9a09e87fa2cb5069"
+  integrity sha1-/S2INUXEa6xaYz57mgnof6LLUGk=
+
+is-shared-array-buffer@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6"
+  integrity sha512-IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==
+
+is-stream@^2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz#fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077"
+  integrity sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==
+
+is-string@^1.0.5, is-string@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz#0dd12bf2006f255bb58f695110eff7491eebc0fd"
+  integrity sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==
+  dependencies:
+    has-tostringtag "^1.0.0"
+
+is-symbol@^1.0.2, is-symbol@^1.0.3:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz#a6dac93b635b063ca6872236de88910a57af139c"
+  integrity sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==
+  dependencies:
+    has-symbols "^1.0.2"
+
+is-weakref@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz#9529f383a9338205e89765e0392efc2f100f06f2"
+  integrity sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==
+  dependencies:
+    call-bind "^1.0.2"
+
+isarray@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz#bb935d48582cba168c06834957a54a3e07124f11"
+  integrity sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=
+
+isexe@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10"
+  integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=
+
+"js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499"
+  integrity sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==
+
+js-yaml@^3.13.1:
+  version "3.14.1"
+  resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537"
+  integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==
+  dependencies:
+    argparse "^1.0.7"
+    esprima "^4.0.0"
+
+jsdoc-type-pratt-parser@1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz#10fe5e409ba38de22a48b555598955a26ff0160f"
+  integrity sha512-uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==
+
+jsdoc-type-pratt-parser@^1.1.1:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz#3482a3833b74a88c95a6ba7253f0c0de3b77b9f5"
+  integrity sha512-4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg==
+
+jsdoc-type-pratt-parser@~2.2.2:
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.2.tgz#a85e407ac502b444dc23333aa4d6d0dc83f76187"
+  integrity sha512-zRokSWcPLSWkoNzsWn9pq7YYSwDhKyEe+cJYT2qaPqLOOJb5sFSi46BPj81vP+e8chvCNdQL9RG86Bi9EI6MDw==
+
+json-parse-even-better-errors@^2.3.0:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz#7c47805a94319928e05777405dc12e1f7a4ee02d"
+  integrity sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==
+
+json-schema-traverse@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660"
+  integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==
+
+json-schema-traverse@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2"
+  integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==
+
+json-stable-stringify-without-jsonify@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz#9db7b59496ad3f3cfef30a75142d2d930ad72651"
+  integrity sha1-nbe1lJatPzz+8wp1FC0tkwrXJlE=
+
+jsonfile@^6.0.1:
+  version "6.1.0"
+  resolved "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz#bc55b2634793c679ec6403094eb13698a6ec0aae"
+  integrity sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==
+  dependencies:
+    universalify "^2.0.0"
+  optionalDependencies:
+    graceful-fs "^4.1.6"
+
+"jsx-ast-utils@^2.4.1 || ^3.0.0":
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b"
+  integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==
+  dependencies:
+    array-includes "^3.1.3"
+    object.assign "^4.1.2"
+
+kuler@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz#e2c570a3800388fb44407e851531c1d670b061b3"
+  integrity sha512-Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==
+
+levn@^0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz#ae4562c007473b932a6200d403268dd2fffc6ade"
+  integrity sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==
+  dependencies:
+    prelude-ls "^1.2.1"
+    type-check "~0.4.0"
+
+levn@~0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz#3b09924edf9f083c0490fdd4c0bc4421e04764ee"
+  integrity sha1-OwmSTt+fCDwEkP3UwLxEIeBHZO4=
+  dependencies:
+    prelude-ls "~1.1.2"
+    type-check "~0.3.2"
+
+lines-and-columns@^1.1.6:
+  version "1.2.4"
+  resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
+  integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+
+lint-staged@^11.2.0:
+  version "11.2.6"
+  resolved "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.2.6.tgz#f477b1af0294db054e5937f171679df63baa4c43"
+  integrity sha512-Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==
+  dependencies:
+    cli-truncate "2.1.0"
+    colorette "^1.4.0"
+    commander "^8.2.0"
+    cosmiconfig "^7.0.1"
+    debug "^4.3.2"
+    enquirer "^2.3.6"
+    execa "^5.1.1"
+    listr2 "^3.12.2"
+    micromatch "^4.0.4"
+    normalize-path "^3.0.0"
+    please-upgrade-node "^3.2.0"
+    string-argv "0.3.1"
+    stringify-object "3.3.0"
+    supports-color "8.1.1"
+
+listr2@^3.12.2:
+  version "3.14.0"
+  resolved "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz#23101cc62e1375fd5836b248276d1d2b51fdbe9e"
+  integrity sha512-TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==
+  dependencies:
+    cli-truncate "^2.1.0"
+    colorette "^2.0.16"
+    log-update "^4.0.0"
+    p-map "^4.0.0"
+    rfdc "^1.3.0"
+    rxjs "^7.5.1"
+    through "^2.3.8"
+    wrap-ansi "^7.0.0"
+
+locate-path@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz#1afba396afd676a6d42504d0a67a3a7eb9f62aa0"
+  integrity sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==
+  dependencies:
+    p-locate "^4.1.0"
+
+locate-path@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz#55321eb309febbc59c4801d931a72452a681d286"
+  integrity sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==
+  dependencies:
+    p-locate "^5.0.0"
+
+lodash.camelcase@^4.3.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz#b28aa6288a2b9fc651035c7711f65ab6190331a6"
+  integrity sha1-soqmKIorn8ZRA1x3EfZathkDMaY=
+
+lodash.merge@^4.6.2:
+  version "4.6.2"
+  resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a"
+  integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==
+
+lodash.truncate@^4.4.2:
+  version "4.4.2"
+  resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193"
+  integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM=
+
+lodash@^4.17.21:
+  version "4.17.21"
+  resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c"
+  integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==
+
+log-update@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz#589ecd352471f2a1c0c570287543a64dfd20e0a1"
+  integrity sha512-9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==
+  dependencies:
+    ansi-escapes "^4.3.0"
+    cli-cursor "^3.1.0"
+    slice-ansi "^4.0.0"
+    wrap-ansi "^6.2.0"
+
+logform@^2.3.2:
+  version "2.3.2"
+  resolved "https://registry.yarnpkg.com/logform/-/logform-2.3.2.tgz#68babe6a74ab09a1fd15a9b1e6cbc7713d41cb5b"
+  integrity sha512-V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==
+  dependencies:
+    colors "1.4.0"
+    fecha "^4.2.0"
+    ms "^2.1.1"
+    safe-stable-stringify "^1.1.0"
+    triple-beam "^1.3.0"
+
+long@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz#9a7b71cfb7d361a194ea555241c92f7468d5bf28"
+  integrity sha512-XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==
+
+loose-envify@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz#71ee51fa7be4caec1a63839f7e682d8132d30caf"
+  integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==
+  dependencies:
+    js-tokens "^3.0.0 || ^4.0.0"
+
+lru-cache@^6.0.0:
+  version "6.0.0"
+  resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz#6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94"
+  integrity sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==
+  dependencies:
+    yallist "^4.0.0"
+
+map-stream@~0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz#e56aa94c4c8055a16404a0674b78f215f7c8e194"
+  integrity sha1-5WqpTEyAVaFkBKBnS3jyFffI4ZQ=
+
+media-typer@0.3.0:
+  version "0.3.0"
+  resolved "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz#8710d7af0aa626f8fffa1ce00168545263255748"
+  integrity sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=
+
+merge-descriptors@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61"
+  integrity sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=
+
+merge-stream@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz#52823629a14dd00c9770fb6ad47dc6310f2c1f60"
+  integrity sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==
+
+merge2@^1.3.0, merge2@^1.4.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz#4368892f885e907455a6fd7dc55c0c9d404990ae"
+  integrity sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==
+
+methods@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee"
+  integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=
+
+micromatch@^4.0.4:
+  version "4.0.4"
+  resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz#896d519dfe9db25fce94ceb7a500919bf881ebf9"
+  integrity sha512-pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==
+  dependencies:
+    braces "^3.0.1"
+    picomatch "^2.2.3"
+
+mime-db@1.51.0:
+  version "1.51.0"
+  resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
+  integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
+
+mime-types@~2.1.24:
+  version "2.1.34"
+  resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
+  integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
+  dependencies:
+    mime-db "1.51.0"
+
+mime@1.6.0:
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz#32cd9e5c64553bd58d19a568af452acff04981b1"
+  integrity sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==
+
+mimic-fn@^2.1.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+  integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
+
+mimic-response@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz#d13763d35f613d09ec37ebb30bac0469c0ee8f43"
+  integrity sha512-wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==
+
+mimic-response@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz#2d1d59af9c1b129815accc2c46a022a5ce1fa3c9"
+  integrity sha512-z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==
+
+minimatch@^3.0.4:
+  version "3.0.4"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
+  integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+  dependencies:
+    brace-expansion "^1.1.7"
+
+minimist@^1.2.0, minimist@^1.2.3, minimist@^1.2.5:
+  version "1.2.5"
+  resolved "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz#67d66014b66a6a8aaa0c083c5fd58df4e4e97602"
+  integrity sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==
+
+mkdirp-classic@^0.5.2, mkdirp-classic@^0.5.3:
+  version "0.5.3"
+  resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113"
+  integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==
+
+morgan@^1.9.0:
+  version "1.10.0"
+  resolved "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz#091778abc1fc47cd3509824653dae1faab6b17d7"
+  integrity sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==
+  dependencies:
+    basic-auth "~2.0.1"
+    debug "2.6.9"
+    depd "~2.0.0"
+    on-finished "~2.3.0"
+    on-headers "~1.0.2"
+
+ms@2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
+  integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
+
+ms@2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
+  integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
+
+ms@2.1.3, ms@^2.1.1:
+  version "2.1.3"
+  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
+  integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
+
+multistream@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8"
+  integrity sha512-J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==
+  dependencies:
+    once "^1.4.0"
+    readable-stream "^3.6.0"
+
+napi-build-utils@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz#b1fddc0b2c46e380a0b7a76f984dd47c41a13806"
+  integrity sha512-ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==
+
+natural-compare@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz#4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7"
+  integrity sha1-Sr6/7tdUHywnrPspvbvRXI1bpPc=
+
+negotiator@0.6.2:
+  version "0.6.2"
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
+  integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+
+node-abi@^2.21.0:
+  version "2.30.1"
+  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz#c437d4b1fe0e285aaf290d45b45d4d7afedac4cf"
+  integrity sha512-/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==
+  dependencies:
+    semver "^5.4.1"
+
+node-abi@^3.3.0:
+  version "3.7.0"
+  resolved "https://registry.yarnpkg.com/node-abi/-/node-abi-3.7.0.tgz#ed980f6dbb6db9ff3b31aeb27d43cd9b096f6e9e"
+  integrity sha512-3J+U4CvxVNEk9+lGdJkmYbN8cIN0HMTDT9R0ezX7pmp7aD6BaKsfAHwVn3IvVg6pYIRUuQ+gHW1eawrvywnSQQ==
+  dependencies:
+    semver "^7.3.5"
+
+node-addon-api@^4.2.0:
+  version "4.3.0"
+  resolved "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz#52a1a0b475193e0928e98e0426a0d1254782b77f"
+  integrity sha512-73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==
+
+node-cleanup@^2.1.2:
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz#7ac19abd297e09a7f72a71545d951b517e4dde2c"
+  integrity sha1-esGavSl+Caf3KnFUXZUbUX5N3iw=
+
+node-fetch@2.6.7, node-fetch@^2.6.6:
+  version "2.6.7"
+  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
+  integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
+  dependencies:
+    whatwg-url "^5.0.0"
+
+normalize-path@^3.0.0, normalize-path@~3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz#0dcd69ff23a1c9b11fd0978316644a0388216a65"
+  integrity sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==
+
+npm-run-path@^4.0.1:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz#b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea"
+  integrity sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==
+  dependencies:
+    path-key "^3.0.0"
+
+npmlog@^4.0.1:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz#08a7f2a8bf734604779a9efa4ad5cc717abb954b"
+  integrity sha512-2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==
+  dependencies:
+    are-we-there-yet "~1.1.2"
+    console-control-strings "~1.1.0"
+    gauge "~2.7.3"
+    set-blocking "~2.0.0"
+
+number-is-nan@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d"
+  integrity sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=
+
+object-assign@^4.1.0, object-assign@^4.1.1:
+  version "4.1.1"
+  resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz#2109adc7965887cfc05cbbd442cac8bfbb360863"
+  integrity sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=
+
+object-inspect@^1.11.0, object-inspect@^1.9.0:
+  version "1.12.0"
+  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0"
+  integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
+
+object-keys@^1.0.12, object-keys@^1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz#1c47f272df277f3b1daf061677d9c82e2322c60e"
+  integrity sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==
+
+object.assign@^4.1.2:
+  version "4.1.2"
+  resolved "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz#0ed54a342eceb37b38ff76eb831a0e788cb63940"
+  integrity sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==
+  dependencies:
+    call-bind "^1.0.0"
+    define-properties "^1.1.3"
+    has-symbols "^1.0.1"
+    object-keys "^1.1.1"
+
+object.entries@^1.1.5:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861"
+  integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+    es-abstract "^1.19.1"
+
+object.fromentries@^2.0.5:
+  version "2.0.5"
+  resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251"
+  integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+    es-abstract "^1.19.1"
+
+object.hasown@^1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5"
+  integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==
+  dependencies:
+    define-properties "^1.1.3"
+    es-abstract "^1.19.1"
+
+object.values@^1.1.5:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac"
+  integrity sha512-QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+    es-abstract "^1.19.1"
+
+on-finished@^2.3.0, on-finished@~2.3.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz#20f1336481b083cd75337992a16971aa2d906947"
+  integrity sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=
+  dependencies:
+    ee-first "1.1.1"
+
+on-headers@~1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz#772b0ae6aaa525c399e489adfad90c403eb3c28f"
+  integrity sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==
+
+once@^1.3.0, once@^1.3.1, once@^1.4.0:
+  version "1.4.0"
+  resolved "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz#583b1aa775961d4b113ac17d9c50baef9dd76bd1"
+  integrity sha1-WDsap3WWHUsROsF9nFC6753Xa9E=
+  dependencies:
+    wrappy "1"
+
+one-time@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz#e06bc174aed214ed58edede573b433bbf827cb45"
+  integrity sha512-5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==
+  dependencies:
+    fn.name "1.x.x"
+
+onetime@^5.1.0, onetime@^5.1.2:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz#d0e96ebb56b07476df1dd9c4806e5237985ca45e"
+  integrity sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==
+  dependencies:
+    mimic-fn "^2.1.0"
+
+opencollective-postinstall@^2.0.2:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz#7a0fff978f6dbfa4d006238fbac98ed4198c3259"
+  integrity sha512-8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==
+
+optionator@^0.8.1:
+  version "0.8.3"
+  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
+  integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
+  dependencies:
+    deep-is "~0.1.3"
+    fast-levenshtein "~2.0.6"
+    levn "~0.3.0"
+    prelude-ls "~1.1.2"
+    type-check "~0.3.2"
+    word-wrap "~1.2.3"
+
+optionator@^0.9.1:
+  version "0.9.1"
+  resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz#4f236a6373dae0566a6d43e1326674f50c291499"
+  integrity sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==
+  dependencies:
+    deep-is "^0.1.3"
+    fast-levenshtein "^2.0.6"
+    levn "^0.4.1"
+    prelude-ls "^1.2.1"
+    type-check "^0.4.0"
+    word-wrap "^1.2.3"
+
+p-is-promise@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz#58e78c7dfe2e163cf2a04ff869e7c1dba64a5971"
+  integrity sha512-Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==
+
+p-limit@^2.2.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz#3dd33c647a214fdfffd835933eb086da0dc21db1"
+  integrity sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==
+  dependencies:
+    p-try "^2.0.0"
+
+p-limit@^3.0.2:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz#e1daccbe78d0d1388ca18c64fea38e3e57e3706b"
+  integrity sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==
+  dependencies:
+    yocto-queue "^0.1.0"
+
+p-locate@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz#a3428bb7088b3a60292f66919278b7c297ad4f07"
+  integrity sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==
+  dependencies:
+    p-limit "^2.2.0"
+
+p-locate@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz#83c8315c6785005e3bd021839411c9e110e6d834"
+  integrity sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==
+  dependencies:
+    p-limit "^3.0.2"
+
+p-map@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz#bb2f95a5eda2ec168ec9274e06a747c3e2904d2b"
+  integrity sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==
+  dependencies:
+    aggregate-error "^3.0.0"
+
+p-try@^2.0.0:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6"
+  integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==
+
+parent-module@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz#691d2709e78c79fae3a156622452d00762caaaa2"
+  integrity sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==
+  dependencies:
+    callsites "^3.0.0"
+
+parse-json@^5.0.0:
+  version "5.2.0"
+  resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd"
+  integrity sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==
+  dependencies:
+    "@babel/code-frame" "^7.0.0"
+    error-ex "^1.3.1"
+    json-parse-even-better-errors "^2.3.0"
+    lines-and-columns "^1.1.6"
+
+parseurl@~1.3.3:
+  version "1.3.3"
+  resolved "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz#9da19e7bee8d12dff0513ed5b76957793bc2e8d4"
+  integrity sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==
+
+path-exists@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz#513bdbe2d3b95d7762e8c1137efa195c6c61b5b3"
+  integrity sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==
+
+path-is-absolute@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
+  integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
+
+path-key@^3.0.0, path-key@^3.1.0:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375"
+  integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==
+
+path-parse@^1.0.6, path-parse@^1.0.7:
+  version "1.0.7"
+  resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
+  integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
+
+path-to-regexp@0.1.7:
+  version "0.1.7"
+  resolved "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c"
+  integrity sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=
+
+path-type@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b"
+  integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==
+
+pause-stream@0.0.11:
+  version "0.0.11"
+  resolved "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz#fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445"
+  integrity sha1-/lo0sMvOErWqaitAPuLnO2AvFEU=
+  dependencies:
+    through "~2.3"
+
+pend@~1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50"
+  integrity sha1-elfrVQpng/kRUzH89GY9XI4AelA=
+
+picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
+
+pkg-dir@4.2.0:
+  version "4.2.0"
+  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz#f099133df7ede422e81d1d8448270eeb3e4261f3"
+  integrity sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==
+  dependencies:
+    find-up "^4.0.0"
+
+pkg-dir@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz#a02d6aebe6ba133a928f74aec20bafdfe6b8e760"
+  integrity sha512-NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==
+  dependencies:
+    find-up "^5.0.0"
+
+pkg-fetch@3.2.6:
+  version "3.2.6"
+  resolved "https://registry.yarnpkg.com/pkg-fetch/-/pkg-fetch-3.2.6.tgz#8473e1da5763522c4c3c051917db7274b75836fa"
+  integrity sha512-Q8fx6SIT022g0cdSE4Axv/xpfHeltspo2gg1KsWRinLQZOTRRAtOOaEFghA1F3jJ8FVsh8hGrL/Pb6Ea5XHIFw==
+  dependencies:
+    chalk "^4.1.2"
+    fs-extra "^9.1.0"
+    https-proxy-agent "^5.0.0"
+    node-fetch "^2.6.6"
+    progress "^2.0.3"
+    semver "^7.3.5"
+    tar-fs "^2.1.1"
+    yargs "^16.2.0"
+
+pkg@5.5.2:
+  version "5.5.2"
+  resolved "https://registry.yarnpkg.com/pkg/-/pkg-5.5.2.tgz#c21ca9b5cb48feceb3b158c17df855ada350086d"
+  integrity sha512-pD0UB2ud01C6pVv2wpGsTYJrXI/bnvGRYvMLd44wFzA1p+A2jrlTGFPAYa7YEYzmitXhx23PqalaG1eUEnSwcA==
+  dependencies:
+    "@babel/parser" "7.16.2"
+    "@babel/types" "7.16.0"
+    chalk "^4.1.2"
+    escodegen "^2.0.0"
+    fs-extra "^9.1.0"
+    globby "^11.0.4"
+    into-stream "^6.0.0"
+    minimist "^1.2.5"
+    multistream "^4.1.0"
+    pkg-fetch "3.2.6"
+    prebuild-install "6.1.4"
+    progress "^2.0.3"
+    resolve "^1.20.0"
+    stream-meter "^1.0.4"
+    tslib "2.3.1"
+
+please-upgrade-node@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz#aeddd3f994c933e4ad98b99d9a556efa0e2fe942"
+  integrity sha512-gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==
+  dependencies:
+    semver-compare "^1.0.0"
+
+poolpeteer@^0.22.0:
+  version "0.22.20"
+  resolved "https://registry.yarnpkg.com/poolpeteer/-/poolpeteer-0.22.20.tgz#0079b8bb96b6d576379ebdfcfe5291ca7cd79430"
+  integrity sha512-+bEpQoW5YpmZ3fUEhdL9tcgYVULHc5ylI140QDka1F4a6ew9Jv3bWHpkgrR5OLeEbHdfSdJZOXIysna3GgRkIw==
+  dependencies:
+    debug "^4.1.1"
+
+prebuild-install@6.1.4:
+  version "6.1.4"
+  resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz#ae3c0142ad611d58570b89af4986088a4937e00f"
+  integrity sha512-Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==
+  dependencies:
+    detect-libc "^1.0.3"
+    expand-template "^2.0.3"
+    github-from-package "0.0.0"
+    minimist "^1.2.3"
+    mkdirp-classic "^0.5.3"
+    napi-build-utils "^1.0.1"
+    node-abi "^2.21.0"
+    npmlog "^4.0.1"
+    pump "^3.0.0"
+    rc "^1.2.7"
+    simple-get "^3.0.3"
+    tar-fs "^2.0.0"
+    tunnel-agent "^0.6.0"
+
+prebuild-install@^7.0.0:
+  version "7.0.1"
+  resolved "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz#c10075727c318efe72412f333e0ef625beaf3870"
+  integrity sha512-QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==
+  dependencies:
+    detect-libc "^2.0.0"
+    expand-template "^2.0.3"
+    github-from-package "0.0.0"
+    minimist "^1.2.3"
+    mkdirp-classic "^0.5.3"
+    napi-build-utils "^1.0.1"
+    node-abi "^3.3.0"
+    npmlog "^4.0.1"
+    pump "^3.0.0"
+    rc "^1.2.7"
+    simple-get "^4.0.0"
+    tar-fs "^2.0.0"
+    tunnel-agent "^0.6.0"
+
+prelude-ls@^1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396"
+  integrity sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==
+
+prelude-ls@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54"
+  integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=
+
+prettier-linter-helpers@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz#d23d41fe1375646de2d0104d3454a3008802cf7b"
+  integrity sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==
+  dependencies:
+    fast-diff "^1.1.2"
+
+prettier@2.2.1:
+  version "2.2.1"
+  resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz#795a1a78dd52f073da0cd42b21f9c91381923ff5"
+  integrity sha512-PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==
+
+prettier@2.5.1:
+  version "2.5.1"
+  resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a"
+  integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==
+
+process-nextick-args@~2.0.0:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2"
+  integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==
+
+progress@2.0.3, progress@^2.0.0, progress@^2.0.3:
+  version "2.0.3"
+  resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8"
+  integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==
+
+prom-client@^11.5.3:
+  version "11.5.3"
+  resolved "https://registry.yarnpkg.com/prom-client/-/prom-client-11.5.3.tgz#5fedfce1083bac6c2b223738e966d0e1643756f8"
+  integrity sha512-iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==
+  dependencies:
+    tdigest "^0.1.1"
+
+prop-types@^15.7.2:
+  version "15.8.1"
+  resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5"
+  integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==
+  dependencies:
+    loose-envify "^1.4.0"
+    object-assign "^4.1.1"
+    react-is "^16.13.1"
+
+protobufjs@^6.10.0, protobufjs@^6.8.6:
+  version "6.11.2"
+  resolved "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz#de39fabd4ed32beaa08e9bb1e30d08544c1edf8b"
+  integrity sha512-4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==
+  dependencies:
+    "@protobufjs/aspromise" "^1.1.2"
+    "@protobufjs/base64" "^1.1.2"
+    "@protobufjs/codegen" "^2.0.4"
+    "@protobufjs/eventemitter" "^1.1.0"
+    "@protobufjs/fetch" "^1.1.0"
+    "@protobufjs/float" "^1.0.2"
+    "@protobufjs/inquire" "^1.1.0"
+    "@protobufjs/path" "^1.1.2"
+    "@protobufjs/pool" "^1.1.0"
+    "@protobufjs/utf8" "^1.1.0"
+    "@types/long" "^4.0.1"
+    "@types/node" ">=13.7.0"
+    long "^4.0.0"
+
+proxy-addr@~2.0.7:
+  version "2.0.7"
+  resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
+  integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
+  dependencies:
+    forwarded "0.2.0"
+    ipaddr.js "1.9.1"
+
+proxy-from-env@1.1.0:
+  version "1.1.0"
+  resolved "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz#e102f16ca355424865755d2c9e8ea4f24d58c3e2"
+  integrity sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==
+
+ps-tree@^1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz#5e7425b89508736cdd4f2224d028f7bb3f722ebd"
+  integrity sha512-0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==
+  dependencies:
+    event-stream "=3.3.4"
+
+pump@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz#b4a2116815bde2f4e1ea602354e8c75565107a64"
+  integrity sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==
+  dependencies:
+    end-of-stream "^1.1.0"
+    once "^1.3.1"
+
+punycode@^2.1.0:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz#b58b010ac40c22c5657616c8d2c2c02c7bf479ec"
+  integrity sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==
+
+puppeteer-cluster@^0.22.0:
+  version "0.22.0"
+  resolved "https://registry.yarnpkg.com/puppeteer-cluster/-/puppeteer-cluster-0.22.0.tgz#4ab214671f414f15ad6a94a4b61ed0b4172e86e6"
+  integrity sha512-hmydtMwfVM+idFIDzS8OXetnujHGre7RY3BGL+3njy9+r8Dcu3VALkZHfuBEPf6byKssTCgzxU1BvLczifXd5w==
+  dependencies:
+    debug "^4.1.1"
+
+puppeteer@^13.1.3:
+  version "13.3.2"
+  resolved "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.2.tgz#4ff1cf6e2009df29fd80038bc702dc067776f79d"
+  integrity sha512-TIt8/R0eaUwY1c0/O0sCJpSglvGEWVoWFfGZ2dNtxX3eHuBo1ln9abaWfxTjZfsrkYATLSs8oqEdRZpMNnCsvg==
+  dependencies:
+    cross-fetch "3.1.5"
+    debug "4.3.3"
+    devtools-protocol "0.0.960912"
+    extract-zip "2.0.1"
+    https-proxy-agent "5.0.0"
+    pkg-dir "4.2.0"
+    progress "2.0.3"
+    proxy-from-env "1.1.0"
+    rimraf "3.0.2"
+    tar-fs "2.1.1"
+    unbzip2-stream "1.4.3"
+    ws "8.5.0"
+
+qs@6.9.6:
+  version "6.9.6"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
+  integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
+
+queue-microtask@^1.2.2:
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243"
+  integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==
+
+range-parser@~1.2.1:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
+  integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
+
+raw-body@2.4.2:
+  version "2.4.2"
+  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32"
+  integrity sha512-RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==
+  dependencies:
+    bytes "3.1.1"
+    http-errors "1.8.1"
+    iconv-lite "0.4.24"
+    unpipe "1.0.0"
+
+rc@^1.2.7:
+  version "1.2.8"
+  resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed"
+  integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==
+  dependencies:
+    deep-extend "^0.6.0"
+    ini "~1.3.0"
+    minimist "^1.2.0"
+    strip-json-comments "~2.0.1"
+
+react-is@^16.13.1:
+  version "16.13.1"
+  resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4"
+  integrity sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==
+
+readable-stream@^2.0.0, readable-stream@^2.0.6, readable-stream@^2.1.4:
+  version "2.3.7"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57"
+  integrity sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==
+  dependencies:
+    core-util-is "~1.0.0"
+    inherits "~2.0.3"
+    isarray "~1.0.0"
+    process-nextick-args "~2.0.0"
+    safe-buffer "~5.1.1"
+    string_decoder "~1.1.1"
+    util-deprecate "~1.0.1"
+
+readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
+  integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
+  dependencies:
+    inherits "^2.0.3"
+    string_decoder "^1.1.1"
+    util-deprecate "^1.0.1"
+
+readdirp@~3.6.0:
+  version "3.6.0"
+  resolved "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7"
+  integrity sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==
+  dependencies:
+    picomatch "^2.2.1"
+
+regexp.prototype.flags@^1.3.1:
+  version "1.4.1"
+  resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307"
+  integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+
+regexpp@^3.1.0, regexpp@^3.2.0:
+  version "3.2.0"
+  resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2"
+  integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==
+
+regextras@^0.8.0:
+  version "0.8.0"
+  resolved "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz#ec0f99853d4912839321172f608b544814b02217"
+  integrity sha512-k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==
+
+require-directory@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42"
+  integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I=
+
+require-from-string@^2.0.2:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909"
+  integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==
+
+resolve-from@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
+  integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
+
+resolve@^1.20.0:
+  version "1.22.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
+  integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
+  dependencies:
+    is-core-module "^2.8.1"
+    path-parse "^1.0.7"
+    supports-preserve-symlinks-flag "^1.0.0"
+
+resolve@^2.0.0-next.3:
+  version "2.0.0-next.3"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46"
+  integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==
+  dependencies:
+    is-core-module "^2.2.0"
+    path-parse "^1.0.6"
+
+restore-cursor@^3.1.0:
+  version "3.1.0"
+  resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+  integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
+  dependencies:
+    onetime "^5.1.0"
+    signal-exit "^3.0.2"
+
+reusify@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76"
+  integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==
+
+rfdc@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz#d0b7c441ab2720d05dc4cf26e01c89631d9da08b"
+  integrity sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==
+
+rimraf@3.0.2, rimraf@^3.0.2:
+  version "3.0.2"
+  resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a"
+  integrity sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==
+  dependencies:
+    glob "^7.1.3"
+
+run-parallel@^1.1.9:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee"
+  integrity sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==
+  dependencies:
+    queue-microtask "^1.2.2"
+
+rxjs@^7.5.1:
+  version "7.5.2"
+  resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz#11e4a3a1dfad85dbf7fb6e33cbba17668497490b"
+  integrity sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==
+  dependencies:
+    tslib "^2.1.0"
+
+safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
+  version "5.1.2"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
+  integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
+
+safe-buffer@5.2.1, safe-buffer@^5.0.1, safe-buffer@~5.2.0:
+  version "5.2.1"
+  resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
+  integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
+
+safe-stable-stringify@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz#c8a220ab525cd94e60ebf47ddc404d610dc5d84a"
+  integrity sha512-ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==
+
+safe-stable-stringify@^2.3.1:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz#ab67cbe1fe7d40603ca641c5e765cb942d04fc73"
+  integrity sha512-kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==
+
+"safer-buffer@>= 2.1.2 < 3":
+  version "2.1.2"
+  resolved "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz#44fa161b0187b9549dd84bb91802f9bd8385cd6a"
+  integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==
+
+semver-compare@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz#0dee216a1c941ab37e9efb1788f6afc5ff5537fc"
+  integrity sha1-De4hahyUGrN+nvsXiPavxf9VN/w=
+
+semver-regex@^3.1.2:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz#b2bcc6f97f63269f286994e297e229b6245d0dc3"
+  integrity sha512-Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==
+
+semver@^5.4.1:
+  version "5.7.1"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7"
+  integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==
+
+semver@^6.3.0:
+  version "6.3.0"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
+  integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
+
+semver@^7.2.1, semver@^7.3.5:
+  version "7.3.5"
+  resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7"
+  integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==
+  dependencies:
+    lru-cache "^6.0.0"
+
+send@0.17.2:
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
+  integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
+  dependencies:
+    debug "2.6.9"
+    depd "~1.1.2"
+    destroy "~1.0.4"
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    etag "~1.8.1"
+    fresh "0.5.2"
+    http-errors "1.8.1"
+    mime "1.6.0"
+    ms "2.1.3"
+    on-finished "~2.3.0"
+    range-parser "~1.2.1"
+    statuses "~1.5.0"
+
+serve-static@1.14.2:
+  version "1.14.2"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa"
+  integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==
+  dependencies:
+    encodeurl "~1.0.2"
+    escape-html "~1.0.3"
+    parseurl "~1.3.3"
+    send "0.17.2"
+
+set-blocking@~2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz#045f9782d011ae9a6803ddd382b24392b3d890f7"
+  integrity sha1-BF+XgtARrppoA93TgrJDkrPYkPc=
+
+setprototypeof@1.2.0:
+  version "1.2.0"
+  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
+  integrity sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==
+
+sharp@0.29.3:
+  version "0.29.3"
+  resolved "https://registry.yarnpkg.com/sharp/-/sharp-0.29.3.tgz#0da183d626094c974516a48fab9b3e4ba92eb5c2"
+  integrity sha512-fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==
+  dependencies:
+    color "^4.0.1"
+    detect-libc "^1.0.3"
+    node-addon-api "^4.2.0"
+    prebuild-install "^7.0.0"
+    semver "^7.3.5"
+    simple-get "^4.0.0"
+    tar-fs "^2.1.1"
+    tunnel-agent "^0.6.0"
+
+shebang-command@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz#ccd0af4f8835fbdc265b82461aaf0c36663f34ea"
+  integrity sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==
+  dependencies:
+    shebang-regex "^3.0.0"
+
+shebang-regex@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz#ae16f1644d873ecad843b0307b143362d4c42172"
+  integrity sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==
+
+side-channel@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf"
+  integrity sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==
+  dependencies:
+    call-bind "^1.0.0"
+    get-intrinsic "^1.0.2"
+    object-inspect "^1.9.0"
+
+signal-exit@^3.0.0, signal-exit@^3.0.2, signal-exit@^3.0.3:
+  version "3.0.6"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
+  integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
+
+simple-concat@^1.0.0:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz#f46976082ba35c2263f1c8ab5edfe26c41c9552f"
+  integrity sha512-cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==
+
+simple-get@^3.0.3:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz#cc7ba77cfbe761036fbfce3d021af25fc5584d55"
+  integrity sha512-CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==
+  dependencies:
+    decompress-response "^4.2.0"
+    once "^1.3.1"
+    simple-concat "^1.0.0"
+
+simple-get@^4.0.0:
+  version "4.0.1"
+  resolved "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz#4a39db549287c979d352112fa03fd99fd6bc3543"
+  integrity sha512-brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==
+  dependencies:
+    decompress-response "^6.0.0"
+    once "^1.3.1"
+    simple-concat "^1.0.0"
+
+simple-swizzle@^0.2.2:
+  version "0.2.2"
+  resolved "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz#a4da6b635ffcccca33f70d17cb92592de95e557a"
+  integrity sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=
+  dependencies:
+    is-arrayish "^0.3.1"
+
+slash@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634"
+  integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==
+
+slice-ansi@^3.0.0:
+  version "3.0.0"
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz#31ddc10930a1b7e0b67b08c96c2f49b77a789787"
+  integrity sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==
+  dependencies:
+    ansi-styles "^4.0.0"
+    astral-regex "^2.0.0"
+    is-fullwidth-code-point "^3.0.0"
+
+slice-ansi@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b"
+  integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==
+  dependencies:
+    ansi-styles "^4.0.0"
+    astral-regex "^2.0.0"
+    is-fullwidth-code-point "^3.0.0"
+
+source-map@~0.6.1:
+  version "0.6.1"
+  resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz#74722af32e9614e9c287a8d0bbde48b5e2f1a263"
+  integrity sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==
+
+spdx-exceptions@^2.1.0:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz#3f28ce1a77a00372683eade4a433183527a2163d"
+  integrity sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==
+
+spdx-expression-parse@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz#cf70f50482eefdc98e3ce0a6833e4a53ceeba679"
+  integrity sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==
+  dependencies:
+    spdx-exceptions "^2.1.0"
+    spdx-license-ids "^3.0.0"
+
+spdx-license-ids@^3.0.0:
+  version "3.0.11"
+  resolved "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz#50c0d8c40a14ec1bf449bae69a0ea4685a9d9f95"
+  integrity sha512-Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==
+
+split@0.3:
+  version "0.3.3"
+  resolved "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz#cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f"
+  integrity sha1-zQ7qXmOiEd//frDwkcQTPi0N0o8=
+  dependencies:
+    through "2"
+
+sprintf-js@~1.0.2:
+  version "1.0.3"
+  resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
+  integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
+
+stack-trace@0.0.x:
+  version "0.0.10"
+  resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0"
+  integrity sha1-VHxws0fo0ytOEI6hoqFZ5f3eGcA=
+
+"statuses@>= 1.5.0 < 2", statuses@~1.5.0:
+  version "1.5.0"
+  resolved "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz#161c7dac177659fd9811f43771fa99381478628c"
+  integrity sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=
+
+stream-combiner@~0.0.4:
+  version "0.0.4"
+  resolved "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz#4d5e433c185261dde623ca3f44c586bcf5c4ad14"
+  integrity sha1-TV5DPBhSYd3mI8o/RMWGvPXErRQ=
+  dependencies:
+    duplexer "~0.1.1"
+
+stream-meter@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/stream-meter/-/stream-meter-1.0.4.tgz#52af95aa5ea760a2491716704dbff90f73afdd1d"
+  integrity sha1-Uq+Vql6nYKJJFxZwTb/5D3Ov3R0=
+  dependencies:
+    readable-stream "^2.1.4"
+
+string-argv@0.3.1:
+  version "0.3.1"
+  resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz#95e2fbec0427ae19184935f816d74aaa4c5c19da"
+  integrity sha512-a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==
+
+string-argv@^0.1.1:
+  version "0.1.2"
+  resolved "https://registry.yarnpkg.com/string-argv/-/string-argv-0.1.2.tgz#c5b7bc03fb2b11983ba3a72333dd0559e77e4738"
+  integrity sha512-mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==
+
+string-width@^1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz#118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3"
+  integrity sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=
+  dependencies:
+    code-point-at "^1.0.0"
+    is-fullwidth-code-point "^1.0.0"
+    strip-ansi "^3.0.0"
+
+"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3:
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010"
+  integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==
+  dependencies:
+    emoji-regex "^8.0.0"
+    is-fullwidth-code-point "^3.0.0"
+    strip-ansi "^6.0.1"
+
+string.prototype.matchall@^4.0.6:
+  version "4.0.6"
+  resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa"
+  integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+    es-abstract "^1.19.1"
+    get-intrinsic "^1.1.1"
+    has-symbols "^1.0.2"
+    internal-slot "^1.0.3"
+    regexp.prototype.flags "^1.3.1"
+    side-channel "^1.0.4"
+
+string.prototype.trimend@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz#e75ae90c2942c63504686c18b287b4a0b1a45f80"
+  integrity sha512-y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+
+string.prototype.trimstart@^1.0.4:
+  version "1.0.4"
+  resolved "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz#b36399af4ab2999b4c9c648bd7a3fb2bb26feeed"
+  integrity sha512-jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==
+  dependencies:
+    call-bind "^1.0.2"
+    define-properties "^1.1.3"
+
+string_decoder@^1.1.1:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e"
+  integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==
+  dependencies:
+    safe-buffer "~5.2.0"
+
+string_decoder@~1.1.1:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8"
+  integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==
+  dependencies:
+    safe-buffer "~5.1.0"
+
+stringify-object@3.3.0:
+  version "3.3.0"
+  resolved "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz#703065aefca19300d3ce88af4f5b3956d7556629"
+  integrity sha512-rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==
+  dependencies:
+    get-own-enumerable-property-symbols "^3.0.0"
+    is-obj "^1.0.1"
+    is-regexp "^1.0.0"
+
+strip-ansi@^3.0.0, strip-ansi@^3.0.1:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz#6a385fb8853d952d5ff05d0e8aaf94278dc63dcf"
+  integrity sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=
+  dependencies:
+    ansi-regex "^2.0.0"
+
+strip-ansi@^6.0.0, strip-ansi@^6.0.1:
+  version "6.0.1"
+  resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9"
+  integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==
+  dependencies:
+    ansi-regex "^5.0.1"
+
+strip-final-newline@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz#89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad"
+  integrity sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==
+
+strip-json-comments@^3.1.0, strip-json-comments@^3.1.1:
+  version "3.1.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz#31f1281b3832630434831c310c01cccda8cbe006"
+  integrity sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==
+
+strip-json-comments@~2.0.1:
+  version "2.0.1"
+  resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz#3c531942e908c2697c0ec344858c286c7ca0a60a"
+  integrity sha1-PFMZQukIwml8DsNEhYwobHygpgo=
+
+supports-color@8.1.1:
+  version "8.1.1"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz#cd6fc17e28500cff56c1b86c0a7fd4a54a73005c"
+  integrity sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==
+  dependencies:
+    has-flag "^4.0.0"
+
+supports-color@^5.3.0:
+  version "5.5.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz#e2e69a44ac8772f78a1ec0b35b689df6530efc8f"
+  integrity sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==
+  dependencies:
+    has-flag "^3.0.0"
+
+supports-color@^7.1.0:
+  version "7.2.0"
+  resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz#1b7dcdcb32b8138801b3e478ba6a51caa89648da"
+  integrity sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==
+  dependencies:
+    has-flag "^4.0.0"
+
+supports-preserve-symlinks-flag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
+table@^6.0.9:
+  version "6.8.0"
+  resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca"
+  integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==
+  dependencies:
+    ajv "^8.0.1"
+    lodash.truncate "^4.4.2"
+    slice-ansi "^4.0.0"
+    string-width "^4.2.3"
+    strip-ansi "^6.0.1"
+
+tar-fs@2.1.1, tar-fs@^2.0.0, tar-fs@^2.1.1:
+  version "2.1.1"
+  resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784"
+  integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==
+  dependencies:
+    chownr "^1.1.1"
+    mkdirp-classic "^0.5.2"
+    pump "^3.0.0"
+    tar-stream "^2.1.4"
+
+tar-stream@^2.1.4:
+  version "2.2.0"
+  resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287"
+  integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==
+  dependencies:
+    bl "^4.0.3"
+    end-of-stream "^1.4.1"
+    fs-constants "^1.0.0"
+    inherits "^2.0.3"
+    readable-stream "^3.1.1"
+
+tdigest@^0.1.1:
+  version "0.1.1"
+  resolved "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.1.tgz#2e3cb2c39ea449e55d1e6cd91117accca4588021"
+  integrity sha1-Ljyyw56kSeVdHmzZEReszKRYgCE=
+  dependencies:
+    bintrees "1.0.1"
+
+text-hex@1.0.x:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz#69dc9c1b17446ee79a92bf5b884bb4b9127506f5"
+  integrity sha512-uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==
+
+text-table@^0.2.0:
+  version "0.2.0"
+  resolved "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz#7f5ee823ae805207c00af2df4a84ec3fcfa570b4"
+  integrity sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=
+
+through@2, through@^2.3.8, through@~2.3, through@~2.3.1:
+  version "2.3.8"
+  resolved "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz#0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5"
+  integrity sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=
+
+to-fast-properties@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e"
+  integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=
+
+to-regex-range@^5.0.1:
+  version "5.0.1"
+  resolved "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz#1648c44aae7c8d988a326018ed72f5b4dd0392e4"
+  integrity sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==
+  dependencies:
+    is-number "^7.0.0"
+
+toidentifier@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
+  integrity sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==
+
+tr46@~0.0.3:
+  version "0.0.3"
+  resolved "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz#8184fd347dac9cdc185992f3a6622e14b9d9ab6a"
+  integrity sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=
+
+triple-beam@^1.2.0, triple-beam@^1.3.0:
+  version "1.3.0"
+  resolved "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz#a595214c7298db8339eeeee083e4d10bd8cb8dd9"
+  integrity sha512-XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==
+
+tsc-watch@^4.2.3:
+  version "4.6.0"
+  resolved "https://registry.yarnpkg.com/tsc-watch/-/tsc-watch-4.6.0.tgz#a0eba1300cbe3048ab6d3a3e06de47141b613beb"
+  integrity sha512-DRMADjFe44EDWb+YMIOj4b83UrU6le27L3/o0/9FlmA01ikFd5Dl9RD5h1hpeh0mQdIqXvwfHZszCcjhH3bAmQ==
+  dependencies:
+    cross-spawn "^7.0.3"
+    node-cleanup "^2.1.2"
+    ps-tree "^1.2.0"
+    string-argv "^0.1.1"
+    strip-ansi "^6.0.0"
+
+tslib@2.3.1, tslib@^2.1.0:
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz#e8a335add5ceae51aa261d32a490158ef042ef01"
+  integrity sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==
+
+tslib@^1.8.1:
+  version "1.14.1"
+  resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00"
+  integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==
+
+tsutils@^3.21.0:
+  version "3.21.0"
+  resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623"
+  integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==
+  dependencies:
+    tslib "^1.8.1"
+
+tunnel-agent@^0.6.0:
+  version "0.6.0"
+  resolved "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz#27a5dea06b36b04a0a9966774b290868f0fc40fd"
+  integrity sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=
+  dependencies:
+    safe-buffer "^5.0.1"
+
+type-check@^0.4.0, type-check@~0.4.0:
+  version "0.4.0"
+  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1"
+  integrity sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==
+  dependencies:
+    prelude-ls "^1.2.1"
+
+type-check@~0.3.2:
+  version "0.3.2"
+  resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz#5884cab512cf1d355e3fb784f30804b2b520db72"
+  integrity sha1-WITKtRLPHTVeP7eE8wgEsrUg23I=
+  dependencies:
+    prelude-ls "~1.1.2"
+
+type-fest@^0.20.2:
+  version "0.20.2"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz#1bf207f4b28f91583666cb5fbd327887301cd5f4"
+  integrity sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==
+
+type-fest@^0.21.3:
+  version "0.21.3"
+  resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz#d260a24b0198436e133fa26a524a6d65fa3b2e37"
+  integrity sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==
+
+type-is@~1.6.18:
+  version "1.6.18"
+  resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
+  integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
+  dependencies:
+    media-typer "0.3.0"
+    mime-types "~2.1.24"
+
+typescript@4.4.4:
+  version "4.4.4"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz#2cd01a1a1f160704d3101fd5a58ff0f9fcb8030c"
+  integrity sha512-DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==
+
+typescript@^4.3.2:
+  version "4.5.5"
+  resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz#d8c953832d28924a9e3d37c73d729c846c5896f3"
+  integrity sha512-TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==
+
+unbox-primitive@^1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471"
+  integrity sha512-tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==
+  dependencies:
+    function-bind "^1.1.1"
+    has-bigints "^1.0.1"
+    has-symbols "^1.0.2"
+    which-boxed-primitive "^1.0.2"
+
+unbzip2-stream@1.4.3:
+  version "1.4.3"
+  resolved "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz#b0da04c4371311df771cdc215e87f2130991ace7"
+  integrity sha512-mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==
+  dependencies:
+    buffer "^5.2.1"
+    through "^2.3.8"
+
+unique-filename@^1.1.0:
+  version "1.1.1"
+  resolved "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz#1d69769369ada0583103a1e6ae87681b56573230"
+  integrity sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==
+  dependencies:
+    unique-slug "^2.0.0"
+
+unique-slug@^2.0.0:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz#baabce91083fc64e945b0f3ad613e264f7cd4e6c"
+  integrity sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==
+  dependencies:
+    imurmurhash "^0.1.4"
+
+universalify@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz#75a4984efedc4b08975c5aeb73f530d02df25717"
+  integrity sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==
+
+unpipe@1.0.0, unpipe@~1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz#b2bf4ee8514aae6165b4817829d21b2ef49904ec"
+  integrity sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=
+
+uri-js@^4.2.2:
+  version "4.4.1"
+  resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz#9b1a52595225859e55f669d928f88c6c57f2a77e"
+  integrity sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==
+  dependencies:
+    punycode "^2.1.0"
+
+url-value-parser@^2.0.0:
+  version "2.1.0"
+  resolved "https://registry.yarnpkg.com/url-value-parser/-/url-value-parser-2.1.0.tgz#fe1ae776122b2eea4bbf284896bbdcd7fc75e1fa"
+  integrity sha512-gIYPWXujdUdwd/9TGCHTf5Vvgw6lOxjE5Q/k+7WNByYyS0vW5WX0k+xuVlhvPq6gRNhzXVv/ezC+OfeAet5Kcw==
+
+util-deprecate@^1.0.1, util-deprecate@~1.0.1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz#450d4dc9fa70de732762fbd2d4a28981419a0ccf"
+  integrity sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=
+
+utils-merge@1.0.1:
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713"
+  integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=
+
+v8-compile-cache@^2.0.3:
+  version "2.3.0"
+  resolved "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz#2de19618c66dc247dcfb6f99338035d8245a2cee"
+  integrity sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==
+
+vary@~1.1.2:
+  version "1.1.2"
+  resolved "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz#2299f02c6ded30d4a5961b0b9f74524a18f634fc"
+  integrity sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=
+
+webidl-conversions@^3.0.0:
+  version "3.0.1"
+  resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871"
+  integrity sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=
+
+whatwg-url@^5.0.0:
+  version "5.0.0"
+  resolved "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz#966454e8765462e37644d3626f6742ce8b70965d"
+  integrity sha1-lmRU6HZUYuN2RNNib2dCzotwll0=
+  dependencies:
+    tr46 "~0.0.3"
+    webidl-conversions "^3.0.0"
+
+which-boxed-primitive@^1.0.2:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz#13757bc89b209b049fe5d86430e21cf40a89a8e6"
+  integrity sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==
+  dependencies:
+    is-bigint "^1.0.1"
+    is-boolean-object "^1.1.0"
+    is-number-object "^1.0.4"
+    is-string "^1.0.5"
+    is-symbol "^1.0.3"
+
+which-pm-runs@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz#670b3afbc552e0b55df6b7780ca74615f23ad1cb"
+  integrity sha1-Zws6+8VS4LVd9rd4DKdGFfI60cs=
+
+which@^2.0.1:
+  version "2.0.2"
+  resolved "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz#7c6a8dd0a636a0327e10b59c9286eee93f3f51b1"
+  integrity sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==
+  dependencies:
+    isexe "^2.0.0"
+
+wide-align@^1.1.0:
+  version "1.1.5"
+  resolved "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz#df1d4c206854369ecf3c9a4898f1b23fbd9d15d3"
+  integrity sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==
+  dependencies:
+    string-width "^1.0.2 || 2 || 3 || 4"
+
+winston-transport@^4.4.2:
+  version "4.4.2"
+  resolved "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.2.tgz#554efe3fce229d046df006e0e3c411d240652e51"
+  integrity sha512-9jmhltAr5ygt5usgUTQbEiw/7RYXpyUbEAFRCSicIacpUzPkrnQsQZSPGEI12aLK9Jth4zNcYJx3Cvznwrl8pw==
+  dependencies:
+    logform "^2.3.2"
+    readable-stream "^3.4.0"
+    triple-beam "^1.2.0"
+
+winston@^3.2.1:
+  version "3.5.1"
+  resolved "https://registry.yarnpkg.com/winston/-/winston-3.5.1.tgz#b25cc899d015836dbf8c583dec8c4c4483a0da2e"
+  integrity sha512-tbRtVy+vsSSCLcZq/8nXZaOie/S2tPXPFt4be/Q3vI/WtYwm7rrwidxVw2GRa38FIXcJ1kUM6MOZ9Jmnk3F3UA==
+  dependencies:
+    "@dabh/diagnostics" "^2.0.2"
+    async "^3.2.3"
+    is-stream "^2.0.0"
+    logform "^2.3.2"
+    one-time "^1.0.0"
+    readable-stream "^3.4.0"
+    safe-stable-stringify "^2.3.1"
+    stack-trace "0.0.x"
+    triple-beam "^1.3.0"
+    winston-transport "^4.4.2"
+
+word-wrap@^1.2.3, word-wrap@~1.2.3:
+  version "1.2.3"
+  resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+  integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
+
+wrap-ansi@^6.2.0:
+  version "6.2.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz#e9393ba07102e6c91a3b221478f0257cd2856e53"
+  integrity sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
+wrap-ansi@^7.0.0:
+  version "7.0.0"
+  resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43"
+  integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==
+  dependencies:
+    ansi-styles "^4.0.0"
+    string-width "^4.1.0"
+    strip-ansi "^6.0.0"
+
+wrappy@1:
+  version "1.0.2"
+  resolved "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz#b5243d8f3ec1aa35f1364605bc0d1036e30ab69f"
+  integrity sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=
+
+ws@8.5.0:
+  version "8.5.0"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
+  integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
+
+y18n@^5.0.5:
+  version "5.0.8"
+  resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
+  integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
+
+yallist@^4.0.0:
+  version "4.0.0"
+  resolved "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz#9bb92790d9c0effec63be73519e11a35019a3a72"
+  integrity sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==
+
+yaml@^1.10.0:
+  version "1.10.2"
+  resolved "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz#2301c5ffbf12b467de8da2333a459e29e7920e4b"
+  integrity sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==
+
+yargs-parser@^20.2.2:
+  version "20.2.9"
+  resolved "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz#2eb7dc3b0289718fc295f362753845c41a0c94ee"
+  integrity sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==
+
+yargs@^16.2.0:
+  version "16.2.0"
+  resolved "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz#1c82bf0f6b6a66eafce7ef30e376f49a12477f66"
+  integrity sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==
+  dependencies:
+    cliui "^7.0.2"
+    escalade "^3.1.1"
+    get-caller-file "^2.0.5"
+    require-directory "^2.1.1"
+    string-width "^4.2.0"
+    y18n "^5.0.5"
+    yargs-parser "^20.2.2"
+
+yauzl@^2.10.0:
+  version "2.10.0"
+  resolved "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz#c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9"
+  integrity sha1-x+sXyT4RLLEIb6bY5R+wZnt5pfk=
+  dependencies:
+    buffer-crc32 "~0.2.3"
+    fd-slicer "~1.1.0"
+
+yocto-queue@^0.1.0:
+  version "0.1.0"
+  resolved "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz#0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b"
+  integrity sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==
diff --git a/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix b/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
index f72f4e59bf0..556b6eef845 100644
--- a/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
+++ b/pkgs/servers/monitoring/grafana-image-renderer/yarn.nix
@@ -6,47 +6,47 @@
       path = fetchurl {
         name = "_babel_code_frame___code_frame_7.12.11.tgz";
         url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz";
-        sha1 = "f4ad435aa263db935b8f10f2c552d23fb716a63f";
+        sha512 = "Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw==";
       };
     }
     {
-      name = "_babel_code_frame___code_frame_7.14.5.tgz";
+      name = "_babel_code_frame___code_frame_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.14.5.tgz";
-        sha1 = "23b08d740e83f49c5e59945fbf1b43e80bbf4edb";
+        name = "_babel_code_frame___code_frame_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     }
     {
-      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.15.7.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.15.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz";
-        sha1 = "220df993bfe904a4a6b02ab4f3385a5ebf6e2389";
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
       };
     }
     {
-      name = "_babel_highlight___highlight_7.14.5.tgz";
+      name = "_babel_highlight___highlight_7.16.10.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.14.5.tgz";
-        sha1 = "6861a52f03966405001f6aa534a01a24d99e8cd9";
+        name = "_babel_highlight___highlight_7.16.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
       };
     }
     {
-      name = "_babel_parser___parser_7.13.13.tgz";
+      name = "_babel_parser___parser_7.16.2.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.13.13.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.13.13.tgz";
-        sha1 = "42f03862f4aed50461e543270916b47dd501f0df";
+        name = "_babel_parser___parser_7.16.2.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.2.tgz";
+        sha512 = "RUVpT0G2h6rOZwqLDTrKk7ksNv7YpAilTnYe1/Q+eDjxEceRMKVWbCsX7t8h6C1qCFi/1Y8WZjcEPBAFG27GPw==";
       };
     }
     {
-      name = "_babel_types___types_7.13.12.tgz";
+      name = "_babel_types___types_7.16.0.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.13.12.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.13.12.tgz";
-        sha1 = "edbf99208ef48852acdff1c8a681a1e4ade580cd";
+        name = "_babel_types___types_7.16.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz";
+        sha512 = "PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==";
       };
     }
     {
@@ -54,7 +54,7 @@
       path = fetchurl {
         name = "_dabh_diagnostics___diagnostics_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@dabh/diagnostics/-/diagnostics-2.0.2.tgz";
-        sha1 = "290d08f7b381b8f94607dc8f471a12c675f9db31";
+        sha512 = "+A1YivoVDNNVCdfozHSR8v/jyuuLTMXwjWuxPFlFlUapXoGc+Gj9mDlTDDfrwl7rXCl2tNZ0kE8sIBO6YOn96Q==";
       };
     }
     {
@@ -62,7 +62,15 @@
       path = fetchurl {
         name = "_es_joy_jsdoccomment___jsdoccomment_0.10.8.tgz";
         url  = "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.10.8.tgz";
-        sha1 = "b3152887e25246410ed4ea569a55926ec13b2b05";
+        sha512 = "3P1JiGL4xaR9PoTKUHa2N/LKwa2/eUdRqGwijMWWgBqbFEqJUVpmaOi2TcjcemrsRMgFLBzQCK4ToPhrSVDiFQ==";
+      };
+    }
+    {
+      name = "_es_joy_jsdoccomment___jsdoccomment_0.18.0.tgz";
+      path = fetchurl {
+        name = "_es_joy_jsdoccomment___jsdoccomment_0.18.0.tgz";
+        url  = "https://registry.yarnpkg.com/@es-joy/jsdoccomment/-/jsdoccomment-0.18.0.tgz";
+        sha512 = "TjT8KJULV4I6ZiwIoKr6eMs+XpRejqwJ/VA+QPDeFGe9j6bZFKmMJ81EeFsGm6JNZhnzm37aoxVROmTh2PZoyA==";
       };
     }
     {
@@ -70,23 +78,23 @@
       path = fetchurl {
         name = "_eslint_eslintrc___eslintrc_0.4.3.tgz";
         url  = "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz";
-        sha1 = "9e42981ef035beb3dd49add17acb96e8ff6f394c";
+        sha512 = "J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw==";
       };
     }
     {
-      name = "_grafana_eslint_config___eslint_config_2.5.0.tgz";
+      name = "_grafana_eslint_config___eslint_config_2.5.2.tgz";
       path = fetchurl {
-        name = "_grafana_eslint_config___eslint_config_2.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-2.5.0.tgz";
-        sha1 = "d028898e201f242748a94d5582f0e14a493f5853";
+        name = "_grafana_eslint_config___eslint_config_2.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/@grafana/eslint-config/-/eslint-config-2.5.2.tgz";
+        sha512 = "LfTKRbeAshEIr5VELcr6dw5U0Er586yeyb5X/IwrfutHwdcrJdepRf1E/LwMVAUoBzJRQfTLErkS9Mw0Xlv/aA==";
       };
     }
     {
-      name = "_grpc_grpc_js___grpc_js_1.3.7.tgz";
+      name = "_grpc_grpc_js___grpc_js_1.5.4.tgz";
       path = fetchurl {
-        name = "_grpc_grpc_js___grpc_js_1.3.7.tgz";
-        url  = "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.3.7.tgz";
-        sha1 = "58b687aff93b743aafde237fd2ee9a3259d7f2d8";
+        name = "_grpc_grpc_js___grpc_js_1.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/@grpc/grpc-js/-/grpc-js-1.5.4.tgz";
+        sha512 = "+nJTOsqpFAXnfFrMZ7Too4XXZ/J9O+8jYvSoaunupoC7I7b9H4iex1BRsbTdOmiowfPGJrWit7jUPmbENSUSpw==";
       };
     }
     {
@@ -94,7 +102,15 @@
       path = fetchurl {
         name = "_grpc_proto_loader___proto_loader_0.5.6.tgz";
         url  = "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.5.6.tgz";
-        sha1 = "1dea4b8a6412b05e2d58514d507137b63a52a98d";
+        sha512 = "DT14xgw3PSzPxwS13auTEwxhMMOoz33DPUKNtmYK/QYbBSpLXJy78FGGs5yVoxVobEqPm4iW9MOIoz0A3bLTRQ==";
+      };
+    }
+    {
+      name = "_grpc_proto_loader___proto_loader_0.6.9.tgz";
+      path = fetchurl {
+        name = "_grpc_proto_loader___proto_loader_0.6.9.tgz";
+        url  = "https://registry.yarnpkg.com/@grpc/proto-loader/-/proto-loader-0.6.9.tgz";
+        sha512 = "UlcCS8VbsU9d3XTXGiEVFonN7hXk+oMXZtoHHG2oSA1/GcDP1q6OUgs20PzHDGizzyi8ufGSUDlk3O2NyY7leg==";
       };
     }
     {
@@ -102,7 +118,7 @@
       path = fetchurl {
         name = "_hapi_boom___boom_9.1.4.tgz";
         url  = "https://registry.yarnpkg.com/@hapi/boom/-/boom-9.1.4.tgz";
-        sha1 = "1f9dad367c6a7da9f8def24b4a986fc5a7bd9db6";
+        sha512 = "Ls1oH8jaN1vNsqcaHVYJrKmgMcKsC1wcp8bujvXrHaAqD2iDYq3HoOwsxwo09Cuda5R5nC0o0IxlrlTuvPuzSw==";
       };
     }
     {
@@ -110,7 +126,7 @@
       path = fetchurl {
         name = "_hapi_hoek___hoek_9.2.1.tgz";
         url  = "https://registry.yarnpkg.com/@hapi/hoek/-/hoek-9.2.1.tgz";
-        sha1 = "9551142a1980503752536b5050fd99f4a7f13b17";
+        sha512 = "gfta+H8aziZsm8pZa0vj04KO6biEiisppNgA1kbJvFrrWu9Vm7eaUEy76DIxsuTaWvti5fkJVhllWc6ZTE+Mdw==";
       };
     }
     {
@@ -118,15 +134,15 @@
       path = fetchurl {
         name = "_humanwhocodes_config_array___config_array_0.5.0.tgz";
         url  = "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz";
-        sha1 = "1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9";
+        sha512 = "FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg==";
       };
     }
     {
-      name = "_humanwhocodes_object_schema___object_schema_1.2.0.tgz";
+      name = "_humanwhocodes_object_schema___object_schema_1.2.1.tgz";
       path = fetchurl {
-        name = "_humanwhocodes_object_schema___object_schema_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.0.tgz";
-        sha1 = "87de7af9c231826fdd68ac7258f77c429e0e5fcf";
+        name = "_humanwhocodes_object_schema___object_schema_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz";
+        sha512 = "ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==";
       };
     }
     {
@@ -134,7 +150,7 @@
       path = fetchurl {
         name = "_nodelib_fs.scandir___fs.scandir_2.1.5.tgz";
         url  = "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz";
-        sha1 = "7619c2eb21b25483f6d167548b4cfd5a7488c3d5";
+        sha512 = "vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==";
       };
     }
     {
@@ -142,7 +158,7 @@
       path = fetchurl {
         name = "_nodelib_fs.stat___fs.stat_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz";
-        sha1 = "5bd262af94e9d25bd1e71b05deed44876a222e8b";
+        sha512 = "RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==";
       };
     }
     {
@@ -150,7 +166,7 @@
       path = fetchurl {
         name = "_nodelib_fs.walk___fs.walk_1.2.8.tgz";
         url  = "https://registry.yarnpkg.com/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz";
-        sha1 = "e95737e8bb6746ddedf69c556953494f196fe69a";
+        sha512 = "oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==";
       };
     }
     {
@@ -158,7 +174,7 @@
       path = fetchurl {
         name = "_protobufjs_aspromise___aspromise_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz";
-        sha1 = "9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf";
+        sha1 = "m4sMxmPWaafY9vXQiToU00jzD78=";
       };
     }
     {
@@ -166,7 +182,7 @@
       path = fetchurl {
         name = "_protobufjs_base64___base64_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/base64/-/base64-1.1.2.tgz";
-        sha1 = "4c85730e59b9a1f1f349047dbf24296034bb2735";
+        sha512 = "AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg==";
       };
     }
     {
@@ -174,7 +190,7 @@
       path = fetchurl {
         name = "_protobufjs_codegen___codegen_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/codegen/-/codegen-2.0.4.tgz";
-        sha1 = "7ef37f0d010fb028ad1ad59722e506d9262815cb";
+        sha512 = "YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg==";
       };
     }
     {
@@ -182,7 +198,7 @@
       path = fetchurl {
         name = "_protobufjs_eventemitter___eventemitter_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz";
-        sha1 = "355cbc98bafad5978f9ed095f397621f1d066b70";
+        sha1 = "NVy8mLr61ZePntCV85diHx0Ga3A=";
       };
     }
     {
@@ -190,7 +206,7 @@
       path = fetchurl {
         name = "_protobufjs_fetch___fetch_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/fetch/-/fetch-1.1.0.tgz";
-        sha1 = "ba99fb598614af65700c1619ff06d454b0d84c45";
+        sha1 = "upn7WYYUr2VwDBYZ/wbUVLDYTEU=";
       };
     }
     {
@@ -198,7 +214,7 @@
       path = fetchurl {
         name = "_protobufjs_float___float_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/float/-/float-1.0.2.tgz";
-        sha1 = "5e9e1abdcb73fc0a7cb8b291df78c8cbd97b87d1";
+        sha1 = "Xp4avctz/Ap8uLKR33jIy9l7h9E=";
       };
     }
     {
@@ -206,7 +222,7 @@
       path = fetchurl {
         name = "_protobufjs_inquire___inquire_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/inquire/-/inquire-1.1.0.tgz";
-        sha1 = "ff200e3e7cf2429e2dcafc1140828e8cc638f089";
+        sha1 = "/yAOPnzyQp4tyvwRQIKOjMY48Ik=";
       };
     }
     {
@@ -214,7 +230,7 @@
       path = fetchurl {
         name = "_protobufjs_path___path_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/path/-/path-1.1.2.tgz";
-        sha1 = "6cc2b20c5c9ad6ad0dccfd21ca7673d8d7fbf68d";
+        sha1 = "bMKyDFya1q0NzP0hynZz2Nf79o0=";
       };
     }
     {
@@ -222,7 +238,7 @@
       path = fetchurl {
         name = "_protobufjs_pool___pool_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/pool/-/pool-1.1.0.tgz";
-        sha1 = "09fd15f2d6d3abfa9b65bc366506d6ad7846ff54";
+        sha1 = "Cf0V8tbTq/qbZbw2ZQbWrXhG/1Q=";
       };
     }
     {
@@ -230,15 +246,15 @@
       path = fetchurl {
         name = "_protobufjs_utf8___utf8_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/@protobufjs/utf8/-/utf8-1.1.0.tgz";
-        sha1 = "a777360b5b39a1a2e5106f8e858f2fd2d060c570";
+        sha1 = "p3c2C1s5oaLlEG+OhY8v0tBgxXA=";
       };
     }
     {
-      name = "_types_body_parser___body_parser_1.19.1.tgz";
+      name = "_types_body_parser___body_parser_1.19.2.tgz";
       path = fetchurl {
-        name = "_types_body_parser___body_parser_1.19.1.tgz";
-        url  = "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.1.tgz";
-        sha1 = "0c0174c42a7d017b818303d4b5d969cb0b75929c";
+        name = "_types_body_parser___body_parser_1.19.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/body-parser/-/body-parser-1.19.2.tgz";
+        sha512 = "ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==";
       };
     }
     {
@@ -246,15 +262,15 @@
       path = fetchurl {
         name = "_types_connect___connect_3.4.35.tgz";
         url  = "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz";
-        sha1 = "5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1";
+        sha512 = "cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==";
       };
     }
     {
-      name = "_types_express_serve_static_core___express_serve_static_core_4.17.24.tgz";
+      name = "_types_express_serve_static_core___express_serve_static_core_4.17.28.tgz";
       path = fetchurl {
-        name = "_types_express_serve_static_core___express_serve_static_core_4.17.24.tgz";
-        url  = "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.24.tgz";
-        sha1 = "ea41f93bf7e0d59cd5a76665068ed6aab6815c07";
+        name = "_types_express_serve_static_core___express_serve_static_core_4.17.28.tgz";
+        url  = "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz";
+        sha512 = "P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==";
       };
     }
     {
@@ -262,7 +278,7 @@
       path = fetchurl {
         name = "_types_express___express_4.17.13.tgz";
         url  = "https://registry.yarnpkg.com/@types/express/-/express-4.17.13.tgz";
-        sha1 = "a76e2995728999bab51a33fabce1d705a3709034";
+        sha512 = "6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==";
       };
     }
     {
@@ -270,7 +286,7 @@
       path = fetchurl {
         name = "_types_json_schema___json_schema_7.0.9.tgz";
         url  = "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz";
-        sha1 = "97edc9037ea0c38585320b28964dde3b39e4660d";
+        sha512 = "qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ==";
       };
     }
     {
@@ -278,7 +294,7 @@
       path = fetchurl {
         name = "_types_long___long_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/@types/long/-/long-4.0.1.tgz";
-        sha1 = "459c65fa1867dafe6a8f322c4c51695663cc55e9";
+        sha512 = "5tXH6Bx/kNGd3MgffdmP4dy2Z+G4eaXw0SE81Tq3BNadtnMR5/ySMzX4SLEzHJzSmPNn4HIdpQsBvXMUykr58w==";
       };
     }
     {
@@ -286,23 +302,23 @@
       path = fetchurl {
         name = "_types_mime___mime_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz";
-        sha1 = "93e25bf9ee75fe0fd80b594bc4feb0e862111b5a";
+        sha512 = "YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==";
       };
     }
     {
-      name = "_types_node___node_16.10.2.tgz";
+      name = "_types_node___node_17.0.14.tgz";
       path = fetchurl {
-        name = "_types_node___node_16.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.10.2.tgz";
-        sha1 = "5764ca9aa94470adb4e1185fe2e9f19458992b2e";
+        name = "_types_node___node_17.0.14.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.14.tgz";
+        sha512 = "SbjLmERksKOGzWzPNuW7fJM7fk3YXVTFiZWB/Hs99gwhk+/dnrQRPBQjPW9aO+fi1tAffi9PrwFvsmOKmDTyng==";
       };
     }
     {
-      name = "_types_node___node_14.17.20.tgz";
+      name = "_types_node___node_14.18.10.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.17.20.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.17.20.tgz";
-        sha1 = "74cc80438fd0467dc4377ee5bbad89a886df3c10";
+        name = "_types_node___node_14.18.10.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.10.tgz";
+        sha512 = "6iihJ/Pp5fsFJ/aEDGyvT4pHGmCpq7ToQ/yf4bl5SbVAvwpspYJ+v3jO7n8UyjhQVHTy+KNszOozDdv+O6sovQ==";
       };
     }
     {
@@ -310,7 +326,7 @@
       path = fetchurl {
         name = "_types_parse_json___parse_json_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz";
-        sha1 = "2f8bb441434d163b35fb8ffdccd7138927ffb8c0";
+        sha512 = "//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==";
       };
     }
     {
@@ -318,7 +334,7 @@
       path = fetchurl {
         name = "_types_qs___qs_6.9.7.tgz";
         url  = "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz";
-        sha1 = "63bb7d067db107cc1e457c303bc25d511febf6cb";
+        sha512 = "FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==";
       };
     }
     {
@@ -326,7 +342,7 @@
       path = fetchurl {
         name = "_types_range_parser___range_parser_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.4.tgz";
-        sha1 = "cd667bcfdd025213aafb7ca5915a932590acdcdc";
+        sha512 = "EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==";
       };
     }
     {
@@ -334,7 +350,7 @@
       path = fetchurl {
         name = "_types_serve_static___serve_static_1.13.10.tgz";
         url  = "https://registry.yarnpkg.com/@types/serve-static/-/serve-static-1.13.10.tgz";
-        sha1 = "f5e0ce8797d2d7cc5ebeda48a52c96c4fa47a8d9";
+        sha512 = "nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==";
       };
     }
     {
@@ -342,15 +358,15 @@
       path = fetchurl {
         name = "_types_yauzl___yauzl_2.9.2.tgz";
         url  = "https://registry.yarnpkg.com/@types/yauzl/-/yauzl-2.9.2.tgz";
-        sha1 = "c48e5d56aff1444409e39fa164b0b4d4552a7b7a";
+        sha512 = "8uALY5LTvSuHgloDVUvWP3pIauILm+8/0pDMokuDYIoNsOkSwd5AiHBTSEJjKTDcZr5z8UpgOWZkxBF4iJftoA==";
       };
     }
     {
-      name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.28.0.tgz";
+      name = "_typescript_eslint_eslint_plugin___eslint_plugin_5.10.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.0.tgz";
-        sha1 = "1a66f03b264844387beb7dc85e1f1d403bd1803f";
+        name = "_typescript_eslint_eslint_plugin___eslint_plugin_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.10.0.tgz";
+        sha512 = "XXVKnMsq2fuu9K2KsIxPUGqb6xAImz8MEChClbXmE3VbveFtBUU5bzM6IPVWqzyADIgdkS2Ws/6Xo7W2TeZWjQ==";
       };
     }
     {
@@ -358,15 +374,7 @@
       path = fetchurl {
         name = "_typescript_eslint_eslint_plugin___eslint_plugin_4.33.0.tgz";
         url  = "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz";
-        sha1 = "c24dc7c8069c7706bc40d99f6fa87edcb2005276";
-      };
-    }
-    {
-      name = "_typescript_eslint_experimental_utils___experimental_utils_4.28.0.tgz";
-      path = fetchurl {
-        name = "_typescript_eslint_experimental_utils___experimental_utils_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.0.tgz";
-        sha1 = "13167ed991320684bdc23588135ae62115b30ee0";
+        sha512 = "aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg==";
       };
     }
     {
@@ -374,15 +382,15 @@
       path = fetchurl {
         name = "_typescript_eslint_experimental_utils___experimental_utils_4.33.0.tgz";
         url  = "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz";
-        sha1 = "6f2a786a4209fa2222989e9380b5331b2810f7fd";
+        sha512 = "zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==";
       };
     }
     {
-      name = "_typescript_eslint_parser___parser_4.28.0.tgz";
+      name = "_typescript_eslint_parser___parser_5.10.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_parser___parser_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.28.0.tgz";
-        sha1 = "2404c16751a28616ef3abab77c8e51d680a12caa";
+        name = "_typescript_eslint_parser___parser_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.10.0.tgz";
+        sha512 = "pJB2CCeHWtwOAeIxv8CHVGJhI5FNyJAIpx5Pt72YkK3QfEzt6qAlXZuyaBmyfOdM62qU0rbxJzNToPTVeJGrQw==";
       };
     }
     {
@@ -390,31 +398,31 @@
       path = fetchurl {
         name = "_typescript_eslint_parser___parser_4.33.0.tgz";
         url  = "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz";
-        sha1 = "dfe797570d9694e560528d18eecad86c8c744899";
+        sha512 = "ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA==";
       };
     }
     {
-      name = "_typescript_eslint_scope_manager___scope_manager_4.28.0.tgz";
+      name = "_typescript_eslint_scope_manager___scope_manager_4.33.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_scope_manager___scope_manager_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.0.tgz";
-        sha1 = "6a3009d2ab64a30fc8a1e257a1a320067f36a0ce";
+        name = "_typescript_eslint_scope_manager___scope_manager_4.33.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz";
+        sha512 = "5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ==";
       };
     }
     {
-      name = "_typescript_eslint_scope_manager___scope_manager_4.33.0.tgz";
+      name = "_typescript_eslint_scope_manager___scope_manager_5.10.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_scope_manager___scope_manager_4.33.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz";
-        sha1 = "d38e49280d983e8772e29121cf8c6e9221f280a3";
+        name = "_typescript_eslint_scope_manager___scope_manager_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.10.0.tgz";
+        sha512 = "tgNgUgb4MhqK6DoKn3RBhyZ9aJga7EQrw+2/OiDk5hKf3pTVZWyqBi7ukP+Z0iEEDMF5FDa64LqODzlfE4O/Dg==";
       };
     }
     {
-      name = "_typescript_eslint_types___types_4.28.0.tgz";
+      name = "_typescript_eslint_type_utils___type_utils_5.10.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_types___types_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.0.tgz";
-        sha1 = "a33504e1ce7ac51fc39035f5fe6f15079d4dafb0";
+        name = "_typescript_eslint_type_utils___type_utils_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.10.0.tgz";
+        sha512 = "TzlyTmufJO5V886N+hTJBGIfnjQDQ32rJYxPaeiyWKdjsv2Ld5l8cbS7pxim4DeNs62fKzRSt8Q14Evs4JnZyQ==";
       };
     }
     {
@@ -422,15 +430,15 @@
       path = fetchurl {
         name = "_typescript_eslint_types___types_4.33.0.tgz";
         url  = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz";
-        sha1 = "a1e59036a3b53ae8430ceebf2a919dc7f9af6d72";
+        sha512 = "zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ==";
       };
     }
     {
-      name = "_typescript_eslint_typescript_estree___typescript_estree_4.28.0.tgz";
+      name = "_typescript_eslint_types___types_5.10.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_typescript_estree___typescript_estree_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.0.tgz";
-        sha1 = "e66d4e5aa2ede66fec8af434898fe61af10c71cf";
+        name = "_typescript_eslint_types___types_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.10.0.tgz";
+        sha512 = "wUljCgkqHsMZbw60IbOqT/puLfyqqD5PquGiBo1u1IS3PLxdi3RDGlyf032IJyh+eQoGhz9kzhtZa+VC4eWTlQ==";
       };
     }
     {
@@ -438,15 +446,23 @@
       path = fetchurl {
         name = "_typescript_eslint_typescript_estree___typescript_estree_4.33.0.tgz";
         url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz";
-        sha1 = "0dfb51c2908f68c5c08d82aefeaf166a17c24609";
+        sha512 = "rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA==";
       };
     }
     {
-      name = "_typescript_eslint_visitor_keys___visitor_keys_4.28.0.tgz";
+      name = "_typescript_eslint_typescript_estree___typescript_estree_5.10.0.tgz";
       path = fetchurl {
-        name = "_typescript_eslint_visitor_keys___visitor_keys_4.28.0.tgz";
-        url  = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.0.tgz";
-        sha1 = "255c67c966ec294104169a6939d96f91c8a89434";
+        name = "_typescript_eslint_typescript_estree___typescript_estree_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.10.0.tgz";
+        sha512 = "x+7e5IqfwLwsxTdliHRtlIYkgdtYXzE0CkFeV6ytAqq431ZyxCFzNMNR5sr3WOlIG/ihVZr9K/y71VHTF/DUQA==";
+      };
+    }
+    {
+      name = "_typescript_eslint_utils___utils_5.10.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_utils___utils_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.10.0.tgz";
+        sha512 = "IGYwlt1CVcFoE2ueW4/ioEwybR60RAdGeiJX/iDAw0t5w0wK3S7QncDwpmsM70nKgGTuVchEWB8lwZwHqPAWRg==";
       };
     }
     {
@@ -454,7 +470,15 @@
       path = fetchurl {
         name = "_typescript_eslint_visitor_keys___visitor_keys_4.33.0.tgz";
         url  = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz";
-        sha1 = "2a22f77a41604289b7a186586e9ec48ca92ef1dd";
+        sha512 = "uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg==";
+      };
+    }
+    {
+      name = "_typescript_eslint_visitor_keys___visitor_keys_5.10.0.tgz";
+      path = fetchurl {
+        name = "_typescript_eslint_visitor_keys___visitor_keys_5.10.0.tgz";
+        url  = "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.10.0.tgz";
+        sha512 = "GMxj0K1uyrFLPKASLmZzCuSddmjZVbVj3Ouy5QVuIGKZopxvOr24JsS7gruz6C3GExE01mublZ3mIBOaon9zuQ==";
       };
     }
     {
@@ -462,7 +486,7 @@
       path = fetchurl {
         name = "accepts___accepts_1.3.7.tgz";
         url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
-        sha1 = "531bc726517a3b2b41f850021c6cc15eaab507cd";
+        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
       };
     }
     {
@@ -470,7 +494,7 @@
       path = fetchurl {
         name = "acorn_jsx___acorn_jsx_5.3.2.tgz";
         url  = "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.3.2.tgz";
-        sha1 = "7ed5bb55908b3b2f1bc55c6af1653bada7f07937";
+        sha512 = "rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==";
       };
     }
     {
@@ -478,7 +502,7 @@
       path = fetchurl {
         name = "acorn___acorn_7.4.1.tgz";
         url  = "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz";
-        sha1 = "feaed255973d2e77555b83dbc08851a6c63520fa";
+        sha512 = "nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==";
       };
     }
     {
@@ -486,7 +510,7 @@
       path = fetchurl {
         name = "agent_base___agent_base_6.0.2.tgz";
         url  = "https://registry.yarnpkg.com/agent-base/-/agent-base-6.0.2.tgz";
-        sha1 = "49fff58577cfee3f37176feab4c22e00f86d7f77";
+        sha512 = "RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==";
       };
     }
     {
@@ -494,7 +518,7 @@
       path = fetchurl {
         name = "aggregate_error___aggregate_error_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/aggregate-error/-/aggregate-error-3.1.0.tgz";
-        sha1 = "92670ff50f5359bdb7a3e0d40d0ec30c5737687a";
+        sha512 = "4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==";
       };
     }
     {
@@ -502,15 +526,15 @@
       path = fetchurl {
         name = "ajv___ajv_6.12.6.tgz";
         url  = "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz";
-        sha1 = "baf5a62e802b07d977034586f8c3baf5adf26df4";
+        sha512 = "j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==";
       };
     }
     {
-      name = "ajv___ajv_8.6.3.tgz";
+      name = "ajv___ajv_8.9.0.tgz";
       path = fetchurl {
-        name = "ajv___ajv_8.6.3.tgz";
-        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.6.3.tgz";
-        sha1 = "11a66527761dc3e9a3845ea775d2d3c0414e8764";
+        name = "ajv___ajv_8.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/ajv/-/ajv-8.9.0.tgz";
+        sha512 = "qOKJyNj/h+OWx7s5DePL6Zu1KeM9jPZhwBqs+7DzP6bGOvqzVCSf0xueYmVuaC/oQ/VtS2zLMLHdQFbkka+XDQ==";
       };
     }
     {
@@ -518,7 +542,7 @@
       path = fetchurl {
         name = "ansi_colors___ansi_colors_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz";
-        sha1 = "cbb9ae256bf750af1eab344f229aa27fe94ba348";
+        sha512 = "JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==";
       };
     }
     {
@@ -526,7 +550,7 @@
       path = fetchurl {
         name = "ansi_escapes___ansi_escapes_4.3.2.tgz";
         url  = "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.2.tgz";
-        sha1 = "6b2291d1db7d98b6521d5f1efa42d0f3a9feb65e";
+        sha512 = "gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==";
       };
     }
     {
@@ -534,15 +558,7 @@
       path = fetchurl {
         name = "ansi_regex___ansi_regex_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-2.1.1.tgz";
-        sha1 = "c3b33ab5ee360d86e0e628f0468ae7ef27d654df";
-      };
-    }
-    {
-      name = "ansi_regex___ansi_regex_3.0.0.tgz";
-      path = fetchurl {
-        name = "ansi_regex___ansi_regex_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz";
-        sha1 = "ed0317c322064f79466c02966bddb605ab37d998";
+        sha1 = "w7M6te42DYbg5ijwRorn7yfWVN8=";
       };
     }
     {
@@ -550,7 +566,7 @@
       path = fetchurl {
         name = "ansi_regex___ansi_regex_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.1.tgz";
-        sha1 = "082cb2c89c9fe8659a311a53bd6a4dc5301db304";
+        sha512 = "quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==";
       };
     }
     {
@@ -558,7 +574,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_3.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz";
-        sha1 = "41fbb20243e50b12be0f04b8dedbf07520ce841d";
+        sha512 = "VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==";
       };
     }
     {
@@ -566,7 +582,7 @@
       path = fetchurl {
         name = "ansi_styles___ansi_styles_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.3.0.tgz";
-        sha1 = "edd803628ae71c04c85ae7a0906edad34b648937";
+        sha512 = "zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==";
       };
     }
     {
@@ -574,7 +590,7 @@
       path = fetchurl {
         name = "anymatch___anymatch_3.1.2.tgz";
         url  = "https://registry.yarnpkg.com/anymatch/-/anymatch-3.1.2.tgz";
-        sha1 = "c0557c096af32f106198f4f4e2a383537e378716";
+        sha512 = "P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==";
       };
     }
     {
@@ -582,7 +598,7 @@
       path = fetchurl {
         name = "aproba___aproba_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/aproba/-/aproba-1.2.0.tgz";
-        sha1 = "6802e6264efd18c790a1b0d517f0f2627bf2c94a";
+        sha512 = "Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==";
       };
     }
     {
@@ -590,7 +606,7 @@
       path = fetchurl {
         name = "are_we_there_yet___are_we_there_yet_1.1.7.tgz";
         url  = "https://registry.yarnpkg.com/are-we-there-yet/-/are-we-there-yet-1.1.7.tgz";
-        sha1 = "b15474a932adab4ff8a50d9adfa7e4e926f21146";
+        sha512 = "nxwy40TuMiUGqMyRHgCSWZ9FM4VAoRP4xUYSTv5ImRog+h9yISPbVH7H8fASCIzYn9wlEv4zvFL7uKDMCFQm3g==";
       };
     }
     {
@@ -598,7 +614,7 @@
       path = fetchurl {
         name = "argparse___argparse_1.0.10.tgz";
         url  = "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz";
-        sha1 = "bcd6791ea5ae09725e17e5ad988134cd40b3d911";
+        sha512 = "o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==";
       };
     }
     {
@@ -606,7 +622,7 @@
       path = fetchurl {
         name = "array_flatten___array_flatten_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/array-flatten/-/array-flatten-1.1.1.tgz";
-        sha1 = "9a5f699051b1e7073328f2a008968b64ea2955d2";
+        sha1 = "ml9pkFGx5wczKPKgCJaLZOopVdI=";
       };
     }
     {
@@ -614,7 +630,7 @@
       path = fetchurl {
         name = "array_includes___array_includes_3.1.4.tgz";
         url  = "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz";
-        sha1 = "f5b493162c760f3539631f005ba2bb46acb45ba9";
+        sha512 = "ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw==";
       };
     }
     {
@@ -622,7 +638,7 @@
       path = fetchurl {
         name = "array_union___array_union_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz";
-        sha1 = "b798420adbeb1de828d84acd8a2e23d3efe85e8d";
+        sha512 = "HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==";
       };
     }
     {
@@ -630,7 +646,7 @@
       path = fetchurl {
         name = "array.prototype.flatmap___array.prototype.flatmap_1.2.5.tgz";
         url  = "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz";
-        sha1 = "908dc82d8a406930fdf38598d51e7411d18d4446";
+        sha512 = "08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA==";
       };
     }
     {
@@ -638,15 +654,15 @@
       path = fetchurl {
         name = "astral_regex___astral_regex_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz";
-        sha1 = "483143c567aeed4785759c0865786dc77d7d2e31";
+        sha512 = "Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ==";
       };
     }
     {
-      name = "async___async_3.2.1.tgz";
+      name = "async___async_3.2.3.tgz";
       path = fetchurl {
-        name = "async___async_3.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-3.2.1.tgz";
-        sha1 = "d3274ec66d107a47476a4c49136aacdb00665fc8";
+        name = "async___async_3.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     }
     {
@@ -654,7 +670,7 @@
       path = fetchurl {
         name = "at_least_node___at_least_node_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/at-least-node/-/at-least-node-1.0.0.tgz";
-        sha1 = "602cd4b46e844ad4effc92a8011a3c46e0238dc2";
+        sha512 = "+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==";
       };
     }
     {
@@ -662,7 +678,7 @@
       path = fetchurl {
         name = "balanced_match___balanced_match_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/balanced-match/-/balanced-match-1.0.2.tgz";
-        sha1 = "e83e3a7e3f300b34cb9d87f615fa0cbf357690ee";
+        sha512 = "3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==";
       };
     }
     {
@@ -670,7 +686,7 @@
       path = fetchurl {
         name = "base64_js___base64_js_1.5.1.tgz";
         url  = "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz";
-        sha1 = "1b1b440160a5bf7ad40b650f095963481903930a";
+        sha512 = "AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==";
       };
     }
     {
@@ -678,7 +694,7 @@
       path = fetchurl {
         name = "basic_auth___basic_auth_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/basic-auth/-/basic-auth-2.0.1.tgz";
-        sha1 = "b998279bf47ce38344b4f3cf916d4679bbf51e3a";
+        sha512 = "NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==";
       };
     }
     {
@@ -686,7 +702,7 @@
       path = fetchurl {
         name = "binary_extensions___binary_extensions_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/binary-extensions/-/binary-extensions-2.2.0.tgz";
-        sha1 = "75f502eeaf9ffde42fc98829645be4ea76bd9e2d";
+        sha512 = "jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==";
       };
     }
     {
@@ -694,7 +710,7 @@
       path = fetchurl {
         name = "bintrees___bintrees_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/bintrees/-/bintrees-1.0.1.tgz";
-        sha1 = "0e655c9b9c2435eaab68bf4027226d2b55a34524";
+        sha1 = "DmVcm5wkNeqraL9AJyJtK1WjRSQ=";
       };
     }
     {
@@ -702,15 +718,15 @@
       path = fetchurl {
         name = "bl___bl_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz";
-        sha1 = "451535264182bec2fbbc83a62ab98cf11d9f7b3a";
+        sha512 = "1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==";
       };
     }
     {
-      name = "body_parser___body_parser_1.19.0.tgz";
+      name = "body_parser___body_parser_1.19.1.tgz";
       path = fetchurl {
-        name = "body_parser___body_parser_1.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
-        sha1 = "96b2709e57c9c4e09a6fd66a8fd979844f69f08a";
+        name = "body_parser___body_parser_1.19.1.tgz";
+        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz";
+        sha512 = "8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==";
       };
     }
     {
@@ -718,7 +734,7 @@
       path = fetchurl {
         name = "brace_expansion___brace_expansion_1.1.11.tgz";
         url  = "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-1.1.11.tgz";
-        sha1 = "3c7fcbf529d87226f3d2f52b966ff5271eb441dd";
+        sha512 = "iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==";
       };
     }
     {
@@ -726,7 +742,7 @@
       path = fetchurl {
         name = "braces___braces_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/braces/-/braces-3.0.2.tgz";
-        sha1 = "3454e1a462ee8d599e236df336cd9ea4f8afe107";
+        sha512 = "b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==";
       };
     }
     {
@@ -734,7 +750,7 @@
       path = fetchurl {
         name = "buffer_crc32___buffer_crc32_0.2.13.tgz";
         url  = "https://registry.yarnpkg.com/buffer-crc32/-/buffer-crc32-0.2.13.tgz";
-        sha1 = "0d333e3f00eac50aa1454abd30ef8c2a5d9a7242";
+        sha1 = "DTM+PwDqxQqhRUq9MO+MKl2ackI=";
       };
     }
     {
@@ -742,15 +758,15 @@
       path = fetchurl {
         name = "buffer___buffer_5.7.1.tgz";
         url  = "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz";
-        sha1 = "ba62e7c13133053582197160851a8f648e99eed0";
+        sha512 = "EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==";
       };
     }
     {
-      name = "bytes___bytes_3.1.0.tgz";
+      name = "bytes___bytes_3.1.1.tgz";
       path = fetchurl {
-        name = "bytes___bytes_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
-        sha1 = "f6cf7933a360e0588fa9fde85651cdc7f805d1f6";
+        name = "bytes___bytes_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz";
+        sha512 = "dWe4nWO/ruEOY7HkUJ5gFt1DCFV9zPRoJr8pV0/ASQermOZjtq8jMjOprC0Kd10GLN+l7xaUPvxzJFWtxGu8Fg==";
       };
     }
     {
@@ -758,7 +774,7 @@
       path = fetchurl {
         name = "call_bind___call_bind_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/call-bind/-/call-bind-1.0.2.tgz";
-        sha1 = "b1d4e89e688119c3c9a903ad30abb2f6a919be3c";
+        sha512 = "7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==";
       };
     }
     {
@@ -766,7 +782,7 @@
       path = fetchurl {
         name = "callsites___callsites_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz";
-        sha1 = "b3630abd8943432f54b3f0519238e33cd7df2f73";
+        sha512 = "P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==";
       };
     }
     {
@@ -774,7 +790,7 @@
       path = fetchurl {
         name = "chalk___chalk_2.4.2.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz";
-        sha1 = "cd42541677a54333cf541a49108c1432b44c9424";
+        sha512 = "Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==";
       };
     }
     {
@@ -782,15 +798,15 @@
       path = fetchurl {
         name = "chalk___chalk_4.1.2.tgz";
         url  = "https://registry.yarnpkg.com/chalk/-/chalk-4.1.2.tgz";
-        sha1 = "aac4e2b7734a740867aeb16bf02aad556a1e7a01";
+        sha512 = "oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==";
       };
     }
     {
-      name = "chokidar___chokidar_3.5.2.tgz";
+      name = "chokidar___chokidar_3.5.3.tgz";
       path = fetchurl {
-        name = "chokidar___chokidar_3.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.2.tgz";
-        sha1 = "dba3976fcadb016f66fd365021d91600d01c1e75";
+        name = "chokidar___chokidar_3.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/chokidar/-/chokidar-3.5.3.tgz";
+        sha512 = "Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==";
       };
     }
     {
@@ -798,7 +814,7 @@
       path = fetchurl {
         name = "chownr___chownr_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz";
-        sha1 = "6fc9d7b42d32a583596337666e7d08084da2cc6b";
+        sha512 = "jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==";
       };
     }
     {
@@ -806,7 +822,7 @@
       path = fetchurl {
         name = "ci_info___ci_info_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz";
-        sha1 = "67a9e964be31a51e15e5010d58e6f12834002f46";
+        sha512 = "5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ==";
       };
     }
     {
@@ -814,7 +830,7 @@
       path = fetchurl {
         name = "clean_stack___clean_stack_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/clean-stack/-/clean-stack-2.2.0.tgz";
-        sha1 = "ee8472dbb129e727b31e8a10a427dee9dfe4008b";
+        sha512 = "4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==";
       };
     }
     {
@@ -822,7 +838,7 @@
       path = fetchurl {
         name = "cli_cursor___cli_cursor_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz";
-        sha1 = "264305a7ae490d1d03bf0c9ba7c925d1753af307";
+        sha512 = "I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==";
       };
     }
     {
@@ -830,7 +846,7 @@
       path = fetchurl {
         name = "cli_truncate___cli_truncate_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/cli-truncate/-/cli-truncate-2.1.0.tgz";
-        sha1 = "c39e28bf05edcde5be3b98992a22deed5a2b93c7";
+        sha512 = "n8fOixwDD6b/ObinzTrp1ZKFzbgvKZvuz/TvejnLn1aQfC6r52XEx85FmuC+3HI+JM7coBRXUvNqEU2PHVrHpg==";
       };
     }
     {
@@ -838,7 +854,7 @@
       path = fetchurl {
         name = "cliui___cliui_7.0.4.tgz";
         url  = "https://registry.yarnpkg.com/cliui/-/cliui-7.0.4.tgz";
-        sha1 = "a0265ee655476fc807aea9df3df8df7783808b4f";
+        sha512 = "OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==";
       };
     }
     {
@@ -846,7 +862,7 @@
       path = fetchurl {
         name = "code_point_at___code_point_at_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/code-point-at/-/code-point-at-1.1.0.tgz";
-        sha1 = "0d070b4d043a5bea33a2f1a40e2edb3d9a4ccf77";
+        sha1 = "DQcLTQQ6W+ozovGkDi7bPZpMz3c=";
       };
     }
     {
@@ -854,7 +870,7 @@
       path = fetchurl {
         name = "color_convert___color_convert_1.9.3.tgz";
         url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-1.9.3.tgz";
-        sha1 = "bb71850690e1f136567de629d2d5471deda4c1e8";
+        sha512 = "QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==";
       };
     }
     {
@@ -862,7 +878,7 @@
       path = fetchurl {
         name = "color_convert___color_convert_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz";
-        sha1 = "72d3a68d598c9bdb3af2ad1e84f21d896abd4de3";
+        sha512 = "RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==";
       };
     }
     {
@@ -870,7 +886,7 @@
       path = fetchurl {
         name = "color_name___color_name_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz";
-        sha1 = "a7d0558bd89c42f795dd42328f740831ca53bc25";
+        sha1 = "p9BVi9icQveV3UIyj3QIMcpTvCU=";
       };
     }
     {
@@ -878,23 +894,31 @@
       path = fetchurl {
         name = "color_name___color_name_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz";
-        sha1 = "c2a09a87acbde69543de6f63fa3995c826c536a2";
+        sha512 = "dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==";
+      };
+    }
+    {
+      name = "color_string___color_string_1.9.0.tgz";
+      path = fetchurl {
+        name = "color_string___color_string_1.9.0.tgz";
+        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.9.0.tgz";
+        sha512 = "9Mrz2AQLefkH1UvASKj6v6hj/7eWgjnT/cVsR8CumieLoT+g900exWeNogqtweI8dxloXN9BDQTYro1oWu/5CQ==";
       };
     }
     {
-      name = "color_string___color_string_1.6.0.tgz";
+      name = "color___color_3.2.1.tgz";
       path = fetchurl {
-        name = "color_string___color_string_1.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/color-string/-/color-string-1.6.0.tgz";
-        sha1 = "c3915f61fe267672cb7e1e064c9d692219f6c312";
+        name = "color___color_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-3.2.1.tgz";
+        sha512 = "aBl7dZI9ENN6fUGC7mWpMTPNHmWUSNan9tuWN6ahh5ZLNk9baLJOnSMlrQkHcrfFgz2/RigjUVAjdx36VcemKA==";
       };
     }
     {
-      name = "color___color_3.0.0.tgz";
+      name = "color___color_4.2.0.tgz";
       path = fetchurl {
-        name = "color___color_3.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/color/-/color-3.0.0.tgz";
-        sha1 = "d920b4328d534a3ac8295d68f7bd4ba6c427be9a";
+        name = "color___color_4.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/color/-/color-4.2.0.tgz";
+        sha512 = "hHTcrbvEnGjC7WBMk6ibQWFVDgEFTVmjrz2Q5HlU6ltwxv0JJN2Z8I7uRbWeQLF04dikxs8zgyZkazRJvSMtyQ==";
       };
     }
     {
@@ -902,39 +926,39 @@
       path = fetchurl {
         name = "colorette___colorette_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/colorette/-/colorette-1.4.0.tgz";
-        sha1 = "5190fbb87276259a86ad700bff2c6d6faa3fca40";
+        sha512 = "Y2oEozpomLn7Q3HFP7dpww7AtMJplbM9lGZP6RDfHqmbeRjiwRg4n6VM6j4KLmRke85uWEI7JqF17f3pqdRA0g==";
       };
     }
     {
-      name = "colors___colors_1.4.0.tgz";
+      name = "colorette___colorette_2.0.16.tgz";
       path = fetchurl {
-        name = "colors___colors_1.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz";
-        sha1 = "c50491479d4c1bdaed2c9ced32cf7c7dc2360f78";
+        name = "colorette___colorette_2.0.16.tgz";
+        url  = "https://registry.yarnpkg.com/colorette/-/colorette-2.0.16.tgz";
+        sha512 = "hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==";
       };
     }
     {
-      name = "colorspace___colorspace_1.1.2.tgz";
+      name = "colors___colors_1.4.0.tgz";
       path = fetchurl {
-        name = "colorspace___colorspace_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.2.tgz";
-        sha1 = "e0128950d082b86a2168580796a0aa5d6c68d8c5";
+        name = "colors___colors_1.4.0.tgz";
+        url  = "https://registry.yarnpkg.com/colors/-/colors-1.4.0.tgz";
+        sha512 = "a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==";
       };
     }
     {
-      name = "commander___commander_8.2.0.tgz";
+      name = "colorspace___colorspace_1.1.4.tgz";
       path = fetchurl {
-        name = "commander___commander_8.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/commander/-/commander-8.2.0.tgz";
-        sha1 = "37fe2bde301d87d47a53adeff8b5915db1381ca8";
+        name = "colorspace___colorspace_1.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/colorspace/-/colorspace-1.1.4.tgz";
+        sha512 = "BgvKJiuVu1igBUF2kEjRCZXol6wiiGbY5ipL/oVPwm0BL9sIpMIzM8IK7vwuxIIzOXMV3Ey5w+vxhm0rR/TN8w==";
       };
     }
     {
-      name = "comment_parser___comment_parser_1.1.2.tgz";
+      name = "commander___commander_8.3.0.tgz";
       path = fetchurl {
-        name = "comment_parser___comment_parser_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.1.2.tgz";
-        sha1 = "e5317d7a2ec22b470dcb54a29b25426c30bf39d8";
+        name = "commander___commander_8.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/commander/-/commander-8.3.0.tgz";
+        sha512 = "OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==";
       };
     }
     {
@@ -942,7 +966,15 @@
       path = fetchurl {
         name = "comment_parser___comment_parser_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.2.4.tgz";
-        sha1 = "489f3ee55dfd184a6e4bffb31baba284453cb760";
+        sha512 = "pm0b+qv+CkWNriSTMsfnjChF9kH0kxz55y44Wo5le9qLxMj5xDQAaEd9ZN1ovSuk9CsrncWaFwgpOMg7ClJwkw==";
+      };
+    }
+    {
+      name = "comment_parser___comment_parser_1.3.0.tgz";
+      path = fetchurl {
+        name = "comment_parser___comment_parser_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/comment-parser/-/comment-parser-1.3.0.tgz";
+        sha512 = "hRpmWIKgzd81vn0ydoWoyPoALEOnF4wt8yKD35Ib1D6XC2siLiYaiqfGkYrunuKdsXGwpBpHU3+9r+RVw2NZfA==";
       };
     }
     {
@@ -950,7 +982,7 @@
       path = fetchurl {
         name = "compare_versions___compare_versions_3.6.0.tgz";
         url  = "https://registry.yarnpkg.com/compare-versions/-/compare-versions-3.6.0.tgz";
-        sha1 = "1a5689913685e5a87637b8d3ffca75514ec41d62";
+        sha512 = "W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==";
       };
     }
     {
@@ -958,7 +990,7 @@
       path = fetchurl {
         name = "concat_map___concat_map_0.0.1.tgz";
         url  = "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz";
-        sha1 = "d8a96bd77fd68df7793a73036a3ba0d5405d477b";
+        sha1 = "2Klr13/Wjfd5OnMDajug1UBdR3s=";
       };
     }
     {
@@ -966,15 +998,15 @@
       path = fetchurl {
         name = "console_control_strings___console_control_strings_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/console-control-strings/-/console-control-strings-1.1.0.tgz";
-        sha1 = "3d7cf4464db6446ea644bf4b39507f9851008e8e";
+        sha1 = "PXz0Rk22RG6mRL9LOVB/mFEAjo4=";
       };
     }
     {
-      name = "content_disposition___content_disposition_0.5.3.tgz";
+      name = "content_disposition___content_disposition_0.5.4.tgz";
       path = fetchurl {
-        name = "content_disposition___content_disposition_0.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
-        sha1 = "e130caf7e7279087c5616c2007d0485698984fbd";
+        name = "content_disposition___content_disposition_0.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz";
+        sha512 = "FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==";
       };
     }
     {
@@ -982,7 +1014,7 @@
       path = fetchurl {
         name = "content_type___content_type_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/content-type/-/content-type-1.0.4.tgz";
-        sha1 = "e138cc75e040c727b1966fe5e5f8c9aee256fe3b";
+        sha512 = "hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==";
       };
     }
     {
@@ -990,15 +1022,15 @@
       path = fetchurl {
         name = "cookie_signature___cookie_signature_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz";
-        sha1 = "e303a882b342cc3ee8ca513a79999734dab3ae2c";
+        sha1 = "4wOogrNCzD7oylE6eZmXNNqzriw=";
       };
     }
     {
-      name = "cookie___cookie_0.4.0.tgz";
+      name = "cookie___cookie_0.4.1.tgz";
       path = fetchurl {
-        name = "cookie___cookie_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
-        sha1 = "beb437e7022b3b6d49019d088665303ebe9c14ba";
+        name = "cookie___cookie_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz";
+        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
       };
     }
     {
@@ -1006,7 +1038,7 @@
       path = fetchurl {
         name = "core_util_is___core_util_is_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz";
-        sha1 = "a6042d3634c2b27e9328f837b965fac83808db85";
+        sha512 = "ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==";
       };
     }
     {
@@ -1014,7 +1046,23 @@
       path = fetchurl {
         name = "cosmiconfig___cosmiconfig_7.0.1.tgz";
         url  = "https://registry.yarnpkg.com/cosmiconfig/-/cosmiconfig-7.0.1.tgz";
-        sha1 = "714d756522cace867867ccb4474c5d01bbae5d6d";
+        sha512 = "a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==";
+      };
+    }
+    {
+      name = "cross_env___cross_env_7.0.3.tgz";
+      path = fetchurl {
+        name = "cross_env___cross_env_7.0.3.tgz";
+        url  = "https://registry.yarnpkg.com/cross-env/-/cross-env-7.0.3.tgz";
+        sha512 = "+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==";
+      };
+    }
+    {
+      name = "cross_fetch___cross_fetch_3.1.5.tgz";
+      path = fetchurl {
+        name = "cross_fetch___cross_fetch_3.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz";
+        sha512 = "lvb1SBsI0Z7GDwmuid+mU3kWVBwTVUbe7S0H52yaaAdQOXq2YktTCZdlAcNKFzE6QtRz0snpw9bNiPeOIkkQvw==";
       };
     }
     {
@@ -1022,7 +1070,7 @@
       path = fetchurl {
         name = "cross_spawn___cross_spawn_7.0.3.tgz";
         url  = "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-7.0.3.tgz";
-        sha1 = "f73a85b9d5d41d045551c177e2882d4ac85728a6";
+        sha512 = "iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==";
       };
     }
     {
@@ -1030,31 +1078,31 @@
       path = fetchurl {
         name = "debug___debug_2.6.9.tgz";
         url  = "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz";
-        sha1 = "5d128515df134ff327e90a4c93f4e077a536341f";
+        sha512 = "bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==";
       };
     }
     {
-      name = "debug___debug_4.3.2.tgz";
+      name = "debug___debug_4.3.3.tgz";
       path = fetchurl {
-        name = "debug___debug_4.3.2.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz";
-        sha1 = "f0a49c18ac8779e31d4a0c6029dfb76873c7428b";
+        name = "debug___debug_4.3.3.tgz";
+        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz";
+        sha512 = "/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q==";
       };
     }
     {
-      name = "debug___debug_4.3.1.tgz";
+      name = "decompress_response___decompress_response_4.2.1.tgz";
       path = fetchurl {
-        name = "debug___debug_4.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz";
-        sha1 = "f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee";
+        name = "decompress_response___decompress_response_4.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz";
+        sha512 = "jOSne2qbyE+/r8G1VU+G/82LBs2Fs4LAsTiLSHOCOMZQl2OKZ6i8i4IyHemTe+/yIXOtTcRQMzPcgyhoFlqPkw==";
       };
     }
     {
-      name = "decompress_response___decompress_response_4.2.1.tgz";
+      name = "decompress_response___decompress_response_6.0.0.tgz";
       path = fetchurl {
-        name = "decompress_response___decompress_response_4.2.1.tgz";
-        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-4.2.1.tgz";
-        sha1 = "414023cc7a302da25ce2ec82d0d5238ccafd8986";
+        name = "decompress_response___decompress_response_6.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz";
+        sha512 = "aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==";
       };
     }
     {
@@ -1062,7 +1110,7 @@
       path = fetchurl {
         name = "deep_extend___deep_extend_0.6.0.tgz";
         url  = "https://registry.yarnpkg.com/deep-extend/-/deep-extend-0.6.0.tgz";
-        sha1 = "c4fa7c95404a17a9c3e8ca7e1537312b736330ac";
+        sha512 = "LOHxIOaPYdHlJRtCQfDIVZtfw/ufM8+rVj649RIHzcm/vGwQRXFt6OPqIFWsm2XEMrNIEtWR64sY1LEKD2vAOA==";
       };
     }
     {
@@ -1070,7 +1118,7 @@
       path = fetchurl {
         name = "deep_is___deep_is_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz";
-        sha1 = "a6f2dce612fadd2ef1f519b73551f17e85199831";
+        sha512 = "oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==";
       };
     }
     {
@@ -1078,7 +1126,7 @@
       path = fetchurl {
         name = "define_properties___define_properties_1.1.3.tgz";
         url  = "https://registry.yarnpkg.com/define-properties/-/define-properties-1.1.3.tgz";
-        sha1 = "cf88da6cbee26fe6db7094f61d870cbd84cee9f1";
+        sha512 = "3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==";
       };
     }
     {
@@ -1086,7 +1134,7 @@
       path = fetchurl {
         name = "delegates___delegates_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/delegates/-/delegates-1.0.0.tgz";
-        sha1 = "84c6e159b81904fdca59a0ef44cd870d31250f9a";
+        sha1 = "hMbhWbgZBP3KWaDvRM2HDTElD5o=";
       };
     }
     {
@@ -1094,7 +1142,7 @@
       path = fetchurl {
         name = "depd___depd_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/depd/-/depd-1.1.2.tgz";
-        sha1 = "9bcd52e14c097763e749b274c4346ed2e560b5a9";
+        sha1 = "m81S4UwJd2PnSbJ0xDRu0uVgtak=";
       };
     }
     {
@@ -1102,7 +1150,7 @@
       path = fetchurl {
         name = "depd___depd_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/depd/-/depd-2.0.0.tgz";
-        sha1 = "b696163cc757560d09cf22cc8fad1571b79e76df";
+        sha512 = "g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==";
       };
     }
     {
@@ -1110,7 +1158,7 @@
       path = fetchurl {
         name = "destroy___destroy_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz";
-        sha1 = "978857442c44749e4206613e37946205826abd80";
+        sha1 = "l4hXRCxEdJ5CBmE+N5RiBYJqvYA=";
       };
     }
     {
@@ -1118,15 +1166,23 @@
       path = fetchurl {
         name = "detect_libc___detect_libc_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz";
-        sha1 = "fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b";
+        sha1 = "+hN8S9aY7fVc1c0CrFWfkaTEups=";
+      };
+    }
+    {
+      name = "detect_libc___detect_libc_2.0.0.tgz";
+      path = fetchurl {
+        name = "detect_libc___detect_libc_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/detect-libc/-/detect-libc-2.0.0.tgz";
+        sha512 = "S55LzUl8HUav8l9E2PBTlC5PAJrHK7tkM+XXFGD+fbsbkTzhCpG6K05LxJcUOEWzMa4v6ptcMZ9s3fOdJDu0Zw==";
       };
     }
     {
-      name = "devtools_protocol___devtools_protocol_0.0.901419.tgz";
+      name = "devtools_protocol___devtools_protocol_0.0.960912.tgz";
       path = fetchurl {
-        name = "devtools_protocol___devtools_protocol_0.0.901419.tgz";
-        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.901419.tgz";
-        sha1 = "79b5459c48fe7e1c5563c02bd72f8fec3e0cebcd";
+        name = "devtools_protocol___devtools_protocol_0.0.960912.tgz";
+        url  = "https://registry.yarnpkg.com/devtools-protocol/-/devtools-protocol-0.0.960912.tgz";
+        sha512 = "I3hWmV9rWHbdnUdmMKHF2NuYutIM2kXz2mdXW8ha7TbRlGTVs+PF+PsB5QWvpCek4Fy9B+msiispCfwlhG5Sqg==";
       };
     }
     {
@@ -1134,7 +1190,7 @@
       path = fetchurl {
         name = "dir_glob___dir_glob_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/dir-glob/-/dir-glob-3.0.1.tgz";
-        sha1 = "56dbf73d992a4a93ba1584f4534063fd2e41717f";
+        sha512 = "WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==";
       };
     }
     {
@@ -1142,7 +1198,7 @@
       path = fetchurl {
         name = "doctrine___doctrine_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-2.1.0.tgz";
-        sha1 = "5cd01fc101621b42c4cd7f5d1a66243716d3f39d";
+        sha512 = "35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==";
       };
     }
     {
@@ -1150,7 +1206,7 @@
       path = fetchurl {
         name = "doctrine___doctrine_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/doctrine/-/doctrine-3.0.0.tgz";
-        sha1 = "addebead72a6574db783639dc87a121773973961";
+        sha512 = "yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==";
       };
     }
     {
@@ -1158,7 +1214,7 @@
       path = fetchurl {
         name = "duplexer___duplexer_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz";
-        sha1 = "3abe43aef3835f8ae077d136ddce0f276b0400e6";
+        sha512 = "jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==";
       };
     }
     {
@@ -1166,7 +1222,7 @@
       path = fetchurl {
         name = "ee_first___ee_first_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz";
-        sha1 = "590c61156b0ae2f4f0255732a158b266bc56b21d";
+        sha1 = "WQxhFWsK4vTwJVcyoViyZrxWsh0=";
       };
     }
     {
@@ -1174,7 +1230,7 @@
       path = fetchurl {
         name = "emoji_regex___emoji_regex_8.0.0.tgz";
         url  = "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz";
-        sha1 = "e818fd69ce5ccfcb404594f842963bf53164cc37";
+        sha512 = "MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==";
       };
     }
     {
@@ -1182,7 +1238,7 @@
       path = fetchurl {
         name = "enabled___enabled_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/enabled/-/enabled-2.0.0.tgz";
-        sha1 = "f9dd92ec2d6f4bbc0d5d1e64e21d61cd4665e7c2";
+        sha512 = "AKrN98kuwOzMIdAizXGI86UFBoo26CL21UM763y1h/GMSJ4/OHU9k2YlsmBpyScFo/wbLzWQJBMCW4+IO3/+OQ==";
       };
     }
     {
@@ -1190,7 +1246,7 @@
       path = fetchurl {
         name = "encodeurl___encodeurl_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/encodeurl/-/encodeurl-1.0.2.tgz";
-        sha1 = "ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59";
+        sha1 = "rT/0yG7C0CkyL1oCw6mmBslbP1k=";
       };
     }
     {
@@ -1198,7 +1254,7 @@
       path = fetchurl {
         name = "end_of_stream___end_of_stream_1.4.4.tgz";
         url  = "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz";
-        sha1 = "5ae64a5f45057baf3626ec14da0ca5e4b2431eb0";
+        sha512 = "+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==";
       };
     }
     {
@@ -1206,7 +1262,7 @@
       path = fetchurl {
         name = "enquirer___enquirer_2.3.6.tgz";
         url  = "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz";
-        sha1 = "2a7fe5dd634a1e4125a975ec994ff5456dc3734d";
+        sha512 = "yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==";
       };
     }
     {
@@ -1214,7 +1270,7 @@
       path = fetchurl {
         name = "error_ex___error_ex_1.3.2.tgz";
         url  = "https://registry.yarnpkg.com/error-ex/-/error-ex-1.3.2.tgz";
-        sha1 = "b4ac40648107fdcdcfae242f428bea8a14d4f1bf";
+        sha512 = "7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==";
       };
     }
     {
@@ -1222,7 +1278,7 @@
       path = fetchurl {
         name = "es_abstract___es_abstract_1.19.1.tgz";
         url  = "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.19.1.tgz";
-        sha1 = "d4885796876916959de78edaa0df456627115ec3";
+        sha512 = "2vJ6tjA/UfqLm2MPs7jxVybLoB8i1t1Jd9R3kISld20sIxPcTbLuggQOUxeWeAvIUkduv/CfMjuh4WmiXr2v9w==";
       };
     }
     {
@@ -1230,7 +1286,7 @@
       path = fetchurl {
         name = "es_to_primitive___es_to_primitive_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/es-to-primitive/-/es-to-primitive-1.2.1.tgz";
-        sha1 = "e55cd4c9cdc188bcefb03b366c736323fc5c898a";
+        sha512 = "QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==";
       };
     }
     {
@@ -1238,7 +1294,7 @@
       path = fetchurl {
         name = "escalade___escalade_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/escalade/-/escalade-3.1.1.tgz";
-        sha1 = "d8cfdc7000965c5a0174b4a82eaa5c0552742e40";
+        sha512 = "k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==";
       };
     }
     {
@@ -1246,7 +1302,7 @@
       path = fetchurl {
         name = "escape_html___escape_html_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/escape-html/-/escape-html-1.0.3.tgz";
-        sha1 = "0258eae4d3d0c0974de1c169188ef0051d1d1988";
+        sha1 = "Aljq5NPQwJdN4cFpGI7wBR0dGYg=";
       };
     }
     {
@@ -1254,7 +1310,7 @@
       path = fetchurl {
         name = "escape_string_regexp___escape_string_regexp_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz";
-        sha1 = "1b61c0562190a8dff6ae3bb2cf0200ca130b86d4";
+        sha1 = "G2HAViGQqN/2rjuyzwIAyhMLhtQ=";
       };
     }
     {
@@ -1262,7 +1318,7 @@
       path = fetchurl {
         name = "escape_string_regexp___escape_string_regexp_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz";
-        sha1 = "14ba83a5d373e3d311e5afca29cf5bfad965bf34";
+        sha512 = "TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==";
       };
     }
     {
@@ -1270,15 +1326,7 @@
       path = fetchurl {
         name = "escodegen___escodegen_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/escodegen/-/escodegen-2.0.0.tgz";
-        sha1 = "5e32b12833e8aa8fa35e1bf0befa89380484c7dd";
-      };
-    }
-    {
-      name = "eslint_config_prettier___eslint_config_prettier_7.2.0.tgz";
-      path = fetchurl {
-        name = "eslint_config_prettier___eslint_config_prettier_7.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-7.2.0.tgz";
-        sha1 = "f4a4bd2832e810e8cc7c1411ec85b3e85c0c53f9";
+        sha512 = "mmHKys/C8BFUGI+MAWNcSYoORYLMdPzjrknd2Vc+bUsjN5bXcr8EhrNB+UTqfL1y3I9c4fw2ihgtMPQLBRiQxw==";
       };
     }
     {
@@ -1286,31 +1334,23 @@
       path = fetchurl {
         name = "eslint_config_prettier___eslint_config_prettier_8.3.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz";
-        sha1 = "f7471b20b6fe8a9a9254cc684454202886a2dd7a";
+        sha512 = "BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==";
       };
     }
     {
-      name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_31.6.1.tgz";
+      name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_37.7.0.tgz";
       path = fetchurl {
-        name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_31.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-31.6.1.tgz";
-        sha1 = "98040c801500572fff71c984a097d89946f1e450";
+        name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_37.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-37.7.0.tgz";
+        sha512 = "vzy3/ltXoGtabRnjLogaEmhGxxIv5B8HK5MJLIrdxFJUvhBppZjuVuLr71DjIBi0jg6bFomwkYKjojt29cN8PA==";
       };
     }
     {
-      name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_36.1.0.tgz";
+      name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_36.1.1.tgz";
       path = fetchurl {
-        name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_36.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.0.tgz";
-        sha1 = "8dfe5f27edfb6aa3812e6d86ccaea849ddc86b03";
-      };
-    }
-    {
-      name = "eslint_plugin_prettier___eslint_plugin_prettier_3.3.1.tgz";
-      path = fetchurl {
-        name = "eslint_plugin_prettier___eslint_plugin_prettier_3.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-3.3.1.tgz";
-        sha1 = "7079cfa2497078905011e6f82e8dd8453d1371b7";
+        name = "eslint_plugin_jsdoc___eslint_plugin_jsdoc_36.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-jsdoc/-/eslint-plugin-jsdoc-36.1.1.tgz";
+        sha512 = "nuLDvH1EJaKx0PCa9oeQIxH6pACIhZd1gkalTUxZbaxxwokjs7TplqY0Q8Ew3CoZaf5aowm0g/Z3JGHCatt+gQ==";
       };
     }
     {
@@ -1318,31 +1358,23 @@
       path = fetchurl {
         name = "eslint_plugin_prettier___eslint_plugin_prettier_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-plugin-prettier/-/eslint-plugin-prettier-4.0.0.tgz";
-        sha1 = "8b99d1e4b8b24a762472b4567992023619cb98e0";
-      };
-    }
-    {
-      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_4.2.0.tgz";
-      path = fetchurl {
-        name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_4.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz";
-        sha1 = "8c229c268d468956334c943bb45fc860280f5556";
+        sha512 = "98MqmCJ7vJodoQK359bqQWaxOE0CS8paAz/GgjaZLyex4TTk3g9HugoO89EqWCrFiOqn9EVvcoo7gZzONCWVwQ==";
       };
     }
     {
-      name = "eslint_plugin_react___eslint_plugin_react_7.22.0.tgz";
+      name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_4.3.0.tgz";
       path = fetchurl {
-        name = "eslint_plugin_react___eslint_plugin_react_7.22.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.22.0.tgz";
-        sha1 = "3d1c542d1d3169c45421c1215d9470e341707269";
+        name = "eslint_plugin_react_hooks___eslint_plugin_react_hooks_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz";
+        sha512 = "XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA==";
       };
     }
     {
-      name = "eslint_plugin_react___eslint_plugin_react_7.26.1.tgz";
+      name = "eslint_plugin_react___eslint_plugin_react_7.28.0.tgz";
       path = fetchurl {
-        name = "eslint_plugin_react___eslint_plugin_react_7.26.1.tgz";
-        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.26.1.tgz";
-        sha1 = "41bcfe3e39e6a5ac040971c1af94437c80daa40e";
+        name = "eslint_plugin_react___eslint_plugin_react_7.28.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz";
+        sha512 = "IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw==";
       };
     }
     {
@@ -1350,7 +1382,7 @@
       path = fetchurl {
         name = "eslint_scope___eslint_scope_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz";
-        sha1 = "e786e59a66cb92b3f6c1fb0d508aab174848f48c";
+        sha512 = "2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==";
       };
     }
     {
@@ -1358,7 +1390,7 @@
       path = fetchurl {
         name = "eslint_utils___eslint_utils_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz";
-        sha1 = "d2de5e03424e707dc10c74068ddedae708741b27";
+        sha512 = "w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg==";
       };
     }
     {
@@ -1366,7 +1398,7 @@
       path = fetchurl {
         name = "eslint_utils___eslint_utils_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz";
-        sha1 = "8aebaface7345bb33559db0a1f13a1d2d48c3672";
+        sha512 = "uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==";
       };
     }
     {
@@ -1374,7 +1406,7 @@
       path = fetchurl {
         name = "eslint_visitor_keys___eslint_visitor_keys_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz";
-        sha1 = "30ebd1ef7c2fdff01c3a4f151044af25fab0523e";
+        sha512 = "6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ==";
       };
     }
     {
@@ -1382,15 +1414,23 @@
       path = fetchurl {
         name = "eslint_visitor_keys___eslint_visitor_keys_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz";
-        sha1 = "f65328259305927392c938ed44eb0a5c9b2bd303";
+        sha512 = "0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==";
+      };
+    }
+    {
+      name = "eslint_visitor_keys___eslint_visitor_keys_3.2.0.tgz";
+      path = fetchurl {
+        name = "eslint_visitor_keys___eslint_visitor_keys_3.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.2.0.tgz";
+        sha512 = "IOzT0X126zn7ALX0dwFiUQEdsfzrm4+ISsQS8nukaJXwEyYKRSnEIIDULYg1mCtGp7UUXgfGl7BIolXREQK+XQ==";
       };
     }
     {
-      name = "eslint___eslint_7.21.0.tgz";
+      name = "eslint___eslint_7.28.0.tgz";
       path = fetchurl {
-        name = "eslint___eslint_7.21.0.tgz";
-        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.21.0.tgz";
-        sha1 = "4ecd5b8c5b44f5dedc9b8a110b01bbfeb15d1c83";
+        name = "eslint___eslint_7.28.0.tgz";
+        url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.28.0.tgz";
+        sha512 = "UMfH0VSjP0G4p3EWirscJEQ/cHqnT/iuH6oNZOB94nBjWbMnhGEPxsZm1eyIW0C/9jLI0Fow4W5DXLjEI7mn1g==";
       };
     }
     {
@@ -1398,7 +1438,7 @@
       path = fetchurl {
         name = "eslint___eslint_7.32.0.tgz";
         url  = "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz";
-        sha1 = "c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d";
+        sha512 = "VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA==";
       };
     }
     {
@@ -1406,7 +1446,7 @@
       path = fetchurl {
         name = "espree___espree_7.3.1.tgz";
         url  = "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz";
-        sha1 = "f2df330b752c6f55019f8bd89b7660039c1bbbb6";
+        sha512 = "v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g==";
       };
     }
     {
@@ -1414,7 +1454,7 @@
       path = fetchurl {
         name = "esprima___esprima_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz";
-        sha1 = "13b04cdb3e6c5d19df91ab6987a8695619b0aa71";
+        sha512 = "eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==";
       };
     }
     {
@@ -1422,7 +1462,7 @@
       path = fetchurl {
         name = "esquery___esquery_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/esquery/-/esquery-1.4.0.tgz";
-        sha1 = "2148ffc38b82e8c7057dfed48425b3e61f0f24a5";
+        sha512 = "cCDispWt5vHHtwMY2YrAQ4ibFkAL8RbH5YGBnZBc90MolvvfkkQcJro/aZiAQUlQ3qgrYS6D6v8Gc5G5CQsc9w==";
       };
     }
     {
@@ -1430,7 +1470,7 @@
       path = fetchurl {
         name = "esrecurse___esrecurse_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/esrecurse/-/esrecurse-4.3.0.tgz";
-        sha1 = "7ad7964d679abb28bee72cec63758b1c5d2c9921";
+        sha512 = "KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==";
       };
     }
     {
@@ -1438,15 +1478,15 @@
       path = fetchurl {
         name = "estraverse___estraverse_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz";
-        sha1 = "398ad3f3c5a24948be7725e83d11a7de28cdbd1d";
+        sha512 = "39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==";
       };
     }
     {
-      name = "estraverse___estraverse_5.2.0.tgz";
+      name = "estraverse___estraverse_5.3.0.tgz";
       path = fetchurl {
-        name = "estraverse___estraverse_5.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.2.0.tgz";
-        sha1 = "307df42547e6cc7324d3cf03c155d5cdb8c53880";
+        name = "estraverse___estraverse_5.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz";
+        sha512 = "MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==";
       };
     }
     {
@@ -1454,7 +1494,7 @@
       path = fetchurl {
         name = "esutils___esutils_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz";
-        sha1 = "74d2eb4de0b8da1293711910d50775b9b710ef64";
+        sha512 = "kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==";
       };
     }
     {
@@ -1462,7 +1502,7 @@
       path = fetchurl {
         name = "etag___etag_1.8.1.tgz";
         url  = "https://registry.yarnpkg.com/etag/-/etag-1.8.1.tgz";
-        sha1 = "41ae2eeb65efa62268aebfea83ac7d79299b0887";
+        sha1 = "Qa4u62XvpiJorr/qg6x9eSmbCIc=";
       };
     }
     {
@@ -1470,7 +1510,7 @@
       path = fetchurl {
         name = "event_stream___event_stream_3.3.4.tgz";
         url  = "https://registry.yarnpkg.com/event-stream/-/event-stream-3.3.4.tgz";
-        sha1 = "4ab4c9a0f5a54db9338b4c34d86bfce8f4b35571";
+        sha1 = "SrTJoPWlTbkzi0w02Gv86PSzVXE=";
       };
     }
     {
@@ -1478,7 +1518,7 @@
       path = fetchurl {
         name = "execa___execa_5.1.1.tgz";
         url  = "https://registry.yarnpkg.com/execa/-/execa-5.1.1.tgz";
-        sha1 = "f80ad9cbf4298f7bd1d4c9555c21e93741c411dd";
+        sha512 = "8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==";
       };
     }
     {
@@ -1486,7 +1526,7 @@
       path = fetchurl {
         name = "expand_template___expand_template_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/expand-template/-/expand-template-2.0.3.tgz";
-        sha1 = "6e14b3fcee0f3a6340ecb57d2e8918692052a47c";
+        sha512 = "XYfuKMvj4O35f/pOXLObndIRvyQ+/+6AhODh+OKWj9S9498pHHn/IMszH+gt0fBCRWMNfk1ZSp5x3AifmnI2vg==";
       };
     }
     {
@@ -1494,15 +1534,15 @@
       path = fetchurl {
         name = "express_prom_bundle___express_prom_bundle_5.1.5.tgz";
         url  = "https://registry.yarnpkg.com/express-prom-bundle/-/express-prom-bundle-5.1.5.tgz";
-        sha1 = "f298615879299a58cf8ec1350186f4de91d91fa4";
+        sha512 = "tUaQUBu0r9zGYcVDpKBI2AeWimuuodaC5BSBkzLPQxRTxaKQShQNnONQSYwjLxbHfPwlCKVZlzfbB9Recnj0Vg==";
       };
     }
     {
-      name = "express___express_4.17.1.tgz";
+      name = "express___express_4.17.2.tgz";
       path = fetchurl {
-        name = "express___express_4.17.1.tgz";
-        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
-        sha1 = "4491fc38605cf51f8629d39c2b5d026f98a4c134";
+        name = "express___express_4.17.2.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz";
+        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
       };
     }
     {
@@ -1510,7 +1550,7 @@
       path = fetchurl {
         name = "extract_zip___extract_zip_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/extract-zip/-/extract-zip-2.0.1.tgz";
-        sha1 = "663dca56fe46df890d5f131ef4a06d22bb8ba13a";
+        sha512 = "GDhU9ntwuKyGXdZBUgTIe+vXnWj0fppUEtMDL0+idd5Sta8TGpHssn/eusA9mrPr9qNDym6SxAYZjNvCn/9RBg==";
       };
     }
     {
@@ -1518,7 +1558,7 @@
       path = fetchurl {
         name = "fast_deep_equal___fast_deep_equal_3.1.3.tgz";
         url  = "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz";
-        sha1 = "3a7d56b559d6cbc3eb512325244e619a65c6c525";
+        sha512 = "f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==";
       };
     }
     {
@@ -1526,15 +1566,15 @@
       path = fetchurl {
         name = "fast_diff___fast_diff_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/fast-diff/-/fast-diff-1.2.0.tgz";
-        sha1 = "73ee11982d86caaf7959828d519cfe927fac5f03";
+        sha512 = "xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==";
       };
     }
     {
-      name = "fast_glob___fast_glob_3.2.7.tgz";
+      name = "fast_glob___fast_glob_3.2.11.tgz";
       path = fetchurl {
-        name = "fast_glob___fast_glob_3.2.7.tgz";
-        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.7.tgz";
-        sha1 = "fd6cb7a2d7e9aa7a7846111e85a196d6b2f766a1";
+        name = "fast_glob___fast_glob_3.2.11.tgz";
+        url  = "https://registry.yarnpkg.com/fast-glob/-/fast-glob-3.2.11.tgz";
+        sha512 = "xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==";
       };
     }
     {
@@ -1542,7 +1582,7 @@
       path = fetchurl {
         name = "fast_json_stable_stringify___fast_json_stable_stringify_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz";
-        sha1 = "874bf69c6f404c2b5d99c481341399fd55892633";
+        sha512 = "lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==";
       };
     }
     {
@@ -1550,7 +1590,7 @@
       path = fetchurl {
         name = "fast_levenshtein___fast_levenshtein_2.0.6.tgz";
         url  = "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz";
-        sha1 = "3d8a5c66883a16a30ca8643e851f19baa7797917";
+        sha1 = "PYpcZog6FqMMqGQ+hR8Zuqd5eRc=";
       };
     }
     {
@@ -1558,7 +1598,7 @@
       path = fetchurl {
         name = "fastq___fastq_1.13.0.tgz";
         url  = "https://registry.yarnpkg.com/fastq/-/fastq-1.13.0.tgz";
-        sha1 = "616760f88a7526bdfc596b7cab8c18938c36b98c";
+        sha512 = "YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==";
       };
     }
     {
@@ -1566,7 +1606,7 @@
       path = fetchurl {
         name = "fd_slicer___fd_slicer_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fd-slicer/-/fd-slicer-1.1.0.tgz";
-        sha1 = "25c7c89cb1f9077f8891bbe61d8f390eae256f1e";
+        sha1 = "JcfInLH5B3+IkbvmHY85Dq4lbx4=";
       };
     }
     {
@@ -1574,7 +1614,7 @@
       path = fetchurl {
         name = "fecha___fecha_4.2.1.tgz";
         url  = "https://registry.yarnpkg.com/fecha/-/fecha-4.2.1.tgz";
-        sha1 = "0a83ad8f86ef62a091e22bb5a039cd03d23eecce";
+        sha512 = "MMMQ0ludy/nBs1/o0zVOiKTpG7qMbonKUzjJgQFEuvq6INZ1OraKPRAWkBq5vlKLOUMpmNYG1JoN3oDPUQ9m3Q==";
       };
     }
     {
@@ -1582,7 +1622,7 @@
       path = fetchurl {
         name = "file_entry_cache___file_entry_cache_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/file-entry-cache/-/file-entry-cache-6.0.1.tgz";
-        sha1 = "211b2dd9659cb0394b073e7323ac3c933d522027";
+        sha512 = "7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==";
       };
     }
     {
@@ -1590,7 +1630,7 @@
       path = fetchurl {
         name = "fill_range___fill_range_7.0.1.tgz";
         url  = "https://registry.yarnpkg.com/fill-range/-/fill-range-7.0.1.tgz";
-        sha1 = "1919a6a7c75fe38b2c7c77e5198535da9acdda40";
+        sha512 = "qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==";
       };
     }
     {
@@ -1598,7 +1638,7 @@
       path = fetchurl {
         name = "finalhandler___finalhandler_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/finalhandler/-/finalhandler-1.1.2.tgz";
-        sha1 = "b7e7d000ffd11938d0fdb053506f6ebabe9f587d";
+        sha512 = "aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==";
       };
     }
     {
@@ -1606,7 +1646,7 @@
       path = fetchurl {
         name = "find_up___find_up_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/find-up/-/find-up-4.1.0.tgz";
-        sha1 = "97afe7d6cdc0bc5928584b7c8d7b16e8a9aa5d19";
+        sha512 = "PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==";
       };
     }
     {
@@ -1614,7 +1654,7 @@
       path = fetchurl {
         name = "find_up___find_up_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/find-up/-/find-up-5.0.0.tgz";
-        sha1 = "4c92819ecb7083561e4f4a240a86be5198f536fc";
+        sha512 = "78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==";
       };
     }
     {
@@ -1622,7 +1662,7 @@
       path = fetchurl {
         name = "find_versions___find_versions_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/find-versions/-/find-versions-4.0.0.tgz";
-        sha1 = "3c57e573bf97769b8cb8df16934b627915da4965";
+        sha512 = "wgpWy002tA+wgmO27buH/9KzyEOQnKsG/R0yrcjPT9BOFm0zRBVQbZ95nRGXWMywS8YR5knRbpohio0bcJABxQ==";
       };
     }
     {
@@ -1630,15 +1670,15 @@
       path = fetchurl {
         name = "flat_cache___flat_cache_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/flat-cache/-/flat-cache-3.0.4.tgz";
-        sha1 = "61b0338302b2fe9f957dcc32fc2a87f1c3048b11";
+        sha512 = "dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==";
       };
     }
     {
-      name = "flatted___flatted_3.2.2.tgz";
+      name = "flatted___flatted_3.2.5.tgz";
       path = fetchurl {
-        name = "flatted___flatted_3.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.2.2.tgz";
-        sha1 = "64bfed5cb68fe3ca78b3eb214ad97b63bedce561";
+        name = "flatted___flatted_3.2.5.tgz";
+        url  = "https://registry.yarnpkg.com/flatted/-/flatted-3.2.5.tgz";
+        sha512 = "WIWGi2L3DyTUvUrwRKgGi9TwxQMUEqPOPQBVi71R96jZXJdFskXEmf54BoZaS1kknGODoIGASGEzBUYdyMCBJg==";
       };
     }
     {
@@ -1646,7 +1686,7 @@
       path = fetchurl {
         name = "fn.name___fn.name_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz";
-        sha1 = "26cad8017967aea8731bc42961d04a3d5988accc";
+        sha512 = "GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw==";
       };
     }
     {
@@ -1654,7 +1694,7 @@
       path = fetchurl {
         name = "forwarded___forwarded_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/forwarded/-/forwarded-0.2.0.tgz";
-        sha1 = "2269936428aad4c15c7ebe9779a84bf0b2a81811";
+        sha512 = "buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==";
       };
     }
     {
@@ -1662,7 +1702,7 @@
       path = fetchurl {
         name = "fresh___fresh_0.5.2.tgz";
         url  = "https://registry.yarnpkg.com/fresh/-/fresh-0.5.2.tgz";
-        sha1 = "3d8cadd90d976569fa835ab1f8e4b23a105605a7";
+        sha1 = "PYyt2Q2XZWn6g1qx+OSyOhBWBac=";
       };
     }
     {
@@ -1670,7 +1710,7 @@
       path = fetchurl {
         name = "from2___from2_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/from2/-/from2-2.3.0.tgz";
-        sha1 = "8bfb5502bde4a4d36cfdeea007fcca21d7e382af";
+        sha1 = "i/tVAr3kpNNs/e6gB/zKIdfjgq8=";
       };
     }
     {
@@ -1678,7 +1718,7 @@
       path = fetchurl {
         name = "from___from_0.1.7.tgz";
         url  = "https://registry.yarnpkg.com/from/-/from-0.1.7.tgz";
-        sha1 = "83c60afc58b9c56997007ed1a768b3ab303a44fe";
+        sha1 = "g8YK/Fi5xWmXAH7Rp2izqzA6RP4=";
       };
     }
     {
@@ -1686,7 +1726,7 @@
       path = fetchurl {
         name = "fs_constants___fs_constants_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz";
-        sha1 = "6be0de9be998ce16af8afc24497b9ee9b7ccd9ad";
+        sha512 = "y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==";
       };
     }
     {
@@ -1694,7 +1734,7 @@
       path = fetchurl {
         name = "fs_extra___fs_extra_9.1.0.tgz";
         url  = "https://registry.yarnpkg.com/fs-extra/-/fs-extra-9.1.0.tgz";
-        sha1 = "5954460c764a8da2094ba3554bf839e6b9a7c86d";
+        sha512 = "hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==";
       };
     }
     {
@@ -1702,7 +1742,7 @@
       path = fetchurl {
         name = "fs.realpath___fs.realpath_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/fs.realpath/-/fs.realpath-1.0.0.tgz";
-        sha1 = "1504ad2523158caa40db4a2787cb01411994ea4f";
+        sha1 = "FQStJSMVjKpA20onh8sBQRmU6k8=";
       };
     }
     {
@@ -1710,7 +1750,7 @@
       path = fetchurl {
         name = "fsevents___fsevents_2.3.2.tgz";
         url  = "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.2.tgz";
-        sha1 = "8a526f78b8fdf4623b709e0b975c52c24c02fd1a";
+        sha512 = "xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==";
       };
     }
     {
@@ -1718,7 +1758,7 @@
       path = fetchurl {
         name = "function_bind___function_bind_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/function-bind/-/function-bind-1.1.1.tgz";
-        sha1 = "a56899d3ea3c9bab874bb9773b7c5ede92f4895d";
+        sha512 = "yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==";
       };
     }
     {
@@ -1726,7 +1766,7 @@
       path = fetchurl {
         name = "functional_red_black_tree___functional_red_black_tree_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/functional-red-black-tree/-/functional-red-black-tree-1.0.1.tgz";
-        sha1 = "1b0ab3bd553b2a0d6399d29c0e3ea0b252078327";
+        sha1 = "GwqzvVU7Kg1jmdKcDj6gslIHgyc=";
       };
     }
     {
@@ -1734,7 +1774,7 @@
       path = fetchurl {
         name = "gauge___gauge_2.7.4.tgz";
         url  = "https://registry.yarnpkg.com/gauge/-/gauge-2.7.4.tgz";
-        sha1 = "2c03405c7538c39d7eb37b317022e325fb018bf7";
+        sha1 = "LANAXHU4w51+s3sxcCLjJfsBi/c=";
       };
     }
     {
@@ -1742,7 +1782,7 @@
       path = fetchurl {
         name = "get_caller_file___get_caller_file_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz";
-        sha1 = "4f94412a82db32f36e3b0b9741f8a97feb031f7e";
+        sha512 = "DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==";
       };
     }
     {
@@ -1750,7 +1790,7 @@
       path = fetchurl {
         name = "get_intrinsic___get_intrinsic_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/get-intrinsic/-/get-intrinsic-1.1.1.tgz";
-        sha1 = "15f59f376f855c446963948f0d24cd3637b4abc6";
+        sha512 = "kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==";
       };
     }
     {
@@ -1758,7 +1798,7 @@
       path = fetchurl {
         name = "get_own_enumerable_property_symbols___get_own_enumerable_property_symbols_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/get-own-enumerable-property-symbols/-/get-own-enumerable-property-symbols-3.0.2.tgz";
-        sha1 = "b5fde77f22cbe35f390b4e089922c50bce6ef664";
+        sha512 = "I0UBV/XOz1XkIJHEUDMZAbzCThU/H8DxmSfmdGcKPnVhu2VfFqr34jr9777IyaTYvxjedWhqVIilEDsCdP5G6g==";
       };
     }
     {
@@ -1766,7 +1806,7 @@
       path = fetchurl {
         name = "get_stream___get_stream_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-5.2.0.tgz";
-        sha1 = "4966a1795ee5ace65e706c4b7beb71257d6e22d3";
+        sha512 = "nBF+F1rAZVCu/p7rjzgA+Yb4lfYXrpl7a6VmJrU8wF9I1CKvP/QwPNZHnOlwbTkY6dvtFIzFMSyQXbLoTQPRpA==";
       };
     }
     {
@@ -1774,7 +1814,7 @@
       path = fetchurl {
         name = "get_stream___get_stream_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/get-stream/-/get-stream-6.0.1.tgz";
-        sha1 = "a262d8eef67aced57c2852ad6167526a43cbf7b7";
+        sha512 = "ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==";
       };
     }
     {
@@ -1782,7 +1822,7 @@
       path = fetchurl {
         name = "get_symbol_description___get_symbol_description_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/get-symbol-description/-/get-symbol-description-1.0.0.tgz";
-        sha1 = "7fdb81c900101fbd564dd5f1a30af5aadc1e58d6";
+        sha512 = "2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==";
       };
     }
     {
@@ -1790,7 +1830,7 @@
       path = fetchurl {
         name = "github_from_package___github_from_package_0.0.0.tgz";
         url  = "https://registry.yarnpkg.com/github-from-package/-/github-from-package-0.0.0.tgz";
-        sha1 = "97fb5d96bfde8973313f20e8288ef9a167fa64ce";
+        sha1 = "l/tdlr/eiXMxPyDoKI75oWf6ZM4=";
       };
     }
     {
@@ -1798,7 +1838,7 @@
       path = fetchurl {
         name = "glob_parent___glob_parent_5.1.2.tgz";
         url  = "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.2.tgz";
-        sha1 = "869832c58034fe68a4093c17dc15e8340d8401c4";
+        sha512 = "AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==";
       };
     }
     {
@@ -1806,31 +1846,23 @@
       path = fetchurl {
         name = "glob___glob_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz";
-        sha1 = "d15535af7732e02e948f4c41628bd910293f6023";
-      };
-    }
-    {
-      name = "globals___globals_12.4.0.tgz";
-      path = fetchurl {
-        name = "globals___globals_12.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz";
-        sha1 = "a18813576a41b00a24a97e7f815918c2e19925f8";
+        sha512 = "lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q==";
       };
     }
     {
-      name = "globals___globals_13.11.0.tgz";
+      name = "globals___globals_13.12.0.tgz";
       path = fetchurl {
-        name = "globals___globals_13.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/globals/-/globals-13.11.0.tgz";
-        sha1 = "40ef678da117fe7bd2e28f1fab24951bd0255be7";
+        name = "globals___globals_13.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/globals/-/globals-13.12.0.tgz";
+        sha512 = "uS8X6lSKN2JumVoXrbUz+uG4BYG+eiawqm3qFcT7ammfbUHeCBoJMlHcec/S3krSk73/AE/f0szYFmgAA3kYZg==";
       };
     }
     {
-      name = "globby___globby_11.0.4.tgz";
+      name = "globby___globby_11.1.0.tgz";
       path = fetchurl {
-        name = "globby___globby_11.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz";
-        sha1 = "2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5";
+        name = "globby___globby_11.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz";
+        sha512 = "jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==";
       };
     }
     {
@@ -1838,15 +1870,15 @@
       path = fetchurl {
         name = "google_protobuf___google_protobuf_3.5.0.tgz";
         url  = "https://registry.yarnpkg.com/google-protobuf/-/google-protobuf-3.5.0.tgz";
-        sha1 = "b8cc63c74d83457bd8a9a904503c8efb26bca339";
+        sha1 = "uMxjx02DRXvYqakEUDyO+ya8ozk=";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.8.tgz";
+      name = "graceful_fs___graceful_fs_4.2.9.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.8.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz";
-        sha1 = "e412b8d33f5e006593cbd3cee6df9f2cebbe802a";
+        name = "graceful_fs___graceful_fs_4.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
       };
     }
     {
@@ -1854,7 +1886,7 @@
       path = fetchurl {
         name = "has_bigints___has_bigints_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/has-bigints/-/has-bigints-1.0.1.tgz";
-        sha1 = "64fe6acb020673e3b78db035a5af69aa9d07b113";
+        sha512 = "LSBS2LjbNBTf6287JEbEzvJgftkF5qFkmCo9hDRpAzKhUOlJ+hx8dd4USs00SgsUNwc4617J9ki5YtEClM2ffA==";
       };
     }
     {
@@ -1862,7 +1894,7 @@
       path = fetchurl {
         name = "has_flag___has_flag_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz";
-        sha1 = "b5d454dc2199ae225699f3467e5a07f3b955bafd";
+        sha1 = "tdRU3CGZriJWmfNGfloH87lVuv0=";
       };
     }
     {
@@ -1870,7 +1902,7 @@
       path = fetchurl {
         name = "has_flag___has_flag_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz";
-        sha1 = "944771fd9c81c81265c4d6941860da06bb59479b";
+        sha512 = "EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==";
       };
     }
     {
@@ -1878,7 +1910,7 @@
       path = fetchurl {
         name = "has_symbols___has_symbols_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/has-symbols/-/has-symbols-1.0.2.tgz";
-        sha1 = "165d3070c00309752a1236a479331e3ac56f1423";
+        sha512 = "chXa79rL/UC2KlX17jo3vRGz0azaWEx5tGqZg5pO3NUyEJVB17dMruQlzCCOfUvElghKcm5194+BCRvi2Rv/Gw==";
       };
     }
     {
@@ -1886,7 +1918,7 @@
       path = fetchurl {
         name = "has_tostringtag___has_tostringtag_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/has-tostringtag/-/has-tostringtag-1.0.0.tgz";
-        sha1 = "7e133818a7d394734f941e73c3d3f9291e658b25";
+        sha512 = "kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==";
       };
     }
     {
@@ -1894,7 +1926,7 @@
       path = fetchurl {
         name = "has_unicode___has_unicode_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/has-unicode/-/has-unicode-2.0.1.tgz";
-        sha1 = "e0e6fe6a28cf51138855e086d1691e771de2a8b9";
+        sha1 = "4Ob+aijPUROIVeCG0Wkedx3iqLk=";
       };
     }
     {
@@ -1902,23 +1934,15 @@
       path = fetchurl {
         name = "has___has_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/has/-/has-1.0.3.tgz";
-        sha1 = "722d7cbfc1f6aa8241f16dd814e011e1f41e8796";
-      };
-    }
-    {
-      name = "http_errors___http_errors_1.7.2.tgz";
-      path = fetchurl {
-        name = "http_errors___http_errors_1.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
-        sha1 = "4f5029cf13239f31036e5b2e55292bcfbcc85c8f";
+        sha512 = "f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==";
       };
     }
     {
-      name = "http_errors___http_errors_1.7.3.tgz";
+      name = "http_errors___http_errors_1.8.1.tgz";
       path = fetchurl {
-        name = "http_errors___http_errors_1.7.3.tgz";
-        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz";
-        sha1 = "6c619e4f9c60308c38519498c14fbb10aacebb06";
+        name = "http_errors___http_errors_1.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz";
+        sha512 = "Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==";
       };
     }
     {
@@ -1926,7 +1950,7 @@
       path = fetchurl {
         name = "https_proxy_agent___https_proxy_agent_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz";
-        sha1 = "e2a90542abb68a762e0a0850f6c9edadfd8506b2";
+        sha512 = "EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==";
       };
     }
     {
@@ -1934,7 +1958,7 @@
       path = fetchurl {
         name = "human_signals___human_signals_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz";
-        sha1 = "dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0";
+        sha512 = "B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==";
       };
     }
     {
@@ -1942,7 +1966,7 @@
       path = fetchurl {
         name = "husky___husky_4.3.8.tgz";
         url  = "https://registry.yarnpkg.com/husky/-/husky-4.3.8.tgz";
-        sha1 = "31144060be963fd6850e5cc8f019a1dfe194296d";
+        sha512 = "LCqqsB0PzJQ/AlCgfrfzRe3e3+NvmefAdKQhRYpxS4u6clblBoDdzzvHi8fmxKRzvMxPY/1WZWzomPZww0Anow==";
       };
     }
     {
@@ -1950,7 +1974,7 @@
       path = fetchurl {
         name = "iconv_lite___iconv_lite_0.4.24.tgz";
         url  = "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz";
-        sha1 = "2022b4b25fbddc21d2f524974a474aafe733908b";
+        sha512 = "v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==";
       };
     }
     {
@@ -1958,7 +1982,7 @@
       path = fetchurl {
         name = "ieee754___ieee754_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz";
-        sha1 = "8eb7a10a63fff25d15a57b001586d177d1b0d352";
+        sha512 = "dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==";
       };
     }
     {
@@ -1966,15 +1990,15 @@
       path = fetchurl {
         name = "ignore___ignore_4.0.6.tgz";
         url  = "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz";
-        sha1 = "750e3db5862087b4737ebac8207ffd1ef27b25fc";
+        sha512 = "cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==";
       };
     }
     {
-      name = "ignore___ignore_5.1.8.tgz";
+      name = "ignore___ignore_5.2.0.tgz";
       path = fetchurl {
-        name = "ignore___ignore_5.1.8.tgz";
-        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.1.8.tgz";
-        sha1 = "f150a8b50a34289b33e22f5889abd4d8016f0e57";
+        name = "ignore___ignore_5.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz";
+        sha512 = "CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==";
       };
     }
     {
@@ -1982,7 +2006,7 @@
       path = fetchurl {
         name = "import_fresh___import_fresh_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.3.0.tgz";
-        sha1 = "37162c25fcb9ebaa2e6e53d5b4d88ce17d9e0c2b";
+        sha512 = "veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==";
       };
     }
     {
@@ -1990,7 +2014,7 @@
       path = fetchurl {
         name = "imurmurhash___imurmurhash_0.1.4.tgz";
         url  = "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz";
-        sha1 = "9218b9b2b928a238b13dc4fb6b6d576f231453ea";
+        sha1 = "khi5srkoojixPcT7a21XbyMUU+o=";
       };
     }
     {
@@ -1998,7 +2022,7 @@
       path = fetchurl {
         name = "indent_string___indent_string_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/indent-string/-/indent-string-4.0.0.tgz";
-        sha1 = "624f8f4497d619b2d9768531d58f4122854d7251";
+        sha512 = "EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==";
       };
     }
     {
@@ -2006,7 +2030,7 @@
       path = fetchurl {
         name = "inflight___inflight_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/inflight/-/inflight-1.0.6.tgz";
-        sha1 = "49bd6331d7d02d0c09bc910a1075ba8165b56df9";
+        sha1 = "Sb1jMdfQLQwJvJEKEHW6gWW1bfk=";
       };
     }
     {
@@ -2014,15 +2038,7 @@
       path = fetchurl {
         name = "inherits___inherits_2.0.4.tgz";
         url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz";
-        sha1 = "0fa2c64f932917c3433a0ded55363aae37416b7c";
-      };
-    }
-    {
-      name = "inherits___inherits_2.0.3.tgz";
-      path = fetchurl {
-        name = "inherits___inherits_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "633c2c83e3da42a502f52466022480f4208261de";
+        sha512 = "k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==";
       };
     }
     {
@@ -2030,7 +2046,7 @@
       path = fetchurl {
         name = "ini___ini_1.3.8.tgz";
         url  = "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz";
-        sha1 = "a29da425b48806f34767a4efce397269af28432c";
+        sha512 = "JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew==";
       };
     }
     {
@@ -2038,7 +2054,7 @@
       path = fetchurl {
         name = "internal_slot___internal_slot_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/internal-slot/-/internal-slot-1.0.3.tgz";
-        sha1 = "7347e307deeea2faac2ac6205d4bc7d34967f59c";
+        sha512 = "O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==";
       };
     }
     {
@@ -2046,7 +2062,7 @@
       path = fetchurl {
         name = "into_stream___into_stream_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/into-stream/-/into-stream-6.0.0.tgz";
-        sha1 = "4bfc1244c0128224e18b8870e85b2de8e66c6702";
+        sha512 = "XHbaOAvP+uFKUFsOgoNPRjLkwB+I22JFPFe5OjTkQ0nwgj6+pSjb4NmB6VMxaPshLiOf+zcpOCBQuLwC1KHhZA==";
       };
     }
     {
@@ -2054,7 +2070,7 @@
       path = fetchurl {
         name = "ipaddr.js___ipaddr.js_1.9.1.tgz";
         url  = "https://registry.yarnpkg.com/ipaddr.js/-/ipaddr.js-1.9.1.tgz";
-        sha1 = "bff38543eeb8984825079ff3a2a8e6cbd46781b3";
+        sha512 = "0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==";
       };
     }
     {
@@ -2062,7 +2078,7 @@
       path = fetchurl {
         name = "is_arrayish___is_arrayish_0.2.1.tgz";
         url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.2.1.tgz";
-        sha1 = "77c99840527aa8ecb1a8ba697b80645a7a926a9d";
+        sha1 = "d8mYQFJ6qOyxqLppe4BkWnqSap0=";
       };
     }
     {
@@ -2070,7 +2086,7 @@
       path = fetchurl {
         name = "is_arrayish___is_arrayish_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/is-arrayish/-/is-arrayish-0.3.2.tgz";
-        sha1 = "4574a2ae56f7ab206896fb431eaeed066fdf8f03";
+        sha512 = "eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==";
       };
     }
     {
@@ -2078,7 +2094,7 @@
       path = fetchurl {
         name = "is_bigint___is_bigint_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/is-bigint/-/is-bigint-1.0.4.tgz";
-        sha1 = "08147a1875bc2b32005d41ccd8291dffc6691df3";
+        sha512 = "zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==";
       };
     }
     {
@@ -2086,7 +2102,7 @@
       path = fetchurl {
         name = "is_binary_path___is_binary_path_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/is-binary-path/-/is-binary-path-2.1.0.tgz";
-        sha1 = "ea1f7f3b80f064236e83470f86c09c254fb45b09";
+        sha512 = "ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==";
       };
     }
     {
@@ -2094,7 +2110,7 @@
       path = fetchurl {
         name = "is_boolean_object___is_boolean_object_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/is-boolean-object/-/is-boolean-object-1.1.2.tgz";
-        sha1 = "5c6dc200246dd9321ae4b885a114bb1f75f63719";
+        sha512 = "gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==";
       };
     }
     {
@@ -2102,15 +2118,15 @@
       path = fetchurl {
         name = "is_callable___is_callable_1.2.4.tgz";
         url  = "https://registry.yarnpkg.com/is-callable/-/is-callable-1.2.4.tgz";
-        sha1 = "47301d58dd0259407865547853df6d61fe471945";
+        sha512 = "nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==";
       };
     }
     {
-      name = "is_core_module___is_core_module_2.7.0.tgz";
+      name = "is_core_module___is_core_module_2.8.1.tgz";
       path = fetchurl {
-        name = "is_core_module___is_core_module_2.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.7.0.tgz";
-        sha1 = "3c0ef7d31b4acfc574f80c58409d568a836848e3";
+        name = "is_core_module___is_core_module_2.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz";
+        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
       };
     }
     {
@@ -2118,7 +2134,7 @@
       path = fetchurl {
         name = "is_date_object___is_date_object_1.0.5.tgz";
         url  = "https://registry.yarnpkg.com/is-date-object/-/is-date-object-1.0.5.tgz";
-        sha1 = "0841d5536e724c25597bf6ea62e1bd38298df31f";
+        sha512 = "9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==";
       };
     }
     {
@@ -2126,7 +2142,7 @@
       path = fetchurl {
         name = "is_extglob___is_extglob_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz";
-        sha1 = "a88c02535791f02ed37c76a1b9ea9773c833f8c2";
+        sha1 = "qIwCU1eR8C7TfHahueqXc8gz+MI=";
       };
     }
     {
@@ -2134,15 +2150,7 @@
       path = fetchurl {
         name = "is_fullwidth_code_point___is_fullwidth_code_point_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz";
-        sha1 = "ef9e31386f031a7f0d643af82fde50c457ef00cb";
-      };
-    }
-    {
-      name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
-      path = fetchurl {
-        name = "is_fullwidth_code_point___is_fullwidth_code_point_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz";
-        sha1 = "a3b30a5c4f199183167aaab93beefae3ddfb654f";
+        sha1 = "754xOG8DGn8NZDr4L95QxFfvAMs=";
       };
     }
     {
@@ -2150,7 +2158,7 @@
       path = fetchurl {
         name = "is_fullwidth_code_point___is_fullwidth_code_point_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz";
-        sha1 = "f116f8064fe90b3f7844a38997c0b75051269f1d";
+        sha512 = "zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==";
       };
     }
     {
@@ -2158,15 +2166,15 @@
       path = fetchurl {
         name = "is_glob___is_glob_4.0.3.tgz";
         url  = "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.3.tgz";
-        sha1 = "64f61e42cbbb2eec2071a9dac0b28ba1e65d5084";
+        sha512 = "xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==";
       };
     }
     {
-      name = "is_negative_zero___is_negative_zero_2.0.1.tgz";
+      name = "is_negative_zero___is_negative_zero_2.0.2.tgz";
       path = fetchurl {
-        name = "is_negative_zero___is_negative_zero_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.1.tgz";
-        sha1 = "3de746c18dda2319241a53675908d8f766f11c24";
+        name = "is_negative_zero___is_negative_zero_2.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-negative-zero/-/is-negative-zero-2.0.2.tgz";
+        sha512 = "dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==";
       };
     }
     {
@@ -2174,7 +2182,7 @@
       path = fetchurl {
         name = "is_number_object___is_number_object_1.0.6.tgz";
         url  = "https://registry.yarnpkg.com/is-number-object/-/is-number-object-1.0.6.tgz";
-        sha1 = "6a7aaf838c7f0686a50b4553f7e54a96494e89f0";
+        sha512 = "bEVOqiRcvo3zO1+G2lVMy+gkkEm9Yh7cDMRusKKu5ZJKPUYSJwICTKZrNKHA2EbSP0Tu0+6B/emsYNHZyn6K8g==";
       };
     }
     {
@@ -2182,7 +2190,7 @@
       path = fetchurl {
         name = "is_number___is_number_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-number/-/is-number-7.0.0.tgz";
-        sha1 = "7535345b896734d5f80c4d06c50955527a14f12b";
+        sha512 = "41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==";
       };
     }
     {
@@ -2190,7 +2198,7 @@
       path = fetchurl {
         name = "is_obj___is_obj_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz";
-        sha1 = "3e4729ac1f5fde025cd7d83a896dab9f4f67db0f";
+        sha1 = "PkcprB9f3gJc19g6iW2rn09n2w8=";
       };
     }
     {
@@ -2198,7 +2206,7 @@
       path = fetchurl {
         name = "is_regex___is_regex_1.1.4.tgz";
         url  = "https://registry.yarnpkg.com/is-regex/-/is-regex-1.1.4.tgz";
-        sha1 = "eef5663cd59fa4c0ae339505323df6854bb15958";
+        sha512 = "kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==";
       };
     }
     {
@@ -2206,7 +2214,7 @@
       path = fetchurl {
         name = "is_regexp___is_regexp_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/is-regexp/-/is-regexp-1.0.0.tgz";
-        sha1 = "fd2d883545c46bac5a633e7b9a09e87fa2cb5069";
+        sha1 = "/S2INUXEa6xaYz57mgnof6LLUGk=";
       };
     }
     {
@@ -2214,7 +2222,7 @@
       path = fetchurl {
         name = "is_shared_array_buffer___is_shared_array_buffer_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz";
-        sha1 = "97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6";
+        sha512 = "IU0NmyknYZN0rChcKhRO1X8LYz5Isj/Fsqh8NJOSf+N/hCOTwy29F32Ik7a+QszE63IdvmwdTPDd6cZ5pg4cwA==";
       };
     }
     {
@@ -2222,7 +2230,7 @@
       path = fetchurl {
         name = "is_stream___is_stream_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/is-stream/-/is-stream-2.0.1.tgz";
-        sha1 = "fac1e3d53b97ad5a9d0ae9cef2389f5810a5c077";
+        sha512 = "hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==";
       };
     }
     {
@@ -2230,7 +2238,7 @@
       path = fetchurl {
         name = "is_string___is_string_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/is-string/-/is-string-1.0.7.tgz";
-        sha1 = "0dd12bf2006f255bb58f695110eff7491eebc0fd";
+        sha512 = "tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==";
       };
     }
     {
@@ -2238,15 +2246,15 @@
       path = fetchurl {
         name = "is_symbol___is_symbol_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/is-symbol/-/is-symbol-1.0.4.tgz";
-        sha1 = "a6dac93b635b063ca6872236de88910a57af139c";
+        sha512 = "C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==";
       };
     }
     {
-      name = "is_weakref___is_weakref_1.0.1.tgz";
+      name = "is_weakref___is_weakref_1.0.2.tgz";
       path = fetchurl {
-        name = "is_weakref___is_weakref_1.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.1.tgz";
-        sha1 = "842dba4ec17fa9ac9850df2d6efbc1737274f2a2";
+        name = "is_weakref___is_weakref_1.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/is-weakref/-/is-weakref-1.0.2.tgz";
+        sha512 = "qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==";
       };
     }
     {
@@ -2254,7 +2262,7 @@
       path = fetchurl {
         name = "isarray___isarray_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/isarray/-/isarray-1.0.0.tgz";
-        sha1 = "bb935d48582cba168c06834957a54a3e07124f11";
+        sha1 = "u5NdSFgsuhaMBoNJV6VKPgcSTxE=";
       };
     }
     {
@@ -2262,7 +2270,7 @@
       path = fetchurl {
         name = "isexe___isexe_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz";
-        sha1 = "e8fbf374dc556ff8947a10dcb0572d633f2cfa10";
+        sha1 = "6PvzdNxVb/iUehDcsFctYz8s+hA=";
       };
     }
     {
@@ -2270,7 +2278,7 @@
       path = fetchurl {
         name = "js_tokens___js_tokens_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz";
-        sha1 = "19203fb59991df98e3a287050d4647cdeaf32499";
+        sha512 = "RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==";
       };
     }
     {
@@ -2278,7 +2286,7 @@
       path = fetchurl {
         name = "js_yaml___js_yaml_3.14.1.tgz";
         url  = "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz";
-        sha1 = "dae812fdb3825fa306609a8717383c50c36a0537";
+        sha512 = "okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==";
       };
     }
     {
@@ -2286,7 +2294,7 @@
       path = fetchurl {
         name = "jsdoc_type_pratt_parser___jsdoc_type_pratt_parser_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.1.1.tgz";
-        sha1 = "10fe5e409ba38de22a48b555598955a26ff0160f";
+        sha512 = "uelRmpghNwPBuZScwgBG/OzodaFk5RbO5xaivBdsAY70icWfShwZ7PCMO0x1zSkOa8T1FzHThmrdoyg/0AwV5g==";
       };
     }
     {
@@ -2294,15 +2302,15 @@
       path = fetchurl {
         name = "jsdoc_type_pratt_parser___jsdoc_type_pratt_parser_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-1.2.0.tgz";
-        sha1 = "3482a3833b74a88c95a6ba7253f0c0de3b77b9f5";
+        sha512 = "4STjeF14jp4bqha44nKMY1OUI6d2/g6uclHWUCZ7B4DoLzaB5bmpTkQrpqU+vSVzMD0LsKAOskcnI3I3VfIpmg==";
       };
     }
     {
-      name = "jsdoctypeparser___jsdoctypeparser_9.0.0.tgz";
+      name = "jsdoc_type_pratt_parser___jsdoc_type_pratt_parser_2.2.2.tgz";
       path = fetchurl {
-        name = "jsdoctypeparser___jsdoctypeparser_9.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/jsdoctypeparser/-/jsdoctypeparser-9.0.0.tgz";
-        sha1 = "8c97e2fb69315eb274b0f01377eaa5c940bd7b26";
+        name = "jsdoc_type_pratt_parser___jsdoc_type_pratt_parser_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/jsdoc-type-pratt-parser/-/jsdoc-type-pratt-parser-2.2.2.tgz";
+        sha512 = "zRokSWcPLSWkoNzsWn9pq7YYSwDhKyEe+cJYT2qaPqLOOJb5sFSi46BPj81vP+e8chvCNdQL9RG86Bi9EI6MDw==";
       };
     }
     {
@@ -2310,7 +2318,7 @@
       path = fetchurl {
         name = "json_parse_even_better_errors___json_parse_even_better_errors_2.3.1.tgz";
         url  = "https://registry.yarnpkg.com/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz";
-        sha1 = "7c47805a94319928e05777405dc12e1f7a4ee02d";
+        sha512 = "xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==";
       };
     }
     {
@@ -2318,7 +2326,7 @@
       path = fetchurl {
         name = "json_schema_traverse___json_schema_traverse_0.4.1.tgz";
         url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz";
-        sha1 = "69f6a87d9513ab8bb8fe63bdb0979c448e684660";
+        sha512 = "xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==";
       };
     }
     {
@@ -2326,7 +2334,7 @@
       path = fetchurl {
         name = "json_schema_traverse___json_schema_traverse_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz";
-        sha1 = "ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2";
+        sha512 = "NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==";
       };
     }
     {
@@ -2334,7 +2342,7 @@
       path = fetchurl {
         name = "json_stable_stringify_without_jsonify___json_stable_stringify_without_jsonify_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz";
-        sha1 = "9db7b59496ad3f3cfef30a75142d2d930ad72651";
+        sha1 = "nbe1lJatPzz+8wp1FC0tkwrXJlE=";
       };
     }
     {
@@ -2342,7 +2350,7 @@
       path = fetchurl {
         name = "jsonfile___jsonfile_6.1.0.tgz";
         url  = "https://registry.yarnpkg.com/jsonfile/-/jsonfile-6.1.0.tgz";
-        sha1 = "bc55b2634793c679ec6403094eb13698a6ec0aae";
+        sha512 = "5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==";
       };
     }
     {
@@ -2350,7 +2358,7 @@
       path = fetchurl {
         name = "jsx_ast_utils___jsx_ast_utils_3.2.1.tgz";
         url  = "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz";
-        sha1 = "720b97bfe7d901b927d87c3773637ae8ea48781b";
+        sha512 = "uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA==";
       };
     }
     {
@@ -2358,7 +2366,7 @@
       path = fetchurl {
         name = "kuler___kuler_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/kuler/-/kuler-2.0.0.tgz";
-        sha1 = "e2c570a3800388fb44407e851531c1d670b061b3";
+        sha512 = "Xq9nH7KlWZmXAtodXDDRE7vs6DU1gTU8zYDHDiWLSip45Egwq3plLHzPn27NgvzL2r1LMPC1vdqh98sQxtqj4A==";
       };
     }
     {
@@ -2366,7 +2374,7 @@
       path = fetchurl {
         name = "levn___levn_0.4.1.tgz";
         url  = "https://registry.yarnpkg.com/levn/-/levn-0.4.1.tgz";
-        sha1 = "ae4562c007473b932a6200d403268dd2fffc6ade";
+        sha512 = "+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==";
       };
     }
     {
@@ -2374,31 +2382,31 @@
       path = fetchurl {
         name = "levn___levn_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/levn/-/levn-0.3.0.tgz";
-        sha1 = "3b09924edf9f083c0490fdd4c0bc4421e04764ee";
+        sha1 = "OwmSTt+fCDwEkP3UwLxEIeBHZO4=";
       };
     }
     {
-      name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
+      name = "lines_and_columns___lines_and_columns_1.2.4.tgz";
       path = fetchurl {
-        name = "lines_and_columns___lines_and_columns_1.1.6.tgz";
-        url  = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.1.6.tgz";
-        sha1 = "1c00c743b433cd0a4e80758f7b64a57440d9ff00";
+        name = "lines_and_columns___lines_and_columns_1.2.4.tgz";
+        url  = "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz";
+        sha512 = "7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==";
       };
     }
     {
-      name = "lint_staged___lint_staged_11.2.0.tgz";
+      name = "lint_staged___lint_staged_11.2.6.tgz";
       path = fetchurl {
-        name = "lint_staged___lint_staged_11.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.2.0.tgz";
-        sha1 = "6b9774a74b3eb4bef5c59fb6475bff84d6853008";
+        name = "lint_staged___lint_staged_11.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/lint-staged/-/lint-staged-11.2.6.tgz";
+        sha512 = "Vti55pUnpvPE0J9936lKl0ngVeTdSZpEdTNhASbkaWX7J5R9OEifo1INBGQuGW4zmy6OG+TcWPJ3m5yuy5Q8Tg==";
       };
     }
     {
-      name = "listr2___listr2_3.12.2.tgz";
+      name = "listr2___listr2_3.14.0.tgz";
       path = fetchurl {
-        name = "listr2___listr2_3.12.2.tgz";
-        url  = "https://registry.yarnpkg.com/listr2/-/listr2-3.12.2.tgz";
-        sha1 = "2d55cc627111603ad4768a9e87c9c7bb9b49997e";
+        name = "listr2___listr2_3.14.0.tgz";
+        url  = "https://registry.yarnpkg.com/listr2/-/listr2-3.14.0.tgz";
+        sha512 = "TyWI8G99GX9GjE54cJ+RrNMcIFBfwMPxc3XTFiAYGN4s10hWROGtOg7+O6u6LE3mNkyld7RSLE6nrKBvTfcs3g==";
       };
     }
     {
@@ -2406,7 +2414,7 @@
       path = fetchurl {
         name = "locate_path___locate_path_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-5.0.0.tgz";
-        sha1 = "1afba396afd676a6d42504d0a67a3a7eb9f62aa0";
+        sha512 = "t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==";
       };
     }
     {
@@ -2414,7 +2422,7 @@
       path = fetchurl {
         name = "locate_path___locate_path_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/locate-path/-/locate-path-6.0.0.tgz";
-        sha1 = "55321eb309febbc59c4801d931a72452a681d286";
+        sha512 = "iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==";
       };
     }
     {
@@ -2422,15 +2430,7 @@
       path = fetchurl {
         name = "lodash.camelcase___lodash.camelcase_4.3.0.tgz";
         url  = "https://registry.yarnpkg.com/lodash.camelcase/-/lodash.camelcase-4.3.0.tgz";
-        sha1 = "b28aa6288a2b9fc651035c7711f65ab6190331a6";
-      };
-    }
-    {
-      name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
-      path = fetchurl {
-        name = "lodash.clonedeep___lodash.clonedeep_4.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz";
-        sha1 = "e23f3f9c4f8fbdde872529c1071857a086e5ccef";
+        sha1 = "soqmKIorn8ZRA1x3EfZathkDMaY=";
       };
     }
     {
@@ -2438,7 +2438,7 @@
       path = fetchurl {
         name = "lodash.merge___lodash.merge_4.6.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz";
-        sha1 = "558aa53b43b661e1925a0afdfa36a9a1085fe57a";
+        sha512 = "0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==";
       };
     }
     {
@@ -2446,7 +2446,7 @@
       path = fetchurl {
         name = "lodash.truncate___lodash.truncate_4.4.2.tgz";
         url  = "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz";
-        sha1 = "5a350da0b1113b837ecfffd5812cbe58d6eae193";
+        sha1 = "WjUNoLERO4N+z//VgSy+WNbq4ZM=";
       };
     }
     {
@@ -2454,7 +2454,7 @@
       path = fetchurl {
         name = "lodash___lodash_4.17.21.tgz";
         url  = "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz";
-        sha1 = "679591c564c3bffaae8454cf0b3df370c3d6911c";
+        sha512 = "v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==";
       };
     }
     {
@@ -2462,15 +2462,15 @@
       path = fetchurl {
         name = "log_update___log_update_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/log-update/-/log-update-4.0.0.tgz";
-        sha1 = "589ecd352471f2a1c0c570287543a64dfd20e0a1";
+        sha512 = "9fkkDevMefjg0mmzWFBW8YkFP91OrizzkW3diF7CpG+S2EYdy4+TVfGwz1zeF8x7hCx1ovSPTOE9Ngib74qqUg==";
       };
     }
     {
-      name = "logform___logform_2.3.0.tgz";
+      name = "logform___logform_2.3.2.tgz";
       path = fetchurl {
-        name = "logform___logform_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/logform/-/logform-2.3.0.tgz";
-        sha1 = "a3997a05985de2ebd325ae0d166dffc9c6fe6b57";
+        name = "logform___logform_2.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/logform/-/logform-2.3.2.tgz";
+        sha512 = "V6JiPThZzTsbVRspNO6TmHkR99oqYTs8fivMBYQkjZj6rxW92KxtDCPE6IkAk1DNBnYKNkjm4jYBm6JDUcyhOA==";
       };
     }
     {
@@ -2478,7 +2478,7 @@
       path = fetchurl {
         name = "long___long_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/long/-/long-4.0.0.tgz";
-        sha1 = "9a7b71cfb7d361a194ea555241c92f7468d5bf28";
+        sha512 = "XsP+KhQif4bjX1kbuSiySJFNAehNxgLb6hPRGJ9QsUr8ajHkuXGdrHmFUTUUXhDwVX2R5bY4JNZEwbUiMhV+MA==";
       };
     }
     {
@@ -2486,7 +2486,7 @@
       path = fetchurl {
         name = "loose_envify___loose_envify_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/loose-envify/-/loose-envify-1.4.0.tgz";
-        sha1 = "71ee51fa7be4caec1a63839f7e682d8132d30caf";
+        sha512 = "lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==";
       };
     }
     {
@@ -2494,7 +2494,7 @@
       path = fetchurl {
         name = "lru_cache___lru_cache_6.0.0.tgz";
         url  = "https://registry.yarnpkg.com/lru-cache/-/lru-cache-6.0.0.tgz";
-        sha1 = "6d6fe6570ebd96aaf90fcad1dafa3b2566db3a94";
+        sha512 = "Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==";
       };
     }
     {
@@ -2502,7 +2502,7 @@
       path = fetchurl {
         name = "map_stream___map_stream_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/map-stream/-/map-stream-0.1.0.tgz";
-        sha1 = "e56aa94c4c8055a16404a0674b78f215f7c8e194";
+        sha1 = "5WqpTEyAVaFkBKBnS3jyFffI4ZQ=";
       };
     }
     {
@@ -2510,7 +2510,7 @@
       path = fetchurl {
         name = "media_typer___media_typer_0.3.0.tgz";
         url  = "https://registry.yarnpkg.com/media-typer/-/media-typer-0.3.0.tgz";
-        sha1 = "8710d7af0aa626f8fffa1ce00168545263255748";
+        sha1 = "hxDXrwqmJvj/+hzgAWhUUmMlV0g=";
       };
     }
     {
@@ -2518,7 +2518,7 @@
       path = fetchurl {
         name = "merge_descriptors___merge_descriptors_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/merge-descriptors/-/merge-descriptors-1.0.1.tgz";
-        sha1 = "b00aaa556dd8b44568150ec9d1b953f3f90cbb61";
+        sha1 = "sAqqVW3YtEVoFQ7J0blT8/kMu2E=";
       };
     }
     {
@@ -2526,7 +2526,7 @@
       path = fetchurl {
         name = "merge_stream___merge_stream_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/merge-stream/-/merge-stream-2.0.0.tgz";
-        sha1 = "52823629a14dd00c9770fb6ad47dc6310f2c1f60";
+        sha512 = "abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==";
       };
     }
     {
@@ -2534,7 +2534,7 @@
       path = fetchurl {
         name = "merge2___merge2_1.4.1.tgz";
         url  = "https://registry.yarnpkg.com/merge2/-/merge2-1.4.1.tgz";
-        sha1 = "4368892f885e907455a6fd7dc55c0c9d404990ae";
+        sha512 = "8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==";
       };
     }
     {
@@ -2542,7 +2542,7 @@
       path = fetchurl {
         name = "methods___methods_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz";
-        sha1 = "5529a4d67654134edcc5266656835b0f851afcee";
+        sha1 = "VSmk1nZUE07cxSZmVoNbD4Ua/O4=";
       };
     }
     {
@@ -2550,23 +2550,23 @@
       path = fetchurl {
         name = "micromatch___micromatch_4.0.4.tgz";
         url  = "https://registry.yarnpkg.com/micromatch/-/micromatch-4.0.4.tgz";
-        sha1 = "896d519dfe9db25fce94ceb7a500919bf881ebf9";
+        sha512 = "pRmzw/XUcwXGpD9aI9q/0XOwLNygjETJ8y0ao0wdqprrzDa4YnxLcz7fQRZr8voh8V10kGhABbNcHVk5wHgWwg==";
       };
     }
     {
-      name = "mime_db___mime_db_1.50.0.tgz";
+      name = "mime_db___mime_db_1.51.0.tgz";
       path = fetchurl {
-        name = "mime_db___mime_db_1.50.0.tgz";
-        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.50.0.tgz";
-        sha1 = "abd4ac94e98d3c0e185016c67ab45d5fde40c11f";
+        name = "mime_db___mime_db_1.51.0.tgz";
+        url  = "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz";
+        sha512 = "5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==";
       };
     }
     {
-      name = "mime_types___mime_types_2.1.33.tgz";
+      name = "mime_types___mime_types_2.1.34.tgz";
       path = fetchurl {
-        name = "mime_types___mime_types_2.1.33.tgz";
-        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.33.tgz";
-        sha1 = "1fa12a904472fafd068e48d9e8401f74d3f70edb";
+        name = "mime_types___mime_types_2.1.34.tgz";
+        url  = "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz";
+        sha512 = "6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==";
       };
     }
     {
@@ -2574,7 +2574,7 @@
       path = fetchurl {
         name = "mime___mime_1.6.0.tgz";
         url  = "https://registry.yarnpkg.com/mime/-/mime-1.6.0.tgz";
-        sha1 = "32cd9e5c64553bd58d19a568af452acff04981b1";
+        sha512 = "x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==";
       };
     }
     {
@@ -2582,7 +2582,7 @@
       path = fetchurl {
         name = "mimic_fn___mimic_fn_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz";
-        sha1 = "7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b";
+        sha512 = "OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==";
       };
     }
     {
@@ -2590,7 +2590,15 @@
       path = fetchurl {
         name = "mimic_response___mimic_response_2.1.0.tgz";
         url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-2.1.0.tgz";
-        sha1 = "d13763d35f613d09ec37ebb30bac0469c0ee8f43";
+        sha512 = "wXqjST+SLt7R009ySCglWBCFpjUygmCIfD790/kVbiGmUgfYGuB14PiTd5DwVxSV4NcYHjzMkoj5LjQZwTQLEA==";
+      };
+    }
+    {
+      name = "mimic_response___mimic_response_3.1.0.tgz";
+      path = fetchurl {
+        name = "mimic_response___mimic_response_3.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/mimic-response/-/mimic-response-3.1.0.tgz";
+        sha512 = "z0yWI+4FDrrweS8Zmt4Ej5HdJmky15+L2e6Wgn3+iK5fWzb6T3fhNFq2+MeTRb064c6Wr4N/wv0DzQTjNzHNGQ==";
       };
     }
     {
@@ -2598,7 +2606,7 @@
       path = fetchurl {
         name = "minimatch___minimatch_3.0.4.tgz";
         url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
-        sha1 = "5166e286457f03306064be5497e8dbb0c3d32083";
+        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
       };
     }
     {
@@ -2606,7 +2614,7 @@
       path = fetchurl {
         name = "minimist___minimist_1.2.5.tgz";
         url  = "https://registry.yarnpkg.com/minimist/-/minimist-1.2.5.tgz";
-        sha1 = "67d66014b66a6a8aaa0c083c5fd58df4e4e97602";
+        sha512 = "FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==";
       };
     }
     {
@@ -2614,15 +2622,7 @@
       path = fetchurl {
         name = "mkdirp_classic___mkdirp_classic_0.5.3.tgz";
         url  = "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz";
-        sha1 = "fa10c9115cc6d8865be221ba47ee9bed78601113";
-      };
-    }
-    {
-      name = "mkdirp___mkdirp_0.5.5.tgz";
-      path = fetchurl {
-        name = "mkdirp___mkdirp_0.5.5.tgz";
-        url  = "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz";
-        sha1 = "d91cefd62d1436ca0f41620e251288d420099def";
+        sha512 = "gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A==";
       };
     }
     {
@@ -2630,7 +2630,7 @@
       path = fetchurl {
         name = "morgan___morgan_1.10.0.tgz";
         url  = "https://registry.yarnpkg.com/morgan/-/morgan-1.10.0.tgz";
-        sha1 = "091778abc1fc47cd3509824653dae1faab6b17d7";
+        sha512 = "AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==";
       };
     }
     {
@@ -2638,15 +2638,7 @@
       path = fetchurl {
         name = "ms___ms_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz";
-        sha1 = "5608aeadfc00be6c2901df5f9861788de0d597c8";
-      };
-    }
-    {
-      name = "ms___ms_2.1.1.tgz";
-      path = fetchurl {
-        name = "ms___ms_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
-        sha1 = "30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a";
+        sha1 = "VgiurfwAvmwpAd9fmGF4jeDVl8g=";
       };
     }
     {
@@ -2654,7 +2646,7 @@
       path = fetchurl {
         name = "ms___ms_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz";
-        sha1 = "d09d1f357b443f493382a8eb3ccd183872ae6009";
+        sha512 = "sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==";
       };
     }
     {
@@ -2662,7 +2654,7 @@
       path = fetchurl {
         name = "ms___ms_2.1.3.tgz";
         url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz";
-        sha1 = "574c8138ce1d2b5861f0b44579dbadd60c6615b2";
+        sha512 = "6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==";
       };
     }
     {
@@ -2670,7 +2662,7 @@
       path = fetchurl {
         name = "multistream___multistream_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz";
-        sha1 = "7bf00dfd119556fbc153cff3de4c6d477909f5a8";
+        sha512 = "J1XDiAmmNpRCBfIWJv+n0ymC4ABcf/Pl+5YvC5B/D2f/2+8PtHvCNxMPKiQcZyi922Hq69J2YOpb1pTywfifyw==";
       };
     }
     {
@@ -2678,7 +2670,7 @@
       path = fetchurl {
         name = "napi_build_utils___napi_build_utils_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/napi-build-utils/-/napi-build-utils-1.0.2.tgz";
-        sha1 = "b1fddc0b2c46e380a0b7a76f984dd47c41a13806";
+        sha512 = "ONmRUqK7zj7DWX0D9ADe03wbwOBZxNAfF20PlGfCWQcD3+/MakShIHrMqx9YwPTfxDdF1zLeL+RGZiR9kGMLdg==";
       };
     }
     {
@@ -2686,7 +2678,7 @@
       path = fetchurl {
         name = "natural_compare___natural_compare_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/natural-compare/-/natural-compare-1.4.0.tgz";
-        sha1 = "4abebfeed7541f2c27acfb29bdbbd15c8d5ba4f7";
+        sha1 = "Sr6/7tdUHywnrPspvbvRXI1bpPc=";
       };
     }
     {
@@ -2694,7 +2686,7 @@
       path = fetchurl {
         name = "negotiator___negotiator_0.6.2.tgz";
         url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
-        sha1 = "feacf7ccf525a77ae9634436a64883ffeca346fb";
+        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
       };
     }
     {
@@ -2702,39 +2694,39 @@
       path = fetchurl {
         name = "node_abi___node_abi_2.30.1.tgz";
         url  = "https://registry.yarnpkg.com/node-abi/-/node-abi-2.30.1.tgz";
-        sha1 = "c437d4b1fe0e285aaf290d45b45d4d7afedac4cf";
+        sha512 = "/2D0wOQPgaUWzVSVgRMx+trKJRC2UG4SUc4oCJoXx9Uxjtp0Vy3/kt7zcbxHF8+Z/pK3UloLWzBISg72brfy1w==";
       };
     }
     {
-      name = "node_cleanup___node_cleanup_2.1.2.tgz";
+      name = "node_abi___node_abi_3.7.0.tgz";
       path = fetchurl {
-        name = "node_cleanup___node_cleanup_2.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz";
-        sha1 = "7ac19abd297e09a7f72a71545d951b517e4dde2c";
+        name = "node_abi___node_abi_3.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-abi/-/node-abi-3.7.0.tgz";
+        sha512 = "3J+U4CvxVNEk9+lGdJkmYbN8cIN0HMTDT9R0ezX7pmp7aD6BaKsfAHwVn3IvVg6pYIRUuQ+gHW1eawrvywnSQQ==";
       };
     }
     {
-      name = "node_fetch___node_fetch_2.6.1.tgz";
+      name = "node_addon_api___node_addon_api_4.3.0.tgz";
       path = fetchurl {
-        name = "node_fetch___node_fetch_2.6.1.tgz";
-        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz";
-        sha1 = "045bd323631f76ed2e2b55573394416b639a0052";
+        name = "node_addon_api___node_addon_api_4.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/node-addon-api/-/node-addon-api-4.3.0.tgz";
+        sha512 = "73sE9+3UaLYYFmDsFZnqCInzPyh3MqIwZO9cw58yIqAZhONrrabrYyYe3TuIqtIiOuTXVhsGau8hcrhhwSsDIQ==";
       };
     }
     {
-      name = "node_fetch___node_fetch_2.6.5.tgz";
+      name = "node_cleanup___node_cleanup_2.1.2.tgz";
       path = fetchurl {
-        name = "node_fetch___node_fetch_2.6.5.tgz";
-        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.5.tgz";
-        sha1 = "42735537d7f080a7e5f78b6c549b7146be1742fd";
+        name = "node_cleanup___node_cleanup_2.1.2.tgz";
+        url  = "https://registry.yarnpkg.com/node-cleanup/-/node-cleanup-2.1.2.tgz";
+        sha1 = "esGavSl+Caf3KnFUXZUbUX5N3iw=";
       };
     }
     {
-      name = "noop_logger___noop_logger_0.1.1.tgz";
+      name = "node_fetch___node_fetch_2.6.7.tgz";
       path = fetchurl {
-        name = "noop_logger___noop_logger_0.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/noop-logger/-/noop-logger-0.1.1.tgz";
-        sha1 = "94a2b1633c4f1317553007d8966fd0e841b6a4c2";
+        name = "node_fetch___node_fetch_2.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz";
+        sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     }
     {
@@ -2742,7 +2734,7 @@
       path = fetchurl {
         name = "normalize_path___normalize_path_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/normalize-path/-/normalize-path-3.0.0.tgz";
-        sha1 = "0dcd69ff23a1c9b11fd0978316644a0388216a65";
+        sha512 = "6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==";
       };
     }
     {
@@ -2750,7 +2742,7 @@
       path = fetchurl {
         name = "npm_run_path___npm_run_path_4.0.1.tgz";
         url  = "https://registry.yarnpkg.com/npm-run-path/-/npm-run-path-4.0.1.tgz";
-        sha1 = "b7ecd1e5ed53da8e37a55e1c2269e0b97ed748ea";
+        sha512 = "S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==";
       };
     }
     {
@@ -2758,7 +2750,7 @@
       path = fetchurl {
         name = "npmlog___npmlog_4.1.2.tgz";
         url  = "https://registry.yarnpkg.com/npmlog/-/npmlog-4.1.2.tgz";
-        sha1 = "08a7f2a8bf734604779a9efa4ad5cc717abb954b";
+        sha512 = "2uUqazuKlTaSI/dC8AzicUck7+IrEaOnN/e0jd3Xtt1KcGpwx30v50mL7oPyr/h9bL3E4aZccVwpwP+5W9Vjkg==";
       };
     }
     {
@@ -2766,7 +2758,7 @@
       path = fetchurl {
         name = "number_is_nan___number_is_nan_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz";
-        sha1 = "097b602b53422a522c1afb8790318336941a011d";
+        sha1 = "CXtgK1NCKlIsGvuHkDGDNpQaAR0=";
       };
     }
     {
@@ -2774,15 +2766,15 @@
       path = fetchurl {
         name = "object_assign___object_assign_4.1.1.tgz";
         url  = "https://registry.yarnpkg.com/object-assign/-/object-assign-4.1.1.tgz";
-        sha1 = "2109adc7965887cfc05cbbd442cac8bfbb360863";
+        sha1 = "IQmtx5ZYh8/AXLvUQsrIv7s2CGM=";
       };
     }
     {
-      name = "object_inspect___object_inspect_1.11.0.tgz";
+      name = "object_inspect___object_inspect_1.12.0.tgz";
       path = fetchurl {
-        name = "object_inspect___object_inspect_1.11.0.tgz";
-        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.0.tgz";
-        sha1 = "9dceb146cedd4148a0d9e51ab88d34cf509922b1";
+        name = "object_inspect___object_inspect_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz";
+        sha512 = "Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==";
       };
     }
     {
@@ -2790,7 +2782,7 @@
       path = fetchurl {
         name = "object_keys___object_keys_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/object-keys/-/object-keys-1.1.1.tgz";
-        sha1 = "1c47f272df277f3b1daf061677d9c82e2322c60e";
+        sha512 = "NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==";
       };
     }
     {
@@ -2798,7 +2790,7 @@
       path = fetchurl {
         name = "object.assign___object.assign_4.1.2.tgz";
         url  = "https://registry.yarnpkg.com/object.assign/-/object.assign-4.1.2.tgz";
-        sha1 = "0ed54a342eceb37b38ff76eb831a0e788cb63940";
+        sha512 = "ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==";
       };
     }
     {
@@ -2806,7 +2798,7 @@
       path = fetchurl {
         name = "object.entries___object.entries_1.1.5.tgz";
         url  = "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz";
-        sha1 = "e1acdd17c4de2cd96d5a08487cfb9db84d881861";
+        sha512 = "TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g==";
       };
     }
     {
@@ -2814,7 +2806,7 @@
       path = fetchurl {
         name = "object.fromentries___object.fromentries_2.0.5.tgz";
         url  = "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz";
-        sha1 = "7b37b205109c21e741e605727fe8b0ad5fa08251";
+        sha512 = "CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw==";
       };
     }
     {
@@ -2822,7 +2814,7 @@
       path = fetchurl {
         name = "object.hasown___object.hasown_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz";
-        sha1 = "7232ed266f34d197d15cac5880232f7a4790afe5";
+        sha512 = "MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg==";
       };
     }
     {
@@ -2830,7 +2822,7 @@
       path = fetchurl {
         name = "object.values___object.values_1.1.5.tgz";
         url  = "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz";
-        sha1 = "959f63e3ce9ef108720333082131e4a459b716ac";
+        sha512 = "QUZRW0ilQ3PnPpbNtgdNV1PDbEqLIiSFB3l+EnGtBQ/8SUTLj1PZwtQHABZtLgwpJZTSZhuGLOGk57Drx2IvYg==";
       };
     }
     {
@@ -2838,7 +2830,7 @@
       path = fetchurl {
         name = "on_finished___on_finished_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/on-finished/-/on-finished-2.3.0.tgz";
-        sha1 = "20f1336481b083cd75337992a16971aa2d906947";
+        sha1 = "IPEzZIGwg811M3mSoWlxqi2QaUc=";
       };
     }
     {
@@ -2846,7 +2838,7 @@
       path = fetchurl {
         name = "on_headers___on_headers_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/on-headers/-/on-headers-1.0.2.tgz";
-        sha1 = "772b0ae6aaa525c399e489adfad90c403eb3c28f";
+        sha512 = "pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==";
       };
     }
     {
@@ -2854,7 +2846,7 @@
       path = fetchurl {
         name = "once___once_1.4.0.tgz";
         url  = "https://registry.yarnpkg.com/once/-/once-1.4.0.tgz";
-        sha1 = "583b1aa775961d4b113ac17d9c50baef9dd76bd1";
+        sha1 = "WDsap3WWHUsROsF9nFC6753Xa9E=";
       };
     }
     {
@@ -2862,7 +2854,7 @@
       path = fetchurl {
         name = "one_time___one_time_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/one-time/-/one-time-1.0.0.tgz";
-        sha1 = "e06bc174aed214ed58edede573b433bbf827cb45";
+        sha512 = "5DXOiRKwuSEcQ/l0kGCF6Q3jcADFv5tSmRaJck/OqkVFcOzutB134KRSfF0xDrL39MNnqxbHBbUUcjZIhTgb2g==";
       };
     }
     {
@@ -2870,7 +2862,7 @@
       path = fetchurl {
         name = "onetime___onetime_5.1.2.tgz";
         url  = "https://registry.yarnpkg.com/onetime/-/onetime-5.1.2.tgz";
-        sha1 = "d0e96ebb56b07476df1dd9c4806e5237985ca45e";
+        sha512 = "kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==";
       };
     }
     {
@@ -2878,7 +2870,7 @@
       path = fetchurl {
         name = "opencollective_postinstall___opencollective_postinstall_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/opencollective-postinstall/-/opencollective-postinstall-2.0.3.tgz";
-        sha1 = "7a0fff978f6dbfa4d006238fbac98ed4198c3259";
+        sha512 = "8AV/sCtuzUeTo8gQK5qDZzARrulB3egtLzFgteqB2tcT4Mw7B8Kt7JcDHmltjz6FOAHsvTevk70gZEbhM4ZS9Q==";
       };
     }
     {
@@ -2886,7 +2878,7 @@
       path = fetchurl {
         name = "optionator___optionator_0.8.3.tgz";
         url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz";
-        sha1 = "84fa1d036fe9d3c7e21d99884b601167ec8fb495";
+        sha512 = "+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==";
       };
     }
     {
@@ -2894,7 +2886,7 @@
       path = fetchurl {
         name = "optionator___optionator_0.9.1.tgz";
         url  = "https://registry.yarnpkg.com/optionator/-/optionator-0.9.1.tgz";
-        sha1 = "4f236a6373dae0566a6d43e1326674f50c291499";
+        sha512 = "74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==";
       };
     }
     {
@@ -2902,7 +2894,7 @@
       path = fetchurl {
         name = "p_is_promise___p_is_promise_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-is-promise/-/p-is-promise-3.0.0.tgz";
-        sha1 = "58e78c7dfe2e163cf2a04ff869e7c1dba64a5971";
+        sha512 = "Wo8VsW4IRQSKVXsJCn7TomUaVtyfjVDn3nUP7kE967BQk0CwFpdbZs0X0uk5sW9mkBa9eNM7hCMaG93WUAwxYQ==";
       };
     }
     {
@@ -2910,7 +2902,7 @@
       path = fetchurl {
         name = "p_limit___p_limit_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-2.3.0.tgz";
-        sha1 = "3dd33c647a214fdfffd835933eb086da0dc21db1";
+        sha512 = "//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==";
       };
     }
     {
@@ -2918,7 +2910,7 @@
       path = fetchurl {
         name = "p_limit___p_limit_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/p-limit/-/p-limit-3.1.0.tgz";
-        sha1 = "e1daccbe78d0d1388ca18c64fea38e3e57e3706b";
+        sha512 = "TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==";
       };
     }
     {
@@ -2926,7 +2918,7 @@
       path = fetchurl {
         name = "p_locate___p_locate_4.1.0.tgz";
         url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-4.1.0.tgz";
-        sha1 = "a3428bb7088b3a60292f66919278b7c297ad4f07";
+        sha512 = "R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==";
       };
     }
     {
@@ -2934,7 +2926,7 @@
       path = fetchurl {
         name = "p_locate___p_locate_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-locate/-/p-locate-5.0.0.tgz";
-        sha1 = "83c8315c6785005e3bd021839411c9e110e6d834";
+        sha512 = "LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==";
       };
     }
     {
@@ -2942,7 +2934,7 @@
       path = fetchurl {
         name = "p_map___p_map_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/p-map/-/p-map-4.0.0.tgz";
-        sha1 = "bb2f95a5eda2ec168ec9274e06a747c3e2904d2b";
+        sha512 = "/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==";
       };
     }
     {
@@ -2950,7 +2942,7 @@
       path = fetchurl {
         name = "p_try___p_try_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz";
-        sha1 = "cb2868540e313d61de58fafbe35ce9004d5540e6";
+        sha512 = "R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==";
       };
     }
     {
@@ -2958,7 +2950,7 @@
       path = fetchurl {
         name = "parent_module___parent_module_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/parent-module/-/parent-module-1.0.1.tgz";
-        sha1 = "691d2709e78c79fae3a156622452d00762caaaa2";
+        sha512 = "GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==";
       };
     }
     {
@@ -2966,7 +2958,7 @@
       path = fetchurl {
         name = "parse_json___parse_json_5.2.0.tgz";
         url  = "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz";
-        sha1 = "c76fc66dee54231c962b22bcc8a72cf2f99753cd";
+        sha512 = "ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==";
       };
     }
     {
@@ -2974,7 +2966,7 @@
       path = fetchurl {
         name = "parseurl___parseurl_1.3.3.tgz";
         url  = "https://registry.yarnpkg.com/parseurl/-/parseurl-1.3.3.tgz";
-        sha1 = "9da19e7bee8d12dff0513ed5b76957793bc2e8d4";
+        sha512 = "CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==";
       };
     }
     {
@@ -2982,7 +2974,7 @@
       path = fetchurl {
         name = "path_exists___path_exists_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-exists/-/path-exists-4.0.0.tgz";
-        sha1 = "513bdbe2d3b95d7762e8c1137efa195c6c61b5b3";
+        sha512 = "ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==";
       };
     }
     {
@@ -2990,7 +2982,7 @@
       path = fetchurl {
         name = "path_is_absolute___path_is_absolute_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz";
-        sha1 = "174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f";
+        sha1 = "F0uSaHNVNP+8es5r9TpanhtcX18=";
       };
     }
     {
@@ -2998,7 +2990,7 @@
       path = fetchurl {
         name = "path_key___path_key_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz";
-        sha1 = "581f6ade658cbba65a0d3380de7753295054f375";
+        sha512 = "ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==";
       };
     }
     {
@@ -3006,7 +2998,7 @@
       path = fetchurl {
         name = "path_parse___path_parse_1.0.7.tgz";
         url  = "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz";
-        sha1 = "fbc114b60ca42b30d9daf5858e4bd68bbedb6735";
+        sha512 = "LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==";
       };
     }
     {
@@ -3014,7 +3006,7 @@
       path = fetchurl {
         name = "path_to_regexp___path_to_regexp_0.1.7.tgz";
         url  = "https://registry.yarnpkg.com/path-to-regexp/-/path-to-regexp-0.1.7.tgz";
-        sha1 = "df604178005f522f15eb4490e7247a1bfaa67f8c";
+        sha1 = "32BBeABfUi8V60SQ5yR6G/qmf4w=";
       };
     }
     {
@@ -3022,7 +3014,7 @@
       path = fetchurl {
         name = "path_type___path_type_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz";
-        sha1 = "84ed01c0a7ba380afe09d90a8c180dcd9d03043b";
+        sha512 = "gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==";
       };
     }
     {
@@ -3030,7 +3022,7 @@
       path = fetchurl {
         name = "pause_stream___pause_stream_0.0.11.tgz";
         url  = "https://registry.yarnpkg.com/pause-stream/-/pause-stream-0.0.11.tgz";
-        sha1 = "fe5a34b0cbce12b5aa6a2b403ee2e73b602f1445";
+        sha1 = "/lo0sMvOErWqaitAPuLnO2AvFEU=";
       };
     }
     {
@@ -3038,15 +3030,15 @@
       path = fetchurl {
         name = "pend___pend_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz";
-        sha1 = "7a57eb550a6783f9115331fcf4663d5c8e007a50";
+        sha1 = "elfrVQpng/kRUzH89GY9XI4AelA=";
       };
     }
     {
-      name = "picomatch___picomatch_2.3.0.tgz";
+      name = "picomatch___picomatch_2.3.1.tgz";
       path = fetchurl {
-        name = "picomatch___picomatch_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz";
-        sha1 = "f1f061de8f6a4bf022892e2d128234fb98302972";
+        name = "picomatch___picomatch_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz";
+        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     }
     {
@@ -3054,7 +3046,7 @@
       path = fetchurl {
         name = "pkg_dir___pkg_dir_4.2.0.tgz";
         url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-4.2.0.tgz";
-        sha1 = "f099133df7ede422e81d1d8448270eeb3e4261f3";
+        sha512 = "HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==";
       };
     }
     {
@@ -3062,23 +3054,23 @@
       path = fetchurl {
         name = "pkg_dir___pkg_dir_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pkg-dir/-/pkg-dir-5.0.0.tgz";
-        sha1 = "a02d6aebe6ba133a928f74aec20bafdfe6b8e760";
+        sha512 = "NPE8TDbzl/3YQYY7CSS228s3g2ollTFnc+Qi3tqmqJp9Vg2ovUpixcJEo2HJScN2Ez+kEaal6y70c0ehqJBJeA==";
       };
     }
     {
-      name = "pkg_fetch___pkg_fetch_3.2.4.tgz";
+      name = "pkg_fetch___pkg_fetch_3.2.6.tgz";
       path = fetchurl {
-        name = "pkg_fetch___pkg_fetch_3.2.4.tgz";
-        url  = "https://registry.yarnpkg.com/pkg-fetch/-/pkg-fetch-3.2.4.tgz";
-        sha1 = "5372734b12167d4bacd872be348217461b517390";
+        name = "pkg_fetch___pkg_fetch_3.2.6.tgz";
+        url  = "https://registry.yarnpkg.com/pkg-fetch/-/pkg-fetch-3.2.6.tgz";
+        sha512 = "Q8fx6SIT022g0cdSE4Axv/xpfHeltspo2gg1KsWRinLQZOTRRAtOOaEFghA1F3jJ8FVsh8hGrL/Pb6Ea5XHIFw==";
       };
     }
     {
-      name = "pkg___pkg_5.4.1.tgz";
+      name = "pkg___pkg_5.5.2.tgz";
       path = fetchurl {
-        name = "pkg___pkg_5.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/pkg/-/pkg-5.4.1.tgz";
-        sha1 = "4d824e42c454f32131e471d7cd8d14bfdb3e1c4c";
+        name = "pkg___pkg_5.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/pkg/-/pkg-5.5.2.tgz";
+        sha512 = "pD0UB2ud01C6pVv2wpGsTYJrXI/bnvGRYvMLd44wFzA1p+A2jrlTGFPAYa7YEYzmitXhx23PqalaG1eUEnSwcA==";
       };
     }
     {
@@ -3086,15 +3078,31 @@
       path = fetchurl {
         name = "please_upgrade_node___please_upgrade_node_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/please-upgrade-node/-/please-upgrade-node-3.2.0.tgz";
-        sha1 = "aeddd3f994c933e4ad98b99d9a556efa0e2fe942";
+        sha512 = "gQR3WpIgNIKwBMVLkpMUeR3e1/E1y42bqDQZfql+kDeXd8COYfM8PQA4X6y7a8u9Ua9FHmsrrmirW2vHs45hWg==";
+      };
+    }
+    {
+      name = "poolpeteer___poolpeteer_0.22.20.tgz";
+      path = fetchurl {
+        name = "poolpeteer___poolpeteer_0.22.20.tgz";
+        url  = "https://registry.yarnpkg.com/poolpeteer/-/poolpeteer-0.22.20.tgz";
+        sha512 = "+bEpQoW5YpmZ3fUEhdL9tcgYVULHc5ylI140QDka1F4a6ew9Jv3bWHpkgrR5OLeEbHdfSdJZOXIysna3GgRkIw==";
       };
     }
     {
-      name = "prebuild_install___prebuild_install_6.0.1.tgz";
+      name = "prebuild_install___prebuild_install_6.1.4.tgz";
       path = fetchurl {
-        name = "prebuild_install___prebuild_install_6.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.0.1.tgz";
-        sha1 = "5902172f7a40eb67305b96c2a695db32636ee26d";
+        name = "prebuild_install___prebuild_install_6.1.4.tgz";
+        url  = "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-6.1.4.tgz";
+        sha512 = "Z4vpywnK1lBg+zdPCVCsKq0xO66eEV9rWo2zrROGGiRS4JtueBOdlB1FnY8lcy7JsUud/Q3ijUxyWN26Ika0vQ==";
+      };
+    }
+    {
+      name = "prebuild_install___prebuild_install_7.0.1.tgz";
+      path = fetchurl {
+        name = "prebuild_install___prebuild_install_7.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/prebuild-install/-/prebuild-install-7.0.1.tgz";
+        sha512 = "QBSab31WqkyxpnMWQxubYAHR5S9B2+r81ucocew34Fkl98FhvKIF50jIJnNOBmAZfyNV7vE5T6gd3hTVWgY6tg==";
       };
     }
     {
@@ -3102,7 +3110,7 @@
       path = fetchurl {
         name = "prelude_ls___prelude_ls_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz";
-        sha1 = "debc6489d7a6e6b0e7611888cec880337d316396";
+        sha512 = "vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==";
       };
     }
     {
@@ -3110,7 +3118,7 @@
       path = fetchurl {
         name = "prelude_ls___prelude_ls_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz";
-        sha1 = "21932a549f5e52ffd9a827f570e04be62a97da54";
+        sha1 = "IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ=";
       };
     }
     {
@@ -3118,7 +3126,7 @@
       path = fetchurl {
         name = "prettier_linter_helpers___prettier_linter_helpers_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz";
-        sha1 = "d23d41fe1375646de2d0104d3454a3008802cf7b";
+        sha512 = "GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==";
       };
     }
     {
@@ -3126,23 +3134,23 @@
       path = fetchurl {
         name = "prettier___prettier_2.2.1.tgz";
         url  = "https://registry.yarnpkg.com/prettier/-/prettier-2.2.1.tgz";
-        sha1 = "795a1a78dd52f073da0cd42b21f9c91381923ff5";
+        sha512 = "PqyhM2yCjg/oKkFPtTGUojv7gnZAoG80ttl45O6x2Ug/rMJw4wcc9k6aaf2hibP7BGVCCM33gZoGjyvt9mm16Q==";
       };
     }
     {
-      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+      name = "prettier___prettier_2.5.1.tgz";
       path = fetchurl {
-        name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
-        sha1 = "7820d9b16120cc55ca9ae7792680ae7dba6d7fe2";
+        name = "prettier___prettier_2.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz";
+        sha512 = "vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg==";
       };
     }
     {
-      name = "progress___progress_2.0.1.tgz";
+      name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
       path = fetchurl {
-        name = "progress___progress_2.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.1.tgz";
-        sha1 = "c9242169342b1c29d275889c95734621b1952e31";
+        name = "process_nextick_args___process_nextick_args_2.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz";
+        sha512 = "3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==";
       };
     }
     {
@@ -3150,7 +3158,7 @@
       path = fetchurl {
         name = "progress___progress_2.0.3.tgz";
         url  = "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz";
-        sha1 = "7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8";
+        sha512 = "7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA==";
       };
     }
     {
@@ -3158,15 +3166,15 @@
       path = fetchurl {
         name = "prom_client___prom_client_11.5.3.tgz";
         url  = "https://registry.yarnpkg.com/prom-client/-/prom-client-11.5.3.tgz";
-        sha1 = "5fedfce1083bac6c2b223738e966d0e1643756f8";
+        sha512 = "iz22FmTbtkyL2vt0MdDFY+kWof+S9UB/NACxSn2aJcewtw+EERsen0urSkZ2WrHseNdydsvcxCTAnPcSMZZv4Q==";
       };
     }
     {
-      name = "prop_types___prop_types_15.7.2.tgz";
+      name = "prop_types___prop_types_15.8.1.tgz";
       path = fetchurl {
-        name = "prop_types___prop_types_15.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz";
-        sha1 = "52c41e75b8c87e72b9d9360e0206b99dcbffa6c5";
+        name = "prop_types___prop_types_15.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz";
+        sha512 = "oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==";
       };
     }
     {
@@ -3174,7 +3182,7 @@
       path = fetchurl {
         name = "protobufjs___protobufjs_6.11.2.tgz";
         url  = "https://registry.yarnpkg.com/protobufjs/-/protobufjs-6.11.2.tgz";
-        sha1 = "de39fabd4ed32beaa08e9bb1e30d08544c1edf8b";
+        sha512 = "4BQJoPooKJl2G9j3XftkIXjoC9C0Av2NOrWmbLWT1vH32GcSUHjM0Arra6UfTsVyfMAuFzaLucXn1sadxJydAw==";
       };
     }
     {
@@ -3182,7 +3190,7 @@
       path = fetchurl {
         name = "proxy_addr___proxy_addr_2.0.7.tgz";
         url  = "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz";
-        sha1 = "f19fe69ceab311eeb94b42e70e8c2070f9ba1025";
+        sha512 = "llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==";
       };
     }
     {
@@ -3190,7 +3198,7 @@
       path = fetchurl {
         name = "proxy_from_env___proxy_from_env_1.1.0.tgz";
         url  = "https://registry.yarnpkg.com/proxy-from-env/-/proxy-from-env-1.1.0.tgz";
-        sha1 = "e102f16ca355424865755d2c9e8ea4f24d58c3e2";
+        sha512 = "D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==";
       };
     }
     {
@@ -3198,7 +3206,7 @@
       path = fetchurl {
         name = "ps_tree___ps_tree_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/ps-tree/-/ps-tree-1.2.0.tgz";
-        sha1 = "5e7425b89508736cdd4f2224d028f7bb3f722ebd";
+        sha512 = "0VnamPPYHl4uaU/nSFeZZpR21QAWRz+sRv4iW9+v/GS/J5U5iZB5BNN6J0RMoOvdx2gWM2+ZFMIm58q24e4UYA==";
       };
     }
     {
@@ -3206,7 +3214,7 @@
       path = fetchurl {
         name = "pump___pump_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/pump/-/pump-3.0.0.tgz";
-        sha1 = "b4a2116815bde2f4e1ea602354e8c75565107a64";
+        sha512 = "LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==";
       };
     }
     {
@@ -3214,7 +3222,7 @@
       path = fetchurl {
         name = "punycode___punycode_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/punycode/-/punycode-2.1.1.tgz";
-        sha1 = "b58b010ac40c22c5657616c8d2c2c02c7bf479ec";
+        sha512 = "XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==";
       };
     }
     {
@@ -3222,23 +3230,23 @@
       path = fetchurl {
         name = "puppeteer_cluster___puppeteer_cluster_0.22.0.tgz";
         url  = "https://registry.yarnpkg.com/puppeteer-cluster/-/puppeteer-cluster-0.22.0.tgz";
-        sha1 = "4ab214671f414f15ad6a94a4b61ed0b4172e86e6";
+        sha512 = "hmydtMwfVM+idFIDzS8OXetnujHGre7RY3BGL+3njy9+r8Dcu3VALkZHfuBEPf6byKssTCgzxU1BvLczifXd5w==";
       };
     }
     {
-      name = "puppeteer___puppeteer_10.4.0.tgz";
+      name = "puppeteer___puppeteer_13.3.2.tgz";
       path = fetchurl {
-        name = "puppeteer___puppeteer_10.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-10.4.0.tgz";
-        sha1 = "a6465ff97fda0576c4ac29601406f67e6fea3dc7";
+        name = "puppeteer___puppeteer_13.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/puppeteer/-/puppeteer-13.3.2.tgz";
+        sha512 = "TIt8/R0eaUwY1c0/O0sCJpSglvGEWVoWFfGZ2dNtxX3eHuBo1ln9abaWfxTjZfsrkYATLSs8oqEdRZpMNnCsvg==";
       };
     }
     {
-      name = "qs___qs_6.7.0.tgz";
+      name = "qs___qs_6.9.6.tgz";
       path = fetchurl {
-        name = "qs___qs_6.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
-        sha1 = "41dc1a015e3d581f1621776be31afb2876a9b1bc";
+        name = "qs___qs_6.9.6.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz";
+        sha512 = "TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==";
       };
     }
     {
@@ -3246,7 +3254,7 @@
       path = fetchurl {
         name = "queue_microtask___queue_microtask_1.2.3.tgz";
         url  = "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz";
-        sha1 = "4929228bbc724dfac43e0efb058caf7b6cfb6243";
+        sha512 = "NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==";
       };
     }
     {
@@ -3254,15 +3262,15 @@
       path = fetchurl {
         name = "range_parser___range_parser_1.2.1.tgz";
         url  = "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz";
-        sha1 = "3cf37023d199e1c24d1a55b84800c2f3e6468031";
+        sha512 = "Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==";
       };
     }
     {
-      name = "raw_body___raw_body_2.4.0.tgz";
+      name = "raw_body___raw_body_2.4.2.tgz";
       path = fetchurl {
-        name = "raw_body___raw_body_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
-        sha1 = "a1ce6fb9c9bc356ca52e89256ab59059e13d0332";
+        name = "raw_body___raw_body_2.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz";
+        sha512 = "RPMAFUJP19WIet/99ngh6Iv8fzAbqum4Li7AD6DtGaW2RpMB/11xDoalPiJMTbu6I3hkbMVkATvZrqb9EEqeeQ==";
       };
     }
     {
@@ -3270,7 +3278,7 @@
       path = fetchurl {
         name = "rc___rc_1.2.8.tgz";
         url  = "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz";
-        sha1 = "cd924bf5200a075b83c188cd6b9e211b7fc0d3ed";
+        sha512 = "y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==";
       };
     }
     {
@@ -3278,7 +3286,7 @@
       path = fetchurl {
         name = "react_is___react_is_16.13.1.tgz";
         url  = "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz";
-        sha1 = "789729a4dc36de2999dc156dd6c1d9c18cea56a4";
+        sha512 = "24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==";
       };
     }
     {
@@ -3286,7 +3294,7 @@
       path = fetchurl {
         name = "readable_stream___readable_stream_2.3.7.tgz";
         url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz";
-        sha1 = "1eca1cf711aef814c04f62252a36a62f6cb23b57";
+        sha512 = "Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==";
       };
     }
     {
@@ -3294,7 +3302,7 @@
       path = fetchurl {
         name = "readable_stream___readable_stream_3.6.0.tgz";
         url  = "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz";
-        sha1 = "337bbda3adc0706bd3e024426a286d4b4b2c9198";
+        sha512 = "BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==";
       };
     }
     {
@@ -3302,15 +3310,15 @@
       path = fetchurl {
         name = "readdirp___readdirp_3.6.0.tgz";
         url  = "https://registry.yarnpkg.com/readdirp/-/readdirp-3.6.0.tgz";
-        sha1 = "74a370bd857116e245b29cc97340cd431a02a6c7";
+        sha512 = "hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==";
       };
     }
     {
-      name = "regexp.prototype.flags___regexp.prototype.flags_1.3.1.tgz";
+      name = "regexp.prototype.flags___regexp.prototype.flags_1.4.1.tgz";
       path = fetchurl {
-        name = "regexp.prototype.flags___regexp.prototype.flags_1.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.3.1.tgz";
-        sha1 = "7ef352ae8d159e758c0eadca6f8fcb4eef07be26";
+        name = "regexp.prototype.flags___regexp.prototype.flags_1.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz";
+        sha512 = "pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ==";
       };
     }
     {
@@ -3318,15 +3326,7 @@
       path = fetchurl {
         name = "regexpp___regexpp_3.2.0.tgz";
         url  = "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz";
-        sha1 = "0425a2768d8f23bad70ca4b90461fa2f1213e1b2";
-      };
-    }
-    {
-      name = "regextras___regextras_0.7.1.tgz";
-      path = fetchurl {
-        name = "regextras___regextras_0.7.1.tgz";
-        url  = "https://registry.yarnpkg.com/regextras/-/regextras-0.7.1.tgz";
-        sha1 = "be95719d5f43f9ef0b9fa07ad89b7c606995a3b2";
+        sha512 = "pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg==";
       };
     }
     {
@@ -3334,7 +3334,7 @@
       path = fetchurl {
         name = "regextras___regextras_0.8.0.tgz";
         url  = "https://registry.yarnpkg.com/regextras/-/regextras-0.8.0.tgz";
-        sha1 = "ec0f99853d4912839321172f608b544814b02217";
+        sha512 = "k519uI04Z3SaY0fLX843MRXnDeG2+vHOFsyhiPZvNLe7r8rD2YNRjq4BQLZZ0oAr2NrtvZlICsXysGNFPGa3CQ==";
       };
     }
     {
@@ -3342,7 +3342,7 @@
       path = fetchurl {
         name = "require_directory___require_directory_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz";
-        sha1 = "8c64ad5fd30dab1c976e2344ffe7f792a6a6df42";
+        sha1 = "jGStX9MNqxyXbiNE/+f3kqam30I=";
       };
     }
     {
@@ -3350,7 +3350,7 @@
       path = fetchurl {
         name = "require_from_string___require_from_string_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz";
-        sha1 = "89a7fdd938261267318eafe14f9c32e598c36909";
+        sha512 = "Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==";
       };
     }
     {
@@ -3358,15 +3358,15 @@
       path = fetchurl {
         name = "resolve_from___resolve_from_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz";
-        sha1 = "4abcd852ad32dd7baabfe9b40e00a36db5f392e6";
+        sha512 = "pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==";
       };
     }
     {
-      name = "resolve___resolve_1.20.0.tgz";
+      name = "resolve___resolve_1.22.0.tgz";
       path = fetchurl {
-        name = "resolve___resolve_1.20.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz";
-        sha1 = "629a013fb3f70755d6f0b7935cc1c2c5378b1975";
+        name = "resolve___resolve_1.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz";
+        sha512 = "Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==";
       };
     }
     {
@@ -3374,7 +3374,7 @@
       path = fetchurl {
         name = "resolve___resolve_2.0.0_next.3.tgz";
         url  = "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz";
-        sha1 = "d41016293d4a8586a39ca5d9b5f15cbea1f55e46";
+        sha512 = "W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q==";
       };
     }
     {
@@ -3382,7 +3382,7 @@
       path = fetchurl {
         name = "restore_cursor___restore_cursor_3.1.0.tgz";
         url  = "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz";
-        sha1 = "39f67c54b3a7a58cea5236d95cf0034239631f7e";
+        sha512 = "l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==";
       };
     }
     {
@@ -3390,7 +3390,15 @@
       path = fetchurl {
         name = "reusify___reusify_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz";
-        sha1 = "90da382b1e126efc02146e90845a88db12925d76";
+        sha512 = "U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==";
+      };
+    }
+    {
+      name = "rfdc___rfdc_1.3.0.tgz";
+      path = fetchurl {
+        name = "rfdc___rfdc_1.3.0.tgz";
+        url  = "https://registry.yarnpkg.com/rfdc/-/rfdc-1.3.0.tgz";
+        sha512 = "V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==";
       };
     }
     {
@@ -3398,7 +3406,7 @@
       path = fetchurl {
         name = "rimraf___rimraf_3.0.2.tgz";
         url  = "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz";
-        sha1 = "f1a5402ba6220ad52cc1282bac1ae3aa49fd061a";
+        sha512 = "JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==";
       };
     }
     {
@@ -3406,15 +3414,15 @@
       path = fetchurl {
         name = "run_parallel___run_parallel_1.2.0.tgz";
         url  = "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz";
-        sha1 = "66d1368da7bdf921eb9d95bd1a9229e7f21a43ee";
+        sha512 = "5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==";
       };
     }
     {
-      name = "rxjs___rxjs_6.6.7.tgz";
+      name = "rxjs___rxjs_7.5.2.tgz";
       path = fetchurl {
-        name = "rxjs___rxjs_6.6.7.tgz";
-        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-6.6.7.tgz";
-        sha1 = "90ac018acabf491bf65044235d5863c4dab804c9";
+        name = "rxjs___rxjs_7.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/rxjs/-/rxjs-7.5.2.tgz";
+        sha512 = "PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==";
       };
     }
     {
@@ -3422,7 +3430,7 @@
       path = fetchurl {
         name = "safe_buffer___safe_buffer_5.1.2.tgz";
         url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz";
-        sha1 = "991ec69d296e0313747d59bdfd2b745c35f8828d";
+        sha512 = "Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==";
       };
     }
     {
@@ -3430,7 +3438,7 @@
       path = fetchurl {
         name = "safe_buffer___safe_buffer_5.2.1.tgz";
         url  = "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz";
-        sha1 = "1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6";
+        sha512 = "rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==";
       };
     }
     {
@@ -3438,7 +3446,15 @@
       path = fetchurl {
         name = "safe_stable_stringify___safe_stable_stringify_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-1.1.1.tgz";
-        sha1 = "c8a220ab525cd94e60ebf47ddc404d610dc5d84a";
+        sha512 = "ERq4hUjKDbJfE4+XtZLFPCDi8Vb1JqaxAPTxWFLBx8XcAlf9Bda/ZJdVezs/NAfsMQScyIlUMx+Yeu7P7rx5jw==";
+      };
+    }
+    {
+      name = "safe_stable_stringify___safe_stable_stringify_2.3.1.tgz";
+      path = fetchurl {
+        name = "safe_stable_stringify___safe_stable_stringify_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/safe-stable-stringify/-/safe-stable-stringify-2.3.1.tgz";
+        sha512 = "kYBSfT+troD9cDA85VDnHZ1rpHC50O0g1e6WlGHVCz/g+JS+9WKLj+XwFYyR8UbrZN8ll9HUpDAAddY58MGisg==";
       };
     }
     {
@@ -3446,7 +3462,7 @@
       path = fetchurl {
         name = "safer_buffer___safer_buffer_2.1.2.tgz";
         url  = "https://registry.yarnpkg.com/safer-buffer/-/safer-buffer-2.1.2.tgz";
-        sha1 = "44fa161b0187b9549dd84bb91802f9bd8385cd6a";
+        sha512 = "YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==";
       };
     }
     {
@@ -3454,7 +3470,7 @@
       path = fetchurl {
         name = "semver_compare___semver_compare_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/semver-compare/-/semver-compare-1.0.0.tgz";
-        sha1 = "0dee216a1c941ab37e9efb1788f6afc5ff5537fc";
+        sha1 = "De4hahyUGrN+nvsXiPavxf9VN/w=";
       };
     }
     {
@@ -3462,7 +3478,7 @@
       path = fetchurl {
         name = "semver_regex___semver_regex_3.1.3.tgz";
         url  = "https://registry.yarnpkg.com/semver-regex/-/semver-regex-3.1.3.tgz";
-        sha1 = "b2bcc6f97f63269f286994e297e229b6245d0dc3";
+        sha512 = "Aqi54Mk9uYTjVexLnR67rTyBusmwd04cLkHy9hNvk3+G3nT2Oyg7E0l4XVbOaNwIvQ3hHeYxGcyEy+mKreyBFQ==";
       };
     }
     {
@@ -3470,7 +3486,7 @@
       path = fetchurl {
         name = "semver___semver_5.7.1.tgz";
         url  = "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz";
-        sha1 = "a954f931aeba508d307bbf069eff0c01c96116f7";
+        sha512 = "sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==";
       };
     }
     {
@@ -3478,7 +3494,7 @@
       path = fetchurl {
         name = "semver___semver_6.3.0.tgz";
         url  = "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz";
-        sha1 = "ee0a64c8af5e8ceea67687b133761e1becbd1d3d";
+        sha512 = "b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==";
       };
     }
     {
@@ -3486,23 +3502,23 @@
       path = fetchurl {
         name = "semver___semver_7.3.5.tgz";
         url  = "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz";
-        sha1 = "0b621c879348d8998e4b0e4be94b3f12e6018ef7";
+        sha512 = "PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ==";
       };
     }
     {
-      name = "send___send_0.17.1.tgz";
+      name = "send___send_0.17.2.tgz";
       path = fetchurl {
-        name = "send___send_0.17.1.tgz";
-        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
-        sha1 = "c1d8b059f7900f7466dd4938bdc44e11ddb376c8";
+        name = "send___send_0.17.2.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz";
+        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
       };
     }
     {
-      name = "serve_static___serve_static_1.14.1.tgz";
+      name = "serve_static___serve_static_1.14.2.tgz";
       path = fetchurl {
-        name = "serve_static___serve_static_1.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
-        sha1 = "666e636dc4f010f7ef29970a88a674320898b2f9";
+        name = "serve_static___serve_static_1.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz";
+        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
       };
     }
     {
@@ -3510,15 +3526,23 @@
       path = fetchurl {
         name = "set_blocking___set_blocking_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/set-blocking/-/set-blocking-2.0.0.tgz";
-        sha1 = "045f9782d011ae9a6803ddd382b24392b3d890f7";
+        sha1 = "BF+XgtARrppoA93TgrJDkrPYkPc=";
       };
     }
     {
-      name = "setprototypeof___setprototypeof_1.1.1.tgz";
+      name = "setprototypeof___setprototypeof_1.2.0.tgz";
       path = fetchurl {
-        name = "setprototypeof___setprototypeof_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
-        sha1 = "7e95acb24aa92f5885e0abef5ba131330d4ae683";
+        name = "setprototypeof___setprototypeof_1.2.0.tgz";
+        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz";
+        sha512 = "E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==";
+      };
+    }
+    {
+      name = "sharp___sharp_0.29.3.tgz";
+      path = fetchurl {
+        name = "sharp___sharp_0.29.3.tgz";
+        url  = "https://registry.yarnpkg.com/sharp/-/sharp-0.29.3.tgz";
+        sha512 = "fKWUuOw77E4nhpyzCCJR1ayrttHoFHBT2U/kR/qEMRhvPEcluG4BKj324+SCO1e84+knXHwhJ1HHJGnUt4ElGA==";
       };
     }
     {
@@ -3526,7 +3550,7 @@
       path = fetchurl {
         name = "shebang_command___shebang_command_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-command/-/shebang-command-2.0.0.tgz";
-        sha1 = "ccd0af4f8835fbdc265b82461aaf0c36663f34ea";
+        sha512 = "kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==";
       };
     }
     {
@@ -3534,7 +3558,7 @@
       path = fetchurl {
         name = "shebang_regex___shebang_regex_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/shebang-regex/-/shebang-regex-3.0.0.tgz";
-        sha1 = "ae16f1644d873ecad843b0307b143362d4c42172";
+        sha512 = "7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==";
       };
     }
     {
@@ -3542,15 +3566,15 @@
       path = fetchurl {
         name = "side_channel___side_channel_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz";
-        sha1 = "efce5c8fdc104ee751b25c58d4290011fa5ea2cf";
+        sha512 = "q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==";
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.5.tgz";
+      name = "signal_exit___signal_exit_3.0.6.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.5.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.5.tgz";
-        sha1 = "9e3e8cc0c75a99472b44321033a7702e7738252f";
+        name = "signal_exit___signal_exit_3.0.6.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz";
+        sha512 = "sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==";
       };
     }
     {
@@ -3558,15 +3582,23 @@
       path = fetchurl {
         name = "simple_concat___simple_concat_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/simple-concat/-/simple-concat-1.0.1.tgz";
-        sha1 = "f46976082ba35c2263f1c8ab5edfe26c41c9552f";
+        sha512 = "cSFtAPtRhljv69IK0hTVZQ+OfE9nePi/rtJmw5UjHeVyVroEqJXP1sFztKUy1qU+xvz3u/sfYJLa947b7nAN2Q==";
+      };
+    }
+    {
+      name = "simple_get___simple_get_3.1.1.tgz";
+      path = fetchurl {
+        name = "simple_get___simple_get_3.1.1.tgz";
+        url  = "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.1.tgz";
+        sha512 = "CQ5LTKGfCpvE1K0n2us+kuMPbk/q0EKl82s4aheV9oXjFEz6W/Y7oQFVJuU6QG77hRT4Ghb5RURteF5vnWjupA==";
       };
     }
     {
-      name = "simple_get___simple_get_3.1.0.tgz";
+      name = "simple_get___simple_get_4.0.1.tgz";
       path = fetchurl {
-        name = "simple_get___simple_get_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/simple-get/-/simple-get-3.1.0.tgz";
-        sha1 = "b45be062435e50d159540b576202ceec40b9c6b3";
+        name = "simple_get___simple_get_4.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/simple-get/-/simple-get-4.0.1.tgz";
+        sha512 = "brv7p5WgH0jmQJr1ZDDfKDOSeWWg+OVypG99A/5vYGPqJ6pxiaHLy8nxtFjBA7oMa01ebA9gfh1uMCFqOuXxvA==";
       };
     }
     {
@@ -3574,7 +3606,7 @@
       path = fetchurl {
         name = "simple_swizzle___simple_swizzle_0.2.2.tgz";
         url  = "https://registry.yarnpkg.com/simple-swizzle/-/simple-swizzle-0.2.2.tgz";
-        sha1 = "a4da6b635ffcccca33f70d17cb92592de95e557a";
+        sha1 = "pNprY1/8zMoz9w0Xy5JZLeleVXo=";
       };
     }
     {
@@ -3582,7 +3614,7 @@
       path = fetchurl {
         name = "slash___slash_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz";
-        sha1 = "6539be870c165adbd5240220dbe361f1bc4d4634";
+        sha512 = "g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==";
       };
     }
     {
@@ -3590,7 +3622,7 @@
       path = fetchurl {
         name = "slice_ansi___slice_ansi_3.0.0.tgz";
         url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-3.0.0.tgz";
-        sha1 = "31ddc10930a1b7e0b67b08c96c2f49b77a789787";
+        sha512 = "pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==";
       };
     }
     {
@@ -3598,7 +3630,7 @@
       path = fetchurl {
         name = "slice_ansi___slice_ansi_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz";
-        sha1 = "500e8dd0fd55b05815086255b3195adf2a45fe6b";
+        sha512 = "qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ==";
       };
     }
     {
@@ -3606,7 +3638,7 @@
       path = fetchurl {
         name = "source_map___source_map_0.6.1.tgz";
         url  = "https://registry.yarnpkg.com/source-map/-/source-map-0.6.1.tgz";
-        sha1 = "74722af32e9614e9c287a8d0bbde48b5e2f1a263";
+        sha512 = "UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==";
       };
     }
     {
@@ -3614,7 +3646,7 @@
       path = fetchurl {
         name = "spdx_exceptions___spdx_exceptions_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz";
-        sha1 = "3f28ce1a77a00372683eade4a433183527a2163d";
+        sha512 = "/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==";
       };
     }
     {
@@ -3622,15 +3654,15 @@
       path = fetchurl {
         name = "spdx_expression_parse___spdx_expression_parse_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz";
-        sha1 = "cf70f50482eefdc98e3ce0a6833e4a53ceeba679";
+        sha512 = "cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==";
       };
     }
     {
-      name = "spdx_license_ids___spdx_license_ids_3.0.10.tgz";
+      name = "spdx_license_ids___spdx_license_ids_3.0.11.tgz";
       path = fetchurl {
-        name = "spdx_license_ids___spdx_license_ids_3.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.10.tgz";
-        sha1 = "0d9becccde7003d6c658d487dd48a32f0bf3014b";
+        name = "spdx_license_ids___spdx_license_ids_3.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/spdx-license-ids/-/spdx-license-ids-3.0.11.tgz";
+        sha512 = "Ctl2BrFiM0X3MANYgj3CkygxhRmr9mi6xhejbdO960nF6EDJApTYpn0BQnDKlnNBULKiCN1n3w9EBkHK8ZWg+g==";
       };
     }
     {
@@ -3638,7 +3670,7 @@
       path = fetchurl {
         name = "split___split_0.3.3.tgz";
         url  = "https://registry.yarnpkg.com/split/-/split-0.3.3.tgz";
-        sha1 = "cd0eea5e63a211dfff7eb0f091c4133e2d0dd28f";
+        sha1 = "zQ7qXmOiEd//frDwkcQTPi0N0o8=";
       };
     }
     {
@@ -3646,7 +3678,7 @@
       path = fetchurl {
         name = "sprintf_js___sprintf_js_1.0.3.tgz";
         url  = "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz";
-        sha1 = "04e6926f662895354f3dd015203633b857297e2c";
+        sha1 = "BOaSb2YolTVPPdAVIDYzuFcpfiw=";
       };
     }
     {
@@ -3654,7 +3686,7 @@
       path = fetchurl {
         name = "stack_trace___stack_trace_0.0.10.tgz";
         url  = "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz";
-        sha1 = "547c70b347e8d32b4e108ea1a2a159e5fdde19c0";
+        sha1 = "VHxws0fo0ytOEI6hoqFZ5f3eGcA=";
       };
     }
     {
@@ -3662,7 +3694,7 @@
       path = fetchurl {
         name = "statuses___statuses_1.5.0.tgz";
         url  = "https://registry.yarnpkg.com/statuses/-/statuses-1.5.0.tgz";
-        sha1 = "161c7dac177659fd9811f43771fa99381478628c";
+        sha1 = "Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=";
       };
     }
     {
@@ -3670,7 +3702,7 @@
       path = fetchurl {
         name = "stream_combiner___stream_combiner_0.0.4.tgz";
         url  = "https://registry.yarnpkg.com/stream-combiner/-/stream-combiner-0.0.4.tgz";
-        sha1 = "4d5e433c185261dde623ca3f44c586bcf5c4ad14";
+        sha1 = "TV5DPBhSYd3mI8o/RMWGvPXErRQ=";
       };
     }
     {
@@ -3678,7 +3710,7 @@
       path = fetchurl {
         name = "stream_meter___stream_meter_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/stream-meter/-/stream-meter-1.0.4.tgz";
-        sha1 = "52af95aa5ea760a2491716704dbff90f73afdd1d";
+        sha1 = "Uq+Vql6nYKJJFxZwTb/5D3Ov3R0=";
       };
     }
     {
@@ -3686,7 +3718,7 @@
       path = fetchurl {
         name = "string_argv___string_argv_0.3.1.tgz";
         url  = "https://registry.yarnpkg.com/string-argv/-/string-argv-0.3.1.tgz";
-        sha1 = "95e2fbec0427ae19184935f816d74aaa4c5c19da";
+        sha512 = "a1uQGz7IyVy9YwhqjZIZu1c8JO8dNIe20xBmSS6qu9kv++k3JGzCVmprbNN5Kn+BgzD5E7YYwg1CcjuJMRNsvg==";
       };
     }
     {
@@ -3694,7 +3726,7 @@
       path = fetchurl {
         name = "string_argv___string_argv_0.1.2.tgz";
         url  = "https://registry.yarnpkg.com/string-argv/-/string-argv-0.1.2.tgz";
-        sha1 = "c5b7bc03fb2b11983ba3a72333dd0559e77e4738";
+        sha512 = "mBqPGEOMNJKXRo7z0keX0wlAhbBAjilUdPW13nN0PecVryZxdHIeM7TqbsSUA7VYuS00HGC6mojP7DlQzfa9ZA==";
       };
     }
     {
@@ -3702,15 +3734,7 @@
       path = fetchurl {
         name = "string_width___string_width_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/string-width/-/string-width-1.0.2.tgz";
-        sha1 = "118bdf5b8cdc51a2a7e70d211e07e2b0b9b107d3";
-      };
-    }
-    {
-      name = "string_width___string_width_2.1.1.tgz";
-      path = fetchurl {
-        name = "string_width___string_width_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz";
-        sha1 = "ab93f27a8dc13d28cac815c462143a6d9012ae9e";
+        sha1 = "EYvfW4zcUaKn5w0hHgfisLmxB9M=";
       };
     }
     {
@@ -3718,7 +3742,7 @@
       path = fetchurl {
         name = "string_width___string_width_4.2.3.tgz";
         url  = "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz";
-        sha1 = "269c7117d27b05ad2e536830a8ec895ef9c6d010";
+        sha512 = "wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==";
       };
     }
     {
@@ -3726,7 +3750,7 @@
       path = fetchurl {
         name = "string.prototype.matchall___string.prototype.matchall_4.0.6.tgz";
         url  = "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz";
-        sha1 = "5abb5dabc94c7b0ea2380f65ba610b3a544b15fa";
+        sha512 = "6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg==";
       };
     }
     {
@@ -3734,7 +3758,7 @@
       path = fetchurl {
         name = "string.prototype.trimend___string.prototype.trimend_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/string.prototype.trimend/-/string.prototype.trimend-1.0.4.tgz";
-        sha1 = "e75ae90c2942c63504686c18b287b4a0b1a45f80";
+        sha512 = "y9xCjw1P23Awk8EvTpcyL2NIr1j7wJ39f+k6lvRnSMz+mz9CGz9NYPelDk42kOz6+ql8xjfK8oYzy3jAP5QU5A==";
       };
     }
     {
@@ -3742,7 +3766,7 @@
       path = fetchurl {
         name = "string.prototype.trimstart___string.prototype.trimstart_1.0.4.tgz";
         url  = "https://registry.yarnpkg.com/string.prototype.trimstart/-/string.prototype.trimstart-1.0.4.tgz";
-        sha1 = "b36399af4ab2999b4c9c648bd7a3fb2bb26feeed";
+        sha512 = "jh6e984OBfvxS50tdY2nRZnoC5/mLFKOREQfw8t5yytkoUsJRNxvI/E39qu1sD0OtWI3OC0XgKSmcWwziwYuZw==";
       };
     }
     {
@@ -3750,7 +3774,7 @@
       path = fetchurl {
         name = "string_decoder___string_decoder_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz";
-        sha1 = "42f114594a46cf1a8e30b0a84f56c78c3edac21e";
+        sha512 = "hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==";
       };
     }
     {
@@ -3758,7 +3782,7 @@
       path = fetchurl {
         name = "string_decoder___string_decoder_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz";
-        sha1 = "9cf1611ba62685d7030ae9e4ba34149c3af03fc8";
+        sha512 = "n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==";
       };
     }
     {
@@ -3766,7 +3790,7 @@
       path = fetchurl {
         name = "stringify_object___stringify_object_3.3.0.tgz";
         url  = "https://registry.yarnpkg.com/stringify-object/-/stringify-object-3.3.0.tgz";
-        sha1 = "703065aefca19300d3ce88af4f5b3956d7556629";
+        sha512 = "rHqiFh1elqCQ9WPLIC8I0Q/g/wj5J1eMkyoiD6eoQApWHP0FtlK7rqnhmabL5VUY9JQCcqwwvlOaSuutekgyrw==";
       };
     }
     {
@@ -3774,15 +3798,7 @@
       path = fetchurl {
         name = "strip_ansi___strip_ansi_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-3.0.1.tgz";
-        sha1 = "6a385fb8853d952d5ff05d0e8aaf94278dc63dcf";
-      };
-    }
-    {
-      name = "strip_ansi___strip_ansi_4.0.0.tgz";
-      path = fetchurl {
-        name = "strip_ansi___strip_ansi_4.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz";
-        sha1 = "a8479022eb1ac368a871389b635262c505ee368f";
+        sha1 = "ajhfuIU9lS1f8F0Oiq+UJ43GPc8=";
       };
     }
     {
@@ -3790,7 +3806,7 @@
       path = fetchurl {
         name = "strip_ansi___strip_ansi_6.0.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz";
-        sha1 = "9e26c63d30f53443e9489495b2105d37b67a85d9";
+        sha512 = "Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==";
       };
     }
     {
@@ -3798,7 +3814,7 @@
       path = fetchurl {
         name = "strip_final_newline___strip_final_newline_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/strip-final-newline/-/strip-final-newline-2.0.0.tgz";
-        sha1 = "89b852fb2fcbe936f6f4b3187afb0a12c1ab58ad";
+        sha512 = "BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==";
       };
     }
     {
@@ -3806,7 +3822,7 @@
       path = fetchurl {
         name = "strip_json_comments___strip_json_comments_3.1.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.1.1.tgz";
-        sha1 = "31f1281b3832630434831c310c01cccda8cbe006";
+        sha512 = "6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==";
       };
     }
     {
@@ -3814,7 +3830,7 @@
       path = fetchurl {
         name = "strip_json_comments___strip_json_comments_2.0.1.tgz";
         url  = "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-2.0.1.tgz";
-        sha1 = "3c531942e908c2697c0ec344858c286c7ca0a60a";
+        sha1 = "PFMZQukIwml8DsNEhYwobHygpgo=";
       };
     }
     {
@@ -3822,7 +3838,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_8.1.1.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-8.1.1.tgz";
-        sha1 = "cd6fc17e28500cff56c1b86c0a7fd4a54a73005c";
+        sha512 = "MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==";
       };
     }
     {
@@ -3830,7 +3846,7 @@
       path = fetchurl {
         name = "supports_color___supports_color_5.5.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-5.5.0.tgz";
-        sha1 = "e2e69a44ac8772f78a1ec0b35b689df6530efc8f";
+        sha512 = "QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==";
       };
     }
     {
@@ -3838,23 +3854,23 @@
       path = fetchurl {
         name = "supports_color___supports_color_7.2.0.tgz";
         url  = "https://registry.yarnpkg.com/supports-color/-/supports-color-7.2.0.tgz";
-        sha1 = "1b7dcdcb32b8138801b3e478ba6a51caa89648da";
+        sha512 = "qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==";
       };
     }
     {
-      name = "table___table_6.7.2.tgz";
+      name = "supports_preserve_symlinks_flag___supports_preserve_symlinks_flag_1.0.0.tgz";
       path = fetchurl {
-        name = "table___table_6.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/table/-/table-6.7.2.tgz";
-        sha1 = "a8d39b9f5966693ca8b0feba270a78722cbaf3b0";
+        name = "supports_preserve_symlinks_flag___supports_preserve_symlinks_flag_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
+        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
       };
     }
     {
-      name = "tar_fs___tar_fs_2.0.0.tgz";
+      name = "table___table_6.8.0.tgz";
       path = fetchurl {
-        name = "tar_fs___tar_fs_2.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.0.0.tgz";
-        sha1 = "677700fc0c8b337a78bee3623fdc235f21d7afad";
+        name = "table___table_6.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz";
+        sha512 = "s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA==";
       };
     }
     {
@@ -3862,7 +3878,7 @@
       path = fetchurl {
         name = "tar_fs___tar_fs_2.1.1.tgz";
         url  = "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz";
-        sha1 = "489a15ab85f1f0befabb370b7de4f9eb5cbe8784";
+        sha512 = "V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng==";
       };
     }
     {
@@ -3870,7 +3886,7 @@
       path = fetchurl {
         name = "tar_stream___tar_stream_2.2.0.tgz";
         url  = "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz";
-        sha1 = "acad84c284136b060dc3faa64474aa9aebd77287";
+        sha512 = "ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==";
       };
     }
     {
@@ -3878,7 +3894,7 @@
       path = fetchurl {
         name = "tdigest___tdigest_0.1.1.tgz";
         url  = "https://registry.yarnpkg.com/tdigest/-/tdigest-0.1.1.tgz";
-        sha1 = "2e3cb2c39ea449e55d1e6cd91117accca4588021";
+        sha1 = "Ljyyw56kSeVdHmzZEReszKRYgCE=";
       };
     }
     {
@@ -3886,7 +3902,7 @@
       path = fetchurl {
         name = "text_hex___text_hex_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/text-hex/-/text-hex-1.0.0.tgz";
-        sha1 = "69dc9c1b17446ee79a92bf5b884bb4b9127506f5";
+        sha512 = "uuVGNWzgJ4yhRaNSiubPY7OjISw4sw4E5Uv0wbjp+OzcbmVU/rsT8ujgcXJhn9ypzsgr5vlzpPqP+MBBKcGvbg==";
       };
     }
     {
@@ -3894,7 +3910,7 @@
       path = fetchurl {
         name = "text_table___text_table_0.2.0.tgz";
         url  = "https://registry.yarnpkg.com/text-table/-/text-table-0.2.0.tgz";
-        sha1 = "7f5ee823ae805207c00af2df4a84ec3fcfa570b4";
+        sha1 = "f17oI66AUgfACvLfSoTsP8+lcLQ=";
       };
     }
     {
@@ -3902,7 +3918,7 @@
       path = fetchurl {
         name = "through___through_2.3.8.tgz";
         url  = "https://registry.yarnpkg.com/through/-/through-2.3.8.tgz";
-        sha1 = "0dd4c9ffaabc357960b1b724115d7e0e86a2e1f5";
+        sha1 = "DdTJ/6q8NXlgsbckEV1+Doai4fU=";
       };
     }
     {
@@ -3910,7 +3926,7 @@
       path = fetchurl {
         name = "to_fast_properties___to_fast_properties_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz";
-        sha1 = "dc5e698cbd079265bc73e0377681a4e4e83f616e";
+        sha1 = "3F5pjL0HkmW8c+A3doGk5Og/YW4=";
       };
     }
     {
@@ -3918,15 +3934,15 @@
       path = fetchurl {
         name = "to_regex_range___to_regex_range_5.0.1.tgz";
         url  = "https://registry.yarnpkg.com/to-regex-range/-/to-regex-range-5.0.1.tgz";
-        sha1 = "1648c44aae7c8d988a326018ed72f5b4dd0392e4";
+        sha512 = "65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==";
       };
     }
     {
-      name = "toidentifier___toidentifier_1.0.0.tgz";
+      name = "toidentifier___toidentifier_1.0.1.tgz";
       path = fetchurl {
-        name = "toidentifier___toidentifier_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
-        sha1 = "7e1be3470f1e77948bc43d94a3c8f4d7752ba553";
+        name = "toidentifier___toidentifier_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz";
+        sha512 = "o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==";
       };
     }
     {
@@ -3934,7 +3950,7 @@
       path = fetchurl {
         name = "tr46___tr46_0.0.3.tgz";
         url  = "https://registry.yarnpkg.com/tr46/-/tr46-0.0.3.tgz";
-        sha1 = "8184fd347dac9cdc185992f3a6622e14b9d9ab6a";
+        sha1 = "gYT9NH2snNwYWZLzpmIuFLnZq2o=";
       };
     }
     {
@@ -3942,23 +3958,23 @@
       path = fetchurl {
         name = "triple_beam___triple_beam_1.3.0.tgz";
         url  = "https://registry.yarnpkg.com/triple-beam/-/triple-beam-1.3.0.tgz";
-        sha1 = "a595214c7298db8339eeeee083e4d10bd8cb8dd9";
+        sha512 = "XrHUvV5HpdLmIj4uVMxHggLbFSZYIn7HEWsqePZcI50pco+MPqJ50wMGY794X7AOOhxOBAjbkqfAbEe/QMp2Lw==";
       };
     }
     {
-      name = "tsc_watch___tsc_watch_4.5.0.tgz";
+      name = "tsc_watch___tsc_watch_4.6.0.tgz";
       path = fetchurl {
-        name = "tsc_watch___tsc_watch_4.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/tsc-watch/-/tsc-watch-4.5.0.tgz";
-        sha1 = "d6884b932822b2c2ccd37f1c1f3748304566a474";
+        name = "tsc_watch___tsc_watch_4.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/tsc-watch/-/tsc-watch-4.6.0.tgz";
+        sha512 = "DRMADjFe44EDWb+YMIOj4b83UrU6le27L3/o0/9FlmA01ikFd5Dl9RD5h1hpeh0mQdIqXvwfHZszCcjhH3bAmQ==";
       };
     }
     {
-      name = "tslib___tslib_2.1.0.tgz";
+      name = "tslib___tslib_2.3.1.tgz";
       path = fetchurl {
-        name = "tslib___tslib_2.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.1.0.tgz";
-        sha1 = "da60860f1c2ecaa5703ab7d39bc05b6bf988b97a";
+        name = "tslib___tslib_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/tslib/-/tslib-2.3.1.tgz";
+        sha512 = "77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==";
       };
     }
     {
@@ -3966,7 +3982,7 @@
       path = fetchurl {
         name = "tslib___tslib_1.14.1.tgz";
         url  = "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz";
-        sha1 = "cf2d38bdc34a134bcaf1091c41f6619e2f672d00";
+        sha512 = "Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==";
       };
     }
     {
@@ -3974,7 +3990,7 @@
       path = fetchurl {
         name = "tsutils___tsutils_3.21.0.tgz";
         url  = "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz";
-        sha1 = "b48717d394cea6c1e096983eed58e9d61715b623";
+        sha512 = "mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==";
       };
     }
     {
@@ -3982,7 +3998,7 @@
       path = fetchurl {
         name = "tunnel_agent___tunnel_agent_0.6.0.tgz";
         url  = "https://registry.yarnpkg.com/tunnel-agent/-/tunnel-agent-0.6.0.tgz";
-        sha1 = "27a5dea06b36b04a0a9966774b290868f0fc40fd";
+        sha1 = "J6XeoGs2sEoKmWZ3SykIaPD8QP0=";
       };
     }
     {
@@ -3990,7 +4006,7 @@
       path = fetchurl {
         name = "type_check___type_check_0.4.0.tgz";
         url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz";
-        sha1 = "07b8203bfa7056c0657050e3ccd2c37730bab8f1";
+        sha512 = "XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==";
       };
     }
     {
@@ -3998,7 +4014,7 @@
       path = fetchurl {
         name = "type_check___type_check_0.3.2.tgz";
         url  = "https://registry.yarnpkg.com/type-check/-/type-check-0.3.2.tgz";
-        sha1 = "5884cab512cf1d355e3fb784f30804b2b520db72";
+        sha1 = "WITKtRLPHTVeP7eE8wgEsrUg23I=";
       };
     }
     {
@@ -4006,7 +4022,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.20.2.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.20.2.tgz";
-        sha1 = "1bf207f4b28f91583666cb5fbd327887301cd5f4";
+        sha512 = "Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==";
       };
     }
     {
@@ -4014,15 +4030,7 @@
       path = fetchurl {
         name = "type_fest___type_fest_0.21.3.tgz";
         url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.21.3.tgz";
-        sha1 = "d260a24b0198436e133fa26a524a6d65fa3b2e37";
-      };
-    }
-    {
-      name = "type_fest___type_fest_0.8.1.tgz";
-      path = fetchurl {
-        name = "type_fest___type_fest_0.8.1.tgz";
-        url  = "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz";
-        sha1 = "09e249ebde851d3b1e48d27c105444667f17b83d";
+        sha512 = "t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==";
       };
     }
     {
@@ -4030,23 +4038,23 @@
       path = fetchurl {
         name = "type_is___type_is_1.6.18.tgz";
         url  = "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz";
-        sha1 = "4e552cd05df09467dcbc4ef739de89f2cf37c131";
+        sha512 = "TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==";
       };
     }
     {
-      name = "typescript___typescript_4.3.4.tgz";
+      name = "typescript___typescript_4.4.4.tgz";
       path = fetchurl {
-        name = "typescript___typescript_4.3.4.tgz";
-        url  = "https://registry.yarnpkg.com/typescript/-/typescript-4.3.4.tgz";
-        sha1 = "3f85b986945bcf31071decdd96cf8bfa65f9dcbc";
+        name = "typescript___typescript_4.4.4.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-4.4.4.tgz";
+        sha512 = "DqGhF5IKoBl8WNf8C1gu8q0xZSInh9j1kJJMqT3a94w1JzVaBU4EXOSMrz9yDqMT0xt3selp83fuFMQ0uzv6qA==";
       };
     }
     {
-      name = "typescript___typescript_4.4.3.tgz";
+      name = "typescript___typescript_4.5.5.tgz";
       path = fetchurl {
-        name = "typescript___typescript_4.4.3.tgz";
-        url  = "https://registry.yarnpkg.com/typescript/-/typescript-4.4.3.tgz";
-        sha1 = "bdc5407caa2b109efd4f82fe130656f977a29324";
+        name = "typescript___typescript_4.5.5.tgz";
+        url  = "https://registry.yarnpkg.com/typescript/-/typescript-4.5.5.tgz";
+        sha512 = "TCTIul70LyWe6IJWT8QSYeA54WQe8EjQFU4wY52Fasj5UKx88LNYKCgBEHcOMOrFF1rKGbD8v/xcNWVUq9SymA==";
       };
     }
     {
@@ -4054,15 +4062,15 @@
       path = fetchurl {
         name = "unbox_primitive___unbox_primitive_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz";
-        sha1 = "085e215625ec3162574dc8859abee78a59b14471";
+        sha512 = "tZU/3NqK3dA5gpE1KtyiJUrEB0lxnGkMFHptJ7q6ewdZ8s12QrODwNbhIJStmJkd1QDXa1NRA8aF2A1zk/Ypyw==";
       };
     }
     {
-      name = "unbzip2_stream___unbzip2_stream_1.3.3.tgz";
+      name = "unbzip2_stream___unbzip2_stream_1.4.3.tgz";
       path = fetchurl {
-        name = "unbzip2_stream___unbzip2_stream_1.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.3.3.tgz";
-        sha1 = "d156d205e670d8d8c393e1c02ebd506422873f6a";
+        name = "unbzip2_stream___unbzip2_stream_1.4.3.tgz";
+        url  = "https://registry.yarnpkg.com/unbzip2-stream/-/unbzip2-stream-1.4.3.tgz";
+        sha512 = "mlExGW4w71ebDJviH16lQLtZS32VKqsSfk80GCfUlwT/4/hNRFsoscrF/c++9xinkMzECL1uL9DDwXqFWkruPg==";
       };
     }
     {
@@ -4070,7 +4078,7 @@
       path = fetchurl {
         name = "unique_filename___unique_filename_1.1.1.tgz";
         url  = "https://registry.yarnpkg.com/unique-filename/-/unique-filename-1.1.1.tgz";
-        sha1 = "1d69769369ada0583103a1e6ae87681b56573230";
+        sha512 = "Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==";
       };
     }
     {
@@ -4078,7 +4086,7 @@
       path = fetchurl {
         name = "unique_slug___unique_slug_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/unique-slug/-/unique-slug-2.0.2.tgz";
-        sha1 = "baabce91083fc64e945b0f3ad613e264f7cd4e6c";
+        sha512 = "zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==";
       };
     }
     {
@@ -4086,7 +4094,7 @@
       path = fetchurl {
         name = "universalify___universalify_2.0.0.tgz";
         url  = "https://registry.yarnpkg.com/universalify/-/universalify-2.0.0.tgz";
-        sha1 = "75a4984efedc4b08975c5aeb73f530d02df25717";
+        sha512 = "hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==";
       };
     }
     {
@@ -4094,7 +4102,7 @@
       path = fetchurl {
         name = "unpipe___unpipe_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/unpipe/-/unpipe-1.0.0.tgz";
-        sha1 = "b2bf4ee8514aae6165b4817829d21b2ef49904ec";
+        sha1 = "sr9O6FFKrmFltIF4KdIbLvSZBOw=";
       };
     }
     {
@@ -4102,15 +4110,15 @@
       path = fetchurl {
         name = "uri_js___uri_js_4.4.1.tgz";
         url  = "https://registry.yarnpkg.com/uri-js/-/uri-js-4.4.1.tgz";
-        sha1 = "9b1a52595225859e55f669d928f88c6c57f2a77e";
+        sha512 = "7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==";
       };
     }
     {
-      name = "url_value_parser___url_value_parser_2.0.3.tgz";
+      name = "url_value_parser___url_value_parser_2.1.0.tgz";
       path = fetchurl {
-        name = "url_value_parser___url_value_parser_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/url-value-parser/-/url-value-parser-2.0.3.tgz";
-        sha1 = "cd4b8d6754e458d65e8125260c09718d926e6e21";
+        name = "url_value_parser___url_value_parser_2.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/url-value-parser/-/url-value-parser-2.1.0.tgz";
+        sha512 = "gIYPWXujdUdwd/9TGCHTf5Vvgw6lOxjE5Q/k+7WNByYyS0vW5WX0k+xuVlhvPq6gRNhzXVv/ezC+OfeAet5Kcw==";
       };
     }
     {
@@ -4118,7 +4126,7 @@
       path = fetchurl {
         name = "util_deprecate___util_deprecate_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/util-deprecate/-/util-deprecate-1.0.2.tgz";
-        sha1 = "450d4dc9fa70de732762fbd2d4a28981419a0ccf";
+        sha1 = "RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=";
       };
     }
     {
@@ -4126,7 +4134,7 @@
       path = fetchurl {
         name = "utils_merge___utils_merge_1.0.1.tgz";
         url  = "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz";
-        sha1 = "9f95710f50a267947b2ccc124741c1028427e713";
+        sha1 = "n5VxD1CiZ5R7LMwSR0HBAoQn5xM=";
       };
     }
     {
@@ -4134,7 +4142,7 @@
       path = fetchurl {
         name = "v8_compile_cache___v8_compile_cache_2.3.0.tgz";
         url  = "https://registry.yarnpkg.com/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz";
-        sha1 = "2de19618c66dc247dcfb6f99338035d8245a2cee";
+        sha512 = "l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==";
       };
     }
     {
@@ -4142,7 +4150,7 @@
       path = fetchurl {
         name = "vary___vary_1.1.2.tgz";
         url  = "https://registry.yarnpkg.com/vary/-/vary-1.1.2.tgz";
-        sha1 = "2299f02c6ded30d4a5961b0b9f74524a18f634fc";
+        sha1 = "IpnwLG3tMNSllhsLn3RSShj2NPw=";
       };
     }
     {
@@ -4150,7 +4158,7 @@
       path = fetchurl {
         name = "webidl_conversions___webidl_conversions_3.0.1.tgz";
         url  = "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz";
-        sha1 = "24534275e2a7bc6be7bc86611cc16ae0a5654871";
+        sha1 = "JFNCdeKnvGvnvIZhHMFq4KVlSHE=";
       };
     }
     {
@@ -4158,7 +4166,7 @@
       path = fetchurl {
         name = "whatwg_url___whatwg_url_5.0.0.tgz";
         url  = "https://registry.yarnpkg.com/whatwg-url/-/whatwg-url-5.0.0.tgz";
-        sha1 = "966454e8765462e37644d3626f6742ce8b70965d";
+        sha1 = "lmRU6HZUYuN2RNNib2dCzotwll0=";
       };
     }
     {
@@ -4166,7 +4174,7 @@
       path = fetchurl {
         name = "which_boxed_primitive___which_boxed_primitive_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz";
-        sha1 = "13757bc89b209b049fe5d86430e21cf40a89a8e6";
+        sha512 = "bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==";
       };
     }
     {
@@ -4174,7 +4182,7 @@
       path = fetchurl {
         name = "which_pm_runs___which_pm_runs_1.0.0.tgz";
         url  = "https://registry.yarnpkg.com/which-pm-runs/-/which-pm-runs-1.0.0.tgz";
-        sha1 = "670b3afbc552e0b55df6b7780ca74615f23ad1cb";
+        sha1 = "Zws6+8VS4LVd9rd4DKdGFfI60cs=";
       };
     }
     {
@@ -4182,31 +4190,31 @@
       path = fetchurl {
         name = "which___which_2.0.2.tgz";
         url  = "https://registry.yarnpkg.com/which/-/which-2.0.2.tgz";
-        sha1 = "7c6a8dd0a636a0327e10b59c9286eee93f3f51b1";
+        sha512 = "BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==";
       };
     }
     {
-      name = "wide_align___wide_align_1.1.3.tgz";
+      name = "wide_align___wide_align_1.1.5.tgz";
       path = fetchurl {
-        name = "wide_align___wide_align_1.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.3.tgz";
-        sha1 = "ae074e6bdc0c14a431e804e624549c633b000457";
+        name = "wide_align___wide_align_1.1.5.tgz";
+        url  = "https://registry.yarnpkg.com/wide-align/-/wide-align-1.1.5.tgz";
+        sha512 = "eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==";
       };
     }
     {
-      name = "winston_transport___winston_transport_4.4.0.tgz";
+      name = "winston_transport___winston_transport_4.4.2.tgz";
       path = fetchurl {
-        name = "winston_transport___winston_transport_4.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.0.tgz";
-        sha1 = "17af518daa690d5b2ecccaa7acf7b20ca7925e59";
+        name = "winston_transport___winston_transport_4.4.2.tgz";
+        url  = "https://registry.yarnpkg.com/winston-transport/-/winston-transport-4.4.2.tgz";
+        sha512 = "9jmhltAr5ygt5usgUTQbEiw/7RYXpyUbEAFRCSicIacpUzPkrnQsQZSPGEI12aLK9Jth4zNcYJx3Cvznwrl8pw==";
       };
     }
     {
-      name = "winston___winston_3.3.3.tgz";
+      name = "winston___winston_3.5.1.tgz";
       path = fetchurl {
-        name = "winston___winston_3.3.3.tgz";
-        url  = "https://registry.yarnpkg.com/winston/-/winston-3.3.3.tgz";
-        sha1 = "ae6172042cafb29786afa3d09c8ff833ab7c9170";
+        name = "winston___winston_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/winston/-/winston-3.5.1.tgz";
+        sha512 = "tbRtVy+vsSSCLcZq/8nXZaOie/S2tPXPFt4be/Q3vI/WtYwm7rrwidxVw2GRa38FIXcJ1kUM6MOZ9Jmnk3F3UA==";
       };
     }
     {
@@ -4214,7 +4222,7 @@
       path = fetchurl {
         name = "word_wrap___word_wrap_1.2.3.tgz";
         url  = "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz";
-        sha1 = "610636f6b1f703891bd34771ccb17fb93b47079c";
+        sha512 = "Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==";
       };
     }
     {
@@ -4222,7 +4230,7 @@
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_6.2.0.tgz";
         url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-6.2.0.tgz";
-        sha1 = "e9393ba07102e6c91a3b221478f0257cd2856e53";
+        sha512 = "r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==";
       };
     }
     {
@@ -4230,7 +4238,7 @@
       path = fetchurl {
         name = "wrap_ansi___wrap_ansi_7.0.0.tgz";
         url  = "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz";
-        sha1 = "67e145cff510a6a6984bdf1152911d69d2eb9e43";
+        sha512 = "YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==";
       };
     }
     {
@@ -4238,15 +4246,15 @@
       path = fetchurl {
         name = "wrappy___wrappy_1.0.2.tgz";
         url  = "https://registry.yarnpkg.com/wrappy/-/wrappy-1.0.2.tgz";
-        sha1 = "b5243d8f3ec1aa35f1364605bc0d1036e30ab69f";
+        sha1 = "tSQ9jz7BqjXxNkYFvA0QNuMKtp8=";
       };
     }
     {
-      name = "ws___ws_7.4.6.tgz";
+      name = "ws___ws_8.5.0.tgz";
       path = fetchurl {
-        name = "ws___ws_7.4.6.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.4.6.tgz";
-        sha1 = "5654ca8ecdeee47c33a9a4bf6d28e2be2980377c";
+        name = "ws___ws_8.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz";
+        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
       };
     }
     {
@@ -4254,7 +4262,7 @@
       path = fetchurl {
         name = "y18n___y18n_5.0.8.tgz";
         url  = "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz";
-        sha1 = "7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55";
+        sha512 = "0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==";
       };
     }
     {
@@ -4262,7 +4270,7 @@
       path = fetchurl {
         name = "yallist___yallist_4.0.0.tgz";
         url  = "https://registry.yarnpkg.com/yallist/-/yallist-4.0.0.tgz";
-        sha1 = "9bb92790d9c0effec63be73519e11a35019a3a72";
+        sha512 = "3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==";
       };
     }
     {
@@ -4270,7 +4278,7 @@
       path = fetchurl {
         name = "yaml___yaml_1.10.2.tgz";
         url  = "https://registry.yarnpkg.com/yaml/-/yaml-1.10.2.tgz";
-        sha1 = "2301c5ffbf12b467de8da2333a459e29e7920e4b";
+        sha512 = "r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==";
       };
     }
     {
@@ -4278,7 +4286,7 @@
       path = fetchurl {
         name = "yargs_parser___yargs_parser_20.2.9.tgz";
         url  = "https://registry.yarnpkg.com/yargs-parser/-/yargs-parser-20.2.9.tgz";
-        sha1 = "2eb7dc3b0289718fc295f362753845c41a0c94ee";
+        sha512 = "y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==";
       };
     }
     {
@@ -4286,7 +4294,7 @@
       path = fetchurl {
         name = "yargs___yargs_16.2.0.tgz";
         url  = "https://registry.yarnpkg.com/yargs/-/yargs-16.2.0.tgz";
-        sha1 = "1c82bf0f6b6a66eafce7ef30e376f49a12477f66";
+        sha512 = "D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==";
       };
     }
     {
@@ -4294,7 +4302,7 @@
       path = fetchurl {
         name = "yauzl___yauzl_2.10.0.tgz";
         url  = "https://registry.yarnpkg.com/yauzl/-/yauzl-2.10.0.tgz";
-        sha1 = "c7eb17c93e112cb1086fa6d8e51fb0667b79a5f9";
+        sha1 = "x+sXyT4RLLEIb6bY5R+wZnt5pfk=";
       };
     }
     {
@@ -4302,7 +4310,7 @@
       path = fetchurl {
         name = "yocto_queue___yocto_queue_0.1.0.tgz";
         url  = "https://registry.yarnpkg.com/yocto-queue/-/yocto-queue-0.1.0.tgz";
-        sha1 = "0294eb3dee05028d31ee1a5fa2c556a6aaf10a1b";
+        sha512 = "rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==";
       };
     }
   ];
diff --git a/pkgs/servers/monitoring/grafana/default.nix b/pkgs/servers/monitoring/grafana/default.nix
index bb6c0b7f384..425dcdfa56c 100644
--- a/pkgs/servers/monitoring/grafana/default.nix
+++ b/pkgs/servers/monitoring/grafana/default.nix
@@ -1,8 +1,8 @@
-{ lib, buildGo117Module, fetchurl, fetchFromGitHub, nixosTests, tzdata, wire }:
+{ lib, buildGoModule, fetchurl, fetchFromGitHub, nixosTests, tzdata, wire }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "grafana";
-  version = "8.3.4";
+  version = "8.4.2";
 
   excludedPackages = "\\(alert_webhook_listener\\|clean-swagger\\|release_publisher\\|slow_proxy\\|slow_proxy_mac\\|macaron\\)";
 
@@ -10,15 +10,15 @@ buildGo117Module rec {
     rev = "v${version}";
     owner = "grafana";
     repo = "grafana";
-    sha256 = "sha256-Ikvl8jsStMGDIc0y4cKWwyXJHTu4V4nCKiLUyERjRsw=";
+    sha256 = "sha256-ZRVX7nqBsjTODRtfdL4l/azC3ZH2WJCBOXjldkNvweE=";
   };
 
   srcStatic = fetchurl {
     url = "https://dl.grafana.com/oss/release/grafana-${version}.linux-amd64.tar.gz";
-    sha256 = "sha256-UI+NouSRwQVmAgx19OHhWcoDLj9KD05xh57/1gLvWmA=";
+    sha256 = "sha256-4k+6KMoSzoEffPFl/y2paheeY1F35jRPsHtH05Zxr/Y=";
   };
 
-  vendorSha256 = "sha256-gaY6liueEmngxjPSegmycrLpfsB0p1YWWrNGbzpHHOc=";
+  vendorSha256 = "sha256-RugV5cHlpR739CA1C/7FkXasvkv18m7pPsK6mxfSkC0=";
 
   nativeBuildInputs = [ wire ];
 
diff --git a/pkgs/servers/monitoring/mackerel-agent/default.nix b/pkgs/servers/monitoring/mackerel-agent/default.nix
index 13036f81de6..d11add105f6 100644
--- a/pkgs/servers/monitoring/mackerel-agent/default.nix
+++ b/pkgs/servers/monitoring/mackerel-agent/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "mackerel-agent";
-  version = "0.72.3";
+  version = "0.72.8";
 
   src = fetchFromGitHub {
     owner = "mackerelio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-o2+5kMHDigrLXjwdkMKSujW/Lov72WmRvw7/aew3s9w=";
+    sha256 = "sha256-IejLCi1TJ2Q0lpA2ZK3hea18YX483FV4IisYRRVD1Vg=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
   checkInputs = lib.optionals (!stdenv.isDarwin) [ nettools ];
   buildInputs = lib.optionals (!stdenv.isDarwin) [ iproute2 ];
 
-  vendorSha256 = "sha256-h2z+R16XS3AJdG/4gZRLton1DKYrFElGXNjOaekAC0Q=";
+  vendorSha256 = "sha256-4hdy+Yr9EoUjJ4+pJ2ZEPGlnq+4sx5JLm92eFFav6tU=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
index ed6afbcd252..de64666ec77 100644
--- a/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
+++ b/pkgs/servers/monitoring/nagios/plugins/check_ssl_cert.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "check_ssl_cert";
-  version = "2.19.0";
+  version = "2.21.0";
 
   src = fetchFromGitHub {
     owner = "matteocorti";
     repo = "check_ssl_cert";
     rev = "v${version}";
-    sha256 = "sha256-HNvchmP975k971EYpDFCqxx8w1Oq/IIEy+r1il0PjmQ=";
+    sha256 = "sha256-tUmRWXdPu3nGj+dUBNvF7cRayMn8vCyA94vyUmQrfRk=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/servers/monitoring/prometheus/alertmanager.nix b/pkgs/servers/monitoring/prometheus/alertmanager.nix
index 251c977bd4d..db9443fc04a 100644
--- a/pkgs/servers/monitoring/prometheus/alertmanager.nix
+++ b/pkgs/servers/monitoring/prometheus/alertmanager.nix
@@ -1,20 +1,22 @@
-{ lib, go, buildGoPackage, fetchFromGitHub, installShellFiles }:
+{ lib, go, buildGoModule, fetchFromGitHub, installShellFiles }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "alertmanager";
-  version = "0.21.0";
+  version = "0.23.0";
   rev = "v${version}";
 
-  goPackagePath = "github.com/prometheus/alertmanager";
-
   src = fetchFromGitHub {
     inherit rev;
     owner = "prometheus";
     repo = "alertmanager";
-    sha256 = "0zrzyaqs73pz4rmj4xaj15x4n1542m0nb7jqm2j77k07j75r5w41";
+    sha256 = "sha256-06mKgWUyw5jsjKiRXQ9/oqHvFdkY2nS9Z3eW60lTNbU=";
   };
 
-  ldflags = let t = "${goPackagePath}/vendor/github.com/prometheus/common/version"; in [
+  vendorSha256 = "sha256-zJvzCC7Vn5repWssyDuGtoUSZC2ojQhMqDX5Orr0ST0=";
+
+  subPackages = [ "cmd/alertmanager" "cmd/amtool" ];
+
+  ldflags = let t = "github.com/prometheus/common/version"; in [
     "-X ${t}.Version=${version}"
     "-X ${t}.Revision=${src.rev}"
     "-X ${t}.Branch=unknown"
@@ -28,6 +30,8 @@ buildGoPackage rec {
   postInstall = ''
     $out/bin/amtool --completion-script-bash > amtool.bash
     installShellCompletion amtool.bash
+    $out/bin/amtool --completion-script-zsh > amtool.zsh
+    installShellCompletion amtool.zsh
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/monitoring/prometheus/bird-exporter.nix b/pkgs/servers/monitoring/prometheus/bird-exporter.nix
index f15f7b6e005..caa17ce97fc 100644
--- a/pkgs/servers/monitoring/prometheus/bird-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/bird-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "bird-exporter";
-  version = "1.2.6";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "czerwonk";
     repo = "bird_exporter";
     rev = version;
-    sha256 = "sha256-zQKdO1E5VKZaQLNOfL3e/iCdugwNx3xFy7R7vun/Efs=";
+    sha256 = "sha256-N/00+2OrP0BsEazD9bHk+w/xO9E6sFT6nC0MM4n9lR4=";
   };
 
-  vendorSha256 = "sha256-o/OVWALLOw7eNH3xsQlQ5ZNFV3l9iD8lhyckBt6Qn3E=";
+  vendorSha256 = "sha256-9xKMwHNgPMtC+J3mwwUNSJnpMGttpaWF6l8gv0YtvHE=";
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) bird; };
 
diff --git a/pkgs/servers/monitoring/prometheus/default.nix b/pkgs/servers/monitoring/prometheus/default.nix
index 931e5f7ffea..25053e83794 100644
--- a/pkgs/servers/monitoring/prometheus/default.nix
+++ b/pkgs/servers/monitoring/prometheus/default.nix
@@ -9,6 +9,24 @@
 , mkYarnPackage
 , nixosTests
 , fetchpatch
+, enableAWS ? true
+, enableAzure ? true
+, enableConsul ? true
+, enableDigitalOcean ? true
+, enableEureka ? true
+, enableGCE ? true
+, enableHetzner ? true
+, enableKubernetes ? true
+, enableLinode ? true
+, enableMarathon ? true
+, enableMoby ? true
+, enableOpenstack ? true
+, enablePuppetDB ? true
+, enableScaleway ? true
+, enableTriton ? true
+, enableUyuni ? true
+, enableXDS ? true
+, enableZookeeper ? true
 }:
 
 let
@@ -92,6 +110,44 @@ buildGoModule rec {
     # webui-codemirror
     ln -s ${codemirror}/dist web/ui/module/codemirror-promql/dist
     ln -s ${codemirror}/lib web/ui/module/codemirror-promql/lib
+
+    # Disable some service discovery to shrink binaries.
+    ${lib.optionalString (!enableAWS)
+      "sed -i -e '/register aws/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableAzure)
+      "sed -i -e '/register azure/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableConsul)
+      "sed -i -e '/register consul/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableDigitalOcean)
+      "sed -i -e '/register digitalocean/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableEureka)
+      "sed -i -e '/register eureka/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableGCE)
+      "sed -i -e '/register gce/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableHetzner)
+      "sed -i -e '/register hetzner/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableKubernetes)
+      "sed -i -e '/register kubernetes/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableLinode)
+      "sed -i -e '/register linode/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableMarathon)
+      "sed -i -e '/register marathon/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableMoby)
+      "sed -i -e '/register moby/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableOpenstack)
+      "sed -i -e '/register openstack/d' discovery/install/install.go"}
+    ${lib.optionalString (!enablePuppetDB)
+      "sed -i -e '/register puppetdb/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableScaleway)
+      "sed -i -e '/register scaleway/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableTriton)
+      "sed -i -e '/register triton/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableUyuni)
+      "sed -i -e '/register uyuni/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableXDS)
+      "sed -i -e '/register xds/d' discovery/install/install.go"}
+    ${lib.optionalString (!enableZookeeper)
+      "sed -i -e '/register zookeeper/d' discovery/install/install.go"}
   '';
 
   tags = [ "builtinassets" ];
diff --git a/pkgs/servers/monitoring/prometheus/json-exporter.nix b/pkgs/servers/monitoring/prometheus/json-exporter.nix
index 268cdff9348..6d63c6b1d66 100644
--- a/pkgs/servers/monitoring/prometheus/json-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/json-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "prometheus-json-exporter";
-  version = "0.3.0";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "prometheus-community";
     repo = "json_exporter";
     rev = "v${version}";
-    sha256 = "0nhww7pbyqpiikcli1ysqa15d4y76h3jaij1j0sj8i3mhv1nsjz9";
+    sha256 = "sha256-BzzDa+5YIyaqG88AZumGVEbbHomcNWhVWhSrITdD6XA=";
   };
 
-  vendorSha256 = "1fiy6x06mqxbv9c4rxfl4q7hvblbzhknkpcp0alz61f3fk5wxsgp";
+  vendorSha256 = "sha256-Xw5xsEwd+v2f4DBsjY4q0tzABgNo4NuEtiTMoZ/pFNE=";
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) json; };
 
diff --git a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
index e07c8a5a5c0..4f96e516278 100644
--- a/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/nextcloud-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "prometheus-nextcloud-exporter";
-  version = "0.4.0";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "xperimental";
     repo = "nextcloud-exporter";
     rev = "v${version}";
-    sha256 = "0kq0ka2gjlibl7vhk3s4z15ja5ai7cmwl144gj4dyhylp2xzr72a";
+    sha256 = "sha256-73IxGxnKgbG50nr57Wft+hh0KT7redrwXc4EZFn25qs=";
   };
 
-  vendorSha256 = "0qs3p4jl8p0323bklrrhxzql7652pm6a1hj9ch9xyfhkwsx87l4d";
+  vendorSha256 = "sha256-vIhHUFg8m6raKF82DcXRGKCgSM2FJ2VTM+MdMjP7KUY=";
 
   passthru.tests = { inherit (nixosTests.prometheus-exporters) nextcloud; };
 
diff --git a/pkgs/servers/monitoring/prometheus/pihole-exporter.nix b/pkgs/servers/monitoring/prometheus/pihole-exporter.nix
index e24d0232dfe..0925cf5dcc6 100644
--- a/pkgs/servers/monitoring/prometheus/pihole-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/pihole-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "pihole-exporter";
-  version = "0.0.11";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "eko";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-SojEq6pedoq08wo/3zPHex7ex1QqSVIzZpBd49tLOjI=";
+    sha256 = "sha256-JxznxE4Pq1fhlt3l1jbGWD5eUg5VF0GmewkuSYECG0Y=";
   };
 
-  vendorSha256 = "sha256-LXgI9ioJgyhUiOCqRku0Q4enZF7q6MB0hYhPJlLusdc=";
+  vendorSha256 = "sha256-jfpM192LtFGVgsVv+F+P8avTGD5c8I+7JFsn4oVoqr0=";
 
   meta = with lib; {
     description = "Prometheus exporter for PI-Hole's Raspberry PI ad blocker";
diff --git a/pkgs/servers/monitoring/prometheus/promscale/default.nix b/pkgs/servers/monitoring/prometheus/promscale/default.nix
index c318a18a9d9..dd297d4c258 100644
--- a/pkgs/servers/monitoring/prometheus/promscale/default.nix
+++ b/pkgs/servers/monitoring/prometheus/promscale/default.nix
@@ -7,20 +7,20 @@
 
 buildGoModule rec {
   pname = "promscale";
-  version = "0.8.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "timescale";
     repo = pname;
     rev = version;
-    sha256 = "sha256-h76NHEPY3ABq2NbRQXNR+zSkriBasi550rfSkl3Xdas=";
+    sha256 = "sha256-KF+aD9vJYqNJkJftx27ZsxmOIXZ/2ciKwjwcTw0GBvY=";
   };
 
   patches = [
     ./0001-remove-jaeger-test-dep.patch
   ];
 
-  vendorSha256 = "sha256-PxmTS8fSh21BcLS4PsSfHhKOXWWJLboPR6E8/Jx/UGY=";
+  vendorSha256 = "sha256-/cjRM8CrOKnx0BcRu2+MLV28MYLOrG5x1DN24mRUJzQ=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/servers/monitoring/prometheus/redis-exporter.nix b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
index 59ccf2c8059..32c26a395e7 100644
--- a/pkgs/servers/monitoring/prometheus/redis-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/redis-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "redis_exporter";
-  version = "1.34.1";
+  version = "1.35.1";
 
   src = fetchFromGitHub {
     owner = "oliver006";
     repo = "redis_exporter";
     rev = "v${version}";
-    sha256 = "sha256-poD7cuOxrNhhyW/GRxBjlJlRle38aYrQJ/g1d8TZ5o0=";
+    sha256 = "sha256-S89Okd57QyMHb/QYUQbib2HLdH9qo0duNxcdaP8wKUg=";
   };
 
-  vendorSha256 = "sha256-1ogMI8Aw1xBd2PQ2QRiDLifQL3Z3kU4PbbCgHLHtp6A=";
+  vendorSha256 = "sha256-u9FfKOD6kiCFTjwQ7LHE9WC4j2vPm0ZCluL8pC4aQIc=";
 
   ldflags = [
     "-X main.BuildVersion=${version}"
diff --git a/pkgs/servers/monitoring/prometheus/sql-exporter.nix b/pkgs/servers/monitoring/prometheus/sql-exporter.nix
index 553613a9c7e..235e8863bc2 100644
--- a/pkgs/servers/monitoring/prometheus/sql-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/sql-exporter.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "sql_exporter";
-  version = "0.4.0";
+  version = "0.4.2";
 
   vendorSha256 = null;
 
@@ -10,7 +10,7 @@ buildGoModule rec {
     owner = "justwatchcom";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0dxzcd3b430xby741fdc85k4d2380jrh34xxskmdzxbf2kqdc5k8";
+    sha256 = "sha256-Ujon6TLniQrYRxJe4+ZTu4/dI2K94r9M/lBmMizDZrA=";
   };
 
   meta = with lib; {
diff --git a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
index 51fb56382df..398af245354 100644
--- a/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
+++ b/pkgs/servers/monitoring/prometheus/statsd-exporter.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "statsd_exporter";
-  version = "0.20.2";
+  version = "0.22.2";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "prometheus";
     repo = "statsd_exporter";
-    sha256 = "1k98dmjn2mfwg36khpbxg7yk6rn4sk4v264i4rmqs4v8gss2h3kn";
+    sha256 = "sha256-pLzUbeSCMV0yr4gSR7m6NYrpm8ZhCPbwwZ5nQzy6lEM=";
   };
 
-  vendorSha256 = "1fihbchl5g5z9xrca68kaq26l674chcby634k8iz5h31dai8hpyh";
+  vendorSha256 = "sha256-gBeeOxnVT0+x33VuwZhfjk3Fb8JHZdAzaDuFZlUfdgM=";
 
   meta = with lib; {
     description = "Receives StatsD-style metrics and exports them to Prometheus";
diff --git a/pkgs/servers/monitoring/sensu-go/default.nix b/pkgs/servers/monitoring/sensu-go/default.nix
index 9b07f299f72..883771e424e 100644
--- a/pkgs/servers/monitoring/sensu-go/default.nix
+++ b/pkgs/servers/monitoring/sensu-go/default.nix
@@ -4,19 +4,19 @@ let
   generic = { subPackages, pname, postInstall ? "", mainProgram }:
     buildGoModule rec {
       inherit pname;
-      version = "6.4.1";
+      version = "6.6.6";
       shortRev = "3a1ac58"; # for internal version info
 
       src = fetchFromGitHub {
         owner = "sensu";
         repo = "sensu-go";
         rev = "v${version}";
-        sha256 = "sha256-tVmjBfRvQQ1+VtARP1lN8Fu06tujZhZj9IpGVF0mKqA=";
+        sha256 = "sha256-//ZJV34H5c16QjppIH5hyk9eKrfEzKdL6GCVTp/k8Uo=";
       };
 
       inherit subPackages postInstall;
 
-      vendorSha256 = "sha256-fStGEKAR9fzA6Uom6r59jFGTBUfTTj0TzytoJWuicbU=";
+      vendorSha256 = "sha256-ha8HHd2jYx+rKvRN3FPDZiO180bWciiiRD5yn2gztLk=";
 
       doCheck = false;
 
diff --git a/pkgs/servers/monitoring/telegraf/default.nix b/pkgs/servers/monitoring/telegraf/default.nix
index 12b124b7841..89653f1066e 100644
--- a/pkgs/servers/monitoring/telegraf/default.nix
+++ b/pkgs/servers/monitoring/telegraf/default.nix
@@ -1,8 +1,8 @@
-{ lib, buildGo117Module, fetchFromGitHub, nixosTests }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "telegraf";
-  version = "1.20.4";
+  version = "1.21.4";
 
   excludedPackages = "test";
 
@@ -12,10 +12,10 @@ buildGo117Module rec {
     owner = "influxdata";
     repo = "telegraf";
     rev = "v${version}";
-    sha256 = "sha256-AK2KCbwFHeryqdK7iYtKEaP8JYINdX1i42/EHCAGkFk=";
+    sha256 = "sha256-0z6pMZY6/d+oC0TlJrymCeYWf+IjLWnR1M4eo/lnpw0=";
   };
 
-  vendorSha256 = "sha256-35jcieU/EdJ3d4WfYhwXpDNZRrS+DQsWZYp2EoxpKU4";
+  vendorSha256 = "sha256-igeRWLaYbHjZdbYBrynyjZPj1bwCXtnnU4UJM/CdaO0=";
   proxyVendor = true;
 
   ldflags = [
diff --git a/pkgs/servers/moonraker/default.nix b/pkgs/servers/moonraker/default.nix
index c5ba909c418..31525464c0c 100644
--- a/pkgs/servers/moonraker/default.nix
+++ b/pkgs/servers/moonraker/default.nix
@@ -15,13 +15,13 @@ let
   ]);
 in stdenvNoCC.mkDerivation rec {
   pname = "moonraker";
-  version = "unstable-2021-11-13";
+  version = "unstable-2021-12-05";
 
   src = fetchFromGitHub {
     owner = "Arksine";
     repo = "moonraker";
-    rev = "bed239c90a3b5fef5c6bf4559a774b9d09987c30";
-    sha256 = "2gnW6dPsKMfoZnjs9F3opxRCeym+P43ZJOmGM44twfw=";
+    rev = "ac73036857cc1ca83df072dd94bf28eb9d0ed8b0";
+    sha256 = "Oqjt0z4grt+hdQ4t7KQSwkkCeRGoFFedJsTpMHwMm34=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/mpd/default.nix b/pkgs/servers/mpd/default.nix
index 9eff996f78c..8eb78270377 100644
--- a/pkgs/servers/mpd/default.nix
+++ b/pkgs/servers/mpd/default.nix
@@ -157,6 +157,10 @@ let
       outputs = [ "out" "doc" ]
         ++ lib.optional (builtins.elem "documentation" features_) "man";
 
+      CXXFLAGS = lib.optionals stdenv.isDarwin [
+        "-D__ASSERT_MACROS_DEFINE_VERSIONS_WITHOUT_UNDERSCORES=0"
+      ];
+
       mesonFlags = [
         "-Dtest=true"
         "-Dmanpages=true"
diff --git a/pkgs/servers/mycorrhiza/default.nix b/pkgs/servers/mycorrhiza/default.nix
index 8036d966d72..65c6d8ae77a 100644
--- a/pkgs/servers/mycorrhiza/default.nix
+++ b/pkgs/servers/mycorrhiza/default.nix
@@ -4,16 +4,16 @@
 
 buildGoModule rec {
   pname = "mycorrhiza";
-  version = "1.7.0";
+  version = "1.8.2";
 
   src = fetchFromGitHub {
     owner = "bouncepaw";
     repo = "mycorrhiza";
     rev = "v${version}";
-    sha256 = "1dd18n9lq4wxz7kn1szavigw9098r7rcwz9j53q92mx100fa42q6";
+    sha256 = "sha256-+8cW7xNr4gzNHQ/hBpASoe9g7W/QFQhtO/dZ9umgJec=";
   };
 
-  vendorSha256 = "1s7n0lk3cr4lkay3plvlqfpx2gh03n2afb43gv9lmwljbry9zbss";
+  vendorSha256 = "sha256-foAjMPvNJnjpxRAXEgNeYuvDAoBdMwiQc9BiNxifzUc=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/servers/nats-server/default.nix b/pkgs/servers/nats-server/default.nix
index 226294e5f42..695480a05c9 100644
--- a/pkgs/servers/nats-server/default.nix
+++ b/pkgs/servers/nats-server/default.nix
@@ -1,21 +1,23 @@
-{  buildGoPackage, fetchFromGitHub, lib  }:
+{ lib, buildGoModule, fetchFromGitHub, nixosTests }:
 
-with lib;
-
-buildGoPackage rec {
+buildGoModule rec {
   pname   = "nats-server";
-  version = "2.7.0";
-
-  goPackagePath = "github.com/nats-io/${pname}";
+  version = "2.7.2";
 
   src = fetchFromGitHub {
     rev    = "v${version}";
     owner  = "nats-io";
     repo   = pname;
-    sha256 = "sha256-LQ817nZrFkF1zdj2m2SQK58BqDbUPSnncSWR+Woi+Ao=";
+    sha256 = "0w4hjz1x6zwcxhnd1y3874agyn8nsdra4fky6kc2rrfikjcw003y";
   };
 
-  meta = {
+  vendorSha256 = "1gvvjwx1g8mhcqi3ssb3k5ylkz0afpmnf6h2zfny9rc4dk2cp2dy";
+
+  doCheck = false;
+
+  passthru.tests.nats = nixosTests.nats;
+
+  meta = with lib; {
     description = "High-Performance server for NATS";
     license = licenses.asl20;
     maintainers = with maintainers; [ swdunlop derekcollison ];
diff --git a/pkgs/servers/nextcloud/default.nix b/pkgs/servers/nextcloud/default.nix
index a530a58e900..735bfdeafb1 100644
--- a/pkgs/servers/nextcloud/default.nix
+++ b/pkgs/servers/nextcloud/default.nix
@@ -46,18 +46,18 @@ in {
   '';
 
   nextcloud21 = generic {
-    version = "21.0.8";
-    sha256 = "00c37wp6fsnpm40bbhk6r6xycacfa5zk7arzc3i4xmhm89cyvm6z";
+    version = "21.0.9";
+    sha256 = "sha256-p6bvgTXmmjGN3TRQpG88f3YPksh0QzWG9j9KnEjcrqE=";
   };
 
   nextcloud22 = generic {
-    version = "22.2.4";
-    sha256 = "0vnf2j1hz0d7lxby73r2mq2rjm72nq55xajzm8sipj6wlbys15zl";
+    version = "22.2.5";
+    sha256 = "sha256-gb5N0u5tu4/nI2xIpjXwm2hiSDCrBhIDyN6gKGOsdS8=";
   };
 
   nextcloud23 = generic {
-    version = "23.0.1";
-    sha256 = "047pnkp49rf0a9gl03dwkkdgzmdsf88m79mzq04bwmgkb3a3qxay";
+    version = "23.0.2";
+    sha256 = "sha256-ngJGLTjqq2RX/KgHe9Rv54w6qtRC6RpuEuMvp9UbxO4=";
   };
   # tip: get she sha with:
   # curl 'https://download.nextcloud.com/server/releases/nextcloud-${version}.tar.bz2.sha256'
diff --git a/pkgs/servers/nitter/default.nix b/pkgs/servers/nitter/default.nix
index de51da4ca66..32c7ac21dae 100644
--- a/pkgs/servers/nitter/default.nix
+++ b/pkgs/servers/nitter/default.nix
@@ -2,14 +2,14 @@
 
 nimPackages.buildNimPackage rec {
   pname = "nitter";
-  version = "unstable-2022-01-32";
+  version = "unstable-2022-02-11";
   nimBinOnly = true;
 
   src = fetchFromGitHub {
     owner = "zedeus";
     repo = "nitter";
-    rev = "cdb4efadfeb5102b501c7ff79261fefc7327edb9";
-    sha256 = "sha256-kNK0UQd1whkaZwj98b2JYtYwjUSE1qBcAYytqnSaK1o=";
+    rev = "6695784050605c77a301c0a66764fa9a9580a2f5";
+    sha256 = "1lddzf6m74bw5kkv465cp211xxqbwnfacav7ia3y9i38rrnqwk6m";
   };
 
   buildInputs = with nimPackages; [
diff --git a/pkgs/servers/nosql/apache-jena/binary.nix b/pkgs/servers/nosql/apache-jena/binary.nix
index 32bc4449e12..983ff0e8be7 100644
--- a/pkgs/servers/nosql/apache-jena/binary.nix
+++ b/pkgs/servers/nosql/apache-jena/binary.nix
@@ -2,10 +2,10 @@
 
 stdenv.mkDerivation rec {
   pname = "apache-jena";
-  version = "4.3.2";
+  version = "4.4.0";
   src = fetchurl {
     url = "https://dlcdn.apache.org/jena/binaries/apache-jena-${version}.tar.gz";
-    sha256 = "sha256-+GNxf79RkmHUXI99e3BZIyboiEj8TiVfVtlgQADku+Y=";
+    sha256 = "sha256-/+F7wKklFiJ3dTHd650IBSnAYOAx/ZLbk9ofoZF9E8k=";
   };
   buildInputs = [
     makeWrapper
diff --git a/pkgs/servers/nosql/cassandra/3.0.nix b/pkgs/servers/nosql/cassandra/3.0.nix
index 7788e3ff381..d9f5978f264 100644
--- a/pkgs/servers/nosql/cassandra/3.0.nix
+++ b/pkgs/servers/nosql/cassandra/3.0.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "3.0.24";
-  sha256 = "1yxw4jg9n49dbi1mjdfpxczsznl9m6sxlzkmzjancmjzvj5s6bvz";
+  version = "3.0.26";
+  sha256 = "09wim1w2yizcqpja62jk64fhaw3jgnrgrjlrm4kgmcc3g3bsmw6i";
   generation = "3_0";
 })
diff --git a/pkgs/servers/nosql/cassandra/3.11.nix b/pkgs/servers/nosql/cassandra/3.11.nix
index bcdfc8793db..fc839fa8c35 100644
--- a/pkgs/servers/nosql/cassandra/3.11.nix
+++ b/pkgs/servers/nosql/cassandra/3.11.nix
@@ -1,7 +1,7 @@
 { callPackage, ... } @ args:
 
 callPackage ./generic.nix (args // {
-  version = "3.11.10";
-  sha256 = "1wcv0drhb765fda6kkpsxsyfdv4cqf7nqfwc4bimh4c4djap5rxv";
+  version = "3.11.12";
+  sha256 = "16j58l7r47qrfh8q7fm92y935ykgvnbj3qn984c42qda15x92hkw";
   generation = "3_11";
 })
diff --git a/pkgs/servers/nosql/cassandra/generic.nix b/pkgs/servers/nosql/cassandra/generic.nix
index 6e2a55b4e94..ca11b838e32 100644
--- a/pkgs/servers/nosql/cassandra/generic.nix
+++ b/pkgs/servers/nosql/cassandra/generic.nix
@@ -54,7 +54,6 @@ stdenv.mkDerivation rec {
        $out/LICENSE.txt \
        $out/NEWS.txt \
        $out/NOTICE.txt \
-       $out/javadoc \
        $out/share/doc/${pname}-${version}
 
     if [[ -d $out/doc ]]; then
diff --git a/pkgs/servers/nosql/eventstore/create-deps.sh b/pkgs/servers/nosql/eventstore/create-deps.sh
index 8001fea4d26..afeee592de3 100755
--- a/pkgs/servers/nosql/eventstore/create-deps.sh
+++ b/pkgs/servers/nosql/eventstore/create-deps.sh
@@ -8,7 +8,7 @@ set -euo pipefail
 #       this script is inspired:
 #       - pkgs/servers/nosql/eventstore/create-deps.sh
 #       - pkgs/development/dotnet-modules/python-language-server/create_deps.sh
-#       - pkgs/misc/emulators/ryujinx/updater.sh
+#       - pkgs/applications/emulators/ryujinx/updater.sh
 
 cd "$(dirname "${BASH_SOURCE[0]}")"
 
diff --git a/pkgs/servers/ombi/default.nix b/pkgs/servers/ombi/default.nix
index 1e63b44450e..a99349d8c0d 100644
--- a/pkgs/servers/ombi/default.nix
+++ b/pkgs/servers/ombi/default.nix
@@ -10,14 +10,14 @@ let
     "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-BLtoT6UHsur+jFp4KBlE10/Z/V6RDy0k16H10IC98WQ=";
-    arm64-linux_hash = "sha256-s8EV/VqiUXWRTNxacx4sy6r+TIAqkqhESAYYa9s0uAQ=";
-    x64-osx_hash = "sha256-woXFYmX+499NTtWmmGBpZ12PxTUazJ8klA6IPQIDjLE=";
+    x64-linux_hash = "sha256-O/dfLZst7RFnqDZj8UX6ejL2EBjGnCBY3e8JB3peRgY=";
+    arm64-linux_hash = "sha256-DkCOK1A7L1gMqY/XPIJFFz7qvUvxA6aJa24Hrh3dT/U=";
+    x64-osx_hash = "sha256-4N0/FTVhxUooauhh+7u527aViSBILiCb+a4cI17QTAg=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "ombi";
-  version = "4.3.3";
+  version = "4.10.2";
 
   sourceRoot = ".";
 
diff --git a/pkgs/servers/ombi/update.sh b/pkgs/servers/ombi/update.sh
index a549a9f1731..9b49180b6f1 100755
--- a/pkgs/servers/ombi/update.sh
+++ b/pkgs/servers/ombi/update.sh
@@ -15,7 +15,7 @@ updateHash()
 
     url="https://github.com/Ombi-app/Ombi/releases/download/v$version/$os-$arch.tar.gz"
     hash=$(nix-prefetch-url --type sha256 $url)
-    sriHash="$(nix --extra-experimental-features nix-command hash to-sri --type sha256 $hash)"
+    sriHash="$(nix hash to-sri --type sha256 $hash)"
 
     sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/default.nix"
 }
@@ -25,7 +25,7 @@ updateVersion()
     sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix"
 }
 
-currentVersion=$(cd $dirname && nix eval --raw '(with import ../../.. {}; ombi.version)')
+currentVersion=$(cd $dirname && nix eval --raw -f ../../.. ombi.version)
 
 latestTag=$(curl https://api.github.com/repos/Ombi-App/Ombi/releases/latest | jq -r ".tag_name")
 latestVersion="$(expr $latestTag : 'v\(.*\)')"
diff --git a/pkgs/servers/peertube/default.nix b/pkgs/servers/peertube/default.nix
index 67f7fd76606..9961e9d581a 100644
--- a/pkgs/servers/peertube/default.nix
+++ b/pkgs/servers/peertube/default.nix
@@ -1,34 +1,33 @@
 { lib, stdenv, callPackage, fetchurl, fetchFromGitHub, buildGoModule, fetchYarnDeps, nixosTests
-, esbuild, fixup_yarn_lock, jq, nodejs, yarn
-, nodePackages, youtube-dl
+, fixup_yarn_lock, jq, nodejs, yarn
 }:
 let
   arch =
     if stdenv.hostPlatform.system == "x86_64-linux" then "linux-x64"
     else throw "Unsupported architecture: ${stdenv.hostPlatform.system}";
 
-  version = "3.4.1";
+  version = "4.1.0";
 
   source = fetchFromGitHub {
     owner = "Chocobozzz";
     repo = "PeerTube";
     rev = "v${version}";
-    sha256 = "0l1ibqmliy4aq60a16v383v4ijv1c9sf2a35k9q365mkl42jbzx1";
+    sha256 = "sha256-gW/dzWns6wK3zzNjbW19HrV2jqzjdXR5uMMNXL4Xfdw=";
   };
 
   yarnOfflineCacheServer = fetchYarnDeps {
     yarnLock = "${source}/yarn.lock";
-    sha256 = "0zyxf1km79w6329jay4bcpw5bgvhnvmvl11r9hka5c6s46d3ms7n";
+    sha256 = "sha256-L1Nr6sGjYVm42OyeFOQeQ6WEXjmNkngWilBtfQJ6bPE=";
   };
 
   yarnOfflineCacheTools = fetchYarnDeps {
     yarnLock = "${source}/server/tools/yarn.lock";
-    sha256 = "12xmwc8lnalcpx3nww457avn5zw04ly4pp4kjxkvhsqs69arfl2m";
+    sha256 = "sha256-maPR8OCiuNlle0JQIkZSgAqW+BrSxPwVm6CkxIrIg5k=";
   };
 
   yarnOfflineCacheClient = fetchYarnDeps {
     yarnLock = "${source}/client/yarn.lock";
-    sha256 = "1glnip6mpizif36vil61sw8i8lnn0jg5hrqgqw6k4cc7hkd2qkpc";
+    sha256 = "sha256-wniMvtz7i3I4pn9xyzfNi1k7gQuzDl1GmEO8LqPBMKg=";
   };
 
   bcrypt_version = "5.0.1";
@@ -37,33 +36,12 @@ let
     sha256 = "3R3dBZyPansTuM77Nmm3f7BbTDkDdiT2HQIrti2Ottc=";
   };
 
-  wrtc_version = "0.4.7";
-  wrtc_lib = fetchurl {
-    url = "https://node-webrtc.s3.amazonaws.com/wrtc/v${wrtc_version}/Release/${arch}.tar.gz";
-    sha256 = "1zd3jlwq3lc2vhmr3bs1h6mrzyswdp3y20vb4d9s67ir9q7jn1zf";
-  };
-
-  esbuild_locked = buildGoModule rec {
-    pname = "esbuild";
-    version = "0.12.17";
-
-    src = fetchFromGitHub {
-      owner = "evanw";
-      repo = "esbuild";
-      rev = "v${version}";
-      sha256 = "16xxscha2y69mgm20rpjdxykyqiy0qy8gayh8046q6m0sf6834y1";
-    };
-    vendorSha256 = "1n5538yik72x94vzfq31qaqrkpxds5xys1wlibw2gn2am0z5c06q";
-  };
-
 in stdenv.mkDerivation rec {
   inherit version;
   pname = "peertube";
   src = source;
 
-  nativeBuildInputs = [ esbuild fixup_yarn_lock jq nodejs yarn ];
-
-  buildInputs = [ nodePackages.node-gyp-build youtube-dl ];
+  nativeBuildInputs = [ fixup_yarn_lock jq nodejs yarn ];
 
   buildPhase = ''
     # Build node modules
@@ -93,31 +71,16 @@ in stdenv.mkDerivation rec {
     fi
     mkdir -p ./lib/binding && tar -C ./lib/binding -xf ${bcrypt_lib}
 
-    # Fix youtube-dl node module
-    cd ~/node_modules/youtube-dl
-    mkdir ./bin
-    ln -s ${youtube-dl}/bin/youtube-dl ./bin/youtube-dl
-    cat > ./bin/details <<EOF
-    {"version":"${youtube-dl.version}","path":null,"exec":"youtube-dl"}
-    EOF
-
-    # Fix wrtc node module
-    cd ~/server/tools/node_modules/wrtc
-    if [ "${wrtc_version}" != "$(cat package.json | jq -r .version)" ]; then
-      echo "Mismatching version please update wrtc in derivation"
-      exit
-    fi
-    mkdir -p ./build && tar -C ./build -xf ${wrtc_lib}
+    # Return to home directory
+    cd ~
 
     # Build PeerTube server
-    cd ~
     npm run build:server
 
     # Build PeerTube tools
     npm run tsc -- --build ./server/tools/tsconfig.json
 
     # Build PeerTube client
-    export ESBUILD_BINARY_PATH="${esbuild_locked}/bin/esbuild"
     npm run build:client
   '';
 
diff --git a/pkgs/servers/piping-server-rust/default.nix b/pkgs/servers/piping-server-rust/default.nix
index 1108116af1d..7cf9442f13b 100644
--- a/pkgs/servers/piping-server-rust/default.nix
+++ b/pkgs/servers/piping-server-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "piping-server-rust";
-  version = "0.10.2";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "nwtgck";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-3EDUG9W4WzYk/bjUFIQ7Ho0KR6aMykhyTnWR/+VNxz8=";
+    sha256 = "sha256-eDO2y/4660IAcD9vf1Vt6t3nv3Rc+zCRRFBbW/FeKIw=";
   };
 
-  cargoSha256 = "sha256-8xUhYyjc4560PowCRwYeZMUJLhZFTHcMRLe/iQAwaWE=";
+  cargoSha256 = "sha256-U68R543l28osPe0DjuERqB/G6ur/BZDpWMZIO9RObaM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices Security ];
 
diff --git a/pkgs/servers/plex/raw.nix b/pkgs/servers/plex/raw.nix
index 52e099f8db0..f46e1c9269e 100644
--- a/pkgs/servers/plex/raw.nix
+++ b/pkgs/servers/plex/raw.nix
@@ -12,16 +12,16 @@
 # server, and the FHS userenv and corresponding NixOS module should
 # automatically pick up the changes.
 stdenv.mkDerivation rec {
-  version = "1.25.4.5487-648a8f9f9";
+  version = "1.25.6.5577-c8bd13540";
   pname = "plexmediaserver";
 
   # Fetch the source
   src = if stdenv.hostPlatform.system == "aarch64-linux" then fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_arm64.deb";
-    hash = "sha256-HWQFArhKNpEW1J6RNg0aWOXn38oTeoz7k9Nk13KRrqM=";
+    hash = "sha256-5z9Yl2pHrIrf9LQ3kzYJc372NeVsrP4dHTJglrh1Nw8=";
   } else fetchurl {
     url = "https://downloads.plex.tv/plex-media-server-new/${version}/debian/plexmediaserver_${version}_amd64.deb";
-    hash = "sha256-eDrtukVP5PQqgh1UBgXdpRkotrGQlLisCrP0XF1iVXw=";
+    hash = "sha256-nPjxknyhJNosXmhtvQVvYlNMBdSug8hhwrsVIEiBCG0=";
   };
 
   outputs = [ "out" "basedb" ];
diff --git a/pkgs/servers/pulseaudio/qpaeq.nix b/pkgs/servers/pulseaudio/qpaeq.nix
index 1f50022a918..3761453f446 100644
--- a/pkgs/servers/pulseaudio/qpaeq.nix
+++ b/pkgs/servers/pulseaudio/qpaeq.nix
@@ -13,8 +13,8 @@ let
     icon = "audio-volume-high";
     desktopName = "qpaeq";
     genericName = "Audio equalizer";
-    categories = "AudioVideo;Audio;Mixer;";
-    startupNotify = "false";
+    categories = [ "AudioVideo" "Audio" "Mixer" ];
+    startupNotify = false;
   };
 in
 mkDerivation rec {
diff --git a/pkgs/servers/radarr/default.nix b/pkgs/servers/radarr/default.nix
index acb3ba82a4a..fe301637997 100644
--- a/pkgs/servers/radarr/default.nix
+++ b/pkgs/servers/radarr/default.nix
@@ -9,14 +9,14 @@ let
   }."${stdenv.hostPlatform.system}" or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
   hash = {
-    x64-linux_hash = "sha256-IwD7PFRz6mjEjUTbpqItorvFMB/hcMcRhHG8XQHv0iM=";
-    arm64-linux_hash = "sha256-9Ou08PI3HNQO6Da76ZMkzx1QlU+oaq9Tr+vqPT05xnw=";
-    x64-osx_hash = "sha256-Nfm9vWB+ii2ZST6I4I8Y2PuG2a1qY7rbki57y88Ft8A=";
+    x64-linux_hash = "sha256-2DZUQ11sAsIbI3hkU+6Hj+xHz3EbsTelisUCOlRBvvQ=";
+    arm64-linux_hash = "sha256-j5gUC50NfvF2/W/aYgCiMoW1jF9F30L7pnVaFfX1Fwk=";
+    x64-osx_hash = "sha256-iOaOzisG54+nstPNNUXOYwhEaM1Uh4wHPISVtEf8vTQ=";
   }."${arch}-${os}_hash";
 
 in stdenv.mkDerivation rec {
   pname = "radarr";
-  version = "3.2.2.5080";
+  version = "4.0.4.5922";
 
   src = fetchurl {
     url = "https://github.com/Radarr/Radarr/releases/download/v${version}/Radarr.master.${version}.${os}-core-${arch}.tar.gz";
diff --git a/pkgs/servers/radarr/update.sh b/pkgs/servers/radarr/update.sh
index 240689eb453..ce64b6df429 100755
--- a/pkgs/servers/radarr/update.sh
+++ b/pkgs/servers/radarr/update.sh
@@ -15,7 +15,7 @@ updateHash()
 
     url="https://github.com/Radarr/Radarr/releases/download/v$version/Radarr.master.$version.$os-core-$arch.tar.gz"
     hash=$(nix-prefetch-url --type sha256 $url)
-    sriHash="$(nix to-sri --type sha256 $hash)"
+    sriHash="$(nix hash to-sri --type sha256 $hash)"
 
     sed -i "s|$hashKey = \"[a-zA-Z0-9\/+-=]*\";|$hashKey = \"$sriHash\";|g" "$dirname/default.nix"
 }
@@ -25,7 +25,7 @@ updateVersion()
     sed -i "s/version = \"[0-9.]*\";/version = \"$1\";/g" "$dirname/default.nix"
 }
 
-currentVersion=$(cd $dirname && nix eval --raw '(with import ../../.. {}; radarr.version)')
+currentVersion=$(cd $dirname && nix eval --raw -f ../../.. radarr.version)
 
 latestTag=$(curl https://api.github.com/repos/Radarr/Radarr/releases/latest | jq -r ".tag_name")
 latestVersion="$(expr $latestTag : 'v\(.*\)')"
diff --git a/pkgs/servers/radicale/3.x.nix b/pkgs/servers/radicale/3.x.nix
index 939061c6a6e..d0ed5cc97a6 100644
--- a/pkgs/servers/radicale/3.x.nix
+++ b/pkgs/servers/radicale/3.x.nix
@@ -2,13 +2,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "radicale";
-  version = "3.1.4";
+  version = "3.1.5";
 
   src = fetchFromGitHub {
     owner = "Kozea";
     repo = "Radicale";
     rev = "v${version}";
-    hash = "sha256-vX6lYiDqpQeWVLotyt2ODwcjskWB6EuCky3/V8m1m7Q=";
+    hash = "sha256-PGPUV0oOWmzc7Lih6D0sCwIuUB8FOyOrYUEIvMpr4HE=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/rmfakecloud/default.nix b/pkgs/servers/rmfakecloud/default.nix
new file mode 100644
index 00000000000..b3055cf566c
--- /dev/null
+++ b/pkgs/servers/rmfakecloud/default.nix
@@ -0,0 +1,31 @@
+{ lib, fetchFromGitHub, buildGoModule }:
+
+buildGoModule rec {
+  pname = "rmfakecloud";
+  version = "0.0.7";
+
+  src = fetchFromGitHub {
+    owner = "ddvk";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Ax+eozbAIE3425ndT4z4fVBMwzLN7iR5fTz8rz60zWg=";
+  };
+
+  vendorSha256 = "sha256-NwDaPpjkQogXE37RGS3zEALlp3NuXP9RW//vbwM6y0A=";
+
+  postPatch = ''
+    # skip including the JS SPA, which is difficult to build
+    sed -i '/go:/d' ui/assets.go
+  '';
+
+  ldflags = [
+    "-s" "-w" "-X main.version=v${version}"
+  ];
+
+  meta = with lib; {
+    description = "Host your own cloud for the Remarkable";
+    homepage = "https://ddvk.github.io/rmfakecloud/";
+    license = licenses.agpl3Only;
+    maintainers = with maintainers; [ pacien martinetd ];
+  };
+}
diff --git a/pkgs/servers/sabnzbd/default.nix b/pkgs/servers/sabnzbd/default.nix
index 32c82cfad1b..2dc2d76c891 100644
--- a/pkgs/servers/sabnzbd/default.nix
+++ b/pkgs/servers/sabnzbd/default.nix
@@ -24,14 +24,14 @@ let
   ]);
   path = lib.makeBinPath [ par2cmdline unrar unzip p7zip ];
 in stdenv.mkDerivation rec {
-  version = "3.5.0";
+  version = "3.5.1";
   pname = "sabnzbd";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-Ay+y02kvFuwefT6f/8orClMiBK201AwSEWnPKgoeOFQ=";
+    sha256 = "sha256-/HakjY0/oGq3lt0kM5p9n3sZ4g/UDtUNyXNpl9zTFl8=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/servers/ser2net/default.nix b/pkgs/servers/ser2net/default.nix
index c09b19378af..440d98b1d2f 100644
--- a/pkgs/servers/ser2net/default.nix
+++ b/pkgs/servers/ser2net/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ser2net";
-  version = "4.3.4";
+  version = "4.3.5";
 
   src = fetchFromGitHub {
     owner = "cminyard";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-J95WDF6x6nHF+r+97E4WdTkXWF98/lx1OSauZTy1/3Q=";
+    hash = "sha256-B0O3Vcb+aM1qSQNrTFV9dY7j4CGOYFkGKfyMgt7PwIM=";
   };
 
   passthru = {
@@ -31,8 +31,8 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Serial to network connection server";
-    homepage = "https://sourceforge.net/projects/ser2net/";
-    license = licenses.gpl2;
+    homepage = "https://github.com/cminyard/ser2net";
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ emantor ];
     platforms = with platforms; linux;
   };
diff --git a/pkgs/servers/shellinabox/default.nix b/pkgs/servers/shellinabox/default.nix
deleted file mode 100644
index 0240cd5a862..00000000000
--- a/pkgs/servers/shellinabox/default.nix
+++ /dev/null
@@ -1,50 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, fetchpatch, autoreconfHook, pam, openssl, openssh, shadow, makeWrapper }:
-
-stdenv.mkDerivation rec {
-  version = "2.20";
-  pname = "shellinabox";
-
-  src = fetchFromGitHub {
-    owner = "shellinabox";
-    repo = "shellinabox";
-    rev = "v${version}";
-    sha256 = "1hmfayh21cks2lyj572944ll0mmgsxbnj981b3hq3nhdg8ywzjfr";
-  };
-
-  patches = [
-    ./shellinabox-minus.patch
-    (fetchpatch {
-      name = "CVE-2018-16789.patch";
-      url = "https://github.com/shellinabox/shellinabox/commit/4f0ecc31ac6f985e0dd3f5a52cbfc0e9251f6361.patch";
-      sha256 = "1mpm6acxdb0fms9pa2b88fx6hp07ph87ahxi82yyqj2m7p79jx7a";
-    })
-  ];
-
-  nativeBuildInputs = [ autoreconfHook makeWrapper ];
-  buildInputs = [ pam openssl openssh ];
-
-  # Disable GSSAPIAuthentication errors. Also, paths in certain source files are
-  # hardcoded. Replace the hardcoded paths with correct paths.
-  preConfigure = ''
-    substituteInPlace ./shellinabox/service.c --replace "-oGSSAPIAuthentication=no" ""
-    substituteInPlace ./shellinabox/launcher.c --replace "/usr/games" "${openssh}/bin"
-    substituteInPlace ./shellinabox/service.c --replace "/bin/login" "${shadow}/bin/login"
-    substituteInPlace ./shellinabox/launcher.c --replace "/bin/login" "${shadow}/bin/login"
-    substituteInPlace ./libhttp/ssl.c --replace "/usr/bin" "${openssl.bin}/bin"
-  '';
-
-  postInstall = ''
-    wrapProgram $out/bin/shellinaboxd \
-      --prefix LD_LIBRARY_PATH : ${openssl.out}/lib
-    mkdir -p $out/lib
-    cp shellinabox/* $out/lib
-  '';
-
-  meta = with lib; {
-    homepage = "https://github.com/shellinabox/shellinabox";
-    description = "Web based AJAX terminal emulator";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ tomberek lihop ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/servers/shellinabox/shellinabox-minus.patch b/pkgs/servers/shellinabox/shellinabox-minus.patch
deleted file mode 100644
index d84bdd2eb16..00000000000
--- a/pkgs/servers/shellinabox/shellinabox-minus.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-diff -ru shellinabox-2.14/shellinabox/vt100.jspp shellinabox-2.14.new/shellinabox/vt100.jspp
---- shellinabox-2.14/shellinabox/vt100.jspp	2012-04-21 21:30:44.000000000 +0400
-+++ shellinabox-2.14.new/shellinabox/vt100.jspp	2014-03-27 16:33:31.012344164 +0400
-@@ -2676,6 +2676,7 @@
-       switch (key) {
-       case  33: /* Page Up      */ this.scrollBack();                   return;
-       case  34: /* Page Down    */ this.scrollFore();                   return;
-+      case 173: /* _            */ ch = this.applyModifiers(95, event); break;
-       default:                                                          break;
-       }
-     }
-@@ -2738,6 +2739,7 @@
-       case 123: /* F12          */ ch = '\u001B[24~';                   break;
-       case 144: /* Num Lock     */                                      return;
-       case 145: /* Scroll Lock  */                                      return;
-+      case 173: /* -            */ ch = this.applyModifiers(45, event); break;
-       case 186: /* ;            */ ch = this.applyModifiers(59, event); break;
-       case 187: /* =            */ ch = this.applyModifiers(61, event); break;
-       case 188: /* ,            */ ch = this.applyModifiers(44, event); break;
-@@ -2882,6 +2884,7 @@
-     case 109: /* - -> _ */ u = 45; s =  95; break;
-     case 111: /* / -> ? */ u = 47; s =  63; break;
- 
-+    case 173: /* - -> _ */ u = 45; s =  95; break;
-     case 186: /* ; -> : */ u = 59; s =  58; break;
-     case 187: /* = -> + */ u = 61; s =  43; break;
-     case 188: /* , -> < */ u = 44; s =  60; break;
-
diff --git a/pkgs/servers/soft-serve/default.nix b/pkgs/servers/soft-serve/default.nix
index dab8df564ff..582603a7a76 100644
--- a/pkgs/servers/soft-serve/default.nix
+++ b/pkgs/servers/soft-serve/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "soft-serve";
-  version = "0.1.3";
+  version = "0.2.3";
 
   src = fetchFromGitHub {
     owner = "charmbracelet";
     repo = "soft-serve";
     rev = "v${version}";
-    sha256 = "sha256-DEtWFWzUytj9xhNCVTPgSy2vR3sL2VYG76UmF6Dx78M=";
+    sha256 = "sha256-IaSXkbOBuvC7BhM+rGGYMcvk6jjKVDHH+lSs3y2UM40=";
   };
 
-  vendorSha256 = "sha256-ljbUAsbgonEFDVY6cSeVPkjieXWgF9JFGl6c7J6/164=";
+  vendorSha256 = "sha256-m5xwxs6XvmPffDX9dkkEG0/LdlDDm6Eq9CC0tVdauVI=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/softether/4.29.nix b/pkgs/servers/softether/default.nix
index 83eb3b05b37..2f80afc3701 100644
--- a/pkgs/servers/softether/4.29.nix
+++ b/pkgs/servers/softether/default.nix
@@ -4,28 +4,28 @@
 
 stdenv.mkDerivation rec {
   pname = "softether";
-  version = "4.29";
-  build = "9680";
+  version = "4.38";
+  build = "9760";
 
   src = fetchurl {
     url = "https://github.com/SoftEtherVPN/SoftEtherVPN_Stable/releases/download/v${version}-${build}-rtm/softether-src-v${version}-${build}-rtm.tar.gz";
-    sha256 = "1r169s5dr31060r2mxkmm08riy6zrxgapmrc6kdrpxdav6kmy0z6";
+    sha256 = "0d8zahi9lkv72jh8yj66pwrsi4451vk113d3khzrzgbic6s2i0g6";
   };
 
   buildInputs = [ openssl readline ncurses zlib ];
 
   preConfigure = ''
-      ./configure
+    ./configure
   '';
 
   buildPhase = ''
-      mkdir -p $out/bin
-      sed -i \
-          -e "/INSTALL_BINDIR=/s|/usr/bin|/bin|g" \
-          -e "/_DIR=/s|/usr|${dataDir}|g" \
-          -e "s|\$(INSTALL|$out/\$(INSTALL|g" \
-          -e "/echo/s|echo $out/|echo |g" \
-          Makefile
+    mkdir -p $out/bin
+    sed -i \
+      -e "/INSTALL_BINDIR=/s|/usr/bin|/bin|g" \
+      -e "/_DIR=/s|/usr|${dataDir}|g" \
+      -e "s|\$(INSTALL|$out/\$(INSTALL|g" \
+      -e "/echo/s|echo $out/|echo |g" \
+      Makefile
   '';
 
   meta = with lib; {
diff --git a/pkgs/servers/sql/dolt/default.nix b/pkgs/servers/sql/dolt/default.nix
index dd849ef9586..74fddbd4982 100644
--- a/pkgs/servers/sql/dolt/default.nix
+++ b/pkgs/servers/sql/dolt/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "dolt";
-  version = "0.32.1";
+  version = "0.37.1";
 
   src = fetchFromGitHub {
     owner = "liquidata-inc";
     repo = "dolt";
     rev = "v${version}";
-    sha256 = "sha256-03cWsZEPjsUPyrGoU+RFkPb/BjYfLgO5sE50k9U1GjQ=";
+    sha256 = "sha256-rLnjWJPIf2SzWpaQxt/4zACihKptly/OJ+w0/uJBacY=";
   };
 
   modRoot = "./go";
   subPackages = [ "cmd/dolt" "cmd/git-dolt" "cmd/git-dolt-smudge" ];
-  vendorSha256 = "sha256-pP/KCj92Y8fEh9AXKEOxuXxMeTMcGJrYSW+OrfXvajk=";
+  vendorSha256 = "sha256-YqlOzHsdkRrBdQ/mWGs2JIq5JttdRhFeug9HRbl6qlw=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/sql/mariadb/connector-c/3_2.nix b/pkgs/servers/sql/mariadb/connector-c/3_2.nix
index 8b1c8b04bdc..1e9884eb733 100644
--- a/pkgs/servers/sql/mariadb/connector-c/3_2.nix
+++ b/pkgs/servers/sql/mariadb/connector-c/3_2.nix
@@ -1,6 +1,6 @@
 { callPackage, ... } @ args:
 
 callPackage ./. (args // {
-  version = "3.2.3";
-  sha256 = "1x1i4ck4c3sgkw083v02zk3rbkm5h0x1vl4m58j95q1qcijkiamn";
+  version = "3.2.5";
+  sha256 = "0w0fimdiiqrrm012iflz8l4rnafryq7y0qqijzxn7nwzxhm9jsr9";
 })
diff --git a/pkgs/servers/sql/mariadb/connector-c/default.nix b/pkgs/servers/sql/mariadb/connector-c/default.nix
index 3f0697bd2cc..dbf8e36e9e7 100644
--- a/pkgs/servers/sql/mariadb/connector-c/default.nix
+++ b/pkgs/servers/sql/mariadb/connector-c/default.nix
@@ -11,10 +11,7 @@ stdenv.mkDerivation {
   inherit version;
 
   src = fetchurl {
-    urls = [
-      "https://downloads.mariadb.org/f/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
-      "https://downloads.mariadb.com/Connectors/c/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz"
-    ];
+    url = "https://downloads.mariadb.com/Connectors/c/connector-c-${version}/mariadb-connector-c-${version}-src.tar.gz";
     inherit sha256;
   };
 
diff --git a/pkgs/servers/sql/mariadb/default.nix b/pkgs/servers/sql/mariadb/default.nix
index fb07bc39154..b1c71f28a83 100644
--- a/pkgs/servers/sql/mariadb/default.nix
+++ b/pkgs/servers/sql/mariadb/default.nix
@@ -5,16 +5,17 @@
 , curl, libiconv, ncurses, openssl, pcre, pcre2
 , libkrb5, libaio, liburing, systemd
 , CoreServices, cctools, perl
-, jemalloc, less
+, jemalloc, less, libedit
 # Server components
 , bzip2, lz4, lzo, snappy, xz, zlib, zstd
 , cracklib, judy, libevent, libxml2
 , linux-pam, numactl, pmdk
+, fmt_8
 , withStorageMroonga ? true, kytea, libsodium, msgpack, zeromq
 , withStorageRocks ? true
 }:
 
-let # in mariadb # spans the whole file
+let
 
 libExt = stdenv.hostPlatform.extensions.sharedLibrary;
 
@@ -42,7 +43,7 @@ commonOptions = packageSettings: rec { # attributes common to both builds
   ] ++ (packageSettings.extraBuildInputs or [])
     ++ lib.optionals stdenv.hostPlatform.isLinux ([ libkrb5 systemd ]
     ++ (if (lib.versionOlder version "10.6") then [ libaio ] else [ liburing ]))
-    ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl ]
+    ++ lib.optionals stdenv.hostPlatform.isDarwin [ CoreServices cctools perl libedit ]
     ++ lib.optional (!stdenv.hostPlatform.isDarwin) [ jemalloc ]
     ++ (if (lib.versionOlder version "10.5") then [ pcre ] else [ pcre2 ]);
 
@@ -141,7 +142,7 @@ in stdenv.mkDerivation (common // {
   ];
 
   cmakeFlags = common.cmakeFlags ++ [
-    "-DPLUGIN_AUTH_PAM=OFF"
+    "-DPLUGIN_AUTH_PAM=NO"
     "-DWITHOUT_SERVER=ON"
     "-DWITH_WSREP=OFF"
     "-DINSTALL_MYSQLSHAREDIR=share/mysql-client"
@@ -173,7 +174,8 @@ in stdenv.mkDerivation (common // {
     ++ lib.optionals stdenv.hostPlatform.isLinux [ linux-pam ]
     ++ lib.optional (stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isx86_64) pmdk.dev
     ++ lib.optional (!stdenv.hostPlatform.isDarwin) mytopEnv
-    ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ];
+    ++ lib.optionals withStorageMroonga [ kytea libsodium msgpack zeromq ]
+    ++ lib.optionals (lib.versionAtLeast common.version "10.7") [ fmt_8 ];
 
   patches = common.patches;
 
@@ -205,7 +207,8 @@ in stdenv.mkDerivation (common // {
   ] ++ lib.optional (!stdenv.hostPlatform.isDarwin) [
     "-DWITH_JEMALLOC=yes"
   ] ++ lib.optionals stdenv.hostPlatform.isDarwin [
-    "-DPLUGIN_AUTH_PAM=OFF"
+    "-DPLUGIN_AUTH_PAM=NO"
+    "-DPLUGIN_AUTH_PAM_V1=NO"
     "-DWITHOUT_OQGRAPH=1"
     "-DWITHOUT_PLUGIN_S3=1"
   ] ++ lib.optionals (stdenv.buildPlatform != stdenv.hostPlatform) [
@@ -235,17 +238,27 @@ in stdenv.mkDerivation (common // {
 in {
   mariadb_104 = mariadbPackage {
     # Supported until 2024-06-18
-    version = "10.4.22";
-    sha256 = "000ca1hdnj2jg051cjgdd2ralgwgh2p8nwb1x6b85202xdpc7ga4";
+    version = "10.4.24";
+    sha256 = "0ipqilri8isn0mfvwg8imwf36zm3jsw0wf2yx905c2bznd8mb5zy";
   };
   mariadb_105 = mariadbPackage {
     # Supported until 2025-06-24
-    version = "10.5.13";
-    sha256 = "0n0w1pyypv6wsknaqyykj3lc9zv6smji4q5jcf90w4rid330iw0n";
+    version = "10.5.15";
+    sha256 = "0nfvyxb157qsbl0d1i5gfzr2hb1nm0iv58f7qcbk5kkhz0vyv049";
   };
   mariadb_106 = mariadbPackage {
     # Supported until 2026-07
-    version = "10.6.5";
-    sha256 = "13qaqb2h6kysfdi3h1l9zbb2qlpjgxb1n8mxnj5jm96r50209gp0";
+    version = "10.6.7";
+    sha256 = "1idjnkjfkjvyr6r899xbiwq9wwbs84cm85mbc725yxjshqghzvkm";
+  };
+  mariadb_107 = mariadbPackage {
+    # Supported until 2023-02
+    version = "10.7.3";
+    sha256 = "1m2wa67vvdm61ap8spl18b9vqkmsnq4rfd0248l17jf9zwcnja6s";
+  };
+  mariadb_108 = mariadbPackage {
+    # Supported until 2023-05
+    version = "10.8.2";
+    sha256 = "0v4mms3mihylnqlc0ifvwzykah6lkdd39lmxbv5vnhbsh7wggq0l";
   };
 }
diff --git a/pkgs/servers/sql/mariadb/galera/default.nix b/pkgs/servers/sql/mariadb/galera/default.nix
index 5a79dcd7d2c..d124664dd7b 100644
--- a/pkgs/servers/sql/mariadb/galera/default.nix
+++ b/pkgs/servers/sql/mariadb/galera/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "mariadb-galera";
-  version = "26.4.10";
+  version = "26.4.11";
 
   src = fetchFromGitHub {
     owner = "codership";
     repo = "galera";
     rev = "release_${version}";
-    sha256 = "sha256-v3fKadoHCAKHZGPjuh/uLnmAaaPESrax73GEI/mH39g=";
+    sha256 = "sha256-zAS/YCUNSgkjehUXJpa+FyPC6zHnx3Nmlx0m7hbuZo0=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/servers/sql/monetdb/default.nix b/pkgs/servers/sql/monetdb/default.nix
index 3a21676e710..3f0ed926e4c 100644
--- a/pkgs/servers/sql/monetdb/default.nix
+++ b/pkgs/servers/sql/monetdb/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "monetdb";
-  version = "11.41.13";
+  version = "11.43.5";
 
   src = fetchurl {
     url = "https://dev.monetdb.org/downloads/sources/archive/MonetDB-${version}.tar.bz2";
-    sha256 = "sha256-42u/sWUEOlCGe9UaWnUQJJ39TIE6OBI/5P9sKxKvreM=";
+    sha256 = "sha256-Pgh2gqsZnDEOBs2t7PoRWXZ9hSPcGRL0YL4QSP8dLL8=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/sql/postgresql/ext/pgvector.nix b/pkgs/servers/sql/postgresql/ext/pgvector.nix
index d2a783354f4..654d9a30f30 100644
--- a/pkgs/servers/sql/postgresql/ext/pgvector.nix
+++ b/pkgs/servers/sql/postgresql/ext/pgvector.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pgvector";
-  version = "0.2.2";
+  version = "0.2.5";
 
   src = fetchFromGitHub {
     owner = "ankane";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-rdhmdfxRK4rdgGsv8Rdokm46N/+S3ZwArkW5eJTQGsY=";
+    sha256 = "sha256-5tnitx2KdyARgeaaDINWbn5JtQ4j0aq2BQBljRZOmsk=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
index ca1b1249ce6..ff5f464c8e5 100644
--- a/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
+++ b/pkgs/servers/sql/postgresql/ext/plpgsql_check.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "plpgsql_check";
-  version = "2.1.0";
+  version = "2.1.2";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-T6bg+yeG/xtpqJqZnR5Dt/3P/O6Mv7nkSc3wYAftmIk=";
+    sha256 = "sha256-S/b6oQPYgaM6UvloYqlwhF5rxlyKG4Vw6ejN/gK8Spg=";
   };
 
   buildInputs = [ postgresql ];
diff --git a/pkgs/servers/sql/postgresql/ext/postgis.nix b/pkgs/servers/sql/postgresql/ext/postgis.nix
index dbb800a2760..d0dfa5d00f5 100644
--- a/pkgs/servers/sql/postgresql/ext/postgis.nix
+++ b/pkgs/servers/sql/postgresql/ext/postgis.nix
@@ -15,13 +15,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "postgis";
-  version = "3.2.0";
+  version = "3.2.1";
 
   outputs = [ "out" "doc" ];
 
   src = fetchurl {
     url = "https://download.osgeo.org/postgis/source/postgis-${version}.tar.gz";
-    sha256 = "sha256-ernhVMaUfAz/uPoS1wgGrdmqBg5itshqLiBvnUtQfP0=";
+    sha256 = "sha256-+6to3ebKOTSyS6CMirDP8llPV/k96rQaFcgq4btpiT4=";
   };
 
   buildInputs = [ libxml2 postgresql geos proj gdal json_c protobufc ]
diff --git a/pkgs/servers/sql/postgresql/ext/repmgr.nix b/pkgs/servers/sql/postgresql/ext/repmgr.nix
index bb00d37fc2a..4576febce91 100644
--- a/pkgs/servers/sql/postgresql/ext/repmgr.nix
+++ b/pkgs/servers/sql/postgresql/ext/repmgr.nix
@@ -8,13 +8,13 @@
 
 stdenv.mkDerivation rec {
   pname = "repmgr";
-  version = "5.3.0";
+  version = "5.3.1";
 
   src = fetchFromGitHub {
     owner = "2ndQuadrant";
     repo = "repmgr";
     rev = "v${version}";
-    sha256 = "sha256-hDBdtp6wPjvtc0MO8aG0Tdx5JiQJf8KS0f778R5xCZc=";
+    sha256 = "sha256-fHoXbFOF3xj/eNHgQIghF15vbDObnuwl2DAH+zRVGZQ=";
   };
 
   nativeBuildInputs = [ flex ];
diff --git a/pkgs/servers/sql/postgresql/ext/timescaledb.nix b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
index 6513617ee26..ba6fc77a8a1 100644
--- a/pkgs/servers/sql/postgresql/ext/timescaledb.nix
+++ b/pkgs/servers/sql/postgresql/ext/timescaledb.nix
@@ -8,7 +8,7 @@
 
 stdenv.mkDerivation rec {
   pname = "timescaledb";
-  version = "2.5.1";
+  version = "2.5.2";
 
   nativeBuildInputs = [ cmake ];
   buildInputs = [ postgresql openssl libkrb5 ];
@@ -18,7 +18,7 @@ stdenv.mkDerivation rec {
     repo   = "timescaledb";
     # some branches are named like tags which confuses git
     rev    = "refs/tags/${version}";
-    sha256 = "sha256-3G/foe4TlKEKP0Vi60oD7ZoxYdkNipyoOhGoF+GojZw=";
+    sha256 = "sha256-eq2dljS8+0fRcA7hQr5yOV1FXtMyaajjYFqpw+DYt1A=";
   };
 
   cmakeFlags = [ "-DSEND_TELEMETRY_DEFAULT=OFF" "-DREGRESS_CHECKS=OFF" "-DTAP_CHECKS=OFF" ]
diff --git a/pkgs/servers/sql/proxysql/default.nix b/pkgs/servers/sql/proxysql/default.nix
index 142dfe29fa2..ab8f7f9a699 100644
--- a/pkgs/servers/sql/proxysql/default.nix
+++ b/pkgs/servers/sql/proxysql/default.nix
@@ -129,6 +129,10 @@ stdenv.mkDerivation rec {
 
     sed -i s_/usr/bin/env_${coreutils}/bin/env_g libssl/openssl/config
 
+    # https://github.com/sysown/proxysql/issues/3679
+    # TODO: remove when upgrading past 2.3.2
+    sed -i -e 's@^\(\s\+cd curl/curl \&\& ./configure .*\) \(--with-ssl=.*\)$@\1 --without-zstd \2@' Makefile
+
     popd
     patchShebangs .
   '';
diff --git a/pkgs/servers/sql/virtuoso/6.x.nix b/pkgs/servers/sql/virtuoso/6.x.nix
deleted file mode 100644
index c811a162412..00000000000
--- a/pkgs/servers/sql/virtuoso/6.x.nix
+++ /dev/null
@@ -1,46 +0,0 @@
-{ lib, stdenv, fetchurl, libxml2, openssl, readline, gawk }:
-
-stdenv.mkDerivation rec {
-  pname = "virtuoso-opensource";
-  version = "6.1.6";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/virtuoso/${pname}-${version}.tar.gz";
-    sha256 = "0dx0lp7cngdchi0772hp93zzn6sdap7z8s3vay3mzb9xgf0sdgy6";
-  };
-
-  outputs = [ "out" "dev" "doc" ];
-
-  buildInputs = [ libxml2 openssl readline gawk ];
-
-  CPP = "${stdenv.cc}/bin/gcc -E";
-
-  configureFlags = [
-    "--enable-shared" "--disable-all-vads" "--with-readline=${readline.dev}"
-    "--disable-hslookup" "--disable-wbxml2" "--without-iodbc"
-    "--enable-openssl=${openssl.dev}"
-  ];
-
-  postInstall = ''
-    echo Moving documentation
-    mkdir -pv $out/share/doc
-    mv -v $out/share/virtuoso/doc $out/share/doc/${pname}-${version}
-
-    echo Removing jars and empty directories
-    find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
-
-    for f in $out/lib/*.la; do
-      echo "Fixing $f"
-      substituteInPlace $f \
-        --replace "${readline.dev}" "${readline.out}/lib" \
-        --replace "${openssl.dev}/lib" "${openssl.out}/lib"
-    done
-  '';
-
-  meta = with lib; {
-    description = "SQL/RDF database used by, e.g., KDE-nepomuk";
-    homepage = "http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/";
-    platforms = platforms.linux;
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/servers/sql/virtuoso/7.x.nix b/pkgs/servers/sql/virtuoso/7.x.nix
deleted file mode 100644
index 173124596a0..00000000000
--- a/pkgs/servers/sql/virtuoso/7.x.nix
+++ /dev/null
@@ -1,37 +0,0 @@
-{ lib, stdenv, fetchurl, libxml2, openssl, readline, gawk }:
-
-stdenv.mkDerivation rec {
-  pname = "virtuoso-opensource";
-  version = "7.2.4.2";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/virtuoso/${pname}-${version}.tar.gz";
-    sha256 = "12dqam1gc1v93l0bj0vlpvjqppki6y1hqrlznywxnw0rrz9pb002";
-  };
-
-  buildInputs = [ libxml2 openssl readline gawk ];
-
-  CPP = "${stdenv.cc}/bin/gcc -E";
-
-  configureFlags = [
-    "--enable-shared" "--disable-all-vads" "--with-readline=${readline.dev}"
-    "--disable-hslookup" "--disable-wbxml2" "--without-iodbc"
-    "--enable-openssl=${openssl.dev}"
-  ];
-
-  postInstall=''
-    echo Moving documentation
-    mkdir -pv $out/share/doc
-    mv -v $out/share/virtuoso/doc $out/share/doc/${pname}-${version}
-    echo Removing jars and empty directories
-    find $out -name "*.a" -delete -o -name "*.jar" -delete -o -type d -empty -delete
-    '';
-
-  meta = with lib; {
-    description = "SQL/RDF database used by, e.g., KDE-nepomuk";
-    homepage = "http://virtuoso.openlinksw.com/dataspace/dav/wiki/Main/";
-    #configure: The current version [...] can only be built on 64bit platforms
-    platforms = [ "x86_64-linux" ];
-    license = licenses.gpl2;
-  };
-}
diff --git a/pkgs/servers/sshportal/default.nix b/pkgs/servers/sshportal/default.nix
index 73aec946fd9..e9cf52f3885 100644
--- a/pkgs/servers/sshportal/default.nix
+++ b/pkgs/servers/sshportal/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "sshportal";
-  version = "1.18.5";
+  version = "1.19.3";
 
   src = fetchFromGitHub {
     owner = "moul";
     repo = "sshportal";
     rev = "v${version}";
-    sha256 = "1d9zws7b6ng23vyk8di5jmnbsxz7kaj4z8wz43wkwr6b65c2h0bf";
+    sha256 = "sha256-8+UHG4xTH9h1IvMoOY7YHPClk4t2vWSBOUnYU6+mynQ=";
   };
 
   ldflags = [ "-X main.GitTag=${version}" "-X main.GitSha=${version}" "-s" "-w" ];
 
-  vendorSha256 = "0fnn455adw4bhz68dpqaii08wv7lifdd5kx95rpqxsi2sqrzr4br";
+  vendorSha256 = "sha256-swDoQeO44fkpS2JNUAXaj3ZVjjzhoEr34YZ1/ArnLBk=";
 
   meta = with lib; {
     description = "Simple, fun and transparent SSH (and telnet) bastion server";
diff --git a/pkgs/servers/swego/default.nix b/pkgs/servers/swego/default.nix
index 9009abb9206..7ead19f5ceb 100644
--- a/pkgs/servers/swego/default.nix
+++ b/pkgs/servers/swego/default.nix
@@ -6,16 +6,16 @@
 
 buildGoModule rec {
   pname = "swego";
-  version = "0.97";
+  version = "0.98";
 
   src = fetchFromGitHub {
     owner = "nodauf";
     repo = "Swego";
     rev = "v${version}";
-    sha256 = "sha256-T4xkjNdOSD0kHLVfwUz1PrFokLmnbzcj/pbV36W+2ZQ=";
+    sha256 = "sha256-fS1mrB4379hnnkLMkpKqV2QB680t5T0QEqsvqOp9pzY=";
   };
 
-  vendorSha256 = "sha256-GiYJfykcBvIoJ0zvdtT3P+iHmBgBWIeOTaniFysAPHs=";
+  vendorSha256 = "sha256-N4HDngQFNCzQ74W52R0khetN6+J7npvBC/bYZBAgLB4=";
 
   postInstall = ''
     mv $out/bin/src $out/bin/$pname
diff --git a/pkgs/servers/tailscale/default.nix b/pkgs/servers/tailscale/default.nix
index e3852931d18..0d564352c73 100644
--- a/pkgs/servers/tailscale/default.nix
+++ b/pkgs/servers/tailscale/default.nix
@@ -2,20 +2,20 @@
 
 buildGoModule rec {
   pname = "tailscale";
-  version = "1.20.3";
+  version = "1.22.0";
 
   src = fetchFromGitHub {
     owner = "tailscale";
     repo = "tailscale";
     rev = "v${version}";
-    sha256 = "sha256-6ZiMkid5RneOIlDDSDkB8m0nAywZEUCJ96qveE2l53k=";
+    sha256 = "sha256-kBxZFzny61xsLynD0sWz4dd8BzbdZkah0ATnHo3txRM=";
   };
 
   nativeBuildInputs = lib.optionals stdenv.isLinux [ makeWrapper ];
 
   CGO_ENABLED = 0;
 
-  vendorSha256 = "sha256-ZbOxC8J843B8BMS/ZgfSZqU1YCUoWhPqbABzWZy3DMI=";
+  vendorSha256 = "sha256-Bu0a9JI0rlsA4wvvX9Mj4+QH0ot6Jdl+t246HbXu6OA=";
 
   doCheck = false;
 
diff --git a/pkgs/servers/tautulli/default.nix b/pkgs/servers/tautulli/default.nix
index ac29b20a10d..9e5fb8e4482 100644
--- a/pkgs/servers/tautulli/default.nix
+++ b/pkgs/servers/tautulli/default.nix
@@ -2,7 +2,7 @@
 
 buildPythonApplication rec {
   pname = "Tautulli";
-  version = "2.8.1";
+  version = "2.9.4";
   format = "other";
 
   pythonPath = [ setuptools ];
@@ -12,7 +12,7 @@ buildPythonApplication rec {
     owner = "Tautulli";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-vaH8PdWsWwBE2eW0i1QsjfOZdG5luME12gAY2uykyng=";
+    sha256 = "sha256-Hgu1peKv00+FZtszewqofwRueC5ZfUFMM/5ax2Gnf44=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/tegola/default.nix b/pkgs/servers/tegola/default.nix
index d94f97baf86..0037713e597 100644
--- a/pkgs/servers/tegola/default.nix
+++ b/pkgs/servers/tegola/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "tegola";
-  version = "0.13.0";
+  version = "0.14.0";
 
   goPackagePath = "github.com/go-spatial/tegola";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "go-spatial";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-NA2KwyhLLIusf6a6v+OcmHz91kPcIhvG9PRmRk8h+fQ=";
+    sha256 = "sha256-/1UhgcMLCB1/HtDX6HvVXybn3jOCRLuz2AF+M52Aye0=";
   };
 
   ldflags = [ "-s" "-w" "-X ${goPackagePath}/cmd/tegola/cmd.Version=${version}" ];
diff --git a/pkgs/servers/teleport/default.nix b/pkgs/servers/teleport/default.nix
index bed1c4112c0..ac57cc51339 100644
--- a/pkgs/servers/teleport/default.nix
+++ b/pkgs/servers/teleport/default.nix
@@ -1,5 +1,5 @@
 { lib
-, buildGo117Module
+, buildGoModule
 , rustPlatform
 , fetchFromGitHub
 , makeWrapper
@@ -43,7 +43,7 @@ let
     sha256 = "sha256-oKvDXkxA73IJOi+ciBFVLkYcmeRUsTC+3rcYf64vDoY=";
   };
 in
-buildGo117Module rec {
+buildGoModule rec {
   pname = "teleport";
 
   inherit src version;
diff --git a/pkgs/servers/traefik/default.nix b/pkgs/servers/traefik/default.nix
index 95ef4b0ea70..2b764f39bf3 100644
--- a/pkgs/servers/traefik/default.nix
+++ b/pkgs/servers/traefik/default.nix
@@ -2,11 +2,11 @@
 
 buildGoModule rec {
   pname = "traefik";
-  version = "2.6.0";
+  version = "2.6.1";
 
   src = fetchzip {
     url = "https://github.com/traefik/traefik/releases/download/v${version}/traefik-v${version}.src.tar.gz";
-    sha256 = "sha256-+95GB4D6upo6s0K+rxpuolzF5Knind0bYCzgO33mNis=";
+    sha256 = "sha256-uaROz7DQcy5FlR9/U/QmanqA1qJPJj/ix725Gnei2U0=";
     stripRoot = false;
   };
 
diff --git a/pkgs/servers/tt-rss/theme-feedly/default.nix b/pkgs/servers/tt-rss/theme-feedly/default.nix
index ac0642261bf..224cf3fde58 100644
--- a/pkgs/servers/tt-rss/theme-feedly/default.nix
+++ b/pkgs/servers/tt-rss/theme-feedly/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tt-rss-theme-feedly";
-  version = "2.8.2";
+  version = "2.9.1";
 
   src = fetchFromGitHub {
     owner = "levito";
     repo = "tt-rss-feedly-theme";
     rev = "v${version}";
-    sha256 = "sha256-OQclPtQkz5oOZuYzrdfekTUX1J111HtwuxAvWC4h9YI=";
+    sha256 = "sha256-lxdhEPlKUt6eHcIlD7nd7+CiFC5+s+Me06O7hWB9C4k=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/vouch-proxy/default.nix b/pkgs/servers/vouch-proxy/default.nix
index 94ef0b23f3b..a8a773385db 100644
--- a/pkgs/servers/vouch-proxy/default.nix
+++ b/pkgs/servers/vouch-proxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "vouch-proxy";
-  version = "0.35.1";
+  version = "0.36.0";
 
   src = fetchFromGitHub {
     owner = "vouch";
     repo = "vouch-proxy";
     rev = "v${version}";
-    sha256 = "sha256-dKf68WjCynB73RBWneBsMoyowUcrEaBTnMKVKB0sgsg=";
+    sha256 = "sha256-pgoxRzYc5PIrxnRwWpthFmpsxDfvWTmLT7upQVIFoQo=";
   };
 
   vendorSha256 = "sha256-ifH+420FIrib+zQtzzHtMMYd84BED+vgnRw4xToYIl4=";
@@ -26,6 +26,7 @@ buildGoModule rec {
     homepage = "https://github.com/vouch/vouch-proxy";
     description = "An SSO and OAuth / OIDC login solution for NGINX using the auth_request module";
     license = licenses.mit;
-    maintainers = with maintainers; [ em0lar ];
+    maintainers = with maintainers; [ em0lar erictapen ];
+    platforms = lib.platforms.linux;
   };
 }
diff --git a/pkgs/servers/web-apps/discourse/default.nix b/pkgs/servers/web-apps/discourse/default.nix
index 14de87c9023..693e638dec6 100644
--- a/pkgs/servers/web-apps/discourse/default.nix
+++ b/pkgs/servers/web-apps/discourse/default.nix
@@ -10,13 +10,13 @@
 }@args:
 
 let
-  version = "2.8.0.beta11";
+  version = "2.9.0.beta1";
 
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse";
     rev = "v${version}";
-    sha256 = "sha256-dTem4or0SunXCJFpNkeM0CSXY+58AeQAuMaLzhfGMY0=";
+    sha256 = "sha256-mf2Niyv1H+Zq7RfnV93O1Ul9RdRrtmtAJMBJrb8hp3U=";
   };
 
   runtimeDeps = [
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
index 006eb0ee882..2a1970e92dd 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-assign/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-assign";
-    rev = "a52da2396c5787a07c2746890bb44a0921a149e9";
-    sha256 = "sha256-UzpDesqxC20teyKYwqizYvjvR47zApyLporCU71RNvk=";
+    rev = "ffe95da7ed0cf0893a76af37498784ad92041131";
+    sha256 = "sha256-FdZATO1Z6XmhForETZ2FC+6wfR437cpRg8QSFzmbsxQ=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
index d8596a5c2fa..727fde30495 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/Gemfile.lock
@@ -7,7 +7,7 @@ GEM
       minitest (>= 5.1)
       tzinfo (~> 2.0)
     concurrent-ruby (1.1.9)
-    i18n (1.8.11)
+    i18n (1.9.1)
       concurrent-ruby (~> 1.0)
     minitest (5.15.0)
     rrule (0.4.2)
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
index ef3309652d4..1d3e2756bb0 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-calendar";
-    rev = "f3b64f7b8c009f18bdc16def7c7299f747ea08ab";
-    sha256 = "sha256-ACbPMfqyFj9877r56qr+wxHEln+L1sAuQg/YUDGpuds=";
+    rev = "765d16242ffeb4324c3269393d3fa81e9b751d4f";
+    sha256 = "sha256-YYxspW0DX0DUBwPOcvX2pLJYmyK4b56LdjL6avLKzRs=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-calendar";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
index a03e644d9b4..48598802c61 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-calendar/gemset.nix
@@ -26,10 +26,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0vdd1kii40qhbr9n8qx71k2gskq6rkl8ygy8hw5hfj8bb5a364xf";
+      sha256 = "1nancdgq51wk3c1pkxps0rkjsfdwnkx60hzkm947m5rzsz8b2sw8";
       type = "gem";
     };
-    version = "1.8.11";
+    version = "1.9.1";
   };
   minitest = {
     groups = ["default"];
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
index 7d9042f67b4..43ef518a9ce 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-canned-replies/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-canned-replies";
-    rev = "598946bc92171426792f120f0a68ad4ecaae1c91";
-    sha256 = "sha256-HLrmj/dHj6wWUEqsFAh8gIPaZCIaXN1kZo17UHJwP70=";
+    rev = "8762b8d0fe28ffcacc427e7a683b971bf125a881";
+    sha256 = "sha256-ZAm/A45vAofiOiqXS/STt4XO3FJ6XUFyVydsFaI40+k=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-canned-replies";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
index 48192bd4a34..63797d3b89c 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-chat-integration/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-chat-integration";
-    rev = "45a16e2c40f9b79a351e52b905c7816ddbd29bb3";
-    sha256 = "sha256-cu9JhBB4ggsVzKlxe9x2WQVgwzwAA5U6OEKhbiRQACU=";
+    rev = "ddee0c44179c547b2581474c3c4d0da7d8d23fe8";
+    sha256 = "sha256-8AUzIu+HRHrcAqpyI/eVrgZLTKXTLgDjXFTGQbMRzxs=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-chat-integration";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
index 5bd5d6ad310..9c61b4bcf67 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-checklist/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-checklist";
-    rev = "80d448b92173398530643ee07a40d6c60e4a3a5e";
-    sha256 = "sha256-FJtb7s4UQ6A4SEezB/58pmvpN+f1gVBY/G4GUzE20ME=";
+    rev = "c2bb6b0156e411ef3c1de52aa36b38abeba801cd";
+    sha256 = "sha256-p0nOdh0zg891Pe8wYhMzcbunGYJY41iVET4fFRDJt+k=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-checklist";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
index f30f60827fa..38336973f32 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-data-explorer/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-data-explorer";
-    rev = "58cfe737f7eb3d401a059edc8d24ed0ec22fa2f7";
-    sha256 = "sha256-pwzW+HCby2HD5SsnFCi8kUqN/dQuZiVkdmqQ2P2XQ2c=";
+    rev = "2a17f49f66feb7a3068cf6f1e4ad08550f875057";
+    sha256 = "sha256-LOcJle0S7Z8oGz1XgTEHiz1JNKufxege+joeinwX7xU=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-data-explorer";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
index 52088b0fded..3b7d5e96f07 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-docs/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-docs";
-    rev = "f8ac536160c662f29c49111beb5b18b70dbe8cd9";
-    sha256 = "sha256-pU5Dl+G2HRKfWi+W+P4ZP6A8EMqi9xaIYXx1xUg9I54=";
+    rev = "05678c451caf2ceb192501da91cf0d24ea44c8e8";
+    sha256 = "sha256-C+3jaJ09P1PteeHFVfbAXxDgAa6d0RZwLdlp+NKuZJU=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-docs";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
index 6888018b62d..9421267d152 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-github/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-github";
-    rev = "f4635f94f8c1eaf38f7b025d1fc236e404a39414";
-    sha256 = "sha256-kd8iCgLuFxFbu8HR9ttzmVFF4AK0P7cbo1q15kD9Dp4=";
+    rev = "031dc6b512ada263eb3634eae5adfe4cdb008b4b";
+    sha256 = "sha256-v69RYgA5k6A3bus+Joc/NFp2DU4bwiaoCSe2xua3DgY=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-github";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
index b3a131bc4d8..e3e52ccfea7 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-math/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-math";
-    rev = "33662c4b1d8a3faa6138261bd6a6043b4d9ac037";
-    sha256 = "sha256-UMGj2KqYHs7MtVHBGLUgUKA7wzhX32160b4OihiwgCI=";
+    rev = "2deef48ab16bc0a15ab5f1fef98e15261251bf32";
+    sha256 = "sha256-Crt7ozasZ1DCwAzaH/Y6BQEXwpX6t9qsIrGYMlECylk=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-math";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
index 88ab125a2c2..c5405367ff3 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-openid-connect/default.nix
@@ -6,8 +6,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-openid-connect";
-    rev = "bba36d68a44b1e1d19729d14fd04ad280fc32c58";
-    sha256 = "sha256-9CV5A3gQzYvokTLNOwoX1jQhGaZQBn4tn5jn7bfhLS4=";
+    rev = "ab26c4eaa858bf35cb6fa6314597a50fff57baf9";
+    sha256 = "sha256-Yxw1C0vNcVr+sYvmLvBWFV/XOr7yDBTW17Ohxfkv6W0=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-openid-connect";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
index 0695b01d955..4c23355b301 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-prometheus/default.nix
@@ -6,8 +6,8 @@
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-prometheus";
-    rev = "d71565f7ee4d3fe5cef8c8831a20cec5e52a1367";
-    sha256 = "sha256-Zn/ZzbMyHImQ9vc7KJI2gtVKYyqbWOZWK3qg7BK0xxQ=";
+    rev = "1c3e2d75c33a0ed8563977d7c4919e3d06788dcd";
+    sha256 = "sha256-tj/IYUjuUs6foV4goIm+HACccmHjAiI1/EAOKibwUMs=";
   };
 
   patches = [
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
index 13976649bfc..5ba948cf1d1 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-saved-searches/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-saved-searches";
-    rev = "a10f2eb7ccbf3be037144978d0aa36d8fa44115b";
-    sha256 = "sha256-WIqju9JUy3bij2iHHjWv/+TfODev5icYNYS5kRruLcc=";
+    rev = "baf1ab94317129d2ff2eb4e5e6d84fa76c40797c";
+    sha256 = "sha256-6NP9TK5Wx0LPX0ZFIiaEEYJv3d9WIQ26nvODk0dU2I0=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-saved-searches";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
index b90c5406696..8d0c1b07d96 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-solved/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-solved";
-    rev = "d7c8c95f2dbc7fa94b09d2590d70558346f6e81e";
-    sha256 = "sha256-utuv7JL/WJU48TE0+RIRoUpIFrcUpQGvPzfIXA2ZCL8=";
+    rev = "922ca15fc92bfab496088b5ee240982bd8404f28";
+    sha256 = "sha256-s7XNRLDXnrsoB7FUgGaYIVfd7iO3ittIBoqSo2UaUTY=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-solved";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
index 351f41b192c..e97f1bfd06c 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-spoiler-alert/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-spoiler-alert";
-    rev = "0cbbaa20f5bf097a0d4ec1361534f97e4b7e1604";
-    sha256 = "sha256-FpA1+ZC5rInUkCrWMU3HU9Hmi/58f/OrfmeXd5nowvU=";
+    rev = "5afbcb905fa2c8cb8b7156ab5df3af27d6e6b477";
+    sha256 = "sha256-/Y5ATVSnJ3hMNiiqqYJzitgkQ/2zbWLaPdII9agTa10=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-spoiler-alert";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
index df787e3835d..4efe8aabcdc 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-voting/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-voting";
-    rev = "5011df324caaa89433f089bb9d9cfdf919457b11";
-    sha256 = "sha256-2iPbC/nvTmJ8heqX1C8sfNnkTeO6jHn+gzEraAdJvMg=";
+    rev = "6a4b2a306928191c9ef9f3efdafeb9b4df496bcb";
+    sha256 = "sha256-OAn+NS64BcOlhmFYXV0Bq+O1B4a9FKHyN44vbHSax3Y=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-voting";
diff --git a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
index 82a34bedf2b..a03bf7b8cdd 100644
--- a/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
+++ b/pkgs/servers/web-apps/discourse/plugins/discourse-yearly-review/default.nix
@@ -5,8 +5,8 @@ mkDiscoursePlugin {
   src = fetchFromGitHub {
     owner = "discourse";
     repo = "discourse-yearly-review";
-    rev = "69a6c2ca39a41d88ff07ebd7c38c082082415dc9";
-    sha256 = "sha256-jrpKjINnAxfkMdK89b0OyKkgivIC4L/aL5qU4XZdgnk=";
+    rev = "5e3674201a32bf9e6c22417395bc2e052d9f217d";
+    sha256 = "sha256-gkQGLJegWTSwzpjrHPYK5/Uz4QjLUCLd6OuEIRYeP/I=";
   };
   meta = with lib; {
     homepage = "https://github.com/discourse/discourse-yearly-review";
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
index 7acfba36ad1..e9964e0340c 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/Gemfile.lock
@@ -83,7 +83,7 @@ GEM
     bootsnap (1.9.4)
       msgpack (~> 1.0)
     builder (3.2.4)
-    bullet (7.0.0)
+    bullet (7.0.1)
       activesupport (>= 3.0.0)
       uniform_notifier (~> 1.11)
     byebug (11.1.3)
@@ -132,7 +132,7 @@ GEM
     excon (0.89.0)
     execjs (2.8.1)
     exifr (1.3.9)
-    fabrication (2.23.1)
+    fabrication (2.24.0)
     faker (2.19.0)
       i18n (>= 1.6, < 2)
     fakeweb (1.3.0)
@@ -202,7 +202,7 @@ GEM
     jwt (2.3.0)
     kgio (2.11.4)
     libv8-node (16.10.0.0)
-    listen (3.7.0)
+    listen (3.7.1)
       rb-fsevent (~> 0.10, >= 0.10.3)
       rb-inotify (~> 0.9, >= 0.9.10)
     literate_randomizer (0.4.0)
@@ -357,7 +357,7 @@ GEM
       rspec-mocks (~> 3.10.0)
     rspec-core (3.10.1)
       rspec-support (~> 3.10.0)
-    rspec-expectations (3.10.1)
+    rspec-expectations (3.10.2)
       diff-lcs (>= 1.2.0, < 2.0)
       rspec-support (~> 3.10.0)
     rspec-html-matchers (0.9.4)
@@ -382,9 +382,9 @@ GEM
       json-schema (~> 2.2)
       railties (>= 3.1, < 7.0)
     rtlit (0.0.5)
-    rubocop (1.24.1)
+    rubocop (1.25.0)
       parallel (~> 1.10)
-      parser (>= 3.0.0.0)
+      parser (>= 3.1.0.0)
       rainbow (>= 2.2.2, < 4.0)
       regexp_parser (>= 1.8, < 3.0)
       rexml
diff --git a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
index 7ed5b54e30a..9b5fbfca4a8 100644
--- a/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
+++ b/pkgs/servers/web-apps/discourse/rubyEnv/gemset.nix
@@ -273,10 +273,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0w3jk595azcc9fvklrk2klkljwhgzjhnns7l5iqhnafvr8q60xnr";
+      sha256 = "0q90zk8di7a12by3d81nl78yy90rdml77vi3waxmgzqhvs6na4vj";
       type = "gem";
     };
-    version = "7.0.0";
+    version = "7.0.1";
   };
   byebug = {
     groups = ["development" "test"];
@@ -603,10 +603,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1i4pcqmf8q0gkjzhndcbzgg8bg4rkvbpp2gapnqxc8j8gcxzi1fi";
+      sha256 = "09b6gyqf76iflxh9v69k59xhxmrx1akdp2mbg8k8nb5rxy0sz0v6";
       type = "gem";
     };
-    version = "2.23.1";
+    version = "2.24.0";
   };
   faker = {
     dependencies = ["i18n"];
@@ -1059,10 +1059,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ncfhdkjiwq9l1pm87ax2pa20kz2j0dz56vi74cnr5a6cfk0qb5p";
+      sha256 = "0agybr37wpjv3xy4ipcmsvsibgdgphzrwbvcj4vfiykpmakwm01v";
       type = "gem";
     };
-    version = "3.7.0";
+    version = "3.7.1";
   };
   literate_randomizer = {
     groups = ["default" "development"];
@@ -1955,10 +1955,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sz9bj4ri28adsklnh257pnbq4r5ayziw02qf67wry0kvzazbb17";
+      sha256 = "1qrj2j9jcd3m4aksk4kbv439882yl3z1harv2jrybrgjgdzdz7zs";
       type = "gem";
     };
-    version = "3.10.1";
+    version = "3.10.2";
   };
   rspec-html-matchers = {
     dependencies = ["nokogiri" "rspec"];
@@ -2041,10 +2041,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1sn7ag295blmhpwv6x472m3fd0n25swz9imqwpk0hg21rdcdw7p0";
+      sha256 = "141ff5mdqi8an8q00qw8kchzil7ck2dzalkk3vk176l0s6hljcbj";
       type = "gem";
     };
-    version = "1.24.1";
+    version = "1.25.0";
   };
   rubocop-ast = {
     dependencies = ["parser"];
diff --git a/pkgs/servers/web-apps/galene/default.nix b/pkgs/servers/web-apps/galene/default.nix
index 0ae5523c35a..bbc41acf52e 100644
--- a/pkgs/servers/web-apps/galene/default.nix
+++ b/pkgs/servers/web-apps/galene/default.nix
@@ -2,16 +2,19 @@
 
 buildGoModule rec {
   pname = "galene";
-  version = "0.3.5";
+  version = "0.4.4";
 
   src = fetchFromGitHub {
     owner = "jech";
     repo = "galene";
     rev = "galene-${version}";
-    sha256 = "sha256-CqwxHLXhiBYPS+93/MycS2IR//31puhI+oSpMS/jR1s=";
+    hash = "sha256-5ngX9VakQlcAVGDQ1R62oNfChGPjbu48ILFA3pBqP7k=";
   };
 
-  vendorSha256 = "sha256-Vm7tTTQJyZZVbORl5ziy4GJ34kHh5dh0ojX/ZuTpshA=";
+  vendorSha256 = "0rkn6lpy4n5ra1jy3m0ysdjpwh3hq2z4xwda2pzvp99sgszxl5g3";
+
+  ldflags = [ "-s" "-w" ];
+  preCheck = "export TZ=UTC";
 
   outputs = [ "out" "static" ];
 
@@ -23,6 +26,7 @@ buildGoModule rec {
   meta = with lib; {
     description = "Videoconferencing server that is easy to deploy, written in Go";
     homepage = "https://github.com/jech/galene";
+    changelog = "https://github.com/jech/galene/raw/galene-${version}/CHANGES";
     license = licenses.mit;
     platforms = platforms.linux;
     maintainers = with maintainers; [ rgrunbla ];
diff --git a/pkgs/servers/web-apps/jitsi-meet/default.nix b/pkgs/servers/web-apps/jitsi-meet/default.nix
index b2c5f56393b..d63fe819237 100644
--- a/pkgs/servers/web-apps/jitsi-meet/default.nix
+++ b/pkgs/servers/web-apps/jitsi-meet/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "jitsi-meet";
-  version = "1.0.5675";
+  version = "1.0.5818";
 
   src = fetchurl {
     url = "https://download.jitsi.org/jitsi-meet/src/jitsi-meet-${version}.tar.bz2";
-    sha256 = "pwt1R/LkTCUtAi/LhidU6wvhrRCVo5N8EYBT/qnkMew=";
+    sha256 = "oVZoYEkYQd8dy1m0+1i/uIQ/gRipvJBXmgYphbBhicY=";
   };
 
   dontBuild = true;
diff --git a/pkgs/servers/web-apps/matomo/change-path-geoip2.patch b/pkgs/servers/web-apps/matomo/change-path-geoip2.patch
new file mode 100644
index 00000000000..c8840db42e7
--- /dev/null
+++ b/pkgs/servers/web-apps/matomo/change-path-geoip2.patch
@@ -0,0 +1,10 @@
+--- a/plugins/GeoIp2/config/config.php
++++ b/plugins/GeoIp2/config/config.php
+@@ -1,5 +1,5 @@
+ <?php
+ 
+ return [
+-    'path.geoip2' => DI\string('{path.root}/misc/'),
++    'path.geoip2' => PIWIK_USER_PATH . '/misc/',
+ ];
+\ Pas de fin de ligne à la fin du fichier
diff --git a/pkgs/servers/web-apps/matomo/default.nix b/pkgs/servers/web-apps/matomo/default.nix
index ad8dc85f70f..aa371223cf0 100644
--- a/pkgs/servers/web-apps/matomo/default.nix
+++ b/pkgs/servers/web-apps/matomo/default.nix
@@ -32,14 +32,19 @@ let
 
         nativeBuildInputs = [ makeWrapper ];
 
-        # make-localhost-default-database-server.patch:
-        #   This changes the default value of the database server field
-        #   from 127.0.0.1 to localhost.
-        #   unix socket authentication only works with localhost,
-        #   but password-based SQL authentication works with both.
-        # TODO: is upstream interested in this?
-        # -> discussion at https://github.com/matomo-org/matomo/issues/12646
-        patches = [ ./make-localhost-default-database-host.patch ];
+        patches = [
+          # This changes the default value of the database server field
+          # from 127.0.0.1 to localhost.
+          # unix socket authentication only works with localhost,
+          # but password-based SQL authentication works with both.
+          # TODO: is upstream interested in this?
+          # -> discussion at https://github.com/matomo-org/matomo/issues/12646
+          ./make-localhost-default-database-host.patch
+
+          # This changes the default config for path.geoip2 so that it doesn't point
+          # to the nix store.
+          ./change-path-geoip2.patch
+        ];
 
         # this bootstrap.php adds support for getting PIWIK_USER_PATH
         # from an environment variable. Point it to a mutable location
@@ -73,6 +78,7 @@ let
           "misc/composer/build-xhprof.sh"
           "misc/composer/clean-xhprof.sh"
           "misc/cron/archive.sh"
+          "plugins/GeoIp2/config/config.php"
           "plugins/Installation/FormDatabaseSetup.php"
           "vendor/pear/archive_tar/sync-php4"
           "vendor/szymach/c-pchart/coverage.sh"
diff --git a/pkgs/servers/web-apps/moodle/default.nix b/pkgs/servers/web-apps/moodle/default.nix
index 35c519c16fa..0df0b83109a 100644
--- a/pkgs/servers/web-apps/moodle/default.nix
+++ b/pkgs/servers/web-apps/moodle/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, writeText, plugins ? [ ] }:
 
 let
-  version = "3.11.4";
+  version = "3.11.5";
   stableVersion = lib.concatStrings (lib.take 2 (lib.splitVersion version));
 
 in stdenv.mkDerivation rec {
@@ -10,7 +10,7 @@ in stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "https://download.moodle.org/stable${stableVersion}/${pname}-${version}.tgz";
-    sha256 = "sha256-OPTImFgXuRK7bxK8KCan68/5D43qUOEK+TcC/9VQxu8=";
+    sha256 = "sha256-KFitrMThEcx7pU/+jmP8casEyg6/FlhpvjfIjf31vw0=";
   };
 
   phpConfig = writeText "config.php" ''
diff --git a/pkgs/servers/web-apps/rss-bridge/default.nix b/pkgs/servers/web-apps/rss-bridge/default.nix
index 649b76f871c..89398a9edbe 100644
--- a/pkgs/servers/web-apps/rss-bridge/default.nix
+++ b/pkgs/servers/web-apps/rss-bridge/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rss-bridge";
-  version = "2021-04-25";
+  version = "2022-01-20";
 
   src = fetchFromGitHub {
     owner = "RSS-Bridge";
     repo = "rss-bridge";
     rev = version;
-    sha256 = "0dkw8xq710q0wclyr003357gk0vgb5pmpcx75k13pv56c3mrg9vm";
+    sha256 = "sha256-wQW6U24TMnRxQ9zxdq8cMzO0OGX/re065YDhl1AbwO8=";
   };
 
   postPatch = ''
diff --git a/pkgs/servers/web-apps/shiori/default.nix b/pkgs/servers/web-apps/shiori/default.nix
index b39d7a00ced..3da93fb28d0 100644
--- a/pkgs/servers/web-apps/shiori/default.nix
+++ b/pkgs/servers/web-apps/shiori/default.nix
@@ -2,9 +2,9 @@
 
 buildGoModule rec {
   pname = "shiori";
-  version = "1.5.0";
+  version = "1.5.1";
 
-  vendorSha256 = "1ik5faysc880kz7nymvbmjj006l1fsqfy76036szwzg314v78643";
+  vendorSha256 = "sha256-6XF4wBwoRnINAskhGHTw4eAJ9zAaoZcEYo9/xZk4ems=";
 
   doCheck = false;
 
@@ -12,7 +12,7 @@ buildGoModule rec {
     owner = "go-shiori";
     repo = pname;
     rev = "v${version}";
-    sha256 = "13and7gh2882khqppwz3wwq44p7az4bfdfjvlnqcpqyi8xa28pmq";
+    sha256 = "sha256-ulq2Uy0NFzGTIHqbA/LiUaXzlYYPbswDm9uiLYzxx+k=";
   };
 
   meta = with lib; {
diff --git a/pkgs/servers/web-apps/wallabag/default.nix b/pkgs/servers/web-apps/wallabag/default.nix
index c3c0eb50785..6730608f707 100644
--- a/pkgs/servers/web-apps/wallabag/default.nix
+++ b/pkgs/servers/web-apps/wallabag/default.nix
@@ -1,18 +1,28 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
+{ lib
+, stdenv
+, fetchurl
+}:
+
+# Point the environment variable $WALLABAG_DATA to a data directory
+# that contains the folder `app/config` which must be a clone of
+# wallabag's configuration files with your customized `parameters.yml`.
+# These need to be updated every package upgrade.
+#
+# After a package upgrade, empty the `var/cache` folder or unexpected
+# error will occur.
+
+let
   pname = "wallabag";
-  version = "2.4.2";
-
-  # remember to rm -r var/cache/* after a rebuild or unexpected errors will occur
+  version = "2.4.3";
+in
+stdenv.mkDerivation {
+  inherit pname version;
 
   src = fetchurl {
     url = "https://static.wallabag.org/releases/wallabag-release-${version}.tar.gz";
-    sha256 = "1n39flqqqjih0lc86vxdzbp44x4rqj5292if2fsa8y1xxlvyqmns";
+    hash = "sha256-u6TflAzxoaxjLhNMv5ua+NPBv4kxGycgz2QXnhtDHTo=";
   };
 
-  outputs = [ "out" ];
-
   patches = [
     ./wallabag-data.patch # exposes $WALLABAG_DATA
   ];
@@ -20,22 +30,21 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
-    mkdir $out/
+    mkdir $out
     cp -R * $out/
   '';
 
   meta = with lib; {
-    description = "Web page archiver";
+    description = "wallabag is a self hostable application for saving web pages";
     longDescription = ''
-      wallabag is a self hostable application for saving web pages.
-
-      Point the environment variable $WALLABAG_DATA to a data directory that contains the folder `app/config` which must be a clone of wallabag's configuration files with your customized `parameters.yml`. These need to be updated every package upgrade.
-      After a package upgrade, empty the `var/cache` folder.
+      wallabag is a self-hostable PHP application allowing you to not
+      miss any content anymore. Click, save and read it when you can.
+      It extracts content so that you can read it when you have time.
     '';
     license = licenses.mit;
     homepage = "http://wallabag.org";
+    changelog = "https://github.com/wallabag/wallabag/releases/tag/${version}";
     maintainers = with maintainers; [ schneefux ];
     platforms = platforms.all;
   };
 }
-
diff --git a/pkgs/servers/web-apps/wordpress/default.nix b/pkgs/servers/web-apps/wordpress/default.nix
index b3888b7b32a..343a1c345c6 100644
--- a/pkgs/servers/web-apps/wordpress/default.nix
+++ b/pkgs/servers/web-apps/wordpress/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "wordpress";
-  version = "5.8.3";
+  version = "5.9";
 
   src = fetchurl {
     url = "https://wordpress.org/${pname}-${version}.tar.gz";
-    sha256 = "sha256-1OuhoP+QRZrbdThI/npWbOchLR3MnrH7+lFRf5oVPaU=";
+    sha256 = "sha256-RVg45GvS0wqEka6b0lv3Acgu1p28fImAbioTCGjG/7c=";
   };
 
   installPhase = ''
diff --git a/pkgs/servers/xmpp/prosody/default.nix b/pkgs/servers/xmpp/prosody/default.nix
index 1e60f430586..5d0ed06b5ae 100644
--- a/pkgs/servers/xmpp/prosody/default.nix
+++ b/pkgs/servers/xmpp/prosody/default.nix
@@ -5,6 +5,7 @@
 , withDBI ? true
 # use withExtraLibs to add additional dependencies of community modules
 , withExtraLibs ? [ ]
+, withExtraLuaPackages ? _: [ ]
 , withOnlyInstalledCommunityModules ? [ ]
 , withCommunityModules ? [ ] }:
 
@@ -17,6 +18,7 @@ let
     ]
     ++ lib.optional withLibevent p.luaevent
     ++ lib.optional withDBI p.luadbi
+    ++ withExtraLuaPackages p
   );
 in
 stdenv.mkDerivation rec {
@@ -63,23 +65,26 @@ stdenv.mkDerivation rec {
     make -C tools/migration
   '';
 
+  luaEnvPath = lua.pkgs.lib.genLuaPathAbsStr luaEnv;
+  luaEnvCPath = lua.pkgs.lib.genLuaCPathAbsStr luaEnv;
+
   # the wrapping should go away once lua hook is fixed
   postInstall = ''
       ${concatMapStringsSep "\n" (module: ''
         cp -r $communityModules/mod_${module} $out/lib/prosody/modules/
       '') (lib.lists.unique(nixosModuleDeps ++ withCommunityModules ++ withOnlyInstalledCommunityModules))}
       wrapProgram $out/bin/prosody \
-        --prefix LUA_PATH ';' "$LUA_PATH" \
-        --prefix LUA_CPATH ';' "$LUA_CPATH"
+        --set LUA_PATH "$luaEnvPath" \
+        --set LUA_CPATH "$luaEnvCPath"
       wrapProgram $out/bin/prosodyctl \
         --add-flags '--config "/etc/prosody/prosody.cfg.lua"' \
-        --prefix LUA_PATH ';' "$LUA_PATH" \
-        --prefix LUA_CPATH ';' "$LUA_CPATH"
+        --set LUA_PATH "$luaEnvPath" \
+        --set LUA_CPATH "$luaEnvCPath"
 
       make -C tools/migration install
       wrapProgram $out/bin/prosody-migrator \
-        --prefix LUA_PATH ';' "$LUA_PATH" \
-        --prefix LUA_CPATH ';' "$LUA_CPATH"
+        --set LUA_PATH "$luaEnvPath" \
+        --set LUA_CPATH "$luaEnvCPath"
     '';
 
   passthru = {
diff --git a/pkgs/shells/bash/5.1.nix b/pkgs/shells/bash/5.1.nix
index efa90b0499e..3a11858747e 100644
--- a/pkgs/shells/bash/5.1.nix
+++ b/pkgs/shells/bash/5.1.nix
@@ -124,6 +124,8 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
 
     maintainers = with maintainers; [ dtzWill ];
+
+    mainProgram = "bash";
   };
 
   passthru = {
diff --git a/pkgs/shells/bash/nix-bash-completions/default.nix b/pkgs/shells/bash/nix-bash-completions/default.nix
index 2e8b49385fb..089e5dfc702 100644
--- a/pkgs/shells/bash/nix-bash-completions/default.nix
+++ b/pkgs/shells/bash/nix-bash-completions/default.nix
@@ -14,6 +14,8 @@ stdenv.mkDerivation rec {
   # To enable lazy loading via. bash-completion we need a symlink to the script
   # from every command name.
   installPhase = ''
+    runHook preInstall
+
     commands=$(
       function complete() { shift 2; echo "$@"; }
       shopt -s extglob
@@ -24,6 +26,8 @@ stdenv.mkDerivation rec {
     for c in $commands; do
       ln -s _nix $c
     done
+
+    runHook postInstall
   '';
 
   meta = with lib; {
diff --git a/pkgs/shells/fish/default.nix b/pkgs/shells/fish/default.nix
index cf264f11de8..622521781c1 100644
--- a/pkgs/shells/fish/default.nix
+++ b/pkgs/shells/fish/default.nix
@@ -1,6 +1,7 @@
 { stdenv
 , lib
 , fetchurl
+, fetchpatch
 , coreutils
 , which
 , gnused
@@ -146,6 +147,8 @@ let
       sha256 = "sha256-tbTuGlJpdiy76ZOkvWUH5nXkEAzpu+hCFKXusrGfrok=";
     };
 
+    patches = [ ./tests-pcre2-update.patch ]; # should be included in >= 3.4
+
     # Fix FHS paths in tests
     postPatch = ''
       # src/fish_tests.cpp
@@ -183,6 +186,7 @@ let
 
     nativeBuildInputs = [
       cmake
+      gettext
     ];
 
     buildInputs = [
@@ -197,8 +201,14 @@ let
       "-DMAC_CODESIGN_ID=OFF"
     ];
 
+    # The optional string is kind of an inelegant way to get fish to cross compile.
+    # Fish needs coreutils as a runtime dependency, and it gets put into
+    # CMAKE_PREFIX_PATH, which cmake uses to look up build time programs, so it
+    # was clobbering the PATH. It probably needs to be fixed at a lower level.
     preConfigure = ''
       patchShebangs ./build_tools/git_version_gen.sh
+    '' + lib.optionalString (stdenv.hostPlatform != stdenv.buildPlatform) ''
+      export CMAKE_PREFIX_PATH=
     '';
 
     # Required binaries during execution
diff --git a/pkgs/shells/fish/plugins/fzf-fish.nix b/pkgs/shells/fish/plugins/fzf-fish.nix
index 9fbc09a831d..34676130858 100644
--- a/pkgs/shells/fish/plugins/fzf-fish.nix
+++ b/pkgs/shells/fish/plugins/fzf-fish.nix
@@ -2,13 +2,13 @@
 
 buildFishPlugin rec {
   pname = "fzf.fish";
-  version = "7.4";
+  version = "8.1";
 
   src = fetchFromGitHub {
     owner = "PatrickF1";
     repo = "fzf.fish";
     rev = "v${version}";
-    sha256 = "sha256-dngAKzyD+lmqmxsCSOMViyCgA/+Ve35gLtPS+Lgs8Pc=";
+    sha256 = "sha256-uqYVbRdrcO6StaIim9S8xmb9P67CmXnLEywSeILn4yQ=";
   };
 
   checkInputs = [ fzf fd util-linux ];
diff --git a/pkgs/shells/fish/tests-pcre2-update.patch b/pkgs/shells/fish/tests-pcre2-update.patch
new file mode 100644
index 00000000000..5e0c327c540
--- /dev/null
+++ b/pkgs/shells/fish/tests-pcre2-update.patch
@@ -0,0 +1,7 @@
+Adapted formating to 3.3.1 from
+https://github.com/fish-shell/fish-shell/commit/ec8844d834cc9fe626e9fc326c6f5410341d532a
+--- a/src/fish_tests.cpp
++++ b/src/fish_tests.cpp
+@@ -5726,2 +5725,0 @@
+-        {{L"string", L"match", L"-r", L"(?=ab\\K)", L"ab", 0}, STATUS_CMD_OK, L"\n"},
+-        {{L"string", L"match", L"-r", L"(?=ab\\K)..(?=cd\\K)", L"abcd", 0}, STATUS_CMD_OK, L"\n"},
diff --git a/pkgs/shells/liquidprompt/default.nix b/pkgs/shells/liquidprompt/default.nix
index c4a9fa14131..8575f6439b9 100644
--- a/pkgs/shells/liquidprompt/default.nix
+++ b/pkgs/shells/liquidprompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "liquidprompt";
-  version = "2.0.3";
+  version = "2.0.4";
 
   src = fetchFromGitHub {
     owner = "nojhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BY0/lcBxcfIgKXbXZjiEgVdugmo8vD6UWGsjEVq6j6E=";
+    sha256 = "sha256-ntCfXJUOQqL63HWoG+WJr9a+qB16AaL5zf58039t7GU=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/nushell/default.nix b/pkgs/shells/nushell/default.nix
index 313c067de7d..51261ac1de8 100644
--- a/pkgs/shells/nushell/default.nix
+++ b/pkgs/shells/nushell/default.nix
@@ -18,16 +18,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "nushell";
-  version = "0.43.0";
+  version = "0.44.0";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-LSKddSDmXKRnD6PuCPCg/AUMj5y1lzFD24aqVrP7NjU=";
+    sha256 = "sha256-LMG72XfDHA9dKiBbaB09v0rDdUKRy/Czu/lsYw6jUog=";
   };
 
-  cargoSha256 = "sha256-gVjOsRDL7u3bXqmHVaqfQnPfGw9Qny4ETRYyhwyEoI0=";
+  cargoSha256 = "sha256-wgaRTf+ZQ7alibCdeCjSQhhR9MC77qM1n0jakDgr114=";
 
   nativeBuildInputs = [ pkg-config ]
     ++ lib.optionals (withExtraFeatures && stdenv.isLinux) [ python3 ];
diff --git a/pkgs/shells/oil/default.nix b/pkgs/shells/oil/default.nix
index 522acd29327..516d4c43f6f 100644
--- a/pkgs/shells/oil/default.nix
+++ b/pkgs/shells/oil/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "oil";
-  version = "0.9.7";
+  version = "0.9.8";
 
   src = fetchurl {
     url = "https://www.oilshell.org/download/oil-${version}.tar.xz";
-    sha256 = "sha256-JtuCQM7uh4tmZrSwJj1Oh3hUzQKqKFxxWS11CDbvl+o=";
+    sha256 = "sha256-OsrxfJ5dF9Anpg1r6Hj+aD194l99X9Yh4vIZ+R+aH8E=";
   };
 
   postPatch = ''
diff --git a/pkgs/shells/rush/default.nix b/pkgs/shells/rush/default.nix
index bdb8f7ce095..d840c3b77a5 100644
--- a/pkgs/shells/rush/default.nix
+++ b/pkgs/shells/rush/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "rush";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "17i4mggr3rnfz0xbhqvd86jqva40c535fhlwkb2l4hjcbpg8blcf";
+    sha256 = "sha256-ld5TdpF7siprQCbhE4oxYhH40x3QZ5NCQlD3zRaNmM0=";
   };
 
   doCheck = true;
diff --git a/pkgs/shells/zsh/pure-prompt/default.nix b/pkgs/shells/zsh/pure-prompt/default.nix
index d95ef343c17..09be79d6fbc 100644
--- a/pkgs/shells/zsh/pure-prompt/default.nix
+++ b/pkgs/shells/zsh/pure-prompt/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "pure-prompt";
-  version = "1.18.0";
+  version = "1.20.1";
 
   src = fetchFromGitHub {
     owner = "sindresorhus";
     repo = "pure";
     rev = "v${version}";
-    sha256 = "1aa8aczfvclrnd0igiq48jyq4b8fdwvaaj84nzb6w6sjahzs5jcy";
+    sha256 = "sha256-iuLi0o++e0PqK81AKWfIbCV0CTIxq2Oki6U2oEYsr68=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/spaceship-prompt/default.nix b/pkgs/shells/zsh/spaceship-prompt/default.nix
index 4df472e4afd..9c3843a7cef 100644
--- a/pkgs/shells/zsh/spaceship-prompt/default.nix
+++ b/pkgs/shells/zsh/spaceship-prompt/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "spaceship-prompt";
-  version = "3.15.0";
+  version = "3.16.3";
 
   src = fetchFromGitHub {
     owner = "denysdovhan";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-/9c4o9tdXtDefZ1fA62Y9Sg2cv54YVZGlZ1n6EfQWC4=";
+    sha256 = "sha256-eIvNfs9c8Ftcnbtg7lNNc2d3OWWpse91yTzcLqoeFqI=";
   };
 
   dontBuild = true;
diff --git a/pkgs/shells/zsh/zsh-autocomplete/default.nix b/pkgs/shells/zsh/zsh-autocomplete/default.nix
index a58a941189c..14ea0ec8f63 100644
--- a/pkgs/shells/zsh/zsh-autocomplete/default.nix
+++ b/pkgs/shells/zsh/zsh-autocomplete/default.nix
@@ -2,13 +2,13 @@
 
 stdenvNoCC.mkDerivation rec {
   pname = "zsh-autocomplete";
-  version = "21.09.22";
+  version = "22.01.21";
 
   src = fetchFromGitHub {
     owner = "marlonrichert";
     repo = "zsh-autocomplete";
     rev = version;
-    sha256 = "sha256-c4+5ta0ATuy9hIygSnqaquHf+YIStvHMaABwq3qyru8=";
+    sha256 = "sha256-+UziTYsjgpiumSulrLojuqHtDrgvuG91+XNiaMD7wIs=";
   };
 
   installPhase = ''
diff --git a/pkgs/shells/zsh/zsh-fzf-tab/default.nix b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
index 4fc092330e3..6d8ea1a9de9 100644
--- a/pkgs/shells/zsh/zsh-fzf-tab/default.nix
+++ b/pkgs/shells/zsh/zsh-fzf-tab/default.nix
@@ -4,13 +4,13 @@ let
   INSTALL_PATH="${placeholder "out"}/share/fzf-tab";
 in stdenv.mkDerivation rec {
   pname = "zsh-fzf-tab";
-  version = "unstable-2021-11-12";
+  version = "unstable-2022-02-10";
 
   src = fetchFromGitHub {
     owner = "Aloxaf";
     repo = "fzf-tab";
-    rev = "190500bf1de6a89416e2a74470d3b5cceab102ba";
-    sha256 = "1dipsy0s67fr47ig5559bcp1h5yn8rdjshhs8zsq7j8plvvh99qb";
+    rev = "e8145d541a35d8a03df49fbbeefa50c4a0076bbf";
+    sha256 = "h/3XP/BiNnUgQI29gEBl6RFee77WDhFyvsnTi1eRbKg=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
index 419863044b5..19d3e70c0a3 100644
--- a/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
+++ b/pkgs/shells/zsh/zsh-powerlevel10k/default.nix
@@ -7,25 +7,25 @@ let
   # match gitstatus version with given `gitstatus_version`:
   # https://github.com/romkatv/powerlevel10k/blob/master/gitstatus/build.info
   gitstatus = pkgs.gitstatus.overrideAttrs (oldAtttrs: rec {
-    version = "1.5.1";
+    version = "1.5.3";
 
     src = fetchFromGitHub {
       owner = "romkatv";
       repo = "gitstatus";
       rev = "v${version}";
-      sha256 = "1ffgh5826985phc8amvzl9iydvsnij5brh4gczfh201vfmw9d4hh";
+      sha256 = "17giwdjrsmr71xskxxf506n8kaab8zx77fv267fx37ifi57nffk5";
     };
   });
 in
 stdenv.mkDerivation rec {
   pname = "powerlevel10k";
-  version = "1.15.0";
+  version = "1.16.1";
 
   src = fetchFromGitHub {
     owner = "romkatv";
     repo = "powerlevel10k";
     rev = "v${version}";
-    sha256 = "1b3j2riainx3zz4irww72z0pb8l8ymnh1903zpsy5wmjgb0wkcwq";
+    sha256 = "0fkfh8j7rd8mkpgz6nsx4v7665d375266shl1aasdad8blgqmf0c";
   };
 
   patches = [
diff --git a/pkgs/stdenv/darwin/make-bootstrap-tools.nix b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
index 49f884cd8b3..9bbdcbf81d5 100644
--- a/pkgs/stdenv/darwin/make-bootstrap-tools.nix
+++ b/pkgs/stdenv/darwin/make-bootstrap-tools.nix
@@ -351,7 +351,8 @@ in rec {
 
       tar xvf ${hello.src}
       cd hello-*
-      ./configure --prefix=$out
+      # stdenv bootstrap tools ship a broken libiconv.dylib https://github.com/NixOS/nixpkgs/issues/158331
+      am_cv_func_iconv=no ./configure --prefix=$out
       make
       make install
 
diff --git a/pkgs/stdenv/generic/setup.sh b/pkgs/stdenv/generic/setup.sh
index 2951813c0f7..0777fa830c1 100644
--- a/pkgs/stdenv/generic/setup.sh
+++ b/pkgs/stdenv/generic/setup.sh
@@ -1,3 +1,5 @@
+# shellcheck shell=bash
+__nixpkgs_setup_set_original=$-
 set -eu
 set -o pipefail
 shopt -s inherit_errexit
@@ -1361,5 +1363,7 @@ runHook userHook
 
 dumpVars
 
-# Disable nounset for nix-shell.
-set +u
+# Restore the original options for nix-shell
+[[ $__nixpkgs_setup_set_original == *e* ]] || set +e
+[[ $__nixpkgs_setup_set_original == *u* ]] || set +u
+unset -v __nixpkgs_setup_set_original
diff --git a/pkgs/test/default.nix b/pkgs/test/default.nix
index b7980c478c6..4110327946d 100644
--- a/pkgs/test/default.nix
+++ b/pkgs/test/default.nix
@@ -67,4 +67,6 @@ with pkgs;
   writers = callPackage ../build-support/writers/test.nix {};
 
   dhall = callPackage ./dhall { };
+
+  makeWrapper = callPackage ./make-wrapper {};
 }
diff --git a/pkgs/test/make-wrapper/default.nix b/pkgs/test/make-wrapper/default.nix
new file mode 100644
index 00000000000..6e70945ee19
--- /dev/null
+++ b/pkgs/test/make-wrapper/default.nix
@@ -0,0 +1,136 @@
+{ lib
+, writeText
+, writeCBin
+, writeShellScript
+, makeWrapper
+, runCommand
+, which
+, ...
+}:
+
+let
+  # Testfiles
+  foofile = writeText "foofile" "foo";
+  barfile = writeText "barfile" "bar";
+
+  # Wrapped binaries
+  wrappedArgv0 = writeCBin "wrapped-argv0" ''
+    #include <stdio.h>
+    #include <stdlib.h>
+
+    void main(int argc, char** argv) {
+      printf("argv0=%s", argv[0]);
+      exit(0);
+    }
+  '';
+  wrappedBinaryVar = writeShellScript "wrapped-var" ''
+    echo "VAR=$VAR"
+  '';
+  wrappedBinaryArgs = writeShellScript "wrapped-args" ''
+    echo "$@"
+  '';
+
+  mkWrapperBinary = { name, args, wrapped ? wrappedBinaryVar }: runCommand name
+    {
+      nativeBuildInputs = [ makeWrapper ];
+    } ''
+    mkdir -p $out/bin
+    makeWrapper "${wrapped}" "$out/bin/${name}" ${lib.escapeShellArgs args}
+  '';
+
+  mkTest = cmd: toExpect: ''
+    output="$(${cmd})"
+    if [[ "$output" != '${toExpect}' ]]; then
+      echo "test failed: the output of ${cmd} was '$output', expected '${toExpect}'"
+      echo "the wrapper contents:"
+      for i in ${cmd}; do
+        if [[ $i =~ ^test- ]]; then
+          cat $(which $i)
+        fi
+      done
+      exit 1
+    fi
+  '';
+in
+runCommand "make-wrapper-test"
+{
+  nativeBuildInputs = [
+    which
+    (mkWrapperBinary { name = "test-argv0"; args = [ "--argv0" "foo" ]; wrapped = "${wrappedArgv0}/bin/wrapped-argv0"; })
+    (mkWrapperBinary { name = "test-set"; args = [ "--set" "VAR" "abc" ]; })
+    (mkWrapperBinary { name = "test-set-default"; args = [ "--set-default" "VAR" "abc" ]; })
+    (mkWrapperBinary { name = "test-unset"; args = [ "--unset" "VAR" ]; })
+    (mkWrapperBinary { name = "test-run"; args = [ "--run" "echo bar" ]; })
+    (mkWrapperBinary { name = "test-run-and-set"; args = [ "--run" "export VAR=foo" "--set" "VAR" "bar" ]; })
+    (mkWrapperBinary { name = "test-args"; args = [ "--add-flags" "abc" ]; wrapped = wrappedBinaryArgs; })
+    (mkWrapperBinary { name = "test-prefix"; args = [ "--prefix" "VAR" ":" "abc" ]; })
+    (mkWrapperBinary { name = "test-suffix"; args = [ "--suffix" "VAR" ":" "abc" ]; })
+    (mkWrapperBinary { name = "test-prefix-and-suffix"; args = [ "--prefix" "VAR" ":" "foo" "--suffix" "VAR" ":" "bar" ]; })
+    (mkWrapperBinary { name = "test-prefix-multi"; args = [ "--prefix" "VAR" ":" "abc:foo:foo" ]; })
+    (mkWrapperBinary { name = "test-suffix-each"; args = [ "--suffix-each" "VAR" ":" "foo bar:def" ]; })
+    (mkWrapperBinary { name = "test-prefix-each"; args = [ "--prefix-each" "VAR" ":" "foo bar:def" ]; })
+    (mkWrapperBinary { name = "test-suffix-contents"; args = [ "--suffix-contents" "VAR" ":" "${foofile} ${barfile}" ]; })
+    (mkWrapperBinary { name = "test-prefix-contents"; args = [ "--prefix-contents" "VAR" ":" "${foofile} ${barfile}" ]; })
+  ];
+}
+  (
+    # --argv0 works
+    mkTest "test-argv0" "argv0=foo"
+
+    # --set works
+    + mkTest "test-set" "VAR=abc"
+    # --set overwrites the variable
+    + mkTest "VAR=foo test-set" "VAR=abc"
+    # --set-default works
+    + mkTest "test-set-default" "VAR=abc"
+    # --set-default doesn"t overwrite the variable
+    + mkTest "VAR=foo test-set-default" "VAR=foo"
+    # --unset works
+    + mkTest "VAR=foo test-unset" "VAR="
+
+    # --add-flags works
+    + mkTest "test-args" "abc"
+    # given flags are appended
+    + mkTest "test-args foo" "abc foo"
+
+    # --run works
+    + mkTest "test-run" "bar\nVAR="
+    # --run & --set works
+    + mkTest "test-run-and-set" "VAR=bar"
+
+    # --prefix works
+    + mkTest "VAR=foo test-prefix" "VAR=abc:foo"
+    # sets variable if not set yet
+    + mkTest "test-prefix" "VAR=abc"
+    # prepends value only once
+    + mkTest "VAR=abc test-prefix" "VAR=abc"
+    # Moves value to the front if it already existed
+    + mkTest "VAR=foo:abc test-prefix" "VAR=abc:foo"
+    + mkTest "VAR=abc:foo:bar test-prefix-multi" "VAR=abc:foo:bar"
+    # Doesn't overwrite parts of the string
+    + mkTest "VAR=test:abcde:test test-prefix" "VAR=abc:test:abcde:test"
+    # Only append the value once when given multiple times in a parameter
+    # to makeWrapper
+    + mkTest "test-prefix" "VAR=abc"
+
+
+    # --suffix works
+    + mkTest "VAR=foo test-suffix" "VAR=foo:abc"
+    # sets variable if not set yet
+    + mkTest "test-suffix" "VAR=abc"
+    # adds the same value only once
+    + mkTest "VAR=abc test-suffix" "VAR=abc"
+    + mkTest "VAR=abc:foo test-suffix" "VAR=abc:foo"
+    # --prefix in combination with --suffix
+    + mkTest "VAR=abc test-prefix-and-suffix" "VAR=foo:abc:bar"
+
+    # --suffix-each works
+    + mkTest "VAR=abc test-suffix-each" "VAR=abc:foo:bar:def"
+    # --prefix-each works
+    + mkTest "VAR=abc test-prefix-each" "VAR=bar:def:foo:abc"
+    # --suffix-contents works
+    + mkTest "VAR=abc test-suffix-contents" "VAR=abc:foo:bar"
+    # --prefix-contents works
+    + mkTest "VAR=abc test-prefix-contents" "VAR=bar:foo:abc"
+    + "touch $out"
+  )
diff --git a/pkgs/tools/X11/ckbcomp/default.nix b/pkgs/tools/X11/ckbcomp/default.nix
index 06f87f0a7ae..c7bf1c45b11 100644
--- a/pkgs/tools/X11/ckbcomp/default.nix
+++ b/pkgs/tools/X11/ckbcomp/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ckbcomp";
-  version = "1.205";
+  version = "1.207";
 
   src = fetchFromGitLab {
     domain = "salsa.debian.org";
     owner = "installer-team";
     repo = "console-setup";
     rev = version;
-    sha256 = "sha256-agE+Bspw1JL1R1HvNeWW4xr2m0+H83f/9jk6EjQwxWk=";
+    sha256 = "sha256-pT9dA2sRTozVAYA8VKPlL+AU8r9FABHXp6Pbqa8aSTo=";
   };
 
   buildInputs = [ perl ];
diff --git a/pkgs/tools/X11/find-cursor/default.nix b/pkgs/tools/X11/find-cursor/default.nix
index 3f330c63b0f..c99c86a714e 100644
--- a/pkgs/tools/X11/find-cursor/default.nix
+++ b/pkgs/tools/X11/find-cursor/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "find-cursor";
-  version = "1.7";
+  version = "1.8";
 
   src = fetchFromGitHub {
     owner = "arp242";
     repo = "find-cursor";
     rev = "v${version}";
-    sha256 = "sha256-cFvhoEPDFLw6rsPYUF9gqAFzINewnszJEzxRK064NEU=";
+    sha256 = "sha256-/Dw4bOTCnpCbeI0YJ5DJ9Q2AGBognylUk7xYGn0KIA8=";
   };
 
   nativeBuildInputs = [ installShellFiles git ];
diff --git a/pkgs/tools/X11/opentabletdriver/default.nix b/pkgs/tools/X11/opentabletdriver/default.nix
index 7cfec7aaffc..87fc049a6d5 100644
--- a/pkgs/tools/X11/opentabletdriver/default.nix
+++ b/pkgs/tools/X11/opentabletdriver/default.nix
@@ -100,8 +100,7 @@ buildDotnetModule rec {
       exec = "otd-gui";
       icon = "otd";
       comment = meta.description;
-      type = "Application";
-      categories = "Utility;";
+      categories = [ "Utility" ];
     })
   ];
 
diff --git a/pkgs/tools/X11/xbanish/default.nix b/pkgs/tools/X11/xbanish/default.nix
index 169f87a50f6..9aa7e4f5b02 100644
--- a/pkgs/tools/X11/xbanish/default.nix
+++ b/pkgs/tools/X11/xbanish/default.nix
@@ -1,7 +1,7 @@
 {lib, stdenv, fetchFromGitHub, libX11, libXi, libXt, libXfixes, libXext}:
 
 stdenv.mkDerivation rec {
-  version = "1.7";
+  version = "1.8";
   pname = "xbanish";
 
   buildInputs = [
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
     owner = "jcs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ic5f7zgc32p5g1wxas9y5h8dhik0pvsa8wmn6skdry56gw9vg9q";
+    sha256 = "sha256-jwCoJ2shFGuJHhmXmlw/paFpMl5ARD6e5zDnDZHlsoo=";
   };
 
   makeFlags=[ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/X11/xlayoutdisplay/default.nix b/pkgs/tools/X11/xlayoutdisplay/default.nix
index 16565296e1e..590d71b8f4a 100644
--- a/pkgs/tools/X11/xlayoutdisplay/default.nix
+++ b/pkgs/tools/X11/xlayoutdisplay/default.nix
@@ -1,31 +1,30 @@
-{ lib, stdenv, fetchFromGitHub, xorg, boost, cmake, gtest }:
+{ lib, stdenv, fetchFromGitHub, xorg, boost, gtest }:
 
 stdenv.mkDerivation rec {
   pname = "xlayoutdisplay";
-  version = "1.1.2";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "alex-courtis";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0n3vg25gzwn1pcg6caxyyd1xf2w6n98m6jpxc70kqpxfqldxwl0m";
+    sha256 = "sha256-8K9SoZToJTk/sL4PC4Fcsu9XzGLYfNIZlbIyxc9jf84=";
   };
 
-  nativeBuildInputs = [ cmake ];
   buildInputs = with xorg; [ libX11 libXrandr libXcursor boost ];
   checkInputs = [ gtest ];
 
   doCheck = true;
+  checkTarget = "gtest";
 
-  # format security fixup
+  # Fixup reference to hardcoded boost path, dynamically link as seems fine and we don't have static for this
   postPatch = ''
-    substituteInPlace test/test-Monitors.cpp \
-      --replace 'fprintf(lidStateFile, contents);' \
-                'fputs(contents, lidStateFile);'
-
-    substituteInPlace CMakeLists.txt --replace "set(Boost_USE_STATIC_LIBS ON)" ""
+    substituteInPlace config.mk --replace '/usr/lib/libboost_program_options.a' '-lboost_program_options'
   '';
 
+  makeFlags = [ "PREFIX=${placeholder "out"}" ];
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Detects and arranges linux display outputs, using XRandR for detection and xrandr for arrangement";
     homepage = "https://github.com/alex-courtis/xlayoutdisplay";
diff --git a/pkgs/tools/X11/xpra/default.nix b/pkgs/tools/X11/xpra/default.nix
index 330722898ce..656b9ee6006 100644
--- a/pkgs/tools/X11/xpra/default.nix
+++ b/pkgs/tools/X11/xpra/default.nix
@@ -43,11 +43,11 @@ let
   '';
 in buildPythonApplication rec {
   pname = "xpra";
-  version = "4.3.1";
+  version = "4.3.2";
 
   src = fetchurl {
     url = "https://xpra.org/src/${pname}-${version}.tar.xz";
-    hash = "sha256-v0Abn0oYcl1I4H9GLN1pV9hk9tTE+Wlv2gPTtEE6t6k=";
+    hash = "sha256-CIHVpxZ2qC7Ct5Kmc6dxEzxH9s+63/sI07f9SbCh4a4=";
   };
 
   patches = [
diff --git a/pkgs/tools/X11/xtruss/default.nix b/pkgs/tools/X11/xtruss/default.nix
index 1af1ec925e5..9e2ee94efa4 100644
--- a/pkgs/tools/X11/xtruss/default.nix
+++ b/pkgs/tools/X11/xtruss/default.nix
@@ -1,14 +1,16 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchurl, cmake, halibut }:
 
 stdenv.mkDerivation rec {
   pname = "xtruss";
-  version = "20181001.82973f5";
+  version = "20211025.c25bf48";
 
   src = fetchurl {
     url = "https://www.chiark.greenend.org.uk/~sgtatham/xtruss/${pname}-${version}.tar.gz";
-    sha256 = "1mm8k92zc318jk71wlf2r4rb723nd9lalhjl0pf48raiajb5ifgd";
+    sha256 = "sha256-ikuKHtXEn2UVLE62l7qD9qc9ZUk6jiAqj5ru36vgdHk=";
   };
 
+  nativeBuildInputs = [ cmake halibut ];
+
   meta = with lib; {
     description = "easy-to-use X protocol tracing program";
     homepage = "https://www.chiark.greenend.org.uk/~sgtatham/xtruss";
diff --git a/pkgs/tools/admin/acme-sh/default.nix b/pkgs/tools/admin/acme-sh/default.nix
index f9fda024cf1..5c78b0ee212 100644
--- a/pkgs/tools/admin/acme-sh/default.nix
+++ b/pkgs/tools/admin/acme-sh/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "acme.sh";
-  version = "3.0.1";
+  version = "3.0.2";
 
   src = fetchFromGitHub {
     owner = "acmesh-official";
     repo = "acme.sh";
     rev = version;
-    sha256 = "sha256-CqgaE8SfMPEyr97t/yfh9FqvdRPWIQiu/jkWAvurUyQ=";
+    sha256 = "sha256-sv67XjNQ/+E7uF7IW+96BeOWm3uonMboehVtBh1l9/E=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/admin/afterburn/default.nix b/pkgs/tools/admin/afterburn/default.nix
index 0126d68ed2d..ea97aa5e525 100644
--- a/pkgs/tools/admin/afterburn/default.nix
+++ b/pkgs/tools/admin/afterburn/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "afterburn";
-  version = "5.1.0";
+  version = "5.2.0";
 
   src = fetchFromGitHub {
     owner = "coreos";
     repo = "afterburn";
     rev = "v${version}";
-    sha256 = "sha256-5dzgvoR6qGlVz0RJ1j9B4yna1aCbOczVLcU++GWNEL8=";
+    sha256 = "sha256-Uzkp4G72oarpBnhbgLoh//JW9kg/t2XpNbiZTNxMl/w=";
   };
 
-  cargoSha256 = "sha256-cqipYIH/XHMe7ppsXPVnDfsUqXoIep7CHiOGEPbZK4M=";
+  cargoSha256 = "sha256-92E76QwxeOLp9sfO066L97r2FO/9nQ4DaVyWJrL9L2M=";
 
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ openssl ];
diff --git a/pkgs/tools/admin/aliyun-cli/default.nix b/pkgs/tools/admin/aliyun-cli/default.nix
index 6849aac44c5..bf4fdb97385 100644
--- a/pkgs/tools/admin/aliyun-cli/default.nix
+++ b/pkgs/tools/admin/aliyun-cli/default.nix
@@ -2,14 +2,14 @@
 
 buildGoModule rec {
   pname = "aliyun-cli";
-  version = "3.0.104";
+  version = "3.0.109";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "aliyun";
     repo = pname;
     fetchSubmodules = true;
-    sha256 = "sha256-SxguK71rdNUANYKxXgdrxp7vysj5MP+dPiR0Jwzt5Nc=";
+    sha256 = "sha256-YlJGYt/depabhMPQtS1dwmFSxoThUEXOWi7KSWx7cRo=";
   };
 
   vendorSha256 = "sha256-c7LsCNcxdHwDBEknXJt9AyrmFcem8YtUYy06vNDBdDY=";
diff --git a/pkgs/tools/admin/amazon-ec2-utils/default.nix b/pkgs/tools/admin/amazon-ec2-utils/default.nix
index 2dc91f037a9..f6e92bd5287 100644
--- a/pkgs/tools/admin/amazon-ec2-utils/default.nix
+++ b/pkgs/tools/admin/amazon-ec2-utils/default.nix
@@ -2,36 +2,55 @@
 , lib
 , fetchFromGitHub
 , curl
+, gawk
 , python3
+, installShellFiles
 }:
 stdenv.mkDerivation rec {
   pname = "amazon-ec2-utils";
-  version = "1.3";
+  version = "2.0";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "amazon-ec2-utils";
-    rev = version;
-    hash = "sha256:04dpxaaca144a74r6d93q4lp0d5l32v07rldj7v2v1c6s9nsf4mv";
+    rev = "v${version}";
+    hash = "sha256-u1rHBV8uVcCywvQNYagtDleYB12tmhyqDbXTBzt45dk=";
   };
 
+  outputs = [ "out" "man" ];
+
+  strictDeps = true;
   buildInputs = [
     python3
   ];
-
-  propagatedBuildInputs = [
-    curl
+  nativeBuildInputs = [
+    installShellFiles
   ];
 
   installPhase = ''
-    mkdir -p $out/bin/
+    install -Dm755 -t $out/bin/ ebsnvme-id
+    install -Dm755 -t $out/bin/ ec2-metadata
+    install -Dm755 -t $out/bin/ ec2nvme-nsid
+    install -Dm755 -t $out/bin/ ec2udev-vbd
+
+    install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-hvm-devices.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 51-ec2-xen-vbd-devices.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 53-ec2-read-ahead-kb.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 70-ec2-nvme-devices.rules
+    install -Dm644 -t $out/lib/udev/rules.d/ 60-cdrom_id.rules
+
+    installManPage doc/*.8
+  '';
 
-    cp ebsnvme-id $out/bin/
-    cp ec2-metadata $out/bin/
-    cp ec2udev-vbd $out/bin/
-    cp ec2udev-vcpu $out/bin/
+  postFixup = ''
+    for i in $out/etc/udev/rules.d/*.rules $out/lib/udev/rules.d/*.rules ; do
+      substituteInPlace "$i" \
+        --replace '/usr/sbin' "$out/bin" \
+        --replace '/bin/awk' '${gawk}/bin/awk'
+    done
 
-    chmod +x $out/bin/*
+    substituteInPlace "$out/bin/ec2-metadata" \
+      --replace 'curl' '${curl}/bin/curl'
   '';
 
   doInstallCheck = true;
@@ -48,6 +67,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/aws/amazon-ec2-utils";
     description = "Contains a set of utilities and settings for Linux deployments in EC2";
     license = licenses.mit;
-    maintainers = with maintainers; [ ketzacoatl ];
+    maintainers = with maintainers; [ ketzacoatl thefloweringash ];
   };
 }
diff --git a/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix b/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
index 84372423d61..9528d6e7aee 100644
--- a/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
+++ b/pkgs/tools/admin/aws-lambda-runtime-interface-emulator/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "aws-lambda-runtime-interface-emulator";
-  version = "1.0";
+  version = "1.3";
 
   src = fetchFromGitHub {
     owner = "aws";
     repo = "aws-lambda-runtime-interface-emulator";
     rev = "v${version}";
-    sha256 = "sha256-vbVygZzLlJlxaRF/LIqSJP0gZGyu1wSSdeVjILl/OJE=";
+    sha256 = "sha256-h4T4Go5gzKF1g1jSNZkx5U0icFxEZMYyS4L6cZMTFEY=";
   };
 
-  vendorSha256 = "sha256-WcvYPGgkrK7Zs5IplAoUTay5ys9LrDJHpRN3ywEdWRM=";
+  vendorSha256 = "sha256-ncUtJKJnWiut0ZVKm3MLWKq8eyHrTgv6Nva8xcvvqSI=";
 
   # disabled because I lack the skill
   doCheck = false;
diff --git a/pkgs/tools/admin/aws-nuke/default.nix b/pkgs/tools/admin/aws-nuke/default.nix
index bdb38a45e79..0c12e54d253 100644
--- a/pkgs/tools/admin/aws-nuke/default.nix
+++ b/pkgs/tools/admin/aws-nuke/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "aws-nuke";
-  version = "2.16.0";
+  version = "2.17.0";
 
   src = fetchFromGitHub {
     owner = "rebuy-de";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-8ILjEWr91YMUUN2GMXnS3sRrwGvUsYjDmRnM+fY5PkY=";
+    sha256 = "sha256-e5EtIRIM0Gz2BXGaZx3jiO+MNdD1Eh9h7U+aZSBVFGc=";
   };
 
-  vendorSha256 = "sha256-sAII1RD9CG3Ape9OwD0956atlmaJVzSpRRBdo+ozTuk=";
+  vendorSha256 = "sha256-tRFYZ0GBJDumvfOYMJDcYqTlTn5do3trZ1gXafuDVi4=";
 
   preBuild = ''
     if [ "x$outputHashAlgo" != "x" ]; then
diff --git a/pkgs/tools/admin/aws-vault/default.nix b/pkgs/tools/admin/aws-vault/default.nix
index d4d62cf527d..7462f3506fd 100644
--- a/pkgs/tools/admin/aws-vault/default.nix
+++ b/pkgs/tools/admin/aws-vault/default.nix
@@ -7,16 +7,16 @@
 }:
 buildGoModule rec {
   pname = "aws-vault";
-  version = "6.4.0";
+  version = "6.5.0";
 
   src = fetchFromGitHub {
     owner = "99designs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5cBQFkagDfMb8xvEQgWlVbYp++mXIHl2p5TZuiaO4Rw=";
+    sha256 = "sha256-PYaCbefIglzvBTeFnyz+uQnFxE61cBMWvC3RdV8rq90=";
   };
 
-  vendorSha256 = "sha256-THqVvu5eJs1ZTUQ3JxGIt7IsoMhSkeMNicBGbkPz63A=";
+  vendorSha256 = "sha256-GTP6KqAfESrdrtLkerRLmre2tBkG4CXMcfxL/flgya0=";
 
   nativeBuildInputs = [ installShellFiles makeWrapper ];
 
diff --git a/pkgs/tools/admin/awscli/default.nix b/pkgs/tools/admin/awscli/default.nix
index 49762e3278c..11cf6c53076 100644
--- a/pkgs/tools/admin/awscli/default.nix
+++ b/pkgs/tools/admin/awscli/default.nix
@@ -35,11 +35,11 @@ let
 in
 with py.pkgs; buildPythonApplication rec {
   pname = "awscli";
-  version = "1.22.21"; # N.B: if you change this, change botocore and boto3 to a matching version too
+  version = "1.22.35"; # N.B: if you change this, change botocore and boto3 to a matching version too
 
   src = fetchPypi {
     inherit pname version;
-    hash = "sha256-yzfy6MjXC6LeydLNVXQvcK4UmpVQP/jJ+W2jMgpNMgw=";
+    hash = "sha256-GsMclLh/VtPaNjD+XDKqTYeSX29R2aRS7If9G918OWY=";
   };
 
   # https://github.com/aws/aws-cli/issues/4837
diff --git a/pkgs/tools/admin/awsweeper/default.nix b/pkgs/tools/admin/awsweeper/default.nix
index 7d1935415ab..1b270ad7294 100644
--- a/pkgs/tools/admin/awsweeper/default.nix
+++ b/pkgs/tools/admin/awsweeper/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "awsweeper";
-  version = "0.11.1";
+  version = "0.12.0";
 
   src = fetchFromGitHub {
     owner = "jckuester";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-fpWoLFSwSVxaiWyVMSmQTd3o/zOySUXNM2YhxMQ7nsA=";
+    sha256 = "sha256-5D/4Z8ADlA+4+2EINmP5OfX5exzhfbq2TydPRlJDA6Y=";
   };
 
-  vendorSha256 = "sha256-1u1mzANLlWduAQF1GUX7BJSyYlSZwNQISqKwbyRlGog=";
+  vendorSha256 = "sha256-jzK56x5mzQkD3tSs6X0Z2Zn1OLXFHgWHz0YLZ3m3NS4=";
 
   ldflags = [ "-s" "-w" "-X github.com/jckuester/awsweeper/internal.version=${version}" "-X github.com/jckuester/awsweeper/internal.commit=${src.rev}" "-X github.com/jckuester/awsweeper/internal.date=unknown" ];
 
diff --git a/pkgs/tools/admin/azure-cli/default.nix b/pkgs/tools/admin/azure-cli/default.nix
index 6f6e06db2a0..efd1ecfee3c 100644
--- a/pkgs/tools/admin/azure-cli/default.nix
+++ b/pkgs/tools/admin/azure-cli/default.nix
@@ -29,6 +29,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
       --replace "javaproperties~=0.5.1" "javaproperties" \
       --replace "pytz==2019.1" "pytz" \
       --replace "scp~=0.13.2" "scp" \
+      --replace "PyNaCl~=1.4.0" "PyNaCl" \
       --replace "jsondiff~=1.2.0" "jsondiff~=1.2" \
       --replace "antlr4-python3-runtime~=4.7.2" "antlr4-python3-runtime~=4.7" \
       --replace "mock~=4.0" "mock"
@@ -141,6 +142,7 @@ py.pkgs.toPythonApplication (py.pkgs.buildAzureCliPackage {
     pydocumentdb
     PyGithub
     pygments
+    pynacl
     pyopenssl
     pytz
     pyyaml
diff --git a/pkgs/tools/admin/azure-cli/python-packages.nix b/pkgs/tools/admin/azure-cli/python-packages.nix
index a24aadd80c5..d27805bb257 100644
--- a/pkgs/tools/admin/azure-cli/python-packages.nix
+++ b/pkgs/tools/admin/azure-cli/python-packages.nix
@@ -466,7 +466,8 @@ let
           inherit version;
           sha256 = "sha256-109FuBMXRU2W6YL9HFDm+1yZrCIjcorqh2RDOjn1ZvE=";
         };
-        # sdist lacks tests
+
+        # sdist doesn't provide tests
         doCheck = false;
       });
 
@@ -502,6 +503,16 @@ let
         };
       });
 
+      argcomplete = super.argcomplete.overridePythonAttrs(oldAttrs: rec {
+        version = "1.8.0";
+
+        src = super.fetchPypi {
+          inherit (oldAttrs) pname;
+          inherit version;
+          sha256 = "sha256-SreailmO/AgRBGv3dnj4VkMnbokAzWT5xPEPEQ4QEb0=";
+        };
+      });
+
       sshtunnel = super.sshtunnel.overridePythonAttrs(oldAttrs: rec {
         name = "sshtunnel-${version}";
         version = "0.1.5";
diff --git a/pkgs/tools/admin/certigo/default.nix b/pkgs/tools/admin/certigo/default.nix
index a47c9e239d8..b2324a929a6 100644
--- a/pkgs/tools/admin/certigo/default.nix
+++ b/pkgs/tools/admin/certigo/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "certigo";
-  version = "1.14.1";
+  version = "1.15.0";
 
   src = fetchFromGitHub {
     owner = "square";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-P6xXXY0INB3Eyuxs1LEJlm2NBfMbG/HvlbIKUMAOxZE=";
+    sha256 = "sha256-/9JprUOzCmXoWVj0PFtFW7pRYHiqSPKCaqoTnMLtVPg=";
   };
 
-  vendorSha256 = "sha256-0wul0f8T7E4cXbsNee1j1orUgjrAToqDLgwCjiyii1Y=";
+  vendorSha256 = "sha256-qS/tIi6umSuQcl43SI4LyL0k5eWfRWs7kVybRPGKcbs=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/chamber/default.nix b/pkgs/tools/admin/chamber/default.nix
index 777366e16c0..f0d90cde98a 100644
--- a/pkgs/tools/admin/chamber/default.nix
+++ b/pkgs/tools/admin/chamber/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "chamber";
-  version = "2.10.7";
+  version = "2.10.8";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HpxHGbgPdu92ha0QO15x1rrJikDmpSA8E8YdgjzQ/Mw=";
+    sha256 = "sha256-rU9xywEa9E1VG1CaRGHzjXTL+0erlgP1thDTYBz+oLM=";
   };
 
   CGO_ENABLED = 0;
diff --git a/pkgs/tools/admin/eksctl/default.nix b/pkgs/tools/admin/eksctl/default.nix
index 5e038b70d54..47273cf5ab7 100644
--- a/pkgs/tools/admin/eksctl/default.nix
+++ b/pkgs/tools/admin/eksctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "eksctl";
-  version = "0.82.0";
+  version = "0.84.0";
 
   src = fetchFromGitHub {
     owner = "weaveworks";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nem090YUHi80P2akWRVuswJxhQ5mIP9fHWVAY4k2LFE=";
+    sha256 = "sha256-sHbZHLpRG8x3mTgrg+3htq8PywGe13VYJFdcVxni7Ok=";
   };
 
-  vendorSha256 = "sha256-+G3utnWjAilHx9u9P0DtaDf09UT/VqTe7yO/k5o/zMc=";
+  vendorSha256 = "sha256-as3Q8umRES/XncIZbV4UKZSGvzqHF7ClKBWvnGdkYeg=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/admin/exoscale-cli/default.nix b/pkgs/tools/admin/exoscale-cli/default.nix
index 182e594084e..d6b1933a57c 100644
--- a/pkgs/tools/admin/exoscale-cli/default.nix
+++ b/pkgs/tools/admin/exoscale-cli/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "exoscale-cli";
-  version = "1.49.2";
+  version = "1.49.3";
 
   src = fetchFromGitHub {
     owner  = "exoscale";
     repo   = "cli";
     rev    = "v${version}";
-    sha256 = "sha256-8v+U0h0+3NVSXBlulOKY0A5oDlqkgNZPoyflRNycDxU=";
+    sha256 = "sha256-ANykklex/T7JwZ/G3dB4UPkYx5jSE5AnztGsWHGfL8I=";
   };
 
   goPackagePath = "github.com/exoscale/cli";
diff --git a/pkgs/tools/admin/fits-cloudctl/default.nix b/pkgs/tools/admin/fits-cloudctl/default.nix
index 9f79db85928..71274be69ae 100644
--- a/pkgs/tools/admin/fits-cloudctl/default.nix
+++ b/pkgs/tools/admin/fits-cloudctl/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "fits-cloudctl";
-  version = "0.10.6";
+  version = "0.10.9";
 
   src = fetchFromGitHub {
     owner = "fi-ts";
     repo = "cloudctl";
     rev = "v${version}";
-    sha256 = "sha256-GSdVwpYmJ3VnZaMQ8SjzcHpeefFjSaZXRcUAXEI9PKo=";
+    sha256 = "sha256-FNlbAxU1FiLl74h+BmpAB3+vZ+RgdlpkehsDLhpZ4EE=";
   };
 
-  vendorSha256 = "sha256-4iQxqhXMGeMgHarjVY/rCLr7Am1mniqxTkMxbcp3fGI=";
+  vendorSha256 = "sha256-f35Asf9l6ZfixpjMGzesTsxmANreilMxH2CULMH3b2o=";
 
   meta = with lib; {
     description = "Command-line client for FI-TS Finance Cloud Native services";
diff --git a/pkgs/tools/admin/gixy/default.nix b/pkgs/tools/admin/gixy/default.nix
index 65ca85b463e..03571ac7cf7 100644
--- a/pkgs/tools/admin/gixy/default.nix
+++ b/pkgs/tools/admin/gixy/default.nix
@@ -1,11 +1,26 @@
 { lib, fetchFromGitHub, python3 }:
 
-python3.pkgs.buildPythonApplication rec {
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      pyparsing = super.pyparsing.overridePythonAttrs (oldAttrs: rec {
+        version = "2.4.7";
+        src = fetchFromGitHub {
+          owner = "pyparsing";
+          repo = "pyparsing";
+          rev = "pyparsing_${version}";
+          sha256 = "14pfy80q2flgzjcx8jkracvnxxnr59kjzp3kdm5nh232gk1v6g6h";
+        };
+      });
+    };
+  };
+in
+python.pkgs.buildPythonApplication rec {
   pname = "gixy";
   version = "0.1.20";
 
   # package is only compatible with python 2.7 and 3.5+
-  disabled = with python3.pkgs; !(pythonAtLeast "3.5" || isPy27);
+  disabled = with python.pkgs; !(pythonAtLeast "3.5" || isPy27);
 
   # fetching from GitHub because the PyPi source is missing the tests
   src = fetchFromGitHub {
@@ -19,7 +34,7 @@ python3.pkgs.buildPythonApplication rec {
     sed -ie '/argparse/d' setup.py
   '';
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with python.pkgs; [
     cached-property
     configargparse
     pyparsing
diff --git a/pkgs/tools/admin/lxd/default.nix b/pkgs/tools/admin/lxd/default.nix
index 77120509079..f726e5669e3 100644
--- a/pkgs/tools/admin/lxd/default.nix
+++ b/pkgs/tools/admin/lxd/default.nix
@@ -11,13 +11,13 @@
 
 buildGoPackage rec {
   pname = "lxd";
-  version = "4.22";
+  version = "4.23";
 
   goPackagePath = "github.com/lxc/lxd";
 
   src = fetchurl {
     url = "https://linuxcontainers.org/downloads/lxd/lxd-${version}.tar.gz";
-    sha256 = "119345936fcm1vv06k82k9hvj5yjf9jdrwqm9ccphhl5mswf8xq9";
+    sha256 = "sha256-bPzH9MRirgl3b/wkkYIRhEvryvy/5M2Y9LLPqD4IL8U=";
   };
 
   postPatch = ''
@@ -58,7 +58,7 @@ buildGoPackage rec {
     description = "Daemon based on liblxc offering a REST API to manage containers";
     homepage = "https://linuxcontainers.org/lxd/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ fpletz wucke13 marsam ];
+    maintainers = with maintainers; [ fpletz marsam ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/admin/meshcentral/default.nix b/pkgs/tools/admin/meshcentral/default.nix
index 266eb0e509e..496f478be8a 100644
--- a/pkgs/tools/admin/meshcentral/default.nix
+++ b/pkgs/tools/admin/meshcentral/default.nix
@@ -1,11 +1,11 @@
 { lib, fetchpatch, fetchzip, yarn2nix-moretea, nodejs, jq, dos2unix }:
 
 yarn2nix-moretea.mkYarnPackage rec {
-  version = "0.9.59";
+  version = "0.9.79";
 
   src = fetchzip {
     url = "https://registry.npmjs.org/meshcentral/-/meshcentral-${version}.tgz";
-    sha256 = "05dalrm82mspqrjqb3ya7cjd3vbn1a4wij8cdndfyh0rrbwvglys";
+    sha256 = "17f34ifzdrkbap2hhd0y0rdcn8j0svxzsqw0qhcp3h68z3098hdv";
   };
 
   packageJSON = ./package.json;
diff --git a/pkgs/tools/admin/meshcentral/package.json b/pkgs/tools/admin/meshcentral/package.json
index 9bb3c2feef8..4a0f5bf6137 100644
--- a/pkgs/tools/admin/meshcentral/package.json
+++ b/pkgs/tools/admin/meshcentral/package.json
@@ -1,6 +1,6 @@
 {
   "name": "meshcentral",
-  "version": "0.9.59",
+  "version": "0.9.79",
   "keywords": [
     "Remote Device Management",
     "Remote Device Monitoring",
@@ -47,7 +47,7 @@
     "minimist": "^1.2.5",
     "multiparty": "^4.2.1",
     "@yetzt/nedb": "^1.8.0",
-    "node-forge": "^0.10.0",
+    "node-forge": "^1.0.0",
     "ws": "^5.2.3",
     "yauzl": "^2.10.0"
   },
diff --git a/pkgs/tools/admin/meshcentral/yarn.lock b/pkgs/tools/admin/meshcentral/yarn.lock
index cadd3df7171..219114d50fe 100644
--- a/pkgs/tools/admin/meshcentral/yarn.lock
+++ b/pkgs/tools/admin/meshcentral/yarn.lock
@@ -2,115 +2,123 @@
 # yarn lockfile v1
 
 
-"@babel/code-frame@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz#0dfc80309beec8411e65e706461c408b0bb9b431"
-  integrity sha512-IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==
+"@babel/code-frame@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789"
+  integrity sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==
   dependencies:
-    "@babel/highlight" "^7.16.0"
+    "@babel/highlight" "^7.16.7"
 
-"@babel/generator@^7.16.0", "@babel/generator@^7.4.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2"
-  integrity sha512-RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==
+"@babel/generator@^7.17.0", "@babel/generator@^7.4.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz#7bd890ba706cd86d3e2f727322346ffdbf98f65e"
+  integrity sha512-I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.17.0"
     jsesc "^2.5.1"
     source-map "^0.5.0"
 
-"@babel/helper-function-name@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz#b7dd0797d00bbfee4f07e9c4ea5b0e30c8bb1481"
-  integrity sha512-BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==
+"@babel/helper-environment-visitor@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz#ff484094a839bde9d89cd63cba017d7aae80ecd7"
+  integrity sha512-SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==
   dependencies:
-    "@babel/helper-get-function-arity" "^7.16.0"
-    "@babel/template" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-get-function-arity@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz#0088c7486b29a9cb5d948b1a1de46db66e089cfa"
-  integrity sha512-ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==
+"@babel/helper-function-name@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz#f1ec51551fb1c8956bc8dd95f38523b6cf375f8f"
+  integrity sha512-QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/helper-get-function-arity" "^7.16.7"
+    "@babel/template" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-hoist-variables@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz#4c9023c2f1def7e28ff46fc1dbcd36a39beaa81a"
-  integrity sha512-1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==
+"@babel/helper-get-function-arity@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz#ea08ac753117a669f1508ba06ebcc49156387419"
+  integrity sha512-flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-split-export-declaration@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz#29672f43663e936df370aaeb22beddb3baec7438"
-  integrity sha512-0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==
+"@babel/helper-hoist-variables@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz#86bcb19a77a509c7b77d0e22323ef588fa58c246"
+  integrity sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==
   dependencies:
-    "@babel/types" "^7.16.0"
+    "@babel/types" "^7.16.7"
 
-"@babel/helper-validator-identifier@^7.15.7":
-  version "7.15.7"
-  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389"
-  integrity sha512-K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==
+"@babel/helper-split-export-declaration@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz#0b648c0c42da9d3920d85ad585f2778620b8726b"
+  integrity sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==
+  dependencies:
+    "@babel/types" "^7.16.7"
+
+"@babel/helper-validator-identifier@^7.16.7":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad"
+  integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==
 
-"@babel/highlight@^7.16.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a"
-  integrity sha512-t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==
+"@babel/highlight@^7.16.7":
+  version "7.16.10"
+  resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88"
+  integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.15.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
     chalk "^2.0.0"
     js-tokens "^4.0.0"
 
-"@babel/parser@^7.16.0", "@babel/parser@^7.16.3", "@babel/parser@^7.4.3":
-  version "7.16.4"
-  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz#d5f92f57cf2c74ffe9b37981c0e72fee7311372e"
-  integrity sha512-6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==
+"@babel/parser@^7.16.7", "@babel/parser@^7.17.0", "@babel/parser@^7.4.3":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz#f0ac33eddbe214e4105363bb17c3341c5ffcc43c"
+  integrity sha512-VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==
 
-"@babel/template@^7.16.0", "@babel/template@^7.4.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6"
-  integrity sha512-MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==
+"@babel/template@^7.16.7", "@babel/template@^7.4.0":
+  version "7.16.7"
+  resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz#8d126c8701fde4d66b264b3eba3d96f07666d155"
+  integrity sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==
   dependencies:
-    "@babel/code-frame" "^7.16.0"
-    "@babel/parser" "^7.16.0"
-    "@babel/types" "^7.16.0"
+    "@babel/code-frame" "^7.16.7"
+    "@babel/parser" "^7.16.7"
+    "@babel/types" "^7.16.7"
 
 "@babel/traverse@^7.4.3":
-  version "7.16.3"
-  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz#f63e8a938cc1b780f66d9ed3c54f532ca2d14787"
-  integrity sha512-eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==
-  dependencies:
-    "@babel/code-frame" "^7.16.0"
-    "@babel/generator" "^7.16.0"
-    "@babel/helper-function-name" "^7.16.0"
-    "@babel/helper-hoist-variables" "^7.16.0"
-    "@babel/helper-split-export-declaration" "^7.16.0"
-    "@babel/parser" "^7.16.3"
-    "@babel/types" "^7.16.0"
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz#3143e5066796408ccc880a33ecd3184f3e75cd30"
+  integrity sha512-fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==
+  dependencies:
+    "@babel/code-frame" "^7.16.7"
+    "@babel/generator" "^7.17.0"
+    "@babel/helper-environment-visitor" "^7.16.7"
+    "@babel/helper-function-name" "^7.16.7"
+    "@babel/helper-hoist-variables" "^7.16.7"
+    "@babel/helper-split-export-declaration" "^7.16.7"
+    "@babel/parser" "^7.17.0"
+    "@babel/types" "^7.17.0"
     debug "^4.1.0"
     globals "^11.1.0"
 
-"@babel/types@^7.16.0", "@babel/types@^7.4.0":
-  version "7.16.0"
-  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba"
-  integrity sha512-PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==
+"@babel/types@^7.16.7", "@babel/types@^7.17.0", "@babel/types@^7.4.0":
+  version "7.17.0"
+  resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz#a826e368bccb6b3d84acd76acad5c0d87342390b"
+  integrity sha512-TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==
   dependencies:
-    "@babel/helper-validator-identifier" "^7.15.7"
+    "@babel/helper-validator-identifier" "^7.16.7"
     to-fast-properties "^2.0.0"
 
 "@mysql/xdevapi@*":
-  version "8.0.27"
-  resolved "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.27.tgz#1e19335dee89d413c7ffbfd29340a92930d2e9c6"
-  integrity sha512-8CVaCDxqXp6qDizxlO/GYPWv2NsYnXXPQygDHFH2rkow2Pi6zlYF7k+mIeRkH4KLZZQ+HZCfjJQkKB1kN5zTzg==
+  version "8.0.28"
+  resolved "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.28.tgz#68f3b029e72ef8519e5aad7084ded2573af058b5"
+  integrity sha512-+plt6Ua6uVpV754w6QR2Lzg0iria7ynlaPPORM0YfiP6cabIAyanlnNmKkXmYR3eGc8kL3GW/zw4HJ2CIlnR6A==
   dependencies:
     google-protobuf "3.14.0"
     parsimmon "1.16.0"
 
-"@sendgrid/client@^7.6.0":
-  version "7.6.0"
-  resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.0.tgz#f90cb8759c96e1d90224f29ad98f8fdc2be287f3"
-  integrity sha512-cpBVZKLlMTO+vpE18krTixubYmZa98oTbLkqBDuTiA3zRkW+urrxg7pDR24TkI35Mid0Zru8jDHwnOiqrXu0TA==
+"@sendgrid/client@^7.6.1":
+  version "7.6.1"
+  resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.1.tgz#de17fe9f04af3bdb69aca44fc407316de87cea3b"
+  integrity sha512-q4U5OhcbJjs+lLVv/LhZSc28feiVCFMgvG9aYcRI5X4tKArnrrGDWb5HMITR9vaAtX42TXhyPFjHr1fk/Q1loQ==
   dependencies:
     "@sendgrid/helpers" "^7.6.0"
     axios "^0.21.4"
@@ -123,11 +131,11 @@
     deepmerge "^4.2.2"
 
 "@sendgrid/mail@*":
-  version "7.6.0"
-  resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.0.tgz#e74ee30110527feab5d3b83d68af0cd94537f6d2"
-  integrity sha512-0KdaSZzflJD/vUAZjB3ALBIuaVGoLq22hrb2fvQXZHRepU/yhRNlEOqrr05MfKBnKskzq1blnD1J0fHxiwaolw==
+  version "7.6.1"
+  resolved "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.1.tgz#f7bbfc93781b0b6126549bf4b3649805295b02aa"
+  integrity sha512-F+HXpDLIU4PGZyZznOiFLDGJDwLn2qh7/wD5MvwurrldDx5DaGQHrYBKHopceOl15FVuq9ElU9VIxQJF8SMvTg==
   dependencies:
-    "@sendgrid/client" "^7.6.0"
+    "@sendgrid/client" "^7.6.1"
     "@sendgrid/helpers" "^7.6.0"
 
 "@tootallnate/once@2":
@@ -140,22 +148,22 @@
   resolved "https://registry.yarnpkg.com/@types/geojson/-/geojson-7946.0.8.tgz#30744afdb385e2945e22f3b033f897f76b1f12ca"
   integrity sha512-1rkryxURpr6aWP7R786/UQOkJ3PcpQiWkAXBmdWc7ryFWqN6a4xfK7BtjXvFBKO9LjQ+MWQSWxYeZX1OApnArA==
 
-"@types/ldapjs@^1.0.9":
-  version "1.0.11"
-  resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.11.tgz#34077176af2b06186bd54e4a38ceb6e852387fa4"
-  integrity sha512-O4D1frY6xy2mQr5WouNPeltMe5EHdmU4FxbLDC6TMDX5HXOuafusGu+7Y9WAoqBaYHZ5hcFa7jfkpggyexfeXQ==
+"@types/ldapjs@^2.2.2":
+  version "2.2.2"
+  resolved "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-2.2.2.tgz#cf79510d8dc34e5579442c2743f8a228427eb99c"
+  integrity sha512-U5HdnwIZ5uZa+f3usxdqgyfNmOROxOxXvQdQtsu6sKo8fte5vej9br2csHxPvXreAbAO1bs8/rdEzvCLpi67nQ==
   dependencies:
     "@types/node" "*"
 
 "@types/node@*":
-  version "16.11.12"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz#ac7fb693ac587ee182c3780c26eb65546a1a3c10"
-  integrity sha512-+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==
+  version "17.0.17"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz#a8ddf6e0c2341718d74ee3dc413a13a042c45a0c"
+  integrity sha512-e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw==
 
 "@types/node@^14.14.14", "@types/node@^14.14.28":
-  version "14.18.0"
-  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.0.tgz#98df2397f6936bfbff4f089e40e06fa5dd88d32a"
-  integrity sha512-0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==
+  version "14.18.11"
+  resolved "https://registry.yarnpkg.com/@types/node/-/node-14.18.11.tgz#9bd810a959e1728d78df0f68b5c825b8ea7156f4"
+  integrity sha512-zCoCEMA+IPpsRkyCFBqew5vGb7r8RSiB3uwdu/map7uwLAfu1MTazW26/pUDWoNnF88vJz4W3U56i5gtXNqxGg==
 
 "@types/webidl-conversions@*":
   version "6.1.1"
@@ -424,23 +432,23 @@ abstract-logging@^2.0.0:
   integrity sha512-2BjRTZxTPvheOvGbBslFSYOUkr+SjPtOnrLP33f+VIWLzezQpZcqVg7ja3L4dBXmzzgwT+a029jRx5PCi3JuiA==
 
 accepts@~1.3.5, accepts@~1.3.7:
-  version "1.3.7"
-  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz#531bc726517a3b2b41f850021c6cc15eaab507cd"
-  integrity sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==
+  version "1.3.8"
+  resolved "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz#0bf0be125b67014adcb0b0921e62db7bffe16b2e"
+  integrity sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==
   dependencies:
-    mime-types "~2.1.24"
-    negotiator "0.6.2"
+    mime-types "~2.1.34"
+    negotiator "0.6.3"
 
 acme-client@*:
-  version "4.1.3"
-  resolved "https://registry.yarnpkg.com/acme-client/-/acme-client-4.1.3.tgz#2a37c7c8835da259eeb0cbfd8bcb7be3b9e4725b"
-  integrity sha512-QL3F5us72ChCDsrSztGnTRo1HXBaOeptyUi6v2PNksZL728wZ3ZaxAST+QcfhAt2tOrr9Zl6zJorqS5vLBTtXA==
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.3.tgz#f789be89113dc6a656c7bd697fb72e08e52f6877"
+  integrity sha512-fzNysQ7OdBWPlELQbjjjLo2eqrmMpdd6DZ9/d4jxHJItpKC4GKYLTxA3UIYca9BcY4Zr8un/axyEGnyRHKLGbw==
   dependencies:
-    axios "0.21.1"
+    axios "0.21.4"
     backo2 "^1.0.0"
     bluebird "^3.5.0"
     debug "^4.1.1"
-    node-forge "^0.10.0"
+    node-forge "^1.2.0"
 
 acorn-globals@^6.0.0:
   version "6.0.0"
@@ -473,9 +481,9 @@ acorn@^7.1.1:
   integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A==
 
 acorn@^8.5.0:
-  version "8.6.0"
-  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz#e3692ba0eb1a0c83eaa4f37f5fa7368dd7142895"
-  integrity sha512-U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==
+  version "8.7.0"
+  resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf"
+  integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==
 
 aedes-packet@^1.0.0:
   version "1.0.0"
@@ -637,9 +645,9 @@ archiver-utils@^2.1.0:
     readable-stream "^2.0.0"
 
 archiver-zip-encrypted@*:
-  version "1.0.10"
-  resolved "https://registry.yarnpkg.com/archiver-zip-encrypted/-/archiver-zip-encrypted-1.0.10.tgz#4218a602b6088480703996808484fc1fc4a60a41"
-  integrity sha512-Lrufx6UOithz1Z4C0PrwTsbF7qak/TDhMs3nAC/mFxV/tPKKaMhdjUgHV1UqRjcu2FaS8ghNexFVcNZ+CdFaXA==
+  version "1.0.11"
+  resolved "https://registry.yarnpkg.com/archiver-zip-encrypted/-/archiver-zip-encrypted-1.0.11.tgz#43a7b9ebba56c6689132b58e556df13e6ddd5878"
+  integrity sha512-uXQzXSrZKW7TZ1g4BhfJFt1KjlKqY4SnCgDS6QhQKJoAriPXPKqhFQbvaIirWcR0pi5h3UF5Ktau7FVnS3AsGw==
   dependencies:
     aes-js "^3.1.2"
     archiver "^5.3.0"
@@ -821,9 +829,9 @@ async@^2.0.1:
     lodash "^4.17.14"
 
 async@^3.2.0, async@~3.2.0:
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd"
-  integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==
+  version "3.2.3"
+  resolved "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz#ac53dafd3f4720ee9e8a160628f18ea91df196c9"
+  integrity sha512-spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==
 
 asynckit@^0.4.0:
   version "0.4.0"
@@ -845,20 +853,27 @@ aws4@^1.8.0:
   resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59"
   integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA==
 
-axios@0.21.1:
-  version "0.21.1"
-  resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz#22563481962f4d6bde9a76d516ef0e5d3c09b2b8"
-  integrity sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==
-  dependencies:
-    follow-redirects "^1.10.0"
-
-axios@^0.21.1, axios@^0.21.4:
+axios@0.21.4, axios@^0.21.1, axios@^0.21.4:
   version "0.21.4"
   resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575"
   integrity sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==
   dependencies:
     follow-redirects "^1.14.0"
 
+axios@^0.24.0:
+  version "0.24.0"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6"
+  integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==
+  dependencies:
+    follow-redirects "^1.14.4"
+
+axios@^0.25.0:
+  version "0.25.0"
+  resolved "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz#349cfbb31331a9b4453190791760a8d35b093e0a"
+  integrity sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==
+  dependencies:
+    follow-redirects "^1.14.7"
+
 babel-cli@^6.16.0:
   version "6.26.0"
   resolved "https://registry.yarnpkg.com/babel-cli/-/babel-cli-6.26.0.tgz#502ab54874d7db88ad00b887a06383ce03d002f1"
@@ -1459,23 +1474,7 @@ bn.js@^4.0.0:
   resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-4.12.0.tgz#775b3f278efbb9718eec7361f483fb36fbbfea88"
   integrity sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==
 
-body-parser@1.19.0:
-  version "1.19.0"
-  resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz#96b2709e57c9c4e09a6fd66a8fd979844f69f08a"
-  integrity sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==
-  dependencies:
-    bytes "3.1.0"
-    content-type "~1.0.4"
-    debug "2.6.9"
-    depd "~1.1.2"
-    http-errors "1.7.2"
-    iconv-lite "0.4.24"
-    on-finished "~2.3.0"
-    qs "6.7.0"
-    raw-body "2.4.0"
-    type-is "~1.6.17"
-
-body-parser@^1.19.0:
+body-parser@1.19.1, body-parser@^1.19.0:
   version "1.19.1"
   resolved "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.1.tgz#1499abbaa9274af3ecc9f6f10396c995943e31d4"
   integrity sha512-8ljfQi5eBk8EJfECMrgqNGWPEY5jWP+1IzkzkGdFFEwFQZZyaZ21UqdaHktgiMlH0xLHqIFtE/u2OYE5dOtViA==
@@ -1542,9 +1541,9 @@ bson@^1.1.4:
   integrity sha512-EvVNVeGo4tHxwi8L6bPj3y3itEvStdwvvlojVxxbyYfoaxJ6keLgrTuKdyfEAszFK+H3olzBuafE0yoh0D1gdg==
 
 bson@^4.4.0:
-  version "4.6.0"
-  resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.0.tgz#15c3b39ba3940c3d915a0c44d51459f4b4fbf1b2"
-  integrity sha512-8jw1NU1hglS+Da1jDOUYuNcBJ4cNHCFIqzlwoFNnsTOg2R/ox0aTYcTiBN4dzRa9q7Cvy6XErh3L8ReTEb9AQQ==
+  version "4.6.1"
+  resolved "https://registry.yarnpkg.com/bson/-/bson-4.6.1.tgz#2b5da517539bb0f7f3ffb54ac70a384ca899641c"
+  integrity sha512-I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==
   dependencies:
     buffer "^5.6.0"
 
@@ -1599,11 +1598,6 @@ bytes@3.0.0:
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.0.0.tgz#d32815404d689699f85a4ea4fa8755dd13a96048"
   integrity sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=
 
-bytes@3.1.0:
-  version "3.1.0"
-  resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz#f6cf7933a360e0588fa9fde85651cdc7f805d1f6"
-  integrity sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==
-
 bytes@3.1.1:
   version "3.1.1"
   resolved "https://registry.yarnpkg.com/bytes/-/bytes-3.1.1.tgz#3f018291cb4cbad9accb6e6970bca9c8889e879a"
@@ -2053,12 +2047,12 @@ config-master@^2.0.4:
     feature-detect-es6 "^1.3.1"
     walk-back "^2.0.1"
 
-content-disposition@0.5.3:
-  version "0.5.3"
-  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz#e130caf7e7279087c5616c2007d0485698984fbd"
-  integrity sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==
+content-disposition@0.5.4:
+  version "0.5.4"
+  resolved "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz#8b82b4efac82512a02bb0b1dcec9d2c5e8eb5bfe"
+  integrity sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==
   dependencies:
-    safe-buffer "5.1.2"
+    safe-buffer "5.2.1"
 
 content-type@~1.0.4:
   version "1.0.4"
@@ -2086,10 +2080,10 @@ cookie-signature@1.0.6:
   resolved "https://registry.yarnpkg.com/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c"
   integrity sha1-4wOogrNCzD7oylE6eZmXNNqzriw=
 
-cookie@0.4.0:
-  version "0.4.0"
-  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz#beb437e7022b3b6d49019d088665303ebe9c14ba"
-  integrity sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==
+cookie@0.4.1:
+  version "0.4.1"
+  resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz#afd713fe26ebd21ba95ceb61f9a8116e50a537d1"
+  integrity sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==
 
 cookies@0.8.0:
   version "0.8.0"
@@ -2138,12 +2132,12 @@ cpu-features@0.0.2:
     nan "^2.14.1"
 
 crc-32@^1.2.0:
-  version "1.2.0"
-  resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz#cb2db6e29b88508e32d9dd0ec1693e7b41a18208"
-  integrity sha512-1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.1.tgz#436d2bcaad27bcb6bd073a2587139d3024a16460"
+  integrity sha512-Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==
   dependencies:
     exit-on-epipe "~1.0.1"
-    printj "~1.1.0"
+    printj "~1.3.1"
 
 crc32-stream@^3.0.1:
   version "3.0.1"
@@ -2617,16 +2611,16 @@ express-ws@4.0.0:
     ws "^5.2.0"
 
 express@^4.17.0:
-  version "4.17.1"
-  resolved "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz#4491fc38605cf51f8629d39c2b5d026f98a4c134"
-  integrity sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==
+  version "4.17.2"
+  resolved "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz#c18369f265297319beed4e5558753cc8c1364cb3"
+  integrity sha512-oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==
   dependencies:
     accepts "~1.3.7"
     array-flatten "1.1.1"
-    body-parser "1.19.0"
-    content-disposition "0.5.3"
+    body-parser "1.19.1"
+    content-disposition "0.5.4"
     content-type "~1.0.4"
-    cookie "0.4.0"
+    cookie "0.4.1"
     cookie-signature "1.0.6"
     debug "2.6.9"
     depd "~1.1.2"
@@ -2640,13 +2634,13 @@ express@^4.17.0:
     on-finished "~2.3.0"
     parseurl "~1.3.3"
     path-to-regexp "0.1.7"
-    proxy-addr "~2.0.5"
-    qs "6.7.0"
+    proxy-addr "~2.0.7"
+    qs "6.9.6"
     range-parser "~1.2.1"
-    safe-buffer "5.1.2"
-    send "0.17.1"
-    serve-static "1.14.1"
-    setprototypeof "1.1.1"
+    safe-buffer "5.2.1"
+    send "0.17.2"
+    serve-static "1.14.2"
+    setprototypeof "1.2.0"
     statuses "~1.5.0"
     type-is "~1.6.18"
     utils-merge "1.0.1"
@@ -2906,10 +2900,10 @@ flagged-respawn@^1.0.1:
   resolved "https://registry.yarnpkg.com/flagged-respawn/-/flagged-respawn-1.0.1.tgz#e7de6f1279ddd9ca9aac8a5971d618606b3aab41"
   integrity sha512-lNaHNVymajmk0OJMBn8fVUAU1BtDeKIqKoVhk4xAALB57aALg6b4W0MfJ/cUE0g9YBXy5XhSlPIpYIJ7HaY/3Q==
 
-follow-redirects@^1.10.0, follow-redirects@^1.14.0:
-  version "1.14.6"
-  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz#8cfb281bbc035b3c067d6cd975b0f6ade6e855cd"
-  integrity sha512-fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==
+follow-redirects@^1.14.0, follow-redirects@^1.14.4, follow-redirects@^1.14.7:
+  version "1.14.8"
+  resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz#016996fb9a11a100566398b1c6839337d7bfa8fc"
+  integrity sha512-1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==
 
 for-in@^1.0.1, for-in@^1.0.2:
   version "1.0.2"
@@ -3178,9 +3172,9 @@ globals@^9.18.0:
   integrity sha512-S0nG3CLEQiY/ILxqtztTWH/3iRRdyBLw6KMDxnKMchrtbj2OFmehVh0WUCfW3DUrIgx/qFrJPICrq4Z4sTR9UQ==
 
 google-auth-library@^7.0.2:
-  version "7.10.3"
-  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.10.3.tgz#e553683315b3095eebef3a8c019c09446cb75a3c"
-  integrity sha512-VBwUCrjR+/p/J4ifSZRXG0XEc3Cm+2xnFrJi3A9DC2GzbCUK5j+R6CfqS7jyu1Hureb1PV53ZXZS1QV9PYUCrw==
+  version "7.12.0"
+  resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.12.0.tgz#7965db6bc20cb31f2df05a08a296bbed6af69426"
+  integrity sha512-RS/whvFPMoF1hQNxnoVET3DWKPBt1Xgqe2rY0k+Jn7TNhoHlwdnSe7Rlcbo2Nub3Mt2lUVz26X65aDQrWp6x8w==
   dependencies:
     arrify "^2.0.0"
     base64-js "^1.3.0"
@@ -3192,12 +3186,12 @@ google-auth-library@^7.0.2:
     jws "^4.0.0"
     lru-cache "^6.0.0"
 
-google-p12-pem@^3.0.3:
-  version "3.1.2"
-  resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.2.tgz#c3d61c2da8e10843ff830fdb0d2059046238c1d4"
-  integrity sha512-tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==
+google-p12-pem@^3.1.3:
+  version "3.1.3"
+  resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.3.tgz#5497998798ee86c2fc1f4bb1f92b7729baf37537"
+  integrity sha512-MC0jISvzymxePDVembypNefkAQp+DRP7dBE+zNUPaIjEspIlYg0++OrsNr248V9tPbz6iqtZ7rX1hxWA5B8qBQ==
   dependencies:
-    node-forge "^0.10.0"
+    node-forge "^1.0.0"
 
 google-protobuf@3.14.0:
   version "3.14.0"
@@ -3217,17 +3211,17 @@ googleapis-common@^5.0.2:
     uuid "^8.0.0"
 
 googleapis@*:
-  version "92.0.0"
-  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-92.0.0.tgz#291b9826a5a4509a9e9a6974ef942328857bfe18"
-  integrity sha512-5HgJg7XvqEEJ+GO+2gvnzd5cAcDuSS/VB6nW7thoyj2GMq9nH4VvJwncSevinjLCnv06a+VSxrXNiL5vePHojA==
+  version "95.0.0"
+  resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-95.0.0.tgz#63f6e28e78874044585f1e86c100a308a44fb385"
+  integrity sha512-ZpFZW7FDwcjQa2+xZNS2SC5sK2s46iWKA5QSFVJSK3RELQec4PYHhzKwzbeCzt4urnjYp6udPif95zXTFxbtRA==
   dependencies:
     google-auth-library "^7.0.2"
     googleapis-common "^5.0.2"
 
 graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.4, graceful-fs@^4.1.9, graceful-fs@^4.2.0:
-  version "4.2.8"
-  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a"
-  integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==
+  version "4.2.9"
+  resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz#041b05df45755e587a24942279b9d113146e1c96"
+  integrity sha512-NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==
 
 grunt-cli@~1.4.2:
   version "1.4.3"
@@ -3305,12 +3299,12 @@ grunt@^1.0.1:
     rimraf "~3.0.2"
 
 gtoken@^5.0.4:
-  version "5.3.1"
-  resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.1.tgz#c1c2598a826f2b5df7c6bb53d7be6cf6d50c3c78"
-  integrity sha512-yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==
+  version "5.3.2"
+  resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.2.tgz#deb7dc876abe002178e0515e383382ea9446d58f"
+  integrity sha512-gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==
   dependencies:
     gaxios "^4.0.0"
-    google-p12-pem "^3.0.3"
+    google-p12-pem "^3.1.3"
     jws "^4.0.0"
 
 handlebars-array@^0.2.0:
@@ -3528,18 +3522,7 @@ html-minifier@*:
     relateurl "^0.2.7"
     uglify-js "^3.5.1"
 
-http-errors@1.7.2:
-  version "1.7.2"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f"
-  integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==
-  dependencies:
-    depd "~1.1.2"
-    inherits "2.0.3"
-    setprototypeof "1.1.1"
-    statuses ">= 1.5.0 < 2"
-    toidentifier "1.0.0"
-
-http-errors@1.8.1, http-errors@~1.8.0:
+http-errors@1.8.1, http-errors@~1.8.1:
   version "1.8.1"
   resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.8.1.tgz#7c3f28577cbc8a207388455dbd62295ed07bd68c"
   integrity sha512-Kpk9Sm7NmI+RHhnj6OIWDI1d6fIoFAtFt9RLaTMRlg/8w49juAStsrBgp0Dp4OdxdVbRIeKhtCUvoi/RuAhO4g==
@@ -3550,17 +3533,6 @@ http-errors@1.8.1, http-errors@~1.8.0:
     statuses ">= 1.5.0 < 2"
     toidentifier "1.0.1"
 
-http-errors@~1.7.2:
-  version "1.7.3"
-  resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06"
-  integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==
-  dependencies:
-    depd "~1.1.2"
-    inherits "2.0.4"
-    setprototypeof "1.1.1"
-    statuses ">= 1.5.0 < 2"
-    toidentifier "1.0.0"
-
 http-proxy-agent@^5.0.0:
   version "5.0.0"
   resolved "https://registry.yarnpkg.com/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz#5129800203520d434f142bc78ff3c170800f2b43"
@@ -3619,9 +3591,9 @@ ieee754@^1.1.13:
   integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==
 
 image-size@*:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz#58b31fe4743b1cec0a0ac26f5c914d3c5b2f0750"
-  integrity sha512-JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==
+  version "1.0.1"
+  resolved "https://registry.yarnpkg.com/image-size/-/image-size-1.0.1.tgz#86d6cfc2b1d19eab5d2b368d4b9194d9e48541c5"
+  integrity sha512-VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==
   dependencies:
     queue "6.0.2"
 
@@ -3648,11 +3620,6 @@ inherits@2, inherits@2.0.4, inherits@^2.0.1, inherits@^2.0.3, inherits@^2.0.4, i
   resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
   integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
 
-inherits@2.0.3:
-  version "2.0.3"
-  resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de"
-  integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=
-
 ini@^1.3.4:
   version "1.3.8"
   resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c"
@@ -3724,10 +3691,10 @@ is-buffer@^1.1.5, is-buffer@~1.1.6:
   resolved "https://registry.yarnpkg.com/is-buffer/-/is-buffer-1.1.6.tgz#efaa2ea9daa0d7ab2ea13a97b2b8ad51fefbe8be"
   integrity sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==
 
-is-core-module@^2.2.0:
-  version "2.8.0"
-  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz#0321336c3d0925e497fd97f5d95cb114a5ccd548"
-  integrity sha512-vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==
+is-core-module@^2.8.1:
+  version "2.8.1"
+  resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211"
+  integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==
   dependencies:
     has "^1.0.3"
 
@@ -4317,11 +4284,11 @@ ldap-filter@^0.3.3:
     assert-plus "^1.0.0"
 
 ldapauth-fork@*:
-  version "5.0.1"
-  resolved "https://registry.yarnpkg.com/ldapauth-fork/-/ldapauth-fork-5.0.1.tgz#18779a9c30371c5bbea02e3b6aaadb60819ad29c"
-  integrity sha512-EdELQz8zgPruqV2y88PAuAiZCgTaMjex/kEA2PIcOlPYFt75C9QFt5HGZKVQo8Sf/3Mwnr1AtiThHKcq+pRtEg==
+  version "5.0.2"
+  resolved "https://registry.yarnpkg.com/ldapauth-fork/-/ldapauth-fork-5.0.2.tgz#abe6a99eac578b7730e1331254643d78dffae6fa"
+  integrity sha512-fWrrBwJ162rzQIIqfPsfCHy/861kEalQNIu16gmwOMr5cmdfjNkw7XfTlzCTJHybnFg9oW9WaX4DGXa0xiGPmA==
   dependencies:
-    "@types/ldapjs" "^1.0.9"
+    "@types/ldapjs" "^2.2.2"
     bcryptjs "^2.4.0"
     ldapjs "^2.2.1"
     lru-cache "^6.0.0"
@@ -4677,7 +4644,7 @@ mime-db@1.51.0, "mime-db@>= 1.43.0 < 2":
   resolved "https://registry.yarnpkg.com/mime-db/-/mime-db-1.51.0.tgz#d9ff62451859b18342d960850dc3cfb77e63fb0c"
   integrity sha512-5y8A56jg7XVQx2mbv1lu49NR4dokRnhZYTtL+KGfaa27uq4pSTXkwQkFJl4pkRMyNFz/EtYDSkiiEHx3F7UN6g==
 
-mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24:
+mime-types@^2.1.12, mime-types@~2.1.19, mime-types@~2.1.24, mime-types@~2.1.34:
   version "2.1.34"
   resolved "https://registry.yarnpkg.com/mime-types/-/mime-types-2.1.34.tgz#5a712f9ec1503511a945803640fafe09d3793c24"
   integrity sha512-6cP692WwGIs9XXdOO4++N+7qjqv0rqxxVvJ3VHPh/Sc9mVZcQP+ZGhkKiTvWMQRr2tbHkJP/Yn7Y0npb3ZBs4A==
@@ -4717,9 +4684,9 @@ minimalistic-assert@^1.0.0:
   integrity sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==
 
 "minimatch@2 || 3", minimatch@^3.0.4, minimatch@~3.0.4:
-  version "3.0.4"
-  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz#5166e286457f03306064be5497e8dbb0c3d32083"
-  integrity sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==
+  version "3.0.5"
+  resolved "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz#4da8f1290ee0f0f8e83d60ca69f8f134068604a3"
+  integrity sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==
   dependencies:
     brace-expansion "^1.1.7"
 
@@ -4852,27 +4819,22 @@ ms@2.0.0:
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8"
   integrity sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=
 
-ms@2.1.1:
-  version "2.1.1"
-  resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a"
-  integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==
-
 ms@2.1.2:
   version "2.1.2"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
   integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
 
-ms@^2.1.1:
+ms@2.1.3, ms@^2.1.1:
   version "2.1.3"
   resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2"
   integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==
 
 multiparty@^4.2.1:
-  version "4.2.2"
-  resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.2.tgz#bee5fb5737247628d39dab4979ffd6d57bf60ef6"
-  integrity sha512-NtZLjlvsjcoGrzojtwQwn/Tm90aWJ6XXtPppYF4WmOk/6ncdwMMKggFY2NlRRN9yiCEIVxpOfPWahVEG2HAG8Q==
+  version "4.2.3"
+  resolved "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.3.tgz#6b14981badb5ad3f0929622868751810368d4633"
+  integrity sha512-Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==
   dependencies:
-    http-errors "~1.8.0"
+    http-errors "~1.8.1"
     safe-buffer "5.2.1"
     uid-safe "2.1.5"
 
@@ -4932,10 +4894,10 @@ ncp@~2.0.0:
   resolved "https://registry.yarnpkg.com/ncp/-/ncp-2.0.0.tgz#195a21d6c46e361d2fb1281ba38b91e9df7bdbb3"
   integrity sha1-GVoh1sRuNh0vsSgbo4uR6d9727M=
 
-negotiator@0.6.2:
-  version "0.6.2"
-  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz#feacf7ccf525a77ae9634436a64883ffeca346fb"
-  integrity sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==
+negotiator@0.6.3:
+  version "0.6.3"
+  resolved "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz#58e323a72fedc0d6f9cd4d31fe49f51479590ccd"
+  integrity sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==
 
 neo-async@^2.6.0:
   version "2.6.2"
@@ -4965,16 +4927,16 @@ node-addon-api@^1.7.1:
   integrity sha512-ibPK3iA+vaY1eEjESkQkM0BbCqFOaZMiXRTtdB0u7b4djtY6JnsjvPdUHVMg6xQt3B8fpTTWHI9A+ADjM9frzg==
 
 node-fetch@^2.3.0, node-fetch@^2.6.1:
-  version "2.6.6"
-  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89"
-  integrity sha512-Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==
+  version "2.6.7"
+  resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz#24de9fba827e3b4ae44dc8b20256a379160052ad"
+  integrity sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==
   dependencies:
     whatwg-url "^5.0.0"
 
-node-forge@^0.10.0:
-  version "0.10.0"
-  resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3"
-  integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==
+node-forge@^1.0.0, node-forge@^1.2.0:
+  version "1.2.1"
+  resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz#82794919071ef2eb5c509293325cec8afd0fd53c"
+  integrity sha512-Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==
 
 node-rdpjs-2@*:
   version "0.3.5"
@@ -5136,9 +5098,9 @@ object-get@^2.0.0, object-get@^2.0.2, object-get@^2.1.0:
   integrity sha512-7n4IpLMzGGcLEMiQKsNR7vCe+N5E9LORFrtNUVy4sO3dj9a3HedZCxEL2T7QuLhcHN1NBuBsMOKaOsAYI9IIvg==
 
 object-inspect@^1.9.0:
-  version "1.11.1"
-  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.1.tgz#d4bd7d7de54b9a75599f59a00bd698c1f1c6549b"
-  integrity sha512-If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==
+  version "1.12.0"
+  resolved "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz#6e2c120e868fd1fd18cb4f18c31741d0d6e776f0"
+  integrity sha512-Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==
 
 object-keys@^1.0.12, object-keys@^1.1.1:
   version "1.1.1"
@@ -5476,15 +5438,15 @@ passport-reddit@*:
     pkginfo "0.3.x"
 
 passport-saml@*:
-  version "3.2.0"
-  resolved "https://registry.yarnpkg.com/passport-saml/-/passport-saml-3.2.0.tgz#72ec8203df6dd872a205b8d5f578859a4e723e42"
-  integrity sha512-EUzL+Wk8ZVdvOYhCBTkUrR1fwuMwF9za1FinFabP5Tl9qeJktsJWfoiBz7Fk6jQvpLwfnfryGdvwcOlGVct41A==
+  version "3.2.1"
+  resolved "https://registry.yarnpkg.com/passport-saml/-/passport-saml-3.2.1.tgz#c489a61a4c2dd93ddec1d53952a595b9f33e15e8"
+  integrity sha512-Y8aD94B6MTLht57BlBrDauEgvtWjuSeINKk7NadXlpT/OBmsoGGYPpb0FJeBtdyGX4GEbZARAkxvBEqsL8E7XQ==
   dependencies:
     "@xmldom/xmldom" "^0.7.5"
     debug "^4.3.2"
     passport-strategy "^1.0.0"
     xml-crypto "^2.1.3"
-    xml-encryption "^1.3.0"
+    xml-encryption "^2.0.0"
     xml2js "^0.4.23"
     xmlbuilder "^15.1.1"
 
@@ -5502,9 +5464,9 @@ passport-twitter@*:
     xtraverse "0.1.x"
 
 passport@*:
-  version "0.5.0"
-  resolved "https://registry.yarnpkg.com/passport/-/passport-0.5.0.tgz#7914aaa55844f9dce8c3aa28f7d6b73647ee0169"
-  integrity sha512-ln+ue5YaNDS+fes6O5PCzXKSseY5u8MYhX9H5Co4s+HfYI5oqvnHKoOORLYDUPh+8tHvrxugF2GFcUA1Q1Gqfg==
+  version "0.5.2"
+  resolved "https://registry.yarnpkg.com/passport/-/passport-0.5.2.tgz#0cb38dd8a71552c8390dfa6a9a6f7f3909954bcf"
+  integrity sha512-w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==
   dependencies:
     passport-strategy "1.x.x"
     pause "0.0.1"
@@ -5526,7 +5488,7 @@ path-is-absolute@^1.0.0, path-is-absolute@^1.0.1:
   resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f"
   integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18=
 
-path-parse@^1.0.6:
+path-parse@^1.0.7:
   version "1.0.7"
   resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735"
   integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==
@@ -5594,10 +5556,10 @@ pg-int8@1.0.1:
   resolved "https://registry.yarnpkg.com/pg-int8/-/pg-int8-1.0.1.tgz#943bd463bf5b71b4170115f80f8efc9a0c0eb78c"
   integrity sha512-WCtabS6t3c8SkpDBUlb1kjOs7l66xsGdKpIPZsg4wR+B3+u9UAum2odSsF9tnvxg80h4ZxLWMy4pRjOsFIqQpw==
 
-pg-pool@^3.4.1:
-  version "3.4.1"
-  resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.4.1.tgz#0e71ce2c67b442a5e862a9c182172c37eda71e9c"
-  integrity sha512-TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==
+pg-pool@^3.4.1, pg-pool@^3.5.1:
+  version "3.5.1"
+  resolved "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.1.tgz#f499ce76f9bf5097488b3b83b19861f28e4ed905"
+  integrity sha512-6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==
 
 pg-protocol@^1.5.0:
   version "1.5.0"
@@ -5615,7 +5577,7 @@ pg-types@^2.1.0:
     postgres-date "~1.0.4"
     postgres-interval "^1.1.0"
 
-pg@8.7.1, pg@^8.4.0:
+pg@8.7.1:
   version "8.7.1"
   resolved "https://registry.yarnpkg.com/pg/-/pg-8.7.1.tgz#9ea9d1ec225980c36f94e181d009ab9f4ce4c471"
   integrity sha512-7bdYcv7V6U3KAtWjpQJJBww0UEsWuh4yQ/EjNf2HeO/NnvKjpvhEIe/A/TleP6wtmSKnUnghs5A9jUoK6iDdkA==
@@ -5628,12 +5590,25 @@ pg@8.7.1, pg@^8.4.0:
     pg-types "^2.1.0"
     pgpass "1.x"
 
+pg@^8.4.0:
+  version "8.7.3"
+  resolved "https://registry.yarnpkg.com/pg/-/pg-8.7.3.tgz#8a5bdd664ca4fda4db7997ec634c6e5455b27c44"
+  integrity sha512-HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw==
+  dependencies:
+    buffer-writer "2.0.0"
+    packet-reader "1.0.0"
+    pg-connection-string "^2.5.0"
+    pg-pool "^3.5.1"
+    pg-protocol "^1.5.0"
+    pg-types "^2.1.0"
+    pgpass "1.x"
+
 pgpass@1.x:
-  version "1.0.4"
-  resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.4.tgz#85eb93a83800b20f8057a2b029bf05abaf94ea9c"
-  integrity sha512-YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==
+  version "1.0.5"
+  resolved "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz#9b873e4a564bb10fa7a7dbd55312728d422a223d"
+  integrity sha512-FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==
   dependencies:
-    split2 "^3.1.1"
+    split2 "^4.1.0"
 
 pgtools@0.3.2:
   version "0.3.2"
@@ -5646,9 +5621,9 @@ pgtools@0.3.2:
     yargs "^5.0.0"
 
 picomatch@^2.2.3:
-  version "2.3.0"
-  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972"
-  integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==
+  version "2.3.1"
+  resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42"
+  integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==
 
 pify@^2.0.0:
   version "2.3.0"
@@ -5697,9 +5672,9 @@ please-upgrade-node@^3.2.0:
     semver-compare "^1.0.0"
 
 plivo@*:
-  version "4.25.1"
-  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.25.1.tgz#ae33f216c58ebcce62c74ae3229d615b8f3ad382"
-  integrity sha512-AaUxFqxanP855M5Pe2FQ6IGfNVtCXryvjqEso5crRCqPW7IGmNnSONift7RMaEiu4vMXPNjrSPYv5Wfo6UkR0A==
+  version "4.27.0"
+  resolved "https://registry.yarnpkg.com/plivo/-/plivo-4.27.0.tgz#af41278962b858bccf2bc04a9e28fd6008a0bd9a"
+  integrity sha512-bmtc/GSQsxBW5aarr8z8lS07vl4HWtgTZTb8W5/dfsm9Z3dG3VDswkFIeu+n0ZkJ+FEbVGPkCV4EJ7jfRA+2Cw==
   dependencies:
     "@types/node" "^14.14.14"
     axios "^0.21.1"
@@ -5762,10 +5737,10 @@ preserve@^0.2.0:
   resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b"
   integrity sha1-gV7R9uvGWSb4ZbMQwHE7yzMVzks=
 
-printj@~1.1.0:
-  version "1.1.2"
-  resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222"
-  integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==
+printj@~1.3.1:
+  version "1.3.1"
+  resolved "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz#9af6b1d55647a1587ac44f4c1654a4b95b8e12cb"
+  integrity sha512-GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==
 
 private@^0.1.6, private@^0.1.8:
   version "0.1.8"
@@ -5796,7 +5771,7 @@ promise@^8.0.2:
   dependencies:
     asap "~2.0.6"
 
-proxy-addr@~2.0.5:
+proxy-addr@~2.0.7:
   version "2.0.7"
   resolved "https://registry.yarnpkg.com/proxy-addr/-/proxy-addr-2.0.7.tgz#f19fe69ceab311eeb94b42e70e8c2070f9ba1025"
   integrity sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==
@@ -5846,27 +5821,22 @@ qlobber@^3.0.2, qlobber@^3.1.0:
   resolved "https://registry.yarnpkg.com/qlobber/-/qlobber-3.1.0.tgz#b8c8e067496de17bdbf3cd843cf53ece09c8d211"
   integrity sha512-B7EU6Hv9g4BeJiB7qtOjn9wwgqVpcWE5c4/86O0Yoj7fmAvgwXrdG1E+QF13S/+TX5XGUl7toizP0gzXR2Saug==
 
-qs@6.7.0:
-  version "6.7.0"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz#41dc1a015e3d581f1621776be31afb2876a9b1bc"
-  integrity sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==
-
 qs@6.9.6:
   version "6.9.6"
   resolved "https://registry.yarnpkg.com/qs/-/qs-6.9.6.tgz#26ed3c8243a431b2924aca84cc90471f35d5a0ee"
   integrity sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==
 
 qs@^6.6.0, qs@^6.7.0, qs@^6.9.4:
-  version "6.10.2"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz#c1431bea37fc5b24c5bdbafa20f16bdf2a4b9ffe"
-  integrity sha512-mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==
+  version "6.10.3"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz#d6cde1b2ffca87b5aa57889816c5f81535e22e8e"
+  integrity sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==
   dependencies:
     side-channel "^1.0.4"
 
 qs@~6.5.2:
-  version "6.5.2"
-  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz#cb3ae806e8740444584ef154ce8ee98d403f3e36"
-  integrity sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==
+  version "6.5.3"
+  resolved "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz#3aeeffc91967ef6e35c0e488ef46fb296ab76aad"
+  integrity sha512-qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==
 
 querystring@^0.2.0:
   version "0.2.1"
@@ -5911,16 +5881,6 @@ range-parser@~1.2.1:
   resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031"
   integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==
 
-raw-body@2.4.0:
-  version "2.4.0"
-  resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz#a1ce6fb9c9bc356ca52e89256ab59059e13d0332"
-  integrity sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==
-  dependencies:
-    bytes "3.1.0"
-    http-errors "1.7.2"
-    iconv-lite "0.4.24"
-    unpipe "1.0.0"
-
 raw-body@2.4.2:
   version "2.4.2"
   resolved "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.2.tgz#baf3e9c21eebced59dd6533ac872b71f7b61cb32"
@@ -5965,7 +5925,7 @@ read-pkg@^3.0.0:
     normalize-package-data "^2.3.2"
     path-type "^3.0.0"
 
-"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
+"readable-stream@2 || 3", readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0:
   version "3.6.0"
   resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198"
   integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==
@@ -6258,12 +6218,13 @@ resolve-url@^0.2.1:
   integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
 
 resolve@^1.10.0, resolve@^1.19.0, resolve@^1.9.0:
-  version "1.20.0"
-  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975"
-  integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==
+  version "1.22.0"
+  resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198"
+  integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==
   dependencies:
-    is-core-module "^2.2.0"
-    path-parse "^1.0.6"
+    is-core-module "^2.8.1"
+    path-parse "^1.0.7"
+    supports-preserve-symlinks-flag "^1.0.0"
 
 ret@~0.1.10:
   version "0.1.15"
@@ -6419,10 +6380,10 @@ semver@^6.0.0:
   resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
   integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
 
-send@0.17.1:
-  version "0.17.1"
-  resolved "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz#c1d8b059f7900f7466dd4938bdc44e11ddb376c8"
-  integrity sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==
+send@0.17.2:
+  version "0.17.2"
+  resolved "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz#926622f76601c41808012c8bf1688fe3906f7820"
+  integrity sha512-UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==
   dependencies:
     debug "2.6.9"
     depd "~1.1.2"
@@ -6431,22 +6392,22 @@ send@0.17.1:
     escape-html "~1.0.3"
     etag "~1.8.1"
     fresh "0.5.2"
-    http-errors "~1.7.2"
+    http-errors "1.8.1"
     mime "1.6.0"
-    ms "2.1.1"
+    ms "2.1.3"
     on-finished "~2.3.0"
     range-parser "~1.2.1"
     statuses "~1.5.0"
 
-serve-static@1.14.1:
-  version "1.14.1"
-  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz#666e636dc4f010f7ef29970a88a674320898b2f9"
-  integrity sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==
+serve-static@1.14.2:
+  version "1.14.2"
+  resolved "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz#722d6294b1d62626d41b43a013ece4598d292bfa"
+  integrity sha512-+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==
   dependencies:
     encodeurl "~1.0.2"
     escape-html "~1.0.3"
     parseurl "~1.3.3"
-    send "0.17.1"
+    send "0.17.2"
 
 set-blocking@^2.0.0:
   version "2.0.0"
@@ -6463,11 +6424,6 @@ set-value@^2.0.0, set-value@^2.0.1:
     is-plain-object "^2.0.3"
     split-string "^3.0.1"
 
-setprototypeof@1.1.1:
-  version "1.1.1"
-  resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz#7e95acb24aa92f5885e0abef5ba131330d4ae683"
-  integrity sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==
-
 setprototypeof@1.2.0:
   version "1.2.0"
   resolved "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.2.0.tgz#66c9a24a73f9fc28cbe66b09fed3d33dcaf1b424"
@@ -6498,9 +6454,9 @@ side-channel@^1.0.4:
     object-inspect "^1.9.0"
 
 signal-exit@^3.0.0, signal-exit@^3.0.2:
-  version "3.0.6"
-  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz#24e630c4b0f03fea446a2bd299e62b4a6ca8d0af"
-  integrity sha512-sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==
+  version "3.0.7"
+  resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz#a9a1767f8af84155114eaabd73f99273c8f59ad9"
+  integrity sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==
 
 slash@^1.0.0:
   version "1.0.0"
@@ -6638,14 +6594,12 @@ split-string@^3.0.1, split-string@^3.0.2:
   dependencies:
     extend-shallow "^3.0.0"
 
-split2@^3.1.1:
-  version "3.2.2"
-  resolved "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz#bf2cf2a37d838312c249c89206fd7a17dd12365f"
-  integrity sha512-9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==
-  dependencies:
-    readable-stream "^3.0.0"
+split2@^4.1.0:
+  version "4.1.0"
+  resolved "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz#101907a24370f85bb782f08adaabe4e281ecf809"
+  integrity sha512-VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==
 
-sprintf-js@^1.0.3:
+sprintf-js@^1.1.1:
   version "1.1.2"
   resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673"
   integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==
@@ -6661,9 +6615,9 @@ sqlstring@2.3.1:
   integrity sha1-R1OT/56RR5rqYtyvDKPRSYOn+0A=
 
 ssh2@*:
-  version "1.5.0"
-  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.5.0.tgz#4dc559ba98a1cbb420e8d42998dfe35d0eda92bc"
-  integrity sha512-iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==
+  version "1.6.0"
+  resolved "https://registry.yarnpkg.com/ssh2/-/ssh2-1.6.0.tgz#61aebc3a6910fe488f9c85cd8355bdf8d4724e05"
+  integrity sha512-lxc+uvXqOxyQ99N2M7k5o4pkYDO5GptOTYduWw7hIM41icxvoBcCNHcj+LTKrjkL0vFcAl+qfZekthoSFRJn2Q==
   dependencies:
     asn1 "^0.2.4"
     bcrypt-pbkdf "^1.0.2"
@@ -6672,9 +6626,9 @@ ssh2@*:
     nan "^2.15.0"
 
 sshpk@^1.7.0:
-  version "1.16.1"
-  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz#fb661c0bef29b39db40769ee39fa70093d6f6877"
-  integrity sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==
+  version "1.17.0"
+  resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5"
+  integrity sha512-/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==
   dependencies:
     asn1 "~0.2.3"
     assert-plus "^1.0.0"
@@ -6833,6 +6787,11 @@ supports-color@^7.1.0:
   dependencies:
     has-flag "^4.0.0"
 
+supports-preserve-symlinks-flag@^1.0.0:
+  version "1.0.0"
+  resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09"
+  integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==
+
 symbol-tree@^3.2.4:
   version "3.2.4"
   resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2"
@@ -6985,11 +6944,6 @@ to-regex@^3.0.1, to-regex@^3.0.2:
     regex-not "^1.0.2"
     safe-regex "^1.1.0"
 
-toidentifier@1.0.0:
-  version "1.0.0"
-  resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz#7e1be3470f1e77948bc43d94a3c8f4d7752ba553"
-  integrity sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==
-
 toidentifier@1.0.1:
   version "1.0.1"
   resolved "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.1.tgz#3be34321a88a820ed1bd80dfaa33e479fbb8dd35"
@@ -7072,11 +7026,11 @@ tweetnacl@^1.0.1:
   integrity sha512-6rt+RN7aOi1nGMyC4Xa5DdYiukl2UWCbcJft7YhxReBGQD7OAM8Pbxw6YMo4r2diNEA8FEmu32YOn9rhaiE5yw==
 
 twilio@*:
-  version "3.71.3"
-  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.71.3.tgz#a446d2b49f8c1ed60b0dd830c919921358c17203"
-  integrity sha512-m9eda9fvkHxMMDHRtXj8WKI0ViP4EG4xS5au5ay3ScfModhBZ1ZtyfWZ0AfWI++A7a1T1j3ZVNIZ+AMLwxSffw==
+  version "3.74.0"
+  resolved "https://registry.yarnpkg.com/twilio/-/twilio-3.74.0.tgz#df912476543b7004cd765d566449c27174289091"
+  integrity sha512-r79CWIug+x2/1uGOdAzGESvUvycxPCvVJ9rm4y1TsAocshTh+f5+ipULxyT3T5q4wJNT+k2OEiUBkKFA+cpQ/A==
   dependencies:
-    axios "^0.21.4"
+    axios "^0.25.0"
     dayjs "^1.8.29"
     https-proxy-agent "^5.0.0"
     jsonwebtoken "^8.5.1"
@@ -7095,7 +7049,7 @@ type-check@~0.3.2:
   dependencies:
     prelude-ls "~1.1.2"
 
-type-is@~1.6.17, type-is@~1.6.18:
+type-is@~1.6.18:
   version "1.6.18"
   resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131"
   integrity sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==
@@ -7119,9 +7073,9 @@ uglify-js@^2.6:
     uglify-to-browserify "~1.0.0"
 
 uglify-js@^3.1.4, uglify-js@^3.5.1:
-  version "3.14.5"
-  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.5.tgz#cdabb7d4954231d80cb4a927654c4655e51f4859"
-  integrity sha512-qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==
+  version "3.15.1"
+  resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.1.tgz#9403dc6fa5695a6172a91bc983ea39f0f7c9086d"
+  integrity sha512-FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==
 
 uglify-to-browserify@~1.0.0:
   version "1.0.2"
@@ -7146,17 +7100,17 @@ unc-path-regex@^0.1.2:
   integrity sha1-5z3T17DXxe2G+6xrCufYxqadUPo=
 
 underscore.string@~3.3.5:
-  version "3.3.5"
-  resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz#fc2ad255b8bd309e239cbc5816fd23a9b7ea4023"
-  integrity sha512-g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==
+  version "3.3.6"
+  resolved "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.6.tgz#ad8cf23d7423cb3b53b898476117588f4e2f9159"
+  integrity sha512-VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==
   dependencies:
-    sprintf-js "^1.0.3"
+    sprintf-js "^1.1.1"
     util-deprecate "^1.0.2"
 
 underscore@^1.13.1:
-  version "1.13.1"
-  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz#0c1c6bd2df54b6b69f2314066d65b6cde6fcf9d1"
-  integrity sha512-hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==
+  version "1.13.2"
+  resolved "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz#276cea1e8b9722a8dbed0100a407dda572125881"
+  integrity sha512-ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==
 
 underscore@~1.8.3:
   version "1.8.3"
@@ -7219,9 +7173,9 @@ url-join@^4.0.1:
   integrity sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==
 
 url-parse@^1.5.3:
-  version "1.5.3"
-  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz#71c1303d38fb6639ade183c2992c8cc0686df862"
-  integrity sha512-IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==
+  version "1.5.4"
+  resolved "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz#e4f645a7e2a0852cc8a66b14b292a3e9a11a97fd"
+  integrity sha512-ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==
   dependencies:
     querystringify "^2.1.1"
     requires-port "^1.0.0"
@@ -7392,11 +7346,11 @@ web-push@*:
     urlsafe-base64 "^1.0.0"
 
 webdav@*:
-  version "4.7.0"
-  resolved "https://registry.yarnpkg.com/webdav/-/webdav-4.7.0.tgz#3964c72c1d5dc9854c0031b43e464f260f22476e"
-  integrity sha512-R1WZl/JeFPAmSEn1EPCmxSdPY8IxS/P0qnxAzBeRqEewpxVJ/UiCMJwXHLpyVsKYA1PIb1dYv+UTQsbNaQnLBw==
+  version "4.8.0"
+  resolved "https://registry.yarnpkg.com/webdav/-/webdav-4.8.0.tgz#b5d7ebe46039d048c177fb021c9da591cf3ac6f0"
+  integrity sha512-CVJvxu0attEfoQUKraDiNh3uMjNPNl+BY0pbcKbyc/X+8IXDnqAT4tT4Ge12w+j49fYuVpFVkpEGwBZabv7Uhw==
   dependencies:
-    axios "^0.21.1"
+    axios "^0.24.0"
     base-64 "^1.0.0"
     fast-xml-parser "^3.19.0"
     he "^1.2.0"
@@ -7579,14 +7533,14 @@ ws@5.2.3, ws@^5.2.0:
     async-limiter "~1.0.0"
 
 ws@^7.0.0:
-  version "7.5.6"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz#e59fc509fb15ddfb65487ee9765c5a51dec5fe7b"
-  integrity sha512-6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==
+  version "7.5.7"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz#9e0ac77ee50af70d58326ecff7e85eb3fa375e67"
+  integrity sha512-KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==
 
 ws@^8.2.3:
-  version "8.3.0"
-  resolved "https://registry.yarnpkg.com/ws/-/ws-8.3.0.tgz#7185e252c8973a60d57170175ff55fdbd116070d"
-  integrity sha512-Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==
+  version "8.5.0"
+  resolved "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz#bfb4be96600757fe5382de12c670dab984a1ed4f"
+  integrity sha512-BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==
 
 xml-crypto@^2.1.3:
   version "2.1.3"
@@ -7596,14 +7550,13 @@ xml-crypto@^2.1.3:
     "@xmldom/xmldom" "^0.7.0"
     xpath "0.0.32"
 
-xml-encryption@^1.3.0:
-  version "1.3.0"
-  resolved "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-1.3.0.tgz#4cad44a59bf8bdec76d7865ce0b89e13c09962f4"
-  integrity sha512-3P8C4egMMxSR1BmsRM+fG16a3WzOuUEQKS2U4c3AZ5v7OseIfdUeVkD8dwxIhuLryFZSRWUL5OP6oqkgU7hguA==
+xml-encryption@^2.0.0:
+  version "2.0.0"
+  resolved "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-2.0.0.tgz#d4e1eb3ec1f2c5d2a2a0a6e23d199237e8b4bf83"
+  integrity sha512-4Av83DdvAgUQQMfi/w8G01aJshbEZP9ewjmZMpS9t3H+OCZBDvyK4GJPnHGfWiXlArnPbYvR58JB9qF2x9Ds+Q==
   dependencies:
     "@xmldom/xmldom" "^0.7.0"
     escape-html "^1.0.3"
-    node-forge "^0.10.0"
     xpath "0.0.32"
 
 xml-name-validator@^4.0.0:
diff --git a/pkgs/tools/admin/meshcentral/yarn.nix b/pkgs/tools/admin/meshcentral/yarn.nix
index 53a2c18c81a..c9d5925b658 100644
--- a/pkgs/tools/admin/meshcentral/yarn.nix
+++ b/pkgs/tools/admin/meshcentral/yarn.nix
@@ -2,115 +2,123 @@
   offline_cache = linkFarm "offline" packages;
   packages = [
     {
-      name = "_babel_code_frame___code_frame_7.16.0.tgz";
+      name = "_babel_code_frame___code_frame_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_code_frame___code_frame_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.0.tgz";
-        sha512 = "IF4EOMEV+bfYwOmNxGzSnjR2EmQod7f1UXOpZM3l4i4o4QNwzjtJAu/HxdjHq0aYBvdqMuQEY1eg0nqW9ZPORA==";
+        name = "_babel_code_frame___code_frame_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz";
+        sha512 = "iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==";
       };
     }
     {
-      name = "_babel_generator___generator_7.16.0.tgz";
+      name = "_babel_generator___generator_7.17.0.tgz";
       path = fetchurl {
-        name = "_babel_generator___generator_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz";
-        sha512 = "RR8hUCfRQn9j9RPKEVXo9LiwoxLPYn6hNZlvUOR8tSnaxlD0p0+la00ZP9/SnRt6HchKr+X0fO2r8vrETiJGew==";
+        name = "_babel_generator___generator_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/generator/-/generator-7.17.0.tgz";
+        sha512 = "I3Omiv6FGOC29dtlZhkfXO6pgkmukJSlT26QjVvS1DGZe/NzSVCPG41X0tS21oZkJYlovfj9qDWgKP+Cn4bXxw==";
       };
     }
     {
-      name = "_babel_helper_function_name___helper_function_name_7.16.0.tgz";
+      name = "_babel_helper_environment_visitor___helper_environment_visitor_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_function_name___helper_function_name_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.0.tgz";
-        sha512 = "BZh4mEk1xi2h4HFjWUXRQX5AEx4rvaZxHgax9gcjdLWdkjsY7MKt5p0otjsg5noXw+pB+clMCjw+aEVYADMjog==";
+        name = "_babel_helper_environment_visitor___helper_environment_visitor_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-environment-visitor/-/helper-environment-visitor-7.16.7.tgz";
+        sha512 = "SLLb0AAn6PkUeAfKJCCOl9e1R53pQlGAfc4y4XuMRZfqeMYLE0dM1LMhqbGAlGQY0lfw5/ohoYWAe9V1yibRag==";
       };
     }
     {
-      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.0.tgz";
+      name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.0.tgz";
-        sha512 = "ASCquNcywC1NkYh/z7Cgp3w31YW8aojjYIlNg4VeJiHkqyP4AzIvr4qx7pYDb4/s8YcsZWqqOSxgkvjUz1kpDQ==";
+        name = "_babel_helper_function_name___helper_function_name_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-function-name/-/helper-function-name-7.16.7.tgz";
+        sha512 = "QfDfEnIUyyBSR3HtrtGECuZ6DAyCkYFp7GHl75vFtTnn6pjKeK0T1DB5lLkFvBea8MdaiUABx3osbgLyInoejA==";
       };
     }
     {
-      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.0.tgz";
+      name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.0.tgz";
-        sha512 = "1AZlpazjUR0EQZQv3sgRNfM9mEVWPK3M6vlalczA+EECcPz3XPh6VplbErL5UoMpChhSck5wAJHthlj1bYpcmg==";
+        name = "_babel_helper_get_function_arity___helper_get_function_arity_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-get-function-arity/-/helper-get-function-arity-7.16.7.tgz";
+        sha512 = "flc+RLSOBXzNzVhcLu6ujeHUrD6tANAOU5ojrRx/as+tbzf8+stUCj7+IfRRoAbEZqj/ahXEMsjhOhgeZsrnTw==";
       };
     }
     {
-      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.0.tgz";
+      name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.0.tgz";
-        sha512 = "0YMMRpuDFNGTHNRiiqJX19GjNXA4H0E8jZ2ibccfSxaCogbm3am5WN/2nQNj0YnQwGWM1J06GOcQ2qnh3+0paw==";
+        name = "_babel_helper_hoist_variables___helper_hoist_variables_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz";
+        sha512 = "m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==";
       };
     }
     {
-      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.15.7.tgz";
+      name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.15.7.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz";
-        sha512 = "K4JvCtQqad9OY2+yTU8w+E82ywk/fe+ELNlt1G8z3bVGlZfn/hOcQQsUhGhW/N+tb3fxK800wLtKOE/aM0m72w==";
+        name = "_babel_helper_split_export_declaration___helper_split_export_declaration_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz";
+        sha512 = "xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==";
       };
     }
     {
-      name = "_babel_highlight___highlight_7.16.0.tgz";
+      name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_highlight___highlight_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz";
-        sha512 = "t8MH41kUQylBtu2+4IQA3atqevA2lRgqA2wyVB/YiWmsDSuylZZuXOUy9ric30hfzauEFfdsuk/eXTRrGrfd0g==";
+        name = "_babel_helper_validator_identifier___helper_validator_identifier_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz";
+        sha512 = "hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==";
       };
     }
     {
-      name = "_babel_parser___parser_7.16.4.tgz";
+      name = "_babel_highlight___highlight_7.16.10.tgz";
       path = fetchurl {
-        name = "_babel_parser___parser_7.16.4.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.16.4.tgz";
-        sha512 = "6V0qdPUaiVHH3RtZeLIsc+6pDhbYzHR8ogA8w+f+Wc77DuXto19g2QUwveINoS34Uw+W8/hQDGJCx+i4n7xcng==";
+        name = "_babel_highlight___highlight_7.16.10.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz";
+        sha512 = "5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw==";
       };
     }
     {
-      name = "_babel_template___template_7.16.0.tgz";
+      name = "_babel_parser___parser_7.17.0.tgz";
       path = fetchurl {
-        name = "_babel_template___template_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz";
-        sha512 = "MnZdpFD/ZdYhXwiunMqqgyZyucaYsbL0IrjoGjaVhGilz+x8YB++kRfygSOIj1yOtWKPlx7NBp+9I1RQSgsd5A==";
+        name = "_babel_parser___parser_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.0.tgz";
+        sha512 = "VKXSCQx5D8S04ej+Dqsr1CzYvvWgf20jIw2D+YhQCrIlr2UZGaDds23Y0xg75/skOxpLCRpUZvk/1EAVkGoDOw==";
       };
     }
     {
-      name = "_babel_traverse___traverse_7.16.3.tgz";
+      name = "_babel_template___template_7.16.7.tgz";
       path = fetchurl {
-        name = "_babel_traverse___traverse_7.16.3.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.16.3.tgz";
-        sha512 = "eolumr1vVMjqevCpwVO99yN/LoGL0EyHiLO5I043aYQvwOJ9eR5UsZSClHVCzfhBduMAsSzgA/6AyqPjNayJag==";
+        name = "_babel_template___template_7.16.7.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/template/-/template-7.16.7.tgz";
+        sha512 = "I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==";
       };
     }
     {
-      name = "_babel_types___types_7.16.0.tgz";
+      name = "_babel_traverse___traverse_7.17.0.tgz";
       path = fetchurl {
-        name = "_babel_types___types_7.16.0.tgz";
-        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz";
-        sha512 = "PJgg/k3SdLsGb3hhisFvtLOw5ts113klrpLuIPtCJIU+BB24fqq6lf8RWqKJEjzqXR9AEH1rIb5XTqwBHB+kQg==";
+        name = "_babel_traverse___traverse_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.17.0.tgz";
+        sha512 = "fpFIXvqD6kC7c7PUNnZ0Z8cQXlarCLtCUpt2S1Dx7PjoRtCFffvOkHHSom+m5HIxMZn5bIBVb71lhabcmjEsqg==";
       };
     }
     {
-      name = "_mysql_xdevapi___xdevapi_8.0.27.tgz";
+      name = "_babel_types___types_7.17.0.tgz";
       path = fetchurl {
-        name = "_mysql_xdevapi___xdevapi_8.0.27.tgz";
-        url  = "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.27.tgz";
-        sha512 = "8CVaCDxqXp6qDizxlO/GYPWv2NsYnXXPQygDHFH2rkow2Pi6zlYF7k+mIeRkH4KLZZQ+HZCfjJQkKB1kN5zTzg==";
+        name = "_babel_types___types_7.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/@babel/types/-/types-7.17.0.tgz";
+        sha512 = "TmKSNO4D5rzhL5bjWFcVHHLETzfQ/AmbKpKPOSjlP0WoHZ6L911fgoOKY4Alp/emzG4cHJdyN49zpgkbXFEHHw==";
       };
     }
     {
-      name = "_sendgrid_client___client_7.6.0.tgz";
+      name = "_mysql_xdevapi___xdevapi_8.0.28.tgz";
       path = fetchurl {
-        name = "_sendgrid_client___client_7.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.0.tgz";
-        sha512 = "cpBVZKLlMTO+vpE18krTixubYmZa98oTbLkqBDuTiA3zRkW+urrxg7pDR24TkI35Mid0Zru8jDHwnOiqrXu0TA==";
+        name = "_mysql_xdevapi___xdevapi_8.0.28.tgz";
+        url  = "https://registry.yarnpkg.com/@mysql/xdevapi/-/xdevapi-8.0.28.tgz";
+        sha512 = "+plt6Ua6uVpV754w6QR2Lzg0iria7ynlaPPORM0YfiP6cabIAyanlnNmKkXmYR3eGc8kL3GW/zw4HJ2CIlnR6A==";
+      };
+    }
+    {
+      name = "_sendgrid_client___client_7.6.1.tgz";
+      path = fetchurl {
+        name = "_sendgrid_client___client_7.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.1.tgz";
+        sha512 = "q4U5OhcbJjs+lLVv/LhZSc28feiVCFMgvG9aYcRI5X4tKArnrrGDWb5HMITR9vaAtX42TXhyPFjHr1fk/Q1loQ==";
       };
     }
     {
@@ -122,11 +130,11 @@
       };
     }
     {
-      name = "_sendgrid_mail___mail_7.6.0.tgz";
+      name = "_sendgrid_mail___mail_7.6.1.tgz";
       path = fetchurl {
-        name = "_sendgrid_mail___mail_7.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.0.tgz";
-        sha512 = "0KdaSZzflJD/vUAZjB3ALBIuaVGoLq22hrb2fvQXZHRepU/yhRNlEOqrr05MfKBnKskzq1blnD1J0fHxiwaolw==";
+        name = "_sendgrid_mail___mail_7.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/@sendgrid/mail/-/mail-7.6.1.tgz";
+        sha512 = "F+HXpDLIU4PGZyZznOiFLDGJDwLn2qh7/wD5MvwurrldDx5DaGQHrYBKHopceOl15FVuq9ElU9VIxQJF8SMvTg==";
       };
     }
     {
@@ -146,27 +154,27 @@
       };
     }
     {
-      name = "_types_ldapjs___ldapjs_1.0.11.tgz";
+      name = "_types_ldapjs___ldapjs_2.2.2.tgz";
       path = fetchurl {
-        name = "_types_ldapjs___ldapjs_1.0.11.tgz";
-        url  = "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-1.0.11.tgz";
-        sha512 = "O4D1frY6xy2mQr5WouNPeltMe5EHdmU4FxbLDC6TMDX5HXOuafusGu+7Y9WAoqBaYHZ5hcFa7jfkpggyexfeXQ==";
+        name = "_types_ldapjs___ldapjs_2.2.2.tgz";
+        url  = "https://registry.yarnpkg.com/@types/ldapjs/-/ldapjs-2.2.2.tgz";
+        sha512 = "U5HdnwIZ5uZa+f3usxdqgyfNmOROxOxXvQdQtsu6sKo8fte5vej9br2csHxPvXreAbAO1bs8/rdEzvCLpi67nQ==";
       };
     }
     {
-      name = "_types_node___node_16.11.12.tgz";
+      name = "_types_node___node_17.0.17.tgz";
       path = fetchurl {
-        name = "_types_node___node_16.11.12.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-16.11.12.tgz";
-        sha512 = "+2Iggwg7PxoO5Kyhvsq9VarmPbIelXP070HMImEpbtGCoyWNINQj4wzjbQCXzdHTRXnqufutJb5KAURZANNBAw==";
+        name = "_types_node___node_17.0.17.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-17.0.17.tgz";
+        sha512 = "e8PUNQy1HgJGV3iU/Bp2+D/DXh3PYeyli8LgIwsQcs1Ar1LoaWHSIT6Rw+H2rNJmiq6SNWiDytfx8+gYj7wDHw==";
       };
     }
     {
-      name = "_types_node___node_14.18.0.tgz";
+      name = "_types_node___node_14.18.11.tgz";
       path = fetchurl {
-        name = "_types_node___node_14.18.0.tgz";
-        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.0.tgz";
-        sha512 = "0GeIl2kmVMXEnx8tg1SlG6Gg8vkqirrW752KqolYo1PHevhhZN3bhJ67qHj+bQaINhX0Ra3TlWwRvMCd9iEfNQ==";
+        name = "_types_node___node_14.18.11.tgz";
+        url  = "https://registry.yarnpkg.com/@types/node/-/node-14.18.11.tgz";
+        sha512 = "zCoCEMA+IPpsRkyCFBqew5vGb7r8RSiB3uwdu/map7uwLAfu1MTazW26/pUDWoNnF88vJz4W3U56i5gtXNqxGg==";
       };
     }
     {
@@ -450,19 +458,19 @@
       };
     }
     {
-      name = "accepts___accepts_1.3.7.tgz";
+      name = "accepts___accepts_1.3.8.tgz";
       path = fetchurl {
-        name = "accepts___accepts_1.3.7.tgz";
-        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.7.tgz";
-        sha512 = "Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==";
+        name = "accepts___accepts_1.3.8.tgz";
+        url  = "https://registry.yarnpkg.com/accepts/-/accepts-1.3.8.tgz";
+        sha512 = "PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==";
       };
     }
     {
-      name = "acme_client___acme_client_4.1.3.tgz";
+      name = "acme_client___acme_client_4.2.3.tgz";
       path = fetchurl {
-        name = "acme_client___acme_client_4.1.3.tgz";
-        url  = "https://registry.yarnpkg.com/acme-client/-/acme-client-4.1.3.tgz";
-        sha512 = "QL3F5us72ChCDsrSztGnTRo1HXBaOeptyUi6v2PNksZL728wZ3ZaxAST+QcfhAt2tOrr9Zl6zJorqS5vLBTtXA==";
+        name = "acme_client___acme_client_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/acme-client/-/acme-client-4.2.3.tgz";
+        sha512 = "fzNysQ7OdBWPlELQbjjjLo2eqrmMpdd6DZ9/d4jxHJItpKC4GKYLTxA3UIYca9BcY4Zr8un/axyEGnyRHKLGbw==";
       };
     }
     {
@@ -506,11 +514,11 @@
       };
     }
     {
-      name = "acorn___acorn_8.6.0.tgz";
+      name = "acorn___acorn_8.7.0.tgz";
       path = fetchurl {
-        name = "acorn___acorn_8.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.6.0.tgz";
-        sha512 = "U1riIR+lBSNi3IbxtaHOIKdH8sLFv3NYfNv8sg7ZsNhcfl4HF2++BfqqrNAxoCLQW1iiylOj76ecnaUxz+z9yw==";
+        name = "acorn___acorn_8.7.0.tgz";
+        url  = "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz";
+        sha512 = "V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ==";
       };
     }
     {
@@ -666,11 +674,11 @@
       };
     }
     {
-      name = "archiver_zip_encrypted___archiver_zip_encrypted_1.0.10.tgz";
+      name = "archiver_zip_encrypted___archiver_zip_encrypted_1.0.11.tgz";
       path = fetchurl {
-        name = "archiver_zip_encrypted___archiver_zip_encrypted_1.0.10.tgz";
-        url  = "https://registry.yarnpkg.com/archiver-zip-encrypted/-/archiver-zip-encrypted-1.0.10.tgz";
-        sha512 = "Lrufx6UOithz1Z4C0PrwTsbF7qak/TDhMs3nAC/mFxV/tPKKaMhdjUgHV1UqRjcu2FaS8ghNexFVcNZ+CdFaXA==";
+        name = "archiver_zip_encrypted___archiver_zip_encrypted_1.0.11.tgz";
+        url  = "https://registry.yarnpkg.com/archiver-zip-encrypted/-/archiver-zip-encrypted-1.0.11.tgz";
+        sha512 = "uXQzXSrZKW7TZ1g4BhfJFt1KjlKqY4SnCgDS6QhQKJoAriPXPKqhFQbvaIirWcR0pi5h3UF5Ktau7FVnS3AsGw==";
       };
     }
     {
@@ -874,11 +882,11 @@
       };
     }
     {
-      name = "async___async_3.2.2.tgz";
+      name = "async___async_3.2.3.tgz";
       path = fetchurl {
-        name = "async___async_3.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz";
-        sha512 = "H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g==";
+        name = "async___async_3.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/async/-/async-3.2.3.tgz";
+        sha512 = "spZRyzKL5l5BZQrr/6m/SqFdBN0q3OCI0f9rjfBzCMBIP4p75P620rR3gTmaksNOhmzgdxcaxdNfMy6anrbM0g==";
       };
     }
     {
@@ -914,14 +922,6 @@
       };
     }
     {
-      name = "axios___axios_0.21.1.tgz";
-      path = fetchurl {
-        name = "axios___axios_0.21.1.tgz";
-        url  = "https://registry.yarnpkg.com/axios/-/axios-0.21.1.tgz";
-        sha512 = "dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==";
-      };
-    }
-    {
       name = "axios___axios_0.21.4.tgz";
       path = fetchurl {
         name = "axios___axios_0.21.4.tgz";
@@ -930,6 +930,22 @@
       };
     }
     {
+      name = "axios___axios_0.24.0.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.24.0.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz";
+        sha512 = "Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==";
+      };
+    }
+    {
+      name = "axios___axios_0.25.0.tgz";
+      path = fetchurl {
+        name = "axios___axios_0.25.0.tgz";
+        url  = "https://registry.yarnpkg.com/axios/-/axios-0.25.0.tgz";
+        sha512 = "cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==";
+      };
+    }
+    {
       name = "babel_cli___babel_cli_6.26.0.tgz";
       path = fetchurl {
         name = "babel_cli___babel_cli_6.26.0.tgz";
@@ -1474,14 +1490,6 @@
       };
     }
     {
-      name = "body_parser___body_parser_1.19.0.tgz";
-      path = fetchurl {
-        name = "body_parser___body_parser_1.19.0.tgz";
-        url  = "https://registry.yarnpkg.com/body-parser/-/body-parser-1.19.0.tgz";
-        sha512 = "dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==";
-      };
-    }
-    {
       name = "body_parser___body_parser_1.19.1.tgz";
       path = fetchurl {
         name = "body_parser___body_parser_1.19.1.tgz";
@@ -1538,11 +1546,11 @@
       };
     }
     {
-      name = "bson___bson_4.6.0.tgz";
+      name = "bson___bson_4.6.1.tgz";
       path = fetchurl {
-        name = "bson___bson_4.6.0.tgz";
-        url  = "https://registry.yarnpkg.com/bson/-/bson-4.6.0.tgz";
-        sha512 = "8jw1NU1hglS+Da1jDOUYuNcBJ4cNHCFIqzlwoFNnsTOg2R/ox0aTYcTiBN4dzRa9q7Cvy6XErh3L8ReTEb9AQQ==";
+        name = "bson___bson_4.6.1.tgz";
+        url  = "https://registry.yarnpkg.com/bson/-/bson-4.6.1.tgz";
+        sha512 = "I1LQ7Hz5zgwR4QquilLNZwbhPw0Apx7i7X9kGMBTsqPdml/03Q9NBtD9nt/19ahjlphktQImrnderxqpzeVDjw==";
       };
     }
     {
@@ -1610,14 +1618,6 @@
       };
     }
     {
-      name = "bytes___bytes_3.1.0.tgz";
-      path = fetchurl {
-        name = "bytes___bytes_3.1.0.tgz";
-        url  = "https://registry.yarnpkg.com/bytes/-/bytes-3.1.0.tgz";
-        sha512 = "zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==";
-      };
-    }
-    {
       name = "bytes___bytes_3.1.1.tgz";
       path = fetchurl {
         name = "bytes___bytes_3.1.1.tgz";
@@ -2050,11 +2050,11 @@
       };
     }
     {
-      name = "content_disposition___content_disposition_0.5.3.tgz";
+      name = "content_disposition___content_disposition_0.5.4.tgz";
       path = fetchurl {
-        name = "content_disposition___content_disposition_0.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.3.tgz";
-        sha512 = "ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==";
+        name = "content_disposition___content_disposition_0.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/content-disposition/-/content-disposition-0.5.4.tgz";
+        sha512 = "FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==";
       };
     }
     {
@@ -2090,11 +2090,11 @@
       };
     }
     {
-      name = "cookie___cookie_0.4.0.tgz";
+      name = "cookie___cookie_0.4.1.tgz";
       path = fetchurl {
-        name = "cookie___cookie_0.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.0.tgz";
-        sha512 = "+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==";
+        name = "cookie___cookie_0.4.1.tgz";
+        url  = "https://registry.yarnpkg.com/cookie/-/cookie-0.4.1.tgz";
+        sha512 = "ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==";
       };
     }
     {
@@ -2154,11 +2154,11 @@
       };
     }
     {
-      name = "crc_32___crc_32_1.2.0.tgz";
+      name = "crc_32___crc_32_1.2.1.tgz";
       path = fetchurl {
-        name = "crc_32___crc_32_1.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.0.tgz";
-        sha512 = "1uBwHxF+Y/4yF5G48fwnKq6QsIXheor3ZLPT80yGBV1oEUwpPojlEhQbWKVw1VwcTQyMGHK1/XMmTjmlsmTTGA==";
+        name = "crc_32___crc_32_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.1.tgz";
+        sha512 = "Dn/xm/1vFFgs3nfrpEVScHoIslO9NZRITWGz/1E/St6u4xw99vfZzVkW0OSnzx2h9egej9xwMCEut6sqwokM/w==";
       };
     }
     {
@@ -2714,11 +2714,11 @@
       };
     }
     {
-      name = "express___express_4.17.1.tgz";
+      name = "express___express_4.17.2.tgz";
       path = fetchurl {
-        name = "express___express_4.17.1.tgz";
-        url  = "https://registry.yarnpkg.com/express/-/express-4.17.1.tgz";
-        sha512 = "mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==";
+        name = "express___express_4.17.2.tgz";
+        url  = "https://registry.yarnpkg.com/express/-/express-4.17.2.tgz";
+        sha512 = "oxlxJxcQlYwqPWKVJJtvQiwHgosH/LrLSPA+H4UxpyvSS6jC5aH+5MoHFM+KABgTOt0APue4w66Ha8jCUo9QGg==";
       };
     }
     {
@@ -2994,11 +2994,11 @@
       };
     }
     {
-      name = "follow_redirects___follow_redirects_1.14.6.tgz";
+      name = "follow_redirects___follow_redirects_1.14.8.tgz";
       path = fetchurl {
-        name = "follow_redirects___follow_redirects_1.14.6.tgz";
-        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.6.tgz";
-        sha512 = "fhUl5EwSJbbl8AR+uYL2KQDxLkdSjZGR36xy46AO7cOMTrCMON6Sa28FmAnC2tRTDbd/Uuzz3aJBv7EBN7JH8A==";
+        name = "follow_redirects___follow_redirects_1.14.8.tgz";
+        url  = "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.14.8.tgz";
+        sha512 = "1x0S9UVJHsQprFcEC/qnNzBLcIxsjAV905f/UkQxbclCsoTWlacCNOpQa/anodLl2uaEKFhfWOvM2Qg77+15zA==";
       };
     }
     {
@@ -3290,19 +3290,19 @@
       };
     }
     {
-      name = "google_auth_library___google_auth_library_7.10.3.tgz";
+      name = "google_auth_library___google_auth_library_7.12.0.tgz";
       path = fetchurl {
-        name = "google_auth_library___google_auth_library_7.10.3.tgz";
-        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.10.3.tgz";
-        sha512 = "VBwUCrjR+/p/J4ifSZRXG0XEc3Cm+2xnFrJi3A9DC2GzbCUK5j+R6CfqS7jyu1Hureb1PV53ZXZS1QV9PYUCrw==";
+        name = "google_auth_library___google_auth_library_7.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-7.12.0.tgz";
+        sha512 = "RS/whvFPMoF1hQNxnoVET3DWKPBt1Xgqe2rY0k+Jn7TNhoHlwdnSe7Rlcbo2Nub3Mt2lUVz26X65aDQrWp6x8w==";
       };
     }
     {
-      name = "google_p12_pem___google_p12_pem_3.1.2.tgz";
+      name = "google_p12_pem___google_p12_pem_3.1.3.tgz";
       path = fetchurl {
-        name = "google_p12_pem___google_p12_pem_3.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.2.tgz";
-        sha512 = "tjf3IQIt7tWCDsa0ofDQ1qqSCNzahXDxdAGJDbruWqu3eCg5CKLYKN+hi0s6lfvzYZ1GDVr+oDF9OOWlDSdf0A==";
+        name = "google_p12_pem___google_p12_pem_3.1.3.tgz";
+        url  = "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.3.tgz";
+        sha512 = "MC0jISvzymxePDVembypNefkAQp+DRP7dBE+zNUPaIjEspIlYg0++OrsNr248V9tPbz6iqtZ7rX1hxWA5B8qBQ==";
       };
     }
     {
@@ -3322,19 +3322,19 @@
       };
     }
     {
-      name = "googleapis___googleapis_92.0.0.tgz";
+      name = "googleapis___googleapis_95.0.0.tgz";
       path = fetchurl {
-        name = "googleapis___googleapis_92.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-92.0.0.tgz";
-        sha512 = "5HgJg7XvqEEJ+GO+2gvnzd5cAcDuSS/VB6nW7thoyj2GMq9nH4VvJwncSevinjLCnv06a+VSxrXNiL5vePHojA==";
+        name = "googleapis___googleapis_95.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/googleapis/-/googleapis-95.0.0.tgz";
+        sha512 = "ZpFZW7FDwcjQa2+xZNS2SC5sK2s46iWKA5QSFVJSK3RELQec4PYHhzKwzbeCzt4urnjYp6udPif95zXTFxbtRA==";
       };
     }
     {
-      name = "graceful_fs___graceful_fs_4.2.8.tgz";
+      name = "graceful_fs___graceful_fs_4.2.9.tgz";
       path = fetchurl {
-        name = "graceful_fs___graceful_fs_4.2.8.tgz";
-        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz";
-        sha512 = "qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg==";
+        name = "graceful_fs___graceful_fs_4.2.9.tgz";
+        url  = "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.9.tgz";
+        sha512 = "NtNxqUcXgpW2iMrfqSfR73Glt39K+BLwWsPs94yR63v45T0Wbej7eRmL5cWfwEgqXnmjQp3zaJTshdRW/qC2ZQ==";
       };
     }
     {
@@ -3394,11 +3394,11 @@
       };
     }
     {
-      name = "gtoken___gtoken_5.3.1.tgz";
+      name = "gtoken___gtoken_5.3.2.tgz";
       path = fetchurl {
-        name = "gtoken___gtoken_5.3.1.tgz";
-        url  = "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.1.tgz";
-        sha512 = "yqOREjzLHcbzz1UrQoxhBtpk8KjrVhuqPE7od1K2uhyxG2BHjKZetlbLw/SPZak/QqTIQW+addS+EcjqQsZbwQ==";
+        name = "gtoken___gtoken_5.3.2.tgz";
+        url  = "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.2.tgz";
+        sha512 = "gkvEKREW7dXWF8NV8pVrKfW7WqReAmjjkMBh6lNCCGOM4ucS0r0YyXXl0r/9Yj8wcW/32ISkfc8h5mPTDbtifQ==";
       };
     }
     {
@@ -3650,14 +3650,6 @@
       };
     }
     {
-      name = "http_errors___http_errors_1.7.2.tgz";
-      path = fetchurl {
-        name = "http_errors___http_errors_1.7.2.tgz";
-        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz";
-        sha512 = "uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==";
-      };
-    }
-    {
       name = "http_errors___http_errors_1.8.1.tgz";
       path = fetchurl {
         name = "http_errors___http_errors_1.8.1.tgz";
@@ -3666,14 +3658,6 @@
       };
     }
     {
-      name = "http_errors___http_errors_1.7.3.tgz";
-      path = fetchurl {
-        name = "http_errors___http_errors_1.7.3.tgz";
-        url  = "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz";
-        sha512 = "ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw==";
-      };
-    }
-    {
       name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
       path = fetchurl {
         name = "http_proxy_agent___http_proxy_agent_5.0.0.tgz";
@@ -3738,11 +3722,11 @@
       };
     }
     {
-      name = "image_size___image_size_1.0.0.tgz";
+      name = "image_size___image_size_1.0.1.tgz";
       path = fetchurl {
-        name = "image_size___image_size_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/image-size/-/image-size-1.0.0.tgz";
-        sha512 = "JLJ6OwBfO1KcA+TvJT+v8gbE6iWbj24LyDNFgFEN0lzegn6cC6a/p3NIDaepMsJjQjlUWqIC7wJv8lBFxPNjcw==";
+        name = "image_size___image_size_1.0.1.tgz";
+        url  = "https://registry.yarnpkg.com/image-size/-/image-size-1.0.1.tgz";
+        sha512 = "VAwkvNSNGClRw9mDHhc5Efax8PLlsOGcUTh0T/LIriC8vPA3U5PdqXWqkz406MoYHMKW8Uf9gWr05T/rYB44kQ==";
       };
     }
     {
@@ -3778,14 +3762,6 @@
       };
     }
     {
-      name = "inherits___inherits_2.0.3.tgz";
-      path = fetchurl {
-        name = "inherits___inherits_2.0.3.tgz";
-        url  = "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz";
-        sha1 = "Yzwsg+PaQqUC9SRmAiSA9CCCYd4=";
-      };
-    }
-    {
       name = "ini___ini_1.3.8.tgz";
       path = fetchurl {
         name = "ini___ini_1.3.8.tgz";
@@ -3882,11 +3858,11 @@
       };
     }
     {
-      name = "is_core_module___is_core_module_2.8.0.tgz";
+      name = "is_core_module___is_core_module_2.8.1.tgz";
       path = fetchurl {
-        name = "is_core_module___is_core_module_2.8.0.tgz";
-        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.0.tgz";
-        sha512 = "vd15qHsaqrRL7dtH6QNuy0ndJmRDrS9HAM1CAiSifNUFv4x1a0CCVsj18hJ1mShxIG6T2i1sO78MkP56r0nYRw==";
+        name = "is_core_module___is_core_module_2.8.1.tgz";
+        url  = "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz";
+        sha512 = "SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA==";
       };
     }
     {
@@ -4530,11 +4506,11 @@
       };
     }
     {
-      name = "ldapauth_fork___ldapauth_fork_5.0.1.tgz";
+      name = "ldapauth_fork___ldapauth_fork_5.0.2.tgz";
       path = fetchurl {
-        name = "ldapauth_fork___ldapauth_fork_5.0.1.tgz";
-        url  = "https://registry.yarnpkg.com/ldapauth-fork/-/ldapauth-fork-5.0.1.tgz";
-        sha512 = "EdELQz8zgPruqV2y88PAuAiZCgTaMjex/kEA2PIcOlPYFt75C9QFt5HGZKVQo8Sf/3Mwnr1AtiThHKcq+pRtEg==";
+        name = "ldapauth_fork___ldapauth_fork_5.0.2.tgz";
+        url  = "https://registry.yarnpkg.com/ldapauth-fork/-/ldapauth-fork-5.0.2.tgz";
+        sha512 = "fWrrBwJ162rzQIIqfPsfCHy/861kEalQNIu16gmwOMr5cmdfjNkw7XfTlzCTJHybnFg9oW9WaX4DGXa0xiGPmA==";
       };
     }
     {
@@ -4970,11 +4946,11 @@
       };
     }
     {
-      name = "minimatch___minimatch_3.0.4.tgz";
+      name = "minimatch___minimatch_3.0.5.tgz";
       path = fetchurl {
-        name = "minimatch___minimatch_3.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.4.tgz";
-        sha512 = "yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==";
+        name = "minimatch___minimatch_3.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/minimatch/-/minimatch-3.0.5.tgz";
+        sha512 = "tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==";
       };
     }
     {
@@ -5114,14 +5090,6 @@
       };
     }
     {
-      name = "ms___ms_2.1.1.tgz";
-      path = fetchurl {
-        name = "ms___ms_2.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz";
-        sha512 = "tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==";
-      };
-    }
-    {
       name = "ms___ms_2.1.2.tgz";
       path = fetchurl {
         name = "ms___ms_2.1.2.tgz";
@@ -5138,11 +5106,11 @@
       };
     }
     {
-      name = "multiparty___multiparty_4.2.2.tgz";
+      name = "multiparty___multiparty_4.2.3.tgz";
       path = fetchurl {
-        name = "multiparty___multiparty_4.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.2.tgz";
-        sha512 = "NtZLjlvsjcoGrzojtwQwn/Tm90aWJ6XXtPppYF4WmOk/6ncdwMMKggFY2NlRRN9yiCEIVxpOfPWahVEG2HAG8Q==";
+        name = "multiparty___multiparty_4.2.3.tgz";
+        url  = "https://registry.yarnpkg.com/multiparty/-/multiparty-4.2.3.tgz";
+        sha512 = "Ak6EUJZuhGS8hJ3c2fY6UW5MbkGUPMBEGd13djUzoY/BHqV/gTuFWtC6IuVA7A2+v3yjBS6c4or50xhzTQZImQ==";
       };
     }
     {
@@ -5202,11 +5170,11 @@
       };
     }
     {
-      name = "negotiator___negotiator_0.6.2.tgz";
+      name = "negotiator___negotiator_0.6.3.tgz";
       path = fetchurl {
-        name = "negotiator___negotiator_0.6.2.tgz";
-        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.2.tgz";
-        sha512 = "hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==";
+        name = "negotiator___negotiator_0.6.3.tgz";
+        url  = "https://registry.yarnpkg.com/negotiator/-/negotiator-0.6.3.tgz";
+        sha512 = "+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==";
       };
     }
     {
@@ -5250,19 +5218,19 @@
       };
     }
     {
-      name = "node_fetch___node_fetch_2.6.6.tgz";
+      name = "node_fetch___node_fetch_2.6.7.tgz";
       path = fetchurl {
-        name = "node_fetch___node_fetch_2.6.6.tgz";
-        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz";
-        sha512 = "Z8/6vRlTUChSdIgMa51jxQ4lrw/Jy5SOW10ObaA47/RElsAN2c5Pn8bTgFGWn/ibwzXTE8qwr1Yzx28vsecXEA==";
+        name = "node_fetch___node_fetch_2.6.7.tgz";
+        url  = "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.7.tgz";
+        sha512 = "ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==";
       };
     }
     {
-      name = "node_forge___node_forge_0.10.0.tgz";
+      name = "node_forge___node_forge_1.2.1.tgz";
       path = fetchurl {
-        name = "node_forge___node_forge_0.10.0.tgz";
-        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz";
-        sha512 = "PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==";
+        name = "node_forge___node_forge_1.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/node-forge/-/node-forge-1.2.1.tgz";
+        sha512 = "Fcvtbb+zBcZXbTTVwqGA5W+MKBj56UjVRevvchv5XrcyXbmNdesfZL37nlcWOfpgHhgmxApw3tQbTr4CqNmX4w==";
       };
     }
     {
@@ -5426,11 +5394,11 @@
       };
     }
     {
-      name = "object_inspect___object_inspect_1.11.1.tgz";
+      name = "object_inspect___object_inspect_1.12.0.tgz";
       path = fetchurl {
-        name = "object_inspect___object_inspect_1.11.1.tgz";
-        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.11.1.tgz";
-        sha512 = "If7BjFlpkzzBeV1cqgT3OSWT3azyoxDGajR+iGnFBfVV2EWyDyWaZZW2ERDjUaY2QM8i5jI3Sj7mhsM4DDAqWA==";
+        name = "object_inspect___object_inspect_1.12.0.tgz";
+        url  = "https://registry.yarnpkg.com/object-inspect/-/object-inspect-1.12.0.tgz";
+        sha512 = "Ho2z80bVIvJloH+YzRmpZVQe87+qASmBUKZDWgx9cu+KDrX2ZDH/3tMy+gXbZETVGs2M8YdxObOh7XAtim9Y0g==";
       };
     }
     {
@@ -5802,11 +5770,11 @@
       };
     }
     {
-      name = "passport_saml___passport_saml_3.2.0.tgz";
+      name = "passport_saml___passport_saml_3.2.1.tgz";
       path = fetchurl {
-        name = "passport_saml___passport_saml_3.2.0.tgz";
-        url  = "https://registry.yarnpkg.com/passport-saml/-/passport-saml-3.2.0.tgz";
-        sha512 = "EUzL+Wk8ZVdvOYhCBTkUrR1fwuMwF9za1FinFabP5Tl9qeJktsJWfoiBz7Fk6jQvpLwfnfryGdvwcOlGVct41A==";
+        name = "passport_saml___passport_saml_3.2.1.tgz";
+        url  = "https://registry.yarnpkg.com/passport-saml/-/passport-saml-3.2.1.tgz";
+        sha512 = "Y8aD94B6MTLht57BlBrDauEgvtWjuSeINKk7NadXlpT/OBmsoGGYPpb0FJeBtdyGX4GEbZARAkxvBEqsL8E7XQ==";
       };
     }
     {
@@ -5826,11 +5794,11 @@
       };
     }
     {
-      name = "passport___passport_0.5.0.tgz";
+      name = "passport___passport_0.5.2.tgz";
       path = fetchurl {
-        name = "passport___passport_0.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/passport/-/passport-0.5.0.tgz";
-        sha512 = "ln+ue5YaNDS+fes6O5PCzXKSseY5u8MYhX9H5Co4s+HfYI5oqvnHKoOORLYDUPh+8tHvrxugF2GFcUA1Q1Gqfg==";
+        name = "passport___passport_0.5.2.tgz";
+        url  = "https://registry.yarnpkg.com/passport/-/passport-0.5.2.tgz";
+        sha512 = "w9n/Ot5I7orGD4y+7V3EFJCQEznE5RxHamUxcqLT2QoJY0f2JdN8GyHonYFvN0Vz+L6lUJfVhrk2aZz2LbuREw==";
       };
     }
     {
@@ -5954,11 +5922,11 @@
       };
     }
     {
-      name = "pg_pool___pg_pool_3.4.1.tgz";
+      name = "pg_pool___pg_pool_3.5.1.tgz";
       path = fetchurl {
-        name = "pg_pool___pg_pool_3.4.1.tgz";
-        url  = "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.4.1.tgz";
-        sha512 = "TVHxR/gf3MeJRvchgNHxsYsTCHQ+4wm3VIHSS19z8NC0+gioEhq1okDY1sm/TYbfoP6JLFx01s0ShvZ3puP/iQ==";
+        name = "pg_pool___pg_pool_3.5.1.tgz";
+        url  = "https://registry.yarnpkg.com/pg-pool/-/pg-pool-3.5.1.tgz";
+        sha512 = "6iCR0wVrro6OOHFsyavV+i6KYL4lVNyYAB9RD18w66xSzN+d8b66HiwuP30Gp1SH5O9T82fckkzsRjlrhD0ioQ==";
       };
     }
     {
@@ -5986,11 +5954,19 @@
       };
     }
     {
-      name = "pgpass___pgpass_1.0.4.tgz";
+      name = "pg___pg_8.7.3.tgz";
       path = fetchurl {
-        name = "pgpass___pgpass_1.0.4.tgz";
-        url  = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.4.tgz";
-        sha512 = "YmuA56alyBq7M59vxVBfPJrGSozru8QAdoNlWuW3cz8l+UX3cWge0vTvjKhsSHSJpo3Bom8/Mm6hf0TR5GY0+w==";
+        name = "pg___pg_8.7.3.tgz";
+        url  = "https://registry.yarnpkg.com/pg/-/pg-8.7.3.tgz";
+        sha512 = "HPmH4GH4H3AOprDJOazoIcpI49XFsHCe8xlrjHkWiapdbHK+HLtbm/GQzXYAZwmPju/kzKhjaSfMACG+8cgJcw==";
+      };
+    }
+    {
+      name = "pgpass___pgpass_1.0.5.tgz";
+      path = fetchurl {
+        name = "pgpass___pgpass_1.0.5.tgz";
+        url  = "https://registry.yarnpkg.com/pgpass/-/pgpass-1.0.5.tgz";
+        sha512 = "FdW9r/jQZhSeohs1Z3sI1yxFQNFvMcnmfuj4WBMUTxOrAyLMaTcE1aAMBiTlbMNaXvBCQuVi0R7hd8udDSP7ug==";
       };
     }
     {
@@ -6002,11 +5978,11 @@
       };
     }
     {
-      name = "picomatch___picomatch_2.3.0.tgz";
+      name = "picomatch___picomatch_2.3.1.tgz";
       path = fetchurl {
-        name = "picomatch___picomatch_2.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz";
-        sha512 = "lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw==";
+        name = "picomatch___picomatch_2.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz";
+        sha512 = "JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==";
       };
     }
     {
@@ -6074,11 +6050,11 @@
       };
     }
     {
-      name = "plivo___plivo_4.25.1.tgz";
+      name = "plivo___plivo_4.27.0.tgz";
       path = fetchurl {
-        name = "plivo___plivo_4.25.1.tgz";
-        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.25.1.tgz";
-        sha512 = "AaUxFqxanP855M5Pe2FQ6IGfNVtCXryvjqEso5crRCqPW7IGmNnSONift7RMaEiu4vMXPNjrSPYv5Wfo6UkR0A==";
+        name = "plivo___plivo_4.27.0.tgz";
+        url  = "https://registry.yarnpkg.com/plivo/-/plivo-4.27.0.tgz";
+        sha512 = "bmtc/GSQsxBW5aarr8z8lS07vl4HWtgTZTb8W5/dfsm9Z3dG3VDswkFIeu+n0ZkJ+FEbVGPkCV4EJ7jfRA+2Cw==";
       };
     }
     {
@@ -6154,11 +6130,11 @@
       };
     }
     {
-      name = "printj___printj_1.1.2.tgz";
+      name = "printj___printj_1.3.1.tgz";
       path = fetchurl {
-        name = "printj___printj_1.1.2.tgz";
-        url  = "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz";
-        sha512 = "zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ==";
+        name = "printj___printj_1.3.1.tgz";
+        url  = "https://registry.yarnpkg.com/printj/-/printj-1.3.1.tgz";
+        sha512 = "GA3TdL8szPK4AQ2YnOe/b+Y1jUFwmmGMMK/qbY7VcE3Z7FU8JstbKiKRzO6CIiAKPhTO8m01NoQ0V5f3jc4OGg==";
       };
     }
     {
@@ -6266,14 +6242,6 @@
       };
     }
     {
-      name = "qs___qs_6.7.0.tgz";
-      path = fetchurl {
-        name = "qs___qs_6.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.7.0.tgz";
-        sha512 = "VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==";
-      };
-    }
-    {
       name = "qs___qs_6.9.6.tgz";
       path = fetchurl {
         name = "qs___qs_6.9.6.tgz";
@@ -6282,19 +6250,19 @@
       };
     }
     {
-      name = "qs___qs_6.10.2.tgz";
+      name = "qs___qs_6.10.3.tgz";
       path = fetchurl {
-        name = "qs___qs_6.10.2.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.10.2.tgz";
-        sha512 = "mSIdjzqznWgfd4pMii7sHtaYF8rx8861hBO80SraY5GT0XQibWZWJSid0avzHGkDIZLImux2S5mXO0Hfct2QCw==";
+        name = "qs___qs_6.10.3.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.10.3.tgz";
+        sha512 = "wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==";
       };
     }
     {
-      name = "qs___qs_6.5.2.tgz";
+      name = "qs___qs_6.5.3.tgz";
       path = fetchurl {
-        name = "qs___qs_6.5.2.tgz";
-        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.2.tgz";
-        sha512 = "N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==";
+        name = "qs___qs_6.5.3.tgz";
+        url  = "https://registry.yarnpkg.com/qs/-/qs-6.5.3.tgz";
+        sha512 = "qxXIEh4pCGfHICj1mAJQ2/2XVZkjCDTcEgfoSQxc/fYivUZxTkk7L3bDBJSoNrEzXI17oUO5Dp07ktqE5KzczA==";
       };
     }
     {
@@ -6354,14 +6322,6 @@
       };
     }
     {
-      name = "raw_body___raw_body_2.4.0.tgz";
-      path = fetchurl {
-        name = "raw_body___raw_body_2.4.0.tgz";
-        url  = "https://registry.yarnpkg.com/raw-body/-/raw-body-2.4.0.tgz";
-        sha512 = "4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==";
-      };
-    }
-    {
       name = "raw_body___raw_body_2.4.2.tgz";
       path = fetchurl {
         name = "raw_body___raw_body_2.4.2.tgz";
@@ -6706,11 +6666,11 @@
       };
     }
     {
-      name = "resolve___resolve_1.20.0.tgz";
+      name = "resolve___resolve_1.22.0.tgz";
       path = fetchurl {
-        name = "resolve___resolve_1.20.0.tgz";
-        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz";
-        sha512 = "wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A==";
+        name = "resolve___resolve_1.22.0.tgz";
+        url  = "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz";
+        sha512 = "Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==";
       };
     }
     {
@@ -6922,19 +6882,19 @@
       };
     }
     {
-      name = "send___send_0.17.1.tgz";
+      name = "send___send_0.17.2.tgz";
       path = fetchurl {
-        name = "send___send_0.17.1.tgz";
-        url  = "https://registry.yarnpkg.com/send/-/send-0.17.1.tgz";
-        sha512 = "BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==";
+        name = "send___send_0.17.2.tgz";
+        url  = "https://registry.yarnpkg.com/send/-/send-0.17.2.tgz";
+        sha512 = "UJYB6wFSJE3G00nEivR5rgWp8c2xXvJ3OPWPhmuteU0IKj8nKbG3DrjiOmLwpnHGYWAVwA69zmTm++YG0Hmwww==";
       };
     }
     {
-      name = "serve_static___serve_static_1.14.1.tgz";
+      name = "serve_static___serve_static_1.14.2.tgz";
       path = fetchurl {
-        name = "serve_static___serve_static_1.14.1.tgz";
-        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.1.tgz";
-        sha512 = "JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==";
+        name = "serve_static___serve_static_1.14.2.tgz";
+        url  = "https://registry.yarnpkg.com/serve-static/-/serve-static-1.14.2.tgz";
+        sha512 = "+TMNA9AFxUEGuC0z2mevogSnn9MXKb4fa7ngeRMJaaGv8vTwnIEkKi+QGvPt33HSnf8pRS+WGM0EbMtCJLKMBQ==";
       };
     }
     {
@@ -6954,14 +6914,6 @@
       };
     }
     {
-      name = "setprototypeof___setprototypeof_1.1.1.tgz";
-      path = fetchurl {
-        name = "setprototypeof___setprototypeof_1.1.1.tgz";
-        url  = "https://registry.yarnpkg.com/setprototypeof/-/setprototypeof-1.1.1.tgz";
-        sha512 = "JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==";
-      };
-    }
-    {
       name = "setprototypeof___setprototypeof_1.2.0.tgz";
       path = fetchurl {
         name = "setprototypeof___setprototypeof_1.2.0.tgz";
@@ -6994,11 +6946,11 @@
       };
     }
     {
-      name = "signal_exit___signal_exit_3.0.6.tgz";
+      name = "signal_exit___signal_exit_3.0.7.tgz";
       path = fetchurl {
-        name = "signal_exit___signal_exit_3.0.6.tgz";
-        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.6.tgz";
-        sha512 = "sDl4qMFpijcGw22U5w63KmD3cZJfBuFlVNbVMKje2keoKML7X2UzWbc4XrmEbDwg0NXJc3yv4/ox7b+JWb57kQ==";
+        name = "signal_exit___signal_exit_3.0.7.tgz";
+        url  = "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.7.tgz";
+        sha512 = "wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==";
       };
     }
     {
@@ -7146,11 +7098,11 @@
       };
     }
     {
-      name = "split2___split2_3.2.2.tgz";
+      name = "split2___split2_4.1.0.tgz";
       path = fetchurl {
-        name = "split2___split2_3.2.2.tgz";
-        url  = "https://registry.yarnpkg.com/split2/-/split2-3.2.2.tgz";
-        sha512 = "9NThjpgZnifTkJpzTZ7Eue85S49QwpNhZTq6GRJwObb6jnLFNGB7Qm73V5HewTROPyxD0C29xqmaI68bQtV+hg==";
+        name = "split2___split2_4.1.0.tgz";
+        url  = "https://registry.yarnpkg.com/split2/-/split2-4.1.0.tgz";
+        sha512 = "VBiJxFkxiXRlUIeyMQi8s4hgvKCSjtknJv/LVYbrgALPwf5zSKmEwV9Lst25AkvMDnvxODugjdl6KZgwKM1WYQ==";
       };
     }
     {
@@ -7178,19 +7130,19 @@
       };
     }
     {
-      name = "ssh2___ssh2_1.5.0.tgz";
+      name = "ssh2___ssh2_1.6.0.tgz";
       path = fetchurl {
-        name = "ssh2___ssh2_1.5.0.tgz";
-        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.5.0.tgz";
-        sha512 = "iUmRkhH9KGeszQwDW7YyyqjsMTf4z+0o48Cp4xOwlY5LjtbIAvyd3fwnsoUZW/hXmTCRA3yt7S/Jb9uVjErVlA==";
+        name = "ssh2___ssh2_1.6.0.tgz";
+        url  = "https://registry.yarnpkg.com/ssh2/-/ssh2-1.6.0.tgz";
+        sha512 = "lxc+uvXqOxyQ99N2M7k5o4pkYDO5GptOTYduWw7hIM41icxvoBcCNHcj+LTKrjkL0vFcAl+qfZekthoSFRJn2Q==";
       };
     }
     {
-      name = "sshpk___sshpk_1.16.1.tgz";
+      name = "sshpk___sshpk_1.17.0.tgz";
       path = fetchurl {
-        name = "sshpk___sshpk_1.16.1.tgz";
-        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.16.1.tgz";
-        sha512 = "HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==";
+        name = "sshpk___sshpk_1.17.0.tgz";
+        url  = "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz";
+        sha512 = "/9HIEs1ZXGhSPE8X6Ccm7Nam1z8KcoCqPdI7ecm1N33EzAetWahvQWVqLZtaZQ+IDKX4IyA2o0gBzqIMkAagHQ==";
       };
     }
     {
@@ -7378,6 +7330,14 @@
       };
     }
     {
+      name = "supports_preserve_symlinks_flag___supports_preserve_symlinks_flag_1.0.0.tgz";
+      path = fetchurl {
+        name = "supports_preserve_symlinks_flag___supports_preserve_symlinks_flag_1.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz";
+        sha512 = "ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==";
+      };
+    }
+    {
       name = "symbol_tree___symbol_tree_3.2.4.tgz";
       path = fetchurl {
         name = "symbol_tree___symbol_tree_3.2.4.tgz";
@@ -7546,14 +7506,6 @@
       };
     }
     {
-      name = "toidentifier___toidentifier_1.0.0.tgz";
-      path = fetchurl {
-        name = "toidentifier___toidentifier_1.0.0.tgz";
-        url  = "https://registry.yarnpkg.com/toidentifier/-/toidentifier-1.0.0.tgz";
-        sha512 = "yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==";
-      };
-    }
-    {
       name = "toidentifier___toidentifier_1.0.1.tgz";
       path = fetchurl {
         name = "toidentifier___toidentifier_1.0.1.tgz";
@@ -7658,11 +7610,11 @@
       };
     }
     {
-      name = "twilio___twilio_3.71.3.tgz";
+      name = "twilio___twilio_3.74.0.tgz";
       path = fetchurl {
-        name = "twilio___twilio_3.71.3.tgz";
-        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.71.3.tgz";
-        sha512 = "m9eda9fvkHxMMDHRtXj8WKI0ViP4EG4xS5au5ay3ScfModhBZ1ZtyfWZ0AfWI++A7a1T1j3ZVNIZ+AMLwxSffw==";
+        name = "twilio___twilio_3.74.0.tgz";
+        url  = "https://registry.yarnpkg.com/twilio/-/twilio-3.74.0.tgz";
+        sha512 = "r79CWIug+x2/1uGOdAzGESvUvycxPCvVJ9rm4y1TsAocshTh+f5+ipULxyT3T5q4wJNT+k2OEiUBkKFA+cpQ/A==";
       };
     }
     {
@@ -7698,11 +7650,11 @@
       };
     }
     {
-      name = "uglify_js___uglify_js_3.14.5.tgz";
+      name = "uglify_js___uglify_js_3.15.1.tgz";
       path = fetchurl {
-        name = "uglify_js___uglify_js_3.14.5.tgz";
-        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.5.tgz";
-        sha512 = "qZukoSxOG0urUTvjc2ERMTcAy+BiFh3weWAkeurLwjrCba73poHmG3E36XEjd/JGukMzwTL7uCxZiAexj8ppvQ==";
+        name = "uglify_js___uglify_js_3.15.1.tgz";
+        url  = "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.15.1.tgz";
+        sha512 = "FAGKF12fWdkpvNJZENacOH0e/83eG6JyVQyanIJaBXCN1J11TUQv1T1/z8S+Z0CG0ZPk1nPcreF/c7lrTd0TEQ==";
       };
     }
     {
@@ -7738,19 +7690,19 @@
       };
     }
     {
-      name = "underscore.string___underscore.string_3.3.5.tgz";
+      name = "underscore.string___underscore.string_3.3.6.tgz";
       path = fetchurl {
-        name = "underscore.string___underscore.string_3.3.5.tgz";
-        url  = "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.5.tgz";
-        sha512 = "g+dpmgn+XBneLmXXo+sGlW5xQEt4ErkS3mgeN2GFbremYeMBSJKr9Wf2KJplQVaiPY/f7FN6atosWYNm9ovrYg==";
+        name = "underscore.string___underscore.string_3.3.6.tgz";
+        url  = "https://registry.yarnpkg.com/underscore.string/-/underscore.string-3.3.6.tgz";
+        sha512 = "VoC83HWXmCrF6rgkyxS9GHv8W9Q5nhMKho+OadDJGzL2oDYbYEppBaCMH6pFlwLeqj2QS+hhkw2kpXkSdD1JxQ==";
       };
     }
     {
-      name = "underscore___underscore_1.13.1.tgz";
+      name = "underscore___underscore_1.13.2.tgz";
       path = fetchurl {
-        name = "underscore___underscore_1.13.1.tgz";
-        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.1.tgz";
-        sha512 = "hzSoAVtJF+3ZtiFX0VgfFPHEDRm7Y/QPjGyNo4TVdnDTdft3tr8hEkD25a1jC+TjTuE7tkHGKkhwCgs9dgBB2g==";
+        name = "underscore___underscore_1.13.2.tgz";
+        url  = "https://registry.yarnpkg.com/underscore/-/underscore-1.13.2.tgz";
+        sha512 = "ekY1NhRzq0B08g4bGuX4wd2jZx5GnKz6mKSqFL4nqBlfyMGiG10gDFhDTMEfYmDL6Jy0FUIZp7wiRB+0BP7J2g==";
       };
     }
     {
@@ -7834,11 +7786,11 @@
       };
     }
     {
-      name = "url_parse___url_parse_1.5.3.tgz";
+      name = "url_parse___url_parse_1.5.4.tgz";
       path = fetchurl {
-        name = "url_parse___url_parse_1.5.3.tgz";
-        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.3.tgz";
-        sha512 = "IIORyIQD9rvj0A4CLWsHkBBJuNqWpFQe224b6j9t/ABmquIS0qDU2pY6kl6AuOrL5OkCXHMCFNe1jBcuAggjvQ==";
+        name = "url_parse___url_parse_1.5.4.tgz";
+        url  = "https://registry.yarnpkg.com/url-parse/-/url-parse-1.5.4.tgz";
+        sha512 = "ITeAByWWoqutFClc/lRZnFplgXgEZr3WJ6XngMM/N9DMIm4K8zXPCZ1Jdu0rERwO84w1WC5wkle2ubwTA4NTBg==";
       };
     }
     {
@@ -8042,11 +7994,11 @@
       };
     }
     {
-      name = "webdav___webdav_4.7.0.tgz";
+      name = "webdav___webdav_4.8.0.tgz";
       path = fetchurl {
-        name = "webdav___webdav_4.7.0.tgz";
-        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.7.0.tgz";
-        sha512 = "R1WZl/JeFPAmSEn1EPCmxSdPY8IxS/P0qnxAzBeRqEewpxVJ/UiCMJwXHLpyVsKYA1PIb1dYv+UTQsbNaQnLBw==";
+        name = "webdav___webdav_4.8.0.tgz";
+        url  = "https://registry.yarnpkg.com/webdav/-/webdav-4.8.0.tgz";
+        sha512 = "CVJvxu0attEfoQUKraDiNh3uMjNPNl+BY0pbcKbyc/X+8IXDnqAT4tT4Ge12w+j49fYuVpFVkpEGwBZabv7Uhw==";
       };
     }
     {
@@ -8258,19 +8210,19 @@
       };
     }
     {
-      name = "ws___ws_7.5.6.tgz";
+      name = "ws___ws_7.5.7.tgz";
       path = fetchurl {
-        name = "ws___ws_7.5.6.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.6.tgz";
-        sha512 = "6GLgCqo2cy2A2rjCNFlxQS6ZljG/coZfZXclldI8FB/1G3CCI36Zd8xy2HrFVACi8tfk5XrgLQEk+P0Tnz9UcA==";
+        name = "ws___ws_7.5.7.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-7.5.7.tgz";
+        sha512 = "KMvVuFzpKBuiIXW3E4u3mySRO2/mCHSyZDJQM5NQ9Q9KHWHWh0NHgfbRMLLrceUK5qAL4ytALJbpRMjixFZh8A==";
       };
     }
     {
-      name = "ws___ws_8.3.0.tgz";
+      name = "ws___ws_8.5.0.tgz";
       path = fetchurl {
-        name = "ws___ws_8.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/ws/-/ws-8.3.0.tgz";
-        sha512 = "Gs5EZtpqZzLvmIM59w4igITU57lrtYVFneaa434VROv4thzJyV6UjIL3D42lslWlI+D4KzLYnxSwtfuiO79sNw==";
+        name = "ws___ws_8.5.0.tgz";
+        url  = "https://registry.yarnpkg.com/ws/-/ws-8.5.0.tgz";
+        sha512 = "BWX0SWVgLPzYwF8lTzEy1egjhS4S4OEAHfsO8o65WOVsrnSRGaSiUaa9e0ggGlkMTtBlmOpEXiie9RUcBO86qg==";
       };
     }
     {
@@ -8282,11 +8234,11 @@
       };
     }
     {
-      name = "xml_encryption___xml_encryption_1.3.0.tgz";
+      name = "xml_encryption___xml_encryption_2.0.0.tgz";
       path = fetchurl {
-        name = "xml_encryption___xml_encryption_1.3.0.tgz";
-        url  = "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-1.3.0.tgz";
-        sha512 = "3P8C4egMMxSR1BmsRM+fG16a3WzOuUEQKS2U4c3AZ5v7OseIfdUeVkD8dwxIhuLryFZSRWUL5OP6oqkgU7hguA==";
+        name = "xml_encryption___xml_encryption_2.0.0.tgz";
+        url  = "https://registry.yarnpkg.com/xml-encryption/-/xml-encryption-2.0.0.tgz";
+        sha512 = "4Av83DdvAgUQQMfi/w8G01aJshbEZP9ewjmZMpS9t3H+OCZBDvyK4GJPnHGfWiXlArnPbYvR58JB9qF2x9Ds+Q==";
       };
     }
     {
diff --git a/pkgs/tools/admin/nomachine-client/default.nix b/pkgs/tools/admin/nomachine-client/default.nix
index be4bef1e160..6ff6c838708 100644
--- a/pkgs/tools/admin/nomachine-client/default.nix
+++ b/pkgs/tools/admin/nomachine-client/default.nix
@@ -1,9 +1,9 @@
 { lib, stdenv, file, fetchurl, makeWrapper,
   autoPatchelfHook, jsoncpp, libpulseaudio }:
 let
-  versionMajor = "7.6";
+  versionMajor = "7.8";
   versionMinor = "2";
-  versionBuild_x86_64 = "4";
+  versionBuild_x86_64 = "1";
   versionBuild_i686 = "1";
 in
   stdenv.mkDerivation rec {
@@ -14,12 +14,12 @@ in
       if stdenv.hostPlatform.system == "x86_64-linux" then
         fetchurl {
           url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_x86_64}_x86_64.tar.gz";
-          sha256 = "1kkdf9dlp4j453blnwp1sds4r3h3fy863pvhdh466mrq3f10qca8";
+          sha256 = "sha256-DZtEt3zBhkvANlCvDwhFY3X+46zzhmKrm6zKPA99w7o=";
         }
       else if stdenv.hostPlatform.system == "i686-linux" then
         fetchurl {
           url = "https://download.nomachine.com/download/${versionMajor}/Linux/nomachine_${version}_${versionBuild_i686}_i686.tar.gz";
-          sha256 = "0h4c90hzhbg0qdb585bc9gry9cf9hd8r53m2jha4fdqhzd95ydln";
+          sha256 = "sha256-T38lOp4R1CoU6TZYeYcZkeZUi9l613LxLUZaEScOcHg=";
         }
       else
         throw "NoMachine client is not supported on ${stdenv.hostPlatform.system}";
diff --git a/pkgs/tools/admin/oci-cli/default.nix b/pkgs/tools/admin/oci-cli/default.nix
index 7abea7ae925..d94abe504d2 100644
--- a/pkgs/tools/admin/oci-cli/default.nix
+++ b/pkgs/tools/admin/oci-cli/default.nix
@@ -23,14 +23,14 @@ with py.pkgs;
 
 buildPythonApplication rec {
   pname = "oci-cli";
-  version = "3.4.1";
+  version = "3.5.0";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = "oracle";
     repo = "oci-cli";
     rev = "v${version}";
-    hash = "sha256-ibk5WfNPa02D7UcP+4xg8Pi9P45yUPEm56l76IwNuRE=";
+    hash = "sha256-udvYfYFUulGfnc1gzjG3UxOc68JuecpPJ1/s57qvX0k=";
   };
 
   propagatedBuildInputs = [
diff --git a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
index 2e8eabfc1a3..4a11d1e5440 100644
--- a/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
+++ b/pkgs/tools/admin/realvnc-vnc-viewer/default.nix
@@ -2,16 +2,16 @@
 
 stdenv.mkDerivation rec {
   pname = "realvnc-vnc-viewer";
-  version = "6.21.920";
+  version = "6.21.1109";
 
   src = {
     "x86_64-linux" = fetchurl {
       url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x64.rpm";
-      sha256 = "1qghc5380h4b2pczksmky3kcffz5wn9shw033w4f969wl96p31fz";
+      sha256 = "12zxp9kvi070nzxbrnrfsyla38ryb69zlidw6cvypmsgqnylfxj7";
     };
     "i686-linux" = fetchurl {
       url = "https://www.realvnc.com/download/file/viewer.files/VNC-Viewer-${version}-Linux-x86.rpm";
-      sha256 = "034iwqxpqhnm6i292fakva7vkwrrzamwcvbm7xyccpd54adj0grn";
+      sha256 = "03vhdmzyd16r0kdxpkq9azyy1h705lk4sbgnbw5fr8gkifwng60f";
     };
   }.${stdenv.system} or (throw "Unsupported system: ${stdenv.hostPlatform.system}");
 
@@ -45,7 +45,7 @@ stdenv.mkDerivation rec {
       url = "https://static.realvnc.com/media/documents/LICENSE-4.0a_en.pdf";
       free = false;
     };
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = [ "x86_64-linux" "i686-linux" ];
   };
 }
diff --git a/pkgs/tools/admin/ssmsh/default.nix b/pkgs/tools/admin/ssmsh/default.nix
index 6c4785c81c5..e42e2e06de6 100644
--- a/pkgs/tools/admin/ssmsh/default.nix
+++ b/pkgs/tools/admin/ssmsh/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "ssmsh";
-  version = "1.4.5";
+  version = "1.4.7";
 
   src = fetchFromGitHub {
     owner = "bwhaley";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WZ2glv/f4LwTK/G8QdaVRIAHvgGLPLPL8xjAg/kUokQ=";
+    sha256 = "sha256-juyTCtcuFIlKyLxDrK5tRRzCMwoSXG4EUA32E/Z4y5c=";
   };
 
-  vendorSha256 = "sha256-17fmdsfOrOaySPsXofLzz0+vmiemg9MbnWhRoZ67EuQ=";
+  vendorSha256 = "sha256-dqUMwnHRsR8n4bHEKoePyuqr8sE4NWPpuYo5SwOw0Rw=";
 
   doCheck = true;
 
diff --git a/pkgs/tools/admin/stripe-cli/default.nix b/pkgs/tools/admin/stripe-cli/default.nix
index 3fa94727354..673f7796f8c 100644
--- a/pkgs/tools/admin/stripe-cli/default.nix
+++ b/pkgs/tools/admin/stripe-cli/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "stripe-cli";
-  version = "1.7.11";
+  version = "1.7.13";
 
   src = fetchFromGitHub {
     owner = "stripe";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-a2GoTdt6l6Yayaz1n1VdKxwrziNuFk/MO/6PvjqRxVM=";
+    sha256 = "sha256-XYhOBEpHVAJ/PHovMylme56le33IUM5C9HEZAm/gG3I=";
   };
 
-  vendorSha256 = "sha256-AsEem/KuA+jxioG96Ofn0te93fyZ9sebPkLPA+LAUkk=";
+  vendorSha256 = "sha256-OP39ZuWBz/lutuYGbYLVEtjIirXq89QTdltq2v0NWRE=";
 
   subPackages = [
     "cmd/stripe"
diff --git a/pkgs/tools/admin/syft/default.nix b/pkgs/tools/admin/syft/default.nix
index 998fcdf59f4..f3a1c6d10c3 100644
--- a/pkgs/tools/admin/syft/default.nix
+++ b/pkgs/tools/admin/syft/default.nix
@@ -2,27 +2,27 @@
 
 buildGoModule rec {
   pname = "syft";
-  version = "0.36.0";
+  version = "0.38.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-JNW4sozNtLey7uAj1xECR/ui+/1L02moZKuGzWXIh5k=";
+    sha256 = "sha256-YJQ0gWhhcB+jkVzu1KP+QMOiiCOyQnSuQ4rSfVGMOCU=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
     postFetch = ''
       cd "$out"
       commit="$(git rev-parse HEAD)"
-      source_date_epoch=$(git log --date=format:'%Y-%m-%dT%H:%M:%SZ' -1 --pretty=%ad)
+      source_date_epoch="$(git log --date=format:'%Y-%m-%dT%H:%M:%SZ' -1 --pretty=%ad)"
       substituteInPlace "$out/internal/version/build.go" \
         --replace 'gitCommit = valueNotProvided' "gitCommit = \"$commit\"" \
         --replace 'buildDate = valueNotProvided' "buildDate = \"$source_date_epoch\""
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-urDDb+53KSvUOjVRY/geENIQM1vvBUDddlNpQw3LcLg=";
+  vendorSha256 = "sha256-dT+MPuMQoA8Spx8CkF3OBhWdXXssg62ZHIZBrokUkp4=";
 
   nativeBuildInputs = [ installShellFiles ];
 
@@ -33,6 +33,7 @@ buildGoModule rec {
     "-w"
     "-X github.com/anchore/syft/internal/version.version=${version}"
     "-X github.com/anchore/syft/internal/version.gitTreeState=clean"
+    "-X github.com/anchore/syft/internal/version.gitDescription=v${version}"
   ];
 
   # tests require a running docker instance
diff --git a/pkgs/tools/admin/synapse-admin/default.nix b/pkgs/tools/admin/synapse-admin/default.nix
index 4248e62adeb..52b2183222e 100644
--- a/pkgs/tools/admin/synapse-admin/default.nix
+++ b/pkgs/tools/admin/synapse-admin/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "synapse-admin";
-  version = "0.8.3";
+  version = "0.8.4";
 
   src = fetchzip {
     url = "https://github.com/Awesome-Technologies/synapse-admin/releases/download/${version}/synapse-admin-${version}.tar.gz";
-    hash = "sha256-LAdMxzUffnykiDHvQYu9uNxK4428Q9CxQY2q02AcUco=";
+    hash = "sha256-hRjguUQUK7tB4VWVKRid4sRTIF/ulm9RmNA6RNUfaak=";
   };
 
   installPhase = ''
diff --git a/pkgs/tools/admin/trinsic-cli/default.nix b/pkgs/tools/admin/trinsic-cli/default.nix
index fb129760dc2..d8e084218d4 100644
--- a/pkgs/tools/admin/trinsic-cli/default.nix
+++ b/pkgs/tools/admin/trinsic-cli/default.nix
@@ -2,11 +2,11 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "trinsic-cli";
-  version = "1.1.2";
+  version = "1.3.0";
 
   src = fetchurl {
     url = "https://github.com/trinsic-id/sdk/releases/download/v${version}/trinsic-cli-vendor-${version}.tar.gz";
-    sha256 = "7e5377e8460ebb1253b9974e02d0077ffc58f2b4712cf7896f1bef7e9f580cd4";
+    sha256 = "4ec8a02cf7cd31822668e97befe96f0a7a32b1103abfe27c1bff643d3bf16588";
   };
 
   cargoVendorDir = "vendor";
diff --git a/pkgs/tools/admin/trivy/default.nix b/pkgs/tools/admin/trivy/default.nix
index 47320eff779..f32a11b73a3 100644
--- a/pkgs/tools/admin/trivy/default.nix
+++ b/pkgs/tools/admin/trivy/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "trivy";
-  version = "0.23.0";
+  version = "0.24.0";
 
   src = fetchFromGitHub {
     owner = "aquasecurity";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-6eOoFZ2ms1upnbO4brKYKBSPw/9cnQT1Cz/0A4dwoxc=";
+    sha256 = "sha256-kpM/9bRUpcqF7dXlCS01Fn8TBfeW9Rr92pBd6w6HA30=";
   };
 
-  vendorSha256 = "sha256-ZHVcLmjz7cfL5CjUwCEoWr5fgWZmNsCzHL83Mr+p7kA=";
+  vendorSha256 = "sha256-lLIlPzmXdz7kY7EEb+l4hUvM7y+1pDNK06/0lB0g2SM=";
 
   excludedPackages = "misc";
 
diff --git a/pkgs/tools/admin/winbox/default.nix b/pkgs/tools/admin/winbox/default.nix
index 38b7318746d..38e76064b18 100644
--- a/pkgs/tools/admin/winbox/default.nix
+++ b/pkgs/tools/admin/winbox/default.nix
@@ -14,15 +14,15 @@ let
   inherit (lib) last splitString;
 
   pname = "winbox";
-  version = "3.32";
+  version = "3.34";
   name = "${pname}-${version}";
 
   executable = fetchurl (if use64 then {
     url = "https://download.mikrotik.com/winbox/${version}/${pname}64.exe";
-    sha256 = "1gf0zdn4ahfp08fn5w0nzigwldl3bjqcj2f08rcvyn0mbwar4znn";
+    sha256 = "1zr5qvdnr98xhwlhjikdnx3l5zyx6qnvxqy9p2hrayi0w4w5wmba";
   } else {
     url = "https://download.mikrotik.com/winbox/${version}/${pname}.exe";
-    sha256 = "18rmbnv7iwba19sfh4q4wfwh385snrmpvs6dyad2s9rv7vh2nch7";
+    sha256 = "1d5zif0f4xfiipjs281xwa3f3blfxbgzqppv3gg3rh5ivxwvaf6g";
   });
   # This is from the winbox AUR package:
   # https://aur.archlinux.org/cgit/aur.git/tree/winbox64?h=winbox64&id=8edd93792af84e87592e8645ca09e9795931e60e
@@ -45,11 +45,8 @@ let
     comment = "GUI administration for Mikrotik RouterOS";
     exec = pname;
     icon = pname;
-    type = "Application";
-    categories = "Utility";
-    extraDesktopEntries = {
-      StartupWMClass = last (splitString "/" executable);
-    };
+    categories = [ "Utility" ];
+    startupWMClass = last (splitString "/" executable);
   };
 
   # The icon is also from the winbox AUR package (see above).
diff --git a/pkgs/tools/archivers/tarlz/default.nix b/pkgs/tools/archivers/tarlz/default.nix
index 1e1842d2907..7f41a05a9a8 100644
--- a/pkgs/tools/archivers/tarlz/default.nix
+++ b/pkgs/tools/archivers/tarlz/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "tarlz";
-  version = "0.21";
+  version = "0.22";
   outputs = [ "out" "man" "info" ];
 
   nativeBuildInputs = [ lzip texinfo ];
@@ -10,12 +10,12 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://savannah/lzip/${pname}/${pname}-${version}.tar.lz";
-    sha256 = "sha256-D5chEt0/Emo5TVoEEHaVzLu55gPnsZM2e9FxRgfgrfQ=";
+    sha256 = "sha256-/M9yJvoktV0ybKsT926jSb7ERsWo33GkbTQwmaBQkdw=";
   };
 
   enableParallelBuilding = true;
   makeFlags = [ "CXX:=$(CXX)" ];
-  doCheck = true;
+  doCheck = !stdenv.isDarwin;
 
   meta = with lib; {
     homepage = "https://www.nongnu.org/lzip/${pname}.html";
diff --git a/pkgs/tools/archivers/unshield/default.nix b/pkgs/tools/archivers/unshield/default.nix
index 2c58b546b63..17d4e785438 100644
--- a/pkgs/tools/archivers/unshield/default.nix
+++ b/pkgs/tools/archivers/unshield/default.nix
@@ -2,16 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "unshield";
-  version = "1.4.3";
+  version = "1.5.1";
 
   src = fetchFromGitHub {
     owner = "twogood";
     repo = "unshield";
     rev = version;
-    sha256 = "19wn22vszhci8dfcixx5rliz7phx3lv5ablvhjlclvj75k2vsdqd";
+    sha256 = "1p2inn93svm83kr5p0j1al0rx47f1zykmagxsblgy04gi942iza3";
   };
 
-
   nativeBuildInputs = [ cmake ];
   buildInputs = [ zlib openssl ];
 
diff --git a/pkgs/tools/audio/abcmidi/default.nix b/pkgs/tools/audio/abcmidi/default.nix
index 7237ba880ce..87b8940026a 100644
--- a/pkgs/tools/audio/abcmidi/default.nix
+++ b/pkgs/tools/audio/abcmidi/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "abcMIDI";
-  version = "2022.01.28";
+  version = "2022.02.13";
 
   src = fetchzip {
     url = "https://ifdo.ca/~seymour/runabc/${pname}-${version}.zip";
-    hash = "sha256-+g5oKUfm6vRuRQfOx0QDueYMabgScL8Mfw5GJcXQztg=";
+    hash = "sha256-iPeGcEDGvltXqJY50B+yDKYKRF4Oz9GQifn7Pqe8dG8=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/audio/mpd-discord-rpc/default.nix b/pkgs/tools/audio/mpd-discord-rpc/default.nix
new file mode 100644
index 00000000000..a00506c94b3
--- /dev/null
+++ b/pkgs/tools/audio/mpd-discord-rpc/default.nix
@@ -0,0 +1,25 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mpd-discord-rpc";
+  version = "1.4.0";
+
+  src = fetchFromGitHub {
+    owner = "JakeStanger";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-Vo/7vWTpriet0hsxfx9Uj8UWfJZbuwgVSSpxA1vVjXI=";
+  };
+
+  cargoSha256 = "sha256-sj6qsYnFc86Fz2xPhkdh7I59muAPeYFA9qVGw9FtLFE=";
+
+  meta = with lib; {
+    description = "Rust application which displays your currently playing song / album / artist from MPD in Discord using Rich Presence";
+    homepage = "https://github.com/JakeStanger/mpd-discord-rpc";
+    license = licenses.mit;
+    maintainers = with maintainers; [ kranzes ];
+  };
+}
diff --git a/pkgs/tools/audio/spotdl/default.nix b/pkgs/tools/audio/spotdl/default.nix
index c3904a71158..c9270ce5835 100644
--- a/pkgs/tools/audio/spotdl/default.nix
+++ b/pkgs/tools/audio/spotdl/default.nix
@@ -6,13 +6,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "spotdl";
-  version = "3.9.2";
+  version = "3.9.3";
 
   src = fetchFromGitHub {
     owner = "spotDL";
     repo = "spotify-downloader";
     rev = "v${version}";
-    sha256 = "sha256-Y4l86OjAEwNt2i9+OFgol3b6nhbpe27NFTKJrLKQgHg=";
+    sha256 = "sha256-sx6UtblpsetKPwhlXB3Kj3OMIOyW9QluzB+YbtQGdYQ=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/audio/tts/default.nix b/pkgs/tools/audio/tts/default.nix
index 3a00ddc9959..4ee8644d712 100644
--- a/pkgs/tools/audio/tts/default.nix
+++ b/pkgs/tools/audio/tts/default.nix
@@ -13,7 +13,22 @@
 # For now, for deployment check the systemd unit in the pull request:
 #   https://github.com/NixOS/nixpkgs/pull/103851#issue-521121136
 
-python3.pkgs.buildPythonApplication rec {
+let
+  python = python3.override {
+    packageOverrides = self: super: {
+      # API breakage with 0.9.0
+      # TypeError: mel() takes 0 positional arguments but 2 positional arguments (and 3 keyword-only arguments) were given
+      librosa = super.librosa.overridePythonAttrs (oldAttrs: rec {
+        version = "0.8.1";
+        src = oldAttrs.src.override {
+          inherit version;
+          sha256 = "c53d05e768ae4a3e553ae21c2e5015293e5efbfd5c12d497f1104cb519cca6b3";
+        };
+      });
+    };
+  };
+in
+python.pkgs.buildPythonApplication rec {
   pname = "tts";
   version = "0.5.0";
   format = "setuptools";
@@ -43,11 +58,11 @@ python3.pkgs.buildPythonApplication rec {
     requirements.txt
   '';
 
-  nativeBuildInputs = with python3.pkgs; [
+  nativeBuildInputs = with python.pkgs; [
     cython
   ];
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with python.pkgs; [
     anyascii
     coqpit
     flask
diff --git a/pkgs/tools/backup/autorestic/default.nix b/pkgs/tools/backup/autorestic/default.nix
index 30eb900920b..aebcc608c76 100644
--- a/pkgs/tools/backup/autorestic/default.nix
+++ b/pkgs/tools/backup/autorestic/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "autorestic";
-  version = "1.5.1";
+  version = "1.5.5";
 
   src = fetchFromGitHub {
     owner = "cupcakearmy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-T34+oHEe+BWFJwWfYnC71+mP4+uhTMYr9r426I4fXcY=";
+    sha256 = "sha256-JOiFsH9r92Gac7DH7h/4Q6hwXBtqLwHNQpW3gKBybHo=";
   };
 
-  vendorSha256 = "sha256-eKsPdmPJXiCwvb2A28tNxF4xStry3iA6aLb+XYFJYSg=";
+  vendorSha256 = "sha256-WzmgV0wUsGfMVeho6M8wXJKD9adaAKRYmaJYaAcXwFc=";
 
   nativeBuildInputs = [ installShellFiles ];
 
diff --git a/pkgs/tools/backup/borgbackup/default.nix b/pkgs/tools/backup/borgbackup/default.nix
index ce7887ff0fb..03446be5341 100644
--- a/pkgs/tools/backup/borgbackup/default.nix
+++ b/pkgs/tools/backup/borgbackup/default.nix
@@ -13,11 +13,11 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "borgbackup";
-  version = "1.1.17";
+  version = "1.2.0";
 
   src = python3.pkgs.fetchPypi {
     inherit pname version;
-    sha256 = "0x0ncy0b0bmf586hbdgrif3gjmkdw760vfnfxndr493v07y29fbs";
+    sha256 = "sha256-45pVR5Au9FYQGqTHefpms0W9pw0WeI6L0Y5Fj5Ovf2c=";
   };
 
   postPatch = ''
@@ -45,6 +45,7 @@ python3.pkgs.buildPythonApplication rec {
   propagatedBuildInputs = with python3.pkgs; [
     cython
     llfuse
+    msgpack
     packaging
   ] ++ lib.optionals (!stdenv.isDarwin) [
     pyfuse3
@@ -82,13 +83,14 @@ python3.pkgs.buildPythonApplication rec {
 
   checkInputs = with python3.pkgs; [
     e2fsprogs
+    python-dateutil
     pytest-benchmark
     pytest-xdist
     pytestCheckHook
   ];
 
   pytestFlagsArray = [
-    "--numprocesses" "auto"
+    "--numprocesses" "$NIX_BUILD_CORES"
     "--benchmark-skip"
     "--pyargs" "borg.testsuite"
   ];
@@ -100,6 +102,7 @@ python3.pkgs.buildPythonApplication rec {
     "test_fuse_mount_hardlinks"
     "test_fuse_mount_options"
     "test_fuse_versions_view"
+    "test_migrate_lock_alive"
     "test_readonly_mount"
     # Error: Permission denied while trying to write to /var/{,tmp}
     "test_get_cache_dir"
diff --git a/pkgs/tools/backup/btrbk/default.nix b/pkgs/tools/backup/btrbk/default.nix
index 969ea26e362..b04263a7168 100644
--- a/pkgs/tools/backup/btrbk/default.nix
+++ b/pkgs/tools/backup/btrbk/default.nix
@@ -18,11 +18,11 @@
 
 stdenv.mkDerivation rec {
   pname = "btrbk";
-  version = "0.31.3";
+  version = "0.32.0";
 
   src = fetchurl {
     url = "https://digint.ch/download/btrbk/releases/${pname}-${version}.tar.xz";
-    sha256 = "1lx7vnf386nsik8mxrrfyx1h7mkqk5zs26sy0s0lynfxcm4lkxb2";
+    sha256 = "HmvNtIgFfeaiFuSRobWlcJqusPSYtqAqx+79+CeNVDQ=";
   };
 
   nativeBuildInputs = [ asciidoctor makeWrapper ];
diff --git a/pkgs/tools/backup/discordchatexporter-cli/default.nix b/pkgs/tools/backup/discordchatexporter-cli/default.nix
index fb7fc117957..3c16fb1e0ed 100644
--- a/pkgs/tools/backup/discordchatexporter-cli/default.nix
+++ b/pkgs/tools/backup/discordchatexporter-cli/default.nix
@@ -8,13 +8,13 @@
 
 buildDotnetModule rec {
   pname = "discordchatexporter-cli";
-  version = "2.31.1";
+  version = "2.32";
 
   src = fetchFromGitHub {
     owner = "tyrrrz";
     repo = "discordchatexporter";
     rev = version;
-    sha256 = "QK63H+Qyd8zEue84vECcyAP6FH8az++1PZmbrPvBgrU=";
+    sha256 = "xRoF/HJ4ekHL/Uk6ISQP+65nChRT+n9xLTYcZMJxyvo=";
   };
 
   dotnet-sdk = dotnetCorePackages.sdk_6_0;
diff --git a/pkgs/tools/backup/discordchatexporter-cli/deps.nix b/pkgs/tools/backup/discordchatexporter-cli/deps.nix
index edc2eccd92a..a360d0099fd 100644
--- a/pkgs/tools/backup/discordchatexporter-cli/deps.nix
+++ b/pkgs/tools/backup/discordchatexporter-cli/deps.nix
@@ -1,10 +1,10 @@
 { fetchNuGet }: [
-  (fetchNuGet { pname = "CliFx"; version = "2.0.6"; sha256 = "09yyjgpp52b0r3mqlvx75ld4vjp8hry7ql7r20nnvj0lach6fyh6"; })
+  (fetchNuGet { pname = "CliFx"; version = "2.2.1"; sha256 = "1yxxl3jgl6sadar1g9175s62fag5f30lqpgrf58djll3509rbgw5"; })
   (fetchNuGet { pname = "Gress"; version = "1.2.0"; sha256 = "0aidc9whi0718gh896j7xkyndki9x7rifd8n1n681afb2zbxw4bn"; })
   (fetchNuGet { pname = "JsonExtensions"; version = "1.2.0"; sha256 = "0g54hibabbqqfhxjlnxwv1rxagpali5agvnpymp2w3dk8h6q66xy"; })
   (fetchNuGet { pname = "MiniRazor.CodeGen"; version = "2.2.0"; sha256 = "1rbgkm1hsamqhviw2c62g6iafiwkxcnz66qbybpd32qgz1124cx4"; })
   (fetchNuGet { pname = "MiniRazor.Runtime"; version = "2.2.0"; sha256 = "0zm0l97jfbfy90zj0cbi7v3qbhxhfay1g8f2cw0gp829xz4yk9jr"; })
-  (fetchNuGet { pname = "Polly"; version = "7.2.2"; sha256 = "0s15n5zwj44i6sw3v40ca8l6j0ijydxcakvad49j52rp49iwrmkn"; })
+  (fetchNuGet { pname = "Polly"; version = "7.2.3"; sha256 = "1iws4jd5iqj5nlfp16fg9p5vfqqas1si0cgh8xcj64y433a933cv"; })
   (fetchNuGet { pname = "Spectre.Console"; version = "0.43.0"; sha256 = "17yh20s17fkcs3iyb5yylqh90jvb36gdn0aaglq3d67rpmcrl5gc"; })
   (fetchNuGet { pname = "Superpower"; version = "3.0.0"; sha256 = "0p6riay4732j1fahc081dzgs9q4z3n2fpxrin4zfpj6q2226dhz4"; })
 ]
diff --git a/pkgs/tools/backup/kopia/default.nix b/pkgs/tools/backup/kopia/default.nix
index abaebc8aa4a..1eac3f04325 100644
--- a/pkgs/tools/backup/kopia/default.nix
+++ b/pkgs/tools/backup/kopia/default.nix
@@ -1,17 +1,17 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "kopia";
-  version = "0.10.4";
+  version = "0.10.5";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-L6aAcIGNNts4rsJNCmuKSFtBWe/VUzhwiNmlpKCZ+B4=";
+    sha256 = "sha256-9H57NlvyEEOX2F3ooWWqDAo7MnS9J+XrYv/cIyNo6+Y=";
   };
 
-  vendorSha256 = "sha256-jswXHGjDnH3dVjpvdbr/sMYyWmGvTAZB77oKBMkBsnI=";
+  vendorSha256 = "sha256-c8WohMyaOicPq2q+DkgNBBulMEJCZFNFe+xECUEpelI=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/backup/stenc/default.nix b/pkgs/tools/backup/stenc/default.nix
index b2a53f8ad07..c490edd1dc9 100644
--- a/pkgs/tools/backup/stenc/default.nix
+++ b/pkgs/tools/backup/stenc/default.nix
@@ -1,8 +1,7 @@
 { lib
 , stdenv
 , fetchFromGitHub
-, genericUpdater
-, common-updater-scripts
+, gitUpdater
 , autoreconfHook
 }:
 
@@ -19,10 +18,7 @@ stdenv.mkDerivation rec {
 
   nativeBuildInputs = [ autoreconfHook ];
 
-  passthru.updateScript = genericUpdater {
-    inherit pname version;
-    versionLister = "${common-updater-scripts}/bin/list-git-tags ${src.meta.homepage}";
-  };
+  passthru.updateScript = gitUpdater { inherit pname version; };
 
   meta = {
     description = "SCSI Tape Encryption Manager";
diff --git a/pkgs/tools/backup/tarsnap/default.nix b/pkgs/tools/backup/tarsnap/default.nix
index 1b151ece3d9..e55823e59ae 100644
--- a/pkgs/tools/backup/tarsnap/default.nix
+++ b/pkgs/tools/backup/tarsnap/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, openssl, zlib, e2fsprogs }:
+{ lib, stdenv, fetchurl, openssl, zlib, e2fsprogs, bash }:
 
 let
   zshCompletion = fetchurl {
@@ -8,11 +8,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "tarsnap";
-  version = "1.0.39";
+  version = "1.0.40";
 
   src = fetchurl {
     url = "https://www.tarsnap.com/download/tarsnap-autoconf-${version}.tgz";
-    sha256 = "10i0whbmb345l2ggnf4vs66qjcyf6hmlr8f4nqqcfq0h5a5j24sn";
+    sha256 = "1mbzq81l4my5wdhyxyma04sblr43m8p7ryycbpi6n78w1hwfbjmw";
   };
 
   preConfigure = ''
@@ -22,6 +22,8 @@ stdenv.mkDerivation rec {
   patchPhase = ''
     substituteInPlace Makefile.in \
       --replace "command -p mv" "mv"
+    substituteInPlace configure \
+      --replace "command -p getconf PATH" "echo $PATH"
   '';
 
   postInstall = ''
diff --git a/pkgs/tools/bluetooth/blueberry/default.nix b/pkgs/tools/bluetooth/blueberry/default.nix
index 2ef7fedefc4..5616560108c 100644
--- a/pkgs/tools/bluetooth/blueberry/default.nix
+++ b/pkgs/tools/bluetooth/blueberry/default.nix
@@ -14,13 +14,13 @@
 
 stdenv.mkDerivation rec {
   pname = "blueberry";
-  version = "1.4.6";
+  version = "1.4.7";
 
   src = fetchFromGitHub {
     owner = "linuxmint";
     repo = pname;
     rev = version;
-    sha256 = "sha256-4SKEkoIEflOX5WXJ7X3onrieecT2NoH/eV3H3Cx/SYQ=";
+    sha256 = "sha256-ziAdLFSZS8bh+OBSYLqxJ3g7mgFai/psvlBw3Qt17w0=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/bluetooth/blueman/default.nix b/pkgs/tools/bluetooth/blueman/default.nix
index e6c2fabeae9..74ebb04f747 100644
--- a/pkgs/tools/bluetooth/blueman/default.nix
+++ b/pkgs/tools/bluetooth/blueman/default.nix
@@ -9,11 +9,11 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "blueman";
-  version = "2.2.3";
+  version = "2.2.4";
 
   src = fetchurl {
     url = "https://github.com/blueman-project/blueman/releases/download/${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-bt15Haav2PYQ/7CNUTjPz1DmJXrTDvrWhih/OivhBuk=";
+    sha256 = "sha256-VdY5/u2gtDsYplnmWYUhOlS0fcsTSPO07/tSONskJgI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/cd-dvd/dvdisaster/default.nix b/pkgs/tools/cd-dvd/dvdisaster/default.nix
index e6f98bdee31..e7869965c70 100644
--- a/pkgs/tools/cd-dvd/dvdisaster/default.nix
+++ b/pkgs/tools/cd-dvd/dvdisaster/default.nix
@@ -1,15 +1,21 @@
-{ lib, stdenv, fetchurl, pkg-config, gettext, which
-, glib, gtk2
+{ lib
+, stdenv
+, fetchurl
+, gettext
+, pkg-config
+, which
+, glib
+, gtk2
 , enableSoftening ? true
 }:
 
 stdenv.mkDerivation rec {
   pname = "dvdisaster";
-  version = "0.79.5";
+  version = "0.79.9";
 
   src = fetchurl {
-    url = "http://dvdisaster.net/downloads/${pname}-${version}.tar.bz2";
-    sha256 = "0f8gjnia2fxcbmhl8b3qkr5b7idl8m855dw7xw2fnmbqwvcm6k4w";
+    url = "https://dvdisaster.jcea.es/downloads/${pname}-${version}.tar.bz2";
+    hash = "sha256-eclOJ33pS2aP4F7RUHc84ynpH7sTv2dsO4vn5vB248M=";
   };
 
   nativeBuildInputs = [ gettext pkg-config which ];
@@ -40,6 +46,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
   checkPhase = ''
+    runHook preCheck
     pushd regtest
 
     mkdir -p "$TMP"/{log,regtest}
@@ -59,9 +66,11 @@ stdenv.mkDerivation rec {
     done
 
     popd
+    runHook postCheck
   '';
 
   postInstall = ''
+    rm -f $out/bin/dvdisaster-uninstall.sh
     mkdir -pv $out/share/applications
     cp contrib/dvdisaster.desktop $out/share/applications/
 
@@ -73,7 +82,7 @@ stdenv.mkDerivation rec {
   '';
 
   meta = with lib; {
-    homepage = "http://dvdisaster.net/";
+    homepage = "https://dvdisaster.jcea.es/";
     description = "Data loss/scratch/aging protection for CD/DVD media";
     longDescription = ''
       Dvdisaster provides a margin of safety against data loss on CD and
diff --git a/pkgs/tools/compression/dtrx/default.nix b/pkgs/tools/compression/dtrx/default.nix
index 392c2b960f2..98fc0befafb 100644
--- a/pkgs/tools/compression/dtrx/default.nix
+++ b/pkgs/tools/compression/dtrx/default.nix
@@ -21,13 +21,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "dtrx";
-  version = "8.2.1";
+  version = "8.2.2";
 
   src = fetchFromGitHub {
     owner = "dtrx-py";
     repo = "dtrx";
     rev = version;
-    sha256 = "sha256-ayQ52teXWpw3ZvPhfqxFHxMZatQK9NKv/97ovANFZcE=";
+    sha256 = "sha256-thtBVGgKRYHOAFuxDvuFxcIHoyYAI58AiNCx4vuVXGs=";
   };
 
   postInstall =
diff --git a/pkgs/tools/compression/lzip/default.nix b/pkgs/tools/compression/lzip/default.nix
index aa6b6d31a89..17abb6503c9 100644
--- a/pkgs/tools/compression/lzip/default.nix
+++ b/pkgs/tools/compression/lzip/default.nix
@@ -20,18 +20,19 @@ stdenv.mkDerivation rec {
     "CPPFLAGS=-DNDEBUG"
     "CFLAGS=-O3"
     "CXXFLAGS=-O3"
-  ] ++ lib.optional (stdenv.hostPlatform != stdenv.buildPlatform)
-    "CXX=${stdenv.cc.targetPrefix}c++";
+    "CXX=${stdenv.cc.targetPrefix}c++"
+  ];
 
   setupHook = ./lzip-setup-hook.sh;
 
   doCheck = true;
   enableParallelBuilding = true;
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.nongnu.org/lzip/lzip.html";
     description = "A lossless data compressor based on the LZMA algorithm";
-    license = lib.licenses.gpl3Plus;
+    license = lib.licenses.gpl2Plus;
+    maintainers = with maintainers; [ vlaci ];
     platforms = lib.platforms.all;
   };
 }
diff --git a/pkgs/tools/compression/lziprecover/default.nix b/pkgs/tools/compression/lziprecover/default.nix
new file mode 100644
index 00000000000..e322a190590
--- /dev/null
+++ b/pkgs/tools/compression/lziprecover/default.nix
@@ -0,0 +1,31 @@
+{ lib, stdenv, fetchurl, lzip }:
+
+stdenv.mkDerivation rec {
+  pname = "lziprecover";
+  version = "1.23";
+
+  src = fetchurl {
+    url = "mirror://savannah/lzip/lziprecover/${pname}-${version}.tar.gz";
+    sha256 = "sha256-8pgEF38G3VHD+lJhWuGYp2ACts6Nlhw1dVRsN0D0tXI=";
+  };
+
+  configureFlags = [
+    "CPPFLAGS=-DNDEBUG"
+    "CFLAGS=-O3"
+    "CXXFLAGS=-O3"
+    "CXX=${stdenv.cc.targetPrefix}c++"
+  ];
+
+  doCheck = true;
+  checkInputs = [ lzip ];
+
+  enableParallelBuilding = true;
+
+  meta = with lib; {
+    homepage = "https://www.nongnu.org/lzip/lziprecover.html";
+    description = "Data recovery tool for lzip compressed files";
+    license = lib.licenses.gpl2Plus;
+    maintainers = with maintainers; [ vlaci ];
+    platforms = lib.platforms.all;
+  };
+}
diff --git a/pkgs/tools/compression/nx2elf/default.nix b/pkgs/tools/compression/nx2elf/default.nix
index 8b7f094bf39..d4963487ada 100644
--- a/pkgs/tools/compression/nx2elf/default.nix
+++ b/pkgs/tools/compression/nx2elf/default.nix
@@ -2,23 +2,19 @@
 
 stdenv.mkDerivation rec {
   pname = "nx2elf";
-  version = "unstable-2020-05-26";
+  version = "unstable-2021-11-21";
 
   src = fetchFromGitHub {
     owner = "shuffle2";
     repo = "nx2elf";
-    rev = "7212e82a77b84fcc18ef2d050970350dbf63649b";
-    sha256 = "1j4k5s86c6ixa3wdqh4cfm31fxabwn6jcjc6pippx8mii98ac806";
+    rev = "735aaa0648a5a6c996b48add9465db86524999f6";
+    sha256 = "sha256-cS8FFIEgDWva0j9JXhS+s7Y4Oh+mNhFaKRI7BF2hqvs=";
   };
 
   buildInputs = [ lz4 ];
 
   postPatch = ''
-    # This project does not comply with C++14 standards, and compilation on that fails.
-    # This does however succesfully compile with the gnu++20 standard.
-    substituteInPlace Makefile --replace "c++14" "gnu++20"
-
-    # pkg-config is not supported, so we'll manually use a non-ancient version of lz4
+    # pkg-config is not supported, so we'll manually devendor lz4
     cp ${lz4.src}/lib/lz4.{h,c} .
   '';
 
diff --git a/pkgs/tools/compression/zstd/default.nix b/pkgs/tools/compression/zstd/default.nix
index a3184f6d1ed..0bff5110c93 100644
--- a/pkgs/tools/compression/zstd/default.nix
+++ b/pkgs/tools/compression/zstd/default.nix
@@ -12,13 +12,13 @@
 
 stdenv.mkDerivation rec {
   pname = "zstd";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "zstd";
     rev = "v${version}";
-    sha256 = "sha256-D9+kuIjPYnmg5ht/ezIeYCpyiLkrtdiH3fwpmemIPGM=";
+    sha256 = "sha256-yJvhcysxcbUGuDOqe/TQ3Y5xyM2AUw6r1THSHOqmUy0=";
   };
 
   nativeBuildInputs = [ cmake ]
diff --git a/pkgs/tools/filesystems/ceph-csi/default.nix b/pkgs/tools/filesystems/ceph-csi/default.nix
index 2eaa59b27e5..28d8e36f950 100644
--- a/pkgs/tools/filesystems/ceph-csi/default.nix
+++ b/pkgs/tools/filesystems/ceph-csi/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "ceph-csi";
-  version = "3.4.0";
+  version = "3.5.1";
 
   nativeBuildInputs = [ go ];
   buildInputs = [ ceph ];
@@ -11,7 +11,7 @@ stdenv.mkDerivation rec {
     owner = "ceph";
     repo = "ceph-csi";
     rev = "v${version}";
-    sha256 = "sha256-5+eK+iN6ecWtcmNPjiThCj1rwFaHX3rVCW9lmUCWhU0=";
+    sha256 = "sha256-TKNpMRZALMBgK9kN6aVokC+JpRo18AOJIXKNb1ZGgkQ=";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/filesystems/e2fsprogs/default.nix b/pkgs/tools/filesystems/e2fsprogs/default.nix
index 5f1775e77e0..d630c7d43f6 100644
--- a/pkgs/tools/filesystems/e2fsprogs/default.nix
+++ b/pkgs/tools/filesystems/e2fsprogs/default.nix
@@ -4,11 +4,11 @@
 
 stdenv.mkDerivation rec {
   pname = "e2fsprogs";
-  version = "1.46.4";
+  version = "1.46.5";
 
   src = fetchurl {
     url = "mirror://sourceforge/${pname}/${pname}-${version}.tar.gz";
-    sha256 = "0ra2d1wasksy1zy3rgviwdni40dnamchisjrrqqi940y545m493m";
+    sha256 = "1fgvwbj9ihz5svzrd2l0s18k16r4qg3wimrniv71fn3vdcg0shxp";
   };
 
   outputs = [ "bin" "dev" "out" "man" "info" ];
@@ -67,6 +67,7 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     homepage = "http://e2fsprogs.sourceforge.net/";
+    changelog = "http://e2fsprogs.sourceforge.net/e2fsprogs-release.html#${version}";
     description = "Tools for creating and checking ext2/ext3/ext4 filesystems";
     license = with licenses; [
       gpl2Plus
diff --git a/pkgs/tools/filesystems/garage/default.nix b/pkgs/tools/filesystems/garage/default.nix
new file mode 100644
index 00000000000..fbeac15a38e
--- /dev/null
+++ b/pkgs/tools/filesystems/garage/default.nix
@@ -0,0 +1,26 @@
+{ lib, rustPlatform, fetchFromGitea, testVersion, garage }:
+rustPlatform.buildRustPackage rec {
+  pname = "garage";
+  version = "0.6.0";
+
+  src = fetchFromGitea {
+    domain = "git.deuxfleurs.fr";
+    owner = "Deuxfleurs";
+    repo = "garage";
+    rev = "v${version}";
+    sha256 = "sha256-NNjqDOkMMRyXce+Z7RQpuffCuVhA1U3qH30rSv939ks=";
+  };
+
+  cargoSha256 = "sha256-eKJxRcC43D8qVLORer34tlmsWhELTbcJbZLyf0MB618=";
+
+  passthru = {
+    tests.version = testVersion { package = garage; };
+  };
+
+  meta = {
+    description = "S3-compatible object store for small self-hosted geo-distributed deployments";
+    homepage = "https://garagehq.deuxfleurs.fr";
+    license = lib.licenses.agpl3Only;
+    maintainers = with lib.maintainers; [ nickcao _0x4A6F ];
+  };
+}
diff --git a/pkgs/tools/filesystems/gcsfuse/default.nix b/pkgs/tools/filesystems/gcsfuse/default.nix
index b22273095fa..772d91a8345 100644
--- a/pkgs/tools/filesystems/gcsfuse/default.nix
+++ b/pkgs/tools/filesystems/gcsfuse/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "gcsfuse";
-  version = "0.38.0";
+  version = "0.40.0";
 
   src = fetchFromGitHub {
     owner = "googlecloudplatform";
     repo = "gcsfuse";
     rev = "v${version}";
-    sha256 = "sha256-5qn20Vqtvuld9/IBW/3j+8C3ac8xJ9kRMTiL6GsOrrE=";
+    sha256 = "sha256-UCyXDemrC6/8AreicZZwZ95+VgLOXsJ2nzlYvP6/6C8=";
   };
 
   goPackagePath = "github.com/googlecloudplatform/gcsfuse";
diff --git a/pkgs/tools/filesystems/glusterfs/default.nix b/pkgs/tools/filesystems/glusterfs/default.nix
index dab69649fdc..3c1e0c50d61 100644
--- a/pkgs/tools/filesystems/glusterfs/default.nix
+++ b/pkgs/tools/filesystems/glusterfs/default.nix
@@ -55,13 +55,13 @@ let
   ];
 in stdenv.mkDerivation rec {
   pname = "glusterfs";
-  version = "10.0";
+  version = "10.1";
 
   src = fetchFromGitHub {
     owner = "gluster";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-n6HdXs5kLbEI8Gaw2KBtO3i8hhadb+MsshUve/DOYg0=";
+    sha256 = "sha256-vVFC2kQNneaOwrezPehOX32dpJb88ZhGHBApEXc9MOg=";
   };
   inherit buildInputs propagatedBuildInputs;
 
diff --git a/pkgs/tools/filesystems/ioztat/default.nix b/pkgs/tools/filesystems/ioztat/default.nix
new file mode 100644
index 00000000000..e87b96482c6
--- /dev/null
+++ b/pkgs/tools/filesystems/ioztat/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, installShellFiles
+, python3
+}:
+
+stdenv.mkDerivation rec {
+  pname = "ioztat";
+  version = "1.1.0";
+
+  src = fetchFromGitHub {
+    owner = "jimsalterjrs";
+    repo = "ioztat";
+    rev = "v${version}";
+    sha256 = "wDRcFlXmXTc1J9MQZqILfPp5jUhX6wW4nOnqspIWVjQ=";
+  };
+
+  nativeBuildInputs = [ installShellFiles ];
+  buildInputs = [ python3 ];
+
+  prePatch = ''
+    patchShebangs .
+  '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    cp ioztat $out/bin
+
+    if [ -f ioztat.8 ]; then
+      installManPage ioztat.8
+    fi
+  '';
+
+  meta = with lib; {
+    inherit version;
+    inherit (src.meta) homepage;
+    description = "A storage load analysis tool for OpenZFS";
+    longDescription = ''
+      ioztat is a storage load analysis tool for OpenZFS. It provides
+      iostat-like statistics at an individual dataset/zvol level.
+
+      The statistics offered are read and write operations per second, read and
+      write throughput per second, and the average size of read and write
+      operations issued in the current reporting interval. Viewing these
+      statistics at the individual dataset level allows system administrators
+      to identify storage "hot spots" in larger multi-tenant
+      systems -- particularly those with many VMs or containers operating
+      essentially independent workloads.
+    '';
+    license = licenses.bsd2;
+    platforms = with platforms; linux ++ freebsd;
+    maintainers = with maintainers; [ numinit ];
+  };
+}
diff --git a/pkgs/tools/filesystems/lfs/default.nix b/pkgs/tools/filesystems/lfs/default.nix
index 4cfd728b969..e59f971d87a 100644
--- a/pkgs/tools/filesystems/lfs/default.nix
+++ b/pkgs/tools/filesystems/lfs/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "lfs";
-  version = "1.4.0";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "Canop";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-mTgJ2DbSQprKKy7wTMXwmUAvHS9tacs9Nk1cmEJW9Sg=";
+    sha256 = "sha256-PHkHIIMEaUZRWe+rkco6B4qqp8aIxl5nmARMUJDRtjY=";
   };
 
-  cargoSha256 = "sha256-Oiiz7I2eCtNMauvr0K2NtB49NJ/6XWVsJ0mMyEgFb7U=";
+  cargoSha256 = "sha256-DIIIs2YPkls8EVZYFgB/Zala11CzT6fxmGy/u81giWo=";
 
   meta = with lib; {
     description = "Get information on your mounted disks";
diff --git a/pkgs/tools/filesystems/mtdutils/default.nix b/pkgs/tools/filesystems/mtdutils/default.nix
index 2e58018bf18..1a6ca5f8700 100644
--- a/pkgs/tools/filesystems/mtdutils/default.nix
+++ b/pkgs/tools/filesystems/mtdutils/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "mtd-utils";
-  version = "2.1.3";
+  version = "2.1.4";
 
   src = fetchgit {
     url = "git://git.infradead.org/mtd-utils.git";
     rev = "v${version}";
-    sha256 = "sha256-w20Zp1G0WbNvEJwqpLw2f8VvmW8ZBEL0GSHze8qpPWg";
+    sha256 = "sha256-lnvG2aJiihOyScmWZu0i8OYowmIMRBkgC3j67sdLkT4=";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ] ++ lib.optional doCheck cmocka;
diff --git a/pkgs/tools/filesystems/mtools/default.nix b/pkgs/tools/filesystems/mtools/default.nix
index 1f474f5beb0..0cafb0c83f0 100644
--- a/pkgs/tools/filesystems/mtools/default.nix
+++ b/pkgs/tools/filesystems/mtools/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mtools";
-  version = "4.0.36";
+  version = "4.0.37";
 
   src = fetchurl {
     url = "mirror://gnu/mtools/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-5cDlrfLfu59yZJ06gpn/b7c/Jp+DMKKXXZG8xQVSQPQ=";
+    sha256 = "sha256-eZsZfiPke2ElliiBCyd5Dvt6H+NgN+8dqKJ7CuT6g0I=";
   };
 
   patches = lib.optional stdenv.isDarwin ./UNUSED-darwin.patch;
diff --git a/pkgs/tools/filesystems/mtpfs/default.nix b/pkgs/tools/filesystems/mtpfs/default.nix
index a2dc01f8c09..58c5a8d54a2 100644
--- a/pkgs/tools/filesystems/mtpfs/default.nix
+++ b/pkgs/tools/filesystems/mtpfs/default.nix
@@ -25,5 +25,6 @@ stdenv.mkDerivation rec {
     platforms = platforms.all;
     license = licenses.gpl3;
     maintainers = [ maintainers.qknight ];
+    broken = stdenv.isDarwin; # never built on Hydra https://hydra.nixos.org/job/nixpkgs/trunk/mtpfs.x86_64-darwin
   };
 }
diff --git a/pkgs/tools/filesystems/tar2ext4/default.nix b/pkgs/tools/filesystems/tar2ext4/default.nix
index 41a47566eec..0c92c3e2bf3 100644
--- a/pkgs/tools/filesystems/tar2ext4/default.nix
+++ b/pkgs/tools/filesystems/tar2ext4/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "tar2ext4";
-  version = "0.8.22";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "microsoft";
     repo = "hcsshim";
     rev = "v${version}";
-    sha256 = "sha256-z8w/xzNEebnQJTO4H5PlU5W+69MY1wQwmuz5inXBl1k=";
+    sha256 = "sha256-Qa93MpTAMCA7vn7LefILDdAKYyRDPPq0vBwmIfegyuU=";
   };
 
   sourceRoot = "source/cmd/tar2ext4";
diff --git a/pkgs/tools/games/jpsxdec/default.nix b/pkgs/tools/games/jpsxdec/default.nix
index 2c18f29bbf3..54d3e2a968c 100644
--- a/pkgs/tools/games/jpsxdec/default.nix
+++ b/pkgs/tools/games/jpsxdec/default.nix
@@ -24,7 +24,7 @@ let
     icon = pname;
     comment = description;
     desktopName = "jPSXdec";
-    categories = "AudioVideo;Utility;";
+    categories = [ "AudioVideo" "Utility" ];
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/graphics/adriconf/default.nix b/pkgs/tools/graphics/adriconf/default.nix
index 74ff4f1ed66..738c5316882 100644
--- a/pkgs/tools/graphics/adriconf/default.nix
+++ b/pkgs/tools/graphics/adriconf/default.nix
@@ -8,26 +8,25 @@
 , atkmm
 , pcre
 , gtkmm3
-, boost
-, libxmlxx3
+, pugixml
 , mesa
 , pciutils
 }:
 
 stdenv.mkDerivation rec {
   pname = "adriconf";
-  version = "2.4.1";
+  version = "2.5.0";
 
   src = fetchFromGitLab {
     domain = "gitlab.freedesktop.org";
     owner = "mesa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "hZy+FpKKBKuho/fALu2O+44zzK6s/M8CTbhrO00ANgo=";
+    sha256 = "sha256-nxqrs8c1sRruZLwFwK/JfXQPfpEq08Pe2n7ojQkH3SM=";
   };
 
   nativeBuildInputs = [ cmake pkg-config ];
-  buildInputs = [ libdrm libGL atkmm pcre gtkmm3 boost libxmlxx3 mesa pciutils ];
+  buildInputs = [ libdrm libGL atkmm pcre gtkmm3 pugixml mesa pciutils ];
 
   cmakeFlags = [ "-DENABLE_UNIT_TESTS=off" ];
 
diff --git a/pkgs/tools/graphics/agi/default.nix b/pkgs/tools/graphics/agi/default.nix
index 0365a807327..aefa2c3f789 100644
--- a/pkgs/tools/graphics/agi/default.nix
+++ b/pkgs/tools/graphics/agi/default.nix
@@ -54,9 +54,7 @@ stdenv.mkDerivation rec {
     desktopName = "Android GPU Inspector";
     exec = "$out/bin/agi";
     icon = "agi";
-    type = "Application";
-    categories = "Development;Debugger;Graphics;3DGraphics";
-    terminal = "false";
+    categories = [ "Development" "Debugger" "Graphics" "3DGraphics" ];
   })];
 
   meta = with lib; {
diff --git a/pkgs/tools/graphics/dpic/default.nix b/pkgs/tools/graphics/dpic/default.nix
index fa6880f6f91..59518942963 100644
--- a/pkgs/tools/graphics/dpic/default.nix
+++ b/pkgs/tools/graphics/dpic/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "dpic";
-  version = "2021.01.01";
+  version = "2021.11.01";
 
   src = fetchurl {
     url = "https://ece.uwaterloo.ca/~aplevich/dpic/${pname}-${version}.tar.gz";
-    sha256 = "sha256-vrBiTQqdaIslDd/WWMbdgornRkZmC2m+RF2J78F5Pm8=";
+    sha256 = "sha256-TkMc5tG+sPHfjiCxli5bIteJfq5ZG36+HaqZOk/v6oI=";
   };
 
   # The prefix passed to configure is not used.
diff --git a/pkgs/tools/graphics/grim/default.nix b/pkgs/tools/graphics/grim/default.nix
index f678b2bcae9..43824e16904 100644
--- a/pkgs/tools/graphics/grim/default.nix
+++ b/pkgs/tools/graphics/grim/default.nix
@@ -1,14 +1,14 @@
-{ lib, stdenv, fetchFromGitHub, cairo, libjpeg, meson, ninja, wayland, pkg-config, scdoc, wayland-protocols }:
+{ lib, stdenv, fetchFromGitHub, pixman, libpng, libjpeg, meson, ninja, wayland, pkg-config, scdoc, wayland-protocols }:
 
 stdenv.mkDerivation rec {
   pname = "grim";
-  version = "1.3.2";
+  version = "1.4.0";
 
   src = fetchFromGitHub {
     owner = "emersion";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-71dmYENfPX8YHcTlR2F67EheoewicePMKm9/wPbmj9A=";
+    sha256 = "sha256-lwJn1Lysv1qLauqmrduUlzdoKUrUM5uBjv+dWSsrM6w=";
   };
 
   nativeBuildInputs = [
@@ -19,7 +19,8 @@ stdenv.mkDerivation rec {
   ];
 
   buildInputs = [
-    cairo
+    pixman
+    libpng
     libjpeg
     wayland
     wayland-protocols
diff --git a/pkgs/tools/graphics/gromit-mpx/default.nix b/pkgs/tools/graphics/gromit-mpx/default.nix
index 9af99a58098..122dfe8a8bf 100644
--- a/pkgs/tools/graphics/gromit-mpx/default.nix
+++ b/pkgs/tools/graphics/gromit-mpx/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "gromit-mpx";
-  version = "1.4";
+  version = "1.4.2";
 
   src = fetchFromGitHub {
     owner = "bk138";
     repo = "gromit-mpx";
     rev = version;
-    sha256 = "1xn14r7lhay720y78j1fs4amp5lia39kpq7vzv02x4nnwhgbsd9r";
+    sha256 = "sha256-2inmcKSdvHs7WaU095liH12Og9ezsNSs2qygltWOclw=";
   };
 
   nativeBuildInputs = [ cmake pkg-config wrapGAppsHook ];
@@ -33,6 +33,6 @@ stdenv.mkDerivation rec {
     homepage = "https://github.com/bk138/gromit-mpx";
     maintainers = with maintainers; [ pjones ];
     platforms = platforms.linux;
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
   };
 }
diff --git a/pkgs/tools/graphics/netpbm/default.nix b/pkgs/tools/graphics/netpbm/default.nix
index ce3205f7b2e..13ebb018d59 100644
--- a/pkgs/tools/graphics/netpbm/default.nix
+++ b/pkgs/tools/graphics/netpbm/default.nix
@@ -20,14 +20,14 @@ stdenv.mkDerivation {
   # Determine version and revision from:
   # https://sourceforge.net/p/netpbm/code/HEAD/log/?path=/advanced
   pname = "netpbm";
-  version = "10.97.2";
+  version = "10.97.3";
 
   outputs = [ "bin" "out" "dev" ];
 
   src = fetchsvn {
     url = "https://svn.code.sf.net/p/netpbm/code/advanced";
-    rev = "4242";
-    sha256 = "ljfowjaa3whNXavrLTFVUq87nG47sykYtrtGSrZb/rE=";
+    rev = "4263";
+    sha256 = "qELSUQqzufKjaWwXgkrVFROozD4Wjj/BzN8iUuVffwQ=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/graphics/pikchr/default.nix b/pkgs/tools/graphics/pikchr/default.nix
index ca4f647dfa2..6e2517becce 100644
--- a/pkgs/tools/graphics/pikchr/default.nix
+++ b/pkgs/tools/graphics/pikchr/default.nix
@@ -6,11 +6,11 @@
 stdenv.mkDerivation {
   pname = "pikchr";
   # To update, use the last check-in in https://pikchr.org/home/timeline?r=trunk
-  version = "unstable-2021-07-22";
+  version = "unstable-2022-01-30";
 
   src = fetchurl {
-    url = "https://pikchr.org/home/tarball/d9e1502ed74c6aab/pikchr.tar.gz";
-    sha256 = "sha256-YSy95GiSodOS1YJgl9arBniqEJzYPrZ9CHNSCee9Yfg=";
+    url = "https://pikchr.org/home/tarball/5db3aa1d294dcd16/pikchr.tar.gz";
+    sha256 = "sha256-xnT2oOx4LK9CElXeAuQIKlu6WvMB8Nv5+2kBzWQ5Gpc=";
   };
 
   # can't open generated html files
diff --git a/pkgs/tools/graphics/resvg/default.nix b/pkgs/tools/graphics/resvg/default.nix
index 11cdb85ca5f..43181404714 100644
--- a/pkgs/tools/graphics/resvg/default.nix
+++ b/pkgs/tools/graphics/resvg/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "resvg";
-  version = "0.20.0";
+  version = "0.22.0";
 
   src = fetchFromGitHub {
     owner = "RazrFalcon";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pw6qxOpujpljZyDnS7PFFhBbOSTYlX7R7Nn1GyxYQYI=";
+    sha256 = "sha256-3WFzLyg6335twcAMIjzza9r45ljcFlAzvTqyqXOfs1A=";
   };
 
-  cargoSha256 = "sha256-Jhco7KdEQOxfHOAPNIHZfAED5LOZD5kelaDSBeuT41E=";
+  cargoSha256 = "sha256-twKiuxRpsiJu+hHrg6kUclX9+BWPUop492C+CkwQF2k=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
 
diff --git a/pkgs/tools/graphics/scrot/default.nix b/pkgs/tools/graphics/scrot/default.nix
index a599f50890c..11d2a3c0b89 100644
--- a/pkgs/tools/graphics/scrot/default.nix
+++ b/pkgs/tools/graphics/scrot/default.nix
@@ -41,6 +41,6 @@ stdenv.mkDerivation rec {
     description = "A command-line screen capture utility";
     platforms = platforms.linux;
     maintainers = with maintainers; [ globin ];
-    license = licenses.mit;
+    license = licenses.mitAdvertising;
   };
 }
diff --git a/pkgs/tools/graphics/snapdragon-profiler/default.nix b/pkgs/tools/graphics/snapdragon-profiler/default.nix
index 02a96184812..298975ef18b 100644
--- a/pkgs/tools/graphics/snapdragon-profiler/default.nix
+++ b/pkgs/tools/graphics/snapdragon-profiler/default.nix
@@ -72,10 +72,8 @@ stdenv.mkDerivation rec {
     desktopName = "Snapdragon Profiler";
     exec = "$out/bin/snapdragon-profiler";
     icon = "snapdragon-profiler";
-    type = "Application";
     comment = meta.description;
-    categories = "Development;Debugger;Graphics;3DGraphics";
-    terminal = "false";
+    categories = [ "Development" "Debugger" "Graphics" "3DGraphics" ];
   })];
 
   dontStrip = true; # Always needed on Mono
diff --git a/pkgs/tools/graphics/svgbob/default.nix b/pkgs/tools/graphics/svgbob/default.nix
index 2e3740dabb7..52ef4230fd3 100644
--- a/pkgs/tools/graphics/svgbob/default.nix
+++ b/pkgs/tools/graphics/svgbob/default.nix
@@ -2,15 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "svgbob";
-  version = "0.6.2";
+  version = "0.6.5";
 
   src = fetchCrate {
     inherit version;
     crateName = "svgbob_cli";
-    sha256 = "sha256-9JASoUN/VzZS8ihepTQL2SXZitxKBMSJEv+13vzQd3w=";
+    sha256 = "sha256-EsOq081wfnuFT0OKqLyi3R105brZwuHJwzEx00c2LGg=";
   };
 
-  cargoSha256 = "sha256-pkdiow+9gsQ9rrSHwukd17r5CfsaJgYj6KA4wYKbtA0=";
+  cargoSha256 = "sha256-sBU3GoqUH9cS1Kn0MCysCG9kQsWQqteVui1AHW9bfs0=";
+
+  postInstall = ''
+    mv $out/bin/svgbob_cli $out/bin/svgbob
+  '';
 
   meta = with lib; {
     description = "Convert your ascii diagram scribbles into happy little SVG";
diff --git a/pkgs/tools/graphics/timg/default.nix b/pkgs/tools/graphics/timg/default.nix
index 035bb33eebf..136b5a24151 100644
--- a/pkgs/tools/graphics/timg/default.nix
+++ b/pkgs/tools/graphics/timg/default.nix
@@ -3,13 +3,13 @@
 
 stdenv.mkDerivation rec {
   pname = "timg";
-  version = "1.4.3";
+  version = "1.4.4";
 
   src = fetchFromGitHub {
     owner = "hzeller";
     repo = "timg";
     rev = "v${version}";
-    sha256 = "1lanr2y9rchl0xmycsyl0bhnh9mrmr5dj46pglw4lykz4rxslzcx";
+    sha256 = "1gdwg15fywya6k6pajkx86kv2d8k85pmisnq53b02br5i01y4k41";
   };
 
   buildInputs = [ graphicsmagick ffmpeg libexif libjpeg openslide zlib ];
diff --git a/pkgs/tools/graphics/transfig/default.nix b/pkgs/tools/graphics/transfig/default.nix
deleted file mode 100644
index 617ecbf90ee..00000000000
--- a/pkgs/tools/graphics/transfig/default.nix
+++ /dev/null
@@ -1,63 +0,0 @@
-{ lib, stdenv, fetchurl, zlib, libjpeg, libpng, imake, gccmakedep }:
-
-stdenv.mkDerivation rec {
-  pname = "transfig";
-  version = "3.2.4";
-
-  src = fetchurl {
-    url = "ftp://ftp.tex.ac.uk/pub/archive/graphics/transfig/transfig.${version}.tar.gz";
-    sha256 = "0429snhp5acbz61pvblwlrwv8nxr6gf12p37f9xxwrkqv4ir7dd4";
-  };
-
-  nativeBuildInputs = [ imake gccmakedep ];
-  buildInputs = [ zlib libjpeg libpng ];
-
-  patches = [
-    ./patch-fig2dev-dev-Imakefile.patch
-    ./patch-fig2dev-Imakefile.patch
-    ./patch-transfig-Imakefile.patch
-    ./patch-fig2dev-fig2dev.h.patch
-    ./patch-fig2dev-dev-gensvg.c.patch
-  ];
-
-  patchPhase = ''
-    runHook prePatch
-
-    configureImakefiles() {
-        local sedcmd=$1
-
-        sed "$sedcmd" fig2dev/Imakefile > tmpsed
-        cp tmpsed fig2dev/Imakefile
-
-        sed "$sedcmd" fig2dev/dev/Imakefile > tmpsed
-        cp tmpsed fig2dev/dev/Imakefile
-
-        sed "$sedcmd" transfig/Imakefile > tmpsed
-        cp tmpsed transfig/Imakefile
-    }
-
-    for i in $patches; do
-        header "applying patch $i" 3
-        patch -p0 < $i
-        stopNest
-    done
-
-    configureImakefiles "s:__PREFIX_PNG:${libpng}:"
-    configureImakefiles "s:__PREFIX:$out:"
-
-    runHook postPatch
-  '';
-
-  makeFlags = [ "CC=${stdenv.cc.targetPrefix}cc" ];
-
-  preInstall = ''
-    mkdir -p $out
-    mkdir -p $out/lib
-  '';
-
-  hardeningDisable = [ "format" ];
-
-  meta = {
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch
deleted file mode 100644
index 9c1895b1519..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-Imakefile.patch
+++ /dev/null
@@ -1,75 +0,0 @@
---- fig2dev/Imakefile.orig	Thu Mar 25 22:39:10 2004
-+++ fig2dev/Imakefile	Thu Mar 25 22:41:01 2004
-@@ -16,17 +16,23 @@
- XCOMM party to do so, with the only requirement being that this copyright 
- XCOMM notice remain intact.
- 
-+BINDIR = __PREFIX/bin
-+DESTDIR = __DESTROOT
-+MKDIRHIER = mkdirhier
-+MANDIR = __PREFIX/share/man/$(MANSUFFIX)
-+INSTALLFLAGS = -c
-+
- XCOMM ******
- XCOMM You should point XFIGLIBDIR to the same directory you did when you compiled
- XCOMM and installed xfig.
- 
--XFIGLIBDIR =	/usr/local/lib/X11/xfig
-+XFIGLIBDIR =	__PREFIX/lib/xfig
- 
- XCOMM ******
- XCOMM If your system has the strerror() function (doesn't have sys_errlist) then
- XCOMM comment out NEED_STRERROR with an XCOMM comment.
- 
--NEED_STRERROR = -DNEED_STRERROR
-+XCOMM NEED_STRERROR = -DNEED_STRERROR
- 
- XCOMM The following probably only applies to Windows 9x/NT:
- XCOMM If your system can open files in text and binary modes and has the
-@@ -39,7 +45,7 @@
- XCOMM inline functions. With the "INLINE" keyword, you should notice that
- XCOMM the display will be a bit faster in complex figures
- 
--XCOMM USEINLINE = -DUSE_INLINE
-+USEINLINE = -DUSE_INLINE
- 
- XCOMM ****************
- XCOMM Change RGB if necessary, to point to your rgb.txt color database
-@@ -60,8 +66,8 @@
- XCOMM are in different places
- 
- #ifdef USEPNG
--PNGLIBDIR = $(USRLIBDIR)
--PNGINC = -I/usr/include/X11
-+PNGLIBDIR = __PREFIX_PNG/lib
-+PNGINC = -I__PREFIX_PNG/include
- #endif
- 
- XCOMM ****************
-@@ -73,7 +79,7 @@
- XCOMM Change XPMINC if necessary to point to the include file for xpm (xpm.h)
- XCOMM
- 
--XCOMM #define USEXPM
-+XCOMM #define USEXPM
- 
- #ifdef USEXPM
- XPMLIBDIR = $(USRLIBDIR)
-@@ -126,7 +132,7 @@
- 
- #ifdef I18N
- I18N_DEFS = -DI18N 
--FIG2DEV_LIBDIR = /usr/local/lib/fig2dev
-+FIG2DEV_LIBDIR = __PREFIX/lib/fig2dev
- I18N_DEV_DEFS = $(I18N_DEFS) -DFIG2DEV_LIBDIR=\\\"$(FIG2DEV_LIBDIR)\\\"
- 
- install::
-@@ -177,7 +183,7 @@
- 
- IMAKE_DEFINES = $(DUSEPNG) $(DUSEXPM)
- 
--DEVDEFINES = $(DUSEPNG) $(DUSEXPM) $(XPMINC) $(DDNFSS) $(DDA4) \
-+DEVDEFINES = $(DUSEPNG) $(DUSEXPM) $(PNGINC) $(XPMINC) $(DDNFSS) $(DDA4) \
- 		$(DDLATEX2E_GRAPHICS) $(DDEPSFIG) $(DDIBMGEC) $(DDDVIPS) $(I18N_DEV_DEFS)
- 
- #define IHaveSubdirs
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch
deleted file mode 100644
index 87f01f70d30..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-Imakefile.patch
+++ /dev/null
@@ -1,15 +0,0 @@
---- fig2dev/dev/Imakefile.orig	Thu Mar 25 22:47:18 2004
-+++ fig2dev/dev/Imakefile	Thu Mar 25 22:47:51 2004
-@@ -18,6 +18,12 @@
- XCOMM party to do so, with the only requirement being that this copyright 
- XCOMM notice remain intact.
- 
-+BINDIR = __PREFIX/bin
-+USRLIBDIR = __PREFIX/lib
-+DESTDIR = __DESTROOT
-+MKDIRHIER = mkdirhier
-+MANDIR = __PREFIX/share/man/$(MANSUFFIX)
-+
- INCLUDES = -I.. -I../..
- 
- #ifdef USE_PNG
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch
deleted file mode 100644
index 5bd05c97be8..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-dev-gensvg.c.patch
+++ /dev/null
@@ -1,21 +0,0 @@
---- fig2dev/dev/gensvg.c.orig	Wed Jul 23 16:39:14 2003
-+++ fig2dev/dev/gensvg.c	Wed Jul 23 16:39:52 2003
-@@ -692,16 +692,14 @@
-     if (t->angle != 0) {
- 	fprintf (tfp, "<g transform=\"translate(%d,%d) rotate(%d)\" >\n",
- 		 (int) (t->base_x * mag), (int) (t->base_y * mag), degrees (t->angle));
--	fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\"  font-family=\"%s\" 
--		 font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
-+	fprintf (tfp, "<text x=\"0\" y=\"0\" fill=\"#%6.6x\"  font-family=\"%s\" font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
- 		 rgbColorVal (t->color), family[(int) ceil ((t->font + 1) / 4)],
- 		 (t->font % 2 == 0 ? "normal" : "italic"),
- 		 (t->font % 4 < 2 ? "normal" : "bold"), (int) (ceil (t->size * 12 * mag)),
- 		 anchor[t->type]);
-     }
-     else
--	fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\"  font-family=\"%s\" 
--		 font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
-+	fprintf (tfp, "<text x=\"%d\" y=\"%d\" fill=\"#%6.6x\"  font-family=\"%s\" font-style=\"%s\" font-weight=\"%s\" font-size=\"%d\" text-anchor=\"%s\" >\n",
- 		 (int) (t->base_x * mag), (int) (t->base_y * mag), rgbColorVal (t->color),
- 		 family[(int) ceil ((t->font + 1) / 4)],
- 		 (t->font % 2 == 0 ? "normal" : "italic"),
diff --git a/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch b/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch
deleted file mode 100644
index 3f330c164e7..00000000000
--- a/pkgs/tools/graphics/transfig/patch-fig2dev-fig2dev.h.patch
+++ /dev/null
@@ -1,19 +0,0 @@
---- fig2dev/fig2dev.h.orig	Thu Dec 19 07:45:28 2002
-+++ fig2dev/fig2dev.h	Tue Jan  7 20:08:45 2003
-@@ -22,7 +22,6 @@
- #include <sys/file.h>
- #include <signal.h>
- #include <string.h>
--#include <varargs.h>
- #include <pwd.h>
- #include <errno.h>
- #include <time.h>
-@@ -210,7 +209,7 @@
- #endif /* MAXPATHLEN */
- #endif /* PATH_MAX */
- 
--#if ( !defined(__NetBSD__) && !defined(__DARWIN__))
-+#if ( !defined(__NetBSD__) && !defined(__FreeBSD__) && !defined(__DARWIN__))
- extern int		sys_nerr, errno;
- #endif
- 
diff --git a/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch b/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch
deleted file mode 100644
index 4639658dccd..00000000000
--- a/pkgs/tools/graphics/transfig/patch-transfig-Imakefile.patch
+++ /dev/null
@@ -1,22 +0,0 @@
---- transfig/Imakefile.orig	Thu Mar 25 22:10:42 2004
-+++ transfig/Imakefile	Thu Mar 25 22:14:04 2004
-@@ -14,11 +14,18 @@
- XCOMM party to do so, with the only requirement being that this copyright 
- XCOMM notice remain intact.
- 
-+BINDIR = __PREFIX/bin
-+USRLIBDIR = __PREFIX/lib
-+DESTDIR = __DESTROOT
-+MKDIRHIER = mkdirhier
-+MANDIR = __PREFIX/share/man/$(MANSUFFIX)
-+INSTALLFLAGS = -c
-+
- XCOMM Uncomment the USELATEX2E flag in the transfig/Imakefile file to use the
- XCOMM \\usepackage{} command for LaTeX2e. 
- XCOMM The default is to use \\documentstyle{} for LaTeX209.
- 
--XCOMM USELATEX2E = -DLATEX2E
-+USELATEX2E = -DLATEX2E
- 
- XCOMM ******* DON'T CHANGE ANYTHIN BELOW THIS POINT *******
- 
diff --git a/pkgs/tools/graphics/unpaper/default.nix b/pkgs/tools/graphics/unpaper/default.nix
index 20dfe15dc6c..fdd8cb80e56 100644
--- a/pkgs/tools/graphics/unpaper/default.nix
+++ b/pkgs/tools/graphics/unpaper/default.nix
@@ -1,4 +1,4 @@
-{ lib, stdenv, fetchurl, pkg-config, ffmpeg, libxslt }:
+{ lib, stdenv, fetchurl, pkg-config, ffmpeg_4, libxslt }:
 
 stdenv.mkDerivation rec {
   pname = "unpaper";
@@ -10,7 +10,7 @@ stdenv.mkDerivation rec {
   };
 
   nativeBuildInputs = [ pkg-config ];
-  buildInputs = [ ffmpeg libxslt ];
+  buildInputs = [ ffmpeg_4 libxslt ];
 
   meta = with lib; {
     homepage = "https://www.flameeyes.eu/projects/unpaper";
diff --git a/pkgs/tools/graphics/vkBasalt/default.nix b/pkgs/tools/graphics/vkBasalt/default.nix
index 3695c7ec2c0..b0b9c9b07b4 100644
--- a/pkgs/tools/graphics/vkBasalt/default.nix
+++ b/pkgs/tools/graphics/vkBasalt/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "vkBasalt";
-  version = "0.3.2.4";
+  version = "0.3.2.5";
 
   src = fetchFromGitHub {
     owner = "DadSchoorse";
     repo = pname;
     rev = "v${version}";
-    sha256 = "01iplj6dlw2vl35hyci5m5yp8jmzcwng6c3jk3wn97jpv6m3hjqz";
+    sha256 = "sha256-1UHxPtpmkDNOJwKXVlRN2lpvRm4XPHNwxOBpEikXxqA=";
   };
 
   nativeBuildInputs = [ glslang meson ninja pkg-config ];
diff --git a/pkgs/tools/graphics/vulkan-extension-layer/default.nix b/pkgs/tools/graphics/vulkan-extension-layer/default.nix
index ed765576326..df41ecd485d 100644
--- a/pkgs/tools/graphics/vulkan-extension-layer/default.nix
+++ b/pkgs/tools/graphics/vulkan-extension-layer/default.nix
@@ -2,14 +2,14 @@
 
 stdenv.mkDerivation rec {
   pname = "vulkan-extension-layer";
-  version = "1.2.189.1";
+  version = "1.2.198.0";
 
   src = (assert version == vulkan-headers.version;
     fetchFromGitHub {
       owner = "KhronosGroup";
       repo = "Vulkan-ExtensionLayer";
       rev = "sdk-${version}";
-      sha256 = "0qi9ps215pmrh8vgi81wvlzjyxs44bama2x3d43a1bbvcyp9s6kp";
+      sha256 = "sha256-g674rw8lXyP1WUoJmbRRL7s+1Yxs00sR04+hTQ3l3dE=";
     });
 
   nativeBuildInputs = [ cmake jq ];
diff --git a/pkgs/tools/graphics/xcolor/default.nix b/pkgs/tools/graphics/xcolor/default.nix
index 707e9a95a12..1ef2c807bde 100644
--- a/pkgs/tools/graphics/xcolor/default.nix
+++ b/pkgs/tools/graphics/xcolor/default.nix
@@ -25,7 +25,7 @@ rustPlatform.buildRustPackage rec {
       desktopName = "XColor";
       comment = "Select colors visible anywhere on the screen to get their RGB representation";
       icon = "xcolor";
-      categories = "Graphics;";
+      categories = [ "Graphics" ];
     })
   ];
 
diff --git a/pkgs/tools/graphics/zbar/default.nix b/pkgs/tools/graphics/zbar/default.nix
index e17580d9c00..b75df56e432 100644
--- a/pkgs/tools/graphics/zbar/default.nix
+++ b/pkgs/tools/graphics/zbar/default.nix
@@ -83,6 +83,8 @@ stdenv.mkDerivation rec {
     wrapQtApp "$out/bin/zbarcam-qt"
   '';
 
+  enableParallelBuilding = true;
+
   meta = with lib; {
     description = "Bar code reader";
     longDescription = ''
diff --git a/pkgs/tools/inputmethods/emote/default.nix b/pkgs/tools/inputmethods/emote/default.nix
index 79831d7ef1e..b2c0fe6cc61 100644
--- a/pkgs/tools/inputmethods/emote/default.nix
+++ b/pkgs/tools/inputmethods/emote/default.nix
@@ -54,7 +54,7 @@ python3Packages.buildPythonApplication rec {
     description = "A modern emoji picker for Linux";
     homepage = "https://github.com/tom-james-watson/emote";
     license = licenses.gpl3Plus;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
index aaef2dd2d08..137973d8a60 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-m17n/default.nix
@@ -13,13 +13,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-m17n";
-  version = "1.4.6";
+  version = "1.4.9";
 
   src = fetchFromGitHub {
     owner = "ibus";
     repo = "ibus-m17n";
     rev = version;
-    sha256 = "sha256-hdm1ObzN9pFLeO1ujobHxiQYnA+dg9zIp/qho6S0H78=";
+    sha256 = "sha256-N9hzyu2etbxlJPD2yUc2T0jxAfhEhshQ8X5R27JBg1E=";
   };
 
   nativeBuildInputs = [
@@ -48,7 +48,7 @@ stdenv.mkDerivation rec {
     isIbusEngine = true;
     description = "m17n engine for ibus";
     homepage = "https://github.com/ibus/ibus-m17n";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = with maintainers; [ ericsagnes ];
   };
diff --git a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
index 410774e3897..9712b56b01e 100644
--- a/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
+++ b/pkgs/tools/inputmethods/ibus-engines/ibus-table/default.nix
@@ -5,13 +5,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ibus-table";
-  version = "1.14.1";
+  version = "1.16.7";
 
   src = fetchFromGitHub {
     owner  = "kaio";
     repo   = "ibus-table";
     rev    = version;
-    sha256 = "sha256-PO5OOIOyolx6PRQ36u0s+oz3elgZzGBZGgOLTxGWbGo=";
+    sha256 = "sha256-rejYxuRhzNmtx11NH3BZe3ODjU5OyZ9sgk6GWnBBXAo=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/inputmethods/input-remapper/default.nix b/pkgs/tools/inputmethods/input-remapper/default.nix
new file mode 100644
index 00000000000..82664c3700e
--- /dev/null
+++ b/pkgs/tools/inputmethods/input-remapper/default.nix
@@ -0,0 +1,157 @@
+{ lib
+, python3
+, pkgconfig
+, wrapGAppsHook
+, gettext
+, gtk3
+, glib
+, dbus
+, gobject-introspection
+, xmodmap
+, pygobject3
+, setuptools
+, evdev
+, pydantic
+, pydbus
+, psutil
+, fetchFromGitHub
+, buildPythonApplication
+, procps
+, gtksourceview4
+  # Change the default log level to debug for easier debugging of package issues
+, withDebugLogLevel ? false
+  # Xmodmap is an optional dependency
+  # If you use Xmodmap to set keyboard mappings (or your DE does)
+  # it is required to correctly map keys
+, withXmodmap ? true
+  # Version and rev and hash are package arguments to allow overriding
+  # while ensuring the values in prePatch and src match
+  # https://discourse.nixos.org/t/avoid-rec-expresions-in-nixpkgs/8293/7
+  # The names are prefixed with input_remapper to avoid potential
+  # collisions with package names
+, input_remapper_version ? "unstable-2022-02-09"
+, input_remapper_src_rev ? "55227e0b5a28d21d7333c6c8ea1c691e56fd35c4"
+, input_remapper_src_hash ? "sha256-kzGlEaYN/JfAgbI0aMLr5mwObYOL43X7QU/ihDEBQFg="
+}:
+
+let
+  maybeXmodmap = lib.optional withXmodmap xmodmap;
+in
+buildPythonApplication {
+  pname = "input-remapper";
+  version = input_remapper_version;
+
+  src = fetchFromGitHub {
+    rev = input_remapper_src_rev;
+    owner = "sezanzeb";
+    repo = "input-remapper";
+    hash = input_remapper_src_hash;
+  };
+
+  # Fixes error
+  # Couldn’t recognize the image file format for file "*.svg"
+  # at startup, see https://github.com/NixOS/nixpkgs/issues/56943
+  strictDeps = false;
+
+  prePatch = ''
+    # set revision for --version output
+    echo "COMMIT_HASH = '${input_remapper_src_rev}'" > inputremapper/commit_hash.py
+
+    # fix FHS paths
+    substituteInPlace inputremapper/configs/data.py \
+      --replace "/usr/share/input-remapper"  "$out/usr/share/input-remapper"
+  '' + (lib.optionalString (withDebugLogLevel) ''
+    # if debugging
+    substituteInPlace inputremapper/logger.py --replace "logger.setLevel(logging.INFO)"  "logger.setLevel(logging.DEBUG)"
+  '');
+
+  doCheck = true;
+  checkInputs = [
+    psutil
+  ];
+  pythonImportsCheck = [
+    "evdev"
+    "inputremapper"
+  ];
+
+  # Custom test script, can't use plain pytest / pytestCheckHook
+  # We only run tests in the unit folder, integration tests require UI
+  # To allow tests which access the system and session DBUS to run, we start a dbus session
+  # and bind it to both the system and session buses
+  installCheckPhase = ''
+    echo "<busconfig>
+      <type>session</type>
+      <listen>unix:tmpdir=$TMPDIR</listen>
+      <listen>unix:path=/build/system_bus_socket</listen>
+      <standard_session_servicedirs/>
+      <policy context=\"default\">
+        <!-- Allow everything to be sent -->
+        <allow send_destination=\"*\" eavesdrop=\"true\"/>
+        <!-- Allow everything to be received -->
+        <allow eavesdrop=\"true\"/>
+        <!-- Allow anyone to own anything -->
+        <allow own=\"*\"/>
+      </policy>
+    </busconfig>" > dbus.cfg
+    PATH=${lib.makeBinPath ([ dbus procps ] ++ maybeXmodmap)}:$PATH \
+      USER="$(id -u -n)" \
+      DBUS_SYSTEM_BUS_ADDRESS=unix:path=/build/system_bus_socket \
+      ${dbus}/bin/dbus-run-session --config-file dbus.cfg \
+      python tests/test.py --start-dir unit
+  '';
+
+  # Nixpkgs 15.9.4.3. When using wrapGAppsHook with special derivers you can end up with double wrapped binaries.
+  dontWrapGApps = true;
+  preFixup = ''
+    makeWrapperArgs+=(
+      "''${gappsWrapperArgs[@]}"
+      --prefix PATH : "${lib.makeBinPath maybeXmodmap}"
+    )
+  '';
+
+  nativeBuildInputs = [
+    wrapGAppsHook
+    gettext # needed to build translations
+    gtk3
+    glib
+    gobject-introspection
+    pygobject3
+  ] ++ maybeXmodmap;
+
+  propagatedBuildInputs = [
+    setuptools # needs pkg_resources
+    pygobject3
+    evdev
+    pkgconfig
+    pydantic
+    pydbus
+    gtksourceview4
+  ];
+
+  postInstall = ''
+    sed -r "s#RUN\+\=\"/bin/input-remapper-control#RUN\+\=\"$out/bin/input-remapper-control#g" -i data/99-input-remapper.rules
+    sed -r "s#ExecStart\=/usr/bin/input-remapper-service#ExecStart\=$out/bin/input-remapper-service#g" -i data/input-remapper.service
+
+    chmod +x data/*.desktop
+
+    install -D -t $out/share/applications/ data/*.desktop
+    install -D -t $out/share/polkit-1/actions/ data/input-remapper.policy
+    install -D data/99-input-remapper.rules $out/etc/udev/rules.d/99-input-remapper.rules
+    install -D data/input-remapper.service $out/lib/systemd/system/input-remapper.service
+    install -D data/input-remapper.policy $out/share/polkit-1/actions/input-remapper.policy
+    install -D data/inputremapper.Control.conf $out/etc/dbus-1/system.d/inputremapper.Control.conf
+    install -D -t $out/usr/share/input-remapper/ data/*
+
+    # Only install input-remapper prefixed binaries, we don't care about deprecated key-mapper ones
+    install -m755 -D -t $out/bin/ bin/input-remapper*
+  '';
+
+  meta = with lib; {
+    description = "An easy to use tool to change the mapping of your input device buttons";
+    homepage = "https://github.com/sezanzeb/input-remapper";
+    license = licenses.gpl3Plus;
+    platforms = platforms.linux;
+    maintainers = with maintainers; [ LunNova ];
+    mainProgram = "input-remapper-gtk";
+  };
+}
diff --git a/pkgs/tools/misc/aescrypt/default.nix b/pkgs/tools/misc/aescrypt/default.nix
index 2a8b8b0b024..0ced5380464 100644
--- a/pkgs/tools/misc/aescrypt/default.nix
+++ b/pkgs/tools/misc/aescrypt/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, libiconv }:
 
 stdenv.mkDerivation rec {
-  version = "3.14";
+  version = "3.16";
   pname = "aescrypt";
 
   src = fetchurl {
     url = "https://www.aescrypt.com/download/v3/linux/${pname}-${version}.tgz";
-    sha256 = "1iziymcbpc64d44djgqfifpblsly4sr5bxsp5g29jgxz552kjlah";
+    sha256 = "sha256-4uGS0LReq5dI7+Wel7ZWzFXx+utZWi93q4TUSw7AhNI=";
   };
 
   NIX_LDFLAGS = lib.optionalString stdenv.isDarwin "-liconv";
diff --git a/pkgs/tools/misc/apkeep/default.nix b/pkgs/tools/misc/apkeep/default.nix
index fb356845183..d405302282f 100644
--- a/pkgs/tools/misc/apkeep/default.nix
+++ b/pkgs/tools/misc/apkeep/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "apkeep";
-  version = "0.7.0";
+  version = "0.9.0";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "0anfp3nwsainx9sw4njcmkzczq1rmib3dyncwhcf7y3j9v978d3h";
+    sha256 = "sha256-ST1ifON25mizKZQX3fKeqBloXWW9LXDq5JkZIeiguRY=";
   };
 
-  cargoSha256 = "0npw8f8c0qcprcins0pc12c5w47kv8dd1nrzv4xyllr44vx488mc";
+  cargoSha256 = "sha256-/Xh1s4PO336B1ioKe0IKVGDACpMuXOpxA82U6zn2lj0=";
 
   prePatch = ''
     rm .cargo/config.toml
diff --git a/pkgs/tools/misc/apt-offline/default.nix b/pkgs/tools/misc/apt-offline/default.nix
index d59134a033b..122ca0abcff 100644
--- a/pkgs/tools/misc/apt-offline/default.nix
+++ b/pkgs/tools/misc/apt-offline/default.nix
@@ -1,14 +1,14 @@
-{ lib, fetchFromGitHub, python3Packages, unstableGitUpdater, gnupg }:
+{ lib, fetchFromGitHub, python3Packages, nix-update-script, gnupg }:
 
 python3Packages.buildPythonApplication rec {
   pname = "apt-offline";
-  version = "unstable-2021-07-25";
+  version = "1.8.4";
 
   src = fetchFromGitHub {
     owner = "rickysarraf";
     repo = pname;
-    rev = "7cfa5fc2736be2c832d0ddfa9255175a1f33158d";
-    sha256 = "xX2wcvqoPdgqBAWvQmSd//YWMC4pPmrq0vQjhDUKwEA=";
+    rev = "v${version}";
+    sha256 = "RBf/QG0ewLS6gnQTBXi0I18z8QrxoBAqEXZ7dro9z5A=";
   };
 
   postPatch = ''
@@ -28,8 +28,8 @@ python3Packages.buildPythonApplication rec {
 
   pythonimportsCheck = [ "apt-offline" ];
 
-  passthru.updateScript = unstableGitUpdater {
-    url = "https://github.com/rickysarraf/apt-offline.git";
+  passthru.updateScript = nix-update-script {
+    attrPath = pname;
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/asdf-vm/default.nix b/pkgs/tools/misc/asdf-vm/default.nix
index 1ba5c750f38..6b217d75d69 100644
--- a/pkgs/tools/misc/asdf-vm/default.nix
+++ b/pkgs/tools/misc/asdf-vm/default.nix
@@ -37,13 +37,13 @@ ${asdfReshimFile}
   '';
 in stdenv.mkDerivation rec {
   pname = "asdf-vm";
-  version = "0.8.1";
+  version = "0.9.0";
 
   src = fetchFromGitHub {
     owner = "asdf-vm";
     repo = "asdf";
     rev = "v${version}";
-    sha256 = "07lh5k1krzm7fbkv0jlwbzz5ycn2jg7s12dnqwmy82qqic0sl6fl";
+    sha256 = "sha256-uvf3WVflUdh+M90zMDVFVAXi7TZytc8oZ/DexJqpNV4=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/bashplotlib/default.nix b/pkgs/tools/misc/bashplotlib/default.nix
index 44d7e93355b..d35d9ebcbcc 100644
--- a/pkgs/tools/misc/bashplotlib/default.nix
+++ b/pkgs/tools/misc/bashplotlib/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication {
   pname = "bashplotlib";
-  version = "2019-01-02";
+  version = "2021-03-31";
 
   src = fetchFromGitHub {
     owner = "glamp";
     repo = "bashplotlib";
-    rev = "f7533172c4dc912b5accae42edd5c0f655d7468f";
-    sha256 = "1sifqslvvz2c05spwrl81kcdg792l6jwvfd3ih9q5wjkvkm0plz8";
+    rev = "db4065cfe65c0bf7c530e0e8b9328daf9593ad74";
+    sha256 = "sha256-0S6mgy6k7CcqsDR1kE5xcXGidF1t061e+M+ZuP2Gk3c=";
   };
 
   # No tests
diff --git a/pkgs/tools/misc/btdu/default.nix b/pkgs/tools/misc/btdu/default.nix
new file mode 100644
index 00000000000..d297af0d440
--- /dev/null
+++ b/pkgs/tools/misc/btdu/default.nix
@@ -0,0 +1,83 @@
+{stdenv, lib, fetchurl, dub, ncurses, ldc, zlib, removeReferencesTo }:
+
+let
+    _d_ae_ver              = "0.0.3100";
+    _d_btrfs_ver           = "0.0.12";
+    _d_ncurses_ver         = "0.0.149";
+    _d_emsi_containers_ver = "0.9.0";
+in
+stdenv.mkDerivation rec {
+    pname = "btdu";
+    version = "0.3.1";
+
+    srcs = [
+      (fetchurl {
+        url = "https://github.com/CyberShadow/${pname}/archive/v${version}.tar.gz";
+        sha256 = "760b2f0d28920a78b7967dd34c429125135688a3aefc57ab3a92d07bc3ef10cb";
+      })
+      (fetchurl {
+        url = "https://github.com/CyberShadow/ae/archive/v${_d_ae_ver}.tar.gz";
+        sha256 = "86fa09ef6c1be4cbe8ad1c85729054e5d691b41ff57c7980d99937ec0f45b950";
+      })
+      (fetchurl {
+        url = "https://github.com/CyberShadow/d-btrfs/archive/v${_d_btrfs_ver}.tar.gz";
+        sha256 = "cf2b1fa3e94a0aa239d465adbac239514838835283521d632f571948aa517f92";
+      })
+      (fetchurl {
+        url = "https://github.com/D-Programming-Deimos/ncurses/archive/v${_d_ncurses_ver}.tar.gz";
+        sha256 = "2c8497f5dd93f9d3a05ca7ed57c4fcaee1e988fd25a24de106917ddf72f34646";
+      })
+      (fetchurl {
+        url = "https://github.com/dlang-community/containers/archive/v${_d_emsi_containers_ver}.tar.gz";
+        sha256 = "5e256b84bbdbd2bd625cba0472ea27a1fde6d673d37a85fe971a20d52874acaa";
+      })
+    ];
+
+    sourceRoot = ".";
+
+    postUnpack = ''
+      mv ae-${_d_ae_ver} "ae"
+    '';
+
+
+    nativeBuildInputs = [ dub ldc ];
+    buildInputs = [ ncurses zlib ];
+
+    configurePhase = ''
+      runHook preConfigure
+      mkdir home
+      HOME="home" dub add-local ae ${_d_ae_ver}
+      HOME="home" dub add-local d-btrfs-${_d_btrfs_ver} ${_d_btrfs_ver}
+      HOME="home" dub add-local ncurses-${_d_ncurses_ver} ${_d_ncurses_ver}
+      HOME="home" dub add-local containers-${_d_emsi_containers_ver} ${_d_emsi_containers_ver}
+      runHook postConfigure
+    '';
+
+    buildPhase = ''
+      runHook preBuild
+      cd ${pname}-${version}
+      HOME="../home" dub --skip-registry=all build -b release
+      runHook postBuild
+    '';
+
+    installPhase = ''
+      runHook preInstall
+      mkdir -p $out/bin
+      cp btdu $out/bin/
+      runHook postInstall
+    '';
+
+    postInstall = ''
+      ${removeReferencesTo}/bin/remove-references-to -t ${ldc} $out/bin/btdu
+    '';
+
+    passthru.updateScript = ./update.py;
+
+    meta = with lib; {
+      description = "Sampling disk usage profiler for btrfs";
+      homepage = "https://github.com/CyberShadow/btdu";
+      license = licenses.gpl2Only;
+      platforms = platforms.linux;
+      maintainers = with maintainers; [ atila ];
+    };
+}
diff --git a/pkgs/tools/misc/btdu/update.py b/pkgs/tools/misc/btdu/update.py
new file mode 100755
index 00000000000..aa3b149d733
--- /dev/null
+++ b/pkgs/tools/misc/btdu/update.py
@@ -0,0 +1,82 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i python -p python39Packages.requests
+
+import requests
+import subprocess
+
+pkgbuild = requests.get('https://aur.archlinux.org/cgit/aur.git/plain/PKGBUILD?h=btdu').text
+
+def grabDepVersions(depDict, pkgbuild=pkgbuild):
+    for line in pkgbuild.split('\n'):
+        if depDict["string"] in line:
+            start = len(depDict["string"]) + 1
+            depDict["version"] = line[start:]
+            break
+
+def grabDepHashes(key,pkgbuild=pkgbuild):
+    start = pkgbuild.find(key) + len(key)
+    end = start+64
+    hashes = []
+    for i in range(5):
+        hashes.append(pkgbuild[start:end])
+        start     = pkgbuild.find("'",end+1) + 1
+        end       = start+64
+    return hashes
+
+def findLine(key,derivation):
+    count = 0
+    lines = []
+    for line in derivation:
+        if key in line:
+            lines.append(count)
+        count += 1
+    return lines
+
+def updateVersions(btdu,ae,btrfs,ncurses,containers,derivation):
+    key = "let"
+    line = findLine(key,derivation)[0] + 1
+    derivation[line+0] = f'    _d_ae_ver              = "{ae["version"]}";\n'
+    derivation[line+1] = f'    _d_btrfs_ver           = "{btrfs["version"]}";\n'
+    derivation[line+2] = f'    _d_ncurses_ver         = "{ncurses["version"]}";\n'
+    derivation[line+3] = f'    _d_emsi_containers_ver = "{containers["version"]}";\n'
+
+    key = "version = "
+    line = findLine(key,derivation)[0]
+    derivation[line] = f'    version = "{btdu["version"]}";\n'
+
+    return derivation
+
+def updateHashes(btdu,ae,btrfs,ncurses,containers,derivation):
+    key = "sha256 = "
+    hashLines = findLine(key,derivation)
+    for i in range(len(hashes)):
+        derivation[hashLines[i]] = f'        sha256 = "{hashes[i]}";\n'
+
+    return derivation
+
+if __name__ == "__main__":
+
+    btdu       = {"string": "pkgver"}
+    ae         = {"string": "_d_ae_ver"}
+    btrfs      = {"string": "_d_btrfs_ver"}
+    ncurses    = {"string": "_d_ncurses_ver"}
+    containers = {"string": "_d_emsi_containers_ver"}
+
+    grabDepVersions(btdu)
+    grabDepVersions(ae)
+    grabDepVersions(btrfs)
+    grabDepVersions(ncurses)
+    grabDepVersions(containers)
+
+    hashes = grabDepHashes("sha256sums=('")
+
+    nixpkgs = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip('\n')
+    btduFolder = "/pkgs/tools/misc/btdu/"
+    with open(nixpkgs + btduFolder + "default.nix", 'r') as arq:
+        derivation = arq.readlines()
+
+    derivation = updateVersions(btdu,ae,btrfs,ncurses,containers,derivation)
+    derivation = updateHashes(btdu,ae,btrfs,ncurses,containers,derivation)
+
+    with open(nixpkgs + btduFolder + "default.nix", 'w') as arq:
+        arq.writelines(derivation)
diff --git a/pkgs/tools/misc/chezmoi/default.nix b/pkgs/tools/misc/chezmoi/default.nix
index d09d4216b07..99461f6b1fa 100644
--- a/pkgs/tools/misc/chezmoi/default.nix
+++ b/pkgs/tools/misc/chezmoi/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "chezmoi";
-  version = "2.10.1";
+  version = "2.12.1";
 
   src = fetchFromGitHub {
     owner = "twpayne";
     repo = "chezmoi";
     rev = "v${version}";
-    sha256 = "sha256-DW4IqnpvhdX+RDxPHPyAezjB1BeMaiopC6UzVrodqLo=";
+    sha256 = "sha256-0v7BD/8Hpl6SLsfWWFC+XCH7Pe2RcziMM6nRTPsOBec=";
   };
 
-  vendorSha256 = "sha256-RQQeIKegZBCceXBahX78CYH00xFWEH38O5iFUQyXOLc=";
+  vendorSha256 = "sha256-QWOVcdFlUFS1kjLmwo2zY3s/sVSRxkeOVBWPyUYjbss=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/misc/clickclack/default.nix b/pkgs/tools/misc/clickclack/default.nix
index 0bcea9a2e8e..c7e1cbee79a 100644
--- a/pkgs/tools/misc/clickclack/default.nix
+++ b/pkgs/tools/misc/clickclack/default.nix
@@ -6,13 +6,13 @@
 
 stdenv.mkDerivation rec {
   pname = "clickclack";
-  version = "0.2";
+  version = "0.2.2";
 
   src = fetchFromSourcehut {
     owner = "~proycon";
     repo = "clickclack";
     rev = version;
-    sha256 = "sha256-hldtHSRdw6yP9lUFna5yvJ3mOTbQbbQNnGM7fMQmmtM=";
+    hash = "sha256-ABVfJRSzbQ6jIpON2g2wS52QsyNQVfW6+AhTvjkkf6s=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/cloud-sql-proxy/default.nix b/pkgs/tools/misc/cloud-sql-proxy/default.nix
index 8fd5c55c89f..005e1f4d02a 100644
--- a/pkgs/tools/misc/cloud-sql-proxy/default.nix
+++ b/pkgs/tools/misc/cloud-sql-proxy/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "cloud-sql-proxy";
-  version = "1.28.0";
+  version = "1.28.1";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "cloudsql-proxy";
     rev = "v${version}";
-    sha256 = "sha256-XA74rZ477Mwf8u0KLkFngfwiJexS10vh++ST6VtkcVg=";
+    sha256 = "sha256-mQYzc5OPYEsxBeSRiPHvYvh8grPOgB5sWB9EBrY3a6A=";
   };
 
   subPackages = [ "cmd/cloud_sql_proxy" ];
 
-  vendorSha256 = "sha256-ZXWhADfzvHcEW3IZlPyau5nHEXBJRH8aTvb3zCKl/LE=";
+  vendorSha256 = "sha256-+vuhOrUvA6W6y/6oEvJtsYixyvRzFPzpbw0Qn0AnYRI=";
 
   checkFlags = [ "-short" ];
 
diff --git a/pkgs/tools/misc/colord-gtk/default.nix b/pkgs/tools/misc/colord-gtk/default.nix
index d77204836b2..097605026ee 100644
--- a/pkgs/tools/misc/colord-gtk/default.nix
+++ b/pkgs/tools/misc/colord-gtk/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , colord
 , gettext
@@ -7,24 +8,25 @@
 , gobject-introspection
 , gtk-doc
 , docbook-xsl-ns
-, docbook_xsl
+, docbook-xsl-nons
 , docbook_xml_dtd_412
 , libxslt
 , glib
 , gtk3
+, gtk4
 , pkg-config
 , lcms2
 }:
 
 stdenv.mkDerivation rec {
   pname = "colord-gtk";
-  version = "0.2.0";
+  version = "0.3.0";
 
   outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/colord/releases/${pname}-${version}.tar.xz";
-    sha256 = "05y78jbcbar22sgyhzffhv98dbpl4v6k8j9p807h17y6ighglk1a";
+    sha256 = "uUZmVtZtmm/7wt0E+pHI9q9Ra/nvqstpdE7sD1bzwdA=";
   };
 
   nativeBuildInputs = [
@@ -35,7 +37,7 @@ stdenv.mkDerivation rec {
     gobject-introspection
     gtk-doc
     docbook-xsl-ns
-    docbook_xsl
+    docbook-xsl-nons
     docbook_xml_dtd_412
     libxslt
   ];
@@ -48,6 +50,7 @@ stdenv.mkDerivation rec {
   propagatedBuildInputs = [
     colord
     gtk3
+    gtk4
   ];
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/colord/default.nix b/pkgs/tools/misc/colord/default.nix
index 89435332c9c..f3d7503b9c9 100644
--- a/pkgs/tools/misc/colord/default.nix
+++ b/pkgs/tools/misc/colord/default.nix
@@ -1,4 +1,5 @@
-{ lib, stdenv
+{ lib
+, stdenv
 , fetchurl
 , nixosTests
 , bash-completion
@@ -29,13 +30,13 @@
 
 stdenv.mkDerivation rec {
   pname = "colord";
-  version = "1.4.5";
+  version = "1.4.6";
 
   outputs = [ "out" "dev" "devdoc" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/colord/releases/${pname}-${version}.tar.xz";
-    sha256 = "05sydi6qqqx1rrqwnga1vbg9srkf89wdcfw5w4p4m7r37m2flx5p";
+    sha256 = "dAdjGie/5dG2cueuQndwAcEF2GC3tzkig8jGMA3ojm8=";
   };
 
   patches = [
@@ -95,7 +96,7 @@ stdenv.mkDerivation rec {
   PKG_CONFIG_SYSTEMD_SYSTEMDSYSTEMUNITDIR = "${placeholder "out"}/lib/systemd/system";
   PKG_CONFIG_SYSTEMD_SYSTEMDUSERUNITDIR = "${placeholder "out"}/lib/systemd/user";
   PKG_CONFIG_SYSTEMD_TMPFILESDIR = "${placeholder "out"}/lib/tmpfiles.d";
-  PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR= "${placeholder "out"}/share/bash-completion/completions";
+  PKG_CONFIG_BASH_COMPLETION_COMPLETIONSDIR = "${placeholder "out"}/share/bash-completion/completions";
   PKG_CONFIG_UDEV_UDEVDIR = "${placeholder "out"}/lib/udev";
 
   passthru = {
diff --git a/pkgs/tools/misc/ddcutil/default.nix b/pkgs/tools/misc/ddcutil/default.nix
index 0a956a32519..9ee56a2d509 100644
--- a/pkgs/tools/misc/ddcutil/default.nix
+++ b/pkgs/tools/misc/ddcutil/default.nix
@@ -15,13 +15,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ddcutil";
-  version = "1.2.1";
+  version = "1.2.2";
 
   src = fetchFromGitHub {
     owner = "rockowitz";
     repo = "ddcutil";
     rev = "v${version}";
-    sha256 = "sha256-mIYxGoITaFlHgqAfB6ZZFR3spGD0BElJZJJqFGM4r/I=";
+    sha256 = "0hbd2ybpqmm96icg387vr57dqkdbc20vyimqjq5yx0sdlp4ikzi7";
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config ];
diff --git a/pkgs/tools/misc/diffoscope/default.nix b/pkgs/tools/misc/diffoscope/default.nix
index 26b39c66e88..f74f7855d02 100644
--- a/pkgs/tools/misc/diffoscope/default.nix
+++ b/pkgs/tools/misc/diffoscope/default.nix
@@ -11,11 +11,11 @@
 # Note: when upgrading this package, please run the list-missing-tools.sh script as described below!
 python3Packages.buildPythonApplication rec {
   pname = "diffoscope";
-  version = "203";
+  version = "205";
 
   src = fetchurl {
     url = "https://diffoscope.org/archive/diffoscope-${version}.tar.bz2";
-    sha256 = "sha256-xDH4Bd87hRnQ0xOeJijeon2RNAnvD3vfpvJgXoAXWAA=";
+    sha256 = "sha256-Smx9trogh7E6jsH0K+FXAocN8znnMXXnN6N/QzXkdJQ=";
   };
 
   outputs = [ "out" "man" ];
@@ -77,6 +77,9 @@ python3Packages.buildPythonApplication rec {
     # Failing because of file-v5.40 has a slightly different output.
     # Upstream issue: https://salsa.debian.org/reproducible-builds/diffoscope/-/issues/271
     "test_text_proper_indentation"
+
+    # fails because it fails to determine llvm version
+    "test_item3_deflate_llvm_bitcode"
   ] ++ lib.optionals stdenv.isDarwin [
     # Disable flaky tests on Darwin
     "test_non_unicode_filename"
diff --git a/pkgs/tools/misc/disfetch/default.nix b/pkgs/tools/misc/disfetch/default.nix
index 83be1943a30..57ab0897186 100644
--- a/pkgs/tools/misc/disfetch/default.nix
+++ b/pkgs/tools/misc/disfetch/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "disfetch";
-  version = "3.3";
+  version = "3.6";
 
   src = fetchFromGitHub {
     owner = "q60";
     repo = "disfetch";
     rev = version;
-    sha256 = "sha256-pKjSEK0DuQf2rBkOtqRhfhnpEHMqvmXwzKrwKL/T3QU=";
+    sha256 = "sha256-/Not2jNwk3jX8TLN7CT3JXDilatSYXPaudGKNAgQDPY=";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/dotter/default.nix b/pkgs/tools/misc/dotter/default.nix
new file mode 100644
index 00000000000..fdfabf8f778
--- /dev/null
+++ b/pkgs/tools/misc/dotter/default.nix
@@ -0,0 +1,25 @@
+{ lib, fetchFromGitHub, rustPlatform, which }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "dotter";
+  version = "0.12.9";
+
+  src = fetchFromGitHub {
+    owner = "SuperCuber";
+    repo = "dotter";
+    rev = version;
+    sha256 = "0rxinrm110i5cbkl7c7vgk7dl0x79cg6g23bdjixsg7h0572c2gi";
+  };
+
+  cargoSha256 = "0fr2dvzbpwqvf98wwrxv76nwbrv4m9ppx7br4x78gm8dhf2nj4zx";
+
+  checkInputs = [ which ];
+
+  meta = with lib; {
+    description = "A dotfile manager and templater written in rust 🦀";
+    homepage = "https://github.com/SuperCuber/dotter";
+    license = licenses.unlicense;
+    maintainers = with maintainers; [ linsui ];
+    mainProgram = "dotter";
+  };
+}
diff --git a/pkgs/tools/misc/duf/default.nix b/pkgs/tools/misc/duf/default.nix
index 9df8b37f703..3bcb4cdfeb2 100644
--- a/pkgs/tools/misc/duf/default.nix
+++ b/pkgs/tools/misc/duf/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "duf";
-  version = "0.8.0";
+  version = "0.8.1";
 
   src = fetchFromGitHub {
     owner = "muesli";
     repo = "duf";
     rev = "v${version}";
-    sha256 = "sha256-FZ4NplvCc1c+wPy1NSs2qwfWVtCPNHs6JquubGnwiEY=";
+    sha256 = "sha256-bVuqX88KY+ky+fd1FU9GWP78jQc4fRDk9yRSeIesHyI=";
   };
 
-  vendorSha256 = "sha256-VLGsfazTD7hSNXPxuGJJwyqvUlqk5wuz8NqFHs/jyZc=";
+  vendorSha256 = "sha256-oihi7E67VQmym9U1gdD802AYxWRrSowhzBiKg0CBDPc=";
 
   ldflags = [ "-s" "-w" "-X=main.Version=${version}" ];
 
diff --git a/pkgs/tools/misc/esphome/dashboard.nix b/pkgs/tools/misc/esphome/dashboard.nix
index 1dd4225ac09..dfb61ca29ad 100644
--- a/pkgs/tools/misc/esphome/dashboard.nix
+++ b/pkgs/tools/misc/esphome/dashboard.nix
@@ -1,14 +1,15 @@
 { lib
-, python3
+, buildPythonPackage
+, fetchPypi
 }:
 
-with python3.pkgs; buildPythonPackage rec {
+buildPythonPackage rec {
   pname = "esphome-dashboard";
-  version = "20220116.0";
+  version = "20220209.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-eItt7AP96juIaP57yGzW/Fb8NAGsns/4nGWQIMv7Xn8=";
+    sha256 = "sha256-FkFu3SvsowcsOFXvqWmpY3KEypXSb6KcpC/nJbQpDBA=";
   };
 
   # no tests
diff --git a/pkgs/tools/misc/esphome/default.nix b/pkgs/tools/misc/esphome/default.nix
index e87b88e63b5..2fbdc9f700d 100644
--- a/pkgs/tools/misc/esphome/default.nix
+++ b/pkgs/tools/misc/esphome/default.nix
@@ -1,8 +1,6 @@
 { lib
-, pkgs
 , python3
 , fetchFromGitHub
-, fetchpatch
 , platformio
 , esptool
 , git
@@ -11,27 +9,22 @@
 let
   python = python3.override {
     packageOverrides = self: super: {
-      esphome-dashboard = pkgs.callPackage ./dashboard.nix {};
+      esphome-dashboard = self.callPackage ./dashboard.nix {};
     };
   };
 in
 with python.pkgs; buildPythonApplication rec {
   pname = "esphome";
-  version = "2022.1.3";
+  version = "2022.2.5";
   format = "setuptools";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    sha256 = "sha256-4ME6XiS0tNgxtbHbOXw0z/kOqjzv3pog48qTRGJSsww=";
+    sha256 = "sha256-ZHxPiQEqFmW9tYv5SaHutOuBh7gsmN4Ux4+sMAJRIk4=";
   };
 
-  patches = [
-    # fix missing write permissions on src files before modifing them
-    ./fix-src-permissions.patch
-  ];
-
   postPatch = ''
     # remove all version pinning (E.g tornado==5.1.1 -> tornado)
     sed -i -e "s/==[0-9.]*//" requirements.txt
diff --git a/pkgs/tools/misc/esphome/fix-src-permissions.patch b/pkgs/tools/misc/esphome/fix-src-permissions.patch
deleted file mode 100644
index 5e92350105d..00000000000
--- a/pkgs/tools/misc/esphome/fix-src-permissions.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From f72c5035944065941daaa236b60664657c777726 Mon Sep 17 00:00:00 2001
-From: Martin Weinelt <hexa@darmstadt.ccc.de>
-Date: Wed, 23 Jun 2021 04:50:35 +0200
-Subject: [PATCH] Set u+w for copied src files before trying to overwrite them
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-We store esphome in the nix store, which results in its file permissions
-being 0444. Esphome, when compiling a firmware image, will copy these
-files from the nix store to a working directory. When updating between
-versions it will notice these files changed and try to copy the new
-version over, which would break, because the user had no write
-permissions on the files.
-
-❯ esphome compile 01e4ac.yml
-INFO Reading configuration 01e4ac.yml...
-INFO Detected timezone 'CET' with UTC offset 1 and daylight saving time from 27 March 02:00:00 to 30 October 03:00:00
-INFO Generating C++ source...
-ERROR Error copying file /nix/store/lmzrgl1arqfd98jcss4rsmmy6dbffddn-esphome-1.19.2/lib/python3.8/site-packages/esphome/components/api/api_connection.cpp to 01e4ac/src/esphome/components/api/api_connection.cpp: [Errno 13] Permission denied: '01e4ac/src/esphome/components/api/api_connection.cpp'
-
-To fix this we modify chmod to 0644 just before esphome tries a copy
-operation, which will fix permissions on existing working directories
-just in time.
----
- esphome/helpers.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/esphome/helpers.py b/esphome/helpers.py
-index ad7b8272..c456f4ff 100644
---- a/esphome/helpers.py
-+++ b/esphome/helpers.py
-@@ -228,6 +228,10 @@ def copy_file_if_changed(src: os.PathLike, dst: os.PathLike) -> None:
-     if file_compare(src, dst):
-         return
-     mkdir_p(os.path.dirname(dst))
-+    try:
-+        os.chmod(dst, 0o644)
-+    except OSError:
-+        pass
-     try:
-         shutil.copy(src, dst)
-     except OSError as err:
--- 
-2.31.1
-
diff --git a/pkgs/tools/misc/etcher/default.nix b/pkgs/tools/misc/etcher/default.nix
index 7f746b9a49b..c9d746cc96f 100644
--- a/pkgs/tools/misc/etcher/default.nix
+++ b/pkgs/tools/misc/etcher/default.nix
@@ -14,8 +14,8 @@ let
   throwSystem = throw "Unsupported system: ${stdenv.hostPlatform.system}";
 
   sha256 = {
-    "x86_64-linux" = "sha256-n8i4ZqjugeUfXpTzVgIwVomfPk6HvPEbTZLe/jFgwFg=";
-    "i686-linux" = "sha256-lLGfhW6el2ZOcaykH1kTjGldXo7/0q5O8QnslnDlWAQ=";
+    "x86_64-linux" = "1yj6ybc99nqpzv2wjmvi7khfb5viwlb2rbjdpvgr4pmlzmiv7n2k";
+    "i686-linux" = "09ddcqxw1jhl8v461ngdgj2l4infn2xiwvaqxi6qp3swci627vmz";
   }."${system}" or throwSystem;
 
   arch = {
@@ -27,7 +27,7 @@ in
 
 stdenv.mkDerivation rec {
   pname = "etcher";
-  version = "1.6.0";
+  version = "1.7.3";
 
   src = fetchurl {
     url = "https://github.com/balena-io/etcher/releases/download/v${version}/balena-etcher-electron_${version}_${arch}.deb";
diff --git a/pkgs/tools/misc/fend/default.nix b/pkgs/tools/misc/fend/default.nix
index 8d6b2d38296..40ad6851f73 100644
--- a/pkgs/tools/misc/fend/default.nix
+++ b/pkgs/tools/misc/fend/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fend";
-  version = "0.1.27";
+  version = "0.1.28";
 
   src = fetchFromGitHub {
     owner = "printfn";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-4Zn42GXtX1UZYa8m3Ig90xDkmwDG7egPE5fRzPYj9sw=";
+    sha256 = "sha256-1bSbeY0ijPKQ/bO1pD/gJ6AC1KNhUlQ1CP0ApbHKkPI=";
   };
 
-  cargoSha256 = "sha256-brk6hpBq/wyt0TWQGojTk+bz3/2Jvwx7MoVSkTEq0hU=";
+  cargoSha256 = "sha256-d4Kv3CNDrsnit5ukw6EXdgjirGkeTEBZ0nm97ZQ8TZ0=";
 
   doInstallCheck = true;
 
diff --git a/pkgs/tools/misc/fortune/default.nix b/pkgs/tools/misc/fortune/default.nix
index aa18409525d..988483fbd6a 100644
--- a/pkgs/tools/misc/fortune/default.nix
+++ b/pkgs/tools/misc/fortune/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "fortune-mod";
-  version = "3.10.0";
+  version = "3.12.0";
 
   # We use fetchurl instead of fetchFromGitHub because the release pack has some
   # special files.
   src = fetchurl {
     url = "https://github.com/shlomif/fortune-mod/releases/download/${pname}-${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-DR73JXpOkpaOsymP9nxAklCxdoxAnjL1GeNF6D/tDTc=";
+    sha256 = "sha256-fVrtfLmZiVDTSeuoOltX/vunGSizSw+ZhQhBn9t0C3E=";
   };
 
   nativeBuildInputs = [ cmake perl ];
diff --git a/pkgs/tools/misc/fpp/default.nix b/pkgs/tools/misc/fpp/default.nix
index 6c2abbf6c64..ff514ceafb2 100644
--- a/pkgs/tools/misc/fpp/default.nix
+++ b/pkgs/tools/misc/fpp/default.nix
@@ -1,16 +1,18 @@
-{ lib, stdenv, fetchFromGitHub, python3 }:
+{ lib, stdenv, fetchFromGitHub, python3, installShellFiles }:
 
 stdenv.mkDerivation rec {
   pname = "fpp";
-  version = "0.9.2";
+  version = "0.9.5";
 
   src = fetchFromGitHub {
     owner = "facebook";
     repo = "PathPicker";
     rev = version;
-    sha256 = "08p2xlz045fqyb0aj9pwwf2s5nb4b02i8zj81732q59yx5c6lrlv";
+    sha256 = "sha256-4BkdGvG/RyF3JBnd/X5r5nboEHG4aqahcYHDunMv2zU=";
   };
 
+  nativeBuildInputs = [ installShellFiles ];
+
   postPatch = ''
     substituteInPlace fpp --replace 'PYTHONCMD="python3"' 'PYTHONCMD="${python3.interpreter}"'
   '';
@@ -19,6 +21,7 @@ stdenv.mkDerivation rec {
     mkdir -p $out/share/fpp $out/bin
     cp -r fpp src $out/share/fpp
     ln -s $out/share/fpp/fpp $out/bin/fpp
+    installManPage debian/usr/share/man/man1/fpp.1
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/fselect/default.nix b/pkgs/tools/misc/fselect/default.nix
index c02ceaac119..fbdb90b12b7 100644
--- a/pkgs/tools/misc/fselect/default.nix
+++ b/pkgs/tools/misc/fselect/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "fselect";
-  version = "0.7.9";
+  version = "0.8.0";
 
   src = fetchFromGitHub {
     owner = "jhspetersson";
     repo = "fselect";
     rev = version;
-    sha256 = "sha256-Z1F63tMO3qzi/PrdVR0WCcPXx5E6PwjYPF99Bolnxc8=";
+    sha256 = "sha256-nFfzvTCiNlv+EzK51w04JHh8tfsim/8hFCxnZZue5No=";
   };
 
-  cargoSha256 = "sha256-tGzfIQ4nAFA/mXPL6cOaz97W5tjtPGsmbTSkUDFSAzY=";
+  cargoSha256 = "sha256-B7uJ9hLN/WhLA/bqoO7WZ38tN0tDMZ2KW/vjfOgcQ3A=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optional stdenv.isDarwin libiconv;
diff --git a/pkgs/tools/misc/gh-ost/default.nix b/pkgs/tools/misc/gh-ost/default.nix
index 16594f898b9..948132416ab 100644
--- a/pkgs/tools/misc/gh-ost/default.nix
+++ b/pkgs/tools/misc/gh-ost/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "gh-ost";
-  version = "1.1.2";
+  version = "1.1.4";
 
   src = fetchFromGitHub {
     owner = "github";
     repo = "gh-ost";
     rev = "v${version}";
-    sha256 = "sha256-q1wtATFm65c2esQ+TPR2f+YafYeOmC79EumHyGxXrnE=";
+    sha256 = "sha256-HtLtwqPijOE19iJ2AUNAnyc2ujLPeH43HSg3QRBbKEg=";
   };
 
   goPackagePath = "github.com/github/gh-ost";
diff --git a/pkgs/tools/misc/goaccess/default.nix b/pkgs/tools/misc/goaccess/default.nix
index fd1c80a35a0..0515a2bbb80 100644
--- a/pkgs/tools/misc/goaccess/default.nix
+++ b/pkgs/tools/misc/goaccess/default.nix
@@ -10,14 +10,14 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "1.5.4";
+  version = "1.5.5";
   pname = "goaccess";
 
   src = fetchFromGitHub {
     owner = "allinurl";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-KDA5R3up37DLS9YIur4IOacwOq0zed5tj58jEmE0vpE=";
+    sha256 = "sha256-gTdmqyGJ+TipiwDtbnGFrEZjkAyNejNINlB5iZz5yTI=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/goreleaser/default.nix b/pkgs/tools/misc/goreleaser/default.nix
index 3f480a0ec5e..6ba61207043 100644
--- a/pkgs/tools/misc/goreleaser/default.nix
+++ b/pkgs/tools/misc/goreleaser/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "goreleaser";
-  version = "1.4.1";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pEZ7H7WOPpzCGMLPgyfVJudamSWynoB5qnZSbVXj5uk=";
+    sha256 = "sha256-H7LgADzES5Zi5+lcooix+WCjDxqkThIIGvwa8IiHDHo=";
   };
 
-  vendorSha256 = "sha256-7c5bd5pEulcr1mpdEUr2tDZNwjRkjqXOLiu+2x5/uFs=";
+  vendorSha256 = "sha256-4Hb+SmmPk4+c4QoOJADinKGD1xd0RYzn2wniuBxatAw=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/misc/grub/2.0x.nix b/pkgs/tools/misc/grub/2.0x.nix
index ea983d6f043..745689e312f 100644
--- a/pkgs/tools/misc/grub/2.0x.nix
+++ b/pkgs/tools/misc/grub/2.0x.nix
@@ -64,6 +64,13 @@ stdenv.mkDerivation rec {
       url = "https://marc.info/?l=grub-devel&m=146193404929072&q=mbox";
       sha256 = "00wa1q5adiass6i0x7p98vynj9vsz1w0gn1g4dgz89v35mpyw2bi";
     })
+
+    # Pull upstream patch to fix linkage against binutils-2.36.
+    (fetchpatch {
+      name = "binutils-2.36";
+      url = "https://git.savannah.gnu.org/cgit/grub.git/patch/?id=b98275138bf4fc250a1c362dfd2c8b1cf2421701";
+      sha256 = "001m058bsl2pcb0ii84jfm5ias8zgzabrfy6k2cc9w6w1y51ii82";
+    })
   ];
 
   postPatch = if kbdcompSupport then ''
diff --git a/pkgs/tools/misc/hakuneko/default.nix b/pkgs/tools/misc/hakuneko/default.nix
index 0a1d070d77e..eb6101f6498 100644
--- a/pkgs/tools/misc/hakuneko/default.nix
+++ b/pkgs/tools/misc/hakuneko/default.nix
@@ -13,11 +13,10 @@ let
   desktopItem = makeDesktopItem {
     desktopName = "HakuNeko Desktop";
     genericName = "Manga & Anime Downloader";
-    categories = "Network;FileTransfer;";
+    categories = [ "Network" "FileTransfer" ];
     exec = "hakuneko";
     icon = "hakuneko-desktop";
     name = "hakuneko-desktop";
-    type = "Application";
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/hdf5/default.nix b/pkgs/tools/misc/hdf5/default.nix
index 5671e73c85f..d3428225902 100644
--- a/pkgs/tools/misc/hdf5/default.nix
+++ b/pkgs/tools/misc/hdf5/default.nix
@@ -15,6 +15,7 @@
 , javaSupport ? false
 , jdk
 , usev110Api ? false
+, threadsafe ? false
 }:
 
 # cpp and mpi options are mutually exclusive
@@ -25,9 +26,14 @@ let inherit (lib) optional optionals; in
 
 stdenv.mkDerivation rec {
   version = "1.12.1";
-  pname = "hdf5";
+  pname = "hdf5"
+    + lib.optionalString cppSupport "-cpp"
+    + lib.optionalString fortranSupport "-fortran"
+    + lib.optionalString mpiSupport "-mpi"
+    + lib.optionalString threadsafe "-threadsafe";
+
   src = fetchurl {
-    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/${pname}-${version}/src/${pname}-${version}.tar.bz2";
+    url = "https://support.hdfgroup.org/ftp/HDF5/releases/hdf5-${lib.versions.majorMinor version}/hdf5-${version}/src/hdf5-${version}.tar.bz2";
     sha256 = "sha256-qvn1MrPtqD09Otyfi0Cpt2MVIhj6RTScO8d1Asofjxw=";
   };
 
@@ -63,7 +69,9 @@ stdenv.mkDerivation rec {
     ++ optionals mpiSupport [ "--enable-parallel" "CC=${mpi}/bin/mpicc" ]
     ++ optional enableShared "--enable-shared"
     ++ optional javaSupport "--enable-java"
-    ++ optional usev110Api "--with-default-api-version=v110";
+    ++ optional usev110Api "--with-default-api-version=v110"
+    # hdf5 hl (High Level) library is not considered stable with thread safety and should be disabled.
+    ++ optionals threadsafe [ "--enable-threadsafe" "--disable-hl" ];
 
   patches = [
     ./bin-mv.patch
diff --git a/pkgs/tools/misc/hdfview/default.nix b/pkgs/tools/misc/hdfview/default.nix
index b33fee8e0b5..6030913a228 100644
--- a/pkgs/tools/misc/hdfview/default.nix
+++ b/pkgs/tools/misc/hdfview/default.nix
@@ -32,7 +32,7 @@ stdenv.mkDerivation rec {
     exec = name;
     icon = name;
     comment = meta.description;
-    categories = "Science;DataVisualization;";
+    categories = [ "Science" "DataVisualization" ];
   };
 
   installPhase = ''
diff --git a/pkgs/tools/misc/hexd/default.nix b/pkgs/tools/misc/hexd/default.nix
index 467e85128b8..e3a3f79f326 100644
--- a/pkgs/tools/misc/hexd/default.nix
+++ b/pkgs/tools/misc/hexd/default.nix
@@ -4,13 +4,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "hexd";
-  version = "1.0.0";
+  version = "1.1.0";
 
   src = fetchFromGitHub {
     owner = "FireyFly";
     repo = "hexd";
     rev = "v${version}";
-    sha256 = "1lm0mj5c71id5kpqar8n44023s1kymb3q45nsz0hjh9v7p8libp0";
+    sha256 = "sha256-b/dROBQVPEiMBTcu4MTi6Lf6ChkFZqZrJ1V0j54rrFY=";
   };
 
   makeFlags = [ "PREFIX=$(out)" ];
diff --git a/pkgs/tools/misc/hiksink/default.nix b/pkgs/tools/misc/hiksink/default.nix
index 3b4fb8b0af3..0fcdb2fdca0 100644
--- a/pkgs/tools/misc/hiksink/default.nix
+++ b/pkgs/tools/misc/hiksink/default.nix
@@ -9,16 +9,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hiksink";
-  version = "1.2.0";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "CornerBit";
     repo = pname;
     rev = version;
-    sha256 = "1m8hd7qbasxyq09ycnqma2y4b9s2k54h9i2rkzsa9sksc868wxh8";
+    sha256 = "sha256-k/cBCc7DywyBbAzCRCHdrOVmo+QVCsSgDn8hcyTIUI8=";
   };
 
-  cargoSha256 = "15r6rwhyy0s5i0v9nzx3hfl5cvlb0hxnllcwfnw0bbn9km25l9r3";
+  cargoSha256 = "sha256-vqzXpSPBwY7m/Fdob0mHH0OXnzyQwFk7x2kk9Tgez3M=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/misc/infracost/default.nix b/pkgs/tools/misc/infracost/default.nix
index a22e6eab06c..293ee08a275 100644
--- a/pkgs/tools/misc/infracost/default.nix
+++ b/pkgs/tools/misc/infracost/default.nix
@@ -2,31 +2,31 @@
 
 buildGoModule rec {
   pname = "infracost";
-  version = "0.9.8";
+  version = "0.9.18";
 
   src = fetchFromGitHub {
     owner = "infracost";
     rev = "v${version}";
     repo = "infracost";
-    sha256 = "sha256-8XS30fRxHPady/snr3gfo8Ryiw9O7EeDezcYYZjod1w=";
+    sha256 = "sha256-ukFY6Iy7RaUjECbMCMdOkulMdzUlsoBnyRiuzldXVc8=";
   };
-  vendorSha256 = "sha256-8r7v3526kY+rFHkl1+KEwNbFrSnXPlpZD6kiK4ea+Zg=";
+  vendorSha256 = "sha256-D4tXBXtD3FlWvp4GPIuo/2p3MKg81DVPT5pKVOGe/5c=";
 
   ldflags = [ "-s" "-w" "-X github.com/infracost/infracost/internal/version.Version=v${version}" ];
 
-  # Install completions post-install
+  subPackages = [ "cmd/infracost" ];
+
   nativeBuildInputs = [ installShellFiles ];
 
-  checkInputs = [ terraform ];
-  # Short only runs the unit-tests tagged short
-  checkFlags = [ "-v" "-short" ];
+  # -short only runs the unit-tests tagged short
+  checkFlags = [ "-short" ];
   checkPhase = ''
     runHook preCheck
 
     # Remove tests that require networking
-    rm cmd/infracost/{breakdown_test,diff_test}.go
-    # ldflags are required for some of the version testing
-    go test ./... $checkFlags ''${ldflags:+-ldflags="$ldflags"}
+    rm cmd/infracost/{breakdown_test,diff_test,run_test}.go
+
+    go test $checkFlags ''${ldflags:+-ldflags="$ldflags"} -v -p $NIX_BUILD_CORES ./...
 
     runHook postCheck
   '';
diff --git a/pkgs/tools/misc/interactsh/default.nix b/pkgs/tools/misc/interactsh/default.nix
index 39511f567fd..979569dc332 100644
--- a/pkgs/tools/misc/interactsh/default.nix
+++ b/pkgs/tools/misc/interactsh/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "interactsh";
-  version = "0.0.7";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-TP2U2gQHmpAFHr5uh7MCNXZ22k8+U4h0bBxkMiMzof0=";
+    sha256 = "sha256-czXcncEm2Wm0ezGjNOpcCin5KOZKuimnnMPUWfGE0FY=";
   };
 
-  vendorSha256 = "sha256-9ehliyOCrWSDHVtmuUFBdw4BY6ygOvr2JxxJ3TvmSFU=";
+  vendorSha256 = "sha256-YfHsl0AFNQNCg4HEP9FyrHUMMz0SFn5aDRrOruseE5k=";
 
   modRoot = ".";
   subPackages = [
diff --git a/pkgs/tools/misc/jdiskreport/default.nix b/pkgs/tools/misc/jdiskreport/default.nix
index 22b16c7f9b3..cfdc8cba5df 100644
--- a/pkgs/tools/misc/jdiskreport/default.nix
+++ b/pkgs/tools/misc/jdiskreport/default.nix
@@ -4,10 +4,9 @@ let
   desktopItem = makeDesktopItem {
     desktopName = "JDiskReport";
     genericName = "A graphical utility to visualize disk usage";
-    categories = "Utility;";
+    categories = [ "Utility" ];
     exec = "jdiskreport";
     name = "jdiskreport";
-    type = "Application";
   };
 in
 stdenv.mkDerivation rec {
diff --git a/pkgs/tools/misc/kak-lsp/default.nix b/pkgs/tools/misc/kak-lsp/default.nix
index 05abfeaeeba..772eb520869 100644
--- a/pkgs/tools/misc/kak-lsp/default.nix
+++ b/pkgs/tools/misc/kak-lsp/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kak-lsp";
-  version = "11.1.0";
+  version = "12.0.1";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-li7djFP5luEnbKUF+rynEiQbx704KNUJw8/AqwxPRnI=";
+    sha256 = "sha256-K2GMoLaH7D6UtPuL+GJMqsPFwriyyi7WMdfzBmOceSA=";
   };
 
-  cargoSha256 = "sha256-X1Qe86U4zlN1umRQOiRPRcbgCayqF6GILSt/nM8m1Yg=";
+  cargoSha256 = "sha256-suBBEHGHUlZyxKy5hwhc2K/qTNis75GY33+7QhpmGos=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security SystemConfiguration ];
 
diff --git a/pkgs/tools/misc/kepubify/default.nix b/pkgs/tools/misc/kepubify/default.nix
index 3a9c83a8dad..cd30674b31a 100644
--- a/pkgs/tools/misc/kepubify/default.nix
+++ b/pkgs/tools/misc/kepubify/default.nix
@@ -13,9 +13,6 @@ buildGoModule rec {
 
   vendorSha256 = "sha256-eiFG6lgsY5hf+XT3Kf5uA4Ai8vBbPsh1T4ObV+rj30Y=";
 
-  # remove when built with >= go 1.17
-  tags = [ "zip117" ];
-
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
   excludedPackages = [ "kobotest" ];
diff --git a/pkgs/tools/misc/krapslog/default.nix b/pkgs/tools/misc/krapslog/default.nix
index 691ca64c809..1175739159d 100644
--- a/pkgs/tools/misc/krapslog/default.nix
+++ b/pkgs/tools/misc/krapslog/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "krapslog";
-  version = "0.3.1";
+  version = "0.4.0";
 
   src = fetchFromGitHub {
     owner = "acj";
     repo = "krapslog-rs";
     rev = version;
-    sha256 = "sha256-8m3AATRymIvh0ToldlGdWdmjSyG1CDfS+CfL+l5oj8o=";
+    sha256 = "sha256-ETP0BvtfMHznEbM0Vu/gMoRvXn4y2XcXw6CoU60A+Cg=";
   };
 
-  cargoSha256 = "sha256-2vF+eVuVc5tqVnPV2SgxGLv/DjeYoh3jBiCo0rQQpHE=";
+  cargoSha256 = "sha256-ioD0V1S/kPF5etey04Xz1Iz/jDpyunx9PtpWKdwk21g=";
 
   buildInputs = lib.optional stdenv.isDarwin libiconv;
 
diff --git a/pkgs/tools/misc/latex2html/default.nix b/pkgs/tools/misc/latex2html/default.nix
index 126d5bd4c49..8765506ce30 100644
--- a/pkgs/tools/misc/latex2html/default.nix
+++ b/pkgs/tools/misc/latex2html/default.nix
@@ -4,13 +4,13 @@
 
 stdenv.mkDerivation rec {
   pname = "latex2html";
-  version = "2021.2";
+  version = "2022";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-WxMB70TeN53S6PNYDUVZ7lBKw7DvKnJDiHek9/GUYcA=";
+    sha256 = "sha256-a+OFBNMtP6mDqg1k9rjDLEJhZDM+zdRpPbn3aeC+Qks=";
   };
 
   buildInputs = [ ghostscript netpbm perl ];
diff --git a/pkgs/tools/misc/lazydocker/default.nix b/pkgs/tools/misc/lazydocker/default.nix
index 2a63074c8d7..cfdce8e3c0b 100644
--- a/pkgs/tools/misc/lazydocker/default.nix
+++ b/pkgs/tools/misc/lazydocker/default.nix
@@ -2,13 +2,13 @@
 
 buildGoPackage rec {
   pname = "lazydocker";
-  version = "0.12";
+  version = "0.13";
 
   src = fetchFromGitHub {
     owner = "jesseduffield";
     repo = "lazydocker";
     rev = "v${version}";
-    sha256 = "sha256-bpc83DFAyrAQ3VI9saYe+10ZQqOHgscerRKRyjfYD4g=";
+    sha256 = "sha256-thUm33AdP9Huc2vcTRatC1ULHZd0edEQggEGTqOV3a0=";
   };
 
   goPackagePath = "github.com/jesseduffield/lazydocker";
diff --git a/pkgs/tools/misc/licensor/default.nix b/pkgs/tools/misc/licensor/default.nix
index 93983c8fe40..510a169f215 100644
--- a/pkgs/tools/misc/licensor/default.nix
+++ b/pkgs/tools/misc/licensor/default.nix
@@ -1,4 +1,8 @@
-{ lib, rustPlatform, fetchFromGitHub }:
+{ lib
+, fetchFromGitHub
+, fetchpatch
+, rustPlatform
+}:
 
 rustPlatform.buildRustPackage rec {
   pname = "licensor";
@@ -13,6 +17,15 @@ rustPlatform.buildRustPackage rec {
 
   cargoSha256 = "1h66d1brx441bg7vzbqdish4avgmc6h7rrkw2qf1siwmplwqqhw0";
 
+  patches = [
+    # Support for 2022, https://github.com/raftario/licensor/pull/68
+    (fetchpatch {
+      name = "support-for-2022.patch";
+      url = "https://github.com/raftario/licensor/commit/6b2f248e5ad9e454fe30d71397691e47ac69b19e.patch";
+      sha256 = "sha256-kXiY5s2kuU+ibV3RpBoy7y3cmJU+gECBTsmRXWBOTP8=";
+    })
+  ];
+
   meta = with lib; {
     description = "Write licenses to stdout";
     homepage = "https://github.com/raftario/licensor";
diff --git a/pkgs/tools/misc/lockfile-progs/default.nix b/pkgs/tools/misc/lockfile-progs/default.nix
index 68c2fb781f8..eb684f16417 100644
--- a/pkgs/tools/misc/lockfile-progs/default.nix
+++ b/pkgs/tools/misc/lockfile-progs/default.nix
@@ -1,27 +1,28 @@
 { lib, stdenv, fetchurl, liblockfile }:
 
 stdenv.mkDerivation rec {
-  _name   = "lockfile-progs";
-  version = "0.1.18";
-  name    = "${_name}-${version}";
+  pname   = "lockfile-progs";
+  version = "0.1.19";
 
   src = fetchurl {
-    url = "mirror://debian/pool/main/l/${_name}/${_name}_${version}.tar.gz";
-    sha256 = "1rjwn3fh2hy8hmpr66y8yp7v5i3325v1mk0gr7pqhqbyp6j9aad4";
+    url = "mirror://debian/pool/main/l/${pname}/${pname}_${version}.tar.gz";
+    sha256 = "sha256-LFcEsByPR0+CkheA5Fkqknsr9qbXYWNUpsXXzVZkhX4=";
   };
 
   buildInputs = [ liblockfile ];
 
   installPhase = ''
+    runHook preInstall
     mkdir -p $out/bin $out/man/man1
     install -s bin/* $out/bin
     install man/*.1 $out/man/man1
+    runHook postInstall
   '';
 
   meta = {
     description = "Programs for locking and unlocking files and mailboxes";
     homepage = "http://packages.debian.org/sid/lockfile-progs";
-    license = lib.licenses.gpl2;
+    license = lib.licenses.gpl2Only;
 
     maintainers = [ lib.maintainers.bluescreen303 ];
     platforms = lib.platforms.all;
diff --git a/pkgs/tools/misc/macchina/default.nix b/pkgs/tools/misc/macchina/default.nix
index 5ffad1825d4..a38644f32df 100644
--- a/pkgs/tools/misc/macchina/default.nix
+++ b/pkgs/tools/misc/macchina/default.nix
@@ -3,16 +3,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "macchina";
-  version = "6.0.5";
+  version = "6.0.6";
 
   src = fetchFromGitHub {
     owner = "Macchina-CLI";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-x13ldPUr2PkrweDKyyQWMwd3PL4lsY11TIKrmBV5vkA=";
+    sha256 = "sha256-G95eQ5cIa5313k8YcuicbzPeq9VXVo2DgPMwfFMNXtk=";
   };
 
-  cargoSha256 = "sha256-y6UMpzt8uiN4jfYnDmwNFGQ1opUsQz8n870XY775qZo=";
+  cargoSha256 = "sha256-mkAklLtG/sB0eLla5cveMqyPXwMCE5ufer8qA5L9chg=";
 
   nativeBuildInputs = [ installShellFiles ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Foundation ];
diff --git a/pkgs/development/python-modules/mailman-rss/default.nix b/pkgs/tools/misc/mailman-rss/default.nix
index f71b62c67fc..f71b62c67fc 100644
--- a/pkgs/development/python-modules/mailman-rss/default.nix
+++ b/pkgs/tools/misc/mailman-rss/default.nix
diff --git a/pkgs/tools/misc/mcfly/default.nix b/pkgs/tools/misc/mcfly/default.nix
index 9046685b278..583e415f093 100644
--- a/pkgs/tools/misc/mcfly/default.nix
+++ b/pkgs/tools/misc/mcfly/default.nix
@@ -2,13 +2,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mcfly";
-  version = "0.5.12";
+  version = "0.5.13";
 
   src = fetchFromGitHub {
     owner = "cantino";
     repo = "mcfly";
     rev = "v${version}";
-    sha256 = "sha256-VguUuQacjdcgrtIHmDdyqh6TuyJxvZCLrn4nxbEtqJc=";
+    sha256 = "sha256-6PGh+CUQH5LEV7/qctn+ihdZgqjt888wknXTfGPS3SI=";
   };
 
   postPatch = ''
@@ -17,7 +17,7 @@ rustPlatform.buildRustPackage rec {
     substituteInPlace mcfly.fish --replace '(command which mcfly)'  '${placeholder "out"}/bin/mcfly'
   '';
 
-  cargoSha256 = "sha256-Lz8uwBsgY9ORRTbEOEB6hh1r/Yb0nAgnYUayLRG4QyI=";
+  cargoSha256 = "sha256-dpDuM+kGuCC2xm5EdV2OoxLNbKgi8wmTGrr8K16AnpM=";
 
   meta = with lib; {
     homepage = "https://github.com/cantino/mcfly";
diff --git a/pkgs/tools/misc/miniserve/default.nix b/pkgs/tools/misc/miniserve/default.nix
index 542af55ad95..89607f13ac9 100644
--- a/pkgs/tools/misc/miniserve/default.nix
+++ b/pkgs/tools/misc/miniserve/default.nix
@@ -11,16 +11,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "miniserve";
-  version = "0.18.0";
+  version = "0.19.2";
 
   src = fetchFromGitHub {
     owner = "svenstaro";
     repo = "miniserve";
     rev = "v${version}";
-    sha256 = "sha256-5rFxVk+D11Iqr0SP2VYdMEnFwijpxQT8e5EoK2PYtmQ=";
+    sha256 = "sha256-/LmLz4hTmOjpR4Bqf+hABh3PSeaO/sSz/EgHp+nM20o=";
   };
 
-  cargoSha256 = "sha256-40TJzhaD1bi/u8k472K89A51wKhm/XjBs13W6oU/06Q=";
+  cargoSha256 = "sha256-/KL5c5OeflNDKWuE5Gzqgcew9zf8HFjvmBid+mQSqZE=";
 
   nativeBuildInputs = [ installShellFiles pkg-config zlib ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/pkgs/tools/misc/mmctl/default.nix b/pkgs/tools/misc/mmctl/default.nix
index 0e2db1b986a..71e4de7479c 100644
--- a/pkgs/tools/misc/mmctl/default.nix
+++ b/pkgs/tools/misc/mmctl/default.nix
@@ -1,13 +1,13 @@
 { lib, fetchFromGitHub, buildGoModule }:
 buildGoModule rec {
   pname = "mmctl";
-  version = "6.3.0";
+  version = "6.3.3";
 
   src = fetchFromGitHub {
     owner = "mattermost";
     repo = "mmctl";
     rev = "v${version}";
-    sha256 = "sha256-hrNVDHM8AweAdda9SC29EGhkOhdiLD0EE1BLPhwe5SI=";
+    sha256 = "sha256-V2p6diXymu37aJdHs0ZQJ7ak4LWe55KYCq15JRzMF48=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/misc/mongodb-compass/default.nix b/pkgs/tools/misc/mongodb-compass/default.nix
index cd75c0a3bc0..5528bb2f97c 100644
--- a/pkgs/tools/misc/mongodb-compass/default.nix
+++ b/pkgs/tools/misc/mongodb-compass/default.nix
@@ -14,7 +14,6 @@ fontconfig,
 freetype,
 gdk-pixbuf,
 glib,
-gnome2,
 gtk3,
 lib,
 libdrm,
@@ -50,7 +49,6 @@ let
     freetype
     gdk-pixbuf
     glib
-    gnome2.GConf
     gtk3
     libdrm
     libnotify
diff --git a/pkgs/tools/misc/mongodb-tools/default.nix b/pkgs/tools/misc/mongodb-tools/default.nix
index a4dc2ba905c..b59a466e3d1 100644
--- a/pkgs/tools/misc/mongodb-tools/default.nix
+++ b/pkgs/tools/misc/mongodb-tools/default.nix
@@ -17,7 +17,7 @@ let
     "mongofiles"
     "mongotop"
   ];
-  version = "100.5.1";
+  version = "100.5.2";
 
 in buildGoPackage {
   pname = "mongo-tools";
@@ -30,7 +30,7 @@ in buildGoPackage {
     rev = version;
     owner = "mongodb";
     repo = "mongo-tools";
-    sha256 = "sha256-Qxtb7DJOgrCUvoGVgmKh4qKS4duvEWwW9BLkdt5M5ZY=";
+    sha256 = "sha256-qYTfC7+5XWDCyQQFKmuPmDmwsekDdY6OAerxZgzf8D0=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/misc/mrtg/default.nix b/pkgs/tools/misc/mrtg/default.nix
index ee6c9776c54..343a3d5c2a2 100644
--- a/pkgs/tools/misc/mrtg/default.nix
+++ b/pkgs/tools/misc/mrtg/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "mrtg";
-  version = "2.17.8";
+  version = "2.17.10";
 
   src = fetchurl {
     url = "https://oss.oetiker.ch/mrtg/pub/${pname}-${version}.tar.gz";
-    sha256 = "sha256-GsLgr2ng7N73VeeYylmDSreKwYXCpe/9t2hcWPLvAbQ=";
+    sha256 = "sha256-x/EcteIXpQDYfuO10mxYqGUu28DTKRaIu3krAQ+uQ6w=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/misc/nix-direnv/default.nix b/pkgs/tools/misc/nix-direnv/default.nix
index fcb44333941..f0fa2529f06 100644
--- a/pkgs/tools/misc/nix-direnv/default.nix
+++ b/pkgs/tools/misc/nix-direnv/default.nix
@@ -7,13 +7,13 @@
 }:
 stdenv.mkDerivation rec {
   pname = "nix-direnv";
-  version = "1.5.1";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "nix-community";
     repo = "nix-direnv";
     rev = version;
-    sha256 = "sha256-/V2v4dF3DEvsrJRbHD3wF5ZByek26NjphmaPG8FU9lI=";
+    sha256 = "sha256-vMs4CyMhEy96gWMWXD74rTR1uNjU+y21i0dh6AdaMGE=";
   };
 
   # Substitute instead of wrapping because the resulting file is
diff --git a/pkgs/tools/misc/odyssey/default.nix b/pkgs/tools/misc/odyssey/default.nix
index 788f3006735..f154cffa9c6 100644
--- a/pkgs/tools/misc/odyssey/default.nix
+++ b/pkgs/tools/misc/odyssey/default.nix
@@ -1,18 +1,19 @@
-{ lib, stdenv, fetchFromGitHub, cmake, openssl }:
+{ lib, stdenv, fetchFromGitHub, cmake, openssl, postgresql }:
 
 stdenv.mkDerivation rec {
   pname = "odyssey";
-  version = "1.0rc1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "yandex";
     repo = pname;
     rev = version;
-    sha256 = "0p9zzazx3bhwz7sz8l757lwdj8qx0ij2k3g0d12prs0xfi1qhcmz";
+    sha256 = "sha256-wxENqB9CmRVsQY9jTPUlpdiXpuqoU/2hRCY41f9uH3A=";
   };
 
   nativeBuildInputs = [ cmake ];
-  buildInputs = [ openssl ];
+  buildInputs = [ openssl postgresql ];
+  cmakeFlags = [ "-DPQ_LIBRARY=${postgresql.lib}/lib" ];
 
   installPhase = ''
     install -Dm755 -t $out/bin sources/odyssey
diff --git a/pkgs/tools/misc/opencbm/default.nix b/pkgs/tools/misc/opencbm/default.nix
index 2512747e74a..434b3d421de 100644
--- a/pkgs/tools/misc/opencbm/default.nix
+++ b/pkgs/tools/misc/opencbm/default.nix
@@ -9,13 +9,13 @@
 
 stdenv.mkDerivation rec {
   pname = "opencbm";
-  version = "0.4.99.103";
+  version = "0.4.99.104";
 
   src = fetchFromGitHub {
     owner = "OpenCBM";
     repo = "OpenCBM";
     rev = "v${version}";
-    sha256 = "06844yfgcbbwrp3iz5k8zd1zjawzbpvl131lgmkwz6d542c2k4k9";
+    sha256 = "sha256-5lj5F79Gbhrvi9dxKGobdyDyBLGcptAtxx9SANhLrKw=";
   };
 
   makefile = "LINUX/Makefile";
@@ -45,7 +45,8 @@ stdenv.mkDerivation rec {
       disk copier included. Successor of cbm4linux. Also supports the XU1541
       and the XUM1541 devices (a.k.a. "ZoomFloppy").
     '';
-    license = licenses.gpl2;
+    homepage = "https://spiro.trikaliotis.net/opencbm";
+    license = licenses.gpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.sander ];
   };
diff --git a/pkgs/tools/misc/opentelemetry-collector/contrib.nix b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
index b89868460e2..4bfc390335d 100644
--- a/pkgs/tools/misc/opentelemetry-collector/contrib.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/contrib.nix
@@ -1,24 +1,29 @@
 { buildGoModule
 , fetchFromGitHub
 , lib
+, stdenv
 }:
 
 buildGoModule rec {
   pname = "opentelemetry-collector-contrib";
-  version = "0.43.0";
+  version = "0.45.1";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector-contrib";
     rev = "v${version}";
-    sha256 = "sha256-ktzP+ugG2sa0v8B1Zp47o8Bmpxv98zQyFyWf9QfQRoQ=";
+    sha256 = "sha256-HoDQK/WyvDQgYBr6WPJ+bZE3GTx74SGgSj1P6i8AfL0=";
   };
   # proxy vendor to avoid hash missmatches between linux and macOS
   proxyVendor = true;
-  vendorSha256 = "sha256-0E52YSWlq1ebHA3kR9Qo/6ufug9R+z1cSD9AfbN/Mi0=";
+  vendorSha256 = "sha256-e33EV1DGpR3XL70sjfCSMeuOSyh334+AkHnE+vqHrh0=";
 
   subPackages = [ "cmd/otelcontribcol" ];
 
+  # CGO_ENABLED=0 required for mac - "error: 'TARGET_OS_MAC' is not defined, evaluates to 0"
+  # https://github.com/shirou/gopsutil/issues/976
+  CGO_ENABLED = if stdenv.isLinux then 1 else 0;
+
   ldflags = [
     "-s"
     "-w"
diff --git a/pkgs/tools/misc/opentelemetry-collector/default.nix b/pkgs/tools/misc/opentelemetry-collector/default.nix
index e0abe89359e..72aea5c44d9 100644
--- a/pkgs/tools/misc/opentelemetry-collector/default.nix
+++ b/pkgs/tools/misc/opentelemetry-collector/default.nix
@@ -12,17 +12,17 @@ let
 in
 buildGoModule rec {
   pname = "opentelemetry-collector";
-  version = "0.43.1";
+  version = "0.45.0";
 
   src = fetchFromGitHub {
     owner = "open-telemetry";
     repo = "opentelemetry-collector";
     rev = "v${version}";
-    sha256 = "sha256-hYhJv5LbebUA9Sp8/admfKWXBoOVvXdr3Mzc3qG8GlM=";
+    sha256 = "sha256-uwQR38L81galqrOEF2qWxKi1UelaUmpkeg0WbkcbYfs=";
   };
   # there is a nested go.mod
   sourceRoot = "source/cmd/otelcorecol";
-  vendorSha256 = "sha256-w5uyAVZ1TrurD4CEWTTk1fWmdlQn8eAFWZrNpISB5Rk=";
+  vendorSha256 = "sha256-wzGv46wcPjpxiQsiNZQGC4DMHcMrWOEmacC5E0F2YCs=";
 
   preBuild = ''
     # set the build version, can't be done via ldflags
diff --git a/pkgs/tools/misc/osinfo-db-tools/default.nix b/pkgs/tools/misc/osinfo-db-tools/default.nix
index 4ee1749c6d3..189f549e172 100644
--- a/pkgs/tools/misc/osinfo-db-tools/default.nix
+++ b/pkgs/tools/misc/osinfo-db-tools/default.nix
@@ -1,22 +1,55 @@
-{ lib, stdenv, fetchurl, pkg-config, meson, ninja, gettext, glib, libxml2, perl, python3
-, libxslt, libarchive, bzip2, xz, json-glib, libsoup
+{ lib
+, stdenv
+, fetchurl
+, pkg-config
+, meson
+, ninja
+, gettext
+, glib
+, libxml2
+, perl
+, python3
+, libxslt
+, libarchive
+, bzip2
+, xz
+, json-glib
+, libsoup_3
 }:
 
 stdenv.mkDerivation rec {
   pname = "osinfo-db-tools";
-  version = "1.9.0";
+  version = "1.10.0";
 
   src = fetchurl {
     url = "https://releases.pagure.org/libosinfo/${pname}-${version}.tar.xz";
-    sha256 = "sha256-JV8ch4us7HDDAg/1qcsPa9hhygAJ8kYI31729i1SQ8A=";
+    sha256 = "sha256-gCzdU7QWcG6lhE8Ebdz7ZYwbSQa5+UDHmserxQmBymg=";
   };
 
-  nativeBuildInputs = [ meson ninja pkg-config gettext perl python3 ];
-  buildInputs = [ glib json-glib libxml2 libxslt libarchive bzip2 xz libsoup ];
+  nativeBuildInputs = [
+    meson
+    ninja
+    pkg-config
+    gettext
+    perl
+    python3
+  ];
+
+  buildInputs = [
+    glib
+    json-glib
+    libxml2
+    libxslt
+    libarchive
+    bzip2
+    xz
+    libsoup_3
+  ];
 
   meta = with lib; {
     description = "Tools for managing the osinfo database";
     homepage = "https://libosinfo.org/";
+    changelog = "https://gitlab.com/libosinfo/osinfo-db-tools/-/blob/v${version}/NEWS";
     license = licenses.lgpl2Plus;
     platforms = platforms.linux;
     maintainers = [ maintainers.bjornfor ];
diff --git a/pkgs/tools/misc/ostree/01-Drop-ostree-trivial-httpd-CLI-move-to-tests-director.patch b/pkgs/tools/misc/ostree/01-Drop-ostree-trivial-httpd-CLI-move-to-tests-director.patch
index a6b7af5f1c7..c255a276201 100644
--- a/pkgs/tools/misc/ostree/01-Drop-ostree-trivial-httpd-CLI-move-to-tests-director.patch
+++ b/pkgs/tools/misc/ostree/01-Drop-ostree-trivial-httpd-CLI-move-to-tests-director.patch
@@ -1,4 +1,4 @@
-From 977fdfad2ceba7232b4f78144b20640d7fd0aedb Mon Sep 17 00:00:00 2001
+From 196c2e1036ed990bca57c199f271c0359509e9f9 Mon Sep 17 00:00:00 2001
 From: Colin Walters <walters@verbum.org>
 Date: Tue, 19 Jun 2018 09:34:18 -0400
 Subject: [PATCH] Drop "ostree trivial-httpd" CLI, move to tests directory
@@ -14,19 +14,19 @@ Also at this point nothing should depend on `ostree trivial-httpd`.
  Makefile-ostree.am           |   7 ---
  Makefile-tests.am            |   7 +++
  configure.ac                 |   9 ---
- man/ostree-trivial-httpd.xml | 118 -----------------------------------
+ man/ostree-trivial-httpd.xml | 116 -----------------------------------
  src/ostree/main.c            |   5 --
  tests/libtest.sh             |  13 ++--
- 7 files changed, 12 insertions(+), 153 deletions(-)
+ 7 files changed, 12 insertions(+), 151 deletions(-)
  delete mode 100644 man/ostree-trivial-httpd.xml
 
 diff --git a/Makefile-man.am b/Makefile-man.am
-index bc58103b..bcfde285 100644
+index 78025fff..4aa668f6 100644
 --- a/Makefile-man.am
 +++ b/Makefile-man.am
-@@ -34,12 +34,6 @@ ostree-init.1 ostree-log.1 ostree-ls.1 ostree-prune.1 ostree-pull-local.1 \
+@@ -32,12 +32,6 @@ ostree-init.1 ostree-log.1 ostree-ls.1 ostree-prune.1 ostree-pull-local.1 \
  ostree-pull.1 ostree-refs.1 ostree-remote.1 ostree-reset.1 \
- ostree-rev-parse.1 ostree-show.1 ostree-summary.1 \
+ ostree-rev-parse.1 ostree-show.1 ostree-sign.1 ostree-summary.1 \
  ostree-static-delta.1
 -if USE_LIBSOUP
 -man1_files += ostree-trivial-httpd.1
@@ -38,10 +38,10 @@ index bc58103b..bcfde285 100644
  if BUILDOPT_FUSE
  man1_files += rofiles-fuse.1
 diff --git a/Makefile-ostree.am b/Makefile-ostree.am
-index f861afe4..497d99b0 100644
+index 82af1681..dabc7004 100644
 --- a/Makefile-ostree.am
 +++ b/Makefile-ostree.am
-@@ -144,13 +144,6 @@ ostree_SOURCES += src/ostree/ot-builtin-pull.c
+@@ -138,13 +138,6 @@ ostree_SOURCES += src/ostree/ot-builtin-pull.c
  endif
  
  if USE_LIBSOUP
@@ -56,10 +56,10 @@ index f861afe4..497d99b0 100644
  # This is necessary for the cookie jar bits
  ostree_CFLAGS += $(OT_INTERNAL_SOUP_CFLAGS)
 diff --git a/Makefile-tests.am b/Makefile-tests.am
-index fc2f2d91..7343b63f 100644
+index 6bae65cf..47b3ab20 100644
 --- a/Makefile-tests.am
 +++ b/Makefile-tests.am
-@@ -263,6 +263,13 @@ _installed_or_uninstalled_test_programs += \
+@@ -275,6 +275,13 @@ _installed_or_uninstalled_test_programs += \
  	$(NULL)
  endif
  
@@ -74,10 +74,10 @@ index fc2f2d91..7343b63f 100644
  test_programs += tests/test-repo-finder-avahi
  endif
 diff --git a/configure.ac b/configure.ac
-index 46a900f5..2f91cdec 100644
+index 93b98cb9..a588eea6 100644
 --- a/configure.ac
 +++ b/configure.ac
-@@ -190,14 +190,6 @@ if test x$with_soup != xno; then OSTREE_FEATURES="$OSTREE_FEATURES libsoup"; fi
+@@ -186,14 +186,6 @@ if test x$with_soup != xno; then OSTREE_FEATURES="$OSTREE_FEATURES libsoup"; fi
  AM_CONDITIONAL(USE_LIBSOUP, test x$with_soup != xno)
  AM_CONDITIONAL(HAVE_LIBSOUP_CLIENT_CERTS, test x$have_libsoup_client_certs = xyes)
  
@@ -92,20 +92,20 @@ index 46a900f5..2f91cdec 100644
  AS_IF([test x$with_curl = xyes && test x$with_soup = xno], [
    AC_MSG_WARN([Curl enabled, but libsoup is not; libsoup is needed for tests (make check, etc.)])
  ])
-@@ -617,7 +609,6 @@ echo "
-     Rust (internal oxidation):                    $rust_debug_release
+@@ -606,7 +598,6 @@ echo "
+     introspection:                                $found_introspection
      rofiles-fuse:                                 $enable_rofiles_fuse
      HTTP backend:                                 $fetcher_backend
 -    \"ostree trivial-httpd\":                       $enable_trivial_httpd_cmdline
      SELinux:                                      $with_selinux
+     fs-verity:                                    $ac_cv_header_linux_fsverity_h
      cryptographic checksums:                      $with_crypto
-     systemd:                                      $have_libsystemd
 diff --git a/man/ostree-trivial-httpd.xml b/man/ostree-trivial-httpd.xml
 deleted file mode 100644
-index d03c12be..00000000
+index 7ba1dae8..00000000
 --- a/man/ostree-trivial-httpd.xml
 +++ /dev/null
-@@ -1,118 +0,0 @@
+@@ -1,116 +0,0 @@
 -<?xml version='1.0'?> <!--*-nxml-*-->
 -<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN"
 -    "http://www.oasis-open.org/docbook/xml/4.2/docbookx.dtd">
@@ -126,9 +126,7 @@ index d03c12be..00000000
 -Lesser General Public License for more details.
 -
 -You should have received a copy of the GNU Lesser General Public
--License along with this library; if not, write to the
--Free Software Foundation, Inc., 59 Temple Place - Suite 330,
--Boston, MA 02111-1307, USA.
+-License along with this library. If not, see <https://www.gnu.org/licenses/>.
 --->
 -
 -<refentry id="ostree">
@@ -225,7 +223,7 @@ index d03c12be..00000000
 -    </refsect1>
 -</refentry>
 diff --git a/src/ostree/main.c b/src/ostree/main.c
-index a523ff9a..61ea742d 100644
+index 7d17080c..19d9b8b0 100644
 --- a/src/ostree/main.c
 +++ b/src/ostree/main.c
 @@ -118,11 +118,6 @@ static OstreeCommand commands[] = {
@@ -241,10 +239,10 @@ index a523ff9a..61ea742d 100644
  };
  
 diff --git a/tests/libtest.sh b/tests/libtest.sh
-index 3f5fd931..eacd96de 100755
+index 686f08dc..79f8bd1f 100755
 --- a/tests/libtest.sh
 +++ b/tests/libtest.sh
-@@ -160,15 +160,12 @@ fi
+@@ -174,15 +174,12 @@ fi
  if test -n "${OSTREE_UNINSTALLED:-}"; then
      OSTREE_HTTPD=${OSTREE_UNINSTALLED}/ostree-trivial-httpd
  else
@@ -266,5 +264,5 @@ index 3f5fd931..eacd96de 100755
  
  files_are_hardlinked() {
 -- 
-2.25.0
+2.35.1
 
diff --git a/pkgs/tools/misc/ostree/default.nix b/pkgs/tools/misc/ostree/default.nix
index b5b23ee6a2a..a4ecb4c527a 100644
--- a/pkgs/tools/misc/ostree/default.nix
+++ b/pkgs/tools/misc/ostree/default.nix
@@ -20,7 +20,7 @@
 , autoconf
 , automake
 , libtool
-, fuse
+, fuse3
 , util-linuxMinimal
 , libselinux
 , libsodium
@@ -41,13 +41,13 @@ let
   ]));
 in stdenv.mkDerivation rec {
   pname = "ostree";
-  version = "2021.6";
+  version = "2022.1";
 
   outputs = [ "out" "dev" "man" "installedTests" ];
 
   src = fetchurl {
     url = "https://github.com/ostreedev/ostree/releases/download/v${version}/libostree-${version}.tar.xz";
-    sha256 = "sha256-6AYxyxNj1HNP6dDJH2mmi+OEgWbW4EgdsZzkSpy09TE=";
+    sha256 = "sha256-Q6AOeFaEK4o09mFvws4c4jjvQyEMykH3DmtLDSqfytU=";
   };
 
   patches = [
@@ -90,7 +90,7 @@ in stdenv.mkDerivation rec {
     libsoup
     glib-networking
     gpgme
-    fuse
+    fuse3
     libselinux
     libsodium
     libcap
diff --git a/pkgs/tools/misc/ostree/fix-1592.patch b/pkgs/tools/misc/ostree/fix-1592.patch
index 1eccd74bfa7..6b154d3def1 100644
--- a/pkgs/tools/misc/ostree/fix-1592.patch
+++ b/pkgs/tools/misc/ostree/fix-1592.patch
@@ -1,8 +1,19 @@
+--- a/tests/basic-test.sh
++++ b/tests/basic-test.sh
+@@ -226,7 +226,7 @@ cd ${test_tmpdir}
+ if $OSTREE commit ${COMMIT_ARGS} -b test-bootable --bootable $test_tmpdir/checkout-test2-4 2>err.txt; then
+     fatal "committed non-bootable tree"
+ fi
+-assert_file_has_content err.txt "error: .*No such file or directory"
++assert_file_has_content err.txt "error:.*No such file or directory"
+ echo "ok commit fails bootable if no kernel"
+ 
+ cd ${test_tmpdir}
 diff --git a/tests/pull-test.sh b/tests/pull-test.sh
-index a8bc49a9..4a08ebb5 100644
+index f4084290..4af5ec6f 100644
 --- a/tests/pull-test.sh
 +++ b/tests/pull-test.sh
-@@ -275,7 +275,7 @@
+@@ -297,7 +297,7 @@ ostree_repo_init mirrorrepo-local --mode=archive
  if ${CMD_PREFIX} ostree --repo=mirrorrepo-local pull-local otherrepo 2>err.txt; then
      fatal "pull with mixed refs succeeded?"
  fi
@@ -11,7 +22,7 @@ index a8bc49a9..4a08ebb5 100644
  ${CMD_PREFIX} ostree --repo=mirrorrepo-local pull-local otherrepo localbranch
  ${CMD_PREFIX} ostree --repo=mirrorrepo-local rev-parse localbranch
  ${CMD_PREFIX} ostree --repo=mirrorrepo-local fsck
-@@ -286,7 +286,7 @@
+@@ -308,7 +308,7 @@ if ${CMD_PREFIX} ostree --repo=mirrorrepo-local pull-local otherrepo nosuchbranc
      fatal "pulled nonexistent branch"
  fi
  # So true
@@ -20,7 +31,7 @@ index a8bc49a9..4a08ebb5 100644
  echo "ok pull-local nonexistent branch"
  
  cd ${test_tmpdir}
-@@ -593,5 +593,5 @@
+@@ -687,5 +687,5 @@ rm ostree-srv/gnomerepo/summary
  if ${CMD_PREFIX} ostree --repo=repo pull origin main 2>err.txt; then
      fatal "pull of invalid ref succeeded"
  fi
@@ -28,10 +39,10 @@ index a8bc49a9..4a08ebb5 100644
 +assert_file_has_content_literal err.txt 'Fetching checksum for ref ((empty), main): Invalid rev lots of html here  lots of html here  lots of html here  lots of'
  echo "ok pull got HTML for a ref"
 diff --git a/tests/test-config.sh b/tests/test-config.sh
-index 7e913d32..69d1675d 100755
+index 2d9aaf53..f1e28614 100755
 --- a/tests/test-config.sh
 +++ b/tests/test-config.sh
-@@ -46,7 +46,7 @@
+@@ -44,7 +44,7 @@ assert_file_has_content list.txt "http://example\.com/ostree/repo/"
  if ${CMD_PREFIX} ostree config --repo=repo get --group=core lock-timeout-secs extra 2>err.txt; then
      assert_not_reached "ostree config get should error out if too many arguments are given"
  fi
@@ -40,7 +51,7 @@ index 7e913d32..69d1675d 100755
  echo "ok config get"
  
  ${CMD_PREFIX} ostree config --repo=repo set core.mode bare-user-only
-@@ -63,7 +63,7 @@
+@@ -61,7 +61,7 @@ assert_file_has_content repo/config "http://example\.com/ostree/"
  if ${CMD_PREFIX} ostree config --repo=repo set --group=core lock-timeout-secs 120 extra 2>err.txt; then
      assert_not_reached "ostree config set should error out if too many arguments are given"
  fi
@@ -48,8 +59,8 @@ index 7e913d32..69d1675d 100755
 +assert_file_has_content err.txt "Too many arguments given"
  echo "ok config set"
  
- # Check that "ostree config unset" works
-@@ -78,7 +78,7 @@
+ # Check that using `--` works and that "ostree config unset" works
+@@ -78,7 +78,7 @@ if ${CMD_PREFIX} ostree config --repo=repo get core.lock-timeout-secs 2>err.txt;
  fi
  # Check for any character where quotation marks would be as they appear differently in the Fedora and Debian
  # test suites (“” and '' respectively). See: https://github.com/ostreedev/ostree/pull/1839
@@ -58,7 +69,7 @@ index 7e913d32..69d1675d 100755
  
  # Check that it's idempotent
  ${CMD_PREFIX} ostree config --repo=repo unset core.lock-timeout-secs
-@@ -95,5 +95,5 @@
+@@ -95,5 +95,5 @@ ${CMD_PREFIX} ostree config --repo=repo unset --group='remote "aoeuhtns"' 'xa.ti
  if ${CMD_PREFIX} ostree config --repo=repo unset core.lock-timeout-secs extra 2>err.txt; then
      assert_not_reached "ostree config unset should error out if too many arguments are given"
  fi
@@ -66,10 +77,10 @@ index 7e913d32..69d1675d 100755
 +assert_file_has_content err.txt "Too many arguments given"
  echo "ok config unset"
 diff --git a/tests/test-fsck-collections.sh b/tests/test-fsck-collections.sh
-index dc6bcfeb..4a5eef55 100755
+index 3dbcdd23..d6359979 100755
 --- a/tests/test-fsck-collections.sh
 +++ b/tests/test-fsck-collections.sh
-@@ -100,7 +100,7 @@
+@@ -98,7 +98,7 @@ ${CMD_PREFIX} ostree fsck --repo=repo
  if ${CMD_PREFIX} ostree fsck --repo=repo --verify-bindings > fsck 2> fsck-error; then
      assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
  fi
@@ -78,7 +89,7 @@ index dc6bcfeb..4a5eef55 100755
  assert_file_has_content fsck "^Validating refs\.\.\.$"
  
  echo "ok 3 fsck detects missing ref bindings"
-@@ -113,7 +113,7 @@
+@@ -111,7 +111,7 @@ ${CMD_PREFIX} ostree --repo=repo refs --collections --create=org.example.Collect
  if ${CMD_PREFIX} ostree fsck --repo=repo --verify-bindings > fsck 2> fsck-error; then
      assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
  fi
@@ -87,7 +98,7 @@ index dc6bcfeb..4a5eef55 100755
  assert_file_has_content fsck "^Validating refs\.\.\.$"
  assert_file_has_content fsck "^Validating refs in collections\.\.\.$"
  
-@@ -127,7 +127,7 @@
+@@ -125,7 +125,7 @@ ${CMD_PREFIX} ostree --repo=repo refs --collections --create=org.example.Collect
  if ${CMD_PREFIX} ostree fsck --repo=repo --verify-bindings > fsck 2> fsck-error; then
      assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
  fi
@@ -96,7 +107,7 @@ index dc6bcfeb..4a5eef55 100755
  assert_file_has_content fsck "^Validating refs\.\.\.$"
  assert_file_has_content fsck "^Validating refs in collections\.\.\.$"
  
-@@ -147,7 +147,7 @@
+@@ -145,7 +145,7 @@ echo "ok 6 fsck ignores unreferenced ref bindings"
  if ${CMD_PREFIX} ostree fsck --repo=repo --verify-back-refs > fsck 2> fsck-error; then
      assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
  fi
@@ -105,7 +116,7 @@ index dc6bcfeb..4a5eef55 100755
  assert_file_has_content fsck "^Validating refs\.\.\.$"
  assert_file_has_content fsck "^Validating refs in collections\.\.\.$"
  
-@@ -186,7 +186,7 @@
+@@ -184,7 +184,7 @@ ${CMD_PREFIX} ostree --repo=repo refs --create=new-ref $(cat ref3-checksum)
  if ${CMD_PREFIX} ostree fsck --repo=repo --verify-bindings > fsck 2> fsck-error; then
      assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
  fi
@@ -114,7 +125,7 @@ index dc6bcfeb..4a5eef55 100755
  assert_file_has_content fsck "^Validating refs\.\.\.$"
  
  echo "ok 9 fsck detects missing ref bindings"
-@@ -205,7 +205,7 @@
+@@ -203,7 +203,7 @@ echo "ok 10 fsck ignores unreferenced ref bindings"
  if ${CMD_PREFIX} ostree fsck --repo=repo --verify-back-refs > fsck 2> fsck-error; then
      assert_not_reached "fsck unexpectedly succeeded after adding unbound ref!"
  fi
@@ -124,10 +135,10 @@ index dc6bcfeb..4a5eef55 100755
  
  echo "ok 11 fsck ignores unreferenced ref bindings"
 diff --git a/tests/test-remote-add.sh b/tests/test-remote-add.sh
-index bb7eae89..62a3bcd7 100755
+index 2f5ea634..0f63853c 100755
 --- a/tests/test-remote-add.sh
 +++ b/tests/test-remote-add.sh
-@@ -83,7 +83,7 @@
+@@ -81,7 +81,7 @@ echo "ok remote delete"
  if $OSTREE remote delete nosuchremote 2>err.txt; then
      assert_not_reached "Deleting remote unexpectedly succeeded"
  fi
diff --git a/pkgs/tools/misc/parallel/default.nix b/pkgs/tools/misc/parallel/default.nix
index 40599ff9c4e..2eca9f6891a 100644
--- a/pkgs/tools/misc/parallel/default.nix
+++ b/pkgs/tools/misc/parallel/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "parallel";
-  version = "20211222";
+  version = "20220222";
 
   src = fetchurl {
     url = "mirror://gnu/parallel/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-BYSRz0xSpIVZd73oA8Y2iLLKnFmRvhDnuLDArt5G0Zw=";
+    sha256 = "sha256-+BaCuGPq1/uaEUdUAB6ShvlUVQpXo882yQA6gEempEU=";
   };
 
   outputs = [ "out" "man" "doc" ];
diff --git a/pkgs/tools/misc/phoronix-test-suite/default.nix b/pkgs/tools/misc/phoronix-test-suite/default.nix
index 4d0c3313734..821cf8d21d5 100644
--- a/pkgs/tools/misc/phoronix-test-suite/default.nix
+++ b/pkgs/tools/misc/phoronix-test-suite/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "phoronix-test-suite";
-  version = "10.8.1";
+  version = "10.8.2";
 
   src = fetchurl {
     url = "https://phoronix-test-suite.com/releases/${pname}-${version}.tar.gz";
-    sha256 = "sha256-O1jqaUQZymCNcp+mznLtK0xRr0RHKe77zcbmcCkMqn8=";
+    sha256 = "sha256-hmgTQ9IEFYMasW72w9HDF+I0XncZJeBpiukgoDqeqrY=";
   };
 
   buildInputs = [ php ];
diff --git a/pkgs/tools/misc/phrase-cli/default.nix b/pkgs/tools/misc/phrase-cli/default.nix
new file mode 100644
index 00000000000..d5a4c0e4298
--- /dev/null
+++ b/pkgs/tools/misc/phrase-cli/default.nix
@@ -0,0 +1,26 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "phrase-cli";
+  version = "2.4.4";
+
+  src = fetchFromGitHub {
+    owner = "phrase";
+    repo = "phrase-cli";
+    rev = version;
+    sha256 = "0xlfcj0jd6x4ynzg6d0p3wlmfq660w3zm13nzx04jfcjnks9sqvl";
+  };
+
+  vendorSha256 = "1ablrs3prw011bpad8vn87y3c81q44mps873nhj278hlkz6im34g";
+
+  postInstall = ''
+    ln -s $out/bin/phrase-cli $out/bin/phrase
+  '';
+
+  meta = with lib; {
+    homepage = "http://docs.phraseapp.com";
+    description = "PhraseApp API v2 Command Line Client";
+    license = licenses.mit;
+    maintainers = with maintainers; [ juboba ];
+  };
+}
diff --git a/pkgs/tools/misc/plantuml/default.nix b/pkgs/tools/misc/plantuml/default.nix
index 82b0e3dea10..42b673e5b18 100644
--- a/pkgs/tools/misc/plantuml/default.nix
+++ b/pkgs/tools/misc/plantuml/default.nix
@@ -1,12 +1,12 @@
 { lib, stdenv, fetchurl, makeWrapper, jre, graphviz }:
 
 stdenv.mkDerivation rec {
-  version = "1.2021.16";
+  version = "1.2022.1";
   pname = "plantuml";
 
   src = fetchurl {
     url = "mirror://sourceforge/project/plantuml/${version}/plantuml.${version}.jar";
-    sha256 = "sha256-0yN/29VKWiqp2Hi9aIN6GMlfMJPxrewsCQyyPVy6RAM=";
+    sha256 = "sha256-oEOhf7nLVGJqoK/pyTWzF+s3OYsGcEy5pIj8obSrkRY=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/plocate/dbfile.patch b/pkgs/tools/misc/plocate/dbfile.patch
deleted file mode 100644
index 4e0278ae286..00000000000
--- a/pkgs/tools/misc/plocate/dbfile.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-commit 26e7bf8bcb2823819c87115e07932c0d2ba88170 (HEAD -> configurable-dbfile-path)
-Author: Eirik Nygaard <eirik@ngrd.no>
-Date:   Sun Jan 23 12:05:01 2022 +0100
-
-    Make entire path for plocate database configurable
-
-diff --git a/meson.build b/meson.build
-index 435cd0a..8dc2393 100644
---- a/meson.build
-+++ b/meson.build
-@@ -2,8 +2,7 @@ project('plocate', 'cpp', default_options: ['buildtype=debugoptimized','cpp_std=
-
- add_project_arguments('-DGROUPNAME="' + get_option('locategroup') + '"', language: 'cpp')
- add_project_arguments('-DUPDATEDB_CONF="/etc/updatedb.conf"', language: 'cpp')
--dbdir = join_paths(get_option('sharedstatedir'), 'plocate')
--dbfile = join_paths(dbdir, 'plocate.db')
-+dbfile = join_paths(get_option('sharedstatedir'), get_option('dbpath'))
- add_project_arguments('-DDBFILE="' + dbfile + '"', language: 'cpp')
- add_project_arguments('-DPACKAGE_NAME="plocate"', language: 'cpp')
- add_project_arguments('-DPACKAGE_VERSION="' + meson.project_version() + '"', language: 'cpp')
-diff --git a/meson_options.txt b/meson_options.txt
-index 8ac13c5..a9f3358 100644
---- a/meson_options.txt
-+++ b/meson_options.txt
-@@ -3,3 +3,4 @@ option('install_systemd', type: 'boolean', value: true, description: 'Install sy
- option('systemunitdir', type: 'string', description: 'Where to install systemd units to (default: autodetect)')
- option('locategroup', type: 'string', value: 'plocate', description: 'Group that the install script will use for the .db file')
- option('updatedb_progname', type: 'string', value: 'updatedb', description: 'Binary name of updatedb')
-+option('dbpath', type: 'string', value: 'plocate/plocate.db', description: 'Path to plocate database relative to "sharedstatedir"')
diff --git a/pkgs/tools/misc/plocate/default.nix b/pkgs/tools/misc/plocate/default.nix
index ff10019ed90..f4504a73637 100644
--- a/pkgs/tools/misc/plocate/default.nix
+++ b/pkgs/tools/misc/plocate/default.nix
@@ -11,18 +11,17 @@
 }:
 let
   dbfile = lib.attrByPath [ "locate" "dbfile" ] "/var/cache/locatedb" config;
-in stdenv.mkDerivation rec {
+in
+stdenv.mkDerivation rec {
   pname = "plocate";
-  version = "1.1.14";
+  version = "1.1.15";
 
   src = fetchgit {
     url = "https://git.sesse.net/plocate";
     rev = version;
-    sha256 = "sha256-SgvCy03H5aKolbkI1dg/0G5VwT3TdSGenn2h9H4gfTY=";
+    sha256 = "sha256-r8/LivQhJkMTE8ejznr+eGplXFrQl4xwCgXOwbR4wlw=";
   };
 
-  patches = [ ./dbfile.patch ];
-
   postPatch = ''
     sed -i meson.build \
       -e '/mkdir\.sh/d'
diff --git a/pkgs/tools/misc/pmbootstrap/default.nix b/pkgs/tools/misc/pmbootstrap/default.nix
index 32595e17c06..913bfc00a15 100644
--- a/pkgs/tools/misc/pmbootstrap/default.nix
+++ b/pkgs/tools/misc/pmbootstrap/default.nix
@@ -3,11 +3,11 @@
 
 buildPythonApplication rec {
   pname = "pmbootstrap";
-  version = "1.40.0";
+  version = "1.41.0";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "sha256-b/9NEURp42d/j/Fk8NUS0ZAG99q56eg0pEU/xkFnvrM=";
+    sha256 = "sha256-go3EXmC9Vp0xXi1mH65p85FKsTe0CbyNXw3VVRrnpeQ=";
   };
 
   repo = fetchFromGitLab {
@@ -15,7 +15,7 @@ buildPythonApplication rec {
     owner = "postmarketOS";
     repo = pname;
     rev = version;
-    sha256 = "sha256-2yyHAHoIlwHX2+LbwwK7AGrBDZlfkhtCcKAKHdJMBdQ=";
+    sha256 = "sha256-7Y4rxSdJQaIlq4yiadvrEro0JM5xoHeISDKHz69T4z8=";
   };
 
   pmb_test = "${repo}/test";
diff --git a/pkgs/tools/misc/pspg/default.nix b/pkgs/tools/misc/pspg/default.nix
index 882ea148b20..fe506a31c0e 100644
--- a/pkgs/tools/misc/pspg/default.nix
+++ b/pkgs/tools/misc/pspg/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "pspg";
-  version = "5.5.1";
+  version = "5.5.4";
 
   src = fetchFromGitHub {
     owner = "okbob";
     repo = pname;
     rev = version;
-    sha256 = "sha256-EQOIbpP80t/SVwrY/iEYTdfE1L/VmI5VxBrr+mBvICo=";
+    sha256 = "sha256-2j1K9enoPBPLL+0oOhzcYVxfsjb8BzsfeHNi9TJOnmc=";
   };
 
   nativeBuildInputs = [ pkg-config installShellFiles ];
diff --git a/pkgs/tools/misc/qflipper/default.nix b/pkgs/tools/misc/qflipper/default.nix
index 78bb6c839e6..d0125377763 100644
--- a/pkgs/tools/misc/qflipper/default.nix
+++ b/pkgs/tools/misc/qflipper/default.nix
@@ -1,31 +1,116 @@
-{ lib, fetchurl, appimageTools }:
+{ stdenv
+, lib
+, fetchFromGitHub
+, pkg-config
+, zlib
+, libusb1
+, libGL
+, qmake
+, wrapQtAppsHook
+, mkDerivation
 
+, qttools
+, qtbase
+, qt3d
+, qtsvg
+, qtserialport
+, qtdeclarative
+, qtquickcontrols
+, qtquickcontrols2
+, qtgraphicaleffects
+, qtwayland
+}:
 let
-  pname = "qflipper";
-  version = "0.5.3";
-  name = "${pname}-${version}";
-  src = fetchurl {
-    url = "https://update.flipperzero.one/builds/qFlipper/${version}/qFlipper-x86_64-${version}.AppImage";
-    sha256 = "sha256-UFGFl1zb0t1y7FBd5EX1YS3npWM5slL/wLiTOF/CLNM=";
+  version = "0.8.2";
+  timestamp = "99999999999";
+  commit = "nix-${version}";
+  hash = "sha256-BaqKlF2SZueykFhtj91McP39oXYAx+lz8eXhn5eouqg=";
+
+  udev_rules = ''
+    #Flipper Zero serial port
+    SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="5740", ATTRS{manufacturer}=="Flipper Devices Inc.", TAG+="uaccess"
+    #Flipper Zero DFU
+    SUBSYSTEMS=="usb", ATTRS{idVendor}=="0483", ATTRS{idProduct}=="df11", ATTRS{manufacturer}=="STMicroelectronics", TAG+="uaccess"
+  '';
+
+in
+mkDerivation {
+  pname = "qFlipper";
+  inherit version;
+
+  src = fetchFromGitHub {
+    owner = "flipperdevices";
+    repo = "qFlipper";
+    rev = version;
+    inherit hash;
+    fetchSubmodules = true;
   };
-  appimageContents = appimageTools.extractType2 { inherit name src; };
 
-in appimageTools.wrapType2 {
-  inherit name src;
+  nativeBuildInputs = [
+    pkg-config
+    qmake
+    qttools
+  ];
+
+  buildInputs = [
+    zlib
+    libusb1
+    libGL
+    wrapQtAppsHook
+
+    qtbase
+    qt3d
+    qtsvg
+    qtserialport
+    qtdeclarative
+    qtquickcontrols
+    qtquickcontrols2
+    qtgraphicaleffects
+  ] ++ lib.optionals (stdenv.isLinux) [
+    qtwayland
+  ];
+
+  preBuild = ''
+    substituteInPlace qflipper_common.pri \
+        --replace 'GIT_VERSION = unknown' 'GIT_VERSION = "${version}"' \
+        --replace 'GIT_TIMESTAMP = 0' 'GIT_TIMESTAMP = ${timestamp}' \
+        --replace 'GIT_COMMIT = unknown' 'GIT_COMMIT = "${commit}"'
+    cat qflipper_common.pri
 
-  extraPkgs = pkgs: (appimageTools.defaultFhsEnvArgs.multiPkgs pkgs) ++ [ pkgs.libsecret ];
+  '';
+
+  installPhase = ''
+    runHook preInstall
+
+    mkdir -p $out/bin
+    ${lib.optionalString stdenv.isLinux ''
+      install -Dm755 qFlipper $out/bin/qFlipper
+    ''}
+    ${lib.optionalString stdenv.isDarwin ''
+      install -Dm755 qFlipper.app/Contents/MacOS/qFlipper $out/bin/qFlipper
+    ''}
+    cp qFlipperTool $out/bin
+
+    mkdir -p $out/share/applications
+    cp installer-assets/appimage/qFlipper.desktop $out/share/applications
 
-  extraInstallCommands = ''
-    mv $out/bin/${name} $out/bin/qFlipper
-    install -m 444 -D ${appimageContents}/qFlipper.desktop -t $out/share/applications
-    cp -r ${appimageContents}/usr/share/icons $out/share
+    mkdir -p $out/share/icons
+    cp application/assets/icons/qFlipper.png $out/share/icons
+
+    mkdir -p $out/etc/udev/rules.d
+    tee $out/etc/udev/rules.d/42-flipperzero.rules << EOF
+    ${udev_rules}
+    EOF
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Cross-platform desktop tool to manage your flipper device";
     homepage = "https://flipperzero.one/";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ wolfangaukang ];
-    platforms = [ "x86_64-linux" ];
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ cab404 ];
+    platforms = [ "x86_64-linux" "x86_64-darwin" "aarch64-linux" ]; # qtbase doesn't build yet on aarch64-darwin
   };
+
 }
diff --git a/pkgs/tools/misc/rates/default.nix b/pkgs/tools/misc/rates/default.nix
index 8ead57a07eb..6db1675fe02 100644
--- a/pkgs/tools/misc/rates/default.nix
+++ b/pkgs/tools/misc/rates/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rates";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "lunush";
     repo = pname;
     rev = version;
-    sha256 = "077qxs4kwfprsai07dninkhmj3ihnghdxan98iv8gmsl3pijbgwh";
+    sha256 = "sha256-ivJ6rD4+EYeMg6nOWzf3lp521+7NTBq5vCn7648q0T8=";
   };
 
-  cargoSha256 = "041sskiq152iywwqd8p7aqsqzbj359zl7ilnp8ahzdqprz3slk1w";
+  cargoSha256 = "sha256-dsWAxYFB096SZN5tfzEMokdQ8qw1aR/6Hmjtkdw1L8E=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/misc/remind/default.nix b/pkgs/tools/misc/remind/default.nix
index 8d5d7356da5..22b669e4fdc 100644
--- a/pkgs/tools/misc/remind/default.nix
+++ b/pkgs/tools/misc/remind/default.nix
@@ -16,11 +16,11 @@ let
 in
 tcl.mkTclDerivation rec {
   pname = "remind";
-  version = "03.03.12";
+  version = "03.04.00";
 
   src = fetchurl {
     url = "https://dianne.skoll.ca/projects/remind/download/remind-${version}.tar.gz";
-    sha256 = "sha256-1KpM2lobU+KsxjHpNeAxwAx3mCrU8IZyhvfYJwlUQJ4=";
+    sha256 = "sha256-uIpIygxV5l122FN8sz+OMeQh8iL4Vy87EM1/CjFvLVI=";
   };
 
   propagatedBuildInputs = tclLibraries;
diff --git a/pkgs/tools/misc/rpcsvc-proto/default.nix b/pkgs/tools/misc/rpcsvc-proto/default.nix
index 400a63f7dfe..4b56dec9d52 100644
--- a/pkgs/tools/misc/rpcsvc-proto/default.nix
+++ b/pkgs/tools/misc/rpcsvc-proto/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpcsvc-proto";
-  version = "1.4.2";
+  version = "1.4.3";
 
   src = fetchFromGitHub {
     owner = "thkukuk";
     repo = pname;
     rev = "v${version}";
-    sha256 = "006l1f824r9bcbwn1s1vbs33cdwhs66jn6v97yas597y884y40z9";
+    sha256 = "sha256-DXRLEpOanWcxCSTC8OxEw5SWKpgFz7oTPukzfnPrAOk=";
   };
 
   outputs = [ "out" "man" ];
diff --git a/pkgs/tools/misc/rpi-imager/default.nix b/pkgs/tools/misc/rpi-imager/default.nix
index c67dddf536f..3a7baa62bae 100644
--- a/pkgs/tools/misc/rpi-imager/default.nix
+++ b/pkgs/tools/misc/rpi-imager/default.nix
@@ -16,13 +16,13 @@
 
 mkDerivation rec {
   pname = "rpi-imager";
-  version = "1.6.2";
+  version = "1.7.1";
 
   src = fetchFromGitHub {
     owner = "raspberrypi";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ITn31ENEf2bysgJgV3u+NNPXk1pfIkUyJWIvS2DOrzY=";
+    sha256 = "sha256-Yt+RWox+0VOw8SH7Ry/o4NHOg3IGcebVeE9OWGP17do=";
   };
 
   nativeBuildInputs = [ cmake util-linux ];
diff --git a/pkgs/tools/misc/rpm-ostree/default.nix b/pkgs/tools/misc/rpm-ostree/default.nix
index 4f3a4ef985b..09422cd2d4b 100644
--- a/pkgs/tools/misc/rpm-ostree/default.nix
+++ b/pkgs/tools/misc/rpm-ostree/default.nix
@@ -40,13 +40,13 @@
 
 stdenv.mkDerivation rec {
   pname = "rpm-ostree";
-  version = "2022.1";
+  version = "2022.2";
 
   outputs = [ "out" "dev" "man" "devdoc" ];
 
   src = fetchurl {
     url = "https://github.com/coreos/${pname}/releases/download/v${version}/${pname}-${version}.tar.xz";
-    sha256 = "sha256-v7vAj045gLHdH1kQ9oMnLLBYXu/oWOW+MS+m7w2VoW0=";
+    sha256 = "sha256-wy6zmVy7+31+wadLldWdf/IyT0dyLArYLmGw/Kgd+sU=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/misc/screen/default.nix b/pkgs/tools/misc/screen/default.nix
index b217453b132..e7e0e420810 100644
--- a/pkgs/tools/misc/screen/default.nix
+++ b/pkgs/tools/misc/screen/default.nix
@@ -23,12 +23,6 @@ stdenv.mkDerivation rec {
       stripLen = 1;
     });
 
-  postPatch = lib.optionalString (stdenv.buildPlatform != stdenv.hostPlatform)
-    # XXX: Awful hack to allow cross-compilation.
-    '' sed -i ./configure \
-           -e 's/^as_fn_error .. \("cannot run test program while cross compiling\)/$as_echo \1/g'
-    ''; # "
-
   nativeBuildInputs = [
     autoreconfHook
   ];
diff --git a/pkgs/tools/misc/scrub/default.nix b/pkgs/tools/misc/scrub/default.nix
new file mode 100644
index 00000000000..baa3732b584
--- /dev/null
+++ b/pkgs/tools/misc/scrub/default.nix
@@ -0,0 +1,26 @@
+{ lib, stdenv, fetchFromGitHub, autoconf, automake, libtool }:
+
+stdenv.mkDerivation rec {
+  pname = "scrub";
+  version = "2.6.1";
+
+  src = fetchFromGitHub {
+    owner = "chaos";
+    repo = "scrub";
+    rev = version;
+    sha256 = "0ndcri2ddzqlsxvy1b607ajyd4dxpiagzx331yyi7hf3ijph129f";
+  };
+
+  buildInputs = [ autoconf automake libtool ];
+
+  preConfigure = "./autogen.sh";
+
+  meta = with lib; {
+    description = "Disk overwrite utility";
+    homepage = "https://github.com/chaos/scrub";
+    changelog = "https://raw.githubusercontent.com/chaos/scrub/master/NEWS";
+    license = licenses.gpl2Plus;
+    maintainers = with maintainers; [ j0hax ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/misc/sfeed/default.nix b/pkgs/tools/misc/sfeed/default.nix
index 394cd8a8ede..85bc57d3556 100644
--- a/pkgs/tools/misc/sfeed/default.nix
+++ b/pkgs/tools/misc/sfeed/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "sfeed";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchgit {
     url = "git://git.codemadness.org/sfeed";
     rev = version;
-    sha256 = "sha256-0z9PHni/ni4p4nfeStrZmFFHHtyqT8GYJWVWr5IzFKw=";
+    sha256 = "sha256-cx+mIVrY9tB5k1YnAHkpGahXVG6S+JBshJKkzEbcKZI=";
   };
 
   buildInputs = [ ncurses ];
diff --git a/pkgs/tools/misc/sharedown/default.nix b/pkgs/tools/misc/sharedown/default.nix
index 048e8eb6008..78c86aeff74 100644
--- a/pkgs/tools/misc/sharedown/default.nix
+++ b/pkgs/tools/misc/sharedown/default.nix
@@ -38,7 +38,7 @@ stdenvNoCC.mkDerivation rec {
       icon = "Sharedown";
       comment = "An Application to save your Sharepoint videos for offline usage.";
       desktopName = "Sharedown";
-      categories = "Network;Archiving";
+      categories = [ "Network" "Archiving" ];
     })
   ];
 
diff --git a/pkgs/tools/misc/shunit2/default.nix b/pkgs/tools/misc/shunit2/default.nix
index 1895acacac2..a0ec572a409 100644
--- a/pkgs/tools/misc/shunit2/default.nix
+++ b/pkgs/tools/misc/shunit2/default.nix
@@ -1,14 +1,23 @@
-{ lib, stdenv, fetchFromGitHub }:
+{ lib
+, resholvePackage
+, fetchFromGitHub
+, bash
+, coreutils
+, gnused
+, gnugrep
+, findutils
+, ncurses
+}:
 
-stdenv.mkDerivation {
+resholvePackage rec {
   pname = "shunit2";
-  version = "2019-08-10";
+  version = "2.1.8";
 
   src = fetchFromGitHub {
     owner = "kward";
-    repo = "shunit2";
-    rev = "ba130d69bbff304c0c6a9c5e8ab549ae140d6225";
-    sha256 = "1bsn8dhxbjfmh01lq80yhnld3w3fw1flh7nwx12csrp58zsvlmgk";
+    repo = pname;
+    rev = "v${version}";
+    hash = "sha256-IZHkgkVqzeh+eEKCDJ87sqNhSA+DU6kBCNDdQaUEeiM=";
   };
 
   installPhase = ''
@@ -22,10 +31,59 @@ stdenv.mkDerivation {
     $out/bin/shunit2
   '';
 
+  solutions = {
+    shunit = {
+      # Caution: see __SHUNIT_CMD_ECHO_ESC before changing
+      interpreter = "${bash}/bin/sh";
+      scripts = [ "bin/shunit2" ];
+      inputs = [ coreutils gnused gnugrep findutils ncurses ];
+      # resholve's Nix API is analogous to the CLI flags
+      # documented in 'man resholve'
+      fake = {
+        # "missing" functions shunit2 expects the user to declare
+        function = [
+          "oneTimeSetUp"
+          "oneTimeTearDown"
+          "setUp"
+          "tearDown"
+          "suite"
+          "noexec"
+        ];
+        # shunit2 is both bash and zsh compatible, and in
+        # some zsh-specific code it uses this non-bash builtin
+        builtin = [ "setopt" ];
+      };
+      fix = {
+        # stray absolute path; make it resolve from coreutils
+        "/usr/bin/od" = true;
+        /*
+        Caution: this one is contextually debatable. shunit2
+        sets this variable after testing whether `echo -e test`
+        yields `test` or `-e test`. Since we're setting the
+        interpreter, we can pre-test this. But if we go fiddle
+        the interpreter later, I guess we _could_ break it.
+        */
+        "$__SHUNIT_CMD_ECHO_ESC" = [ "'echo -e'" ];
+        "$SHUNIT_CMD_TPUT" = [ "tput" ]; # from ncurses
+      };
+      keep = {
+        # dynamically defined in shunit2:_shunit_mktempFunc
+        eval = [ "shunit_condition_" "_shunit_test_" "_shunit_prepForSourcing" ];
+
+        # dynamic based on CLI flag
+        "$_SHUNIT_LINENO_" = true;
+      };
+      execer = [
+        # drop after https://github.com/abathur/binlore/issues/2
+        "cannot:${ncurses}/bin/tput"
+      ];
+    };
+  };
+
   meta = with lib; {
     homepage = "https://github.com/kward/shunit2";
-    description = "A xUnit based unit test framework for Bourne based shell scripts";
-    maintainers = with maintainers; [ cdepillabout utdemir ];
+    description = "An xUnit based unit test framework for Bourne based shell scripts";
+    maintainers = with maintainers; [ abathur utdemir ];
     license = licenses.asl20;
     platforms = platforms.unix;
   };
diff --git a/pkgs/tools/misc/starship/default.nix b/pkgs/tools/misc/starship/default.nix
index 770be03243a..d61fd9ddda9 100644
--- a/pkgs/tools/misc/starship/default.nix
+++ b/pkgs/tools/misc/starship/default.nix
@@ -8,25 +8,24 @@
 , libiconv
 , nixosTests
 , Security
+, Foundation
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "starship";
-  version = "1.2.1";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "starship";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-5MJA8eHo1enOHlLpAOF1iDvOHCS/Nw0sc84VWu9nApE=";
+    sha256 = "sha256-mqUE4JzNBhvtDpT2LM23eHX8q93wtPqA+/zr/PxEDiE=";
   };
 
   nativeBuildInputs = [ installShellFiles ] ++ lib.optionals stdenv.isLinux [ pkg-config ];
 
   buildInputs = lib.optionals stdenv.isLinux [ openssl ]
-    ++ lib.optionals stdenv.isDarwin [ libiconv Security ];
-
-  buildFeatures = lib.optional (!stdenv.isDarwin) "notify-rust";
+    ++ lib.optionals stdenv.isDarwin [ libiconv Security Foundation ];
 
   postInstall = ''
     for shell in bash fish zsh; do
@@ -35,7 +34,7 @@ rustPlatform.buildRustPackage rec {
     done
   '';
 
-  cargoSha256 = "sha256-DTQQFxj6stzlVzSdmv4J4Nsf8X/VMlwvfIumnuK0YDo=";
+  cargoSha256 = "sha256-hQNDiayVT4UgbxcxdXssi/evPvwgyvG/UOFyEHj7jpo=";
 
   preCheck = ''
     HOME=$TMPDIR
diff --git a/pkgs/tools/misc/taoup/default.nix b/pkgs/tools/misc/taoup/default.nix
index 969df132be8..df61794185d 100644
--- a/pkgs/tools/misc/taoup/default.nix
+++ b/pkgs/tools/misc/taoup/default.nix
@@ -4,13 +4,13 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "taoup";
-  version = "1.1.14";
+  version = "1.1.16";
 
   src = fetchFromGitHub {
     owner = "globalcitizen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1gs6f66fg1l504riw481nvyw7cchbr3qjks4mkj2qb3s9147ad8j";
+    hash = "sha256-LNS4m7Er4dQKYDuHMF/5mAi4yGcYzppxfqVKFOT6I/s=";
   };
 
   buildInputs = [ rubyEnv bash ncurses ];
@@ -37,6 +37,8 @@ stdenv.mkDerivation rec {
   dontBuild = true;
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/{bin,lib/taoup}
 
     cp taoup $out/lib/taoup
@@ -51,6 +53,8 @@ stdenv.mkDerivation rec {
 
     cp taoup-fortune $out/bin
     chmod +x $out/bin/taoup-fortune
+
+    runHook postInstall
   '';
 
   meta = {
diff --git a/pkgs/tools/misc/topicctl/default.nix b/pkgs/tools/misc/topicctl/default.nix
index ec42cf7136e..41ee4ead7bd 100644
--- a/pkgs/tools/misc/topicctl/default.nix
+++ b/pkgs/tools/misc/topicctl/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "topicctl";
-  version = "1.2.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "segmentio";
     repo = "topicctl";
     rev = "v${version}";
-    sha256 = "sha256-bCTlKhYmMe89dYuLiZ58CPpYZiXSGqbddxugsZS5/Cs=";
+    sha256 = "sha256-hbsVk82iTZGVvypZHhUk/By0sSQxmZQBog2/3qKE94s=";
   };
 
-  vendorSha256 = "sha256-X6iVbljbHb9nBoXAZuy+vG8w7Alct+8BkabZlJeuUAM=";
+  vendorSha256 = "sha256-i1ir/aT/jaK//rmH9k/eK4LIRh0OmEytc0mGO7IrpqI=";
 
   ldflags = [
     "-X main.BuildVersion=${version}"
diff --git a/pkgs/tools/misc/traefik-certs-dumper/default.nix b/pkgs/tools/misc/traefik-certs-dumper/default.nix
index fc0062185b2..50954dab7ae 100644
--- a/pkgs/tools/misc/traefik-certs-dumper/default.nix
+++ b/pkgs/tools/misc/traefik-certs-dumper/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "traefik-certs-dumper";
-  version = "2.7.4";
+  version = "2.8.1";
 
   src = fetchFromGitHub {
     owner = "ldez";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-exkBDrNGvpOz/VD6yfE1PKL4hzs/oZ+RxMwm/ytuV/0=";
+    sha256 = "sha256-o5nTxTyLuKtWcJvcWZuVwK970DMJfEaJw8vDcShulr0=";
   };
 
-  vendorSha256 = "sha256-NmYfdX5BKHZvFzlkh/kkK0voOzNj1EPn53Mz/B7eLd0=";
+  vendorSha256 = "sha256-rBSRZ7gKUx3tBXqhkTOmAyEx9pLw41/Bt3O+AiHqXpw=";
   excludedPackages = "integrationtest";
 
   meta = with lib; {
diff --git a/pkgs/tools/misc/txr/default.nix b/pkgs/tools/misc/txr/default.nix
index d5a37e2e67f..d8ba0861120 100644
--- a/pkgs/tools/misc/txr/default.nix
+++ b/pkgs/tools/misc/txr/default.nix
@@ -1,12 +1,12 @@
-{ lib, stdenv, fetchurl, bison, flex, libffi }:
+{ lib, stdenv, fetchurl, bison, flex, libffi, coreutils }:
 
 stdenv.mkDerivation rec {
   pname = "txr";
-  version = "231";
+  version = "273";
 
   src = fetchurl {
     url = "http://www.kylheku.com/cgit/txr/snapshot/${pname}-${version}.tar.bz2";
-    sha256 = "0mcglb84zfmrai2bcdg9j0ck8jp8h7ii2rf4m38yjggy0dvii2lc";
+    sha256 = "sha256-l0o60NktIsKn720kO8xzySQBMAVrfYhhWZ8L5K8QrUg=";
   };
 
   nativeBuildInputs = [ bison flex ];
@@ -17,8 +17,16 @@ stdenv.mkDerivation rec {
   doCheck = true;
   checkTarget = "tests";
 
-  # Remove failing test-- mentions 'usr/bin' so probably related :)
-  preCheck = "rm -rf tests/017";
+  postPatch = ''
+    # Fixup references to /usr/bin in tests
+    substituteInPlace tests/017/realpath.tl --replace /usr/bin /bin
+    substituteInPlace tests/017/realpath.expected --replace /usr/bin /bin
+
+    substituteInPlace tests/018/process.tl --replace /usr/bin/env ${lib.getBin coreutils}/bin/env
+  '';
+
+  # Remove failing tests -- 018/chmod tries setting sticky bit
+  preCheck = "rm -rf tests/018/chmod*";
 
   postInstall = ''
     d=$out/share/vim-plugins/txr
diff --git a/pkgs/tools/misc/unparam/default.nix b/pkgs/tools/misc/unparam/default.nix
new file mode 100644
index 00000000000..5840a0d82be
--- /dev/null
+++ b/pkgs/tools/misc/unparam/default.nix
@@ -0,0 +1,27 @@
+{ lib
+, buildGoModule
+, fetchFromGitHub
+}:
+
+buildGoModule rec {
+  pname = "unparam";
+  version = "unstable-2021-12-14";
+
+  src = fetchFromGitHub {
+    owner = "mvdan";
+    repo = "unparam";
+    rev = "d0ef000c54e5fbf955d67422b0495b9f29b354da";
+    sha256 = "sha256-fH/LcshpOk+UFfQ5dE2eHi6Oi5cm8umeXoyHJvhpAbE=";
+  };
+
+  vendorSha256 = "sha256-pfIxWvJYAus4DShTcBI1bwn/Q2c5qWvCwPCwfUsv8c0=";
+
+  subPackages = [ "." ];
+
+  meta = with lib; {
+    description = "Find unused parameters in Go";
+    homepage = "https://github.com/mvdan/unparam";
+    license = licenses.bsd3;
+    maintainers = with maintainers; [ SuperSandro2000 ];
+  };
+}
diff --git a/pkgs/tools/misc/upterm/default.nix b/pkgs/tools/misc/upterm/default.nix
index 00c6441cffe..29775881378 100644
--- a/pkgs/tools/misc/upterm/default.nix
+++ b/pkgs/tools/misc/upterm/default.nix
@@ -1,17 +1,18 @@
 { lib
 , buildGoModule
 , fetchFromGitHub
-, installShellFiles }:
+, installShellFiles
+}:
 
 buildGoModule rec {
   pname = "upterm";
-  version = "0.6.7";
+  version = "0.7.3";
 
   src = fetchFromGitHub {
     owner = "owenthereal";
     repo = "upterm";
     rev = "v${version}";
-    sha256 = "sha256-JxyrH48CXaaa+LkTpUPsT9aq95IuuvDoyfZndrSF1IA=";
+    hash = "sha256-eEzFqKYhsG5e1DVLWJq08NM9xyfn1yPNV0NIgOErj4E=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/misc/vector/default.nix b/pkgs/tools/misc/vector/default.nix
index 468fa433e84..90f4505e027 100644
--- a/pkgs/tools/misc/vector/default.nix
+++ b/pkgs/tools/misc/vector/default.nix
@@ -29,7 +29,7 @@
 
 let
   pname = "vector";
-  version = "0.19.1";
+  version = "0.20.0";
 in
 rustPlatform.buildRustPackage {
   inherit pname version;
@@ -38,10 +38,10 @@ rustPlatform.buildRustPackage {
     owner = "timberio";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ty+tsT3nkdYN7/avG1imIwWKAmtPA3NPjhrtoADciQs=";
+    sha256 = "sha256-OkT1Gj66Z4sj3YtaMlU1lbquTECPG34qydXGbx24Ig4=";
   };
 
-  cargoSha256 = "sha256-dYIAbjBBnEsCGt5ceV+jG0hsu8dcAH4V+wnfm6Chw8Q=";
+  cargoSha256 = "sha256-O2uy0wK4pdwjAYzIKJnCzJVsA3n+U+dw731y7OPJfP0=";
   nativeBuildInputs = [ pkg-config cmake ];
   buildInputs = [ oniguruma openssl protobuf rdkafka zstd ]
     ++ lib.optionals stdenv.isDarwin [ Security libiconv coreutils CoreServices ];
diff --git a/pkgs/tools/misc/via/default.nix b/pkgs/tools/misc/via/default.nix
index 5667c8a4c46..4e5641e304c 100644
--- a/pkgs/tools/misc/via/default.nix
+++ b/pkgs/tools/misc/via/default.nix
@@ -35,7 +35,7 @@ in appimageTools.wrapType2 {
     description = "Yet another keyboard configurator";
     homepage = "https://caniusevia.com/";
     license = licenses.unfree;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = [ "x86_64-linux" ];
   };
 }
diff --git a/pkgs/tools/misc/vttest/default.nix b/pkgs/tools/misc/vttest/default.nix
index a78b6856964..a1811629af8 100644
--- a/pkgs/tools/misc/vttest/default.nix
+++ b/pkgs/tools/misc/vttest/default.nix
@@ -2,18 +2,18 @@
 
 stdenv.mkDerivation rec {
   pname = "vttest";
-  version = "20210210";
+  version = "20220215";
 
   src = fetchurl {
     urls = [
       "https://invisible-mirror.net/archives/${pname}/${pname}-${version}.tgz"
       "ftp://ftp.invisible-island.net/${pname}/${pname}-${version}.tgz"
     ];
-    sha256 = "sha256-D5ii4wWYKRXxUgmEw+hpjjrNUI7iEHEVKMifWn6n8EY=";
+    sha256 = "sha256-SmWZjF4SzwjO0s/OEZrbRPqEKsFJXQ8VDyHIpnhZFaE=";
   };
 
   meta = with lib; {
-    description = "Tests the compatibility so-called 'VT100-compatible' terminals";
+    description = "Tests the compatibility of so-called 'VT100-compatible' terminals";
     homepage = "https://invisible-island.net/vttest/";
     license = licenses.mit;
     platforms = platforms.all;
diff --git a/pkgs/tools/misc/wakatime/default.nix b/pkgs/tools/misc/wakatime/default.nix
index 5cd52a6a4ac..e936ca584b7 100644
--- a/pkgs/tools/misc/wakatime/default.nix
+++ b/pkgs/tools/misc/wakatime/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "wakatime";
-  version = "1.18.7";
+  version = "1.37.0";
 
   src = fetchFromGitHub {
     owner = "wakatime";
     repo = "wakatime-cli";
     rev = "v${version}";
-    sha256 = "171x4pixmh5ni89iawdjl1fk9gr10bgp5bnslpskhspcqzyl1y5b";
+    sha256 = "sha256-1JOsE8u4+LlWL9nU/fXIqVME1VsgxZV84lJXNTY2pZg=";
   };
 
-  vendorSha256 = "01c2vbnafhhm345nyfmvbvj5mga6laf9w46lhh0flq6kdgdw168s";
+  vendorSha256 = "sha256-WKay4/bsy8jCOTQ2jHQPMBNfIuTI3QzdmhG1aOHNK0Y=";
 
   meta = with lib; {
     inherit (src.meta) homepage;
diff --git a/pkgs/tools/misc/wimboot/default.nix b/pkgs/tools/misc/wimboot/default.nix
index 538f5113fd8..67df4056b5f 100644
--- a/pkgs/tools/misc/wimboot/default.nix
+++ b/pkgs/tools/misc/wimboot/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "wimboot";
-  version = "2.7.3";
+  version = "2.7.4";
 
   src = fetchFromGitHub {
     owner = "ipxe";
     repo = "wimboot";
     rev = "v${version}";
-    sha256 = "12c677agkmiqs35qfpqfj7c4kxkizhbk9l6hig36dslzp4fwpl70";
+    sha256 = "sha256-LaPH6nGQanweAG0niS75hr7zbO/9A3iZjS8wHD//oJ4=";
   };
 
   sourceRoot = "source/src";
diff --git a/pkgs/tools/misc/writedisk/default.nix b/pkgs/tools/misc/writedisk/default.nix
new file mode 100644
index 00000000000..34f4581ba09
--- /dev/null
+++ b/pkgs/tools/misc/writedisk/default.nix
@@ -0,0 +1,29 @@
+{ lib
+, rustPlatform
+, fetchCrate
+, pkg-config
+, stdenv
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "writedisk";
+  version = "1.2.0";
+
+  src = fetchCrate {
+    inherit version;
+    pname = "writedisk";
+    sha256 = "sha256-f5+Qw9Agepx2wIUmsAA2M9g/ajbFjjLR5RPPtQncRKU=";
+  };
+
+  cargoSha256 = "sha256-SMAhh7na+XQyVtbfzsBGOCdBRLP58JL1fPSBVKFkhdc=";
+
+  nativeBuildInputs = [ pkg-config ];
+
+  meta = with lib; {
+    description = "Small utility for writing a disk image to a USB drive";
+    homepage = "https://github.com/nicholasbishop/writedisk";
+    platforms = platforms.linux;
+    license = licenses.asl20;
+    maintainers = with maintainers; [ devhell ];
+  };
+}
diff --git a/pkgs/tools/misc/yle-dl/default.nix b/pkgs/tools/misc/yle-dl/default.nix
index 9f974c6751b..1c49d68cd00 100644
--- a/pkgs/tools/misc/yle-dl/default.nix
+++ b/pkgs/tools/misc/yle-dl/default.nix
@@ -2,13 +2,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "yle-dl";
-  version = "20211213";
+  version = "20220213";
 
   src = fetchFromGitHub {
     owner = "aajanki";
     repo = "yle-dl";
     rev = version;
-    sha256 = "sha256-U7ydZ6nSVtMv9mxNSWT/IICwbjK3PCBKxfqjrQ9jwW0=";
+    sha256 = "sha256-lFb8NwKg8GBgkVsg01rlGrP31APwhFaCFT7QdqiT6J0=";
   };
 
   propagatedBuildInputs = with python3Packages; [
diff --git a/pkgs/tools/misc/ytfzf/default.nix b/pkgs/tools/misc/ytfzf/default.nix
index 3bb0f4382bb..fd58e79063e 100644
--- a/pkgs/tools/misc/ytfzf/default.nix
+++ b/pkgs/tools/misc/ytfzf/default.nix
@@ -16,13 +16,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ytfzf";
-  version = "2.1";
+  version = "2.2";
 
   src = fetchFromGitHub {
     owner = "pystardust";
     repo = "ytfzf";
     rev = "v${version}";
-    hash = "sha256-NJLXXam7FmBWj9sM+S71e5o5e6OtVpw0m32kUo3Fbec=";
+    hash = "sha256-dQq7p/aK9iiyuhuxh5eVXR9GLukwsvosONpQTI0mknw=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/misc/z-lua/default.nix b/pkgs/tools/misc/z-lua/default.nix
index 751f68bf089..16d126e4dd7 100644
--- a/pkgs/tools/misc/z-lua/default.nix
+++ b/pkgs/tools/misc/z-lua/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "z-lua";
-  version = "1.8.13";
+  version = "1.8.14";
 
   src = fetchFromGitHub {
     owner = "skywind3000";
     repo = "z.lua";
     rev = version;
-    sha256 = "sha256-74EWeLkSRrVsJuucdN8sSTl5fPmboViYW0qdovBZQ5U=";
+    sha256 = "sha256-Jy5fcXqXbuJTOAP8vpZjN0qmDR/cVACztcIxl4aXNKs=";
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/misc/zellij/default.nix b/pkgs/tools/misc/zellij/default.nix
index 6a09ba4e0ec..20d338989cf 100644
--- a/pkgs/tools/misc/zellij/default.nix
+++ b/pkgs/tools/misc/zellij/default.nix
@@ -6,22 +6,24 @@
 , pkg-config
 , libiconv
 , openssl
+, DiskArbitration
+, Foundation
 , zellij
 , testVersion
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "zellij";
-  version = "0.24.0";
+  version = "0.25.0";
 
   src = fetchFromGitHub {
     owner = "zellij-org";
     repo = "zellij";
     rev = "v${version}";
-    sha256 = "sha256-GYbRu2ZEFswyOBUbg6jdAZQRogIDT/YolEElZT8h744=";
+    sha256 = "sha256-MTSM8fYAcNcmjg6bkOEN+U5+WilaEy52EJOfyoIy3Zg=";
   };
 
-  cargoSha256 = "sha256-ogWFAO3xMH4vho9SRjyeHCDxRtAx6exGkMpNhz2VOLA";
+  cargoSha256 = "sha256-2QEDrxTz7I9hF+WfVKkGLXHWZjQ5by/zuO16NGOJSKk=";
 
   nativeBuildInputs = [
     installShellFiles
@@ -32,6 +34,8 @@ rustPlatform.buildRustPackage rec {
     openssl
   ] ++ lib.optionals stdenv.isDarwin [
     libiconv
+    DiskArbitration
+    Foundation
   ];
 
   preCheck = ''
@@ -52,6 +56,6 @@ rustPlatform.buildRustPackage rec {
     homepage = "https://zellij.dev/";
     changelog = "https://github.com/zellij-org/zellij/blob/v${version}/Changelog.md";
     license = with licenses; [ mit ];
-    maintainers = with maintainers; [ therealansh _0x4A6F ];
+    maintainers = with maintainers; [ therealansh _0x4A6F abbe ];
   };
 }
diff --git a/pkgs/tools/networking/aardvark-dns/default.nix b/pkgs/tools/networking/aardvark-dns/default.nix
new file mode 100644
index 00000000000..5d49842237f
--- /dev/null
+++ b/pkgs/tools/networking/aardvark-dns/default.nix
@@ -0,0 +1,36 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "aardvark-dns";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-6O/7GoGH0xNbTfIFeD5VLrifNFpHcxxG0bdq/YQb3Ew=";
+  };
+
+  cargoHash = "sha256-YdHIyCJ00MKH8PL0osOqQIMwaws3+cOUwvhvA8mOp84=";
+
+  preBuild = ''
+    rm build.rs
+
+    export \
+      VERGEN_BUILD_SEMVER="${version}" \
+      VERGEN_BUILD_TIMESTAMP="$SOURCE_DATE_EPOCH" \
+      VERGEN_GIT_SHA="${src.rev}" \
+      VERGEN_RUSTC_HOST_TRIPLE=""
+  '';
+
+  meta = with lib; {
+    description = "Authoritative dns server for A/AAAA container records";
+    homepage = "https://github.com/containers/aardvark-dns";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ] ++ teams.podman.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/bgpq3/default.nix b/pkgs/tools/networking/bgpq3/default.nix
index 16bebda7d3d..1fe2f83f8a1 100644
--- a/pkgs/tools/networking/bgpq3/default.nix
+++ b/pkgs/tools/networking/bgpq3/default.nix
@@ -2,18 +2,15 @@
 
 stdenv.mkDerivation rec {
   pname = "bgpq3";
-  version = "0.1.36";
+  version = "0.1.36.1";
 
   src = fetchFromGitHub {
     owner = "snar";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-FBtt++w2WzCnSim+r+MVy287w2jmdNEaQIro2KaVeRI=";
+    hash = "sha256-rOpggVlXKaf3KBhfZ2lVooDaQA0iRjSbsLXF02GEyBw=";
   };
 
-  # Fix binary install location. Remove with next upstream release.
-  preInstall = "mkdir -p $out/bin";
-
   meta = with lib; {
     description = "bgp filtering automation tool";
     homepage = "https://github.com/snar/bgpq3";
diff --git a/pkgs/tools/networking/boundary/default.nix b/pkgs/tools/networking/boundary/default.nix
index fb4a7f32f46..f22817c3b3a 100644
--- a/pkgs/tools/networking/boundary/default.nix
+++ b/pkgs/tools/networking/boundary/default.nix
@@ -2,7 +2,7 @@
 
 stdenv.mkDerivation rec {
   pname = "boundary";
-  version = "0.7.3";
+  version = "0.7.4";
 
   src =
     let
@@ -14,9 +14,9 @@ stdenv.mkDerivation rec {
         x86_64-darwin = "darwin_amd64";
       };
       sha256 = selectSystem {
-        x86_64-linux = "sha256-9WEvGU4VfJ1781DlvdJhpdzY4djoSRWu6ZzfOpBvKJQ=";
-        aarch64-linux = "sha256-QLjewB1FeYHVehM1U81GzyewWns40IlVEFWgzWP+2Vw=";
-        x86_64-darwin = "sha256-YxPkZnU8EBvRWBMsB0jifS63tJ7LQibgtwTbqosC/fg=";
+        x86_64-linux = "sha256-5owLce0A7AwKDXB/JsUJZeHJHhrHT4/kA6XG+ZwhuyU=";
+        aarch64-linux = "sha256-WDFIr+GOip70Di5u9fRu2lVWPMJe9urYTcuc2hTMD7g=";
+        x86_64-darwin = "sha256-FGsY7+bC7n3fu1SsLl92FPytj8MgL4nT95CC6GM6vss=";
       };
     in
     fetchzip {
diff --git a/pkgs/tools/networking/chaos/default.nix b/pkgs/tools/networking/chaos/default.nix
index dc46032dcde..1b88625e692 100644
--- a/pkgs/tools/networking/chaos/default.nix
+++ b/pkgs/tools/networking/chaos/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "chaos";
-  version = "0.1.9";
+  version = "0.2.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "chaos-client";
     rev = "v${version}";
-    sha256 = "13lblrckf65y7kd3lw4s12bi05rv4iv25sr5xbp63l9ly5sbzaz6";
+    sha256 = "sha256-uND88KGlUxGH3lGlcNdjSRsti/7FofruFJIcftdgzcE=";
   };
 
-  vendorSha256 = "1mc60jkf7xmf3zsb2fihsgg3jkb2mfvsw84aby2kqcf14hdsk2gl";
+  vendorSha256 = "sha256-pzh/t8GeJXLIydSGoQ3vOzZ6xdHov6kdYgu2lKh/BNo=";
 
   subPackages = [
     "cmd/chaos/"
diff --git a/pkgs/tools/networking/croc/default.nix b/pkgs/tools/networking/croc/default.nix
index cb39de338ab..fa55c6e94ef 100644
--- a/pkgs/tools/networking/croc/default.nix
+++ b/pkgs/tools/networking/croc/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "croc";
-  version = "9.5.0";
+  version = "9.5.2";
 
   src = fetchFromGitHub {
     owner = "schollz";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-BgUurfzgezbbH0pCTuRINocc5y6ANCM91VlWht86QeE=";
+    sha256 = "sha256-Ha84frbyRDxCRIDezlKeA+Fv9+rmpCoU+EAgMBkf3fo=";
   };
 
-  vendorSha256 = "sha256-QVLl78X5gYuD1QgmHlpHz+yTfQF9VyDnhx7eMclqxyY=";
+  vendorSha256 = "sha256-uaSDder/uzy708YE1xqpL9Te4629JD2IiVSCYhYzPwg=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/dd-agent/datadog-agent.nix b/pkgs/tools/networking/dd-agent/datadog-agent.nix
index 12ac37af710..412995b710f 100644
--- a/pkgs/tools/networking/dd-agent/datadog-agent.nix
+++ b/pkgs/tools/networking/dd-agent/datadog-agent.nix
@@ -10,15 +10,15 @@ let
 
 in buildGoModule rec {
   pname = "datadog-agent";
-  version = "7.32.4";
+  version = "7.33.1";
 
   src = fetchFromGitHub {
     inherit owner repo;
     rev = version;
-    sha256 = "sha256-/vHNxcJQb0QHwFq6lxsSh9zc+Bkhb2SUymI5jEzkjm4=";
+    sha256 = "sha256-H8apgLdm90/gVsqcCSc3gymgUUP2AWcNPgV9394UUeQ=";
   };
 
-  vendorSha256 = "sha256-LyXveLSa+p9GEzcKifTXweY8nJwPISwhboi8zBeBrMo=";
+  vendorSha256 = "sha256-qIm9ZIQTNmKUtTMBsGzH0t4MrIAvksea9t7p5cC6ykk=";
 
   subPackages = [
     "cmd/agent"
diff --git a/pkgs/tools/networking/dnsproxy/default.nix b/pkgs/tools/networking/dnsproxy/default.nix
index f4cea8bf57e..4e88b652e31 100644
--- a/pkgs/tools/networking/dnsproxy/default.nix
+++ b/pkgs/tools/networking/dnsproxy/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "dnsproxy";
-  version = "0.40.5";
+  version = "0.41.2";
 
   src = fetchFromGitHub {
     owner = "AdguardTeam";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wzPQ5cs/SXNcu73lLzy3D/527X3rylKwhUsPDu+v6r0=";
+    sha256 = "sha256-Bo6OxHNZYA1cP2iP/QnaN80DcwBGIVCQXH/mc75hFUY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/eternal-terminal/default.nix b/pkgs/tools/networking/eternal-terminal/default.nix
index 96a999e2779..035a99103fc 100644
--- a/pkgs/tools/networking/eternal-terminal/default.nix
+++ b/pkgs/tools/networking/eternal-terminal/default.nix
@@ -42,15 +42,11 @@ stdenv.mkDerivation rec {
     "-std=c++17"
   ];
 
-  LDFLAGS = lib.optional stdenv.cc.isClang [
-    "-lc++fs"
-  ];
-
   meta = with lib; {
     description = "Remote shell that automatically reconnects without interrupting the session";
     homepage = "https://eternalterminal.dev/";
     license = licenses.asl20;
-    maintainers = with maintainers; [ dezgeg pingiun ];
+    maintainers = with maintainers; [ dezgeg ];
     platforms = platforms.linux ++ platforms.darwin;
   };
 }
diff --git a/pkgs/tools/networking/findomain/default.nix b/pkgs/tools/networking/findomain/default.nix
index 09524b80895..108cd769a73 100644
--- a/pkgs/tools/networking/findomain/default.nix
+++ b/pkgs/tools/networking/findomain/default.nix
@@ -10,16 +10,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "findomain";
-  version = "5.1.1";
+  version = "7.0.0";
 
   src = fetchFromGitHub {
     owner = "Edu4rdSHL";
     repo = pname;
     rev = version;
-    sha256 = "sha256-nfpVW+Y6+YtMhDepj2DbnzItH11zABlnEs9c0FzfouA=";
+    sha256 = "sha256-dxOR+rgTaSgauVBz5PgSn8MPmsdQTEGH7h5bXFIT7wM=";
   };
 
-  cargoSha256 = "sha256-s7xikSZx29zv8TD/YOTckCUh/8MBBIdZOUUwfkVZfx8=";
+  cargoSha256 = "sha256-w8+wn8jnsEZAkMEZRWMaytskhG+noMPjk4+U+SdghMQ=";
 
   nativeBuildInputs = [ installShellFiles perl ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
diff --git a/pkgs/tools/networking/flannel/default.nix b/pkgs/tools/networking/flannel/default.nix
index 4b8add57b2d..2f406f97b34 100644
--- a/pkgs/tools/networking/flannel/default.nix
+++ b/pkgs/tools/networking/flannel/default.nix
@@ -4,7 +4,7 @@ with lib;
 
 buildGoModule rec {
   pname = "flannel";
-  version = "0.16.1";
+  version = "0.16.3";
   rev = "v${version}";
 
   vendorSha256 = null;
@@ -13,7 +13,7 @@ buildGoModule rec {
     inherit rev;
     owner = "flannel-io";
     repo = "flannel";
-    sha256 = "sha256-5NrULpbf3PStzoywLyrfM5qup43idzeHCMRSuNLXR3g=";
+    sha256 = "sha256-Akh1IlpLG9AZBtcZnOUfRnIvan8C9W1Dg9PqT7/VhYA=";
   };
 
   ldflags = [ "-X github.com/flannel-io/flannel/version.Version=${rev}" ];
diff --git a/pkgs/tools/networking/fping/default.nix b/pkgs/tools/networking/fping/default.nix
index 8e87eaf6942..f04bae13ce0 100644
--- a/pkgs/tools/networking/fping/default.nix
+++ b/pkgs/tools/networking/fping/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "fping";
-  version = "5.0";
+  version = "5.1";
 
   src = fetchurl {
     url = "https://www.fping.org/dist/fping-${version}.tar.gz";
-    sha256 = "1f2prmii4fyl44cfykp40hp4jjhicrhddh9v3dfs11j6nsww0f7d";
+    sha256 = "sha256-HuUmjAY9dmRq8rRCYFLn2BpCtlfmp32OfT0uYP10Cf4=";
   };
 
   configureFlags = [ "--enable-ipv6" "--enable-ipv4" ];
diff --git a/pkgs/tools/networking/frp/default.nix b/pkgs/tools/networking/frp/default.nix
index 80108f77fe5..1ef3c13172b 100644
--- a/pkgs/tools/networking/frp/default.nix
+++ b/pkgs/tools/networking/frp/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "frp";
-  version = "0.38.0";
+  version = "0.39.1";
 
   src = fetchFromGitHub {
     owner = "fatedier";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-wdK8o+Id7+YiSk7nZv04kTYa/9YOypstlecu6TPFI6w=";
+    sha256 = "sha256-tqdrYrIWbmRn+5iAZKd9GlcmFNQnh3yNxZ95As7+v5Q=";
   };
 
-  vendorSha256 = "sha256-R//kD9A6U9m/7Q7FPToA5kn0kzR7W/A82HezA/+dCFY=";
+  vendorSha256 = "sha256-NPnchl+N6DeqMhsOIw2MYD/i2IZzHS9ZqbUOeulgb90=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/gping/default.nix b/pkgs/tools/networking/gping/default.nix
index 24dc47176e8..3ca9d3b553e 100644
--- a/pkgs/tools/networking/gping/default.nix
+++ b/pkgs/tools/networking/gping/default.nix
@@ -2,31 +2,29 @@
 , stdenv
 , rustPlatform
 , fetchFromGitHub
-, fetchpatch
 , libiconv
+, Security
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "gping";
-  version = "1.2.6";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "orf";
     repo = "gping";
     rev = "gping-v${version}";
-    sha256 = "sha256-Sxmwuf+iTBTlpfMFCEUp6JyEaoHgmLIKB/gws2KY/xc=";
+    sha256 = "sha256-Q7M/vDhECEIQ8s8qt1U7wESqv+Im79TyZ6s2vqjU5ps=";
   };
 
-  cargoSha256 = "sha256-xEASs6r5zxYJXS+at6aX5n0whGp5qwuNwq6Jh0GM+/4=";
+  cargoSha256 = "sha256-cnmjfvMqq8VDMvjFPnjmmH57Gaqttk36AwEtuuAT6qU=";
 
-  patches = [
-    (fetchpatch {
-      url = "https://github.com/orf/gping/commit/b843beb9617e4b7b98d4f6d3942067cad59c9d60.patch";
-      sha256 = "sha256-9DIeeweCuGqymvUj4EBct82XVevkFSbHWaV76ExjGbs=";
-    })
-  ];
+  buildInputs = lib.optionals stdenv.isDarwin [ libiconv Security ];
 
-  buildInputs = lib.optional stdenv.isDarwin libiconv;
+  doInstallCheck = true;
+  installCheckPhase = ''
+    $out/bin/gping --version | grep "${version}"
+  '';
 
   meta = with lib; {
     description = "Ping, but with a graph";
diff --git a/pkgs/tools/networking/grpcui/default.nix b/pkgs/tools/networking/grpcui/default.nix
index 14d790fedec..f6828470fcb 100644
--- a/pkgs/tools/networking/grpcui/default.nix
+++ b/pkgs/tools/networking/grpcui/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "grpcui";
-  version = "1.2.0";
+  version = "1.3.0";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gHzafx3nIrdLyiGlz5v6pJ8XVT+7tDN59rsdfp1V/Q0=";
+    sha256 = "sha256-XDVt5fml2zYXOcZYXnxxGu4uaUA75DnRlFkbcc6tDag=";
   };
 
-  vendorSha256 = "sha256-6K644KSmFEA60yMnw7GmCmycsb5x2stvc0unyV4pF9g=";
+  vendorSha256 = "sha256-jHNjvh4rpZdQ/RC9gN3KXnuOLkJX8Ow5GV+Qwfyvx1o=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/networking/grpcurl/default.nix b/pkgs/tools/networking/grpcurl/default.nix
index d075482638f..40c28a2a1d1 100644
--- a/pkgs/tools/networking/grpcurl/default.nix
+++ b/pkgs/tools/networking/grpcurl/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "grpcurl";
-  version = "1.8.5";
+  version = "1.8.6";
 
   src = fetchFromGitHub {
     owner = "fullstorydev";
     repo = "grpcurl";
     rev = "v${version}";
-    sha256 = "sha256-73gp3UQk7D3aWK2jtMpiY4tiVhvHkTqZipoynosd3ec=";
+    sha256 = "sha256-dS9r738y0B+p2eoo1NV54OEeRzsj9fOs09NB3HRKmJY=";
   };
 
   subPackages = [ "cmd/grpcurl" ];
 
-  vendorSha256 = "sha256-dHh8zHtU/r6AscInfNfVFd5psys2b6D1FS02lSoiGto=";
+  vendorSha256 = "sha256-3f/GcOonE46GjCztjShRsisS/QGPjM4IJelZ8jAiSWU=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/networking/haproxy/default.nix b/pkgs/tools/networking/haproxy/default.nix
index 87cb304ed50..afc57cb723f 100644
--- a/pkgs/tools/networking/haproxy/default.nix
+++ b/pkgs/tools/networking/haproxy/default.nix
@@ -11,11 +11,11 @@ assert usePcre -> pcre != null;
 
 stdenv.mkDerivation rec {
   pname = "haproxy";
-  version = "2.5.1";
+  version = "2.5.3";
 
   src = fetchurl {
     url = "https://www.haproxy.org/download/${lib.versions.majorMinor version}/src/${pname}-${version}.tar.gz";
-    sha256 = "sha256-PpB5DfyDKvpspP30Uo3izi508+H3S+0NcK1UvVkg6VQ=";
+    sha256 = "sha256-1vo8ZvcH/5O1vSfOaecKiWTXtweFSLUYaNR9ffOUP+Q=";
   };
 
   buildInputs = [ openssl zlib ]
diff --git a/pkgs/tools/networking/httplz/default.nix b/pkgs/tools/networking/httplz/default.nix
index 1d482f2bebf..8f081a1141c 100644
--- a/pkgs/tools/networking/httplz/default.nix
+++ b/pkgs/tools/networking/httplz/default.nix
@@ -13,15 +13,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "httplz";
-  version = "1.12.2";
+  version = "1.12.3";
 
   src = fetchCrate {
     inherit version;
     pname = "https";
-    sha256 = "sha256-FhxNYss6n0AJEszpJ7+6CAJE2sdsflWQkvSLakTnFdY=";
+    sha256 = "sha256-g0WQdfncGGrf/sCvytvF5xHWb2L0mBiT3j0kj8fZN8k=";
   };
 
-  cargoSha256 = "sha256-wyksA3RYpGkD6nhllNv8WkUwEdml4TiPM2a4GzfBD1o=";
+  cargoSha256 = "sha256-L5eN3jg3xc4J5j14Vzcy8qj15q9WhshPVjLzegieyxU=";
 
   nativeBuildInputs = [
     installShellFiles
diff --git a/pkgs/tools/networking/hurl/default.nix b/pkgs/tools/networking/hurl/default.nix
index 1264bc107ea..ee9aa9c4901 100644
--- a/pkgs/tools/networking/hurl/default.nix
+++ b/pkgs/tools/networking/hurl/default.nix
@@ -12,13 +12,13 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "hurl";
-  version = "1.5.0";
+  version = "1.6.0";
 
   src = fetchFromGitHub {
     owner = "Orange-OpenSource";
     repo = pname;
     rev = version;
-    sha256 = "sha256-avgi3Y5PRI/RZLYw10ifYV6eKKEBi349NYtYs07GS2k=";
+    sha256 = "sha256-87bzZxS1RAe2rY39/LF3kE7uOsEdlKDAnmuNc81YEYM=";
   };
 
   nativeBuildInputs = [
@@ -37,7 +37,7 @@ rustPlatform.buildRustPackage rec {
   # Tests require network access to a test server
   doCheck = false;
 
-  cargoSha256 = "sha256-GB+MnvWkXcdlJvaxtSItm3nGRyr8zWhxSq58smPk/aY=";
+  cargoSha256 = "sha256-GnpK4lC7aBMUM+E/dC+SEvG+s5ZlW4y1oI4crSDkblk=";
 
   postInstall = ''
     python ci/gen_manpage.py docs/hurl.md > hurl.1
diff --git a/pkgs/tools/networking/imapproxy/default.nix b/pkgs/tools/networking/imapproxy/default.nix
deleted file mode 100644
index ca0ce6f933f..00000000000
--- a/pkgs/tools/networking/imapproxy/default.nix
+++ /dev/null
@@ -1,24 +0,0 @@
-{lib, stdenv, fetchurl, openssl, ncurses}:
-
-stdenv.mkDerivation rec {
-  pname = "imapproxy";
-  version = "1.2.7";
-
-  src = fetchurl {
-    url = "mirror://sourceforge/squirrelmail/squirrelmail-imap_proxy-${version}.tar.bz2";
-    sha256 = "0j5fq755sxiz338ia93jrkiy64crv30g37pir5pxfys57q7d92nx";
-  };
-
-  buildInputs = [ openssl ncurses ];
-
-  patchPhase = ''
-    sed -i -e 's/-o \(root\|bin\) -g \(sys\|bin\)//' Makefile.in
-  '';
-
-  meta = {
-    homepage = "http://imapproxy.org/";
-    description = "It proxies IMAP transactions caching server connections";
-    license = lib.licenses.gpl2Plus;
-    platforms = lib.platforms.unix;
-  };
-}
diff --git a/pkgs/tools/networking/ipv6calc/default.nix b/pkgs/tools/networking/ipv6calc/default.nix
index bb0d7e698f2..6df96e268ef 100644
--- a/pkgs/tools/networking/ipv6calc/default.nix
+++ b/pkgs/tools/networking/ipv6calc/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "ipv6calc";
-  version = "3.2.0";
+  version = "4.0.1";
 
   src = fetchFromGitHub {
     owner = "pbiering";
     repo = pname;
     rev = version;
-    sha256 = "1iis7qw803k9z52j30hn9sv8c3b0xyr9v7kb4fvcyiry1iaxcgfk";
+    sha256 = "sha256-mfJ6ADjGjECyoW5ELnUzXiJHHiwEDHzeOKCGSmGnLno=";
   };
 
   buildInputs = [
diff --git a/pkgs/tools/networking/kapp/default.nix b/pkgs/tools/networking/kapp/default.nix
index 81757221a7d..f8aab394700 100644
--- a/pkgs/tools/networking/kapp/default.nix
+++ b/pkgs/tools/networking/kapp/default.nix
@@ -1,13 +1,13 @@
 { lib, buildGoModule, fetchFromGitHub, installShellFiles }:
 buildGoModule rec {
   pname = "kapp";
-  version = "0.44.0";
+  version = "0.46.0";
 
   src = fetchFromGitHub {
     owner = "vmware-tanzu";
     repo = "carvel-kapp";
     rev = "v${version}";
-    sha256 = "sha256-4l1Hlkk9+X7mKqkAkUTigAR3v0Z6XXt8QC2QQvqad7I=";
+    sha256 = "sha256-Z0BjwzTdKHAeETHya6M5OcsIIY//y6dDbbyZe/irCAY=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/networking/ligolo-ng/default.nix b/pkgs/tools/networking/ligolo-ng/default.nix
index 1f92fd0ce32..a19789651c2 100644
--- a/pkgs/tools/networking/ligolo-ng/default.nix
+++ b/pkgs/tools/networking/ligolo-ng/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "ligolo-ng";
-  version = "0.2";
+  version = "0.3.2";
 
   src = fetchFromGitHub {
     owner = "tnpitsecurity";
     repo = "ligolo-ng";
     rev = "v${version}";
-    sha256 = "sha256-VzK6WykC3UDlhhyu8LMRHgOMkdEssJuh1Aqp0rGx7F4=";
+    sha256 = "sha256-4VUzKTzeFC04c93PCnBnEoEoBDCyMg00uznv7ZOr+uY=";
   };
 
   postConfigure = ''
@@ -17,7 +17,7 @@ buildGoModule rec {
 
   ldflags = [ "-s" "-w" "-extldflags '-static'" ];
 
-  vendorSha256 = "sha256-ZRUy6gsl4Q2Sdm8Bfo4ANPdwcNQi5LNV6SbynpwfnOc=";
+  vendorSha256 = "sha256-BoAEmgN+ufzT1vp7mzPzYcfdXKJVWaZq/fzA90e+z8M=";
 
   doCheck = false; # tests require network access
 
diff --git a/pkgs/tools/networking/mailutils/default.nix b/pkgs/tools/networking/mailutils/default.nix
index 28868e85373..532c8c14ab5 100644
--- a/pkgs/tools/networking/mailutils/default.nix
+++ b/pkgs/tools/networking/mailutils/default.nix
@@ -1,14 +1,36 @@
-{ lib, stdenv, fetchurl, fetchpatch, autoreconfHook, dejagnu, gettext, pkg-config
-, gdbm, pam, readline, ncurses, gnutls, guile, texinfo, gnum4, sasl, fribidi, nettools
-, python3, gss, libmysqlclient, system-sendmail }:
+{ lib
+, stdenv
+, fetchurl
+, fetchpatch
+, autoreconfHook
+, dejagnu
+, gettext
+, gnum4
+, pkg-config
+, texinfo
+, fribidi
+, gdbm
+, gnutls
+, gss
+, guile
+, libmysqlclient
+, mailcap
+, nettools
+, pam
+, readline
+, ncurses
+, python3
+, sasl
+, system-sendmail
+}:
 
 stdenv.mkDerivation rec {
   pname = "mailutils";
-  version = "3.12";
+  version = "3.14";
 
   src = fetchurl {
     url = "mirror://gnu/${pname}/${pname}-${version}.tar.xz";
-    sha256 = "0n51ng1f8yf5zfsnh8s0pj9bnw6icb2r0y78gl2kzijaghhzlhvd";
+    hash = "sha256-wMWzj+qLRaSvzUNkh/Knb9VSUJLQN4gTputVQsIScTk=";
   };
 
   postPatch = ''
@@ -16,16 +38,29 @@ stdenv.mkDerivation rec {
            -e 's/chmod [24]755/chmod 0755/' \
       */Makefile{.in,.am}
     sed -i 's:/usr/lib/mysql:${libmysqlclient}/lib/mysql:' configure.ac
-    sed -i 's/0\.18/0.19/' configure.ac
   '';
 
   nativeBuildInputs = [
-    autoreconfHook gettext pkg-config
+    autoreconfHook
+    gettext
+    gnum4
+    pkg-config
+    texinfo
   ];
 
   buildInputs = [
-    gdbm pam readline ncurses gnutls guile texinfo gnum4 sasl fribidi
-    gss libmysqlclient python3
+    fribidi
+    gdbm
+    gnutls
+    gss
+    guile
+    libmysqlclient
+    mailcap
+    ncurses
+    pam
+    python3
+    readline
+    sasl
   ] ++ lib.optionals stdenv.isLinux [ nettools ];
 
   patches = [
@@ -48,6 +83,7 @@ stdenv.mkDerivation rec {
     "--with-mysql"
     "--with-path-sendmail=${system-sendmail}/bin/sendmail"
     "--with-mail-rc=/etc/mail.rc"
+    "DEFAULT_CUPS_CONFDIR=${mailcap}/etc" # provides mime.types to mimeview
   ];
 
   readmsg-tests = let
diff --git a/pkgs/tools/networking/minio-client/default.nix b/pkgs/tools/networking/minio-client/default.nix
index c9849a60fa1..7423abc8285 100644
--- a/pkgs/tools/networking/minio-client/default.nix
+++ b/pkgs/tools/networking/minio-client/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "minio-client";
-  version = "2022-01-07T06-01-38Z";
+  version = "2022-02-23T03-15-59Z";
 
   src = fetchFromGitHub {
     owner = "minio";
     repo = "mc";
     rev = "RELEASE.${version}";
-    sha256 = "sha256-jBCYEAwiPWu6n4LtzQ05MumgsQkflbOjJbtGKfAWS04=";
+    sha256 = "sha256-XiCOVFVKc1emujrZ5I93steH606bgvvNzqZJZT1Dk2E=";
   };
 
-  vendorSha256 = "sha256-EAAVfelrZqxVYMyEp2wvVYhBYwiGGl9j/PYJJTVFk20=";
+  vendorSha256 = "sha256-6t2H8ub8tLPAschB5091rpPjOtT1eoGUFFaAm/le7No=";
 
   subPackages = [ "." ];
 
diff --git a/pkgs/tools/networking/modemmanager/default.nix b/pkgs/tools/networking/modemmanager/default.nix
index 29934219789..126b3b513a8 100644
--- a/pkgs/tools/networking/modemmanager/default.nix
+++ b/pkgs/tools/networking/modemmanager/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "modemmanager";
-  version = "1.18.2";
+  version = "1.18.4";
 
   src = fetchurl {
     url = "https://www.freedesktop.org/software/ModemManager/ModemManager-${version}.tar.xz";
-    sha256 = "sha256-N0vhWK4cH7OKKe7xzDzfif81NrSP8TINIIqyBOpsX4o=";
+    sha256 = "sha256-EfuXD2Pi2ojfS22HWeTuZJlExRUkS5eb9Qp6bfHX8Zk=";
   };
 
   nativeBuildInputs = [ vala gobject-introspection gettext pkg-config ];
diff --git a/pkgs/tools/networking/mqttui/default.nix b/pkgs/tools/networking/mqttui/default.nix
index 52c481e3c7e..1d350ee4403 100644
--- a/pkgs/tools/networking/mqttui/default.nix
+++ b/pkgs/tools/networking/mqttui/default.nix
@@ -7,16 +7,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mqttui";
-  version = "0.14.0";
+  version = "0.15.0";
 
   src = fetchFromGitHub {
     owner = "EdJoPaTo";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ScB0zJXyk8bPEDCxdymMqNmlhe/skNHr6IRmJpme+qQ=";
+    sha256 = "sha256-Uts9hKhnFNYdQhxeUoTOehCcfgqQwStSoGWixgY3dPU=";
   };
 
-  cargoSha256 = "sha256-736UYTCs4d1DcpHWl5AejEaW+SYzlgElozC3t/RU41g=";
+  cargoSha256 = "sha256-YxXniyuQEM+vrCbflqCLlnXpH3ClAd9O496SFVKRvBs=";
 
   buildInputs = lib.optional stdenv.isDarwin Security;
 
diff --git a/pkgs/tools/networking/mubeng/default.nix b/pkgs/tools/networking/mubeng/default.nix
index 750461b708e..fce2eb484d9 100644
--- a/pkgs/tools/networking/mubeng/default.nix
+++ b/pkgs/tools/networking/mubeng/default.nix
@@ -5,13 +5,13 @@
 
 buildGoModule rec {
   pname = "mubeng";
-  version = "0.8.0";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "kitabisa";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ckTIHtS7lUUP1Ozt+6O0CAyl3JrcXFqiBC6c+Uc7lwA=";
+    sha256 = "sha256-uCE2Ku4OFz9Qfk7lxKjTU/KnrmRFqfunykPboPY2s0g=";
   };
 
   vendorSha256 = "sha256-sAcDyGNOSm+BnsYyrR2x1vkGo6ZEykhkF7L9lzPrD+o=";
diff --git a/pkgs/tools/networking/nebula/default.nix b/pkgs/tools/networking/nebula/default.nix
index a30c9f3bbdc..494fb946ea6 100644
--- a/pkgs/tools/networking/nebula/default.nix
+++ b/pkgs/tools/networking/nebula/default.nix
@@ -1,6 +1,6 @@
-{ lib, buildGo117Module, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGo117Module rec {
+buildGoModule rec {
   pname = "nebula";
   version = "1.5.2";
 
diff --git a/pkgs/tools/networking/netavark/default.nix b/pkgs/tools/networking/netavark/default.nix
new file mode 100644
index 00000000000..34e60b25e32
--- /dev/null
+++ b/pkgs/tools/networking/netavark/default.nix
@@ -0,0 +1,48 @@
+{ lib
+, rustPlatform
+, fetchFromGitHub
+, installShellFiles
+, mandown
+}:
+
+rustPlatform.buildRustPackage rec {
+  pname = "netavark";
+  version = "1.0.1";
+
+  src = fetchFromGitHub {
+    owner = "containers";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-r9NoPDFCqmzESxlovs91j0OyunGDmfWJXN+U1f0w2QQ=";
+  };
+
+  cargoHash = "sha256-/N9oKzcAwaxI2BbeoYZ2quN+Z3UO67ecpogK2SRG9Dw=";
+
+  preBuild = ''
+    substituteInPlace Cargo.toml \
+      --replace 'build = "build.rs"' ""
+
+    rm build.rs
+
+    export \
+      VERGEN_BUILD_SEMVER="${version}" \
+      VERGEN_BUILD_TIMESTAMP="$SOURCE_DATE_EPOCH" \
+      VERGEN_GIT_SHA="${src.rev}" \
+      VERGEN_RUSTC_HOST_TRIPLE=""
+  '';
+
+  nativeBuildInputs = [ installShellFiles mandown ];
+
+  postBuild = ''
+    make -C docs
+    installManPage docs/*.1
+  '';
+
+  meta = with lib; {
+    description = "Rust based network stack for containers";
+    homepage = "https://github.com/containers/netavark";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ ] ++ teams.podman.members;
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/netdiscover/default.nix b/pkgs/tools/networking/netdiscover/default.nix
index 1a7b93eef8a..2146dd63b99 100644
--- a/pkgs/tools/networking/netdiscover/default.nix
+++ b/pkgs/tools/networking/netdiscover/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "netdiscover";
-  version = "0.8.1";
+  version = "0.9";
 
   src = fetchFromGitHub {
     owner = "netdiscover-scanner";
     repo = pname;
     rev = version;
-    sha256 = "13fp9rfr9vh756m5wck76zbcr0296ir52dahzlqdr52ha9vrswbb";
+    sha256 = "sha256-4pSGWMTOMECXKpba5739OQA8FIuNmffFbniU9Gd4GlM=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/networking/networkmanager/default.nix b/pkgs/tools/networking/networkmanager/default.nix
index ac261f83d57..67cd874d6fd 100644
--- a/pkgs/tools/networking/networkmanager/default.nix
+++ b/pkgs/tools/networking/networkmanager/default.nix
@@ -54,11 +54,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "networkmanager";
-  version = "1.32.12";
+  version = "1.34.0";
 
   src = fetchurl {
     url = "mirror://gnome/sources/NetworkManager/${lib.versions.majorMinor version}/NetworkManager-${version}.tar.xz";
-    sha256 = "sha256-qKs2oKUC/nPNjjustlhfl/u5Tr73nids268Rwz/49Us=";
+    sha256 = "sha256-gZeV0ImQdiBPVnJCGljxsdnjk1Nu6Hu4RLkR5iQ78L0=";
   };
 
   outputs = [ "out" "dev" "devdoc" "man" "doc" ];
diff --git a/pkgs/tools/networking/notemap/default.nix b/pkgs/tools/networking/notemap/default.nix
index 040f26752b5..726b24469ab 100644
--- a/pkgs/tools/networking/notemap/default.nix
+++ b/pkgs/tools/networking/notemap/default.nix
@@ -3,6 +3,7 @@
 , fetchzip
 , pkg-config
 , libressl
+, memstreamHook
 }:
 
 stdenv.mkDerivation rec {
@@ -20,6 +21,8 @@ stdenv.mkDerivation rec {
 
   buildInputs = [
     libressl
+  ] ++ lib.optionals (stdenv.isDarwin && stdenv.isx86_64) [
+    memstreamHook
   ];
 
   meta = {
diff --git a/pkgs/tools/networking/nss-pam-ldapd/default.nix b/pkgs/tools/networking/nss-pam-ldapd/default.nix
index 3c6eff4d601..c4ba4c869a2 100644
--- a/pkgs/tools/networking/nss-pam-ldapd/default.nix
+++ b/pkgs/tools/networking/nss-pam-ldapd/default.nix
@@ -5,11 +5,11 @@
 
 stdenv.mkDerivation rec {
   pname = "nss-pam-ldapd";
-  version = "0.9.11";
+  version = "0.9.12";
 
   src = fetchurl {
     url = "https://arthurdejong.org/nss-pam-ldapd/${pname}-${version}.tar.gz";
-    sha256 = "1dna3r0q6sjhhlkhcp8x2zkslrd4y7701kk6fl5r940sdph1pmyh";
+    sha256 = "sha256-xtZh50aTy/Uxp5BjHKk7c/KR+yPMOUZbCd642iv7DhQ=";
   };
 
   nativeBuildInputs = [ pkg-config makeWrapper autoreconfHook ];
@@ -34,7 +34,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "LDAP identity and authentication for NSS/PAM";
     homepage = "https://arthurdejong.org/nss-pam-ldapd/";
-    license = licenses.lgpl21;
+    license = licenses.lgpl21Plus;
     platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch b/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
deleted file mode 100644
index d794efeac08..00000000000
--- a/pkgs/tools/networking/ntopng/0001-Undo-weird-modification-of-data_dir.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/src/Prefs.cpp b/src/Prefs.cpp
-index 76385c4..db8d20d 100755
---- a/src/Prefs.cpp
-+++ b/src/Prefs.cpp
-@@ -795,7 +795,6 @@ int Prefs::checkOptions() {
-          ntop->getTrace()->traceEvent(TRACE_ERROR, "Unable to create log %s", path);
-     }
- 
--  free(data_dir); data_dir = strdup(ntop->get_install_dir());
-   docs_dir      = ntop->getValidPath(docs_dir);
-   scripts_dir   = ntop->getValidPath(scripts_dir);
-   callbacks_dir = ntop->getValidPath(callbacks_dir);
diff --git a/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch b/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
deleted file mode 100644
index 50ed1daebd4..00000000000
--- a/pkgs/tools/networking/ntopng/0002-Remove-requirement-to-have-writeable-callback-dir.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff --git a/src/Ntop.cpp b/src/Ntop.cpp
-index 8de92a9..510418f 100644
---- a/src/Ntop.cpp
-+++ b/src/Ntop.cpp
-@@ -197,8 +197,7 @@ void Ntop::registerPrefs(Prefs *_prefs) {
-   }
- 
-   if(stat(prefs->get_callbacks_dir(), &statbuf)
--     || (!(statbuf.st_mode & S_IFDIR))  /* It's not a directory */
--     || (!(statbuf.st_mode & S_IWRITE)) /* It's not writable    */) {
-+     || (!(statbuf.st_mode & S_IFDIR))  /* It's not a directory */) {
-     ntop->getTrace()->traceEvent(TRACE_ERROR, "Invalid directory %s specified",
- 				 prefs->get_callbacks_dir());
-     _exit(-1);
diff --git a/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch b/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch
deleted file mode 100644
index 51c9a706f89..00000000000
--- a/pkgs/tools/networking/ntopng/0003-New-libpcap-defines-SOCKET.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 9cb650ea96c0e5063775071cfdae072e92c553b8 Mon Sep 17 00:00:00 2001
-From: emanuele-f <faranda@ntop.org>
-Date: Tue, 18 Sep 2018 12:49:57 +0200
-Subject: [PATCH] Compilation fix with new libpcap
-
-SOCKET and INVALID_SOCKET are now defined in pcap.h
----
- third-party/mongoose/mongoose.c | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/third-party/mongoose/mongoose.c b/third-party/mongoose/mongoose.c
-index 6a61cea9b..634c142e3 100644
---- a/third-party/mongoose/mongoose.c
-+++ b/third-party/mongoose/mongoose.c
-@@ -247,7 +247,9 @@ struct pollfd {
- #define mg_rename(x, y) rename(x, y)
- #define mg_sleep(x) usleep((x) * 1000)
- #define ERRNO errno
-+#ifndef INVALID_SOCKET
- #define INVALID_SOCKET (-1)
-+#endif
- 
- /* ntop */
- #if ((ULONG_MAX) == (UINT_MAX))
-@@ -270,7 +272,9 @@ struct pollfd {
- #endif
- 
- //#define INT64_FMT PRId64
-+#ifndef SOCKET
- typedef int SOCKET;
-+#endif
- #define WINCDECL
- 
- #endif // End of Windows and UNIX specific includes
diff --git a/pkgs/tools/networking/ntopng/default.nix b/pkgs/tools/networking/ntopng/default.nix
index 46dd586c0fa..652ad4e2886 100644
--- a/pkgs/tools/networking/ntopng/default.nix
+++ b/pkgs/tools/networking/ntopng/default.nix
@@ -1,62 +1,46 @@
-{ lib, stdenv, fetchurl, libpcap,/* gnutls, libgcrypt,*/ libxml2, glib
-, geoip, geolite-legacy, sqlite, which, autoreconfHook, git
-, pkg-config, groff, curl, json_c, luajit, zeromq, rrdtool
+{ lib, stdenv, fetchFromGitHub, fetchpatch, pkg-config, bash, autoreconfHook
+, zeromq, ndpi, json_c, openssl, libpcap, libcap, curl, libmaxminddb
+, rrdtool, sqlite, libmysqlclient, expat, net-snmp
 }:
 
-# ntopng includes LuaJIT, mongoose, rrdtool and zeromq in its third-party/
-# directory, but we use luajit, zeromq, and rrdtool from nixpkgs
-
 stdenv.mkDerivation rec {
   pname = "ntopng";
-  version = "2.0";
+  version = "5.2.1";
 
-  src = fetchurl {
-    urls = [
-      "mirror://sourceforge/project/ntop/ntopng/old/ntopng-${version}.tar.gz"
-      "mirror://sourceforge/project/ntop/ntopng/ntopng-${version}.tar.gz"
-    ];
-    sha256 = "0l82ivh05cmmqcvs26r6y69z849d28njipphqzvnakf43ggddgrw";
+  src = fetchFromGitHub {
+    owner = "ntop";
+    repo = "ntopng";
+    rev = version;
+    sha256 = "sha256-FeRERSq8F3HEelUCkA6pgNNcP94xrWy6EbJgk+cEdqc=";
   };
 
   patches = [
-    ./0001-Undo-weird-modification-of-data_dir.patch
-    ./0002-Remove-requirement-to-have-writeable-callback-dir.patch
-    ./0003-New-libpcap-defines-SOCKET.patch
+    (fetchpatch {
+      url = "https://github.com/ntop/ntopng/commit/0aa580e1a45f248fffe6d11729ce40571f08e187.patch";
+      sha256 = "sha256-xqEVwfGgkNS+akbJnLZsVvEQdp9GxxUen8VkFomtcPI=";
+    })
   ];
 
-  buildInputs = [ libpcap/* gnutls libgcrypt*/ libxml2 glib geoip geolite-legacy
-    sqlite which autoreconfHook git pkg-config groff curl json_c luajit zeromq
-    rrdtool ];
+  nativeBuildInputs = [ bash autoreconfHook pkg-config ];
 
+  buildInputs = [
+    zeromq ndpi json_c openssl libpcap curl libmaxminddb rrdtool sqlite
+    libmysqlclient expat net-snmp libcap
+  ];
 
-  autoreconfPhase = ''
-    substituteInPlace autogen.sh --replace "/bin/rm" "rm"
-    substituteInPlace nDPI/autogen.sh --replace "/bin/rm" "rm"
-    $shell autogen.sh
-  '';
+  autoreconfPhase = "bash autogen.sh";
 
   preConfigure = ''
     substituteInPlace Makefile.in --replace "/bin/rm" "rm"
   '';
 
   preBuild = ''
-    substituteInPlace src/Ntop.cpp --replace "/usr/local" "$out"
-
-    sed -e "s|\(#define CONST_DEFAULT_DATA_DIR\).*|\1 \"/var/lib/ntopng\"|g" \
-        -e "s|\(#define CONST_DEFAULT_DOCS_DIR\).*|\1 \"$out/share/ntopng/httpdocs\"|g" \
-        -e "s|\(#define CONST_DEFAULT_SCRIPTS_DIR\).*|\1 \"$out/share/ntopng/scripts\"|g" \
-        -e "s|\(#define CONST_DEFAULT_CALLBACKS_DIR\).*|\1 \"$out/share/ntopng/scripts/callbacks\"|g" \
-        -e "s|\(#define CONST_DEFAULT_INSTALL_DIR\).*|\1 \"$out/share/ntopng\"|g" \
+    sed -e "s|\(#define CONST_BIN_DIR \).*|\1\"$out/bin\"|g" \
+        -e "s|\(#define CONST_SHARE_DIR \).*|\1\"$out/share\"|g" \
         -i include/ntop_defines.h
-
-    rm -rf httpdocs/geoip
-    ln -s ${geolite-legacy}/share/GeoIP httpdocs/geoip
-  '' + lib.optionalString stdenv.isDarwin ''
-    sed 's|LIBS += -lstdc++.6||' -i Makefile
   '';
 
-  NIX_CFLAGS_COMPILE = "-fpermissive"
-    + lib.optionalString stdenv.cc.isClang " -Wno-error=reserved-user-defined-literal";
+  enableParallelBuilding = true;
 
   meta = with lib; {
     description = "High-speed web-based traffic analysis and flow collection tool";
diff --git a/pkgs/tools/networking/nttcp/default.nix b/pkgs/tools/networking/nttcp/default.nix
index c5a4c4c1cd1..7c7302cf19c 100644
--- a/pkgs/tools/networking/nttcp/default.nix
+++ b/pkgs/tools/networking/nttcp/default.nix
@@ -21,7 +21,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "New test TCP program";
     license = licenses.unfree;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/oapi-codegen/default.nix b/pkgs/tools/networking/oapi-codegen/default.nix
index 163341d0646..84327c8f5ee 100644
--- a/pkgs/tools/networking/oapi-codegen/default.nix
+++ b/pkgs/tools/networking/oapi-codegen/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "oapi-codegen";
-  version = "1.9.0";
+  version = "1.9.1";
 
   src = fetchFromGitHub {
     owner = "deepmap";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-pGkTCOQ2OR/9c5+L9UgESJjSMmz9FjfJw9NB8Nr6gRQ=";
+    sha256 = "sha256-Po0HCAK9h1GWSfKzV+1j3ddikCNIULbywx501GvRT/Q=";
   };
 
-  vendorSha256 = "sha256-hvY64cmfvEeHniscD1WDyaeFpWeBJwsDNwr76e9F6ow=";
+  vendorSha256 = "sha256-GSNNOWhWpXRJEIzLoBci25sp9pu0W1mS18G8eFOsfhw=";
 
   # Tests use network
   doCheck = false;
diff --git a/pkgs/tools/networking/ocserv/default.nix b/pkgs/tools/networking/ocserv/default.nix
index 5391ec03ae7..067c614f585 100644
--- a/pkgs/tools/networking/ocserv/default.nix
+++ b/pkgs/tools/networking/ocserv/default.nix
@@ -5,22 +5,22 @@
 
 stdenv.mkDerivation rec {
   pname = "ocserv";
-  version = "1.1.2";
+  version = "1.1.6";
 
   src = fetchFromGitLab {
     owner = "openconnect";
     repo = "ocserv";
     rev = version;
-    sha256 = "gXolG4zTnJpgI32SuudhvlP9snI0k4Oa1mqE7eGbdE0=";
+    sha256 = "sha256-1grRt0F/myVzK+DMSeK5K0Ui8bJANEtE6/6IY+ZbPAw=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
-  buildInputs = [ nettle gnutls libev protobufc guile geoip libseccomp gperf readline lz4 libgssglue ronn pam ];
+  nativeBuildInputs = [ autoreconfHook gperf pkg-config ronn ];
+  buildInputs = [ nettle gnutls libev protobufc guile geoip libseccomp readline lz4 libgssglue pam ];
 
   meta = with lib; {
     homepage = "https://gitlab.com/openconnect/ocserv";
-    license = licenses.gpl2;
-    description = "This program is openconnect VPN server (ocserv), a server for the openconnect VPN client";
+    license = licenses.gpl2Plus;
+    description = "OpenConnect VPN server (ocserv), a server for the OpenConnect VPN client";
     maintainers = with maintainers; [ neverbehave ];
   };
 }
diff --git a/pkgs/tools/networking/ofono/default.nix b/pkgs/tools/networking/ofono/default.nix
index de8b3d69960..80e37782154 100644
--- a/pkgs/tools/networking/ofono/default.nix
+++ b/pkgs/tools/networking/ofono/default.nix
@@ -12,14 +12,14 @@
 
 stdenv.mkDerivation rec {
   pname = "ofono";
-  version = "1.33";
+  version = "1.34";
 
   outputs = [ "out" "dev" ];
 
   src = fetchgit {
     url = "git://git.kernel.org/pub/scm/network/ofono/ofono.git";
     rev = version;
-    sha256 = "sha256-UTFP69yv1epVrqBoRKCRcR2WiKBG01sLTzrsh/Nude4=";
+    sha256 = "sha256-mqltc+/RmQO8awP+J7p9fCVhNsEYA3SgxeV5Gkr1srg=";
   };
 
   patches = [
@@ -58,8 +58,9 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "Infrastructure for building mobile telephony (GSM/UMTS) applications";
-    homepage = "https://01.org/ofono";
-    license = licenses.gpl2;
+    homepage = "https://git.kernel.org/pub/scm/network/ofono/ofono.git";
+    changelog = "https://git.kernel.org/pub/scm/network/ofono/ofono.git/plain/ChangeLog?h=${version}";
+    license = licenses.gpl2Only;
     maintainers = with maintainers; [ jtojnar ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/networking/openapi-generator-cli/default.nix b/pkgs/tools/networking/openapi-generator-cli/default.nix
index e3491460e0a..1ff0299a6bf 100644
--- a/pkgs/tools/networking/openapi-generator-cli/default.nix
+++ b/pkgs/tools/networking/openapi-generator-cli/default.nix
@@ -1,7 +1,7 @@
 { callPackage, lib, stdenv, fetchurl, jre, makeWrapper }:
 
 let this = stdenv.mkDerivation rec {
-  version = "5.2.1";
+  version = "5.4.0";
   pname = "openapi-generator-cli";
 
   jarfilename = "${pname}-${version}.jar";
@@ -12,7 +12,7 @@ let this = stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/org/openapitools/${pname}/${version}/${jarfilename}";
-    sha256 = "sha256-stRtSZCvPUQuTiKOHmJ7k8o3Gtly9Up+gicrDOeWjIs=";
+    sha256 = "sha256-8+0xIxDjkDJLM7ov//KQzoEpNSB6FJPsXAmNCkQb5Rw=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/networking/openfortivpn/default.nix b/pkgs/tools/networking/openfortivpn/default.nix
index 30495b91846..15711e8d43b 100644
--- a/pkgs/tools/networking/openfortivpn/default.nix
+++ b/pkgs/tools/networking/openfortivpn/default.nix
@@ -1,11 +1,11 @@
 { stdenv, lib, fetchFromGitHub, autoreconfHook, pkg-config
-, openssl, ppp
-, systemd ? null }:
+, openssl
+, ppp
+, systemd
+, withSystemd ? stdenv.isLinux
+, withPpp ? stdenv.isLinux
+}:
 
-let
-  withSystemd = stdenv.isLinux && !(systemd == null);
-
-in
 stdenv.mkDerivation rec {
   pname = "openfortivpn";
   version = "1.17.1";
@@ -26,15 +26,16 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook pkg-config ];
 
   buildInputs = [
-    openssl ppp
+    openssl
   ]
-  ++ lib.optional withSystemd systemd;
+  ++ lib.optional withSystemd systemd
+  ++ lib.optional withPpp ppp;
 
   configureFlags = [
     "--sysconfdir=/etc"
-    "--with-pppd=${ppp}/bin/pppd"
   ]
-  ++ lib.optional withSystemd "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system";
+  ++ lib.optional withSystemd "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+  ++ lib.optional withPpp "--with-pppd=${ppp}/bin/pppd";
 
   enableParallelBuilding = true;
 
diff --git a/pkgs/tools/networking/opensnitch/daemon.nix b/pkgs/tools/networking/opensnitch/daemon.nix
index 27d3a6ce518..e636950cd98 100644
--- a/pkgs/tools/networking/opensnitch/daemon.nix
+++ b/pkgs/tools/networking/opensnitch/daemon.nix
@@ -10,17 +10,18 @@
 , coreutils
 , iptables
 , makeWrapper
+, protoc-gen-go-grpc
 }:
 
 buildGoModule rec {
   pname = "opensnitch";
-  version = "1.4.3";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "opensnitch";
     rev = "v${version}";
-    sha256 = "1c2v2x8hfqk524sa42vry74lda4lg6ii40ljk2qx9j2f69446sva";
+    sha256 = "sha256-vtD82v0VlaJtCICXduD3IxJ0xjlBuzGKLWLoCiwPX2I=";
   };
 
   patches = [
@@ -31,17 +32,15 @@ buildGoModule rec {
       url = "https://github.com/evilsocket/opensnitch/commit/8a3f63f36aa92658217bbbf46d39e6d20b2c0791.patch";
       sha256 = "sha256-WkwjKTQZppR0nqvRO4xiQoKZ307NvuUwoRx+boIpuTg=";
     })
-    # Upstream has inconsistent vendoring
-    ./go-mod.patch
   ];
 
   modRoot = "daemon";
 
   buildInputs = [ libnetfilter_queue libnfnetlink ];
 
-  nativeBuildInputs = [ pkg-config protobuf go-protobuf makeWrapper ];
+  nativeBuildInputs = [ pkg-config protobuf go-protobuf makeWrapper protoc-gen-go-grpc ];
 
-  vendorSha256 = "sha256-sTfRfsvyiFk1bcga009W6jD6RllrySRAU6B/8mF6+ow=";
+  vendorSha256 = "sha256-81BKMLuEXA/NeIjO7icBm48ROq6KxAxHtvP0nV5yM5A=";
 
   preBuild = ''
     make -C ../proto ../daemon/ui/protocol/ui.pb.go
diff --git a/pkgs/tools/networking/opensnitch/go-mod.patch b/pkgs/tools/networking/opensnitch/go-mod.patch
deleted file mode 100644
index 290e92ca755..00000000000
--- a/pkgs/tools/networking/opensnitch/go-mod.patch
+++ /dev/null
@@ -1,24 +0,0 @@
-diff --git a/daemon/go.mod b/daemon/go.mod
-index ec21c04..a859bfb 100644
---- a/daemon/go.mod
-+++ b/daemon/go.mod
-@@ -5,17 +5,12 @@ go 1.14
- require (
- 	github.com/evilsocket/ftrace v1.2.0
- 	github.com/fsnotify/fsnotify v1.4.7
--	github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b // indirect
--	github.com/golang/protobuf v1.5.0
- 	github.com/google/gopacket v1.1.14
- 	github.com/google/nftables v0.0.0-20210514154851-a285acebcad3
- 	github.com/iovisor/gobpf v0.2.0
- 	github.com/vishvananda/netlink v1.1.0
--	github.com/vishvananda/netns v0.0.0-20191106174202-0a2b9b5464df // indirect
--	golang.org/x/net v0.0.0-20190311183353-d8887717615a
--	golang.org/x/sync v0.0.0-20200625203802-6e8e738ad208 // indirect
--	golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444 // indirect
--	golang.org/x/text v0.3.0 // indirect
-+	golang.org/x/net v0.0.0-20191028085509-fe3aa8a45271
-+	golang.org/x/sys v0.0.0-20191029155521-f43be2a4598c
- 	google.golang.org/grpc v1.27.0
- 	google.golang.org/protobuf v1.26.0
- )
diff --git a/pkgs/tools/networking/opensnitch/ui.nix b/pkgs/tools/networking/opensnitch/ui.nix
index d211a10d2c5..79a8af4ee0f 100644
--- a/pkgs/tools/networking/opensnitch/ui.nix
+++ b/pkgs/tools/networking/opensnitch/ui.nix
@@ -6,13 +6,13 @@
 
 python3Packages.buildPythonApplication rec {
   pname = "opensnitch-ui";
-  version = "1.4.3";
+  version = "1.5.0";
 
   src = fetchFromGitHub {
     owner = "evilsocket";
     repo = "opensnitch";
     rev = "v${version}";
-    sha256 = "sha256-amtDSDJOyNSxmJICEqN5lKhGyfF5C6I0EWViB1EXW7A=";
+    sha256 = "sha256-vtD82v0VlaJtCICXduD3IxJ0xjlBuzGKLWLoCiwPX2I=";
   };
 
   nativeBuildInputs = [
@@ -26,6 +26,8 @@ python3Packages.buildPythonApplication rec {
     unidecode
     unicode-slugify
     pyinotify
+    notify2
+    pyasn
   ];
 
   preBuild = ''
@@ -48,6 +50,9 @@ python3Packages.buildPythonApplication rec {
   dontWrapQtApps = true;
   makeWrapperArgs = [ "\${qtWrapperArgs[@]}" ];
 
+  # All tests are sandbox-incompatible and disabled for now
+  doCheck = false;
+
   meta = with lib; {
     description = "An application firewall";
     homepage = "https://github.com/evilsocket/opensnitch/wiki";
diff --git a/pkgs/tools/networking/openssh/common.nix b/pkgs/tools/networking/openssh/common.nix
index 229edd37eee..bd127b9092c 100644
--- a/pkgs/tools/networking/openssh/common.nix
+++ b/pkgs/tools/networking/openssh/common.nix
@@ -63,22 +63,6 @@ stdenv.mkDerivation rec {
     # Setting LD causes `configure' and `make' to disagree about which linker
     # to use: `configure' wants `gcc', but `make' wants `ld'.
     unset LD
-  ''
-  # Upstream build system does not support static build, so we fall back
-  # on fragile patching of configure script.
-  #
-  # libedit is found by pkg-config, but without --static flag, required
-  # to get also transitive dependencies for static linkage, hence sed
-  # expression.
-  #
-  # Kerberos can be found either by krb5-config or by fall-back shell
-  # code in openssh's configure.ac. Neither of them support static
-  # build, but patching code for krb5-config is simpler, so to get it
-  # into PATH, libkrb5.dev is added into buildInputs.
-  + optionalString stdenv.hostPlatform.isStatic ''
-    sed -i "s,PKGCONFIG --libs,PKGCONFIG --libs --static,g" configure
-    sed -i 's#KRB5CONF --libs`#KRB5CONF --libs` -lkrb5support -lkeyutils#g' configure
-    sed -i 's#KRB5CONF --libs gssapi`#KRB5CONF --libs gssapi` -lkrb5support -lkeyutils#g' configure
   '';
 
   # I set --disable-strip because later we strip anyway. And it fails to strip
@@ -98,6 +82,8 @@ stdenv.mkDerivation rec {
     ++ optional (!linkOpenssl) "--without-openssl"
     ++ extraConfigureFlags;
 
+  ${if stdenv.hostPlatform.isStatic then "NIX_LDFLAGS" else null}= [ "-laudit" ] ++ lib.optionals withKerberos [ "-lkeyutils" ];
+
   buildFlags = [ "SSH_KEYSIGN=ssh-keysign" ];
 
   enableParallelBuilding = true;
@@ -107,7 +93,7 @@ stdenv.mkDerivation rec {
   doCheck = true;
   enableParallelChecking = false;
   checkInputs = optional (!stdenv.isDarwin) hostname;
-  preCheck = ''
+  preCheck = lib.optionalString (stdenv.hostPlatform == stdenv.buildPlatform) ''
     # construct a dummy HOME
     export HOME=$(realpath ../dummy-home)
     mkdir -p ~/.ssh
diff --git a/pkgs/tools/networking/p2p/amule/default.nix b/pkgs/tools/networking/p2p/amule/default.nix
index c2e5f456824..fc389f2c4dc 100644
--- a/pkgs/tools/networking/p2p/amule/default.nix
+++ b/pkgs/tools/networking/p2p/amule/default.nix
@@ -20,8 +20,13 @@
 , libX11
 }:
 
+# daemon and client are not build monolithic
+assert monolithic || (!monolithic && (enableDaemon || client));
+
 stdenv.mkDerivation rec {
-  pname = "amule";
+  pname = "amule"
+    + lib.optionalString enableDaemon "-daemon"
+    + lib.optionalString client "-gui";
   version = "2.3.3";
 
   src = fetchFromGitHub {
@@ -34,9 +39,14 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ cmake gettext makeWrapper pkg-config ];
 
   buildInputs = [
-    zlib wxGTK30-gtk3 perl cryptopp.dev libupnp boost
+    zlib
+    wxGTK30-gtk3
+    perl
+    cryptopp.dev
+    libupnp
+    boost
   ] ++ lib.optional httpServer libpng
-    ++ lib.optional client libX11;
+  ++ lib.optional client libX11;
 
   cmakeFlags = [
     "-DBUILD_MONOLITHIC=${if monolithic then "ON" else "OFF"}"
diff --git a/pkgs/tools/networking/persepolis/default.nix b/pkgs/tools/networking/persepolis/default.nix
index 5e4f0542d36..f8e5e33eb46 100644
--- a/pkgs/tools/networking/persepolis/default.nix
+++ b/pkgs/tools/networking/persepolis/default.nix
@@ -65,6 +65,6 @@ buildPythonApplication rec {
     description = "Persepolis Download Manager is a GUI for aria2";
     homepage = "https://persepolisdm.github.io/";
     license = licenses.gpl3;
-    maintainers = [ maintainers.linarcx ];
+    maintainers = [ ];
   };
 }
diff --git a/pkgs/tools/networking/proxify/default.nix b/pkgs/tools/networking/proxify/default.nix
index 36db5037a44..dabe0b40d25 100644
--- a/pkgs/tools/networking/proxify/default.nix
+++ b/pkgs/tools/networking/proxify/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "proxify";
-  version = "0.0.5";
+  version = "0.0.6";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "proxify";
     rev = "v${version}";
-    sha256 = "sha256-jITmLJHKTIXnQRUTLaXQPv57gJSbD+6AfJNl36AemR0=";
+    sha256 = "sha256-g6HYwcQ4zAPLdu2o7oS1uWyFMp5FpGuJVXPtfAqYHJc=";
   };
 
-  vendorSha256 = "sha256-Yf1edWWHao2A+iY/5N14mvtvLP+IJDZEEB0Voj47sCs=";
+  vendorSha256 = "sha256-JJhxVfvcqOW6zvg+m8lIcrRgxIStFKXMuWo1BMmIv+o=";
 
   meta = with lib; {
     description = "Proxy tool for HTTP/HTTPS traffic capture";
diff --git a/pkgs/tools/networking/reaver-wps/default.nix b/pkgs/tools/networking/reaver-wps/default.nix
index ec226f50668..37215c37b93 100644
--- a/pkgs/tools/networking/reaver-wps/default.nix
+++ b/pkgs/tools/networking/reaver-wps/default.nix
@@ -29,6 +29,10 @@ stdenv.mkDerivation rec {
     wrapProgram $out/bin/wash   --run "[ -s ${confdir}/reaver/reaver.db ] || install -D $out/etc/reaver.db ${confdir}/reaver/reaver.db"
   '';
 
+  enableParallelBuilding = true;
+
+  patches = [ ./parallel-build.patch ];
+
   meta = with lib; {
     description = "Brute force attack against Wifi Protected Setup";
     homepage = "https://code.google.com/archive/p/reaver-wps/";
diff --git a/pkgs/tools/networking/reaver-wps/parallel-build.patch b/pkgs/tools/networking/reaver-wps/parallel-build.patch
new file mode 100644
index 00000000000..086298a49d8
--- /dev/null
+++ b/pkgs/tools/networking/reaver-wps/parallel-build.patch
@@ -0,0 +1,11 @@
+--- src/Makefile.in	2012-01-18 10:02:40.000000000 +0100
++++ src/Makefile.in	2022-01-27 19:29:19.324662149 +0100
+@@ -63,7 +63,7 @@
+ 80211.o: globule.o sql.o builder.o crc.o
+ 	$(CC) $(CFLAGS) $(INC) 80211.c -c
+ 
+-iface.o: globule.o
++iface.o: globule.o libiw
+ 	$(CC) $(CFLAGS) iface.c -c
+ 
+ sigalrm.o: globule.o
diff --git a/pkgs/tools/networking/shadowsocks-rust/default.nix b/pkgs/tools/networking/shadowsocks-rust/default.nix
index c917b6d27d1..e30319d1482 100644
--- a/pkgs/tools/networking/shadowsocks-rust/default.nix
+++ b/pkgs/tools/networking/shadowsocks-rust/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "shadowsocks-rust";
-  version = "1.13.0";
+  version = "1.13.3";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shadowsocks";
     repo = pname;
-    sha256 = "sha256-owEUj79IcZAxK0JLoyQI/DDCaaNSYHyD695Xk7hvJxE=";
+    sha256 = "sha256-h0sSNN+039zstxmGWCnbn31xBzZaQhLSnxlyeoNRaGM=";
   };
 
-  cargoSha256 = "sha256-Akxe8w+w3JSO6yeCW/C/+/Wjl7Jl0GXYucjLis27V9Q=";
+  cargoSha256 = "sha256-vT+bx616aZ4VtAOh3p7U9hWgFskxskR5+M7CrSqoa9Y=";
 
   RUSTC_BOOTSTRAP = 1;
 
diff --git a/pkgs/tools/networking/sish/default.nix b/pkgs/tools/networking/sish/default.nix
index 45d1479e86f..41eaf4a5f55 100644
--- a/pkgs/tools/networking/sish/default.nix
+++ b/pkgs/tools/networking/sish/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "sish";
-  version = "1.1.7";
+  version = "2.1.0";
 
   src = fetchFromGitHub {
     owner = "antoniomika";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-v/7DhakTVlcbnhujZOoVx5mpeyMwVI4CfYV12QqR7I4=";
+    sha256 = "sha256-0rUQRul6es+m8JFGXChrygwU5fBi6RiYhoD1dQHpG3s=";
   };
 
-  vendorSha256 = "sha256-eMqHPxewQ9mvBpcBb+13HmaLDabCGt6C+qfbgaW8/YE=";
+  vendorSha256 = "sha256-GoiwpYELleD5tltQgRPGQU725h/uHe8tXqH4tIY//uE=";
 
   meta = with lib; {
     description = "HTTP(S)/WS(S)/TCP Tunnels to localhost";
diff --git a/pkgs/tools/networking/sockperf/default.nix b/pkgs/tools/networking/sockperf/default.nix
index d58bcb2f3ca..598fb482c38 100644
--- a/pkgs/tools/networking/sockperf/default.nix
+++ b/pkgs/tools/networking/sockperf/default.nix
@@ -25,7 +25,7 @@ stdenv.mkDerivation rec {
     description = "Network Benchmarking Utility";
     homepage = "https://github.com/Mellanox/sockperf";
     license = licenses.bsd3;
-    maintainers = with maintainers; [ angustrau ];
+    maintainers = with maintainers; [ emilytrau ];
     platforms = platforms.all;
   };
 }
diff --git a/pkgs/tools/networking/swagger-codegen3/default.nix b/pkgs/tools/networking/swagger-codegen3/default.nix
index 19768cdc1ae..9aedd77aff7 100644
--- a/pkgs/tools/networking/swagger-codegen3/default.nix
+++ b/pkgs/tools/networking/swagger-codegen3/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, fetchurl, jre, makeWrapper }:
 
 stdenv.mkDerivation rec {
-  version = "3.0.32";
+  version = "3.0.33";
   pname = "swagger-codegen";
 
   jarfilename = "${pname}-cli-${version}.jar";
@@ -12,7 +12,7 @@ stdenv.mkDerivation rec {
 
   src = fetchurl {
     url = "mirror://maven/io/swagger/codegen/v3/${pname}-cli/${version}/${jarfilename}";
-    sha256 = "sha256-FPSBnM2MLmYVb0A27UhDp5D3oWJlrjZlMYDEr3qwmDY=";
+    sha256 = "sha256-1oGir5F3wgwRQxz3eXI58wMIKYwvtHrRW4VJh0hIVyE=";
   };
 
   dontUnpack = true;
diff --git a/pkgs/tools/networking/tcpreplay/default.nix b/pkgs/tools/networking/tcpreplay/default.nix
index f2bb5231876..45bc3a03394 100644
--- a/pkgs/tools/networking/tcpreplay/default.nix
+++ b/pkgs/tools/networking/tcpreplay/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "tcpreplay";
-  version = "4.4.0";
+  version = "4.4.1";
 
   src = fetchurl {
     url = "https://github.com/appneta/tcpreplay/releases/download/v${version}/tcpreplay-${version}.tar.gz";
-    sha256 = "sha256-o7ElwDGb0JbWj4IcSggFGy09kni6xv4Yz+PJIBcDpWc=";
+    sha256 = "sha256-y2e2SRphiGf8T5hI9YYBnxuy69FJ85OvrFVE7lXkVE8=";
   };
 
   buildInputs = [ libpcap ]
diff --git a/pkgs/tools/networking/tinyfecvpn/default.nix b/pkgs/tools/networking/tinyfecvpn/default.nix
index 190950e37ec..4587d40a519 100644
--- a/pkgs/tools/networking/tinyfecvpn/default.nix
+++ b/pkgs/tools/networking/tinyfecvpn/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tinyfecvpn";
-  version = "20180820.0";
+  version = "20210116.0";
 
   src = fetchFromGitHub {
     owner = "wangyu-";
     repo = pname;
     rev = version;
-    sha256 = "1mbb9kzvy24na375dz0rlf5k93gan1vahamc9wzkn34mcx8i97cs";
+    sha256 = "sha256-Ng5AZJfrnNXSSbhJKBc+giNp2yOWta0EozWHB7lFUmw=";
     fetchSubmodules = true;
   };
 
diff --git a/pkgs/tools/networking/tinyssh/default.nix b/pkgs/tools/networking/tinyssh/default.nix
index e09a181d007..bc0c19f331d 100644
--- a/pkgs/tools/networking/tinyssh/default.nix
+++ b/pkgs/tools/networking/tinyssh/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "tinyssh";
-  version = "20220101";
+  version = "20220222";
 
   src = fetchFromGitHub {
     owner = "janmojzis";
     repo = "tinyssh";
     rev = version;
-    sha256 = "sha256-3GW7WNUy7539dN2ckd/0PejzsiaCXcOIMR5FlZKBkMo=";
+    sha256 = "sha256-wSi8D82TOXZdUcfrvZJNd6oePvKWQepRW1r7A2fWApA=";
   };
 
   preConfigure = ''
diff --git a/pkgs/tools/networking/tuntox/default.nix b/pkgs/tools/networking/tuntox/default.nix
new file mode 100644
index 00000000000..8870f0e32ce
--- /dev/null
+++ b/pkgs/tools/networking/tuntox/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, stdenv
+, cscope
+, fetchFromGitHub
+, fetchpatch
+, git
+, libevent
+, libopus
+, libsodium
+, libtoxcore
+, libvpx
+, pkg-config
+, python3
+, python3Packages
+}:
+
+stdenv.mkDerivation rec {
+  pname = "tuntox";
+  version = "0.0.10";
+
+  src = fetchFromGitHub {
+    owner = "gjedeer";
+    repo = pname;
+    rev = "${version}";
+    sha256 = "sha256-c/0OxUH8iw8nRuVg4Fszf6Z/JiEV+m0B2ofzy81uFu8=";
+  };
+
+  nativeBuildInputs = [ cscope git pkg-config ];
+
+  buildInputs = [ libopus libtoxcore libsodium libevent libvpx python3 ];
+
+  pythonBuildInputs = with python3Packages; [
+    jinja2
+    requests
+  ];
+
+  patches = [
+    # https://github.com/gjedeer/tuntox/pull/67
+    (fetchpatch {
+      url = "https://github.com/gjedeer/tuntox/compare/a646402f42e120c7148d4de29dbdf5b09027a80a..365d2e5cbc0e3655fb64c204db0515f5f4cdf5a4.patch";
+      sha256 = "sha256-P3uIRnV+pBi3s3agGYUMt2PZU4CRxx/DUR8QPVQ+UN8=";
+    })
+  ];
+
+  postPatch = ''
+      substituteInPlace gitversion.h --replace '7d45afdf7d00a95a8c3687175e2b1669fa1f7745' '365d2e5cbc0e3655fb64c204db0515f5f4cdf5a4'
+    '' + lib.optionalString stdenv.isLinux ''
+      substituteInPlace Makefile --replace ' -static ' ' '
+      substituteInPlace Makefile --replace 'CC=gcc' ' '
+    '' + lib.optionalString stdenv.isDarwin ''
+      substituteInPlace Makefile.mac --replace '.git/HEAD .git/index' ' '
+      substituteInPlace Makefile.mac --replace '/usr/local/lib/libtoxcore.a' '${libtoxcore}/lib/libtoxcore.a'
+      substituteInPlace Makefile.mac --replace '/usr/local/lib/libsodium.a' '${libsodium}/lib/libsodium.dylib'
+      substituteInPlace Makefile.mac --replace 'CC=gcc' ' '
+    '';
+
+  buildPhase = ''
+    '' + lib.optionalString stdenv.isLinux ''
+      make
+    '' + lib.optionalString stdenv.isDarwin ''
+      make -f Makefile.mac tuntox
+    '';
+
+  installPhase = ''
+    mkdir -p $out/bin
+    mv tuntox $out/bin/
+  '';
+
+  doCheck = false;
+
+  meta = with lib; {
+    description = "Tunnel TCP connections over the Tox protocol";
+    homepage = "https://github.com/gjedeer/tuntox";
+    license = licenses.gpl3;
+    maintainers = with maintainers; [
+      willcohen
+    ];
+    platforms = platforms.unix;
+  };
+}
diff --git a/pkgs/tools/networking/unbound/default.nix b/pkgs/tools/networking/unbound/default.nix
index 1d3f6b3b9f6..416d8863cb4 100644
--- a/pkgs/tools/networking/unbound/default.nix
+++ b/pkgs/tools/networking/unbound/default.nix
@@ -132,7 +132,7 @@ stdenv.mkDerivation rec {
     description = "Validating, recursive, and caching DNS resolver";
     license = licenses.bsd3;
     homepage = "https://www.unbound.net";
-    maintainers = with maintainers; [ ehmry fpletz globin ];
+    maintainers = with maintainers; [ fpletz globin ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/networking/vpnc/default.nix b/pkgs/tools/networking/vpnc/default.nix
index f67d29f09d4..31a4262d8a6 100644
--- a/pkgs/tools/networking/vpnc/default.nix
+++ b/pkgs/tools/networking/vpnc/default.nix
@@ -1,4 +1,8 @@
-{ lib, stdenv, fetchsvn, nettools, libgcrypt, openssl, openresolv, perl, gawk, makeWrapper }:
+{ lib, stdenv, fetchsvn
+, makeWrapper, pkg-config
+, gawk, gnutls, libgcrypt, nettools, openresolv, perl
+, opensslSupport ? false, openssl # Distributing this is a GPL violation.
+}:
 
 stdenv.mkDerivation {
   pname = "vpnc";
@@ -20,22 +24,22 @@ stdenv.mkDerivation {
   # `ifconfig' as found in net-tools (not GNU Inetutils).
   propagatedBuildInputs = [ nettools ];
 
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [libgcrypt perl openssl ];
+  nativeBuildInputs = [ makeWrapper ]
+    ++ lib.optional (!opensslSupport) pkg-config;
+  buildInputs = [ libgcrypt perl ]
+    ++ (if opensslSupport then [ openssl ] else [ gnutls ]);
 
   makeFlags = [
     "PREFIX=$(out)"
     "ETCDIR=$(out)/etc/vpnc"
     "SCRIPT_PATH=$(out)/etc/vpnc/vpnc-script"
-  ];
+  ] ++ lib.optional opensslSupport "OPENSSL_GPL_VIOLATION=yes";
 
   postPatch = ''
     patchShebangs makeman.pl
   '';
 
   preConfigure = ''
-    sed -i 's|^#OPENSSL|OPENSSL|g' Makefile
-
     substituteInPlace "vpnc-script" \
       --replace "which" "type -P" \
       --replace "awk" "${gawk}/bin/awk" \
@@ -56,11 +60,10 @@ stdenv.mkDerivation {
     cp README nortel.txt ChangeLog $out/share/doc/vpnc/
   '';
 
-  meta = {
+  meta = with lib; {
     homepage = "https://www.unix-ag.uni-kl.de/~massar/vpnc/";
     description = "Virtual private network (VPN) client for Cisco's VPN concentrators";
-    license = lib.licenses.gpl2Plus;
-
-    platforms = lib.platforms.linux;
+    license = if opensslSupport then licenses.unfree else licenses.gpl2Plus;
+    platforms = platforms.linux;
   };
 }
diff --git a/pkgs/tools/networking/wg-netmanager/default.nix b/pkgs/tools/networking/wg-netmanager/default.nix
new file mode 100644
index 00000000000..0c74fe4ad04
--- /dev/null
+++ b/pkgs/tools/networking/wg-netmanager/default.nix
@@ -0,0 +1,35 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, darwin, wireguard-go, Security }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "wg-netmanager";
+  version = "0.5.1";
+
+  src = fetchFromGitHub {
+    owner = "gin66";
+    repo = "wg_netmanager";
+    rev = "wg_netmanager-v${version}";
+    sha256 = "sha256-Mr4+TW1yOePEHa7puz6mTRJ514LGQeiEwPW3NKupV/M=";
+  };
+
+  cargoSha256 = "sha256-cOxkWMFPVmi+/BQWIvExzX5LDyC7C8kaTf5dGwfXj+s=";
+
+  buildInputs = lib.optional stdenv.isDarwin Security;
+
+  # Test 01 tries to create a wireguard interface, which requires sudo.
+  doCheck = true;
+  checkFlags = "--skip device";
+
+  meta = with lib; {
+    description = "Wireguard network manager";
+    longDescription = ''
+      Wireguard network manager, written in rust, simplifies the setup of wireguard nodes,
+      identifies short connections between nodes residing in the same subnet,
+      identifies unreachable aka dead nodes and maintains the routes between all nodes automatically.
+      To achieve this, wireguard network manager needs to be running on each node.
+    '';
+    homepage = "https://github.com/gin66/wg_netmanager";
+    license = with licenses; [ mit asl20 bsd3 mpl20 ];
+    maintainers = with maintainers; [ gin66 ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/networking/wifite2/default.nix b/pkgs/tools/networking/wifite2/default.nix
index 4069e378a29..98ca976fd3e 100644
--- a/pkgs/tools/networking/wifite2/default.nix
+++ b/pkgs/tools/networking/wifite2/default.nix
@@ -3,29 +3,24 @@
 , hcxdumptool, which, bully, pixiewps }:
 
 python3.pkgs.buildPythonApplication rec {
-  version = "2.5.7";
+  version = "2.6.0";
   pname = "wifite2";
 
   src = fetchFromGitHub {
     owner = "kimocoder";
     repo = "wifite2";
     rev = version;
-    sha256 = "sha256-dJ+UOSIR48m8nGoci/6iblLsX296ZGL1hZ74RUsa9lw=";
+    sha256 = "sha256-q8aECegyIoAtYFsm8QEr8OnX+GTqjEeWfYQyESk27SA=";
   };
 
   patches = [
-    # Fix issue when missing optional pyrit dependency: https://github.com/kimocoder/wifite2/pull/76
     (fetchpatch {
-      url = "https://github.com/kimocoder/wifite2/commit/2e5d76c794f2e5493cf5048384d6564727ae2c19.patch";
-      sha256 = "0lawk8s1md98g061xg6ma37wqyqc4j2ag0gmf7insf4kvlgg3l9z";
+      url = "https://salsa.debian.org/pkg-security-team/wifite/raw/debian/2.5.8-2/debian/patches/Disable-aircrack-failing-test.patch";
+      sha256 = "1kj2m973l067fdg9dj61vbjf4ym9x1m9kn0q8ci9r6bb30yg6sv2";
     })
     (fetchpatch {
-      url = "https://salsa.debian.org/pkg-security-team/wifite/raw/debian/${version}-1/debian/patches/Disable-aircrack-failing-test.patch";
-      sha256 = "04qql8w27c1lqk59ghkr1n6r08jwdrb1dcam5k88szkk2bxv8yx1";
-    })
-    (fetchpatch {
-      url = "https://salsa.debian.org/pkg-security-team/wifite/raw/debian/${version}-1/debian/patches/Disable-two-failing-tests.patch";
-      sha256 = "1sixcqz1kbkhxf38yq55pwycm54adjx22bq46dfnl44mg69nx356";
+      url = "https://salsa.debian.org/pkg-security-team/wifite/raw/debian/2.5.8-2/debian/patches/Disable-two-failing-tests.patch";
+      sha256 = "15vas7zvpdk2lr1pzv8hli6jhdib0dibp7cmikiai53idjxay56z";
     })
     (fetchpatch {
       url = "https://salsa.debian.org/pkg-security-team/wifite/raw/debian/2.5.8-2/debian/patches/fix-for-new-which.patch";
@@ -47,17 +42,11 @@ python3.pkgs.buildPythonApplication rec {
     pixiewps
   ];
 
-  postFixup = let
-    sitePackagesDir = "$out/lib/python3.${lib.versions.minor python3.version}/site-packages";
-  in ''
-    mv ${sitePackagesDir}/wifite/__main__.py ${sitePackagesDir}/wifite/wifite.py
-  '';
-
   checkInputs = propagatedBuildInputs;
   checkPhase = "python -m unittest discover tests -v";
 
   meta = with lib; {
-    homepage = "https://github.com/derv82/wifite2";
+    homepage = "https://github.com/kimocoder/wifite2";
     description = "Rewrite of the popular wireless network auditor, wifite";
     license = licenses.gpl2;
     platforms = platforms.linux;
diff --git a/pkgs/tools/networking/wuzz/default.nix b/pkgs/tools/networking/wuzz/default.nix
index 156841be334..7e86b4438a1 100644
--- a/pkgs/tools/networking/wuzz/default.nix
+++ b/pkgs/tools/networking/wuzz/default.nix
@@ -1,20 +1,17 @@
-{ lib, buildGoPackage, fetchFromGitHub }:
+{ lib, buildGoModule, fetchFromGitHub }:
 
-buildGoPackage rec {
+buildGoModule rec {
   pname = "wuzz";
-  version = "0.2.0";
-  rev = "v${version}";
-
-  goPackagePath = "https://github.com/asciimoo/wuzz";
+  version = "0.5.0";
 
   src = fetchFromGitHub {
     owner = "asciimoo";
-    repo = "wuzz";
-    inherit rev;
-    sha256 = "1fcr5jr0vn5w60bn08lkh2mi0hdarwp361h94in03139j7hhqrfs";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-H0soiKOytchfcFx17az0pGoFbA+hhXLxGJVdaARvnDc=";
   };
 
-  goDeps = ./deps.nix;
+  vendorSha256 = "sha256-omeAIq8KBYXRnldiGKDF1g+aOKYc+B4grusmfg5wOuA=";
 
   meta = with lib; {
     homepage = "https://github.com/asciimoo/wuzz";
diff --git a/pkgs/tools/networking/wuzz/deps.nix b/pkgs/tools/networking/wuzz/deps.nix
deleted file mode 100644
index 8904596a712..00000000000
--- a/pkgs/tools/networking/wuzz/deps.nix
+++ /dev/null
@@ -1,92 +0,0 @@
-[
-  {
-    goPackagePath = "github.com/jroimartin/gocui";
-    fetch = {
-      type = "git";
-      url = "https://github.com/jroimartin/gocui";
-      rev = "ed41d1bd2c217d4d1e312c2ee5d2f0c7793a99cc";
-      sha256 = "1h4jxhvkf43jsbn85w45fq2xsmcg08mc9g7pkxf880g6sqznrmcz";
-    };
-  }
-  {
-    goPackagePath = "github.com/nsf/termbox-go";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nsf/termbox-go";
-      rev = "abe82ce5fb7a42fbd6784a5ceb71aff977e09ed8";
-      sha256 = "156i8apkga8b3272kjhapyqwspgcfkrr9kpqwc5lii43k4swghpv";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-runewidth";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-runewidth";
-      rev = "14207d285c6c197daabb5c9793d63e7af9ab2d50";
-      sha256 = "0y6yq9zd4kh7fimnc00r3h9pr2pwa5j85b3jcn5dyfamsnm2xdsv";
-    };
-  }
-  {
-    goPackagePath = "github.com/mitchellh/go-homedir";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mitchellh/go-homedir";
-      rev = "b8bc1bf767474819792c23f32d8286a45736f1c6";
-      sha256 = "13ry4lylalkh4g2vny9cxwvryslzyzwp9r92z0b10idhdq3wad1q";
-    };
-  }
-  {
-    goPackagePath = "github.com/BurntSushi/toml";
-    fetch = {
-      type = "git";
-      url = "https://github.com/BurntSushi/toml";
-      rev = "056c9bc7be7190eaa7715723883caffa5f8fa3e4";
-      sha256 = "0gkgkw04ndr5y7hrdy0r4v2drs5srwfcw2bs1gyas066hwl84xyw";
-    };
-  }
-  {
-    goPackagePath = "github.com/nwidger/jsoncolor";
-    fetch = {
-      type = "git";
-      url = "https://github.com/nwidger/jsoncolor";
-      rev = "0192e84d44af834c3a90c8a17bf670483b91ad5a";
-      sha256 = "17mndgd1d233c22bd19xv4v2l2i5k8kz7y6n4n54a9i7fi9d10al";
-    };
-  }
-  {
-    goPackagePath = "github.com/fatih/color";
-    fetch = {
-      type = "git";
-      url = "https://github.com/fatih/color";
-      rev = "e8e01ee22a7d4a91b49646e39245fe08e69c7878";
-      sha256 = "1660g29qhshk6zxhpnc0f52m69jdqqdw2ccbkqw9y4kilnripfvl";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-isatty";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-isatty";
-      rev = "30a891c33c7cde7b02a981314b4228ec99380cca";
-      sha256 = "03gsxn89pgkj4jkxm9avnj4f0ckvcskc6fj2lcd98l3akrz50ndg";
-    };
-  }
-  {
-    goPackagePath = "github.com/mattn/go-colorable";
-    fetch = {
-      type = "git";
-      url = "https://github.com/mattn/go-colorable";
-      rev = "d228849504861217f796da67fae4f6e347643f15";
-      sha256 = "0ch5sfcpmqczsh8kjbwpzdw31lacbkfyzvpzh4disnhhydbxjq0d";
-    };
-  }
-  {
-    goPackagePath = "github.com/asciimoo/wuzz";
-    fetch = {
-      type = "git";
-      url = "https://github.com/asciimoo/wuzz";
-      rev = "f34c82a4386951022f8bfc011fe6a7362dd8286c";
-      sha256 = "1fcr5jr0vn5w60bn08lkh2mi0hdarwp361h94in03139j7hhqrfs";
-    };
-  }
-]
diff --git a/pkgs/tools/networking/xrootd/default.nix b/pkgs/tools/networking/xrootd/default.nix
new file mode 100644
index 00000000000..ffc34837098
--- /dev/null
+++ b/pkgs/tools/networking/xrootd/default.nix
@@ -0,0 +1,80 @@
+{ lib
+, stdenv
+, callPackage
+, fetchFromGitHub
+, cmake
+, cppunit
+, curl
+, fuse
+, libkrb5
+, libuuid
+, libxml2
+, openssl
+, pkg-config
+, readline
+, systemd
+, zlib
+, enableTests ? true
+}:
+
+stdenv.mkDerivation rec {
+  pname = "xrootd";
+  version = "5.4.1";
+
+  src = fetchFromGitHub {
+    owner = "xrootd";
+    repo = "xrootd";
+    rev = "v${version}";
+    fetchSubmodules = true;
+    sha256 = "sha256-rr6cZ6tyrpCQyKcPBWwGsRAsLbjTXAoTtxf+u1UmvZo=";
+  };
+
+  outputs = [ "bin" "out" "dev" "man" ];
+
+  passthru.tests = lib.optionalAttrs enableTests {
+    test-runner = callPackage ./test-runner.nix { };
+  };
+
+  nativeBuildInputs = [
+    cmake
+    pkg-config
+  ];
+
+  buildInputs = [
+    curl
+    libkrb5
+    libuuid
+    libxml2
+    openssl
+    readline
+    zlib
+  ]
+  ++ lib.optionals stdenv.isLinux [
+    fuse
+    systemd
+  ]
+  ++ lib.optionals enableTests [
+    cppunit
+  ];
+
+  preConfigure = ''
+    patchShebangs genversion.sh
+
+    # Manually apply part of
+    # https://github.com/xrootd/xrootd/pull/1619
+    # Remove after the above PR is merged.
+    sed -i 's/set\((\s*CMAKE_INSTALL_[A-Z_]\+DIR\s\+"[^"]\+"\s*)\)/define_default\1/g' cmake/XRootDOSDefs.cmake
+  '';
+
+  cmakeFlags = lib.optionals enableTests [
+    "-DENABLE_TESTS=TRUE"
+  ];
+
+  meta = with lib; {
+    description = "High performance, scalable fault tolerant data access";
+    homepage = "https://xrootd.slac.stanford.edu";
+    license = licenses.lgpl3Plus;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ ShamrockLee ];
+  };
+}
diff --git a/pkgs/tools/networking/xrootd/test-runner.nix b/pkgs/tools/networking/xrootd/test-runner.nix
new file mode 100644
index 00000000000..5bcf1ae8675
--- /dev/null
+++ b/pkgs/tools/networking/xrootd/test-runner.nix
@@ -0,0 +1,27 @@
+{ lib
+, runCommand
+, xrootd
+}:
+
+# These tests are specified in the test procedure of the upstream CD:
+# https://github.com/xrootd/xrootd/blob/master/.github/workflows/build.yml#L90-L98
+runCommand "${xrootd.pname}-run-tests-${xrootd.version}" {
+  testRunnerPath = "${xrootd}/bin/test-runner";
+  testLibraries = [ "XrdClTests" ];
+  XrdClTestsSuites = [ "UtilsTest" "SocketTest" "PollerTest" ];
+  pname = "${xrootd.pname}-run-tests";
+  inherit (xrootd) version;
+  meta.mainProgram = "test-runner";
+} ''
+  for testLibrary in $testLibraries; do
+    echo "Testing $testLibrary"
+    testLibraryPath="${xrootd.out}/lib/lib''${testLibrary}.so"
+    testsuiteVarname="''${testLibrary}Suites"
+    for testsuite in ''${!testsuiteVarname}; do
+      echo "Doing test $testsuite"
+      "$testRunnerPath" "$testLibraryPath" "All Tests/$testsuite/"
+    done
+  done
+  mkdir -p "$out/bin"
+  ln -s "$testRunnerPath" "$out/bin/test-runner"
+''
diff --git a/pkgs/tools/networking/xxh/default.nix b/pkgs/tools/networking/xxh/default.nix
index c03708f08a3..386b8cafbd1 100644
--- a/pkgs/tools/networking/xxh/default.nix
+++ b/pkgs/tools/networking/xxh/default.nix
@@ -1,26 +1,41 @@
-{ lib, fetchFromGitHub, buildPythonApplication, pexpect, pyyaml, openssh, nixosTests }:
+{ lib
+, fetchFromGitHub
+, buildPythonApplication
+, pexpect
+, pyyaml
+, openssh
+, nixosTests
+, pythonOlder
+}:
 
 buildPythonApplication rec{
   pname = "xxh";
-  version = "0.8.8";
+  version = "0.8.9";
+  format = "setuptools";
+
+  disabled = pythonOlder "3.6";
 
   src = fetchFromGitHub {
     owner = pname;
     repo = pname;
     rev = version;
-    hash = "sha256-TzC8GTDmnYN56Rp5DyZxh+yGrkgWr6Xt86a/jyB3j5k=";
+    hash = "sha256-Uo7xFwE9e5MFWDlNWq15kg+4xf/hF4WGUNTpTK+rgVg=";
   };
 
-  propagatedBuildInputs = [ pexpect pyyaml openssh ];
+  propagatedBuildInputs = [
+    pexpect
+    pyyaml
+    openssh
+  ];
 
   passthru.tests = {
     inherit (nixosTests) xxh;
   };
 
   meta = with lib; {
-    description = "Bring your favorite shell wherever you go through ssh";
+    description = "Bring your favorite shell wherever you go through SSH";
     homepage = "https://github.com/xxh/xxh";
     license = licenses.bsd2;
-    maintainers = [ maintainers.pasqui23 ];
+    maintainers = with maintainers; [ pasqui23 ];
   };
 }
diff --git a/pkgs/tools/networking/yggdrasil/default.nix b/pkgs/tools/networking/yggdrasil/default.nix
index 0284e5117d3..5f30c4d7f82 100644
--- a/pkgs/tools/networking/yggdrasil/default.nix
+++ b/pkgs/tools/networking/yggdrasil/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "yggdrasil";
-  version = "0.4.2";
+  version = "0.4.3";
 
   src = fetchFromGitHub {
     owner = "yggdrasil-network";
     repo = "yggdrasil-go";
     rev = "v${version}";
-    sha256 = "sha256-5bx9KGZD7m+FX9hWU1pu8uJ2FU+P/TetRS3kJL5jhhI=";
+    sha256 = "sha256-dI+KJblSvsBC3CrUzjaDsIZ6N2QEXRTXRbEXolBK5ko=";
   };
 
-  vendorSha256 = "sha256-QQN8ePOQ7DT9KeuY4ohFuPtocuinh3Y3us6QMnCQ4gc=";
+  vendorSha256 = "sha256-yhPArisADhP5Uop4zZVbqED76uWeBZJlV6IkKbL4EFI=";
 
   # Change the default location of the management socket on Linux
   # systems so that the yggdrasil system service unit does not have to
diff --git a/pkgs/tools/nix/alejandra/default.nix b/pkgs/tools/nix/alejandra/default.nix
index c24de3947f6..c8483927b7f 100644
--- a/pkgs/tools/nix/alejandra/default.nix
+++ b/pkgs/tools/nix/alejandra/default.nix
@@ -1,25 +1,31 @@
 { lib
 , rustPlatform
 , fetchFromGitHub
+, testVersion
+, alejandra
 }:
 
 rustPlatform.buildRustPackage rec {
   pname = "alejandra";
-  version = "unstable-2022-01-30";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "kamadorueda";
     repo = "alejandra";
-    rev = "b72274b052ae06cbe60a97d623829b1458369cc2";
-    sha256 = "sha256-snq9C/a/53VivFcLNvdeKwVmPBXbcVzbbjTB+iULFUc=";
+    rev = version;
+    sha256 = "sha256-WgVEI+io05sUIMxdsYOWOJOVNeTDpDiDeTTbxoDFHZU=";
   };
 
-  cargoSha256 = "sha256-/JzATzRhNexmyjtgjHVkw8LVyr4PdIdPJfUGXz4pZbQ=";
+  cargoSha256 = "sha256-AO/LTW9ogDRPns2uPXOvkXJUfeeI+beT7qUGi8IHiwk=";
+
+  passthru.tests = {
+    version = testVersion { package = alejandra; };
+  };
 
   meta = with lib; {
-    description = "The uncompromising Nix formatter";
+    description = "The Uncompromising Nix Code Formatter";
     homepage = "https://github.com/kamadorueda/alejandra";
     license = licenses.unlicense;
-    maintainers = with maintainers; [ _0x4A6F ];
+    maintainers = with maintainers; [ _0x4A6F kamadorueda ];
   };
 }
diff --git a/pkgs/tools/nix/statix/default.nix b/pkgs/tools/nix/statix/default.nix
index df239beb60b..d25f51ae5aa 100644
--- a/pkgs/tools/nix/statix/default.nix
+++ b/pkgs/tools/nix/statix/default.nix
@@ -2,18 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "statix";
-  # also update version of the vim plugin in pkgs/misc/vim-plugins/overrides.nix
+  # also update version of the vim plugin in
+  # pkgs/applications/editors/vim/plugins/overrides.nix
   # the version can be found in flake.nix of the source code
-  version = "0.5.2";
+  version = "0.5.4";
 
   src = fetchFromGitHub {
     owner = "nerdypepper";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-68ejROWcDqc4SnivFIrbsSZDqCXEo0sXSiwpro7AmgU=";
+    sha256 = "sha256-9208bR3awxXR1MSh9HbsKeen5V4r4hPuJFkK/CMJRfg=";
   };
 
-  cargoSha256 = "sha256-YHA97bnGHYRwSZYZ3ZViUlRQskwLPUC26FBWQyBG5Uc=";
+  cargoSha256 = "sha256-f1/PMbXUiqjFI8Y0mvgEyNqGGYqGq3nV094mg1aZIHM=";
 
   buildFeatures = lib.optional withJson "json";
 
diff --git a/pkgs/tools/package-management/apt/default.nix b/pkgs/tools/package-management/apt/default.nix
index d87eb6f0c53..511643e38af 100644
--- a/pkgs/tools/package-management/apt/default.nix
+++ b/pkgs/tools/package-management/apt/default.nix
@@ -28,11 +28,11 @@
 
 stdenv.mkDerivation rec {
   pname = "apt";
-  version = "2.3.14";
+  version = "2.3.15";
 
   src = fetchurl {
     url = "mirror://debian/pool/main/a/apt/apt_${version}.tar.xz";
-    hash = "sha256-uQo87RUuzTiaVdoRFeBFZb/L9fWKgIzbcfa1LU0vC98=";
+    hash = "sha256-JWIAfREJk91+eobdgeplDmEhAXm1nqxytu3/Y2TAu6Y=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/package-management/cargo-about/default.nix b/pkgs/tools/package-management/cargo-about/default.nix
index 74f59d16a4d..17c9f690d0a 100644
--- a/pkgs/tools/package-management/cargo-about/default.nix
+++ b/pkgs/tools/package-management/cargo-about/default.nix
@@ -2,19 +2,19 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-about";
-  version = "0.4.4";
+  version = "0.4.7";
 
   src = fetchFromGitHub {
     owner = "EmbarkStudios";
     repo = "cargo-about";
     rev = version;
-    sha256 = "sha256-wBBG4fpUy9EKuWFZNzdXn0B01TY3ETAsvBXk2pLaSSo=";
+    sha256 = "sha256-KrUb71/wEQnAD2VVkufw12kXrz35sU5fNciSJsMyGrc=";
   };
 
   # enable pkg-config feature of zstd
   cargoPatches = [ ./zstd-pkg-config.patch ];
 
-  cargoSha256 = "sha256-QlUiBxRB9vKY1RCzeARy2b0Cvsh1uYaKkq5GiB1yEwE=";
+  cargoSha256 = "sha256-JewI+23eNrMHfSUwsA3CaeTvG61/ZOFFLpm7rKZKsoU=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/cargo-release/default.nix b/pkgs/tools/package-management/cargo-release/default.nix
index 92d9532b228..0c791bbf80f 100644
--- a/pkgs/tools/package-management/cargo-release/default.nix
+++ b/pkgs/tools/package-management/cargo-release/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "cargo-release";
-  version = "0.19.3";
+  version = "0.20.2";
 
   src = fetchFromGitHub {
     owner = "crate-ci";
     repo = "cargo-release";
     rev = "v${version}";
-    sha256 = "sha256-/lY6NQN1oYH+gNyYLXVoqHhikJxd1R0KbpZvuSemnwI=";
+    sha256 = "sha256-KWLZdFpRwtdP17x71IU2MGFwd1SNnTRcgTUoW1p5Px4=";
   };
 
-  cargoSha256 = "sha256-iw4RPW4VwfsvDgaxphBIlSPM5IhCyVv07mrCpIPKaPI=";
+  cargoSha256 = "sha256-CTaEWANx3s7YCm8pqGWuvGqR362YtVjmbnc9V3kC8pI=";
 
   nativeBuildInputs = [ pkg-config ];
 
diff --git a/pkgs/tools/package-management/nfpm/default.nix b/pkgs/tools/package-management/nfpm/default.nix
index 8ef9fea016a..459f21756bd 100644
--- a/pkgs/tools/package-management/nfpm/default.nix
+++ b/pkgs/tools/package-management/nfpm/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "nfpm";
-  version = "2.11.3";
+  version = "2.13.0";
 
   src = fetchFromGitHub {
     owner = "goreleaser";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xwziGGdFBmPpLRlBBficioULISt8WjGBocbrQUXa8CY=";
+    sha256 = "sha256-7wEwTw/CMKS9K377oXfGkJoRnAmBLjvZTNZzRMorWEM=";
   };
 
-  vendorSha256 = "sha256-5gH19R+SZpGWXntQ/Te96t1YGIIIQuy2ZRQSiczvM3Y=";
+  vendorSha256 = "sha256-VzkfqIWkcMwQeGzisw7JBQyTNVz+m7wF6N65MtOFyEc=";
 
   doCheck = false;
 
diff --git a/pkgs/tools/package-management/nix/default.nix b/pkgs/tools/package-management/nix/default.nix
index af5f00ef712..e080a57dc65 100644
--- a/pkgs/tools/package-management/nix/default.nix
+++ b/pkgs/tools/package-management/nix/default.nix
@@ -58,8 +58,8 @@ in lib.makeExtensible (self: {
   };
 
   nix_2_6 = common {
-    version = "2.6.0";
-    sha256 = "sha256-xEPeMcNJVOeZtoN+d+aRwolpW8mFSEQx76HTRdlhPhg=";
+    version = "2.6.1";
+    sha256 = "sha256-E9iQ7f+9Z6xFcUvvfksTEfn8LsDfzmwrcRBC//5B3V0=";
   };
 
   stable = self.nix_2_6;
diff --git a/pkgs/tools/package-management/packagekit/default.nix b/pkgs/tools/package-management/packagekit/default.nix
index b62597e7e50..15f94aceaa4 100644
--- a/pkgs/tools/package-management/packagekit/default.nix
+++ b/pkgs/tools/package-management/packagekit/default.nix
@@ -1,59 +1,102 @@
-{ stdenv, fetchFromGitHub, lib
-, intltool, glib, pkg-config, polkit, python3, sqlite
-, gobject-introspection, vala, gtk-doc, autoreconfHook, autoconf-archive
-, nix, enableNixBackend ? false, boost
+{ stdenv
+, fetchFromGitHub
+, lib
+, gettext
+, glib
+, pkg-config
+, polkit
+, python3
+, sqlite
+, gobject-introspection
+, vala
+, gtk-doc
+, nix
+, nlohmann_json ? null
+, boost
+, meson
+, ninja
+, libxslt
+, docbook-xsl-nons
+, docbook_xml_dtd_42
+, libxml2
+, gst_all_1
+, gtk3
 , enableCommandNotFound ? false
-, enableBashCompletion ? false, bash-completion ? null
-, enableSystemd ? stdenv.isLinux, systemd }:
+, enableBashCompletion ? false
+, bash-completion ? null
+, enableSystemd ? stdenv.isLinux
+, systemd
+}:
+let
+  nix_version = lib.removeSuffix nix.VERSION_SUFFIX nix.version;
+  useNlohmann = lib.versionAtLeast "2.7" nix_version;
+in
+
+assert useNlohmann -> nlohmann_json != null;
 
 stdenv.mkDerivation rec {
   pname = "packagekit";
-  version = "1.1.13";
+  version = "1.2.5.1pre";
 
-  outputs = [ "out" "dev" ];
+  outputs = [ "out" "dev" "devdoc" ];
 
   src = fetchFromGitHub {
-    owner = "hughsie";
+    owner = "PackageKit";
     repo = "PackageKit";
-    rev = "PACKAGEKIT_${lib.replaceStrings ["."] ["_"] version}";
-    sha256 = "0xmgac27p5z8wr56yw3cqhywnlvaf8kvyv1g0nzxnq167xj5vxam";
+    rev = "33b847c49b4a42499e3c0f10fef62830c874e086";
+    sha256 = "UDpMswf0EBwcoHTqoWiztXnIAwM69nM+S9MPsR24amw=";
   };
 
-  buildInputs = [ glib polkit python3 gobject-introspection ]
-                  ++ lib.optional enableSystemd systemd
-                  ++ lib.optional enableBashCompletion bash-completion;
-  propagatedBuildInputs =
-    [ sqlite boost ]
-    ++ lib.optional enableNixBackend nix;
-  nativeBuildInputs = [ vala intltool pkg-config autoreconfHook autoconf-archive gtk-doc ];
-
-  preAutoreconf = ''
-    gtkdocize
-    intltoolize
-  '';
+  buildInputs = [
+    glib
+    polkit
+    python3
+    gobject-introspection
+    gst_all_1.gstreamer
+    gst_all_1.gst-plugins-base
+    gtk3
+    sqlite
+    nix
+    boost
+  ] ++ lib.optional enableSystemd systemd
+  ++ lib.optional useNlohmann nlohmann_json
+  ++ lib.optional enableBashCompletion bash-completion;
+  nativeBuildInputs = [
+    vala
+    gettext
+    pkg-config
+    gtk-doc
+    meson
+    libxslt
+    docbook-xsl-nons
+    docbook_xml_dtd_42
+    libxml2
+    ninja
+  ];
 
-  configureFlags = [
-    (if enableSystemd then "--enable-systemd" else "--disable-systemd")
-    "--disable-dummy"
-    "--disable-cron"
-    "--enable-introspection"
-    "--disable-offline-update"
-    "--localstatedir=/var"
+  mesonFlags = [
+    (if enableSystemd then "-Dsystemd=true" else "-Dsystem=false")
+    "-Dpackaging_backend=nix"
+    "-Ddbus_sys=${placeholder "out"}/share/dbus-1/system.d"
+    "-Ddbus_services=${placeholder "out"}/share/dbus-1/system-services"
+    "-Dsystemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
+    "-Dcron=false"
+    "-Dgtk_doc=true"
     "--sysconfdir=/etc"
-    "--with-dbus-sys=${placeholder "out"}/share/dbus-1/system.d"
-    "--with-systemdsystemunitdir=${placeholder "out"}/lib/systemd/system"
-    "--with-systemduserunitdir=${placeholder "out"}/lib/systemd/user"
+    "--localstatedir=/var"
   ]
-  ++ lib.optional enableNixBackend "--enable-nix"
-  ++ lib.optional (!enableBashCompletion) "--disable-bash-completion"
-  ++ lib.optional (!enableCommandNotFound) "--disable-command-not-found";
-
-  enableParallelBuilding = true;
+  ++ lib.optional (!enableBashCompletion) "-Dbash_completion=false"
+  ++ lib.optional (!enableCommandNotFound) "-Dbash_command_not_found=false";
 
-  installFlags = [
-    "sysconfdir=${placeholder "out"}/etc"
-    "localstatedir=\${TMPDIR}"
-  ];
+  postPatch = ''
+    # HACK: we want packagekit to look in /etc for configs but install
+    # those files in $out/etc ; we just override the runtime paths here
+    # same for /var & $out/var
+    substituteInPlace etc/meson.build \
+      --replace "install_dir: join_paths(get_option('sysconfdir'), 'PackageKit')" "install_dir: join_paths('$out', 'etc', 'PackageKit')"
+    substituteInPlace data/meson.build \
+      --replace "install_dir: join_paths(get_option('localstatedir'), 'lib', 'PackageKit')," "install_dir: join_paths('$out', 'var', 'lib', 'PackageKit'),"
+  '';
 
   meta = with lib; {
     description = "System to facilitate installing and updating packages";
diff --git a/pkgs/tools/package-management/pdm/check-update.patch b/pkgs/tools/package-management/pdm/check-update.patch
new file mode 100644
index 00000000000..9bc216177e5
--- /dev/null
+++ b/pkgs/tools/package-management/pdm/check-update.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index d310d36..e15d398 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -252,6 +252,7 @@ def project_no_init(tmp_path, mocker):
+     old_config_map = Config._config_map.copy()
+     tmp_path.joinpath("caches").mkdir(parents=True)
+     p.global_config["cache_dir"] = tmp_path.joinpath("caches").as_posix()
++    p.global_config["check_update"] = False
+     do_use(p, getattr(sys, "_base_executable", sys.executable))
+     with temp_environ():
+         os.environ.pop("VIRTUAL_ENV", None)
diff --git a/pkgs/tools/package-management/pdm/default.nix b/pkgs/tools/package-management/pdm/default.nix
new file mode 100644
index 00000000000..e9db7f63fba
--- /dev/null
+++ b/pkgs/tools/package-management/pdm/default.nix
@@ -0,0 +1,106 @@
+{ lib, python3, fetchFromGitHub, fetchurl }:
+let
+  python = python3.override {
+    # override resolvelib due to
+    # 1. pdm requiring a later version of resolvelib
+    # 2. Ansible being packaged as a library
+    # 3. Ansible being unable to upgrade to a later version of resolvelib
+    # see here for more details: https://github.com/NixOS/nixpkgs/pull/155380/files#r786255738
+    packageOverrides = self: super: {
+      resolvelib = super.resolvelib.overridePythonAttrs (attrs: rec {
+        version = "0.8.1";
+        src = fetchFromGitHub {
+          owner = "sarugaku";
+          repo = "resolvelib";
+          rev = version;
+          sha256 = "sha256-QDHEdVET7HN2ZCKxNUMofabR+rxJy0erWhNQn94D7eI=";
+        };
+      });
+    };
+    self = python;
+  };
+in
+
+with python.pkgs;
+buildPythonApplication rec {
+  pname = "pdm";
+  version = "1.12.6";
+  format = "pyproject";
+  disabled = pythonOlder "3.7";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "sha256-MXKER2ijU+2yPnsBFH0cu/hjHI4uNt++AqggH5rhnaU=";
+  };
+
+  # this patch allows us to run additional tests that invoke pdm, which checks
+  # itself for an update on every invocation by default, drammatically slowing
+  # down test runs inside the sandbox
+  #
+  # the patch is necessary because the fixture is creating a project and
+  # doesn't appear to respect the settings in `$HOME`; possibly a bug upstream
+  patches = [
+    ./check-update.patch
+    (fetchurl {
+      # Mark test that require network access
+      url = "https://github.com/pdm-project/pdm/files/7911962/mark-network-tests.patch.txt";
+      hash = "sha256:1dizf9j3z7zk4lxvnszwx63xzd9r68f2iva5sszzf8s8na831dvd";
+    })
+  ];
+
+  propagatedBuildInputs = [
+    blinker
+    click
+    installer
+    packaging
+    pdm-pep517
+    pep517
+    pip
+    platformdirs
+    python-dotenv
+    pythonfinder
+    resolvelib
+    shellingham
+    tomli
+    tomlkit
+  ] ++ lib.optionals (pythonOlder "3.8") [
+    importlib-metadata
+    typing-extensions
+  ];
+
+  checkInputs = [
+    pytestCheckHook
+    pytest-mock
+    pytest-xdist
+  ];
+
+  pytestFlagsArray = [
+    "--numprocesses $NIX_BUILD_CORES"
+    "-m 'not network'"
+  ];
+
+  preCheck = "HOME=$TMPDIR";
+
+  disabledTests = [
+    # sys.executable and expected executable are different
+    "test_set_non_exist_python_path"
+    # pythonfinder isn't aware of nix's python infrastructure
+    "test_auto_isolate_site_packages"
+    "test_use_invalid_wrapper_python"
+    "test_use_wrapper_python"
+    # tries to read/write files without proper permissions
+    "test_completion_command"
+    "test_plugin_add"
+    "test_plugin_list"
+    "test_plugin_remove"
+    # tries to treat a gzip file as a zipfile and fails
+    "test_resolve_local_artifacts"
+  ];
+
+  meta = with lib; {
+    homepage = "https://pdm.fming.dev";
+    description = "A modern Python package manager with PEP 582 support";
+    license = licenses.mit;
+    maintainers = with maintainers; [ cpcloud ];
+  };
+}
diff --git a/pkgs/tools/security/aws-iam-authenticator/default.nix b/pkgs/tools/security/aws-iam-authenticator/default.nix
index 476d248c434..b1f5d8b56c3 100644
--- a/pkgs/tools/security/aws-iam-authenticator/default.nix
+++ b/pkgs/tools/security/aws-iam-authenticator/default.nix
@@ -2,18 +2,18 @@
 
 buildGoModule rec {
   pname = "aws-iam-authenticator";
-  version = "0.5.3";
+  version = "0.5.5";
 
   src = fetchFromGitHub {
     owner = "kubernetes-sigs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0ga3vf5gn7533iqnxn7kchb6xg5wvk92livlqzkhi5qvqhl1sbw0";
+    sha256 = "sha256-5QtNAcInp1mUE8SHUUMS8/XURbPx/q8xMsvEEo/rnCs=";
   };
 
   # Upstream has inconsistent vendoring, see https://github.com/kubernetes-sigs/aws-iam-authenticator/issues/377
   deleteVendor = true;
-  vendorSha256 = "+Z8sENIMWXP29Piwb/W6i7UdNXVq6ZnO7AZbSaUYCME=";
+  vendorSha256 = null;
 
   ldflags = [ "-s" "-w" "-X main.version=v${version}" ];
 
diff --git a/pkgs/tools/security/b3sum/default.nix b/pkgs/tools/security/b3sum/default.nix
index 0445739fd8d..0749cba209c 100644
--- a/pkgs/tools/security/b3sum/default.nix
+++ b/pkgs/tools/security/b3sum/default.nix
@@ -2,14 +2,14 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "b3sum";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchCrate {
     inherit version pname;
-    sha256 = "sha256-mnX5ZetwOo0VMBIOqJEBpqnSX6EqBEO7qwfgtGclReQ=";
+    sha256 = "sha256-Vb4W1TfHppKm2Ib2VHm+917A09JY1oNebymzcQpPm8Q=";
   };
 
-  cargoSha256 = "sha256-SUoreAuWLxtBWmFdLDviDz16oVDB2ubTY3a3m+t8xx0=";
+  cargoSha256 = "sha256-cpY69NsbsHgQITdElsNjrhjaih9rgOVpFEv4Pfp9OPw=";
 
   meta = {
     description = "BLAKE3 cryptographic hash function";
diff --git a/pkgs/tools/security/bitwarden/default.nix b/pkgs/tools/security/bitwarden/default.nix
index 198295fcdfe..ad757425761 100644
--- a/pkgs/tools/security/bitwarden/default.nix
+++ b/pkgs/tools/security/bitwarden/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "bitwarden";
-  version = "1.30.0";
+  version = "1.31.3";
 
   src = fetchurl {
     url = "https://github.com/bitwarden/desktop/releases/download/v${version}/Bitwarden-${version}-amd64.deb";
-    sha256 = "sha256-x0i7MUVr0nhPy8M/dTVtRjaLfJQlzqhzLQ/JHLRmL6E=";
+    sha256 = "sha256-ASL4+FZh5st3V5Z+jsfvLD26hG9KNVI+tht7kL8lbL4=";
   };
 
   desktopItem = makeDesktopItem {
@@ -27,7 +27,7 @@ stdenv.mkDerivation rec {
     icon = "bitwarden";
     comment = "A secure and free password manager for all of your devices";
     desktopName = "Bitwarden";
-    categories = "Utility";
+    categories = [ "Utility" ];
   };
 
   dontBuild = true;
diff --git a/pkgs/tools/security/boofuzz/default.nix b/pkgs/tools/security/boofuzz/default.nix
index 353758c3d5f..572a9e888fd 100644
--- a/pkgs/tools/security/boofuzz/default.nix
+++ b/pkgs/tools/security/boofuzz/default.nix
@@ -5,13 +5,13 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "boofuzz";
-  version = "0.4.0";
+  version = "0.4.1";
 
   src = fetchFromGitHub {
     owner = "jtpereyda";
     repo = pname;
     rev = "v${version}";
-    sha256 = "4WtTZ2S2rC2XXN0HbiEht9NW0JXcPnpp66AH67F88yk=";
+    sha256 = "sha256-mbxImm5RfYWq1JCCSvvG58Sxv2ad4BOh+RLvtNjQCKE=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
diff --git a/pkgs/tools/security/ccid/default.nix b/pkgs/tools/security/ccid/default.nix
index d1b5f4a83c0..b8d0baf5a55 100644
--- a/pkgs/tools/security/ccid/default.nix
+++ b/pkgs/tools/security/ccid/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "ccid";
-  version = "1.4.36";
+  version = "1.5.0";
 
   src = fetchurl {
     url = "https://ccid.apdu.fr/files/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-K3OsiF8byrgZ3DV4lE0XQGJB4MckBCmJzqQ3NTtnScE=";
+    sha256 = "sha256-gVSbNCJGnVA5ltA6Ou0u8TdbNZFn8Q1mvp44ROcpMi4=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/certipy/default.nix b/pkgs/tools/security/certipy/default.nix
index 9e3d4573df2..c6b0efe28a2 100644
--- a/pkgs/tools/security/certipy/default.nix
+++ b/pkgs/tools/security/certipy/default.nix
@@ -5,22 +5,23 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "certipy";
-  version = "unstable-2021-11-08";
+  version = "2.0.7";
 
   src = fetchFromGitHub {
     owner = "ly4k";
     repo = "Certipy";
-    rev = "c2f5581505c54f3bf9fe4e6f07c17fa9ef501cab";
-    sha256 = "0m2n30prqd9d02kmryk8vry4cabcad1892qr8a02qfg6r98x8q3q";
+    rev = version;
+    hash = "sha256-/89TO/Dzj53bxndLgMIPCaL3axXJUEpX07+25xtnmws=";
   };
 
   propagatedBuildInputs = with python3.pkgs; [
     asn1crypto
-    pycryptodome
+    dnspython
+    dsinternals
     impacket
     ldap3
     pyasn1
-    dnspython
+    pycryptodome
   ];
 
   # Project has no tests
diff --git a/pkgs/tools/security/cfripper/default.nix b/pkgs/tools/security/cfripper/default.nix
index fd39847c014..8959d6627de 100644
--- a/pkgs/tools/security/cfripper/default.nix
+++ b/pkgs/tools/security/cfripper/default.nix
@@ -3,18 +3,38 @@
 , python3
 }:
 
-python3.pkgs.buildPythonApplication rec {
+let
+  py = python3.override {
+    packageOverrides = self: super: {
+
+      # pycfmodel is pinned, https://github.com/Skyscanner/cfripper/issues/204
+      pycfmodel = super.pycfmodel.overridePythonAttrs (oldAttrs: rec {
+        version = "0.13.0";
+
+        src = fetchFromGitHub {
+          owner = "Skyscanner";
+          repo = "pycfmodel";
+          rev = version;
+          hash = "sha256-BlnLf0C/wxPXhoAH0SRB22eGWbbZ05L20rNy6qfOI+A=";
+        };
+      });
+    };
+  };
+in
+with py.pkgs;
+
+buildPythonApplication rec {
   pname = "cfripper";
-  version = "1.3.1";
+  version = "1.3.3";
 
   src = fetchFromGitHub {
     owner = "Skyscanner";
     repo = pname;
     rev = version;
-    hash = "sha256-BWdXSHIicMa3PgGoF4GGAOh2LAJWt+7svMLFGhWIkn0=";
+    hash = "sha256-y3h/atfFl/wDmr+YBdsWrCez4PQBEcl3xNDyTwXZIp4=";
   };
 
-  propagatedBuildInputs = with python3.pkgs; [
+  propagatedBuildInputs = with py.pkgs; [
     boto3
     cfn-flip
     click
@@ -25,7 +45,7 @@ python3.pkgs.buildPythonApplication rec {
     setuptools
   ];
 
-  checkInputs = with python3.pkgs; [
+  checkInputs = with py.pkgs; [
     moto
     pytestCheckHook
   ];
diff --git a/pkgs/tools/security/chipsec/default.nix b/pkgs/tools/security/chipsec/default.nix
index fbb9c421e35..64d8885eedd 100644
--- a/pkgs/tools/security/chipsec/default.nix
+++ b/pkgs/tools/security/chipsec/default.nix
@@ -10,14 +10,15 @@
 
 python3.pkgs.buildPythonApplication rec {
   pname = "chipsec";
-  version = "1.6.1";
+  version = "1.8.1";
+
   disabled = !stdenv.isLinux;
 
   src = fetchFromGitHub {
     owner = "chipsec";
     repo = "chipsec";
     rev = version;
-    sha256 = "01sp24z63r3nqxx57zc4873b8i5dqipy7yrxzrwjns531vznhiy2";
+    hash = "sha256-bK8wlwhP0pi8rOs8ysbSZ+0aZOaX4mckfH/p4OLGnes=";
   };
 
   patches = lib.optionals withDriver [ ./ko-path.diff ./compile-ko.diff ];
@@ -29,9 +30,9 @@ python3.pkgs.buildPythonApplication rec {
     nasm
   ];
 
-  checkInputs = [
-    python3.pkgs.distro
-    python3.pkgs.pytestCheckHook
+  checkInputs = with python3.pkgs; [
+    distro
+    pytestCheckHook
   ];
 
   preBuild = lib.optionalString withDriver ''
@@ -45,10 +46,15 @@ python3.pkgs.buildPythonApplication rec {
       $out/${python3.pkgs.python.sitePackages}/drivers/linux/chipsec.ko
   '';
 
-  setupPyBuildFlags = [ "--build-lib=$CHIPSEC_BUILD_LIB" ]
-                   ++ lib.optional (!withDriver) "--skip-driver";
+  setupPyBuildFlags = [
+    "--build-lib=$CHIPSEC_BUILD_LIB"
+  ] ++ lib.optional (!withDriver) [
+    "--skip-driver"
+  ];
 
-  pythonImportsCheck = [ "chipsec" ];
+  pythonImportsCheck = [
+    "chipsec"
+  ];
 
   meta = with lib; {
     description = "Platform Security Assessment Framework";
diff --git a/pkgs/tools/security/cloudlist/default.nix b/pkgs/tools/security/cloudlist/default.nix
index fd9741ddd94..203b044a6de 100644
--- a/pkgs/tools/security/cloudlist/default.nix
+++ b/pkgs/tools/security/cloudlist/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "cloudlist";
-  version = "0.0.1";
+  version = "1.0.0";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1ad77nnhfx2l00nz9r89xfipwkvxp74y1xirjvkfxys4sf1yqag7";
+    sha256 = "sha256-o5xJwbdYeFF3jWTy/zvswB9dFp/fxtgZB5a+c7cc2OQ=";
   };
 
-  vendorSha256 = "0yr9w2k6lyxnwbxh9mp1lri9z29wl9rgfvq8mjjdlqvcqhbw7l7l";
+  vendorSha256 = "sha256-rzbf/au2qrdoBowsw7DbeCcBbF42bqJDnuKC1sSFxho=";
 
   meta = with lib; {
     description = "Tool for listing assets from multiple cloud providers";
diff --git a/pkgs/tools/security/cosign/default.nix b/pkgs/tools/security/cosign/default.nix
index 54beab643a8..5bfc16718bf 100644
--- a/pkgs/tools/security/cosign/default.nix
+++ b/pkgs/tools/security/cosign/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "cosign";
-  version = "1.5.1";
+  version = "1.5.2";
 
   src = fetchFromGitHub {
     owner = "sigstore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-hQFkbHOmtk0SqFSPw1+5nCvjq9cKsGzFPtK4jXDrubQ=";
+    sha256 = "sha256-37jahAGgQn7HwwdRTlAS/oJQ3BxTkMViI6iJMBYFgjI=";
   };
 
   buildInputs = lib.optional (stdenv.isLinux && pivKeySupport) (lib.getDev pcsclite)
diff --git a/pkgs/tools/security/dalfox/default.nix b/pkgs/tools/security/dalfox/default.nix
index ebbdd9882b7..5ce633d3cec 100644
--- a/pkgs/tools/security/dalfox/default.nix
+++ b/pkgs/tools/security/dalfox/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dalfox";
-  version = "2.7.0";
+  version = "2.7.1";
 
   src = fetchFromGitHub {
     owner = "hahwul";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-QSIaqHUNsVpb1qbQLIxxjoDH1DMM1XpXxWZtImMV1yM=";
+    sha256 = "sha256-+Jr2pWV3iImKVnXH8mQXauHOh3uJChUe22U4JzIotD0=";
   };
 
-  vendorSha256 = "sha256-F0uIV4T/dCqPY/gsSOrzJTxFGlDh9NfxKhJxrftj0Lo=";
+  vendorSha256 = "sha256-4ot9qvTsUMxbcbu1y+5Tkvgo3t0MWA1EPSGqM0CM2DU=";
 
   meta = with lib; {
     description = "Tool for analysing parameter and XSS scanning";
diff --git a/pkgs/tools/security/dnsx/default.nix b/pkgs/tools/security/dnsx/default.nix
index 5b4f0a5da14..9ba91d18653 100644
--- a/pkgs/tools/security/dnsx/default.nix
+++ b/pkgs/tools/security/dnsx/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "dnsx";
-  version = "1.0.7";
+  version = "1.0.8";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = "dnsx";
     rev = "v${version}";
-    sha256 = "sha256-92J9yRTSk2EP3lXCWH1+Ha+dx3dTNur6LIDMKbGmseI=";
+    sha256 = "sha256-+ZLnQtN5MnWnOpLHkaZMhhsFWgGhnhalkXLakJf1wKU=";
   };
 
-  vendorSha256 = "sha256-692PcWFYNInWcZm9NQHLQmRHGFV9XUSFoCqHo7fcGEU=";
+  vendorSha256 = "sha256-RtYAggUWQ8b2qf5ly7BSRc+8npbLiWdM4h0Krdp4Py4=";
 
   meta = with lib; {
     description = "Fast and multi-purpose DNS toolkit";
diff --git a/pkgs/tools/security/doppler/default.nix b/pkgs/tools/security/doppler/default.nix
index 50196c1565d..8b21ef160a2 100644
--- a/pkgs/tools/security/doppler/default.nix
+++ b/pkgs/tools/security/doppler/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "doppler";
-  version = "3.37.0";
+  version = "3.38.0";
 
   src = fetchFromGitHub {
     owner = "dopplerhq";
     repo = "cli";
     rev = version;
-    sha256 = "sha256-GrrjfuDor92535yzoxAudlI4vUrCittsdQeXxuUwNww=";
+    sha256 = "sha256-GKsq6AhkhacG+5XIELpe58bDe5l3BnLCwJHMkCzTzJU=";
   };
 
   vendorSha256 = "sha256-VPxHxNtDeP5CFDMTeMsZYED9ZGWMquJdeupeCVldY/E=";
diff --git a/pkgs/tools/security/duo-unix/default.nix b/pkgs/tools/security/duo-unix/default.nix
index 0ec07371df3..5769e1a4b7b 100644
--- a/pkgs/tools/security/duo-unix/default.nix
+++ b/pkgs/tools/security/duo-unix/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "duo-unix";
-  version = "1.11.5";
+  version = "1.12.0";
 
   src = fetchurl {
     url    = "https://dl.duosecurity.com/duo_unix-${version}.tar.gz";
-    sha256 = "sha256-7pE4EnyV22qQ13RFKHv0ah/BQYHJE1jdTwXBeqpBFgs=";
+    sha256 = "sha256-i7oAmNjXkGn1MCn5EBmidMY/u3h/rzRAHCD4uhVGV/Q=";
   };
 
   buildInputs = [ pam openssl zlib ];
diff --git a/pkgs/tools/security/encryptr/default.nix b/pkgs/tools/security/encryptr/default.nix
deleted file mode 100644
index 92d783dd5fd..00000000000
--- a/pkgs/tools/security/encryptr/default.nix
+++ /dev/null
@@ -1,57 +0,0 @@
-{ stdenv, lib, fetchurl, glib, nss, nspr, gconf, fontconfig, freetype
-, pango , cairo, libX11 , libXi, libXcursor, libXext, libXfixes
-, libXrender, libXcomposite , alsa-lib, libXdamage, libXtst, libXrandr
-, expat, libcap, systemd , dbus, gtk2 , gdk-pixbuf, libnotify
-}:
-
-let
-  arch = if stdenv.hostPlatform.system == "x86_64-linux" then "amd"
-    else if stdenv.hostPlatform.system == "i686-linux" then "i386"
-    else throw "Encryptr for ${stdenv.hostPlatform.system} not supported!";
-
-  sha256 = if stdenv.hostPlatform.system == "x86_64-linux" then "1j3g467g7ar86hpnh6q9mf7mh2h4ia94mwhk1283zh739s2g53q2"
-    else if stdenv.hostPlatform.system == "i686-linux" then "02j9hg9b1jlv25q1sjfhv8d46mii33f94dj0ccn83z9z18q4y2cm"
-    else throw "Encryptr for ${stdenv.hostPlatform.system} not supported!";
-
-in stdenv.mkDerivation rec {
-  pname = "encryptr";
-  version = "2.0.0";
-
-  src = fetchurl {
-    url = "https://spideroak.com/dist/encryptr/signed/linux/targz/encryptr-${version}_${arch}.tar.gz";
-    inherit sha256;
-  };
-
-  dontBuild = true;
-
-  rpath = lib.makeLibraryPath [
-    glib nss nspr gconf fontconfig freetype pango cairo libX11 libXi
-    libXcursor libXext libXfixes libXrender libXcomposite alsa-lib
-    libXdamage libXtst libXrandr expat libcap dbus gtk2 gdk-pixbuf
-    libnotify stdenv.cc.cc
-  ];
-
-  installPhase = ''
-    mkdir -pv $out/bin $out/lib
-    cp -v {encryptr-bin,icudtl.dat,nw.pak} $out/bin
-    mv -v $out/bin/encryptr{-bin,}
-    cp -v lib* $out/lib
-    ln -sv ${lib.getLib systemd}/lib/libudev.so.1 $out/lib/libudev.so.0
-
-    patchelf --set-interpreter $(cat $NIX_CC/nix-support/dynamic-linker) \
-             --set-rpath $out/lib:${rpath} \
-             $out/bin/encryptr
-  '';
-
-  # If stripping, node-webkit does not find
-  # its application and shows a generic page
-  dontStrip = true;
-
-  meta = with lib; {
-    homepage = "https://spideroak.com/solutions/encryptr";
-    description = "Free, private and secure password management tool and e-wallet";
-    license = licenses.unfree;
-    maintainers = with maintainers; [ guillaumekoenig ];
-    platforms = platforms.linux;
-  };
-}
diff --git a/pkgs/tools/security/enpass/data.json b/pkgs/tools/security/enpass/data.json
index bb74f73fb75..20d252bce58 100644
--- a/pkgs/tools/security/enpass/data.json
+++ b/pkgs/tools/security/enpass/data.json
@@ -5,8 +5,8 @@
     "version": "6.6.1.809"
   },
   "i386": {
-    "path": "pool/main/e/enpass/enpass_5.6.9_i386.deb", 
-    "sha256": "3f699ac3e2ecfd4afee1505d8d364d4f6b6b94c55ba989d0a80bd678ff66cb2c", 
+    "path": "pool/main/e/enpass/enpass_5.6.9_i386.deb",
+    "sha256": "3f699ac3e2ecfd4afee1505d8d364d4f6b6b94c55ba989d0a80bd678ff66cb2c",
     "version": "5.6.9"
   }
 }
diff --git a/pkgs/tools/security/exploitdb/default.nix b/pkgs/tools/security/exploitdb/default.nix
index c7223263d98..dac4247a446 100644
--- a/pkgs/tools/security/exploitdb/default.nix
+++ b/pkgs/tools/security/exploitdb/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "exploitdb";
-  version = "2022-02-05";
+  version = "2022-02-24";
 
   src = fetchFromGitHub {
     owner = "offensive-security";
     repo = pname;
     rev = version;
-    sha256 = "sha256-1wdIvJ7AeCNNbApS16ZFmytsPL8Oal+ivem8cHOD1iA=";
+    sha256 = "sha256-aRhprR8UyPh7bok5ONy0I1YvK94c+yXvmCye2QlBU9A=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/fail2ban/default.nix b/pkgs/tools/security/fail2ban/default.nix
index 92848def1d1..6c3fb072709 100644
--- a/pkgs/tools/security/fail2ban/default.nix
+++ b/pkgs/tools/security/fail2ban/default.nix
@@ -1,5 +1,7 @@
-{ lib, stdenv, fetchFromGitHub, python3 }:
-
+{ lib, stdenv, fetchFromGitHub
+, python3
+, fetchpatch
+}:
 
 python3.pkgs.buildPythonApplication rec {
   pname = "fail2ban";
@@ -17,7 +19,21 @@ python3.pkgs.buildPythonApplication rec {
       systemd
     ];
 
+  patches = [
+    # remove references to use_2to3, for setuptools>=58
+    # has been merged into master, remove next release
+    (fetchpatch {
+      url = "https://github.com/fail2ban/fail2ban/commit/5ac303df8a171f748330d4c645ccbf1c2c7f3497.patch";
+      sha256 = "sha256-aozQJHwPcJTe/D/PLQzBk1YH3OAP6Qm7wO7cai5CVYI=";
+    })
+  ];
+
   preConfigure = ''
+    # workaround for setuptools 58+
+    # https://github.com/fail2ban/fail2ban/issues/3098
+    patchShebangs fail2ban-2to3
+    ./fail2ban-2to3
+
     for i in config/action.d/sendmail*.conf; do
       substituteInPlace $i \
         --replace /usr/sbin/sendmail sendmail \
diff --git a/pkgs/tools/security/ghidra/build.nix b/pkgs/tools/security/ghidra/build.nix
index 831ec3b6133..bb53a1958e0 100644
--- a/pkgs/tools/security/ghidra/build.nix
+++ b/pkgs/tools/security/ghidra/build.nix
@@ -34,7 +34,7 @@ let
     icon = "ghidra";
     desktopName = "Ghidra";
     genericName = "Ghidra Software Reverse Engineering Suite";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
   # postPatch scripts.
diff --git a/pkgs/tools/security/ghidra/default.nix b/pkgs/tools/security/ghidra/default.nix
index e57f60637e2..d65d7abc4de 100644
--- a/pkgs/tools/security/ghidra/default.nix
+++ b/pkgs/tools/security/ghidra/default.nix
@@ -19,7 +19,7 @@ let
     icon = "ghidra";
     desktopName = "Ghidra";
     genericName = "Ghidra Software Reverse Engineering Suite";
-    categories = "Development;";
+    categories = [ "Development" ];
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/tools/security/gitleaks/default.nix b/pkgs/tools/security/gitleaks/default.nix
index cb8155e5a1f..ff70782dabe 100644
--- a/pkgs/tools/security/gitleaks/default.nix
+++ b/pkgs/tools/security/gitleaks/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "gitleaks";
-  version = "8.2.7";
+  version = "8.3.0";
 
   src = fetchFromGitHub {
     owner = "zricethezav";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-kCKkPx0JEzmQn0y6UbVuwZXre7rDd4vKTudh6J3AxYA=";
+    sha256 = "sha256-D6leHpGZNQ9Xt4PSU0Dwte6N3bMge7itkZtcUl0mIrQ=";
   };
 
-  vendorSha256 = "sha256-zJ9Xl4tRUWntQwco+EHzqmL1aVcOjp70LCCmRsboxQ4=";
+  vendorSha256 = "sha256-JZOalUOIeV51Nttm6xeBos+/8fleSBpUiXa8ekVuYJA=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/gpg-tui/default.nix b/pkgs/tools/security/gpg-tui/default.nix
index 636358f6ea6..8e0fb95c7c4 100644
--- a/pkgs/tools/security/gpg-tui/default.nix
+++ b/pkgs/tools/security/gpg-tui/default.nix
@@ -16,16 +16,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "gpg-tui";
-  version = "0.8.2";
+  version = "0.8.3";
 
   src = fetchFromGitHub {
     owner = "orhun";
     repo = "gpg-tui";
     rev = "v${version}";
-    hash = "sha256-jddkws4TXuW0AdLBEpS5RPk1a/mEkwYWMbYiLjt22LU=";
+    hash = "sha256-lqV09FEZAw1ir2cJr8ABhbgSoZoWnxhbxyA1HAufLQA=";
   };
 
-  cargoHash = "sha256-bj77fMmpXeOqb1MzOPsEPQUh5AnZxBrapzt864V+IUU=";
+  cargoHash = "sha256-RMF4/WJRcpHuXKMvDYAGaJxUazcpkQCpv//u5XOd9Dg=";
 
   nativeBuildInputs = [
     gpgme # for gpgme-config
diff --git a/pkgs/tools/security/gpgstats/default.nix b/pkgs/tools/security/gpgstats/default.nix
deleted file mode 100644
index f6f6d367810..00000000000
--- a/pkgs/tools/security/gpgstats/default.nix
+++ /dev/null
@@ -1,33 +0,0 @@
-{ lib, stdenv, fetchurl, ncurses, gpgme }:
-
-stdenv.mkDerivation rec {
-  pname = "gpgstats";
-  version = "0.5";
-
-  src = fetchurl {
-    url = "https://www.vanheusden.com/gpgstats/${pname}-${version}.tgz";
-    sha256 = "1n3njqhjwgfllcxs0xmk89dzgirrpfpfzkj71kqyvq97gc1wbcxy";
-  };
-
-  buildInputs = [ ncurses gpgme ];
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp gpgstats $out/bin
-  '';
-
-  NIX_CFLAGS_COMPILE = lib.optionalString (!stdenv.is64bit)
-    "-D_FILE_OFFSET_BITS=64 -DLARGEFILE_SOURCE=1";
-
-  meta = with lib; {
-    description = "Calculates statistics on the keys in your gpg key-ring";
-    longDescription = ''
-    GPGstats calculates statistics on the keys in your key-ring.
-    '';
-    homepage = "http://www.vanheusden.com/gpgstats/";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ davidak ];
-    platforms = platforms.unix;
-  };
-}
-
diff --git a/pkgs/tools/security/grype/default.nix b/pkgs/tools/security/grype/default.nix
index 49dc002133d..30206fab0eb 100644
--- a/pkgs/tools/security/grype/default.nix
+++ b/pkgs/tools/security/grype/default.nix
@@ -1,14 +1,18 @@
-{ lib, buildGoModule, fetchFromGitHub, installShellFiles }:
+{ lib
+, buildGoModule
+, fetchFromGitHub
+, installShellFiles
+}:
 
 buildGoModule rec {
   pname = "grype";
-  version = "0.32.0";
+  version = "0.33.0";
 
   src = fetchFromGitHub {
     owner = "anchore";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-jn28IusHgHHFFrvqZLIvbqCFMhMQ5K/gqC4hVQLffY0=";
+    sha256 = "sha256-RXEeJZeC6hA6DetZnUNWFtNZEy4HJpxviL8pySBLfts=";
     # populate values that require us to use git. By doing this in postFetch we
     # can delete .git afterwards and maintain better reproducibility of the src.
     leaveDotGit = true;
@@ -22,9 +26,12 @@ buildGoModule rec {
       find "$out" -name .git -print0 | xargs -0 rm -rf
     '';
   };
-  vendorSha256 = "sha256-05/xFjgiqbXy7Y2LTGHcXtvusGgfZ/TwLQHaO8rIjvc=";
 
-  nativeBuildInputs = [ installShellFiles ];
+  vendorSha256 = "sha256-2T2fw1nOycP1LxUuMSmz1ke2bg4yox/tIAveXCNJG9Y=";
+
+  nativeBuildInputs = [
+    installShellFiles
+  ];
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/haveged/default.nix b/pkgs/tools/security/haveged/default.nix
index b088f07c6e3..2386bb90d1a 100644
--- a/pkgs/tools/security/haveged/default.nix
+++ b/pkgs/tools/security/haveged/default.nix
@@ -1,15 +1,29 @@
-{ lib, stdenv, fetchurl }:
+{ lib, stdenv, fetchFromGitHub }:
 
 stdenv.mkDerivation rec {
   pname = "haveged";
-  version = "1.9.2";
+  version = "1.9.17";
 
-  src = fetchurl {
-    url = "http://www.issihosts.com/haveged/haveged-${version}.tar.gz";
-    sha256 = "0w5ypz6451msckivjriwyw8djydlwffam7x23xh626s2vzdrlzgp";
+  src = fetchFromGitHub {
+    owner = "jirka-h";
+    repo = "haveged";
+    rev = "v${version}";
+    sha256 = "sha256-uVl+TZVMsf+9aRATQndYMK4l4JfOBvstd1O2nTHyMYU=";
   };
 
-  meta = {
+  strictDeps = true;
+
+  postPatch = ''
+    patchShebangs ent # test shebang
+  '';
+
+  installFlags = [
+    "sbindir=$(out)/bin" # no reason for us to have a $out/sbin, its just a symlink to $out/bin
+  ];
+
+  doCheck = true;
+
+  meta = with lib; {
     description = "A simple entropy daemon";
     longDescription = ''
       The haveged project is an attempt to provide an easy-to-use, unpredictable
@@ -19,9 +33,11 @@ stdenv.mkDerivation rec {
       of haveged is directed towards improving overall reliability and adaptability while minimizing
       the barriers to using haveged for other tasks.
     '';
-    homepage = "http://www.issihosts.com/haveged/";
-    license = lib.licenses.gpl3;
-    maintainers = [ lib.maintainers.domenkozar ];
-    platforms = lib.platforms.unix;
+    homepage = "https://github.com/jirka-h/haveged";
+    changelog = "https://raw.githubusercontent.com/jirka-h/haveged/v${version}/ChangeLog";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ domenkozar ];
+    platforms = platforms.unix;
+    badPlatforms = platforms.darwin; # fails to build since v1.9.15
   };
 }
diff --git a/pkgs/tools/security/jd-gui/default.nix b/pkgs/tools/security/jd-gui/default.nix
index 046abed36f0..4e7a6237404 100644
--- a/pkgs/tools/security/jd-gui/default.nix
+++ b/pkgs/tools/security/jd-gui/default.nix
@@ -62,9 +62,9 @@ let
     comment = "Java Decompiler JD-GUI";
     desktopName = "JD-GUI";
     genericName = "Java Decompiler";
-    mimeType = "application/java;application/java-vm;application/java-archive";
-    categories = "Development;Debugger;";
-    extraEntries="StartupWMClass=org-jd-gui-App";
+    mimeTypes = [ "application/java" "application/java-vm" "application/java-archive" ];
+    categories = [ "Development" "Debugger" ];
+    startupWMClass = "org-jd-gui-App";
   };
 
 in stdenv.mkDerivation rec {
diff --git a/pkgs/tools/security/john/default.nix b/pkgs/tools/security/john/default.nix
index e56e99909ff..be6514630f5 100644
--- a/pkgs/tools/security/john/default.nix
+++ b/pkgs/tools/security/john/default.nix
@@ -40,6 +40,7 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ gcc python3Packages.wrapPython perl makeWrapper ];
   propagatedBuildInputs = (with python3Packages; [ dpkt scapy lxml ]) ++ # For pcap2john.py
                           (with perlPackages; [ DigestMD4 DigestSHA1 GetoptLong # For pass_gen.pl
+                                                CompressRawLzma # For 7z2john.pl
                                                 perlldap ]); # For sha-dump.pl
                           # TODO: Get dependencies for radius2john.pl and lion2john-alt.pl
 
diff --git a/pkgs/tools/security/kbs2/default.nix b/pkgs/tools/security/kbs2/default.nix
index 5cccc1dd5f5..beaa06fd836 100644
--- a/pkgs/tools/security/kbs2/default.nix
+++ b/pkgs/tools/security/kbs2/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "kbs2";
-  version = "0.4.0";
+  version = "0.5.1";
 
   src = fetchFromGitHub {
     owner = "woodruffw";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1bipphrzfz4dfzaqn1q60qazs7ylcx0b34gyl4q6d6jivsrhi8a4";
+    sha256 = "sha256-GKjumkeo7aAYaECa6NoXCiXU2kqekBX3wCysRz8seW4=";
   };
 
-  cargoSha256 = "0r254k85hqf2v8kdhwld8k7b350qjvkwfw2v22ikk2b41b2g4gbw";
+  cargoSha256 = "sha256-rJ110kd18V2VGj0AHix3/vI09FG2kJ+TTOYKIthIrjQ=";
 
   nativeBuildInputs = [ installShellFiles ]
     ++ lib.optionals stdenv.isLinux [ python3 ];
diff --git a/pkgs/tools/security/keybase/default.nix b/pkgs/tools/security/keybase/default.nix
index 4e372e7dad8..1f53dc2a8ae 100644
--- a/pkgs/tools/security/keybase/default.nix
+++ b/pkgs/tools/security/keybase/default.nix
@@ -5,7 +5,7 @@
 
 buildGoModule rec {
   pname = "keybase";
-  version = "5.9.1";
+  version = "5.9.3";
 
   modRoot = "go";
   subPackages = [ "kbnm" "keybase" ];
@@ -16,7 +16,7 @@ buildGoModule rec {
     owner = "keybase";
     repo = "client";
     rev = "v${version}";
-    sha256 = "sha256-WAI/rl6awVLbXqdqYAq8fyABAO2qet+GYucuiwClylI=";
+    sha256 = "sha256-vPQ1hBd33DwsW0b79kNH1yd7mrwkoftIYFgmMVxC+78=";
   };
   vendorSha256 = "sha256-ckAnSSSEF00gbgxnPAi2Pi8TNu3nmAahK7TP6HnfmNo=";
 
diff --git a/pkgs/tools/security/kubescape/default.nix b/pkgs/tools/security/kubescape/default.nix
index 9adf63ea160..ca0b1305d09 100644
--- a/pkgs/tools/security/kubescape/default.nix
+++ b/pkgs/tools/security/kubescape/default.nix
@@ -6,20 +6,20 @@
 
 buildGoModule rec {
   pname = "kubescape";
-  version = "2.0.144";
+  version = "2.0.148";
 
   src = fetchFromGitHub {
     owner = "armosec";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-X/r39lvNSLZ4SG/x5Woj7c0fEOp8USyeTWYihaY0faU=";
+    hash = "sha256-Wn/yVGAAdAaIsHUDWWqVyAlOTYIXpbwIktX9h4LN+fQ=";
   };
 
   nativeBuildInputs = [
     installShellFiles
   ];
 
-  vendorSha256 = "sha256-gB1/WkGC3sgMqmA4F9/dGU0R0hIDwwTVBNNsY6Yj8KU=";
+  vendorSha256 = "sha256-xbOUggbu/4bNT07bD3TU/7CIDvgi6OtZLQzSqQykwRY=";
 
   ldflags = [
     "-s"
diff --git a/pkgs/tools/security/libmodsecurity/default.nix b/pkgs/tools/security/libmodsecurity/default.nix
index 03aed8c50e0..4ba294e42f2 100644
--- a/pkgs/tools/security/libmodsecurity/default.nix
+++ b/pkgs/tools/security/libmodsecurity/default.nix
@@ -1,34 +1,62 @@
-{ lib, stdenv, fetchFromGitHub, autoreconfHook, pkg-config
-, doxygen, perl, valgrind
-, curl, geoip, libxml2, lmdb, lua, pcre, yajl }:
+{ lib, stdenv, fetchFromGitHub
+, autoreconfHook, bison, flex, pkg-config
+, curl, geoip, libmaxminddb, libxml2, lmdb, lua, pcre
+, ssdeep, valgrind, yajl
+, nixosTests
+}:
 
 stdenv.mkDerivation rec {
   pname = "libmodsecurity";
-  version = "3.0.4";
+  version = "3.0.6";
 
   src = fetchFromGitHub {
     owner = "SpiderLabs";
     repo = "ModSecurity";
-    fetchSubmodules = true;
     rev = "v${version}";
-    sha256 = "07vry10cdll94sp652hwapn0ppjv3mb7n2s781yhy7hssap6f2vp";
+    sha256 = "sha256-V+NBT2YN8qO3Px8zEzSA2ZsjSf1pv8+VlLxYlrpqfGg=";
+    fetchSubmodules = true;
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config doxygen ];
+  nativeBuildInputs = [ autoreconfHook bison flex pkg-config ];
+  buildInputs = [ curl geoip libmaxminddb libxml2 lmdb lua pcre ssdeep valgrind yajl ];
 
-  buildInputs = [ perl valgrind curl geoip libxml2 lmdb lua pcre yajl ];
+  outputs = [ "out" "dev" ];
 
   configureFlags = [
-    "--enable-static"
+    "--enable-parser-generation"
     "--with-curl=${curl.dev}"
     "--with-libxml=${libxml2.dev}"
+    "--with-lmdb=${lmdb.out}"
+    "--with-maxmind=${libmaxminddb}"
     "--with-pcre=${pcre.dev}"
-    "--with-yajl=${yajl}"
+    "--with-ssdeep=${ssdeep}"
   ];
 
+  postPatch = ''
+    substituteInPlace build/lmdb.m4 \
+      --replace "\''${path}/include/lmdb.h" "${lmdb.dev}/include/lmdb.h" \
+      --replace "lmdb_inc_path=\"\''${path}/include\"" "lmdb_inc_path=\"${lmdb.dev}/include\""
+    substituteInPlace build/ssdeep.m4 \
+      --replace "/usr/local/libfuzzy" "${ssdeep}/lib" \
+      --replace "\''${path}/include/fuzzy.h" "${ssdeep}/include/fuzzy.h" \
+      --replace "ssdeep_inc_path=\"\''${path}/include\"" "ssdeep_inc_path=\"${ssdeep}/include\""
+    substituteInPlace modsecurity.conf-recommended \
+      --replace "SecUnicodeMapFile unicode.mapping 20127" "SecUnicodeMapFile $out/share/modsecurity/unicode.mapping 20127"
+  '';
+
+  postInstall = ''
+    mkdir -p $out/share/modsecurity
+    cp ${src}/{AUTHORS,CHANGES,LICENSE,README.md,modsecurity.conf-recommended,unicode.mapping} $out/share/modsecurity
+  '';
+
   enableParallelBuilding = true;
 
+  passthru.tests = {
+    nginx-modsecurity = nixosTests.nginx-modsecurity;
+  };
+
   meta = with lib; {
+    homepage = "https://github.com/SpiderLabs/ModSecurity";
     description = ''
       ModSecurity v3 library component.
     '';
@@ -40,7 +68,6 @@ stdenv.mkDerivation rec {
       the ModSecurity SecRules format and apply them to HTTP content provided
       by your application via Connectors.
     '';
-    homepage = "https://modsecurity.org/";
     license = licenses.asl20;
     platforms = platforms.all;
     maintainers = with maintainers; [ izorkin ];
diff --git a/pkgs/tools/security/libtpms/default.nix b/pkgs/tools/security/libtpms/default.nix
index b49ce7305de..d93f0135c20 100644
--- a/pkgs/tools/security/libtpms/default.nix
+++ b/pkgs/tools/security/libtpms/default.nix
@@ -7,13 +7,13 @@
 
 stdenv.mkDerivation rec {
   pname = "libtpms";
-  version = "0.9.1";
+  version = "0.9.2";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "libtpms";
     rev = "v${version}";
-    sha256 = "sha256-30P/YggrPEVpsh2qo751aW6RtrpIVe1XQWyYZm8P4yA=";
+    sha256 = "sha256-sfAmyx9MgzCVA1Da7hl6/sKxhS9ptaNLeSB8wmJIKDs=";
   };
 
   nativeBuildInputs = [
diff --git a/pkgs/tools/security/log4j-sniffer/default.nix b/pkgs/tools/security/log4j-sniffer/default.nix
index 86b6bf00f54..d894e39d7fa 100644
--- a/pkgs/tools/security/log4j-sniffer/default.nix
+++ b/pkgs/tools/security/log4j-sniffer/default.nix
@@ -6,13 +6,13 @@
 
 buildGoModule rec {
   pname = "log4j-sniffer";
-  version = "1.6.0";
+  version = "1.9.0";
 
   src = fetchFromGitHub {
     owner = "palantir";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-ffutvIxXhA0fCN6mSUwv6F+SO/ab6hLiaVJeatZo57w=";
+    sha256 = "sha256-pO6difzNvQvKQtRLyksXmExtQHlnnwyF3iNEmSBgUmU=";
   };
 
   vendorSha256 = null;
diff --git a/pkgs/tools/security/metasploit/Gemfile b/pkgs/tools/security/metasploit/Gemfile
index 8812a16df3a..eb6e90ac775 100644
--- a/pkgs/tools/security/metasploit/Gemfile
+++ b/pkgs/tools/security/metasploit/Gemfile
@@ -1,4 +1,4 @@
 # frozen_string_literal: true
 source "https://rubygems.org"
 
-gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.28"
+gem "metasploit-framework", git: "https://github.com/rapid7/metasploit-framework", ref: "refs/tags/6.1.30"
diff --git a/pkgs/tools/security/metasploit/Gemfile.lock b/pkgs/tools/security/metasploit/Gemfile.lock
index cdd2849be2c..5711b8756e3 100644
--- a/pkgs/tools/security/metasploit/Gemfile.lock
+++ b/pkgs/tools/security/metasploit/Gemfile.lock
@@ -1,9 +1,9 @@
 GIT
   remote: https://github.com/rapid7/metasploit-framework
-  revision: b8975cbd6552cc52044250143ffc440775a8a29e
-  ref: refs/tags/6.1.28
+  revision: aab66244adaadb275bd780c1301fea51f444426a
+  ref: refs/tags/6.1.30
   specs:
-    metasploit-framework (6.1.28)
+    metasploit-framework (6.1.30)
       actionpack (~> 6.0)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -31,7 +31,7 @@ GIT
       metasploit-concern
       metasploit-credential
       metasploit-model
-      metasploit-payloads (= 2.0.71)
+      metasploit-payloads (= 2.0.74)
       metasploit_data_models
       metasploit_payloads-mettle (= 1.0.18)
       mqtt
@@ -98,25 +98,25 @@ GEM
   remote: https://rubygems.org/
   specs:
     Ascii85 (1.1.0)
-    actionpack (6.1.4.4)
-      actionview (= 6.1.4.4)
-      activesupport (= 6.1.4.4)
+    actionpack (6.1.4.6)
+      actionview (= 6.1.4.6)
+      activesupport (= 6.1.4.6)
       rack (~> 2.0, >= 2.0.9)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.0, >= 1.2.0)
-    actionview (6.1.4.4)
-      activesupport (= 6.1.4.4)
+    actionview (6.1.4.6)
+      activesupport (= 6.1.4.6)
       builder (~> 3.1)
       erubi (~> 1.4)
       rails-dom-testing (~> 2.0)
       rails-html-sanitizer (~> 1.1, >= 1.2.0)
-    activemodel (6.1.4.4)
-      activesupport (= 6.1.4.4)
-    activerecord (6.1.4.4)
-      activemodel (= 6.1.4.4)
-      activesupport (= 6.1.4.4)
-    activesupport (6.1.4.4)
+    activemodel (6.1.4.6)
+      activesupport (= 6.1.4.6)
+    activerecord (6.1.4.6)
+      activemodel (= 6.1.4.6)
+      activesupport (= 6.1.4.6)
+    activesupport (6.1.4.6)
       concurrent-ruby (~> 1.0, >= 1.0.2)
       i18n (>= 1.6, < 2)
       minitest (>= 5.1)
@@ -128,16 +128,16 @@ GEM
     arel-helpers (2.14.0)
       activerecord (>= 3.1.0, < 8)
     aws-eventstream (1.2.0)
-    aws-partitions (1.552.0)
-    aws-sdk-core (3.126.0)
+    aws-partitions (1.555.0)
+    aws-sdk-core (3.126.2)
       aws-eventstream (~> 1, >= 1.0.2)
       aws-partitions (~> 1, >= 1.525.0)
       aws-sigv4 (~> 1.1)
       jmespath (~> 1.0)
-    aws-sdk-ec2 (1.298.0)
+    aws-sdk-ec2 (1.299.0)
       aws-sdk-core (~> 3, >= 3.126.0)
       aws-sigv4 (~> 1.1)
-    aws-sdk-iam (1.66.0)
+    aws-sdk-iam (1.67.0)
       aws-sdk-core (~> 3, >= 3.126.0)
       aws-sigv4 (~> 1.1)
     aws-sdk-kms (1.54.0)
@@ -175,7 +175,7 @@ GEM
     eventmachine (1.2.7)
     faker (2.19.0)
       i18n (>= 1.6, < 2)
-    faraday (1.9.3)
+    faraday (1.10.0)
       faraday-em_http (~> 1.0)
       faraday-em_synchrony (~> 1.0)
       faraday-excon (~> 1.1)
@@ -216,12 +216,12 @@ GEM
       domain_name (~> 0.5)
     http_parser.rb (0.8.0)
     httpclient (2.8.3)
-    i18n (1.9.1)
+    i18n (1.10.0)
       concurrent-ruby (~> 1.0)
     io-console (0.5.11)
     irb (1.3.6)
       reline (>= 0.2.5)
-    jmespath (1.5.0)
+    jmespath (1.6.0)
     jsobfu (0.4.2)
       rkelly-remix
     json (2.6.1)
@@ -229,7 +229,7 @@ GEM
     logging (2.3.0)
       little-plugger (~> 1.1)
       multi_json (~> 1.14)
-    loofah (2.13.0)
+    loofah (2.14.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.5.9)
     metasm (1.0.5)
@@ -251,7 +251,7 @@ GEM
       activemodel (~> 6.0)
       activesupport (~> 6.0)
       railties (~> 6.0)
-    metasploit-payloads (2.0.71)
+    metasploit-payloads (2.0.74)
     metasploit_data_models (5.0.4)
       activerecord (~> 6.0)
       activesupport (~> 6.0)
@@ -267,7 +267,7 @@ GEM
     mini_portile2 (2.7.1)
     minitest (5.15.0)
     mqtt (0.5.0)
-    msgpack (1.4.4)
+    msgpack (1.4.5)
     multi_json (1.15.0)
     multipart-post (2.1.1)
     mustermann (1.1.1)
@@ -292,19 +292,19 @@ GEM
       pcaprub
     patch_finder (1.0.2)
     pcaprub (0.13.1)
-    pdf-reader (2.9.0)
+    pdf-reader (2.9.1)
       Ascii85 (~> 1.0)
       afm (~> 0.2.1)
       hashery (~> 2.0)
       ruby-rc4
       ttfunk
-    pg (1.3.1)
+    pg (1.3.2)
     public_suffix (4.0.6)
-    puma (5.6.1)
+    puma (5.6.2)
       nio4r (~> 2.0)
     racc (1.6.0)
     rack (2.2.3)
-    rack-protection (2.1.0)
+    rack-protection (2.2.0)
       rack
     rack-test (1.1.0)
       rack (>= 1.0, < 3)
@@ -313,9 +313,9 @@ GEM
       nokogiri (>= 1.6)
     rails-html-sanitizer (1.4.2)
       loofah (~> 2.3)
-    railties (6.1.4.4)
-      actionpack (= 6.1.4.4)
-      activesupport (= 6.1.4.4)
+    railties (6.1.4.6)
+      actionpack (= 6.1.4.6)
+      activesupport (= 6.1.4.6)
       method_source
       rake (>= 0.13)
       thor (~> 1.0)
@@ -334,7 +334,7 @@ GEM
       rex-core
       rex-struct2
       rex-text
-    rex-core (0.1.25)
+    rex-core (0.1.26)
     rex-encoder (0.1.6)
       metasm
       rex-arch
@@ -353,7 +353,7 @@ GEM
       rex-arch
     rex-ole (0.1.7)
       rex-text
-    rex-powershell (0.1.94)
+    rex-powershell (0.1.95)
       rex-random_identifier
       rex-text
       ruby-rc4
@@ -379,7 +379,7 @@ GEM
     ruby-macho (3.0.0)
     ruby-rc4 (0.1.5)
     ruby2_keywords (0.0.5)
-    ruby_smb (3.0.1)
+    ruby_smb (3.0.4)
       bindata
       openssl-ccm
       openssl-cmac
@@ -392,10 +392,10 @@ GEM
       faraday (> 0.8, < 2.0)
     simpleidn (0.2.1)
       unf (~> 0.1.4)
-    sinatra (2.1.0)
+    sinatra (2.2.0)
       mustermann (~> 1.0)
       rack (~> 2.2)
-      rack-protection (= 2.1.0)
+      rack-protection (= 2.2.0)
       tilt (~> 2.0)
     sqlite3 (1.4.2)
     sshkey (2.0.0)
@@ -432,9 +432,9 @@ GEM
       logging (>= 1.6.1, < 3.0)
       nori (~> 2.0)
       rubyntlm (~> 0.6.0, >= 0.6.3)
-    xdr (3.0.2)
-      activemodel (>= 4.2, < 7.0)
-      activesupport (>= 4.2, < 7.0)
+    xdr (3.0.3)
+      activemodel (>= 4.2, < 8.0)
+      activesupport (>= 4.2, < 8.0)
     xmlrpc (0.3.2)
       webrick
     zeitwerk (2.5.4)
@@ -446,4 +446,4 @@ DEPENDENCIES
   metasploit-framework!
 
 BUNDLED WITH
-   2.2.24
+   2.3.6
diff --git a/pkgs/tools/security/metasploit/default.nix b/pkgs/tools/security/metasploit/default.nix
index d7b2bb8b9e4..dcaeafc428a 100644
--- a/pkgs/tools/security/metasploit/default.nix
+++ b/pkgs/tools/security/metasploit/default.nix
@@ -15,13 +15,13 @@ let
   };
 in stdenv.mkDerivation rec {
   pname = "metasploit-framework";
-  version = "6.1.28";
+  version = "6.1.30";
 
   src = fetchFromGitHub {
     owner = "rapid7";
     repo = "metasploit-framework";
     rev = version;
-    sha256 = "sha256-3l9yBnOejCVSo/zw46mGv3uBoArtyOPbjE1l8CoVNkg=";
+    sha256 = "sha256-QSKJIcHaWsxbHe2uTW5MnZFMoK1fOa6TejIT2Mq0z7k=";
   };
 
   nativeBuildInputs = [ makeWrapper ];
diff --git a/pkgs/tools/security/metasploit/gemset.nix b/pkgs/tools/security/metasploit/gemset.nix
index b55f76e8a85..531b0b6c24e 100644
--- a/pkgs/tools/security/metasploit/gemset.nix
+++ b/pkgs/tools/security/metasploit/gemset.nix
@@ -4,50 +4,50 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "171ida68hrk21cq1zz1kfl9h94a3qw5p3afviqzsirl0kx6qjyv9";
+      sha256 = "1d4nxv0p3wv4w0pf89nmxzg10balny5rwbchwsscgiminzh3mg7y";
       type = "gem";
     };
-    version = "6.1.4.4";
+    version = "6.1.4.6";
   };
   actionview = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1lm2pf35p6q4ff78z175h6ihmzfg2j7ssn41374rb9iy9gpiiidm";
+      sha256 = "0cmxc80gg7pm6d9y7ah5qr4ymzks8rp51jv0a2qdq2m9p6llzlkk";
       type = "gem";
     };
-    version = "6.1.4.4";
+    version = "6.1.4.6";
   };
   activemodel = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0g3qdz8dw6zkgz45jd13lwfdnm7rhgczv1pssw63g9k6qj3bkxjm";
+      sha256 = "0izra8g3g1agv3mz72b0474adkj4ldszj3nwk3l0szgrln7df0lv";
       type = "gem";
     };
-    version = "6.1.4.4";
+    version = "6.1.4.6";
   };
   activerecord = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "090d4wl1pq06m9mibpck0m5nm8h45fwhs3fjx27297kjmnv4gzik";
+      sha256 = "15v0dwp2122yzwlw8ca0lgx5qbw8fsasbn8zzcks1mvmc9afisss";
       type = "gem";
     };
-    version = "6.1.4.4";
+    version = "6.1.4.6";
   };
   activesupport = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0rvnz9lsf9mrkpji748sf51f54m027snkw6rm8flyvf7fq18rm98";
+      sha256 = "0vrz4vgqz4grr2ykwkd8zhhd0rg12z89n89zl6aff17zrdhhad35";
       type = "gem";
     };
-    version = "6.1.4.4";
+    version = "6.1.4.6";
   };
   addressable = {
     groups = ["default"];
@@ -104,40 +104,40 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0wr4jkylfkd89970hw3akfy7vyj54qz11gq3aar48j8p9px0gl17";
+      sha256 = "0r3ihnddcizpf34mcfggyjii8lmjyy1q89mswpbzqa5mxvws85qg";
       type = "gem";
     };
-    version = "1.552.0";
+    version = "1.555.0";
   };
   aws-sdk-core = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "002hgcpsch33r82jd5imyxj0h2w4v8ymmby42rnxdisd03jkygy9";
+      sha256 = "19xi4dr675f7x9dmk1fc10jmjdgv45j3dn9k44m5xavd3qnpzx7v";
       type = "gem";
     };
-    version = "3.126.0";
+    version = "3.126.2";
   };
   aws-sdk-ec2 = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0s0xdcrhmcgbh4m1g57dnw04g45zviv6a4r3qaw8468bm6bi16z6";
+      sha256 = "13kl993psm21mni2g3llyj6b1nzway8kcabnrblnrjkd4d4fg3v7";
       type = "gem";
     };
-    version = "1.298.0";
+    version = "1.299.0";
   };
   aws-sdk-iam = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dr1lgg76syyqj12x8w0j6qvwn3410vdjhy0r9y8k930svrjlkh7";
+      sha256 = "1iv8db2wb3lajcnqx6icn7bdvhrfd7di01c329r95kgw6gzsf7sc";
       type = "gem";
     };
-    version = "1.66.0";
+    version = "1.67.0";
   };
   aws-sdk-kms = {
     groups = ["default"];
@@ -344,10 +344,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0y32gj994ll3zlcqjmwp78r7s03iiwayij6fz2pjpkfywgvp71s6";
+      sha256 = "00palwawk897p5gypw5wjrh93d4p0xz2yl9w93yicb4kq7amh8d4";
       type = "gem";
     };
-    version = "1.9.3";
+    version = "1.10.0";
   };
   faraday-em_http = {
     groups = ["default"];
@@ -564,10 +564,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nancdgq51wk3c1pkxps0rkjsfdwnkx60hzkm947m5rzsz8b2sw8";
+      sha256 = "0b2qyvnk4yynlg17ymkq4g5xgr275637fhl1mjh0valw3cb1fhhg";
       type = "gem";
     };
-    version = "1.9.1";
+    version = "1.10.0";
   };
   io-console = {
     groups = ["default"];
@@ -594,10 +594,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1ylph158dc3ql6cvkik00ab6gf2k1rv2dii63m196xclhkzwfyan";
+      sha256 = "1gjrr5pdcl3l3skhp9d0jzs4yhmknpv3ldcz59b339b9lqbqasnr";
       type = "gem";
     };
-    version = "1.5.0";
+    version = "1.6.0";
   };
   jsobfu = {
     groups = ["default"];
@@ -644,10 +644,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "17rvbrqcci1579d7dpbsfmz1f9g7msk82lyh9ip5h29dkrnixcgg";
+      sha256 = "0z8bdcmw66j3dy6ivcc02yq32lx3n9bavx497llln8qy014xjm4w";
       type = "gem";
     };
-    version = "2.13.0";
+    version = "2.14.0";
   };
   metasm = {
     groups = ["default"];
@@ -684,12 +684,12 @@
     platforms = [];
     source = {
       fetchSubmodules = false;
-      rev = "b8975cbd6552cc52044250143ffc440775a8a29e";
-      sha256 = "0j1n2lmg0radikdy7j7d1ah82yxzhsly7w7wld92b34yfc374pyy";
+      rev = "aab66244adaadb275bd780c1301fea51f444426a";
+      sha256 = "1ffgnk5dh4rjga9swfazmnh4r4cx9ip4vbpd3mdwqnnsq4hqj8j1";
       type = "git";
       url = "https://github.com/rapid7/metasploit-framework";
     };
-    version = "6.1.28";
+    version = "6.1.30";
   };
   metasploit-model = {
     groups = ["default"];
@@ -706,10 +706,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "12fr3v5mjwlilnlccnbimamz6sq6kckf16vgzpfpgi8gjma3lgb9";
+      sha256 = "03q70mqn38chhm9cmjh6k4ch5jsrgf2id09jv0ylkn3vsrrjfzpg";
       type = "gem";
     };
-    version = "2.0.71";
+    version = "2.0.74";
   };
   metasploit_data_models = {
     groups = ["default"];
@@ -776,10 +776,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0b98w2j7g89ihnc753hh3if68r5qrmdp9n2j6mvqy2yl73sbv739";
+      sha256 = "1cshgsx3hmpgx639xyqjqa2q3hgrhlyr9rpwhsglsx529alqq125";
       type = "gem";
     };
-    version = "1.4.4";
+    version = "1.4.5";
   };
   multi_json = {
     groups = ["default"];
@@ -967,20 +967,20 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1fh2pq3gk5fh18g71wir98k4bz4rvihhx8qmn8zi9fz6yfqx39qj";
+      sha256 = "0pn5l3ayjfn4mv2079q80q0x3q39q25nxcc5l9cjqz4lf5anhlfi";
       type = "gem";
     };
-    version = "2.9.0";
+    version = "2.9.1";
   };
   pg = {
     groups = ["default"];
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1zn1miz2h3pki11jwf6f474540kvai3sc43jp8smi3mjx8brvws0";
+      sha256 = "0m776cj2hik15wi730vhgczd5v9s0xmi45q2hgcf5m5cnqvfih35";
       type = "gem";
     };
-    version = "1.3.1";
+    version = "1.3.2";
   };
   public_suffix = {
     groups = ["default"];
@@ -997,10 +997,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "03blhf8snz59433zsv7apwqy1hg92yhkb5am9x2dpqr0c4i6hscs";
+      sha256 = "1np2myaxlk5iab1zarwgmp7zsjvm5j8ssg35ijv8b6dpvc3cjd56";
       type = "gem";
     };
-    version = "5.6.1";
+    version = "5.6.2";
   };
   racc = {
     groups = ["default"];
@@ -1027,10 +1027,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "159a4j4kragqh0z0z8vrpilpmaisnlz3n7kgiyf16bxkwlb3qlhz";
+      sha256 = "1hz6h6d67r217qi202qmxq2xkn3643ay3iybhl3dq3qd6j8nm3b2";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
   };
   rack-test = {
     groups = ["default"];
@@ -1067,10 +1067,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "1nmyds2www6dmqbbd5ggq31gxxb9mwxd5llzmb3iyczssk6l7lla";
+      sha256 = "1snhwpbnmsyhr297qmin8i5i631aimjca1hiazi128i1355255hb";
       type = "gem";
     };
-    version = "6.1.4.4";
+    version = "6.1.4.6";
   };
   rake = {
     groups = ["default"];
@@ -1147,10 +1147,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "04w1pknswnjs02fgsqcr8dx6cz3qjmx7hs83kbhn836s4yfpyv6a";
+      sha256 = "1hjc70q6wb580k0jk4g4s9aqwd25l48kr0pcyjjs2ffax0zcm4d0";
       type = "gem";
     };
-    version = "0.1.25";
+    version = "0.1.26";
   };
   rex-encoder = {
     groups = ["default"];
@@ -1217,10 +1217,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0ib75d16j8z0chni7m9v74xpxf13164hh8kr7v7yg93zpsqxw6p5";
+      sha256 = "0ydzvakfg8can56jn0i8qnrf742csyk82krj50b44sj93ncj7h54";
       type = "gem";
     };
-    version = "0.1.94";
+    version = "0.1.95";
   };
   rex-random_identifier = {
     groups = ["default"];
@@ -1357,10 +1357,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0mf3mzxq83y7i8nr6bcl5yacvfz6y5p3hdmvr1m6xq0l0i9a9axy";
+      sha256 = "0w7ywnf3b3dsfqarj9yc21q1f5p29vs359x5d7sipvc0ljdwn95l";
       type = "gem";
     };
-    version = "3.0.1";
+    version = "3.0.4";
   };
   rubyntlm = {
     groups = ["default"];
@@ -1407,10 +1407,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "0dd53rzpkxgs697pycbhhgc9vcnxra4ly4xar8ni6aiydx2f88zk";
+      sha256 = "1x3rci7k30g96y307hvglpdgm3f7nga3k3n4i8n1v2xxx290800y";
       type = "gem";
     };
-    version = "2.1.0";
+    version = "2.2.0";
   };
   sqlite3 = {
     groups = ["default"];
@@ -1607,10 +1607,10 @@
     platforms = [];
     source = {
       remotes = ["https://rubygems.org"];
-      sha256 = "019yzxddyndc7m7basars0m380m27sfcq99vr5hk1ag4ymayqkwr";
+      sha256 = "1vsimn1vha6qjh1zbkvma5biwlh3hzc6s24ksw7vsxg0z27m8bmz";
       type = "gem";
     };
-    version = "3.0.2";
+    version = "3.0.3";
   };
   xmlrpc = {
     groups = ["default"];
diff --git a/pkgs/tools/security/modsecurity-crs/default.nix b/pkgs/tools/security/modsecurity-crs/default.nix
new file mode 100644
index 00000000000..124eca09ca4
--- /dev/null
+++ b/pkgs/tools/security/modsecurity-crs/default.nix
@@ -0,0 +1,42 @@
+{ lib, stdenv, fetchFromGitHub }:
+
+stdenv.mkDerivation rec {
+  version = "3.3.2";
+  pname = "modsecurity-crs";
+
+  src = fetchFromGitHub {
+    owner = "coreruleset";
+    repo = "coreruleset";
+    rev = "v${version}";
+    sha256 = "sha256-m/iVLhk2y5BpYu8EwC2adrrDnbaVCQ0SE25ltvMokCw=";
+  };
+
+  installPhase = ''
+    install -D -m444 -t $out/rules ${src}/rules/*.conf
+    install -D -m444 -t $out/rules ${src}/rules/*.data
+    install -D -m444 -t $out/share/doc/modsecurity-crs ${src}/*.md
+    install -D -m444 -t $out/share/doc/modsecurity-crs ${src}/{CHANGES,INSTALL,LICENSE}
+    install -D -m444 -t $out/share/modsecurity-crs ${src}/rules/*.example
+    install -D -m444 -t $out/share/modsecurity-crs ${src}/crs-setup.conf.example
+    cat > $out/share/modsecurity-crs/modsecurity-crs.load.example <<EOF
+    ##
+    ## This is a sample file for loading OWASP CRS's rules.
+    ##
+    Include /etc/modsecurity/crs/crs-setup.conf
+    IncludeOptional /etc/modsecurity/crs/REQUEST-900-EXCLUSION-RULES-BEFORE-CRS.conf
+    Include $out/rules/*.conf
+    IncludeOptional /etc/modsecurity/crs/RESPONSE-999-EXCLUSION-RULES-AFTER-CRS.conf
+    EOF
+  '';
+
+  meta = with lib; {
+    homepage = "https://coreruleset.org";
+    description = ''
+      The OWASP ModSecurity Core Rule Set is a set of generic attack detection
+      rules for use with ModSecurity or compatible web application firewalls.
+    '';
+    license = licenses.asl20;
+    platforms = platforms.all;
+    maintainers = with maintainers; [ izorkin ];
+  };
+}
diff --git a/pkgs/tools/security/nmap-formatter/default.nix b/pkgs/tools/security/nmap-formatter/default.nix
index 3f3835b9649..5b9494bf9d3 100644
--- a/pkgs/tools/security/nmap-formatter/default.nix
+++ b/pkgs/tools/security/nmap-formatter/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nmap-formatter";
-  version = "0.2.1";
+  version = "0.3.0";
 
   src = fetchFromGitHub {
     owner = "vdjagilev";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1r8l7ajcb436b60ir6xgy53wafk6rw1cil326yg6mhcngz9sazbk";
+    sha256 = "sha256-tG91Cutk+RCBPv4Rf8CVnZa5Wh8qgsxEL0C6WIoEdsw=";
   };
 
-  vendorSha256 = "0c1b4iw28qj8iq55lg32xqw69jjdv5ial495j0gz68s17kydbwhb";
+  vendorSha256 = "sha256-WXX1b8fPcwIE40w+Kzd7ZuSRXPiYtolRXC/Z8Kc9H2s=";
 
   postPatch = ''
     # Fix hard-coded release
diff --git a/pkgs/tools/security/nuclei/default.nix b/pkgs/tools/security/nuclei/default.nix
index 27805bdd762..71533b1172b 100644
--- a/pkgs/tools/security/nuclei/default.nix
+++ b/pkgs/tools/security/nuclei/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "nuclei";
-  version = "2.5.4";
+  version = "2.6.2";
 
   src = fetchFromGitHub {
     owner = "projectdiscovery";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-r6nOVTg/vZr2somTCoEJQHtbMMZ1RCkdDzGQeTISreU=";
+    sha256 = "sha256-tu7jj2rRREXH9jsQBWXncjCD6MXCddB99mr6h9ng8GA=";
   };
 
-  vendorSha256 = "sha256-zLZ7+eJPKJ8nX47SdbzCLwg3nmv2lFcd2te8oh0UU4s=";
+  vendorSha256 = "sha256-ezUknVPlIbiy6PmpOgkUQU4kfH2Ic8Wn64zwoyqJMl0=";
 
   modRoot = "./v2";
   subPackages = [
diff --git a/pkgs/tools/security/open-ecard/default.nix b/pkgs/tools/security/open-ecard/default.nix
index 470e5f6530f..e7e21aec7c8 100644
--- a/pkgs/tools/security/open-ecard/default.nix
+++ b/pkgs/tools/security/open-ecard/default.nix
@@ -33,7 +33,7 @@ in stdenv.mkDerivation rec {
     comment = "Client side implementation of the eCard-API-Framework";
     icon = "oec_logo_bg-transparent.svg";
     exec = pname;
-    categories = "Utility;Security;";
+    categories = [ "Utility" "Security" ];
   };
 
   installPhase = ''
diff --git a/pkgs/tools/security/orjail/default.nix b/pkgs/tools/security/orjail/default.nix
new file mode 100644
index 00000000000..adcbf5ae4f9
--- /dev/null
+++ b/pkgs/tools/security/orjail/default.nix
@@ -0,0 +1,55 @@
+{ lib
+, stdenv
+, fetchFromGitHub
+, tor
+, firejail
+, iptables
+, makeWrapper
+}:
+
+stdenv.mkDerivation rec {
+  pname = "orjail";
+  version = "1.1";
+
+  src = fetchFromGitHub {
+    owner = pname;
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "06bwqb3l7syy4c1d8xynxwakmdxvm3qfm8r834nidsknvpdckd9z";
+  };
+
+  nativeBuildInputs = [ makeWrapper ];
+
+  postPatch = ''
+    patchShebangs make-helper.bsh
+    mkdir bin
+    mv usr/sbin/orjail bin/orjail
+    rm -r usr
+  '';
+
+  makeFlags = [
+    "DESTDIR=${placeholder "out"}"
+  ];
+
+  postInstall = ''
+    # Specify binary paths: tor, firejail, iptables
+    # mktemp fails with /tmp path prefix, will work without it anyway
+    # https://github.com/orjail/orjail/issues/78
+    # firejail will fail reading /etc/hosts, therefore remove --hostname arg
+    # https://github.com/netblue30/firejail/issues/2758
+    substituteInPlace $out/bin/orjail \
+      --replace ''$'TORBIN=\n' ''$'TORBIN=${tor}/bin/tor\n' \
+      --replace ''$'FIREJAILBIN=\n' ''$'FIREJAILBIN=${firejail}/bin/firejail\n' \
+      --replace 'iptables -' '${iptables}/bin/iptables -' \
+      --replace 'mktemp /tmp/' 'mktemp ' \
+      --replace '--hostname=host ' ""
+  '';
+
+  meta = with lib; {
+    description = "Force programs to exclusively use tor network";
+    homepage = "https://github.com/orjail/orjail";
+    license = licenses.wtfpl;
+    maintainers = with maintainers; [ onny ];
+    platforms = platforms.linux;
+  };
+}
diff --git a/pkgs/tools/security/pass/extensions/audit/0001-Set-base-to-an-empty-value.patch b/pkgs/tools/security/pass/extensions/audit/0001-Set-base-to-an-empty-value.patch
new file mode 100644
index 00000000000..ce6849d677f
--- /dev/null
+++ b/pkgs/tools/security/pass/extensions/audit/0001-Set-base-to-an-empty-value.patch
@@ -0,0 +1,43 @@
+From a2d5d973f53efb11bdcaecbd0099df9714bc287f Mon Sep 17 00:00:00 2001
+From: Maximilian Bosch <maximilian@mbosch.me>
+Date: Tue, 8 Feb 2022 19:35:35 +0100
+Subject: [PATCH] Set `base` to an empty value
+
+`DESTDIR` ensures that everything lands in the correct location (i.e.
+the target store-path on Nix), within this path, everything should be
+moved into `/lib` and `/share`.
+---
+ setup.py | 17 ++---------------
+ 1 file changed, 2 insertions(+), 15 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 1f0a58b..f7baa41 100644
+--- a/setup.py
++++ b/setup.py
+@@ -8,21 +8,8 @@ from pathlib import Path
+ 
+ from setuptools import setup
+ 
+-share = Path(sys.prefix, 'share')
+-base = '/usr'
+-if os.uname().sysname == 'Darwin':
+-    base = '/usr/local'
+-lib = Path(base, 'lib', 'password-store', 'extensions')
+-
+-if '--user' in sys.argv:
+-    if 'PASSWORD_STORE_EXTENSIONS_DIR' in os.environ:
+-        lib = Path(os.environ['PASSWORD_STORE_EXTENSIONS_DIR'])
+-    else:
+-        lib = Path.home() / '.password-store' / '.extensions'
+-    if 'XDG_DATA_HOME' in os.environ:
+-        share = Path(os.environ['XDG_DATA_HOME'])
+-    else:
+-        share = Path.home() / '.local' / 'share'
++share = Path('share')
++lib = Path('lib', 'password-store', 'extensions')
+ 
+ setup(
+     data_files=[
+-- 
+2.33.1
+
diff --git a/pkgs/tools/security/pass/extensions/audit/default.nix b/pkgs/tools/security/pass/extensions/audit/default.nix
index 415a4b9e79d..c4c16b8ff84 100644
--- a/pkgs/tools/security/pass/extensions/audit/default.nix
+++ b/pkgs/tools/security/pass/extensions/audit/default.nix
@@ -5,16 +5,17 @@ let
 
 in stdenv.mkDerivation rec {
   pname = "pass-audit";
-  version = "1.1";
+  version = "1.2";
 
   src = fetchFromGitHub {
     owner = "roddhjav";
     repo = "pass-audit";
     rev = "v${version}";
-    sha256 = "1vapymgpab91kh798mirgs1nb7j9qln0gm2d3321cmsghhb7xs45";
+    sha256 = "sha256-xigP8LxRXITLF3X21zhWx6ooFNSTKGv46yFSt1dd4vs=";
   };
 
   patches = [
+    ./0001-Set-base-to-an-empty-value.patch
     ./0002-Fix-audit.bash-setup.patch
   ];
 
@@ -40,7 +41,8 @@ in stdenv.mkDerivation rec {
   installFlags = [ "DESTDIR=${placeholder "out"}" "PREFIX=" ];
   postInstall = ''
     wrapProgram $out/lib/password-store/extensions/audit.bash \
-      --prefix PYTHONPATH : "$out/lib/${pythonEnv.libPrefix}/site-packages"
+      --prefix PYTHONPATH : "$out/lib/${pythonEnv.libPrefix}/site-packages" \
+      --run "export COMMAND"
   '';
 
   meta = with lib; {
diff --git a/pkgs/tools/security/pcsctools/default.nix b/pkgs/tools/security/pcsctools/default.nix
index cf8ecf180b3..d5fe8c4faa4 100644
--- a/pkgs/tools/security/pcsctools/default.nix
+++ b/pkgs/tools/security/pcsctools/default.nix
@@ -13,11 +13,11 @@
 
 stdenv.mkDerivation rec {
   pname = "pcsc-tools";
-  version = "1.5.8";
+  version = "1.6.0";
 
   src = fetchurl {
     url = "http://ludovic.rousseau.free.fr/softwares/pcsc-tools/${pname}-${version}.tar.bz2";
-    sha256 = "sha256-h8HtvbjJc1Bj9oiqPgXjiTqI54syLcaa+AdX7ZAoIhI=";
+    sha256 = "sha256-ZRyN10vLM9tMFpNc5dgN0apusgup1cS5YxoJgybvi58=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/security/pinentry-bemenu/default.nix b/pkgs/tools/security/pinentry-bemenu/default.nix
new file mode 100644
index 00000000000..0cc3f9bcf04
--- /dev/null
+++ b/pkgs/tools/security/pinentry-bemenu/default.nix
@@ -0,0 +1,25 @@
+{ lib, stdenv, fetchFromGitHub, meson, ninja, pkg-config, libassuan
+, libgpg-error, popt, bemenu }:
+
+stdenv.mkDerivation rec {
+  pname = "pinentry-bemenu";
+  version = "0.10.0";
+
+  src = fetchFromGitHub {
+    owner = "t-8ch";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-2Q8hN7AbuGqm7pfNHlJlSi1Op/OpJBun/AIDhUDnGvU=";
+  };
+
+  nativeBuildInputs = [ meson ninja pkg-config ];
+  buildInputs = [ libassuan libgpg-error popt bemenu ];
+
+  meta = with lib; {
+    description = "Pinentry implementation based on bemenu";
+    homepage = "https://github.com/t-8ch/pinentry-bemenu";
+    license = licenses.gpl3Plus;
+    maintainers = with maintainers; [ jc ];
+    platforms = with platforms; linux;
+  };
+}
diff --git a/pkgs/tools/security/rbw/default.nix b/pkgs/tools/security/rbw/default.nix
index 919fda9c67c..9e3f0523473 100644
--- a/pkgs/tools/security/rbw/default.nix
+++ b/pkgs/tools/security/rbw/default.nix
@@ -26,15 +26,15 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "rbw";
-  version = "1.4.1";
+  version = "1.4.3";
 
   src = fetchCrate {
     inherit version;
     crateName = pname;
-    sha256 = "sha256-RNdxAp3Q/xNrK1XcKZPMfuqxWzDtdhwT+nqG25SjJhI=";
+    sha256 = "sha256-teeGKQNf+nuUcF9BcdiTV/ycENTbcGvPZZ34FdOO31k=";
   };
 
-  cargoSha256 = "sha256-I0KwHCmfYxgSF5IMHiPooaf2bypd6eYCOPSB+qnEBJY=";
+  cargoSha256 = "sha256-Soquc3OuGlDsGSwNCvYOWQeraYpkzX1oJwmM03Rc3Jg=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/rekor/default.nix b/pkgs/tools/security/rekor/default.nix
index d982d73f541..663cc38291c 100644
--- a/pkgs/tools/security/rekor/default.nix
+++ b/pkgs/tools/security/rekor/default.nix
@@ -4,22 +4,22 @@ let
   generic = { pname, packageToBuild, description }:
     buildGoModule rec {
       inherit pname;
-      version = "0.4.0";
+      version = "0.5.0";
 
       src = fetchFromGitHub {
         owner = "sigstore";
         repo = "rekor";
         rev = "v${version}";
-        sha256 = "sha256-15p4hm4Cvs/yLaQIcxctVdMKRWPjIIFwBcbru6QcjXo=";
+        sha256 = "sha256-y8klkb0hyITxLhcNWF7RYRVwF8rclDKzQF/MJs6y//Y=";
       };
 
-      vendorSha256 = "sha256-XCCO4Vamzj5pJFmu1A8mpTLlVAtocrn20myYJVWtBrY=";
+      vendorSha256 = "sha256-0PPdnE3ND/YNIk50XkgBROpe5OhFiFre5Lwsml02DQU=";
 
       nativeBuildInputs = [ installShellFiles ];
 
       subPackages = [ packageToBuild ];
 
-      ldflags = [ "-s" "-w" "-X github.com/sigstore/rekor/${packageToBuild}/app.GitVersion=v${version}" ];
+      ldflags = [ "-s" "-w" "-X github.com/sigstore/rekor/pkg/api.GitVersion=v${version}" ];
 
       postInstall = ''
         installShellCompletion --cmd ${pname} \
diff --git a/pkgs/tools/security/rng-tools/default.nix b/pkgs/tools/security/rng-tools/default.nix
index 7d8de48800a..f77417aaaa4 100644
--- a/pkgs/tools/security/rng-tools/default.nix
+++ b/pkgs/tools/security/rng-tools/default.nix
@@ -4,6 +4,7 @@
 , autoreconfHook
 , libtool
 , pkg-config
+, psmisc
 , argp-standalone ? null
 , openssl
 , jitterentropy ? null, withJitterEntropy ? true
@@ -24,13 +25,13 @@ with lib;
 
 stdenv.mkDerivation rec {
   pname = "rng-tools";
-  version = "6.14";
+  version = "6.15";
 
   src = fetchFromGitHub {
     owner = "nhorman";
     repo = pname;
     rev = "v${version}";
-    hash = "sha256-NTXp2l5gVxKhO4Gqcy4VzomYU5B3HydkefMvdzypK8M=";
+    hash = "sha256-km+MEng3VWZF07sdvGLbAG/vf8/A1DxhA/Xa2Y+LAEQ=";
   };
 
   nativeBuildInputs = [ autoreconfHook libtool pkg-config ];
@@ -59,6 +60,7 @@ stdenv.mkDerivation rec {
 
   doCheck = true;
   preCheck = "patchShebangs tests/*.sh";
+  checkInputs = [ psmisc ]; # rngtestjitter.sh needs killall
 
   doInstallCheck = true;
   installCheckPhase = ''
diff --git a/pkgs/tools/security/scallion/default.nix b/pkgs/tools/security/scallion/default.nix
deleted file mode 100644
index 6f0dcd1bb01..00000000000
--- a/pkgs/tools/security/scallion/default.nix
+++ /dev/null
@@ -1,36 +0,0 @@
-{ lib, stdenv, fetchFromGitHub, makeWrapper, mono, openssl_1_0_2, ocl-icd }:
-
-stdenv.mkDerivation rec {
-  version = "2.1";
-  pname = "scallion";
-
-  src = fetchFromGitHub {
-    owner = "lachesis";
-    repo = "scallion";
-    rev = "v${version}";
-    sha256 = "1l9aj101xpsaaa6kmmhmq68m6z8gzli1iaaf8xaxbivq0i7vka9k";
-  };
-
-  nativeBuildInputs = [ makeWrapper ];
-  buildInputs = [ mono ];
-
-  buildPhase = ''
-    xbuild scallion.sln
-  '';
-
-  installPhase = ''
-    mkdir -p $out/share
-    cp scallion/bin/Debug/* $out/share/
-    makeWrapper ${mono}/bin/mono $out/bin/scallion \
-      --prefix LD_LIBRARY_PATH : ${lib.makeLibraryPath [ openssl_1_0_2 ocl-icd ]} \
-      --add-flags $out/share/scallion.exe
-  '';
-
-  meta = with lib; {
-    description = "GPU-based tor hidden service name generator";
-    homepage = src.meta.homepage;
-    license = licenses.mit;
-    platforms = [ "x86_64-linux" ];
-    maintainers = with maintainers; [ volth ];
-  };
-}
diff --git a/pkgs/tools/security/scilla/default.nix b/pkgs/tools/security/scilla/default.nix
index 79179219583..ab31624c6c9 100644
--- a/pkgs/tools/security/scilla/default.nix
+++ b/pkgs/tools/security/scilla/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "scilla";
-  version = "1.1.1";
+  version = "1.2.1";
 
   src = fetchFromGitHub {
     owner = "edoardottt";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-xg8qnpYRdSGaFkjmQLbjMFIU419ASEHtFA8h8ads/50=";
+    sha256 = "sha256-1gSuKxNpls7B+pSGnGj3k/E93lnj2FPNtAAciPPNAeM=";
   };
 
-  vendorSha256 = "sha256-PFfzlqBuasTNeCNnu5GiGyQzBQkbe83q1EqCsWTor18=";
+  vendorSha256 = "sha256-gHZj8zpc7yFthCCBM8WGw4WwoW46bdQWe4yWjOkkQE8=";
 
   meta = with lib; {
     description = "Information gathering tool for DNS, ports and more";
diff --git a/pkgs/tools/security/secp256k1/default.nix b/pkgs/tools/security/secp256k1/default.nix
index e88187f8465..890518126d8 100644
--- a/pkgs/tools/security/secp256k1/default.nix
+++ b/pkgs/tools/security/secp256k1/default.nix
@@ -7,15 +7,13 @@
 stdenv.mkDerivation {
   pname = "secp256k1";
 
-  # I can't find any version numbers, so we're just using the date of the
-  # last commit.
-  version = "unstable-2021-06-06";
+  version = "unstable-2022-02-06";
 
   src = fetchFromGitHub {
     owner = "bitcoin-core";
     repo = "secp256k1";
-    rev = "7973576f6e3ab27d036a09397152b124d747f4ae";
-    sha256 = "0vjk55dv0mkph4k6bqgkykmxn05ngzvhc4rzjnvn33xzi8dzlvah";
+    rev = "5dcc6f8dbdb1850570919fc9942d22f728dbc0af";
+    sha256 = "x9qG2S6tBSRseWaFIN9N2fRpY1vkv8idT3d3rfJnmaU=";
   };
 
   nativeBuildInputs = [ autoreconfHook ];
diff --git a/pkgs/tools/security/signify/default.nix b/pkgs/tools/security/signify/default.nix
index fb3df51167b..3ac6f58dce9 100644
--- a/pkgs/tools/security/signify/default.nix
+++ b/pkgs/tools/security/signify/default.nix
@@ -16,10 +16,12 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ pkg-config ];
   buildInputs = [ libbsd ];
 
-  preInstall = ''
-    export PREFIX=$out
+  postPatch = ''
+    substituteInPlace Makefile --replace "shell pkg-config" "shell $PKG_CONFIG"
   '';
 
+  installFlags = [ "PREFIX=$(out)" ];
+
   meta = with lib; {
     description = "OpenBSD signing tool";
     longDescription = ''
diff --git a/pkgs/tools/security/solo2-cli/default.nix b/pkgs/tools/security/solo2-cli/default.nix
index e3518799504..eaa2bc659a5 100644
--- a/pkgs/tools/security/solo2-cli/default.nix
+++ b/pkgs/tools/security/solo2-cli/default.nix
@@ -32,6 +32,7 @@ rustPlatform.buildRustPackage rec {
     ++ lib.optionals stdenv.isDarwin [ PCSC IOKit CoreFoundation AppKit ];
 
   postInstall = ''
+    install -D 70-solo2.rules $out/lib/udev/rules.d/70-solo2.rules
     installShellCompletion target/*/release/solo2.{bash,fish,zsh}
   '';
 
diff --git a/pkgs/tools/security/spire/default.nix b/pkgs/tools/security/spire/default.nix
index 412cba21f93..bb165c41d07 100644
--- a/pkgs/tools/security/spire/default.nix
+++ b/pkgs/tools/security/spire/default.nix
@@ -31,6 +31,6 @@ buildGoModule rec {
     description = "The SPIFFE Runtime Environment";
     homepage = "github.com/spiffe/spire";
     license = licenses.asl20;
-    maintainers = with maintainers; [ jonringer ];
+    maintainers = with maintainers; [ jonringer fkautz ];
   };
 }
diff --git a/pkgs/tools/security/spyre/default.nix b/pkgs/tools/security/spyre/default.nix
index 112e0afd145..e74d8bc9a6e 100644
--- a/pkgs/tools/security/spyre/default.nix
+++ b/pkgs/tools/security/spyre/default.nix
@@ -7,16 +7,16 @@
 
 buildGoModule rec {
   pname = "spyre";
-  version = "1.2.1";
+  version = "1.2.4";
 
   src = fetchFromGitHub {
     owner = "spyre-project";
     repo = pname;
     rev = "v${version}";
-    sha256 = "0iijvwcybp9z70jdh5mkaj7k3cw43r72wg3ayhnpyjmvgrwij43i";
+    sha256 = "sha256-408UOY7kvukMYOVqQfpugk6Z+LNQV9XyfJirKyBRWd4=";
   };
 
-  vendorSha256 = "1mssfiph4a6jqp2qlrksvzinh0h8qpwdaxa5zx7fsydmqvk93w0g";
+  vendorSha256 = "sha256-qZkt5WwicDXrExwMT0tCO+FZgClIHhrVtMR8xNsdAaQ=";
 
   nativeBuildInputs = [
     pkg-config
diff --git a/pkgs/tools/security/step-ca/default.nix b/pkgs/tools/security/step-ca/default.nix
index d403d728317..97a42646312 100644
--- a/pkgs/tools/security/step-ca/default.nix
+++ b/pkgs/tools/security/step-ca/default.nix
@@ -12,16 +12,16 @@
 
 buildGoModule rec {
   pname = "step-ca";
-  version = "0.18.0";
+  version = "0.18.1";
 
   src = fetchFromGitHub {
     owner = "smallstep";
     repo = "certificates";
     rev = "v${version}";
-    sha256 = "sha256-f9sp5sAWysOOoIdCiCJxTWRhyt0wfpO5p4pxW6jj0xc=";
+    sha256 = "sha256-oebmJ+xrJTV5gXH3U1lWCSQMHiVnUTa0ZTp39sVB7KM=";
   };
 
-  vendorSha256 = "sha256-iDfPCRU91cuZsKqNOjkLGYmWf8i5FO4NmDsfD5Xqip0=";
+  vendorSha256 = "sha256-IJXJS+Z93Hw1I1CAeRv4mq8as9DKebqNFa0IMgZ+Kic=";
 
   ldflags = [ "-buildid=" ];
 
diff --git a/pkgs/tools/security/swtpm/default.nix b/pkgs/tools/security/swtpm/default.nix
index f05658f8a98..648165d8262 100644
--- a/pkgs/tools/security/swtpm/default.nix
+++ b/pkgs/tools/security/swtpm/default.nix
@@ -11,17 +11,18 @@
 
 # Tests
 , python3, which
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
   pname = "swtpm";
-  version = "0.7.0";
+  version = "0.7.1";
 
   src = fetchFromGitHub {
     owner = "stefanberger";
     repo = "swtpm";
     rev = "v${version}";
-    sha256 = "sha256-5MKQmZxTW8WofmTkV9kGeGN5RxsgVVMFZEF3rPDUO6Q=";
+    sha256 = "sha256-LJQF8PlRkhCJ8rjZzDetg1BFuTb7GBJ8lW6u5hO134k=";
   };
 
   nativeBuildInputs = [
@@ -65,6 +66,8 @@ stdenv.mkDerivation rec {
 
   outputs = [ "out" "man" ];
 
+  passthru.tests = { inherit (nixosTests) systemd-cryptenroll; };
+
   meta = with lib; {
     description = "Libtpms-based TPM emulator";
     homepage = "https://github.com/stefanberger/swtpm";
diff --git a/pkgs/tools/security/terrascan/default.nix b/pkgs/tools/security/terrascan/default.nix
index 4137f20dbbc..b9da8e95d3e 100644
--- a/pkgs/tools/security/terrascan/default.nix
+++ b/pkgs/tools/security/terrascan/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "terrascan";
-  version = "1.13.0";
+  version = "1.13.2";
 
   src = fetchFromGitHub {
     owner = "accurics";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-HV9WOJ8bWu8Uk1tXMZWqvo3ZvFiWLMGKmw6HzHBxSBY=";
+    sha256 = "sha256-ja7Cpd+BegGdKOWAiH5JsniO4NYlFEgJzqBuNzE2ao4=";
   };
 
-  vendorSha256 = "sha256-MB3/iIStqNBM9YnNaRpV4hbs1gZzWm+7B+qHHm0kOmU=";
+  vendorSha256 = "sha256-h/mSF4hJ3TS+4b3CCUEXVin8MRcPg8qEe90Mcxk0uVo=";
 
   # Tests want to download a vulnerable Terraform project
   doCheck = false;
diff --git a/pkgs/tools/security/thc-hydra/darwin-remove-ldflag.patch b/pkgs/tools/security/thc-hydra/darwin-remove-ldflag.patch
deleted file mode 100644
index b19b9ffe8a6..00000000000
--- a/pkgs/tools/security/thc-hydra/darwin-remove-ldflag.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/Makefile.am b/Makefile.am
-index 1c915f1..83a8e41 100644
---- a/Makefile.am
-+++ b/Makefile.am
-@@ -4,7 +4,7 @@
- WARN_CLANG=-Wformat-nonliteral -Wstrncat-size -Wformat-security -Wsign-conversion -Wconversion -Wfloat-conversion -Wshorten-64-to-32 -Wuninitialized -Wmissing-variable-declarations  -Wmissing-declarations
- WARN_GCC=-Wformat=2 -Wformat-overflow=2 -Wformat-nonliteral -Wformat-truncation=2 -Wnull-dereference -Wstrict-overflow=2 -Wstringop-overflow=4 -Walloca-larger-than=4096 -Wtype-limits -Wconversion -Wtrampolines -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -fno-common -Wcast-align
- CFLAGS ?= -g
--OPTS=-I. -O3 $(CFLAGS) -fcommon -Wl,--allow-multiple-definition
-+OPTS=-I. -O3 $(CFLAGS) -fcommon
- # -Wall -g -pedantic
- LIBS=-lm
- DESTDIR ?=
diff --git a/pkgs/tools/security/thc-hydra/default.nix b/pkgs/tools/security/thc-hydra/default.nix
index b12daff0038..b6e3056e023 100644
--- a/pkgs/tools/security/thc-hydra/default.nix
+++ b/pkgs/tools/security/thc-hydra/default.nix
@@ -3,19 +3,15 @@
 
 stdenv.mkDerivation rec {
   pname = "thc-hydra";
-  version = "9.2";
+  version = "9.3";
 
   src = fetchFromGitHub {
     owner = "vanhauser-thc";
     repo = "thc-hydra";
     rev = "v${version}";
-    sha256 = "sha256-V9rr5fbJWm0pa+Kp8g95XvLPo/uWcDwyU2goImnIq58=";
+    sha256 = "sha256-SzbaU52IXw5+ztN/GKD6Ki6/cx2icoZEzLHBu/J8sk0=";
   };
 
-  patches = lib.optionals stdenv.isDarwin [
-    ./darwin-remove-ldflag.patch
-  ];
-
   postPatch = let
     makeDirs = output: subDir: lib.concatStringsSep " " (map (path: lib.getOutput output path + "/" + subDir) buildInputs);
   in ''
@@ -44,9 +40,11 @@ stdenv.mkDerivation rec {
 
   meta = with lib; {
     description = "A very fast network logon cracker which support many different services";
-    homepage = "https://www.thc.org/thc-hydra/";
-    license = licenses.agpl3;
+    homepage = "https://github.com/vanhauser-thc/thc-hydra"; # https://www.thc.org/
+    changelog = "https://github.com/vanhauser-thc/thc-hydra/raw/v${version}/CHANGES";
+    license = licenses.agpl3Plus;
     maintainers = with maintainers; [ offline ];
     platforms = platforms.unix;
+    badPlatforms = platforms.darwin; # fails to build since v9.3
   };
 }
diff --git a/pkgs/tools/security/witness/default.nix b/pkgs/tools/security/witness/default.nix
new file mode 100644
index 00000000000..571685afb40
--- /dev/null
+++ b/pkgs/tools/security/witness/default.nix
@@ -0,0 +1,25 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "witness";
+  version = "0.1.1";
+
+  src = fetchFromGitHub {
+    owner = "testifysec";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-NnDsiDUTCdjsHVA/mHnB8WRnvwFTzETkWUOd7IgMIWE=";
+  };
+
+  vendorSha256 = "sha256-zkLparWJsuqrhOQxxV37dBqt6fwpSinTO+paJkbl+sM=";
+
+  # We only want the witness binary, not the helper utilities for generating docs.
+  subPackages = [ "cmd/witness" ];
+
+  meta = with lib; {
+    description = "A pluggable framework for software supply chain security. Witness prevents tampering of build materials and verifies the integrity of the build process from source to target";
+    homepage = "https://github.com/testifysec/witness";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ fkautz ];
+  };
+}
diff --git a/pkgs/tools/security/yara/default.nix b/pkgs/tools/security/yara/default.nix
index a0a06e2906c..082f163437c 100644
--- a/pkgs/tools/security/yara/default.nix
+++ b/pkgs/tools/security/yara/default.nix
@@ -14,23 +14,31 @@
 }:
 
 stdenv.mkDerivation rec {
-  version = "4.1.3";
   pname = "yara";
+  version = "4.2.0-rc1";
 
   src = fetchFromGitHub {
     owner = "VirusTotal";
-    repo = "yara";
+    repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-7t2KksI3l+wFHqUSw2L4FXepMTJfTow/cTFYA47YBqY=";
+    hash = "sha256-WcN6ClYO2d+/MdG06RHx3kN0o0WVAY876dJiG7CwJ8w=";
   };
 
-  nativeBuildInputs = [ autoreconfHook pkg-config ];
+  nativeBuildInputs = [
+    autoreconfHook
+    pkg-config
+  ];
 
-  buildInputs = [ pcre protobufc ]
-    ++ lib.optionals withCrypto [ openssl ]
-    ++ lib.optionals enableMagic [ file ]
-    ++ lib.optionals enableCuckoo [ jansson ]
-  ;
+  buildInputs = [
+    pcre
+    protobufc
+  ] ++ lib.optionals withCrypto [
+    openssl
+  ] ++ lib.optionals enableMagic [
+    file
+  ] ++ lib.optionals enableCuckoo [
+    jansson
+  ];
 
   preConfigure = "./bootstrap.sh";
 
diff --git a/pkgs/tools/system/btop/default.nix b/pkgs/tools/system/btop/default.nix
index 7002976e3d0..c7db9e363f9 100644
--- a/pkgs/tools/system/btop/default.nix
+++ b/pkgs/tools/system/btop/default.nix
@@ -8,8 +8,8 @@
 
 stdenv.mkDerivation rec {
   pname = "btop";
-  version = "1.2.0";
-  hash = "qNm0mzPPh6jYIJX1W+macIDiGyWT+0jk7O0jCmvV/S4=";
+  version = "1.2.3";
+  hash = "sha256-vH167BL2ekWwxIhQWXkgJxl8z77S8SkmHVclW6XGc+8=";
 
   src = fetchFromGitHub {
     owner = "aristocratos";
diff --git a/pkgs/tools/system/collectd/plugins.nix b/pkgs/tools/system/collectd/plugins.nix
index de8948db6c9..1455feb1c32 100644
--- a/pkgs/tools/system/collectd/plugins.nix
+++ b/pkgs/tools/system/collectd/plugins.nix
@@ -41,8 +41,8 @@
 , xen
 , yajl
 , IOKit
-# Defaults to `null` for all supported plugins,
-# list of plugin names for a custom build
+# Defaults to `null` for all supported plugins (except xen, which is marked as
+# insecure), otherwise a list of plugin names for a custom build
 , enabledPlugins ? null
 , ...
 }:
@@ -136,7 +136,7 @@ let
   buildInputs =
     if enabledPlugins == null
     then builtins.concatMap pluginBuildInputs
-      (builtins.attrNames plugins)
+      (builtins.attrNames (builtins.removeAttrs plugins ["xencpu"]))
     else builtins.concatMap pluginBuildInputs enabledPlugins;
 in {
   inherit configureFlags buildInputs;
diff --git a/pkgs/tools/system/evemu/default.nix b/pkgs/tools/system/evemu/default.nix
index c01a909668e..61ef270df79 100644
--- a/pkgs/tools/system/evemu/default.nix
+++ b/pkgs/tools/system/evemu/default.nix
@@ -4,14 +4,14 @@
 
 stdenv.mkDerivation rec {
   pname = "evemu";
-  version = "2.6.0";
+  version = "2.7.0";
 
   # We could have downloaded a release tarball from cgit, but it changes hash
   # each time it is downloaded :/
   src = fetchgit {
     url = "git://git.freedesktop.org/git/evemu";
     rev = "refs/tags/v${version}";
-    sha256 = "1m38fxwy2s82vb2qm9aqxinws12akmqqq7q66is931lc3awqkbah";
+    sha256 = "sha256-SQDaARuqBMBVlUz+Nw6mjdxaZfVOukmzTlIqy8U2rus=";
   };
 
   nativeBuildInputs = [ pkg-config autoreconfHook python3Packages.python ];
@@ -24,7 +24,7 @@ stdenv.mkDerivation rec {
     description = "Records and replays device descriptions and events to emulate input devices through the kernel's input system";
     homepage = "https://www.freedesktop.org/wiki/Evemu/";
     repositories.git = "git://git.freedesktop.org/git/evemu";
-    license = licenses.gpl2;
+    license = with licenses; [ lgpl3Only gpl3Only ];
     maintainers = [ maintainers.amorsillo ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/system/freeipmi/default.nix b/pkgs/tools/system/freeipmi/default.nix
index a3bb99735a1..09b7b312799 100644
--- a/pkgs/tools/system/freeipmi/default.nix
+++ b/pkgs/tools/system/freeipmi/default.nix
@@ -1,12 +1,12 @@
 { fetchurl, lib, stdenv, libgcrypt, readline, libgpg-error }:
 
 stdenv.mkDerivation rec {
-  version = "1.6.8";
+  version = "1.6.9";
   pname = "freeipmi";
 
   src = fetchurl {
     url = "mirror://gnu/freeipmi/${pname}-${version}.tar.gz";
-    sha256 = "0w8af1i57szmxl9vfifwwyal7xh8aixz2l9487wvy6yckqk6m92a";
+    sha256 = "sha256-8l4cNfPQ8bWpnMMezCNTyoPtRqFRY4QvuocBJ9ycggY=";
   };
 
   buildInputs = [ libgcrypt readline libgpg-error ];
diff --git a/pkgs/tools/system/gdu/default.nix b/pkgs/tools/system/gdu/default.nix
index ec94a9f337f..4204bf8994b 100644
--- a/pkgs/tools/system/gdu/default.nix
+++ b/pkgs/tools/system/gdu/default.nix
@@ -7,13 +7,13 @@
 
 buildGoModule rec {
   pname = "gdu";
-  version = "5.13.0";
+  version = "5.13.2";
 
   src = fetchFromGitHub {
     owner = "dundee";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yOYwPr/Yz/PGpCZtv/dWVFgll6VM7wQEtU/jEVpMjlE=";
+    sha256 = "sha256-2HADEp1nDkIl56e5oxY6bC+lRWanQwjlCChm0aI0N9Q=";
   };
 
   vendorSha256 = "sha256-9+Zez33oET0nx/Xm3fXh1WFoQduMBodvml1oGO6jUYc=";
@@ -45,7 +45,7 @@ buildGoModule rec {
     '';
     homepage = "https://github.com/dundee/gdu";
     license = with licenses; [ mit ];
-    maintainers = [ maintainers.fab ];
+    maintainers = [ maintainers.fab maintainers.zowoq ];
     platforms = platforms.unix;
   };
 }
diff --git a/pkgs/tools/system/go-audit/default.nix b/pkgs/tools/system/go-audit/default.nix
index 9670a4d0684..e9c74e0b981 100644
--- a/pkgs/tools/system/go-audit/default.nix
+++ b/pkgs/tools/system/go-audit/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "go-audit";
-  version = "1.0.0";
+  version = "1.1.1";
 
   src = fetchFromGitHub {
     owner = "slackhq";
     repo = pname;
     rev = "v${version}";
-    sha256 = "02iwjzaz2ks0zmwijaijwzc3gn9mhn7xpx369ylgaz68arlapfjg";
+    sha256 = "sha256-iJm33IZ3kGWnGVDVbQCTvoo+dXBU5092YYXZG+Z7vi0=";
   };
 
-  vendorSha256 = "11kb7xm82s0d8d06b2jknwn3dfh4i0a1dv0740y47vk62sf6f05i";
+  vendorSha256 = "sha256-sQBnnBZm7kM8IAfsFhSIBLo2LLdTimVAQw1ogWo/a4Y=";
 
   # Tests need network access
   doCheck = false;
diff --git a/pkgs/tools/system/gotop/default.nix b/pkgs/tools/system/gotop/default.nix
index 3edc6d4694a..f2da1c788a4 100644
--- a/pkgs/tools/system/gotop/default.nix
+++ b/pkgs/tools/system/gotop/default.nix
@@ -1,27 +1,34 @@
-{ lib, stdenv, buildGoModule, fetchFromGitHub }:
+{ lib, stdenv, buildGoModule, fetchFromGitHub, installShellFiles }:
 
 buildGoModule rec {
   pname = "gotop";
-  version = "4.1.2";
+  version = "4.1.3";
 
   src = fetchFromGitHub {
     owner = "xxxserxxx";
     repo = pname;
     rev = "v${version}";
-    sha256 = "15bsxaxqxp17wsr0p9fkpvgfyqnhhwm3j8jxkvcs4cdw73qaxdsy";
+    hash = "sha256-oDM+dpAT1vDpp2NkD669hwbgw7HWJGFqhsql9PvbxSk=";
   };
 
   proxyVendor = true;
-  vendorSha256 = "sha256-WwHaprq4+4uduiKpNu5iVcV6qJsYX/aSXJAJWpbDVqc=";
+  vendorSha256 = "sha256-WGLcpF1NqVQDiU3M9rQ555ZW3sDC3Szch+skTZgt0xg=";
 
   ldflags = [ "-s" "-w" "-X main.Version=v${version}" ];
 
+  nativeBuildInputs = [ installShellFiles ];
+
   preCheck = ''
     export HOME=$(mktemp -d)
   '';
 
   doCheck = !stdenv.isDarwin;
 
+  postInstall = ''
+    $out/bin/gotop --create-manpage > gotop.1
+    installManPage gotop.1
+  '';
+
   meta = with lib; {
     description = "A terminal based graphical activity monitor inspired by gtop and vtop";
     homepage = "https://github.com/xxxserxxx/gotop";
diff --git a/pkgs/tools/system/iops/default.nix b/pkgs/tools/system/iops/default.nix
deleted file mode 100644
index b2be488673e..00000000000
--- a/pkgs/tools/system/iops/default.nix
+++ /dev/null
@@ -1,29 +0,0 @@
-{ lib, stdenv, fetchurl }:
-
-stdenv.mkDerivation rec {
-  pname = "iops";
-  version = "0.1";
-
-  src = fetchurl {
-    url = "https://www.vanheusden.com/iops/${pname}-${version}.tgz";
-    sha256 = "1knih6dwwiicycp5ml09bj3k8j7air9bng070sfnxwfv786y90bz";
-  };
-
-  installPhase = ''
-    mkdir -p $out/bin
-    cp iops $out/bin
-  '';
-
-  meta = with lib; {
-    description = "Measure I/O operations per second of a storage device";
-    longDescription = ''
-      Iops lets you measure how many I/O operations per second a storage device can perform.
-      Usefull for determing e.g. the best RAID-setting of your storage device.
-    '';
-    homepage = "http://www.vanheusden.com/iops/";
-    license = licenses.gpl2;
-    maintainers = with maintainers; [ davidak ];
-    platforms = platforms.linux; # build problems on Darwin
-  };
-}
-
diff --git a/pkgs/tools/system/java-service-wrapper/default.nix b/pkgs/tools/system/java-service-wrapper/default.nix
index 43aa2b10cc3..7c4002b8a9b 100644
--- a/pkgs/tools/system/java-service-wrapper/default.nix
+++ b/pkgs/tools/system/java-service-wrapper/default.nix
@@ -5,36 +5,45 @@
 
 stdenv.mkDerivation rec {
   pname = "java-service-wrapper";
-  version = "3.5.48";
+  version = "3.5.49";
 
   src = fetchurl {
     url = "https://wrapper.tanukisoftware.com/download/${version}/wrapper_${version}_src.tar.gz";
-    sha256 = "sha256-woANhwLOhvTnq+Bnc8zCIDZEJOv3swNfeI/3nQ7Y1SM=";
+    hash = "sha256-gcScF5LIqWVBv8erI3hG5tt5BZPO2XlhFACz1Y60+v4=";
   };
 
   buildInputs = [ jdk ];
   nativeBuildInputs = [ ant cunit ncurses ];
 
   buildPhase = ''
+    runHook preBuild
+
     export ANT_HOME=${ant}
     export JAVA_HOME=${jdk}/lib/openjdk/jre/
     export JAVA_TOOL_OPTIONS=-Djava.home=$JAVA_HOME
     export CLASSPATH=${jdk}/lib/openjdk/lib/tools.jar
 
     ${if stdenv.isi686 then "./build32.sh" else "./build64.sh"}
+
+    runHook postBuild
   '';
 
   installPhase = ''
+    runHook preInstall
+
     mkdir -p $out/{bin,lib}
     cp bin/wrapper $out/bin/wrapper
     cp lib/wrapper.jar $out/lib/wrapper.jar
     cp lib/libwrapper.so $out/lib/libwrapper.so
+
+    runHook postInstall
   '';
 
   meta = with lib; {
     description = "Enables a Java Application to be run as a Windows Service or Unix Daemon";
     homepage = "https://wrapper.tanukisoftware.com/";
-    license = licenses.gpl2;
+    changelog = "https://wrapper.tanukisoftware.com/doc/english/release-notes.html#${version}";
+    license = licenses.gpl2Only;
     platforms = [ "x86_64-linux" "i686-linux" ];
     maintainers = [ maintainers.suhr ];
   };
diff --git a/pkgs/tools/system/logrotate/default.nix b/pkgs/tools/system/logrotate/default.nix
index 97d920ce918..f0ce0838335 100644
--- a/pkgs/tools/system/logrotate/default.nix
+++ b/pkgs/tools/system/logrotate/default.nix
@@ -1,6 +1,7 @@
 { lib, stdenv, fetchFromGitHub, gzip, popt, autoreconfHook
 , mailutils ? null
 , aclSupport ? true, acl
+, nixosTests
 }:
 
 stdenv.mkDerivation rec {
@@ -25,6 +26,10 @@ stdenv.mkDerivation rec {
   nativeBuildInputs = [ autoreconfHook ];
   buildInputs = [ popt ] ++ lib.optionals aclSupport [ acl ];
 
+  passthru.tests = {
+    nixos-logrotate = nixosTests.logrotate;
+  };
+
   meta = with lib; {
     homepage = "https://github.com/logrotate/logrotate";
     description = "Rotates and compresses system logs";
diff --git a/pkgs/tools/system/monit/default.nix b/pkgs/tools/system/monit/default.nix
index 93cdbe6d546..96c1c91591d 100644
--- a/pkgs/tools/system/monit/default.nix
+++ b/pkgs/tools/system/monit/default.nix
@@ -12,11 +12,11 @@
 
 stdenv.mkDerivation rec {
   pname = "monit";
-  version = "5.29.0";
+  version = "5.30.0";
 
   src = fetchurl {
     url = "${meta.homepage}dist/monit-${version}.tar.gz";
-    sha256 = "sha256-9mXm3R8mp0tWgomah3k0Fn3islguBIZS7PA2MYR3iF8=";
+    sha256 = "sha256-6FZJ36hYb0/N00oClcVd3Wmw7abPvaxHEFomc9ELEAg=";
   };
 
   nativeBuildInputs = [ bison flex ];
diff --git a/pkgs/tools/system/natscli/default.nix b/pkgs/tools/system/natscli/default.nix
index 97a690690ac..ad10f0c6c9b 100644
--- a/pkgs/tools/system/natscli/default.nix
+++ b/pkgs/tools/system/natscli/default.nix
@@ -5,16 +5,16 @@
 
 buildGoModule rec {
   pname = "natscli";
-  version = "0.0.28";
+  version = "0.0.29";
 
   src = fetchFromGitHub {
     owner = "nats-io";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-w0a2BzfRKf55hFgdaDLsR2YeC5Jqa2uynlRN2oGPX8g=";
+    sha256 = "sha256-q1T+bDOOPs4eLnRWkYG6VY0AwfG/W2boSY5DZhMv+ZI=";
   };
 
-  vendorSha256 = "sha256-kt6KflivmsG6prxWXtODcXSP2sNn4daH8ruZMxYLk3g=";
+  vendorSha256 = "sha256-YTvgofZoWGDZL/ujjZ9RqAgv6UH2caZBrV9/uav3KVw=";
 
   meta = with lib; {
     description = "NATS Command Line Interface";
diff --git a/pkgs/tools/system/netdata/default.nix b/pkgs/tools/system/netdata/default.nix
index 1b04abce0e0..0ae4e77910e 100644
--- a/pkgs/tools/system/netdata/default.nix
+++ b/pkgs/tools/system/netdata/default.nix
@@ -1,7 +1,7 @@
 { lib, stdenv, callPackage, fetchFromGitHub, autoreconfHook, pkg-config, makeWrapper
 , CoreFoundation, IOKit, libossp_uuid
 , nixosTests
-, curl, libcap, libuuid, lm_sensors, zlib
+, curl, libcap, libuuid, lm_sensors, zlib, protobuf
 , withCups ? false, cups
 , withDBengine ? true, libuv, lz4, judy
 , withIpmi ? (!stdenv.isDarwin), freeipmi
@@ -16,19 +16,19 @@ with lib;
 let
   go-d-plugin = callPackage ./go.d.plugin.nix {};
 in stdenv.mkDerivation rec {
-  version = "1.32.1";
+  version = "1.33.1";
   pname = "netdata";
 
   src = fetchFromGitHub {
     owner = "netdata";
     repo = "netdata";
     rev = "v${version}";
-    sha256 = "sha256-DbuR3x7d6synJELOxI+frK4LY9zFgPKmY7hGY8B5z7o=";
+    sha256 = "sha256-4rx8EHtOSd/lHcSHZCtiXkjJjL7B175cVGvFOZ9Bzi8=";
     fetchSubmodules = true;
   };
 
   nativeBuildInputs = [ autoreconfHook pkg-config makeWrapper ];
-  buildInputs = [ curl.dev zlib.dev ]
+  buildInputs = [ curl.dev zlib.dev protobuf ]
     ++ optionals stdenv.isDarwin [ CoreFoundation IOKit libossp_uuid ]
     ++ optionals (!stdenv.isDarwin) [ libcap.dev libuuid.dev ]
     ++ optionals withCups [ cups ]
diff --git a/pkgs/tools/system/rsyslog/default.nix b/pkgs/tools/system/rsyslog/default.nix
index d27985edbc4..f11a05fdbd6 100644
--- a/pkgs/tools/system/rsyslog/default.nix
+++ b/pkgs/tools/system/rsyslog/default.nix
@@ -14,11 +14,11 @@ let
 in
 stdenv.mkDerivation rec {
   pname = "rsyslog";
-  version = "8.2112.0";
+  version = "8.2202.0";
 
   src = fetchurl {
     url = "https://www.rsyslog.com/files/download/rsyslog/${pname}-${version}.tar.gz";
-    sha256 = "sha256-aiqXOGHpJm2ze9K3ufZytrlwv810Ojl7ju5rDcSFLEE=";
+    sha256 = "sha256-5BMIpaFxk5s8vCRunUvTC+ROgBUh4EzZXQUfo4Z9Zzg=";
   };
 
   #patches = [ ./fix-gnutls-detection.patch ];
diff --git a/pkgs/tools/system/skeema/default.nix b/pkgs/tools/system/skeema/default.nix
new file mode 100644
index 00000000000..0b6bf003e5b
--- /dev/null
+++ b/pkgs/tools/system/skeema/default.nix
@@ -0,0 +1,28 @@
+{ lib, buildGoModule, fetchFromGitHub }:
+
+buildGoModule rec {
+  pname = "skeema";
+  version = "1.7.0";
+
+  src = fetchFromGitHub {
+    owner = "skeema";
+    repo = "skeema";
+    rev = "v${version}";
+    sha256 = "1a75vixrpidim641809nj931r73zvbj2rsls7d80z7w87maav51m";
+  };
+
+  vendorSha256 = null;
+
+  CGO_ENABLED = 0;
+
+  ldflags = [ "-s" "-w" ];
+
+  checkFlags = [ "-short" ];
+
+  meta = with lib; {
+    description = "Declarative pure-SQL schema management for MySQL and MariaDB";
+    homepage = "https://skeema.io/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ aaronjheng ];
+  };
+}
diff --git a/pkgs/tools/system/syslog-ng/default.nix b/pkgs/tools/system/syslog-ng/default.nix
index d0a22203aa9..5d7fd2b1b6d 100644
--- a/pkgs/tools/system/syslog-ng/default.nix
+++ b/pkgs/tools/system/syslog-ng/default.nix
@@ -7,11 +7,11 @@
 
 stdenv.mkDerivation rec {
   pname = "syslog-ng";
-  version = "3.34.1";
+  version = "3.35.1";
 
   src = fetchurl {
     url = "https://github.com/${pname}/${pname}/releases/download/${pname}-${version}/${pname}-${version}.tar.gz";
-    sha256 = "sha256-zs457BxoyI1JNwXgpSi4PQONo4TonUg4OTzMdfYqLUw=";
+    sha256 = "sha256-HQI4sGs+WYfIWeW1Kezuc491us/wSxSTmLH+jLsSHlM=";
   };
 
   nativeBuildInputs = [ pkg-config which ];
@@ -57,7 +57,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     homepage = "https://www.syslog-ng.com";
     description = "Next-generation syslogd with advanced networking and filtering capabilities";
-    license = licenses.gpl2;
+    license = with licenses; [ gpl2Plus lgpl21Plus ];
     maintainers = with maintainers; [ fpletz ];
     platforms = platforms.linux;
   };
diff --git a/pkgs/tools/system/thinkfan/default.nix b/pkgs/tools/system/thinkfan/default.nix
index 8da87ecfa71..a564c946bcf 100644
--- a/pkgs/tools/system/thinkfan/default.nix
+++ b/pkgs/tools/system/thinkfan/default.nix
@@ -11,13 +11,13 @@
 
 stdenv.mkDerivation rec {
   pname = "thinkfan";
-  version = "1.3.0";
+  version = "1.3.1";
 
   src = fetchFromGitHub {
     owner = "vmatare";
     repo = "thinkfan";
     rev = version;
-    sha256 = "sha256-ZCZqi7A4qdWtDSkTw6ktHIZnPhdes2AX7+QBroaDDfI=";
+    sha256 = "sha256-aREZv+t4QhtfLKOMrneLiRxgnu0fzB8UV8dvr1dnhx4=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/text/asciigraph/default.nix b/pkgs/tools/text/asciigraph/default.nix
index 27c2a1ff28e..5cfa00d5326 100644
--- a/pkgs/tools/text/asciigraph/default.nix
+++ b/pkgs/tools/text/asciigraph/default.nix
@@ -2,7 +2,7 @@
 
 buildGoPackage rec {
   pname = "asciigraph";
-  version = "0.5.2";
+  version = "0.5.3";
 
   goPackagePath = "github.com/guptarohit/asciigraph";
 
@@ -10,7 +10,7 @@ buildGoPackage rec {
     owner = "guptarohit";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-iVgJtxt0B6nMA3bieZ1CmZucwLMb5av6Wn5BMDRWfcI=";
+    sha256 = "sha256-GzFJT4LI1QZzghs9g2A+pqkTg68XC+m9F14rYpMxEXM=";
   };
 
   meta = with lib; {
diff --git a/pkgs/tools/text/chars/default.nix b/pkgs/tools/text/chars/default.nix
index c8d1b1064ac..78caf67bc43 100644
--- a/pkgs/tools/text/chars/default.nix
+++ b/pkgs/tools/text/chars/default.nix
@@ -6,16 +6,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "chars";
-  version = "0.5.0";
+  version = "0.6.0";
 
   src = fetchFromGitHub {
     owner = "antifuchs";
     repo = pname;
     rev = "v${version}";
-    sha256 = "1pyda3b6svxzc98d7ggl7v9xd0xhilmpjrnajzh77zcwzq42s17l";
+    sha256 = "sha256-aswosSXAh0wkO4N/y/H54dufMDrloWjpjrSWHvHR1rc=";
   };
 
-  cargoSha256 = "0ywywbcnc9jm0cfd6kbq8vl6r5dl16sxn7pwi2k6l0sj75pm1i6h";
+  cargoSha256 = "sha256-CqPmasdpXWjCn65G2Ua0h3v+TVP0QPFAdtKOFyoYW/0=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ Security ];
 
diff --git a/pkgs/tools/text/colordiff/default.nix b/pkgs/tools/text/colordiff/default.nix
index 364d3c6edc4..9d56e2e4c19 100644
--- a/pkgs/tools/text/colordiff/default.nix
+++ b/pkgs/tools/text/colordiff/default.nix
@@ -2,13 +2,13 @@
 
 stdenv.mkDerivation rec {
   pname = "colordiff";
-  version = "1.0.19";
+  version = "1.0.20";
 
   src = fetchFromGitHub {
     owner = "daveewart";
     repo = "colordiff";
     rev = "v${version}";
-    sha256 = "1v7s1yn0qvn08iwm5js8mxn442392qyr7s9ij506byfd497ag7qk";
+    sha256 = "sha256-+TtVnUX88LMd8zmhLsKTyR9JlgR7IkUB18PF3LRgPB0=";
   };
 
   nativeBuildInputs = [ docbook_xml_dtd_412 docbook_xsl perl w3m xmlto ];
diff --git a/pkgs/tools/text/crowdin-cli/default.nix b/pkgs/tools/text/crowdin-cli/default.nix
index e8e60d10afb..e73b58d4e6b 100644
--- a/pkgs/tools/text/crowdin-cli/default.nix
+++ b/pkgs/tools/text/crowdin-cli/default.nix
@@ -14,11 +14,11 @@
 
 stdenv.mkDerivation rec {
   pname = "crowdin-cli";
-  version = "3.7.7";
+  version = "3.7.8";
 
   src = fetchurl {
     url = "https://github.com/crowdin/${pname}/releases/download/${version}/${pname}.zip";
-    sha256 = "sha256-9YDWuTniXeTr9t7LzTPBljSrgNw3VeZskFRTlekoMT0=";
+    sha256 = "sha256-z9c12KKrh4hV7A92qinNCQGTxZI6IsmJ3Z+3ZcZZljk=";
   };
 
   nativeBuildInputs = [ installShellFiles makeWrapper unzip ];
diff --git a/pkgs/tools/text/csview/default.nix b/pkgs/tools/text/csview/default.nix
index c0b9c43436f..41ddcfac50a 100644
--- a/pkgs/tools/text/csview/default.nix
+++ b/pkgs/tools/text/csview/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "csview";
-  version = "0.3.12";
+  version = "1.0.1";
 
   src = fetchFromGitHub {
     owner = "wfxr";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-1j3u9r5TjdewAyzuCwCkXl/A2yI9L/AS5QGRpz30N7U=";
+    sha256 = "sha256-tllwFUC+Si3PsYPmiO86D3PNdInuIxxhZW5dAuU4K14=";
   };
 
-  cargoSha256 = "sha256-Z+LnWXvVfZa8Mtr9LrieqCBGxaQE1vj1joSttYM5Xhs=";
+  cargoSha256 = "sha256-j9CwldmxjWYVuiWfAHIV0kr5k/p1BFWHzZiVrv8m7uI=";
 
   meta = with lib; {
     description = "A high performance csv viewer with cjk/emoji support";
diff --git a/pkgs/tools/text/difftastic/default.nix b/pkgs/tools/text/difftastic/default.nix
index ee86bcd635e..729a0900f85 100644
--- a/pkgs/tools/text/difftastic/default.nix
+++ b/pkgs/tools/text/difftastic/default.nix
@@ -2,27 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "difftastic";
-  version = "0.12.0";
+  version = "0.19.0";
 
   src = fetchFromGitHub {
     owner = "wilfred";
     repo = pname;
     rev = version;
-    sha256 = "sha256-A6Z3g6fbYBynyN4OhRrZNO0ZghvT3XnIahdUQ8SE8tU=";
+    sha256 = "sha256-pZyQnPIdyS8XkzP9KwGKRjF21YWGgCVNeQSie9g5NcE=";
   };
 
-  cargoSha256 = "sha256-6/JwrPymtpj/CXqx3Pe43v+MJTNONArU2WEo/zgJhT4=";
-
-  postPatch = ''
-    pushd vendor
-    for grammar in */; do
-      if [ -d "${tree-sitter.grammars}/$grammar" ]; then
-        rm -r "$grammar"
-        ln -s "${tree-sitter.grammars}/$grammar"
-      fi
-    done
-    popd
-  '';
+  cargoSha256 = "sha256-VXbCrhoGF6bCzQ02Y1LQkbEVrmIfDIKFWF9vx43tt94=";
 
   meta = with lib; {
     description = "A syntax-aware diff";
diff --git a/pkgs/tools/text/dirdiff/default.nix b/pkgs/tools/text/dirdiff/default.nix
index e0385d33245..3577242fc0e 100644
--- a/pkgs/tools/text/dirdiff/default.nix
+++ b/pkgs/tools/text/dirdiff/default.nix
@@ -41,7 +41,7 @@ stdenv.mkDerivation rec {
       desktopName = "Dirdiff";
       genericName = "Directory Diff Viewer";
       comment = "Diff and merge directory trees";
-      categories = "Development;";
+      categories = [ "Development" ];
     })
   ];
 
diff --git a/pkgs/tools/text/goawk/default.nix b/pkgs/tools/text/goawk/default.nix
new file mode 100644
index 00000000000..b665c182332
--- /dev/null
+++ b/pkgs/tools/text/goawk/default.nix
@@ -0,0 +1,25 @@
+{ buildGoModule, fetchFromGitHub, lib }:
+buildGoModule rec {
+  pname = "goawk";
+  version = "1.16.0";
+
+  src = fetchFromGitHub {
+    owner = "benhoyt";
+    repo = "goawk";
+    rev = "v${version}";
+    sha256 = "sha256-ALzCcSZHnzidj4tQzZWXT8WDPIE147KWbn7n1JHCTRE=";
+  };
+
+  vendorSha256 = "sha256-pQpattmS9VmO3ZIQUFn66az8GSmB4IvYhTTCFn6SUmo=";
+
+  # checks do not pass at the moment
+  doCheck = false;
+
+  meta = with lib; {
+    description = "A POSIX-compliant AWK interpreter written in Go";
+    homepage = "https://benhoyt.com/writings/goawk/";
+    license = licenses.mit;
+    mainProgram = "goawk";
+    maintainers = with maintainers; [ abbe ];
+  };
+}
diff --git a/pkgs/tools/text/hottext/default.nix b/pkgs/tools/text/hottext/default.nix
index 5472c8a36cf..f6c70013b4c 100644
--- a/pkgs/tools/text/hottext/default.nix
+++ b/pkgs/tools/text/hottext/default.nix
@@ -19,7 +19,7 @@ nimPackages.buildNimPackage rec {
   HOTTEXT_FONT_PATH = "${gentium}/share/fonts/truetype/GentiumPlus-Regular.ttf";
 
   desktopItem = makeDesktopItem {
-    categories = "Utility;";
+    categories = [ "Utility" ];
     comment = meta.description;
     desktopName = pname;
     exec = pname;
diff --git a/pkgs/tools/text/mark/default.nix b/pkgs/tools/text/mark/default.nix
index 5e4bd7becc5..9c7f4e2b385 100644
--- a/pkgs/tools/text/mark/default.nix
+++ b/pkgs/tools/text/mark/default.nix
@@ -2,16 +2,16 @@
 
 buildGoModule rec {
   pname = "mark";
-  version = "6.7";
+  version = "8.0";
 
   src = fetchFromGitHub {
     owner  = "kovetskiy";
     repo   = "mark";
     rev    = version;
-    sha256 = "sha256-ZPKYZbWrR69V4SkXTiAK59Q2xpxkOC6KyAuspjzERwQ=";
+    sha256 = "sha256-1cJt/+OClc7YxSy9kGLQrREckjDvMIBdzet9SJGPb84=";
   };
 
-  vendorSha256 = "sha256-Yp47FBS8JN/idBfZG0z0f2A1bzob8KTPtZ7u0cNCrM8=";
+  vendorSha256 = "sha256-a+pWSt24+aNABcLhiiFy+g/imBQtiqliAAWWkjPolxU=";
 
   ldflags = [ "-s" "-w" "-X main.version=${version}" ];
 
diff --git a/pkgs/tools/text/mdbook-graphviz/default.nix b/pkgs/tools/text/mdbook-graphviz/default.nix
index d61daf262d9..353c2b99ee9 100644
--- a/pkgs/tools/text/mdbook-graphviz/default.nix
+++ b/pkgs/tools/text/mdbook-graphviz/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-graphviz";
-  version = "0.1.3";
+  version = "0.1.4";
 
   src = fetchFromGitHub {
     owner = "dylanowen";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-yY8ZdRNP0G9dwrwUtNZIaodIlEK4GRgZQ5D1GpLhDGg=";
+    sha256 = "sha256-HTHGb23wc10iAWXX/TNMXjTLWm+OSf1WWW1+/aQRcsk=";
   };
 
-  cargoSha256 = "sha256-d8/xa2Aq6g0Kvqq11kzVTp1oooN6dPowpKW0uenBevw=";
+  cargoSha256 = "sha256-7z/4brKY9vpic8mv1b4P/8DE+VyColYnPPoPmY9891M=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/mdbook-linkcheck/default.nix b/pkgs/tools/text/mdbook-linkcheck/default.nix
new file mode 100644
index 00000000000..b37b16876b0
--- /dev/null
+++ b/pkgs/tools/text/mdbook-linkcheck/default.nix
@@ -0,0 +1,33 @@
+{ lib, stdenv, fetchFromGitHub, rustPlatform, pkg-config, openssl, Security
+, testVersion, mdbook-linkcheck }:
+
+rustPlatform.buildRustPackage rec {
+  pname = "mdbook-linkcheck";
+  version = "0.7.6";
+
+  src = fetchFromGitHub {
+    owner = "Michael-F-Bryan";
+    repo = pname;
+    rev = "v${version}";
+    sha256 = "sha256-ZEOuA8W05800cnArscaGGOWTgzU6V3/wJiQcSx1MVkY=";
+  };
+
+  cargoSha256 = "sha256-EtPhbKvPHSnmPXemCzOXujlqqfdDSFaJpcZVJoHQq6U=";
+
+  buildInputs = if stdenv.isDarwin then [ Security ] else [ openssl ];
+
+  nativeBuildInputs = lib.optionals (!stdenv.isDarwin) [ pkg-config ];
+
+  OPENSSL_NO_VENDOR = 1;
+
+  doCheck = false; # tries to access network to test broken web link functionality
+
+  passthru.tests.version = testVersion { package = mdbook-linkcheck; };
+
+  meta = with lib; {
+    description = "A backend for `mdbook` which will check your links for you.";
+    homepage = "https://github.com/Michael-F-Bryan/mdbook-linkcheck";
+    license = licenses.mit;
+    maintainers = with maintainers; [ zhaofengli ];
+  };
+}
diff --git a/pkgs/tools/text/mdbook-mermaid/default.nix b/pkgs/tools/text/mdbook-mermaid/default.nix
index 0d81895d206..05bf89e3018 100644
--- a/pkgs/tools/text/mdbook-mermaid/default.nix
+++ b/pkgs/tools/text/mdbook-mermaid/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdbook-mermaid";
-  version = "0.9.0";
+  version = "0.10.0";
 
   src = fetchFromGitHub {
     owner = "badboy";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-AUhJwAi1rdM7tw8rm8lSQ1tBu+NtxMgVRB2sat4Dyps=";
+    sha256 = "sha256-dXeu/e92lafurA/bqKoszIjK/3qw/ZvVKnDxYALRpTk=";
   };
 
-  cargoSha256 = "sha256-0j1cSTH3lK/knJBUH+B7qBdRh8cBqB8hNz7i3vN2+tE=";
+  cargoSha256 = "sha256-LVfeQPRpwv1l3Brm8HJYoYvv26fJhsfR4I9Ds4NuWQM=";
 
   buildInputs = lib.optionals stdenv.isDarwin [ CoreServices ];
 
diff --git a/pkgs/tools/text/mdcat/default.nix b/pkgs/tools/text/mdcat/default.nix
index fdf05fe2001..f6dcd72d7bf 100644
--- a/pkgs/tools/text/mdcat/default.nix
+++ b/pkgs/tools/text/mdcat/default.nix
@@ -1,6 +1,6 @@
 { lib
 , stdenv
-, fetchFromGitHub
+, fetchFromGitea
 , rustPlatform
 , pkg-config
 , asciidoctor
@@ -12,20 +12,21 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "mdcat";
-  version = "0.25.1";
+  version = "0.26.1";
 
-  src = fetchFromGitHub {
-    owner = "lunaryorn";
-    repo = pname;
+  src = fetchFromGitea {
+    domain = "codeberg.org";
+    owner = "flausch";
+    repo = "mdcat";
     rev = "mdcat-${version}";
-    sha256 = "sha256-deG2VjyjFs0LFeTXfPYy3zzjj0rpVjxE0DhkpD5PzSQ=";
+    sha256 = "sha256-vB49EwQltonR9Uw8RRMZTPR4WkcylnIqiE0/8+t2R1Q=";
   };
 
   nativeBuildInputs = [ pkg-config asciidoctor installShellFiles ];
   buildInputs = [ openssl ]
     ++ lib.optional stdenv.isDarwin Security;
 
-  cargoSha256 = "sha256-bPGSdXooBZMye3yj00f3rWIiW4wfg2B4meH44hpkXTY=";
+  cargoSha256 = "sha256-v52ob5l5HiiZZmo88D9/ldFi0170/BuPzgKIt9ctSgU=";
 
   checkInputs = [ ansi2html ];
   # Skip tests that use the network and that include files.
@@ -50,7 +51,7 @@ rustPlatform.buildRustPackage rec {
   meta = with lib; {
     description = "cat for markdown";
     homepage = "https://github.com/lunaryorn/mdcat";
-    license = with licenses; [ asl20 ];
+    license = with licenses; [ mpl20 ];
     maintainers = with maintainers; [ davidtwco SuperSandro2000 ];
   };
 }
diff --git a/pkgs/tools/text/pru/Gemfile b/pkgs/tools/text/pru/Gemfile
new file mode 100644
index 00000000000..84e6742401e
--- /dev/null
+++ b/pkgs/tools/text/pru/Gemfile
@@ -0,0 +1,2 @@
+source 'https://rubygems.org'
+gem 'pru'
diff --git a/pkgs/tools/text/pru/Gemfile.lock b/pkgs/tools/text/pru/Gemfile.lock
new file mode 100644
index 00000000000..98a00ad5368
--- /dev/null
+++ b/pkgs/tools/text/pru/Gemfile.lock
@@ -0,0 +1,13 @@
+GEM
+  remote: https://rubygems.org/
+  specs:
+    pru (0.2.1)
+
+PLATFORMS
+  ruby
+
+DEPENDENCIES
+  pru
+
+BUNDLED WITH
+   2.1.4
diff --git a/pkgs/tools/text/pru/default.nix b/pkgs/tools/text/pru/default.nix
new file mode 100644
index 00000000000..26e74344248
--- /dev/null
+++ b/pkgs/tools/text/pru/default.nix
@@ -0,0 +1,24 @@
+{ lib
+, bundlerApp
+, bundlerUpdateScript
+}:
+
+bundlerApp rec {
+  pname = "pru";
+  gemdir = ./.;
+  exes = [ "pru" ];
+
+  meta = with lib; {
+    homepage = "https://github.com/grosser/pru";
+    description = "Pipeable Ruby";
+    longDescription = ''
+      pru allows to use Ruby scripts as filters, working as a convenient,
+      higher-level replacement of typical text processing tools (like sed, awk,
+      grep etc.).
+    '';
+    license = licenses.mit;
+    maintainers = with maintainers; [ AndersonTorres ];
+  };
+
+  passthru.updateScript = bundlerUpdateScript pname;
+}
diff --git a/pkgs/tools/text/pru/gemset.nix b/pkgs/tools/text/pru/gemset.nix
new file mode 100644
index 00000000000..76d469ef1b7
--- /dev/null
+++ b/pkgs/tools/text/pru/gemset.nix
@@ -0,0 +1,12 @@
+{
+  pru = {
+    groups = ["default"];
+    platforms = [];
+    source = {
+      remotes = ["https://rubygems.org"];
+      sha256 = "1imavf7wlbdfxvkrf838pp3cyfib0r7nzv0chnhyxagy1kk969r2";
+      type = "gem";
+    };
+    version = "0.2.1";
+  };
+}
diff --git a/pkgs/tools/text/rosie/default.nix b/pkgs/tools/text/rosie/default.nix
index 4f70f972b68..a4edf55f750 100644
--- a/pkgs/tools/text/rosie/default.nix
+++ b/pkgs/tools/text/rosie/default.nix
@@ -1,5 +1,5 @@
-{ stdenv
-, lib
+{ lib
+, stdenv
 , fetchgit
 , libbsd
 , readline
@@ -8,6 +8,7 @@
 stdenv.mkDerivation rec {
   pname = "rosie";
   version = "unstable-2020-01-11";
+
   src = fetchgit {
     url = "https://gitlab.com/rosie-pattern-language/rosie";
     rev = "670e9027563609ba2ea31e14e2621a1302742795";
diff --git a/pkgs/tools/text/ruplacer/default.nix b/pkgs/tools/text/ruplacer/default.nix
index ccf1abe5396..11cb4e6db07 100644
--- a/pkgs/tools/text/ruplacer/default.nix
+++ b/pkgs/tools/text/ruplacer/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "ruplacer";
-  version = "0.6.2";
+  version = "0.6.3";
 
   src = fetchFromGitHub {
     owner = "TankerHQ";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-gme/p/F+LvfzynPNKmaPbNsKbwNKFCeEbAADk5PyMh8=";
+    sha256 = "sha256-5r1OywctKAeSBPzjYSPith1QNxRH0hman7lnSym2XIY=";
   };
 
-  cargoSha256 = "sha256-/37TBl/FnCtkiufusPuJIpirD2WVO882xSqrfWVMNW0=";
+  cargoSha256 = "sha256-JrVPEuGBVo+NCsZ1DH/Af8OLWiNXnQIBxiOukw+W5Qo=";
 
   buildInputs = (lib.optional stdenv.isDarwin Security);
 
diff --git a/pkgs/tools/text/sad/default.nix b/pkgs/tools/text/sad/default.nix
index fcf75ed7a87..0de0f745a23 100644
--- a/pkgs/tools/text/sad/default.nix
+++ b/pkgs/tools/text/sad/default.nix
@@ -5,16 +5,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "sad";
-  version = "0.4.17";
+  version = "0.4.20";
 
   src = fetchFromGitHub {
     owner = "ms-jpq";
     repo = pname;
     rev = "v${version}";
-    sha256 = "sha256-dclnsncql3TFOZ4z6SyIAWe4bgAFK3Us3xJ0AeX/wNA=";
+    sha256 = "sha256-BhkSqXiQPOSYnCXqjAqenKx3DextxPluqsTAMI4Xs7g=";
   };
 
-  cargoSha256 = "sha256-jej7JKSllBpb13Zq0WrcDPLdMtnjau8I0a4ghstHVqk=";
+  cargoSha256 = "sha256-aKTF0DH8Lf/H6OfQPuQ6yGOmUEUguYcHMCuYKIjNR9k=";
 
   meta = with lib; {
     description = "CLI tool to search and replace";
diff --git a/pkgs/tools/text/shfmt/default.nix b/pkgs/tools/text/shfmt/default.nix
index 5309ee01b9a..061e1f709eb 100644
--- a/pkgs/tools/text/shfmt/default.nix
+++ b/pkgs/tools/text/shfmt/default.nix
@@ -2,13 +2,13 @@
 
 buildGoModule rec {
   pname = "shfmt";
-  version = "3.4.2";
+  version = "3.4.3";
 
   src = fetchFromGitHub {
     owner = "mvdan";
     repo = "sh";
     rev = "v${version}";
-    sha256 = "sha256-xJlOEjGhxpfH3w+RvjXKjXoWPzQ6JkpldxLuKMkVvq0=";
+    sha256 = "sha256-tE7U/hE1Z/9VZTYt2jU0IE11cS01l6wTPVFuXH36sM4=";
   };
 
   vendorSha256 = "sha256-ZYsQ+wE+G7xNrBN29npSxxPCz9+Wb/RsBzM5uwJkhO8=";
diff --git a/pkgs/tools/text/vale/default.nix b/pkgs/tools/text/vale/default.nix
index 86ea78c4aa1..91ac9ae2e12 100644
--- a/pkgs/tools/text/vale/default.nix
+++ b/pkgs/tools/text/vale/default.nix
@@ -2,7 +2,7 @@
 
 buildGoModule rec {
   pname = "vale";
-  version = "2.14.0";
+  version = "2.15.2";
 
   subPackages = [ "cmd/vale" ];
   outputs = [ "out" "data" ];
@@ -11,10 +11,10 @@ buildGoModule rec {
     owner = "errata-ai";
     repo = "vale";
     rev = "v${version}";
-    sha256 = "sha256-4kFd2ULap9kcMu81Lu0SxER7xDAnVVyi9yAVsS1yhnw=";
+    sha256 = "sha256-4KP4/mfuHTYxOwWqHOa2RNHgElOg6YNAEFmiuF/sHa8=";
   };
 
-  vendorSha256 = "sha256-MGNv1mEIOvhcpL40MuQob5Uu4qqIGhJxPZTi8BvqQ0s=";
+  vendorSha256 = "sha256-2vYe943HHybOLcP8nDJe7RimMRIJdND2UPwtwB2mttE=";
 
   postInstall = ''
     mkdir -p $data/share/vale
diff --git a/pkgs/tools/text/xml/basex/default.nix b/pkgs/tools/text/xml/basex/default.nix
index 92fde60c23c..4d6d23054da 100644
--- a/pkgs/tools/text/xml/basex/default.nix
+++ b/pkgs/tools/text/xml/basex/default.nix
@@ -19,8 +19,8 @@ stdenv.mkDerivation rec {
     comment = "Visually query and analyse your XML data";
     desktopName = "BaseX XML Database";
     genericName = "XML database tool";
-    categories = "Development;Utility;Database";
-    mimeType = "text/xml";
+    categories = [ "Development" "Utility" "Database" ];
+    mimeTypes = [ "text/xml" ];
   });
 
   dontBuild = true;
diff --git a/pkgs/tools/text/xml/html-xml-utils/default.nix b/pkgs/tools/text/xml/html-xml-utils/default.nix
index ab573dfd7a1..f535449daf1 100644
--- a/pkgs/tools/text/xml/html-xml-utils/default.nix
+++ b/pkgs/tools/text/xml/html-xml-utils/default.nix
@@ -2,11 +2,11 @@
 
 stdenv.mkDerivation rec {
   pname = "html-xml-utils";
-  version = "8.1";
+  version = "8.2";
 
   src = fetchurl {
     url = "https://www.w3.org/Tools/HTML-XML-utils/${pname}-${version}.tar.gz";
-    sha256 = "sha256-23SCNQpo0udPbCpuF9hxugbJQQHs4edKNX6nghu0Ges=";
+    sha256 = "sha256-ANs8xod8iFv81ACZM859Qn1HIVbyUConyha8rwH6rmQ=";
   };
 
   buildInputs = [curl libiconv];
diff --git a/pkgs/tools/typesetting/asciidoc/default.nix b/pkgs/tools/typesetting/asciidoc/default.nix
index 0618a55df44..be7f978a42a 100644
--- a/pkgs/tools/typesetting/asciidoc/default.nix
+++ b/pkgs/tools/typesetting/asciidoc/default.nix
@@ -147,7 +147,9 @@ let
 in
 
 stdenv.mkDerivation rec {
-  pname = "asciidoc";
+  pname = "asciidoc"
+    + lib.optionalString enableStandardFeatures "-full"
+    + lib.optionalString enableExtraPlugins "-with-plugins";
   version = "9.1.0";
 
   # Note: a substitution to improve reproducibility should be updated once 10.0.0 is
diff --git a/pkgs/tools/typesetting/htmldoc/default.nix b/pkgs/tools/typesetting/htmldoc/default.nix
index cd48a3fd876..9ce2de02d30 100644
--- a/pkgs/tools/typesetting/htmldoc/default.nix
+++ b/pkgs/tools/typesetting/htmldoc/default.nix
@@ -2,12 +2,12 @@
 
 stdenv.mkDerivation rec {
   pname = "htmldoc";
-  version = "1.9.14";
+  version = "1.9.15";
   src = fetchFromGitHub {
     owner = "michaelrsweet";
     repo = "htmldoc";
     rev = "v${version}";
-    sha256 = "sha256-mPykntRKu2NrIIGYGNCATUC3k/dvRmVkjHyhBeFfQ2U=";
+    sha256 = "sha256-WNsYJacZBYoZ8Bxj+InQ9ePvelqhU5y9nY7aikUNxEk=";
   };
 
   nativeBuildInputs = [ pkg-config ];
diff --git a/pkgs/tools/typesetting/pdftk/default.nix b/pkgs/tools/typesetting/pdftk/default.nix
index fd801527e11..192b5424e9a 100644
--- a/pkgs/tools/typesetting/pdftk/default.nix
+++ b/pkgs/tools/typesetting/pdftk/default.nix
@@ -32,7 +32,7 @@ let
 
     outputHashAlgo = "sha256";
     outputHashMode = "recursive";
-    outputHash = "0qx1axqr0h5zbn2z9bnb1d0rbs0vajw4p8szw34nicngnn213g7k";
+    outputHash = "sha256-IlHuvFfkqM3O+3PPVBqUJzQXJELKGKHrmI1tdxsBpSk=";
   };
 
   # Point to our local deps repo
diff --git a/pkgs/tools/typesetting/skribilo/default.nix b/pkgs/tools/typesetting/skribilo/default.nix
index e80c4326651..85031f90084 100644
--- a/pkgs/tools/typesetting/skribilo/default.nix
+++ b/pkgs/tools/typesetting/skribilo/default.nix
@@ -10,7 +10,7 @@
 , makeWrapper
 , pkg-config
 , ploticus
-, transfig
+, fig2dev
 , enableEmacs ? false, emacs
 , enableLout ? true, lout
 , enableTex ? true, tex
@@ -39,7 +39,7 @@ in stdenv.mkDerivation rec{
     guile-reader
     imagemagick
     ploticus
-    transfig
+    fig2dev
   ]
   ++ optional enableEmacs emacs
   ++ optional enableLout lout
diff --git a/pkgs/tools/typesetting/tectonic/default.nix b/pkgs/tools/typesetting/tectonic/default.nix
index bfd0bfb64bf..b59a96bb3f8 100644
--- a/pkgs/tools/typesetting/tectonic/default.nix
+++ b/pkgs/tools/typesetting/tectonic/default.nix
@@ -40,6 +40,8 @@ rustPlatform.buildRustPackage rec {
       --replace Exec=tectonic Exec=$out/bin/tectonic
     install -D dist/appimage/tectonic.desktop -t $out/share/applications/
     install -D dist/appimage/tectonic.svg -t $out/share/icons/hicolor/scalable/apps/
+
+    ln -s $out/bin/tectonic $out/bin/nextonic
   '';
 
   doCheck = true;
diff --git a/pkgs/tools/typesetting/tex/dblatex/default.nix b/pkgs/tools/typesetting/tex/dblatex/default.nix
index dbd4fed1474..99ef9a8a71a 100644
--- a/pkgs/tools/typesetting/tex/dblatex/default.nix
+++ b/pkgs/tools/typesetting/tex/dblatex/default.nix
@@ -1,5 +1,5 @@
 { lib, stdenv, fetchurl, python3, libxslt, texlive
-, enableAllFeatures ? false, imagemagick ? null, transfig ? null, inkscape ? null, fontconfig ? null, ghostscript ? null
+, enableAllFeatures ? false, imagemagick, fig2dev, inkscape, fontconfig, ghostscript
 
 , tex ? texlive.combine { # satisfy all packages that ./configure mentions
     inherit (texlive) scheme-basic epstopdf anysize appendix changebar
@@ -13,13 +13,6 @@
 # NOTE: enableAllFeatures just purifies the expression, it doesn't actually
 # enable any extra features.
 
-assert enableAllFeatures ->
-  imagemagick != null &&
-  transfig != null &&
-  inkscape != null &&
-  fontconfig != null &&
-  ghostscript != null;
-
 stdenv.mkDerivation rec {
   pname = "dblatex";
   version = "0.3.12";
@@ -30,7 +23,7 @@ stdenv.mkDerivation rec {
   };
 
   buildInputs = [ python3 libxslt tex ]
-    ++ lib.optionals enableAllFeatures [ imagemagick transfig ];
+    ++ lib.optionals enableAllFeatures [ imagemagick fig2dev ];
 
   # TODO: dblatex tries to execute texindy command, but nixpkgs doesn't have
   # that yet. In Ubuntu, texindy is a part of the xindy package.
@@ -49,7 +42,7 @@ stdenv.mkDerivation rec {
             -e 's|"fc-match"|"${fontconfig.bin}/bin/fc-match"|g' \
             -e 's|"fc-list"|"${fontconfig.bin}/bin/fc-list"|g' \
             -e 's|cmd = "inkscape|cmd = "${inkscape}/bin/inkscape|g' \
-            -e 's|cmd = "fig2dev|cmd = "${transfig}/bin/fig2dev|g' \
+            -e 's|cmd = "fig2dev|cmd = "${fig2dev}/bin/fig2dev|g' \
             -e 's|cmd = \["ps2pdf|cmd = ["${ghostscript}/bin/ps2pdf|g' \
             -e 's|cmd = "convert|cmd = "${imagemagick.out}/bin/convert|g' \
             -i "$file"
diff --git a/pkgs/tools/video/mjpegtools/default.nix b/pkgs/tools/video/mjpegtools/default.nix
index 77c187a48a6..4d9fdfd7820 100644
--- a/pkgs/tools/video/mjpegtools/default.nix
+++ b/pkgs/tools/video/mjpegtools/default.nix
@@ -35,7 +35,7 @@ stdenv.mkDerivation rec {
   meta = with lib; {
     description = "A suite of programs for processing MPEG or MJPEG video";
     homepage = "http://mjpeg.sourceforge.net/";
-    license = licenses.gpl2;
+    license = licenses.gpl2Plus;
     platforms = platforms.unix;
     maintainers = with maintainers; [ abbradar ];
   };
diff --git a/pkgs/tools/video/rav1e/default.nix b/pkgs/tools/video/rav1e/default.nix
index e35057fb888..ed6a8f54234 100644
--- a/pkgs/tools/video/rav1e/default.nix
+++ b/pkgs/tools/video/rav1e/default.nix
@@ -4,14 +4,14 @@ let
   rustTargetPlatformSpec = rust.toRustTargetSpec stdenv.hostPlatform;
 in rustPlatform.buildRustPackage rec {
   pname = "rav1e";
-  version = "0.5.0";
+  version = "0.5.1";
 
   src = fetchCrate {
     inherit pname version;
-    sha256 = "sha256-3g2wqQJk26KUfzmneKdTxfNSRI/ioMa5MR6AEeR7eKs=";
+    sha256 = "sha256-v2i/dMWos+nB3cRDOkROSOPb1ONRosbmp9RDZI2DLeI=";
   };
 
-  cargoSha256 = "sha256-sPUAWQj8UDHV7IvYnerASltSPPGVB7f1tThqFYBu6t4=";
+  cargoSha256 = "sha256-V9QbztkFj3t5yBV+yySysDy3Q6IUY4gNzBL8h23aEg4=";
 
   nativeBuildInputs = [ nasm cargo-c ];
   buildInputs = lib.optionals stdenv.isDarwin [ libiconv ];
diff --git a/pkgs/tools/virtualization/awsebcli/default.nix b/pkgs/tools/virtualization/awsebcli/default.nix
index eaaf7046fff..734ba58e693 100644
--- a/pkgs/tools/virtualization/awsebcli/default.nix
+++ b/pkgs/tools/virtualization/awsebcli/default.nix
@@ -1,65 +1,57 @@
-{ lib, python3, glibcLocales }:
+{ lib, python3, glibcLocales, docker-compose }:
 let
+  docker_compose = changeVersion (with localPython.pkgs; docker-compose.override {
+    inherit colorama pyyaml six dockerpty docker jsonschema requests websocket-client paramiko;
+  }).overridePythonAttrs "1.25.5" "1ijhg93zs3lswkljnm0rhww7gdy0g94psvsya2741prz2zcbcbks";
 
-  localPython = python3.override {
-    packageOverrides = self: super: {
-      cement = super.cement.overridePythonAttrs (oldAttrs: rec {
-        version = "2.8.2";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "1li2whjzfhbpg6fjb6r1r92fb3967p1xv6hqs3j787865h2ysrc7";
-        };
-      });
-
-      colorama = super.colorama.overridePythonAttrs (oldAttrs: rec {
-        version = "0.3.7";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "0avqkn6362v7k2kg3afb35g4sfdvixjgy890clip4q174p9whhz0";
-        };
-      });
-
-      pathspec = super.pathspec.overridePythonAttrs (oldAttrs: rec {
-        name = "${oldAttrs.pname}-${version}";
-        version = "0.5.5";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "72c495d1bbe76674219e307f6d1c6062f2e1b0b483a5e4886435127d0df3d0d3";
-        };
-      });
-
-      requests = super.requests.overridePythonAttrs (oldAttrs: rec {
-        version = "2.9.1";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "0zsqrzlybf25xscgi7ja4s48y2abf9wvjkn47wh984qgs1fq2xy5";
-        };
-      });
+  changeVersion = overrideFunc: version: sha256: overrideFunc (oldAttrs: rec {
+    inherit version;
+    src = oldAttrs.src.override {
+      inherit version sha256;
+    };
+  });
 
-      semantic-version = super.semantic-version.overridePythonAttrs (oldAttrs: rec {
-        version = "2.5.0";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "0p5n3d6blgkncxdz00yxqav0cis87fisdkirjm0ljjh7rdfx7aiv";
-        };
-      });
+  changeVersionHash = overrideFunc: version: hash: overrideFunc (oldAttrs: rec {
+    inherit version;
+    src = oldAttrs.src.override {
+      inherit version hash;
+    };
+  });
 
-      tabulate = super.tabulate.overridePythonAttrs (oldAttrs: rec {
-        version = "0.7.5";
-        src = oldAttrs.src.override {
-          inherit version;
-          sha256 = "03l1r7ddd1a0j2snv1yd0hlnghjad3fg1an1jr8936ksv75slwch";
-        };
-      });
+  localPython = python3.override
+    {
+      self = localPython;
+      packageOverrides = self: super: {
+        cement = changeVersion super.cement.overridePythonAttrs "2.8.2" "1li2whjzfhbpg6fjb6r1r92fb3967p1xv6hqs3j787865h2ysrc7";
+        botocore = changeVersion super.botocore.overridePythonAttrs "1.23.54" "sha256-S7m6FszO5fWiYCBJvD4ttoZTRrJVBmfzATvfM7CgHOs=";
+        colorama = changeVersion super.colorama.overridePythonAttrs "0.4.3" "189n8hpijy14jfan4ha9f5n06mnl33cxz7ay92wjqgkr639s0vg9";
+        future = changeVersion super.future.overridePythonAttrs "0.16.0" "1nzy1k4m9966sikp0qka7lirh8sqrsyainyf8rk97db7nwdfv773";
+        requests = changeVersionHash super.requests.overridePythonAttrs "2.26.0" "sha256-uKpY+M95P/2HgtPYyxnmbvNverpDU+7IWedGeLAbB6c=";
+        six = changeVersion super.six.overridePythonAttrs "1.14.0" "02lw67hprv57hyg3cfy02y3ixjk3nzwc0dx3c4ynlvkfwkfdnsr3";
+        wcwidth = changeVersion super.wcwidth.overridePythonAttrs "0.1.9" "1wf5ycjx8s066rdvr0fgz4xds9a8zhs91c4jzxvvymm1c8l8cwzf";
+        pyyaml = super.pyyaml.overridePythonAttrs (oldAttrs: rec {
+          version = "5.4.1";
+          checkPhase = ''
+            runHook preCheck
+            PYTHONPATH="tests/lib3:$PYTHONPATH" ${localPython.interpreter} -m test_all
+            runHook postCheck
+          '';
+          src = localPython.pkgs.fetchPypi {
+            pname = "PyYAML";
+            inherit version;
+            sha256 = "sha256-YHd0y7oocyv6gCtUuqdIQhX1MJkQVbtWLvvtWy8gpF4=";
+          };
+        });
+      };
     };
-  };
-in with localPython.pkgs; buildPythonApplication rec {
+in
+with localPython.pkgs; buildPythonApplication rec {
   pname = "awsebcli";
-  version = "3.12.4";
+  version = "3.20.3";
 
   src = fetchPypi {
     inherit pname version;
-    sha256 = "128dgxyz2bgl3r4jdkbmjs280004bm0dwzln7p6ly3yjs2x37jl6";
+    sha256 = "sha256-W3nUXPAXoicDQNXigktR1+b/9W6qvi90fujrXAekxTU=";
   };
 
   buildInputs = [
@@ -69,29 +61,38 @@ in with localPython.pkgs; buildPythonApplication rec {
   LC_ALL = "en_US.UTF-8";
 
   checkInputs = [
-    pytest mock nose pathspec colorama requests docutils
+    pytest
+    mock
+    nose
+    pathspec
+    colorama
+    requests
+    docutils
   ];
 
-  doCheck = false;
+  doCheck = true;
 
   propagatedBuildInputs = [
-    # FIXME: Add optional docker dependency, which requires requests >= 2.14.2.
-    # Otherwise, awsebcli will try to install it using pip when using some
-    # commands (like "eb local run").
-    blessed botocore cement colorama dockerpty docopt pathspec pyyaml
-    requests semantic-version setuptools tabulate termcolor websocket-client
+    blessed
+    botocore
+    cement
+    colorama
+    pathspec
+    pyyaml
+    future
+    requests
+    semantic-version
+    setuptools
+    tabulate
+    termcolor
+    websocket-client
+    docker_compose
   ];
 
-  postInstall = ''
-    mkdir -p $out/share/bash-completion/completions
-    mv $out/bin/eb_completion.bash $out/share/bash-completion/completions/
-  '';
-
   meta = with lib; {
     homepage = "https://aws.amazon.com/elasticbeanstalk/";
     description = "A command line interface for Elastic Beanstalk";
     maintainers = with maintainers; [ eqyiel ];
     license = licenses.asl20;
-    broken = true;
   };
 }
diff --git a/pkgs/tools/virtualization/ec2-utils/default.nix b/pkgs/tools/virtualization/ec2-utils/default.nix
deleted file mode 100644
index 28321910842..00000000000
--- a/pkgs/tools/virtualization/ec2-utils/default.nix
+++ /dev/null
@@ -1,47 +0,0 @@
-{ stdenv, lib, rpmextract, fetchurl, python2, tree }:
-
-stdenv.mkDerivation {
-  pname = "ec2-utils";
-  version = "0.5.1";
-
-  # The url can be determined by booting an "Amazon Linux 2" and running:
-  # > yumdownloader --urls ec2-utils
-  src = fetchurl {
-    url = "http://amazonlinux.ap-northeast-1.amazonaws.com/blobstore/a3b4d2c35c2300518fe10381a05b3bd7936ff5cdd3d351143a11bf84073d9e00/ec2-utils-0.5-1.amzn2.0.1.noarch.rpm";
-    sha256 = "004y7l3q9gqi78a53lykrpsnz4yp7dds1083w67m2013bk1x5d53";
-  };
-
-  nativeBuildInputs = [ rpmextract ];
-
-  buildInputs = [ python2 ];
-
-  unpackPhase = ''
-    mkdir source
-    cd source
-    rpmextract "$src"
-  '';
-
-  installPhase = ''
-    mkdir $out
-
-    mv --target-directory $out \
-      etc sbin usr/bin usr/lib
-  '';
-
-  postFixup = ''
-    for i in $out/etc/udev/rules.d/*.rules; do
-      substituteInPlace "$i" \
-        --replace '/sbin' "$out/bin"
-    done
-
-    substituteInPlace "$out/etc/udev/rules.d/70-ec2-nvme-devices.rules" \
-      --replace 'ec2nvme-nsid' "$out/lib/udev/ec2nvme-nsid"
-  '';
-
-  meta = {
-    description = "A set of tools for running in EC2";
-    homepage = "https://aws.amazon.com/amazon-linux-ami/";
-    license = lib.licenses.asl20;
-    maintainers = with lib.maintainers; [ thefloweringash ];
-  };
-}
diff --git a/pkgs/tools/virtualization/google-guest-oslogin/default.nix b/pkgs/tools/virtualization/google-guest-oslogin/default.nix
index 6dceeecfd6e..50ead9de726 100644
--- a/pkgs/tools/virtualization/google-guest-oslogin/default.nix
+++ b/pkgs/tools/virtualization/google-guest-oslogin/default.nix
@@ -10,13 +10,13 @@
 
 stdenv.mkDerivation rec {
   pname = "google-guest-oslogin";
-  version = "20211213.00";
+  version = "20220205.00";
 
   src = fetchFromGitHub {
     owner = "GoogleCloudPlatform";
     repo = "guest-oslogin";
     rev = version;
-    sha256 = "sha256-8RuLYdWfk8zPfoF06r5E/6eHQ7tziZbgGhZlLCUW600=";
+    sha256 = "sha256-CVJAWda8bn5MPO8ACLtosVvZzuxPbOj377WaysZdhDU=";
   };
 
   postPatch = ''
diff --git a/pkgs/tools/virtualization/linode-cli/default.nix b/pkgs/tools/virtualization/linode-cli/default.nix
index 014459888bc..31a3e5dac4c 100644
--- a/pkgs/tools/virtualization/linode-cli/default.nix
+++ b/pkgs/tools/virtualization/linode-cli/default.nix
@@ -11,10 +11,10 @@
 }:
 
 let
-  sha256 = "0vyvmfrq3jnwqqjf2rsd5qnnwvvq71165ws7smnxk5jn8lqkq6z1";
+  sha256 = "1f0nrdg8hf650qxz79i3a1d2zyf24niyrcnbnhc9i7hzbnqbp5qg";
   # specVersion taken from: https://www.linode.com/docs/api/openapi.yaml at `info.version`.
-  specVersion = "4.114.0";
-  specSha256 = "1q0w2d3wb41f36rc04cdipfld9h3llcy1fndqmpymc1c55fc949r";
+  specVersion = "4.115.0";
+  specSha256 = "1s9pis1jl6d8znkb8hwsv89wzf38bhjing4x4q9ggy038y7xkkwg";
   spec = fetchurl {
     url = "https://raw.githubusercontent.com/linode/linode-api-docs/v${specVersion}/openapi.yaml";
     sha256 = specSha256;
@@ -24,7 +24,7 @@ in
 
 buildPythonApplication rec {
   pname = "linode-cli";
-  version = "5.16.0";
+  version = "5.17.1";
 
   src = fetchFromGitHub {
     owner = "linode";
diff --git a/pkgs/tools/virtualization/shipyard/default.nix b/pkgs/tools/virtualization/shipyard/default.nix
index 6994cc25b38..341d604ed04 100644
--- a/pkgs/tools/virtualization/shipyard/default.nix
+++ b/pkgs/tools/virtualization/shipyard/default.nix
@@ -2,15 +2,15 @@
 
 buildGoModule rec {
   pname = "shipyard";
-  version = "0.3.30";
+  version = "0.3.45";
 
   src = fetchFromGitHub {
     rev = "v${version}";
     owner = "shipyard-run";
     repo = pname;
-    sha256 = "sha256-NaCG0oG9j1yoXOsfnQXFd+PdZfJTOdvYndFIftIAnxE=";
+    sha256 = "sha256-gJwcf7X5FTHKNNQczD352yOUjSca45Zn0wc4bvD9Z30=";
   };
-  vendorSha256 = "sha256-YClNdtnakJJOEytTbopTXeZy218N4vHP3tQLavLgPbg=";
+  vendorSha256 = "sha256-mXYnmDppVqhjlkGVkvp1YaEwBEkHBUddxLof389huMQ=";
 
   ldflags = [
     "-s" "-w" "-X main.version=${version}"
diff --git a/pkgs/tools/wayland/swayr/default.nix b/pkgs/tools/wayland/swayr/default.nix
index b6de504be8a..c1bcf3b4e9f 100644
--- a/pkgs/tools/wayland/swayr/default.nix
+++ b/pkgs/tools/wayland/swayr/default.nix
@@ -2,16 +2,16 @@
 
 rustPlatform.buildRustPackage rec {
   pname = "swayr";
-  version = "0.12.1";
+  version = "0.13.0";
 
   src = fetchFromSourcehut {
     owner = "~tsdh";
     repo = "swayr";
     rev = "v${version}";
-    sha256 = "sha256-xcpgebGyYJep4vSdBb0OXhX66DGA7w3B5KYOHj8BKKM=";
+    sha256 = "sha256-V4ETsraJo9X10fPMGSuiokPiSlZGYHncOdfheGom1go=";
   };
 
-  cargoSha256 = "sha256-CYavcHLIQKEh1SoELevAa6g0Q2nksWwcS7/syK4oYq0=";
+  cargoSha256 = "sha256-3ErzkS8u+4Ve26jpDbsYr4BVDm/XEgydYdZ2ErtVuVA=";
 
   patches = [
     ./icon-paths.patch
diff --git a/pkgs/tools/wayland/swaytools/default.nix b/pkgs/tools/wayland/swaytools/default.nix
new file mode 100644
index 00000000000..4c254c9a593
--- /dev/null
+++ b/pkgs/tools/wayland/swaytools/default.nix
@@ -0,0 +1,22 @@
+{ lib, python3Packages, slurp }:
+
+python3Packages.buildPythonApplication rec {
+  pname = "swaytools";
+  version = "0.1.0";
+
+  src = python3Packages.fetchPypi {
+    inherit pname version;
+    sha256 = "1eb89259cbe027a0fa6bfc06ecf94e89b15e6f7b4965104e5b661c916ce7408c";
+  };
+
+  propagatedBuildInputs = [ slurp ];
+
+  passthru.updateScript = ./update.py;
+
+  meta = with lib; {
+    homepage = "https://github.com/tmccombs/swaytools";
+    description = "Collection of simple tools for sway (and i3)";
+    license = licenses.gpl3Only;
+    maintainers = with maintainers; [ atila ];
+  };
+}
diff --git a/pkgs/tools/wayland/swaytools/update.py b/pkgs/tools/wayland/swaytools/update.py
new file mode 100755
index 00000000000..141566848e3
--- /dev/null
+++ b/pkgs/tools/wayland/swaytools/update.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env nix-shell
+#!nix-shell -i python -p python39Packages.requests python39Packages.pip python39Packages.packaging
+
+import requests
+import json
+import subprocess
+try:
+    from packaging.version import parse
+except ImportError:
+    from pip._vendor.packaging.version import parse
+
+
+URL_PATTERN = 'https://pypi.python.org/pypi/{package}/json'
+
+def findLine(key,derivation):
+    count = 0
+    lines = []
+    for line in derivation:
+        if key in line:
+            lines.append(count)
+        count += 1
+    return lines
+
+def get_version(package, url_pattern=URL_PATTERN):
+    """Return version of package on pypi.python.org using json."""
+    req = requests.get(url_pattern.format(package=package))
+    version = parse('0')
+    if req.status_code == requests.codes.ok:
+        j = json.loads(req.text.encode(req.encoding))
+        releases = j.get('releases', [])
+        for release in releases:
+            ver = parse(release)
+            if not ver.is_prerelease:
+                if ver > version:
+                    version = ver
+                    sha256  = j["releases"][release][-1]["digests"]["sha256"]
+    return version, sha256
+
+
+if __name__ == '__main__':
+
+    nixpkgs         = subprocess.check_output(["git", "rev-parse", "--show-toplevel"]).decode("utf-8").strip('\n')
+    swaytoolsFolder = "/pkgs/tools/wayland/swaytools/"
+    with open(nixpkgs + swaytoolsFolder + "default.nix", 'r') as arq:
+        derivation = arq.readlines()
+
+    version, sha256 = get_version('swaytools')
+
+    key = "version = "
+    line = findLine(key,derivation)[0]
+    derivation[line] = f'  version = "{version}";\n'
+
+    key = "sha256 = "
+    line = findLine(key,derivation)[0]
+    derivation[line] = f'    sha256 = "{sha256}";\n'
+
+    with open(nixpkgs + swaytoolsFolder + "default.nix", 'w') as arq:
+        arq.writelines(derivation)
diff --git a/pkgs/tools/wayland/wluma/default.nix b/pkgs/tools/wayland/wluma/default.nix
index fd4db1a934a..555e40384ce 100644
--- a/pkgs/tools/wayland/wluma/default.nix
+++ b/pkgs/tools/wayland/wluma/default.nix
@@ -24,25 +24,14 @@ rustPlatform.buildRustPackage rec {
   nativeBuildInputs = [
     makeWrapper
     pkg-config
+    rustPlatform.bindgenHook
   ];
 
   buildInputs = [
     udev
-    v4l-utils.lib
+    v4l-utils
   ];
 
-  LIBCLANG_PATH="${llvmPackages.libclang.lib}/lib";
-
-  # Works around the issue with rust-bindgen and the Nix gcc wrapper:
-  # https://hoverbear.org/blog/rust-bindgen-in-nix/
-  preBuild = ''
-    export BINDGEN_EXTRA_CLANG_ARGS="$(< ${stdenv.cc}/nix-support/libc-cflags) \
-    $(< ${stdenv.cc}/nix-support/cc-cflags) \
-    -isystem ${llvmPackages.libclang.lib}/lib/clang/${lib.getVersion llvmPackages.clang}/include \
-    -idirafter ${stdenv.cc.cc}/lib/gcc/${stdenv.hostPlatform.config}/${lib.getVersion stdenv.cc.cc}/include \
-    -idirafter ${v4l-utils.dev}/include"
-  '';
-
   postInstall = ''
     wrapProgram $out/bin/wluma \
       --prefix LD_LIBRARY_PATH : "${lib.makeLibraryPath [ vulkan-loader ]}"
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index ce15342507c..7bfda23ca5a 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -3,11 +3,11 @@ lib: self: super:
 with self;
 
 let
-  # Removing recurseForDerivation prevents derivations of aliased attribute
-  # set to appear while listing all the packages available.
+  # Removing recurseForDerivation prevents derivations of aliased attribute set
+  # to appear while listing all the packages available.
   removeRecurseForDerivations = alias: with lib;
-    if alias.recurseForDerivations or false then
-      removeAttrs alias ["recurseForDerivations"]
+    if alias.recurseForDerivations or false
+    then removeAttrs alias ["recurseForDerivations"]
     else alias;
 
   # Disabling distribution prevents top-level aliases for non-recursed package
@@ -17,117 +17,141 @@ let
       dontDistribute alias
     else alias;
 
-  # Make sure that we are not shadowing something from
-  # all-packages.nix.
-  checkInPkgs = n: alias: if builtins.hasAttr n super
-                          then throw "Alias ${n} is still in all-packages.nix"
-                          else alias;
+  # Make sure that we are not shadowing something from all-packages.nix.
+  checkInPkgs = n: alias:
+    if builtins.hasAttr n super
+    then throw "Alias ${n} is still in all-packages.nix"
+    else alias;
 
   mapAliases = aliases:
-    lib.mapAttrs (n: alias: removeDistribute
-                             (removeRecurseForDerivations
-                              (checkInPkgs n alias)))
-                     aliases;
+    lib.mapAttrs (n: alias:
+      removeDistribute
+        (removeRecurseForDerivations
+          (checkInPkgs n alias)))
+      aliases;
 in
 
-  ### Deprecated aliases - for backward compatibility
+### Deprecated aliases - for backward compatibility
+### Please maintain this list in ASCIIbetical ordering.
+### Hint: the "sections" are delimited by ### <letter> ###
+
+# A script to convert old aliases to throws and remove old
+# throws can be found in './maintainers/scripts/remove-old-aliases.py'.
 
 mapAliases ({
+  # forceSystem should not be used directly in Nixpkgs.
+  # Added 2018-07-16
+  forceSystem = system: _:
+    (import self.path { localSystem = { inherit system; }; });
+
   _0x0 = throw "0x0 upstream is abandoned and no longer exists: https://gitlab.com/somasis/scripts/";
-  PPSSPP = ppsspp; # added 2017-10-01
-  QmidiNet = qmidinet;  # added 2016-05-22
-  accounts-qt = libsForQt5.accounts-qt; # added 2015-12-19
-  adobeReader = adobe-reader; # added 2013-11-04
-  adobe_flex_sdk = apache-flex-sdk; # added 2018-06-01
-  aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
-  ag = silver-searcher; # added 2018-04-25
-  aircrackng = aircrack-ng; # added 2016-01-14
-  airtame = throw "airtame has been removed due to being unmaintained."; # added 2022-01-19
-  aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream."; # added 2020-11-30
-  alienfx = throw "alienfx has been removed."; # added 2019-12-08
-  alsaLib = alsa-lib; # added 2021-06-09
-  alsaOss = alsa-oss; # added 2021-06-10
-  alsaPlugins = alsa-plugins; # added 2021-06-10
-  alsaPluginWrapper = alsa-plugins-wrapper; # added 2021-06-10
-  alsaTools = alsa-tools; # added 2021-06-10
-  alsaUtils = alsa-utils; # added 2021-06-10
-  amazon-glacier-cmd-interface = throw "amazon-glacier-cmd-interface has been removed due to it being unmaintained."; # added 2020-10-30
-  aminal = throw "aminal was renamed to darktile."; # added 2021-09-28
-  ammonite-repl = ammonite; # added 2017-05-02
-  amsn = throw "amsn has been removed due to being unmaintained."; # added 2020-12-09
-  angelfish = libsForQt5.plasmaMobileGear.angelfish; # added 2021-10-06
-  antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead."; # added 2020-08-06
-  antimicroX = antimicrox; # added 2021-10-31
-  arduino_core = arduino-core;  # added 2015-02-04
-  ardour_5 = throw "ardour_5 has been removed. see https://github.com/NixOS/nixpkgs/issues/139549"; # added 2021-09-28
-  arora = throw "arora has been removed."; # added 2020-09-09
-  asciidocFull = asciidoc-full;  # added 2014-06-22
-  asn1c = throw "asn1c has been removed: deleted by upstream"; # added 2022-01-07
-  asterisk_15 = throw "asterisk_15: Asterisk 15 is end of life and has been removed."; # added 2020-10-07
-  at_spi2_atk = at-spi2-atk; # added 2018-02-25
-  at_spi2_core = at-spi2-core; # added 2018-02-25
-  aucdtect = throw "aucdtect: Upstream no longer provides download urls."; # added 2020-12-26
-  avldrums-lv2 = x42-avldrums; # added 2020-03-29
-  avxsynth = throw "avxsynth was removed because it was broken"; # added 2021-05-18
-  azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # added 2021-08-02
+
+  ### A ###
+
+  accounts-qt = throw "'accounts-qt' has been renamed to/replaced by 'libsForQt5.accounts-qt'"; # Converted to throw 2022-02-22
+  adobeReader = throw "'adobeReader' has been renamed to/replaced by 'adobe-reader'"; # Converted to throw 2022-02-22
+  adobe_flex_sdk = throw "'adobe_flex_sdk' has been renamed to/replaced by 'apache-flex-sdk'"; # Converted to throw 2022-02-22
+  aesop = throw "aesop has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05
+  ag = throw "'ag' has been renamed to/replaced by 'silver-searcher'"; # Converted to throw 2022-02-22
+  aircrackng = throw "'aircrackng' has been renamed to/replaced by 'aircrack-ng'"; # Converted to throw 2022-02-22
+  airtame = throw "airtame has been removed due to being unmaintained."; # Added 2022-01-19
+  aleth = throw "aleth (previously packaged as cpp_ethereum) has been removed; abandoned upstream."; # Added 2020-11-30
+  alienfx = throw "alienfx has been removed."; # Added 2019-12-08
+  alsaLib = alsa-lib; # Added 2021-06-09
+  alsaOss = alsa-oss; # Added 2021-06-10
+  alsaPluginWrapper = alsa-plugins-wrapper; # Added 2021-06-10
+  alsaPlugins = alsa-plugins; # Added 2021-06-10
+  alsaTools = alsa-tools; # Added 2021-06-10
+  alsaUtils = alsa-utils; # Added 2021-06-10
+  amazon-glacier-cmd-interface = throw "amazon-glacier-cmd-interface has been removed due to it being unmaintained."; # Added 2020-10-30
+  aminal = throw "aminal was renamed to darktile."; # Added 2021-09-28
+  ammonite-repl = throw "'ammonite-repl' has been renamed to/replaced by 'ammonite'"; # Converted to throw 2022-02-22
+  amuleDaemon = throw "amuleDaemon was renamed to amule-daemon."; # Added 2022-02-11
+  amuleGui = throw "amuleGui was renamed to amule-gui."; # Added 2022-02-11
+  amsn = throw "amsn has been removed due to being unmaintained."; # Added 2020-12-09
+  angelfish = libsForQt5.plasmaMobileGear.angelfish; # Added 2021-10-06
+  antimicro = throw "antimicro has been removed as it was broken, see antimicrox instead."; # Added 2020-08-06
+  antimicroX = antimicrox; # Added 2021-10-31
+  ardour_5 = throw "ardour_5 has been removed. see https://github.com/NixOS/nixpkgs/issues/139549"; # Added 2021-09-28
+  arduino_core = throw "'arduino_core' has been renamed to/replaced by 'arduino-core'"; # Converted to throw 2022-02-22
+  arora = throw "arora has been removed."; # Added 2020-09-09
+  asciidocFull = throw "'asciidocFull' has been renamed to/replaced by 'asciidoc-full'"; # Converted to throw 2022-02-22
+  asn1c = throw "asn1c has been removed: deleted by upstream"; # Added 2022-01-07
+  asterisk_15 = throw "asterisk_15: Asterisk 15 is end of life and has been removed."; # Added 2020-10-07
+  at_spi2_atk = throw "'at_spi2_atk' has been renamed to/replaced by 'at-spi2-atk'"; # Converted to throw 2022-02-22
+  at_spi2_core = throw "'at_spi2_core' has been renamed to/replaced by 'at-spi2-core'"; # Converted to throw 2022-02-22
+  aucdtect = throw "aucdtect: Upstream no longer provides download urls."; # Added 2020-12-26
+  avldrums-lv2 = x42-avldrums; # Added 2020-03-29
+  avxsynth = throw "avxsynth was removed because it was broken"; # Added 2021-05-18
+  azureus = throw "azureus is now known as vuze and the version in nixpkgs was really outdated"; # Added 2021-08-02
+
+  ### B ###
+
   badtouch = authoscope; # Project was renamed, added 20210626
-  bar-xft = lemonbar-xft;  # added 2015-01-16
-  bashburn = throw "bashburn has been removed: deleted by upstream"; # added 2022-01-07
-  bashCompletion = bash-completion; # Added 2016-09-28
-  bash_5 = bash; # added 2021-08-20
-  bashInteractive_5 = bashInteractive; # added 2021-08-20
-  batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
-  bazaar = throw "bazaar has been deprecated by breezy."; # added 2020-04-19
-  bazaarTools = throw "bazaar has been deprecated by breezy."; # added 2020-04-19
-  bcat = throw "bcat has been removed because upstream is dead"; # added 2021-08-22
-  beegfs = throw "beegfs has been removed."; # added 2019-11-24
-  beret = throw "beret has been removed"; # added 2021-11-16
-  blastem = throw "blastem has been removed from nixpkgs as it would still require python2."; # added 2022-01-01
+  bar-xft = throw "'bar-xft' has been renamed to/replaced by 'lemonbar-xft'"; # Converted to throw 2022-02-22
+  bashCompletion = throw "'bashCompletion' has been renamed to/replaced by 'bash-completion'"; # Converted to throw 2022-02-22
+  bashInteractive_5 = bashInteractive; # Added 2021-08-20
+  bash_5 = bash; # Added 2021-08-20
+  bashburn = throw "bashburn has been removed: deleted by upstream"; # Added 2022-01-07
+  batti = throw "batti has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10
+  bazaar = throw "bazaar has been deprecated by breezy."; # Added 2020-04-19
+  bazaarTools = throw "bazaar has been deprecated by breezy."; # Added 2020-04-19
+  bcat = throw "bcat has been removed because upstream is dead"; # Added 2021-08-22
+  beegfs = throw "beegfs has been removed."; # Added 2019-11-24
+  beret = throw "beret has been removed"; # Added 2021-11-16
+  bin_replace_string = throw "bin_replace_string has been removed: deleted by upstream"; # Added 2022-01-07
+  bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # Added 2021-08-22
+  blastem = throw "blastem has been removed from nixpkgs as it would still require python2."; # Added 2022-01-01
   bluezFull = bluez; # Added 2019-12-03
-  bin_replace_string = throw "bin_replace_string has been removed: deleted by upstream"; # added 2022-01-07
+  bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # Added 2020-12-10
+  bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # Added 2019-12-10
   bpftool = bpftools; # Added 2021-05-03
-  brackets = throw "brackets has been removed, it was unmaintained and had open vulnerabilities"; # added 2021-01-24
-  bridge_utils = bridge-utils;  # added 2015-02-20
-  bro = zeek; # added 2019-09-29
-  bootchart = throw "bootchart has been removed from nixpkgs, as it is without a maintainer"; # added 2019-12-10
-  bomi = throw "bomi has been removed from nixpkgs since it was broken and abandoned upstream"; # added 2020-12-10
-  btrfsProgs = btrfs-progs; # added 2016-01-03
-  bitsnbots = throw "bitsnbots has been removed because it was broken and upstream missing"; # added 2021-08-22
+  brackets = throw "brackets has been removed, it was unmaintained and had open vulnerabilities"; # Added 2021-01-24
+  bridge_utils = throw "'bridge_utils' has been renamed to/replaced by 'bridge-utils'"; # Converted to throw 2022-02-22
+  bro = zeek; # Added 2019-09-29
+  bird2 = bird; # Added 2022-02-21
+  bird6 = throw "bird6 was dropped. Use bird instead, which has support for both ipv4/ipv6"; # Added 2022-02-21
+  btrfsProgs = throw "'btrfsProgs' has been renamed to/replaced by 'btrfs-progs'"; # Converted to throw 2022-02-22
 
   # bitwarden_rs renamed to vaultwarden with release 1.21.0 (2021-04-30)
   bitwarden_rs = vaultwarden;
-  bitwarden_rs-sqlite = vaultwarden-sqlite;
   bitwarden_rs-mysql = vaultwarden-mysql;
   bitwarden_rs-postgresql = vaultwarden-postgresql;
+  bitwarden_rs-sqlite = vaultwarden-sqlite;
   bitwarden_rs-vault = vaultwarden-vault;
 
-  blink = throw "blink has been removed from nixpkgs, it was unmaintained and required python2 at the time of removal."; # added 2022-01-12
-  bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies."; # added 2021-01-02
-  bsod = throw "bsod has been removed: deleted by upstream"; # added 2022-01-07
-  btc1 = throw "btc1 has been removed, it was abandoned by upstream"; # added 2020-11-03
-  buildPerlPackage = perlPackages.buildPerlPackage; # added 2018-10-12
-  buildkite-agent3 = buildkite-agent; # added 2018-09-26
-  bundler_HEAD = bundler; # added 2015-11-15
-  bunny = throw "bunny has been removed: deleted by upstream"; # added 2022-01-07
-  bypass403 = throw "bypass403 has been removed: deleted by upstream"; # added 2022-01-07
-  calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement."; # added 2021-01-13
-  calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement."; # added 2021-01-13
-  caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # added 2020-10-02
-  cantarell_fonts = cantarell-fonts; # added 2018-03-03
-  cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead."; # added 2020-08-20
+
+  blink = throw "blink has been removed from nixpkgs, it was unmaintained and required python2 at the time of removal."; # Added 2022-01-12
+  bs1770gain = throw "bs1770gain has been removed from nixpkgs, as it had no maintainer or reverse dependencies."; # Added 2021-01-02
+  bsod = throw "bsod has been removed: deleted by upstream"; # Added 2022-01-07
+  btc1 = throw "btc1 has been removed, it was abandoned by upstream"; # Added 2020-11-03
+  buildPerlPackage = throw "'buildPerlPackage' has been renamed to/replaced by 'perlPackages.buildPerlPackage'"; # Converted to throw 2022-02-22
+  buildkite-agent3 = throw "'buildkite-agent3' has been renamed to/replaced by 'buildkite-agent'"; # Converted to throw 2022-02-22
+  bundler_HEAD = throw "'bundler_HEAD' has been renamed to/replaced by 'bundler'"; # Converted to throw 2022-02-22
+  bunny = throw "bunny has been removed: deleted by upstream"; # Added 2022-01-07
+  bypass403 = throw "bypass403 has been removed: deleted by upstream"; # Added 2022-01-07
+
+  ### C ###
+
+  caddy1 = throw "caddy 1.x has been removed from nixpkgs, as it's unmaintained: https://github.com/caddyserver/caddy/blob/master/.github/SECURITY.md#supported-versions"; # Added 2020-10-02
+  calibre-py2 = throw "calibre-py2 has been removed from nixpkgs, as calibre has upgraded to python 3. Please use calibre as replacement."; # Added 2021-01-13
+  calibre-py3 = throw "calibre-py3 has been removed from nixpkgs, as calibre's default python version is now 3. Please use calibre as replacement."; # Added 2021-01-13
+  cantarell_fonts = throw "'cantarell_fonts' has been renamed to/replaced by 'cantarell-fonts'"; # Converted to throw 2022-02-22
+  cargo-tree = throw "cargo-tree has been removed, use the builtin `cargo tree` command instead."; # Added 2020-08-20
   casperjs = throw "casperjs has been removed, it was abandoned by upstream and broken.";
-  catfish = xfce.catfish; # added 2019-12-22
-  ccnet = throw "ccnet has been removed because seafile does not depend on it anymore"; # added 2021-03-25
-  cde-gtk-theme = throw "cde-gtk-theme has been removed from nixpkgs as it shipped with python2 scripts that didn't work anymore."; # added 2022-01-12
-  cgmanager = throw "cgmanager was deprecated by lxc and therefore removed from nixpkgs."; # added 2020-06-05
-  checkbashism = checkbashisms; # added 2016-08-16
-  chronos = throw "chronos has been removed from nixpkgs, as it was unmaintained"; # added 2020-08-15
-  chunkwm = throw "chunkwm has been removed: abandoned by upstream"; # added 2022-01-07
+  catfish = xfce.catfish; # Added 2019-12-22
+  ccnet = throw "ccnet has been removed because seafile does not depend on it anymore"; # Added 2021-03-25
+  cde-gtk-theme = throw "cde-gtk-theme has been removed from nixpkgs as it shipped with python2 scripts that didn't work anymore."; # Added 2022-01-12
+  cgmanager = throw "cgmanager was deprecated by lxc and therefore removed from nixpkgs."; # Added 2020-06-05
+  checkbashism = throw "'checkbashism' has been renamed to/replaced by 'checkbashisms'"; # Converted to throw 2022-02-22
+  chronos = throw "chronos has been removed from nixpkgs, as it was unmaintained"; # Added 2020-08-15
+  chunkwm = throw "chunkwm has been removed: abandoned by upstream"; # Added 2022-01-07
   cide = throw "cide was deprecated on 2019-09-11: abandoned by upstream";
-  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # added 2019-12-10
-  cifs_utils = cifs-utils; # added 2016-08
-  ckb = ckb-next; # added 2018-10-21
-  creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project."; # added 2022-01-01
+  cifs_utils = throw "'cifs_utils' has been renamed to/replaced by 'cifs-utils'"; # Converted to throw 2022-02-22
+  cinepaint = throw "cinepaint has been removed from nixpkgs, as it was unmaintained"; # Added 2019-12-10
+  ckb = throw "'ckb' has been renamed to/replaced by 'ckb-next'"; # Converted to throw 2022-02-22
+  callPackage_i686 = pkgsi686Linux.callPackage;
+  creddump = throw "creddump has been removed from nixpkgs as the upstream has abandoned the project."; # Added 2022-01-01
 
   # these are for convenience, not for backward compat and shouldn't expire
   clang5Stdenv = lowPrio llvmPackages_5.stdenv;
@@ -139,73 +163,84 @@ mapAliases ({
   clang11Stdenv = lowPrio llvmPackages_11.stdenv;
   clang12Stdenv = lowPrio llvmPackages_12.stdenv;
 
-  clangAnalyzer = clang-analyzer;  # added 2015-02-20
-  claws-mail-gtk3 = claws-mail; # added 2021-07-10
-  clawsMail = claws-mail; # added 2016-04-29
-  claws-mail-gtk2 = throw "claws-mail-gtk2 was removed to get rid of Python 2, please use claws-mail"; # added 2021-12-05
-  clutter_gtk = clutter-gtk; # added 2018-02-25
-  cmakeWithQt4Gui = throw "cmakeWithQt4Gui has been removed in favor of cmakeWithGui (Qt 5)"; # added 2021-05
-  codimd = hedgedoc; # added 2020-11-29
-  compton = picom; # added 2019-12-02
-  compton-git = compton; # added 2019-05-20
-  concurrencykit = libck; # added 2021-03
-  conntrack_tools = conntrack-tools; # added 2018-05
-  cool-old-term = cool-retro-term; # added 2015-01-31
-  coprthr = throw "coprthr has been removed."; # added 2019-12-08
-  couchdb = throw "couchdb was removed from nixpkgs, use couchdb3 instead"; # added 2021-03-03
-  couchdb2 = throw "couchdb2 was removed from nixpkgs, use couchdb3 instead"; # added 2021-03-03
-  coredumper = throw "coredumper has been removed: abandoned by upstream."; # added 2019-11-16
-  corsmisc = throw "corsmisc has been removed (upstream is gone)"; # added 2022-01-24
-  cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # added 2020-11-30
-  cpuminer-multi = throw "cpuminer-multi has been removed: deleted by upstream"; # added 2022-01-07
-  crafty = throw "crafty has been removed: deleted by upstream"; # 2022-01-07
-  cryptol = throw "cryptol was removed due to prolonged broken build"; # added 2020-08-21
-  cpp-gsl = microsoft_gsl; # added 2019-05-24
-  cudatoolkit_6 = throw "cudatoolkit_6 has been removed in favor of newer versions"; # added 2021-02-14
-  cudatoolkit_65 = throw "cudatoolkit_65 has been removed in favor of newer versions"; # added 2021-02-14
-  cudatoolkit_7 = throw "cudatoolkit_7 has been removed in favor of newer versions"; # added 2021-02-14
-  cudatoolkit_7_5 = throw "cudatoolkit_7_5 has been removed in favor of newer versions"; # added 2021-02-14
-  cudatoolkit_8 = throw "cudatoolkit_8 has been removed in favor of newer versions"; # added 2021-02-14
-  cudatoolkit_9 = throw "cudatoolkit_9 has been removed in favor of newer versions"; # added 2021-04-18
-  cudatoolkit_9_0 = throw "cudatoolkit_9_0 has been removed in favor of newer versions"; # added 2021-04-18
-  cudatoolkit_9_1 = throw "cudatoolkit_9_1 has been removed in favor of newer versions"; # added 2021-04-18
-  cudatoolkit_9_2 = throw "cudatoolkit_9_2 has been removed in favor of newer versions"; # added 2021-04-18
-  cudnn_cudatoolkit_7 = throw "cudnn_cudatoolkit_7 has been removed in favor of newer versions"; # added 2021-02-14
-  cudnn_cudatoolkit_7_5 = throw "cudnn_cudatoolkit_7_5 has been removed in favor of newer versions"; # added 2021-02-14
-  cudnn6_cudatoolkit_8 = throw "cudnn6_cudatoolkit_8 has been removed in favor of newer versions"; # added 2021-02-14
-  cudnn_cudatoolkit_8 = throw "cudnn_cudatoolkit_8 has been removed in favor of newer versions"; # added 2021-02-14
-  cudnn_cudatoolkit_9 = throw "cudnn_cudatoolkit_9 has been removed in favor of newer versions"; # added 2021-04-18
-  cudnn_cudatoolkit_9_0 = throw "cudnn_cudatoolkit_9_0 has been removed in favor of newer versions"; # added 2021-04-18
-  cudnn_cudatoolkit_9_1 = throw "cudnn_cudatoolkit_9_1 has been removed in favor of newer versions"; # added 2021-04-18
-  cudnn_cudatoolkit_9_2 = throw "cudnn_cudatoolkit_9_2 has been removed in favor of newer versions"; # added 2021-04-18
-  cupsBjnp = cups-bjnp; # added 2016-01-02
-  cups_filters = cups-filters; # added 2016-08
-  cups-googlecloudprint = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
+  clangAnalyzer = throw "'clangAnalyzer' has been renamed to/replaced by 'clang-analyzer'"; # Converted to throw 2022-02-22
+  claws-mail-gtk2 = throw "claws-mail-gtk2 was removed to get rid of Python 2, please use claws-mail"; # Added 2021-12-05
+  claws-mail-gtk3 = claws-mail; # Added 2021-07-10
+  clawsMail = throw "'clawsMail' has been renamed to/replaced by 'claws-mail'"; # Converted to throw 2022-02-22
+  clutter_gtk = throw "'clutter_gtk' has been renamed to/replaced by 'clutter-gtk'"; # Converted to throw 2022-02-22
+  cmakeWithQt4Gui = throw "cmakeWithQt4Gui has been removed in favor of cmakeWithGui (Qt 5)"; # Added 2021-05
+  codimd = hedgedoc; # Added 2020-11-29
+  compton = picom; # Added 2019-12-02
+  compton-git = throw "'compton-git' has been renamed to/replaced by 'compton'"; # Converted to throw 2022-02-22
+  concurrencykit = libck; # Added 2021-03
+  conntrack_tools = throw "'conntrack_tools' has been renamed to/replaced by 'conntrack-tools'"; # Converted to throw 2022-02-22
+  cool-old-term = throw "'cool-old-term' has been renamed to/replaced by 'cool-retro-term'"; # Converted to throw 2022-02-22
+  coprthr = throw "coprthr has been removed."; # Added 2019-12-08
+  coredumper = throw "coredumper has been removed: abandoned by upstream."; # Added 2019-11-16
+  corsmisc = throw "corsmisc has been removed (upstream is gone)"; # Added 2022-01-24
+  couchdb = throw "couchdb was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03
+  couchdb2 = throw "couchdb2 was removed from nixpkgs, use couchdb3 instead"; # Added 2021-03-03
+  cpp-gsl = throw "'cpp-gsl' has been renamed to/replaced by 'microsoft_gsl'"; # Converted to throw 2022-02-22
+  cpp_ethereum = throw "cpp_ethereum has been removed; abandoned upstream."; # Added 2020-11-30
+  cpuminer-multi = throw "cpuminer-multi has been removed: deleted by upstream"; # Added 2022-01-07
+  crafty = throw "crafty has been removed: deleted by upstream"; # Added 2022-01-07
+  cryptol = throw "cryptol was removed due to prolonged broken build"; # Added 2020-08-21
+
+  # CUDA Toolkit
+
+  cudatoolkit_6 = throw "cudatoolkit_6 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudatoolkit_65 = throw "cudatoolkit_65 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudatoolkit_7 = throw "cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudatoolkit_7_5 = throw "cudatoolkit_7_5 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudatoolkit_8 = throw "cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudatoolkit_9 = throw "cudatoolkit_9 has been removed in favor of newer versions"; # Added 2021-04-18
+  cudatoolkit_9_0 = throw "cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18
+  cudatoolkit_9_1 = throw "cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18
+  cudatoolkit_9_2 = throw "cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18
+  cudnn6_cudatoolkit_8 = throw "cudnn6_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudnn_cudatoolkit_7 = throw "cudnn_cudatoolkit_7 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudnn_cudatoolkit_7_5 = throw "cudnn_cudatoolkit_7_5 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudnn_cudatoolkit_8 = throw "cudnn_cudatoolkit_8 has been removed in favor of newer versions"; # Added 2021-02-14
+  cudnn_cudatoolkit_9 = throw "cudnn_cudatoolkit_9 has been removed in favor of newer versions"; # Added 2021-04-18
+  cudnn_cudatoolkit_9_0 = throw "cudnn_cudatoolkit_9_0 has been removed in favor of newer versions"; # Added 2021-04-18
+  cudnn_cudatoolkit_9_1 = throw "cudnn_cudatoolkit_9_1 has been removed in favor of newer versions"; # Added 2021-04-18
+  cudnn_cudatoolkit_9_2 = throw "cudnn_cudatoolkit_9_2 has been removed in favor of newer versions"; # Added 2021-04-18
+
   cloud-print-connector = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
-  curaByDagoma = throw "curaByDagoma has been removed from nixpkgs, because it was unmaintained and dependent on python2 packages."; # added 2022-01-12
-  curaLulzbot = throw "curaLulzbot has been removed due to insufficient upstream support for a modern dependency chain"; # added 2021-10-23
-  cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead."; # added 2020-06-15
-  cv = progress; # added 2015-09-06
-  cvs_fast_export = cvs-fast-export; # added 2021-06-10
-  d1x_rebirth = dxx-rebirth; # added 2018-04-25
-  d2x_rebirth = dxx-rebirth; # added 2018-04-25
-  dart_dev = throw "Non-stable versions of Dart have been removed."; # added 2020-01-15
-  dart_old = throw "Non-stable versions of Dart have been removed."; # added 2020-01-15
-  dart_stable = dart; # added 2020-01-15
+  cquery = throw "cquery has been removed because it is abandoned by upstream. Consider switching to clangd or ccls instead."; # Added 2020-06-15
+  cups-googlecloudprint = throw "Google Cloudprint is officially discontinued since Jan 2021, more info https://support.google.com/chrome/a/answer/9633006";
+  cupsBjnp = throw "'cupsBjnp' has been renamed to/replaced by 'cups-bjnp'"; # Converted to throw 2022-02-22
+  cups_filters = throw "'cups_filters' has been renamed to/replaced by 'cups-filters'"; # Converted to throw 2022-02-22
+  curaByDagoma = throw "curaByDagoma has been removed from nixpkgs, because it was unmaintained and dependent on python2 packages."; # Added 2022-01-12
+  curaLulzbot = throw "curaLulzbot has been removed due to insufficient upstream support for a modern dependency chain"; # Added 2021-10-23
+  cv = throw "'cv' has been renamed to/replaced by 'progress'"; # Converted to throw 2022-02-22
+  cvs_fast_export = cvs-fast-export; # Added 2021-06-10
+
+  ### D ###
+
+  d1x_rebirth = throw "'d1x_rebirth' has been renamed to/replaced by 'dxx-rebirth'"; # Converted to throw 2022-02-22
+  d2x_rebirth = throw "'d2x_rebirth' has been renamed to/replaced by 'dxx-rebirth'"; # Converted to throw 2022-02-22
+  dart_dev = throw "Non-stable versions of Dart have been removed."; # Added 2020-01-15
+  dart_old = throw "Non-stable versions of Dart have been removed."; # Added 2020-01-15
+  dart_stable = dart; # Added 2020-01-15
   dat = nodePackages.dat;
-  dbvisualizer = throw "dbvisualizer has been removed from nixpkgs, as it's unmaintained"; # added 2020-09-20
-  dbus_daemon = dbus.daemon; # added 2018-04-25
-  dbus_glib = dbus-glib; # added 2018-02-25
-  dbus_libs = dbus; # added 2018-04-25
-  diffuse = throw "diffuse has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
-  dbus_tools = dbus.out; # added 2018-04-25
-  deadbeef-mpris2-plugin = deadbeefPlugins.mpris2; # added 2018-02-23
+  dbus_daemon = throw "'dbus_daemon' has been renamed to/replaced by 'dbus.daemon'"; # Converted to throw 2022-02-22
+  dbus_glib = throw "'dbus_glib' has been renamed to/replaced by 'dbus-glib'"; # Converted to throw 2022-02-22
+  dbus_libs = throw "'dbus_libs' has been renamed to/replaced by 'dbus'"; # Converted to throw 2022-02-22
+  dbus_tools = throw "'dbus_tools' has been renamed to/replaced by 'dbus.out'"; # Converted to throw 2022-02-22
+  dbvisualizer = throw "dbvisualizer has been removed from nixpkgs, as it's unmaintained"; # Added 2020-09-20
+  deadbeef-mpris2-plugin = throw "'deadbeef-mpris2-plugin' has been renamed to/replaced by 'deadbeefPlugins.mpris2'"; # Converted to throw 2022-02-22
   deadpixi-sam = deadpixi-sam-unstable;
-  debian_devscripts = debian-devscripts; # added 2016-03-23
-  debugedit-unstable = debugedit; # added 2021-11-22
+
+  debian_devscripts = throw "'debian_devscripts' has been renamed to/replaced by 'debian-devscripts'"; # Converted to throw 2022-02-22
+  debugedit-unstable = debugedit; # Added 2021-11-22
   deepin = throw "deepin was a work in progress and it has been canceled and removed https://github.com/NixOS/nixpkgs/issues/94870"; # added 2020-08-31
   deepspeech = throw "deepspeech was removed in favor of stt. https://github.com/NixOS/nixpkgs/issues/119496"; # added 2021-05-05
+  deisctl = throw "deisctl was removed ; the service does not exist anymore"; # added 2022-02-06
+  deis = throw "deis was removed ; the service does not exist anymore"; # added 2022-02-06
   deltachat-electron = deltachat-desktop; # added 2021-07-18
+  diffuse = throw "diffuse has been removed from nixpkgs, as it's unmaintained"; # Added 2019-12-10
+
   deluge-1_x = throw ''
     Deluge 1.x (deluge-1_x) is no longer supported.
     Please use Deluge 2.x (deluge-2_x) instead, for example:
@@ -213,110 +248,135 @@ mapAliases ({
         services.deluge.package = pkgs.deluge-2_x;
 
     Note that it is NOT possible to switch back to Deluge 1.x after this change.
-  ''; # added 2021-08-18
-  desktop_file_utils = desktop-file-utils; # added 2018-02-25
-  devicemapper = lvm2; # added 2018-04-25
-  digikam5 = digikam; # added 2017-02-18
-  displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3."; # added 2022-01-12
-  dmtx = dmtx-utils; # added 2018-04-25
-  dnnl = oneDNN; # added 2020-04-22
-  docbook5_xsl = docbook_xsl_ns; # added 2018-04-25
-  docbookrx = throw "docbookrx has been removed since it was unmaintained"; # added 2021-01-12
-  docbook_xml_xslt = docbook_xsl; # added 2018-04-25
-  dolphinEmu = dolphin-emu; # added 2021-11-10
-  dolphinEmuMaster = dolphin-emu-beta; # added 2021-11-10
-  dotnet-netcore = dotnet-runtime; # added 2021-10-07
-  double_conversion = double-conversion; # 2017-11-22
-  docker_compose = docker-compose; # 2018-11-10
-  draftsight = throw "draftsight has been removed, no longer available as freeware"; # added 2020-08-14
-  dvb_apps = throw "dvb_apps has been removed."; # added 2020-11-03
-  dwarf_fortress = dwarf-fortress; # added 2016-01-23
-  dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose."; # added 2021-02-07
-  dylibbundler = macdylibbundler; # added 2021-04-24
-  ec2_ami_tools = ec2-ami-tools; # added 2021-10-08
-  ec2_api_tools = ec2-api-tools; # added 2021-10-08
-  elasticmq = throw "elasticmq has been removed in favour of elasticmq-server-bin"; # added 2021-01-17
-  elasticsearch7-oss = throw "elasticsearch7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # added 2021-06-09
-  electron_3 = throw "electron_3 has been removed in favor of newer versions"; # added 2021-01-06
-  electron_4 = throw "electron_4 has been removed in favor of newer versions"; # added 2021-01-06
-  electron_5 = throw "electron_5 has been removed in favor of newer versions"; # added 2021-01-06
-  electron_6 = throw "electron_6 has been removed in favor of newer versions"; # added 2021-01-06
-  electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned."; # added 2022-01-01
-  emacsPackagesGen = emacsPackagesFor; # added 2018-08-18
-  emacsPackagesNgGen = emacsPackagesFor; # added 2018-08-18
-  emacsPackagesNgFor = emacsPackagesFor; # added 2019-08-07
-  emacsPackagesNg = emacs.pkgs; # added 2019-08-07
-  emacs27Packages = emacs27.pkgs; # added 2020-12-18
-  emacs27WithPackages = emacs27.pkgs.withPackages; # added 2020-12-18
-  emacsWithPackages = emacs.pkgs.withPackages; # added 2020-12-18
-  emacsPackages = emacs.pkgs; # added 2020-12-18
-  enblendenfuse = enblend-enfuse; # 2015-09-30
-  envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
-  epoxy = libepoxy; # 2021-11-11
-  esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # added 2021-04-12
-  euca2tools = throw "euca2ools has been removed because it is unmaintained upstream and still uses python2."; # added 2022-01-01
-  evolution_data_server = evolution-data-server; # added 2018-02-25
-  etcdctl = etcd; # added 2018-04-25
-  evilvte = throw "evilvte has been removed from nixpkgs for being unmaintained with security issues and dependant on an old version of vte which was removed."; # added 2022-01-14
-  exfat-utils = exfat;                  # 2015-09-11
-  facette = throw "facette has been removed."; # added 2020-01-06
-  fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # added 2020-03-28
-  fastnlo = fastnlo_toolkit; # added 2021-04-24
-  fedora-coreos-config-transpiler = throw "fedora-coreos-config-transpiler has been renamed to 'butane'."; # added 2021-04-13
+  ''; # Added 2021-08-18
+
+  demjson = with python3Packages; toPythonApplication demjson; # Added 2022-01-18
+  desktop_file_utils = throw "'desktop_file_utils' has been renamed to/replaced by 'desktop-file-utils'"; # Converted to throw 2022-02-22
+  devicemapper = throw "'devicemapper' has been renamed to/replaced by 'lvm2'"; # Converted to throw 2022-02-22
+  digikam5 = throw "'digikam5' has been renamed to/replaced by 'digikam'"; # Converted to throw 2022-02-22
+  displaycal = throw "displaycal has been removed from nixpkgs, as it hasn't migrated to python3."; # Added 2022-01-12
+  dmtx = throw "'dmtx' has been renamed to/replaced by 'dmtx-utils'"; # Converted to throw 2022-02-22
+  dnnl = oneDNN; # Added 2020-04-22
+  docbook5_xsl = throw "'docbook5_xsl' has been renamed to/replaced by 'docbook_xsl_ns'"; # Converted to throw 2022-02-22
+  docbookrx = throw "docbookrx has been removed since it was unmaintained"; # Added 2021-01-12
+  docbook_xml_xslt = throw "'docbook_xml_xslt' has been renamed to/replaced by 'docbook_xsl'"; # Converted to throw 2022-02-22
+  docker_compose = throw "'docker_compose' has been renamed to/replaced by 'docker-compose'"; # Converted to throw 2022-02-22
+  dolphinEmu = dolphin-emu; # Added 2021-11-10
+  dolphinEmuMaster = dolphin-emu-beta; # Added 2021-11-10
+  dotnet-netcore = dotnet-runtime; # Added 2021-10-07
+  double_conversion = throw "'double_conversion' has been renamed to/replaced by 'double-conversion'"; # Converted to throw 2022-02-22
+  draftsight = throw "draftsight has been removed, no longer available as freeware"; # Added 2020-08-14
+  dvb_apps = throw "dvb_apps has been removed."; # Added 2020-11-03
+  dwarf_fortress = throw "'dwarf_fortress' has been renamed to/replaced by 'dwarf-fortress'"; # Converted to throw 2022-02-22
+  dwm-git = throw "dwm-git has been removed from nixpkgs, as it had no updates for 2 years not serving it's purpose."; # Added 2021-02-07
+  dylibbundler = macdylibbundler; # Added 2021-04-24
+
+  ### E ###
+
+
+  ec2_ami_tools = ec2-ami-tools; # Added 2021-10-08
+  ec2_api_tools = ec2-api-tools; # Added 2021-10-08
+  ec2-utils = amazon-ec2-utils; # Added 2022-02-01
+  elasticmq = throw "elasticmq has been removed in favour of elasticmq-server-bin"; # Added 2021-01-17
+  elasticsearch7-oss = throw "elasticsearch7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # Added 2021-06-09
+
+  # Electron
+  electron_3 = throw "electron_3 has been removed in favor of newer versions"; # added 2022-01-06
+  electron_4 = throw "electron_4 has been removed in favor of newer versions"; # added 2022-01-06
+  electron_5 = throw "electron_5 has been removed in favor of newer versions"; # added 2022-01-06
+  electron_6 = throw "electron_6 has been removed in favor of newer versions"; # added 2022-01-06
+  electron_7 = throw "electron_7 has been removed in favor of newer versions"; # added 2022-02-08
+  electron_8 = throw "electron_8 has been removed in favor of newer versions"; # added 2022-02-08
+
+  electrum-dash = throw "electrum-dash has been removed from nixpkgs as the project is abandoned."; # Added 2022-01-01
+
+  # Emacs
+  emacs27Packages = emacs27.pkgs; # Added 2020-12-18
+  emacs27WithPackages = emacs27.pkgs.withPackages; # Added 2020-12-18
+  emacsPackages = emacs.pkgs; # Added 2020-12-18
+  emacsPackagesGen = throw "'emacsPackagesGen' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2022-02-22
+  emacsPackagesNg = emacs.pkgs; # Added 2019-08-07
+  emacsPackagesNgFor = emacsPackagesFor; # Added 2019-08-07
+  emacsPackagesNgGen = throw "'emacsPackagesNgGen' has been renamed to/replaced by 'emacsPackagesFor'"; # Converted to throw 2022-02-22
+  emacsWithPackages = emacs.pkgs.withPackages; # Added 2020-12-18
+
+  enblendenfuse = throw "'enblendenfuse' has been renamed to/replaced by 'enblend-enfuse'"; # Converted to throw 2022-02-22
+  encryptr = throw "encryptr was removed because it reached end of life"; # Added 2022-02-06
+  envelope = throw "envelope has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05
+  epoxy = libepoxy; # Added 2021-11-11
+  esniper = throw "esniper has been removed because upstream no longer maintains it (and it no longer works)"; # Added 2021-04-12
+  etcdctl = throw "'etcdctl' has been renamed to/replaced by 'etcd'"; # Converted to throw 2022-02-22
+  euca2tools = throw "euca2ools has been removed because it is unmaintained upstream and still uses python2."; # Added 2022-01-01
+  evilvte = throw "evilvte has been removed from nixpkgs for being unmaintained with security issues and dependant on an old version of vte which was removed."; # Added 2022-01-14
+  evolution_data_server = throw "'evolution_data_server' has been renamed to/replaced by 'evolution-data-server'"; # Converted to throw 2022-02-22
+  exfat-utils = throw "'exfat-utils' has been renamed to/replaced by 'exfat'"; # Converted to throw 2022-02-22
+
+  ### F ###
+
+  facette = throw "facette has been removed."; # Added 2020-01-06
+  fast-neural-doodle = throw "fast-neural-doodle has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
+  fastnlo = fastnlo_toolkit; # Added 2021-04-24
+  fedora-coreos-config-transpiler = throw "fedora-coreos-config-transpiler has been renamed to 'butane'."; # Added 2021-04-13
   fetchFromGithub = throw "You meant fetchFromGitHub, with a capital H.";
-  ffadoFull = ffado; # added 2018-05-01
-  firefox-esr-68 = throw "Firefox 68 ESR reached end of life with its final release 68.12esr on 2020-08-25 and was therefore removed from nixpkgs";
-  firefox-esr-wrapper = firefox-esr;  # 2016-01
-  firefox-wrapper = firefox;          # 2016-01
-  firefoxWrapper = firefox;           # 2015-09
-
-  firestr = throw "firestr has been removed."; # added 2019-12-08
-  firmwareLinuxNonfree = linux-firmware; # added 2022-01-09
-  fish-foreign-env = throw "fish-foreign-env has been replaced with fishPlugins.foreign-env"; # added 2020-12-29, modified 2021-01-10
-  flameGraph = flamegraph; # added 2018-04-25
-  flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
-  flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
-  flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
-  flashtool = throw "flashtool was removed from nixpkgs, because the download is down for copyright reasons and the site looks very fishy"; # added 2021-06-31
-  flink_1_5 = throw "flink_1_5 was removed, use flink instead"; # added 2021-01-25
-  flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15
-  flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # added 2020-01-15
-  flvtool2 = throw "flvtool2 has been removed."; # added 2020-11-03
-  fme = throw "fme was removed, because it is old and uses Glade, a discontinued library."; # added 2022-01-26
-  foldingathome = fahclient; # added 2020-09-03
-  font-awesome-ttf = font-awesome; # 2018-02-25
-  # 2019-10-31
+  ffadoFull = throw "'ffadoFull' has been renamed to/replaced by 'ffado'"; # Converted to throw 2022-02-22
+  firefox-esr-68 = throw "Firefox 68 ESR was removed because it reached end of life with its final release 68.12esr on 2020-08-25.";
+  firefox-esr-wrapper = throw "'firefox-esr-wrapper' has been renamed to/replaced by 'firefox-esr'"; # Converted to throw 2022-02-22
+  firefoxWrapper = throw "'firefoxWrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
+  firefox-wrapper = throw "'firefox-wrapper' has been renamed to/replaced by 'firefox'"; # Converted to throw 2022-02-22
+  firestr = throw "firestr has been removed."; # Added 2019-12-08
+  firmwareLinuxNonfree = linux-firmware; # Added 2022-01-09
+  fish-foreign-env = throw "fish-foreign-env has been replaced with fishPlugins.foreign-env"; # Added 2020-12-29, modified 2021-01-10
+  flameGraph = throw "'flameGraph' has been renamed to/replaced by 'flamegraph'"; # Converted to throw 2022-02-22
+  flashplayer-standalone-debugger = throw "flashplayer-standalone-debugger has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
+  flashplayer-standalone = throw "flashplayer-standalone has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
+  flashplayer = throw "flashplayer has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
+  flashtool = throw "flashtool was removed from nixpkgs, because the download is down for copyright reasons and the site looks very fishy"; # Added 2021-06-31
+  flink_1_5 = throw "flink_1_5 was removed, use flink instead"; # Added 2021-01-25
+  flutter-beta = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # Added 2020-01-15
+  flutter-dev = throw "Non-stable versions of Flutter have been removed. You can use flutterPackages.mkFlutter to generate a package for other Flutter versions."; # Added 2020-01-15
+  flvtool2 = throw "flvtool2 has been removed."; # Added 2020-11-03
+  fme = throw "fme was removed, because it is old and uses Glade, a discontinued library."; # Added 2022-01-26
+  foldingathome = fahclient; # Added 2020-09-03
+  font-awesome-ttf = throw "'font-awesome-ttf' has been renamed to/replaced by 'font-awesome'"; # Converted to throw 2022-02-22
+
   fontconfig-ultimate = throw ''
     fontconfig-ultimate has been removed. The repository has been archived upstream and activity has ceased for several years.
     https://github.com/bohoomil/fontconfig-ultimate/issues/171.
-  '';
+  ''; # Added 2019-10-31
+
   fontconfig-penultimate = throw ''
     fontconfig-penultimate has been removed.
     It was a fork of the abandoned fontconfig-ultimate.
-  '';
-  # 2020-07-21
+  ''; # Added 2020-07-21
+
   fontconfig_210 = throw ''
     fontconfig 2.10.x hasn't had a release in years, is vulnerable to CVE-2016-5384
     and has only been used for old fontconfig caches.
   '';
-  foomatic_filters = foomatic-filters;  # 2016-08
-  fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl."; # 2021-11-07
+
+  foomatic_filters = throw "'foomatic_filters' has been renamed to/replaced by 'foomatic-filters'"; # Converted to throw 2022-02-22
+  fscryptctl-experimental = throw "The package fscryptctl-experimental has been removed. Please switch to fscryptctl."; # Added 2021-11-07
   fsharp41 = throw "fsharp41 has been removed, please use dotnet-sdk_5 or later";
-  fslint = throw "fslint has been removed: end of life. Upstream recommends using czkawka (https://qarmin.github.io/czkawka/) instead"; # 2022-01-15
-  fuse_exfat = exfat;                   # 2015-09-11
-  fuseki = apache-jena-fuseki; # added 2018-04-25
-  fwupdate = throw "fwupdate was merged into fwupd"; # added 2020-05-19
-  g4py = python3Packages.geant4; # added 2020-06-06
-  gaia = throw "gaia has been removed because it seems abandoned upstream and uses no longer supported dependencies"; # added 2020-06-06
-  gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead."; # added 2021-04-03
-  gdb-multitarget = gdb; # added 2017-11-13
-  gdk_pixbuf = gdk-pixbuf; # added 2019-05-22
-  gettextWithExpat = gettext; # 2016-02-19
-  getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6."; # added 2022-01-12
-  gfm = throw "gfm has been removed"; # 2021-01-15
-  giflib_4_1 = throw "giflib_4_1 has been removed; use giflib instead"; # 2020-02-12
-  git-bz = throw "giz-bz has been removed from nixpkgs as it is stuck on python2."; # added 2022-01-01
-  gitAndTools = self // { # added 2021-01-14
+  fslint = throw "fslint has been removed: end of life. Upstream recommends using czkawka (https://qarmin.github.io/czkawka/) instead"; # Added 2022-01-15
+  fuse_exfat = throw "'fuse_exfat' has been renamed to/replaced by 'exfat'"; # Converted to throw 2022-02-22
+  fuseki = throw "'fuseki' has been renamed to/replaced by 'apache-jena-fuseki'"; # Converted to throw 2022-02-22
+  fwupdate = throw "fwupdate was merged into fwupd"; # Added 2020-05-19
+
+  ### G ###
+
+  g4py = python3Packages.geant4; # Added 2020-06-06
+  gaia = throw "gaia has been removed because it seems abandoned upstream and uses no longer supported dependencies"; # Added 2020-06-06
+  gdal_1_11 = throw "gdal_1_11 was removed. Use gdal instead."; # Added 2021-04-03
+  gdb-multitarget = throw "'gdb-multitarget' has been renamed to/replaced by 'gdb'"; # Converted to throw 2022-02-22
+  gdk_pixbuf = throw "'gdk_pixbuf' has been renamed to/replaced by 'gdk-pixbuf'"; # Converted to throw 2022-02-22
+  getmail = throw "getmail has been removed from nixpkgs, migrate to getmail6."; # Added 2022-01-12
+  gettextWithExpat = throw "'gettextWithExpat' has been renamed to/replaced by 'gettext'"; # Converted to throw 2022-02-22
+  gfm = throw "gfm has been removed"; # Added 2021-01-15
+  giblib = throw " giblib has been removed from nixpkgs because upstream is gone."; # Added 2022-01-23
+  giflib_4_1 = throw "giflib_4_1 has been removed; use giflib instead"; # Added 2020-02-12
+  git-bz = throw "giz-bz has been removed from nixpkgs as it is stuck on python2."; # Added 2022-01-01
+
+  gitAndTools = self // {
     darcsToGit = darcs-to-git;
     gitAnnex = git-annex;
     gitBrunch = git-brunch;
@@ -324,247 +384,291 @@ mapAliases ({
     gitRemoteGcrypt = git-remote-gcrypt;
     svn_all_fast_export = svn-all-fast-export;
     topGit = top-git;
-  };
-  gitin = throw "gitin has been remove because it was unmaintained and depended on an insecure version of libgit2"; # added 2021-12-07
-  gitinspector = throw "gitinspector has been removed because it doesn't work with python3."; # added 2022-01-12
-  gksu = throw "gksu has been removed"; # added 2022-01-16
-  glib_networking = glib-networking; # added 2018-02-25
-  gmailieer = lieer; # added 2020-04-19
-  gmvault = throw "gmvault has been removed because it is unmaintained, mostly broken, and insecure"; # added 2021-03-08
-  gnome-mpv = celluloid; # added 2019-08-22
+  }; # Added 2021-01-14
+
+  gitin = throw "gitin has been remove because it was unmaintained and depended on an insecure version of libgit2"; # Added 2021-12-07
+  gitinspector = throw "gitinspector has been removed because it doesn't work with python3."; # Added 2022-01-12
+  gksu = throw "gksu has been removed"; # Added 2022-01-16
+  glib_networking = throw "'glib_networking' has been renamed to/replaced by 'glib-networking'"; # Converted to throw 2022-02-22
+  gmailieer = lieer; # Added 2020-04-19
+  gmic_krita_qt = gmic-qt-krita; # Added 2019-09-07
+  gmvault = throw "gmvault has been removed because it is unmaintained, mostly broken, and insecure"; # Added 2021-03-08
+  gnash = throw "gnash has been removed; broken and abandoned upstream."; # added 2022-02-06
   gnome-passwordsafe = gnome-secrets; # added 2022-01-30
-  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # added 2019-12-10
-  gmic_krita_qt = gmic-qt-krita; # added 2019-09-07
-  gnome-sharp = throw "gnome-sharp has been removed from nixpkgs"; # added 2022-01-15
-  gnome-themes-standard = gnome-themes-extra; # added 2018-03-14
-  gnome_doc_utils = gnome-doc-utils; # added 2018-02-25
-  gnome_themes_standard = gnome-themes-standard; # added 2018-02-25
-  gnunet_git = throw "gnunet_git was removed due to gnunet becoming stable"; # added 2019-05-27
-  # Added 2020-10-16
+  gnome-mpv = celluloid; # Added 2019-08-22
+  gnome-sharp = throw "gnome-sharp has been removed from nixpkgs"; # Added 2022-01-15
+  gnome-themes-standard = throw "'gnome-themes-standard' has been renamed to/replaced by 'gnome-themes-extra'"; # Converted to throw 2022-02-22
+  gnome_user_docs = gnome-user-docs; # Added 2019-11-20
+  gnome15 = throw "gnome15 has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # Added 2019-12-10
+  gnome_doc_utils = throw "'gnome_doc_utils' has been renamed to/replaced by 'gnome-doc-utils'"; # Converted to throw 2022-02-22
+  gnome_themes_standard = throw "'gnome_themes_standard' has been renamed to/replaced by 'gnome-themes-standard'"; # Converted to throw 2022-02-22
+
   gnuradio-with-packages = gnuradio3_7.override {
     extraPackages = lib.attrVals [
       "osmosdr" "ais" "gsm" "nacl" "rds" "limesdr"
     ] gnuradio3_7Packages;
-  };
-  gnuradio-nacl = gnuradio3_7.pkgs.nacl; # added 2019-05-27, changed 2020-10-16
-  gnuradio-gsm = gnuradio3_7.pkgs.gsm; # added 2019-05-27, changed 2020-10-16
-  gnuradio-ais = gnuradio3_7.pkgs.ais; # added 2019-05-27, changed 2020-10-16
-  gnuradio-limesdr = gnuradio3_7.pkgs.limesdr; # added 2019-05-27, changed 2020-10-16
-  gnuradio-rds = gnuradio3_7.pkgs.rds; # added 2019-05-27, changed 2020-10-16
-  gnuradio-osmosdr = gnuradio3_7.pkgs.osmosdr; # added 2019-05-27, changed 2020-10-16
-  gnuradio3_7 = throw "gnuradio3_7 has been removed because it required Python 2"; # added 2022-01-16
-  gr-nacl = gnuradio3_7.pkgs.nacl; # added 2019-05-27, changed 2020-10-16
-  gr-gsm = gnuradio3_7.pkgs.gsm; # added 2019-05-27, changed 2020-10-16
-  gr-ais = gnuradio3_7.pkgs.ais; # added 2019-05-27, changed 2020-10-16
-  gr-limesdr = gnuradio3_7.pkgs.limesdr; # added 2019-05-27, changed 2020-10-16
-  gr-rds = gnuradio3_7.pkgs.rds; # added 2019-05-27, changed 2020-10-16
-  gr-osmosdr = gnuradio3_7.pkgs.osmosdr; # added 2019-05-27, changed 2020-10-16
-  gnustep-make = gnustep.make; # added 2016-7-6
-  gnupg20 = throw "gnupg20 has been removed from nixpkgs as upstream dropped support on 2017-12-31";# added 2020-07-12
-  gnuvd = throw "gnuvd was removed because the backend service is missing"; # added 2020-01-14
+  }; # Added 2020-10-16
+
   gmock = gtest; # moved from top-level 2021-03-14
-  go-pup = pup; # added 2017-12-19
-  gobby5 = gobby; # added 2021-02-01
-  gobjectIntrospection = gobject-introspection; # added 2018-12-02
-  goimports = gotools; # added 2018-09-16
-  gometalinter = throw "gometalinter was abandoned by upstream. Consider switching to golangci-lint instead"; # added 2020-04-23
-  google-gflags = gflags; # added 2019-07-25
-  google-music-scripts = throw "google-music-scripts has been removed because Google Play Music was discontinued"; # added 2021-03-07
-  google-musicmanager = throw "google-musicmanager has been removed because Google Play Music was discontinued"; # added 2021-03-07
-  googleAuthenticator = google-authenticator; # added 2016-10-16
-  googleearth = throw "the non-pro version of Google Earth was removed because it was discontinued and downloading it isn't possible anymore"; # added 2022-01-22
-  grantlee5 = libsForQt5.grantlee;  # added 2015-12-19
-  graalvm8 = throw "graalvm8-ce has been removed by upstream."; # added 2021-10-19
-  graalvm8-ce = throw "graalvm8-ce has been removed by upstream."; # added 2021-10-19
+
+  gnome3 = gnome; # Added 2021-05-07
+  gnupg20 = throw "gnupg20 has been removed from nixpkgs as upstream dropped support on 2017-12-31";# Added 2020-07-12
+  gnuradio3_7 = throw "gnuradio3_7 has been removed because it required Python 2"; # Added 2022-01-16
+  gnuradio-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
+  gnuradio-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
+  gnuradio-limesdr = gnuradio3_7.pkgs.limesdr; # Added 2019-05-27, changed 2020-10-16
+  gnuradio-nacl = gnuradio3_7.pkgs.nacl; # Added 2019-05-27, changed 2020-10-16
+  gnuradio-osmosdr = gnuradio3_7.pkgs.osmosdr; # Added 2019-05-27, changed 2020-10-16
+  gnuradio-rds = gnuradio3_7.pkgs.rds; # Added 2019-05-27, changed 2020-10-16
+  gnustep-make = throw "'gnustep-make' has been renamed to/replaced by 'gnustep.make'"; # Converted to throw 2022-02-22
+  gnuvd = throw "gnuvd was removed because the backend service is missing"; # Added 2020-01-14
+  gobby5 = gobby; # Added 2021-02-01
+  gobjectIntrospection = throw "'gobjectIntrospection' has been renamed to/replaced by 'gobject-introspection'"; # Converted to throw 2022-02-22
+  gogoclient = throw "gogoclient has been removed, because it was unmaintained"; # Added 2021-12-15
+  goimports = throw "'goimports' has been renamed to/replaced by 'gotools'"; # Converted to throw 2022-02-22
+  gometalinter = throw "gometalinter was abandoned by upstream. Consider switching to golangci-lint instead"; # Added 2020-04-23
+  googleAuthenticator = throw "'googleAuthenticator' has been renamed to/replaced by 'google-authenticator'"; # Converted to throw 2022-02-22
+  googleearth = throw "the non-pro version of Google Earth was removed because it was discontinued and downloading it isn't possible anymore"; # Added 2022-01-22
+  google-gflags = gflags; # Added 2019-07-25
+  google-musicmanager = throw "google-musicmanager has been removed because Google Play Music was discontinued"; # Added 2021-03-07
+  google-music-scripts = throw "google-music-scripts has been removed because Google Play Music was discontinued"; # Added 2021-03-07
+  go-pup = throw "'go-pup' has been renamed to/replaced by 'pup'"; # Converted to throw 2022-02-22
+  gpgstats = throw "gpgstats has been removed: upstream is gone"; # Added 2022-02-06
+
   graalvm11 = graalvm11-ce;
-  grib-api = throw "grib-api has been replaced by ecCodes => https://confluence.ecmwf.int/display/ECC/GRIB-API+migration"; # added 2022-01-05
-  gsettings_desktop_schemas = gsettings-desktop-schemas; # added 2018-02-25
-  gtk_doc = gtk-doc; # added 2018-02-25
-  gtklick = throw "gtklick has been removed from nixpkgs as the project is stuck on python2"; # added 2022-01-01
-  guileCairo = guile-cairo; # added 2017-09-24
-  guileGnome = throw "guile-gnome has been removed"; # 2022-01-16
-  guile-gnome = throw "guile-gnome has been removed"; # 2022-01-16
-  gnome3 = gnome; # added 2021-05-07
-  guileLint = guile-lint; # added 2017-09-27
-  guile_lib = guile-lib; # added 2017-09-24
-  guile_ncurses = guile-ncurses; # added 2017-09-24
-  gupnp_av = gupnp-av; # added 2018-02-25
-  gupnp_dlna = gupnp-dlna; # added 2018-02-25
-  gupnp_igd = gupnp-igd; # added 2018-02-25
-  gupnptools = gupnp-tools;  # added 2015-12-19
-  gutenberg = zola;  # added 2018-11-17
-  hawkthorne = throw "hawkthorne has been removed because it depended on a broken version of love"; # added 2022-01-15
-  hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated."; # added 2021-02-07
-  heimdalFull = heimdal; # added 2018-05-01
-  hepmc = hepmc2; # added 2019-08-05
-  hexen = throw "hexen (SDL port) has been removed: abandoned by upstream."; # added 2019-12-11
-  hicolor_icon_theme = hicolor-icon-theme; # added 2018-02-25
-  holochain-go = throw "holochain-go was abandoned by upstream"; # added 2022-01-01
-  ht-rust = xh; # added 2021-02-13
-  htmlTidy = html-tidy;  # added 2014-12-06
-  hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now."; # added 2020-04-06
-  iana_etc = iana-etc;  # added 2017-03-08
-  iasl = throw "iasl has been removed, use acpica-tools instead"; # added 2021-08-08
-  icedtea8_web = adoptopenjdk-icedtea-web; # added 2019-08-21
-  icedtea_web = adoptopenjdk-icedtea-web; # added 2019-08-21
-  idea = jetbrains; # added 2017-04-03
-  imagemagick7_light = imagemagick_light; # added 2021-02-22
-  imagemagick7 = imagemagick; # added 2021-02-22
-  imagemagick7Big = imagemagickBig; # added 2021-02-22
-  impressive = throw "impressive has been removed due to lack of released python 2 support and maintainership in nixpkgs"; # added 2022-01-27
+  graalvm8-ce = throw "graalvm8-ce has been removed by upstream."; # Added 2021-10-19
+  graalvm8 = throw "graalvm8-ce has been removed by upstream."; # Added 2021-10-19
+  gr-ais = gnuradio3_7.pkgs.ais; # Added 2019-05-27, changed 2020-10-16
+  grantlee5 = throw "'grantlee5' has been renamed to/replaced by 'libsForQt5.grantlee'"; # Converted to throw 2022-02-22
+  gr-gsm = gnuradio3_7.pkgs.gsm; # Added 2019-05-27, changed 2020-10-16
+  grib-api = throw "grib-api has been replaced by ecCodes => https://confluence.ecmwf.int/display/ECC/GRIB-API+migration"; # Added 2022-01-05
+  gr-limesdr = gnuradio3_7.pkgs.limesdr; # Added 2019-05-27, changed 2020-10-16
+  gr-nacl = gnuradio3_7.pkgs.nacl; # Added 2019-05-27, changed 2020-10-16
+  gr-osmosdr = gnuradio3_7.pkgs.osmosdr; # Added 2019-05-27, changed 2020-10-16
+  gr-rds = gnuradio3_7.pkgs.rds; # Added 2019-05-27, changed 2020-10-16
+  gsettings_desktop_schemas = throw "'gsettings_desktop_schemas' has been renamed to/replaced by 'gsettings-desktop-schemas'"; # Converted to throw 2022-02-22
+  gtk_doc = throw "'gtk_doc' has been renamed to/replaced by 'gtk-doc'"; # Converted to throw 2022-02-22
+  gtklick = throw "gtklick has been removed from nixpkgs as the project is stuck on python2"; # Added 2022-01-01
+  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # Added 2019-12-10
+  guileCairo = throw "'guileCairo' has been renamed to/replaced by 'guile-cairo'"; # Converted to throw 2022-02-22
+  guile-gnome = throw "guile-gnome has been removed"; # Added 2022-01-16
+  guileGnome = throw "guile-gnome has been removed"; # Added 2022-01-16
+  guile_lib = throw "'guile_lib' has been renamed to/replaced by 'guile-lib'"; # Converted to throw 2022-02-22
+  guileLint = throw "'guileLint' has been renamed to/replaced by 'guile-lint'"; # Converted to throw 2022-02-22
+  guile_ncurses = throw "'guile_ncurses' has been renamed to/replaced by 'guile-ncurses'"; # Converted to throw 2022-02-22
+  gupnp_av = throw "'gupnp_av' has been renamed to/replaced by 'gupnp-av'"; # Converted to throw 2022-02-22
+  gupnp_dlna = throw "'gupnp_dlna' has been renamed to/replaced by 'gupnp-dlna'"; # Converted to throw 2022-02-22
+  gupnp_igd = throw "'gupnp_igd' has been renamed to/replaced by 'gupnp-igd'"; # Converted to throw 2022-02-22
+  gupnptools = throw "'gupnptools' has been renamed to/replaced by 'gupnp-tools'"; # Converted to throw 2022-02-22
+  gutenberg = throw "'gutenberg' has been renamed to/replaced by 'zola'"; # Converted to throw 2022-02-22
+  gwtdragdrop = throw "gwtdragdrop was removed: abandoned by upstream"; # Added 2022-02-06
+  gwtwidgets = throw "gwtwidgets was removed: unmaintained"; # Added 2022-02-06
+
+  ### H ###
+
+  hal-flash = throw "hal-flash has been removed as Adobe Flash Player is now deprecated."; # Added 2021-02-07
+  hawkthorne = throw "hawkthorne has been removed because it depended on a broken version of love"; # Added 2022-01-15
+  heimdalFull = throw "'heimdalFull' has been renamed to/replaced by 'heimdal'"; # Converted to throw 2022-02-22
+  heme = throw "heme has been removed: upstream is gone"; # added 2022-02-06
+  hepmc = hepmc2; # Added 2019-08-05
+  hexen = throw "hexen (SDL port) has been removed: abandoned by upstream."; # Added 2019-12-11
+  hicolor_icon_theme = throw "'hicolor_icon_theme' has been renamed to/replaced by 'hicolor-icon-theme'"; # Converted to throw 2022-02-22
+  holochain-go = throw "holochain-go was abandoned by upstream"; # Added 2022-01-01
+  htmlTidy = throw "'htmlTidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
+  ht-rust = xh; # Added 2021-02-13
+  hydra-flakes = throw "hydra-flakes: Flakes support has been merged into Hydra's master. Please use `hydra-unstable` now."; # Added 2020-04-06
+
+  ### I ###
+
+  iana_etc = throw "'iana_etc' has been renamed to/replaced by 'iana-etc'"; # Converted to throw 2022-02-22
+  iasl = throw "iasl has been removed, use acpica-tools instead"; # Added 2021-08-08
+  icecat-bin = throw "icecat-bin has been removed, the binary builds are not maintained upstream."; # Added 2022-02-15
+  icedtea8_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
+  icedtea_web = adoptopenjdk-icedtea-web; # Added 2019-08-21
+  idea = throw "'idea' has been renamed to/replaced by 'jetbrains'"; # Converted to throw 2022-02-22
+  imapproxy = throw "imapproxy has been removed because it did not support a supported openssl version"; # added 2021-12-15
+  imagemagick7Big = imagemagickBig; # Added 2021-02-22
+  imagemagick7 = imagemagick; # Added 2021-02-22
+  imagemagick7_light = imagemagick_light; # Added 2021-02-22
+  impressive = throw "impressive has been removed due to lack of released python 2 support and maintainership in nixpkgs"; # Added 2022-01-27
+  i-score = throw "i-score has been removed: abandoned upstream."; # Added 2020-11-21
   inboxer = throw "inboxer has been removed as it is no longer maintained and no longer works as Google shut down the inbox service this package wrapped.";
-  infiniband-diags = rdma-core; # added 2019-08-09
+  infiniband-diags = rdma-core; # Added 2019-08-09
+  ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project."; # Added 2022-01-12
   inotifyTools = inotify-tools;
-  inter-ui = inter; # added 2021-03-27
+  inter-ui = inter; # Added 2021-03-27
+  iops = throw "iops was removed: upstream is gone"; # Added 2022-02-06
   iproute = iproute2; # moved from top-level 2021-03-14
-  ipsecTools = throw "ipsecTools has benn removed, because it was no longer maintained upstream"; # added 2021-12-15
-  i-score = throw "i-score has been removed: abandoned upstream."; # added 2020-11-21
+  ipsecTools = throw "ipsecTools has benn removed, because it was no longer maintained upstream"; # Added 2021-12-15
+
+  ### J ###
+
+
   jack2Full = jack2; # moved from top-level 2021-03-14
-  jamomacore = throw "jamomacore has been removed: abandoned upstream."; # added 2020-11-21
-  jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # added 2021-03-15
-  jbuilder = dune_1; # added 2018-09-09
+  jamomacore = throw "jamomacore has been removed: abandoned upstream."; # Added 2020-11-21
+  jbidwatcher = throw "jbidwatcher was discontinued in march 2021"; # Added 2021-03-15
+  jbuilder = throw "'jbuilder' has been renamed to/replaced by 'dune_1'"; # Converted to throw 2022-02-22
+  jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version."; # Added 2021-04-26
   jikes = throw "jikes was deprecated on 2019-10-07: abandoned by upstream";
-  joseki = apache-jena-fuseki; # added 2016-02-28
+  joseki = throw "'joseki' has been renamed to/replaced by 'apache-jena-fuseki'"; # Converted to throw 2022-02-22
   journalbeat7 = throw "journalbeat has been removed upstream. Use filebeat with the journald input instead.";
-  jvmci8 = throw "graalvm8 and its tools were deprecated in favor of graalvm8-ce"; # added 2021-10-15
-  json_glib = json-glib; # added 2018-02-25
-  kafkacat = kcat; # added 2021-10-07
-  kdecoration-viewer = throw "kdecoration-viewer has been removed from nixpkgs, as there is no upstream activity"; # 2020-06-16
-  keepnote = throw "keepnote has been removed from nixpkgs, as it is stuck on python2."; # added 2022-01-01
-  k9copy = throw "k9copy has been removed from nixpkgs, as there is no upstream activity"; # 2020-11-06
-  kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # added 2021-06-09
+
+  # Julia
+  julia_07 = throw "julia_07 has been deprecated in favor of the latest LTS version"; # Added 2020-09-15
+  julia_1 = throw "julia_1 has been deprecated in favor of julia_10 as it was ambiguous"; # Added 2021-03-13
+  julia_11 = throw "julia_11 has been deprecated in favor of the latest stable version"; # Added 2020-09-15
+  julia_13 = throw "julia_13 has been deprecated in favor of the latest stable version"; # Added 2021-03-13
+  julia_10-bin = throw "julia_10-bin has been deprecated in favor of the latest LTS version"; # Added 2021-12-02
+
+  json_glib = throw "'json_glib' has been renamed to/replaced by 'json-glib'"; # Converted to throw 2022-02-22
+  jvmci8 = throw "graalvm8 and its tools were deprecated in favor of graalvm8-ce"; # Added 2021-10-15
+
+  ### K ###
+
+  k3d = throw "k3d has been removed because it was broken and has seen no release since 2016"; # Added 2022-01-04
+  k9copy = throw "k9copy has been removed from nixpkgs, as there is no upstream activity"; # Added 2020-11-06
+  kafkacat = kcat; # Added 2021-10-07
+  kbdKeymaps = throw "kbdKeymaps is not needed anymore since dvp and neo are now part of kbd"; # Added 2021-04-11
+  kdeconnect = plasma5Packages.kdeconnect-kde; # Added 2020-10-28
+  kdecoration-viewer = throw "kdecoration-viewer has been removed from nixpkgs, as there is no upstream activity"; # Added 2020-06-16
+  kdiff3-qt5 = throw "'kdiff3-qt5' has been renamed to/replaced by 'kdiff3'"; # Converted to throw 2022-02-22
+  keepass-keefox = throw "'keepass-keefox' has been renamed to/replaced by 'keepass-keepassrpc'"; # Converted to throw 2022-02-22
+  keepassx-community = throw "'keepassx-community' has been renamed to/replaced by 'keepassxc'"; # Converted to throw 2022-02-22
+  keepassx-reboot = throw "'keepassx-reboot' has been renamed to/replaced by 'keepassx-community'"; # Converted to throw 2022-02-22
+  keepassx2-http = throw "'keepassx2-http' has been renamed to/replaced by 'keepassx-reboot'"; # Converted to throw 2022-02-22
+  keepnote = throw "keepnote has been removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-01
+  kerberos = libkrb5; # moved from top-level 2021-03-14
+  kexectools = kexec-tools; # Added 2021-09-03
+  keybase-go = throw "'keybase-go' has been renamed to/replaced by 'keybase'"; # Converted to throw 2022-02-22
+  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # Added 2019-12-10
+  keysmith = libsForQt5.plasmaMobileGear.keysmith; # Added 2021-07-14
+  kibana7-oss = throw "kibana7-oss has been removed, as the distribution is no longer provided by upstream. https://github.com/NixOS/nixpkgs/pull/114456"; # Added 2021-06-09
+  kicad-with-packages3d = kicad; # Added 2019-11-25
+  kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download."; # Added 2021-03-09
+  kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned."; # Added 2020-04-28
+  kino = throw "kino has been removed because it was broken and abandoned"; # Added 2021-04-25
+  knockknock = throw "knockknock has been removed from nixpkgs because the upstream project is abandoned."; # Added 2022-01-01
   kodiGBM = kodi-gbm;
   kodiPlain = kodi;
   kodiPlainWayland = kodi-wayland;
-  ino = throw "ino has been removed from nixpkgs, the project is stuck on python2 and upstream has archived the project."; # added 2022-01-12
-  jellyfin_10_5 = throw "Jellyfin 10.5 is no longer supported and contains a security vulnerability. Please upgrade to a newer version."; # added 2021-04-26
-  julia_07 = throw "julia_07 has been deprecated in favor of the latest LTS version"; # added 2020-09-15
-  julia_1 = throw "julia_1 has been deprecated in favor of julia_10 as it was ambiguous"; # added 2021-03-13
-  julia_11 = throw "julia_11 has been deprecated in favor of the latest stable version"; # added 2020-09-15
-  julia_13 = throw "julia_13 has been deprecated in favor of the latest stable version"; # added 2021-03-13
-  julia_10-bin = throw "julia_10-bin has been deprecated in favor of the latest LTS version"; # added 2021-12-02
-  k3d = throw "k3d has been removed because it was broken and has seen no release since 2016"; # added 2022-01-04
-  kbdKeymaps = throw "kbdKeymaps is not needed anymore since dvp and neo are now part of kbd"; # added 2021-04-11
-  kdeconnect = plasma5Packages.kdeconnect-kde; # added 2020-10-28
-  kdiff3-qt5 = kdiff3; # added 2017-02-18
-  keepass-keefox = keepass-keepassrpc; # backwards compatibility alias, added 2018-02
-  keepassx-community = keepassxc; # added 2017-11
-  keepassx-reboot = keepassx-community; # added 2017-02-01
-  keepassx2-http = keepassx-reboot; # added 2016-10-17
-  kexectools = kexec-tools; # added 2021-09-03
-  keybase-go = keybase;  # added 2016-08-24
-  keysmith = libsForQt5.plasmaMobileGear.keysmith; # added 2021-07-14
-  kinetic-cpp-client = throw "kinetic-cpp-client has been removed from nixpkgs, as it's abandoned."; # 2020-04-28
-  kicad-with-packages3d = kicad; # added 2019-11-25
-  kindlegen = throw "kindlegen has been removed from nixpkgs, as it's abandoned and no longer available for download."; # 2021-03-09
-  kino = throw "kino has been removed because it was broken and abandoned"; # added 2021-04-25
-  knockknock = throw "knockknock has been removed from nixpkgs because the upstream project is abandoned."; # 2022-01-01
-  krename-qt5 = krename; # added 2017-02-18
-  kerberos = libkrb5; # moved from top-level 2021-03-14
-  keymon = throw "keymon has been removed from nixpkgs, as it's abandoned and archived."; # added 2019-12-10
-  kramdown-rfc2629 = rubyPackages.kramdown-rfc2629; # added 2021-03-23
+  kodiPlugins = kodiPackages; # Added 2021-03-09;
+  kramdown-rfc2629 = rubyPackages.kramdown-rfc2629; # Added 2021-03-23
+  krename-qt5 = throw "'krename-qt5' has been renamed to/replaced by 'krename'"; # Converted to throw 2022-02-22
   krita-beta = krita; # moved from top-level 2021-12-23
-  kvm = qemu_kvm; # added 2018-04-25
-  lastfmsubmitd = throw "lastfmsubmitd was removed from nixpkgs as the project is abandoned"; # added 2022-01-01
+  kvm = throw "'kvm' has been renamed to/replaced by 'qemu_kvm'"; # Converted to throw 2022-02-22
+
+  ### L ###
+
+  lastfmsubmitd = throw "lastfmsubmitd was removed from nixpkgs as the project is abandoned"; # Added 2022-01-01
   latinmodern-math = lmmath;
-  letsencrypt = certbot; # added 2016-05-16
-  libaudit = audit; # added 2018-04-25
-  libcanberra_gtk2 = libcanberra-gtk2; # added 2018-02-25
-  libcanberra_gtk3 = libcanberra-gtk3; # added 2018-02-25
-  libcap_manpages = libcap.doc; # added 2016-04-29
-  libcap_pam = if stdenv.isLinux then libcap.pam else null; # added 2016-04-29
-  libcroco = throw "libcroco has been removed as it's no longer used in any derivations."; # added 2020-03-04
-  libindicate = throw "libindacate has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
-  libindicate-gtk3 = throw "libindacate-gtk2 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
-  libindicate-gtk2 = throw "libindacate-gtk3 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
-  libcap_progs = libcap.out; # added 2016-04-29
-  libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore."; # added 2021-05-16
-  libdbusmenu_qt5 = libsForQt5.libdbusmenu;  # added 2015-12-19
-  libdbusmenu-glib = libdbusmenu; # added 2018-05-01
-  liberation_ttf_v1_from_source = liberation_ttf_v1; # added 2018-12-12
-  liberation_ttf_v2_from_source = liberation_ttf_v2; # added 2018-12-12
-  liberationsansnarrow = liberation-sans-narrow; # added 2018-12-12
-  libgksu = throw "libgksu has been removed"; # added 2022-01-16
-  libgnome_keyring = libgnome-keyring; # added 2018-02-25
-  libgnome_keyring3 = libgnome-keyring3; # added 2018-02-25
-  libgpgerror = libgpg-error; # added 2021-09-04
-  libgumbo = gumbo; # added 2018-01-21
-  libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # added 2022-01-21
-  libGL_driver = mesa.drivers; # added 2019-05-28
-  libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # added 2018-03-14
-  libjpeg_drop = libjpeg_original; # added 2020-06-05
-  libjson_rpc_cpp = libjson-rpc-cpp; # added 2017-02-28
-  libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it."; # added 2021-11-09
-  liblapackWithoutAtlas = lapack-reference; # added 2018-11-05
-  liblastfm = libsForQt5.liblastfm; # added 2020-06-14
-  liblrdf = lrdf; # added 2018-04-25
+  letsencrypt = throw "'letsencrypt' has been renamed to/replaced by 'certbot'"; # Converted to throw 2022-02-22
+  libGL_driver = throw "'libGL_driver' has been renamed to/replaced by 'mesa.drivers'"; # Converted to throw 2022-02-22
+  libaudit = throw "'libaudit' has been renamed to/replaced by 'audit'"; # Converted to throw 2022-02-22
+  libcanberra_gtk2 = throw "'libcanberra_gtk2' has been renamed to/replaced by 'libcanberra-gtk2'"; # Converted to throw 2022-02-22
+  libcanberra_gtk3 = throw "'libcanberra_gtk3' has been renamed to/replaced by 'libcanberra-gtk3'"; # Converted to throw 2022-02-22
+  libcap_manpages = throw "'libcap_manpages' has been renamed to/replaced by 'libcap.doc'"; # Converted to throw 2022-02-22
+  libcap_pam = if stdenv.isLinux then libcap.pam else null; # Added 2016-04-29
+  libcap_progs = throw "'libcap_progs' has been renamed to/replaced by 'libcap.out'"; # Converted to throw 2022-02-22
+  libco-canonical = throw "libco-canonical: Canonical deleted the repo, libco-canonical is not used anymore."; # Added 2021-05-16
+  libcroco = throw "libcroco has been removed as it's no longer used in any derivations."; # Added 2020-03-04
+  libdbusmenu-glib = throw "'libdbusmenu-glib' has been renamed to/replaced by 'libdbusmenu'"; # Converted to throw 2022-02-22
+  libdbusmenu_qt5 = throw "'libdbusmenu_qt5' has been renamed to/replaced by 'libsForQt5.libdbusmenu'"; # Converted to throw 2022-02-22
+  liberation_ttf_v1_from_source = throw "'liberation_ttf_v1_from_source' has been renamed to/replaced by 'liberation_ttf_v1'"; # Converted to throw 2022-02-22
+  liberation_ttf_v2_from_source = throw "'liberation_ttf_v2_from_source' has been renamed to/replaced by 'liberation_ttf_v2'"; # Converted to throw 2022-02-22
+  liberationsansnarrow = throw "'liberationsansnarrow' has been renamed to/replaced by 'liberation-sans-narrow'"; # Converted to throw 2022-02-22
+  libgksu = throw "libgksu has been removed"; # Added 2022-01-16
+  libgnome_keyring = throw "'libgnome_keyring' has been renamed to/replaced by 'libgnome-keyring'"; # Converted to throw 2022-02-22
+  libgnome_keyring3 = throw "'libgnome_keyring3' has been renamed to/replaced by 'libgnome-keyring3'"; # Converted to throw 2022-02-22
+  libgpgerror = libgpg-error; # Added 2021-09-04
+  libgroove = throw "libgroove has been removed, because it depends on an outdated and insecure version of ffmpeg"; # Added 2022-01-21
+  libgumbo = throw "'libgumbo' has been renamed to/replaced by 'gumbo'"; # Converted to throw 2022-02-22
+  libindicate = throw "libindacate has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
+  libindicate-gtk2 = throw "libindacate-gtk3 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
+  libindicate-gtk3 = throw "libindacate-gtk2 has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
+  libintlOrEmpty = lib.optional (!stdenv.isLinux || stdenv.hostPlatform.libc != "glibc") gettext; # Added 2018-03-14
+  libjpeg_drop = libjpeg_original; # Added 2020-06-05
+  libjson_rpc_cpp = throw "'libjson_rpc_cpp' has been renamed to/replaced by 'libjson-rpc-cpp'"; # Converted to throw 2022-02-22
+  libkml = throw "libkml has been removed from nixpkgs, as it's abandoned and no package needed it."; # Added 2021-11-09
+  liblapackWithoutAtlas = throw "'liblapackWithoutAtlas' has been renamed to/replaced by 'lapack-reference'"; # Converted to throw 2022-02-22
+  liblastfm = libsForQt5.liblastfm; # Added 2020-06-14
+  liblrdf = throw "'liblrdf' has been renamed to/replaced by 'lrdf'"; # Converted to throw 2022-02-22
+  libmsgpack = throw "'libmsgpack' has been renamed to/replaced by 'msgpack'"; # Converted to throw 2022-02-22
   libosmpbf = throw "libosmpbf was removed because it is no longer required by osrm-backend";
-  libqrencode = qrencode;  # added 2019-01-01
-  librdf = lrdf; # added 2020-03-22
-  librecad2 = librecad;  # backwards compatibility alias, added 2015-10
-  librsync_0_9 = throw "librsync_0_9 has been removed"; # added 2021-07-24
-  libseat = seatd; # added 2021-06-24
-  libsysfs = sysfsutils; # added 2018-04-25
-  libtidy = html-tidy;  # added 2014-12-21
+  libqmatrixclient = throw "libqmatrixclient was renamed to libquotient"; # Added 2020-04-09
+  libqrencode = throw "'libqrencode' has been renamed to/replaced by 'qrencode'"; # Converted to throw 2022-02-22
+  librdf = lrdf; # Added 2020-03-22
+  librecad2 = throw "'librecad2' has been renamed to/replaced by 'librecad'"; # Converted to throw 2022-02-22
+  librsync_0_9 = throw "librsync_0_9 has been removed"; # Added 2021-07-24
+  libseat = seatd; # Added 2021-06-24
+  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # Added 2019-12-10
+  libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used."; # Added 2020-06-22
+  libsysfs = throw "'libsysfs' has been renamed to/replaced by 'sysfsutils'"; # Converted to throw 2022-02-22
+  libtidy = throw "'libtidy' has been renamed to/replaced by 'html-tidy'"; # Converted to throw 2022-02-22
+  libtorrentRasterbar = libtorrent-rasterbar; # Added 2020-12-20
+  libtorrentRasterbar-1_1_x = libtorrent-rasterbar-1_1_x; # Added 2020-12-20
+  libtorrentRasterbar-1_2_x = libtorrent-rasterbar-1_2_x; # Added 2020-12-20
+  libtorrentRasterbar-2_0_x = libtorrent-rasterbar-2_0_x; # Added 2020-12-20
   libtxc_dxtn = throw "libtxc_dxtn was removed 2020-03-16, now integrated in Mesa";
   libtxc_dxtn_s2tc = throw "libtxc_dxtn_s2tc was removed 2020-03-16, now integrated in Mesa";
-  libudev = udev; # added 2018-04-25
-  libungif = giflib; # added 2020-02-12
-  libusb = libusb1; # added 2020-04-28
-  libsexy = throw "libsexy has been removed from nixpkgs, as it's abandoned and no package needed it."; # 2019-12-10
-  libstdcxxHook = throw "libstdcxx hook has been removed because cc-wrapper is now directly aware of the c++ standard library intended to be used."; # 2020-06-22
-  libqmatrixclient = throw "libqmatrixclient was renamed to libquotient"; # added 2020-04-09
+  libudev = throw "'libudev' has been renamed to/replaced by 'udev'"; # Converted to throw 2022-02-22
+  libungif = giflib; # Added 2020-02-12
+  libusb = libusb1; # Added 2020-04-28
+  libva-full = throw "'libva-full' has been renamed to/replaced by 'libva'"; # Converted to throw 2022-02-22
+  libva1-full = throw "'libva1-full' has been renamed to/replaced by 'libva1'"; # Converted to throw 2022-02-22
   libwnck3 = libwnck;
-  lilypond-unstable = lilypond; # added 2021-03-11
-  lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # added 2022-01-14
-  lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # added 2022-01-14
-  links = links2; # added 2016-01-31
-  linuxband = throw "linuxband has been removed from nixpkgs, as it's abandoned upstream."; # added 2021-12-09
-  linux_rpi0 = linuxKernel.kernels.linux_rpi1;
-  linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
-  linuxPackages_rt_5_4 = linuxKernel.packages.linux_rt_5_4;
-  linuxPackages_rt_5_10 = linuxKernel.packages.linux_rt_5_10;
-  linuxPackages_rpi1 = linuxKernel.packages.linux_rpi1;
-  linuxPackages_rpi2 = linuxKernel.packages.linux_rpi2;
-  linuxPackages_rpi3 = linuxKernel.packages.linux_rpi3;
-  linuxPackages_rpi4 = linuxKernel.packages.linux_rpi4;
-  linuxPackages_4_4 = linuxKernel.packages.linux_4_4;
-  linuxPackages_4_9 = linuxKernel.packages.linux_4_9;
+  lilypond-unstable = lilypond; # Added 2021-03-11
+  lilyterm = throw "lilyterm has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # Added 2022-01-14
+  lilyterm-git = throw "lilyterm-git has been removed from nixpkgs, because it was relying on a vte version that depended on python2."; # Added 2022-01-14
+  links = throw "'links' has been renamed to/replaced by 'links2'"; # Converted to throw 2022-02-22
+  linuxband = throw "linuxband has been removed from nixpkgs, as it's abandoned upstream."; # Added 2021-12-09
+
+  # Linux kernels
+  linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10;
+  linux-rt_5_4 = linuxKernel.kernels.linux_rt_5_4;
   linuxPackages_4_14 = linuxKernel.packages.linux_4_14;
-  linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14;
   linuxPackages_4_19 = linuxKernel.packages.linux_4_19;
-  linuxPackages_5_4 = linuxKernel.packages.linux_5_4;
+  linuxPackages_4_4 = linuxKernel.packages.linux_4_4;
+  linuxPackages_4_9 = linuxKernel.packages.linux_4_9;
   linuxPackages_5_10 = linuxKernel.packages.linux_5_10;
   linuxPackages_5_15 = linuxKernel.packages.linux_5_15;
   linuxPackages_5_16 = linuxKernel.packages.linux_5_16;
-
-  linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95;
-  linux_rpi1 = linuxKernel.kernels.linux_rpi1;
-  linux_rpi2 = linuxKernel.kernels.linux_rpi2;
-  linux_rpi3 = linuxKernel.kernels.linux_rpi3;
-  linux_rpi4 = linuxKernel.kernels.linux_rpi4;
-  linux_4_4 = linuxKernel.kernels.linux_4_4;
-  linux_4_9 = linuxKernel.kernels.linux_4_9;
+  linuxPackages_5_4 = linuxKernel.packages.linux_5_4;
+  linuxPackages_hardkernel_4_14 = linuxKernel.packages.hardkernel_4_14;
+  linuxPackages_rpi0 = linuxKernel.packages.linux_rpi1;
+  linuxPackages_rpi02w = linuxKernel.packages.linux_rpi3;
+  linuxPackages_rpi1 = linuxKernel.packages.linux_rpi1;
+  linuxPackages_rpi2 = linuxKernel.packages.linux_rpi2;
+  linuxPackages_rpi3 = linuxKernel.packages.linux_rpi3;
+  linuxPackages_rpi4 = linuxKernel.packages.linux_rpi4;
+  linuxPackages_rt_5_10 = linuxKernel.packages.linux_rt_5_10;
+  linuxPackages_rt_5_4 = linuxKernel.packages.linux_rt_5_4;
   linux_4_14 = linuxKernel.kernels.linux_4_14;
   linux_4_19 = linuxKernel.kernels.linux_4_19;
-  linux_5_4 = linuxKernel.kernels.linux_5_4;
-  linux-rt_5_4 = linuxKernel.kernels.linux_rt_5_4;
+  linux_4_4 = linuxKernel.kernels.linux_4_4;
+  linux_4_9 = linuxKernel.kernels.linux_4_9;
   linux_5_10 = linuxKernel.kernels.linux_5_10;
-  linux-rt_5_10 = linuxKernel.kernels.linux_rt_5_10;
   linux_5_15 = linuxKernel.kernels.linux_5_15;
   linux_5_16 = linuxKernel.kernels.linux_5_16;
+  linux_5_4 = linuxKernel.kernels.linux_5_4;
+  linux_mptcp_95 = linuxKernel.kernels.linux_mptcp_95;
+  linux_rpi0 = linuxKernel.kernels.linux_rpi1;
+  linux_rpi02w = linuxKernel.kernels.linux_rpi3;
+  linux_rpi1 = linuxKernel.kernels.linux_rpi1;
+  linux_rpi2 = linuxKernel.kernels.linux_rpi2;
+  linux_rpi3 = linuxKernel.kernels.linux_rpi3;
+  linux_rpi4 = linuxKernel.kernels.linux_rpi4;
 
-  # added 2020-04-04
+  # Added 2020-04-04
   linuxPackages_testing_hardened = throw "linuxPackages_testing_hardened has been removed, please use linuxPackages_latest_hardened";
   linux_testing_hardened = throw "linux_testing_hardened has been removed, please use linux_latest_hardened";
 
-  # added 2021-04-04
+  # Added 2021-04-04
   linuxPackages_xen_dom0 = linuxPackages;
   linuxPackages_latest_xen_dom0 = linuxPackages_latest;
   linuxPackages_xen_dom0_hardened = linuxPackages_hardened;
   linuxPackages_latest_xen_dom0_hardened = linuxPackages_latest_hardened;
 
-  # added 2021-08-16
+  # Added 2021-08-16
   linuxPackages_latest_hardened = throw ''
     The attribute `linuxPackages_hardened_latest' was dropped because the hardened patches
     frequently lag behind the upstream kernel. In some cases this meant that this attribute
@@ -578,176 +682,203 @@ mapAliases ({
   '';
   linux_latest_hardened = linuxPackages_latest_hardened;
 
-  linux-steam-integration = throw "linux-steam-integration has been removed, as the upstream project has been abandoned"; # added 2020-05-22
-  loadcaffe = throw "loadcaffe has been removed, as the upstream project has been abandoned"; # added 2020-03-28
-  lobster-two = google-fonts; # added 2021-07-22
-  lprof = throw "lprof has been removed as it's unmaintained upstream and broken in nixpkgs since a while ago"; # added 2021-02-15
-  lttngTools = lttng-tools;  # added 2014-07-31
-  lttngUst = lttng-ust;  # added 2014-07-31
-  lua5_1_sockets = lua51Packages.luasocket; # added 2017-05-02
-  lua5_expat = luaPackages.luaexpat; # added 2017-05-02
-  lua5_sec = luaPackages.luasec; # added 2017-05-02
-  lumpy = throw "lumpy has been removed from nixpkgs, as it is stuck on python2."; # added 2022-01-12
-  love_0_7 = throw "love_0_7 was removed because it is a very old version and no longer used by any package in nixpkgs"; # added 2022-01-15
-  love_0_8 = throw "love_0_8 was removed because it is a very old version and no longer used by any package in nixpkgs"; # added 2022-01-15
-  love_0_9 = throw "love_0_9 was removed because was broken for a long time and no longer used by any package in nixpkgs"; # added 2022-01-15
-  lxappearance-gtk3 = throw "lxappearance-gtk3 has been removed. Use lxappearance instead, which now defaults to Gtk3";  # added 2020-06-03
+  linux-steam-integration = throw "linux-steam-integration has been removed, as the upstream project has been abandoned"; # Added 2020-05-22
+
+  loadcaffe = throw "loadcaffe has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
+  lobster-two = google-fonts; # Added 2021-07-22
+  love_0_7 = throw "love_0_7 was removed because it is a very old version and no longer used by any package in nixpkgs"; # Added 2022-01-15
+  love_0_8 = throw "love_0_8 was removed because it is a very old version and no longer used by any package in nixpkgs"; # Added 2022-01-15
+  love_0_9 = throw "love_0_9 was removed because was broken for a long time and no longer used by any package in nixpkgs"; # Added 2022-01-15
+  lprof = throw "lprof has been removed as it's unmaintained upstream and broken in nixpkgs since a while ago"; # Added 2021-02-15
+  lttngTools = throw "'lttngTools' has been renamed to/replaced by 'lttng-tools'"; # Converted to throw 2022-02-22
+  lttngUst = throw "'lttngUst' has been renamed to/replaced by 'lttng-ust'"; # Converted to throw 2022-02-22
+  lua5_1_sockets = throw "'lua5_1_sockets' has been renamed to/replaced by 'lua51Packages.luasocket'"; # Converted to throw 2022-02-22
+  lua5_expat = throw "'lua5_expat' has been renamed to/replaced by 'luaPackages.luaexpat'"; # Converted to throw 2022-02-22
+  lua5_sec = throw "'lua5_sec' has been renamed to/replaced by 'luaPackages.luasec'"; # Converted to throw 2022-02-22
+  lumpy = throw "lumpy has been removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-12
+  lxappearance-gtk3 = throw "lxappearance-gtk3 has been removed. Use lxappearance instead, which now defaults to Gtk3"; # Added 2020-06-03
   lzma = xz; # moved from top-level 2021-03-14
-  m3d-linux = m33-linux; # added 2016-08-13
-  mail-notification = throw "mail-notification has been removed from nixpkgs, as it's unmaintained and has dependencies on old gnome libraries we want to remove"; # added 2021-08-21
-  mailpile = throw "mailpile was removed from nixpkgs, as it is stuck on python2."; # added 2022-01-12
-  man_db = man-db; # added 2016-05
-  manpages = man-pages; # added 2015-12-06
-  marathon = throw "marathon has been removed from nixpkgs, as it's unmaintained"; # added 2020-08-15
-  mysql = mariadb; # moved from top-level 2021-03-14
+
+  ### M ###
+
+  m3d-linux = throw "'m3d-linux' has been renamed to/replaced by 'm33-linux'"; # Converted to throw 2022-02-22
+  mail-notification = throw "mail-notification has been removed from nixpkgs, as it's unmaintained and has dependencies on old gnome libraries we want to remove"; # Added 2021-08-21
+  mailpile = throw "mailpile was removed from nixpkgs, as it is stuck on python2."; # Added 2022-01-12
+  man_db = throw "'man_db' has been renamed to/replaced by 'man-db'"; # Converted to throw 2022-02-22
+  manpages = throw "'manpages' has been renamed to/replaced by 'man-pages'"; # Converted to throw 2022-02-22
+  marathon = throw "marathon has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
   mariadb-client = hiPrio mariadb.client; #added 2019.07.28
   matcha = throw "matcha was renamed to matcha-gtk-theme"; # added 2020-05-09
-  mathics = throw "mathics has been removed from nixpkgs, as it's unmaintained"; # added 2020-08-15
-  matrique = spectral; # added 2020-01-27
-  mbedtls_1_3 = throw "mbedtls_1_3 is end of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # added 2019-12-08
+  mathics = throw "mathics has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
+  matrique = spectral; # Added 2020-01-27
+  mbedtls_1_3 = throw "mbedtls_1_3 is end of life, see https://tls.mbed.org/kb/how-to/upgrade-2.0"; # Added 2019-12-08
+  mcgrid = throw "mcgrid has been removed from nixpkgs, as it's not compatible with rivet 3"; # Added 2020-05-23
+  mcomix = throw "mcomix has been removed from nixpkgs, as it's unmaintained; try mcomix3 a Python 3 fork"; # Added 2019-12-10, modified 2020-11-25
   mediatomb = throw "mediatomb is no longer maintained upstream, use gerbera instead"; # added 2022-01-04
-  meme = meme-image-generator; # added 2021-04-21
-  mess = mame; # added 2019-10-30
-  metamorphose2 = throw "metamorphose2 has been removed from nixpkgs, as it was stuck on python2."; # added 2022-01-12
-  mcgrid = throw "mcgrid has been removed from nixpkgs, as it's not compatible with rivet 3"; # added 2020-05-23
-  mcomix = throw "mcomix has been removed from nixpkgs, as it's unmaintained; try mcomix3 a Python 3 fork"; # added 2019-12-10, modified 2020-11-25
-  mididings = throw "mididings has been removed from nixpkgs as it doesn't support recent python3 versions and its upstream stopped maintaining it."; # added 2022-01-12
-  mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2."; # added 2022-01-01
-  mirage = throw "mirage has been removed from nixpkgs, as it's unmaintained"; # added 2019-12-10
-  minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # added 2021-08-13
-  minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # added 2021-08-13
-  minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # added 2021-10-14
-  monero = monero-cli; # added 2021-11-28
-  monodevelop = throw "monodevelop has been removed from nixpgks"; # added 2022-01-15
-  mopidy-gmusic = throw "mopidy-gmusic has been removed because Google Play Music was discontinued"; # added 2021-03-07
-  mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # added 2020-10-18
-  mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # added 2020-10-18
+  meme = meme-image-generator; # Added 2021-04-21
+  memtest86 = throw "'memtest86' has been renamed to/replaced by 'memtest86plus'"; # Converted to throw 2022-02-22
+  mercurial_4 = throw "mercurial_4 has been removed as it's unmaintained"; # Added 2021-10-18
+  mesos = throw "mesos has been removed from nixpkgs, as it's unmaintained"; # Added 2020-08-15
+  mess = mame; # Added 2019-10-30
+  metamorphose2 = throw "metamorphose2 has been removed from nixpkgs, as it was stuck on python2."; # Added 2022-01-12
+  mididings = throw "mididings has been removed from nixpkgs as it doesn't support recent python3 versions and its upstream stopped maintaining it."; # Added 2022-01-12
+  midoriWrapper = throw "'midoriWrapper' has been renamed to/replaced by 'midori'"; # Converted to throw 2022-02-22
+  mime-types = mailcap; # Added 2022-01-21
+  mimms = throw "mimms has been removed from nixpkgs as the upstream project is stuck on python2."; # Added 2022-01-01
+  minergate-cli = throw "minergatecli has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
+  minergate = throw "minergate has been removed from nixpkgs, because the package is unmaintained and the site has a bad reputation"; # Added 2021-08-13
+  minetime = throw "minetime has been removed from nixpkgs, because it was discontinued 2021-06-22"; # Added 2021-10-14
+  mirage = throw "mirage has been removed from nixpkgs, as it's unmaintained"; # Added 2019-12-10
+  mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # Added 2020-08-15
+  mlt-qt5 = throw "'mlt-qt5' has been renamed to/replaced by 'libsForQt5.mlt'"; # Converted to throw 2022-02-22
+  mobile_broadband_provider_info = throw "'mobile_broadband_provider_info' has been renamed to/replaced by 'mobile-broadband-provider-info'"; # Converted to throw 2022-02-22
+  moby = throw "moby has been removed, merged into linuxkit in 2018.  Use linuxkit instead.";
+  module_init_tools = throw "'module_init_tools' has been renamed to/replaced by 'kmod'"; # Converted to throw 2022-02-22
+  monero = monero-cli; # Added 2021-11-28
+  monodevelop = throw "monodevelop has been removed from nixpgks"; # Added 2022-01-15
+  mopidy-gmusic = throw "mopidy-gmusic has been removed because Google Play Music was discontinued"; # Added 2021-03-07
+  mopidy-local-images = throw "mopidy-local-images has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # Added 2020-10-18
+  mopidy-local-sqlite = throw "mopidy-local-sqlite has been removed as it's unmaintained. Its functionality has been merged into the mopidy-local extension."; # Added 2020-10-18
+
+  morituri = throw "'morituri' has been renamed to/replaced by 'whipper'"; # Converted to throw 2022-02-22
+  mozart-binary = mozart2-binary; # Added 2019-09-23
+  mozart = mozart2-binary; # Added 2019-09-23
+  mpc_cli = mpc-cli; # moved from top-level 2022-01-24
+  mpd_clientlib = libmpdclient; # Added 2021-02-11
+  mpich2 = throw "'mpich2' has been renamed to/replaced by 'mpich'"; # Converted to throw 2022-02-22
+  msf = throw "'msf' has been renamed to/replaced by 'metasploit'"; # Converted to throw 2022-02-22
+  multimc = throw "multimc was removed from nixpkgs; use polymc instead (see https://github.com/NixOS/nixpkgs/pull/154051 for more information)"; # Added 2022-01-08
+  mumble_git = pkgs.mumble; # Added 2019-08-01
+  murmur_git = pkgs.murmur; # Added 2019-08-01
   mysql-client = hiPrio mariadb.client;
-  memtest86 = memtest86plus; # added 2019-05-08
-  mercurial_4 = throw "mercurial_4 has been removed as it's unmaintained"; # added 2021-10-18
-  mesa_noglu = mesa; # added 2019-05-28
+  mysql = mariadb; # moved from top-level 2021-03-14
+
   # NOTE: 2018-07-12: legacy alias:
   # grsecurity business is done: https://www.theregister.co.uk/2018/02/08/bruce_perens_grsecurity_anti_slapp/
+
   # floating point textures patents are expired,
   # so package reduced to alias
   mesa_drivers = mesa.drivers;
-  mesos = throw "mesos has been removed from nixpkgs, as it's unmaintained"; # added 2020-08-15
-  midoriWrapper = midori; # added 2015-01
-  mist = throw "mist has been removed as the upstream project has been abandoned, see https://github.com/ethereum/mist#mist-browser-deprecated"; # added 2020-08-15
-  mlt-qt5 = libsForQt5.mlt;  # added 2015-12-19
-  mobile_broadband_provider_info = mobile-broadband-provider-info; # added 2018-02-25
-  moby = throw "moby has been removed, merged into linuxkit in 2018.  Use linuxkit instead.";
-  module_init_tools = kmod; # added 2016-04-22
-  mozart = mozart2-binary; # added 2019-09-23
-  mozart-binary = mozart2-binary; # added 2019-09-23
-  mpc_cli = mpc-cli; # moved from top-level 2022-01-24
-  mpd_clientlib = libmpdclient; # added 2021-02-11
-  mpich2 = mpich;  # added 2018-08-06
-  msf = metasploit; # added 2018-04-25
-  libmsgpack = msgpack; # added 2018-08-17
-  mssys = ms-sys; # added 2015-12-13
-  mpv-with-scripts = self.wrapMpv self.mpv-unwrapped { }; # added 2020-05-22
-  multipath_tools = multipath-tools;  # added 2016-01-21
-  mumsi = throw "mumsi has been removed from nixpkgs, as it's unmaintained and does not build anymore"; # added 2021-11-18
-  mupen64plus1_5 = mupen64plus; # added 2016-02-12
-  mx = throw "graalvm8 and its tools were deprecated in favor of graalvm8-ce"; # added 2021-10-15
-  mxisd = throw "mxisd has been removed from nixpkgs as it has reached end of life, see https://github.com/kamax-matrix/mxisd/blob/535e0a5b96ab63cb0ddef90f6f42c5866407df95/EOL.md#end-of-life-notice . ma1sd may be a suitable alternative."; # added 2021-04-15
-  mysqlWorkbench = mysql-workbench; # added 2017-01-19
+  mesa_noglu = throw "'mesa_noglu' has been renamed to/replaced by 'mesa'"; # Converted to throw 2022-02-22
+
+  mpv-with-scripts = self.wrapMpv self.mpv-unwrapped { }; # Added 2020-05-22
+  mssys = throw "'mssys' has been renamed to/replaced by 'ms-sys'"; # Converted to throw 2022-02-22
+  multipath_tools = throw "'multipath_tools' has been renamed to/replaced by 'multipath-tools'"; # Converted to throw 2022-02-22
+  mumsi = throw "mumsi has been removed from nixpkgs, as it's unmaintained and does not build anymore"; # Added 2021-11-18
+  mupen64plus1_5 = throw "'mupen64plus1_5' has been renamed to/replaced by 'mupen64plus'"; # Converted to throw 2022-02-22
+  mx = throw "graalvm8 and its tools were deprecated in favor of graalvm8-ce"; # Added 2021-10-15
+  mxisd = throw "mxisd has been removed from nixpkgs as it has reached end of life, see https://github.com/kamax-matrix/mxisd/blob/535e0a5b96ab63cb0ddef90f6f42c5866407df95/EOL.md#end-of-life-notice . ma1sd may be a suitable alternative."; # Added 2021-04-15
+  mysqlWorkbench = throw "'mysqlWorkbench' has been renamed to/replaced by 'mysql-workbench'"; # Converted to throw 2022-02-22
+
+  ### N ###
+
+  net_snmp = net-snmp; # Added 2019-12-21
   nagiosPluginsOfficial = monitoring-plugins;
-  navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # added 2021-06-07
-  ncat = nmap;  # added 2016-01-26
-  neap = throw "neap was removed from nixpkgs, as it relies on python2"; # added 2022-01-12
-  netcat-openbsd = libressl.nc; # added 2018-04-25
-  netease-cloud-music = throw "netease-cloud-music has been removed together with deepin"; # added 2020-08-31
-  networkmanager_fortisslvpn = networkmanager-fortisslvpn; # added 2018-02-25
-  networkmanager_iodine = networkmanager-iodine; # added 2018-02-25
-  networkmanager_l2tp = networkmanager-l2tp; # added 2018-02-25
-  networkmanager_openconnect = networkmanager-openconnect; # added 2018-02-25
-  networkmanager_openvpn = networkmanager-openvpn; # added 2018-02-25
-  networkmanager_vpnc = networkmanager-vpnc; # added 2018-02-25
-  neutral-style = throw "neural-style has been removed, as the upstream project has been abandoned"; # added 2020-03-28
-  nfsUtils = nfs-utils;  # added 2014-12-06
-  nginxUnstable = nginxMainline; # added 2018-04-25
-  nilfs_utils = nilfs-utils; # added 2018-04-25
+  navit = throw "navit has been removed from nixpkgs, due to being unmaintained"; # Added 2021-06-07
+  ncat = throw "'ncat' has been renamed to/replaced by 'nmap'"; # Converted to throw 2022-02-22
+  neap = throw "neap was removed from nixpkgs, as it relies on python2"; # Added 2022-01-12
+  netcat-openbsd = throw "'netcat-openbsd' has been renamed to/replaced by 'libressl.nc'"; # Converted to throw 2022-02-22
+  netease-cloud-music = throw "netease-cloud-music has been removed together with deepin"; # Added 2020-08-31
+  networkmanager_fortisslvpn = throw "'networkmanager_fortisslvpn' has been renamed to/replaced by 'networkmanager-fortisslvpn'"; # Converted to throw 2022-02-22
+  networkmanager_iodine = throw "'networkmanager_iodine' has been renamed to/replaced by 'networkmanager-iodine'"; # Converted to throw 2022-02-22
+  networkmanager_l2tp = throw "'networkmanager_l2tp' has been renamed to/replaced by 'networkmanager-l2tp'"; # Converted to throw 2022-02-22
+  networkmanager_openconnect = throw "'networkmanager_openconnect' has been renamed to/replaced by 'networkmanager-openconnect'"; # Converted to throw 2022-02-22
+  networkmanager_openvpn = throw "'networkmanager_openvpn' has been renamed to/replaced by 'networkmanager-openvpn'"; # Converted to throw 2022-02-22
+  networkmanager_vpnc = throw "'networkmanager_vpnc' has been renamed to/replaced by 'networkmanager-vpnc'"; # Converted to throw 2022-02-22
+  neutral-style = throw "neural-style has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
+  nfsUtils = throw "'nfsUtils' has been renamed to/replaced by 'nfs-utils'"; # Converted to throw 2022-02-22
+  nginxUnstable = throw "'nginxUnstable' has been renamed to/replaced by 'nginxMainline'"; # Converted to throw 2022-02-22
+  nilfs_utils = throw "'nilfs_utils' has been renamed to/replaced by 'nilfs-utils'"; # Converted to throw 2022-02-22
   nix-direnv-flakes = nix-direnv;
-  nix-review = nixpkgs-review; # added 2019-12-22
-  nixFlakes = nixVersions.stable; # added 2021-05-21
-  nixStable = nixVersions.stable; # added 2022-01-24
-  nixUnstable = nixVersions.unstable; # added 2022-01-26
+  nix-review = nixpkgs-review; # Added 2019-12-22
+  nixFlakes = nixVersions.stable; # Added 2021-05-21
+  nixStable = nixVersions.stable; # Added 2022-01-24
+  nixUnstable = nixVersions.unstable; # Added 2022-01-26
   nix_2_3 = nixVersions.nix_2_3;
   nix_2_4 = nixVersions.nix_2_4;
   nix_2_5 = nixVersions.nix_2_5;
   nix_2_6 = nixVersions.nix_2_6;
-  nmap_graphical = nmap-graphical;  # added 2017-01-19
-  nmap-unfree = nmap; # added 2021-04-06
-  nologin = shadow; # added 2018-04-25
-  nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # added 2021-05-27
-  nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # added 2022-01-15
-  noto-fonts-cjk = noto-fonts-cjk-sans; # added 2021-12-16
-  now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # added 2021-08-05
-  nxproxy = nx-libs; # added 2019-02-15
+  nmap-unfree = nmap; # Added 2021-04-06
+  nmap_graphical = throw "'nmap_graphical' has been renamed to/replaced by 'nmap-graphical'"; # Converted to throw 2022-02-22
+  nologin = throw "'nologin' has been renamed to/replaced by 'shadow'"; # Converted to throw 2022-02-22
+  nordic-polar = throw "nordic-polar was removed on 2021-05-27, now integrated in nordic"; # Added 2021-05-27
+  noto-fonts-cjk = noto-fonts-cjk-sans; # Added 2021-12-16
+  nottetris2 = throw "nottetris2 was removed because it is unmaintained by upstream and broken"; # Added 2022-01-15
+  now-cli = throw "now-cli has been replaced with nodePackages.vercel"; # Added 2021-08-05
+  nxproxy = throw "'nxproxy' has been renamed to/replaced by 'nx-libs'"; # Converted to throw 2022-02-22
   nylas-mail-bin = throw "nylas-mail-bin was deprecated on 2019-09-11: abandoned by upstream";
-  oauth2_proxy = oauth2-proxy; # added 2021-04-18
-  opencascade_oce = opencascade; # added 2018-04-25
-  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # added 2019-12-10
-  octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set."; # added 2021-01-24
+
+  ### O ###
+
+  oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained."; # Added 2020-10-09
+  OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # Added 2021-10-16
+  OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # Added 2021-10-16
+  oauth2_proxy = oauth2-proxy; # Added 2021-04-18
+  oblogout = throw "oblogout has been removed from nixpkgs, as it's archived upstream."; # Added 2019-12-10
+  octoprint-plugins = throw "octoprint-plugins are now part of the octoprint.python.pkgs package set."; # Added 2021-01-24
+  ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # Added 2021-07-12
   ofp = throw "ofp is not compatible with odp-dpdk";
-  olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-05
-  openbazaar = throw "openbazzar has been removed from nixpkgs as upstream has abandoned the project"; # added 2022-01-06
-  openbazaar-client = throw "openbazzar-client has been removed from nixpkgs as upstream has abandoned the project"; # added 2022-01-06
-  opencl-icd = ocl-icd; # added 2017-01-20
-  openconnect_pa = throw "openconnect_pa fork has been discontinued, support for GlobalProtect is now available in openconnect"; # added 2021-05-21
-  openelec-dvb-firmware = libreelec-dvb-firmware; # added 2021-05-10
-  openexr_ctl = ctl; # added 2018-04-25
-  openisns = open-isns; # added 2020-01-28
-  openjpeg_1 = throw "openjpeg_1 has been removed, use openjpeg_2 instead"; # added 2021-01-24
-  openjpeg_2 = openjpeg; # added 2021-01-25
-  openmpt123 = libopenmpt; # added 2021-09-05
-  opensans-ttf = open-sans; # added 2018-12-04
-  openssh_with_kerberos = openssh; # added 2018-01-28
-  orchis = orchis-theme; # added 2021-06-09
-  onnxruntime = throw "onnxruntime has been removed due to poor maintainability"; # added 2020-12-04
-  osquery = throw "osquery has been removed."; # added 2019-11-24
-  osxfuse = macfuse-stubs; # added 2021-03-20
-  otter-browser = throw "otter-browser has been removed from nixpkgs, as it was unmaintained"; # added 2020-02-02
-  OVMF-CSM = throw "OVMF-CSM has been removed in favor of OVMFFull"; # added 2021-10-16
-  OVMF-secureBoot = throw "OVMF-secureBoot has been removed in favor of OVMFFull"; # added 2021-10-16
-  owncloudclient = owncloud-client;  # added 2016-08
-  ocz-ssd-guru = throw "ocz-ssd-guru has been removed due to there being no source available"; # added 2021-07-12
-  p11_kit = p11-kit; # added 2018-02-25
-  packet-cli = metal-cli; # added 2021-10-25
-  paperless = paperless-ng; # added 2021-06-06
-  parity = openethereum; # added 2020-08-01
-  parity-ui = throw "parity-ui was removed because it was broken and unmaintained by upstream"; # added 2022-01-10
-  parquet-cpp = arrow-cpp; # added 2018-09-08
-  pass-otp = pass.withExtensions (ext: [ext.pass-otp]); # added 2018-05-04
-  pdfmod = throw "pdfmod has been removed"; # added 2022-01-15
-  pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # added 2021-07-22
-  pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project."; # added 2022-01-01
-  pdf2htmlEx = throw "pdf2htmlEx has been removed from nixpkgs, as it was unmaintained"; # added 2020-11-03
-  perlXMLParser = perlPackages.XMLParser; # added 2018-10-12
-  perlArchiveCpio = perlPackages.ArchiveCpio; # added 2018-10-12
-  pgp-tools = signing-party; # added 2017-03-26
-  pg_tmp = ephemeralpg; # added 2018-01-16
+  olifant = throw "olifant has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-05
+  onnxruntime = throw "onnxruntime has been removed due to poor maintainability"; # Added 2020-12-04
+  openbazaar = throw "openbazzar has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06
+  openbazaar-client = throw "openbazzar-client has been removed from nixpkgs as upstream has abandoned the project"; # Added 2022-01-06
+  opencascade_oce = throw "'opencascade_oce' has been renamed to/replaced by 'opencascade'"; # Converted to throw 2022-02-22
+  opencl-icd = throw "'opencl-icd' has been renamed to/replaced by 'ocl-icd'"; # Converted to throw 2022-02-22
+  openconnect_pa = throw "openconnect_pa fork has been discontinued, support for GlobalProtect is now available in openconnect"; # Added 2021-05-21
+  openelec-dvb-firmware = libreelec-dvb-firmware; # Added 2021-05-10
+  openexr_ctl = throw "'openexr_ctl' has been renamed to/replaced by 'ctl'"; # Converted to throw 2022-02-22
+  openisns = open-isns; # Added 2020-01-28
+  openjpeg_1 = throw "openjpeg_1 has been removed, use openjpeg_2 instead"; # Added 2021-01-24
+  openjpeg_2 = openjpeg; # Added 2021-01-25
+  openmpt123 = libopenmpt; # Added 2021-09-05
+  opensans-ttf = throw "'opensans-ttf' has been renamed to/replaced by 'open-sans'"; # Converted to throw 2022-02-22
+  openssh_with_kerberos = throw "'openssh_with_kerberos' has been renamed to/replaced by 'openssh'"; # Converted to throw 2022-02-22
+  orchis = orchis-theme; # Added 2021-06-09
+  osquery = throw "osquery has been removed."; # Added 2019-11-24
+  osxfuse = macfuse-stubs; # Added 2021-03-20
+  otter-browser = throw "otter-browser has been removed from nixpkgs, as it was unmaintained"; # Added 2020-02-02
+  owncloudclient = throw "'owncloudclient' has been renamed to/replaced by 'owncloud-client'"; # Converted to throw 2022-02-22
+
+  ### P ###
+
+  PPSSPP = throw "'PPSSPP' has been renamed to/replaced by 'ppsspp'"; # Converted to throw 2022-02-22
+
+  p11_kit = throw "'p11_kit' has been renamed to/replaced by 'p11-kit'"; # Converted to throw 2022-02-22
+  packet-cli = metal-cli; # Added 2021-10-25
+  paperless = paperless-ng; # Added 2021-06-06
+  parity = openethereum; # Added 2020-08-01
+  parity-ui = throw "parity-ui was removed because it was broken and unmaintained by upstream"; # Added 2022-01-10
+  parquet-cpp = throw "'parquet-cpp' has been renamed to/replaced by 'arrow-cpp'"; # Converted to throw 2022-02-22
+  pass-otp = throw "'pass-otp' has been renamed to/replaced by 'pass.withExtensions'"; # Converted to throw 2022-02-22
+  pdfmod = throw "pdfmod has been removed"; # Added 2022-01-15
+  pdfread = throw "pdfread has been remove because it is unmaintained for years and the sources are no longer available"; # Added 2021-07-22
+  pdf-redact-tools = throw "pdf-redact-tools has been removed from nixpkgs because the upstream has abandoned the project."; # Added 2022-01-01
+  pdf2htmlEx = throw "pdf2htmlEx has been removed from nixpkgs, as it was unmaintained"; # Added 2020-11-03
+  perlXMLParser = throw "'perlXMLParser' has been renamed to/replaced by 'perlPackages.XMLParser'"; # Converted to throw 2022-02-22
+  perlArchiveCpio = throw "'perlArchiveCpio' has been renamed to/replaced by 'perlPackages.ArchiveCpio'"; # Converted to throw 2022-02-22
+  pgp-tools = throw "'pgp-tools' has been renamed to/replaced by 'signing-party'"; # Converted to throw 2022-02-22
+  pg_tmp = throw "'pg_tmp' has been renamed to/replaced by 'ephemeralpg'"; # Converted to throw 2022-02-22
+
+  phantomjs = throw "phantomjs 1.9.8 has been dropped due to lack of maintenance and security issues"; # Added 2022-02-20
 
   # Obsolete PHP version aliases
-  php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # added 2021-06-03
-  php73Packages = php73; # added 2021-06-03
-  php73Extensions = php73; # added 2021-06-03
+  php73 = throw "php73 has been dropped due to the lack of maintanence from upstream for future releases."; # Added 2021-06-03
+  php73Packages = php73; # Added 2021-06-03
+  php73Extensions = php73; # Added 2021-06-03
 
   php-embed = throw ''
     php*-embed has been dropped, you can build something similar
     with the following snippet:
     php74.override { embedSupport = true; apxs2Support = false; }
-  ''; # added 2020-04-01
-  php73-embed = php-embed; # added 2020-04-01
-  php74-embed = php-embed; # added 2020-04-01
+  ''; # Added 2020-04-01
+  php73-embed = php-embed; # Added 2020-04-01
+  php74-embed = php-embed; # Added 2020-04-01
 
   phpPackages-embed = throw ''
     php*Packages-embed has been dropped, you can build something
     similar with the following snippet:
     (php74.override { embedSupport = true; apxs2Support = false; }).packages
-  ''; # added 2020-04-01
+  ''; # Added 2020-04-01
   php73Packages-embed = phpPackages-embed;
   php74Packages-embed = phpPackages-embed;
 
@@ -762,9 +893,9 @@ mapAliases ({
       cgiSupport = false;
       fpmSupport = false;
     }
-  ''; # added 2020-04-01
-  php73-unit = php-unit; # added 2020-04-01
-  php74-unit = php-unit; # added 2020-04-01
+  ''; # Added 2020-04-01
+  php73-unit = php-unit; # Added 2020-04-01
+  php74-unit = php-unit; # Added 2020-04-01
 
   phpPackages-unit = throw ''
     php*Packages-unit has been dropped, you can build something
@@ -777,193 +908,198 @@ mapAliases ({
       cgiSupport = false;
       fpmSupport = false;
     }).packages
-  ''; # added 2020-04-01
+  ''; # Added 2020-04-01
   php73Packages-unit = phpPackages-unit;
   php74Packages-unit = phpPackages-unit;
 
-  pidgin-with-plugins = pidgin; # added 2016-06
-  pidginlatex = pidgin-latex; # added 2018-01-08
-  pidginlatexSF = pidgin-latex; # added 2014-11-02
-  pidginmsnpecan = pidgin-msn-pecan; # added 2018-01-08
-  pidginosd = pidgin-osd; # added 2018-01-08
-  pidginotr = pidgin-otr; # added 2018-01-08
-  pidginsipe = pidgin-sipe; # added 2018-01-08
-  pidginwindowmerge = pidgin-window-merge; # added 2018-01-08
-  pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed."; # added 2022-01-19
-  piwik = matomo; # added 2018-01-16
-  pkgconfig = pkg-config; # added 2018-02-02, moved to aliases.nix 2021-01-18
-  pkgconfigUpstream = pkg-configUpstream; # added 2018-02-02
-  planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK."; # added 2021-02-02
-  pleroma-otp = pleroma; # added 2021-07-10
+  pidgin-with-plugins = throw "'pidgin-with-plugins' has been renamed to/replaced by 'pidgin'"; # Converted to throw 2022-02-22
+  pidginlatex = throw "'pidginlatex' has been renamed to/replaced by 'pidgin-latex'"; # Converted to throw 2022-02-22
+  pidginlatexSF = throw "'pidginlatexSF' has been renamed to/replaced by 'pidgin-latex'"; # Converted to throw 2022-02-22
+  pidginmsnpecan = throw "'pidginmsnpecan' has been renamed to/replaced by 'pidgin-msn-pecan'"; # Converted to throw 2022-02-22
+  pidginosd = throw "'pidginosd' has been renamed to/replaced by 'pidgin-osd'"; # Converted to throw 2022-02-22
+  pidginotr = throw "'pidginotr' has been renamed to/replaced by 'pidgin-otr'"; # Converted to throw 2022-02-22
+  pidginsipe = throw "'pidginsipe' has been renamed to/replaced by 'pidgin-sipe'"; # Converted to throw 2022-02-22
+  pidginwindowmerge = throw "'pidginwindowmerge' has been renamed to/replaced by 'pidgin-window-merge'"; # Converted to throw 2022-02-22
+  pifi = throw "pifi has been removed from nixpkgs, as it is no longer developed."; # Added 2022-01-19
+  piwik = throw "'piwik' has been renamed to/replaced by 'matomo'"; # Converted to throw 2022-02-22
+  pkgconfig = pkg-config; # Added 2018-02-02, moved to aliases.nix 2021-01-18
+  pkgconfigUpstream = throw "'pkgconfigUpstream' has been renamed to/replaced by 'pkg-configUpstream'"; # Converted to throw 2022-02-22
+  planner = throw "planner has been removed from nixpkgs, as it is no longer developed and still uses python2/PyGTK."; # Added 2021-02-02
+  pleroma-otp = pleroma; # Added 2021-07-10
+  plexpy = throw "'plexpy' has been renamed to/replaced by 'tautulli'"; # Converted to throw 2022-02-22
   pltScheme = racket; # just to be sure
-  plexpy = tautulli; # plexpy got renamed to tautulli, added 2019-02-22
-  pmtools = acpica-tools; # added 2018-11-01
-  polarssl = mbedtls; # added 2018-04-25
-  polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project."; # added 2022-01-01
-  poppler_qt5 = libsForQt5.poppler;  # added 2015-12-19
+  pmtools = throw "'pmtools' has been renamed to/replaced by 'acpica-tools'"; # Converted to throw 2022-02-22
+  polarssl = throw "'polarssl' has been renamed to/replaced by 'mbedtls'"; # Converted to throw 2022-02-22
+  polysh = throw "polysh has been removed from nixpkgs as the upstream has abandoned the project."; # Added 2022-01-01
+  poppler_qt5 = throw "'poppler_qt5' has been renamed to/replaced by 'libsForQt5.poppler'"; # Converted to throw 2022-02-22
+
+  # postgresql
   postgresql96 = postgresql_9_6;
-  postgresql_9_6 = throw "postgresql_9_6 has been removed from nixpkgs, as this version is no longer supported by upstream"; # added 2021-12-03
+  postgresql_9_6 = throw "postgresql_9_6 has been removed from nixpkgs, as this version is no longer supported by upstream"; # Added 2021-12-03
+
   # postgresql plugins
-  pgjwt = postgresqlPackages.pgjwt;
+  cstore_fdw = postgresqlPackages.cstore_fdw;
+  pg_cron = postgresqlPackages.pg_cron;
+  pg_hll = postgresqlPackages.pg_hll;
   pg_repack = postgresqlPackages.pg_repack;
-  pgroonga = postgresqlPackages.pgroonga;
   pg_similarity = postgresqlPackages.pg_similarity;
+  pg_topn = postgresqlPackages.pg_topn;
+  pgjwt = postgresqlPackages.pgjwt;
+  pgroonga = postgresqlPackages.pgroonga;
   pgtap = postgresqlPackages.pgtap;
   plv8 = postgresqlPackages.plv8;
-  tilp2 = throw "tilp2 has been removed"; # added 2022-01-15
-  timekeeper = throw "timekeeper has been removed"; # added 2022-01-16
+  postgis = postgresqlPackages.postgis;
+  tilp2 = throw "tilp2 has been removed"; # Added 2022-01-15
+  timekeeper = throw "timekeeper has been removed"; # Added 2022-01-16
   timescaledb = postgresqlPackages.timescaledb;
   tlauncher = throw "tlauncher has been removed because there questionable practices and legality concerns";
   tsearch_extras = postgresqlPackages.tsearch_extras;
-  cstore_fdw = postgresqlPackages.cstore_fdw;
-  pg_hll = postgresqlPackages.pg_hll;
-  pg_cron = postgresqlPackages.pg_cron;
-  pg_topn = postgresqlPackages.pg_topn;
-  pinentry_curses = pinentry-curses; # added 2019-10-14
-  pinentry_emacs = pinentry-emacs; # added 2019-10-14
-  pinentry_gtk2 = pinentry-gtk2; # added 2019-10-14
-  pinentry_qt = pinentry-qt; # added 2019-10-14
-  pinentry_gnome = pinentry-gnome; # added 2019-10-14
-  pinentry_qt5 = pinentry-qt; # added 2020-02-11
-  postgis = postgresqlPackages.postgis;
-  # end
-  privateer = throw "privateer was removed because it was broken"; # added 2021-05-18
-  processing3 = processing; # added 2019-08-16
-  procps-ng = procps; # added 2018-06-08
-  proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # added 2021-06-30
-  proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead."; # added 2021-04-12
-  prometheus-cups-exporter = throw "outdated and broken by design; removed by developer."; # added 2021-03-16
-  pygmentex = texlive.bin.pygmentex; # added 2019-12-15
-  pyload = throw "pyload has been removed from nixpkgs, as it was unmaintained."; # added 2021-03-21
+
+  phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # Added 2019-11-22
+  phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # Added 2019-11-22
+  phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # Added 2019-11-22
+  pinentry_curses = pinentry-curses; # Added 2019-10-14
+  pinentry_emacs = pinentry-emacs; # Added 2019-10-14
+  pinentry_gnome = pinentry-gnome; # Added 2019-10-14
+  pinentry_gtk2 = pinentry-gtk2; # Added 2019-10-14
+  pinentry_qt = pinentry-qt; # Added 2019-10-14
+  pinentry_qt5 = pinentry-qt; # Added 2020-02-11
+  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # Added 2019-12-10
+  privateer = throw "privateer was removed because it was broken"; # Added 2021-05-18
+  processing3 = processing; # Added 2019-08-16
+  procps-ng = throw "'procps-ng' has been renamed to/replaced by 'procps'"; # Converted to throw 2022-02-22
+  proglodyte-wasm = throw "proglodyte-wasm has been removed from nixpkgs, because it is unmaintained since 5 years with zero github stars"; # Added 2021-06-30
+  proj_5 = throw "Proj-5 has been removed from nixpkgs, use proj instead."; # Added 2021-04-12
+  prometheus-cups-exporter = throw "outdated and broken by design; removed by developer."; # Added 2021-03-16
+  pulseaudioLight = throw "'pulseaudioLight' has been renamed to/replaced by 'pulseaudio'"; # Converted to throw 2022-02-22
+  pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire."; # Added 2021-02-13
+  pulseeffects-pw = easyeffects; # Added 2021-07-07
+  pyIRCt = throw "pyIRCt has been removed from nixpkgs as it is unmaintained and python2-only";
+  pyMAILt = throw "pyMAILt has been removed from nixpkgs as it is unmaintained and python2-only";
+  pybind11 = throw "pybind11 was removed because pythonPackages.pybind11 for the appropriate version of Python should be used"; # Added 2021-05-14
+  pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2."; # Added 2022-01-01
+  pygmentex = texlive.bin.pygmentex; # Added 2019-12-15
+  pyload = throw "pyload has been removed from nixpkgs, as it was unmaintained."; # Added 2021-03-21
+  pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd."; # Added 2020-10-24
   pyo3-pack = maturin;
-  pmenu = throw "pmenu has been removed from nixpkgs, as its maintainer is no longer interested in the package."; # added 2019-12-10
-  pulseaudioLight = pulseaudio; # added 2018-04-25
-  pulseeffects = throw "Use pulseeffects-legacy if you use PulseAudio and easyeffects if you use PipeWire."; # added 2021-02-13
-  pulseeffects-pw = easyeffects; # added 2021-07-07
-  phonon-backend-gstreamer = throw "phonon-backend-gstreamer: Please use libsForQt5.phonon-backend-gstreamer, as Qt4 support in this package has been removed."; # added 2019-11-22
-  phonon-backend-vlc = throw "phonon-backend-vlc: Please use libsForQt5.phonon-backend-vlc, as Qt4 support in this package has been removed."; # added 2019-11-22
-  phonon = throw "phonon: Please use libsForQt5.phonon, as Qt4 support in this package has been removed."; # added 2019-11-22
-  pybind11 = throw "pybind11 was removed because pythonPackages.pybind11 for the appropriate version of Python should be used"; # added 2021-05-14
-  pybitmessage = throw "pybitmessage was removed from nixpkgs as it is stuck on python2."; # added 2022-01-01
-  pynagsystemd = throw "pynagsystemd was removed as it was unmaintained and incompatible with recent systemd versions. Instead use its fork check_systemd."; # added 2020-10-24
-  pyrex = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # added 2022-01-12
-  pyrex095 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # added 2022-01-12
-  pyrex096 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # added 2022-01-12
-  pyrit = throw "pyrit has been removed from nixpkgs as the project is still stuck on python2."; # added 2022-01-01
-  python = python2; # added 2022-01-11
-  python2nix = throw "python2nix has been removed as it is outdated. Use e.g. nixpkgs-pytools instead."; # added 2021-03-08
-  python-swiftclient = swiftclient; # added 2021-09-09
-  pythonFull = python2Full; # added 2022-01-11
-  pythonPackages = python.pkgs; # added 2022-01-11
-  quagga = throw "quagga is no longer maintained upstream"; # added 2021-04-22
-  qca-qt5 = libsForQt5.qca-qt5;  # added 2015-12-19
-  qcsxcad = libsForQt5.qcsxcad;  # added 2020-11-05
-  qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # added 2021-04-02
-  qr-filetransfer = throw ''"qr-filetransfer" has been renamed to "qrcp"''; # added 2020-12-02
-  qt5ct = libsForQt5.qt5ct; # added 2021-12-27
-  quake3game = ioquake3; # added 2016-01-14
-  quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained."; # added 2021-08-03
-  qvim = throw "qvim has been removed."; # added 2020-08-31
-  qweechat = throw "qweechat has been removed because it was broken"; # added 2021-03-08
-  qwt6 = libsForQt5.qwt;  # added 2015-12-19
-  qtkeychain = throw "the qtkeychain attribute (qt4 version) has been removes, use the qt5 version: libsForQt5.qtkeychain"; # added 2021-08-04
-  qtcurve = libsForQt5.qtcurve;  # added 2020-11-07
-  quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # added 2020-04-09
-  raspberrypi-tools = throw "raspberrypi-tools has been removed in favor of identical 'libraspberrypi'"; # added 2020-12-24
-  rawdog = throw "rawdog has been removed from nixpkgs as it still requires python2."; # added 2022-01-01
-  rdf4store = throw "rdf4store has been removed from nixpkgs."; # added 2019-12-21
-  rdiff_backup = rdiff-backup;  # added 2014-11-23
-  rdmd = dtools;  # added 2017-08-19
-  readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version or 'readline81' for most recent version"; # added 2021-04-22
-  rng_tools = rng-tools; # added 2018-10-24
-  robomongo = robo3t; #added 2017-09-28
-  rocm-runtime-ext = throw "rocm-runtime-ext has been removed, since its functionality was added to rocm-runtime"; #added 2020-08-21
-  rssglx = rss-glx; #added 2015-03-25
-  rssh = throw "rssh has been removed from nixpkgs: no upstream releases since 2012, several known CVEs"; # added 2020-08-25
-  # The alias for linuxPackages*.rtlwifi_new is defined in ./all-packages.nix,
-  # due to it being inside the linuxPackagesFor function.
-  rtlwifi_new-firmware = rtw88-firmware; # added 2021-03-14
-  recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
-  residualvm = throw "residualvm was merged to scummvm code in 2018-06-15; consider using scummvm"; # added 2021-11-27
+  pyrex = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12
+  pyrex095 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12
+  pyrex096 = throw "pyrex has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-12
+  pyrit = throw "pyrit has been removed from nixpkgs as the project is still stuck on python2."; # Added 2022-01-01
+  python = python2; # Added 2022-01-11
+  python-swiftclient = swiftclient; # Added 2021-09-09
+  python2nix = throw "python2nix has been removed as it is outdated. Use e.g. nixpkgs-pytools instead."; # Added 2021-03-08
+  pythonFull = python2Full; # Added 2022-01-11
+  pythonPackages = python.pkgs; # Added 2022-01-11
+
+  ### Q ###
+
+  QmidiNet = throw "'QmidiNet' has been renamed to/replaced by 'qmidinet'"; # Converted to throw 2022-02-22
+  qca-qt5 = throw "'qca-qt5' has been renamed to/replaced by 'libsForQt5.qca-qt5'"; # Converted to throw 2022-02-22
+  qcsxcad = libsForQt5.qcsxcad; # Added 2020-11-05
+  qflipper = qFlipper; # Added 2022-02-11
+  qmk_firmware = throw "qmk_firmware has been removed because it was broken"; # Added 2021-04-02
+  qr-filetransfer = throw ''"qr-filetransfer" has been renamed to "qrcp"''; # Added 2020-12-02
+  qt-3 = throw "qt-3 has been removed from nixpkgs, as it's unmaintained and insecure"; # Added 2021-02-15
+  qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # Added 2019-12-10
+  qt5ct = libsForQt5.qt5ct; # Added 2021-12-27
+  qtcurve = libsForQt5.qtcurve; # Added 2020-11-07
+  qtkeychain = throw "the qtkeychain attribute (qt4 version) has been removes, use the qt5 version: libsForQt5.qtkeychain"; # Added 2021-08-04
+  quagga = throw "quagga is no longer maintained upstream"; # Added 2021-04-22
+  quake3game = throw "'quake3game' has been renamed to/replaced by 'ioquake3'"; # Converted to throw 2022-02-22
+  quaternion-git = throw "quaternion-git has been removed in favor of the stable version 'quaternion'"; # Added 2020-04-09
+  quilter = throw "quilter has been removed from nixpkgs, as it was unmaintained."; # Added 2021-08-03
+  qvim = throw "qvim has been removed."; # Added 2020-08-31
+  qweechat = throw "qweechat has been removed because it was broken"; # Added 2021-03-08
+  qwt6 = throw "'qwt6' has been renamed to/replaced by 'libsForQt5.qwt'"; # Converted to throw 2022-02-22
+
+  ### R ###
+
+  radare2-cutter = cutter; # Added 2021-03-30
+  raspberrypi-tools = throw "raspberrypi-tools has been removed in favor of identical 'libraspberrypi'"; # Added 2020-12-24
+  rawdog = throw "rawdog has been removed from nixpkgs as it still requires python2."; # Added 2022-01-01
+  rdf4store = throw "rdf4store has been removed from nixpkgs."; # Added 2019-12-21
+  rdiff_backup = throw "'rdiff_backup' has been renamed to/replaced by 'rdiff-backup'"; # Converted to throw 2022-02-22
+  rdmd = throw "'rdmd' has been renamed to/replaced by 'dtools'"; # Converted to throw 2022-02-22
+  readline5 = throw "readline-5 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20
+  readline62 = throw "readline-6.2 is no longer supported in nixpkgs, please use 'readline' for main supported version"; # Added 2022-02-20
+  readline80 = throw "readline-8.0 is no longer supported in nixpkgs, please use 'readline' for main supported version or 'readline81' for most recent version"; # Added 2021-04-22
+  recordmydesktop = throw "recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # Added 2019-12-10
+  redkite = throw "redkite was archived by upstream"; # Added 2021-04-12
+  redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # Added 2021-12-25
+  renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2."; # Added 2022-01-12
+  residualvm = throw "residualvm was merged to scummvm code in 2018-06-15; consider using scummvm"; # Added 2021-11-27
+  retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # Added 2021-11-19
   retroshare06 = retroshare;
-  gtk-recordmydesktop = throw "gtk-recordmydesktop has been removed from nixpkgs, as it's unmaintained and uses deprecated libraries"; # added 2019-12-10
-  qt-recordmydesktop = throw "qt-recordmydesktop has been removed from nixpkgs, as it's abandoned and uses deprecated libraries"; # added 2019-12-10
-  qt-3 = throw "qt-3 has been removed from nixpkgs, as it's unmaintained and insecure"; # added 2021-02-15
-  rfkill = throw "rfkill has been removed, as it's included in util-linux"; # added 2020-08-23
-  rimshot = throw "rimshot has been removed, because it is broken and no longer maintained upstream"; # added 2022-01-15
-  riak-cs = throw "riak-cs is not maintained anymore"; # added 2020-10-14
-  ring-daemon = jami-daemon; # added 2021-10-26
-  radare2-cutter = cutter; # added 2021-03-30
-  redkite = throw "redkite was archived by upstream"; # added 2021-04-12
-  redshift-wlr = throw "redshift-wlr has been replaced by gammastep"; # added 2021-12-25
-  renpy = throw "renpy has been removed from nixpkgs, it was unmaintained and the latest packaged version required python2."; # added 2022-01-12
-  retroArchCores = throw "retroArchCores has been removed. Please use overrides instead, e.g.: `retroarch.override { cores = with libretro; [ ... ]; }`"; # added 2021-11-19
-  rkt = throw "rkt was archived by upstream"; # added 2020-05-16
-  rpiboot-unstable = rpiboot; # added 2021-07-30
-  rtv = throw "rtv was archived by upstream. Consider using tuir, an actively maintained fork"; # added 2021-08-08
-  rubygems = throw "rubygems was deprecated on 2016-03-02: rubygems is now bundled with ruby";
+  rfkill = throw "rfkill has been removed, as it's included in util-linux"; # Added 2020-08-23
+  riak-cs = throw "riak-cs is not maintained anymore"; # Added 2020-10-14
+  rimshot = throw "rimshot has been removed, because it is broken and no longer maintained upstream"; # Added 2022-01-15
+  ring-daemon = jami-daemon; # Added 2021-10-26
+  rkt = throw "rkt was archived by upstream"; # Added 2020-05-16
+  rng_tools = throw "'rng_tools' has been renamed to/replaced by 'rng-tools'"; # Converted to throw 2022-02-22
+  robomongo = throw "'robomongo' has been renamed to/replaced by 'robo3t'"; # Converted to throw 2022-02-22
+  rocm-runtime-ext = throw "rocm-runtime-ext has been removed, since its functionality was added to rocm-runtime"; #added 2020-08-21
+  rpiboot-unstable = rpiboot; # Added 2021-07-30
+  rssglx = throw "'rssglx' has been renamed to/replaced by 'rss-glx'"; # Converted to throw 2022-02-22
+  rssh = throw "rssh has been removed from nixpkgs: no upstream releases since 2012, several known CVEs"; # Added 2020-08-25
+  rtv = throw "rtv was archived by upstream. Consider using tuir, an actively maintained fork"; # Added 2021-08-08
   rubyMinimal = throw "rubyMinimal was removed due to being unused";
   runCommandNoCC = runCommand;
   runCommandNoCCLocal = runCommandLocal;
-  runwayml = throw "runwayml is now a webapp"; # added 2021-04-17
-  rustracerd = throw "rustracerd has been removed because it is broken and unmaintained"; # added 2021-10-19
-  rxvt_unicode-with-plugins = rxvt-unicode; # added 2020-02-02
-  rxvt_unicode = rxvt-unicode-unwrapped; # added 2020-02-02
-  subversion19 = throw "subversion19 has been removed as it has reached its end of life"; # added 2021-03-31
-  thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25 and was therefore removed from nixpkgs";
-  thunderbird-bin-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25 and was therefore removed from nixpkgs";
-  togglesg-download = throw "togglesg-download was removed 2021-04-30 as it's unmaintained";
-  urxvt_autocomplete_all_the_things = rxvt-unicode-plugins.autocomplete-all-the-things; # added 2020-02-02
-  urxvt_perl = rxvt-unicode-plugins.perl; # added 2020-02-02
-  urxvt_perls = rxvt-unicode-plugins.perls; # added 2020-02-02
-  urxvt_tabbedex = rxvt-unicode-plugins.tabbedex; # added 2020-02-02
-  urxvt_font_size = rxvt-unicode-plugins.font-size; # added 2020-02-02
-  urxvt_theme_switch = rxvt-unicode-plugins.theme-switch; # added 2020-02-02
-  urxvt_vtwheel = rxvt-unicode-plugins.vtwheel; # added 2020-02-02
-  urxvt_bidi = rxvt-unicode-plugins.bidi; # added 2020-02-02
-  s2n = s2n-tls; # added 2021-03-03
-  s6Dns = s6-dns; # added 2018-07-23
-  s6Networking = s6-networking; # added 2018-07-23
-  s6LinuxUtils = s6-linux-utils; # added 2018-07-23
-  s6PortableUtils = s6-portable-utils; # added 2018-07-23
-  sagemath = sage; # added 2018-10-27
-  sam = deadpixi-sam; # added 2018-04-25
-  samsungUnifiedLinuxDriver = samsung-unified-linux-driver; # added 2016-01-25
-  saneBackends = sane-backends; # added 2016-01-02
-  saneBackendsGit = sane-backends; # added 2016-01-02
-  sane-backends-git = sane-backends; # added 2021-02-19
-  saneFrontends = sane-frontends; # added 2016-01-02
-  scaff = throw "scaff is deprecated - replaced by https://gitlab.com/jD91mZM2/inc (not in nixpkgs yet)"; # added 2020-03-01
-  scim = sc-im; # added 2016-01-22
-  scollector = bosun; # added 2018-04-25
-  scyther = throw "scyther has been removed since it currently only supports Python 2, see https://github.com/cascremers/scyther/issues/20"; # added 2021-10-07
-  sdlmame = mame; # added 2019-10-30
-  seeks = throw "seeks has been removed from nixpkgs, as it was unmaintained"; # added 2020-06-21
+  runwayml = throw "runwayml is now a webapp"; # Added 2021-04-17
+  rustracerd = throw "rustracerd has been removed because it is broken and unmaintained"; # Added 2021-10-19
+  rxvt_unicode = rxvt-unicode-unwrapped; # Added 2020-02-02
+  rxvt_unicode-with-plugins = rxvt-unicode; # Added 2020-02-02
+
+  # The alias for linuxPackages*.rtlwifi_new is defined in ./all-packages.nix,
+  # due to it being inside the linuxPackagesFor function.
+  rtlwifi_new-firmware = rtw88-firmware; # Added 2021-03-14
+
+  ### S ###
+
+  s2n = s2n-tls; # Added 2021-03-03
+  s6Dns = throw "'s6Dns' has been renamed to/replaced by 's6-dns'"; # Converted to throw 2022-02-22
+  s6LinuxUtils = throw "'s6LinuxUtils' has been renamed to/replaced by 's6-linux-utils'"; # Converted to throw 2022-02-22
+  s6Networking = throw "'s6Networking' has been renamed to/replaced by 's6-networking'"; # Converted to throw 2022-02-22
+  s6PortableUtils = throw "'s6PortableUtils' has been renamed to/replaced by 's6-portable-utils'"; # Converted to throw 2022-02-22
+  sagemath = throw "'sagemath' has been renamed to/replaced by 'sage'"; # Converted to throw 2022-02-22
+  sam = throw "'sam' has been renamed to/replaced by 'deadpixi-sam'"; # Converted to throw 2022-02-22
+  samsungUnifiedLinuxDriver = throw "'samsungUnifiedLinuxDriver' has been renamed to/replaced by 'samsung-unified-linux-driver'"; # Converted to throw 2022-02-22
+  sane-backends-git = sane-backends; # Added 2021-02-19
+  saneBackends = throw "'saneBackends' has been renamed to/replaced by 'sane-backends'"; # Converted to throw 2022-02-22
+  saneBackendsGit = throw "'saneBackendsGit' has been renamed to/replaced by 'sane-backends'"; # Converted to throw 2022-02-22
+  saneFrontends = throw "'saneFrontends' has been renamed to/replaced by 'sane-frontends'"; # Converted to throw 2022-02-22
+  scaff = throw "scaff is deprecated - replaced by https://gitlab.com/jD91mZM2/inc (not in nixpkgs yet)"; # Added 2020-03-01
+  scallion = throw "scallion has been removed, because it is currently unmaintained upstream"; # added 2021-12-15
+  scim = throw "'scim' has been renamed to/replaced by 'sc-im'"; # Converted to throw 2022-02-22
+  scollector = throw "'scollector' has been renamed to/replaced by 'bosun'"; # Converted to throw 2022-02-22
+  scyther = throw "scyther has been removed since it currently only supports Python 2, see https://github.com/cascremers/scyther/issues/20"; # Added 2021-10-07
+  sdlmame = mame; # Added 2019-10-30
+  seeks = throw "seeks has been removed from nixpkgs, as it was unmaintained"; # Added 2020-06-21
   seg3d = throw "seg3d has been removed from nixpkgs (2019-11-10)";
-  sepolgen = throw "sepolgen was merged into selinux-python"; # added 2021-11-11
-  shared_mime_info = shared-mime-info; # added 2018-02-25
-  sickbeard = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # added 2022-01-01
-  sickrage = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # added 2022-01-01
-  sigurlx = throw "sigurlx has been removed (upstream is gone)"; # added 2022-01-24
-  skrooge2 = skrooge; # added 2017-02-18
+  sepolgen = throw "sepolgen was merged into selinux-python"; # Added 2021-11-11
+  shared_mime_info = throw "'shared_mime_info' has been renamed to/replaced by 'shared-mime-info'"; # Converted to throw 2022-02-22
+  shellinabox = throw "shellinabox has been removed from nixpkgs, as it was unmaintained upstream"; # Added 2021-12-15
+  sickbeard = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01
+  sickrage = throw "sickbeard has been removed from nixpkgs, as it was unmaintained."; # Added 2022-01-01
+  sigurlx = throw "sigurlx has been removed (upstream is gone)"; # Added 2022-01-24
+  skrooge2 = throw "'skrooge2' has been renamed to/replaced by 'skrooge'"; # Converted to throw 2022-02-22
   sky = throw "sky has been removed from nixpkgs (2020-09-16)";
-  skype = skypeforlinux; # added 2017-07-27
-  skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired."; # added 2020-10-31
-  skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired."; # added 2021-07-14
-  slack-dark = slack; # added 2020-03-27
-  slic3r-prusa3d = prusa-slicer; # added 2019-05-21
+  skype = throw "'skype' has been renamed to/replaced by 'skypeforlinux'"; # Converted to throw 2022-02-22
+  skype4pidgin = throw "skype4pidgin has been remove from nixpkgs, because it stopped working when classic Skype was retired."; # Added 2021-07-14
+  skype_call_recorder = throw "skype_call_recorder has been removed from nixpkgs, because it stopped working when classic Skype was retired."; # Added 2020-10-31
+  slack-dark = slack; # Added 2020-03-27
+  slic3r-prusa3d = throw "'slic3r-prusa3d' has been renamed to/replaced by 'prusa-slicer'"; # Converted to throw 2022-02-22
+  slim = throw "slim has been removed. Please use a different display-manager"; # Added 2019-11-11
+  slimThemes = throw "slimThemes has been removed because slim has been also"; # Added 2019-11-11
+  slurm-full = throw "'slurm-full' has been renamed to/replaced by 'slurm'"; # Converted to throw 2022-02-22
   slurm-llnl = slurm; # renamed July 2017
   slurm-llnl-full = slurm-full; # renamed July 2017
-  slurm-full = slurm; # added 2018-05-1
-  smbclient = samba; # added 2018-04-25
-  smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # added 2020-11-04
-  slim = throw "slim has been removed. Please use a different display-manager"; # added 2019-11-11
-  slimThemes = throw "slimThemes has been removed because slim has been also"; # added 2019-11-11
-  solr_8 = solr; # added 2021-01-30
-  spectral = neochat; # added 2020-12-27
-  sundials_3 = throw "sundials_3 was removed in 2020-02. outdated and no longer needed";
+  smbclient = throw "'smbclient' has been renamed to/replaced by 'samba'"; # Converted to throw 2022-02-22
+  smugline = throw "smugline has been removed from nixpkgs, as it's unmaintained and depends on deprecated libraries."; # Added 2020-11-04
+  solr_8 = solr; # Added 2021-01-30
 
-  # added 2020-02-10
+  # Added 2020-02-10
   sourceHanSansPackages = {
     japanese = source-han-sans;
     korean = source-han-sans;
@@ -984,376 +1120,331 @@ mapAliases ({
   source-han-serif-korean = source-han-serif;
   source-han-serif-simplified-chinese = source-han-serif;
   source-han-serif-traditional-chinese = source-han-serif;
-  source-sans-pro = source-sans; # added 2021-10-20
-  source-serif-pro = source-serif; # added 2021-10-20
-
-  net_snmp = net-snmp; # added 2019-12-21
-  oracleXE = throw "oracleXE has been removed, as it's heavily outdated and unmaintained."; # added 2020-10-09
-  spaceOrbit = space-orbit; # added 2016-05-23
-  speech_tools = speech-tools; # added 2018-04-25
-  speedtest_cli = speedtest-cli;  # added 2015-02-17
-  spice_gtk = spice-gtk; # added 2018-02-25
-  spice_protocol = spice-protocol; # added 2018-02-25
+  source-sans-pro = source-sans; # Added 2021-10-20
+  source-serif-pro = source-serif; # Added 2021-10-20
+
+  spaceOrbit = throw "'spaceOrbit' has been renamed to/replaced by 'space-orbit'"; # Converted to throw 2022-02-22
+  spectral = neochat; # Added 2020-12-27
+  speech_tools = throw "'speech_tools' has been renamed to/replaced by 'speech-tools'"; # Converted to throw 2022-02-22
+  speedtest_cli = throw "'speedtest_cli' has been renamed to/replaced by 'speedtest-cli'"; # Converted to throw 2022-02-22
+  spice_gtk = throw "'spice_gtk' has been renamed to/replaced by 'spice-gtk'"; # Converted to throw 2022-02-22
+  spice_protocol = throw "'spice_protocol' has been renamed to/replaced by 'spice-protocol'"; # Converted to throw 2022-02-22
   spidermonkey_1_8_5 = throw "spidermonkey_1_8_5 has been removed, because it is based on Firefox 4.0 from 2011."; # added 2021-05-03
-  spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_91 instead."; # added 2021-03-21
-  spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_91 instead."; # added 2019-10-16
-  spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_91 instead."; # added 2021-03-21
+  spidermonkey_38 = throw "spidermonkey_38 has been removed. Please use spidermonkey_78 instead."; # Added 2021-03-21
+  spidermonkey_52 = throw "spidermonkey_52 has been removed. Please use spidermonkey_78 instead."; # Added 2019-10-16
+  spidermonkey_60 = throw "spidermonkey_60 has been removed. Please use spidermonkey_78 instead."; # Added 2021-03-21
   spidermonkey_68 = throw "spidermonkey_68 has been removed. Please use spidermonkey_91 instead."; # added 2022-01-04
+  # spidermonkey is not ABI upwards-compatible, so only allow this for nix-shell
+  spidermonkey = spidermonkey_78; # Added 2020-10-09
   spring-boot = spring-boot-cli; # added 2020-04-24
-  sqlite3_analyzer = sqlite-analyzer; # added 2018-05-22
-  sqliteInteractive = sqlite-interactive;  # added 2014-12-06
+  sqlite3_analyzer = throw "'sqlite3_analyzer' has been renamed to/replaced by 'sqlite-analyzer'"; # Converted to throw 2022-02-22
+  sqliteInteractive = throw "'sqliteInteractive' has been renamed to/replaced by 'sqlite-interactive'"; # Converted to throw 2022-02-22
   squid4 = squid;  # added 2019-08-22
-  sshfsFuse = sshfs-fuse; # added 2016-09
+  sshfsFuse = throw "'sshfsFuse' has been renamed to/replaced by 'sshfs-fuse'"; # Converted to throw 2022-02-22
   stanchion = throw "Stanchion was part of riak-cs which is not maintained anymore"; # added 2020-10-14
-  stumpwm-git = throw "stumpwm-git has been broken for a long time and lispPackages.stumpwm follows Quicklisp that is close to git version"; # added 2021-05-09
-  surf-webkit2 = surf; # added 2017-04-02
-  svgcleaner = throw "svgcleaner has been removed."; # added 2021-11-17
-  swec = throw "swec has been removed; broken and abandoned upstream."; # added 2021-10-14
-  swfdec = throw "swfdec has been removed as broken and unmaintained."; # added 2020-08-23
-  swtpm-tpm2 = swtpm; # added 2021-02-26
-  syncthing-cli = syncthing; # added 2021-04-06
-  synology-drive = throw "synology-drive has been superseded by synology-drive-client"; # added 2021-11-26
-  system_config_printer = system-config-printer;  # added 2016-01-03
-  systemd-cryptsetup-generator = throw "systemd-cryptsetup-generator is now included in the systemd package"; # added 2020-07-12
-  systemd_with_lvm2 = throw "systemd_with_lvm2 is obsolete, enabled by default via the lvm module"; # added 2020-07-12
-  systool = sysfsutils; # added 2018-04-25
-  tahoelafs = tahoe-lafs; # added 2018-03-26
-  tangogps = foxtrotgps; # added 2020-01-26
+  stumpwm-git = throw "stumpwm-git has been broken for a long time and lispPackages.stumpwm follows Quicklisp that is close to git version"; # Added 2021-05-09
+  subversion19 = throw "subversion19 has been removed as it has reached its end of life"; # Added 2021-03-31
+  sundials_3 = throw "sundials_3 was removed in 2020-02. outdated and no longer needed";
+  surf-webkit2 = throw "'surf-webkit2' has been renamed to/replaced by 'surf'"; # Converted to throw 2022-02-22
+  svgcleaner = throw "svgcleaner has been removed."; # Added 2021-11-17
+  swec = throw "swec has been removed; broken and abandoned upstream."; # Added 2021-10-14
+  swfdec = throw "swfdec has been removed as broken and unmaintained."; # Added 2020-08-23
+  swtpm-tpm2 = swtpm; # Added 2021-02-26
+  syncthing-cli = syncthing; # Added 2021-04-06
+  synology-drive = throw "synology-drive has been superseded by synology-drive-client"; # Added 2021-11-26
+  system_config_printer = throw "'system_config_printer' has been renamed to/replaced by 'system-config-printer'"; # Converted to throw 2022-02-22
+  systemd-cryptsetup-generator = throw "systemd-cryptsetup-generator is now included in the systemd package"; # Added 2020-07-12
+  systemd_with_lvm2 = throw "systemd_with_lvm2 is obsolete, enabled by default via the lvm module"; # Added 2020-07-12
+  systool = throw "'systool' has been renamed to/replaced by 'sysfsutils'"; # Converted to throw 2022-02-22
+
+  ### T ###
+
+  tahoelafs = throw "'tahoelafs' has been renamed to/replaced by 'tahoe-lafs'"; # Converted to throw 2022-02-22
+  tangogps = foxtrotgps; # Added 2020-01-26
   tdm = throw "tdm has been removed because nobody can figure out how to fix OpenAL integration. Use precompiled binary and `steam-run` instead.";
-  telepathy_farstream = telepathy-farstream; # added 2018-02-25
-  telepathy_gabble = telepathy-gabble; # added 2018-02-25
-  telepathy_glib = telepathy-glib; # added 2018-02-25
-  telepathy_haze = telepathy-haze; # added 2018-02-25
-  telepathy_idle = telepathy-idle; # added 2018-02-25
-  telepathy_logger = telepathy-logger; # added 2018-02-25
-  telepathy_mission_control = telepathy-mission-control; # added 2018-02-25
-  telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead."; # added 2020-07-02
-  telepathy_qt = telepathy-qt; # added 2018-02-25
-  telepathy_qt5 = libsForQt5.telepathy;  # added 2015-12-19
-  telepathy_salut = telepathy-salut; # added 2018-02-25
-  telnet = inetutils; # added 2018-05-15
-  terminus = throw "terminus has been removed, it was unmaintained in nixpkgs"; # added 2021-08-21
+  telepathy-qt = throw "telepathy-qt no longer supports Qt 4. Please use libsForQt5.telepathy instead."; # Added 2020-07-02
+  telepathy_farstream = throw "'telepathy_farstream' has been renamed to/replaced by 'telepathy-farstream'"; # Converted to throw 2022-02-22
+  telepathy_gabble = throw "'telepathy_gabble' has been renamed to/replaced by 'telepathy-gabble'"; # Converted to throw 2022-02-22
+  telepathy_glib = throw "'telepathy_glib' has been renamed to/replaced by 'telepathy-glib'"; # Converted to throw 2022-02-22
+  telepathy_haze = throw "'telepathy_haze' has been renamed to/replaced by 'telepathy-haze'"; # Converted to throw 2022-02-22
+  telepathy_idle = throw "'telepathy_idle' has been renamed to/replaced by 'telepathy-idle'"; # Converted to throw 2022-02-22
+  telepathy_logger = throw "'telepathy_logger' has been renamed to/replaced by 'telepathy-logger'"; # Converted to throw 2022-02-22
+  telepathy_mission_control = throw "'telepathy_mission_control' has been renamed to/replaced by 'telepathy-mission-control'"; # Converted to throw 2022-02-22
+  telepathy_qt = throw "'telepathy_qt' has been renamed to/replaced by 'telepathy-qt'"; # Converted to throw 2022-02-22
+  telepathy_qt5 = throw "'telepathy_qt5' has been renamed to/replaced by 'libsForQt5.telepathy'"; # Converted to throw 2022-02-22
+  telepathy_salut = throw "'telepathy_salut' has been renamed to/replaced by 'telepathy-salut'"; # Converted to throw 2022-02-22
+  telnet = throw "'telnet' has been renamed to/replaced by 'inetutils'"; # Converted to throw 2022-02-22
+  terminus = throw "terminus has been removed, it was unmaintained in nixpkgs"; # Added 2021-08-21
+  terraform-provider-ibm = throw "'terraform-provider-ibm' has been renamed to/replaced by 'terraform-providers.ibm'"; # Converted to throw 2022-02-22
+  terraform-provider-libvirt = throw "'terraform-provider-libvirt' has been renamed to/replaced by 'terraform-providers.libvirt'"; # Converted to throw 2022-02-22
+  terraform-provider-lxd = terraform-providers.lxd; # Added 2020-03-16
   terraform_0_12 = throw "terraform_0_12 has been removed from nixpkgs on 2021/01";
-  terraform_1_0_0 = throw "terraform_1_0_0 has been renamed to terraform_1"; # added 2021-06-15
-  terraform_1_0 = throw "terraform_1_0 has been renamed to terraform_1"; # added 2021-12-08
-  terraform-provider-ibm = terraform-providers.ibm; # added 2018-09-28
-  terraform-provider-libvirt = terraform-providers.libvirt; # added 2018-09-28
-  terraform-provider-lxd = terraform-providers.lxd; # added 2020-03-16
-  tesseract_4 = tesseract4; # added 2018-12-19
-  tex-gyre-bonum-math = tex-gyre-math.bonum; # added 2018-04-03
-  tex-gyre-pagella-math = tex-gyre-math.pagella; # added 2018-04-03
-  tex-gyre-schola-math = tex-gyre-math.schola; # added 2018-04-03
-  tex-gyre-termes-math = tex-gyre-math.termes; # added 2018-04-03
-  tftp_hpa = tftp-hpa; # added 2015-04-03
-  timescale-prometheus = promscale; # added 2020-09-29
-  timetable = throw "timetable has been removed, as the upstream project has been abandoned"; # added 2021-09-05
-  tomboy = throw "tomboy is not actively developed anymore and was removed."; # added 2022-01-27
-  tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life."; # added 2021-06-16
-  tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life."; # added 2021-06-16
-  tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life."; # added 2020-03-11
-  tor-arm = throw "tor-arm has been removed from nixpkgs as the upstream project has been abandoned."; # added 2022-01-01
-  torbrowser = tor-browser-bundle-bin; # added 2017-04-05
-  torch = throw "torch has been removed, as the upstream project has been abandoned"; # added 2020-03-28
-  torch-hdf5 = throw "torch-hdf5 has been removed, as the upstream project has been abandoned"; # added 2020-03-28
-  torch-repl = throw "torch-repl has been removed, as the upstream project has been abandoned"; # added 2020-03-28
-  torchPackages = throw "torchPackages has been removed, as the upstream project has been abandoned"; # added 2020-03-28
-  trang = jing-trang; # added 2018-04-25
-  transmission_gtk = transmission-gtk; # added 2018-01-06
-  transmission_remote_gtk = transmission-remote-gtk; # added 2018-01-06
-  transmission-remote-cli = "transmission-remote-cli has been removed, as the upstream project has been abandoned. Please use tremc instead"; # added 2020-10-14
+  terraform_1_0 = throw "terraform_1_0 has been renamed to terraform_1"; # Added 2021-12-08
+  terraform_1_0_0 = throw "terraform_1_0_0 has been renamed to terraform_1"; # Added 2021-06-15
+  tesseract_4 = throw "'tesseract_4' has been renamed to/replaced by 'tesseract4'"; # Converted to throw 2022-02-22
+  tex-gyre-bonum-math = throw "'tex-gyre-bonum-math' has been renamed to/replaced by 'tex-gyre-math.bonum'"; # Converted to throw 2022-02-22
+  tex-gyre-pagella-math = throw "'tex-gyre-pagella-math' has been renamed to/replaced by 'tex-gyre-math.pagella'"; # Converted to throw 2022-02-22
+  tex-gyre-schola-math = throw "'tex-gyre-schola-math' has been renamed to/replaced by 'tex-gyre-math.schola'"; # Converted to throw 2022-02-22
+  tex-gyre-termes-math = throw "'tex-gyre-termes-math' has been renamed to/replaced by 'tex-gyre-math.termes'"; # Converted to throw 2022-02-22
+  tftp_hpa = throw "'tftp_hpa' has been renamed to/replaced by 'tftp-hpa'"; # Converted to throw 2022-02-22
+  thunderbird-68 = throw "Thunderbird 68 reached end of life with its final release 68.12.0 on 2020-08-25.";
+  thunderbird-bin-68 = thunderbird-68;
+  timescale-prometheus = promscale; # Added 2020-09-29
+  timetable = throw "timetable has been removed, as the upstream project has been abandoned"; # Added 2021-09-05
+  togglesg-download = throw "togglesg-download was removed 2021-04-30 as it's unmaintained"; # Added 2021-04-30
+  tomboy = throw "tomboy is not actively developed anymore and was removed."; # Added 2022-01-27
+  tomcat7 = throw "tomcat7 has been removed from nixpkgs as it has reached end of life."; # Added 2021-06-16
+  tomcat8 = throw "tomcat8 has been removed from nixpkgs as it has reached end of life."; # Added 2021-06-16
+  tomcat85 = throw "tomcat85 has been removed from nixpkgs as it has reached end of life."; # Added 2020-03-11
+  tor-arm = throw "tor-arm has been removed from nixpkgs as the upstream project has been abandoned."; # Added 2022-01-01
+  torbrowser = throw "'torbrowser' has been renamed to/replaced by 'tor-browser-bundle-bin'"; # Converted to throw 2022-02-22
+  torch = throw "torch has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
+  torch-hdf5 = throw "torch-hdf5 has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
+  torch-repl = throw "torch-repl has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
+  torchPackages = throw "torchPackages has been removed, as the upstream project has been abandoned"; # Added 2020-03-28
+  trang = throw "'trang' has been renamed to/replaced by 'jing-trang'"; # Converted to throw 2022-02-22
+  transfig = fig2dev; # Added 2022-02-15
+  transmission-remote-cli = "transmission-remote-cli has been removed, as the upstream project has been abandoned. Please use tremc instead"; # Added 2020-10-14
+  transmission_gtk = throw "'transmission_gtk' has been renamed to/replaced by 'transmission-gtk'"; # Converted to throw 2022-02-22
+  transmission_remote_gtk = throw "'transmission_remote_gtk' has been renamed to/replaced by 'transmission-remote-gtk'"; # Converted to throw 2022-02-22
   transporter = throw "transporter has been removed. It was archived upstream, so it's considered abandoned.";
   trebleshot = throw "trebleshot has been removed. It was archived upstream, so it's considered abandoned.";
-  trilium = throw "trilium has been removed. Please use trilium-desktop instead."; # added 2020-04-29
-  truecrypt = veracrypt; # added 2018-10-24
-  tshark = wireshark-cli; # added 2018-04-25
-  tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # added 2021-03-07
-  turbo-geth = throw "turbo-geth has been renamed to erigon"; # added 2021-08-08
-  typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed."; # added 2021-09-11
-  uberwriter = apostrophe; # added 2020-04-23
-  ubootBeagleboneBlack = ubootAmx335xEVM; # added 2020-01-21
-  ucsFonts = ucs-fonts; # added 2016-07-15
-  ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now."; # 2020-01-11
-  ultrastardx-beta = ultrastardx; # added 2017-08-12
-  unicorn-emu = unicorn; # added 2020-10-29
-  unifiStable = unifi6; # added 2020-12-28
-  untrunc = untrunc-anthwlock; # added 2021-02-01
-  usb_modeswitch = usb-modeswitch; # added 2016-05-10
-  usbguard-nox = usbguard; # added 2019-09-04
-  utillinux = util-linux; # added 2020-11-24
+  trilium = throw "trilium has been removed. Please use trilium-desktop instead."; # Added 2020-04-29
+  truecrypt = throw "'truecrypt' has been renamed to/replaced by 'veracrypt'"; # Converted to throw 2022-02-22
+  tshark = throw "'tshark' has been renamed to/replaced by 'wireshark-cli'"; # Converted to throw 2022-02-22
+  tuijam = throw "tuijam has been removed because Google Play Music was discontinued"; # Added 2021-03-07
+  turbo-geth = throw "turbo-geth has been renamed to erigon"; # Added 2021-08-08
+  typora = throw "Newer versions of typora use anti-user encryption and refuse to start. As such it has been removed."; # Added 2021-09-11
+
+  ### U ###
+
+  uberwriter = apostrophe; # Added 2020-04-23
+  ubootBeagleboneBlack = ubootAmx335xEVM; # Added 2020-01-21
+  ucsFonts = throw "'ucsFonts' has been renamed to/replaced by 'ucs-fonts'"; # Converted to throw 2022-02-22
+  ufraw = throw "ufraw is unmaintained and has been removed from nixpkgs. Its successor, nufraw, doesn't seem to be stable enough. Consider using Darktable for now."; # Added 2020-01-11
+  ultrastardx-beta = throw "'ultrastardx-beta' has been renamed to/replaced by 'ultrastardx'"; # Converted to throw 2022-02-22
+  unicorn-emu = unicorn; # Added 2020-10-29
+  unifiStable = unifi6; # Added 2020-12-28
+  untrunc = untrunc-anthwlock; # Added 2021-02-01
+  urxvt_autocomplete_all_the_things = rxvt-unicode-plugins.autocomplete-all-the-things; # Added 2020-02-02
+  urxvt_bidi = rxvt-unicode-plugins.bidi; # Added 2020-02-02
+  urxvt_font_size = rxvt-unicode-plugins.font-size; # Added 2020-02-02
+  urxvt_perl = rxvt-unicode-plugins.perl; # Added 2020-02-02
+  urxvt_perls = rxvt-unicode-plugins.perls; # Added 2020-02-02
+  urxvt_tabbedex = rxvt-unicode-plugins.tabbedex; # Added 2020-02-02
+  urxvt_theme_switch = rxvt-unicode-plugins.theme-switch; # Added 2020-02-02
+  urxvt_vtwheel = rxvt-unicode-plugins.vtwheel; # Added 2020-02-02
+  usb_modeswitch = throw "'usb_modeswitch' has been renamed to/replaced by 'usb-modeswitch'"; # Converted to throw 2022-02-22
+  usbguard-nox = usbguard; # Added 2019-09-04
+  utillinux = util-linux; # Added 2020-11-24
   uzbl = throw "uzbl has been removed from nixpkgs, as it's unmaintained and uses insecure libraries";
-  v4l_utils = v4l-utils; # added 2019-08-07
+
+  ### V ###
+
+  v4l_utils = v4l-utils; # Added 2019-08-07
   v8_3_16_14 = throw "v8_3_16_14 was removed in 2019-11-01: no longer referenced by other packages";
+  vamp = { vampSDK = vamp-plugin-sdk; }; # Added 2020-03-26
   vapor = throw "vapor was removed because it was unmaintained and upstream service no longer exists";
-  vamp = { vampSDK = vamp-plugin-sdk; }; # added 2020-03-26
-  varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # 2021-07-26
-  varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # 2021-07-26
-  varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # 2021-09-15
-  venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # added 2021-02-05
-  vdirsyncerStable  = vdirsyncer; # added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
-  vimbWrapper = vimb; # added 2015-01
-  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # added 2019-12-05
-  vimprobable2-unwrapped = vimprobable2; # added 2019-12-05
-  virtviewer = virt-viewer; # added 2015-12-24
-  virtmanager = virt-manager; # added 2019-10-29
-  virtmanager-qt = virt-manager-qt; # added 2019-10-29
-  virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # added 2021-07-21
-  vorbisTools = vorbis-tools; # added 2016-01-26
-  vtun = throw "vtune has been removed as it's unmaintained upstream."; # added 2021-10-29
-  way-cooler = throw "way-cooler is abandoned by its author: https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"; # added 2020-01-13
-  webkit = webkitgtk; # added 2019-03-05
-  webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
-  webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk."; # added 2019-12-05
-  weechat-matrix-bridge = weechatScripts.weechat-matrix-bridge; # added 2018-09-06
-  wicd = throw "wicd has been removed as it is abandoned."; # added 2021-09-11
-  wineStaging = wine-staging; # added 2018-01-08
+  varnish62 = throw "varnish62 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-07-26
+  varnish63 = throw "varnish63 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-07-26
+  varnish65 = throw "varnish65 was removed from nixpkgs, because it is unmaintained upstream. Please switch to a different release."; # Added 2021-09-15
+  vdirsyncerStable  = vdirsyncer; # Added 2020-11-08, see https://github.com/NixOS/nixpkgs/issues/103026#issuecomment-723428168
+  venus = throw "venus has been removed from nixpkgs, as it's unmaintained"; # Added 2021-02-05
+  vimbWrapper = throw "'vimbWrapper' has been renamed to/replaced by 'vimb'"; # Converted to throw 2022-02-22
+  vimprobable2 = throw "vimprobable2 has been removed from nixpkgs. It relied on webkitgtk24x that has been removed."; # Added 2019-12-05
+  vimprobable2-unwrapped = vimprobable2; # Added 2019-12-05
+  virtinst = throw "virtinst has been removed, as it's included in virt-manager"; # Added 2021-07-21
+  virtuoso = throw "virtuoso has been removed, because it was unmaintained in nixpkgs"; # added 2021-12-15
+  virtmanager = virt-manager; # Added 2019-10-29
+  virtmanager-qt = virt-manager-qt; # Added 2019-10-29
+  virtviewer = throw "'virtviewer' has been renamed to/replaced by 'virt-viewer'"; # Converted to throw 2022-02-22
+  vorbisTools = throw "'vorbisTools' has been renamed to/replaced by 'vorbis-tools'"; # Converted to throw 2022-02-22
+  vtun = throw "vtune has been removed as it's unmaintained upstream."; # Added 2021-10-29
+
+  ### W ###
+
+  way-cooler = throw "way-cooler is abandoned by its author: https://way-cooler.org/blog/2020/01/09/way-cooler-post-mortem.html"; # Added 2020-01-13
+  webkit = throw "'webkit' has been renamed to/replaced by 'webkitgtk'"; # Converted to throw 2022-02-22
+  webkitgtk24x-gtk2 = throw "webkitgtk24x-gtk2 has been removed because it's insecure. Please use webkitgtk."; # Added 2019-12-05
+  webkitgtk24x-gtk3 = throw "webkitgtk24x-gtk3 has been removed because it's insecure. Please use webkitgtk."; # Added 2019-12-05
+  weechat-matrix-bridge = throw "'weechat-matrix-bridge' has been renamed to/replaced by 'weechatScripts.weechat-matrix-bridge'"; # Converted to throw 2022-02-22
+  whirlpool-gui = throw "whirlpool-gui has been removed as it depended on an insecure version of Electron."; # added 2022-02-08
+  wicd = throw "wicd has been removed as it is abandoned."; # Added 2021-09-11
+  wineFull = throw "'wineFull' has been renamed to/replaced by 'winePackages.full'"; # Converted to throw 2022-02-22
+  wineMinimal = throw "'wineMinimal' has been renamed to/replaced by 'winePackages.minimal'"; # Converted to throw 2022-02-22
+  wineStable = throw "'wineStable' has been renamed to/replaced by 'winePackages.stable'"; # Converted to throw 2022-02-22
+  wineStaging = throw "'wineStaging' has been renamed to/replaced by 'wine-staging'"; # Converted to throw 2022-02-22
+  wineUnstable = throw "'wineUnstable' has been renamed to/replaced by 'winePackages.unstable'"; # Converted to throw 2022-02-22
   wineWayland = wine-wayland;
-  winusb = woeusb; # added 2017-12-22
-  winswitch = throw "winswitch has been removed from nixpkgs."; # added 2019-12-10
-  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # added 2019-11-18
-  wireguard = wireguard-tools; # added 2018-05-19
-  wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared."; # 2022-01-31
-  morituri = whipper; # added 2018-09-13
-  xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; # added 2021-11-19
-  xp-pen-g430 = pentablet-driver; # added 2020-05-03
-  xdg_utils = xdg-utils; # added 2021-02-01
-  xfceUnstable = xfce4-14; # added 2019-09-17
+  winswitch = throw "winswitch has been removed from nixpkgs."; # Added 2019-12-10
+  winusb = throw "'winusb' has been renamed to/replaced by 'woeusb'"; # Converted to throw 2022-02-22
+  wireguard = throw "'wireguard' has been renamed to/replaced by 'wireguard-tools'"; # Converted to throw 2022-02-22
+  wireshark-gtk = throw "wireshark-gtk is not supported anymore. Use wireshark-qt or wireshark-cli instead."; # Added 2019-11-18
+  wxmupen64plus = throw "wxmupen64plus was removed because the upstream disappeared."; # Added 2022-01-31
+
+  ### X ###
+
+  x11 = throw "'x11' has been renamed to/replaced by 'xlibsWrapper'"; # Converted to throw 2022-02-22
+  xara = throw "xara has been removed from nixpkgs. Unmaintained since 2006"; # Added 2020-06-24
+  xbmc = throw "'xbmc' has been renamed to/replaced by 'kodi'"; # Converted to throw 2022-02-22
+  xbmc-retroarch-advanced-launchers = kodi-retroarch-advanced-launchers; # Added 2021-11-19
+  xbmcPlain = throw "'xbmcPlain' has been renamed to/replaced by 'kodiPlain'"; # Converted to throw 2022-02-22
+  xbmcPlugins = throw "'xbmcPlugins' has been renamed to/replaced by 'kodiPackages'"; # Converted to throw 2022-02-22
+  xdg_utils = xdg-utils; # Added 2021-02-01
+  xfce4-12 = throw "xfce4-12 has been replaced by xfce4-14"; # Added 2020-03-14
   xfce4-14 = xfce;
-  xfce4-12 = throw "xfce4-12 has been replaced by xfce4-14"; # added 2020-03-14
-  x11 = xlibsWrapper; # added 2015-09
-  xara = throw "xara has been removed from nixpkgs. Unmaintained since 2006"; # added 2020-06-24
-  xbmc = kodi; # added 2018-04-25
-  xbmcPlain = kodiPlain; # added 2018-04-25
-  xbmcPlugins = kodiPackages; # added 2018-04-25
-  kodiPlugins = kodiPackages; # added 2021-03-09;
-  xineLib = xine-lib; # added 2021-04-27
-  xineUI = xine-ui; # added 2021-04-27
-  xmonad_log_applet_gnome3 = xmonad_log_applet; # added 2018-05-01
+  xfceUnstable = xfce4-14; # Added 2019-09-17
+  xineLib = xine-lib; # Added 2021-04-27
+  xineUI = xine-ui; # Added 2021-04-27
+  xmonad_log_applet_gnome3 = throw "'xmonad_log_applet_gnome3' has been renamed to/replaced by 'xmonad_log_applet'"; # Converted to throw 2022-02-22
   xmpppy = throw "xmpppy has been removed from nixpkgs as it is unmaintained and python2-only";
-  pyIRCt = throw "pyIRCt has been removed from nixpkgs as it is unmaintained and python2-only";
-  pyMAILt = throw "pyMAILt has been removed from nixpkgs as it is unmaintained and python2-only";
-  xf86_video_nouveau = xorg.xf86videonouveau; # added 2015-09
-  xf86_input_mtrack = throw ("xf86_input_mtrack has been removed from nixpkgs as it hasn't been maintained"
-    + "and is broken. Working alternatives are libinput and synaptics.");
-  xf86_input_multitouch = throw "xf86_input_multitouch has been removed from nixpkgs."; # added 2020-01-20
-  xlibs = xorg; # added 2015-09
-  xpraGtk3 = xpra; # added 2018-09-13
-  xv = xxv; # added 2020-02-22
-  xvfb_run = xvfb-run; # added 2021-05-07
+  xp-pen-g430 = pentablet-driver; # Added 2020-05-03
+  xf86_video_nouveau = throw "'xf86_video_nouveau' has been renamed to/replaced by 'xorg.xf86videonouveau'"; # Converted to throw 2022-02-22
+  xf86_input_mtrack = throw ''
+    xf86_input_mtrack has been removed from nixpkgs as it is broken and
+    unmaintained. Working alternatives are libinput and synaptics.
+  '';
+  xf86_input_multitouch = throw "xf86_input_multitouch has been removed from nixpkgs."; # Added 2020-01-20
+  xlibs = throw "'xlibs' has been renamed to/replaced by 'xorg'"; # Converted to throw 2022-02-22
+  xpraGtk3 = throw "'xpraGtk3' has been renamed to/replaced by 'xpra'"; # Converted to throw 2022-02-22
+  xv = xxv; # Added 2020-02-22
+  xvfb_run = xvfb-run; # Added 2021-05-07
+
+  ### Y ###
+
   yacc = bison; # moved from top-level 2021-03-14
-  yarssr = throw "yarssr has been removed as part of the python2 deprecation"; # added 2022-01-15
-  youtubeDL = youtube-dl;  # added 2014-10-26
+  yarssr = throw "yarssr has been removed as part of the python2 deprecation"; # Added 2022-01-15
+  youtubeDL = throw "'youtubeDL' has been renamed to/replaced by 'youtube-dl'"; # Converted to throw 2022-02-22
   ytop = throw "ytop has been abandoned by upstream. Consider switching to bottom instead";
-  yubikey-neo-manager = throw "yubikey-neo-manager has been removed because it was broken. Use yubikey-manager-qt instead."; # added 2021-03-08
-  yuzu = yuzu-mainline; # added 2021-01-25
-  zabbix30 = throw "Zabbix 3.0.x is end of life, see https://www.zabbix.com/documentation/5.0/manual/installation/upgrade/sources for a direct upgrade path to 5.0.x"; # added 2021-04-07
-  zimreader = throw "zimreader has been removed from nixpkgs as it has been replaced by kiwix-serve and stopped working with modern zimlib versions."; # added 2021-03-28
-  zdfmediathk = mediathekview; # added 2019-01-19
-
-  gnome_user_docs = gnome-user-docs; # added 2019-11-20
-  # spidermonkey is not ABI upwards-ompatible, so only allow this for nix-shell
-  spidermonkey = spidermonkey_91; # added 2020-10-09
-  libtorrentRasterbar = libtorrent-rasterbar; # added 2020-12-20
-  libtorrentRasterbar-2_0_x = libtorrent-rasterbar-2_0_x; # added 2020-12-20
-  libtorrentRasterbar-1_2_x = libtorrent-rasterbar-1_2_x; # added 2020-12-20
-  libtorrentRasterbar-1_1_x = libtorrent-rasterbar-1_1_x; # added 2020-12-20
+  yubikey-neo-manager = throw "yubikey-neo-manager has been removed because it was broken. Use yubikey-manager-qt instead."; # Added 2021-03-08
+  yuzu = yuzu-mainline; # Added 2021-01-25
+
+  ### Z ###
+
+  zabbix30 = throw "Zabbix 3.0.x is end of life, see https://www.zabbix.com/documentation/5.0/manual/installation/upgrade/sources for a direct upgrade path to 5.0.x"; # Added 2021-04-07
+  zdfmediathk = throw "'zdfmediathk' has been renamed to/replaced by 'mediathekview'"; # Converted to throw 2022-02-22
+  zimreader = throw "zimreader has been removed from nixpkgs as it has been replaced by kiwix-serve and stopped working with modern zimlib versions."; # Added 2021-03-28
 
   # TODO(ekleog): add ‘wasm’ alias to ‘ocamlPackages.wasm’ after 19.03
   # branch-off
 
-  # added 2017-05-27
-  wineMinimal = winePackages.minimal;
-  wineFull = winePackages.full;
-  wineStable = winePackages.stable;
-  wineUnstable = winePackages.unstable;
+  ocamlPackages_4_00_1 = throw "'ocamlPackages_4_00_1' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_00_1'"; # Converted to throw 2022-02-22
+  ocamlPackages_4_01_0 = throw "'ocamlPackages_4_01_0' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_01_0'"; # Converted to throw 2022-02-22
+  ocamlPackages_4_02 = throw "'ocamlPackages_4_02' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_02'"; # Converted to throw 2022-02-22
+  ocamlPackages_4_03 = throw "'ocamlPackages_4_03' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_03'"; # Converted to throw 2022-02-22
+  ocamlPackages_latest = throw "'ocamlPackages_latest' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_latest'"; # Converted to throw 2022-02-22
 
-  # added 2018-03-26
-  libva-full = libva;
-  libva1-full = libva1;
+  ocaml_4_00_1 = throw "'ocamlPackages_4_00_1.ocaml' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_00_1.ocaml'"; # Converted to throw 2022-02-22
+  ocaml_4_01_0 = throw "'ocamlPackages_4_01_0.ocaml' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_01_0.ocaml'"; # Converted to throw 2022-02-22
+  ocaml_4_02 = throw "'ocamlPackages_4_02.ocaml' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_02.ocaml'"; # Converted to throw 2022-02-22
+  ocaml_4_03 = throw "'ocamlPackages_4_03.ocaml' has been renamed to/replaced by 'ocaml-ng.ocamlPackages_4_03.ocaml'"; # Converted to throw 2022-02-22
 
-  # forceSystem should not be used directly in Nixpkgs.
-  # added 2018-07-16
-  forceSystem = system: _:
-    (import self.path { localSystem = { inherit system; }; });
-  callPackage_i686 = pkgsi686Linux.callPackage;
+  zabbix44 = throw ''
+    Zabbix 4.4 is end of life. For details on upgrading to Zabbix 5.0 look at
+    https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500
+  ''; # Added 2020-08-17
 
-  inherit (ocaml-ng) # added 2016-09-14
-    ocamlPackages_4_00_1 ocamlPackages_4_01_0 ocamlPackages_4_02
-    ocamlPackages_4_03
-    ocamlPackages_latest;
-
-  mumble_git = pkgs.mumble; # added 2019-08-01
-  murmur_git = pkgs.murmur; # added 2019-08-01
-  zabbix44 = throw "zabbix44: Zabbix 4.4 is end of life, see https://www.zabbix.com/documentation/current/manual/installation/upgrade_notes_500 for details on upgrading to Zabbix 5.0."; # added 2020-08-17
-
-  # added 2019-09-06
+  # Added 2019-09-06
   zeroc_ice = pkgs.zeroc-ice;
 
-  # added 2020-06-22
+  # Added 2020-06-22
   zeromq3 = throw "zeromq3 has been deprecated by zeromq4.";
   jzmq = throw "jzmq has been removed from nixpkgs, as it was unmaintained";
-} // (with ocaml-ng; { # added 2016-09-14
-  ocaml_4_00_1 = ocamlPackages_4_00_1.ocaml;
-  ocaml_4_01_0 = ocamlPackages_4_01_0.ocaml;
-  ocaml_4_02   = ocamlPackages_4_02.ocaml;
-  ocaml_4_03   = ocamlPackages_4_03.ocaml;
-}) // {
-
-  gnatsd = nats-server; # added 2019-10-28
-  tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead. See #77452."; # added 2020-01-10
-  tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead. See #77452."; # added 2020-01-10
-  dina-font-pcf = dina-font; # added 2020-02-09
-
-  /* Cleanup before 20.09 */
-  oraclejdk8psu = throw ''
-    oraclejdk8psu: The *psu versions of oraclejdk aren't provided by upstream anymore and were therefore removed!
-  '';
-  oraclejre8psu = oraclejdk8psu;
-  oraclejdk8psu_distro = oraclejdk8psu;
-
-  dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2."; # added 2020-02-02
-  sqldeveloper_18 = throw "sqldeveloper_18 is not maintained anymore!"; # added 2020-02-04
-  gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7.";
-  todolist = throw "todolist is now ultralist."; # added 2020-12-27
-
-  /* Cleanup before 21.05 */
-  riot-desktop = throw "riot-desktop is now element-desktop!";
-  riot-web = throw "riot-web is now element-web";
-
-  ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula.";
-
-  /* Added 2021-01-02 */
-  ttyrec = ovh-ttyrec;
-
-  tt-rss-plugin-tumblr-gdpr = throw "tt-rss-plugin-tumblr-gdpr was removed because tumblr does not require gdpr acceptance to fetch rss feeds anymore"; # added 2012-06-12
-
-  zplugin = zinit; # Added 2021-01-30
-
-  posix_man_pages = man-pages-posix; # Added 2021-04-15
 
-  /* Cleanup before 21.11, Added 2021-05-07 */
   avian = throw ''
-    The package doesn't compile anymore on NixOS and both development
-    & maintenance is abandoned by upstream.
-  '';
+    The package doesn't compile anymore on NixOS and both development &
+    maintenance is abandoned by upstream.
+  ''; # Cleanup before 21.11, Added 2021-05-07
+  ant-dracula-theme = throw "ant-dracula-theme is now dracula-theme, and theme name is Dracula instead of Ant-Dracula.";
+  dina-font-pcf = dina-font; # Added 2020-02-09
+  dnscrypt-proxy = throw "dnscrypt-proxy has been removed. Please use dnscrypt-proxy2."; # Added 2020-02-02
+  gcc-snapshot = throw "gcc-snapshot: Marked as broken for >2 years, additionally this 'snapshot' pointed to a fairly old one from gcc7.";
+  gnatsd = nats-server; # Added 2019-10-28
 
-  # Added 2021-06-01
   obs-gstreamer = throw ''
     obs-gstreamer has been converted into a plugin for use with wrapOBS.
     Its new location is obs-studio-plugins.obs-gstreamer.
-  '';
+  ''; # Added 2021-06-01
 
-  # Added 2021-06-01
   obs-move-transition = throw ''
     obs-move-transition has been converted into a plugin for use with wrapOBS.
     Its new location is obs-studio-plugins.obs-move-transition.
-  '';
+  ''; # Added 2021-06-01
 
-  # Added 2021-06-01
   obs-multi-rtmp = throw ''
     obs-multi-rtmp has been converted into a plugin for use with wrapOBS.
     Its new location is obs-studio-plugins.obs-multi-rtmp.
-  '';
+  ''; # Added 2021-06-01
 
-  # Added 2021-06-01
   obs-ndi = throw ''
     obs-ndi has been converted into a plugin for use with wrapOBS.
     Its new location is obs-studio-plugins.obs-ndi.
-  '';
+  ''; # Added 2021-06-01
 
-  obs-v4l2sink = throw "obs-v4l2sink is integrated into upstream OBS since version 26.1";  # Added 2021-06-01
+  obs-v4l2sink = throw "obs-v4l2sink is integrated into upstream OBS since version 26.1"; # Added 2021-06-01
 
-  # Added 2021-06-01
   obs-wlrobs = throw ''
     wlrobs has been converted into a plugin for use with wrapOBS.
     Its new location is obs-studio-plugins.wlrobs.
-  '';
+  ''; # Added 2021-06-01
 
-  multimc = throw "multimc was removed from nixpkgs; use polymc instead"; # Added 2022-01-08
+  oraclejdk8psu = throw "The *psu versions of oraclejdk are no longer provided by upstream."; # Cleanup before 20.09
+  oraclejre8psu = oraclejdk8psu; # Cleanup before 20.09
+  oraclejdk8psu_distro = oraclejdk8psu; # Cleanup before 20.09
+  posix_man_pages = man-pages-posix; # Added 2021-04-15
+  riot-desktop = throw "riot-desktop is now element-desktop!"; # Cleanup before 21.05
+  riot-web = throw "riot-web is now element-web"; # Cleanup before 21.05
+  sqldeveloper_18 = throw "sqldeveloper_18 is not maintained anymore!"; # Added 2020-02-04
+  todolist = throw "todolist is now ultralist."; # Added 2020-12-27
+  tor-browser-bundle = throw "tor-browser-bundle was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead."; # Added 2020-01-10
+  tor-browser-unwrapped = throw "tor-browser-unwrapped was removed because it was out of date and inadequately maintained. Please use tor-browser-bundle-bin instead."; # Added 2020-01-10
+  ttyrec = ovh-ttyrec; # Added 2021-01-02
+  zplugin = zinit; # Added 2021-01-30
+
+  inherit (stdenv.hostPlatform) system; # Added 2021-10-22
+
+  # LLVM packages for (integration) testing that should not be used inside Nixpkgs:
+  llvmPackages_git = recurseIntoAttrs (callPackage ../development/compilers/llvm/git {
+    inherit (stdenvAdapters) overrideCC;
+    buildLlvmTools = buildPackages.llvmPackages_git.tools;
+    targetLlvmLibraries = targetPackages.llvmPackages_git.libraries;
+  });
 
   /* If these are in the scope of all-packages.nix, they cause collisions
   between mixed versions of qt. See:
   https://github.com/NixOS/nixpkgs/pull/101369 */
 
-  inherit (plasma5Packages) breeze-icons oxygen-icons5;
-  inherit (plasma5Packages)
-    akonadi akregator ark
-    bomber bovo
-    dolphin dragon
-    elisa
-    ffmpegthumbs filelight
-    granatier gwenview
-    k3b
-    kaddressbook kalzium kapptemplate kapman kate katomic
-    kblackbox kblocks kbounce
-    kcachegrind kcalc kcharselect kcolorchooser
-    kdenlive kdf kdialog kdiamond
-    keditbookmarks
-    kfind kfloppy
-    kget kgpg
-    khelpcenter
-    kig kigo killbots kitinerary
-    kleopatra klettres klines
-    kmag kmail kmines kmix kmplot
-    knavalbattle knetwalk knights
-    kollision kolourpaint kompare konsole kontact korganizer
-    kpkpass
-    krdc kreversi krfb
-    kshisen ksquares ksystemlog
-    kteatime ktimer ktouch kturtle
-    kwalletmanager kwave
-    marble minuet
-    okular
-    picmi
-    spectacle
-    yakuake
-  ;
   inherit (plasma5Packages)
-    bluedevil breeze-gtk breeze-qt5 breeze-grub breeze-plymouth
-    discover
-    kactivitymanagerd
-    kde-cli-tools kde-gtk-config kdeplasma-addons
-    kgamma5
-    kinfocenter
-    kmenuedit
-    kscreen kscreenlocker ksshaskpass
-    kwallet-pam kwayland-integration kwin kwrited
-    milou
-    oxygen
-    plasma-browser-integration
-    plasma-desktop
-    plasma-integration
-    plasma-nm
-    plasma-pa
-    plasma-systemmonitor
-    plasma-thunderbolt
-    plasma-vault
-    plasma-workspace plasma-workspace-wallpapers
-    polkit-kde-agent powerdevil
-    qqc2-breeze-style
-    sddm-kcm systemsettings
-    xdg-desktop-portal-kde
-    plasma-phone-components
-    plasma-nano
+    akonadi akregator ark bluedevil bomber bovo breeze-grub breeze-gtk
+    breeze-icons breeze-plymouth breeze-qt5 discover dolphin dragon elisa
+    ffmpegthumbs filelight granatier gwenview k3b kactivitymanagerd kaddressbook
+    kalzium kapman kapptemplate kate katomic kblackbox kblocks kbounce
+    kcachegrind kcalc kcharselect kcolorchooser kde-cli-tools kde-gtk-config
+    kdenlive kdeplasma-addons kdf kdialog kdiamond keditbookmarks kfind kfloppy
+    kgamma5 kget kgpg khelpcenter kig kigo killbots kinfocenter kitinerary
+    kleopatra klettres klines kmag kmail kmenuedit kmines kmix kmplot
+    knavalbattle knetwalk knights kollision kolourpaint kompare konsole kontact
+    korganizer kpkpass krdc kreversi krfb kscreen kscreenlocker kshisen ksquares
+    ksshaskpass ksystemlog kteatime ktimer ktouch kturtle kwallet-pam
+    kwalletmanager kwave kwayland-integration kwin kwrited marble milou minuet
+    okular oxygen oxygen-icons5 picmi plasma-browser-integration plasma-desktop
+    plasma-integration plasma-nano plasma-nm plasma-pa plasma-phone-components
+    plasma-systemmonitor plasma-thunderbolt plasma-vault plasma-workspace
+    plasma-workspace-wallpapers polkit-kde-agent powerdevil qqc2-breeze-style
+    sddm-kcm spectacle systemsettings xdg-desktop-portal-kde yakuake
   ;
+
   inherit (plasma5Packages.thirdParty)
-    plasma-applet-caffeine-plus
-    plasma-applet-virtual-desktop-bar
-    kwin-dynamic-workspaces
-    kwin-tiling
     krohnkite
     krunner-symbols
+    kwin-dynamic-workspaces
+    kwin-tiling
+    plasma-applet-caffeine-plus
+    plasma-applet-virtual-desktop-bar
   ;
+
   inherit (libsForQt5)
     sddm
   ;
 
-  # LLVM packages for (integration) testing that should not be used inside Nixpkgs:
-  llvmPackages_git = recurseIntoAttrs (callPackage ../development/compilers/llvm/git {
-    inherit (stdenvAdapters) overrideCC;
-    buildLlvmTools = buildPackages.llvmPackages_git.tools;
-    targetLlvmLibraries = targetPackages.llvmPackages_git.libraries;
-  });
-
-  inherit (stdenv.hostPlatform) system; # added 2021-10-22
-
 })
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 2e7134580a3..9113aa75eb5 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -107,6 +107,10 @@ with pkgs;
 
   genericUpdater = callPackage ../common-updater/generic-updater.nix { };
 
+  gitUpdater = callPackage ../common-updater/git-updater.nix { };
+
+  httpTwoLevelsUpdater = callPackage ../common-updater/http-two-levels-updater.nix { };
+
   unstableGitUpdater = callPackage ../common-updater/unstable-updater.nix { };
 
   nix-update-script = callPackage ../common-updater/nix-update.nix { };
@@ -216,6 +220,8 @@ with pkgs;
 
   beyond-identity = callPackage ../tools/security/beyond-identity {};
 
+  bingo = callPackage ../development/tools/bingo {};
+
   breakpad = callPackage ../development/misc/breakpad { };
 
   buf = callPackage ../development/tools/buf { };
@@ -253,9 +259,11 @@ with pkgs;
 
   catatonit = callPackage ../applications/virtualization/catatonit { };
 
-  cen64 = callPackage ../misc/emulators/cen64 { };
+  cen64 = callPackage ../applications/emulators/cen64 { };
+
+  btdu = callPackage ../tools/misc/btdu { };
 
-  uxn = callPackage ../misc/emulators/uxn { };
+  uxn = callPackage ../applications/emulators/uxn { };
 
   cereal = callPackage ../development/libraries/cereal { };
 
@@ -285,9 +293,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  conftest = callPackage ../development/tools/conftest {
-    buildGoModule = buildGo117Module;
-  };
+  conftest = callPackage ../development/tools/conftest { };
 
   corgi = callPackage ../development/tools/corgi { };
 
@@ -329,9 +335,7 @@ with pkgs;
 
   eclipse-mat = callPackage ../development/tools/eclipse-mat { };
 
-  evans = callPackage ../development/tools/evans {
-    buildGoModule = buildGo117Module;
-  };
+  evans = callPackage ../development/tools/evans { };
 
   firefly-desktop = callPackage ../applications/misc/firefly-desktop { };
 
@@ -347,6 +351,10 @@ with pkgs;
 
   buildcatrust = with python3.pkgs; toPythonApplication buildcatrust;
 
+  probe-rs-cli = callPackage ../development/tools/rust/probe-rs-cli {
+    inherit (darwin.apple_sdk.frameworks) AppKit;
+  };
+
   probe-run = callPackage ../development/tools/rust/probe-run {
     inherit (darwin.apple_sdk.frameworks) AppKit IOKit;
   };
@@ -357,9 +365,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  proto-contrib = callPackage ../development/tools/proto-contrib {
-    buildGoModule = buildGo117Module;
-  };
+  proto-contrib = callPackage ../development/tools/proto-contrib { };
 
   protoc-gen-doc = callPackage ../development/tools/protoc-gen-doc {};
 
@@ -373,17 +379,13 @@ with pkgs;
 
   protoc-gen-twirp = callPackage ../development/tools/protoc-gen-twirp { };
 
-  protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php {
-    buildGoModule = buildGo117Module;
-  };
+  protoc-gen-twirp_php = callPackage ../development/tools/protoc-gen-twirp_php { };
 
   protoc-gen-twirp_swagger = callPackage ../development/tools/protoc-gen-twirp_swagger { };
 
-  protoc-gen-twirp_typescript = callPackage ../development/tools/protoc-gen-twirp_typescript {
-    buildGoModule = buildGo117Module;
-  };
+  protoc-gen-twirp_typescript = callPackage ../development/tools/protoc-gen-twirp_typescript { };
 
-  proton-caller = callPackage ../misc/emulators/proton-caller { };
+  proton-caller = callPackage ../applications/emulators/proton-caller { };
 
   ptags = callPackage ../development/tools/misc/ptags { };
 
@@ -447,11 +449,7 @@ with pkgs;
 
   dotfiles = callPackage ../applications/misc/dotfiles { };
 
-  dotnetenv = callPackage ../build-support/dotnetenv {
-    dotnetfx = dotnetfx40;
-  };
-
-  dotnetbuildhelpers = callPackage ../build-support/dotnetbuildhelpers { };
+  # Dotnet
 
   dotnetCorePackages = recurseIntoAttrs (callPackage ../development/compilers/dotnet {});
 
@@ -464,6 +462,17 @@ with pkgs;
   dotnet-runtime = dotnetCorePackages.runtime_6_0;
   dotnet-aspnetcore = dotnetCorePackages.aspnetcore_6_0;
 
+  buildDotnetModule = callPackage ../build-support/dotnet/build-dotnet-module { };
+  nuget-to-nix = callPackage ../build-support/dotnet/nuget-to-nix { };
+
+  dotnetenv = callPackage ../build-support/dotnet/dotnetenv {
+    dotnetfx = dotnetfx40;
+  };
+
+  buildDotnetPackage = callPackage ../build-support/dotnet/build-dotnet-package { };
+  fetchNuGet = callPackage ../build-support/dotnet/fetchnuget { };
+  dotnetbuildhelpers = callPackage ../build-support/dotnet/dotnetbuildhelpers { };
+
   dumb-init = callPackage ../applications/virtualization/dumb-init {};
 
   umoci = callPackage ../applications/virtualization/umoci {};
@@ -535,17 +544,13 @@ with pkgs;
 
   graph-easy = callPackage ../tools/graphics/graph-easy { };
 
-  packer = callPackage ../development/tools/packer {
-    buildGoModule = buildGo117Module;
-  };
+  packer = callPackage ../development/tools/packer { };
 
   packr = callPackage ../development/libraries/packr { };
 
   perseus-cli = callPackage ../development/tools/perseus-cli { };
 
-  pet = callPackage ../development/tools/pet {
-    buildGoModule = buildGo117Module;
-  };
+  pet = callPackage ../development/tools/pet { };
 
   pkger = callPackage ../development/libraries/pkger { };
 
@@ -669,11 +674,6 @@ with pkgs;
 
   fetchFromRepoOrCz = callPackage ../build-support/fetchrepoorcz {};
 
-  fetchNuGet = callPackage ../build-support/fetchnuget { };
-  buildDotnetPackage = callPackage ../build-support/build-dotnet-package { };
-  buildDotnetModule = callPackage ../build-support/build-dotnet-module { };
-  nuget-to-nix = callPackage ../build-support/nuget-to-nix { };
-
   fetchgx = callPackage ../build-support/fetchgx { };
 
   resolveMirrorURLs = {url}: fetchurl {
@@ -713,12 +713,20 @@ with pkgs;
 
   makeDesktopItem = callPackage ../build-support/make-desktopitem { };
 
+  makeDarwinBundle = callPackage ../build-support/make-darwin-bundle { };
+
   makeAutostartItem = callPackage ../build-support/make-startupitem { };
 
   makeInitrd = callPackage ../build-support/kernel/make-initrd.nix; # Args intentionally left out
 
-  makeWrapper = makeSetupHook { deps = [ dieHook ]; substitutions = { shell = targetPackages.runtimeShell; }; }
-                              ../build-support/setup-hooks/make-wrapper.sh;
+  makeWrapper = makeSetupHook
+    { deps = [ dieHook ];
+      substitutions = {
+        shell = targetPackages.runtimeShell;
+        passthru.tests = tests.makeWrapper;
+      };
+    }
+    ../build-support/setup-hooks/make-wrapper.sh;
 
   makeBinaryWrapper = let
     f = { cc, sanitizers }: let
@@ -815,6 +823,11 @@ with pkgs;
     substitutions = { inherit (binutils) targetPrefix; };
   } ../build-support/setup-hooks/fix-darwin-dylib-names.sh;
 
+  writeDarwinBundle = callPackage ../build-support/make-darwin-bundle/write-darwin-bundle.nix { };
+
+  desktopToDarwinBundle = makeSetupHook { deps = [ writeDarwinBundle imagemagick ]; }
+    ../build-support/setup-hooks/desktop-to-darwin-bundle.sh;
+
   keepBuildTree = makeSetupHook { } ../build-support/setup-hooks/keep-build-tree.sh;
 
   enableGCOVInstrumentation = makeSetupHook { } ../build-support/setup-hooks/enable-coverage-instrumentation.sh;
@@ -870,6 +883,8 @@ with pkgs;
 
   _9pfs = callPackage ../tools/filesystems/9pfs { };
 
+  aardvark-dns = callPackage ../tools/networking/aardvark-dns { };
+
   a2ps = callPackage ../tools/text/a2ps { };
 
   abcm2ps = callPackage ../tools/audio/abcm2ps { };
@@ -923,9 +938,7 @@ with pkgs;
     wxGTK = wxGTK30;
   } // (config.aegisub or {}));
 
-  aerc = callPackage ../applications/networking/mailreaders/aerc {
-    buildGoModule = buildGo117Module;
-  };
+  aerc = callPackage ../applications/networking/mailreaders/aerc { };
 
   aerospike = callPackage ../servers/nosql/aerospike { };
 
@@ -1029,17 +1042,15 @@ with pkgs;
 
   gfshare = callPackage ../tools/security/gfshare { };
 
+  glooctl = callPackage ../applications/networking/cluster/glooctl { };
+
   gobgp = callPackage ../tools/networking/gobgp { };
 
   gofu = callPackage ../applications/misc/gofu { };
 
-  godns = callPackage ../tools/networking/godns {
-    buildGoModule = buildGo117Module;
-  };
+  godns = callPackage ../tools/networking/godns { };
 
-  godspeed = callPackage ../tools/networking/godspeed {
-    buildGoModule = buildGo117Module;
-  };
+  godspeed = callPackage ../tools/networking/godspeed { };
 
   fwbuilder = libsForQt5.callPackage ../tools/security/fwbuilder { };
 
@@ -1055,7 +1066,7 @@ with pkgs;
 
   pferd = callPackage ../tools/misc/pferd {};
 
-  qflipper = callPackage ../tools/misc/qflipper { };
+  qFlipper = libsForQt515.callPackage ../tools/misc/qflipper { };
 
   quich = callPackage ../tools/misc/quich { } ;
 
@@ -1065,13 +1076,13 @@ with pkgs;
 
   tauon = callPackage ../applications/audio/tauon { };
 
+  termusic = callPackage ../applications/audio/termusic { };
+
   tfk8s = callPackage ../tools/misc/tfk8s { };
 
   tnat64 = callPackage ../tools/networking/tnat64 { };
 
-  topicctl = callPackage ../tools/misc/topicctl {
-    buildGoModule = buildGo117Module;
-  };
+  topicctl = callPackage ../tools/misc/topicctl { };
 
   veikk-linux-driver-gui = libsForQt5.callPackage ../tools/misc/veikk-linux-driver-gui { };
 
@@ -1084,8 +1095,12 @@ with pkgs;
     use64 = true;
   };
 
+  writedisk = callPackage ../tools/misc/writedisk { };
+
   xcd = callPackage ../tools/misc/xcd { };
 
+  xrootd = callPackage ../tools/networking/xrootd { };
+
   xtrt = callPackage ../tools/archivers/xtrt { };
 
   yabridge = callPackage ../tools/audio/yabridge {
@@ -1140,6 +1155,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) Cocoa CoreGraphics Foundation IOKit Kernel OpenGL;
   };
 
+  kitty-themes  = callPackage ../misc/kitty-themes {};
+
   lxterminal = callPackage ../applications/terminal-emulators/lxterminal { };
 
   microcom = callPackage ../applications/terminal-emulators/microcom { };
@@ -1227,7 +1244,9 @@ with pkgs;
 
   lilo = callPackage ../tools/misc/lilo { };
 
-  logseq = callPackage ../applications/misc/logseq { };
+  logseq = callPackage ../applications/misc/logseq {
+    electron = electron_15;
+  };
 
   natls = callPackage ../tools/misc/natls { };
 
@@ -1257,6 +1276,8 @@ with pkgs;
 
   amazon-ecs-cli = callPackage ../tools/virtualization/amazon-ecs-cli { };
 
+  amazon-qldb-shell = callPackage ../development/tools/amazon-qldb-shell { };
+
   amber = callPackage ../tools/text/amber {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -1331,7 +1352,7 @@ with pkgs;
 
   ArchiSteamFarm = callPackage ../applications/misc/ArchiSteamFarm { };
 
-  archivebox = python3Packages.callPackage ../applications/misc/archivebox { };
+  archivebox = callPackage ../applications/misc/archivebox { };
 
   archivemount = callPackage ../tools/filesystems/archivemount { };
 
@@ -1445,9 +1466,7 @@ with pkgs;
 
   awslogs = callPackage ../tools/admin/awslogs { };
 
-  aws-lambda-rie = callPackage ../tools/admin/aws-lambda-runtime-interface-emulator {
-    buildGoModule = buildGo116Module;
-  };
+  aws-lambda-rie = callPackage ../tools/admin/aws-lambda-runtime-interface-emulator { };
 
   aws-env = callPackage ../tools/admin/aws-env { };
 
@@ -1463,9 +1482,7 @@ with pkgs;
 
   aws-sam-cli = callPackage ../development/tools/aws-sam-cli { };
 
-  aws-vault = callPackage ../tools/admin/aws-vault {
-    buildGoModule = buildGo117Module;
-  };
+  aws-vault = callPackage ../tools/admin/aws-vault { };
 
   aws-workspaces = callPackage ../applications/networking/remote/aws-workspaces { };
 
@@ -1503,27 +1520,19 @@ with pkgs;
 
   chaos = callPackage ../tools/networking/chaos {  };
 
-  charm = callPackage ../applications/misc/charm {
-    buildGoModule = buildGo117Module;
-  };
+  charm = callPackage ../applications/misc/charm { };
 
   chars = callPackage ../tools/text/chars {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  checkip = callPackage ../tools/networking/checkip {
-    buildGoModule = buildGo117Module;
-  };
+  checkip = callPackage ../tools/networking/checkip { };
 
   ec2-api-tools = callPackage ../tools/virtualization/ec2-api-tools { };
 
   ec2-ami-tools = callPackage ../tools/virtualization/ec2-ami-tools { };
 
-  ec2-metadata-mock = callPackage ../development/tools/ec2-metadata-mock {
-    buildGoModule = buildGo117Module;
-  };
-
-  ec2-utils = callPackage ../tools/virtualization/ec2-utils { };
+  ec2-metadata-mock = callPackage ../development/tools/ec2-metadata-mock { };
 
   exoscale-cli = callPackage ../tools/admin/exoscale-cli { };
 
@@ -1533,15 +1542,15 @@ with pkgs;
 
   amule = callPackage ../tools/networking/p2p/amule { };
 
-  amuleDaemon = appendToName "daemon" (amule.override {
+  amule-daemon = amule.override {
     monolithic = false;
     enableDaemon = true;
-  });
+  };
 
-  amuleGui = appendToName "gui" (amule.override {
+  amule-gui = amule.override {
     monolithic = false;
     client = true;
-  });
+  };
 
   antennas = nodePackages.antennas;
 
@@ -1747,6 +1756,8 @@ with pkgs;
 
   doona = callPackage ../tools/security/doona { };
 
+  dotter = callPackage ../tools/misc/dotter { };
+
   droidcam = callPackage ../applications/video/droidcam { };
 
   ecdsautils = callPackage ../tools/security/ecdsautils { };
@@ -1759,10 +1770,6 @@ with pkgs;
 
   emplace = callPackage ../tools/package-management/emplace { };
 
-  encryptr = callPackage ../tools/security/encryptr {
-    gconf = gnome2.GConf;
-  };
-
   enchive = callPackage ../tools/security/enchive { };
 
   enjarify = callPackage ../tools/misc/enjarify { };
@@ -1799,6 +1806,8 @@ with pkgs;
 
   fspy = callPackage ../applications/misc/fspy { };
 
+  fluffychat = callPackage  ../applications/networking/instant-messengers/fluffychat { };
+
   fxlinuxprintutil = callPackage ../tools/misc/fxlinuxprintutil { };
 
   genann = callPackage ../development/libraries/genann { };
@@ -1809,9 +1818,7 @@ with pkgs;
 
   genymotion = callPackage ../development/mobile/genymotion { };
 
-  galene = callPackage ../servers/web-apps/galene {
-    buildGoModule = buildGo117Module;
-  };
+  galene = callPackage ../servers/web-apps/galene { };
 
   gamecube-tools = callPackage ../development/tools/gamecube-tools { };
 
@@ -1887,6 +1894,10 @@ with pkgs;
     openjdk = openjdk11;
   };
 
+  gremlin-server = callPackage ../applications/misc/gremlin-server {
+    openjdk = openjdk11;
+  };
+
   grex = callPackage ../tools/misc/grex {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
@@ -1933,8 +1944,14 @@ with pkgs;
 
   ipgrep = callPackage ../tools/networking/ipgrep { };
 
+  itch = callPackage ../games/itch {};
+
+  itch-setup = callPackage ../games/itch-setup {};
+
   lastpass-cli = callPackage ../tools/security/lastpass-cli { };
 
+  leetcode-cli = callPackage ../applications/misc/leetcode-cli { };
+
   lesspass-cli = callPackage ../tools/security/lesspass-cli { };
 
   lsix = callPackage ../tools/graphics/lsix { };
@@ -1953,9 +1970,7 @@ with pkgs;
 
   pass = callPackage ../tools/security/pass { };
 
-  passphrase2pgp = callPackage ../tools/security/passphrase2pgp {
-    buildGoModule = buildGo117Module;
-  };
+  passphrase2pgp = callPackage ../tools/security/passphrase2pgp { };
 
   pass-git-helper = python3Packages.callPackage ../applications/version-management/git-and-tools/pass-git-helper { };
 
@@ -2213,9 +2228,7 @@ with pkgs;
     packetbeat6
     journalbeat6;
 
-  inherit (callPackages ../misc/logging/beats/7.x.nix {
-    buildGoModule = buildGo117Module;
-  })
+  inherit (callPackages ../misc/logging/beats/7.x.nix { })
     filebeat7
     heartbeat7
     metricbeat7
@@ -2249,9 +2262,7 @@ with pkgs;
 
   blitz = callPackage ../development/libraries/blitz { };
 
-  blockbook = callPackage ../servers/blockbook {
-    buildGoModule = buildGo117Module;
-  };
+  blockbook = callPackage ../servers/blockbook { };
 
   blockhash = callPackage ../tools/graphics/blockhash { };
 
@@ -2282,7 +2293,7 @@ with pkgs;
   libtensorflow-bin = callPackage ../development/libraries/science/math/tensorflow/bin.nix {
     cudaSupport = config.cudaSupport or false;
     cudatoolkit = cudatoolkit_10_0;
-    cudnn = cudnn_cudatoolkit_10_0;
+    cudnn = cudnn_7_4_cudatoolkit_10_0;
   };
 
   libtensorflow =
@@ -2326,7 +2337,7 @@ with pkgs;
 
   boca = callPackage ../development/libraries/boca { };
 
-  bochs = callPackage ../applications/virtualization/bochs {
+  bochs = callPackage ../applications/emulators/bochs {
     wxGTK = wxGTK30;
   };
 
@@ -2382,9 +2393,9 @@ with pkgs;
   breakpointHook = assert stdenv.isLinux;
     makeSetupHook { } ../build-support/setup-hooks/breakpoint-hook.sh;
 
-  py65 = python3Packages.callPackage ../misc/emulators/py65 { };
+  py65 = python3Packages.callPackage ../applications/emulators/py65 { };
 
-  simh = callPackage ../misc/emulators/simh { };
+  simh = callPackage ../applications/emulators/simh { };
 
   btrfs-progs = callPackage ../tools/filesystems/btrfs-progs { };
 
@@ -2394,9 +2405,7 @@ with pkgs;
 
   btrbk = callPackage ../tools/backup/btrbk { };
 
-  buildpack = callPackage ../development/tools/buildpack {
-    buildGoModule = buildGo117Module;
-  };
+  buildpack = callPackage ../development/tools/buildpack { };
 
   bottom-rs = callPackage ../tools/misc/bottom-rs { };
 
@@ -2511,27 +2520,25 @@ with pkgs;
 
   cde = callPackage ../tools/package-management/cde { };
 
-  cdemu-daemon = callPackage ../misc/emulators/cdemu/daemon.nix { };
+  cdemu-daemon = callPackage ../applications/emulators/cdemu/daemon.nix { };
 
-  cdemu-client = callPackage ../misc/emulators/cdemu/client.nix { };
+  cdemu-client = callPackage ../applications/emulators/cdemu/client.nix { };
 
   ceres-solver = callPackage ../development/libraries/ceres-solver {
     gflags = null; # only required for examples/tests
   };
 
-  craftos-pc = callPackage ../misc/emulators/craftos-pc { };
+  craftos-pc = callPackage ../applications/emulators/craftos-pc { };
 
-  gcdemu = callPackage ../misc/emulators/cdemu/gui.nix { };
+  gcdemu = callPackage ../applications/emulators/cdemu/gui.nix { };
 
-  image-analyzer = callPackage ../misc/emulators/cdemu/analyzer.nix { };
+  image-analyzer = callPackage ../applications/emulators/cdemu/analyzer.nix { };
 
   cbor-diag = callPackage ../development/tools/cbor-diag { };
 
   cassowary = callPackage ../tools/networking/cassowary { };
 
-  croc = callPackage ../tools/networking/croc {
-    buildGoModule = buildGo117Module;
-  };
+  croc = callPackage ../tools/networking/croc { };
 
   cbftp = callPackage ../tools/networking/cbftp { };
 
@@ -2595,9 +2602,7 @@ with pkgs;
 
   clprover = callPackage ../applications/science/logic/clprover/clprover.nix { };
 
-  clusterctl = callPackage ../applications/networking/cluster/clusterctl {
-    buildGoModule = buildGo117Module;
-  };
+  clusterctl = callPackage ../applications/networking/cluster/clusterctl { };
 
   coloredlogs = with python3Packages; toPythonApplication coloredlogs;
 
@@ -2665,6 +2670,8 @@ with pkgs;
 
   swayr = callPackage ../tools/wayland/swayr { };
 
+  swaytools = callPackage ../tools/wayland/swaytools { };
+
   wayland-utils = callPackage ../tools/wayland/wayland-utils { };
 
   wayland-proxy-virtwl = callPackage ../tools/wayland/wayland-proxy-virtwl { };
@@ -2778,9 +2785,7 @@ with pkgs;
 
   dapr-cli = callPackage ../development/tools/dapr/cli {};
 
-  dasel = callPackage ../applications/misc/dasel {
-    buildGoModule = buildGo117Module;
-  };
+  dasel = callPackage ../applications/misc/dasel { };
 
   dasher = callPackage ../applications/accessibility/dasher { };
 
@@ -2808,9 +2813,7 @@ with pkgs;
 
   ddate = callPackage ../tools/misc/ddate { };
 
-  ddosify = callPackage ../development/tools/ddosify {
-    buildGoModule = buildGo117Module;
-  };
+  ddosify = callPackage ../development/tools/ddosify { };
 
   dduper = callPackage ../tools/filesystems/dduper { };
 
@@ -2818,10 +2821,6 @@ with pkgs;
 
   dehydrated = callPackage ../tools/admin/dehydrated { };
 
-  deis = callPackage ../development/tools/deis {};
-
-  deisctl = callPackage ../development/tools/deisctl {};
-
   deja-dup = callPackage ../applications/backup/deja-dup { };
 
   dejsonlz4 = callPackage ../tools/compression/dejsonlz4 { };
@@ -2899,13 +2898,16 @@ with pkgs;
 
   ditaa = callPackage ../tools/graphics/ditaa { };
 
-  dino = callPackage ../applications/networking/instant-messengers/dino { };
+  dino = callPackage ../applications/networking/instant-messengers/dino {
+    inherit (gst_all_1) gstreamer gst-plugins-base;
+    gst-plugins-good = gst_all_1.gst-plugins-good.override { gtkSupport = true; };
+  };
 
   djv = callPackage ../applications/graphics/djv { };
 
-  dlx = callPackage ../misc/emulators/dlx { };
+  dlx = callPackage ../applications/emulators/dlx { };
 
-  dgen-sdl = callPackage ../misc/emulators/dgen-sdl { };
+  dgen-sdl = callPackage ../applications/emulators/dgen-sdl { };
 
   dnschef = python3Packages.callPackage ../tools/networking/dnschef { };
 
@@ -2944,7 +2946,7 @@ with pkgs;
   duf = callPackage ../tools/misc/duf { };
 
   inherit (ocaml-ng.ocamlPackages_4_10) dune_1;
-  inherit (ocamlPackages) dune_2 dune-release;
+  inherit (ocamlPackages) dune_2 dune_3 dune-release;
 
   duperemove = callPackage ../tools/filesystems/duperemove { };
 
@@ -2981,9 +2983,7 @@ with pkgs;
 
   ekam = callPackage ../development/tools/build-managers/ekam { };
 
-  eksctl = callPackage ../tools/admin/eksctl {
-    buildGoModule = buildGo117Module;
-  };
+  eksctl = callPackage ../tools/admin/eksctl { };
 
   electronplayer = callPackage ../applications/video/electronplayer/electronplayer.nix { };
 
@@ -3042,9 +3042,7 @@ with pkgs;
 
   eternal-terminal = callPackage ../tools/networking/eternal-terminal {};
 
-  extrude = callPackage ../tools/security/extrude {
-    buildGoModule = buildGo117Module;
-  };
+  extrude = callPackage ../tools/security/extrude { };
 
   f3 = callPackage ../tools/filesystems/f3 { };
 
@@ -3094,9 +3092,7 @@ with pkgs;
 
   firestarter = callPackage ../applications/misc/firestarter { };
 
-  fits-cloudctl = callPackage ../tools/admin/fits-cloudctl {
-    buildGoModule = buildGo117Module;
-  };
+  fits-cloudctl = callPackage ../tools/admin/fits-cloudctl { };
 
   flitter = callPackage ../tools/misc/flitter { };
 
@@ -3237,6 +3233,8 @@ with pkgs;
 
   goa = callPackage ../development/tools/goa { };
 
+  goawk = callPackage ../tools/text/goawk { };
+
   gohai = callPackage ../tools/system/gohai { };
 
   gorilla-bin = callPackage ../tools/security/gorilla-bin { };
@@ -3249,13 +3247,13 @@ with pkgs;
 
   gosu = callPackage ../tools/misc/gosu { };
 
-  gotify-cli = callPackage ../tools/misc/gotify-cli {
-    buildGoModule = buildGo117Module;
-  };
+  gotify-cli = callPackage ../tools/misc/gotify-cli { };
 
   gotify-desktop = callPackage ../tools/misc/gotify-desktop { };
 
-  gping = callPackage ../tools/networking/gping { };
+  gping = callPackage ../tools/networking/gping {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
 
   gpu-burn = callPackage ../applications/misc/gpu-burn { };
 
@@ -3533,6 +3531,8 @@ with pkgs;
 
   mpdris2 = callPackage ../tools/audio/mpdris2 { };
 
+  mpd-discord-rpc = callPackage ../tools/audio/mpd-discord-rpc { };
+
   mpd-mpris = callPackage ../tools/audio/mpd-mpris { };
 
   mpris-scrobbler = callPackage ../tools/audio/mpris-scrobbler { };
@@ -3597,6 +3597,8 @@ with pkgs;
 
   oneshot = callPackage ../tools/networking/oneshot { };
 
+  orjail = callPackage ../tools/security/orjail { };
+
   online-judge-tools = with python3.pkgs; toPythonApplication online-judge-tools;
 
   xkbd = callPackage ../applications/misc/xkbd { };
@@ -3613,6 +3615,8 @@ with pkgs;
 
   odafileconverter = libsForQt5.callPackage ../applications/graphics/odafileconverter {};
 
+  oil-buku = callPackage ../applications/misc/oil { };
+
   ossutil = callPackage ../tools/admin/ossutil {};
 
   pastel = callPackage ../applications/misc/pastel {
@@ -3702,7 +3706,7 @@ with pkgs;
 
   ropgadget = with python3Packages; toPythonApplication ropgadget;
 
-  ryujinx = callPackage ../misc/emulators/ryujinx { };
+  ryujinx = callPackage ../applications/emulators/ryujinx { };
 
   scour = with python3Packages; toPythonApplication scour;
 
@@ -3724,7 +3728,7 @@ with pkgs;
 
   simg2img = callPackage ../tools/filesystems/simg2img { };
 
-  simplenes = callPackage ../misc/emulators/simplenes { };
+  simplenes = callPackage ../applications/emulators/simplenes { };
 
   snippetpixie = callPackage ../tools/text/snippetpixie { };
 
@@ -3742,15 +3746,11 @@ with pkgs;
 
   stagit = callPackage ../development/tools/stagit { };
 
-  starboard = callPackage ../applications/networking/cluster/starboard {
-    buildGoModule = buildGo117Module;
-  };
+  starboard = callPackage ../applications/networking/cluster/starboard { };
 
   statserial = callPackage ../tools/misc/statserial { };
 
-  steampipe = callPackage ../tools/misc/steampipe {
-    buildGoModule = buildGo117Module;
-  };
+  steampipe = callPackage ../tools/misc/steampipe { };
 
   step-ca = callPackage ../tools/security/step-ca {
     inherit (darwin.apple_sdk.frameworks) PCSC;
@@ -3760,9 +3760,7 @@ with pkgs;
 
   string-machine = callPackage ../applications/audio/string-machine { };
 
-  stripe-cli = callPackage ../tools/admin/stripe-cli {
-    buildGoModule = buildGo117Module;
-  };
+  stripe-cli = callPackage ../tools/admin/stripe-cli { };
 
   bash-supergenpass = callPackage ../tools/security/bash-supergenpass { };
 
@@ -3780,6 +3778,8 @@ with pkgs;
 
   syscall_limiter = callPackage ../os-specific/linux/syscall_limiter {};
 
+  skeema = callPackage ../tools/system/skeema {};
+
   syslogng = callPackage ../tools/system/syslog-ng { };
 
   syslogng_incubator = callPackage ../tools/system/syslog-ng-incubator { };
@@ -3896,20 +3896,20 @@ with pkgs;
     enableStandardFeatures = false;
   };
 
-  asciidoc-full = appendToName "full" (asciidoc.override {
+  asciidoc-full = asciidoc.override {
     inherit (python3.pkgs) pygments;
     texlive = texlive.combine { inherit (texlive) scheme-minimal dvipng; };
     w3m = w3m-batch;
     enableStandardFeatures = true;
-  });
+  };
 
-  asciidoc-full-with-plugins = appendToName "full-with-plugins" (asciidoc.override {
+  asciidoc-full-with-plugins = asciidoc.override {
     inherit (python3.pkgs) pygments;
     texlive = texlive.combine { inherit (texlive) scheme-minimal dvipng; };
     w3m = w3m-batch;
     enableStandardFeatures = true;
     enableExtraPlugins = true;
-  });
+  };
 
   asciidoctor = callPackage ../tools/typesetting/asciidoctor { };
 
@@ -3943,14 +3943,7 @@ with pkgs;
 
   bdsync = callPackage ../tools/backup/bdsync { };
 
-  beamerpresenter = libsForQt5.callPackage ../applications/office/beamerpresenter {
-    # developed for a compiler with C++20 support
-    stdenv =
-      if stdenv.isDarwin then
-        overrideCC stdenv clang_10
-      else
-        stdenv;
-  };
+  beamerpresenter = libsForQt5.callPackage ../applications/office/beamerpresenter { };
 
   beanstalkd = callPackage ../servers/beanstalkd { };
 
@@ -4183,9 +4176,7 @@ with pkgs;
 
   ciopfs = callPackage ../tools/filesystems/ciopfs { };
 
-  circleci-cli = callPackage ../development/tools/misc/circleci-cli {
-    buildGoModule = buildGo117Module;
-  };
+  circleci-cli = callPackage ../development/tools/misc/circleci-cli { };
 
   circus = callPackage ../tools/networking/circus { };
 
@@ -4205,7 +4196,7 @@ with pkgs;
     citrix_workspace_21_12_0
   ;
 
-  citra = libsForQt5.callPackage ../misc/emulators/citra { };
+  citra = libsForQt5.callPackage ../applications/emulators/citra { };
 
   cmigemo = callPackage ../tools/text/cmigemo { };
 
@@ -4275,10 +4266,16 @@ with pkgs;
 
   unifdef = callPackage ../development/tools/misc/unifdef { };
 
+  uniffi-bindgen = callPackage ../development/tools/uniffi-bindgen { };
+
   unify = with python3Packages; toPythonApplication unify;
 
   unionfs-fuse = callPackage ../tools/filesystems/unionfs-fuse { };
 
+  unparam = callPackage ../tools/misc/unparam { };
+
+  inherit (nodePackages) uppy-companion;
+
   usb-modeswitch = callPackage ../development/tools/misc/usb-modeswitch { };
   usb-modeswitch-data = callPackage ../development/tools/misc/usb-modeswitch/data.nix { };
 
@@ -4336,9 +4333,7 @@ with pkgs;
   ibus-engines = recurseIntoAttrs {
     anthy = callPackage ../tools/inputmethods/ibus-engines/ibus-anthy { };
 
-    bamboo = callPackage ../tools/inputmethods/ibus-engines/ibus-bamboo {
-      go = go_1_17;
-    };
+    bamboo = callPackage ../tools/inputmethods/ibus-engines/ibus-bamboo { };
 
     hangul = callPackage ../tools/inputmethods/ibus-engines/ibus-hangul { };
 
@@ -4386,18 +4381,16 @@ with pkgs;
     dual-function-keys = callPackage ../tools/inputmethods/interception-tools/dual-function-keys.nix { };
   };
 
-  age = callPackage ../tools/security/age {
-    buildGoModule = buildGo117Module;
-  };
+  age = callPackage ../tools/security/age { };
 
-  agebox = callPackage ../tools/security/agebox {
-    buildGoModule = buildGo117Module;
-  };
+  agebox = callPackage ../tools/security/agebox { };
 
   age-plugin-yubikey = callPackage ../tools/security/age-plugin-yubikey {
     inherit (pkgs.darwin.apple_sdk.frameworks) PCSC;
   };
 
+  artim-dark = callPackage ../data/themes/artim-dark {};
+
   bore = callPackage ../tools/networking/bore {
     inherit (darwin) Libsystem;
     inherit (darwin.apple_sdk.frameworks) SystemConfiguration;
@@ -4432,9 +4425,9 @@ with pkgs;
 
   checkbashisms = callPackage ../development/tools/misc/checkbashisms { };
 
-  checkmate = callPackage ../development/tools/checkmate {
-    buildGoModule = buildGo117Module;
-  };
+  checkmate = callPackage ../development/tools/checkmate { };
+
+  circup = callPackage ../development/tools/circup { };
 
   civetweb = callPackage ../development/libraries/civetweb { };
 
@@ -4544,18 +4537,22 @@ with pkgs;
 
   cudnnPackages = callPackages ../development/libraries/science/math/cudnn { };
   inherit (cudnnPackages)
-    cudnn_cudatoolkit_10
-    cudnn_cudatoolkit_10_0
-    cudnn_cudatoolkit_10_1
-    cudnn_cudatoolkit_10_2
-    cudnn_cudatoolkit_11
-    cudnn_cudatoolkit_11_0
-    cudnn_cudatoolkit_11_1
-    cudnn_cudatoolkit_11_2
-    cudnn_cudatoolkit_11_3
-    cudnn_cudatoolkit_11_4;
-
-  cudnn = cudnn_cudatoolkit_10;
+    cudnn_7_4_cudatoolkit_10_0
+    cudnn_7_6_cudatoolkit_10_2
+    cudnn_7_6_cudatoolkit_10
+    cudnn_8_1_cudatoolkit_11_0
+    cudnn_8_1_cudatoolkit_11_1
+    cudnn_8_1_cudatoolkit_11_2
+    cudnn_8_1_cudatoolkit_11
+    cudnn_8_3_cudatoolkit_11_0
+    cudnn_8_3_cudatoolkit_11_1
+    cudnn_8_3_cudatoolkit_11_2
+    cudnn_8_3_cudatoolkit_11_3
+    cudnn_8_3_cudatoolkit_11_4
+    cudnn_8_3_cudatoolkit_11_5
+    cudnn_8_3_cudatoolkit_11;
+
+  cudnn = cudnn_7_6_cudatoolkit_10;
 
   cutensorPackages = callPackages ../development/libraries/science/math/cutensor { };
   inherit (cutensorPackages)
@@ -4833,11 +4830,11 @@ with pkgs;
 
   dotnetfx40 = callPackage ../development/libraries/dotnetfx40 { };
 
-  dolphin-emu = callPackage ../misc/emulators/dolphin-emu { };
-  dolphin-emu-beta = qt5.callPackage ../misc/emulators/dolphin-emu/master.nix {
+  dolphin-emu = callPackage ../applications/emulators/dolphin-emu { };
+  dolphin-emu-beta = qt5.callPackage ../applications/emulators/dolphin-emu/master.nix {
     inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
   };
-  dolphin-emu-primehack = qt5.callPackage ../misc/emulators/dolphin-emu/primehack.nix {
+  dolphin-emu-primehack = qt5.callPackage ../applications/emulators/dolphin-emu/primehack.nix {
     inherit (darwin.apple_sdk.frameworks) CoreBluetooth ForceFeedback IOKit OpenGL;
   };
 
@@ -5016,7 +5013,7 @@ with pkgs;
 
   schildichat-desktop = callPackage ../applications/networking/instant-messengers/schildichat/schildichat-desktop.nix {
     inherit (darwin.apple_sdk.frameworks) Security AppKit CoreServices;
-    electron = electron_13;
+    electron = electron_15;
   };
   schildichat-desktop-wayland = writeScriptBin "schildichat-desktop" ''
     #!/bin/sh
@@ -5083,6 +5080,8 @@ with pkgs;
 
   wallutils = callPackage ../tools/graphics/wallutils { };
 
+  worker-build = callPackage ../development/tools/worker-build { };
+
   wrangler = callPackage ../development/tools/wrangler {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation CoreServices Security;
   };
@@ -5213,12 +5212,12 @@ with pkgs;
 
   epstool = callPackage ../tools/graphics/epstool { };
 
-  epsxe = callPackage ../misc/emulators/epsxe { };
+  epsxe = callPackage ../applications/emulators/epsxe { };
 
   escrotum = callPackage ../tools/graphics/escrotum { };
 
   etcher = callPackage ../tools/misc/etcher {
-    electron = electron_14;
+    electron = electron_12;
   };
 
   ethercalc = callPackage ../servers/web-apps/ethercalc { };
@@ -5433,7 +5432,7 @@ with pkgs;
 
   fio = callPackage ../tools/system/fio { };
 
-  firebird-emu = libsForQt5.callPackage ../misc/emulators/firebird-emu { };
+  firebird-emu = libsForQt5.callPackage ../applications/emulators/firebird-emu { };
 
   flamerobin = callPackage ../applications/misc/flamerobin { };
 
@@ -5661,13 +5660,13 @@ with pkgs;
 
   gaphor = python3Packages.callPackage ../tools/misc/gaphor { };
 
+  garage = callPackage ../tools/filesystems/garage { };
+
   garmin-plugin = callPackage ../applications/misc/garmin-plugin {};
 
   garmintools = callPackage ../development/libraries/garmintools {};
 
-  gau = callPackage ../tools/security/gau {
-    buildGoModule = buildGo117Module;
-  };
+  gau = callPackage ../tools/security/gau { };
 
   gauge = callPackage ../development/tools/gauge { };
 
@@ -5982,9 +5981,7 @@ with pkgs;
 
   gl2ps = callPackage ../development/libraries/gl2ps { };
 
-  glab = callPackage ../applications/version-management/git-and-tools/glab {
-    buildGoModule = buildGo117Module;
-  };
+  glab = callPackage ../applications/version-management/git-and-tools/glab { };
 
   glitter = callPackage ../applications/version-management/git-and-tools/glitter { };
 
@@ -6000,10 +5997,6 @@ with pkgs;
     inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad gst-plugins-ugly gst-libav;
   };
 
-  gnash = callPackage ../misc/gnash {
-    autoreconfHook = buildPackages.autoreconfHook269;
-  };
-
   gnirehtet = callPackage ../tools/networking/gnirehtet { };
 
   gnome-2048 = callPackage ../desktops/gnome/games/gnome-2048 { };
@@ -6125,7 +6118,7 @@ with pkgs;
 
   google-fonts = callPackage ../data/fonts/google-fonts { };
 
-  google-clasp = callPackage ../development/misc/google-clasp { };
+  google-clasp = nodePackages."@google/clasp";
 
   google-compute-engine = with python38.pkgs; toPythonApplication google-compute-engine;
 
@@ -6143,9 +6136,7 @@ with pkgs;
 
   gopro = callPackage ../tools/video/gopro { };
 
-  goreleaser = callPackage ../tools/misc/goreleaser {
-    buildGoModule = buildGo117Module;
-  };
+  goreleaser = callPackage ../tools/misc/goreleaser { };
 
   goreplay = callPackage ../tools/networking/goreplay { };
 
@@ -6416,9 +6407,7 @@ with pkgs;
 
   haskell-language-server = callPackage ../development/tools/haskell/haskell-language-server/withWrapper.nix { };
 
-  hasmail = callPackage ../applications/networking/mailreaders/hasmail {
-    buildGoModule = buildGo117Module;
-  };
+  hasmail = callPackage ../applications/networking/mailreaders/hasmail { };
 
   haste-client = callPackage ../tools/misc/haste-client { };
 
@@ -6455,24 +6444,13 @@ with pkgs;
 
   hdf5_1_10 = callPackage ../tools/misc/hdf5/1.10.nix { };
 
-  hdf5-mpi = appendToName "mpi" (hdf5.override {
-    mpiSupport = true;
-  });
+  hdf5-mpi = hdf5.override { mpiSupport = true; };
 
-  hdf5-cpp = appendToName "cpp" (hdf5.override {
-    cppSupport = true;
-  });
+  hdf5-cpp = hdf5.override { cppSupport = true; };
 
-  hdf5-fortran = appendToName "fortran" (hdf5.override {
-    fortranSupport = true;
-  });
+  hdf5-fortran = hdf5.override { fortranSupport = true; };
 
-  hdf5-threadsafe = appendToName "threadsafe" (hdf5.overrideAttrs (oldAttrs: {
-      # Threadsafe hdf5
-      # However, hdf5 hl (High Level) library is not considered stable
-      # with thread safety and should be disabled.
-      configureFlags = oldAttrs.configureFlags ++ ["--enable-threadsafe" "--disable-hl" ];
-  }));
+  hdf5-threadsafe = hdf5.override { threadsafe = true; };
 
   hdf5-blosc = callPackage ../development/libraries/hdf5-blosc { };
 
@@ -6488,9 +6466,7 @@ with pkgs;
 
   heimdall-gui = heimdall.override { enableGUI = true; };
 
-  headscale = callPackage ../servers/headscale {
-    buildGoModule = buildGo117Module;
-  };
+  headscale = callPackage ../servers/headscale { };
 
   heisenbridge = callPackage ../servers/heisenbridge { };
 
@@ -6569,9 +6545,7 @@ with pkgs;
 
   httptunnel = callPackage ../tools/networking/httptunnel { };
 
-  httpx = callPackage ../tools/security/httpx {
-    buildGoModule = buildGo117Module;
-  };
+  httpx = callPackage ../tools/security/httpx { };
 
   hurl = callPackage ../tools/networking/hurl { };
 
@@ -6663,10 +6637,6 @@ with pkgs;
 
   ike-scan = callPackage ../tools/security/ike-scan { };
 
-  imapproxy = callPackage ../tools/networking/imapproxy {
-    openssl = openssl_1_0_2;
-  };
-
   imapsync = callPackage ../tools/networking/imapsync { };
 
   imgur-screenshot = callPackage ../tools/graphics/imgur-screenshot { };
@@ -6697,6 +6667,8 @@ with pkgs;
 
   innoextract = callPackage ../tools/archivers/innoextract { };
 
+  input-remapper = python3Packages.callPackage ../tools/inputmethods/input-remapper { };
+
   input-utils = callPackage ../os-specific/linux/input-utils { };
 
   inql = callPackage ../tools/security/inql { };
@@ -6730,12 +6702,12 @@ with pkgs;
 
   ioping = callPackage ../tools/system/ioping { };
 
-  iops = callPackage ../tools/system/iops { };
-
   ior = callPackage ../tools/system/ior { };
 
   iouyap = callPackage ../tools/networking/iouyap { };
 
+  ioztat = callPackage ../tools/filesystems/ioztat { };
+
   ip2location = callPackage ../tools/networking/ip2location { };
 
   ip2unix = callPackage ../tools/networking/ip2unix { };
@@ -6749,12 +6721,15 @@ with pkgs;
   ipfs = callPackage ../applications/networking/ipfs {
     buildGoModule = buildGo116Module;
   };
-  ipfs-migrator = callPackage ../applications/networking/ipfs-migrator {
+  ipfs-cluster = callPackage ../applications/networking/ipfs-cluster {
     buildGoModule = buildGo116Module;
   };
-  ipfs-cluster = callPackage ../applications/networking/ipfs-cluster {
+
+  ipfs-migrator-all-fs-repo-migrations = callPackage ../applications/networking/ipfs-migrator/all-migrations.nix {
     buildGoModule = buildGo116Module;
   };
+  ipfs-migrator-unwrapped = callPackage ../applications/networking/ipfs-migrator/unwrapped.nix { };
+  ipfs-migrator = callPackage ../applications/networking/ipfs-migrator { };
 
   ipget = callPackage ../applications/networking/ipget { };
 
@@ -6821,6 +6796,8 @@ with pkgs;
 
   jadx = callPackage ../tools/security/jadx { };
 
+  jamesdsp = libsForQt5.callPackage ../applications/audio/jamesdsp { };
+
   jazzy = callPackage ../development/tools/jazzy { };
 
   jc = with python3Packages; toPythonApplication jc;
@@ -6837,6 +6814,8 @@ with pkgs;
 
   jet = callPackage ../development/tools/jet { };
 
+  jfmt = callPackage ../development/tools/jfmt { };
+
   jfsutils = callPackage ../tools/filesystems/jfsutils { };
 
   jhead = callPackage ../tools/graphics/jhead { };
@@ -6856,6 +6835,8 @@ with pkgs;
 
   jl = haskellPackages.callPackage ../development/tools/jl { };
 
+  jless = callPackage ../development/tools/jless { };
+
   jmespath = callPackage ../development/tools/jmespath { };
 
   jmtpfs = callPackage ../tools/filesystems/jmtpfs { };
@@ -7104,6 +7085,8 @@ with pkgs;
 
   libcsptr = callPackage ../development/libraries/libcsptr { };
 
+  libgovirt = callPackage ../applications/virtualization/libgovirt { };
+
   libscrypt = callPackage ../development/libraries/libscrypt { };
 
   libcloudproviders = callPackage ../development/libraries/libcloudproviders { };
@@ -7265,6 +7248,10 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
 
+  mdbook-linkcheck = callPackage ../tools/text/mdbook-linkcheck {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   mdbook-mermaid = callPackage ../tools/text/mdbook-mermaid {
     inherit (darwin.apple_sdk.frameworks) CoreServices;
   };
@@ -7326,9 +7313,7 @@ with pkgs;
 
   mxt-app = callPackage ../misc/mxt-app { };
 
-  naabu = callPackage ../tools/security/naabu {
-    buildGoModule = buildGo117Module;
-  };
+  naabu = callPackage ../tools/security/naabu { };
 
   nagstamon = callPackage ../tools/misc/nagstamon {
     pythonPackages = python3Packages;
@@ -7346,9 +7331,7 @@ with pkgs;
 
   ncrack = callPackage ../tools/security/ncrack { };
 
-  nerdctl = callPackage ../applications/networking/cluster/nerdctl {
-    buildGoModule = buildGo117Module;
-  };
+  nerdctl = callPackage ../applications/networking/cluster/nerdctl { };
 
   netdata = callPackage ../tools/system/netdata {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation IOKit;
@@ -7365,9 +7348,7 @@ with pkgs;
 
   nyxt = callPackage ../applications/networking/browsers/nyxt { };
 
-  nfpm = callPackage ../tools/package-management/nfpm {
-    buildGoModule = buildGo117Module;
-  };
+  nfpm = callPackage ../tools/package-management/nfpm { };
 
   nginx-config-formatter = callPackage ../tools/misc/nginx-config-formatter { };
 
@@ -7375,6 +7356,8 @@ with pkgs;
 
   nixnote2 = libsForQt514.callPackage ../applications/misc/nixnote2 { };
 
+  nodenv = callPackage ../development/tools/nodenv { };
+
   nodejs = hiPrio nodejs-16_x;
 
   nodejs-slim = nodejs-slim-16_x;
@@ -7415,7 +7398,7 @@ with pkgs;
     nodejs = nodejs-14_x;
   };
 
-  np2kai = callPackage ../misc/emulators/np2kai { };
+  np2kai = callPackage ../applications/emulators/np2kai { };
 
   openipmi = callPackage ../tools/system/openipmi { };
 
@@ -7645,9 +7628,7 @@ with pkgs;
 
   liquidctl = with python3Packages; toPythonApplication liquidctl;
 
-  lmp = callPackage ../tools/security/lmp {
-    buildGoModule = buildGo117Module;
-  };
+  lmp = callPackage ../tools/security/lmp { };
 
   localtime = callPackage ../tools/system/localtime { };
 
@@ -7713,6 +7694,8 @@ with pkgs;
 
   lzip = callPackage ../tools/compression/lzip { };
 
+  lziprecover = callPackage ../tools/compression/lziprecover { };
+
   luxcorerender = callPackage ../tools/graphics/luxcorerender {
     openimagedenoise = openimagedenoise_1_2_x;
   };
@@ -7846,11 +7829,13 @@ with pkgs;
 
   mdp = callPackage ../applications/misc/mdp { };
 
-  mednafen = callPackage ../misc/emulators/mednafen { };
+  mednafen = callPackage ../applications/emulators/mednafen {
+    inherit (darwin) libiconv;
+  };
 
-  mednafen-server = callPackage ../misc/emulators/mednafen/server.nix { };
+  mednafen-server = callPackage ../applications/emulators/mednafen/server.nix { };
 
-  mednaffe = callPackage ../misc/emulators/mednaffe { };
+  mednaffe = callPackage ../applications/emulators/mednaffe { };
 
   megacli = callPackage ../tools/misc/megacli { };
 
@@ -7866,7 +7851,7 @@ with pkgs;
 
   mfoc = callPackage ../tools/security/mfoc { };
 
-  mgba = libsForQt5.callPackage ../misc/emulators/mgba { };
+  mgba = libsForQt5.callPackage ../applications/emulators/mgba { };
 
   microdnf = callPackage ../tools/package-management/microdnf { };
 
@@ -7882,9 +7867,7 @@ with pkgs;
 
   mimetic = callPackage ../development/libraries/mimetic { };
 
-  minio-client = callPackage ../tools/networking/minio-client {
-    buildGoModule = buildGo117Module;
-  };
+  minio-client = callPackage ../tools/networking/minio-client { };
 
   minio-certgen = callPackage ../tools/security/minio-certgen { };
 
@@ -7947,6 +7930,8 @@ with pkgs;
 
   modsecurity_standalone = callPackage ../tools/security/modsecurity { };
 
+  modsecurity-crs = callPackage ../tools/security/modsecurity-crs { };
+
   molly-guard = callPackage ../os-specific/linux/molly-guard { };
 
   molotov = callPackage ../applications/video/molotov {};
@@ -8086,10 +8071,12 @@ with pkgs;
 
   nerdfonts = callPackage ../data/fonts/nerdfonts { };
 
-  nestopia = callPackage ../misc/emulators/nestopia { };
+  nestopia = callPackage ../applications/emulators/nestopia { };
 
   netatalk = callPackage ../tools/filesystems/netatalk { };
 
+  netavark = callPackage ../tools/networking/netavark { };
+
   netcdf = callPackage ../development/libraries/netcdf {
     hdf5 = hdf5.override { usev110Api = true; };
   };
@@ -8224,13 +8211,12 @@ with pkgs;
     nvidiaGpuSupport = config.cudaSupport or false;
   };
 
-  nomad-autoscaler = callPackage ../applications/networking/cluster/nomad-autoscaler {
-    go = go_1_17;
-    buildGoModule = buildGo117Module;
-  };
+  nomad-autoscaler = callPackage ../applications/networking/cluster/nomad-autoscaler { };
 
   nomad-driver-podman = callPackage ../applications/networking/cluster/nomad-driver-podman { };
 
+  nomad-pack = callPackage ../applications/networking/cluster/nomad-pack { };
+
   nomino = callPackage ../tools/misc/nomino { };
 
   notable = callPackage ../applications/misc/notable { };
@@ -8610,12 +8596,8 @@ with pkgs;
 
   opae = callPackage ../development/libraries/opae { };
 
-  opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector {
-      buildGoModule = buildGo117Module;
-  };
-  opentelemetry-collector-contrib = callPackage ../tools/misc/opentelemetry-collector/contrib.nix {
-      buildGoModule = buildGo117Module;
-  };
+  opentelemetry-collector = callPackage ../tools/misc/opentelemetry-collector { };
+  opentelemetry-collector-contrib = callPackage ../tools/misc/opentelemetry-collector/contrib.nix { };
 
   opentracing-cpp = callPackage ../development/libraries/opentracing-cpp { };
 
@@ -8796,9 +8778,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) IOKit;
   };
 
-  otpauth = callPackage ../tools/security/otpauth {
-    buildGoModule = buildGo117Module;
-  };
+  otpauth = callPackage ../tools/security/otpauth { };
 
   pcsclite = callPackage ../tools/security/pcsclite {
     inherit (darwin.apple_sdk.frameworks) IOKit;
@@ -8845,6 +8825,8 @@ with pkgs;
 
   pcapc = callPackage ../tools/networking/pcapc { };
 
+  pdm = callPackage ../tools/package-management/pdm { };
+
   pdnsd = callPackage ../tools/networking/pdnsd { };
 
   peco = callPackage ../tools/text/peco { };
@@ -8880,9 +8862,7 @@ with pkgs;
 
   phodav = callPackage ../tools/networking/phodav { };
 
-  photon-rss = callPackage ../applications/networking/feedreaders/photon {
-    buildGoModule = buildGo117Module;
-  };
+  photon-rss = callPackage ../applications/networking/feedreaders/photon { };
 
   pim6sd = callPackage ../servers/pim6sd { };
 
@@ -8901,6 +8881,8 @@ with pkgs;
     xcbuildHook = if stdenv.targetPlatform.isAarch64 then xcbuildHook else xcbuild6Hook;
   };
 
+  pinentry-bemenu = callPackage ../tools/security/pinentry-bemenu { };
+
   pingtcp = callPackage ../tools/networking/pingtcp { };
 
   pinnwand = callPackage ../servers/pinnwand { };
@@ -8998,6 +8980,8 @@ with pkgs;
 
   podman-compose = python3Packages.callPackage ../applications/virtualization/podman-compose {};
 
+  podman-tui = callPackage ../applications/virtualization/podman-tui { };
+
   pod2mdoc = callPackage ../tools/misc/pod2mdoc { };
 
   poedit = callPackage ../tools/text/poedit {
@@ -9173,6 +9157,8 @@ with pkgs;
 
   rocket = libsForQt5.callPackage ../tools/graphics/rocket { };
 
+  rtabmap = libsForQt5.callPackage ../applications/video/rtabmap/default.nix { };
+
   rtaudio = callPackage ../development/libraries/audio/rtaudio {
     jack = libjack2;
     inherit (darwin.apple_sdk.frameworks) CoreAudio;
@@ -9299,9 +9285,7 @@ with pkgs;
 
   ratools = callPackage ../tools/networking/ratools { };
 
-  ratt = callPackage ../applications/misc/ratt {
-    buildGoModule = buildGo117Module;
-  };
+  ratt = callPackage ../applications/misc/ratt { };
 
   rc = callPackage ../shells/rc { };
 
@@ -9331,7 +9315,7 @@ with pkgs;
 
   repseek = callPackage ../applications/science/biology/repseek { };
 
-  reicast = callPackage ../misc/emulators/reicast { };
+  reicast = callPackage ../applications/emulators/reicast { };
 
   reredirect = callPackage ../tools/misc/reredirect { };
 
@@ -9446,6 +9430,10 @@ with pkgs;
 
   rnnoise-plugin = callPackage ../development/libraries/rnnoise-plugin {};
 
+  rnote = callPackage ../applications/graphics/rnote {
+    inherit (gst_all_1) gstreamer;
+  };
+
   rnp = callPackage ../tools/security/rnp { };
 
   rnv = callPackage ../tools/text/xml/rnv { };
@@ -9517,7 +9505,7 @@ with pkgs;
 
   rubocop = rubyPackages.rubocop;
 
-  ruffle = callPackage ../misc/emulators/ruffle { };
+  ruffle = callPackage ../applications/emulators/ruffle { };
 
   runningx = callPackage ../tools/X11/runningx { };
 
@@ -9623,17 +9611,13 @@ with pkgs;
 
   sasview = libsForQt5.callPackage ../applications/science/misc/sasview {};
 
-  scallion = callPackage ../tools/security/scallion { };
-
   scanbd = callPackage ../tools/graphics/scanbd { };
 
   scdoc = callPackage ../tools/typesetting/scdoc { };
 
   scmpuff = callPackage ../applications/version-management/git-and-tools/scmpuff { };
 
-  scorecard = callPackage ../tools/security/scorecard {
-    buildGoModule = buildGo117Module;
-  };
+  scorecard = callPackage ../tools/security/scorecard { };
 
   scream = callPackage ../applications/audio/scream { };
 
@@ -9653,6 +9637,8 @@ with pkgs;
 
   screenkey = callPackage ../applications/video/screenkey { };
 
+  scrub = callPackage ../tools/misc/scrub { };
+
   scfbuild = python3.pkgs.callPackage ../tools/misc/scfbuild { };
 
   scriptaculous = callPackage ../development/libraries/scriptaculous { };
@@ -9681,9 +9667,7 @@ with pkgs;
 
   skim = callPackage ../tools/misc/skim { };
 
-  seaweedfs = callPackage ../applications/networking/seaweedfs {
-    buildGoModule = buildGo117Module;
-  };
+  seaweedfs = callPackage ../applications/networking/seaweedfs { };
 
   sec = callPackage ../tools/admin/sec { };
 
@@ -9755,10 +9739,6 @@ with pkgs;
 
   shout = nodePackages.shout;
 
-  shellinabox = callPackage ../servers/shellinabox {
-    openssl = openssl_1_0_2;
-  };
-
   shrikhand = callPackage ../data/fonts/shrikhand { };
 
   shunit2 = callPackage ../tools/misc/shunit2 { };
@@ -9818,6 +9798,10 @@ with pkgs;
 
   sixpair = callPackage ../tools/misc/sixpair {};
 
+  sketchybar = callPackage ../os-specific/darwin/sketchybar {
+    inherit (darwin.apple_sdk.frameworks) Carbon Cocoa SkyLight;
+  };
+
   skippy-xd = callPackage ../tools/X11/skippy-xd {};
 
   sks = callPackage ../servers/sks { };
@@ -9837,9 +9821,7 @@ with pkgs;
   # Not updated upstream since 2018, doesn't support qt newer than 5.12
   sleepyhead = libsForQt512.callPackage ../applications/misc/sleepyhead {};
 
-  slides = callPackage ../applications/misc/slides {
-    buildGoModule = buildGo117Module;
-  };
+  slides = callPackage ../applications/misc/slides { };
 
   slirp4netns = callPackage ../tools/networking/slirp4netns { };
 
@@ -9906,9 +9888,7 @@ with pkgs;
 
   spicy = callPackage ../development/tools/spicy { };
 
-  spire = callPackage ../tools/security/spire {
-    buildGoModule = buildGo117Module;
-  };
+  spire = callPackage ../tools/security/spire { };
   # to match naming of other package repositories
   spire-agent = spire.agent;
   spire-server = spire.server;
@@ -10139,9 +10119,7 @@ with pkgs;
 
   subsonic = callPackage ../servers/misc/subsonic { };
 
-  subfinder = callPackage ../tools/networking/subfinder {
-    buildGoModule = buildGo117Module;
-  };
+  subfinder = callPackage ../tools/networking/subfinder { };
 
   subzerod = with python3Packages; toPythonApplication subzerod;
 
@@ -10381,7 +10359,7 @@ with pkgs;
 
   tiledb = callPackage ../development/libraries/tiledb { };
 
-  tilem = callPackage ../misc/emulators/tilem { };
+  tilem = callPackage ../applications/emulators/tilem { };
 
   timemachine = callPackage ../applications/audio/timemachine { };
 
@@ -10405,9 +10383,9 @@ with pkgs;
 
   tinycbor = callPackage ../development/libraries/tinycbor { };
 
-  tiny8086 = callPackage ../applications/virtualization/tiny8086 { };
+  tiny8086 = callPackage ../applications/emulators/tiny8086 { };
 
-  tinyemu = callPackage ../applications/virtualization/tinyemu { };
+  tinyemu = callPackage ../applications/emulators/tinyemu { };
 
   tinyfecvpn = callPackage ../tools/networking/tinyfecvpn { };
 
@@ -10568,6 +10546,8 @@ with pkgs;
 
   trytond = with python3Packages; toPythonApplication trytond;
 
+  tuntox = callPackage ../tools/networking/tuntox { };
+
   omapd = callPackage ../tools/security/omapd { };
 
   ttf2pt1 = callPackage ../tools/misc/ttf2pt1 { };
@@ -10633,9 +10613,7 @@ with pkgs;
 
   typos = callPackage ../development/tools/typos { };
 
-  tz = callPackage ../tools/misc/tz {
-    buildGoModule = buildGo117Module;
-  };
+  tz = callPackage ../tools/misc/tz { };
 
   u9fs = callPackage ../servers/u9fs { };
 
@@ -10723,13 +10701,9 @@ with pkgs;
 
   uwufetch = callPackage ../tools/misc/uwufetch { };
 
-  v2ray = callPackage ../tools/networking/v2ray {
-    buildGoModule = buildGo117Module;
-  };
+  v2ray = callPackage ../tools/networking/v2ray { };
 
-  v2ray-domain-list-community = callPackage ../data/misc/v2ray-domain-list-community {
-    pkgsBuildBuild.buildGoModule = pkgsBuildBuild.buildGo117Module;
-  };
+  v2ray-domain-list-community = callPackage ../data/misc/v2ray-domain-list-community { };
 
   v2ray-geoip = callPackage ../data/misc/v2ray-geoip { };
 
@@ -10851,6 +10825,8 @@ with pkgs;
     SDL = SDL_sixel;
   };
 
+  witness = callPackage ../tools/security/witness { };
+
   openconnect = openconnect_gnutls;
 
   openconnect_openssl = callPackage ../tools/networking/openconnect {
@@ -10943,6 +10919,10 @@ with pkgs;
 
   wg-friendly-peer-names = callPackage ../tools/networking/wg-friendly-peer-names { };
 
+  wg-netmanager = callPackage ../tools/networking/wg-netmanager {
+    inherit (darwin.apple_sdk.frameworks) Security;
+  };
+
   woff2 = callPackage ../development/web/woff2 { };
 
   woof = callPackage ../tools/misc/woof { };
@@ -11033,10 +11013,6 @@ with pkgs;
 
   ts = callPackage ../tools/system/ts { };
 
-  transfig = callPackage ../tools/graphics/transfig {
-    libpng = libpng12;
-  };
-
   ttmkfdir = callPackage ../tools/misc/ttmkfdir { };
 
   ttwatch = callPackage ../tools/misc/ttwatch { };
@@ -11442,7 +11418,9 @@ with pkgs;
 
   zdelta = callPackage ../tools/compression/zdelta { };
 
-  zellij = callPackage ../tools/misc/zellij { };
+  zellij = callPackage ../tools/misc/zellij {
+    inherit (darwin.apple_sdk.frameworks) DiskArbitration Foundation;
+  };
 
   zenith = callPackage ../tools/system/zenith {
     inherit (darwin.apple_sdk.frameworks) IOKit;
@@ -11505,9 +11483,7 @@ with pkgs;
 
   zsh-git-prompt = callPackage ../shells/zsh/zsh-git-prompt { };
 
-  zsh-history = callPackage ../shells/zsh/zsh-history {
-    buildGoModule = buildGo117Module;
-  };
+  zsh-history = callPackage ../shells/zsh/zsh-history { };
 
   zsh-history-search-multi-word = callPackage ../shells/zsh/zsh-history-search-multi-word { };
 
@@ -11939,9 +11915,7 @@ with pkgs;
 
   dasm = callPackage ../development/compilers/dasm { };
 
-  dbmate = callPackage ../development/tools/database/dbmate {
-    buildGoModule = buildGo117Module;
-  };
+  dbmate = callPackage ../development/tools/database/dbmate { };
 
   devpi-client = python3Packages.callPackage ../development/tools/devpi-client {};
 
@@ -11960,9 +11934,7 @@ with pkgs;
 
   elm2nix = haskell.lib.compose.justStaticExecutables haskellPackages.elm2nix;
 
-  elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm {
-    inherit (darwin.apple_sdk.frameworks) Security;
-  });
+  elmPackages = recurseIntoAttrs (callPackage ../development/compilers/elm { });
 
   apache-flex-sdk = callPackage ../development/compilers/apache-flex-sdk { };
 
@@ -12616,8 +12588,8 @@ with pkgs;
 
   hugs = callPackage ../development/interpreters/hugs { };
 
-  inherit (javaPackages) openjfx11 openjfx15;
-  openjfx = openjfx15;
+  inherit (javaPackages) openjfx11 openjfx15 openjfx17;
+  openjfx = openjfx17;
 
   openjdk8-bootstrap = javaPackages.compiler.openjdk8-bootstrap;
   openjdk8 = javaPackages.compiler.openjdk8;
@@ -12714,7 +12686,20 @@ with pkgs;
   julia_10 = callPackage ../development/compilers/julia/1.0.nix {
     gmp = gmp6;
     inherit (darwin.apple_sdk.frameworks) ApplicationServices CoreServices;
-    libgit2 = libgit2_0_27;
+    libgit2 = libgit2.overrideAttrs (_: rec {
+      version = "0.27.10";
+      src = fetchFromGitHub {
+        owner = "libgit2";
+        repo = "libgit2";
+        rev = "v${version}";
+        sha256 = "09jz2fzv0zl5058s0g1cpnw87a2rgg8wnjwlygi18i2n9nn6m0ad";
+      };
+      patches = [];
+      meta.knownVulnerabilities = [
+        "CVE-2020-12278"
+        "CVE-2020-12279"
+      ];
+    });
   };
 
   julia_15 = callPackage ../development/compilers/julia/1.5.nix {
@@ -12829,10 +12814,7 @@ with pkgs;
       /**/ if platform.isDarwin then 11
       else if platform.isFreeBSD then 7
       else if platform.isAndroid then 12
-      else if platform.isLinux then
-        /**/ if platform.isRiscV then 11
-        else if platform.isMusl then 11
-        else 7
+      else if platform.isLinux then 11
       else if platform.isWasm then 8
       else latest_version;
     # We take the "max of the mins". Why? Since those are lower bounds of the
@@ -13109,18 +13091,18 @@ with pkgs;
     inherit (darwin) apple_sdk;
   };
 
-  rust_1_57 = callPackage ../development/compilers/rust/1_57.nix {
+  rust_1_58 = callPackage ../development/compilers/rust/1_58.nix {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security SystemConfiguration;
     llvm_13 = llvmPackages_13.libllvm;
   };
-  rust = rust_1_57;
+  rust = rust_1_58;
 
   mrustc = callPackage ../development/compilers/mrustc { };
   mrustc-minicargo = callPackage ../development/compilers/mrustc/minicargo.nix { };
   mrustc-bootstrap = callPackage ../development/compilers/mrustc/bootstrap.nix { };
 
-  rustPackages_1_57 = rust_1_57.packages.stable;
-  rustPackages = rustPackages_1_57;
+  rustPackages_1_58 = rust_1_58.packages.stable;
+  rustPackages = rustPackages_1_58;
 
   inherit (rustPackages) cargo clippy rustc rustPlatform;
 
@@ -13454,7 +13436,6 @@ with pkgs;
 
   inherit (callPackage ../development/compilers/vala { })
     vala_0_48
-    vala_0_52
     vala_0_54
     vala;
 
@@ -13638,6 +13619,10 @@ with pkgs;
 
   duktape = callPackage ../development/interpreters/duktape { };
 
+  duckscript = callPackage ../development/tools/rust/duckscript {
+    inherit (darwin.apple_sdk.frameworks) Security SystemConfiguration;
+  };
+
   evcxr = callPackage ../development/interpreters/evcxr {
     inherit (darwin.apple_sdk.frameworks) CoreServices Security;
   };
@@ -13686,9 +13671,7 @@ with pkgs;
 
   io = callPackage ../development/interpreters/io { };
 
-  ivy = callPackage ../development/interpreters/ivy {
-    buildGoModule = buildGo117Module;
-  };
+  ivy = callPackage ../development/interpreters/ivy { };
 
   j = callPackage ../development/interpreters/j {
     stdenv = clangStdenv;
@@ -13698,6 +13681,8 @@ with pkgs;
 
   janet = callPackage ../development/interpreters/janet {};
 
+  jpm = callPackage ../development/interpreters/janet/jpm.nix {};
+
   jelly = callPackage ../development/interpreters/jelly {};
 
   jimtcl = callPackage ../development/interpreters/jimtcl {};
@@ -13789,6 +13774,8 @@ with pkgs;
 
   mujs = callPackage ../development/interpreters/mujs { };
 
+  nextflow = callPackage ../development/interpreters/nextflow { };
+
   ngn-k = callPackage ../development/interpreters/ngn-k { };
 
   obb = callPackage ../development/interpreters/clojure/obb.nix { };
@@ -14174,7 +14161,7 @@ with pkgs;
   mspdebug = callPackage ../development/misc/msp430/mspdebug.nix { };
 
   vc4-newlib = callPackage ../development/misc/vc4/newlib.nix {};
-  resim = callPackage ../misc/emulators/resim {};
+  resim = callPackage ../applications/emulators/resim {};
 
   or1k-newlib = callPackage ../development/misc/or1k/newlib.nix {};
 
@@ -14211,9 +14198,7 @@ with pkgs;
 
   abuild = callPackage ../development/tools/abuild { };
 
-  actionlint = callPackage ../development/tools/analysis/actionlint {
-    buildGoModule = buildGo117Module;
-  };
+  actionlint = callPackage ../development/tools/analysis/actionlint { };
 
   adtool = callPackage ../tools/admin/adtool { };
 
@@ -14293,8 +14278,6 @@ with pkgs;
 
   inherit (callPackages ../development/tools/electron { })
     electron
-    electron_7
-    electron_8
     electron_9
     electron_10
     electron_11
@@ -14302,7 +14285,8 @@ with pkgs;
     electron_13
     electron_14
     electron_15
-    electron_16;
+    electron_16
+    electron_17;
 
   autobuild = callPackage ../development/tools/misc/autobuild { };
 
@@ -14402,9 +14386,7 @@ with pkgs;
   buildozer = bazel-buildtools;
   unused_deps = bazel-buildtools;
 
-  bazel-remote = callPackage ../development/tools/build-managers/bazel/bazel-remote {
-    buildGoModule = buildGo117Module;
-  };
+  bazel-remote = callPackage ../development/tools/build-managers/bazel/bazel-remote { };
 
   bazel-watcher = callPackage ../development/tools/bazel-watcher { };
 
@@ -14418,13 +14400,7 @@ with pkgs;
 
   buildBazelPackage = callPackage ../build-support/build-bazel-package { };
 
-  bear = callPackage ../development/tools/build-managers/bear {
-    # error: no viable constructor or deduction guide for deduction of template arguments of 'map'
-    stdenv = if stdenv.hostPlatform.system == "x86_64-darwin" then
-        llvmPackages_11.stdenv
-      else
-        stdenv;
-  };
+  bear = callPackage ../development/tools/build-managers/bear { };
 
   bingrep = callPackage ../development/tools/analysis/bingrep { };
 
@@ -14491,6 +14467,8 @@ with pkgs;
 
   bloaty = callPackage ../development/tools/bloaty { };
 
+  bloomrpc = callPackage ../development/web/bloomrpc { };
+
   bloop = callPackage ../development/tools/build-managers/bloop { };
 
   bossa = callPackage ../development/embedded/bossa {
@@ -14521,9 +14499,7 @@ with pkgs;
 
   buildkite-cli = callPackage ../development/tools/continuous-integration/buildkite-cli { };
 
-  bump = callPackage ../development/tools/github/bump {
-    buildGoModule = buildGo117Module;
-  };
+  bump = callPackage ../development/tools/github/bump { };
 
   libbpf = callPackage ../os-specific/linux/libbpf { };
 
@@ -14607,7 +14583,7 @@ with pkgs;
 
   checkstyle = callPackage ../development/tools/analysis/checkstyle { };
 
-  chromedriver = callPackage ../development/tools/selenium/chromedriver { gconf = gnome2.GConf; };
+  chromedriver = callPackage ../development/tools/selenium/chromedriver { };
 
   chromium-xorg-conf = callPackage ../os-specific/linux/chromium-xorg-conf { };
 
@@ -14767,9 +14743,7 @@ with pkgs;
 
   cli11 = callPackage ../development/tools/misc/cli11 { };
 
-  datree = callPackage ../development/tools/datree {
-    buildGoModule = buildGo117Module;
-  };
+  datree = callPackage ../development/tools/datree { };
 
   dcadec = callPackage ../development/tools/dcadec { };
 
@@ -14829,9 +14803,7 @@ with pkgs;
 
   doit = with python3Packages; toPythonApplication doit;
 
-  dolt = callPackage ../servers/sql/dolt {
-    buildGoModule = buildGo117Module;
-  };
+  dolt = callPackage ../servers/sql/dolt { };
 
   dot2tex = with python3.pkgs; toPythonApplication dot2tex;
 
@@ -15052,6 +15024,8 @@ with pkgs;
   gradle_7 = callPackage gradle-packages.gradle_7 { };
   gradle = gradle_7;
 
+  grcov = callPackage ../development/tools/misc/grcov { };
+
   gperf = callPackage ../development/tools/misc/gperf { };
   # 3.1 changed some parameters from int to size_t, leading to mismatches.
   gperf_3_0 = callPackage ../development/tools/misc/gperf/3.0.x.nix { };
@@ -15150,9 +15124,7 @@ with pkgs;
 
   jpexs = callPackage ../development/tools/jpexs { };
 
-  k0sctl = callPackage ../applications/networking/cluster/k0sctl {
-    buildGoModule = buildGo117Module;
-  };
+  k0sctl = callPackage ../applications/networking/cluster/k0sctl { };
 
   k2tf = callPackage ../development/tools/misc/k2tf { };
 
@@ -15202,13 +15174,9 @@ with pkgs;
 
   kubeprompt = callPackage ../development/tools/kubeprompt { };
 
-  kubescape = callPackage ../tools/security/kubescape {
-    buildGoModule = buildGo117Module;
-  };
+  kubescape = callPackage ../tools/security/kubescape { };
 
-  kubesec = callPackage ../tools/security/kubesec {
-    buildGoModule = buildGo117Module;
-  };
+  kubesec = callPackage ../tools/security/kubesec { };
 
   kubespy = callPackage ../applications/networking/cluster/kubespy { };
 
@@ -15350,12 +15318,9 @@ with pkgs;
     jre_headless = jre8_headless;
   };
 
-  nwjs = callPackage ../development/tools/nwjs {
-    gconf = gnome2.GConf;
-  };
+  nwjs = callPackage ../development/tools/nwjs { };
 
   nwjs-sdk = callPackage ../development/tools/nwjs {
-    gconf = gnome2.GConf;
     sdk = true;
   };
 
@@ -15409,8 +15374,6 @@ with pkgs;
 
   pgcli = pkgs.python3Packages.pgcli;
 
-  phantomjs = callPackage ../development/tools/phantomjs { };
-
   phantomjs2 = libsForQt514.callPackage ../development/tools/phantomjs2 { };
 
   picotool = callPackage ../development/tools/picotool { };
@@ -15678,9 +15641,7 @@ with pkgs;
 
   spooles = callPackage ../development/libraries/science/math/spooles {};
 
-  spruce = callPackage ../development/tools/misc/spruce {
-    buildGoModule = buildGo116Module;
-  };
+  spruce = callPackage ../development/tools/misc/spruce {};
 
   sqlcheck = callPackage ../development/tools/database/sqlcheck { };
 
@@ -15714,9 +15675,7 @@ with pkgs;
 
   swiftformat = callPackage ../development/tools/swiftformat { };
 
-  symfony-cli = callPackage ../development/tools/symfony-cli {
-    buildGoModule = buildGo117Module;
-  };
+  symfony-cli = callPackage ../development/tools/symfony-cli { };
 
   swiftshader = callPackage ../development/libraries/swiftshader { };
 
@@ -15731,9 +15690,7 @@ with pkgs;
 
   c2ffi = callPackage ../development/tools/misc/c2ffi { };
 
-  c3c = callPackage ../development/compilers/c3c {
-    llvmPackages = llvmPackages_11;
-  };
+  c3c = callPackage ../development/compilers/c3c { };
 
   swfmill = callPackage ../tools/video/swfmill { };
 
@@ -15761,16 +15718,12 @@ with pkgs;
 
   tytools = libsForQt5.callPackage ../development/embedded/tytools { };
 
-  terracognita = callPackage ../development/tools/misc/terracognita {
-    buildGoModule = buildGo117Module;
-  };
+  terracognita = callPackage ../development/tools/misc/terracognita { };
 
   terraform-lsp = callPackage ../development/tools/misc/terraform-lsp { };
   terraform-ls = callPackage ../development/tools/misc/terraform-ls { };
 
-  terraformer = callPackage ../development/tools/misc/terraformer {
-    buildGoModule = buildGo117Module;
-  };
+  terraformer = callPackage ../development/tools/misc/terraformer { };
 
   terrascan = callPackage ../tools/security/terrascan { };
 
@@ -15795,9 +15748,7 @@ with pkgs;
 
   time-ghc-modules = callPackage ../development/tools/time-ghc-modules { };
 
-  tflint = callPackage ../development/tools/analysis/tflint {
-    buildGoModule = buildGo117Module;
-  };
+  tflint = callPackage ../development/tools/analysis/tflint { };
 
   tfsec = callPackage ../development/tools/analysis/tfsec { };
 
@@ -15819,7 +15770,9 @@ with pkgs;
 
   ttyd = callPackage ../servers/ttyd { };
 
-  turbogit = callPackage ../development/tools/turbogit { };
+  turbogit = callPackage ../development/tools/turbogit {
+    libgit2 = libgit2_1_3_0;
+  };
 
   tweak = callPackage ../applications/editors/tweak { };
 
@@ -15936,9 +15889,7 @@ with pkgs;
 
   yq = python3.pkgs.toPythonApplication python3.pkgs.yq;
 
-  yq-go = callPackage ../development/tools/yq-go {
-    buildGoModule = buildGo117Module;
-  };
+  yq-go = callPackage ../development/tools/yq-go { };
 
   ytt = callPackage ../development/tools/ytt {};
 
@@ -15964,7 +15915,9 @@ with pkgs;
 
   aalib = callPackage ../development/libraries/aalib { };
 
-  abseil-cpp = callPackage ../development/libraries/abseil-cpp { };
+  abseil-cpp_202111 = callPackage ../development/libraries/abseil-cpp/202111.nix { };
+  abseil-cpp_202103 = callPackage ../development/libraries/abseil-cpp/202103.nix { };
+  abseil-cpp = abseil-cpp_202103;
 
   accountsservice = callPackage ../development/libraries/accountsservice { };
 
@@ -16014,11 +15967,7 @@ with pkgs;
     autoreconfHook = buildPackages.autoreconfHook269;
   };
 
-  aprutil = callPackage ../development/libraries/apr-util {
-    db = if stdenv.isFreeBSD then db4 else db;
-    # XXX: only the db_185 interface was available through
-    #      apr with db58 on freebsd (nov 2015), for unknown reasons
-  };
+  aprutil = callPackage ../development/libraries/apr-util { };
 
   aravis = callPackage ../development/libraries/aravis {
     inherit (gst_all_1) gstreamer gst-plugins-base gst-plugins-good gst-plugins-bad;
@@ -16499,7 +16448,7 @@ with pkgs;
 
   duckdb = callPackage ../development/libraries/duckdb {};
 
-  duckstation = libsForQt5.callPackage ../misc/emulators/duckstation {};
+  duckstation = libsForQt5.callPackage ../applications/emulators/duckstation {};
 
   easyloggingpp = callPackage ../development/libraries/easyloggingpp {};
 
@@ -16607,6 +16556,8 @@ with pkgs;
   ffmpeg_3 = ffmpeg_3_4;
   # Please make sure this is updated to the latest version on the next major
   # update to ffmpeg
+  # Packages which use ffmpeg as a library, should pin to the relevant major
+  # version number which the upstream support.
   ffmpeg = ffmpeg_4;
 
   ffmpeg-full = callPackage ../development/libraries/ffmpeg-full {
@@ -16741,9 +16692,7 @@ with pkgs;
 
   ganv = callPackage ../development/libraries/ganv { };
 
-  garble = callPackage ../build-support/go/garble.nix {
-    buildGoModule = buildGo117Module;
-  };
+  garble = callPackage ../build-support/go/garble.nix { };
 
   gcab = callPackage ../development/libraries/gcab { };
 
@@ -16816,8 +16765,6 @@ with pkgs;
 
   ggz_base_libs = callPackage ../development/libraries/ggz_base_libs {};
 
-  giblib = callPackage ../development/libraries/giblib { };
-
   gifticlib = callPackage ../development/libraries/science/biology/gifticlib { };
 
   gio-sharp = callPackage ../development/libraries/gio-sharp { };
@@ -16836,32 +16783,19 @@ with pkgs;
 
   icon-lang = callPackage ../development/interpreters/icon-lang { };
 
-  libgit2 = callPackage ../development/libraries/git2 {
+  libgit2 = callPackage ../development/libraries/libgit2 {
     inherit (darwin.apple_sdk.frameworks) Security;
   };
 
-  libgit2_0_27 = libgit2.overrideAttrs (_: rec {
-    version = "0.27.10";
-    src = fetchFromGitHub {
-      owner = "libgit2";
-      repo = "libgit2";
-      rev = "v${version}";
-      sha256 = "09jz2fzv0zl5058s0g1cpnw87a2rgg8wnjwlygi18i2n9nn6m0ad";
-    };
-    meta.knownVulnerabilities = [
-      "CVE-2020-12278"
-      "CVE-2020-12279"
-    ];
-  });
-
-  libgit2_1_1 = libgit2.overrideAttrs (_: rec {
-    version = "1.1.1";
-    src = fetchFromGitHub {
+  libgit2_1_3_0 = libgit2.overrideAttrs (_: rec {
+    version = "1.3.0";
+    src = pkgs.fetchFromGitHub {
       owner = "libgit2";
       repo = "libgit2";
       rev = "v${version}";
-      sha256 = "sha256-SxceIxT0aeiiiZCeSIe6EOa+MyVpQVaiv/ZZn6fkwIc=";
+      sha256 = "sha256-7atNkOBzX+nU1gtFQEaE+EF1L+eex+Ajhq2ocoJY920=";
     };
+    patches = [];
   });
 
   libgit2-glib = callPackage ../development/libraries/libgit2-glib { };
@@ -17102,8 +17036,6 @@ with pkgs;
 
   pgweb = callPackage ../development/tools/database/pgweb { };
 
-  gpgstats = callPackage ../tools/security/gpgstats { };
-
   gpshell = callPackage ../development/tools/misc/gpshell { };
 
   grantlee = callPackage ../development/libraries/grantlee { };
@@ -17504,8 +17436,7 @@ with pkgs;
   iso-flags = callPackage ../data/icons/iso-flags { };
 
   ispc = callPackage ../development/compilers/ispc {
-    stdenv = llvmPackages_11.stdenv;
-    llvmPackages = llvmPackages_11;
+    inherit (llvmPackages) stdenv;
   };
 
   isso = callPackage ../servers/isso {
@@ -18044,9 +17975,7 @@ with pkgs;
 
   libinklevel = callPackage ../development/libraries/libinklevel { };
 
-  libnats-c = callPackage ../development/libraries/libnats-c {
-    openssl = openssl_1_0_2;
-  };
+  libnats-c = callPackage ../development/libraries/libnats-c { };
 
   liburing = callPackage ../development/libraries/liburing { };
 
@@ -18418,9 +18347,7 @@ with pkgs;
 
   libmad = callPackage ../development/libraries/libmad { };
 
-  llama = callPackage ../applications/misc/llama {
-    buildGoModule = buildGo117Module;
-  };
+  llama = callPackage ../applications/misc/llama { };
 
   malcontent = callPackage ../development/libraries/malcontent { };
 
@@ -18460,7 +18387,7 @@ with pkgs;
     hdf5 = hdf5_1_10;
   };
 
-  libmirage = callPackage ../misc/emulators/cdemu/libmirage.nix { };
+  libmirage = callPackage ../applications/emulators/cdemu/libmirage.nix { };
 
   libmkv = callPackage ../development/libraries/libmkv { };
 
@@ -19201,6 +19128,8 @@ with pkgs;
 
   mythes = callPackage ../development/libraries/mythes { };
 
+  nanodbc = callPackage ../development/libraries/nanodbc { };
+
   nanoflann = callPackage ../development/libraries/nanoflann { };
 
   nanomsg = callPackage ../development/libraries/nanomsg { };
@@ -19322,6 +19251,8 @@ with pkgs;
 
   nvidia-texture-tools = callPackage ../development/libraries/nvidia-texture-tools { };
 
+  nvidia-vaapi-driver = callPackage ../development/libraries/nvidia-vaapi-driver { };
+
   nvidia-video-sdk = callPackage ../development/libraries/nvidia-video-sdk { };
 
   nvidia-optical-flow-sdk = callPackage ../development/libraries/nvidia-optical-flow-sdk { };
@@ -19389,10 +19320,12 @@ with pkgs;
 
   opencv2 = callPackage ../development/libraries/opencv {
     inherit (darwin.apple_sdk.frameworks) Cocoa QTKit;
+    ffmpeg = ffmpeg_4;
   };
 
   opencv3 = callPackage ../development/libraries/opencv/3.x.nix {
     inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa VideoDecodeAcceleration;
+    ffmpeg = ffmpeg_4;
   };
 
   opencv3WithoutCuda = opencv3.override {
@@ -19402,6 +19335,7 @@ with pkgs;
   opencv4 = callPackage ../development/libraries/opencv/4.x.nix {
     inherit (darwin.apple_sdk.frameworks) AVFoundation Cocoa VideoDecodeAcceleration CoreMedia MediaToolbox;
     pythonPackages = python3Packages;
+    ffmpeg = ffmpeg_4;
   };
 
   opencv = opencv4;
@@ -19608,6 +19542,8 @@ with pkgs;
     buildPythonApplication click future six;
   };
 
+  pru = callPackage ../tools/text/pru { };
+
   prospector = callPackage ../development/tools/prospector { };
 
   protobuf = protobuf3_19;
@@ -19631,9 +19567,7 @@ with pkgs;
 
   protobufc = callPackage ../development/libraries/protobufc/1.3.nix { };
 
-  protolock = callPackage ../development/libraries/protolock {
-    buildGoModule = buildGo117Module;
-  };
+  protolock = callPackage ../development/libraries/protolock { };
 
   protozero = callPackage ../development/libraries/protozero { };
 
@@ -19804,10 +19738,6 @@ with pkgs;
   readline = readline6;
   readline6 = readline63;
 
-  readline5 = callPackage ../development/libraries/readline/5.x.nix { };
-
-  readline62 = callPackage ../development/libraries/readline/6.2.nix { };
-
   readline63 = callPackage ../development/libraries/readline/6.3.nix { };
 
   readline70 = callPackage ../development/libraries/readline/7.0.nix { };
@@ -19968,6 +19898,8 @@ with pkgs;
 
   SDL2_ttf = callPackage ../development/libraries/SDL2_ttf { };
 
+  SDL2_ttf_2_0_15 = callPackage ../development/libraries/SDL2_ttf/2.0.15.nix { };
+
   sdnotify-wrapper = skawarePackages.sdnotify-wrapper;
 
   sdrplay = callPackage ../applications/radio/sdrplay {};
@@ -20131,8 +20063,6 @@ with pkgs;
 
   sope = callPackage ../development/libraries/sope { };
 
-  soprano = callPackage ../development/libraries/soprano { };
-
   sord = callPackage ../development/libraries/sord {};
 
   soundtouch = callPackage ../development/libraries/soundtouch {};
@@ -20389,9 +20319,7 @@ with pkgs;
 
   triehash = callPackage ../tools/misc/triehash { };
 
-  trillian = callPackage ../tools/misc/trillian {
-    buildGoModule = buildGo117Module;
-  };
+  trillian = callPackage ../tools/misc/trillian { };
 
   twolame = callPackage ../development/libraries/twolame { };
 
@@ -20452,9 +20380,7 @@ with pkgs;
 
   vaapiVdpau = callPackage ../development/libraries/vaapi-vdpau { };
 
-  vale = callPackage ../tools/text/vale {
-    buildGoModule = buildGo117Module;
-  };
+  vale = callPackage ../tools/text/vale { };
 
   valhalla = callPackage ../development/libraries/valhalla {
     boost = boost.override { enablePython = true; python = python38; };
@@ -20526,7 +20452,7 @@ with pkgs;
 
   vulkan-extension-layer = callPackage ../tools/graphics/vulkan-extension-layer { };
   vulkan-headers = callPackage ../development/libraries/vulkan-headers { };
-  vulkan-loader = callPackage ../development/libraries/vulkan-loader { };
+  vulkan-loader = callPackage ../development/libraries/vulkan-loader { inherit (darwin) moltenvk; };
   vulkan-tools = callPackage ../tools/graphics/vulkan-tools { };
   vulkan-tools-lunarg = callPackage ../tools/graphics/vulkan-tools-lunarg { };
   vulkan-validation-layers = callPackage ../development/tools/vulkan-validation-layers { };
@@ -20564,7 +20490,10 @@ with pkgs;
 
   websocketpp = callPackage ../development/libraries/websocket++ { };
 
-  webrtc-audio-processing = callPackage ../development/libraries/webrtc-audio-processing { };
+  webrtc-audio-processing_1 = callPackage ../development/libraries/webrtc-audio-processing { };
+  webrtc-audio-processing_0_3 = callPackage ../development/libraries/webrtc-audio-processing/0.3.nix { };
+  # bump when majoring of packages have updated
+  webrtc-audio-processing = webrtc-audio-processing_0_3;
 
   wildmidi = callPackage ../development/libraries/wildmidi { };
 
@@ -20582,7 +20511,6 @@ with pkgs;
   wxformbuilder = callPackage ../development/tools/wxformbuilder { };
 
   wxGTK = wxGTK28;
-
   wxGTK30 = wxGTK30-gtk2;
   wxGTK31 = wxGTK31-gtk2;
 
@@ -20617,10 +20545,7 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AGL Carbon Cocoa Kernel QTKit;
   };
 
-  wxmac = callPackage ../development/libraries/wxwidgets/3.0/mac.nix {
-    inherit (darwin.apple_sdk.frameworks) AGL Cocoa Kernel WebKit;
-    inherit (darwin.stubs) setfile rez derez;
-  };
+  wxmac = callPackage ../development/libraries/wxwidgets/3.0/mac.nix { };
 
   wxSVG = callPackage ../development/libraries/wxSVG {
     wxGTK = wxGTK30-gtk3;
@@ -20725,13 +20650,9 @@ with pkgs;
 
   yubikey-personalization-gui = libsForQt5.callPackage ../tools/misc/yubikey-personalization-gui { };
 
-  yubikey-agent = callPackage ../tools/security/yubikey-agent {
-    buildGoModule = buildGo117Module;
-  };
+  yubikey-agent = callPackage ../tools/security/yubikey-agent { };
 
-  yubikey-touch-detector = callPackage ../tools/security/yubikey-touch-detector {
-    buildGoModule = buildGo117Module;
-  };
+  yubikey-touch-detector = callPackage ../tools/security/yubikey-touch-detector { };
 
   zchunk = callPackage ../development/libraries/zchunk { };
 
@@ -20823,10 +20744,6 @@ with pkgs;
 
   httpunit = callPackage ../development/libraries/java/httpunit { };
 
-  gwtdragdrop = callPackage ../development/libraries/java/gwt-dragdrop { };
-
-  gwtwidgets = callPackage ../development/libraries/java/gwt-widgets { };
-
   javaCup = callPackage ../development/libraries/java/cup {
     jdk = jdk8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
@@ -21013,9 +20930,7 @@ with pkgs;
 
   alerta-server = callPackage ../servers/monitoring/alerta { };
 
-  alps = callPackage ../servers/alps {
-    buildGoModule = buildGo117Module;
-  };
+  alps = callPackage ../servers/alps { };
 
   apacheHttpd_2_4 = callPackage ../servers/http/apache-httpd/2.4.nix { };
   apacheHttpd = apacheHttpd_2_4;
@@ -21110,8 +21025,7 @@ with pkgs;
   dnsutils = bind.dnsutils;
   dig = bind.dnsutils;
 
-  inherit (callPackages ../servers/bird { })
-    bird bird6 bird2;
+  bird = callPackage ../servers/bird { };
 
   bosun = callPackage ../servers/monitoring/bosun { };
 
@@ -21131,9 +21045,7 @@ with pkgs;
 
   clickhouse-cli = with python3Packages; toPythonApplication clickhouse-cli;
 
-  clickhouse-backup = callPackage ../development/tools/database/clickhouse-backup {
-    buildGoModule = buildGo117Module;
-  };
+  clickhouse-backup = callPackage ../development/tools/database/clickhouse-backup { };
 
   couchdb3 = callPackage ../servers/http/couchdb/3.nix {
     erlang = erlangR22;
@@ -21184,7 +21096,6 @@ with pkgs;
   engelsystem = callPackage ../servers/web-apps/engelsystem { php = php74; };
 
   envoy = callPackage ../servers/http/envoy {
-    go = go_1_17;
     jdk = openjdk11;
     gn = gn1924;
   };
@@ -21208,6 +21119,7 @@ with pkgs;
     # _compat can probably be removed on next minor version after 0.10.0
     lua = lua5_2_compat;
     withExtraLibs = [];
+    withExtraLuaPackages = _: [];
   };
 
   prosody-filer = callPackage ../servers/xmpp/prosody-filer { };
@@ -21310,9 +21222,7 @@ with pkgs;
 
   https-dns-proxy = callPackage ../servers/dns/https-dns-proxy { };
 
-  hydron = callPackage ../servers/hydron {
-    buildGoModule = buildGo117Module;
-  };
+  hydron = callPackage ../servers/hydron { };
 
   hyprspace = callPackage ../applications/networking/hyprspace { inherit (darwin) iproute2mac; };
 
@@ -21380,9 +21290,7 @@ with pkgs;
 
   lighttpd = callPackage ../servers/http/lighttpd { };
 
-  livepeer = callPackage ../servers/livepeer {
-    buildGoModule = buildGo117Module;
-  };
+  livepeer = callPackage ../servers/livepeer { };
 
   lwan = callPackage ../servers/http/lwan { };
 
@@ -21392,7 +21300,7 @@ with pkgs;
 
   mailman = callPackage ../servers/mail/mailman/wrapped.nix { };
 
-  mailman-rss = callPackage ../development/python-modules/mailman-rss { };
+  mailman-rss = callPackage ../tools/misc/mailman-rss { };
 
   mailman-web = with python3.pkgs; toPythonApplication mailman-web;
 
@@ -21411,9 +21319,7 @@ with pkgs;
 
   mattermost = callPackage ../servers/mattermost { };
   matterircd = callPackage ../servers/mattermost/matterircd.nix { };
-  matterbridge = callPackage ../servers/matterbridge {
-    buildGoModule = buildGo117Module;
-  };
+  matterbridge = callPackage ../servers/matterbridge { };
 
   mattermost-desktop = callPackage ../applications/networking/instant-messengers/mattermost-desktop { };
 
@@ -21425,9 +21331,7 @@ with pkgs;
 
   micronaut = callPackage ../development/tools/micronaut {};
 
-  minio = callPackage ../servers/minio {
-    buildGoModule = buildGo117Module;
-  };
+  minio = callPackage ../servers/minio { };
 
   mkchromecast = libsForQt5.callPackage ../applications/networking/mkchromecast { };
 
@@ -21446,7 +21350,6 @@ with pkgs;
   mod_timestamp = apacheHttpdPackages.mod_timestamp;
 
   inherit (callPackages ../servers/mpd {
-    stdenv = if (with stdenv; cc.isClang && isx86_64) then llvmPackages_8.stdenv else stdenv;
     inherit (darwin.apple_sdk.frameworks) AudioToolbox AudioUnit;
   }) mpd mpd-small mpdWithFeatures;
 
@@ -21478,6 +21381,15 @@ with pkgs;
 
   myserver = callPackage ../servers/http/myserver { };
 
+  napalm = with python3Packages; toPythonApplication (
+    napalm.overridePythonAttrs (attrs: {
+      # add community frontends that depend on the napalm python package
+      propagatedBuildInputs = attrs.propagatedBuildInputs ++ [
+        napalm-hp-procurve
+      ];
+    })
+  );
+
   nas = callPackage ../servers/nas { };
 
   nats-streaming-server = callPackage ../servers/nats-streaming-server { };
@@ -21544,9 +21456,7 @@ with pkgs;
 
   nsq = callPackage ../servers/nsq { };
 
-  oauth2-proxy = callPackage ../servers/oauth2-proxy {
-    buildGoModule = buildGo117Module;
-  };
+  oauth2-proxy = callPackage ../servers/oauth2-proxy { };
 
   openbgpd = callPackage ../servers/openbgpd { };
 
@@ -21603,9 +21513,7 @@ with pkgs;
 
   quark = callPackage ../servers/http/quark { };
 
-  soft-serve = callPackage ../servers/soft-serve {
-    buildGoModule = buildGo117Module;
-  };
+  soft-serve = callPackage ../servers/soft-serve { };
 
   sympa = callPackage ../servers/mail/sympa { };
 
@@ -21655,9 +21563,7 @@ with pkgs;
 
   libpulseaudio = libpulseaudio-vanilla;
 
-  easyeffects = callPackage ../applications/audio/easyeffects {
-    glibmm = glibmm_2_68;
-  };
+  easyeffects = callPackage ../applications/audio/easyeffects { };
 
   pulseeffects-legacy = callPackage ../applications/audio/pulseeffects-legacy {
     boost = boost172;
@@ -21695,6 +21601,8 @@ with pkgs;
     mariadb_104
     mariadb_105
     mariadb_106
+    mariadb_107
+    mariadb_108
   ;
   mariadb = mariadb_106;
 
@@ -21738,12 +21646,8 @@ with pkgs;
   };
 
   influxdb = callPackage ../servers/nosql/influxdb { };
-  influxdb2-server = callPackage ../servers/nosql/influxdb2 {
-    buildGoModule = buildGo117Module;
-  };
-  influxdb2-cli = callPackage ../servers/nosql/influxdb2/cli.nix {
-    buildGoModule = buildGo117Module;
-  };
+  influxdb2-server = callPackage ../servers/nosql/influxdb2 { };
+  influxdb2-cli = callPackage ../servers/nosql/influxdb2/cli.nix { };
   # For backwards compatibility with older versions of influxdb2,
   # which bundled the server and CLI into the same derivation. Will be
   # removed in a few releases.
@@ -21822,8 +21726,7 @@ with pkgs;
 
   openfire = callPackage ../servers/xmpp/openfire { };
 
-  softether_4_29 = callPackage ../servers/softether/4.29.nix { };
-  softether = softether_4_29;
+  softether = callPackage ../servers/softether { };
 
   qboot = pkgsi686Linux.callPackage ../applications/virtualization/qboot { };
 
@@ -22096,9 +21999,7 @@ with pkgs;
 
   systemd-journal2gelf = callPackage ../tools/system/systemd-journal2gelf { };
 
-  tailscale = callPackage ../servers/tailscale {
-    buildGoModule = buildGo117Module;
-  };
+  tailscale = callPackage ../servers/tailscale { };
 
   thanos = callPackage ../servers/monitoring/thanos { };
 
@@ -22165,16 +22066,6 @@ with pkgs;
 
   virtualenv-clone = with python3Packages; toPythonApplication virtualenv-clone;
 
-  virtuoso6 = callPackage ../servers/sql/virtuoso/6.x.nix {
-    openssl = openssl_1_0_2;
-  };
-
-  virtuoso7 = callPackage ../servers/sql/virtuoso/7.x.nix {
-    openssl = openssl_1_0_2;
-  };
-
-  virtuoso = virtuoso6;
-
   vsftpd = callPackage ../servers/ftp/vsftpd { };
 
   wallabag = callPackage ../servers/web-apps/wallabag { };
@@ -22358,9 +22249,7 @@ with pkgs;
 
   cachefilesd = callPackage ../os-specific/linux/cachefilesd { };
 
-  cariddi = callPackage ../tools/security/cariddi {
-    buildGoModule = buildGo117Module;
-  };
+  cariddi = callPackage ../tools/security/cariddi { };
 
   checkpolicy = callPackage ../os-specific/linux/checkpolicy { };
 
@@ -22383,9 +22272,7 @@ with pkgs;
 
   coredns = callPackage ../servers/dns/coredns { };
 
-  corerad = callPackage ../tools/networking/corerad {
-    buildGoModule = buildGo117Module;
-  };
+  corerad = callPackage ../tools/networking/corerad { };
 
   cpufrequtils = callPackage ../os-specific/linux/cpufrequtils { };
 
@@ -22454,6 +22341,8 @@ with pkgs;
 
   firmware-manager = callPackage ../os-specific/linux/firmware/firmware-manager { };
 
+  firmware-updater = callPackage ../os-specific/linux/firmware/firmware-updater { };
+
   fwts = callPackage ../os-specific/linux/fwts { };
 
   gobi_loader = callPackage ../os-specific/linux/gobi_loader { };
@@ -22506,9 +22395,7 @@ with pkgs;
 
   gfxtablet = callPackage ../os-specific/linux/gfxtablet {};
 
-  gmailctl = callPackage ../applications/networking/gmailctl {
-    buildGoModule = buildGo117Module;
-  };
+  gmailctl = callPackage ../applications/networking/gmailctl { };
 
   gomp = callPackage ../applications/version-management/gomp { };
 
@@ -22645,6 +22532,8 @@ with pkgs;
 
   linuxConsoleTools = callPackage ../os-specific/linux/consoletools { };
 
+  linthesia = callPackage ../games/linthesia/default.nix { };
+
   libreelec-dvb-firmware = callPackage ../os-specific/linux/firmware/libreelec-dvb-firmware { };
 
   openiscsi = callPackage ../os-specific/linux/open-iscsi { };
@@ -22913,9 +22802,7 @@ with pkgs;
   open-vm-tools = callPackage ../applications/virtualization/open-vm-tools { };
   open-vm-tools-headless = open-vm-tools.override { withX = false; };
 
-  air = callPackage ../development/tools/air {
-    buildGoModule = buildGo117Module;
-  };
+  air = callPackage ../development/tools/air { };
 
   delve = callPackage ../development/tools/delve { };
 
@@ -22979,9 +22866,7 @@ with pkgs;
 
   gotools = callPackage ../development/tools/gotools { };
 
-  gotop = callPackage ../tools/system/gotop {
-    buildGoModule = buildGo117Module;
-  };
+  gotop = callPackage ../tools/system/gotop { };
 
   go-migrate = callPackage ../development/tools/go-migrate { };
 
@@ -23007,19 +22892,13 @@ with pkgs;
 
   quicktemplate = callPackage ../development/tools/quicktemplate { };
 
-  gogoclient = callPackage ../os-specific/linux/gogoclient {
-    openssl = openssl_1_0_2;
-  };
-
   linux-pam = callPackage ../os-specific/linux/pam { };
 
   nss_ldap = callPackage ../os-specific/linux/nss_ldap { };
 
   octomap = callPackage ../development/libraries/octomap { };
 
-  odin = callPackage ../development/compilers/odin {
-    llvmPackages = llvmPackages_11;
-  };
+  odin = callPackage ../development/compilers/odin { };
 
   odp-dpdk = callPackage ../os-specific/linux/odp-dpdk { };
 
@@ -23127,6 +23006,8 @@ with pkgs;
 
   qemu_test = lowPrio (qemu.override { hostCpuOnly = true; nixosTestRunner = true; });
 
+  quick-lint-js = callPackage ../development/tools/quick-lint-js { };
+
   linux-firmware = callPackage ../os-specific/linux/firmware/linux-firmware { };
 
   qmk-udev-rules = callPackage ../os-specific/linux/qmk-udev-rules { };
@@ -23575,6 +23456,8 @@ with pkgs;
 
   comic-relief = callPackage ../data/fonts/comic-relief {};
 
+  comixcursors = callPackage ../data/icons/comixcursors {};
+
   coreclr = callPackage ../development/compilers/coreclr { };
 
   corefonts = callPackage ../data/fonts/corefonts { };
@@ -23751,7 +23634,7 @@ with pkgs;
 
   go-font = callPackage ../data/fonts/go-font { };
 
-  graphite-gtk-theme = callPackage ../data/themes/graphite { };
+  graphite-gtk-theme = callPackage ../data/themes/graphite-gtk-theme { };
 
   graphite-kde-theme = callPackage ../data/themes/graphite-kde-theme { };
 
@@ -23929,6 +23812,8 @@ with pkgs;
     inherit (plasma5Packages) breeze-icons;
   };
 
+  lxgw-wenkai = callPackage ../data/fonts/lxgw-wenkai { };
+
   maia-icon-theme = libsForQt5.callPackage ../data/icons/maia-icon-theme { };
 
   mailcap = callPackage ../data/misc/mailcap { };
@@ -24035,9 +23920,7 @@ with pkgs;
 
   nuclear = callPackage ../applications/audio/nuclear { };
 
-  nuclei = callPackage ../tools/security/nuclei {
-    buildGoModule = buildGo117Module;
-  };
+  nuclei = callPackage ../tools/security/nuclei { };
 
   nullmailer = callPackage ../servers/mail/nullmailer {
     stdenv = gccStdenv;
@@ -24117,6 +24000,8 @@ with pkgs;
 
   penna = callPackage ../data/fonts/penna { };
 
+  pitch-black = callPackage ../data/themes/pitch-black {};
+
   plano-theme = callPackage ../data/themes/plano { };
 
   plata-theme = callPackage ../data/themes/plata {
@@ -24194,8 +24079,6 @@ with pkgs;
 
   sweet = callPackage ../data/themes/sweet { };
 
-  mime-types = callPackage ../data/misc/mime-types { };
-
   shared-mime-info = callPackage ../data/misc/shared-mime-info { };
 
   shared_desktop_ontologies = callPackage ../data/misc/shared-desktop-ontologies { };
@@ -24216,12 +24099,14 @@ with pkgs;
 
   soundfont-fluid = callPackage ../data/soundfonts/fluid { };
 
+  soundfont-ydp-grand = callPackage ../data/soundfonts/ydp-grand { };
+
   spdx-license-list-data = callPackage ../data/misc/spdx-license-list-data { };
 
   stdmanpages = callPackage ../data/documentation/std-man-pages { };
 
   starship = callPackage ../tools/misc/starship {
-    inherit (darwin.apple_sdk.frameworks) Security;
+    inherit (darwin.apple_sdk.frameworks) Security Foundation;
   };
 
   stig = callPackage ../applications/networking/p2p/stig { };
@@ -24237,7 +24122,7 @@ with pkgs;
 
   poppler_data = callPackage ../data/misc/poppler-data { };
 
-  qmc2 = libsForQt514.callPackage ../misc/emulators/qmc2 { };
+  qmc2 = libsForQt514.callPackage ../applications/emulators/qmc2 { };
 
   quattrocento = callPackage ../data/fonts/quattrocento {};
 
@@ -24344,7 +24229,7 @@ with pkgs;
     fonts = [ "Terminus" ];
   };
 
-  termtekst = callPackage ../misc/emulators/termtekst { };
+  termtekst = callPackage ../applications/emulators/termtekst { };
 
   tex-gyre = callPackages ../data/fonts/tex-gyre { };
 
@@ -24610,6 +24495,8 @@ with pkgs;
 
   argocd = callPackage ../applications/networking/cluster/argocd { };
 
+  argo-rollouts = callPackage ../applications/networking/cluster/argo-rollouts { };
+
   ario = callPackage ../applications/audio/ario { };
 
   arion = callPackage ../applications/virtualization/arion { };
@@ -24679,9 +24566,7 @@ with pkgs;
 
   bambootracker = libsForQt5.callPackage ../applications/audio/bambootracker { };
 
-  blocky = callPackage ../applications/networking/blocky {
-    buildGoModule = buildGo117Module;
-  };
+  blocky = callPackage ../applications/networking/blocky { };
 
   cadence = libsForQt5.callPackage ../applications/audio/cadence { };
 
@@ -25232,13 +25117,9 @@ with pkgs;
   docker-gc = callPackage ../applications/virtualization/docker/gc.nix { };
 
   docker-machine = callPackage ../applications/networking/cluster/docker-machine { };
-  docker-machine-hyperkit = callPackage ../applications/networking/cluster/docker-machine/hyperkit.nix {
-    buildGoModule = buildGo117Module;
-  };
+  docker-machine-hyperkit = callPackage ../applications/networking/cluster/docker-machine/hyperkit.nix { };
   docker-machine-kvm = callPackage ../applications/networking/cluster/docker-machine/kvm.nix { };
-  docker-machine-kvm2 = callPackage ../applications/networking/cluster/docker-machine/kvm2.nix {
-    buildGoModule = buildGo117Module;
-  };
+  docker-machine-kvm2 = callPackage ../applications/networking/cluster/docker-machine/kvm2.nix { };
   docker-machine-xhyve = callPackage ../applications/networking/cluster/docker-machine/xhyve.nix {
     inherit (darwin.apple_sdk.frameworks) Hypervisor vmnet;
     inherit (darwin) cctools;
@@ -25251,9 +25132,7 @@ with pkgs;
   afterburn = callPackage ../tools/admin/afterburn {};
 
   docker-buildx = callPackage ../applications/virtualization/docker/buildx.nix { };
-  docker-compose_2 = callPackage ../applications/virtualization/docker/compose.nix {
-    buildGoModule = buildGo117Module;
-  };
+  docker-compose_2 = callPackage ../applications/virtualization/docker/compose.nix { };
 
   amazon-ecr-credential-helper = callPackage ../tools/admin/amazon-ecr-credential-helper { };
 
@@ -25305,9 +25184,7 @@ with pkgs;
     inherit (gnome2) libgnomeui;
   };
 
-  dyff = callPackage ../development/tools/dyff {
-    buildGoModule = buildGo117Module;
-  };
+  dyff = callPackage ../development/tools/dyff { };
 
   dwl = callPackage ../applications/window-managers/dwl { };
 
@@ -25321,7 +25198,7 @@ with pkgs;
 
   dwm-status = callPackage ../applications/window-managers/dwm/dwm-status.nix { };
 
-  dynamips = callPackage ../applications/virtualization/dynamips { };
+  dynamips = callPackage ../applications/emulators/dynamips { };
 
   exploitdb = callPackage ../tools/security/exploitdb { };
 
@@ -25473,9 +25350,7 @@ with pkgs;
 
   exercism = callPackage ../applications/misc/exercism { };
 
-  expenses = callPackage ../applications/misc/expenses {
-    buildGoModule = buildGo117Module;
-  };
+  expenses = callPackage ../applications/misc/expenses { };
 
   fnott = callPackage ../applications/misc/fnott { };
 
@@ -25658,6 +25533,8 @@ with pkgs;
 
   gitweb = callPackage ../applications/version-management/git-and-tools/gitweb { };
 
+  globe-cli = callPackage ../applications/misc/globe-cli { };
+
   gnss-sdr = callPackage ../applications/radio/gnss-sdr { };
 
   gnuradio = callPackage ../applications/radio/gnuradio/wrapper.nix {
@@ -25825,6 +25702,8 @@ with pkgs;
     fftw = fftwSinglePrec;
   };
 
+  gurk-rs = callPackage ../applications/networking/instant-messengers/gurk-rs { };
+
   gjay = callPackage ../applications/audio/gjay { };
 
   photivo = callPackage ../applications/graphics/photivo { };
@@ -25901,9 +25780,7 @@ with pkgs;
   };
 
   firefox-bin = wrapFirefox firefox-bin-unwrapped {
-    applicationName = "firefox";
     pname = "firefox-bin";
-    desktopName = "Firefox";
   };
 
   firefox-beta-bin-unwrapped = firefox-bin-unwrapped.override {
@@ -25913,7 +25790,6 @@ with pkgs;
   };
 
   firefox-beta-bin = res.wrapFirefox firefox-beta-bin-unwrapped {
-    applicationName = "firefox";
     pname = "firefox-beta-bin";
     desktopName = "Firefox Beta";
   };
@@ -25925,12 +25801,22 @@ with pkgs;
   };
 
   firefox-devedition-bin = res.wrapFirefox firefox-devedition-bin-unwrapped {
-    applicationName = "firefox";
     nameSuffix = "-devedition";
     pname = "firefox-devedition-bin";
     desktopName = "Firefox DevEdition";
   };
 
+  librewolf-unwrapped = firefoxPackages.librewolf;
+
+  librewolf = wrapFirefox librewolf-unwrapped {
+    inherit (librewolf-unwrapped) extraPrefsFiles extraPoliciesFiles;
+    libName = "librewolf";
+  };
+
+  librewolf-wayland = librewolf.override {
+    forceWayland = true;
+  };
+
   firefox_decrypt = python3Packages.callPackage ../tools/security/firefox_decrypt { };
 
   flac = callPackage ../applications/audio/flac { };
@@ -26136,6 +26022,8 @@ with pkgs;
 
   jmusicbot = callPackage ../applications/audio/jmusicbot { };
 
+  lemonade = callPackage ../applications/misc/lemonade { };
+
   libquvi = callPackage ../applications/video/quvi/library.nix { };
 
   librespot = callPackage ../applications/audio/librespot {
@@ -26144,9 +26032,7 @@ with pkgs;
     withPortAudio = stdenv.isDarwin;
   };
 
-  limesctl = callPackage ../applications/misc/limesctl {
-    buildGoModule = buildGo117Module;
-  };
+  limesctl = callPackage ../applications/misc/limesctl { };
 
   linssid = libsForQt5.callPackage ../applications/networking/linssid { };
 
@@ -26268,7 +26154,7 @@ with pkgs;
 
   googleearth-pro = libsForQt5.callPackage ../applications/misc/googleearth-pro { };
 
-  google-chrome = callPackage ../applications/networking/browsers/google-chrome { gconf = gnome2.GConf; };
+  google-chrome = callPackage ../applications/networking/browsers/google-chrome { };
 
   google-chrome-beta = google-chrome.override { chromium = chromiumBeta; channel = "beta"; };
 
@@ -26352,13 +26238,11 @@ with pkgs;
 
   helmholtz = callPackage ../applications/audio/pd-plugins/helmholtz { };
 
-  heme = callPackage ../applications/editors/heme { };
-
   herbe = callPackage ../applications/misc/herbe { };
 
   herbstluftwm = callPackage ../applications/window-managers/herbstluftwm { };
 
-  hercules = callPackage ../applications/virtualization/hercules { };
+  hercules = callPackage ../applications/emulators/hercules { };
 
   hexchat = callPackage ../applications/networking/irc/hexchat { };
 
@@ -26425,9 +26309,7 @@ with pkgs;
 
   haunt = callPackage ../applications/misc/haunt { };
 
-  hugo = callPackage ../applications/misc/hugo {
-    buildGoModule = buildGo117Module;
-  };
+  hugo = callPackage ../applications/misc/hugo { };
 
   go-org = callPackage ../applications/misc/go-org { };
 
@@ -26494,9 +26376,7 @@ with pkgs;
 
   shepherd = nodePackages."@nerdwallet/shepherd";
 
-  skate = callPackage ../applications/misc/skate {
-    buildGoModule = buildGo117Module;
-  };
+  skate = callPackage ../applications/misc/skate { };
 
   slack = callPackage ../applications/networking/instant-messengers/slack { };
 
@@ -26527,7 +26407,7 @@ with pkgs;
   srain = callPackage ../applications/networking/irc/srain { };
 
   super-productivity = callPackage ../applications/office/super-productivity {
-    electron = electron_13;
+    electron = electron_17;
   };
 
   wlroots = wlroots_0_15;
@@ -26642,8 +26522,6 @@ with pkgs;
 
   icewm = callPackage ../applications/window-managers/icewm {};
 
-  icecat-bin = callPackage ../applications/networking/browsers/icecat-bin { };
-
   icon-library = callPackage ../applications/graphics/icon-library { };
 
   id3v2 = callPackage ../applications/audio/id3v2 { };
@@ -26861,7 +26739,9 @@ with pkgs;
 
   jwm-settings-manager = callPackage ../applications/window-managers/jwm/jwm-settings-manager.nix { };
 
-  k3s = callPackage ../applications/networking/cluster/k3s {};
+  k3s = callPackage ../applications/networking/cluster/k3s { };
+
+  k3sup = callPackage ../applications/networking/cluster/k3sup {};
 
   kconf = callPackage ../applications/networking/cluster/kconf { };
 
@@ -26902,7 +26782,7 @@ with pkgs;
 
   kdevelop = libsForQt5.callPackage ../applications/editors/kdevelop5/wrapper.nix { };
 
-  kega-fusion = pkgsi686Linux.callPackage ../misc/emulators/kega-fusion { };
+  kega-fusion = pkgsi686Linux.callPackage ../applications/emulators/kega-fusion { };
 
   kepubify = callPackage ../tools/misc/kepubify { };
 
@@ -26995,9 +26875,7 @@ with pkgs;
 
   kubebuilder = callPackage ../applications/networking/cluster/kubebuilder { };
 
-  kuttl = callPackage ../applications/networking/cluster/kuttl {
-    buildGoModule = buildGo117Module;
-  };
+  kuttl = callPackage ../applications/networking/cluster/kuttl { };
 
   kubectl-doctor = callPackage ../applications/networking/cluster/kubectl-doctor { };
 
@@ -27011,24 +26889,17 @@ with pkgs;
 
   kubelogin-oidc = callPackage ../applications/networking/cluster/kubelogin-oidc { };
 
-  k9s = callPackage ../applications/networking/cluster/k9s {
-    buildGoModule = buildGo117Module;
-  };
+  k9s = callPackage ../applications/networking/cluster/k9s { };
 
   pgo-client = callPackage ../applications/networking/cluster/pgo-client { };
 
   popeye = callPackage ../applications/networking/cluster/popeye { };
 
-  kube-capacity = callPackage ../applications/networking/cluster/kube-capacity {
-    buildGoModule = buildGo117Module;
-  };
+  kube-capacity = callPackage ../applications/networking/cluster/kube-capacity { };
 
   fluxctl = callPackage ../applications/networking/cluster/fluxctl { };
 
-  fluxcd = callPackage ../applications/networking/cluster/fluxcd {
-    # Fix-Me: This locking should be removed once PR #154059 is merged.
-    buildGoModule = buildGo117Module;
-  };
+  fluxcd = callPackage ../applications/networking/cluster/fluxcd { };
 
   linkerd = callPackage ../applications/networking/cluster/linkerd { };
   linkerd_edge = callPackage ../applications/networking/cluster/linkerd/edge.nix { };
@@ -27083,7 +26954,7 @@ with pkgs;
 
   kvirc = libsForQt514.callPackage ../applications/networking/irc/kvirc { };
 
-  lambda-delta = callPackage ../misc/emulators/lambda-delta { };
+  lambda-delta = callPackage ../applications/emulators/lambda-delta { };
 
   lame = callPackage ../development/libraries/lame { };
 
@@ -27216,7 +27087,7 @@ with pkgs;
 
   lighttable = callPackage ../applications/editors/lighttable {};
 
-  libdsk = callPackage ../misc/emulators/libdsk { };
+  libdsk = callPackage ../applications/emulators/libdsk { };
 
   liblinphone = callPackage ../development/libraries/liblinphone { };
 
@@ -27401,7 +27272,7 @@ with pkgs;
 
   melmatcheq.lv2 = callPackage ../applications/audio/melmatcheq.lv2 { };
 
-  melonDS = libsForQt5.callPackage ../misc/emulators/melonDS { };
+  melonDS = libsForQt5.callPackage ../applications/emulators/melonDS { };
 
   meme-image-generator = callPackage ../applications/graphics/meme-image-generator { };
 
@@ -27464,7 +27335,6 @@ with pkgs;
 
   minikube = callPackage ../applications/networking/cluster/minikube {
     inherit (darwin.apple_sdk.frameworks) vmnet;
-    buildGoModule = buildGo117Module;
   };
 
   minishift = callPackage ../applications/networking/cluster/minishift { };
@@ -27760,13 +27630,13 @@ with pkgs;
   nootka = qt5.callPackage ../applications/audio/nootka { };
   nootka-unstable = qt5.callPackage ../applications/audio/nootka/unstable.nix { };
 
+  novnc = callPackage ../applications/networking/novnc { };
+
   nwg-drawer = callPackage ../applications/misc/nwg-drawer { };
 
   nwg-launchers = callPackage ../applications/misc/nwg-launchers { };
 
-  nwg-menu = callPackage ../applications/misc/nwg-menu {
-    buildGoModule = buildGo117Module;
-  };
+  nwg-menu = callPackage ../applications/misc/nwg-menu { };
 
   nwg-panel = callPackage ../applications/misc/nwg-panel { };
 
@@ -27774,6 +27644,8 @@ with pkgs;
 
   ocenaudio = callPackage ../applications/audio/ocenaudio { };
 
+  odo = callPackage ../applications/networking/cluster/odo { };
+
   onlyoffice-bin = callPackage ../applications/office/onlyoffice-bin { };
 
   open-policy-agent = callPackage ../development/tools/open-policy-agent { };
@@ -28048,9 +27920,11 @@ with pkgs;
 
   obconf = callPackage ../tools/X11/obconf { };
 
-  oberon-risc-emu = callPackage ../misc/emulators/oberon-risc-emu { };
+  oberon-risc-emu = callPackage ../applications/emulators/oberon-risc-emu { };
 
-  obs-studio = libsForQt5.callPackage ../applications/video/obs-studio {};
+  obs-studio = libsForQt5.callPackage ../applications/video/obs-studio {
+    ffmpeg_4 = ffmpeg-full;
+  };
   obs-studio-plugins = recurseIntoAttrs (callPackage ../applications/video/obs-studio/plugins {});
   wrapOBS = callPackage ../applications/video/obs-studio/wrapper.nix {};
 
@@ -28199,9 +28073,9 @@ with pkgs;
 
   pcloud = callPackage ../applications/networking/pcloud { };
 
-  pcsxr = callPackage ../misc/emulators/pcsxr { };
+  pcsxr = callPackage ../applications/emulators/pcsxr { };
 
-  pcsx2 = callPackage ../misc/emulators/pcsx2 {
+  pcsx2 = callPackage ../applications/emulators/pcsx2 {
     wxGTK = wxGTK30-gtk3;
   };
 
@@ -28228,9 +28102,7 @@ with pkgs;
 
   pdfchain = callPackage ../tools/typesetting/pdfchain { };
 
-  pdfcpu = callPackage ../applications/graphics/pdfcpu {
-    buildGoModule = buildGo117Module;
-  };
+  pdfcpu = callPackage ../applications/graphics/pdfcpu { };
   pdftk = callPackage ../tools/typesetting/pdftk {
     jre = jre8; # TODO: remove override https://github.com/NixOS/nixpkgs/pull/89731
   };
@@ -28267,6 +28139,8 @@ with pkgs;
 
   phrasendrescher = callPackage ../tools/security/phrasendrescher { };
 
+  phrase-cli = callPackage ../tools/misc/phrase-cli { };
+
   phraseapp-client = callPackage ../tools/misc/phraseapp-client { };
 
   phwmon = callPackage ../applications/misc/phwmon { };
@@ -28592,7 +28466,7 @@ with pkgs;
 
   quiterss = libsForQt514.callPackage ../applications/networking/newsreaders/quiterss {};
 
-  falkon = libsForQt514.callPackage ../applications/networking/browsers/falkon { };
+  falkon = libsForQt5.callPackage ../applications/networking/browsers/falkon { };
 
   quodlibet = callPackage ../applications/audio/quodlibet {
     keybinder3 = null;
@@ -28635,6 +28509,8 @@ with pkgs;
 
   renoise = callPackage ../applications/audio/renoise {};
 
+  redux = callPackage ../applications/audio/redux { };
+
   roomeqwizard = callPackage ../applications/audio/roomeqwizard { };
 
   radiotray-ng = callPackage ../applications/audio/radiotray-ng {
@@ -28699,7 +28575,10 @@ with pkgs;
 
   ries = callPackage ../applications/science/math/ries { };
 
-  ripcord = qt5.callPackage ../applications/networking/instant-messengers/ripcord { };
+  ripcord = if stdenv.isLinux then
+    qt5.callPackage ../applications/networking/instant-messengers/ripcord { }
+  else
+    callPackage ../applications/networking/instant-messengers/ripcord/darwin.nix { };
 
   ripser = callPackage ../applications/science/math/ripser { };
 
@@ -28726,7 +28605,7 @@ with pkgs;
 
   rootlesskit = callPackage ../tools/virtualization/rootlesskit {};
 
-  rpcs3 = libsForQt5.callPackage ../misc/emulators/rpcs3 { };
+  rpcs3 = libsForQt5.callPackage ../applications/emulators/rpcs3 { };
 
   rsclock = callPackage ../applications/misc/rsclock { };
 
@@ -28767,7 +28646,7 @@ with pkgs;
 
   sacc = callPackage ../applications/networking/gopher/sacc { };
 
-  sameboy = callPackage ../misc/emulators/sameboy { };
+  sameboy = callPackage ../applications/emulators/sameboy { };
 
   sayonara = libsForQt514.callPackage ../applications/audio/sayonara { };
 
@@ -28813,9 +28692,7 @@ with pkgs;
 
   sfxr-qt = libsForQt5.callPackage ../applications/audio/sfxr-qt { };
 
-  shadowfox = callPackage ../tools/networking/shadowfox {
-    buildGoModule = buildGo117Module;
-  };
+  shadowfox = callPackage ../tools/networking/shadowfox { };
 
   shfmt = callPackage ../tools/text/shfmt { };
 
@@ -28879,6 +28756,8 @@ with pkgs;
     inherit (darwin.apple_sdk.frameworks) AppKit Security;
   };
 
+  sptlrx = callPackage ../applications/audio/sptlrx { };
+
   squishyball = callPackage ../applications/audio/squishyball {
     ncurses = ncurses5;
   };
@@ -28897,7 +28776,7 @@ with pkgs;
     curses = ncurses;
   };
 
-  stella = callPackage ../misc/emulators/stella { };
+  stella = callPackage ../applications/emulators/stella { };
 
   linuxstopmotion = libsForQt5.callPackage ../applications/video/linuxstopmotion { };
 
@@ -28912,6 +28791,8 @@ with pkgs;
 
   sxiv = callPackage ../applications/graphics/sxiv { };
 
+  nsxiv = callPackage ../applications/graphics/nsxiv { };
+
   resilio-sync = callPackage ../applications/networking/resilio-sync { };
 
   dropbox = callPackage ../applications/networking/dropbox { };
@@ -29198,9 +29079,7 @@ with pkgs;
 
   tamgamp.lv2 = callPackage ../applications/audio/tamgamp.lv2 { };
 
-  tanka = callPackage ../applications/networking/cluster/tanka {
-    buildGoModule = buildGo117Module;
-  };
+  tanka = callPackage ../applications/networking/cluster/tanka { };
 
   teams = callPackage ../applications/networking/instant-messengers/teams { };
 
@@ -29322,9 +29201,7 @@ with pkgs;
 
   ticpp = callPackage ../development/libraries/ticpp { };
 
-  ticker = callPackage ../applications/misc/ticker {
-    buildGoModule = buildGo117Module;
-  };
+  ticker = callPackage ../applications/misc/ticker { };
 
   tickrs = callPackage ../applications/misc/tickrs {
     inherit (darwin.apple_sdk.frameworks) Security;
@@ -29745,11 +29622,11 @@ with pkgs;
   vscode-fhs = vscode.fhs;
   vscode-fhsWithPackages = vscode.fhsWithPackages;
 
-  vscode-with-extensions = callPackage ../applications/editors/vscode/with-extensions.nix {};
+  vscode-with-extensions = callPackage ../applications/editors/vscode/with-extensions.nix { };
 
-  vscode-utils = callPackage ../misc/vscode-extensions/vscode-utils.nix {};
+  vscode-utils = callPackage ../applications/editors/vscode/extensions/vscode-utils.nix { };
 
-  vscode-extensions = recurseIntoAttrs (callPackage ../misc/vscode-extensions {});
+  vscode-extensions = recurseIntoAttrs (callPackage ../applications/editors/vscode/extensions { });
 
   vscodium = callPackage ../applications/editors/vscode/vscodium.nix { };
   vscodium-fhs = vscodium.fhs;
@@ -30019,7 +29896,7 @@ with pkgs;
   kodi-cli = callPackage ../tools/misc/kodi-cli { };
 
   kodi-retroarch-advanced-launchers =
-    callPackage ../misc/emulators/retroarch/kodi-advanced-launchers.nix { };
+    callPackage ../applications/emulators/retroarch/kodi-advanced-launchers.nix { };
 
   xca = libsForQt5.callPackage ../applications/misc/xca { };
 
@@ -30391,6 +30268,8 @@ with pkgs;
 
   clightning = callPackage ../applications/blockchains/clightning { };
 
+  besu = callPackage ../applications/blockchains/besu { };
+
   bitcoin-abc  = libsForQt5.callPackage ../applications/blockchains/bitcoin-abc {
     boost = boost165;
     withGui = true;
@@ -30476,9 +30355,7 @@ with pkgs;
 
   ergo = callPackage ../applications/blockchains/ergo { };
 
-  erigon = callPackage ../applications/blockchains/erigon.nix {
-    buildGoModule = buildGo117Module;
-  };
+  erigon = callPackage ../applications/blockchains/erigon.nix { };
 
   exodus = callPackage ../applications/blockchains/exodus { };
 
@@ -30592,7 +30469,7 @@ with pkgs;
     boost = boost175;
   };
 
-  zcash = callPackage ../applications/blockchains/zcash { stdenv = llvmPackages_11.stdenv; };
+  zcash = callPackage ../applications/blockchains/zcash { };
 
   lightwalletd = callPackage ../applications/blockchains/lightwalletd { };
 
@@ -30604,8 +30481,6 @@ with pkgs;
 
   quorum = callPackage ../applications/blockchains/quorum { };
 
-  whirlpool-gui = callPackage ../applications/blockchains/whirlpool-gui { };
-
   saga = libsForQt5.callPackage ../applications/gis/saga {
     inherit (darwin.apple_sdk.frameworks) Cocoa;
   };
@@ -30614,9 +30489,7 @@ with pkgs;
 
   scaleft = callPackage ../applications/networking/scaleft { };
 
-  scaleway-cli = callPackage ../tools/admin/scaleway-cli {
-    buildGoModule = buildGo117Module;
-  };
+  scaleway-cli = callPackage ../tools/admin/scaleway-cli { };
 
   beancount = with python3.pkgs; toPythonApplication beancount;
 
@@ -31136,7 +31009,7 @@ with pkgs;
 
   katagoWithCuda = katago.override {
     enableCuda = true;
-    cudnn = cudnn_cudatoolkit_11;
+    cudnn = cudnn_8_3_cudatoolkit_11;
     cudatoolkit = cudatoolkit_11;
   };
 
@@ -31221,10 +31094,11 @@ with pkgs;
     inherit (darwin) libiconv;
     inherit (darwin.apple_sdk.frameworks) OpenGL OpenAL Carbon Cocoa;
   })
-    minetestclient_4 minetestserver_4
     minetestclient_5 minetestserver_5;
 
-  minetest = minetestclient_5;
+  minetest = minetestclient;
+  minetestclient = minetestclient_5;
+  minetestserver = minetestserver_5;
 
   mnemosyne = callPackage ../games/mnemosyne {
     python = python3;
@@ -31806,6 +31680,8 @@ with pkgs;
 
   _0verkill = callPackage ../games/0verkill { };
 
+  _7kaa = callPackage ../games/7kaa { };
+
   hhexen = callPackage ../games/hhexen { };
 
   wyvern = callPackage ../games/wyvern { };
@@ -31859,6 +31735,8 @@ with pkgs;
 
   plasma-applet-volumewin7mixer = libsForQt5.callPackage ../applications/misc/plasma-applet-volumewin7mixer { };
 
+  plasma-theme-switcher = libsForQt5.callPackage ../applications/misc/plasma-theme-switcher {};
+
   plasma-pass = libsForQt5.callPackage ../tools/security/plasma-pass { };
 
   inherit (callPackages ../applications/misc/redshift {
@@ -32006,9 +31884,7 @@ with pkgs;
 
   conglomerate = callPackage ../applications/science/biology/conglomerate { };
 
-  dalfox = callPackage ../tools/security/dalfox {
-    buildGoModule = buildGo117Module;
-  };
+  dalfox = callPackage ../tools/security/dalfox { };
 
   dcm2niix = callPackage ../applications/science/biology/dcm2niix { };
 
@@ -32038,6 +31914,8 @@ with pkgs;
 
   fastp = callPackage ../applications/science/biology/fastp { };
 
+  febio-studio = libsForQt5.callPackage ../applications/science/biology/febio-studio { };
+
   hisat2 = callPackage ../applications/science/biology/hisat2 { };
 
   htslib = callPackage ../development/libraries/science/biology/htslib { };
@@ -32339,6 +32217,10 @@ with pkgs;
 
   sympow = callPackage ../development/libraries/science/math/sympow { };
 
+  trilinos = callPackage ../development/libraries/science/math/trilinos {};
+
+  trilinos-mpi = callPackage ../development/libraries/science/math/trilinos { withMPI = true; };
+
   ipopt = callPackage ../development/libraries/science/math/ipopt { };
 
   gmsh = callPackage ../applications/science/math/gmsh { };
@@ -32464,7 +32346,7 @@ with pkgs;
 
   crypto-org-wallet = callPackage ../applications/blockchains/crypto-org-wallet { };
 
-  caprice32 = callPackage ../misc/emulators/caprice32 { };
+  caprice32 = callPackage ../applications/emulators/caprice32 { };
 
   cubicle = callPackage ../applications/science/logic/cubicle {
     ocamlPackages = ocaml-ng.ocamlPackages_4_05;
@@ -32488,6 +32370,8 @@ with pkgs;
 
   eprover-ho = callPackage ../applications/science/logic/eprover { enableHO = true; };
 
+  formula = callPackage ../applications/science/logic/formula { };
+
   gappa = callPackage ../applications/science/logic/gappa { };
 
   gfan = callPackage ../applications/science/math/gfan {};
@@ -32709,6 +32593,12 @@ with pkgs;
 
   xoscope = callPackage ../applications/science/electronics/xoscope { };
 
+  xyce = callPackage ../applications/science/electronics/xyce { };
+
+  xyce-parallel = callPackage ../applications/science/electronics/xyce {
+    withMPI = true;
+    trilinos = trilinos-mpi;
+  };
 
   ### SCIENCE / MATH
 
@@ -32969,11 +32859,11 @@ with pkgs;
 
   antimicrox = libsForQt5.callPackage ../tools/misc/antimicrox { };
 
-  ares = callPackage ../misc/emulators/ares { };
+  ares = callPackage ../applications/emulators/ares { };
 
-  atari800 = callPackage ../misc/emulators/atari800 { };
+  atari800 = callPackage ../applications/emulators/atari800 { };
 
-  ataripp = callPackage ../misc/emulators/atari++ { };
+  ataripp = callPackage ../applications/emulators/atari++ { };
 
   atlantis = callPackage ../applications/networking/cluster/atlantis { };
 
@@ -32987,7 +32877,7 @@ with pkgs;
     swt = swt_jdk8;
   };
 
-  attract-mode = callPackage ../misc/emulators/attract-mode { };
+  attract-mode = callPackage ../applications/emulators/attract-mode { };
 
   autotiling = python3Packages.callPackage ../misc/autotiling { };
 
@@ -33009,7 +32899,7 @@ with pkgs;
 
   calaos_installer = libsForQt5.callPackage ../misc/calaos/installer {};
 
-  ccemux = callPackage ../misc/emulators/ccemux { };
+  ccemux = callPackage ../applications/emulators/ccemux { };
 
   click = callPackage ../applications/networking/cluster/click { };
 
@@ -33087,13 +32977,13 @@ with pkgs;
 
   cnijfilter2 = callPackage ../misc/cups/drivers/cnijfilter2 { };
 
-  darcnes = callPackage ../misc/emulators/darcnes { };
+  darcnes = callPackage ../applications/emulators/darcnes { };
 
   darling-dmg = callPackage ../tools/filesystems/darling-dmg { };
 
   depotdownloader = callPackage ../tools/misc/depotdownloader { };
 
-  desmume = callPackage ../misc/emulators/desmume { };
+  desmume = callPackage ../applications/emulators/desmume { };
 
   dbacl = callPackage ../tools/misc/dbacl { };
 
@@ -33109,13 +32999,11 @@ with pkgs;
 
   dell-530cdn = callPackage ../misc/drivers/dell-530cdn {};
 
-  demjson = with python3Packages; toPythonApplication demjson;
+  dosbox = callPackage ../applications/emulators/dosbox { };
 
-  dosbox = callPackage ../misc/emulators/dosbox { };
+  dosbox-staging = callPackage ../applications/emulators/dosbox-staging { };
 
-  dosbox-staging = callPackage ../misc/emulators/dosbox-staging { };
-
-  emu2 = callPackage ../misc/emulators/emu2 { };
+  emu2 = callPackage ../applications/emulators/emu2 { };
 
   apt = callPackage ../tools/package-management/apt { };
 
@@ -33127,7 +33015,7 @@ with pkgs;
 
   ecdsatool = callPackage ../tools/security/ecdsatool { };
 
-  emulationstation = callPackage ../misc/emulators/emulationstation { };
+  emulationstation = callPackage ../applications/emulators/emulationstation { };
 
   electricsheep = callPackage ../misc/screensavers/electricsheep { };
 
@@ -33137,7 +33025,7 @@ with pkgs;
 
   glee = callPackage ../tools/graphics/glee { };
 
-  fakenes = callPackage ../misc/emulators/fakenes { };
+  fakenes = callPackage ../applications/emulators/fakenes { };
 
   faust = res.faust2;
 
@@ -33171,7 +33059,7 @@ with pkgs;
 
   faustStk = callPackage ../applications/audio/faustStk  { };
 
-  fceux = libsForQt5.callPackage ../misc/emulators/fceux { };
+  fceux = libsForQt5.callPackage ../applications/emulators/fceux { };
 
   flockit = callPackage ../tools/backup/flockit { };
 
@@ -33187,7 +33075,7 @@ with pkgs;
 
   foomatic-filters = callPackage ../misc/drivers/foomatic-filters {};
 
-  fuse-emulator = callPackage ../misc/emulators/fuse-emulator {};
+  fuse-emulator = callPackage ../applications/emulators/fuse-emulator {};
 
   gajim = callPackage ../applications/networking/instant-messengers/gajim {
     inherit (gst_all_1) gstreamer gst-plugins-base gst-libav;
@@ -33196,7 +33084,7 @@ with pkgs;
 
   gammu = callPackage ../applications/misc/gammu { };
 
-  gensgs = pkgsi686Linux.callPackage ../misc/emulators/gens-gs { };
+  gensgs = pkgsi686Linux.callPackage ../applications/emulators/gens-gs { };
 
   ghostscript = callPackage ../misc/ghostscript { };
 
@@ -33222,9 +33110,9 @@ with pkgs;
 
   gummi = callPackage ../applications/misc/gummi { };
 
-  gxemul = callPackage ../misc/emulators/gxemul { };
+  gxemul = callPackage ../applications/emulators/gxemul { };
 
-  hatari = callPackage ../misc/emulators/hatari { };
+  hatari = callPackage ../applications/emulators/hatari { };
 
   hck = callPackage ../tools/text/hck {
     inherit (darwin.apple_sdk.frameworks) CoreFoundation Security;
@@ -33234,9 +33122,7 @@ with pkgs;
 
   helmfile = callPackage ../applications/networking/cluster/helmfile { };
 
-  helmsman = callPackage ../applications/networking/cluster/helmsman {
-    buildGoModule = buildGo117Module;
-  };
+  helmsman = callPackage ../applications/networking/cluster/helmsman { };
 
   velero = callPackage ../applications/networking/cluster/velero { };
 
@@ -33272,13 +33158,9 @@ with pkgs;
 
   idsk = callPackage ../tools/filesystems/idsk { };
 
-  colima = callPackage ../applications/virtualization/colima {
-    buildGoModule = buildGo117Module;
-  };
+  colima = callPackage ../applications/virtualization/colima { };
 
-  lima = callPackage ../applications/virtualization/lima {
-    buildGoModule = buildGo117Module;
-  };
+  lima = callPackage ../applications/virtualization/lima { };
 
   logtop = callPackage ../tools/misc/logtop { };
 
@@ -33309,6 +33191,8 @@ with pkgs;
 
   jstest-gtk = callPackage ../tools/misc/jstest-gtk { };
 
+  k40-whisperer = callPackage ../applications/misc/k40-whisperer { };
+
   keynav = callPackage ../tools/X11/keynav { };
 
   kgx = callPackage ../applications/terminal-emulators/kgx { };
@@ -33341,7 +33225,7 @@ with pkgs;
 
   loop = callPackage ../tools/misc/loop { };
 
-  maiko = callPackage ../misc/emulators/maiko { inherit (xorg) libX11; };
+  maiko = callPackage ../applications/emulators/maiko { inherit (xorg) libX11; };
 
   mailcore2 = callPackage ../development/libraries/mailcore2 {
     icu = icu58;
@@ -33349,7 +33233,7 @@ with pkgs;
 
   mamba = callPackage ../applications/audio/mamba { };
 
-  mame = libsForQt514.callPackage ../misc/emulators/mame {
+  mame = libsForQt514.callPackage ../applications/emulators/mame {
     inherit (darwin.apple_sdk.frameworks) CoreAudioKit ForceFeedback;
   };
 
@@ -33369,7 +33253,7 @@ with pkgs;
 
   morph = callPackage ../tools/package-management/morph { };
 
-  mupen64plus = callPackage ../misc/emulators/mupen64plus { };
+  mupen64plus = callPackage ../applications/emulators/mupen64plus { };
 
   muse = libsForQt5.callPackage ../applications/audio/muse { };
 
@@ -33706,7 +33590,7 @@ with pkgs;
 
   OSCAR = qt5.callPackage ../applications/misc/OSCAR { };
 
-  pcem = callPackage ../misc/emulators/pcem { };
+  pcem = callPackage ../applications/emulators/pcem { };
 
   pgmanage = callPackage ../applications/misc/pgmanage { };
 
@@ -33736,13 +33620,13 @@ with pkgs;
 
   pounce = callPackage ../servers/pounce { };
 
-  ppsspp = libsForQt5.callPackage ../misc/emulators/ppsspp { };
+  ppsspp = libsForQt5.callPackage ../applications/emulators/ppsspp { };
 
   pt = callPackage ../applications/misc/pt { };
 
   protocol = python3Packages.callPackage ../applications/networking/protocol { };
 
-  punes = libsForQt5.callPackage ../misc/emulators/punes { };
+  punes = libsForQt5.callPackage ../applications/emulators/punes { };
 
   pykms = callPackage ../tools/networking/pykms { };
 
@@ -33752,11 +33636,11 @@ with pkgs;
 
   pwntools = with python3Packages; toPythonApplication pwntools;
 
-  uae = callPackage ../misc/emulators/uae { };
+  uae = callPackage ../applications/emulators/uae { };
 
-  fsuae = callPackage ../misc/emulators/fs-uae { };
+  fsuae = callPackage ../applications/emulators/fs-uae { };
 
-  fsuae-launcher = callPackage ../misc/emulators/fs-uae/launcher.nix { };
+  fsuae-launcher = callPackage ../applications/emulators/fs-uae/launcher.nix { };
 
   putty = callPackage ../applications/networking/remote/putty {
     gtk2 = gtk2-x11;
@@ -33782,12 +33666,12 @@ with pkgs;
 
   renderizer = callPackage ../development/tools/renderizer {};
 
-  retroarchBare = callPackage ../misc/emulators/retroarch {
+  retroarchBare = callPackage ../applications/emulators/retroarch {
     inherit (darwin) libobjc;
     inherit (darwin.apple_sdk.frameworks) AppKit Foundation;
   };
 
-  wrapRetroArch = { retroarch }: callPackage ../misc/emulators/retroarch/wrapper.nix {
+  wrapRetroArch = { retroarch }: callPackage ../applications/emulators/retroarch/wrapper.nix {
     inherit retroarch;
   };
 
@@ -33800,11 +33684,11 @@ with pkgs;
       (builtins.attrValues libretro);
   };
 
-  libretro = recurseIntoAttrs (callPackage ../misc/emulators/retroarch/cores.nix {
+  libretro = recurseIntoAttrs (callPackage ../applications/emulators/retroarch/cores.nix {
     retroarch = retroarchBare;
   });
 
-  retrofe = callPackage ../misc/emulators/retrofe { };
+  retrofe = callPackage ../applications/emulators/retrofe { };
 
   rfc-bibtex = python3Packages.callPackage ../development/python-modules/rfc-bibtex { };
 
@@ -33816,6 +33700,8 @@ with pkgs;
 
   ricty = callPackage ../data/fonts/ricty { };
 
+  rmfakecloud = callPackage ../servers/rmfakecloud { };
+
   rmfuse = callPackage ../tools/filesystems/rmfuse {};
 
   rmount = callPackage ../tools/filesystems/rmount {};
@@ -33960,9 +33846,7 @@ with pkgs;
 
   steamcontroller = callPackage ../misc/drivers/steamcontroller { };
 
-  stern = callPackage ../applications/networking/cluster/stern {
-    buildGoModule = buildGo117Module;
-  };
+  stern = callPackage ../applications/networking/cluster/stern { };
 
   streamripper = callPackage ../applications/audio/streamripper { };
 
@@ -33974,9 +33858,7 @@ with pkgs;
 
   go-swag = callPackage ../development/tools/go-swag { };
 
-  go-swagger = callPackage ../development/tools/go-swagger {
-    buildGoModule = buildGo117Module;
-  };
+  go-swagger = callPackage ../development/tools/go-swagger { };
 
   jx = callPackage ../applications/networking/cluster/jx {};
 
@@ -33988,9 +33870,7 @@ with pkgs;
 
   termpdfpy = python3Packages.callPackage ../applications/misc/termpdf.py {};
 
-  inherit (callPackage ../applications/networking/cluster/terraform {
-    buildGoModule = buildGo117Module;
-  })
+  inherit (callPackage ../applications/networking/cluster/terraform { })
     mkTerraform
     terraform_0_13
     terraform_0_14
@@ -34004,9 +33884,7 @@ with pkgs;
   terraform-full = terraform.full;
 
   terraform-providers = recurseIntoAttrs (
-    callPackage ../applications/networking/cluster/terraform-providers {
-      buildGoModule = buildGo117Module;
-    }
+    callPackage ../applications/networking/cluster/terraform-providers { }
   );
 
   terraforming = callPackage ../applications/networking/cluster/terraforming { };
@@ -34027,9 +33905,7 @@ with pkgs;
 
   tgswitch = callPackage ../applications/networking/cluster/tgswitch {};
 
-  tilt = callPackage ../applications/networking/cluster/tilt {
-    buildGoModule = buildGo117Module;
-  };
+  tilt = callPackage ../applications/networking/cluster/tilt { };
 
   timeular = callPackage ../applications/office/timeular {};
 
@@ -34102,9 +33978,7 @@ with pkgs;
 
   unixcw = libsForQt5.callPackage ../applications/radio/unixcw { };
 
-  vault = callPackage ../tools/security/vault {
-    buildGoModule = buildGo117Module;
-  };
+  vault = callPackage ../tools/security/vault { };
 
   vault-bin = callPackage ../tools/security/vault/vault-bin.nix { };
 
@@ -34123,26 +33997,23 @@ with pkgs;
 
   vazir-fonts = callPackage ../data/fonts/vazir-fonts { };
 
-  vbam = callPackage ../misc/emulators/vbam { };
+  vbam = callPackage ../applications/emulators/vbam { };
 
   vgmstream = callPackage ../applications/audio/vgmstream { };
 
-  vice = callPackage ../misc/emulators/vice { };
+  vice = callPackage ../applications/emulators/vice { };
 
-  viddy = callPackage ../tools/misc/viddy {
-    buildGoModule = buildGo117Module;
-  };
+  viddy = callPackage ../tools/misc/viddy { };
 
   ViennaRNA = callPackage ../applications/science/molecular-dynamics/viennarna { };
 
   viewnior = callPackage ../applications/graphics/viewnior { };
 
-
-  vimUtils = callPackage ../misc/vim-plugins/vim-utils.nix {
+  vimUtils = callPackage ../applications/editors/vim/plugins/vim-utils.nix {
     inherit (lua51Packages) hasLuaModule;
   };
 
-  vimPlugins = recurseIntoAttrs (callPackage ../misc/vim-plugins {
+  vimPlugins = recurseIntoAttrs (callPackage ../applications/editors/vim/plugins {
     llvmPackages = llvmPackages_6;
     luaPackages = lua51Packages;
   });
@@ -34229,7 +34100,7 @@ with pkgs;
     wineRelease = "wayland";
   });
 
-  winetricks = callPackage ../misc/emulators/wine/winetricks.nix {
+  winetricks = callPackage ../applications/emulators/wine/winetricks.nix {
     inherit (gnome) zenity;
   };
 
@@ -34319,7 +34190,7 @@ with pkgs;
 
   yabai = callPackage ../os-specific/darwin/yabai { };
 
-  yabause = libsForQt5.callPackage ../misc/emulators/yabause {
+  yabause = libsForQt5.callPackage ../applications/emulators/yabause {
     freeglut = null;
     openal = null;
   };
@@ -34342,11 +34213,11 @@ with pkgs;
 
   yaxg = callPackage ../tools/graphics/yaxg {};
 
-  yuzu-mainline = import ../misc/emulators/yuzu {
+  yuzu-mainline = import ../applications/emulators/yuzu {
     branch = "mainline";
     inherit libsForQt5 fetchFromGitHub;
   };
-  yuzu-ea = import ../misc/emulators/yuzu {
+  yuzu-ea = import ../applications/emulators/yuzu {
     branch = "early-access";
     inherit libsForQt5 fetchFromGitHub;
   };
@@ -34369,34 +34240,34 @@ with pkgs;
 
   zoneminder = callPackage ../servers/zoneminder { };
 
-  zsnes = pkgsi686Linux.callPackage ../misc/emulators/zsnes { };
+  zsnes = pkgsi686Linux.callPackage ../applications/emulators/zsnes { };
 
   xcp = callPackage ../tools/misc/xcp { };
 
-  xcpc = callPackage ../misc/emulators/xcpc { };
+  xcpc = callPackage ../applications/emulators/xcpc { };
 
   zxcvbn-c = callPackage ../development/libraries/zxcvbn-c { };
 
   zxing-cpp = callPackage ../development/libraries/zxing-cpp { };
 
-  snes9x-gtk = callPackage ../misc/emulators/snes9x-gtk { };
+  snes9x-gtk = callPackage ../applications/emulators/snes9x-gtk { };
 
-  openmsx = callPackage ../misc/emulators/openmsx {
+  openmsx = callPackage ../applications/emulators/openmsx {
     python = python3;
   };
 
-  higan = callPackage ../misc/emulators/higan { };
+  higan = callPackage ../applications/emulators/higan { };
 
-  bsnes-hd = callPackage ../misc/emulators/bsnes-hd {
+  bsnes-hd = callPackage ../applications/emulators/bsnes-hd {
     inherit (gnome2) gtksourceview;
     inherit (darwin.apple_sdk.frameworks) Cocoa OpenAL;
   };
 
-  yapesdl = callPackage ../misc/emulators/yapesdl { };
+  yapesdl = callPackage ../applications/emulators/yapesdl { };
 
-  x16-emulator = callPackage ../misc/emulators/commanderx16/emulator.nix { };
-  x16-rom = callPackage ../misc/emulators/commanderx16/rom.nix { };
-  x16-run = (callPackage ../misc/emulators/commanderx16/run.nix { }) {
+  x16-emulator = callPackage ../applications/emulators/commanderx16/emulator.nix { };
+  x16-rom = callPackage ../applications/emulators/commanderx16/rom.nix { };
+  x16-run = (callPackage ../applications/emulators/commanderx16/run.nix { }) {
     emulator = x16-emulator;
     rom = x16-rom;
   };
@@ -34465,9 +34336,7 @@ with pkgs;
 
   zimg = callPackage ../development/libraries/zimg { };
 
-  wtf = callPackage ../applications/misc/wtf {
-    buildGoModule = buildGo117Module;
-  };
+  wtf = callPackage ../applications/misc/wtf { };
 
   zk-shell = callPackage ../applications/misc/zk-shell { };
 
@@ -34669,9 +34538,7 @@ with pkgs;
 
   webwormhole = callPackage ../tools/networking/webwormhole { };
 
-  werf = callPackage ../applications/networking/cluster/werf {
-    buildGoModule = buildGo117Module;
-  };
+  werf = callPackage ../applications/networking/cluster/werf { };
 
   wifi-password = callPackage ../os-specific/darwin/wifi-password {};
 
@@ -34689,9 +34556,7 @@ with pkgs;
 
   sentencepiece = callPackage ../development/libraries/sentencepiece {};
 
-  kcli = callPackage ../development/tools/kcli {
-    buildGoModule = buildGo117Module;
-  };
+  kcli = callPackage ../development/tools/kcli { };
 
   pxlib = callPackage ../development/libraries/pxlib {};
 
@@ -34701,6 +34566,8 @@ with pkgs;
 
   quartus-prime-lite = callPackage ../applications/editors/quartus-prime {};
 
+  usb-blaster-udev-rules = callPackage ../os-specific/linux/usb-blaster-udev-rules {};
+
   go-license-detector = callPackage ../development/tools/misc/go-license-detector { };
 
   hashdeep = callPackage ../tools/security/hashdeep { };
@@ -34719,7 +34586,7 @@ with pkgs;
     jami-daemon jami-libclient jami-client-gnome jami-client-qt;
 
   jitsi-meet-electron = callPackage ../applications/networking/instant-messengers/jitsi-meet-electron {
-    electron = electron_13;
+    electron = electron_16;
   };
 
   zenstates = callPackage ../os-specific/linux/zenstates {};
@@ -34762,7 +34629,7 @@ with pkgs;
 
   xsos = callPackage ../os-specific/linux/xsos { };
 
-  zesarux = callPackage ../misc/emulators/zesarux { };
+  zesarux = callPackage ../applications/emulators/zesarux { };
 
   zk = callPackage ../applications/office/zk {};
 
diff --git a/pkgs/top-level/coq-packages.nix b/pkgs/top-level/coq-packages.nix
index 70445745377..b5b7158de64 100644
--- a/pkgs/top-level/coq-packages.nix
+++ b/pkgs/top-level/coq-packages.nix
@@ -58,6 +58,7 @@ let
       iris = callPackage ../development/coq-modules/iris {};
       itauto = callPackage ../development/coq-modules/itauto { };
       ITree = callPackage ../development/coq-modules/ITree { };
+      LibHyps = callPackage ../development/coq-modules/LibHyps {};
       ltac2 = callPackage ../development/coq-modules/ltac2 {};
       math-classes = callPackage ../development/coq-modules/math-classes { };
       mathcomp = callPackage ../development/coq-modules/mathcomp {};
@@ -96,9 +97,7 @@ let
       topology = callPackage ../development/coq-modules/topology {};
       Velisarios = callPackage ../development/coq-modules/Velisarios {};
       Verdi = callPackage ../development/coq-modules/Verdi {};
-      VST = callPackage ../development/coq-modules/VST {
-        compcert = self.compcert.override { version = "3.9"; };
-      };
+      VST = callPackage ../development/coq-modules/VST {};
       zorns-lemma = callPackage ../development/coq-modules/zorns-lemma {};
       filterPackages = doesFilter: if doesFilter then filterCoqPackages self else self;
     };
diff --git a/pkgs/top-level/darwin-packages.nix b/pkgs/top-level/darwin-packages.nix
index ff23949ae4f..d6ee88bc4f5 100644
--- a/pkgs/top-level/darwin-packages.nix
+++ b/pkgs/top-level/darwin-packages.nix
@@ -148,6 +148,8 @@ impure-cmds // appleSourcePackages // chooseLibs // {
 
   lsusb = callPackage ../os-specific/darwin/lsusb { };
 
+  moltenvk = callPackage ../os-specific/darwin/moltenvk { };
+
   opencflite = callPackage ../os-specific/darwin/opencflite { };
 
   stubs = pkgs.callPackages ../os-specific/darwin/stubs { };
diff --git a/pkgs/top-level/gnuradio-packages.nix b/pkgs/top-level/gnuradio-packages.nix
index d291c1e830c..1cd2c93da77 100644
--- a/pkgs/top-level/gnuradio-packages.nix
+++ b/pkgs/top-level/gnuradio-packages.nix
@@ -14,16 +14,20 @@ let
   };
   mkDerivation = mkDerivationWith stdenv.mkDerivation;
 
-  callPackage = self.newScope {
+  callPackage = self.newScope ({
     inherit (gnuradio)
       # Packages that are potentially overriden and used as deps here.
       boost
-      uhd
       volk
     ;
     inherit mkDerivationWith mkDerivation;
-  };
-
+  } // lib.optionalAttrs (gnuradio.hasFeature "gr-uhd") {
+    inherit (gnuradio) uhd;
+  } // (if (lib.versionAtLeast gnuradio.versionAttr.major "3.10") then {
+    inherit (gnuradio) spdlog;
+  } else {
+    inherit (gnuradio) log4cpp;
+  }));
 in {
 
   inherit callPackage mkDerivation mkDerivationWith;
diff --git a/pkgs/top-level/java-packages.nix b/pkgs/top-level/java-packages.nix
index cf6474f0da5..c8d9e85fbd7 100644
--- a/pkgs/top-level/java-packages.nix
+++ b/pkgs/top-level/java-packages.nix
@@ -8,9 +8,10 @@ let
 
   openjfx11 = callPackage ../development/compilers/openjdk/openjfx/11.nix { };
   openjfx15 = callPackage ../development/compilers/openjdk/openjfx/15.nix { };
+  openjfx17 = callPackage ../development/compilers/openjdk/openjfx/17.nix { };
 
 in {
-  inherit mavenbuild fetchMaven openjfx11 openjfx15;
+  inherit mavenbuild fetchMaven openjfx11 openjfx15 openjfx17;
 
   compiler = let
 
@@ -170,7 +171,7 @@ in {
       ../development/compilers/openjdk/darwin/17.nix
       {
         inherit openjdk17-bootstrap;
-        openjfx = openjfx15;
+        openjfx = openjfx17;
       };
   };
 
diff --git a/pkgs/top-level/linux-kernels.nix b/pkgs/top-level/linux-kernels.nix
index 3e38ce116a4..6390bde6f93 100644
--- a/pkgs/top-level/linux-kernels.nix
+++ b/pkgs/top-level/linux-kernels.nix
@@ -284,6 +284,8 @@ in {
 
     ddcci-driver = callPackage ../os-specific/linux/ddcci { };
 
+    dddvb = callPackage ../os-specific/linux/dddvb { };
+
     digimend = callPackage ../os-specific/linux/digimend { };
 
     dpdk-kmods = callPackage ../os-specific/linux/dpdk-kmods { };
@@ -438,7 +440,9 @@ in {
     veikk-linux-driver = callPackage ../os-specific/linux/veikk-linux-driver { };
     vendor-reset = callPackage ../os-specific/linux/vendor-reset { };
 
-    vhba = callPackage ../misc/emulators/cdemu/vhba.nix { };
+    vhba = callPackage ../applications/emulators/cdemu/vhba.nix { };
+
+    virtio_vmmci  = callPackage ../os-specific/linux/virtio_vmmci { };
 
     virtualbox = callPackage ../os-specific/linux/virtualbox {
       virtualbox = pkgs.virtualboxHardened;
diff --git a/pkgs/top-level/make-tarball.nix b/pkgs/top-level/make-tarball.nix
index c5a5a437699..a6343223647 100644
--- a/pkgs/top-level/make-tarball.nix
+++ b/pkgs/top-level/make-tarball.nix
@@ -64,7 +64,7 @@ pkgs.releaseTools.sourceTarball {
     header "generating packages.json"
     mkdir -p $out/nix-support
     echo -n '{"version":2,"packages":' > tmp
-    nix-env -f . -I nixpkgs=$src -qa --json --arg config 'import ${./packages-config.nix}' "''${opts[@]}" >> tmp
+    nix-env -f . -I nixpkgs=$src -qa --meta --json --arg config 'import ${./packages-config.nix}' "''${opts[@]}" >> tmp
     echo -n '}' >> tmp
     packages=$out/packages.json.br
     < tmp sed "s|$(pwd)/||g" | jq -c | brotli -9 > $packages
diff --git a/pkgs/top-level/ocaml-packages.nix b/pkgs/top-level/ocaml-packages.nix
index a29602dfb7d..fe7fd7d856a 100644
--- a/pkgs/top-level/ocaml-packages.nix
+++ b/pkgs/top-level/ocaml-packages.nix
@@ -310,6 +310,8 @@ let
       then pkgs.dune_2
       else throw "dune_2 is not available for OCaml ${ocaml.version}";
 
+    dune_3 = callPackage ../development/tools/ocaml/dune/3.nix { };
+
     dune-action-plugin = callPackage ../development/ocaml-modules/dune-action-plugin { };
 
     dune-build-info = callPackage ../development/ocaml-modules/dune-build-info { };
diff --git a/pkgs/top-level/packages-config.nix b/pkgs/top-level/packages-config.nix
index 1602eaf9f45..c33f8b2dc2a 100644
--- a/pkgs/top-level/packages-config.nix
+++ b/pkgs/top-level/packages-config.nix
@@ -13,7 +13,6 @@
       fdbPackages
       fusePackages
       gns3Packages
-      haskellPackages
       idrisPackages
       nodePackages
       nodePackages_latest
@@ -31,6 +30,15 @@
       zeroadPackages
     ;
 
+    haskellPackages = super.haskellPackages // {
+      # mesos, which this depends on, has been removed from nixpkgs. We are keeping
+      # the error message for now, so users will get an error message they can make
+      # sense of, but need to work around it here.
+      # TODO(@sternenseemann): remove this after branch-off of 22.05, along with the
+      # override in configuration-nix.nix
+      hs-mesos = null;
+    };
+
     # Make sure haskell.compiler is included, so alternative GHC versions show up,
     # but don't add haskell.packages.* since they contain the same packages (at
     # least by name) as haskellPackages.
diff --git a/pkgs/top-level/perl-packages.nix b/pkgs/top-level/perl-packages.nix
index 85a7f7b1988..d6745c559e1 100644
--- a/pkgs/top-level/perl-packages.nix
+++ b/pkgs/top-level/perl-packages.nix
@@ -6564,6 +6564,21 @@ let
     buildInputs = [ DBDSQLite TestFatal TestRoo ];
   };
 
+  DevelCamelcadedb = buildPerlPackage {
+    pname = "Devel-Camelcadedb";
+    version = "2021.2";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/H/HU/HURRICUP/Devel-Camelcadedb-v2021.2.tar.gz";
+      sha256 = "88a1d9e95d398ffe4d4114861e21c36f7c22315b3d03e7f764ccbce018ab3e47";
+    };
+    propagatedBuildInputs = [ HashStoredIterator JSONXS PadWalker ];
+    perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
+    meta = {
+      description = "Perl side of the Perl debugger for IntelliJ IDEA and other JetBrains IDEs";
+      license = lib.licenses.mit;
+    };
+  };
+
   DevelCycle = buildPerlPackage {
     pname = "Devel-Cycle";
     version = "1.12";
@@ -9944,6 +9959,21 @@ let
     };
   };
 
+  HashStoredIterator = buildPerlModule {
+    pname = "Hash-StoredIterator";
+    version = "0.008";
+    src = fetchurl {
+      url = "mirror://cpan/authors/id/M/MS/MSCHWERN/Hash-StoredIterator-0.008.tar.gz";
+      sha256 = "b9cbc4dcd8233e8d1d7f1481ddb79a4a5f9db7180cb3ef02b4bcbee05e65ea0c";
+    };
+    buildInputs = [ Test2Suite ];
+    perlPreHook = lib.optionalString stdenv.isDarwin "export LD=$CC";
+    meta = {
+      description = "Functions for accessing a hashes internal iterator";
+      license = with lib.licenses; [ artistic1 gpl1Plus ];
+    };
+  };
+
   HashUtilFieldHashCompat = buildPerlPackage {
     pname = "Hash-Util-FieldHash-Compat";
     version = "0.11";
@@ -16700,12 +16730,12 @@ let
 
   NetSSLeay = buildPerlPackage {
     pname = "Net-SSLeay";
-    version = "1.88";
+    version = "1.92";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/C/CH/CHRISN/Net-SSLeay-1.88.tar.gz";
-      sha256 = "1pfgh4h3szcpvqlcimc60pjbk9zwls99x5863sva0wc47i4dl010";
+      url = "mirror://cpan/authors/id/C/CH/CHRISN/Net-SSLeay-1.92.tar.gz";
+      sha256 = "sha256-R8LyswDy5xYtcdaZ9jPdajWwYloAy9qMUKwBFEqTlqk=";
     };
-    buildInputs = [ pkgs.openssl ];
+    buildInputs = [ pkgs.openssl pkgs.zlib ];
     doCheck = false; # Test performs network access.
     preConfigure = ''
       mkdir openssl
@@ -24861,14 +24891,14 @@ let
 
   XMLLibXML = buildPerlPackage {
     pname = "XML-LibXML";
-    version = "2.0206";
+    version = "2.0207";
     src = fetchurl {
-      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0206.tar.gz";
-      sha256 = "068nhmld1031grgi4qm7k5niwxlbn6qd08zf6g1gj4c7qfas62q1";
+      url = "mirror://cpan/authors/id/S/SH/SHLOMIF/XML-LibXML-2.0207.tar.gz";
+      sha256 = "sha256-kDQ2yYWYdb71WTJDquhc7TKa0PtLV7v0WXXjJUfFDBU=";
     };
     SKIP_SAX_INSTALL = 1;
     buildInputs = [ AlienBuild AlienLibxml2 ]
-      ++ lib.optional stdenv.isDarwin pkgs.libiconv;
+      ++ lib.optionals stdenv.isDarwin (with pkgs; [ libiconv zlib ]);
     propagatedBuildInputs = [ XMLSAX ];
   };
 
diff --git a/pkgs/top-level/php-packages.nix b/pkgs/top-level/php-packages.nix
index cea65edb41f..3a9bd1f1fed 100644
--- a/pkgs/top-level/php-packages.nix
+++ b/pkgs/top-level/php-packages.nix
@@ -545,11 +545,6 @@ lib.makeScope pkgs.newScope (self: with self; {
         {
           name = "sockets";
           doCheck = false;
-          patches = lib.optional (php.version == "8.1.2")
-            (fetchpatch {
-              url = "https://github.com/php/php-src/commit/07aaa34cd418c44f7bc653fafbf49f07fc71b2bf.patch";
-              sha256 = "sha256-EwVb09/zV2vJ8PuyLpKFCovxe6yKct0UBvishZaordM=";
-            });
         }
         { name = "sodium"; buildInputs = [ libsodium ]; }
         { name = "sqlite3"; buildInputs = [ sqlite ]; }
diff --git a/pkgs/top-level/python-aliases.nix b/pkgs/top-level/python-aliases.nix
index c8519b58d58..44c5c11ceb9 100644
--- a/pkgs/top-level/python-aliases.nix
+++ b/pkgs/top-level/python-aliases.nix
@@ -33,13 +33,17 @@ in
   ### Deprecated aliases - for backward compatibility
 
 mapAliases ({
+  anyjson = throw "anyjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
+  asyncio-nats-client = nats-py; # added 2022-02-08
   blockdiagcontrib-cisco = throw "blockdiagcontrib-cisco is not compatible with blockdiag 2.0.0 and has been removed."; # added 2020-11-29
   bt_proximity = bt-proximity; # added 2021-07-02
   bugseverywhere = throw "bugseverywhere has been removed: Abandoned by upstream."; # added 2019-11-27
+  carrot = throw "carrot has been removed, as its development was discontinued in 2012"; # added 2022-01-18
   class-registry = phx-class-registry; # added 2021-10-05
   ConfigArgParse = configargparse; # added 2021-03-18
   cozy = throw "cozy was removed because it was not actually https://pypi.org/project/Cozy/."; # added 2022-01-14
   dateutil = python-dateutil; # added 2021-07-03
+  demjson = throw "demjson has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   detox = throw "detox is no longer maintained, and was broken since may 2019"; # added 2020-07-04
   dftfit = throw "dftfit dependency lammps-cython no longer builds"; # added 2021-07-04
   diff_cover = diff-cover; # added 2021-07-02
@@ -54,6 +58,7 @@ mapAliases ({
   dogpile-core = throw "dogpile-core is no longer maintained, use dogpile-cache instead"; # added 2021-11-20
   eebrightbox = throw "eebrightbox is unmaintained upstream and has therefore been removed"; # added 2022-02-03
   faulthandler = throw "faulthandler is built into ${python.executable}"; # added 2021-07-12
+  garminconnect-ha = garminconnect; # added 2022-02-05
   gitdb2 = throw "gitdb2 has been deprecated, use gitdb instead."; # added 2020-03-14
   glances = throw "glances has moved to pkgs.glances"; # added 2020-20-28
   google_api_python_client = google-api-python-client; # added 2021-03-19
@@ -61,10 +66,12 @@ mapAliases ({
   grpc_google_iam_v1 = grpc-google-iam-v1; # added 2021-08-21
   HAP-python = hap-python; # added 2021-06-01
   hbmqtt = throw "hbmqtt was removed because it is no longer maintained"; # added 2021-11-07
+  hdlparse = throw "hdlparse has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   IMAPClient = imapclient; # added 2021-10-28
   jupyter_client = jupyter-client; # added 2021-10-15
   Keras = keras; # added 2021-11-25
   lammps-cython = throw "lammps-cython no longer builds and is unmaintained"; # added 2021-07-04
+  Markups = markups; # added 2022-02-14
   MechanicalSoup = mechanicalsoup; # added 2021-06-01
   pam = python-pam; # added 2020-09-07.
   PasteDeploy = pastedeploy; # added 2021-10-07
@@ -74,6 +81,7 @@ mapAliases ({
   prompt_toolkit = prompt-toolkit; # added 2021-07-22
   pur = throw "pur has been renamed to pkgs.pur"; # added 2021-11-08
   pyGtkGlade = throw "Glade support for pygtk has been removed"; # added 2022-01-15
+  pycallgraph = throw "pycallgraph has been removed, it was using setuptools 2to3 translation feature, which has been removed in setuptools 58"; # added 2022-01-18
   pylibgen = throw "pylibgen is unmaintained upstreamed, and removed from nixpkgs"; # added 2020-06-20
   pymssql = throw "pymssql has been abandoned upstream."; # added 2020-05-04
   pysmart-smartx = pysmart; # added 2021-10-22
@@ -89,6 +97,7 @@ mapAliases ({
   pytest_xdist = pytest-xdist; # added 2021-01-04
   python_simple_hipchat = python-simple-hipchat; # added 2021-07-21
   qasm2image = throw "qasm2image is no longer maintained (since November 2018), and is not compatible with the latest pythonPackages.qiskit versions."; # added 2020-12-09
+  qiskit-aqua = throw "qiskit-aqua has been removed due to deprecation, with its functionality moved to different qiskit packages";
   rdflib-jsonld = throw "rdflib-jsonld is not compatible with rdflib 6"; # added 2021-11-05
   repeated_test = throw "repeated_test is no longer maintained"; # added 2022-01-11
   requests_toolbelt = requests-toolbelt; # added 2017-09-26
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index b2d29109bfd..3250eb630dd 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -100,7 +100,7 @@ let
   # CUDA-related packages that are compatible with the currently packaged version
   # of TensorFlow, used to keep these versions in sync in related packages like `jaxlib`.
   tensorflow_compat_cudatoolkit = pkgs.cudatoolkit_11_2;
-  tensorflow_compat_cudnn = pkgs.cudnn_cudatoolkit_11_2;
+  tensorflow_compat_cudnn = pkgs.cudnn_8_1_cudatoolkit_11_2;
   tensorflow_compat_nccl = pkgs.nccl_cudatoolkit_11;
 
 in {
@@ -222,6 +222,8 @@ in {
 
   aenum = callPackage ../development/python-modules/aenum { };
 
+  aesara = callPackage ../development/python-modules/aesara { };
+
   afdko = callPackage ../development/python-modules/afdko { };
 
   affine = callPackage ../development/python-modules/affine { };
@@ -308,6 +310,8 @@ in {
 
   aiohttp = callPackage ../development/python-modules/aiohttp { };
 
+  aiohttp-apispec = callPackage ../development/python-modules/aiohttp-apispec { };
+
   aiohttp-cors = callPackage ../development/python-modules/aiohttp-cors { };
 
   aiohttp-jinja2 = callPackage ../development/python-modules/aiohttp-jinja2 { };
@@ -378,6 +382,8 @@ in {
 
   aiopvpc = callPackage ../development/python-modules/aiopvpc { };
 
+  aiopyarr = callPackage ../development/python-modules/aiopyarr { };
+
   aiopylgtv = callPackage ../development/python-modules/aiopylgtv { };
 
   aiorecollect = callPackage ../development/python-modules/aiorecollect { };
@@ -392,6 +398,8 @@ in {
 
   aiorun = callPackage ../development/python-modules/aiorun { };
 
+  aiosenseme = callPackage ../development/python-modules/aiosenseme { };
+
   aiosenz = callPackage ../development/python-modules/aiosenz { };
 
   aioserial = callPackage ../development/python-modules/aioserial { };
@@ -406,6 +414,8 @@ in {
 
   aiosqlite = callPackage ../development/python-modules/aiosqlite { };
 
+  aiosteamist = callPackage ../development/python-modules/aiosteamist { };
+
   aiostream = callPackage ../development/python-modules/aiostream { };
 
   aioswitcher = callPackage ../development/python-modules/aioswitcher { };
@@ -542,8 +552,6 @@ in {
 
   anyio = callPackage ../development/python-modules/anyio { };
 
-  anyjson = callPackage ../development/python-modules/anyjson { };
-
   anytree = callPackage ../development/python-modules/anytree {
     inherit (pkgs) graphviz;
   };
@@ -612,6 +620,8 @@ in {
 
   argon2_cffi = callPackage ../development/python-modules/argon2_cffi { };
 
+  argon2-cffi-bindings = callPackage ../development/python-modules/argon2-cffi-bindings { };
+
   args = callPackage ../development/python-modules/args { };
 
   aria2p = callPackage ../development/python-modules/aria2p { };
@@ -656,6 +666,8 @@ in {
 
   assertpy = callPackage ../development/python-modules/assertpy { };
 
+  asterisk-mbox = callPackage ../development/python-modules/asterisk-mbox { };
+
   asteval = callPackage ../development/python-modules/asteval { };
 
   astor = callPackage ../development/python-modules/astor { };
@@ -692,8 +704,6 @@ in {
 
   asyncio-mqtt = callPackage ../development/python-modules/asyncio_mqtt { };
 
-  asyncio-nats-client = callPackage ../development/python-modules/asyncio-nats-client { };
-
   asyncio-rlock = callPackage ../development/python-modules/asyncio-rlock { };
 
   asyncmy = callPackage ../development/python-modules/asyncmy { };
@@ -752,10 +762,14 @@ in {
     inherit (pkgs) augeas;
   };
 
+  augmax = callPackage ../development/python-modules/augmax { };
+
   auroranoaa = callPackage ../development/python-modules/auroranoaa { };
 
   aurorapy = callPackage ../development/python-modules/aurorapy { };
 
+  autarco = callPackage ../development/python-modules/autarco { };
+
   auth0-python = callPackage ../development/python-modules/auth0-python { };
 
   authcaptureproxy = callPackage ../development/python-modules/authcaptureproxy { };
@@ -1156,6 +1170,8 @@ in {
 
   beanstalkc = callPackage ../development/python-modules/beanstalkc { };
 
+  beartype = callPackage ../development/python-modules/beartype { };
+
   beautifulsoup4 = callPackage ../development/python-modules/beautifulsoup4 { };
 
   beautifultable = callPackage ../development/python-modules/beautifultable { };
@@ -1270,6 +1286,8 @@ in {
 
   blurhash = callPackage ../development/python-modules/blurhash { };
 
+  bme280spi = callPackage ../development/python-modules/bme280spi { };
+
   bme680 = callPackage ../development/python-modules/bme680 { };
 
   bokeh = callPackage ../development/python-modules/bokeh { };
@@ -1453,8 +1471,6 @@ in {
 
   carbon = callPackage ../development/python-modules/carbon { };
 
-  carrot = callPackage ../development/python-modules/carrot { };
-
   cart = callPackage ../development/python-modules/cart { };
 
   cartopy = callPackage ../development/python-modules/cartopy { };
@@ -1587,6 +1603,8 @@ in {
 
   chirpstack-api = callPackage ../development/python-modules/chirpstack-api { };
 
+  chispa = callPackage ../development/python-modules/chispa { };
+
   ci-info = callPackage ../development/python-modules/ci-info { };
 
   ci-py = callPackage ../development/python-modules/ci-py { };
@@ -1611,6 +1629,8 @@ in {
 
   cirq-web = callPackage ../development/python-modules/cirq-web { };
 
+  ciscoconfparse = callPackage ../development/python-modules/ciscoconfparse { };
+
   ciscomobilityexpress = callPackage ../development/python-modules/ciscomobilityexpress { };
 
   ciso8601 = callPackage ../development/python-modules/ciso8601 { };
@@ -1807,6 +1827,8 @@ in {
 
   connexion = callPackage ../development/python-modules/connexion { };
 
+  cons = callPackage ../development/python-modules/cons { };
+
   consonance = callPackage ../development/python-modules/consonance { };
 
   constantly = callPackage ../development/python-modules/constantly { };
@@ -1923,7 +1945,7 @@ in {
 
   cupy = callPackage ../development/python-modules/cupy {
     cudatoolkit = pkgs.cudatoolkit_11;
-    cudnn = pkgs.cudnn_cudatoolkit_11;
+    cudnn = pkgs.cudnn_8_1_cudatoolkit_11;
     nccl = pkgs.nccl_cudatoolkit_11;
     cutensor = pkgs.cutensor_cudatoolkit_11;
   };
@@ -1970,6 +1992,8 @@ in {
 
   daphne = callPackage ../development/python-modules/daphne { };
 
+  dasbus = callPackage ../development/python-modules/dasbus { };
+
   dash = callPackage ../development/python-modules/dash { };
 
   dash-core-components = callPackage ../development/python-modules/dash-core-components { };
@@ -2024,9 +2048,7 @@ in {
 
   datasette-template-sql = callPackage ../development/python-modules/datasette-template-sql { };
 
-  datashader = callPackage ../development/python-modules/datashader {
-    dask = self.dask.override { withExtraComplete = true; };
-  };
+  datashader = callPackage ../development/python-modules/datashader { };
 
   datashape = callPackage ../development/python-modules/datashape { };
 
@@ -2106,8 +2128,6 @@ in {
 
   deluge-client = callPackage ../development/python-modules/deluge-client { };
 
-  demjson = callPackage ../development/python-modules/demjson { };
-
   demjson3 = callPackage ../development/python-modules/demjson3 { };
 
   dendropy = callPackage ../development/python-modules/dendropy { };
@@ -2176,6 +2196,8 @@ in {
 
   discordpy = callPackage ../development/python-modules/discordpy { };
 
+  discovery30303 = callPackage ../development/python-modules/discovery30303 { };
+
   diskcache = callPackage ../development/python-modules/diskcache { };
 
   dissononce = callPackage ../development/python-modules/dissononce { };
@@ -2194,9 +2216,10 @@ in {
 
   # Current LTS
   django_2 = callPackage ../development/python-modules/django/2.nix { };
+  django_3 = callPackage ../development/python-modules/django/3.nix { };
 
   # Current latest
-  django_3 = callPackage ../development/python-modules/django/3.nix { };
+  django_4 = callPackage ../development/python-modules/django/4.nix { };
 
   django-allauth = callPackage ../development/python-modules/django-allauth { };
 
@@ -2455,6 +2478,8 @@ in {
 
   ds4drv = callPackage ../development/python-modules/ds4drv { };
 
+  dsinternals = callPackage ../development/python-modules/dsinternals { };
+
   dsmr-parser = callPackage ../development/python-modules/dsmr-parser { };
 
   dtlssocket = callPackage ../development/python-modules/dtlssocket { };
@@ -2479,6 +2504,8 @@ in {
 
   dyn = callPackage ../development/python-modules/dyn { };
 
+  dynalite-devices = callPackage ../development/python-modules/dynalite-devices { };
+
   dynd = callPackage ../development/python-modules/dynd { };
 
   easydict = callPackage ../development/python-modules/easydict { };
@@ -2530,6 +2557,8 @@ in {
 
   einops = callPackage ../development/python-modules/einops { };
 
+  eiswarnung = callPackage ../development/python-modules/eiswarnung { };
+
   elgato = callPackage ../development/python-modules/elgato { };
 
   elkm1-lib = callPackage ../development/python-modules/elkm1-lib { };
@@ -2568,6 +2597,8 @@ in {
 
   emoji = callPackage ../development/python-modules/emoji { };
 
+  empty-files = callPackage ../development/python-modules/empty-files { };
+
   empy = callPackage ../development/python-modules/empy { };
 
   emulated-roku = callPackage ../development/python-modules/emulated-roku { };
@@ -2650,6 +2681,8 @@ in {
 
   eth-utils = callPackage ../development/python-modules/eth-utils { };
 
+  etuples = callPackage ../development/python-modules/etuples { };
+
   et_xmlfile = callPackage ../development/python-modules/et_xmlfile { };
 
   ev3dev2 = callPackage ../development/python-modules/ev3dev2 { };
@@ -2810,10 +2843,14 @@ in {
     hdf5 = pkgs.hdf5_1_10;
   };
 
+  ffcv = callPackage ../development/python-modules/ffcv { };
+
   ffmpeg-python = callPackage ../development/python-modules/ffmpeg-python { };
 
   ffmpeg-progress-yield = callPackage ../development/python-modules/ffmpeg-progress-yield { };
 
+  fiblary3-fork = callPackage ../development/python-modules/fiblary3-fork { };
+
   fido2 = callPackage ../development/python-modules/fido2 { };
 
   fields = callPackage ../development/python-modules/fields { };
@@ -2834,6 +2871,8 @@ in {
 
   finalfusion = callPackage ../development/python-modules/finalfusion { };
 
+  findimports = callPackage ../development/python-modules/findimports { };
+
   fingerprints = callPackage ../development/python-modules/fingerprints { };
 
   finitude = callPackage ../development/python-modules/finitude { };
@@ -2860,6 +2899,8 @@ in {
 
   flake8-blind-except = callPackage ../development/python-modules/flake8-blind-except { };
 
+  flake8-bugbear = callPackage ../development/python-modules/flake8-bugbear { };
+
   flake8 = callPackage ../development/python-modules/flake8 { };
 
   flake8-length = callPackage ../development/python-modules/flake8-length { };
@@ -3133,7 +3174,7 @@ in {
 
   garminconnect-aio = callPackage ../development/python-modules/garminconnect-aio { };
 
-  garminconnect-ha = callPackage ../development/python-modules/garminconnect-ha { };
+  garminconnect = callPackage ../development/python-modules/garminconnect { };
 
   gast = callPackage ../development/python-modules/gast { };
 
@@ -3156,6 +3197,8 @@ in {
 
   gdown = callPackage ../development/python-modules/gdown { };
 
+  gdtoolkit = callPackage ../development/python-modules/gdtoolkit { };
+
   ge25519 = callPackage ../development/python-modules/ge25519 { };
 
   geant4 = toPythonModule (pkgs.geant4.override {
@@ -3175,6 +3218,8 @@ in {
 
   generic = callPackage ../development/python-modules/generic { };
 
+  geniushub-client = callPackage ../development/python-modules/geniushub-client { };
+
   genome-collector = callPackage ../development/python-modules/genome-collector { };
 
   genpy = callPackage ../development/python-modules/genpy { };
@@ -3661,8 +3706,6 @@ in {
 
   hdfs = callPackage ../development/python-modules/hdfs { };
 
-  hdlparse = callPackage ../development/python-modules/hdlparse { };
-
   hdmedians = callPackage ../development/python-modules/hdmedians { };
 
   headerparser = callPackage ../development/python-modules/headerparser { };
@@ -3857,6 +3900,8 @@ in {
     inherit (pkgs) i2c-tools;
   };
 
+  i2csense = callPackage ../development/python-modules/i2csense { };
+
   i3ipc = callPackage ../development/python-modules/i3ipc { };
 
   i3-py = callPackage ../development/python-modules/i3-py { };
@@ -4029,6 +4074,8 @@ in {
 
   iowait = callPackage ../development/python-modules/iowait { };
 
+  ipaddr = callPackage ../development/python-modules/ipaddr { };
+
   ipaddress = callPackage ../development/python-modules/ipaddress { };
 
   ipdb = callPackage ../development/python-modules/ipdb { };
@@ -4462,7 +4509,7 @@ in {
 
   language-data = callPackage ../development/python-modules/language-data { };
 
-  lark-parser = callPackage ../development/python-modules/lark-parser { };
+  lark = callPackage ../development/python-modules/lark { };
 
   latexcodec = callPackage ../development/python-modules/latexcodec { };
 
@@ -4677,6 +4724,8 @@ in {
 
   lightparam = callPackage ../development/python-modules/lightparam { };
 
+  lightwave = callPackage ../development/python-modules/lightwave { };
+
   lightwave2 = callPackage ../development/python-modules/lightwave2 { };
 
   lima = callPackage ../development/python-modules/lima { };
@@ -4754,6 +4803,8 @@ in {
 
   logfury = callPackage ../development/python-modules/logfury { };
 
+  logical-unification = callPackage ../development/python-modules/logical-unification { };
+
   logilab_astng = callPackage ../development/python-modules/logilab_astng { };
 
   logilab_common = callPackage ../development/python-modules/logilab/common.nix { };
@@ -4894,7 +4945,7 @@ in {
 
   markupsafe = callPackage ../development/python-modules/markupsafe { };
 
-  Markups = callPackage ../development/python-modules/Markups { };
+  markups = callPackage ../development/python-modules/markups { };
 
   marshmallow = callPackage ../development/python-modules/marshmallow { };
 
@@ -5049,6 +5100,8 @@ in {
 
   minidump = callPackage ../development/python-modules/minidump { };
 
+  minikanren = callPackage ../development/python-modules/minikanren { };
+
   minikerberos = callPackage ../development/python-modules/minikerberos { };
 
   minimock = callPackage ../development/python-modules/minimock { };
@@ -5307,6 +5360,10 @@ in {
 
   nanotime = callPackage ../development/python-modules/nanotime { };
 
+  napalm = callPackage ../development/python-modules/napalm { };
+
+  napalm-hp-procurve = callPackage ../development/python-modules/napalm/hp-procurve.nix { };
+
   napari = callPackage ../development/python-modules/napari {
     inherit (pkgs.libsForQt5) mkDerivationWith wrapQtAppsHook;
   };
@@ -5319,6 +5376,8 @@ in {
 
   nassl = callPackage ../development/python-modules/nassl { };
 
+  nats-py = callPackage ../development/python-modules/nats-py { };
+
   nats-python = callPackage ../development/python-modules/nats-python { };
 
   natsort = callPackage ../development/python-modules/natsort { };
@@ -5373,6 +5432,8 @@ in {
 
   nestedtext = callPackage ../development/python-modules/nestedtext { };
 
+  net2grid = callPackage ../development/python-modules/net2grid { };
+
   netaddr = callPackage ../development/python-modules/netaddr { };
 
   netcdf4 = callPackage ../development/python-modules/netcdf4 { };
@@ -5383,6 +5444,10 @@ in {
 
   netifaces = callPackage ../development/python-modules/netifaces { };
 
+  netmiko = callPackage ../development/python-modules/netmiko { };
+
+  netio = callPackage ../development/python-modules/netio { };
+
   nettigo-air-monitor = callPackage ../development/python-modules/nettigo-air-monitor { };
 
   networkx = callPackage ../development/python-modules/networkx { };
@@ -5395,6 +5460,8 @@ in {
 
   nevow = callPackage ../development/python-modules/nevow { };
 
+  newversion = callPackage ../development/python-modules/newversion { };
+
   nexia = callPackage ../development/python-modules/nexia { };
 
   nextcloudmonitor = callPackage ../development/python-modules/nextcloudmonitor { };
@@ -5537,6 +5604,8 @@ in {
 
   numba = callPackage ../development/python-modules/numba { };
 
+  numba-scipy = callPackage ../development/python-modules/numba-scipy { };
+
   numcodecs = callPackage ../development/python-modules/numcodecs { };
 
   numericalunits = callPackage ../development/python-modules/numericalunits { };
@@ -5624,6 +5693,8 @@ in {
 
   onnx = callPackage ../development/python-modules/onnx { };
 
+  onvif-zeep-async = callPackage ../development/python-modules/onvif-zeep-async { };
+
   oocsi = callPackage ../development/python-modules/oocsi { };
 
   open-garage = callPackage ../development/python-modules/open-garage { };
@@ -5652,6 +5723,8 @@ in {
 
   openerz-api = callPackage ../development/python-modules/openerz-api { };
 
+  openevsewifi = callPackage ../development/python-modules/openevsewifi { };
+
   openhomedevice = callPackage ../development/python-modules/openhomedevice { };
 
   openidc-client = callPackage ../development/python-modules/openidc-client { };
@@ -5670,6 +5743,8 @@ in {
 
   opensimplex = callPackage ../development/python-modules/opensimplex { };
 
+  openstackdocstheme = callPackage ../development/python-modules/openstackdocstheme { };
+
   openstacksdk = callPackage ../development/python-modules/openstacksdk { };
 
   opentimestamps = callPackage ../development/python-modules/opentimestamps { };
@@ -6011,6 +6086,8 @@ in {
 
   phx-class-registry = callPackage ../development/python-modules/phx-class-registry { };
 
+  pi1wire = callPackage ../development/python-modules/pi1wire { };
+
   piccata = callPackage ../development/python-modules/piccata { };
 
   pickleshare = callPackage ../development/python-modules/pickleshare { };
@@ -6055,6 +6132,8 @@ in {
 
   pipdate = callPackage ../development/python-modules/pipdate { };
 
+  pipenv-poetry-migrate = callPackage ../development/python-modules/pipenv-poetry-migrate { };
+
   pip-tools = callPackage ../development/python-modules/pip-tools { };
 
   pipx = callPackage ../development/python-modules/pipx { };
@@ -6104,6 +6183,8 @@ in {
 
   pyhiveapi = callPackage ../development/python-modules/pyhiveapi { };
 
+  pyhumps = callPackage ../development/python-modules/pyhumps { };
+
   pyisy = callPackage ../development/python-modules/pyisy { };
 
   pykrakenapi = callPackage ../development/python-modules/pykrakenapi { };
@@ -6120,6 +6201,10 @@ in {
 
   pynx584 = callPackage ../development/python-modules/pynx584 { };
 
+  pyoverkiz = callPackage ../development/python-modules/pyoverkiz { };
+
+  pyownet = callPackage ../development/python-modules/pyownet { };
+
   pypoint = callPackage ../development/python-modules/pypoint { };
 
   pypoolstation = callPackage ../development/python-modules/pypoolstation { };
@@ -6538,6 +6623,8 @@ in {
     inherit (pkgs) arrow-cpp cmake;
   };
 
+  pyasn = callPackage ../development/python-modules/pyasn { };
+
   pyasn1 = callPackage ../development/python-modules/pyasn1 { };
 
   pyasn1-modules = callPackage ../development/python-modules/pyasn1-modules { };
@@ -6594,8 +6681,6 @@ in {
     inherit (pkgs.buildPackages) meson;
   };
 
-  pycallgraph = callPackage ../development/python-modules/pycallgraph { };
-
   py = callPackage ../development/python-modules/py { };
 
   pycangjie = callPackage ../development/python-modules/pycangjie { };
@@ -6879,7 +6964,9 @@ in {
 
   pygetwindow = callPackage ../development/python-modules/pygetwindow { };
 
-  pygit2 = callPackage ../development/python-modules/pygit2 { };
+  pygit2 = callPackage ../development/python-modules/pygit2 {
+    libgit2 = pkgs.libgit2_1_3_0;
+  };
 
   PyGithub = callPackage ../development/python-modules/pyGithub { };
 
@@ -7195,6 +7282,8 @@ in {
 
   pynetdicom = callPackage ../development/python-modules/pynetdicom { };
 
+  pynetgear = callPackage ../development/python-modules/pynetgear { };
+
   pynina = callPackage ../development/python-modules/pynina { };
 
   pynisher = callPackage ../development/python-modules/pynisher { };
@@ -7326,6 +7415,8 @@ in {
 
   pypykatz = callPackage ../development/python-modules/pypykatz { };
 
+  pypytools = callPackage ../development/python-modules/pypytools { };
+
   pyqrcode = callPackage ../development/python-modules/pyqrcode { };
 
   pyqt-builder = callPackage ../development/python-modules/pyqt-builder { };
@@ -7334,6 +7425,8 @@ in {
 
   pyqt5 = callPackage ../development/python-modules/pyqt/5.x.nix { };
 
+  pyqt5_sip = callPackage ../development/python-modules/pyqt/sip.nix { };
+
   pyqt5_with_qtmultimedia = self.pyqt5.override {
     withMultimedia = true;
   };
@@ -7524,6 +7617,8 @@ in {
 
   pysideTools = callPackage ../development/python-modules/pyside/tools.nix { };
 
+  pysignalclirestapi = callPackage ../development/python-modules/pysignalclirestapi { };
+
   pysigset = callPackage ../development/python-modules/pysigset { };
 
   pysimplegui = callPackage ../development/python-modules/pysimplegui { };
@@ -7966,6 +8061,8 @@ in {
 
   python-http-client = callPackage ../development/python-modules/python-http-client { };
 
+  python-i18n = callPackage ../development/python-modules/python-i18n { };
+
   pythonix = callPackage ../development/python-modules/pythonix {
     nix = pkgs.nixVersions.nix_2_3;
     meson = pkgs.meson.override { python3 = self.python; };
@@ -8053,7 +8150,8 @@ in {
   python-oauth2 = callPackage ../development/python-modules/python-oauth2 { };
 
   pythonocc-core = toPythonModule (callPackage ../development/python-modules/pythonocc-core {
-    inherit (pkgs.xorg) libX11;
+    inherit (pkgs) fontconfig rapidjson;
+    inherit (pkgs.xorg) libX11 libXi libXmu libXext;
     inherit (pkgs.darwin.apple_sdk.frameworks) Cocoa;
   });
 
@@ -8095,7 +8193,9 @@ in {
 
   python-registry = callPackage ../development/python-modules/python-registry { };
 
-  python-rtmidi = callPackage ../development/python-modules/python-rtmidi { };
+  python-rtmidi = callPackage ../development/python-modules/python-rtmidi {
+    inherit (pkgs.darwin.apple_sdk.frameworks) CoreAudio CoreMIDI CoreServices;
+  };
 
   python-sat = callPackage ../development/python-modules/python-sat { };
 
@@ -8157,6 +8257,8 @@ in {
     inherit (pkgs.llvmPackages) openmp;
   };
 
+  pyeapi = callPackage ../development/python-modules/pyeapi { };
+
   pyeverlights = callPackage ../development/python-modules/pyeverlights { };
 
   pytibber = callPackage ../development/python-modules/pytibber { };
@@ -8185,6 +8287,8 @@ in {
 
   pytorch-metric-learning = callPackage ../development/python-modules/pytorch-metric-learning { };
 
+  pytorch-pfn-extras = callPackage ../development/python-modules/pytorch-pfn-extras { };
+
   pytorchWithCuda = self.pytorch.override {
     cudaSupport = true;
   };
@@ -8380,8 +8484,6 @@ in {
 
   qiskit-aer = callPackage ../development/python-modules/qiskit-aer { };
 
-  qiskit-aqua = callPackage ../development/python-modules/qiskit-aqua { };
-
   qiskit-finance = callPackage ../development/python-modules/qiskit-finance { };
 
   qiskit-ibmq-provider = callPackage ../development/python-modules/qiskit-ibmq-provider { };
@@ -8455,6 +8557,8 @@ in {
 
   radish-bdd = callPackage ../development/python-modules/radish-bdd { };
 
+  railroad-diagrams = callPackage ../development/python-modules/railroad-diagrams { };
+
   rainbowstream = callPackage ../development/python-modules/rainbowstream { };
 
   ramlfications = callPackage ../development/python-modules/ramlfications { };
@@ -8737,7 +8841,9 @@ in {
 
   rstcheck = callPackage ../development/python-modules/rstcheck { };
 
-  rtmidi-python = callPackage ../development/python-modules/rtmidi-python { };
+  rtmidi-python = callPackage ../development/python-modules/rtmidi-python {
+    inherit (pkgs.darwin.apple_sdk.frameworks) CoreAudio CoreMIDI CoreServices;
+  };
 
   rtoml = callPackage ../development/python-modules/rtoml { };
 
@@ -9274,6 +9380,8 @@ in {
 
   sphinxcontrib-actdiag = callPackage ../development/python-modules/sphinxcontrib-actdiag { };
 
+  sphinxcontrib-apidoc = callPackage ../development/python-modules/sphinxcontrib-apidoc { };
+
   sphinxcontrib-applehelp = callPackage ../development/python-modules/sphinxcontrib-applehelp { };
 
   sphinxcontrib-autoapi = callPackage ../development/python-modules/sphinxcontrib-autoapi { };
@@ -9308,6 +9416,8 @@ in {
     inherit (pkgs) plantuml;
   };
 
+  sphinxcontrib-programoutput = callPackage ../development/python-modules/sphinxcontrib-programoutput { };
+
   sphinxcontrib-qthelp = callPackage ../development/python-modules/sphinxcontrib-qthelp { };
 
   sphinxcontrib-serializinghtml = callPackage ../development/python-modules/sphinxcontrib-serializinghtml { };
@@ -9476,6 +9586,8 @@ in {
 
   streamz = callPackage ../development/python-modules/streamz { };
 
+  strenum =  callPackage ../development/python-modules/strenum { };
+
   strict-rfc3339 = callPackage ../development/python-modules/strict-rfc3339 { };
 
   strictyaml = callPackage ../development/python-modules/strictyaml { };
@@ -9624,6 +9736,8 @@ in {
 
   tbm-utils = callPackage ../development/python-modules/tbm-utils { };
 
+  teamcity-messages = callPackage ../development/python-modules/teamcity-messages { };
+
   telegram = callPackage ../development/python-modules/telegram { };
 
   telethon = callPackage ../development/python-modules/telethon {
@@ -9636,6 +9750,8 @@ in {
 
   telfhash = callPackage ../development/python-modules/telfhash { };
 
+  temescal = callPackage ../development/python-modules/temescal { };
+
   tempest = callPackage ../development/python-modules/tempest { };
 
   tempita = callPackage ../development/python-modules/tempita { };
@@ -9720,6 +9836,8 @@ in {
 
   textfsm = callPackage ../development/python-modules/textfsm { };
 
+  textile = callPackage ../development/python-modules/textile { };
+
   testing-common-database = callPackage ../development/python-modules/testing-common-database { };
 
   testing-postgresql = callPackage ../development/python-modules/testing-postgresql { };
@@ -10043,6 +10161,8 @@ in {
 
   typer = callPackage ../development/python-modules/typer { };
 
+  types-dateutil = callPackage ../development/python-modules/types-dateutil { };
+
   types-decorator = callPackage ../development/python-modules/types-decorator { };
 
   types-freezegun = callPackage ../development/python-modules/types-freezegun { };
@@ -10283,6 +10403,8 @@ in {
 
   veryprettytable = callPackage ../development/python-modules/veryprettytable { };
 
+  videocr = callPackage ../development/python-modules/videocr { };
+
   vidstab = callPackage ../development/python-modules/vidstab { };
 
   ViennaRNA = toPythonModule pkgs.ViennaRNA;
@@ -10325,6 +10447,8 @@ in {
 
   voluptuous-serialize = callPackage ../development/python-modules/voluptuous-serialize { };
 
+  volvooncall = callPackage ../development/python-modules/volvooncall { };
+
   vowpalwabbit = callPackage ../development/python-modules/vowpalwabbit { };
 
   vpk = callPackage ../development/python-modules/vpk { };
@@ -10374,6 +10498,8 @@ in {
 
   warrant = callPackage ../development/python-modules/warrant { };
 
+  warrant-lite = callPackage ../development/python-modules/warrant-lite { };
+
   waqiasync = callPackage ../development/python-modules/waqiasync { };
 
   wasabi = callPackage ../development/python-modules/wasabi { };
@@ -10511,6 +10637,8 @@ in {
 
   ws4py = callPackage ../development/python-modules/ws4py { };
 
+  wsdiscovery = callPackage ../development/python-modules/wsdiscovery { };
+
   wsgi-intercept = callPackage ../development/python-modules/wsgi-intercept { };
 
   wsgiprox = callPackage ../development/python-modules/wsgiprox { };
diff --git a/pkgs/top-level/python2-packages.nix b/pkgs/top-level/python2-packages.nix
index 22f72a33d2c..224acec1625 100644
--- a/pkgs/top-level/python2-packages.nix
+++ b/pkgs/top-level/python2-packages.nix
@@ -26,6 +26,8 @@ with self; with super; {
 
   contextlib2 = callPackage ../development/python2-modules/contextlib2 { };
 
+  coverage = callPackage ../development/python2-modules/coverage { };
+
   cryptography = callPackage ../development/python2-modules/cryptography { };
 
   cryptography_vectors = callPackage ../development/python2-modules/cryptography-vectors { };
@@ -44,6 +46,8 @@ with self; with super; {
 
   google-apputils = callPackage ../development/python2-modules/google-apputils { };
 
+  gtkme = callPackage ../development/python2-modules/gtkme { };
+
   httpretty = callPackage ../development/python2-modules/httpretty { };
 
   hypothesis = callPackage ../development/python2-modules/hypothesis { };
@@ -110,6 +114,8 @@ with self; with super; {
 
   pyjwt = callPackage ../development/python2-modules/pyjwt { };
 
+  pyparsing = callPackage ../development/python2-modules/pyparsing { };
+
   pyroma = callPackage ../development/python2-modules/pyroma { };
 
   pysqlite = callPackage ../development/python2-modules/pysqlite { };
diff --git a/pkgs/top-level/release-python.nix b/pkgs/top-level/release-python.nix
index af492cc4b98..d90be7f3bb4 100644
--- a/pkgs/top-level/release-python.nix
+++ b/pkgs/top-level/release-python.nix
@@ -26,4 +26,22 @@ let
         []);
     in if res.success then res.value else []
     );
-in (mapTestOn (packagePython pkgs))
+
+  jobs = {
+    lib-tests = import ../../lib/tests/release.nix { inherit pkgs; };
+    pkgs-lib-tests = import ../pkgs-lib/tests { inherit pkgs; };
+
+    tested = pkgs.releaseTools.aggregate {
+      name = "python-tested";
+      meta.description = "Release-critical packages from the python package sets";
+      constituents = [
+        jobs.remarshal.x86_64-linux                 # Used in pkgs.formats helper
+        jobs.python39Packages.colorama.x86_64-linux  # Used in nixos test-driver
+        jobs.python39Packages.ptpython.x86_64-linux  # Used in nixos test-driver
+        jobs.python39Packages.requests.x86_64-linux  # Almost ubiquous package
+        jobs.python39Packages.sphinx.x86_64-linux    # Document creation for many packages
+      ];
+    };
+
+  } // (mapTestOn (packagePython pkgs));
+in jobs
diff --git a/pkgs/top-level/wine-packages.nix b/pkgs/top-level/wine-packages.nix
index 4f993bdf082..c8bdaeb426e 100644
--- a/pkgs/top-level/wine-packages.nix
+++ b/pkgs/top-level/wine-packages.nix
@@ -1,42 +1,44 @@
 { stdenv, config, callPackage, wineBuild }:
 
 rec {
-  fonts = callPackage ../misc/emulators/wine/fonts.nix {};
-  minimal = callPackage ../misc/emulators/wine {
+  fonts = callPackage ../applications/emulators/wine/fonts.nix {};
+  minimal = callPackage ../applications/emulators/wine {
     wineRelease = config.wine.release or "stable";
     inherit wineBuild;
   };
 
   base = minimal.override {
     gettextSupport = true;
-    fontconfigSupport = true;
-    alsaSupport = true;
+    fontconfigSupport = stdenv.isLinux;
+    alsaSupport = stdenv.isLinux;
     openglSupport = true;
-    vulkanSupport = stdenv.isLinux;
+    vulkanSupport = true;
     tlsSupport = true;
     cupsSupport = true;
-    dbusSupport = true;
-    cairoSupport = true;
+    dbusSupport = stdenv.isLinux;
+    cairoSupport = stdenv.isLinux;
     cursesSupport = true;
-    saneSupport = true;
+    saneSupport = stdenv.isLinux;
     pulseaudioSupport = config.pulseaudio or stdenv.isLinux;
-    udevSupport = true;
-    xineramaSupport = true;
+    udevSupport = stdenv.isLinux;
+    xineramaSupport = stdenv.isLinux;
     sdlSupport = true;
     mingwSupport = true;
+    usbSupport = true;
   };
 
   full = base.override {
-    gtkSupport = true;
+    gtkSupport = stdenv.isLinux;
     gstreamerSupport = true;
     openalSupport = true;
     openclSupport = true;
     odbcSupport = true;
-    netapiSupport = true;
-    vaSupport = true;
+    netapiSupport = stdenv.isLinux;
+    vaSupport = stdenv.isLinux;
     pcapSupport = true;
-    v4lSupport = true;
+    v4lSupport = stdenv.isLinux;
     gphoto2Support = true;
+    krb5Support = true;
     ldapSupport = true;
     vkd3dSupport = true;
     embedInstallers = true;